@shumai-one/shumai 0.4.2 → 0.4.3
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.
- package/bin/{chunk-adekdctx.css → chunk-0ccg9ddn.css} +1 -1
- package/bin/chunk-0e4wawpq.js +2 -0
- package/bin/chunk-185qefn1.js +2 -0
- package/bin/chunk-1kw2mbqb.js +1 -0
- package/bin/chunk-1wm6ptdx.js +1 -0
- package/bin/chunk-1yacmegc.js +2 -0
- package/bin/chunk-2291ehh5.js +3 -0
- package/bin/chunk-2520aq8j.js +2 -0
- package/bin/chunk-29zdp63z.js +3 -0
- package/bin/chunk-2yxj593j.js +2 -0
- package/bin/chunk-32pcmaqm.js +3 -0
- package/bin/chunk-3a13dcs1.js +1 -0
- package/bin/chunk-3cyrcgm5.js +13 -0
- package/bin/chunk-3swpwb9v.js +1 -0
- package/bin/chunk-3wmcx2bv.js +2 -0
- package/bin/chunk-4r81ghg8.js +2 -0
- package/bin/chunk-4v5n0ayb.js +2 -0
- package/bin/chunk-5a8nt4me.js +1 -0
- package/bin/chunk-66hsjnw6.js +2 -0
- package/bin/chunk-6bhn1p8v.js +211 -0
- package/bin/chunk-6gg1ymer.js +2 -0
- package/bin/chunk-70c3xrgd.js +2 -0
- package/bin/chunk-7esm0hqb.js +2 -0
- package/bin/chunk-7fst8kdw.js +12 -0
- package/bin/chunk-83e12sjg.js +3 -0
- package/bin/chunk-87zxtf66.js +3 -0
- package/bin/chunk-8fmy5jtp.js +2 -0
- package/bin/chunk-8zqgaxvv.js +1 -0
- package/bin/chunk-9t1ne8xr.js +2 -0
- package/bin/chunk-a32vreya.js +2 -0
- package/bin/chunk-a3dmtt2j.js +1 -0
- package/bin/chunk-abt0azmv.js +2 -0
- package/bin/chunk-ag6p3mbf.js +2 -0
- package/bin/chunk-aqbrzx9z.js +1 -0
- package/bin/chunk-av1a8fqp.js +3 -0
- package/bin/chunk-awfwk64v.js +2 -0
- package/bin/chunk-b235azv4.js +45 -0
- package/bin/chunk-b9yrw9et.js +10 -0
- package/bin/chunk-bay038pj.js +2 -0
- package/bin/chunk-c007p0t8.js +299 -0
- package/bin/chunk-cak32x57.js +2 -0
- package/bin/chunk-ce8m4zeg.js +3 -0
- package/bin/chunk-ck8azecb.js +12 -0
- package/bin/chunk-cnxwmycy.js +6 -0
- package/bin/chunk-cqb415s6.js +5 -0
- package/bin/chunk-e2mvmq2m.js +1 -0
- package/bin/chunk-e7mqtkzn.js +2 -0
- package/bin/chunk-e99dv20z.js +3 -0
- package/bin/chunk-ea79xnn3.js +2 -0
- package/bin/chunk-ehc9adfz.js +2 -0
- package/bin/chunk-ejbvfj4r.js +1 -0
- package/bin/chunk-ekfem7kf.js +1 -0
- package/bin/chunk-etwkk0xh.js +1 -0
- package/bin/chunk-evrdd32b.js +2 -0
- package/bin/chunk-f15qyp41.js +1 -0
- package/bin/chunk-f3ehv01n.js +54 -0
- package/bin/chunk-fm6p03ad.js +2 -0
- package/bin/chunk-fxswt9hc.js +3 -0
- package/bin/chunk-fyha3r13.js +2 -0
- package/bin/chunk-g0vs7k2x.js +1 -0
- package/bin/chunk-g84z2w7v.js +16 -0
- package/bin/chunk-gk3eqd50.js +2 -0
- package/bin/chunk-h3tbf521.js +2 -0
- package/bin/chunk-h837fyed.js +2 -0
- package/bin/chunk-hfh0c082.js +2 -0
- package/bin/chunk-j20e0qsw.js +7 -0
- package/bin/chunk-j8fxp8ej.js +2 -0
- package/bin/chunk-jje8nj8h.js +3 -0
- package/bin/chunk-jy006gcv.js +7 -0
- package/bin/chunk-k7hss0bd.js +4 -0
- package/bin/chunk-m7m9d4fb.js +2 -0
- package/bin/chunk-n1jwdb0a.js +1 -0
- package/bin/chunk-p5gf1zdm.js +4 -0
- package/bin/chunk-pb1zf0vb.js +2 -0
- package/bin/chunk-pfgxggaj.js +11 -0
- package/bin/chunk-q16490pv.js +2 -0
- package/bin/chunk-q2bvyv39.js +8 -0
- package/bin/chunk-qf24e71w.js +2 -0
- package/bin/chunk-qh81zhg1.js +1 -0
- package/bin/chunk-qwp3kwbz.js +2 -0
- package/bin/chunk-qwqvt9v6.js +2 -0
- package/bin/chunk-qydeqgyj.js +5 -0
- package/bin/chunk-r7dty1tg.js +2 -0
- package/bin/chunk-rbj4fad9.js +32 -0
- package/bin/chunk-rhdxwebf.js +2 -0
- package/bin/chunk-rhh716z0.js +42 -0
- package/bin/chunk-rpywcvg1.js +3 -0
- package/bin/chunk-rza4ae5z.js +3 -0
- package/bin/chunk-sfx2588q.js +3 -0
- package/bin/chunk-sk4e6rb1.js +1 -0
- package/bin/chunk-t2n1dbgx.js +4 -0
- package/bin/chunk-tf28796q.js +2 -0
- package/bin/chunk-twdxayky.js +3 -0
- package/bin/chunk-v9b3w8q5.js +3 -0
- package/bin/chunk-v9w25rp2.js +2 -0
- package/bin/chunk-vgn5zcpv.js +3 -0
- package/bin/chunk-wfzqnpc1.js +3 -0
- package/bin/chunk-wry2hvrq.js +24 -0
- package/bin/chunk-x8f4defx.js +3 -0
- package/bin/chunk-xp59apdb.js +2 -0
- package/bin/chunk-xtf3c29c.css +1 -0
- package/bin/chunk-z3gkt8w1.js +3 -0
- package/bin/chunk-zehyn6vd.js +2 -0
- package/bin/chunk-zh6fqq44.js +1 -0
- package/bin/chunk-zmv8cg4s.js +8 -0
- package/bin/chunk-zqv0zhfb.js +3 -0
- package/bin/{pdf.worker.min-szxdj13d.mjs → pdf.worker.min-vf48er29.mjs} +14423 -13889
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +626 -460
- package/package.json +18 -18
- package/prisma/migrations/20260904022457_add_agent_id_to_assets_and_audit_logs/migration.sql +17 -0
- package/prisma/migrations/20260906081230_default_denied_tools_delete_asset/migration.sql +15 -0
- package/prisma/schema.prisma +9 -0
- package/bin/chunk-07h4b77v.js +0 -2
- package/bin/chunk-0t4n4d5w.js +0 -4
- package/bin/chunk-1611z9jg.js +0 -2
- package/bin/chunk-1phqxp6z.js +0 -3
- package/bin/chunk-23hckrrz.js +0 -2
- package/bin/chunk-30z44j1g.js +0 -2
- package/bin/chunk-3j463k1g.js +0 -1
- package/bin/chunk-4181tdds.js +0 -14
- package/bin/chunk-480jtqng.js +0 -4
- package/bin/chunk-4c3g146q.js +0 -2
- package/bin/chunk-4ca0zt5e.js +0 -1
- package/bin/chunk-4d9bgmf2.js +0 -2
- package/bin/chunk-4ev56fss.js +0 -9
- package/bin/chunk-4gk52tjq.js +0 -45
- package/bin/chunk-4mdqkj4d.js +0 -1
- package/bin/chunk-4r91fggc.js +0 -2
- package/bin/chunk-50fb1x3w.js +0 -1
- package/bin/chunk-59gj1njz.js +0 -1
- package/bin/chunk-5pr0t7fb.js +0 -2
- package/bin/chunk-5vewxmz7.js +0 -3
- package/bin/chunk-62zx96pe.js +0 -2
- package/bin/chunk-63y0eb07.js +0 -2
- package/bin/chunk-6d5xrgfx.js +0 -2
- package/bin/chunk-6gbtz5bf.js +0 -67
- package/bin/chunk-6gjg5egq.js +0 -3
- package/bin/chunk-6m4jz9s1.js +0 -44
- package/bin/chunk-6s4x525w.js +0 -2
- package/bin/chunk-6w2wmvqs.js +0 -3
- package/bin/chunk-77d23vcn.js +0 -2
- package/bin/chunk-77m5p188.js +0 -2
- package/bin/chunk-7bvx087f.js +0 -1
- package/bin/chunk-7pfjfrjg.js +0 -5
- package/bin/chunk-7q10s127.js +0 -4
- package/bin/chunk-7thx8ctx.js +0 -3
- package/bin/chunk-8t4s91gh.js +0 -2
- package/bin/chunk-98ey5p2e.js +0 -3
- package/bin/chunk-9amndcyh.js +0 -6
- package/bin/chunk-9bk23g9x.js +0 -1
- package/bin/chunk-9mkcfy43.js +0 -1
- package/bin/chunk-9t3nsq5n.js +0 -2
- package/bin/chunk-9tjq99ds.js +0 -2
- package/bin/chunk-9wm9rwh1.js +0 -2
- package/bin/chunk-ab16fyg4.js +0 -4
- package/bin/chunk-arv0g2av.js +0 -1
- package/bin/chunk-aytj4zxg.js +0 -3
- package/bin/chunk-b1ypjqgp.js +0 -2
- package/bin/chunk-bdjv0ykq.js +0 -2
- package/bin/chunk-c1k86mfa.js +0 -10
- package/bin/chunk-caa96dgd.js +0 -2
- package/bin/chunk-ce4v2yjy.js +0 -1
- package/bin/chunk-cqh60y54.js +0 -3
- package/bin/chunk-cvq7zgw7.js +0 -1
- package/bin/chunk-d9mjbtp2.js +0 -2
- package/bin/chunk-dn7sbjws.js +0 -3
- package/bin/chunk-dxyq9h8n.js +0 -3
- package/bin/chunk-e3cabksx.js +0 -3
- package/bin/chunk-egcrbj94.js +0 -2
- package/bin/chunk-ev17v1mv.js +0 -2
- package/bin/chunk-evtpwg71.js +0 -2
- package/bin/chunk-f3e0nsv2.js +0 -2
- package/bin/chunk-f40gjqpq.js +0 -2
- package/bin/chunk-fe7822ak.js +0 -299
- package/bin/chunk-g8tkhw9j.js +0 -2
- package/bin/chunk-g9r0p4t8.js +0 -2
- package/bin/chunk-gbjyh9ms.js +0 -1
- package/bin/chunk-gtbsb39v.js +0 -3
- package/bin/chunk-gytz1q13.js +0 -13
- package/bin/chunk-h0fxysxs.js +0 -7
- package/bin/chunk-h8bdvsqt.js +0 -2
- package/bin/chunk-hag024w8.js +0 -2
- package/bin/chunk-hc6w5nw4.js +0 -7
- package/bin/chunk-j69dqc48.js +0 -2
- package/bin/chunk-jbtw1zym.js +0 -8
- package/bin/chunk-jc1vb7rj.js +0 -5
- package/bin/chunk-jdv78w9r.js +0 -2
- package/bin/chunk-jjs70y9v.js +0 -3
- package/bin/chunk-jmdar2gz.js +0 -2
- package/bin/chunk-jvwz10n4.js +0 -2
- package/bin/chunk-k47md1g4.js +0 -2
- package/bin/chunk-k4v0brcb.js +0 -2
- package/bin/chunk-k6n7c07e.js +0 -1
- package/bin/chunk-kk2cstsg.js +0 -2
- package/bin/chunk-knz4h56q.js +0 -12
- package/bin/chunk-kqqtt6bd.js +0 -3
- package/bin/chunk-kvyp1t4j.js +0 -7
- package/bin/chunk-kxskpgsq.js +0 -5
- package/bin/chunk-m6srbjcs.js +0 -2
- package/bin/chunk-mcc1scxs.js +0 -12
- package/bin/chunk-mq83a0kk.js +0 -2
- package/bin/chunk-mxm8g4q0.js +0 -1
- package/bin/chunk-nhpgdqq5.js +0 -2
- package/bin/chunk-nne496aa.js +0 -2
- package/bin/chunk-nqpb0r9h.js +0 -11
- package/bin/chunk-ns0zww9g.js +0 -2
- package/bin/chunk-ps4xfp23.js +0 -2
- package/bin/chunk-pz2ec6xt.js +0 -2
- package/bin/chunk-q163k309.js +0 -2
- package/bin/chunk-q1da61ps.js +0 -1
- package/bin/chunk-qrf0ady6.js +0 -68
- package/bin/chunk-qy28f25e.js +0 -2
- package/bin/chunk-r7s4ypw1.js +0 -2
- package/bin/chunk-ran23vm9.js +0 -1
- package/bin/chunk-rfvdc4n0.js +0 -2
- package/bin/chunk-rgthkvgx.js +0 -3
- package/bin/chunk-s39n3yw3.js +0 -2
- package/bin/chunk-s7wdd0g7.js +0 -8
- package/bin/chunk-s88ha5kx.js +0 -3
- package/bin/chunk-sf91bt9m.js +0 -2
- package/bin/chunk-sjwbjf9j.js +0 -2
- package/bin/chunk-t62076pv.js +0 -1
- package/bin/chunk-tbbwss3v.js +0 -3
- package/bin/chunk-tjcc7a6y.js +0 -24
- package/bin/chunk-tp6ab26e.js +0 -2
- package/bin/chunk-v2wxk9p5.js +0 -4
- package/bin/chunk-vbk6y4hk.js +0 -2
- package/bin/chunk-vfgfg5fk.js +0 -2
- package/bin/chunk-vm6c3xx9.js +0 -2
- package/bin/chunk-vsx96mt6.js +0 -3
- package/bin/chunk-wbyw1shz.js +0 -6
- package/bin/chunk-whh2vh50.css +0 -1
- package/bin/chunk-wjkcq65s.js +0 -2
- package/bin/chunk-wkefwkfp.js +0 -41
- package/bin/chunk-x7bsnk1e.js +0 -2
- package/bin/chunk-xbhw6bpz.js +0 -3
- package/bin/chunk-xg5yrcj5.js +0 -2
- package/bin/chunk-xg9xscqz.js +0 -1
- package/bin/chunk-xw2gpcsh.js +0 -3
- package/bin/chunk-ycq8ank7.js +0 -2
- package/bin/chunk-yp9hvkc5.js +0 -73
- package/bin/chunk-ytypyfkc.js +0 -65
- package/bin/chunk-z1kjmf60.js +0 -2
- package/bin/chunk-z36bx86r.js +0 -2
- package/bin/chunk-z7hdnecp.js +0 -3
- package/bin/chunk-zeby1cq7.js +0 -2
- package/bin/chunk-zs5e8z1w.js +0 -1
- package/bin/chunk-zxnyefg5.js +0 -2
- /package/bin/{chunk-24ke0th1.css → chunk-kegybs91.css} +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{du,Yl}from"./chunk-rbj4fad9.js";import{Fe,oo,ao}from"./chunk-zqv0zhfb.js";import{Ke}from"./chunk-rza4ae5z.js";var Ve=Ke(du(),1),vo=Ke(Yl(),1);import{createWriteStream as er}from"fs";import*as qe from"fs/promises";import{writeFile as nr}from"fs/promises";import{Readable as tr}from"stream";import{finished as or}from"stream/promises";import*as So from"ws";import*as Ro from"path";var ir=void 0,rr=void 0;function sr(){return{geminiUrl:ir,vertexUrl:rr}}function lr(e,n,t,o){var r,l;if(!(e===null||e===void 0?void 0:e.baseUrl)){let a=sr();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 X{}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 ar(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 ur(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 dr(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"],cr(a));return n}function fr(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"],pr(a));return n}function cr(e){let n={},t=i(e,["generatedSamples"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>hr(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 pr(e){let n={},t=i(e,["videos"]);if(t!=null){let l=t;if(Array.isArray(l))l=l.map((a)=>mr(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 hr(e){let n={},t=i(e,["video"]);if(t!=null)s(n,["video"],Ir(t));return n}function mr(e){let n={},t=i(e,["_self"]);if(t!=null)s(n,["video"],Cr(t));return n}function gr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function yr(e){let n={},t=i(e,["operationName"]);if(t!=null)s(n,["_url","operationName"],t);return n}function Er(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"],Tr(a));return n}function Tr(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"],_r(a));return n}function _r(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 Ir(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 Cr(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 ee;(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"})(ee||(ee={}));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 ie;(function(e){e.MODE_UNSPECIFIED="MODE_UNSPECIFIED",e.AUTO="AUTO",e.ANY="ANY",e.NONE="NONE",e.VALIDATED="VALIDATED"})(ie||(ie={}));var ua;(function(e){e.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",e.MINIMAL="MINIMAL",e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"})(ua||(ua={}));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 De;(function(e){e.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",e.TEXT="TEXT",e.IMAGE="IMAGE",e.AUDIO="AUDIO",e.VIDEO="VIDEO"})(De||(De={}));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 Hl;(function(e){e.COLLECTION="COLLECTION"})(Hl||(Hl={}));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 xe;(function(e){e.PREDICT="PREDICT",e.EMBED_CONTENT="EMBED_CONTENT"})(xe||(xe={}));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 fe;(function(e){e.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",e.PLAY="PLAY",e.PAUSE="PAUSE",e.STOP="STOP",e.RESET_CONTEXT="RESET_CONTEXT"})(fe||(fe={}));class ue{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 de{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 Ue{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new Ue,o,r=e;if(n)o=fr(r);else o=dr(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=Er(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 He{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let t=new He,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)=>Le(n));else return[Le(e)]}function Le(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=Le(e);if(n.mimeType&&n.mimeType.startsWith("image/"))return n;throw Error(`Unsupported mime type: ${n.mimeType}`)}function Oo(e){let n=Le(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 Ar(e,n){if(e.includes("null"))n.nullable=!0;let t=e.filter((o)=>o!=="null");if(t.length===1)n.type=Object.values(ee).includes(t[0].toUpperCase())?t[0].toUpperCase():ee.TYPE_UNSPECIFIED;else{n.anyOf=[];for(let o of t)n.anyOf.push({type:Object.values(ee).includes(o.toUpperCase())?o.toUpperCase():ee.TYPE_UNSPECIFIED})}}function pe(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)Ar(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(ee).includes(d.toUpperCase())?d.toUpperCase():ee.TYPE_UNSPECIFIED}else if(t.includes(a))n[a]=pe(d);else if(o.includes(a)){let u=[];for(let f of d){if(f.type=="null"){n.nullable=!0;continue}u.push(pe(f))}n[a]=u}else if(r.includes(a)){let u={};for(let[f,p]of Object.entries(d))u[f]=pe(p);n[a]=u}else{if(a==="additionalProperties")continue;n[a]=d}}return n}function An(e){return pe(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 me(e){if(e.functionDeclarations)for(let n of e.functionDeclarations){if(n.parameters){if(!Object.keys(n.parameters).includes("$schema"))n.parameters=pe(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=pe(n.response);else if(!n.responseJsonSchema)n.responseJsonSchema=n.response,delete n.response}}return e}function ge(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 vr(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 j(e,n){if(typeof n!=="string")throw Error("name must be a string");return vr(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 re(e){return Tn(e)}function Sr(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(Sr(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(Rr(e,n))return e[n];return[]}function Rr(e,n){return e!==null&&typeof e==="object"&&n in e}function Pr(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 wr(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=Pr(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 Nr(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 ye(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 Mr(e){return e.includes("gemini")&&e!=="gemini-embedding-001"||e.includes("maas")}function Dr(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 xr(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)=>cs(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 Ur(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"],As(l));return n}function Lr(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"],vs(l));return n}function Ne(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"],xr(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"],Gr(c));let h=i(e,["outputConfig"]);if(h!=null)s(n,["dest"],Ur(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 Gr(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 kr(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)=>fs(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 Fr(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 Vr(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 qr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function Hr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function Br(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"],Jr(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 Jr(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 ti(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Ts(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 $r(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"],Lr(Nr(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"],kr(e,Zo(e,r)));let l=i(n,["config"]);if(l!=null)br(l,t);return t}function Or(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"],Fr(Zo(e,r)));let l=i(n,["config"]);if(l!=null)$r(l,t);return t}function Kr(e,n){let t={},o=i(e,["displayName"]);if(n!==void 0&&o!=null)s(n,["batch","displayName"],o);return t}function Yr(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"],es(e,r));let l=i(n,["config"]);if(l!=null)Kr(l,t);return t}function Wr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function zr(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function Xr(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 Qr(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,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"],jr(r,t)),ar(t,{"requests[].*":"requests[].request.*"});return t}function jr(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 es(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"],Zr(e,r));return t}function ns(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 ts(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 os(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 is(e,n,t){let o={},r=i(n,["systemInstruction"]);if(t!==void 0&&r!=null)s(t,["systemInstruction"],ti(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)=>_s(L));s(t,["safetySettings"],G)}let S=i(n,["tools"]);if(t!==void 0&&S!=null){let G=ge(S);if(Array.isArray(G))G=G.map((L)=>Cs(me(L)));s(t,["tools"],G)}let w=i(n,["toolConfig"]);if(t!==void 0&&w!=null)s(t,["toolConfig"],Is(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"],j(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 H=i(n,["imageConfig"]);if(H!=null)s(o,["imageConfig"],ds(H));let J=i(n,["enableEnhancedCivicAnswers"]);if(J!=null)s(o,["enableEnhancedCivicAnswers"],J);if(i(n,["modelArmorConfig"])!==void 0)throw Error("modelArmorConfig parameter is not supported in Gemini API.");let b=i(n,["serviceTier"]);if(t!==void 0&&b!=null)s(t,["serviceTier"],b);return o}function rs(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)=>Br(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 ss(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function ls(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],ye(e,o));return t}function as(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],Dr(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function us(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 ds(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 fs(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)=>ti(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"],is(e,a,i(t,["request"],{})));return t}function cs(e){let n={},t=i(e,["response"]);if(t!=null)s(n,["response"],rs(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 ps(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 hs(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 ms(e){let n={},t=i(e,["config"]);if(t!=null)ps(t,n);return n}function gs(e){let n={},t=i(e,["config"]);if(t!=null)hs(t,n);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,["operations"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>Ne(a));s(n,["batchJobs"],l)}return n}function Es(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 Ts(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"],ns(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],ts(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Vr(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 _s(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 Is(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"],os(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function Cs(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"],us(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],as(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 As(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 vs(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 Z;(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"})(Z||(Z={}));class se{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 ii extends X{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new se(Z.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=Or(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)=>Ne(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=Yr(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)=>Ne(d))}}async get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ls(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=ss(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)=>Ne(f))}}async cancel(e){var n,t,o,r;let l="",a={};if(this.apiClient.isVertexAI()){let d=Hr(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=qr(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=gs(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=Es(f),c=new an;return Object.assign(c,p),c})}else{let u=ms(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=ys(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=zr(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)=>Qr(f))}else{let u=Wr(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)=>Xr(f))}}}function Ss(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 Rs(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)=>zs(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)=>Xs(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}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 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)=>js(c));s(n,["tools"],p)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Qs(f));if(i(e,["kmsKeyName"])!==void 0)throw Error("kmsKeyName parameter is not supported in Gemini API.");return t}function ws(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)=>el(h));s(n,["tools"],c)}let f=i(e,["toolConfig"]);if(n!==void 0&&f!=null)s(n,["toolConfig"],Zs(f));let p=i(e,["kmsKeyName"]);if(n!==void 0&&p!=null)s(n,["encryption_spec","kmsKeyName"],p);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,["model"]);if(o!=null)s(t,["model"],Jo(e,o));let r=i(n,["config"]);if(r!=null)ws(r,t);return t}function Ds(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));return t}function xs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));return t}function Us(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Ls(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function Gs(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 ks(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 Fs(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 Vs(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 qs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));return t}function Hs(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));return t}function Bs(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],Ss(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function Js(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 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,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 Os(e){let n={},t=i(e,["config"]);if(t!=null)bs(t,n);return n}function Ks(e){let n={},t=i(e,["config"]);if(t!=null)$s(t,n);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,["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 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"],Gs(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],ks(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Rs(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 Xs(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 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"],Fs(o));let r=i(e,["includeServerSideToolInvocations"]);if(r!=null)s(n,["includeServerSideToolInvocations"],r);return n}function Zs(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 js(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"],Js(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Bs(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 el(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)=>Vs(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 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(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 ol(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));let r=i(n,["config"]);if(r!=null)nl(r,t);return t}function il(e,n){let t={},o=i(n,["name"]);if(o!=null)s(t,["_url","name"],j(e,o));let r=i(n,["config"]);if(r!=null)tl(r,t);return t}class ri extends X{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new se(Z.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=Ms(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=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:(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=Hs(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=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:(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=xs(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=Ls(f),c=new sn;return Object.assign(c,p),c})}else{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:(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=Us(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=il(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=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:(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=Ks(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=Ws(f),c=new ln;return Object.assign(c,p),c})}else{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:(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=Ys(f),c=new ln;return Object.assign(c,p),c})}}}function ne(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 Y(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 W(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 rl(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 si(t)}function si(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 sl(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&&!si(e[o]))l=!1;o++}if(l)n.push(...r);else n.pop()}return n}class li{constructor(e,n){this.modelsModule=e,this.apiClient=n}create(e){return new ai(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}}class ai{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(),sl(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 Y(this,arguments,function*(){var o,r,l,a,d,u;let f=[];try{for(var p=!0,c=W(e),h;h=yield P(c.next()),o=h.done,!o;p=!0){a=h.value,p=!1;let m=a;if(rl(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 Be extends Error{constructor(e){super(e.message);this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,Be.prototype)}}function ll(e){let n={},t=i(e,["file"]);if(t!=null)s(n,["file"],t);return n}function al(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function ul(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function dl(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}function fl(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","file"],Rn(t));return n}function cl(e){let n={},t=i(e,["uris"]);if(t!=null)s(n,["uris"],t);return n}function pl(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 hl(e){let n={},t=i(e,["config"]);if(t!=null)pl(t,n);return n}function ml(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 gl(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 ui extends X{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new se(Z.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=hl(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=ml(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=ll(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=al(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=fl(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=ul(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=dl(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=cl(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=gl(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 yl(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 Me(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 El(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>kl(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Tl(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Fl(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function _l(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 Il(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 Cl(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 Al(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 vl(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],yl(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function Sl(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 Rl(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"],El(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let I=ge(y);if(Array.isArray(I))I=I.map((R)=>Jl(me(R)));s(n,["setup","tools"],I)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],Bl(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)=>ql(R));s(n,["setup","safetySettings"],I)}return t}function Pl(e,n){let t={},o=i(e,["generationConfig"]);if(n!==void 0&&o!=null)s(n,["setup","generationConfig"],Al(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"],Tl(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let R=ge(y);if(Array.isArray(R))R=R.map((D)=>bl(me(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 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,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"],Pl(r,t));return t}function Ml(e){let n={},t=i(e,["musicGenerationConfig"]);if(t!=null)s(n,["musicGenerationConfig"],t);return n}function Dl(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 xl(e){let n={},t=i(e,["media"]);if(t!=null){let f=bo(t);if(Array.isArray(f))f=f.map((p)=>Me(p));s(n,["mediaChunks"],f)}let o=i(e,["audio"]);if(o!=null)s(n,["audio"],Me(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"],Me($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,["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 Ll(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"],Ol(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"],zl(p));return n}function kl(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(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],Il(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Me(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 Fl(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 ql(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 Bl(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 Jl(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"],Sl(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],vl(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 bl(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)=>Cl(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 Ol(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 zl(e){let n={},t=i(e,["type"]);if(t!=null)s(n,["voiceActivityType"],t);return n}function Xl(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 Zl(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 jl(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"],ea(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 ea(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 na(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)=>Ee(d));s(o,["contents"],a)}return o}function ta(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 oa(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"],ia(r));return t}function ia(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 Ae(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>mu(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function Ee(e,n){let t={},o=i(e,["parts"]);if(o!=null){let l=o;if(Array.isArray(l))l=l.map((a)=>gu(a));s(t,["parts"],l)}let r=i(e,["role"]);if(r!=null)s(t,["role"],r);return t}function ra(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 sa(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 la(e,n,t){let o={},r=i(e,["systemInstruction"]);if(n!==void 0&&r!=null)s(n,["systemInstruction"],Ee(k(r)));let l=i(e,["tools"]);if(n!==void 0&&l!=null){let d=l;if(Array.isArray(d))d=d.map((u)=>pi(u));s(n,["tools"],d)}let a=i(e,["generationConfig"]);if(n!==void 0&&a!=null)s(n,["generationConfig"],ja(a));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,["contents"]);if(l!=null){let d=q(l);if(Array.isArray(d))d=d.map((u)=>Ae(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)sa(a);return o}function da(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)=>Ee(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)la(a,o);return o}function fa(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 ca(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 pa(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ha(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function ma(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function ga(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function ya(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 Ea(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)=>Cu(f));s(o,["instances[0]","referenceImages"],u)}let d=i(n,["config"]);if(d!=null)ya(d,o);return o}function Ta(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)=>Je(a));s(t,["generatedImages"],l)}return t}function _a(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 Ia(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)Ae(k(a));let d=i(n,["config"]);if(d!=null)_a(d,o);let u=i(n,["model"]);if(u!==void 0)s(o,["requests[]","model"],M(e,u));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(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"],Ee(k(u)))}let d=i(n,["config"]);if(d!=null)Ia(d,o,t);return o}function va(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 Sa(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)=>oa(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 Ra(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 Pa(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 wa(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 Na(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 Ma(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 Da(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],Ae(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((Q)=>Au(Q));s(t,["safetySettings"],L)}let w=i(n,["tools"]);if(t!==void 0&&w!=null){let L=ge(w);if(Array.isArray(L))L=L.map((Q)=>Du(me(Q)));s(t,["tools"],L)}let T=i(n,["toolConfig"]);if(t!==void 0&&T!=null)s(t,["toolConfig"],Nu(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"],j(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 H=i(n,["thinkingConfig"]);if(H!=null)s(r,["thinkingConfig"],H);let J=i(n,["imageConfig"]);if(J!=null)s(r,["imageConfig"],iu(J));let b=i(n,["enableEnhancedCivicAnswers"]);if(b!=null)s(r,["enableEnhancedCivicAnswers"],b);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 xa(e,n,t,o){let r={},l=i(n,["systemInstruction"]);if(t!==void 0&&l!=null)s(t,["systemInstruction"],Ee(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 O=T;if(Array.isArray(O))O=O.map((Ye)=>Ye);s(t,["safetySettings"],O)}let N=i(n,["tools"]);if(t!==void 0&&N!=null){let O=ge(N);if(Array.isArray(O))O=O.map((Ye)=>pi(me(Ye)));s(t,["tools"],O)}let I=i(n,["toolConfig"]);if(t!==void 0&&I!=null)s(t,["toolConfig"],Mu(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"],j(e,D));let H=i(n,["responseModalities"]);if(H!=null)s(r,["responseModalities"],H);let J=i(n,["mediaResolution"]);if(J!=null)s(r,["mediaResolution"],J);let b=i(n,["speechConfig"]);if(b!=null)s(r,["speechConfig"],vn(b));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 Q=i(n,["imageConfig"]);if(Q!=null)s(r,["imageConfig"],ru(Q));if(i(n,["enableEnhancedCivicAnswers"])!==void 0)throw Error("enableEnhancedCivicAnswers parameter is not supported in Gemini Enterprise Agent Platform (previously known as Vertex AI).");let Te=i(n,["modelArmorConfig"]);if(t!==void 0&&Te!=null)s(t,["modelArmorConfig"],Te);let le=i(n,["serviceTier"]);if(t!==void 0&&le!=null)s(t,["serviceTier"],le);return r}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)=>Ae(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],Da(e,a,o));return o}function ro(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)=>Ee(u));s(o,["contents"],d)}let a=i(n,["config"]);if(a!=null)s(o,["generationConfig"],xa(e,a,o));return o}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)=>jl(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 lo(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 Ua(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 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,["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 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,["config"]);if(a!=null)Ua(a,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,["config"]);if(a!=null)La(a,o);return o}function Fa(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)=>za(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],fi(l));return t}function Va(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)=>Je(d));s(t,["generatedImages"],a)}let l=i(e,["positivePromptSafetyAttributes"]);if(l!=null)s(t,["positivePromptSafetyAttributes"],ci(l));return t}function qa(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"],be(c));let h=i(e,["referenceImages"]);if(n!==void 0&&h!=null){let g=h;if(Array.isArray(g))g=g.map((y)=>$u(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 Ha(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"],z(E));let _=i(e,["referenceImages"]);if(n!==void 0&&_!=null){let T=_;if(Array.isArray(T))T=T.map((N)=>Ou(N));s(n,["instances[0]","referenceImages"],T)}let C=i(e,["mask"]);if(n!==void 0&&C!=null)s(n,["instances[0]","mask"],bu(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 Ba(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"],Oa(d));return t}function Ja(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"],Ka(d));return t}function ba(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"],be(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],hi(d));let u=i(n,["source"]);if(u!=null)Ya(u,o);let f=i(n,["config"]);if(f!=null)qa(f,o);return o}function $a(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"],z(a));let d=i(n,["video"]);if(d!=null)s(o,["instances[0]","video"],mi(d));let u=i(n,["source"]);if(u!=null)Wa(u,o);let f=i(n,["config"]);if(f!=null)Ha(f,o);return o}function Oa(e,n){let t={},o=i(e,["generatedSamples"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>Qa(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 Ka(e,n){let t={},o=i(e,["videos"]);if(o!=null){let a=o;if(Array.isArray(a))a=a.map((d)=>Za(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 Ya(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"],be(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],hi(a));return o}function Wa(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"],z(l));let a=i(e,["video"]);if(n!==void 0&&a!=null)s(n,["instances[0]","video"],mi(a));return o}function za(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],su(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],fi(l));return t}function Je(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["image"],di(o));let r=i(e,["raiFilteredReason"]);if(r!=null)s(t,["raiFilteredReason"],r);let l=i(e,["_self"]);if(l!=null)s(t,["safetyAttributes"],ci(l));let a=i(e,["prompt"]);if(a!=null)s(t,["enhancedPrompt"],a);return t}function Xa(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["mask"],di(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 Qa(e,n){let t={},o=i(e,["video"]);if(o!=null)s(t,["video"],Bu(o));return t}function Za(e,n){let t={},o=i(e,["_self"]);if(o!=null)s(t,["video"],Ju(o));return t}function ja(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 eu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function nu(e,n,t){let o={},r=i(n,["model"]);if(r!=null)s(o,["_url","name"],M(e,r));return o}function tu(e,n){let t={},o=i(e,["authConfig"]);if(o!=null)s(t,["authConfig"],Xl(o));let r=i(e,["enableWidget"]);if(r!=null)s(t,["enableWidget"],r);return t}function ou(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 iu(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 ru(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 su(e,n){let t={},o=i(e,["bytesBase64Encoded"]);if(o!=null)s(t,["imageBytes"],re(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function di(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"],re(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function be(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"],re(o));let r=i(e,["mimeType"]);if(r!=null)s(t,["mimeType"],r);return t}function z(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"],re(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function lu(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 au(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 uu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)lu(e,r,o);return o}function fu(e,n,t){let o={},r=i(n,["config"]);if(r!=null)au(e,r,o);return o}function cu(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 pu(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 hu(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"],xu(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)=>Ra(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"],Uu(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 mu(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"],Pa(a));let d=i(e,["functionCall"]);if(d!=null)s(t,["functionCall"],wa(d));let u=i(e,["functionResponse"]);if(u!=null)s(t,["functionResponse"],u);let f=i(e,["inlineData"]);if(f!=null)s(t,["inlineData"],Zl(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 gu(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 yu(e,n){let t={},o=i(e,["productImage"]);if(o!=null)s(t,["image"],z(o));return t}function Eu(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 Tu(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)Iu(l,o);let a=i(n,["config"]);if(a!=null)Eu(a,o);return o}function _u(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>Je(l));s(t,["generatedImages"],r)}return t}function Iu(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"],z(l));let a=i(e,["productImages"]);if(n!==void 0&&a!=null){let d=a;if(Array.isArray(d))d=d.map((u)=>yu(u));s(n,["instances[0]","productImages"],d)}return o}function Cu(e,n){let t={},o=i(e,["referenceImage"]);if(o!=null)s(t,["referenceImage"],z(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"],hu(a));let d=i(e,["controlImageConfig"]);if(d!=null)s(t,["controlImageConfig"],ra(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 fi(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 ci(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 Au(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 vu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],z(o));return t}function Su(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 Ru(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)wu(l,o);let a=i(n,["config"]);if(a!=null)Su(a,o);return o}function Pu(e,n){let t={},o=i(e,["predictions"]);if(o!=null){let r=o;if(Array.isArray(r))r=r.map((l)=>Xa(l));s(t,["generatedMasks"],r)}return t}function wu(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"],z(l));let a=i(e,["scribbleImage"]);if(n!==void 0&&a!=null)s(n,["instances[0]","scribble"],vu(a));return o}function Nu(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"],Na(r));let l=i(e,["includeServerSideToolInvocations"]);if(l!=null)s(t,["includeServerSideToolInvocations"],l);return t}function Mu(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 Du(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"],ou(l));let a=i(e,["googleMaps"]);if(a!=null)s(t,["googleMaps"],tu(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 pi(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)=>Ma(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 xu(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 Uu(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 Lu(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 Gu(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 ku(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)Lu(l,o);return o}function Fu(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)Gu(l,o);return o}function Vu(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 qu(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"],z(l));let a=i(n,["upscaleFactor"]);if(a!=null)s(o,["parameters","upscaleConfig","upscaleFactor"],a);let d=i(n,["config"]);if(d!=null)Vu(d,o);return o}function Hu(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)=>Je(a));s(t,["generatedImages"],l)}return t}function Bu(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"],re(r));let l=i(e,["encoding"]);if(l!=null)s(t,["mimeType"],l);return t}function Ju(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"],re(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function bu(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["_self"],z(o));let r=i(e,["maskMode"]);if(r!=null)s(t,["maskMode"],r);return t}function $u(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],be(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function Ou(e,n){let t={},o=i(e,["image"]);if(o!=null)s(t,["image"],z(o));let r=i(e,["referenceType"]);if(r!=null)s(t,["referenceType"],r);return t}function hi(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"],re(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["encoding"],l);return t}function mi(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"],re(r));let l=i(e,["mimeType"]);if(l!=null)s(t,["mimeType"],l);return t}function Ku(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 Yu(e,n){let t={},o=i(n,["config"]);if(o!=null)Ku(e,o,t);return t}function Wu(e,n){let t={},o=i(e,["force"]);if(n!==void 0&&o!=null)s(n,["_query","force"],o);return t}function zu(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);let o=i(e,["config"]);if(o!=null)Wu(o,n);return n}function Xu(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);return n}function Qu(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 Zu(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"],ed(a));return n}function ju(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)Qu(r,n);return n}function ed(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 nd(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 td(e){let n={},t=i(e,["config"]);if(t!=null)nd(t,n);return n}function od(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 gi(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 id(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)gi(o,n);return n}function rd(e){let n={},t=i(e,["sdkHttpResponse"]);if(t!=null)s(n,["sdkHttpResponse"],t);return n}var sd="Content-Type",ld="X-Server-Timeout",ad="User-Agent",pn="x-goog-api-client",ud="1.52.0",dd=`google-genai-sdk/${ud}`,fd="v1beta1",cd="v1beta",pd=new Set(["us","eu"]),hd=5,md=[408,429,500,502,503,504];class yi{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&&pd.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:fd}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:cd,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===Hl.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)gd(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 uo(o),new ue(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 uo(o),this.processStreamResponse(o))).catch((o)=>{if(o instanceof Error)throw o;else throw Error(JSON.stringify(o))})}processStreamResponse(e){return Y(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
|
+
|
|
4
|
+
`,"\r\r",`\r
|
|
5
|
+
\r
|
|
6
|
+
`];while(!0){let{done:u,value:f}=yield P(o.read());if(u){if(l.trim().length>0)throw Error("Incomplete JSON segment at the end");break}let p=r.decode(f,{stream:!0});try{let m=JSON.parse(p);if("error"in m){let g=JSON.parse(JSON.stringify(m.error)),{status:y,code:E}=g,_=`got status: ${y}. ${JSON.stringify(m)}`;if(E>=400&&E<600)throw new Be({message:_,status:E})}}catch(m){if(m.name==="ApiError")throw m}l+=p;let c=-1,h=0;while(!0){c=-1,h=0;for(let y of d){let E=l.indexOf(y);if(E!==-1&&(c===-1||E<c))c=E,h=y.length}if(c===-1)break;let m=l.substring(0,c);l=l.substring(c+h);let g=m.trim();if(g.startsWith(a)){let y=g.substring(a.length).trim();try{let E=new Response(y,{headers:e===null||e===void 0?void 0:e.headers,status:e===null||e===void 0?void 0:e.status,statusText:e===null||e===void 0?void 0:e.statusText});yield yield P(new ue(E))}catch(E){throw Error(`exception parsing stream chunk ${y}. ${E}`)}}}}}finally{o.releaseLock()}})}async apiCall(e,n){var t;if(!this.clientOptions.httpOptions||!this.clientOptions.httpOptions.retryOptions)return fetch(e,n);let o=this.clientOptions.httpOptions.retryOptions;return Ve.default(async()=>{let l=await fetch(e,n);if(l.ok)return l;if(md.includes(l.status))throw Error(`Retryable HTTP Error: ${l.statusText}`);throw new Ve.AbortError(`Non-retryable exception ${l.statusText} sending request`)},{retries:((t=o.attempts)!==null&&t!==void 0?t:hd)-1})}getDefaultHeaders(){let e={},n=dd+" "+this.clientOptions.userAgentExtra;return e[ad]=n,e[pn]=n,e[sd]="application/json",e}async getHeadersInternal(e,n){let t=new Headers;if(e&&e.headers){for(let[o,r]of Object.entries(e.headers))t.append(o,r);if(e.timeout&&e.timeout>0)t.append(ld,String(Math.ceil(e.timeout/1000)))}return await this.clientOptions.auth.addAuthHeaders(t,n),t}getFileName(e){var n;let t="";if(typeof e==="string")t=e.replace(/[/\\]+$/,""),t=(n=t.split(/[/\\]/).pop())!==null&&n!==void 0?n:"";return t}async uploadFile(e,n){var t;let o={};if(n!=null)o.mimeType=n.mimeType,o.name=n.name,o.displayName=n.displayName;if(o.name&&!o.name.startsWith("files/"))o.name=`files/${o.name}`;let r=this.clientOptions.uploader,l=await r.stat(e);o.sizeBytes=String(l.size);let a=(t=n===null||n===void 0?void 0:n.mimeType)!==null&&t!==void 0?t:l.type;if(a===void 0||a==="")throw Error("Can not determine mimeType. Please provide mimeType in the config.");o.mimeType=a;let d={file:o},u=this.getFileName(e),f=A("upload/v1beta/files",d._url),p=await this.fetchUploadUrl(f,o.sizeBytes,o.mimeType,u,d,n===null||n===void 0?void 0:n.httpOptions);return r.upload(e,p,this)}async uploadFileToFileSearchStore(e,n,t){var o;let r=this.clientOptions.uploader,l=await r.stat(n),a=String(l.size),d=(o=t===null||t===void 0?void 0:t.mimeType)!==null&&o!==void 0?o:l.type;if(d===void 0||d==="")throw Error("Can not determine mimeType. Please provide mimeType in the config.");let u=`upload/v1beta/${e}:uploadToFileSearchStore`,f=this.getFileName(n),p={};if(t!=null)gi(t,p);let c=await this.fetchUploadUrl(u,a,d,f,p,t===null||t===void 0?void 0:t.httpOptions);return r.uploadToFileSearchStore(n,c,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,n,t,o,r,l){var a;let d={};if(l)d=l;else d={apiVersion:"",headers:Object.assign({"Content-Type":"application/json","X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${n}`,"X-Goog-Upload-Header-Content-Type":`${t}`},o?{"X-Goog-Upload-File-Name":o}:{})};let u=await this.request({path:e,body:JSON.stringify(r),httpMethod:"POST",httpOptions:d});if(!u||!(u===null||u===void 0?void 0:u.headers))throw Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");let f=(a=u===null||u===void 0?void 0:u.headers)===null||a===void 0?void 0:a["x-goog-upload-url"];if(f===void 0)throw Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return f}}async function uo(e){var n;if(e===void 0)throw Error("response is undefined");if(!e.ok){let t=e.status,o;if((n=e.headers.get("content-type"))===null||n===void 0?void 0:n.includes("application/json"))o=await e.json();else o={error:{message:await e.text(),code:e.status,status:e.statusText}};let r=JSON.stringify(o);if(t>=400&&t<600)throw new Be({message:r,status:t});throw Error(r)}}function gd(e,n){if(!n||Object.keys(n).length===0)return;if(e.body instanceof Blob){console.warn("includeExtraBodyToRequestInit: extraBody provided but current request body is a Blob. extraBody will be ignored as merging is not supported for Blob bodies.");return}let t={};if(typeof e.body==="string"&&e.body.length>0)try{let l=JSON.parse(e.body);if(typeof l==="object"&&l!==null&&!Array.isArray(l))t=l;else{console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");return}}catch(l){console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}function o(l,a){let d=Object.assign({},l);for(let u in a)if(Object.prototype.hasOwnProperty.call(a,u)){let f=a[u],p=d[u];if(f&&typeof f==="object"&&!Array.isArray(f)&&p&&typeof p==="object"&&!Array.isArray(p))d[u]=o(p,f);else{if(p&&f&&typeof p!==typeof f)console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${u}". Original type: ${typeof p}, New type: ${typeof f}. Overwriting.`);d[u]=f}}return d}let r=o(t,n);e.body=JSON.stringify(r)}var yd="mcp_used/unknown",Ed=!1;function Ei(e){for(let n of e){if(Td(n))return!0;if(typeof n==="object"&&"inputSchema"in n)return!0}return Ed}function Ti(e){var n;let t=(n=e[pn])!==null&&n!==void 0?n:"";e[pn]=(t+` ${yd}`).trimStart()}function Td(e){return e!==null&&typeof e==="object"&&e instanceof Pn}function _d(e){return Y(this,arguments,function*(t,o=100){let r=void 0,l=0;while(l<o){let a=yield P(t.listTools({cursor:r}));for(let d of a.tools)yield yield P(d),l++;if(!a.nextCursor)break;r=a.nextCursor}})}class Pn{constructor(e=[],n){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=n}static create(e,n){return new Pn(e,n)}async initialize(){var e,n,t,o;if(this.mcpTools.length>0)return;let r={},l=[];for(let f of this.mcpClients)try{for(var a=!0,d=(n=void 0,W(_d(f))),u;u=await d.next(),e=u.done,!e;a=!0){o=u.value,a=!1;let p=o;l.push(p);let c=p.name;if(r[c])throw Error(`Duplicate function name ${c} found in MCP tools. Please ensure function names are unique.`);r[c]=f}}catch(p){n={error:p}}finally{try{if(!a&&!e&&(t=d.return))await t.call(d)}finally{if(n)throw n.error}}this.mcpTools=l,this.functionNameToMcpClient=r}async tool(){return await this.initialize(),wr(this.mcpTools,this.config)}async callTool(e){await this.initialize();let n=[];for(let t of e)if(t.name in this.functionNameToMcpClient){let o=this.functionNameToMcpClient[t.name],r=void 0;if(this.config.timeout)r={timeout:this.config.timeout};let l=await o.callTool({name:t.name,arguments:t.args},void 0,r);n.push({functionResponse:{name:t.name,response:l.isError?{error:l}:l}})}return n}}async function Id(e,n,t){let o=new Bo,r;if(t.data instanceof Blob)r=JSON.parse(await t.data.text());else r=JSON.parse(t.data);Object.assign(o,r),n(o)}class _i{constructor(e,n,t){this.apiClient=e,this.auth=n,this.webSocketFactory=t}async connect(e){var n,t;if(this.apiClient.isVertexAI())throw Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");let o=this.apiClient.getWebsocketBaseUrl(),r=this.apiClient.getApiVersion(),l=Ad(this.apiClient.getDefaultHeaders()),a=this.apiClient.getApiKey(),d=`${o}/ws/google.ai.generativelanguage.${r}.GenerativeService.BidiGenerateMusic?key=${a}`,u=()=>{},f=new Promise((C)=>{u=C}),p=e.callbacks,c=function(){u({})},h=this.apiClient,m={onopen:c,onmessage:(C)=>{Id(h,p.onmessage,C)},onerror:(n=p===null||p===void 0?void 0:p.onerror)!==null&&n!==void 0?n:function(C){},onclose:(t=p===null||p===void 0?void 0:p.onclose)!==null&&t!==void 0?t:function(C){}},g=this.webSocketFactory.create(d,Cd(l),m);g.connect(),await f;let _={setup:{model:M(this.apiClient,e.model)}};return g.send(JSON.stringify(_)),new Ii(g,this.apiClient)}}class Ii{constructor(e,n){this.conn=e,this.apiClient=n}async setWeightedPrompts(e){if(!e.weightedPrompts||Object.keys(e.weightedPrompts).length===0)throw Error("Weighted prompts must be set and contain at least one entry.");let n=Dl(e);this.conn.send(JSON.stringify({clientContent:n}))}async setMusicGenerationConfig(e){if(!e.musicGenerationConfig)e.musicGenerationConfig={};let n=Ml(e);this.conn.send(JSON.stringify(n))}sendPlaybackControl(e){let n={playbackControl:e};this.conn.send(JSON.stringify(n))}play(){this.sendPlaybackControl(fe.PLAY)}pause(){this.sendPlaybackControl(fe.PAUSE)}stop(){this.sendPlaybackControl(fe.STOP)}resetContext(){this.sendPlaybackControl(fe.RESET_CONTEXT)}close(){this.conn.close()}}function Cd(e){let n={};return e.forEach((t,o)=>{n[o]=t}),n}function Ad(e){let n=new Headers;for(let[t,o]of Object.entries(e))n.append(t,o);return n}var vd="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function Sd(e,n,t){let o=new Ho,r;if(t.data instanceof Blob)r=await t.data.text();else if(t.data instanceof ArrayBuffer)r=new TextDecoder().decode(t.data);else r=t.data;let l=JSON.parse(r);if(e.isVertexAI()){let a=Ll(l);Object.assign(o,a)}else Object.assign(o,l);n(o)}class Ci{constructor(e,n,t){this.apiClient=e,this.auth=n,this.webSocketFactory=t,this.music=new _i(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var n,t,o,r,l,a;if(e.config&&e.config.httpOptions)throw Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");let d=this.apiClient.getWebsocketBaseUrl(),u=this.apiClient.getApiVersion(),f,p=this.apiClient.getHeaders();if(e.config&&e.config.tools&&Ei(e.config.tools))Ti(p);let c=wd(p);if(this.apiClient.isVertexAI()){let I=this.apiClient.getProject(),R=this.apiClient.getLocation(),D=this.apiClient.getApiKey(),H=!!I&&!!R||!!D;if(this.apiClient.getCustomBaseUrl()&&!H)f=d;else f=`${d}/ws/google.cloud.aiplatform.${u}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(c,f)}else{let I=this.apiClient.getApiKey(),R="BidiGenerateContent",D="key";if(I===null||I===void 0?void 0:I.startsWith("auth_tokens/")){if(console.warn("Warning: Ephemeral token support is experimental and may change in future versions."),u!=="v1alpha")console.warn("Warning: The SDK's ephemeral token support is in v1alpha only. Please use const ai = new GoogleGenAI({apiKey: token.name, httpOptions: { apiVersion: 'v1alpha' }}); before session connection.");R="BidiGenerateContentConstrained",D="access_token"}f=`${d}/ws/google.ai.generativelanguage.${u}.GenerativeService.${R}?${D}=${I}`}let h=()=>{},m=new Promise((I)=>{h=I}),g=e.callbacks,y=function(){var I;(I=g===null||g===void 0?void 0:g.onopen)===null||I===void 0||I.call(g),h({})},E=this.apiClient,_={onopen:y,onmessage:(I)=>{Sd(E,g.onmessage,I)},onerror:(n=g===null||g===void 0?void 0:g.onerror)!==null&&n!==void 0?n:function(I){},onclose:(t=g===null||g===void 0?void 0:g.onclose)!==null&&t!==void 0?t:function(I){}},C=this.webSocketFactory.create(f,Pd(c),_);C.connect(),await m;let v=M(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&v.startsWith("publishers/")){let I=this.apiClient.getProject(),R=this.apiClient.getLocation();if(I&&R)v=`projects/${I}/locations/${R}/`+v}let S={};if(this.apiClient.isVertexAI()&&((o=e.config)===null||o===void 0?void 0:o.responseModalities)===void 0)if(e.config===void 0)e.config={responseModalities:[De.AUDIO]};else e.config.responseModalities=[De.AUDIO];if((r=e.config)===null||r===void 0?void 0:r.generationConfig)console.warn("Setting `LiveConnectConfig.generation_config` is deprecated, please set the fields on `LiveConnectConfig` directly. This will become an error in a future version (not before Q3 2025).");let w=(a=(l=e.config)===null||l===void 0?void 0:l.tools)!==null&&a!==void 0?a:[],T=[];for(let I of w)if(this.isCallableTool(I)){let R=I;T.push(await R.tool())}else T.push(I);if(T.length>0)e.config.tools=T;let N={model:v,config:e.config,callbacks:e.callbacks};if(this.apiClient.isVertexAI())S=Nl(this.apiClient,N);else S=wl(this.apiClient,N);return delete S.config,C.send(JSON.stringify(S)),new Ai(C,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool==="function"}}var Rd={turnComplete:!0};class Ai{constructor(e,n){this.conn=e,this.apiClient=n}tLiveClientContent(e,n){if(n.turns!==null&&n.turns!==void 0){let t=[];try{if(t=q(n.turns),!e.isVertexAI())t=t.map((o)=>Ae(o))}catch(o){throw Error(`Failed to parse client content "turns", type: '${typeof n.turns}'`)}return{clientContent:{turns:t,turnComplete:n.turnComplete}}}return{clientContent:{turnComplete:n.turnComplete}}}tLiveClienttToolResponse(e,n){let t=[];if(n.functionResponses==null)throw Error("functionResponses is required.");if(!Array.isArray(n.functionResponses))t=[n.functionResponses];else t=n.functionResponses;if(t.length===0)throw Error("functionResponses is required.");for(let r of t){if(typeof r!=="object"||r===null||!("name"in r)||!("response"in r))throw Error(`Could not parse function response, type '${typeof r}'.`);if(!e.isVertexAI()&&!("id"in r))throw Error(vd)}return{toolResponse:{functionResponses:t}}}sendClientContent(e){e=Object.assign(Object.assign({},Rd),e);let n=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(n))}sendRealtimeInput(e){let n={};if(this.apiClient.isVertexAI())n={realtimeInput:Ul(e)};else n={realtimeInput:xl(e)};this.conn.send(JSON.stringify(n))}sendToolResponse(e){if(e.functionResponses==null)throw Error("Tool response parameters are required.");let n=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(n))}close(){this.conn.close()}}function Pd(e){let n={};return e.forEach((t,o)=>{n[o]=t}),n}function wd(e){let n=new Headers;for(let[t,o]of Object.entries(e))n.append(t,o);return n}var fo=10;function co(e){var n,t,o;if((n=e===null||e===void 0?void 0:e.automaticFunctionCalling)===null||n===void 0?void 0:n.disable)return!0;let r=!1;for(let a of(t=e===null||e===void 0?void 0:e.tools)!==null&&t!==void 0?t:[])if(he(a)){r=!0;break}if(!r)return!0;let l=(o=e===null||e===void 0?void 0:e.automaticFunctionCalling)===null||o===void 0?void 0:o.maximumRemoteCalls;if(l&&(l<0||!Number.isInteger(l))||l==0)return console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",l),!0;return!1}function he(e){return"callTool"in e&&typeof e.callTool==="function"}function Nd(e){var n,t,o;return(o=(t=(n=e.config)===null||n===void 0?void 0:n.tools)===null||t===void 0?void 0:t.some((r)=>he(r)))!==null&&o!==void 0?o:!1}function po(e){var n;let t=[];if(!((n=e===null||e===void 0?void 0:e.config)===null||n===void 0?void 0:n.tools))return t;return e.config.tools.forEach((o,r)=>{if(he(o))return;let l=o;if(l.functionDeclarations&&l.functionDeclarations.length>0)t.push(r)}),t}function ho(e){var n;return!((n=e===null||e===void 0?void 0:e.automaticFunctionCalling)===null||n===void 0?void 0:n.ignoreCallHistory)}class vi extends X{constructor(e){super();this.apiClient=e,this.embedContent=async(n)=>{if(!this.apiClient.isVertexAI()){if(n.model.includes("gemini-embedding-2"))n.contents=q(n.contents);return await this.embedContentInternal(n)}if(n.model.includes("gemini")&&n.model!=="gemini-embedding-001"||n.model.includes("maas")){let o=q(n.contents);if(o.length>1)throw Error("The embedContent API for this model only supports one content at a time.");let r=Object.assign(Object.assign({},n),{content:o[0],embeddingApiType:xe.EMBED_CONTENT});return await this.embedContentInternal(r)}else{let o=Object.assign(Object.assign({},n),{embeddingApiType:xe.PREDICT});return await this.embedContentInternal(o)}},this.generateContent=async(n)=>{var t,o,r,l,a;let d=await this.processParamsMaybeAddMcpUsage(n);if(this.maybeMoveToResponseJsonSchem(n),!Nd(n)||co(n.config))return await this.generateContentInternal(d);let u=po(n);if(u.length>0){let g=u.map((y)=>`tools[${y}]`).join(", ");throw Error(`Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations is not yet supported. Incompatible tools found at ${g}.`)}let f,p,c=q(d.contents),h=(r=(o=(t=d.config)===null||t===void 0?void 0:t.automaticFunctionCalling)===null||o===void 0?void 0:o.maximumRemoteCalls)!==null&&r!==void 0?r:fo,m=0;while(m<h){if(f=await this.generateContentInternal(d),!f.functionCalls||f.functionCalls.length===0)break;let g=f.candidates[0].content,y=[];for(let E of(a=(l=n.config)===null||l===void 0?void 0:l.tools)!==null&&a!==void 0?a:[])if(he(E)){let C=await E.callTool(f.functionCalls);y.push(...C)}if(m++,p={role:"user",parts:y},d.contents=q(d.contents),d.contents.push(g),d.contents.push(p),ho(d.config))c.push(g),c.push(p)}if(ho(d.config))f.automaticFunctionCallingHistory=c;return f},this.generateContentStream=async(n)=>{var t,o,r,l,a;if(this.maybeMoveToResponseJsonSchem(n),co(n.config)){let p=await this.processParamsMaybeAddMcpUsage(n);return await this.generateContentStreamInternal(p)}let d=po(n);if(d.length>0){let p=d.map((c)=>`tools[${c}]`).join(", ");throw Error(`Incompatible tools found at ${p}. Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations" is not yet supported.`)}let u=(r=(o=(t=n===null||n===void 0?void 0:n.config)===null||t===void 0?void 0:t.toolConfig)===null||o===void 0?void 0:o.functionCallingConfig)===null||r===void 0?void 0:r.streamFunctionCallArguments,f=(a=(l=n===null||n===void 0?void 0:n.config)===null||l===void 0?void 0:l.automaticFunctionCalling)===null||a===void 0?void 0:a.disable;if(u&&!f)throw Error("Running in streaming mode with 'streamFunctionCallArguments' enabled, this feature is not compatible with automatic function calling (AFC). Please set 'config.automaticFunctionCalling.disable' to true to disable AFC or leave 'config.toolConfig.functionCallingConfig.streamFunctionCallArguments' to be undefined or set to false to disable streaming function call arguments feature.");return await this.processAfcStream(n)},this.generateImages=async(n)=>await this.generateImagesInternal(n).then((t)=>{var o;let r,l=[];if(t===null||t===void 0?void 0:t.generatedImages)for(let d of t.generatedImages)if(d&&(d===null||d===void 0?void 0:d.safetyAttributes)&&((o=d===null||d===void 0?void 0:d.safetyAttributes)===null||o===void 0?void 0:o.contentType)==="Positive Prompt")r=d===null||d===void 0?void 0:d.safetyAttributes;else l.push(d);let a;if(r)a={generatedImages:l,positivePromptSafetyAttributes:r,sdkHttpResponse:t.sdkHttpResponse};else a={generatedImages:l,sdkHttpResponse:t.sdkHttpResponse};return a}),this.list=async(n)=>{var t;let l={config:Object.assign(Object.assign({},{queryBase:!0}),n===null||n===void 0?void 0:n.config)};if(this.apiClient.isVertexAI()){if(!l.config.queryBase)if((t=l.config)===null||t===void 0?void 0:t.filter)throw Error("Filtering tuned models list for Gemini Enterprise Agent Platform (previously known as Vertex AI) is not currently supported");else l.config.filter="labels.tune-type:*"}return new se(Z.PAGED_ITEM_MODELS,(a)=>this.listInternal(a),await this.listInternal(l),l)},this.editImage=async(n)=>{let t={model:n.model,prompt:n.prompt,referenceImages:[],config:n.config};if(n.referenceImages){if(n.referenceImages)t.referenceImages=n.referenceImages.map((o)=>o.toReferenceImageAPI())}return await this.editImageInternal(t)},this.upscaleImage=async(n)=>{let t={numberOfImages:1,mode:"upscale"};if(n.config)t=Object.assign(Object.assign({},t),n.config);let o={model:n.model,image:n.image,upscaleFactor:n.upscaleFactor,config:t};return await this.upscaleImageInternal(o)},this.generateVideos=async(n)=>{var t,o,r,l,a,d;if((n.prompt||n.image||n.video)&&n.source)throw Error("Source and prompt/image/video are mutually exclusive. Please only use source.");if(!this.apiClient.isVertexAI()){if(((t=n.video)===null||t===void 0?void 0:t.uri)&&((o=n.video)===null||o===void 0?void 0:o.videoBytes))n.video={uri:n.video.uri,mimeType:n.video.mimeType};else if(((l=(r=n.source)===null||r===void 0?void 0:r.video)===null||l===void 0?void 0:l.uri)&&((d=(a=n.source)===null||a===void 0?void 0:a.video)===null||d===void 0?void 0:d.videoBytes))n.source.video={uri:n.source.video.uri,mimeType:n.source.video.mimeType}}return await this.generateVideosInternal(n)}}maybeMoveToResponseJsonSchem(e){if(e.config&&e.config.responseSchema){if(!e.config.responseJsonSchema){if(Object.keys(e.config.responseSchema).includes("$schema"))e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema}}return}async processParamsMaybeAddMcpUsage(e){var n,t,o;let r=(n=e.config)===null||n===void 0?void 0:n.tools;if(!r)return e;let l=await Promise.all(r.map(async(d)=>{if(he(d))return await d.tool();return d})),a={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:l})};if(a.config.tools=l,e.config&&e.config.tools&&Ei(e.config.tools)){let d=(o=(t=e.config.httpOptions)===null||t===void 0?void 0:t.headers)!==null&&o!==void 0?o:{},u=Object.assign({},d);if(Object.keys(u).length===0)u=this.apiClient.getDefaultHeaders();Ti(u),a.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:u})}return a}async initAfcToolsMap(e){var n,t,o;let r=new Map;for(let l of(t=(n=e.config)===null||n===void 0?void 0:n.tools)!==null&&t!==void 0?t:[])if(he(l)){let a=l,d=await a.tool();for(let u of(o=d.functionDeclarations)!==null&&o!==void 0?o:[]){if(!u.name)throw Error("Function declaration name is required.");if(r.has(u.name))throw Error(`Duplicate tool declaration name: ${u.name}`);r.set(u.name,a)}}return r}async processAfcStream(e){var n,t,o;let r=(o=(t=(n=e.config)===null||n===void 0?void 0:n.automaticFunctionCalling)===null||t===void 0?void 0:t.maximumRemoteCalls)!==null&&o!==void 0?o:fo,l=!1,a=0,d=await this.initAfcToolsMap(e);return function(u,f,p){return Y(this,arguments,function*(){var c,h,m,g,y,E;while(a<r){if(l)a++,l=!1;let S=yield P(u.processParamsMaybeAddMcpUsage(p)),w=yield P(u.generateContentStreamInternal(S)),T=[],N=[];try{for(var _=!0,C=(h=void 0,W(w)),v;v=yield P(C.next()),c=v.done,!c;_=!0){g=v.value,_=!1;let I=g;if(yield yield P(I),I.candidates&&((y=I.candidates[0])===null||y===void 0?void 0:y.content)){N.push(I.candidates[0].content);for(let R of(E=I.candidates[0].content.parts)!==null&&E!==void 0?E:[])if(a<r&&R.functionCall){if(!R.functionCall.name)throw Error("Function call name was not returned by the model.");if(!f.has(R.functionCall.name))throw Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${f.keys()}, mising tool: ${R.functionCall.name}`);else{let D=yield P(f.get(R.functionCall.name).callTool([R.functionCall]));T.push(...D)}}}}}catch(I){h={error:I}}finally{try{if(!_&&!c&&(m=C.return))yield P(m.call(C))}finally{if(h)throw h.error}}if(T.length>0){l=!0;let I=new de;I.candidates=[{content:{role:"user",parts:T}}],yield yield P(I);let R=[];R.push(...N),R.push({role:"user",parts:T});let D=q(p.contents).concat(R);p.contents=D}else break}})}(this,d,e)}async generateContentInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ro(this.apiClient,e);return a=A("{model}:generateContent",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=lo(f),c=new de;return Object.assign(c,p),c})}else{let u=io(this.apiClient,e);return a=A("{model}:generateContent",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=so(f),c=new de;return Object.assign(c,p),c})}}async generateContentStreamInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ro(this.apiClient,e);return a=A("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.requestStream({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}),l.then(function(p){return Y(this,arguments,function*(){var c,h,m,g;try{for(var y=!0,E=W(p),_;_=yield P(E.next()),c=_.done,!c;y=!0){g=_.value,y=!1;let C=g,v=lo(yield P(C.json()),e);v.sdkHttpResponse={headers:C.headers};let S=new de;Object.assign(S,v),yield yield P(S)}}catch(C){h={error:C}}finally{try{if(!y&&!c&&(m=E.return))yield P(m.call(E))}finally{if(h)throw h.error}}})})}else{let u=io(this.apiClient,e);return a=A("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,l=this.apiClient.requestStream({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}),l.then(function(p){return Y(this,arguments,function*(){var c,h,m,g;try{for(var y=!0,E=W(p),_;_=yield P(E.next()),c=_.done,!c;y=!0){g=_.value,y=!1;let C=g,v=so(yield P(C.json()),e);v.sdkHttpResponse={headers:C.headers};let S=new de;Object.assign(S,v),yield yield P(S)}}catch(C){h={error:C}}finally{try{if(!y&&!c&&(m=E.return))yield P(m.call(E))}finally{if(h)throw h.error}}})})}}async embedContentInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Aa(this.apiClient,e,e),f=Mr(e.model)?"{model}:embedContent":"{model}:predict";return a=A(f,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((p)=>p.json().then((c)=>{let h=c;return h.sdkHttpResponse={headers:p.headers},h})),l.then((p)=>{let c=Sa(p,e),h=new je;return Object.assign(h,c),h})}else{let u=Ca(this.apiClient,e);return a=A("{model}:batchEmbedContents",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=va(f),c=new je;return Object.assign(c,p),c})}}async generateImagesInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ka(this.apiClient,e);return a=A("{model}:predict",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=Va(f),c=new en;return Object.assign(c,p),c})}else{let u=Ga(this.apiClient,e);return a=A("{model}:predict",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=Fa(f),c=new en;return Object.assign(c,p),c})}}async editImageInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Ea(this.apiClient,e);return r=A("{model}:predict",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)=>{let u=Ta(d),f=new Po;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 upscaleImageInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=qu(this.apiClient,e);return r=A("{model}:predict",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)=>{let u=Hu(d),f=new wo;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 recontextImage(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Tu(this.apiClient,e);return r=A("{model}:predict",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=_u(d),f=new No;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 segmentImage(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=Ru(this.apiClient,e);return r=A("{model}:predict",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=Pu(d),f=new Mo;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 get(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=nu(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)=>cn(f))}else{let u=eu(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)=>fn(f))}}async listInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=fu(this.apiClient,e);return a=A("{models_url}",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=pu(f),c=new nn;return Object.assign(c,p),c})}else{let u=uu(this.apiClient,e);return a=A("{models_url}",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=cu(f),c=new nn;return Object.assign(c,p),c})}}async update(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=Fu(this.apiClient,e);return a=A("{model}",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)=>cn(f))}else{let u=ku(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)=>fn(f))}}async delete(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=ha(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=ga(f),c=new tn;return Object.assign(c,p),c})}else{let u=pa(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=ma(f),c=new tn;return Object.assign(c,p),c})}}async countTokens(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=da(this.apiClient,e);return a=A("{model}:countTokens",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=ca(f),c=new on;return Object.assign(c,p),c})}else{let u=aa(this.apiClient,e);return a=A("{model}:countTokens",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=fa(f),c=new on;return Object.assign(c,p),c})}}async computeTokens(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=na(this.apiClient,e);return r=A("{model}:computeTokens",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)=>{let u=ta(d),f=new Do;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 generateVideosInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=$a(this.apiClient,e);return a=A("{model}:predictLongRunning",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)=>{let p=Ja(f),c=new Ue;return Object.assign(c,p),c})}else{let u=ba(this.apiClient,e);return a=A("{model}:predictLongRunning",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)=>{let p=Ba(f),c=new Ue;return Object.assign(c,p),c})}}}class Si extends X{constructor(e){super();this.apiClient=e}async getVideosOperation(e){let{operation:n,config:t}=e;if(n.name===void 0||n.name==="")throw Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=n.name.split("/operations/")[0],r=void 0;if(t&&"httpOptions"in t)r=t.httpOptions;let l=await this.fetchPredictVideosOperationInternal({operationName:n.name,resourceName:o,config:{httpOptions:r}});return n._fromAPIResponse({apiResponse:l,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:n.name,config:t});return n._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async get(e){let{operation:n,config:t}=e;if(n.name===void 0||n.name==="")throw Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=n.name.split("/operations/")[0],r=void 0;if(t&&"httpOptions"in t)r=t.httpOptions;let l=await this.fetchPredictVideosOperationInternal({operationName:n.name,resourceName:o,config:{httpOptions:r}});return n._fromAPIResponse({apiResponse:l,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:n.name,config:t});return n._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async getVideosOperationInternal(e){var n,t,o,r;let l,a="",d={};if(this.apiClient.isVertexAI()){let u=yr(e);return a=A("{operationName}",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}else{let u=gr(e);return a=A("{operationName}",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}}async fetchPredictVideosOperationInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=ur(e);return r=A("{resourceName}:fetchPredictOperation",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}else throw Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}}function mo(e){let n={};if(i(e,["languageCodes"])!==void 0)throw Error("languageCodes parameter is not supported in Gemini API.");return n}function Md(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 Dd(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 xd(e){let n={},t=i(e,["parts"]);if(t!=null){let r=t;if(Array.isArray(r))r=r.map((l)=>Bd(l));s(n,["parts"],r)}let o=i(e,["role"]);if(o!=null)s(n,["role"],o);return n}function Ud(e,n,t){let o={},r=i(n,["expireTime"]);if(t!==void 0&&r!=null)s(t,["expireTime"],r);let l=i(n,["newSessionExpireTime"]);if(t!==void 0&&l!=null)s(t,["newSessionExpireTime"],l);let a=i(n,["uses"]);if(t!==void 0&&a!=null)s(t,["uses"],a);let d=i(n,["liveConnectConstraints"]);if(t!==void 0&&d!=null)s(t,["bidiGenerateContentSetup"],Hd(e,d));let u=i(n,["lockAdditionalFields"]);if(t!==void 0&&u!=null)s(t,["fieldMask"],u);return o}function Ld(e,n){let t={},o=i(n,["config"]);if(o!=null)s(t,["config"],Ud(e,o,t));return t}function Gd(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 kd(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 Fd(e){let n={},t=i(e,["authConfig"]);if(t!=null)s(n,["authConfig"],Md(t));let o=i(e,["enableWidget"]);if(o!=null)s(n,["enableWidget"],o);return n}function Vd(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 qd(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"],xd(k(g)));let y=i(e,["tools"]);if(n!==void 0&&y!=null){let I=ge(y);if(Array.isArray(I))I=I.map((R)=>$d(me(R)));s(n,["setup","tools"],I)}let E=i(e,["sessionResumption"]);if(n!==void 0&&E!=null)s(n,["setup","sessionResumption"],bd(E));let _=i(e,["inputAudioTranscription"]);if(n!==void 0&&_!=null)s(n,["setup","inputAudioTranscription"],mo(_));let C=i(e,["outputAudioTranscription"]);if(n!==void 0&&C!=null)s(n,["setup","outputAudioTranscription"],mo(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)=>Jd(R));s(n,["setup","safetySettings"],I)}return t}function Hd(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"],qd(r,t));return t}function Bd(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"],Gd(l));let a=i(e,["functionCall"]);if(a!=null)s(n,["functionCall"],kd(a));let d=i(e,["functionResponse"]);if(d!=null)s(n,["functionResponse"],d);let u=i(e,["inlineData"]);if(u!=null)s(n,["inlineData"],Dd(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 Jd(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 bd(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 $d(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"],Vd(r));let l=i(e,["googleMaps"]);if(l!=null)s(n,["googleMaps"],Fd(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 Od(e){let n=[];for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let o=e[t];if(typeof o==="object"&&o!=null&&Object.keys(o).length>0){let r=Object.keys(o).map((l)=>`${t}.${l}`);n.push(...r)}else n.push(t)}return n.join(",")}function Kd(e,n){let t=null,o=e.bidiGenerateContentSetup;if(typeof o==="object"&&o!==null&&"setup"in o){let l=o.setup;if(typeof l==="object"&&l!==null)e.bidiGenerateContentSetup=l,t=l;else delete e.bidiGenerateContentSetup}else if(o!==void 0)delete e.bidiGenerateContentSetup;let r=e.fieldMask;if(t){let l=Od(t);if(Array.isArray(n===null||n===void 0?void 0:n.lockAdditionalFields)&&(n===null||n===void 0?void 0:n.lockAdditionalFields.length)===0)if(l)e.fieldMask=l;else delete e.fieldMask;else if((n===null||n===void 0?void 0:n.lockAdditionalFields)&&n.lockAdditionalFields.length>0&&r!==null&&Array.isArray(r)&&r.length>0){let a=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"],d=[];if(r.length>0)d=r.map((f)=>{if(a.includes(f))return`generationConfig.${f}`;return f});let u=[];if(l)u.push(l);if(d.length>0)u.push(...d);if(u.length>0)e.fieldMask=u.join(",");else delete e.fieldMask}else delete e.fieldMask}else if(r!==null&&Array.isArray(r)&&r.length>0)e.fieldMask=r.join(",");else delete e.fieldMask;return e}class Ri extends X{constructor(e){super();this.apiClient=e}async create(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI())throw Error("The client.tokens.create method is only supported by the Gemini Developer API.");else{let a=Ld(this.apiClient,e);r=A("auth_tokens",a._url),l=a._query,delete a.config,delete a._url,delete a._query;let d=Kd(a,e.config);return o=this.apiClient.request({path:r,queryParams:l,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}).then((u)=>u.json()),o.then((u)=>u)}}}function Yd(e,n){let t={},o=i(e,["force"]);if(n!==void 0&&o!=null)s(n,["_query","force"],o);return t}function Wd(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);let o=i(e,["config"]);if(o!=null)Yd(o,n);return n}function zd(e){let n={},t=i(e,["name"]);if(t!=null)s(n,["_url","name"],t);return n}function Xd(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 Qd(e){let n={},t=i(e,["parent"]);if(t!=null)s(n,["_url","parent"],t);let o=i(e,["config"]);if(o!=null)Xd(o,n);return n}function Zd(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,["documents"]);if(r!=null){let l=r;if(Array.isArray(l))l=l.map((a)=>a);s(n,["documents"],l)}return n}class Pi extends X{constructor(e){super();this.apiClient=e,this.list=async(n)=>new se(Z.PAGED_ITEM_DOCUMENTS,(t)=>this.listInternal({parent:n.parent,config:t.config}),await this.listInternal(n),n)}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=zd(e);return r=A("{name}",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={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let l=Wd(e);o=A("{name}",l._url),r=l._query,delete l._url,delete l._query,await this.apiClient.request({path:o,queryParams:r,body:JSON.stringify(l),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})}}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=Qd(e);return r=A("{parent}/documents",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)=>{let u=Zd(d),f=new Uo;return Object.assign(f,u),f})}}}class wi extends X{constructor(e,n=new Pi(e)){super();this.apiClient=e,this.documents=n,this.list=async(t={})=>new se(Z.PAGED_ITEM_FILE_SEARCH_STORES,(o)=>this.listInternal(o),await this.listInternal(t),t)}async uploadToFileSearchStore(e){if(this.apiClient.isVertexAI())throw Error("Gemini Enterprise Agent Platform (previously known as Vertex AI) does not support uploading files to a file search store.");return this.apiClient.uploadFileToFileSearchStore(e.fileSearchStoreName,e.file,e.config)}async downloadMedia(e,n){if(this.apiClient.isVertexAI())throw Error("This method is only supported in the Gemini Developer client.");let t=new URL(e,"http://dummy.com"),o=t.pathname;if(o.startsWith("/"))o=o.slice(1);if(!o.includes("/media/"))throw Error(`Invalid uri format: ${e}. Expected to contain /media/`);let r={};t.searchParams.forEach((d,u)=>{r[u]=d}),r.alt="media";let l=Object.assign({},n===null||n===void 0?void 0:n.httpOptions),a=await this.apiClient.request({path:o,httpMethod:"GET",queryParams:r,httpOptions:l});if(a instanceof ue){let d=await a.responseInternal.arrayBuffer();return new Uint8Array(d)}else throw Error("Unexpected response type from downloadMedia")}async create(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=Yu(this.apiClient,e);return r=A("fileSearchStores",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)=>d)}}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=Xu(e);return r=A("{name}",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={};if(this.apiClient.isVertexAI())throw Error("This method is only supported by the Gemini Developer API.");else{let l=zu(e);o=A("{name}",l._url),r=l._query,delete l._url,delete l._query,await this.apiClient.request({path:o,queryParams:r,body:JSON.stringify(l),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})}}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=td(e);return r=A("fileSearchStores",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)=>{let u=od(d),f=new Lo;return Object.assign(f,u),f})}}async uploadToFileSearchStoreInternal(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=id(e);return r=A("upload/v1beta/{file_search_store_name}:uploadToFileSearchStore",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=rd(d),f=new Go;return Object.assign(f,u),f})}}async importFile(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=ju(e);return r=A("{file_search_store_name}:importFile",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=Zu(d),f=new In;return Object.assign(f,u),f})}}}var Ni=function(){let{crypto:e}=globalThis;if(e===null||e===void 0?void 0:e.randomUUID)return Ni=e.randomUUID.bind(e),e.randomUUID();let n=new Uint8Array(1),t=e?()=>e.getRandomValues(n)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(o)=>(+o^t()&15>>+o/4).toString(16))},jd=()=>Ni();function hn(e){return typeof e==="object"&&e!==null&&(("name"in e)&&e.name==="AbortError"||("message"in e)&&String(e.message).includes("FetchRequestCanceledException"))}var mn=(e)=>{if(e instanceof Error)return e;if(typeof e==="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let n=Error(e.message,e.cause?{cause:e.cause}:{});if(e.stack)n.stack=e.stack;if(e.cause&&!n.cause)n.cause=e.cause;if(e.name)n.name=e.name;return n}}catch(n){}try{return Error(JSON.stringify(e))}catch(n){}}return Error(e)};class B extends Error{}class V extends B{constructor(e,n,t,o){super(`${V.makeMessage(e,n,t)}`);this.status=e,this.headers=o,this.error=n}static makeMessage(e,n,t){let o=(n===null||n===void 0?void 0:n.message)?typeof n.message==="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):t;if(e&&o)return`${e} ${o}`;if(e)return`${e} status code (no body)`;if(o)return o;return"(no status code or body)"}static generate(e,n,t,o){if(!e||!o)return new ve({message:t,cause:mn(n)});let r=n;if(e===400)return new Nn(e,r,t,o);if(e===401)return new Mn(e,r,t,o);if(e===403)return new Dn(e,r,t,o);if(e===404)return new xn(e,r,t,o);if(e===409)return new Un(e,r,t,o);if(e===422)return new Ln(e,r,t,o);if(e===429)return new Gn(e,r,t,o);if(e>=500)return new kn(e,r,t,o);return new V(e,r,t,o)}}class Ge extends V{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class ve extends V{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0);if(n)this.cause=n}}class wn extends ve{constructor({message:e}={}){super({message:e!==null&&e!==void 0?e:"Request timed out."})}}class Nn extends V{}class Mn extends V{}class Dn extends V{}class xn extends V{}class Un extends V{}class Ln extends V{}class Gn extends V{}class kn extends V{}var ef=/^[a-z][a-z0-9+.-]*:/i,nf=(e)=>ef.test(e),gn=(e)=>(gn=Array.isArray,gn(e)),tf=gn,of=tf,go=of;function yo(e){if(!e)return!0;for(let n in e)return!1;return!0}function rf(e,n){return Object.prototype.hasOwnProperty.call(e,n)}var sf=(e,n)=>{if(typeof n!=="number"||!Number.isInteger(n))throw new B(`${e} must be an integer`);if(n<0)throw new B(`${e} must be a positive integer`);return n},lf=(e)=>{try{return JSON.parse(e)}catch(n){return}},af=(e)=>new Promise((n)=>setTimeout(n,e));function uf(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Mi(...e){let n=globalThis.ReadableStream;if(typeof n>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new n(...e)}function df(e){let n=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return Mi({start(){},async pull(t){let{done:o,value:r}=await n.next();if(o)t.close();else t.enqueue(r)},async cancel(){var t;await((t=n.return)===null||t===void 0?void 0:t.call(n))}})}function Di(e){if(e[Symbol.asyncIterator])return e;let n=e.getReader();return{async next(){try{let t=await n.read();if(t===null||t===void 0?void 0:t.done)n.releaseLock();return t}catch(t){throw n.releaseLock(),t}},async return(){let t=n.cancel();return n.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function ff(e){var n,t;if(e===null||typeof e!=="object")return;if(e[Symbol.asyncIterator]){await((t=(n=e[Symbol.asyncIterator]()).return)===null||t===void 0?void 0:t.call(n));return}let o=e.getReader(),r=o.cancel();o.releaseLock(),await r}var cf=({headers:e,body:n})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(n)});function pf(e){return Object.entries(e).filter(([n,t])=>typeof t<"u").map(([n,t])=>{if(typeof t==="string"||typeof t==="number"||typeof t==="boolean")return`${encodeURIComponent(n)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(n)}=`;throw new B(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}var hf="0.0.1",xi=()=>{var e;if(typeof File>"u"){let{process:n}=globalThis,t=typeof((e=n===null||n===void 0?void 0:n.versions)===null||e===void 0?void 0:e.node)==="string"&&parseInt(n.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function We(e,n,t){return xi(),new File(e,n!==null&&n!==void 0?n:"unknown_file",t)}function mf(e){return(typeof e==="object"&&e!==null&&(("name"in e)&&e.name&&String(e.name)||("url"in e)&&e.url&&String(e.url)||("filename"in e)&&e.filename&&String(e.filename)||("path"in e)&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}var gf=(e)=>e!=null&&typeof e==="object"&&typeof e[Symbol.asyncIterator]==="function",Ui=(e)=>e!=null&&typeof e==="object"&&typeof e.size==="number"&&typeof e.type==="string"&&typeof e.text==="function"&&typeof e.slice==="function"&&typeof e.arrayBuffer==="function",yf=(e)=>e!=null&&typeof e==="object"&&typeof e.name==="string"&&typeof e.lastModified==="number"&&Ui(e),Ef=(e)=>e!=null&&typeof e==="object"&&typeof e.url==="string"&&typeof e.blob==="function";async function Tf(e,n,t){if(xi(),e=await e,yf(e)){if(e instanceof File)return e;return We([await e.arrayBuffer()],e.name)}if(Ef(e)){let r=await e.blob();return n||(n=new URL(e.url).pathname.split(/[\\/]/).pop()),We(await yn(r),n,t)}let o=await yn(e);if(n||(n=mf(e)),!(t===null||t===void 0?void 0:t.type)){let r=o.find((l)=>typeof l==="object"&&("type"in l)&&l.type);if(typeof r==="string")t=Object.assign(Object.assign({},t),{type:r})}return We(o,n,t)}async function yn(e){var n,t,o,r,l;let a=[];if(typeof e==="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)a.push(e);else if(Ui(e))a.push(e instanceof Blob?e:await e.arrayBuffer());else if(gf(e))try{for(var d=!0,u=W(e),f;f=await u.next(),n=f.done,!n;d=!0){r=f.value,d=!1;let p=r;a.push(...await yn(p))}}catch(p){t={error:p}}finally{try{if(!d&&!n&&(o=u.return))await o.call(u)}finally{if(t)throw t.error}}else{let p=(l=e===null||e===void 0?void 0:e.constructor)===null||l===void 0?void 0:l.name;throw Error(`Unexpected data type: ${typeof e}${p?`; constructor: ${p}`:""}${_f(e)}`)}return a}function _f(e){if(typeof e!=="object"||e===null)return"";return`; props: [${Object.getOwnPropertyNames(e).map((t)=>`"${t}"`).join(", ")}]`}class $e{constructor(e){this._client=e}}$e._key=[];function Li(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Eo=Object.freeze(Object.create(null)),If=(e=Li)=>function(t,...o){if(t.length===1)return t[0];let r=!1,l=[],a=t.reduce((p,c,h)=>{var m,g,y;if(/[?#]/.test(c))r=!0;let E=o[h],_=(r?encodeURIComponent:e)(""+E);if(h!==o.length&&(E==null||typeof E==="object"&&E.toString===((y=Object.getPrototypeOf((g=Object.getPrototypeOf((m=E.hasOwnProperty)!==null&&m!==void 0?m:Eo))!==null&&g!==void 0?g:Eo))===null||y===void 0?void 0:y.toString)))_=E+"",l.push({start:p.length+c.length,length:_.length,error:`Value of type ${Object.prototype.toString.call(E).slice(8,-1)} is not a valid path parameter`});return p+c+(h===o.length?"":_)},""),d=a.split(/[?#]/,1)[0],u=/(^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,f;while((f=u.exec(d))!==null){let p=f[0].startsWith("/"),c=p?1:0,h=p?f[0].slice(1):f[0];l.push({start:f.index+c,length:h.length,error:`Value "${h}" can't be safely passed as a path parameter`})}if(l.sort((p,c)=>p.start-c.start),l.length>0){let p=0,c=l.reduce((h,m)=>{let g=" ".repeat(m.start-p),y="^".repeat(m.length);return p=m.start+m.length,h+g+y},"");throw new B(`Path parameters result in path with invalid segments:
|
|
7
|
+
${l.map((h)=>h.error).join(`
|
|
8
|
+
`)}
|
|
9
|
+
${a}
|
|
10
|
+
${c}`)}return a},K=If(Li);class Fn extends $e{create(e,n){var t;let{api_version:o=this._client.apiVersion}=e,r=ne(e,["api_version"]);if("model"in r&&"agent_config"in r)throw new B("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in r&&"generation_config"in r)throw new B("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");return this._client.post(K`/${o}/interactions`,Object.assign(Object.assign({body:r},n),{stream:(t=e.stream)!==null&&t!==void 0?t:!1}))}delete(e,n={},t){let{api_version:o=this._client.apiVersion}=n!==null&&n!==void 0?n:{};return this._client.delete(K`/${o}/interactions/${e}`,t)}cancel(e,n={},t){let{api_version:o=this._client.apiVersion}=n!==null&&n!==void 0?n:{};return this._client.post(K`/${o}/interactions/${e}/cancel`,t)}get(e,n={},t){var o;let r=n!==null&&n!==void 0?n:{},{api_version:l=this._client.apiVersion}=r,a=ne(r,["api_version"]);return this._client.get(K`/${l}/interactions/${e}`,Object.assign(Object.assign({query:a},t),{stream:(o=n===null||n===void 0?void 0:n.stream)!==null&&o!==void 0?o:!1}))}}Fn._key=Object.freeze(["interactions"]);class Vn extends Fn{}class qn extends $e{create(e,n){let{api_version:t=this._client.apiVersion}=e,o=ne(e,["api_version"]);return this._client.post(K`/${t}/webhooks`,Object.assign({body:o},n))}update(e,n={},t){let o=n!==null&&n!==void 0?n:{},{api_version:r=this._client.apiVersion,update_mask:l}=o,a=ne(o,["api_version","update_mask"]);return this._client.patch(K`/${r}/webhooks/${e}`,Object.assign({query:{update_mask:l},body:a},t))}list(e={},n){let t=e!==null&&e!==void 0?e:{},{api_version:o=this._client.apiVersion}=t,r=ne(t,["api_version"]);return this._client.get(K`/${o}/webhooks`,Object.assign({query:r},n))}delete(e,n={},t){let{api_version:o=this._client.apiVersion}=n!==null&&n!==void 0?n:{};return this._client.delete(K`/${o}/webhooks/${e}`,t)}get(e,n={},t){let{api_version:o=this._client.apiVersion}=n!==null&&n!==void 0?n:{};return this._client.get(K`/${o}/webhooks/${e}`,t)}ping(e,n=void 0,t){let{api_version:o=this._client.apiVersion,body:r}=n!==null&&n!==void 0?n:{};return this._client.post(K`/${o}/webhooks/${e}:ping`,Object.assign({body:r},t))}rotateSigningSecret(e,n={},t){let o=n!==null&&n!==void 0?n:{},{api_version:r=this._client.apiVersion}=o,l=ne(o,["api_version"]);return this._client.post(K`/${r}/webhooks/${e}:rotateSigningSecret`,Object.assign({body:l},t))}}qn._key=Object.freeze(["webhooks"]);class Hn extends qn{}function Cf(e){let n=0;for(let r of e)n+=r.length;let t=new Uint8Array(n),o=0;for(let r of e)t.set(r,o),o+=r.length;return t}var Re;function Bn(e){let n;return(Re!==null&&Re!==void 0?Re:(n=new globalThis.TextEncoder,Re=n.encode.bind(n)))(e)}var Pe;function To(e){let n;return(Pe!==null&&Pe!==void 0?Pe:(n=new globalThis.TextDecoder,Pe=n.decode.bind(n)))(e)}class Se{constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null,this.searchIndex=0}decode(e){var n;if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==="string"?Bn(e):e;this.buffer=Cf([this.buffer,t]);let o=[],r;while((r=Af(this.buffer,(n=this.carriageReturnIndex)!==null&&n!==void 0?n:this.searchIndex))!=null){if(r.carriage&&this.carriageReturnIndex==null){this.carriageReturnIndex=r.index;continue}if(this.carriageReturnIndex!=null&&(r.index!==this.carriageReturnIndex+1||r.carriage)){o.push(To(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null,this.searchIndex=0;continue}let l=this.carriageReturnIndex!==null?r.preceding-1:r.preceding,a=To(this.buffer.subarray(0,l));o.push(a),this.buffer=this.buffer.subarray(r.index),this.carriageReturnIndex=null,this.searchIndex=0}return this.searchIndex=Math.max(0,this.buffer.length-1),o}flush(){if(!this.buffer.length)return[];return this.decode(`
|
|
11
|
+
`)}}Se.NEWLINE_CHARS=new Set([`
|
|
12
|
+
`,"\r"]);Se.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Af(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 ke={off:0,error:200,warn:300,info:400,debug:500},_o=(e,n,t)=>{if(!e)return;if(rf(ke,e))return e;F(t).warn(`${n} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(ke))}`);return};function Ce(){}function we(e,n,t){if(!n||ke[e]>ke[t])return Ce;else return n[e].bind(n)}var vf={error:Ce,warn:Ce,info:Ce,debug:Ce},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 vf;let r=Io.get(t);if(r&&r[0]===o)return r[1];let l={error:we("error",t,o),warn:we("warn",t,o),info:we("info",t,o),debug:we("debug",t,o)};return Io.set(t,[o,l]),l}var ae=(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 ce{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 Y(this,arguments,function*(){var d,u,f,p;if(o)throw new B("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let c=!1;try{try{for(var h=!0,m=W(Sf(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 ce(l,n,t)}static fromReadableStream(e,n,t){let o=!1;function r(){return Y(this,arguments,function*(){var d,u,f,p;let c=new Se,h=Di(e);try{for(var m=!0,g=W(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 Y(this,arguments,function*(){var d,u,f,p;if(o)throw new B("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let c=!1;try{try{for(var h=!0,m=W(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 ce(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 ce(()=>o(e),this.controller,this.client),new ce(()=>o(n),this.controller,this.client)]}toReadableStream(){let e=this,n;return Mi({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
|
+
`);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 Sf(e,n){return Y(this,arguments,function*(){var o,r,l,a;if(!e.body){if(n.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new B("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 B("Attempted to iterate over a response with no body")}let d=new Gi,u=new Se,f=Di(e.body);try{for(var p=!0,c=W(Rf(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 Rf(e){return Y(this,arguments,function*(){var t,o,r,l;try{for(var a=!0,d=W(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 Gi{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]=Pf(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 Pf(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 wf(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 ce.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`,ae({retryOfRequestLogID:r,url:t.url,status:t.status,body:a,durationMs:Date.now()-l})),a}class Jn extends Promise{constructor(e,n,t=wf){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 ki=Symbol("brand.privateNullableHeaders");function*Nf(e){if(!e)return;if(ki 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 _e=(e)=>{let n=new Headers,t=new Set;for(let o of e){let r=new Set;for(let[l,a]of Nf(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{[ki]:!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},Fi;class Oe{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=ne(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:Oe.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:uf(),this.encoder=cf,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=_e([e.headers]);if(n.values.has("authorization")||n.values.has("x-goog-api-key"))return;if(this.apiKey)return _e([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter&&this.clientAdapter.isVertexAI())return _e([await this.clientAdapter.getAuthHeaders()]);return}stringifyQuery(e){return pf(e)}getUserAgent(){return`${this.constructor.name}/JS ${hf}`}defaultIdempotencyKey(){return`stainless-node-retry-${jd()}`}makeStatusError(e,n,t,o){return V.generate(e,n,t,o)}buildURL(e,n,t){let o=!this.baseURLOverridden()&&t||this.baseURL,r=nf(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`,ae({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 Ge;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 Ge;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})`,ae({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)`,ae({retryOfRequestLogID:t,url:f,durationMs:E-m,message:y.message})),v)throw new wn;throw new ve({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 ff(y.body),F(this).info(`${_} - ${I}`),F(this).debug(`[${c}] response error (${I})`,ae({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=lf(S),T=w?void 0:S;throw F(this).debug(`[${c}] response error (${v})`,ae({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`,ae({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=ne(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 af(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)sf("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=_e([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=_e([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:df(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})}}Oe.DEFAULT_TIMEOUT=60000;class U extends Oe{constructor(){super(...arguments);this.interactions=new Vn(this),this.webhooks=new Hn(this)}}Fi=U;U.GeminiNextGenAPIClient=Fi;U.GeminiNextGenAPIClientError=B;U.APIError=V;U.APIConnectionError=ve;U.APIConnectionTimeoutError=wn;U.APIUserAbortError=Ge;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=Tf;U.Interactions=Vn;U.Webhooks=Hn;var Co="x-goog-api-key",Ie="https://www.googleapis.com/auth/cloud-platform";class Vi{constructor(e){if(e.apiKey!==void 0){this.apiKey=e.apiKey;return}let n=Mf(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 Mf(e){let n;if(!e)return n={scopes:[Ie]},n;else{if(n=e,!n.scopes)return n.scopes=[Ie],n;else if(typeof n.scopes==="string"&&n.scopes!==Ie||Array.isArray(n.scopes)&&n.scopes.indexOf(Ie)<0)throw Error(`Invalid auth scopes. Scopes must include: ${Ie}`);return n}}class qi{async download(e,n){if(e.downloadPath){let t=await Df(e,n);if(t instanceof ue){let o=er(e.downloadPath);tr.fromWeb(t.responseInternal.body).pipe(o),await or(o)}else try{await nr(e.downloadPath,t,{encoding:"base64"})}catch(o){throw Error(`Failed to write file to ${e.downloadPath}: ${o}`)}}}}async function Df(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 Hi{create(e,n,t){return new Bi(e,n,t)}}class Bi{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 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){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function Gf(e,n){let t={},o=i(e,["sdkHttpResponse"]);if(o!=null)s(t,["sdkHttpResponse"],o);return t}function kf(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 Ff(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 Vf(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)Kf(l);let a=i(e,["config"]);if(a!=null)kf(a,t);return t}function qf(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)Yf(l,t,n);let a=i(e,["config"]);if(a!=null)Ff(a,t,n);return t}function Hf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Bf(e,n){let t={},o=i(e,["name"]);if(o!=null)s(t,["_url","name"],o);return t}function Jf(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 bf(e,n){let t={},o=i(e,["config"]);if(o!=null)Jf(o,t);return t}function $f(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 Of(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 Kf(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 Yf(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 Wf(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"],Of(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 le=T;if(Array.isArray(le))le=le.map((O)=>O);s(t,["evaluateDatasetRuns"],le)}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 H=i(e,["pipelineJob"]);if(H!=null)s(t,["pipelineJob"],H);let J=i(e,["serviceAccount"]);if(J!=null)s(t,["serviceAccount"],J);let b=i(e,["tunedModelDisplayName"]);if(b!=null)s(t,["tunedModelDisplayName"],b);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 Q=i(e,["distillationSamplingSpec"]);if(Q!=null)s(t,["distillationSamplingSpec"],Q);let Te=i(e,["tuningJobMetadata"]);if(Te!=null)s(t,["tuningJobMetadata"],Te);return t}function zf(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 Ji extends X{constructor(e){super();this.apiClient=e,this.list=async(n={})=>new se(Z.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=Bf(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=Hf(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)=>Wf(f))}}async listInternal(e){var n,t;let o,r="",l={};if(this.apiClient.isVertexAI()){let a=bf(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=$f(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=Uf(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=Gf(f),c=new rn;return Object.assign(c,p),c})}else{let u=xf(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=Lf(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=qf(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=Vf(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)=>zf(d))}}}var bi=8388608,$i=3,Oi=1000,Ki=2,te="x-goog-upload-status";async function Xf(e,n,t,o){var r;let l=await Yi(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[te])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");return a.file}async function Qf(e,n,t,o){var r;let l=await Yi(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[te])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new He;return Object.assign(u,d),u}async function Yi(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 ue(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=Oi;while(y<$i){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[te])break;y++,await Wi(E),E=E*Ki}if(p+=m,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[te])!=="active")break;if(f<=p)throw Error("All content has been uploaded, but the upload status is not finalized.")}return c}async function Zf(e){return{size:e.size,type:e.type}}function Wi(e){return new Promise((n)=>setTimeout(n,e))}class zi{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 Zf(e)}async upload(e,n,t,o){if(typeof e==="string")return await this.uploadFileFromPath(e,n,t,o);else return Xf(e,n,t,o)}async uploadToFileSearchStore(e,n,t,o){if(typeof e==="string")return await this.uploadFileToFileSearchStoreFromPath(e,n,t,o);else return Qf(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[te])!=="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[te])!=="final")throw Error("Failed to upload file: Upload status is not finalized.");let d=_n(a),u=new He;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 ue(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=Oi;while(v<$i){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[te])break;v++,await Wi(S),S=S*Ki}if(p+=_,((a=c===null||c===void 0?void 0:c.headers)===null||a===void 0?void 0:a[te])!=="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 Xi extends ui{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 jf="gl-node/";function ec(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=oe("GOOGLE_GENAI_USE_ENTERPRISE"),o=oe("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 ni{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=ec(e);let l=nc(),a=oe("GOOGLE_CLOUD_PROJECT"),d=oe("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=lr(e.httpOptions,this.vertexai,oe("GOOGLE_VERTEX_BASE_URL"),oe("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 Vi({apiKey:this.apiKey,googleAuthOptions:e.googleAuthOptions});this.apiClient=new yi({auth:f,project:this.project,location:this.location,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:jf+process.version,uploader:new zi,downloader:new qi}),this.models=new vi(this.apiClient),this.live=new Ci(this.apiClient,f,new Hi),this.batches=new ii(this.apiClient),this.chats=new li(this.models,this.apiClient),this.caches=new ri(this.apiClient),this.files=new Xi(this.apiClient),this.operations=new Si(this.apiClient),this.authTokens=new Ri(this.apiClient),this.tunings=new Ji(this.apiClient),this.fileSearchStores=new wi(this.apiClient)}}function oe(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 nc(){let e=oe("GOOGLE_API_KEY"),n=oe("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 Gl(e){return e.thought===!0}function oi(e,n){if(typeof n==="string"&&n.length>0)return n;return e}var tc=/^[A-Za-z0-9+/]+={0,2}$/;function oc(e){if(!e)return!1;if(e.length%4!==0)return!1;return tc.test(e)}function bn(e,n){return e&&oc(n)?n:void 0}function $n(e){return e.startsWith("claude-")||e.startsWith("gpt-oss-")}function Zi(e){let n=e.toLowerCase().match(/^gemini(?:-live)?-(\d+)/);if(!n)return;return Number.parseInt(n[1],10)}function ic(e){let n=Zi(e);if(n!==void 0)return n>=3;return!0}function $l(e,n){let t=[],o=(l)=>{if(!$n(e.id))return l;return l.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)},r=ao(n.messages,e,o);for(let l of r)if(l.role==="user")if(typeof l.content==="string")t.push({role:"user",parts:[{text:Fe(l.content)}]});else{let a=l.content.map((d)=>{if(d.type==="text")return{text:Fe(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:Fe(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:Fe(u.thinking),...f&&{thoughtSignature:f}})}else a.push({text:Fe(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=ic(e.id),h=f?Fe(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 rc=new Set(["$schema","$id","$anchor","$dynamicAnchor","$vocabulary","$comment","$defs","definitions"]);function ji(e){if(typeof e!=="object"||e===null||Array.isArray(e))return e;let n={};for(let[t,o]of Object.entries(e)){if(rc.has(t))continue;n[t]=ji(o)}return n}function Ql(e,n=!1){if(e.length===0)return;return[{functionDeclarations:e.map((t)=>({name:t.name,description:t.description,...n?{parameters:ji(t.parameters)}:{parametersJsonSchema:t.parameters}}))}]}function Vl(e){let n=Zi(e);return n!==void 0&&n>=3}function Qi(e){switch(e){case"auto":return ie.AUTO;case"none":return ie.NONE;case"any":return ie.ANY;default:return ie.AUTO}}function Kl(e,n,t){let o=e.some((r)=>oo(r,t)===!0);if(n==="none"||n==="any")return Qi(n);if(o)return ie.VALIDATED;return n?Qi(n):void 0}function Wl(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{ua,Hl,ni,Gl,oi,$l,Ql,Vl,Kl,Wl};
|