@shumai-one/shumai 0.5.2 → 0.6.0

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 (146) hide show
  1. package/bin/{chunk-qxscgcn9.js → chunk-01ym2agz.js} +1 -1
  2. package/bin/{chunk-ae6zgjhd.js → chunk-047n9gfs.js} +2 -2
  3. package/bin/chunk-0a4ahz7r.js +2 -0
  4. package/bin/{chunk-v5hz09a1.js → chunk-0awcpx0a.js} +2 -2
  5. package/bin/{chunk-19q13a80.js → chunk-0fbgfgxv.js} +5 -5
  6. package/bin/{chunk-jt6v15wx.js → chunk-0nnqha4f.js} +1 -1
  7. package/bin/chunk-0tvggyy4.js +1 -0
  8. package/bin/{chunk-zckxc8m6.js → chunk-113baw0m.js} +2 -2
  9. package/bin/{chunk-mneeg71d.js → chunk-1dbjyarc.js} +2 -2
  10. package/bin/{chunk-951r2rx1.js → chunk-1qre79kf.js} +1 -1
  11. package/bin/chunk-27v3yepb.js +1 -0
  12. package/bin/{chunk-5vqbzsjv.js → chunk-2rq3w8sg.js} +1 -1
  13. package/bin/{chunk-v034sfw8.js → chunk-3020am4q.js} +2 -2
  14. package/bin/{chunk-zdzkjp4q.js → chunk-3fjgf7eb.js} +2 -2
  15. package/bin/chunk-3pwwg1xm.js +1 -0
  16. package/bin/{chunk-19jpn3r6.js → chunk-3sfb63fp.js} +1 -1
  17. package/bin/{chunk-wwkhskce.js → chunk-3tg10kwz.js} +2 -2
  18. package/bin/{chunk-0y4zq3y4.js → chunk-4g4pxmef.js} +1 -1
  19. package/bin/{chunk-2pw7xcrn.js → chunk-4jj92zwa.js} +1 -1
  20. package/bin/{chunk-bpxw19ez.js → chunk-4yhvexzk.js} +1 -1
  21. package/bin/chunk-58cbk6e8.js +1 -0
  22. package/bin/{chunk-eqr0znmc.js → chunk-59t9s2jh.js} +1 -1
  23. package/bin/{chunk-n76w2wcr.js → chunk-5e7r7a9d.js} +1 -1
  24. package/bin/{chunk-8tzfcqtb.js → chunk-5m51b7af.js} +1 -1
  25. package/bin/{chunk-m6v8vt2b.js → chunk-65t6rm5d.js} +2 -2
  26. package/bin/chunk-6bed0rz4.js +1 -0
  27. package/bin/{chunk-1nvj833s.js → chunk-6smn0q1n.js} +5 -5
  28. package/bin/{chunk-r249n1xe.js → chunk-6zerk0em.js} +2 -2
  29. package/bin/{chunk-gvas3xkp.js → chunk-7bbsv8g0.js} +1 -1
  30. package/bin/chunk-83bdgs2c.js +1 -0
  31. package/bin/{chunk-93p27bbm.js → chunk-86qtjd30.js} +5 -5
  32. package/bin/{chunk-b5r0be06.js → chunk-8rekh4h9.js} +1 -1
  33. package/bin/{chunk-d2dgazjj.js → chunk-8s9fehda.js} +1 -1
  34. package/bin/{chunk-r776bhsg.js → chunk-8sf2hf31.js} +1 -1
  35. package/bin/{chunk-mn108p93.js → chunk-9d3w678j.js} +1 -1
  36. package/bin/{chunk-xr2v0d6y.js → chunk-9gftd4f7.js} +4 -4
  37. package/bin/{chunk-n9vp9nbg.js → chunk-9rcg8zgs.js} +32 -32
  38. package/bin/{chunk-6jkjx0n2.js → chunk-a23q1kc4.js} +3 -3
  39. package/bin/{chunk-81dawvn4.js → chunk-a6cdt85k.js} +2 -2
  40. package/bin/chunk-a76h3ehe.js +1 -0
  41. package/bin/{chunk-rmvhyqyb.js → chunk-b1bkd2p4.js} +8 -8
  42. package/bin/{chunk-wnqxyqrg.js → chunk-bf5m8f6t.js} +2 -2
  43. package/bin/chunk-cf57fk11.js +2 -0
  44. package/bin/{chunk-0v9srsdz.js → chunk-cv5xx81e.js} +1 -1
  45. package/bin/{chunk-3q5qkfkc.js → chunk-czybv3vy.js} +1 -1
  46. package/bin/{chunk-ggfx2b0f.js → chunk-d4sbcvpa.js} +1 -1
  47. package/bin/{chunk-9ggwc289.js → chunk-d6xezgrg.js} +1 -1
  48. package/bin/{chunk-bbcmhcvc.js → chunk-da86fpjt.js} +2 -2
  49. package/bin/chunk-dzjmwat0.js +14 -0
  50. package/bin/{chunk-rza95y4z.js → chunk-eex8sjfs.js} +2 -2
  51. package/bin/{chunk-9zgqjdx1.js → chunk-emgyjhmx.js} +2 -2
  52. package/bin/{chunk-k3prp6c6.js → chunk-exmwerag.js} +5 -5
  53. package/bin/{chunk-kzr6ecke.js → chunk-f38xyahm.js} +1 -1
  54. package/bin/{chunk-ffj9cq9y.js → chunk-fb1bes2h.js} +1 -1
  55. package/bin/chunk-fbvak7q2.js +1 -0
  56. package/bin/{chunk-15w79661.js → chunk-fg9sr6r9.js} +1 -1
  57. package/bin/{chunk-dppfek34.js → chunk-fyb6t7ct.js} +2 -2
  58. package/bin/chunk-g2ptqqm3.js +3 -0
  59. package/bin/{chunk-t1yamxgk.js → chunk-ggwqxn95.js} +1 -1
  60. package/bin/chunk-ghk54h71.js +13 -0
  61. package/bin/{chunk-kvwec0p3.js → chunk-h1fbev9c.js} +2 -2
  62. package/bin/{chunk-f5z3096k.js → chunk-h9akn41s.js} +2 -2
  63. package/bin/{chunk-asy868kq.js → chunk-hdansxny.js} +1 -1
  64. package/bin/{chunk-grjek810.js → chunk-hjwpd09v.js} +2 -2
  65. package/bin/{chunk-zf5cyxnt.js → chunk-hjzbw975.js} +1 -1
  66. package/bin/{chunk-jgfye6nf.js → chunk-j4p3eqtd.js} +1 -1
  67. package/bin/chunk-jtkxeat4.js +2 -0
  68. package/bin/{chunk-8zgq5sav.js → chunk-jw4g9628.js} +3 -3
  69. package/bin/{chunk-0ge2mm8j.js → chunk-jxebakyq.js} +1 -1
  70. package/bin/{chunk-0asthrjf.js → chunk-kfewyax2.js} +2 -2
  71. package/bin/chunk-kk3m4za5.js +1 -0
  72. package/bin/{chunk-vzdgsfkf.js → chunk-m7tnj47b.js} +1 -1
  73. package/bin/{chunk-w73v578p.js → chunk-maw5ah8t.js} +2 -2
  74. package/bin/{chunk-8ny7wvzb.js → chunk-n0wwtjwv.js} +1 -1
  75. package/bin/{chunk-e439kt05.js → chunk-nahdd2t9.js} +1 -1
  76. package/bin/{chunk-04avc4fn.js → chunk-nv7tztvh.js} +32 -32
  77. package/bin/{chunk-mn208vrv.js → chunk-nyjwdxyj.js} +2 -2
  78. package/bin/{chunk-qmrg2jhs.js → chunk-p0yfxt5e.js} +5 -5
  79. package/bin/{chunk-p0j4wpa5.js → chunk-q27qn367.js} +2 -2
  80. package/bin/{chunk-j53sjkxt.js → chunk-q36sdt2w.js} +1 -1
  81. package/bin/{chunk-vm2pz2hm.js → chunk-q7t5zs7n.js} +2 -2
  82. package/bin/{chunk-cpj562n6.js → chunk-qbj5pe8t.js} +1 -1
  83. package/bin/chunk-qj0bxb1m.js +2 -0
  84. package/bin/{chunk-9bakwac0.js → chunk-qk5hsn6e.js} +4 -4
  85. package/bin/{chunk-6rn094yj.js → chunk-qnyqtaf0.js} +1 -1
  86. package/bin/{chunk-ypkkfwfb.js → chunk-qqkr6h07.js} +2 -2
  87. package/bin/chunk-qyqc5j3a.css +1 -0
  88. package/bin/chunk-qzaf6bre.js +2 -0
  89. package/bin/{chunk-cx32wsa1.js → chunk-r1e59gf0.js} +1 -1
  90. package/bin/chunk-ra5csbkr.js +2 -0
  91. package/bin/{chunk-rtaya5wc.js → chunk-rh8dy99a.js} +2 -2
  92. package/bin/{chunk-ryepy5er.js → chunk-rx9g95wk.js} +4 -4
  93. package/bin/{chunk-2w6gve12.js → chunk-rxyy37wa.js} +3 -3
  94. package/bin/{chunk-7qvvf0yd.js → chunk-scez7ppq.js} +2 -2
  95. package/bin/{chunk-twpc640e.js → chunk-t2a1vq34.js} +1 -1
  96. package/bin/chunk-t879v3b7.js +1 -0
  97. package/bin/{chunk-a8bymrv1.js → chunk-tjavzarz.js} +2 -2
  98. package/bin/{chunk-ce0bhc72.js → chunk-treyx8em.js} +1 -1
  99. package/bin/{chunk-dche0gy0.js → chunk-v3z4z04s.js} +1 -1
  100. package/bin/{chunk-5bk16qdp.js → chunk-v3z63tpw.js} +2 -2
  101. package/bin/{chunk-5rzxekn4.js → chunk-v9bes1fv.js} +1 -1
  102. package/bin/{chunk-d5hbzp7t.js → chunk-vjyget8s.js} +1 -1
  103. package/bin/{chunk-4zksqvwj.js → chunk-vmm9m3nv.js} +2 -2
  104. package/bin/chunk-vvr8tnse.js +211 -0
  105. package/bin/{chunk-tvkekn4z.js → chunk-w3stry4v.js} +1 -1
  106. package/bin/{chunk-3pm6q6kg.js → chunk-w89czwjj.js} +1 -1
  107. package/bin/{chunk-rw5h0n0s.js → chunk-wk0hk00z.js} +1 -1
  108. package/bin/{chunk-15vsw36h.js → chunk-ww9qq8yq.js} +5 -5
  109. package/bin/chunk-x4q082e6.js +2 -0
  110. package/bin/{chunk-98mg3dpd.js → chunk-x6rf77jm.js} +4 -4
  111. package/bin/chunk-x7dyj53k.js +2 -0
  112. package/bin/{chunk-y2dhf3p0.js → chunk-xbw7ffrz.js} +2 -2
  113. package/bin/{chunk-5nqvqvqp.js → chunk-xcrd0y8v.js} +3 -3
  114. package/bin/{chunk-0j22699g.js → chunk-z0z0jn5h.js} +2 -2
  115. package/bin/{chunk-w9z27p0m.js → chunk-zasjhrwc.js} +1 -1
  116. package/bin/chunk-zefds5gg.js +1 -0
  117. package/bin/{chunk-8ayz61rc.js → chunk-zzzgk1d5.js} +3 -3
  118. package/bin/shumai-app.html +1 -1
  119. package/bin/shumai-app.js +390 -373
  120. package/package.json +8 -11
  121. package/prisma/migrations/20261014054332_add_embedding_768/migration.sql +8 -0
  122. package/prisma/schema.prisma +10 -8
  123. package/bin/chunk-2gf95tj0.js +0 -1
  124. package/bin/chunk-2tk5w3jc.js +0 -1
  125. package/bin/chunk-301e7g3z.js +0 -2
  126. package/bin/chunk-3kmjbc3m.js +0 -2
  127. package/bin/chunk-3td60k1m.js +0 -2
  128. package/bin/chunk-42hrvk6k.js +0 -211
  129. package/bin/chunk-8abhmarc.js +0 -2
  130. package/bin/chunk-965102pf.js +0 -3
  131. package/bin/chunk-acn3r2m2.js +0 -1
  132. package/bin/chunk-ce75dw3k.css +0 -1
  133. package/bin/chunk-d9qpgkek.js +0 -2
  134. package/bin/chunk-dv6p6n5e.js +0 -1
  135. package/bin/chunk-gnt9gewm.js +0 -2
  136. package/bin/chunk-k97axrc4.js +0 -13
  137. package/bin/chunk-qb178ntp.js +0 -2
  138. package/bin/chunk-s4r6e6ms.js +0 -1
  139. package/bin/chunk-syjjke3f.js +0 -1
  140. package/bin/chunk-tgfxe0sb.js +0 -1
  141. package/bin/chunk-tjretpx8.js +0 -1
  142. package/bin/chunk-w4yjgez6.js +0 -14
  143. package/bin/chunk-wjcebkpb.js +0 -1
  144. package/bin/chunk-ws71fg50.js +0 -2
  145. package/bin/chunk-yfp3q4da.js +0 -1
  146. package/bin/chunk-z8e4wc59.js +0 -1
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{He,po,mo}from"./chunk-dppfek34.js";import{Cu,Ac}from"./chunk-rmvhyqyb.js";import{H}from"./chunk-a8bymrv1.js";var Ve=H(Cu(),1),vo=H(Ac(),1);import{createWriteStream as Zi}from"fs";import*as qe from"fs/promises";import{writeFile as ji}from"fs/promises";import{Readable as er}from"stream";import{finished as nr}from"stream/promises";import*as So from"ws";import*as Ro from"path";var tr=void 0,or=void 0;function ir(){return{geminiUrl:tr,vertexUrl:or}}function rr(e,n,t,o){var r,l;if(!(e===null||e===void 0?void 0:e.baseUrl)){let a=ir();if(n)return(r=a.vertexUrl)!==null&&r!==void 0?r:t;else return(l=a.geminiUrl)!==null&&l!==void 0?l:o}return e.baseUrl}class Q{}function A(e,n){let t=/\{([^}]+)\}/g;return e.replace(t,(o,r)=>{if(Object.prototype.hasOwnProperty.call(n,r)){let l=n[r];return l!==void 0&&l!==null?String(l):""}else throw Error(`Key '${r}' not found in valueMap.`)})}function s(e,n,t){for(let l=0;l<n.length-1;l++){let a=n[l];if(a.endsWith("[]")){let d=a.slice(0,-2);if(!(d in e))if(Array.isArray(t))e[d]=Array.from({length:t.length},()=>({}));else throw Error(`Value must be a list given an array path ${a}`);if(Array.isArray(e[d])){let u=e[d];if(Array.isArray(t))for(let f=0;f<u.length;f++){let p=u[f];s(p,n.slice(l+1),t[f])}else for(let f of u)s(f,n.slice(l+1),t)}return}else if(a.endsWith("[0]")){let d=a.slice(0,-3);if(!(d in e))e[d]=[{}];let u=e[d];s(u[0],n.slice(l+1),t);return}if(!e[a]||typeof e[a]!=="object")e[a]={};e=e[a]}let o=n[n.length-1],r=e[o];if(r!==void 0){if(!t||typeof t==="object"&&Object.keys(t).length===0)return;if(t===r)return;if(typeof r==="object"&&typeof t==="object"&&r!==null&&t!==null)Object.assign(r,t);else throw Error(`Cannot set value for an existing key. Key: ${o}`)}else if(o==="_self"&&typeof t==="object"&&t!==null&&!Array.isArray(t))Object.assign(e,t);else e[o]=t}function i(e,n,t=void 0){try{if(n.length===1&&n[0]==="_self")return e;for(let o=0;o<n.length;o++){if(typeof e!=="object"||e===null)return t;let r=n[o];if(r.endsWith("[]")){let l=r.slice(0,-2);if(l in e){let a=e[l];if(!Array.isArray(a))return t;return a.map((d)=>i(d,n.slice(o+1),t))}else return t}else e=e[r]}return e}catch(o){if(o instanceof TypeError)return t;throw o}}function sr(e,n){for(let[t,o]of Object.entries(n)){let r=t.split("."),l=o.split("."),a=new Set,d=-1;for(let u=0;u<r.length;u++)if(r[u]==="*"){d=u;break}if(d!==-1&&l.length>d)for(let u=d;u<l.length;u++){let f=l[u];if(f!=="*"&&!f.endsWith("[]")&&!f.endsWith("[0]"))a.add(f)}Qe(e,r,l,0,a)}}function Qe(e,n,t,o,r){if(o>=n.length)return;if(typeof e!=="object"||e===null)return;let l=n[o];if(l.endsWith("[]")){let a=l.slice(0,-2),d=e;if(a in d&&Array.isArray(d[a]))for(let u of d[a])Qe(u,n,t,o+1,r)}else if(l==="*"){if(typeof e==="object"&&e!==null&&!Array.isArray(e)){let a=e,d=Object.keys(a).filter((f)=>!f.startsWith("_")&&!r.has(f)),u={};for(let f of d)u[f]=a[f];for(let[f,p]of Object.entries(u)){let c=[];for(let h of t.slice(o))if(h==="*")c.push(f);else c.push(h);s(a,c,p)}for(let f of d)delete a[f]}}else{let a=e;if(l in a)Qe(a[l],n,t,o+1,r)}}function Tn(e){if(typeof e!=="string")throw Error("fromImageBytes must be a string");return e}function lr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["operationName"],t);let o=i(e,["resourceName"]);if(o!=null)s(n,["_url","resourceName"],o);return n}function ar(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response","generateVideoResponse"]);if(a!=null)s(n,["response"],dr(a));return n}function ur(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],fr(a));return n}function dr(e){let n={},t=i(e,["generatedSamples"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>cr(a));s(n,["generatedVideos"],l)}let o=i(e,["raiMediaFilteredCount"]);if(o!=null)s(n,["raiMediaFilteredCount"],o);let r=i(e,["raiMediaFilteredReasons"]);if(r!=null)s(n,["raiMediaFilteredReasons"],r);return n}function fr(e){let n={},t=i(e,["videos"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>pr(a));s(n,["generatedVideos"],l)}let o=i(e,["raiMediaFilteredCount"]);if(o!=null)s(n,["raiMediaFilteredCount"],o);let r=i(e,["raiMediaFilteredReasons"]);if(r!=null)s(n,["raiMediaFilteredReasons"],r);return n}function cr(e){let n={},t=i(e,["video"]);if(t!=null)s(n,["video"],Tr(t));return n}function pr(e){let n={},t=i(e,["_self"]);if(t!=null)s(n,["video"],_r(t));return n}function hr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function mr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function gr(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],yr(a));return n}function yr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function _n(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],Er(a));return n}function Er(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function Tr(e){let n={},t=i(e,["uri"]);if(t!=null)s(n,["uri"],t);let o=i(e,["encodedVideo"]);if(o!=null)s(n,["videoBytes"],Tn(o));let r=i(e,["encoding"]);if(r!=null)s(n,["mimeType"],r);return n}function _r(e){let n={},t=i(e,["gcsUri"]);if(t!=null)s(n,["uri"],t);let o=i(e,["bytesBase64Encoded"]);if(o!=null)s(n,["videoBytes"],Tn(o));let r=i(e,["mimeType"]);if(r!=null)s(n,["mimeType"],r);return n}var On;(function(e){e.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",e.PYTHON="PYTHON"})(On||(On={}));var Kn;(function(e){e.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",e.OUTCOME_OK="OUTCOME_OK",e.OUTCOME_FAILED="OUTCOME_FAILED",e.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(Kn||(Kn={}));var Yn;(function(e){e.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",e.SILENT="SILENT",e.WHEN_IDLE="WHEN_IDLE",e.INTERRUPT="INTERRUPT"})(Yn||(Yn={}));var ne;(function(e){e.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",e.STRING="STRING",e.NUMBER="NUMBER",e.INTEGER="INTEGER",e.BOOLEAN="BOOLEAN",e.ARRAY="ARRAY",e.OBJECT="OBJECT",e.NULL="NULL"})(ne||(ne={}));var Wn;(function(e){e.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",e.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Wn||(Wn={}));var zn;(function(e){e.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",e.NO_AUTH="NO_AUTH",e.API_KEY_AUTH="API_KEY_AUTH",e.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",e.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",e.OAUTH="OAUTH",e.OIDC_AUTH="OIDC_AUTH"})(zn||(zn={}));var Xn;(function(e){e.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",e.HTTP_IN_QUERY="HTTP_IN_QUERY",e.HTTP_IN_HEADER="HTTP_IN_HEADER",e.HTTP_IN_PATH="HTTP_IN_PATH",e.HTTP_IN_BODY="HTTP_IN_BODY",e.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(Xn||(Xn={}));var Qn;(function(e){e.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",e.SIMPLE_SEARCH="SIMPLE_SEARCH",e.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Qn||(Qn={}));var Zn;(function(e){e.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",e.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",e.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",e.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(Zn||(Zn={}));var jn;(function(e){e.UNSPECIFIED="UNSPECIFIED",e.BLOCKING="BLOCKING",e.NON_BLOCKING="NON_BLOCKING"})(jn||(jn={}));var et;(function(e){e.MODE_UNSPECIFIED="MODE_UNSPECIFIED",e.MODE_DYNAMIC="MODE_DYNAMIC"})(et||(et={}));var re;(function(e){e.MODE_UNSPECIFIED="MODE_UNSPECIFIED",e.AUTO="AUTO",e.ANY="ANY",e.NONE="NONE",e.VALIDATED="VALIDATED"})(re||(re={}));var Is;(function(e){e.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",e.MINIMAL="MINIMAL",e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"})(Is||(Is={}));var nt;(function(e){e.DONT_ALLOW="DONT_ALLOW",e.ALLOW_ADULT="ALLOW_ADULT",e.ALLOW_ALL="ALLOW_ALL"})(nt||(nt={}));var tt;(function(e){e.PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",e.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",e.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE"})(tt||(tt={}));var ot;(function(e){e.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",e.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",e.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",e.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",e.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",e.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",e.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",e.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",e.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",e.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",e.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(ot||(ot={}));var it;(function(e){e.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",e.SEVERITY="SEVERITY",e.PROBABILITY="PROBABILITY"})(it||(it={}));var rt;(function(e){e.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",e.BLOCK_NONE="BLOCK_NONE",e.OFF="OFF"})(rt||(rt={}));var x;(function(e){e.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",e.STOP="STOP",e.MAX_TOKENS="MAX_TOKENS",e.SAFETY="SAFETY",e.RECITATION="RECITATION",e.LANGUAGE="LANGUAGE",e.OTHER="OTHER",e.BLOCKLIST="BLOCKLIST",e.PROHIBITED_CONTENT="PROHIBITED_CONTENT",e.SPII="SPII",e.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",e.IMAGE_SAFETY="IMAGE_SAFETY",e.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",e.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",e.NO_IMAGE="NO_IMAGE",e.IMAGE_RECITATION="IMAGE_RECITATION",e.IMAGE_OTHER="IMAGE_OTHER"})(x||(x={}));var st;(function(e){e.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",e.NEGLIGIBLE="NEGLIGIBLE",e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"})(st||(st={}));var lt;(function(e){e.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",e.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",e.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",e.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",e.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(lt||(lt={}));var at;(function(e){e.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",e.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",e.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",e.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",e.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(at||(at={}));var ut;(function(e){e.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",e.SAFETY="SAFETY",e.OTHER="OTHER",e.BLOCKLIST="BLOCKLIST",e.PROHIBITED_CONTENT="PROHIBITED_CONTENT",e.IMAGE_SAFETY="IMAGE_SAFETY",e.MODEL_ARMOR="MODEL_ARMOR",e.JAILBREAK="JAILBREAK"})(ut||(ut={}));var dt;(function(e){e.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",e.ON_DEMAND="ON_DEMAND",e.ON_DEMAND_PRIORITY="ON_DEMAND_PRIORITY",e.ON_DEMAND_FLEX="ON_DEMAND_FLEX",e.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(dt||(dt={}));var xe;(function(e){e.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",e.TEXT="TEXT",e.IMAGE="IMAGE",e.AUDIO="AUDIO",e.VIDEO="VIDEO"})(xe||(xe={}));var ft;(function(e){e.MODEL_STAGE_UNSPECIFIED="MODEL_STAGE_UNSPECIFIED",e.UNSTABLE_EXPERIMENTAL="UNSTABLE_EXPERIMENTAL",e.EXPERIMENTAL="EXPERIMENTAL",e.PREVIEW="PREVIEW",e.STABLE="STABLE",e.LEGACY="LEGACY",e.DEPRECATED="DEPRECATED",e.RETIRED="RETIRED"})(ft||(ft={}));var ct;(function(e){e.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",e.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",e.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",e.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(ct||(ct={}));var pt;(function(e){e.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",e.TUNING_MODE_FULL="TUNING_MODE_FULL",e.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(pt||(pt={}));var ht;(function(e){e.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",e.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",e.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",e.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",e.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",e.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",e.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})(ht||(ht={}));var Ze;(function(e){e.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",e.JOB_STATE_QUEUED="JOB_STATE_QUEUED",e.JOB_STATE_PENDING="JOB_STATE_PENDING",e.JOB_STATE_RUNNING="JOB_STATE_RUNNING",e.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",e.JOB_STATE_FAILED="JOB_STATE_FAILED",e.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",e.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",e.JOB_STATE_PAUSED="JOB_STATE_PAUSED",e.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",e.JOB_STATE_UPDATING="JOB_STATE_UPDATING",e.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(Ze||(Ze={}));var mt;(function(e){e.TUNING_JOB_STATE_UNSPECIFIED="TUNING_JOB_STATE_UNSPECIFIED",e.TUNING_JOB_STATE_WAITING_FOR_QUOTA="TUNING_JOB_STATE_WAITING_FOR_QUOTA",e.TUNING_JOB_STATE_PROCESSING_DATASET="TUNING_JOB_STATE_PROCESSING_DATASET",e.TUNING_JOB_STATE_WAITING_FOR_CAPACITY="TUNING_JOB_STATE_WAITING_FOR_CAPACITY",e.TUNING_JOB_STATE_TUNING="TUNING_JOB_STATE_TUNING",e.TUNING_JOB_STATE_POST_PROCESSING="TUNING_JOB_STATE_POST_PROCESSING"})(mt||(mt={}));var gt;(function(e){e.AGGREGATION_METRIC_UNSPECIFIED="AGGREGATION_METRIC_UNSPECIFIED",e.AVERAGE="AVERAGE",e.MODE="MODE",e.STANDARD_DEVIATION="STANDARD_DEVIATION",e.VARIANCE="VARIANCE",e.MINIMUM="MINIMUM",e.MAXIMUM="MAXIMUM",e.MEDIAN="MEDIAN",e.PERCENTILE_P90="PERCENTILE_P90",e.PERCENTILE_P95="PERCENTILE_P95",e.PERCENTILE_P99="PERCENTILE_P99"})(gt||(gt={}));var yt;(function(e){e.PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",e.BASELINE="BASELINE",e.CANDIDATE="CANDIDATE",e.TIE="TIE"})(yt||(yt={}));var Et;(function(e){e.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",e.TUNING_TASK_I2V="TUNING_TASK_I2V",e.TUNING_TASK_T2V="TUNING_TASK_T2V",e.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Et||(Et={}));var Tt;(function(e){e.STATE_UNSPECIFIED="STATE_UNSPECIFIED",e.STATE_PENDING="STATE_PENDING",e.STATE_ACTIVE="STATE_ACTIVE",e.STATE_FAILED="STATE_FAILED"})(Tt||(Tt={}));var _t;(function(e){e.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",e.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",e.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",e.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",e.MEDIA_RESOLUTION_ULTRA_HIGH="MEDIA_RESOLUTION_ULTRA_HIGH"})(_t||(_t={}));var It;(function(e){e.TOOL_TYPE_UNSPECIFIED="TOOL_TYPE_UNSPECIFIED",e.GOOGLE_SEARCH_WEB="GOOGLE_SEARCH_WEB",e.GOOGLE_SEARCH_IMAGE="GOOGLE_SEARCH_IMAGE",e.URL_CONTEXT="URL_CONTEXT",e.GOOGLE_MAPS="GOOGLE_MAPS",e.FILE_SEARCH="FILE_SEARCH"})(It||(It={}));var tc;(function(e){e.COLLECTION="COLLECTION"})(tc||(tc={}));var Ct;(function(e){e.UNSPECIFIED="unspecified",e.FLEX="flex",e.STANDARD="standard",e.PRIORITY="priority"})(Ct||(Ct={}));var At;(function(e){e.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",e.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",e.BALANCED="BALANCED",e.PRIORITIZE_COST="PRIORITIZE_COST"})(At||(At={}));var Ue;(function(e){e.PREDICT="PREDICT",e.EMBED_CONTENT="EMBED_CONTENT"})(Ue||(Ue={}));var vt;(function(e){e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",e.BLOCK_NONE="BLOCK_NONE"})(vt||(vt={}));var St;(function(e){e.auto="auto",e.en="en",e.ja="ja",e.ko="ko",e.hi="hi",e.zh="zh",e.pt="pt",e.es="es"})(St||(St={}));var Rt;(function(e){e.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",e.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",e.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",e.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",e.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(Rt||(Rt={}));var Pt;(function(e){e.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",e.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",e.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",e.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(Pt||(Pt={}));var wt;(function(e){e.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",e.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",e.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",e.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(wt||(wt={}));var Nt;(function(e){e.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",e.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",e.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",e.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",e.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",e.EDIT_MODE_STYLE="EDIT_MODE_STYLE",e.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",e.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(Nt||(Nt={}));var Mt;(function(e){e.FOREGROUND="FOREGROUND",e.BACKGROUND="BACKGROUND",e.PROMPT="PROMPT",e.SEMANTIC="SEMANTIC",e.INTERACTIVE="INTERACTIVE"})(Mt||(Mt={}));var Dt;(function(e){e.ASSET="ASSET",e.STYLE="STYLE"})(Dt||(Dt={}));var xt;(function(e){e.INSERT="INSERT",e.REMOVE="REMOVE",e.REMOVE_STATIC="REMOVE_STATIC",e.OUTPAINT="OUTPAINT"})(xt||(xt={}));var Ut;(function(e){e.OPTIMIZED="OPTIMIZED",e.LOSSLESS="LOSSLESS"})(Ut||(Ut={}));var Lt;(function(e){e.CROP="CROP",e.PAD="PAD"})(Lt||(Lt={}));var Gt;(function(e){e.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",e.PREFERENCE_TUNING="PREFERENCE_TUNING",e.DISTILLATION="DISTILLATION"})(Gt||(Gt={}));var kt;(function(e){e.STATE_UNSPECIFIED="STATE_UNSPECIFIED",e.PROCESSING="PROCESSING",e.ACTIVE="ACTIVE",e.FAILED="FAILED"})(kt||(kt={}));var Ft;(function(e){e.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",e.UPLOADED="UPLOADED",e.GENERATED="GENERATED",e.REGISTERED="REGISTERED"})(Ft||(Ft={}));var Vt;(function(e){e.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",e.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",e.RESPONSE_REJECTED="RESPONSE_REJECTED",e.NEED_MORE_INPUT="NEED_MORE_INPUT",e.PROHIBITED_INPUT_CONTENT="PROHIBITED_INPUT_CONTENT",e.IMAGE_PROHIBITED_INPUT_CONTENT="IMAGE_PROHIBITED_INPUT_CONTENT",e.INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED="INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED",e.INPUT_IMAGE_CELEBRITY="INPUT_IMAGE_CELEBRITY",e.INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED="INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED",e.INPUT_TEXT_NCII_PROHIBITED="INPUT_TEXT_NCII_PROHIBITED",e.INPUT_OTHER="INPUT_OTHER",e.INPUT_IP_PROHIBITED="INPUT_IP_PROHIBITED",e.BLOCKLIST="BLOCKLIST",e.UNSAFE_PROMPT_FOR_IMAGE_GENERATION="UNSAFE_PROMPT_FOR_IMAGE_GENERATION",e.GENERATED_IMAGE_SAFETY="GENERATED_IMAGE_SAFETY",e.GENERATED_CONTENT_SAFETY="GENERATED_CONTENT_SAFETY",e.GENERATED_AUDIO_SAFETY="GENERATED_AUDIO_SAFETY",e.GENERATED_VIDEO_SAFETY="GENERATED_VIDEO_SAFETY",e.GENERATED_CONTENT_PROHIBITED="GENERATED_CONTENT_PROHIBITED",e.GENERATED_CONTENT_BLOCKLIST="GENERATED_CONTENT_BLOCKLIST",e.GENERATED_IMAGE_PROHIBITED="GENERATED_IMAGE_PROHIBITED",e.GENERATED_IMAGE_CELEBRITY="GENERATED_IMAGE_CELEBRITY",e.GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER="GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER",e.GENERATED_IMAGE_IDENTIFIABLE_PEOPLE="GENERATED_IMAGE_IDENTIFIABLE_PEOPLE",e.GENERATED_IMAGE_MINORS="GENERATED_IMAGE_MINORS",e.OUTPUT_IMAGE_IP_PROHIBITED="OUTPUT_IMAGE_IP_PROHIBITED",e.GENERATED_OTHER="GENERATED_OTHER",e.MAX_REGENERATION_REACHED="MAX_REGENERATION_REACHED"})(Vt||(Vt={}));var qt;(function(e){e.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",e.TEXT="TEXT",e.IMAGE="IMAGE",e.VIDEO="VIDEO",e.AUDIO="AUDIO",e.DOCUMENT="DOCUMENT"})(qt||(qt={}));var Ht;(function(e){e.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",e.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",e.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(Ht||(Ht={}));var Bt;(function(e){e.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",e.ACTIVITY_START="ACTIVITY_START",e.ACTIVITY_END="ACTIVITY_END"})(Bt||(Bt={}));var Jt;(function(e){e.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",e.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",e.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(Jt||(Jt={}));var bt;(function(e){e.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",e.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",e.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(bt||(bt={}));var $t;(function(e){e.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",e.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",e.NO_INTERRUPTION="NO_INTERRUPTION"})($t||($t={}));var Ot;(function(e){e.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",e.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",e.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT",e.TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO="TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"})(Ot||(Ot={}));var Kt;(function(e){e.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",e.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",e.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",e.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",e.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",e.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",e.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",e.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",e.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",e.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",e.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",e.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",e.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(Kt||(Kt={}));var Yt;(function(e){e.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",e.QUALITY="QUALITY",e.DIVERSITY="DIVERSITY",e.VOCALIZATION="VOCALIZATION"})(Yt||(Yt={}));var ce;(function(e){e.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",e.PLAY="PLAY",e.PAUSE="PAUSE",e.STOP="STOP",e.RESET_CONTEXT="RESET_CONTEXT"})(ce||(ce={}));class de{constructor(e){let n={};for(let t of e.headers.entries())n[t[0]]=t[1];this.headers=n,this.responseInternal=e}json(){return this.responseInternal.json()}}class fe{get text(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",f=!1,p=[];for(let c of(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)!==null&&d!==void 0?d:[]){for(let[h,m]of Object.entries(c))if(h!=="text"&&h!=="thought"&&h!=="thoughtSignature"&&(m!==null||m!==void 0))p.push(h);if(typeof c.text==="string"){if(typeof c.thought==="boolean"&&c.thought)continue;f=!0,u+=c.text}}if(p.length>0)console.warn(`there are non-text parts ${p} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`);return f?u:void 0}get data(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning data from the first one.");let u="",f=[];for(let p of(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)!==null&&d!==void 0?d:[]){for(let[c,h]of Object.entries(p))if(c!=="inlineData"&&(h!==null||h!==void 0))f.push(c);if(p.inlineData&&typeof p.inlineData.data==="string")u+=atob(p.inlineData.data)}if(f.length>0)console.warn(`there are non-data parts ${f} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);return u.length>0?btoa(u):void 0}get functionCalls(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning function calls from the first one.");let u=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((f)=>f.functionCall).map((f)=>f.functionCall).filter((f)=>f!==void 0);if((u===null||u===void 0?void 0:u.length)===0)return;return u}get executableCode(){var e,n,t,o,r,l,a,d,u;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning executable code from the first one.");let f=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((p)=>p.executableCode).map((p)=>p.executableCode).filter((p)=>p!==void 0);if((f===null||f===void 0?void 0:f.length)===0)return;return(u=f===null||f===void 0?void 0:f[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,n,t,o,r,l,a,d,u;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let f=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((p)=>p.codeExecutionResult).map((p)=>p.codeExecutionResult).filter((p)=>p!==void 0);if((f===null||f===void 0?void 0:f.length)===0)return;return(u=f===null||f===void 0?void 0:f[0])===null||u===void 0?void 0:u.output}}class je{}class en{}class Po{}class wo{}class No{}class Mo{}class nn{}class tn{}class on{}class Do{}class Le{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new Le,o,r=e;if(n)o=ur(r);else o=ar(r);return Object.assign(t,o),t}}class xo{}class rn{}class sn{}class ln{}class Uo{}class Lo{}class Go{}class In{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new In,r=gr(e);return Object.assign(t,r),t}}class ko{}class Fo{}class Vo{}class qo{}class an{}class Ho{get text(){var e,n,t;let o="",r=!1,l=[];for(let a of(t=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&t!==void 0?t:[]){for(let[d,u]of Object.entries(a))if(d!=="text"&&d!=="thought"&&u!==null)l.push(d);if(typeof a.text==="string"){if(typeof a.thought==="boolean"&&a.thought)continue;r=!0,o+=a.text}}if(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.`);return r?o:void 0}get data(){var e,n,t;let o="",r=[];for(let l of(t=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&t!==void 0?t:[]){for(let[a,d]of Object.entries(l))if(a!=="inlineData"&&d!==null)r.push(a);if(l.inlineData&&typeof l.inlineData.data==="string")o+=atob(l.inlineData.data)}if(r.length>0)console.warn(`there are non-data parts ${r} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);return o.length>0?btoa(o):void 0}}class Bo{get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0];return}}class Be{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new Be,r=_n(e);return Object.assign(t,r),t}}function M(e,n){if(!n||typeof n!=="string")throw Error("model is required and must be a string");if(n.includes("..")||n.includes("?")||n.includes("&"))throw Error("invalid model parameter");if(e.isVertexAI())if(n.startsWith("publishers/")||n.startsWith("projects/")||n.startsWith("models/"))return n;else if(n.indexOf("/")>=0){let t=n.split("/",2);return`publishers/${t[0]}/models/${t[1]}`}else return`publishers/google/models/${n}`;else if(n.startsWith("models/")||n.startsWith("tunedModels/"))return n;else return`models/${n}`}function Jo(e,n){let t=M(e,n);if(!t)return"";if(t.startsWith("publishers/")&&e.isVertexAI())return`projects/${e.getProject()}/locations/${e.getLocation()}/${t}`;else if(t.startsWith("models/")&&e.isVertexAI())return`projects/${e.getProject()}/locations/${e.getLocation()}/publishers/google/${t}`;else return t}function bo(e){if(Array.isArray(e))return e.map((n)=>Ge(n));else return[Ge(e)]}function Ge(e){if(typeof e==="object"&&e!==null)return e;throw Error(`Could not parse input as Blob. Unsupported blob type: ${typeof e}`)}function $o(e){let n=Ge(e);if(n.mimeType&&n.mimeType.startsWith("image/"))return n;throw Error(`Unsupported mime type: ${n.mimeType}`)}function Oo(e){let n=Ge(e);if(n.mimeType&&n.mimeType.startsWith("audio/"))return n;throw Error(`Unsupported mime type: ${n.mimeType}`)}function Wt(e){if(e===null||e===void 0)throw Error("PartUnion is required");if(typeof e==="object")return e;if(typeof e==="string")return{text:e};throw Error(`Unsupported part type: ${typeof e}`)}function Ko(e){if(e===null||e===void 0||Array.isArray(e)&&e.length===0)throw Error("PartListUnion is required");if(Array.isArray(e))return e.map((n)=>Wt(n));return[Wt(e)]}function un(e){return e!==null&&e!==void 0&&typeof e==="object"&&"parts"in e&&Array.isArray(e.parts)}function zt(e){return e!==null&&e!==void 0&&typeof e==="object"&&"functionCall"in e}function Xt(e){return e!==null&&e!==void 0&&typeof e==="object"&&"functionResponse"in e}function k(e){if(e===null||e===void 0)throw Error("ContentUnion is required");if(un(e))return e;return{role:"user",parts:Ko(e)}}function Cn(e,n){if(!n)return[];if(e.isVertexAI()&&Array.isArray(n))return n.flatMap((t)=>{let o=k(t);if(o.parts&&o.parts.length>0&&o.parts[0].text!==void 0)return[o.parts[0].text];return[]});else if(e.isVertexAI()){let t=k(n);if(t.parts&&t.parts.length>0&&t.parts[0].text!==void 0)return[t.parts[0].text];return[]}if(Array.isArray(n))return n.map((t)=>k(t));return[k(n)]}function q(e){if(e===null||e===void 0||Array.isArray(e)&&e.length===0)throw Error("contents are required");if(!Array.isArray(e)){if(zt(e)||Xt(e))throw Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[k(e)]}let n=[],t=[],o=un(e[0]);for(let r of e){let l=un(r);if(l!=o)throw 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(l)n.push(r);else if(zt(r)||Xt(r))throw Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");else t.push(r)}if(!o)n.push({role:"user",parts:Ko(t)});return n}function Ir(e,n){if(e.includes("null"))n.nullable=!0;let t=e.filter((o)=>o!=="null");if(t.length===1)n.type=Object.values(ne).includes(t[0].toUpperCase())?t[0].toUpperCase():ne.TYPE_UNSPECIFIED;else{n.anyOf=[];for(let o of t)n.anyOf.push({type:Object.values(ne).includes(o.toUpperCase())?o.toUpperCase():ne.TYPE_UNSPECIFIED})}}function he(e){let n={},t=["items"],o=["anyOf"],r=["properties"];if(e.type&&e.anyOf)throw Error("type and anyOf cannot be both populated.");let l=e.anyOf;if(l!=null&&l.length==2){if(l[0].type==="null")n.nullable=!0,e=l[1];else if(l[1].type==="null")n.nullable=!0,e=l[0]}if(e.type instanceof Array)Ir(e.type,n);for(let[a,d]of Object.entries(e)){if(d==null)continue;if(a=="type"){if(d==="null")throw Error("type: null can not be the only possible type for the field.");if(d instanceof Array)continue;n.type=Object.values(ne).includes(d.toUpperCase())?d.toUpperCase():ne.TYPE_UNSPECIFIED}else if(t.includes(a))n[a]=he(d);else if(o.includes(a)){let u=[];for(let f of d){if(f.type=="null"){n.nullable=!0;continue}u.push(he(f))}n[a]=u}else if(r.includes(a)){let u={};for(let[f,p]of Object.entries(d))u[f]=he(p);n[a]=u}else{if(a==="additionalProperties")continue;n[a]=d}}return n}function An(e){return he(e)}function vn(e){if(typeof e==="object")return e;else if(typeof e==="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:e}}};else throw Error(`Unsupported speechConfig type: ${typeof e}`)}function Sn(e){if("multiSpeakerVoiceConfig"in e)throw Error("multiSpeakerVoiceConfig is not supported in the live API.");return e}function ge(e){if(e.functionDeclarations)for(let n of e.functionDeclarations){if(n.parameters){if(!Object.keys(n.parameters).includes("$schema"))n.parameters=he(n.parameters);else if(!n.parametersJsonSchema)n.parametersJsonSchema=n.parameters,delete n.parameters}if(n.response){if(!Object.keys(n.response).includes("$schema"))n.response=he(n.response);else if(!n.responseJsonSchema)n.responseJsonSchema=n.response,delete n.response}}return e}function ye(e){if(e===void 0||e===null)throw Error("tools is required");if(!Array.isArray(e))throw Error("tools is required and must be an array of Tools");let n=[];for(let t of e)n.push(t);return n}function Cr(e,n,t,o=1){let r=!n.startsWith(`${t}/`)&&n.split("/").length===o;if(e.isVertexAI())if(n.startsWith("projects/"))return n;else if(n.startsWith("locations/"))return`projects/${e.getProject()}/${n}`;else if(n.startsWith(`${t}/`))return`projects/${e.getProject()}/locations/${e.getLocation()}/${n}`;else if(r)return`projects/${e.getProject()}/locations/${e.getLocation()}/${t}/${n}`;else return n;if(r)return`${t}/${n}`;return n}function ee(e,n){if(typeof n!=="string")throw Error("name must be a string");return Cr(e,n,"cachedContents")}function Yo(e){switch(e){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 e}}function se(e){return Tn(e)}function Ar(e){return e!==null&&e!==void 0&&typeof e==="object"&&"name"in e}function Wo(e){return e!==null&&e!==void 0&&typeof e==="object"&&"video"in e}function zo(e){return e!==null&&e!==void 0&&typeof e==="object"&&"uri"in e}function Rn(e){var n;let t;if(Ar(e))t=e.name;if(zo(e)){if(t=e.uri,t===void 0)return}if(Wo(e)){if(t=(n=e.video)===null||n===void 0?void 0:n.uri,t===void 0)return}if(typeof e==="string")t=e;if(t===void 0)throw Error("Could not extract file name from the provided input.");if(t.startsWith("https://")){let r=t.split("files/")[1].match(/[a-z0-9]+/);if(r===null)throw Error(`Could not extract file name from URI ${t}`);t=r[0]}else if(t.startsWith("files/"))t=t.split("files/")[1];return t}function Xo(e,n){let t;if(e.isVertexAI())t=n?"publishers/google/models":"models";else t=n?"models":"tunedModels";return t}function Qo(e){for(let n of["models","tunedModels","publisherModels"])if(vr(e,n))return e[n];return[]}function vr(e,n){return e!==null&&typeof e==="object"&&n in e}function Sr(e,n={}){let t=e,o={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};if(t.outputSchema)o.responseJsonSchema=t.outputSchema;if(n.behavior)o.behavior=n.behavior;return{functionDeclarations:[o]}}function Rr(e,n={}){let t=[],o=new Set;for(let r of e){let l=r.name;if(o.has(l))throw Error(`Duplicate function name ${l} found in MCP tools. Please ensure function names are unique.`);o.add(l);let a=Sr(r,n);if(a.functionDeclarations)t.push(...a.functionDeclarations)}return{functionDeclarations:t}}function Zo(e,n){let t;if(typeof n==="string")if(e.isVertexAI())if(n.startsWith("gs://"))t={format:"jsonl",gcsUri:[n]};else if(n.startsWith("bq://"))t={format:"bigquery",bigqueryUri:n};else if(/^projects\/[^/]+\/locations\/[^/]+\/datasets\/[^/]+$/.test(n))t={format:"vertex-dataset",vertexDatasetName:n};else throw Error(`Unsupported string source for Vertex AI: ${n}`);else if(n.startsWith("files/"))t={fileName:n};else throw Error(`Unsupported string source for Gemini API: ${n}`);else if(Array.isArray(n)){if(e.isVertexAI())throw Error("InlinedRequest[] is not supported in Vertex AI.");t={inlinedRequests:n}}else t=n;let o=[t.gcsUri,t.bigqueryUri,t.vertexDatasetName].filter(Boolean).length,r=[t.inlinedRequests,t.fileName].filter(Boolean).length;if(e.isVertexAI()){if(r>0||o!==1)throw Error("Exactly one of `gcsUri`, `bigqueryUri`, or `vertexDatasetName` must be set for Vertex AI.")}else if(o>0||r!==1)throw Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return t}function Pr(e){if(typeof e!=="string")return e;let n=e;if(n.startsWith("gs://"))return{format:"jsonl",gcsUri:n};else if(n.startsWith("bq://"))return{format:"bigquery",bigqueryUri:n};else throw Error(`Unsupported destination: ${n}`)}function jo(e){if(typeof e!=="object"||e===null)return{};let n=e,t=n.inlinedResponses;if(typeof t!=="object"||t===null)return e;let r=t.inlinedResponses;if(!Array.isArray(r)||r.length===0)return e;let l=!1;for(let a of r){if(typeof a!=="object"||a===null)continue;let u=a.response;if(typeof u!=="object"||u===null)continue;if(u.embedding!==void 0){l=!0;break}}if(l)n.inlinedEmbedContentResponses=n.inlinedResponses,delete n.inlinedResponses;return e}function Ee(e,n){let t=n;if(!e.isVertexAI())if(/batches\/[^/]+$/.test(t))return t.split("/").pop();else throw Error(`Invalid batch job name: ${t}.`);if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();else if(/^\d+$/.test(t))return t;else throw Error(`Invalid batch job name: ${t}.`)}function ei(e){let n=e;if(n==="BATCH_STATE_UNSPECIFIED")return"JOB_STATE_UNSPECIFIED";else if(n==="BATCH_STATE_PENDING")return"JOB_STATE_PENDING";else if(n==="BATCH_STATE_RUNNING")return"JOB_STATE_RUNNING";else if(n==="BATCH_STATE_SUCCEEDED")return"JOB_STATE_SUCCEEDED";else if(n==="BATCH_STATE_FAILED")return"JOB_STATE_FAILED";else if(n==="BATCH_STATE_CANCELLED")return"JOB_STATE_CANCELLED";else if(n==="BATCH_STATE_EXPIRED")return"JOB_STATE_EXPIRED";else return n}function wr(e){return e.includes("gemini")&&e!=="gemini-embedding-001"||e.includes("maas")}function Nr(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function Mr(e){let n={},t=i(e,["responsesFile"]);if(t!=null)s(n,["fileName"],t);let o=i(e,["inlinedResponses","inlinedResponses"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>ds(a));s(n,["inlinedResponses"],l)}let r=i(e,["inlinedEmbedContentResponses","inlinedResponses"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["inlinedEmbedContentResponses"],l)}return n}function Dr(e){let n={},t=i(e,["predictionsFormat"]);if(t!=null)s(n,["format"],t);let o=i(e,["gcsDestination","outputUriPrefix"]);if(o!=null)s(n,["gcsUri"],o);let r=i(e,["bigqueryDestination","outputUri"]);if(r!=null)s(n,["bigqueryUri"],r);let l=i(e,["vertexMultimodalDatasetDestination"]);if(l!=null)s(n,["vertexDataset"],Cs(l));return n}function xr(e){let n={},t=i(e,["format"]);if(t!=null)s(n,["predictionsFormat"],t);let o=i(e,["gcsUri"]);if(o!=null)s(n,["gcsDestination","outputUriPrefix"],o);let r=i(e,["bigqueryUri"]);if(r!=null)s(n,["bigqueryDestination","outputUri"],r);if(i(e,["fileName"])!==void 0)throw Error("fileName parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedResponses"])!==void 0)throw Error("inlinedResponses parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedEmbedContentResponses"])!==void 0)throw Error("inlinedEmbedContentResponses parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["vertexDataset"]);if(l!=null)s(n,["vertexMultimodalDatasetDestination"],As(l));return n}function Me(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata","displayName"]);if(o!=null)s(n,["displayName"],o);let r=i(e,["metadata","state"]);if(r!=null)s(n,["state"],ei(r));let l=i(e,["metadata","createTime"]);if(l!=null)s(n,["createTime"],l);let a=i(e,["metadata","endTime"]);if(a!=null)s(n,["endTime"],a);let d=i(e,["metadata","updateTime"]);if(d!=null)s(n,["updateTime"],d);let u=i(e,["metadata","model"]);if(u!=null)s(n,["model"],u);let f=i(e,["metadata","output"]);if(f!=null)s(n,["dest"],Mr(jo(f)));return n}function dn(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);let r=i(e,["state"]);if(r!=null)s(n,["state"],ei(r));let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["createTime"]);if(a!=null)s(n,["createTime"],a);let d=i(e,["startTime"]);if(d!=null)s(n,["startTime"],d);let u=i(e,["endTime"]);if(u!=null)s(n,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(n,["updateTime"],f);let p=i(e,["model"]);if(p!=null)s(n,["model"],p);let c=i(e,["inputConfig"]);if(c!=null)s(n,["src"],Ur(c));let h=i(e,["outputConfig"]);if(h!=null)s(n,["dest"],Dr(jo(h)));let m=i(e,["completionStats"]);if(m!=null)s(n,["completionStats"],m);let g=i(e,["outputInfo"]);if(g!=null)s(n,["outputInfo"],g);return n}function Ur(e){let n={},t=i(e,["instancesFormat"]);if(t!=null)s(n,["format"],t);let o=i(e,["gcsSource","uris"]);if(o!=null)s(n,["gcsUri"],o);let r=i(e,["bigquerySource","inputUri"]);if(r!=null)s(n,["bigqueryUri"],r);let l=i(e,["vertexMultimodalDatasetSource","datasetName"]);if(l!=null)s(n,["vertexDatasetName"],l);return n}function Lr(e,n){let t={};if(i(n,["format"])!==void 0)throw Error("format parameter is not supported in Gemini API.");if(i(n,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");if(i(n,["bigqueryUri"])!==void 0)throw Error("bigqueryUri parameter is not supported in Gemini API.");let o=i(n,["fileName"]);if(o!=null)s(t,["fileName"],o);let r=i(n,["inlinedRequests"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>us(e,a));s(t,["requests","requests"],l)}if(i(n,["vertexDatasetName"])!==void 0)throw Error("vertexDatasetName parameter is not supported in Gemini API.");return t}function Gr(e){let n={},t=i(e,["format"]);if(t!=null)s(n,["instancesFormat"],t);let o=i(e,["gcsUri"]);if(o!=null)s(n,["gcsSource","uris"],o);let r=i(e,["bigqueryUri"]);if(r!=null)s(n,["bigquerySource","inputUri"],r);if(i(e,["fileName"])!==void 0)throw Error("fileName parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedRequests"])!==void 0)throw Error("inlinedRequests parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["vertexDatasetName"]);if(l!=null)s(n,["vertexMultimodalDatasetSource","datasetName"],l);return n}function kr(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Fr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Vr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function qr(e){let n={},t=i(e,["content"]);if(t!=null)s(n,["content"],t);let o=i(e,["citationMetadata"]);if(o!=null)s(n,["citationMetadata"],Hr(o));let r=i(e,["tokenCount"]);if(r!=null)s(n,["tokenCount"],r);let l=i(e,["finishReason"]);if(l!=null)s(n,["finishReason"],l);let a=i(e,["groundingMetadata"]);if(a!=null)s(n,["groundingMetadata"],a);let d=i(e,["avgLogprobs"]);if(d!=null)s(n,["avgLogprobs"],d);let u=i(e,["index"]);if(u!=null)s(n,["index"],u);let f=i(e,["logprobsResult"]);if(f!=null)s(n,["logprobsResult"],f);let p=i(e,["safetyRatings"]);if(p!=null){let h=p;if(Array.isArray(h))h=h.map((m)=>m);s(n,["safetyRatings"],h)}let c=i(e,["urlContextMetadata"]);if(c!=null)s(n,["urlContextMetadata"],c);return n}function Hr(e){let n={},t=i(e,["citationSources"]);if(t!=null){let o=t;if(Array.isArray(o))o=o.map((r)=>r);s(n,["citations"],o)}return n}function ni(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>ys(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Br(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["batch","displayName"],o);if(i(e,["dest"])!==void 0)throw Error("dest parameter is not supported in Gemini API.");let r=i(e,["webhookConfig"]);if(n!==void 0&&r!=null)s(n,["batch","webhookConfig"],r);return t}function Jr(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["displayName"],o);let r=i(e,["dest"]);if(n!==void 0&&r!=null)s(n,["outputConfig"],xr(Pr(r)));if(i(e,["webhookConfig"])!==void 0)throw Error("webhookConfig parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Qt(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["_url","model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["batch","inputConfig"],Lr(e,Zo(e,r)));let l=i(n,["config"]);if(l!=null)Br(l,t);return t}function br(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["inputConfig"],Gr(Zo(e,r)));let l=i(n,["config"]);if(l!=null)Jr(l,t);return t}function $r(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["batch","displayName"],o);return t}function Or(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["_url","model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["batch","inputConfig"],Zr(e,r));let l=i(n,["config"]);if(l!=null)$r(l,t);return t}function Kr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Yr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Wr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);return n}function zr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);return n}function Xr(e,n){let t={},o=i(n,["contents"]);if(o!=null){let l=Cn(e,o);if(Array.isArray(l))l=l.map((a)=>a);s(t,["requests[]","request","content"],l)}let r=i(n,["config"]);if(r!=null)s(t,["_self"],Qr(r,t)),sr(t,{"requests[].*":"requests[].request.*"});return t}function Qr(e,n){let t={},o=i(e,["taskType"]);if(n!==void 0&&o!=null)s(n,["requests[]","taskType"],o);let r=i(e,["title"]);if(n!==void 0&&r!=null)s(n,["requests[]","title"],r);let l=i(e,["outputDimensionality"]);if(n!==void 0&&l!=null)s(n,["requests[]","outputDimensionality"],l);if(i(e,["mimeType"])!==void 0)throw Error("mimeType parameter is not supported in Gemini API.");if(i(e,["autoTruncate"])!==void 0)throw Error("autoTruncate parameter is not supported in Gemini API.");if(i(e,["documentOcr"])!==void 0)throw Error("documentOcr parameter is not supported in Gemini API.");if(i(e,["audioTrackExtraction"])!==void 0)throw Error("audioTrackExtraction parameter is not supported in Gemini API.");return t}function Zr(e,n){let t={},o=i(n,["fileName"]);if(o!=null)s(t,["file_name"],o);let r=i(n,["inlinedRequests"]);if(r!=null)s(t,["requests"],Xr(e,r));return t}function jr(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function es(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function ns(e){let n={},t=i(e,["allowedFunctionNames"]);if(t!=null)s(n,["allowedFunctionNames"],t);let o=i(e,["mode"]);if(o!=null)s(n,["mode"],o);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}function ts(e,n,t){let o={},r=i(n,["systemInstruction"]);if(t!==void 0&&r!=null)s(t,["systemInstruction"],ni(k(r)));let l=i(n,["temperature"]);if(l!=null)s(o,["temperature"],l);let a=i(n,["topP"]);if(a!=null)s(o,["topP"],a);let d=i(n,["topK"]);if(d!=null)s(o,["topK"],d);let u=i(n,["candidateCount"]);if(u!=null)s(o,["candidateCount"],u);let f=i(n,["maxOutputTokens"]);if(f!=null)s(o,["maxOutputTokens"],f);let p=i(n,["stopSequences"]);if(p!=null)s(o,["stopSequences"],p);let c=i(n,["responseLogprobs"]);if(c!=null)s(o,["responseLogprobs"],c);let h=i(n,["logprobs"]);if(h!=null)s(o,["logprobs"],h);let m=i(n,["presencePenalty"]);if(m!=null)s(o,["presencePenalty"],m);let g=i(n,["frequencyPenalty"]);if(g!=null)s(o,["frequencyPenalty"],g);let y=i(n,["seed"]);if(y!=null)s(o,["seed"],y);let E=i(n,["responseMimeType"]);if(E!=null)s(o,["responseMimeType"],E);let _=i(n,["responseSchema"]);if(_!=null)s(o,["responseSchema"],An(_));let C=i(n,["responseJsonSchema"]);if(C!=null)s(o,["responseJsonSchema"],C);if(i(n,["routingConfig"])!==void 0)throw Error("routingConfig parameter is not supported in Gemini API.");if(i(n,["modelSelectionConfig"])!==void 0)throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let v=i(n,["safetySettings"]);if(t!==void 0&&v!=null){let G=v;if(Array.isArray(G))G=G.map((L)=>Es(L));s(t,["safetySettings"],G)}let S=i(n,["tools"]);if(t!==void 0&&S!=null){let G=ye(S);if(Array.isArray(G))G=G.map((L)=>_s(ge(L)));s(t,["tools"],G)}let w=i(n,["toolConfig"]);if(t!==void 0&&w!=null)s(t,["toolConfig"],Ts(w));if(i(n,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let T=i(n,["cachedContent"]);if(t!==void 0&&T!=null)s(t,["cachedContent"],ee(e,T));let N=i(n,["responseModalities"]);if(N!=null)s(o,["responseModalities"],N);let I=i(n,["mediaResolution"]);if(I!=null)s(o,["mediaResolution"],I);let R=i(n,["speechConfig"]);if(R!=null)s(o,["speechConfig"],vn(R));if(i(n,["audioTimestamp"])!==void 0)throw Error("audioTimestamp parameter is not supported in Gemini API.");let D=i(n,["thinkingConfig"]);if(D!=null)s(o,["thinkingConfig"],D);let B=i(n,["imageConfig"]);if(B!=null)s(o,["imageConfig"],as(B));let b=i(n,["enableEnhancedCivicAnswers"]);if(b!=null)s(o,["enableEnhancedCivicAnswers"],b);if(i(n,["modelArmorConfig"])!==void 0)throw Error("modelArmorConfig parameter is not supported in Gemini API.");let O=i(n,["serviceTier"]);if(t!==void 0&&O!=null)s(t,["serviceTier"],O);return o}function os(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["candidates"]);if(o!=null){let f=o;if(Array.isArray(f))f=f.map((p)=>qr(p));s(n,["candidates"],f)}let r=i(e,["modelVersion"]);if(r!=null)s(n,["modelVersion"],r);let l=i(e,["promptFeedback"]);if(l!=null)s(n,["promptFeedback"],l);let a=i(e,["responseId"]);if(a!=null)s(n,["responseId"],a);let d=i(e,["usageMetadata"]);if(d!=null)s(n,["usageMetadata"],d);let u=i(e,["modelStatus"]);if(u!=null)s(n,["modelStatus"],u);return n}function is(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function rs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function ss(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],Nr(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function ls(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function as(e){let n={},t=i(e,["aspectRatio"]);if(t!=null)s(n,["aspectRatio"],t);let o=i(e,["imageSize"]);if(o!=null)s(n,["imageSize"],o);if(i(e,["personGeneration"])!==void 0)throw Error("personGeneration parameter is not supported in Gemini API.");if(i(e,["prominentPeople"])!==void 0)throw Error("prominentPeople parameter is not supported in Gemini API.");if(i(e,["outputMimeType"])!==void 0)throw Error("outputMimeType parameter is not supported in Gemini API.");if(i(e,["outputCompressionQuality"])!==void 0)throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(i(e,["imageOutputOptions"])!==void 0)throw Error("imageOutputOptions parameter is not supported in Gemini API.");return n}function us(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["request","model"],M(e,o));let r=i(n,["contents"]);if(r!=null){let d=q(r);if(Array.isArray(d))d=d.map((u)=>ni(u));s(t,["request","contents"],d)}let l=i(n,["metadata"]);if(l!=null)s(t,["metadata"],l);let a=i(n,["config"]);if(a!=null)s(t,["request","generationConfig"],ts(e,a,i(t,["request"],{})));return t}function ds(e){let n={},t=i(e,["response"]);if(t!=null)s(n,["response"],os(t));let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["error"]);if(r!=null)s(n,["error"],r);return n}function fs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);if(i(e,["filter"])!==void 0)throw Error("filter parameter is not supported in Gemini API.");return t}function cs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);let l=i(e,["filter"]);if(n!==void 0&&l!=null)s(n,["_query","filter"],l);return t}function ps(e){let n={},t=i(e,["config"]);if(t!=null)fs(t,n);return n}function hs(e){let n={},t=i(e,["config"]);if(t!=null)cs(t,n);return n}function ms(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["operations"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>Me(a));s(n,["batchJobs"],l)}return n}function gs(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["batchPredictionJobs"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>dn(a));s(n,["batchJobs"],l)}return n}function ys(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],jr(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],es(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],kr(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function Es(e){let n={},t=i(e,["category"]);if(t!=null)s(n,["category"],t);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let o=i(e,["threshold"]);if(o!=null)s(n,["threshold"],o);return n}function Ts(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],ns(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function _s(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],ls(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],ss(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function Cs(e){let n={},t=i(e,["bigqueryDestination","outputUri"]);if(t!=null)s(n,["bigqueryDestination"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);return n}function As(e){let n={},t=i(e,["bigqueryDestination"]);if(t!=null)s(n,["bigqueryDestination","outputUri"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);return n}var j;(function(e){e.PAGED_ITEM_BATCH_JOBS="batchJobs",e.PAGED_ITEM_MODELS="models",e.PAGED_ITEM_TUNING_JOBS="tuningJobs",e.PAGED_ITEM_FILES="files",e.PAGED_ITEM_CACHED_CONTENTS="cachedContents",e.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",e.PAGED_ITEM_DOCUMENTS="documents"})(j||(j={}));class le{constructor(e,n,t,o){this.pageInternal=[],this.paramsInternal={},this.requestInternal=n,this.init(e,t,o)}init(e,n,t){var o,r;this.nameInternal=e,this.pageInternal=n[this.nameInternal]||[],this.sdkHttpResponseInternal=n===null||n===void 0?void 0:n.sdkHttpResponse,this.idxInternal=0;let l={config:{}};if(!t||Object.keys(t).length===0)l={config:{}};else if(typeof t==="object")l=Object.assign({},t);else l=t;if(l.config)l.config.pageToken=n.nextPageToken;this.paramsInternal=l,this.pageInternalSize=(r=(o=l.config)===null||o===void 0?void 0:o.pageSize)!==null&&r!==void 0?r: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 Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;if(((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0)return!0;return!1}}class ti extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_BATCH_JOBS,(t)=>this.listInternal(t),await this.listInternal(n),n),this.create=async(n)=>{if(this.apiClient.isVertexAI())n.config=this.formatDestination(n.src,n.config);return this.createInternal(n)},this.createEmbeddings=async(n)=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw Error("Gemini Enterprise Agent Platform (previously known as Vertex AI) does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(n)}}createInlinedGenerateContentRequest(e){let n=Qt(this.apiClient,e),t=n._url,o=A("{model}:batchGenerateContent",t),a=n.batch.inputConfig.requests,d=a.requests,u=[];for(let f of d){let p=Object.assign({},f);if(p.systemInstruction){let c=p.systemInstruction;delete p.systemInstruction;let h=p.request;h.systemInstruction=c,p.request=h}u.push(p)}return a.requests=u,delete n.config,delete n._url,delete n._query,{path:o,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];return}getBigqueryUri(e){if(typeof e==="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri;return}formatDestination(e,n){let t=n?Object.assign({},n):{},o=Date.now().toString();if(!t.displayName)t.displayName=`genaiBatchJob_${o}`;if(t.dest===void 0){let r=this.getGcsUri(e),l=this.getBigqueryUri(e);if(r)if(r.endsWith(".jsonl"))t.dest=`${r.slice(0,-6)}/dest`;else t.dest=`${r}_dest_${o}`;else if(l)t.dest=`${l}_dest_${o}`;else throw Error("Unsupported source for Gemini Enterprise Agent Platform (previously known as Vertex AI): No GCS or BigQuery URI found.")}return t}async createInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=br(this.apiClient,e);return a=A("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>dn(f))}else{let u=Qt(this.apiClient,e);return a=A("{model}:batchGenerateContent",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>Me(f))}}async createEmbeddingsInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=Or(this.apiClient,e);return r=A("{model}:asyncBatchEmbedContent",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>Me(d))}}async get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=rs(this.apiClient,e);return a=A("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>dn(f))}else{let u=is(this.apiClient,e);return a=A("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>Me(f))}}async cancel(e){var n,t,o,r;let l="",a={};if(this.apiClient.isVertexAI()){let d=Vr(this.apiClient,e);l=A("batchPredictionJobs/{name}:cancel",d._url),a=d._query,delete d._url,delete d._query,await this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal})}else{let d=Fr(this.apiClient,e);l=A("batches/{name}:cancel",d._url),a=d._query,delete d._url,delete d._query,await this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal})}}async listInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=hs(e);return a=A("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=gs(f),c=new an;return Object.assign(c,p),c})}else{let u=ps(e);return a=A("batches",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=ms(f),c=new an;return Object.assign(c,p),c})}}async delete(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Yr(this.apiClient,e);return a=A("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>zr(f))}else{let u=Kr(this.apiClient,e);return a=A("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>Wr(f))}}}function vs(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function Ss(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Zt(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Ws(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function jt(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>zs(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Rs(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);let l=i(e,["displayName"]);if(n!==void 0&&l!=null)s(n,["displayName"],l);let a=i(e,["contents"]);if(n!==void 0&&a!=null){let p=q(a);if(Array.isArray(p))p=p.map((c)=>Zt(c));s(n,["contents"],p)}let d=i(e,["systemInstruction"]);if(n!==void 0&&d!=null)s(n,["systemInstruction"],Zt(k(d)));let u=i(e,["tools"]);if(n!==void 0&&u!=null){let p=u;if(Array.isArray(p))p=p.map((c)=>Zs(c));s(n,["tools"],p)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Xs(f));if(i(e,["kmsKeyName"])!==void 0)throw Error("kmsKeyName parameter is not supported in Gemini API.");return t}function Ps(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);let l=i(e,["displayName"]);if(n!==void 0&&l!=null)s(n,["displayName"],l);let a=i(e,["contents"]);if(n!==void 0&&a!=null){let c=q(a);if(Array.isArray(c))c=c.map((h)=>jt(h));s(n,["contents"],c)}let d=i(e,["systemInstruction"]);if(n!==void 0&&d!=null)s(n,["systemInstruction"],jt(k(d)));let u=i(e,["tools"]);if(n!==void 0&&u!=null){let c=u;if(Array.isArray(c))c=c.map((h)=>js(h));s(n,["tools"],c)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Qs(f));let p=i(e,["kmsKeyName"]);if(n!==void 0&&p!=null)s(n,["encryption_spec","kmsKeyName"],p);return t}function ws(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],Jo(e,o));let r=i(n,["config"]);if(r!=null)Rs(r,t);return t}function Ns(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],Jo(e,o));let r=i(n,["config"]);if(r!=null)Ps(r,t);return t}function Ms(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function Ds(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function xs(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Us(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Ls(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Gs(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function ks(e){let n={},t=i(e,["allowedFunctionNames"]);if(t!=null)s(n,["allowedFunctionNames"],t);let o=i(e,["mode"]);if(o!=null)s(n,["mode"],o);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}function Fs(e){let n={},t=i(e,["description"]);if(t!=null)s(n,["description"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["parameters"]);if(r!=null)s(n,["parameters"],r);let l=i(e,["parametersJsonSchema"]);if(l!=null)s(n,["parametersJsonSchema"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],a);let d=i(e,["responseJsonSchema"]);if(d!=null)s(n,["responseJsonSchema"],d);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Vs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function qs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function Hs(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],vs(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function Bs(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function Js(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function bs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function $s(e){let n={},t=i(e,["config"]);if(t!=null)Js(t,n);return n}function Os(e){let n={},t=i(e,["config"]);if(t!=null)bs(t,n);return n}function Ks(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["cachedContents"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["cachedContents"],l)}return n}function Ys(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["cachedContents"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["cachedContents"],l)}return n}function Ws(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],Ls(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],Gs(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Ss(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function zs(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],l);let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],a);let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],u);let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Xs(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],ks(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function Qs(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],o);if(i(e,["includeServerSideToolInvocations"])!==void 0)throw Error("includeServerSideToolInvocations parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Zs(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],Bs(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Hs(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function js(e){let n={},t=i(e,["retrieval"]);if(t!=null)s(n,["retrieval"],t);let o=i(e,["computerUse"]);if(o!=null)s(n,["computerUse"],o);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],r);let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],l);let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);let d=i(e,["enterpriseWebSearch"]);if(d!=null)s(n,["enterpriseWebSearch"],d);let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>Fs(m));s(n,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(n,["googleSearchRetrieval"],f);let p=i(e,["parallelAiSearch"]);if(p!=null)s(n,["parallelAiSearch"],p);let c=i(e,["urlContext"]);if(c!=null)s(n,["urlContext"],c);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function el(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);return t}function nl(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);return t}function tl(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));let r=i(n,["config"]);if(r!=null)el(r,t);return t}function ol(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));let r=i(n,["config"]);if(r!=null)nl(r,t);return t}class oi extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_CACHED_CONTENTS,(t)=>this.listInternal(t),await this.listInternal(n),n)}async create(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Ns(this.apiClient,e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=ws(this.apiClient,e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=qs(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=Vs(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async delete(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Ds(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Us(f),c=new sn;return Object.assign(c,p),c})}else{let u=Ms(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=xs(f),c=new sn;return Object.assign(c,p),c})}}async update(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ol(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=tl(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async listInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Os(e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Ys(f),c=new ln;return Object.assign(c,p),c})}else{let u=$s(e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Ks(f),c=new ln;return Object.assign(c,p),c})}}}function te(e,n){var t={};for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0)t[o]=e[o];if(e!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)if(n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r]))t[o[r]]=e[o[r]]}return t}function eo(e){var n=typeof Symbol==="function"&&Symbol.iterator,t=n&&e[n],o=0;if(t)return t.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&o>=e.length)e=void 0;return{value:e&&e[o++],done:!e}}};throw TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function P(e){return this instanceof P?(this.v=e,this):new P(e)}function W(e,n,t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var o=t.apply(e,n||[]),r,l=[];return r=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),d("next"),d("throw"),d("return",a),r[Symbol.asyncIterator]=function(){return this},r;function a(m){return function(g){return Promise.resolve(g).then(m,c)}}function d(m,g){if(o[m]){if(r[m]=function(y){return new Promise(function(E,_){l.push([m,y,E,_])>1||u(m,y)})},g)r[m]=g(r[m])}}function u(m,g){try{f(o[m](g))}catch(y){h(l[0][3],y)}}function f(m){m.value instanceof P?Promise.resolve(m.value.v).then(p,c):h(l[0][2],m)}function p(m){u("next",m)}function c(m){u("throw",m)}function h(m,g){if(m(g),l.shift(),l.length)u(l[0][0],l[0][1])}}function z(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof eo==="function"?eo(e):e[Symbol.iterator](),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(l){t[l]=e[l]&&function(a){return new Promise(function(d,u){a=e[l](a),r(d,u,a.done,a.value)})}}function r(l,a,d,u){Promise.resolve(u).then(function(f){l({value:f,done:d})},a)}}function il(e){var n;if(e.candidates==null||e.candidates.length===0)return!1;let t=(n=e.candidates[0])===null||n===void 0?void 0:n.content;if(t===void 0)return!1;return ii(t)}function ii(e){if(e.parts===void 0||e.parts.length===0)return!1;for(let n of e.parts)if(n===void 0||Object.keys(n).length===0)return!1;return!0}function rl(e){if(e.length===0)return;for(let n of e)if(n.role!=="user"&&n.role!=="model")throw Error(`Role must be user or model, but got ${n.role}.`)}function no(e){if(e===void 0||e.length===0)return[];let n=[],t=e.length,o=0;while(o<t)if(e[o].role==="user")n.push(e[o]),o++;else{let r=[],l=!0;while(o<t&&e[o].role==="model"){if(r.push(e[o]),l&&!ii(e[o]))l=!1;o++}if(l)n.push(...r);else n.pop()}return n}class ri{constructor(e,n){this.modelsModule=e,this.apiClient=n}create(e){return new si(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class si{constructor(e,n,t,o={},r=[]){this.apiClient=e,this.modelsModule=n,this.model=t,this.config=o,this.history=r,this.sendPromise=Promise.resolve(),rl(r)}async sendMessage(e){var n;await this.sendPromise;let t=k(e.message),o=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(t),config:(n=e.config)!==null&&n!==void 0?n:this.config});return this.sendPromise=(async()=>{var r,l,a;let d=await o,u=(l=(r=d.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content,f=d.automaticFunctionCallingHistory,p=this.getHistory(!0).length,c=[];if(f!=null)c=(a=f.slice(p))!==null&&a!==void 0?a:[];let h=u?[u]:[];this.recordHistory(t,h,c);return})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),o}async sendMessageStream(e){var n;await this.sendPromise;let t=k(e.message),o=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(t),config:(n=e.config)!==null&&n!==void 0?n:this.config});this.sendPromise=o.then(()=>{return}).catch(()=>{return});let r=await o;return this.processStreamResponse(r,t)}getHistory(e=!1){let n=e?no(this.history):this.history;return structuredClone(n)}processStreamResponse(e,n){return W(this,arguments,function*(){var o,r,l,a,d,u;let f=[];try{for(var p=!0,c=z(e),h;h=yield P(c.next()),o=h.done,!o;p=!0){a=h.value,p=!1;let m=a;if(il(m)){let g=(u=(d=m.candidates)===null||d===void 0?void 0:d[0])===null||u===void 0?void 0:u.content;if(g!==void 0)f.push(g)}yield yield P(m)}}catch(m){r={error:m}}finally{try{if(!p&&!o&&(l=c.return))yield P(l.call(c))}finally{if(r)throw r.error}}this.recordHistory(n,f)})}recordHistory(e,n,t){let o=[];if(n.length>0&&n.every((r)=>r.role!==void 0))o=n;else o.push({role:"model",parts:[]});if(t&&t.length>0)this.history.push(...no(t));else this.history.push(e);this.history.push(...o)}}class Je extends Error{constructor(e){super(e.message);this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,Je.prototype)}}function sl(e){let n={},t=i(e,["file"]);if(t!=null)s(n,["file"],t);return n}function ll(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function al(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function ul(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function dl(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function fl(e){let n={},t=i(e,["uris"]);if(t!=null)s(n,["uris"],t);return n}function cl(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function pl(e){let n={},t=i(e,["config"]);if(t!=null)cl(t,n);return n}function hl(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["files"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["files"],l)}return n}function ml(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["files"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(n,["files"],r)}return n}class li extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_FILES,(t)=>this.listInternal(t),await this.listInternal(n),n)}async upload(e){if(this.apiClient.isVertexAI())throw Error("Gemini Enterprise Agent Platform (previously known as 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 Error("registerFiles is only supported in Node.js environments.")}async _registerFiles(e){return this.registerFilesInternal(e)}async listInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=pl(e);return r=A("files",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=hl(d),f=new ko;return Object.assign(f,u),f})}}async createInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=sl(e);return r=A("upload/v1beta/files",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>{let u=ll(d),f=new Fo;return Object.assign(f,u),f})}}async get(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=dl(e);return r=A("files/{file}",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>d)}}async delete(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=al(e);return r=A("files/{file}",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=ul(d),f=new Vo;return Object.assign(f,u),f})}}async registerFilesInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=fl(e);return r=A("files:register",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>{let u=ml(d),f=new qo;return Object.assign(f,u),f})}}}function to(e){let n={};if(i(e,["languageCodes"])!==void 0)throw Error("languageCodes parameter is not supported in Gemini API.");return n}function gl(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function De(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function yl(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Ll(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function El(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Gl(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Tl(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function _l(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function Il(e){let n={},t=i(e,["description"]);if(t!=null)s(n,["description"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["parameters"]);if(r!=null)s(n,["parameters"],r);let l=i(e,["parametersJsonSchema"]);if(l!=null)s(n,["parametersJsonSchema"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],a);let d=i(e,["responseJsonSchema"]);if(d!=null)s(n,["responseJsonSchema"],d);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Cl(e){let n={},t=i(e,["modelSelectionConfig"]);if(t!=null)s(n,["modelConfig"],t);let o=i(e,["responseJsonSchema"]);if(o!=null)s(n,["responseJsonSchema"],o);let r=i(e,["audioTimestamp"]);if(r!=null)s(n,["audioTimestamp"],r);let l=i(e,["candidateCount"]);if(l!=null)s(n,["candidateCount"],l);let a=i(e,["enableAffectiveDialog"]);if(a!=null)s(n,["enableAffectiveDialog"],a);let d=i(e,["frequencyPenalty"]);if(d!=null)s(n,["frequencyPenalty"],d);let u=i(e,["logprobs"]);if(u!=null)s(n,["logprobs"],u);let f=i(e,["maxOutputTokens"]);if(f!=null)s(n,["maxOutputTokens"],f);let p=i(e,["mediaResolution"]);if(p!=null)s(n,["mediaResolution"],p);let c=i(e,["presencePenalty"]);if(c!=null)s(n,["presencePenalty"],c);let h=i(e,["responseLogprobs"]);if(h!=null)s(n,["responseLogprobs"],h);let m=i(e,["responseMimeType"]);if(m!=null)s(n,["responseMimeType"],m);let g=i(e,["responseModalities"]);if(g!=null)s(n,["responseModalities"],g);let y=i(e,["responseSchema"]);if(y!=null)s(n,["responseSchema"],y);let E=i(e,["routingConfig"]);if(E!=null)s(n,["routingConfig"],E);let _=i(e,["seed"]);if(_!=null)s(n,["seed"],_);let C=i(e,["speechConfig"]);if(C!=null)s(n,["speechConfig"],C);let v=i(e,["stopSequences"]);if(v!=null)s(n,["stopSequences"],v);let S=i(e,["temperature"]);if(S!=null)s(n,["temperature"],S);let w=i(e,["thinkingConfig"]);if(w!=null)s(n,["thinkingConfig"],w);let T=i(e,["topK"]);if(T!=null)s(n,["topK"],T);let N=i(e,["topP"]);if(N!=null)s(n,["topP"],N);if(i(e,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Al(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],gl(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function vl(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function Sl(e,n){let t={},o=i(e,["generationConfig"]);if(n!==void 0&&o!=null)s(n,["setup","generationConfig"],o);let r=i(e,["responseModalities"]);if(n!==void 0&&r!=null)s(n,["setup","generationConfig","responseModalities"],r);let l=i(e,["temperature"]);if(n!==void 0&&l!=null)s(n,["setup","generationConfig","temperature"],l);let a=i(e,["topP"]);if(n!==void 0&&a!=null)s(n,["setup","generationConfig","topP"],a);let d=i(e,["topK"]);if(n!==void 0&&d!=null)s(n,["setup","generationConfig","topK"],d);let u=i(e,["maxOutputTokens"]);if(n!==void 0&&u!=null)s(n,["setup","generationConfig","maxOutputTokens"],u);let f=i(e,["mediaResolution"]);if(n!==void 0&&f!=null)s(n,["setup","generationConfig","mediaResolution"],f);let p=i(e,["seed"]);if(n!==void 0&&p!=null)s(n,["setup","generationConfig","seed"],p);let c=i(e,["speechConfig"]);if(n!==void 0&&c!=null)s(n,["setup","generationConfig","speechConfig"],Sn(c));let h=i(e,["thinkingConfig"]);if(n!==void 0&&h!=null)s(n,["setup","generationConfig","thinkingConfig"],h);let m=i(e,["enableAffectiveDialog"]);if(n!==void 0&&m!=null)s(n,["setup","generationConfig","enableAffectiveDialog"],m);let g=i(e,["systemInstruction"]);if(n!==void 0&&g!=null)s(n,["setup","systemInstruction"],yl(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let I=ye(y);if(Array.isArray(I))I=I.map((R)=>Vl(ge(R)));s(n,["setup","tools"],I)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],Fl(E));let _=i(e,["inputAudioTranscription"]);if(n!==void 0&&_!=null)s(n,["setup","inputAudioTranscription"],to(_));let C=i(e,["outputAudioTranscription"]);if(n!==void 0&&C!=null)s(n,["setup","outputAudioTranscription"],to(C));let v=i(e,["realtimeInputConfig"]);if(n!==void 0&&v!=null)s(n,["setup","realtimeInputConfig"],v);let S=i(e,["contextWindowCompression"]);if(n!==void 0&&S!=null)s(n,["setup","contextWindowCompression"],S);let w=i(e,["proactivity"]);if(n!==void 0&&w!=null)s(n,["setup","proactivity"],w);if(i(e,["explicitVadSignal"])!==void 0)throw Error("explicitVadSignal parameter is not supported in Gemini API.");let T=i(e,["avatarConfig"]);if(n!==void 0&&T!=null)s(n,["setup","avatarConfig"],T);let N=i(e,["safetySettings"]);if(n!==void 0&&N!=null){let I=N;if(Array.isArray(I))I=I.map((R)=>kl(R));s(n,["setup","safetySettings"],I)}return t}function Rl(e,n){let t={},o=i(e,["generationConfig"]);if(n!==void 0&&o!=null)s(n,["setup","generationConfig"],Cl(o));let r=i(e,["responseModalities"]);if(n!==void 0&&r!=null)s(n,["setup","generationConfig","responseModalities"],r);let l=i(e,["temperature"]);if(n!==void 0&&l!=null)s(n,["setup","generationConfig","temperature"],l);let a=i(e,["topP"]);if(n!==void 0&&a!=null)s(n,["setup","generationConfig","topP"],a);let d=i(e,["topK"]);if(n!==void 0&&d!=null)s(n,["setup","generationConfig","topK"],d);let u=i(e,["maxOutputTokens"]);if(n!==void 0&&u!=null)s(n,["setup","generationConfig","maxOutputTokens"],u);let f=i(e,["mediaResolution"]);if(n!==void 0&&f!=null)s(n,["setup","generationConfig","mediaResolution"],f);let p=i(e,["seed"]);if(n!==void 0&&p!=null)s(n,["setup","generationConfig","seed"],p);let c=i(e,["speechConfig"]);if(n!==void 0&&c!=null)s(n,["setup","generationConfig","speechConfig"],Sn(c));let h=i(e,["thinkingConfig"]);if(n!==void 0&&h!=null)s(n,["setup","generationConfig","thinkingConfig"],h);let m=i(e,["enableAffectiveDialog"]);if(n!==void 0&&m!=null)s(n,["setup","generationConfig","enableAffectiveDialog"],m);let g=i(e,["systemInstruction"]);if(n!==void 0&&g!=null)s(n,["setup","systemInstruction"],El(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let R=ye(y);if(Array.isArray(R))R=R.map((D)=>ql(ge(D)));s(n,["setup","tools"],R)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],E);let _=i(e,["inputAudioTranscription"]);if(n!==void 0&&_!=null)s(n,["setup","inputAudioTranscription"],_);let C=i(e,["outputAudioTranscription"]);if(n!==void 0&&C!=null)s(n,["setup","outputAudioTranscription"],C);let v=i(e,["realtimeInputConfig"]);if(n!==void 0&&v!=null)s(n,["setup","realtimeInputConfig"],v);let S=i(e,["contextWindowCompression"]);if(n!==void 0&&S!=null)s(n,["setup","contextWindowCompression"],S);let w=i(e,["proactivity"]);if(n!==void 0&&w!=null)s(n,["setup","proactivity"],w);let T=i(e,["explicitVadSignal"]);if(n!==void 0&&T!=null)s(n,["setup","explicitVadSignal"],T);let N=i(e,["avatarConfig"]);if(n!==void 0&&N!=null)s(n,["setup","avatarConfig"],N);let I=i(e,["safetySettings"]);if(n!==void 0&&I!=null){let R=I;if(Array.isArray(R))R=R.map((D)=>D);s(n,["setup","safetySettings"],R)}return t}function Pl(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["setup","model"],M(e,o));let r=i(n,["config"]);if(r!=null)s(t,["config"],Sl(r,t));return t}function wl(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["setup","model"],M(e,o));let r=i(n,["config"]);if(r!=null)s(t,["config"],Rl(r,t));return t}function Nl(e){let n={},t=i(e,["musicGenerationConfig"]);if(t!=null)s(n,["musicGenerationConfig"],t);return n}function Ml(e){let n={},t=i(e,["weightedPrompts"]);if(t!=null){let o=t;if(Array.isArray(o))o=o.map((r)=>r);s(n,["weightedPrompts"],o)}return n}function Dl(e){let n={},t=i(e,["media"]);if(t!=null){let f=bo(t);if(Array.isArray(f))f=f.map((p)=>De(p));s(n,["mediaChunks"],f)}let o=i(e,["audio"]);if(o!=null)s(n,["audio"],De(Oo(o)));let r=i(e,["audioStreamEnd"]);if(r!=null)s(n,["audioStreamEnd"],r);let l=i(e,["video"]);if(l!=null)s(n,["video"],De($o(l)));let a=i(e,["text"]);if(a!=null)s(n,["text"],a);let d=i(e,["activityStart"]);if(d!=null)s(n,["activityStart"],d);let u=i(e,["activityEnd"]);if(u!=null)s(n,["activityEnd"],u);return n}function xl(e){let n={},t=i(e,["media"]);if(t!=null){let f=bo(t);if(Array.isArray(f))f=f.map((p)=>p);s(n,["mediaChunks"],f)}let o=i(e,["audio"]);if(o!=null)s(n,["audio"],Oo(o));let r=i(e,["audioStreamEnd"]);if(r!=null)s(n,["audioStreamEnd"],r);let l=i(e,["video"]);if(l!=null)s(n,["video"],$o(l));let a=i(e,["text"]);if(a!=null)s(n,["text"],a);let d=i(e,["activityStart"]);if(d!=null)s(n,["activityStart"],d);let u=i(e,["activityEnd"]);if(u!=null)s(n,["activityEnd"],u);return n}function Ul(e){let n={},t=i(e,["setupComplete"]);if(t!=null)s(n,["setupComplete"],t);let o=i(e,["serverContent"]);if(o!=null)s(n,["serverContent"],o);let r=i(e,["toolCall"]);if(r!=null)s(n,["toolCall"],r);let l=i(e,["toolCallCancellation"]);if(l!=null)s(n,["toolCallCancellation"],l);let a=i(e,["usageMetadata"]);if(a!=null)s(n,["usageMetadata"],Hl(a));let d=i(e,["goAway"]);if(d!=null)s(n,["goAway"],d);let u=i(e,["sessionResumptionUpdate"]);if(u!=null)s(n,["sessionResumptionUpdate"],u);let f=i(e,["voiceActivityDetectionSignal"]);if(f!=null)s(n,["voiceActivityDetectionSignal"],f);let p=i(e,["voiceActivity"]);if(p!=null)s(n,["voiceActivity"],Bl(p));return n}function Ll(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],Tl(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],_l(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],De(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function Gl(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],l);let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],a);let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],u);let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function kl(e){let n={},t=i(e,["category"]);if(t!=null)s(n,["category"],t);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let o=i(e,["threshold"]);if(o!=null)s(n,["threshold"],o);return n}function Fl(e){let n={},t=i(e,["handle"]);if(t!=null)s(n,["handle"],t);if(i(e,["transparent"])!==void 0)throw Error("transparent parameter is not supported in Gemini API.");return n}function Vl(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],vl(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Al(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function ql(e){let n={},t=i(e,["retrieval"]);if(t!=null)s(n,["retrieval"],t);let o=i(e,["computerUse"]);if(o!=null)s(n,["computerUse"],o);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],r);let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],l);let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);let d=i(e,["enterpriseWebSearch"]);if(d!=null)s(n,["enterpriseWebSearch"],d);let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>Il(m));s(n,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(n,["googleSearchRetrieval"],f);let p=i(e,["parallelAiSearch"]);if(p!=null)s(n,["parallelAiSearch"],p);let c=i(e,["urlContext"]);if(c!=null)s(n,["urlContext"],c);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Hl(e){let n={},t=i(e,["promptTokenCount"]);if(t!=null)s(n,["promptTokenCount"],t);let o=i(e,["cachedContentTokenCount"]);if(o!=null)s(n,["cachedContentTokenCount"],o);let r=i(e,["candidatesTokenCount"]);if(r!=null)s(n,["responseTokenCount"],r);let l=i(e,["toolUsePromptTokenCount"]);if(l!=null)s(n,["toolUsePromptTokenCount"],l);let a=i(e,["thoughtsTokenCount"]);if(a!=null)s(n,["thoughtsTokenCount"],a);let d=i(e,["totalTokenCount"]);if(d!=null)s(n,["totalTokenCount"],d);let u=i(e,["promptTokensDetails"]);if(u!=null){let m=u;if(Array.isArray(m))m=m.map((g)=>g);s(n,["promptTokensDetails"],m)}let f=i(e,["cacheTokensDetails"]);if(f!=null){let m=f;if(Array.isArray(m))m=m.map((g)=>g);s(n,["cacheTokensDetails"],m)}let p=i(e,["candidatesTokensDetails"]);if(p!=null){let m=p;if(Array.isArray(m))m=m.map((g)=>g);s(n,["responseTokensDetails"],m)}let c=i(e,["toolUsePromptTokensDetails"]);if(c!=null){let m=c;if(Array.isArray(m))m=m.map((g)=>g);s(n,["toolUsePromptTokensDetails"],m)}let h=i(e,["trafficType"]);if(h!=null)s(n,["trafficType"],h);return n}function Bl(e){let n={},t=i(e,["type"]);if(t!=null)s(n,["voiceActivityType"],t);return n}function Jl(e,n){let t={},o=i(e,["apiKey"]);if(o!=null)s(t,["apiKey"],o);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return t}function bl(e,n){let t={},o=i(e,["data"]);if(o!=null)s(t,["data"],o);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function $l(e,n){let t={},o=i(e,["content"]);if(o!=null)s(t,["content"],o);let r=i(e,["citationMetadata"]);if(r!=null)s(t,["citationMetadata"],Ol(r));let l=i(e,["tokenCount"]);if(l!=null)s(t,["tokenCount"],l);let a=i(e,["finishReason"]);if(a!=null)s(t,["finishReason"],a);let d=i(e,["groundingMetadata"]);if(d!=null)s(t,["groundingMetadata"],d);let u=i(e,["avgLogprobs"]);if(u!=null)s(t,["avgLogprobs"],u);let f=i(e,["index"]);if(f!=null)s(t,["index"],f);let p=i(e,["logprobsResult"]);if(p!=null)s(t,["logprobsResult"],p);let c=i(e,["safetyRatings"]);if(c!=null){let m=c;if(Array.isArray(m))m=m.map((g)=>g);s(t,["safetyRatings"],m)}let h=i(e,["urlContextMetadata"]);if(h!=null)s(t,["urlContextMetadata"],h);return t}function Ol(e,n){let t={},o=i(e,["citationSources"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(t,["citations"],r)}return t}function Kl(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let a=q(l);if(Array.isArray(a))a=a.map((d)=>Te(d));s(o,["contents"],a)}return o}function Yl(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["tokensInfo"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(t,["tokensInfo"],l)}return t}function Wl(e,n){let t={},o=i(e,["values"]);if(o!=null)s(t,["values"],o);let r=i(e,["statistics"]);if(r!=null)s(t,["statistics"],zl(r));return t}function zl(e,n){let t={},o=i(e,["truncated"]);if(o!=null)s(t,["truncated"],o);let r=i(e,["token_count"]);if(r!=null)s(t,["tokenCount"],r);return t}function ve(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>su(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function Te(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>lu(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function Xl(e,n){let t={},o=i(e,["controlType"]);if(o!=null)s(t,["controlType"],o);let r=i(e,["enableControlImageComputation"]);if(r!=null)s(t,["computeControl"],r);return t}function Ql(e,n){let t={};if(i(e,["systemInstruction"])!==void 0)throw Error("systemInstruction parameter is not supported in Gemini API.");if(i(e,["tools"])!==void 0)throw Error("tools parameter is not supported in Gemini API.");if(i(e,["generationConfig"])!==void 0)throw Error("generationConfig parameter is not supported in Gemini API.");return t}function Zl(e,n,t){let o={},r=i(e,["systemInstruction"]);if(n!==void 0&&r!=null)s(n,["systemInstruction"],Te(k(r)));let l=i(e,["tools"]);if(n!==void 0&&l!=null){let d=l;if(Array.isArray(d))d=d.map((u)=>fi(u));s(n,["tools"],d)}let a=i(e,["generationConfig"]);if(n!==void 0&&a!=null)s(n,["generationConfig"],Oa(a));return o}function jl(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>ve(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)Ql(a);return o}function ea(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>Te(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)Zl(a,o);return o}function na(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["totalTokens"]);if(r!=null)s(t,["totalTokens"],r);let l=i(e,["cachedContentTokenCount"]);if(l!=null)s(t,["cachedContentTokenCount"],l);return t}function ta(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["totalTokens"]);if(r!=null)s(t,["totalTokens"],r);return t}function oa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ia(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ra(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function sa(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function la(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["negativePrompt"]);if(n!==void 0&&l!=null)s(n,["parameters","negativePrompt"],l);let a=i(e,["numberOfImages"]);if(n!==void 0&&a!=null)s(n,["parameters","sampleCount"],a);let d=i(e,["aspectRatio"]);if(n!==void 0&&d!=null)s(n,["parameters","aspectRatio"],d);let u=i(e,["guidanceScale"]);if(n!==void 0&&u!=null)s(n,["parameters","guidanceScale"],u);let f=i(e,["seed"]);if(n!==void 0&&f!=null)s(n,["parameters","seed"],f);let p=i(e,["safetyFilterLevel"]);if(n!==void 0&&p!=null)s(n,["parameters","safetySetting"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["includeSafetyAttributes"]);if(n!==void 0&&h!=null)s(n,["parameters","includeSafetyAttributes"],h);let m=i(e,["includeRaiReason"]);if(n!==void 0&&m!=null)s(n,["parameters","includeRaiReason"],m);let g=i(e,["language"]);if(n!==void 0&&g!=null)s(n,["parameters","language"],g);let y=i(e,["outputMimeType"]);if(n!==void 0&&y!=null)s(n,["parameters","outputOptions","mimeType"],y);let E=i(e,["outputCompressionQuality"]);if(n!==void 0&&E!=null)s(n,["parameters","outputOptions","compressionQuality"],E);let _=i(e,["addWatermark"]);if(n!==void 0&&_!=null)s(n,["parameters","addWatermark"],_);let C=i(e,["labels"]);if(n!==void 0&&C!=null)s(n,["labels"],C);let v=i(e,["editMode"]);if(n!==void 0&&v!=null)s(n,["parameters","editMode"],v);let S=i(e,["baseSteps"]);if(n!==void 0&&S!=null)s(n,["parameters","editConfig","baseSteps"],S);return o}function aa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["referenceImages"]);if(a!=null){let u=a;if(Array.isArray(u))u=u.map((f)=>pu(f));s(o,["instances[0]","referenceImages"],u)}let d=i(n,["config"]);if(d!=null)la(d,o);return o}function ua(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>be(a));s(t,["generatedImages"],l)}return t}function da(e,n,t){let o={},r=i(e,["taskType"]);if(n!==void 0&&r!=null)s(n,["requests[]","taskType"],r);let l=i(e,["title"]);if(n!==void 0&&l!=null)s(n,["requests[]","title"],l);let a=i(e,["outputDimensionality"]);if(n!==void 0&&a!=null)s(n,["requests[]","outputDimensionality"],a);if(i(e,["mimeType"])!==void 0)throw Error("mimeType parameter is not supported in Gemini API.");if(i(e,["autoTruncate"])!==void 0)throw Error("autoTruncate parameter is not supported in Gemini API.");if(i(e,["documentOcr"])!==void 0)throw Error("documentOcr parameter is not supported in Gemini API.");if(i(e,["audioTrackExtraction"])!==void 0)throw Error("audioTrackExtraction parameter is not supported in Gemini API.");return o}function fa(e,n,t){let o={},r=i(t,["embeddingApiType"]);if(r===void 0)r="PREDICT";if(r==="PREDICT"){let c=i(e,["taskType"]);if(n!==void 0&&c!=null)s(n,["instances[]","task_type"],c)}else if(r==="EMBED_CONTENT"){let c=i(e,["taskType"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","taskType"],c)}let l=i(t,["embeddingApiType"]);if(l===void 0)l="PREDICT";if(l==="PREDICT"){let c=i(e,["title"]);if(n!==void 0&&c!=null)s(n,["instances[]","title"],c)}else if(l==="EMBED_CONTENT"){let c=i(e,["title"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","title"],c)}let a=i(t,["embeddingApiType"]);if(a===void 0)a="PREDICT";if(a==="PREDICT"){let c=i(e,["outputDimensionality"]);if(n!==void 0&&c!=null)s(n,["parameters","outputDimensionality"],c)}else if(a==="EMBED_CONTENT"){let c=i(e,["outputDimensionality"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","outputDimensionality"],c)}let d=i(t,["embeddingApiType"]);if(d===void 0)d="PREDICT";if(d==="PREDICT"){let c=i(e,["mimeType"]);if(n!==void 0&&c!=null)s(n,["instances[]","mimeType"],c)}let u=i(t,["embeddingApiType"]);if(u===void 0)u="PREDICT";if(u==="PREDICT"){let c=i(e,["autoTruncate"]);if(n!==void 0&&c!=null)s(n,["parameters","autoTruncate"],c)}else if(u==="EMBED_CONTENT"){let c=i(e,["autoTruncate"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","autoTruncate"],c)}let f=i(t,["embeddingApiType"]);if(f===void 0)f="PREDICT";if(f==="EMBED_CONTENT"){let c=i(e,["documentOcr"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","documentOcr"],c)}let p=i(t,["embeddingApiType"]);if(p===void 0)p="PREDICT";if(p==="EMBED_CONTENT"){let c=i(e,["audioTrackExtraction"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","audioTrackExtraction"],c)}return o}function ca(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let f=Cn(e,l);if(Array.isArray(f))f=f.map((p)=>p);s(o,["requests[]","content"],f)}let a=i(n,["content"]);if(a!=null)ve(k(a));let d=i(n,["config"]);if(d!=null)da(d,o);let u=i(n,["model"]);if(u!==void 0)s(o,["requests[]","model"],M(e,u));return o}function pa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(t,["embeddingApiType"]);if(l===void 0)l="PREDICT";if(l==="PREDICT"){let u=i(n,["contents"]);if(u!=null){let f=Cn(e,u);if(Array.isArray(f))f=f.map((p)=>p);s(o,["instances[]","content"],f)}}let a=i(t,["embeddingApiType"]);if(a===void 0)a="PREDICT";if(a==="EMBED_CONTENT"){let u=i(n,["content"]);if(u!=null)s(o,["content"],Te(k(u)))}let d=i(n,["config"]);if(d!=null)fa(d,o,t);return o}function ha(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["embeddings"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>d);s(t,["embeddings"],a)}let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);return t}function ma(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions[]","embeddings"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>Wl(d));s(t,["embeddings"],a)}let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);if(n&&i(n,["embeddingApiType"])==="EMBED_CONTENT"){let a=i(e,["embedding"]),d=i(e,["usageMetadata"]),u=i(e,["truncated"]);if(a){let f={};if(d&&d.promptTokenCount)f.tokenCount=d.promptTokenCount;if(u)f.truncated=u;a.statistics=f,s(t,["embeddings"],[a])}}return t}function ga(e,n){let t={},o=i(e,["endpoint"]);if(o!=null)s(t,["name"],o);let r=i(e,["deployedModelId"]);if(r!=null)s(t,["deployedModelId"],r);return t}function ya(e,n){let t={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["fileUri"]);if(o!=null)s(t,["fileUri"],o);let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function Ea(e,n){let t={},o=i(e,["id"]);if(o!=null)s(t,["id"],o);let r=i(e,["args"]);if(r!=null)s(t,["args"],r);let l=i(e,["name"]);if(l!=null)s(t,["name"],l);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return t}function Ta(e,n){let t={},o=i(e,["allowedFunctionNames"]);if(o!=null)s(t,["allowedFunctionNames"],o);let r=i(e,["mode"]);if(r!=null)s(t,["mode"],r);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return t}function Ia(e,n){let t={},o=i(e,["description"]);if(o!=null)s(t,["description"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["parameters"]);if(l!=null)s(t,["parameters"],l);let a=i(e,["parametersJsonSchema"]);if(a!=null)s(t,["parametersJsonSchema"],a);let d=i(e,["response"]);if(d!=null)s(t,["response"],d);let u=i(e,["responseJsonSchema"]);if(u!=null)s(t,["responseJsonSchema"],u);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Ca(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],ve(k(l)));let a=i(n,["temperature"]);if(a!=null)s(r,["temperature"],a);let d=i(n,["topP"]);if(d!=null)s(r,["topP"],d);let u=i(n,["topK"]);if(u!=null)s(r,["topK"],u);let f=i(n,["candidateCount"]);if(f!=null)s(r,["candidateCount"],f);let p=i(n,["maxOutputTokens"]);if(p!=null)s(r,["maxOutputTokens"],p);let c=i(n,["stopSequences"]);if(c!=null)s(r,["stopSequences"],c);let h=i(n,["responseLogprobs"]);if(h!=null)s(r,["responseLogprobs"],h);let m=i(n,["logprobs"]);if(m!=null)s(r,["logprobs"],m);let g=i(n,["presencePenalty"]);if(g!=null)s(r,["presencePenalty"],g);let y=i(n,["frequencyPenalty"]);if(y!=null)s(r,["frequencyPenalty"],y);let E=i(n,["seed"]);if(E!=null)s(r,["seed"],E);let _=i(n,["responseMimeType"]);if(_!=null)s(r,["responseMimeType"],_);let C=i(n,["responseSchema"]);if(C!=null)s(r,["responseSchema"],An(C));let v=i(n,["responseJsonSchema"]);if(v!=null)s(r,["responseJsonSchema"],v);if(i(n,["routingConfig"])!==void 0)throw Error("routingConfig parameter is not supported in Gemini API.");if(i(n,["modelSelectionConfig"])!==void 0)throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let S=i(n,["safetySettings"]);if(t!==void 0&&S!=null){let L=S;if(Array.isArray(L))L=L.map((Z)=>hu(Z));s(t,["safetySettings"],L)}let w=i(n,["tools"]);if(t!==void 0&&w!=null){let L=ye(w);if(Array.isArray(L))L=L.map((Z)=>Au(ge(Z)));s(t,["tools"],L)}let T=i(n,["toolConfig"]);if(t!==void 0&&T!=null)s(t,["toolConfig"],_u(T));if(i(n,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let N=i(n,["cachedContent"]);if(t!==void 0&&N!=null)s(t,["cachedContent"],ee(e,N));let I=i(n,["responseModalities"]);if(I!=null)s(r,["responseModalities"],I);let R=i(n,["mediaResolution"]);if(R!=null)s(r,["mediaResolution"],R);let D=i(n,["speechConfig"]);if(D!=null)s(r,["speechConfig"],vn(D));if(i(n,["audioTimestamp"])!==void 0)throw Error("audioTimestamp parameter is not supported in Gemini API.");let B=i(n,["thinkingConfig"]);if(B!=null)s(r,["thinkingConfig"],B);let b=i(n,["imageConfig"]);if(b!=null)s(r,["imageConfig"],Xa(b));let O=i(n,["enableEnhancedCivicAnswers"]);if(O!=null)s(r,["enableEnhancedCivicAnswers"],O);if(i(n,["modelArmorConfig"])!==void 0)throw Error("modelArmorConfig parameter is not supported in Gemini API.");let G=i(n,["serviceTier"]);if(t!==void 0&&G!=null)s(t,["serviceTier"],G);return r}function va(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],Te(k(l)));let a=i(n,["temperature"]);if(a!=null)s(r,["temperature"],a);let d=i(n,["topP"]);if(d!=null)s(r,["topP"],d);let u=i(n,["topK"]);if(u!=null)s(r,["topK"],u);let f=i(n,["candidateCount"]);if(f!=null)s(r,["candidateCount"],f);let p=i(n,["maxOutputTokens"]);if(p!=null)s(r,["maxOutputTokens"],p);let c=i(n,["stopSequences"]);if(c!=null)s(r,["stopSequences"],c);let h=i(n,["responseLogprobs"]);if(h!=null)s(r,["responseLogprobs"],h);let m=i(n,["logprobs"]);if(m!=null)s(r,["logprobs"],m);let g=i(n,["presencePenalty"]);if(g!=null)s(r,["presencePenalty"],g);let y=i(n,["frequencyPenalty"]);if(y!=null)s(r,["frequencyPenalty"],y);let E=i(n,["seed"]);if(E!=null)s(r,["seed"],E);let _=i(n,["responseMimeType"]);if(_!=null)s(r,["responseMimeType"],_);let C=i(n,["responseSchema"]);if(C!=null)s(r,["responseSchema"],An(C));let v=i(n,["responseJsonSchema"]);if(v!=null)s(r,["responseJsonSchema"],v);let S=i(n,["routingConfig"]);if(S!=null)s(r,["routingConfig"],S);let w=i(n,["modelSelectionConfig"]);if(w!=null)s(r,["modelConfig"],w);let T=i(n,["safetySettings"]);if(t!==void 0&&T!=null){let K=T;if(Array.isArray(K))K=K.map((Ye)=>Ye);s(t,["safetySettings"],K)}let N=i(n,["tools"]);if(t!==void 0&&N!=null){let K=ye(N);if(Array.isArray(K))K=K.map((Ye)=>fi(ge(Ye)));s(t,["tools"],K)}let I=i(n,["toolConfig"]);if(t!==void 0&&I!=null)s(t,["toolConfig"],Iu(I));let R=i(n,["labels"]);if(t!==void 0&&R!=null)s(t,["labels"],R);let D=i(n,["cachedContent"]);if(t!==void 0&&D!=null)s(t,["cachedContent"],ee(e,D));let B=i(n,["responseModalities"]);if(B!=null)s(r,["responseModalities"],B);let b=i(n,["mediaResolution"]);if(b!=null)s(r,["mediaResolution"],b);let O=i(n,["speechConfig"]);if(O!=null)s(r,["speechConfig"],vn(O));let G=i(n,["audioTimestamp"]);if(G!=null)s(r,["audioTimestamp"],G);let L=i(n,["thinkingConfig"]);if(L!=null)s(r,["thinkingConfig"],L);let Z=i(n,["imageConfig"]);if(Z!=null)s(r,["imageConfig"],Qa(Z));if(i(n,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let _e=i(n,["modelArmorConfig"]);if(t!==void 0&&_e!=null)s(t,["modelArmorConfig"],_e);let ae=i(n,["serviceTier"]);if(t!==void 0&&ae!=null)s(t,["serviceTier"],ae);return r}function oo(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>ve(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],Ca(e,a,o));return o}function io(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>Te(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],va(e,a,o));return o}function ro(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["candidates"]);if(r!=null){let p=r;if(Array.isArray(p))p=p.map((c)=>$l(c));s(t,["candidates"],p)}let l=i(e,["modelVersion"]);if(l!=null)s(t,["modelVersion"],l);let a=i(e,["promptFeedback"]);if(a!=null)s(t,["promptFeedback"],a);let d=i(e,["responseId"]);if(d!=null)s(t,["responseId"],d);let u=i(e,["usageMetadata"]);if(u!=null)s(t,["usageMetadata"],u);let f=i(e,["modelStatus"]);if(f!=null)s(t,["modelStatus"],f);return t}function so(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["candidates"]);if(r!=null){let p=r;if(Array.isArray(p))p=p.map((c)=>c);s(t,["candidates"],p)}let l=i(e,["createTime"]);if(l!=null)s(t,["createTime"],l);let a=i(e,["modelVersion"]);if(a!=null)s(t,["modelVersion"],a);let d=i(e,["promptFeedback"]);if(d!=null)s(t,["promptFeedback"],d);let u=i(e,["responseId"]);if(u!=null)s(t,["responseId"],u);let f=i(e,["usageMetadata"]);if(f!=null)s(t,["usageMetadata"],f);return t}function Sa(e,n,t){let o={};if(i(e,["outputGcsUri"])!==void 0)throw Error("outputGcsUri parameter is not supported in Gemini API.");if(i(e,["negativePrompt"])!==void 0)throw Error("negativePrompt parameter is not supported in Gemini API.");let r=i(e,["numberOfImages"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["aspectRatio"]);if(n!==void 0&&l!=null)s(n,["parameters","aspectRatio"],l);let a=i(e,["guidanceScale"]);if(n!==void 0&&a!=null)s(n,["parameters","guidanceScale"],a);if(i(e,["seed"])!==void 0)throw Error("seed parameter is not supported in Gemini API.");let d=i(e,["safetyFilterLevel"]);if(n!==void 0&&d!=null)s(n,["parameters","safetySetting"],d);let u=i(e,["personGeneration"]);if(n!==void 0&&u!=null)s(n,["parameters","personGeneration"],u);let f=i(e,["includeSafetyAttributes"]);if(n!==void 0&&f!=null)s(n,["parameters","includeSafetyAttributes"],f);let p=i(e,["includeRaiReason"]);if(n!==void 0&&p!=null)s(n,["parameters","includeRaiReason"],p);let c=i(e,["language"]);if(n!==void 0&&c!=null)s(n,["parameters","language"],c);let h=i(e,["outputMimeType"]);if(n!==void 0&&h!=null)s(n,["parameters","outputOptions","mimeType"],h);let m=i(e,["outputCompressionQuality"]);if(n!==void 0&&m!=null)s(n,["parameters","outputOptions","compressionQuality"],m);if(i(e,["addWatermark"])!==void 0)throw Error("addWatermark parameter is not supported in Gemini API.");if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let g=i(e,["imageSize"]);if(n!==void 0&&g!=null)s(n,["parameters","sampleImageSize"],g);if(i(e,["enhancePrompt"])!==void 0)throw Error("enhancePrompt parameter is not supported in Gemini API.");return o}function Ra(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["negativePrompt"]);if(n!==void 0&&l!=null)s(n,["parameters","negativePrompt"],l);let a=i(e,["numberOfImages"]);if(n!==void 0&&a!=null)s(n,["parameters","sampleCount"],a);let d=i(e,["aspectRatio"]);if(n!==void 0&&d!=null)s(n,["parameters","aspectRatio"],d);let u=i(e,["guidanceScale"]);if(n!==void 0&&u!=null)s(n,["parameters","guidanceScale"],u);let f=i(e,["seed"]);if(n!==void 0&&f!=null)s(n,["parameters","seed"],f);let p=i(e,["safetyFilterLevel"]);if(n!==void 0&&p!=null)s(n,["parameters","safetySetting"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["includeSafetyAttributes"]);if(n!==void 0&&h!=null)s(n,["parameters","includeSafetyAttributes"],h);let m=i(e,["includeRaiReason"]);if(n!==void 0&&m!=null)s(n,["parameters","includeRaiReason"],m);let g=i(e,["language"]);if(n!==void 0&&g!=null)s(n,["parameters","language"],g);let y=i(e,["outputMimeType"]);if(n!==void 0&&y!=null)s(n,["parameters","outputOptions","mimeType"],y);let E=i(e,["outputCompressionQuality"]);if(n!==void 0&&E!=null)s(n,["parameters","outputOptions","compressionQuality"],E);let _=i(e,["addWatermark"]);if(n!==void 0&&_!=null)s(n,["parameters","addWatermark"],_);let C=i(e,["labels"]);if(n!==void 0&&C!=null)s(n,["labels"],C);let v=i(e,["imageSize"]);if(n!==void 0&&v!=null)s(n,["parameters","sampleImageSize"],v);let S=i(e,["enhancePrompt"]);if(n!==void 0&&S!=null)s(n,["parameters","enhancePrompt"],S);return o}function Pa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["config"]);if(a!=null)Sa(a,o);return o}function wa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["config"]);if(a!=null)Ra(a,o);return o}function Na(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>Ba(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],ui(l));return t}function Ma(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>be(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],di(l));return t}function Da(e,n,t){let o={},r=i(e,["numberOfVideos"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);if(i(e,["outputGcsUri"])!==void 0)throw Error("outputGcsUri parameter is not supported in Gemini API.");if(i(e,["fps"])!==void 0)throw Error("fps parameter is not supported in Gemini API.");let l=i(e,["durationSeconds"]);if(n!==void 0&&l!=null)s(n,["parameters","durationSeconds"],l);if(i(e,["seed"])!==void 0)throw Error("seed parameter is not supported in Gemini API.");let a=i(e,["aspectRatio"]);if(n!==void 0&&a!=null)s(n,["parameters","aspectRatio"],a);let d=i(e,["resolution"]);if(n!==void 0&&d!=null)s(n,["parameters","resolution"],d);let u=i(e,["personGeneration"]);if(n!==void 0&&u!=null)s(n,["parameters","personGeneration"],u);if(i(e,["pubsubTopic"])!==void 0)throw Error("pubsubTopic parameter is not supported in Gemini API.");let f=i(e,["negativePrompt"]);if(n!==void 0&&f!=null)s(n,["parameters","negativePrompt"],f);let p=i(e,["enhancePrompt"]);if(n!==void 0&&p!=null)s(n,["parameters","enhancePrompt"],p);if(i(e,["generateAudio"])!==void 0)throw Error("generateAudio parameter is not supported in Gemini API.");let c=i(e,["lastFrame"]);if(n!==void 0&&c!=null)s(n,["instances[0]","lastFrame"],$e(c));let h=i(e,["referenceImages"]);if(n!==void 0&&h!=null){let g=h;if(Array.isArray(g))g=g.map((y)=>ku(y));s(n,["instances[0]","referenceImages"],g)}if(i(e,["mask"])!==void 0)throw Error("mask parameter is not supported in Gemini API.");if(i(e,["compressionQuality"])!==void 0)throw Error("compressionQuality parameter is not supported in Gemini API.");if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let m=i(e,["webhookConfig"]);if(n!==void 0&&m!=null)s(n,["webhookConfig"],m);if(i(e,["resizeMode"])!==void 0)throw Error("resizeMode parameter is not supported in Gemini API.");return o}function xa(e,n,t){let o={},r=i(e,["numberOfVideos"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["outputGcsUri"]);if(n!==void 0&&l!=null)s(n,["parameters","storageUri"],l);let a=i(e,["fps"]);if(n!==void 0&&a!=null)s(n,["parameters","fps"],a);let d=i(e,["durationSeconds"]);if(n!==void 0&&d!=null)s(n,["parameters","durationSeconds"],d);let u=i(e,["seed"]);if(n!==void 0&&u!=null)s(n,["parameters","seed"],u);let f=i(e,["aspectRatio"]);if(n!==void 0&&f!=null)s(n,["parameters","aspectRatio"],f);let p=i(e,["resolution"]);if(n!==void 0&&p!=null)s(n,["parameters","resolution"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["pubsubTopic"]);if(n!==void 0&&h!=null)s(n,["parameters","pubsubTopic"],h);let m=i(e,["negativePrompt"]);if(n!==void 0&&m!=null)s(n,["parameters","negativePrompt"],m);let g=i(e,["enhancePrompt"]);if(n!==void 0&&g!=null)s(n,["parameters","enhancePrompt"],g);let y=i(e,["generateAudio"]);if(n!==void 0&&y!=null)s(n,["parameters","generateAudio"],y);let E=i(e,["lastFrame"]);if(n!==void 0&&E!=null)s(n,["instances[0]","lastFrame"],X(E));let _=i(e,["referenceImages"]);if(n!==void 0&&_!=null){let T=_;if(Array.isArray(T))T=T.map((N)=>Fu(N));s(n,["instances[0]","referenceImages"],T)}let C=i(e,["mask"]);if(n!==void 0&&C!=null)s(n,["instances[0]","mask"],Gu(C));let v=i(e,["compressionQuality"]);if(n!==void 0&&v!=null)s(n,["parameters","compressionQuality"],v);let S=i(e,["labels"]);if(n!==void 0&&S!=null)s(n,["labels"],S);if(i(e,["webhookConfig"])!==void 0)throw Error("webhookConfig parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let w=i(e,["resizeMode"]);if(n!==void 0&&w!=null)s(n,["parameters","resizeMode"],w);return o}function Ua(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["metadata"]);if(r!=null)s(t,["metadata"],r);let l=i(e,["done"]);if(l!=null)s(t,["done"],l);let a=i(e,["error"]);if(a!=null)s(t,["error"],a);let d=i(e,["response","generateVideoResponse"]);if(d!=null)s(t,["response"],Fa(d));return t}function La(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["metadata"]);if(r!=null)s(t,["metadata"],r);let l=i(e,["done"]);if(l!=null)s(t,["done"],l);let a=i(e,["error"]);if(a!=null)s(t,["error"],a);let d=i(e,["response"]);if(d!=null)s(t,["response"],Va(d));return t}function Ga(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["image"]);if(a!=null)s(o,["instances[0]","image"],$e(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],ci(d));let u=i(n,["source"]);if(u!=null)qa(u,o);let f=i(n,["config"]);if(f!=null)Da(f,o);return o}function ka(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["image"]);if(a!=null)s(o,["instances[0]","image"],X(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],pi(d));let u=i(n,["source"]);if(u!=null)Ha(u,o);let f=i(n,["config"]);if(f!=null)xa(f,o);return o}function Fa(e,n){let t={},o=i(e,["generatedSamples"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>ba(d));s(t,["generatedVideos"],a)}let r=i(e,["raiMediaFilteredCount"]);if(r!=null)s(t,["raiMediaFilteredCount"],r);let l=i(e,["raiMediaFilteredReasons"]);if(l!=null)s(t,["raiMediaFilteredReasons"],l);return t}function Va(e,n){let t={},o=i(e,["videos"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>$a(d));s(t,["generatedVideos"],a)}let r=i(e,["raiMediaFilteredCount"]);if(r!=null)s(t,["raiMediaFilteredCount"],r);let l=i(e,["raiMediaFilteredReasons"]);if(l!=null)s(t,["raiMediaFilteredReasons"],l);return t}function qa(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],$e(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],ci(a));return o}function Ha(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],X(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],pi(a));return o}function Ba(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],Za(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],ui(l));return t}function be(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],ai(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],di(l));let a=i(e,["prompt"]);if(a!=null)s(t,["enhancedPrompt"],a);return t}function Ja(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["mask"],ai(o));let r=i(e,["labels"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(t,["labels"],l)}return t}function ba(e,n){let t={},o=i(e,["video"]);if(o!=null)s(t,["video"],Uu(o));return t}function $a(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["video"],Lu(o));return t}function Oa(e,n){let t={},o=i(e,["modelSelectionConfig"]);if(o!=null)s(t,["modelConfig"],o);let r=i(e,["responseJsonSchema"]);if(r!=null)s(t,["responseJsonSchema"],r);let l=i(e,["audioTimestamp"]);if(l!=null)s(t,["audioTimestamp"],l);let a=i(e,["candidateCount"]);if(a!=null)s(t,["candidateCount"],a);let d=i(e,["enableAffectiveDialog"]);if(d!=null)s(t,["enableAffectiveDialog"],d);let u=i(e,["frequencyPenalty"]);if(u!=null)s(t,["frequencyPenalty"],u);let f=i(e,["logprobs"]);if(f!=null)s(t,["logprobs"],f);let p=i(e,["maxOutputTokens"]);if(p!=null)s(t,["maxOutputTokens"],p);let c=i(e,["mediaResolution"]);if(c!=null)s(t,["mediaResolution"],c);let h=i(e,["presencePenalty"]);if(h!=null)s(t,["presencePenalty"],h);let m=i(e,["responseLogprobs"]);if(m!=null)s(t,["responseLogprobs"],m);let g=i(e,["responseMimeType"]);if(g!=null)s(t,["responseMimeType"],g);let y=i(e,["responseModalities"]);if(y!=null)s(t,["responseModalities"],y);let E=i(e,["responseSchema"]);if(E!=null)s(t,["responseSchema"],E);let _=i(e,["routingConfig"]);if(_!=null)s(t,["routingConfig"],_);let C=i(e,["seed"]);if(C!=null)s(t,["seed"],C);let v=i(e,["speechConfig"]);if(v!=null)s(t,["speechConfig"],v);let S=i(e,["stopSequences"]);if(S!=null)s(t,["stopSequences"],S);let w=i(e,["temperature"]);if(w!=null)s(t,["temperature"],w);let T=i(e,["thinkingConfig"]);if(T!=null)s(t,["thinkingConfig"],T);let N=i(e,["topK"]);if(N!=null)s(t,["topK"],N);let I=i(e,["topP"]);if(I!=null)s(t,["topP"],I);if(i(e,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Ka(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function Ya(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function Wa(e,n){let t={},o=i(e,["authConfig"]);if(o!=null)s(t,["authConfig"],Jl(o));let r=i(e,["enableWidget"]);if(r!=null)s(t,["enableWidget"],r);return t}function za(e,n){let t={},o=i(e,["searchTypes"]);if(o!=null)s(t,["searchTypes"],o);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let r=i(e,["timeRangeFilter"]);if(r!=null)s(t,["timeRangeFilter"],r);return t}function Xa(e,n){let t={},o=i(e,["aspectRatio"]);if(o!=null)s(t,["aspectRatio"],o);let r=i(e,["imageSize"]);if(r!=null)s(t,["imageSize"],r);if(i(e,["personGeneration"])!==void 0)throw Error("personGeneration parameter is not supported in Gemini API.");if(i(e,["prominentPeople"])!==void 0)throw Error("prominentPeople parameter is not supported in Gemini API.");if(i(e,["outputMimeType"])!==void 0)throw Error("outputMimeType parameter is not supported in Gemini API.");if(i(e,["outputCompressionQuality"])!==void 0)throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(i(e,["imageOutputOptions"])!==void 0)throw Error("imageOutputOptions parameter is not supported in Gemini API.");return t}function Qa(e,n){let t={},o=i(e,["aspectRatio"]);if(o!=null)s(t,["aspectRatio"],o);let r=i(e,["imageSize"]);if(r!=null)s(t,["imageSize"],r);let l=i(e,["personGeneration"]);if(l!=null)s(t,["personGeneration"],l);let a=i(e,["prominentPeople"]);if(a!=null)s(t,["prominentPeople"],a);let d=i(e,["outputMimeType"]);if(d!=null)s(t,["imageOutputOptions","mimeType"],d);let u=i(e,["outputCompressionQuality"]);if(u!=null)s(t,["imageOutputOptions","compressionQuality"],u);let f=i(e,["imageOutputOptions"]);if(f!=null)s(t,["imageOutputOptions"],f);return t}function Za(e,n){let t={},o=i(e,["bytesBase64Encoded"]);if(o!=null)s(t,["imageBytes"],se(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function ai(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["bytesBase64Encoded"]);if(r!=null)s(t,["imageBytes"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function $e(e,n){let t={};if(i(e,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");let o=i(e,["imageBytes"]);if(o!=null)s(t,["bytesBase64Encoded"],se(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function X(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["imageBytes"]);if(r!=null)s(t,["bytesBase64Encoded"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function ja(e,n,t,o){let r={},l=i(n,["pageSize"]);if(t!==void 0&&l!=null)s(t,["_query","pageSize"],l);let a=i(n,["pageToken"]);if(t!==void 0&&a!=null)s(t,["_query","pageToken"],a);let d=i(n,["filter"]);if(t!==void 0&&d!=null)s(t,["_query","filter"],d);let u=i(n,["queryBase"]);if(t!==void 0&&u!=null)s(t,["_url","models_url"],Xo(e,u));return r}function eu(e,n,t,o){let r={},l=i(n,["pageSize"]);if(t!==void 0&&l!=null)s(t,["_query","pageSize"],l);let a=i(n,["pageToken"]);if(t!==void 0&&a!=null)s(t,["_query","pageToken"],a);let d=i(n,["filter"]);if(t!==void 0&&d!=null)s(t,["_query","filter"],d);let u=i(n,["queryBase"]);if(t!==void 0&&u!=null)s(t,["_url","models_url"],Xo(e,u));return r}function nu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)ja(e,r,o);return o}function tu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)eu(e,r,o);return o}function ou(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["_self"]);if(l!=null){let a=Qo(l);if(Array.isArray(a))a=a.map((d)=>fn(d));s(t,["models"],a)}return t}function iu(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["_self"]);if(l!=null){let a=Qo(l);if(Array.isArray(a))a=a.map((d)=>cn(d));s(t,["models"],a)}return t}function ru(e,n){let t={},o=i(e,["maskMode"]);if(o!=null)s(t,["maskMode"],o);let r=i(e,["segmentationClasses"]);if(r!=null)s(t,["maskClasses"],r);let l=i(e,["maskDilation"]);if(l!=null)s(t,["dilation"],l);return t}function fn(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["displayName"]);if(r!=null)s(t,["displayName"],r);let l=i(e,["description"]);if(l!=null)s(t,["description"],l);let a=i(e,["version"]);if(a!=null)s(t,["version"],a);let d=i(e,["_self"]);if(d!=null)s(t,["tunedModelInfo"],vu(d));let u=i(e,["inputTokenLimit"]);if(u!=null)s(t,["inputTokenLimit"],u);let f=i(e,["outputTokenLimit"]);if(f!=null)s(t,["outputTokenLimit"],f);let p=i(e,["supportedGenerationMethods"]);if(p!=null)s(t,["supportedActions"],p);let c=i(e,["temperature"]);if(c!=null)s(t,["temperature"],c);let h=i(e,["maxTemperature"]);if(h!=null)s(t,["maxTemperature"],h);let m=i(e,["topP"]);if(m!=null)s(t,["topP"],m);let g=i(e,["topK"]);if(g!=null)s(t,["topK"],g);let y=i(e,["thinking"]);if(y!=null)s(t,["thinking"],y);return t}function cn(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["displayName"]);if(r!=null)s(t,["displayName"],r);let l=i(e,["description"]);if(l!=null)s(t,["description"],l);let a=i(e,["versionId"]);if(a!=null)s(t,["version"],a);let d=i(e,["deployedModels"]);if(d!=null){let h=d;if(Array.isArray(h))h=h.map((m)=>ga(m));s(t,["endpoints"],h)}let u=i(e,["labels"]);if(u!=null)s(t,["labels"],u);let f=i(e,["_self"]);if(f!=null)s(t,["tunedModelInfo"],Su(f));let p=i(e,["defaultCheckpointId"]);if(p!=null)s(t,["defaultCheckpointId"],p);let c=i(e,["checkpoints"]);if(c!=null){let h=c;if(Array.isArray(h))h=h.map((m)=>m);s(t,["checkpoints"],h)}return t}function su(e,n){let t={},o=i(e,["mediaResolution"]);if(o!=null)s(t,["mediaResolution"],o);let r=i(e,["codeExecutionResult"]);if(r!=null)s(t,["codeExecutionResult"],r);let l=i(e,["executableCode"]);if(l!=null)s(t,["executableCode"],l);let a=i(e,["fileData"]);if(a!=null)s(t,["fileData"],ya(a));let d=i(e,["functionCall"]);if(d!=null)s(t,["functionCall"],Ea(d));let u=i(e,["functionResponse"]);if(u!=null)s(t,["functionResponse"],u);let f=i(e,["inlineData"]);if(f!=null)s(t,["inlineData"],bl(f));let p=i(e,["text"]);if(p!=null)s(t,["text"],p);let c=i(e,["thought"]);if(c!=null)s(t,["thought"],c);let h=i(e,["thoughtSignature"]);if(h!=null)s(t,["thoughtSignature"],h);let m=i(e,["videoMetadata"]);if(m!=null)s(t,["videoMetadata"],m);let g=i(e,["toolCall"]);if(g!=null)s(t,["toolCall"],g);let y=i(e,["toolResponse"]);if(y!=null)s(t,["toolResponse"],y);let E=i(e,["partMetadata"]);if(E!=null)s(t,["partMetadata"],E);return t}function lu(e,n){let t={},o=i(e,["mediaResolution"]);if(o!=null)s(t,["mediaResolution"],o);let r=i(e,["codeExecutionResult"]);if(r!=null)s(t,["codeExecutionResult"],r);let l=i(e,["executableCode"]);if(l!=null)s(t,["executableCode"],l);let a=i(e,["fileData"]);if(a!=null)s(t,["fileData"],a);let d=i(e,["functionCall"]);if(d!=null)s(t,["functionCall"],d);let u=i(e,["functionResponse"]);if(u!=null)s(t,["functionResponse"],u);let f=i(e,["inlineData"]);if(f!=null)s(t,["inlineData"],f);let p=i(e,["text"]);if(p!=null)s(t,["text"],p);let c=i(e,["thought"]);if(c!=null)s(t,["thought"],c);let h=i(e,["thoughtSignature"]);if(h!=null)s(t,["thoughtSignature"],h);let m=i(e,["videoMetadata"]);if(m!=null)s(t,["videoMetadata"],m);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function au(e,n){let t={},o=i(e,["productImage"]);if(o!=null)s(t,["image"],X(o));return t}function uu(e,n,t){let o={},r=i(e,["numberOfImages"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["baseSteps"]);if(n!==void 0&&l!=null)s(n,["parameters","baseSteps"],l);let a=i(e,["outputGcsUri"]);if(n!==void 0&&a!=null)s(n,["parameters","storageUri"],a);let d=i(e,["seed"]);if(n!==void 0&&d!=null)s(n,["parameters","seed"],d);let u=i(e,["safetyFilterLevel"]);if(n!==void 0&&u!=null)s(n,["parameters","safetySetting"],u);let f=i(e,["personGeneration"]);if(n!==void 0&&f!=null)s(n,["parameters","personGeneration"],f);let p=i(e,["addWatermark"]);if(n!==void 0&&p!=null)s(n,["parameters","addWatermark"],p);let c=i(e,["outputMimeType"]);if(n!==void 0&&c!=null)s(n,["parameters","outputOptions","mimeType"],c);let h=i(e,["outputCompressionQuality"]);if(n!==void 0&&h!=null)s(n,["parameters","outputOptions","compressionQuality"],h);let m=i(e,["enhancePrompt"]);if(n!==void 0&&m!=null)s(n,["parameters","enhancePrompt"],m);let g=i(e,["labels"]);if(n!==void 0&&g!=null)s(n,["labels"],g);return o}function du(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["source"]);if(l!=null)cu(l,o);let a=i(n,["config"]);if(a!=null)uu(a,o);return o}function fu(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>be(l));s(t,["generatedImages"],r)}return t}function cu(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["personImage"]);if(n!==void 0&&l!=null)s(n,["instances[0]","personImage","image"],X(l));let a=i(e,["productImages"]);if(n!==void 0&&a!=null){let d=a;if(Array.isArray(d))d=d.map((u)=>au(u));s(n,["instances[0]","productImages"],d)}return o}function pu(e,n){let t={},o=i(e,["referenceImage"]);if(o!=null)s(t,["referenceImage"],X(o));let r=i(e,["referenceId"]);if(r!=null)s(t,["referenceId"],r);let l=i(e,["referenceType"]);if(l!=null)s(t,["referenceType"],l);let a=i(e,["maskImageConfig"]);if(a!=null)s(t,["maskImageConfig"],ru(a));let d=i(e,["controlImageConfig"]);if(d!=null)s(t,["controlImageConfig"],Xl(d));let u=i(e,["styleImageConfig"]);if(u!=null)s(t,["styleImageConfig"],u);let f=i(e,["subjectImageConfig"]);if(f!=null)s(t,["subjectImageConfig"],f);return t}function ui(e,n){let t={},o=i(e,["safetyAttributes","categories"]);if(o!=null)s(t,["categories"],o);let r=i(e,["safetyAttributes","scores"]);if(r!=null)s(t,["scores"],r);let l=i(e,["contentType"]);if(l!=null)s(t,["contentType"],l);return t}function di(e,n){let t={},o=i(e,["safetyAttributes","categories"]);if(o!=null)s(t,["categories"],o);let r=i(e,["safetyAttributes","scores"]);if(r!=null)s(t,["scores"],r);let l=i(e,["contentType"]);if(l!=null)s(t,["contentType"],l);return t}function hu(e,n){let t={},o=i(e,["category"]);if(o!=null)s(t,["category"],o);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let r=i(e,["threshold"]);if(r!=null)s(t,["threshold"],r);return t}function mu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],X(o));return t}function gu(e,n,t){let o={},r=i(e,["mode"]);if(n!==void 0&&r!=null)s(n,["parameters","mode"],r);let l=i(e,["maxPredictions"]);if(n!==void 0&&l!=null)s(n,["parameters","maxPredictions"],l);let a=i(e,["confidenceThreshold"]);if(n!==void 0&&a!=null)s(n,["parameters","confidenceThreshold"],a);let d=i(e,["maskDilation"]);if(n!==void 0&&d!=null)s(n,["parameters","maskDilation"],d);let u=i(e,["binaryColorThreshold"]);if(n!==void 0&&u!=null)s(n,["parameters","binaryColorThreshold"],u);let f=i(e,["labels"]);if(n!==void 0&&f!=null)s(n,["labels"],f);return o}function yu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["source"]);if(l!=null)Tu(l,o);let a=i(n,["config"]);if(a!=null)gu(a,o);return o}function Eu(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>Ja(l));s(t,["generatedMasks"],r)}return t}function Tu(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],X(l));let a=i(e,["scribbleImage"]);if(n!==void 0&&a!=null)s(n,["instances[0]","scribble"],mu(a));return o}function _u(e,n){let t={},o=i(e,["retrievalConfig"]);if(o!=null)s(t,["retrievalConfig"],o);let r=i(e,["functionCallingConfig"]);if(r!=null)s(t,["functionCallingConfig"],Ta(r));let l=i(e,["includeServerSideToolInvocations"]);if(l!=null)s(t,["includeServerSideToolInvocations"],l);return t}function Iu(e,n){let t={},o=i(e,["retrievalConfig"]);if(o!=null)s(t,["retrievalConfig"],o);let r=i(e,["functionCallingConfig"]);if(r!=null)s(t,["functionCallingConfig"],r);if(i(e,["includeServerSideToolInvocations"])!==void 0)throw Error("includeServerSideToolInvocations parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Au(e,n){let t={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let o=i(e,["computerUse"]);if(o!=null)s(t,["computerUse"],o);let r=i(e,["fileSearch"]);if(r!=null)s(t,["fileSearch"],r);let l=i(e,["googleSearch"]);if(l!=null)s(t,["googleSearch"],za(l));let a=i(e,["googleMaps"]);if(a!=null)s(t,["googleMaps"],Wa(a));let d=i(e,["codeExecution"]);if(d!=null)s(t,["codeExecution"],d);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>m);s(t,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(t,["googleSearchRetrieval"],f);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let p=i(e,["urlContext"]);if(p!=null)s(t,["urlContext"],p);let c=i(e,["mcpServers"]);if(c!=null){let h=c;if(Array.isArray(h))h=h.map((m)=>m);s(t,["mcpServers"],h)}return t}function fi(e,n){let t={},o=i(e,["retrieval"]);if(o!=null)s(t,["retrieval"],o);let r=i(e,["computerUse"]);if(r!=null)s(t,["computerUse"],r);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["googleSearch"]);if(l!=null)s(t,["googleSearch"],l);let a=i(e,["googleMaps"]);if(a!=null)s(t,["googleMaps"],a);let d=i(e,["codeExecution"]);if(d!=null)s(t,["codeExecution"],d);let u=i(e,["enterpriseWebSearch"]);if(u!=null)s(t,["enterpriseWebSearch"],u);let f=i(e,["functionDeclarations"]);if(f!=null){let m=f;if(Array.isArray(m))m=m.map((g)=>Ia(g));s(t,["functionDeclarations"],m)}let p=i(e,["googleSearchRetrieval"]);if(p!=null)s(t,["googleSearchRetrieval"],p);let c=i(e,["parallelAiSearch"]);if(c!=null)s(t,["parallelAiSearch"],c);let h=i(e,["urlContext"]);if(h!=null)s(t,["urlContext"],h);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function vu(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["createTime"]);if(r!=null)s(t,["createTime"],r);let l=i(e,["updateTime"]);if(l!=null)s(t,["updateTime"],l);return t}function Su(e,n){let t={},o=i(e,["labels","google-vertex-llm-tuning-base-model-id"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["createTime"]);if(r!=null)s(t,["createTime"],r);let l=i(e,["updateTime"]);if(l!=null)s(t,["updateTime"],l);return t}function Ru(e,n,t){let o={},r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["description"]);if(n!==void 0&&l!=null)s(n,["description"],l);let a=i(e,["defaultCheckpointId"]);if(n!==void 0&&a!=null)s(n,["defaultCheckpointId"],a);return o}function Pu(e,n,t){let o={},r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["description"]);if(n!==void 0&&l!=null)s(n,["description"],l);let a=i(e,["defaultCheckpointId"]);if(n!==void 0&&a!=null)s(n,["defaultCheckpointId"],a);return o}function wu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));let l=i(n,["config"]);if(l!=null)Ru(l,o);return o}function Nu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["config"]);if(l!=null)Pu(l,o);return o}function Mu(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["safetyFilterLevel"]);if(n!==void 0&&l!=null)s(n,["parameters","safetySetting"],l);let a=i(e,["personGeneration"]);if(n!==void 0&&a!=null)s(n,["parameters","personGeneration"],a);let d=i(e,["includeRaiReason"]);if(n!==void 0&&d!=null)s(n,["parameters","includeRaiReason"],d);let u=i(e,["outputMimeType"]);if(n!==void 0&&u!=null)s(n,["parameters","outputOptions","mimeType"],u);let f=i(e,["outputCompressionQuality"]);if(n!==void 0&&f!=null)s(n,["parameters","outputOptions","compressionQuality"],f);let p=i(e,["enhanceInputImage"]);if(n!==void 0&&p!=null)s(n,["parameters","upscaleConfig","enhanceInputImage"],p);let c=i(e,["imagePreservationFactor"]);if(n!==void 0&&c!=null)s(n,["parameters","upscaleConfig","imagePreservationFactor"],c);let h=i(e,["labels"]);if(n!==void 0&&h!=null)s(n,["labels"],h);let m=i(e,["numberOfImages"]);if(n!==void 0&&m!=null)s(n,["parameters","sampleCount"],m);let g=i(e,["mode"]);if(n!==void 0&&g!=null)s(n,["parameters","mode"],g);return o}function Du(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["image"]);if(l!=null)s(o,["instances[0]","image"],X(l));let a=i(n,["upscaleFactor"]);if(a!=null)s(o,["parameters","upscaleConfig","upscaleFactor"],a);let d=i(n,["config"]);if(d!=null)Mu(d,o);return o}function xu(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>be(a));s(t,["generatedImages"],l)}return t}function Uu(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["encodedVideo"]);if(r!=null)s(t,["videoBytes"],se(r));let l=i(e,["encoding"]);if(l!=null)s(t,["mimeType"],l);return t}function Lu(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["bytesBase64Encoded"]);if(r!=null)s(t,["videoBytes"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function Gu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["_self"],X(o));let r=i(e,["maskMode"]);if(r!=null)s(t,["maskMode"],r);return t}function ku(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],$e(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function Fu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],X(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function ci(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["videoBytes"]);if(r!=null)s(t,["encodedVideo"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["encoding"],l);return t}function pi(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["videoBytes"]);if(r!=null)s(t,["bytesBase64Encoded"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function Vu(e,n,t){let o={},r=i(n,["displayName"]);if(t!==void 0&&r!=null)s(t,["displayName"],r);let l=i(n,["embeddingModel"]);if(t!==void 0&&l!=null)s(t,["embeddingModel"],M(e,l));return o}function qu(e,n){let t={},o=i(n,["config"]);if(o!=null)Vu(e,o,t);return t}function Hu(e,n){let t={},o=i(e,["force"]);if(n!==void 0&&o!=null)s(n,["_query","force"],o);return t}function Bu(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);let o=i(e,["config"]);if(o!=null)Hu(o,n);return n}function Ju(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);return n}function bu(e,n){let t={},o=i(e,["customMetadata"]);if(n!==void 0&&o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>a);s(n,["customMetadata"],l)}let r=i(e,["chunkingConfig"]);if(n!==void 0&&r!=null)s(n,["chunkingConfig"],r);return t}function $u(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],Ku(a));return n}function Ou(e){let n={},t=i(e,["fileSearchStoreName"]);if(t!=null)s(n,["_url","file_search_store_name"],t);let o=i(e,["fileName"]);if(o!=null)s(n,["fileName"],o);let r=i(e,["config"]);if(r!=null)bu(r,n);return n}function Ku(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function Yu(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function Wu(e){let n={},t=i(e,["config"]);if(t!=null)Yu(t,n);return n}function zu(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["fileSearchStores"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["fileSearchStores"],l)}return n}function hi(e,n){let t={},o=i(e,["mimeType"]);if(n!==void 0&&o!=null)s(n,["mimeType"],o);let r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["customMetadata"]);if(n!==void 0&&l!=null){let d=l;if(Array.isArray(d))d=d.map((u)=>u);s(n,["customMetadata"],d)}let a=i(e,["chunkingConfig"]);if(n!==void 0&&a!=null)s(n,["chunkingConfig"],a);return t}function Xu(e){let n={},t=i(e,["fileSearchStoreName"]);if(t!=null)s(n,["_url","file_search_store_name"],t);let o=i(e,["config"]);if(o!=null)hi(o,n);return n}function Qu(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}var Zu="Content-Type",ju="X-Server-Timeout",ed="User-Agent",pn="x-goog-api-client",nd="1.52.0",td=`google-genai-sdk/${nd}`,od="v1beta1",id="v1beta",rd=new Set(["us","eu"]),sd=5,ld=[408,429,500,502,503,504];class mi{constructor(e){var n,t,o;if(this.clientOptions=Object.assign({},e),this.customBaseUrl=(n=e.httpOptions)===null||n===void 0?void 0:n.baseUrl,this.clientOptions.vertexai){if(this.clientOptions.project&&this.clientOptions.location)this.clientOptions.apiKey=void 0;else if(this.clientOptions.apiKey)this.clientOptions.project=void 0,this.clientOptions.location=void 0}let r={};if(this.clientOptions.vertexai){if(!this.clientOptions.location&&!this.clientOptions.apiKey&&!this.customBaseUrl)this.clientOptions.location="global";if(!(this.clientOptions.project&&this.clientOptions.location||this.clientOptions.apiKey)&&!this.customBaseUrl)throw Error("Authentication is not set up. Please provide either a project and location, or an API key, or a custom base URL.");let a=e.project&&e.location||!!e.apiKey;if(this.customBaseUrl&&!a)r.baseUrl=this.customBaseUrl,this.clientOptions.project=void 0,this.clientOptions.location=void 0;else if(this.clientOptions.apiKey||this.clientOptions.location==="global")r.baseUrl="https://aiplatform.googleapis.com/";else if(this.clientOptions.project&&this.clientOptions.location&&rd.has(this.clientOptions.location))r.baseUrl=`https://aiplatform.${this.clientOptions.location}.rep.googleapis.com/`;else if(this.clientOptions.project&&this.clientOptions.location)r.baseUrl=`https://${this.clientOptions.location}-aiplatform.googleapis.com/`;r.apiVersion=(t=this.clientOptions.apiVersion)!==null&&t!==void 0?t:od}else{if(!this.clientOptions.apiKey)console.warn("API key should be set when using the Gemini API.");r.apiVersion=(o=this.clientOptions.apiVersion)!==null&&o!==void 0?o:id,r.baseUrl="https://generativelanguage.googleapis.com/"}if(r.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=r,e.httpOptions)this.clientOptions.httpOptions=this.patchHttpOptions(r,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 Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw 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;else throw Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw Error("HTTP options are not correctly set.");let t=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];if(e.apiVersion&&e.apiVersion!=="")t.push(e.apiVersion);return t.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 Error("HTTP options are not correctly set.")}constructUrl(e,n,t){let o=[this.getRequestUrlInternal(n)];if(t)o.push(this.getBaseResourcePath());if(e!=="")o.push(e);return new URL(`${o.join("/")}`)}shouldPrependVertexProjectPath(e,n){if(n.baseUrl&&n.baseUrlResourceScope===tc.COLLECTION)return!1;if(this.clientOptions.apiKey)return!1;if(!this.clientOptions.vertexai)return!1;if(e.path.startsWith("projects/"))return!1;if(e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))return!1;return!0}async request(e){let n=this.clientOptions.httpOptions;if(e.httpOptions)n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions);let t=this.shouldPrependVertexProjectPath(e,n),o=this.constructUrl(e.path,n,t);if(e.queryParams)for(let[l,a]of Object.entries(e.queryParams))o.searchParams.append(l,String(a));let r={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw Error("Request body should be empty for GET request, but got non empty request body")}else r.body=e.body;return r=await this.includeExtraHttpOptionsToRequestInit(r,n,o.toString(),e.abortSignal),this.unaryApiCall(o,r,e.httpMethod)}patchHttpOptions(e,n){let t=JSON.parse(JSON.stringify(e));for(let[o,r]of Object.entries(n))if(typeof r==="object")t[o]=Object.assign(Object.assign({},t[o]),r);else if(r!==void 0)t[o]=r;return t}async requestStream(e){let n=this.clientOptions.httpOptions;if(e.httpOptions)n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions);let t=this.shouldPrependVertexProjectPath(e,n),o=this.constructUrl(e.path,n,t);if(!o.searchParams.has("alt")||o.searchParams.get("alt")!=="sse")o.searchParams.set("alt","sse");let r={};return r.body=e.body,r=await this.includeExtraHttpOptionsToRequestInit(r,n,o.toString(),e.abortSignal),this.streamApiCall(o,r,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,n,t,o){if(n&&n.timeout||o){let r=new AbortController,l=r.signal;if(n.timeout&&(n===null||n===void 0?void 0:n.timeout)>0){let a=setTimeout(()=>r.abort(),n.timeout);if(a&&typeof a.unref==="function")a.unref()}if(o)o.addEventListener("abort",()=>{r.abort()});e.signal=l}if(n&&n.extraBody!==null)ad(e,n.extraBody);return e.headers=await this.getHeadersInternal(n,t),e}async unaryApiCall(e,n,t){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:t})).then(async(o)=>(await lo(o),new de(o))).catch((o)=>{if(o instanceof Error)throw o;else throw Error(JSON.stringify(o))})}async streamApiCall(e,n,t){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:t})).then(async(o)=>(await lo(o),this.processStreamResponse(o))).catch((o)=>{if(o instanceof Error)throw o;else throw Error(JSON.stringify(o))})}processStreamResponse(e){return W(this,arguments,function*(){var t;let o=(t=e===null||e===void 0?void 0:e.body)===null||t===void 0?void 0:t.getReader(),r=new TextDecoder("utf-8");if(!o)throw Error("Response body is empty");try{let l="",a="data:",d=[`
2
+ import{He,po,mo}from"./chunk-fyb6t7ct.js";import{Cu,bc}from"./chunk-b1bkd2p4.js";import{H}from"./chunk-tjavzarz.js";var Ve=H(Cu(),1),vo=H(bc(),1);import{createWriteStream as Zi}from"fs";import*as qe from"fs/promises";import{writeFile as ji}from"fs/promises";import{Readable as er}from"stream";import{finished as nr}from"stream/promises";import*as So from"ws";import*as Ro from"path";var tr=void 0,or=void 0;function ir(){return{geminiUrl:tr,vertexUrl:or}}function rr(e,n,t,o){var r,l;if(!(e===null||e===void 0?void 0:e.baseUrl)){let a=ir();if(n)return(r=a.vertexUrl)!==null&&r!==void 0?r:t;else return(l=a.geminiUrl)!==null&&l!==void 0?l:o}return e.baseUrl}class Q{}function A(e,n){let t=/\{([^}]+)\}/g;return e.replace(t,(o,r)=>{if(Object.prototype.hasOwnProperty.call(n,r)){let l=n[r];return l!==void 0&&l!==null?String(l):""}else throw Error(`Key '${r}' not found in valueMap.`)})}function s(e,n,t){for(let l=0;l<n.length-1;l++){let a=n[l];if(a.endsWith("[]")){let d=a.slice(0,-2);if(!(d in e))if(Array.isArray(t))e[d]=Array.from({length:t.length},()=>({}));else throw Error(`Value must be a list given an array path ${a}`);if(Array.isArray(e[d])){let u=e[d];if(Array.isArray(t))for(let f=0;f<u.length;f++){let p=u[f];s(p,n.slice(l+1),t[f])}else for(let f of u)s(f,n.slice(l+1),t)}return}else if(a.endsWith("[0]")){let d=a.slice(0,-3);if(!(d in e))e[d]=[{}];let u=e[d];s(u[0],n.slice(l+1),t);return}if(!e[a]||typeof e[a]!=="object")e[a]={};e=e[a]}let o=n[n.length-1],r=e[o];if(r!==void 0){if(!t||typeof t==="object"&&Object.keys(t).length===0)return;if(t===r)return;if(typeof r==="object"&&typeof t==="object"&&r!==null&&t!==null)Object.assign(r,t);else throw Error(`Cannot set value for an existing key. Key: ${o}`)}else if(o==="_self"&&typeof t==="object"&&t!==null&&!Array.isArray(t))Object.assign(e,t);else e[o]=t}function i(e,n,t=void 0){try{if(n.length===1&&n[0]==="_self")return e;for(let o=0;o<n.length;o++){if(typeof e!=="object"||e===null)return t;let r=n[o];if(r.endsWith("[]")){let l=r.slice(0,-2);if(l in e){let a=e[l];if(!Array.isArray(a))return t;return a.map((d)=>i(d,n.slice(o+1),t))}else return t}else e=e[r]}return e}catch(o){if(o instanceof TypeError)return t;throw o}}function sr(e,n){for(let[t,o]of Object.entries(n)){let r=t.split("."),l=o.split("."),a=new Set,d=-1;for(let u=0;u<r.length;u++)if(r[u]==="*"){d=u;break}if(d!==-1&&l.length>d)for(let u=d;u<l.length;u++){let f=l[u];if(f!=="*"&&!f.endsWith("[]")&&!f.endsWith("[0]"))a.add(f)}Qe(e,r,l,0,a)}}function Qe(e,n,t,o,r){if(o>=n.length)return;if(typeof e!=="object"||e===null)return;let l=n[o];if(l.endsWith("[]")){let a=l.slice(0,-2),d=e;if(a in d&&Array.isArray(d[a]))for(let u of d[a])Qe(u,n,t,o+1,r)}else if(l==="*"){if(typeof e==="object"&&e!==null&&!Array.isArray(e)){let a=e,d=Object.keys(a).filter((f)=>!f.startsWith("_")&&!r.has(f)),u={};for(let f of d)u[f]=a[f];for(let[f,p]of Object.entries(u)){let c=[];for(let h of t.slice(o))if(h==="*")c.push(f);else c.push(h);s(a,c,p)}for(let f of d)delete a[f]}}else{let a=e;if(l in a)Qe(a[l],n,t,o+1,r)}}function Tn(e){if(typeof e!=="string")throw Error("fromImageBytes must be a string");return e}function lr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["operationName"],t);let o=i(e,["resourceName"]);if(o!=null)s(n,["_url","resourceName"],o);return n}function ar(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response","generateVideoResponse"]);if(a!=null)s(n,["response"],dr(a));return n}function ur(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],fr(a));return n}function dr(e){let n={},t=i(e,["generatedSamples"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>cr(a));s(n,["generatedVideos"],l)}let o=i(e,["raiMediaFilteredCount"]);if(o!=null)s(n,["raiMediaFilteredCount"],o);let r=i(e,["raiMediaFilteredReasons"]);if(r!=null)s(n,["raiMediaFilteredReasons"],r);return n}function fr(e){let n={},t=i(e,["videos"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>pr(a));s(n,["generatedVideos"],l)}let o=i(e,["raiMediaFilteredCount"]);if(o!=null)s(n,["raiMediaFilteredCount"],o);let r=i(e,["raiMediaFilteredReasons"]);if(r!=null)s(n,["raiMediaFilteredReasons"],r);return n}function cr(e){let n={},t=i(e,["video"]);if(t!=null)s(n,["video"],Tr(t));return n}function pr(e){let n={},t=i(e,["_self"]);if(t!=null)s(n,["video"],_r(t));return n}function hr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function mr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function gr(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],yr(a));return n}function yr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function _n(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],Er(a));return n}function Er(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function Tr(e){let n={},t=i(e,["uri"]);if(t!=null)s(n,["uri"],t);let o=i(e,["encodedVideo"]);if(o!=null)s(n,["videoBytes"],Tn(o));let r=i(e,["encoding"]);if(r!=null)s(n,["mimeType"],r);return n}function _r(e){let n={},t=i(e,["gcsUri"]);if(t!=null)s(n,["uri"],t);let o=i(e,["bytesBase64Encoded"]);if(o!=null)s(n,["videoBytes"],Tn(o));let r=i(e,["mimeType"]);if(r!=null)s(n,["mimeType"],r);return n}var On;(function(e){e.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",e.PYTHON="PYTHON"})(On||(On={}));var Kn;(function(e){e.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",e.OUTCOME_OK="OUTCOME_OK",e.OUTCOME_FAILED="OUTCOME_FAILED",e.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(Kn||(Kn={}));var Yn;(function(e){e.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",e.SILENT="SILENT",e.WHEN_IDLE="WHEN_IDLE",e.INTERRUPT="INTERRUPT"})(Yn||(Yn={}));var ne;(function(e){e.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",e.STRING="STRING",e.NUMBER="NUMBER",e.INTEGER="INTEGER",e.BOOLEAN="BOOLEAN",e.ARRAY="ARRAY",e.OBJECT="OBJECT",e.NULL="NULL"})(ne||(ne={}));var Wn;(function(e){e.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",e.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Wn||(Wn={}));var zn;(function(e){e.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",e.NO_AUTH="NO_AUTH",e.API_KEY_AUTH="API_KEY_AUTH",e.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",e.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",e.OAUTH="OAUTH",e.OIDC_AUTH="OIDC_AUTH"})(zn||(zn={}));var Xn;(function(e){e.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",e.HTTP_IN_QUERY="HTTP_IN_QUERY",e.HTTP_IN_HEADER="HTTP_IN_HEADER",e.HTTP_IN_PATH="HTTP_IN_PATH",e.HTTP_IN_BODY="HTTP_IN_BODY",e.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(Xn||(Xn={}));var Qn;(function(e){e.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",e.SIMPLE_SEARCH="SIMPLE_SEARCH",e.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Qn||(Qn={}));var Zn;(function(e){e.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",e.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",e.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",e.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(Zn||(Zn={}));var jn;(function(e){e.UNSPECIFIED="UNSPECIFIED",e.BLOCKING="BLOCKING",e.NON_BLOCKING="NON_BLOCKING"})(jn||(jn={}));var et;(function(e){e.MODE_UNSPECIFIED="MODE_UNSPECIFIED",e.MODE_DYNAMIC="MODE_DYNAMIC"})(et||(et={}));var re;(function(e){e.MODE_UNSPECIFIED="MODE_UNSPECIFIED",e.AUTO="AUTO",e.ANY="ANY",e.NONE="NONE",e.VALIDATED="VALIDATED"})(re||(re={}));var Ts;(function(e){e.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",e.MINIMAL="MINIMAL",e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"})(Ts||(Ts={}));var nt;(function(e){e.DONT_ALLOW="DONT_ALLOW",e.ALLOW_ADULT="ALLOW_ADULT",e.ALLOW_ALL="ALLOW_ALL"})(nt||(nt={}));var tt;(function(e){e.PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",e.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",e.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE"})(tt||(tt={}));var ot;(function(e){e.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",e.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",e.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",e.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",e.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",e.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",e.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",e.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",e.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",e.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",e.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(ot||(ot={}));var it;(function(e){e.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",e.SEVERITY="SEVERITY",e.PROBABILITY="PROBABILITY"})(it||(it={}));var rt;(function(e){e.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",e.BLOCK_NONE="BLOCK_NONE",e.OFF="OFF"})(rt||(rt={}));var x;(function(e){e.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",e.STOP="STOP",e.MAX_TOKENS="MAX_TOKENS",e.SAFETY="SAFETY",e.RECITATION="RECITATION",e.LANGUAGE="LANGUAGE",e.OTHER="OTHER",e.BLOCKLIST="BLOCKLIST",e.PROHIBITED_CONTENT="PROHIBITED_CONTENT",e.SPII="SPII",e.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",e.IMAGE_SAFETY="IMAGE_SAFETY",e.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",e.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",e.NO_IMAGE="NO_IMAGE",e.IMAGE_RECITATION="IMAGE_RECITATION",e.IMAGE_OTHER="IMAGE_OTHER"})(x||(x={}));var st;(function(e){e.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",e.NEGLIGIBLE="NEGLIGIBLE",e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"})(st||(st={}));var lt;(function(e){e.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",e.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",e.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",e.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",e.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(lt||(lt={}));var at;(function(e){e.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",e.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",e.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",e.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",e.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(at||(at={}));var ut;(function(e){e.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",e.SAFETY="SAFETY",e.OTHER="OTHER",e.BLOCKLIST="BLOCKLIST",e.PROHIBITED_CONTENT="PROHIBITED_CONTENT",e.IMAGE_SAFETY="IMAGE_SAFETY",e.MODEL_ARMOR="MODEL_ARMOR",e.JAILBREAK="JAILBREAK"})(ut||(ut={}));var dt;(function(e){e.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",e.ON_DEMAND="ON_DEMAND",e.ON_DEMAND_PRIORITY="ON_DEMAND_PRIORITY",e.ON_DEMAND_FLEX="ON_DEMAND_FLEX",e.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(dt||(dt={}));var xe;(function(e){e.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",e.TEXT="TEXT",e.IMAGE="IMAGE",e.AUDIO="AUDIO",e.VIDEO="VIDEO"})(xe||(xe={}));var ft;(function(e){e.MODEL_STAGE_UNSPECIFIED="MODEL_STAGE_UNSPECIFIED",e.UNSTABLE_EXPERIMENTAL="UNSTABLE_EXPERIMENTAL",e.EXPERIMENTAL="EXPERIMENTAL",e.PREVIEW="PREVIEW",e.STABLE="STABLE",e.LEGACY="LEGACY",e.DEPRECATED="DEPRECATED",e.RETIRED="RETIRED"})(ft||(ft={}));var ct;(function(e){e.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",e.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",e.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",e.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(ct||(ct={}));var pt;(function(e){e.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",e.TUNING_MODE_FULL="TUNING_MODE_FULL",e.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(pt||(pt={}));var ht;(function(e){e.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",e.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",e.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",e.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",e.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",e.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",e.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})(ht||(ht={}));var Ze;(function(e){e.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",e.JOB_STATE_QUEUED="JOB_STATE_QUEUED",e.JOB_STATE_PENDING="JOB_STATE_PENDING",e.JOB_STATE_RUNNING="JOB_STATE_RUNNING",e.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",e.JOB_STATE_FAILED="JOB_STATE_FAILED",e.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",e.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",e.JOB_STATE_PAUSED="JOB_STATE_PAUSED",e.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",e.JOB_STATE_UPDATING="JOB_STATE_UPDATING",e.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(Ze||(Ze={}));var mt;(function(e){e.TUNING_JOB_STATE_UNSPECIFIED="TUNING_JOB_STATE_UNSPECIFIED",e.TUNING_JOB_STATE_WAITING_FOR_QUOTA="TUNING_JOB_STATE_WAITING_FOR_QUOTA",e.TUNING_JOB_STATE_PROCESSING_DATASET="TUNING_JOB_STATE_PROCESSING_DATASET",e.TUNING_JOB_STATE_WAITING_FOR_CAPACITY="TUNING_JOB_STATE_WAITING_FOR_CAPACITY",e.TUNING_JOB_STATE_TUNING="TUNING_JOB_STATE_TUNING",e.TUNING_JOB_STATE_POST_PROCESSING="TUNING_JOB_STATE_POST_PROCESSING"})(mt||(mt={}));var gt;(function(e){e.AGGREGATION_METRIC_UNSPECIFIED="AGGREGATION_METRIC_UNSPECIFIED",e.AVERAGE="AVERAGE",e.MODE="MODE",e.STANDARD_DEVIATION="STANDARD_DEVIATION",e.VARIANCE="VARIANCE",e.MINIMUM="MINIMUM",e.MAXIMUM="MAXIMUM",e.MEDIAN="MEDIAN",e.PERCENTILE_P90="PERCENTILE_P90",e.PERCENTILE_P95="PERCENTILE_P95",e.PERCENTILE_P99="PERCENTILE_P99"})(gt||(gt={}));var yt;(function(e){e.PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",e.BASELINE="BASELINE",e.CANDIDATE="CANDIDATE",e.TIE="TIE"})(yt||(yt={}));var Et;(function(e){e.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",e.TUNING_TASK_I2V="TUNING_TASK_I2V",e.TUNING_TASK_T2V="TUNING_TASK_T2V",e.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Et||(Et={}));var Tt;(function(e){e.STATE_UNSPECIFIED="STATE_UNSPECIFIED",e.STATE_PENDING="STATE_PENDING",e.STATE_ACTIVE="STATE_ACTIVE",e.STATE_FAILED="STATE_FAILED"})(Tt||(Tt={}));var _t;(function(e){e.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",e.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",e.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",e.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",e.MEDIA_RESOLUTION_ULTRA_HIGH="MEDIA_RESOLUTION_ULTRA_HIGH"})(_t||(_t={}));var It;(function(e){e.TOOL_TYPE_UNSPECIFIED="TOOL_TYPE_UNSPECIFIED",e.GOOGLE_SEARCH_WEB="GOOGLE_SEARCH_WEB",e.GOOGLE_SEARCH_IMAGE="GOOGLE_SEARCH_IMAGE",e.URL_CONTEXT="URL_CONTEXT",e.GOOGLE_MAPS="GOOGLE_MAPS",e.FILE_SEARCH="FILE_SEARCH"})(It||(It={}));var oc;(function(e){e.COLLECTION="COLLECTION"})(oc||(oc={}));var Ct;(function(e){e.UNSPECIFIED="unspecified",e.FLEX="flex",e.STANDARD="standard",e.PRIORITY="priority"})(Ct||(Ct={}));var At;(function(e){e.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",e.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",e.BALANCED="BALANCED",e.PRIORITIZE_COST="PRIORITIZE_COST"})(At||(At={}));var Ue;(function(e){e.PREDICT="PREDICT",e.EMBED_CONTENT="EMBED_CONTENT"})(Ue||(Ue={}));var vt;(function(e){e.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",e.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",e.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",e.BLOCK_NONE="BLOCK_NONE"})(vt||(vt={}));var St;(function(e){e.auto="auto",e.en="en",e.ja="ja",e.ko="ko",e.hi="hi",e.zh="zh",e.pt="pt",e.es="es"})(St||(St={}));var Rt;(function(e){e.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",e.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",e.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",e.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",e.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(Rt||(Rt={}));var Pt;(function(e){e.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",e.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",e.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",e.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(Pt||(Pt={}));var wt;(function(e){e.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",e.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",e.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",e.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(wt||(wt={}));var Nt;(function(e){e.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",e.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",e.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",e.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",e.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",e.EDIT_MODE_STYLE="EDIT_MODE_STYLE",e.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",e.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(Nt||(Nt={}));var Mt;(function(e){e.FOREGROUND="FOREGROUND",e.BACKGROUND="BACKGROUND",e.PROMPT="PROMPT",e.SEMANTIC="SEMANTIC",e.INTERACTIVE="INTERACTIVE"})(Mt||(Mt={}));var Dt;(function(e){e.ASSET="ASSET",e.STYLE="STYLE"})(Dt||(Dt={}));var xt;(function(e){e.INSERT="INSERT",e.REMOVE="REMOVE",e.REMOVE_STATIC="REMOVE_STATIC",e.OUTPAINT="OUTPAINT"})(xt||(xt={}));var Ut;(function(e){e.OPTIMIZED="OPTIMIZED",e.LOSSLESS="LOSSLESS"})(Ut||(Ut={}));var Lt;(function(e){e.CROP="CROP",e.PAD="PAD"})(Lt||(Lt={}));var Gt;(function(e){e.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",e.PREFERENCE_TUNING="PREFERENCE_TUNING",e.DISTILLATION="DISTILLATION"})(Gt||(Gt={}));var kt;(function(e){e.STATE_UNSPECIFIED="STATE_UNSPECIFIED",e.PROCESSING="PROCESSING",e.ACTIVE="ACTIVE",e.FAILED="FAILED"})(kt||(kt={}));var Ft;(function(e){e.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",e.UPLOADED="UPLOADED",e.GENERATED="GENERATED",e.REGISTERED="REGISTERED"})(Ft||(Ft={}));var Vt;(function(e){e.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",e.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",e.RESPONSE_REJECTED="RESPONSE_REJECTED",e.NEED_MORE_INPUT="NEED_MORE_INPUT",e.PROHIBITED_INPUT_CONTENT="PROHIBITED_INPUT_CONTENT",e.IMAGE_PROHIBITED_INPUT_CONTENT="IMAGE_PROHIBITED_INPUT_CONTENT",e.INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED="INPUT_TEXT_CONTAIN_PROMINENT_PERSON_PROHIBITED",e.INPUT_IMAGE_CELEBRITY="INPUT_IMAGE_CELEBRITY",e.INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED="INPUT_IMAGE_PHOTO_REALISTIC_CHILD_PROHIBITED",e.INPUT_TEXT_NCII_PROHIBITED="INPUT_TEXT_NCII_PROHIBITED",e.INPUT_OTHER="INPUT_OTHER",e.INPUT_IP_PROHIBITED="INPUT_IP_PROHIBITED",e.BLOCKLIST="BLOCKLIST",e.UNSAFE_PROMPT_FOR_IMAGE_GENERATION="UNSAFE_PROMPT_FOR_IMAGE_GENERATION",e.GENERATED_IMAGE_SAFETY="GENERATED_IMAGE_SAFETY",e.GENERATED_CONTENT_SAFETY="GENERATED_CONTENT_SAFETY",e.GENERATED_AUDIO_SAFETY="GENERATED_AUDIO_SAFETY",e.GENERATED_VIDEO_SAFETY="GENERATED_VIDEO_SAFETY",e.GENERATED_CONTENT_PROHIBITED="GENERATED_CONTENT_PROHIBITED",e.GENERATED_CONTENT_BLOCKLIST="GENERATED_CONTENT_BLOCKLIST",e.GENERATED_IMAGE_PROHIBITED="GENERATED_IMAGE_PROHIBITED",e.GENERATED_IMAGE_CELEBRITY="GENERATED_IMAGE_CELEBRITY",e.GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER="GENERATED_IMAGE_PROMINENT_PEOPLE_DETECTED_BY_REWRITER",e.GENERATED_IMAGE_IDENTIFIABLE_PEOPLE="GENERATED_IMAGE_IDENTIFIABLE_PEOPLE",e.GENERATED_IMAGE_MINORS="GENERATED_IMAGE_MINORS",e.OUTPUT_IMAGE_IP_PROHIBITED="OUTPUT_IMAGE_IP_PROHIBITED",e.GENERATED_OTHER="GENERATED_OTHER",e.MAX_REGENERATION_REACHED="MAX_REGENERATION_REACHED"})(Vt||(Vt={}));var qt;(function(e){e.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",e.TEXT="TEXT",e.IMAGE="IMAGE",e.VIDEO="VIDEO",e.AUDIO="AUDIO",e.DOCUMENT="DOCUMENT"})(qt||(qt={}));var Ht;(function(e){e.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",e.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",e.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(Ht||(Ht={}));var Bt;(function(e){e.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",e.ACTIVITY_START="ACTIVITY_START",e.ACTIVITY_END="ACTIVITY_END"})(Bt||(Bt={}));var Jt;(function(e){e.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",e.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",e.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(Jt||(Jt={}));var bt;(function(e){e.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",e.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",e.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(bt||(bt={}));var $t;(function(e){e.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",e.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",e.NO_INTERRUPTION="NO_INTERRUPTION"})($t||($t={}));var Ot;(function(e){e.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",e.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",e.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT",e.TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO="TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"})(Ot||(Ot={}));var Kt;(function(e){e.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",e.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",e.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",e.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",e.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",e.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",e.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",e.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",e.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",e.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",e.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",e.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",e.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(Kt||(Kt={}));var Yt;(function(e){e.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",e.QUALITY="QUALITY",e.DIVERSITY="DIVERSITY",e.VOCALIZATION="VOCALIZATION"})(Yt||(Yt={}));var ce;(function(e){e.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",e.PLAY="PLAY",e.PAUSE="PAUSE",e.STOP="STOP",e.RESET_CONTEXT="RESET_CONTEXT"})(ce||(ce={}));class de{constructor(e){let n={};for(let t of e.headers.entries())n[t[0]]=t[1];this.headers=n,this.responseInternal=e}json(){return this.responseInternal.json()}}class fe{get text(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",f=!1,p=[];for(let c of(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)!==null&&d!==void 0?d:[]){for(let[h,m]of Object.entries(c))if(h!=="text"&&h!=="thought"&&h!=="thoughtSignature"&&(m!==null||m!==void 0))p.push(h);if(typeof c.text==="string"){if(typeof c.thought==="boolean"&&c.thought)continue;f=!0,u+=c.text}}if(p.length>0)console.warn(`there are non-text parts ${p} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`);return f?u:void 0}get data(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning data from the first one.");let u="",f=[];for(let p of(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)!==null&&d!==void 0?d:[]){for(let[c,h]of Object.entries(p))if(c!=="inlineData"&&(h!==null||h!==void 0))f.push(c);if(p.inlineData&&typeof p.inlineData.data==="string")u+=atob(p.inlineData.data)}if(f.length>0)console.warn(`there are non-data parts ${f} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);return u.length>0?btoa(u):void 0}get functionCalls(){var e,n,t,o,r,l,a,d;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning function calls from the first one.");let u=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((f)=>f.functionCall).map((f)=>f.functionCall).filter((f)=>f!==void 0);if((u===null||u===void 0?void 0:u.length)===0)return;return u}get executableCode(){var e,n,t,o,r,l,a,d,u;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning executable code from the first one.");let f=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((p)=>p.executableCode).map((p)=>p.executableCode).filter((p)=>p!==void 0);if((f===null||f===void 0?void 0:f.length)===0)return;return(u=f===null||f===void 0?void 0:f[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,n,t,o,r,l,a,d,u;if(((o=(t=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||t===void 0?void 0:t.parts)===null||o===void 0?void 0:o.length)===0)return;if(this.candidates&&this.candidates.length>1)console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let f=(d=(a=(l=(r=this.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content)===null||a===void 0?void 0:a.parts)===null||d===void 0?void 0:d.filter((p)=>p.codeExecutionResult).map((p)=>p.codeExecutionResult).filter((p)=>p!==void 0);if((f===null||f===void 0?void 0:f.length)===0)return;return(u=f===null||f===void 0?void 0:f[0])===null||u===void 0?void 0:u.output}}class je{}class en{}class Po{}class wo{}class No{}class Mo{}class nn{}class tn{}class on{}class Do{}class Le{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new Le,o,r=e;if(n)o=ur(r);else o=ar(r);return Object.assign(t,o),t}}class xo{}class rn{}class sn{}class ln{}class Uo{}class Lo{}class Go{}class In{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new In,r=gr(e);return Object.assign(t,r),t}}class ko{}class Fo{}class Vo{}class qo{}class an{}class Ho{get text(){var e,n,t;let o="",r=!1,l=[];for(let a of(t=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&t!==void 0?t:[]){for(let[d,u]of Object.entries(a))if(d!=="text"&&d!=="thought"&&u!==null)l.push(d);if(typeof a.text==="string"){if(typeof a.thought==="boolean"&&a.thought)continue;r=!0,o+=a.text}}if(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.`);return r?o:void 0}get data(){var e,n,t;let o="",r=[];for(let l of(t=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&t!==void 0?t:[]){for(let[a,d]of Object.entries(l))if(a!=="inlineData"&&d!==null)r.push(a);if(l.inlineData&&typeof l.inlineData.data==="string")o+=atob(l.inlineData.data)}if(r.length>0)console.warn(`there are non-data parts ${r} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`);return o.length>0?btoa(o):void 0}}class Bo{get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0];return}}class Be{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new Be,r=_n(e);return Object.assign(t,r),t}}function M(e,n){if(!n||typeof n!=="string")throw Error("model is required and must be a string");if(n.includes("..")||n.includes("?")||n.includes("&"))throw Error("invalid model parameter");if(e.isVertexAI())if(n.startsWith("publishers/")||n.startsWith("projects/")||n.startsWith("models/"))return n;else if(n.indexOf("/")>=0){let t=n.split("/",2);return`publishers/${t[0]}/models/${t[1]}`}else return`publishers/google/models/${n}`;else if(n.startsWith("models/")||n.startsWith("tunedModels/"))return n;else return`models/${n}`}function Jo(e,n){let t=M(e,n);if(!t)return"";if(t.startsWith("publishers/")&&e.isVertexAI())return`projects/${e.getProject()}/locations/${e.getLocation()}/${t}`;else if(t.startsWith("models/")&&e.isVertexAI())return`projects/${e.getProject()}/locations/${e.getLocation()}/publishers/google/${t}`;else return t}function bo(e){if(Array.isArray(e))return e.map((n)=>Ge(n));else return[Ge(e)]}function Ge(e){if(typeof e==="object"&&e!==null)return e;throw Error(`Could not parse input as Blob. Unsupported blob type: ${typeof e}`)}function $o(e){let n=Ge(e);if(n.mimeType&&n.mimeType.startsWith("image/"))return n;throw Error(`Unsupported mime type: ${n.mimeType}`)}function Oo(e){let n=Ge(e);if(n.mimeType&&n.mimeType.startsWith("audio/"))return n;throw Error(`Unsupported mime type: ${n.mimeType}`)}function Wt(e){if(e===null||e===void 0)throw Error("PartUnion is required");if(typeof e==="object")return e;if(typeof e==="string")return{text:e};throw Error(`Unsupported part type: ${typeof e}`)}function Ko(e){if(e===null||e===void 0||Array.isArray(e)&&e.length===0)throw Error("PartListUnion is required");if(Array.isArray(e))return e.map((n)=>Wt(n));return[Wt(e)]}function un(e){return e!==null&&e!==void 0&&typeof e==="object"&&"parts"in e&&Array.isArray(e.parts)}function zt(e){return e!==null&&e!==void 0&&typeof e==="object"&&"functionCall"in e}function Xt(e){return e!==null&&e!==void 0&&typeof e==="object"&&"functionResponse"in e}function k(e){if(e===null||e===void 0)throw Error("ContentUnion is required");if(un(e))return e;return{role:"user",parts:Ko(e)}}function Cn(e,n){if(!n)return[];if(e.isVertexAI()&&Array.isArray(n))return n.flatMap((t)=>{let o=k(t);if(o.parts&&o.parts.length>0&&o.parts[0].text!==void 0)return[o.parts[0].text];return[]});else if(e.isVertexAI()){let t=k(n);if(t.parts&&t.parts.length>0&&t.parts[0].text!==void 0)return[t.parts[0].text];return[]}if(Array.isArray(n))return n.map((t)=>k(t));return[k(n)]}function q(e){if(e===null||e===void 0||Array.isArray(e)&&e.length===0)throw Error("contents are required");if(!Array.isArray(e)){if(zt(e)||Xt(e))throw Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[k(e)]}let n=[],t=[],o=un(e[0]);for(let r of e){let l=un(r);if(l!=o)throw 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(l)n.push(r);else if(zt(r)||Xt(r))throw Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");else t.push(r)}if(!o)n.push({role:"user",parts:Ko(t)});return n}function Ir(e,n){if(e.includes("null"))n.nullable=!0;let t=e.filter((o)=>o!=="null");if(t.length===1)n.type=Object.values(ne).includes(t[0].toUpperCase())?t[0].toUpperCase():ne.TYPE_UNSPECIFIED;else{n.anyOf=[];for(let o of t)n.anyOf.push({type:Object.values(ne).includes(o.toUpperCase())?o.toUpperCase():ne.TYPE_UNSPECIFIED})}}function he(e){let n={},t=["items"],o=["anyOf"],r=["properties"];if(e.type&&e.anyOf)throw Error("type and anyOf cannot be both populated.");let l=e.anyOf;if(l!=null&&l.length==2){if(l[0].type==="null")n.nullable=!0,e=l[1];else if(l[1].type==="null")n.nullable=!0,e=l[0]}if(e.type instanceof Array)Ir(e.type,n);for(let[a,d]of Object.entries(e)){if(d==null)continue;if(a=="type"){if(d==="null")throw Error("type: null can not be the only possible type for the field.");if(d instanceof Array)continue;n.type=Object.values(ne).includes(d.toUpperCase())?d.toUpperCase():ne.TYPE_UNSPECIFIED}else if(t.includes(a))n[a]=he(d);else if(o.includes(a)){let u=[];for(let f of d){if(f.type=="null"){n.nullable=!0;continue}u.push(he(f))}n[a]=u}else if(r.includes(a)){let u={};for(let[f,p]of Object.entries(d))u[f]=he(p);n[a]=u}else{if(a==="additionalProperties")continue;n[a]=d}}return n}function An(e){return he(e)}function vn(e){if(typeof e==="object")return e;else if(typeof e==="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:e}}};else throw Error(`Unsupported speechConfig type: ${typeof e}`)}function Sn(e){if("multiSpeakerVoiceConfig"in e)throw Error("multiSpeakerVoiceConfig is not supported in the live API.");return e}function ge(e){if(e.functionDeclarations)for(let n of e.functionDeclarations){if(n.parameters){if(!Object.keys(n.parameters).includes("$schema"))n.parameters=he(n.parameters);else if(!n.parametersJsonSchema)n.parametersJsonSchema=n.parameters,delete n.parameters}if(n.response){if(!Object.keys(n.response).includes("$schema"))n.response=he(n.response);else if(!n.responseJsonSchema)n.responseJsonSchema=n.response,delete n.response}}return e}function ye(e){if(e===void 0||e===null)throw Error("tools is required");if(!Array.isArray(e))throw Error("tools is required and must be an array of Tools");let n=[];for(let t of e)n.push(t);return n}function Cr(e,n,t,o=1){let r=!n.startsWith(`${t}/`)&&n.split("/").length===o;if(e.isVertexAI())if(n.startsWith("projects/"))return n;else if(n.startsWith("locations/"))return`projects/${e.getProject()}/${n}`;else if(n.startsWith(`${t}/`))return`projects/${e.getProject()}/locations/${e.getLocation()}/${n}`;else if(r)return`projects/${e.getProject()}/locations/${e.getLocation()}/${t}/${n}`;else return n;if(r)return`${t}/${n}`;return n}function ee(e,n){if(typeof n!=="string")throw Error("name must be a string");return Cr(e,n,"cachedContents")}function Yo(e){switch(e){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 e}}function se(e){return Tn(e)}function Ar(e){return e!==null&&e!==void 0&&typeof e==="object"&&"name"in e}function Wo(e){return e!==null&&e!==void 0&&typeof e==="object"&&"video"in e}function zo(e){return e!==null&&e!==void 0&&typeof e==="object"&&"uri"in e}function Rn(e){var n;let t;if(Ar(e))t=e.name;if(zo(e)){if(t=e.uri,t===void 0)return}if(Wo(e)){if(t=(n=e.video)===null||n===void 0?void 0:n.uri,t===void 0)return}if(typeof e==="string")t=e;if(t===void 0)throw Error("Could not extract file name from the provided input.");if(t.startsWith("https://")){let r=t.split("files/")[1].match(/[a-z0-9]+/);if(r===null)throw Error(`Could not extract file name from URI ${t}`);t=r[0]}else if(t.startsWith("files/"))t=t.split("files/")[1];return t}function Xo(e,n){let t;if(e.isVertexAI())t=n?"publishers/google/models":"models";else t=n?"models":"tunedModels";return t}function Qo(e){for(let n of["models","tunedModels","publisherModels"])if(vr(e,n))return e[n];return[]}function vr(e,n){return e!==null&&typeof e==="object"&&n in e}function Sr(e,n={}){let t=e,o={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};if(t.outputSchema)o.responseJsonSchema=t.outputSchema;if(n.behavior)o.behavior=n.behavior;return{functionDeclarations:[o]}}function Rr(e,n={}){let t=[],o=new Set;for(let r of e){let l=r.name;if(o.has(l))throw Error(`Duplicate function name ${l} found in MCP tools. Please ensure function names are unique.`);o.add(l);let a=Sr(r,n);if(a.functionDeclarations)t.push(...a.functionDeclarations)}return{functionDeclarations:t}}function Zo(e,n){let t;if(typeof n==="string")if(e.isVertexAI())if(n.startsWith("gs://"))t={format:"jsonl",gcsUri:[n]};else if(n.startsWith("bq://"))t={format:"bigquery",bigqueryUri:n};else if(/^projects\/[^/]+\/locations\/[^/]+\/datasets\/[^/]+$/.test(n))t={format:"vertex-dataset",vertexDatasetName:n};else throw Error(`Unsupported string source for Vertex AI: ${n}`);else if(n.startsWith("files/"))t={fileName:n};else throw Error(`Unsupported string source for Gemini API: ${n}`);else if(Array.isArray(n)){if(e.isVertexAI())throw Error("InlinedRequest[] is not supported in Vertex AI.");t={inlinedRequests:n}}else t=n;let o=[t.gcsUri,t.bigqueryUri,t.vertexDatasetName].filter(Boolean).length,r=[t.inlinedRequests,t.fileName].filter(Boolean).length;if(e.isVertexAI()){if(r>0||o!==1)throw Error("Exactly one of `gcsUri`, `bigqueryUri`, or `vertexDatasetName` must be set for Vertex AI.")}else if(o>0||r!==1)throw Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return t}function Pr(e){if(typeof e!=="string")return e;let n=e;if(n.startsWith("gs://"))return{format:"jsonl",gcsUri:n};else if(n.startsWith("bq://"))return{format:"bigquery",bigqueryUri:n};else throw Error(`Unsupported destination: ${n}`)}function jo(e){if(typeof e!=="object"||e===null)return{};let n=e,t=n.inlinedResponses;if(typeof t!=="object"||t===null)return e;let r=t.inlinedResponses;if(!Array.isArray(r)||r.length===0)return e;let l=!1;for(let a of r){if(typeof a!=="object"||a===null)continue;let u=a.response;if(typeof u!=="object"||u===null)continue;if(u.embedding!==void 0){l=!0;break}}if(l)n.inlinedEmbedContentResponses=n.inlinedResponses,delete n.inlinedResponses;return e}function Ee(e,n){let t=n;if(!e.isVertexAI())if(/batches\/[^/]+$/.test(t))return t.split("/").pop();else throw Error(`Invalid batch job name: ${t}.`);if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();else if(/^\d+$/.test(t))return t;else throw Error(`Invalid batch job name: ${t}.`)}function ei(e){let n=e;if(n==="BATCH_STATE_UNSPECIFIED")return"JOB_STATE_UNSPECIFIED";else if(n==="BATCH_STATE_PENDING")return"JOB_STATE_PENDING";else if(n==="BATCH_STATE_RUNNING")return"JOB_STATE_RUNNING";else if(n==="BATCH_STATE_SUCCEEDED")return"JOB_STATE_SUCCEEDED";else if(n==="BATCH_STATE_FAILED")return"JOB_STATE_FAILED";else if(n==="BATCH_STATE_CANCELLED")return"JOB_STATE_CANCELLED";else if(n==="BATCH_STATE_EXPIRED")return"JOB_STATE_EXPIRED";else return n}function wr(e){return e.includes("gemini")&&e!=="gemini-embedding-001"||e.includes("maas")}function Nr(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function Mr(e){let n={},t=i(e,["responsesFile"]);if(t!=null)s(n,["fileName"],t);let o=i(e,["inlinedResponses","inlinedResponses"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>ds(a));s(n,["inlinedResponses"],l)}let r=i(e,["inlinedEmbedContentResponses","inlinedResponses"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["inlinedEmbedContentResponses"],l)}return n}function Dr(e){let n={},t=i(e,["predictionsFormat"]);if(t!=null)s(n,["format"],t);let o=i(e,["gcsDestination","outputUriPrefix"]);if(o!=null)s(n,["gcsUri"],o);let r=i(e,["bigqueryDestination","outputUri"]);if(r!=null)s(n,["bigqueryUri"],r);let l=i(e,["vertexMultimodalDatasetDestination"]);if(l!=null)s(n,["vertexDataset"],Cs(l));return n}function xr(e){let n={},t=i(e,["format"]);if(t!=null)s(n,["predictionsFormat"],t);let o=i(e,["gcsUri"]);if(o!=null)s(n,["gcsDestination","outputUriPrefix"],o);let r=i(e,["bigqueryUri"]);if(r!=null)s(n,["bigqueryDestination","outputUri"],r);if(i(e,["fileName"])!==void 0)throw Error("fileName parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedResponses"])!==void 0)throw Error("inlinedResponses parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedEmbedContentResponses"])!==void 0)throw Error("inlinedEmbedContentResponses parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["vertexDataset"]);if(l!=null)s(n,["vertexMultimodalDatasetDestination"],As(l));return n}function Me(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata","displayName"]);if(o!=null)s(n,["displayName"],o);let r=i(e,["metadata","state"]);if(r!=null)s(n,["state"],ei(r));let l=i(e,["metadata","createTime"]);if(l!=null)s(n,["createTime"],l);let a=i(e,["metadata","endTime"]);if(a!=null)s(n,["endTime"],a);let d=i(e,["metadata","updateTime"]);if(d!=null)s(n,["updateTime"],d);let u=i(e,["metadata","model"]);if(u!=null)s(n,["model"],u);let f=i(e,["metadata","output"]);if(f!=null)s(n,["dest"],Mr(jo(f)));return n}function dn(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);let r=i(e,["state"]);if(r!=null)s(n,["state"],ei(r));let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["createTime"]);if(a!=null)s(n,["createTime"],a);let d=i(e,["startTime"]);if(d!=null)s(n,["startTime"],d);let u=i(e,["endTime"]);if(u!=null)s(n,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(n,["updateTime"],f);let p=i(e,["model"]);if(p!=null)s(n,["model"],p);let c=i(e,["inputConfig"]);if(c!=null)s(n,["src"],Ur(c));let h=i(e,["outputConfig"]);if(h!=null)s(n,["dest"],Dr(jo(h)));let m=i(e,["completionStats"]);if(m!=null)s(n,["completionStats"],m);let g=i(e,["outputInfo"]);if(g!=null)s(n,["outputInfo"],g);return n}function Ur(e){let n={},t=i(e,["instancesFormat"]);if(t!=null)s(n,["format"],t);let o=i(e,["gcsSource","uris"]);if(o!=null)s(n,["gcsUri"],o);let r=i(e,["bigquerySource","inputUri"]);if(r!=null)s(n,["bigqueryUri"],r);let l=i(e,["vertexMultimodalDatasetSource","datasetName"]);if(l!=null)s(n,["vertexDatasetName"],l);return n}function Lr(e,n){let t={};if(i(n,["format"])!==void 0)throw Error("format parameter is not supported in Gemini API.");if(i(n,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");if(i(n,["bigqueryUri"])!==void 0)throw Error("bigqueryUri parameter is not supported in Gemini API.");let o=i(n,["fileName"]);if(o!=null)s(t,["fileName"],o);let r=i(n,["inlinedRequests"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>us(e,a));s(t,["requests","requests"],l)}if(i(n,["vertexDatasetName"])!==void 0)throw Error("vertexDatasetName parameter is not supported in Gemini API.");return t}function Gr(e){let n={},t=i(e,["format"]);if(t!=null)s(n,["instancesFormat"],t);let o=i(e,["gcsUri"]);if(o!=null)s(n,["gcsSource","uris"],o);let r=i(e,["bigqueryUri"]);if(r!=null)s(n,["bigquerySource","inputUri"],r);if(i(e,["fileName"])!==void 0)throw Error("fileName parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["inlinedRequests"])!==void 0)throw Error("inlinedRequests parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["vertexDatasetName"]);if(l!=null)s(n,["vertexMultimodalDatasetSource","datasetName"],l);return n}function kr(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Fr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Vr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function qr(e){let n={},t=i(e,["content"]);if(t!=null)s(n,["content"],t);let o=i(e,["citationMetadata"]);if(o!=null)s(n,["citationMetadata"],Hr(o));let r=i(e,["tokenCount"]);if(r!=null)s(n,["tokenCount"],r);let l=i(e,["finishReason"]);if(l!=null)s(n,["finishReason"],l);let a=i(e,["groundingMetadata"]);if(a!=null)s(n,["groundingMetadata"],a);let d=i(e,["avgLogprobs"]);if(d!=null)s(n,["avgLogprobs"],d);let u=i(e,["index"]);if(u!=null)s(n,["index"],u);let f=i(e,["logprobsResult"]);if(f!=null)s(n,["logprobsResult"],f);let p=i(e,["safetyRatings"]);if(p!=null){let h=p;if(Array.isArray(h))h=h.map((m)=>m);s(n,["safetyRatings"],h)}let c=i(e,["urlContextMetadata"]);if(c!=null)s(n,["urlContextMetadata"],c);return n}function Hr(e){let n={},t=i(e,["citationSources"]);if(t!=null){let o=t;if(Array.isArray(o))o=o.map((r)=>r);s(n,["citations"],o)}return n}function ni(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>ys(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Br(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["batch","displayName"],o);if(i(e,["dest"])!==void 0)throw Error("dest parameter is not supported in Gemini API.");let r=i(e,["webhookConfig"]);if(n!==void 0&&r!=null)s(n,["batch","webhookConfig"],r);return t}function Jr(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["displayName"],o);let r=i(e,["dest"]);if(n!==void 0&&r!=null)s(n,["outputConfig"],xr(Pr(r)));if(i(e,["webhookConfig"])!==void 0)throw Error("webhookConfig parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Qt(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["_url","model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["batch","inputConfig"],Lr(e,Zo(e,r)));let l=i(n,["config"]);if(l!=null)Br(l,t);return t}function br(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["inputConfig"],Gr(Zo(e,r)));let l=i(n,["config"]);if(l!=null)Jr(l,t);return t}function $r(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["batch","displayName"],o);return t}function Or(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["_url","model"],M(e,o));let r=i(n,["src"]);if(r!=null)s(t,["batch","inputConfig"],Zr(e,r));let l=i(n,["config"]);if(l!=null)$r(l,t);return t}function Kr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Yr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function Wr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);return n}function zr(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);return n}function Xr(e,n){let t={},o=i(n,["contents"]);if(o!=null){let l=Cn(e,o);if(Array.isArray(l))l=l.map((a)=>a);s(t,["requests[]","request","content"],l)}let r=i(n,["config"]);if(r!=null)s(t,["_self"],Qr(r,t)),sr(t,{"requests[].*":"requests[].request.*"});return t}function Qr(e,n){let t={},o=i(e,["taskType"]);if(n!==void 0&&o!=null)s(n,["requests[]","taskType"],o);let r=i(e,["title"]);if(n!==void 0&&r!=null)s(n,["requests[]","title"],r);let l=i(e,["outputDimensionality"]);if(n!==void 0&&l!=null)s(n,["requests[]","outputDimensionality"],l);if(i(e,["mimeType"])!==void 0)throw Error("mimeType parameter is not supported in Gemini API.");if(i(e,["autoTruncate"])!==void 0)throw Error("autoTruncate parameter is not supported in Gemini API.");if(i(e,["documentOcr"])!==void 0)throw Error("documentOcr parameter is not supported in Gemini API.");if(i(e,["audioTrackExtraction"])!==void 0)throw Error("audioTrackExtraction parameter is not supported in Gemini API.");return t}function Zr(e,n){let t={},o=i(n,["fileName"]);if(o!=null)s(t,["file_name"],o);let r=i(n,["inlinedRequests"]);if(r!=null)s(t,["requests"],Xr(e,r));return t}function jr(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function es(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function ns(e){let n={},t=i(e,["allowedFunctionNames"]);if(t!=null)s(n,["allowedFunctionNames"],t);let o=i(e,["mode"]);if(o!=null)s(n,["mode"],o);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}function ts(e,n,t){let o={},r=i(n,["systemInstruction"]);if(t!==void 0&&r!=null)s(t,["systemInstruction"],ni(k(r)));let l=i(n,["temperature"]);if(l!=null)s(o,["temperature"],l);let a=i(n,["topP"]);if(a!=null)s(o,["topP"],a);let d=i(n,["topK"]);if(d!=null)s(o,["topK"],d);let u=i(n,["candidateCount"]);if(u!=null)s(o,["candidateCount"],u);let f=i(n,["maxOutputTokens"]);if(f!=null)s(o,["maxOutputTokens"],f);let p=i(n,["stopSequences"]);if(p!=null)s(o,["stopSequences"],p);let c=i(n,["responseLogprobs"]);if(c!=null)s(o,["responseLogprobs"],c);let h=i(n,["logprobs"]);if(h!=null)s(o,["logprobs"],h);let m=i(n,["presencePenalty"]);if(m!=null)s(o,["presencePenalty"],m);let g=i(n,["frequencyPenalty"]);if(g!=null)s(o,["frequencyPenalty"],g);let y=i(n,["seed"]);if(y!=null)s(o,["seed"],y);let E=i(n,["responseMimeType"]);if(E!=null)s(o,["responseMimeType"],E);let _=i(n,["responseSchema"]);if(_!=null)s(o,["responseSchema"],An(_));let C=i(n,["responseJsonSchema"]);if(C!=null)s(o,["responseJsonSchema"],C);if(i(n,["routingConfig"])!==void 0)throw Error("routingConfig parameter is not supported in Gemini API.");if(i(n,["modelSelectionConfig"])!==void 0)throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let v=i(n,["safetySettings"]);if(t!==void 0&&v!=null){let G=v;if(Array.isArray(G))G=G.map((L)=>Es(L));s(t,["safetySettings"],G)}let S=i(n,["tools"]);if(t!==void 0&&S!=null){let G=ye(S);if(Array.isArray(G))G=G.map((L)=>Is(ge(L)));s(t,["tools"],G)}let w=i(n,["toolConfig"]);if(t!==void 0&&w!=null)s(t,["toolConfig"],_s(w));if(i(n,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let T=i(n,["cachedContent"]);if(t!==void 0&&T!=null)s(t,["cachedContent"],ee(e,T));let N=i(n,["responseModalities"]);if(N!=null)s(o,["responseModalities"],N);let I=i(n,["mediaResolution"]);if(I!=null)s(o,["mediaResolution"],I);let R=i(n,["speechConfig"]);if(R!=null)s(o,["speechConfig"],vn(R));if(i(n,["audioTimestamp"])!==void 0)throw Error("audioTimestamp parameter is not supported in Gemini API.");let D=i(n,["thinkingConfig"]);if(D!=null)s(o,["thinkingConfig"],D);let B=i(n,["imageConfig"]);if(B!=null)s(o,["imageConfig"],as(B));let b=i(n,["enableEnhancedCivicAnswers"]);if(b!=null)s(o,["enableEnhancedCivicAnswers"],b);if(i(n,["modelArmorConfig"])!==void 0)throw Error("modelArmorConfig parameter is not supported in Gemini API.");let O=i(n,["serviceTier"]);if(t!==void 0&&O!=null)s(t,["serviceTier"],O);return o}function os(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["candidates"]);if(o!=null){let f=o;if(Array.isArray(f))f=f.map((p)=>qr(p));s(n,["candidates"],f)}let r=i(e,["modelVersion"]);if(r!=null)s(n,["modelVersion"],r);let l=i(e,["promptFeedback"]);if(l!=null)s(n,["promptFeedback"],l);let a=i(e,["responseId"]);if(a!=null)s(n,["responseId"],a);let d=i(e,["usageMetadata"]);if(d!=null)s(n,["usageMetadata"],d);let u=i(e,["modelStatus"]);if(u!=null)s(n,["modelStatus"],u);return n}function is(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function rs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],Ee(e,o));return t}function ss(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],Nr(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function ls(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function as(e){let n={},t=i(e,["aspectRatio"]);if(t!=null)s(n,["aspectRatio"],t);let o=i(e,["imageSize"]);if(o!=null)s(n,["imageSize"],o);if(i(e,["personGeneration"])!==void 0)throw Error("personGeneration parameter is not supported in Gemini API.");if(i(e,["prominentPeople"])!==void 0)throw Error("prominentPeople parameter is not supported in Gemini API.");if(i(e,["outputMimeType"])!==void 0)throw Error("outputMimeType parameter is not supported in Gemini API.");if(i(e,["outputCompressionQuality"])!==void 0)throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(i(e,["imageOutputOptions"])!==void 0)throw Error("imageOutputOptions parameter is not supported in Gemini API.");return n}function us(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["request","model"],M(e,o));let r=i(n,["contents"]);if(r!=null){let d=q(r);if(Array.isArray(d))d=d.map((u)=>ni(u));s(t,["request","contents"],d)}let l=i(n,["metadata"]);if(l!=null)s(t,["metadata"],l);let a=i(n,["config"]);if(a!=null)s(t,["request","generationConfig"],ts(e,a,i(t,["request"],{})));return t}function ds(e){let n={},t=i(e,["response"]);if(t!=null)s(n,["response"],os(t));let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["error"]);if(r!=null)s(n,["error"],r);return n}function fs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);if(i(e,["filter"])!==void 0)throw Error("filter parameter is not supported in Gemini API.");return t}function cs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);let l=i(e,["filter"]);if(n!==void 0&&l!=null)s(n,["_query","filter"],l);return t}function ps(e){let n={},t=i(e,["config"]);if(t!=null)fs(t,n);return n}function hs(e){let n={},t=i(e,["config"]);if(t!=null)cs(t,n);return n}function ms(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["operations"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>Me(a));s(n,["batchJobs"],l)}return n}function gs(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["batchPredictionJobs"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>dn(a));s(n,["batchJobs"],l)}return n}function ys(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],jr(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],es(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],kr(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function Es(e){let n={},t=i(e,["category"]);if(t!=null)s(n,["category"],t);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let o=i(e,["threshold"]);if(o!=null)s(n,["threshold"],o);return n}function _s(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],ns(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function Is(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],ls(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],ss(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function Cs(e){let n={},t=i(e,["bigqueryDestination","outputUri"]);if(t!=null)s(n,["bigqueryDestination"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);return n}function As(e){let n={},t=i(e,["bigqueryDestination"]);if(t!=null)s(n,["bigqueryDestination","outputUri"],t);let o=i(e,["displayName"]);if(o!=null)s(n,["displayName"],o);return n}var j;(function(e){e.PAGED_ITEM_BATCH_JOBS="batchJobs",e.PAGED_ITEM_MODELS="models",e.PAGED_ITEM_TUNING_JOBS="tuningJobs",e.PAGED_ITEM_FILES="files",e.PAGED_ITEM_CACHED_CONTENTS="cachedContents",e.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",e.PAGED_ITEM_DOCUMENTS="documents"})(j||(j={}));class le{constructor(e,n,t,o){this.pageInternal=[],this.paramsInternal={},this.requestInternal=n,this.init(e,t,o)}init(e,n,t){var o,r;this.nameInternal=e,this.pageInternal=n[this.nameInternal]||[],this.sdkHttpResponseInternal=n===null||n===void 0?void 0:n.sdkHttpResponse,this.idxInternal=0;let l={config:{}};if(!t||Object.keys(t).length===0)l={config:{}};else if(typeof t==="object")l=Object.assign({},t);else l=t;if(l.config)l.config.pageToken=n.nextPageToken;this.paramsInternal=l,this.pageInternalSize=(r=(o=l.config)===null||o===void 0?void 0:o.pageSize)!==null&&r!==void 0?r: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 Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;if(((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0)return!0;return!1}}class ti extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_BATCH_JOBS,(t)=>this.listInternal(t),await this.listInternal(n),n),this.create=async(n)=>{if(this.apiClient.isVertexAI())n.config=this.formatDestination(n.src,n.config);return this.createInternal(n)},this.createEmbeddings=async(n)=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw Error("Gemini Enterprise Agent Platform (previously known as Vertex AI) does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(n)}}createInlinedGenerateContentRequest(e){let n=Qt(this.apiClient,e),t=n._url,o=A("{model}:batchGenerateContent",t),a=n.batch.inputConfig.requests,d=a.requests,u=[];for(let f of d){let p=Object.assign({},f);if(p.systemInstruction){let c=p.systemInstruction;delete p.systemInstruction;let h=p.request;h.systemInstruction=c,p.request=h}u.push(p)}return a.requests=u,delete n.config,delete n._url,delete n._query,{path:o,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];return}getBigqueryUri(e){if(typeof e==="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri;return}formatDestination(e,n){let t=n?Object.assign({},n):{},o=Date.now().toString();if(!t.displayName)t.displayName=`genaiBatchJob_${o}`;if(t.dest===void 0){let r=this.getGcsUri(e),l=this.getBigqueryUri(e);if(r)if(r.endsWith(".jsonl"))t.dest=`${r.slice(0,-6)}/dest`;else t.dest=`${r}_dest_${o}`;else if(l)t.dest=`${l}_dest_${o}`;else throw Error("Unsupported source for Gemini Enterprise Agent Platform (previously known as Vertex AI): No GCS or BigQuery URI found.")}return t}async createInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=br(this.apiClient,e);return a=A("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>dn(f))}else{let u=Qt(this.apiClient,e);return a=A("{model}:batchGenerateContent",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>Me(f))}}async createEmbeddingsInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=Or(this.apiClient,e);return r=A("{model}:asyncBatchEmbedContent",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>Me(d))}}async get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=rs(this.apiClient,e);return a=A("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>dn(f))}else{let u=is(this.apiClient,e);return a=A("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>Me(f))}}async cancel(e){var n,t,o,r;let l="",a={};if(this.apiClient.isVertexAI()){let d=Vr(this.apiClient,e);l=A("batchPredictionJobs/{name}:cancel",d._url),a=d._query,delete d._url,delete d._query,await this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal})}else{let d=Fr(this.apiClient,e);l=A("batches/{name}:cancel",d._url),a=d._query,delete d._url,delete d._query,await this.apiClient.request({path:l,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal})}}async listInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=hs(e);return a=A("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=gs(f),c=new an;return Object.assign(c,p),c})}else{let u=ps(e);return a=A("batches",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=ms(f),c=new an;return Object.assign(c,p),c})}}async delete(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Yr(this.apiClient,e);return a=A("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>zr(f))}else{let u=Kr(this.apiClient,e);return a=A("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>Wr(f))}}}function vs(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function Ss(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Zt(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Ws(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function jt(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>zs(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Rs(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);let l=i(e,["displayName"]);if(n!==void 0&&l!=null)s(n,["displayName"],l);let a=i(e,["contents"]);if(n!==void 0&&a!=null){let p=q(a);if(Array.isArray(p))p=p.map((c)=>Zt(c));s(n,["contents"],p)}let d=i(e,["systemInstruction"]);if(n!==void 0&&d!=null)s(n,["systemInstruction"],Zt(k(d)));let u=i(e,["tools"]);if(n!==void 0&&u!=null){let p=u;if(Array.isArray(p))p=p.map((c)=>Zs(c));s(n,["tools"],p)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Xs(f));if(i(e,["kmsKeyName"])!==void 0)throw Error("kmsKeyName parameter is not supported in Gemini API.");return t}function Ps(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);let l=i(e,["displayName"]);if(n!==void 0&&l!=null)s(n,["displayName"],l);let a=i(e,["contents"]);if(n!==void 0&&a!=null){let c=q(a);if(Array.isArray(c))c=c.map((h)=>jt(h));s(n,["contents"],c)}let d=i(e,["systemInstruction"]);if(n!==void 0&&d!=null)s(n,["systemInstruction"],jt(k(d)));let u=i(e,["tools"]);if(n!==void 0&&u!=null){let c=u;if(Array.isArray(c))c=c.map((h)=>js(h));s(n,["tools"],c)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Qs(f));let p=i(e,["kmsKeyName"]);if(n!==void 0&&p!=null)s(n,["encryption_spec","kmsKeyName"],p);return t}function ws(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],Jo(e,o));let r=i(n,["config"]);if(r!=null)Rs(r,t);return t}function Ns(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["model"],Jo(e,o));let r=i(n,["config"]);if(r!=null)Ps(r,t);return t}function Ms(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function Ds(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function xs(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Us(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Ls(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function Gs(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function ks(e){let n={},t=i(e,["allowedFunctionNames"]);if(t!=null)s(n,["allowedFunctionNames"],t);let o=i(e,["mode"]);if(o!=null)s(n,["mode"],o);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}function Fs(e){let n={},t=i(e,["description"]);if(t!=null)s(n,["description"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["parameters"]);if(r!=null)s(n,["parameters"],r);let l=i(e,["parametersJsonSchema"]);if(l!=null)s(n,["parametersJsonSchema"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],a);let d=i(e,["responseJsonSchema"]);if(d!=null)s(n,["responseJsonSchema"],d);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Vs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function qs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));return t}function Hs(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],vs(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function Bs(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function Js(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function bs(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function $s(e){let n={},t=i(e,["config"]);if(t!=null)Js(t,n);return n}function Os(e){let n={},t=i(e,["config"]);if(t!=null)bs(t,n);return n}function Ks(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["cachedContents"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["cachedContents"],l)}return n}function Ys(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["cachedContents"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["cachedContents"],l)}return n}function Ws(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],Ls(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],Gs(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Ss(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function zs(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],l);let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],a);let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],u);let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Xs(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],ks(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function Qs(e){let n={},t=i(e,["retrievalConfig"]);if(t!=null)s(n,["retrievalConfig"],t);let o=i(e,["functionCallingConfig"]);if(o!=null)s(n,["functionCallingConfig"],o);if(i(e,["includeServerSideToolInvocations"])!==void 0)throw Error("includeServerSideToolInvocations parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Zs(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],Bs(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Hs(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function js(e){let n={},t=i(e,["retrieval"]);if(t!=null)s(n,["retrieval"],t);let o=i(e,["computerUse"]);if(o!=null)s(n,["computerUse"],o);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],r);let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],l);let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);let d=i(e,["enterpriseWebSearch"]);if(d!=null)s(n,["enterpriseWebSearch"],d);let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>Fs(m));s(n,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(n,["googleSearchRetrieval"],f);let p=i(e,["parallelAiSearch"]);if(p!=null)s(n,["parallelAiSearch"],p);let c=i(e,["urlContext"]);if(c!=null)s(n,["urlContext"],c);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function el(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);return t}function nl(e,n){let t={},o=i(e,["ttl"]);if(n!==void 0&&o!=null)s(n,["ttl"],o);let r=i(e,["expireTime"]);if(n!==void 0&&r!=null)s(n,["expireTime"],r);return t}function tl(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));let r=i(n,["config"]);if(r!=null)el(r,t);return t}function ol(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ee(e,o));let r=i(n,["config"]);if(r!=null)nl(r,t);return t}class oi extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_CACHED_CONTENTS,(t)=>this.listInternal(t),await this.listInternal(n),n)}async create(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Ns(this.apiClient,e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=ws(this.apiClient,e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=qs(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=Vs(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async delete(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Ds(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Us(f),c=new sn;return Object.assign(c,p),c})}else{let u=Ms(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=xs(f),c=new sn;return Object.assign(c,p),c})}}async update(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ol(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}else{let u=tl(this.apiClient,e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json()),l.then((f)=>f)}}async listInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Os(e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Ys(f),c=new ln;return Object.assign(c,p),c})}else{let u=$s(e);return a=A("cachedContents",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Ks(f),c=new ln;return Object.assign(c,p),c})}}}function te(e,n){var t={};for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0)t[o]=e[o];if(e!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)if(n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r]))t[o[r]]=e[o[r]]}return t}function eo(e){var n=typeof Symbol==="function"&&Symbol.iterator,t=n&&e[n],o=0;if(t)return t.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&o>=e.length)e=void 0;return{value:e&&e[o++],done:!e}}};throw TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function P(e){return this instanceof P?(this.v=e,this):new P(e)}function W(e,n,t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var o=t.apply(e,n||[]),r,l=[];return r=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),d("next"),d("throw"),d("return",a),r[Symbol.asyncIterator]=function(){return this},r;function a(m){return function(g){return Promise.resolve(g).then(m,c)}}function d(m,g){if(o[m]){if(r[m]=function(y){return new Promise(function(E,_){l.push([m,y,E,_])>1||u(m,y)})},g)r[m]=g(r[m])}}function u(m,g){try{f(o[m](g))}catch(y){h(l[0][3],y)}}function f(m){m.value instanceof P?Promise.resolve(m.value.v).then(p,c):h(l[0][2],m)}function p(m){u("next",m)}function c(m){u("throw",m)}function h(m,g){if(m(g),l.shift(),l.length)u(l[0][0],l[0][1])}}function z(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof eo==="function"?eo(e):e[Symbol.iterator](),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(l){t[l]=e[l]&&function(a){return new Promise(function(d,u){a=e[l](a),r(d,u,a.done,a.value)})}}function r(l,a,d,u){Promise.resolve(u).then(function(f){l({value:f,done:d})},a)}}function il(e){var n;if(e.candidates==null||e.candidates.length===0)return!1;let t=(n=e.candidates[0])===null||n===void 0?void 0:n.content;if(t===void 0)return!1;return ii(t)}function ii(e){if(e.parts===void 0||e.parts.length===0)return!1;for(let n of e.parts)if(n===void 0||Object.keys(n).length===0)return!1;return!0}function rl(e){if(e.length===0)return;for(let n of e)if(n.role!=="user"&&n.role!=="model")throw Error(`Role must be user or model, but got ${n.role}.`)}function no(e){if(e===void 0||e.length===0)return[];let n=[],t=e.length,o=0;while(o<t)if(e[o].role==="user")n.push(e[o]),o++;else{let r=[],l=!0;while(o<t&&e[o].role==="model"){if(r.push(e[o]),l&&!ii(e[o]))l=!1;o++}if(l)n.push(...r);else n.pop()}return n}class ri{constructor(e,n){this.modelsModule=e,this.apiClient=n}create(e){return new si(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class si{constructor(e,n,t,o={},r=[]){this.apiClient=e,this.modelsModule=n,this.model=t,this.config=o,this.history=r,this.sendPromise=Promise.resolve(),rl(r)}async sendMessage(e){var n;await this.sendPromise;let t=k(e.message),o=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(t),config:(n=e.config)!==null&&n!==void 0?n:this.config});return this.sendPromise=(async()=>{var r,l,a;let d=await o,u=(l=(r=d.candidates)===null||r===void 0?void 0:r[0])===null||l===void 0?void 0:l.content,f=d.automaticFunctionCallingHistory,p=this.getHistory(!0).length,c=[];if(f!=null)c=(a=f.slice(p))!==null&&a!==void 0?a:[];let h=u?[u]:[];this.recordHistory(t,h,c);return})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),o}async sendMessageStream(e){var n;await this.sendPromise;let t=k(e.message),o=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(t),config:(n=e.config)!==null&&n!==void 0?n:this.config});this.sendPromise=o.then(()=>{return}).catch(()=>{return});let r=await o;return this.processStreamResponse(r,t)}getHistory(e=!1){let n=e?no(this.history):this.history;return structuredClone(n)}processStreamResponse(e,n){return W(this,arguments,function*(){var o,r,l,a,d,u;let f=[];try{for(var p=!0,c=z(e),h;h=yield P(c.next()),o=h.done,!o;p=!0){a=h.value,p=!1;let m=a;if(il(m)){let g=(u=(d=m.candidates)===null||d===void 0?void 0:d[0])===null||u===void 0?void 0:u.content;if(g!==void 0)f.push(g)}yield yield P(m)}}catch(m){r={error:m}}finally{try{if(!p&&!o&&(l=c.return))yield P(l.call(c))}finally{if(r)throw r.error}}this.recordHistory(n,f)})}recordHistory(e,n,t){let o=[];if(n.length>0&&n.every((r)=>r.role!==void 0))o=n;else o.push({role:"model",parts:[]});if(t&&t.length>0)this.history.push(...no(t));else this.history.push(e);this.history.push(...o)}}class Je extends Error{constructor(e){super(e.message);this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,Je.prototype)}}function sl(e){let n={},t=i(e,["file"]);if(t!=null)s(n,["file"],t);return n}function ll(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function al(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function ul(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function dl(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function fl(e){let n={},t=i(e,["uris"]);if(t!=null)s(n,["uris"],t);return n}function cl(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function pl(e){let n={},t=i(e,["config"]);if(t!=null)cl(t,n);return n}function hl(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["files"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["files"],l)}return n}function ml(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["files"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(n,["files"],r)}return n}class li extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_FILES,(t)=>this.listInternal(t),await this.listInternal(n),n)}async upload(e){if(this.apiClient.isVertexAI())throw Error("Gemini Enterprise Agent Platform (previously known as 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 Error("registerFiles is only supported in Node.js environments.")}async _registerFiles(e){return this.registerFilesInternal(e)}async listInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=pl(e);return r=A("files",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=hl(d),f=new ko;return Object.assign(f,u),f})}}async createInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=sl(e);return r=A("upload/v1beta/files",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>{let u=ll(d),f=new Fo;return Object.assign(f,u),f})}}async get(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=dl(e);return r=A("files/{file}",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>d)}}async delete(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=al(e);return r=A("files/{file}",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=ul(d),f=new Vo;return Object.assign(f,u),f})}}async registerFilesInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=fl(e);return r=A("files:register",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json()),o.then((d)=>{let u=ml(d),f=new qo;return Object.assign(f,u),f})}}}function to(e){let n={};if(i(e,["languageCodes"])!==void 0)throw Error("languageCodes parameter is not supported in Gemini API.");return n}function gl(e){let n={},t=i(e,["apiKey"]);if(t!=null)s(n,["apiKey"],t);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return n}function De(e){let n={},t=i(e,["data"]);if(t!=null)s(n,["data"],t);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function yl(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Ll(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function El(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Gl(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Tl(e){let n={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let t=i(e,["fileUri"]);if(t!=null)s(n,["fileUri"],t);let o=i(e,["mimeType"]);if(o!=null)s(n,["mimeType"],o);return n}function _l(e){let n={},t=i(e,["id"]);if(t!=null)s(n,["id"],t);let o=i(e,["args"]);if(o!=null)s(n,["args"],o);let r=i(e,["name"]);if(r!=null)s(n,["name"],r);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return n}function Il(e){let n={},t=i(e,["description"]);if(t!=null)s(n,["description"],t);let o=i(e,["name"]);if(o!=null)s(n,["name"],o);let r=i(e,["parameters"]);if(r!=null)s(n,["parameters"],r);let l=i(e,["parametersJsonSchema"]);if(l!=null)s(n,["parametersJsonSchema"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],a);let d=i(e,["responseJsonSchema"]);if(d!=null)s(n,["responseJsonSchema"],d);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Cl(e){let n={},t=i(e,["modelSelectionConfig"]);if(t!=null)s(n,["modelConfig"],t);let o=i(e,["responseJsonSchema"]);if(o!=null)s(n,["responseJsonSchema"],o);let r=i(e,["audioTimestamp"]);if(r!=null)s(n,["audioTimestamp"],r);let l=i(e,["candidateCount"]);if(l!=null)s(n,["candidateCount"],l);let a=i(e,["enableAffectiveDialog"]);if(a!=null)s(n,["enableAffectiveDialog"],a);let d=i(e,["frequencyPenalty"]);if(d!=null)s(n,["frequencyPenalty"],d);let u=i(e,["logprobs"]);if(u!=null)s(n,["logprobs"],u);let f=i(e,["maxOutputTokens"]);if(f!=null)s(n,["maxOutputTokens"],f);let p=i(e,["mediaResolution"]);if(p!=null)s(n,["mediaResolution"],p);let c=i(e,["presencePenalty"]);if(c!=null)s(n,["presencePenalty"],c);let h=i(e,["responseLogprobs"]);if(h!=null)s(n,["responseLogprobs"],h);let m=i(e,["responseMimeType"]);if(m!=null)s(n,["responseMimeType"],m);let g=i(e,["responseModalities"]);if(g!=null)s(n,["responseModalities"],g);let y=i(e,["responseSchema"]);if(y!=null)s(n,["responseSchema"],y);let E=i(e,["routingConfig"]);if(E!=null)s(n,["routingConfig"],E);let _=i(e,["seed"]);if(_!=null)s(n,["seed"],_);let C=i(e,["speechConfig"]);if(C!=null)s(n,["speechConfig"],C);let v=i(e,["stopSequences"]);if(v!=null)s(n,["stopSequences"],v);let S=i(e,["temperature"]);if(S!=null)s(n,["temperature"],S);let w=i(e,["thinkingConfig"]);if(w!=null)s(n,["thinkingConfig"],w);let T=i(e,["topK"]);if(T!=null)s(n,["topK"],T);let N=i(e,["topP"]);if(N!=null)s(n,["topP"],N);if(i(e,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Al(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],gl(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function vl(e){let n={},t=i(e,["searchTypes"]);if(t!=null)s(n,["searchTypes"],t);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let o=i(e,["timeRangeFilter"]);if(o!=null)s(n,["timeRangeFilter"],o);return n}function Sl(e,n){let t={},o=i(e,["generationConfig"]);if(n!==void 0&&o!=null)s(n,["setup","generationConfig"],o);let r=i(e,["responseModalities"]);if(n!==void 0&&r!=null)s(n,["setup","generationConfig","responseModalities"],r);let l=i(e,["temperature"]);if(n!==void 0&&l!=null)s(n,["setup","generationConfig","temperature"],l);let a=i(e,["topP"]);if(n!==void 0&&a!=null)s(n,["setup","generationConfig","topP"],a);let d=i(e,["topK"]);if(n!==void 0&&d!=null)s(n,["setup","generationConfig","topK"],d);let u=i(e,["maxOutputTokens"]);if(n!==void 0&&u!=null)s(n,["setup","generationConfig","maxOutputTokens"],u);let f=i(e,["mediaResolution"]);if(n!==void 0&&f!=null)s(n,["setup","generationConfig","mediaResolution"],f);let p=i(e,["seed"]);if(n!==void 0&&p!=null)s(n,["setup","generationConfig","seed"],p);let c=i(e,["speechConfig"]);if(n!==void 0&&c!=null)s(n,["setup","generationConfig","speechConfig"],Sn(c));let h=i(e,["thinkingConfig"]);if(n!==void 0&&h!=null)s(n,["setup","generationConfig","thinkingConfig"],h);let m=i(e,["enableAffectiveDialog"]);if(n!==void 0&&m!=null)s(n,["setup","generationConfig","enableAffectiveDialog"],m);let g=i(e,["systemInstruction"]);if(n!==void 0&&g!=null)s(n,["setup","systemInstruction"],yl(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let I=ye(y);if(Array.isArray(I))I=I.map((R)=>Vl(ge(R)));s(n,["setup","tools"],I)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],Fl(E));let _=i(e,["inputAudioTranscription"]);if(n!==void 0&&_!=null)s(n,["setup","inputAudioTranscription"],to(_));let C=i(e,["outputAudioTranscription"]);if(n!==void 0&&C!=null)s(n,["setup","outputAudioTranscription"],to(C));let v=i(e,["realtimeInputConfig"]);if(n!==void 0&&v!=null)s(n,["setup","realtimeInputConfig"],v);let S=i(e,["contextWindowCompression"]);if(n!==void 0&&S!=null)s(n,["setup","contextWindowCompression"],S);let w=i(e,["proactivity"]);if(n!==void 0&&w!=null)s(n,["setup","proactivity"],w);if(i(e,["explicitVadSignal"])!==void 0)throw Error("explicitVadSignal parameter is not supported in Gemini API.");let T=i(e,["avatarConfig"]);if(n!==void 0&&T!=null)s(n,["setup","avatarConfig"],T);let N=i(e,["safetySettings"]);if(n!==void 0&&N!=null){let I=N;if(Array.isArray(I))I=I.map((R)=>kl(R));s(n,["setup","safetySettings"],I)}return t}function Rl(e,n){let t={},o=i(e,["generationConfig"]);if(n!==void 0&&o!=null)s(n,["setup","generationConfig"],Cl(o));let r=i(e,["responseModalities"]);if(n!==void 0&&r!=null)s(n,["setup","generationConfig","responseModalities"],r);let l=i(e,["temperature"]);if(n!==void 0&&l!=null)s(n,["setup","generationConfig","temperature"],l);let a=i(e,["topP"]);if(n!==void 0&&a!=null)s(n,["setup","generationConfig","topP"],a);let d=i(e,["topK"]);if(n!==void 0&&d!=null)s(n,["setup","generationConfig","topK"],d);let u=i(e,["maxOutputTokens"]);if(n!==void 0&&u!=null)s(n,["setup","generationConfig","maxOutputTokens"],u);let f=i(e,["mediaResolution"]);if(n!==void 0&&f!=null)s(n,["setup","generationConfig","mediaResolution"],f);let p=i(e,["seed"]);if(n!==void 0&&p!=null)s(n,["setup","generationConfig","seed"],p);let c=i(e,["speechConfig"]);if(n!==void 0&&c!=null)s(n,["setup","generationConfig","speechConfig"],Sn(c));let h=i(e,["thinkingConfig"]);if(n!==void 0&&h!=null)s(n,["setup","generationConfig","thinkingConfig"],h);let m=i(e,["enableAffectiveDialog"]);if(n!==void 0&&m!=null)s(n,["setup","generationConfig","enableAffectiveDialog"],m);let g=i(e,["systemInstruction"]);if(n!==void 0&&g!=null)s(n,["setup","systemInstruction"],El(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let R=ye(y);if(Array.isArray(R))R=R.map((D)=>ql(ge(D)));s(n,["setup","tools"],R)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],E);let _=i(e,["inputAudioTranscription"]);if(n!==void 0&&_!=null)s(n,["setup","inputAudioTranscription"],_);let C=i(e,["outputAudioTranscription"]);if(n!==void 0&&C!=null)s(n,["setup","outputAudioTranscription"],C);let v=i(e,["realtimeInputConfig"]);if(n!==void 0&&v!=null)s(n,["setup","realtimeInputConfig"],v);let S=i(e,["contextWindowCompression"]);if(n!==void 0&&S!=null)s(n,["setup","contextWindowCompression"],S);let w=i(e,["proactivity"]);if(n!==void 0&&w!=null)s(n,["setup","proactivity"],w);let T=i(e,["explicitVadSignal"]);if(n!==void 0&&T!=null)s(n,["setup","explicitVadSignal"],T);let N=i(e,["avatarConfig"]);if(n!==void 0&&N!=null)s(n,["setup","avatarConfig"],N);let I=i(e,["safetySettings"]);if(n!==void 0&&I!=null){let R=I;if(Array.isArray(R))R=R.map((D)=>D);s(n,["setup","safetySettings"],R)}return t}function Pl(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["setup","model"],M(e,o));let r=i(n,["config"]);if(r!=null)s(t,["config"],Sl(r,t));return t}function wl(e,n){let t={},o=i(n,["model"]);if(o!=null)s(t,["setup","model"],M(e,o));let r=i(n,["config"]);if(r!=null)s(t,["config"],Rl(r,t));return t}function Nl(e){let n={},t=i(e,["musicGenerationConfig"]);if(t!=null)s(n,["musicGenerationConfig"],t);return n}function Ml(e){let n={},t=i(e,["weightedPrompts"]);if(t!=null){let o=t;if(Array.isArray(o))o=o.map((r)=>r);s(n,["weightedPrompts"],o)}return n}function Dl(e){let n={},t=i(e,["media"]);if(t!=null){let f=bo(t);if(Array.isArray(f))f=f.map((p)=>De(p));s(n,["mediaChunks"],f)}let o=i(e,["audio"]);if(o!=null)s(n,["audio"],De(Oo(o)));let r=i(e,["audioStreamEnd"]);if(r!=null)s(n,["audioStreamEnd"],r);let l=i(e,["video"]);if(l!=null)s(n,["video"],De($o(l)));let a=i(e,["text"]);if(a!=null)s(n,["text"],a);let d=i(e,["activityStart"]);if(d!=null)s(n,["activityStart"],d);let u=i(e,["activityEnd"]);if(u!=null)s(n,["activityEnd"],u);return n}function xl(e){let n={},t=i(e,["media"]);if(t!=null){let f=bo(t);if(Array.isArray(f))f=f.map((p)=>p);s(n,["mediaChunks"],f)}let o=i(e,["audio"]);if(o!=null)s(n,["audio"],Oo(o));let r=i(e,["audioStreamEnd"]);if(r!=null)s(n,["audioStreamEnd"],r);let l=i(e,["video"]);if(l!=null)s(n,["video"],$o(l));let a=i(e,["text"]);if(a!=null)s(n,["text"],a);let d=i(e,["activityStart"]);if(d!=null)s(n,["activityStart"],d);let u=i(e,["activityEnd"]);if(u!=null)s(n,["activityEnd"],u);return n}function Ul(e){let n={},t=i(e,["setupComplete"]);if(t!=null)s(n,["setupComplete"],t);let o=i(e,["serverContent"]);if(o!=null)s(n,["serverContent"],o);let r=i(e,["toolCall"]);if(r!=null)s(n,["toolCall"],r);let l=i(e,["toolCallCancellation"]);if(l!=null)s(n,["toolCallCancellation"],l);let a=i(e,["usageMetadata"]);if(a!=null)s(n,["usageMetadata"],Hl(a));let d=i(e,["goAway"]);if(d!=null)s(n,["goAway"],d);let u=i(e,["sessionResumptionUpdate"]);if(u!=null)s(n,["sessionResumptionUpdate"],u);let f=i(e,["voiceActivityDetectionSignal"]);if(f!=null)s(n,["voiceActivityDetectionSignal"],f);let p=i(e,["voiceActivity"]);if(p!=null)s(n,["voiceActivity"],Bl(p));return n}function Ll(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],Tl(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],_l(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],De(u));let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);let m=i(e,["toolCall"]);if(m!=null)s(n,["toolCall"],m);let g=i(e,["toolResponse"]);if(g!=null)s(n,["toolResponse"],g);let y=i(e,["partMetadata"]);if(y!=null)s(n,["partMetadata"],y);return n}function Gl(e){let n={},t=i(e,["mediaResolution"]);if(t!=null)s(n,["mediaResolution"],t);let o=i(e,["codeExecutionResult"]);if(o!=null)s(n,["codeExecutionResult"],o);let r=i(e,["executableCode"]);if(r!=null)s(n,["executableCode"],r);let l=i(e,["fileData"]);if(l!=null)s(n,["fileData"],l);let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],a);let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],u);let f=i(e,["text"]);if(f!=null)s(n,["text"],f);let p=i(e,["thought"]);if(p!=null)s(n,["thought"],p);let c=i(e,["thoughtSignature"]);if(c!=null)s(n,["thoughtSignature"],c);let h=i(e,["videoMetadata"]);if(h!=null)s(n,["videoMetadata"],h);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function kl(e){let n={},t=i(e,["category"]);if(t!=null)s(n,["category"],t);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let o=i(e,["threshold"]);if(o!=null)s(n,["threshold"],o);return n}function Fl(e){let n={},t=i(e,["handle"]);if(t!=null)s(n,["handle"],t);if(i(e,["transparent"])!==void 0)throw Error("transparent parameter is not supported in Gemini API.");return n}function Vl(e){let n={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let t=i(e,["computerUse"]);if(t!=null)s(n,["computerUse"],t);let o=i(e,["fileSearch"]);if(o!=null)s(n,["fileSearch"],o);let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],vl(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Al(l));let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let d=i(e,["functionDeclarations"]);if(d!=null){let c=d;if(Array.isArray(c))c=c.map((h)=>h);s(n,["functionDeclarations"],c)}let u=i(e,["googleSearchRetrieval"]);if(u!=null)s(n,["googleSearchRetrieval"],u);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let f=i(e,["urlContext"]);if(f!=null)s(n,["urlContext"],f);let p=i(e,["mcpServers"]);if(p!=null){let c=p;if(Array.isArray(c))c=c.map((h)=>h);s(n,["mcpServers"],c)}return n}function ql(e){let n={},t=i(e,["retrieval"]);if(t!=null)s(n,["retrieval"],t);let o=i(e,["computerUse"]);if(o!=null)s(n,["computerUse"],o);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let r=i(e,["googleSearch"]);if(r!=null)s(n,["googleSearch"],r);let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],l);let a=i(e,["codeExecution"]);if(a!=null)s(n,["codeExecution"],a);let d=i(e,["enterpriseWebSearch"]);if(d!=null)s(n,["enterpriseWebSearch"],d);let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>Il(m));s(n,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(n,["googleSearchRetrieval"],f);let p=i(e,["parallelAiSearch"]);if(p!=null)s(n,["parallelAiSearch"],p);let c=i(e,["urlContext"]);if(c!=null)s(n,["urlContext"],c);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return n}function Hl(e){let n={},t=i(e,["promptTokenCount"]);if(t!=null)s(n,["promptTokenCount"],t);let o=i(e,["cachedContentTokenCount"]);if(o!=null)s(n,["cachedContentTokenCount"],o);let r=i(e,["candidatesTokenCount"]);if(r!=null)s(n,["responseTokenCount"],r);let l=i(e,["toolUsePromptTokenCount"]);if(l!=null)s(n,["toolUsePromptTokenCount"],l);let a=i(e,["thoughtsTokenCount"]);if(a!=null)s(n,["thoughtsTokenCount"],a);let d=i(e,["totalTokenCount"]);if(d!=null)s(n,["totalTokenCount"],d);let u=i(e,["promptTokensDetails"]);if(u!=null){let m=u;if(Array.isArray(m))m=m.map((g)=>g);s(n,["promptTokensDetails"],m)}let f=i(e,["cacheTokensDetails"]);if(f!=null){let m=f;if(Array.isArray(m))m=m.map((g)=>g);s(n,["cacheTokensDetails"],m)}let p=i(e,["candidatesTokensDetails"]);if(p!=null){let m=p;if(Array.isArray(m))m=m.map((g)=>g);s(n,["responseTokensDetails"],m)}let c=i(e,["toolUsePromptTokensDetails"]);if(c!=null){let m=c;if(Array.isArray(m))m=m.map((g)=>g);s(n,["toolUsePromptTokensDetails"],m)}let h=i(e,["trafficType"]);if(h!=null)s(n,["trafficType"],h);return n}function Bl(e){let n={},t=i(e,["type"]);if(t!=null)s(n,["voiceActivityType"],t);return n}function Jl(e,n){let t={},o=i(e,["apiKey"]);if(o!=null)s(t,["apiKey"],o);if(i(e,["apiKeyConfig"])!==void 0)throw Error("apiKeyConfig parameter is not supported in Gemini API.");if(i(e,["authType"])!==void 0)throw Error("authType parameter is not supported in Gemini API.");if(i(e,["googleServiceAccountConfig"])!==void 0)throw Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(i(e,["httpBasicAuthConfig"])!==void 0)throw Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(i(e,["oauthConfig"])!==void 0)throw Error("oauthConfig parameter is not supported in Gemini API.");if(i(e,["oidcConfig"])!==void 0)throw Error("oidcConfig parameter is not supported in Gemini API.");return t}function bl(e,n){let t={},o=i(e,["data"]);if(o!=null)s(t,["data"],o);if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function $l(e,n){let t={},o=i(e,["content"]);if(o!=null)s(t,["content"],o);let r=i(e,["citationMetadata"]);if(r!=null)s(t,["citationMetadata"],Ol(r));let l=i(e,["tokenCount"]);if(l!=null)s(t,["tokenCount"],l);let a=i(e,["finishReason"]);if(a!=null)s(t,["finishReason"],a);let d=i(e,["groundingMetadata"]);if(d!=null)s(t,["groundingMetadata"],d);let u=i(e,["avgLogprobs"]);if(u!=null)s(t,["avgLogprobs"],u);let f=i(e,["index"]);if(f!=null)s(t,["index"],f);let p=i(e,["logprobsResult"]);if(p!=null)s(t,["logprobsResult"],p);let c=i(e,["safetyRatings"]);if(c!=null){let m=c;if(Array.isArray(m))m=m.map((g)=>g);s(t,["safetyRatings"],m)}let h=i(e,["urlContextMetadata"]);if(h!=null)s(t,["urlContextMetadata"],h);return t}function Ol(e,n){let t={},o=i(e,["citationSources"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(t,["citations"],r)}return t}function Kl(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let a=q(l);if(Array.isArray(a))a=a.map((d)=>Te(d));s(o,["contents"],a)}return o}function Yl(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["tokensInfo"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(t,["tokensInfo"],l)}return t}function Wl(e,n){let t={},o=i(e,["values"]);if(o!=null)s(t,["values"],o);let r=i(e,["statistics"]);if(r!=null)s(t,["statistics"],zl(r));return t}function zl(e,n){let t={},o=i(e,["truncated"]);if(o!=null)s(t,["truncated"],o);let r=i(e,["token_count"]);if(r!=null)s(t,["tokenCount"],r);return t}function ve(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>su(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function Te(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>lu(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function Xl(e,n){let t={},o=i(e,["controlType"]);if(o!=null)s(t,["controlType"],o);let r=i(e,["enableControlImageComputation"]);if(r!=null)s(t,["computeControl"],r);return t}function Ql(e,n){let t={};if(i(e,["systemInstruction"])!==void 0)throw Error("systemInstruction parameter is not supported in Gemini API.");if(i(e,["tools"])!==void 0)throw Error("tools parameter is not supported in Gemini API.");if(i(e,["generationConfig"])!==void 0)throw Error("generationConfig parameter is not supported in Gemini API.");return t}function Zl(e,n,t){let o={},r=i(e,["systemInstruction"]);if(n!==void 0&&r!=null)s(n,["systemInstruction"],Te(k(r)));let l=i(e,["tools"]);if(n!==void 0&&l!=null){let d=l;if(Array.isArray(d))d=d.map((u)=>fi(u));s(n,["tools"],d)}let a=i(e,["generationConfig"]);if(n!==void 0&&a!=null)s(n,["generationConfig"],Oa(a));return o}function jl(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>ve(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)Ql(a);return o}function ea(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>Te(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)Zl(a,o);return o}function na(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["totalTokens"]);if(r!=null)s(t,["totalTokens"],r);let l=i(e,["cachedContentTokenCount"]);if(l!=null)s(t,["cachedContentTokenCount"],l);return t}function ta(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["totalTokens"]);if(r!=null)s(t,["totalTokens"],r);return t}function oa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ia(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ra(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function sa(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function la(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["negativePrompt"]);if(n!==void 0&&l!=null)s(n,["parameters","negativePrompt"],l);let a=i(e,["numberOfImages"]);if(n!==void 0&&a!=null)s(n,["parameters","sampleCount"],a);let d=i(e,["aspectRatio"]);if(n!==void 0&&d!=null)s(n,["parameters","aspectRatio"],d);let u=i(e,["guidanceScale"]);if(n!==void 0&&u!=null)s(n,["parameters","guidanceScale"],u);let f=i(e,["seed"]);if(n!==void 0&&f!=null)s(n,["parameters","seed"],f);let p=i(e,["safetyFilterLevel"]);if(n!==void 0&&p!=null)s(n,["parameters","safetySetting"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["includeSafetyAttributes"]);if(n!==void 0&&h!=null)s(n,["parameters","includeSafetyAttributes"],h);let m=i(e,["includeRaiReason"]);if(n!==void 0&&m!=null)s(n,["parameters","includeRaiReason"],m);let g=i(e,["language"]);if(n!==void 0&&g!=null)s(n,["parameters","language"],g);let y=i(e,["outputMimeType"]);if(n!==void 0&&y!=null)s(n,["parameters","outputOptions","mimeType"],y);let E=i(e,["outputCompressionQuality"]);if(n!==void 0&&E!=null)s(n,["parameters","outputOptions","compressionQuality"],E);let _=i(e,["addWatermark"]);if(n!==void 0&&_!=null)s(n,["parameters","addWatermark"],_);let C=i(e,["labels"]);if(n!==void 0&&C!=null)s(n,["labels"],C);let v=i(e,["editMode"]);if(n!==void 0&&v!=null)s(n,["parameters","editMode"],v);let S=i(e,["baseSteps"]);if(n!==void 0&&S!=null)s(n,["parameters","editConfig","baseSteps"],S);return o}function aa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["referenceImages"]);if(a!=null){let u=a;if(Array.isArray(u))u=u.map((f)=>pu(f));s(o,["instances[0]","referenceImages"],u)}let d=i(n,["config"]);if(d!=null)la(d,o);return o}function ua(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>be(a));s(t,["generatedImages"],l)}return t}function da(e,n,t){let o={},r=i(e,["taskType"]);if(n!==void 0&&r!=null)s(n,["requests[]","taskType"],r);let l=i(e,["title"]);if(n!==void 0&&l!=null)s(n,["requests[]","title"],l);let a=i(e,["outputDimensionality"]);if(n!==void 0&&a!=null)s(n,["requests[]","outputDimensionality"],a);if(i(e,["mimeType"])!==void 0)throw Error("mimeType parameter is not supported in Gemini API.");if(i(e,["autoTruncate"])!==void 0)throw Error("autoTruncate parameter is not supported in Gemini API.");if(i(e,["documentOcr"])!==void 0)throw Error("documentOcr parameter is not supported in Gemini API.");if(i(e,["audioTrackExtraction"])!==void 0)throw Error("audioTrackExtraction parameter is not supported in Gemini API.");return o}function fa(e,n,t){let o={},r=i(t,["embeddingApiType"]);if(r===void 0)r="PREDICT";if(r==="PREDICT"){let c=i(e,["taskType"]);if(n!==void 0&&c!=null)s(n,["instances[]","task_type"],c)}else if(r==="EMBED_CONTENT"){let c=i(e,["taskType"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","taskType"],c)}let l=i(t,["embeddingApiType"]);if(l===void 0)l="PREDICT";if(l==="PREDICT"){let c=i(e,["title"]);if(n!==void 0&&c!=null)s(n,["instances[]","title"],c)}else if(l==="EMBED_CONTENT"){let c=i(e,["title"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","title"],c)}let a=i(t,["embeddingApiType"]);if(a===void 0)a="PREDICT";if(a==="PREDICT"){let c=i(e,["outputDimensionality"]);if(n!==void 0&&c!=null)s(n,["parameters","outputDimensionality"],c)}else if(a==="EMBED_CONTENT"){let c=i(e,["outputDimensionality"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","outputDimensionality"],c)}let d=i(t,["embeddingApiType"]);if(d===void 0)d="PREDICT";if(d==="PREDICT"){let c=i(e,["mimeType"]);if(n!==void 0&&c!=null)s(n,["instances[]","mimeType"],c)}let u=i(t,["embeddingApiType"]);if(u===void 0)u="PREDICT";if(u==="PREDICT"){let c=i(e,["autoTruncate"]);if(n!==void 0&&c!=null)s(n,["parameters","autoTruncate"],c)}else if(u==="EMBED_CONTENT"){let c=i(e,["autoTruncate"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","autoTruncate"],c)}let f=i(t,["embeddingApiType"]);if(f===void 0)f="PREDICT";if(f==="EMBED_CONTENT"){let c=i(e,["documentOcr"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","documentOcr"],c)}let p=i(t,["embeddingApiType"]);if(p===void 0)p="PREDICT";if(p==="EMBED_CONTENT"){let c=i(e,["audioTrackExtraction"]);if(n!==void 0&&c!=null)s(n,["embedContentConfig","audioTrackExtraction"],c)}return o}function ca(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let f=Cn(e,l);if(Array.isArray(f))f=f.map((p)=>p);s(o,["requests[]","content"],f)}let a=i(n,["content"]);if(a!=null)ve(k(a));let d=i(n,["config"]);if(d!=null)da(d,o);let u=i(n,["model"]);if(u!==void 0)s(o,["requests[]","model"],M(e,u));return o}function pa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(t,["embeddingApiType"]);if(l===void 0)l="PREDICT";if(l==="PREDICT"){let u=i(n,["contents"]);if(u!=null){let f=Cn(e,u);if(Array.isArray(f))f=f.map((p)=>p);s(o,["instances[]","content"],f)}}let a=i(t,["embeddingApiType"]);if(a===void 0)a="PREDICT";if(a==="EMBED_CONTENT"){let u=i(n,["content"]);if(u!=null)s(o,["content"],Te(k(u)))}let d=i(n,["config"]);if(d!=null)fa(d,o,t);return o}function ha(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["embeddings"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>d);s(t,["embeddings"],a)}let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);return t}function ma(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions[]","embeddings"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>Wl(d));s(t,["embeddings"],a)}let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);if(n&&i(n,["embeddingApiType"])==="EMBED_CONTENT"){let a=i(e,["embedding"]),d=i(e,["usageMetadata"]),u=i(e,["truncated"]);if(a){let f={};if(d&&d.promptTokenCount)f.tokenCount=d.promptTokenCount;if(u)f.truncated=u;a.statistics=f,s(t,["embeddings"],[a])}}return t}function ga(e,n){let t={},o=i(e,["endpoint"]);if(o!=null)s(t,["name"],o);let r=i(e,["deployedModelId"]);if(r!=null)s(t,["deployedModelId"],r);return t}function ya(e,n){let t={};if(i(e,["displayName"])!==void 0)throw Error("displayName parameter is not supported in Gemini API.");let o=i(e,["fileUri"]);if(o!=null)s(t,["fileUri"],o);let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function Ea(e,n){let t={},o=i(e,["id"]);if(o!=null)s(t,["id"],o);let r=i(e,["args"]);if(r!=null)s(t,["args"],r);let l=i(e,["name"]);if(l!=null)s(t,["name"],l);if(i(e,["partialArgs"])!==void 0)throw Error("partialArgs parameter is not supported in Gemini API.");if(i(e,["willContinue"])!==void 0)throw Error("willContinue parameter is not supported in Gemini API.");return t}function Ta(e,n){let t={},o=i(e,["allowedFunctionNames"]);if(o!=null)s(t,["allowedFunctionNames"],o);let r=i(e,["mode"]);if(r!=null)s(t,["mode"],r);if(i(e,["streamFunctionCallArguments"])!==void 0)throw Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return t}function Ia(e,n){let t={},o=i(e,["description"]);if(o!=null)s(t,["description"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["parameters"]);if(l!=null)s(t,["parameters"],l);let a=i(e,["parametersJsonSchema"]);if(a!=null)s(t,["parametersJsonSchema"],a);let d=i(e,["response"]);if(d!=null)s(t,["response"],d);let u=i(e,["responseJsonSchema"]);if(u!=null)s(t,["responseJsonSchema"],u);if(i(e,["behavior"])!==void 0)throw Error("behavior parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Ca(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],ve(k(l)));let a=i(n,["temperature"]);if(a!=null)s(r,["temperature"],a);let d=i(n,["topP"]);if(d!=null)s(r,["topP"],d);let u=i(n,["topK"]);if(u!=null)s(r,["topK"],u);let f=i(n,["candidateCount"]);if(f!=null)s(r,["candidateCount"],f);let p=i(n,["maxOutputTokens"]);if(p!=null)s(r,["maxOutputTokens"],p);let c=i(n,["stopSequences"]);if(c!=null)s(r,["stopSequences"],c);let h=i(n,["responseLogprobs"]);if(h!=null)s(r,["responseLogprobs"],h);let m=i(n,["logprobs"]);if(m!=null)s(r,["logprobs"],m);let g=i(n,["presencePenalty"]);if(g!=null)s(r,["presencePenalty"],g);let y=i(n,["frequencyPenalty"]);if(y!=null)s(r,["frequencyPenalty"],y);let E=i(n,["seed"]);if(E!=null)s(r,["seed"],E);let _=i(n,["responseMimeType"]);if(_!=null)s(r,["responseMimeType"],_);let C=i(n,["responseSchema"]);if(C!=null)s(r,["responseSchema"],An(C));let v=i(n,["responseJsonSchema"]);if(v!=null)s(r,["responseJsonSchema"],v);if(i(n,["routingConfig"])!==void 0)throw Error("routingConfig parameter is not supported in Gemini API.");if(i(n,["modelSelectionConfig"])!==void 0)throw Error("modelSelectionConfig parameter is not supported in Gemini API.");let S=i(n,["safetySettings"]);if(t!==void 0&&S!=null){let L=S;if(Array.isArray(L))L=L.map((Z)=>hu(Z));s(t,["safetySettings"],L)}let w=i(n,["tools"]);if(t!==void 0&&w!=null){let L=ye(w);if(Array.isArray(L))L=L.map((Z)=>Au(ge(Z)));s(t,["tools"],L)}let T=i(n,["toolConfig"]);if(t!==void 0&&T!=null)s(t,["toolConfig"],_u(T));if(i(n,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let N=i(n,["cachedContent"]);if(t!==void 0&&N!=null)s(t,["cachedContent"],ee(e,N));let I=i(n,["responseModalities"]);if(I!=null)s(r,["responseModalities"],I);let R=i(n,["mediaResolution"]);if(R!=null)s(r,["mediaResolution"],R);let D=i(n,["speechConfig"]);if(D!=null)s(r,["speechConfig"],vn(D));if(i(n,["audioTimestamp"])!==void 0)throw Error("audioTimestamp parameter is not supported in Gemini API.");let B=i(n,["thinkingConfig"]);if(B!=null)s(r,["thinkingConfig"],B);let b=i(n,["imageConfig"]);if(b!=null)s(r,["imageConfig"],Xa(b));let O=i(n,["enableEnhancedCivicAnswers"]);if(O!=null)s(r,["enableEnhancedCivicAnswers"],O);if(i(n,["modelArmorConfig"])!==void 0)throw Error("modelArmorConfig parameter is not supported in Gemini API.");let G=i(n,["serviceTier"]);if(t!==void 0&&G!=null)s(t,["serviceTier"],G);return r}function va(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],Te(k(l)));let a=i(n,["temperature"]);if(a!=null)s(r,["temperature"],a);let d=i(n,["topP"]);if(d!=null)s(r,["topP"],d);let u=i(n,["topK"]);if(u!=null)s(r,["topK"],u);let f=i(n,["candidateCount"]);if(f!=null)s(r,["candidateCount"],f);let p=i(n,["maxOutputTokens"]);if(p!=null)s(r,["maxOutputTokens"],p);let c=i(n,["stopSequences"]);if(c!=null)s(r,["stopSequences"],c);let h=i(n,["responseLogprobs"]);if(h!=null)s(r,["responseLogprobs"],h);let m=i(n,["logprobs"]);if(m!=null)s(r,["logprobs"],m);let g=i(n,["presencePenalty"]);if(g!=null)s(r,["presencePenalty"],g);let y=i(n,["frequencyPenalty"]);if(y!=null)s(r,["frequencyPenalty"],y);let E=i(n,["seed"]);if(E!=null)s(r,["seed"],E);let _=i(n,["responseMimeType"]);if(_!=null)s(r,["responseMimeType"],_);let C=i(n,["responseSchema"]);if(C!=null)s(r,["responseSchema"],An(C));let v=i(n,["responseJsonSchema"]);if(v!=null)s(r,["responseJsonSchema"],v);let S=i(n,["routingConfig"]);if(S!=null)s(r,["routingConfig"],S);let w=i(n,["modelSelectionConfig"]);if(w!=null)s(r,["modelConfig"],w);let T=i(n,["safetySettings"]);if(t!==void 0&&T!=null){let K=T;if(Array.isArray(K))K=K.map((Ye)=>Ye);s(t,["safetySettings"],K)}let N=i(n,["tools"]);if(t!==void 0&&N!=null){let K=ye(N);if(Array.isArray(K))K=K.map((Ye)=>fi(ge(Ye)));s(t,["tools"],K)}let I=i(n,["toolConfig"]);if(t!==void 0&&I!=null)s(t,["toolConfig"],Iu(I));let R=i(n,["labels"]);if(t!==void 0&&R!=null)s(t,["labels"],R);let D=i(n,["cachedContent"]);if(t!==void 0&&D!=null)s(t,["cachedContent"],ee(e,D));let B=i(n,["responseModalities"]);if(B!=null)s(r,["responseModalities"],B);let b=i(n,["mediaResolution"]);if(b!=null)s(r,["mediaResolution"],b);let O=i(n,["speechConfig"]);if(O!=null)s(r,["speechConfig"],vn(O));let G=i(n,["audioTimestamp"]);if(G!=null)s(r,["audioTimestamp"],G);let L=i(n,["thinkingConfig"]);if(L!=null)s(r,["thinkingConfig"],L);let Z=i(n,["imageConfig"]);if(Z!=null)s(r,["imageConfig"],Qa(Z));if(i(n,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let _e=i(n,["modelArmorConfig"]);if(t!==void 0&&_e!=null)s(t,["modelArmorConfig"],_e);let ae=i(n,["serviceTier"]);if(t!==void 0&&ae!=null)s(t,["serviceTier"],ae);return r}function oo(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>ve(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],Ca(e,a,o));return o}function io(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>Te(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],va(e,a,o));return o}function ro(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["candidates"]);if(r!=null){let p=r;if(Array.isArray(p))p=p.map((c)=>$l(c));s(t,["candidates"],p)}let l=i(e,["modelVersion"]);if(l!=null)s(t,["modelVersion"],l);let a=i(e,["promptFeedback"]);if(a!=null)s(t,["promptFeedback"],a);let d=i(e,["responseId"]);if(d!=null)s(t,["responseId"],d);let u=i(e,["usageMetadata"]);if(u!=null)s(t,["usageMetadata"],u);let f=i(e,["modelStatus"]);if(f!=null)s(t,["modelStatus"],f);return t}function so(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["candidates"]);if(r!=null){let p=r;if(Array.isArray(p))p=p.map((c)=>c);s(t,["candidates"],p)}let l=i(e,["createTime"]);if(l!=null)s(t,["createTime"],l);let a=i(e,["modelVersion"]);if(a!=null)s(t,["modelVersion"],a);let d=i(e,["promptFeedback"]);if(d!=null)s(t,["promptFeedback"],d);let u=i(e,["responseId"]);if(u!=null)s(t,["responseId"],u);let f=i(e,["usageMetadata"]);if(f!=null)s(t,["usageMetadata"],f);return t}function Sa(e,n,t){let o={};if(i(e,["outputGcsUri"])!==void 0)throw Error("outputGcsUri parameter is not supported in Gemini API.");if(i(e,["negativePrompt"])!==void 0)throw Error("negativePrompt parameter is not supported in Gemini API.");let r=i(e,["numberOfImages"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["aspectRatio"]);if(n!==void 0&&l!=null)s(n,["parameters","aspectRatio"],l);let a=i(e,["guidanceScale"]);if(n!==void 0&&a!=null)s(n,["parameters","guidanceScale"],a);if(i(e,["seed"])!==void 0)throw Error("seed parameter is not supported in Gemini API.");let d=i(e,["safetyFilterLevel"]);if(n!==void 0&&d!=null)s(n,["parameters","safetySetting"],d);let u=i(e,["personGeneration"]);if(n!==void 0&&u!=null)s(n,["parameters","personGeneration"],u);let f=i(e,["includeSafetyAttributes"]);if(n!==void 0&&f!=null)s(n,["parameters","includeSafetyAttributes"],f);let p=i(e,["includeRaiReason"]);if(n!==void 0&&p!=null)s(n,["parameters","includeRaiReason"],p);let c=i(e,["language"]);if(n!==void 0&&c!=null)s(n,["parameters","language"],c);let h=i(e,["outputMimeType"]);if(n!==void 0&&h!=null)s(n,["parameters","outputOptions","mimeType"],h);let m=i(e,["outputCompressionQuality"]);if(n!==void 0&&m!=null)s(n,["parameters","outputOptions","compressionQuality"],m);if(i(e,["addWatermark"])!==void 0)throw Error("addWatermark parameter is not supported in Gemini API.");if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let g=i(e,["imageSize"]);if(n!==void 0&&g!=null)s(n,["parameters","sampleImageSize"],g);if(i(e,["enhancePrompt"])!==void 0)throw Error("enhancePrompt parameter is not supported in Gemini API.");return o}function Ra(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["negativePrompt"]);if(n!==void 0&&l!=null)s(n,["parameters","negativePrompt"],l);let a=i(e,["numberOfImages"]);if(n!==void 0&&a!=null)s(n,["parameters","sampleCount"],a);let d=i(e,["aspectRatio"]);if(n!==void 0&&d!=null)s(n,["parameters","aspectRatio"],d);let u=i(e,["guidanceScale"]);if(n!==void 0&&u!=null)s(n,["parameters","guidanceScale"],u);let f=i(e,["seed"]);if(n!==void 0&&f!=null)s(n,["parameters","seed"],f);let p=i(e,["safetyFilterLevel"]);if(n!==void 0&&p!=null)s(n,["parameters","safetySetting"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["includeSafetyAttributes"]);if(n!==void 0&&h!=null)s(n,["parameters","includeSafetyAttributes"],h);let m=i(e,["includeRaiReason"]);if(n!==void 0&&m!=null)s(n,["parameters","includeRaiReason"],m);let g=i(e,["language"]);if(n!==void 0&&g!=null)s(n,["parameters","language"],g);let y=i(e,["outputMimeType"]);if(n!==void 0&&y!=null)s(n,["parameters","outputOptions","mimeType"],y);let E=i(e,["outputCompressionQuality"]);if(n!==void 0&&E!=null)s(n,["parameters","outputOptions","compressionQuality"],E);let _=i(e,["addWatermark"]);if(n!==void 0&&_!=null)s(n,["parameters","addWatermark"],_);let C=i(e,["labels"]);if(n!==void 0&&C!=null)s(n,["labels"],C);let v=i(e,["imageSize"]);if(n!==void 0&&v!=null)s(n,["parameters","sampleImageSize"],v);let S=i(e,["enhancePrompt"]);if(n!==void 0&&S!=null)s(n,["parameters","enhancePrompt"],S);return o}function Pa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["config"]);if(a!=null)Sa(a,o);return o}function wa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["config"]);if(a!=null)Ra(a,o);return o}function Na(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>Ba(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],ui(l));return t}function Ma(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let a=r;if(Array.isArray(a))a=a.map((d)=>be(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],di(l));return t}function Da(e,n,t){let o={},r=i(e,["numberOfVideos"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);if(i(e,["outputGcsUri"])!==void 0)throw Error("outputGcsUri parameter is not supported in Gemini API.");if(i(e,["fps"])!==void 0)throw Error("fps parameter is not supported in Gemini API.");let l=i(e,["durationSeconds"]);if(n!==void 0&&l!=null)s(n,["parameters","durationSeconds"],l);if(i(e,["seed"])!==void 0)throw Error("seed parameter is not supported in Gemini API.");let a=i(e,["aspectRatio"]);if(n!==void 0&&a!=null)s(n,["parameters","aspectRatio"],a);let d=i(e,["resolution"]);if(n!==void 0&&d!=null)s(n,["parameters","resolution"],d);let u=i(e,["personGeneration"]);if(n!==void 0&&u!=null)s(n,["parameters","personGeneration"],u);if(i(e,["pubsubTopic"])!==void 0)throw Error("pubsubTopic parameter is not supported in Gemini API.");let f=i(e,["negativePrompt"]);if(n!==void 0&&f!=null)s(n,["parameters","negativePrompt"],f);let p=i(e,["enhancePrompt"]);if(n!==void 0&&p!=null)s(n,["parameters","enhancePrompt"],p);if(i(e,["generateAudio"])!==void 0)throw Error("generateAudio parameter is not supported in Gemini API.");let c=i(e,["lastFrame"]);if(n!==void 0&&c!=null)s(n,["instances[0]","lastFrame"],$e(c));let h=i(e,["referenceImages"]);if(n!==void 0&&h!=null){let g=h;if(Array.isArray(g))g=g.map((y)=>ku(y));s(n,["instances[0]","referenceImages"],g)}if(i(e,["mask"])!==void 0)throw Error("mask parameter is not supported in Gemini API.");if(i(e,["compressionQuality"])!==void 0)throw Error("compressionQuality parameter is not supported in Gemini API.");if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");let m=i(e,["webhookConfig"]);if(n!==void 0&&m!=null)s(n,["webhookConfig"],m);if(i(e,["resizeMode"])!==void 0)throw Error("resizeMode parameter is not supported in Gemini API.");return o}function xa(e,n,t){let o={},r=i(e,["numberOfVideos"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["outputGcsUri"]);if(n!==void 0&&l!=null)s(n,["parameters","storageUri"],l);let a=i(e,["fps"]);if(n!==void 0&&a!=null)s(n,["parameters","fps"],a);let d=i(e,["durationSeconds"]);if(n!==void 0&&d!=null)s(n,["parameters","durationSeconds"],d);let u=i(e,["seed"]);if(n!==void 0&&u!=null)s(n,["parameters","seed"],u);let f=i(e,["aspectRatio"]);if(n!==void 0&&f!=null)s(n,["parameters","aspectRatio"],f);let p=i(e,["resolution"]);if(n!==void 0&&p!=null)s(n,["parameters","resolution"],p);let c=i(e,["personGeneration"]);if(n!==void 0&&c!=null)s(n,["parameters","personGeneration"],c);let h=i(e,["pubsubTopic"]);if(n!==void 0&&h!=null)s(n,["parameters","pubsubTopic"],h);let m=i(e,["negativePrompt"]);if(n!==void 0&&m!=null)s(n,["parameters","negativePrompt"],m);let g=i(e,["enhancePrompt"]);if(n!==void 0&&g!=null)s(n,["parameters","enhancePrompt"],g);let y=i(e,["generateAudio"]);if(n!==void 0&&y!=null)s(n,["parameters","generateAudio"],y);let E=i(e,["lastFrame"]);if(n!==void 0&&E!=null)s(n,["instances[0]","lastFrame"],X(E));let _=i(e,["referenceImages"]);if(n!==void 0&&_!=null){let T=_;if(Array.isArray(T))T=T.map((N)=>Fu(N));s(n,["instances[0]","referenceImages"],T)}let C=i(e,["mask"]);if(n!==void 0&&C!=null)s(n,["instances[0]","mask"],Gu(C));let v=i(e,["compressionQuality"]);if(n!==void 0&&v!=null)s(n,["parameters","compressionQuality"],v);let S=i(e,["labels"]);if(n!==void 0&&S!=null)s(n,["labels"],S);if(i(e,["webhookConfig"])!==void 0)throw Error("webhookConfig parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let w=i(e,["resizeMode"]);if(n!==void 0&&w!=null)s(n,["parameters","resizeMode"],w);return o}function Ua(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["metadata"]);if(r!=null)s(t,["metadata"],r);let l=i(e,["done"]);if(l!=null)s(t,["done"],l);let a=i(e,["error"]);if(a!=null)s(t,["error"],a);let d=i(e,["response","generateVideoResponse"]);if(d!=null)s(t,["response"],Fa(d));return t}function La(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["metadata"]);if(r!=null)s(t,["metadata"],r);let l=i(e,["done"]);if(l!=null)s(t,["done"],l);let a=i(e,["error"]);if(a!=null)s(t,["error"],a);let d=i(e,["response"]);if(d!=null)s(t,["response"],Va(d));return t}function Ga(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["image"]);if(a!=null)s(o,["instances[0]","image"],$e(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],ci(d));let u=i(n,["source"]);if(u!=null)qa(u,o);let f=i(n,["config"]);if(f!=null)Da(f,o);return o}function ka(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["prompt"]);if(l!=null)s(o,["instances[0]","prompt"],l);let a=i(n,["image"]);if(a!=null)s(o,["instances[0]","image"],X(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],pi(d));let u=i(n,["source"]);if(u!=null)Ha(u,o);let f=i(n,["config"]);if(f!=null)xa(f,o);return o}function Fa(e,n){let t={},o=i(e,["generatedSamples"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>ba(d));s(t,["generatedVideos"],a)}let r=i(e,["raiMediaFilteredCount"]);if(r!=null)s(t,["raiMediaFilteredCount"],r);let l=i(e,["raiMediaFilteredReasons"]);if(l!=null)s(t,["raiMediaFilteredReasons"],l);return t}function Va(e,n){let t={},o=i(e,["videos"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>$a(d));s(t,["generatedVideos"],a)}let r=i(e,["raiMediaFilteredCount"]);if(r!=null)s(t,["raiMediaFilteredCount"],r);let l=i(e,["raiMediaFilteredReasons"]);if(l!=null)s(t,["raiMediaFilteredReasons"],l);return t}function qa(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],$e(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],ci(a));return o}function Ha(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],X(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],pi(a));return o}function Ba(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],Za(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],ui(l));return t}function be(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],ai(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],di(l));let a=i(e,["prompt"]);if(a!=null)s(t,["enhancedPrompt"],a);return t}function Ja(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["mask"],ai(o));let r=i(e,["labels"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(t,["labels"],l)}return t}function ba(e,n){let t={},o=i(e,["video"]);if(o!=null)s(t,["video"],Uu(o));return t}function $a(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["video"],Lu(o));return t}function Oa(e,n){let t={},o=i(e,["modelSelectionConfig"]);if(o!=null)s(t,["modelConfig"],o);let r=i(e,["responseJsonSchema"]);if(r!=null)s(t,["responseJsonSchema"],r);let l=i(e,["audioTimestamp"]);if(l!=null)s(t,["audioTimestamp"],l);let a=i(e,["candidateCount"]);if(a!=null)s(t,["candidateCount"],a);let d=i(e,["enableAffectiveDialog"]);if(d!=null)s(t,["enableAffectiveDialog"],d);let u=i(e,["frequencyPenalty"]);if(u!=null)s(t,["frequencyPenalty"],u);let f=i(e,["logprobs"]);if(f!=null)s(t,["logprobs"],f);let p=i(e,["maxOutputTokens"]);if(p!=null)s(t,["maxOutputTokens"],p);let c=i(e,["mediaResolution"]);if(c!=null)s(t,["mediaResolution"],c);let h=i(e,["presencePenalty"]);if(h!=null)s(t,["presencePenalty"],h);let m=i(e,["responseLogprobs"]);if(m!=null)s(t,["responseLogprobs"],m);let g=i(e,["responseMimeType"]);if(g!=null)s(t,["responseMimeType"],g);let y=i(e,["responseModalities"]);if(y!=null)s(t,["responseModalities"],y);let E=i(e,["responseSchema"]);if(E!=null)s(t,["responseSchema"],E);let _=i(e,["routingConfig"]);if(_!=null)s(t,["routingConfig"],_);let C=i(e,["seed"]);if(C!=null)s(t,["seed"],C);let v=i(e,["speechConfig"]);if(v!=null)s(t,["speechConfig"],v);let S=i(e,["stopSequences"]);if(S!=null)s(t,["stopSequences"],S);let w=i(e,["temperature"]);if(w!=null)s(t,["temperature"],w);let T=i(e,["thinkingConfig"]);if(T!=null)s(t,["thinkingConfig"],T);let N=i(e,["topK"]);if(N!=null)s(t,["topK"],N);let I=i(e,["topP"]);if(I!=null)s(t,["topP"],I);if(i(e,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Ka(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function Ya(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function Wa(e,n){let t={},o=i(e,["authConfig"]);if(o!=null)s(t,["authConfig"],Jl(o));let r=i(e,["enableWidget"]);if(r!=null)s(t,["enableWidget"],r);return t}function za(e,n){let t={},o=i(e,["searchTypes"]);if(o!=null)s(t,["searchTypes"],o);if(i(e,["blockingConfidence"])!==void 0)throw Error("blockingConfidence parameter is not supported in Gemini API.");if(i(e,["excludeDomains"])!==void 0)throw Error("excludeDomains parameter is not supported in Gemini API.");let r=i(e,["timeRangeFilter"]);if(r!=null)s(t,["timeRangeFilter"],r);return t}function Xa(e,n){let t={},o=i(e,["aspectRatio"]);if(o!=null)s(t,["aspectRatio"],o);let r=i(e,["imageSize"]);if(r!=null)s(t,["imageSize"],r);if(i(e,["personGeneration"])!==void 0)throw Error("personGeneration parameter is not supported in Gemini API.");if(i(e,["prominentPeople"])!==void 0)throw Error("prominentPeople parameter is not supported in Gemini API.");if(i(e,["outputMimeType"])!==void 0)throw Error("outputMimeType parameter is not supported in Gemini API.");if(i(e,["outputCompressionQuality"])!==void 0)throw Error("outputCompressionQuality parameter is not supported in Gemini API.");if(i(e,["imageOutputOptions"])!==void 0)throw Error("imageOutputOptions parameter is not supported in Gemini API.");return t}function Qa(e,n){let t={},o=i(e,["aspectRatio"]);if(o!=null)s(t,["aspectRatio"],o);let r=i(e,["imageSize"]);if(r!=null)s(t,["imageSize"],r);let l=i(e,["personGeneration"]);if(l!=null)s(t,["personGeneration"],l);let a=i(e,["prominentPeople"]);if(a!=null)s(t,["prominentPeople"],a);let d=i(e,["outputMimeType"]);if(d!=null)s(t,["imageOutputOptions","mimeType"],d);let u=i(e,["outputCompressionQuality"]);if(u!=null)s(t,["imageOutputOptions","compressionQuality"],u);let f=i(e,["imageOutputOptions"]);if(f!=null)s(t,["imageOutputOptions"],f);return t}function Za(e,n){let t={},o=i(e,["bytesBase64Encoded"]);if(o!=null)s(t,["imageBytes"],se(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function ai(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["bytesBase64Encoded"]);if(r!=null)s(t,["imageBytes"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function $e(e,n){let t={};if(i(e,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");let o=i(e,["imageBytes"]);if(o!=null)s(t,["bytesBase64Encoded"],se(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function X(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["imageBytes"]);if(r!=null)s(t,["bytesBase64Encoded"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function ja(e,n,t,o){let r={},l=i(n,["pageSize"]);if(t!==void 0&&l!=null)s(t,["_query","pageSize"],l);let a=i(n,["pageToken"]);if(t!==void 0&&a!=null)s(t,["_query","pageToken"],a);let d=i(n,["filter"]);if(t!==void 0&&d!=null)s(t,["_query","filter"],d);let u=i(n,["queryBase"]);if(t!==void 0&&u!=null)s(t,["_url","models_url"],Xo(e,u));return r}function eu(e,n,t,o){let r={},l=i(n,["pageSize"]);if(t!==void 0&&l!=null)s(t,["_query","pageSize"],l);let a=i(n,["pageToken"]);if(t!==void 0&&a!=null)s(t,["_query","pageToken"],a);let d=i(n,["filter"]);if(t!==void 0&&d!=null)s(t,["_query","filter"],d);let u=i(n,["queryBase"]);if(t!==void 0&&u!=null)s(t,["_url","models_url"],Xo(e,u));return r}function nu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)ja(e,r,o);return o}function tu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)eu(e,r,o);return o}function ou(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["_self"]);if(l!=null){let a=Qo(l);if(Array.isArray(a))a=a.map((d)=>fn(d));s(t,["models"],a)}return t}function iu(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["_self"]);if(l!=null){let a=Qo(l);if(Array.isArray(a))a=a.map((d)=>cn(d));s(t,["models"],a)}return t}function ru(e,n){let t={},o=i(e,["maskMode"]);if(o!=null)s(t,["maskMode"],o);let r=i(e,["segmentationClasses"]);if(r!=null)s(t,["maskClasses"],r);let l=i(e,["maskDilation"]);if(l!=null)s(t,["dilation"],l);return t}function fn(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["displayName"]);if(r!=null)s(t,["displayName"],r);let l=i(e,["description"]);if(l!=null)s(t,["description"],l);let a=i(e,["version"]);if(a!=null)s(t,["version"],a);let d=i(e,["_self"]);if(d!=null)s(t,["tunedModelInfo"],vu(d));let u=i(e,["inputTokenLimit"]);if(u!=null)s(t,["inputTokenLimit"],u);let f=i(e,["outputTokenLimit"]);if(f!=null)s(t,["outputTokenLimit"],f);let p=i(e,["supportedGenerationMethods"]);if(p!=null)s(t,["supportedActions"],p);let c=i(e,["temperature"]);if(c!=null)s(t,["temperature"],c);let h=i(e,["maxTemperature"]);if(h!=null)s(t,["maxTemperature"],h);let m=i(e,["topP"]);if(m!=null)s(t,["topP"],m);let g=i(e,["topK"]);if(g!=null)s(t,["topK"],g);let y=i(e,["thinking"]);if(y!=null)s(t,["thinking"],y);return t}function cn(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["name"],o);let r=i(e,["displayName"]);if(r!=null)s(t,["displayName"],r);let l=i(e,["description"]);if(l!=null)s(t,["description"],l);let a=i(e,["versionId"]);if(a!=null)s(t,["version"],a);let d=i(e,["deployedModels"]);if(d!=null){let h=d;if(Array.isArray(h))h=h.map((m)=>ga(m));s(t,["endpoints"],h)}let u=i(e,["labels"]);if(u!=null)s(t,["labels"],u);let f=i(e,["_self"]);if(f!=null)s(t,["tunedModelInfo"],Su(f));let p=i(e,["defaultCheckpointId"]);if(p!=null)s(t,["defaultCheckpointId"],p);let c=i(e,["checkpoints"]);if(c!=null){let h=c;if(Array.isArray(h))h=h.map((m)=>m);s(t,["checkpoints"],h)}return t}function su(e,n){let t={},o=i(e,["mediaResolution"]);if(o!=null)s(t,["mediaResolution"],o);let r=i(e,["codeExecutionResult"]);if(r!=null)s(t,["codeExecutionResult"],r);let l=i(e,["executableCode"]);if(l!=null)s(t,["executableCode"],l);let a=i(e,["fileData"]);if(a!=null)s(t,["fileData"],ya(a));let d=i(e,["functionCall"]);if(d!=null)s(t,["functionCall"],Ea(d));let u=i(e,["functionResponse"]);if(u!=null)s(t,["functionResponse"],u);let f=i(e,["inlineData"]);if(f!=null)s(t,["inlineData"],bl(f));let p=i(e,["text"]);if(p!=null)s(t,["text"],p);let c=i(e,["thought"]);if(c!=null)s(t,["thought"],c);let h=i(e,["thoughtSignature"]);if(h!=null)s(t,["thoughtSignature"],h);let m=i(e,["videoMetadata"]);if(m!=null)s(t,["videoMetadata"],m);let g=i(e,["toolCall"]);if(g!=null)s(t,["toolCall"],g);let y=i(e,["toolResponse"]);if(y!=null)s(t,["toolResponse"],y);let E=i(e,["partMetadata"]);if(E!=null)s(t,["partMetadata"],E);return t}function lu(e,n){let t={},o=i(e,["mediaResolution"]);if(o!=null)s(t,["mediaResolution"],o);let r=i(e,["codeExecutionResult"]);if(r!=null)s(t,["codeExecutionResult"],r);let l=i(e,["executableCode"]);if(l!=null)s(t,["executableCode"],l);let a=i(e,["fileData"]);if(a!=null)s(t,["fileData"],a);let d=i(e,["functionCall"]);if(d!=null)s(t,["functionCall"],d);let u=i(e,["functionResponse"]);if(u!=null)s(t,["functionResponse"],u);let f=i(e,["inlineData"]);if(f!=null)s(t,["inlineData"],f);let p=i(e,["text"]);if(p!=null)s(t,["text"],p);let c=i(e,["thought"]);if(c!=null)s(t,["thought"],c);let h=i(e,["thoughtSignature"]);if(h!=null)s(t,["thoughtSignature"],h);let m=i(e,["videoMetadata"]);if(m!=null)s(t,["videoMetadata"],m);if(i(e,["toolCall"])!==void 0)throw Error("toolCall parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["toolResponse"])!==void 0)throw Error("toolResponse parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");if(i(e,["partMetadata"])!==void 0)throw Error("partMetadata parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function au(e,n){let t={},o=i(e,["productImage"]);if(o!=null)s(t,["image"],X(o));return t}function uu(e,n,t){let o={},r=i(e,["numberOfImages"]);if(n!==void 0&&r!=null)s(n,["parameters","sampleCount"],r);let l=i(e,["baseSteps"]);if(n!==void 0&&l!=null)s(n,["parameters","baseSteps"],l);let a=i(e,["outputGcsUri"]);if(n!==void 0&&a!=null)s(n,["parameters","storageUri"],a);let d=i(e,["seed"]);if(n!==void 0&&d!=null)s(n,["parameters","seed"],d);let u=i(e,["safetyFilterLevel"]);if(n!==void 0&&u!=null)s(n,["parameters","safetySetting"],u);let f=i(e,["personGeneration"]);if(n!==void 0&&f!=null)s(n,["parameters","personGeneration"],f);let p=i(e,["addWatermark"]);if(n!==void 0&&p!=null)s(n,["parameters","addWatermark"],p);let c=i(e,["outputMimeType"]);if(n!==void 0&&c!=null)s(n,["parameters","outputOptions","mimeType"],c);let h=i(e,["outputCompressionQuality"]);if(n!==void 0&&h!=null)s(n,["parameters","outputOptions","compressionQuality"],h);let m=i(e,["enhancePrompt"]);if(n!==void 0&&m!=null)s(n,["parameters","enhancePrompt"],m);let g=i(e,["labels"]);if(n!==void 0&&g!=null)s(n,["labels"],g);return o}function du(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["source"]);if(l!=null)cu(l,o);let a=i(n,["config"]);if(a!=null)uu(a,o);return o}function fu(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>be(l));s(t,["generatedImages"],r)}return t}function cu(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["personImage"]);if(n!==void 0&&l!=null)s(n,["instances[0]","personImage","image"],X(l));let a=i(e,["productImages"]);if(n!==void 0&&a!=null){let d=a;if(Array.isArray(d))d=d.map((u)=>au(u));s(n,["instances[0]","productImages"],d)}return o}function pu(e,n){let t={},o=i(e,["referenceImage"]);if(o!=null)s(t,["referenceImage"],X(o));let r=i(e,["referenceId"]);if(r!=null)s(t,["referenceId"],r);let l=i(e,["referenceType"]);if(l!=null)s(t,["referenceType"],l);let a=i(e,["maskImageConfig"]);if(a!=null)s(t,["maskImageConfig"],ru(a));let d=i(e,["controlImageConfig"]);if(d!=null)s(t,["controlImageConfig"],Xl(d));let u=i(e,["styleImageConfig"]);if(u!=null)s(t,["styleImageConfig"],u);let f=i(e,["subjectImageConfig"]);if(f!=null)s(t,["subjectImageConfig"],f);return t}function ui(e,n){let t={},o=i(e,["safetyAttributes","categories"]);if(o!=null)s(t,["categories"],o);let r=i(e,["safetyAttributes","scores"]);if(r!=null)s(t,["scores"],r);let l=i(e,["contentType"]);if(l!=null)s(t,["contentType"],l);return t}function di(e,n){let t={},o=i(e,["safetyAttributes","categories"]);if(o!=null)s(t,["categories"],o);let r=i(e,["safetyAttributes","scores"]);if(r!=null)s(t,["scores"],r);let l=i(e,["contentType"]);if(l!=null)s(t,["contentType"],l);return t}function hu(e,n){let t={},o=i(e,["category"]);if(o!=null)s(t,["category"],o);if(i(e,["method"])!==void 0)throw Error("method parameter is not supported in Gemini API.");let r=i(e,["threshold"]);if(r!=null)s(t,["threshold"],r);return t}function mu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],X(o));return t}function gu(e,n,t){let o={},r=i(e,["mode"]);if(n!==void 0&&r!=null)s(n,["parameters","mode"],r);let l=i(e,["maxPredictions"]);if(n!==void 0&&l!=null)s(n,["parameters","maxPredictions"],l);let a=i(e,["confidenceThreshold"]);if(n!==void 0&&a!=null)s(n,["parameters","confidenceThreshold"],a);let d=i(e,["maskDilation"]);if(n!==void 0&&d!=null)s(n,["parameters","maskDilation"],d);let u=i(e,["binaryColorThreshold"]);if(n!==void 0&&u!=null)s(n,["parameters","binaryColorThreshold"],u);let f=i(e,["labels"]);if(n!==void 0&&f!=null)s(n,["labels"],f);return o}function yu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["source"]);if(l!=null)Tu(l,o);let a=i(n,["config"]);if(a!=null)gu(a,o);return o}function Eu(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>Ja(l));s(t,["generatedMasks"],r)}return t}function Tu(e,n,t){let o={},r=i(e,["prompt"]);if(n!==void 0&&r!=null)s(n,["instances[0]","prompt"],r);let l=i(e,["image"]);if(n!==void 0&&l!=null)s(n,["instances[0]","image"],X(l));let a=i(e,["scribbleImage"]);if(n!==void 0&&a!=null)s(n,["instances[0]","scribble"],mu(a));return o}function _u(e,n){let t={},o=i(e,["retrievalConfig"]);if(o!=null)s(t,["retrievalConfig"],o);let r=i(e,["functionCallingConfig"]);if(r!=null)s(t,["functionCallingConfig"],Ta(r));let l=i(e,["includeServerSideToolInvocations"]);if(l!=null)s(t,["includeServerSideToolInvocations"],l);return t}function Iu(e,n){let t={},o=i(e,["retrievalConfig"]);if(o!=null)s(t,["retrievalConfig"],o);let r=i(e,["functionCallingConfig"]);if(r!=null)s(t,["functionCallingConfig"],r);if(i(e,["includeServerSideToolInvocations"])!==void 0)throw Error("includeServerSideToolInvocations parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function Au(e,n){let t={};if(i(e,["retrieval"])!==void 0)throw Error("retrieval parameter is not supported in Gemini API.");let o=i(e,["computerUse"]);if(o!=null)s(t,["computerUse"],o);let r=i(e,["fileSearch"]);if(r!=null)s(t,["fileSearch"],r);let l=i(e,["googleSearch"]);if(l!=null)s(t,["googleSearch"],za(l));let a=i(e,["googleMaps"]);if(a!=null)s(t,["googleMaps"],Wa(a));let d=i(e,["codeExecution"]);if(d!=null)s(t,["codeExecution"],d);if(i(e,["enterpriseWebSearch"])!==void 0)throw Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=i(e,["functionDeclarations"]);if(u!=null){let h=u;if(Array.isArray(h))h=h.map((m)=>m);s(t,["functionDeclarations"],h)}let f=i(e,["googleSearchRetrieval"]);if(f!=null)s(t,["googleSearchRetrieval"],f);if(i(e,["parallelAiSearch"])!==void 0)throw Error("parallelAiSearch parameter is not supported in Gemini API.");let p=i(e,["urlContext"]);if(p!=null)s(t,["urlContext"],p);let c=i(e,["mcpServers"]);if(c!=null){let h=c;if(Array.isArray(h))h=h.map((m)=>m);s(t,["mcpServers"],h)}return t}function fi(e,n){let t={},o=i(e,["retrieval"]);if(o!=null)s(t,["retrieval"],o);let r=i(e,["computerUse"]);if(r!=null)s(t,["computerUse"],r);if(i(e,["fileSearch"])!==void 0)throw Error("fileSearch parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let l=i(e,["googleSearch"]);if(l!=null)s(t,["googleSearch"],l);let a=i(e,["googleMaps"]);if(a!=null)s(t,["googleMaps"],a);let d=i(e,["codeExecution"]);if(d!=null)s(t,["codeExecution"],d);let u=i(e,["enterpriseWebSearch"]);if(u!=null)s(t,["enterpriseWebSearch"],u);let f=i(e,["functionDeclarations"]);if(f!=null){let m=f;if(Array.isArray(m))m=m.map((g)=>Ia(g));s(t,["functionDeclarations"],m)}let p=i(e,["googleSearchRetrieval"]);if(p!=null)s(t,["googleSearchRetrieval"],p);let c=i(e,["parallelAiSearch"]);if(c!=null)s(t,["parallelAiSearch"],c);let h=i(e,["urlContext"]);if(h!=null)s(t,["urlContext"],h);if(i(e,["mcpServers"])!==void 0)throw Error("mcpServers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return t}function vu(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["createTime"]);if(r!=null)s(t,["createTime"],r);let l=i(e,["updateTime"]);if(l!=null)s(t,["updateTime"],l);return t}function Su(e,n){let t={},o=i(e,["labels","google-vertex-llm-tuning-base-model-id"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["createTime"]);if(r!=null)s(t,["createTime"],r);let l=i(e,["updateTime"]);if(l!=null)s(t,["updateTime"],l);return t}function Ru(e,n,t){let o={},r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["description"]);if(n!==void 0&&l!=null)s(n,["description"],l);let a=i(e,["defaultCheckpointId"]);if(n!==void 0&&a!=null)s(n,["defaultCheckpointId"],a);return o}function Pu(e,n,t){let o={},r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["description"]);if(n!==void 0&&l!=null)s(n,["description"],l);let a=i(e,["defaultCheckpointId"]);if(n!==void 0&&a!=null)s(n,["defaultCheckpointId"],a);return o}function wu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));let l=i(n,["config"]);if(l!=null)Ru(l,o);return o}function Nu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["config"]);if(l!=null)Pu(l,o);return o}function Mu(e,n,t){let o={},r=i(e,["outputGcsUri"]);if(n!==void 0&&r!=null)s(n,["parameters","storageUri"],r);let l=i(e,["safetyFilterLevel"]);if(n!==void 0&&l!=null)s(n,["parameters","safetySetting"],l);let a=i(e,["personGeneration"]);if(n!==void 0&&a!=null)s(n,["parameters","personGeneration"],a);let d=i(e,["includeRaiReason"]);if(n!==void 0&&d!=null)s(n,["parameters","includeRaiReason"],d);let u=i(e,["outputMimeType"]);if(n!==void 0&&u!=null)s(n,["parameters","outputOptions","mimeType"],u);let f=i(e,["outputCompressionQuality"]);if(n!==void 0&&f!=null)s(n,["parameters","outputOptions","compressionQuality"],f);let p=i(e,["enhanceInputImage"]);if(n!==void 0&&p!=null)s(n,["parameters","upscaleConfig","enhanceInputImage"],p);let c=i(e,["imagePreservationFactor"]);if(n!==void 0&&c!=null)s(n,["parameters","upscaleConfig","imagePreservationFactor"],c);let h=i(e,["labels"]);if(n!==void 0&&h!=null)s(n,["labels"],h);let m=i(e,["numberOfImages"]);if(n!==void 0&&m!=null)s(n,["parameters","sampleCount"],m);let g=i(e,["mode"]);if(n!==void 0&&g!=null)s(n,["parameters","mode"],g);return o}function Du(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","model"],M(e,r));let l=i(n,["image"]);if(l!=null)s(o,["instances[0]","image"],X(l));let a=i(n,["upscaleFactor"]);if(a!=null)s(o,["parameters","upscaleConfig","upscaleFactor"],a);let d=i(n,["config"]);if(d!=null)Mu(d,o);return o}function xu(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["predictions"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>be(a));s(t,["generatedImages"],l)}return t}function Uu(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["encodedVideo"]);if(r!=null)s(t,["videoBytes"],se(r));let l=i(e,["encoding"]);if(l!=null)s(t,["mimeType"],l);return t}function Lu(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["bytesBase64Encoded"]);if(r!=null)s(t,["videoBytes"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function Gu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["_self"],X(o));let r=i(e,["maskMode"]);if(r!=null)s(t,["maskMode"],r);return t}function ku(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],$e(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function Fu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],X(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function ci(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["uri"],o);let r=i(e,["videoBytes"]);if(r!=null)s(t,["encodedVideo"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["encoding"],l);return t}function pi(e,n){let t={},o=i(e,["uri"]);if(o!=null)s(t,["gcsUri"],o);let r=i(e,["videoBytes"]);if(r!=null)s(t,["bytesBase64Encoded"],se(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function Vu(e,n,t){let o={},r=i(n,["displayName"]);if(t!==void 0&&r!=null)s(t,["displayName"],r);let l=i(n,["embeddingModel"]);if(t!==void 0&&l!=null)s(t,["embeddingModel"],M(e,l));return o}function qu(e,n){let t={},o=i(n,["config"]);if(o!=null)Vu(e,o,t);return t}function Hu(e,n){let t={},o=i(e,["force"]);if(n!==void 0&&o!=null)s(n,["_query","force"],o);return t}function Bu(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);let o=i(e,["config"]);if(o!=null)Hu(o,n);return n}function Ju(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);return n}function bu(e,n){let t={},o=i(e,["customMetadata"]);if(n!==void 0&&o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>a);s(n,["customMetadata"],l)}let r=i(e,["chunkingConfig"]);if(n!==void 0&&r!=null)s(n,["chunkingConfig"],r);return t}function $u(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["name"],t);let o=i(e,["metadata"]);if(o!=null)s(n,["metadata"],o);let r=i(e,["done"]);if(r!=null)s(n,["done"],r);let l=i(e,["error"]);if(l!=null)s(n,["error"],l);let a=i(e,["response"]);if(a!=null)s(n,["response"],Ku(a));return n}function Ou(e){let n={},t=i(e,["fileSearchStoreName"]);if(t!=null)s(n,["_url","file_search_store_name"],t);let o=i(e,["fileName"]);if(o!=null)s(n,["fileName"],o);let r=i(e,["config"]);if(r!=null)bu(r,n);return n}function Ku(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["parent"]);if(o!=null)s(n,["parent"],o);let r=i(e,["documentName"]);if(r!=null)s(n,["documentName"],r);return n}function Yu(e,n){let t={},o=i(e,["pageSize"]);if(n!==void 0&&o!=null)s(n,["_query","pageSize"],o);let r=i(e,["pageToken"]);if(n!==void 0&&r!=null)s(n,["_query","pageToken"],r);return t}function Wu(e){let n={},t=i(e,["config"]);if(t!=null)Yu(t,n);return n}function zu(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);let o=i(e,["nextPageToken"]);if(o!=null)s(n,["nextPageToken"],o);let r=i(e,["fileSearchStores"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["fileSearchStores"],l)}return n}function hi(e,n){let t={},o=i(e,["mimeType"]);if(n!==void 0&&o!=null)s(n,["mimeType"],o);let r=i(e,["displayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);let l=i(e,["customMetadata"]);if(n!==void 0&&l!=null){let d=l;if(Array.isArray(d))d=d.map((u)=>u);s(n,["customMetadata"],d)}let a=i(e,["chunkingConfig"]);if(n!==void 0&&a!=null)s(n,["chunkingConfig"],a);return t}function Xu(e){let n={},t=i(e,["fileSearchStoreName"]);if(t!=null)s(n,["_url","file_search_store_name"],t);let o=i(e,["config"]);if(o!=null)hi(o,n);return n}function Qu(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}var Zu="Content-Type",ju="X-Server-Timeout",ed="User-Agent",pn="x-goog-api-client",nd="1.52.0",td=`google-genai-sdk/${nd}`,od="v1beta1",id="v1beta",rd=new Set(["us","eu"]),sd=5,ld=[408,429,500,502,503,504];class mi{constructor(e){var n,t,o;if(this.clientOptions=Object.assign({},e),this.customBaseUrl=(n=e.httpOptions)===null||n===void 0?void 0:n.baseUrl,this.clientOptions.vertexai){if(this.clientOptions.project&&this.clientOptions.location)this.clientOptions.apiKey=void 0;else if(this.clientOptions.apiKey)this.clientOptions.project=void 0,this.clientOptions.location=void 0}let r={};if(this.clientOptions.vertexai){if(!this.clientOptions.location&&!this.clientOptions.apiKey&&!this.customBaseUrl)this.clientOptions.location="global";if(!(this.clientOptions.project&&this.clientOptions.location||this.clientOptions.apiKey)&&!this.customBaseUrl)throw Error("Authentication is not set up. Please provide either a project and location, or an API key, or a custom base URL.");let a=e.project&&e.location||!!e.apiKey;if(this.customBaseUrl&&!a)r.baseUrl=this.customBaseUrl,this.clientOptions.project=void 0,this.clientOptions.location=void 0;else if(this.clientOptions.apiKey||this.clientOptions.location==="global")r.baseUrl="https://aiplatform.googleapis.com/";else if(this.clientOptions.project&&this.clientOptions.location&&rd.has(this.clientOptions.location))r.baseUrl=`https://aiplatform.${this.clientOptions.location}.rep.googleapis.com/`;else if(this.clientOptions.project&&this.clientOptions.location)r.baseUrl=`https://${this.clientOptions.location}-aiplatform.googleapis.com/`;r.apiVersion=(t=this.clientOptions.apiVersion)!==null&&t!==void 0?t:od}else{if(!this.clientOptions.apiKey)console.warn("API key should be set when using the Gemini API.");r.apiVersion=(o=this.clientOptions.apiVersion)!==null&&o!==void 0?o:id,r.baseUrl="https://generativelanguage.googleapis.com/"}if(r.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=r,e.httpOptions)this.clientOptions.httpOptions=this.patchHttpOptions(r,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 Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw 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;else throw Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw Error("HTTP options are not correctly set.");let t=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];if(e.apiVersion&&e.apiVersion!=="")t.push(e.apiVersion);return t.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 Error("HTTP options are not correctly set.")}constructUrl(e,n,t){let o=[this.getRequestUrlInternal(n)];if(t)o.push(this.getBaseResourcePath());if(e!=="")o.push(e);return new URL(`${o.join("/")}`)}shouldPrependVertexProjectPath(e,n){if(n.baseUrl&&n.baseUrlResourceScope===oc.COLLECTION)return!1;if(this.clientOptions.apiKey)return!1;if(!this.clientOptions.vertexai)return!1;if(e.path.startsWith("projects/"))return!1;if(e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))return!1;return!0}async request(e){let n=this.clientOptions.httpOptions;if(e.httpOptions)n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions);let t=this.shouldPrependVertexProjectPath(e,n),o=this.constructUrl(e.path,n,t);if(e.queryParams)for(let[l,a]of Object.entries(e.queryParams))o.searchParams.append(l,String(a));let r={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw Error("Request body should be empty for GET request, but got non empty request body")}else r.body=e.body;return r=await this.includeExtraHttpOptionsToRequestInit(r,n,o.toString(),e.abortSignal),this.unaryApiCall(o,r,e.httpMethod)}patchHttpOptions(e,n){let t=JSON.parse(JSON.stringify(e));for(let[o,r]of Object.entries(n))if(typeof r==="object")t[o]=Object.assign(Object.assign({},t[o]),r);else if(r!==void 0)t[o]=r;return t}async requestStream(e){let n=this.clientOptions.httpOptions;if(e.httpOptions)n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions);let t=this.shouldPrependVertexProjectPath(e,n),o=this.constructUrl(e.path,n,t);if(!o.searchParams.has("alt")||o.searchParams.get("alt")!=="sse")o.searchParams.set("alt","sse");let r={};return r.body=e.body,r=await this.includeExtraHttpOptionsToRequestInit(r,n,o.toString(),e.abortSignal),this.streamApiCall(o,r,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,n,t,o){if(n&&n.timeout||o){let r=new AbortController,l=r.signal;if(n.timeout&&(n===null||n===void 0?void 0:n.timeout)>0){let a=setTimeout(()=>r.abort(),n.timeout);if(a&&typeof a.unref==="function")a.unref()}if(o)o.addEventListener("abort",()=>{r.abort()});e.signal=l}if(n&&n.extraBody!==null)ad(e,n.extraBody);return e.headers=await this.getHeadersInternal(n,t),e}async unaryApiCall(e,n,t){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:t})).then(async(o)=>(await lo(o),new de(o))).catch((o)=>{if(o instanceof Error)throw o;else throw Error(JSON.stringify(o))})}async streamApiCall(e,n,t){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:t})).then(async(o)=>(await lo(o),this.processStreamResponse(o))).catch((o)=>{if(o instanceof Error)throw o;else throw Error(JSON.stringify(o))})}processStreamResponse(e){return W(this,arguments,function*(){var t;let o=(t=e===null||e===void 0?void 0:e.body)===null||t===void 0?void 0:t.getReader(),r=new TextDecoder("utf-8");if(!o)throw Error("Response body is empty");try{let l="",a="data:",d=[`
3
3
 
4
4
  `,"\r\r",`\r
5
5
  \r
@@ -11,6 +11,6 @@ ${c}`)}return a},Y=pf(xi);class Fn extends Oe{create(e,n){var t;let{api_version:
11
11
  `)}}Re.NEWLINE_CHARS=new Set([`
12
12
  `,"\r"]);Re.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function mf(e,n){let r=n!==null&&n!==void 0?n:0,l=e.indexOf(10,r),a=e.indexOf(13,r);if(l===-1&&a===-1)return null;let d;if(l!==-1&&a!==-1)d=Math.min(l,a);else d=l!==-1?l:a;if(e[d]===10)return{preceding:d,index:d+1,carriage:!1};return{preceding:d,index:d+1,carriage:!0}}var Fe={off:0,error:200,warn:300,info:400,debug:500},_o=(e,n,t)=>{if(!e)return;if(Xd(Fe,e))return e;F(t).warn(`${n} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Fe))}`);return};function Ae(){}function Ne(e,n,t){if(!n||Fe[e]>Fe[t])return Ae;else return n[e].bind(n)}var gf={error:Ae,warn:Ae,info:Ae,debug:Ae},Io=new WeakMap;function F(e){var n;let t=e.logger,o=(n=e.logLevel)!==null&&n!==void 0?n:"off";if(!t)return gf;let r=Io.get(t);if(r&&r[0]===o)return r[1];let l={error:Ne("error",t,o),warn:Ne("warn",t,o),info:Ne("info",t,o),debug:Ne("debug",t,o)};return Io.set(t,[o,l]),l}var ue=(e)=>{if(e.options)e.options=Object.assign({},e.options),delete e.options.headers;if(e.headers)e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([n,t])=>[n,n.toLowerCase()==="x-goog-api-key"||n.toLowerCase()==="authorization"||n.toLowerCase()==="cookie"||n.toLowerCase()==="set-cookie"?"***":t]));if("retryOfRequestLogID"in e){if(e.retryOfRequestLogID)e.retryOf=e.retryOfRequestLogID;delete e.retryOfRequestLogID}return e};class pe{constructor(e,n,t){this.iterator=e,this.controller=n,this.client=t}static fromSSEResponse(e,n,t){let o=!1,r=t?F(t):console;function l(){return W(this,arguments,function*(){var d,u,f,p;if(o)throw new J("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let c=!1;try{try{for(var h=!0,m=z(yf(e,n)),g;g=yield P(m.next()),d=g.done,!d;h=!0){p=g.value,h=!1;let y=p;if(c)continue;if(y.data.startsWith("[DONE]")){c=!0;continue}else try{yield yield P(JSON.parse(y.data))}catch(E){throw r.error("Could not parse message into JSON:",y.data),r.error("From chunk:",y.raw),E}}}catch(y){u={error:y}}finally{try{if(!h&&!d&&(f=m.return))yield P(f.call(m))}finally{if(u)throw u.error}}c=!0}catch(y){if(hn(y))return yield P(void 0);throw y}finally{if(!c)n.abort()}})}return new pe(l,n,t)}static fromReadableStream(e,n,t){let o=!1;function r(){return W(this,arguments,function*(){var d,u,f,p;let c=new Re,h=Ni(e);try{for(var m=!0,g=z(h),y;y=yield P(g.next()),d=y.done,!d;m=!0){p=y.value,m=!1;let E=p;for(let _ of c.decode(E))yield yield P(_)}}catch(E){u={error:E}}finally{try{if(!m&&!d&&(f=g.return))yield P(f.call(g))}finally{if(u)throw u.error}}for(let E of c.flush())yield yield P(E)})}function l(){return W(this,arguments,function*(){var d,u,f,p;if(o)throw new J("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let c=!1;try{try{for(var h=!0,m=z(r()),g;g=yield P(m.next()),d=g.done,!d;h=!0){p=g.value,h=!1;let y=p;if(c)continue;if(y)yield yield P(JSON.parse(y))}}catch(y){u={error:y}}finally{try{if(!h&&!d&&(f=m.return))yield P(f.call(m))}finally{if(u)throw u.error}}c=!0}catch(y){if(hn(y))return yield P(void 0);throw y}finally{if(!c)n.abort()}})}return new pe(l,n,t)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],n=[],t=this.iterator(),o=(r)=>({next:()=>{if(r.length===0){let l=t.next();e.push(l),n.push(l)}return r.shift()}});return[new pe(()=>o(e),this.controller,this.client),new pe(()=>o(n),this.controller,this.client)]}toReadableStream(){let e=this,n;return wi({async start(){n=e[Symbol.asyncIterator]()},async pull(t){try{let{value:o,done:r}=await n.next();if(r)return t.close();let l=Bn(JSON.stringify(o)+`
13
13
  `);t.enqueue(l)}catch(o){t.error(o)}},async cancel(){var t;await((t=n.return)===null||t===void 0?void 0:t.call(n))}})}}function yf(e,n){return W(this,arguments,function*(){var o,r,l,a;if(!e.body){if(n.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new J("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new J("Attempted to iterate over a response with no body")}let d=new Ui,u=new Re,f=Ni(e.body);try{for(var p=!0,c=z(Ef(f)),h;h=yield P(c.next()),o=h.done,!o;p=!0){a=h.value,p=!1;let m=a;for(let g of u.decode(m)){let y=d.decode(g);if(y)yield yield P(y)}}}catch(m){r={error:m}}finally{try{if(!p&&!o&&(l=c.return))yield P(l.call(c))}finally{if(r)throw r.error}}for(let m of u.flush()){let g=d.decode(m);if(g)yield yield P(g)}})}function Ef(e){return W(this,arguments,function*(){var t,o,r,l;try{for(var a=!0,d=z(e),u;u=yield P(d.next()),t=u.done,!t;a=!0){l=u.value,a=!1;let f=l;if(f==null)continue;let p=f instanceof ArrayBuffer?new Uint8Array(f):typeof f==="string"?Bn(f):f;yield yield P(p)}}catch(f){o={error:f}}finally{try{if(!a&&!t&&(r=d.return))yield P(r.call(d))}finally{if(o)throw o.error}}})}class Ui{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r"))e=e.substring(0,e.length-1);if(!e){if(!this.event&&!this.data.length)return null;let r={event:this.event,data:this.data.join(`
14
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],r}if(this.chunks.push(e),e.startsWith(":"))return null;let[n,t,o]=Tf(e,":");if(o.startsWith(" "))o=o.substring(1);if(n==="event")this.event=o;else if(n==="data")this.data.push(o);return null}}function Tf(e,n){let t=e.indexOf(n);if(t!==-1)return[e.substring(0,t),n,e.substring(t+n.length)];return[e,"",""]}async function _f(e,n){let{response:t,requestLogID:o,retryOfRequestLogID:r,startTime:l}=n,a=await(async()=>{var d;if(n.options.stream){if(F(e).debug("response",t.status,t.url,t.headers,t.body),n.options.__streamClass)return n.options.__streamClass.fromSSEResponse(t,n.controller,e);return pe.fromSSEResponse(t,n.controller,e)}if(t.status===204)return null;if(n.options.__binaryResponse)return t;let u=t.headers.get("content-type"),f=(d=u===null||u===void 0?void 0:u.split(";")[0])===null||d===void 0?void 0:d.trim();if((f===null||f===void 0?void 0:f.includes("application/json"))||(f===null||f===void 0?void 0:f.endsWith("+json"))){if(t.headers.get("content-length")==="0")return;return await t.json()}return await t.text()})();return F(e).debug(`[${o}] response parsed`,ue({retryOfRequestLogID:r,url:t.url,status:t.status,body:a,durationMs:Date.now()-l})),a}class Jn extends Promise{constructor(e,n,t=_f){super((o)=>{o(null)});this.responsePromise=n,this.parseResponse=t,this.client=e}_thenUnwrap(e){return new Jn(this.client,this.responsePromise,async(n,t)=>e(await this.parseResponse(n,t),t))}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(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then((e)=>this.parseResponse(this.client,e));return 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 Li=Symbol("brand.privateNullableHeaders");function*If(e){if(!e)return;if(Li in e){let{values:o,nulls:r}=e;yield*o.entries();for(let l of r)yield[l,null];return}let n=!1,t;if(e instanceof Headers)t=e.entries();else if(go(e))t=e;else n=!0,t=Object.entries(e!==null&&e!==void 0?e:{});for(let o of t){let r=o[0];if(typeof r!=="string")throw TypeError("expected header name to be a string");let l=go(o[1])?o[1]:[o[1]],a=!1;for(let d of l){if(d===void 0)continue;if(n&&!a)a=!0,yield[r,null];yield[r,d]}}}var Ie=(e)=>{let n=new Headers,t=new Set;for(let o of e){let r=new Set;for(let[l,a]of If(o)){let d=l.toLowerCase();if(!r.has(d))n.delete(l),r.add(d);if(a===null)n.delete(l),t.add(d);else n.append(l,a),t.delete(d)}}return{[Li]:!0,values:n,nulls:t}},ze=(e)=>{var n,t,o,r,l;if(typeof globalThis.process<"u")return((t=(n=globalThis.process.env)===null||n===void 0?void 0:n[e])===null||t===void 0?void 0:t.trim())||void 0;if(typeof globalThis.Deno<"u")return((l=(r=(o=globalThis.Deno.env)===null||o===void 0?void 0:o.get)===null||r===void 0?void 0:r.call(o,e))===null||l===void 0?void 0:l.trim())||void 0;return},Gi;class Ke{constructor(e){var n,t,o,r,l,a,d,{baseURL:u=ze("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:f=(n=ze("GEMINI_API_KEY"))!==null&&n!==void 0?n:null,apiVersion:p="v1beta"}=e,c=te(e,["baseURL","apiKey","apiVersion"]);let h=Object.assign(Object.assign({apiKey:f,apiVersion:p},c),{baseURL:u||"https://generativelanguage.googleapis.com"});this.baseURL=h.baseURL,this.timeout=(t=h.timeout)!==null&&t!==void 0?t:Ke.DEFAULT_TIMEOUT,this.logger=(o=h.logger)!==null&&o!==void 0?o:console;let m="warn";this.logLevel=m,this.logLevel=(l=(r=_o(h.logLevel,"ClientOptions.logLevel",this))!==null&&r!==void 0?r:_o(ze("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&l!==void 0?l:m,this.fetchOptions=h.fetchOptions,this.maxRetries=(a=h.maxRetries)!==null&&a!==void 0?a:2,this.fetch=(d=h.fetch)!==null&&d!==void 0?d:ef(),this.encoder=of,this._options=h,this.apiKey=f,this.apiVersion=p,this.clientAdapter=h.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"))return;if(this.apiKey&&e.get("x-goog-api-key"))return;if(n.has("x-goog-api-key"))return;throw 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=Ie([e.headers]);if(n.values.has("authorization")||n.values.has("x-goog-api-key"))return;if(this.apiKey)return Ie([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter&&this.clientAdapter.isVertexAI())return Ie([await this.clientAdapter.getAuthHeaders()]);return}stringifyQuery(e){return rf(e)}getUserAgent(){return`${this.constructor.name}/JS ${sf}`}defaultIdempotencyKey(){return`stainless-node-retry-${Od()}`}makeStatusError(e,n,t,o){return V.generate(e,n,t,o)}buildURL(e,n,t){let o=!this.baseURLOverridden()&&t||this.baseURL,r=Yd(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),l=this.defaultQuery(),a=Object.fromEntries(r.searchParams);if(!yo(l)||!yo(a))n=Object.assign(Object.assign(Object.assign({},a),l),n);if(typeof n==="object"&&n&&!Array.isArray(n))r.search=this.stringifyQuery(n);return r.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:t}){}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,t){return this.request(Promise.resolve(t).then((o)=>Object.assign({method:e,path:n},o)))}request(e,n=null){return new Jn(this,this.makeRequest(e,n,void 0))}async makeRequest(e,n,t){var o,r,l;let a=await e,d=(o=a.maxRetries)!==null&&o!==void 0?o:this.maxRetries;if(n==null)n=d;await this.prepareOptions(a);let{req:u,url:f,timeout:p}=await this.buildRequest(a,{retryCount:d-n});await this.prepareRequest(u,{url:f,options:a});let c="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),h=t===void 0?"":`, retryOf: ${t}`,m=Date.now();if(F(this).debug(`[${c}] sending request`,ue({retryOfRequestLogID:t,method:a.method,url:f,options:a,headers:u.headers})),(r=a.signal)===null||r===void 0?void 0:r.aborted)throw new ke;let g=new AbortController,y=await this.fetchWithTimeout(f,u,p,g).catch(mn),E=Date.now();if(y instanceof globalThis.Error){let C=`retrying, ${n} attempts remaining`;if((l=a.signal)===null||l===void 0?void 0:l.aborted)throw new ke;let v=hn(y)||/timed? ?out/i.test(String(y)+("cause"in y?String(y.cause):""));if(n)return F(this).info(`[${c}] connection ${v?"timed out":"failed"} - ${C}`),F(this).debug(`[${c}] connection ${v?"timed out":"failed"} (${C})`,ue({retryOfRequestLogID:t,url:f,durationMs:E-m,message:y.message})),this.retryRequest(a,n,t!==null&&t!==void 0?t:c);if(F(this).info(`[${c}] connection ${v?"timed out":"failed"} - error; no more retries left`),F(this).debug(`[${c}] connection ${v?"timed out":"failed"} (error; no more retries left)`,ue({retryOfRequestLogID:t,url:f,durationMs:E-m,message:y.message})),v)throw new wn;throw new Se({cause:y})}let _=`[${c}${h}] ${u.method} ${f} ${y.ok?"succeeded":"failed"} with status ${y.status} in ${E-m}ms`;if(!y.ok){let C=await this.shouldRetry(y);if(n&&C){let I=`retrying, ${n} attempts remaining`;return await tf(y.body),F(this).info(`${_} - ${I}`),F(this).debug(`[${c}] response error (${I})`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,durationMs:E-m})),this.retryRequest(a,n,t!==null&&t!==void 0?t:c,y.headers)}let v=C?"error; no more retries left":"error; not retryable";F(this).info(`${_} - ${v}`);let S=await y.text().catch((I)=>mn(I).message),w=Zd(S),T=w?void 0:S;throw F(this).debug(`[${c}] response error (${v})`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,message:T,durationMs:Date.now()-m})),this.makeStatusError(y.status,w,T,y.headers)}return F(this).info(_),F(this).debug(`[${c}] response start`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,durationMs:E-m})),{response:y,options:a,controller:g,requestLogID:c,retryOfRequestLogID:t,startTime:m}}async fetchWithTimeout(e,n,t,o){let r=n||{},{signal:l,method:a}=r,d=te(r,["signal","method"]),u=this._makeAbort(o);if(l)l.addEventListener("abort",u,{once:!0});let f=setTimeout(u,t),p=globalThis.ReadableStream&&d.body instanceof globalThis.ReadableStream||typeof d.body==="object"&&d.body!==null&&Symbol.asyncIterator in d.body,c=Object.assign(Object.assign(Object.assign({signal:o.signal},p?{duplex:"half"}:{}),{method:"GET"}),d);if(a)c.method=a.toUpperCase();try{return await this.fetch.call(void 0,e,c)}finally{clearTimeout(f)}}async shouldRetry(e){let n=e.headers.get("x-should-retry");if(n==="true")return!0;if(n==="false")return!1;if(e.status===408)return!0;if(e.status===409)return!0;if(e.status===429)return!0;if(e.status>=500)return!0;return!1}async retryRequest(e,n,t,o){var r;let l,a=o===null||o===void 0?void 0:o.get("retry-after-ms");if(a){let u=parseFloat(a);if(!Number.isNaN(u))l=u}let d=o===null||o===void 0?void 0:o.get("retry-after");if(d&&!l){let u=parseFloat(d);if(!Number.isNaN(u))l=u*1000;else l=Date.parse(d)-Date.now()}if(l===void 0){let u=(r=e.maxRetries)!==null&&r!==void 0?r:this.maxRetries;l=this.calculateDefaultRetryTimeoutMillis(n,u)}return await jd(l),this.makeRequest(e,n-1,t)}calculateDefaultRetryTimeoutMillis(e,n){let r=n-e,l=Math.min(0.5*Math.pow(2,r),8),a=1-Math.random()*0.25;return l*a*1000}async buildRequest(e,{retryCount:n=0}={}){var t,o,r;let l=Object.assign({},e),{method:a,path:d,query:u,defaultBaseURL:f}=l,p=this.buildURL(d,u,f);if("timeout"in l)Qd("timeout",l.timeout);l.timeout=(t=l.timeout)!==null&&t!==void 0?t:this.timeout;let{bodyHeaders:c,body:h}=this.buildBody({options:l}),m=await this.buildHeaders({options:e,method:a,bodyHeaders:c,retryCount:n});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:a,headers:m},l.signal&&{signal:l.signal}),globalThis.ReadableStream&&h instanceof globalThis.ReadableStream&&{duplex:"half"}),h&&{body:h}),(o=this.fetchOptions)!==null&&o!==void 0?o:{}),(r=l.fetchOptions)!==null&&r!==void 0?r:{}),url:p,timeout:l.timeout}}async buildHeaders({options:e,method:n,bodyHeaders:t,retryCount:o}){let r={};if(this.idempotencyHeader&&n!=="get"){if(!e.idempotencyKey)e.idempotencyKey=this.defaultIdempotencyKey();r[this.idempotencyHeader]=e.idempotencyKey}let l=await this.authHeaders(e),a=Ie([r,{Accept:"application/json","User-Agent":this.getUserAgent()},this._options.defaultHeaders,t,e.headers,l]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:n}}){if(!e)return{bodyHeaders:void 0,body:void 0};let t=Ie([n]);if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e==="string"&&t.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:e};else if(typeof e==="object"&&((Symbol.asyncIterator in e)||(Symbol.iterator in e)&&("next"in e)&&typeof e.next==="function"))return{bodyHeaders:void 0,body:nf(e)};else if(typeof e==="object"&&t.values.get("content-type")==="application/x-www-form-urlencoded")return{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)};else return this.encoder({body:e,headers:t})}}Ke.DEFAULT_TIMEOUT=60000;class U extends Ke{constructor(){super(...arguments);this.interactions=new Vn(this),this.webhooks=new Hn(this)}}Gi=U;U.GeminiNextGenAPIClient=Gi;U.GeminiNextGenAPIClientError=J;U.APIError=V;U.APIConnectionError=Se;U.APIConnectionTimeoutError=wn;U.APIUserAbortError=ke;U.NotFoundError=xn;U.ConflictError=Un;U.RateLimitError=Gn;U.BadRequestError=Nn;U.AuthenticationError=Mn;U.InternalServerError=kn;U.PermissionDeniedError=Dn;U.UnprocessableEntityError=Ln;U.toFile=ff;U.Interactions=Vn;U.Webhooks=Hn;var Co="x-goog-api-key",Ce="https://www.googleapis.com/auth/cloud-platform";class ki{constructor(e){if(e.apiKey!==void 0){this.apiKey=e.apiKey;return}let n=Cf(e.googleAuthOptions);this.googleAuth=new vo.GoogleAuth(n)}async addAuthHeaders(e,n){if(this.apiKey!==void 0){if(this.apiKey.startsWith("auth_tokens/"))throw Error("Ephemeral tokens are only supported by the live API.");this.addKeyHeader(e);return}return this.addGoogleAuthHeaders(e,n)}addKeyHeader(e){if(e.get(Co)!==null)return;if(this.apiKey===void 0)throw Error("Trying to set API key header but apiKey is not set");e.append(Co,this.apiKey)}async addGoogleAuthHeaders(e,n){if(this.googleAuth===void 0)throw Error("Trying to set google-auth headers but googleAuth is unset");let t=await this.googleAuth.getRequestHeaders(n);for(let[o,r]of t){if(e.get(o)!==null)continue;e.append(o,r)}}}function Cf(e){let n;if(!e)return n={scopes:[Ce]},n;else{if(n=e,!n.scopes)return n.scopes=[Ce],n;else if(typeof n.scopes==="string"&&n.scopes!==Ce||Array.isArray(n.scopes)&&n.scopes.indexOf(Ce)<0)throw Error(`Invalid auth scopes. Scopes must include: ${Ce}`);return n}}class Fi{async download(e,n){if(e.downloadPath){let t=await Af(e,n);if(t instanceof de){let o=Zi(e.downloadPath);er.fromWeb(t.responseInternal.body).pipe(o),await nr(o)}else try{await ji(e.downloadPath,t,{encoding:"base64"})}catch(o){throw Error(`Failed to write file to ${e.downloadPath}: ${o}`)}}}}async function Af(e,n){var t,o,r;let l=Rn(e.file);if(l!==void 0)return await n.request({path:`files/${l}:download`,httpMethod:"GET",queryParams:{alt:"media"},httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal});else if(Wo(e.file)){let a=(r=e.file.video)===null||r===void 0?void 0:r.videoBytes;if(typeof a==="string")return a;else throw Error("Failed to download generated video, Uri or videoBytes not found.")}else if(zo(e.file)){let a=e.file.videoBytes;if(typeof a==="string")return a;else throw Error("Failed to download video, Uri or videoBytes not found.")}else throw Error("Unsupported file type")}class Vi{create(e,n,t){return new qi(e,n,t)}}class qi{constructor(e,n,t){this.url=e,this.headers=n,this.callbacks=t}connect(){this.ws=new So.WebSocket(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 Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw Error("WebSocket is not connected");this.ws.close()}}function vf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Sf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Rf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function Pf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function wf(e,n,t){let o={};if(i(e,["validationDataset"])!==void 0)throw Error("validationDataset parameter is not supported in Gemini API.");let r=i(e,["tunedModelDisplayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);if(i(e,["description"])!==void 0)throw Error("description parameter is not supported in Gemini API.");let l=i(e,["epochCount"]);if(n!==void 0&&l!=null)s(n,["tuningTask","hyperparameters","epochCount"],l);let a=i(e,["learningRateMultiplier"]);if(a!=null)s(o,["tuningTask","hyperparameters","learningRateMultiplier"],a);if(i(e,["exportLastCheckpointOnly"])!==void 0)throw Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(i(e,["preTunedModelCheckpointId"])!==void 0)throw Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(i(e,["adapterSize"])!==void 0)throw Error("adapterSize parameter is not supported in Gemini API.");if(i(e,["tuningMode"])!==void 0)throw Error("tuningMode parameter is not supported in Gemini API.");if(i(e,["customBaseModel"])!==void 0)throw Error("customBaseModel parameter is not supported in Gemini API.");let d=i(e,["batchSize"]);if(n!==void 0&&d!=null)s(n,["tuningTask","hyperparameters","batchSize"],d);let u=i(e,["learningRate"]);if(n!==void 0&&u!=null)s(n,["tuningTask","hyperparameters","learningRate"],u);if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");if(i(e,["beta"])!==void 0)throw Error("beta parameter is not supported in Gemini API.");if(i(e,["baseTeacherModel"])!==void 0)throw Error("baseTeacherModel parameter is not supported in Gemini API.");if(i(e,["tunedTeacherModelSource"])!==void 0)throw Error("tunedTeacherModelSource parameter is not supported in Gemini API.");if(i(e,["sftLossWeightMultiplier"])!==void 0)throw Error("sftLossWeightMultiplier parameter is not supported in Gemini API.");if(i(e,["outputUri"])!==void 0)throw Error("outputUri parameter is not supported in Gemini API.");if(i(e,["encryptionSpec"])!==void 0)throw Error("encryptionSpec parameter is not supported in Gemini API.");return o}function Nf(e,n,t){let o={},r=i(t,["config","method"]);if(r===void 0)r="SUPERVISED_FINE_TUNING";if(r==="SUPERVISED_FINE_TUNING"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec"],Xe(T))}else if(r==="PREFERENCE_TUNING"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec"],Xe(T))}else if(r==="DISTILLATION"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["distillationSpec"],Xe(T))}let l=i(e,["tunedModelDisplayName"]);if(n!==void 0&&l!=null)s(n,["tunedModelDisplayName"],l);let a=i(e,["description"]);if(n!==void 0&&a!=null)s(n,["description"],a);let d=i(t,["config","method"]);if(d===void 0)d="SUPERVISED_FINE_TUNING";if(d==="SUPERVISED_FINE_TUNING"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","epochCount"],T)}else if(d==="PREFERENCE_TUNING"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","epochCount"],T)}else if(d==="DISTILLATION"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","epochCount"],T)}let u=i(t,["config","method"]);if(u===void 0)u="SUPERVISED_FINE_TUNING";if(u==="SUPERVISED_FINE_TUNING"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],T)}else if(u==="PREFERENCE_TUNING"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],T)}else if(u==="DISTILLATION"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","learningRateMultiplier"],T)}let f=i(t,["config","method"]);if(f===void 0)f="SUPERVISED_FINE_TUNING";if(f==="SUPERVISED_FINE_TUNING"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","exportLastCheckpointOnly"],T)}else if(f==="PREFERENCE_TUNING"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","exportLastCheckpointOnly"],T)}else if(f==="DISTILLATION"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","exportLastCheckpointOnly"],T)}let p=i(t,["config","method"]);if(p===void 0)p="SUPERVISED_FINE_TUNING";if(p==="SUPERVISED_FINE_TUNING"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","adapterSize"],T)}else if(p==="PREFERENCE_TUNING"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","adapterSize"],T)}else if(p==="DISTILLATION"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","adapterSize"],T)}let c=i(t,["config","method"]);if(c===void 0)c="SUPERVISED_FINE_TUNING";if(c==="SUPERVISED_FINE_TUNING"){let T=i(e,["tuningMode"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","tuningMode"],T)}else if(c==="DISTILLATION"){let T=i(e,["tuningMode"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","tuningMode"],T)}let h=i(e,["customBaseModel"]);if(n!==void 0&&h!=null)s(n,["customBaseModel"],h);let m=i(t,["config","method"]);if(m===void 0)m="SUPERVISED_FINE_TUNING";if(m==="SUPERVISED_FINE_TUNING"){let T=i(e,["batchSize"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","batchSize"],T)}else if(m==="DISTILLATION"){let T=i(e,["batchSize"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","batchSize"],T)}let g=i(t,["config","method"]);if(g===void 0)g="SUPERVISED_FINE_TUNING";if(g==="SUPERVISED_FINE_TUNING"){let T=i(e,["learningRate"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","learningRate"],T)}else if(g==="DISTILLATION"){let T=i(e,["learningRate"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","learningRate"],T)}let y=i(e,["labels"]);if(n!==void 0&&y!=null)s(n,["labels"],y);let E=i(e,["beta"]);if(n!==void 0&&E!=null)s(n,["preferenceOptimizationSpec","hyperParameters","beta"],E);let _=i(e,["baseTeacherModel"]);if(n!==void 0&&_!=null)s(n,["distillationSpec","baseTeacherModel"],_);let C=i(e,["tunedTeacherModelSource"]);if(n!==void 0&&C!=null)s(n,["distillationSpec","tunedTeacherModelSource"],C);let v=i(e,["sftLossWeightMultiplier"]);if(n!==void 0&&v!=null)s(n,["distillationSpec","hyperParameters","sftLossWeightMultiplier"],v);let S=i(e,["outputUri"]);if(n!==void 0&&S!=null)s(n,["outputUri"],S);let w=i(e,["encryptionSpec"]);if(n!==void 0&&w!=null)s(n,["encryptionSpec"],w);return o}function Mf(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["preTunedModel"]);if(r!=null)s(t,["preTunedModel"],r);let l=i(e,["trainingDataset"]);if(l!=null)Vf(l);let a=i(e,["config"]);if(a!=null)wf(a,t);return t}function Df(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["preTunedModel"]);if(r!=null)s(t,["preTunedModel"],r);let l=i(e,["trainingDataset"]);if(l!=null)qf(l,t,n);let a=i(e,["config"]);if(a!=null)Nf(a,t,n);return t}function xf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Uf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Lf(e,n,t){let o={},r=i(e,["pageSize"]);if(n!==void 0&&r!=null)s(n,["_query","pageSize"],r);let l=i(e,["pageToken"]);if(n!==void 0&&l!=null)s(n,["_query","pageToken"],l);let a=i(e,["filter"]);if(n!==void 0&&a!=null)s(n,["_query","filter"],a);return o}function Gf(e,n){let t={},o=i(e,["config"]);if(o!=null)Lf(o,t);return t}function kf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["tuningJobs"]);if(l!=null){let a=l;if(Array.isArray(a))a=a.map((d)=>En(d));s(t,["tuningJobs"],a)}return t}function Ff(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["model"],o);let r=i(e,["name"]);if(r!=null)s(t,["endpoint"],r);return t}function Vf(e,n){let t={};if(i(e,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");if(i(e,["vertexDatasetResource"])!==void 0)throw Error("vertexDatasetResource parameter is not supported in Gemini API.");let o=i(e,["examples"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(t,["examples","examples"],r)}return t}function qf(e,n,t){let o={},r=i(t,["config","method"]);if(r===void 0)r="SUPERVISED_FINE_TUNING";if(r==="SUPERVISED_FINE_TUNING"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(r==="PREFERENCE_TUNING"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["preferenceOptimizationSpec","trainingDatasetUri"],a)}else if(r==="DISTILLATION"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["distillationSpec","promptDatasetUri"],a)}let l=i(t,["config","method"]);if(l===void 0)l="SUPERVISED_FINE_TUNING";if(l==="SUPERVISED_FINE_TUNING"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(l==="PREFERENCE_TUNING"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["preferenceOptimizationSpec","trainingDatasetUri"],a)}else if(l==="DISTILLATION"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["distillationSpec","promptDatasetUri"],a)}if(i(e,["examples"])!==void 0)throw Error("examples parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return o}function Hf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["state"]);if(l!=null)s(t,["state"],Yo(l));let a=i(e,["createTime"]);if(a!=null)s(t,["createTime"],a);let d=i(e,["tuningTask","startTime"]);if(d!=null)s(t,["startTime"],d);let u=i(e,["tuningTask","completeTime"]);if(u!=null)s(t,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(t,["updateTime"],f);let p=i(e,["description"]);if(p!=null)s(t,["description"],p);let c=i(e,["baseModel"]);if(c!=null)s(t,["baseModel"],c);let h=i(e,["_self"]);if(h!=null)s(t,["tunedModel"],Ff(h));return t}function En(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["state"]);if(l!=null)s(t,["state"],Yo(l));let a=i(e,["createTime"]);if(a!=null)s(t,["createTime"],a);let d=i(e,["startTime"]);if(d!=null)s(t,["startTime"],d);let u=i(e,["endTime"]);if(u!=null)s(t,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(t,["updateTime"],f);let p=i(e,["error"]);if(p!=null)s(t,["error"],p);let c=i(e,["description"]);if(c!=null)s(t,["description"],c);let h=i(e,["baseModel"]);if(h!=null)s(t,["baseModel"],h);let m=i(e,["tunedModel"]);if(m!=null)s(t,["tunedModel"],m);let g=i(e,["preTunedModel"]);if(g!=null)s(t,["preTunedModel"],g);let y=i(e,["supervisedTuningSpec"]);if(y!=null)s(t,["supervisedTuningSpec"],y);let E=i(e,["preferenceOptimizationSpec"]);if(E!=null)s(t,["preferenceOptimizationSpec"],E);let _=i(e,["distillationSpec"]);if(_!=null)s(t,["distillationSpec"],_);let C=i(e,["tuningDataStats"]);if(C!=null)s(t,["tuningDataStats"],C);let v=i(e,["encryptionSpec"]);if(v!=null)s(t,["encryptionSpec"],v);let S=i(e,["partnerModelTuningSpec"]);if(S!=null)s(t,["partnerModelTuningSpec"],S);let w=i(e,["customBaseModel"]);if(w!=null)s(t,["customBaseModel"],w);let T=i(e,["evaluateDatasetRuns"]);if(T!=null){let ae=T;if(Array.isArray(ae))ae=ae.map((K)=>K);s(t,["evaluateDatasetRuns"],ae)}let N=i(e,["experiment"]);if(N!=null)s(t,["experiment"],N);let I=i(e,["fullFineTuningSpec"]);if(I!=null)s(t,["fullFineTuningSpec"],I);let R=i(e,["labels"]);if(R!=null)s(t,["labels"],R);let D=i(e,["outputUri"]);if(D!=null)s(t,["outputUri"],D);let B=i(e,["pipelineJob"]);if(B!=null)s(t,["pipelineJob"],B);let b=i(e,["serviceAccount"]);if(b!=null)s(t,["serviceAccount"],b);let O=i(e,["tunedModelDisplayName"]);if(O!=null)s(t,["tunedModelDisplayName"],O);let G=i(e,["tuningJobState"]);if(G!=null)s(t,["tuningJobState"],G);let L=i(e,["veoTuningSpec"]);if(L!=null)s(t,["veoTuningSpec"],L);let Z=i(e,["distillationSamplingSpec"]);if(Z!=null)s(t,["distillationSamplingSpec"],Z);let _e=i(e,["tuningJobMetadata"]);if(_e!=null)s(t,["tuningJobMetadata"],_e);return t}function Bf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);let a=i(e,["done"]);if(a!=null)s(t,["done"],a);let d=i(e,["error"]);if(d!=null)s(t,["error"],d);return t}function Xe(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["validationDatasetUri"],o);let r=i(e,["vertexDatasetResource"]);if(r!=null)s(t,["validationDatasetUri"],r);return t}class Hi extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_TUNING_JOBS,(t)=>this.listInternal(t),await this.listInternal(n),n),this.get=async(n)=>await this.getInternal(n),this.tune=async(n)=>{var t;if(this.apiClient.isVertexAI())if(n.baseModel.startsWith("projects/")){let o={tunedModelName:n.baseModel};if((t=n.config)===null||t===void 0?void 0:t.preTunedModelCheckpointId)o.checkpointId=n.config.preTunedModelCheckpointId;let r=Object.assign(Object.assign({},n),{preTunedModel:o});return r.baseModel=void 0,await this.tuneInternal(r)}else{let o=Object.assign({},n);return await this.tuneInternal(o)}else{let o=Object.assign({},n),r=await this.tuneMldevInternal(o),l="";if(r.metadata!==void 0&&r.metadata.tunedModel!==void 0)l=r.metadata.tunedModel;else if(r.name!==void 0&&r.name.includes("/operations/"))l=r.name.split("/operations/")[0];return{name:l,state:Ze.JOB_STATE_QUEUED}}}}async getInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Uf(e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>En(f))}else{let u=xf(e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>Hf(f))}}async listInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Gf(e);return r=A("tuningJobs",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=kf(d),f=new xo;return Object.assign(f,u),f})}else throw Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async cancel(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Sf(e);return a=A("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Pf(f),c=new rn;return Object.assign(c,p),c})}else{let u=vf(e);return a=A("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Rf(f),c=new rn;return Object.assign(c,p),c})}}async tuneInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Df(e,e);return r=A("tuningJobs",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>En(d))}else throw Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async tuneMldevInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=Mf(e);return r=A("tunedModels",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>Bf(d))}}}var Bi=8388608,Ji=3,bi=1000,$i=2,oe="x-goog-upload-status";async function Jf(e,n,t,o){var r;let l=await Oi(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return a.file}async function bf(e,n,t,o){var r;let l=await Oi(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new Be;return Object.assign(u,d),u}async function Oi(e,n,t,o){var r,l,a;let d=n,u=(o===null||o===void 0?void 0:o.baseUrl)||((r=t.clientOptions.httpOptions)===null||r===void 0?void 0:r.baseUrl);if(u){let m=new URL(u),g=new URL(n);g.protocol=m.protocol,g.host=m.host,g.port=m.port,d=g.toString()}let f=0,p=0,c=new de(new Response),h="upload";f=e.size;while(p<f){let m=Math.min(Bi,f-p),g=e.slice(p,p+m);if(p+m>=f)h+=", finalize";let y=0,E=bi;while(y<Ji){let _=Object.assign(Object.assign({},(o===null||o===void 0?void 0:o.headers)||{}),{"X-Goog-Upload-Command":h,"X-Goog-Upload-Offset":String(p),"Content-Length":String(m)});if(c=await t.request({path:"",body:g,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},o),{apiVersion:"",baseUrl:d,headers:_})}),(l=c===null||c===void 0?void 0:c.headers)===null||l===void 0?void 0:l[oe])break;y++,await Ki(E),E=E*$i}if(p+=m,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[oe])!=="active")break;if(f<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return c}async function $f(e){return{size:e.size,type:e.type}}function Ki(e){return new Promise((n)=>setTimeout(n,e))}class Yi{async stat(e){let n={size:0,type:void 0};if(typeof e==="string"){let t=await qe.stat(e);return n.size=t.size,n.type=this.inferMimeType(e),n}else return await $f(e)}async upload(e,n,t,o){if(typeof e==="string")return await this.uploadFileFromPath(e,n,t,o);else return Jf(e,n,t,o)}async uploadToFileSearchStore(e,n,t,o){if(typeof e==="string")return await this.uploadFileToFileSearchStoreFromPath(e,n,t,o);else return bf(e,n,t,o)}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,t,o){var r;let l=await this.uploadFileFromPathInternal(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return a.file}async uploadFileToFileSearchStoreFromPath(e,n,t,o){var r;let l=await this.uploadFileFromPathInternal(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new Be;return Object.assign(u,d),u}async uploadFileFromPathInternal(e,n,t,o){var r,l,a;let d=n,u=(o===null||o===void 0?void 0:o.baseUrl)||((r=t.clientOptions.httpOptions)===null||r===void 0?void 0:r.baseUrl);if(u){let y=new URL(u),E=new URL(n);E.protocol=y.protocol,E.host=y.host,E.port=y.port,d=E.toString()}let f=0,p=0,c=new de(new Response),h="upload",m,g=Ro.basename(e);try{if(m=await qe.open(e,"r"),!m)throw Error("Failed to open file");f=(await m.stat()).size;while(p<f){let y=Math.min(Bi,f-p);if(p+y>=f)h+=", finalize";let E=new Uint8Array(y),{bytesRead:_}=await m.read(E,0,y,p);if(_!==y)throw Error(`Failed to read ${y} bytes from file at offset ${p}. bytes actually read: ${_}`);let C=new Blob([E]),v=0,S=bi;while(v<Ji){let w=Object.assign(Object.assign({},(o===null||o===void 0?void 0:o.headers)||{}),{"X-Goog-Upload-Command":h,"X-Goog-Upload-Offset":String(p),"Content-Length":String(_),"X-Goog-Upload-File-Name":g});if(c=await t.request({path:"",body:C,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},o),{apiVersion:"",baseUrl:d,headers:w})}),(l=c===null||c===void 0?void 0:c.headers)===null||l===void 0?void 0:l[oe])break;v++,await Ki(S),S=S*$i}if(p+=_,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[oe])!=="active")break;if(f<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return c}finally{if(m)await m.close()}}}class Wi extends li{async registerFiles(e){if(typeof process>"u"||!process.versions||!process.versions.node)throw Error("registerFiles is only supported in Node.js environments.");let t=await e.auth.getRequestHeaders(),o=e.config||{},r=o.httpOptions||{},l=Object.assign({},r.headers||{});if(t)if(typeof t[Symbol.iterator]==="function")for(let[a,d]of t)l[a]=d;else for(let[a,d]of Object.entries(t))l[a]=d;return this._registerFiles({uris:e.uris,config:Object.assign(Object.assign({},o),{httpOptions:Object.assign(Object.assign({},r),{headers:l})})})}}var Of="gl-node/";function Kf(e){var n;if(e.enterprise!==void 0||e.vertexai!==void 0){if(e.enterprise!==void 0&&e.vertexai!==void 0&&e.enterprise!==e.vertexai)throw Error("enterprise and vertexAI flags have conflicting values, please set enterprise value only.");return(n=e.enterprise)!==null&&n!==void 0?n:e.vertexai}let t=ie("GOOGLE_GENAI_USE_ENTERPRISE"),o=ie("GOOGLE_GENAI_USE_VERTEXAI"),r=Ao(t),l=Ao(o);if(t!==void 0&&o!==void 0&&r!==l)console.warn("Warning: Both GOOGLE_GENAI_USE_ENTERPRISE and GOOGLE_GENAI_USE_VERTEXAI are set with conflicting values. The value of GOOGLE_GENAI_USE_ENTERPRISE will be used.");if(t!==void 0)return r;if(o!==void 0)return l;return!1}class Aa{getNextGenClient(){var e;let n=this.httpOptions;if(this._nextGenClient===void 0)this._nextGenClient=new U({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,apiVersion:this.apiClient.getApiVersion(),clientAdapter:this.apiClient,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:n===null||n===void 0?void 0:n.timeout,maxRetries:(e=n===null||n===void 0?void 0:n.retryOptions)===null||e===void 0?void 0:e.attempts});if(n===null||n===void 0?void 0:n.extraBody)console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");return this._nextGenClient}get interactions(){if(this._interactions!==void 0)return this._interactions;return console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions."),this._interactions=this.getNextGenClient().interactions,this._interactions}get webhooks(){if(this._webhooks!==void 0)return this._webhooks;return this._webhooks=this.getNextGenClient().webhooks,this._webhooks}constructor(e){var n,t,o,r;if((e.project||e.location)&&e.apiKey)throw Error("Project/location and API key are mutually exclusive in the client initializer.");this.vertexai=Kf(e);let l=Yf(),a=ie("GOOGLE_CLOUD_PROJECT"),d=ie("GOOGLE_CLOUD_LOCATION");if(this.apiKey=(n=e.apiKey)!==null&&n!==void 0?n:l,this.project=(t=e.project)!==null&&t!==void 0?t:a,this.location=(o=e.location)!==null&&o!==void 0?o:d,!this.vertexai&&!this.apiKey)console.warn("API key should be set when using the Gemini API.");if(this.vertexai){if((r=e.googleAuthOptions)===null||r===void 0?void 0:r.credentials)console.debug("The user provided Google Cloud credentials will take precedence over the API key from the environment variable."),this.apiKey=void 0;if((a||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;else if((e.project||e.location)&&l)console.debug("The user provided project/location will take precedence over the API key from the environment variables."),this.apiKey=void 0;else if((a||d)&&l)console.debug("The project/location from the environment variables will take precedence over the API key from the environment variables."),this.apiKey=void 0;if(!this.location&&!this.apiKey)this.location="global"}let u=rr(e.httpOptions,this.vertexai,ie("GOOGLE_VERTEX_BASE_URL"),ie("GOOGLE_GEMINI_BASE_URL"));if(u)if(e.httpOptions)e.httpOptions.baseUrl=u;else e.httpOptions={baseUrl:u};this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let f=new ki({apiKey:this.apiKey,googleAuthOptions:e.googleAuthOptions});this.apiClient=new mi({auth:f,project:this.project,location:this.location,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:Of+process.version,uploader:new Yi,downloader:new Fi}),this.models=new Ci(this.apiClient),this.live=new _i(this.apiClient,f,new Vi),this.batches=new ti(this.apiClient),this.chats=new ri(this.models,this.apiClient),this.caches=new oi(this.apiClient),this.files=new Wi(this.apiClient),this.operations=new Ai(this.apiClient),this.authTokens=new vi(this.apiClient),this.tunings=new Hi(this.apiClient),this.fileSearchStores=new Ri(this.apiClient)}}function ie(e){var n,t,o;return(o=(t=(n=process===null||process===void 0?void 0:process.env)===null||n===void 0?void 0:n[e])===null||t===void 0?void 0:t.trim())!==null&&o!==void 0?o:void 0}function Ao(e){if(e===void 0)return!1;return e.toLowerCase()==="true"}function Yf(){let e=ie("GOOGLE_API_KEY"),n=ie("GEMINI_API_KEY");if(e&&n)console.warn("Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.");return e||n||void 0}function rc(e){return e.thought===!0}function _a(e,n){if(typeof n==="string"&&n.length>0)return n;return e}var Wf=/^[A-Za-z0-9+/]+={0,2}$/;function zf(e){if(!e)return!1;if(e.length%4!==0)return!1;return Wf.test(e)}function bn(e,n){return e&&zf(n)?n:void 0}function $n(e){return e.startsWith("claude-")||e.startsWith("gpt-oss-")}function Xi(e){let n=e.toLowerCase().match(/^gemini(?:-live)?-(\d+)/);if(!n)return;return Number.parseInt(n[1],10)}function Xf(e){let n=Xi(e);if(n!==void 0)return n>=3;return!0}function nc(e,n){let t=[],o=(l)=>{if(!$n(e.id))return l;return l.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)},r=mo(n.messages,e,o);for(let l of r)if(l.role==="user")if(typeof l.content==="string")t.push({role:"user",parts:[{text:He(l.content)}]});else{let a=l.content.map((d)=>{if(d.type==="text")return{text:He(d.text)};else return{inlineData:{mimeType:d.mimeType,data:d.data}}});if(a.length===0)continue;t.push({role:"user",parts:a})}else if(l.role==="assistant"){let a=[],d=l.provider===e.provider&&l.model===e.id;for(let u of l.content)if(u.type==="text"){if(!u.text||u.text.trim()==="")continue;let f=bn(d,u.textSignature);a.push({text:He(u.text),...f&&{thoughtSignature:f}})}else if(u.type==="thinking"){if(!u.thinking||u.thinking.trim()==="")continue;if(d){let f=bn(d,u.thinkingSignature);a.push({thought:!0,text:He(u.thinking),...f&&{thoughtSignature:f}})}else a.push({text:He(u.thinking)})}else if(u.type==="toolCall"){let f=bn(d,u.thoughtSignature),p={functionCall:{name:u.name,args:u.arguments??{},...$n(e.id)?{id:u.id}:{}},...f&&{thoughtSignature:f}};a.push(p)}if(a.length===0)continue;t.push({role:"model",parts:a})}else if(l.role==="toolResult"){let d=l.content.filter((_)=>_.type==="text").map((_)=>_.text).join(`
15
- `),u=e.input.includes("image")?l.content.filter((_)=>_.type==="image"):[],f=d.length>0,p=u.length>0,c=Xf(e.id),h=f?He(d):p?"(see attached image)":"",m=u.map((_)=>({inlineData:{mimeType:_.mimeType,data:_.data}})),g=$n(e.id),y={functionResponse:{name:l.toolName,response:l.isError?{error:h}:{output:h},...p&&c&&{parts:m},...g?{id:l.toolCallId}:{}}},E=t[t.length-1];if(E?.role==="user"&&E.parts?.some((_)=>_.functionResponse))E.parts.push(y);else t.push({role:"user",parts:[y]});if(p&&!c)t.push({role:"user",parts:[{text:"Tool result image:"},...m]})}return t}var Qf=new Set(["$schema","$id","$anchor","$dynamicAnchor","$vocabulary","$comment","$defs","definitions"]);function Qi(e){if(typeof e!=="object"||e===null||Array.isArray(e))return e;let n={};for(let[t,o]of Object.entries(e)){if(Qf.has(t))continue;n[t]=Qi(o)}return n}function oc(e,n=!1){if(e.length===0)return;return[{functionDeclarations:e.map((t)=>({name:t.name,description:t.description,...n?{parameters:Qi(t.parameters)}:{parametersJsonSchema:t.parameters}}))}]}function sc(e){let n=Xi(e);return n!==void 0&&n>=3}function zi(e){switch(e){case"auto":return re.AUTO;case"none":return re.NONE;case"any":return re.ANY;default:return re.AUTO}}function ic(e,n,t){let o=e.some((r)=>po(r,t)===!0);if(n==="none"||n==="any")return zi(n);if(o)return re.VALIDATED;return n?zi(n):void 0}function ac(e){switch(e){case x.STOP:return"stop";case x.MAX_TOKENS:return"length";case x.BLOCKLIST:case x.PROHIBITED_CONTENT:case x.SPII:case x.SAFETY:case x.IMAGE_SAFETY:case x.IMAGE_PROHIBITED_CONTENT:case x.IMAGE_RECITATION:case x.IMAGE_OTHER:case x.RECITATION:case x.FINISH_REASON_UNSPECIFIED:case x.OTHER:case x.LANGUAGE:case x.MALFORMED_FUNCTION_CALL:case x.UNEXPECTED_TOOL_CALL:case x.NO_IMAGE:return"error";default:throw Error(`Unhandled stop reason: ${e}`)}}
16
- export{Is,tc,Aa,rc,_a,nc,oc,sc,ic,ac};
14
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],r}if(this.chunks.push(e),e.startsWith(":"))return null;let[n,t,o]=Tf(e,":");if(o.startsWith(" "))o=o.substring(1);if(n==="event")this.event=o;else if(n==="data")this.data.push(o);return null}}function Tf(e,n){let t=e.indexOf(n);if(t!==-1)return[e.substring(0,t),n,e.substring(t+n.length)];return[e,"",""]}async function _f(e,n){let{response:t,requestLogID:o,retryOfRequestLogID:r,startTime:l}=n,a=await(async()=>{var d;if(n.options.stream){if(F(e).debug("response",t.status,t.url,t.headers,t.body),n.options.__streamClass)return n.options.__streamClass.fromSSEResponse(t,n.controller,e);return pe.fromSSEResponse(t,n.controller,e)}if(t.status===204)return null;if(n.options.__binaryResponse)return t;let u=t.headers.get("content-type"),f=(d=u===null||u===void 0?void 0:u.split(";")[0])===null||d===void 0?void 0:d.trim();if((f===null||f===void 0?void 0:f.includes("application/json"))||(f===null||f===void 0?void 0:f.endsWith("+json"))){if(t.headers.get("content-length")==="0")return;return await t.json()}return await t.text()})();return F(e).debug(`[${o}] response parsed`,ue({retryOfRequestLogID:r,url:t.url,status:t.status,body:a,durationMs:Date.now()-l})),a}class Jn extends Promise{constructor(e,n,t=_f){super((o)=>{o(null)});this.responsePromise=n,this.parseResponse=t,this.client=e}_thenUnwrap(e){return new Jn(this.client,this.responsePromise,async(n,t)=>e(await this.parseResponse(n,t),t))}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(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then((e)=>this.parseResponse(this.client,e));return 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 Li=Symbol("brand.privateNullableHeaders");function*If(e){if(!e)return;if(Li in e){let{values:o,nulls:r}=e;yield*o.entries();for(let l of r)yield[l,null];return}let n=!1,t;if(e instanceof Headers)t=e.entries();else if(go(e))t=e;else n=!0,t=Object.entries(e!==null&&e!==void 0?e:{});for(let o of t){let r=o[0];if(typeof r!=="string")throw TypeError("expected header name to be a string");let l=go(o[1])?o[1]:[o[1]],a=!1;for(let d of l){if(d===void 0)continue;if(n&&!a)a=!0,yield[r,null];yield[r,d]}}}var Ie=(e)=>{let n=new Headers,t=new Set;for(let o of e){let r=new Set;for(let[l,a]of If(o)){let d=l.toLowerCase();if(!r.has(d))n.delete(l),r.add(d);if(a===null)n.delete(l),t.add(d);else n.append(l,a),t.delete(d)}}return{[Li]:!0,values:n,nulls:t}},ze=(e)=>{var n,t,o,r,l;if(typeof globalThis.process<"u")return((t=(n=globalThis.process.env)===null||n===void 0?void 0:n[e])===null||t===void 0?void 0:t.trim())||void 0;if(typeof globalThis.Deno<"u")return((l=(r=(o=globalThis.Deno.env)===null||o===void 0?void 0:o.get)===null||r===void 0?void 0:r.call(o,e))===null||l===void 0?void 0:l.trim())||void 0;return},Gi;class Ke{constructor(e){var n,t,o,r,l,a,d,{baseURL:u=ze("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:f=(n=ze("GEMINI_API_KEY"))!==null&&n!==void 0?n:null,apiVersion:p="v1beta"}=e,c=te(e,["baseURL","apiKey","apiVersion"]);let h=Object.assign(Object.assign({apiKey:f,apiVersion:p},c),{baseURL:u||"https://generativelanguage.googleapis.com"});this.baseURL=h.baseURL,this.timeout=(t=h.timeout)!==null&&t!==void 0?t:Ke.DEFAULT_TIMEOUT,this.logger=(o=h.logger)!==null&&o!==void 0?o:console;let m="warn";this.logLevel=m,this.logLevel=(l=(r=_o(h.logLevel,"ClientOptions.logLevel",this))!==null&&r!==void 0?r:_o(ze("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&l!==void 0?l:m,this.fetchOptions=h.fetchOptions,this.maxRetries=(a=h.maxRetries)!==null&&a!==void 0?a:2,this.fetch=(d=h.fetch)!==null&&d!==void 0?d:ef(),this.encoder=of,this._options=h,this.apiKey=f,this.apiVersion=p,this.clientAdapter=h.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"))return;if(this.apiKey&&e.get("x-goog-api-key"))return;if(n.has("x-goog-api-key"))return;throw 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=Ie([e.headers]);if(n.values.has("authorization")||n.values.has("x-goog-api-key"))return;if(this.apiKey)return Ie([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter&&this.clientAdapter.isVertexAI())return Ie([await this.clientAdapter.getAuthHeaders()]);return}stringifyQuery(e){return rf(e)}getUserAgent(){return`${this.constructor.name}/JS ${sf}`}defaultIdempotencyKey(){return`stainless-node-retry-${Od()}`}makeStatusError(e,n,t,o){return V.generate(e,n,t,o)}buildURL(e,n,t){let o=!this.baseURLOverridden()&&t||this.baseURL,r=Yd(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),l=this.defaultQuery(),a=Object.fromEntries(r.searchParams);if(!yo(l)||!yo(a))n=Object.assign(Object.assign(Object.assign({},a),l),n);if(typeof n==="object"&&n&&!Array.isArray(n))r.search=this.stringifyQuery(n);return r.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:t}){}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,t){return this.request(Promise.resolve(t).then((o)=>Object.assign({method:e,path:n},o)))}request(e,n=null){return new Jn(this,this.makeRequest(e,n,void 0))}async makeRequest(e,n,t){var o,r,l;let a=await e,d=(o=a.maxRetries)!==null&&o!==void 0?o:this.maxRetries;if(n==null)n=d;await this.prepareOptions(a);let{req:u,url:f,timeout:p}=await this.buildRequest(a,{retryCount:d-n});await this.prepareRequest(u,{url:f,options:a});let c="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),h=t===void 0?"":`, retryOf: ${t}`,m=Date.now();if(F(this).debug(`[${c}] sending request`,ue({retryOfRequestLogID:t,method:a.method,url:f,options:a,headers:u.headers})),(r=a.signal)===null||r===void 0?void 0:r.aborted)throw new ke;let g=new AbortController,y=await this.fetchWithTimeout(f,u,p,g).catch(mn),E=Date.now();if(y instanceof globalThis.Error){let C=`retrying, ${n} attempts remaining`;if((l=a.signal)===null||l===void 0?void 0:l.aborted)throw new ke;let v=hn(y)||/timed? ?out/i.test(String(y)+("cause"in y?String(y.cause):""));if(n)return F(this).info(`[${c}] connection ${v?"timed out":"failed"} - ${C}`),F(this).debug(`[${c}] connection ${v?"timed out":"failed"} (${C})`,ue({retryOfRequestLogID:t,url:f,durationMs:E-m,message:y.message})),this.retryRequest(a,n,t!==null&&t!==void 0?t:c);if(F(this).info(`[${c}] connection ${v?"timed out":"failed"} - error; no more retries left`),F(this).debug(`[${c}] connection ${v?"timed out":"failed"} (error; no more retries left)`,ue({retryOfRequestLogID:t,url:f,durationMs:E-m,message:y.message})),v)throw new wn;throw new Se({cause:y})}let _=`[${c}${h}] ${u.method} ${f} ${y.ok?"succeeded":"failed"} with status ${y.status} in ${E-m}ms`;if(!y.ok){let C=await this.shouldRetry(y);if(n&&C){let I=`retrying, ${n} attempts remaining`;return await tf(y.body),F(this).info(`${_} - ${I}`),F(this).debug(`[${c}] response error (${I})`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,durationMs:E-m})),this.retryRequest(a,n,t!==null&&t!==void 0?t:c,y.headers)}let v=C?"error; no more retries left":"error; not retryable";F(this).info(`${_} - ${v}`);let S=await y.text().catch((I)=>mn(I).message),w=Zd(S),T=w?void 0:S;throw F(this).debug(`[${c}] response error (${v})`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,message:T,durationMs:Date.now()-m})),this.makeStatusError(y.status,w,T,y.headers)}return F(this).info(_),F(this).debug(`[${c}] response start`,ue({retryOfRequestLogID:t,url:y.url,status:y.status,headers:y.headers,durationMs:E-m})),{response:y,options:a,controller:g,requestLogID:c,retryOfRequestLogID:t,startTime:m}}async fetchWithTimeout(e,n,t,o){let r=n||{},{signal:l,method:a}=r,d=te(r,["signal","method"]),u=this._makeAbort(o);if(l)l.addEventListener("abort",u,{once:!0});let f=setTimeout(u,t),p=globalThis.ReadableStream&&d.body instanceof globalThis.ReadableStream||typeof d.body==="object"&&d.body!==null&&Symbol.asyncIterator in d.body,c=Object.assign(Object.assign(Object.assign({signal:o.signal},p?{duplex:"half"}:{}),{method:"GET"}),d);if(a)c.method=a.toUpperCase();try{return await this.fetch.call(void 0,e,c)}finally{clearTimeout(f)}}async shouldRetry(e){let n=e.headers.get("x-should-retry");if(n==="true")return!0;if(n==="false")return!1;if(e.status===408)return!0;if(e.status===409)return!0;if(e.status===429)return!0;if(e.status>=500)return!0;return!1}async retryRequest(e,n,t,o){var r;let l,a=o===null||o===void 0?void 0:o.get("retry-after-ms");if(a){let u=parseFloat(a);if(!Number.isNaN(u))l=u}let d=o===null||o===void 0?void 0:o.get("retry-after");if(d&&!l){let u=parseFloat(d);if(!Number.isNaN(u))l=u*1000;else l=Date.parse(d)-Date.now()}if(l===void 0){let u=(r=e.maxRetries)!==null&&r!==void 0?r:this.maxRetries;l=this.calculateDefaultRetryTimeoutMillis(n,u)}return await jd(l),this.makeRequest(e,n-1,t)}calculateDefaultRetryTimeoutMillis(e,n){let r=n-e,l=Math.min(0.5*Math.pow(2,r),8),a=1-Math.random()*0.25;return l*a*1000}async buildRequest(e,{retryCount:n=0}={}){var t,o,r;let l=Object.assign({},e),{method:a,path:d,query:u,defaultBaseURL:f}=l,p=this.buildURL(d,u,f);if("timeout"in l)Qd("timeout",l.timeout);l.timeout=(t=l.timeout)!==null&&t!==void 0?t:this.timeout;let{bodyHeaders:c,body:h}=this.buildBody({options:l}),m=await this.buildHeaders({options:e,method:a,bodyHeaders:c,retryCount:n});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:a,headers:m},l.signal&&{signal:l.signal}),globalThis.ReadableStream&&h instanceof globalThis.ReadableStream&&{duplex:"half"}),h&&{body:h}),(o=this.fetchOptions)!==null&&o!==void 0?o:{}),(r=l.fetchOptions)!==null&&r!==void 0?r:{}),url:p,timeout:l.timeout}}async buildHeaders({options:e,method:n,bodyHeaders:t,retryCount:o}){let r={};if(this.idempotencyHeader&&n!=="get"){if(!e.idempotencyKey)e.idempotencyKey=this.defaultIdempotencyKey();r[this.idempotencyHeader]=e.idempotencyKey}let l=await this.authHeaders(e),a=Ie([r,{Accept:"application/json","User-Agent":this.getUserAgent()},this._options.defaultHeaders,t,e.headers,l]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:n}}){if(!e)return{bodyHeaders:void 0,body:void 0};let t=Ie([n]);if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e==="string"&&t.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:e};else if(typeof e==="object"&&((Symbol.asyncIterator in e)||(Symbol.iterator in e)&&("next"in e)&&typeof e.next==="function"))return{bodyHeaders:void 0,body:nf(e)};else if(typeof e==="object"&&t.values.get("content-type")==="application/x-www-form-urlencoded")return{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)};else return this.encoder({body:e,headers:t})}}Ke.DEFAULT_TIMEOUT=60000;class U extends Ke{constructor(){super(...arguments);this.interactions=new Vn(this),this.webhooks=new Hn(this)}}Gi=U;U.GeminiNextGenAPIClient=Gi;U.GeminiNextGenAPIClientError=J;U.APIError=V;U.APIConnectionError=Se;U.APIConnectionTimeoutError=wn;U.APIUserAbortError=ke;U.NotFoundError=xn;U.ConflictError=Un;U.RateLimitError=Gn;U.BadRequestError=Nn;U.AuthenticationError=Mn;U.InternalServerError=kn;U.PermissionDeniedError=Dn;U.UnprocessableEntityError=Ln;U.toFile=ff;U.Interactions=Vn;U.Webhooks=Hn;var Co="x-goog-api-key",Ce="https://www.googleapis.com/auth/cloud-platform";class ki{constructor(e){if(e.apiKey!==void 0){this.apiKey=e.apiKey;return}let n=Cf(e.googleAuthOptions);this.googleAuth=new vo.GoogleAuth(n)}async addAuthHeaders(e,n){if(this.apiKey!==void 0){if(this.apiKey.startsWith("auth_tokens/"))throw Error("Ephemeral tokens are only supported by the live API.");this.addKeyHeader(e);return}return this.addGoogleAuthHeaders(e,n)}addKeyHeader(e){if(e.get(Co)!==null)return;if(this.apiKey===void 0)throw Error("Trying to set API key header but apiKey is not set");e.append(Co,this.apiKey)}async addGoogleAuthHeaders(e,n){if(this.googleAuth===void 0)throw Error("Trying to set google-auth headers but googleAuth is unset");let t=await this.googleAuth.getRequestHeaders(n);for(let[o,r]of t){if(e.get(o)!==null)continue;e.append(o,r)}}}function Cf(e){let n;if(!e)return n={scopes:[Ce]},n;else{if(n=e,!n.scopes)return n.scopes=[Ce],n;else if(typeof n.scopes==="string"&&n.scopes!==Ce||Array.isArray(n.scopes)&&n.scopes.indexOf(Ce)<0)throw Error(`Invalid auth scopes. Scopes must include: ${Ce}`);return n}}class Fi{async download(e,n){if(e.downloadPath){let t=await Af(e,n);if(t instanceof de){let o=Zi(e.downloadPath);er.fromWeb(t.responseInternal.body).pipe(o),await nr(o)}else try{await ji(e.downloadPath,t,{encoding:"base64"})}catch(o){throw Error(`Failed to write file to ${e.downloadPath}: ${o}`)}}}}async function Af(e,n){var t,o,r;let l=Rn(e.file);if(l!==void 0)return await n.request({path:`files/${l}:download`,httpMethod:"GET",queryParams:{alt:"media"},httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal});else if(Wo(e.file)){let a=(r=e.file.video)===null||r===void 0?void 0:r.videoBytes;if(typeof a==="string")return a;else throw Error("Failed to download generated video, Uri or videoBytes not found.")}else if(zo(e.file)){let a=e.file.videoBytes;if(typeof a==="string")return a;else throw Error("Failed to download video, Uri or videoBytes not found.")}else throw Error("Unsupported file type")}class Vi{create(e,n,t){return new qi(e,n,t)}}class qi{constructor(e,n,t){this.url=e,this.headers=n,this.callbacks=t}connect(){this.ws=new So.WebSocket(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 Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw Error("WebSocket is not connected");this.ws.close()}}function vf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Sf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Rf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function Pf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function wf(e,n,t){let o={};if(i(e,["validationDataset"])!==void 0)throw Error("validationDataset parameter is not supported in Gemini API.");let r=i(e,["tunedModelDisplayName"]);if(n!==void 0&&r!=null)s(n,["displayName"],r);if(i(e,["description"])!==void 0)throw Error("description parameter is not supported in Gemini API.");let l=i(e,["epochCount"]);if(n!==void 0&&l!=null)s(n,["tuningTask","hyperparameters","epochCount"],l);let a=i(e,["learningRateMultiplier"]);if(a!=null)s(o,["tuningTask","hyperparameters","learningRateMultiplier"],a);if(i(e,["exportLastCheckpointOnly"])!==void 0)throw Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(i(e,["preTunedModelCheckpointId"])!==void 0)throw Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(i(e,["adapterSize"])!==void 0)throw Error("adapterSize parameter is not supported in Gemini API.");if(i(e,["tuningMode"])!==void 0)throw Error("tuningMode parameter is not supported in Gemini API.");if(i(e,["customBaseModel"])!==void 0)throw Error("customBaseModel parameter is not supported in Gemini API.");let d=i(e,["batchSize"]);if(n!==void 0&&d!=null)s(n,["tuningTask","hyperparameters","batchSize"],d);let u=i(e,["learningRate"]);if(n!==void 0&&u!=null)s(n,["tuningTask","hyperparameters","learningRate"],u);if(i(e,["labels"])!==void 0)throw Error("labels parameter is not supported in Gemini API.");if(i(e,["beta"])!==void 0)throw Error("beta parameter is not supported in Gemini API.");if(i(e,["baseTeacherModel"])!==void 0)throw Error("baseTeacherModel parameter is not supported in Gemini API.");if(i(e,["tunedTeacherModelSource"])!==void 0)throw Error("tunedTeacherModelSource parameter is not supported in Gemini API.");if(i(e,["sftLossWeightMultiplier"])!==void 0)throw Error("sftLossWeightMultiplier parameter is not supported in Gemini API.");if(i(e,["outputUri"])!==void 0)throw Error("outputUri parameter is not supported in Gemini API.");if(i(e,["encryptionSpec"])!==void 0)throw Error("encryptionSpec parameter is not supported in Gemini API.");return o}function Nf(e,n,t){let o={},r=i(t,["config","method"]);if(r===void 0)r="SUPERVISED_FINE_TUNING";if(r==="SUPERVISED_FINE_TUNING"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec"],Xe(T))}else if(r==="PREFERENCE_TUNING"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec"],Xe(T))}else if(r==="DISTILLATION"){let T=i(e,["validationDataset"]);if(n!==void 0&&T!=null)s(n,["distillationSpec"],Xe(T))}let l=i(e,["tunedModelDisplayName"]);if(n!==void 0&&l!=null)s(n,["tunedModelDisplayName"],l);let a=i(e,["description"]);if(n!==void 0&&a!=null)s(n,["description"],a);let d=i(t,["config","method"]);if(d===void 0)d="SUPERVISED_FINE_TUNING";if(d==="SUPERVISED_FINE_TUNING"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","epochCount"],T)}else if(d==="PREFERENCE_TUNING"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","epochCount"],T)}else if(d==="DISTILLATION"){let T=i(e,["epochCount"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","epochCount"],T)}let u=i(t,["config","method"]);if(u===void 0)u="SUPERVISED_FINE_TUNING";if(u==="SUPERVISED_FINE_TUNING"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],T)}else if(u==="PREFERENCE_TUNING"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],T)}else if(u==="DISTILLATION"){let T=i(e,["learningRateMultiplier"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","learningRateMultiplier"],T)}let f=i(t,["config","method"]);if(f===void 0)f="SUPERVISED_FINE_TUNING";if(f==="SUPERVISED_FINE_TUNING"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","exportLastCheckpointOnly"],T)}else if(f==="PREFERENCE_TUNING"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","exportLastCheckpointOnly"],T)}else if(f==="DISTILLATION"){let T=i(e,["exportLastCheckpointOnly"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","exportLastCheckpointOnly"],T)}let p=i(t,["config","method"]);if(p===void 0)p="SUPERVISED_FINE_TUNING";if(p==="SUPERVISED_FINE_TUNING"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","adapterSize"],T)}else if(p==="PREFERENCE_TUNING"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["preferenceOptimizationSpec","hyperParameters","adapterSize"],T)}else if(p==="DISTILLATION"){let T=i(e,["adapterSize"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","adapterSize"],T)}let c=i(t,["config","method"]);if(c===void 0)c="SUPERVISED_FINE_TUNING";if(c==="SUPERVISED_FINE_TUNING"){let T=i(e,["tuningMode"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","tuningMode"],T)}else if(c==="DISTILLATION"){let T=i(e,["tuningMode"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","tuningMode"],T)}let h=i(e,["customBaseModel"]);if(n!==void 0&&h!=null)s(n,["customBaseModel"],h);let m=i(t,["config","method"]);if(m===void 0)m="SUPERVISED_FINE_TUNING";if(m==="SUPERVISED_FINE_TUNING"){let T=i(e,["batchSize"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","batchSize"],T)}else if(m==="DISTILLATION"){let T=i(e,["batchSize"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","batchSize"],T)}let g=i(t,["config","method"]);if(g===void 0)g="SUPERVISED_FINE_TUNING";if(g==="SUPERVISED_FINE_TUNING"){let T=i(e,["learningRate"]);if(n!==void 0&&T!=null)s(n,["supervisedTuningSpec","hyperParameters","learningRate"],T)}else if(g==="DISTILLATION"){let T=i(e,["learningRate"]);if(n!==void 0&&T!=null)s(n,["distillationSpec","hyperParameters","learningRate"],T)}let y=i(e,["labels"]);if(n!==void 0&&y!=null)s(n,["labels"],y);let E=i(e,["beta"]);if(n!==void 0&&E!=null)s(n,["preferenceOptimizationSpec","hyperParameters","beta"],E);let _=i(e,["baseTeacherModel"]);if(n!==void 0&&_!=null)s(n,["distillationSpec","baseTeacherModel"],_);let C=i(e,["tunedTeacherModelSource"]);if(n!==void 0&&C!=null)s(n,["distillationSpec","tunedTeacherModelSource"],C);let v=i(e,["sftLossWeightMultiplier"]);if(n!==void 0&&v!=null)s(n,["distillationSpec","hyperParameters","sftLossWeightMultiplier"],v);let S=i(e,["outputUri"]);if(n!==void 0&&S!=null)s(n,["outputUri"],S);let w=i(e,["encryptionSpec"]);if(n!==void 0&&w!=null)s(n,["encryptionSpec"],w);return o}function Mf(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["preTunedModel"]);if(r!=null)s(t,["preTunedModel"],r);let l=i(e,["trainingDataset"]);if(l!=null)Vf(l);let a=i(e,["config"]);if(a!=null)wf(a,t);return t}function Df(e,n){let t={},o=i(e,["baseModel"]);if(o!=null)s(t,["baseModel"],o);let r=i(e,["preTunedModel"]);if(r!=null)s(t,["preTunedModel"],r);let l=i(e,["trainingDataset"]);if(l!=null)qf(l,t,n);let a=i(e,["config"]);if(a!=null)Nf(a,t,n);return t}function xf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Uf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Lf(e,n,t){let o={},r=i(e,["pageSize"]);if(n!==void 0&&r!=null)s(n,["_query","pageSize"],r);let l=i(e,["pageToken"]);if(n!==void 0&&l!=null)s(n,["_query","pageToken"],l);let a=i(e,["filter"]);if(n!==void 0&&a!=null)s(n,["_query","filter"],a);return o}function Gf(e,n){let t={},o=i(e,["config"]);if(o!=null)Lf(o,t);return t}function kf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["nextPageToken"]);if(r!=null)s(t,["nextPageToken"],r);let l=i(e,["tuningJobs"]);if(l!=null){let a=l;if(Array.isArray(a))a=a.map((d)=>En(d));s(t,["tuningJobs"],a)}return t}function Ff(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["model"],o);let r=i(e,["name"]);if(r!=null)s(t,["endpoint"],r);return t}function Vf(e,n){let t={};if(i(e,["gcsUri"])!==void 0)throw Error("gcsUri parameter is not supported in Gemini API.");if(i(e,["vertexDatasetResource"])!==void 0)throw Error("vertexDatasetResource parameter is not supported in Gemini API.");let o=i(e,["examples"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>l);s(t,["examples","examples"],r)}return t}function qf(e,n,t){let o={},r=i(t,["config","method"]);if(r===void 0)r="SUPERVISED_FINE_TUNING";if(r==="SUPERVISED_FINE_TUNING"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(r==="PREFERENCE_TUNING"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["preferenceOptimizationSpec","trainingDatasetUri"],a)}else if(r==="DISTILLATION"){let a=i(e,["gcsUri"]);if(n!==void 0&&a!=null)s(n,["distillationSpec","promptDatasetUri"],a)}let l=i(t,["config","method"]);if(l===void 0)l="SUPERVISED_FINE_TUNING";if(l==="SUPERVISED_FINE_TUNING"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(l==="PREFERENCE_TUNING"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["preferenceOptimizationSpec","trainingDatasetUri"],a)}else if(l==="DISTILLATION"){let a=i(e,["vertexDatasetResource"]);if(n!==void 0&&a!=null)s(n,["distillationSpec","promptDatasetUri"],a)}if(i(e,["examples"])!==void 0)throw Error("examples parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");return o}function Hf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["state"]);if(l!=null)s(t,["state"],Yo(l));let a=i(e,["createTime"]);if(a!=null)s(t,["createTime"],a);let d=i(e,["tuningTask","startTime"]);if(d!=null)s(t,["startTime"],d);let u=i(e,["tuningTask","completeTime"]);if(u!=null)s(t,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(t,["updateTime"],f);let p=i(e,["description"]);if(p!=null)s(t,["description"],p);let c=i(e,["baseModel"]);if(c!=null)s(t,["baseModel"],c);let h=i(e,["_self"]);if(h!=null)s(t,["tunedModel"],Ff(h));return t}function En(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["state"]);if(l!=null)s(t,["state"],Yo(l));let a=i(e,["createTime"]);if(a!=null)s(t,["createTime"],a);let d=i(e,["startTime"]);if(d!=null)s(t,["startTime"],d);let u=i(e,["endTime"]);if(u!=null)s(t,["endTime"],u);let f=i(e,["updateTime"]);if(f!=null)s(t,["updateTime"],f);let p=i(e,["error"]);if(p!=null)s(t,["error"],p);let c=i(e,["description"]);if(c!=null)s(t,["description"],c);let h=i(e,["baseModel"]);if(h!=null)s(t,["baseModel"],h);let m=i(e,["tunedModel"]);if(m!=null)s(t,["tunedModel"],m);let g=i(e,["preTunedModel"]);if(g!=null)s(t,["preTunedModel"],g);let y=i(e,["supervisedTuningSpec"]);if(y!=null)s(t,["supervisedTuningSpec"],y);let E=i(e,["preferenceOptimizationSpec"]);if(E!=null)s(t,["preferenceOptimizationSpec"],E);let _=i(e,["distillationSpec"]);if(_!=null)s(t,["distillationSpec"],_);let C=i(e,["tuningDataStats"]);if(C!=null)s(t,["tuningDataStats"],C);let v=i(e,["encryptionSpec"]);if(v!=null)s(t,["encryptionSpec"],v);let S=i(e,["partnerModelTuningSpec"]);if(S!=null)s(t,["partnerModelTuningSpec"],S);let w=i(e,["customBaseModel"]);if(w!=null)s(t,["customBaseModel"],w);let T=i(e,["evaluateDatasetRuns"]);if(T!=null){let ae=T;if(Array.isArray(ae))ae=ae.map((K)=>K);s(t,["evaluateDatasetRuns"],ae)}let N=i(e,["experiment"]);if(N!=null)s(t,["experiment"],N);let I=i(e,["fullFineTuningSpec"]);if(I!=null)s(t,["fullFineTuningSpec"],I);let R=i(e,["labels"]);if(R!=null)s(t,["labels"],R);let D=i(e,["outputUri"]);if(D!=null)s(t,["outputUri"],D);let B=i(e,["pipelineJob"]);if(B!=null)s(t,["pipelineJob"],B);let b=i(e,["serviceAccount"]);if(b!=null)s(t,["serviceAccount"],b);let O=i(e,["tunedModelDisplayName"]);if(O!=null)s(t,["tunedModelDisplayName"],O);let G=i(e,["tuningJobState"]);if(G!=null)s(t,["tuningJobState"],G);let L=i(e,["veoTuningSpec"]);if(L!=null)s(t,["veoTuningSpec"],L);let Z=i(e,["distillationSamplingSpec"]);if(Z!=null)s(t,["distillationSamplingSpec"],Z);let _e=i(e,["tuningJobMetadata"]);if(_e!=null)s(t,["tuningJobMetadata"],_e);return t}function Bf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);let r=i(e,["name"]);if(r!=null)s(t,["name"],r);let l=i(e,["metadata"]);if(l!=null)s(t,["metadata"],l);let a=i(e,["done"]);if(a!=null)s(t,["done"],a);let d=i(e,["error"]);if(d!=null)s(t,["error"],d);return t}function Xe(e,n){let t={},o=i(e,["gcsUri"]);if(o!=null)s(t,["validationDatasetUri"],o);let r=i(e,["vertexDatasetResource"]);if(r!=null)s(t,["validationDatasetUri"],r);return t}class Hi extends Q{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new le(j.PAGED_ITEM_TUNING_JOBS,(t)=>this.listInternal(t),await this.listInternal(n),n),this.get=async(n)=>await this.getInternal(n),this.tune=async(n)=>{var t;if(this.apiClient.isVertexAI())if(n.baseModel.startsWith("projects/")){let o={tunedModelName:n.baseModel};if((t=n.config)===null||t===void 0?void 0:t.preTunedModelCheckpointId)o.checkpointId=n.config.preTunedModelCheckpointId;let r=Object.assign(Object.assign({},n),{preTunedModel:o});return r.baseModel=void 0,await this.tuneInternal(r)}else{let o=Object.assign({},n);return await this.tuneInternal(o)}else{let o=Object.assign({},n),r=await this.tuneMldevInternal(o),l="";if(r.metadata!==void 0&&r.metadata.tunedModel!==void 0)l=r.metadata.tunedModel;else if(r.name!==void 0&&r.name.includes("/operations/"))l=r.name.split("/operations/")[0];return{name:l,state:Ze.JOB_STATE_QUEUED}}}}async getInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Uf(e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>En(f))}else{let u=xf(e);return a=A("{name}",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>Hf(f))}}async listInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Gf(e);return r=A("tuningJobs",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>{let u=kf(d),f=new xo;return Object.assign(f,u),f})}else throw Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async cancel(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Sf(e);return a=A("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Pf(f),c=new rn;return Object.assign(c,p),c})}else{let u=vf(e);return a=A("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.request({path:a,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then((f)=>f.json().then((p)=>{let c=p;return c.sdkHttpResponse={headers:f.headers},c})),l.then((f)=>{let p=Rf(f),c=new rn;return Object.assign(c,p),c})}}async tuneInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Df(e,e);return r=A("tuningJobs",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>En(d))}else throw Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async tuneMldevInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let a=Mf(e);return r=A("tunedModels",a._url),l=a._query,delete a._url,delete a._query,o=this.apiClient.request({path:r,queryParams:l,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(t=e.config)===null||t===void 0?void 0:t.abortSignal}).then((d)=>d.json().then((u)=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then((d)=>Bf(d))}}}var Bi=8388608,Ji=3,bi=1000,$i=2,oe="x-goog-upload-status";async function Jf(e,n,t,o){var r;let l=await Oi(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return a.file}async function bf(e,n,t,o){var r;let l=await Oi(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new Be;return Object.assign(u,d),u}async function Oi(e,n,t,o){var r,l,a;let d=n,u=(o===null||o===void 0?void 0:o.baseUrl)||((r=t.clientOptions.httpOptions)===null||r===void 0?void 0:r.baseUrl);if(u){let m=new URL(u),g=new URL(n);g.protocol=m.protocol,g.host=m.host,g.port=m.port,d=g.toString()}let f=0,p=0,c=new de(new Response),h="upload";f=e.size;while(p<f){let m=Math.min(Bi,f-p),g=e.slice(p,p+m);if(p+m>=f)h+=", finalize";let y=0,E=bi;while(y<Ji){let _=Object.assign(Object.assign({},(o===null||o===void 0?void 0:o.headers)||{}),{"X-Goog-Upload-Command":h,"X-Goog-Upload-Offset":String(p),"Content-Length":String(m)});if(c=await t.request({path:"",body:g,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},o),{apiVersion:"",baseUrl:d,headers:_})}),(l=c===null||c===void 0?void 0:c.headers)===null||l===void 0?void 0:l[oe])break;y++,await Ki(E),E=E*$i}if(p+=m,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[oe])!=="active")break;if(f<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return c}async function $f(e){return{size:e.size,type:e.type}}function Ki(e){return new Promise((n)=>setTimeout(n,e))}class Yi{async stat(e){let n={size:0,type:void 0};if(typeof e==="string"){let t=await qe.stat(e);return n.size=t.size,n.type=this.inferMimeType(e),n}else return await $f(e)}async upload(e,n,t,o){if(typeof e==="string")return await this.uploadFileFromPath(e,n,t,o);else return Jf(e,n,t,o)}async uploadToFileSearchStore(e,n,t,o){if(typeof e==="string")return await this.uploadFileToFileSearchStoreFromPath(e,n,t,o);else return bf(e,n,t,o)}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,t,o){var r;let l=await this.uploadFileFromPathInternal(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return a.file}async uploadFileToFileSearchStoreFromPath(e,n,t,o){var r;let l=await this.uploadFileFromPathInternal(e,n,t,o),a=await(l===null||l===void 0?void 0:l.json());if(((r=l===null||l===void 0?void 0:l.headers)===null||r===void 0?void 0:r[oe])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new Be;return Object.assign(u,d),u}async uploadFileFromPathInternal(e,n,t,o){var r,l,a;let d=n,u=(o===null||o===void 0?void 0:o.baseUrl)||((r=t.clientOptions.httpOptions)===null||r===void 0?void 0:r.baseUrl);if(u){let y=new URL(u),E=new URL(n);E.protocol=y.protocol,E.host=y.host,E.port=y.port,d=E.toString()}let f=0,p=0,c=new de(new Response),h="upload",m,g=Ro.basename(e);try{if(m=await qe.open(e,"r"),!m)throw Error("Failed to open file");f=(await m.stat()).size;while(p<f){let y=Math.min(Bi,f-p);if(p+y>=f)h+=", finalize";let E=new Uint8Array(y),{bytesRead:_}=await m.read(E,0,y,p);if(_!==y)throw Error(`Failed to read ${y} bytes from file at offset ${p}. bytes actually read: ${_}`);let C=new Blob([E]),v=0,S=bi;while(v<Ji){let w=Object.assign(Object.assign({},(o===null||o===void 0?void 0:o.headers)||{}),{"X-Goog-Upload-Command":h,"X-Goog-Upload-Offset":String(p),"Content-Length":String(_),"X-Goog-Upload-File-Name":g});if(c=await t.request({path:"",body:C,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},o),{apiVersion:"",baseUrl:d,headers:w})}),(l=c===null||c===void 0?void 0:c.headers)===null||l===void 0?void 0:l[oe])break;v++,await Ki(S),S=S*$i}if(p+=_,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[oe])!=="active")break;if(f<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return c}finally{if(m)await m.close()}}}class Wi extends li{async registerFiles(e){if(typeof process>"u"||!process.versions||!process.versions.node)throw Error("registerFiles is only supported in Node.js environments.");let t=await e.auth.getRequestHeaders(),o=e.config||{},r=o.httpOptions||{},l=Object.assign({},r.headers||{});if(t)if(typeof t[Symbol.iterator]==="function")for(let[a,d]of t)l[a]=d;else for(let[a,d]of Object.entries(t))l[a]=d;return this._registerFiles({uris:e.uris,config:Object.assign(Object.assign({},o),{httpOptions:Object.assign(Object.assign({},r),{headers:l})})})}}var Of="gl-node/";function Kf(e){var n;if(e.enterprise!==void 0||e.vertexai!==void 0){if(e.enterprise!==void 0&&e.vertexai!==void 0&&e.enterprise!==e.vertexai)throw Error("enterprise and vertexAI flags have conflicting values, please set enterprise value only.");return(n=e.enterprise)!==null&&n!==void 0?n:e.vertexai}let t=ie("GOOGLE_GENAI_USE_ENTERPRISE"),o=ie("GOOGLE_GENAI_USE_VERTEXAI"),r=Ao(t),l=Ao(o);if(t!==void 0&&o!==void 0&&r!==l)console.warn("Warning: Both GOOGLE_GENAI_USE_ENTERPRISE and GOOGLE_GENAI_USE_VERTEXAI are set with conflicting values. The value of GOOGLE_GENAI_USE_ENTERPRISE will be used.");if(t!==void 0)return r;if(o!==void 0)return l;return!1}class Aa{getNextGenClient(){var e;let n=this.httpOptions;if(this._nextGenClient===void 0)this._nextGenClient=new U({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,apiVersion:this.apiClient.getApiVersion(),clientAdapter:this.apiClient,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:n===null||n===void 0?void 0:n.timeout,maxRetries:(e=n===null||n===void 0?void 0:n.retryOptions)===null||e===void 0?void 0:e.attempts});if(n===null||n===void 0?void 0:n.extraBody)console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");return this._nextGenClient}get interactions(){if(this._interactions!==void 0)return this._interactions;return console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions."),this._interactions=this.getNextGenClient().interactions,this._interactions}get webhooks(){if(this._webhooks!==void 0)return this._webhooks;return this._webhooks=this.getNextGenClient().webhooks,this._webhooks}constructor(e){var n,t,o,r;if((e.project||e.location)&&e.apiKey)throw Error("Project/location and API key are mutually exclusive in the client initializer.");this.vertexai=Kf(e);let l=Yf(),a=ie("GOOGLE_CLOUD_PROJECT"),d=ie("GOOGLE_CLOUD_LOCATION");if(this.apiKey=(n=e.apiKey)!==null&&n!==void 0?n:l,this.project=(t=e.project)!==null&&t!==void 0?t:a,this.location=(o=e.location)!==null&&o!==void 0?o:d,!this.vertexai&&!this.apiKey)console.warn("API key should be set when using the Gemini API.");if(this.vertexai){if((r=e.googleAuthOptions)===null||r===void 0?void 0:r.credentials)console.debug("The user provided Google Cloud credentials will take precedence over the API key from the environment variable."),this.apiKey=void 0;if((a||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;else if((e.project||e.location)&&l)console.debug("The user provided project/location will take precedence over the API key from the environment variables."),this.apiKey=void 0;else if((a||d)&&l)console.debug("The project/location from the environment variables will take precedence over the API key from the environment variables."),this.apiKey=void 0;if(!this.location&&!this.apiKey)this.location="global"}let u=rr(e.httpOptions,this.vertexai,ie("GOOGLE_VERTEX_BASE_URL"),ie("GOOGLE_GEMINI_BASE_URL"));if(u)if(e.httpOptions)e.httpOptions.baseUrl=u;else e.httpOptions={baseUrl:u};this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let f=new ki({apiKey:this.apiKey,googleAuthOptions:e.googleAuthOptions});this.apiClient=new mi({auth:f,project:this.project,location:this.location,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:Of+process.version,uploader:new Yi,downloader:new Fi}),this.models=new Ci(this.apiClient),this.live=new _i(this.apiClient,f,new Vi),this.batches=new ti(this.apiClient),this.chats=new ri(this.models,this.apiClient),this.caches=new oi(this.apiClient),this.files=new Wi(this.apiClient),this.operations=new Ai(this.apiClient),this.authTokens=new vi(this.apiClient),this.tunings=new Hi(this.apiClient),this.fileSearchStores=new Ri(this.apiClient)}}function ie(e){var n,t,o;return(o=(t=(n=process===null||process===void 0?void 0:process.env)===null||n===void 0?void 0:n[e])===null||t===void 0?void 0:t.trim())!==null&&o!==void 0?o:void 0}function Ao(e){if(e===void 0)return!1;return e.toLowerCase()==="true"}function Yf(){let e=ie("GOOGLE_API_KEY"),n=ie("GEMINI_API_KEY");if(e&&n)console.warn("Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY.");return e||n||void 0}function sc(e){return e.thought===!0}function _a(e,n){if(typeof n==="string"&&n.length>0)return n;return e}var Wf=/^[A-Za-z0-9+/]+={0,2}$/;function zf(e){if(!e)return!1;if(e.length%4!==0)return!1;return Wf.test(e)}function bn(e,n){return e&&zf(n)?n:void 0}function $n(e){return e.startsWith("claude-")||e.startsWith("gpt-oss-")}function Xi(e){let n=e.toLowerCase().match(/^gemini(?:-live)?-(\d+)/);if(!n)return;return Number.parseInt(n[1],10)}function Xf(e){let n=Xi(e);if(n!==void 0)return n>=3;return!0}function ic(e,n){let t=[],o=(l)=>{if(!$n(e.id))return l;return l.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)},r=mo(n.messages,e,o);for(let l of r)if(l.role==="user")if(typeof l.content==="string")t.push({role:"user",parts:[{text:He(l.content)}]});else{let a=l.content.map((d)=>{if(d.type==="text")return{text:He(d.text)};else return{inlineData:{mimeType:d.mimeType,data:d.data}}});if(a.length===0)continue;t.push({role:"user",parts:a})}else if(l.role==="assistant"){let a=[],d=l.provider===e.provider&&l.model===e.id;for(let u of l.content)if(u.type==="text"){if(!u.text||u.text.trim()==="")continue;let f=bn(d,u.textSignature);a.push({text:He(u.text),...f&&{thoughtSignature:f}})}else if(u.type==="thinking"){if(!u.thinking||u.thinking.trim()==="")continue;if(d){let f=bn(d,u.thinkingSignature);a.push({thought:!0,text:He(u.thinking),...f&&{thoughtSignature:f}})}else a.push({text:He(u.thinking)})}else if(u.type==="toolCall"){let f=bn(d,u.thoughtSignature),p={functionCall:{name:u.name,args:u.arguments??{},...$n(e.id)?{id:u.id}:{}},...f&&{thoughtSignature:f}};a.push(p)}if(a.length===0)continue;t.push({role:"model",parts:a})}else if(l.role==="toolResult"){let d=l.content.filter((_)=>_.type==="text").map((_)=>_.text).join(`
15
+ `),u=e.input.includes("image")?l.content.filter((_)=>_.type==="image"):[],f=d.length>0,p=u.length>0,c=Xf(e.id),h=f?He(d):p?"(see attached image)":"",m=u.map((_)=>({inlineData:{mimeType:_.mimeType,data:_.data}})),g=$n(e.id),y={functionResponse:{name:l.toolName,response:l.isError?{error:h}:{output:h},...p&&c&&{parts:m},...g?{id:l.toolCallId}:{}}},E=t[t.length-1];if(E?.role==="user"&&E.parts?.some((_)=>_.functionResponse))E.parts.push(y);else t.push({role:"user",parts:[y]});if(p&&!c)t.push({role:"user",parts:[{text:"Tool result image:"},...m]})}return t}var Qf=new Set(["$schema","$id","$anchor","$dynamicAnchor","$vocabulary","$comment","$defs","definitions"]);function Qi(e){if(typeof e!=="object"||e===null||Array.isArray(e))return e;let n={};for(let[t,o]of Object.entries(e)){if(Qf.has(t))continue;n[t]=Qi(o)}return n}function ac(e,n=!1){if(e.length===0)return;return[{functionDeclarations:e.map((t)=>({name:t.name,description:t.description,...n?{parameters:Qi(t.parameters)}:{parametersJsonSchema:t.parameters}}))}]}function lc(e){let n=Xi(e);return n!==void 0&&n>=3}function zi(e){switch(e){case"auto":return re.AUTO;case"none":return re.NONE;case"any":return re.ANY;default:return re.AUTO}}function cc(e,n,t){let o=e.some((r)=>po(r,t)===!0);if(n==="none"||n==="any")return zi(n);if(o)return re.VALIDATED;return n?zi(n):void 0}function uc(e){switch(e){case x.STOP:return"stop";case x.MAX_TOKENS:return"length";case x.BLOCKLIST:case x.PROHIBITED_CONTENT:case x.SPII:case x.SAFETY:case x.IMAGE_SAFETY:case x.IMAGE_PROHIBITED_CONTENT:case x.IMAGE_RECITATION:case x.IMAGE_OTHER:case x.RECITATION:case x.FINISH_REASON_UNSPECIFIED:case x.OTHER:case x.LANGUAGE:case x.MALFORMED_FUNCTION_CALL:case x.UNEXPECTED_TOOL_CALL:case x.NO_IMAGE:return"error";default:throw Error(`Unhandled stop reason: ${e}`)}}
16
+ export{Ts,oc,Aa,sc,_a,ic,ac,lc,cc,uc};