@ibgib/space-gib 0.0.18 → 0.0.19

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.
@@ -1,4 +1,4 @@
1
- import{$b as Us,A as Nt,Ab as Rt,Ac as qs,Ba as ws,Bb as $s,Bc as nn,C as W,Cb as Rs,Cc as on,D as ms,Db as Xt,E as Ye,Eb as yi,F as dt,Gb as $,H as gs,Hb as Qt,Hc as sn,I as bs,J as se,Jc as Mt,Kc as X,Lb as Zt,Ma as Yt,Mb as Gs,Nb as Ms,Nc as Hs,Ob as ks,Pb as Gt,Qb as jt,Rb as en,Sb as Ds,Ub as Ls,Va as vs,Vb as ut,Wa as Is,X as ys,Xa as Ts,Y as Es,a as p,b as zt,c as fs,d as oe,e as Kt,eb as bi,ec as Fs,f as at,fb as $e,fc as fe,g as lt,gc as ft,h as L,hb as Y,i as O,ib as K,j as y,l as We,lc as B,mb as J,n as xt,o as ct,ob as Cs,oc as Bs,p as Jt,pb as _s,pc as ke,q as Wt,qb as Ss,r as Pt,rb as As,sb as xs,u as Q,ub as Ps,uc as Vs,v as ps,vb as Ns,vc as Ei,w as S,wb as $t,x as H,xb as te,yb as Re,yc as wi,z as hs,zb as Ie,zc as tn}from"./chunk-3KXGJIIO.mjs";var _e=J,vi=class n{static{p(this,"IbGibComponentService")}lc=`[${n.name}]`;_registeredComponentsMeta=[];initialized;constructor(){this.initialized=this.initialize()}async initialize(){let e=`[${this.initialize.name}]`;try{_e&&console.log(`${e} starting... (I: 1cf04e8d768f4b5c55e7c3861e2d2225)`),console.log(`${e} does nothing atow (I: 65bb46c88c82b637ad928b8bf1a07225)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{_e&&console.log(`${e} complete.`)}}registerComponentMeta(e){this._registeredComponentsMeta.push(e),_e&&console.log(`${this.lc}[registerComponentMeta] component meta registered: ${e.constructor.name} (I: 88ddcbd0c8caa2342af0e7348f171225)`)}unregisterComponentMeta(e){this._registeredComponentsMeta=this._registeredComponentsMeta.filter(t=>t!==e),_e&&console.log(`${this.lc}[unregisterComponentMeta] component meta unregistered: ${e.constructor.name} (I: 4e84b5274de688248984896a90f5cc25)`)}async getComponentInstance({useRegExpPrefilter:e,path:t,ibGibAddr:i}){let o=`${this.lc}[${this.getComponentInstance.name}]`;try{_e&&console.log(`${o} starting... (I: 684ef316cbdb4a3b1fdc96096c273b25)`);let s,a=kt.getRegisteredComponentsMeta(),c=e?a.filter(d=>{let u=d.routeRegExp?d.routeRegExp.test(t):!1;return _e&&console.log(`${o} ${d.componentName} ${d.routeRegExp} componentMatchesPath: ${u} (I: 3758520e6a4a57f218396c8649283425)`),u}):a.concat();for(let d of c)if(d.fnHandleRoute?await d.fnHandleRoute({path:t,ibGibAddr:i}):!0){s=await d.createInstance({path:t,ibGibAddr:i});break}return s}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{_e&&console.log(`${o} complete.`)}}async inject({parentEl:e,componentToInject:t}){let i=`${this.lc}[${this.inject.name}]`;try{if(_e&&console.log(`${i} starting... (I: 6844cf07eaf8a5b1b106784f7db17125)`),!e)throw new Error(`${i} parentEl required. (E: 6f4eb2d682856ef47d173b970ec3c825)`);if(!t)throw new Error(`${i} componentToInject required. (E: decf0b51ad49257ce44fecbcf84c3a25)`);if(!t.meta)throw new Error(`${i} componentToInject.meta required. (E: f8827c0602ca7b0e030d0b3e2c4a4825)`);if(!t.meta.componentName)throw new Error(`${i} componentToInject.meta.componentName required. (E: 5dcae244ae32690f7b73ce27a32a3c25)`);e.innerHTML="",e.appendChild(t),e.classList.remove("fade-out")}catch(o){console.error(`${i} ${y(o)}`),e.innerHTML=`<p class="error">Error loading component for route. error:</p><br /><br /><p>${o.message}</p>`}finally{_e&&console.log(`${i} complete.`)}}getRegisteredComponentsMeta(){return[...this._registeredComponentsMeta]}},kt;async function re(){let n=`[${re.name}]`;try{return _e&&console.log(`${n} starting... (I: 853694c88223381339103a3765129925)`),kt||(kt=new vi,await kt.initialized),kt}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{_e&&console.log(`${n} complete.`)}}p(re,"getComponentSvc");var Os="left-panel";var zs="right-panel";var Ks="left-resizer",Js="right-resizer",Ws="footer-resizer",Ys="btn-left-panel-toggle",Xs="btn-right-panel-toggle",Qs="btn-create-keystone",rn="center-panel-content";var Ti=class{static{p(this,"KeystoneSyncService")}lc="[KeystoneSyncService]";dispatchUpdateAvailableEvent(e){typeof window<"u"&&window.dispatchEvent(new CustomEvent(Rt,{detail:e,bubbles:!0,composed:!0}))}async checkForKeystoneUpdate({activePrimaryAddr:e,metaspace:t,space:i}){let o=`${this.lc}[${this.checkForKeystoneUpdate.name}]`;try{if(t||(t=await $()),!t)throw new Error("Metaspace not available.");if(i||(i=await t.getLocalUserSpace({lock:!1})),!i)throw new Error("Local user space not available.");let s=await t.getLatestAddr({addr:e,space:i})||e,a=await t.get({addrs:[s],space:i}),c=a.success&&a.ibGibs&&a.ibGibs.length>0?a.ibGibs[0]:void 0,d=c?.data?.n??0,{ib:u}=H({ibGibAddr:e}),f=W({ibGibAddr:e}),h=f.tjpGib?`${u}^${f.tjpGib}`:e,m=(c?Y({ibGib:c}):void 0)||h,g=await B().getKeystoneGraph(m);if(!g.success||!g.graph){let D={hasUpdate:!1,serverN:d,localN:d,serverLatestAddr:s,graph:{}};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:D.hasUpdate,serverN:D.serverN,localN:D.localN,serverLatestAddr:D.serverLatestAddr}),D}let b=g.graph,E=Object.values(b),w=$e({ibGibs:E}),v=w[m]||w[e]||w[Object.keys(w)[0]]||[];if(v.length===0){let D={hasUpdate:!1,serverN:d,localN:d,serverLatestAddr:s,graph:b};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:D.hasUpdate,serverN:D.serverN,localN:D.localN,serverLatestAddr:D.serverLatestAddr}),D}let I=[...v].sort((D,A)=>(D.data?.n??0)-(A.data?.n??0)),T=I[I.length-1],_=T.data?.n??0,P=S({ibGib:T}),x={hasUpdate:_>d,serverN:_,localN:d,serverLatestAddr:P,graph:b};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:x.hasUpdate,serverN:x.serverN,localN:x.localN,serverLatestAddr:x.serverLatestAddr}),x}catch(s){console.error(`${o} ${y(s)}`);let a={hasUpdate:!1,serverN:0,localN:0,serverLatestAddr:e,graph:{}};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:!1,serverN:0,localN:0,serverLatestAddr:e}),a}}async updateActiveKeystone({activePrimaryAddr:e,metaspace:t,space:i}){let o=`${this.lc}[${this.updateActiveKeystone.name}]`;try{if(t||(t=await $()),!t)throw new Error("Metaspace not available.");if(i||(i=await t.getLocalUserSpace({lock:!1})),!i)throw new Error("Local user space not available.");let s=await this.checkForKeystoneUpdate({activePrimaryAddr:e,metaspace:t,space:i});if(s.hasUpdate&&Object.keys(s.graph).length>0){let d=Object.values(s.graph);await t.put({ibGibs:d,space:i});let u=$e({ibGibs:d});for(let b of Object.keys(u)){let w=[...u[b]].sort((v,I)=>(v.data?.n??0)-(I.data?.n??0));for(let v of w)await t.registerNewIbGib({ibGib:v,space:i})}let f=W({ibGibAddr:e}).tjpGib??e,m=[...u[f]||u[e]||u[Object.keys(u)[0]]].sort((b,E)=>(b.data?.n??0)-(E.data?.n??0)),g=m[m.length-1];if(g)return await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[K({ibGib:g})]}],metaspace:t,space:i}),g}let a=await t.getLatestAddr({addr:e,space:i})||e,c=await t.get({addrs:[a],space:i});return c.success&&c.ibGibs&&c.ibGibs.length>0?c.ibGibs[0]:void 0}catch(s){throw console.error(`${o} ${y(s)}`),s}}},Ii;function Xe(){return Ii||(Ii=new Ti),Ii}p(Xe,"getKeystoneSyncService");var Zs=`:host {
1
+ import{A as $t,Ab as Rt,Ba as vs,Bb as Gs,C as K,Cb as Rs,Cc as Ft,D as gs,Db as Ms,Dc as Hs,E as Ye,Eb as on,Ec as X,F as dt,Fb as Ii,Fc as zs,Gc as re,H as bs,Hb as $,Hc as ft,I as ys,Ib as sn,J as se,Ma as nn,Mb as Mt,Mc as B,Nb as ks,Ob as Ds,Pb as Ls,Pc as Ks,Qb as kt,Qc as Me,Rb as Dt,Sb as Lt,Tb as Us,Va as Is,Vb as Fs,Vc as Js,Wa as Ts,Wb as ut,Wc as _i,X as Es,Xa as Cs,Y as ws,a as p,ac as Bs,b as Qt,d as oe,e as Zt,eb as vi,ec as Ti,fb as $e,fc as rn,g as jt,gc as Vs,h as L,hb as Y,hc as an,i as H,ib as z,ic as ln,j as y,jc as Ci,l as We,mb as J,n as Pt,o as ct,ob as _s,p as en,pb as Ss,q as tn,qb as As,r as Nt,rb as xs,rc as qs,sb as Ps,sc as cn,tc as Os,u as Q,ub as Ns,uc as Xe,v as hs,vb as $s,vc as dn,w as S,wb as Gt,wc as un,x as q,xb as te,xc as Ut,yb as Ge,z as ms,zb as we}from"./chunk-NLLBRWVU.mjs";var _e=J,Si=class n{static{p(this,"IbGibComponentService")}lc=`[${n.name}]`;_registeredComponentsMeta=[];initialized;constructor(){this.initialized=this.initialize()}async initialize(){let e=`[${this.initialize.name}]`;try{_e&&console.log(`${e} starting... (I: 1cf04e8d768f4b5c55e7c3861e2d2225)`),console.log(`${e} does nothing atow (I: 65bb46c88c82b637ad928b8bf1a07225)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{_e&&console.log(`${e} complete.`)}}registerComponentMeta(e){this._registeredComponentsMeta.push(e),_e&&console.log(`${this.lc}[registerComponentMeta] component meta registered: ${e.constructor.name} (I: 88ddcbd0c8caa2342af0e7348f171225)`)}unregisterComponentMeta(e){this._registeredComponentsMeta=this._registeredComponentsMeta.filter(t=>t!==e),_e&&console.log(`${this.lc}[unregisterComponentMeta] component meta unregistered: ${e.constructor.name} (I: 4e84b5274de688248984896a90f5cc25)`)}async getComponentInstance({useRegExpPrefilter:e,path:t,ibGibAddr:i}){let o=`${this.lc}[${this.getComponentInstance.name}]`;try{_e&&console.log(`${o} starting... (I: 684ef316cbdb4a3b1fdc96096c273b25)`);let s,a=Bt.getRegisteredComponentsMeta(),c=e?a.filter(d=>{let u=d.routeRegExp?d.routeRegExp.test(t):!1;return _e&&console.log(`${o} ${d.componentName} ${d.routeRegExp} componentMatchesPath: ${u} (I: 3758520e6a4a57f218396c8649283425)`),u}):a.concat();for(let d of c)if(d.fnHandleRoute?await d.fnHandleRoute({path:t,ibGibAddr:i}):!0){s=await d.createInstance({path:t,ibGibAddr:i});break}return s}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{_e&&console.log(`${o} complete.`)}}async inject({parentEl:e,componentToInject:t}){let i=`${this.lc}[${this.inject.name}]`;try{if(_e&&console.log(`${i} starting... (I: 6844cf07eaf8a5b1b106784f7db17125)`),!e)throw new Error(`${i} parentEl required. (E: 6f4eb2d682856ef47d173b970ec3c825)`);if(!t)throw new Error(`${i} componentToInject required. (E: decf0b51ad49257ce44fecbcf84c3a25)`);if(!t.meta)throw new Error(`${i} componentToInject.meta required. (E: f8827c0602ca7b0e030d0b3e2c4a4825)`);if(!t.meta.componentName)throw new Error(`${i} componentToInject.meta.componentName required. (E: 5dcae244ae32690f7b73ce27a32a3c25)`);e.innerHTML="",e.appendChild(t),e.classList.remove("fade-out")}catch(o){console.error(`${i} ${y(o)}`),e.innerHTML=`<p class="error">Error loading component for route. error:</p><br /><br /><p>${o.message}</p>`}finally{_e&&console.log(`${i} complete.`)}}getRegisteredComponentsMeta(){return[...this._registeredComponentsMeta]}},Bt;async function ae(){let n=`[${ae.name}]`;try{return _e&&console.log(`${n} starting... (I: 853694c88223381339103a3765129925)`),Bt||(Bt=new Si,await Bt.initialized),Bt}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{_e&&console.log(`${n} complete.`)}}p(ae,"getComponentSvc");var Ws="left-panel";var Ys="right-panel";var Xs="left-resizer",Qs="right-resizer",Zs="footer-resizer",js="btn-left-panel-toggle",er="btn-right-panel-toggle",tr="btn-create-keystone",fn="center-panel-content";var Xl="ibgib_device_delegate_secret_";function nr({primaryTjpAddr:n}){if(!n)throw new Error("primaryTjpAddr is required to get device delegate secret key (E: 1a2b3c4d5e6f7890123456789a000101)");return`${Xl}${n}`}p(nr,"getDeviceDelegateSecretKey");async function Vt({primaryTjpAddr:n}){let e=`[${Vt.name}]`;try{if(!n)throw new Error("primaryTjpAddr is required to get device delegate secret (E: 2a2b3c4d5e6f7890123456789a000102)");let t=Lt(),i=Dt(),o=nr({primaryTjpAddr:n});return await ut({dbName:t,storeName:i,key:o})}catch(t){throw console.error(`${e} ${y(t)}`),t}}p(Vt,"getDeviceDelegateSecret");async function pt({primaryTjpAddr:n,delegateSecret:e}){let t=`[${pt.name}]`;try{if(!n)throw new Error("primaryTjpAddr is required to set device delegate secret (E: 3a2b3c4d5e6f7890123456789a000103)");if(!e)throw new Error("delegateSecret is required to set device delegate secret (E: 4a2b3c4d5e6f7890123456789a000104)");let i=Lt(),o=Dt(),s=nr({primaryTjpAddr:n});await Fs({dbName:i,storeName:o,key:s,value:e})}catch(i){throw console.error(`${t} ${y(i)}`),i}}p(pt,"setDeviceDelegateSecret");async function ht({primaryTjpAddr:n,deviceTag:e}){let t=`[${ht.name}]`;try{if(!n)throw new Error("primaryTjpAddr is required to get or create device delegate secret (E: 5a2b3c4d5e6f7890123456789a000105)");let i=await Vt({primaryTjpAddr:n});if(i)return i;let o=await Os({primaryTjpAddr:n,deviceTag:e});return await pt({primaryTjpAddr:n,delegateSecret:o}),o}catch(i){throw console.error(`${t} ${y(i)}`),i}}p(ht,"getOrCreateDeviceDelegateSecret");var xi=class{static{p(this,"KeystoneSyncService")}lc="[KeystoneSyncService]";dispatchUpdateAvailableEvent(e){typeof window<"u"&&window.dispatchEvent(new CustomEvent(Rt,{detail:e,bubbles:!0,composed:!0}))}dispatchRenewalRequiredEvent(e){typeof window<"u"&&window.dispatchEvent(new CustomEvent(Gs,{detail:e,bubbles:!0,composed:!0}))}async getDeviceDelegateSecret({primaryTjpAddr:e}){return Vt({primaryTjpAddr:e})}async checkDelegateStatus({activePrimaryAddr:e,metaspace:t,space:i}){let o=`${this.lc}[${this.checkDelegateStatus.name}]`;try{if(t||(t=await $()),!t)throw new Error(`${o} (UNEXPECTED) metaspace falsy? (E: a1b2c3d4e5f60718293a4b5c6d7e8f90)`);if(i||(i=await t.getLocalUserSpace({lock:!1})),!i)throw new Error(`${o} (UNEXPECTED) space falsy? (E: b2c3d4e5f60718293a4b5c6d7e8f90a1)`);let s=K({ibGibAddr:e}),{ib:a}=q({ibGibAddr:e}),c=s.tjpGib?`${a}^${s.tjpGib}`:e;if(!await Vt({primaryTjpAddr:c}))return this.dispatchRenewalRequiredEvent({activePrimaryAddr:e,primaryTjpAddr:c,reason:"missing_secret"}),{isValid:!1,reason:"missing_secret"};let f=await new X().getLatestKeystone({addr:e,metaspace:t,space:i});if(!f)throw new Error(`${o} (UNEXPECTED) latest primary keystone not found for addr: ${e} (E: c3d4e5f60718293a4b5c6d7e8f90a1b2)`);return f?.data?.delegates&&Object.values(f.data.delegates).some(g=>dn({delegateInfo:g}))?(this.dispatchRenewalRequiredEvent({activePrimaryAddr:e,primaryTjpAddr:c,reason:"expired"}),{isValid:!1,reason:"expired"}):{isValid:!0}}catch(s){return console.error(`${o} ${y(s)}`),{isValid:!1}}}async checkForKeystoneUpdate({activePrimaryAddr:e,metaspace:t,space:i}){let o=`${this.lc}[${this.checkForKeystoneUpdate.name}]`;try{if(t||(t=await $()),!t)throw new Error("Metaspace not available.");if(i||(i=await t.getLocalUserSpace({lock:!1})),!i)throw new Error("Local user space not available.");let s=await t.getLatestAddr({addr:e,space:i})||e,a=await t.get({addrs:[s],space:i}),c=a.success&&a.ibGibs&&a.ibGibs.length>0?a.ibGibs[0]:void 0,d=c?.data?.n??0,{ib:u}=q({ibGibAddr:e}),f=K({ibGibAddr:e}),h=f.tjpGib?`${u}^${f.tjpGib}`:e,m=(c?Y({ibGib:c}):void 0)||h,g=await B().getKeystoneGraph(m);if(!g.success||!g.graph){let N={hasUpdate:!1,serverN:d,localN:d,serverLatestAddr:s,graph:{}};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:N.hasUpdate,serverN:N.serverN,localN:N.localN,serverLatestAddr:N.serverLatestAddr}),N}let b=g.graph,E=Object.values(b),w=$e({ibGibs:E}),v=w[m]||w[e]||w[Object.keys(w)[0]]||[];if(v.length===0){let N={hasUpdate:!1,serverN:d,localN:d,serverLatestAddr:s,graph:b};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:N.hasUpdate,serverN:N.serverN,localN:N.localN,serverLatestAddr:N.serverLatestAddr}),N}let I=[...v].sort((N,x)=>(N.data?.n??0)-(x.data?.n??0)),T=I[I.length-1],A=T.data?.n??0,P=S({ibGib:T}),_={hasUpdate:A>d,serverN:A,localN:d,serverLatestAddr:P,graph:b};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:_.hasUpdate,serverN:_.serverN,localN:_.localN,serverLatestAddr:_.serverLatestAddr}),_}catch(s){console.error(`${o} ${y(s)}`);let a={hasUpdate:!1,serverN:0,localN:0,serverLatestAddr:e,graph:{}};return this.dispatchUpdateAvailableEvent({activePrimaryAddr:e,hasUpdate:!1,serverN:0,localN:0,serverLatestAddr:e}),a}}async updateActiveKeystone({activePrimaryAddr:e,metaspace:t,space:i}){let o=`${this.lc}[${this.updateActiveKeystone.name}]`;try{if(t||(t=await $()),!t)throw new Error("Metaspace not available.");if(i||(i=await t.getLocalUserSpace({lock:!1})),!i)throw new Error("Local user space not available.");let s=await this.checkForKeystoneUpdate({activePrimaryAddr:e,metaspace:t,space:i});if(s.hasUpdate&&Object.keys(s.graph).length>0){let d=Object.values(s.graph);await t.put({ibGibs:d,space:i});let u=$e({ibGibs:d});for(let b of Object.keys(u)){let w=[...u[b]].sort((v,I)=>(v.data?.n??0)-(I.data?.n??0));for(let v of w)await t.registerNewIbGib({ibGib:v,space:i})}let f=K({ibGibAddr:e}).tjpGib??e,m=[...u[f]||u[e]||u[Object.keys(u)[0]]].sort((b,E)=>(b.data?.n??0)-(E.data?.n??0)),g=m[m.length-1];if(g)return await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[z({ibGib:g})]}],metaspace:t,space:i}),g}let a=await t.getLatestAddr({addr:e,space:i})||e,c=await t.get({addrs:[a],space:i});return c.success&&c.ibGibs&&c.ibGibs.length>0?c.ibGibs[0]:void 0}catch(s){throw console.error(`${o} ${y(s)}`),s}}},Ai;function Qe(){return Ai||(Ai=new xi),Ai}p(Qe,"getKeystoneSyncService");var ir=`:host {
2
2
  display: inline-block;
3
3
  vertical-align: middle;
4
4
  position: relative;
@@ -315,7 +315,7 @@ import{$b as Us,A as Nt,Ab as Rt,Ac as qs,Ba as ws,Bb as $s,Bc as nn,C as W,Cb a
315
315
  display: none !important;
316
316
  }
317
317
 
318
- `;var js=`<div id="container" class="header-widget-container">
318
+ `;var or=`<div id="container" class="header-widget-container">
319
319
  <!-- Single top control button -->
320
320
  <button id="btn-identity-pill" class="identity-pill-btn" title="Identity Menu">
321
321
  <!-- Authenticated State Content -->
@@ -386,7 +386,7 @@ import{$b as Us,A as Nt,Ab as Rt,Ac as qs,Ba as ws,Bb as $s,Bc as nn,C as W,Cb a
386
386
  <button id="btn-sync-modal-close" class="modal-close-btn hidden">Done</button>
387
387
  </div>
388
388
  </div>
389
- </div>`;var me=`/* =========================================================================
389
+ </div>`;var he=`/* =========================================================================
390
390
  @ibgib/web-gib \u2014 Common Web Component Stylesheet
391
391
  Shared Shadow DOM styles for buttons, tabs, inputs, cards, and status tags.
392
392
  ========================================================================= */
@@ -656,42 +656,42 @@ import{$b as Us,A as Nt,Ab as Rt,Ac as qs,Ba as ws,Bb as $s,Bc as nn,C as W,Cb a
656
656
  word-break: break-all;
657
657
  color: var(--clr-accent);
658
658
  }
659
- `;var Dt=!1,an=class n{static{p(this,"WitnessBase_V1")}lc=`[${n.name}]`;set trace(e){let t=`${this.lc}[set trace]`;e!==(this.data?.trace||!1)&&(this.data?(this.data.trace=e,delete this.gib):console.warn(`${t} data is falsy. Can't set.`))}get trace(){return this.data?.trace??!1}set catchAllErrors(e){let t=`${this.lc}[set catchAllErrors]`;e!==this.data?.catchAllErrors&&(this.data?(this.data.catchAllErrors=e,delete this.gib):console.error(`${t} data is falsy. Can't set value.`))}get catchAllErrors(){let e=`${this.lc}[catchAllErrors]`,t=this.data?.catchAllErrors||!1;return(Dt||this.trace)&&console.log(`${e} result: ${t}`),t}ib="";gib;data;rel8ns;initialized;constructor(e,t){e&&(this.data=e),t&&(this.rel8ns=t),this.initialized=this.initialize()}initialize(){return Promise.resolve()}toIbGibDto(){return K({ibGib:this})}loadIbGibDto(e){let t=`${this.lc}[${this.loadIbGibDto.name}]`;try{return Dt&&console.log(`${t} starting...`),e.ib||console.warn(`${t} dto.ib is falsy.`),e.gib||console.warn(`${t} dto.gib is falsy.`),this.ib=oe(e.ib),this.gib=oe(e.gib),e.data?this.data=oe(e.data):delete this.data,e.rel8ns?this.rel8ns=oe(e.rel8ns):delete this.rel8ns,Promise.resolve()}catch(i){throw console.error(`${t} ${i.message}`),i}finally{Dt&&console.log(`${t} complete.`)}}async witness(e){let t=`${this.lc}[${this.witness.name}]`;try{await this.initialized,this.gib||(this.gib=await ps(this.toIbGibDto()));let i=await this.validateThis();if(i?.length>0){for(let a of i)console.error(`${t} ${a}`);throw new Error("internal witness validation failed. See `WitnessBase_V1.validateThis` (E: 2b5f73cadbfa416ba189346f3c31cd0c)")}let o=await this.validateWitnessArg(e);if(o?.length>0){for(let a of o)console.error(`${t} ${a}`);throw new Error("arg validation failed. See `WitnessBase_V1.validateWitnessArg` (E: 51531a1d928a485e8ffc277145ec44e9)")}(Dt||this.trace)&&console.log(`${t} addr: ${S(e)}`),Dt&&console.log(`${t} addr: ${S(e)} (I: f4cf13a44c4e4fc3903f14018e616c64)`);let s=await this.witnessImpl(e);return this.data?.persistOptsAndResultIbGibs&&await this.persistOptsAndResultIbGibs({arg:e,result:s}),s}catch(i){if(console.error(`${t} ${i.message||"unknown error (E: 3e22bea4c7fb4668bf13d7146b927869)"}`),this.catchAllErrors)return;throw i}}async validateWitnessArg(e){let t=`${this.lc}[${this.validateWitnessArg.name}]`;try{let i=[];e||i.push("arg required (E: a222db3b668e4bb09cfd82e75c07bfa6)");let o=gs({ib:e?.ib});(o?.length??!1)&&i.push(`invalid arg.ib (E: 2ae362ef274d4c3bb9716800f2106d28) errors: ${o.join(`
660
- `)}`);let s=bs({gib:e?.gib});(s?.length??!1)&&i.push(`invalid arg.gib (E: 73be275058084d768a39299337f2ce34) errors: ${s.join(`
659
+ `;var qt=!1,pn=class n{static{p(this,"WitnessBase_V1")}lc=`[${n.name}]`;set trace(e){let t=`${this.lc}[set trace]`;e!==(this.data?.trace||!1)&&(this.data?(this.data.trace=e,delete this.gib):console.warn(`${t} data is falsy. Can't set.`))}get trace(){return this.data?.trace??!1}set catchAllErrors(e){let t=`${this.lc}[set catchAllErrors]`;e!==this.data?.catchAllErrors&&(this.data?(this.data.catchAllErrors=e,delete this.gib):console.error(`${t} data is falsy. Can't set value.`))}get catchAllErrors(){let e=`${this.lc}[catchAllErrors]`,t=this.data?.catchAllErrors||!1;return(qt||this.trace)&&console.log(`${e} result: ${t}`),t}ib="";gib;data;rel8ns;initialized;constructor(e,t){e&&(this.data=e),t&&(this.rel8ns=t),this.initialized=this.initialize()}initialize(){return Promise.resolve()}toIbGibDto(){return z({ibGib:this})}loadIbGibDto(e){let t=`${this.lc}[${this.loadIbGibDto.name}]`;try{return qt&&console.log(`${t} starting...`),e.ib||console.warn(`${t} dto.ib is falsy.`),e.gib||console.warn(`${t} dto.gib is falsy.`),this.ib=oe(e.ib),this.gib=oe(e.gib),e.data?this.data=oe(e.data):delete this.data,e.rel8ns?this.rel8ns=oe(e.rel8ns):delete this.rel8ns,Promise.resolve()}catch(i){throw console.error(`${t} ${i.message}`),i}finally{qt&&console.log(`${t} complete.`)}}async witness(e){let t=`${this.lc}[${this.witness.name}]`;try{await this.initialized,this.gib||(this.gib=await hs(this.toIbGibDto()));let i=await this.validateThis();if(i?.length>0){for(let a of i)console.error(`${t} ${a}`);throw new Error("internal witness validation failed. See `WitnessBase_V1.validateThis` (E: 2b5f73cadbfa416ba189346f3c31cd0c)")}let o=await this.validateWitnessArg(e);if(o?.length>0){for(let a of o)console.error(`${t} ${a}`);throw new Error("arg validation failed. See `WitnessBase_V1.validateWitnessArg` (E: 51531a1d928a485e8ffc277145ec44e9)")}(qt||this.trace)&&console.log(`${t} addr: ${S(e)}`),qt&&console.log(`${t} addr: ${S(e)} (I: f4cf13a44c4e4fc3903f14018e616c64)`);let s=await this.witnessImpl(e);return this.data?.persistOptsAndResultIbGibs&&await this.persistOptsAndResultIbGibs({arg:e,result:s}),s}catch(i){if(console.error(`${t} ${i.message||"unknown error (E: 3e22bea4c7fb4668bf13d7146b927869)"}`),this.catchAllErrors)return;throw i}}async validateWitnessArg(e){let t=`${this.lc}[${this.validateWitnessArg.name}]`;try{let i=[];e||i.push("arg required (E: a222db3b668e4bb09cfd82e75c07bfa6)");let o=bs({ib:e?.ib});(o?.length??!1)&&i.push(`invalid arg.ib (E: 2ae362ef274d4c3bb9716800f2106d28) errors: ${o.join(`
660
+ `)}`);let s=ys({gib:e?.gib});(s?.length??!1)&&i.push(`invalid arg.gib (E: 73be275058084d768a39299337f2ce34) errors: ${s.join(`
661
661
  `)}`);let a=await dt({ibGib:e});return a?.length??!1?i.push(`arg ibgib invalid intrinsically (E: 73be275058084d768a39299337f2ce34) errors: ${a.join(`
662
- `)}`):this.data?.allowPrimitiveArgs||W({gib:e.gib}).isPrimitive&&i.push('arg is primitive (i.e. gib === "gib") and witness.data.allowPrimitiveArgs is falsy. (E: d0aa3d7ad4f54b01bd0023300d15ecd9)'),i}catch(i){throw console.error(`${t} ${i.message}`),i}}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`,t=[];try{this.ib||t.push("this.ib is falsy."),this.gib||t.push("this.gib is falsy.")}catch(i){throw console.error(`${e} ${i.message}`),i}return t}persistOptsAndResultIbGibs({arg:e,result:t}){let i=`${this.lc}[${this.persistOptsAndResultIbGibs.name}]`;return console.warn(`${i} not implemented in this base class. Override this in descendent class. (W: 087514e851704322a4ec8069a73ce944)`),Promise.resolve()}};var er="___whitespace___";var Se=!1;function tr({commentText:n,addlMetadataText:e}){let t=`[${tr.name}]`;try{if(!n)throw new Error("commentText required. (E: 22fdfd0aa0524a18b63a9405b312c99e)");let i=xt({text:n,length:20,replaceMap:{"?":"__qm__"}});if(e){e.length>128&&console.warn(`${t} addlMetadataText (${e.length}) is too long. Max length: ${128}`);let o=xt({text:e,length:128});if(!o)throw new Error("(UNEXPECTED) addlMetadataText contains no safe characters? (E: dd03c578ada2836b05c94a4aa1785222)");return`comment ${i} ${o}`}else return`comment ${i}`}catch(i){throw console.error(`${t} ${i.message}`),i}}p(tr,"getCommentIb");function Ze({ib:n}){let e=`${Ze.name}]`;try{if(Se&&console.log(`${e} starting... (I: 1a16f5e3134599eeb585eae77ee6af22)`),!n)throw new Error("ib required (E: d89f8c4df46b970585c82bc89c1c6322)");let[t,i,o]=n.split(" ");for(;i.includes("__qm__");)i=i.replace("__qm__","?");return{safeIbCommentText:i,safeIbCommentMetadataText:o}}catch(t){throw console.error(`${e} ${t.message}`),t}finally{Se&&console.log(`${e} complete.`)}}p(Ze,"parseCommentIb");async function je({text:n,addlMetadataText:e,saveInSpace:t,space:i,dontTrimText:o}){let s=`[${je.name}]`;Se&&console.log(`${s} starting...`);try{if(!n)throw new Error("text required (E: 3e3d0f555e1a83771a6548eb10943522)");if(o||(n=n.trim()),!n)throw new Error("text cannot be only whitespace when dontTrimText is falsy. (E: d6db3537b9834294836aeb70987c908e)");let a={text:n,textTimestamp:Kt()},c={parentIbGib:se.primitive({ib:"comment"}),ib:tr({commentText:n.trim()||er,addlMetadataText:e}),data:a,dna:!0,tjp:{uuid:!0,timestamp:!0},nCounter:!0};Se&&console.log(`${s} opts: ${L(c)}`);let d=await se.firstGen(c);if(t){if(!i)throw new Error("space required if saveInSpace is truthy (E: 40f69f22f21b4279a83cb746cb4b0da1)");await ws({resTransform:d,space:i})}return d}catch(a){throw console.error(`${s} ${a.message}`),a}}p(je,"createCommentIbGib");function et({ibGib:n}){let e=`[${et.name}]`;try{if(Se&&console.log(`${e} starting...`),!n)throw new Error("ibGib required (E: f204dac30ae548b0a049f1c4d8048502)");let{ib:t,data:i,rel8ns:o}=n;if(!o)return Se&&console.log(`${e} rel8ns falsy, NOT a comment (I: 6e145eb2d0ba46629746215a3b655fd5)`),!1;let s=o.ancestor||[];return s&&s.includes("comment^gib")?(Se&&console.log(`${e} descends from comment^gib, YES is a comment (I: 1a8557780e2e4c1580d5a2585567762b)`),!0):i?i.text&&t?.includes("comment")?(Se&&console.log(`${e} has text, and ib has 'comment', YES is a comment (I: 3aa03bcd639d4ec7abd7ead917eda3d8)`),!0):(Se&&console.log(`${e} reached end, doesn't have comment qualities. NOT a comment. (I: cfa529f27f9d490abd476c924ef77087)`),!1):(Se&&console.log(`${e} data falsy, NOT a comment (I: 30b20ff6785f432f98489f11efe24299)`),!1)}catch(t){throw console.error(`${e} ${t.message}`),t}finally{Se&&console.log(`${e} complete.`)}}p(et,"isComment");var V=!1,ln=class n extends an{static{p(this,"WitnessWithContextBase_V1")}lc=`[${n.name}]`;metaspace;_contextChangesSubscription;_currentWorkingContextIbGib;_currentWorkingContextIbGib_PriorChildrenAddrs=[];_updatingContext=!1;constructor(e,t){super(e,t),this.initialized=this.initialize()}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{V&&console.log(`${e} starting... (I: f0e65ab0f80046a59668ddfbf9f47a4a5)`),await super.initialize()}catch(t){console.error(`${e} ${y(t)}`)}finally{V&&console.log(`${e} complete.`)}}async loadNewerSelfIfAvailable(){let e=`${this.lc}[${this.loadNewerSelfIfAvailable.name}]`;try{if(V&&console.log(`${e} starting... (I: 94755c3131f4dfa12d20fa38e2926522)`),this.metaspace){let t=S({ibGib:this}),i=await this.metaspace.getLatestAddr({ibGib:this});if(i&&i!==t){let o=await this.metaspace.get({addr:i});if(!o||!o?.success||(o?.ibGibs??[]).length===0)throw new Error("could not get newer ibgib in timeline (E: 15fa346c8ac17edb96e4b0870104c122)");await this.loadIbGibDto(o.ibGibs[0]);let s=await this.validateThis();if(s?.length>0)throw new Error(`validationErrors when loading newer version: ${L(s)} (E: 0d9f0684a1ff6af44e20a57130e3ac22)`)}}else console.warn(`${e} this.metaspace undefined (W: 44cc5bf1b14b4695b8de4c589787be06)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{V&&console.log(`${e} complete.`)}}async rel8To({ibGibs:e,rel8nName:t,linked:i,metaspace:o}){let s=`${this.lc}[${this.rel8To.name}]`;try{if(V&&console.log(`${s} starting...`),(e??[]).length===0)throw new Error("ibGibs required (E: 2fd13de0f025b170885bede4d7a50922)");if(t=t||this.data?.defaultRel8nName,!t)throw new Error("rel8nName required either as an arg or in this.data.defaultRel8nName (E: 43ab8ae63694a2a82cd8a70ed6b6b522)");let a=await this.validateThis();if(a?.length>0)throw new Error(`this is an invalid ibGib. thisValidationErrors: ${a.join("|")} (E: 8f08716866cd13bf254222ee9e6a6722)`);if(o=o??this.metaspace,!o)throw new Error("either metaspace or this.metaspace required (E: b5f9453ddb394a2b76dec74c7304df22)");let d=(this.rel8ns?this.rel8ns[t]??[]:[]).map(b=>W({ibGibAddr:b}).tjpGib),u=e.filter(b=>{let E=W({ibGibAddr:S({ibGib:b})}).tjpGib;return!d.includes(E)});if(u.length===0){V&&console.log(`${s} already rel8d to all incoming ibGib(s) via tjp. (I: 5e9d94a98ba262f146c0c0b765157922)`);return}let f=u.map(b=>S({ibGib:b})),h=await Ye({src:this.toIbGibDto(),rel8nsToAddByAddr:{[t]:f},linkedRel8ns:i?["past","ancestor",t]:["past","ancestor"],dna:!0,nCounter:!0}),m=h.newIbGib,g=await dt({ibGib:m});if(g?.length??!1)throw new Error(`new this ibgib would have validation errors. aborting. newThisValidationErrors: ${g.join("|")} (E: eb816a27156c246c121ef55e37d59322)`);await o.persistTransformResult({resTransform:h}),await this.loadIbGibDto(m),await o.registerNewIbGib({ibGib:m})}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{V&&console.log(`${s} complete.`)}}async rel8ToContextIbGib({ibGibToRel8:e,ibGibAddrToRel8:t,contextIbGib:i,rel8nNames:o}){let s=`${this.lc}[${this.rel8ToContextIbGib.name}]`;try{if(!e&&!t)throw new Error("ibGibToRel8 or ibGibAddrToRel8 required (E: 3ee14659fd22355a5ba0e537a477be22)");if(!i)throw new Error("contextIbGib required (E: 85f27c7cbf713704c21084c141cd8822)");if(!this.metaspace)throw new Error("this.metaspace required (E: 6a38c4274bdefc8d44cafd2d6faaa222)");if((o??[]).length===0){if(!this.data?.defaultRel8nName)throw new Error("either rel8nNames or this.data.defaultRel8nName required (E: a14ab4b3e479d9274c61bc5a30bc2222)");o=[this.data.defaultRel8nName]}let a={};t=t||S({ibGib:e}),o.forEach(u=>{a[u]=[t]});let c=await Ye({src:i,rel8nsToAddByAddr:a,dna:!0,nCounter:!0});await this.metaspace.persistTransformResult({resTransform:c});let{newIbGib:d}=c;await this.metaspace.registerNewIbGib({ibGib:d})}catch(a){throw console.error(`${s} ${y(a)}`),a}}async createCommentAndRel8ToContextIbGib({text:e,contextIbGib:t,rel8nName:i}){let o=`${this.lc}[${this.createCommentAndRel8ToContextIbGib.name}]`;try{if(V&&console.log(`${o} starting... (I: c3a005f7d323468a5b4e1b2710901d22)`),!this.metaspace)throw new Error("this.metaspace required (E: 5dbb1a7f0ff5469b8ce3cb1be175e521)");let s=await this.metaspace.getLocalUserSpace({lock:!0}),a=await je({text:e,addlMetadataText:this.getAddlMetadata(),saveInSpace:!0,space:s});s=await this.metaspace.getLocalUserSpace({lock:!0});let c=a.newIbGib;if(!c)throw new Error("(UNEXPECTED) failed to create comment? (E: 6d668f4e55198e654324622eabaac922)");await this.metaspace.registerNewIbGib({ibGib:c}),await this.rel8ToContextIbGib({ibGibToRel8:c,contextIbGib:t,rel8nNames:["comment"]}),await this.rel8To({ibGibs:[c],rel8nName:i})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}getThisAtom(){return xt({text:this.data?.classname??"this",length:16})}getAddlMetadata(){let e=`${this.lc}[${this.getAddlMetadata.name}]`;try{if(V&&console.log(`${e} starting... (I: 7800732facf3783943fdf1b2423b0c22)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 7cb044b39b2b8e31f363f3b82f256323)");let t=this.getThisAtom();if(!t)throw new Error("(UNEXPECTED) atom couldn't be gotten? (E: b260de391356e04abd334e0cd8b09123)");if(t.includes(" "))throw new Error("(UNEXPECTED) atom contains space? (E: 574d088eea13d3afe5fcd2999ab6b423)");let i=this.data.classname?.replace(/[_]/mg,"")||void 0,o=this.data.name?.slice(0,8).replace(/[__]/mg,"")||void 0,s=this.data.uuid?.slice(0,8)||void 0,a=`${t}_${i}_${o}_${s}`;return V&&console.log(`${e} addlMetadataText: ${a} (I: 53c0044671dc99fb75635367d2e63c22)`),a}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{V&&console.log(`${e} complete.`)}}async getContextIbGibFromArgOrAddr({arg:e,addr:t,latest:i}){let o=`${this.lc}[${this.getContextIbGibFromArgOrAddr.name}]`;try{V&&console.log(`${o} starting... (I: c13f7cb92133984048f606075efb8a22)`);let s;if(!e&&!t)throw new Error("either arg or addr required. (E: 3f647b65742242fd9ba878521acf7c22)");if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace required (E: f0046290b0d66d28c4bbbf83d9d9f523)");if(e){if((e.ibGibs??[]).length===0)throw new Error("(UNEXPECTED) invalid arg? no context ibgib on arg (E: 89997eb4bdeb3885bee9de5d33ee0f22)");if((e.ibGibs??[]).length!==1)throw new Error("(UNEXPECTED) invalid arg? only expected one ibgib on arg.ibGibs (E: 1a1498af668740fe9439f4953a74ea8a)");s=e.ibGibs[0]}else{let a=await this.metaspace.get({addr:t});if(!a.success||a.ibGibs?.length!==1)throw new Error(`could not get context addr (${t}) (E: 834492313512a45b23a7bebacdc48122)`);s=a.ibGibs[0]}if(i){let a=await this.metaspace.getLatestAddr({ibGib:s});if(a!==S({ibGib:s})){let c=await this.metaspace.get({addr:a});if(c.success&&c.ibGibs?.length===1)s=c.ibGibs[0];else throw new Error(`unable to get resLatestAddr (${a}) (E: ce1e1297743e9a16c8f082321e52a122)`)}}return s}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}async initializeContext({arg:e,contextIbGib:t,rel8nName:i}){let o=`${this.lc}[${this.initializeContext.name}]`;try{if(V&&console.log(`${o} starting... (I: d93429c85b0a494388f66fba3eece922)`),!this.metaspace)throw new Error("this.metaspace (metaspace) required. set this before using this witness. (E: 67db388a0223bf813b40accd9941ad23)");e&&t&&console.warn(`${o} both arg and contextIbGib provided. using raw contextIbGib (W: d6d723ad7fb942079833c40647aecd22)`);let s=t??await this.getContextIbGibFromArgOrAddr({arg:e,latest:!1});if(this._currentWorkingContextIbGib){let d=Y({ibGib:this._currentWorkingContextIbGib}),u=Y({ibGib:s});if(d===u){V&&console.warn(`${o} initializing context but it's the same timeline (${d}). (W: 7609f8f51172443183e0c93ad52bfe56)`);return}else await this.finalizeContext({arg:e})}let a=p(()=>{this._currentWorkingContextIbGib_PriorChildrenAddrs=[...this._currentWorkingContextIbGib?.rel8ns?.comment??[],...this._currentWorkingContextIbGib?.rel8ns?.pic??[],...this._currentWorkingContextIbGib?.rel8ns?.link??[]]},"updatePriorChildren");this._currentWorkingContextIbGib=t?await this.getContextIbGibFromArgOrAddr({addr:S({ibGib:t}),latest:!0}):await this.getContextIbGibFromArgOrAddr({arg:e,latest:!0}),a();let c=Y({ibGib:this._currentWorkingContextIbGib});if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace falsy...not initialized? (E: 6e38bfdc5c2eb5fef884f0183889e823)");if(!this.metaspace.latestObs)throw new Error("(UNEXPECTED) this.metaspace.latestObs falsy? (E: 831936570c14ed526f9c9ab511929923)");this._contextChangesSubscription=await this.metaspace.latestObs.subscribe(ke({next:p(async d=>{let u=`${o}[latestObs.next]`;if(d.tjpAddr!==c)return;let f=S({ibGib:this._currentWorkingContextIbGib});if(d.latestAddr!==f){if(V&&console.warn(`${u} checking if new context is actually new...damn getLatestAddr maybe not working in ionic space... argh (W: 3d1a12154dfafb9c96d07e6f75f7a322)`),d.latestIbGib){let h=d.latestIbGib.data?.n??-1,m=this._currentWorkingContextIbGib?.data?.n??-2;if(h<=m){console.warn(`${u} latestN is not really the latest. latestN_Supposedly: ${h}, currentN: ${m}. (tjpGib: ${d.tjpAddr}) (W: 6792c9a596c44c03b262614ae79a715e)`);return}}V&&console.log(`${u} update to context.
662
+ `)}`):this.data?.allowPrimitiveArgs||K({gib:e.gib}).isPrimitive&&i.push('arg is primitive (i.e. gib === "gib") and witness.data.allowPrimitiveArgs is falsy. (E: d0aa3d7ad4f54b01bd0023300d15ecd9)'),i}catch(i){throw console.error(`${t} ${i.message}`),i}}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`,t=[];try{this.ib||t.push("this.ib is falsy."),this.gib||t.push("this.gib is falsy.")}catch(i){throw console.error(`${e} ${i.message}`),i}return t}persistOptsAndResultIbGibs({arg:e,result:t}){let i=`${this.lc}[${this.persistOptsAndResultIbGibs.name}]`;return console.warn(`${i} not implemented in this base class. Override this in descendent class. (W: 087514e851704322a4ec8069a73ce944)`),Promise.resolve()}};var sr="___whitespace___";var Se=!1;function rr({commentText:n,addlMetadataText:e}){let t=`[${rr.name}]`;try{if(!n)throw new Error("commentText required. (E: 22fdfd0aa0524a18b63a9405b312c99e)");let i=Pt({text:n,length:20,replaceMap:{"?":"__qm__"}});if(e){e.length>128&&console.warn(`${t} addlMetadataText (${e.length}) is too long. Max length: ${128}`);let o=Pt({text:e,length:128});if(!o)throw new Error("(UNEXPECTED) addlMetadataText contains no safe characters? (E: dd03c578ada2836b05c94a4aa1785222)");return`comment ${i} ${o}`}else return`comment ${i}`}catch(i){throw console.error(`${t} ${i.message}`),i}}p(rr,"getCommentIb");function je({ib:n}){let e=`${je.name}]`;try{if(Se&&console.log(`${e} starting... (I: 1a16f5e3134599eeb585eae77ee6af22)`),!n)throw new Error("ib required (E: d89f8c4df46b970585c82bc89c1c6322)");let[t,i,o]=n.split(" ");for(;i.includes("__qm__");)i=i.replace("__qm__","?");return{safeIbCommentText:i,safeIbCommentMetadataText:o}}catch(t){throw console.error(`${e} ${t.message}`),t}finally{Se&&console.log(`${e} complete.`)}}p(je,"parseCommentIb");async function et({text:n,addlMetadataText:e,saveInSpace:t,space:i,dontTrimText:o}){let s=`[${et.name}]`;Se&&console.log(`${s} starting...`);try{if(!n)throw new Error("text required (E: 3e3d0f555e1a83771a6548eb10943522)");if(o||(n=n.trim()),!n)throw new Error("text cannot be only whitespace when dontTrimText is falsy. (E: d6db3537b9834294836aeb70987c908e)");let a={text:n,textTimestamp:Zt()},c={parentIbGib:se.primitive({ib:"comment"}),ib:rr({commentText:n.trim()||sr,addlMetadataText:e}),data:a,dna:!0,tjp:{uuid:!0,timestamp:!0},nCounter:!0};Se&&console.log(`${s} opts: ${L(c)}`);let d=await se.firstGen(c);if(t){if(!i)throw new Error("space required if saveInSpace is truthy (E: 40f69f22f21b4279a83cb746cb4b0da1)");await vs({resTransform:d,space:i})}return d}catch(a){throw console.error(`${s} ${a.message}`),a}}p(et,"createCommentIbGib");function tt({ibGib:n}){let e=`[${tt.name}]`;try{if(Se&&console.log(`${e} starting...`),!n)throw new Error("ibGib required (E: f204dac30ae548b0a049f1c4d8048502)");let{ib:t,data:i,rel8ns:o}=n;if(!o)return Se&&console.log(`${e} rel8ns falsy, NOT a comment (I: 6e145eb2d0ba46629746215a3b655fd5)`),!1;let s=o.ancestor||[];return s&&s.includes("comment^gib")?(Se&&console.log(`${e} descends from comment^gib, YES is a comment (I: 1a8557780e2e4c1580d5a2585567762b)`),!0):i?i.text&&t?.includes("comment")?(Se&&console.log(`${e} has text, and ib has 'comment', YES is a comment (I: 3aa03bcd639d4ec7abd7ead917eda3d8)`),!0):(Se&&console.log(`${e} reached end, doesn't have comment qualities. NOT a comment. (I: cfa529f27f9d490abd476c924ef77087)`),!1):(Se&&console.log(`${e} data falsy, NOT a comment (I: 30b20ff6785f432f98489f11efe24299)`),!1)}catch(t){throw console.error(`${e} ${t.message}`),t}finally{Se&&console.log(`${e} complete.`)}}p(tt,"isComment");var V=!1,hn=class n extends pn{static{p(this,"WitnessWithContextBase_V1")}lc=`[${n.name}]`;metaspace;_contextChangesSubscription;_currentWorkingContextIbGib;_currentWorkingContextIbGib_PriorChildrenAddrs=[];_updatingContext=!1;constructor(e,t){super(e,t),this.initialized=this.initialize()}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{V&&console.log(`${e} starting... (I: f0e65ab0f80046a59668ddfbf9f47a4a5)`),await super.initialize()}catch(t){console.error(`${e} ${y(t)}`)}finally{V&&console.log(`${e} complete.`)}}async loadNewerSelfIfAvailable(){let e=`${this.lc}[${this.loadNewerSelfIfAvailable.name}]`;try{if(V&&console.log(`${e} starting... (I: 94755c3131f4dfa12d20fa38e2926522)`),this.metaspace){let t=S({ibGib:this}),i=await this.metaspace.getLatestAddr({ibGib:this});if(i&&i!==t){let o=await this.metaspace.get({addr:i});if(!o||!o?.success||(o?.ibGibs??[]).length===0)throw new Error("could not get newer ibgib in timeline (E: 15fa346c8ac17edb96e4b0870104c122)");await this.loadIbGibDto(o.ibGibs[0]);let s=await this.validateThis();if(s?.length>0)throw new Error(`validationErrors when loading newer version: ${L(s)} (E: 0d9f0684a1ff6af44e20a57130e3ac22)`)}}else console.warn(`${e} this.metaspace undefined (W: 44cc5bf1b14b4695b8de4c589787be06)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{V&&console.log(`${e} complete.`)}}async rel8To({ibGibs:e,rel8nName:t,linked:i,metaspace:o}){let s=`${this.lc}[${this.rel8To.name}]`;try{if(V&&console.log(`${s} starting...`),(e??[]).length===0)throw new Error("ibGibs required (E: 2fd13de0f025b170885bede4d7a50922)");if(t=t||this.data?.defaultRel8nName,!t)throw new Error("rel8nName required either as an arg or in this.data.defaultRel8nName (E: 43ab8ae63694a2a82cd8a70ed6b6b522)");let a=await this.validateThis();if(a?.length>0)throw new Error(`this is an invalid ibGib. thisValidationErrors: ${a.join("|")} (E: 8f08716866cd13bf254222ee9e6a6722)`);if(o=o??this.metaspace,!o)throw new Error("either metaspace or this.metaspace required (E: b5f9453ddb394a2b76dec74c7304df22)");let d=(this.rel8ns?this.rel8ns[t]??[]:[]).map(b=>K({ibGibAddr:b}).tjpGib),u=e.filter(b=>{let E=K({ibGibAddr:S({ibGib:b})}).tjpGib;return!d.includes(E)});if(u.length===0){V&&console.log(`${s} already rel8d to all incoming ibGib(s) via tjp. (I: 5e9d94a98ba262f146c0c0b765157922)`);return}let f=u.map(b=>S({ibGib:b})),h=await Ye({src:this.toIbGibDto(),rel8nsToAddByAddr:{[t]:f},linkedRel8ns:i?["past","ancestor",t]:["past","ancestor"],dna:!0,nCounter:!0}),m=h.newIbGib,g=await dt({ibGib:m});if(g?.length??!1)throw new Error(`new this ibgib would have validation errors. aborting. newThisValidationErrors: ${g.join("|")} (E: eb816a27156c246c121ef55e37d59322)`);await o.persistTransformResult({resTransform:h}),await this.loadIbGibDto(m),await o.registerNewIbGib({ibGib:m})}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{V&&console.log(`${s} complete.`)}}async rel8ToContextIbGib({ibGibToRel8:e,ibGibAddrToRel8:t,contextIbGib:i,rel8nNames:o}){let s=`${this.lc}[${this.rel8ToContextIbGib.name}]`;try{if(!e&&!t)throw new Error("ibGibToRel8 or ibGibAddrToRel8 required (E: 3ee14659fd22355a5ba0e537a477be22)");if(!i)throw new Error("contextIbGib required (E: 85f27c7cbf713704c21084c141cd8822)");if(!this.metaspace)throw new Error("this.metaspace required (E: 6a38c4274bdefc8d44cafd2d6faaa222)");if((o??[]).length===0){if(!this.data?.defaultRel8nName)throw new Error("either rel8nNames or this.data.defaultRel8nName required (E: a14ab4b3e479d9274c61bc5a30bc2222)");o=[this.data.defaultRel8nName]}let a={};t=t||S({ibGib:e}),o.forEach(u=>{a[u]=[t]});let c=await Ye({src:i,rel8nsToAddByAddr:a,dna:!0,nCounter:!0});await this.metaspace.persistTransformResult({resTransform:c});let{newIbGib:d}=c;await this.metaspace.registerNewIbGib({ibGib:d})}catch(a){throw console.error(`${s} ${y(a)}`),a}}async createCommentAndRel8ToContextIbGib({text:e,contextIbGib:t,rel8nName:i}){let o=`${this.lc}[${this.createCommentAndRel8ToContextIbGib.name}]`;try{if(V&&console.log(`${o} starting... (I: c3a005f7d323468a5b4e1b2710901d22)`),!this.metaspace)throw new Error("this.metaspace required (E: 5dbb1a7f0ff5469b8ce3cb1be175e521)");let s=await this.metaspace.getLocalUserSpace({lock:!0}),a=await et({text:e,addlMetadataText:this.getAddlMetadata(),saveInSpace:!0,space:s});s=await this.metaspace.getLocalUserSpace({lock:!0});let c=a.newIbGib;if(!c)throw new Error("(UNEXPECTED) failed to create comment? (E: 6d668f4e55198e654324622eabaac922)");await this.metaspace.registerNewIbGib({ibGib:c}),await this.rel8ToContextIbGib({ibGibToRel8:c,contextIbGib:t,rel8nNames:["comment"]}),await this.rel8To({ibGibs:[c],rel8nName:i})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}getThisAtom(){return Pt({text:this.data?.classname??"this",length:16})}getAddlMetadata(){let e=`${this.lc}[${this.getAddlMetadata.name}]`;try{if(V&&console.log(`${e} starting... (I: 7800732facf3783943fdf1b2423b0c22)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 7cb044b39b2b8e31f363f3b82f256323)");let t=this.getThisAtom();if(!t)throw new Error("(UNEXPECTED) atom couldn't be gotten? (E: b260de391356e04abd334e0cd8b09123)");if(t.includes(" "))throw new Error("(UNEXPECTED) atom contains space? (E: 574d088eea13d3afe5fcd2999ab6b423)");let i=this.data.classname?.replace(/[_]/mg,"")||void 0,o=this.data.name?.slice(0,8).replace(/[__]/mg,"")||void 0,s=this.data.uuid?.slice(0,8)||void 0,a=`${t}_${i}_${o}_${s}`;return V&&console.log(`${e} addlMetadataText: ${a} (I: 53c0044671dc99fb75635367d2e63c22)`),a}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{V&&console.log(`${e} complete.`)}}async getContextIbGibFromArgOrAddr({arg:e,addr:t,latest:i}){let o=`${this.lc}[${this.getContextIbGibFromArgOrAddr.name}]`;try{V&&console.log(`${o} starting... (I: c13f7cb92133984048f606075efb8a22)`);let s;if(!e&&!t)throw new Error("either arg or addr required. (E: 3f647b65742242fd9ba878521acf7c22)");if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace required (E: f0046290b0d66d28c4bbbf83d9d9f523)");if(e){if((e.ibGibs??[]).length===0)throw new Error("(UNEXPECTED) invalid arg? no context ibgib on arg (E: 89997eb4bdeb3885bee9de5d33ee0f22)");if((e.ibGibs??[]).length!==1)throw new Error("(UNEXPECTED) invalid arg? only expected one ibgib on arg.ibGibs (E: 1a1498af668740fe9439f4953a74ea8a)");s=e.ibGibs[0]}else{let a=await this.metaspace.get({addr:t});if(!a.success||a.ibGibs?.length!==1)throw new Error(`could not get context addr (${t}) (E: 834492313512a45b23a7bebacdc48122)`);s=a.ibGibs[0]}if(i){let a=await this.metaspace.getLatestAddr({ibGib:s});if(a!==S({ibGib:s})){let c=await this.metaspace.get({addr:a});if(c.success&&c.ibGibs?.length===1)s=c.ibGibs[0];else throw new Error(`unable to get resLatestAddr (${a}) (E: ce1e1297743e9a16c8f082321e52a122)`)}}return s}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}async initializeContext({arg:e,contextIbGib:t,rel8nName:i}){let o=`${this.lc}[${this.initializeContext.name}]`;try{if(V&&console.log(`${o} starting... (I: d93429c85b0a494388f66fba3eece922)`),!this.metaspace)throw new Error("this.metaspace (metaspace) required. set this before using this witness. (E: 67db388a0223bf813b40accd9941ad23)");e&&t&&console.warn(`${o} both arg and contextIbGib provided. using raw contextIbGib (W: d6d723ad7fb942079833c40647aecd22)`);let s=t??await this.getContextIbGibFromArgOrAddr({arg:e,latest:!1});if(this._currentWorkingContextIbGib){let d=Y({ibGib:this._currentWorkingContextIbGib}),u=Y({ibGib:s});if(d===u){V&&console.warn(`${o} initializing context but it's the same timeline (${d}). (W: 7609f8f51172443183e0c93ad52bfe56)`);return}else await this.finalizeContext({arg:e})}let a=p(()=>{this._currentWorkingContextIbGib_PriorChildrenAddrs=[...this._currentWorkingContextIbGib?.rel8ns?.comment??[],...this._currentWorkingContextIbGib?.rel8ns?.pic??[],...this._currentWorkingContextIbGib?.rel8ns?.link??[]]},"updatePriorChildren");this._currentWorkingContextIbGib=t?await this.getContextIbGibFromArgOrAddr({addr:S({ibGib:t}),latest:!0}):await this.getContextIbGibFromArgOrAddr({arg:e,latest:!0}),a();let c=Y({ibGib:this._currentWorkingContextIbGib});if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace falsy...not initialized? (E: 6e38bfdc5c2eb5fef884f0183889e823)");if(!this.metaspace.latestObs)throw new Error("(UNEXPECTED) this.metaspace.latestObs falsy? (E: 831936570c14ed526f9c9ab511929923)");this._contextChangesSubscription=await this.metaspace.latestObs.subscribe(Me({next:p(async d=>{let u=`${o}[latestObs.next]`;if(d.tjpAddr!==c)return;let f=S({ibGib:this._currentWorkingContextIbGib});if(d.latestAddr!==f){if(V&&console.warn(`${u} checking if new context is actually new...damn getLatestAddr maybe not working in ionic space... argh (W: 3d1a12154dfafb9c96d07e6f75f7a322)`),d.latestIbGib){let h=d.latestIbGib.data?.n??-1,m=this._currentWorkingContextIbGib?.data?.n??-2;if(h<=m){console.warn(`${u} latestN is not really the latest. latestN_Supposedly: ${h}, currentN: ${m}. (tjpGib: ${d.tjpAddr}) (W: 6792c9a596c44c03b262614ae79a715e)`);return}}V&&console.log(`${u} update to context.
663
663
  currentAddr: ${f}
664
- latestAddr: ${d.latestAddr} (I: d0adcc392e6e974c9917730ebad51322)`),this._currentWorkingContextIbGib=d.latestIbGib??await this.getContextIbGibFromArgOrAddr({addr:d.latestAddr,latest:!1}),this._updatingContext?V&&console.log(`${u} already updating context (I: f856f9414627ab00418dccd285b55822)`):(await this.handleContextUpdate({update:d}),a())}},"next"),error:p(async d=>{let u=`${o}[latestObs.error]`;console.error(`${u} this.metaspace.latestObs error: ${Bs({err:d})}. (E: 99df4c42195d46d0a9dbfb06ac45ae00)`)},"error")})),i&&await this.rel8To({ibGibs:[this._currentWorkingContextIbGib],rel8nName:i})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}async finalizeContext({arg:e}){let t=`${this.lc}[${this.finalizeContext.name}]`;try{V&&console.log(`${t} starting... (I: dd53dfc745864dd19fde5f209ceb82c8)`);let i=0,o=100;for(;this._updatingContext&&i<o;)await O(100),i++,i%10===0&&console.log(`${t} already updating context and taking a litle while... waiting still. tries: ${i}/${o} (I: d45ab59af9ea43518432e34ddad95c19)`);throw this._updatingContext&&console.error(`${t} previous call to updatingContext took too long. Ignoring flag and finalizing context. (E: 9a2dc4e1923442fa90fbeae72f358acd)`),this._updatingContext=!0,this._contextChangesSubscription&&(await this._contextChangesSubscription.unsubscribe(),delete this._contextChangesSubscription),delete this._currentWorkingContextIbGib,new Error("not refactored yet. the proceeding code needs to be introduced in the robbot descending class. (E: 066aa414693672d868dbf953617aab23)")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{this._updatingContext=!1,V&&console.log(`${t} complete.`)}}async handleContextUpdate({update:e}){let t=`${this.lc}[${this.handleContextUpdate.name}]`;for(;this._updatingContext;)console.warn(`${t} already updating context? delaying... (W: 19d2ebeaaf2340fb91a7d6c717e9cb41)`),await O(1e3);this._updatingContext=!0;try{if(V&&console.log(`${t} starting... (I: 3eeaa40cad49094f125f9f5cd6ff6e22)`),V&&(console.log(`${t} update: (I: ad0abae7de472e3b4d3891ea0b937322)`),console.table(e)),!e.latestIbGib){debugger;throw new Error("(UNEXPECTED) update.latestIbGib falsy? (E: e18a048d7e95757238396ddd84748f22)")}let i=e.latestIbGib,o=await this.getNewChildrenIbGibs({newContext:i});if(o.length===1){let s=o[0];await this.handleNewContextChild({newChild:s})}else if(o.length>1){console.warn(`${t} (UNEXPECTED) multiple new children in context update. iterating through each one. (W: 02d82a8f755f418d95fa30f0f52ad58e)`);for(let s of o)await this.handleNewContextChild({newChild:s})}else{V&&console.log(`${t} no new children in context update. returning early... (I: 31397b04965351ab29bb3f78cb709122)`);return}}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{this._updatingContext=!1,V&&console.log(`${t} complete.`)}}async getNewChildrenIbGibs({newContext:e}){let t=`${this.lc}[${this.getNewChildrenIbGibs.name}]`;try{V&&console.log(`${t} starting... (I: 1b3d1cf908489087fa3b281f55b9a522)`);let o=[...e.rel8ns?.comment??[],...e.rel8ns?.pic??[],...e.rel8ns?.link??[]].filter(u=>!this._currentWorkingContextIbGib_PriorChildrenAddrs.includes(u));if(o.length===0)return V&&console.log(`${t} no new children addrs in newContext. returning early... (I: 8f9c3658c194c472cb1e2bc19d847b22)`),[];if(!this.metaspace)throw new Error("this.metaspace falsy. not initialized? (E: 1cc26ca7de7fadcdbaecbd6613350e23)");let s=await this.metaspace.getLocalUserSpace({});if(!s)throw new Error("couldn't get local user space? (E: f118f75e5852fc22bba3a6495beec723)");let a=await Ts({addrs:o,space:s}),c=Object.values(a?.data?.latestAddrsMap??{});if(!a?.data?.success||c.length!==o.length)throw new Error("could not get latest addrs. (E: 2e1619e7e2e166696fe8ff78cb02cc22)");if(c.some(u=>u===null))throw new Error("some addrs were not found in the space. (E: 2216d8e5ad7fb600ceb025ed7c90f323)");let d=await this.metaspace.get({addrs:c});if(!d.success||d.ibGibs?.length!==o.length)throw new Error(`failed to get newChildren with addrs: ${o.join("|")}. Error: ${d.errorMsg??"unknown error 5737bd0996d5445b8bd80975bedc0d57"} (E: 05722e11350ec6ffffdb5c7d0caa2922)`);return d.ibGibs}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{V&&console.log(`${t} complete.`)}}async handleNewContextChild({newChild:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{throw new Error("not implemented in base class (E: ea6b2b13d9504d93b33b70191d106084)")}catch(i){throw console.error(`${t} ${y(i)}`),i}}};var ae=J,Be=class extends ln{static{p(this,"LiveProxyIbGib")}lc="";ib=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.ib:Jt;gib=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.gib:Wt;data=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.data:void 0;rel8ns=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.rel8ns:void 0;async loadNewerSelfIfAvailable(){let e=`${this.lc}[${this.loadNewerSelfIfAvailable.name}]`;try{ae&&console.log(`${e} starting... (I: genuuid)`),console.warn(`${e} does nothing in this class. I just have this warning here because I want to see if this gets executed. (W: genuuid)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ae&&console.log(`${e} complete.`)}}async loadIbGibDto(e){let t=`${this.lc}[${this.loadIbGibDto.name}]`;try{ae&&console.log(`${t} starting... (I: genuuid)`);debugger;console.warn(`${t} does nothing in this class. I just have this warning here because I want to see if this gets executed. (W: genuuid)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ae&&console.log(`${t} complete.`)}}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;return ae&&console.log(`${e} elided in this proxy class because this isn't a true witness atow (04/2025) (I: fd223814f169798d9f499d6e9cdc0325)`),[]}get ibGib(){return this._currentWorkingContextIbGib}spaceId;constructor(e,t){super(e,t)}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{ae&&console.log(`${e} starting... (I: 1bd72217a5f334effc63f8d51e7b2225)`),await super.initialize(),this._contextUpdated$=await Ei(),this.contextUpdated$=this._contextUpdated$.asObservable(),this._newContextChild$=await Ei(),this.newContextChild$=this._newContextChild$.asObservable()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ae&&console.log(`${e} complete.`)}}parseAddlMetadataString({ib:e}){let t=`${this.lc}[${this.parseAddlMetadataString.name}]`;return console.warn(`${t} not really implemented in this class atow (04/2025). (W: genuuid)`),{}}_initialContext;async witnessImpl(e){let t=`${this.lc}[${this.witnessImpl.name}]`;try{if(ae&&console.log(`${t} starting...`),vs({ib:e.ib})){if(!e.data)throw new Error("arg has space ib but arg.data is falsy (E: b2af9226c067d5e72f117fa36e239525)");let i=e.data.uuid;return this.spaceId=i,ae&&console.log(`${t} spaceId set to the ${i} (I: 018724a5431ba421b71fad36924c5a25)`),se.primitive({ib:`spaceId set to ${i}`})}else if(this._initialContext){debugger;console.error(`${t} (UNEXPECTED) context already initialized. returning early without doing anything. NOTE: This error was not thrown, only logged. (E: genuuid)`)}else{let i=await this.metaspace?.getLocalUserSpace({localSpaceId:this.spaceId});return await this.setWrappedIbGib({ibGib:e,space:i}),Pt}}catch(i){throw console.error(`${t} ${i.message}`),i}finally{ae&&console.log(`${t} complete.`)}}_contextUpdated$;contextUpdated$;_newContextChild$;newContextChild$;async handleContextUpdate({update:e}){let t=`${this.lc}[${this.handleContextUpdate.name}]`;try{if(ae&&console.log(`${t} starting... (I: c262bcda065c086ffe9e3ac5899abe25)`),await super.handleContextUpdate({update:e}),!this._contextUpdated$)throw new Error("(UNEXPECTED) this._contextUpdated$ falsy? (E: a184df090502bed9649f8df88bd4c125)");await this._contextUpdated$.next(this._currentWorkingContextIbGib)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ae&&console.log(`${t} complete.`)}}async setWrappedIbGib({ibGib:e,ibGibAddr:t,space:i}){let o=`${this.lc}[${this.setWrappedIbGib.name}]`;try{if(ae&&console.log(`${o} starting... (I: a4b0acda259c121801aa701534320125)`),this.metaspace||(this.metaspace=await $()),!e){if(!t)throw new Error("(UNEXPECTED) both ibGib AND ibGibAddr falsy? (E: 6fac98ba2d4cfdec2b7ee974dec74625)");if(i??=await this.metaspace.getLocalUserSpace({lock:!1}),!i)throw new Error("(UNEXPECTED) space falsy? no space provided and couldn't get default local user space? (E: e14d1b7a6586f99453fc571396d4df25)");let s=await this.metaspace.get({addrs:[t],space:i});if(!s.success||s.ibGibs?.length!==1)throw new Error(`${o} failed to get ibGib(?) (${t}). space.ib: ${i.ib} (E: b38f0a25d92e44c0aa5cc3b038a43c6c)`);e=s.ibGibs.at(0)}await this.initializeContext({contextIbGib:e,rel8nName:""})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{ae&&console.log(`${o} complete.`)}}async handleNewContextChild({newChild:e}){let t=`[${this.handleNewContextChild.name}]`;try{if(ae&&console.log(`${t} starting... (I: 7e9b6b7a4bb2726e9c717f230dfe1925)`),!this._newContextChild$)throw new Error("(UNEXPECTED) this._contextUpdated$ falsy? (E: a184df090502bed9649f8df88bd4c125)");await this._newContextChild$.next(e)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ae&&console.log(`${t} complete.`)}}};var pt="witness_agent",ht=/^[a-zA-Z0-9_\-.]{1,32}$/,_i=/.{1,255}/,nr="",ir="Manco",or="This is a generic, unspecified agent.";var cn="List of function info ibgib addresses. These contain info on both the requests you made and the resultant values.",tt="agent",Rb={type:"string",description:"unique identifier for the agent. Should be provided to the agent in system instructions upon creation."},Gb={type:"string",description:"type of the agent that governs basic responsibilities. Should be provided to the agent in system instructions upon creation."};var nc="hardcoded",ic="human",oc="ai",sc="function",rc="unknown",Z={HARDCODED:nc,HUMAN:ic,AI:oc,FUNCTION:sc,UNKNOWN:rc},Si=Object.freeze(Object.values(Z));function sr(n){return!!n&&Si.includes(n)}p(sr,"isTextSource");var Mb={type:"string",description:`The agent should pick a name with which to represent him/her/itself to the user. This should not be "Gemini" or something bland like that, rather, it should be a name that the agent likes. Should contain no spaces, only alphanumerics. Note that the example given has a name, but really it should be up to the agent's own preference. Please be consistent with this with yourself, i.e., don't change it once established. Must pass regex: ${ht.source}`},rr="primaryagent";var ar=!1;async function Ai({ibGib:n,addr:e,tagIbGib:t,metaspace:i,space:o}){let s=`[${Ai.name}]`;try{if(ar&&console.log(`${s} starting... (I: b1fd25ec28bce8f1916b4ab55f48a724)`),!e&&!n)throw new Error("either addr or ibGib required (E: 3d580f8ecc251a0c81c7ea8bc3d38524)");if(e??=S({ibGib:n}),e!==S({ibGib:n}))throw new Error(`addr (${e}) differs from incoming ibGib's addr (${S({ibGib:n})}). (E: f2c14234a78c917fb9f587beaee89324)`);let a=await i.getLatestAddr({ibGib:t,space:o});if(a!==S({ibGib:t})){let f=await i.get({addr:a,space:o});if(!f.success||f.ibGibs?.length!==1)throw new Error(`could not get latest tag (${a}) from space (${o.ib}). error: ${f.errorMsg??"[unknown error (E: a4e31c98398b417db8f617f98a5f2741)]"} (E: 73c085d81efdab0e7b8939222ec07524)`);t=f.ibGibs.at(0)}let c={[Es]:[e]},d=await Ye({src:t,rel8nsToAddByAddr:c,dna:!0,nCounter:!0}),u=d.newIbGib;return await i.persistTransformResult({resTransform:d,space:o}),await i.registerNewIbGib({ibGib:u,space:o}),u}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{ar&&console.log(`${s} complete.`)}}p(Ai,"rel8ToTag");var ne=J,Pi=class n{static{p(this,"AgentsService_V1")}lc=`[${n.name}]`;latestAgents=new Map;factoryFns={};constructor(){}async getAgentById(e){let t=`${this.lc}[${this.getAgentById.name}]`;try{let{agentId:i,agentType:o,spaceId:s}=e;ne&&console.log(`${t} starting... (I: 0c4214b4614a43bd2825978e54aee325)`);let a=this.latestAgents.get(i);if(!a){let c=await $();a=(await dn({metaspace:c,type:o,spaceId:s})).find(u=>u.data.uuid===i)}return a||console.warn(`${t} couldn't find any agent by id. opts: ${L(e)} (W: 70cf51ecbe68dfdcfe1e9995a7468f25)`),a}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}async updateOrSetLatestAgent({agent:e,throwIfNewerFound:t}){let i=`${this.lc}[${this.updateOrSetLatestAgent.name}]`;try{if(ne&&console.log(`${i} starting... (I: 9bb74f19b989fc0ee969cb4c2c2aa525)`),!e.data)throw new Error(`invalid agent. data falsy. agent.ib: ${e.ib} (E: 7356db7395cb0c5664d13437dd62c425)`);if(!e.data.uuid)throw new Error(`invalid agent. data.uuid falsy. agent.ib: ${e.ib} (E: 48afcd6658154bee1138fca31cbfbf25)`);let o=await this.getLatestAgent({id:e.data.uuid});if(o){if(!o.data)throw new Error("(UNEXPECTED) existing.data falsy? should have thrown on previous set function call? (E: f3cbae9922ea9849ada25db2eea40825)");if(o.data.n===e.data.n){if(o.gib===e.gib)return;console.warn(`existing.data.n === agent.data.n but gibs are different. We have a branched timeline. just logging this error, need to figure out wth is going on here. we should not have this with the timeline being locked. The only thing I can think of is if the ibgib is updated very quickly, but even then, the n should be incremented. still the approach is valid. anyway, we're going ahead and taking the newer agent.
665
- existing: ${L(K({ibGib:o}))}
666
- new: ${L(K({ibGib:e}))} (E: 5e079b566ff3533acdb2d01359f08625)`),await o.loadIbGibDto(e.toIbGibDto()),this.latestAgents.set(e.data.uuid,e);return}else if(o.data.n>e.data.n){let s="existing.data.n > agent.data.n, i.e., the one we already have is newer. So why was the caller trying to set to the older agent thinking it was the most recent? Probably have a branched timeline.";if(t)throw new Error(`${i} ${s} (E: bb2cc3ce8cfa88b80fb62149b0e70225)`);console.warn(`${i} ${s} (W: caaf66deb4e6fd8e2eb9261685dc0325)`);return}else{await o.loadIbGibDto(e.toIbGibDto()),this.latestAgents.set(e.data.uuid,e);return}}else{this.latestAgents.set(e.data.uuid,e);return}}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ne&&console.log(`${i} complete.`)}}getLatestAgent({id:e}){let t=`${this.lc}[${this.getLatestAgent.name}]`;try{return ne&&console.log(`${t} starting... (I: 8e85b55057760b712a913a92e88ead25)`),Promise.resolve(this.latestAgents.get(e))}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}registerFactory({classname:e,fnDtoToAgentWitness:t}){this.factoryFns[e]=t}async getAgentWitnessFromDto({dto:e,classname:t}){let i=`${this.lc}[${this.getAgentWitnessFromDto.name}]`;try{if(ne&&console.log(`${i} starting... (I: 718837d4ee3d590177f3425b99106225)`),!e.data)throw new Error("dto.data falsy (E: fad89dd4c787b687a657c13968946925)");let o;if(t??=e.data.classname,t){let s=this.factoryFns[t],a=await s(e);if(a.applies){if(!a.agent)throw new Error("(UNEXPECTED) factory function for agent dto applies: true, but the resulting agent is undefined? (E: b13cdf0f3d9c50f1fa419f2c409ebf25)");o=a.agent}else throw new Error(`classname (${t}) factory function found and attempted, but result says applied: false. (E: 751a2502c9a7e2d61c76c8ae2f7fb125)`)}else{let s=Object.keys(this.factoryFns);for(let a of s){let c=this.factoryFns[a],d=await c(e);if(d.applies){if(!d.agent)throw new Error("(UNEXPECTED) factory function for agent dto applies: true, but the resulting agent is undefined? (E: 60e97c083a668baf11efcd6adf6a3525)");o=d.agent;break}}}return o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ne&&console.log(`${i} complete.`)}}async getAgentByAddr({agentAddr:e,spaceId:t,metaspace:i}){let o=`${this.lc}[${this.getAgentByAddr.name}]`;try{if(ne&&console.log(`${o} starting... (I: 42dfecbe6d6b5a3a7d392af5a66cc625)`),!e)throw new Error(`${o} agentAddr is required. (E: 389351659a2e08fa179ceede16925a25)`);let{ib:s}=H({ibGibAddr:e}),{uuid:a,type:c}=lr({ib:s});if(!a){debugger;throw new Error(`(UNEXPECTED) agentAddr doesn't have uuid in the ib? agentAddr: ${e} (E: fedcacffed98fdc78b1e80e45c413925)`)}let d=await this.getAgentById({agentId:a,agentType:c});if(d)return ne&&console.log(`${o} agent found already in agents svc so didn't need to go get it from the space. (I: ec6abaf3badd8e301d79a7476845bc25)`),d;i??=await $();let u=await i.getLocalUserSpace({localSpaceId:t,lock:!1});if(!u)throw t?new Error(`couldn't get space with spaceId (${t}) (E: 26b3f1414a93cc339e704d0162cb8b25)`):new Error("(UNEXPECTED) couldn't get default local user space? (E: 2e19a1fae8b3f00595257f51426ac225)");let f=await i.get({addrs:[e],space:u});if(!f.success||!f.ibGibs||f.ibGibs.length===0){ne&&console.log(`${o} Agent ibGib not found in space (${t}) at address ${e}. (I: 29c5c7994fb3ed388b28a81a9ed68325)`);return}let h=f.ibGibs[0],m=await this.getAgentWitnessFromDto({dto:h});if(!m){debugger;throw new Error(`${o} Couldn't get actual agent witness from agent dto (${e}). Have we registered classname (${h.data?.classname}) and factory fn with agents service? (E: e6e9da6c91d14bd7acb5c571c8de1a25)`)}return await this.updateOrSetLatestAgent({agent:m,throwIfNewerFound:!0}),ne&&console.log(`${o} Cached agent witness with id ${a}. (I: b862f63147a3fac3c6e6210d5ab87c25)`),ne&&console.log(`${o} complete. Retrieved and cached agent witness for address ${e}.`),m}catch(s){throw console.error(`${o} ${y(s)}`),s}}async createNewAgent(e){let t=`[${this.createNewAgent.name}]`;try{ne&&console.log(`${t} starting... (I: a3e07b54bb7bf45f7739eff2d738c825)`);let{metaspace:i,superSpace:o,name:s,availableFunctions:a,initialSystemText:c,initialChatText:d,fnGetAPIKey:u,addToAgentsTag:f,type:h}=e;if(o??=await i.getLocalUserSpace({}),!o)throw new Error("(UNEXPECTED) superSpace falsy? (E: ceb60d96ff25b6d6aaa5aa69a7a51d25)");if(!o.data)throw new Error("(UNEXPECTED) superSpace.data falsy? (E: 56b4ec127f8559da96e6f70c7cb13825)");let m=$i(e),g=await m.createInitialData(o);if(!g.uuid)throw new Error("(UNEXPECTED) data.uuid falsy? (E: 4e4f6fcf89d1e3775971ad843a083725)");let b=await i.createLocalSpaceAndUpdateBootstrap({allowCancel:!1,zeroSpace:i.zeroSpace,spaceName:s+g.uuid.substring(0,5),createBootstrap:!1});if(!b)throw new Error("(UNEXPECTED) newSubSpace falsy after creating locally? (E: af8b5503c15d4292e2f591b316e7d825)");g.subSpaceId=b.data.uuid;let E=await m.createInitialRel8ns(),w=await se.firstGen({ib:Ri({data:g}),parentIbGib:se.primitive({ib:pt}),data:g,rel8ns:E,nCounter:!0,dna:!0,tjp:{timestamp:!0}});await i.persistTransformResult({resTransform:w});let v=w.newIbGib,I=await m.createWitness();if(I.fnGetAPIKey=u,await I.loadIbGibDto(v),f){let _=await Ni({metaspace:i,space:o}),P=await Ai({ibGib:v,metaspace:i,space:o,tagIbGib:_})}await fe({type:h,rel8nInfos:[{rel8nName:tt,ibGibs:[v]}],metaspace:i,space:o}),a.length>0&&await I.addAvailableFunctions(a);let T=[];return T.push({textSrc:"hardcoded",text:mt({tagText:xs,contentText:`Your id (agent id) is: ${g.uuid}. Your superSpaceId is: ${g.superSpaceId}. Your subSpaceId is: ${g.subSpaceId}. These may be useful/required in some functions, though you should refer to those functions' instructions/descriptions for applicability.`}),isSystem:!0}),c&&T.push({textSrc:"hardcoded",text:c,isSystem:!0}),d&&T.push({textSrc:"hardcoded",text:d}),await I.addTexts({infos:T}),this.latestAgents.set(I.data.uuid,I),I}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}getAgents(e){let t=`${this.lc}[${this.getAgents.name}]`;try{return ne&&console.log(`${t} starting... (I: 4663f125c3a21fa3ecccc2c5a38d1225)`),dn(e)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}},xi;function Ge(){return xi||(xi=new Pi),xi}p(Ge,"getAgentsSvc");var ac="gemini-3.1-pro-preview",lc="gemini-3-flash-preview",cc="gemini-3.1-flash-lite-preview",dc="gemini-3.1-flash-live-preview",uc="gemini-2.5-pro",fc="gemini-2.5-flash",pc="gemini-2.5-flash-lite",hc="gemini-2.5-flash-preview-tts",mc="gemini-2.0-flash",gc="gemini-2.0-flash-lite",Gi={GEMINI_3_1_PRO_PREVIEW:ac,GEMINI_3_FLASH_PREVIEW:lc,GEMINI_3_1_FLASH_LITE_PREVIEW:cc,GEMINI_3_1_FLASH_LIVE_PREVIEW:dc,GEMINI_2_5_PRO:uc,GEMINI_2_5_FLASH:fc,GEMINI_2_5_FLASH_LITE:pc,GEMINI_2_5_FLASH_PREVIEW_TTS:hc,GEMINI_2_0_FLASH:mc,GEMINI_2_0_FLASH_LITE:gc},ny=Object.freeze(Object.values(Gi));var cr=Gi.GEMINI_2_5_FLASH,gt=Gi.GEMINI_2_5_FLASH_LITE,Mi=5;var dr={version:"1",uuid:nr,name:ir,description:or,classname:"AgentWitness_V1",icon:"happy",persistOptsAndResultIbGibs:!1,allowPrimitiveArgs:!0,catchAllErrors:!0,trace:!1,subSpaceId:"",superSpaceId:"",availableFunctionNameOrIds:[],model:cr,api:"gemini",type:rr,"@currentContextTjpAddr":Q},ki=void 0;var bc,yc;function Ec(){return{geminiUrl:bc,vertexUrl:yc}}p(Ec,"getDefaultBaseUrls");function wc(n,e,t,i){var o,s;if(!n?.baseUrl){let a=Ec();return e?(o=a.vertexUrl)!==null&&o!==void 0?o:t:(s=a.geminiUrl)!==null&&s!==void 0?s:i}return n.baseUrl}p(wc,"getBaseUrl");var Pe=class{static{p(this,"BaseModule")}};function C(n,e){let t=/\{([^}]+)\}/g;return n.replace(t,(i,o)=>{if(Object.prototype.hasOwnProperty.call(e,o)){let s=e[o];return s!=null?String(s):""}else throw new Error(`Key '${o}' not found in valueMap.`)})}p(C,"formatMap");function l(n,e,t){for(let s=0;s<e.length-1;s++){let a=e[s];if(a.endsWith("[]")){let c=a.slice(0,-2);if(!(c in n))if(Array.isArray(t))n[c]=Array.from({length:t.length},()=>({}));else throw new Error(`Value must be a list given an array path ${a}`);if(Array.isArray(n[c])){let d=n[c];if(Array.isArray(t))for(let u=0;u<d.length;u++){let f=d[u];l(f,e.slice(s+1),t[u])}else for(let u of d)l(u,e.slice(s+1),t)}return}else if(a.endsWith("[0]")){let c=a.slice(0,-3);c in n||(n[c]=[{}]);let d=n[c];l(d[0],e.slice(s+1),t);return}(!n[a]||typeof n[a]!="object")&&(n[a]={}),n=n[a]}let i=e[e.length-1],o=n[i];if(o!==void 0){if(!t||typeof t=="object"&&Object.keys(t).length===0||t===o)return;if(typeof o=="object"&&typeof t=="object"&&o!==null&&t!==null)Object.assign(o,t);else throw new Error(`Cannot set value for an existing key. Key: ${i}`)}else i==="_self"&&typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.assign(n,t):n[i]=t}p(l,"setValueByPath");function r(n,e,t=void 0){try{if(e.length===1&&e[0]==="_self")return n;for(let i=0;i<e.length;i++){if(typeof n!="object"||n===null)return t;let o=e[i];if(o.endsWith("[]")){let s=o.slice(0,-2);if(s in n){let a=n[s];return Array.isArray(a)?a.map(c=>r(c,e.slice(i+1),t)):t}else return t}else n=n[o]}return n}catch(i){if(i instanceof TypeError)return t;throw i}}p(r,"getValueByPath");function vc(n,e){for(let[t,i]of Object.entries(e)){let o=t.split("."),s=i.split("."),a=new Set,c=-1;for(let d=0;d<o.length;d++)if(o[d]==="*"){c=d;break}if(c!==-1&&s.length>c)for(let d=c;d<s.length;d++){let u=s[d];u!=="*"&&!u.endsWith("[]")&&!u.endsWith("[0]")&&a.add(u)}Fi(n,o,s,0,a)}}p(vc,"moveValueByPath");function Fi(n,e,t,i,o){if(i>=e.length||typeof n!="object"||n===null)return;let s=e[i];if(s.endsWith("[]")){let a=s.slice(0,-2),c=n;if(a in c&&Array.isArray(c[a]))for(let d of c[a])Fi(d,e,t,i+1,o)}else if(s==="*"){if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let a=n,c=Object.keys(a).filter(u=>!u.startsWith("_")&&!o.has(u)),d={};for(let u of c)d[u]=a[u];for(let[u,f]of Object.entries(d)){let h=[];for(let m of t.slice(i))m==="*"?h.push(u):h.push(m);l(a,h,f)}for(let u of c)delete a[u]}}else{let a=n;s in a&&Fi(a[s],e,t,i+1,o)}}p(Fi,"_moveValueRecursive");function Uo(n){if(typeof n!="string")throw new Error("fromImageBytes must be a string");return n}p(Uo,"tBytes$1");function Ic(n){let e={},t=r(n,["operationName"]);t!=null&&l(e,["operationName"],t);let i=r(n,["resourceName"]);return i!=null&&l(e,["_url","resourceName"],i),e}p(Ic,"fetchPredictOperationParametersToVertex");function Tc(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response","generateVideoResponse"]);return a!=null&&l(e,["response"],_c(a)),e}p(Tc,"generateVideosOperationFromMldev$1");function Cc(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Sc(a)),e}p(Cc,"generateVideosOperationFromVertex$1");function _c(n){let e={},t=r(n,["generatedSamples"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Ac(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(_c,"generateVideosResponseFromMldev$1");function Sc(n){let e={},t=r(n,["videos"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>xc(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Sc,"generateVideosResponseFromVertex$1");function Ac(n){let e={},t=r(n,["video"]);return t!=null&&l(e,["video"],Mc(t)),e}p(Ac,"generatedVideoFromMldev$1");function xc(n){let e={},t=r(n,["_self"]);return t!=null&&l(e,["video"],kc(t)),e}p(xc,"generatedVideoFromVertex$1");function Pc(n){let e={},t=r(n,["operationName"]);return t!=null&&l(e,["_url","operationName"],t),e}p(Pc,"getOperationParametersToMldev");function Nc(n){let e={},t=r(n,["operationName"]);return t!=null&&l(e,["_url","operationName"],t),e}p(Nc,"getOperationParametersToVertex");function $c(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Rc(a)),e}p($c,"importFileOperationFromMldev$1");function Rc(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p(Rc,"importFileResponseFromMldev$1");function Ga(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Gc(a)),e}p(Ga,"uploadToFileSearchStoreOperationFromMldev");function Gc(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p(Gc,"uploadToFileSearchStoreResponseFromMldev");function Mc(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["encodedVideo"]);i!=null&&l(e,["videoBytes"],Uo(i));let o=r(n,["encoding"]);return o!=null&&l(e,["mimeType"],o),e}p(Mc,"videoFromMldev$1");function kc(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["uri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["videoBytes"],Uo(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(kc,"videoFromVertex$1");var ur;(function(n){n.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",n.OUTCOME_OK="OUTCOME_OK",n.OUTCOME_FAILED="OUTCOME_FAILED",n.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(ur||(ur={}));var fr;(function(n){n.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",n.PYTHON="PYTHON"})(fr||(fr={}));var pr;(function(n){n.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",n.SILENT="SILENT",n.WHEN_IDLE="WHEN_IDLE",n.INTERRUPT="INTERRUPT"})(pr||(pr={}));var Ve;(function(n){n.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",n.STRING="STRING",n.NUMBER="NUMBER",n.INTEGER="INTEGER",n.BOOLEAN="BOOLEAN",n.ARRAY="ARRAY",n.OBJECT="OBJECT",n.NULL="NULL"})(Ve||(Ve={}));var hr;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(hr||(hr={}));var mr;(function(n){n.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",n.SIMPLE_SEARCH="SIMPLE_SEARCH",n.ELASTIC_SEARCH="ELASTIC_SEARCH"})(mr||(mr={}));var gr;(function(n){n.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",n.NO_AUTH="NO_AUTH",n.API_KEY_AUTH="API_KEY_AUTH",n.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",n.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",n.OAUTH="OAUTH",n.OIDC_AUTH="OIDC_AUTH"})(gr||(gr={}));var br;(function(n){n.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",n.HTTP_IN_QUERY="HTTP_IN_QUERY",n.HTTP_IN_HEADER="HTTP_IN_HEADER",n.HTTP_IN_PATH="HTTP_IN_PATH",n.HTTP_IN_BODY="HTTP_IN_BODY",n.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(br||(br={}));var yr;(function(n){n.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",n.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",n.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",n.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(yr||(yr={}));var Er;(function(n){n.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",n.LOW="LOW",n.HIGH="HIGH"})(Er||(Er={}));var wr;(function(n){n.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",n.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",n.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",n.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",n.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",n.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",n.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",n.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",n.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",n.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",n.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(wr||(wr={}));var vr;(function(n){n.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",n.SEVERITY="SEVERITY",n.PROBABILITY="PROBABILITY"})(vr||(vr={}));var Ir;(function(n){n.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE",n.OFF="OFF"})(Ir||(Ir={}));var Tr;(function(n){n.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",n.STOP="STOP",n.MAX_TOKENS="MAX_TOKENS",n.SAFETY="SAFETY",n.RECITATION="RECITATION",n.LANGUAGE="LANGUAGE",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.SPII="SPII",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.IMAGE_SAFETY="IMAGE_SAFETY",n.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",n.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",n.NO_IMAGE="NO_IMAGE",n.IMAGE_RECITATION="IMAGE_RECITATION",n.IMAGE_OTHER="IMAGE_OTHER"})(Tr||(Tr={}));var Cr;(function(n){n.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",n.NEGLIGIBLE="NEGLIGIBLE",n.LOW="LOW",n.MEDIUM="MEDIUM",n.HIGH="HIGH"})(Cr||(Cr={}));var _r;(function(n){n.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",n.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",n.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",n.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",n.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(_r||(_r={}));var Sr;(function(n){n.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",n.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",n.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",n.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",n.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(Sr||(Sr={}));var Ar;(function(n){n.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",n.SAFETY="SAFETY",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.IMAGE_SAFETY="IMAGE_SAFETY",n.MODEL_ARMOR="MODEL_ARMOR",n.JAILBREAK="JAILBREAK"})(Ar||(Ar={}));var xr;(function(n){n.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",n.ON_DEMAND="ON_DEMAND",n.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(xr||(xr={}));var yn;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.AUDIO="AUDIO"})(yn||(yn={}));var Pr;(function(n){n.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",n.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",n.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",n.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Pr||(Pr={}));var Nr;(function(n){n.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",n.TUNING_MODE_FULL="TUNING_MODE_FULL",n.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(Nr||(Nr={}));var $r;(function(n){n.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",n.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",n.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",n.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",n.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",n.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",n.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})($r||($r={}));var Bi;(function(n){n.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",n.JOB_STATE_QUEUED="JOB_STATE_QUEUED",n.JOB_STATE_PENDING="JOB_STATE_PENDING",n.JOB_STATE_RUNNING="JOB_STATE_RUNNING",n.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",n.JOB_STATE_FAILED="JOB_STATE_FAILED",n.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",n.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",n.JOB_STATE_PAUSED="JOB_STATE_PAUSED",n.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",n.JOB_STATE_UPDATING="JOB_STATE_UPDATING",n.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(Bi||(Bi={}));var Rr;(function(n){n.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",n.TUNING_TASK_I2V="TUNING_TASK_I2V",n.TUNING_TASK_T2V="TUNING_TASK_T2V",n.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Rr||(Rr={}));var Gr;(function(n){n.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",n.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",n.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",n.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Gr||(Gr={}));var Mr;(function(n){n.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",n.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",n.BALANCED="BALANCED",n.PRIORITIZE_COST="PRIORITIZE_COST"})(Mr||(Mr={}));var kr;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.BLOCKING="BLOCKING",n.NON_BLOCKING="NON_BLOCKING"})(kr||(kr={}));var Dr;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Dr||(Dr={}));var Lr;(function(n){n.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",n.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Lr||(Lr={}));var En;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.AUTO="AUTO",n.ANY="ANY",n.NONE="NONE",n.VALIDATED="VALIDATED"})(En||(En={}));var Ur;(function(n){n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE"})(Ur||(Ur={}));var Fr;(function(n){n.DONT_ALLOW="DONT_ALLOW",n.ALLOW_ADULT="ALLOW_ADULT",n.ALLOW_ALL="ALLOW_ALL"})(Fr||(Fr={}));var Br;(function(n){n.auto="auto",n.en="en",n.ja="ja",n.ko="ko",n.hi="hi",n.zh="zh",n.pt="pt",n.es="es"})(Br||(Br={}));var Vr;(function(n){n.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",n.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",n.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",n.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",n.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(Vr||(Vr={}));var qr;(function(n){n.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",n.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",n.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",n.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(qr||(qr={}));var Hr;(function(n){n.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",n.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",n.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",n.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(Hr||(Hr={}));var Or;(function(n){n.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",n.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",n.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",n.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",n.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",n.EDIT_MODE_STYLE="EDIT_MODE_STYLE",n.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",n.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(Or||(Or={}));var zr;(function(n){n.FOREGROUND="FOREGROUND",n.BACKGROUND="BACKGROUND",n.PROMPT="PROMPT",n.SEMANTIC="SEMANTIC",n.INTERACTIVE="INTERACTIVE"})(zr||(zr={}));var Kr;(function(n){n.ASSET="ASSET",n.STYLE="STYLE"})(Kr||(Kr={}));var Jr;(function(n){n.INSERT="INSERT",n.REMOVE="REMOVE",n.REMOVE_STATIC="REMOVE_STATIC",n.OUTPAINT="OUTPAINT"})(Jr||(Jr={}));var Wr;(function(n){n.OPTIMIZED="OPTIMIZED",n.LOSSLESS="LOSSLESS"})(Wr||(Wr={}));var Yr;(function(n){n.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",n.PREFERENCE_TUNING="PREFERENCE_TUNING"})(Yr||(Yr={}));var Xr;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.STATE_PENDING="STATE_PENDING",n.STATE_ACTIVE="STATE_ACTIVE",n.STATE_FAILED="STATE_FAILED"})(Xr||(Xr={}));var Qr;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.PROCESSING="PROCESSING",n.ACTIVE="ACTIVE",n.FAILED="FAILED"})(Qr||(Qr={}));var Zr;(function(n){n.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",n.UPLOADED="UPLOADED",n.GENERATED="GENERATED"})(Zr||(Zr={}));var jr;(function(n){n.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.RESPONSE_REJECTED="RESPONSE_REJECTED",n.NEED_MORE_INPUT="NEED_MORE_INPUT"})(jr||(jr={}));var ea;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.VIDEO="VIDEO",n.AUDIO="AUDIO",n.DOCUMENT="DOCUMENT"})(ea||(ea={}));var ta;(function(n){n.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",n.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",n.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(ta||(ta={}));var na;(function(n){n.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",n.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",n.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(na||(na={}));var ia;(function(n){n.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",n.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",n.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(ia||(ia={}));var oa;(function(n){n.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",n.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",n.NO_INTERRUPTION="NO_INTERRUPTION"})(oa||(oa={}));var sa;(function(n){n.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",n.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",n.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT"})(sa||(sa={}));var ra;(function(n){n.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",n.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",n.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",n.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",n.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",n.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",n.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",n.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",n.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",n.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",n.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",n.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",n.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(ra||(ra={}));var aa;(function(n){n.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",n.QUALITY="QUALITY",n.DIVERSITY="DIVERSITY",n.VOCALIZATION="VOCALIZATION"})(aa||(aa={}));var yt;(function(n){n.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",n.PLAY="PLAY",n.PAUSE="PAUSE",n.STOP="STOP",n.RESET_CONTEXT="RESET_CONTEXT"})(yt||(yt={}));var Ut=class{static{p(this,"HttpResponse")}constructor(e){let t={};for(let i of e.headers.entries())t[i[0]]=i[1];this.headers=t,this.responseInternal=e}json(){return this.responseInternal.json()}};var it=class{static{p(this,"GenerateContentResponse")}get text(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",f=!1,h=[];for(let m of(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)!==null&&d!==void 0?d:[]){for(let[g,b]of Object.entries(m))g!=="text"&&g!=="thought"&&g!=="thoughtSignature"&&(b!==null||b!==void 0)&&h.push(g);if(typeof m.text=="string"){if(typeof m.thought=="boolean"&&m.thought)continue;f=!0,u+=m.text}}return h.length>0&&console.warn(`there are non-text parts ${h} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),f?u:void 0}get data(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let u="",f=[];for(let h of(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)!==null&&d!==void 0?d:[]){for(let[m,g]of Object.entries(h))m!=="inlineData"&&(g!==null||g!==void 0)&&f.push(m);h.inlineData&&typeof h.inlineData.data=="string"&&(u+=atob(h.inlineData.data))}return 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.`),u.length>0?btoa(u):void 0}get functionCalls(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");let u=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(f=>f.functionCall).map(f=>f.functionCall).filter(f=>f!==void 0);if(u?.length!==0)return u}get executableCode(){var e,t,i,o,s,a,c,d,u;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");let f=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(h=>h.executableCode).map(h=>h.executableCode).filter(h=>h!==void 0);if(f?.length!==0)return(u=f?.[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,t,i,o,s,a,c,d,u;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let f=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(h=>h.codeExecutionResult).map(h=>h.codeExecutionResult).filter(h=>h!==void 0);if(f?.length!==0)return(u=f?.[0])===null||u===void 0?void 0:u.output}},wn=class{static{p(this,"EmbedContentResponse")}},vn=class{static{p(this,"GenerateImagesResponse")}},Vi=class{static{p(this,"EditImageResponse")}},qi=class{static{p(this,"UpscaleImageResponse")}},Hi=class{static{p(this,"RecontextImageResponse")}},Oi=class{static{p(this,"SegmentImageResponse")}},In=class{static{p(this,"ListModelsResponse")}},Tn=class{static{p(this,"DeleteModelResponse")}},Cn=class{static{p(this,"CountTokensResponse")}},zi=class{static{p(this,"ComputeTokensResponse")}};var _n=class n{static{p(this,"GenerateVideosOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,o,s=e;return t?o=Cc(s):o=Tc(s),Object.assign(i,o),i}},Sn=class{static{p(this,"ListTuningJobsResponse")}},An=class{static{p(this,"CancelTuningJobResponse")}},xn=class{static{p(this,"DeleteCachedContentResponse")}},Pn=class{static{p(this,"ListCachedContentsResponse")}},Ki=class{static{p(this,"ListDocumentsResponse")}},Ji=class{static{p(this,"ListFileSearchStoresResponse")}},Wi=class{static{p(this,"UploadToFileSearchStoreResumableResponse")}};var Yi=class n{static{p(this,"ImportFileOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,s=$c(e);return Object.assign(i,s),i}},Xi=class{static{p(this,"ListFilesResponse")}},Qi=class{static{p(this,"CreateFileResponse")}},Zi=class{static{p(this,"DeleteFileResponse")}};var Nn=class{static{p(this,"ListBatchJobsResponse")}};var ji=class{static{p(this,"LiveServerMessage")}get text(){var e,t,i;let o="",s=!1,a=[];for(let c of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(let[d,u]of Object.entries(c))d!=="text"&&d!=="thought"&&u!==null&&a.push(d);if(typeof c.text=="string"){if(typeof c.thought=="boolean"&&c.thought)continue;s=!0,o+=c.text}}return a.length>0&&console.warn(`there are non-text parts ${a} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),s?o:void 0}get data(){var e,t,i;let o="",s=[];for(let a of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(let[c,d]of Object.entries(a))c!=="inlineData"&&d!==null&&s.push(c);a.inlineData&&typeof a.inlineData.data=="string"&&(o+=atob(a.inlineData.data))}return s.length>0&&console.warn(`there are non-data parts ${s} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),o.length>0?btoa(o):void 0}};var eo=class{static{p(this,"LiveMusicServerMessage")}get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0]}};var to=class n{static{p(this,"UploadToFileSearchStoreOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,s=Ga(e);return Object.assign(i,s),i}};function U(n,e){if(!e||typeof e!="string")throw new Error("model is required and must be a string");if(e.includes("..")||e.includes("?")||e.includes("&"))throw new Error("invalid model parameter");if(n.isVertexAI()){if(e.startsWith("publishers/")||e.startsWith("projects/")||e.startsWith("models/"))return e;if(e.indexOf("/")>=0){let t=e.split("/",2);return`publishers/${t[0]}/models/${t[1]}`}else return`publishers/google/models/${e}`}else return e.startsWith("models/")||e.startsWith("tunedModels/")?e:`models/${e}`}p(U,"tModel");function Ma(n,e){let t=U(n,e);return t?t.startsWith("publishers/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}`:t.startsWith("models/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/publishers/google/${t}`:t:""}p(Ma,"tCachesModel");function ka(n){return Array.isArray(n)?n.map(e=>$n(e)):[$n(n)]}p(ka,"tBlobs");function $n(n){if(typeof n=="object"&&n!==null)return n;throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof n}`)}p($n,"tBlob");function Da(n){let e=$n(n);if(e.mimeType&&e.mimeType.startsWith("image/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}p(Da,"tImageBlob");function La(n){let e=$n(n);if(e.mimeType&&e.mimeType.startsWith("audio/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}p(La,"tAudioBlob");function la(n){if(n==null)throw new Error("PartUnion is required");if(typeof n=="object")return n;if(typeof n=="string")return{text:n};throw new Error(`Unsupported part type: ${typeof n}`)}p(la,"tPart");function Ua(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("PartListUnion is required");return Array.isArray(n)?n.map(e=>la(e)):[la(n)]}p(Ua,"tParts");function no(n){return n!=null&&typeof n=="object"&&"parts"in n&&Array.isArray(n.parts)}p(no,"_isContent");function ca(n){return n!=null&&typeof n=="object"&&"functionCall"in n}p(ca,"_isFunctionCallPart");function da(n){return n!=null&&typeof n=="object"&&"functionResponse"in n}p(da,"_isFunctionResponsePart");function le(n){if(n==null)throw new Error("ContentUnion is required");return no(n)?n:{role:"user",parts:Ua(n)}}p(le,"tContent");function Fo(n,e){if(!e)return[];if(n.isVertexAI()&&Array.isArray(e))return e.flatMap(t=>{let i=le(t);return i.parts&&i.parts.length>0&&i.parts[0].text!==void 0?[i.parts[0].text]:[]});if(n.isVertexAI()){let t=le(e);return t.parts&&t.parts.length>0&&t.parts[0].text!==void 0?[t.parts[0].text]:[]}return Array.isArray(e)?e.map(t=>le(t)):[le(e)]}p(Fo,"tContentsForEmbed");function Te(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("contents are required");if(!Array.isArray(n)){if(ca(n)||da(n))throw new Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[le(n)]}let e=[],t=[],i=no(n[0]);for(let o of n){let s=no(o);if(s!=i)throw new Error("Mixing Content and Parts is not supported, please group the parts into a the appropriate Content objects and specify the roles for them");if(s)e.push(o);else{if(ca(o)||da(o))throw new Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");t.push(o)}}return i||e.push({role:"user",parts:Ua(t)}),e}p(Te,"tContents");function Dc(n,e){n.includes("null")&&(e.nullable=!0);let t=n.filter(i=>i!=="null");if(t.length===1)e.type=Object.values(Ve).includes(t[0].toUpperCase())?t[0].toUpperCase():Ve.TYPE_UNSPECIFIED;else{e.anyOf=[];for(let i of t)e.anyOf.push({type:Object.values(Ve).includes(i.toUpperCase())?i.toUpperCase():Ve.TYPE_UNSPECIFIED})}}p(Dc,"flattenTypeArrayToAnyOf");function Et(n){let e={},t=["items"],i=["anyOf"],o=["properties"];if(n.type&&n.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=n.anyOf;s!=null&&s.length==2&&(s[0].type==="null"?(e.nullable=!0,n=s[1]):s[1].type==="null"&&(e.nullable=!0,n=s[0])),n.type instanceof Array&&Dc(n.type,e);for(let[a,c]of Object.entries(n))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(c instanceof Array)continue;e.type=Object.values(Ve).includes(c.toUpperCase())?c.toUpperCase():Ve.TYPE_UNSPECIFIED}else if(t.includes(a))e[a]=Et(c);else if(i.includes(a)){let d=[];for(let u of c){if(u.type=="null"){e.nullable=!0;continue}d.push(Et(u))}e[a]=d}else if(o.includes(a)){let d={};for(let[u,f]of Object.entries(c))d[u]=Et(f);e[a]=d}else{if(a==="additionalProperties")continue;e[a]=c}return e}p(Et,"processJsonSchema");function Bo(n){return Et(n)}p(Bo,"tSchema");function Vo(n){if(typeof n=="object")return n;if(typeof n=="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:n}}};throw new Error(`Unsupported speechConfig type: ${typeof n}`)}p(Vo,"tSpeechConfig");function qo(n){if("multiSpeakerVoiceConfig"in n)throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");return n}p(qo,"tLiveSpeechConfig");function Tt(n){if(n.functionDeclarations)for(let e of n.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Et(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Et(e.response));return n}p(Tt,"tTool");function Ct(n){if(n==null)throw new Error("tools is required");if(!Array.isArray(n))throw new Error("tools is required and must be an array of Tools");let e=[];for(let t of n)e.push(t);return e}p(Ct,"tTools");function Lc(n,e,t,i=1){let o=!e.startsWith(`${t}/`)&&e.split("/").length===i;return n.isVertexAI()?e.startsWith("projects/")?e:e.startsWith("locations/")?`projects/${n.getProject()}/${e}`:e.startsWith(`${t}/`)?`projects/${n.getProject()}/locations/${n.getLocation()}/${e}`:o?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}/${e}`:e:o?`${t}/${e}`:e}p(Lc,"resourceName");function Ue(n,e){if(typeof e!="string")throw new Error("name must be a string");return Lc(n,e,"cachedContents")}p(Ue,"tCachedContentName");function Fa(n){switch(n){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 n}}p(Fa,"tTuningJobStatus");function qe(n){return Uo(n)}p(qe,"tBytes");function Uc(n){return n!=null&&typeof n=="object"&&"name"in n}p(Uc,"_isFile");function Fc(n){return n!=null&&typeof n=="object"&&"video"in n}p(Fc,"isGeneratedVideo");function Bc(n){return n!=null&&typeof n=="object"&&"uri"in n}p(Bc,"isVideo");function Ba(n){var e;let t;if(Uc(n)&&(t=n.name),!(Bc(n)&&(t=n.uri,t===void 0))&&!(Fc(n)&&(t=(e=n.video)===null||e===void 0?void 0:e.uri,t===void 0))){if(typeof n=="string"&&(t=n),t===void 0)throw new Error("Could not extract file name from the provided input.");if(t.startsWith("https://")){let o=t.split("files/")[1].match(/[a-z0-9]+/);if(o===null)throw new Error(`Could not extract file name from URI ${t}`);t=o[0]}else t.startsWith("files/")&&(t=t.split("files/")[1]);return t}}p(Ba,"tFileName");function Va(n,e){let t;return n.isVertexAI()?t=e?"publishers/google/models":"models":t=e?"models":"tunedModels",t}p(Va,"tModelsUrl");function qa(n){for(let e of["models","tunedModels","publisherModels"])if(Vc(n,e))return n[e];return[]}p(qa,"tExtractModels");function Vc(n,e){return n!==null&&typeof n=="object"&&e in n}p(Vc,"hasField");function qc(n,e={}){let t=n,i={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};return t.outputSchema&&(i.responseJsonSchema=t.outputSchema),e.behavior&&(i.behavior=e.behavior),{functionDeclarations:[i]}}p(qc,"mcpToGeminiTool");function Hc(n,e={}){let t=[],i=new Set;for(let o of n){let s=o.name;if(i.has(s))throw new Error(`Duplicate function name ${s} found in MCP tools. Please ensure function names are unique.`);i.add(s);let a=qc(o,e);a.functionDeclarations&&t.push(...a.functionDeclarations)}return{functionDeclarations:t}}p(Hc,"mcpToolsToGeminiTool");function Ha(n,e){let t;if(typeof e=="string")if(n.isVertexAI())if(e.startsWith("gs://"))t={format:"jsonl",gcsUri:[e]};else if(e.startsWith("bq://"))t={format:"bigquery",bigqueryUri:e};else throw new Error(`Unsupported string source for Vertex AI: ${e}`);else if(e.startsWith("files/"))t={fileName:e};else throw new Error(`Unsupported string source for Gemini API: ${e}`);else if(Array.isArray(e)){if(n.isVertexAI())throw new Error("InlinedRequest[] is not supported in Vertex AI.");t={inlinedRequests:e}}else t=e;let i=[t.gcsUri,t.bigqueryUri].filter(Boolean).length,o=[t.inlinedRequests,t.fileName].filter(Boolean).length;if(n.isVertexAI()){if(o>0||i!==1)throw new Error("Exactly one of `gcsUri` or `bigqueryUri` must be set for Vertex AI.")}else if(i>0||o!==1)throw new Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return t}p(Ha,"tBatchJobSource");function Oc(n){if(typeof n!="string")return n;let e=n;if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:e};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};throw new Error(`Unsupported destination: ${e}`)}p(Oc,"tBatchJobDestination");function Oa(n){if(typeof n!="object"||n===null)return{};let e=n,t=e.inlinedResponses;if(typeof t!="object"||t===null)return n;let o=t.inlinedResponses;if(!Array.isArray(o)||o.length===0)return n;let s=!1;for(let a of o){if(typeof a!="object"||a===null)continue;let d=a.response;if(typeof d!="object"||d===null)continue;if(d.embedding!==void 0){s=!0;break}}return s&&(e.inlinedEmbedContentResponses=e.inlinedResponses,delete e.inlinedResponses),n}p(Oa,"tRecvBatchJobDestination");function _t(n,e){let t=e;if(!n.isVertexAI()){if(/batches\/[^/]+$/.test(t))return t.split("/").pop();throw new Error(`Invalid batch job name: ${t}.`)}if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();if(/^\d+$/.test(t))return t;throw new Error(`Invalid batch job name: ${t}.`)}p(_t,"tBatchJobName");function za(n){let e=n;return e==="BATCH_STATE_UNSPECIFIED"?"JOB_STATE_UNSPECIFIED":e==="BATCH_STATE_PENDING"?"JOB_STATE_PENDING":e==="BATCH_STATE_RUNNING"?"JOB_STATE_RUNNING":e==="BATCH_STATE_SUCCEEDED"?"JOB_STATE_SUCCEEDED":e==="BATCH_STATE_FAILED"?"JOB_STATE_FAILED":e==="BATCH_STATE_CANCELLED"?"JOB_STATE_CANCELLED":e==="BATCH_STATE_EXPIRED"?"JOB_STATE_EXPIRED":e}p(za,"tJobState");function zc(n){let e={},t=r(n,["responsesFile"]);t!=null&&l(e,["fileName"],t);let i=r(n,["inlinedResponses","inlinedResponses"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>_d(a))),l(e,["inlinedResponses"],s)}let o=r(n,["inlinedEmbedContentResponses","inlinedResponses"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["inlinedEmbedContentResponses"],s)}return e}p(zc,"batchJobDestinationFromMldev");function Kc(n){let e={},t=r(n,["predictionsFormat"]);t!=null&&l(e,["format"],t);let i=r(n,["gcsDestination","outputUriPrefix"]);i!=null&&l(e,["gcsUri"],i);let o=r(n,["bigqueryDestination","outputUri"]);return o!=null&&l(e,["bigqueryUri"],o),e}p(Kc,"batchJobDestinationFromVertex");function Jc(n){let e={},t=r(n,["format"]);t!=null&&l(e,["predictionsFormat"],t);let i=r(n,["gcsUri"]);i!=null&&l(e,["gcsDestination","outputUriPrefix"],i);let o=r(n,["bigqueryUri"]);if(o!=null&&l(e,["bigqueryDestination","outputUri"],o),r(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(r(n,["inlinedResponses"])!==void 0)throw new Error("inlinedResponses parameter is not supported in Vertex AI.");if(r(n,["inlinedEmbedContentResponses"])!==void 0)throw new Error("inlinedEmbedContentResponses parameter is not supported in Vertex AI.");return e}p(Jc,"batchJobDestinationToVertex");function gn(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata","displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["metadata","state"]);o!=null&&l(e,["state"],za(o));let s=r(n,["metadata","createTime"]);s!=null&&l(e,["createTime"],s);let a=r(n,["metadata","endTime"]);a!=null&&l(e,["endTime"],a);let c=r(n,["metadata","updateTime"]);c!=null&&l(e,["updateTime"],c);let d=r(n,["metadata","model"]);d!=null&&l(e,["model"],d);let u=r(n,["metadata","output"]);return u!=null&&l(e,["dest"],zc(Oa(u))),e}p(gn,"batchJobFromMldev");function io(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["state"]);o!=null&&l(e,["state"],za(o));let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["createTime"]);a!=null&&l(e,["createTime"],a);let c=r(n,["startTime"]);c!=null&&l(e,["startTime"],c);let d=r(n,["endTime"]);d!=null&&l(e,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(e,["updateTime"],u);let f=r(n,["model"]);f!=null&&l(e,["model"],f);let h=r(n,["inputConfig"]);h!=null&&l(e,["src"],Wc(h));let m=r(n,["outputConfig"]);m!=null&&l(e,["dest"],Kc(Oa(m)));let g=r(n,["completionStats"]);return g!=null&&l(e,["completionStats"],g),e}p(io,"batchJobFromVertex");function Wc(n){let e={},t=r(n,["instancesFormat"]);t!=null&&l(e,["format"],t);let i=r(n,["gcsSource","uris"]);i!=null&&l(e,["gcsUri"],i);let o=r(n,["bigquerySource","inputUri"]);return o!=null&&l(e,["bigqueryUri"],o),e}p(Wc,"batchJobSourceFromVertex");function Yc(n,e){let t={};if(r(e,["format"])!==void 0)throw new Error("format parameter is not supported in Gemini API.");if(r(e,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(r(e,["bigqueryUri"])!==void 0)throw new Error("bigqueryUri parameter is not supported in Gemini API.");let i=r(e,["fileName"]);i!=null&&l(t,["fileName"],i);let o=r(e,["inlinedRequests"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>Cd(n,a))),l(t,["requests","requests"],s)}return t}p(Yc,"batchJobSourceToMldev");function Xc(n){let e={},t=r(n,["format"]);t!=null&&l(e,["instancesFormat"],t);let i=r(n,["gcsUri"]);i!=null&&l(e,["gcsSource","uris"],i);let o=r(n,["bigqueryUri"]);if(o!=null&&l(e,["bigquerySource","inputUri"],o),r(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(r(n,["inlinedRequests"])!==void 0)throw new Error("inlinedRequests parameter is not supported in Vertex AI.");return e}p(Xc,"batchJobSourceToVertex");function Qc(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Qc,"blobToMldev$4");function Zc(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(Zc,"cancelBatchJobParametersToMldev");function jc(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(jc,"cancelBatchJobParametersToVertex");function ed(n){let e={},t=r(n,["content"]);t!=null&&l(e,["content"],t);let i=r(n,["citationMetadata"]);i!=null&&l(e,["citationMetadata"],td(i));let o=r(n,["tokenCount"]);o!=null&&l(e,["tokenCount"],o);let s=r(n,["finishReason"]);s!=null&&l(e,["finishReason"],s);let a=r(n,["avgLogprobs"]);a!=null&&l(e,["avgLogprobs"],a);let c=r(n,["groundingMetadata"]);c!=null&&l(e,["groundingMetadata"],c);let d=r(n,["index"]);d!=null&&l(e,["index"],d);let u=r(n,["logprobsResult"]);u!=null&&l(e,["logprobsResult"],u);let f=r(n,["safetyRatings"]);if(f!=null){let m=f;Array.isArray(m)&&(m=m.map(g=>g)),l(e,["safetyRatings"],m)}let h=r(n,["urlContextMetadata"]);return h!=null&&l(e,["urlContextMetadata"],h),e}p(ed,"candidateFromMldev$1");function td(n){let e={},t=r(n,["citationSources"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["citations"],i)}return e}p(td,"citationMetadataFromMldev$1");function Ka(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>Rd(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(Ka,"contentToMldev$4");function nd(n,e){let t={},i=r(n,["displayName"]);if(e!==void 0&&i!=null&&l(e,["batch","displayName"],i),r(n,["dest"])!==void 0)throw new Error("dest parameter is not supported in Gemini API.");return t}p(nd,"createBatchJobConfigToMldev");function id(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["dest"]);return e!==void 0&&o!=null&&l(e,["outputConfig"],Jc(Oc(o))),t}p(id,"createBatchJobConfigToVertex");function ua(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["batch","inputConfig"],Yc(n,Ha(n,o)));let s=r(e,["config"]);return s!=null&&nd(s,t),t}p(ua,"createBatchJobParametersToMldev");function od(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["inputConfig"],Xc(Ha(n,o)));let s=r(e,["config"]);return s!=null&&id(s,t),t}p(od,"createBatchJobParametersToVertex");function sd(n,e){let t={},i=r(n,["displayName"]);return e!==void 0&&i!=null&&l(e,["batch","displayName"],i),t}p(sd,"createEmbeddingsBatchJobConfigToMldev");function rd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["batch","inputConfig"],pd(n,o));let s=r(e,["config"]);return s!=null&&sd(s,t),t}p(rd,"createEmbeddingsBatchJobParametersToMldev");function ad(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(ad,"deleteBatchJobParametersToMldev");function ld(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(ld,"deleteBatchJobParametersToVertex");function cd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);return s!=null&&l(e,["error"],s),e}p(cd,"deleteResourceJobFromMldev");function dd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);return s!=null&&l(e,["error"],s),e}p(dd,"deleteResourceJobFromVertex");function ud(n,e){let t={},i=r(e,["contents"]);if(i!=null){let s=Fo(n,i);Array.isArray(s)&&(s=s.map(a=>a)),l(t,["requests[]","request","content"],s)}let o=r(e,["config"]);return o!=null&&(l(t,["_self"],fd(o,t)),vc(t,{"requests[].*":"requests[].request.*"})),t}p(ud,"embedContentBatchToMldev");function fd(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["requests[]","taskType"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["requests[]","title"],o);let s=r(n,["outputDimensionality"]);if(e!==void 0&&s!=null&&l(e,["requests[]","outputDimensionality"],s),r(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(r(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}p(fd,"embedContentConfigToMldev$1");function pd(n,e){let t={},i=r(e,["fileName"]);i!=null&&l(t,["file_name"],i);let o=r(e,["inlinedRequests"]);return o!=null&&l(t,["requests"],ud(n,o)),t}p(pd,"embeddingsBatchJobSourceToMldev");function hd(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(hd,"fileDataToMldev$4");function md(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(md,"functionCallToMldev$4");function gd(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(gd,"functionCallingConfigToMldev$2");function bd(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],Ka(le(o)));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],Bo(v));let I=r(e,["responseJsonSchema"]);if(I!=null&&l(i,["responseJsonSchema"],I),r(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(r(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let T=r(e,["safetySettings"]);if(t!==void 0&&T!=null){let z=T;Array.isArray(z)&&(z=z.map(ue=>Gd(ue))),l(t,["safetySettings"],z)}let _=r(e,["tools"]);if(t!==void 0&&_!=null){let z=Ct(_);Array.isArray(z)&&(z=z.map(ue=>kd(Tt(ue)))),l(t,["tools"],z)}let P=r(e,["toolConfig"]);if(t!==void 0&&P!=null&&l(t,["toolConfig"],Md(P)),r(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let N=r(e,["cachedContent"]);t!==void 0&&N!=null&&l(t,["cachedContent"],Ue(n,N));let x=r(e,["responseModalities"]);x!=null&&l(i,["responseModalities"],x);let D=r(e,["mediaResolution"]);D!=null&&l(i,["mediaResolution"],D);let A=r(e,["speechConfig"]);if(A!=null&&l(i,["speechConfig"],Vo(A)),r(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let k=r(e,["thinkingConfig"]);k!=null&&l(i,["thinkingConfig"],k);let q=r(e,["imageConfig"]);q!=null&&l(i,["imageConfig"],Td(q));let de=r(e,["enableEnhancedCivicAnswers"]);return de!=null&&l(i,["enableEnhancedCivicAnswers"],de),i}p(bd,"generateContentConfigToMldev$1");function yd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let d=i;Array.isArray(d)&&(d=d.map(u=>ed(u))),l(e,["candidates"],d)}let o=r(n,["modelVersion"]);o!=null&&l(e,["modelVersion"],o);let s=r(n,["promptFeedback"]);s!=null&&l(e,["promptFeedback"],s);let a=r(n,["responseId"]);a!=null&&l(e,["responseId"],a);let c=r(n,["usageMetadata"]);return c!=null&&l(e,["usageMetadata"],c),e}p(yd,"generateContentResponseFromMldev$1");function Ed(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(Ed,"getBatchJobParametersToMldev");function wd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],_t(n,i)),t}p(wd,"getBatchJobParametersToVertex");function vd(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(vd,"googleMapsToMldev$4");function Id(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Id,"googleSearchToMldev$4");function Td(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);if(i!=null&&l(e,["imageSize"],i),r(n,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(r(n,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");return e}p(Td,"imageConfigToMldev$1");function Cd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["request","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let c=Te(o);Array.isArray(c)&&(c=c.map(d=>Ka(d))),l(t,["request","contents"],c)}let s=r(e,["metadata"]);s!=null&&l(t,["metadata"],s);let a=r(e,["config"]);return a!=null&&l(t,["request","generationConfig"],bd(n,a,r(t,["request"],{}))),t}p(Cd,"inlinedRequestToMldev");function _d(n){let e={},t=r(n,["response"]);t!=null&&l(e,["response"],yd(t));let i=r(n,["error"]);return i!=null&&l(e,["error"],i),e}p(_d,"inlinedResponseFromMldev");function Sd(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);if(e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),r(n,["filter"])!==void 0)throw new Error("filter parameter is not supported in Gemini API.");return t}p(Sd,"listBatchJobsConfigToMldev");function Ad(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);e!==void 0&&o!=null&&l(e,["_query","pageToken"],o);let s=r(n,["filter"]);return e!==void 0&&s!=null&&l(e,["_query","filter"],s),t}p(Ad,"listBatchJobsConfigToVertex");function xd(n){let e={},t=r(n,["config"]);return t!=null&&Sd(t,e),e}p(xd,"listBatchJobsParametersToMldev");function Pd(n){let e={},t=r(n,["config"]);return t!=null&&Ad(t,e),e}p(Pd,"listBatchJobsParametersToVertex");function Nd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["operations"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>gn(a))),l(e,["batchJobs"],s)}return e}p(Nd,"listBatchJobsResponseFromMldev");function $d(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["batchPredictionJobs"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>io(a))),l(e,["batchJobs"],s)}return e}p($d,"listBatchJobsResponseFromVertex");function Rd(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],hd(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],md(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Qc(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(Rd,"partToMldev$4");function Gd(n){let e={},t=r(n,["category"]);if(t!=null&&l(e,["category"],t),r(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let i=r(n,["threshold"]);return i!=null&&l(e,["threshold"],i),e}p(Gd,"safetySettingToMldev$1");function Md(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],gd(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(Md,"toolConfigToMldev$2");function kd(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],vd(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Id(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(kd,"toolToMldev$4");var De;(function(n){n.PAGED_ITEM_BATCH_JOBS="batchJobs",n.PAGED_ITEM_MODELS="models",n.PAGED_ITEM_TUNING_JOBS="tuningJobs",n.PAGED_ITEM_FILES="files",n.PAGED_ITEM_CACHED_CONTENTS="cachedContents",n.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",n.PAGED_ITEM_DOCUMENTS="documents"})(De||(De={}));var Le=class{static{p(this,"Pager")}constructor(e,t,i,o){this.pageInternal=[],this.paramsInternal={},this.requestInternal=t,this.init(e,i,o)}init(e,t,i){var o,s;this.nameInternal=e,this.pageInternal=t[this.nameInternal]||[],this.sdkHttpResponseInternal=t?.sdkHttpResponse,this.idxInternal=0;let a={config:{}};!i||Object.keys(i).length===0?a={config:{}}:typeof i=="object"?a=Object.assign({},i):a=i,a.config&&(a.config.pageToken=t.nextPageToken),this.paramsInternal=a,this.pageInternalSize=(s=(o=a.config)===null||o===void 0?void 0:o.pageSize)!==null&&s!==void 0?s: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:p(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}},"next"),return:p(async()=>({value:void 0,done:!0}),"return")}}async nextPage(){if(!this.hasNextPage())throw new Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;return((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0}};var oo=class extends Pe{static{p(this,"Batches")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new Le(De.PAGED_ITEM_BATCH_JOBS,i=>this.listInternal(i),await this.listInternal(t),t),this.create=async t=>(this.apiClient.isVertexAI()&&(t.config=this.formatDestination(t.src,t.config)),this.createInternal(t)),this.createEmbeddings=async t=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw new Error("Vertex AI does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(t)}}createInlinedGenerateContentRequest(e){let t=ua(this.apiClient,e),i=t._url,o=C("{model}:batchGenerateContent",i),c=t.batch.inputConfig.requests,d=c.requests,u=[];for(let f of d){let h=Object.assign({},f);if(h.systemInstruction){let m=h.systemInstruction;delete h.systemInstruction;let g=h.request;g.systemInstruction=m,h.request=g}u.push(h)}return c.requests=u,delete t.config,delete t._url,delete t._query,{path:o,body:t}}getGcsUri(e){if(typeof e=="string")return e.startsWith("gs://")?e:void 0;if(!Array.isArray(e)&&e.gcsUri&&e.gcsUri.length>0)return e.gcsUri[0]}getBigqueryUri(e){if(typeof e=="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri}formatDestination(e,t){let i=t?Object.assign({},t):{},o=Date.now().toString();if(i.displayName||(i.displayName=`genaiBatchJob_${o}`),i.dest===void 0){let s=this.getGcsUri(e),a=this.getBigqueryUri(e);if(s)s.endsWith(".jsonl")?i.dest=`${s.slice(0,-6)}/dest`:i.dest=`${s}_dest_${o}`;else if(a)i.dest=`${a}_dest_${o}`;else throw new Error("Unsupported source for Vertex AI: No GCS or BigQuery URI found.")}return i}async createInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=od(this.apiClient,e);return c=C("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>io(f))}else{let u=ua(this.apiClient,e);return c=C("{model}:batchGenerateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>gn(f))}}async createEmbeddingsInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=rd(this.apiClient,e);return s=C("{model}:asyncBatchEmbedContent",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>gn(d))}}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=wd(this.apiClient,e);return c=C("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>io(f))}else{let u=Ed(this.apiClient,e);return c=C("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>gn(f))}}async cancel(e){var t,i,o,s;let a="",c={};if(this.apiClient.isVertexAI()){let d=jc(this.apiClient,e);a=C("batchPredictionJobs/{name}:cancel",d._url),c=d._query,delete d._url,delete d._query,await this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}else{let d=Zc(this.apiClient,e);a=C("batches/{name}:cancel",d._url),c=d._query,delete d._url,delete d._query,await this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal})}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Pd(e);return c=C("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=$d(f),m=new Nn;return Object.assign(m,h),m})}else{let u=xd(e);return c=C("batches",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Nd(f),m=new Nn;return Object.assign(m,h),m})}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ld(this.apiClient,e);return c=C("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>dd(f))}else{let u=ad(this.apiClient,e);return c=C("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>cd(f))}}};function Dd(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Dd,"blobToMldev$3");function fa(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>su(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(fa,"contentToMldev$3");function Ld(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);e!==void 0&&o!=null&&l(e,["expireTime"],o);let s=r(n,["displayName"]);e!==void 0&&s!=null&&l(e,["displayName"],s);let a=r(n,["contents"]);if(e!==void 0&&a!=null){let f=Te(a);Array.isArray(f)&&(f=f.map(h=>fa(h))),l(e,["contents"],f)}let c=r(n,["systemInstruction"]);e!==void 0&&c!=null&&l(e,["systemInstruction"],fa(le(c)));let d=r(n,["tools"]);if(e!==void 0&&d!=null){let f=d;Array.isArray(f)&&(f=f.map(h=>au(h))),l(e,["tools"],f)}let u=r(n,["toolConfig"]);if(e!==void 0&&u!=null&&l(e,["toolConfig"],ru(u)),r(n,["kmsKeyName"])!==void 0)throw new Error("kmsKeyName parameter is not supported in Gemini API.");return t}p(Ld,"createCachedContentConfigToMldev");function Ud(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);e!==void 0&&o!=null&&l(e,["expireTime"],o);let s=r(n,["displayName"]);e!==void 0&&s!=null&&l(e,["displayName"],s);let a=r(n,["contents"]);if(e!==void 0&&a!=null){let h=Te(a);Array.isArray(h)&&(h=h.map(m=>m)),l(e,["contents"],h)}let c=r(n,["systemInstruction"]);e!==void 0&&c!=null&&l(e,["systemInstruction"],le(c));let d=r(n,["tools"]);if(e!==void 0&&d!=null){let h=d;Array.isArray(h)&&(h=h.map(m=>lu(m))),l(e,["tools"],h)}let u=r(n,["toolConfig"]);e!==void 0&&u!=null&&l(e,["toolConfig"],u);let f=r(n,["kmsKeyName"]);return e!==void 0&&f!=null&&l(e,["encryption_spec","kmsKeyName"],f),t}p(Ud,"createCachedContentConfigToVertex");function Fd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],Ma(n,i));let o=r(e,["config"]);return o!=null&&Ld(o,t),t}p(Fd,"createCachedContentParametersToMldev");function Bd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],Ma(n,i));let o=r(e,["config"]);return o!=null&&Ud(o,t),t}p(Bd,"createCachedContentParametersToVertex");function Vd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Ue(n,i)),t}p(Vd,"deleteCachedContentParametersToMldev");function qd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Ue(n,i)),t}p(qd,"deleteCachedContentParametersToVertex");function Hd(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(Hd,"deleteCachedContentResponseFromMldev");function Od(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(Od,"deleteCachedContentResponseFromVertex");function zd(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(zd,"fileDataToMldev$3");function Kd(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(Kd,"functionCallToMldev$3");function Jd(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(Jd,"functionCallingConfigToMldev$1");function Wd(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(Wd,"functionDeclarationToVertex$2");function Yd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Ue(n,i)),t}p(Yd,"getCachedContentParametersToMldev");function Xd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Ue(n,i)),t}p(Xd,"getCachedContentParametersToVertex");function Qd(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Qd,"googleMapsToMldev$3");function Zd(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Zd,"googleSearchToMldev$3");function jd(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(jd,"listCachedContentsConfigToMldev");function eu(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(eu,"listCachedContentsConfigToVertex");function tu(n){let e={},t=r(n,["config"]);return t!=null&&jd(t,e),e}p(tu,"listCachedContentsParametersToMldev");function nu(n){let e={},t=r(n,["config"]);return t!=null&&eu(t,e),e}p(nu,"listCachedContentsParametersToVertex");function iu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["cachedContents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["cachedContents"],s)}return e}p(iu,"listCachedContentsResponseFromMldev");function ou(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["cachedContents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["cachedContents"],s)}return e}p(ou,"listCachedContentsResponseFromVertex");function su(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],zd(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],Kd(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Dd(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(su,"partToMldev$3");function ru(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],Jd(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(ru,"toolConfigToMldev$1");function au(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Qd(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Zd(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(au,"toolToMldev$3");function lu(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>Wd(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(lu,"toolToVertex$2");function cu(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);return e!==void 0&&o!=null&&l(e,["expireTime"],o),t}p(cu,"updateCachedContentConfigToMldev");function du(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);return e!==void 0&&o!=null&&l(e,["expireTime"],o),t}p(du,"updateCachedContentConfigToVertex");function uu(n,e){let t={},i=r(e,["name"]);i!=null&&l(t,["_url","name"],Ue(n,i));let o=r(e,["config"]);return o!=null&&cu(o,t),t}p(uu,"updateCachedContentParametersToMldev");function fu(n,e){let t={},i=r(e,["name"]);i!=null&&l(t,["_url","name"],Ue(n,i));let o=r(e,["config"]);return o!=null&&du(o,t),t}p(fu,"updateCachedContentParametersToVertex");var so=class extends Pe{static{p(this,"Caches")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new Le(De.PAGED_ITEM_CACHED_CONTENTS,i=>this.listInternal(i),await this.listInternal(t),t)}async create(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Bd(this.apiClient,e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=Fd(this.apiClient,e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Xd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=Yd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=qd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Od(f),m=new xn;return Object.assign(m,h),m})}else{let u=Vd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Hd(f),m=new xn;return Object.assign(m,h),m})}}async update(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=fu(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=uu(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=nu(e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ou(f),m=new Pn;return Object.assign(m,h),m})}else{let u=tu(e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=iu(f),m=new Pn;return Object.assign(m,h),m})}}};function Rn(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(n);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(n,i[o])&&(t[i[o]]=n[i[o]]);return t}p(Rn,"__rest");function pa(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:p(function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}},"next")};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}p(pa,"__values");function G(n){return this instanceof G?(this.v=n,this):new G(n)}p(G,"__await");function Ae(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",a),o[Symbol.asyncIterator]=function(){return this},o;function a(g){return function(b){return Promise.resolve(b).then(g,h)}}function c(g,b){i[g]&&(o[g]=function(E){return new Promise(function(w,v){s.push([g,E,w,v])>1||d(g,E)})},b&&(o[g]=b(o[g])))}function d(g,b){try{u(i[g](b))}catch(E){m(s[0][3],E)}}function u(g){g.value instanceof G?Promise.resolve(g.value.v).then(f,h):m(s[0][2],g)}function f(g){d("next",g)}function h(g){d("throw",g)}function m(g,b){g(b),s.shift(),s.length&&d(s[0][0],s[0][1])}}p(Ae,"__asyncGenerator");function xe(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof pa=="function"?pa(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(a){return new Promise(function(c,d){a=n[s](a),o(c,d,a.done,a.value)})}}function o(s,a,c,d){Promise.resolve(d).then(function(u){s({value:u,done:c})},a)}}p(xe,"__asyncValues");function pu(n){var e;if(n.candidates==null||n.candidates.length===0)return!1;let t=(e=n.candidates[0])===null||e===void 0?void 0:e.content;return t===void 0?!1:Ja(t)}p(pu,"isValidResponse");function Ja(n){if(n.parts===void 0||n.parts.length===0)return!1;for(let e of n.parts)if(e===void 0||Object.keys(e).length===0)return!1;return!0}p(Ja,"isValidContent");function hu(n){if(n.length!==0){for(let e of n)if(e.role!=="user"&&e.role!=="model")throw new Error(`Role must be user or model, but got ${e.role}.`)}}p(hu,"validateHistory");function ha(n){if(n===void 0||n.length===0)return[];let e=[],t=n.length,i=0;for(;i<t;)if(n[i].role==="user")e.push(n[i]),i++;else{let o=[],s=!0;for(;i<t&&n[i].role==="model";)o.push(n[i]),s&&!Ja(n[i])&&(s=!1),i++;s?e.push(...o):e.pop()}return e}p(ha,"extractCuratedHistory");var ro=class{static{p(this,"Chats")}constructor(e,t){this.modelsModule=e,this.apiClient=t}create(e){return new ao(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}},ao=class{static{p(this,"Chat")}constructor(e,t,i,o={},s=[]){this.apiClient=e,this.modelsModule=t,this.model=i,this.config=o,this.history=s,this.sendPromise=Promise.resolve(),hu(s)}async sendMessage(e){var t;await this.sendPromise;let i=le(e.message),o=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});return this.sendPromise=(async()=>{var s,a,c;let d=await o,u=(a=(s=d.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content,f=d.automaticFunctionCallingHistory,h=this.getHistory(!0).length,m=[];f!=null&&(m=(c=f.slice(h))!==null&&c!==void 0?c:[]);let g=u?[u]:[];this.recordHistory(i,g,m)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),o}async sendMessageStream(e){var t;await this.sendPromise;let i=le(e.message),o=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});this.sendPromise=o.then(()=>{}).catch(()=>{});let s=await o;return this.processStreamResponse(s,i)}getHistory(e=!1){let t=e?ha(this.history):this.history;return structuredClone(t)}processStreamResponse(e,t){return Ae(this,arguments,p(function*(){var o,s,a,c,d,u;let f=[];try{for(var h=!0,m=xe(e),g;g=yield G(m.next()),o=g.done,!o;h=!0){c=g.value,h=!1;let b=c;if(pu(b)){let E=(u=(d=b.candidates)===null||d===void 0?void 0:d[0])===null||u===void 0?void 0:u.content;E!==void 0&&f.push(E)}yield yield G(b)}}catch(b){s={error:b}}finally{try{!h&&!o&&(a=m.return)&&(yield G(a.call(m)))}finally{if(s)throw s.error}}this.recordHistory(t,f)},"processStreamResponse_1"))}recordHistory(e,t,i){let o=[];t.length>0&&t.every(s=>s.role!==void 0)?o=t:o.push({role:"model",parts:[]}),i&&i.length>0?this.history.push(...ha(i)):this.history.push(e),this.history.push(...o)}};var Gn=class n extends Error{static{p(this,"ApiError")}constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,n.prototype)}};function mu(n){let e={},t=r(n,["file"]);return t!=null&&l(e,["file"],t),e}p(mu,"createFileParametersToMldev");function gu(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(gu,"createFileResponseFromMldev");function bu(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","file"],Ba(t)),e}p(bu,"deleteFileParametersToMldev");function yu(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(yu,"deleteFileResponseFromMldev");function Eu(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","file"],Ba(t)),e}p(Eu,"getFileParametersToMldev");function wu(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(wu,"listFilesConfigToMldev");function vu(n){let e={},t=r(n,["config"]);return t!=null&&wu(t,e),e}p(vu,"listFilesParametersToMldev");function Iu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["files"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["files"],s)}return e}p(Iu,"listFilesResponseFromMldev");var lo=class extends Pe{static{p(this,"Files")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new Le(De.PAGED_ITEM_FILES,i=>this.listInternal(i),await this.listInternal(t),t)}async upload(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files. You can share files through a GCS bucket.");return this.apiClient.uploadFile(e.file,e.config).then(t=>t)}async download(e){await this.apiClient.downloadFile(e)}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=vu(e);return s=C("files",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=Iu(d),f=new Xi;return Object.assign(f,u),f})}}async createInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=mu(e);return s=C("upload/v1beta/files",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=gu(d),f=new Qi;return Object.assign(f,u),f})}}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Eu(e);return s=C("files/{file}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=bu(e);return s=C("files/{file}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=yu(d),f=new Zi;return Object.assign(f,u),f})}}};function bn(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(bn,"blobToMldev$2");function Tu(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>Fu(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(Tu,"contentToMldev$2");function Cu(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Cu,"fileDataToMldev$2");function _u(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(_u,"functionCallToMldev$2");function Su(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(Su,"functionDeclarationToVertex$1");function Au(n){let e={},t=r(n,["modelSelectionConfig"]);t!=null&&l(e,["modelConfig"],t);let i=r(n,["responseJsonSchema"]);i!=null&&l(e,["responseJsonSchema"],i);let o=r(n,["audioTimestamp"]);o!=null&&l(e,["audioTimestamp"],o);let s=r(n,["candidateCount"]);s!=null&&l(e,["candidateCount"],s);let a=r(n,["enableAffectiveDialog"]);a!=null&&l(e,["enableAffectiveDialog"],a);let c=r(n,["frequencyPenalty"]);c!=null&&l(e,["frequencyPenalty"],c);let d=r(n,["logprobs"]);d!=null&&l(e,["logprobs"],d);let u=r(n,["maxOutputTokens"]);u!=null&&l(e,["maxOutputTokens"],u);let f=r(n,["mediaResolution"]);f!=null&&l(e,["mediaResolution"],f);let h=r(n,["presencePenalty"]);h!=null&&l(e,["presencePenalty"],h);let m=r(n,["responseLogprobs"]);m!=null&&l(e,["responseLogprobs"],m);let g=r(n,["responseMimeType"]);g!=null&&l(e,["responseMimeType"],g);let b=r(n,["responseModalities"]);b!=null&&l(e,["responseModalities"],b);let E=r(n,["responseSchema"]);E!=null&&l(e,["responseSchema"],E);let w=r(n,["routingConfig"]);w!=null&&l(e,["routingConfig"],w);let v=r(n,["seed"]);v!=null&&l(e,["seed"],v);let I=r(n,["speechConfig"]);I!=null&&l(e,["speechConfig"],Wa(I));let T=r(n,["stopSequences"]);T!=null&&l(e,["stopSequences"],T);let _=r(n,["temperature"]);_!=null&&l(e,["temperature"],_);let P=r(n,["thinkingConfig"]);P!=null&&l(e,["thinkingConfig"],P);let N=r(n,["topK"]);N!=null&&l(e,["topK"],N);let x=r(n,["topP"]);if(x!=null&&l(e,["topP"],x),r(n,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return e}p(Au,"generationConfigToVertex$1");function xu(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(xu,"googleMapsToMldev$2");function Pu(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Pu,"googleSearchToMldev$2");function Nu(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],i);let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],qo(h));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],Tu(le(b)));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let N=Ct(E);Array.isArray(N)&&(N=N.map(x=>Vu(Tt(x)))),l(e,["setup","tools"],N)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],Bu(w));let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let _=r(n,["contextWindowCompression"]);e!==void 0&&_!=null&&l(e,["setup","contextWindowCompression"],_);let P=r(n,["proactivity"]);if(e!==void 0&&P!=null&&l(e,["setup","proactivity"],P),r(n,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return t}p(Nu,"liveConnectConfigToMldev$1");function $u(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],Au(i));let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],Wa(qo(h)));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],le(b));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let x=Ct(E);Array.isArray(x)&&(x=x.map(D=>qu(Tt(D)))),l(e,["setup","tools"],x)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],w);let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let _=r(n,["contextWindowCompression"]);e!==void 0&&_!=null&&l(e,["setup","contextWindowCompression"],_);let P=r(n,["proactivity"]);e!==void 0&&P!=null&&l(e,["setup","proactivity"],P);let N=r(n,["explicitVadSignal"]);return e!==void 0&&N!=null&&l(e,["setup","explicitVadSignal"],N),t}p($u,"liveConnectConfigToVertex");function Ru(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],Nu(o,t)),t}p(Ru,"liveConnectParametersToMldev");function Gu(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],$u(o,t)),t}p(Gu,"liveConnectParametersToVertex");function Mu(n){let e={},t=r(n,["musicGenerationConfig"]);return t!=null&&l(e,["musicGenerationConfig"],t),e}p(Mu,"liveMusicSetConfigParametersToMldev");function ku(n){let e={},t=r(n,["weightedPrompts"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["weightedPrompts"],i)}return e}p(ku,"liveMusicSetWeightedPromptsParametersToMldev");function Du(n){let e={},t=r(n,["media"]);if(t!=null){let u=ka(t);Array.isArray(u)&&(u=u.map(f=>bn(f))),l(e,["mediaChunks"],u)}let i=r(n,["audio"]);i!=null&&l(e,["audio"],bn(La(i)));let o=r(n,["audioStreamEnd"]);o!=null&&l(e,["audioStreamEnd"],o);let s=r(n,["video"]);s!=null&&l(e,["video"],bn(Da(s)));let a=r(n,["text"]);a!=null&&l(e,["text"],a);let c=r(n,["activityStart"]);c!=null&&l(e,["activityStart"],c);let d=r(n,["activityEnd"]);return d!=null&&l(e,["activityEnd"],d),e}p(Du,"liveSendRealtimeInputParametersToMldev");function Lu(n){let e={},t=r(n,["media"]);if(t!=null){let u=ka(t);Array.isArray(u)&&(u=u.map(f=>f)),l(e,["mediaChunks"],u)}let i=r(n,["audio"]);i!=null&&l(e,["audio"],La(i));let o=r(n,["audioStreamEnd"]);o!=null&&l(e,["audioStreamEnd"],o);let s=r(n,["video"]);s!=null&&l(e,["video"],Da(s));let a=r(n,["text"]);a!=null&&l(e,["text"],a);let c=r(n,["activityStart"]);c!=null&&l(e,["activityStart"],c);let d=r(n,["activityEnd"]);return d!=null&&l(e,["activityEnd"],d),e}p(Lu,"liveSendRealtimeInputParametersToVertex");function Uu(n){let e={},t=r(n,["setupComplete"]);t!=null&&l(e,["setupComplete"],t);let i=r(n,["serverContent"]);i!=null&&l(e,["serverContent"],i);let o=r(n,["toolCall"]);o!=null&&l(e,["toolCall"],o);let s=r(n,["toolCallCancellation"]);s!=null&&l(e,["toolCallCancellation"],s);let a=r(n,["usageMetadata"]);a!=null&&l(e,["usageMetadata"],Hu(a));let c=r(n,["goAway"]);c!=null&&l(e,["goAway"],c);let d=r(n,["sessionResumptionUpdate"]);d!=null&&l(e,["sessionResumptionUpdate"],d);let u=r(n,["voiceActivityDetectionSignal"]);return u!=null&&l(e,["voiceActivityDetectionSignal"],u),e}p(Uu,"liveServerMessageFromVertex");function Fu(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],Cu(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],_u(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],bn(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(Fu,"partToMldev$2");function Bu(n){let e={},t=r(n,["handle"]);if(t!=null&&l(e,["handle"],t),r(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}p(Bu,"sessionResumptionConfigToMldev$1");function Wa(n){let e={},t=r(n,["voiceConfig"]);t!=null&&l(e,["voiceConfig"],t);let i=r(n,["languageCode"]);if(i!=null&&l(e,["languageCode"],i),r(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");return e}p(Wa,"speechConfigToVertex$1");function Vu(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],xu(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Pu(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(Vu,"toolToMldev$2");function qu(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>Su(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(qu,"toolToVertex$1");function Hu(n){let e={},t=r(n,["promptTokenCount"]);t!=null&&l(e,["promptTokenCount"],t);let i=r(n,["cachedContentTokenCount"]);i!=null&&l(e,["cachedContentTokenCount"],i);let o=r(n,["candidatesTokenCount"]);o!=null&&l(e,["responseTokenCount"],o);let s=r(n,["toolUsePromptTokenCount"]);s!=null&&l(e,["toolUsePromptTokenCount"],s);let a=r(n,["thoughtsTokenCount"]);a!=null&&l(e,["thoughtsTokenCount"],a);let c=r(n,["totalTokenCount"]);c!=null&&l(e,["totalTokenCount"],c);let d=r(n,["promptTokensDetails"]);if(d!=null){let g=d;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["promptTokensDetails"],g)}let u=r(n,["cacheTokensDetails"]);if(u!=null){let g=u;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["cacheTokensDetails"],g)}let f=r(n,["candidatesTokensDetails"]);if(f!=null){let g=f;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["responseTokensDetails"],g)}let h=r(n,["toolUsePromptTokensDetails"]);if(h!=null){let g=h;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["toolUsePromptTokensDetails"],g)}let m=r(n,["trafficType"]);return m!=null&&l(e,["trafficType"],m),e}p(Hu,"usageMetadataFromVertex");function Ou(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Ou,"blobToMldev$1");function zu(n){let e={},t=r(n,["content"]);t!=null&&l(e,["content"],t);let i=r(n,["citationMetadata"]);i!=null&&l(e,["citationMetadata"],Ku(i));let o=r(n,["tokenCount"]);o!=null&&l(e,["tokenCount"],o);let s=r(n,["finishReason"]);s!=null&&l(e,["finishReason"],s);let a=r(n,["avgLogprobs"]);a!=null&&l(e,["avgLogprobs"],a);let c=r(n,["groundingMetadata"]);c!=null&&l(e,["groundingMetadata"],c);let d=r(n,["index"]);d!=null&&l(e,["index"],d);let u=r(n,["logprobsResult"]);u!=null&&l(e,["logprobsResult"],u);let f=r(n,["safetyRatings"]);if(f!=null){let m=f;Array.isArray(m)&&(m=m.map(g=>g)),l(e,["safetyRatings"],m)}let h=r(n,["urlContextMetadata"]);return h!=null&&l(e,["urlContextMetadata"],h),e}p(zu,"candidateFromMldev");function Ku(n){let e={},t=r(n,["citationSources"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["citations"],i)}return e}p(Ku,"citationMetadataFromMldev");function Ju(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let s=Te(o);Array.isArray(s)&&(s=s.map(a=>a)),l(t,["contents"],s)}return t}p(Ju,"computeTokensParametersToVertex");function Wu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["tokensInfo"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(e,["tokensInfo"],o)}return e}p(Wu,"computeTokensResponseFromVertex");function Yu(n){let e={},t=r(n,["values"]);t!=null&&l(e,["values"],t);let i=r(n,["statistics"]);return i!=null&&l(e,["statistics"],Xu(i)),e}p(Yu,"contentEmbeddingFromVertex");function Xu(n){let e={},t=r(n,["truncated"]);t!=null&&l(e,["truncated"],t);let i=r(n,["token_count"]);return i!=null&&l(e,["tokenCount"],i),e}p(Xu,"contentEmbeddingStatisticsFromVertex");function Yn(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>rp(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(Yn,"contentToMldev$1");function Qu(n){let e={},t=r(n,["controlType"]);t!=null&&l(e,["controlType"],t);let i=r(n,["enableControlImageComputation"]);return i!=null&&l(e,["computeControl"],i),e}p(Qu,"controlReferenceConfigToVertex");function Zu(n){let e={};if(r(n,["systemInstruction"])!==void 0)throw new Error("systemInstruction parameter is not supported in Gemini API.");if(r(n,["tools"])!==void 0)throw new Error("tools parameter is not supported in Gemini API.");if(r(n,["generationConfig"])!==void 0)throw new Error("generationConfig parameter is not supported in Gemini API.");return e}p(Zu,"countTokensConfigToMldev");function ju(n,e){let t={},i=r(n,["systemInstruction"]);e!==void 0&&i!=null&&l(e,["systemInstruction"],le(i));let o=r(n,["tools"]);if(e!==void 0&&o!=null){let a=o;Array.isArray(a)&&(a=a.map(c=>ja(c))),l(e,["tools"],a)}let s=r(n,["generationConfig"]);return e!==void 0&&s!=null&&l(e,["generationConfig"],zf(s)),t}p(ju,"countTokensConfigToVertex");function ef(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>Yn(c))),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&Zu(s),t}p(ef,"countTokensParametersToMldev");function tf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&ju(s,t),t}p(tf,"countTokensParametersToVertex");function nf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["totalTokens"]);i!=null&&l(e,["totalTokens"],i);let o=r(n,["cachedContentTokenCount"]);return o!=null&&l(e,["cachedContentTokenCount"],o),e}p(nf,"countTokensResponseFromMldev");function of(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["totalTokens"]);return i!=null&&l(e,["totalTokens"],i),e}p(of,"countTokensResponseFromVertex");function sf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(sf,"deleteModelParametersToMldev");function rf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(rf,"deleteModelParametersToVertex");function af(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(af,"deleteModelResponseFromMldev");function lf(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(lf,"deleteModelResponseFromVertex");function cf(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["negativePrompt"]);e!==void 0&&o!=null&&l(e,["parameters","negativePrompt"],o);let s=r(n,["numberOfImages"]);e!==void 0&&s!=null&&l(e,["parameters","sampleCount"],s);let a=r(n,["aspectRatio"]);e!==void 0&&a!=null&&l(e,["parameters","aspectRatio"],a);let c=r(n,["guidanceScale"]);e!==void 0&&c!=null&&l(e,["parameters","guidanceScale"],c);let d=r(n,["seed"]);e!==void 0&&d!=null&&l(e,["parameters","seed"],d);let u=r(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&l(e,["parameters","safetySetting"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["includeSafetyAttributes"]);e!==void 0&&h!=null&&l(e,["parameters","includeSafetyAttributes"],h);let m=r(n,["includeRaiReason"]);e!==void 0&&m!=null&&l(e,["parameters","includeRaiReason"],m);let g=r(n,["language"]);e!==void 0&&g!=null&&l(e,["parameters","language"],g);let b=r(n,["outputMimeType"]);e!==void 0&&b!=null&&l(e,["parameters","outputOptions","mimeType"],b);let E=r(n,["outputCompressionQuality"]);e!==void 0&&E!=null&&l(e,["parameters","outputOptions","compressionQuality"],E);let w=r(n,["addWatermark"]);e!==void 0&&w!=null&&l(e,["parameters","addWatermark"],w);let v=r(n,["labels"]);e!==void 0&&v!=null&&l(e,["labels"],v);let I=r(n,["editMode"]);e!==void 0&&I!=null&&l(e,["parameters","editMode"],I);let T=r(n,["baseSteps"]);return e!==void 0&&T!=null&&l(e,["parameters","editConfig","baseSteps"],T),t}p(cf,"editImageConfigToVertex");function df(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["referenceImages"]);if(s!=null){let c=s;Array.isArray(c)&&(c=c.map(d=>fp(d))),l(t,["instances[0]","referenceImages"],c)}let a=r(e,["config"]);return a!=null&&cf(a,t),t}p(df,"editImageParametersInternalToVertex");function uf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>Xn(s))),l(e,["generatedImages"],o)}return e}p(uf,"editImageResponseFromVertex");function ff(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["requests[]","taskType"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["requests[]","title"],o);let s=r(n,["outputDimensionality"]);if(e!==void 0&&s!=null&&l(e,["requests[]","outputDimensionality"],s),r(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(r(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}p(ff,"embedContentConfigToMldev");function pf(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["instances[]","task_type"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["instances[]","title"],o);let s=r(n,["outputDimensionality"]);e!==void 0&&s!=null&&l(e,["parameters","outputDimensionality"],s);let a=r(n,["mimeType"]);e!==void 0&&a!=null&&l(e,["instances[]","mimeType"],a);let c=r(n,["autoTruncate"]);return e!==void 0&&c!=null&&l(e,["parameters","autoTruncate"],c),t}p(pf,"embedContentConfigToVertex");function hf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let c=Fo(n,o);Array.isArray(c)&&(c=c.map(d=>d)),l(t,["requests[]","content"],c)}let s=r(e,["config"]);s!=null&&ff(s,t);let a=r(e,["model"]);return a!==void 0&&l(t,["requests[]","model"],U(n,a)),t}p(hf,"embedContentParametersToMldev");function mf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Fo(n,o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["instances[]","content"],a)}let s=r(e,["config"]);return s!=null&&pf(s,t),t}p(mf,"embedContentParametersToVertex");function gf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["embeddings"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["embeddings"],s)}let o=r(n,["metadata"]);return o!=null&&l(e,["metadata"],o),e}p(gf,"embedContentResponseFromMldev");function bf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions[]","embeddings"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Yu(a))),l(e,["embeddings"],s)}let o=r(n,["metadata"]);return o!=null&&l(e,["metadata"],o),e}p(bf,"embedContentResponseFromVertex");function yf(n){let e={},t=r(n,["endpoint"]);t!=null&&l(e,["name"],t);let i=r(n,["deployedModelId"]);return i!=null&&l(e,["deployedModelId"],i),e}p(yf,"endpointFromVertex");function Ef(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Ef,"fileDataToMldev$1");function wf(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(wf,"functionCallToMldev$1");function vf(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(vf,"functionCallingConfigToMldev");function If(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(If,"functionDeclarationToVertex");function Tf(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],Yn(le(o)));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],Bo(v));let I=r(e,["responseJsonSchema"]);if(I!=null&&l(i,["responseJsonSchema"],I),r(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(r(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let T=r(e,["safetySettings"]);if(t!==void 0&&T!=null){let z=T;Array.isArray(z)&&(z=z.map(ue=>pp(ue))),l(t,["safetySettings"],z)}let _=r(e,["tools"]);if(t!==void 0&&_!=null){let z=Ct(_);Array.isArray(z)&&(z=z.map(ue=>wp(Tt(ue)))),l(t,["tools"],z)}let P=r(e,["toolConfig"]);if(t!==void 0&&P!=null&&l(t,["toolConfig"],Ep(P)),r(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let N=r(e,["cachedContent"]);t!==void 0&&N!=null&&l(t,["cachedContent"],Ue(n,N));let x=r(e,["responseModalities"]);x!=null&&l(i,["responseModalities"],x);let D=r(e,["mediaResolution"]);D!=null&&l(i,["mediaResolution"],D);let A=r(e,["speechConfig"]);if(A!=null&&l(i,["speechConfig"],Vo(A)),r(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let k=r(e,["thinkingConfig"]);k!=null&&l(i,["thinkingConfig"],k);let q=r(e,["imageConfig"]);q!=null&&l(i,["imageConfig"],Xf(q));let de=r(e,["enableEnhancedCivicAnswers"]);return de!=null&&l(i,["enableEnhancedCivicAnswers"],de),i}p(Tf,"generateContentConfigToMldev");function Cf(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],le(o));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],Bo(v));let I=r(e,["responseJsonSchema"]);I!=null&&l(i,["responseJsonSchema"],I);let T=r(e,["routingConfig"]);T!=null&&l(i,["routingConfig"],T);let _=r(e,["modelSelectionConfig"]);_!=null&&l(i,["modelConfig"],_);let P=r(e,["safetySettings"]);if(t!==void 0&&P!=null){let ve=P;Array.isArray(ve)&&(ve=ve.map(Fe=>Fe)),l(t,["safetySettings"],ve)}let N=r(e,["tools"]);if(t!==void 0&&N!=null){let ve=Ct(N);Array.isArray(ve)&&(ve=ve.map(Fe=>ja(Tt(Fe)))),l(t,["tools"],ve)}let x=r(e,["toolConfig"]);t!==void 0&&x!=null&&l(t,["toolConfig"],x);let D=r(e,["labels"]);t!==void 0&&D!=null&&l(t,["labels"],D);let A=r(e,["cachedContent"]);t!==void 0&&A!=null&&l(t,["cachedContent"],Ue(n,A));let k=r(e,["responseModalities"]);k!=null&&l(i,["responseModalities"],k);let q=r(e,["mediaResolution"]);q!=null&&l(i,["mediaResolution"],q);let de=r(e,["speechConfig"]);de!=null&&l(i,["speechConfig"],Za(Vo(de)));let z=r(e,["audioTimestamp"]);z!=null&&l(i,["audioTimestamp"],z);let ue=r(e,["thinkingConfig"]);ue!=null&&l(i,["thinkingConfig"],ue);let gi=r(e,["imageConfig"]);if(gi!=null&&l(i,["imageConfig"],Qf(gi)),r(e,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return i}p(Cf,"generateContentConfigToVertex");function ma(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>Yn(c))),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&l(t,["generationConfig"],Tf(n,s,t)),t}p(ma,"generateContentParametersToMldev");function ga(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&l(t,["generationConfig"],Cf(n,s,t)),t}p(ga,"generateContentParametersToVertex");function ba(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let d=i;Array.isArray(d)&&(d=d.map(u=>zu(u))),l(e,["candidates"],d)}let o=r(n,["modelVersion"]);o!=null&&l(e,["modelVersion"],o);let s=r(n,["promptFeedback"]);s!=null&&l(e,["promptFeedback"],s);let a=r(n,["responseId"]);a!=null&&l(e,["responseId"],a);let c=r(n,["usageMetadata"]);return c!=null&&l(e,["usageMetadata"],c),e}p(ba,"generateContentResponseFromMldev");function ya(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let u=i;Array.isArray(u)&&(u=u.map(f=>f)),l(e,["candidates"],u)}let o=r(n,["createTime"]);o!=null&&l(e,["createTime"],o);let s=r(n,["modelVersion"]);s!=null&&l(e,["modelVersion"],s);let a=r(n,["promptFeedback"]);a!=null&&l(e,["promptFeedback"],a);let c=r(n,["responseId"]);c!=null&&l(e,["responseId"],c);let d=r(n,["usageMetadata"]);return d!=null&&l(e,["usageMetadata"],d),e}p(ya,"generateContentResponseFromVertex");function _f(n,e){let t={};if(r(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(r(n,["negativePrompt"])!==void 0)throw new Error("negativePrompt parameter is not supported in Gemini API.");let i=r(n,["numberOfImages"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["aspectRatio"]);e!==void 0&&o!=null&&l(e,["parameters","aspectRatio"],o);let s=r(n,["guidanceScale"]);if(e!==void 0&&s!=null&&l(e,["parameters","guidanceScale"],s),r(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let a=r(n,["safetyFilterLevel"]);e!==void 0&&a!=null&&l(e,["parameters","safetySetting"],a);let c=r(n,["personGeneration"]);e!==void 0&&c!=null&&l(e,["parameters","personGeneration"],c);let d=r(n,["includeSafetyAttributes"]);e!==void 0&&d!=null&&l(e,["parameters","includeSafetyAttributes"],d);let u=r(n,["includeRaiReason"]);e!==void 0&&u!=null&&l(e,["parameters","includeRaiReason"],u);let f=r(n,["language"]);e!==void 0&&f!=null&&l(e,["parameters","language"],f);let h=r(n,["outputMimeType"]);e!==void 0&&h!=null&&l(e,["parameters","outputOptions","mimeType"],h);let m=r(n,["outputCompressionQuality"]);if(e!==void 0&&m!=null&&l(e,["parameters","outputOptions","compressionQuality"],m),r(n,["addWatermark"])!==void 0)throw new Error("addWatermark parameter is not supported in Gemini API.");if(r(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let g=r(n,["imageSize"]);if(e!==void 0&&g!=null&&l(e,["parameters","sampleImageSize"],g),r(n,["enhancePrompt"])!==void 0)throw new Error("enhancePrompt parameter is not supported in Gemini API.");return t}p(_f,"generateImagesConfigToMldev");function Sf(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["negativePrompt"]);e!==void 0&&o!=null&&l(e,["parameters","negativePrompt"],o);let s=r(n,["numberOfImages"]);e!==void 0&&s!=null&&l(e,["parameters","sampleCount"],s);let a=r(n,["aspectRatio"]);e!==void 0&&a!=null&&l(e,["parameters","aspectRatio"],a);let c=r(n,["guidanceScale"]);e!==void 0&&c!=null&&l(e,["parameters","guidanceScale"],c);let d=r(n,["seed"]);e!==void 0&&d!=null&&l(e,["parameters","seed"],d);let u=r(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&l(e,["parameters","safetySetting"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["includeSafetyAttributes"]);e!==void 0&&h!=null&&l(e,["parameters","includeSafetyAttributes"],h);let m=r(n,["includeRaiReason"]);e!==void 0&&m!=null&&l(e,["parameters","includeRaiReason"],m);let g=r(n,["language"]);e!==void 0&&g!=null&&l(e,["parameters","language"],g);let b=r(n,["outputMimeType"]);e!==void 0&&b!=null&&l(e,["parameters","outputOptions","mimeType"],b);let E=r(n,["outputCompressionQuality"]);e!==void 0&&E!=null&&l(e,["parameters","outputOptions","compressionQuality"],E);let w=r(n,["addWatermark"]);e!==void 0&&w!=null&&l(e,["parameters","addWatermark"],w);let v=r(n,["labels"]);e!==void 0&&v!=null&&l(e,["labels"],v);let I=r(n,["imageSize"]);e!==void 0&&I!=null&&l(e,["parameters","sampleImageSize"],I);let T=r(n,["enhancePrompt"]);return e!==void 0&&T!=null&&l(e,["parameters","enhancePrompt"],T),t}p(Sf,"generateImagesConfigToVertex");function Af(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["config"]);return s!=null&&_f(s,t),t}p(Af,"generateImagesParametersToMldev");function xf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["config"]);return s!=null&&Sf(s,t),t}p(xf,"generateImagesParametersToVertex");function Pf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Vf(a))),l(e,["generatedImages"],s)}let o=r(n,["positivePromptSafetyAttributes"]);return o!=null&&l(e,["positivePromptSafetyAttributes"],Xa(o)),e}p(Pf,"generateImagesResponseFromMldev");function Nf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Xn(a))),l(e,["generatedImages"],s)}let o=r(n,["positivePromptSafetyAttributes"]);return o!=null&&l(e,["positivePromptSafetyAttributes"],Qa(o)),e}p(Nf,"generateImagesResponseFromVertex");function $f(n,e){let t={},i=r(n,["numberOfVideos"]);if(e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i),r(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(r(n,["fps"])!==void 0)throw new Error("fps parameter is not supported in Gemini API.");let o=r(n,["durationSeconds"]);if(e!==void 0&&o!=null&&l(e,["parameters","durationSeconds"],o),r(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let s=r(n,["aspectRatio"]);e!==void 0&&s!=null&&l(e,["parameters","aspectRatio"],s);let a=r(n,["resolution"]);e!==void 0&&a!=null&&l(e,["parameters","resolution"],a);let c=r(n,["personGeneration"]);if(e!==void 0&&c!=null&&l(e,["parameters","personGeneration"],c),r(n,["pubsubTopic"])!==void 0)throw new Error("pubsubTopic parameter is not supported in Gemini API.");let d=r(n,["negativePrompt"]);e!==void 0&&d!=null&&l(e,["parameters","negativePrompt"],d);let u=r(n,["enhancePrompt"]);if(e!==void 0&&u!=null&&l(e,["parameters","enhancePrompt"],u),r(n,["generateAudio"])!==void 0)throw new Error("generateAudio parameter is not supported in Gemini API.");let f=r(n,["lastFrame"]);e!==void 0&&f!=null&&l(e,["instances[0]","lastFrame"],Qn(f));let h=r(n,["referenceImages"]);if(e!==void 0&&h!=null){let m=h;Array.isArray(m)&&(m=m.map(g=>Gp(g))),l(e,["instances[0]","referenceImages"],m)}if(r(n,["mask"])!==void 0)throw new Error("mask parameter is not supported in Gemini API.");if(r(n,["compressionQuality"])!==void 0)throw new Error("compressionQuality parameter is not supported in Gemini API.");return t}p($f,"generateVideosConfigToMldev");function Rf(n,e){let t={},i=r(n,["numberOfVideos"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["outputGcsUri"]);e!==void 0&&o!=null&&l(e,["parameters","storageUri"],o);let s=r(n,["fps"]);e!==void 0&&s!=null&&l(e,["parameters","fps"],s);let a=r(n,["durationSeconds"]);e!==void 0&&a!=null&&l(e,["parameters","durationSeconds"],a);let c=r(n,["seed"]);e!==void 0&&c!=null&&l(e,["parameters","seed"],c);let d=r(n,["aspectRatio"]);e!==void 0&&d!=null&&l(e,["parameters","aspectRatio"],d);let u=r(n,["resolution"]);e!==void 0&&u!=null&&l(e,["parameters","resolution"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["pubsubTopic"]);e!==void 0&&h!=null&&l(e,["parameters","pubsubTopic"],h);let m=r(n,["negativePrompt"]);e!==void 0&&m!=null&&l(e,["parameters","negativePrompt"],m);let g=r(n,["enhancePrompt"]);e!==void 0&&g!=null&&l(e,["parameters","enhancePrompt"],g);let b=r(n,["generateAudio"]);e!==void 0&&b!=null&&l(e,["parameters","generateAudio"],b);let E=r(n,["lastFrame"]);e!==void 0&&E!=null&&l(e,["instances[0]","lastFrame"],Ne(E));let w=r(n,["referenceImages"]);if(e!==void 0&&w!=null){let T=w;Array.isArray(T)&&(T=T.map(_=>Mp(_))),l(e,["instances[0]","referenceImages"],T)}let v=r(n,["mask"]);e!==void 0&&v!=null&&l(e,["instances[0]","mask"],Rp(v));let I=r(n,["compressionQuality"]);return e!==void 0&&I!=null&&l(e,["parameters","compressionQuality"],I),t}p(Rf,"generateVideosConfigToVertex");function Gf(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response","generateVideoResponse"]);return a!=null&&l(e,["response"],Lf(a)),e}p(Gf,"generateVideosOperationFromMldev");function Mf(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Uf(a)),e}p(Mf,"generateVideosOperationFromVertex");function kf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["image"]);s!=null&&l(t,["instances[0]","image"],Qn(s));let a=r(e,["video"]);a!=null&&l(t,["instances[0]","video"],el(a));let c=r(e,["source"]);c!=null&&Ff(c,t);let d=r(e,["config"]);return d!=null&&$f(d,t),t}p(kf,"generateVideosParametersToMldev");function Df(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["image"]);s!=null&&l(t,["instances[0]","image"],Ne(s));let a=r(e,["video"]);a!=null&&l(t,["instances[0]","video"],tl(a));let c=r(e,["source"]);c!=null&&Bf(c,t);let d=r(e,["config"]);return d!=null&&Rf(d,t),t}p(Df,"generateVideosParametersToVertex");function Lf(n){let e={},t=r(n,["generatedSamples"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Hf(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Lf,"generateVideosResponseFromMldev");function Uf(n){let e={},t=r(n,["videos"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Of(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Uf,"generateVideosResponseFromVertex");function Ff(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],Qn(o));let s=r(n,["video"]);return e!==void 0&&s!=null&&l(e,["instances[0]","video"],el(s)),t}p(Ff,"generateVideosSourceToMldev");function Bf(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],Ne(o));let s=r(n,["video"]);return e!==void 0&&s!=null&&l(e,["instances[0]","video"],tl(s)),t}p(Bf,"generateVideosSourceToVertex");function Vf(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["image"],Zf(t));let i=r(n,["raiFilteredReason"]);i!=null&&l(e,["raiFilteredReason"],i);let o=r(n,["_self"]);return o!=null&&l(e,["safetyAttributes"],Xa(o)),e}p(Vf,"generatedImageFromMldev");function Xn(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["image"],Ya(t));let i=r(n,["raiFilteredReason"]);i!=null&&l(e,["raiFilteredReason"],i);let o=r(n,["_self"]);o!=null&&l(e,["safetyAttributes"],Qa(o));let s=r(n,["prompt"]);return s!=null&&l(e,["enhancedPrompt"],s),e}p(Xn,"generatedImageFromVertex");function qf(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["mask"],Ya(t));let i=r(n,["labels"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(e,["labels"],o)}return e}p(qf,"generatedImageMaskFromVertex");function Hf(n){let e={},t=r(n,["video"]);return t!=null&&l(e,["video"],Np(t)),e}p(Hf,"generatedVideoFromMldev");function Of(n){let e={},t=r(n,["_self"]);return t!=null&&l(e,["video"],$p(t)),e}p(Of,"generatedVideoFromVertex");function zf(n){let e={},t=r(n,["modelSelectionConfig"]);t!=null&&l(e,["modelConfig"],t);let i=r(n,["responseJsonSchema"]);i!=null&&l(e,["responseJsonSchema"],i);let o=r(n,["audioTimestamp"]);o!=null&&l(e,["audioTimestamp"],o);let s=r(n,["candidateCount"]);s!=null&&l(e,["candidateCount"],s);let a=r(n,["enableAffectiveDialog"]);a!=null&&l(e,["enableAffectiveDialog"],a);let c=r(n,["frequencyPenalty"]);c!=null&&l(e,["frequencyPenalty"],c);let d=r(n,["logprobs"]);d!=null&&l(e,["logprobs"],d);let u=r(n,["maxOutputTokens"]);u!=null&&l(e,["maxOutputTokens"],u);let f=r(n,["mediaResolution"]);f!=null&&l(e,["mediaResolution"],f);let h=r(n,["presencePenalty"]);h!=null&&l(e,["presencePenalty"],h);let m=r(n,["responseLogprobs"]);m!=null&&l(e,["responseLogprobs"],m);let g=r(n,["responseMimeType"]);g!=null&&l(e,["responseMimeType"],g);let b=r(n,["responseModalities"]);b!=null&&l(e,["responseModalities"],b);let E=r(n,["responseSchema"]);E!=null&&l(e,["responseSchema"],E);let w=r(n,["routingConfig"]);w!=null&&l(e,["routingConfig"],w);let v=r(n,["seed"]);v!=null&&l(e,["seed"],v);let I=r(n,["speechConfig"]);I!=null&&l(e,["speechConfig"],Za(I));let T=r(n,["stopSequences"]);T!=null&&l(e,["stopSequences"],T);let _=r(n,["temperature"]);_!=null&&l(e,["temperature"],_);let P=r(n,["thinkingConfig"]);P!=null&&l(e,["thinkingConfig"],P);let N=r(n,["topK"]);N!=null&&l(e,["topK"],N);let x=r(n,["topP"]);if(x!=null&&l(e,["topP"],x),r(n,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return e}p(zf,"generationConfigToVertex");function Kf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(Kf,"getModelParametersToMldev");function Jf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(Jf,"getModelParametersToVertex");function Wf(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Wf,"googleMapsToMldev$1");function Yf(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Yf,"googleSearchToMldev$1");function Xf(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);if(i!=null&&l(e,["imageSize"],i),r(n,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(r(n,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");return e}p(Xf,"imageConfigToMldev");function Qf(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);i!=null&&l(e,["imageSize"],i);let o=r(n,["outputMimeType"]);o!=null&&l(e,["imageOutputOptions","mimeType"],o);let s=r(n,["outputCompressionQuality"]);return s!=null&&l(e,["imageOutputOptions","compressionQuality"],s),e}p(Qf,"imageConfigToVertex");function Zf(n){let e={},t=r(n,["bytesBase64Encoded"]);t!=null&&l(e,["imageBytes"],qe(t));let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Zf,"imageFromMldev");function Ya(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["imageBytes"],qe(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(Ya,"imageFromVertex");function Qn(n){let e={};if(r(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");let t=r(n,["imageBytes"]);t!=null&&l(e,["bytesBase64Encoded"],qe(t));let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Qn,"imageToMldev");function Ne(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["imageBytes"]);i!=null&&l(e,["bytesBase64Encoded"],qe(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(Ne,"imageToVertex");function jf(n,e,t){let i={},o=r(e,["pageSize"]);t!==void 0&&o!=null&&l(t,["_query","pageSize"],o);let s=r(e,["pageToken"]);t!==void 0&&s!=null&&l(t,["_query","pageToken"],s);let a=r(e,["filter"]);t!==void 0&&a!=null&&l(t,["_query","filter"],a);let c=r(e,["queryBase"]);return t!==void 0&&c!=null&&l(t,["_url","models_url"],Va(n,c)),i}p(jf,"listModelsConfigToMldev");function ep(n,e,t){let i={},o=r(e,["pageSize"]);t!==void 0&&o!=null&&l(t,["_query","pageSize"],o);let s=r(e,["pageToken"]);t!==void 0&&s!=null&&l(t,["_query","pageToken"],s);let a=r(e,["filter"]);t!==void 0&&a!=null&&l(t,["_query","filter"],a);let c=r(e,["queryBase"]);return t!==void 0&&c!=null&&l(t,["_url","models_url"],Va(n,c)),i}p(ep,"listModelsConfigToVertex");function tp(n,e){let t={},i=r(e,["config"]);return i!=null&&jf(n,i,t),t}p(tp,"listModelsParametersToMldev");function np(n,e){let t={},i=r(e,["config"]);return i!=null&&ep(n,i,t),t}p(np,"listModelsParametersToVertex");function ip(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["_self"]);if(o!=null){let s=qa(o);Array.isArray(s)&&(s=s.map(a=>co(a))),l(e,["models"],s)}return e}p(ip,"listModelsResponseFromMldev");function op(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["_self"]);if(o!=null){let s=qa(o);Array.isArray(s)&&(s=s.map(a=>uo(a))),l(e,["models"],s)}return e}p(op,"listModelsResponseFromVertex");function sp(n){let e={},t=r(n,["maskMode"]);t!=null&&l(e,["maskMode"],t);let i=r(n,["segmentationClasses"]);i!=null&&l(e,["maskClasses"],i);let o=r(n,["maskDilation"]);return o!=null&&l(e,["dilation"],o),e}p(sp,"maskReferenceConfigToVertex");function co(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);o!=null&&l(e,["description"],o);let s=r(n,["version"]);s!=null&&l(e,["version"],s);let a=r(n,["_self"]);a!=null&&l(e,["tunedModelInfo"],vp(a));let c=r(n,["inputTokenLimit"]);c!=null&&l(e,["inputTokenLimit"],c);let d=r(n,["outputTokenLimit"]);d!=null&&l(e,["outputTokenLimit"],d);let u=r(n,["supportedGenerationMethods"]);u!=null&&l(e,["supportedActions"],u);let f=r(n,["temperature"]);f!=null&&l(e,["temperature"],f);let h=r(n,["maxTemperature"]);h!=null&&l(e,["maxTemperature"],h);let m=r(n,["topP"]);m!=null&&l(e,["topP"],m);let g=r(n,["topK"]);g!=null&&l(e,["topK"],g);let b=r(n,["thinking"]);return b!=null&&l(e,["thinking"],b),e}p(co,"modelFromMldev");function uo(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);o!=null&&l(e,["description"],o);let s=r(n,["versionId"]);s!=null&&l(e,["version"],s);let a=r(n,["deployedModels"]);if(a!=null){let h=a;Array.isArray(h)&&(h=h.map(m=>yf(m))),l(e,["endpoints"],h)}let c=r(n,["labels"]);c!=null&&l(e,["labels"],c);let d=r(n,["_self"]);d!=null&&l(e,["tunedModelInfo"],Ip(d));let u=r(n,["defaultCheckpointId"]);u!=null&&l(e,["defaultCheckpointId"],u);let f=r(n,["checkpoints"]);if(f!=null){let h=f;Array.isArray(h)&&(h=h.map(m=>m)),l(e,["checkpoints"],h)}return e}p(uo,"modelFromVertex");function rp(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],Ef(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],wf(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Ou(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(rp,"partToMldev$1");function ap(n){let e={},t=r(n,["productImage"]);return t!=null&&l(e,["image"],Ne(t)),e}p(ap,"productImageToVertex");function lp(n,e){let t={},i=r(n,["numberOfImages"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["baseSteps"]);e!==void 0&&o!=null&&l(e,["parameters","baseSteps"],o);let s=r(n,["outputGcsUri"]);e!==void 0&&s!=null&&l(e,["parameters","storageUri"],s);let a=r(n,["seed"]);e!==void 0&&a!=null&&l(e,["parameters","seed"],a);let c=r(n,["safetyFilterLevel"]);e!==void 0&&c!=null&&l(e,["parameters","safetySetting"],c);let d=r(n,["personGeneration"]);e!==void 0&&d!=null&&l(e,["parameters","personGeneration"],d);let u=r(n,["addWatermark"]);e!==void 0&&u!=null&&l(e,["parameters","addWatermark"],u);let f=r(n,["outputMimeType"]);e!==void 0&&f!=null&&l(e,["parameters","outputOptions","mimeType"],f);let h=r(n,["outputCompressionQuality"]);e!==void 0&&h!=null&&l(e,["parameters","outputOptions","compressionQuality"],h);let m=r(n,["enhancePrompt"]);e!==void 0&&m!=null&&l(e,["parameters","enhancePrompt"],m);let g=r(n,["labels"]);return e!==void 0&&g!=null&&l(e,["labels"],g),t}p(lp,"recontextImageConfigToVertex");function cp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["source"]);o!=null&&up(o,t);let s=r(e,["config"]);return s!=null&&lp(s,t),t}p(cp,"recontextImageParametersToVertex");function dp(n){let e={},t=r(n,["predictions"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>Xn(o))),l(e,["generatedImages"],i)}return e}p(dp,"recontextImageResponseFromVertex");function up(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["personImage"]);e!==void 0&&o!=null&&l(e,["instances[0]","personImage","image"],Ne(o));let s=r(n,["productImages"]);if(e!==void 0&&s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>ap(c))),l(e,["instances[0]","productImages"],a)}return t}p(up,"recontextImageSourceToVertex");function fp(n){let e={},t=r(n,["referenceImage"]);t!=null&&l(e,["referenceImage"],Ne(t));let i=r(n,["referenceId"]);i!=null&&l(e,["referenceId"],i);let o=r(n,["referenceType"]);o!=null&&l(e,["referenceType"],o);let s=r(n,["maskImageConfig"]);s!=null&&l(e,["maskImageConfig"],sp(s));let a=r(n,["controlImageConfig"]);a!=null&&l(e,["controlImageConfig"],Qu(a));let c=r(n,["styleImageConfig"]);c!=null&&l(e,["styleImageConfig"],c);let d=r(n,["subjectImageConfig"]);return d!=null&&l(e,["subjectImageConfig"],d),e}p(fp,"referenceImageAPIInternalToVertex");function Xa(n){let e={},t=r(n,["safetyAttributes","categories"]);t!=null&&l(e,["categories"],t);let i=r(n,["safetyAttributes","scores"]);i!=null&&l(e,["scores"],i);let o=r(n,["contentType"]);return o!=null&&l(e,["contentType"],o),e}p(Xa,"safetyAttributesFromMldev");function Qa(n){let e={},t=r(n,["safetyAttributes","categories"]);t!=null&&l(e,["categories"],t);let i=r(n,["safetyAttributes","scores"]);i!=null&&l(e,["scores"],i);let o=r(n,["contentType"]);return o!=null&&l(e,["contentType"],o),e}p(Qa,"safetyAttributesFromVertex");function pp(n){let e={},t=r(n,["category"]);if(t!=null&&l(e,["category"],t),r(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let i=r(n,["threshold"]);return i!=null&&l(e,["threshold"],i),e}p(pp,"safetySettingToMldev");function hp(n){let e={},t=r(n,["image"]);return t!=null&&l(e,["image"],Ne(t)),e}p(hp,"scribbleImageToVertex");function mp(n,e){let t={},i=r(n,["mode"]);e!==void 0&&i!=null&&l(e,["parameters","mode"],i);let o=r(n,["maxPredictions"]);e!==void 0&&o!=null&&l(e,["parameters","maxPredictions"],o);let s=r(n,["confidenceThreshold"]);e!==void 0&&s!=null&&l(e,["parameters","confidenceThreshold"],s);let a=r(n,["maskDilation"]);e!==void 0&&a!=null&&l(e,["parameters","maskDilation"],a);let c=r(n,["binaryColorThreshold"]);e!==void 0&&c!=null&&l(e,["parameters","binaryColorThreshold"],c);let d=r(n,["labels"]);return e!==void 0&&d!=null&&l(e,["labels"],d),t}p(mp,"segmentImageConfigToVertex");function gp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["source"]);o!=null&&yp(o,t);let s=r(e,["config"]);return s!=null&&mp(s,t),t}p(gp,"segmentImageParametersToVertex");function bp(n){let e={},t=r(n,["predictions"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>qf(o))),l(e,["generatedMasks"],i)}return e}p(bp,"segmentImageResponseFromVertex");function yp(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],Ne(o));let s=r(n,["scribbleImage"]);return e!==void 0&&s!=null&&l(e,["instances[0]","scribble"],hp(s)),t}p(yp,"segmentImageSourceToVertex");function Za(n){let e={},t=r(n,["voiceConfig"]);t!=null&&l(e,["voiceConfig"],t);let i=r(n,["languageCode"]);if(i!=null&&l(e,["languageCode"],i),r(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");return e}p(Za,"speechConfigToVertex");function Ep(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],vf(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(Ep,"toolConfigToMldev");function wp(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Wf(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Yf(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(wp,"toolToMldev$1");function ja(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>If(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(ja,"toolToVertex");function vp(n){let e={},t=r(n,["baseModel"]);t!=null&&l(e,["baseModel"],t);let i=r(n,["createTime"]);i!=null&&l(e,["createTime"],i);let o=r(n,["updateTime"]);return o!=null&&l(e,["updateTime"],o),e}p(vp,"tunedModelInfoFromMldev");function Ip(n){let e={},t=r(n,["labels","google-vertex-llm-tuning-base-model-id"]);t!=null&&l(e,["baseModel"],t);let i=r(n,["createTime"]);i!=null&&l(e,["createTime"],i);let o=r(n,["updateTime"]);return o!=null&&l(e,["updateTime"],o),e}p(Ip,"tunedModelInfoFromVertex");function Tp(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);e!==void 0&&o!=null&&l(e,["description"],o);let s=r(n,["defaultCheckpointId"]);return e!==void 0&&s!=null&&l(e,["defaultCheckpointId"],s),t}p(Tp,"updateModelConfigToMldev");function Cp(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);e!==void 0&&o!=null&&l(e,["description"],o);let s=r(n,["defaultCheckpointId"]);return e!==void 0&&s!=null&&l(e,["defaultCheckpointId"],s),t}p(Cp,"updateModelConfigToVertex");function _p(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","name"],U(n,i));let o=r(e,["config"]);return o!=null&&Tp(o,t),t}p(_p,"updateModelParametersToMldev");function Sp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["config"]);return o!=null&&Cp(o,t),t}p(Sp,"updateModelParametersToVertex");function Ap(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["safetyFilterLevel"]);e!==void 0&&o!=null&&l(e,["parameters","safetySetting"],o);let s=r(n,["personGeneration"]);e!==void 0&&s!=null&&l(e,["parameters","personGeneration"],s);let a=r(n,["includeRaiReason"]);e!==void 0&&a!=null&&l(e,["parameters","includeRaiReason"],a);let c=r(n,["outputMimeType"]);e!==void 0&&c!=null&&l(e,["parameters","outputOptions","mimeType"],c);let d=r(n,["outputCompressionQuality"]);e!==void 0&&d!=null&&l(e,["parameters","outputOptions","compressionQuality"],d);let u=r(n,["enhanceInputImage"]);e!==void 0&&u!=null&&l(e,["parameters","upscaleConfig","enhanceInputImage"],u);let f=r(n,["imagePreservationFactor"]);e!==void 0&&f!=null&&l(e,["parameters","upscaleConfig","imagePreservationFactor"],f);let h=r(n,["labels"]);e!==void 0&&h!=null&&l(e,["labels"],h);let m=r(n,["numberOfImages"]);e!==void 0&&m!=null&&l(e,["parameters","sampleCount"],m);let g=r(n,["mode"]);return e!==void 0&&g!=null&&l(e,["parameters","mode"],g),t}p(Ap,"upscaleImageAPIConfigInternalToVertex");function xp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["image"]);o!=null&&l(t,["instances[0]","image"],Ne(o));let s=r(e,["upscaleFactor"]);s!=null&&l(t,["parameters","upscaleConfig","upscaleFactor"],s);let a=r(e,["config"]);return a!=null&&Ap(a,t),t}p(xp,"upscaleImageAPIParametersInternalToVertex");function Pp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>Xn(s))),l(e,["generatedImages"],o)}return e}p(Pp,"upscaleImageResponseFromVertex");function Np(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["encodedVideo"]);i!=null&&l(e,["videoBytes"],qe(i));let o=r(n,["encoding"]);return o!=null&&l(e,["mimeType"],o),e}p(Np,"videoFromMldev");function $p(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["uri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["videoBytes"],qe(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p($p,"videoFromVertex");function Rp(n){let e={},t=r(n,["image"]);t!=null&&l(e,["_self"],Ne(t));let i=r(n,["maskMode"]);return i!=null&&l(e,["maskMode"],i),e}p(Rp,"videoGenerationMaskToVertex");function Gp(n){let e={},t=r(n,["image"]);t!=null&&l(e,["image"],Qn(t));let i=r(n,["referenceType"]);return i!=null&&l(e,["referenceType"],i),e}p(Gp,"videoGenerationReferenceImageToMldev");function Mp(n){let e={},t=r(n,["image"]);t!=null&&l(e,["image"],Ne(t));let i=r(n,["referenceType"]);return i!=null&&l(e,["referenceType"],i),e}p(Mp,"videoGenerationReferenceImageToVertex");function el(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["videoBytes"]);i!=null&&l(e,["encodedVideo"],qe(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["encoding"],o),e}p(el,"videoToMldev");function tl(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["videoBytes"]);i!=null&&l(e,["bytesBase64Encoded"],qe(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(tl,"videoToVertex");function kp(n,e){let t={},i=r(n,["displayName"]);return e!==void 0&&i!=null&&l(e,["displayName"],i),t}p(kp,"createFileSearchStoreConfigToMldev");function Dp(n){let e={},t=r(n,["config"]);return t!=null&&kp(t,e),e}p(Dp,"createFileSearchStoreParametersToMldev");function Lp(n,e){let t={},i=r(n,["force"]);return e!==void 0&&i!=null&&l(e,["_query","force"],i),t}p(Lp,"deleteFileSearchStoreConfigToMldev");function Up(n){let e={},t=r(n,["name"]);t!=null&&l(e,["_url","name"],t);let i=r(n,["config"]);return i!=null&&Lp(i,e),e}p(Up,"deleteFileSearchStoreParametersToMldev");function Fp(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","name"],t),e}p(Fp,"getFileSearchStoreParametersToMldev");function Bp(n,e){let t={},i=r(n,["customMetadata"]);if(e!==void 0&&i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["customMetadata"],s)}let o=r(n,["chunkingConfig"]);return e!==void 0&&o!=null&&l(e,["chunkingConfig"],o),t}p(Bp,"importFileConfigToMldev");function Vp(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Hp(a)),e}p(Vp,"importFileOperationFromMldev");function qp(n){let e={},t=r(n,["fileSearchStoreName"]);t!=null&&l(e,["_url","file_search_store_name"],t);let i=r(n,["fileName"]);i!=null&&l(e,["fileName"],i);let o=r(n,["config"]);return o!=null&&Bp(o,e),e}p(qp,"importFileParametersToMldev");function Hp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p(Hp,"importFileResponseFromMldev");function Op(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Op,"listFileSearchStoresConfigToMldev");function zp(n){let e={},t=r(n,["config"]);return t!=null&&Op(t,e),e}p(zp,"listFileSearchStoresParametersToMldev");function Kp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["fileSearchStores"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["fileSearchStores"],s)}return e}p(Kp,"listFileSearchStoresResponseFromMldev");function nl(n,e){let t={},i=r(n,["mimeType"]);e!==void 0&&i!=null&&l(e,["mimeType"],i);let o=r(n,["displayName"]);e!==void 0&&o!=null&&l(e,["displayName"],o);let s=r(n,["customMetadata"]);if(e!==void 0&&s!=null){let c=s;Array.isArray(c)&&(c=c.map(d=>d)),l(e,["customMetadata"],c)}let a=r(n,["chunkingConfig"]);return e!==void 0&&a!=null&&l(e,["chunkingConfig"],a),t}p(nl,"uploadToFileSearchStoreConfigToMldev");function Jp(n){let e={},t=r(n,["fileSearchStoreName"]);t!=null&&l(e,["_url","file_search_store_name"],t);let i=r(n,["config"]);return i!=null&&nl(i,e),e}p(Jp,"uploadToFileSearchStoreParametersToMldev");function Wp(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(Wp,"uploadToFileSearchStoreResumableResponseFromMldev");var Yp="Content-Type",Xp="X-Server-Timeout",Qp="User-Agent",fo="x-goog-api-client",Zp="1.33.0",jp=`google-genai-sdk/${Zp}`,eh="v1beta1",th="v1beta",po=class{static{p(this,"ApiClient")}constructor(e){var t,i;this.clientOptions=Object.assign(Object.assign({},e),{project:e.project,location:e.location,apiKey:e.apiKey,vertexai:e.vertexai});let o={};this.clientOptions.vertexai?(o.apiVersion=(t=this.clientOptions.apiVersion)!==null&&t!==void 0?t:eh,o.baseUrl=this.baseUrlFromProjectLocation(),this.normalizeAuthParameters()):(o.apiVersion=(i=this.clientOptions.apiVersion)!==null&&i!==void 0?i:th,o.baseUrl="https://generativelanguage.googleapis.com/"),o.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=o,e.httpOptions&&(this.clientOptions.httpOptions=this.patchHttpOptions(o,e.httpOptions))}baseUrlFromProjectLocation(){return this.clientOptions.project&&this.clientOptions.location&&this.clientOptions.location!=="global"?`https://${this.clientOptions.location}-aiplatform.googleapis.com/`:"https://aiplatform.googleapis.com/"}normalizeAuthParameters(){if(this.clientOptions.project&&this.clientOptions.location){this.clientOptions.apiKey=void 0;return}this.clientOptions.project=void 0,this.clientOptions.location=void 0}isVertexAI(){var e;return(e=this.clientOptions.vertexai)!==null&&e!==void 0?e:!1}getProject(){return this.clientOptions.project}getLocation(){return this.clientOptions.location}getApiVersion(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.apiVersion!==void 0)return this.clientOptions.httpOptions.apiVersion;throw new Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw new Error("Base URL is not set.")}getRequestUrl(){return this.getRequestUrlInternal(this.clientOptions.httpOptions)}getHeaders(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.headers!==void 0)return this.clientOptions.httpOptions.headers;throw new Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw new Error("HTTP options are not correctly set.");let i=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&e.apiVersion!==""&&i.push(e.apiVersion),i.join("/")}getBaseResourcePath(){return`projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`}getApiKey(){return this.clientOptions.apiKey}getWebsocketBaseUrl(){let e=this.getBaseUrl(),t=new URL(e);return t.protocol=t.protocol=="http:"?"ws":"wss",t.toString()}setBaseUrl(e){if(this.clientOptions.httpOptions)this.clientOptions.httpOptions.baseUrl=e;else throw new Error("HTTP options are not correctly set.")}constructUrl(e,t,i){let o=[this.getRequestUrlInternal(t)];return i&&o.push(this.getBaseResourcePath()),e!==""&&o.push(e),new URL(`${o.join("/")}`)}shouldPrependVertexProjectPath(e){return!(this.clientOptions.apiKey||!this.clientOptions.vertexai||e.path.startsWith("projects/")||e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))}async request(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e),o=this.constructUrl(e.path,t,i);if(e.queryParams)for(let[a,c]of Object.entries(e.queryParams))o.searchParams.append(a,String(c));let s={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw new Error("Request body should be empty for GET request, but got non empty request body")}else s.body=e.body;return s=await this.includeExtraHttpOptionsToRequestInit(s,t,o.toString(),e.abortSignal),this.unaryApiCall(o,s,e.httpMethod)}patchHttpOptions(e,t){let i=JSON.parse(JSON.stringify(e));for(let[o,s]of Object.entries(t))typeof s=="object"?i[o]=Object.assign(Object.assign({},i[o]),s):s!==void 0&&(i[o]=s);return i}async requestStream(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e),o=this.constructUrl(e.path,t,i);(!o.searchParams.has("alt")||o.searchParams.get("alt")!=="sse")&&o.searchParams.set("alt","sse");let s={};return s.body=e.body,s=await this.includeExtraHttpOptionsToRequestInit(s,t,o.toString(),e.abortSignal),this.streamApiCall(o,s,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,t,i,o){if(t&&t.timeout||o){let s=new AbortController,a=s.signal;if(t.timeout&&t?.timeout>0){let c=setTimeout(()=>s.abort(),t.timeout);c&&typeof c.unref=="function"&&c.unref()}o&&o.addEventListener("abort",()=>{s.abort()}),e.signal=a}return t&&t.extraBody!==null&&nh(e,t.extraBody),e.headers=await this.getHeadersInternal(t,i),e}async unaryApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async o=>(await Ea(o),new Ut(o))).catch(o=>{throw o instanceof Error?o:new Error(JSON.stringify(o))})}async streamApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async o=>(await Ea(o),this.processStreamResponse(o))).catch(o=>{throw o instanceof Error?o:new Error(JSON.stringify(o))})}processStreamResponse(e){return Ae(this,arguments,p(function*(){var i;let o=(i=e?.body)===null||i===void 0?void 0:i.getReader(),s=new TextDecoder("utf-8");if(!o)throw new Error("Response body is empty");try{let a="",c="data:",d=[`
664
+ latestAddr: ${d.latestAddr} (I: d0adcc392e6e974c9917730ebad51322)`),this._currentWorkingContextIbGib=d.latestIbGib??await this.getContextIbGibFromArgOrAddr({addr:d.latestAddr,latest:!1}),this._updatingContext?V&&console.log(`${u} already updating context (I: f856f9414627ab00418dccd285b55822)`):(await this.handleContextUpdate({update:d}),a())}},"next"),error:p(async d=>{let u=`${o}[latestObs.error]`;console.error(`${u} this.metaspace.latestObs error: ${Ks({err:d})}. (E: 99df4c42195d46d0a9dbfb06ac45ae00)`)},"error")})),i&&await this.rel8To({ibGibs:[this._currentWorkingContextIbGib],rel8nName:i})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{V&&console.log(`${o} complete.`)}}async finalizeContext({arg:e}){let t=`${this.lc}[${this.finalizeContext.name}]`;try{V&&console.log(`${t} starting... (I: dd53dfc745864dd19fde5f209ceb82c8)`);let i=0,o=100;for(;this._updatingContext&&i<o;)await H(100),i++,i%10===0&&console.log(`${t} already updating context and taking a litle while... waiting still. tries: ${i}/${o} (I: d45ab59af9ea43518432e34ddad95c19)`);throw this._updatingContext&&console.error(`${t} previous call to updatingContext took too long. Ignoring flag and finalizing context. (E: 9a2dc4e1923442fa90fbeae72f358acd)`),this._updatingContext=!0,this._contextChangesSubscription&&(await this._contextChangesSubscription.unsubscribe(),delete this._contextChangesSubscription),delete this._currentWorkingContextIbGib,new Error("not refactored yet. the proceeding code needs to be introduced in the robbot descending class. (E: 066aa414693672d868dbf953617aab23)")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{this._updatingContext=!1,V&&console.log(`${t} complete.`)}}async handleContextUpdate({update:e}){let t=`${this.lc}[${this.handleContextUpdate.name}]`;for(;this._updatingContext;)console.warn(`${t} already updating context? delaying... (W: 19d2ebeaaf2340fb91a7d6c717e9cb41)`),await H(1e3);this._updatingContext=!0;try{if(V&&console.log(`${t} starting... (I: 3eeaa40cad49094f125f9f5cd6ff6e22)`),V&&(console.log(`${t} update: (I: ad0abae7de472e3b4d3891ea0b937322)`),console.table(e)),!e.latestIbGib){debugger;throw new Error("(UNEXPECTED) update.latestIbGib falsy? (E: e18a048d7e95757238396ddd84748f22)")}let i=e.latestIbGib,o=await this.getNewChildrenIbGibs({newContext:i});if(o.length===1){let s=o[0];await this.handleNewContextChild({newChild:s})}else if(o.length>1){console.warn(`${t} (UNEXPECTED) multiple new children in context update. iterating through each one. (W: 02d82a8f755f418d95fa30f0f52ad58e)`);for(let s of o)await this.handleNewContextChild({newChild:s})}else{V&&console.log(`${t} no new children in context update. returning early... (I: 31397b04965351ab29bb3f78cb709122)`);return}}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{this._updatingContext=!1,V&&console.log(`${t} complete.`)}}async getNewChildrenIbGibs({newContext:e}){let t=`${this.lc}[${this.getNewChildrenIbGibs.name}]`;try{V&&console.log(`${t} starting... (I: 1b3d1cf908489087fa3b281f55b9a522)`);let o=[...e.rel8ns?.comment??[],...e.rel8ns?.pic??[],...e.rel8ns?.link??[]].filter(u=>!this._currentWorkingContextIbGib_PriorChildrenAddrs.includes(u));if(o.length===0)return V&&console.log(`${t} no new children addrs in newContext. returning early... (I: 8f9c3658c194c472cb1e2bc19d847b22)`),[];if(!this.metaspace)throw new Error("this.metaspace falsy. not initialized? (E: 1cc26ca7de7fadcdbaecbd6613350e23)");let s=await this.metaspace.getLocalUserSpace({});if(!s)throw new Error("couldn't get local user space? (E: f118f75e5852fc22bba3a6495beec723)");let a=await Cs({addrs:o,space:s}),c=Object.values(a?.data?.latestAddrsMap??{});if(!a?.data?.success||c.length!==o.length)throw new Error("could not get latest addrs. (E: 2e1619e7e2e166696fe8ff78cb02cc22)");if(c.some(u=>u===null))throw new Error("some addrs were not found in the space. (E: 2216d8e5ad7fb600ceb025ed7c90f323)");let d=await this.metaspace.get({addrs:c});if(!d.success||d.ibGibs?.length!==o.length)throw new Error(`failed to get newChildren with addrs: ${o.join("|")}. Error: ${d.errorMsg??"unknown error 5737bd0996d5445b8bd80975bedc0d57"} (E: 05722e11350ec6ffffdb5c7d0caa2922)`);return d.ibGibs}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{V&&console.log(`${t} complete.`)}}async handleNewContextChild({newChild:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{throw new Error("not implemented in base class (E: ea6b2b13d9504d93b33b70191d106084)")}catch(i){throw console.error(`${t} ${y(i)}`),i}}};var le=J,Ue=class extends hn{static{p(this,"LiveProxyIbGib")}lc="";ib=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.ib:en;gib=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.gib:tn;data=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.data:void 0;rel8ns=this._currentWorkingContextIbGib?this._currentWorkingContextIbGib.rel8ns:void 0;async loadNewerSelfIfAvailable(){let e=`${this.lc}[${this.loadNewerSelfIfAvailable.name}]`;try{le&&console.log(`${e} starting... (I: genuuid)`),console.warn(`${e} does nothing in this class. I just have this warning here because I want to see if this gets executed. (W: genuuid)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{le&&console.log(`${e} complete.`)}}async loadIbGibDto(e){let t=`${this.lc}[${this.loadIbGibDto.name}]`;try{le&&console.log(`${t} starting... (I: genuuid)`);debugger;console.warn(`${t} does nothing in this class. I just have this warning here because I want to see if this gets executed. (W: genuuid)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{le&&console.log(`${t} complete.`)}}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;return le&&console.log(`${e} elided in this proxy class because this isn't a true witness atow (04/2025) (I: fd223814f169798d9f499d6e9cdc0325)`),[]}get ibGib(){return this._currentWorkingContextIbGib}spaceId;constructor(e,t){super(e,t)}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{le&&console.log(`${e} starting... (I: 1bd72217a5f334effc63f8d51e7b2225)`),await super.initialize(),this._contextUpdated$=await _i(),this.contextUpdated$=this._contextUpdated$.asObservable(),this._newContextChild$=await _i(),this.newContextChild$=this._newContextChild$.asObservable()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{le&&console.log(`${e} complete.`)}}parseAddlMetadataString({ib:e}){let t=`${this.lc}[${this.parseAddlMetadataString.name}]`;return console.warn(`${t} not really implemented in this class atow (04/2025). (W: genuuid)`),{}}_initialContext;async witnessImpl(e){let t=`${this.lc}[${this.witnessImpl.name}]`;try{if(le&&console.log(`${t} starting...`),Is({ib:e.ib})){if(!e.data)throw new Error("arg has space ib but arg.data is falsy (E: b2af9226c067d5e72f117fa36e239525)");let i=e.data.uuid;return this.spaceId=i,le&&console.log(`${t} spaceId set to the ${i} (I: 018724a5431ba421b71fad36924c5a25)`),se.primitive({ib:`spaceId set to ${i}`})}else if(this._initialContext){debugger;console.error(`${t} (UNEXPECTED) context already initialized. returning early without doing anything. NOTE: This error was not thrown, only logged. (E: genuuid)`)}else{let i=await this.metaspace?.getLocalUserSpace({localSpaceId:this.spaceId});return await this.setWrappedIbGib({ibGib:e,space:i}),Nt}}catch(i){throw console.error(`${t} ${i.message}`),i}finally{le&&console.log(`${t} complete.`)}}_contextUpdated$;contextUpdated$;_newContextChild$;newContextChild$;async handleContextUpdate({update:e}){let t=`${this.lc}[${this.handleContextUpdate.name}]`;try{if(le&&console.log(`${t} starting... (I: c262bcda065c086ffe9e3ac5899abe25)`),await super.handleContextUpdate({update:e}),!this._contextUpdated$)throw new Error("(UNEXPECTED) this._contextUpdated$ falsy? (E: a184df090502bed9649f8df88bd4c125)");await this._contextUpdated$.next(this._currentWorkingContextIbGib)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{le&&console.log(`${t} complete.`)}}async setWrappedIbGib({ibGib:e,ibGibAddr:t,space:i}){let o=`${this.lc}[${this.setWrappedIbGib.name}]`;try{if(le&&console.log(`${o} starting... (I: a4b0acda259c121801aa701534320125)`),this.metaspace||(this.metaspace=await $()),!e){if(!t)throw new Error("(UNEXPECTED) both ibGib AND ibGibAddr falsy? (E: 6fac98ba2d4cfdec2b7ee974dec74625)");if(i??=await this.metaspace.getLocalUserSpace({lock:!1}),!i)throw new Error("(UNEXPECTED) space falsy? no space provided and couldn't get default local user space? (E: e14d1b7a6586f99453fc571396d4df25)");let s=await this.metaspace.get({addrs:[t],space:i});if(!s.success||s.ibGibs?.length!==1)throw new Error(`${o} failed to get ibGib(?) (${t}). space.ib: ${i.ib} (E: b38f0a25d92e44c0aa5cc3b038a43c6c)`);e=s.ibGibs.at(0)}await this.initializeContext({contextIbGib:e,rel8nName:""})}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{le&&console.log(`${o} complete.`)}}async handleNewContextChild({newChild:e}){let t=`[${this.handleNewContextChild.name}]`;try{if(le&&console.log(`${t} starting... (I: 7e9b6b7a4bb2726e9c717f230dfe1925)`),!this._newContextChild$)throw new Error("(UNEXPECTED) this._contextUpdated$ falsy? (E: a184df090502bed9649f8df88bd4c125)");await this._newContextChild$.next(e)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{le&&console.log(`${t} complete.`)}}};var mt="witness_agent",gt=/^[a-zA-Z0-9_\-.]{1,32}$/,Ni=/.{1,255}/,ar="",lr="Manco",cr="This is a generic, unspecified agent.";var mn="List of function info ibgib addresses. These contain info on both the requests you made and the resultant values.",nt="agent",Rb={type:"string",description:"unique identifier for the agent. Should be provided to the agent in system instructions upon creation."},Mb={type:"string",description:"type of the agent that governs basic responsibilities. Should be provided to the agent in system instructions upon creation."};var tc="hardcoded",nc="human",ic="ai",oc="function",sc="unknown",Z={HARDCODED:tc,HUMAN:nc,AI:ic,FUNCTION:oc,UNKNOWN:sc},$i=Object.freeze(Object.values(Z));function dr(n){return!!n&&$i.includes(n)}p(dr,"isTextSource");var kb={type:"string",description:`The agent should pick a name with which to represent him/her/itself to the user. This should not be "Gemini" or something bland like that, rather, it should be a name that the agent likes. Should contain no spaces, only alphanumerics. Note that the example given has a name, but really it should be up to the agent's own preference. Please be consistent with this with yourself, i.e., don't change it once established. Must pass regex: ${gt.source}`},ur="primaryagent";var fr=!1;async function Gi({ibGib:n,addr:e,tagIbGib:t,metaspace:i,space:o}){let s=`[${Gi.name}]`;try{if(fr&&console.log(`${s} starting... (I: b1fd25ec28bce8f1916b4ab55f48a724)`),!e&&!n)throw new Error("either addr or ibGib required (E: 3d580f8ecc251a0c81c7ea8bc3d38524)");if(e??=S({ibGib:n}),e!==S({ibGib:n}))throw new Error(`addr (${e}) differs from incoming ibGib's addr (${S({ibGib:n})}). (E: f2c14234a78c917fb9f587beaee89324)`);let a=await i.getLatestAddr({ibGib:t,space:o});if(a!==S({ibGib:t})){let f=await i.get({addr:a,space:o});if(!f.success||f.ibGibs?.length!==1)throw new Error(`could not get latest tag (${a}) from space (${o.ib}). error: ${f.errorMsg??"[unknown error (E: a4e31c98398b417db8f617f98a5f2741)]"} (E: 73c085d81efdab0e7b8939222ec07524)`);t=f.ibGibs.at(0)}let c={[ws]:[e]},d=await Ye({src:t,rel8nsToAddByAddr:c,dna:!0,nCounter:!0}),u=d.newIbGib;return await i.persistTransformResult({resTransform:d,space:o}),await i.registerNewIbGib({ibGib:u,space:o}),u}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{fr&&console.log(`${s} complete.`)}}p(Gi,"rel8ToTag");var ne=J,Mi=class n{static{p(this,"AgentsService_V1")}lc=`[${n.name}]`;latestAgents=new Map;factoryFns={};constructor(){}async getAgentById(e){let t=`${this.lc}[${this.getAgentById.name}]`;try{let{agentId:i,agentType:o,spaceId:s}=e;ne&&console.log(`${t} starting... (I: 0c4214b4614a43bd2825978e54aee325)`);let a=this.latestAgents.get(i);if(!a){let c=await $();a=(await gn({metaspace:c,type:o,spaceId:s})).find(u=>u.data.uuid===i)}return a||console.warn(`${t} couldn't find any agent by id. opts: ${L(e)} (W: 70cf51ecbe68dfdcfe1e9995a7468f25)`),a}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}async updateOrSetLatestAgent({agent:e,throwIfNewerFound:t}){let i=`${this.lc}[${this.updateOrSetLatestAgent.name}]`;try{if(ne&&console.log(`${i} starting... (I: 9bb74f19b989fc0ee969cb4c2c2aa525)`),!e.data)throw new Error(`invalid agent. data falsy. agent.ib: ${e.ib} (E: 7356db7395cb0c5664d13437dd62c425)`);if(!e.data.uuid)throw new Error(`invalid agent. data.uuid falsy. agent.ib: ${e.ib} (E: 48afcd6658154bee1138fca31cbfbf25)`);let o=await this.getLatestAgent({id:e.data.uuid});if(o){if(!o.data)throw new Error("(UNEXPECTED) existing.data falsy? should have thrown on previous set function call? (E: f3cbae9922ea9849ada25db2eea40825)");if(o.data.n===e.data.n){if(o.gib===e.gib)return;console.warn(`existing.data.n === agent.data.n but gibs are different. We have a branched timeline. just logging this error, need to figure out wth is going on here. we should not have this with the timeline being locked. The only thing I can think of is if the ibgib is updated very quickly, but even then, the n should be incremented. still the approach is valid. anyway, we're going ahead and taking the newer agent.
665
+ existing: ${L(z({ibGib:o}))}
666
+ new: ${L(z({ibGib:e}))} (E: 5e079b566ff3533acdb2d01359f08625)`),await o.loadIbGibDto(e.toIbGibDto()),this.latestAgents.set(e.data.uuid,e);return}else if(o.data.n>e.data.n){let s="existing.data.n > agent.data.n, i.e., the one we already have is newer. So why was the caller trying to set to the older agent thinking it was the most recent? Probably have a branched timeline.";if(t)throw new Error(`${i} ${s} (E: bb2cc3ce8cfa88b80fb62149b0e70225)`);console.warn(`${i} ${s} (W: caaf66deb4e6fd8e2eb9261685dc0325)`);return}else{await o.loadIbGibDto(e.toIbGibDto()),this.latestAgents.set(e.data.uuid,e);return}}else{this.latestAgents.set(e.data.uuid,e);return}}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ne&&console.log(`${i} complete.`)}}getLatestAgent({id:e}){let t=`${this.lc}[${this.getLatestAgent.name}]`;try{return ne&&console.log(`${t} starting... (I: 8e85b55057760b712a913a92e88ead25)`),Promise.resolve(this.latestAgents.get(e))}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}registerFactory({classname:e,fnDtoToAgentWitness:t}){this.factoryFns[e]=t}async getAgentWitnessFromDto({dto:e,classname:t}){let i=`${this.lc}[${this.getAgentWitnessFromDto.name}]`;try{if(ne&&console.log(`${i} starting... (I: 718837d4ee3d590177f3425b99106225)`),!e.data)throw new Error("dto.data falsy (E: fad89dd4c787b687a657c13968946925)");let o;if(t??=e.data.classname,t){let s=this.factoryFns[t],a=await s(e);if(a.applies){if(!a.agent)throw new Error("(UNEXPECTED) factory function for agent dto applies: true, but the resulting agent is undefined? (E: b13cdf0f3d9c50f1fa419f2c409ebf25)");o=a.agent}else throw new Error(`classname (${t}) factory function found and attempted, but result says applied: false. (E: 751a2502c9a7e2d61c76c8ae2f7fb125)`)}else{let s=Object.keys(this.factoryFns);for(let a of s){let c=this.factoryFns[a],d=await c(e);if(d.applies){if(!d.agent)throw new Error("(UNEXPECTED) factory function for agent dto applies: true, but the resulting agent is undefined? (E: 60e97c083a668baf11efcd6adf6a3525)");o=d.agent;break}}}return o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ne&&console.log(`${i} complete.`)}}async getAgentByAddr({agentAddr:e,spaceId:t,metaspace:i}){let o=`${this.lc}[${this.getAgentByAddr.name}]`;try{if(ne&&console.log(`${o} starting... (I: 42dfecbe6d6b5a3a7d392af5a66cc625)`),!e)throw new Error(`${o} agentAddr is required. (E: 389351659a2e08fa179ceede16925a25)`);let{ib:s}=q({ibGibAddr:e}),{uuid:a,type:c}=pr({ib:s});if(!a){debugger;throw new Error(`(UNEXPECTED) agentAddr doesn't have uuid in the ib? agentAddr: ${e} (E: fedcacffed98fdc78b1e80e45c413925)`)}let d=await this.getAgentById({agentId:a,agentType:c});if(d)return ne&&console.log(`${o} agent found already in agents svc so didn't need to go get it from the space. (I: ec6abaf3badd8e301d79a7476845bc25)`),d;i??=await $();let u=await i.getLocalUserSpace({localSpaceId:t,lock:!1});if(!u)throw t?new Error(`couldn't get space with spaceId (${t}) (E: 26b3f1414a93cc339e704d0162cb8b25)`):new Error("(UNEXPECTED) couldn't get default local user space? (E: 2e19a1fae8b3f00595257f51426ac225)");let f=await i.get({addrs:[e],space:u});if(!f.success||!f.ibGibs||f.ibGibs.length===0){ne&&console.log(`${o} Agent ibGib not found in space (${t}) at address ${e}. (I: 29c5c7994fb3ed388b28a81a9ed68325)`);return}let h=f.ibGibs[0],m=await this.getAgentWitnessFromDto({dto:h});if(!m){debugger;throw new Error(`${o} Couldn't get actual agent witness from agent dto (${e}). Have we registered classname (${h.data?.classname}) and factory fn with agents service? (E: e6e9da6c91d14bd7acb5c571c8de1a25)`)}return await this.updateOrSetLatestAgent({agent:m,throwIfNewerFound:!0}),ne&&console.log(`${o} Cached agent witness with id ${a}. (I: b862f63147a3fac3c6e6210d5ab87c25)`),ne&&console.log(`${o} complete. Retrieved and cached agent witness for address ${e}.`),m}catch(s){throw console.error(`${o} ${y(s)}`),s}}async createNewAgent(e){let t=`[${this.createNewAgent.name}]`;try{ne&&console.log(`${t} starting... (I: a3e07b54bb7bf45f7739eff2d738c825)`);let{metaspace:i,superSpace:o,name:s,availableFunctions:a,initialSystemText:c,initialChatText:d,fnGetAPIKey:u,addToAgentsTag:f,type:h}=e;if(o??=await i.getLocalUserSpace({}),!o)throw new Error("(UNEXPECTED) superSpace falsy? (E: ceb60d96ff25b6d6aaa5aa69a7a51d25)");if(!o.data)throw new Error("(UNEXPECTED) superSpace.data falsy? (E: 56b4ec127f8559da96e6f70c7cb13825)");let m=Di(e),g=await m.createInitialData(o);if(!g.uuid)throw new Error("(UNEXPECTED) data.uuid falsy? (E: 4e4f6fcf89d1e3775971ad843a083725)");let b=await i.createLocalSpaceAndUpdateBootstrap({allowCancel:!1,zeroSpace:i.zeroSpace,spaceName:s+g.uuid.substring(0,5),createBootstrap:!1});if(!b)throw new Error("(UNEXPECTED) newSubSpace falsy after creating locally? (E: af8b5503c15d4292e2f591b316e7d825)");g.subSpaceId=b.data.uuid;let E=await m.createInitialRel8ns(),w=await se.firstGen({ib:Li({data:g}),parentIbGib:se.primitive({ib:mt}),data:g,rel8ns:E,nCounter:!0,dna:!0,tjp:{timestamp:!0}});await i.persistTransformResult({resTransform:w});let v=w.newIbGib,I=await m.createWitness();if(I.fnGetAPIKey=u,await I.loadIbGibDto(v),f){let A=await ki({metaspace:i,space:o}),P=await Gi({ibGib:v,metaspace:i,space:o,tagIbGib:A})}await re({type:h,rel8nInfos:[{rel8nName:nt,ibGibs:[v]}],metaspace:i,space:o}),a.length>0&&await I.addAvailableFunctions(a);let T=[];return T.push({textSrc:"hardcoded",text:bt({tagText:Ps,contentText:`Your id (agent id) is: ${g.uuid}. Your superSpaceId is: ${g.superSpaceId}. Your subSpaceId is: ${g.subSpaceId}. These may be useful/required in some functions, though you should refer to those functions' instructions/descriptions for applicability.`}),isSystem:!0}),c&&T.push({textSrc:"hardcoded",text:c,isSystem:!0}),d&&T.push({textSrc:"hardcoded",text:d}),await I.addTexts({infos:T}),this.latestAgents.set(I.data.uuid,I),I}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}getAgents(e){let t=`${this.lc}[${this.getAgents.name}]`;try{return ne&&console.log(`${t} starting... (I: 4663f125c3a21fa3ecccc2c5a38d1225)`),gn(e)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ne&&console.log(`${t} complete.`)}}},Ri;function Re(){return Ri||(Ri=new Mi),Ri}p(Re,"getAgentsSvc");var rc="gemini-3.1-pro-preview",ac="gemini-3-flash-preview",lc="gemini-3.1-flash-lite-preview",cc="gemini-3.1-flash-live-preview",dc="gemini-2.5-pro",uc="gemini-2.5-flash",fc="gemini-2.5-flash-lite",pc="gemini-2.5-flash-preview-tts",hc="gemini-2.0-flash",mc="gemini-2.0-flash-lite",Ui={GEMINI_3_1_PRO_PREVIEW:rc,GEMINI_3_FLASH_PREVIEW:ac,GEMINI_3_1_FLASH_LITE_PREVIEW:lc,GEMINI_3_1_FLASH_LIVE_PREVIEW:cc,GEMINI_2_5_PRO:dc,GEMINI_2_5_FLASH:uc,GEMINI_2_5_FLASH_LITE:fc,GEMINI_2_5_FLASH_PREVIEW_TTS:pc,GEMINI_2_0_FLASH:hc,GEMINI_2_0_FLASH_LITE:mc},iy=Object.freeze(Object.values(Ui));var hr=Ui.GEMINI_2_5_FLASH,yt=Ui.GEMINI_2_5_FLASH_LITE,Fi=5;var mr={version:"1",uuid:ar,name:lr,description:cr,classname:"AgentWitness_V1",icon:"happy",persistOptsAndResultIbGibs:!1,allowPrimitiveArgs:!0,catchAllErrors:!0,trace:!1,subSpaceId:"",superSpaceId:"",availableFunctionNameOrIds:[],model:hr,api:"gemini",type:ur,"@currentContextTjpAddr":Q},Bi=void 0;var gc,bc;function yc(){return{geminiUrl:gc,vertexUrl:bc}}p(yc,"getDefaultBaseUrls");function Ec(n,e,t,i){var o,s;if(!n?.baseUrl){let a=yc();return e?(o=a.vertexUrl)!==null&&o!==void 0?o:t:(s=a.geminiUrl)!==null&&s!==void 0?s:i}return n.baseUrl}p(Ec,"getBaseUrl");var Pe=class{static{p(this,"BaseModule")}};function C(n,e){let t=/\{([^}]+)\}/g;return n.replace(t,(i,o)=>{if(Object.prototype.hasOwnProperty.call(e,o)){let s=e[o];return s!=null?String(s):""}else throw new Error(`Key '${o}' not found in valueMap.`)})}p(C,"formatMap");function l(n,e,t){for(let s=0;s<e.length-1;s++){let a=e[s];if(a.endsWith("[]")){let c=a.slice(0,-2);if(!(c in n))if(Array.isArray(t))n[c]=Array.from({length:t.length},()=>({}));else throw new Error(`Value must be a list given an array path ${a}`);if(Array.isArray(n[c])){let d=n[c];if(Array.isArray(t))for(let u=0;u<d.length;u++){let f=d[u];l(f,e.slice(s+1),t[u])}else for(let u of d)l(u,e.slice(s+1),t)}return}else if(a.endsWith("[0]")){let c=a.slice(0,-3);c in n||(n[c]=[{}]);let d=n[c];l(d[0],e.slice(s+1),t);return}(!n[a]||typeof n[a]!="object")&&(n[a]={}),n=n[a]}let i=e[e.length-1],o=n[i];if(o!==void 0){if(!t||typeof t=="object"&&Object.keys(t).length===0||t===o)return;if(typeof o=="object"&&typeof t=="object"&&o!==null&&t!==null)Object.assign(o,t);else throw new Error(`Cannot set value for an existing key. Key: ${i}`)}else i==="_self"&&typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.assign(n,t):n[i]=t}p(l,"setValueByPath");function r(n,e,t=void 0){try{if(e.length===1&&e[0]==="_self")return n;for(let i=0;i<e.length;i++){if(typeof n!="object"||n===null)return t;let o=e[i];if(o.endsWith("[]")){let s=o.slice(0,-2);if(s in n){let a=n[s];return Array.isArray(a)?a.map(c=>r(c,e.slice(i+1),t)):t}else return t}else n=n[o]}return n}catch(i){if(i instanceof TypeError)return t;throw i}}p(r,"getValueByPath");function wc(n,e){for(let[t,i]of Object.entries(e)){let o=t.split("."),s=i.split("."),a=new Set,c=-1;for(let d=0;d<o.length;d++)if(o[d]==="*"){c=d;break}if(c!==-1&&s.length>c)for(let d=c;d<s.length;d++){let u=s[d];u!=="*"&&!u.endsWith("[]")&&!u.endsWith("[0]")&&a.add(u)}Hi(n,o,s,0,a)}}p(wc,"moveValueByPath");function Hi(n,e,t,i,o){if(i>=e.length||typeof n!="object"||n===null)return;let s=e[i];if(s.endsWith("[]")){let a=s.slice(0,-2),c=n;if(a in c&&Array.isArray(c[a]))for(let d of c[a])Hi(d,e,t,i+1,o)}else if(s==="*"){if(typeof n=="object"&&n!==null&&!Array.isArray(n)){let a=n,c=Object.keys(a).filter(u=>!u.startsWith("_")&&!o.has(u)),d={};for(let u of c)d[u]=a[u];for(let[u,f]of Object.entries(d)){let h=[];for(let m of t.slice(i))m==="*"?h.push(u):h.push(m);l(a,h,f)}for(let u of c)delete a[u]}}else{let a=n;s in a&&Hi(a[s],e,t,i+1,o)}}p(Hi,"_moveValueRecursive");function Oo(n){if(typeof n!="string")throw new Error("fromImageBytes must be a string");return n}p(Oo,"tBytes$1");function vc(n){let e={},t=r(n,["operationName"]);t!=null&&l(e,["operationName"],t);let i=r(n,["resourceName"]);return i!=null&&l(e,["_url","resourceName"],i),e}p(vc,"fetchPredictOperationParametersToVertex");function Ic(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response","generateVideoResponse"]);return a!=null&&l(e,["response"],Cc(a)),e}p(Ic,"generateVideosOperationFromMldev$1");function Tc(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],_c(a)),e}p(Tc,"generateVideosOperationFromVertex$1");function Cc(n){let e={},t=r(n,["generatedSamples"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Sc(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Cc,"generateVideosResponseFromMldev$1");function _c(n){let e={},t=r(n,["videos"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Ac(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(_c,"generateVideosResponseFromVertex$1");function Sc(n){let e={},t=r(n,["video"]);return t!=null&&l(e,["video"],Rc(t)),e}p(Sc,"generatedVideoFromMldev$1");function Ac(n){let e={},t=r(n,["_self"]);return t!=null&&l(e,["video"],Mc(t)),e}p(Ac,"generatedVideoFromVertex$1");function xc(n){let e={},t=r(n,["operationName"]);return t!=null&&l(e,["_url","operationName"],t),e}p(xc,"getOperationParametersToMldev");function Pc(n){let e={},t=r(n,["operationName"]);return t!=null&&l(e,["_url","operationName"],t),e}p(Pc,"getOperationParametersToVertex");function Nc(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],$c(a)),e}p(Nc,"importFileOperationFromMldev$1");function $c(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p($c,"importFileResponseFromMldev$1");function Ua(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Gc(a)),e}p(Ua,"uploadToFileSearchStoreOperationFromMldev");function Gc(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p(Gc,"uploadToFileSearchStoreResponseFromMldev");function Rc(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["encodedVideo"]);i!=null&&l(e,["videoBytes"],Oo(i));let o=r(n,["encoding"]);return o!=null&&l(e,["mimeType"],o),e}p(Rc,"videoFromMldev$1");function Mc(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["uri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["videoBytes"],Oo(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(Mc,"videoFromVertex$1");var gr;(function(n){n.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",n.OUTCOME_OK="OUTCOME_OK",n.OUTCOME_FAILED="OUTCOME_FAILED",n.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(gr||(gr={}));var br;(function(n){n.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",n.PYTHON="PYTHON"})(br||(br={}));var yr;(function(n){n.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",n.SILENT="SILENT",n.WHEN_IDLE="WHEN_IDLE",n.INTERRUPT="INTERRUPT"})(yr||(yr={}));var Fe;(function(n){n.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",n.STRING="STRING",n.NUMBER="NUMBER",n.INTEGER="INTEGER",n.BOOLEAN="BOOLEAN",n.ARRAY="ARRAY",n.OBJECT="OBJECT",n.NULL="NULL"})(Fe||(Fe={}));var Er;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Er||(Er={}));var wr;(function(n){n.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",n.SIMPLE_SEARCH="SIMPLE_SEARCH",n.ELASTIC_SEARCH="ELASTIC_SEARCH"})(wr||(wr={}));var vr;(function(n){n.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",n.NO_AUTH="NO_AUTH",n.API_KEY_AUTH="API_KEY_AUTH",n.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",n.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",n.OAUTH="OAUTH",n.OIDC_AUTH="OIDC_AUTH"})(vr||(vr={}));var Ir;(function(n){n.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",n.HTTP_IN_QUERY="HTTP_IN_QUERY",n.HTTP_IN_HEADER="HTTP_IN_HEADER",n.HTTP_IN_PATH="HTTP_IN_PATH",n.HTTP_IN_BODY="HTTP_IN_BODY",n.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(Ir||(Ir={}));var Tr;(function(n){n.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",n.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",n.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",n.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(Tr||(Tr={}));var Cr;(function(n){n.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",n.LOW="LOW",n.HIGH="HIGH"})(Cr||(Cr={}));var _r;(function(n){n.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",n.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",n.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",n.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",n.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",n.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",n.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",n.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",n.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",n.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",n.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(_r||(_r={}));var Sr;(function(n){n.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",n.SEVERITY="SEVERITY",n.PROBABILITY="PROBABILITY"})(Sr||(Sr={}));var Ar;(function(n){n.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE",n.OFF="OFF"})(Ar||(Ar={}));var xr;(function(n){n.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",n.STOP="STOP",n.MAX_TOKENS="MAX_TOKENS",n.SAFETY="SAFETY",n.RECITATION="RECITATION",n.LANGUAGE="LANGUAGE",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.SPII="SPII",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.IMAGE_SAFETY="IMAGE_SAFETY",n.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",n.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",n.NO_IMAGE="NO_IMAGE",n.IMAGE_RECITATION="IMAGE_RECITATION",n.IMAGE_OTHER="IMAGE_OTHER"})(xr||(xr={}));var Pr;(function(n){n.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",n.NEGLIGIBLE="NEGLIGIBLE",n.LOW="LOW",n.MEDIUM="MEDIUM",n.HIGH="HIGH"})(Pr||(Pr={}));var Nr;(function(n){n.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",n.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",n.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",n.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",n.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(Nr||(Nr={}));var $r;(function(n){n.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",n.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",n.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",n.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",n.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})($r||($r={}));var Gr;(function(n){n.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",n.SAFETY="SAFETY",n.OTHER="OTHER",n.BLOCKLIST="BLOCKLIST",n.PROHIBITED_CONTENT="PROHIBITED_CONTENT",n.IMAGE_SAFETY="IMAGE_SAFETY",n.MODEL_ARMOR="MODEL_ARMOR",n.JAILBREAK="JAILBREAK"})(Gr||(Gr={}));var Rr;(function(n){n.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",n.ON_DEMAND="ON_DEMAND",n.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(Rr||(Rr={}));var Cn;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.AUDIO="AUDIO"})(Cn||(Cn={}));var Mr;(function(n){n.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",n.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",n.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",n.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Mr||(Mr={}));var kr;(function(n){n.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",n.TUNING_MODE_FULL="TUNING_MODE_FULL",n.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(kr||(kr={}));var Dr;(function(n){n.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",n.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",n.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",n.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",n.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",n.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",n.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})(Dr||(Dr={}));var zi;(function(n){n.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",n.JOB_STATE_QUEUED="JOB_STATE_QUEUED",n.JOB_STATE_PENDING="JOB_STATE_PENDING",n.JOB_STATE_RUNNING="JOB_STATE_RUNNING",n.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",n.JOB_STATE_FAILED="JOB_STATE_FAILED",n.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",n.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",n.JOB_STATE_PAUSED="JOB_STATE_PAUSED",n.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",n.JOB_STATE_UPDATING="JOB_STATE_UPDATING",n.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(zi||(zi={}));var Lr;(function(n){n.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",n.TUNING_TASK_I2V="TUNING_TASK_I2V",n.TUNING_TASK_T2V="TUNING_TASK_T2V",n.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Lr||(Lr={}));var Ur;(function(n){n.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",n.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",n.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",n.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(Ur||(Ur={}));var Fr;(function(n){n.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",n.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",n.BALANCED="BALANCED",n.PRIORITIZE_COST="PRIORITIZE_COST"})(Fr||(Fr={}));var Br;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.BLOCKING="BLOCKING",n.NON_BLOCKING="NON_BLOCKING"})(Br||(Br={}));var Vr;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.MODE_DYNAMIC="MODE_DYNAMIC"})(Vr||(Vr={}));var qr;(function(n){n.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",n.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(qr||(qr={}));var _n;(function(n){n.MODE_UNSPECIFIED="MODE_UNSPECIFIED",n.AUTO="AUTO",n.ANY="ANY",n.NONE="NONE",n.VALIDATED="VALIDATED"})(_n||(_n={}));var Or;(function(n){n.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",n.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",n.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",n.BLOCK_NONE="BLOCK_NONE"})(Or||(Or={}));var Hr;(function(n){n.DONT_ALLOW="DONT_ALLOW",n.ALLOW_ADULT="ALLOW_ADULT",n.ALLOW_ALL="ALLOW_ALL"})(Hr||(Hr={}));var zr;(function(n){n.auto="auto",n.en="en",n.ja="ja",n.ko="ko",n.hi="hi",n.zh="zh",n.pt="pt",n.es="es"})(zr||(zr={}));var Kr;(function(n){n.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",n.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",n.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",n.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",n.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(Kr||(Kr={}));var Jr;(function(n){n.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",n.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",n.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",n.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(Jr||(Jr={}));var Wr;(function(n){n.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",n.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",n.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",n.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(Wr||(Wr={}));var Yr;(function(n){n.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",n.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",n.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",n.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",n.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",n.EDIT_MODE_STYLE="EDIT_MODE_STYLE",n.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",n.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(Yr||(Yr={}));var Xr;(function(n){n.FOREGROUND="FOREGROUND",n.BACKGROUND="BACKGROUND",n.PROMPT="PROMPT",n.SEMANTIC="SEMANTIC",n.INTERACTIVE="INTERACTIVE"})(Xr||(Xr={}));var Qr;(function(n){n.ASSET="ASSET",n.STYLE="STYLE"})(Qr||(Qr={}));var Zr;(function(n){n.INSERT="INSERT",n.REMOVE="REMOVE",n.REMOVE_STATIC="REMOVE_STATIC",n.OUTPAINT="OUTPAINT"})(Zr||(Zr={}));var jr;(function(n){n.OPTIMIZED="OPTIMIZED",n.LOSSLESS="LOSSLESS"})(jr||(jr={}));var ea;(function(n){n.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",n.PREFERENCE_TUNING="PREFERENCE_TUNING"})(ea||(ea={}));var ta;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.STATE_PENDING="STATE_PENDING",n.STATE_ACTIVE="STATE_ACTIVE",n.STATE_FAILED="STATE_FAILED"})(ta||(ta={}));var na;(function(n){n.STATE_UNSPECIFIED="STATE_UNSPECIFIED",n.PROCESSING="PROCESSING",n.ACTIVE="ACTIVE",n.FAILED="FAILED"})(na||(na={}));var ia;(function(n){n.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",n.UPLOADED="UPLOADED",n.GENERATED="GENERATED"})(ia||(ia={}));var oa;(function(n){n.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",n.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",n.RESPONSE_REJECTED="RESPONSE_REJECTED",n.NEED_MORE_INPUT="NEED_MORE_INPUT"})(oa||(oa={}));var sa;(function(n){n.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",n.TEXT="TEXT",n.IMAGE="IMAGE",n.VIDEO="VIDEO",n.AUDIO="AUDIO",n.DOCUMENT="DOCUMENT"})(sa||(sa={}));var ra;(function(n){n.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",n.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",n.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(ra||(ra={}));var aa;(function(n){n.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",n.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",n.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})(aa||(aa={}));var la;(function(n){n.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",n.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",n.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(la||(la={}));var ca;(function(n){n.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",n.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",n.NO_INTERRUPTION="NO_INTERRUPTION"})(ca||(ca={}));var da;(function(n){n.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",n.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",n.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT"})(da||(da={}));var ua;(function(n){n.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",n.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",n.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",n.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",n.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",n.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",n.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",n.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",n.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",n.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",n.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",n.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",n.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(ua||(ua={}));var fa;(function(n){n.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",n.QUALITY="QUALITY",n.DIVERSITY="DIVERSITY",n.VOCALIZATION="VOCALIZATION"})(fa||(fa={}));var wt;(function(n){n.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",n.PLAY="PLAY",n.PAUSE="PAUSE",n.STOP="STOP",n.RESET_CONTEXT="RESET_CONTEXT"})(wt||(wt={}));var Ht=class{static{p(this,"HttpResponse")}constructor(e){let t={};for(let i of e.headers.entries())t[i[0]]=i[1];this.headers=t,this.responseInternal=e}json(){return this.responseInternal.json()}};var ot=class{static{p(this,"GenerateContentResponse")}get text(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let u="",f=!1,h=[];for(let m of(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)!==null&&d!==void 0?d:[]){for(let[g,b]of Object.entries(m))g!=="text"&&g!=="thought"&&g!=="thoughtSignature"&&(b!==null||b!==void 0)&&h.push(g);if(typeof m.text=="string"){if(typeof m.thought=="boolean"&&m.thought)continue;f=!0,u+=m.text}}return h.length>0&&console.warn(`there are non-text parts ${h} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),f?u:void 0}get data(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let u="",f=[];for(let h of(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)!==null&&d!==void 0?d:[]){for(let[m,g]of Object.entries(h))m!=="inlineData"&&(g!==null||g!==void 0)&&f.push(m);h.inlineData&&typeof h.inlineData.data=="string"&&(u+=atob(h.inlineData.data))}return 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.`),u.length>0?btoa(u):void 0}get functionCalls(){var e,t,i,o,s,a,c,d;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");let u=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(f=>f.functionCall).map(f=>f.functionCall).filter(f=>f!==void 0);if(u?.length!==0)return u}get executableCode(){var e,t,i,o,s,a,c,d,u;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");let f=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(h=>h.executableCode).map(h=>h.executableCode).filter(h=>h!==void 0);if(f?.length!==0)return(u=f?.[0])===null||u===void 0?void 0:u.code}get codeExecutionResult(){var e,t,i,o,s,a,c,d,u;if(((o=(i=(t=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.content)===null||i===void 0?void 0:i.parts)===null||o===void 0?void 0:o.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let f=(d=(c=(a=(s=this.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content)===null||c===void 0?void 0:c.parts)===null||d===void 0?void 0:d.filter(h=>h.codeExecutionResult).map(h=>h.codeExecutionResult).filter(h=>h!==void 0);if(f?.length!==0)return(u=f?.[0])===null||u===void 0?void 0:u.output}},Sn=class{static{p(this,"EmbedContentResponse")}},An=class{static{p(this,"GenerateImagesResponse")}},Ki=class{static{p(this,"EditImageResponse")}},Ji=class{static{p(this,"UpscaleImageResponse")}},Wi=class{static{p(this,"RecontextImageResponse")}},Yi=class{static{p(this,"SegmentImageResponse")}},xn=class{static{p(this,"ListModelsResponse")}},Pn=class{static{p(this,"DeleteModelResponse")}},Nn=class{static{p(this,"CountTokensResponse")}},Xi=class{static{p(this,"ComputeTokensResponse")}};var $n=class n{static{p(this,"GenerateVideosOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,o,s=e;return t?o=Tc(s):o=Ic(s),Object.assign(i,o),i}},Gn=class{static{p(this,"ListTuningJobsResponse")}},Rn=class{static{p(this,"CancelTuningJobResponse")}},Mn=class{static{p(this,"DeleteCachedContentResponse")}},kn=class{static{p(this,"ListCachedContentsResponse")}},Qi=class{static{p(this,"ListDocumentsResponse")}},Zi=class{static{p(this,"ListFileSearchStoresResponse")}},ji=class{static{p(this,"UploadToFileSearchStoreResumableResponse")}};var eo=class n{static{p(this,"ImportFileOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,s=Nc(e);return Object.assign(i,s),i}},to=class{static{p(this,"ListFilesResponse")}},no=class{static{p(this,"CreateFileResponse")}},io=class{static{p(this,"DeleteFileResponse")}};var Dn=class{static{p(this,"ListBatchJobsResponse")}};var oo=class{static{p(this,"LiveServerMessage")}get text(){var e,t,i;let o="",s=!1,a=[];for(let c of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(let[d,u]of Object.entries(c))d!=="text"&&d!=="thought"&&u!==null&&a.push(d);if(typeof c.text=="string"){if(typeof c.thought=="boolean"&&c.thought)continue;s=!0,o+=c.text}}return a.length>0&&console.warn(`there are non-text parts ${a} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),s?o:void 0}get data(){var e,t,i;let o="",s=[];for(let a of(i=(t=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||t===void 0?void 0:t.parts)!==null&&i!==void 0?i:[]){for(let[c,d]of Object.entries(a))c!=="inlineData"&&d!==null&&s.push(c);a.inlineData&&typeof a.inlineData.data=="string"&&(o+=atob(a.inlineData.data))}return s.length>0&&console.warn(`there are non-data parts ${s} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),o.length>0?btoa(o):void 0}};var so=class{static{p(this,"LiveMusicServerMessage")}get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0]}};var ro=class n{static{p(this,"UploadToFileSearchStoreOperation")}_fromAPIResponse({apiResponse:e,_isVertexAI:t}){let i=new n,s=Ua(e);return Object.assign(i,s),i}};function U(n,e){if(!e||typeof e!="string")throw new Error("model is required and must be a string");if(e.includes("..")||e.includes("?")||e.includes("&"))throw new Error("invalid model parameter");if(n.isVertexAI()){if(e.startsWith("publishers/")||e.startsWith("projects/")||e.startsWith("models/"))return e;if(e.indexOf("/")>=0){let t=e.split("/",2);return`publishers/${t[0]}/models/${t[1]}`}else return`publishers/google/models/${e}`}else return e.startsWith("models/")||e.startsWith("tunedModels/")?e:`models/${e}`}p(U,"tModel");function Fa(n,e){let t=U(n,e);return t?t.startsWith("publishers/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}`:t.startsWith("models/")&&n.isVertexAI()?`projects/${n.getProject()}/locations/${n.getLocation()}/publishers/google/${t}`:t:""}p(Fa,"tCachesModel");function Ba(n){return Array.isArray(n)?n.map(e=>Ln(e)):[Ln(n)]}p(Ba,"tBlobs");function Ln(n){if(typeof n=="object"&&n!==null)return n;throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof n}`)}p(Ln,"tBlob");function Va(n){let e=Ln(n);if(e.mimeType&&e.mimeType.startsWith("image/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}p(Va,"tImageBlob");function qa(n){let e=Ln(n);if(e.mimeType&&e.mimeType.startsWith("audio/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}p(qa,"tAudioBlob");function pa(n){if(n==null)throw new Error("PartUnion is required");if(typeof n=="object")return n;if(typeof n=="string")return{text:n};throw new Error(`Unsupported part type: ${typeof n}`)}p(pa,"tPart");function Oa(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("PartListUnion is required");return Array.isArray(n)?n.map(e=>pa(e)):[pa(n)]}p(Oa,"tParts");function ao(n){return n!=null&&typeof n=="object"&&"parts"in n&&Array.isArray(n.parts)}p(ao,"_isContent");function ha(n){return n!=null&&typeof n=="object"&&"functionCall"in n}p(ha,"_isFunctionCallPart");function ma(n){return n!=null&&typeof n=="object"&&"functionResponse"in n}p(ma,"_isFunctionResponsePart");function ce(n){if(n==null)throw new Error("ContentUnion is required");return ao(n)?n:{role:"user",parts:Oa(n)}}p(ce,"tContent");function Ho(n,e){if(!e)return[];if(n.isVertexAI()&&Array.isArray(e))return e.flatMap(t=>{let i=ce(t);return i.parts&&i.parts.length>0&&i.parts[0].text!==void 0?[i.parts[0].text]:[]});if(n.isVertexAI()){let t=ce(e);return t.parts&&t.parts.length>0&&t.parts[0].text!==void 0?[t.parts[0].text]:[]}return Array.isArray(e)?e.map(t=>ce(t)):[ce(e)]}p(Ho,"tContentsForEmbed");function Te(n){if(n==null||Array.isArray(n)&&n.length===0)throw new Error("contents are required");if(!Array.isArray(n)){if(ha(n)||ma(n))throw new Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[ce(n)]}let e=[],t=[],i=ao(n[0]);for(let o of n){let s=ao(o);if(s!=i)throw new Error("Mixing Content and Parts is not supported, please group the parts into a the appropriate Content objects and specify the roles for them");if(s)e.push(o);else{if(ha(o)||ma(o))throw new Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");t.push(o)}}return i||e.push({role:"user",parts:Oa(t)}),e}p(Te,"tContents");function kc(n,e){n.includes("null")&&(e.nullable=!0);let t=n.filter(i=>i!=="null");if(t.length===1)e.type=Object.values(Fe).includes(t[0].toUpperCase())?t[0].toUpperCase():Fe.TYPE_UNSPECIFIED;else{e.anyOf=[];for(let i of t)e.anyOf.push({type:Object.values(Fe).includes(i.toUpperCase())?i.toUpperCase():Fe.TYPE_UNSPECIFIED})}}p(kc,"flattenTypeArrayToAnyOf");function vt(n){let e={},t=["items"],i=["anyOf"],o=["properties"];if(n.type&&n.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=n.anyOf;s!=null&&s.length==2&&(s[0].type==="null"?(e.nullable=!0,n=s[1]):s[1].type==="null"&&(e.nullable=!0,n=s[0])),n.type instanceof Array&&kc(n.type,e);for(let[a,c]of Object.entries(n))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(c instanceof Array)continue;e.type=Object.values(Fe).includes(c.toUpperCase())?c.toUpperCase():Fe.TYPE_UNSPECIFIED}else if(t.includes(a))e[a]=vt(c);else if(i.includes(a)){let d=[];for(let u of c){if(u.type=="null"){e.nullable=!0;continue}d.push(vt(u))}e[a]=d}else if(o.includes(a)){let d={};for(let[u,f]of Object.entries(c))d[u]=vt(f);e[a]=d}else{if(a==="additionalProperties")continue;e[a]=c}return e}p(vt,"processJsonSchema");function zo(n){return vt(n)}p(zo,"tSchema");function Ko(n){if(typeof n=="object")return n;if(typeof n=="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:n}}};throw new Error(`Unsupported speechConfig type: ${typeof n}`)}p(Ko,"tSpeechConfig");function Jo(n){if("multiSpeakerVoiceConfig"in n)throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");return n}p(Jo,"tLiveSpeechConfig");function _t(n){if(n.functionDeclarations)for(let e of n.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=vt(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=vt(e.response));return n}p(_t,"tTool");function St(n){if(n==null)throw new Error("tools is required");if(!Array.isArray(n))throw new Error("tools is required and must be an array of Tools");let e=[];for(let t of n)e.push(t);return e}p(St,"tTools");function Dc(n,e,t,i=1){let o=!e.startsWith(`${t}/`)&&e.split("/").length===i;return n.isVertexAI()?e.startsWith("projects/")?e:e.startsWith("locations/")?`projects/${n.getProject()}/${e}`:e.startsWith(`${t}/`)?`projects/${n.getProject()}/locations/${n.getLocation()}/${e}`:o?`projects/${n.getProject()}/locations/${n.getLocation()}/${t}/${e}`:e:o?`${t}/${e}`:e}p(Dc,"resourceName");function Le(n,e){if(typeof e!="string")throw new Error("name must be a string");return Dc(n,e,"cachedContents")}p(Le,"tCachedContentName");function Ha(n){switch(n){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 n}}p(Ha,"tTuningJobStatus");function Be(n){return Oo(n)}p(Be,"tBytes");function Lc(n){return n!=null&&typeof n=="object"&&"name"in n}p(Lc,"_isFile");function Uc(n){return n!=null&&typeof n=="object"&&"video"in n}p(Uc,"isGeneratedVideo");function Fc(n){return n!=null&&typeof n=="object"&&"uri"in n}p(Fc,"isVideo");function za(n){var e;let t;if(Lc(n)&&(t=n.name),!(Fc(n)&&(t=n.uri,t===void 0))&&!(Uc(n)&&(t=(e=n.video)===null||e===void 0?void 0:e.uri,t===void 0))){if(typeof n=="string"&&(t=n),t===void 0)throw new Error("Could not extract file name from the provided input.");if(t.startsWith("https://")){let o=t.split("files/")[1].match(/[a-z0-9]+/);if(o===null)throw new Error(`Could not extract file name from URI ${t}`);t=o[0]}else t.startsWith("files/")&&(t=t.split("files/")[1]);return t}}p(za,"tFileName");function Ka(n,e){let t;return n.isVertexAI()?t=e?"publishers/google/models":"models":t=e?"models":"tunedModels",t}p(Ka,"tModelsUrl");function Ja(n){for(let e of["models","tunedModels","publisherModels"])if(Bc(n,e))return n[e];return[]}p(Ja,"tExtractModels");function Bc(n,e){return n!==null&&typeof n=="object"&&e in n}p(Bc,"hasField");function Vc(n,e={}){let t=n,i={name:t.name,description:t.description,parametersJsonSchema:t.inputSchema};return t.outputSchema&&(i.responseJsonSchema=t.outputSchema),e.behavior&&(i.behavior=e.behavior),{functionDeclarations:[i]}}p(Vc,"mcpToGeminiTool");function qc(n,e={}){let t=[],i=new Set;for(let o of n){let s=o.name;if(i.has(s))throw new Error(`Duplicate function name ${s} found in MCP tools. Please ensure function names are unique.`);i.add(s);let a=Vc(o,e);a.functionDeclarations&&t.push(...a.functionDeclarations)}return{functionDeclarations:t}}p(qc,"mcpToolsToGeminiTool");function Wa(n,e){let t;if(typeof e=="string")if(n.isVertexAI())if(e.startsWith("gs://"))t={format:"jsonl",gcsUri:[e]};else if(e.startsWith("bq://"))t={format:"bigquery",bigqueryUri:e};else throw new Error(`Unsupported string source for Vertex AI: ${e}`);else if(e.startsWith("files/"))t={fileName:e};else throw new Error(`Unsupported string source for Gemini API: ${e}`);else if(Array.isArray(e)){if(n.isVertexAI())throw new Error("InlinedRequest[] is not supported in Vertex AI.");t={inlinedRequests:e}}else t=e;let i=[t.gcsUri,t.bigqueryUri].filter(Boolean).length,o=[t.inlinedRequests,t.fileName].filter(Boolean).length;if(n.isVertexAI()){if(o>0||i!==1)throw new Error("Exactly one of `gcsUri` or `bigqueryUri` must be set for Vertex AI.")}else if(i>0||o!==1)throw new Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return t}p(Wa,"tBatchJobSource");function Oc(n){if(typeof n!="string")return n;let e=n;if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:e};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};throw new Error(`Unsupported destination: ${e}`)}p(Oc,"tBatchJobDestination");function Ya(n){if(typeof n!="object"||n===null)return{};let e=n,t=e.inlinedResponses;if(typeof t!="object"||t===null)return n;let o=t.inlinedResponses;if(!Array.isArray(o)||o.length===0)return n;let s=!1;for(let a of o){if(typeof a!="object"||a===null)continue;let d=a.response;if(typeof d!="object"||d===null)continue;if(d.embedding!==void 0){s=!0;break}}return s&&(e.inlinedEmbedContentResponses=e.inlinedResponses,delete e.inlinedResponses),n}p(Ya,"tRecvBatchJobDestination");function At(n,e){let t=e;if(!n.isVertexAI()){if(/batches\/[^/]+$/.test(t))return t.split("/").pop();throw new Error(`Invalid batch job name: ${t}.`)}if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(t))return t.split("/").pop();if(/^\d+$/.test(t))return t;throw new Error(`Invalid batch job name: ${t}.`)}p(At,"tBatchJobName");function Xa(n){let e=n;return e==="BATCH_STATE_UNSPECIFIED"?"JOB_STATE_UNSPECIFIED":e==="BATCH_STATE_PENDING"?"JOB_STATE_PENDING":e==="BATCH_STATE_RUNNING"?"JOB_STATE_RUNNING":e==="BATCH_STATE_SUCCEEDED"?"JOB_STATE_SUCCEEDED":e==="BATCH_STATE_FAILED"?"JOB_STATE_FAILED":e==="BATCH_STATE_CANCELLED"?"JOB_STATE_CANCELLED":e==="BATCH_STATE_EXPIRED"?"JOB_STATE_EXPIRED":e}p(Xa,"tJobState");function Hc(n){let e={},t=r(n,["responsesFile"]);t!=null&&l(e,["fileName"],t);let i=r(n,["inlinedResponses","inlinedResponses"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Cd(a))),l(e,["inlinedResponses"],s)}let o=r(n,["inlinedEmbedContentResponses","inlinedResponses"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["inlinedEmbedContentResponses"],s)}return e}p(Hc,"batchJobDestinationFromMldev");function zc(n){let e={},t=r(n,["predictionsFormat"]);t!=null&&l(e,["format"],t);let i=r(n,["gcsDestination","outputUriPrefix"]);i!=null&&l(e,["gcsUri"],i);let o=r(n,["bigqueryDestination","outputUri"]);return o!=null&&l(e,["bigqueryUri"],o),e}p(zc,"batchJobDestinationFromVertex");function Kc(n){let e={},t=r(n,["format"]);t!=null&&l(e,["predictionsFormat"],t);let i=r(n,["gcsUri"]);i!=null&&l(e,["gcsDestination","outputUriPrefix"],i);let o=r(n,["bigqueryUri"]);if(o!=null&&l(e,["bigqueryDestination","outputUri"],o),r(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(r(n,["inlinedResponses"])!==void 0)throw new Error("inlinedResponses parameter is not supported in Vertex AI.");if(r(n,["inlinedEmbedContentResponses"])!==void 0)throw new Error("inlinedEmbedContentResponses parameter is not supported in Vertex AI.");return e}p(Kc,"batchJobDestinationToVertex");function In(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata","displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["metadata","state"]);o!=null&&l(e,["state"],Xa(o));let s=r(n,["metadata","createTime"]);s!=null&&l(e,["createTime"],s);let a=r(n,["metadata","endTime"]);a!=null&&l(e,["endTime"],a);let c=r(n,["metadata","updateTime"]);c!=null&&l(e,["updateTime"],c);let d=r(n,["metadata","model"]);d!=null&&l(e,["model"],d);let u=r(n,["metadata","output"]);return u!=null&&l(e,["dest"],Hc(Ya(u))),e}p(In,"batchJobFromMldev");function lo(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["state"]);o!=null&&l(e,["state"],Xa(o));let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["createTime"]);a!=null&&l(e,["createTime"],a);let c=r(n,["startTime"]);c!=null&&l(e,["startTime"],c);let d=r(n,["endTime"]);d!=null&&l(e,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(e,["updateTime"],u);let f=r(n,["model"]);f!=null&&l(e,["model"],f);let h=r(n,["inputConfig"]);h!=null&&l(e,["src"],Jc(h));let m=r(n,["outputConfig"]);m!=null&&l(e,["dest"],zc(Ya(m)));let g=r(n,["completionStats"]);return g!=null&&l(e,["completionStats"],g),e}p(lo,"batchJobFromVertex");function Jc(n){let e={},t=r(n,["instancesFormat"]);t!=null&&l(e,["format"],t);let i=r(n,["gcsSource","uris"]);i!=null&&l(e,["gcsUri"],i);let o=r(n,["bigquerySource","inputUri"]);return o!=null&&l(e,["bigqueryUri"],o),e}p(Jc,"batchJobSourceFromVertex");function Wc(n,e){let t={};if(r(e,["format"])!==void 0)throw new Error("format parameter is not supported in Gemini API.");if(r(e,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(r(e,["bigqueryUri"])!==void 0)throw new Error("bigqueryUri parameter is not supported in Gemini API.");let i=r(e,["fileName"]);i!=null&&l(t,["fileName"],i);let o=r(e,["inlinedRequests"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>Td(n,a))),l(t,["requests","requests"],s)}return t}p(Wc,"batchJobSourceToMldev");function Yc(n){let e={},t=r(n,["format"]);t!=null&&l(e,["instancesFormat"],t);let i=r(n,["gcsUri"]);i!=null&&l(e,["gcsSource","uris"],i);let o=r(n,["bigqueryUri"]);if(o!=null&&l(e,["bigquerySource","inputUri"],o),r(n,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(r(n,["inlinedRequests"])!==void 0)throw new Error("inlinedRequests parameter is not supported in Vertex AI.");return e}p(Yc,"batchJobSourceToVertex");function Xc(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Xc,"blobToMldev$4");function Qc(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(Qc,"cancelBatchJobParametersToMldev");function Zc(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(Zc,"cancelBatchJobParametersToVertex");function jc(n){let e={},t=r(n,["content"]);t!=null&&l(e,["content"],t);let i=r(n,["citationMetadata"]);i!=null&&l(e,["citationMetadata"],ed(i));let o=r(n,["tokenCount"]);o!=null&&l(e,["tokenCount"],o);let s=r(n,["finishReason"]);s!=null&&l(e,["finishReason"],s);let a=r(n,["avgLogprobs"]);a!=null&&l(e,["avgLogprobs"],a);let c=r(n,["groundingMetadata"]);c!=null&&l(e,["groundingMetadata"],c);let d=r(n,["index"]);d!=null&&l(e,["index"],d);let u=r(n,["logprobsResult"]);u!=null&&l(e,["logprobsResult"],u);let f=r(n,["safetyRatings"]);if(f!=null){let m=f;Array.isArray(m)&&(m=m.map(g=>g)),l(e,["safetyRatings"],m)}let h=r(n,["urlContextMetadata"]);return h!=null&&l(e,["urlContextMetadata"],h),e}p(jc,"candidateFromMldev$1");function ed(n){let e={},t=r(n,["citationSources"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["citations"],i)}return e}p(ed,"citationMetadataFromMldev$1");function Qa(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>$d(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(Qa,"contentToMldev$4");function td(n,e){let t={},i=r(n,["displayName"]);if(e!==void 0&&i!=null&&l(e,["batch","displayName"],i),r(n,["dest"])!==void 0)throw new Error("dest parameter is not supported in Gemini API.");return t}p(td,"createBatchJobConfigToMldev");function nd(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["dest"]);return e!==void 0&&o!=null&&l(e,["outputConfig"],Kc(Oc(o))),t}p(nd,"createBatchJobConfigToVertex");function ga(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["batch","inputConfig"],Wc(n,Wa(n,o)));let s=r(e,["config"]);return s!=null&&td(s,t),t}p(ga,"createBatchJobParametersToMldev");function id(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["inputConfig"],Yc(Wa(n,o)));let s=r(e,["config"]);return s!=null&&nd(s,t),t}p(id,"createBatchJobParametersToVertex");function od(n,e){let t={},i=r(n,["displayName"]);return e!==void 0&&i!=null&&l(e,["batch","displayName"],i),t}p(od,"createEmbeddingsBatchJobConfigToMldev");function sd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["src"]);o!=null&&l(t,["batch","inputConfig"],fd(n,o));let s=r(e,["config"]);return s!=null&&od(s,t),t}p(sd,"createEmbeddingsBatchJobParametersToMldev");function rd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(rd,"deleteBatchJobParametersToMldev");function ad(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(ad,"deleteBatchJobParametersToVertex");function ld(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);return s!=null&&l(e,["error"],s),e}p(ld,"deleteResourceJobFromMldev");function cd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);return s!=null&&l(e,["error"],s),e}p(cd,"deleteResourceJobFromVertex");function dd(n,e){let t={},i=r(e,["contents"]);if(i!=null){let s=Ho(n,i);Array.isArray(s)&&(s=s.map(a=>a)),l(t,["requests[]","request","content"],s)}let o=r(e,["config"]);return o!=null&&(l(t,["_self"],ud(o,t)),wc(t,{"requests[].*":"requests[].request.*"})),t}p(dd,"embedContentBatchToMldev");function ud(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["requests[]","taskType"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["requests[]","title"],o);let s=r(n,["outputDimensionality"]);if(e!==void 0&&s!=null&&l(e,["requests[]","outputDimensionality"],s),r(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(r(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}p(ud,"embedContentConfigToMldev$1");function fd(n,e){let t={},i=r(e,["fileName"]);i!=null&&l(t,["file_name"],i);let o=r(e,["inlinedRequests"]);return o!=null&&l(t,["requests"],dd(n,o)),t}p(fd,"embeddingsBatchJobSourceToMldev");function pd(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(pd,"fileDataToMldev$4");function hd(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(hd,"functionCallToMldev$4");function md(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(md,"functionCallingConfigToMldev$2");function gd(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],Qa(ce(o)));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],zo(v));let I=r(e,["responseJsonSchema"]);if(I!=null&&l(i,["responseJsonSchema"],I),r(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(r(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let T=r(e,["safetySettings"]);if(t!==void 0&&T!=null){let W=T;Array.isArray(W)&&(W=W.map(Ee=>Gd(Ee))),l(t,["safetySettings"],W)}let A=r(e,["tools"]);if(t!==void 0&&A!=null){let W=St(A);Array.isArray(W)&&(W=W.map(Ee=>Md(_t(Ee)))),l(t,["tools"],W)}let P=r(e,["toolConfig"]);if(t!==void 0&&P!=null&&l(t,["toolConfig"],Rd(P)),r(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let G=r(e,["cachedContent"]);t!==void 0&&G!=null&&l(t,["cachedContent"],Le(n,G));let _=r(e,["responseModalities"]);_!=null&&l(i,["responseModalities"],_);let N=r(e,["mediaResolution"]);N!=null&&l(i,["mediaResolution"],N);let x=r(e,["speechConfig"]);if(x!=null&&l(i,["speechConfig"],Ko(x)),r(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let M=r(e,["thinkingConfig"]);M!=null&&l(i,["thinkingConfig"],M);let O=r(e,["imageConfig"]);O!=null&&l(i,["imageConfig"],Id(O));let pe=r(e,["enableEnhancedCivicAnswers"]);return pe!=null&&l(i,["enableEnhancedCivicAnswers"],pe),i}p(gd,"generateContentConfigToMldev$1");function bd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let d=i;Array.isArray(d)&&(d=d.map(u=>jc(u))),l(e,["candidates"],d)}let o=r(n,["modelVersion"]);o!=null&&l(e,["modelVersion"],o);let s=r(n,["promptFeedback"]);s!=null&&l(e,["promptFeedback"],s);let a=r(n,["responseId"]);a!=null&&l(e,["responseId"],a);let c=r(n,["usageMetadata"]);return c!=null&&l(e,["usageMetadata"],c),e}p(bd,"generateContentResponseFromMldev$1");function yd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(yd,"getBatchJobParametersToMldev");function Ed(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],At(n,i)),t}p(Ed,"getBatchJobParametersToVertex");function wd(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(wd,"googleMapsToMldev$4");function vd(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(vd,"googleSearchToMldev$4");function Id(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);if(i!=null&&l(e,["imageSize"],i),r(n,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(r(n,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");return e}p(Id,"imageConfigToMldev$1");function Td(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["request","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let c=Te(o);Array.isArray(c)&&(c=c.map(d=>Qa(d))),l(t,["request","contents"],c)}let s=r(e,["metadata"]);s!=null&&l(t,["metadata"],s);let a=r(e,["config"]);return a!=null&&l(t,["request","generationConfig"],gd(n,a,r(t,["request"],{}))),t}p(Td,"inlinedRequestToMldev");function Cd(n){let e={},t=r(n,["response"]);t!=null&&l(e,["response"],bd(t));let i=r(n,["error"]);return i!=null&&l(e,["error"],i),e}p(Cd,"inlinedResponseFromMldev");function _d(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);if(e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),r(n,["filter"])!==void 0)throw new Error("filter parameter is not supported in Gemini API.");return t}p(_d,"listBatchJobsConfigToMldev");function Sd(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);e!==void 0&&o!=null&&l(e,["_query","pageToken"],o);let s=r(n,["filter"]);return e!==void 0&&s!=null&&l(e,["_query","filter"],s),t}p(Sd,"listBatchJobsConfigToVertex");function Ad(n){let e={},t=r(n,["config"]);return t!=null&&_d(t,e),e}p(Ad,"listBatchJobsParametersToMldev");function xd(n){let e={},t=r(n,["config"]);return t!=null&&Sd(t,e),e}p(xd,"listBatchJobsParametersToVertex");function Pd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["operations"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>In(a))),l(e,["batchJobs"],s)}return e}p(Pd,"listBatchJobsResponseFromMldev");function Nd(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["batchPredictionJobs"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>lo(a))),l(e,["batchJobs"],s)}return e}p(Nd,"listBatchJobsResponseFromVertex");function $d(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],pd(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],hd(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Xc(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p($d,"partToMldev$4");function Gd(n){let e={},t=r(n,["category"]);if(t!=null&&l(e,["category"],t),r(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let i=r(n,["threshold"]);return i!=null&&l(e,["threshold"],i),e}p(Gd,"safetySettingToMldev$1");function Rd(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],md(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(Rd,"toolConfigToMldev$2");function Md(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],wd(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],vd(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(Md,"toolToMldev$4");var ke;(function(n){n.PAGED_ITEM_BATCH_JOBS="batchJobs",n.PAGED_ITEM_MODELS="models",n.PAGED_ITEM_TUNING_JOBS="tuningJobs",n.PAGED_ITEM_FILES="files",n.PAGED_ITEM_CACHED_CONTENTS="cachedContents",n.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",n.PAGED_ITEM_DOCUMENTS="documents"})(ke||(ke={}));var De=class{static{p(this,"Pager")}constructor(e,t,i,o){this.pageInternal=[],this.paramsInternal={},this.requestInternal=t,this.init(e,i,o)}init(e,t,i){var o,s;this.nameInternal=e,this.pageInternal=t[this.nameInternal]||[],this.sdkHttpResponseInternal=t?.sdkHttpResponse,this.idxInternal=0;let a={config:{}};!i||Object.keys(i).length===0?a={config:{}}:typeof i=="object"?a=Object.assign({},i):a=i,a.config&&(a.config.pageToken=t.nextPageToken),this.paramsInternal=a,this.pageInternalSize=(s=(o=a.config)===null||o===void 0?void 0:o.pageSize)!==null&&s!==void 0?s: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:p(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}},"next"),return:p(async()=>({value:void 0,done:!0}),"return")}}async nextPage(){if(!this.hasNextPage())throw new Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;return((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0}};var co=class extends Pe{static{p(this,"Batches")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new De(ke.PAGED_ITEM_BATCH_JOBS,i=>this.listInternal(i),await this.listInternal(t),t),this.create=async t=>(this.apiClient.isVertexAI()&&(t.config=this.formatDestination(t.src,t.config)),this.createInternal(t)),this.createEmbeddings=async t=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw new Error("Vertex AI does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(t)}}createInlinedGenerateContentRequest(e){let t=ga(this.apiClient,e),i=t._url,o=C("{model}:batchGenerateContent",i),c=t.batch.inputConfig.requests,d=c.requests,u=[];for(let f of d){let h=Object.assign({},f);if(h.systemInstruction){let m=h.systemInstruction;delete h.systemInstruction;let g=h.request;g.systemInstruction=m,h.request=g}u.push(h)}return c.requests=u,delete t.config,delete t._url,delete t._query,{path:o,body:t}}getGcsUri(e){if(typeof e=="string")return e.startsWith("gs://")?e:void 0;if(!Array.isArray(e)&&e.gcsUri&&e.gcsUri.length>0)return e.gcsUri[0]}getBigqueryUri(e){if(typeof e=="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri}formatDestination(e,t){let i=t?Object.assign({},t):{},o=Date.now().toString();if(i.displayName||(i.displayName=`genaiBatchJob_${o}`),i.dest===void 0){let s=this.getGcsUri(e),a=this.getBigqueryUri(e);if(s)s.endsWith(".jsonl")?i.dest=`${s.slice(0,-6)}/dest`:i.dest=`${s}_dest_${o}`;else if(a)i.dest=`${a}_dest_${o}`;else throw new Error("Unsupported source for Vertex AI: No GCS or BigQuery URI found.")}return i}async createInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=id(this.apiClient,e);return c=C("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>lo(f))}else{let u=ga(this.apiClient,e);return c=C("{model}:batchGenerateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>In(f))}}async createEmbeddingsInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=sd(this.apiClient,e);return s=C("{model}:asyncBatchEmbedContent",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>In(d))}}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Ed(this.apiClient,e);return c=C("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>lo(f))}else{let u=yd(this.apiClient,e);return c=C("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>In(f))}}async cancel(e){var t,i,o,s;let a="",c={};if(this.apiClient.isVertexAI()){let d=Zc(this.apiClient,e);a=C("batchPredictionJobs/{name}:cancel",d._url),c=d._query,delete d._url,delete d._query,await this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}else{let d=Qc(this.apiClient,e);a=C("batches/{name}:cancel",d._url),c=d._query,delete d._url,delete d._query,await this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal})}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=xd(e);return c=C("batchPredictionJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Nd(f),m=new Dn;return Object.assign(m,h),m})}else{let u=Ad(e);return c=C("batches",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Pd(f),m=new Dn;return Object.assign(m,h),m})}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ad(this.apiClient,e);return c=C("batchPredictionJobs/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>cd(f))}else{let u=rd(this.apiClient,e);return c=C("batches/{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>ld(f))}}};function kd(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(kd,"blobToMldev$3");function ba(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>ou(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(ba,"contentToMldev$3");function Dd(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);e!==void 0&&o!=null&&l(e,["expireTime"],o);let s=r(n,["displayName"]);e!==void 0&&s!=null&&l(e,["displayName"],s);let a=r(n,["contents"]);if(e!==void 0&&a!=null){let f=Te(a);Array.isArray(f)&&(f=f.map(h=>ba(h))),l(e,["contents"],f)}let c=r(n,["systemInstruction"]);e!==void 0&&c!=null&&l(e,["systemInstruction"],ba(ce(c)));let d=r(n,["tools"]);if(e!==void 0&&d!=null){let f=d;Array.isArray(f)&&(f=f.map(h=>ru(h))),l(e,["tools"],f)}let u=r(n,["toolConfig"]);if(e!==void 0&&u!=null&&l(e,["toolConfig"],su(u)),r(n,["kmsKeyName"])!==void 0)throw new Error("kmsKeyName parameter is not supported in Gemini API.");return t}p(Dd,"createCachedContentConfigToMldev");function Ld(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);e!==void 0&&o!=null&&l(e,["expireTime"],o);let s=r(n,["displayName"]);e!==void 0&&s!=null&&l(e,["displayName"],s);let a=r(n,["contents"]);if(e!==void 0&&a!=null){let h=Te(a);Array.isArray(h)&&(h=h.map(m=>m)),l(e,["contents"],h)}let c=r(n,["systemInstruction"]);e!==void 0&&c!=null&&l(e,["systemInstruction"],ce(c));let d=r(n,["tools"]);if(e!==void 0&&d!=null){let h=d;Array.isArray(h)&&(h=h.map(m=>au(m))),l(e,["tools"],h)}let u=r(n,["toolConfig"]);e!==void 0&&u!=null&&l(e,["toolConfig"],u);let f=r(n,["kmsKeyName"]);return e!==void 0&&f!=null&&l(e,["encryption_spec","kmsKeyName"],f),t}p(Ld,"createCachedContentConfigToVertex");function Ud(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],Fa(n,i));let o=r(e,["config"]);return o!=null&&Dd(o,t),t}p(Ud,"createCachedContentParametersToMldev");function Fd(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["model"],Fa(n,i));let o=r(e,["config"]);return o!=null&&Ld(o,t),t}p(Fd,"createCachedContentParametersToVertex");function Bd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Le(n,i)),t}p(Bd,"deleteCachedContentParametersToMldev");function Vd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Le(n,i)),t}p(Vd,"deleteCachedContentParametersToVertex");function qd(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(qd,"deleteCachedContentResponseFromMldev");function Od(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(Od,"deleteCachedContentResponseFromVertex");function Hd(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Hd,"fileDataToMldev$3");function zd(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(zd,"functionCallToMldev$3");function Kd(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(Kd,"functionCallingConfigToMldev$1");function Jd(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(Jd,"functionDeclarationToVertex$2");function Wd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Le(n,i)),t}p(Wd,"getCachedContentParametersToMldev");function Yd(n,e){let t={},i=r(e,["name"]);return i!=null&&l(t,["_url","name"],Le(n,i)),t}p(Yd,"getCachedContentParametersToVertex");function Xd(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Xd,"googleMapsToMldev$3");function Qd(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Qd,"googleSearchToMldev$3");function Zd(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Zd,"listCachedContentsConfigToMldev");function jd(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(jd,"listCachedContentsConfigToVertex");function eu(n){let e={},t=r(n,["config"]);return t!=null&&Zd(t,e),e}p(eu,"listCachedContentsParametersToMldev");function tu(n){let e={},t=r(n,["config"]);return t!=null&&jd(t,e),e}p(tu,"listCachedContentsParametersToVertex");function nu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["cachedContents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["cachedContents"],s)}return e}p(nu,"listCachedContentsResponseFromMldev");function iu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["cachedContents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["cachedContents"],s)}return e}p(iu,"listCachedContentsResponseFromVertex");function ou(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],Hd(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],zd(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],kd(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(ou,"partToMldev$3");function su(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],Kd(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(su,"toolConfigToMldev$1");function ru(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Xd(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Qd(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(ru,"toolToMldev$3");function au(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>Jd(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(au,"toolToVertex$2");function lu(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);return e!==void 0&&o!=null&&l(e,["expireTime"],o),t}p(lu,"updateCachedContentConfigToMldev");function cu(n,e){let t={},i=r(n,["ttl"]);e!==void 0&&i!=null&&l(e,["ttl"],i);let o=r(n,["expireTime"]);return e!==void 0&&o!=null&&l(e,["expireTime"],o),t}p(cu,"updateCachedContentConfigToVertex");function du(n,e){let t={},i=r(e,["name"]);i!=null&&l(t,["_url","name"],Le(n,i));let o=r(e,["config"]);return o!=null&&lu(o,t),t}p(du,"updateCachedContentParametersToMldev");function uu(n,e){let t={},i=r(e,["name"]);i!=null&&l(t,["_url","name"],Le(n,i));let o=r(e,["config"]);return o!=null&&cu(o,t),t}p(uu,"updateCachedContentParametersToVertex");var uo=class extends Pe{static{p(this,"Caches")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new De(ke.PAGED_ITEM_CACHED_CONTENTS,i=>this.listInternal(i),await this.listInternal(t),t)}async create(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Fd(this.apiClient,e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=Ud(this.apiClient,e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Yd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=Wd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Vd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Od(f),m=new Mn;return Object.assign(m,h),m})}else{let u=Bd(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=qd(f),m=new Mn;return Object.assign(m,h),m})}}async update(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=uu(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>f)}else{let u=du(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>f)}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=tu(e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=iu(f),m=new kn;return Object.assign(m,h),m})}else{let u=eu(e);return c=C("cachedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=nu(f),m=new kn;return Object.assign(m,h),m})}}};function Un(n,e){var t={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(n);o<i.length;o++)e.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(n,i[o])&&(t[i[o]]=n[i[o]]);return t}p(Un,"__rest");function ya(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:p(function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}},"next")};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}p(ya,"__values");function k(n){return this instanceof k?(this.v=n,this):new k(n)}p(k,"__await");function Ae(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",a),o[Symbol.asyncIterator]=function(){return this},o;function a(g){return function(b){return Promise.resolve(b).then(g,h)}}function c(g,b){i[g]&&(o[g]=function(E){return new Promise(function(w,v){s.push([g,E,w,v])>1||d(g,E)})},b&&(o[g]=b(o[g])))}function d(g,b){try{u(i[g](b))}catch(E){m(s[0][3],E)}}function u(g){g.value instanceof k?Promise.resolve(g.value.v).then(f,h):m(s[0][2],g)}function f(g){d("next",g)}function h(g){d("throw",g)}function m(g,b){g(b),s.shift(),s.length&&d(s[0][0],s[0][1])}}p(Ae,"__asyncGenerator");function xe(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof ya=="function"?ya(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(a){return new Promise(function(c,d){a=n[s](a),o(c,d,a.done,a.value)})}}function o(s,a,c,d){Promise.resolve(d).then(function(u){s({value:u,done:c})},a)}}p(xe,"__asyncValues");function fu(n){var e;if(n.candidates==null||n.candidates.length===0)return!1;let t=(e=n.candidates[0])===null||e===void 0?void 0:e.content;return t===void 0?!1:Za(t)}p(fu,"isValidResponse");function Za(n){if(n.parts===void 0||n.parts.length===0)return!1;for(let e of n.parts)if(e===void 0||Object.keys(e).length===0)return!1;return!0}p(Za,"isValidContent");function pu(n){if(n.length!==0){for(let e of n)if(e.role!=="user"&&e.role!=="model")throw new Error(`Role must be user or model, but got ${e.role}.`)}}p(pu,"validateHistory");function Ea(n){if(n===void 0||n.length===0)return[];let e=[],t=n.length,i=0;for(;i<t;)if(n[i].role==="user")e.push(n[i]),i++;else{let o=[],s=!0;for(;i<t&&n[i].role==="model";)o.push(n[i]),s&&!Za(n[i])&&(s=!1),i++;s?e.push(...o):e.pop()}return e}p(Ea,"extractCuratedHistory");var fo=class{static{p(this,"Chats")}constructor(e,t){this.modelsModule=e,this.apiClient=t}create(e){return new po(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}},po=class{static{p(this,"Chat")}constructor(e,t,i,o={},s=[]){this.apiClient=e,this.modelsModule=t,this.model=i,this.config=o,this.history=s,this.sendPromise=Promise.resolve(),pu(s)}async sendMessage(e){var t;await this.sendPromise;let i=ce(e.message),o=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});return this.sendPromise=(async()=>{var s,a,c;let d=await o,u=(a=(s=d.candidates)===null||s===void 0?void 0:s[0])===null||a===void 0?void 0:a.content,f=d.automaticFunctionCallingHistory,h=this.getHistory(!0).length,m=[];f!=null&&(m=(c=f.slice(h))!==null&&c!==void 0?c:[]);let g=u?[u]:[];this.recordHistory(i,g,m)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),o}async sendMessageStream(e){var t;await this.sendPromise;let i=ce(e.message),o=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(i),config:(t=e.config)!==null&&t!==void 0?t:this.config});this.sendPromise=o.then(()=>{}).catch(()=>{});let s=await o;return this.processStreamResponse(s,i)}getHistory(e=!1){let t=e?Ea(this.history):this.history;return structuredClone(t)}processStreamResponse(e,t){return Ae(this,arguments,p(function*(){var o,s,a,c,d,u;let f=[];try{for(var h=!0,m=xe(e),g;g=yield k(m.next()),o=g.done,!o;h=!0){c=g.value,h=!1;let b=c;if(fu(b)){let E=(u=(d=b.candidates)===null||d===void 0?void 0:d[0])===null||u===void 0?void 0:u.content;E!==void 0&&f.push(E)}yield yield k(b)}}catch(b){s={error:b}}finally{try{!h&&!o&&(a=m.return)&&(yield k(a.call(m)))}finally{if(s)throw s.error}}this.recordHistory(t,f)},"processStreamResponse_1"))}recordHistory(e,t,i){let o=[];t.length>0&&t.every(s=>s.role!==void 0)?o=t:o.push({role:"model",parts:[]}),i&&i.length>0?this.history.push(...Ea(i)):this.history.push(e),this.history.push(...o)}};var Fn=class n extends Error{static{p(this,"ApiError")}constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,n.prototype)}};function hu(n){let e={},t=r(n,["file"]);return t!=null&&l(e,["file"],t),e}p(hu,"createFileParametersToMldev");function mu(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(mu,"createFileResponseFromMldev");function gu(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","file"],za(t)),e}p(gu,"deleteFileParametersToMldev");function bu(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(bu,"deleteFileResponseFromMldev");function yu(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","file"],za(t)),e}p(yu,"getFileParametersToMldev");function Eu(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Eu,"listFilesConfigToMldev");function wu(n){let e={},t=r(n,["config"]);return t!=null&&Eu(t,e),e}p(wu,"listFilesParametersToMldev");function vu(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["files"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["files"],s)}return e}p(vu,"listFilesResponseFromMldev");var ho=class extends Pe{static{p(this,"Files")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new De(ke.PAGED_ITEM_FILES,i=>this.listInternal(i),await this.listInternal(t),t)}async upload(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files. You can share files through a GCS bucket.");return this.apiClient.uploadFile(e.file,e.config).then(t=>t)}async download(e){await this.apiClient.downloadFile(e)}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=wu(e);return s=C("files",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=vu(d),f=new to;return Object.assign(f,u),f})}}async createInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=hu(e);return s=C("upload/v1beta/files",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=mu(d),f=new no;return Object.assign(f,u),f})}}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=yu(e);return s=C("files/{file}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=gu(e);return s=C("files/{file}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=bu(d),f=new io;return Object.assign(f,u),f})}}};function Tn(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Tn,"blobToMldev$2");function Iu(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>Uu(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(Iu,"contentToMldev$2");function Tu(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Tu,"fileDataToMldev$2");function Cu(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(Cu,"functionCallToMldev$2");function _u(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(_u,"functionDeclarationToVertex$1");function Su(n){let e={},t=r(n,["modelSelectionConfig"]);t!=null&&l(e,["modelConfig"],t);let i=r(n,["responseJsonSchema"]);i!=null&&l(e,["responseJsonSchema"],i);let o=r(n,["audioTimestamp"]);o!=null&&l(e,["audioTimestamp"],o);let s=r(n,["candidateCount"]);s!=null&&l(e,["candidateCount"],s);let a=r(n,["enableAffectiveDialog"]);a!=null&&l(e,["enableAffectiveDialog"],a);let c=r(n,["frequencyPenalty"]);c!=null&&l(e,["frequencyPenalty"],c);let d=r(n,["logprobs"]);d!=null&&l(e,["logprobs"],d);let u=r(n,["maxOutputTokens"]);u!=null&&l(e,["maxOutputTokens"],u);let f=r(n,["mediaResolution"]);f!=null&&l(e,["mediaResolution"],f);let h=r(n,["presencePenalty"]);h!=null&&l(e,["presencePenalty"],h);let m=r(n,["responseLogprobs"]);m!=null&&l(e,["responseLogprobs"],m);let g=r(n,["responseMimeType"]);g!=null&&l(e,["responseMimeType"],g);let b=r(n,["responseModalities"]);b!=null&&l(e,["responseModalities"],b);let E=r(n,["responseSchema"]);E!=null&&l(e,["responseSchema"],E);let w=r(n,["routingConfig"]);w!=null&&l(e,["routingConfig"],w);let v=r(n,["seed"]);v!=null&&l(e,["seed"],v);let I=r(n,["speechConfig"]);I!=null&&l(e,["speechConfig"],ja(I));let T=r(n,["stopSequences"]);T!=null&&l(e,["stopSequences"],T);let A=r(n,["temperature"]);A!=null&&l(e,["temperature"],A);let P=r(n,["thinkingConfig"]);P!=null&&l(e,["thinkingConfig"],P);let G=r(n,["topK"]);G!=null&&l(e,["topK"],G);let _=r(n,["topP"]);if(_!=null&&l(e,["topP"],_),r(n,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return e}p(Su,"generationConfigToVertex$1");function Au(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Au,"googleMapsToMldev$2");function xu(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(xu,"googleSearchToMldev$2");function Pu(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],i);let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],Jo(h));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],Iu(ce(b)));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let G=St(E);Array.isArray(G)&&(G=G.map(_=>Bu(_t(_)))),l(e,["setup","tools"],G)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],Fu(w));let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let A=r(n,["contextWindowCompression"]);e!==void 0&&A!=null&&l(e,["setup","contextWindowCompression"],A);let P=r(n,["proactivity"]);if(e!==void 0&&P!=null&&l(e,["setup","proactivity"],P),r(n,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return t}p(Pu,"liveConnectConfigToMldev$1");function Nu(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],Su(i));let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],ja(Jo(h)));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],ce(b));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let _=St(E);Array.isArray(_)&&(_=_.map(N=>Vu(_t(N)))),l(e,["setup","tools"],_)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],w);let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let A=r(n,["contextWindowCompression"]);e!==void 0&&A!=null&&l(e,["setup","contextWindowCompression"],A);let P=r(n,["proactivity"]);e!==void 0&&P!=null&&l(e,["setup","proactivity"],P);let G=r(n,["explicitVadSignal"]);return e!==void 0&&G!=null&&l(e,["setup","explicitVadSignal"],G),t}p(Nu,"liveConnectConfigToVertex");function $u(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],Pu(o,t)),t}p($u,"liveConnectParametersToMldev");function Gu(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],Nu(o,t)),t}p(Gu,"liveConnectParametersToVertex");function Ru(n){let e={},t=r(n,["musicGenerationConfig"]);return t!=null&&l(e,["musicGenerationConfig"],t),e}p(Ru,"liveMusicSetConfigParametersToMldev");function Mu(n){let e={},t=r(n,["weightedPrompts"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["weightedPrompts"],i)}return e}p(Mu,"liveMusicSetWeightedPromptsParametersToMldev");function ku(n){let e={},t=r(n,["media"]);if(t!=null){let u=Ba(t);Array.isArray(u)&&(u=u.map(f=>Tn(f))),l(e,["mediaChunks"],u)}let i=r(n,["audio"]);i!=null&&l(e,["audio"],Tn(qa(i)));let o=r(n,["audioStreamEnd"]);o!=null&&l(e,["audioStreamEnd"],o);let s=r(n,["video"]);s!=null&&l(e,["video"],Tn(Va(s)));let a=r(n,["text"]);a!=null&&l(e,["text"],a);let c=r(n,["activityStart"]);c!=null&&l(e,["activityStart"],c);let d=r(n,["activityEnd"]);return d!=null&&l(e,["activityEnd"],d),e}p(ku,"liveSendRealtimeInputParametersToMldev");function Du(n){let e={},t=r(n,["media"]);if(t!=null){let u=Ba(t);Array.isArray(u)&&(u=u.map(f=>f)),l(e,["mediaChunks"],u)}let i=r(n,["audio"]);i!=null&&l(e,["audio"],qa(i));let o=r(n,["audioStreamEnd"]);o!=null&&l(e,["audioStreamEnd"],o);let s=r(n,["video"]);s!=null&&l(e,["video"],Va(s));let a=r(n,["text"]);a!=null&&l(e,["text"],a);let c=r(n,["activityStart"]);c!=null&&l(e,["activityStart"],c);let d=r(n,["activityEnd"]);return d!=null&&l(e,["activityEnd"],d),e}p(Du,"liveSendRealtimeInputParametersToVertex");function Lu(n){let e={},t=r(n,["setupComplete"]);t!=null&&l(e,["setupComplete"],t);let i=r(n,["serverContent"]);i!=null&&l(e,["serverContent"],i);let o=r(n,["toolCall"]);o!=null&&l(e,["toolCall"],o);let s=r(n,["toolCallCancellation"]);s!=null&&l(e,["toolCallCancellation"],s);let a=r(n,["usageMetadata"]);a!=null&&l(e,["usageMetadata"],qu(a));let c=r(n,["goAway"]);c!=null&&l(e,["goAway"],c);let d=r(n,["sessionResumptionUpdate"]);d!=null&&l(e,["sessionResumptionUpdate"],d);let u=r(n,["voiceActivityDetectionSignal"]);return u!=null&&l(e,["voiceActivityDetectionSignal"],u),e}p(Lu,"liveServerMessageFromVertex");function Uu(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],Tu(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],Cu(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Tn(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(Uu,"partToMldev$2");function Fu(n){let e={},t=r(n,["handle"]);if(t!=null&&l(e,["handle"],t),r(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}p(Fu,"sessionResumptionConfigToMldev$1");function ja(n){let e={},t=r(n,["voiceConfig"]);t!=null&&l(e,["voiceConfig"],t);let i=r(n,["languageCode"]);if(i!=null&&l(e,["languageCode"],i),r(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");return e}p(ja,"speechConfigToVertex$1");function Bu(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Au(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],xu(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(Bu,"toolToMldev$2");function Vu(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>_u(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(Vu,"toolToVertex$1");function qu(n){let e={},t=r(n,["promptTokenCount"]);t!=null&&l(e,["promptTokenCount"],t);let i=r(n,["cachedContentTokenCount"]);i!=null&&l(e,["cachedContentTokenCount"],i);let o=r(n,["candidatesTokenCount"]);o!=null&&l(e,["responseTokenCount"],o);let s=r(n,["toolUsePromptTokenCount"]);s!=null&&l(e,["toolUsePromptTokenCount"],s);let a=r(n,["thoughtsTokenCount"]);a!=null&&l(e,["thoughtsTokenCount"],a);let c=r(n,["totalTokenCount"]);c!=null&&l(e,["totalTokenCount"],c);let d=r(n,["promptTokensDetails"]);if(d!=null){let g=d;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["promptTokensDetails"],g)}let u=r(n,["cacheTokensDetails"]);if(u!=null){let g=u;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["cacheTokensDetails"],g)}let f=r(n,["candidatesTokensDetails"]);if(f!=null){let g=f;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["responseTokensDetails"],g)}let h=r(n,["toolUsePromptTokensDetails"]);if(h!=null){let g=h;Array.isArray(g)&&(g=g.map(b=>b)),l(e,["toolUsePromptTokensDetails"],g)}let m=r(n,["trafficType"]);return m!=null&&l(e,["trafficType"],m),e}p(qu,"usageMetadataFromVertex");function Ou(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Ou,"blobToMldev$1");function Hu(n){let e={},t=r(n,["content"]);t!=null&&l(e,["content"],t);let i=r(n,["citationMetadata"]);i!=null&&l(e,["citationMetadata"],zu(i));let o=r(n,["tokenCount"]);o!=null&&l(e,["tokenCount"],o);let s=r(n,["finishReason"]);s!=null&&l(e,["finishReason"],s);let a=r(n,["avgLogprobs"]);a!=null&&l(e,["avgLogprobs"],a);let c=r(n,["groundingMetadata"]);c!=null&&l(e,["groundingMetadata"],c);let d=r(n,["index"]);d!=null&&l(e,["index"],d);let u=r(n,["logprobsResult"]);u!=null&&l(e,["logprobsResult"],u);let f=r(n,["safetyRatings"]);if(f!=null){let m=f;Array.isArray(m)&&(m=m.map(g=>g)),l(e,["safetyRatings"],m)}let h=r(n,["urlContextMetadata"]);return h!=null&&l(e,["urlContextMetadata"],h),e}p(Hu,"candidateFromMldev");function zu(n){let e={},t=r(n,["citationSources"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>o)),l(e,["citations"],i)}return e}p(zu,"citationMetadataFromMldev");function Ku(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let s=Te(o);Array.isArray(s)&&(s=s.map(a=>a)),l(t,["contents"],s)}return t}p(Ku,"computeTokensParametersToVertex");function Ju(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["tokensInfo"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(e,["tokensInfo"],o)}return e}p(Ju,"computeTokensResponseFromVertex");function Wu(n){let e={},t=r(n,["values"]);t!=null&&l(e,["values"],t);let i=r(n,["statistics"]);return i!=null&&l(e,["statistics"],Yu(i)),e}p(Wu,"contentEmbeddingFromVertex");function Yu(n){let e={},t=r(n,["truncated"]);t!=null&&l(e,["truncated"],t);let i=r(n,["token_count"]);return i!=null&&l(e,["tokenCount"],i),e}p(Yu,"contentEmbeddingStatisticsFromVertex");function ti(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>sp(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(ti,"contentToMldev$1");function Xu(n){let e={},t=r(n,["controlType"]);t!=null&&l(e,["controlType"],t);let i=r(n,["enableControlImageComputation"]);return i!=null&&l(e,["computeControl"],i),e}p(Xu,"controlReferenceConfigToVertex");function Qu(n){let e={};if(r(n,["systemInstruction"])!==void 0)throw new Error("systemInstruction parameter is not supported in Gemini API.");if(r(n,["tools"])!==void 0)throw new Error("tools parameter is not supported in Gemini API.");if(r(n,["generationConfig"])!==void 0)throw new Error("generationConfig parameter is not supported in Gemini API.");return e}p(Qu,"countTokensConfigToMldev");function Zu(n,e){let t={},i=r(n,["systemInstruction"]);e!==void 0&&i!=null&&l(e,["systemInstruction"],ce(i));let o=r(n,["tools"]);if(e!==void 0&&o!=null){let a=o;Array.isArray(a)&&(a=a.map(c=>ol(c))),l(e,["tools"],a)}let s=r(n,["generationConfig"]);return e!==void 0&&s!=null&&l(e,["generationConfig"],Hf(s)),t}p(Zu,"countTokensConfigToVertex");function ju(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>ti(c))),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&Qu(s),t}p(ju,"countTokensParametersToMldev");function ef(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&Zu(s,t),t}p(ef,"countTokensParametersToVertex");function tf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["totalTokens"]);i!=null&&l(e,["totalTokens"],i);let o=r(n,["cachedContentTokenCount"]);return o!=null&&l(e,["cachedContentTokenCount"],o),e}p(tf,"countTokensResponseFromMldev");function nf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["totalTokens"]);return i!=null&&l(e,["totalTokens"],i),e}p(nf,"countTokensResponseFromVertex");function of(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(of,"deleteModelParametersToMldev");function sf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(sf,"deleteModelParametersToVertex");function rf(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(rf,"deleteModelResponseFromMldev");function af(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(af,"deleteModelResponseFromVertex");function lf(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["negativePrompt"]);e!==void 0&&o!=null&&l(e,["parameters","negativePrompt"],o);let s=r(n,["numberOfImages"]);e!==void 0&&s!=null&&l(e,["parameters","sampleCount"],s);let a=r(n,["aspectRatio"]);e!==void 0&&a!=null&&l(e,["parameters","aspectRatio"],a);let c=r(n,["guidanceScale"]);e!==void 0&&c!=null&&l(e,["parameters","guidanceScale"],c);let d=r(n,["seed"]);e!==void 0&&d!=null&&l(e,["parameters","seed"],d);let u=r(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&l(e,["parameters","safetySetting"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["includeSafetyAttributes"]);e!==void 0&&h!=null&&l(e,["parameters","includeSafetyAttributes"],h);let m=r(n,["includeRaiReason"]);e!==void 0&&m!=null&&l(e,["parameters","includeRaiReason"],m);let g=r(n,["language"]);e!==void 0&&g!=null&&l(e,["parameters","language"],g);let b=r(n,["outputMimeType"]);e!==void 0&&b!=null&&l(e,["parameters","outputOptions","mimeType"],b);let E=r(n,["outputCompressionQuality"]);e!==void 0&&E!=null&&l(e,["parameters","outputOptions","compressionQuality"],E);let w=r(n,["addWatermark"]);e!==void 0&&w!=null&&l(e,["parameters","addWatermark"],w);let v=r(n,["labels"]);e!==void 0&&v!=null&&l(e,["labels"],v);let I=r(n,["editMode"]);e!==void 0&&I!=null&&l(e,["parameters","editMode"],I);let T=r(n,["baseSteps"]);return e!==void 0&&T!=null&&l(e,["parameters","editConfig","baseSteps"],T),t}p(lf,"editImageConfigToVertex");function cf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["referenceImages"]);if(s!=null){let c=s;Array.isArray(c)&&(c=c.map(d=>up(d))),l(t,["instances[0]","referenceImages"],c)}let a=r(e,["config"]);return a!=null&&lf(a,t),t}p(cf,"editImageParametersInternalToVertex");function df(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>ni(s))),l(e,["generatedImages"],o)}return e}p(df,"editImageResponseFromVertex");function uf(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["requests[]","taskType"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["requests[]","title"],o);let s=r(n,["outputDimensionality"]);if(e!==void 0&&s!=null&&l(e,["requests[]","outputDimensionality"],s),r(n,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(r(n,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return t}p(uf,"embedContentConfigToMldev");function ff(n,e){let t={},i=r(n,["taskType"]);e!==void 0&&i!=null&&l(e,["instances[]","task_type"],i);let o=r(n,["title"]);e!==void 0&&o!=null&&l(e,["instances[]","title"],o);let s=r(n,["outputDimensionality"]);e!==void 0&&s!=null&&l(e,["parameters","outputDimensionality"],s);let a=r(n,["mimeType"]);e!==void 0&&a!=null&&l(e,["instances[]","mimeType"],a);let c=r(n,["autoTruncate"]);return e!==void 0&&c!=null&&l(e,["parameters","autoTruncate"],c),t}p(ff,"embedContentConfigToVertex");function pf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let c=Ho(n,o);Array.isArray(c)&&(c=c.map(d=>d)),l(t,["requests[]","content"],c)}let s=r(e,["config"]);s!=null&&uf(s,t);let a=r(e,["model"]);return a!==void 0&&l(t,["requests[]","model"],U(n,a)),t}p(pf,"embedContentParametersToMldev");function hf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Ho(n,o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["instances[]","content"],a)}let s=r(e,["config"]);return s!=null&&ff(s,t),t}p(hf,"embedContentParametersToVertex");function mf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["embeddings"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["embeddings"],s)}let o=r(n,["metadata"]);return o!=null&&l(e,["metadata"],o),e}p(mf,"embedContentResponseFromMldev");function gf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions[]","embeddings"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Wu(a))),l(e,["embeddings"],s)}let o=r(n,["metadata"]);return o!=null&&l(e,["metadata"],o),e}p(gf,"embedContentResponseFromVertex");function bf(n){let e={},t=r(n,["endpoint"]);t!=null&&l(e,["name"],t);let i=r(n,["deployedModelId"]);return i!=null&&l(e,["deployedModelId"],i),e}p(bf,"endpointFromVertex");function yf(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(yf,"fileDataToMldev$1");function Ef(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(Ef,"functionCallToMldev$1");function wf(n){let e={},t=r(n,["mode"]);t!=null&&l(e,["mode"],t);let i=r(n,["allowedFunctionNames"]);if(i!=null&&l(e,["allowedFunctionNames"],i),r(n,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}p(wf,"functionCallingConfigToMldev");function vf(n){let e={};if(r(n,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");let t=r(n,["description"]);t!=null&&l(e,["description"],t);let i=r(n,["name"]);i!=null&&l(e,["name"],i);let o=r(n,["parameters"]);o!=null&&l(e,["parameters"],o);let s=r(n,["parametersJsonSchema"]);s!=null&&l(e,["parametersJsonSchema"],s);let a=r(n,["response"]);a!=null&&l(e,["response"],a);let c=r(n,["responseJsonSchema"]);return c!=null&&l(e,["responseJsonSchema"],c),e}p(vf,"functionDeclarationToVertex");function If(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],ti(ce(o)));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],zo(v));let I=r(e,["responseJsonSchema"]);if(I!=null&&l(i,["responseJsonSchema"],I),r(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(r(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let T=r(e,["safetySettings"]);if(t!==void 0&&T!=null){let W=T;Array.isArray(W)&&(W=W.map(Ee=>fp(Ee))),l(t,["safetySettings"],W)}let A=r(e,["tools"]);if(t!==void 0&&A!=null){let W=St(A);Array.isArray(W)&&(W=W.map(Ee=>Ep(_t(Ee)))),l(t,["tools"],W)}let P=r(e,["toolConfig"]);if(t!==void 0&&P!=null&&l(t,["toolConfig"],yp(P)),r(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let G=r(e,["cachedContent"]);t!==void 0&&G!=null&&l(t,["cachedContent"],Le(n,G));let _=r(e,["responseModalities"]);_!=null&&l(i,["responseModalities"],_);let N=r(e,["mediaResolution"]);N!=null&&l(i,["mediaResolution"],N);let x=r(e,["speechConfig"]);if(x!=null&&l(i,["speechConfig"],Ko(x)),r(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let M=r(e,["thinkingConfig"]);M!=null&&l(i,["thinkingConfig"],M);let O=r(e,["imageConfig"]);O!=null&&l(i,["imageConfig"],Yf(O));let pe=r(e,["enableEnhancedCivicAnswers"]);return pe!=null&&l(i,["enableEnhancedCivicAnswers"],pe),i}p(If,"generateContentConfigToMldev");function Tf(n,e,t){let i={},o=r(e,["systemInstruction"]);t!==void 0&&o!=null&&l(t,["systemInstruction"],ce(o));let s=r(e,["temperature"]);s!=null&&l(i,["temperature"],s);let a=r(e,["topP"]);a!=null&&l(i,["topP"],a);let c=r(e,["topK"]);c!=null&&l(i,["topK"],c);let d=r(e,["candidateCount"]);d!=null&&l(i,["candidateCount"],d);let u=r(e,["maxOutputTokens"]);u!=null&&l(i,["maxOutputTokens"],u);let f=r(e,["stopSequences"]);f!=null&&l(i,["stopSequences"],f);let h=r(e,["responseLogprobs"]);h!=null&&l(i,["responseLogprobs"],h);let m=r(e,["logprobs"]);m!=null&&l(i,["logprobs"],m);let g=r(e,["presencePenalty"]);g!=null&&l(i,["presencePenalty"],g);let b=r(e,["frequencyPenalty"]);b!=null&&l(i,["frequencyPenalty"],b);let E=r(e,["seed"]);E!=null&&l(i,["seed"],E);let w=r(e,["responseMimeType"]);w!=null&&l(i,["responseMimeType"],w);let v=r(e,["responseSchema"]);v!=null&&l(i,["responseSchema"],zo(v));let I=r(e,["responseJsonSchema"]);I!=null&&l(i,["responseJsonSchema"],I);let T=r(e,["routingConfig"]);T!=null&&l(i,["routingConfig"],T);let A=r(e,["modelSelectionConfig"]);A!=null&&l(i,["modelConfig"],A);let P=r(e,["safetySettings"]);if(t!==void 0&&P!=null){let Ie=P;Array.isArray(Ie)&&(Ie=Ie.map(lt=>lt)),l(t,["safetySettings"],Ie)}let G=r(e,["tools"]);if(t!==void 0&&G!=null){let Ie=St(G);Array.isArray(Ie)&&(Ie=Ie.map(lt=>ol(_t(lt)))),l(t,["tools"],Ie)}let _=r(e,["toolConfig"]);t!==void 0&&_!=null&&l(t,["toolConfig"],_);let N=r(e,["labels"]);t!==void 0&&N!=null&&l(t,["labels"],N);let x=r(e,["cachedContent"]);t!==void 0&&x!=null&&l(t,["cachedContent"],Le(n,x));let M=r(e,["responseModalities"]);M!=null&&l(i,["responseModalities"],M);let O=r(e,["mediaResolution"]);O!=null&&l(i,["mediaResolution"],O);let pe=r(e,["speechConfig"]);pe!=null&&l(i,["speechConfig"],il(Ko(pe)));let W=r(e,["audioTimestamp"]);W!=null&&l(i,["audioTimestamp"],W);let Ee=r(e,["thinkingConfig"]);Ee!=null&&l(i,["thinkingConfig"],Ee);let Je=r(e,["imageConfig"]);if(Je!=null&&l(i,["imageConfig"],Xf(Je)),r(e,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return i}p(Tf,"generateContentConfigToVertex");function wa(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>ti(c))),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&l(t,["generationConfig"],If(n,s,t)),t}p(wa,"generateContentParametersToMldev");function va(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["contents"]);if(o!=null){let a=Te(o);Array.isArray(a)&&(a=a.map(c=>c)),l(t,["contents"],a)}let s=r(e,["config"]);return s!=null&&l(t,["generationConfig"],Tf(n,s,t)),t}p(va,"generateContentParametersToVertex");function Ia(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let d=i;Array.isArray(d)&&(d=d.map(u=>Hu(u))),l(e,["candidates"],d)}let o=r(n,["modelVersion"]);o!=null&&l(e,["modelVersion"],o);let s=r(n,["promptFeedback"]);s!=null&&l(e,["promptFeedback"],s);let a=r(n,["responseId"]);a!=null&&l(e,["responseId"],a);let c=r(n,["usageMetadata"]);return c!=null&&l(e,["usageMetadata"],c),e}p(Ia,"generateContentResponseFromMldev");function Ta(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["candidates"]);if(i!=null){let u=i;Array.isArray(u)&&(u=u.map(f=>f)),l(e,["candidates"],u)}let o=r(n,["createTime"]);o!=null&&l(e,["createTime"],o);let s=r(n,["modelVersion"]);s!=null&&l(e,["modelVersion"],s);let a=r(n,["promptFeedback"]);a!=null&&l(e,["promptFeedback"],a);let c=r(n,["responseId"]);c!=null&&l(e,["responseId"],c);let d=r(n,["usageMetadata"]);return d!=null&&l(e,["usageMetadata"],d),e}p(Ta,"generateContentResponseFromVertex");function Cf(n,e){let t={};if(r(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(r(n,["negativePrompt"])!==void 0)throw new Error("negativePrompt parameter is not supported in Gemini API.");let i=r(n,["numberOfImages"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["aspectRatio"]);e!==void 0&&o!=null&&l(e,["parameters","aspectRatio"],o);let s=r(n,["guidanceScale"]);if(e!==void 0&&s!=null&&l(e,["parameters","guidanceScale"],s),r(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let a=r(n,["safetyFilterLevel"]);e!==void 0&&a!=null&&l(e,["parameters","safetySetting"],a);let c=r(n,["personGeneration"]);e!==void 0&&c!=null&&l(e,["parameters","personGeneration"],c);let d=r(n,["includeSafetyAttributes"]);e!==void 0&&d!=null&&l(e,["parameters","includeSafetyAttributes"],d);let u=r(n,["includeRaiReason"]);e!==void 0&&u!=null&&l(e,["parameters","includeRaiReason"],u);let f=r(n,["language"]);e!==void 0&&f!=null&&l(e,["parameters","language"],f);let h=r(n,["outputMimeType"]);e!==void 0&&h!=null&&l(e,["parameters","outputOptions","mimeType"],h);let m=r(n,["outputCompressionQuality"]);if(e!==void 0&&m!=null&&l(e,["parameters","outputOptions","compressionQuality"],m),r(n,["addWatermark"])!==void 0)throw new Error("addWatermark parameter is not supported in Gemini API.");if(r(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let g=r(n,["imageSize"]);if(e!==void 0&&g!=null&&l(e,["parameters","sampleImageSize"],g),r(n,["enhancePrompt"])!==void 0)throw new Error("enhancePrompt parameter is not supported in Gemini API.");return t}p(Cf,"generateImagesConfigToMldev");function _f(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["negativePrompt"]);e!==void 0&&o!=null&&l(e,["parameters","negativePrompt"],o);let s=r(n,["numberOfImages"]);e!==void 0&&s!=null&&l(e,["parameters","sampleCount"],s);let a=r(n,["aspectRatio"]);e!==void 0&&a!=null&&l(e,["parameters","aspectRatio"],a);let c=r(n,["guidanceScale"]);e!==void 0&&c!=null&&l(e,["parameters","guidanceScale"],c);let d=r(n,["seed"]);e!==void 0&&d!=null&&l(e,["parameters","seed"],d);let u=r(n,["safetyFilterLevel"]);e!==void 0&&u!=null&&l(e,["parameters","safetySetting"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["includeSafetyAttributes"]);e!==void 0&&h!=null&&l(e,["parameters","includeSafetyAttributes"],h);let m=r(n,["includeRaiReason"]);e!==void 0&&m!=null&&l(e,["parameters","includeRaiReason"],m);let g=r(n,["language"]);e!==void 0&&g!=null&&l(e,["parameters","language"],g);let b=r(n,["outputMimeType"]);e!==void 0&&b!=null&&l(e,["parameters","outputOptions","mimeType"],b);let E=r(n,["outputCompressionQuality"]);e!==void 0&&E!=null&&l(e,["parameters","outputOptions","compressionQuality"],E);let w=r(n,["addWatermark"]);e!==void 0&&w!=null&&l(e,["parameters","addWatermark"],w);let v=r(n,["labels"]);e!==void 0&&v!=null&&l(e,["labels"],v);let I=r(n,["imageSize"]);e!==void 0&&I!=null&&l(e,["parameters","sampleImageSize"],I);let T=r(n,["enhancePrompt"]);return e!==void 0&&T!=null&&l(e,["parameters","enhancePrompt"],T),t}p(_f,"generateImagesConfigToVertex");function Sf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["config"]);return s!=null&&Cf(s,t),t}p(Sf,"generateImagesParametersToMldev");function Af(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["config"]);return s!=null&&_f(s,t),t}p(Af,"generateImagesParametersToVertex");function xf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>Bf(a))),l(e,["generatedImages"],s)}let o=r(n,["positivePromptSafetyAttributes"]);return o!=null&&l(e,["positivePromptSafetyAttributes"],tl(o)),e}p(xf,"generateImagesResponseFromMldev");function Pf(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>ni(a))),l(e,["generatedImages"],s)}let o=r(n,["positivePromptSafetyAttributes"]);return o!=null&&l(e,["positivePromptSafetyAttributes"],nl(o)),e}p(Pf,"generateImagesResponseFromVertex");function Nf(n,e){let t={},i=r(n,["numberOfVideos"]);if(e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i),r(n,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(r(n,["fps"])!==void 0)throw new Error("fps parameter is not supported in Gemini API.");let o=r(n,["durationSeconds"]);if(e!==void 0&&o!=null&&l(e,["parameters","durationSeconds"],o),r(n,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let s=r(n,["aspectRatio"]);e!==void 0&&s!=null&&l(e,["parameters","aspectRatio"],s);let a=r(n,["resolution"]);e!==void 0&&a!=null&&l(e,["parameters","resolution"],a);let c=r(n,["personGeneration"]);if(e!==void 0&&c!=null&&l(e,["parameters","personGeneration"],c),r(n,["pubsubTopic"])!==void 0)throw new Error("pubsubTopic parameter is not supported in Gemini API.");let d=r(n,["negativePrompt"]);e!==void 0&&d!=null&&l(e,["parameters","negativePrompt"],d);let u=r(n,["enhancePrompt"]);if(e!==void 0&&u!=null&&l(e,["parameters","enhancePrompt"],u),r(n,["generateAudio"])!==void 0)throw new Error("generateAudio parameter is not supported in Gemini API.");let f=r(n,["lastFrame"]);e!==void 0&&f!=null&&l(e,["instances[0]","lastFrame"],ii(f));let h=r(n,["referenceImages"]);if(e!==void 0&&h!=null){let m=h;Array.isArray(m)&&(m=m.map(g=>Gp(g))),l(e,["instances[0]","referenceImages"],m)}if(r(n,["mask"])!==void 0)throw new Error("mask parameter is not supported in Gemini API.");if(r(n,["compressionQuality"])!==void 0)throw new Error("compressionQuality parameter is not supported in Gemini API.");return t}p(Nf,"generateVideosConfigToMldev");function $f(n,e){let t={},i=r(n,["numberOfVideos"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["outputGcsUri"]);e!==void 0&&o!=null&&l(e,["parameters","storageUri"],o);let s=r(n,["fps"]);e!==void 0&&s!=null&&l(e,["parameters","fps"],s);let a=r(n,["durationSeconds"]);e!==void 0&&a!=null&&l(e,["parameters","durationSeconds"],a);let c=r(n,["seed"]);e!==void 0&&c!=null&&l(e,["parameters","seed"],c);let d=r(n,["aspectRatio"]);e!==void 0&&d!=null&&l(e,["parameters","aspectRatio"],d);let u=r(n,["resolution"]);e!==void 0&&u!=null&&l(e,["parameters","resolution"],u);let f=r(n,["personGeneration"]);e!==void 0&&f!=null&&l(e,["parameters","personGeneration"],f);let h=r(n,["pubsubTopic"]);e!==void 0&&h!=null&&l(e,["parameters","pubsubTopic"],h);let m=r(n,["negativePrompt"]);e!==void 0&&m!=null&&l(e,["parameters","negativePrompt"],m);let g=r(n,["enhancePrompt"]);e!==void 0&&g!=null&&l(e,["parameters","enhancePrompt"],g);let b=r(n,["generateAudio"]);e!==void 0&&b!=null&&l(e,["parameters","generateAudio"],b);let E=r(n,["lastFrame"]);e!==void 0&&E!=null&&l(e,["instances[0]","lastFrame"],Ne(E));let w=r(n,["referenceImages"]);if(e!==void 0&&w!=null){let T=w;Array.isArray(T)&&(T=T.map(A=>Rp(A))),l(e,["instances[0]","referenceImages"],T)}let v=r(n,["mask"]);e!==void 0&&v!=null&&l(e,["instances[0]","mask"],$p(v));let I=r(n,["compressionQuality"]);return e!==void 0&&I!=null&&l(e,["parameters","compressionQuality"],I),t}p($f,"generateVideosConfigToVertex");function Gf(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response","generateVideoResponse"]);return a!=null&&l(e,["response"],Df(a)),e}p(Gf,"generateVideosOperationFromMldev");function Rf(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],Lf(a)),e}p(Rf,"generateVideosOperationFromVertex");function Mf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["image"]);s!=null&&l(t,["instances[0]","image"],ii(s));let a=r(e,["video"]);a!=null&&l(t,["instances[0]","video"],sl(a));let c=r(e,["source"]);c!=null&&Uf(c,t);let d=r(e,["config"]);return d!=null&&Nf(d,t),t}p(Mf,"generateVideosParametersToMldev");function kf(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["prompt"]);o!=null&&l(t,["instances[0]","prompt"],o);let s=r(e,["image"]);s!=null&&l(t,["instances[0]","image"],Ne(s));let a=r(e,["video"]);a!=null&&l(t,["instances[0]","video"],rl(a));let c=r(e,["source"]);c!=null&&Ff(c,t);let d=r(e,["config"]);return d!=null&&$f(d,t),t}p(kf,"generateVideosParametersToVertex");function Df(n){let e={},t=r(n,["generatedSamples"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>qf(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Df,"generateVideosResponseFromMldev");function Lf(n){let e={},t=r(n,["videos"]);if(t!=null){let s=t;Array.isArray(s)&&(s=s.map(a=>Of(a))),l(e,["generatedVideos"],s)}let i=r(n,["raiMediaFilteredCount"]);i!=null&&l(e,["raiMediaFilteredCount"],i);let o=r(n,["raiMediaFilteredReasons"]);return o!=null&&l(e,["raiMediaFilteredReasons"],o),e}p(Lf,"generateVideosResponseFromVertex");function Uf(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],ii(o));let s=r(n,["video"]);return e!==void 0&&s!=null&&l(e,["instances[0]","video"],sl(s)),t}p(Uf,"generateVideosSourceToMldev");function Ff(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],Ne(o));let s=r(n,["video"]);return e!==void 0&&s!=null&&l(e,["instances[0]","video"],rl(s)),t}p(Ff,"generateVideosSourceToVertex");function Bf(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["image"],Qf(t));let i=r(n,["raiFilteredReason"]);i!=null&&l(e,["raiFilteredReason"],i);let o=r(n,["_self"]);return o!=null&&l(e,["safetyAttributes"],tl(o)),e}p(Bf,"generatedImageFromMldev");function ni(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["image"],el(t));let i=r(n,["raiFilteredReason"]);i!=null&&l(e,["raiFilteredReason"],i);let o=r(n,["_self"]);o!=null&&l(e,["safetyAttributes"],nl(o));let s=r(n,["prompt"]);return s!=null&&l(e,["enhancedPrompt"],s),e}p(ni,"generatedImageFromVertex");function Vf(n){let e={},t=r(n,["_self"]);t!=null&&l(e,["mask"],el(t));let i=r(n,["labels"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(e,["labels"],o)}return e}p(Vf,"generatedImageMaskFromVertex");function qf(n){let e={},t=r(n,["video"]);return t!=null&&l(e,["video"],Pp(t)),e}p(qf,"generatedVideoFromMldev");function Of(n){let e={},t=r(n,["_self"]);return t!=null&&l(e,["video"],Np(t)),e}p(Of,"generatedVideoFromVertex");function Hf(n){let e={},t=r(n,["modelSelectionConfig"]);t!=null&&l(e,["modelConfig"],t);let i=r(n,["responseJsonSchema"]);i!=null&&l(e,["responseJsonSchema"],i);let o=r(n,["audioTimestamp"]);o!=null&&l(e,["audioTimestamp"],o);let s=r(n,["candidateCount"]);s!=null&&l(e,["candidateCount"],s);let a=r(n,["enableAffectiveDialog"]);a!=null&&l(e,["enableAffectiveDialog"],a);let c=r(n,["frequencyPenalty"]);c!=null&&l(e,["frequencyPenalty"],c);let d=r(n,["logprobs"]);d!=null&&l(e,["logprobs"],d);let u=r(n,["maxOutputTokens"]);u!=null&&l(e,["maxOutputTokens"],u);let f=r(n,["mediaResolution"]);f!=null&&l(e,["mediaResolution"],f);let h=r(n,["presencePenalty"]);h!=null&&l(e,["presencePenalty"],h);let m=r(n,["responseLogprobs"]);m!=null&&l(e,["responseLogprobs"],m);let g=r(n,["responseMimeType"]);g!=null&&l(e,["responseMimeType"],g);let b=r(n,["responseModalities"]);b!=null&&l(e,["responseModalities"],b);let E=r(n,["responseSchema"]);E!=null&&l(e,["responseSchema"],E);let w=r(n,["routingConfig"]);w!=null&&l(e,["routingConfig"],w);let v=r(n,["seed"]);v!=null&&l(e,["seed"],v);let I=r(n,["speechConfig"]);I!=null&&l(e,["speechConfig"],il(I));let T=r(n,["stopSequences"]);T!=null&&l(e,["stopSequences"],T);let A=r(n,["temperature"]);A!=null&&l(e,["temperature"],A);let P=r(n,["thinkingConfig"]);P!=null&&l(e,["thinkingConfig"],P);let G=r(n,["topK"]);G!=null&&l(e,["topK"],G);let _=r(n,["topP"]);if(_!=null&&l(e,["topP"],_),r(n,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return e}p(Hf,"generationConfigToVertex");function zf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(zf,"getModelParametersToMldev");function Kf(n,e){let t={},i=r(e,["model"]);return i!=null&&l(t,["_url","name"],U(n,i)),t}p(Kf,"getModelParametersToVertex");function Jf(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Jf,"googleMapsToMldev$1");function Wf(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Wf,"googleSearchToMldev$1");function Yf(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);if(i!=null&&l(e,["imageSize"],i),r(n,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(r(n,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");return e}p(Yf,"imageConfigToMldev");function Xf(n){let e={},t=r(n,["aspectRatio"]);t!=null&&l(e,["aspectRatio"],t);let i=r(n,["imageSize"]);i!=null&&l(e,["imageSize"],i);let o=r(n,["outputMimeType"]);o!=null&&l(e,["imageOutputOptions","mimeType"],o);let s=r(n,["outputCompressionQuality"]);return s!=null&&l(e,["imageOutputOptions","compressionQuality"],s),e}p(Xf,"imageConfigToVertex");function Qf(n){let e={},t=r(n,["bytesBase64Encoded"]);t!=null&&l(e,["imageBytes"],Be(t));let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Qf,"imageFromMldev");function el(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["imageBytes"],Be(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(el,"imageFromVertex");function ii(n){let e={};if(r(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");let t=r(n,["imageBytes"]);t!=null&&l(e,["bytesBase64Encoded"],Be(t));let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(ii,"imageToMldev");function Ne(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["imageBytes"]);i!=null&&l(e,["bytesBase64Encoded"],Be(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(Ne,"imageToVertex");function Zf(n,e,t){let i={},o=r(e,["pageSize"]);t!==void 0&&o!=null&&l(t,["_query","pageSize"],o);let s=r(e,["pageToken"]);t!==void 0&&s!=null&&l(t,["_query","pageToken"],s);let a=r(e,["filter"]);t!==void 0&&a!=null&&l(t,["_query","filter"],a);let c=r(e,["queryBase"]);return t!==void 0&&c!=null&&l(t,["_url","models_url"],Ka(n,c)),i}p(Zf,"listModelsConfigToMldev");function jf(n,e,t){let i={},o=r(e,["pageSize"]);t!==void 0&&o!=null&&l(t,["_query","pageSize"],o);let s=r(e,["pageToken"]);t!==void 0&&s!=null&&l(t,["_query","pageToken"],s);let a=r(e,["filter"]);t!==void 0&&a!=null&&l(t,["_query","filter"],a);let c=r(e,["queryBase"]);return t!==void 0&&c!=null&&l(t,["_url","models_url"],Ka(n,c)),i}p(jf,"listModelsConfigToVertex");function ep(n,e){let t={},i=r(e,["config"]);return i!=null&&Zf(n,i,t),t}p(ep,"listModelsParametersToMldev");function tp(n,e){let t={},i=r(e,["config"]);return i!=null&&jf(n,i,t),t}p(tp,"listModelsParametersToVertex");function np(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["_self"]);if(o!=null){let s=Ja(o);Array.isArray(s)&&(s=s.map(a=>mo(a))),l(e,["models"],s)}return e}p(np,"listModelsResponseFromMldev");function ip(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["_self"]);if(o!=null){let s=Ja(o);Array.isArray(s)&&(s=s.map(a=>go(a))),l(e,["models"],s)}return e}p(ip,"listModelsResponseFromVertex");function op(n){let e={},t=r(n,["maskMode"]);t!=null&&l(e,["maskMode"],t);let i=r(n,["segmentationClasses"]);i!=null&&l(e,["maskClasses"],i);let o=r(n,["maskDilation"]);return o!=null&&l(e,["dilation"],o),e}p(op,"maskReferenceConfigToVertex");function mo(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);o!=null&&l(e,["description"],o);let s=r(n,["version"]);s!=null&&l(e,["version"],s);let a=r(n,["_self"]);a!=null&&l(e,["tunedModelInfo"],wp(a));let c=r(n,["inputTokenLimit"]);c!=null&&l(e,["inputTokenLimit"],c);let d=r(n,["outputTokenLimit"]);d!=null&&l(e,["outputTokenLimit"],d);let u=r(n,["supportedGenerationMethods"]);u!=null&&l(e,["supportedActions"],u);let f=r(n,["temperature"]);f!=null&&l(e,["temperature"],f);let h=r(n,["maxTemperature"]);h!=null&&l(e,["maxTemperature"],h);let m=r(n,["topP"]);m!=null&&l(e,["topP"],m);let g=r(n,["topK"]);g!=null&&l(e,["topK"],g);let b=r(n,["thinking"]);return b!=null&&l(e,["thinking"],b),e}p(mo,"modelFromMldev");function go(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["displayName"]);i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);o!=null&&l(e,["description"],o);let s=r(n,["versionId"]);s!=null&&l(e,["version"],s);let a=r(n,["deployedModels"]);if(a!=null){let h=a;Array.isArray(h)&&(h=h.map(m=>bf(m))),l(e,["endpoints"],h)}let c=r(n,["labels"]);c!=null&&l(e,["labels"],c);let d=r(n,["_self"]);d!=null&&l(e,["tunedModelInfo"],vp(d));let u=r(n,["defaultCheckpointId"]);u!=null&&l(e,["defaultCheckpointId"],u);let f=r(n,["checkpoints"]);if(f!=null){let h=f;Array.isArray(h)&&(h=h.map(m=>m)),l(e,["checkpoints"],h)}return e}p(go,"modelFromVertex");function sp(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],yf(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],Ef(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],Ou(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(sp,"partToMldev$1");function rp(n){let e={},t=r(n,["productImage"]);return t!=null&&l(e,["image"],Ne(t)),e}p(rp,"productImageToVertex");function ap(n,e){let t={},i=r(n,["numberOfImages"]);e!==void 0&&i!=null&&l(e,["parameters","sampleCount"],i);let o=r(n,["baseSteps"]);e!==void 0&&o!=null&&l(e,["parameters","baseSteps"],o);let s=r(n,["outputGcsUri"]);e!==void 0&&s!=null&&l(e,["parameters","storageUri"],s);let a=r(n,["seed"]);e!==void 0&&a!=null&&l(e,["parameters","seed"],a);let c=r(n,["safetyFilterLevel"]);e!==void 0&&c!=null&&l(e,["parameters","safetySetting"],c);let d=r(n,["personGeneration"]);e!==void 0&&d!=null&&l(e,["parameters","personGeneration"],d);let u=r(n,["addWatermark"]);e!==void 0&&u!=null&&l(e,["parameters","addWatermark"],u);let f=r(n,["outputMimeType"]);e!==void 0&&f!=null&&l(e,["parameters","outputOptions","mimeType"],f);let h=r(n,["outputCompressionQuality"]);e!==void 0&&h!=null&&l(e,["parameters","outputOptions","compressionQuality"],h);let m=r(n,["enhancePrompt"]);e!==void 0&&m!=null&&l(e,["parameters","enhancePrompt"],m);let g=r(n,["labels"]);return e!==void 0&&g!=null&&l(e,["labels"],g),t}p(ap,"recontextImageConfigToVertex");function lp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["source"]);o!=null&&dp(o,t);let s=r(e,["config"]);return s!=null&&ap(s,t),t}p(lp,"recontextImageParametersToVertex");function cp(n){let e={},t=r(n,["predictions"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>ni(o))),l(e,["generatedImages"],i)}return e}p(cp,"recontextImageResponseFromVertex");function dp(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["personImage"]);e!==void 0&&o!=null&&l(e,["instances[0]","personImage","image"],Ne(o));let s=r(n,["productImages"]);if(e!==void 0&&s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>rp(c))),l(e,["instances[0]","productImages"],a)}return t}p(dp,"recontextImageSourceToVertex");function up(n){let e={},t=r(n,["referenceImage"]);t!=null&&l(e,["referenceImage"],Ne(t));let i=r(n,["referenceId"]);i!=null&&l(e,["referenceId"],i);let o=r(n,["referenceType"]);o!=null&&l(e,["referenceType"],o);let s=r(n,["maskImageConfig"]);s!=null&&l(e,["maskImageConfig"],op(s));let a=r(n,["controlImageConfig"]);a!=null&&l(e,["controlImageConfig"],Xu(a));let c=r(n,["styleImageConfig"]);c!=null&&l(e,["styleImageConfig"],c);let d=r(n,["subjectImageConfig"]);return d!=null&&l(e,["subjectImageConfig"],d),e}p(up,"referenceImageAPIInternalToVertex");function tl(n){let e={},t=r(n,["safetyAttributes","categories"]);t!=null&&l(e,["categories"],t);let i=r(n,["safetyAttributes","scores"]);i!=null&&l(e,["scores"],i);let o=r(n,["contentType"]);return o!=null&&l(e,["contentType"],o),e}p(tl,"safetyAttributesFromMldev");function nl(n){let e={},t=r(n,["safetyAttributes","categories"]);t!=null&&l(e,["categories"],t);let i=r(n,["safetyAttributes","scores"]);i!=null&&l(e,["scores"],i);let o=r(n,["contentType"]);return o!=null&&l(e,["contentType"],o),e}p(nl,"safetyAttributesFromVertex");function fp(n){let e={},t=r(n,["category"]);if(t!=null&&l(e,["category"],t),r(n,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let i=r(n,["threshold"]);return i!=null&&l(e,["threshold"],i),e}p(fp,"safetySettingToMldev");function pp(n){let e={},t=r(n,["image"]);return t!=null&&l(e,["image"],Ne(t)),e}p(pp,"scribbleImageToVertex");function hp(n,e){let t={},i=r(n,["mode"]);e!==void 0&&i!=null&&l(e,["parameters","mode"],i);let o=r(n,["maxPredictions"]);e!==void 0&&o!=null&&l(e,["parameters","maxPredictions"],o);let s=r(n,["confidenceThreshold"]);e!==void 0&&s!=null&&l(e,["parameters","confidenceThreshold"],s);let a=r(n,["maskDilation"]);e!==void 0&&a!=null&&l(e,["parameters","maskDilation"],a);let c=r(n,["binaryColorThreshold"]);e!==void 0&&c!=null&&l(e,["parameters","binaryColorThreshold"],c);let d=r(n,["labels"]);return e!==void 0&&d!=null&&l(e,["labels"],d),t}p(hp,"segmentImageConfigToVertex");function mp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["source"]);o!=null&&bp(o,t);let s=r(e,["config"]);return s!=null&&hp(s,t),t}p(mp,"segmentImageParametersToVertex");function gp(n){let e={},t=r(n,["predictions"]);if(t!=null){let i=t;Array.isArray(i)&&(i=i.map(o=>Vf(o))),l(e,["generatedMasks"],i)}return e}p(gp,"segmentImageResponseFromVertex");function bp(n,e){let t={},i=r(n,["prompt"]);e!==void 0&&i!=null&&l(e,["instances[0]","prompt"],i);let o=r(n,["image"]);e!==void 0&&o!=null&&l(e,["instances[0]","image"],Ne(o));let s=r(n,["scribbleImage"]);return e!==void 0&&s!=null&&l(e,["instances[0]","scribble"],pp(s)),t}p(bp,"segmentImageSourceToVertex");function il(n){let e={},t=r(n,["voiceConfig"]);t!=null&&l(e,["voiceConfig"],t);let i=r(n,["languageCode"]);if(i!=null&&l(e,["languageCode"],i),r(n,["multiSpeakerVoiceConfig"])!==void 0)throw new Error("multiSpeakerVoiceConfig parameter is not supported in Vertex AI.");return e}p(il,"speechConfigToVertex");function yp(n){let e={},t=r(n,["functionCallingConfig"]);t!=null&&l(e,["functionCallingConfig"],wf(t));let i=r(n,["retrievalConfig"]);return i!=null&&l(e,["retrievalConfig"],i),e}p(yp,"toolConfigToMldev");function Ep(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Jf(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Wf(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(Ep,"toolToMldev$1");function ol(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let h=t;Array.isArray(h)&&(h=h.map(m=>vf(m))),l(e,["functionDeclarations"],h)}let i=r(n,["retrieval"]);i!=null&&l(e,["retrieval"],i);let o=r(n,["googleSearchRetrieval"]);o!=null&&l(e,["googleSearchRetrieval"],o);let s=r(n,["computerUse"]);if(s!=null&&l(e,["computerUse"],s),r(n,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let a=r(n,["codeExecution"]);a!=null&&l(e,["codeExecution"],a);let c=r(n,["enterpriseWebSearch"]);c!=null&&l(e,["enterpriseWebSearch"],c);let d=r(n,["googleMaps"]);d!=null&&l(e,["googleMaps"],d);let u=r(n,["googleSearch"]);u!=null&&l(e,["googleSearch"],u);let f=r(n,["urlContext"]);return f!=null&&l(e,["urlContext"],f),e}p(ol,"toolToVertex");function wp(n){let e={},t=r(n,["baseModel"]);t!=null&&l(e,["baseModel"],t);let i=r(n,["createTime"]);i!=null&&l(e,["createTime"],i);let o=r(n,["updateTime"]);return o!=null&&l(e,["updateTime"],o),e}p(wp,"tunedModelInfoFromMldev");function vp(n){let e={},t=r(n,["labels","google-vertex-llm-tuning-base-model-id"]);t!=null&&l(e,["baseModel"],t);let i=r(n,["createTime"]);i!=null&&l(e,["createTime"],i);let o=r(n,["updateTime"]);return o!=null&&l(e,["updateTime"],o),e}p(vp,"tunedModelInfoFromVertex");function Ip(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);e!==void 0&&o!=null&&l(e,["description"],o);let s=r(n,["defaultCheckpointId"]);return e!==void 0&&s!=null&&l(e,["defaultCheckpointId"],s),t}p(Ip,"updateModelConfigToMldev");function Tp(n,e){let t={},i=r(n,["displayName"]);e!==void 0&&i!=null&&l(e,["displayName"],i);let o=r(n,["description"]);e!==void 0&&o!=null&&l(e,["description"],o);let s=r(n,["defaultCheckpointId"]);return e!==void 0&&s!=null&&l(e,["defaultCheckpointId"],s),t}p(Tp,"updateModelConfigToVertex");function Cp(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","name"],U(n,i));let o=r(e,["config"]);return o!=null&&Ip(o,t),t}p(Cp,"updateModelParametersToMldev");function _p(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["config"]);return o!=null&&Tp(o,t),t}p(_p,"updateModelParametersToVertex");function Sp(n,e){let t={},i=r(n,["outputGcsUri"]);e!==void 0&&i!=null&&l(e,["parameters","storageUri"],i);let o=r(n,["safetyFilterLevel"]);e!==void 0&&o!=null&&l(e,["parameters","safetySetting"],o);let s=r(n,["personGeneration"]);e!==void 0&&s!=null&&l(e,["parameters","personGeneration"],s);let a=r(n,["includeRaiReason"]);e!==void 0&&a!=null&&l(e,["parameters","includeRaiReason"],a);let c=r(n,["outputMimeType"]);e!==void 0&&c!=null&&l(e,["parameters","outputOptions","mimeType"],c);let d=r(n,["outputCompressionQuality"]);e!==void 0&&d!=null&&l(e,["parameters","outputOptions","compressionQuality"],d);let u=r(n,["enhanceInputImage"]);e!==void 0&&u!=null&&l(e,["parameters","upscaleConfig","enhanceInputImage"],u);let f=r(n,["imagePreservationFactor"]);e!==void 0&&f!=null&&l(e,["parameters","upscaleConfig","imagePreservationFactor"],f);let h=r(n,["labels"]);e!==void 0&&h!=null&&l(e,["labels"],h);let m=r(n,["numberOfImages"]);e!==void 0&&m!=null&&l(e,["parameters","sampleCount"],m);let g=r(n,["mode"]);return e!==void 0&&g!=null&&l(e,["parameters","mode"],g),t}p(Sp,"upscaleImageAPIConfigInternalToVertex");function Ap(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["_url","model"],U(n,i));let o=r(e,["image"]);o!=null&&l(t,["instances[0]","image"],Ne(o));let s=r(e,["upscaleFactor"]);s!=null&&l(t,["parameters","upscaleConfig","upscaleFactor"],s);let a=r(e,["config"]);return a!=null&&Sp(a,t),t}p(Ap,"upscaleImageAPIParametersInternalToVertex");function xp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["predictions"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>ni(s))),l(e,["generatedImages"],o)}return e}p(xp,"upscaleImageResponseFromVertex");function Pp(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["encodedVideo"]);i!=null&&l(e,["videoBytes"],Be(i));let o=r(n,["encoding"]);return o!=null&&l(e,["mimeType"],o),e}p(Pp,"videoFromMldev");function Np(n){let e={},t=r(n,["gcsUri"]);t!=null&&l(e,["uri"],t);let i=r(n,["bytesBase64Encoded"]);i!=null&&l(e,["videoBytes"],Be(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(Np,"videoFromVertex");function $p(n){let e={},t=r(n,["image"]);t!=null&&l(e,["_self"],Ne(t));let i=r(n,["maskMode"]);return i!=null&&l(e,["maskMode"],i),e}p($p,"videoGenerationMaskToVertex");function Gp(n){let e={},t=r(n,["image"]);t!=null&&l(e,["image"],ii(t));let i=r(n,["referenceType"]);return i!=null&&l(e,["referenceType"],i),e}p(Gp,"videoGenerationReferenceImageToMldev");function Rp(n){let e={},t=r(n,["image"]);t!=null&&l(e,["image"],Ne(t));let i=r(n,["referenceType"]);return i!=null&&l(e,["referenceType"],i),e}p(Rp,"videoGenerationReferenceImageToVertex");function sl(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["uri"],t);let i=r(n,["videoBytes"]);i!=null&&l(e,["encodedVideo"],Be(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["encoding"],o),e}p(sl,"videoToMldev");function rl(n){let e={},t=r(n,["uri"]);t!=null&&l(e,["gcsUri"],t);let i=r(n,["videoBytes"]);i!=null&&l(e,["bytesBase64Encoded"],Be(i));let o=r(n,["mimeType"]);return o!=null&&l(e,["mimeType"],o),e}p(rl,"videoToVertex");function Mp(n,e){let t={},i=r(n,["displayName"]);return e!==void 0&&i!=null&&l(e,["displayName"],i),t}p(Mp,"createFileSearchStoreConfigToMldev");function kp(n){let e={},t=r(n,["config"]);return t!=null&&Mp(t,e),e}p(kp,"createFileSearchStoreParametersToMldev");function Dp(n,e){let t={},i=r(n,["force"]);return e!==void 0&&i!=null&&l(e,["_query","force"],i),t}p(Dp,"deleteFileSearchStoreConfigToMldev");function Lp(n){let e={},t=r(n,["name"]);t!=null&&l(e,["_url","name"],t);let i=r(n,["config"]);return i!=null&&Dp(i,e),e}p(Lp,"deleteFileSearchStoreParametersToMldev");function Up(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","name"],t),e}p(Up,"getFileSearchStoreParametersToMldev");function Fp(n,e){let t={},i=r(n,["customMetadata"]);if(e!==void 0&&i!=null){let s=i;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["customMetadata"],s)}let o=r(n,["chunkingConfig"]);return e!==void 0&&o!=null&&l(e,["chunkingConfig"],o),t}p(Fp,"importFileConfigToMldev");function Bp(n){let e={},t=r(n,["name"]);t!=null&&l(e,["name"],t);let i=r(n,["metadata"]);i!=null&&l(e,["metadata"],i);let o=r(n,["done"]);o!=null&&l(e,["done"],o);let s=r(n,["error"]);s!=null&&l(e,["error"],s);let a=r(n,["response"]);return a!=null&&l(e,["response"],qp(a)),e}p(Bp,"importFileOperationFromMldev");function Vp(n){let e={},t=r(n,["fileSearchStoreName"]);t!=null&&l(e,["_url","file_search_store_name"],t);let i=r(n,["fileName"]);i!=null&&l(e,["fileName"],i);let o=r(n,["config"]);return o!=null&&Fp(o,e),e}p(Vp,"importFileParametersToMldev");function qp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["parent"]);i!=null&&l(e,["parent"],i);let o=r(n,["documentName"]);return o!=null&&l(e,["documentName"],o),e}p(qp,"importFileResponseFromMldev");function Op(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Op,"listFileSearchStoresConfigToMldev");function Hp(n){let e={},t=r(n,["config"]);return t!=null&&Op(t,e),e}p(Hp,"listFileSearchStoresParametersToMldev");function zp(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["fileSearchStores"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["fileSearchStores"],s)}return e}p(zp,"listFileSearchStoresResponseFromMldev");function al(n,e){let t={},i=r(n,["mimeType"]);e!==void 0&&i!=null&&l(e,["mimeType"],i);let o=r(n,["displayName"]);e!==void 0&&o!=null&&l(e,["displayName"],o);let s=r(n,["customMetadata"]);if(e!==void 0&&s!=null){let c=s;Array.isArray(c)&&(c=c.map(d=>d)),l(e,["customMetadata"],c)}let a=r(n,["chunkingConfig"]);return e!==void 0&&a!=null&&l(e,["chunkingConfig"],a),t}p(al,"uploadToFileSearchStoreConfigToMldev");function Kp(n){let e={},t=r(n,["fileSearchStoreName"]);t!=null&&l(e,["_url","file_search_store_name"],t);let i=r(n,["config"]);return i!=null&&al(i,e),e}p(Kp,"uploadToFileSearchStoreParametersToMldev");function Jp(n){let e={},t=r(n,["sdkHttpResponse"]);return t!=null&&l(e,["sdkHttpResponse"],t),e}p(Jp,"uploadToFileSearchStoreResumableResponseFromMldev");var Wp="Content-Type",Yp="X-Server-Timeout",Xp="User-Agent",bo="x-goog-api-client",Qp="1.33.0",Zp=`google-genai-sdk/${Qp}`,jp="v1beta1",eh="v1beta",yo=class{static{p(this,"ApiClient")}constructor(e){var t,i;this.clientOptions=Object.assign(Object.assign({},e),{project:e.project,location:e.location,apiKey:e.apiKey,vertexai:e.vertexai});let o={};this.clientOptions.vertexai?(o.apiVersion=(t=this.clientOptions.apiVersion)!==null&&t!==void 0?t:jp,o.baseUrl=this.baseUrlFromProjectLocation(),this.normalizeAuthParameters()):(o.apiVersion=(i=this.clientOptions.apiVersion)!==null&&i!==void 0?i:eh,o.baseUrl="https://generativelanguage.googleapis.com/"),o.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=o,e.httpOptions&&(this.clientOptions.httpOptions=this.patchHttpOptions(o,e.httpOptions))}baseUrlFromProjectLocation(){return this.clientOptions.project&&this.clientOptions.location&&this.clientOptions.location!=="global"?`https://${this.clientOptions.location}-aiplatform.googleapis.com/`:"https://aiplatform.googleapis.com/"}normalizeAuthParameters(){if(this.clientOptions.project&&this.clientOptions.location){this.clientOptions.apiKey=void 0;return}this.clientOptions.project=void 0,this.clientOptions.location=void 0}isVertexAI(){var e;return(e=this.clientOptions.vertexai)!==null&&e!==void 0?e:!1}getProject(){return this.clientOptions.project}getLocation(){return this.clientOptions.location}getApiVersion(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.apiVersion!==void 0)return this.clientOptions.httpOptions.apiVersion;throw new Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw new Error("Base URL is not set.")}getRequestUrl(){return this.getRequestUrlInternal(this.clientOptions.httpOptions)}getHeaders(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.headers!==void 0)return this.clientOptions.httpOptions.headers;throw new Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw new Error("HTTP options are not correctly set.");let i=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&e.apiVersion!==""&&i.push(e.apiVersion),i.join("/")}getBaseResourcePath(){return`projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`}getApiKey(){return this.clientOptions.apiKey}getWebsocketBaseUrl(){let e=this.getBaseUrl(),t=new URL(e);return t.protocol=t.protocol=="http:"?"ws":"wss",t.toString()}setBaseUrl(e){if(this.clientOptions.httpOptions)this.clientOptions.httpOptions.baseUrl=e;else throw new Error("HTTP options are not correctly set.")}constructUrl(e,t,i){let o=[this.getRequestUrlInternal(t)];return i&&o.push(this.getBaseResourcePath()),e!==""&&o.push(e),new URL(`${o.join("/")}`)}shouldPrependVertexProjectPath(e){return!(this.clientOptions.apiKey||!this.clientOptions.vertexai||e.path.startsWith("projects/")||e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))}async request(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e),o=this.constructUrl(e.path,t,i);if(e.queryParams)for(let[a,c]of Object.entries(e.queryParams))o.searchParams.append(a,String(c));let s={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw new Error("Request body should be empty for GET request, but got non empty request body")}else s.body=e.body;return s=await this.includeExtraHttpOptionsToRequestInit(s,t,o.toString(),e.abortSignal),this.unaryApiCall(o,s,e.httpMethod)}patchHttpOptions(e,t){let i=JSON.parse(JSON.stringify(e));for(let[o,s]of Object.entries(t))typeof s=="object"?i[o]=Object.assign(Object.assign({},i[o]),s):s!==void 0&&(i[o]=s);return i}async requestStream(e){let t=this.clientOptions.httpOptions;e.httpOptions&&(t=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e),o=this.constructUrl(e.path,t,i);(!o.searchParams.has("alt")||o.searchParams.get("alt")!=="sse")&&o.searchParams.set("alt","sse");let s={};return s.body=e.body,s=await this.includeExtraHttpOptionsToRequestInit(s,t,o.toString(),e.abortSignal),this.streamApiCall(o,s,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,t,i,o){if(t&&t.timeout||o){let s=new AbortController,a=s.signal;if(t.timeout&&t?.timeout>0){let c=setTimeout(()=>s.abort(),t.timeout);c&&typeof c.unref=="function"&&c.unref()}o&&o.addEventListener("abort",()=>{s.abort()}),e.signal=a}return t&&t.extraBody!==null&&th(e,t.extraBody),e.headers=await this.getHeadersInternal(t,i),e}async unaryApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async o=>(await Ca(o),new Ht(o))).catch(o=>{throw o instanceof Error?o:new Error(JSON.stringify(o))})}async streamApiCall(e,t,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},t),{method:i})).then(async o=>(await Ca(o),this.processStreamResponse(o))).catch(o=>{throw o instanceof Error?o:new Error(JSON.stringify(o))})}processStreamResponse(e){return Ae(this,arguments,p(function*(){var i;let o=(i=e?.body)===null||i===void 0?void 0:i.getReader(),s=new TextDecoder("utf-8");if(!o)throw new Error("Response body is empty");try{let a="",c="data:",d=[`
667
667
 
668
668
  `,"\r\r",`\r
669
669
  \r
670
- `];for(;;){let{done:u,value:f}=yield G(o.read());if(u){if(a.trim().length>0)throw new Error("Incomplete JSON segment at the end");break}let h=s.decode(f,{stream:!0});try{let b=JSON.parse(h);if("error"in b){let E=JSON.parse(JSON.stringify(b.error)),w=E.status,v=E.code,I=`got status: ${w}. ${JSON.stringify(b)}`;if(v>=400&&v<600)throw new Gn({message:I,status:v})}}catch(b){if(b.name==="ApiError")throw b}a+=h;let m=-1,g=0;for(;;){m=-1,g=0;for(let w of d){let v=a.indexOf(w);v!==-1&&(m===-1||v<m)&&(m=v,g=w.length)}if(m===-1)break;let b=a.substring(0,m);a=a.substring(m+g);let E=b.trim();if(E.startsWith(c)){let w=E.substring(c.length).trim();try{let v=new Response(w,{headers:e?.headers,status:e?.status,statusText:e?.statusText});yield yield G(new Ut(v))}catch(v){throw new Error(`exception parsing stream chunk ${w}. ${v}`)}}}}}finally{o.releaseLock()}},"processStreamResponse_1"))}async apiCall(e,t){return fetch(e,t).catch(i=>{throw new Error(`exception ${i} sending request`)})}getDefaultHeaders(){let e={},t=jp+" "+this.clientOptions.userAgentExtra;return e[Qp]=t,e[fo]=t,e[Yp]="application/json",e}async getHeadersInternal(e,t){let i=new Headers;if(e&&e.headers){for(let[o,s]of Object.entries(e.headers))i.append(o,s);e.timeout&&e.timeout>0&&i.append(Xp,String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(i,t),i}getFileName(e){var t;let i="";return typeof e=="string"&&(i=e.replace(/[/\\]+$/,""),i=(t=i.split(/[/\\]/).pop())!==null&&t!==void 0?t:""),i}async uploadFile(e,t){var i;let o={};t!=null&&(o.mimeType=t.mimeType,o.name=t.name,o.displayName=t.displayName),o.name&&!o.name.startsWith("files/")&&(o.name=`files/${o.name}`);let s=this.clientOptions.uploader,a=await s.stat(e);o.sizeBytes=String(a.size);let c=(i=t?.mimeType)!==null&&i!==void 0?i:a.type;if(c===void 0||c==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");o.mimeType=c;let d={file:o},u=this.getFileName(e),f=C("upload/v1beta/files",d._url),h=await this.fetchUploadUrl(f,o.sizeBytes,o.mimeType,u,d,t?.httpOptions);return s.upload(e,h,this)}async uploadFileToFileSearchStore(e,t,i){var o;let s=this.clientOptions.uploader,a=await s.stat(t),c=String(a.size),d=(o=i?.mimeType)!==null&&o!==void 0?o:a.type;if(d===void 0||d==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");let u=`upload/v1beta/${e}:uploadToFileSearchStore`,f=this.getFileName(t),h={};i!=null&&nl(i,h);let m=await this.fetchUploadUrl(u,c,d,f,h,i?.httpOptions);return s.uploadToFileSearchStore(t,m,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,t,i,o,s,a){var c;let d={};a?d=a: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":`${t}`,"X-Goog-Upload-Header-Content-Type":`${i}`},o?{"X-Goog-Upload-File-Name":o}:{})};let u=await this.request({path:e,body:JSON.stringify(s),httpMethod:"POST",httpOptions:d});if(!u||!u?.headers)throw new Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");let f=(c=u?.headers)===null||c===void 0?void 0:c["x-goog-upload-url"];if(f===void 0)throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return f}};async function Ea(n){var e;if(n===void 0)throw new Error("response is undefined");if(!n.ok){let t=n.status,i;!((e=n.headers.get("content-type"))===null||e===void 0)&&e.includes("application/json")?i=await n.json():i={error:{message:await n.text(),code:n.status,status:n.statusText}};let o=JSON.stringify(i);throw t>=400&&t<600?new Gn({message:o,status:t}):new Error(o)}}p(Ea,"throwErrorIfNotOK");function nh(n,e){if(!e||Object.keys(e).length===0)return;if(n.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 n.body=="string"&&n.body.length>0)try{let s=JSON.parse(n.body);if(typeof s=="object"&&s!==null&&!Array.isArray(s))t=s;else{console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");return}}catch{console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}function i(s,a){let c=Object.assign({},s);for(let d in a)if(Object.prototype.hasOwnProperty.call(a,d)){let u=a[d],f=c[d];u&&typeof u=="object"&&!Array.isArray(u)&&f&&typeof f=="object"&&!Array.isArray(f)?c[d]=i(f,u):(f&&u&&typeof f!=typeof u&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${d}". Original type: ${typeof f}, New type: ${typeof u}. Overwriting.`),c[d]=u)}return c}p(i,"deepMerge");let o=i(t,e);n.body=JSON.stringify(o)}p(nh,"includeExtraBodyToRequestInit");var ih="mcp_used/unknown",oh=!1;function il(n){for(let e of n)if(sh(e)||typeof e=="object"&&"inputSchema"in e)return!0;return oh}p(il,"hasMcpToolUsage");function ol(n){var e;let t=(e=n[fo])!==null&&e!==void 0?e:"";n[fo]=(t+` ${ih}`).trimStart()}p(ol,"setMcpUsageHeader");function sh(n){return n!==null&&typeof n=="object"&&n instanceof ho}p(sh,"isMcpCallableTool");function rh(n){return Ae(this,arguments,p(function*(t,i=100){let o,s=0;for(;s<i;){let a=yield G(t.listTools({cursor:o}));for(let c of a.tools)yield yield G(c),s++;if(!a.nextCursor)break;o=a.nextCursor}},"listAllTools_1"))}p(rh,"listAllTools");var ho=class n{static{p(this,"McpCallableTool")}constructor(e=[],t){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=t}static create(e,t){return new n(e,t)}async initialize(){var e,t,i,o;if(this.mcpTools.length>0)return;let s={},a=[];for(let f of this.mcpClients)try{for(var c=!0,d=(t=void 0,xe(rh(f))),u;u=await d.next(),e=u.done,!e;c=!0){o=u.value,c=!1;let h=o;a.push(h);let m=h.name;if(s[m])throw new Error(`Duplicate function name ${m} found in MCP tools. Please ensure function names are unique.`);s[m]=f}}catch(h){t={error:h}}finally{try{!c&&!e&&(i=d.return)&&await i.call(d)}finally{if(t)throw t.error}}this.mcpTools=a,this.functionNameToMcpClient=s}async tool(){return await this.initialize(),Hc(this.mcpTools,this.config)}async callTool(e){await this.initialize();let t=[];for(let i of e)if(i.name in this.functionNameToMcpClient){let o=this.functionNameToMcpClient[i.name],s;this.config.timeout&&(s={timeout:this.config.timeout});let a=await o.callTool({name:i.name,arguments:i.args},void 0,s);t.push({functionResponse:{name:i.name,response:a.isError?{error:a}:a}})}return t}};async function ah(n,e,t){let i=new eo,o;t.data instanceof Blob?o=JSON.parse(await t.data.text()):o=JSON.parse(t.data),Object.assign(i,o),e(i)}p(ah,"handleWebSocketMessage$1");var mo=class{static{p(this,"LiveMusic")}constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i}async connect(e){var t,i;if(this.apiClient.isVertexAI())throw new Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");let o=this.apiClient.getWebsocketBaseUrl(),s=this.apiClient.getApiVersion(),a=ch(this.apiClient.getDefaultHeaders()),c=this.apiClient.getApiKey(),d=`${o}/ws/google.ai.generativelanguage.${s}.GenerativeService.BidiGenerateMusic?key=${c}`,u=p(()=>{},"onopenResolve"),f=new Promise(T=>{u=T}),h=e.callbacks,m=p(function(){u({})},"onopenAwaitedCallback"),g=this.apiClient,b={onopen:m,onmessage:p(T=>{ah(g,h.onmessage,T)},"onmessage"),onerror:(t=h?.onerror)!==null&&t!==void 0?t:function(T){},onclose:(i=h?.onclose)!==null&&i!==void 0?i:function(T){}},E=this.webSocketFactory.create(d,lh(a),b);E.connect(),await f;let I={setup:{model:U(this.apiClient,e.model)}};return E.send(JSON.stringify(I)),new go(E,this.apiClient)}},go=class{static{p(this,"LiveMusicSession")}constructor(e,t){this.conn=e,this.apiClient=t}async setWeightedPrompts(e){if(!e.weightedPrompts||Object.keys(e.weightedPrompts).length===0)throw new Error("Weighted prompts must be set and contain at least one entry.");let t=ku(e);this.conn.send(JSON.stringify({clientContent:t}))}async setMusicGenerationConfig(e){e.musicGenerationConfig||(e.musicGenerationConfig={});let t=Mu(e);this.conn.send(JSON.stringify(t))}sendPlaybackControl(e){let t={playbackControl:e};this.conn.send(JSON.stringify(t))}play(){this.sendPlaybackControl(yt.PLAY)}pause(){this.sendPlaybackControl(yt.PAUSE)}stop(){this.sendPlaybackControl(yt.STOP)}resetContext(){this.sendPlaybackControl(yt.RESET_CONTEXT)}close(){this.conn.close()}};function lh(n){let e={};return n.forEach((t,i)=>{e[i]=t}),e}p(lh,"headersToMap$1");function ch(n){let e=new Headers;for(let[t,i]of Object.entries(n))e.append(t,i);return e}p(ch,"mapToHeaders$1");var dh="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function uh(n,e,t){let i=new ji,o;t.data instanceof Blob?o=await t.data.text():t.data instanceof ArrayBuffer?o=new TextDecoder().decode(t.data):o=t.data;let s=JSON.parse(o);if(n.isVertexAI()){let a=Uu(s);Object.assign(i,a)}else Object.assign(i,s);e(i)}p(uh,"handleWebSocketMessage");var bo=class{static{p(this,"Live")}constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i,this.music=new mo(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var t,i,o,s,a,c;if(e.config&&e.config.httpOptions)throw new Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");let d=this.apiClient.getWebsocketBaseUrl(),u=this.apiClient.getApiVersion(),f,h=this.apiClient.getHeaders();e.config&&e.config.tools&&il(e.config.tools)&&ol(h);let m=hh(h);if(this.apiClient.isVertexAI())f=`${d}/ws/google.cloud.aiplatform.${u}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(m,f);else{let A=this.apiClient.getApiKey(),k="BidiGenerateContent",q="key";A?.startsWith("auth_tokens/")&&(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."),k="BidiGenerateContentConstrained",q="access_token"),f=`${d}/ws/google.ai.generativelanguage.${u}.GenerativeService.${k}?${q}=${A}`}let g=p(()=>{},"onopenResolve"),b=new Promise(A=>{g=A}),E=e.callbacks,w=p(function(){var A;(A=E?.onopen)===null||A===void 0||A.call(E),g({})},"onopenAwaitedCallback"),v=this.apiClient,I={onopen:w,onmessage:p(A=>{uh(v,E.onmessage,A)},"onmessage"),onerror:(t=E?.onerror)!==null&&t!==void 0?t:function(A){},onclose:(i=E?.onclose)!==null&&i!==void 0?i:function(A){}},T=this.webSocketFactory.create(f,ph(m),I);T.connect(),await b;let _=U(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&_.startsWith("publishers/")){let A=this.apiClient.getProject(),k=this.apiClient.getLocation();_=`projects/${A}/locations/${k}/`+_}let P={};this.apiClient.isVertexAI()&&((o=e.config)===null||o===void 0?void 0:o.responseModalities)===void 0&&(e.config===void 0?e.config={responseModalities:[yn.AUDIO]}:e.config.responseModalities=[yn.AUDIO]),!((s=e.config)===null||s===void 0)&&s.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 N=(c=(a=e.config)===null||a===void 0?void 0:a.tools)!==null&&c!==void 0?c:[],x=[];for(let A of N)if(this.isCallableTool(A)){let k=A;x.push(await k.tool())}else x.push(A);x.length>0&&(e.config.tools=x);let D={model:_,config:e.config,callbacks:e.callbacks};return this.apiClient.isVertexAI()?P=Gu(this.apiClient,D):P=Ru(this.apiClient,D),delete P.config,T.send(JSON.stringify(P)),new yo(T,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool=="function"}},fh={turnComplete:!0},yo=class{static{p(this,"Session")}constructor(e,t){this.conn=e,this.apiClient=t}tLiveClientContent(e,t){if(t.turns!==null&&t.turns!==void 0){let i=[];try{i=Te(t.turns),e.isVertexAI()||(i=i.map(o=>Yn(o)))}catch{throw new Error(`Failed to parse client content "turns", type: '${typeof t.turns}'`)}return{clientContent:{turns:i,turnComplete:t.turnComplete}}}return{clientContent:{turnComplete:t.turnComplete}}}tLiveClienttToolResponse(e,t){let i=[];if(t.functionResponses==null)throw new Error("functionResponses is required.");if(Array.isArray(t.functionResponses)?i=t.functionResponses:i=[t.functionResponses],i.length===0)throw new Error("functionResponses is required.");for(let s of i){if(typeof s!="object"||s===null||!("name"in s)||!("response"in s))throw new Error(`Could not parse function response, type '${typeof s}'.`);if(!e.isVertexAI()&&!("id"in s))throw new Error(dh)}return{toolResponse:{functionResponses:i}}}sendClientContent(e){e=Object.assign(Object.assign({},fh),e);let t=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(t))}sendRealtimeInput(e){let t={};this.apiClient.isVertexAI()?t={realtimeInput:Lu(e)}:t={realtimeInput:Du(e)},this.conn.send(JSON.stringify(t))}sendToolResponse(e){if(e.functionResponses==null)throw new Error("Tool response parameters are required.");let t=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(t))}close(){this.conn.close()}};function ph(n){let e={};return n.forEach((t,i)=>{e[i]=t}),e}p(ph,"headersToMap");function hh(n){let e=new Headers;for(let[t,i]of Object.entries(n))e.append(t,i);return e}p(hh,"mapToHeaders");var wa=10;function va(n){var e,t,i;if(!((e=n?.automaticFunctionCalling)===null||e===void 0)&&e.disable)return!0;let o=!1;for(let a of(t=n?.tools)!==null&&t!==void 0?t:[])if(wt(a)){o=!0;break}if(!o)return!0;let s=(i=n?.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls;return s&&(s<0||!Number.isInteger(s))||s==0?(console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",s),!0):!1}p(va,"shouldDisableAfc");function wt(n){return"callTool"in n&&typeof n.callTool=="function"}p(wt,"isCallableTool");function mh(n){var e,t,i;return(i=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(o=>wt(o)))!==null&&i!==void 0?i:!1}p(mh,"hasCallableTools");function Ia(n){var e;let t=[];return!((e=n?.config)===null||e===void 0)&&e.tools&&n.config.tools.forEach((i,o)=>{if(wt(i))return;let s=i;s.functionDeclarations&&s.functionDeclarations.length>0&&t.push(o)}),t}p(Ia,"findAfcIncompatibleToolIndexes");function Ta(n){var e;return!(!((e=n?.automaticFunctionCalling)===null||e===void 0)&&e.ignoreCallHistory)}p(Ta,"shouldAppendAfcHistory");var Eo=class extends Pe{static{p(this,"Models")}constructor(e){super(),this.apiClient=e,this.generateContent=async t=>{var i,o,s,a,c;let d=await this.processParamsMaybeAddMcpUsage(t);if(this.maybeMoveToResponseJsonSchem(t),!mh(t)||va(t.config))return await this.generateContentInternal(d);let u=Ia(t);if(u.length>0){let E=u.map(w=>`tools[${w}]`).join(", ");throw new Error(`Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations is not yet supported. Incompatible tools found at ${E}.`)}let f,h,m=Te(d.contents),g=(s=(o=(i=d.config)===null||i===void 0?void 0:i.automaticFunctionCalling)===null||o===void 0?void 0:o.maximumRemoteCalls)!==null&&s!==void 0?s:wa,b=0;for(;b<g&&(f=await this.generateContentInternal(d),!(!f.functionCalls||f.functionCalls.length===0));){let E=f.candidates[0].content,w=[];for(let v of(c=(a=t.config)===null||a===void 0?void 0:a.tools)!==null&&c!==void 0?c:[])if(wt(v)){let T=await v.callTool(f.functionCalls);w.push(...T)}b++,h={role:"user",parts:w},d.contents=Te(d.contents),d.contents.push(E),d.contents.push(h),Ta(d.config)&&(m.push(E),m.push(h))}return Ta(d.config)&&(f.automaticFunctionCallingHistory=m),f},this.generateContentStream=async t=>{var i,o,s,a,c;if(this.maybeMoveToResponseJsonSchem(t),va(t.config)){let h=await this.processParamsMaybeAddMcpUsage(t);return await this.generateContentStreamInternal(h)}let d=Ia(t);if(d.length>0){let h=d.map(m=>`tools[${m}]`).join(", ");throw new Error(`Incompatible tools found at ${h}. Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations" is not yet supported.`)}let u=(s=(o=(i=t?.config)===null||i===void 0?void 0:i.toolConfig)===null||o===void 0?void 0:o.functionCallingConfig)===null||s===void 0?void 0:s.streamFunctionCallArguments,f=(c=(a=t?.config)===null||a===void 0?void 0:a.automaticFunctionCalling)===null||c===void 0?void 0:c.disable;if(u&&!f)throw new Error("Running in streaming mode with 'streamFunctionCallArguments' enabled, this feature is not compatible with automatic function calling (AFC). Please set 'config.automaticFunctionCalling.disable' to true to disable AFC or leave 'config.toolConfig.functionCallingConfig.streamFunctionCallArguments' to be undefined or set to false to disable streaming function call arguments feature.");return await this.processAfcStream(t)},this.generateImages=async t=>await this.generateImagesInternal(t).then(i=>{var o;let s,a=[];if(i?.generatedImages)for(let d of i.generatedImages)d&&d?.safetyAttributes&&((o=d?.safetyAttributes)===null||o===void 0?void 0:o.contentType)==="Positive Prompt"?s=d?.safetyAttributes:a.push(d);let c;return s?c={generatedImages:a,positivePromptSafetyAttributes:s,sdkHttpResponse:i.sdkHttpResponse}:c={generatedImages:a,sdkHttpResponse:i.sdkHttpResponse},c}),this.list=async t=>{var i;let a={config:Object.assign(Object.assign({},{queryBase:!0}),t?.config)};if(this.apiClient.isVertexAI()&&!a.config.queryBase){if(!((i=a.config)===null||i===void 0)&&i.filter)throw new Error("Filtering tuned models list for Vertex AI is not currently supported");a.config.filter="labels.tune-type:*"}return new Le(De.PAGED_ITEM_MODELS,c=>this.listInternal(c),await this.listInternal(a),a)},this.editImage=async t=>{let i={model:t.model,prompt:t.prompt,referenceImages:[],config:t.config};return t.referenceImages&&t.referenceImages&&(i.referenceImages=t.referenceImages.map(o=>o.toReferenceImageAPI())),await this.editImageInternal(i)},this.upscaleImage=async t=>{let i={numberOfImages:1,mode:"upscale"};t.config&&(i=Object.assign(Object.assign({},i),t.config));let o={model:t.model,image:t.image,upscaleFactor:t.upscaleFactor,config:i};return await this.upscaleImageInternal(o)},this.generateVideos=async t=>{var i,o,s,a,c,d;if((t.prompt||t.image||t.video)&&t.source)throw new Error("Source and prompt/image/video are mutually exclusive. Please only use source.");return this.apiClient.isVertexAI()||(!((i=t.video)===null||i===void 0)&&i.uri&&(!((o=t.video)===null||o===void 0)&&o.videoBytes)?t.video={uri:t.video.uri,mimeType:t.video.mimeType}:!((a=(s=t.source)===null||s===void 0?void 0:s.video)===null||a===void 0)&&a.uri&&(!((d=(c=t.source)===null||c===void 0?void 0:c.video)===null||d===void 0)&&d.videoBytes)&&(t.source.video={uri:t.source.video.uri,mimeType:t.source.video.mimeType})),await this.generateVideosInternal(t)}}maybeMoveToResponseJsonSchem(e){e.config&&e.config.responseSchema&&(e.config.responseJsonSchema||Object.keys(e.config.responseSchema).includes("$schema")&&(e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema))}async processParamsMaybeAddMcpUsage(e){var t,i,o;let s=(t=e.config)===null||t===void 0?void 0:t.tools;if(!s)return e;let a=await Promise.all(s.map(async d=>wt(d)?await d.tool():d)),c={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:a})};if(c.config.tools=a,e.config&&e.config.tools&&il(e.config.tools)){let d=(o=(i=e.config.httpOptions)===null||i===void 0?void 0:i.headers)!==null&&o!==void 0?o:{},u=Object.assign({},d);Object.keys(u).length===0&&(u=this.apiClient.getDefaultHeaders()),ol(u),c.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:u})}return c}async initAfcToolsMap(e){var t,i,o;let s=new Map;for(let a of(i=(t=e.config)===null||t===void 0?void 0:t.tools)!==null&&i!==void 0?i:[])if(wt(a)){let c=a,d=await c.tool();for(let u of(o=d.functionDeclarations)!==null&&o!==void 0?o:[]){if(!u.name)throw new Error("Function declaration name is required.");if(s.has(u.name))throw new Error(`Duplicate tool declaration name: ${u.name}`);s.set(u.name,c)}}return s}async processAfcStream(e){var t,i,o;let s=(o=(i=(t=e.config)===null||t===void 0?void 0:t.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls)!==null&&o!==void 0?o:wa,a=!1,c=0,d=await this.initAfcToolsMap(e);return function(u,f,h){return Ae(this,arguments,function*(){for(var m,g,b,E,w,v;c<s;){a&&(c++,a=!1);let P=yield G(u.processParamsMaybeAddMcpUsage(h)),N=yield G(u.generateContentStreamInternal(P)),x=[],D=[];try{for(var I=!0,T=(g=void 0,xe(N)),_;_=yield G(T.next()),m=_.done,!m;I=!0){E=_.value,I=!1;let A=E;if(yield yield G(A),A.candidates&&(!((w=A.candidates[0])===null||w===void 0)&&w.content)){D.push(A.candidates[0].content);for(let k of(v=A.candidates[0].content.parts)!==null&&v!==void 0?v:[])if(c<s&&k.functionCall){if(!k.functionCall.name)throw new Error("Function call name was not returned by the model.");if(f.has(k.functionCall.name)){let q=yield G(f.get(k.functionCall.name).callTool([k.functionCall]));x.push(...q)}else throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${f.keys()}, mising tool: ${k.functionCall.name}`)}}}}catch(A){g={error:A}}finally{try{!I&&!m&&(b=T.return)&&(yield G(b.call(T)))}finally{if(g)throw g.error}}if(x.length>0){a=!0;let A=new it;A.candidates=[{content:{role:"user",parts:x}}],yield yield G(A);let k=[];k.push(...D),k.push({role:"user",parts:x});let q=Te(h.contents).concat(k);h.contents=q}else break}})}(this,d,e)}async generateContentInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ga(this.apiClient,e);return c=C("{model}:generateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ya(f),m=new it;return Object.assign(m,h),m})}else{let u=ma(this.apiClient,e);return c=C("{model}:generateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ba(f),m=new it;return Object.assign(m,h),m})}}async generateContentStreamInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ga(this.apiClient,e);return c=C("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.requestStream({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}),a.then(function(h){return Ae(this,arguments,function*(){var m,g,b,E;try{for(var w=!0,v=xe(h),I;I=yield G(v.next()),m=I.done,!m;w=!0){E=I.value,w=!1;let T=E,_=ya(yield G(T.json()));_.sdkHttpResponse={headers:T.headers};let P=new it;Object.assign(P,_),yield yield G(P)}}catch(T){g={error:T}}finally{try{!w&&!m&&(b=v.return)&&(yield G(b.call(v)))}finally{if(g)throw g.error}}})})}else{let u=ma(this.apiClient,e);return c=C("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.requestStream({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}),a.then(function(h){return Ae(this,arguments,function*(){var m,g,b,E;try{for(var w=!0,v=xe(h),I;I=yield G(v.next()),m=I.done,!m;w=!0){E=I.value,w=!1;let T=E,_=ba(yield G(T.json()));_.sdkHttpResponse={headers:T.headers};let P=new it;Object.assign(P,_),yield yield G(P)}}catch(T){g={error:T}}finally{try{!w&&!m&&(b=v.return)&&(yield G(b.call(v)))}finally{if(g)throw g.error}}})})}}async embedContent(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=mf(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=bf(f),m=new wn;return Object.assign(m,h),m})}else{let u=hf(this.apiClient,e);return c=C("{model}:batchEmbedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=gf(f),m=new wn;return Object.assign(m,h),m})}}async generateImagesInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=xf(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Nf(f),m=new vn;return Object.assign(m,h),m})}else{let u=Af(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Pf(f),m=new vn;return Object.assign(m,h),m})}}async editImageInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=df(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=uf(d),f=new Vi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=xp(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=Pp(d),f=new qi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async recontextImage(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=cp(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=dp(d),f=new Hi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async segmentImage(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=gp(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=bp(d),f=new Oi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Jf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>uo(f))}else{let u=Kf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>co(f))}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=np(this.apiClient,e);return c=C("{models_url}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=op(f),m=new In;return Object.assign(m,h),m})}else{let u=tp(this.apiClient,e);return c=C("{models_url}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ip(f),m=new In;return Object.assign(m,h),m})}}async update(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Sp(this.apiClient,e);return c=C("{model}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>uo(f))}else{let u=_p(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>co(f))}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=rf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=lf(f),m=new Tn;return Object.assign(m,h),m})}else{let u=sf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=af(f),m=new Tn;return Object.assign(m,h),m})}}async countTokens(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=tf(this.apiClient,e);return c=C("{model}:countTokens",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=of(f),m=new Cn;return Object.assign(m,h),m})}else{let u=ef(this.apiClient,e);return c=C("{model}:countTokens",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=nf(f),m=new Cn;return Object.assign(m,h),m})}}async computeTokens(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Ju(this.apiClient,e);return s=C("{model}:computeTokens",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=Wu(d),f=new zi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Df(this.apiClient,e);return c=C("{model}:predictLongRunning",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>{let h=Mf(f),m=new _n;return Object.assign(m,h),m})}else{let u=kf(this.apiClient,e);return c=C("{model}:predictLongRunning",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>{let h=Gf(f),m=new _n;return Object.assign(m,h),m})}}};var wo=class extends Pe{static{p(this,"Operations")}constructor(e){super(),this.apiClient=e}async getVideosOperation(e){let t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=t.name.split("/operations/")[0],s;i&&"httpOptions"in i&&(s=i.httpOptions);let a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:o,config:{httpOptions:s}});return t._fromAPIResponse({apiResponse:a,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async get(e){let t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=t.name.split("/operations/")[0],s;i&&"httpOptions"in i&&(s=i.httpOptions);let a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:o,config:{httpOptions:s}});return t._fromAPIResponse({apiResponse:a,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async getVideosOperationInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Nc(e);return c=C("{operationName}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a}else{let u=Pc(e);return c=C("{operationName}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a}}async fetchPredictVideosOperationInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Ic(e);return s=C("{resourceName}:fetchPredictOperation",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o}else throw new Error("This method is only supported by the Vertex AI.")}};function gh(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(gh,"blobToMldev");function bh(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>Sh(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(bh,"contentToMldev");function yh(n,e,t){let i={},o=r(e,["expireTime"]);t!==void 0&&o!=null&&l(t,["expireTime"],o);let s=r(e,["newSessionExpireTime"]);t!==void 0&&s!=null&&l(t,["newSessionExpireTime"],s);let a=r(e,["uses"]);t!==void 0&&a!=null&&l(t,["uses"],a);let c=r(e,["liveConnectConstraints"]);t!==void 0&&c!=null&&l(t,["bidiGenerateContentSetup"],_h(n,c));let d=r(e,["lockAdditionalFields"]);return t!==void 0&&d!=null&&l(t,["fieldMask"],d),i}p(yh,"createAuthTokenConfigToMldev");function Eh(n,e){let t={},i=r(e,["config"]);return i!=null&&l(t,["config"],yh(n,i,t)),t}p(Eh,"createAuthTokenParametersToMldev");function wh(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(wh,"fileDataToMldev");function vh(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(vh,"functionCallToMldev");function Ih(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(Ih,"googleMapsToMldev");function Th(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Th,"googleSearchToMldev");function Ch(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],i);let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],qo(h));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],bh(le(b)));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let N=Ct(E);Array.isArray(N)&&(N=N.map(x=>xh(Tt(x)))),l(e,["setup","tools"],N)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],Ah(w));let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let _=r(n,["contextWindowCompression"]);e!==void 0&&_!=null&&l(e,["setup","contextWindowCompression"],_);let P=r(n,["proactivity"]);if(e!==void 0&&P!=null&&l(e,["setup","proactivity"],P),r(n,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return t}p(Ch,"liveConnectConfigToMldev");function _h(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],Ch(o,t)),t}p(_h,"liveConnectConstraintsToMldev");function Sh(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],wh(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],vh(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],gh(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(Sh,"partToMldev");function Ah(n){let e={},t=r(n,["handle"]);if(t!=null&&l(e,["handle"],t),r(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}p(Ah,"sessionResumptionConfigToMldev");function xh(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],Ih(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Th(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(xh,"toolToMldev");function Ph(n){let e=[];for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){let i=n[t];if(typeof i=="object"&&i!=null&&Object.keys(i).length>0){let o=Object.keys(i).map(s=>`${t}.${s}`);e.push(...o)}else e.push(t)}return e.join(",")}p(Ph,"getFieldMasks");function Nh(n,e){let t=null,i=n.bidiGenerateContentSetup;if(typeof i=="object"&&i!==null&&"setup"in i){let s=i.setup;typeof s=="object"&&s!==null?(n.bidiGenerateContentSetup=s,t=s):delete n.bidiGenerateContentSetup}else i!==void 0&&delete n.bidiGenerateContentSetup;let o=n.fieldMask;if(t){let s=Ph(t);if(Array.isArray(e?.lockAdditionalFields)&&e?.lockAdditionalFields.length===0)s?n.fieldMask=s:delete n.fieldMask;else if(e?.lockAdditionalFields&&e.lockAdditionalFields.length>0&&o!==null&&Array.isArray(o)&&o.length>0){let a=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"],c=[];o.length>0&&(c=o.map(u=>a.includes(u)?`generationConfig.${u}`:u));let d=[];s&&d.push(s),c.length>0&&d.push(...c),d.length>0?n.fieldMask=d.join(","):delete n.fieldMask}else delete n.fieldMask}else o!==null&&Array.isArray(o)&&o.length>0?n.fieldMask=o.join(","):delete n.fieldMask;return n}p(Nh,"convertBidiSetupToTokenSetup");var vo=class extends Pe{static{p(this,"Tokens")}constructor(e){super(),this.apiClient=e}async create(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("The client.tokens.create method is only supported by the Gemini Developer API.");{let c=Eh(this.apiClient,e);s=C("auth_tokens",c._url),a=c._query,delete c.config,delete c._url,delete c._query;let d=Nh(c,e.config);return o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(u=>u.json()),o.then(u=>u)}}};function $h(n,e){let t={},i=r(n,["force"]);return e!==void 0&&i!=null&&l(e,["_query","force"],i),t}p($h,"deleteDocumentConfigToMldev");function Rh(n){let e={},t=r(n,["name"]);t!=null&&l(e,["_url","name"],t);let i=r(n,["config"]);return i!=null&&$h(i,e),e}p(Rh,"deleteDocumentParametersToMldev");function Gh(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","name"],t),e}p(Gh,"getDocumentParametersToMldev");function Mh(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Mh,"listDocumentsConfigToMldev");function kh(n){let e={},t=r(n,["parent"]);t!=null&&l(e,["_url","parent"],t);let i=r(n,["config"]);return i!=null&&Mh(i,e),e}p(kh,"listDocumentsParametersToMldev");function Dh(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["documents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["documents"],s)}return e}p(Dh,"listDocumentsResponseFromMldev");var Io=class extends Pe{static{p(this,"Documents")}constructor(e){super(),this.apiClient=e,this.list=async t=>new Le(De.PAGED_ITEM_DOCUMENTS,i=>this.listInternal({parent:t.parent,config:i.config}),await this.listInternal(t),t)}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Gh(e);return s=C("{name}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o="",s={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let a=Rh(e);o=C("{name}",a._url),s=a._query,delete a._url,delete a._query,await this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=kh(e);return s=C("{parent}/documents",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Dh(d),f=new Ki;return Object.assign(f,u),f})}}};var To=class extends Pe{static{p(this,"FileSearchStores")}constructor(e,t=new Io(e)){super(),this.apiClient=e,this.documents=t,this.list=async(i={})=>new Le(De.PAGED_ITEM_FILE_SEARCH_STORES,o=>this.listInternal(o),await this.listInternal(i),i)}async uploadToFileSearchStore(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files to a file search store.");return this.apiClient.uploadFileToFileSearchStore(e.fileSearchStoreName,e.file,e.config)}async create(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Dp(e);return s=C("fileSearchStores",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Fp(e);return s=C("{name}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o="",s={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let a=Up(e);o=C("{name}",a._url),s=a._query,delete a._url,delete a._query,await this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=zp(e);return s=C("fileSearchStores",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Kp(d),f=new Ji;return Object.assign(f,u),f})}}async uploadToFileSearchStoreInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Jp(e);return s=C("upload/v1beta/{file_search_store_name}:uploadToFileSearchStore",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Wp(d),f=new Wi;return Object.assign(f,u),f})}}async importFile(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=qp(e);return s=C("{file_search_store_name}:importFile",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Vp(d),f=new Yi;return Object.assign(f,u),f})}}};var sl=p(function(){let{crypto:n}=globalThis;if(n?.randomUUID)return sl=n.randomUUID.bind(n),n.randomUUID();let e=new Uint8Array(1),t=n?()=>n.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>(+i^t()&15>>+i/4).toString(16))},"uuid4Internal"),Lh=p(()=>sl(),"uuid4");function Co(n){return typeof n=="object"&&n!==null&&("name"in n&&n.name==="AbortError"||"message"in n&&String(n.message).includes("FetchRequestCanceledException"))}p(Co,"isAbortError");var _o=p(n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null){try{if(Object.prototype.toString.call(n)==="[object Error]"){let e=new Error(n.message,n.cause?{cause:n.cause}:{});return n.stack&&(e.stack=n.stack),n.cause&&!e.cause&&(e.cause=n.cause),n.name&&(e.name=n.name),e}}catch{}try{return new Error(JSON.stringify(n))}catch{}}return new Error(n)},"castToError");var ge=class extends Error{static{p(this,"GeminiNextGenAPIClientError")}},be=class n extends ge{static{p(this,"APIError")}constructor(e,t,i,o){super(`${n.makeMessage(e,t,i)}`),this.status=e,this.headers=o,this.error=t}static makeMessage(e,t,i){let o=t?.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):i;return e&&o?`${e} ${o}`:e?`${e} status code (no body)`:o||"(no status code or body)"}static generate(e,t,i,o){if(!e||!o)return new vt({message:i,cause:_o(t)});let s=t;return e===400?new kn(e,s,i,o):e===401?new Dn(e,s,i,o):e===403?new Ln(e,s,i,o):e===404?new Un(e,s,i,o):e===409?new Fn(e,s,i,o):e===422?new Bn(e,s,i,o):e===429?new Vn(e,s,i,o):e>=500?new qn(e,s,i,o):new n(e,s,i,o)}},Ft=class extends be{static{p(this,"APIUserAbortError")}constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},vt=class extends be{static{p(this,"APIConnectionError")}constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}},Mn=class extends vt{static{p(this,"APIConnectionTimeoutError")}constructor({message:e}={}){super({message:e??"Request timed out."})}},kn=class extends be{static{p(this,"BadRequestError")}},Dn=class extends be{static{p(this,"AuthenticationError")}},Ln=class extends be{static{p(this,"PermissionDeniedError")}},Un=class extends be{static{p(this,"NotFoundError")}},Fn=class extends be{static{p(this,"ConflictError")}},Bn=class extends be{static{p(this,"UnprocessableEntityError")}},Vn=class extends be{static{p(this,"RateLimitError")}},qn=class extends be{static{p(this,"InternalServerError")}};var Uh=/^[a-z][a-z0-9+.-]*:/i,Fh=p(n=>Uh.test(n),"isAbsoluteURL"),So=p(n=>(So=Array.isArray,So(n)),"isArrayInternal"),Bh=So,Vh=Bh,Ca=Vh;function qh(n){if(!n)return!0;for(let e in n)return!1;return!0}p(qh,"isEmptyObj");function Hh(n,e){return Object.prototype.hasOwnProperty.call(n,e)}p(Hh,"hasOwn");var Oh=p((n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new ge(`${n} must be an integer`);if(e<0)throw new ge(`${n} must be a positive integer`);return e},"validatePositiveInteger"),zh=p(n=>{try{return JSON.parse(n)}catch{return}},"safeJSON");var Kh=p(n=>new Promise(e=>setTimeout(e,n)),"sleep$1");var bt="0.0.1";function Jh(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}p(Jh,"getDetectedPlatform");var Wh=p(()=>{var n,e,t,i,o;let s=Jh();if(s==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":bt,"X-Stainless-OS":Sa(Deno.build.os),"X-Stainless-Arch":_a(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:(e=(n=Deno.version)===null||n===void 0?void 0:n.deno)!==null&&e!==void 0?e:"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":bt,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(s==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":bt,"X-Stainless-OS":Sa((t=globalThis.process.platform)!==null&&t!==void 0?t:"unknown"),"X-Stainless-Arch":_a((i=globalThis.process.arch)!==null&&i!==void 0?i:"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":(o=globalThis.process.version)!==null&&o!==void 0?o:"unknown"};let a=Yh();return a?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":bt,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${a.browser}`,"X-Stainless-Runtime-Version":a.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":bt,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},"getPlatformProperties");function Yh(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:t}of n){let i=t.exec(navigator.userAgent);if(i){let o=i[1]||0,s=i[2]||0,a=i[3]||0;return{browser:e,version:`${o}.${s}.${a}`}}}return null}p(Yh,"getBrowserInfo");var _a=p(n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown","normalizeArch"),Sa=p(n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),"normalizePlatform"),un,Xh=p(()=>un??(un=Wh()),"getPlatformHeaders");function Qh(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}p(Qh,"getDefaultFetch");function rl(...n){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...n)}p(rl,"makeReadableStream");function Zh(n){let e=Symbol.asyncIterator in n?n[Symbol.asyncIterator]():n[Symbol.iterator]();return rl({start(){},async pull(t){let{done:i,value:o}=await e.next();i?t.close():t.enqueue(o)},async cancel(){var t;await((t=e.return)===null||t===void 0?void 0:t.call(e))}})}p(Zh,"ReadableStreamFrom");function al(n){if(n[Symbol.asyncIterator])return n;let e=n.getReader();return{async next(){try{let t=await e.read();return t?.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){let t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}p(al,"ReadableStreamToAsyncIterable");async function jh(n){var e,t;if(n===null||typeof n!="object")return;if(n[Symbol.asyncIterator]){await((t=(e=n[Symbol.asyncIterator]()).return)===null||t===void 0?void 0:t.call(e));return}let i=n.getReader(),o=i.cancel();i.releaseLock(),await o}p(jh,"CancelReadableStream");var em=p(({headers:n,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),"FallbackEncoder");var ll=p(()=>{var n;if(typeof File>"u"){let{process:e}=globalThis,t=typeof((n=e?.versions)===null||n===void 0?void 0:n.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}},"checkFileSupport");function Di(n,e,t){return ll(),new File(n,e??"unknown_file",t)}p(Di,"makeFile");function tm(n){return(typeof n=="object"&&n!==null&&("name"in n&&n.name&&String(n.name)||"url"in n&&n.url&&String(n.url)||"filename"in n&&n.filename&&String(n.filename)||"path"in n&&n.path&&String(n.path))||"").split(/[\\/]/).pop()||void 0}p(tm,"getName");var nm=p(n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function","isAsyncIterable");var cl=p(n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function","isBlobLike"),im=p(n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&cl(n),"isFileLike"),om=p(n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function","isResponseLike");async function sm(n,e,t){if(ll(),n=await n,im(n))return n instanceof File?n:Di([await n.arrayBuffer()],n.name);if(om(n)){let o=await n.blob();return e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()),Di(await Ao(o),e,t)}let i=await Ao(n);if(e||(e=tm(n)),!t?.type){let o=i.find(s=>typeof s=="object"&&"type"in s&&s.type);typeof o=="string"&&(t=Object.assign(Object.assign({},t),{type:o}))}return Di(i,e,t)}p(sm,"toFile");async function Ao(n){var e,t,i,o,s;let a=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)a.push(n);else if(cl(n))a.push(n instanceof Blob?n:await n.arrayBuffer());else if(nm(n))try{for(var c=!0,d=xe(n),u;u=await d.next(),e=u.done,!e;c=!0){o=u.value,c=!1;let f=o;a.push(...await Ao(f))}}catch(f){t={error:f}}finally{try{!c&&!e&&(i=d.return)&&await i.call(d)}finally{if(t)throw t.error}}else{let f=(s=n?.constructor)===null||s===void 0?void 0:s.name;throw new Error(`Unexpected data type: ${typeof n}${f?`; constructor: ${f}`:""}${rm(n)}`)}return a}p(Ao,"getBytes");function rm(n){return typeof n!="object"||n===null?"":`; props: [${Object.getOwnPropertyNames(n).map(t=>`"${t}"`).join(", ")}]`}p(rm,"propsForError");var Hn=class{static{p(this,"APIResource")}constructor(e){this._client=e}};Hn._key=[];function dl(n){return n.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}p(dl,"encodeURIPath");var Aa=Object.freeze(Object.create(null)),am=p((n=dl)=>p(function(t,...i){if(t.length===1)return t[0];let o=!1,s=[],a=t.reduce((f,h,m)=>{var g,b,E;/[?#]/.test(h)&&(o=!0);let w=i[m],v=(o?encodeURIComponent:n)(""+w);return m!==i.length&&(w==null||typeof w=="object"&&w.toString===((E=Object.getPrototypeOf((b=Object.getPrototypeOf((g=w.hasOwnProperty)!==null&&g!==void 0?g:Aa))!==null&&b!==void 0?b:Aa))===null||E===void 0?void 0:E.toString))&&(v=w+"",s.push({start:f.length+h.length,length:v.length,error:`Value of type ${Object.prototype.toString.call(w).slice(8,-1)} is not a valid path parameter`})),f+h+(m===i.length?"":v)},""),c=a.split(/[?#]/,1)[0],d=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,u;for(;(u=d.exec(c))!==null;)s.push({start:u.index,length:u[0].length,error:`Value "${u[0]}" can't be safely passed as a path parameter`});if(s.sort((f,h)=>f.start-h.start),s.length>0){let f=0,h=s.reduce((m,g)=>{let b=" ".repeat(g.start-f),E="^".repeat(g.length);return f=g.start+g.length,m+b+E},"");throw new ge(`Path parameters result in path with invalid segments:
670
+ `];for(;;){let{done:u,value:f}=yield k(o.read());if(u){if(a.trim().length>0)throw new Error("Incomplete JSON segment at the end");break}let h=s.decode(f,{stream:!0});try{let b=JSON.parse(h);if("error"in b){let E=JSON.parse(JSON.stringify(b.error)),w=E.status,v=E.code,I=`got status: ${w}. ${JSON.stringify(b)}`;if(v>=400&&v<600)throw new Fn({message:I,status:v})}}catch(b){if(b.name==="ApiError")throw b}a+=h;let m=-1,g=0;for(;;){m=-1,g=0;for(let w of d){let v=a.indexOf(w);v!==-1&&(m===-1||v<m)&&(m=v,g=w.length)}if(m===-1)break;let b=a.substring(0,m);a=a.substring(m+g);let E=b.trim();if(E.startsWith(c)){let w=E.substring(c.length).trim();try{let v=new Response(w,{headers:e?.headers,status:e?.status,statusText:e?.statusText});yield yield k(new Ht(v))}catch(v){throw new Error(`exception parsing stream chunk ${w}. ${v}`)}}}}}finally{o.releaseLock()}},"processStreamResponse_1"))}async apiCall(e,t){return fetch(e,t).catch(i=>{throw new Error(`exception ${i} sending request`)})}getDefaultHeaders(){let e={},t=Zp+" "+this.clientOptions.userAgentExtra;return e[Xp]=t,e[bo]=t,e[Wp]="application/json",e}async getHeadersInternal(e,t){let i=new Headers;if(e&&e.headers){for(let[o,s]of Object.entries(e.headers))i.append(o,s);e.timeout&&e.timeout>0&&i.append(Yp,String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(i,t),i}getFileName(e){var t;let i="";return typeof e=="string"&&(i=e.replace(/[/\\]+$/,""),i=(t=i.split(/[/\\]/).pop())!==null&&t!==void 0?t:""),i}async uploadFile(e,t){var i;let o={};t!=null&&(o.mimeType=t.mimeType,o.name=t.name,o.displayName=t.displayName),o.name&&!o.name.startsWith("files/")&&(o.name=`files/${o.name}`);let s=this.clientOptions.uploader,a=await s.stat(e);o.sizeBytes=String(a.size);let c=(i=t?.mimeType)!==null&&i!==void 0?i:a.type;if(c===void 0||c==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");o.mimeType=c;let d={file:o},u=this.getFileName(e),f=C("upload/v1beta/files",d._url),h=await this.fetchUploadUrl(f,o.sizeBytes,o.mimeType,u,d,t?.httpOptions);return s.upload(e,h,this)}async uploadFileToFileSearchStore(e,t,i){var o;let s=this.clientOptions.uploader,a=await s.stat(t),c=String(a.size),d=(o=i?.mimeType)!==null&&o!==void 0?o:a.type;if(d===void 0||d==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");let u=`upload/v1beta/${e}:uploadToFileSearchStore`,f=this.getFileName(t),h={};i!=null&&al(i,h);let m=await this.fetchUploadUrl(u,c,d,f,h,i?.httpOptions);return s.uploadToFileSearchStore(t,m,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,t,i,o,s,a){var c;let d={};a?d=a: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":`${t}`,"X-Goog-Upload-Header-Content-Type":`${i}`},o?{"X-Goog-Upload-File-Name":o}:{})};let u=await this.request({path:e,body:JSON.stringify(s),httpMethod:"POST",httpOptions:d});if(!u||!u?.headers)throw new Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");let f=(c=u?.headers)===null||c===void 0?void 0:c["x-goog-upload-url"];if(f===void 0)throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return f}};async function Ca(n){var e;if(n===void 0)throw new Error("response is undefined");if(!n.ok){let t=n.status,i;!((e=n.headers.get("content-type"))===null||e===void 0)&&e.includes("application/json")?i=await n.json():i={error:{message:await n.text(),code:n.status,status:n.statusText}};let o=JSON.stringify(i);throw t>=400&&t<600?new Fn({message:o,status:t}):new Error(o)}}p(Ca,"throwErrorIfNotOK");function th(n,e){if(!e||Object.keys(e).length===0)return;if(n.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 n.body=="string"&&n.body.length>0)try{let s=JSON.parse(n.body);if(typeof s=="object"&&s!==null&&!Array.isArray(s))t=s;else{console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");return}}catch{console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}function i(s,a){let c=Object.assign({},s);for(let d in a)if(Object.prototype.hasOwnProperty.call(a,d)){let u=a[d],f=c[d];u&&typeof u=="object"&&!Array.isArray(u)&&f&&typeof f=="object"&&!Array.isArray(f)?c[d]=i(f,u):(f&&u&&typeof f!=typeof u&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${d}". Original type: ${typeof f}, New type: ${typeof u}. Overwriting.`),c[d]=u)}return c}p(i,"deepMerge");let o=i(t,e);n.body=JSON.stringify(o)}p(th,"includeExtraBodyToRequestInit");var nh="mcp_used/unknown",ih=!1;function ll(n){for(let e of n)if(oh(e)||typeof e=="object"&&"inputSchema"in e)return!0;return ih}p(ll,"hasMcpToolUsage");function cl(n){var e;let t=(e=n[bo])!==null&&e!==void 0?e:"";n[bo]=(t+` ${nh}`).trimStart()}p(cl,"setMcpUsageHeader");function oh(n){return n!==null&&typeof n=="object"&&n instanceof Eo}p(oh,"isMcpCallableTool");function sh(n){return Ae(this,arguments,p(function*(t,i=100){let o,s=0;for(;s<i;){let a=yield k(t.listTools({cursor:o}));for(let c of a.tools)yield yield k(c),s++;if(!a.nextCursor)break;o=a.nextCursor}},"listAllTools_1"))}p(sh,"listAllTools");var Eo=class n{static{p(this,"McpCallableTool")}constructor(e=[],t){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=t}static create(e,t){return new n(e,t)}async initialize(){var e,t,i,o;if(this.mcpTools.length>0)return;let s={},a=[];for(let f of this.mcpClients)try{for(var c=!0,d=(t=void 0,xe(sh(f))),u;u=await d.next(),e=u.done,!e;c=!0){o=u.value,c=!1;let h=o;a.push(h);let m=h.name;if(s[m])throw new Error(`Duplicate function name ${m} found in MCP tools. Please ensure function names are unique.`);s[m]=f}}catch(h){t={error:h}}finally{try{!c&&!e&&(i=d.return)&&await i.call(d)}finally{if(t)throw t.error}}this.mcpTools=a,this.functionNameToMcpClient=s}async tool(){return await this.initialize(),qc(this.mcpTools,this.config)}async callTool(e){await this.initialize();let t=[];for(let i of e)if(i.name in this.functionNameToMcpClient){let o=this.functionNameToMcpClient[i.name],s;this.config.timeout&&(s={timeout:this.config.timeout});let a=await o.callTool({name:i.name,arguments:i.args},void 0,s);t.push({functionResponse:{name:i.name,response:a.isError?{error:a}:a}})}return t}};async function rh(n,e,t){let i=new so,o;t.data instanceof Blob?o=JSON.parse(await t.data.text()):o=JSON.parse(t.data),Object.assign(i,o),e(i)}p(rh,"handleWebSocketMessage$1");var wo=class{static{p(this,"LiveMusic")}constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i}async connect(e){var t,i;if(this.apiClient.isVertexAI())throw new Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");let o=this.apiClient.getWebsocketBaseUrl(),s=this.apiClient.getApiVersion(),a=lh(this.apiClient.getDefaultHeaders()),c=this.apiClient.getApiKey(),d=`${o}/ws/google.ai.generativelanguage.${s}.GenerativeService.BidiGenerateMusic?key=${c}`,u=p(()=>{},"onopenResolve"),f=new Promise(T=>{u=T}),h=e.callbacks,m=p(function(){u({})},"onopenAwaitedCallback"),g=this.apiClient,b={onopen:m,onmessage:p(T=>{rh(g,h.onmessage,T)},"onmessage"),onerror:(t=h?.onerror)!==null&&t!==void 0?t:function(T){},onclose:(i=h?.onclose)!==null&&i!==void 0?i:function(T){}},E=this.webSocketFactory.create(d,ah(a),b);E.connect(),await f;let I={setup:{model:U(this.apiClient,e.model)}};return E.send(JSON.stringify(I)),new vo(E,this.apiClient)}},vo=class{static{p(this,"LiveMusicSession")}constructor(e,t){this.conn=e,this.apiClient=t}async setWeightedPrompts(e){if(!e.weightedPrompts||Object.keys(e.weightedPrompts).length===0)throw new Error("Weighted prompts must be set and contain at least one entry.");let t=Mu(e);this.conn.send(JSON.stringify({clientContent:t}))}async setMusicGenerationConfig(e){e.musicGenerationConfig||(e.musicGenerationConfig={});let t=Ru(e);this.conn.send(JSON.stringify(t))}sendPlaybackControl(e){let t={playbackControl:e};this.conn.send(JSON.stringify(t))}play(){this.sendPlaybackControl(wt.PLAY)}pause(){this.sendPlaybackControl(wt.PAUSE)}stop(){this.sendPlaybackControl(wt.STOP)}resetContext(){this.sendPlaybackControl(wt.RESET_CONTEXT)}close(){this.conn.close()}};function ah(n){let e={};return n.forEach((t,i)=>{e[i]=t}),e}p(ah,"headersToMap$1");function lh(n){let e=new Headers;for(let[t,i]of Object.entries(n))e.append(t,i);return e}p(lh,"mapToHeaders$1");var ch="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function dh(n,e,t){let i=new oo,o;t.data instanceof Blob?o=await t.data.text():t.data instanceof ArrayBuffer?o=new TextDecoder().decode(t.data):o=t.data;let s=JSON.parse(o);if(n.isVertexAI()){let a=Lu(s);Object.assign(i,a)}else Object.assign(i,s);e(i)}p(dh,"handleWebSocketMessage");var Io=class{static{p(this,"Live")}constructor(e,t,i){this.apiClient=e,this.auth=t,this.webSocketFactory=i,this.music=new wo(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var t,i,o,s,a,c;if(e.config&&e.config.httpOptions)throw new Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");let d=this.apiClient.getWebsocketBaseUrl(),u=this.apiClient.getApiVersion(),f,h=this.apiClient.getHeaders();e.config&&e.config.tools&&ll(e.config.tools)&&cl(h);let m=ph(h);if(this.apiClient.isVertexAI())f=`${d}/ws/google.cloud.aiplatform.${u}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(m,f);else{let x=this.apiClient.getApiKey(),M="BidiGenerateContent",O="key";x?.startsWith("auth_tokens/")&&(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."),M="BidiGenerateContentConstrained",O="access_token"),f=`${d}/ws/google.ai.generativelanguage.${u}.GenerativeService.${M}?${O}=${x}`}let g=p(()=>{},"onopenResolve"),b=new Promise(x=>{g=x}),E=e.callbacks,w=p(function(){var x;(x=E?.onopen)===null||x===void 0||x.call(E),g({})},"onopenAwaitedCallback"),v=this.apiClient,I={onopen:w,onmessage:p(x=>{dh(v,E.onmessage,x)},"onmessage"),onerror:(t=E?.onerror)!==null&&t!==void 0?t:function(x){},onclose:(i=E?.onclose)!==null&&i!==void 0?i:function(x){}},T=this.webSocketFactory.create(f,fh(m),I);T.connect(),await b;let A=U(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&A.startsWith("publishers/")){let x=this.apiClient.getProject(),M=this.apiClient.getLocation();A=`projects/${x}/locations/${M}/`+A}let P={};this.apiClient.isVertexAI()&&((o=e.config)===null||o===void 0?void 0:o.responseModalities)===void 0&&(e.config===void 0?e.config={responseModalities:[Cn.AUDIO]}:e.config.responseModalities=[Cn.AUDIO]),!((s=e.config)===null||s===void 0)&&s.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 G=(c=(a=e.config)===null||a===void 0?void 0:a.tools)!==null&&c!==void 0?c:[],_=[];for(let x of G)if(this.isCallableTool(x)){let M=x;_.push(await M.tool())}else _.push(x);_.length>0&&(e.config.tools=_);let N={model:A,config:e.config,callbacks:e.callbacks};return this.apiClient.isVertexAI()?P=Gu(this.apiClient,N):P=$u(this.apiClient,N),delete P.config,T.send(JSON.stringify(P)),new To(T,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool=="function"}},uh={turnComplete:!0},To=class{static{p(this,"Session")}constructor(e,t){this.conn=e,this.apiClient=t}tLiveClientContent(e,t){if(t.turns!==null&&t.turns!==void 0){let i=[];try{i=Te(t.turns),e.isVertexAI()||(i=i.map(o=>ti(o)))}catch{throw new Error(`Failed to parse client content "turns", type: '${typeof t.turns}'`)}return{clientContent:{turns:i,turnComplete:t.turnComplete}}}return{clientContent:{turnComplete:t.turnComplete}}}tLiveClienttToolResponse(e,t){let i=[];if(t.functionResponses==null)throw new Error("functionResponses is required.");if(Array.isArray(t.functionResponses)?i=t.functionResponses:i=[t.functionResponses],i.length===0)throw new Error("functionResponses is required.");for(let s of i){if(typeof s!="object"||s===null||!("name"in s)||!("response"in s))throw new Error(`Could not parse function response, type '${typeof s}'.`);if(!e.isVertexAI()&&!("id"in s))throw new Error(ch)}return{toolResponse:{functionResponses:i}}}sendClientContent(e){e=Object.assign(Object.assign({},uh),e);let t=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(t))}sendRealtimeInput(e){let t={};this.apiClient.isVertexAI()?t={realtimeInput:Du(e)}:t={realtimeInput:ku(e)},this.conn.send(JSON.stringify(t))}sendToolResponse(e){if(e.functionResponses==null)throw new Error("Tool response parameters are required.");let t=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(t))}close(){this.conn.close()}};function fh(n){let e={};return n.forEach((t,i)=>{e[i]=t}),e}p(fh,"headersToMap");function ph(n){let e=new Headers;for(let[t,i]of Object.entries(n))e.append(t,i);return e}p(ph,"mapToHeaders");var _a=10;function Sa(n){var e,t,i;if(!((e=n?.automaticFunctionCalling)===null||e===void 0)&&e.disable)return!0;let o=!1;for(let a of(t=n?.tools)!==null&&t!==void 0?t:[])if(It(a)){o=!0;break}if(!o)return!0;let s=(i=n?.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls;return s&&(s<0||!Number.isInteger(s))||s==0?(console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",s),!0):!1}p(Sa,"shouldDisableAfc");function It(n){return"callTool"in n&&typeof n.callTool=="function"}p(It,"isCallableTool");function hh(n){var e,t,i;return(i=(t=(e=n.config)===null||e===void 0?void 0:e.tools)===null||t===void 0?void 0:t.some(o=>It(o)))!==null&&i!==void 0?i:!1}p(hh,"hasCallableTools");function Aa(n){var e;let t=[];return!((e=n?.config)===null||e===void 0)&&e.tools&&n.config.tools.forEach((i,o)=>{if(It(i))return;let s=i;s.functionDeclarations&&s.functionDeclarations.length>0&&t.push(o)}),t}p(Aa,"findAfcIncompatibleToolIndexes");function xa(n){var e;return!(!((e=n?.automaticFunctionCalling)===null||e===void 0)&&e.ignoreCallHistory)}p(xa,"shouldAppendAfcHistory");var Co=class extends Pe{static{p(this,"Models")}constructor(e){super(),this.apiClient=e,this.generateContent=async t=>{var i,o,s,a,c;let d=await this.processParamsMaybeAddMcpUsage(t);if(this.maybeMoveToResponseJsonSchem(t),!hh(t)||Sa(t.config))return await this.generateContentInternal(d);let u=Aa(t);if(u.length>0){let E=u.map(w=>`tools[${w}]`).join(", ");throw new Error(`Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations is not yet supported. Incompatible tools found at ${E}.`)}let f,h,m=Te(d.contents),g=(s=(o=(i=d.config)===null||i===void 0?void 0:i.automaticFunctionCalling)===null||o===void 0?void 0:o.maximumRemoteCalls)!==null&&s!==void 0?s:_a,b=0;for(;b<g&&(f=await this.generateContentInternal(d),!(!f.functionCalls||f.functionCalls.length===0));){let E=f.candidates[0].content,w=[];for(let v of(c=(a=t.config)===null||a===void 0?void 0:a.tools)!==null&&c!==void 0?c:[])if(It(v)){let T=await v.callTool(f.functionCalls);w.push(...T)}b++,h={role:"user",parts:w},d.contents=Te(d.contents),d.contents.push(E),d.contents.push(h),xa(d.config)&&(m.push(E),m.push(h))}return xa(d.config)&&(f.automaticFunctionCallingHistory=m),f},this.generateContentStream=async t=>{var i,o,s,a,c;if(this.maybeMoveToResponseJsonSchem(t),Sa(t.config)){let h=await this.processParamsMaybeAddMcpUsage(t);return await this.generateContentStreamInternal(h)}let d=Aa(t);if(d.length>0){let h=d.map(m=>`tools[${m}]`).join(", ");throw new Error(`Incompatible tools found at ${h}. Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations" is not yet supported.`)}let u=(s=(o=(i=t?.config)===null||i===void 0?void 0:i.toolConfig)===null||o===void 0?void 0:o.functionCallingConfig)===null||s===void 0?void 0:s.streamFunctionCallArguments,f=(c=(a=t?.config)===null||a===void 0?void 0:a.automaticFunctionCalling)===null||c===void 0?void 0:c.disable;if(u&&!f)throw new Error("Running in streaming mode with 'streamFunctionCallArguments' enabled, this feature is not compatible with automatic function calling (AFC). Please set 'config.automaticFunctionCalling.disable' to true to disable AFC or leave 'config.toolConfig.functionCallingConfig.streamFunctionCallArguments' to be undefined or set to false to disable streaming function call arguments feature.");return await this.processAfcStream(t)},this.generateImages=async t=>await this.generateImagesInternal(t).then(i=>{var o;let s,a=[];if(i?.generatedImages)for(let d of i.generatedImages)d&&d?.safetyAttributes&&((o=d?.safetyAttributes)===null||o===void 0?void 0:o.contentType)==="Positive Prompt"?s=d?.safetyAttributes:a.push(d);let c;return s?c={generatedImages:a,positivePromptSafetyAttributes:s,sdkHttpResponse:i.sdkHttpResponse}:c={generatedImages:a,sdkHttpResponse:i.sdkHttpResponse},c}),this.list=async t=>{var i;let a={config:Object.assign(Object.assign({},{queryBase:!0}),t?.config)};if(this.apiClient.isVertexAI()&&!a.config.queryBase){if(!((i=a.config)===null||i===void 0)&&i.filter)throw new Error("Filtering tuned models list for Vertex AI is not currently supported");a.config.filter="labels.tune-type:*"}return new De(ke.PAGED_ITEM_MODELS,c=>this.listInternal(c),await this.listInternal(a),a)},this.editImage=async t=>{let i={model:t.model,prompt:t.prompt,referenceImages:[],config:t.config};return t.referenceImages&&t.referenceImages&&(i.referenceImages=t.referenceImages.map(o=>o.toReferenceImageAPI())),await this.editImageInternal(i)},this.upscaleImage=async t=>{let i={numberOfImages:1,mode:"upscale"};t.config&&(i=Object.assign(Object.assign({},i),t.config));let o={model:t.model,image:t.image,upscaleFactor:t.upscaleFactor,config:i};return await this.upscaleImageInternal(o)},this.generateVideos=async t=>{var i,o,s,a,c,d;if((t.prompt||t.image||t.video)&&t.source)throw new Error("Source and prompt/image/video are mutually exclusive. Please only use source.");return this.apiClient.isVertexAI()||(!((i=t.video)===null||i===void 0)&&i.uri&&(!((o=t.video)===null||o===void 0)&&o.videoBytes)?t.video={uri:t.video.uri,mimeType:t.video.mimeType}:!((a=(s=t.source)===null||s===void 0?void 0:s.video)===null||a===void 0)&&a.uri&&(!((d=(c=t.source)===null||c===void 0?void 0:c.video)===null||d===void 0)&&d.videoBytes)&&(t.source.video={uri:t.source.video.uri,mimeType:t.source.video.mimeType})),await this.generateVideosInternal(t)}}maybeMoveToResponseJsonSchem(e){e.config&&e.config.responseSchema&&(e.config.responseJsonSchema||Object.keys(e.config.responseSchema).includes("$schema")&&(e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema))}async processParamsMaybeAddMcpUsage(e){var t,i,o;let s=(t=e.config)===null||t===void 0?void 0:t.tools;if(!s)return e;let a=await Promise.all(s.map(async d=>It(d)?await d.tool():d)),c={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:a})};if(c.config.tools=a,e.config&&e.config.tools&&ll(e.config.tools)){let d=(o=(i=e.config.httpOptions)===null||i===void 0?void 0:i.headers)!==null&&o!==void 0?o:{},u=Object.assign({},d);Object.keys(u).length===0&&(u=this.apiClient.getDefaultHeaders()),cl(u),c.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:u})}return c}async initAfcToolsMap(e){var t,i,o;let s=new Map;for(let a of(i=(t=e.config)===null||t===void 0?void 0:t.tools)!==null&&i!==void 0?i:[])if(It(a)){let c=a,d=await c.tool();for(let u of(o=d.functionDeclarations)!==null&&o!==void 0?o:[]){if(!u.name)throw new Error("Function declaration name is required.");if(s.has(u.name))throw new Error(`Duplicate tool declaration name: ${u.name}`);s.set(u.name,c)}}return s}async processAfcStream(e){var t,i,o;let s=(o=(i=(t=e.config)===null||t===void 0?void 0:t.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls)!==null&&o!==void 0?o:_a,a=!1,c=0,d=await this.initAfcToolsMap(e);return function(u,f,h){return Ae(this,arguments,function*(){for(var m,g,b,E,w,v;c<s;){a&&(c++,a=!1);let P=yield k(u.processParamsMaybeAddMcpUsage(h)),G=yield k(u.generateContentStreamInternal(P)),_=[],N=[];try{for(var I=!0,T=(g=void 0,xe(G)),A;A=yield k(T.next()),m=A.done,!m;I=!0){E=A.value,I=!1;let x=E;if(yield yield k(x),x.candidates&&(!((w=x.candidates[0])===null||w===void 0)&&w.content)){N.push(x.candidates[0].content);for(let M of(v=x.candidates[0].content.parts)!==null&&v!==void 0?v:[])if(c<s&&M.functionCall){if(!M.functionCall.name)throw new Error("Function call name was not returned by the model.");if(f.has(M.functionCall.name)){let O=yield k(f.get(M.functionCall.name).callTool([M.functionCall]));_.push(...O)}else throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${f.keys()}, mising tool: ${M.functionCall.name}`)}}}}catch(x){g={error:x}}finally{try{!I&&!m&&(b=T.return)&&(yield k(b.call(T)))}finally{if(g)throw g.error}}if(_.length>0){a=!0;let x=new ot;x.candidates=[{content:{role:"user",parts:_}}],yield yield k(x);let M=[];M.push(...N),M.push({role:"user",parts:_});let O=Te(h.contents).concat(M);h.contents=O}else break}})}(this,d,e)}async generateContentInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=va(this.apiClient,e);return c=C("{model}:generateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Ta(f),m=new ot;return Object.assign(m,h),m})}else{let u=wa(this.apiClient,e);return c=C("{model}:generateContent",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Ia(f),m=new ot;return Object.assign(m,h),m})}}async generateContentStreamInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=va(this.apiClient,e);return c=C("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.requestStream({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}),a.then(function(h){return Ae(this,arguments,function*(){var m,g,b,E;try{for(var w=!0,v=xe(h),I;I=yield k(v.next()),m=I.done,!m;w=!0){E=I.value,w=!1;let T=E,A=Ta(yield k(T.json()));A.sdkHttpResponse={headers:T.headers};let P=new ot;Object.assign(P,A),yield yield k(P)}}catch(T){g={error:T}}finally{try{!w&&!m&&(b=v.return)&&(yield k(b.call(v)))}finally{if(g)throw g.error}}})})}else{let u=wa(this.apiClient,e);return c=C("{model}:streamGenerateContent?alt=sse",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.requestStream({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}),a.then(function(h){return Ae(this,arguments,function*(){var m,g,b,E;try{for(var w=!0,v=xe(h),I;I=yield k(v.next()),m=I.done,!m;w=!0){E=I.value,w=!1;let T=E,A=Ia(yield k(T.json()));A.sdkHttpResponse={headers:T.headers};let P=new ot;Object.assign(P,A),yield yield k(P)}}catch(T){g={error:T}}finally{try{!w&&!m&&(b=v.return)&&(yield k(b.call(v)))}finally{if(g)throw g.error}}})})}}async embedContent(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=hf(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=gf(f),m=new Sn;return Object.assign(m,h),m})}else{let u=pf(this.apiClient,e);return c=C("{model}:batchEmbedContents",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=mf(f),m=new Sn;return Object.assign(m,h),m})}}async generateImagesInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Af(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Pf(f),m=new An;return Object.assign(m,h),m})}else{let u=Sf(this.apiClient,e);return c=C("{model}:predict",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=xf(f),m=new An;return Object.assign(m,h),m})}}async editImageInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=cf(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=df(d),f=new Ki;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Ap(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=xp(d),f=new Ji;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async recontextImage(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=lp(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=cp(d),f=new Wi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async segmentImage(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=mp(this.apiClient,e);return s=C("{model}:predict",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=gp(d),f=new Yi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async get(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Kf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>go(f))}else{let u=zf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>mo(f))}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=tp(this.apiClient,e);return c=C("{models_url}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ip(f),m=new xn;return Object.assign(m,h),m})}else{let u=ep(this.apiClient,e);return c=C("{models_url}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=np(f),m=new xn;return Object.assign(m,h),m})}}async update(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=_p(this.apiClient,e);return c=C("{model}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>go(f))}else{let u=Cp(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"PATCH",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>mo(f))}}async delete(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=sf(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=af(f),m=new Pn;return Object.assign(m,h),m})}else{let u=of(this.apiClient,e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=rf(f),m=new Pn;return Object.assign(m,h),m})}}async countTokens(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ef(this.apiClient,e);return c=C("{model}:countTokens",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=nf(f),m=new Nn;return Object.assign(m,h),m})}else{let u=ju(this.apiClient,e);return c=C("{model}:countTokens",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=tf(f),m=new Nn;return Object.assign(m,h),m})}}async computeTokens(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Ku(this.apiClient,e);return s=C("{model}:computeTokens",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>{let u=Ju(d),f=new Xi;return Object.assign(f,u),f})}else throw new Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=kf(this.apiClient,e);return c=C("{model}:predictLongRunning",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a.then(f=>{let h=Rf(f),m=new $n;return Object.assign(m,h),m})}else{let u=Mf(this.apiClient,e);return c=C("{model}:predictLongRunning",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a.then(f=>{let h=Gf(f),m=new $n;return Object.assign(m,h),m})}}};var _o=class extends Pe{static{p(this,"Operations")}constructor(e){super(),this.apiClient=e}async getVideosOperation(e){let t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=t.name.split("/operations/")[0],s;i&&"httpOptions"in i&&(s=i.httpOptions);let a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:o,config:{httpOptions:s}});return t._fromAPIResponse({apiResponse:a,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async get(e){let t=e.operation,i=e.config;if(t.name===void 0||t.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let o=t.name.split("/operations/")[0],s;i&&"httpOptions"in i&&(s=i.httpOptions);let a=await this.fetchPredictVideosOperationInternal({operationName:t.name,resourceName:o,config:{httpOptions:s}});return t._fromAPIResponse({apiResponse:a,_isVertexAI:!0})}else{let o=await this.getVideosOperationInternal({operationName:t.name,config:i});return t._fromAPIResponse({apiResponse:o,_isVertexAI:!1})}}async getVideosOperationInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Pc(e);return c=C("{operationName}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),a}else{let u=xc(e);return c=C("{operationName}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json()),a}}async fetchPredictVideosOperationInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=vc(e);return s=C("{resourceName}:fetchPredictOperation",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o}else throw new Error("This method is only supported by the Vertex AI.")}};function mh(n){let e={},t=r(n,["data"]);if(t!=null&&l(e,["data"],t),r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(mh,"blobToMldev");function gh(n){let e={},t=r(n,["parts"]);if(t!=null){let o=t;Array.isArray(o)&&(o=o.map(s=>_h(s))),l(e,["parts"],o)}let i=r(n,["role"]);return i!=null&&l(e,["role"],i),e}p(gh,"contentToMldev");function bh(n,e,t){let i={},o=r(e,["expireTime"]);t!==void 0&&o!=null&&l(t,["expireTime"],o);let s=r(e,["newSessionExpireTime"]);t!==void 0&&s!=null&&l(t,["newSessionExpireTime"],s);let a=r(e,["uses"]);t!==void 0&&a!=null&&l(t,["uses"],a);let c=r(e,["liveConnectConstraints"]);t!==void 0&&c!=null&&l(t,["bidiGenerateContentSetup"],Ch(n,c));let d=r(e,["lockAdditionalFields"]);return t!==void 0&&d!=null&&l(t,["fieldMask"],d),i}p(bh,"createAuthTokenConfigToMldev");function yh(n,e){let t={},i=r(e,["config"]);return i!=null&&l(t,["config"],bh(n,i,t)),t}p(yh,"createAuthTokenParametersToMldev");function Eh(n){let e={};if(r(n,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let t=r(n,["fileUri"]);t!=null&&l(e,["fileUri"],t);let i=r(n,["mimeType"]);return i!=null&&l(e,["mimeType"],i),e}p(Eh,"fileDataToMldev");function wh(n){let e={},t=r(n,["id"]);t!=null&&l(e,["id"],t);let i=r(n,["args"]);i!=null&&l(e,["args"],i);let o=r(n,["name"]);if(o!=null&&l(e,["name"],o),r(n,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(r(n,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}p(wh,"functionCallToMldev");function vh(n){let e={};if(r(n,["authConfig"])!==void 0)throw new Error("authConfig parameter is not supported in Gemini API.");let t=r(n,["enableWidget"]);return t!=null&&l(e,["enableWidget"],t),e}p(vh,"googleMapsToMldev");function Ih(n){let e={};if(r(n,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");if(r(n,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");let t=r(n,["timeRangeFilter"]);return t!=null&&l(e,["timeRangeFilter"],t),e}p(Ih,"googleSearchToMldev");function Th(n,e){let t={},i=r(n,["generationConfig"]);e!==void 0&&i!=null&&l(e,["setup","generationConfig"],i);let o=r(n,["responseModalities"]);e!==void 0&&o!=null&&l(e,["setup","generationConfig","responseModalities"],o);let s=r(n,["temperature"]);e!==void 0&&s!=null&&l(e,["setup","generationConfig","temperature"],s);let a=r(n,["topP"]);e!==void 0&&a!=null&&l(e,["setup","generationConfig","topP"],a);let c=r(n,["topK"]);e!==void 0&&c!=null&&l(e,["setup","generationConfig","topK"],c);let d=r(n,["maxOutputTokens"]);e!==void 0&&d!=null&&l(e,["setup","generationConfig","maxOutputTokens"],d);let u=r(n,["mediaResolution"]);e!==void 0&&u!=null&&l(e,["setup","generationConfig","mediaResolution"],u);let f=r(n,["seed"]);e!==void 0&&f!=null&&l(e,["setup","generationConfig","seed"],f);let h=r(n,["speechConfig"]);e!==void 0&&h!=null&&l(e,["setup","generationConfig","speechConfig"],Jo(h));let m=r(n,["thinkingConfig"]);e!==void 0&&m!=null&&l(e,["setup","generationConfig","thinkingConfig"],m);let g=r(n,["enableAffectiveDialog"]);e!==void 0&&g!=null&&l(e,["setup","generationConfig","enableAffectiveDialog"],g);let b=r(n,["systemInstruction"]);e!==void 0&&b!=null&&l(e,["setup","systemInstruction"],gh(ce(b)));let E=r(n,["tools"]);if(e!==void 0&&E!=null){let G=St(E);Array.isArray(G)&&(G=G.map(_=>Ah(_t(_)))),l(e,["setup","tools"],G)}let w=r(n,["sessionResumption"]);e!==void 0&&w!=null&&l(e,["setup","sessionResumption"],Sh(w));let v=r(n,["inputAudioTranscription"]);e!==void 0&&v!=null&&l(e,["setup","inputAudioTranscription"],v);let I=r(n,["outputAudioTranscription"]);e!==void 0&&I!=null&&l(e,["setup","outputAudioTranscription"],I);let T=r(n,["realtimeInputConfig"]);e!==void 0&&T!=null&&l(e,["setup","realtimeInputConfig"],T);let A=r(n,["contextWindowCompression"]);e!==void 0&&A!=null&&l(e,["setup","contextWindowCompression"],A);let P=r(n,["proactivity"]);if(e!==void 0&&P!=null&&l(e,["setup","proactivity"],P),r(n,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return t}p(Th,"liveConnectConfigToMldev");function Ch(n,e){let t={},i=r(e,["model"]);i!=null&&l(t,["setup","model"],U(n,i));let o=r(e,["config"]);return o!=null&&l(t,["config"],Th(o,t)),t}p(Ch,"liveConnectConstraintsToMldev");function _h(n){let e={},t=r(n,["mediaResolution"]);t!=null&&l(e,["mediaResolution"],t);let i=r(n,["codeExecutionResult"]);i!=null&&l(e,["codeExecutionResult"],i);let o=r(n,["executableCode"]);o!=null&&l(e,["executableCode"],o);let s=r(n,["fileData"]);s!=null&&l(e,["fileData"],Eh(s));let a=r(n,["functionCall"]);a!=null&&l(e,["functionCall"],wh(a));let c=r(n,["functionResponse"]);c!=null&&l(e,["functionResponse"],c);let d=r(n,["inlineData"]);d!=null&&l(e,["inlineData"],mh(d));let u=r(n,["text"]);u!=null&&l(e,["text"],u);let f=r(n,["thought"]);f!=null&&l(e,["thought"],f);let h=r(n,["thoughtSignature"]);h!=null&&l(e,["thoughtSignature"],h);let m=r(n,["videoMetadata"]);return m!=null&&l(e,["videoMetadata"],m),e}p(_h,"partToMldev");function Sh(n){let e={},t=r(n,["handle"]);if(t!=null&&l(e,["handle"],t),r(n,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}p(Sh,"sessionResumptionConfigToMldev");function Ah(n){let e={},t=r(n,["functionDeclarations"]);if(t!=null){let f=t;Array.isArray(f)&&(f=f.map(h=>h)),l(e,["functionDeclarations"],f)}if(r(n,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=r(n,["googleSearchRetrieval"]);i!=null&&l(e,["googleSearchRetrieval"],i);let o=r(n,["computerUse"]);o!=null&&l(e,["computerUse"],o);let s=r(n,["fileSearch"]);s!=null&&l(e,["fileSearch"],s);let a=r(n,["codeExecution"]);if(a!=null&&l(e,["codeExecution"],a),r(n,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let c=r(n,["googleMaps"]);c!=null&&l(e,["googleMaps"],vh(c));let d=r(n,["googleSearch"]);d!=null&&l(e,["googleSearch"],Ih(d));let u=r(n,["urlContext"]);return u!=null&&l(e,["urlContext"],u),e}p(Ah,"toolToMldev");function xh(n){let e=[];for(let t in n)if(Object.prototype.hasOwnProperty.call(n,t)){let i=n[t];if(typeof i=="object"&&i!=null&&Object.keys(i).length>0){let o=Object.keys(i).map(s=>`${t}.${s}`);e.push(...o)}else e.push(t)}return e.join(",")}p(xh,"getFieldMasks");function Ph(n,e){let t=null,i=n.bidiGenerateContentSetup;if(typeof i=="object"&&i!==null&&"setup"in i){let s=i.setup;typeof s=="object"&&s!==null?(n.bidiGenerateContentSetup=s,t=s):delete n.bidiGenerateContentSetup}else i!==void 0&&delete n.bidiGenerateContentSetup;let o=n.fieldMask;if(t){let s=xh(t);if(Array.isArray(e?.lockAdditionalFields)&&e?.lockAdditionalFields.length===0)s?n.fieldMask=s:delete n.fieldMask;else if(e?.lockAdditionalFields&&e.lockAdditionalFields.length>0&&o!==null&&Array.isArray(o)&&o.length>0){let a=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"],c=[];o.length>0&&(c=o.map(u=>a.includes(u)?`generationConfig.${u}`:u));let d=[];s&&d.push(s),c.length>0&&d.push(...c),d.length>0?n.fieldMask=d.join(","):delete n.fieldMask}else delete n.fieldMask}else o!==null&&Array.isArray(o)&&o.length>0?n.fieldMask=o.join(","):delete n.fieldMask;return n}p(Ph,"convertBidiSetupToTokenSetup");var So=class extends Pe{static{p(this,"Tokens")}constructor(e){super(),this.apiClient=e}async create(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("The client.tokens.create method is only supported by the Gemini Developer API.");{let c=yh(this.apiClient,e);s=C("auth_tokens",c._url),a=c._query,delete c.config,delete c._url,delete c._query;let d=Ph(c,e.config);return o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(d),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(u=>u.json()),o.then(u=>u)}}};function Nh(n,e){let t={},i=r(n,["force"]);return e!==void 0&&i!=null&&l(e,["_query","force"],i),t}p(Nh,"deleteDocumentConfigToMldev");function $h(n){let e={},t=r(n,["name"]);t!=null&&l(e,["_url","name"],t);let i=r(n,["config"]);return i!=null&&Nh(i,e),e}p($h,"deleteDocumentParametersToMldev");function Gh(n){let e={},t=r(n,["name"]);return t!=null&&l(e,["_url","name"],t),e}p(Gh,"getDocumentParametersToMldev");function Rh(n,e){let t={},i=r(n,["pageSize"]);e!==void 0&&i!=null&&l(e,["_query","pageSize"],i);let o=r(n,["pageToken"]);return e!==void 0&&o!=null&&l(e,["_query","pageToken"],o),t}p(Rh,"listDocumentsConfigToMldev");function Mh(n){let e={},t=r(n,["parent"]);t!=null&&l(e,["_url","parent"],t);let i=r(n,["config"]);return i!=null&&Rh(i,e),e}p(Mh,"listDocumentsParametersToMldev");function kh(n){let e={},t=r(n,["sdkHttpResponse"]);t!=null&&l(e,["sdkHttpResponse"],t);let i=r(n,["nextPageToken"]);i!=null&&l(e,["nextPageToken"],i);let o=r(n,["documents"]);if(o!=null){let s=o;Array.isArray(s)&&(s=s.map(a=>a)),l(e,["documents"],s)}return e}p(kh,"listDocumentsResponseFromMldev");var Ao=class extends Pe{static{p(this,"Documents")}constructor(e){super(),this.apiClient=e,this.list=async t=>new De(ke.PAGED_ITEM_DOCUMENTS,i=>this.listInternal({parent:t.parent,config:i.config}),await this.listInternal(t),t)}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Gh(e);return s=C("{name}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o="",s={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let a=$h(e);o=C("{name}",a._url),s=a._query,delete a._url,delete a._query,await this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Mh(e);return s=C("{parent}/documents",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=kh(d),f=new Qi;return Object.assign(f,u),f})}}};var xo=class extends Pe{static{p(this,"FileSearchStores")}constructor(e,t=new Ao(e)){super(),this.apiClient=e,this.documents=t,this.list=async(i={})=>new De(ke.PAGED_ITEM_FILE_SEARCH_STORES,o=>this.listInternal(o),await this.listInternal(i),i)}async uploadToFileSearchStore(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files to a file search store.");return this.apiClient.uploadFileToFileSearchStore(e.fileSearchStoreName,e.file,e.config)}async create(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=kp(e);return s=C("fileSearchStores",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async get(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Up(e);return s=C("{name}",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>d)}}async delete(e){var t,i;let o="",s={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let a=Lp(e);o=C("{name}",a._url),s=a._query,delete a._url,delete a._query,await this.apiClient.request({path:o,queryParams:s,body:JSON.stringify(a),httpMethod:"DELETE",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Hp(e);return s=C("fileSearchStores",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=zp(d),f=new Zi;return Object.assign(f,u),f})}}async uploadToFileSearchStoreInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Kp(e);return s=C("upload/v1beta/{file_search_store_name}:uploadToFileSearchStore",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Jp(d),f=new ji;return Object.assign(f,u),f})}}async importFile(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Vp(e);return s=C("{file_search_store_name}:importFile",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),o.then(d=>{let u=Bp(d),f=new eo;return Object.assign(f,u),f})}}};var dl=p(function(){let{crypto:n}=globalThis;if(n?.randomUUID)return dl=n.randomUUID.bind(n),n.randomUUID();let e=new Uint8Array(1),t=n?()=>n.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>(+i^t()&15>>+i/4).toString(16))},"uuid4Internal"),Dh=p(()=>dl(),"uuid4");function Po(n){return typeof n=="object"&&n!==null&&("name"in n&&n.name==="AbortError"||"message"in n&&String(n.message).includes("FetchRequestCanceledException"))}p(Po,"isAbortError");var No=p(n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null){try{if(Object.prototype.toString.call(n)==="[object Error]"){let e=new Error(n.message,n.cause?{cause:n.cause}:{});return n.stack&&(e.stack=n.stack),n.cause&&!e.cause&&(e.cause=n.cause),n.name&&(e.name=n.name),e}}catch{}try{return new Error(JSON.stringify(n))}catch{}}return new Error(n)},"castToError");var me=class extends Error{static{p(this,"GeminiNextGenAPIClientError")}},ge=class n extends me{static{p(this,"APIError")}constructor(e,t,i,o){super(`${n.makeMessage(e,t,i)}`),this.status=e,this.headers=o,this.error=t}static makeMessage(e,t,i){let o=t?.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):i;return e&&o?`${e} ${o}`:e?`${e} status code (no body)`:o||"(no status code or body)"}static generate(e,t,i,o){if(!e||!o)return new Tt({message:i,cause:No(t)});let s=t;return e===400?new Vn(e,s,i,o):e===401?new qn(e,s,i,o):e===403?new On(e,s,i,o):e===404?new Hn(e,s,i,o):e===409?new zn(e,s,i,o):e===422?new Kn(e,s,i,o):e===429?new Jn(e,s,i,o):e>=500?new Wn(e,s,i,o):new n(e,s,i,o)}},zt=class extends ge{static{p(this,"APIUserAbortError")}constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},Tt=class extends ge{static{p(this,"APIConnectionError")}constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}},Bn=class extends Tt{static{p(this,"APIConnectionTimeoutError")}constructor({message:e}={}){super({message:e??"Request timed out."})}},Vn=class extends ge{static{p(this,"BadRequestError")}},qn=class extends ge{static{p(this,"AuthenticationError")}},On=class extends ge{static{p(this,"PermissionDeniedError")}},Hn=class extends ge{static{p(this,"NotFoundError")}},zn=class extends ge{static{p(this,"ConflictError")}},Kn=class extends ge{static{p(this,"UnprocessableEntityError")}},Jn=class extends ge{static{p(this,"RateLimitError")}},Wn=class extends ge{static{p(this,"InternalServerError")}};var Lh=/^[a-z][a-z0-9+.-]*:/i,Uh=p(n=>Lh.test(n),"isAbsoluteURL"),$o=p(n=>($o=Array.isArray,$o(n)),"isArrayInternal"),Fh=$o,Bh=Fh,Pa=Bh;function Vh(n){if(!n)return!0;for(let e in n)return!1;return!0}p(Vh,"isEmptyObj");function qh(n,e){return Object.prototype.hasOwnProperty.call(n,e)}p(qh,"hasOwn");var Oh=p((n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new me(`${n} must be an integer`);if(e<0)throw new me(`${n} must be a positive integer`);return e},"validatePositiveInteger"),Hh=p(n=>{try{return JSON.parse(n)}catch{return}},"safeJSON");var zh=p(n=>new Promise(e=>setTimeout(e,n)),"sleep$1");var Et="0.0.1";function Kh(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}p(Kh,"getDetectedPlatform");var Jh=p(()=>{var n,e,t,i,o;let s=Kh();if(s==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Et,"X-Stainless-OS":$a(Deno.build.os),"X-Stainless-Arch":Na(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:(e=(n=Deno.version)===null||n===void 0?void 0:n.deno)!==null&&e!==void 0?e:"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Et,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(s==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Et,"X-Stainless-OS":$a((t=globalThis.process.platform)!==null&&t!==void 0?t:"unknown"),"X-Stainless-Arch":Na((i=globalThis.process.arch)!==null&&i!==void 0?i:"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":(o=globalThis.process.version)!==null&&o!==void 0?o:"unknown"};let a=Wh();return a?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Et,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${a.browser}`,"X-Stainless-Runtime-Version":a.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Et,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}},"getPlatformProperties");function Wh(){if(typeof navigator>"u"||!navigator)return null;let n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:t}of n){let i=t.exec(navigator.userAgent);if(i){let o=i[1]||0,s=i[2]||0,a=i[3]||0;return{browser:e,version:`${o}.${s}.${a}`}}}return null}p(Wh,"getBrowserInfo");var Na=p(n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown","normalizeArch"),$a=p(n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown"),"normalizePlatform"),bn,Yh=p(()=>bn??(bn=Jh()),"getPlatformHeaders");function Xh(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}p(Xh,"getDefaultFetch");function ul(...n){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...n)}p(ul,"makeReadableStream");function Qh(n){let e=Symbol.asyncIterator in n?n[Symbol.asyncIterator]():n[Symbol.iterator]();return ul({start(){},async pull(t){let{done:i,value:o}=await e.next();i?t.close():t.enqueue(o)},async cancel(){var t;await((t=e.return)===null||t===void 0?void 0:t.call(e))}})}p(Qh,"ReadableStreamFrom");function fl(n){if(n[Symbol.asyncIterator])return n;let e=n.getReader();return{async next(){try{let t=await e.read();return t?.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){let t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}p(fl,"ReadableStreamToAsyncIterable");async function Zh(n){var e,t;if(n===null||typeof n!="object")return;if(n[Symbol.asyncIterator]){await((t=(e=n[Symbol.asyncIterator]()).return)===null||t===void 0?void 0:t.call(e));return}let i=n.getReader(),o=i.cancel();i.releaseLock(),await o}p(Zh,"CancelReadableStream");var jh=p(({headers:n,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),"FallbackEncoder");var pl=p(()=>{var n;if(typeof File>"u"){let{process:e}=globalThis,t=typeof((n=e?.versions)===null||n===void 0?void 0:n.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}},"checkFileSupport");function Vi(n,e,t){return pl(),new File(n,e??"unknown_file",t)}p(Vi,"makeFile");function em(n){return(typeof n=="object"&&n!==null&&("name"in n&&n.name&&String(n.name)||"url"in n&&n.url&&String(n.url)||"filename"in n&&n.filename&&String(n.filename)||"path"in n&&n.path&&String(n.path))||"").split(/[\\/]/).pop()||void 0}p(em,"getName");var tm=p(n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function","isAsyncIterable");var hl=p(n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function","isBlobLike"),nm=p(n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&hl(n),"isFileLike"),im=p(n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function","isResponseLike");async function om(n,e,t){if(pl(),n=await n,nm(n))return n instanceof File?n:Vi([await n.arrayBuffer()],n.name);if(im(n)){let o=await n.blob();return e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()),Vi(await Go(o),e,t)}let i=await Go(n);if(e||(e=em(n)),!t?.type){let o=i.find(s=>typeof s=="object"&&"type"in s&&s.type);typeof o=="string"&&(t=Object.assign(Object.assign({},t),{type:o}))}return Vi(i,e,t)}p(om,"toFile");async function Go(n){var e,t,i,o,s;let a=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)a.push(n);else if(hl(n))a.push(n instanceof Blob?n:await n.arrayBuffer());else if(tm(n))try{for(var c=!0,d=xe(n),u;u=await d.next(),e=u.done,!e;c=!0){o=u.value,c=!1;let f=o;a.push(...await Go(f))}}catch(f){t={error:f}}finally{try{!c&&!e&&(i=d.return)&&await i.call(d)}finally{if(t)throw t.error}}else{let f=(s=n?.constructor)===null||s===void 0?void 0:s.name;throw new Error(`Unexpected data type: ${typeof n}${f?`; constructor: ${f}`:""}${sm(n)}`)}return a}p(Go,"getBytes");function sm(n){return typeof n!="object"||n===null?"":`; props: [${Object.getOwnPropertyNames(n).map(t=>`"${t}"`).join(", ")}]`}p(sm,"propsForError");var Yn=class{static{p(this,"APIResource")}constructor(e){this._client=e}};Yn._key=[];function ml(n){return n.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}p(ml,"encodeURIPath");var Ga=Object.freeze(Object.create(null)),rm=p((n=ml)=>p(function(t,...i){if(t.length===1)return t[0];let o=!1,s=[],a=t.reduce((f,h,m)=>{var g,b,E;/[?#]/.test(h)&&(o=!0);let w=i[m],v=(o?encodeURIComponent:n)(""+w);return m!==i.length&&(w==null||typeof w=="object"&&w.toString===((E=Object.getPrototypeOf((b=Object.getPrototypeOf((g=w.hasOwnProperty)!==null&&g!==void 0?g:Ga))!==null&&b!==void 0?b:Ga))===null||E===void 0?void 0:E.toString))&&(v=w+"",s.push({start:f.length+h.length,length:v.length,error:`Value of type ${Object.prototype.toString.call(w).slice(8,-1)} is not a valid path parameter`})),f+h+(m===i.length?"":v)},""),c=a.split(/[?#]/,1)[0],d=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,u;for(;(u=d.exec(c))!==null;)s.push({start:u.index,length:u[0].length,error:`Value "${u[0]}" can't be safely passed as a path parameter`});if(s.sort((f,h)=>f.start-h.start),s.length>0){let f=0,h=s.reduce((m,g)=>{let b=" ".repeat(g.start-f),E="^".repeat(g.length);return f=g.start+g.length,m+b+E},"");throw new me(`Path parameters result in path with invalid segments:
671
671
  ${s.map(m=>m.error).join(`
672
672
  `)}
673
673
  ${a}
674
- ${h}`)}return a},"path"),"createPathTagFunction"),fn=am(dl);var On=class extends Hn{static{p(this,"BaseInteractions")}create(e,t){var i;let{api_version:o=this._client.apiVersion}=e,s=Rn(e,["api_version"]);if("model"in s&&"agent_config"in s)throw new ge("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in s&&"generation_config"in s)throw new ge("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");return this._client.post(fn`/${o}/interactions`,Object.assign(Object.assign({body:s},t),{stream:(i=e.stream)!==null&&i!==void 0?i:!1}))}delete(e,t={},i){let{api_version:o=this._client.apiVersion}=t??{};return this._client.delete(fn`/${o}/interactions/${e}`,i)}cancel(e,t={},i){let{api_version:o=this._client.apiVersion}=t??{};return this._client.post(fn`/${o}/interactions/${e}/cancel`,i)}get(e,t={},i){var o;let s=t??{},{api_version:a=this._client.apiVersion}=s,c=Rn(s,["api_version"]);return this._client.get(fn`/${a}/interactions/${e}`,Object.assign(Object.assign({query:c},i),{stream:(o=t?.stream)!==null&&o!==void 0?o:!1}))}};On._key=Object.freeze(["interactions"]);var zn=class extends On{static{p(this,"Interactions")}};function lm(n){let e=0;for(let o of n)e+=o.length;let t=new Uint8Array(e),i=0;for(let o of n)t.set(o,i),i+=o.length;return t}p(lm,"concatBytes");var pn;function Ho(n){let e;return(pn??(e=new globalThis.TextEncoder,pn=e.encode.bind(e)))(n)}p(Ho,"encodeUTF8");var hn;function xa(n){let e;return(hn??(e=new globalThis.TextDecoder,hn=e.decode.bind(e)))(n)}p(xa,"decodeUTF8");var It=class{static{p(this,"LineDecoder")}constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Ho(e):e;this.buffer=lm([this.buffer,t]);let i=[],o;for(;(o=cm(this.buffer,this.carriageReturnIndex))!=null;){if(o.carriage&&this.carriageReturnIndex==null){this.carriageReturnIndex=o.index;continue}if(this.carriageReturnIndex!=null&&(o.index!==this.carriageReturnIndex+1||o.carriage)){i.push(xa(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null;continue}let s=this.carriageReturnIndex!==null?o.preceding-1:o.preceding,a=xa(this.buffer.subarray(0,s));i.push(a),this.buffer=this.buffer.subarray(o.index),this.carriageReturnIndex=null}return i}flush(){return this.buffer.length?this.decode(`
675
- `):[]}};It.NEWLINE_CHARS=new Set([`
676
- `,"\r"]);It.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function cm(n,e){for(let o=e??0;o<n.length;o++){if(n[o]===10)return{preceding:o,index:o+1,carriage:!1};if(n[o]===13)return{preceding:o,index:o+1,carriage:!0}}return null}p(cm,"findNewlineIndex");function dm(n){for(let i=0;i<n.length-1;i++){if(n[i]===10&&n[i+1]===10||n[i]===13&&n[i+1]===13)return i+2;if(n[i]===13&&n[i+1]===10&&i+3<n.length&&n[i+2]===13&&n[i+3]===10)return i+4}return-1}p(dm,"findDoubleNewlineIndex");var Kn={off:0,error:200,warn:300,info:400,debug:500},Pa=p((n,e,t)=>{if(n){if(Hh(Kn,n))return n;pe(t).warn(`${e} was set to ${JSON.stringify(n)}, expected one of ${JSON.stringify(Object.keys(Kn))}`)}},"parseLogLevel");function Lt(){}p(Lt,"noop");function mn(n,e,t){return!e||Kn[n]>Kn[t]?Lt:e[n].bind(e)}p(mn,"makeLogFn");var um={error:Lt,warn:Lt,info:Lt,debug:Lt},Na=new WeakMap;function pe(n){var e;let t=n.logger,i=(e=n.logLevel)!==null&&e!==void 0?e:"off";if(!t)return um;let o=Na.get(t);if(o&&o[0]===i)return o[1];let s={error:mn("error",t,i),warn:mn("warn",t,i),info:mn("info",t,i),debug:mn("debug",t,i)};return Na.set(t,[i,s]),s}p(pe,"loggerFor");var nt=p(n=>(n.options&&(n.options=Object.assign({},n.options),delete n.options.headers),n.headers&&(n.headers=Object.fromEntries((n.headers instanceof Headers?[...n.headers]:Object.entries(n.headers)).map(([e,t])=>[e,e.toLowerCase()==="x-goog-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in n&&(n.retryOfRequestLogID&&(n.retryOf=n.retryOfRequestLogID),delete n.retryOfRequestLogID),n),"formatRequestDetails");var xo=class n{static{p(this,"Stream")}constructor(e,t,i){this.iterator=e,this.controller=t,this.client=i}static fromSSEResponse(e,t,i){let o=!1,s=i?pe(i):console;function a(){return Ae(this,arguments,p(function*(){var d,u,f,h;if(o)throw new ge("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let m=!1;try{try{for(var g=!0,b=xe(fm(e,t)),E;E=yield G(b.next()),d=E.done,!d;g=!0){h=E.value,g=!1;let w=h;if(!m)if(w.data.startsWith("[DONE]")){m=!0;continue}else try{yield yield G(JSON.parse(w.data))}catch(v){throw s.error("Could not parse message into JSON:",w.data),s.error("From chunk:",w.raw),v}}}catch(w){u={error:w}}finally{try{!g&&!d&&(f=b.return)&&(yield G(f.call(b)))}finally{if(u)throw u.error}}m=!0}catch(w){if(Co(w))return yield G(void 0);throw w}finally{m||t.abort()}},"iterator_1"))}return p(a,"iterator"),new n(a,t,i)}static fromReadableStream(e,t,i){let o=!1;function s(){return Ae(this,arguments,p(function*(){var d,u,f,h;let m=new It,g=al(e);try{for(var b=!0,E=xe(g),w;w=yield G(E.next()),d=w.done,!d;b=!0){h=w.value,b=!1;let v=h;for(let I of m.decode(v))yield yield G(I)}}catch(v){u={error:v}}finally{try{!b&&!d&&(f=E.return)&&(yield G(f.call(E)))}finally{if(u)throw u.error}}for(let v of m.flush())yield yield G(v)},"iterLines_1"))}p(s,"iterLines");function a(){return Ae(this,arguments,p(function*(){var d,u,f,h;if(o)throw new ge("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let m=!1;try{try{for(var g=!0,b=xe(s()),E;E=yield G(b.next()),d=E.done,!d;g=!0){h=E.value,g=!1;let w=h;m||w&&(yield yield G(JSON.parse(w)))}}catch(w){u={error:w}}finally{try{!g&&!d&&(f=b.return)&&(yield G(f.call(b)))}finally{if(u)throw u.error}}m=!0}catch(w){if(Co(w))return yield G(void 0);throw w}finally{m||t.abort()}},"iterator_2"))}return p(a,"iterator"),new n(a,t,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],t=[],i=this.iterator(),o=p(s=>({next:p(()=>{if(s.length===0){let a=i.next();e.push(a),t.push(a)}return s.shift()},"next")}),"teeIterator");return[new n(()=>o(e),this.controller,this.client),new n(()=>o(t),this.controller,this.client)]}toReadableStream(){let e=this,t;return rl({async start(){t=e[Symbol.asyncIterator]()},async pull(i){try{let{value:o,done:s}=await t.next();if(s)return i.close();let a=Ho(JSON.stringify(o)+`
677
- `);i.enqueue(a)}catch(o){i.error(o)}},async cancel(){var i;await((i=t.return)===null||i===void 0?void 0:i.call(t))}})}};function fm(n,e){return Ae(this,arguments,p(function*(){var i,o,s,a;if(!n.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new ge("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new ge("Attempted to iterate over a response with no body");let c=new Po,d=new It,u=al(n.body);try{for(var f=!0,h=xe(pm(u)),m;m=yield G(h.next()),i=m.done,!i;f=!0){a=m.value,f=!1;let g=a;for(let b of d.decode(g)){let E=c.decode(b);E&&(yield yield G(E))}}}catch(g){o={error:g}}finally{try{!f&&!i&&(s=h.return)&&(yield G(s.call(h)))}finally{if(o)throw o.error}}for(let g of d.flush()){let b=c.decode(g);b&&(yield yield G(b))}},"_iterSSEMessages_1"))}p(fm,"_iterSSEMessages");function pm(n){return Ae(this,arguments,p(function*(){var t,i,o,s;let a=new Uint8Array;try{for(var c=!0,d=xe(n),u;u=yield G(d.next()),t=u.done,!t;c=!0){s=u.value,c=!1;let f=s;if(f==null)continue;let h=f instanceof ArrayBuffer?new Uint8Array(f):typeof f=="string"?Ho(f):f,m=new Uint8Array(a.length+h.length);m.set(a),m.set(h,a.length),a=m;let g;for(;(g=dm(a))!==-1;)yield yield G(a.slice(0,g)),a=a.slice(g)}}catch(f){i={error:f}}finally{try{!c&&!t&&(o=d.return)&&(yield G(o.call(d)))}finally{if(i)throw i.error}}a.length>0&&(yield yield G(a))},"iterSSEChunks_1"))}p(pm,"iterSSEChunks");var Po=class{static{p(this,"SSEDecoder")}constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let s={event:this.event,data:this.data.join(`
678
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],s}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,i,o]=hm(e,":");return o.startsWith(" ")&&(o=o.substring(1)),t==="event"?this.event=o:t==="data"&&this.data.push(o),null}};function hm(n,e){let t=n.indexOf(e);return t!==-1?[n.substring(0,t),e,n.substring(t+e.length)]:[n,"",""]}p(hm,"partition");async function mm(n,e){let{response:t,requestLogID:i,retryOfRequestLogID:o,startTime:s}=e,a=await(async()=>{var c;if(e.options.stream)return pe(n).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller,n):xo.fromSSEResponse(t,e.controller,n);if(t.status===204)return null;if(e.options.__binaryResponse)return t;let d=t.headers.get("content-type"),u=(c=d?.split(";")[0])===null||c===void 0?void 0:c.trim();return u?.includes("application/json")||u?.endsWith("+json")?await t.json():await t.text()})();return pe(n).debug(`[${i}] response parsed`,nt({retryOfRequestLogID:o,url:t.url,status:t.status,body:a,durationMs:Date.now()-s})),a}p(mm,"defaultParseResponse");var No=class n extends Promise{static{p(this,"APIPromise")}constructor(e,t,i=mm){super(o=>{o(null)}),this.responsePromise=t,this.parseResponse=i,this.client=e}_thenUnwrap(e){return new n(this.client,this.responsePromise,async(t,i)=>e(await this.parseResponse(t,i),i))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(this.client,e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};var ul=Symbol("brand.privateNullableHeaders");function*gm(n){if(!n)return;if(ul in n){let{values:i,nulls:o}=n;yield*i.entries();for(let s of o)yield[s,null];return}let e=!1,t;n instanceof Headers?t=n.entries():Ca(n)?t=n:(e=!0,t=Object.entries(n??{}));for(let i of t){let o=i[0];if(typeof o!="string")throw new TypeError("expected header name to be a string");let s=Ca(i[1])?i[1]:[i[1]],a=!1;for(let c of s)c!==void 0&&(e&&!a&&(a=!0,yield[o,null]),yield[o,c])}}p(gm,"iterateHeaders");var Li=p(n=>{let e=new Headers,t=new Set;for(let i of n){let o=new Set;for(let[s,a]of gm(i)){let c=s.toLowerCase();o.has(c)||(e.delete(s),o.add(c)),a===null?(e.delete(s),t.add(c)):(e.append(s,a),t.delete(c))}}return{[ul]:!0,values:e,nulls:t}},"buildHeaders");var Ui=p(n=>{var e,t,i,o,s,a;if(typeof globalThis.process<"u")return(i=(t=(e=globalThis.process.env)===null||e===void 0?void 0:e[n])===null||t===void 0?void 0:t.trim())!==null&&i!==void 0?i:void 0;if(typeof globalThis.Deno<"u")return(a=(s=(o=globalThis.Deno.env)===null||o===void 0?void 0:o.get)===null||s===void 0?void 0:s.call(o,n))===null||a===void 0?void 0:a.trim()},"readEnv");var fl,Jn=class n{static{p(this,"BaseGeminiNextGenAPIClient")}constructor(e){var t,i,o,s,a,c,d,u=e===void 0?{}:e,{baseURL:f=Ui("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:h=(t=Ui("GEMINI_API_KEY"))!==null&&t!==void 0?t:null,apiVersion:m="v1beta"}=u,g=Rn(u,["baseURL","apiKey","apiVersion"]);let b=Object.assign(Object.assign({apiKey:h,apiVersion:m},g),{baseURL:f||"https://generativelanguage.googleapis.com"});this.baseURL=b.baseURL,this.timeout=(i=b.timeout)!==null&&i!==void 0?i:n.DEFAULT_TIMEOUT,this.logger=(o=b.logger)!==null&&o!==void 0?o:console;let E="warn";this.logLevel=E,this.logLevel=(a=(s=Pa(b.logLevel,"ClientOptions.logLevel",this))!==null&&s!==void 0?s:Pa(Ui("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&a!==void 0?a:E,this.fetchOptions=b.fetchOptions,this.maxRetries=(c=b.maxRetries)!==null&&c!==void 0?c:2,this.fetch=(d=b.fetch)!==null&&d!==void 0?d:Qh(),this.encoder=em,this._options=b,this.apiKey=h,this.apiVersion=m}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:t}){if(!(this.apiKey&&e.get("x-goog-api-key"))&&!t.has("x-goog-api-key"))throw new Error('Could not resolve authentication method. Expected the apiKey to be set. Or for the "x-goog-api-key" headers to be explicitly omitted')}async authHeaders(e){if(this.apiKey!=null)return Li([{"x-goog-api-key":this.apiKey}])}stringifyQuery(e){return Object.entries(e).filter(([t,i])=>typeof i<"u").map(([t,i])=>{if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")return`${encodeURIComponent(t)}=${encodeURIComponent(i)}`;if(i===null)return`${encodeURIComponent(t)}=`;throw new ge(`Cannot stringify type ${typeof i}; 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("&")}getUserAgent(){return`${this.constructor.name}/JS ${bt}`}defaultIdempotencyKey(){return`stainless-node-retry-${Lh()}`}makeStatusError(e,t,i,o){return be.generate(e,t,i,o)}buildURL(e,t,i){let o=!this.baseURLOverridden()&&i||this.baseURL,s=Fh(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery();return qh(a)||(t=Object.assign(Object.assign({},a),t)),typeof t=="object"&&t&&!Array.isArray(t)&&(s.search=this.stringifyQuery(t)),s.toString()}async prepareOptions(e){}async prepareRequest(e,{url:t,options:i}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,i){return this.request(Promise.resolve(i).then(o=>Object.assign({method:e,path:t},o)))}request(e,t=null){return new No(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,i){var o,s,a;let c=await e,d=(o=c.maxRetries)!==null&&o!==void 0?o:this.maxRetries;t==null&&(t=d),await this.prepareOptions(c);let{req:u,url:f,timeout:h}=await this.buildRequest(c,{retryCount:d-t});await this.prepareRequest(u,{url:f,options:c});let m="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),g=i===void 0?"":`, retryOf: ${i}`,b=Date.now();if(pe(this).debug(`[${m}] sending request`,nt({retryOfRequestLogID:i,method:c.method,url:f,options:c,headers:u.headers})),!((s=c.signal)===null||s===void 0)&&s.aborted)throw new Ft;let E=new AbortController,w=await this.fetchWithTimeout(f,u,h,E).catch(_o),v=Date.now();if(w instanceof globalThis.Error){let T=`retrying, ${t} attempts remaining`;if(!((a=c.signal)===null||a===void 0)&&a.aborted)throw new Ft;let _=Co(w)||/timed? ?out/i.test(String(w)+("cause"in w?String(w.cause):""));if(t)return pe(this).info(`[${m}] connection ${_?"timed out":"failed"} - ${T}`),pe(this).debug(`[${m}] connection ${_?"timed out":"failed"} (${T})`,nt({retryOfRequestLogID:i,url:f,durationMs:v-b,message:w.message})),this.retryRequest(c,t,i??m);throw pe(this).info(`[${m}] connection ${_?"timed out":"failed"} - error; no more retries left`),pe(this).debug(`[${m}] connection ${_?"timed out":"failed"} (error; no more retries left)`,nt({retryOfRequestLogID:i,url:f,durationMs:v-b,message:w.message})),_?new Mn:new vt({cause:w})}let I=`[${m}${g}] ${u.method} ${f} ${w.ok?"succeeded":"failed"} with status ${w.status} in ${v-b}ms`;if(!w.ok){let T=await this.shouldRetry(w);if(t&&T){let A=`retrying, ${t} attempts remaining`;return await jh(w.body),pe(this).info(`${I} - ${A}`),pe(this).debug(`[${m}] response error (${A})`,nt({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,durationMs:v-b})),this.retryRequest(c,t,i??m,w.headers)}let _=T?"error; no more retries left":"error; not retryable";pe(this).info(`${I} - ${_}`);let P=await w.text().catch(A=>_o(A).message),N=zh(P),x=N?void 0:P;throw pe(this).debug(`[${m}] response error (${_})`,nt({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,message:x,durationMs:Date.now()-b})),this.makeStatusError(w.status,N,x,w.headers)}return pe(this).info(I),pe(this).debug(`[${m}] response start`,nt({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,durationMs:v-b})),{response:w,options:c,controller:E,requestLogID:m,retryOfRequestLogID:i,startTime:b}}async fetchWithTimeout(e,t,i,o){let s=t||{},{signal:a,method:c}=s,d=Rn(s,["signal","method"]);a&&a.addEventListener("abort",()=>o.abort());let u=setTimeout(()=>o.abort(),i),f=globalThis.ReadableStream&&d.body instanceof globalThis.ReadableStream||typeof d.body=="object"&&d.body!==null&&Symbol.asyncIterator in d.body,h=Object.assign(Object.assign(Object.assign({signal:o.signal},f?{duplex:"half"}:{}),{method:"GET"}),d);c&&(h.method=c.toUpperCase());try{return await this.fetch.call(void 0,e,h)}finally{clearTimeout(u)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return t==="true"?!0:t==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,i,o){var s;let a,c=o?.get("retry-after-ms");if(c){let u=parseFloat(c);Number.isNaN(u)||(a=u)}let d=o?.get("retry-after");if(d&&!a){let u=parseFloat(d);Number.isNaN(u)?a=Date.parse(d)-Date.now():a=u*1e3}if(!(a&&0<=a&&a<60*1e3)){let u=(s=e.maxRetries)!==null&&s!==void 0?s:this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(t,u)}return await Kh(a),this.makeRequest(e,t-1,i)}calculateDefaultRetryTimeoutMillis(e,t){let s=t-e,a=Math.min(.5*Math.pow(2,s),8),c=1-Math.random()*.25;return a*c*1e3}async buildRequest(e,{retryCount:t=0}={}){var i,o,s;let a=Object.assign({},e),{method:c,path:d,query:u,defaultBaseURL:f}=a,h=this.buildURL(d,u,f);"timeout"in a&&Oh("timeout",a.timeout),a.timeout=(i=a.timeout)!==null&&i!==void 0?i:this.timeout;let{bodyHeaders:m,body:g}=this.buildBody({options:a}),b=await this.buildHeaders({options:e,method:c,bodyHeaders:m,retryCount:t});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:c,headers:b},a.signal&&{signal:a.signal}),globalThis.ReadableStream&&g instanceof globalThis.ReadableStream&&{duplex:"half"}),g&&{body:g}),(o=this.fetchOptions)!==null&&o!==void 0?o:{}),(s=a.fetchOptions)!==null&&s!==void 0?s:{}),url:h,timeout:a.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:i,retryCount:o}){let s={};this.idempotencyHeader&&t!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=Li([s,Object.assign(Object.assign({Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o)},e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{}),Xh()),await this.authHeaders(e),this._options.defaultHeaders,i,e.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let i=Li([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&i.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:Zh(e)}:this.encoder({body:e,headers:i})}};Jn.DEFAULT_TIMEOUT=6e4;var j=class extends Jn{static{p(this,"GeminiNextGenAPIClient")}constructor(){super(...arguments),this.interactions=new zn(this)}};fl=j;j.GeminiNextGenAPIClient=fl;j.GeminiNextGenAPIClientError=ge;j.APIError=be;j.APIConnectionError=vt;j.APIConnectionTimeoutError=Mn;j.APIUserAbortError=Ft;j.NotFoundError=Un;j.ConflictError=Fn;j.RateLimitError=Vn;j.BadRequestError=kn;j.AuthenticationError=Dn;j.InternalServerError=qn;j.PermissionDeniedError=Ln;j.UnprocessableEntityError=Bn;j.toFile=sm;j.Interactions=zn;function bm(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(bm,"cancelTuningJobParametersToMldev");function ym(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(ym,"cancelTuningJobParametersToVertex");function Em(n,e){let t={},i=r(n,["sdkHttpResponse"]);return i!=null&&l(t,["sdkHttpResponse"],i),t}p(Em,"cancelTuningJobResponseFromMldev");function wm(n,e){let t={},i=r(n,["sdkHttpResponse"]);return i!=null&&l(t,["sdkHttpResponse"],i),t}p(wm,"cancelTuningJobResponseFromVertex");function vm(n,e,t){let i={};if(r(n,["validationDataset"])!==void 0)throw new Error("validationDataset parameter is not supported in Gemini API.");let o=r(n,["tunedModelDisplayName"]);if(e!==void 0&&o!=null&&l(e,["displayName"],o),r(n,["description"])!==void 0)throw new Error("description parameter is not supported in Gemini API.");let s=r(n,["epochCount"]);e!==void 0&&s!=null&&l(e,["tuningTask","hyperparameters","epochCount"],s);let a=r(n,["learningRateMultiplier"]);if(a!=null&&l(i,["tuningTask","hyperparameters","learningRateMultiplier"],a),r(n,["exportLastCheckpointOnly"])!==void 0)throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(r(n,["preTunedModelCheckpointId"])!==void 0)throw new Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(r(n,["adapterSize"])!==void 0)throw new Error("adapterSize parameter is not supported in Gemini API.");let c=r(n,["batchSize"]);e!==void 0&&c!=null&&l(e,["tuningTask","hyperparameters","batchSize"],c);let d=r(n,["learningRate"]);if(e!==void 0&&d!=null&&l(e,["tuningTask","hyperparameters","learningRate"],d),r(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");if(r(n,["beta"])!==void 0)throw new Error("beta parameter is not supported in Gemini API.");return i}p(vm,"createTuningJobConfigToMldev");function Im(n,e,t){let i={},o=r(t,["config","method"]);if(o===void 0&&(o="SUPERVISED_FINE_TUNING"),o==="SUPERVISED_FINE_TUNING"){let g=r(n,["validationDataset"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec"],$a(g))}else if(o==="PREFERENCE_TUNING"){let g=r(n,["validationDataset"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec"],$a(g))}let s=r(n,["tunedModelDisplayName"]);e!==void 0&&s!=null&&l(e,["tunedModelDisplayName"],s);let a=r(n,["description"]);e!==void 0&&a!=null&&l(e,["description"],a);let c=r(t,["config","method"]);if(c===void 0&&(c="SUPERVISED_FINE_TUNING"),c==="SUPERVISED_FINE_TUNING"){let g=r(n,["epochCount"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","epochCount"],g)}else if(c==="PREFERENCE_TUNING"){let g=r(n,["epochCount"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","epochCount"],g)}let d=r(t,["config","method"]);if(d===void 0&&(d="SUPERVISED_FINE_TUNING"),d==="SUPERVISED_FINE_TUNING"){let g=r(n,["learningRateMultiplier"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],g)}else if(d==="PREFERENCE_TUNING"){let g=r(n,["learningRateMultiplier"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],g)}let u=r(t,["config","method"]);if(u===void 0&&(u="SUPERVISED_FINE_TUNING"),u==="SUPERVISED_FINE_TUNING"){let g=r(n,["exportLastCheckpointOnly"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","exportLastCheckpointOnly"],g)}else if(u==="PREFERENCE_TUNING"){let g=r(n,["exportLastCheckpointOnly"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","exportLastCheckpointOnly"],g)}let f=r(t,["config","method"]);if(f===void 0&&(f="SUPERVISED_FINE_TUNING"),f==="SUPERVISED_FINE_TUNING"){let g=r(n,["adapterSize"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","adapterSize"],g)}else if(f==="PREFERENCE_TUNING"){let g=r(n,["adapterSize"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","adapterSize"],g)}if(r(n,["batchSize"])!==void 0)throw new Error("batchSize parameter is not supported in Vertex AI.");if(r(n,["learningRate"])!==void 0)throw new Error("learningRate parameter is not supported in Vertex AI.");let h=r(n,["labels"]);e!==void 0&&h!=null&&l(e,["labels"],h);let m=r(n,["beta"]);return e!==void 0&&m!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","beta"],m),i}p(Im,"createTuningJobConfigToVertex");function Tm(n,e){let t={},i=r(n,["baseModel"]);i!=null&&l(t,["baseModel"],i);let o=r(n,["preTunedModel"]);o!=null&&l(t,["preTunedModel"],o);let s=r(n,["trainingDataset"]);s!=null&&Mm(s);let a=r(n,["config"]);return a!=null&&vm(a,t),t}p(Tm,"createTuningJobParametersPrivateToMldev");function Cm(n,e){let t={},i=r(n,["baseModel"]);i!=null&&l(t,["baseModel"],i);let o=r(n,["preTunedModel"]);o!=null&&l(t,["preTunedModel"],o);let s=r(n,["trainingDataset"]);s!=null&&km(s,t,e);let a=r(n,["config"]);return a!=null&&Im(a,t,e),t}p(Cm,"createTuningJobParametersPrivateToVertex");function _m(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(_m,"getTuningJobParametersToMldev");function Sm(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(Sm,"getTuningJobParametersToVertex");function Am(n,e,t){let i={},o=r(n,["pageSize"]);e!==void 0&&o!=null&&l(e,["_query","pageSize"],o);let s=r(n,["pageToken"]);e!==void 0&&s!=null&&l(e,["_query","pageToken"],s);let a=r(n,["filter"]);return e!==void 0&&a!=null&&l(e,["_query","filter"],a),i}p(Am,"listTuningJobsConfigToMldev");function xm(n,e,t){let i={},o=r(n,["pageSize"]);e!==void 0&&o!=null&&l(e,["_query","pageSize"],o);let s=r(n,["pageToken"]);e!==void 0&&s!=null&&l(e,["_query","pageToken"],s);let a=r(n,["filter"]);return e!==void 0&&a!=null&&l(e,["_query","filter"],a),i}p(xm,"listTuningJobsConfigToVertex");function Pm(n,e){let t={},i=r(n,["config"]);return i!=null&&Am(i,t),t}p(Pm,"listTuningJobsParametersToMldev");function Nm(n,e){let t={},i=r(n,["config"]);return i!=null&&xm(i,t),t}p(Nm,"listTuningJobsParametersToVertex");function $m(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["nextPageToken"]);o!=null&&l(t,["nextPageToken"],o);let s=r(n,["tunedModels"]);if(s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>pl(c))),l(t,["tuningJobs"],a)}return t}p($m,"listTuningJobsResponseFromMldev");function Rm(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["nextPageToken"]);o!=null&&l(t,["nextPageToken"],o);let s=r(n,["tuningJobs"]);if(s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>$o(c))),l(t,["tuningJobs"],a)}return t}p(Rm,"listTuningJobsResponseFromVertex");function Gm(n,e){let t={},i=r(n,["name"]);i!=null&&l(t,["model"],i);let o=r(n,["name"]);return o!=null&&l(t,["endpoint"],o),t}p(Gm,"tunedModelFromMldev");function Mm(n,e){let t={};if(r(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(r(n,["vertexDatasetResource"])!==void 0)throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");let i=r(n,["examples"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(t,["examples","examples"],o)}return t}p(Mm,"tuningDatasetToMldev");function km(n,e,t){let i={},o=r(t,["config","method"]);if(o===void 0&&(o="SUPERVISED_FINE_TUNING"),o==="SUPERVISED_FINE_TUNING"){let a=r(n,["gcsUri"]);e!==void 0&&a!=null&&l(e,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(o==="PREFERENCE_TUNING"){let a=r(n,["gcsUri"]);e!==void 0&&a!=null&&l(e,["preferenceOptimizationSpec","trainingDatasetUri"],a)}let s=r(t,["config","method"]);if(s===void 0&&(s="SUPERVISED_FINE_TUNING"),s==="SUPERVISED_FINE_TUNING"){let a=r(n,["vertexDatasetResource"]);e!==void 0&&a!=null&&l(e,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(s==="PREFERENCE_TUNING"){let a=r(n,["vertexDatasetResource"]);e!==void 0&&a!=null&&l(e,["preferenceOptimizationSpec","trainingDatasetUri"],a)}if(r(n,["examples"])!==void 0)throw new Error("examples parameter is not supported in Vertex AI.");return i}p(km,"tuningDatasetToVertex");function pl(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["state"]);s!=null&&l(t,["state"],Fa(s));let a=r(n,["createTime"]);a!=null&&l(t,["createTime"],a);let c=r(n,["tuningTask","startTime"]);c!=null&&l(t,["startTime"],c);let d=r(n,["tuningTask","completeTime"]);d!=null&&l(t,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(t,["updateTime"],u);let f=r(n,["description"]);f!=null&&l(t,["description"],f);let h=r(n,["baseModel"]);h!=null&&l(t,["baseModel"],h);let m=r(n,["_self"]);return m!=null&&l(t,["tunedModel"],Gm(m)),t}p(pl,"tuningJobFromMldev");function $o(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["state"]);s!=null&&l(t,["state"],Fa(s));let a=r(n,["createTime"]);a!=null&&l(t,["createTime"],a);let c=r(n,["startTime"]);c!=null&&l(t,["startTime"],c);let d=r(n,["endTime"]);d!=null&&l(t,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(t,["updateTime"],u);let f=r(n,["error"]);f!=null&&l(t,["error"],f);let h=r(n,["description"]);h!=null&&l(t,["description"],h);let m=r(n,["baseModel"]);m!=null&&l(t,["baseModel"],m);let g=r(n,["tunedModel"]);g!=null&&l(t,["tunedModel"],g);let b=r(n,["preTunedModel"]);b!=null&&l(t,["preTunedModel"],b);let E=r(n,["supervisedTuningSpec"]);E!=null&&l(t,["supervisedTuningSpec"],E);let w=r(n,["preferenceOptimizationSpec"]);w!=null&&l(t,["preferenceOptimizationSpec"],w);let v=r(n,["tuningDataStats"]);v!=null&&l(t,["tuningDataStats"],v);let I=r(n,["encryptionSpec"]);I!=null&&l(t,["encryptionSpec"],I);let T=r(n,["partnerModelTuningSpec"]);T!=null&&l(t,["partnerModelTuningSpec"],T);let _=r(n,["customBaseModel"]);_!=null&&l(t,["customBaseModel"],_);let P=r(n,["experiment"]);P!=null&&l(t,["experiment"],P);let N=r(n,["labels"]);N!=null&&l(t,["labels"],N);let x=r(n,["outputUri"]);x!=null&&l(t,["outputUri"],x);let D=r(n,["pipelineJob"]);D!=null&&l(t,["pipelineJob"],D);let A=r(n,["serviceAccount"]);A!=null&&l(t,["serviceAccount"],A);let k=r(n,["tunedModelDisplayName"]);k!=null&&l(t,["tunedModelDisplayName"],k);let q=r(n,["veoTuningSpec"]);return q!=null&&l(t,["veoTuningSpec"],q),t}p($o,"tuningJobFromVertex");function Dm(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["metadata"]);s!=null&&l(t,["metadata"],s);let a=r(n,["done"]);a!=null&&l(t,["done"],a);let c=r(n,["error"]);return c!=null&&l(t,["error"],c),t}p(Dm,"tuningOperationFromMldev");function $a(n,e){let t={},i=r(n,["gcsUri"]);i!=null&&l(t,["validationDatasetUri"],i);let o=r(n,["vertexDatasetResource"]);return o!=null&&l(t,["validationDatasetUri"],o),t}p($a,"tuningValidationDatasetToVertex");var Ro=class extends Pe{static{p(this,"Tunings")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new Le(De.PAGED_ITEM_TUNING_JOBS,i=>this.listInternal(i),await this.listInternal(t),t),this.get=async t=>await this.getInternal(t),this.tune=async t=>{var i;if(this.apiClient.isVertexAI())if(t.baseModel.startsWith("projects/")){let o={tunedModelName:t.baseModel};!((i=t.config)===null||i===void 0)&&i.preTunedModelCheckpointId&&(o.checkpointId=t.config.preTunedModelCheckpointId);let s=Object.assign(Object.assign({},t),{preTunedModel:o});return s.baseModel=void 0,await this.tuneInternal(s)}else{let o=Object.assign({},t);return await this.tuneInternal(o)}else{let o=Object.assign({},t),s=await this.tuneMldevInternal(o),a="";return s.metadata!==void 0&&s.metadata.tunedModel!==void 0?a=s.metadata.tunedModel:s.name!==void 0&&s.name.includes("/operations/")&&(a=s.name.split("/operations/")[0]),{name:a,state:Bi.JOB_STATE_QUEUED}}}}async getInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Sm(e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>$o(f))}else{let u=_m(e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>pl(f))}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Nm(e);return c=C("tuningJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Rm(f),m=new Sn;return Object.assign(m,h),m})}else{let u=Pm(e);return c=C("tunedModels",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=$m(f),m=new Sn;return Object.assign(m,h),m})}}async cancel(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=ym(e);return c=C("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=wm(f),m=new An;return Object.assign(m,h),m})}else{let u=bm(e);return c=C("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Em(f),m=new An;return Object.assign(m,h),m})}}async tuneInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Cm(e,e);return s=C("tuningJobs",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>$o(d))}else throw new Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Tm(e);return s=C("tunedModels",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>Dm(d))}}};var Go=class{static{p(this,"BrowserDownloader")}async download(e,t){throw new Error("Download to file is not supported in the browser, please use a browser compliant download like an <a> tag.")}},Lm=1024*1024*8,Um=3,Fm=1e3,Bm=2,Wn="x-goog-upload-status";async function Vm(n,e,t){var i;let o=await hl(n,e,t),s=await o?.json();if(((i=o?.headers)===null||i===void 0?void 0:i[Wn])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return s.file}p(Vm,"uploadBlob");async function qm(n,e,t){var i;let o=await hl(n,e,t),s=await o?.json();if(((i=o?.headers)===null||i===void 0?void 0:i[Wn])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");let a=Ga(s),c=new to;return Object.assign(c,a),c}p(qm,"uploadBlobToFileSearchStore");async function hl(n,e,t){var i,o;let s=0,a=0,c=new Ut(new Response),d="upload";for(s=n.size;a<s;){let u=Math.min(Lm,s-a),f=n.slice(a,a+u);a+u>=s&&(d+=", finalize");let h=0,m=Fm;for(;h<Um&&(c=await t.request({path:"",body:f,httpMethod:"POST",httpOptions:{apiVersion:"",baseUrl:e,headers:{"X-Goog-Upload-Command":d,"X-Goog-Upload-Offset":String(a),"Content-Length":String(u)}}}),!(!((i=c?.headers)===null||i===void 0)&&i[Wn]));)h++,await Om(m),m=m*Bm;if(a+=u,((o=c?.headers)===null||o===void 0?void 0:o[Wn])!=="active")break;if(s<=a)throw new Error("All content has been uploaded, but the upload status is not finalized.")}return c}p(hl,"uploadBlobInternal");async function Hm(n){return{size:n.size,type:n.type}}p(Hm,"getBlobStat");function Om(n){return new Promise(e=>setTimeout(e,n))}p(Om,"sleep");var Mo=class{static{p(this,"BrowserUploader")}async upload(e,t,i){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Vm(e,t,i)}async uploadToFileSearchStore(e,t,i){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await qm(e,t,i)}async stat(e){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Hm(e)}};var ko=class{static{p(this,"BrowserWebSocketFactory")}create(e,t,i){return new Do(e,t,i)}},Do=class{static{p(this,"BrowserWebSocket")}constructor(e,t,i){this.url=e,this.headers=t,this.callbacks=i}connect(){this.ws=new WebSocket(this.url),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.close()}};var Ra="x-goog-api-key",Lo=class{static{p(this,"WebAuth")}constructor(e){this.apiKey=e}async addAuthHeaders(e,t){if(e.get(Ra)===null){if(this.apiKey.startsWith("auth_tokens/"))throw new Error("Ephemeral tokens are only supported by the live API.");if(!this.apiKey)throw new Error("API key is missing. Please provide a valid API key.");e.append(Ra,this.apiKey)}}};var zm="gl-node/",Bt=class{static{p(this,"GoogleGenAI")}get interactions(){if(this._interactions!==void 0)return this._interactions;if(console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions."),this.vertexai)throw new Error("This version of the GenAI SDK does not support Vertex AI API for interactions.");let e=this.httpOptions;e?.extraBody&&console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");let t=new j({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:e?.timeout});return this._interactions=t.interactions,this._interactions}constructor(e){var t;if(e.apiKey==null)throw new Error("An API Key must be set when running in a browser");if(e.project||e.location)throw new Error("Vertex AI project based authentication is not supported on browser runtimes. Please do not provide a project or location.");this.vertexai=(t=e.vertexai)!==null&&t!==void 0?t:!1,this.apiKey=e.apiKey;let i=wc(e.httpOptions,e.vertexai,void 0,void 0);i&&(e.httpOptions?e.httpOptions.baseUrl=i:e.httpOptions={baseUrl:i}),this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let o=new Lo(this.apiKey);this.apiClient=new po({auth:o,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:zm+"web",uploader:new Mo,downloader:new Go}),this.models=new Eo(this.apiClient),this.live=new bo(this.apiClient,o,new ko),this.batches=new oo(this.apiClient),this.chats=new ro(this.models,this.apiClient),this.caches=new so(this.apiClient),this.files=new lo(this.apiClient),this.operations=new wo(this.apiClient),this.authTokens=new vo(this.apiClient),this.tunings=new Ro(this.apiClient),this.fileSearchStores=new To(this.apiClient)}};var ot=J,ml=new Map,gl=[];function st(){let n=`[${st.name}]`;try{return ot&&console.log(`${n} starting... (I: a5cf5821b42e1c71182dd61431977e25)`),ml}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{ot&&console.log(`${n} complete.`)}}p(st,"getAllFunctionInfos");function Oo(){let n=`[${Oo.name}]`;try{return ot&&console.log(`${n} starting... (I: 82c9a8fc91d8121fb843af32e76c2e25)`),gl}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{ot&&console.log(`${n} complete.`)}}p(Oo,"getDeprecatedFunctionInfoNames");function Km({functionInfos:n}){let e=`[${Km.name}]`;try{ot&&console.log(`${e} starting... (I: 14fee8e27384a040494542182031ae25)`),n.size===0&&console.warn(`${e} empty functionInfos? (W: 97fcb8fc47689bc418893c09a16a2525)`);for(let[t,i]of n)gl.includes(t)?ot&&console.log(`${e} functionInfo.nameOrId (${t}) is deprecated. Skipping add. (I: 3256eadf54f8087088a704798e2fd825)`):ml.set(t,i)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ot&&console.log(`${e} complete.`)}}p(Km,"registerFunctionInfos");var ye=J;function Vt(n){switch(n){case Z.HUMAN:return"user";case Z.AI:return"model";case Z.FUNCTION:return"user";case Z.HARDCODED:return"user";case Z.UNKNOWN:return"user";default:throw new Error(`(UNEXPECTED) src is not a valid TextSource? src: ${n} (E: 9d954fe0bc49cf4572a65b19b6173925)`)}}p(Vt,"textSourceToGeminiRole");function bl(n){return n.api==="gemini"}p(bl,"isPromptInfoGemini");function zo({systemPromptEntries:n}){let e=`[${zo.name}]`;try{if(ye&&console.log(`${e} starting... (I: 18693a97427939699285ef8c1a9cc425)`),n.length===0)return;n.every(i=>i.src===Z.HUMAN)||ye&&console.warn(`${e} not every system entry's src is human. We're still going to say that these are "user" origin in Gemini API. (W: 7115e2be876498ecb1e153c79a86e125)`);let t={role:"user",parts:n.filter(i=>!!i.content.parts).flatMap(i=>i.content.parts)};return ye&&console.log(`${e} sysInstructionContent: ${L(t)} (I: 011e5b865c23eb0b640df3f464ac2525)`),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ye&&console.log(`${e} complete.`)}}p(zo,"systemPromptEntriesToSystemInstructionContent");function Ko({ibGib:n}){let e=`[${Ko.name}]`;try{if(ye&&console.log(`${e} starting... (I: 986d3edcd4f3aaf1d7eb0f8b59206b25)`),!n)return ye&&console.warn(`${e} ibGib falsy. (W: a70390e8bc3f420a92d3a84f4c78f12a)`),!1;if(!et({ibGib:n}))return ye&&console.log(`${e} not a comment ibgib (I: 6a62c4f6e13776616855c4f237a5206b)`),!1;if(!n.data)return ye&&console.log(`${e} ibGib.data falsy (I: 69eb86975640475395bb74944141a46d)`),!1;let{text:t}=n.data;return t?t.includes(cn)?(ye&&console.log(`${e} has tag. returning true. (I: 6d76b27d558d44f696582f41af561f29)`),!0):(ye&&console.log(`${e} no indicator found. returning false. (I: 815f181a0a08058362f76b08a8964674)`),!1):(ye&&console.log(`${e} text falsy (I: e348e38c841b4443b3f09e75c0215b24)`),!1)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ye&&console.log(`${e} complete.`)}}p(Ko,"isFunctionCallRequestComment");function Jo({functionInfoIbGib:n}){let e=`[${Jo.name}]`;try{if(ye&&console.log(`${e} starting... (I: 1a2b3c4d5e6f7a8b)`),!n)throw new Error(`${e} functionInfoIbGib parameter is required. (E: 9c8f7a3b2d1e4a5b6c7d8e9f)`);if(!n.data)throw new Error(`${e} functionInfoIbGib.data is required. (E: 2b3c4d5e6f7a8b1c2d3e4f5a)`);let{fnName:t,fnArgs:i,fnResult:o}=n.data;if(!t)throw new Error(`${e} functionInfoIbGib.data.fnName is required. (E: 6f7a8b1c2d3e4f5a6b7c8d9e)`);return{call:{functionCall:{name:t,args:i??{}}},response:{functionResponse:{name:t,response:{value:o}}}}}catch(t){throw console.error(`${e} Error: ${y(t)}`),t}finally{ye&&console.log(`${e} complete.`)}}p(Jo,"getFunctionCallAndResponseParts");var qt=J,Zn="function_info",yl="function_info";function El({data:n}){let e=`[${El.name}]`,{model:t,api:i,agentId:o,timestamp:s}=n;if(!t)throw new Error(`${e} data.model falsy (E: 6f47a28c0a8a45d794149c83e8f27e25)`);if(!i)throw new Error(`${e} data.api falsy (E: a0a812508a952a87c619d38084b7e325)`);if(!o)throw new Error(`${e} data.agentId falsy (E: ac35c1592c458e2c0e5908f6a9a3e525)`);let a=We(s);if([t,i,o,a].some(d=>d.includes(" ")))throw new Error("invalid data. ib must not contain spaces (E: 36a56e4685163848458be06f51d4ad25)");return[yl,a,t,i,o].join(" ")}p(El,"getFunctionInfoIb");async function jn(n){let e=`[${jn.name}]`;try{qt&&console.log(`${e} starting... (I: f4c9f0810a4d877f676297f6e6a96825)`);let{fnRawRequest:t,api:i,model:o,agentId:s,fnName:a,fnArgs:c,fnResult:d,fnComplete:u,parseErrorMsg:f,execErrorMsg:h,repromptWithResult:m,saveInSpace:g,metaspace:b,space:E}=n,w=new Date,v={name:o,timestamp:Kt(w),timestampMs:w.getMilliseconds(),agentId:s,api:i,model:o,fnRawRequest:t,fnName:a,fnArgs:c,fnResult:d,fnComplete:u,repromptWithResult:m};f&&(v.parseErrorMsg=f),h&&(v.execErrorMsg=h);let I=El({data:v}),T=await se.firstGen({ib:I,parentIbGib:se.primitive({ib:yl}),data:v,nCounter:!0,dna:!0,tjp:{uuid:!0}});if(qt&&console.log(`${e} created functionInfoIbGib (I: e50d2e17f43312d4f4739899306bb725)`),g){if(!b)throw new Error(`${e} metaspace must be provided if saveInSpace is set to true (E: e74b76b00124d5874a6c5404e794b725)`);if(!E)throw new Error(`${e} space must be provided if saveInSpace is set to true (E: f3d5f1695a52707114117f72d932a025)`);await b.persistTransformResult({resTransform:T,space:E}),qt&&console.log(`${e} persisted resFunctionInfo (${S({ibGib:T.newIbGib})}) to space ${E.data?.uuid} (I: aa98e877d3b34e0d2a3b7711f8f27e25)`),await b.registerNewIbGib({ibGib:T.newIbGib,space:E}),qt&&console.log(`${e} registered new function info ibgib (${S({ibGib:T.newIbGib})}) with metaspace (I: aa98e877d3b34e0d2a3b7711f8f27e25)`)}return T}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{qt&&console.log(`${e} complete.`)}}p(jn,"createFunctionInfoIbGib");var M=J,ei=class n extends Vs{static{p(this,"AgentWitness_V1")}lc=`[${n.name}]`;availableFunctions=new Map;commentIbGibs_system=[];commentIbGibs_chat=[];_metaspace;fnGetAPIKey=p(()=>Promise.reject("not implemented. you need to set this after initializing the agent. (E: a14cbe903d08821126bbbb1d063d9825)"),"fnGetAPIKey");get name(){return this.data?.name??""}get uuid(){return this.data?.uuid??""}_genAI;transientDecompressionPromptText;fnOutputText=p(e=>{console.log(`${this.lc}[fnOutputText] this hack does nothing by default. set this to do something when text is returned by the model LLM. textResponse: ${e} (W: 3007e5d69dafdd7e42157fa7370d7f25)`)},"fnOutputText");ibGibProxy;constructor(e,t){super(e,t),this.instanceId=ct({count:32})}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;try{M&&console.log(`${e} starting... (I: 641e211473fc54d5a9ebb4ea44944d25)`);let t=await super.validateThis();return this.data?(this.data?.subSpaceId||t.push("agent.data.subSpaceId falsy (E: d4ea57fd6b1c5cbc1e18a084de2f7725)"),this.data?.subSpaceId.match(zt)||t.push(`agent.data.subSpaceId must match regexp: ${zt}. (E: f381eff533aa3f4713316f93f7f1dc25)`),this.data.name?this.data.name.match(ht)||t.push(`agent name must match regexp: ${ht}`):t.push("agent name falsy (E: 1351325107e5ac5ea6b7b789b73de125)"),this.data.description&&(this.data.description.match(_i)||t.push(`agent description must match regexp: ${_i}`))):t.push("this.data falsy (E: f5f151e11b12cad814b37ecad7c74a25)"),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{M&&console.log(`${e} starting... (I: ce38519ac4bef52844a558fe31cda825)`),await super.initialize(),this._metaspace=await $();let t=new Be;if(await t.initialized,!t.contextUpdated$)throw new Error("(UNEXPECTED) ibGibProxy.contextUpdated$ falsy? (E: e8840870af18091e6e4d52490ddca825)");if(t.contextUpdated$.subscribe(ke({next:p(async i=>{let o=`${e}[ibGibProxy.contextUpdated$][next]`;M&&console.log(`${o} nextIbGib: ${L(i)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleContextUpdated()},"next"),error:p(async i=>{debugger;console.error(`${e}[ibGibProxy.contextUpdated$][error] what up? ${y(i)}`)},"error")})),this.ib&&this.gib&&this.data){let i=this.toIbGibDto();await this.loadIbGibDto(i);let o=await this._metaspace.getLocalUserSpace({localSpaceId:i.data?.superSpaceId});if(!o)throw new Error(`couldn't get local space with agent.data.superSpaceId (${i.data?.superSpaceId})? (E: 0fc1b8a8ffa26f39d8a15218ec818725)`);await this.ibGibProxy?.setWrappedIbGib({ibGib:i,space:o})}else M&&console.log(`${e} agent is "empty". not loading dto at this time, caller is responsible for calling loadIbGibDto (I: 06dba19d74d5695fe7d1957889283725)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{if(!this.ibGibProxy)throw new Error("(UNEXPECTED) this.ibGibProxy falsy but we're within handleContextUpdated handler? (E: a88fa85e8f27bd7f72c207389ebfbc25)");if(!this.ibGibProxy.ibGib)throw new Error("(UNEXPECTED) this.ibGibProxy.ibGib falsy but we're within the handleContextUpdated handler? (E: ca60b8f0a60a3e3d652c3018102d1825)");debugger;if(!this.gib){debugger;console.error(`${e} not sure if error, but this.gib is falsy when we get a new context down the pipeline? (E: 8501d8aee4db7b8461587f38f0bbb125)`)}if(S({ibGib:this})!==S({ibGib:this.ibGibProxy.ibGib})){let t=this.ibGibProxy.ibGib.data.n??0,i=this.data?.n??0;if(t<=i){debugger;console.error(`${e} issue with "new" proxy context and the current this.data.n with different addresses. divergent timelines? (E: 15c698eb4488cbae2db0e778fec15825)`)}await this.loadIbGibDto(this.ibGibProxy.ibGib),await O(200)}else console.error(`${e} ibgibProxy new context is no different than current. this is NOT necessarily an error, I just want to see this when it happens. nothing is being done here, we're just not loading the "new" ibgib dto. (E: eff668b2e858ded448366d58e4dd6825)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}}async getSubSpace(){let e=`[${this.getSubSpace.name}]`;try{M&&console.log(`${e} starting... (I: a2ec2c5e8f5fdf95c8c571b2b1b9e925)`);let{_metaspace:t}=this;if(!t)throw new Error("(UNEXPECTED) this.metaspace falsy? after init this.metaspace is expected to be set. (E: 4519a8feaf4489389be679598f274425)");let i=await t.getLocalUserSpace({localSpaceId:this.data.subSpaceId});if(!i){let o=await this.validateThis();if(o.length>0)throw new Error(`this agent has validation errors: ${o} (E: 9a0c6125cf89789ddb1610cf5a752225)`);if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 06e30e1d53fd4935333c7cf7e10db425)");i=await t.createLocalSpaceAndUpdateBootstrap({allowCancel:!1,zeroSpace:t.zeroSpace,spaceName:this.name+this.uuid.substring(0,5),createBootstrap:!1})}if(!i)throw new Error("(UNEXPECTED) space still falsy after creating locally? (E: 037ef1e6f54a675d0367227fdae16525)");return i}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}async getSuperSpace(){let e=`[${this.getSuperSpace.name}]`;try{M&&console.log(`${e} starting... (I: 55fba9bcaf9539cc2219e03cda200525)`);let{_metaspace:t}=this;if(!t)throw new Error("(UNEXPECTED) this.metaspace falsy? after init this.metaspace is expected to be set. (E: 107f670c99832c573a7e5de18d58c325)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: a4341b8753678fcba7877b6319769b25)");if(!this.data.superSpaceId)throw new Error("(UNEXPECTED) this.data.superSpaceId falsy? (E: 0429fe44df5b56bf2ac67d38cde56325)");let i=await t.getLocalUserSpace({localSpaceId:this.data.superSpaceId});if(!i)throw new Error(`(UNEXPECTED) superSpace falsy? this.data.superSpaceId: ${this.data.superSpaceId} (E: fd9435212e8b87e4b60034bf9e797f25)`);return i}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}_activeContext=void 0;async setActiveContext(e){let t=`${this.lc}[${this.setActiveContext.name}]`;try{M&&console.log(`${t} starting... (I: genuuid)`);let{contextIbGib:i,loggingInfo:o}=e;if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: ab5377fda6bc324638722d9832bab925)");if(!i)throw new Error("(UNEXPECTED) contextIbGib falsy? (E: 694525e512cfdd12c14e1213dbaab925)");if(!i.data)throw new Error("(UNEXPECTED) contextIbGib.data falsy? (E: f337252a23c822bcbd76144540050825)");let s=S({ibGib:i}),a=Y({ibGib:i});if(!a)throw new Error(`(UNEXPECTED) contextTjpAddr falsy? contextIbGib (${s}) is expected to be a living ibgib with a tjp address (i.e. a timeline). This means it should have a rel8ns.tjp or data.isTjp should be truthy. (E: d756d1e862d2cccfed4a5807737e9a25)`);if(this.data?.["@currentContextTjpAddr"]===a?M&&console.log(`${t} this.data.@currentContextTjpAddr already set to the same addr. (I: 9f0d58ec65eee3ca2aec528f1328c325)`):await this.mut8Self({dataToAddOrPatch:{"@currentContextTjpAddr":a}}),!this._activeContext){let c=new Be;await c.initialized;let d=`${t}[contextUpdated]`;if(!c.contextUpdated$)throw new Error("(UNEXPECTED) proxy.contextUpdated$ falsy? (E: 868c5e3bf025baa6d1ae727ab1160c25)");c.contextUpdated$.subscribe(ke({next:p(async f=>{console.log(`${d}[next] nextIbGib: ${L(f)}`)},"next"),complete:p(async()=>{debugger;throw new Error(`${d}[complete] (UNEXPECTED) agent active context subscription complete? i honestly don't know if this hits. (E: 786d26ab23e4313db7ae2e08c70a7425)`)},"complete"),error:p(async f=>{debugger;console.error(`${d}[error] ${y(f)}`)},"error")}));let u=`${t}[newContextChild]`;if(!c.newContextChild$)throw new Error("(UNEXPECTED) proxy.newContextChild$ falsy? (E: 123cf5624c3d2a6308aafc0c41f8a925)");c.newContextChild$.subscribe(ke({next:p(async f=>{if(console.log(`${u}[next] newChild: ${L(f)}`),!f.data)throw new Error("newChild.data falsy? (E: a654134a2695c176971b0cd1426ced25)");if(et({ibGib:f})){let h=this.commentIbGibs_chat.map(w=>Y({ibGib:w})??S({ibGib:w})),m=Y({ibGib:f})??S({ibGib:f});if(h.includes(m)){console.log(`${t} already did this comment (${m}) (I: bce18642bb9babeb553e6188d7ae2825)`);return}let{safeIbCommentMetadataText:g}=Ze({ib:f.ib}),{textSrc:b}=Ht({addlMetadataText:g??"",ifError:"warn"}),E=f.data.text.startsWith("system: ");await this.addTexts({infos:[{textSrc:b??Z.UNKNOWN,commentIbGib:f,isSystem:E}]}),b===Z.HUMAN&&(E?console.log(`${t} system prompt has been modified. (I: d21c26f0a3fa12e2a874925882f39825)`):await this.doPrompt())}else console.warn(`${u} non-comment newChild. probably not a warning proper, but at this stage I'm only expecting comments ignoring... (W: e664834af4791ddcde19bfd4f7063e25)`)},"next"),complete:p(async()=>{debugger;throw new Error(`${u}[complete] (UNEXPECTED) agent active context subscription complete? i honestly don't know if this hits. (E: 88202d1f7554330d3dfca0237c2d6525)`)},"complete"),error:p(async f=>{debugger;console.error(`${u}[error] ${y(f)}`)},"error")})),this._activeContext=c}if(!this._activeContext)throw new Error("(UNEXPECTED) this._activeContext still falsy after we just initialized it? (E: 584f2f672b9ae7c979dde693eafb7a25)");await this._activeContext.setWrappedIbGib({ibGib:i})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async updateName({name:e}){let t=`${this.lc}[${this.updateName.name}]`;try{if(M&&console.log(`${t} starting... (I: genuuid)`),e===this.name){console.warn(`${t} agent (${this.uuid}) already is named ${e}. returning early... (W: genuuid)`);return}else if(ht.test(e))await this.mut8Self({dataToAddOrPatch:{name:e}});else throw new Error(`invalid name ${e}. must match regexp: ${ht.source} (E: 507a2bfc0aaa60bd7bb608d253239e25)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async updateAvailableFunctions({availableFunctions:e}){let t=`${this.lc}[${this.updateAvailableFunctions.name}]`;try{M&&console.log(`${t} starting... (I: 68f1bfa343925a657f8c0545b191c725)`);let i=[];for(let o of e)if(!this.availableFunctions.has(o.nameOrId)){let s=st().get(o.nameOrId);if(s)i.push(s);else{console.error(`(UNEXPECTED) ${o} function not registered with getAllFunctionInfos()? skipping adding this function to the agent... (E: e860fe13c02677b274ac0e7df2587a25)`);continue}}i.length>0&&(console.log(`${t} adding newly found functions to agent: ${i.map(o=>o.nameOrId)}. (I: ab2b0ae6a62b3ced6a5f1e2e8cec4f25)`),await this.addAvailableFunctions(i))}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async mut8Self({dataToAddOrPatch:e}){let t=`${this.lc}[${this.mut8Self.name}]`;try{M&&console.log(`${t} starting... (I: f4618832a0fe07ff8c89cea889d20725)`);let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: genuuid)");let o=await i.getLocalUserSpace({lock:!1,localSpaceId:this.data.superSpaceId});if(!o)throw new Error(`couldn't get local superSpace given by this.data.superSpaceId (${this.data.superSpaceId}) (E: genuuid)`);let{tjpGib:s}=W({gib:this.gib});if(!s)throw new Error(`(UNEXPECTED) this.gib (${this.gib}) has no tjpGib? (E: 75b8dcb82b58d3b0db40b39149023e25)`);await Yt({fn:p(async()=>{let a=Ge();await a.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1});let c=await ms({type:"mut8",src:this.toIbGibDto(),dataToAddOrPatch:e,dna:!0,nCounter:!0});await i.persistTransformResult({resTransform:c,space:o});let d=c.newIbGib;await this.loadIbGibDto(d),await a.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!0}),await i.registerNewIbGib({ibGib:d,space:o}),await Wo({newAgentIbGib:d,metaspace:i,space:o,type:this.data.type})},"fn"),scope:s,secondsValid:60,maxDelayMs:100,maxLockAttempts:Number.MAX_SAFE_INTEGER,space:o,callerInstanceId:this.instanceId})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}getAvailableFunctions(){return Array.from(this.availableFunctions.values())}getComments_System(){return[...this.commentIbGibs_system]}getComments_Chat(){return[...this.commentIbGibs_chat]}async addAvailableFunctions(e){let t=`[${this.addAvailableFunctions.name}]`;try{if(M&&console.log(`${t} starting... (I: 273525464ec540fc9cba565e608db925)`),!e)throw new Error("(UNEXPECTED) functionInfos falsy? (E: 19cf2b7c9ee1115f0a3f7f62fbf77825)");if(e.length===0){console.warn(`${t} functionInfos.length === 0? why is this being called with no functions? returning early without doing anything. (W: 86c6dc4fad3c1ddcac697d5636b1eb25)`);return}await Ge().updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1}),e.forEach(o=>{this.availableFunctions.has(o.nameOrId)&&console.warn(`${t} this.availableFunctions already has an entry for ${o.nameOrId}. replacing anyway. (W: ef2372a27be67174cb3605eac2c85c25)`),this.availableFunctions.set(o.nameOrId,o)}),await this.mut8Self({dataToAddOrPatch:{availableFunctionNameOrIds:Array.from(this.availableFunctions.keys())}})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async doPrompt(){let e=`[${this.doPrompt.name}]`;try{if(M&&console.log(`${e} starting... (I: e7f1a7845cdf1bdce1f12d74c71a6425)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 3c528e2376a2f2600b347b2c183a5225)");let t=await this.composePromptInfo();M&&console.log(`${e} promptTextInfo: ${L(t)} (I: b769b5f2a47623a99f78210994d90525)`);let i=await this.callTextAPI(t);if(M&&console.log(`${e} api result:`,i,"(I: e4d2c767eb3d6e38d83123d684a07425)"),"text"in i)await this.doPrompt_text(i.text);else{let{functionCalls:o}=i;await this.doPrompt_functionCalls({functionCalls:o})}}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}async doPrompt_text(e){let t=`${this.lc}[${this.doPrompt_text.name}]`;try{M&&console.log(`${t} starting... (I: a2b9c21f3b2b058d355d16421e2b4425)`),e||="[no text returned from the model]",this.fnOutputText?this.fnOutputText(e):console.log(`${t} no fnOutputText set. Text Response: ${e} (I: 5936517474b10b214257781a24b10425)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async doPrompt_functionCalls({functionCalls:e}){let t=`${this.lc}[${this.doPrompt_functionCalls.name}]`;try{if(M&&console.log(`${t} starting... (I: a4f1b581517a9c2a9187e9f8f3519925)`),e.length===0)throw new Error("(UNEXPECTED) functionCalls.length is zero? (E: 6434b8515a435a59b331452b563f4425)");let i=await this.doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls({functionCalls:e});if(await this.doPrompt_functionCalls_addFunctionCallRequestComment({functionInfoIbGibs:i}),i.some(s=>!!s.data?.repromptWithResult&&s.data.fnName!=="tellUser")){let s=await this.doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt({functionInfoIbGibs:i});s.length>0?(console.log(`${t} transientDecompressionPromptText: ${s} (I: 11c11d544b7c8f8f8e7e5f7c1a9e3625)`),this.transientDecompressionPromptText=s,await this.rePrompt()):console.warn(`${t} (UNEXPECTED) there is no decompression text? (W: 6ce5da95c1c89a7ec48a00fbc1d11825)`)}else M&&console.log(`${t} no repromptWithResult. returning early. (I: 9c0113c958c7404534291f6700325925)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls({functionCalls:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls.name}]`;try{if(M&&console.log(`${t} starting... (I: adc094bc98cb076a4aaf729f70adce25)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: d071328283b2cf880ff0ccd499c22b25)");if(!this.data.uuid)throw new Error("(UNEXPECTED) this.data.uuid falsy? (E: 8acd2f793e4b5a368dbcf1d8d1e6e825)");let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: acf8a69e853eb8663f1dd0f79a823e25)");let o=[];for(let s of e)try{M&&console.log(`${t} processing functionCall: ${s} (I: a0c0b22b3c6b6c4b674a5a9c8c8b9e25)`);let a,c,d,u,f,h="";try{if(c=JSON.parse(s),h=c?.name??"",!h)throw new Error("functionName (functionCallParsedObj.name) falsy (E: e2397d675863a12b7609495b0007a025)");if(M&&console.log(`${t} functionCallParsedObj:`,L(c),"(I: 750f097243b85644d111971e0f929c25)"),u=st().get(c.name),!u)throw new Error(`no APIFunctionInfo found that matches functionName (${h}) (E: 9d36b6472ec5cdf95e4f498292449925)`);f=c.args,M&&console.log(`${t} valid params (I: a4d5c13c79a2405c8d20464b42083325)`)}catch(m){d=`${t} invalid functionCallParsedObj. error: ${y(m)}. functionCallStr: ${s}. (E: 1687a24c5a3667d34689a09f8f753125)`,console.error(d),c=void 0}if(u){M&&console.log(`${t} found functionInfo: ${u.nameOrId} (I: 837c7a8200689a0b2314b73057812b25)`);let m,g=!1,b;try{M&&console.log(`${t} calling function impl for ${u.nameOrId} (I: b145d08186782089c18564305f0f1125)`),m=await u.fnViaCmd(f),g=!0,M&&console.log(`${t} functionImpl complete for ${u.nameOrId}. result:`,L(m),"(I: e19d476f489261263165914750472d25)")}catch(w){b=`${t} could not call functionImpl for ${u.nameOrId}: ${y(w)} (E: 9c0e97f29a9290f9d57637b7053f0c25)`,console.error(b)}a=(await jn({api:this.data.api,model:this.data.model,agentId:this.data.uuid,fnRawRequest:s,fnName:h,fnArgs:c.args,repromptWithResult:c.args?.repromptWithResult??!1,fnResult:m,fnComplete:g,execErrorMsg:b,parseErrorMsg:void 0,saveInSpace:!0,metaspace:i,space:await this.getSuperSpace()})).newIbGib}else a=(await jn({api:this.data.api,model:this.data.model,agentId:this.data.uuid,fnRawRequest:s,fnName:h,fnArgs:c.args,repromptWithResult:c.args?.repromptWithResult??!1,fnResult:void 0,fnComplete:void 0,execErrorMsg:void 0,parseErrorMsg:d,saveInSpace:!0,metaspace:i,space:await this.getSuperSpace()})).newIbGib;if(!a)throw new Error("(UNEXPECTED) functionInfoIbGib falsy? we should have guaranteed to create one at this point. (E: 97c4ce12c7372adfeebfd45181b73f25)");o.push(a)}catch(a){throw console.error(`${t} ${y(a)}`),a}finally{M&&console.log(`${t} complete.`)}if(o.length===0)throw new Error("(UNEXPECTED) functionInfoIbGibs.length === 0? We expect at least one to be created (E: a8f81c56377cdbdeb468af6b21879825)");return o}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_addFunctionCallRequestComment({functionInfoIbGibs:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_addFunctionCallRequestComment.name}]`;try{M&&console.log(`${t} starting... (I: 5000adac5e8c4a7158a720c38f56b325)`);let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: d7275731461d8d0526af3088553ae525)");let o=await this.getSuperSpace(),s=mt({tagText:cn,contentText:e.map(f=>S({ibGib:f})).join(`
679
- `),randomIdLength:4}),a=St({textSrc:"ai",other:"functionCallRequest"}),c=await je({text:s,addlMetadataText:a,saveInSpace:!0,space:o}),d=await Ye({type:"rel8",src:c.newIbGib,rel8nsToAddByAddr:{[Zn]:e.map(f=>S({ibGib:f}))},dna:!0,nCounter:!0}),u=d.newIbGib;await i.persistTransformResult({resTransform:d,space:o}),await i.registerNewIbGib({ibGib:u,space:o}),await this.addTexts({infos:[{textSrc:"ai",commentIbGib:u}]})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt({functionInfoIbGibs:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt.name}]`;try{M&&console.log(`${t} starting... (I: c245f78f6c78a98d62375a9f14b3d625)`);let i=[];for(let o of e)try{let s=S({ibGib:o});if(!o.data)throw new Error(`(UNEXPECTED) !functionInfoIbGib.data? functionInfoAddr: ${s} (E: 7815e4854513c26b889517a9bd7e0d25)`);let{fnRawRequest:a,fnComplete:c,fnResult:d}=o.data,f=mt({tagText:s,contentText:L({fnRawRequest:a,fnComplete:c,fnResult:d}),randomIdLength:void 0});i.push(f)}catch(s){console.error(`${t} could not call functionImpl: ${y(s)} (E: 2a3b8b37e146c524b67119e3a74e3d25)`)}return i.join(`
680
- `)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{M&&console.log(`${t} complete.`)}}repromptCount=0;repromptMax=12;async rePrompt(){let e=`${this.lc}[${this.rePrompt.name}]`;try{M&&console.log(`${e} starting... (I: b6af34214acf07f9ca8c1d03c0011525)`),this.repromptCount<this.repromptMax?(this.repromptCount++,await this.doPrompt()):(console.log(`${e} already reached repromptMax (${this.repromptMax}). reprompt aborting. $(I: dacefb501dab2a1ee173ce8558657725)`),this.repromptCount=0)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{M&&console.log(`${e} complete.`)}}async witness(e){if(e.ib===Jt&&e.gib===Wt)return this.getComments_Chat().length>0&&await this.doPrompt(),Pt;throw new Error(`arg (${L(e)}) not implemented. only expect ${Pt} right now to trigger doPrompt. (E: 24da0ad7333b6bbb359d1be425db3c25)`)}};var F=J,He=class n extends ei{static{p(this,"AgentWitnessGemini_V1")}lc=`[${n.name}]`;async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;try{F&&console.log(`${e} starting... (I: 641e211473fc54d5a9ebb4ea44944d25)`);let t=await super.validateThis();return this.data&&console.warn(`${e} do more validation on this concrete class. (W: fb778a84ccca2ebcefd2ca7845543825)`),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}parseAddlMetadataString({ib:e}){let t=`${this.lc}[${this.parseAddlMetadataString.name}]`;try{throw F&&console.log(`${t} starting... (I: 080daf4b73f8bb52c70bf0a8f329be25)`),new Error("not implemented...i've just converted agent witness to a full witness with context and this was the only abstract method required. wasn't being used previously? so i'm not sure why this is here. (E: 129e816d3698f3867ec54c34fcc9a225)")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async addTexts(e){let t=`${this.lc}[${this.addTexts.name}]`;try{let i=Ge();await i.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1});let o=this._metaspace;if(!o)throw new Error("(UNEXPECTED) metaspace falsy? (E: fd92a81901a83e2698ab2c3d4e702f25)");if(e.infos.length===0)return console.warn(`${t} opts.infos.length === 0. So we've called addTexts but with an empty array? returning early. (W: 0d42cd3b26aec45874d0e65450b37d25)`),[];let s=[],a=[],c=[],d=await this.getSuperSpace();for(let h of e.infos){let{textSrc:m,isSystem:g}=h,{text:b,commentIbGib:E}=h;if(b&&E)throw new Error("(UNEXPECTED) both text and commentIbGib provided? (E: a3fd590db1a5efc301f3c7e66b322f25)");if(!b&&!E)throw new Error("(UNEXPECTED) both text and commentIbGib falsy? one or the other is required (E: e08c7c694a17319085adfb75914b2725)");let w=St({textSrc:m});if(E)F&&console.log(`${t} adding existing commentIbGib (I: 72a3f7aafde92f65b168d27605f94625)`);else{if(F&&console.log(`${t} creating new commentIbGib for text (I: 72a3f7aafde92f65b168d27605f94625)`),!b)throw new Error("(UNEXPECTED) text falsy still? at this point it should be guaranteed (E: b2deec458f35f22298ccb664d0685125)");E=(await je({text:b,addlMetadataText:w,saveInSpace:!0,space:d})).newIbGib,await o.registerNewIbGib({ibGib:E,space:d})}if(!E)throw new Error("(UNEXPECTED) commentIbGib still falsy? we should have just created one if it didn't exist (E: 9370b19aa207234db185cd74b57be525)");let v=await ii({ibGib:E});if(v.length>0)throw new Error(`validation errors with trying to add a commentIbGib. errors: ${v} (E: beee1893050f9bcf9842c66831595225)`);s.push(E),g?a.push(E):c.push(E)}let u=[];a.length>0&&u.push({rel8nName:"system",ibGibs:a}),c.length>0&&u.push({rel8nName:"chat",ibGibs:c});let f=await Fs({timeline:this.toIbGibDto(),rel8nInfos:u,timelineIndexInfo:{rel8nName:tt,type:this.data.type},metaspace:o,space:d});return await this.loadIbGibDto(f),await i.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!0}),s}catch(i){throw console.error(`${t} ${y(i)}`),i}}async composePromptInfo(){let e=`${this.lc}[${this.composePromptInfo.name}]`;try{if(F&&console.log(`${e} starting... (I: 155774d4811b038034342d5750174325)`),!this._metaspace)throw new Error("this.metaspace falsy (E: 7232a3a1b4348d460ed1375b32677125)");let t=[];for(let f of this.commentIbGibs_system){let h=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:f});t.push(...h)}let i=this.data?.["@currentContextTjpAddr"]??Q;if(i!==Q&&t.push({src:Z.HARDCODED,content:{role:Vt(Z.HARDCODED),parts:[{text:wl({currentContextTjpAddr:i})}]}}),this.commentIbGibs_chat.length===0)throw new Error("(UNEXPECTED) this.commentIbGibs_chat.length === 0? why are we composing prompt info? We are assumed at this point to have added at least one comment ibgib to this agent. (E: a4e3d840946ab8e6dc3fde3e25d6b225)");let o=[],s=this.commentIbGibs_chat.length>1?this.commentIbGibs_chat.slice(0,-1):[];for(let f of s){let h=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:f});o.push(...h)}let a,c=this.commentIbGibs_chat.at(-1),d=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:c});if(d.length===1)a=d.at(0);else if(d.length===2)o.push(d.at(0)),a=d.at(1);else throw new Error("(UNEXPECTED) chatPromptCurrent_rawarray.length !== 1 or 2? We expect at this point either a regular text part or a FCR comment which creates two entries. (E: cd59f978479c20e496da4b0eb86c7d25)");let u={api:"gemini",systemPromptEntries:t,chatPromptHistoryParts:o,chatPromptCurrent:a};return F&&console.log(`${e} resPromptInfo:`,L(u),"(I: 8f17a8c45b9a91e20a5c5064d9114a25)"),u}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}async callTextAPI(e){let t=`${this.lc}[${this.callTextAPI.name}]`;try{if(F&&console.log(`${t} starting... (I: 27885f5b14682646542e9658417b2f25)`),!bl(e))throw new Error("(UNEXPECTED) info.api !== gemini? we are in the gemini concrete class where this is assumed. (E: 9223647ec96fb3f4eaee32c3fc15d925)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 09224b6688fdac884ce88f196b68a425)");let{api:i,model:o}=this.data;if(i!=="gemini")throw new Error(`api not supported: ${i} (E: 7e5c7c17988a666a86e72299630c7f25)`);F&&console.log(`${t} calling gemini api with model: ${o} (I: 6208942a419e9041bb037384135a0c25)`);let s=await this.fnGetAPIKey();if(!s)return console.error(`${t} apiKey falsy. did you set this.fnGetAPIKey (E: d964596b1538c0327209a92e97a54d25)`),{text:"no api key entered so no LLM chat happening. enter a gemini api key and donate/invest!"};this._genAI??=new Bt({apiKey:s});let a=Array.from(this.availableFunctions.values()).map(I=>({name:I.nameOrId,description:I.schema?.description,parameters:I.schema?.parameters}));a.some(I=>I.parameters==="undefined")&&console.error(`${t} (UNEXPECTED) function schema parameters not defined for all APIFunctionInfo values. (E: ae7227cdd65c0ab4513c7b282a1e4825)`),F&&(console.log(`${t} Gemini functionDeclarations:`),console.dir(a));let{systemPromptEntries:c,chatPromptHistoryParts:d,chatPromptCurrent:u}=e,f=oe(u);F&&console.log(`chatPromptCurrent_final (before decompression): ${L(f)} (I: bbd4c7b9f3225afe9da1761918d0ac25)`),F&&console.warn(`${t} skipping decompression for the moment. if we add decompression text when the last comment is a function response part, then we'll error out. Need to rethink compression/decompression with the new function call/response workflow. (W: 7478439f9bbbde30a1eab3c5189ea625)`);let h,m=p(async I=>{if(!this._genAI)throw new Error("(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)");let T=d.map(D=>D.content),_={model:I,history:T,config:{systemInstruction:zo({systemPromptEntries:c}),tools:[{functionDeclarations:a}],toolConfig:{functionCallingConfig:{mode:e.overrideFunctionCallingMode??En.ANY}}}},P=this._genAI.chats.create(_),N={message:u.content.parts};return await P.sendMessage(N)},"fnGoModel"),g=0,b=o;do{g++;try{h=await m(b);break}catch(I){let T=I.message,_=I.status??"[STATUS?]";T.includes(`${503}`)?(console.error(`${t}[fnGoModel][${b}] error trying to get result from model. will try using backup model (${gt}) for this next call. error (${I.status}): ${y(I)} (E: a5cd7d174183518058da57cc6d0d8a25)`),b=gt):T.includes(`${429}`)?(console.error(`${t}[fnGoModel][${b}] error trying to get result from model. will try using backup model (${gt}) for this next call. error (${I.status}): ${y(I)} (E: a5cd7d174183518058da57cc6d0d8a25)`),b=gt):console.error(`${t}[fnGoModel][${b}] error trying to get result from model. error (${I.status}): ${y(I)} (E: a67d595c8ed313d458369d4d0b3e7f25)`)}await O(2e3)}while(!h&&g<Mi);if(!h)throw new Error("couldn't get result from model (E: ede013a53f875d99a96a2e257c7e7125)");let E=h,w=[],v=E.candidates?.[0]?.content?.parts||[];for(let I of v)I.functionCall&&w.push(I.functionCall);if(!w||w.length===0){if(F&&console.warn(`${t} no function calls in response, returning text. (W: 3a4b8c940983b9e28e3f04c01a09bb25)`),!E.text)throw new Error("response generated no function calls and no response.text (E: 6123b8cacfb834105ad3160cfc4ef825)");return{text:E.text}}return F&&(console.log(`${t} Gemini function calls:`),console.dir(w)),{functionCalls:w.map(I=>JSON.stringify(I,null,2))}}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async createPromptInfoEntriesFromGeminiComment({commentIbGib:e}){let t=`[${this.createPromptInfoEntriesFromGeminiComment.name}]`;try{F&&console.log(`${t} starting... (I: 826a9d6b120d96532afbe1f7a22e8d25)`);let i=await ii({ibGib:e});if(i.length>0)throw new Error(`validation errors with commentIbGib. Cannot create a prompt info entry. errors: ${i} (E: beee1893050f9bcf9842c66831595225)`);let{safeIbCommentMetadataText:o}=Ze({ib:e.ib});if(!o)throw new Error("(UNEXPECTED) addlMetaDataText falsy? we just validated the comment ibgib, so there should be the expected shape of the comment.ib. (E: facf5801f9ba158b1526dd09d0e1b325)");let{textSrc:s,timestampInTicks:a,errorMsg:c,other:d}=Ht({addlMetadataText:o,ifError:"warn"});if(c)throw new Error("(UNEXPECTED) errorMsg is truthy after parse addl metadata from comment.ib? we just validated the comment ibgib, so there should be the expected shape of the comment.ib. (? (E: 7fd7fac50851916f39ceccbe93446425)");if(!e.data)throw new Error("(UNEXPECTED) commentIbGib.data falsy? (E: 8ce54d28219237feddf8f25b5846cc25)");if(!e.data.text)throw new Error("(UNEXPECTED) commentIbGib.data.text falsy? (E: 8556fc95c401d1b5441454fceb8f2f25)");if(Ko({ibGib:e})){let f=await this.getFunctionInfoIbGibs({fcrCommentIbGib:e}),h=[],m=[];for(let E of f){let{call:w,response:v}=Jo({functionInfoIbGib:E});if(!w)throw new Error("(UNEXPECTED) call falsy? (E: 5c8f3bd6de3b300e1c105b9603bb7b25)");if(!v)throw new Error("(UNEXPECTED) response falsy? (E: d0388c838975c93126c1a6d64f781d25)");if(w.functionCall.name!==v.functionResponse.name)throw new Error("(UNEXPECTED) functionCall.name !== functionResponse.name? (E: e49f0d60093354db2b6ad17fdf86d425)");h.push(w),m.push(v)}let g={src:Z.AI,content:{role:Vt("ai"),parts:h}},b={src:Z.FUNCTION,content:{role:Vt(Z.FUNCTION),parts:m}};return[g,b]}else return[{src:s,content:{role:Vt(s),parts:[{text:e.data.text}]}}]}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async promptOneOff(e){let t=`${this.lc}[${this.promptOneOff.name}]`;try{F&&console.log(`${t} starting... (I: genuuid)`);let{text:i,systemInstructions:o}=e;if(!i)throw new Error("(UNEXPECTED) opts.text falsy? (E: genuuid)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: genuuid)");let{api:s,model:a}=this.data;if(s!=="gemini")throw new Error(`api not supported: ${s} (E: genuuid)`);F&&console.log(`${t} calling gemini api with model: ${a} (I: genuuid)`);let c=await this.fnGetAPIKey();if(!c){console.error(`${t} apiKey falsy. did you set this.fnGetAPIKey (E: genuuid)`);return}this._genAI??=new Bt({apiKey:c});let d=p(async b=>{if(!this._genAI)throw new Error("(UNEXPECTED) this._genAI falsy? (E: fbe235713d48f0d8e87cd0b88ec54825)");let E={model:b,config:{systemInstruction:o}},v=await this._genAI.chats.create(E).sendMessage({message:i});if(v.text)return v.text;throw new Error("response.text empty/falsy, potentially blocked by safety settings (E: a21a78c9471f27a42c07d1c859187825)")},"fnGoModel"),u,f=0,h=[];e.modelOverrides&&e.modelOverrides.length>0?h.push(...e.modelOverrides):h.push(a),e.modelBackupOverrides&&e.modelBackupOverrides.length>0?h.push(...e.modelBackupOverrides):h.push(gt);let m=0,g=1;do{f++,g++;let b=h[m];try{u=await d(b);break}catch(E){if(E instanceof Error){let w=E.message,v=E.status??"[STATUS?]";if(w.includes(`${503}`))if(m===h.length-1)console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${503}. we are already using the final backup model in our modelsToTry, so SOL here. will try again... error (${v}): ${y(E)} (E: 9bb63cb520b8bd3bb85d2ca20715c825)`);else{m++;let I=h[m];console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${503}. will try using the next model (${I}) for this next call. error (${v}): ${y(E)} (E: b07a041bb97ea95b03cd6f9856f01525)`)}else if(w.includes(`${429}`))if(m===h.length-1)console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${429}. we are already using the final backup model, so SOL here. will try again... error (${v}): ${y(E)} (E: d280c441aa37579bb2cfd29038202525)`);else{m++;let I=h[m];console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${429}. will try using the next model (${I}) for this next call. error (${v}): ${y(E)} (E: a9869883fc72bf156f1691183e27ee25)`)}else console.error(`${t}[fnGoModel][${b}] error trying to get result from model. error (${v}): ${y(E)} (E: a67d595c8ed313d458369d4d0b3e7f25)`)}else console.error(`${t}[fnGoModel][${b}] (UNEXPECTED) error is not instanceof Error? The expected error from the @google/genai lib is supposed to be an instance of Error according to Gemini migration AI. (E: 15df95701e78b35f783d250801092825)`)}f>1&&await O(g*1e3)}while(!u&&f<Mi);return u}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async getFunctionInfoIbGibs({fcrCommentIbGib:e}){let t=`[${this.getFunctionInfoIbGibs.name}]`;try{F&&console.log(`${t} starting... (I: 976a684b7ae58cda523b17fc0c62e325)`);let i=[];if(!e)throw new Error(`${t} fcrCommentIbGib is falsy. (E: a01c80f415ab8737a81b7b2a2f479f25)`);if(!e.data)throw new Error(`${t} fcrCommentIbGib.data is falsy. (E: a03bc3662a8d6f69c1c077605727a025)`);let o=this._metaspace;if(!o)throw new Error("(UNEXPECTED) this.metaspace falsy. (E: 997d071847c5d7e80692f48191244e25)");let s=await this.getSuperSpace();if(!s)throw new Error("(UNEXPECTED) superSpace falsy? (E: dd1600f15e1e659c01f73991656a3325)");let a=e.rel8ns?.[Zn]??[];if(a.length===0)return F&&console.warn(`${t} no functionInfoAddrs (I: 5f8965e92c305689c11677a1148b7425)`),[];F&&console.log(`${t} functionInfoAddrs: ${a} (I: e7b1f5a4576c493326b913e48a505e25)`);let c=await o.get({addrs:a,space:s});if(!c.success||!c.ibGibs||c.ibGibs.length!==a.length)throw new Error(`${t} could not retrieve function info ibgibs. errorMsg: ${c.errorMsg??"unknown error (E: 164246a6661d49f2b21d1b6769139625)"} (E: 0736d824876e420f91c089925191d425)`);return i=c.ibGibs,F&&console.log(`${t} resFunctionInfoIbGibs: ${L(i.map(d=>S({ibGib:d})))} (I: a5661b5c449608f0e8d773135a599a25)`),i}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async loadIbGibDto(e){let t=`[${this.loadIbGibDto.name}]`;try{if(F&&console.log(`${t} starting... (I: cb0b1e9e22fce321ca9a26e7a5d4c825)`),await super.loadIbGibDto(e),!this.data)throw new Error("(UNEXPECTED) this.data falsy after load dto? (E: 77aecd066b0bbbd0c66e2658519bdb25)");let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: e5762b1e3f77f84ca338641edc011225)");let o=await this.getSuperSpace(),s=p(async()=>{this.availableFunctions=new Map;for(let d of this.data.availableFunctionNameOrIds){if(!d)throw new Error("(UNEXPECTED) nameOrId falsy, driven by this.data.availableFunctionNameOrIds? somehow a falsy nameOrId saved? (E: 7b63f177624de2415e1569e96ef8d125)");let u=st().get(d);u?this.availableFunctions.set(d,u):Oo().includes(d)?F&&console.log(`${t} function nameOrId (${d}) found as deprecated. not adding to available functions on agent. (I: 983864ad5cd8af915fb135580e455425)`):console.error(`no function info in getAllFunctionInfos() found corresponding to nameOrId (${d}) and this was not found in getDeprecatedFunctionInfoNames(). this is logged here but we're not throwing. (E: db0da9880cf1e414c3f1078d3e9f0b25)`)}let a=this.rel8ns?.system??[];if(a.length>0){let d=await i.get({addrs:a,space:o});if(!d.success||d.errorMsg)throw new Error(`couldn't get system comments. error: ${y(d.errorMsg??"unknown error (E: c0b4d7aab724bcf58e88ffd496de8825)")} (E: 7925d4b5ec3a8f7a648c109941c38a25)`);if((d.ibGibs??[]).length!==a.length)throw new Error("(UNEXPECTED) (resGet_systemComments.ibGibs ?? []).length !== rel8dAddrs_system.length, but resGet.success truthy and resGet.errorMsg falsy? (E: 2055553b602e6c2fe49e956a1e423f25)");this.commentIbGibs_system=d.ibGibs}let c=this.rel8ns?.chat??[];if(c.length>0){let d=await i.get({addrs:c,space:o});if(!d.success||d.errorMsg)throw new Error(`couldn't get chat comments. error: ${y(d.errorMsg??"unknown error (E: c0b4d7aab724bcf58e88ffd496de8825)")} (E: 7925d4b5ec3a8f7a648c109941c38a25)`);if((d.ibGibs??[]).length!==c.length)throw new Error("(UNEXPECTED) (resGet_chatComments.ibGibs ?? []).length !== rel8dAddrs_chat.length, but resGet.success truthy and resGet.errorMsg falsy? (E: 2055553b602e6c2fe49e956a1e423f25)");this.commentIbGibs_chat=d.ibGibs}},"fn");await Yt({scope:"prune",secondsValid:60,maxDelayMs:100,maxLockAttempts:1800,space:o,callerInstanceId:We(),fn:s})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}};setTimeout(()=>{Ge().registerFactory({classname:He.name,fnDtoToAgentWitness:p(async e=>e.data?e.data.classname?e.data.classname===He.name?{applies:!0,agent:await Yo({agentIbGib:e})}:{applies:!1}:{applies:!1}:{applies:!1},"fnDtoToAgentWitness")})});function wl({currentContextTjpAddr:n}){let e=`[${wl.name}]`;try{F&&console.log(`${e} starting... (I: 7edafbba277d57eae51af325cf7eb225)`);let t=W({ibGibAddr:n});return`Your current context ibGibAddr is ${n}
681
- It is very important that you use THIS context address. THIS context address takes precedence over previous contexts in your system chat history, because those chats may be from previous sessions per the user's POV. If there are any doubts, like if you're saying something and the user is not responding, then this may be the reason. You should call the function to get your context to be sure you are talking in the right one.`}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}p(wl,"getTextPartForCurrentContextTjpAddr");var Oe=J,oi=class n{static{p(this,"CreateConcreteAgentWitnessFactory_Gemini")}lc=`[${n.name}]`;arg;constructor(e){this.arg=e}async createInitialData(e){let t=`${this.lc}[${this.createInitialData.name}]`;try{Oe&&console.log(`${t} starting... (I: f4c8ac488804666077cfc2237972d625)`);let{name:i,api:o,model:s,type:a,availableFunctions:c}=this.arg;if(!s)throw new Error("(UNEXPECTED) model falsy? (E: ee7286c772a37fa86236c85f96233625)");if(!e.data)throw new Error("(UNEXPECTED) superSpace.data falsy? (E: 858d5950b9ef7a0175482a51caaf9c25)");if(!e.data.uuid)throw new Error("(UNEXPECTED) superSpace.data.uuid falsy? (E: 08867535db1b254d73c050bd5086e525)");let d=oe(dr);return i&&(d.name=i),d.uuid=await lt(),d.superSpaceId=e.data.uuid,d.api=o,d.model=s,d.type=a,d.availableFunctionNameOrIds=c.map(u=>u.nameOrId),d.classname=He.name,d}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{Oe&&console.log(`${t} complete.`)}}async createInitialRel8ns(){let e=`${this.lc}[${this.createInitialRel8ns.name}]`;try{return Oe&&console.log(`${e} starting... (I: 2d4933ea3761bd7df701d8d306fb2825)`),ki?oe(ki):void 0}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Oe&&console.log(`${e} complete.`)}}async createWitness(){let e=`[${this.createWitness.name}]`;try{Oe&&console.log(`${e} starting... (I: 36709dfa0c398d63d64c4f6ba9055625)`);let{api:t,model:i}=this.arg;if(t==="gemini"){let o=new He;return await o.initialized,o}else throw new Error(`(UNEXPECTED) unknown api: ${t}? only 'gemini' currently implemented (E: 2d1cb22ce787c6c42d4532c260320125)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Oe&&console.log(`${e} complete.`)}}};async function Yo({agentIbGib:n}){let e=`[${Yo.name}]`;try{Oe&&console.log(`${e} starting... (I: 5a4efefba9e4bdfb942afbe7919fff25)`);let t=new He;return await t.initialized,await t.loadIbGibDto(n),t.fnGetAPIKey=async()=>await ut({dbName:en(),storeName:await jt(),key:await Ds()})??"",t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Oe&&console.log(`${e} complete.`)}}p(Yo,"agentIbGibDtoToWitness");var ee=J;async function Ni({metaspace:n,space:e,createIfNone:t}){let i=`[${Ni.name}]`;try{if(ee&&console.log(`${i} starting... (I: ad1594767abce66ca80fea8c8d89f325)`),e??=await n.getLocalUserSpace({lock:!1}),!e)throw new Error("(UNEXPECTED) space falsy after getting local user space? (E: bc68d97d46dcf1d15dd74edba200b725)");let o=await Rs({metaspace:n,space:e});if(!o.rel8ns)throw new Error("(UNEXPECTED) tagsIbGib.rel8ns falsy? (E: dc50e8d218fe5e30bbaec7f37d484525)");let a=(o.rel8ns[ys]??[]).filter(u=>{let{ib:f}=H({ibGibAddr:u});return f===As}),c,d;if(a.length===0){if(t){ee&&console.log(`${i} creating new agents tag... (I: 47f4f4fa89f1a1bba960e0a6ff5f5225)`);let{newTagIbGib:u}=await n.createTagIbGib({text:Cs,icon:_s,description:Ss,space:e});return d=u,ee&&console.log(`${i} creating new agents tag complete. (I: 5f41d644f2b692348377f918057cf225)`),u}}else a.length===1?(c=a.at(0),ee&&console.log(`${i} exactly one agent tag addr found (${c}) in space (${e.ib}) (I: 7ef995963313c966216097760d0cdb25)`)):(c=a.at(0),console.error(`${i} more than one agent tag found in space (${e.ib})? Well, we're returning just the first one (${c}), but really we've not coded for this edge/future case. (E: 52a4e2e49d3c0d644df483119b46f125)`));if(c){let u=await n.get({addrs:[c],space:e});if(u.success&&u.ibGibs?.length===1)return d=u.ibGibs.at(0),d;throw new Error(`couldn't get agentTagAddr (${c}) in space (${e.ib}) (E: 53d9cdb7b769014a2de15871484cc325)`)}else throw new Error(`agentTagAddr not found, so there ain't no agents tag, and createIfNone was ${t}. (E: 54cb3164a118105f187e936613ff4625)`)}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ee&&console.log(`${i} complete.`)}}p(Ni,"getTag_Agents");async function dn({metaspace:n,type:e,spaceId:t,space:i}){let o=`[${dn.name}]`;try{if(ee&&console.log(`${o} starting... (I: 41037d1926051c4b051769069f518f25)`),i??=await n.getLocalUserSpace({localSpaceId:t,lock:!1}),!i)throw new Error(`couldn't get local user space by id (${t}) (E: fe96076e79fb227c0ae2de077eb5e225)`);if(!await n.getSpecialIbGib({type:e,initialize:!0,dontWarnIfNotExist:!0,lock:!1,space:i}))throw new Error("(UNEXPECTED) couldn't initialize/get agents special ibgib? (E: 1abe0e2543711744adbdb7026b242e25)");let a=await n.getSpecialRel8dIbGibs({rel8nName:tt,type:e,space:i})??[],c=[];for(let d of a){if(d.data?.api!=="gemini")throw new Error("(UNEXPECTED) agentIbGib.data.api !== gemini? only gemini is implemented right now. (E: 7348fe8c68565bcf88a4052458f42d25)");let u=Ge(),f=await u.getLatestAgent({id:d.data.uuid});if(!f){if(f=await u.getAgentWitnessFromDto({dto:d}),!f){debugger;throw new Error(`(UNEXPECTED) couldn't get actual agent witness from agent dto? have we registered classname (${d.data?.classname}) and factory fn with agents service? (E: bcbfdf6446793ac34d6f6118e050d325)`)}await u.updateOrSetLatestAgent({agent:f,throwIfNewerFound:!1})}c.push(f)}return c}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{ee&&console.log(`${o} complete.`)}}p(dn,"getAgents");async function Wo({metaspace:n,type:e,space:t,newAgentIbGib:i}){await p(async()=>{let s=`[${Wo.name}]`;try{if(ee&&console.log(`${s} starting... (I: bf6ff6bf4132eaa943eaa3af1ee17225)`),!i.data)throw new Error("(UNEXPECTED) newAgentIbGib.data falsy? (E: 26e03d0a8e286ac3a13b678a50c87a25)");if(!i.data.uuid)throw new Error("(UNEXPECTED) newAgentIbGib.data.uuid falsy? (E: 31b753e01275272484ea93e3dfe53225)");let c=await Ge().getLatestAgent({id:i.data.uuid});if(c&&c.data.n>i.data.n){debugger;throw new Error(`latestInMemory.data!.n! > newAgentIbGib.data.n! ... in plain english, this means that there is a more recent (higher n) agent with the given agent's id (${i.data.uuid}) already in existence, but the caller is trying to update the special ibgib index with the older agent. (E: 5c0c028075736f22072c55e20a0c7e25)`)}let d=S({ibGib:i});await fe({type:i.data.type,rel8nInfos:[{rel8nName:tt,ibGibs:[K({ibGib:i})]}],metaspace:n,space:t})}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{ee&&console.log(`${s} complete.`)}},"fn")()}p(Wo,"updateAgentIndex");async function Xo({ibGib:n,metaspace:e,space:t}){let i=`[${Xo.name}]`;try{if(ee&&console.log(`${i} starting...`),!n)throw new Error("ibGib required (E: 753a0aa13e4e5ea20d7f6bb92d963625)");let o=await Xt({ibGib:n,metaspace:e,space:t,scope:"agent",skipGetLatest:!1});if(!o){console.warn(`${i} couldn't find agent for domain ibGib (${n.ib}) (W: 9536a8e67fe83ddc819c476f5a50c825)`);return}let s=Y({ibGib:n,defaultIfNone:"incomingAddr"}),a=S({ibGib:o}),d=await Ge().getAgentByAddr({agentAddr:a,metaspace:e,spaceId:t.data.uuid});return ee&&console.log(d?`${i} complete. Found agent ${S({ibGib:d})} for domain ${s}`:`${i} complete. No agent found for ibgib tjp ${s}`),d}catch(o){throw console.error(`${i} ${y(o)}`),o}}p(Xo,"getAgentForDomainIbGib");function $i(n){let e=`[${$i.name}]`;try{ee&&console.log(`${e} starting... (I: 2a9899514ac6e478eb55819a57fd9725)`);let{api:t}=n;switch(t){case"gemini":return new oi(n);default:throw new Error(`(UNEXPECTED) api: ${t}? only 'gemini' currently implemented? (E: 071fedab181fda80666858c14ea73625)`)}}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ee&&console.log(`${e} complete.`)}}p($i,"getConcreteAgentFactory");function mt({tagText:n,contentText:e,randomIdLength:t}){let i=`[${mt.name}]`;try{ee&&console.log(`${i} starting... (I: 94104ec059c89d4ba458d96580791d25)`);let o=t?`${n}|${ct({count:t})}`:n;return[`[${o} begin]`,e,`[${o} end]`].join(`
682
- `)}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ee&&console.log(`${i} complete.`)}}p(mt,"taggifyForPrompt");function St({textSrc:n,other:e}){let t=`[${St.name}]`;return e?[n,We(),e].join("_"):[n,We()].join("_")}p(St,"getAddlMetadataTextForAgentText");function Ht({addlMetadataText:n,ifError:e="warn"}){let t=`[${St.name}]`;try{ee&&console.log(`${t} starting... (I: 89b8b19a8d785b945fe0f816df762d25)`);let[i,o,...s]=n.split("_");if(!i)throw new Error("addlMetadataText.textSrc falsy (E: 40bbec4269c1688ab1390fa5d5440325)");if(!sr(i))throw new Error(`addlMetadataText.textSrc (${i}) is unexpected value. Expected one of ${Si} (E: 02bae41275a39210e5737548747bd825)`);if(!o)throw new Error("addlMetadataText.timestampInTicks falsy (E: 03cbbc7515a1cff1fc7c12e3947c6825)");let a=Number.parseInt(o);if(Number.isNaN(a))throw new Error(`invalid timestampInTicks (${o}): value should be an integer but parse is NaN (E: 9d31e3563d972c02553ce18a19a19b25)`);return{textSrc:i,timestampInTicks:a,other:s.length>0?s:void 0}}catch(i){let o=`${t} ${y(i)}`;switch(e){case"ignore":return{textSrc:Z.UNKNOWN,timestampInTicks:0,errorMsg:y(i)};case"warn":return console.warn(`${t} ${o} (W: 3e1f4a98ad6461c9bd96462841c31b25)`),{textSrc:Z.UNKNOWN,timestampInTicks:0,errorMsg:y(i)};default:throw console.error(`${t} ${o} (E: 6396ed44947c52adf85788e1adc22825)`),new Error(o)}}finally{ee&&console.log(`${t} complete.`)}}p(Ht,"parseAddlMetadataTextForAgentText");function Ri({data:n}){let e=`[${Ri.name}]`,{name:t,uuid:i,type:o}=n;if(!t)throw new Error(`${e} data.name falsy (E: 4c172c5b8a110ae26479b8c4006f3225)`);if(!i)throw new Error(`${e} data.uuid falsy (E: 67d2c79ac39e70e5ecfd1745e1fd3525)`);if(!o)throw new Error(`${e} data.type falsy (E: 53bf1f9a145a16be81296437682a7a25)`);if([t,i,o].some(a=>a.includes(" ")))throw new Error("invalid data. ib must not contain spaces in name, uuid, type. (E: 36a56e4685163848458be06f51d4ad25)");return[pt,t,i,o].join(" ")}p(Ri,"getAgentIb");function lr({ib:n}){let[e,t,i,o]=n.split(" ");if(e!==pt)throw new Error(`invalid ib. first term expected to e an atom: ${pt} (E: 3c01d42035d2e32c4bfd5c1bf363f725)`);if(!t)throw new Error("invalid ib. name falsy in agent ib (E: 8b494c544f05b8ef9c866078b761a725)");if(!i)throw new Error("invalid ib. uuid falsy in agent ib (E: aba195db3ddcb000324ebed15351b725)");if(!o)throw new Error("invalid ib. type falsy in agent ib (E: 8c814772394ae76342f95e885570c325)");return{atom:e,name:t,uuid:i,type:o}}p(lr,"parseAgentIb");async function ii({ibGib:n}){let e=`[${ii.name}]`;try{ee&&console.log(`${e} starting... (I: f9a733a5a05b7f7494836d86a79e2d25)`);let t=await dt({ibGib:n})??[];if(!et({ibGib:n}))return t.push(`${e} not a comment ibgib (E: 08676d94c698c6e42e6c35e94a58f125)`),t;let{safeIbCommentMetadataText:i}=Ze({ib:n.ib});if(i){let o=Ht({addlMetadataText:i,ifError:"warn"});o.errorMsg&&t.push(`${e} could not parse addlMetadataText: ${o.errorMsg} (E: e178265c33e5e94947a02c1f9d6a7425)`)}else t.push(`${e} addlMetadataText falsy. this implies something is incorrect with the comment's ib, as we expect agent comments to have certain metadata (e.g. textSrc). See AgentWitness_V1 (and data interface) for more info. (E: 7c3c41c973a67256c432604666106b25)`);return t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ee&&console.log(`${e} complete.`)}}p(ii,"validateAgentWitnessCommentIbGib");var si="settings",Jm="general",Wm="text-editor",Ym="projects",Xm="projects-explorer",Qm="projects-dropdown",Zm="project",jm="minigame",eg="chronologys",tg="identity-manager",ie={general:Jm,textEditor:Wm,projects:Ym,projectsExplorer:Xm,projectsDropdown:Qm,project:Zm,minigame:jm,chronologys:eg,identityManager:tg},ng=Object.values(ie);var Qo={type:ie.general,editor:void 0,readonly:!0,viewer:"ibgib-raw-viewer"},Zo={type:ie.textEditor,wrap:"wrap"},ig={type:ie.project,openChildTjpAddrs:[],activeChildTjpAddr:void 0,lensMode:"raw"},og={type:ie.minigame},sg={type:ie.chronologys,openChildTjpAddrs:[],activeChildTjpAddr:void 0},rg={type:ie.identityManager,openChildTjpAddrs:[],activeChildTjpAddr:void 0},vl={sections:{},children:{}};var ze=J;async function jo({ibGib:n}){let e=`[${jo.name}]`;try{ze&&console.log(`${e} starting... (I: 57ac4c0a3448bc5e98ecf5bfb02ce825)`);let{ib:t}=H({ibGib:n}),i=t.split(" ").at(0);if(!i)throw new Error("(UNEXPECTED) atom falsy? we split the ib by spaces (space-delimiter). this makes no sense. (E: 6a9ea640ae38823aeefc6ec82a05d625)");return`${si}_${i}`}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ze&&console.log(`${e} complete.`)}}p(jo,"getSettingsScope");async function we({settingsType:n,useCase:e}){let t=`[${we.name}]`;try{if(ze&&console.log(`${t} starting... (I: f13dff111048421cad5453f821487825)`),e.includes("_"))throw new Error("(UNEXPECTED) settingsType.includes('_')? should be kebab-cased or camelCased (E: 8f75e89b9378819ab882cc1870f1e825)");if(n.includes("_"))throw new Error("(UNEXPECTED) settingsType.includes('_')? should be kebab-cased or camelCased (E: 1d316b0808287c12689d1e882648b825)");return[n,e].join("_")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ze&&console.log(`${t} complete.`)}}p(we,"getSectionName");async function ri({sectionName:n,settingsIbGib:e}){let t=`[${ri.name}]`;try{if(ze&&console.log(`${t} starting... (I: 266554b13f6ce6daa85c882f04805825)`),!e.data)throw new Error("(UNEXPECTED) settingsIbGib.data falsy? (E: dd3708f0515fb0b4d4024f4d336a3625)");if(!e.data.sections)throw new Error("(UNEXPECTED) settingsIbGib.data.sections falsy? what was the settingsIbGib even created for? (E: 31f85898a1c854e13440e278a79ceb25)");return(e.data.sections??{})[n]}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{ze&&console.log(`${t} complete.`)}}p(ri,"getSettingsSection");function Il({scope:n}){let e=`[${Il.name}]`;try{return n.includes(" ")&&(console.warn(`${e} scope includes one or more spaces. These will be converted to double underscores. (W: 75a53c623d3110b5e874e5789b414325)`),n=n.replace(/ /g,"__")),`${si} ${n}`}catch(t){throw console.error(`${e} ${y(t)}`),t}}p(Il,"getSettingsIb");async function es({scope:n,metaspace:e,space:t,saveInSpace:i}){let o=`[${es.name}]`;try{let s=Il({scope:n}),a=await Tl(),d=await se.firstGen({parentIbGib:se.primitive({ib:si}),ib:s,data:a,rel8ns:void 0,dna:!0,nCounter:!0,tjp:{timestamp:!0,uuid:!0}});if(i){if(!e)throw new Error("metaspace falsy but saveInSpace is true (E: f91adfe38d78e6e4f8bca278fce37925)");await e.persistTransformResult({resTransform:d,space:t}),await e.registerNewIbGib({ibGib:d.newIbGib,space:t})}return d}catch(s){throw console.error(`${o} ${y(s)}`),s}}p(es,"createSettings");async function Tl(){let n=`[${Tl.name}]`;try{ze&&console.log(`${n} starting... (I: 3d7cc3f242cc88ad28dafaf85d646a25)`);let e=oe(vl),t=await we({settingsType:"general",useCase:"default"}),i=await we({settingsType:"general",useCase:"current"});e.sections[t]=oe(Qo),e.sections[i]=oe(Qo);let o=await we({settingsType:"text-editor",useCase:"default"}),s=await we({settingsType:"text-editor",useCase:"current"});return e.sections[o]=oe(Zo),e.sections[s]=oe(Zo),e}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{ze&&console.log(`${n} complete.`)}}p(Tl,"getDefaultSettingsData");var R=J,ce=class n{static{p(this,"IbGibDynamicComponentMetaBase")}lc=`[${n.name}]`;componentName="";routeRegExp=void 0;fnHandleRoute=void 0;fnGetMetaspace;bootstrapPromise;constructor({fnGetMetaspace:e,bootstrapPromise:t}){this.fnGetMetaspace=e,this.bootstrapPromise=t}},Ke=class n extends HTMLElement{static{p(this,"IbGibDynamicComponentInstanceBase")}lc=`[${n.name}]`;elements;createdPromise;settings;get agent(){return this.agents.at(0)}agents=[];get ib(){let{ib:e}=H({ibGibAddr:this.ibGibAddr??Q});return e}get gib(){let{gib:e}=H({ibGibAddr:this.ibGibAddr??Q});return e}ibGibAddr=Q;ibGibProxy;get ibGib(){let e=this.ibGibAddr??Q,{ib:t,gib:i}=H({ibGibAddr:e});return this.ibGibAddr&&!Nt({gib:i})?this.ibGibProxy?.ibGib:se.primitive({ib:t})}get tjpAddr(){return this.ibGib?Y({ibGib:this.ibGib,defaultIfNone:"incomingAddr"}):void 0}meta;html;css;static get observedAttributes(){return["ibGibAddr"]}_instanceId;get instanceId(){return this._instanceId}agentsInitialized;connectedCount=0;_isBusy=!1;get isBusy(){return this._isBusy}showBusy({isBusy:e,title:t,msg:i,localOnly:o,animationEmoji:s}){let a=`${this.lc}[${this.showBusy.name}]`;try{this._isBusy=e,o?this.dispatchEvent(new CustomEvent($t,{detail:{isBusy:e,title:t,msg:i,animationEmoji:s},bubbles:!0,composed:!0})):window.dispatchEvent(new CustomEvent($t,{detail:{isBusy:e,title:t,msg:i,animationEmoji:s}}))}catch(c){throw console.error(`${a} ${y(c)}`),c}}async getMetaspace(){let e=`${this.lc}[${this.getMetaspace.name}]`;try{if(R&&console.log(`${e} starting... (I: 956418cf932823bc767ccc6a0fd2b325)`),!this.meta)throw new Error("(UNEXPECTED) this.meta falsy? (E: dd2bfae6c0e84b1d58c72e2922b51325)");return await this.meta.fnGetMetaspace()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}constructor(){super(),this._instanceId=ct({count:8})}async initialize(e){let{ibGibAddr:t,meta:i,html:o,css:s}=e,a=`${this.lc}[${this.initialize.name}]`;try{R&&console.log(`${a} starting... (I: c9b94131bc2f0d20e1397c214dad6725)`),this.ibGibAddr=t,this.meta=i,this.html=o,this.css=s,this.attachShadow({mode:"open"}),await this.meta.bootstrapPromise}catch(c){throw console.error(`${a} ${y(c)}`),c}finally{R&&console.log(`${a} complete.`)}}async initAgents(){let e=`${this.lc}[${this.initAgents.name}]`;R&&console.log(`${e} does nothing in base class (I: 0b31a650b942619a0e36a1a7f763e825)`)}async connectedCallback(){let e=`${this.lc}[${this.connectedCallback.name}]`;try{R&&console.log(`${e} starting... (I: 01bbbf69f1c75b03a29e7a85ebd2c725)`),this.connectedCount++,this.connectedCount===1?await this.connectedCallback_initComponent():await this.connectedCallback_reconnectComponent()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async connectedCallback_initComponent(){let e=`${this.lc}[${this.connectedCallback_initComponent.name}]`;try{if(R&&console.log(`${e} starting... (I: bc4af3f6751d841f51bad19e334efa25)`),!this.html)throw new Error("(UNEXPECTED) this.html is falsy? (E: a0a0ab7c8f987d78058dd7cad09a5125)");let t=document.createElement("template");if(t.innerHTML=this.css?`
674
+ ${h}`)}return a},"path"),"createPathTagFunction"),yn=rm(ml);var Xn=class extends Yn{static{p(this,"BaseInteractions")}create(e,t){var i;let{api_version:o=this._client.apiVersion}=e,s=Un(e,["api_version"]);if("model"in s&&"agent_config"in s)throw new me("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in s&&"generation_config"in s)throw new me("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");return this._client.post(yn`/${o}/interactions`,Object.assign(Object.assign({body:s},t),{stream:(i=e.stream)!==null&&i!==void 0?i:!1}))}delete(e,t={},i){let{api_version:o=this._client.apiVersion}=t??{};return this._client.delete(yn`/${o}/interactions/${e}`,i)}cancel(e,t={},i){let{api_version:o=this._client.apiVersion}=t??{};return this._client.post(yn`/${o}/interactions/${e}/cancel`,i)}get(e,t={},i){var o;let s=t??{},{api_version:a=this._client.apiVersion}=s,c=Un(s,["api_version"]);return this._client.get(yn`/${a}/interactions/${e}`,Object.assign(Object.assign({query:c},i),{stream:(o=t?.stream)!==null&&o!==void 0?o:!1}))}};Xn._key=Object.freeze(["interactions"]);var Qn=class extends Xn{static{p(this,"Interactions")}};function am(n){let e=0;for(let o of n)e+=o.length;let t=new Uint8Array(e),i=0;for(let o of n)t.set(o,i),i+=o.length;return t}p(am,"concatBytes");var En;function Wo(n){let e;return(En??(e=new globalThis.TextEncoder,En=e.encode.bind(e)))(n)}p(Wo,"encodeUTF8");var wn;function Ra(n){let e;return(wn??(e=new globalThis.TextDecoder,wn=e.decode.bind(e)))(n)}p(Ra,"decodeUTF8");var Ct=class{static{p(this,"LineDecoder")}constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Wo(e):e;this.buffer=am([this.buffer,t]);let i=[],o;for(;(o=lm(this.buffer,this.carriageReturnIndex))!=null;){if(o.carriage&&this.carriageReturnIndex==null){this.carriageReturnIndex=o.index;continue}if(this.carriageReturnIndex!=null&&(o.index!==this.carriageReturnIndex+1||o.carriage)){i.push(Ra(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null;continue}let s=this.carriageReturnIndex!==null?o.preceding-1:o.preceding,a=Ra(this.buffer.subarray(0,s));i.push(a),this.buffer=this.buffer.subarray(o.index),this.carriageReturnIndex=null}return i}flush(){return this.buffer.length?this.decode(`
675
+ `):[]}};Ct.NEWLINE_CHARS=new Set([`
676
+ `,"\r"]);Ct.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function lm(n,e){for(let o=e??0;o<n.length;o++){if(n[o]===10)return{preceding:o,index:o+1,carriage:!1};if(n[o]===13)return{preceding:o,index:o+1,carriage:!0}}return null}p(lm,"findNewlineIndex");function cm(n){for(let i=0;i<n.length-1;i++){if(n[i]===10&&n[i+1]===10||n[i]===13&&n[i+1]===13)return i+2;if(n[i]===13&&n[i+1]===10&&i+3<n.length&&n[i+2]===13&&n[i+3]===10)return i+4}return-1}p(cm,"findDoubleNewlineIndex");var Zn={off:0,error:200,warn:300,info:400,debug:500},Ma=p((n,e,t)=>{if(n){if(qh(Zn,n))return n;ue(t).warn(`${e} was set to ${JSON.stringify(n)}, expected one of ${JSON.stringify(Object.keys(Zn))}`)}},"parseLogLevel");function Ot(){}p(Ot,"noop");function vn(n,e,t){return!e||Zn[n]>Zn[t]?Ot:e[n].bind(e)}p(vn,"makeLogFn");var dm={error:Ot,warn:Ot,info:Ot,debug:Ot},ka=new WeakMap;function ue(n){var e;let t=n.logger,i=(e=n.logLevel)!==null&&e!==void 0?e:"off";if(!t)return dm;let o=ka.get(t);if(o&&o[0]===i)return o[1];let s={error:vn("error",t,i),warn:vn("warn",t,i),info:vn("info",t,i),debug:vn("debug",t,i)};return ka.set(t,[i,s]),s}p(ue,"loggerFor");var it=p(n=>(n.options&&(n.options=Object.assign({},n.options),delete n.options.headers),n.headers&&(n.headers=Object.fromEntries((n.headers instanceof Headers?[...n.headers]:Object.entries(n.headers)).map(([e,t])=>[e,e.toLowerCase()==="x-goog-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in n&&(n.retryOfRequestLogID&&(n.retryOf=n.retryOfRequestLogID),delete n.retryOfRequestLogID),n),"formatRequestDetails");var Ro=class n{static{p(this,"Stream")}constructor(e,t,i){this.iterator=e,this.controller=t,this.client=i}static fromSSEResponse(e,t,i){let o=!1,s=i?ue(i):console;function a(){return Ae(this,arguments,p(function*(){var d,u,f,h;if(o)throw new me("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let m=!1;try{try{for(var g=!0,b=xe(um(e,t)),E;E=yield k(b.next()),d=E.done,!d;g=!0){h=E.value,g=!1;let w=h;if(!m)if(w.data.startsWith("[DONE]")){m=!0;continue}else try{yield yield k(JSON.parse(w.data))}catch(v){throw s.error("Could not parse message into JSON:",w.data),s.error("From chunk:",w.raw),v}}}catch(w){u={error:w}}finally{try{!g&&!d&&(f=b.return)&&(yield k(f.call(b)))}finally{if(u)throw u.error}}m=!0}catch(w){if(Po(w))return yield k(void 0);throw w}finally{m||t.abort()}},"iterator_1"))}return p(a,"iterator"),new n(a,t,i)}static fromReadableStream(e,t,i){let o=!1;function s(){return Ae(this,arguments,p(function*(){var d,u,f,h;let m=new Ct,g=fl(e);try{for(var b=!0,E=xe(g),w;w=yield k(E.next()),d=w.done,!d;b=!0){h=w.value,b=!1;let v=h;for(let I of m.decode(v))yield yield k(I)}}catch(v){u={error:v}}finally{try{!b&&!d&&(f=E.return)&&(yield k(f.call(E)))}finally{if(u)throw u.error}}for(let v of m.flush())yield yield k(v)},"iterLines_1"))}p(s,"iterLines");function a(){return Ae(this,arguments,p(function*(){var d,u,f,h;if(o)throw new me("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let m=!1;try{try{for(var g=!0,b=xe(s()),E;E=yield k(b.next()),d=E.done,!d;g=!0){h=E.value,g=!1;let w=h;m||w&&(yield yield k(JSON.parse(w)))}}catch(w){u={error:w}}finally{try{!g&&!d&&(f=b.return)&&(yield k(f.call(b)))}finally{if(u)throw u.error}}m=!0}catch(w){if(Po(w))return yield k(void 0);throw w}finally{m||t.abort()}},"iterator_2"))}return p(a,"iterator"),new n(a,t,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],t=[],i=this.iterator(),o=p(s=>({next:p(()=>{if(s.length===0){let a=i.next();e.push(a),t.push(a)}return s.shift()},"next")}),"teeIterator");return[new n(()=>o(e),this.controller,this.client),new n(()=>o(t),this.controller,this.client)]}toReadableStream(){let e=this,t;return ul({async start(){t=e[Symbol.asyncIterator]()},async pull(i){try{let{value:o,done:s}=await t.next();if(s)return i.close();let a=Wo(JSON.stringify(o)+`
677
+ `);i.enqueue(a)}catch(o){i.error(o)}},async cancel(){var i;await((i=t.return)===null||i===void 0?void 0:i.call(t))}})}};function um(n,e){return Ae(this,arguments,p(function*(){var i,o,s,a;if(!n.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new me("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new me("Attempted to iterate over a response with no body");let c=new Mo,d=new Ct,u=fl(n.body);try{for(var f=!0,h=xe(fm(u)),m;m=yield k(h.next()),i=m.done,!i;f=!0){a=m.value,f=!1;let g=a;for(let b of d.decode(g)){let E=c.decode(b);E&&(yield yield k(E))}}}catch(g){o={error:g}}finally{try{!f&&!i&&(s=h.return)&&(yield k(s.call(h)))}finally{if(o)throw o.error}}for(let g of d.flush()){let b=c.decode(g);b&&(yield yield k(b))}},"_iterSSEMessages_1"))}p(um,"_iterSSEMessages");function fm(n){return Ae(this,arguments,p(function*(){var t,i,o,s;let a=new Uint8Array;try{for(var c=!0,d=xe(n),u;u=yield k(d.next()),t=u.done,!t;c=!0){s=u.value,c=!1;let f=s;if(f==null)continue;let h=f instanceof ArrayBuffer?new Uint8Array(f):typeof f=="string"?Wo(f):f,m=new Uint8Array(a.length+h.length);m.set(a),m.set(h,a.length),a=m;let g;for(;(g=cm(a))!==-1;)yield yield k(a.slice(0,g)),a=a.slice(g)}}catch(f){i={error:f}}finally{try{!c&&!t&&(o=d.return)&&(yield k(o.call(d)))}finally{if(i)throw i.error}}a.length>0&&(yield yield k(a))},"iterSSEChunks_1"))}p(fm,"iterSSEChunks");var Mo=class{static{p(this,"SSEDecoder")}constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let s={event:this.event,data:this.data.join(`
678
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],s}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,i,o]=pm(e,":");return o.startsWith(" ")&&(o=o.substring(1)),t==="event"?this.event=o:t==="data"&&this.data.push(o),null}};function pm(n,e){let t=n.indexOf(e);return t!==-1?[n.substring(0,t),e,n.substring(t+e.length)]:[n,"",""]}p(pm,"partition");async function hm(n,e){let{response:t,requestLogID:i,retryOfRequestLogID:o,startTime:s}=e,a=await(async()=>{var c;if(e.options.stream)return ue(n).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller,n):Ro.fromSSEResponse(t,e.controller,n);if(t.status===204)return null;if(e.options.__binaryResponse)return t;let d=t.headers.get("content-type"),u=(c=d?.split(";")[0])===null||c===void 0?void 0:c.trim();return u?.includes("application/json")||u?.endsWith("+json")?await t.json():await t.text()})();return ue(n).debug(`[${i}] response parsed`,it({retryOfRequestLogID:o,url:t.url,status:t.status,body:a,durationMs:Date.now()-s})),a}p(hm,"defaultParseResponse");var ko=class n extends Promise{static{p(this,"APIPromise")}constructor(e,t,i=hm){super(o=>{o(null)}),this.responsePromise=t,this.parseResponse=i,this.client=e}_thenUnwrap(e){return new n(this.client,this.responsePromise,async(t,i)=>e(await this.parseResponse(t,i),i))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(this.client,e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};var gl=Symbol("brand.privateNullableHeaders");function*mm(n){if(!n)return;if(gl in n){let{values:i,nulls:o}=n;yield*i.entries();for(let s of o)yield[s,null];return}let e=!1,t;n instanceof Headers?t=n.entries():Pa(n)?t=n:(e=!0,t=Object.entries(n??{}));for(let i of t){let o=i[0];if(typeof o!="string")throw new TypeError("expected header name to be a string");let s=Pa(i[1])?i[1]:[i[1]],a=!1;for(let c of s)c!==void 0&&(e&&!a&&(a=!0,yield[o,null]),yield[o,c])}}p(mm,"iterateHeaders");var qi=p(n=>{let e=new Headers,t=new Set;for(let i of n){let o=new Set;for(let[s,a]of mm(i)){let c=s.toLowerCase();o.has(c)||(e.delete(s),o.add(c)),a===null?(e.delete(s),t.add(c)):(e.append(s,a),t.delete(c))}}return{[gl]:!0,values:e,nulls:t}},"buildHeaders");var Oi=p(n=>{var e,t,i,o,s,a;if(typeof globalThis.process<"u")return(i=(t=(e=globalThis.process.env)===null||e===void 0?void 0:e[n])===null||t===void 0?void 0:t.trim())!==null&&i!==void 0?i:void 0;if(typeof globalThis.Deno<"u")return(a=(s=(o=globalThis.Deno.env)===null||o===void 0?void 0:o.get)===null||s===void 0?void 0:s.call(o,n))===null||a===void 0?void 0:a.trim()},"readEnv");var bl,jn=class n{static{p(this,"BaseGeminiNextGenAPIClient")}constructor(e){var t,i,o,s,a,c,d,u=e===void 0?{}:e,{baseURL:f=Oi("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:h=(t=Oi("GEMINI_API_KEY"))!==null&&t!==void 0?t:null,apiVersion:m="v1beta"}=u,g=Un(u,["baseURL","apiKey","apiVersion"]);let b=Object.assign(Object.assign({apiKey:h,apiVersion:m},g),{baseURL:f||"https://generativelanguage.googleapis.com"});this.baseURL=b.baseURL,this.timeout=(i=b.timeout)!==null&&i!==void 0?i:n.DEFAULT_TIMEOUT,this.logger=(o=b.logger)!==null&&o!==void 0?o:console;let E="warn";this.logLevel=E,this.logLevel=(a=(s=Ma(b.logLevel,"ClientOptions.logLevel",this))!==null&&s!==void 0?s:Ma(Oi("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&a!==void 0?a:E,this.fetchOptions=b.fetchOptions,this.maxRetries=(c=b.maxRetries)!==null&&c!==void 0?c:2,this.fetch=(d=b.fetch)!==null&&d!==void 0?d:Xh(),this.encoder=jh,this._options=b,this.apiKey=h,this.apiVersion=m}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:t}){if(!(this.apiKey&&e.get("x-goog-api-key"))&&!t.has("x-goog-api-key"))throw new Error('Could not resolve authentication method. Expected the apiKey to be set. Or for the "x-goog-api-key" headers to be explicitly omitted')}async authHeaders(e){if(this.apiKey!=null)return qi([{"x-goog-api-key":this.apiKey}])}stringifyQuery(e){return Object.entries(e).filter(([t,i])=>typeof i<"u").map(([t,i])=>{if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")return`${encodeURIComponent(t)}=${encodeURIComponent(i)}`;if(i===null)return`${encodeURIComponent(t)}=`;throw new me(`Cannot stringify type ${typeof i}; 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("&")}getUserAgent(){return`${this.constructor.name}/JS ${Et}`}defaultIdempotencyKey(){return`stainless-node-retry-${Dh()}`}makeStatusError(e,t,i,o){return ge.generate(e,t,i,o)}buildURL(e,t,i){let o=!this.baseURLOverridden()&&i||this.baseURL,s=Uh(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery();return Vh(a)||(t=Object.assign(Object.assign({},a),t)),typeof t=="object"&&t&&!Array.isArray(t)&&(s.search=this.stringifyQuery(t)),s.toString()}async prepareOptions(e){}async prepareRequest(e,{url:t,options:i}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,i){return this.request(Promise.resolve(i).then(o=>Object.assign({method:e,path:t},o)))}request(e,t=null){return new ko(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,i){var o,s,a;let c=await e,d=(o=c.maxRetries)!==null&&o!==void 0?o:this.maxRetries;t==null&&(t=d),await this.prepareOptions(c);let{req:u,url:f,timeout:h}=await this.buildRequest(c,{retryCount:d-t});await this.prepareRequest(u,{url:f,options:c});let m="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),g=i===void 0?"":`, retryOf: ${i}`,b=Date.now();if(ue(this).debug(`[${m}] sending request`,it({retryOfRequestLogID:i,method:c.method,url:f,options:c,headers:u.headers})),!((s=c.signal)===null||s===void 0)&&s.aborted)throw new zt;let E=new AbortController,w=await this.fetchWithTimeout(f,u,h,E).catch(No),v=Date.now();if(w instanceof globalThis.Error){let T=`retrying, ${t} attempts remaining`;if(!((a=c.signal)===null||a===void 0)&&a.aborted)throw new zt;let A=Po(w)||/timed? ?out/i.test(String(w)+("cause"in w?String(w.cause):""));if(t)return ue(this).info(`[${m}] connection ${A?"timed out":"failed"} - ${T}`),ue(this).debug(`[${m}] connection ${A?"timed out":"failed"} (${T})`,it({retryOfRequestLogID:i,url:f,durationMs:v-b,message:w.message})),this.retryRequest(c,t,i??m);throw ue(this).info(`[${m}] connection ${A?"timed out":"failed"} - error; no more retries left`),ue(this).debug(`[${m}] connection ${A?"timed out":"failed"} (error; no more retries left)`,it({retryOfRequestLogID:i,url:f,durationMs:v-b,message:w.message})),A?new Bn:new Tt({cause:w})}let I=`[${m}${g}] ${u.method} ${f} ${w.ok?"succeeded":"failed"} with status ${w.status} in ${v-b}ms`;if(!w.ok){let T=await this.shouldRetry(w);if(t&&T){let x=`retrying, ${t} attempts remaining`;return await Zh(w.body),ue(this).info(`${I} - ${x}`),ue(this).debug(`[${m}] response error (${x})`,it({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,durationMs:v-b})),this.retryRequest(c,t,i??m,w.headers)}let A=T?"error; no more retries left":"error; not retryable";ue(this).info(`${I} - ${A}`);let P=await w.text().catch(x=>No(x).message),G=Hh(P),_=G?void 0:P;throw ue(this).debug(`[${m}] response error (${A})`,it({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,message:_,durationMs:Date.now()-b})),this.makeStatusError(w.status,G,_,w.headers)}return ue(this).info(I),ue(this).debug(`[${m}] response start`,it({retryOfRequestLogID:i,url:w.url,status:w.status,headers:w.headers,durationMs:v-b})),{response:w,options:c,controller:E,requestLogID:m,retryOfRequestLogID:i,startTime:b}}async fetchWithTimeout(e,t,i,o){let s=t||{},{signal:a,method:c}=s,d=Un(s,["signal","method"]);a&&a.addEventListener("abort",()=>o.abort());let u=setTimeout(()=>o.abort(),i),f=globalThis.ReadableStream&&d.body instanceof globalThis.ReadableStream||typeof d.body=="object"&&d.body!==null&&Symbol.asyncIterator in d.body,h=Object.assign(Object.assign(Object.assign({signal:o.signal},f?{duplex:"half"}:{}),{method:"GET"}),d);c&&(h.method=c.toUpperCase());try{return await this.fetch.call(void 0,e,h)}finally{clearTimeout(u)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return t==="true"?!0:t==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,i,o){var s;let a,c=o?.get("retry-after-ms");if(c){let u=parseFloat(c);Number.isNaN(u)||(a=u)}let d=o?.get("retry-after");if(d&&!a){let u=parseFloat(d);Number.isNaN(u)?a=Date.parse(d)-Date.now():a=u*1e3}if(!(a&&0<=a&&a<60*1e3)){let u=(s=e.maxRetries)!==null&&s!==void 0?s:this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(t,u)}return await zh(a),this.makeRequest(e,t-1,i)}calculateDefaultRetryTimeoutMillis(e,t){let s=t-e,a=Math.min(.5*Math.pow(2,s),8),c=1-Math.random()*.25;return a*c*1e3}async buildRequest(e,{retryCount:t=0}={}){var i,o,s;let a=Object.assign({},e),{method:c,path:d,query:u,defaultBaseURL:f}=a,h=this.buildURL(d,u,f);"timeout"in a&&Oh("timeout",a.timeout),a.timeout=(i=a.timeout)!==null&&i!==void 0?i:this.timeout;let{bodyHeaders:m,body:g}=this.buildBody({options:a}),b=await this.buildHeaders({options:e,method:c,bodyHeaders:m,retryCount:t});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:c,headers:b},a.signal&&{signal:a.signal}),globalThis.ReadableStream&&g instanceof globalThis.ReadableStream&&{duplex:"half"}),g&&{body:g}),(o=this.fetchOptions)!==null&&o!==void 0?o:{}),(s=a.fetchOptions)!==null&&s!==void 0?s:{}),url:h,timeout:a.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:i,retryCount:o}){let s={};this.idempotencyHeader&&t!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=qi([s,Object.assign(Object.assign({Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o)},e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{}),Yh()),await this.authHeaders(e),this._options.defaultHeaders,i,e.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let i=qi([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&i.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:Qh(e)}:this.encoder({body:e,headers:i})}};jn.DEFAULT_TIMEOUT=6e4;var j=class extends jn{static{p(this,"GeminiNextGenAPIClient")}constructor(){super(...arguments),this.interactions=new Qn(this)}};bl=j;j.GeminiNextGenAPIClient=bl;j.GeminiNextGenAPIClientError=me;j.APIError=ge;j.APIConnectionError=Tt;j.APIConnectionTimeoutError=Bn;j.APIUserAbortError=zt;j.NotFoundError=Hn;j.ConflictError=zn;j.RateLimitError=Jn;j.BadRequestError=Vn;j.AuthenticationError=qn;j.InternalServerError=Wn;j.PermissionDeniedError=On;j.UnprocessableEntityError=Kn;j.toFile=om;j.Interactions=Qn;function gm(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(gm,"cancelTuningJobParametersToMldev");function bm(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(bm,"cancelTuningJobParametersToVertex");function ym(n,e){let t={},i=r(n,["sdkHttpResponse"]);return i!=null&&l(t,["sdkHttpResponse"],i),t}p(ym,"cancelTuningJobResponseFromMldev");function Em(n,e){let t={},i=r(n,["sdkHttpResponse"]);return i!=null&&l(t,["sdkHttpResponse"],i),t}p(Em,"cancelTuningJobResponseFromVertex");function wm(n,e,t){let i={};if(r(n,["validationDataset"])!==void 0)throw new Error("validationDataset parameter is not supported in Gemini API.");let o=r(n,["tunedModelDisplayName"]);if(e!==void 0&&o!=null&&l(e,["displayName"],o),r(n,["description"])!==void 0)throw new Error("description parameter is not supported in Gemini API.");let s=r(n,["epochCount"]);e!==void 0&&s!=null&&l(e,["tuningTask","hyperparameters","epochCount"],s);let a=r(n,["learningRateMultiplier"]);if(a!=null&&l(i,["tuningTask","hyperparameters","learningRateMultiplier"],a),r(n,["exportLastCheckpointOnly"])!==void 0)throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(r(n,["preTunedModelCheckpointId"])!==void 0)throw new Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(r(n,["adapterSize"])!==void 0)throw new Error("adapterSize parameter is not supported in Gemini API.");let c=r(n,["batchSize"]);e!==void 0&&c!=null&&l(e,["tuningTask","hyperparameters","batchSize"],c);let d=r(n,["learningRate"]);if(e!==void 0&&d!=null&&l(e,["tuningTask","hyperparameters","learningRate"],d),r(n,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");if(r(n,["beta"])!==void 0)throw new Error("beta parameter is not supported in Gemini API.");return i}p(wm,"createTuningJobConfigToMldev");function vm(n,e,t){let i={},o=r(t,["config","method"]);if(o===void 0&&(o="SUPERVISED_FINE_TUNING"),o==="SUPERVISED_FINE_TUNING"){let g=r(n,["validationDataset"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec"],Da(g))}else if(o==="PREFERENCE_TUNING"){let g=r(n,["validationDataset"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec"],Da(g))}let s=r(n,["tunedModelDisplayName"]);e!==void 0&&s!=null&&l(e,["tunedModelDisplayName"],s);let a=r(n,["description"]);e!==void 0&&a!=null&&l(e,["description"],a);let c=r(t,["config","method"]);if(c===void 0&&(c="SUPERVISED_FINE_TUNING"),c==="SUPERVISED_FINE_TUNING"){let g=r(n,["epochCount"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","epochCount"],g)}else if(c==="PREFERENCE_TUNING"){let g=r(n,["epochCount"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","epochCount"],g)}let d=r(t,["config","method"]);if(d===void 0&&(d="SUPERVISED_FINE_TUNING"),d==="SUPERVISED_FINE_TUNING"){let g=r(n,["learningRateMultiplier"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],g)}else if(d==="PREFERENCE_TUNING"){let g=r(n,["learningRateMultiplier"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],g)}let u=r(t,["config","method"]);if(u===void 0&&(u="SUPERVISED_FINE_TUNING"),u==="SUPERVISED_FINE_TUNING"){let g=r(n,["exportLastCheckpointOnly"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","exportLastCheckpointOnly"],g)}else if(u==="PREFERENCE_TUNING"){let g=r(n,["exportLastCheckpointOnly"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","exportLastCheckpointOnly"],g)}let f=r(t,["config","method"]);if(f===void 0&&(f="SUPERVISED_FINE_TUNING"),f==="SUPERVISED_FINE_TUNING"){let g=r(n,["adapterSize"]);e!==void 0&&g!=null&&l(e,["supervisedTuningSpec","hyperParameters","adapterSize"],g)}else if(f==="PREFERENCE_TUNING"){let g=r(n,["adapterSize"]);e!==void 0&&g!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","adapterSize"],g)}if(r(n,["batchSize"])!==void 0)throw new Error("batchSize parameter is not supported in Vertex AI.");if(r(n,["learningRate"])!==void 0)throw new Error("learningRate parameter is not supported in Vertex AI.");let h=r(n,["labels"]);e!==void 0&&h!=null&&l(e,["labels"],h);let m=r(n,["beta"]);return e!==void 0&&m!=null&&l(e,["preferenceOptimizationSpec","hyperParameters","beta"],m),i}p(vm,"createTuningJobConfigToVertex");function Im(n,e){let t={},i=r(n,["baseModel"]);i!=null&&l(t,["baseModel"],i);let o=r(n,["preTunedModel"]);o!=null&&l(t,["preTunedModel"],o);let s=r(n,["trainingDataset"]);s!=null&&Rm(s);let a=r(n,["config"]);return a!=null&&wm(a,t),t}p(Im,"createTuningJobParametersPrivateToMldev");function Tm(n,e){let t={},i=r(n,["baseModel"]);i!=null&&l(t,["baseModel"],i);let o=r(n,["preTunedModel"]);o!=null&&l(t,["preTunedModel"],o);let s=r(n,["trainingDataset"]);s!=null&&Mm(s,t,e);let a=r(n,["config"]);return a!=null&&vm(a,t,e),t}p(Tm,"createTuningJobParametersPrivateToVertex");function Cm(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(Cm,"getTuningJobParametersToMldev");function _m(n,e){let t={},i=r(n,["name"]);return i!=null&&l(t,["_url","name"],i),t}p(_m,"getTuningJobParametersToVertex");function Sm(n,e,t){let i={},o=r(n,["pageSize"]);e!==void 0&&o!=null&&l(e,["_query","pageSize"],o);let s=r(n,["pageToken"]);e!==void 0&&s!=null&&l(e,["_query","pageToken"],s);let a=r(n,["filter"]);return e!==void 0&&a!=null&&l(e,["_query","filter"],a),i}p(Sm,"listTuningJobsConfigToMldev");function Am(n,e,t){let i={},o=r(n,["pageSize"]);e!==void 0&&o!=null&&l(e,["_query","pageSize"],o);let s=r(n,["pageToken"]);e!==void 0&&s!=null&&l(e,["_query","pageToken"],s);let a=r(n,["filter"]);return e!==void 0&&a!=null&&l(e,["_query","filter"],a),i}p(Am,"listTuningJobsConfigToVertex");function xm(n,e){let t={},i=r(n,["config"]);return i!=null&&Sm(i,t),t}p(xm,"listTuningJobsParametersToMldev");function Pm(n,e){let t={},i=r(n,["config"]);return i!=null&&Am(i,t),t}p(Pm,"listTuningJobsParametersToVertex");function Nm(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["nextPageToken"]);o!=null&&l(t,["nextPageToken"],o);let s=r(n,["tunedModels"]);if(s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>yl(c))),l(t,["tuningJobs"],a)}return t}p(Nm,"listTuningJobsResponseFromMldev");function $m(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["nextPageToken"]);o!=null&&l(t,["nextPageToken"],o);let s=r(n,["tuningJobs"]);if(s!=null){let a=s;Array.isArray(a)&&(a=a.map(c=>Do(c))),l(t,["tuningJobs"],a)}return t}p($m,"listTuningJobsResponseFromVertex");function Gm(n,e){let t={},i=r(n,["name"]);i!=null&&l(t,["model"],i);let o=r(n,["name"]);return o!=null&&l(t,["endpoint"],o),t}p(Gm,"tunedModelFromMldev");function Rm(n,e){let t={};if(r(n,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(r(n,["vertexDatasetResource"])!==void 0)throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");let i=r(n,["examples"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(s=>s)),l(t,["examples","examples"],o)}return t}p(Rm,"tuningDatasetToMldev");function Mm(n,e,t){let i={},o=r(t,["config","method"]);if(o===void 0&&(o="SUPERVISED_FINE_TUNING"),o==="SUPERVISED_FINE_TUNING"){let a=r(n,["gcsUri"]);e!==void 0&&a!=null&&l(e,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(o==="PREFERENCE_TUNING"){let a=r(n,["gcsUri"]);e!==void 0&&a!=null&&l(e,["preferenceOptimizationSpec","trainingDatasetUri"],a)}let s=r(t,["config","method"]);if(s===void 0&&(s="SUPERVISED_FINE_TUNING"),s==="SUPERVISED_FINE_TUNING"){let a=r(n,["vertexDatasetResource"]);e!==void 0&&a!=null&&l(e,["supervisedTuningSpec","trainingDatasetUri"],a)}else if(s==="PREFERENCE_TUNING"){let a=r(n,["vertexDatasetResource"]);e!==void 0&&a!=null&&l(e,["preferenceOptimizationSpec","trainingDatasetUri"],a)}if(r(n,["examples"])!==void 0)throw new Error("examples parameter is not supported in Vertex AI.");return i}p(Mm,"tuningDatasetToVertex");function yl(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["state"]);s!=null&&l(t,["state"],Ha(s));let a=r(n,["createTime"]);a!=null&&l(t,["createTime"],a);let c=r(n,["tuningTask","startTime"]);c!=null&&l(t,["startTime"],c);let d=r(n,["tuningTask","completeTime"]);d!=null&&l(t,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(t,["updateTime"],u);let f=r(n,["description"]);f!=null&&l(t,["description"],f);let h=r(n,["baseModel"]);h!=null&&l(t,["baseModel"],h);let m=r(n,["_self"]);return m!=null&&l(t,["tunedModel"],Gm(m)),t}p(yl,"tuningJobFromMldev");function Do(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["state"]);s!=null&&l(t,["state"],Ha(s));let a=r(n,["createTime"]);a!=null&&l(t,["createTime"],a);let c=r(n,["startTime"]);c!=null&&l(t,["startTime"],c);let d=r(n,["endTime"]);d!=null&&l(t,["endTime"],d);let u=r(n,["updateTime"]);u!=null&&l(t,["updateTime"],u);let f=r(n,["error"]);f!=null&&l(t,["error"],f);let h=r(n,["description"]);h!=null&&l(t,["description"],h);let m=r(n,["baseModel"]);m!=null&&l(t,["baseModel"],m);let g=r(n,["tunedModel"]);g!=null&&l(t,["tunedModel"],g);let b=r(n,["preTunedModel"]);b!=null&&l(t,["preTunedModel"],b);let E=r(n,["supervisedTuningSpec"]);E!=null&&l(t,["supervisedTuningSpec"],E);let w=r(n,["preferenceOptimizationSpec"]);w!=null&&l(t,["preferenceOptimizationSpec"],w);let v=r(n,["tuningDataStats"]);v!=null&&l(t,["tuningDataStats"],v);let I=r(n,["encryptionSpec"]);I!=null&&l(t,["encryptionSpec"],I);let T=r(n,["partnerModelTuningSpec"]);T!=null&&l(t,["partnerModelTuningSpec"],T);let A=r(n,["customBaseModel"]);A!=null&&l(t,["customBaseModel"],A);let P=r(n,["experiment"]);P!=null&&l(t,["experiment"],P);let G=r(n,["labels"]);G!=null&&l(t,["labels"],G);let _=r(n,["outputUri"]);_!=null&&l(t,["outputUri"],_);let N=r(n,["pipelineJob"]);N!=null&&l(t,["pipelineJob"],N);let x=r(n,["serviceAccount"]);x!=null&&l(t,["serviceAccount"],x);let M=r(n,["tunedModelDisplayName"]);M!=null&&l(t,["tunedModelDisplayName"],M);let O=r(n,["veoTuningSpec"]);return O!=null&&l(t,["veoTuningSpec"],O),t}p(Do,"tuningJobFromVertex");function km(n,e){let t={},i=r(n,["sdkHttpResponse"]);i!=null&&l(t,["sdkHttpResponse"],i);let o=r(n,["name"]);o!=null&&l(t,["name"],o);let s=r(n,["metadata"]);s!=null&&l(t,["metadata"],s);let a=r(n,["done"]);a!=null&&l(t,["done"],a);let c=r(n,["error"]);return c!=null&&l(t,["error"],c),t}p(km,"tuningOperationFromMldev");function Da(n,e){let t={},i=r(n,["gcsUri"]);i!=null&&l(t,["validationDatasetUri"],i);let o=r(n,["vertexDatasetResource"]);return o!=null&&l(t,["validationDatasetUri"],o),t}p(Da,"tuningValidationDatasetToVertex");var Lo=class extends Pe{static{p(this,"Tunings")}constructor(e){super(),this.apiClient=e,this.list=async(t={})=>new De(ke.PAGED_ITEM_TUNING_JOBS,i=>this.listInternal(i),await this.listInternal(t),t),this.get=async t=>await this.getInternal(t),this.tune=async t=>{var i;if(this.apiClient.isVertexAI())if(t.baseModel.startsWith("projects/")){let o={tunedModelName:t.baseModel};!((i=t.config)===null||i===void 0)&&i.preTunedModelCheckpointId&&(o.checkpointId=t.config.preTunedModelCheckpointId);let s=Object.assign(Object.assign({},t),{preTunedModel:o});return s.baseModel=void 0,await this.tuneInternal(s)}else{let o=Object.assign({},t);return await this.tuneInternal(o)}else{let o=Object.assign({},t),s=await this.tuneMldevInternal(o),a="";return s.metadata!==void 0&&s.metadata.tunedModel!==void 0?a=s.metadata.tunedModel:s.name!==void 0&&s.name.includes("/operations/")&&(a=s.name.split("/operations/")[0]),{name:a,state:zi.JOB_STATE_QUEUED}}}}async getInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=_m(e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>Do(f))}else{let u=Cm(e);return c=C("{name}",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>yl(f))}}async listInternal(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=Pm(e);return c=C("tuningJobs",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=$m(f),m=new Gn;return Object.assign(m,h),m})}else{let u=xm(e);return c=C("tunedModels",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Nm(f),m=new Gn;return Object.assign(m,h),m})}}async cancel(e){var t,i,o,s;let a,c="",d={};if(this.apiClient.isVertexAI()){let u=bm(e);return c=C("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=Em(f),m=new Rn;return Object.assign(m,h),m})}else{let u=gm(e);return c=C("{name}:cancel",u._url),d=u._query,delete u._url,delete u._query,a=this.apiClient.request({path:c,queryParams:d,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(o=e.config)===null||o===void 0?void 0:o.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(f=>f.json().then(h=>{let m=h;return m.sdkHttpResponse={headers:f.headers},m})),a.then(f=>{let h=ym(f),m=new Rn;return Object.assign(m,h),m})}}async tuneInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI()){let c=Tm(e,e);return s=C("tuningJobs",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>Do(d))}else throw new Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var t,i;let o,s="",a={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let c=Im(e);return s=C("tunedModels",c._url),a=c._query,delete c._url,delete c._query,o=this.apiClient.request({path:s,queryParams:a,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(t=e.config)===null||t===void 0?void 0:t.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(u=>{let f=u;return f.sdkHttpResponse={headers:d.headers},f})),o.then(d=>km(d))}}};var Uo=class{static{p(this,"BrowserDownloader")}async download(e,t){throw new Error("Download to file is not supported in the browser, please use a browser compliant download like an <a> tag.")}},Dm=1024*1024*8,Lm=3,Um=1e3,Fm=2,ei="x-goog-upload-status";async function Bm(n,e,t){var i;let o=await El(n,e,t),s=await o?.json();if(((i=o?.headers)===null||i===void 0?void 0:i[ei])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return s.file}p(Bm,"uploadBlob");async function Vm(n,e,t){var i;let o=await El(n,e,t),s=await o?.json();if(((i=o?.headers)===null||i===void 0?void 0:i[ei])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");let a=Ua(s),c=new ro;return Object.assign(c,a),c}p(Vm,"uploadBlobToFileSearchStore");async function El(n,e,t){var i,o;let s=0,a=0,c=new Ht(new Response),d="upload";for(s=n.size;a<s;){let u=Math.min(Dm,s-a),f=n.slice(a,a+u);a+u>=s&&(d+=", finalize");let h=0,m=Um;for(;h<Lm&&(c=await t.request({path:"",body:f,httpMethod:"POST",httpOptions:{apiVersion:"",baseUrl:e,headers:{"X-Goog-Upload-Command":d,"X-Goog-Upload-Offset":String(a),"Content-Length":String(u)}}}),!(!((i=c?.headers)===null||i===void 0)&&i[ei]));)h++,await Om(m),m=m*Fm;if(a+=u,((o=c?.headers)===null||o===void 0?void 0:o[ei])!=="active")break;if(s<=a)throw new Error("All content has been uploaded, but the upload status is not finalized.")}return c}p(El,"uploadBlobInternal");async function qm(n){return{size:n.size,type:n.type}}p(qm,"getBlobStat");function Om(n){return new Promise(e=>setTimeout(e,n))}p(Om,"sleep");var Fo=class{static{p(this,"BrowserUploader")}async upload(e,t,i){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Bm(e,t,i)}async uploadToFileSearchStore(e,t,i){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await Vm(e,t,i)}async stat(e){if(typeof e=="string")throw new Error("File path is not supported in browser uploader.");return await qm(e)}};var Bo=class{static{p(this,"BrowserWebSocketFactory")}create(e,t,i){return new Vo(e,t,i)}},Vo=class{static{p(this,"BrowserWebSocket")}constructor(e,t,i){this.url=e,this.headers=t,this.callbacks=i}connect(){this.ws=new WebSocket(this.url),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.close()}};var La="x-goog-api-key",qo=class{static{p(this,"WebAuth")}constructor(e){this.apiKey=e}async addAuthHeaders(e,t){if(e.get(La)===null){if(this.apiKey.startsWith("auth_tokens/"))throw new Error("Ephemeral tokens are only supported by the live API.");if(!this.apiKey)throw new Error("API key is missing. Please provide a valid API key.");e.append(La,this.apiKey)}}};var Hm="gl-node/",Kt=class{static{p(this,"GoogleGenAI")}get interactions(){if(this._interactions!==void 0)return this._interactions;if(console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions."),this.vertexai)throw new Error("This version of the GenAI SDK does not support Vertex AI API for interactions.");let e=this.httpOptions;e?.extraBody&&console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");let t=new j({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:e?.timeout});return this._interactions=t.interactions,this._interactions}constructor(e){var t;if(e.apiKey==null)throw new Error("An API Key must be set when running in a browser");if(e.project||e.location)throw new Error("Vertex AI project based authentication is not supported on browser runtimes. Please do not provide a project or location.");this.vertexai=(t=e.vertexai)!==null&&t!==void 0?t:!1,this.apiKey=e.apiKey;let i=Ec(e.httpOptions,e.vertexai,void 0,void 0);i&&(e.httpOptions?e.httpOptions.baseUrl=i:e.httpOptions={baseUrl:i}),this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let o=new qo(this.apiKey);this.apiClient=new yo({auth:o,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:Hm+"web",uploader:new Fo,downloader:new Uo}),this.models=new Co(this.apiClient),this.live=new Io(this.apiClient,o,new Bo),this.batches=new co(this.apiClient),this.chats=new fo(this.models,this.apiClient),this.caches=new uo(this.apiClient),this.files=new ho(this.apiClient),this.operations=new _o(this.apiClient),this.authTokens=new So(this.apiClient),this.tunings=new Lo(this.apiClient),this.fileSearchStores=new xo(this.apiClient)}};var st=J,wl=new Map,vl=[];function rt(){let n=`[${rt.name}]`;try{return st&&console.log(`${n} starting... (I: a5cf5821b42e1c71182dd61431977e25)`),wl}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{st&&console.log(`${n} complete.`)}}p(rt,"getAllFunctionInfos");function Yo(){let n=`[${Yo.name}]`;try{return st&&console.log(`${n} starting... (I: 82c9a8fc91d8121fb843af32e76c2e25)`),vl}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{st&&console.log(`${n} complete.`)}}p(Yo,"getDeprecatedFunctionInfoNames");function zm({functionInfos:n}){let e=`[${zm.name}]`;try{st&&console.log(`${e} starting... (I: 14fee8e27384a040494542182031ae25)`),n.size===0&&console.warn(`${e} empty functionInfos? (W: 97fcb8fc47689bc418893c09a16a2525)`);for(let[t,i]of n)vl.includes(t)?st&&console.log(`${e} functionInfo.nameOrId (${t}) is deprecated. Skipping add. (I: 3256eadf54f8087088a704798e2fd825)`):wl.set(t,i)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{st&&console.log(`${e} complete.`)}}p(zm,"registerFunctionInfos");var be=J;function Jt(n){switch(n){case Z.HUMAN:return"user";case Z.AI:return"model";case Z.FUNCTION:return"user";case Z.HARDCODED:return"user";case Z.UNKNOWN:return"user";default:throw new Error(`(UNEXPECTED) src is not a valid TextSource? src: ${n} (E: 9d954fe0bc49cf4572a65b19b6173925)`)}}p(Jt,"textSourceToGeminiRole");function Il(n){return n.api==="gemini"}p(Il,"isPromptInfoGemini");function Xo({systemPromptEntries:n}){let e=`[${Xo.name}]`;try{if(be&&console.log(`${e} starting... (I: 18693a97427939699285ef8c1a9cc425)`),n.length===0)return;n.every(i=>i.src===Z.HUMAN)||be&&console.warn(`${e} not every system entry's src is human. We're still going to say that these are "user" origin in Gemini API. (W: 7115e2be876498ecb1e153c79a86e125)`);let t={role:"user",parts:n.filter(i=>!!i.content.parts).flatMap(i=>i.content.parts)};return be&&console.log(`${e} sysInstructionContent: ${L(t)} (I: 011e5b865c23eb0b640df3f464ac2525)`),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{be&&console.log(`${e} complete.`)}}p(Xo,"systemPromptEntriesToSystemInstructionContent");function Qo({ibGib:n}){let e=`[${Qo.name}]`;try{if(be&&console.log(`${e} starting... (I: 986d3edcd4f3aaf1d7eb0f8b59206b25)`),!n)return be&&console.warn(`${e} ibGib falsy. (W: a70390e8bc3f420a92d3a84f4c78f12a)`),!1;if(!tt({ibGib:n}))return be&&console.log(`${e} not a comment ibgib (I: 6a62c4f6e13776616855c4f237a5206b)`),!1;if(!n.data)return be&&console.log(`${e} ibGib.data falsy (I: 69eb86975640475395bb74944141a46d)`),!1;let{text:t}=n.data;return t?t.includes(mn)?(be&&console.log(`${e} has tag. returning true. (I: 6d76b27d558d44f696582f41af561f29)`),!0):(be&&console.log(`${e} no indicator found. returning false. (I: 815f181a0a08058362f76b08a8964674)`),!1):(be&&console.log(`${e} text falsy (I: e348e38c841b4443b3f09e75c0215b24)`),!1)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{be&&console.log(`${e} complete.`)}}p(Qo,"isFunctionCallRequestComment");function Zo({functionInfoIbGib:n}){let e=`[${Zo.name}]`;try{if(be&&console.log(`${e} starting... (I: 1a2b3c4d5e6f7a8b)`),!n)throw new Error(`${e} functionInfoIbGib parameter is required. (E: 9c8f7a3b2d1e4a5b6c7d8e9f)`);if(!n.data)throw new Error(`${e} functionInfoIbGib.data is required. (E: 2b3c4d5e6f7a8b1c2d3e4f5a)`);let{fnName:t,fnArgs:i,fnResult:o}=n.data;if(!t)throw new Error(`${e} functionInfoIbGib.data.fnName is required. (E: 6f7a8b1c2d3e4f5a6b7c8d9e)`);return{call:{functionCall:{name:t,args:i??{}}},response:{functionResponse:{name:t,response:{value:o}}}}}catch(t){throw console.error(`${e} Error: ${y(t)}`),t}finally{be&&console.log(`${e} complete.`)}}p(Zo,"getFunctionCallAndResponseParts");var Wt=J,oi="function_info",Tl="function_info";function Cl({data:n}){let e=`[${Cl.name}]`,{model:t,api:i,agentId:o,timestamp:s}=n;if(!t)throw new Error(`${e} data.model falsy (E: 6f47a28c0a8a45d794149c83e8f27e25)`);if(!i)throw new Error(`${e} data.api falsy (E: a0a812508a952a87c619d38084b7e325)`);if(!o)throw new Error(`${e} data.agentId falsy (E: ac35c1592c458e2c0e5908f6a9a3e525)`);let a=We(s);if([t,i,o,a].some(d=>d.includes(" ")))throw new Error("invalid data. ib must not contain spaces (E: 36a56e4685163848458be06f51d4ad25)");return[Tl,a,t,i,o].join(" ")}p(Cl,"getFunctionInfoIb");async function si(n){let e=`[${si.name}]`;try{Wt&&console.log(`${e} starting... (I: f4c9f0810a4d877f676297f6e6a96825)`);let{fnRawRequest:t,api:i,model:o,agentId:s,fnName:a,fnArgs:c,fnResult:d,fnComplete:u,parseErrorMsg:f,execErrorMsg:h,repromptWithResult:m,saveInSpace:g,metaspace:b,space:E}=n,w=new Date,v={name:o,timestamp:Zt(w),timestampMs:w.getMilliseconds(),agentId:s,api:i,model:o,fnRawRequest:t,fnName:a,fnArgs:c,fnResult:d,fnComplete:u,repromptWithResult:m};f&&(v.parseErrorMsg=f),h&&(v.execErrorMsg=h);let I=Cl({data:v}),T=await se.firstGen({ib:I,parentIbGib:se.primitive({ib:Tl}),data:v,nCounter:!0,dna:!0,tjp:{uuid:!0}});if(Wt&&console.log(`${e} created functionInfoIbGib (I: e50d2e17f43312d4f4739899306bb725)`),g){if(!b)throw new Error(`${e} metaspace must be provided if saveInSpace is set to true (E: e74b76b00124d5874a6c5404e794b725)`);if(!E)throw new Error(`${e} space must be provided if saveInSpace is set to true (E: f3d5f1695a52707114117f72d932a025)`);await b.persistTransformResult({resTransform:T,space:E}),Wt&&console.log(`${e} persisted resFunctionInfo (${S({ibGib:T.newIbGib})}) to space ${E.data?.uuid} (I: aa98e877d3b34e0d2a3b7711f8f27e25)`),await b.registerNewIbGib({ibGib:T.newIbGib,space:E}),Wt&&console.log(`${e} registered new function info ibgib (${S({ibGib:T.newIbGib})}) with metaspace (I: aa98e877d3b34e0d2a3b7711f8f27e25)`)}return T}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Wt&&console.log(`${e} complete.`)}}p(si,"createFunctionInfoIbGib");var D=J,ri=class n extends Js{static{p(this,"AgentWitness_V1")}lc=`[${n.name}]`;availableFunctions=new Map;commentIbGibs_system=[];commentIbGibs_chat=[];_metaspace;fnGetAPIKey=p(()=>Promise.reject("not implemented. you need to set this after initializing the agent. (E: a14cbe903d08821126bbbb1d063d9825)"),"fnGetAPIKey");get name(){return this.data?.name??""}get uuid(){return this.data?.uuid??""}_genAI;transientDecompressionPromptText;fnOutputText=p(e=>{console.log(`${this.lc}[fnOutputText] this hack does nothing by default. set this to do something when text is returned by the model LLM. textResponse: ${e} (W: 3007e5d69dafdd7e42157fa7370d7f25)`)},"fnOutputText");ibGibProxy;constructor(e,t){super(e,t),this.instanceId=ct({count:32})}async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;try{D&&console.log(`${e} starting... (I: 641e211473fc54d5a9ebb4ea44944d25)`);let t=await super.validateThis();return this.data?(this.data?.subSpaceId||t.push("agent.data.subSpaceId falsy (E: d4ea57fd6b1c5cbc1e18a084de2f7725)"),this.data?.subSpaceId.match(Qt)||t.push(`agent.data.subSpaceId must match regexp: ${Qt}. (E: f381eff533aa3f4713316f93f7f1dc25)`),this.data.name?this.data.name.match(gt)||t.push(`agent name must match regexp: ${gt}`):t.push("agent name falsy (E: 1351325107e5ac5ea6b7b789b73de125)"),this.data.description&&(this.data.description.match(Ni)||t.push(`agent description must match regexp: ${Ni}`))):t.push("this.data falsy (E: f5f151e11b12cad814b37ecad7c74a25)"),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}async initialize(){let e=`${this.lc}[${this.initialize.name}]`;try{D&&console.log(`${e} starting... (I: ce38519ac4bef52844a558fe31cda825)`),await super.initialize(),this._metaspace=await $();let t=new Ue;if(await t.initialized,!t.contextUpdated$)throw new Error("(UNEXPECTED) ibGibProxy.contextUpdated$ falsy? (E: e8840870af18091e6e4d52490ddca825)");if(t.contextUpdated$.subscribe(Me({next:p(async i=>{let o=`${e}[ibGibProxy.contextUpdated$][next]`;D&&console.log(`${o} nextIbGib: ${L(i)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleContextUpdated()},"next"),error:p(async i=>{debugger;console.error(`${e}[ibGibProxy.contextUpdated$][error] what up? ${y(i)}`)},"error")})),this.ib&&this.gib&&this.data){let i=this.toIbGibDto();await this.loadIbGibDto(i);let o=await this._metaspace.getLocalUserSpace({localSpaceId:i.data?.superSpaceId});if(!o)throw new Error(`couldn't get local space with agent.data.superSpaceId (${i.data?.superSpaceId})? (E: 0fc1b8a8ffa26f39d8a15218ec818725)`);await this.ibGibProxy?.setWrappedIbGib({ibGib:i,space:o})}else D&&console.log(`${e} agent is "empty". not loading dto at this time, caller is responsible for calling loadIbGibDto (I: 06dba19d74d5695fe7d1957889283725)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{if(!this.ibGibProxy)throw new Error("(UNEXPECTED) this.ibGibProxy falsy but we're within handleContextUpdated handler? (E: a88fa85e8f27bd7f72c207389ebfbc25)");if(!this.ibGibProxy.ibGib)throw new Error("(UNEXPECTED) this.ibGibProxy.ibGib falsy but we're within the handleContextUpdated handler? (E: ca60b8f0a60a3e3d652c3018102d1825)");debugger;if(!this.gib){debugger;console.error(`${e} not sure if error, but this.gib is falsy when we get a new context down the pipeline? (E: 8501d8aee4db7b8461587f38f0bbb125)`)}if(S({ibGib:this})!==S({ibGib:this.ibGibProxy.ibGib})){let t=this.ibGibProxy.ibGib.data.n??0,i=this.data?.n??0;if(t<=i){debugger;console.error(`${e} issue with "new" proxy context and the current this.data.n with different addresses. divergent timelines? (E: 15c698eb4488cbae2db0e778fec15825)`)}await this.loadIbGibDto(this.ibGibProxy.ibGib),await H(200)}else console.error(`${e} ibgibProxy new context is no different than current. this is NOT necessarily an error, I just want to see this when it happens. nothing is being done here, we're just not loading the "new" ibgib dto. (E: eff668b2e858ded448366d58e4dd6825)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}}async getSubSpace(){let e=`[${this.getSubSpace.name}]`;try{D&&console.log(`${e} starting... (I: a2ec2c5e8f5fdf95c8c571b2b1b9e925)`);let{_metaspace:t}=this;if(!t)throw new Error("(UNEXPECTED) this.metaspace falsy? after init this.metaspace is expected to be set. (E: 4519a8feaf4489389be679598f274425)");let i=await t.getLocalUserSpace({localSpaceId:this.data.subSpaceId});if(!i){let o=await this.validateThis();if(o.length>0)throw new Error(`this agent has validation errors: ${o} (E: 9a0c6125cf89789ddb1610cf5a752225)`);if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 06e30e1d53fd4935333c7cf7e10db425)");i=await t.createLocalSpaceAndUpdateBootstrap({allowCancel:!1,zeroSpace:t.zeroSpace,spaceName:this.name+this.uuid.substring(0,5),createBootstrap:!1})}if(!i)throw new Error("(UNEXPECTED) space still falsy after creating locally? (E: 037ef1e6f54a675d0367227fdae16525)");return i}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}async getSuperSpace(){let e=`[${this.getSuperSpace.name}]`;try{D&&console.log(`${e} starting... (I: 55fba9bcaf9539cc2219e03cda200525)`);let{_metaspace:t}=this;if(!t)throw new Error("(UNEXPECTED) this.metaspace falsy? after init this.metaspace is expected to be set. (E: 107f670c99832c573a7e5de18d58c325)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: a4341b8753678fcba7877b6319769b25)");if(!this.data.superSpaceId)throw new Error("(UNEXPECTED) this.data.superSpaceId falsy? (E: 0429fe44df5b56bf2ac67d38cde56325)");let i=await t.getLocalUserSpace({localSpaceId:this.data.superSpaceId});if(!i)throw new Error(`(UNEXPECTED) superSpace falsy? this.data.superSpaceId: ${this.data.superSpaceId} (E: fd9435212e8b87e4b60034bf9e797f25)`);return i}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}_activeContext=void 0;async setActiveContext(e){let t=`${this.lc}[${this.setActiveContext.name}]`;try{D&&console.log(`${t} starting... (I: genuuid)`);let{contextIbGib:i,loggingInfo:o}=e;if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: ab5377fda6bc324638722d9832bab925)");if(!i)throw new Error("(UNEXPECTED) contextIbGib falsy? (E: 694525e512cfdd12c14e1213dbaab925)");if(!i.data)throw new Error("(UNEXPECTED) contextIbGib.data falsy? (E: f337252a23c822bcbd76144540050825)");let s=S({ibGib:i}),a=Y({ibGib:i});if(!a)throw new Error(`(UNEXPECTED) contextTjpAddr falsy? contextIbGib (${s}) is expected to be a living ibgib with a tjp address (i.e. a timeline). This means it should have a rel8ns.tjp or data.isTjp should be truthy. (E: d756d1e862d2cccfed4a5807737e9a25)`);if(this.data?.["@currentContextTjpAddr"]===a?D&&console.log(`${t} this.data.@currentContextTjpAddr already set to the same addr. (I: 9f0d58ec65eee3ca2aec528f1328c325)`):await this.mut8Self({dataToAddOrPatch:{"@currentContextTjpAddr":a}}),!this._activeContext){let c=new Ue;await c.initialized;let d=`${t}[contextUpdated]`;if(!c.contextUpdated$)throw new Error("(UNEXPECTED) proxy.contextUpdated$ falsy? (E: 868c5e3bf025baa6d1ae727ab1160c25)");c.contextUpdated$.subscribe(Me({next:p(async f=>{console.log(`${d}[next] nextIbGib: ${L(f)}`)},"next"),complete:p(async()=>{debugger;throw new Error(`${d}[complete] (UNEXPECTED) agent active context subscription complete? i honestly don't know if this hits. (E: 786d26ab23e4313db7ae2e08c70a7425)`)},"complete"),error:p(async f=>{debugger;console.error(`${d}[error] ${y(f)}`)},"error")}));let u=`${t}[newContextChild]`;if(!c.newContextChild$)throw new Error("(UNEXPECTED) proxy.newContextChild$ falsy? (E: 123cf5624c3d2a6308aafc0c41f8a925)");c.newContextChild$.subscribe(Me({next:p(async f=>{if(console.log(`${u}[next] newChild: ${L(f)}`),!f.data)throw new Error("newChild.data falsy? (E: a654134a2695c176971b0cd1426ced25)");if(tt({ibGib:f})){let h=this.commentIbGibs_chat.map(w=>Y({ibGib:w})??S({ibGib:w})),m=Y({ibGib:f})??S({ibGib:f});if(h.includes(m)){console.log(`${t} already did this comment (${m}) (I: bce18642bb9babeb553e6188d7ae2825)`);return}let{safeIbCommentMetadataText:g}=je({ib:f.ib}),{textSrc:b}=Yt({addlMetadataText:g??"",ifError:"warn"}),E=f.data.text.startsWith("system: ");await this.addTexts({infos:[{textSrc:b??Z.UNKNOWN,commentIbGib:f,isSystem:E}]}),b===Z.HUMAN&&(E?console.log(`${t} system prompt has been modified. (I: d21c26f0a3fa12e2a874925882f39825)`):await this.doPrompt())}else console.warn(`${u} non-comment newChild. probably not a warning proper, but at this stage I'm only expecting comments ignoring... (W: e664834af4791ddcde19bfd4f7063e25)`)},"next"),complete:p(async()=>{debugger;throw new Error(`${u}[complete] (UNEXPECTED) agent active context subscription complete? i honestly don't know if this hits. (E: 88202d1f7554330d3dfca0237c2d6525)`)},"complete"),error:p(async f=>{debugger;console.error(`${u}[error] ${y(f)}`)},"error")})),this._activeContext=c}if(!this._activeContext)throw new Error("(UNEXPECTED) this._activeContext still falsy after we just initialized it? (E: 584f2f672b9ae7c979dde693eafb7a25)");await this._activeContext.setWrappedIbGib({ibGib:i})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async updateName({name:e}){let t=`${this.lc}[${this.updateName.name}]`;try{if(D&&console.log(`${t} starting... (I: genuuid)`),e===this.name){console.warn(`${t} agent (${this.uuid}) already is named ${e}. returning early... (W: genuuid)`);return}else if(gt.test(e))await this.mut8Self({dataToAddOrPatch:{name:e}});else throw new Error(`invalid name ${e}. must match regexp: ${gt.source} (E: 507a2bfc0aaa60bd7bb608d253239e25)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async updateAvailableFunctions({availableFunctions:e}){let t=`${this.lc}[${this.updateAvailableFunctions.name}]`;try{D&&console.log(`${t} starting... (I: 68f1bfa343925a657f8c0545b191c725)`);let i=[];for(let o of e)if(!this.availableFunctions.has(o.nameOrId)){let s=rt().get(o.nameOrId);if(s)i.push(s);else{console.error(`(UNEXPECTED) ${o} function not registered with getAllFunctionInfos()? skipping adding this function to the agent... (E: e860fe13c02677b274ac0e7df2587a25)`);continue}}i.length>0&&(console.log(`${t} adding newly found functions to agent: ${i.map(o=>o.nameOrId)}. (I: ab2b0ae6a62b3ced6a5f1e2e8cec4f25)`),await this.addAvailableFunctions(i))}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async mut8Self({dataToAddOrPatch:e}){let t=`${this.lc}[${this.mut8Self.name}]`;try{D&&console.log(`${t} starting... (I: f4618832a0fe07ff8c89cea889d20725)`);let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: genuuid)");let o=await i.getLocalUserSpace({lock:!1,localSpaceId:this.data.superSpaceId});if(!o)throw new Error(`couldn't get local superSpace given by this.data.superSpaceId (${this.data.superSpaceId}) (E: genuuid)`);let{tjpGib:s}=K({gib:this.gib});if(!s)throw new Error(`(UNEXPECTED) this.gib (${this.gib}) has no tjpGib? (E: 75b8dcb82b58d3b0db40b39149023e25)`);await nn({fn:p(async()=>{let a=Re();await a.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1});let c=await gs({type:"mut8",src:this.toIbGibDto(),dataToAddOrPatch:e,dna:!0,nCounter:!0});await i.persistTransformResult({resTransform:c,space:o});let d=c.newIbGib;await this.loadIbGibDto(d),await a.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!0}),await i.registerNewIbGib({ibGib:d,space:o}),await jo({newAgentIbGib:d,metaspace:i,space:o,type:this.data.type})},"fn"),scope:s,secondsValid:60,maxDelayMs:100,maxLockAttempts:Number.MAX_SAFE_INTEGER,space:o,callerInstanceId:this.instanceId})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}getAvailableFunctions(){return Array.from(this.availableFunctions.values())}getComments_System(){return[...this.commentIbGibs_system]}getComments_Chat(){return[...this.commentIbGibs_chat]}async addAvailableFunctions(e){let t=`[${this.addAvailableFunctions.name}]`;try{if(D&&console.log(`${t} starting... (I: 273525464ec540fc9cba565e608db925)`),!e)throw new Error("(UNEXPECTED) functionInfos falsy? (E: 19cf2b7c9ee1115f0a3f7f62fbf77825)");if(e.length===0){console.warn(`${t} functionInfos.length === 0? why is this being called with no functions? returning early without doing anything. (W: 86c6dc4fad3c1ddcac697d5636b1eb25)`);return}await Re().updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1}),e.forEach(o=>{this.availableFunctions.has(o.nameOrId)&&console.warn(`${t} this.availableFunctions already has an entry for ${o.nameOrId}. replacing anyway. (W: ef2372a27be67174cb3605eac2c85c25)`),this.availableFunctions.set(o.nameOrId,o)}),await this.mut8Self({dataToAddOrPatch:{availableFunctionNameOrIds:Array.from(this.availableFunctions.keys())}})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async doPrompt(){let e=`[${this.doPrompt.name}]`;try{if(D&&console.log(`${e} starting... (I: e7f1a7845cdf1bdce1f12d74c71a6425)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 3c528e2376a2f2600b347b2c183a5225)");let t=await this.composePromptInfo();D&&console.log(`${e} promptTextInfo: ${L(t)} (I: b769b5f2a47623a99f78210994d90525)`);let i=await this.callTextAPI(t);if(D&&console.log(`${e} api result:`,i,"(I: e4d2c767eb3d6e38d83123d684a07425)"),"text"in i)await this.doPrompt_text(i.text);else{let{functionCalls:o}=i;await this.doPrompt_functionCalls({functionCalls:o})}}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}async doPrompt_text(e){let t=`${this.lc}[${this.doPrompt_text.name}]`;try{D&&console.log(`${t} starting... (I: a2b9c21f3b2b058d355d16421e2b4425)`),e||="[no text returned from the model]",this.fnOutputText?this.fnOutputText(e):console.log(`${t} no fnOutputText set. Text Response: ${e} (I: 5936517474b10b214257781a24b10425)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async doPrompt_functionCalls({functionCalls:e}){let t=`${this.lc}[${this.doPrompt_functionCalls.name}]`;try{if(D&&console.log(`${t} starting... (I: a4f1b581517a9c2a9187e9f8f3519925)`),e.length===0)throw new Error("(UNEXPECTED) functionCalls.length is zero? (E: 6434b8515a435a59b331452b563f4425)");let i=await this.doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls({functionCalls:e});if(await this.doPrompt_functionCalls_addFunctionCallRequestComment({functionInfoIbGibs:i}),i.some(s=>!!s.data?.repromptWithResult&&s.data.fnName!=="tellUser")){let s=await this.doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt({functionInfoIbGibs:i});s.length>0?(console.log(`${t} transientDecompressionPromptText: ${s} (I: 11c11d544b7c8f8f8e7e5f7c1a9e3625)`),this.transientDecompressionPromptText=s,await this.rePrompt()):console.warn(`${t} (UNEXPECTED) there is no decompression text? (W: 6ce5da95c1c89a7ec48a00fbc1d11825)`)}else D&&console.log(`${t} no repromptWithResult. returning early. (I: 9c0113c958c7404534291f6700325925)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls({functionCalls:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_createFunctionInfoIbGibsAndExecFunctionCalls.name}]`;try{if(D&&console.log(`${t} starting... (I: adc094bc98cb076a4aaf729f70adce25)`),!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: d071328283b2cf880ff0ccd499c22b25)");if(!this.data.uuid)throw new Error("(UNEXPECTED) this.data.uuid falsy? (E: 8acd2f793e4b5a368dbcf1d8d1e6e825)");let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: acf8a69e853eb8663f1dd0f79a823e25)");let o=[];for(let s of e)try{D&&console.log(`${t} processing functionCall: ${s} (I: a0c0b22b3c6b6c4b674a5a9c8c8b9e25)`);let a,c,d,u,f,h="";try{if(c=JSON.parse(s),h=c?.name??"",!h)throw new Error("functionName (functionCallParsedObj.name) falsy (E: e2397d675863a12b7609495b0007a025)");if(D&&console.log(`${t} functionCallParsedObj:`,L(c),"(I: 750f097243b85644d111971e0f929c25)"),u=rt().get(c.name),!u)throw new Error(`no APIFunctionInfo found that matches functionName (${h}) (E: 9d36b6472ec5cdf95e4f498292449925)`);f=c.args,D&&console.log(`${t} valid params (I: a4d5c13c79a2405c8d20464b42083325)`)}catch(m){d=`${t} invalid functionCallParsedObj. error: ${y(m)}. functionCallStr: ${s}. (E: 1687a24c5a3667d34689a09f8f753125)`,console.error(d),c=void 0}if(u){D&&console.log(`${t} found functionInfo: ${u.nameOrId} (I: 837c7a8200689a0b2314b73057812b25)`);let m,g=!1,b;try{D&&console.log(`${t} calling function impl for ${u.nameOrId} (I: b145d08186782089c18564305f0f1125)`),m=await u.fnViaCmd(f),g=!0,D&&console.log(`${t} functionImpl complete for ${u.nameOrId}. result:`,L(m),"(I: e19d476f489261263165914750472d25)")}catch(w){b=`${t} could not call functionImpl for ${u.nameOrId}: ${y(w)} (E: 9c0e97f29a9290f9d57637b7053f0c25)`,console.error(b)}a=(await si({api:this.data.api,model:this.data.model,agentId:this.data.uuid,fnRawRequest:s,fnName:h,fnArgs:c.args,repromptWithResult:c.args?.repromptWithResult??!1,fnResult:m,fnComplete:g,execErrorMsg:b,parseErrorMsg:void 0,saveInSpace:!0,metaspace:i,space:await this.getSuperSpace()})).newIbGib}else a=(await si({api:this.data.api,model:this.data.model,agentId:this.data.uuid,fnRawRequest:s,fnName:h,fnArgs:c.args,repromptWithResult:c.args?.repromptWithResult??!1,fnResult:void 0,fnComplete:void 0,execErrorMsg:void 0,parseErrorMsg:d,saveInSpace:!0,metaspace:i,space:await this.getSuperSpace()})).newIbGib;if(!a)throw new Error("(UNEXPECTED) functionInfoIbGib falsy? we should have guaranteed to create one at this point. (E: 97c4ce12c7372adfeebfd45181b73f25)");o.push(a)}catch(a){throw console.error(`${t} ${y(a)}`),a}finally{D&&console.log(`${t} complete.`)}if(o.length===0)throw new Error("(UNEXPECTED) functionInfoIbGibs.length === 0? We expect at least one to be created (E: a8f81c56377cdbdeb468af6b21879825)");return o}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_addFunctionCallRequestComment({functionInfoIbGibs:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_addFunctionCallRequestComment.name}]`;try{D&&console.log(`${t} starting... (I: 5000adac5e8c4a7158a720c38f56b325)`);let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: d7275731461d8d0526af3088553ae525)");let o=await this.getSuperSpace(),s=bt({tagText:mn,contentText:e.map(f=>S({ibGib:f})).join(`
679
+ `),randomIdLength:4}),a=xt({textSrc:"ai",other:"functionCallRequest"}),c=await et({text:s,addlMetadataText:a,saveInSpace:!0,space:o}),d=await Ye({type:"rel8",src:c.newIbGib,rel8nsToAddByAddr:{[oi]:e.map(f=>S({ibGib:f}))},dna:!0,nCounter:!0}),u=d.newIbGib;await i.persistTransformResult({resTransform:d,space:o}),await i.registerNewIbGib({ibGib:u,space:o}),await this.addTexts({infos:[{textSrc:"ai",commentIbGib:u}]})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}async doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt({functionInfoIbGibs:e}){let t=`${this.lc}[${this.doPrompt_functionCalls_getTransientDecompressionPromptForNextPrompt.name}]`;try{D&&console.log(`${t} starting... (I: c245f78f6c78a98d62375a9f14b3d625)`);let i=[];for(let o of e)try{let s=S({ibGib:o});if(!o.data)throw new Error(`(UNEXPECTED) !functionInfoIbGib.data? functionInfoAddr: ${s} (E: 7815e4854513c26b889517a9bd7e0d25)`);let{fnRawRequest:a,fnComplete:c,fnResult:d}=o.data,f=bt({tagText:s,contentText:L({fnRawRequest:a,fnComplete:c,fnResult:d}),randomIdLength:void 0});i.push(f)}catch(s){console.error(`${t} could not call functionImpl: ${y(s)} (E: 2a3b8b37e146c524b67119e3a74e3d25)`)}return i.join(`
680
+ `)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{D&&console.log(`${t} complete.`)}}repromptCount=0;repromptMax=12;async rePrompt(){let e=`${this.lc}[${this.rePrompt.name}]`;try{D&&console.log(`${e} starting... (I: b6af34214acf07f9ca8c1d03c0011525)`),this.repromptCount<this.repromptMax?(this.repromptCount++,await this.doPrompt()):(console.log(`${e} already reached repromptMax (${this.repromptMax}). reprompt aborting. $(I: dacefb501dab2a1ee173ce8558657725)`),this.repromptCount=0)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{D&&console.log(`${e} complete.`)}}async witness(e){if(e.ib===en&&e.gib===tn)return this.getComments_Chat().length>0&&await this.doPrompt(),Nt;throw new Error(`arg (${L(e)}) not implemented. only expect ${Nt} right now to trigger doPrompt. (E: 24da0ad7333b6bbb359d1be425db3c25)`)}};var F=J,Ve=class n extends ri{static{p(this,"AgentWitnessGemini_V1")}lc=`[${n.name}]`;async validateThis(){let e=`${this.lc}[${this.validateThis.name}]`;try{F&&console.log(`${e} starting... (I: 641e211473fc54d5a9ebb4ea44944d25)`);let t=await super.validateThis();return this.data&&console.warn(`${e} do more validation on this concrete class. (W: fb778a84ccca2ebcefd2ca7845543825)`),t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}parseAddlMetadataString({ib:e}){let t=`${this.lc}[${this.parseAddlMetadataString.name}]`;try{throw F&&console.log(`${t} starting... (I: 080daf4b73f8bb52c70bf0a8f329be25)`),new Error("not implemented...i've just converted agent witness to a full witness with context and this was the only abstract method required. wasn't being used previously? so i'm not sure why this is here. (E: 129e816d3698f3867ec54c34fcc9a225)")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async addTexts(e){let t=`${this.lc}[${this.addTexts.name}]`;try{let i=Re();await i.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!1});let o=this._metaspace;if(!o)throw new Error("(UNEXPECTED) metaspace falsy? (E: fd92a81901a83e2698ab2c3d4e702f25)");if(e.infos.length===0)return console.warn(`${t} opts.infos.length === 0. So we've called addTexts but with an empty array? returning early. (W: 0d42cd3b26aec45874d0e65450b37d25)`),[];let s=[],a=[],c=[],d=await this.getSuperSpace();for(let h of e.infos){let{textSrc:m,isSystem:g}=h,{text:b,commentIbGib:E}=h;if(b&&E)throw new Error("(UNEXPECTED) both text and commentIbGib provided? (E: a3fd590db1a5efc301f3c7e66b322f25)");if(!b&&!E)throw new Error("(UNEXPECTED) both text and commentIbGib falsy? one or the other is required (E: e08c7c694a17319085adfb75914b2725)");let w=xt({textSrc:m});if(E)F&&console.log(`${t} adding existing commentIbGib (I: 72a3f7aafde92f65b168d27605f94625)`);else{if(F&&console.log(`${t} creating new commentIbGib for text (I: 72a3f7aafde92f65b168d27605f94625)`),!b)throw new Error("(UNEXPECTED) text falsy still? at this point it should be guaranteed (E: b2deec458f35f22298ccb664d0685125)");E=(await et({text:b,addlMetadataText:w,saveInSpace:!0,space:d})).newIbGib,await o.registerNewIbGib({ibGib:E,space:d})}if(!E)throw new Error("(UNEXPECTED) commentIbGib still falsy? we should have just created one if it didn't exist (E: 9370b19aa207234db185cd74b57be525)");let v=await ci({ibGib:E});if(v.length>0)throw new Error(`validation errors with trying to add a commentIbGib. errors: ${v} (E: beee1893050f9bcf9842c66831595225)`);s.push(E),g?a.push(E):c.push(E)}let u=[];a.length>0&&u.push({rel8nName:"system",ibGibs:a}),c.length>0&&u.push({rel8nName:"chat",ibGibs:c});let f=await zs({timeline:this.toIbGibDto(),rel8nInfos:u,timelineIndexInfo:{rel8nName:nt,type:this.data.type},metaspace:o,space:d});return await this.loadIbGibDto(f),await i.updateOrSetLatestAgent({agent:this,throwIfNewerFound:!0}),s}catch(i){throw console.error(`${t} ${y(i)}`),i}}async composePromptInfo(){let e=`${this.lc}[${this.composePromptInfo.name}]`;try{if(F&&console.log(`${e} starting... (I: 155774d4811b038034342d5750174325)`),!this._metaspace)throw new Error("this.metaspace falsy (E: 7232a3a1b4348d460ed1375b32677125)");let t=[];for(let f of this.commentIbGibs_system){let h=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:f});t.push(...h)}let i=this.data?.["@currentContextTjpAddr"]??Q;if(i!==Q&&t.push({src:Z.HARDCODED,content:{role:Jt(Z.HARDCODED),parts:[{text:_l({currentContextTjpAddr:i})}]}}),this.commentIbGibs_chat.length===0)throw new Error("(UNEXPECTED) this.commentIbGibs_chat.length === 0? why are we composing prompt info? We are assumed at this point to have added at least one comment ibgib to this agent. (E: a4e3d840946ab8e6dc3fde3e25d6b225)");let o=[],s=this.commentIbGibs_chat.length>1?this.commentIbGibs_chat.slice(0,-1):[];for(let f of s){let h=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:f});o.push(...h)}let a,c=this.commentIbGibs_chat.at(-1),d=await this.createPromptInfoEntriesFromGeminiComment({commentIbGib:c});if(d.length===1)a=d.at(0);else if(d.length===2)o.push(d.at(0)),a=d.at(1);else throw new Error("(UNEXPECTED) chatPromptCurrent_rawarray.length !== 1 or 2? We expect at this point either a regular text part or a FCR comment which creates two entries. (E: cd59f978479c20e496da4b0eb86c7d25)");let u={api:"gemini",systemPromptEntries:t,chatPromptHistoryParts:o,chatPromptCurrent:a};return F&&console.log(`${e} resPromptInfo:`,L(u),"(I: 8f17a8c45b9a91e20a5c5064d9114a25)"),u}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}async callTextAPI(e){let t=`${this.lc}[${this.callTextAPI.name}]`;try{if(F&&console.log(`${t} starting... (I: 27885f5b14682646542e9658417b2f25)`),!Il(e))throw new Error("(UNEXPECTED) info.api !== gemini? we are in the gemini concrete class where this is assumed. (E: 9223647ec96fb3f4eaee32c3fc15d925)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: 09224b6688fdac884ce88f196b68a425)");let{api:i,model:o}=this.data;if(i!=="gemini")throw new Error(`api not supported: ${i} (E: 7e5c7c17988a666a86e72299630c7f25)`);F&&console.log(`${t} calling gemini api with model: ${o} (I: 6208942a419e9041bb037384135a0c25)`);let s=await this.fnGetAPIKey();if(!s)return console.error(`${t} apiKey falsy. did you set this.fnGetAPIKey (E: d964596b1538c0327209a92e97a54d25)`),{text:"no api key entered so no LLM chat happening. enter a gemini api key and donate/invest!"};this._genAI??=new Kt({apiKey:s});let a=Array.from(this.availableFunctions.values()).map(I=>({name:I.nameOrId,description:I.schema?.description,parameters:I.schema?.parameters}));a.some(I=>I.parameters==="undefined")&&console.error(`${t} (UNEXPECTED) function schema parameters not defined for all APIFunctionInfo values. (E: ae7227cdd65c0ab4513c7b282a1e4825)`),F&&(console.log(`${t} Gemini functionDeclarations:`),console.dir(a));let{systemPromptEntries:c,chatPromptHistoryParts:d,chatPromptCurrent:u}=e,f=oe(u);F&&console.log(`chatPromptCurrent_final (before decompression): ${L(f)} (I: bbd4c7b9f3225afe9da1761918d0ac25)`),F&&console.warn(`${t} skipping decompression for the moment. if we add decompression text when the last comment is a function response part, then we'll error out. Need to rethink compression/decompression with the new function call/response workflow. (W: 7478439f9bbbde30a1eab3c5189ea625)`);let h,m=p(async I=>{if(!this._genAI)throw new Error("(UNEXPECTED) this._genAI falsy? (E: 503a0d9e3f729de7653ee3565b017b25)");let T=d.map(N=>N.content),A={model:I,history:T,config:{systemInstruction:Xo({systemPromptEntries:c}),tools:[{functionDeclarations:a}],toolConfig:{functionCallingConfig:{mode:e.overrideFunctionCallingMode??_n.ANY}}}},P=this._genAI.chats.create(A),G={message:u.content.parts};return await P.sendMessage(G)},"fnGoModel"),g=0,b=o;do{g++;try{h=await m(b);break}catch(I){let T=I.message,A=I.status??"[STATUS?]";T.includes(`${503}`)?(console.error(`${t}[fnGoModel][${b}] error trying to get result from model. will try using backup model (${yt}) for this next call. error (${I.status}): ${y(I)} (E: a5cd7d174183518058da57cc6d0d8a25)`),b=yt):T.includes(`${429}`)?(console.error(`${t}[fnGoModel][${b}] error trying to get result from model. will try using backup model (${yt}) for this next call. error (${I.status}): ${y(I)} (E: a5cd7d174183518058da57cc6d0d8a25)`),b=yt):console.error(`${t}[fnGoModel][${b}] error trying to get result from model. error (${I.status}): ${y(I)} (E: a67d595c8ed313d458369d4d0b3e7f25)`)}await H(2e3)}while(!h&&g<Fi);if(!h)throw new Error("couldn't get result from model (E: ede013a53f875d99a96a2e257c7e7125)");let E=h,w=[],v=E.candidates?.[0]?.content?.parts||[];for(let I of v)I.functionCall&&w.push(I.functionCall);if(!w||w.length===0){if(F&&console.warn(`${t} no function calls in response, returning text. (W: 3a4b8c940983b9e28e3f04c01a09bb25)`),!E.text)throw new Error("response generated no function calls and no response.text (E: 6123b8cacfb834105ad3160cfc4ef825)");return{text:E.text}}return F&&(console.log(`${t} Gemini function calls:`),console.dir(w)),{functionCalls:w.map(I=>JSON.stringify(I,null,2))}}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async createPromptInfoEntriesFromGeminiComment({commentIbGib:e}){let t=`[${this.createPromptInfoEntriesFromGeminiComment.name}]`;try{F&&console.log(`${t} starting... (I: 826a9d6b120d96532afbe1f7a22e8d25)`);let i=await ci({ibGib:e});if(i.length>0)throw new Error(`validation errors with commentIbGib. Cannot create a prompt info entry. errors: ${i} (E: beee1893050f9bcf9842c66831595225)`);let{safeIbCommentMetadataText:o}=je({ib:e.ib});if(!o)throw new Error("(UNEXPECTED) addlMetaDataText falsy? we just validated the comment ibgib, so there should be the expected shape of the comment.ib. (E: facf5801f9ba158b1526dd09d0e1b325)");let{textSrc:s,timestampInTicks:a,errorMsg:c,other:d}=Yt({addlMetadataText:o,ifError:"warn"});if(c)throw new Error("(UNEXPECTED) errorMsg is truthy after parse addl metadata from comment.ib? we just validated the comment ibgib, so there should be the expected shape of the comment.ib. (? (E: 7fd7fac50851916f39ceccbe93446425)");if(!e.data)throw new Error("(UNEXPECTED) commentIbGib.data falsy? (E: 8ce54d28219237feddf8f25b5846cc25)");if(!e.data.text)throw new Error("(UNEXPECTED) commentIbGib.data.text falsy? (E: 8556fc95c401d1b5441454fceb8f2f25)");if(Qo({ibGib:e})){let f=await this.getFunctionInfoIbGibs({fcrCommentIbGib:e}),h=[],m=[];for(let E of f){let{call:w,response:v}=Zo({functionInfoIbGib:E});if(!w)throw new Error("(UNEXPECTED) call falsy? (E: 5c8f3bd6de3b300e1c105b9603bb7b25)");if(!v)throw new Error("(UNEXPECTED) response falsy? (E: d0388c838975c93126c1a6d64f781d25)");if(w.functionCall.name!==v.functionResponse.name)throw new Error("(UNEXPECTED) functionCall.name !== functionResponse.name? (E: e49f0d60093354db2b6ad17fdf86d425)");h.push(w),m.push(v)}let g={src:Z.AI,content:{role:Jt("ai"),parts:h}},b={src:Z.FUNCTION,content:{role:Jt(Z.FUNCTION),parts:m}};return[g,b]}else return[{src:s,content:{role:Jt(s),parts:[{text:e.data.text}]}}]}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async promptOneOff(e){let t=`${this.lc}[${this.promptOneOff.name}]`;try{F&&console.log(`${t} starting... (I: genuuid)`);let{text:i,systemInstructions:o}=e;if(!i)throw new Error("(UNEXPECTED) opts.text falsy? (E: genuuid)");if(!this.data)throw new Error("(UNEXPECTED) this.data falsy? (E: genuuid)");let{api:s,model:a}=this.data;if(s!=="gemini")throw new Error(`api not supported: ${s} (E: genuuid)`);F&&console.log(`${t} calling gemini api with model: ${a} (I: genuuid)`);let c=await this.fnGetAPIKey();if(!c){console.error(`${t} apiKey falsy. did you set this.fnGetAPIKey (E: genuuid)`);return}this._genAI??=new Kt({apiKey:c});let d=p(async b=>{if(!this._genAI)throw new Error("(UNEXPECTED) this._genAI falsy? (E: fbe235713d48f0d8e87cd0b88ec54825)");let E={model:b,config:{systemInstruction:o}},v=await this._genAI.chats.create(E).sendMessage({message:i});if(v.text)return v.text;throw new Error("response.text empty/falsy, potentially blocked by safety settings (E: a21a78c9471f27a42c07d1c859187825)")},"fnGoModel"),u,f=0,h=[];e.modelOverrides&&e.modelOverrides.length>0?h.push(...e.modelOverrides):h.push(a),e.modelBackupOverrides&&e.modelBackupOverrides.length>0?h.push(...e.modelBackupOverrides):h.push(yt);let m=0,g=1;do{f++,g++;let b=h[m];try{u=await d(b);break}catch(E){if(E instanceof Error){let w=E.message,v=E.status??"[STATUS?]";if(w.includes(`${503}`))if(m===h.length-1)console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${503}. we are already using the final backup model in our modelsToTry, so SOL here. will try again... error (${v}): ${y(E)} (E: 9bb63cb520b8bd3bb85d2ca20715c825)`);else{m++;let I=h[m];console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_MODEL_OVERLOADED ${503}. will try using the next model (${I}) for this next call. error (${v}): ${y(E)} (E: b07a041bb97ea95b03cd6f9856f01525)`)}else if(w.includes(`${429}`))if(m===h.length-1)console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${429}. we are already using the final backup model, so SOL here. will try again... error (${v}): ${y(E)} (E: d280c441aa37579bb2cfd29038202525)`);else{m++;let I=h[m];console.error(`${t}[fnGoModel][${b}] error trying to get result from model: GEMINI_ERROR_STATUS_RATE_QUOTA_EXCEEDED ${429}. will try using the next model (${I}) for this next call. error (${v}): ${y(E)} (E: a9869883fc72bf156f1691183e27ee25)`)}else console.error(`${t}[fnGoModel][${b}] error trying to get result from model. error (${v}): ${y(E)} (E: a67d595c8ed313d458369d4d0b3e7f25)`)}else console.error(`${t}[fnGoModel][${b}] (UNEXPECTED) error is not instanceof Error? The expected error from the @google/genai lib is supposed to be an instance of Error according to Gemini migration AI. (E: 15df95701e78b35f783d250801092825)`)}f>1&&await H(g*1e3)}while(!u&&f<Fi);return u}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async getFunctionInfoIbGibs({fcrCommentIbGib:e}){let t=`[${this.getFunctionInfoIbGibs.name}]`;try{F&&console.log(`${t} starting... (I: 976a684b7ae58cda523b17fc0c62e325)`);let i=[];if(!e)throw new Error(`${t} fcrCommentIbGib is falsy. (E: a01c80f415ab8737a81b7b2a2f479f25)`);if(!e.data)throw new Error(`${t} fcrCommentIbGib.data is falsy. (E: a03bc3662a8d6f69c1c077605727a025)`);let o=this._metaspace;if(!o)throw new Error("(UNEXPECTED) this.metaspace falsy. (E: 997d071847c5d7e80692f48191244e25)");let s=await this.getSuperSpace();if(!s)throw new Error("(UNEXPECTED) superSpace falsy? (E: dd1600f15e1e659c01f73991656a3325)");let a=e.rel8ns?.[oi]??[];if(a.length===0)return F&&console.warn(`${t} no functionInfoAddrs (I: 5f8965e92c305689c11677a1148b7425)`),[];F&&console.log(`${t} functionInfoAddrs: ${a} (I: e7b1f5a4576c493326b913e48a505e25)`);let c=await o.get({addrs:a,space:s});if(!c.success||!c.ibGibs||c.ibGibs.length!==a.length)throw new Error(`${t} could not retrieve function info ibgibs. errorMsg: ${c.errorMsg??"unknown error (E: 164246a6661d49f2b21d1b6769139625)"} (E: 0736d824876e420f91c089925191d425)`);return i=c.ibGibs,F&&console.log(`${t} resFunctionInfoIbGibs: ${L(i.map(d=>S({ibGib:d})))} (I: a5661b5c449608f0e8d773135a599a25)`),i}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}async loadIbGibDto(e){let t=`[${this.loadIbGibDto.name}]`;try{if(F&&console.log(`${t} starting... (I: cb0b1e9e22fce321ca9a26e7a5d4c825)`),await super.loadIbGibDto(e),!this.data)throw new Error("(UNEXPECTED) this.data falsy after load dto? (E: 77aecd066b0bbbd0c66e2658519bdb25)");let i=this._metaspace;if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: e5762b1e3f77f84ca338641edc011225)");let o=await this.getSuperSpace(),s=p(async()=>{this.availableFunctions=new Map;for(let d of this.data.availableFunctionNameOrIds){if(!d)throw new Error("(UNEXPECTED) nameOrId falsy, driven by this.data.availableFunctionNameOrIds? somehow a falsy nameOrId saved? (E: 7b63f177624de2415e1569e96ef8d125)");let u=rt().get(d);u?this.availableFunctions.set(d,u):Yo().includes(d)?F&&console.log(`${t} function nameOrId (${d}) found as deprecated. not adding to available functions on agent. (I: 983864ad5cd8af915fb135580e455425)`):console.error(`no function info in getAllFunctionInfos() found corresponding to nameOrId (${d}) and this was not found in getDeprecatedFunctionInfoNames(). this is logged here but we're not throwing. (E: db0da9880cf1e414c3f1078d3e9f0b25)`)}let a=this.rel8ns?.system??[];if(a.length>0){let d=await i.get({addrs:a,space:o});if(!d.success||d.errorMsg)throw new Error(`couldn't get system comments. error: ${y(d.errorMsg??"unknown error (E: c0b4d7aab724bcf58e88ffd496de8825)")} (E: 7925d4b5ec3a8f7a648c109941c38a25)`);if((d.ibGibs??[]).length!==a.length)throw new Error("(UNEXPECTED) (resGet_systemComments.ibGibs ?? []).length !== rel8dAddrs_system.length, but resGet.success truthy and resGet.errorMsg falsy? (E: 2055553b602e6c2fe49e956a1e423f25)");this.commentIbGibs_system=d.ibGibs}let c=this.rel8ns?.chat??[];if(c.length>0){let d=await i.get({addrs:c,space:o});if(!d.success||d.errorMsg)throw new Error(`couldn't get chat comments. error: ${y(d.errorMsg??"unknown error (E: c0b4d7aab724bcf58e88ffd496de8825)")} (E: 7925d4b5ec3a8f7a648c109941c38a25)`);if((d.ibGibs??[]).length!==c.length)throw new Error("(UNEXPECTED) (resGet_chatComments.ibGibs ?? []).length !== rel8dAddrs_chat.length, but resGet.success truthy and resGet.errorMsg falsy? (E: 2055553b602e6c2fe49e956a1e423f25)");this.commentIbGibs_chat=d.ibGibs}},"fn");await nn({scope:"prune",secondsValid:60,maxDelayMs:100,maxLockAttempts:1800,space:o,callerInstanceId:We(),fn:s})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{F&&console.log(`${t} complete.`)}}};setTimeout(()=>{Re().registerFactory({classname:Ve.name,fnDtoToAgentWitness:p(async e=>e.data?e.data.classname?e.data.classname===Ve.name?{applies:!0,agent:await es({agentIbGib:e})}:{applies:!1}:{applies:!1}:{applies:!1},"fnDtoToAgentWitness")})});function _l({currentContextTjpAddr:n}){let e=`[${_l.name}]`;try{F&&console.log(`${e} starting... (I: 7edafbba277d57eae51af325cf7eb225)`);let t=K({ibGibAddr:n});return`Your current context ibGibAddr is ${n}
681
+ It is very important that you use THIS context address. THIS context address takes precedence over previous contexts in your system chat history, because those chats may be from previous sessions per the user's POV. If there are any doubts, like if you're saying something and the user is not responding, then this may be the reason. You should call the function to get your context to be sure you are talking in the right one.`}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{F&&console.log(`${e} complete.`)}}p(_l,"getTextPartForCurrentContextTjpAddr");var qe=J,di=class n{static{p(this,"CreateConcreteAgentWitnessFactory_Gemini")}lc=`[${n.name}]`;arg;constructor(e){this.arg=e}async createInitialData(e){let t=`${this.lc}[${this.createInitialData.name}]`;try{qe&&console.log(`${t} starting... (I: f4c8ac488804666077cfc2237972d625)`);let{name:i,api:o,model:s,type:a,availableFunctions:c}=this.arg;if(!s)throw new Error("(UNEXPECTED) model falsy? (E: ee7286c772a37fa86236c85f96233625)");if(!e.data)throw new Error("(UNEXPECTED) superSpace.data falsy? (E: 858d5950b9ef7a0175482a51caaf9c25)");if(!e.data.uuid)throw new Error("(UNEXPECTED) superSpace.data.uuid falsy? (E: 08867535db1b254d73c050bd5086e525)");let d=oe(mr);return i&&(d.name=i),d.uuid=await jt(),d.superSpaceId=e.data.uuid,d.api=o,d.model=s,d.type=a,d.availableFunctionNameOrIds=c.map(u=>u.nameOrId),d.classname=Ve.name,d}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{qe&&console.log(`${t} complete.`)}}async createInitialRel8ns(){let e=`${this.lc}[${this.createInitialRel8ns.name}]`;try{return qe&&console.log(`${e} starting... (I: 2d4933ea3761bd7df701d8d306fb2825)`),Bi?oe(Bi):void 0}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{qe&&console.log(`${e} complete.`)}}async createWitness(){let e=`[${this.createWitness.name}]`;try{qe&&console.log(`${e} starting... (I: 36709dfa0c398d63d64c4f6ba9055625)`);let{api:t,model:i}=this.arg;if(t==="gemini"){let o=new Ve;return await o.initialized,o}else throw new Error(`(UNEXPECTED) unknown api: ${t}? only 'gemini' currently implemented (E: 2d1cb22ce787c6c42d4532c260320125)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{qe&&console.log(`${e} complete.`)}}};async function es({agentIbGib:n}){let e=`[${es.name}]`;try{qe&&console.log(`${e} starting... (I: 5a4efefba9e4bdfb942afbe7919fff25)`);let t=new Ve;return await t.initialized,await t.loadIbGibDto(n),t.fnGetAPIKey=async()=>await ut({dbName:Lt(),storeName:await Dt(),key:await Us()})??"",t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{qe&&console.log(`${e} complete.`)}}p(es,"agentIbGibDtoToWitness");var ee=J;async function ki({metaspace:n,space:e,createIfNone:t}){let i=`[${ki.name}]`;try{if(ee&&console.log(`${i} starting... (I: ad1594767abce66ca80fea8c8d89f325)`),e??=await n.getLocalUserSpace({lock:!1}),!e)throw new Error("(UNEXPECTED) space falsy after getting local user space? (E: bc68d97d46dcf1d15dd74edba200b725)");let o=await Ms({metaspace:n,space:e});if(!o.rel8ns)throw new Error("(UNEXPECTED) tagsIbGib.rel8ns falsy? (E: dc50e8d218fe5e30bbaec7f37d484525)");let a=(o.rel8ns[Es]??[]).filter(u=>{let{ib:f}=q({ibGibAddr:u});return f===xs}),c,d;if(a.length===0){if(t){ee&&console.log(`${i} creating new agents tag... (I: 47f4f4fa89f1a1bba960e0a6ff5f5225)`);let{newTagIbGib:u}=await n.createTagIbGib({text:_s,icon:Ss,description:As,space:e});return d=u,ee&&console.log(`${i} creating new agents tag complete. (I: 5f41d644f2b692348377f918057cf225)`),u}}else a.length===1?(c=a.at(0),ee&&console.log(`${i} exactly one agent tag addr found (${c}) in space (${e.ib}) (I: 7ef995963313c966216097760d0cdb25)`)):(c=a.at(0),console.error(`${i} more than one agent tag found in space (${e.ib})? Well, we're returning just the first one (${c}), but really we've not coded for this edge/future case. (E: 52a4e2e49d3c0d644df483119b46f125)`));if(c){let u=await n.get({addrs:[c],space:e});if(u.success&&u.ibGibs?.length===1)return d=u.ibGibs.at(0),d;throw new Error(`couldn't get agentTagAddr (${c}) in space (${e.ib}) (E: 53d9cdb7b769014a2de15871484cc325)`)}else throw new Error(`agentTagAddr not found, so there ain't no agents tag, and createIfNone was ${t}. (E: 54cb3164a118105f187e936613ff4625)`)}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ee&&console.log(`${i} complete.`)}}p(ki,"getTag_Agents");async function gn({metaspace:n,type:e,spaceId:t,space:i}){let o=`[${gn.name}]`;try{if(ee&&console.log(`${o} starting... (I: 41037d1926051c4b051769069f518f25)`),i??=await n.getLocalUserSpace({localSpaceId:t,lock:!1}),!i)throw new Error(`couldn't get local user space by id (${t}) (E: fe96076e79fb227c0ae2de077eb5e225)`);if(!await n.getSpecialIbGib({type:e,initialize:!0,dontWarnIfNotExist:!0,lock:!1,space:i}))throw new Error("(UNEXPECTED) couldn't initialize/get agents special ibgib? (E: 1abe0e2543711744adbdb7026b242e25)");let a=await n.getSpecialRel8dIbGibs({rel8nName:nt,type:e,space:i})??[],c=[];for(let d of a){if(d.data?.api!=="gemini")throw new Error("(UNEXPECTED) agentIbGib.data.api !== gemini? only gemini is implemented right now. (E: 7348fe8c68565bcf88a4052458f42d25)");let u=Re(),f=await u.getLatestAgent({id:d.data.uuid});if(!f){if(f=await u.getAgentWitnessFromDto({dto:d}),!f){debugger;throw new Error(`(UNEXPECTED) couldn't get actual agent witness from agent dto? have we registered classname (${d.data?.classname}) and factory fn with agents service? (E: bcbfdf6446793ac34d6f6118e050d325)`)}await u.updateOrSetLatestAgent({agent:f,throwIfNewerFound:!1})}c.push(f)}return c}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{ee&&console.log(`${o} complete.`)}}p(gn,"getAgents");async function jo({metaspace:n,type:e,space:t,newAgentIbGib:i}){await p(async()=>{let s=`[${jo.name}]`;try{if(ee&&console.log(`${s} starting... (I: bf6ff6bf4132eaa943eaa3af1ee17225)`),!i.data)throw new Error("(UNEXPECTED) newAgentIbGib.data falsy? (E: 26e03d0a8e286ac3a13b678a50c87a25)");if(!i.data.uuid)throw new Error("(UNEXPECTED) newAgentIbGib.data.uuid falsy? (E: 31b753e01275272484ea93e3dfe53225)");let c=await Re().getLatestAgent({id:i.data.uuid});if(c&&c.data.n>i.data.n){debugger;throw new Error(`latestInMemory.data!.n! > newAgentIbGib.data.n! ... in plain english, this means that there is a more recent (higher n) agent with the given agent's id (${i.data.uuid}) already in existence, but the caller is trying to update the special ibgib index with the older agent. (E: 5c0c028075736f22072c55e20a0c7e25)`)}let d=S({ibGib:i});await re({type:i.data.type,rel8nInfos:[{rel8nName:nt,ibGibs:[z({ibGib:i})]}],metaspace:n,space:t})}catch(a){throw console.error(`${s} ${y(a)}`),a}finally{ee&&console.log(`${s} complete.`)}},"fn")()}p(jo,"updateAgentIndex");async function ts({ibGib:n,metaspace:e,space:t}){let i=`[${ts.name}]`;try{if(ee&&console.log(`${i} starting...`),!n)throw new Error("ibGib required (E: 753a0aa13e4e5ea20d7f6bb92d963625)");let o=await on({ibGib:n,metaspace:e,space:t,scope:"agent",skipGetLatest:!1});if(!o){console.warn(`${i} couldn't find agent for domain ibGib (${n.ib}) (W: 9536a8e67fe83ddc819c476f5a50c825)`);return}let s=Y({ibGib:n,defaultIfNone:"incomingAddr"}),a=S({ibGib:o}),d=await Re().getAgentByAddr({agentAddr:a,metaspace:e,spaceId:t.data.uuid});return ee&&console.log(d?`${i} complete. Found agent ${S({ibGib:d})} for domain ${s}`:`${i} complete. No agent found for ibgib tjp ${s}`),d}catch(o){throw console.error(`${i} ${y(o)}`),o}}p(ts,"getAgentForDomainIbGib");function Di(n){let e=`[${Di.name}]`;try{ee&&console.log(`${e} starting... (I: 2a9899514ac6e478eb55819a57fd9725)`);let{api:t}=n;switch(t){case"gemini":return new di(n);default:throw new Error(`(UNEXPECTED) api: ${t}? only 'gemini' currently implemented? (E: 071fedab181fda80666858c14ea73625)`)}}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ee&&console.log(`${e} complete.`)}}p(Di,"getConcreteAgentFactory");function bt({tagText:n,contentText:e,randomIdLength:t}){let i=`[${bt.name}]`;try{ee&&console.log(`${i} starting... (I: 94104ec059c89d4ba458d96580791d25)`);let o=t?`${n}|${ct({count:t})}`:n;return[`[${o} begin]`,e,`[${o} end]`].join(`
682
+ `)}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{ee&&console.log(`${i} complete.`)}}p(bt,"taggifyForPrompt");function xt({textSrc:n,other:e}){let t=`[${xt.name}]`;return e?[n,We(),e].join("_"):[n,We()].join("_")}p(xt,"getAddlMetadataTextForAgentText");function Yt({addlMetadataText:n,ifError:e="warn"}){let t=`[${xt.name}]`;try{ee&&console.log(`${t} starting... (I: 89b8b19a8d785b945fe0f816df762d25)`);let[i,o,...s]=n.split("_");if(!i)throw new Error("addlMetadataText.textSrc falsy (E: 40bbec4269c1688ab1390fa5d5440325)");if(!dr(i))throw new Error(`addlMetadataText.textSrc (${i}) is unexpected value. Expected one of ${$i} (E: 02bae41275a39210e5737548747bd825)`);if(!o)throw new Error("addlMetadataText.timestampInTicks falsy (E: 03cbbc7515a1cff1fc7c12e3947c6825)");let a=Number.parseInt(o);if(Number.isNaN(a))throw new Error(`invalid timestampInTicks (${o}): value should be an integer but parse is NaN (E: 9d31e3563d972c02553ce18a19a19b25)`);return{textSrc:i,timestampInTicks:a,other:s.length>0?s:void 0}}catch(i){let o=`${t} ${y(i)}`;switch(e){case"ignore":return{textSrc:Z.UNKNOWN,timestampInTicks:0,errorMsg:y(i)};case"warn":return console.warn(`${t} ${o} (W: 3e1f4a98ad6461c9bd96462841c31b25)`),{textSrc:Z.UNKNOWN,timestampInTicks:0,errorMsg:y(i)};default:throw console.error(`${t} ${o} (E: 6396ed44947c52adf85788e1adc22825)`),new Error(o)}}finally{ee&&console.log(`${t} complete.`)}}p(Yt,"parseAddlMetadataTextForAgentText");function Li({data:n}){let e=`[${Li.name}]`,{name:t,uuid:i,type:o}=n;if(!t)throw new Error(`${e} data.name falsy (E: 4c172c5b8a110ae26479b8c4006f3225)`);if(!i)throw new Error(`${e} data.uuid falsy (E: 67d2c79ac39e70e5ecfd1745e1fd3525)`);if(!o)throw new Error(`${e} data.type falsy (E: 53bf1f9a145a16be81296437682a7a25)`);if([t,i,o].some(a=>a.includes(" ")))throw new Error("invalid data. ib must not contain spaces in name, uuid, type. (E: 36a56e4685163848458be06f51d4ad25)");return[mt,t,i,o].join(" ")}p(Li,"getAgentIb");function pr({ib:n}){let[e,t,i,o]=n.split(" ");if(e!==mt)throw new Error(`invalid ib. first term expected to e an atom: ${mt} (E: 3c01d42035d2e32c4bfd5c1bf363f725)`);if(!t)throw new Error("invalid ib. name falsy in agent ib (E: 8b494c544f05b8ef9c866078b761a725)");if(!i)throw new Error("invalid ib. uuid falsy in agent ib (E: aba195db3ddcb000324ebed15351b725)");if(!o)throw new Error("invalid ib. type falsy in agent ib (E: 8c814772394ae76342f95e885570c325)");return{atom:e,name:t,uuid:i,type:o}}p(pr,"parseAgentIb");async function ci({ibGib:n}){let e=`[${ci.name}]`;try{ee&&console.log(`${e} starting... (I: f9a733a5a05b7f7494836d86a79e2d25)`);let t=await dt({ibGib:n})??[];if(!tt({ibGib:n}))return t.push(`${e} not a comment ibgib (E: 08676d94c698c6e42e6c35e94a58f125)`),t;let{safeIbCommentMetadataText:i}=je({ib:n.ib});if(i){let o=Yt({addlMetadataText:i,ifError:"warn"});o.errorMsg&&t.push(`${e} could not parse addlMetadataText: ${o.errorMsg} (E: e178265c33e5e94947a02c1f9d6a7425)`)}else t.push(`${e} addlMetadataText falsy. this implies something is incorrect with the comment's ib, as we expect agent comments to have certain metadata (e.g. textSrc). See AgentWitness_V1 (and data interface) for more info. (E: 7c3c41c973a67256c432604666106b25)`);return t}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{ee&&console.log(`${e} complete.`)}}p(ci,"validateAgentWitnessCommentIbGib");var ui="settings",Km="general",Jm="text-editor",Wm="projects",Ym="projects-explorer",Xm="projects-dropdown",Qm="project",Zm="minigame",jm="chronologys",eg="identity-manager",ie={general:Km,textEditor:Jm,projects:Wm,projectsExplorer:Ym,projectsDropdown:Xm,project:Qm,minigame:Zm,chronologys:jm,identityManager:eg},tg=Object.values(ie);var ns={type:ie.general,editor:void 0,readonly:!0,viewer:"ibgib-raw-viewer"},is={type:ie.textEditor,wrap:"wrap"},ng={type:ie.project,openChildTjpAddrs:[],activeChildTjpAddr:void 0,lensMode:"raw"},ig={type:ie.minigame},og={type:ie.chronologys,openChildTjpAddrs:[],activeChildTjpAddr:void 0},sg={type:ie.identityManager,openChildTjpAddrs:[],activeChildTjpAddr:void 0},Sl={sections:{},children:{}};var Oe=J;async function os({ibGib:n}){let e=`[${os.name}]`;try{Oe&&console.log(`${e} starting... (I: 57ac4c0a3448bc5e98ecf5bfb02ce825)`);let{ib:t}=q({ibGib:n}),i=t.split(" ").at(0);if(!i)throw new Error("(UNEXPECTED) atom falsy? we split the ib by spaces (space-delimiter). this makes no sense. (E: 6a9ea640ae38823aeefc6ec82a05d625)");return`${ui}_${i}`}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Oe&&console.log(`${e} complete.`)}}p(os,"getSettingsScope");async function ve({settingsType:n,useCase:e}){let t=`[${ve.name}]`;try{if(Oe&&console.log(`${t} starting... (I: f13dff111048421cad5453f821487825)`),e.includes("_"))throw new Error("(UNEXPECTED) settingsType.includes('_')? should be kebab-cased or camelCased (E: 8f75e89b9378819ab882cc1870f1e825)");if(n.includes("_"))throw new Error("(UNEXPECTED) settingsType.includes('_')? should be kebab-cased or camelCased (E: 1d316b0808287c12689d1e882648b825)");return[n,e].join("_")}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{Oe&&console.log(`${t} complete.`)}}p(ve,"getSectionName");async function fi({sectionName:n,settingsIbGib:e}){let t=`[${fi.name}]`;try{if(Oe&&console.log(`${t} starting... (I: 266554b13f6ce6daa85c882f04805825)`),!e.data)throw new Error("(UNEXPECTED) settingsIbGib.data falsy? (E: dd3708f0515fb0b4d4024f4d336a3625)");if(!e.data.sections)throw new Error("(UNEXPECTED) settingsIbGib.data.sections falsy? what was the settingsIbGib even created for? (E: 31f85898a1c854e13440e278a79ceb25)");return(e.data.sections??{})[n]}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{Oe&&console.log(`${t} complete.`)}}p(fi,"getSettingsSection");function Al({scope:n}){let e=`[${Al.name}]`;try{return n.includes(" ")&&(console.warn(`${e} scope includes one or more spaces. These will be converted to double underscores. (W: 75a53c623d3110b5e874e5789b414325)`),n=n.replace(/ /g,"__")),`${ui} ${n}`}catch(t){throw console.error(`${e} ${y(t)}`),t}}p(Al,"getSettingsIb");async function ss({scope:n,metaspace:e,space:t,saveInSpace:i}){let o=`[${ss.name}]`;try{let s=Al({scope:n}),a=await xl(),d=await se.firstGen({parentIbGib:se.primitive({ib:ui}),ib:s,data:a,rel8ns:void 0,dna:!0,nCounter:!0,tjp:{timestamp:!0,uuid:!0}});if(i){if(!e)throw new Error("metaspace falsy but saveInSpace is true (E: f91adfe38d78e6e4f8bca278fce37925)");await e.persistTransformResult({resTransform:d,space:t}),await e.registerNewIbGib({ibGib:d.newIbGib,space:t})}return d}catch(s){throw console.error(`${o} ${y(s)}`),s}}p(ss,"createSettings");async function xl(){let n=`[${xl.name}]`;try{Oe&&console.log(`${n} starting... (I: 3d7cc3f242cc88ad28dafaf85d646a25)`);let e=oe(Sl),t=await ve({settingsType:"general",useCase:"default"}),i=await ve({settingsType:"general",useCase:"current"});e.sections[t]=oe(ns),e.sections[i]=oe(ns);let o=await ve({settingsType:"text-editor",useCase:"default"}),s=await ve({settingsType:"text-editor",useCase:"current"});return e.sections[o]=oe(is),e.sections[s]=oe(is),e}catch(e){throw console.error(`${n} ${y(e)}`),e}finally{Oe&&console.log(`${n} complete.`)}}p(xl,"getDefaultSettingsData");var R=J,de=class n{static{p(this,"IbGibDynamicComponentMetaBase")}lc=`[${n.name}]`;componentName="";routeRegExp=void 0;fnHandleRoute=void 0;fnGetMetaspace;bootstrapPromise;constructor({fnGetMetaspace:e,bootstrapPromise:t}){this.fnGetMetaspace=e,this.bootstrapPromise=t}},He=class n extends HTMLElement{static{p(this,"IbGibDynamicComponentInstanceBase")}lc=`[${n.name}]`;elements;createdPromise;settings;get agent(){return this.agents.at(0)}agents=[];get ib(){let{ib:e}=q({ibGibAddr:this.ibGibAddr??Q});return e}get gib(){let{gib:e}=q({ibGibAddr:this.ibGibAddr??Q});return e}ibGibAddr=Q;ibGibProxy;get ibGib(){let e=this.ibGibAddr??Q,{ib:t,gib:i}=q({ibGibAddr:e});return this.ibGibAddr&&!$t({gib:i})?this.ibGibProxy?.ibGib:se.primitive({ib:t})}get tjpAddr(){return this.ibGib?Y({ibGib:this.ibGib,defaultIfNone:"incomingAddr"}):void 0}meta;html;css;static get observedAttributes(){return["ibGibAddr"]}_instanceId;get instanceId(){return this._instanceId}agentsInitialized;connectedCount=0;_isBusy=!1;get isBusy(){return this._isBusy}showBusy({isBusy:e,title:t,msg:i,localOnly:o,animationEmoji:s}){let a=`${this.lc}[${this.showBusy.name}]`;try{this._isBusy=e,o?this.dispatchEvent(new CustomEvent(Gt,{detail:{isBusy:e,title:t,msg:i,animationEmoji:s},bubbles:!0,composed:!0})):window.dispatchEvent(new CustomEvent(Gt,{detail:{isBusy:e,title:t,msg:i,animationEmoji:s}}))}catch(c){throw console.error(`${a} ${y(c)}`),c}}async getMetaspace(){let e=`${this.lc}[${this.getMetaspace.name}]`;try{if(R&&console.log(`${e} starting... (I: 956418cf932823bc767ccc6a0fd2b325)`),!this.meta)throw new Error("(UNEXPECTED) this.meta falsy? (E: dd2bfae6c0e84b1d58c72e2922b51325)");return await this.meta.fnGetMetaspace()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}constructor(){super(),this._instanceId=ct({count:8})}async initialize(e){let{ibGibAddr:t,meta:i,html:o,css:s}=e,a=`${this.lc}[${this.initialize.name}]`;try{R&&console.log(`${a} starting... (I: c9b94131bc2f0d20e1397c214dad6725)`),this.ibGibAddr=t,this.meta=i,this.html=o,this.css=s,this.attachShadow({mode:"open"}),await this.meta.bootstrapPromise}catch(c){throw console.error(`${a} ${y(c)}`),c}finally{R&&console.log(`${a} complete.`)}}async initAgents(){let e=`${this.lc}[${this.initAgents.name}]`;R&&console.log(`${e} does nothing in base class (I: 0b31a650b942619a0e36a1a7f763e825)`)}async connectedCallback(){let e=`${this.lc}[${this.connectedCallback.name}]`;try{R&&console.log(`${e} starting... (I: 01bbbf69f1c75b03a29e7a85ebd2c725)`),this.connectedCount++,this.connectedCount===1?await this.connectedCallback_initComponent():await this.connectedCallback_reconnectComponent()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async connectedCallback_initComponent(){let e=`${this.lc}[${this.connectedCallback_initComponent.name}]`;try{if(R&&console.log(`${e} starting... (I: bc4af3f6751d841f51bad19e334efa25)`),!this.html)throw new Error("(UNEXPECTED) this.html is falsy? (E: a0a0ab7c8f987d78058dd7cad09a5125)");let t=document.createElement("template");if(t.innerHTML=this.css?`
683
683
  <style>
684
684
  ${this.css.join(`
685
685
  `)}
686
686
  </style>
687
687
  ${this.html}
688
- `:this.html,!this.shadowRoot)throw new Error("(UNEXPECTED) this.shadowRoot is falsy? (E: 1a3cf77d87767aaff37d31657ee73f25)");this.shadowRoot.appendChild(t.content),this.createdPromise=this.created(),await this.createdPromise}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async connectedCallback_reconnectComponent(){let e=`${this.lc}[${this.connectedCallback_reconnectComponent.name}]`;try{R&&console.log(`${e} starting... (I: 7fccefbeff68c0dda15642ebaa1eb525)`),console.log(`${e} does nothing in base class (I: 724bc670d4ccb0fde2b2fa49830cd425)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async disconnectedCallback(){let e=`${this.lc}[${this.disconnectedCallback.name}]`;try{R&&console.log(`${e} starting... (I: 6f3b25c23fb874b1ac513e8f0d1f4e25)`),await this.disconnected()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async attributeChangedCallback(e,t,i){let o=`${this.lc}[attributeChangedCallback]`;R&&console.log(`${o} starting... (I: 33cd68579171582166d25d8898640f25): ${e} ${t} => ${i}`),console.warn(`${o} nothing done in base class atow (W: 9eb93eb8fde7c0058c79cea841936a25)`)}async destroy(){let e=`${this.lc}[${this.destroy.name}]`;try{R&&console.log(`${e} starting... (I: 536989c9491b544105b6d01a688fbb25)`),await this.destroyed()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async destroyed(){let e=`${this.lc}[${this.destroyed.name}]`;try{R&&console.log(`${e} starting... (I: f34f3ca04b06b1e00ebe04df22331125)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}return R&&console.log(`${e} does nothing in the base class. (I: d9437f962e0aec40d69ad6159e7b5725)`),Promise.resolve()}async loadIbGib(e){let t=`${this.lc}[${this.loadIbGib.name}]`;try{R&&console.log(`${t} starting... (I: 4dcb1b7a3d86f3415ca7224c07126925)`);let i=e?.getLatest??!1;if(this.ibGib){console.warn(`${t} this.ibGib already loaded. idempotently returning early without doing anything. (W: 15498d346a32e884acec108cb3c8ee25)`);return}if(Nt({gib:H({ibGibAddr:this.ibGibAddr??Q}).gib})){R&&console.log(`${t} component loading primitive ibgib (I: 3349796ef6139c1e718c8626c7935625)`);return}let o=await this.getMetaspace(),s=await o.getLocalUserSpace({lock:!1});if(!s)throw new Error("(UNEXPECTED) local user space falsy? (E: bb093b7e9781064e8db9a4390b63bb25)");if(i){let h=await o.getLatestAddr({addr:this.ibGibAddr,space:s});h&&h!==this.ibGibAddr&&(this.ibGibAddr=h)}let a=await o.get({addrs:[this.ibGibAddr],space:s});if(!a.success||a.ibGibs?.length!==1)throw new Error(`couldn't get ibGib (${this.ibGibAddr}) in space (${s?.ib??"undefined"}) (E: 59c3461bebf3e0065df72bd1bd8dc125)`);let c=a.ibGibs.at(0),d=new Be;if(await d.initialized,!d.contextUpdated$)throw new Error("(UNEXPECTED) ibGibProxy.contextUpdated$ falsy? (E: 351dfc898d2c3da2d7928079cec14925)");if(d.contextUpdated$.subscribe(ke({next:p(async h=>{let m=`${t}[ibGibProxy.contextUpdated$][next]`;R&&console.log(`${m} nextIbGib: ${L(h)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleContextUpdated()},"next"),error:p(async h=>{debugger;console.error(`${t}[ibGibProxy.contextUpdated$][error] what up? ${y(h)}`)},"error")})),!d.newContextChild$)throw new Error("(UNEXPECTED) ibGibProxy.newContextChild$ falsy? (E: 2cbde5ab402cc6d81259c74d68bca725)");d.newContextChild$.subscribe(ke({next:p(async h=>{let m=`${t}[ibGibProxy.contextUpdated$][next]`;R&&console.log(`${m} childIbGib: ${L(h)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleNewContextChild({childIbGib:h})},"next"),error:p(async h=>{debugger;console.error(`${t}[ibGibProxy.contextUpdated$][error] what up? ${y(h)}`)},"error")}));let u=await d.witness(s),f=await d.witness(c);this.ibGibProxy=d,this.ibGibAddr=S({ibGib:d.ibGib})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{let{ibGib:t}=this;this.ibGibAddr=t?S({ibGib:t}):Q,R&&console.log(`${e} context updated. this.ibGibAddr (I: 64e5876f58cc54b5af777c94f13a4325)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}}async handleNewContextChild({childIbGib:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{R&&console.log(`${t} child added to contextcontext updated. childIbGib: ${L(e)} (I: 07d02c9182c6629cbbacd39fd0ff7f25)`),console.log(S({ibGib:e}))}catch(i){throw console.error(`${t} ${y(i)}`),i}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;try{if(R&&console.log(`${e} starting... (I: 7e5704afe17fb937c8473e7801f56e25)`),this.ibGib){let{punctiliarColor:t,punctiliarColorTranslucent:i,punctiliarColorContrast:o,tjpColor:s,tjpColorTranslucent:a,tjpColorContrast:c,errorMsg:d}=Qt({ibGib:this.ibGib,translucentAlpha:10});d?console.error(`${e} ${d} (E: 65e0d330d029c1fe39f3d6280dda3725)`):(this.style.setProperty("--ibgib-color",t),this.style.setProperty("--ibgib-color-translucent",i),this.style.setProperty("--ibgib-color-contrast",o),this.style.setProperty("--tjp-color",s??t),this.style.setProperty("--tjp-color-translucent",a??i),this.style.setProperty("--tjp-color-contrast",c??"lime"))}await this.renderUI_busy()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async renderUI_busy(){}async loadAgentsCoupledToIbGib({dontThrowIfNone:e}={}){let t=`${this.lc}[${this.loadAgentsCoupledToIbGib.name}]`;try{let i=await this.getMetaspace(),o=await i.getLocalUserSpace({lock:!1});if(!o)throw new Error("(UNEXPECTED) space falsy? we couldn't get the default local user space? (E: 06f5be2eec8abaa54d42ad982a155925)");if(!this.ibGib)throw new Error("(UNEXPECTED) this.ibGib falsy? (E: 9b24c4b4aa491a21b58fde9185eb9325)");let s=await Xo({ibGib:this.ibGib,metaspace:i,space:o});if(s){let a=s.data.n;await s.setActiveContext({contextIbGib:this.ibGib,loggingInfo:this.lc}),await O(32);let c=s.data.n;a!==c&&console.warn(`${t} setting active context for agent changed agent.data.n.
689
- agent.data: ${L(K({ibGib:s}))}
690
- ibGib.data: ${K({ibGib:this.ibGib})} (W: cb22e8b064d8c2d7b3b2c488ed169225)`),this.agents=[s]}else if(e)console.warn(`(UNEXPECTED) agent falsy? an agent should have been created and registered with the ibGib (${S({ibGib:this.ibGib})}) (W: e4219903462baab438a23c786d714825)`);else throw new Error(`(UNEXPECTED) agent falsy? an agent should have been created and registered with the ibGib (${S({ibGib:this.ibGib})}) (E: 7182d1aa070b9578c78a5b8b401d8425)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async getSettings({settingsType:e,useCase:t}){let i=`${this.lc}[${this.getSettings.name}]`;try{if(R&&console.log(`${i} starting... (I: 00c8dbedd2e8a8b988cc45f4186efd25)`),!this.settings)throw new Error("(UNEXPECTED) this.settings falsy? shouldn't this be initialized by now? (E: ceae480e28fab1da38b8def8b1060d25 (E: dc7d984c1c64293a3c3e0628dedadb25)");if(!this.settings.ibGib)throw new Error("(UNEXPECTED) this.settings.ibGib falsy? shouldn't this be initialized by now? especially since this.settings is truthy? (E: faef6878abaf00a4a6a6f6b85ce8c825)");let o=await ri({sectionName:await we({settingsType:e,useCase:t}),settingsIbGib:this.settings.ibGib});return o||R&&console.log(`${i} settingsSection does not exist. returning undefined. (I: 0462d83f5ae8049708274b88e9b0d825)`),o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{R&&console.log(`${i} complete.`)}}async updateSettings({settingsType:e,useCase:t,newSectionInfo:i}){let o=`${this.lc}[${this.updateSettings.name}]`;try{R&&console.log(`${o} starting... (I: 80ce98cf386e0c04d30e8b15ac0f2925)`);let s=await we({settingsType:e,useCase:t}),a=await ft({timeline:this.settings.ibGib,metaspace:await this.getMetaspace(),mut8Opts:{dataToAddOrPatch:{sections:{[s]:i}}}});await O(100)}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{R&&console.log(`${o} complete.`)}}async getCurrentSettings({settingsType:e}){let t=`${this.lc}[${this.getCurrentSettings.name}]`;try{if(R&&console.log(`${t} starting... (I: da0baee73e386089a8c059f83cc43825)`),!this.settings)return;let i=await we({settingsType:e,useCase:"current"});return ri({sectionName:i,settingsIbGib:this.settings.ibGib})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async initSettings(){let e=`${this.lc}[${this.initSettings.name}]`;try{if(R&&console.log(`${e} starting... (I: acfee8787d32a6075442e2887a386a25)`),!this.ibGib)throw new Error("(UNEXPECTED) this.ibGib falsy? (E: 8ce2e73bea87b9330b131778a3981825)");let t=await this.getMetaspace(),i=await t.getLocalUserSpace({lock:!1});if(!i)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: f77ce7269a6f0d7ad8978349b4c6cd25)");if(Nt({ibGib:this.ibGib})){console.error(`${e} this.ibGib is primitive, so what are we initializing settings for? (W: 9915089019b81c6935b32ae877095825)`);return}let o=await jo({ibGib:this.ibGib}),s=await Xt({scope:o,ibGib:this.ibGib,metaspace:t,space:i});if(s||(s=(await es({scope:o,metaspace:t,space:i,saveInSpace:!0})).newIbGib,await yi({scope:o,domainIbGib:this.ibGib,localIbGib:s,metaspace:t,space:i})),!s)throw new Error("(UNEXPECTED) settings falsy still? should be initialized. (E: a179adcbbab800cff849b8aa95fbe425)");let a=new Be;if(await a.setWrappedIbGib({ibGib:s,space:i}),this.settings=a,!await this.getCurrentSettings({settingsType:ie.general}))throw new Error("(UNEXPECTED) no current general settings? the settings should have been updated with this upon creation. (E: d10fd8d42b58d917180293a713009825)")}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async exportIbGib({ibGib:e,compress:t}){let i=`${this.lc}[${this.exportIbGib.name}]`;try{R&&console.log(`${i} starting... (I: 623d9463d919683be81f749821a95825)`);let o=await this.getMetaspace();if(!o)throw new Error("(UNEXPECTED) metaspace falsy? (E: 3d15dbd074ac0c15b834a788d0b57d25)");if(Nt({ibGib:e}))throw new Error("ibGib is primitive. Can't export primitive. (E: dd42c42e9fda0707e81c692af1a2a225)");let s=await o.getLocalUserSpace({lock:!1});if(!s)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: 7bb735be58282f1bd7abe5d9ffabb525)");await ks({ibGib:e,compress:t,metaspace:o,space:s})}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{R&&console.log(`${i} complete.`)}}async importIbGib({exportIbGibJsonString:e,rel8nName:t,force:i,skipRegisterTimelines:o,divergentTimelineStrategy:s}){let a=`${this.lc}[${this.importIbGib.name}]`;try{let c=await this.getMetaspace(),d=await c.getLocalUserSpace({lock:!1});if(!d)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: 947c983e57a91aa00c8c185320354325)");let[u,f]=await Ms({exportIbGibJsonString:e,metaspace:c});if(!u.data)throw new Error("(UNEXPECTED) rawExportIbGib.data falsy? this is assumed validated at this point. (E: 6bc4e84db08e3c6228b2c40c2ea50825)");let h=u.data.contextIbGibAddr,m=!1;if(!i){let g=await c.get({addr:h,space:d});g.success&&(g.ibGibs??[]).length===1&&(console.log(`${a} export's ibGib addr (${h}) already exists in the space, so we're skipping doing any physical importing of the export's graph. (I: 429b5bdcd0585c697869f568c4673825)`),m=!0)}if(!m){bi;let g=[],b=[];Object.values(f).forEach(x=>{hs({ibGib:x})?g.push(x):b.push(x)});let E=await c.put({ibGibs:g,isDna:!0,space:d,force:i});if(!E.success||E.errorMsg)throw new Error(`there was an error putting the export's dna ibgibs into the space (${d.ib}). error: ${E.errorMsg||"[unknown error (E: 7c7ef8d5281399b1d8f3fbeefba1b825)]"} (E: ce3e8b982208afc4889164ba20a31825)`);let{mapWithTjp_YesDna:w,mapWithTjp_NoDna:v,mapWithoutTjps:I}=bi({ibGibs:b}),T=await c.put({ibGibs:Object.values(I),space:d,force:i});if(!T.success||T.errorMsg)throw new Error(`there was an error putting the export's non-dna stone ibgibs (no-tjp) into the space (${d.ib}). error: ${T.errorMsg||"[unknown error (E: dc17f8ee7aed5c445f8b827f274b0825)]"} (E: 9561364961e89c132818f6784a607825)`);let _={...w,...v},P=Object.values(_),N=await c.put({ibGibs:P,space:d,force:i});if(!N.success||N.errorMsg)throw new Error(`there was an error putting the export's timeline ibgibs into the space (${d.ib}). error: ${N.errorMsg||"[unknown error (E: be4a28961574765798c8d3686ae89c25)]"} (E: 066796a23da3c9f748558fd25bfdf525)`);if(!o){let x=$e({ibGibs:P}),D=Object.values(x);for(let A of D){let k=A.at(-1);if(!k)throw new Error("(UNEXPECTED) latestInTimeline falsy? this would mean that we had an empty timeline, and this doesn't make sense... (E: 3bec09e79768cc39d8029f4fe3af9825)");let q=await c.getLatestAddr({ibGib:k,space:d});!1||await c.registerNewIbGib({ibGib:k,space:d})}}}throw new Error("not implemented (E: 66c308e420e848c8d7cd01c8fddf8425)")}catch(c){throw console.error(`${a} ${y(c)}`),c}finally{R&&console.log(`${a} complete.`)}}},Ot=class extends Ke{static{p(this,"IbGibDynamicComponentInstanceBase_Parent")}childInfos=[];get activeChildInfo(){return this.childInfos.find(e=>e.active)}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[${this.activateIbGib.name}]`;try{let m=function(g){let b=H({ibGibAddr:g.addr}).gib;return(W({gib:b}).tjpGib??b)===h};var o=m;for(p(m,"tabInfoSharesTjpGib"),R&&console.log(`${i} starting... (I: 05015d78983488496dcca4fa36718725)`);!this.createdPromise;)await O(50);if(await this.createdPromise,!this.elements)throw new Error("(UNEXPECTED) this.elements falsy? (E: fa221c138f211ee93c717c9dd0cf3225)");let{contentEl:s}=this.elements;if(!t&&!e)throw new Error("(UNEXPECTED) both ibGib and addr falsy? (E: 529fb88738cdacb10aea87b8450f2525)");if(t&&e&&S({ibGib:t})!==e)throw new Error("(UNEXPECTED) addr !== getIbGibAddr({ibGib})? (E: c99a94d8744e3a720cdbc094d53c4e25)");e??=S({ibGib:t});let a=await re(),c=await this.getLoadedChildInfo({addr:e,ibGib:t});if(c.active){console.log(`${i} same tab already active. returning early. childInfo.addr: ${c.addr} (user just clicked on the same tab) (I: e67c0d02f3143c49c7a20c82d0730225)`);return}let d=this.activeChildInfo;d&&(d.childBtnEl.classList.remove("active"),d.active=!1,s.innerHTML=""),c.childBtnEl.classList.add("active"),c.childBtnEl.scrollIntoView({behavior:"smooth"}),c.active=!0;let u=H({ibGibAddr:e}).gib,h=W({gib:u}).tjpGib??u;if(this.childInfos.some(g=>m(g))||this.childInfos.push(c),!c.component)throw new Error("(UNEXPECTED) childInfo.component falsy? should be populated by this point in code (E: 77abfd1e8cd395605d46716bd087fb25)");await a.inject({parentEl:s,componentToInject:c.component})}catch(s){throw console.error(`${i} ${y(s)}`),s}finally{R&&console.log(`${i} complete.`)}}},ai=class n extends Ot{static{p(this,"IbGibDynamicComponentInstanceBase_ParentOfTabs")}lc=`[${n.name}]`;get isBusy(){return this._reloadingTabs}_reloadingTabs=!1;get reloadingTabs(){return this._reloadingTabs}set reloadingTabs(e){let t=e!==this._reloadingTabs;this._reloadingTabs=e,t&&this.renderUI_busy()}async closeTab({ibGib:e}){let t=`${this.lc}[${this.closeTab.name}]`;try{R&&console.log(`${t} starting... (I: e0d5f8ed67b8a7f43822fa3843fd4525)`);let i=S({ibGib:e}),o=Y({ibGib:e,defaultIfNone:"incomingAddr"});if(!o)throw new Error(`(UNEXPECTED) tjpAddr false after incomingAddr default? ibGib: ${L(e)} (E: 707988b4d22a27c1287aa5a815d88825)`);let s=await this.getLoadedChildInfo({addr:i,ibGib:e}),a=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(!a)throw new Error(`(UNEXPECTED) settings_current falsy for this project? this.ibGib: ${L(this.ibGib)} (E: ecea08dcacd198bb38cc44a860cc6825)`);if(!a.openChildTjpAddrs.includes(o))throw new Error(`${t} (UNEXPECTED) projectSettings didn't have the tjpAddr (${o})? projectSettings: ${L(a)} (E: genuuid)`);let c=a.openChildTjpAddrs.filter(g=>g!==o),d;if(a.activeChildTjpAddr===o)if(c.length>0){let g=a.openChildTjpAddrs.indexOf(o)-1;g<0&&(g=0),d=a.openChildTjpAddrs.at(g)}else d=this.tjpAddr,c.push(this.tjpAddr);let u=await we({settingsType:this.settingsType,useCase:"current"}),f={...a,openChildTjpAddrs:c},h=await this.getMetaspace(),m=await ft({timeline:this.settings.ibGib,metaspace:h,mut8Opts:{dataToAddOrPatch:{sections:{[u]:f}}}});s.active&&await this.activateIbGib({addr:d}),this.childInfos=this.childInfos.filter(g=>g.addr!==s.addr),await this.removeTabBtn({tabInfo:s})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async reopenOldTabs(){let e=`${this.lc}[${this.reopenOldTabs.name}]`;try{R&&console.log(`${e} starting... (I: 195e7d34b3f8b761aa78dd384011f825)`);let t=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(!t)throw new Error("(UNEXPECTED) settings falsy? these should be initialized before now. (E: 2003ab77e01448d638216fc82aff5f25)");this.reloadingTabs=!0,await this.renderUI_busy();let i;try{for(let o of t.openChildTjpAddrs)i=o,await this.activateIbGib({addr:o})}catch(o){throw console.error(`${e} error during activating child ibGib tabs. childTjpAddr: ${i??"[unset?]"} (E: 0396b2e24d08f42ac94510bb718a1725)`),o}finally{this.reloadingTabs=!1}await this.activateIbGib({addr:t.activeChildTjpAddr})}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}},Je=class extends Ke{static{p(this,"IbGibFormInstanceBase")}setLoading(e,t="#btn-submit, #btn-generate",i){if(!this.shadowRoot)return;let o=this.shadowRoot.querySelector(t);if(o)if(o.disabled=e,e)o.setAttribute("data-loading","true"),i&&(o.setAttribute("data-original-text",o.textContent||""),o.textContent=i);else{o.removeAttribute("data-loading");let s=o.getAttribute("data-original-text");s!==null&&(o.textContent=s,o.removeAttribute("data-original-text"))}}setStatus(e,t,i="status-area",o="status-text"){if(!this.shadowRoot)return;let s=this.shadowRoot.getElementById(i),a=this.shadowRoot.getElementById(o);a&&(a.textContent=e,a.className=`status-msg ${t}`),s&&(e?s.classList.remove("hidden"):s.classList.add("hidden"))}dispatchShellMessage(e,t){this.dispatchEvent(new CustomEvent(te,{detail:{message:e,level:t,source:this.tagName.toLowerCase()},bubbles:!0,composed:!0}))}validateForm(e="form"){if(!this.shadowRoot)return!0;let t=this.shadowRoot.querySelector(e);if(t)return t.checkValidity();let i=this.shadowRoot.querySelectorAll("input, select, textarea"),o=!0;for(let s of Array.from(i)){let a=s;if(!a.checkValidity()){o=!1,a.reportValidity();break}}return o}validateInputPattern({input:e,pattern:t,errorMessage:i,required:o=!0}){if(!e)return!0;let s=e.value.trim();if(!s&&!o)return e.classList.remove("invalid"),e.setCustomValidity(""),!0;let a=t.test(s);return a?(e.classList.remove("invalid"),e.setCustomValidity("")):(e.classList.add("invalid"),e.setCustomValidity(i),e.reportValidity()),a}showBusy({isBusy:e,title:t,msg:i,localOnly:o,submitBtnSelector:s,loadingText:a,animationEmoji:c}){let d=`${this.lc}[${this.showBusy.name}]`;try{this.setLoading(e,s,a),this.toggleAllInputsDisabled(e),super.showBusy({isBusy:e,title:t,msg:i,localOnly:o,animationEmoji:c})}catch(u){throw console.error(`${d} ${y(u)}`),u}}toggleAllInputsDisabled(e){if(!this.shadowRoot)return;this.shadowRoot.querySelectorAll("input, select, textarea, button").forEach(i=>{i.id==="btn-submit"||i.id==="btn-generate"||(i.disabled=e)})}};function Cl(n,e,t){let i=`[${Cl.name}]`;try{globalThis.ibgib||(globalThis.ibgib={dbName_hack:n.dbName,apiKeyName_hack:n.apiKeyName,storeName_hack:n.storeName}),globalThis.ibgib[e]||(globalThis.ibgib[e]={version:t,spaceShim:{},fnDefaultGetAPIKey:p(async()=>await ut({dbName:n.dbName,storeName:n.storeName,key:n.apiKeyName})??"","fnDefaultGetAPIKey"),dbName_hack:n.dbName,apiKeyName_hack:n.apiKeyName,storeName_hack:n.storeName})}catch(o){throw console.error(`${i} ${y(o)}`),o}}p(Cl,"initIbGibGlobalThis");function ag(n,e,t){if(!globalThis.ibgib?.[n]){if(!e)throw new Error(`Global context not initialized and config not provided for key '${n}'.`);Cl(e,n,t)}return globalThis.ibgib[n]}p(ag,"getIbGibGlobalThis_IbGibApp");function Ee(n){let e=p(async()=>$(),"fnGetMetaspace"),t=new Promise(async(i,o)=>{try{let s=1e5,a=0,c;do{if(n)c=ag(n)?.bootstrapPromise;else if(c=globalThis.ibgib?.bootstrapPromise,!c&&globalThis.ibgib){let d=Object.keys(globalThis.ibgib);for(let u of d)if(globalThis.ibgib[u]?.bootstrapPromise){c=globalThis.ibgib[u].bootstrapPromise;break}}if(a++,a>s)break;await O(10)}while(c===void 0);if(!c){i();return}await c,i()}catch(s){o(s)}});return{fnGetMetaspace:e,bootstrapPromise:t}}p(Ee,"getComponentCtorArg");var _l="ibgib-identity-header",li=class extends ce{static{p(this,"IdentityHeaderComponentMeta")}lc="[IdentityHeaderComponentMeta]";routeRegExp=new RegExp(`^${_l}$`);componentName=_l;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,ts)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:js,css:[me,Zs]}),i}},ts=class extends Ke{static{p(this,"IdentityHeaderComponentInstance")}lc="[IdentityHeaderComponentInstance]";activeAddr=null;_onRequestIdentityChange=null;_onIdentityUpdateAvailable=null;_onIdentityChanged=null;_onDocumentClick=null;pendingUpdateDetail=null;keystoneCache=new Map;isDropdownLocked=!1;dropdownHideTimer=null;constructor(){super()}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o}),c={username:a?.name??"",description:a?.description??"",isPrimary:a?.isPrimary??!1};return this.keystoneCache.set(e,c),c}catch(s){return console.error(`${this.lc}[getKeystoneDetails] Registered keystone address ${e} not found in local browser space: ${y(s)} (E: a123456789abcdef0123456789c0002)`),{username:"",description:"",isPrimary:!1}}}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.btnIdentityPillEl=this.shadowRoot.getElementById("btn-identity-pill"),this.elements.pillAuthContentEl=this.shadowRoot.getElementById("pill-auth-content"),this.elements.pillUnauthContentEl=this.shadowRoot.getElementById("pill-unauth-content"),this.elements.identityAvatarEl=this.shadowRoot.getElementById("identity-avatar"),this.elements.identityUsernameEl=this.shadowRoot.getElementById("identity-username"),this.elements.updateBadgeEl=this.shadowRoot.getElementById("update-badge"),this.elements.dropdownMenuEl=this.shadowRoot.getElementById("dropdown-menu"),this.elements.sectionUpdateEl=this.shadowRoot.getElementById("section-update"),this.elements.btnMenuUpdateIdentityEl=this.shadowRoot.getElementById("btn-menu-update-identity"),this.elements.updateNTextEl=this.shadowRoot.getElementById("update-n-text"),this.elements.sectionIdentitiesEl=this.shadowRoot.getElementById("section-identities"),this.elements.identitiesListEl=this.shadowRoot.getElementById("identities-list"),this.elements.sectionActionsEl=this.shadowRoot.getElementById("section-actions"),this.elements.btnMenuCreateAccountEl=this.shadowRoot.getElementById("btn-menu-create-account"),this.elements.btnMenuSignInEl=this.shadowRoot.getElementById("btn-menu-sign-in"),this.elements.btnMenuGoogleSsoEl=this.shadowRoot.getElementById("btn-menu-google-sso"),this.elements.btnMenuGithubSsoEl=this.shadowRoot.getElementById("btn-menu-github-sso"),this.elements.sectionSettingsEl=this.shadowRoot.getElementById("section-settings"),this.elements.btnMenuManageEl=this.shadowRoot.getElementById("btn-menu-manage"),this.elements.syncProgressModalEl=this.shadowRoot.getElementById("sync-progress-modal"),this.elements.syncModalSpinnerEl=this.shadowRoot.getElementById("sync-modal-spinner"),this.elements.syncModalTitleEl=this.shadowRoot.getElementById("sync-modal-title"),this.elements.syncModalMsgEl=this.shadowRoot.getElementById("sync-modal-msg"),this.elements.syncModalStatusEl=this.shadowRoot.getElementById("sync-modal-status"),this.elements.syncModalNTextEl=this.shadowRoot.getElementById("sync-modal-n-text"),this.elements.btnSyncModalCloseEl=this.shadowRoot.getElementById("btn-sync-modal-close"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),await this.loadKeystonesIndex(),this._onRequestIdentityChange=e=>this.handleRequestIdentityChange(e),this._onIdentityUpdateAvailable=e=>this.handleIdentityUpdateAvailable(e),this._onIdentityChanged=e=>this.handleIdentityChanged(e),this._onDocumentClick=e=>{let t=e.composedPath?e.composedPath():[];this.elements?.containerEl&&!t.includes(this.elements.containerEl)&&this.closeDropdown()},window.addEventListener(Re,this._onRequestIdentityChange),window.addEventListener(Rt,this._onIdentityUpdateAvailable),window.addEventListener(Ie,this._onIdentityChanged),document.addEventListener("click",this._onDocumentClick),await this.resolveActiveIdentity(),await this.renderUI()}async loadKeystonesIndex(){let e=`${this.lc}[loadKeystonesIndex]`;try{let t=await $();if(!t)return;let i=await t.getLocalUserSpace({lock:!1});if(!i)return;let o=await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0});o&&(this.ibGibAddr=S({ibGib:o}),await this.loadIbGib(),await this.initSettings())}catch(t){console.error(`${e} ${y(t)}`)}}async disconnected(){this._onRequestIdentityChange&&window.removeEventListener(Re,this._onRequestIdentityChange),this._onIdentityUpdateAvailable&&window.removeEventListener(Rt,this._onIdentityUpdateAvailable),this._onIdentityChanged&&window.removeEventListener(Ie,this._onIdentityChanged),this._onDocumentClick&&document.removeEventListener("click",this._onDocumentClick)}closeDropdown(){this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.isDropdownLocked=!1,this.elements?.btnIdentityPillEl.classList.remove("locked"),this.elements?.dropdownMenuEl.classList.add("hidden")}initHandlers(){this.elements.containerEl.addEventListener("mouseenter",()=>{this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.elements.dropdownMenuEl.classList.remove("hidden")}),this.elements.containerEl.addEventListener("mouseleave",()=>{this.isDropdownLocked||(this.dropdownHideTimer=setTimeout(()=>{this.elements?.dropdownMenuEl.classList.add("hidden"),this.dropdownHideTimer=null},300))}),this.elements.btnIdentityPillEl.addEventListener("click",e=>{e.stopPropagation(),this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.isDropdownLocked=!this.isDropdownLocked,this.isDropdownLocked?(this.elements.btnIdentityPillEl.classList.add("locked"),this.elements.dropdownMenuEl.classList.remove("hidden")):(this.elements.btnIdentityPillEl.classList.remove("locked"),this.elements.dropdownMenuEl.classList.add("hidden"))}),this.elements.btnSyncModalCloseEl.addEventListener("click",e=>{e.stopPropagation(),this.elements?.syncProgressModalEl.classList.add("hidden")}),this.elements.btnMenuUpdateIdentityEl.addEventListener("click",async e=>{if(e.stopPropagation(),!this.activeAddr)return;let t=`${this.lc}[btnMenuUpdateIdentityEl.click]`;this.closeDropdown();let i=this.pendingUpdateDetail?.localN??0,o=this.pendingUpdateDetail?.serverN??0;this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u{1F504}",this.elements.syncModalSpinnerEl.style.animation="spin-pulse 2s infinite ease-in-out",this.elements.syncModalTitleEl.textContent="Updating Identity Keystone...",this.elements.syncModalMsgEl.textContent="Fetching delta graph from server and fast-forwarding local space...",this.elements.syncModalNTextEl.textContent=`n: ${i} \u2794 ${o}`,this.elements.btnSyncModalCloseEl.classList.add("hidden"),this.elements.syncProgressModalEl.classList.remove("hidden"));try{await Xe().updateActiveKeystone({activePrimaryAddr:this.activeAddr}),this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u2705",this.elements.syncModalSpinnerEl.style.animation="none",this.elements.syncModalTitleEl.textContent="Identity Updated!",this.elements.syncModalMsgEl.textContent="Successfully fast-forwarded identity keystone.",this.elements.btnSyncModalCloseEl.textContent="Done",this.elements.btnSyncModalCloseEl.classList.remove("hidden")),this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl.classList.add("hidden"),this.elements.sectionUpdateEl.classList.add("hidden")),setTimeout(()=>{this.elements?.syncProgressModalEl.classList.add("hidden")},1500),window.dispatchEvent(new CustomEvent(Ie,{detail:{activeIdentityAddr:this.activeAddr},bubbles:!0,composed:!0}))}catch(s){console.error(`${t} ${y(s)}`),this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u274C",this.elements.syncModalSpinnerEl.style.animation="none",this.elements.syncModalTitleEl.textContent="Update Failed",this.elements.syncModalMsgEl.textContent=y(s),this.elements.btnSyncModalCloseEl.textContent="Close",this.elements.btnSyncModalCloseEl.classList.remove("hidden"))}}),this.elements.btnMenuCreateAccountEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-keystone-creator"},bubbles:!0,composed:!0}))}),this.elements.btnMenuSignInEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-add-device"},bubbles:!0,composed:!0}))}),this.elements.btnMenuGoogleSsoEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown()}),this.elements.btnMenuGithubSsoEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown()}),this.elements.btnMenuManageEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),this.navigateToManager()})}navigateToManager(){window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager"},bubbles:!0,composed:!0}))}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{let t=globalThis.ibgib??{};if(!this.settings){this.activeAddr=null,t.identity=void 0;return}let o=(await this.getSettings({settingsType:ie.general,useCase:"current"}))?.activeIdentityAddr,a=(this.ibGib?.rel8ns?.keystone??[]).map(async u=>{let f=await this.getKeystoneDetails(u);return{addr:u,isPrimary:f?.isPrimary??!1}}),d=(await Promise.all(a)).filter(u=>u.isPrimary).map(u=>u.addr);if(o&&d.includes(o)?this.activeAddr=o:d.length>0?this.activeAddr=d[0]:this.activeAddr=null,this.activeAddr){let u=await $();if(u){let f=await u.getLocalUserSpace({lock:!1});if(f){let h=await u.get({addr:this.activeAddr,space:f});if(h.success&&h.ibGibs&&h.ibGibs.length>0){let m=h.ibGibs[0],g,b=m.data?.delegates;if(b)for(let E of Object.keys(b)){let w=b[E];if(w.allowedVerbs?.includes("sync")){let v=await u.get({addr:w.delegateAddr,space:f});if(v.success&&v.ibGibs&&v.ibGibs.length>0){g=v.ibGibs[0];break}}}t.identity={domainIdentity:m,syncDelegateIdentity:g,tjpAddr:this.activeAddr}}}}}else t.identity=void 0}catch(t){console.error(`${e} ${y(t)}`),this.activeAddr=null}}async renderUI(){if(!this.elements)return;let e=this.ibGib?.rel8ns?.keystone??[];if(this.activeAddr){let i=this.activeAddr;this.elements.btnIdentityPillEl.classList.remove("unauth"),this.elements.pillAuthContentEl.classList.remove("hidden"),this.elements.pillUnauthContentEl.classList.add("hidden");let o=await this.getKeystoneDetails(i),s=o.username||i.substring(0,10)+"...";this.elements.identityUsernameEl.textContent=s;let a=o.username?o.username.charAt(0).toUpperCase():"I";this.elements.identityAvatarEl.textContent=a;let c=Qt({ibGibAddr:i});this.elements.identityAvatarEl.style.backgroundColor=c.tjpColor||c.punctiliarColor,this.elements.identityAvatarEl.style.color=c.tjpColorContrast||c.punctiliarColorContrast}else this.elements.btnIdentityPillEl.classList.add("unauth"),this.elements.pillAuthContentEl.classList.add("hidden"),this.elements.pillUnauthContentEl.classList.remove("hidden");this.pendingUpdateDetail&&this.pendingUpdateDetail.hasUpdate&&(!this.pendingUpdateDetail.activePrimaryAddr||this.pendingUpdateDetail.activePrimaryAddr===this.activeAddr)?(this.elements.updateBadgeEl.classList.remove("hidden"),this.elements.sectionUpdateEl.classList.remove("hidden"),this.elements.updateNTextEl&&(this.elements.updateNTextEl.textContent=`n: ${this.pendingUpdateDetail.localN} \u2794 ${this.pendingUpdateDetail.serverN}`)):(this.elements.updateBadgeEl.classList.add("hidden"),this.elements.sectionUpdateEl.classList.add("hidden")),this.elements.identitiesListEl.innerHTML="";let t=[];for(let i of e){let o=await this.getKeystoneDetails(i);o.isPrimary&&t.push({addr:i,username:o.username||i.substring(0,10)+"..."})}if(t.length>0){this.elements.sectionIdentitiesEl.classList.remove("hidden");for(let i of t){let o=i.addr===this.activeAddr,s=document.createElement("button");s.className=`dropdown-item identity-item ${o?"active-identity":""}`,s.innerHTML=`
688
+ `:this.html,!this.shadowRoot)throw new Error("(UNEXPECTED) this.shadowRoot is falsy? (E: 1a3cf77d87767aaff37d31657ee73f25)");this.shadowRoot.appendChild(t.content),this.createdPromise=this.created(),await this.createdPromise}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async connectedCallback_reconnectComponent(){let e=`${this.lc}[${this.connectedCallback_reconnectComponent.name}]`;try{R&&console.log(`${e} starting... (I: 7fccefbeff68c0dda15642ebaa1eb525)`),console.log(`${e} does nothing in base class (I: 724bc670d4ccb0fde2b2fa49830cd425)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async disconnectedCallback(){let e=`${this.lc}[${this.disconnectedCallback.name}]`;try{R&&console.log(`${e} starting... (I: 6f3b25c23fb874b1ac513e8f0d1f4e25)`),await this.disconnected()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async attributeChangedCallback(e,t,i){let o=`${this.lc}[attributeChangedCallback]`;R&&console.log(`${o} starting... (I: 33cd68579171582166d25d8898640f25): ${e} ${t} => ${i}`),console.warn(`${o} nothing done in base class atow (W: 9eb93eb8fde7c0058c79cea841936a25)`)}async destroy(){let e=`${this.lc}[${this.destroy.name}]`;try{R&&console.log(`${e} starting... (I: 536989c9491b544105b6d01a688fbb25)`),await this.destroyed()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async destroyed(){let e=`${this.lc}[${this.destroyed.name}]`;try{R&&console.log(`${e} starting... (I: f34f3ca04b06b1e00ebe04df22331125)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}return R&&console.log(`${e} does nothing in the base class. (I: d9437f962e0aec40d69ad6159e7b5725)`),Promise.resolve()}async loadIbGib(e){let t=`${this.lc}[${this.loadIbGib.name}]`;try{R&&console.log(`${t} starting... (I: 4dcb1b7a3d86f3415ca7224c07126925)`);let i=e?.getLatest??!1;if(this.ibGib){console.warn(`${t} this.ibGib already loaded. idempotently returning early without doing anything. (W: 15498d346a32e884acec108cb3c8ee25)`);return}if($t({gib:q({ibGibAddr:this.ibGibAddr??Q}).gib})){R&&console.log(`${t} component loading primitive ibgib (I: 3349796ef6139c1e718c8626c7935625)`);return}let o=await this.getMetaspace(),s=await o.getLocalUserSpace({lock:!1});if(!s)throw new Error("(UNEXPECTED) local user space falsy? (E: bb093b7e9781064e8db9a4390b63bb25)");if(i){let h=await o.getLatestAddr({addr:this.ibGibAddr,space:s});h&&h!==this.ibGibAddr&&(this.ibGibAddr=h)}let a=await o.get({addrs:[this.ibGibAddr],space:s});if(!a.success||a.ibGibs?.length!==1)throw new Error(`couldn't get ibGib (${this.ibGibAddr}) in space (${s?.ib??"undefined"}) (E: 59c3461bebf3e0065df72bd1bd8dc125)`);let c=a.ibGibs.at(0),d=new Ue;if(await d.initialized,!d.contextUpdated$)throw new Error("(UNEXPECTED) ibGibProxy.contextUpdated$ falsy? (E: 351dfc898d2c3da2d7928079cec14925)");if(d.contextUpdated$.subscribe(Me({next:p(async h=>{let m=`${t}[ibGibProxy.contextUpdated$][next]`;R&&console.log(`${m} nextIbGib: ${L(h)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleContextUpdated()},"next"),error:p(async h=>{debugger;console.error(`${t}[ibGibProxy.contextUpdated$][error] what up? ${y(h)}`)},"error")})),!d.newContextChild$)throw new Error("(UNEXPECTED) ibGibProxy.newContextChild$ falsy? (E: 2cbde5ab402cc6d81259c74d68bca725)");d.newContextChild$.subscribe(Me({next:p(async h=>{let m=`${t}[ibGibProxy.contextUpdated$][next]`;R&&console.log(`${m} childIbGib: ${L(h)} (I: 96c846357b94fda2cefa615aed88c325)`),await this.handleNewContextChild({childIbGib:h})},"next"),error:p(async h=>{debugger;console.error(`${t}[ibGibProxy.contextUpdated$][error] what up? ${y(h)}`)},"error")}));let u=await d.witness(s),f=await d.witness(c);this.ibGibProxy=d,this.ibGibAddr=S({ibGib:d.ibGib})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{let{ibGib:t}=this;this.ibGibAddr=t?S({ibGib:t}):Q,R&&console.log(`${e} context updated. this.ibGibAddr (I: 64e5876f58cc54b5af777c94f13a4325)`)}catch(t){throw console.error(`${e} ${y(t)}`),t}}async handleNewContextChild({childIbGib:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{R&&console.log(`${t} child added to contextcontext updated. childIbGib: ${L(e)} (I: 07d02c9182c6629cbbacd39fd0ff7f25)`),console.log(S({ibGib:e}))}catch(i){throw console.error(`${t} ${y(i)}`),i}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;try{if(R&&console.log(`${e} starting... (I: 7e5704afe17fb937c8473e7801f56e25)`),this.ibGib){let{punctiliarColor:t,punctiliarColorTranslucent:i,punctiliarColorContrast:o,tjpColor:s,tjpColorTranslucent:a,tjpColorContrast:c,errorMsg:d}=sn({ibGib:this.ibGib,translucentAlpha:10});d?console.error(`${e} ${d} (E: 65e0d330d029c1fe39f3d6280dda3725)`):(this.style.setProperty("--ibgib-color",t),this.style.setProperty("--ibgib-color-translucent",i),this.style.setProperty("--ibgib-color-contrast",o),this.style.setProperty("--tjp-color",s??t),this.style.setProperty("--tjp-color-translucent",a??i),this.style.setProperty("--tjp-color-contrast",c??"lime"))}await this.renderUI_busy()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async renderUI_busy(){}async loadAgentsCoupledToIbGib({dontThrowIfNone:e}={}){let t=`${this.lc}[${this.loadAgentsCoupledToIbGib.name}]`;try{let i=await this.getMetaspace(),o=await i.getLocalUserSpace({lock:!1});if(!o)throw new Error("(UNEXPECTED) space falsy? we couldn't get the default local user space? (E: 06f5be2eec8abaa54d42ad982a155925)");if(!this.ibGib)throw new Error("(UNEXPECTED) this.ibGib falsy? (E: 9b24c4b4aa491a21b58fde9185eb9325)");let s=await ts({ibGib:this.ibGib,metaspace:i,space:o});if(s){let a=s.data.n;await s.setActiveContext({contextIbGib:this.ibGib,loggingInfo:this.lc}),await H(32);let c=s.data.n;a!==c&&console.warn(`${t} setting active context for agent changed agent.data.n.
689
+ agent.data: ${L(z({ibGib:s}))}
690
+ ibGib.data: ${z({ibGib:this.ibGib})} (W: cb22e8b064d8c2d7b3b2c488ed169225)`),this.agents=[s]}else if(e)console.warn(`(UNEXPECTED) agent falsy? an agent should have been created and registered with the ibGib (${S({ibGib:this.ibGib})}) (W: e4219903462baab438a23c786d714825)`);else throw new Error(`(UNEXPECTED) agent falsy? an agent should have been created and registered with the ibGib (${S({ibGib:this.ibGib})}) (E: 7182d1aa070b9578c78a5b8b401d8425)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async getSettings({settingsType:e,useCase:t}){let i=`${this.lc}[${this.getSettings.name}]`;try{if(R&&console.log(`${i} starting... (I: 00c8dbedd2e8a8b988cc45f4186efd25)`),!this.settings)throw new Error("(UNEXPECTED) this.settings falsy? shouldn't this be initialized by now? (E: ceae480e28fab1da38b8def8b1060d25 (E: dc7d984c1c64293a3c3e0628dedadb25)");if(!this.settings.ibGib)throw new Error("(UNEXPECTED) this.settings.ibGib falsy? shouldn't this be initialized by now? especially since this.settings is truthy? (E: faef6878abaf00a4a6a6f6b85ce8c825)");let o=await fi({sectionName:await ve({settingsType:e,useCase:t}),settingsIbGib:this.settings.ibGib});return o||R&&console.log(`${i} settingsSection does not exist. returning undefined. (I: 0462d83f5ae8049708274b88e9b0d825)`),o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{R&&console.log(`${i} complete.`)}}async updateSettings({settingsType:e,useCase:t,newSectionInfo:i}){let o=`${this.lc}[${this.updateSettings.name}]`;try{R&&console.log(`${o} starting... (I: 80ce98cf386e0c04d30e8b15ac0f2925)`);let s=await ve({settingsType:e,useCase:t}),a=await ft({timeline:this.settings.ibGib,metaspace:await this.getMetaspace(),mut8Opts:{dataToAddOrPatch:{sections:{[s]:i}}}});await H(100)}catch(s){throw console.error(`${o} ${y(s)}`),s}finally{R&&console.log(`${o} complete.`)}}async getCurrentSettings({settingsType:e}){let t=`${this.lc}[${this.getCurrentSettings.name}]`;try{if(R&&console.log(`${t} starting... (I: da0baee73e386089a8c059f83cc43825)`),!this.settings)return;let i=await ve({settingsType:e,useCase:"current"});return fi({sectionName:i,settingsIbGib:this.settings.ibGib})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async initSettings(){let e=`${this.lc}[${this.initSettings.name}]`;try{if(R&&console.log(`${e} starting... (I: acfee8787d32a6075442e2887a386a25)`),!this.ibGib)throw new Error("(UNEXPECTED) this.ibGib falsy? (E: 8ce2e73bea87b9330b131778a3981825)");let t=await this.getMetaspace(),i=await t.getLocalUserSpace({lock:!1});if(!i)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: f77ce7269a6f0d7ad8978349b4c6cd25)");if($t({ibGib:this.ibGib})){console.error(`${e} this.ibGib is primitive, so what are we initializing settings for? (W: 9915089019b81c6935b32ae877095825)`);return}let o=await os({ibGib:this.ibGib}),s=await on({scope:o,ibGib:this.ibGib,metaspace:t,space:i});if(s||(s=(await ss({scope:o,metaspace:t,space:i,saveInSpace:!0})).newIbGib,await Ii({scope:o,domainIbGib:this.ibGib,localIbGib:s,metaspace:t,space:i})),!s)throw new Error("(UNEXPECTED) settings falsy still? should be initialized. (E: a179adcbbab800cff849b8aa95fbe425)");let a=new Ue;if(await a.setWrappedIbGib({ibGib:s,space:i}),this.settings=a,!await this.getCurrentSettings({settingsType:ie.general}))throw new Error("(UNEXPECTED) no current general settings? the settings should have been updated with this upon creation. (E: d10fd8d42b58d917180293a713009825)")}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}async exportIbGib({ibGib:e,compress:t}){let i=`${this.lc}[${this.exportIbGib.name}]`;try{R&&console.log(`${i} starting... (I: 623d9463d919683be81f749821a95825)`);let o=await this.getMetaspace();if(!o)throw new Error("(UNEXPECTED) metaspace falsy? (E: 3d15dbd074ac0c15b834a788d0b57d25)");if($t({ibGib:e}))throw new Error("ibGib is primitive. Can't export primitive. (E: dd42c42e9fda0707e81c692af1a2a225)");let s=await o.getLocalUserSpace({lock:!1});if(!s)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: 7bb735be58282f1bd7abe5d9ffabb525)");await Ls({ibGib:e,compress:t,metaspace:o,space:s})}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{R&&console.log(`${i} complete.`)}}async importIbGib({exportIbGibJsonString:e,rel8nName:t,force:i,skipRegisterTimelines:o,divergentTimelineStrategy:s}){let a=`${this.lc}[${this.importIbGib.name}]`;try{let c=await this.getMetaspace(),d=await c.getLocalUserSpace({lock:!1});if(!d)throw new Error("(UNEXPECTED) couldn't get default local user space? (E: 947c983e57a91aa00c8c185320354325)");let[u,f]=await Ds({exportIbGibJsonString:e,metaspace:c});if(!u.data)throw new Error("(UNEXPECTED) rawExportIbGib.data falsy? this is assumed validated at this point. (E: 6bc4e84db08e3c6228b2c40c2ea50825)");let h=u.data.contextIbGibAddr,m=!1;if(!i){let g=await c.get({addr:h,space:d});g.success&&(g.ibGibs??[]).length===1&&(console.log(`${a} export's ibGib addr (${h}) already exists in the space, so we're skipping doing any physical importing of the export's graph. (I: 429b5bdcd0585c697869f568c4673825)`),m=!0)}if(!m){vi;let g=[],b=[];Object.values(f).forEach(_=>{ms({ibGib:_})?g.push(_):b.push(_)});let E=await c.put({ibGibs:g,isDna:!0,space:d,force:i});if(!E.success||E.errorMsg)throw new Error(`there was an error putting the export's dna ibgibs into the space (${d.ib}). error: ${E.errorMsg||"[unknown error (E: 7c7ef8d5281399b1d8f3fbeefba1b825)]"} (E: ce3e8b982208afc4889164ba20a31825)`);let{mapWithTjp_YesDna:w,mapWithTjp_NoDna:v,mapWithoutTjps:I}=vi({ibGibs:b}),T=await c.put({ibGibs:Object.values(I),space:d,force:i});if(!T.success||T.errorMsg)throw new Error(`there was an error putting the export's non-dna stone ibgibs (no-tjp) into the space (${d.ib}). error: ${T.errorMsg||"[unknown error (E: dc17f8ee7aed5c445f8b827f274b0825)]"} (E: 9561364961e89c132818f6784a607825)`);let A={...w,...v},P=Object.values(A),G=await c.put({ibGibs:P,space:d,force:i});if(!G.success||G.errorMsg)throw new Error(`there was an error putting the export's timeline ibgibs into the space (${d.ib}). error: ${G.errorMsg||"[unknown error (E: be4a28961574765798c8d3686ae89c25)]"} (E: 066796a23da3c9f748558fd25bfdf525)`);if(!o){let _=$e({ibGibs:P}),N=Object.values(_);for(let x of N){let M=x.at(-1);if(!M)throw new Error("(UNEXPECTED) latestInTimeline falsy? this would mean that we had an empty timeline, and this doesn't make sense... (E: 3bec09e79768cc39d8029f4fe3af9825)");let O=await c.getLatestAddr({ibGib:M,space:d});!1||await c.registerNewIbGib({ibGib:M,space:d})}}}throw new Error("not implemented (E: 66c308e420e848c8d7cd01c8fddf8425)")}catch(c){throw console.error(`${a} ${y(c)}`),c}finally{R&&console.log(`${a} complete.`)}}},Xt=class extends He{static{p(this,"IbGibDynamicComponentInstanceBase_Parent")}childInfos=[];get activeChildInfo(){return this.childInfos.find(e=>e.active)}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[${this.activateIbGib.name}]`;try{let m=function(g){let b=q({ibGibAddr:g.addr}).gib;return(K({gib:b}).tjpGib??b)===h};var o=m;for(p(m,"tabInfoSharesTjpGib"),R&&console.log(`${i} starting... (I: 05015d78983488496dcca4fa36718725)`);!this.createdPromise;)await H(50);if(await this.createdPromise,!this.elements)throw new Error("(UNEXPECTED) this.elements falsy? (E: fa221c138f211ee93c717c9dd0cf3225)");let{contentEl:s}=this.elements;if(!t&&!e)throw new Error("(UNEXPECTED) both ibGib and addr falsy? (E: 529fb88738cdacb10aea87b8450f2525)");if(t&&e&&S({ibGib:t})!==e)throw new Error("(UNEXPECTED) addr !== getIbGibAddr({ibGib})? (E: c99a94d8744e3a720cdbc094d53c4e25)");e??=S({ibGib:t});let a=await ae(),c=await this.getLoadedChildInfo({addr:e,ibGib:t});if(c.active){console.log(`${i} same tab already active. returning early. childInfo.addr: ${c.addr} (user just clicked on the same tab) (I: e67c0d02f3143c49c7a20c82d0730225)`);return}let d=this.activeChildInfo;d&&(d.childBtnEl.classList.remove("active"),d.active=!1,s.innerHTML=""),c.childBtnEl.classList.add("active"),c.childBtnEl.scrollIntoView({behavior:"smooth"}),c.active=!0;let u=q({ibGibAddr:e}).gib,h=K({gib:u}).tjpGib??u;if(this.childInfos.some(g=>m(g))||this.childInfos.push(c),!c.component)throw new Error("(UNEXPECTED) childInfo.component falsy? should be populated by this point in code (E: 77abfd1e8cd395605d46716bd087fb25)");await a.inject({parentEl:s,componentToInject:c.component})}catch(s){throw console.error(`${i} ${y(s)}`),s}finally{R&&console.log(`${i} complete.`)}}},pi=class n extends Xt{static{p(this,"IbGibDynamicComponentInstanceBase_ParentOfTabs")}lc=`[${n.name}]`;get isBusy(){return this._reloadingTabs}_reloadingTabs=!1;get reloadingTabs(){return this._reloadingTabs}set reloadingTabs(e){let t=e!==this._reloadingTabs;this._reloadingTabs=e,t&&this.renderUI_busy()}async closeTab({ibGib:e}){let t=`${this.lc}[${this.closeTab.name}]`;try{R&&console.log(`${t} starting... (I: e0d5f8ed67b8a7f43822fa3843fd4525)`);let i=S({ibGib:e}),o=Y({ibGib:e,defaultIfNone:"incomingAddr"});if(!o)throw new Error(`(UNEXPECTED) tjpAddr false after incomingAddr default? ibGib: ${L(e)} (E: 707988b4d22a27c1287aa5a815d88825)`);let s=await this.getLoadedChildInfo({addr:i,ibGib:e}),a=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(!a)throw new Error(`(UNEXPECTED) settings_current falsy for this project? this.ibGib: ${L(this.ibGib)} (E: ecea08dcacd198bb38cc44a860cc6825)`);if(!a.openChildTjpAddrs.includes(o))throw new Error(`${t} (UNEXPECTED) projectSettings didn't have the tjpAddr (${o})? projectSettings: ${L(a)} (E: genuuid)`);let c=a.openChildTjpAddrs.filter(g=>g!==o),d;if(a.activeChildTjpAddr===o)if(c.length>0){let g=a.openChildTjpAddrs.indexOf(o)-1;g<0&&(g=0),d=a.openChildTjpAddrs.at(g)}else d=this.tjpAddr,c.push(this.tjpAddr);let u=await ve({settingsType:this.settingsType,useCase:"current"}),f={...a,openChildTjpAddrs:c},h=await this.getMetaspace(),m=await ft({timeline:this.settings.ibGib,metaspace:h,mut8Opts:{dataToAddOrPatch:{sections:{[u]:f}}}});s.active&&await this.activateIbGib({addr:d}),this.childInfos=this.childInfos.filter(g=>g.addr!==s.addr),await this.removeTabBtn({tabInfo:s})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{R&&console.log(`${t} complete.`)}}async reopenOldTabs(){let e=`${this.lc}[${this.reopenOldTabs.name}]`;try{R&&console.log(`${e} starting... (I: 195e7d34b3f8b761aa78dd384011f825)`);let t=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(!t)throw new Error("(UNEXPECTED) settings falsy? these should be initialized before now. (E: 2003ab77e01448d638216fc82aff5f25)");this.reloadingTabs=!0,await this.renderUI_busy();let i;try{for(let o of t.openChildTjpAddrs)i=o,await this.activateIbGib({addr:o})}catch(o){throw console.error(`${e} error during activating child ibGib tabs. childTjpAddr: ${i??"[unset?]"} (E: 0396b2e24d08f42ac94510bb718a1725)`),o}finally{this.reloadingTabs=!1}await this.activateIbGib({addr:t.activeChildTjpAddr})}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{R&&console.log(`${e} complete.`)}}},ze=class extends He{static{p(this,"IbGibFormInstanceBase")}setLoading(e,t="#btn-submit, #btn-generate",i){if(!this.shadowRoot)return;let o=this.shadowRoot.querySelector(t);if(o)if(o.disabled=e,e)o.setAttribute("data-loading","true"),i&&(o.setAttribute("data-original-text",o.textContent||""),o.textContent=i);else{o.removeAttribute("data-loading");let s=o.getAttribute("data-original-text");s!==null&&(o.textContent=s,o.removeAttribute("data-original-text"))}}setStatus(e,t,i="status-area",o="status-text"){if(!this.shadowRoot)return;let s=this.shadowRoot.getElementById(i),a=this.shadowRoot.getElementById(o);a&&(a.textContent=e,a.className=`status-msg ${t}`),s&&(e?s.classList.remove("hidden"):s.classList.add("hidden"))}dispatchShellMessage(e,t){this.dispatchEvent(new CustomEvent(te,{detail:{message:e,level:t,source:this.tagName.toLowerCase()},bubbles:!0,composed:!0}))}validateForm(e="form"){if(!this.shadowRoot)return!0;let t=this.shadowRoot.querySelector(e);if(t)return t.checkValidity();let i=this.shadowRoot.querySelectorAll("input, select, textarea"),o=!0;for(let s of Array.from(i)){let a=s;if(!a.checkValidity()){o=!1,a.reportValidity();break}}return o}validateInputPattern({input:e,pattern:t,errorMessage:i,required:o=!0}){if(!e)return!0;let s=e.value.trim();if(!s&&!o)return e.classList.remove("invalid"),e.setCustomValidity(""),!0;let a=t.test(s);return a?(e.classList.remove("invalid"),e.setCustomValidity("")):(e.classList.add("invalid"),e.setCustomValidity(i),e.reportValidity()),a}showBusy({isBusy:e,title:t,msg:i,localOnly:o,submitBtnSelector:s,loadingText:a,animationEmoji:c}){let d=`${this.lc}[${this.showBusy.name}]`;try{this.setLoading(e,s,a),this.toggleAllInputsDisabled(e),super.showBusy({isBusy:e,title:t,msg:i,localOnly:o,animationEmoji:c})}catch(u){throw console.error(`${d} ${y(u)}`),u}}toggleAllInputsDisabled(e){if(!this.shadowRoot)return;this.shadowRoot.querySelectorAll("input, select, textarea, button").forEach(i=>{i.id==="btn-submit"||i.id==="btn-generate"||(i.disabled=e)})}};function Pl(n,e,t){let i=`[${Pl.name}]`;try{globalThis.ibgib||(globalThis.ibgib={dbName_hack:n.dbName,apiKeyName_hack:n.apiKeyName,storeName_hack:n.storeName}),globalThis.ibgib[e]||(globalThis.ibgib[e]={version:t,spaceShim:{},fnDefaultGetAPIKey:p(async()=>await ut({dbName:n.dbName,storeName:n.storeName,key:n.apiKeyName})??"","fnDefaultGetAPIKey"),dbName_hack:n.dbName,apiKeyName_hack:n.apiKeyName,storeName_hack:n.storeName})}catch(o){throw console.error(`${i} ${y(o)}`),o}}p(Pl,"initIbGibGlobalThis");function rg(n,e,t){if(!globalThis.ibgib?.[n]){if(!e)throw new Error(`Global context not initialized and config not provided for key '${n}'.`);Pl(e,n,t)}return globalThis.ibgib[n]}p(rg,"getIbGibGlobalThis_IbGibApp");function ye(n){let e=p(async()=>$(),"fnGetMetaspace"),t=new Promise(async(i,o)=>{try{let s=1e5,a=0,c;do{if(n)c=rg(n)?.bootstrapPromise;else if(c=globalThis.ibgib?.bootstrapPromise,!c&&globalThis.ibgib){let d=Object.keys(globalThis.ibgib);for(let u of d)if(globalThis.ibgib[u]?.bootstrapPromise){c=globalThis.ibgib[u].bootstrapPromise;break}}if(a++,a>s)break;await H(10)}while(c===void 0);if(!c){i();return}await c,i()}catch(s){o(s)}});return{fnGetMetaspace:e,bootstrapPromise:t}}p(ye,"getComponentCtorArg");var Nl="ibgib-identity-header",hi=class extends de{static{p(this,"IdentityHeaderComponentMeta")}lc="[IdentityHeaderComponentMeta]";routeRegExp=new RegExp(`^${Nl}$`);componentName=Nl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,rs)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:or,css:[he,ir]}),i}},rs=class extends He{static{p(this,"IdentityHeaderComponentInstance")}lc="[IdentityHeaderComponentInstance]";activeAddr=null;_onRequestIdentityChange=null;_onIdentityUpdateAvailable=null;_onIdentityChanged=null;_onDocumentClick=null;pendingUpdateDetail=null;keystoneCache=new Map;isDropdownLocked=!1;dropdownHideTimer=null;constructor(){super()}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o}),c={username:a?.name??"",description:a?.description??"",isPrimary:a?.isPrimary??!1};return this.keystoneCache.set(e,c),c}catch(s){return console.error(`${this.lc}[getKeystoneDetails] Registered keystone address ${e} not found in local browser space: ${y(s)} (E: a123456789abcdef0123456789c0002)`),{username:"",description:"",isPrimary:!1}}}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.btnIdentityPillEl=this.shadowRoot.getElementById("btn-identity-pill"),this.elements.pillAuthContentEl=this.shadowRoot.getElementById("pill-auth-content"),this.elements.pillUnauthContentEl=this.shadowRoot.getElementById("pill-unauth-content"),this.elements.identityAvatarEl=this.shadowRoot.getElementById("identity-avatar"),this.elements.identityUsernameEl=this.shadowRoot.getElementById("identity-username"),this.elements.updateBadgeEl=this.shadowRoot.getElementById("update-badge"),this.elements.dropdownMenuEl=this.shadowRoot.getElementById("dropdown-menu"),this.elements.sectionUpdateEl=this.shadowRoot.getElementById("section-update"),this.elements.btnMenuUpdateIdentityEl=this.shadowRoot.getElementById("btn-menu-update-identity"),this.elements.updateNTextEl=this.shadowRoot.getElementById("update-n-text"),this.elements.sectionIdentitiesEl=this.shadowRoot.getElementById("section-identities"),this.elements.identitiesListEl=this.shadowRoot.getElementById("identities-list"),this.elements.sectionActionsEl=this.shadowRoot.getElementById("section-actions"),this.elements.btnMenuCreateAccountEl=this.shadowRoot.getElementById("btn-menu-create-account"),this.elements.btnMenuSignInEl=this.shadowRoot.getElementById("btn-menu-sign-in"),this.elements.btnMenuGoogleSsoEl=this.shadowRoot.getElementById("btn-menu-google-sso"),this.elements.btnMenuGithubSsoEl=this.shadowRoot.getElementById("btn-menu-github-sso"),this.elements.sectionSettingsEl=this.shadowRoot.getElementById("section-settings"),this.elements.btnMenuManageEl=this.shadowRoot.getElementById("btn-menu-manage"),this.elements.syncProgressModalEl=this.shadowRoot.getElementById("sync-progress-modal"),this.elements.syncModalSpinnerEl=this.shadowRoot.getElementById("sync-modal-spinner"),this.elements.syncModalTitleEl=this.shadowRoot.getElementById("sync-modal-title"),this.elements.syncModalMsgEl=this.shadowRoot.getElementById("sync-modal-msg"),this.elements.syncModalStatusEl=this.shadowRoot.getElementById("sync-modal-status"),this.elements.syncModalNTextEl=this.shadowRoot.getElementById("sync-modal-n-text"),this.elements.btnSyncModalCloseEl=this.shadowRoot.getElementById("btn-sync-modal-close"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),await this.loadKeystonesIndex(),this._onRequestIdentityChange=e=>this.handleRequestIdentityChange(e),this._onIdentityUpdateAvailable=e=>this.handleIdentityUpdateAvailable(e),this._onIdentityChanged=e=>this.handleIdentityChanged(e),this._onDocumentClick=e=>{let t=e.composedPath?e.composedPath():[];this.elements?.containerEl&&!t.includes(this.elements.containerEl)&&this.closeDropdown()},window.addEventListener(Ge,this._onRequestIdentityChange),window.addEventListener(Rt,this._onIdentityUpdateAvailable),window.addEventListener(we,this._onIdentityChanged),document.addEventListener("click",this._onDocumentClick),await this.resolveActiveIdentity(),await this.renderUI()}async loadKeystonesIndex(){let e=`${this.lc}[loadKeystonesIndex]`;try{let t=await $();if(!t)return;let i=await t.getLocalUserSpace({lock:!1});if(!i)return;let o=await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0});o&&(this.ibGibAddr=S({ibGib:o}),await this.loadIbGib(),await this.initSettings())}catch(t){console.error(`${e} ${y(t)}`)}}async disconnected(){this._onRequestIdentityChange&&window.removeEventListener(Ge,this._onRequestIdentityChange),this._onIdentityUpdateAvailable&&window.removeEventListener(Rt,this._onIdentityUpdateAvailable),this._onIdentityChanged&&window.removeEventListener(we,this._onIdentityChanged),this._onDocumentClick&&document.removeEventListener("click",this._onDocumentClick)}closeDropdown(){this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.isDropdownLocked=!1,this.elements?.btnIdentityPillEl.classList.remove("locked"),this.elements?.dropdownMenuEl.classList.add("hidden")}initHandlers(){this.elements.containerEl.addEventListener("mouseenter",()=>{this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.elements.dropdownMenuEl.classList.remove("hidden")}),this.elements.containerEl.addEventListener("mouseleave",()=>{this.isDropdownLocked||(this.dropdownHideTimer=setTimeout(()=>{this.elements?.dropdownMenuEl.classList.add("hidden"),this.dropdownHideTimer=null},300))}),this.elements.btnIdentityPillEl.addEventListener("click",e=>{e.stopPropagation(),this.dropdownHideTimer&&(clearTimeout(this.dropdownHideTimer),this.dropdownHideTimer=null),this.isDropdownLocked=!this.isDropdownLocked,this.isDropdownLocked?(this.elements.btnIdentityPillEl.classList.add("locked"),this.elements.dropdownMenuEl.classList.remove("hidden")):(this.elements.btnIdentityPillEl.classList.remove("locked"),this.elements.dropdownMenuEl.classList.add("hidden"))}),this.elements.btnSyncModalCloseEl.addEventListener("click",e=>{e.stopPropagation(),this.elements?.syncProgressModalEl.classList.add("hidden")}),this.elements.btnMenuUpdateIdentityEl.addEventListener("click",async e=>{if(e.stopPropagation(),!this.activeAddr)return;let t=`${this.lc}[btnMenuUpdateIdentityEl.click]`;this.closeDropdown();let i=this.pendingUpdateDetail?.localN??0,o=this.pendingUpdateDetail?.serverN??0;this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u{1F504}",this.elements.syncModalSpinnerEl.style.animation="spin-pulse 2s infinite ease-in-out",this.elements.syncModalTitleEl.textContent="Updating Identity Keystone...",this.elements.syncModalMsgEl.textContent="Fetching delta graph from server and fast-forwarding local space...",this.elements.syncModalNTextEl.textContent=`n: ${i} \u2794 ${o}`,this.elements.btnSyncModalCloseEl.classList.add("hidden"),this.elements.syncProgressModalEl.classList.remove("hidden"));try{await Qe().updateActiveKeystone({activePrimaryAddr:this.activeAddr}),this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u2705",this.elements.syncModalSpinnerEl.style.animation="none",this.elements.syncModalTitleEl.textContent="Identity Updated!",this.elements.syncModalMsgEl.textContent="Successfully fast-forwarded identity keystone.",this.elements.btnSyncModalCloseEl.textContent="Done",this.elements.btnSyncModalCloseEl.classList.remove("hidden")),this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl.classList.add("hidden"),this.elements.sectionUpdateEl.classList.add("hidden")),setTimeout(()=>{this.elements?.syncProgressModalEl.classList.add("hidden")},1500),window.dispatchEvent(new CustomEvent(we,{detail:{activeIdentityAddr:this.activeAddr},bubbles:!0,composed:!0}))}catch(s){console.error(`${t} ${y(s)}`),this.elements&&(this.elements.syncModalSpinnerEl.textContent="\u274C",this.elements.syncModalSpinnerEl.style.animation="none",this.elements.syncModalTitleEl.textContent="Update Failed",this.elements.syncModalMsgEl.textContent=y(s),this.elements.btnSyncModalCloseEl.textContent="Close",this.elements.btnSyncModalCloseEl.classList.remove("hidden"))}}),this.elements.btnMenuCreateAccountEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-keystone-creator"},bubbles:!0,composed:!0}))}),this.elements.btnMenuSignInEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-add-device"},bubbles:!0,composed:!0}))}),this.elements.btnMenuGoogleSsoEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown()}),this.elements.btnMenuGithubSsoEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown()}),this.elements.btnMenuManageEl.addEventListener("click",e=>{e.stopPropagation(),this.closeDropdown(),this.navigateToManager()})}navigateToManager(){window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager"},bubbles:!0,composed:!0}))}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{let t=globalThis.ibgib??{};if(!this.settings){this.activeAddr=null,t.identity=void 0;return}let o=(await this.getSettings({settingsType:ie.general,useCase:"current"}))?.activeIdentityAddr,a=(this.ibGib?.rel8ns?.keystone??[]).map(async u=>{let f=await this.getKeystoneDetails(u);return{addr:u,isPrimary:f?.isPrimary??!1}}),d=(await Promise.all(a)).filter(u=>u.isPrimary).map(u=>u.addr);if(o&&d.includes(o)?this.activeAddr=o:d.length>0?this.activeAddr=d[0]:this.activeAddr=null,this.activeAddr){let u=await $();if(u){let f=await u.getLocalUserSpace({lock:!1});if(f){let h=await u.get({addr:this.activeAddr,space:f});if(h.success&&h.ibGibs&&h.ibGibs.length>0){let m=h.ibGibs[0],g,b=m.data?.delegates;if(b)for(let E of Object.keys(b)){let w=b[E];if(w.allowedVerbs?.includes("sync")){let v=await u.get({addr:w.delegateAddr,space:f});if(v.success&&v.ibGibs&&v.ibGibs.length>0){g=v.ibGibs[0];break}}}t.identity={domainIdentity:m,syncDelegateIdentity:g,tjpAddr:this.activeAddr}}}}}else t.identity=void 0}catch(t){console.error(`${e} ${y(t)}`),this.activeAddr=null}}async renderUI(){if(!this.elements)return;let e=this.ibGib?.rel8ns?.keystone??[];if(this.activeAddr){let i=this.activeAddr;this.elements.btnIdentityPillEl.classList.remove("unauth"),this.elements.pillAuthContentEl.classList.remove("hidden"),this.elements.pillUnauthContentEl.classList.add("hidden");let o=await this.getKeystoneDetails(i),s=o.username||i.substring(0,10)+"...";this.elements.identityUsernameEl.textContent=s;let a=o.username?o.username.charAt(0).toUpperCase():"I";this.elements.identityAvatarEl.textContent=a;let c=sn({ibGibAddr:i});this.elements.identityAvatarEl.style.backgroundColor=c.tjpColor||c.punctiliarColor,this.elements.identityAvatarEl.style.color=c.tjpColorContrast||c.punctiliarColorContrast}else this.elements.btnIdentityPillEl.classList.add("unauth"),this.elements.pillAuthContentEl.classList.add("hidden"),this.elements.pillUnauthContentEl.classList.remove("hidden");this.pendingUpdateDetail&&this.pendingUpdateDetail.hasUpdate&&(!this.pendingUpdateDetail.activePrimaryAddr||this.pendingUpdateDetail.activePrimaryAddr===this.activeAddr)?(this.elements.updateBadgeEl.classList.remove("hidden"),this.elements.sectionUpdateEl.classList.remove("hidden"),this.elements.updateNTextEl&&(this.elements.updateNTextEl.textContent=`n: ${this.pendingUpdateDetail.localN} \u2794 ${this.pendingUpdateDetail.serverN}`)):(this.elements.updateBadgeEl.classList.add("hidden"),this.elements.sectionUpdateEl.classList.add("hidden")),this.elements.identitiesListEl.innerHTML="";let t=[];for(let i of e){let o=await this.getKeystoneDetails(i);o.isPrimary&&t.push({addr:i,username:o.username||i.substring(0,10)+"..."})}if(t.length>0){this.elements.sectionIdentitiesEl.classList.remove("hidden");for(let i of t){let o=i.addr===this.activeAddr,s=document.createElement("button");s.className=`dropdown-item identity-item ${o?"active-identity":""}`,s.innerHTML=`
691
691
  <span class="icon">${o?"\u{1F7E2}":"\u26AA"}</span>
692
692
  <span class="identity-name">${i.username}</span>
693
693
  ${o?'<span class="identity-badge-active">Active</span>':""}
694
- `,s.addEventListener("click",a=>{a.stopPropagation(),this.closeDropdown(),o||window.dispatchEvent(new CustomEvent(Re,{detail:{activeIdentityAddr:i.addr},bubbles:!0,composed:!0}))}),this.elements.identitiesListEl.appendChild(s)}}else this.elements.sectionIdentitiesEl.classList.add("hidden")}handleIdentityUpdateAvailable(e){let t=e.detail;t&&(t.hasUpdate&&(!t.activePrimaryAddr||t.activePrimaryAddr===this.activeAddr)?(this.pendingUpdateDetail=t,this.elements&&(this.elements.updateBadgeEl?.classList.remove("hidden"),this.elements.sectionUpdateEl?.classList.remove("hidden"),this.elements.updateNTextEl&&(this.elements.updateNTextEl.textContent=`n: ${t.localN} \u2794 ${t.serverN}`))):(this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl?.classList.add("hidden"),this.elements.sectionUpdateEl?.classList.add("hidden"))))}async handleIdentityChanged(e){this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl?.classList.add("hidden"),this.elements.sectionUpdateEl?.classList.add("hidden")),await this.resolveActiveIdentity(),await this.renderUI()}async handleRequestIdentityChange(e){let t=`${this.lc}[handleRequestIdentityChange]`,i=e.detail?.activeIdentityAddr;if(i)try{if(!this.settings)return;let o=await this.getSettings({settingsType:ie.general,useCase:"current"})??{type:"general"};o.activeIdentityAddr=i,await this.updateSettings({settingsType:ie.general,useCase:"current",newSectionInfo:o}),await this.resolveActiveIdentity(),await this.renderUI(),window.dispatchEvent(new CustomEvent(Ie,{detail:{activeIdentityAddr:i},bubbles:!0,composed:!0}))}catch(o){console.error(`${t} ${y(o)}`)}}async handleContextUpdated(){await this.renderUI()}};var Sl=`:host {
694
+ `,s.addEventListener("click",a=>{a.stopPropagation(),this.closeDropdown(),o||window.dispatchEvent(new CustomEvent(Ge,{detail:{activeIdentityAddr:i.addr},bubbles:!0,composed:!0}))}),this.elements.identitiesListEl.appendChild(s)}}else this.elements.sectionIdentitiesEl.classList.add("hidden")}handleIdentityUpdateAvailable(e){let t=e.detail;t&&(t.hasUpdate&&(!t.activePrimaryAddr||t.activePrimaryAddr===this.activeAddr)?(this.pendingUpdateDetail=t,this.elements&&(this.elements.updateBadgeEl?.classList.remove("hidden"),this.elements.sectionUpdateEl?.classList.remove("hidden"),this.elements.updateNTextEl&&(this.elements.updateNTextEl.textContent=`n: ${t.localN} \u2794 ${t.serverN}`))):(this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl?.classList.add("hidden"),this.elements.sectionUpdateEl?.classList.add("hidden"))))}async handleIdentityChanged(e){this.pendingUpdateDetail=null,this.elements&&(this.elements.updateBadgeEl?.classList.add("hidden"),this.elements.sectionUpdateEl?.classList.add("hidden")),await this.resolveActiveIdentity(),await this.renderUI()}async handleRequestIdentityChange(e){let t=`${this.lc}[handleRequestIdentityChange]`,i=e.detail?.activeIdentityAddr;if(i)try{if(!this.settings)return;let o=await this.getSettings({settingsType:ie.general,useCase:"current"})??{type:"general"};o.activeIdentityAddr=i,await this.updateSettings({settingsType:ie.general,useCase:"current",newSectionInfo:o}),await this.resolveActiveIdentity(),await this.renderUI(),window.dispatchEvent(new CustomEvent(we,{detail:{activeIdentityAddr:i},bubbles:!0,composed:!0}))}catch(o){console.error(`${t} ${y(o)}`)}}async handleContextUpdated(){await this.renderUI()}};var $l=`:host {
695
695
  display: block;
696
696
  width: 100%;
697
697
  max-width: 100%;
@@ -868,7 +868,7 @@ h2 {
868
868
 
869
869
  .close-tab-button:hover {
870
870
  color: var(--clr-danger, #ff5555) !important;
871
- }`;var Al=`<div id="container" class="component-container">
871
+ }`;var Gl=`<div id="container" class="component-container">
872
872
  <header id="identity-manager-header">
873
873
  <h2 id="title">Identity Manager</h2>
874
874
  <div class="tabs-row">
@@ -886,8 +886,8 @@ h2 {
886
886
  <button id="btn-create-placeholder" class="action-btn">Create/Load Identity</button>
887
887
  </div>
888
888
  </div>
889
- </div>`;var xl="ibgib-identity-manager",ci=class extends ce{static{p(this,"IdentityManagerComponentMeta")}lc="[IdentityManagerComponentMeta]";routeRegExp=new RegExp(`^${xl}$`);componentName=xl;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,ns)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Al,css:[me,Sl]}),o}},ns=class extends ai{static{p(this,"IdentityManagerComponentInstance")}lc="[IdentityManagerComponentInstance]";globalActiveAddr=null;_onIdentityChanged=null;_onUiMessage=null;keystoneCache=new Map;metaspace;get settingsType(){return ie.identityManager}constructor(){super()}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1,n:0};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1,n:0};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o});if(a){let c={username:a.name,description:a.description,isPrimary:a.isPrimary,n:a.n};return this.keystoneCache.set(e,c),c}}catch(s){console.warn(`Error getting details for keystone ${e}: ${y(s)}`)}return{username:"",description:"",isPrimary:!1,n:0}}async initialize(e){this.metaspace||(this.metaspace=await $({delayIntervalMs:50})),e.ibGibAddr=await this.metaspace.getLatestAddr({addr:e.ibGibAddr})??e.ibGibAddr,await super.initialize(e)}async created(){this.elements={};let e=this.shadowRoot;this.elements.containerEl=e.getElementById("container"),this.elements.titleEl=e.getElementById("title"),this.elements.tabsListEl=e.getElementById("identity-tabs"),this.elements.btnAddIdentityEl=e.getElementById("btn-add-identity"),this.elements.noIdentityPlaceholderEl=e.getElementById("no-identity-placeholder"),this.elements.btnCreatePlaceholderEl=e.getElementById("btn-create-placeholder"),this.elements.contentEl=e.getElementById("identity-manager-content"),this.initHandlers(),this._onIdentityChanged=async t=>{if(this.globalActiveAddr=t.detail?.activeIdentityAddr||null,this.keystoneCache.clear(),await this.loadKeystonesIndex(),this.childInfos){for(let i of this.childInfos)if(i.component)try{let o=i.component;typeof o.loadIbGib=="function"&&await o.loadIbGib({getLatest:!0})}catch(o){console.warn(`[IdentityManager] Error reloading child component: ${y(o)}`)}}await this.renderUI()},window.addEventListener(Ie,this._onIdentityChanged),this.addEventListener("ibgib-view-keystone-details",async t=>{let i=t.detail?.addr;i&&await this.activateIbGib({addr:i})}),this._onUiMessage&&window.removeEventListener(te,this._onUiMessage),this._onUiMessage=t=>{let i=t.detail?.action,o=t.detail?.subAction;i==="show-keystone-creator"||o==="show-keystone-creator"?this.handleAddNewIdentityFlow("ibgib-keystone-creator"):(i==="show-add-device"||o==="show-add-device")&&this.handleAddNewIdentityFlow("ibgib-add-device")},window.addEventListener(te,this._onUiMessage),this.ibGibAddr===Q||!this.ibGib?await this.loadKeystonesIndex():await this.initSettings(),await this.renderUI(),this.restoreOrInitTabs()}async restoreOrInitTabs(){let e=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(e){let t=(e.openChildTjpAddrs??[]).filter(i=>{if(!i||i==="^"||i==="gib")return!1;let{gib:o}=H({ibGibAddr:i});return!!o&&o!=="gib"&&o!=="^"});if(t.length!==(e.openChildTjpAddrs??[]).length){e.openChildTjpAddrs=t;let i=await $();if(i){let o=await we({settingsType:this.settingsType,useCase:"current"});await ft({timeline:this.settings.ibGib,metaspace:i,mut8Opts:{dataToAddOrPatch:{sections:{[o]:e}}}})}}}!e||(e.openChildTjpAddrs??[]).length===0?await this.loadDefaultPrimaryIdentityTabs():await this.reopenOldTabs()}async disconnected(){this._onIdentityChanged&&(window.removeEventListener(Ie,this._onIdentityChanged),this._onIdentityChanged=null),this._onUiMessage&&(window.removeEventListener(te,this._onUiMessage),this._onUiMessage=null)}async loadKeystonesIndex(){let e=`${this.lc}[loadKeystonesIndex]`;try{let t=await $();if(!t)return;let i=await t.getLocalUserSpace({lock:!1});if(!i)return;let o=await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0});o&&(this.ibGibAddr=S({ibGib:o}),await this.loadIbGib({getLatest:!0}),await this.initSettings())}catch(t){console.error(`${e} ${y(t)}`)}}initHandlers(){this.elements.btnAddIdentityEl.addEventListener("click",()=>this.handleAddNewIdentityFlow("ibgib-keystone-creator")),this.elements.btnCreatePlaceholderEl.addEventListener("click",()=>this.handleAddNewIdentityFlow("ibgib-keystone-creator")),this.elements.tabsListEl.addEventListener("wheel",e=>{e.deltaY!==0&&(e.preventDefault(),this.elements.tabsListEl.scrollBy({left:e.deltaY,behavior:"smooth"}))},{passive:!1})}async handleAddNewIdentityFlow(e="ibgib-keystone-creator"){let t=`${this.lc}[${this.handleAddNewIdentityFlow.name}]`;console.log(`${t} Triggering identity creation/import flow (${e})...`);try{let o=await(await re()).getComponentInstance({path:e,ibGibAddr:Q,useRegExpPrefilter:!0});if(o){this.elements.noIdentityPlaceholderEl.classList.add("hidden");let s=this.elements.contentEl.querySelector("ibgib-keystone-creator");s&&s.remove();let a=this.elements.contentEl.querySelector("ibgib-add-device");a&&a.remove();let c=this.activeChildInfo;c&&(c.childBtnEl.classList.remove("active"),c.active=!1),this.elements.contentEl.innerHTML="",this.elements.contentEl.appendChild(o),console.log(`${t} Mounted ${e} successfully.`)}else throw new Error(`Could not find meta for ${e}`)}catch(i){console.error(`${t} ${y(i)}`)}}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{if(!this.settings){this.globalActiveAddr=null;return}let i=(await this.getSettings({settingsType:ie.general,useCase:"current"}))?.activeIdentityAddr,s=(this.ibGib?.rel8ns?.keystone??[]).map(async d=>{let u=await this.getKeystoneDetails(d);return{addr:d,isPrimary:u?.isPrimary??!1}}),c=(await Promise.all(s)).filter(d=>d.isPrimary).map(d=>d.addr);i&&c.includes(i)?this.globalActiveAddr=i:c.length>0?this.globalActiveAddr=c[0]:this.globalActiveAddr=null}catch(t){console.error(`${e} ${y(t)}`),this.globalActiveAddr=null}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;if(!this.elements)return;if(await this.resolveActiveIdentity(),(this.ibGib?.rel8ns?.keystone??[]).length===0&&this.childInfos.length===0){this.elements.noIdentityPlaceholderEl.classList.remove("hidden"),this.elements.contentEl.innerHTML="";return}this.elements.noIdentityPlaceholderEl.classList.add("hidden");for(let i of this.childInfos){let o=i.childBtnEl;o.className=`tab-btn ${i.active?"active":""} ${i.addr===this.globalActiveAddr?"global-active":""}`}}async loadDefaultPrimaryIdentityTabs(){let t=(this.ibGib?.rel8ns?.keystone??[]).filter(a=>{if(!a||a==="^"||a==="gib")return!1;let{gib:c}=H({ibGibAddr:a});return!!c&&c!=="gib"&&c!=="^"}).map(async a=>{let c=await this.getKeystoneDetails(a);return{addr:a,isPrimary:c?.isPrimary??!1}}),o=(await Promise.all(t)).filter(a=>a.isPrimary).map(a=>a.addr);if(o.length===0){this.elements.noIdentityPlaceholderEl.classList.remove("hidden");return}this.elements.noIdentityPlaceholderEl.classList.add("hidden"),this.reloadingTabs=!0;try{for(let a of o)await this.activateIbGib({addr:a})}finally{this.reloadingTabs=!1}let s=o.includes(this.globalActiveAddr||"")?this.globalActiveAddr:o[0];await this.activateIbGib({addr:s})}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[activateIbGib]`;try{if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace falsy? (E: f9e0e9a1427899eba8e469c18d7ae826)");if(await super.activateIbGib({addr:e,ibGib:t}),!this.activeChildInfo)throw new Error("(UNEXPECTED) activeChildInfo falsy after activateIbGib? (E: d76bd8bc300f3fdc486d50c8b2644826)");if(t??=this.activeChildInfo.component?.ibGib,!t)throw new Error("(UNEXPECTED) ibGib falsy? (E: 5b6ec745dd32fd2128635728e3f35e26)");if(!t.ib.startsWith(wi))throw new Error(`ibGib.ib (${t.ib}) does not start with keystone atom (${wi}) (E: e0df410381c8e569eb6da996e79b6826)`);if(this.elements.noIdentityPlaceholderEl.classList.add("hidden"),!this.reloadingTabs){let o=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(o){let s=!1,a=Y({ibGib:this.activeChildInfo.component?.ibGib||t,defaultIfNone:"incomingAddr"});if(a&&(o.openChildTjpAddrs.includes(a)||(o.openChildTjpAddrs.push(a),s=!0),o.activeChildTjpAddr!==a&&(o.activeChildTjpAddr=a,s=!0)),s){let c=await $();if(c){let d=await we({settingsType:this.settingsType,useCase:"current"});await ft({timeline:this.settings.ibGib,metaspace:c,mut8Opts:{dataToAddOrPatch:{sections:{[d]:o}}}})}}}}await this.renderUI()}catch(o){console.error(`${i} ${y(o)}`)}}async getLoadedChildInfo({addr:e,ibGib:t}){let i=`${this.lc}[getLoadedChildInfo]`;try{if(!e)throw new Error("(UNEXPECTED) addr falsy?");if(e==="^"||e==="gib"||H({ibGibAddr:e}).gib==="^")throw new Error(`Cannot load child info for primitive address ${e}`);let o=W({ibGibAddr:e}).tjpGib??H({ibGibAddr:e}).gib,s=p(async()=>{let u=await(await re()).getComponentInstance({path:"ibgib-keystone-scrubber",ibGibAddr:e,useRegExpPrefilter:!0});if(!u)throw new Error("(UNEXPECTED) detailsComponent falsy?");return u},"fnCreateAndLoadChildComponent"),a,c=this.childInfos.filter(d=>(W({ibGibAddr:d.addr}).tjpGib??H({ibGibAddr:d.addr}).gib)===o);if(c.length>0){if(c.length!==1)throw new Error("(UNEXPECTED) filtered.length !== 1?");a=c[0],a.component||(a.component=await s())}else{let d=await s(),u=0;for(;!d.ibGib;)if(await O(100),u++,u>50){debugger;throw new Error("(UNEXPECTED) detailsComponent.ibGib falsy? didn't load? (E: de50689834124914f770520f1eccb826)")}t=d.ibGib,e=S({ibGib:t});let f=await this.addChild({addr:e,ibGib:t});a={addr:e,childBtnEl:f,component:d,active:!1},this.childInfos.push(a)}return a}catch(o){throw console.error(`${i} ${y(o)}`),o}}async addChild({addr:e,ibGib:t}){let i=`${this.lc}[addChild]`;try{if(e??=S({ibGib:t}),e==="^"||e==="gib"||H({ibGibAddr:e}).gib==="^")throw new Error(`Cannot add child tab for primitive address ${e}`);if(!this.elements)throw new Error("(UNEXPECTED) this.elements falsy?");let{tabsListEl:o}=this.elements;e??=S({ibGib:t});let s=document.createElement("button");if(s.className="tab-btn",s.id=`identity-tab-button-${e}`,await this.updateTabTitleAndText({span:s,ibGib:t,addr:e}),!(await this.getKeystoneDetails(e)).isPrimary){let c=document.createElement("span");c.className="close-tab-button",c.textContent=" \xD7",c.style.marginLeft="0.5rem",c.style.cursor="pointer",s.appendChild(c),c.addEventListener("click",async d=>{d.stopPropagation(),await this.closeTab({ibGib:t})})}return o.appendChild(s),s.addEventListener("click",async c=>{await this.activateIbGib({addr:e})}),s}catch(o){throw console.error(`${i} ${y(o)}`),o}}async updateTabTitleAndText({span:e,ibGib:t,addr:i}){let o=await this.getKeystoneDetails(i),s=o.username,a=16;if(s)s.length>a&&(s=s.substring(0,a-3)+"..."),e.textContent=s;else{let d=i;d.length>12&&(d=d.substring(0,5)+"..."+d.substring(d.length-4)),e.textContent=d}let c=[];if(o.username&&c.push(`User: ${o.username}`),o.description){let d=o.description.length>100?o.description.substring(0,97)+"...":o.description;c.push(`Desc: ${d}`)}c.push(`Addr: ${i}`),e.title=c.join(`
890
- `)}async removeTabBtn({tabInfo:e}){this.elements.tabsListEl.removeChild(e.childBtnEl)}};var Pl=`:host {
889
+ </div>`;var Rl="ibgib-identity-manager",mi=class extends de{static{p(this,"IdentityManagerComponentMeta")}lc="[IdentityManagerComponentMeta]";routeRegExp=new RegExp(`^${Rl}$`);componentName=Rl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,as)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Gl,css:[he,$l]}),o}},as=class extends pi{static{p(this,"IdentityManagerComponentInstance")}lc="[IdentityManagerComponentInstance]";globalActiveAddr=null;_onIdentityChanged=null;_onUiMessage=null;keystoneCache=new Map;metaspace;get settingsType(){return ie.identityManager}constructor(){super()}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1,n:0};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1,n:0};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o});if(a){let c={username:a.name,description:a.description,isPrimary:a.isPrimary,n:a.n};return this.keystoneCache.set(e,c),c}}catch(s){console.warn(`Error getting details for keystone ${e}: ${y(s)}`)}return{username:"",description:"",isPrimary:!1,n:0}}async initialize(e){this.metaspace||(this.metaspace=await $({delayIntervalMs:50})),e.ibGibAddr=await this.metaspace.getLatestAddr({addr:e.ibGibAddr})??e.ibGibAddr,await super.initialize(e)}async created(){this.elements={};let e=this.shadowRoot;this.elements.containerEl=e.getElementById("container"),this.elements.titleEl=e.getElementById("title"),this.elements.tabsListEl=e.getElementById("identity-tabs"),this.elements.btnAddIdentityEl=e.getElementById("btn-add-identity"),this.elements.noIdentityPlaceholderEl=e.getElementById("no-identity-placeholder"),this.elements.btnCreatePlaceholderEl=e.getElementById("btn-create-placeholder"),this.elements.contentEl=e.getElementById("identity-manager-content"),this.initHandlers(),this._onIdentityChanged=async t=>{if(this.globalActiveAddr=t.detail?.activeIdentityAddr||null,this.keystoneCache.clear(),await this.loadKeystonesIndex(),this.childInfos){for(let i of this.childInfos)if(i.component)try{let o=i.component;typeof o.loadIbGib=="function"&&await o.loadIbGib({getLatest:!0})}catch(o){console.warn(`[IdentityManager] Error reloading child component: ${y(o)}`)}}await this.renderUI()},window.addEventListener(we,this._onIdentityChanged),this.addEventListener("ibgib-view-keystone-details",async t=>{let i=t.detail?.addr;i&&await this.activateIbGib({addr:i})}),this._onUiMessage&&window.removeEventListener(te,this._onUiMessage),this._onUiMessage=t=>{let i=t.detail?.action,o=t.detail?.subAction;i==="show-keystone-creator"||o==="show-keystone-creator"?this.handleAddNewIdentityFlow("ibgib-keystone-creator"):(i==="show-add-device"||o==="show-add-device")&&this.handleAddNewIdentityFlow("ibgib-add-device")},window.addEventListener(te,this._onUiMessage),this.ibGibAddr===Q||!this.ibGib?await this.loadKeystonesIndex():await this.initSettings(),await this.renderUI(),this.restoreOrInitTabs()}async restoreOrInitTabs(){let e=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(e){let t=(e.openChildTjpAddrs??[]).filter(i=>{if(!i||i==="^"||i==="gib")return!1;let{gib:o}=q({ibGibAddr:i});return!!o&&o!=="gib"&&o!=="^"});if(t.length!==(e.openChildTjpAddrs??[]).length){e.openChildTjpAddrs=t;let i=await $();if(i){let o=await ve({settingsType:this.settingsType,useCase:"current"});await ft({timeline:this.settings.ibGib,metaspace:i,mut8Opts:{dataToAddOrPatch:{sections:{[o]:e}}}})}}}!e||(e.openChildTjpAddrs??[]).length===0?await this.loadDefaultPrimaryIdentityTabs():await this.reopenOldTabs()}async disconnected(){this._onIdentityChanged&&(window.removeEventListener(we,this._onIdentityChanged),this._onIdentityChanged=null),this._onUiMessage&&(window.removeEventListener(te,this._onUiMessage),this._onUiMessage=null)}async loadKeystonesIndex(){let e=`${this.lc}[loadKeystonesIndex]`;try{let t=await $();if(!t)return;let i=await t.getLocalUserSpace({lock:!1});if(!i)return;let o=await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0});o&&(this.ibGibAddr=S({ibGib:o}),await this.loadIbGib({getLatest:!0}),await this.initSettings())}catch(t){console.error(`${e} ${y(t)}`)}}initHandlers(){this.elements.btnAddIdentityEl.addEventListener("click",()=>this.handleAddNewIdentityFlow("ibgib-keystone-creator")),this.elements.btnCreatePlaceholderEl.addEventListener("click",()=>this.handleAddNewIdentityFlow("ibgib-keystone-creator")),this.elements.tabsListEl.addEventListener("wheel",e=>{e.deltaY!==0&&(e.preventDefault(),this.elements.tabsListEl.scrollBy({left:e.deltaY,behavior:"smooth"}))},{passive:!1})}async handleAddNewIdentityFlow(e="ibgib-keystone-creator"){let t=`${this.lc}[${this.handleAddNewIdentityFlow.name}]`;console.log(`${t} Triggering identity creation/import flow (${e})...`);try{let o=await(await ae()).getComponentInstance({path:e,ibGibAddr:Q,useRegExpPrefilter:!0});if(o){this.elements.noIdentityPlaceholderEl.classList.add("hidden");let s=this.elements.contentEl.querySelector("ibgib-keystone-creator");s&&s.remove();let a=this.elements.contentEl.querySelector("ibgib-add-device");a&&a.remove();let c=this.activeChildInfo;c&&(c.childBtnEl.classList.remove("active"),c.active=!1),this.elements.contentEl.innerHTML="",this.elements.contentEl.appendChild(o),console.log(`${t} Mounted ${e} successfully.`)}else throw new Error(`Could not find meta for ${e}`)}catch(i){console.error(`${t} ${y(i)}`)}}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{if(!this.settings){this.globalActiveAddr=null;return}let i=(await this.getSettings({settingsType:ie.general,useCase:"current"}))?.activeIdentityAddr,s=(this.ibGib?.rel8ns?.keystone??[]).map(async d=>{let u=await this.getKeystoneDetails(d);return{addr:d,isPrimary:u?.isPrimary??!1}}),c=(await Promise.all(s)).filter(d=>d.isPrimary).map(d=>d.addr);i&&c.includes(i)?this.globalActiveAddr=i:c.length>0?this.globalActiveAddr=c[0]:this.globalActiveAddr=null}catch(t){console.error(`${e} ${y(t)}`),this.globalActiveAddr=null}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;if(!this.elements)return;if(await this.resolveActiveIdentity(),(this.ibGib?.rel8ns?.keystone??[]).length===0&&this.childInfos.length===0){this.elements.noIdentityPlaceholderEl.classList.remove("hidden"),this.elements.contentEl.innerHTML="";return}this.elements.noIdentityPlaceholderEl.classList.add("hidden");for(let i of this.childInfos){let o=i.childBtnEl;o.className=`tab-btn ${i.active?"active":""} ${i.addr===this.globalActiveAddr?"global-active":""}`}}async loadDefaultPrimaryIdentityTabs(){let t=(this.ibGib?.rel8ns?.keystone??[]).filter(a=>{if(!a||a==="^"||a==="gib")return!1;let{gib:c}=q({ibGibAddr:a});return!!c&&c!=="gib"&&c!=="^"}).map(async a=>{let c=await this.getKeystoneDetails(a);return{addr:a,isPrimary:c?.isPrimary??!1}}),o=(await Promise.all(t)).filter(a=>a.isPrimary).map(a=>a.addr);if(o.length===0){this.elements.noIdentityPlaceholderEl.classList.remove("hidden");return}this.elements.noIdentityPlaceholderEl.classList.add("hidden"),this.reloadingTabs=!0;try{for(let a of o)await this.activateIbGib({addr:a})}finally{this.reloadingTabs=!1}let s=o.includes(this.globalActiveAddr||"")?this.globalActiveAddr:o[0];await this.activateIbGib({addr:s})}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[activateIbGib]`;try{if(!this.metaspace)throw new Error("(UNEXPECTED) this.metaspace falsy? (E: f9e0e9a1427899eba8e469c18d7ae826)");if(await super.activateIbGib({addr:e,ibGib:t}),!this.activeChildInfo)throw new Error("(UNEXPECTED) activeChildInfo falsy after activateIbGib? (E: d76bd8bc300f3fdc486d50c8b2644826)");if(t??=this.activeChildInfo.component?.ibGib,!t)throw new Error("(UNEXPECTED) ibGib falsy? (E: 5b6ec745dd32fd2128635728e3f35e26)");if(!t.ib.startsWith(Ti))throw new Error(`ibGib.ib (${t.ib}) does not start with keystone atom (${Ti}) (E: e0df410381c8e569eb6da996e79b6826)`);if(this.elements.noIdentityPlaceholderEl.classList.add("hidden"),!this.reloadingTabs){let o=await this.getSettings({settingsType:this.settingsType,useCase:"current"});if(o){let s=!1,a=Y({ibGib:this.activeChildInfo.component?.ibGib||t,defaultIfNone:"incomingAddr"});if(a&&(o.openChildTjpAddrs.includes(a)||(o.openChildTjpAddrs.push(a),s=!0),o.activeChildTjpAddr!==a&&(o.activeChildTjpAddr=a,s=!0)),s){let c=await $();if(c){let d=await ve({settingsType:this.settingsType,useCase:"current"});await ft({timeline:this.settings.ibGib,metaspace:c,mut8Opts:{dataToAddOrPatch:{sections:{[d]:o}}}})}}}}await this.renderUI()}catch(o){console.error(`${i} ${y(o)}`)}}async getLoadedChildInfo({addr:e,ibGib:t}){let i=`${this.lc}[getLoadedChildInfo]`;try{if(!e)throw new Error("(UNEXPECTED) addr falsy?");if(e==="^"||e==="gib"||q({ibGibAddr:e}).gib==="^")throw new Error(`Cannot load child info for primitive address ${e}`);let o=K({ibGibAddr:e}).tjpGib??q({ibGibAddr:e}).gib,s=p(async()=>{let u=await(await ae()).getComponentInstance({path:"ibgib-keystone-scrubber",ibGibAddr:e,useRegExpPrefilter:!0});if(!u)throw new Error("(UNEXPECTED) detailsComponent falsy?");return u},"fnCreateAndLoadChildComponent"),a,c=this.childInfos.filter(d=>(K({ibGibAddr:d.addr}).tjpGib??q({ibGibAddr:d.addr}).gib)===o);if(c.length>0){if(c.length!==1)throw new Error("(UNEXPECTED) filtered.length !== 1?");a=c[0],a.component||(a.component=await s())}else{let d=await s(),u=0;for(;!d.ibGib;)if(await H(100),u++,u>50){debugger;throw new Error("(UNEXPECTED) detailsComponent.ibGib falsy? didn't load? (E: de50689834124914f770520f1eccb826)")}t=d.ibGib,e=S({ibGib:t});let f=await this.addChild({addr:e,ibGib:t});a={addr:e,childBtnEl:f,component:d,active:!1},this.childInfos.push(a)}return a}catch(o){throw console.error(`${i} ${y(o)}`),o}}async addChild({addr:e,ibGib:t}){let i=`${this.lc}[addChild]`;try{if(e??=S({ibGib:t}),e==="^"||e==="gib"||q({ibGibAddr:e}).gib==="^")throw new Error(`Cannot add child tab for primitive address ${e}`);if(!this.elements)throw new Error("(UNEXPECTED) this.elements falsy?");let{tabsListEl:o}=this.elements;e??=S({ibGib:t});let s=document.createElement("button");if(s.className="tab-btn",s.id=`identity-tab-button-${e}`,await this.updateTabTitleAndText({span:s,ibGib:t,addr:e}),!(await this.getKeystoneDetails(e)).isPrimary){let c=document.createElement("span");c.className="close-tab-button",c.textContent=" \xD7",c.style.marginLeft="0.5rem",c.style.cursor="pointer",s.appendChild(c),c.addEventListener("click",async d=>{d.stopPropagation(),await this.closeTab({ibGib:t})})}return o.appendChild(s),s.addEventListener("click",async c=>{await this.activateIbGib({addr:e})}),s}catch(o){throw console.error(`${i} ${y(o)}`),o}}async updateTabTitleAndText({span:e,ibGib:t,addr:i}){let o=await this.getKeystoneDetails(i),s=o.username,a=16;if(s)s.length>a&&(s=s.substring(0,a-3)+"..."),e.textContent=s;else{let d=i;d.length>12&&(d=d.substring(0,5)+"..."+d.substring(d.length-4)),e.textContent=d}let c=[];if(o.username&&c.push(`User: ${o.username}`),o.description){let d=o.description.length>100?o.description.substring(0,97)+"...":o.description;c.push(`Desc: ${d}`)}c.push(`Addr: ${i}`),e.title=c.join(`
890
+ `)}async removeTabBtn({tabInfo:e}){this.elements.tabsListEl.removeChild(e.childBtnEl)}};var Ml=`:host {
891
891
  display: block;
892
892
  width: 100%;
893
893
  margin: 1rem auto;
@@ -1088,7 +1088,7 @@ h2 {
1088
1088
  input::placeholder {
1089
1089
  color: rgba(255, 255, 255, 0.35);
1090
1090
  opacity: 1;
1091
- }`;var Nl=`<div id="container" class="component-container">
1091
+ }`;var kl=`<div id="container" class="component-container">
1092
1092
  <h2 id="title">Create Account</h2>
1093
1093
 
1094
1094
  <!-- Mode Selector Tabs -->
@@ -1210,12 +1210,12 @@ input::placeholder {
1210
1210
  \u2139\uFE0F Primary email addresses and identity keystones form part of the public graph for account discovery. Business data requires authorized sync delegates. Learn more in our <a id="link-privacy-policy" href="#privacy" style="color: #89b4fa; text-decoration: underline;">Privacy Policy</a>.
1211
1211
  </div>
1212
1212
  </div>
1213
- </div>`;var $l={$schema:"../../schemas/primary/primary-keystone.schema.json",metadata:{name:"Primary Identity Profile (Dev)",securityLevel:"low"},pools:{manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-256",rounds:1,behavior:{size:10,replenish:"replace-all",selectSequentially:1,selectRandomly:1,targetBindingCount:2}}}};var Rl={$schema:"../../schemas/primary/primary-keystone.schema.json",metadata:{name:"Primary Identity Profile (Staging)",securityLevel:"medium"},pools:{manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-512",rounds:3,behavior:{size:500,replenish:"replace-all",selectSequentially:4,selectRandomly:4,targetBindingCount:6}}}};var Gl={$schema:"../../schemas/primary/primary-keystone.schema.json",metadata:{name:"Primary Identity Profile (Prod)",securityLevel:"high"},pools:{manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-512",rounds:6,behavior:{size:2e3,replenish:"replace-all",selectSequentially:12,selectRandomly:12,targetBindingCount:16}}}};var Ml={$schema:"../../schemas/sync/sync-keystone.schema.json",metadata:{name:"Sync Delegate Profile (Dev)",securityLevel:"low"},pools:{sync:{id:"sync",allowedVerbs:["sync"],algo:"SHA-256",rounds:1,behavior:{size:10,replenish:"top-up",selectSequentially:1,selectRandomly:1,targetBindingCount:2}},manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-256",rounds:2,behavior:{size:10,replenish:"replace-all",selectSequentially:1,selectRandomly:1,targetBindingCount:2}},connect:{id:"connect",allowedVerbs:["connect"],algo:"SHA-256",rounds:1,behavior:{size:10,replenish:"top-up",selectSequentially:1,selectRandomly:1,targetBindingCount:2}},sign:{id:"default",allowedVerbs:["sign"],algo:"SHA-256",rounds:2,behavior:{size:10,replenish:"top-up",selectSequentially:1,selectRandomly:1,targetBindingCount:2}}}};var kl={$schema:"../../schemas/sync/sync-keystone.schema.json",metadata:{name:"Sync Delegate Profile (Staging)",securityLevel:"medium"},pools:{sync:{id:"sync",allowedVerbs:["sync"],algo:"SHA-256",rounds:2,behavior:{size:100,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:4}},manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-512",rounds:3,behavior:{size:250,replenish:"replace-all",selectSequentially:4,selectRandomly:4,targetBindingCount:6}},connect:{id:"connect",allowedVerbs:["connect"],algo:"SHA-256",rounds:2,behavior:{size:100,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:4}},sign:{id:"default",allowedVerbs:["sign"],algo:"SHA-256",rounds:2,behavior:{size:100,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:4}}}};var Dl={$schema:"../../schemas/sync/sync-keystone.schema.json",metadata:{name:"Sync Delegate Profile (Prod)",securityLevel:"high"},pools:{sync:{id:"sync",allowedVerbs:["sync"],algo:"SHA-512",rounds:4,behavior:{size:500,replenish:"top-up",selectSequentially:4,selectRandomly:4,targetBindingCount:6}},manage:{id:"manage",allowedVerbs:["manage","revoke"],algo:"SHA-512",rounds:6,behavior:{size:1e3,replenish:"replace-all",selectSequentially:8,selectRandomly:8,targetBindingCount:10}},connect:{id:"connect",allowedVerbs:["connect"],algo:"SHA-512",rounds:4,behavior:{size:500,replenish:"top-up",selectSequentially:4,selectRandomly:4,targetBindingCount:6}},sign:{id:"default",allowedVerbs:["sign"],algo:"SHA-512",rounds:4,behavior:{size:500,replenish:"top-up",selectSequentially:4,selectRandomly:4,targetBindingCount:6}}}};var Ll={$schema:"../schemas/keystone.low.schema.json",metadata:{name:"Session/Saga Identity Profile",securityLevel:"low"},pools:{sync:{id:"sync",allowedVerbs:["sync"],algo:"SHA-256",rounds:1,behavior:{size:50,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:6}},manage:{id:"manage",allowedVerbs:["manage"],algo:"SHA-256",rounds:2,behavior:{size:50,replenish:"replace-all",selectSequentially:2,selectRandomly:2,targetBindingCount:6}},revoke:{id:"revoke",allowedVerbs:["revoke"],algo:"SHA-256",rounds:5,behavior:{size:50,replenish:"delete-all",selectSequentially:3,selectRandomly:3,targetBindingCount:0}},connect:{id:"connect",allowedVerbs:["connect"],algo:"SHA-256",rounds:1,behavior:{size:50,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:6}},sign:{id:"default",allowedVerbs:["sign"],algo:"SHA-256",rounds:2,behavior:{size:50,replenish:"top-up",selectSequentially:2,selectRandomly:2,targetBindingCount:6}}}};var Me=class n{static{p(this,"KeystoneProfileBuilder")}_template;_username;_emails;_description;_details;_customizations={};constructor(e){this._template=JSON.parse(JSON.stringify(e))}static buildKeystone(e){if(!e||typeof e!="string")throw new Error("Profile name is required for KeystoneProfileBuilder. (E: 9a8b7c6d5e4f3210987654321fedcba0)");if(e.endsWith(".dev")||e.startsWith("test"))throw new Error(`Security Violation: Development keystone profile '${e}' is prohibited when NODE_ENV=production. (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d)`);let i;switch(e){case"primary-profile.dev":i=$l;break;case"primary-profile.staging":i=Rl;break;case"primary-profile.prod":i=Gl;break;case"sync-profile.dev":i=Ml;break;case"sync-profile.staging":i=kl;break;case"sync-profile.prod":i=Dl;break;case"session":i=Ll;break;default:throw new Error(`Unknown keystone profile name: '${e}' (E: fc10a8ad482ef2bda871ac567d268d26)`)}return new n(i)}withUsername(e){return this._username=e,this}withEmail(e){return this._emails?this._emails.includes(e)||this._emails.push(e):this._emails=[e],this}withEmails(e){return this._emails=[...e],this}withDescription(e){return this._description=e,this}withDetails(e){return this._details=e,this}customizePool(e,t){let{behavior:i,...o}=t;return this._customizations[e]={template:o,behavior:i},this}getFrameDetails(){let e={...this._details};return this._username&&(e.username=this._username),this._emails&&this._emails.length>0&&(e.emails=[...this._emails]),this._description&&(e.description=this._description),e}async compileConfigs(){let e=[],t="";if(this._username||this._emails&&this._emails.length>0){let i=this._emails?.[0]??"",o=`${this._username||""}:${i}`;t=await at({s:o})}else t=await at({s:"default-keystone-salt"});for(let[i,o]of Object.entries(this._template.pools)){let s=this._customizations[o.id];s&&(s.template&&Object.assign(o,s.template),s.behavior&&o.behavior&&Object.assign(o.behavior,s.behavior));let a=`${t}-${o.id}`,c=await at({s:a}),d=Hs({template:o,salt:c});e.push(d)}return e}};var Eg="ibgib_custodian_delegate_secret_";async function At({primaryTjpAddr:n}){let e=`[${At.name}]`;try{if(!n)throw new Error("primaryTjpAddr is required to derive local custodian delegate secret (E: a1b2c3d4e5f67890123456789a000101)");let t=`${Eg}${n}`,i=en(),o=jt(),s=await ut({dbName:i,storeName:o,key:t});if(s)return s;let a=await lt(32),c=await at({s:a,algorithm:fs.sha_512});return await Ls({dbName:i,storeName:o,key:t,value:c}),c}catch(t){throw console.error(`${e} ${y(t)}`),t}}p(At,"deriveLocalCustodianDelegateSecret");async function rt({providerId:n,parentTjpAddr:e}){let t=`[${rt.name}]`;try{let o=await B().getSsoConfig();if(!o.success||!o.providers)return{success:!1,message:o.message||"SSO configuration retrieval failed."};let s=o.providers,a=Array.isArray(s)?s.find(m=>m.providerId===n):s[n];if(!a)return{success:!1,message:`SSO provider '${n}' is not configured on this server environment.`};let c=await lt(),d={providerId:n,parentTjpAddr:e,userNonce:c},u=btoa(JSON.stringify(d)),f=a.authUrl;f.includes("client_id=")?f.includes("state=")||(f=`${f}&state=${encodeURIComponent(u)}`):f=`${f}?client_id=${a.clientId}&redirect_uri=${encodeURIComponent(a.redirectUri)}&response_type=code&scope=${encodeURIComponent(a.scope)}&state=${encodeURIComponent(u)}`;let h=window.open(f,"sso-oauth-popup","width=600,height=700,status=yes,toolbar=no,menubar=no,location=yes");return h?await new Promise(m=>{let g,b=p(E=>{if(E.origin!==window.location.origin)return;let w=E.data;w&&w.type==="sso-oauth-callback"&&(window.removeEventListener("message",b),clearInterval(g),m({success:!0,code:w.code,stateObj:w.stateObj||d,redirectUri:a.redirectUri}))},"messageListener");window.addEventListener("message",b),g=setInterval(()=>{h.closed&&(clearInterval(g),window.removeEventListener("message",b),m({success:!1,message:"Authentication cancelled (window closed)."}))},500)}):{success:!1,message:"Popup blocked by browser. Please enable popups for this site."}}catch(i){let o=y(i);return console.error(`${t} ${o}`),{success:!1,message:o}}}p(rt,"executeSsoOAuthPopup");var Ul="ibgib-keystone-creator",di=class extends ce{static{p(this,"KeystoneCreatorComponentMeta")}lc="[KeystoneCreatorComponentMeta]";routeRegExp=new RegExp(`^${Ul}$`);componentName=Ul;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,is)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Nl,css:[me,Pl]}),o}},is=class extends Je{static{p(this,"KeystoneCreatorComponentInstance")}lc="[KeystoneCreatorComponentInstance]";hasExistingIdentities=!1;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.titleEl=this.shadowRoot.getElementById("title"),this.elements.btnGenerateEl=this.shadowRoot.getElementById("btn-generate"),this.elements.resultAreaEl=this.shadowRoot.getElementById("result-area"),this.elements.keystoneAddrEl=this.shadowRoot.getElementById("keystone-addr"),this.elements.inputUsername=this.shadowRoot.getElementById("input-username"),this.elements.inputDescription=this.shadowRoot.getElementById("input-description"),this.elements.inputEmail=this.shadowRoot.getElementById("input-email"),this.elements.inputSecret=this.shadowRoot.getElementById("input-secret"),this.elements.checkboxMakeActive=this.shadowRoot.getElementById("checkbox-make-active"),this.elements.statusArea=this.shadowRoot.getElementById("status-area"),this.elements.statusText=this.shadowRoot.getElementById("status-text"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),this.ibGibAddr&&!this.ibGib&&await this.loadIbGib(),await this.checkExistingIdentities(),await this.renderUI()}async checkExistingIdentities(){let e=`${this.lc}[checkExistingIdentities]`;try{let i=await $(),o=await i.getLocalUserSpace({});if(o){let a=(await i.getSpecialIbGib({type:"keystones",space:o,initialize:!0}))?.rel8ns?.keystone??[];this.hasExistingIdentities=a.length>0}}catch(i){console.warn(`${e} Error checking existing identities: ${y(i)}`),this.hasExistingIdentities=!1}let t=this.elements.checkboxMakeActive;t&&(this.hasExistingIdentities?(t.disabled=!1,t.title=""):(t.checked=!0,t.disabled=!0,t.title="At least one active identity is required."))}async disconnected(){}initHandlers(){let e=this.shadowRoot?.getElementById("tab-quick"),t=this.shadowRoot?.getElementById("tab-password"),i=this.shadowRoot?.getElementById("panel-quick"),o=this.shadowRoot?.getElementById("panel-password"),s=this.shadowRoot?.getElementById("subtitle-quick"),a=this.shadowRoot?.getElementById("subtitle-password");e?.addEventListener("click",()=>{e.classList.add("active"),t?.classList.remove("active"),i?.classList.remove("hidden"),o?.classList.add("hidden"),s?.classList.remove("hidden"),a?.classList.add("hidden")}),t?.addEventListener("click",()=>{t.classList.add("active"),e?.classList.remove("active"),o?.classList.remove("hidden"),i?.classList.add("hidden"),a?.classList.remove("hidden"),s?.classList.add("hidden")}),this.shadowRoot?.getElementById("btn-google-sso")?.addEventListener("click",()=>this.handleSsoClick("google")),this.shadowRoot?.getElementById("btn-github-sso")?.addEventListener("click",()=>this.handleSsoClick("github")),this.shadowRoot?.getElementById("btn-email-info")?.addEventListener("click",E=>{E.preventDefault(),Gs({title:"Custom Email Sign-In",msg:`When you enter your email address, we dispatch a 6-digit one-time verification code to your inbox.
1213
+ </div>`;async function Ke({providerId:n,parentTjpAddr:e}){let t=`[${Ke.name}]`;try{let o=await B().getSsoConfig();if(!o.success||!o.providers)return{success:!1,message:o.message||"SSO configuration retrieval failed."};let s=o.providers,a=Array.isArray(s)?s.find(m=>m.providerId===n):s[n];if(!a)return{success:!1,message:`SSO provider '${n}' is not configured on this server environment.`};let c=await jt(),d={providerId:n,parentTjpAddr:e,userNonce:c},u=btoa(JSON.stringify(d)),f=a.authUrl;f.includes("client_id=")?f.includes("state=")||(f=`${f}&state=${encodeURIComponent(u)}`):f=`${f}?client_id=${a.clientId}&redirect_uri=${encodeURIComponent(a.redirectUri)}&response_type=code&scope=${encodeURIComponent(a.scope)}&state=${encodeURIComponent(u)}`;let h=window.open(f,"sso-oauth-popup","width=600,height=700,status=yes,toolbar=no,menubar=no,location=yes");return h?await new Promise(m=>{let g,b=p(E=>{if(E.origin!==window.location.origin)return;let w=E.data;w&&w.type==="sso-oauth-callback"&&(window.removeEventListener("message",b),clearInterval(g),m({success:!0,code:w.code,stateObj:w.stateObj||d,redirectUri:a.redirectUri}))},"messageListener");window.addEventListener("message",b),g=setInterval(()=>{h.closed&&(clearInterval(g),window.removeEventListener("message",b),m({success:!1,message:"Authentication cancelled (window closed)."}))},500)}):{success:!1,message:"Popup blocked by browser. Please enable popups for this site."}}catch(i){let o=y(i);return console.error(`${t} ${o}`),{success:!1,message:o}}}p(Ke,"executeSsoOAuthPopup");function at(n){let e=(n?.userAgent??(typeof navigator<"u"?navigator.userAgent:"")??"").toLowerCase(),t=n?.userAgentData??(typeof navigator<"u"?navigator.userAgentData:void 0),i=n?.maxTouchPoints??(typeof navigator<"u"?navigator.maxTouchPoints:0)??0,o=n?.screenWidth??(typeof window<"u"?window.innerWidth:1024)??1024,s="",a=t?.mobile,c=/mobile|iphone|ipod|android.*mobile|windows phone/i.test(e);/ipad|tablet|(android(?!.*mobile))/i.test(e)||i>1&&/macintosh/i.test(e)&&o<=1366?s="tablet":(a||c)&&(s="mobile");let u="",f=(t?.platform||"").toLowerCase();f.includes("win")||e.includes("windows")?u="win":f.includes("ios")||e.includes("iphone")||e.includes("ipad")||e.includes("ipod")?u="ios":f.includes("mac")||e.includes("macintosh")||e.includes("mac os")?u="mac":f.includes("android")||e.includes("android")?u="android":(f.includes("linux")||e.includes("linux"))&&(u="linux");let h="";e.includes("edg/")||e.includes("edge/")?h="edge":e.includes("chrome/")||e.includes("crios/")?h="chrome":e.includes("firefox/")||e.includes("fxios/")?h="firefox":e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&(h="safari");let m=n?.randomSuffix;if(!m){let b="0123456789abcdef";m="";for(let E=0;E<4;E++)m+=b.charAt(Math.floor(Math.random()*b.length))}m=m.toLowerCase().replace(/[^a-z0-9]/g,"").slice(0,8);let g=[];return s&&g.push(s),h&&g.push(h),u&&g.push(u),g.length===0&&g.push("device"),g.push(m),g.join("-")}p(at,"generateDefaultDeviceTag");var Dl="ibgib-keystone-creator",gi=class extends de{static{p(this,"KeystoneCreatorComponentMeta")}lc="[KeystoneCreatorComponentMeta]";routeRegExp=new RegExp(`^${Dl}$`);componentName=Dl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,ls)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:kl,css:[he,Ml]}),o}},ls=class extends ze{static{p(this,"KeystoneCreatorComponentInstance")}lc="[KeystoneCreatorComponentInstance]";hasExistingIdentities=!1;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.titleEl=this.shadowRoot.getElementById("title"),this.elements.btnGenerateEl=this.shadowRoot.getElementById("btn-generate"),this.elements.resultAreaEl=this.shadowRoot.getElementById("result-area"),this.elements.keystoneAddrEl=this.shadowRoot.getElementById("keystone-addr"),this.elements.inputUsername=this.shadowRoot.getElementById("input-username"),this.elements.inputDescription=this.shadowRoot.getElementById("input-description"),this.elements.inputEmail=this.shadowRoot.getElementById("input-email"),this.elements.inputSecret=this.shadowRoot.getElementById("input-secret"),this.elements.checkboxMakeActive=this.shadowRoot.getElementById("checkbox-make-active"),this.elements.statusArea=this.shadowRoot.getElementById("status-area"),this.elements.statusText=this.shadowRoot.getElementById("status-text"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),this.ibGibAddr&&!this.ibGib&&await this.loadIbGib(),await this.checkExistingIdentities(),await this.renderUI()}async checkExistingIdentities(){let e=`${this.lc}[checkExistingIdentities]`;try{let i=await $(),o=await i.getLocalUserSpace({});if(o){let a=(await i.getSpecialIbGib({type:"keystones",space:o,initialize:!0}))?.rel8ns?.keystone??[];this.hasExistingIdentities=a.length>0}}catch(i){console.warn(`${e} Error checking existing identities: ${y(i)}`),this.hasExistingIdentities=!1}let t=this.elements.checkboxMakeActive;t&&(this.hasExistingIdentities?(t.disabled=!1,t.title=""):(t.checked=!0,t.disabled=!0,t.title="At least one active identity is required."))}async disconnected(){}initHandlers(){let e=this.shadowRoot?.getElementById("tab-quick"),t=this.shadowRoot?.getElementById("tab-password"),i=this.shadowRoot?.getElementById("panel-quick"),o=this.shadowRoot?.getElementById("panel-password"),s=this.shadowRoot?.getElementById("subtitle-quick"),a=this.shadowRoot?.getElementById("subtitle-password");e?.addEventListener("click",()=>{e.classList.add("active"),t?.classList.remove("active"),i?.classList.remove("hidden"),o?.classList.add("hidden"),s?.classList.remove("hidden"),a?.classList.add("hidden")}),t?.addEventListener("click",()=>{t.classList.add("active"),e?.classList.remove("active"),o?.classList.remove("hidden"),i?.classList.add("hidden"),a?.classList.remove("hidden"),s?.classList.add("hidden")}),this.shadowRoot?.getElementById("btn-google-sso")?.addEventListener("click",()=>this.handleSsoClick("google")),this.shadowRoot?.getElementById("btn-github-sso")?.addEventListener("click",()=>this.handleSsoClick("github")),this.shadowRoot?.getElementById("btn-email-info")?.addEventListener("click",E=>{E.preventDefault(),ks({title:"Custom Email Sign-In",msg:`When you enter your email address, we dispatch a 6-digit one-time verification code to your inbox.
1214
1214
 
1215
1215
  Entering the code creates your cryptographic identity delegate on your device and signs you in seamlessly without needing a password!`})});let f=this.shadowRoot?.getElementById("btn-quick-send-code"),h=this.shadowRoot?.getElementById("input-quick-email"),m=this.shadowRoot?.getElementById("section-quick-otp"),g=this.shadowRoot?.getElementById("input-quick-otp"),b=this.shadowRoot?.getElementById("btn-quick-verify-code");f?.addEventListener("click",()=>this.handleQuickSendCode()),b?.addEventListener("click",()=>this.handleQuickVerifyCode()),this.elements.btnGenerateEl.addEventListener("click",()=>this.handleGenerate()),this.shadowRoot.getElementById("btn-switch-sign-in")?.addEventListener("click",E=>{E.preventDefault(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-add-device"},bubbles:!0,composed:!0}))}),this.elements.inputUsername?.addEventListener("input",()=>{this.elements.inputUsername.classList.remove("invalid")}),this.elements.inputDescription?.addEventListener("input",()=>{this.elements.inputDescription.classList.remove("invalid")}),this.elements.inputEmail?.addEventListener("input",()=>{this.elements.inputEmail.classList.remove("invalid")}),this.elements.inputSecret?.addEventListener("input",()=>{this.elements.inputSecret.classList.remove("invalid")})}setButtonLoading(e){let t=this.shadowRoot?.getElementById("btn-generate");t&&(t.disabled=e,t.textContent=e?"Generating...":"Generate Identity Keystone")}async handleSsoClick(e){let t=`${this.lc}[${this.handleSsoClick.name}]`,i=e==="google"?"Google":e==="github"?"GitHub":e;this.setStatus(`Opening ${i} SSO authorization window...`,"info"),this.showBusy({isBusy:!0,title:`Connecting to ${i}...`,msg:`Opening ${i} SSO authorization window...
1216
- Please complete authorization in the popup window.`,animationEmoji:"\u{1F310}"});try{let o=await rt({providerId:e});if(!o.success||!o.code){this.setStatus(o.message||`${i} sign-in cancelled.`,"error");return}this.setStatus(`Exchanging ${i} authorization code...`,"info"),this.showBusy({isBusy:!0,title:"Exchanging SSO Code...",msg:`Validating ${i} authorization code with custodian server...`,animationEmoji:"\u{1F510}"});let s=B(),a=await s.postSsoLogin({code:o.code,providerId:e,redirectUri:o.redirectUri});if(!a.success||!a.primaryTjpAddr||!a.custodianReqs){this.setStatus(a.message||`${i} login failed.`,"error");return}let{primaryTjpAddr:c,custodianReqs:d}=a;this.setStatus("Deriving local device delegate keys...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let u=await At({primaryTjpAddr:c}),f=a.userInfo?.email||"",h=f?f.split("@")[0]:"user",m="sync-profile.dev";if(!m||!m.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let g=Me.buildKeystone(m.trim()).withUsername(`${h}-sync`).withDescription(`Sync Delegate for ${h}`).withDetails({client:"space-gib-web",role:"sync-delegate",primaryTjpAddr:c,custodianReqs:d}),b=await g.compileConfigs(),E=await $(),w=await E.getLocalUserSpace({lock:!1});if(!w){this.setStatus("Could not access local user space.","error");return}let I=await new X().genesis({masterSecret:u,configs:b,metaspace:E,space:w,frameDetails:g.getFrameDetails(),isPrimary:!1});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F4DD}"});let T=await s.postCustodianRegisterDelegate({delegateKeystone:I});if(!T.success){this.setStatus(T.message||"Custodian delegate registration failed.","error");return}await this.finalizeIdentityOnboarding({primaryKeystone:T.evolvedPrimaryKeystone||a.primaryKeystone,primaryGraph:T.primaryGraph||a.primaryGraph,delegateKeystone:I,primaryTjpAddr:c,delegateSecret:u,makeActive:!0})}catch(o){let s=y(o);console.error(`${t} ${s}`,o),this.setStatus(`SSO sign-in error: ${s}`,"error")}finally{this.showBusy({isBusy:!1})}}async handleQuickSendCode(){let e=`${this.lc}[${this.handleQuickSendCode.name}]`,t=this.shadowRoot?.getElementById("btn-quick-send-code"),i=this.shadowRoot?.getElementById("input-quick-email"),o=this.shadowRoot?.getElementById("section-quick-otp"),s=(i?.value||"").trim();if(!s||!Mt(s)){this.setStatus("Please enter a valid email address.","error");return}t&&(t.disabled=!0,t.textContent="Sending Verification Code..."),this.setStatus("Requesting verification code...","info");try{let a=await B().postVerificationCode({email:s});a.success?(o?.classList.remove("hidden"),this.setStatus("\u2709\uFE0F 6-digit verification code sent to your email!","success")):this.setStatus(a.message||"Failed to dispatch verification code.","error")}catch(a){let c=y(a);console.error(`${e} ${c}`),this.setStatus(`Failed to dispatch verification code: ${c}`,"error")}finally{t&&(t.disabled=!1,t.textContent="Send 6-Digit Verification Code")}}async handleQuickVerifyCode(){let e=`${this.lc}[${this.handleQuickVerifyCode.name}]`,t=this.shadowRoot?.getElementById("input-quick-email"),i=this.shadowRoot?.getElementById("input-quick-otp"),o=this.shadowRoot?.getElementById("btn-quick-verify-code"),s=(t?.value||"").trim(),a=(i?.value||"").trim();if(!a||a.length!==6||!/^\d{6}$/.test(a)){this.setStatus("Please enter a valid 6-digit verification code.","error");return}o&&(o.disabled=!0,o.textContent="Verifying..."),this.setStatus("Verifying code & completing onboarding...","info"),this.showBusy({isBusy:!0,title:"Verifying Code...",msg:`Great! Juust a moment...
1217
- (Validating code, promoting server domain space, other security stuff...)`,animationEmoji:"\u{1F510}"});try{let c=await B().postCustodianGenesis({email:s,code:a});if(!c.success||!c.primaryTjpAddr||!c.custodianReqs){this.setStatus(c.message||"Custodian verification failed.","error");return}let d=c.primaryTjpAddr,u=c.custodianReqs;this.setStatus("Constructing local sync delegate...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let f=await At({primaryTjpAddr:d}),h=s?s.split("@")[0]:"user",m="sync-profile.dev";if(!m||!m.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let g=Me.buildKeystone(m.trim()).withUsername(`${h}-sync`).withDescription(`Sync Delegate for ${h}`).withDetails({client:"space-gib-web",role:"sync-delegate",primaryTjpAddr:d,custodianReqs:u}),b=await g.compileConfigs(),E=await $(),w=await E.getLocalUserSpace({lock:!1});if(!w){this.setStatus("Failed to access local user space.","error");return}let I=await new X().genesis({masterSecret:f,configs:b,metaspace:E,space:w,frameDetails:g.getFrameDetails(),isPrimary:!1});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F4DD}"});let T=await B().postCustodianRegisterDelegate({delegateKeystone:I});if(!T.success){this.setStatus(T.message||"Failed to register delegate with custodian server.","error");return}await this.finalizeIdentityOnboarding({primaryKeystone:T.evolvedPrimaryKeystone||c.primaryKeystone,primaryGraph:T.primaryGraph||c.primaryGraph,delegateKeystone:I,primaryTjpAddr:d,delegateSecret:f,makeActive:!0})}catch(c){let d=y(c);console.error(`${e} ${d}`,c),this.setStatus(`Error: ${d}`,"error")}finally{this.showBusy({isBusy:!1}),o&&(o.disabled=!1,o.textContent="Verify Code")}}async handleGenerate(){let e=`${this.lc}[${this.handleGenerate.name}]`;try{console.log(`${e} starting genesis orchestration...`);let t=500;this.setStatus("Initializing genesis...","info");let i=this.elements.inputUsername.value.trim();if(this.elements.inputUsername.value=i,!this.validateInputPattern({input:this.elements.inputUsername,pattern:tn,errorMessage:"Username must be 1-63 characters (alphanumeric, underscores, hyphens, dots).",required:!0})){this.setStatus("Invalid username. Must be 1-63 characters (alphanumeric, _, -, .).","error");return}let o=this.elements.inputDescription.value.trim();if(this.elements.inputDescription.value=o,!this.validateInputPattern({input:this.elements.inputDescription,pattern:qs,errorMessage:"Description must be 0-128 characters and consist of English characters and common punctuation.",required:!1})){this.setStatus("Invalid description. Alphanumeric + common punctuation, max 128 chars.","error");return}let s=this.elements.inputEmail.value.trim();if(this.elements.inputEmail.value=s,s&&!Mt(s)){this.elements.inputEmail.classList.add("invalid"),this.setStatus("Invalid email address format.","error");return}let a=this.elements.inputSecret.value.trim();if(a)this.elements.inputSecret.classList.remove("invalid");else{this.elements.inputSecret.classList.add("invalid"),this.setStatus("Please enter a master secret.","error");return}if(this.setButtonLoading(!0),this.showBusy({isBusy:!0,title:"Checking Email Availability...",msg:"Checking server identity index...",animationEmoji:"\u{1F50D}"}),s){let A=await B().checkEmailAvailability({email:s});if(!A.available){let k=A.message||"Email/Identity is already registered.";console.error(`${e} ${k}`),this.setStatus(k,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}}this.showBusy({isBusy:!0,title:"Generating Identity...",msg:"Preparing configuration and policy options...",animationEmoji:"\u2699\uFE0F"});let c="primary-profile.dev";if(!c||!c.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_PRIMARY environment variable is missing. Expected valid profile name like "primary-profile.dev" or "primary-profile.prod". (E: 3c4d5e6f7890123456789abcdef3)');console.log(`${e} Using sovereign primary keystone policy profile '${c}' (I: 90123456789abcdef0123456789abcde)`);let d=Me.buildKeystone(c.trim()).withUsername(i).withDescription(o);s&&d.withEmails([s]),d.withDetails({client:"space-gib-web",role:"domain-identity"});let u=await d.compileConfigs(),f=await $(),h=await f.getLocalUserSpace({lock:!1});if(!h){this.setStatus("Failed to access local user space.","error");return}this.showBusy({isBusy:!0,title:"Generating Identity...",msg:"Generating cryptographic domain identity keys...",animationEmoji:"\u{1F511}"});let m=new X,g=await m.genesis({masterSecret:a,emails:s?[s]:void 0,configs:u,metaspace:f,space:h,frameDetails:d.getFrameDetails(),isPrimary:!0}),b=Y({ibGib:g,defaultIfNone:"incomingAddr"});console.log(`${e} local genesis complete: ${b}`),await O(t),this.setStatus("Local genesis complete. Creating sync delegate...","info"),console.log(`\u2713 Local genesis complete: ${b}`),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let E=await sn({masterSecret:a}),w="sync-profile.dev";if(!w||!w.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 5e6f7890123456789abcdef5)');let v=Me.buildKeystone(w.trim()).withUsername(`${i}-sync`).withDescription(`Sync Delegate for ${i}`).withDetails({client:"space-gib-web",role:"sync-delegate",primaryTjpAddr:b}),I=await v.compileConfigs(),T=await m.genesis({masterSecret:E,configs:I,metaspace:f,space:h,frameDetails:v.getFrameDetails()}),_=S({ibGib:T});console.log(`${e} sync delegate genesis complete: ${_}`),await O(t),this.setStatus("Registering delegate on parent...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Evolving domain identity to register delegate...",animationEmoji:"\u{1F4DD}"});let P=await m.registerDelegate({parentKeystone:g,delegateKeystone:T,masterSecret:a,metaspace:f,space:h,allowedVerbs:[nn,on]}),N=S({ibGib:P});console.log(`${e} delegate registered. evolved parent address: ${N}`),await O(t),this.setStatus("Syncing genesis keystone to server...","info"),this.showBusy({isBusy:!0,title:"Syncing to Server...",msg:"Staging pending genesis keystone on server...",animationEmoji:"\u{1F504}"});let x=await B().postGenesisKeystone(g);if(!x.success){let A=`Sync failed: ${x.message}`;console.error(`${e} ${A}`),this.setStatus(A,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}if(x.pending||x.statusCode===202){if(console.log(`${e} Genesis keystone quarantined in pending staging area. Prompting for 6-digit verification code.`),this.showBusy({isBusy:!1}),this.setFormDisabled(!0),!this.shadowRoot)throw new Error("(UNEXPECTED) this.shadowRoot falsy? (E: 6d316f5a2bf8e6a0286306468d35c826)");let A=Gt(this.shadowRoot,"section-code-verification"),k=Gt(this.shadowRoot,"input-verify-code"),q=Gt(this.shadowRoot,"btn-submit-code"),de=Gt(this.shadowRoot,"btn-resend-code");A.classList.remove("hidden"),A.scrollIntoView({behavior:"smooth",block:"nearest"}),this.setStatus("\u2709\uFE0F Verification code sent to your email. Enter 6-digit code below:","info");let z=p(async()=>{de.disabled=!0,de.textContent="Sending...",this.setStatus("Resending verification code to your email...","info");let ue=await B().postVerificationCode({email:s,primaryTjpAddr:b});ue.success?this.setStatus("\u2709\uFE0F New verification code sent to your email!","success"):this.setStatus(ue.message||"Failed to resend verification code.","error"),de.disabled=!1,de.textContent="Resend Code"},"onResendCode");de.addEventListener("click",z),await new Promise((ue,gi)=>{let ve=p(async()=>{let Fe=k.value.trim();if(!Fe||Fe.length!==6||!/^\d{6}$/.test(Fe)){this.setStatus("Please enter a valid 6-digit numeric verification code (e.g. 482901).","error");return}q.disabled=!0,q.textContent="Verifying...",this.showBusy({isBusy:!0,title:"Verifying & Activating...",msg:`Great! Juust a moment...
1218
- (Validating code, promoting server domain space, other security stuff...)`,animationEmoji:"\u{1F510}"});let ds=await B().postVerifyCode({email:s,primaryTjpAddr:b,code:Fe});if(!ds.success){this.showBusy({isBusy:!1}),this.setStatus(ds.message||"Incorrect verification code.","error"),q.disabled=!1,q.textContent="Verify Code";return}console.log(`${e} Code verified & server domain promoted! Syncing delegate...`),this.showBusy({isBusy:!0,title:"Syncing Delegate...",msg:"Posting evolved domain identity and sync delegate to server...",animationEmoji:"\u26A1"}),q.removeEventListener("click",ve),A.classList.add("hidden"),this.setFormDisabled(!1);let us=await B().putEvolveKeystone({domainAddr:b,keystoneIbGib:P,relatedKeystoneIbGibs:[T]});us.success||console.warn(`${e} Delegate sync warning after code verification: ${us.message}`),ue()},"onSubmitCode");q.addEventListener("click",ve)})}else{this.setStatus("Syncing delegate registration to server...","info"),this.showBusy({isBusy:!0,title:"Syncing Delegate...",msg:"Posting evolved domain identity and sync delegate to server...",animationEmoji:"\u{1F504}"});let A=await B().putEvolveKeystone({domainAddr:b,keystoneIbGib:P,relatedKeystoneIbGibs:[T]});if(!A.success){let k=`Delegate registration sync failed: ${A.message}`;console.error(`${e} ${k}`),this.setStatus(k,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}}await this.finalizeIdentityOnboarding({primaryKeystone:P,delegateKeystone:T,primaryTjpAddr:N,masterSecret:a,delegateSecret:E,makeActive:this.elements.checkboxMakeActive?.checked??!0})}catch(t){let i=y(t);console.error(`${e} ${i}`,t),this.setStatus(`Error: ${i}`,"error")}finally{this.showBusy({isBusy:!1,submitBtnSelector:"#btn-generate"}),this.setButtonLoading(!1)}}async finalizeIdentityOnboarding({primaryKeystone:e,primaryGraph:t,delegateKeystone:i,primaryTjpAddr:o,masterSecret:s,delegateSecret:a,makeActive:c=!0}){let d=`${this.lc}[${this.finalizeIdentityOnboarding.name}]`,u=500,f=await $();if(!f)throw new Error("(UNEXPECTED) metaspace falsy? Expected active global metaspace instance. (E: 2e37a8b6fe987449c5d8693a7d4a2827)");let h=await f.getLocalUserSpace({});if(!h)throw new Error("(UNEXPECTED) space falsy? Expected valid default local user space from metaspace. (E: 1e37a8b6fe987449c5d8693a7d4a2826)");if(t){let E=Object.values(t);await f.put({ibGibs:E,space:h});let w=$e({ibGibs:E});for(let v of Object.keys(w))for(let I of w[v])await f.registerNewIbGib({ibGib:I,space:h})}else e&&(await f.put({ibGibs:[e],space:h}),await f.registerNewIbGib({ibGib:e,space:h}));let m=new X;try{await m.getLatestKeystone({addr:o,metaspace:f,space:h})}catch(E){let w=`Primary identity keystone ${o} not found in local browser space! Error: ${y(E)}`;throw console.error(`${d} ${w} (E: a123456789abcdef0123456789c0001)`),new Error(w)}this.showBusy({isBusy:!0,title:"Registering Identity...",msg:"Updating local identity indexes and scope settings...",animationEmoji:"\u{1F4BE}"});let g=[K({ibGib:i})];if(!e&&!t)throw new Error("(UNEXPECTED) primaryKeystone and primaryGraph both falsy? We should have gotten this back from the server. (E: e34cd882ac66633c75c53318a3b28826)");if(!i)throw new Error("(UNEXPECTED) delegateKeystone falsy? We should have made this locally and even registered it with the server. (E: 56b1c396269e15f008b7e298c71bc826)");e&&g.unshift(K({ibGib:e})),await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:g}],metaspace:f,space:h}),s&&(window.dev_domainI=e,window.dev_domainIMasterSecret=s,window.dev_syncDelegate=i,window.dev_syncDelegateSecret=a),c&&window.dispatchEvent(new CustomEvent(Re,{detail:{activeIdentityAddr:o},bubbles:!0,composed:!0}));let b="Identity successfully created and activated!";this.showBusy({isBusy:!0,title:"Success!",msg:b,animationEmoji:"\u2705"}),await O(u),this.elements?.keystoneAddrEl&&(this.elements.keystoneAddrEl.textContent=o),this.elements?.statusArea&&this.elements.statusArea.classList.remove("hidden"),this.setStatus(b,"success"),console.log(`${d} \u2713 ${b}`),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager",addr:o},bubbles:!0,composed:!0})),this.showBusy({isBusy:!1})}setFormDisabled(e){let t=this.shadowRoot,i=["input-username","input-description","input-email","input-secret","checkbox-make-active","btn-generate","btn-switch-sign-in"];for(let o of i){let s=t.getElementById(o);s&&(s.disabled=e,e?(s.style.opacity="0.5",s.style.pointerEvents="none"):(s.style.opacity="1",s.style.pointerEvents="auto"))}}async renderUI(){}async handleContextUpdated(){await this.renderUI()}};var Fl=`:host {
1216
+ Please complete authorization in the popup window.`,animationEmoji:"\u{1F310}"});try{let o=await Ke({providerId:e});if(!o.success||!o.code){this.setStatus(o.message||`${i} sign-in cancelled.`,"error");return}this.setStatus(`Exchanging ${i} authorization code...`,"info"),this.showBusy({isBusy:!0,title:"Exchanging SSO Code...",msg:`Validating ${i} authorization code with custodian server...`,animationEmoji:"\u{1F510}"});let s=B(),a=await s.postSsoLogin({code:o.code,providerId:e,redirectUri:o.redirectUri});if(!a.success||!a.primaryTjpAddr||!a.custodianReqs){this.setStatus(a.message||`${i} login failed.`,"error");return}let{primaryTjpAddr:c,custodianReqs:d}=a;this.setStatus("Deriving local device delegate keys...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let u=await $(),f=await u.getLocalUserSpace({lock:!1});if(!f){this.setStatus("Could not access local user space.","error");return}let h=await ht({primaryTjpAddr:c}),m=a.userInfo?.email||"",g=m?m.split("@")[0]:"user",b="sync-profile.dev";if(!b||!b.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let E=await Xe({profileName:b.trim(),username:g,deviceTag:at(),primaryTjpAddr:c,delegateSecret:h,custodianReqs:d,additionalFrameDetails:{client:"space-gib-web"},metaspace:u,space:f});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F4DD}"});let w=await s.postCustodianRegisterDelegate({delegateKeystone:E});if(!w.success){this.setStatus(w.message||"Custodian delegate registration failed.","error");return}await this.finalizeIdentityOnboarding({primaryKeystone:w.evolvedPrimaryKeystone||a.primaryKeystone,primaryGraph:w.primaryGraph||a.primaryGraph,delegateKeystone:E,primaryTjpAddr:c,delegateSecret:h,makeActive:!0})}catch(o){let s=y(o);console.error(`${t} ${s}`,o),this.setStatus(`SSO sign-in error: ${s}`,"error")}finally{this.showBusy({isBusy:!1})}}async handleQuickSendCode(){let e=`${this.lc}[${this.handleQuickSendCode.name}]`,t=this.shadowRoot?.getElementById("btn-quick-send-code"),i=this.shadowRoot?.getElementById("input-quick-email"),o=this.shadowRoot?.getElementById("section-quick-otp"),s=(i?.value||"").trim();if(!s||!Ft(s)){this.setStatus("Please enter a valid email address.","error");return}t&&(t.disabled=!0,t.textContent="Sending Verification Code..."),this.setStatus("Requesting verification code...","info");try{let a=await B().postVerificationCode({email:s});a.success?(o?.classList.remove("hidden"),this.setStatus("\u2709\uFE0F 6-digit verification code sent to your email!","success")):this.setStatus(a.message||"Failed to dispatch verification code.","error")}catch(a){let c=y(a);console.error(`${e} ${c}`),this.setStatus(`Failed to dispatch verification code: ${c}`,"error")}finally{t&&(t.disabled=!1,t.textContent="Send 6-Digit Verification Code")}}async handleQuickVerifyCode(){let e=`${this.lc}[${this.handleQuickVerifyCode.name}]`,t=this.shadowRoot?.getElementById("input-quick-email"),i=this.shadowRoot?.getElementById("input-quick-otp"),o=this.shadowRoot?.getElementById("btn-quick-verify-code"),s=(t?.value||"").trim(),a=(i?.value||"").trim();if(!a||a.length!==6||!/^\d{6}$/.test(a)){this.setStatus("Please enter a valid 6-digit verification code.","error");return}o&&(o.disabled=!0,o.textContent="Verifying..."),this.setStatus("Verifying code & completing onboarding...","info"),this.showBusy({isBusy:!0,title:"Verifying Code...",msg:`Great! Juust a moment...
1217
+ (Validating code, promoting server domain space, other security stuff...)`,animationEmoji:"\u{1F510}"});try{let c=await B().postCustodianGenesis({email:s,code:a});if(!c.success||!c.primaryTjpAddr||!c.custodianReqs){this.setStatus(c.message||"Custodian verification failed.","error");return}let d=c.primaryTjpAddr,u=c.custodianReqs;this.setStatus("Constructing local sync delegate...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let f=await $(),h=await f.getLocalUserSpace({lock:!1});if(!h){this.setStatus("Failed to access local user space.","error");return}let m=await ht({primaryTjpAddr:d}),g=s?s.split("@")[0]:"user",b="sync-profile.dev";if(!b||!b.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let E=await Xe({profileName:b.trim(),username:g,deviceTag:at(),primaryTjpAddr:d,delegateSecret:m,custodianReqs:u,additionalFrameDetails:{client:"space-gib-web"},metaspace:f,space:h});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F4DD}"});let w=await B().postCustodianRegisterDelegate({delegateKeystone:E});if(!w.success){this.setStatus(w.message||"Failed to register delegate with custodian server.","error");return}await this.finalizeIdentityOnboarding({primaryKeystone:w.evolvedPrimaryKeystone||c.primaryKeystone,primaryGraph:w.primaryGraph||c.primaryGraph,delegateKeystone:E,primaryTjpAddr:d,delegateSecret:m,makeActive:!0})}catch(c){let d=y(c);console.error(`${e} ${d}`,c),this.setStatus(`Error: ${d}`,"error")}finally{this.showBusy({isBusy:!1}),o&&(o.disabled=!1,o.textContent="Verify Code")}}async handleGenerate(){let e=`${this.lc}[${this.handleGenerate.name}]`;try{console.log(`${e} starting genesis orchestration...`);let t=500;this.setStatus("Initializing genesis...","info");let i=this.elements.inputUsername.value.trim();if(this.elements.inputUsername.value=i,!this.validateInputPattern({input:this.elements.inputUsername,pattern:rn,errorMessage:"Username must be 1-63 characters (alphanumeric, underscores, hyphens, dots).",required:!0})){this.setStatus("Invalid username. Must be 1-63 characters (alphanumeric, _, -, .).","error");return}let o=this.elements.inputDescription.value.trim();if(this.elements.inputDescription.value=o,!this.validateInputPattern({input:this.elements.inputDescription,pattern:Vs,errorMessage:"Description must be 0-128 characters and consist of English characters and common punctuation.",required:!1})){this.setStatus("Invalid description. Alphanumeric + common punctuation, max 128 chars.","error");return}let s=this.elements.inputEmail.value.trim();if(this.elements.inputEmail.value=s,s&&!Ft(s)){this.elements.inputEmail.classList.add("invalid"),this.setStatus("Invalid email address format.","error");return}let a=this.elements.inputSecret.value.trim();if(a)this.elements.inputSecret.classList.remove("invalid");else{this.elements.inputSecret.classList.add("invalid"),this.setStatus("Please enter a master secret.","error");return}if(this.setButtonLoading(!0),this.showBusy({isBusy:!0,title:"Checking Email Availability...",msg:"Checking server identity index...",animationEmoji:"\u{1F50D}"}),s){let _=await B().checkEmailAvailability({email:s});if(!_.available){let N=_.message||"Email/Identity is already registered.";console.error(`${e} ${N}`),this.setStatus(N,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}}this.showBusy({isBusy:!0,title:"Generating Identity...",msg:"Preparing configuration and policy options...",animationEmoji:"\u2699\uFE0F"});let c="primary-profile.dev";if(!c||!c.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_PRIMARY environment variable is missing. Expected valid profile name like "primary-profile.dev" or "primary-profile.prod". (E: 3c4d5e6f7890123456789abcdef3)');console.log(`${e} Using sovereign primary keystone policy profile '${c}' (I: 90123456789abcdef0123456789abcde)`);let d=qs.buildKeystone(c.trim()).withUsername(i).withDescription(o);s&&d.withEmails([s]),d.withDetails({client:"space-gib-web",role:"domain-identity"});let u=await d.compileConfigs(),f=await $(),h=await f.getLocalUserSpace({lock:!1});if(!h){this.setStatus("Failed to access local user space.","error");return}this.showBusy({isBusy:!0,title:"Generating Identity...",msg:"Generating cryptographic domain identity keys...",animationEmoji:"\u{1F511}"});let m=new X,g=await m.genesis({masterSecret:a,emails:s?[s]:void 0,configs:u,metaspace:f,space:h,frameDetails:d.getFrameDetails(),isPrimary:!0}),b=Y({ibGib:g,defaultIfNone:"incomingAddr"});console.log(`${e} local genesis complete: ${b}`),await H(t),this.setStatus("Local genesis complete. Creating sync delegate...","info"),console.log(`\u2713 Local genesis complete: ${b}`),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:"Generating cryptographic sync delegate keys...",animationEmoji:"\u{1F511}"});let E=await cn({masterSecret:a});await pt({primaryTjpAddr:b,delegateSecret:E});let w="sync-profile.dev";if(!w||!w.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 5e6f7890123456789abcdef5)');let v=await Xe({profileName:w.trim(),username:i,deviceTag:at(),primaryTjpAddr:b,delegateSecret:E,additionalFrameDetails:{client:"space-gib-web"},metaspace:f,space:h}),I=S({ibGib:v});console.log(`${e} sync delegate genesis complete: ${I}`),await H(t),this.setStatus("Registering delegate on parent...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Evolving domain identity to register delegate...",animationEmoji:"\u{1F4DD}"});let T=await m.registerDelegate({parentKeystone:g,delegateKeystone:v,masterSecret:a,metaspace:f,space:h,allowedVerbs:[an,ln]}),A=S({ibGib:T});console.log(`${e} delegate registered. evolved parent address: ${A}`),await H(t),this.setStatus("Syncing genesis keystone to server...","info"),this.showBusy({isBusy:!0,title:"Syncing to Server...",msg:"Staging pending genesis keystone on server...",animationEmoji:"\u{1F504}"});let P=await B().postGenesisKeystone(g);if(!P.success){let _=`Sync failed: ${P.message}`;console.error(`${e} ${_}`),this.setStatus(_,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}if(P.pending||P.statusCode===202){if(console.log(`${e} Genesis keystone quarantined in pending staging area. Prompting for 6-digit verification code.`),this.showBusy({isBusy:!1}),this.setFormDisabled(!0),!this.shadowRoot)throw new Error("(UNEXPECTED) this.shadowRoot falsy? (E: 6d316f5a2bf8e6a0286306468d35c826)");let _=kt(this.shadowRoot,"section-code-verification"),N=kt(this.shadowRoot,"input-verify-code"),x=kt(this.shadowRoot,"btn-submit-code"),M=kt(this.shadowRoot,"btn-resend-code");_.classList.remove("hidden"),_.scrollIntoView({behavior:"smooth",block:"nearest"}),this.setStatus("\u2709\uFE0F Verification code sent to your email. Enter 6-digit code below:","info");let O=p(async()=>{M.disabled=!0,M.textContent="Sending...",this.setStatus("Resending verification code to your email...","info");let pe=await B().postVerificationCode({email:s,primaryTjpAddr:b});pe.success?this.setStatus("\u2709\uFE0F New verification code sent to your email!","success"):this.setStatus(pe.message||"Failed to resend verification code.","error"),M.disabled=!1,M.textContent="Resend Code"},"onResendCode");M.addEventListener("click",O),await new Promise((pe,W)=>{let Ee=p(async()=>{let Je=N.value.trim();if(!Je||Je.length!==6||!/^\d{6}$/.test(Je)){this.setStatus("Please enter a valid 6-digit numeric verification code (e.g. 482901).","error");return}x.disabled=!0,x.textContent="Verifying...",this.showBusy({isBusy:!0,title:"Verifying & Activating...",msg:`Great! Juust a moment...
1218
+ (Validating code, promoting server domain space, other security stuff...)`,animationEmoji:"\u{1F510}"});let Ie=await B().postVerifyCode({email:s,primaryTjpAddr:b,code:Je});if(!Ie.success){this.showBusy({isBusy:!1}),this.setStatus(Ie.message||"Incorrect verification code.","error"),x.disabled=!1,x.textContent="Verify Code";return}console.log(`${e} Code verified & server domain promoted! Syncing delegate...`),this.showBusy({isBusy:!0,title:"Syncing Delegate...",msg:"Posting evolved domain identity and sync delegate to server...",animationEmoji:"\u26A1"}),x.removeEventListener("click",Ee),_.classList.add("hidden"),this.setFormDisabled(!1);let lt=await B().putEvolveKeystone({domainAddr:b,keystoneIbGib:T,relatedKeystoneIbGibs:[v]});lt.success||console.warn(`${e} Delegate sync warning after code verification: ${lt.message}`),pe()},"onSubmitCode");x.addEventListener("click",Ee)})}else{this.setStatus("Syncing delegate registration to server...","info"),this.showBusy({isBusy:!0,title:"Syncing Delegate...",msg:"Posting evolved domain identity and sync delegate to server...",animationEmoji:"\u{1F504}"});let _=await B().putEvolveKeystone({domainAddr:b,keystoneIbGib:T,relatedKeystoneIbGibs:[v]});if(!_.success){let N=`Delegate registration sync failed: ${_.message}`;console.error(`${e} ${N}`),this.setStatus(N,"error"),this.showBusy({isBusy:!1}),this.setButtonLoading(!1);return}}await this.finalizeIdentityOnboarding({primaryKeystone:T,delegateKeystone:v,primaryTjpAddr:A,masterSecret:a,delegateSecret:E,makeActive:this.elements.checkboxMakeActive?.checked??!0})}catch(t){let i=y(t);console.error(`${e} ${i}`,t),this.setStatus(`Error: ${i}`,"error")}finally{this.showBusy({isBusy:!1,submitBtnSelector:"#btn-generate"}),this.setButtonLoading(!1)}}async finalizeIdentityOnboarding({primaryKeystone:e,primaryGraph:t,delegateKeystone:i,primaryTjpAddr:o,masterSecret:s,delegateSecret:a,makeActive:c=!0}){let d=`${this.lc}[${this.finalizeIdentityOnboarding.name}]`,u=500,f=await $();if(!f)throw new Error("(UNEXPECTED) metaspace falsy? Expected active global metaspace instance. (E: 2e37a8b6fe987449c5d8693a7d4a2827)");let h=await f.getLocalUserSpace({});if(!h)throw new Error("(UNEXPECTED) space falsy? Expected valid default local user space from metaspace. (E: 1e37a8b6fe987449c5d8693a7d4a2826)");if(t){let E=Object.values(t);await f.put({ibGibs:E,space:h});let w=$e({ibGibs:E});for(let v of Object.keys(w))for(let I of w[v])await f.registerNewIbGib({ibGib:I,space:h})}else e&&(await f.put({ibGibs:[e],space:h}),await f.registerNewIbGib({ibGib:e,space:h}));let m=new X;try{await m.getLatestKeystone({addr:o,metaspace:f,space:h})}catch(E){let w=`Primary identity keystone ${o} not found in local browser space! Error: ${y(E)}`;throw console.error(`${d} ${w} (E: a123456789abcdef0123456789c0001)`),new Error(w)}this.showBusy({isBusy:!0,title:"Registering Identity...",msg:"Updating local identity indexes and scope settings...",animationEmoji:"\u{1F4BE}"});let g=[z({ibGib:i})];if(!e&&!t)throw new Error("(UNEXPECTED) primaryKeystone and primaryGraph both falsy? We should have gotten this back from the server. (E: e34cd882ac66633c75c53318a3b28826)");if(!i)throw new Error("(UNEXPECTED) delegateKeystone falsy? We should have made this locally and even registered it with the server. (E: 56b1c396269e15f008b7e298c71bc826)");e&&g.unshift(z({ibGib:e})),await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:g}],metaspace:f,space:h}),s&&(window.dev_domainI=e,window.dev_domainIMasterSecret=s,window.dev_syncDelegate=i,window.dev_syncDelegateSecret=a),c&&window.dispatchEvent(new CustomEvent(Ge,{detail:{activeIdentityAddr:o},bubbles:!0,composed:!0}));let b="Identity successfully created and activated!";this.showBusy({isBusy:!0,title:"Success!",msg:b,animationEmoji:"\u2705"}),await H(u),this.elements?.keystoneAddrEl&&(this.elements.keystoneAddrEl.textContent=o),this.elements?.statusArea&&this.elements.statusArea.classList.remove("hidden"),this.setStatus(b,"success"),console.log(`${d} \u2713 ${b}`),this.elements?.inputSecret&&(this.elements.inputSecret.value=""),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager",addr:o},bubbles:!0,composed:!0})),this.showBusy({isBusy:!1})}setFormDisabled(e){let t=this.shadowRoot,i=["input-username","input-description","input-email","input-secret","checkbox-make-active","btn-generate","btn-switch-sign-in"];for(let o of i){let s=t.getElementById(o);s&&(s.disabled=e,e?(s.style.opacity="0.5",s.style.pointerEvents="none"):(s.style.opacity="1",s.style.pointerEvents="auto"))}}async renderUI(){}async handleContextUpdated(){await this.renderUI()}};var Ll=`:host {
1219
1219
  display: block;
1220
1220
  width: 100%;
1221
1221
  max-width: 100%;
@@ -1836,7 +1836,7 @@ Please complete authorization in the popup window.`,animationEmoji:"\u{1F310}"})
1836
1836
  background: rgba(0, 0, 0, 0.5);
1837
1837
  box-shadow: 0 0 8px rgba(80, 250, 123, 0.15);
1838
1838
  }
1839
- `;var Bl=`<div id="container" class="component-container">
1839
+ `;var Ul=`<div id="container" class="component-container">
1840
1840
  <div id="historical-warning-banner" class="warning-banner hidden">
1841
1841
  <span>\u26A0\uFE0F Viewing Historical Frame (Past State)</span>
1842
1842
  </div>
@@ -1998,7 +1998,7 @@ Please complete authorization in the popup window.`,animationEmoji:"\u{1F310}"})
1998
1998
  </div>
1999
1999
  </div>
2000
2000
  </div>
2001
- </div>`;function ui({keystone:n,providerId:e}){if(!n?.data?.challengePools)return!1;let t=`custodian-manage-${e}`;return n.data.challengePools.some(i=>i.id===t)}p(ui,"isSsoProviderLinked");var he=!1,Vl="ibgib-keystone-details",fi=class extends ce{static{p(this,"KeystoneDetailsComponentMeta")}lc="[KeystoneDetailsComponentMeta]";routeRegExp=new RegExp(`^${Vl}$`);componentName=Vl;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,os)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Bl,css:[me,Fl]}),o}},os=class extends Ke{static{p(this,"KeystoneDetailsComponentInstance")}lc="[KeystoneDetailsComponentInstance]";staticIbGib;get ibGib(){return this.staticIbGib}globalActiveAddr=null;isHistoricalFrame=!1;_onIdentityChanged=null;keystoneCache=new Map;constructor(){super()}async initialize(e){let t=`${this.lc}[${this.initialize.name}]`;try{he&&console.log(`${t} starting... (I: 4c9328643a18e56b56e57292c87bd226)`),await super.initialize(e),await this.loadIbGib({getLatest:!1})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{he&&console.log(`${t} complete.`)}}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1,n:0};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1,n:0};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o});if(a){let c={username:a.name,description:a.description,isPrimary:a.isPrimary,n:a.n};return this.keystoneCache.set(e,c),c}else console.warn(`[getKeystoneDetails] Keystone common info not found in local space for addr: ${e}`)}catch(s){console.warn(`Error getting details for keystone ${e}: ${y(s)}`)}return{username:"",description:"",isPrimary:!1,n:0}}async created(){let e=`${this.lc}[${this.created.name}]`;try{he&&console.log(`${e} starting... (I: 0b2c6debcdac9db9b7928aa8695ed826)`),this.elements={};let t=this.shadowRoot;this.elements.identityDetailsViewEl=t.getElementById("identity-details-view"),this.elements.identityAddrEl=t.getElementById("identity-addr"),this.elements.identityGenEl=t.getElementById("identity-gen"),this.elements.identityTimestampEl=t.getElementById("identity-timestamp"),this.elements.identityUuidEl=t.getElementById("identity-uuid"),this.elements.identityNameEl=t.getElementById("identity-name"),this.elements.identityDescriptionEl=t.getElementById("identity-description"),this.elements.identityFrameDetailsEl=t.getElementById("identity-frame-details"),this.elements.identityAggrDetailsEl=t.getElementById("identity-aggr-details"),this.elements.poolsContainerEl=t.getElementById("pools-container"),this.elements.btnVerifyChainEl=t.getElementById("btn-verify-chain"),this.elements.btnSetActiveEl=t.getElementById("btn-set-active"),this.elements.btnCheckUpdatesEl=t.getElementById("btn-check-updates"),this.elements.btnUpdateIdentityEl=t.getElementById("btn-update-identity"),this.elements.syncStatusMsgEl=t.getElementById("sync-status-msg"),this.elements.verificationStatusEl=t.getElementById("verification-status"),this.elements.rawAccordionHeaderEl=t.getElementById("raw-accordion-header"),this.elements.rawAccordionContentEl=t.getElementById("raw-accordion-content"),this.elements.rawKeystoneJsonEl=t.getElementById("raw-keystone-json"),this.elements.delegatesCardEl=t.getElementById("delegates-card"),this.elements.delegatesListEl=t.getElementById("delegates-list"),this.elements.containerEl=t.getElementById("container"),this.elements.historicalWarningBannerEl=t.getElementById("historical-warning-banner"),this.elements.ssoLinkCardEl=t.getElementById("sso-link-card"),this.elements.btnLinkGoogleEl=t.getElementById("btn-link-google"),this.elements.btnLinkGithubEl=t.getElementById("btn-link-github"),this.elements.ssoStatusMsgEl=t.getElementById("sso-status-msg"),this.elements.inputCurrentPasswordEl=t.getElementById("input-current-password"),this.elements.inputNewPasswordEl=t.getElementById("input-new-password"),this.elements.inputConfirmPasswordEl=t.getElementById("input-confirm-password"),this.elements.btnChangePasswordEl=t.getElementById("btn-change-password"),this.elements.changePasswordStatusEl=t.getElementById("change-password-status"),this.elements.changePasswordCardEl=t.getElementById("change-password-card"),this.elements.contentEl=t.getElementById("identity-details-view"),this.initHandlers(),this._onIdentityChanged=async i=>{this.globalActiveAddr=i.detail?.activeIdentityAddr||null,this.keystoneCache.clear(),await this.updateFrameDetailsView(),this.updateActiveButtonState()},window.addEventListener(Ie,this._onIdentityChanged),await this.resolveActiveIdentity(),await this.loadIbGib({getLatest:!1})}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{he&&console.log(`${e} complete.`)}}async disconnected(){this._onIdentityChanged&&window.removeEventListener(Ie,this._onIdentityChanged)}initHandlers(){this.elements.rawAccordionHeaderEl.addEventListener("click",()=>this.toggleAccordion()),this.elements.btnVerifyChainEl.addEventListener("click",()=>this.handleVerifyIdentityChain()),this.elements.btnSetActiveEl.addEventListener("click",()=>this.handleSetActiveIdentity()),this.elements.btnCheckUpdatesEl.addEventListener("click",()=>this.handleCheckForUpdates()),this.elements.btnUpdateIdentityEl.addEventListener("click",()=>this.handleUpdateIdentity()),this.elements.btnLinkGoogleEl.addEventListener("click",()=>this.handleSSOClick("google")),this.elements.btnLinkGithubEl.addEventListener("click",()=>this.handleSSOClick("github")),this.elements.btnChangePasswordEl.addEventListener("click",()=>this.handleChangePassword())}toggleAccordion(){let e=this.elements.rawAccordionHeaderEl,t=this.elements.rawAccordionContentEl;e.classList.toggle("expanded"),t.classList.toggle("expanded")}setSyncStatus(e,t){let i=this.elements.syncStatusMsgEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleCheckForUpdates(){let e=`${this.lc}[${this.handleCheckForUpdates.name}]`;if(this.ibGibAddr){this.setSyncStatus("Checking server for keystone updates...","info");try{let t=await $(),i=t?await t.getLocalUserSpace({lock:!1}):void 0,s=await Xe().checkForKeystoneUpdate({activePrimaryAddr:this.ibGibAddr,metaspace:t,space:i});s.hasUpdate?this.setSyncStatus(`Update Available (Server n=${s.serverN}, Local n=${s.localN})`,"info"):this.setSyncStatus(`Up to Date (n=${s.localN})`,"success")}catch(t){console.error(`${e} ${y(t)}`),this.setSyncStatus(`Check failed: ${y(t)}`,"error")}}}async handleUpdateIdentity(){let e=`${this.lc}[${this.handleUpdateIdentity.name}]`;if(this.ibGibAddr){this.setSyncStatus("Updating identity keystone from server...","info");try{let t=await $(),i=t?await t.getLocalUserSpace({lock:!1}):void 0,s=await Xe().updateActiveKeystone({activePrimaryAddr:this.ibGibAddr,metaspace:t,space:i});if(s){let a=S({ibGib:s});this.ibGibAddr=a,this.staticIbGib=s,this.setSyncStatus(`Identity updated successfully to n=${s.data?.n??0}`,"success"),await this.loadIbGib({getLatest:!0})}else this.setSyncStatus("Identity is already up to date.","info")}catch(t){console.error(`${e} ${y(t)}`),this.setSyncStatus(`Update failed: ${y(t)}`,"error")}}}async handleVerifyIdentityChain(){let e=`${this.lc}[${this.handleVerifyIdentityChain.name}]`;console.log(`${e} Verifying identity keystone timeline...`),this.setVerificationStatus("Verification request sent...","info");try{this.setVerificationStatus("Verification complete. Root Keystone is verified (Genesis phase 1).","success")}catch(t){this.setVerificationStatus(`Verification failed: ${y(t)}`,"error")}}async handleSetActiveIdentity(){this.ibGibAddr&&window.dispatchEvent(new CustomEvent(Re,{detail:{activeIdentityAddr:this.ibGibAddr},bubbles:!0,composed:!0}))}setVerificationStatus(e,t){let i=this.elements.verificationStatusEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{let t=globalThis.ibgib?.identity?.domainIdentity;this.globalActiveAddr=t?S({ibGib:t}):null}catch(t){console.error(`${e} ${y(t)}`),this.globalActiveAddr=null}}async loadIbGib(e){let t=`${this.lc}[${this.loadIbGib.name}]`;try{if(he&&console.log(`${t} starting... (I: f0f7e8d52cbdc37bec844b2875996e26)`),!this.ibGibAddr)return;let i=await $();if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: a9864dbbaefc1082ce7bd228ebd67c26)");let o=await i.getLocalUserSpace({lock:!1});if(!o)throw new Error("(UNEXPECTED) space falsy and we couldn't get default local user space from metaspace? (E: fa298edcecbda889cfd7b228fbd57c26)");let s=this.ibGibAddr;if(e?.getLatest){let c=await i.getLatestAddr({addr:this.ibGibAddr,space:o});c&&(s=c,this.ibGibAddr=c)}let a=await i.get({addrs:[s],space:o});if(a.success&&a.ibGibs&&a.ibGibs.length===1)this.staticIbGib=a.ibGibs[0];else{let d=a.rawResultIbGib?.data?.addrsNotFound??"unknown";throw new Error(`couldn't find address ${s}. addrsNotFound: ${d}? resGet.errorMsg: ${a.errorMsg} (E: e0e5c9b7de2837bc902fa88390cd9f26)`)}await this.updateFrameDetailsView()}catch(i){throw console.error(`${t} Registered identity keystone address ${this.ibGibAddr} not found in local browser space: ${y(i)} (E: a123456789abcdef0123456789c0003)`),i}finally{he&&console.log(`${t} complete.`)}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;try{he&&console.log(`${e} starting... (I: c8aa086352d8079708e00f78b6ac0826)`),await super.renderUI()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{he&&console.log(`${e} complete.`)}}updateActiveButtonState(){if(!this.elements)return;let e=W({ibGibAddr:this.ibGibAddr}).tjpGib??H({ibGibAddr:this.ibGibAddr}).gib,t=this.globalActiveAddr?W({ibGibAddr:this.globalActiveAddr}).tjpGib??H({ibGibAddr:this.globalActiveAddr}).gib:null,i=!!(this.globalActiveAddr&&e===t);if(i?(this.elements.btnSetActiveEl.textContent="Active Identity",this.elements.btnSetActiveEl.classList.add("active-primary")):(this.elements.btnSetActiveEl.textContent="Set as Active Identity",this.elements.btnSetActiveEl.classList.remove("active-primary")),this.isHistoricalFrame)this.elements.btnSetActiveEl.disabled=!0,this.elements.btnVerifyChainEl.disabled=!0,this.elements.btnLinkGoogleEl.classList.add("disabled"),this.elements.btnLinkGithubEl.classList.add("disabled");else{this.elements.btnVerifyChainEl.disabled=!1,this.elements.btnSetActiveEl.disabled=i,this.elements.btnLinkGoogleEl.classList.remove("disabled"),this.elements.btnLinkGithubEl.classList.remove("disabled");let o=ui({keystone:this.ibGib,providerId:"google"}),s=ui({keystone:this.ibGib,providerId:"github"}),a=this.elements.btnLinkGoogleEl,c=a.querySelector(".toggle-state-text");o?(a.classList.remove("unlinked"),a.classList.add("linked"),c.textContent="Google Linked \u2705"):(a.classList.remove("linked"),a.classList.add("unlinked"),c.textContent="Unlinked");let d=this.elements.btnLinkGithubEl,u=d.querySelector(".toggle-state-text");s?(d.classList.remove("unlinked"),d.classList.add("linked"),u.textContent="GitHub Linked \u2705"):(d.classList.remove("linked"),d.classList.add("unlinked"),u.textContent="Unlinked")}}async updateFrameDetailsView(){let e=`${this.lc}[${this.updateFrameDetailsView.name}]`;try{if(he&&console.log(`${e} starting... (I: 1fa9e66d2e78fb100874573e2db71d26)`),!this.elements)return;let t=this.ibGib;if(!t){this.clearActiveDetails();return}let i=this.ibGibAddr;this.elements.identityAddrEl.textContent=i,this.elements.identityGenEl.textContent=t.data?.n!==void 0?String(t.data.n):"0 (Genesis)";let o=t.data?.timestamp,s="N/A";if(o){let m=parseInt(o);isNaN(m)?s=new Date(o).toLocaleString():s=new Date(m).toLocaleString()}this.elements.identityTimestampEl.textContent=s,this.elements.identityUuidEl.textContent=t.data?.uuid||"N/A";let a=t.data?.frameDetails;this.elements.identityFrameDetailsEl.textContent=a?L(a):"{}";let c=!1,d=await $();if(d){let m=await d.getLocalUserSpace({lock:!1});if(m){try{let g=await d.getLatestAddr({addr:this.ibGibAddr,space:m});g&&g!==this.ibGibAddr&&(c=!0)}catch(g){console.warn(`${e} Error checking latest address: ${y(g)}`)}try{let b=await new X().getAggregateDetails({latestKeystone:t,metaspace:d,space:m});this.elements.identityAggrDetailsEl.textContent=b?L(b):"{}",this.elements.identityNameEl.textContent=b?.username||b?.profile?.name||b?.name||"-",this.elements.identityDescriptionEl.textContent=b?.description||b?.profile?.description||"-"}catch(g){console.warn(`${e} Error aggregating details: ${y(g)}`),this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-"}}else this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-"}else this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-";this.isHistoricalFrame=c;let u=this.elements.historicalWarningBannerEl,f=this.elements.containerEl;u&&f&&(c?(u.classList.remove("hidden"),f.classList.add("is-historical")):(u.classList.add("hidden"),f.classList.remove("is-historical"))),this.elements.rawKeystoneJsonEl.textContent=L(t),this.renderChallengePools(t.data?.challengePools||[]),(await this.getKeystoneDetails(this.ibGibAddr)).isPrimary?(this.elements.delegatesCardEl.classList.remove("hidden"),await this.renderDelegates(t.data?.delegates),this.elements.ssoLinkCardEl.classList.remove("hidden"),this.elements.changePasswordCardEl.classList.remove("hidden")):(this.elements.delegatesCardEl.classList.add("hidden"),this.elements.ssoLinkCardEl.classList.add("hidden"),this.elements.changePasswordCardEl.classList.add("hidden")),this.updateActiveButtonState()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{he&&console.log(`${e} complete.`)}}clearActiveDetails(){this.elements&&(this.isHistoricalFrame=!1,this.elements.historicalWarningBannerEl&&this.elements.historicalWarningBannerEl.classList.add("hidden"),this.elements.containerEl&&this.elements.containerEl.classList.remove("is-historical"),this.elements.identityGenEl.textContent="-",this.elements.identityTimestampEl.textContent="-",this.elements.identityUuidEl.textContent="-",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-",this.elements.identityFrameDetailsEl.textContent="{}",this.elements.identityAggrDetailsEl.textContent="{}",this.elements.poolsContainerEl.innerHTML="",this.elements.delegatesListEl&&(this.elements.delegatesListEl.innerHTML=""))}renderChallengePools(e){if(!this.elements)return;let t=this.elements.poolsContainerEl;if(t.innerHTML="",!e||e.length===0){t.innerHTML='<p class="description">No challenge pools found in this keystone.</p>';return}for(let i of e){let o=document.createElement("div");o.className="pool-card";let s=i.config||{},a=s.behavior||{},c=s.allowedVerbs||[],d=i.challenges?Object.keys(i.challenges).length:0,u=!!i.isForeign,f=i.challenges||{},h=Object.entries(f).map(([m,g])=>{let b=g.hash&&g.hash.length>20?g.hash.substring(0,10)+"..."+g.hash.substring(g.hash.length-8):g.hash||"N/A";return`
2001
+ </div>`;var fe=!1,Fl="ibgib-keystone-details",bi=class extends de{static{p(this,"KeystoneDetailsComponentMeta")}lc="[KeystoneDetailsComponentMeta]";routeRegExp=new RegExp(`^${Fl}$`);componentName=Fl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,cs)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Ul,css:[he,Ll]}),o}},cs=class extends He{static{p(this,"KeystoneDetailsComponentInstance")}lc="[KeystoneDetailsComponentInstance]";staticIbGib;get ibGib(){return this.staticIbGib}globalActiveAddr=null;isHistoricalFrame=!1;_onIdentityChanged=null;keystoneCache=new Map;aggregatedDetails;constructor(){super()}async initialize(e){let t=`${this.lc}[${this.initialize.name}]`;try{fe&&console.log(`${t} starting... (I: 4c9328643a18e56b56e57292c87bd226)`),await super.initialize(e),await this.loadIbGib({getLatest:!1})}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{fe&&console.log(`${t} complete.`)}}async getKeystoneDetails(e){let t=this.keystoneCache.get(e);if(t)return t;let i=await $();if(!i)return{username:"",description:"",isPrimary:!1,n:0};let o=await i.getLocalUserSpace({lock:!1});if(!o)return{username:"",description:"",isPrimary:!1,n:0};try{let a=await new X().getKeystoneCommonInfo({addr:e,metaspace:i,space:o});if(a){let c={username:a.name,description:a.description,isPrimary:a.isPrimary,n:a.n};return this.keystoneCache.set(e,c),c}else console.warn(`[getKeystoneDetails] Keystone common info not found in local space for addr: ${e}`)}catch(s){console.warn(`Error getting details for keystone ${e}: ${y(s)}`)}return{username:"",description:"",isPrimary:!1,n:0}}async created(){let e=`${this.lc}[${this.created.name}]`;try{fe&&console.log(`${e} starting... (I: 0b2c6debcdac9db9b7928aa8695ed826)`),this.elements={};let t=this.shadowRoot;this.elements.identityDetailsViewEl=t.getElementById("identity-details-view"),this.elements.identityAddrEl=t.getElementById("identity-addr"),this.elements.identityGenEl=t.getElementById("identity-gen"),this.elements.identityTimestampEl=t.getElementById("identity-timestamp"),this.elements.identityUuidEl=t.getElementById("identity-uuid"),this.elements.identityNameEl=t.getElementById("identity-name"),this.elements.identityDescriptionEl=t.getElementById("identity-description"),this.elements.identityFrameDetailsEl=t.getElementById("identity-frame-details"),this.elements.identityAggrDetailsEl=t.getElementById("identity-aggr-details"),this.elements.poolsContainerEl=t.getElementById("pools-container"),this.elements.btnVerifyChainEl=t.getElementById("btn-verify-chain"),this.elements.btnSetActiveEl=t.getElementById("btn-set-active"),this.elements.btnCheckUpdatesEl=t.getElementById("btn-check-updates"),this.elements.btnUpdateIdentityEl=t.getElementById("btn-update-identity"),this.elements.syncStatusMsgEl=t.getElementById("sync-status-msg"),this.elements.verificationStatusEl=t.getElementById("verification-status"),this.elements.rawAccordionHeaderEl=t.getElementById("raw-accordion-header"),this.elements.rawAccordionContentEl=t.getElementById("raw-accordion-content"),this.elements.rawKeystoneJsonEl=t.getElementById("raw-keystone-json"),this.elements.delegatesCardEl=t.getElementById("delegates-card"),this.elements.delegatesListEl=t.getElementById("delegates-list"),this.elements.containerEl=t.getElementById("container"),this.elements.historicalWarningBannerEl=t.getElementById("historical-warning-banner"),this.elements.ssoLinkCardEl=t.getElementById("sso-link-card"),this.elements.btnLinkGoogleEl=t.getElementById("btn-link-google"),this.elements.btnLinkGithubEl=t.getElementById("btn-link-github"),this.elements.ssoStatusMsgEl=t.getElementById("sso-status-msg"),this.elements.inputCurrentPasswordEl=t.getElementById("input-current-password"),this.elements.inputNewPasswordEl=t.getElementById("input-new-password"),this.elements.inputConfirmPasswordEl=t.getElementById("input-confirm-password"),this.elements.btnChangePasswordEl=t.getElementById("btn-change-password"),this.elements.changePasswordStatusEl=t.getElementById("change-password-status"),this.elements.changePasswordCardEl=t.getElementById("change-password-card"),this.elements.contentEl=t.getElementById("identity-details-view"),this.initHandlers(),this._onIdentityChanged=async i=>{this.globalActiveAddr=i.detail?.activeIdentityAddr||null,this.keystoneCache.clear(),await this.updateFrameDetailsView(),this.updateActiveButtonState()},window.addEventListener(we,this._onIdentityChanged),await this.resolveActiveIdentity(),await this.loadIbGib({getLatest:!1})}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{fe&&console.log(`${e} complete.`)}}async disconnected(){this._onIdentityChanged&&window.removeEventListener(we,this._onIdentityChanged)}initHandlers(){this.elements.rawAccordionHeaderEl.addEventListener("click",()=>this.toggleAccordion()),this.elements.btnVerifyChainEl.addEventListener("click",()=>this.handleVerifyIdentityChain()),this.elements.btnSetActiveEl.addEventListener("click",()=>this.handleSetActiveIdentity()),this.elements.btnCheckUpdatesEl.addEventListener("click",()=>this.handleCheckForUpdates()),this.elements.btnUpdateIdentityEl.addEventListener("click",()=>this.handleUpdateIdentity()),this.elements.btnLinkGoogleEl.addEventListener("click",()=>this.handleSSOClick("google")),this.elements.btnLinkGithubEl.addEventListener("click",()=>this.handleSSOClick("github")),this.elements.btnChangePasswordEl.addEventListener("click",()=>this.handleChangePassword())}toggleAccordion(){let e=this.elements.rawAccordionHeaderEl,t=this.elements.rawAccordionContentEl;e.classList.toggle("expanded"),t.classList.toggle("expanded")}setSyncStatus(e,t){let i=this.elements.syncStatusMsgEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleCheckForUpdates(){let e=`${this.lc}[${this.handleCheckForUpdates.name}]`;if(this.ibGibAddr){this.setSyncStatus("Checking server for keystone updates...","info");try{let t=await $(),i=t?await t.getLocalUserSpace({lock:!1}):void 0,s=await Qe().checkForKeystoneUpdate({activePrimaryAddr:this.ibGibAddr,metaspace:t,space:i});s.hasUpdate?this.setSyncStatus(`Update Available (Server n=${s.serverN}, Local n=${s.localN})`,"info"):this.setSyncStatus(`Up to Date (n=${s.localN})`,"success")}catch(t){console.error(`${e} ${y(t)}`),this.setSyncStatus(`Check failed: ${y(t)}`,"error")}}}async handleUpdateIdentity(){let e=`${this.lc}[${this.handleUpdateIdentity.name}]`;if(this.ibGibAddr){this.setSyncStatus("Updating identity keystone from server...","info");try{let t=await $(),i=t?await t.getLocalUserSpace({lock:!1}):void 0,s=await Qe().updateActiveKeystone({activePrimaryAddr:this.ibGibAddr,metaspace:t,space:i});if(s){let a=S({ibGib:s});this.ibGibAddr=a,this.staticIbGib=s,this.setSyncStatus(`Identity updated successfully to n=${s.data?.n??0}`,"success"),await this.loadIbGib({getLatest:!0})}else this.setSyncStatus("Identity is already up to date.","info")}catch(t){console.error(`${e} ${y(t)}`),this.setSyncStatus(`Update failed: ${y(t)}`,"error")}}}async handleVerifyIdentityChain(){let e=`${this.lc}[${this.handleVerifyIdentityChain.name}]`;console.log(`${e} Verifying identity keystone timeline...`),this.setVerificationStatus("Verification request sent...","info");try{this.setVerificationStatus("Verification complete. Root Keystone is verified (Genesis phase 1).","success")}catch(t){this.setVerificationStatus(`Verification failed: ${y(t)}`,"error")}}async handleSetActiveIdentity(){this.ibGibAddr&&window.dispatchEvent(new CustomEvent(Ge,{detail:{activeIdentityAddr:this.ibGibAddr},bubbles:!0,composed:!0}))}setVerificationStatus(e,t){let i=this.elements.verificationStatusEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async resolveActiveIdentity(){let e=`${this.lc}[resolveActiveIdentity]`;try{let t=globalThis.ibgib?.identity?.domainIdentity;this.globalActiveAddr=t?S({ibGib:t}):null}catch(t){console.error(`${e} ${y(t)}`),this.globalActiveAddr=null}}async loadIbGib(e){let t=`${this.lc}[${this.loadIbGib.name}]`;try{if(fe&&console.log(`${t} starting... (I: f0f7e8d52cbdc37bec844b2875996e26)`),!this.ibGibAddr)return;let i=await $();if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: a9864dbbaefc1082ce7bd228ebd67c26)");let o=await i.getLocalUserSpace({lock:!1});if(!o)throw new Error("(UNEXPECTED) space falsy and we couldn't get default local user space from metaspace? (E: fa298edcecbda889cfd7b228fbd57c26)");let s=this.ibGibAddr;if(e?.getLatest){let c=await i.getLatestAddr({addr:this.ibGibAddr,space:o});c&&(s=c,this.ibGibAddr=c)}let a=await i.get({addrs:[s],space:o});if(a.success&&a.ibGibs&&a.ibGibs.length===1)this.staticIbGib=a.ibGibs[0];else{let d=a.rawResultIbGib?.data?.addrsNotFound??"unknown";throw new Error(`couldn't find address ${s}. addrsNotFound: ${d}? resGet.errorMsg: ${a.errorMsg} (E: e0e5c9b7de2837bc902fa88390cd9f26)`)}await this.updateFrameDetailsView()}catch(i){throw console.error(`${t} Registered identity keystone address ${this.ibGibAddr} not found in local browser space: ${y(i)} (E: a123456789abcdef0123456789c0003)`),i}finally{fe&&console.log(`${t} complete.`)}}async renderUI(){let e=`${this.lc}[${this.renderUI.name}]`;try{fe&&console.log(`${e} starting... (I: c8aa086352d8079708e00f78b6ac0826)`),await super.renderUI()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{fe&&console.log(`${e} complete.`)}}updateActiveButtonState(){if(!this.elements)return;let e=K({ibGibAddr:this.ibGibAddr}).tjpGib??q({ibGibAddr:this.ibGibAddr}).gib,t=this.globalActiveAddr?K({ibGibAddr:this.globalActiveAddr}).tjpGib??q({ibGibAddr:this.globalActiveAddr}).gib:null,i=!!(this.globalActiveAddr&&e===t);if(i?(this.elements.btnSetActiveEl.textContent="Active Identity",this.elements.btnSetActiveEl.classList.add("active-primary")):(this.elements.btnSetActiveEl.textContent="Set as Active Identity",this.elements.btnSetActiveEl.classList.remove("active-primary")),this.isHistoricalFrame)this.elements.btnSetActiveEl.disabled=!0,this.elements.btnVerifyChainEl.disabled=!0,this.elements.btnLinkGoogleEl.classList.add("disabled"),this.elements.btnLinkGithubEl.classList.add("disabled");else{this.elements.btnVerifyChainEl.disabled=!1,this.elements.btnSetActiveEl.disabled=i,this.elements.btnLinkGoogleEl.classList.remove("disabled"),this.elements.btnLinkGithubEl.classList.remove("disabled");let o=this.aggregatedDetails?.custodianProvider||this.ibGib?.data?.frameDetails?.custodianProvider,s=un({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails,providerId:"google"}),a=un({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails,providerId:"github"}),c=Ut({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails}),d=this.elements.btnLinkGoogleEl,u=d.querySelector(".toggle-state-text");if(s){d.classList.remove("unlinked"),d.classList.add("linked");let m=o==="google";m&&!c.isSovereign?(u.textContent="Google (Primary Account) \u{1F512}",d.title="Cannot unlink primary account without first adding a Master Password below."):m?(u.textContent="Google (Primary Account) \u2705",d.title="Click to unlink Google provider (requires Master Password)."):(u.textContent="Google Linked \u2705",d.title="Click to unlink Google provider.")}else d.classList.remove("linked"),d.classList.add("unlinked"),u.textContent="Unlinked",d.title="Click to link Google account.";let f=this.elements.btnLinkGithubEl,h=f.querySelector(".toggle-state-text");if(a){f.classList.remove("unlinked"),f.classList.add("linked");let m=o==="github";m&&!c.isSovereign?(h.textContent="GitHub (Primary Account) \u{1F512}",f.title="Cannot unlink primary account without first adding a Master Password below."):m?(h.textContent="GitHub (Primary Account) \u2705",f.title="Click to unlink GitHub provider (requires Master Password)."):(h.textContent="GitHub Linked \u2705",f.title="Click to unlink GitHub provider.")}else f.classList.remove("linked"),f.classList.add("unlinked"),h.textContent="Unlinked",f.title="Click to link GitHub account."}}updatePasswordCardView(){let e=Ut({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails}),t=this.elements?.changePasswordCardEl?.querySelector("h3"),i=this.elements?.changePasswordCardEl?.querySelector(".description"),o=this.elements?.inputCurrentPasswordEl?.closest(".form-group"),s=this.elements?.btnChangePasswordEl;e.isCustodial&&!e.isSovereign?(t&&(t.textContent="Add Master Password"),i&&(i.textContent="Establish sovereign ownership by adding a master password. This enables direct, independent cryptographic management without relying solely on custodian authentication."),o&&(o.style.display="none"),s&&(s.textContent="Add Master Password")):(t&&(t.textContent="Change Password"),i&&(i.textContent="Rotate your local password that drives this identity. This will cryptographically evolve your primary identity and all registered user-owned delegate keystones to the new password."),o&&(o.style.display=""),s&&(s.textContent="Update Password"))}async updateFrameDetailsView(){let e=`${this.lc}[${this.updateFrameDetailsView.name}]`;try{if(fe&&console.log(`${e} starting... (I: 1fa9e66d2e78fb100874573e2db71d26)`),!this.elements)return;let t=this.ibGib;if(!t){this.clearActiveDetails();return}let i=this.ibGibAddr;this.elements.identityAddrEl.textContent=i,this.elements.identityGenEl.textContent=t.data?.n!==void 0?String(t.data.n):"0 (Genesis)";let o=t.data?.timestamp,s="N/A";if(o){let m=parseInt(o);isNaN(m)?s=new Date(o).toLocaleString():s=new Date(m).toLocaleString()}this.elements.identityTimestampEl.textContent=s,this.elements.identityUuidEl.textContent=t.data?.uuid||"N/A";let a=t.data?.frameDetails;this.elements.identityFrameDetailsEl.textContent=a?L(a):"{}";let c=!1,d=await $();if(d){let m=await d.getLocalUserSpace({lock:!1});if(m){try{let g=await d.getLatestAddr({addr:this.ibGibAddr,space:m});g&&g!==this.ibGibAddr&&(c=!0)}catch(g){console.warn(`${e} Error checking latest address: ${y(g)}`)}try{let b=await new X().getAggregateDetails({latestKeystone:t,metaspace:d,space:m});this.aggregatedDetails=b,this.elements.identityAggrDetailsEl.textContent=b?L(b):"{}",this.elements.identityNameEl.textContent=b?.username||b?.profile?.name||b?.name||"-",this.elements.identityDescriptionEl.textContent=b?.description||b?.profile?.description||"-"}catch(g){console.warn(`${e} Error aggregating details: ${y(g)}`),this.aggregatedDetails=void 0,this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-"}}else this.aggregatedDetails=void 0,this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-"}else this.aggregatedDetails=void 0,this.elements.identityAggrDetailsEl.textContent="{}",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-";this.isHistoricalFrame=c;let u=this.elements.historicalWarningBannerEl,f=this.elements.containerEl;u&&f&&(c?(u.classList.remove("hidden"),f.classList.add("is-historical")):(u.classList.add("hidden"),f.classList.remove("is-historical"))),this.elements.rawKeystoneJsonEl.textContent=L(t),this.renderChallengePools(t.data?.challengePools||[]),(await this.getKeystoneDetails(this.ibGibAddr)).isPrimary?(this.elements.delegatesCardEl.classList.remove("hidden"),await this.renderDelegates(t.data?.delegates),this.elements.ssoLinkCardEl.classList.remove("hidden"),this.elements.changePasswordCardEl.classList.remove("hidden"),this.updatePasswordCardView()):(this.elements.delegatesCardEl.classList.add("hidden"),this.elements.ssoLinkCardEl.classList.add("hidden"),this.elements.changePasswordCardEl.classList.add("hidden")),this.updateActiveButtonState()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{fe&&console.log(`${e} complete.`)}}clearActiveDetails(){this.elements&&(this.aggregatedDetails=void 0,this.isHistoricalFrame=!1,this.elements.historicalWarningBannerEl&&this.elements.historicalWarningBannerEl.classList.add("hidden"),this.elements.containerEl&&this.elements.containerEl.classList.remove("is-historical"),this.elements.identityGenEl.textContent="-",this.elements.identityTimestampEl.textContent="-",this.elements.identityUuidEl.textContent="-",this.elements.identityNameEl.textContent="-",this.elements.identityDescriptionEl.textContent="-",this.elements.identityFrameDetailsEl.textContent="{}",this.elements.identityAggrDetailsEl.textContent="{}",this.elements.poolsContainerEl.innerHTML="",this.elements.delegatesListEl&&(this.elements.delegatesListEl.innerHTML=""))}renderChallengePools(e){if(!this.elements)return;let t=this.elements.poolsContainerEl;if(t.innerHTML="",!e||e.length===0){t.innerHTML='<p class="description">No challenge pools found in this keystone.</p>';return}for(let i of e){let o=document.createElement("div");o.className="pool-card";let s=i.config||{},a=s.behavior||{},c=s.allowedVerbs||[],d=i.challenges?Object.keys(i.challenges).length:0,u=!!i.isForeign,f=i.challenges||{},h=Object.entries(f).map(([m,g])=>{let b=g.hash&&g.hash.length>20?g.hash.substring(0,10)+"..."+g.hash.substring(g.hash.length-8):g.hash||"N/A";return`
2002
2002
  <div class="pool-challenge-item">
2003
2003
  <span class="challenge-id">${m}</span>
2004
2004
  <span class="challenge-hash" title="${g.hash||""}">${b}</span>
@@ -2082,8 +2082,8 @@ Please complete authorization in the popup window.`,animationEmoji:"\u{1F310}"})
2082
2082
  No registered delegates.
2083
2083
  </td>
2084
2084
  </tr>
2085
- `;return}let i=await $(),o;if(i){let s=await i.getLocalUserSpace({lock:!1});s?.ib&&(o=Is({spaceIb:s.ib}).spaceId)}for(let[s,a]of Object.entries(e)){let c=document.createElement("tr"),d=a.deviceName||a.details?.deviceTag||a.details?.name||"Device Delegate",u=document.createElement("td"),f=a.spaceId||a.details?.spaceId,h=null;f&&(h=document.createElement("span"),h.style.marginLeft="0.5rem",h.style.padding="0.15rem 0.4rem",h.style.borderRadius="4px",h.style.fontSize="0.75rem",h.style.fontWeight="bold",o&&f===o?(h.textContent="This Device",h.className="badge badge-this-device",h.style.backgroundColor="#1b5e20",h.style.color="#a5d6a7"):(h.textContent="Remote Device",h.className="badge badge-remote-device",h.style.backgroundColor="#0d47a1",h.style.color="#90caf9"));let m=p((_,P)=>{u.innerHTML="";let N=document.createElement("span");N.textContent=_,u.appendChild(N),h&&u.appendChild(h),u.title=P||_},"applyNameAndBadge"),g=`\u{1F4BB} ${d}`;m(g,`TJP: ${s}
2086
- Device: ${d}`);let b=document.createElement("td");b.textContent=s,b.title=s;let E=document.createElement("td");E.textContent=a.allowedVerbs?a.allowedVerbs.join(", "):"-",E.title=E.textContent;let w=!!(f&&o&&f!==o),v=document.createElement("td"),I=document.createElement("button");I.className="action-btn secondary small",I.textContent="View Details",I.addEventListener("click",async()=>{let _=`${this.lc}[renderDelegates.click]`;if(w)this.showRemoteDelegateModal(a);else if(a.delegateAddr){let P=a.delegateAddr;if(i){let N=await i.getLocalUserSpace({lock:!1});if(N)try{let x=await i.getLatestAddr({addr:s,space:N});x&&(P=x)}catch(x){console.warn(`${_} Error resolving latest delegate address: ${y(x)}`)}}this.dispatchEvent(new CustomEvent("ibgib-view-keystone-details",{detail:{addr:P},bubbles:!0,composed:!0}))}else this.showRemoteDelegateModal(a)}),v.appendChild(I);let T=document.createElement("button");T.className="action-btn danger small",T.style.marginLeft="0.4rem",T.textContent="Revoke",T.addEventListener("click",async()=>{await this.handleRevokeDelegate(s,d)}),v.appendChild(T),c.appendChild(u),c.appendChild(b),c.appendChild(E),c.appendChild(v),t.appendChild(c)}}async handleRevokeDelegate(e,t){let i=`${this.lc}[${this.handleRevokeDelegate.name}]`;try{let o;try{o=await Zt({msg:`Enter Master Password to revoke delegate '${t}':`,confirm:!1})}catch{return}if(!o)return;this.setSyncStatus("Revoking delegate device...","info");let s=await $();if(!s)throw new Error("Metaspace not found");let a=await s.getLocalUserSpace({lock:!1});if(!a)throw new Error("Local space not found");let d=await new X().unregisterDelegate({parentKeystone:this.ibGib,delegateTjpAddr:e,masterSecret:o,metaspace:s,space:a}),u=Y({ibGib:this.ibGib})||S({ibGib:this.ibGib}),f=await B().putEvolveKeystone({domainAddr:u,keystoneIbGib:d,relatedKeystoneIbGibs:[]});if(!f.success)throw new Error(`Server rejected delegate revocation: ${f.message}`);await s.put({ibGibs:[d],space:a}),await s.registerNewIbGib({ibGib:d,space:a}),await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[K({ibGib:d})]}],metaspace:s,space:a});let h=S({ibGib:d});window.dispatchEvent(new CustomEvent(Ie,{detail:{activeIdentityAddr:h},bubbles:!0,composed:!0})),this.setSyncStatus(`Successfully revoked device '${t}'!`,"success"),this.ibGibAddr=h,this.staticIbGib=d,await this.loadIbGib({getLatest:!0})}catch(o){console.error(`${i} Delegate revocation failed: ${y(o)}`),this.setSyncStatus(`Revocation failed: ${y(o)}`,"error")}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{he&&console.log(`${e} starting... (I: 243a88c1d4689c779bbbf2a4abd5da26)`),console.warn(`${e} this component currently designed expecting that this does not hit (W: 95dc018b87027287e860de0826146826)`),await super.handleContextUpdated()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{he&&console.log(`${e} complete.`)}}async handleNewContextChild({childIbGib:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{he&&console.log(`${t} starting... (I: b04dc63842f871658840233485659726)`),await super.handleNewContextChild({childIbGib:e}),console.warn(`${t} this component currently designed expecting that this does not hit (W: 95dc018b87027287e860de0826146826)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{he&&console.log(`${t} complete.`)}}async handleSSOLink(e){let t=`${this.lc}[${this.handleSSOLink.name}]`;this.setSSOStatus(`Linking ${e}...`,"info");try{let i=await rt({providerId:e,parentTjpAddr:this.ibGibAddr});if(!i.success||!i.code){this.setSSOStatus(i.message||"Linking cancelled.","error");return}await this.handleSSOLinkCallback(i.code,i.stateObj,i.redirectUri)}catch(i){console.error(`${t} SSO link initiation failed: ${y(i)}`),this.setSSOStatus(`Link failed: ${y(i)}`,"error")}}setSSOStatus(e,t){let i=this.elements.ssoStatusMsgEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleSSOLinkCallback(e,t,i){let o=`${this.lc}[${this.handleSSOLinkCallback.name}]`;this.setSSOStatus("Retrieving challenge pool configuration from server...","info");try{let s=await fetch("/api/identity/sso/link",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,providerId:t.providerId,parentTjpAddr:t.parentTjpAddr,userNonce:t.userNonce,redirectUri:i})});if(!s.ok){let v=await s.json().catch(()=>({}));throw new Error(`Server link exchange failed: ${v.message||s.statusText}`)}let a=await s.json();if(!a.success||!a.custodianPool)throw new Error(`Failed to retrieve custodian challenge pool: ${a.message||"unknown error"}`);let c=a.custodianPool,d=new X,u,f=!1,h=0,m=8;for(;h<m&&!f;){try{let v=h===0?"Link successful! Enter your local Master Secret (Password) to sign and register the custodian pool":`Incorrect password. Please try again (${m-h} tries remaining):`;u=await Zt({msg:v,confirm:!1})}catch{he&&console.log(`${o}[promptForSecret] user cancelled (I: 911ff1fb0234949228481968e9087626)`),u=void 0;break}if(!u)break;f=await d.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:u,poolId:"manage"}),f||h++}if(!f){this.setSSOStatus("Link cancelled or failed (incorrect password).","error");return}this.setSSOStatus("Evolving identity locally and generating cryptographic signatures...","info");let g=await $();if(!g)throw new Error("Metaspace not found");let b=await g.getLocalUserSpace({lock:!1});if(!b)throw new Error("Local space not found");let E=await d.addPools({latestKeystone:this.ibGib,masterSecret:u,newPools:[c],metaspace:g,space:b});this.setSSOStatus("Publishing evolved identity keystone to server...","info");let w=await B().putEvolveKeystone({domainAddr:t.parentTjpAddr,keystoneIbGib:E,relatedKeystoneIbGibs:[]});if(!w.success)throw new Error(`Server synchronization rejected: ${w.message}`);await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[K({ibGib:E})]}],metaspace:g,space:b}),this.setSSOStatus(`Successfully linked with ${t.providerId}!`,"success"),await this.loadIbGib({getLatest:!1})}catch(s){console.error(`${o} SSO callback processing failed: ${y(s)}`),this.setSSOStatus(`Link failed: ${y(s)}`,"error")}}async handleSSOClick(e){ui({keystone:this.ibGib,providerId:e})?await this.handleSSOUnlink(e):await this.handleSSOLink(e)}async handleSSOUnlink(e){let t=`${this.lc}[${this.handleSSOUnlink.name}]`;this.setSSOStatus(`Unlinking ${e}...`,"info");try{let i=new X,o,s=!1,a=0,c=8;for(;a<c&&!s;){try{let g=a===0?`Are you sure you want to unlink your ${e} account? If so, enter your local Master Secret (Password) to authorize. Otherwise, click Cancel.`:`Incorrect password. Please try again (${c-a} tries remaining):`;o=await Zt({msg:g,confirm:!1})}catch{o=void 0;break}if(!o)break;s=await i.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:o,poolId:"manage"}),s||a++}if(!s){this.setSSOStatus("Unlink cancelled or failed (incorrect password).","error");return}this.setSSOStatus("Evolving identity locally and removing custodian pool...","info");let d=await $();if(!d)throw new Error("Metaspace not found");let u=await d.getLocalUserSpace({lock:!1});if(!u)throw new Error("Local space not found");let f=`custodian-manage-${e}`,h=await i.removePools({latestKeystone:this.ibGib,masterSecret:o,poolIds:[f],metaspace:d,space:u});this.setSSOStatus("Publishing evolved identity keystone to server...","info");let m=await B().putEvolveKeystone({domainAddr:S({ibGib:this.ibGib}),keystoneIbGib:h,relatedKeystoneIbGibs:[]});if(!m.success)throw new Error(`Server synchronization rejected: ${m.message}`);await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[K({ibGib:h})]}],metaspace:d,space:u}),this.setSSOStatus(`Successfully unlinked ${e}!`,"success"),await this.loadIbGib({getLatest:!0})}catch(i){console.error(`${t} SSO unlink failed: ${y(i)}`),this.setSSOStatus(`Unlink failed: ${y(i)}`,"error")}}setChangePasswordStatus(e,t){let i=this.elements.changePasswordStatusEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleChangePassword(){let e=`${this.lc}[${this.handleChangePassword.name}]`;this.setChangePasswordStatus("Validating entries...","info");try{let t=this.elements.inputCurrentPasswordEl.value,i=this.elements.inputNewPasswordEl.value,o=this.elements.inputConfirmPasswordEl.value;if(!t){this.setChangePasswordStatus("Current password is required.","error");return}if(!i){this.setChangePasswordStatus("New password is required.","error");return}if(i!==o){this.setChangePasswordStatus("New password and confirmation do not match.","error");return}let s=new X;if(!await s.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:t,poolId:"manage"})){this.setChangePasswordStatus("Incorrect current password.","error");return}this.setChangePasswordStatus("Evolving primary identity keystone...","info");let c=await $();if(!c)throw new Error("(UNEXPECTED) metaspace falsy? (E: 95e3c8374b0f088f339f5c5a8700f826)");let d=await c.getLocalUserSpace({lock:!1});if(!d)throw new Error("(UNEXPECTED) couldn't get default local space? (E: 2fc1281c28351fd378a1d7f88eaa0526)");debugger;let{newKeystone:u,newDelegates:f}=await s.changePassword({keystoneIbGib:this.ibGib,newMasterSecret:i,signingSecret:t,signingPoolId:"manage",metaspace:c,space:d});debugger;this.setChangePasswordStatus("Resolving and rotating delegate keystones...","info"),this.setChangePasswordStatus("Syncing evolved keystones to server...","info");let h=S({ibGib:this.ibGib}),m=await B().putEvolveKeystone({domainAddr:h,keystoneIbGib:u,relatedKeystoneIbGibs:f});if(!m.success)throw new Error(`Server synchronization rejected: ${m.message}`);this.setChangePasswordStatus("Updating local indexes...","info");let g=[K({ibGib:u})];f&&f.forEach(E=>{g.push(K({ibGib:E}))}),await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:g}],metaspace:c,space:d}),this.elements.inputCurrentPasswordEl.value="",this.elements.inputNewPasswordEl.value="",this.elements.inputConfirmPasswordEl.value="",this.setChangePasswordStatus("Password updated successfully!","success"),await this.loadIbGib({getLatest:!0})}catch(t){console.error(`${e} Password rotation failed: ${y(t)}`),this.setChangePasswordStatus(`Update failed: ${y(t)}`,"error")}}};var ql=`:host {
2085
+ `;return}let i=await $();if(!i)throw new Error("(UNEXPECTED) metaspace falsy? (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3e)");let o=await i.getLocalUserSpace({lock:!1});if(!o)throw new Error("(UNEXPECTED) space falsy? (E: 9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4f)");let s=o.ib?Ts({spaceIb:o.ib}).spaceId:void 0;for(let[a,c]of Object.entries(e)){let d=document.createElement("tr"),u=c.deviceName||c.details?.deviceTag||c.details?.name||"Device Delegate",f=document.createElement("td"),h=c.spaceId||c.details?.spaceId,m=!1;if(s&&h===s)m=!0;else try{let N=await i.get({addrs:[a],space:o});m=!!(N.success&&N.ibGibs&&N.ibGibs.length>0)}catch{m=!1}let g=document.createElement("span");g.style.marginLeft="0.5rem",g.style.padding="0.15rem 0.4rem",g.style.borderRadius="4px",g.style.fontSize="0.75rem",g.style.fontWeight="bold",m?(g.textContent="This Device",g.className="badge badge-this-device",g.style.backgroundColor="#1b5e20",g.style.color="#a5d6a7"):(g.textContent="Remote Device",g.className="badge badge-remote-device",g.style.backgroundColor="#0d47a1",g.style.color="#90caf9");let b=dn({delegateInfo:c}),E=null;b&&(E=document.createElement("span"),E.textContent="Expired",E.className="badge badge-expired",E.style.marginLeft="0.3rem",E.style.padding="0.15rem 0.4rem",E.style.borderRadius="4px",E.style.fontSize="0.75rem",E.style.fontWeight="bold",E.style.backgroundColor="#b71c1c",E.style.color="#ef9a9a");let w=p((N,x)=>{f.innerHTML="";let M=document.createElement("span");M.textContent=N,f.appendChild(M),g&&f.appendChild(g),E&&f.appendChild(E),f.title=x||N},"applyNameAndBadge"),v=`\u{1F4BB} ${u}`;w(v,`TJP: ${a}
2086
+ Device: ${u}`);let I=document.createElement("td");I.textContent=a,I.title=a;let T=document.createElement("td");T.textContent=c.allowedVerbs?c.allowedVerbs.join(", "):"-",T.title=T.textContent;let A=!m,P=document.createElement("td"),G=document.createElement("button");G.className="action-btn secondary small",G.textContent="View Details",G.addEventListener("click",async()=>{let N=`${this.lc}[renderDelegates.click]`;if(A)this.showRemoteDelegateModal(c);else if(c.delegateAddr||a){let x=c.delegateAddr;try{let O=await new X().getLatestKeystone({addr:a,metaspace:i,space:o});O&&(x=S({ibGib:O}))}catch(M){console.warn(`${N} Error resolving latest delegate keystone: ${y(M)}`)}this.dispatchEvent(new CustomEvent("ibgib-view-keystone-details",{detail:{addr:x},bubbles:!0,composed:!0}))}else this.showRemoteDelegateModal(c)}),P.appendChild(G);let _=document.createElement("button");_.className="action-btn danger small",_.style.marginLeft="0.4rem",_.textContent="Revoke",_.addEventListener("click",async()=>{await this.handleRevokeDelegate(a,u)}),P.appendChild(_),d.appendChild(f),d.appendChild(I),d.appendChild(T),d.appendChild(P),t.appendChild(d)}}async handleRevokeDelegate(e,t){let i=`${this.lc}[${this.handleRevokeDelegate.name}]`;try{let o;try{o=await Mt({msg:`Enter Master Password to revoke delegate '${t}':`,confirm:!1})}catch{return}if(!o)return;this.setSyncStatus("Revoking delegate device...","info");let s=await $();if(!s)throw new Error("Metaspace not found");let a=await s.getLocalUserSpace({lock:!1});if(!a)throw new Error("Local space not found");let d=await new X().unregisterDelegate({parentKeystone:this.ibGib,delegateTjpAddr:e,masterSecret:o,metaspace:s,space:a}),u=Y({ibGib:this.ibGib})||S({ibGib:this.ibGib}),f=await B().putEvolveKeystone({domainAddr:u,keystoneIbGib:d,relatedKeystoneIbGibs:[]});if(!f.success)throw new Error(`Server rejected delegate revocation: ${f.message}`);await s.put({ibGibs:[d],space:a}),await s.registerNewIbGib({ibGib:d,space:a}),await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[z({ibGib:d})]}],metaspace:s,space:a});let h=S({ibGib:d});window.dispatchEvent(new CustomEvent(we,{detail:{activeIdentityAddr:h},bubbles:!0,composed:!0})),this.setSyncStatus(`Successfully revoked device '${t}'!`,"success"),this.ibGibAddr=h,this.staticIbGib=d,await this.loadIbGib({getLatest:!0})}catch(o){console.error(`${i} Delegate revocation failed: ${y(o)}`),this.setSyncStatus(`Revocation failed: ${y(o)}`,"error")}}async handleContextUpdated(){let e=`${this.lc}[${this.handleContextUpdated.name}]`;try{fe&&console.log(`${e} starting... (I: 243a88c1d4689c779bbbf2a4abd5da26)`),console.warn(`${e} this component currently designed expecting that this does not hit (W: 95dc018b87027287e860de0826146826)`),await super.handleContextUpdated()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{fe&&console.log(`${e} complete.`)}}async handleNewContextChild({childIbGib:e}){let t=`${this.lc}[${this.handleNewContextChild.name}]`;try{fe&&console.log(`${t} starting... (I: b04dc63842f871658840233485659726)`),await super.handleNewContextChild({childIbGib:e}),console.warn(`${t} this component currently designed expecting that this does not hit (W: 95dc018b87027287e860de0826146826)`)}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{fe&&console.log(`${t} complete.`)}}async handleSSOLink(e){let t=`${this.lc}[${this.handleSSOLink.name}]`;this.setSSOStatus(`Linking ${e}...`,"info");try{let i=await Ke({providerId:e,parentTjpAddr:this.ibGibAddr});if(!i.success||!i.code){this.setSSOStatus(i.message||"Linking cancelled.","error");return}await this.handleSSOLinkCallback(i.code,i.stateObj,i.redirectUri)}catch(i){console.error(`${t} SSO link initiation failed: ${y(i)}`),this.setSSOStatus(`Link failed: ${y(i)}`,"error")}}setSSOStatus(e,t){let i=this.elements.ssoStatusMsgEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleSSOLinkCallback(e,t,i){let o=`${this.lc}[${this.handleSSOLinkCallback.name}]`;this.setSSOStatus("Retrieving challenge pool configuration from server...","info");try{let s=await fetch("/api/identity/sso/link",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e,providerId:t.providerId,parentTjpAddr:t.parentTjpAddr,userNonce:t.userNonce,redirectUri:i})});if(!s.ok){let v=await s.json().catch(()=>({}));throw new Error(`Server link exchange failed: ${v.message||s.statusText}`)}let a=await s.json();if(!a.success||!a.custodianPool)throw new Error(`Failed to retrieve custodian challenge pool: ${a.message||"unknown error"}`);let c=a.custodianPool,d=new X,u,f=!1,h=0,m=8;for(;h<m&&!f;){try{let v=h===0?"Link successful! Enter your local Master Secret (Password) to sign and register the custodian pool":`Incorrect password. Please try again (${m-h} tries remaining):`;u=await Mt({msg:v,confirm:!1})}catch{fe&&console.log(`${o}[promptForSecret] user cancelled (I: 911ff1fb0234949228481968e9087626)`),u=void 0;break}if(!u)break;f=await d.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:u,poolId:"manage"}),f||h++}if(!f){this.setSSOStatus("Link cancelled or failed (incorrect password).","error");return}this.setSSOStatus("Evolving identity locally and generating cryptographic signatures...","info");let g=await $();if(!g)throw new Error("Metaspace not found");let b=await g.getLocalUserSpace({lock:!1});if(!b)throw new Error("Local space not found");let E=await d.addPools({latestKeystone:this.ibGib,masterSecret:u,newPools:[c],metaspace:g,space:b});this.setSSOStatus("Publishing evolved identity keystone to server...","info");let w=await B().putEvolveKeystone({domainAddr:t.parentTjpAddr,keystoneIbGib:E,relatedKeystoneIbGibs:[]});if(!w.success)throw new Error(`Server synchronization rejected: ${w.message}`);await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[z({ibGib:E})]}],metaspace:g,space:b}),this.setSSOStatus(`Successfully linked with ${t.providerId}!`,"success"),await this.loadIbGib({getLatest:!1})}catch(s){console.error(`${o} SSO callback processing failed: ${y(s)}`),this.setSSOStatus(`Link failed: ${y(s)}`,"error")}}async handleSSOClick(e){if(un({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails,providerId:e})){if(!Ut({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails}).isSovereign){this.setSSOStatus(`Cannot unlink ${e}: This is your only identity recovery and management method. Please add a Master Password first in the Password card below to enable sovereign ownership before unlinking.`,"error");return}await this.handleSSOUnlink(e)}else await this.handleSSOLink(e)}async handleSSOUnlink(e){let t=`${this.lc}[${this.handleSSOUnlink.name}]`;this.setSSOStatus(`Unlinking ${e}...`,"info");try{let i=new X,o,s=!1,a=0,c=8;for(;a<c&&!s;){try{let b=a===0?`Are you sure you want to unlink your ${e} account? If so, enter your local Master Secret (Password) to authorize. Otherwise, click Cancel.`:`Incorrect password. Please try again (${c-a} tries remaining):`;o=await Mt({msg:b,confirm:!1})}catch{o=void 0;break}if(!o)break;s=await i.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:o,poolId:"manage"}),s||a++}if(!s){this.setSSOStatus("Unlink cancelled or failed (incorrect password).","error");return}this.setSSOStatus("Evolving identity locally and removing custodian pool...","info");let d=await $();if(!d)throw new Error("Metaspace not found");let u=await d.getLocalUserSpace({lock:!1});if(!u)throw new Error("Local space not found");let f=`custodian-manage-${e}`,h=await i.removePools({latestKeystone:this.ibGib,masterSecret:o,poolIds:[f],metaspace:d,space:u}),m=this.ibGib?.data?.delegates;if(m)for(let[b,E]of Object.entries(m))E.deviceName?.includes(e)&&(h=await i.unregisterDelegate({parentKeystone:h,delegateTjpAddr:b,masterSecret:o,metaspace:d,space:u}));this.setSSOStatus("Publishing evolved identity keystone to server...","info");let g=await B().putEvolveKeystone({domainAddr:S({ibGib:this.ibGib}),keystoneIbGib:h,relatedKeystoneIbGibs:[]});if(!g.success)throw new Error(`Server synchronization rejected: ${g.message}`);await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[z({ibGib:h})]}],metaspace:d,space:u}),this.setSSOStatus(`Successfully unlinked ${e}!`,"success"),await this.loadIbGib({getLatest:!0})}catch(i){console.error(`${t} SSO unlink failed: ${y(i)}`),this.setSSOStatus(`Unlink failed: ${y(i)}`,"error")}}setChangePasswordStatus(e,t){let i=this.elements.changePasswordStatusEl;i.textContent=e,i.className=`status-msg ${t}`,i.classList.remove("hidden")}async handleAddMasterPassword(){let e=`${this.lc}[${this.handleAddMasterPassword.name}]`;this.setChangePasswordStatus("Validating entries...","info");try{let t=this.elements.inputNewPasswordEl.value,i=this.elements.inputConfirmPasswordEl.value;if(!t){this.setChangePasswordStatus("Master password is required.","error");return}if(t!==i){this.setChangePasswordStatus("Master password and confirmation do not match.","error");return}let o=this.ibGib?.data?.challengePools?.find(w=>w.id===Ci);if(!o){this.setChangePasswordStatus("Primary keystone missing active manage challenge pool.","error");return}this.showBusy({isBusy:!0,title:"Elevating Identity...",msg:"Generating cryptographic sovereign challenge pool...",animationEmoji:"\u{1F511}"}),this.setChangePasswordStatus("Generating sovereign challenge pool...","info");let s=await Hs({config:o.config,masterSecret:t}),a={id:Ci,config:o.config,challenges:s},c=Y({ibGib:this.ibGib})||S({ibGib:this.ibGib}),d=this.aggregatedDetails?.custodianProvider||"google",u={primaryTjpAddr:c,newManagePool:a};if(d==="google"||d==="github"){this.showBusy({isBusy:!0,title:"Re-authenticating with Provider...",msg:`Please complete authentication in the ${d} popup window...`,animationEmoji:"\u{1F512}"}),this.setChangePasswordStatus(`Please authenticate in the popup with ${d} to verify ownership...`,"info");let w=await Ke({providerId:d,parentTjpAddr:c});if(!w.success||!w.code){this.showBusy({isBusy:!1}),this.setChangePasswordStatus(w.message||"Re-authentication cancelled.","error");return}u.providerId=d,u.code=w.code,u.redirectUri=w.redirectUri}else{this.showBusy({isBusy:!1});let w=this.aggregatedDetails?.emails?.[0]||this.ibGib?.data?.emails?.[0],v=await Mt({msg:`Enter 6-digit verification code sent to ${w}:`,confirm:!1});if(!v){this.setChangePasswordStatus("Verification code required.","error");return}u.email=w,u.code=v}this.showBusy({isBusy:!0,title:"Updating Keystone Timeline...",msg:"Publishing sovereign master password and evolving identity DAG...",animationEmoji:"\u23F3"}),this.setChangePasswordStatus("Elevating identity to sovereign master password on server...","info");let f=await fetch("/api/identity/custodian/add-master-password",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)}),h=await f.json();if(!f.ok||!h.success)throw new Error(h.error||h.message||`Server error (${f.status})`);let m=h.primaryKeystone,g=await $();if(!g)throw new Error("Global metaspace not available");let b=await g.getLocalUserSpace({lock:!1});if(!b)throw new Error("Local user space not available");await g.put({ibGibs:[m],space:b}),await g.registerNewIbGib({ibGib:m,space:b}),await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:[z({ibGib:m})]}],metaspace:g,space:b});let E=S({ibGib:m});window.dispatchEvent(new CustomEvent(we,{detail:{activeIdentityAddr:E},bubbles:!0,composed:!0})),this.setChangePasswordStatus("Successfully added Master Password! Identity is now sovereign.","success"),this.ibGibAddr=E,this.staticIbGib=m,await this.loadIbGib({getLatest:!0}),this.elements.inputNewPasswordEl.value="",this.elements.inputConfirmPasswordEl.value=""}catch(t){console.error(`${e} Elevation failed: ${y(t)}`),this.setChangePasswordStatus(`Failed to add master password: ${y(t)}`,"error")}finally{this.showBusy({isBusy:!1})}}async handleChangePassword(){let e=`${this.lc}[${this.handleChangePassword.name}]`,t=Ut({keystone:this.ibGib,aggregatedDetails:this.aggregatedDetails});if(t.isCustodial&&!t.isSovereign){await this.handleAddMasterPassword();return}this.setChangePasswordStatus("Validating entries...","info");try{let o=this.elements.inputCurrentPasswordEl.value,s=this.elements.inputNewPasswordEl.value,a=this.elements.inputConfirmPasswordEl.value;if(!o){this.setChangePasswordStatus("Current password is required.","error");return}if(!s){this.setChangePasswordStatus("New password is required.","error");return}if(s!==a){this.setChangePasswordStatus("New password and confirmation do not match.","error");return}let c=new X;if(!await c.verifySigningSecret({keystoneIbGib:this.ibGib,signingSecret:o,poolId:"manage"})){this.setChangePasswordStatus("Incorrect current password.","error");return}this.setChangePasswordStatus("Evolving primary identity keystone...","info");let u=await $();if(!u)throw new Error("(UNEXPECTED) metaspace falsy? (E: 95e3c8374b0f088f339f5c5a8700f826)");let f=await u.getLocalUserSpace({lock:!1});if(!f)throw new Error("(UNEXPECTED) couldn't get default local space? (E: 2fc1281c28351fd378a1d7f88eaa0526)");debugger;let{newKeystone:h,newDelegates:m}=await c.changePassword({keystoneIbGib:this.ibGib,newMasterSecret:s,signingSecret:o,signingPoolId:"manage",metaspace:u,space:f});debugger;this.setChangePasswordStatus("Resolving and rotating delegate keystones...","info"),this.setChangePasswordStatus("Syncing evolved keystones to server...","info");let g=S({ibGib:this.ibGib}),b=await B().putEvolveKeystone({domainAddr:g,keystoneIbGib:h,relatedKeystoneIbGibs:m});if(!b.success)throw new Error(`Server synchronization rejected: ${b.message}`);this.setChangePasswordStatus("Updating local indexes...","info");let E=[z({ibGib:h})];m&&m.forEach(v=>{E.push(z({ibGib:v}))}),await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:E}],metaspace:u,space:f}),this.elements.inputCurrentPasswordEl.value="",this.elements.inputNewPasswordEl.value="",this.elements.inputConfirmPasswordEl.value="",this.setChangePasswordStatus("Password updated successfully!","success"),await this.loadIbGib({getLatest:!0})}catch(o){console.error(`${e} Password rotation failed: ${y(o)}`),this.setChangePasswordStatus(`Update failed: ${y(o)}`,"error")}}};var Bl=`:host {
2087
2087
  display: block;
2088
2088
  width: 100%;
2089
2089
  max-width: 100%;
@@ -2129,7 +2129,7 @@ Device: ${d}`);let b=document.createElement("td");b.textContent=s,b.title=s;let
2129
2129
  flex-direction: column;
2130
2130
  gap: 1.5rem;
2131
2131
  }
2132
- `;var Hl=`<div id="container" class="scrubber-container">
2132
+ `;var Vl=`<div id="container" class="scrubber-container">
2133
2133
  <div class="scrubber-nav">
2134
2134
  <button id="btn-scrub-first" class="action-btn scrubber-btn" title="First Frame">&lt;&lt;</button>
2135
2135
  <button id="btn-scrub-prev10" class="action-btn scrubber-btn" title="Back 10 Frames">-10</button>
@@ -2144,7 +2144,7 @@ Device: ${d}`);let b=document.createElement("td");b.textContent=s,b.title=s;let
2144
2144
  <!-- Details component for the active frame will be injected here -->
2145
2145
  </div>
2146
2146
  </div>
2147
- `;var Ce=!1,Ol="ibgib-keystone-scrubber",pi=class extends ce{static{p(this,"KeystoneScrubberComponentMeta")}lc="[KeystoneScrubberComponentMeta]";routeRegExp=new RegExp(`^${Ol}$`);componentName=Ol;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,ss)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Hl,css:[me,ql]}),o}},ss=class n extends Ot{static{p(this,"KeystoneScrubberComponentInstance")}lc="[KeystoneScrubberComponentInstance]";history=[];currentFrameIndex=-1;lastLoadedHistoryAddr=null;constructor(){console.log("yes this is being updated! I am just wondering if I am seeing old code in the browser, i.e., if refresh is happening or just getting cache (I: 6599db11c1086062b8f5e86db89cba26)");let e=`${n.name}[ctor]`;Ce&&console.log(`${e} (I: 3adca837d5c898d8e839d23c59538126)`),super()}async initialize(e){let t=`${this.lc}[${this.initialize.name}]`;try{Ce&&console.log(`${t} starting... (I: 75eecfc01af7f3fa9897932ec5457526)`),await super.initialize(e),await this.loadIbGib()}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{Ce&&console.log(`${t} complete.`)}}async created(){let e=`${this.lc}[${this.created.name}]`;try{Ce&&console.log(`${e} starting... (I: bc16e6212928658ed8034c75b6279526)`),this.elements={};let t=this.shadowRoot;this.elements.containerEl=t.getElementById("container"),this.elements.btnScrubFirstEl=t.getElementById("btn-scrub-first"),this.elements.btnScrubPrev10El=t.getElementById("btn-scrub-prev10"),this.elements.btnScrubPrevEl=t.getElementById("btn-scrub-prev"),this.elements.scrubberStatusEl=t.getElementById("scrubber-status"),this.elements.btnScrubNextEl=t.getElementById("btn-scrub-next"),this.elements.btnScrubNext10El=t.getElementById("btn-scrub-next10"),this.elements.btnScrubLatestEl=t.getElementById("btn-scrub-latest"),this.elements.contentEl=t.getElementById("keystone-scrubber-content"),this.initHandlers(),this.loadHistoryData().catch(i=>console.error(`${this.lc} loadHistoryData error: ${y(i)}`))}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Ce&&console.log(`${e} complete.`)}}async disconnected(){}initHandlers(){this.elements.btnScrubFirstEl.addEventListener("click",()=>this.scrubFirst()),this.elements.btnScrubPrev10El.addEventListener("click",()=>this.scrubPrev10()),this.elements.btnScrubPrevEl.addEventListener("click",()=>this.scrubPrev()),this.elements.btnScrubNextEl.addEventListener("click",()=>this.scrubNext()),this.elements.btnScrubNext10El.addEventListener("click",()=>this.scrubNext10()),this.elements.btnScrubLatestEl.addEventListener("click",()=>this.scrubLatest())}async loadIbGib(){let e=`${this.lc}[${this.loadIbGib.name}]`;try{if(Ce&&console.log(`${e} starting... (I: a4a9181bbb58a22cc71c8745a91ec426)`),!this.ibGibAddr)return;await super.loadIbGib(),await this.loadHistoryData()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Ce&&console.log(`${e} complete.`)}}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[activateIbGib]`;try{if(Ce&&console.log(`${i} starting... (I: 890a8cb88f72c918a8bcf82c8af63e26)`),!e)return;let o=await this.getLoadedChildInfo({addr:e,ibGib:t}),s=this.activeChildInfo;s&&(s.active=!1),o.active=!0,await(await re()).inject({parentEl:this.elements.contentEl,componentToInject:o.component})}catch(o){console.error(`${i} ${y(o)}`)}}async loadHistoryData(){!this.ibGibAddr||!this.elements||(this.ibGibAddr!==this.lastLoadedHistoryAddr&&(await this.loadHistory(this.ibGibAddr),this.lastLoadedHistoryAddr=this.ibGibAddr),await this.scrubTo(this.history.length-1))}async loadHistory(e){let t=`${this.lc}[loadHistory]`;this.history=[],this.currentFrameIndex=-1;let i=await $();if(!i)return;let o=await i.getLocalUserSpace({lock:!1});if(!o)return;let s=e,a=[];for(;s;){let c=await i.get({addr:s,space:o});if(!c.success||!c.ibGibs||c.ibGibs.length===0){console.warn(`${t} Could not find frame at ${s}`);break}let d=c.ibGibs[0];if(a.push(s),d.data?.n===0)break;let u=d.rel8ns?.past;s=u&&u.length>0?u[u.length-1]:void 0}this.history=a.reverse(),this.currentFrameIndex=this.history.length-1}async scrubTo(e){if(this.history.length===0)return;this.currentFrameIndex=Math.max(0,Math.min(e,this.history.length-1)),this.updateScrubberUI();let t=this.history[this.currentFrameIndex];await this.activateIbGib({addr:t})}scrubFirst(){this.scrubTo(0)}scrubPrev10(){this.scrubTo(this.currentFrameIndex-10)}scrubPrev(){this.scrubTo(this.currentFrameIndex-1)}scrubNext(){this.scrubTo(this.currentFrameIndex+1)}scrubNext10(){this.scrubTo(this.currentFrameIndex+10)}scrubLatest(){this.scrubTo(this.history.length-1)}updateScrubberUI(){this.elements&&(this.elements.scrubberStatusEl.textContent=`Frame ${this.currentFrameIndex+1} / ${this.history.length}`,this.elements.btnScrubFirstEl.disabled=this.currentFrameIndex===0,this.elements.btnScrubPrev10El.disabled=this.currentFrameIndex===0,this.elements.btnScrubPrevEl.disabled=this.currentFrameIndex===0,this.elements.btnScrubNextEl.disabled=this.currentFrameIndex===this.history.length-1,this.elements.btnScrubNext10El.disabled=this.currentFrameIndex===this.history.length-1,this.elements.btnScrubLatestEl.disabled=this.currentFrameIndex===this.history.length-1)}async getLoadedChildInfo({addr:e,ibGib:t}){let i=`${this.lc}[${this.getLoadedChildInfo.name}]`;try{if(Ce&&console.log(`${i} starting... (I: 9eea188f6b55f04b483fbda8a110f826)`),!e)throw new Error("(UNEXPECTED) addr falsy?");let o=W({ibGibAddr:e}).tjpGib??H({ibGibAddr:e}).gib,s=p(async()=>{let u=await(await re()).getComponentInstance({path:"ibgib-keystone-details",ibGibAddr:e,useRegExpPrefilter:!0});if(!u)throw new Error("(UNEXPECTED) detailsComponent falsy?");return u},"fnCreateAndLoadChildComponent"),a,c=this.childInfos.filter(d=>d.addr===e);if(c.length>0){if(c.length!==1)throw new Error("(UNEXPECTED) filtered.length !== 1?");a=c[0],a.component||(a.component=await s())}else{let d=await s();t=d.ibGib??t;let u=await this.addChild({addr:e,ibGib:t});a={addr:e,childBtnEl:u,component:d,active:!1},this.childInfos.push(a)}return a}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{Ce&&console.log(`${i} complete.`)}}async addChild({addr:e,ibGib:t}){let i=`${this.lc}[${this.addChild.name}]`;try{Ce&&console.log(`${i} starting... (I: 824f98b6f9a2c922f8b3a9f67ad63e26)`);let o=document.createElement("div");return o.style.display="none",o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{Ce&&console.log(`${i} complete.`)}}};var zl=`:host {
2147
+ `;var Ce=!1,ql="ibgib-keystone-scrubber",yi=class extends de{static{p(this,"KeystoneScrubberComponentMeta")}lc="[KeystoneScrubberComponentMeta]";routeRegExp=new RegExp(`^${ql}$`);componentName=ql;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,ds)}async createInstance({path:e,ibGibAddr:t}){let i=`${this.lc}[${this.createInstance.name}]`,o=document.createElement(this.componentName);return await o.initialize({ibGibAddr:t,meta:this,html:Vl,css:[he,Bl]}),o}},ds=class n extends Xt{static{p(this,"KeystoneScrubberComponentInstance")}lc="[KeystoneScrubberComponentInstance]";history=[];currentFrameIndex=-1;lastLoadedHistoryAddr=null;constructor(){console.log("yes this is being updated! I am just wondering if I am seeing old code in the browser, i.e., if refresh is happening or just getting cache (I: 6599db11c1086062b8f5e86db89cba26)");let e=`${n.name}[ctor]`;Ce&&console.log(`${e} (I: 3adca837d5c898d8e839d23c59538126)`),super()}async initialize(e){let t=`${this.lc}[${this.initialize.name}]`;try{Ce&&console.log(`${t} starting... (I: 75eecfc01af7f3fa9897932ec5457526)`),await super.initialize(e),await this.loadIbGib()}catch(i){throw console.error(`${t} ${y(i)}`),i}finally{Ce&&console.log(`${t} complete.`)}}async created(){let e=`${this.lc}[${this.created.name}]`;try{Ce&&console.log(`${e} starting... (I: bc16e6212928658ed8034c75b6279526)`),this.elements={};let t=this.shadowRoot;this.elements.containerEl=t.getElementById("container"),this.elements.btnScrubFirstEl=t.getElementById("btn-scrub-first"),this.elements.btnScrubPrev10El=t.getElementById("btn-scrub-prev10"),this.elements.btnScrubPrevEl=t.getElementById("btn-scrub-prev"),this.elements.scrubberStatusEl=t.getElementById("scrubber-status"),this.elements.btnScrubNextEl=t.getElementById("btn-scrub-next"),this.elements.btnScrubNext10El=t.getElementById("btn-scrub-next10"),this.elements.btnScrubLatestEl=t.getElementById("btn-scrub-latest"),this.elements.contentEl=t.getElementById("keystone-scrubber-content"),this.initHandlers(),this.loadHistoryData().catch(i=>console.error(`${this.lc} loadHistoryData error: ${y(i)}`))}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Ce&&console.log(`${e} complete.`)}}async disconnected(){}initHandlers(){this.elements.btnScrubFirstEl.addEventListener("click",()=>this.scrubFirst()),this.elements.btnScrubPrev10El.addEventListener("click",()=>this.scrubPrev10()),this.elements.btnScrubPrevEl.addEventListener("click",()=>this.scrubPrev()),this.elements.btnScrubNextEl.addEventListener("click",()=>this.scrubNext()),this.elements.btnScrubNext10El.addEventListener("click",()=>this.scrubNext10()),this.elements.btnScrubLatestEl.addEventListener("click",()=>this.scrubLatest())}async loadIbGib(){let e=`${this.lc}[${this.loadIbGib.name}]`;try{if(Ce&&console.log(`${e} starting... (I: a4a9181bbb58a22cc71c8745a91ec426)`),!this.ibGibAddr)return;await super.loadIbGib(),await this.loadHistoryData()}catch(t){throw console.error(`${e} ${y(t)}`),t}finally{Ce&&console.log(`${e} complete.`)}}async activateIbGib({addr:e,ibGib:t}){let i=`${this.lc}[activateIbGib]`;try{if(Ce&&console.log(`${i} starting... (I: 890a8cb88f72c918a8bcf82c8af63e26)`),!e)return;let o=await this.getLoadedChildInfo({addr:e,ibGib:t}),s=this.activeChildInfo;s&&(s.active=!1),o.active=!0,await(await ae()).inject({parentEl:this.elements.contentEl,componentToInject:o.component})}catch(o){console.error(`${i} ${y(o)}`)}}async loadHistoryData(){!this.ibGibAddr||!this.elements||(this.ibGibAddr!==this.lastLoadedHistoryAddr&&(await this.loadHistory(this.ibGibAddr),this.lastLoadedHistoryAddr=this.ibGibAddr),await this.scrubTo(this.history.length-1))}async loadHistory(e){let t=`${this.lc}[loadHistory]`;this.history=[],this.currentFrameIndex=-1;let i=await $();if(!i)return;let o=await i.getLocalUserSpace({lock:!1});if(!o)return;let s=e,a=[];for(;s;){let c=await i.get({addr:s,space:o});if(!c.success||!c.ibGibs||c.ibGibs.length===0){console.warn(`${t} Could not find frame at ${s}`);break}let d=c.ibGibs[0];if(a.push(s),d.data?.n===0)break;let u=d.rel8ns?.past;s=u&&u.length>0?u[u.length-1]:void 0}this.history=a.reverse(),this.currentFrameIndex=this.history.length-1}async scrubTo(e){if(this.history.length===0)return;this.currentFrameIndex=Math.max(0,Math.min(e,this.history.length-1)),this.updateScrubberUI();let t=this.history[this.currentFrameIndex];await this.activateIbGib({addr:t})}scrubFirst(){this.scrubTo(0)}scrubPrev10(){this.scrubTo(this.currentFrameIndex-10)}scrubPrev(){this.scrubTo(this.currentFrameIndex-1)}scrubNext(){this.scrubTo(this.currentFrameIndex+1)}scrubNext10(){this.scrubTo(this.currentFrameIndex+10)}scrubLatest(){this.scrubTo(this.history.length-1)}updateScrubberUI(){this.elements&&(this.elements.scrubberStatusEl.textContent=`Frame ${this.currentFrameIndex+1} / ${this.history.length}`,this.elements.btnScrubFirstEl.disabled=this.currentFrameIndex===0,this.elements.btnScrubPrev10El.disabled=this.currentFrameIndex===0,this.elements.btnScrubPrevEl.disabled=this.currentFrameIndex===0,this.elements.btnScrubNextEl.disabled=this.currentFrameIndex===this.history.length-1,this.elements.btnScrubNext10El.disabled=this.currentFrameIndex===this.history.length-1,this.elements.btnScrubLatestEl.disabled=this.currentFrameIndex===this.history.length-1)}async getLoadedChildInfo({addr:e,ibGib:t}){let i=`${this.lc}[${this.getLoadedChildInfo.name}]`;try{if(Ce&&console.log(`${i} starting... (I: 9eea188f6b55f04b483fbda8a110f826)`),!e)throw new Error("(UNEXPECTED) addr falsy?");let o=K({ibGibAddr:e}).tjpGib??q({ibGibAddr:e}).gib,s=p(async()=>{let u=await(await ae()).getComponentInstance({path:"ibgib-keystone-details",ibGibAddr:e,useRegExpPrefilter:!0});if(!u)throw new Error("(UNEXPECTED) detailsComponent falsy?");return u},"fnCreateAndLoadChildComponent"),a,c=this.childInfos.filter(d=>d.addr===e);if(c.length>0){if(c.length!==1)throw new Error("(UNEXPECTED) filtered.length !== 1?");a=c[0],a.component||(a.component=await s())}else{let d=await s();t=d.ibGib??t;let u=await this.addChild({addr:e,ibGib:t});a={addr:e,childBtnEl:u,component:d,active:!1},this.childInfos.push(a)}return a}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{Ce&&console.log(`${i} complete.`)}}async addChild({addr:e,ibGib:t}){let i=`${this.lc}[${this.addChild.name}]`;try{Ce&&console.log(`${i} starting... (I: 824f98b6f9a2c922f8b3a9f67ad63e26)`);let o=document.createElement("div");return o.style.display="none",o}catch(o){throw console.error(`${i} ${y(o)}`),o}finally{Ce&&console.log(`${i} complete.`)}}};var Ol=`:host {
2148
2148
  display: block;
2149
2149
  width: 100%;
2150
2150
  margin: 1rem auto;
@@ -2352,7 +2352,7 @@ Device: ${d}`);let b=document.createElement("td");b.textContent=s,b.title=s;let
2352
2352
  margin: 0;
2353
2353
  font-size: 0.85rem;
2354
2354
  color: #a6adc8;
2355
- }`;var Kl=`<div id="container" class="component-container">
2355
+ }`;var Hl=`<div id="container" class="component-container">
2356
2356
  <h2 id="title">Sign In to Device</h2>
2357
2357
  <div class="content">
2358
2358
  <p id="subtitle" style="margin-bottom: 1.25rem; font-size: 0.95rem; color: #a6adc8;">
@@ -2476,8 +2476,8 @@ Device: ${d}`);let b=document.createElement("td");b.textContent=s,b.title=s;let
2476
2476
  <p class="warning">\u2705 This device is now authorized to sync with your primary identity.</p>
2477
2477
  </div>
2478
2478
  </div>
2479
- </div>`;function rs(n){let e=(n?.userAgent??(typeof navigator<"u"?navigator.userAgent:"")??"").toLowerCase(),t=n?.userAgentData??(typeof navigator<"u"?navigator.userAgentData:void 0),i=n?.maxTouchPoints??(typeof navigator<"u"?navigator.maxTouchPoints:0)??0,o=n?.screenWidth??(typeof window<"u"?window.innerWidth:1024)??1024,s="",a=t?.mobile,c=/mobile|iphone|ipod|android.*mobile|windows phone/i.test(e);/ipad|tablet|(android(?!.*mobile))/i.test(e)||i>1&&/macintosh/i.test(e)&&o<=1366?s="tablet":(a||c)&&(s="mobile");let u="",f=(t?.platform||"").toLowerCase();f.includes("win")||e.includes("windows")?u="win":f.includes("ios")||e.includes("iphone")||e.includes("ipad")||e.includes("ipod")?u="ios":f.includes("mac")||e.includes("macintosh")||e.includes("mac os")?u="mac":f.includes("android")||e.includes("android")?u="android":(f.includes("linux")||e.includes("linux"))&&(u="linux");let h="";e.includes("edg/")||e.includes("edge/")?h="edge":e.includes("chrome/")||e.includes("crios/")?h="chrome":e.includes("firefox/")||e.includes("fxios/")?h="firefox":e.includes("safari/")&&!e.includes("chrome/")&&!e.includes("crios/")&&(h="safari");let m=n?.randomSuffix;if(!m){let b="0123456789abcdef";m="";for(let E=0;E<4;E++)m+=b.charAt(Math.floor(Math.random()*b.length))}m=m.toLowerCase().replace(/[^a-z0-9]/g,"").slice(0,8);let g=[];return s&&g.push(s),h&&g.push(h),u&&g.push(u),g.length===0&&g.push("device"),g.push(m),g.join("-")}p(rs,"generateDefaultDeviceTag");var Jl="ibgib-add-device",hi=class extends ce{static{p(this,"AddDeviceComponentMeta")}lc="[AddDeviceComponentMeta]";routeRegExp=new RegExp(`^${Jl}$`);componentName=Jl;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,as)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:Kl,css:[me,zl]}),i}},as=class extends Je{static{p(this,"AddDeviceComponentInstance")}lc="[AddDeviceComponentInstance]";_stagedEmail;_stagedPrimaryTjpAddr;_stagedPrimaryKeystone;_stagedPrimaryGraph;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){let e=this.shadowRoot,t={};t.containerEl=e.getElementById("container"),t.titleEl=e.getElementById("title"),t.subtitleEl=e.getElementById("subtitle"),t.surfaceEntryEl=e.getElementById("surface-entry"),t.btnGoogleSso=e.getElementById("btn-google-sso"),t.btnGithubSso=e.getElementById("btn-github-sso"),t.inputIdentifier=e.getElementById("input-identifier"),t.btnContinueEmail=e.getElementById("btn-continue-email"),t.sectionCodeVerification=e.getElementById("section-code-verification"),t.inputCode=e.getElementById("input-code"),t.btnVerifyCode=e.getElementById("btn-verify-code"),t.sectionSovereignPassword=e.getElementById("section-sovereign-password"),t.inputPassword=e.getElementById("input-password"),t.btnAuthorizePassword=e.getElementById("btn-authorize-password"),t.inputDeviceTag=e.getElementById("input-device-tag"),t.checkboxMakeActive=e.getElementById("checkbox-make-active"),t.statusArea=e.getElementById("status-area"),t.statusText=e.getElementById("status-text"),t.resultAreaEl=e.getElementById("result-area"),t.delegateAddrEl=e.getElementById("delegate-addr"),t.contentEl=t.containerEl,this.elements=t,t.inputDeviceTag&&!t.inputDeviceTag.value&&(t.inputDeviceTag.value=rs()),this.initHandlers(),await this.renderUI()}async disconnected(){}initHandlers(){let e=this.elements;e.btnGoogleSso?.addEventListener("click",()=>this.handleSsoClick("google")),e.btnGithubSso?.addEventListener("click",()=>this.handleSsoClick("github")),e.btnContinueEmail?.addEventListener("click",()=>this.handleContinueEmail()),e.btnVerifyCode?.addEventListener("click",()=>this.handleVerifyCode()),e.btnAuthorizePassword?.addEventListener("click",()=>this.handleAuthorizePassword()),this.shadowRoot.getElementById("btn-switch-create-account")?.addEventListener("click",t=>{t.preventDefault(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-keystone-creator"},bubbles:!0,composed:!0}))}),e.inputIdentifier?.addEventListener("input",()=>{e.inputIdentifier.classList.remove("invalid")}),e.inputCode?.addEventListener("input",()=>{e.inputCode.classList.remove("invalid")}),e.inputPassword?.addEventListener("input",()=>{e.inputPassword.classList.remove("invalid")}),e.inputDeviceTag?.addEventListener("input",()=>{e.inputDeviceTag.classList.remove("invalid")})}getDeviceTag(){let e=this.elements,t=e.inputDeviceTag?.value?.trim();if(t&&tn.test(t))return t;let i=rs();return e.inputDeviceTag&&(e.inputDeviceTag.value=i),i}async handleSsoClick(e){let t=`${this.lc}[${this.handleSsoClick.name}]`,i=e==="google"?"Google":"GitHub";this.setStatus(`Opening ${i} sign-in window...`,"info"),this.showBusy({isBusy:!0,title:"Sign In via SSO",msg:`Opening ${i} authorization window...
2480
- Please complete sign-in in the popup window.`,animationEmoji:"\u{1F310}"});try{let o=await rt({providerId:e});if(!o.success||!o.code){this.setStatus(o.message||`${i} sign-in cancelled.`,"error");return}this.setStatus(`Validating ${i} authorization...`,"info"),this.showBusy({isBusy:!0,title:"Exchanging SSO Code...",msg:`Validating ${i} authorization with server...`,animationEmoji:"\u{1F510}"});let a=await B().postSsoLogin({code:o.code,providerId:e,redirectUri:o.redirectUri});if(!a.success||!a.primaryTjpAddr||!a.custodianReqs){this.setStatus(a.message||`${i} login failed.`,"error");return}let{primaryTjpAddr:c,custodianReqs:d,primaryKeystone:u}=a,f=a.userInfo?.email||"",h=f?f.split("@")[0]:"user";await this.completeCustodialDelegateOnboarding({primaryTjpAddr:c,custodianReqs:d,fallbackPrimaryKeystone:u,fallbackPrimaryGraph:a.primaryGraph,email:f,username:h})}catch(o){let s=y(o);console.error(`${t} SSO login error: ${s}`,o),this.setStatus(`Error: ${s}`,"error")}finally{this.showBusy({isBusy:!1})}}async handleContinueEmail(){let e=`${this.lc}[${this.handleContinueEmail.name}]`,t=this.elements,i=t.inputIdentifier?.value?.trim();if(!i||!Mt(i)){t.inputIdentifier.classList.add("invalid"),this.setStatus("Please enter a valid email address.","error");return}t.btnContinueEmail.disabled=!0,t.btnContinueEmail.textContent="Checking...",this.setStatus("Checking identity on server...","info"),this.showBusy({isBusy:!0,title:"Locating Identity...",msg:"Locating account on server...",animationEmoji:"\u{1F50D}"});try{let o=await B().lookupPrimaryKeystone({identifier:i});if(!o.success||!o.tjpAddr){this.setStatus('No account found for this email address. Please click "Create Account" below.',"error");return}this._stagedEmail=i,this._stagedPrimaryTjpAddr=o.tjpAddr,this.setStatus("Dispatching 6-digit verification code...","info"),this.showBusy({isBusy:!0,title:"Sending Code...",msg:"Dispatching 6-digit verification code to your email...",animationEmoji:"\u2709\uFE0F"});let s=await B().postVerificationCode({email:i,primaryTjpAddr:this._stagedPrimaryTjpAddr});if(!s.success){this.setStatus(s.message||"Failed to dispatch verification code.","error");return}t.sectionCodeVerification.classList.remove("hidden"),t.sectionCodeVerification.scrollIntoView({behavior:"smooth"}),this.setStatus(`Verification code sent to ${i}! Enter the 6-digit code above to continue.`,"info"),t.inputCode?.focus()}catch(o){let s=y(o);console.error(`${e} ${s}`,o),this.setStatus(`Error: ${s}`,"error")}finally{t.btnContinueEmail.disabled=!1,t.btnContinueEmail.textContent="Continue with Email",this.showBusy({isBusy:!1})}}async handleVerifyCode(){let e=`${this.lc}[${this.handleVerifyCode.name}]`,t=this.elements,i=t.inputCode?.value?.trim(),o=this._stagedEmail,s=this._stagedPrimaryTjpAddr;if(!o||!s){this.setStatus("Please enter your email and request a code first.","error");return}if(!i||i.length!==6){t.inputCode.classList.add("invalid"),this.setStatus("Please enter a 6-digit verification code.","error");return}t.btnVerifyCode.disabled=!0,t.btnVerifyCode.textContent="Verifying...",this.setStatus("Verifying 6-digit code...","info"),this.showBusy({isBusy:!0,title:"Verifying Code...",msg:"Validating verification code with server...",animationEmoji:"\u{1F510}"});try{let a=await B().postCustodianGenesis({email:o,code:i});if(a.success&&a.primaryTjpAddr&&a.custodianReqs){let{primaryTjpAddr:h,custodianReqs:m,primaryKeystone:g,primaryGraph:b}=a,E=o?o.split("@")[0]:"user";await this.completeCustodialDelegateOnboarding({primaryTjpAddr:h,custodianReqs:m,fallbackPrimaryKeystone:g,fallbackPrimaryGraph:b,email:o,username:E});return}let c=await B().postVerifyCode({email:o,primaryTjpAddr:s,code:i});if(!c.success){this.setStatus(c.message||"Verification failed. Please check the code.","error");return}this.setStatus("Retrieving identity graph from server...","info"),this.showBusy({isBusy:!0,title:"Loading Identity Graph...",msg:"Fetching cryptographic identity timeline from server...",animationEmoji:"\u{1F4E5}"});let d=await B().getKeystoneGraph(s);if(!d.success||!d.graph){this.setStatus("Failed to retrieve identity graph from server.","error");return}this._stagedPrimaryGraph=d.graph;let u=await $(),f=await u.getLocalUserSpace({});if(f){let h=Object.values(d.graph);await u.put({ibGibs:h,space:f});let m=$e({ibGibs:h});for(let b of Object.keys(m))for(let E of m[b])await u.registerNewIbGib({ibGib:E,space:f});let g=m[s]||m[Object.keys(m)[0]];g&&g.length>0&&(this._stagedPrimaryKeystone=g[g.length-1])}t.sectionCodeVerification.classList.add("hidden"),t.sectionSovereignPassword.classList.remove("hidden"),t.sectionSovereignPassword.scrollIntoView({behavior:"smooth"}),this.setStatus("2FA verified! Please enter your master password to authorize this device.","info"),t.inputPassword?.focus()}catch(a){let c=y(a);console.error(`${e} ${c}`,a),this.setStatus(`Error: ${c}`,"error")}finally{t.btnVerifyCode.disabled=!1,t.btnVerifyCode.textContent="Verify Code",this.showBusy({isBusy:!1})}}async completeCustodialDelegateOnboarding({primaryTjpAddr:e,custodianReqs:t,fallbackPrimaryKeystone:i,fallbackPrimaryGraph:o,email:s,username:a}){let c=`${this.lc}[${this.completeCustodialDelegateOnboarding.name}]`,d=this.getDeviceTag();this.setStatus("Deriving local device delegate keys...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:`Generating cryptographic sync delegate keys for ${d}...`,animationEmoji:"\u{1F511}"});let u=await At({primaryTjpAddr:e}),f=a||(s?s.split("@")[0]:"user"),h="sync-profile.dev";if(!h||!h.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let m=Me.buildKeystone(h.trim()).withUsername(`${f}-sync-${d}`).withDescription(`Sync Delegate for ${f} on ${d}`).withDetails({client:"space-gib-web",role:"sync-delegate",deviceTag:d,primaryTjpAddr:e,custodianReqs:t}),g=await m.compileConfigs(),b=await $(),E=await b.getLocalUserSpace({lock:!1});if(!E){this.setStatus("Could not access local user space.","error");return}let v=await new X().genesis({masterSecret:u,configs:g,metaspace:b,space:E,frameDetails:m.getFrameDetails(),isPrimary:!1});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F504}"});let I=await B().postCustodianRegisterDelegate({delegateKeystone:v});if(!I.success){this.setStatus(I.message||"Custodian delegate registration failed.","error");return}await this.finalizeDeviceOnboarding({primaryKeystone:I.evolvedPrimaryKeystone||i,primaryGraph:I.primaryGraph||o,delegateKeystone:v,primaryTjpAddr:e,delegateSecret:u,makeActive:this.elements?.checkboxMakeActive?.checked??!0})}async handleAuthorizePassword(){let e=`${this.lc}[${this.handleAuthorizePassword.name}]`,t=this.elements,i=t.inputPassword?.value?.trim(),o=this._stagedPrimaryKeystone,s=this._stagedPrimaryTjpAddr;if(!i){t.inputPassword.classList.add("invalid"),this.setStatus("Please enter your master password.","error");return}if(!o||!s){this.setStatus("Missing staged primary identity context. Please restart sign-in.","error");return}t.btnAuthorizePassword.disabled=!0,t.btnAuthorizePassword.textContent="Authorizing...",this.setStatus("Verifying master password locally...","info"),this.showBusy({isBusy:!0,title:"Verifying Password...",msg:"Verifying cryptographic password locally in browser...",animationEmoji:"\u{1F510}"});try{let a=new X;if(!await a.verifySigningSecret({keystoneIbGib:o,signingSecret:i,poolId:"manage"})){t.inputPassword.classList.add("invalid"),this.setStatus("Incorrect master password. Please try again.","error");return}let d=this.getDeviceTag(),u=o.data?.frameDetails?.username||"user";this.setStatus(`Generating local sync delegate for ${d}...`,"info"),this.showBusy({isBusy:!0,title:"Generating Keys...",msg:`Generating cryptographic delegate keys for ${d}...`,animationEmoji:"\u{1F511}"});let f=await sn({masterSecret:i}),h="sync-profile.dev";if(!h||!h.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 8f9e0a1b2c3d4e5f67890123456789ab)');let m=Me.buildKeystone(h.trim()).withUsername(`${u}-sync-${d}`).withDescription(`Sync Delegate for ${u} on ${d}`).withDetails({client:"space-gib-web",role:"sync-delegate",deviceTag:d,primaryTjpAddr:s}),g=await m.compileConfigs(),b=await $(),E=await b.getLocalUserSpace({});if(!E)throw new Error("No default space found in metaspace.");let w=await a.genesis({masterSecret:f,configs:g,metaspace:b,space:E,frameDetails:m.getFrameDetails(),isPrimary:!1});this.setStatus("Evolving primary identity to register delegate...","info"),this.showBusy({isBusy:!0,title:"Registering Device...",msg:"Evolving primary identity to register new device delegate...",animationEmoji:"\u2699\uFE0F"});let v=await a.registerDelegate({parentKeystone:o,delegateKeystone:w,masterSecret:i,allowedVerbs:[nn,on],metaspace:b,space:E,deviceName:d});this.setStatus("Publishing evolved identity to server...","info"),this.showBusy({isBusy:!0,title:"Syncing to Server...",msg:"Publishing evolved identity and delegate to server...",animationEmoji:"\u26A1"});let I=await B().putEvolveKeystone({domainAddr:s,keystoneIbGib:v,relatedKeystoneIbGibs:[w]});I.success||console.warn(`${e} Warning syncing delegate evolution to server: ${I.message}`),await this.finalizeDeviceOnboarding({primaryKeystone:v,primaryGraph:this._stagedPrimaryGraph,delegateKeystone:w,primaryTjpAddr:s,masterSecret:i,delegateSecret:f,makeActive:t.checkboxMakeActive?.checked??!0})}catch(a){let c=y(a);console.error(`${e} ${c}`,a),this.setStatus(`Error: ${c}`,"error")}finally{t.btnAuthorizePassword.disabled=!1,t.btnAuthorizePassword.textContent="Authorize & Pair Device",this.showBusy({isBusy:!1})}}async finalizeDeviceOnboarding({primaryKeystone:e,primaryGraph:t,delegateKeystone:i,primaryTjpAddr:o,masterSecret:s,delegateSecret:a,makeActive:c=!0}){let d=`${this.lc}[${this.finalizeDeviceOnboarding.name}]`,u=500,f=await $();if(!f)throw new Error("Metaspace not found");let h=await f.getLocalUserSpace({});if(!h)throw new Error("Local user space not found");if(t){let E=Object.values(t);await f.put({ibGibs:E,space:h});let w=$e({ibGibs:E});for(let v of Object.keys(w))for(let I of w[v])await f.registerNewIbGib({ibGib:I,space:h})}else e&&(await f.put({ibGibs:[e],space:h}),await f.registerNewIbGib({ibGib:e,space:h}));await f.put({ibGibs:[i],space:h}),await f.registerNewIbGib({ibGib:i,space:h});let m=[K({ibGib:i})];e&&m.unshift(K({ibGib:e})),await fe({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:m}],metaspace:f,space:h}),c&&window.dispatchEvent(new CustomEvent(Re,{detail:{activeIdentityAddr:o},bubbles:!0,composed:!0}));let g=S({ibGib:i});this.elements?.delegateAddrEl&&(this.elements.delegateAddrEl.textContent=g),this.elements?.resultAreaEl&&this.elements.resultAreaEl.classList.remove("collapsed");let b="Device paired and identity activated successfully!";this.setStatus(b,"success"),this.showBusy({isBusy:!0,title:"Success!",msg:b,animationEmoji:"\u2705"}),await O(u),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager",addr:o},bubbles:!0,composed:!0})),this.showBusy({isBusy:!1})}async renderUI(){}async handleContextUpdated(){await this.renderUI()}};var Wl=`:host {
2479
+ </div>`;var zl="ibgib-add-device",Ei=class extends de{static{p(this,"AddDeviceComponentMeta")}lc="[AddDeviceComponentMeta]";routeRegExp=new RegExp(`^${zl}$`);componentName=zl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,us)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:Hl,css:[he,Ol]}),i}},us=class extends ze{static{p(this,"AddDeviceComponentInstance")}lc="[AddDeviceComponentInstance]";_stagedEmail;_stagedPrimaryTjpAddr;_stagedPrimaryKeystone;_stagedPrimaryGraph;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){let e=this.shadowRoot,t={};t.containerEl=e.getElementById("container"),t.titleEl=e.getElementById("title"),t.subtitleEl=e.getElementById("subtitle"),t.surfaceEntryEl=e.getElementById("surface-entry"),t.btnGoogleSso=e.getElementById("btn-google-sso"),t.btnGithubSso=e.getElementById("btn-github-sso"),t.inputIdentifier=e.getElementById("input-identifier"),t.btnContinueEmail=e.getElementById("btn-continue-email"),t.sectionCodeVerification=e.getElementById("section-code-verification"),t.inputCode=e.getElementById("input-code"),t.btnVerifyCode=e.getElementById("btn-verify-code"),t.sectionSovereignPassword=e.getElementById("section-sovereign-password"),t.inputPassword=e.getElementById("input-password"),t.btnAuthorizePassword=e.getElementById("btn-authorize-password"),t.inputDeviceTag=e.getElementById("input-device-tag"),t.checkboxMakeActive=e.getElementById("checkbox-make-active"),t.statusArea=e.getElementById("status-area"),t.statusText=e.getElementById("status-text"),t.resultAreaEl=e.getElementById("result-area"),t.delegateAddrEl=e.getElementById("delegate-addr"),t.contentEl=t.containerEl,this.elements=t,t.inputDeviceTag&&!t.inputDeviceTag.value&&(t.inputDeviceTag.value=at()),this.initHandlers(),await this.renderUI()}async disconnected(){}initHandlers(){let e=this.elements;e.btnGoogleSso?.addEventListener("click",()=>this.handleSsoClick("google")),e.btnGithubSso?.addEventListener("click",()=>this.handleSsoClick("github")),e.btnContinueEmail?.addEventListener("click",()=>this.handleContinueEmail()),e.btnVerifyCode?.addEventListener("click",()=>this.handleVerifyCode()),e.btnAuthorizePassword?.addEventListener("click",()=>this.handleAuthorizePassword()),this.shadowRoot.getElementById("btn-switch-create-account")?.addEventListener("click",t=>{t.preventDefault(),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-keystone-creator"},bubbles:!0,composed:!0}))}),e.inputIdentifier?.addEventListener("input",()=>{e.inputIdentifier.classList.remove("invalid")}),e.inputCode?.addEventListener("input",()=>{e.inputCode.classList.remove("invalid")}),e.inputPassword?.addEventListener("input",()=>{e.inputPassword.classList.remove("invalid")}),e.inputDeviceTag?.addEventListener("input",()=>{e.inputDeviceTag.classList.remove("invalid")})}getDeviceTag(){let e=this.elements,t=e.inputDeviceTag?.value?.trim();if(t&&rn.test(t))return t;let i=at();return e.inputDeviceTag&&(e.inputDeviceTag.value=i),i}async handleSsoClick(e){let t=`${this.lc}[${this.handleSsoClick.name}]`,i=e==="google"?"Google":"GitHub";this.setStatus(`Opening ${i} sign-in window...`,"info"),this.showBusy({isBusy:!0,title:"Sign In via SSO",msg:`Opening ${i} authorization window...
2480
+ Please complete sign-in in the popup window.`,animationEmoji:"\u{1F310}"});try{let o=await Ke({providerId:e});if(!o.success||!o.code){this.setStatus(o.message||`${i} sign-in cancelled.`,"error");return}this.setStatus(`Validating ${i} authorization...`,"info"),this.showBusy({isBusy:!0,title:"Exchanging SSO Code...",msg:`Validating ${i} authorization with server...`,animationEmoji:"\u{1F510}"});let a=await B().postSsoLogin({code:o.code,providerId:e,redirectUri:o.redirectUri});if(!a.success||!a.primaryTjpAddr||!a.custodianReqs){this.setStatus(a.message||`${i} login failed.`,"error");return}let{primaryTjpAddr:c,custodianReqs:d,primaryKeystone:u}=a,f=a.userInfo?.email||"",h=f?f.split("@")[0]:"user";await this.completeCustodialDelegateOnboarding({primaryTjpAddr:c,custodianReqs:d,fallbackPrimaryKeystone:u,fallbackPrimaryGraph:a.primaryGraph,email:f,username:h})}catch(o){let s=y(o);console.error(`${t} SSO login error: ${s}`,o),this.setStatus(`Error: ${s}`,"error")}finally{this.showBusy({isBusy:!1})}}async handleContinueEmail(){let e=`${this.lc}[${this.handleContinueEmail.name}]`,t=this.elements,i=t.inputIdentifier?.value?.trim();if(!i||!Ft(i)){t.inputIdentifier.classList.add("invalid"),this.setStatus("Please enter a valid email address.","error");return}t.btnContinueEmail.disabled=!0,t.btnContinueEmail.textContent="Checking...",this.setStatus("Checking identity on server...","info"),this.showBusy({isBusy:!0,title:"Locating Identity...",msg:"Locating account on server...",animationEmoji:"\u{1F50D}"});try{let o=await B().lookupPrimaryKeystone({identifier:i});if(!o.success||!o.tjpAddr){this.setStatus('No account found for this email address. Please click "Create Account" below.',"error");return}this._stagedEmail=i,this._stagedPrimaryTjpAddr=o.tjpAddr,this.setStatus("Dispatching 6-digit verification code...","info"),this.showBusy({isBusy:!0,title:"Sending Code...",msg:"Dispatching 6-digit verification code to your email...",animationEmoji:"\u2709\uFE0F"});let s=await B().postVerificationCode({email:i,primaryTjpAddr:this._stagedPrimaryTjpAddr});if(!s.success){this.setStatus(s.message||"Failed to dispatch verification code.","error");return}t.sectionCodeVerification.classList.remove("hidden"),t.sectionCodeVerification.scrollIntoView({behavior:"smooth"}),this.setStatus(`Verification code sent to ${i}! Enter the 6-digit code above to continue.`,"info"),t.inputCode?.focus()}catch(o){let s=y(o);console.error(`${e} ${s}`,o),this.setStatus(`Error: ${s}`,"error")}finally{t.btnContinueEmail.disabled=!1,t.btnContinueEmail.textContent="Continue with Email",this.showBusy({isBusy:!1})}}async handleVerifyCode(){let e=`${this.lc}[${this.handleVerifyCode.name}]`,t=this.elements,i=t.inputCode?.value?.trim(),o=this._stagedEmail,s=this._stagedPrimaryTjpAddr;if(!o||!s){this.setStatus("Please enter your email and request a code first.","error");return}if(!i||i.length!==6){t.inputCode.classList.add("invalid"),this.setStatus("Please enter a 6-digit verification code.","error");return}t.btnVerifyCode.disabled=!0,t.btnVerifyCode.textContent="Verifying...",this.setStatus("Verifying 6-digit code...","info"),this.showBusy({isBusy:!0,title:"Verifying Code...",msg:"Validating verification code with server...",animationEmoji:"\u{1F510}"});try{let a=await B().postCustodianGenesis({email:o,code:i});if(a.success&&a.primaryTjpAddr&&a.custodianReqs){let{primaryTjpAddr:h,custodianReqs:m,primaryKeystone:g,primaryGraph:b}=a,E=o?o.split("@")[0]:"user";await this.completeCustodialDelegateOnboarding({primaryTjpAddr:h,custodianReqs:m,fallbackPrimaryKeystone:g,fallbackPrimaryGraph:b,email:o,username:E});return}let c=await B().postVerifyCode({email:o,primaryTjpAddr:s,code:i});if(!c.success){this.setStatus(c.message||"Verification failed. Please check the code.","error");return}this.setStatus("Retrieving identity graph from server...","info"),this.showBusy({isBusy:!0,title:"Loading Identity Graph...",msg:"Fetching cryptographic identity timeline from server...",animationEmoji:"\u{1F4E5}"});let d=await B().getKeystoneGraph(s);if(!d.success||!d.graph){this.setStatus("Failed to retrieve identity graph from server.","error");return}this._stagedPrimaryGraph=d.graph;let u=await $(),f=await u.getLocalUserSpace({});if(f){let h=Object.values(d.graph);await u.put({ibGibs:h,space:f});let m=$e({ibGibs:h});for(let b of Object.keys(m))for(let E of m[b])await u.registerNewIbGib({ibGib:E,space:f});let g=m[s]||m[Object.keys(m)[0]];g&&g.length>0&&(this._stagedPrimaryKeystone=g[g.length-1])}t.sectionCodeVerification.classList.add("hidden"),t.sectionSovereignPassword.classList.remove("hidden"),t.sectionSovereignPassword.scrollIntoView({behavior:"smooth"}),this.setStatus("2FA verified! Please enter your master password to authorize this device.","info"),t.inputPassword?.focus()}catch(a){let c=y(a);console.error(`${e} ${c}`,a),this.setStatus(`Error: ${c}`,"error")}finally{t.btnVerifyCode.disabled=!1,t.btnVerifyCode.textContent="Verify Code",this.showBusy({isBusy:!1})}}async completeCustodialDelegateOnboarding({primaryTjpAddr:e,custodianReqs:t,fallbackPrimaryKeystone:i,fallbackPrimaryGraph:o,email:s,username:a}){let c=`${this.lc}[${this.completeCustodialDelegateOnboarding.name}]`,d=this.getDeviceTag();this.setStatus("Deriving local device delegate keys...","info"),this.showBusy({isBusy:!0,title:"Creating Sync Delegate...",msg:`Generating cryptographic sync delegate keys for ${d}...`,animationEmoji:"\u{1F511}"});let u=await $(),f=await u.getLocalUserSpace({lock:!1});if(!f){this.setStatus("Could not access local user space.","error");return}let h=await ht({primaryTjpAddr:e,deviceTag:d}),m=a||(s?s.split("@")[0]:"user"),g="sync-profile.dev";if(!g||!g.trim())throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 4d5e6f7890123456789abcdef4)');let b=await Xe({profileName:g.trim(),username:m,deviceTag:d,primaryTjpAddr:e,delegateSecret:h,custodianReqs:t,additionalFrameDetails:{client:"space-gib-web"},metaspace:u,space:f});this.setStatus("Registering device delegate with custodian server...","info"),this.showBusy({isBusy:!0,title:"Registering Delegate...",msg:"Registering local delegate with custodian server...",animationEmoji:"\u{1F504}"});let E=await B().postCustodianRegisterDelegate({delegateKeystone:b});if(!E.success){this.setStatus(E.message||"Custodian delegate registration failed.","error");return}await this.finalizeDeviceOnboarding({primaryKeystone:E.evolvedPrimaryKeystone||i,primaryGraph:E.primaryGraph||o,delegateKeystone:b,primaryTjpAddr:e,delegateSecret:h,makeActive:this.elements?.checkboxMakeActive?.checked??!0})}async handleAuthorizePassword(){let e=`${this.lc}[${this.handleAuthorizePassword.name}]`,t=this.elements,i=t.inputPassword?.value?.trim(),o=this._stagedPrimaryKeystone,s=this._stagedPrimaryTjpAddr;if(!i){t.inputPassword.classList.add("invalid"),this.setStatus("Please enter your master password.","error");return}if(!o||!s){this.setStatus("Missing staged primary identity context. Please restart sign-in.","error");return}t.btnAuthorizePassword.disabled=!0,t.btnAuthorizePassword.textContent="Authorizing...",this.setStatus("Verifying master password locally...","info"),this.showBusy({isBusy:!0,title:"Verifying Password...",msg:"Verifying cryptographic password locally in browser...",animationEmoji:"\u{1F510}"});try{let a=new X;if(!await a.verifySigningSecret({keystoneIbGib:o,signingSecret:i,poolId:"manage"})){t.inputPassword.classList.add("invalid"),this.setStatus("Incorrect master password. Please try again.","error");return}let d=this.getDeviceTag(),u=o.data?.frameDetails?.username||"user";this.setStatus(`Generating local sync delegate for ${d}...`,"info"),this.showBusy({isBusy:!0,title:"Generating Keys...",msg:`Generating cryptographic delegate keys for ${d}...`,animationEmoji:"\u{1F511}"});let f=await $(),h=await f.getLocalUserSpace({});if(!h)throw new Error("No default space found in metaspace.");let m=await cn({masterSecret:i});await pt({primaryTjpAddr:s,delegateSecret:m});let g="sync-profile.dev";if(!g||!g.trim())throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing. Expected valid profile name like "sync-profile.dev" or "sync-profile.prod". (E: 8f9e0a1b2c3d4e5f67890123456789ab)');let b=await Xe({profileName:g.trim(),username:u,deviceTag:d,primaryTjpAddr:s,delegateSecret:m,additionalFrameDetails:{client:"space-gib-web"},metaspace:f,space:h});this.setStatus("Evolving primary identity to register delegate...","info"),this.showBusy({isBusy:!0,title:"Registering Device...",msg:"Evolving primary identity to register new device delegate...",animationEmoji:"\u2699\uFE0F"});let E=await a.registerDelegate({parentKeystone:o,delegateKeystone:b,masterSecret:i,allowedVerbs:[an,ln],metaspace:f,space:h,deviceName:d});this.setStatus("Publishing evolved identity to server...","info"),this.showBusy({isBusy:!0,title:"Syncing to Server...",msg:"Publishing evolved identity and delegate to server...",animationEmoji:"\u26A1"});let w=await B().putEvolveKeystone({domainAddr:s,keystoneIbGib:E,relatedKeystoneIbGibs:[b]});w.success||console.warn(`${e} Warning syncing delegate evolution to server: ${w.message}`),await this.finalizeDeviceOnboarding({primaryKeystone:E,primaryGraph:this._stagedPrimaryGraph,delegateKeystone:b,primaryTjpAddr:s,masterSecret:i,delegateSecret:m,makeActive:t.checkboxMakeActive?.checked??!0})}catch(a){let c=y(a);console.error(`${e} ${c}`,a),this.setStatus(`Error: ${c}`,"error")}finally{t.btnAuthorizePassword.disabled=!1,t.btnAuthorizePassword.textContent="Authorize & Pair Device",this.showBusy({isBusy:!1})}}async finalizeDeviceOnboarding({primaryKeystone:e,primaryGraph:t,delegateKeystone:i,primaryTjpAddr:o,masterSecret:s,delegateSecret:a,makeActive:c=!0}){let d=`${this.lc}[${this.finalizeDeviceOnboarding.name}]`,u=500,f=await $();if(!f)throw new Error("Metaspace not found");let h=await f.getLocalUserSpace({});if(!h)throw new Error("Local user space not found");if(t){let E=Object.values(t);await f.put({ibGibs:E,space:h});let w=$e({ibGibs:E});for(let v of Object.keys(w))for(let I of w[v])await f.registerNewIbGib({ibGib:I,space:h})}else e&&(await f.put({ibGibs:[e],space:h}),await f.registerNewIbGib({ibGib:e,space:h}));await f.put({ibGibs:[i],space:h}),await f.registerNewIbGib({ibGib:i,space:h});let m=[z({ibGib:i})];e&&m.unshift(z({ibGib:e})),await re({type:"keystones",rel8nInfos:[{rel8nName:"keystone",ibGibs:m}],metaspace:f,space:h}),c&&window.dispatchEvent(new CustomEvent(Ge,{detail:{activeIdentityAddr:o},bubbles:!0,composed:!0}));let g=S({ibGib:i});this.elements?.delegateAddrEl&&(this.elements.delegateAddrEl.textContent=g),this.elements?.resultAreaEl&&this.elements.resultAreaEl.classList.remove("collapsed");let b="Device paired and identity activated successfully!";this.setStatus(b,"success"),this.showBusy({isBusy:!0,title:"Success!",msg:b,animationEmoji:"\u2705"}),await H(u),this.elements?.inputPassword&&(this.elements.inputPassword.value=""),window.dispatchEvent(new CustomEvent(te,{detail:{action:"show-identity-manager",addr:o},bubbles:!0,composed:!0})),this.showBusy({isBusy:!1})}async renderUI(){}async handleContextUpdated(){await this.renderUI()}};var Kl=`:host {
2481
2481
  display: block;
2482
2482
  width: 100%;
2483
2483
  }
@@ -2595,7 +2595,7 @@ Please complete sign-in in the popup window.`,animationEmoji:"\u{1F310}"});try{l
2595
2595
  margin-top: 0;
2596
2596
  color: #f38ba8;
2597
2597
  }
2598
- `;var Yl=`<div id="container" class="component-container">
2598
+ `;var Jl=`<div id="container" class="component-container">
2599
2599
  <h2 id="title">Remove / Unlink Device</h2>
2600
2600
  <div class="content">
2601
2601
  <p>Unlink an authorized delegate device from your primary identity timeline.</p>
@@ -2625,7 +2625,7 @@ Please complete sign-in in the popup window.`,animationEmoji:"\u{1F310}"});try{l
2625
2625
  <p class="warning">\u{1F512} The selected device delegate has been unlinked from your primary identity.</p>
2626
2626
  </div>
2627
2627
  </div>
2628
- </div>`;var Xl="ibgib-remove-device",mi=class extends ce{static{p(this,"RemoveDeviceComponentMeta")}lc="[RemoveDeviceComponentMeta]";routeRegExp=new RegExp(`^${Xl}$`);componentName=Xl;constructor(){super(Ee()),customElements.get(this.componentName)||customElements.define(this.componentName,ls)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:Yl,css:[me,Wl]}),i}},ls=class extends Je{static{p(this,"RemoveDeviceComponentInstance")}lc="[RemoveDeviceComponentInstance]";activePrimaryKeystone;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.titleEl=this.shadowRoot.getElementById("title"),this.elements.selectDelegateEl=this.shadowRoot.getElementById("select-delegate"),this.elements.inputPassword=this.shadowRoot.getElementById("input-password"),this.elements.btnRemoveDeviceEl=this.shadowRoot.getElementById("btn-remove-device"),this.elements.statusArea=this.shadowRoot.getElementById("status-area"),this.elements.statusText=this.shadowRoot.getElementById("status-text"),this.elements.resultAreaEl=this.shadowRoot.getElementById("result-area"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),await this.loadRegisteredDelegates(),await this.renderUI()}async disconnected(){}initHandlers(){this.elements.btnRemoveDeviceEl.addEventListener("click",()=>this.handleRemoveDevice()),this.elements.inputPassword.addEventListener("input",()=>{this.elements.inputPassword.classList.remove("invalid")})}async loadRegisteredDelegates(){let e=`${this.lc}[${this.loadRegisteredDelegates.name}]`;try{let t=await $(),i=await t.getLocalUserSpace({});if(!i)return;let s=(await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0}))?.rel8ns?.keystone??[];for(let f of s){let m=(await t.get({addrs:[f],space:i}))?.ibGibs?.[0];if(m&&m.data&&!m.data.isDelegate){this.activePrimaryKeystone=m;break}}let a=this.elements.selectDelegateEl;a.innerHTML="";let c=this.activePrimaryKeystone?.data?.delegates??{},d=Object.keys(c);if(d.length===0){let f=document.createElement("option");f.value="",f.text="No registered delegate devices found",a.appendChild(f),this.elements.btnRemoveDeviceEl.disabled=!0;return}let u=document.createElement("option");u.value="",u.text="-- Select a device to unlink --",a.appendChild(u);for(let f of d){let h=c[f],m=document.createElement("option");m.value=f,m.text=`${h.delegateAddr.split("^")[0]} (TJP: ${f.substring(0,20)}...)`,a.appendChild(m)}this.elements.btnRemoveDeviceEl.disabled=!1}catch(t){console.error(`${e} ${y(t)}`)}}async handleRemoveDevice(){let e=`${this.lc}[${this.handleRemoveDevice.name}]`;try{let i=this.elements.selectDelegateEl.value;if(!i){this.setStatus("Please select a device delegate to unlink.","error");return}let o=this.elements.inputPassword.value.trim();if(this.elements.inputPassword.value=o,!o){this.elements.inputPassword.classList.add("invalid"),this.setStatus("Please enter your master password.","error");return}if(!this.activePrimaryKeystone){this.setStatus("No active primary identity keystone found.","error");return}this.showBusy({isBusy:!0,title:"Revoking Device...",msg:"Evolving primary identity to revoke delegate device...",animationEmoji:"\u{1F512}",submitBtnSelector:"#btn-remove-device",loadingText:"Unlinking..."});let s=await $(),a=await s.getLocalUserSpace({});if(!a)throw new Error("No default space found in metaspace.");let d=await new X().unregisterDelegate({parentKeystone:this.activePrimaryKeystone,delegateTjpAddr:i,masterSecret:o,metaspace:s,space:a});await s.put({ibGibs:[d],space:a}),await s.registerNewIbGib({ibGib:d,space:a}),this.activePrimaryKeystone=d,await O(500),this.showBusy({isBusy:!1}),this.elements.resultAreaEl.classList.remove("collapsed"),this.setStatus("Device successfully unlinked and revoked!","success"),await this.loadRegisteredDelegates()}catch(t){console.error(`${e} ${y(t)}`),this.setStatus(`Revocation failed: ${y(t)}`,"error"),this.showBusy({isBusy:!1})}}};async function Ql(){let n=await re();n.registerComponentMeta(new li),n.registerComponentMeta(new ci),n.registerComponentMeta(new di),n.registerComponentMeta(new fi),n.registerComponentMeta(new pi),n.registerComponentMeta(new hi),n.registerComponentMeta(new mi)}p(Ql,"registerStandardIdentityComponents");var cs=class{static{p(this,"SpaceGibShellService")}lc="[SpaceGibShellService]";initialized;leftPanelState="collapsed";rightPanelState="collapsed";isResizingLeft=!1;isResizingRight=!1;isResizingFooter=!1;constructor(){this.initialized=this.initialize()}async initialize(){this.initElements(),this.initEventHandlers(),await this.registerComponents()}initElements(){let e=`${this.lc}[${this.initElements.name}]`;try{this.updateCssVariables()}catch(t){console.error(`${e} ${y(t)}`)}}initEventHandlers(){let e=`${this.lc}[${this.initEventHandlers.name}]`;try{let t=document.getElementById(Ys);t&&t.addEventListener("click",()=>this.toggleLeftPanel());let i=document.getElementById(Xs);i&&i.addEventListener("click",()=>this.toggleRightPanel());let o=document.getElementById(Ks);o&&(o.addEventListener("mousedown",()=>{this.leftPanelState==="expanded"&&(this.isResizingLeft=!0)}),o.addEventListener("dblclick",()=>this.toggleLeftPanel()));let s=document.getElementById(Js);s&&(s.addEventListener("mousedown",()=>{this.rightPanelState==="expanded"&&(this.isResizingRight=!0)}),s.addEventListener("dblclick",()=>this.toggleRightPanel()));let a=document.getElementById(Ws);a&&a.addEventListener("mousedown",()=>this.isResizingFooter=!0),window.addEventListener("mousemove",f=>this.handleMouseMove(f)),window.addEventListener("mouseup",()=>this.handleMouseUp());let c=document.getElementById(Qs);c&&c.addEventListener("click",()=>this.showIdentityManager()),window.addEventListener(te,f=>{let h=f.detail?.action;h==="show-identity-manager"?this.showIdentityManager():h==="show-keystone-creator"?this.showKeystoneCreator():h==="show-add-device"&&this.showAddDevice()});let d,u=!1;window.addEventListener($t,f=>{let{isBusy:h,title:m,msg:g,animationEmoji:b}=f.detail;h?(u=!0,d?d.update({title:m,msg:g,animationEmoji:b}):$s({title:m||"Processing...",msg:g||"Please do not navigate away or refresh.",isBusy:!0,animationEmoji:b}).then(E=>{u?d=E:E.close()}).catch(E=>{console.error(`${e}[showFullscreenDialog] ${y(E)}`)})):(u=!1,d&&(d.close(),d=void 0))})}catch(t){console.error(`${e} ${y(t)}`)}}async showIdentityManager(){let e=`${this.lc}[${this.showIdentityManager.name}]`;try{let i=await(await re()).getComponentInstance({path:"ibgib-identity-manager",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(rn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}async showKeystoneCreator(){let e=`${this.lc}[${this.showKeystoneCreator.name}]`;try{let i=await(await re()).getComponentInstance({path:"ibgib-keystone-creator",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(rn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}async showAddDevice(){let e=`${this.lc}[${this.showAddDevice.name}]`;try{let i=await(await re()).getComponentInstance({path:"ibgib-add-device",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(rn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}toggleLeftPanel(){this.leftPanelState=this.leftPanelState==="expanded"?"collapsed":"expanded";let e=document.getElementById(Os);e&&(this.leftPanelState==="collapsed"?e.classList.add("collapsed"):e.classList.remove("collapsed"))}toggleRightPanel(){this.rightPanelState=this.rightPanelState==="expanded"?"collapsed":"expanded";let e=document.getElementById(zs);e&&(this.rightPanelState==="collapsed"?e.classList.add("collapsed"):e.classList.remove("collapsed"))}handleMouseMove(e){if(!(!this.isResizingLeft&&!this.isResizingRight&&!this.isResizingFooter)){if(e.preventDefault(),this.isResizingLeft){let t=Math.max(100,Math.min(e.clientX,600));document.documentElement.style.setProperty("--left-panel-width",`${t}px`)}if(this.isResizingRight){let t=Math.max(100,Math.min(window.innerWidth-e.clientX,600));document.documentElement.style.setProperty("--right-panel-width",`${t}px`)}if(this.isResizingFooter){let t=Math.max(24,Math.min(window.innerHeight-e.clientY,400));document.documentElement.style.setProperty("--footer-panel-height",`${t}px`)}}}handleMouseUp(){this.isResizingLeft=!1,this.isResizingRight=!1,this.isResizingFooter=!1}updateCssVariables(){}async registerComponents(){let e=`${this.lc}[${this.registerComponents.name}]`;try{Ql()}catch(t){console.error(`${e} ${y(t)}`)}}async onEngineReady(){let e=`${this.lc}[${this.onEngineReady.name}]`;try{await this.initialized,console.log(`${e} SpaceGib Shell Service is ready.`);let t=document.getElementById("status-section");t&&(t.style.display="none");let o=await(await re()).getComponentInstance({path:"ibgib-identity-header",ibGibAddr:Q,useRegExpPrefilter:!0}),s=document.getElementById("identity-header-container");s&&o&&(s.innerHTML="",s.appendChild(o)),window.dispatchEvent(new CustomEvent(Ns,{detail:{timestamp:Date.now()}}));let a=globalThis.ibgib?.identity?.domainIdentity;if(a){let c=S({ibGib:a}),d=Xe(),u=await d.checkForKeystoneUpdate({activePrimaryAddr:c});u.hasUpdate?(console.log(`${e} \u{1F514} Keystone update available on app boot! Server n=${u.serverN}, Local n=${u.localN}`),await d.updateActiveKeystone({activePrimaryAddr:c})):console.log(`${e} Keystone identity up to date on app boot (n=${u.localN}).`)}}catch(t){console.error(`${e} ${y(t)}`)}}};function sT(){let n="[getSpaceGibShellSvc]",e=Us(Ps);return e.spaceGibShellSvc||(typeof console<"u"&&console.log(`${n} initializing SpaceGibShellService singleton on globalThis... (I: genuuid)`),e.spaceGibShellSvc=new cs),e.spaceGibShellSvc}p(sT,"getSpaceGibShellSvc");export{an as a,tr as b,je as c,et as d,ln as e,Be as f,Rb as g,Gb as h,Z as i,Mb as j,Ge as k,st as l,Km as m,St as n,si as o,sT as p};
2628
+ </div>`;var Wl="ibgib-remove-device",wi=class extends de{static{p(this,"RemoveDeviceComponentMeta")}lc="[RemoveDeviceComponentMeta]";routeRegExp=new RegExp(`^${Wl}$`);componentName=Wl;constructor(){super(ye()),customElements.get(this.componentName)||customElements.define(this.componentName,fs)}async createInstance({path:e,ibGibAddr:t}){let i=document.createElement(this.componentName);return await i.initialize({ibGibAddr:t,meta:this,html:Jl,css:[he,Kl]}),i}},fs=class extends ze{static{p(this,"RemoveDeviceComponentInstance")}lc="[RemoveDeviceComponentInstance]";activePrimaryKeystone;constructor(){super()}async initialize(e){await super.initialize(e)}async created(){this.elements={},this.elements.containerEl=this.shadowRoot.getElementById("container"),this.elements.titleEl=this.shadowRoot.getElementById("title"),this.elements.selectDelegateEl=this.shadowRoot.getElementById("select-delegate"),this.elements.inputPassword=this.shadowRoot.getElementById("input-password"),this.elements.btnRemoveDeviceEl=this.shadowRoot.getElementById("btn-remove-device"),this.elements.statusArea=this.shadowRoot.getElementById("status-area"),this.elements.statusText=this.shadowRoot.getElementById("status-text"),this.elements.resultAreaEl=this.shadowRoot.getElementById("result-area"),this.elements.contentEl=this.elements.containerEl,this.initHandlers(),await this.loadRegisteredDelegates(),await this.renderUI()}async disconnected(){}initHandlers(){this.elements.btnRemoveDeviceEl.addEventListener("click",()=>this.handleRemoveDevice()),this.elements.inputPassword.addEventListener("input",()=>{this.elements.inputPassword.classList.remove("invalid")})}async loadRegisteredDelegates(){let e=`${this.lc}[${this.loadRegisteredDelegates.name}]`;try{let t=await $(),i=await t.getLocalUserSpace({});if(!i)return;let s=(await t.getSpecialIbGib({type:"keystones",space:i,initialize:!0}))?.rel8ns?.keystone??[];for(let f of s){let m=(await t.get({addrs:[f],space:i}))?.ibGibs?.[0];if(m&&m.data&&!m.data.isDelegate){this.activePrimaryKeystone=m;break}}let a=this.elements.selectDelegateEl;a.innerHTML="";let c=this.activePrimaryKeystone?.data?.delegates??{},d=Object.keys(c);if(d.length===0){let f=document.createElement("option");f.value="",f.text="No registered delegate devices found",a.appendChild(f),this.elements.btnRemoveDeviceEl.disabled=!0;return}let u=document.createElement("option");u.value="",u.text="-- Select a device to unlink --",a.appendChild(u);for(let f of d){let h=c[f],m=document.createElement("option");m.value=f,m.text=`${h.delegateAddr.split("^")[0]} (TJP: ${f.substring(0,20)}...)`,a.appendChild(m)}this.elements.btnRemoveDeviceEl.disabled=!1}catch(t){console.error(`${e} ${y(t)}`)}}async handleRemoveDevice(){let e=`${this.lc}[${this.handleRemoveDevice.name}]`;try{let i=this.elements.selectDelegateEl.value;if(!i){this.setStatus("Please select a device delegate to unlink.","error");return}let o=this.elements.inputPassword.value.trim();if(this.elements.inputPassword.value=o,!o){this.elements.inputPassword.classList.add("invalid"),this.setStatus("Please enter your master password.","error");return}if(!this.activePrimaryKeystone){this.setStatus("No active primary identity keystone found.","error");return}this.showBusy({isBusy:!0,title:"Revoking Device...",msg:"Evolving primary identity to revoke delegate device...",animationEmoji:"\u{1F512}",submitBtnSelector:"#btn-remove-device",loadingText:"Unlinking..."});let s=await $(),a=await s.getLocalUserSpace({});if(!a)throw new Error("No default space found in metaspace.");let d=await new X().unregisterDelegate({parentKeystone:this.activePrimaryKeystone,delegateTjpAddr:i,masterSecret:o,metaspace:s,space:a});await s.put({ibGibs:[d],space:a}),await s.registerNewIbGib({ibGib:d,space:a}),this.activePrimaryKeystone=d,await H(500),this.showBusy({isBusy:!1}),this.elements.resultAreaEl.classList.remove("collapsed"),this.setStatus("Device successfully unlinked and revoked!","success"),await this.loadRegisteredDelegates()}catch(t){console.error(`${e} ${y(t)}`),this.setStatus(`Revocation failed: ${y(t)}`,"error"),this.showBusy({isBusy:!1})}}};async function Yl(){let n=await ae();n.registerComponentMeta(new hi),n.registerComponentMeta(new mi),n.registerComponentMeta(new gi),n.registerComponentMeta(new bi),n.registerComponentMeta(new yi),n.registerComponentMeta(new Ei),n.registerComponentMeta(new wi)}p(Yl,"registerStandardIdentityComponents");var ps=class{static{p(this,"SpaceGibShellService")}lc="[SpaceGibShellService]";initialized;leftPanelState="collapsed";rightPanelState="collapsed";isResizingLeft=!1;isResizingRight=!1;isResizingFooter=!1;constructor(){this.initialized=this.initialize()}async initialize(){this.initElements(),this.initEventHandlers(),await this.registerComponents()}initElements(){let e=`${this.lc}[${this.initElements.name}]`;try{this.updateCssVariables()}catch(t){console.error(`${e} ${y(t)}`)}}initEventHandlers(){let e=`${this.lc}[${this.initEventHandlers.name}]`;try{let t=document.getElementById(js);t&&t.addEventListener("click",()=>this.toggleLeftPanel());let i=document.getElementById(er);i&&i.addEventListener("click",()=>this.toggleRightPanel());let o=document.getElementById(Xs);o&&(o.addEventListener("mousedown",()=>{this.leftPanelState==="expanded"&&(this.isResizingLeft=!0)}),o.addEventListener("dblclick",()=>this.toggleLeftPanel()));let s=document.getElementById(Qs);s&&(s.addEventListener("mousedown",()=>{this.rightPanelState==="expanded"&&(this.isResizingRight=!0)}),s.addEventListener("dblclick",()=>this.toggleRightPanel()));let a=document.getElementById(Zs);a&&a.addEventListener("mousedown",()=>this.isResizingFooter=!0),window.addEventListener("mousemove",f=>this.handleMouseMove(f)),window.addEventListener("mouseup",()=>this.handleMouseUp());let c=document.getElementById(tr);c&&c.addEventListener("click",()=>this.showIdentityManager()),window.addEventListener(te,f=>{let h=f.detail?.action;h==="show-identity-manager"?this.showIdentityManager():h==="show-keystone-creator"?this.showKeystoneCreator():h==="show-add-device"&&this.showAddDevice()});let d,u=!1;window.addEventListener(Gt,f=>{let{isBusy:h,title:m,msg:g,animationEmoji:b}=f.detail;h?(u=!0,d?d.update({title:m,msg:g,animationEmoji:b}):Rs({title:m||"Processing...",msg:g||"Please do not navigate away or refresh.",isBusy:!0,animationEmoji:b}).then(E=>{u?d=E:E.close()}).catch(E=>{console.error(`${e}[showFullscreenDialog] ${y(E)}`)})):(u=!1,d&&(d.close(),d=void 0))})}catch(t){console.error(`${e} ${y(t)}`)}}async showIdentityManager(){let e=`${this.lc}[${this.showIdentityManager.name}]`;try{let i=await(await ae()).getComponentInstance({path:"ibgib-identity-manager",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(fn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}async showKeystoneCreator(){let e=`${this.lc}[${this.showKeystoneCreator.name}]`;try{let i=await(await ae()).getComponentInstance({path:"ibgib-keystone-creator",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(fn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}async showAddDevice(){let e=`${this.lc}[${this.showAddDevice.name}]`;try{let i=await(await ae()).getComponentInstance({path:"ibgib-add-device",ibGibAddr:Q,useRegExpPrefilter:!0}),o=document.getElementById(fn);o&&i&&(o.innerHTML="",o.appendChild(i))}catch(t){console.error(`${e} ${y(t)}`)}}toggleLeftPanel(){this.leftPanelState=this.leftPanelState==="expanded"?"collapsed":"expanded";let e=document.getElementById(Ws);e&&(this.leftPanelState==="collapsed"?e.classList.add("collapsed"):e.classList.remove("collapsed"))}toggleRightPanel(){this.rightPanelState=this.rightPanelState==="expanded"?"collapsed":"expanded";let e=document.getElementById(Ys);e&&(this.rightPanelState==="collapsed"?e.classList.add("collapsed"):e.classList.remove("collapsed"))}handleMouseMove(e){if(!(!this.isResizingLeft&&!this.isResizingRight&&!this.isResizingFooter)){if(e.preventDefault(),this.isResizingLeft){let t=Math.max(100,Math.min(e.clientX,600));document.documentElement.style.setProperty("--left-panel-width",`${t}px`)}if(this.isResizingRight){let t=Math.max(100,Math.min(window.innerWidth-e.clientX,600));document.documentElement.style.setProperty("--right-panel-width",`${t}px`)}if(this.isResizingFooter){let t=Math.max(24,Math.min(window.innerHeight-e.clientY,400));document.documentElement.style.setProperty("--footer-panel-height",`${t}px`)}}}handleMouseUp(){this.isResizingLeft=!1,this.isResizingRight=!1,this.isResizingFooter=!1}updateCssVariables(){}async registerComponents(){let e=`${this.lc}[${this.registerComponents.name}]`;try{Yl()}catch(t){console.error(`${e} ${y(t)}`)}}async onEngineReady(){let e=`${this.lc}[${this.onEngineReady.name}]`;try{await this.initialized,console.log(`${e} SpaceGib Shell Service is ready.`);let t=document.getElementById("status-section");t&&(t.style.display="none");let o=await(await ae()).getComponentInstance({path:"ibgib-identity-header",ibGibAddr:Q,useRegExpPrefilter:!0}),s=document.getElementById("identity-header-container");s&&o&&(s.innerHTML="",s.appendChild(o)),window.dispatchEvent(new CustomEvent($s,{detail:{timestamp:Date.now()}}));let a=globalThis.ibgib?.identity?.domainIdentity;if(a){let c=S({ibGib:a}),d=Qe(),u=await d.checkForKeystoneUpdate({activePrimaryAddr:c});u.hasUpdate?(console.log(`${e} \u{1F514} Keystone update available on app boot! Server n=${u.serverN}, Local n=${u.localN}`),await d.updateActiveKeystone({activePrimaryAddr:c})):console.log(`${e} Keystone identity up to date on app boot (n=${u.localN}).`)}}catch(t){console.error(`${e} ${y(t)}`)}}};function LI(){let n="[getSpaceGibShellSvc]",e=Bs(Ns);return e.spaceGibShellSvc||(typeof console<"u"&&console.log(`${n} initializing SpaceGibShellService singleton on globalThis... (I: genuuid)`),e.spaceGibShellSvc=new ps),e.spaceGibShellSvc}p(LI,"getSpaceGibShellSvc");export{pn as a,rr as b,et as c,tt as d,hn as e,Ue as f,Rb as g,Mb as h,Z as i,kb as j,Re as k,rt as l,zm as m,xt as n,ui as o,LI as p};
2629
2629
  /*! Bundled license information:
2630
2630
 
2631
2631
  @google/genai/dist/web/index.mjs: