getborg 0.0.109 → 0.0.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BunPtyAdapter-B8CZTUkK.mjs → BunPtyAdapter-kPTUT2mb.mjs} +3 -3
- package/dist/{Config-DFbx48ty.mjs → Config-DvH5tPG0.mjs} +2 -2
- package/dist/{FetchHttpClient-DEMRQKIB.mjs → FetchHttpClient-C-jciW95.mjs} +3 -3
- package/dist/{FileSystem-41Cezpd1.mjs → FileSystem-NX0EtGtm.mjs} +109 -3
- package/dist/{Mime-D2854Tqo.mjs → Mime-C6O17O_3.mjs} +5 -5
- package/dist/{NodeHttpIncomingMessage-BqU9AHA2.mjs → NodeHttpIncomingMessage-CylGKvlB.mjs} +4 -4
- package/dist/{NodeHttpServer-C-eqvdR4.mjs → NodeHttpServer-EarHJJzn.mjs} +9 -9
- package/dist/{NodePtyAdapter-BdtcaYPg.mjs → NodePtyAdapter-C6ioPYk6.mjs} +5 -5
- package/dist/{NodeServices-pD4zkANr.mjs → NodeServices-C18DO3cx.mjs} +6 -6
- package/dist/{NodeSqliteClient-BIVa5aFu.mjs → NodeSqliteClient-CWkKfsSo.mjs} +5 -5
- package/dist/{NodeStream-BjNgA5_1.mjs → NodeStream-1N7oXzTp.mjs} +3 -3
- package/dist/{Path-D8BPsRhh.mjs → Path-ZDpyUmZ1.mjs} +2 -2
- package/dist/{PtyAdapter-B9zQDp9u.mjs → PtyAdapter-DSEyRij4.mjs} +2 -2
- package/dist/{Schema-DkAVclKk.mjs → Schema-CA_wFfhH.mjs} +141 -4
- package/dist/{SqlClient-JflyUX7a.mjs → SqlClient-Cusaqpaw.mjs} +3 -3
- package/dist/bin.mjs +7894 -2484
- package/dist/{borgTelemetryNode-B0vVayda.mjs → borgTelemetryNode-CHLcRFOW.mjs} +6 -6
- package/dist/client/.vite/manifest.json +330 -330
- package/dist/client/assets/ArrowRight-CgvCTAzu.js +2 -0
- package/dist/client/assets/ArrowSquareOut-C1CwJQ7R.js +2 -0
- package/dist/client/assets/ArrowsClockwise-CBwAQTtQ.js +2 -0
- package/dist/client/assets/CaretLeft-Bk0n02vc.js +2 -0
- package/dist/client/assets/ChatMarkdown-BhfpBJaq.js +249 -0
- package/dist/client/assets/DesignWorkspace-okkekyBu.js +3 -0
- package/dist/client/assets/DiffPanel-Dn_Or9fx.js +2 -0
- package/dist/client/assets/DiffWorkerPoolProvider-Hp3trMBG.js +10 -0
- package/dist/client/assets/DocxPreview-DHnzhQMX.js +17 -0
- package/dist/client/assets/{FilePreviewPanel-CeAwd87I.js → FilePreviewPanel-KOVwBhPe.js} +19 -19
- package/dist/client/assets/HtmlPreview-I3xV5YgS.js +2 -0
- package/dist/client/assets/PdfPreview-CjWrZkCM.js +3 -0
- package/dist/client/assets/PptxPreview-D4YsFq_s.js +3 -0
- package/dist/client/assets/PreviewPanel-CKieJ-9L.js +2 -0
- package/dist/client/assets/PullRequestCodeTab-DbUx3FWB.js +6 -0
- package/dist/client/assets/{PullRequestReactions-BWjOU4KY.js → PullRequestReactions-BSI_Qt4L.js} +4 -4
- package/dist/client/assets/{RightPanelResizeHandle-DZdzK7y3.js → RightPanelResizeHandle-DBci-Ee2.js} +2 -2
- package/dist/client/assets/VirtualizedFile-VSzhLWFM.js +2 -0
- package/dist/client/assets/XlsxPreview-BnnrdNes.js +3 -0
- package/dist/client/assets/accountData-C4ZvicpJ.js +16 -0
- package/dist/client/assets/assetUrls-C2vkiSgX.js +2 -0
- package/dist/client/assets/browserHistoryStore-CIr_OQCq.js +4 -0
- package/dist/client/assets/browserRecording-BmG6q-H4.js +2 -0
- package/dist/client/assets/clientPersistenceStorage-BlYjZvCd.js +2 -0
- package/dist/client/assets/combobox-uXzVxkLc.js +2 -0
- package/dist/client/assets/composerMentionDrag-DTGN7WcV.js +2 -0
- package/dist/client/assets/designCanvas.logic-DtK3Ht6X.js +8 -0
- package/dist/client/assets/designOpenFileContext-DCJpUleA.js +2 -0
- package/dist/client/assets/diffFileContents-CFjzWK4l.js +248 -0
- package/dist/client/assets/empty-tcpR9LH8.js +2 -0
- package/dist/client/assets/entities-Da-AvwsX.js +2 -0
- package/dist/client/assets/env-71Gq9H0m.js +2 -0
- package/dist/client/assets/{index-BKWzfr1Y.js → index-DraeEDbf.js} +3 -3
- package/dist/client/assets/input-BRLXkmUH.js +2 -0
- package/dist/client/assets/{lib-DyhHMOev.js → lib-ay4Y8Jpt.js} +2 -2
- package/dist/client/assets/main-Bn8Ylf8R.js +161 -0
- package/dist/client/assets/main-YscGsfgO.css +2 -0
- package/dist/client/assets/{pdf-C_AIVI51.js → pdf-BH4RlEy2.js} +2 -2
- package/dist/client/assets/popover-DTprsoPQ.js +2 -0
- package/dist/client/assets/{pptxDocument-CHL8asXA.js → pptxDocument-ifTk53yH.js} +2 -2
- package/dist/client/assets/projectFilesQueryState-CD_JXBj5.js +2 -0
- package/dist/client/assets/queries-D1AwaR_5.js +2 -0
- package/dist/client/assets/scroll-area-j6QV0udq.js +1634 -0
- package/dist/client/assets/session-BaysTZDD.js +67 -0
- package/dist/client/assets/spinner-DHhZaoFg.js +2 -0
- package/dist/client/assets/textarea-BB3euU4O.js +5 -0
- package/dist/client/assets/toggle-DwBa6pBo.js +2 -0
- package/dist/client/assets/toggle-group-BU7-0DcW.js +2 -0
- package/dist/client/assets/useWorkspaceMutationRefresh-DLI4brDf.js +2 -0
- package/dist/client/assets/utils-DgzD4MA_.js +30 -0
- package/dist/client/assets/{xlsxDocument-ANMZ6ewU.js → xlsxDocument-DwhEMpfP.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/service-launcher.mjs +1 -1
- package/package.json +1 -1
- package/dist/client/assets/ArrowRight-BOicMyF9.js +0 -2
- package/dist/client/assets/ArrowSquareOut-D7Y2Tt3L.js +0 -2
- package/dist/client/assets/ArrowsClockwise-DycxhEkt.js +0 -2
- package/dist/client/assets/CaretLeft-CDMA3Uas.js +0 -2
- package/dist/client/assets/ChatMarkdown-Cl8M9HCx.js +0 -247
- package/dist/client/assets/DesignWorkspace-DBL7AxwS.js +0 -3
- package/dist/client/assets/DiffPanel-BJ-Ix_7K.js +0 -2
- package/dist/client/assets/DiffWorkerPoolProvider-_R9JGgmp.js +0 -10
- package/dist/client/assets/DocxPreview-BFCC5VXn.js +0 -17
- package/dist/client/assets/HtmlPreview-BpBdu9_j.js +0 -2
- package/dist/client/assets/PdfPreview-CeECoD5z.js +0 -3
- package/dist/client/assets/PptxPreview-u6gN3x3Z.js +0 -3
- package/dist/client/assets/PreviewPanel-BVJp3UI5.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-Bxx0Vkdn.js +0 -6
- package/dist/client/assets/VirtualizedFile-CyAKSbzc.js +0 -2
- package/dist/client/assets/XlsxPreview-CaykIFrZ.js +0 -3
- package/dist/client/assets/assetUrls-BBFxUocf.js +0 -2
- package/dist/client/assets/browserHistoryStore-K9gWOOUq.js +0 -2
- package/dist/client/assets/browserRecording-DrMz1iOt.js +0 -4
- package/dist/client/assets/clientPersistenceStorage-DSC61yLx.js +0 -2
- package/dist/client/assets/combobox-C4C8XR-w.js +0 -6
- package/dist/client/assets/composerMentionDrag-D06cCeGC.js +0 -2
- package/dist/client/assets/designCanvas.logic-DuuhotDy.js +0 -8
- package/dist/client/assets/designOpenFileContext-CCQs4ovB.js +0 -2
- package/dist/client/assets/diffFileContents-Bj3q_jc2.js +0 -248
- package/dist/client/assets/empty-DynqTxIR.js +0 -2
- package/dist/client/assets/entities-dwE_i4XM.js +0 -2
- package/dist/client/assets/env-DgM3kOA4.js +0 -2
- package/dist/client/assets/input-Q4KA45-f.js +0 -2
- package/dist/client/assets/main-CI0aXqkB.css +0 -2
- package/dist/client/assets/main-DFDCV-Ns.js +0 -145
- package/dist/client/assets/popover-CXGEm4M0.js +0 -2
- package/dist/client/assets/projectFilesQueryState-7mFyaRdj.js +0 -2
- package/dist/client/assets/queries-x5LGu_Fy.js +0 -2
- package/dist/client/assets/scroll-area-D8MfzXjN.js +0 -1630
- package/dist/client/assets/session-DIGL5_Nm.js +0 -67
- package/dist/client/assets/spinner-CwxxMzkd.js +0 -2
- package/dist/client/assets/textarea-DdNchuIO.js +0 -5
- package/dist/client/assets/toggle-CmeCFqd7.js +0 -2
- package/dist/client/assets/toggle-group-iEMUfMdW.js +0 -2
- package/dist/client/assets/useLocalStorage-2W_I13tQ.js +0 -16
- package/dist/client/assets/useWorkspaceMutationRefresh-YuIxWftk.js +0 -2
- package/dist/client/assets/utils-D0kLIGeh.js +0 -30
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{$ as n,$c as r,$i as i,$l as a,$n as o,$o as s,$r as c,$s as l,Ac as u,Ai as d,Al as f,An as p,As as m,Au as h,Ba as g,Bi as _,Bl as v,Bs as y,Cc as ee,Cd as te,Ci as ne,Cl as re,Cr as ie,Da as ae,Dc as oe,Dd as se,Dl as ce,Dn as le,Ds as ue,Dt as de,Ec as fe,El as pe,En as me,Es as he,Eu as ge,Fd as _e,Fl as ve,Fs as ye,Gc as be,Gd as xe,Gi as Se,Gl as Ce,Go as we,Gr as Te,Gu as Ee,Ha as De,Hc as Oe,Hd as ke,Hi as Ae,Hl as je,Hs as b,Hu as Me,Ia as Ne,Ic as Pe,Id as Fe,Il as Ie,Is as Le,It as Re,Iu as ze,Jd as Be,Ji as Ve,Jl as He,Jr as Ue,Js as We,Ju as Ge,Kc as Ke,Kd as qe,Ki as Je,Kl as Ye,Ko as Xe,Kr as Ze,Ks as Qe,Ku as x,Lc as $e,Ld as et,Li as tt,Ll as nt,Ls as rt,Lu as it,Ma as at,Mc as ot,Md as st,Mi as ct,Ml as lt,Mn as ut,Mr as dt,Ms as ft,Na as pt,Nc as mt,Nd as ht,Ni as gt,Nl as _t,Ns as S,Oa as vt,Oc as C,Od as yt,Oi as bt,On as xt,Or as St,Os as Ct,Ou as wt,Pa as Tt,Pc as Et,Pd as Dt,Pi as Ot,Pl as kt,Pr as At,Ps as jt,Pt as Mt,Pu as Nt,Qi as Pt,Ql as Ft,Qo as It,Qr as Lt,Qs as Rt,Qu as zt,Ra as w,Rc as Bt,Rd as Vt,Ri as Ht,Rl as Ut,Rs as Wt,Sc as Gt,Sd as Kt,Si as qt,Ss as T,Su as Jt,T as Yt,Ta as Xt,Tc as Zt,Td as Qt,Ti as $t,Tn as en,Ts as E,Ua as tn,Uc as D,Ud as nn,Ui as rn,Ul as an,Un as on,Ur as sn,Uu as cn,Va as ln,Vi as un,Vs as dn,Wc as fn,Wd as pn,Wi as mn,Wl as hn,Wr as gn,Ws as O,Xc as _n,Xi as vn,Xl as yn,Xo as bn,Xr as xn,Xs as Sn,Xu as Cn,Yi as wn,Ys as Tn,Yu as En,Zi as Dn,Zl as On,Zo as kn,Zr as An,Zs as jn,Zu as Mn,_a as Nn,_c as Pn,_d as k,_l as Fn,_o as In,_s as Ln,_u as Rn,a as zn,aa as Bn,ac as A,ad as Vn,ai as Hn,al as Un,ao as Wn,as as Gn,au as Kn,ba as qn,bc as Jn,bd as Yn,bi as Xn,bl as Zn,bs as j,bu as Qn,c as $n,ca as er,cc as tr,cd as nr,ci as rr,cl as ir,co as ar,cr as or,cu as sr,dc as cr,dd as lr,di as ur,dl as dr,ds as fr,du as pr,ea as mr,ec as hr,ei as gr,eo as _r,er as vr,es as yr,eu as br,fc as xr,fd as Sr,fi as Cr,fo as wr,fs as Tr,fu as Er,gc as Dr,gd as M,gi as Or,gl as kr,go as Ar,gs as jr,ha as Mr,hc as Nr,hd as Pr,hl as Fr,ho as Ir,hs as Lr,ic as Rr,ii as zr,io as Br,ir as Vr,iu as Hr,jc as Ur,ji as Wr,jl as Gr,jn as Kr,js as qr,ka as Jr,kc as Yr,ki as Xr,kl as Zr,kn as Qr,ks as $r,ku as ei,l as ti,la as ni,lc as ri,ld as ii,li as ai,lu as oi,mc as si,md as ci,ml as li,mo as ui,ms as di,na as fi,nc as pi,nd as mi,nl as hi,no as gi,ns as _i,nt as vi,nu as yi,o as N,oa as bi,oc as xi,od as Si,oi as Ci,os as wi,ou as Ti,pc as Ei,pd as P,pi as Di,pl as Oi,ps as ki,qa as Ai,qc as F,qd as ji,qi as Mi,ql as Ni,qo as Pi,qr as Fi,qs as Ii,qu as Li,rc as Ri,rd as zi,ri as Bi,rl as Vi,rs as Hi,ru as Ui,s as Wi,sa as Gi,sc as Ki,sd as qi,si as Ji,sl as Yi,sr as Xi,ss as Zi,su as Qi,ta as $i,tc as ea,ti as ta,tr as na,ts as ra,tu as ia,u as aa,ua as oa,uc as sa,ud as ca,ui as la,ul as ua,uo as da,ur as fa,us as pa,uu as ma,va as ha,vc as ga,vi as _a,vl as va,vs as ya,vu as ba,w as xa,wa as Sa,wc as Ca,wi as wa,wl as Ta,ws as Ea,xa as Da,xc as Oa,xl as ka,xr as Aa,xs as ja,xu as Ma,ya as Na,yc as Pa,yd as Fa,yi as Ia,yl as La,yu as Ra,zc as za,zi as Ba,zl as Va,zn as Ha,zs as Ua}from"./useLocalStorage-2W_I13tQ.js";import{$o as Wa,Ao as Ga,Do as Ka,Eo as qa,Fo as Ja,Go as Ya,Io as Xa,Ko as Za,Mo as Qa,No as $a,Oo as eo,Po as to,Qo as no,S as ro,To as io,Vo as ao,Xo as oo,Yo as so,Zo as co,es as lo,f as uo,jo as fo,ko as po,ot as mo,rt as ho,wo as go}from"./utils-D0kLIGeh.js";var _o=`~effect/platform/Crypto`,vo=x(`effect/Crypto`),yo=e=>{let t=e.randomBytes,n=e=>b(bo(`randomBytes`,e),t),r=()=>{let e=t(7);return((e[0]&31)*2**48+e[1]*2**40+e[2]*2**32+e[3]*2**24+e[4]*2**16+e[5]*2**8+e[6])/2**53},i=()=>Math.floor(r()*(2**53-1- -(2**53-1)+1))+-(2**53-1);return vo.of({[_o]:_o,randomBytes:n,nextDoubleUnsafe:r,nextIntUnsafe:i,digest:e.digest,random:u(()=>r()),randomBoolean:u(()=>r()>.5),randomInt:u(()=>i()),randomBetween:(e,t)=>u(()=>r()*(t-e)+e),randomIntBetween(e,t,n){let i=n?.halfOpen===!0?0:1;return u(()=>{let n=Math.ceil(e),a=Math.floor(t);return Math.floor(r()*(a-n+i))+n})},randomShuffle:e=>u(()=>{let t=Array.from(e);for(let e=t.length-1;e>=1;--e){let n=Math.min(e,Math.floor(r()*(e+1))),i=t[e];t[e]=t[n],t[n]=i}return t}),randomUUIDv4:u(()=>Co(t(16))),randomUUIDv7:ki(e=>C(To(e.currentTimeMillisUnsafe(),t(16))))})},bo=(e,t)=>Number.isSafeInteger(t)&&t>=0?C(t):j(Aa({module:`Crypto`,method:e,description:`size must be a non-negative safe integer`})),xo=e=>e.toString(16).padStart(2,`0`),So=e=>[e.subarray(0,4),e.subarray(4,6),e.subarray(6,8),e.subarray(8,10),e.subarray(10,16)].map(e=>Array.from(e,xo).join(``)).join(`-`),Co=e=>(e[6]=e[6]&15|64,e[8]=e[8]&63|128,So(e)),wo=2**48-1,To=(e,t)=>{let n=Math.min(Math.max(0,Math.trunc(e)),wo);return t[0]=Math.floor(n/2**40),t[1]=Math.floor(n/2**32)&255,t[2]=Math.floor(n/2**24)&255,t[3]=Math.floor(n/2**16)&255,t[4]=Math.floor(n/2**8)&255,t[5]=n&255,t[6]=t[6]&15|112,t[8]=t[8]&63|128,So(t)},Eo=`~effect/ManagedRuntime`,Do=(e,t)=>{let n=t?.memoMap??ve(),r=yn(`parallel`),i=He(r,`sequential`),a={onFiberStart:oa(r)},o=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,s,c=be(t=>(s||=Ei(Ur(Gr(e,n,i),e=>u(()=>{l.cachedContext=e})),{...a,scheduler:t.currentScheduler}),Ea(bi(s)))),l={[Eo]:Eo,memoMap:n,scope:r,contextEffect:c,cachedContext:void 0,context(){return l.cachedContext===void 0?Nr(l.contextEffect):Promise.resolve(l.cachedContext)},dispose(){return Nr(l.disposeEffect)},[Symbol.asyncDispose](){return l.dispose()},disposeEffect:Yr(()=>(l.contextEffect=Ln(`ManagedRuntime disposed`),l.cachedContext=void 0,Ye(l.scope,Er))),runFork(e,t){return l.cachedContext===void 0?Ei(Oo(l,e),o(t)):si(l.cachedContext)(e,o(t))},runCallback(e,t){return l.cachedContext===void 0?cr(Oo(l,e),o(t)):xr(l.cachedContext)(e,o(t))},runSyncExit(e){return l.cachedContext===void 0?Jn(Oo(l,e)):Oa(l.cachedContext)(e)},runSync(e){return l.cachedContext===void 0?Pa(Oo(l,e)):Gt(l.cachedContext)(e)},runPromiseExit(e,t){return l.cachedContext===void 0?Dr(Oo(l,e),o(t)):Pn(l.cachedContext)(e,o(t))},runPromise(e,t){return l.cachedContext===void 0?Nr(Oo(l,e),o(t)):ga(l.cachedContext)(e,o(t))}};return l};function Oo(e,t){return T(e.contextEffect,e=>Rr(t,e))}var ko=class extends x()(`effect/reactivity/Reactivity`){},Ao=u(()=>{let e=new Map,t=t=>{Io(t,t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})},n=e=>Lr(n=>{let r=n.mapUnsafe.get(jo.key);return r?Io(e,e=>{r.add(e)}):t(e),D}),r=(e,t)=>Ur(t,n(e)),i=(t,n)=>{let r=[];return Io(t,t=>{r.push(t);let i=e.get(t);i===void 0&&(i=new Set,e.set(t,i)),i.add(n)}),()=>{for(let t=0;t<r.length;t++){let i=e.get(r[t]);i.delete(n),i.size===0&&e.delete(r[t])}}},a=(e,t)=>S(function*(){let n=yield*di(),r=En(n,an),a=yield*mn(),o=xe(si(n),oa(r)),s=!1,c=!1,l=e=>{e._tag===`Failure`?rn(a,e.cause):Mi(a,e.value),c?(c=!1,o(t).addObserver(l)):s=!1};function d(){if(s){c=!0;return}s=!0,o(t).addObserver(l)}return yield*hn(r,u(i(e,d))),d(),a});return ko.of({mutation:r,query:a,stream:(e,t)=>a(e,t).pipe(b(Ci),bt),invalidateUnsafe:t,invalidate:n,registerUnsafe:i,withBatch:t=>Yr(()=>{let n=new Set;return t.pipe(A(jo,n),jn(t=>u(()=>{n.forEach(t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})})))})})}),jo=class extends x()(`effect/reactivity/Reactivity/PendingInvalidation`){},Mo=pn(2,(e,t)=>ko.use(n=>n.mutation(t,e))),No=e=>ko.use(t=>t.invalidate(e)),Po=lt(ko)(Ao);function Fo(e){switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return String(e);default:return _e(e)}}var Io=(e,t)=>{if(Array.isArray(e)){for(let n=0;n<e.length;n++)t(Fo(e[n]));return}for(let n in e){t(n);let r=e[n];for(let e=0;e<r.length;e++)t(`${n}:${Fo(r[e])}`)}},Lo=`~effect/SubscriptionRef`,Ro=e=>Vt(e,Lo),zo={...se,[Lo]:{_A:qe},toJSON(){return{_id:`SubscriptionRef`,value:this.value}}},Bo=e=>b(fi({replay:1}),t=>{let n=Object.create(zo);return n.semaphore=Ba(1),n.value=e,n.pubsub=t,i(n.pubsub,e),n}),Vo=e=>Hn(e.pubsub),I=e=>u(()=>e.value),Ho=(e,t)=>{e.value=t,i(e.pubsub,t)},Uo=pn(2,(e,t)=>e.semaphore.withPermit(u(()=>Ho(e,t)))),Wo=pn(2,(e,t)=>e.semaphore.withPermit(u(()=>Ho(e,t(e.value))))),Go={"~effect/reactivity/AsyncResult":{E:qe,A:qe},pipe(){return Be(this,arguments)},[ht](e){if(this._tag!==e._tag||this.waiting!==e.waiting)return!1;switch(this._tag){case`Initial`:return!0;case`Success`:return st(this.value,e.value);case`Failure`:return st(this.cause,e.cause)}},[et](){let e=Fe(`${this._tag}:${this.waiting}`);return this._tag===`Initial`?e:Dt(e)(this._tag===`Success`?_e(this.value):_e(this.cause))}},Ko=e=>e._tag===`Success`?Qo(e.value):es(e.cause),qo=(e,t)=>e._tag===`Success`?Qo(e.value):ts(e.cause,{previous:t}),Jo=e=>e._tag===`None`?Xo(!0):rs(e.value),Yo=e=>e._tag!==`Initial`,Xo=(e=!1)=>{let t=Object.create(Go);return t._tag=`Initial`,t.waiting=e,t},Zo=e=>e._tag===`Success`,Qo=(e,t)=>{let n=Object.create(Go);return n._tag=`Success`,n.value=e,n.waiting=t?.waiting??!1,n.timestamp=t?.timestamp??Date.now(),n},$o=e=>e._tag===`Failure`,es=(e,t)=>{let n=Object.create(Go);return n._tag=`Failure`,n.cause=e,n.previousSuccess=t?.previousSuccess??M(),n.waiting=t?.waiting??!1,n},ts=(e,t)=>es(e,{previousSuccess:mi(t.previous,e=>Zo(e)?k(e):$o(e)?e.previousSuccess:M()),waiting:t.waiting}),ns=(e,t)=>ts(li(e),t),rs=(e,t)=>{if(e.waiting)return t?.touch?is(e):e;let n=Object.assign(Object.create(Go),e);return n.waiting=!0,t?.touch&&Zo(n)&&(n.timestamp=Date.now()),n},is=e=>Zo(e)?Qo(e.value,{waiting:e.waiting}):e,as=(e,t)=>e._tag===`Failure`?ts(e.cause,{previous:t,waiting:e.waiting}):e,os=e=>e._tag===`Success`?k(e.value):e._tag===`Failure`?ci(e.previousSuccess,e=>e.value):M(),ss=pn(2,(e,t)=>qi(os(e),t)),cs=e=>ca(os(e),()=>new dr(`AsyncResult.getOrThrow: no value found`)),ls=e=>{switch(e._tag){case`Success`:return pr(e.value);case`Failure`:return Ti(e.cause);default:return Kn(new dr)}},us=`~effect/reactivity/AtomRegistry`,ds=e=>Vt(e,us),fs=e=>new bs(e?.initialValues,e?.scheduleTask,e?.timeoutResolution,e?.defaultIdleTTL),ps=x(us),ms=pn(e=>ds(e[0]),(e,t,n)=>{let r=n?.suspendOnWaiting??!1;return wi(n=>{let i=e.get(t);if(i._tag!==`Initial`&&!(r&&i.waiting))return n(ls(i));let a=e.subscribe(t,e=>{e._tag!==`Initial`&&!(r&&e.waiting)&&(n(ls(e)),a())});return u(a)})}),hs=pn(2,(e,t)=>bn(u(()=>e.mount(t)),e=>u(e))),gs={immediate:!0},_s=e=>{e()},vs=`~effect-atom/atom/Atom/Serializable`,ys=e=>vs in e?e[vs].key:e,bs=class{[us];timeoutResolution;defaultIdleTTL;scheduler;schedulerAsync;dispatcher;onNodeAdded;onNodeRemoved;constructor(e,t,n,r){if(this[us]=us,this.scheduler=new Rn(`sync`,t),this.schedulerAsync=new Rn(`async`,t),this.dispatcher=this.schedulerAsync.makeDispatcher(),this.defaultIdleTTL=r,n===void 0&&r!==void 0?this.timeoutResolution=Math.round(r/2):this.timeoutResolution=n??1e3,e!==void 0)for(let[t,n]of e){let e=t;for(;e.initialValueTarget;)e=e.initialValueTarget;this.ensureNode(e).setInitialValue(n)}}nodes=new Map;preloadedSerializable=new Map;timeoutBuckets=new Map;nodeTimeoutBucket=new Map;disposed=!1;getNodes(){return this.nodes}get(e){return this.ensureNode(e).value()}set(e,t){e.write(this.ensureNode(e).writeContext,t)}setSerializable(e,t){this.preloadedSerializable.set(e,t)}modify(e,t){let n=this.ensureNode(e),r=t(n.value());return e.write(n.writeContext,r[1]),r[0]}update(e,t){let n=this.ensureNode(e);e.write(n.writeContext,t(n.value()))}refresh=e=>{e.refresh===void 0?this.invalidateAtom(e):e.refresh(this.refresh)};subscribe(e,t,n){let r=this.ensureNode(e);n?.immediate&&t(r.value());let i=r.subscribe(function(){t(r._value)});return()=>{i(),r.canBeRemoved&&this.scheduleNodeRemoval(r)}}mount(e){return this.subscribe(e,nn,gs)}atomHasTtl(e){return!e.keepAlive&&e.idleTTL!==0&&(e.idleTTL!==void 0||this.defaultIdleTTL!==void 0)}ensureNode(e){let t=ys(e),n=this.nodes.get(t);if(n===void 0?(n=this.createNode(e),this.nodes.set(t,n),this.onNodeAdded?.(n)):this.atomHasTtl(e)&&this.removeNodeTimeout(n),typeof t==`string`&&this.preloadedSerializable.has(t)){let r=this.preloadedSerializable.get(t);this.preloadedSerializable.delete(t);let i=e[vs].decode(r),a=e;for(;a.initialValueTarget;)a=a.initialValueTarget;a===e?n.setValue(i):this.ensureNode(a).setInitialValue(i)}return n}createNode(e){if(this.disposed)throw Error(`Cannot access Atom ${e}: registry is disposed`);return e.keepAlive||this.scheduleAtomRemoval(e),new Cs(this,e)}invalidateAtom=e=>{this.ensureNode(e).invalidate()};scheduleAtomRemoval(e){this.dispatcher.scheduleTask(()=>{let t=this.nodes.get(ys(e));t!==void 0&&t.canBeRemoved&&this.removeNode(t)},0)}scheduleNodeRemoval(e){this.dispatcher.scheduleTask(()=>{e.canBeRemoved&&this.removeNode(e)},0)}removeNode(e){this.atomHasTtl(e.atom)?this.setNodeTimeout(e):(this.nodes.delete(ys(e.atom)),e.remove(),this.onNodeRemoved?.(e))}setNodeTimeout(e){if(this.nodeTimeoutBucket.has(e))return;let t=e.atom.idleTTL??this.defaultIdleTTL;if(this.#e!==null&&(t-=this.#e,t<=0)){this.nodes.delete(ys(e.atom)),e.remove(),this.onNodeRemoved?.(e);return}let n=Math.ceil(t/this.timeoutResolution)*this.timeoutResolution,r=Date.now()+n,i=r-r%this.timeoutResolution+this.timeoutResolution,a=this.timeoutBuckets.get(i);a===void 0&&(a=[new Set,setTimeout(()=>this.sweepBucket(i),i-Date.now())],this.timeoutBuckets.set(i,a)),a[0].add(e),this.nodeTimeoutBucket.set(e,i)}removeNodeTimeout(e){let t=this.nodeTimeoutBucket.get(e);if(t===void 0)return;this.nodeTimeoutBucket.delete(e),this.scheduleNodeRemoval(e);let[n,r]=this.timeoutBuckets.get(t);n.delete(e),n.size===0&&(clearTimeout(r),this.timeoutBuckets.delete(t))}#e=null;sweepBucket(e){let t=this.timeoutBuckets.get(e)[0];this.timeoutBuckets.delete(e),t.forEach(e=>{this.nodeTimeoutBucket.delete(e),e.canBeRemoved&&(this.nodes.delete(ys(e.atom)),this.onNodeRemoved?.(e),this.#e=e.atom.idleTTL??this.defaultIdleTTL,e.remove(),this.#e=null)})}reset(){this.timeoutBuckets.forEach(([,e])=>clearTimeout(e)),this.timeoutBuckets.clear(),this.nodeTimeoutBucket.clear(),this.nodes.forEach(e=>{e.remove(),this.onNodeRemoved?.(e)}),this.nodes.clear()}dispose(){this.disposed=!0,this.reset()}},xs={alive:1,initialized:2,waitingForValue:4},Ss={uninitialized:xs.alive|xs.waitingForValue,stale:xs.alive|xs.initialized|xs.waitingForValue,valid:xs.alive|xs.initialized,removed:0},Cs=class{constructor(e,t){this.registry=e,this.atom=t,this.writeContext=new Ds(e,this)}registry;atom;state=Ss.uninitialized;lifetime;writeContext;preserveInitialValueOnBuild=!1;parents=new Set;previousParents;children=new Set;listeners=new Set;skipInvalidation=!1;building=!1;invalidatedDuringBuild=!1;currentState(){switch(this.state){case Ss.uninitialized:return`uninitialized`;case Ss.stale:return`stale`;case Ss.valid:return`valid`;default:return`removed`}}get canBeRemoved(){return!this.atom.keepAlive&&this.listeners.size===0&&this.children.size===0&&this.state!==0}_value=void 0;value(){if((this.state&xs.waitingForValue)!==0){this.lifetime=Es(this),this.building=!0;let e=this.atom.read(this.lifetime);if(this.building=!1,(this.state&xs.waitingForValue)!==0&&(this.preserveInitialValueOnBuild?(this.preserveInitialValueOnBuild=!1,this.state=Ss.valid):this.setValue(e)),this.previousParents){let e=this.previousParents;this.previousParents=void 0;for(let t of e)t.removeChild(this),t.canBeRemoved&&this.registry.scheduleNodeRemoval(t)}}return this._value}valueOption(){return(this.state&xs.initialized)===0?M():k(this._value)}setInitialValue(e){if((this.state&xs.initialized)===0){this.preserveInitialValueOnBuild=!0,this.state=Ss.stale,this._value=e,ks.phase===Os.collect?ks.notify.add(this):this.notify();return}this.setValue(e)}setValue(e){if((this.state&xs.initialized)===0){this.state=Ss.valid,this._value=e,ks.phase===Os.collect?ks.notify.add(this):this.notify();return}this.state=Ss.valid,!this.atom.equals(this._value,e)&&(this._value=e,this.skipInvalidation?this.skipInvalidation=!1:this.invalidateChildren(),this.listeners.size>0&&(ks.phase===Os.collect?ks.notify.add(this):this.notify()))}addParent(e){this.parents.add(e),this.previousParents!==void 0&&(this.previousParents.delete(e),this.previousParents.size===0&&(this.previousParents=void 0)),e.children.has(this)||(e.children.add(this),e.skipInvalidation&&=!1)}removeChild(e){this.children.delete(e)}invalidate(){this.building&&ks.phase===Os.collect&&(this.invalidatedDuringBuild=!0),this.state===Ss.valid&&(this.state=Ss.stale,this.disposeLifetime()),ks.phase===Os.collect?ks.stale.push(this):this.atom.lazy&&this.listeners.size===0&&!ws(this.children)?(this.invalidateChildren(),this.skipInvalidation=!0):this.value()}invalidateChildren(){if(this.children.size===0)return;let e=this.children;this.children=new Set;for(let t of e)t.invalidate()}notify(){this.listeners.forEach(_s),ks.phase===Os.commit&&ks.notify.delete(this)}disposeLifetime(){this.lifetime!==void 0&&(this.lifetime.dispose(),this.lifetime=void 0),this.parents.size!==0&&(this.previousParents=this.parents,this.parents=new Set)}remove(){if(this.state=Ss.removed,this.listeners.clear(),this.lifetime===void 0||(this.disposeLifetime(),this.previousParents===void 0))return;let e=this.previousParents;this.previousParents=void 0;for(let t of e)t.removeChild(this),t.canBeRemoved&&this.registry.removeNode(t)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}};function ws(e){if(e.size===0)return!1;let t=e,n,r=0;for(;t!==void 0;){for(let e of t)if(!e.atom.lazy||e.listeners.size>0)return!0;else e.children.size>0&&(n===void 0?n=[e.children]:n.push(e.children));t=n?.[r++]}return!1}var Ts={get registry(){return this.node.registry},addFinalizer(e){if(this.disposed)return e();this.finalizers??=[],this.finalizers.push(e)},get(e){if(this.disposed)return this.node.registry.get(e);let t=this.node.registry.ensureNode(e),n=t.value();return this.node.addParent(t),n},result(e,t){if(this.disposed||this.isFn)return this.resultOnce(e,t);let n=this.get(e);if(t?.suspendOnWaiting&&n.waiting)return Tn;switch(n._tag){case`Initial`:return Tn;case`Failure`:return Ti(n.cause);case`Success`:return C(n.value)}},resultOnce(e,t){return wi(n=>{let r=this.once(e);if(r._tag!==`Initial`&&!(t?.suspendOnWaiting&&r.waiting))return n(ls(r));let i=this.node.registry.subscribe(e,e=>{e._tag===`Initial`||t?.suspendOnWaiting&&e.waiting||(i(),n(ls(e)))},{immediate:!1});return u(i)})},setResult(e,t){return this.disposed?Tn:(this.node.registry.set(e,t),this.resultOnce(e,{suspendOnWaiting:!0}))},some(e){if(this.disposed||this.isFn)return this.someOnce(e);let t=this.get(e);return t._tag===`None`?Tn:C(t.value)},someOnce(e){return wi(t=>{let n=this.once(e);if(P(n))return t(C(n.value));let r=this.node.registry.subscribe(e,e=>{Sr(e)||(r(),t(C(e.value)))},{immediate:!1});return u(r)})},once(e){return this.node.registry.get(e)},self(){return this.disposed?M():this.node.valueOption()},refresh(e){this.disposed||this.node.registry.refresh(e)},refreshSelf(){this.disposed||this.node.invalidate()},mount(e){this.disposed||this.addFinalizer(this.node.registry.mount(e))},subscribe(e,t,n){this.disposed||this.addFinalizer(this.node.registry.subscribe(e,t,n))},setSelf(e){this.disposed||this.node.setValue(e)},set(e,t){this.disposed||this.node.registry.set(e,t)},stream(e,t){return this.disposed?An:sn(n=>u(()=>{this.subscribe(e,e=>Mi(n,e),{immediate:!t?.withoutInitialValue})}))},streamResult(e,t){return this.stream(e,t).pipe(ta(Yo),ur(e=>e._tag===`Success`?C(e.value):ja(e.cause)))},dispose(){if(this.disposed=!0,this.finalizers===void 0)return;let e=this.finalizers;this.finalizers=void 0;for(let t=e.length-1;t>=0;t--)e[t]()}},Es=e=>{function t(n){if(t.disposed||t.isFn)return e.registry.get(n);let r=e.registry.ensureNode(n),i=r.value();return e.addParent(r),i}return Object.setPrototypeOf(t,Ts),t.isFn=!1,t.disposed=!1,t.finalizers=void 0,t.node=e,t},Ds=class{constructor(e,t){this.registry=e,this.node=t}registry;node;get(e){return this.registry.get(e)}set(e,t){return this.registry.set(e,t)}setSelf(e){return this.node.setValue(e)}refreshSelf(){return this.node.invalidate()}},Os={disabled:0,collect:1,commit:2},ks={phase:Os.disabled,depth:0,stale:[],notify:new Set};function As(e){ks.phase=Os.collect,ks.depth++;try{if(e(),ks.depth===1){for(let e=0;e<ks.stale.length;e++)js(ks.stale[e]);ks.phase=Os.commit;for(let e of ks.notify)e.notify();ks.notify.clear()}}finally{ks.depth--,ks.depth===0&&(ks.phase=Os.disabled,ks.stale=[])}}function js(e){if(e.state===Ss.valid){if(!e.invalidatedDuringBuild)return;e.invalidatedDuringBuild=!1,e.state=Ss.stale,e.disposeLifetime()}for(let t of e.parents)t.state!==Ss.valid&&js(t);e.state!==Ss.valid&&e.value()}var Ms=`~effect/reactivity/Atom`,Ns=e=>Vt(e,Ms),Ps=`~effect/reactivity/Atom/Writable`,Fs=pn(2,(e,t)=>{let n=ze(t),r=it(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?cn(n):void 0})}),Is=Fs(0),Ls={[Ms]:Ms,equals:Object.is,...se,toJSON(){return{_id:`Atom`,keepAlive:this.keepAlive,lazy:this.lazy,label:this.label}}},Rs={...Ls,atom(e,t){let n=Gs(e,t);return Hs(e=>{let t=e.self(),r=e(this);return r._tag===`Success`?n(e,r.value):as(r,t)})},fn(e,t){return arguments.length===0?(e,t)=>zs(this,e,t):zs(this,e,t)},pull(e,t){let n=Is(Js(0));return sc(n,Hs(r=>{let i=r.self(),a=r(this);return a._tag===`Success`?Xs(r,oc(r,n,e,t),Xo(!0),a.value):as(a,i)}))},subscriptionRef(e){return nc(Is(Hs(t=>{let n=t.self(),r=t(this);if(r._tag!==`Success`)return as(r,n);let i=typeof e==`function`?e(t):e;return Ro(i)?i:Xs(t,i,Xo(!0),r.value)})),(e,t)=>tc(e,t,cs(e(this))))}},zs=(e,t,n)=>{let[r,i,a]=ac(n?.reactivityKeys?(e,r)=>{let i=t(e,r);return rt(i)?Mo(i,n.reactivityKeys):Lt(i,No(n.reactivityKeys))}:t,n);return Us(t=>{t.get(a);let n=t.self(),i=t.get(e);return i._tag===`Success`?r(t,i.value):as(i,n)},i)},Bs={...Ls,[Ps]:Ps},Vs=e=>Ps in e,Hs=(e,t)=>{let n=Object.create(Ls);return n.keepAlive=!1,n.lazy=!0,n.read=e,n.refresh=t,n},Us=(e,t,n)=>{let r=Object.create(Bs);return r.keepAlive=!1,r.lazy=!0,r.read=e,r.write=t,r.refresh=n,r};function Ws(e,t){e.setSelf(t)}var L=(e,t)=>{let n=Gs(e,t);return`~effect/reactivity/Atom`in n?n:Hs(n)},Gs=(e,t)=>{if(typeof e==`function`&&!rt(e)&&!rr(e)){let n=e;return function(e,r){let i=n(e);switch(typeof i){case`function`:case`object`:return i===null?i:Ks in i?Ys(e,i,t,r):qs in i?$s(e,i,t,r):i;default:return i}}}else if(rt(e))return function(n,r){return Ys(n,e,t,r)};else if(rr(e))return function(n,r){return $s(n,e,t,r)};return Js(e)},Ks=`~effect/Effect`,qs=`~effect/Stream`,Js=e=>Us(function(t){return e},Ws),Ys=(e,t,n,r)=>Xs(e,t,n?.initialValue===void 0?Xo():Qo(n.initialValue),r,n?.uninterruptible);function Xs(e,t,n,r=Ge(),i=!1){let a=e.self(),o=yn();e.addFinalizer(()=>{si(r)(Ye(o,Er))});let s=new Map(r.mapUnsafe);s.set(an.key,o),s.set(ps.key,e.registry),s.set(ba.key,e.registry.scheduler);let c,l=!1,u=Zs(zt(s),t,function(t){c=qo(t,a),l&&e.setSelf(c)},i);return l=!0,u!==void 0&&e.addFinalizer(u),c===void 0?a._tag===`Some`?Jo(a):rs(n):c}function Zs(e,t,n,r=!1){if(sr(t)){n(t);return}let i=si(e)(t);i.currentDispatcher?.flush();let a=i.pollUnsafe();if(a){n(a);return}let o=i.addObserver(n);function s(){o(),r||i.interruptUnsafe()}return s}var Qs=(e=>{let t=Po;function n(r){let i=Object.create(Rs);i.keepAlive=!1,i.lazy=!0,i.refresh=void 0,i.factory=n;let a=cc(Hs(typeof r==`function`?e=>Va(r(e),t):()=>Va(r,t)));return i.layer=a,i.read=function(t){let n=t(a);return Ys(t,T(ee,t=>Gr(n,e.memoMap,t)),{uninterruptible:!0})},i}n.memoMap=e.memoMap,n.addGlobalLayer=e=>{t=Va(t,Ut(e,Po))};let r=Is(L(Lr(t=>Gr(Po,e.memoMap,En(t,an))).pipe(b(En(ko)))));return n.withReactivity=e=>t=>lc(t,n=>{let i=cs(n(r));return n.addFinalizer(i.registerUnsafe(e,()=>{n.refresh(t)})),n.subscribe(t,e=>n.setSelf(e)),n.once(t)},{initialValueTarget:t}),n})({memoMap:ve()});Qs.withReactivity;var $s=(e,t,n,r)=>ec(e,t,n?.initialValue===void 0?Xo():Qo(n.initialValue),r);function ec(e,t,n,r=Ge()){let i=e.self();r=Li(r,ps,e.registry);let a=Zt(n=>T(tt(t.channel,n),t=>fn({while:ke,body:()=>t,step(t){e.setSelf(Qo(wt(t),{waiting:!0}))}}))).pipe(Zi(t=>(Un(t)?ji(e.self(),mi(os),Pr({onNone:()=>e.setSelf(ns(new dr,{previous:e.self()})),onSome:t=>e.setSelf(Qo(t))})):e.setSelf(ts(t,{previous:e.self()})),D))),o=new Map(r.mapUnsafe);o.set(ps.key,e.registry),o.set(ba.key,e.registry.scheduler);let s=Zs(zt(o),a,nn,!1);return s!==void 0&&e.addFinalizer(s),i._tag===`Some`?Jo(i):rs(n)}var tc=(e,t,n=Ge())=>Ro(t)?(e.addFinalizer(Vo(t).pipe(Ia(t=>{for(let n=0;n<t.length;n++)e.setSelf(t[n]);return D}),xr(n))),Gt(n)(I(t))):t._tag===`Success`?ec(e,Vo(t.value),Xo(!0),n):t,nc=(e,t)=>{function n(t,n){let r=t.get(e);Ro(r)?Pa(Uo(r,n)):Zo(r)&&Pa(Uo(r.value,n))}return Us(n=>{let r=n(e);return Ro(r)||Zo(r)?t(n,r):r},n)},rc=Symbol.for(`effect/reactivity/atom/Atom/Reset`),ic=Symbol.for(`effect/reactivity/atom/Atom/Interrupt`);function ac(e,t){let n=Is(Js([0,void 0])),r=t?.initialValue===void 0?Xo():Qo(t.initialValue),i=t?.concurrent?Is(Hs(e=>{let t=new Set;return e.addFinalizer(()=>t.forEach(e=>e.interruptUnsafe())),t})):void 0;function a(t,a){let o=i?t(i):void 0;t.isFn=!0;let[s,c]=t.get(n);if(s===0)return r;if(c===ic)return ts(Zn(),{previous:t.self()});let l=e(c,t);return Ks in l?(o&&(l=T(m(l,{startImmediately:!0}),e=>(o.add(e),e.addObserver(()=>o.delete(e)),b(ni(o),e=>e[0])))),Xs(t,l,r,a,!1)):ec(t,l,r,a)}function o(e,t){_c(()=>{t===rc?e.set(n,[0,void 0]):t===ic?e.set(n,[e.get(n)[0]+1,ic]):e.set(n,[e.get(n)[0]+1,t]),e.refreshSelf()})}return[a,o,n]}var oc=(e,t,n,r)=>T($t(typeof n==`function`?n(e):n),n=>{let i=Gi().context,a=Ma(),o=Ii(n,{onFailure(e){return Un(e)?ge(a)?C({done:!0,items:a}):j(new dr(`Atom.pull: no items`)):ja(e)},onSuccess(e){let t;return r?.disableAccumulation?t=e:(t=Qn(a,e),a=t),C({done:!1,items:t})}}),s=new Set;return e.addFinalizer(()=>{for(let e of s)e()}),e.once(t),e.subscribe(t,()=>{e.setSelf(Jo(e.self()));let t;t=Zs(i,o,n=>{t&&s.delete(t);let r=qo(n,e.self()),i=s.size>0;e.setSelf(i?rs(r):r)}),t&&s.add(t)}),o}),sc=(e,t)=>Us(t.read,function(t,n){t.set(e,t.get(e)+1)}),R=typeof WeakRef>`u`||typeof FinalizationRegistry>`u`?e=>{let t=Wr();return function(n){let r=ct(t,n);if(r._tag===`Some`)return r.value;let i=e(n);return Ot(t,n,i),i}}:e=>{let t=Wr(),n=new FinalizationRegistry(e=>{gt(t,e)});return function(r){let i=ct(t,r).pipe(zi(e=>e.deref()));if(i._tag===`Some`)return i.value;let a=e(r);return Ot(t,r,new WeakRef(a)),n.register(a,r),a}},cc=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0}),z=pn(2,(e,t)=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,label:[t,Error().stack?.split(`
|
|
2
|
-
`)[5]??``]})),lc=pn(e=>Ns(e[0]),(e,t,n)=>{let r=Is(Vs(e)?Us(n=>t(n,e),function(t,n){t.set(e,n)},e.refresh??function(t){t(e)}):Hs(n=>t(n,e),e.refresh??function(t){t(e)}));return n?.initialValueTarget&&(r.initialValueTarget=uc(n.initialValueTarget)),r}),uc=e=>{let t=e;for(;t.initialValueTarget;)t=t.initialValueTarget;return t},dc=pn(2,(e,t)=>lc(e,n=>t(n(e)))),fc=pn(2,(e,t)=>{let n=cn(ze(t));return lc(e,function(t){let r=setTimeout(()=>t.refresh(e),n);return t.addFinalizer(()=>clearTimeout(r)),t(e)},{initialValueTarget:e})}),pc=pn(2,(e,t)=>{let n=cn(ze(t.staleTime));return lc(e,r=>{let i=r.once(e);return r.subscribe(e,e=>{r.setSelf(e)}),t.revalidateOnFocus&&t.focusSignal&&(r.once(t.focusSignal),r.subscribe(t.focusSignal,t.revalidateOnFocus===`always`?()=>r.refresh(e):()=>{gc(r.once(e),n)&&r.refresh(e)})),Sr(r.self())&&t.revalidateOnMount===!1||gc(i,n)&&r.refresh(e),i},{initialValueTarget:e})}),mc=e=>e._tag===`Success`?k(e.timestamp):e._tag===`Failure`?ci(e.previousSuccess,e=>e.timestamp):M(),hc=(e,t,n)=>n-e<t,gc=(e,t)=>{if(e.waiting)return!1;let n=lr(mc(e));return n===void 0?e._tag!==`Initial`:!hc(n,t,Date.now())},_c=As,vc=`~effect-atom/atom/Atom/ServerValue`,yc=pn(2,(e,t)=>`~effect-atom/atom/Atom/ServerValue`in e?e[vc](e=>t.get(e)):t.get(e)),bc=t((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function ee(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function te(e){if(h=!1,ee(e),!m)if(n(c)!==null)m=!0,ne||(ne=!0,ce());else{var t=n(l);t!==null&&de(te,t.startTime-e)}}var ne=!1,re=-1,ie=5,ae=-1;function oe(){return g?!0:!(e.unstable_now()-ae<ie)}function se(){if(g=!1,ne){var t=e.unstable_now();ae=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(re),re=-1),p=!0;var a=f;try{b:{for(ee(t),d=n(c);d!==null&&!(d.expirationTime>t&&oe());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,ee(t),i=!0;break b}d===n(c)&&r(c),ee(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&de(te,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ce():ne=!1}}}var ce;if(typeof y==`function`)ce=function(){y(se)};else if(typeof MessageChannel<`u`){var le=new MessageChannel,ue=le.port2;le.port1.onmessage=se,ce=function(){ue.postMessage(null)}}else ce=function(){_(se,0)};function de(t,n){re=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ie=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(re),re=-1):h=!0,de(te,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ne||(ne=!0,ce()))),r},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),xc=t(((e,t)=>{t.exports=bc()})),Sc=e(zn(),1),Cc=e(xc(),1);function wc(e){let t=Cc.unstable_scheduleCallback(4,e);return()=>Cc.unstable_cancelCallback(t)}var Tc=Sc.createContext(fs({scheduleTask:wc,defaultIdleTTL:400})),Ec=new WeakMap;function Dc(e,t){let n=Ec.get(e);n===void 0&&(n=new WeakMap,Ec.set(e,n));let r=n.get(t);if(r!==void 0)return r;let i={subscribe(n){return e.subscribe(t,n)},snapshot(){return e.get(t)},getServerSnapshot(){return yc(t,e)}};return n.set(t,i),i}function Oc(e,t){let n=Dc(e,t);return Sc.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var kc=(e,t)=>{let n=Sc.useContext(Tc);return t?Oc(n,Sc.useMemo(()=>dc(e,t),[e,t])):Oc(n,e)};function Ac(e,t){Sc.useEffect(()=>e.mount(t),[t,e])}function jc(e,t,n){return n?.mode===`promise`||n?.mode===`promiseExit`?Sc.useCallback(r=>{e.set(t,r);let i=Dr(ms(e,t,{suspendOnWaiting:!0}));return n.mode===`promise`?i.then(Mc):i},[e,t,n.mode]):Sc.useCallback(n=>{e.set(t,typeof n==`function`?n(e.get(t)):n)},[e,t])}var Mc=e=>{if(ma(e))return e.value;throw Zr(e.cause)},Nc=(e,t)=>{let n=Sc.useContext(Tc);return Ac(n,e),jc(n,e,t)},Pc=e=>{let t=Sc.useContext(Tc);return Ac(t,e),Sc.useCallback(()=>{t.refresh(e)},[t,e])},Fc=class extends x()(`effect/workers/Transferable/Collector`){},Ic=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return Fc.of({addAllUnsafe:t,addAll:e=>u(()=>t(e)),readUnsafe:n,read:u(n),clearUnsafe:r,clear:u(r)})},Lc=`~effect/workers/WorkerError`,Rc=Ai([class extends Jr(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:Ar(`WorkerSpawnError`),message:w,cause:ui(vt())}){},class extends Jr(`effect/workers/WorkerError/WorkerSendError`)({_tag:Ar(`WorkerSendError`),message:w,cause:ui(vt())}){},class extends Jr(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:Ar(`WorkerReceiveError`),message:w,cause:ui(vt())}){},class extends Jr(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:Ar(`WorkerUnknownError`),message:w,cause:ui(vt())}){}]);Jr(Lc)({_tag:Ar(`WorkerError`),reason:Rc});var zc=`~effect/rpc/RpcClientError`,Bc=class extends Jr(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:Ar(`RpcClientDefect`),message:w,cause:vt()}){},Vc=class extends Jr(zc)({_tag:Ar(`RpcClientError`),reason:Ai([Rc,xt,na,Bc])}){[zc]=zc;get message(){return`${this.reason._tag}: ${this.reason.message}`}},Hc=e=>e,Uc={_tag:`Ping`},Wc;try{Wc=new TextDecoder}catch{}var B,Gc,V=0,Kc=[],qc=Kc,Jc=0,H={},U,Yc,Xc=0,Zc=0,Qc,$c,el=[],W,tl={useRecords:!1,mapsAsObjects:!0},nl=class{},rl=new nl;rl.name=`MessagePack 0xC1`;var il=!1,al=2,ol=class e{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=0&&(e.structures=[],e.maxSharedStructures||=0)),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType=`number`)),Object.assign(this,e)}unpack(t,n){if(B)return Fl(()=>(Il(),this?this.unpack(t,n):e.prototype.unpack.call(tl,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(Gc=n.end||t.length,V=n.start||0):(V=0,Gc=n>-1?n:t.length),Jc=0,Zc=0,Yc=null,qc=Kc,Qc=null,B=t;try{W=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw B=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(H=this,this.structures)return U=this.structures,sl(n);(!U||U.length>0)&&(U=[])}else H=tl,(!U||U.length>0)&&(U=[]);return sl(n)}unpackMultiple(e,t){let n,r=0;try{il=!0;let i=e.length,a=this?this.unpack(e,i):Rl.unpack(e,i);if(t){if(t(a,r,V)===!1)return;for(;V<i;)if(r=V,t(sl(),r,V)===!1)return}else{for(n=[a];V<i;)r=V,n.push(sl());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{il=!1,Il()}}_mergeStructures(e,t){this._onLoadedStructures&&(e=this._onLoadedStructures(e)),e||=[],Object.isFrozen(e)&&(e=e.map(e=>e.slice(0)));for(let t=0,n=e.length;t<n;t++){let n=e[t];n&&(n.isShared=!0,t>=32&&(n.highByte=t-32>>5))}e.sharedLength=e.length;for(let n in t||[])if(n>=0){let r=e[n],i=t[n];i&&(r&&((e.restoreStructures||=[])[n]=r),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function sl(e){try{if(!H.trusted&&!il){let e=U.sharedLength||0;e<U.length&&(U.length=e)}let t;if(H._readStruct&&B[V]<64&&B[V]>=32?(t=H._readStruct(B,V,Gc),B=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),V=Gc):t=ll(),Qc&&=(V=Qc.postBundlePosition,null),il&&(U.restoreStructures=null),V==Gc)U&&U.restoreStructures&&cl(),U=null,B=null,$c&&=null;else if(V>Gc)throw Error(`Unexpected end of MessagePack data`);else if(!il){let e;try{e=JSON.stringify(t,(e,t)=>typeof t==`bigint`?`${t}n`:t).slice(0,100)}catch(t){e=`(JSON view not available `+t+`)`}throw Error(`Data read, but end of buffer not reached `+e)}return t}catch(e){throw U&&U.restoreStructures&&cl(),Il(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||V>Gc)&&(e.incomplete=!0),e}}function cl(){for(let e in U.restoreStructures)U[e]=U.restoreStructures[e];U.restoreStructures=null}function ll(){let e=B[V++];if(e<160)if(e<128){if(e<64)return e;{let t=U[e&63]||H.getStructures&&pl()[e&63];return t?(t.read||=dl(t,e&63),t.read()):e}}else if(e<144)if(e-=128,H.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Ol();e===`__proto__`&&(e=`__proto_`),t[e]=ll()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(ll(),ll());return t}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=ll();return H.freezeData?Object.freeze(t):t}else if(e<192){let t=e-160;if(Zc>=V)return Yc.slice(V-Xc,(V+=t)-Xc);if(Zc==0&&Gc<140){let e=t<16?Cl(t):Sl(t);if(e!=null)return e}return ml(t)}else{let t;switch(e){case 192:return null;case 193:return Qc?(t=ll(),t>0?Qc[1].slice(Qc.position1,Qc.position1+=t):Qc[0].slice(Qc.position0,Qc.position0-=t)):rl;case 194:return!1;case 195:return!0;case 196:if(t=B[V++],t===void 0)throw Error(`Unexpected end of buffer`);return Tl(t);case 197:return t=W.getUint16(V),V+=2,Tl(t);case 198:return t=W.getUint32(V),V+=4,Tl(t);case 199:return El(B[V++]);case 200:return t=W.getUint16(V),V+=2,El(t);case 201:return t=W.getUint32(V),V+=4,El(t);case 202:if(t=W.getFloat32(V),H.useFloat32>2){let e=Ll[(B[V]&127)<<1|B[V+1]>>7];return V+=4,(e*t+(t>0?.5:-.5)>>0)/e}return V+=4,t;case 203:return t=W.getFloat64(V),V+=8,t;case 204:return B[V++];case 205:return t=W.getUint16(V),V+=2,t;case 206:return t=W.getUint32(V),V+=4,t;case 207:return H.int64AsType===`number`?(t=W.getUint32(V)*4294967296,t+=W.getUint32(V+4)):H.int64AsType===`string`?t=W.getBigUint64(V).toString():H.int64AsType===`auto`?(t=W.getBigUint64(V),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=W.getBigUint64(V),V+=8,t;case 208:return W.getInt8(V++);case 209:return t=W.getInt16(V),V+=2,t;case 210:return t=W.getInt32(V),V+=4,t;case 211:return H.int64AsType===`number`?(t=W.getInt32(V)*4294967296,t+=W.getUint32(V+4)):H.int64AsType===`string`?t=W.getBigInt64(V).toString():H.int64AsType===`auto`?(t=W.getBigInt64(V),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=W.getBigInt64(V),V+=8,t;case 212:if(t=B[V++],t==114)return Al(B[V++]&63);{let e=el[t];if(e)return e.read?(V++,e.read(ll())):e.noBuffer?(V++,e()):e(B.subarray(V,++V));throw Error(`Unknown extension `+t)}case 213:return t=B[V],t==114?(V++,Al(B[V++]&63,B[V++])):El(2);case 214:return El(4);case 215:return El(8);case 216:return El(16);case 217:return t=B[V++],Zc>=V?Yc.slice(V-Xc,(V+=t)-Xc):hl(t);case 218:return t=W.getUint16(V),V+=2,Zc>=V?Yc.slice(V-Xc,(V+=t)-Xc):gl(t);case 219:return t=W.getUint32(V),V+=4,Zc>=V?Yc.slice(V-Xc,(V+=t)-Xc):_l(t);case 220:return t=W.getUint16(V),V+=2,yl(t);case 221:return t=W.getUint32(V),V+=4,yl(t);case 222:return t=W.getUint16(V),V+=2,bl(t);case 223:return t=W.getUint32(V),V+=4,bl(t);default:if(e>=224)return e-256;if(e===void 0){let e=Error(`Unexpected end of MessagePack data`);throw e.incomplete=!0,e}throw Error(`Unknown MessagePack token `+e)}}}var ul=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function dl(e,t){function n(){if(n.count++>al){let r;try{r=e.read=Function(`r`,`return function(){return `+(H.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:ul.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(ll)}catch{return al=1/0,n()}return e.read0=r,e.highByte===0&&(e.read=fl(t,e.read)),r()}let r={};for(let t=0,n=e.length;t<n;t++){let n=e[t];n===`__proto__`&&(n=`__proto_`),r[n]=ll()}return H.freezeData?Object.freeze(r):r}return n.count=0,e.read0=n,e.highByte===0?fl(t,n):n}var fl=(e,t)=>function(){let n=B[V++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=U[r]||pl()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=dl(i,e),i.read()};function pl(){let e=Fl(()=>(B=null,H.getStructures()));return U=H._mergeStructures(e,U)}var ml=vl,hl=vl,gl=vl,_l=vl;function vl(e){let t;if(e<16&&(t=Cl(e)))return t;if(e>64&&Wc)return Wc.decode(B.subarray(V,V+=e));let n=V+e,r=[];for(t=``;V<n;){let e=B[V++];if(!(e&128))r.push(e);else if((e&224)==192){let t=B[V++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=B[V++]&63,n=B[V++]&63,i=(e&31)<<12|t<<6|n;i<2048||i>=55296&&i<=57343?r.push(65533):r.push(i)}else if((e&248)==240){let t=B[V++]&63,n=B[V++]&63,i=B[V++]&63,a=(e&7)<<18|t<<12|n<<6|i;a<65536||a>1114111?r.push(65533):a>65535?(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023,r.push(a)):r.push(a)}else r.push(65533);r.length>=4096&&(t+=xl.apply(String,r),r.length=0)}return r.length>0&&(t+=xl.apply(String,r)),t}function yl(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=ll();return H.freezeData?Object.freeze(t):t}function bl(e){if(H.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Ol();e===`__proto__`&&(e=`__proto_`),t[e]=ll()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(ll(),ll());return t}}var xl=String.fromCharCode;function Sl(e){let t=V,n=Array(e);for(let r=0;r<e;r++){let e=B[V++];if((e&128)>0){V=t;return}n[r]=e}return xl.apply(String,n)}function Cl(e){if(e<4)if(e<2){if(e===0)return``;{let e=B[V++];if((e&128)>1){--V;return}return xl(e)}}else{let t=B[V++],n=B[V++];if((t&128)>0||(n&128)>0){V-=2;return}if(e<3)return xl(t,n);let r=B[V++];if((r&128)>0){V-=3;return}return xl(t,n,r)}else{let t=B[V++],n=B[V++],r=B[V++],i=B[V++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){V-=4;return}if(e<6){if(e===4)return xl(t,n,r,i);{let e=B[V++];if((e&128)>0){V-=5;return}return xl(t,n,r,i,e)}}else if(e<8){let a=B[V++],o=B[V++];if((a&128)>0||(o&128)>0){V-=6;return}if(e<7)return xl(t,n,r,i,a,o);let s=B[V++];if((s&128)>0){V-=7;return}return xl(t,n,r,i,a,o,s)}else{let a=B[V++],o=B[V++],s=B[V++],c=B[V++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){V-=8;return}if(e<10){if(e===8)return xl(t,n,r,i,a,o,s,c);{let e=B[V++];if((e&128)>0){V-=9;return}return xl(t,n,r,i,a,o,s,c,e)}}else if(e<12){let l=B[V++],u=B[V++];if((l&128)>0||(u&128)>0){V-=10;return}if(e<11)return xl(t,n,r,i,a,o,s,c,l,u);let d=B[V++];if((d&128)>0){V-=11;return}return xl(t,n,r,i,a,o,s,c,l,u,d)}else{let l=B[V++],u=B[V++],d=B[V++],f=B[V++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){V-=12;return}if(e<14){if(e===12)return xl(t,n,r,i,a,o,s,c,l,u,d,f);{let e=B[V++];if((e&128)>0){V-=13;return}return xl(t,n,r,i,a,o,s,c,l,u,d,f,e)}}else{let p=B[V++],m=B[V++];if((p&128)>0||(m&128)>0){V-=14;return}if(e<15)return xl(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=B[V++];if((h&128)>0){V-=15;return}return xl(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function wl(){let e=B[V++],t;if(e<192)t=e-160;else switch(e){case 217:t=B[V++];break;case 218:t=W.getUint16(V),V+=2;break;case 219:t=W.getUint32(V),V+=4;break;default:throw Error(`Expected string`)}return vl(t)}function Tl(e){return H.copyBuffers?Uint8Array.prototype.slice.call(B,V,V+=e):B.subarray(V,V+=e)}function El(e){let t=B[V++];if(el[t]){let n;return el[t](B.subarray(V,n=V+=e),e=>{V=e;try{return ll()}finally{V=n}})}else throw Error(`Unknown extension type `+t)}var Dl=Array(4096);function Ol(){let e=B[V++];if(e>=160&&e<192){if(e-=160,Zc>=V)return Yc.slice(V-Xc,(V+=e)-Xc);if(!(Zc==0&&Gc<180))return ml(e)}else return V--,kl(ll());let t=(e<<5^(e>1?W.getUint16(V):e>0?B[V]:0))&4095,n=Dl[t],r=V,i=V+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=W.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=B[r++],a!=n[o++]){r=1879048192;break}if(r===i)return V=r,n.string;i-=3,r=V}for(n=[],Dl[t]=n,n.bytes=e;r<i;)a=W.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=B[r++],n.push(a);let s=e<16?Cl(e):Sl(e);return s==null?n.string=ml(e):n.string=s}function kl(e){if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;if(H.allowArraysInMapKeys&&Array.isArray(e)&&e.flat().every(e=>[`string`,`number`,`boolean`,`bigint`].includes(typeof e)))return e.flat().toString();throw Error(`Invalid property type for record: ${typeof e}`)}var Al=(e,t)=>{let n=ll().map(kl),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=U[e];return i&&(i.isShared||il)&&((U.restoreStructures||=[])[e]=i),U[e]=n,n.read=dl(n,r),(n.read0||n.read)()};el[0]=()=>{},el[0].noBuffer=!0,el[66]=e=>{let t=e.byteLength%8||8,n=BigInt(e[0]&128?e[0]-256:e[0]);for(let r=1;r<t;r++)n<<=BigInt(8),n+=BigInt(e[r]);if(e.byteLength!==t){let r=new DataView(e.buffer,e.byteOffset,e.byteLength),i=(e,t)=>{let n=t-e;if(n<=40){let n=r.getBigUint64(e);for(let i=e+8;i<t;i+=8)n<<=BigInt(64),n|=r.getBigUint64(i);return n}let a=e+(n>>4<<3),o=i(e,a),s=i(a,t);return o<<BigInt((t-a)*8)|s};n=n<<BigInt((r.byteLength-t)*8)|i(t,r.byteLength)}return n};var jl={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};el[101]=()=>{let e=ll();if(!jl[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return jl[e[0]](e[1],{cause:e[2]})},el[105]=e=>{if(H.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=W.getUint32(V-4);$c||=new Map;let n=B[V],r;r=n>=144&&n<160||n==220||n==221?[]:n>=128&&n<144||n==222||n==223?new Map:(n>=199&&n<=201||n>=212&&n<=216)&&B[V+1]===115?new Set:{};let i={target:r};$c.set(t,i);let a=ll();if(i.used)Object.assign(r,a);else return i.target=a;if(r instanceof Map)for(let[e,t]of a.entries())r.set(e,t);if(r instanceof Set)for(let e of Array.from(a))r.add(e);return r},el[112]=e=>{if(H.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=W.getUint32(V-4),n=$c.get(t);return n.used=!0,n.target},el[115]=()=>new Set(ll());var Ml=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Nl=typeof globalThis==`object`?globalThis:window;el[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=Ml[t];if(!r){if(t===16)return n;if(t===17)return new DataView(n);throw Error(`Could not find typed array for code `+t)}return new Nl[r](n)},el[120]=()=>{let e=ll();return new RegExp(e[0],e[1])};var Pl=[];el[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=V;return V+=t-e.length,Qc=Pl,Qc=[wl(),wl()],Qc.position0=0,Qc.position1=0,Qc.postBundlePosition=V,V=n,ll()},el[255]=e=>e.length==4?new Date((e[0]*16777216+(e[1]<<16)+(e[2]<<8)+e[3])*1e3):e.length==8?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+((e[3]&3)*4294967296+e[4]*16777216+(e[5]<<16)+(e[6]<<8)+e[7])*1e3):e.length==12?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+((e[4]&128?-281474976710656:0)+e[6]*1099511627776+e[7]*4294967296+e[8]*16777216+(e[9]<<16)+(e[10]<<8)+e[11])*1e3):new Date(`invalid`);function Fl(e){H&&H._onSaveState&&H._onSaveState();let t=Gc,n=V,r=Jc,i=Xc,a=Zc,o=Yc,s=qc,c=$c,l=Qc,u=new Uint8Array(B.slice(0,Gc)),d=U,f=U.slice(0,U.length),p=H,m=il,h=e();return Gc=t,V=n,Jc=r,Xc=i,Zc=a,Yc=o,qc=s,$c=c,Qc=l,B=u,il=m,U=d,U.splice(0,U.length,...f),H=p,W=new DataView(B.buffer,B.byteOffset,B.byteLength),h}function Il(){B=null,$c=null,U=null}var Ll=Array(147);for(let e=0;e<256;e++)Ll[e]=+(`1e`+Math.floor(45.15-e*.30103));var Rl=new ol({useRecords:!1});Rl.unpack,Rl.unpackMultiple,Rl.unpack;var zl={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4),ol.SUPPORTS_STRUCT_HOOKS=!0;var Bl;try{Bl=new TextEncoder}catch{}var Vl,Hl,Ul=typeof Buffer<`u`,Wl=Ul?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,Gl=Ul?Buffer:Uint8Array,Kl=Ul?4294967296:2144337920,G,ql,K,q=0,Jl,Yl=null,Xl=21760,Zl=/[\u0080-\uFFFF]/,Ql=Symbol(`record-id`),$l=class extends ol{constructor(e){super(e),this.offset=0;let t,n,r,i,a=Gl.prototype.utf8Write?function(e,t){return G.utf8Write(e,t,G.byteLength-t)}:Bl&&Bl.encodeInto?function(e,t){return Bl.encodeInto(e,G.subarray(t)).written}:!1,o=this;e||={};let s=e&&e.sequential,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?32:0,l>8160)throw Error(`Maximum maxSharedStructure is 8160`);e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let u=e.maxOwnStructures;u??=c?32:64,!this.structures&&e.useRecords!=0&&(this.structures=[]);let d=l>32||u+l>64,f=l+64,p=l+u+64;if(p>8256)throw Error(`Maximum maxSharedStructure + maxOwnStructure is 8192`);let m=[],h=0,g=0;this.pack=this.encode=function(e,a){if(G||(G=new Wl(8192),K=G.dataView||=new DataView(G.buffer,0,8192),q=0),Jl=G.length-10,Jl-q<2048?(G=new Wl(G.length),K=G.dataView||=new DataView(G.buffer,0,G.length),Jl=G.length-10,q=0):q=q+7&2147483640,t=q,a&2048&&(q+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(Yl=[],Yl.size=1/0):Yl=null,r=o.structures,r){r.uninitialized&&(r=o._mergeStructures(o.getStructures()));let e=r.sharedLength||0;if(e>l)throw Error(`Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to `+r.sharedLength);if(!r.transitions){r.transitions=Object.create(null);for(let t=0;t<e;t++){let e=r[t];if(!e)continue;let n,i=r.transitions;for(let t=0,r=e.length;t<r;t++){let r=e[t];n=i[r],n||=i[r]=Object.create(null),i=n}i[Ql]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o._writeStruct&&e&&typeof e==`object`?e.constructor===Object?ie(e):e.constructor!==Map&&!Array.isArray(e)&&!Hl.some(t=>e instanceof t)?ie(e.toJSON?e.toJSON():e):y(e):y(e);let n=Yl;if(Yl&&iu(t,y,0),i&&i.idsToInsert){let e=i.idsToInsert.sort((e,t)=>e.offset>t.offset?1:-1),r=e.length,a=-1;for(;n&&r>0;){let i=e[--r].offset+t;i<n.stringsPosition+t&&a===-1&&(a=0),i>n.position+t?a>=0&&(a+=6):(a>=0&&(K.setUint32(n.position+t,K.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&K.setUint32(n.position+t,K.getUint32(n.position+t)+a),q+=e.length*6,q>Jl&&ae(q),o.offset=q;let s=ru(G.subarray(t,q),e);return i=null,s}return o.offset=q,a&512?(G.start=t,G.end=q,G):G.subarray(t,q)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=G.subarray(t,q),s=(o._prepareStructures||au)(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?(r.uninitialized=!0,o.pack(e,a)):(o.lastNamedStructuresLength=n,G.length>1073741824&&(G=null),i)}G.length>1073741824&&(G=null),a&1024&&(q=t)}};let _=()=>{g<10&&g++;let e=r.sharedLength||0;if(r.length>e&&!s&&(r.length=e),h>1e4)r.transitions=null,g=0,h=0,m.length>0&&(m=[]);else if(m.length>0&&!s){for(let e=0,t=m.length;e<t;e++)m[e][Ql]=0;m=[]}},v=e=>{var t=e.length;t<16?G[q++]=144|t:t<65536?(G[q++]=220,G[q++]=t>>8,G[q++]=t&255):(G[q++]=221,K.setUint32(q,t),q+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{q>Jl&&(G=ae(q));var n=typeof e,r;if(n===`string`){let n=e.length;if(Yl&&n>=4&&n<4096){if((Yl.size+=n)>Xl){let e,n=(Yl[0]?Yl[0].length*3+Yl[1].length:0)+10;q+n>Jl&&(G=ae(q+n));let r;Yl.position?(r=Yl,G[q]=200,q+=3,G[q++]=98,e=q-t,q+=4,iu(t,y,0),K.setUint16(e+t-3,q-t-e)):(G[q++]=214,G[q++]=98,e=q-t,q+=4),Yl=[``,``],Yl.previous=r,Yl.size=0,Yl.position=e}let r=Zl.test(e);Yl[+!r]+=e,G[q++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(q+o>Jl&&(G=ae(q+o)),n<64||!a){let t,a,o,s=q+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?G[s++]=a:a<2048?(G[s++]=a>>6|192,G[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,G[s++]=a>>18|240,G[s++]=a>>12&63|128,G[s++]=a>>6&63|128,G[s++]=a&63|128):(G[s++]=a>>12|224,G[s++]=a>>6&63|128,G[s++]=a&63|128);r=s-q-i}else r=a(e,q+i);r<32?G[q++]=160|r:r<256?(i<2&&G.copyWithin(q+2,q+1,q+1+r),G[q++]=217,G[q++]=r):r<65536?(i<3&&G.copyWithin(q+3,q+2,q+2+r),G[q++]=218,G[q++]=r>>8,G[q++]=r&255):(i<5&&G.copyWithin(q+5,q+3,q+3+r),G[q++]=219,K.setUint32(q,r),q+=4),q+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this._writeStruct?G[q++]=e:e<256?(G[q++]=204,G[q++]=e):e<65536?(G[q++]=205,G[q++]=e>>8,G[q++]=e&255):(G[q++]=206,K.setUint32(q,e),q+=4);else if(e>>0===e)e>=-32?G[q++]=256+e:e>=-128?(G[q++]=208,G[q++]=e+256):e>=-32768?(G[q++]=209,K.setInt16(q,e),q+=2):(G[q++]=210,K.setInt32(q,e),q+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){G[q++]=202,K.setFloat32(q,e);let n;if(t<4||(n=e*Ll[(G[q]&127)<<1|G[q+1]>>7])>>0===n){q+=4;return}else q--}G[q++]=203,K.setFloat64(q,e),q+=8}else if(n===`object`||n===`function`)if(!e)G[q++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||=[]).push(n),G[q++]=214,G[q++]=112,K.setUint32(q,n.id),q+=4;return}else i.set(e,{offset:q-t})}let a=e.constructor;if(a===Object)re(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)G[q++]=128;else{r=e.size,r<16?G[q++]=128|r:r<65536?(G[q++]=222,G[q++]=r>>8,G[q++]=r&255):(G[q++]=223,K.setUint32(q,r),q+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=Vl.length;t<n;t++){let n=Hl[t];if(e instanceof n){let n=Vl[t];if(n.write){n.type&&(G[q++]=212,G[q++]=n.type,G[q++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):re(e):y(t);return}let r=G,i=K,a=q;G=null;let o;try{o=n.pack.call(this,e,e=>(G=r,r=null,q+=e,q>Jl&&ae(q),{target:G,targetView:K,position:q-e}),y)}finally{r&&(G=r,K=i,q=a,Jl=G.length-10)}o&&(o.length+q>Jl&&ae(o.length+q),q=nu(o,G,q,n.type));return}}if(Array.isArray(e))v(e);else{if(e.toJSON){let t=e.toJSON();if(t!==e)return y(t)}if(n===`function`)return y(this.writeFunction&&this.writeFunction(e));re(e)}}}else if(n===`boolean`)G[q++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)G[q++]=211,K.setBigInt64(q,e);else if(e<0x10000000000000000&&e>0)G[q++]=207,K.setBigUint64(q,e);else if(this.largeBigIntToFloat)G[q++]=203,K.setFloat64(q,Number(e));else if(this.largeBigIntToString)return y(e.toString());else if(this.useBigIntExtension||this.moreTypes){let t=BigInt(e<0?-1:0),n;if(e>>BigInt(65536)===t){let r=BigInt(0x10000000000000000)-BigInt(1),i=[];for(;i.push(e&r),e>>BigInt(63)!==t;)e>>=BigInt(64);n=new Uint8Array(new BigUint64Array(i).buffer),n.reverse()}else{let t=e<0,r=(t?~e:e).toString(16);if(r.length%2?r=`0`+r:parseInt(r.charAt(0),16)>=8&&(r=`00`+r),Ul)n=Buffer.from(r,`hex`);else{n=new Uint8Array(r.length/2);for(let e=0;e<n.length;e++)n[e]=parseInt(r.slice(e*2,e*2+2),16)}if(t)for(let e=0;e<n.length;e++)n[e]=~n[e]}n.length+q>Jl&&ae(n.length+q),q=nu(n,G,q,66);return}else throw RangeError(e+` was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string`);q+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?G[q++]=192:(G[q++]=212,G[q++]=0,G[q++]=0);else throw Error(`Unknown type: `+n)},ee=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?e=>{let t;if(this.skipValues){t=[];for(let n in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(n))&&!this.skipValues.includes(e[n])&&t.push(n)}else t=Object.keys(e);let n=t.length;n<16?G[q++]=128|n:n<65536?(G[q++]=222,G[q++]=n>>8,G[q++]=n&255):(G[q++]=223,K.setUint32(q,n),q+=4);let r;if(this.coercibleKeyAsNumber)for(let i=0;i<n;i++){r=t[i];let n=Number(r);y(isNaN(n)?r:n),y(e[r])}else for(let i=0;i<n;i++)y(r=t[i]),y(e[r])}:e=>{G[q++]=222;let n=q-t;q+=2;let r=0;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(y(t),y(e[t]),r++);if(r>65535)throw Error(`Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object`);G[n+++t]=r>>8,G[n+t]=r&255},te=this.useRecords===!1?ee:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||=Object.create(null),a=q++-t,o;for(let s in e)if(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(s)){if(n=i[s],n)i=n;else{let c=Object.keys(e),l=i;i=r.transitions;let u=0;for(let e=0,t=c.length;e<t;e++){let t=c[e];n=i[t],n||(n=i[t]=Object.create(null),u++),i=n}a+t+1==q?(q--,oe(i,c,u)):se(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[Ql];n?G[a+t]=n:se(i,Object.keys(e),a,0)}}:e=>{let t,n=r.transitions||=Object.create(null),i=0;for(let r in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(r))&&(t=n[r],t||(t=n[r]=Object.create(null),i++),n=t);let a=n[Ql];a?a>=96&&d?(G[q++]=((a-=96)&31)+96,G[q++]=a>>5):G[q++]=a:oe(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},ne=typeof this.useRecords==`function`&&this.useRecords,re=ne?e=>{ne(e)?te(e):ee(e)}:te,ie=e=>{let i=o._writeStruct(e,G,t,q,r,ae,(e,t,r)=>{if(r)return n=!0;q=t;let i=G;return y(e),_(),i===G?q:{position:q,targetView:K,target:G}});if(i===0)return re(e);q=i},ae=e=>{let n;if(e>16777216){if(e-t>Kl)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(Kl,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,G.length-1)>>12)+1<<12;let r=new Wl(n);return K=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,G.length),G.copy?G.copy(r,0,t,e):r.set(G.slice(t,e)),q-=t,t=0,Jl=r.length-10,G=r},oe=(e,t,i)=>{let a=r.nextId;a||=64,a<f&&this.shouldShareStructure&&!this.shouldShareStructure(t)?(a=r.nextOwnId,a<p||(a=f),r.nextOwnId=a+1):(a>=p&&(a=f),r.nextId=a+1);let o=t.highByte=a>=96&&d?a-96>>5:-1;e[Ql]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(G[q++]=(a&31)+96,G[q++]=o):G[q++]=a):(o>=0?(G[q++]=213,G[q++]=114,G[q++]=(a&31)+96,G[q++]=o):(G[q++]=212,G[q++]=114,G[q++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[Ql]=0),m.push(e),y(t))},se=(e,n,r,i)=>{let a=G,o=q,s=Jl,c=t;G=ql,q=0,t=0,G||(ql=G=new Wl(8192)),Jl=G.length-10,oe(e,n,i),ql=G;let l=q;if(G=a,q=o,Jl=s,t=c,l>1){let e=q+l-1;e>Jl&&ae(e);let n=r+t;G.copyWithin(n+l,n+1,q),G.set(ql.slice(0,l),n),q=e}else G[r+t]=ql[0]}}useBuffer(e){G=e,G.dataView||=new DataView(G.buffer,G.byteOffset,G.byteLength),K=G.dataView,q=0}set position(e){q=e}get position(){return q}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};Hl=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,nl],Vl=[{pack(e,t,n){let r=e.getTime()/1e3;if((this.useTimestamp32||e.getMilliseconds()===0)&&r>=0&&r<4294967296){let{target:e,targetView:n,position:i}=t(6);e[i++]=214,e[i++]=255,n.setUint32(i,r)}else if(r>0&&r<4294967296){let{target:n,targetView:i,position:a}=t(10);n[a++]=215,n[a++]=255,i.setUint32(a,e.getMilliseconds()*4e6+(r/1e3/4294967296>>0)),i.setUint32(a+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return t(0),n(this.onInvalidDate());let{target:e,targetView:r,position:i}=t(3);e[i++]=212,e[i++]=255,e[i++]=255}else{let{target:n,targetView:i,position:a}=t(15);n[a++]=199,n[a++]=12,n[a++]=255,i.setUint32(a,e.getMilliseconds()*1e6),i.setBigInt64(a+4,BigInt(Math.floor(r)))}}},{pack(e,t,n){if(this.setAsEmptyObject)return t(0),n({});let r=Array.from(e),{target:i,position:a}=t(this.moreTypes?3:0);this.moreTypes&&(i[a++]=212,i[a++]=115,i[a++]=0),n(r)}},{pack(e,t,n){let{target:r,position:i}=t(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=101,r[i++]=0),n([e.name,e.message,e.cause])}},{pack(e,t,n){let{target:r,position:i}=t(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=120,r[i++]=0),n([e.source,e.flags])}},{pack(e,t){this.moreTypes?eu(e,16,t):tu(Ul?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==Gl&&this.moreTypes?eu(e,Ml.indexOf(n.name),t):tu(e,t)}},{pack(e,t){this.moreTypes?eu(e,17,t):tu(Ul?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function eu(e,t,n,r){let i=e.byteLength;if(i+1<256){var{target:a,position:o}=n(4+i);a[o++]=199,a[o++]=i+1}else if(i+1<65536){var{target:a,position:o}=n(5+i);a[o++]=200,a[o++]=i+1>>8,a[o++]=i+1&255}else{var{target:a,position:o,targetView:s}=n(7+i);a[o++]=201,s.setUint32(o,i+1),o+=4}a[o++]=116,a[o++]=t,e.buffer||(e=new Uint8Array(e)),a.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),o)}function tu(e,t){let n=e.byteLength;var r,i;if(n<256){var{target:r,position:i}=t(n+2);r[i++]=196,r[i++]=n}else if(n<65536){var{target:r,position:i}=t(n+3);r[i++]=197,r[i++]=n>>8,r[i++]=n&255}else{var{target:r,position:i,targetView:a}=t(n+5);r[i++]=198,a.setUint32(i,n),i+=4}r.set(e,i)}function nu(e,t,n,r){let i=e.length;switch(i){case 1:t[n++]=212;break;case 2:t[n++]=213;break;case 4:t[n++]=214;break;case 8:t[n++]=215;break;case 16:t[n++]=216;break;default:i<256?(t[n++]=199,t[n++]=i):i<65536?(t[n++]=200,t[n++]=i>>8,t[n++]=i&255):(t[n++]=201,t[n++]=i>>24,t[n++]=i>>16&255,t[n++]=i>>8&255,t[n++]=i&255)}return t[n++]=r,t.set(e,n),n+=i,n}function ru(e,t){let n,r=t.length*6,i=e.length-r;for(;n=t.pop();){let t=n.offset,a=n.id;e.copyWithin(t+r,t,i),r-=6;let o=t+r;e[o++]=214,e[o++]=105,e[o++]=a>>24,e[o++]=a>>16&255,e[o++]=a>>8&255,e[o++]=a&255,i=t}return e}function iu(e,t,n){if(Yl.length>0){K.setUint32(Yl.position+e,q+n-Yl.position-e),Yl.stringsPosition=q-e;let r=Yl;Yl=null,t(r[0]),t(r[1])}}function au(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}$l.SUPPORTS_STRUCT_HOOKS=!0;var ou=new $l({useRecords:!1});ou.pack,ou.pack;var{NEVER:su,ALWAYS:cu,DECIMAL_ROUND:lu,DECIMAL_FIT:uu}=zl,du=class extends x()(`effect/rpc/RpcSerialization`){};ua(`MaxBufferSizeExceeded`);var fu=du.of({contentType:`application/json`,includesFraming:!1,makeUnsafe:()=>{let e=new TextDecoder;return{decode:t=>{let n=JSON.parse(typeof t==`string`?t:e.decode(t));return Array.isArray(n)?n:[n]},encode:e=>JSON.stringify(e)}}}),pu=v(du)(fu),mu=e=>Yr(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>Lr(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),D});return b(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return S(function*(){t.add(e),r.set(e,i);let a=n.get(e);if(a){n.delete(e);for(let[e,t]of a)yield*Rr(Yr(()=>i(e)),t)}return yield*jn(Tn,()=>(t.delete(e),r.delete(e),D))})}}))}),hu=0,gu=he(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>hu++),o=yield*di(),s=En(o,an),c=new Map,l=yield*fe(Eu),d=!1;yield*hn(s,be(e=>(d=!0,f(Qi(e.id)))));let f=he(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?un(n.queue):Ae(n.queue,e.cause):n.resume(e)}),p=e=>{let r=aa(e.successSchema),a=g(e);return(o,s)=>{let c=s?.headers?or(s.headers):Xi,l=s?.context??Ge();if(!r){let r=t=>m(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):Oe(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=h(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:bt(b(u,Ci))}},m=(e,n,r,i,o,s,u)=>be(f=>{if(d)return ye;let p=a(),m=P(l)&&l.value.onRequestStart?l.value.onRequestStart({id:p,tag:e._tag,stream:!1}):D,h=n(e=>t.onFromClient({message:e,context:s,discard:u}),{_tag:`Request`,id:p,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:fa(f.getRef(xu),o)});if(u)return m.pipe(yr(h));let g;return Rt(wi(t=>{let n={_tag:`Effect`,rpc:e,context:s,resume(e){t(e),g&&!g.pollUnsafe()&&f.currentDispatcher.scheduleTask(()=>{g.interruptUnsafe(f.id)},0)}};c.set(p,n),g=m.pipe(yr(h),r?Ke(r,{captureStackTrace:!1}):qe,si(f.context)),g.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>{let t=c.get(p);return c.delete(p),yr(er(g),v(p,Array.from(e),s,t?.rpc._tag))})}),h=he(function*(e,r,o,s,u,f){if(d)return yield*ye;let p=i?void 0:yield*dn(`${n}.${e._tag}`,{attributes:t.spanAttributes}),m=Gi(),h=a(),g=P(l)&&l.value.onRequestStart?l.value.onRequestStart({id:h,tag:e._tag,stream:!0}):D,y=Cn(m.context,an);yield*Ce(y,e=>{let t=c.get(h);return t?(c.delete(h),v(h,oi(e)?Array.from(ka(e.cause)):[],f,t.rpc._tag)):D});let ee=yield*_(u);return c.set(h,{_tag:`Queue`,rpc:e,queue:ee,scope:y,context:f,chunkCount:0}),yield*g.pipe(yr(r(e=>t.onFromClient({message:e,context:f,discard:!1}),{_tag:`Request`,id:h,tag:e._tag,payload:o,...p?{traceId:p.traceId,spanId:p.spanId,sampled:p.sampled}:{},headers:fa(m.getRef(xu),s)}))).pipe(p?Ke(p,{captureStackTrace:!1}):qe,Zi(e=>Ae(ee,e)),Le,qr(y,{startImmediately:!0})),ee}),g=e=>{let t=[];for(let n of e.middlewares.values()){let e=o.mapUnsafe.get(`${n.key}/Client`);e&&t.push(e)}return t.length===0?(e,t)=>e(t):function n(r,i,a=t.length-1){return a===-1?r(i):t[a]({rpc:e,request:i,next(e){return n(r,e,a-1)}})}},v=(e,n,r,i)=>(P(l)&&l.value.onRequestInterrupt?l.value.onRequestInterrupt({id:e,tag:i}):D).pipe(yr(wi(i=>{let a=Gi();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(Et(1e3),si(a.context)).addObserver(()=>{i(D)})}))),y=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);if(!i||i._tag!==`Queue`)return D;let a=i.chunkCount+=e.values.length,o=P(l)&&l.value.onRequestChunk?l.value.onRequestChunk({id:n,tag:i.rpc._tag,chunkCount:a}):D;return Je(i.queue,e.values).pipe(yr(o),r?T(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):qe,Zi(e=>Ae(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);if(!n)return D;c.delete(t);let r=P(l)&&l.value.onRequestExit?l.value.onRequestExit({id:t,tag:n.rpc._tag,stream:n._tag===`Queue`,exit:e.exit}):D;return n._tag===`Effect`?r.pipe(yr(u(()=>{n.resume(e.exit)}))):r.pipe(yr(e.exit._tag===`Success`?un(n.queue):Ae(n.queue,e.exit.cause)))}case`Defect`:return f(Hr(e.defect));case`ClientEnd`:return D}},ee;if(t.flatten){let t=new Map;ee=function(n,r,i){let a=t.get(n);return a||(a=p(e.requests.get(n)),t.set(n,a)),a(r,i)}}else ee={},e.requests.forEach(e=>{yt(ee,e._tag,p(e))});return{client:ee,write:y}}),_u=0,vu=he(function*(e,t){let n=_u++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Su,s=new Map,{client:c,write:l}=yield*gu(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?Ic():void 0,c=Gi(),l={rpc:r,context:a?Li(c.context,Fc,a):c.context,schemas:bu(r)};return s.set(t.id,l),l.schemas.encodePayload(t.payload).pipe(Rr(l.context),hr,T(e=>i(n,{...t,id:t.id,payload:e,headers:Object.entries(t.headers)},a&&a.readUnsafe())))}case`Ack`:return s.get(t.requestId)?i(n,{_tag:`Ack`,requestId:t.requestId}):D;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:t.requestId})):D;case`Eof`:return D}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=Hc(e.requestId),n=s.get(t);return!n||Sr(n.schemas.decodeChunk)?D:n.schemas.decodeChunk.value(e.values).pipe(Rr(n.context),hr,T(t=>l({_tag:`Chunk`,clientId:0,requestId:Hc(e.requestId),values:t})),Sn(t=>l({_tag:`Exit`,clientId:0,requestId:Hc(e.requestId),exit:Ti(t)})))}case`Exit`:{let t=Hc(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(Rr(n.context),hr,Ii({onSuccess:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:Ti(e)})}))):D}case`Defect`:return l({_tag:`Defect`,clientId:0,defect:Ou(e.defect)});case`ClientProtocolError`:{let t=Kn(e.error);return ue(s.keys(),e=>l({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return D}}).pipe(Zi(Ua),Le,ft),c}),yu=new WeakMap,bu=e=>{let t=yu.get(e);return t===void 0?(t={decodeChunk:ci(ti(e.successSchema),e=>gi(In(Tt(e.success)))),encodePayload:Wn(In(e.payloadSchema)),decodeExit:gi(In($n(e)))},yu.set(e,t),t):t},xu=Ee(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Xi}),Su=class extends x()(`effect/rpc/RpcClient/Protocol`){static make=mu},Cu=e=>Su.make(he(function*(t,n){let r=yield*en,i=yield*du,a=yield*fe(Du),o=new Map,s=yield*r.writer,c=i.makeUnsafe(),l=yield*Tu(s(c.encode(Uc)),P(a)?a.value:void 0),u,d=Yr(()=>(u=void 0,P(a)?a.value.onConnect:D)),f=e=>ue(n,n=>t(n,e));return yield*Yr(()=>(c=i.makeUnsafe(),l.reset(),r.runRaw(e=>{try{let n=c.decode(e);if(n.length===0)return;let r=0;return fn({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return l.onPong;if(Object.hasOwn(e,`requestId`)){let n=e.requestId,r=o.get(n);if(r!==void 0)return e._tag===`Exit`&&o.delete(n),t(r,e)}return f(e)},step:nn})}catch(e){return f({_tag:`ClientProtocolError`,error:new Vc({reason:new Bc({message:`Error decoding message`,cause:e})})})}},{onOpen:d}).pipe(Ki(T(l.timeout,()=>(P(a)&&a.value.onPingTimeout?a.value.onPingTimeout:D).pipe(yr(j(new le({reason:new Qr({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))))).pipe(T(()=>j(new le({reason:new me({code:1e3})}))),P(a)?ya(a.value.onDisconnect):qe,ot(t=>{let n=Fr(t),r=Nt(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?D:(u=new Vc({reason:r?n.success.reason:new Bc({message:`Unknown socket error`,cause:Zr(t)})}),f({_tag:`ClientProtocolError`,error:u}))}),sa(e?.retryPolicy??wu),_i({module:`RpcClient`,method:`makeProtocolSocket`}),ft),{send(e,t){if(u)return j(u);t._tag===`Request`&&o.set(t.id,e);let n=c.encode(t);return n===void 0?D:hr(s(n))},supportsAck:!0,supportsTransferables:!1}})),wu=r([_n(500,1.5),Vi(5e3)]),Tu=he(function*(e,t){let n=!0,r=0,i=Bn(),a=()=>{n=!0,r=0,i.closeUnsafe()},o=u(()=>{n=!0,r=0}).pipe(yr(t?.onPong??D));return yield*Yr(()=>n?(n=!1,r=0,(t?.onPing??D).pipe(yr(e))):(r+=1,r>=3?i.open:(t?.onPing??D).pipe(yr(e)))).pipe(jr(`5 seconds`),jt,Ct,Le,ft),{timeout:i.await,reset:a,onPong:o}}),Eu=class extends x()(`effect/rpc/RpcClient/RequestHooks`){},Du=class extends x()(`effect/rpc/RpcClient/ConnectionHooks`){},Ou=_r(vt()),ku=class extends x()(`@borgtools/client-runtime/platform/capabilities/BorgDeviceIdentity`){},Au=class extends x()(`@borgtools/client-runtime/platform/capabilities/ClientPresentation`){},ju=class extends x()(`@borgtools/client-runtime/platform/capabilities/PrimaryEnvironmentAuth`){},Mu=class extends x()(`@borgtools/client-runtime/platform/capabilities/SshEnvironmentGateway`){},Nu=class extends x()(`@borgtools/client-runtime/platform/capabilities/BorgTunnelGateway`){},Pu={environmentId:ha,label:w},Fu=class extends ln()(`PrimaryConnectionTarget`,{...Pu,httpBaseUrl:w,wsBaseUrl:w}){},Iu=class extends ln()(`BearerConnectionTarget`,{...Pu,connectionId:w}){},Lu=class extends ln()(`CloudConnectionTarget`,{...Pu,connectionId:w}){},Ru=class extends ln()(`SshConnectionTarget`,{...Pu,connectionId:w}){},zu=class extends ln()(`BorgConnectionTarget`,{...Pu,connectionId:w,deviceId:w}){};Ai([Fu,Iu,Lu,Ru,zu]);var Bu=Ai([Iu,Lu,Ru,zu]),Vu=pt([`network`,`timeout`,`transport`,`endpoint-unavailable`,`borg-unavailable`,`remote-unavailable`]),Hu=pt([`authentication`,`configuration`,`permission`,`unsupported`]),Uu=class extends De()(`ConnectionTransientError`,{reason:Vu,detail:w,traceId:Ir(w)}){get message(){return this.detail}},J=class extends De()(`ConnectionBlockedError`,{reason:Hu,detail:w,traceId:Ir(w)}){get message(){return this.detail}};function Wu(e){switch(e.phase){case`connecting`:return`synchronizing`;case`connected`:return`ready`;case`available`:case`offline`:case`backoff`:case`blocked`:return`disconnected`}}var Gu=Object.freeze({desired:!1,network:`unknown`,phase:`available`,stage:null,attempt:0,generation:0,lastFailure:null,retryAt:null}),Ku={connectionId:w,environmentId:ha,label:w},qu=class extends ln()(`BearerConnectionProfile`,{...Ku,httpBaseUrl:w,wsBaseUrl:w}){},Ju=class extends ln()(`CloudConnectionProfile`,{...Ku,httpBaseUrl:w,wsBaseUrl:w}){},Yu=class extends ln()(`SshConnectionProfile`,{...Ku,target:n}){},Xu=class extends ln()(`BorgConnectionProfile`,{...Ku,borgApiUrl:w,deviceId:w}){},Zu=Ai([qu,Ju,Yu,Xu]),Qu=class extends ln()(`BearerConnectionCredential`,{token:w}){},$u=Ai([Qu]),ed=class extends ln()(`PrimaryConnectionRegistration`,{target:Fu}){},td=class extends ln()(`BearerConnectionRegistration`,{target:Iu,profile:qu,credential:Qu}){},nd=class extends ln()(`CloudConnectionRegistration`,{target:Lu,profile:Ju,credential:Qu}){},rd=class extends ln()(`SshConnectionRegistration`,{target:Ru,profile:Yu}){},id=class extends ln()(`BorgConnectionRegistration`,{target:zu,profile:Xu,credential:Qu}){};Ai([td,nd,rd,id]),Ai([ed,td]);function ad(e){switch(e._tag){case`PrimaryConnectionRegistration`:return{target:e.target,profile:M()};case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`SshConnectionRegistration`:case`BorgConnectionRegistration`:return{target:e.target,profile:k(e.profile)}}}var od=class extends x()(`@borgtools/client-runtime/connection/credentialStore/ConnectionCredentialStore`){},sd=e=>od.of(e),cd=class extends x()(`@borgtools/client-runtime/connection/profileStore/ConnectionProfileStore`){},ld=e=>cd.of(e),ud=class extends x()(`@borgtools/client-runtime/connection/connectivity`){},dd=e=>ud.of(e),fd=e=>v(ud,dd(e)),pd=class extends De()(`ConnectionPersistenceError`,{operation:pt([`list-targets`,`register-connection`,`remove-connection`,`load-shell`,`save-shell`,`load-thread`,`save-thread`,`remove-thread`,`load-server-config`,`save-server-config`,`load-vcs-refs`,`save-vcs-refs`,`remove-vcs-refs`,`clear-vcs-refs`,`clear-environment`]),message:w}){},md=class extends x()(`@borgtools/client-runtime/platform/persistence/ConnectionTargetStore`){},hd=class extends x()(`@borgtools/client-runtime/platform/persistence/ConnectionRegistrationStore`){},gd=class extends x()(`@borgtools/client-runtime/platform/persistence/EnvironmentCacheStore`){},_d=class extends Ee(`@borgtools/client-runtime/platform/persistence/EnvironmentOwnedDataCleanup`,{defaultValue:()=>({clear:()=>D})}){},vd=/^[\u0021\u0023-\u005b\u005d-\u007e]+$/u,yd=class extends De()(`OAuthScopeEncodingError`,{scopes:Sa(w),invalidScopes:Sa(w),duplicateScopes:Sa(w)}){get message(){return`OAuth scopes must be non-empty, syntactically valid, and unique.`}};function bd(e){let t=e.filter(e=>!vd.test(e)),n=new Set,r=new Set;for(let t of e)n.has(t)&&r.add(t),n.add(t);if(e.length===0||t.length>0||r.size>0)throw new yd({scopes:e,invalidScopes:t,duplicateScopes:[...r]});return e.join(` `)}var xd=1e4,Sd=e=>{let t=e?.os;return{...e?.label?{client_label:e.label}:{},...e?.deviceType?{client_device_type:e.deviceType}:{},...t&&t!==`unknown`&&t!==`other`?{client_os:t}:{}}},Cd=(e,t)=>{let n=e=>(e.split(`-`)[0]??e).split(`.`).map(e=>Number.parseInt(e,10)||0),r=n(e),i=n(t),a=Math.max(r.length,i.length);for(let e=0;e<a;e+=1){let t=(r[e]??0)-(i[e]??0);if(t!==0)return t<0}return!1},wd=class extends Error{_tag=`RemoteClientUpdateRequiredError`;currentVersion;requiredVersion;constructor(e,t){super(`Borg ${e} is older than the minimum supported version ${t}. Update the app to continue.`),this.name=`RemoteClientUpdateRequiredError`,this.currentVersion=e,this.requiredVersion=t}},Td=(e,t)=>{let n=e.min_client_app_version?.trim(),r=t?.appVersion?.trim();return n===void 0||n===``||r===void 0||r===``?null:Cd(r,n)?new wd(r,n):null},Ed=(e,t,n)=>{if(t?.surface&&e.searchParams.set(`clientSurface`,t.surface),t?.appVersion&&e.searchParams.set(`clientAppVersion`,t.appVersion),t?.deviceType){let n=t.deviceType===`mobile`?`phone`:t.deviceType===`desktop`||t.deviceType===`tablet`?t.deviceType:`unknown`;e.searchParams.set(`clientDeviceType`,n)}t?.os&&e.searchParams.set(`clientOs`,t.os),t?.surface===`web`&&(t.webDeployment&&e.searchParams.set(`clientWebDeployment`,t.webDeployment),t.browser&&e.searchParams.set(`clientBrowser`,t.browser)),t?.surface===`mobile`&&(t.osMajorVersion!==void 0&&e.searchParams.set(`clientOsMajorVersion`,String(t.osMajorVersion)),t.deviceModel&&e.searchParams.set(`clientDeviceModel`,t.deviceModel)),n&&e.searchParams.set(`connectionMethod`,n)},Dd=E(`clientRuntime.authorization.exchangeRemoteDpopAccessToken`)(function*(e){let t=yield*eo(e.httpBaseUrl),n=yield*Ka($a(e.httpBaseUrl,`/oauth/token`),e.timeoutMs??xd,t.auth.token({headers:{dpop:e.dpopProof},payload:{grant_type:At,subject_token:e.credential,subject_token_type:St,requested_token_type:ie,...e.scopes?{scope:bd(e.scopes)}:{},...Sd(e.clientMetadata)}})),r=Td(n,e.clientMetadata);return r===null?n:yield*j(r)}),Od=E(`clientRuntime.authorization.bootstrapRemoteBearerSession`)(function*(e){let t=yield*eo(e.httpBaseUrl),n=yield*Ka($a(e.httpBaseUrl,`/oauth/token`),e.timeoutMs??xd,t.auth.token({headers:{},payload:{grant_type:At,subject_token:e.credential,subject_token_type:St,requested_token_type:ie,...e.scopes?{scope:bd(e.scopes)}:{},...Sd(e.clientMetadata)}})),r=Td(n,e.clientMetadata);return r===null?n:yield*j(r)});E(`clientRuntime.authorization.fetchRemoteSessionState`)(function*(e){let t=yield*eo(e.httpBaseUrl);return yield*Ka($a(e.httpBaseUrl,`/api/auth/session`),e.timeoutMs??xd,t.auth.session({headers:{authorization:`Bearer ${e.bearerToken}`}}))}),E(`clientRuntime.authorization.fetchRemoteDpopSessionState`)(function*(e){let t=yield*eo(e.httpBaseUrl);return yield*Ka($a(e.httpBaseUrl,`/api/auth/session`),e.timeoutMs??xd,t.auth.session({headers:{authorization:`DPoP ${e.accessToken}`,dpop:e.dpopProof}}))});var kd=E(`clientRuntime.authorization.issueRemoteWebSocketTicket`)(function*(e){let t=yield*eo(e.httpBaseUrl);return yield*Ka($a(e.httpBaseUrl,`/api/auth/websocket-ticket`),e.timeoutMs??xd,t.auth.webSocketTicket({headers:{authorization:`Bearer ${e.bearerToken}`}}))}),Ad=E(`clientRuntime.authorization.issueRemoteDpopWebSocketTicket`)(function*(e){let t=yield*eo(e.httpBaseUrl);return yield*Ka($a(e.httpBaseUrl,`/api/auth/websocket-ticket`),e.timeoutMs??xd,t.auth.webSocketTicket({headers:{authorization:`DPoP ${e.accessToken}`,dpop:e.dpopProof}}))}),jd=E(`clientRuntime.authorization.resolveRemoteWebSocketConnectionUrl`)(function*(e){let t=yield*kd({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,...e.timeoutMs?{timeoutMs:e.timeoutMs}:{}}),n=new URL(to(e.wsBaseUrl));return n.searchParams.set(`wsTicket`,t.ticket),Ed(n,e.clientMetadata,e.connectionMethod),n.toString()}),Md=E(`clientRuntime.authorization.resolveRemoteDpopWebSocketConnectionUrl`)(function*(e){let t=yield*Ad({httpBaseUrl:e.httpBaseUrl,accessToken:e.accessToken,dpopProof:e.dpopProof,...e.timeoutMs?{timeoutMs:e.timeoutMs}:{}}),n=new URL(to(e.wsBaseUrl));return n.searchParams.set(`wsTicket`,t.ticket),Ed(n,e.clientMetadata,e.connectionMethod),n.toString()}),Nd=`Hint: Check that automatic date and time is enabled on both devices, then try again.`,Pd=`Hint: Try again. If it still fails, clock skew may be the cause; check that automatic date and time is enabled on both devices.`,Fd=`Hint: Try again. If the problem continues, copy the trace ID.`;function Id(e){return e===`time_window`?Nd:e===void 0?Pd:Fd}function Ld(e,t){return`${e} ${Id(t)}`}function Rd(e){return new J({reason:`configuration`,detail:`Connection profile ${e} is unavailable.`})}function zd(e){return new J({reason:`authentication`,detail:`Connection credential ${e} is unavailable.`})}function Bd(e){return new J({reason:`configuration`,detail:`Connected environment ${e.actual} does not match ${e.expected}.`})}function Vd(e){switch(e._tag){case`EnvironmentAuthInvalidError`:return new J({reason:`authentication`,detail:`The environment credential is invalid.`,traceId:e.traceId});case`EnvironmentScopeRequiredError`:case`EnvironmentOperationForbiddenError`:return new J({reason:`permission`,detail:`The environment credential does not grant the required access.`,traceId:e.traceId});case`EnvironmentRequestInvalidError`:return new J({reason:`configuration`,detail:`The environment rejected the authentication request.`,traceId:e.traceId});case`EnvironmentResourceNotFoundError`:return new J({reason:`configuration`,detail:`The environment endpoint could not be found.`,traceId:e.traceId});case`RemoteClientUpdateRequiredError`:return new J({reason:`configuration`,detail:e.message});case`RemoteEnvironmentAuthTimeoutError`:return new Uu({reason:`timeout`,detail:e.message});case`RemoteEnvironmentAuthFetchError`:return new Uu({reason:`network`,detail:e.message});case`EnvironmentInternalError`:return new Uu({reason:`remote-unavailable`,detail:`The environment could not authorize the connection.`,traceId:e.traceId});case`RemoteEnvironmentAuthInvalidJsonError`:case`RemoteEnvironmentAuthUndeclaredStatusError`:return new Uu({reason:`remote-unavailable`,detail:e.message})}}function Hd(e){return e._tag===`EnvironmentAuthInvalidError`&&e.reason===`invalid_credential`?new J({reason:`authentication`,detail:Ld(`The environment credential is invalid.`,e.dpopFailureReason),traceId:e.traceId}):Vd(e)}Ai([class extends De()(`DpopKeyLoadError`,{keyStore:pt([`expo-secure-store`,`indexed-db`]),cause:vt()}){get message(){return`Could not load the DPoP proof key.`}},class extends De()(`DpopProofCreationError`,{method:w,url:w,cause:vt()}){get message(){return`Could not create the DPoP proof for ${this.method} ${this.url}.`}}]);var Ud=class extends x()(`@borgtools/client-runtime/authorization/dpopSigner`){},Wd=w.check(wr(1)),Gd=g({httpBaseUrl:Wd,wsBaseUrl:Wd,providerKind:w}),Kd=class extends ae(`@borgtools/client-runtime/authorization/RemoteDpopAccessToken`)({environmentId:ha,label:w,endpoint:Gd,accessToken:w,expiresAtEpochMs:Ne,dpopThumbprint:w}){},qd=class extends x()(`@borgtools/client-runtime/authorization/tokenStore/RemoteDpopAccessTokenStore`){},Jd=e=>qd.of(e),Yd=class extends x()(`@borgtools/client-runtime/authorization/service/RemoteEnvironmentAuthorization`){},Xd=6e4,Zd=3e3,Qd=1e4;function $d(e){return e._tag===`ConnectionTransientError`||e._tag===`ConnectionBlockedError`?e:Hd(e)}var ef=E(`clientRuntime.connection.remote.fetchDescriptor`)(function*(e){return yield*io({httpBaseUrl:e}).pipe(O(Vd))}),tf=lt(Yd,S(function*(){let e=yield*fe(Ud),t={thumbprint:P(e)?e.value.thumbprint:Ln(Error(`No DPoP signer is registered for this client.`)),createProof:t=>P(e)?e.value.createProof(t):Ln(Error(`No DPoP signer is registered for this client.`))},n=yield*Au,r=yield*qd,i=yield*ao,a=yield*co(new Map),o=E(`clientRuntime.connection.remote.authorizeBearer`)(function*(e){let t=yield*ir,r=(yield*so(a)).get(e.expectedEnvironmentId),o=r?.httpBaseUrl===e.httpBaseUrl&&r.validatedAtEpochMs+Qd>t,s=o?r.descriptor:yield*ef(e.httpBaseUrl).pipe(A(ao,i));if(s.environmentId!==e.expectedEnvironmentId)return yield*Bd({expected:e.expectedEnvironmentId,actual:s.environmentId});o||(yield*lo(a,n=>{let r=new Map(n);return r.set(e.expectedEnvironmentId,{httpBaseUrl:e.httpBaseUrl,descriptor:s,validatedAtEpochMs:t}),r}));let c=yield*jd({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,clientMetadata:n.metadata,connectionMethod:e.connectionMethod}).pipe(O(Vd),A(ao,i));return{environmentId:s.environmentId,label:s.label,httpBaseUrl:e.httpBaseUrl,socketUrl:c,httpAuthorization:{_tag:`Bearer`,token:e.bearerToken}}}),s=E(`clientRuntime.connection.remote.createDpopSocketUrl`)(function*(e,r){let a=yield*t.createProof({method:`POST`,url:$a(e.endpoint.httpBaseUrl,`/api/auth/websocket-ticket`),accessToken:e.accessToken}).pipe(O(()=>new J({reason:`configuration`,detail:`Could not create the websocket authorization proof.`})));return yield*Md({wsBaseUrl:e.endpoint.wsBaseUrl,httpBaseUrl:e.endpoint.httpBaseUrl,accessToken:e.accessToken,dpopProof:a,clientMetadata:n.metadata,connectionMethod:`borg`,...r===void 0?{}:{timeoutMs:r}}).pipe(A(ao,i))}),c=E(`clientRuntime.connection.remote.authorizeDpop`)(function*(e){let a=yield*t.thumbprint.pipe(O(()=>new J({reason:`configuration`,detail:`Could not load the environment authorization key.`})),F(`environment.authorization.dpopKey.resolve`)),o=yield*ir,c=yield*r.get(e.expectedEnvironmentId).pipe(F(`environment.authorization.accessToken.cache`));if(P(c)&&c.value.environmentId===e.expectedEnvironmentId&&c.value.dpopThumbprint===a&&c.value.expiresAtEpochMs>o+Xd){yield*ra({"connection.remote_token_cache":`hit`});let t=yield*s(c.value,Zd).pipe(ri);if(Nt(t))return{environmentId:c.value.environmentId,label:c.value.label,httpBaseUrl:c.value.endpoint.httpBaseUrl,socketUrl:t.success,httpAuthorization:{_tag:`Dpop`,accessToken:c.value.accessToken}};if(t.failure._tag===`ConnectionBlockedError`)return yield*$d(t.failure);yield*r.remove(e.expectedEnvironmentId).pipe(F(`environment.authorization.accessToken.remove`))}yield*ra({"connection.remote_token_cache":`miss`});let l=yield*e.obtainBootstrap,u=yield*ef(l.endpoint.httpBaseUrl).pipe(A(ao,i),F(`environment.authorization.descriptor`));if(u.environmentId!==e.expectedEnvironmentId)return yield*Bd({expected:e.expectedEnvironmentId,actual:u.environmentId});let d=yield*t.createProof({method:`POST`,url:$a(l.endpoint.httpBaseUrl,`/oauth/token`)}).pipe(O(()=>new J({reason:`configuration`,detail:`Could not create the environment authorization proof.`}))),f=yield*Dd({httpBaseUrl:l.endpoint.httpBaseUrl,credential:l.credential,dpopProof:d,scopes:n.scopes,clientMetadata:n.metadata}).pipe(O(Hd),A(ao,i),F(`environment.authorization.accessToken.exchange`)),p=yield*ir,m=new Kd({environmentId:u.environmentId,label:u.label,endpoint:l.endpoint,accessToken:f.access_token,expiresAtEpochMs:p+f.expires_in*1e3,dpopThumbprint:a}),h=yield*s(m).pipe(O($d));return yield*r.put(m).pipe(F(`environment.authorization.accessToken.persist`)),{environmentId:u.environmentId,label:u.label,httpBaseUrl:l.endpoint.httpBaseUrl,socketUrl:h,httpAuthorization:{_tag:`Dpop`,accessToken:m.accessToken}}});return Yd.of({authorizeBearer:o,authorizeDpop:e=>c(e).pipe(F(`environment.authorization`))})}));function nf(e){let t=e.borgApiUrl.endsWith(`/`)?e.borgApiUrl:`${e.borgApiUrl}/`,n=new URL(`/ws/v2/tunnel-client`,t);return n.protocol=n.protocol===`http:`?`ws:`:`wss:`,n.searchParams.set(`ticket`,e.ticket),n.toString()}function rf(e){let t=new URL(e,`http://tunnel.invalid`);return`${t.pathname}${t.search}`}function af(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function of(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}var sf=class extends EventTarget{static CONNECTING=0;static OPEN=1;static CLOSING=2;static CLOSED=3;CONNECTING=0;OPEN=1;CLOSING=2;CLOSED=3;readyState=0;binaryType=`arraybuffer`;url;onopen=null;onmessage=null;onclose=null;onerror=null;#e=null;#t=``;#n=0;#r=[];constructor(e,t){super(),this.url=e,this.#i(e,t)}async#i(e,t){try{let n=await t.openTunnel();this.#t=n.tunnelId;let r=(t.webSocketConstructor??(e=>new WebSocket(e)))(nf({borgApiUrl:t.borgApiUrl,ticket:n.ticket}));r.binaryType=`arraybuffer`,this.#e=r,r.addEventListener(`open`,()=>{r.send(JSON.stringify({version:1,kind:`tunnel.open`,tunnelId:this.#t,deviceId:t.deviceId,streamKind:`ws`,path:rf(e),headers:{},hasBody:!1})),this.readyState=this.OPEN,this.#o();let n=new Event(`open`);this.onopen?.(n),this.dispatchEvent(n)}),r.addEventListener(`message`,e=>this.#a(e)),r.addEventListener(`close`,()=>this.#c(1006,`carrier closed`)),r.addEventListener(`error`,()=>{let e=new Event(`error`);this.onerror?.(e),this.dispatchEvent(e)})}catch{this.#c(1006,`tunnel unavailable`)}}#a(e){let t=typeof e.data==`string`?e.data:new TextDecoder().decode(e.data),n;try{n=JSON.parse(t)}catch{return}if(n.tunnelId===this.#t){if(n.kind===`tunnel.data`&&typeof n.bytesBase64==`string`){let e=new MessageEvent(`message`,{data:of(n.bytesBase64).buffer});this.onmessage?.(e),this.dispatchEvent(e);return}(n.kind===`tunnel.close`||n.kind===`tunnel.error`)&&this.#c(n.code??1e3,n.reason??`tunnel closed`)}}#o(){let e=this.#r;this.#r=[];for(let t of e)this.#s(t)}#s(e){let t=this.#e;if(t===null||t.readyState!==1){this.#r.push(e);return}t.send(JSON.stringify({version:1,kind:`tunnel.data`,tunnelId:this.#t,sequence:this.#n++,bytesBase64:af(e),final:!1}))}send(e){let t=typeof e==`string`?new TextEncoder().encode(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e);this.#s(t)}close(e,t){let n=this.#e;n!==null&&n.readyState===1&&n.send(JSON.stringify({version:1,kind:`tunnel.close`,tunnelId:this.#t,...e===void 0?{}:{code:e},...t===void 0?{}:{reason:t}})),this.#c(e??1e3,t??`closed`)}#c(e,t){if(this.readyState===this.CLOSED)return;this.readyState=this.CLOSED,this.#e?.close(),this.#e=null;let n=new CloseEvent(`close`,{code:e,reason:t,wasClean:e===1e3});this.onclose?.(n),this.dispatchEvent(n)}};function cf(e){return t=>new sf(t,e)}var lf=3e4;function uf(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function df(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function ff(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function pf(e,t){return new Promise((n,r)=>{let i=!1,a=null,o=[],s=0,c={},l=e=>{i||(i=!0,clearTimeout(u),a?.close(),`ok`in e?n(e.ok):r(e.error))},u=setTimeout(()=>l({error:Error(`Borg tunnel request timed out.`)}),lf);(async()=>{try{let n=await e.openTunnel(),r=(e.webSocketConstructor??(e=>new WebSocket(e)))(nf({borgApiUrl:e.borgApiUrl,ticket:n.ticket}));a=r,r.binaryType=`arraybuffer`,r.addEventListener(`open`,()=>{r.send(JSON.stringify({version:1,kind:`tunnel.open`,tunnelId:n.tunnelId,deviceId:e.deviceId,streamKind:`http`,method:t.method,path:t.path,headers:t.headers,hasBody:t.body!==null})),t.body!==null&&r.send(JSON.stringify({version:1,kind:`tunnel.data`,tunnelId:n.tunnelId,sequence:0,bytesBase64:uf(t.body),final:!0}))}),r.addEventListener(`message`,e=>{let t=typeof e.data==`string`?e.data:new TextDecoder().decode(e.data),r;try{r=JSON.parse(t)}catch{return}if(r.tunnelId===n.tunnelId){if(r.kind===`tunnel.headers`){s=r.status??0,c=r.headers??{};return}if(r.kind===`tunnel.data`&&typeof r.bytesBase64==`string`){o.push(df(r.bytesBase64)),r.final===!0&&s!==0&&l({ok:{status:s,headers:c,body:ff(o)}});return}if(r.kind===`tunnel.close`){l(s===0?{error:Error(`Borg tunnel closed before a response arrived.`)}:{ok:{status:s,headers:c,body:ff(o)}});return}r.kind===`tunnel.error`&&l({error:Error(r.message??`Borg tunnel stream failed.`)})}}),r.addEventListener(`close`,()=>l({error:Error(`Borg tunnel closed before a response arrived.`)})),r.addEventListener(`error`,()=>l({error:Error(`Borg tunnel transport failed.`)}))}catch(e){l({error:e instanceof Error?e:Error(`Borg tunnel unavailable.`)})}})()})}function mf(e){return Ya(t=>S(function*(){let n=new URL(t.url,`http://tunnel.invalid`),r=t.body._tag===`Uint8Array`?t.body.body:t.body._tag===`Empty`?null:yield*new vr({reason:new o({request:t,description:`Borg tunnel supports only in-memory request bodies.`})}),i=yield*$e({try:()=>pf(e,{method:t.method,path:`${n.pathname}${n.search}`,headers:t.headers,body:r}),catch:e=>new vr({reason:new Vr({request:t,cause:e})})});return Ha(t,new Response(i.body.length===0?null:i.body,{status:i.status,headers:i.headers}))}))}var hf=`http://127.0.0.1:3773`,gf=`ws://127.0.0.1:3773`,_f=class extends x()(`@borgtools/client-runtime/connection/resolver/ConnectionResolver`){},vf=da(qu),yf=da(Ju),bf=da(Ai([qu,Ju])),xf=da(Yu),Sf=da(Xu),Cf=da(Qu);function wf(e,t){let n=new URL(to(e.wsBaseUrl));return Ed(n,t,`direct`),n.toString()}var Tf=E(`clientRuntime.connection.broker.makePrimary`)(function*(){let e=yield*ju,t=yield*Au,n=yield*Yd;return E(`clientRuntime.connection.broker.primary`)(function*(r){let i=yield*e.bearerToken;return Sr(i)?{environmentId:r.environmentId,label:r.label,httpBaseUrl:r.httpBaseUrl,socketUrl:wf(r,t.metadata),httpAuthorization:null,target:r}:{...yield*n.authorizeBearer({expectedEnvironmentId:r.environmentId,httpBaseUrl:r.httpBaseUrl,wsBaseUrl:r.wsBaseUrl,bearerToken:i.value,connectionMethod:`direct`}),target:r}})}),Ef=E(`clientRuntime.connection.broker.makeBearer`)(function*(){let e=yield*od,t=yield*Yd;return E(`clientRuntime.connection.broker.bearer`)(function*(n){let r=n.target,i=yield*Pr(n.profile,{onNone:()=>j(Rd(r.connectionId)),onSome:C});if(!(r._tag===`CloudConnectionTarget`?yf(i):vf(i))||!bf(i))return yield*new J({reason:`configuration`,detail:`Connection profile ${r.connectionId} does not match ${r._tag}.`});if(i.environmentId!==r.environmentId)return yield*Bd({expected:r.environmentId,actual:i.environmentId});let a=yield*e.get(r.connectionId).pipe(T(Pr({onNone:()=>j(zd(r.connectionId)),onSome:C})));if(!Cf(a))return yield*zd(r.connectionId);let o=yield*t.authorizeBearer({expectedEnvironmentId:r.environmentId,httpBaseUrl:i.httpBaseUrl,wsBaseUrl:i.wsBaseUrl,bearerToken:a.token,connectionMethod:`direct`});return{environmentId:o.environmentId,label:o.label,httpBaseUrl:o.httpBaseUrl,socketUrl:o.socketUrl,httpAuthorization:o.httpAuthorization,target:r}})}),Df=E(`clientRuntime.connection.broker.makeSsh`)(function*(){let e=yield*cd,t=yield*Mu,n=yield*Yd;return E(`clientRuntime.connection.broker.ssh`)(function*(r){let i=r.target,a=yield*Pr(r.profile,{onNone:()=>j(Rd(i.connectionId)),onSome:C});if(!xf(a))return yield*new J({reason:`configuration`,detail:`Connection profile ${i.connectionId} is not an SSH connection.`});if(a.environmentId!==i.environmentId)return yield*Bd({expected:i.environmentId,actual:a.environmentId});let o=yield*t.prepare({connectionId:i.connectionId,expectedEnvironmentId:i.environmentId,target:a.target});yield*e.put(new Yu({connectionId:a.connectionId,environmentId:a.environmentId,label:a.label,target:o.bootstrap.target}));let s=yield*n.authorizeBearer({expectedEnvironmentId:i.environmentId,httpBaseUrl:o.bootstrap.httpBaseUrl,wsBaseUrl:o.bootstrap.wsBaseUrl,bearerToken:o.bearerToken,connectionMethod:`ssh`});return{environmentId:s.environmentId,label:s.label,httpBaseUrl:s.httpBaseUrl,socketUrl:s.socketUrl,httpAuthorization:s.httpAuthorization,target:i}})}),Of=E(`clientRuntime.connection.broker.makeBorg`)(function*(){let e=yield*od,t=yield*Nu,n=yield*Yd;return E(`clientRuntime.connection.broker.borg`)(function*(r){let i=r.target,a=yield*Pr(r.profile,{onNone:()=>j(Rd(i.connectionId)),onSome:C});if(!Sf(a))return yield*new J({reason:`configuration`,detail:`Connection profile ${i.connectionId} is not a Borg tunnel connection.`});if(a.environmentId!==i.environmentId)return yield*Bd({expected:i.environmentId,actual:a.environmentId});if(!(yield*t.isDeviceOnline(a.deviceId)))return yield*new Uu({reason:`borg-unavailable`,detail:`${i.label} is not reachable through Borg right now.`});let o=yield*e.get(i.connectionId).pipe(T(Pr({onNone:()=>j(zd(i.connectionId)),onSome:C})));if(!Cf(o))return yield*zd(i.connectionId);let s=ga(yield*di()),c={borgApiUrl:a.borgApiUrl,deviceId:a.deviceId,openTunnel:()=>s(t.openTunnel())},l=cf(c),u=yield*n.authorizeBearer({expectedEnvironmentId:i.environmentId,httpBaseUrl:hf,wsBaseUrl:gf,bearerToken:o.token,connectionMethod:`borg`}).pipe(A(ao,mf(c)));return{environmentId:u.environmentId,label:u.label,httpBaseUrl:u.httpBaseUrl,socketUrl:u.socketUrl,httpAuthorization:u.httpAuthorization,target:i,socketConstructor:l}})}),kf=lt(_f,S(function*(){let e=yield*Tf(),t=yield*Ef(),n=yield*Df(),r=yield*Of(),i=E(`clientRuntime.connection.broker.prepare`)(function*(i){let a=i.target;switch(yield*ra({"connection.environment.id":a.environmentId,"connection.target.kind":a._tag}),a._tag){case`PrimaryConnectionTarget`:return yield*e(a);case`BearerConnectionTarget`:case`CloudConnectionTarget`:return yield*t({...i,target:a});case`SshConnectionTarget`:return yield*n({...i,target:a});case`BorgConnectionTarget`:return yield*r({...i,target:a})}});return _f.of({prepare:i})})),Af=vu(Wi),jf=class extends x()(`@borgtools/client-runtime/searchAtlas/credentialSource/SearchAtlasCredentialSource`){};function Mf(e){if(e.environmentThemes===void 0)return e;let{environmentThemes:t,...n}=e;return n}function Nf(e,t){switch(t.type){case`snapshot`:{let n=t.config.environment.capabilities.environmentThemes===!0&&P(e)?e.value.config.environmentThemes:void 0;return k({config:n===void 0?t.config:{...t.config,environmentThemes:n},latestEvent:t,source:`live`})}case`keybindingsUpdated`:return ci(e,e=>({config:{...e.config,keybindings:t.payload.keybindings,issues:t.payload.issues},latestEvent:t,source:`live`}));case`providerStatuses`:return ci(e,e=>({config:{...e.config,providers:t.payload.providers},latestEvent:t,source:`live`}));case`settingsUpdated`:return ci(e,e=>({config:{...e.config,settings:t.payload.settings},latestEvent:t,source:`live`}));case`environmentThemesUpdated`:return ci(e,e=>({config:{...e.config,environmentThemes:t.payload.themes.length>0?t.payload.themes:void 0},latestEvent:t,source:`live`}))}}var Pf=`15 seconds`,Ff=class extends x()(`@borgtools/client-runtime/rpc/session/RpcSessionFactory`){};function If(e){let t={version:1,type:`snapshot`,config:Mf(e.projection.config)};return e.themesEvent===void 0?[t]:[t,e.themesEvent]}function Lf(e){switch(e._tag){case`EnvironmentAuthorizationError`:return new J({reason:`permission`,detail:e.message});case`KeybindingsConfigParseError`:case`ServerSettingsError`:return new Uu({reason:`remote-unavailable`,detail:e.message});case`RpcClientError`:return new Uu({reason:`transport`,detail:e.message})}}var Rf=E(`RpcSessionFactory.make`)(function*(e={}){let t=yield*p,n=yield*fe(jf),r=e.environmentThemes===!0?{environmentThemes:!0}:{},i=he(function*(e){yield*ra({"connection.environment.id":e.environmentId});let i=yield*yi(),o=yield*yi(),l=Du.of({onConnect:Ui(i,void 0).pipe(Gn),onDisconnect:ia(i).pipe(T(t=>a(o,new Uu({reason:`transport`,detail:t?`${e.label} disconnected.`:`${e.label} could not establish a WebSocket connection.`}))),Gn)}),u=Kr(e.socketUrl,{openTimeout:Pf}).pipe(Ut(v(p,e.socketConstructor??t))),d=yield*f(lt(Su,Cu({retryTransientErrors:!1,retryPolicy:hi(0)})).pipe(Ut(nt(u,pu,v(Du,l))))).pipe(F(`environment.websocket.connect`)),m=yield*Af.pipe(Ri(d)),h=yield*yi(),g=yield*yi(),_=yield*yi(),y=yield*co(M()),ee=yield*mr(64),te=new Uu({reason:`remote-unavailable`,detail:`${e.label} config subscription ended.`}),ne=m[N.subscribeServerConfig](r).pipe(_a(e=>S(function*(){let t=yield*no(y,t=>{let n=Nf(ci(t,e=>e.projection),e);if(Sr(n))return[M(),t];let r={projection:n.value,revision:Pr(t,{onNone:()=>1,onSome:e=>e.revision+1}),themesEvent:e.type===`environmentThemesUpdated`?e:e.type===`snapshot`&&e.config.environment.capabilities.environmentThemes!==!0?void 0:lr(t)?.themesEvent};return[k({event:e,replay:r,revision:r.revision}),k(r)]});P(t)&&(yield*Pt(ee,t.value)),e.type===`snapshot`&&(yield*Ui(h,e.config))})),jn(e=>ma(e)?s([Ui(g,void 0),a(_,te)]).pipe(Gn):La(e.cause)?D:s([br(g,e.cause),br(_,pe(e.cause,Lf))]).pipe(Gn))),re=yield*yi();yield*(e.target._tag!==`CloudConnectionTarget`||Sr(n)?D:n.value.current.pipe(T(Pr({onNone:()=>j(new Uu({reason:`remote-unavailable`,detail:`${e.label} needs your Search Atlas sign-in before it can be used.`})),onSome:e=>m[N.searchAtlasSetCredential](e).pipe(O(e=>e._tag===`RpcClientError`?new Uu({reason:`transport`,detail:e.message}):new J({reason:`permission`,detail:e.message})))})),Gn,F(`environment.credentialPush`))).pipe(We({onFailure:e=>s([a(re,e),a(_,e)]).pipe(Gn),onSuccess:()=>Ui(re,void 0).pipe(yr(ne))}),ft);let ie=Ki(Ki(Ft(h),Ft(g).pipe(O(Lf),T(()=>j(te)))),Ft(re).pipe(yr(Tn))).pipe(F(`environment.initialSync`)),ae=bt(S(function*(){let e=yield*$i(ee);yield*Ki(Ft(h).pipe(Gn),Ft(g));let t=yield*so(y);if(Sr(t))return An;let n=Ji(e).pipe(ta(e=>e.revision>t.value.revision),la(()=>t.value.revision,(e,t)=>[t.revision,t.revision===e+1?[t.event]:If(t.replay)])),r=Bi(Ft(g)).pipe(xn);return Fi(zr(If(t.value)),Cr(n,r,{haltStrategy:`either`}))})).pipe(gn(t=>La(t)?gr(t):c(new Vc({reason:new Bc({message:`${e.label} config subscription failed.`,cause:t})})))),oe=e=>st(e,r)?ae:m[N.subscribeServerConfig](e),se=ie.pipe(T(e=>(e.environment.capabilities.connectionProbe===!0?m[N.serverProbe]({}):m[N.serverGetConfig]({})).pipe(O(Lf))),Gn,F(`clientRuntime.connection.rpcSession.probe`));return{client:m,initialConfig:ie,subscribeServerConfig:oe,ready:Ft(i).pipe(yr(ie),Gn,Ki(Ft(o))),probe:se,closed:Ki(Ft(o),Ft(_))}});return Ff.of({connect:i})}),zf=e=>lt(Ff,Rf(e));zf({});var Bf=class extends x()(`@borgtools/client-runtime/connection/driver/ConnectionDriver`){},Vf=lt(Bf,S(function*(){let e=yield*_f,t=yield*Ff,n=E(`ConnectionDriver.connect`)(function*(n,r){let i=n.target;yield*ra({"connection.environment.id":i.environmentId,"connection.target.kind":i._tag}),yield*r({stage:`preparing`});let a=yield*e.prepare(n);yield*r({stage:`opening`,prepared:a});let o=yield*t.connect(a);return yield*r({stage:`synchronizing`,prepared:a}),yield*o.ready,{prepared:a,session:o}});return Bf.of({connect:n})})),Hf=/^(?:Error|EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError|AggregateError|DOMException|[A-Za-z][A-Za-z0-9]*(?:Error|Failure))$/,Uf=/^[A-Za-z0-9._:-]{1,128}$/,Wf=32;function Gf(e){return typeof e==`string`&&Hf.test(e)?e:void 0}function Kf(e){try{let t=new URL(e);return t.username=``,t.password=``,t.search=``,t.hash=``,t.toString()}catch{return e}}function qf(e){return e.replace(/(?:https?|file):\/\/[^\s)]+/g,Kf)}function Jf(e){try{let t=e.stack?.split(/\r?\n/).filter(e=>/^\s*at\s+/.test(e)||/^[^@\s]+@(?:https?|file):\/\//.test(e)).slice(0,Wf).map(qf);return t&&t.length>0?t.join(`
|
|
3
|
-
`):void 0}catch{return}}function Yf(e){try{return typeof e!=`object`||!e?void 0:Gf(e._tag)}catch{return}}function Xf(e){try{let t=new Set,n=e;for(;typeof n==`object`&&n&&!t.has(n);){t.add(n);let e=n;if(typeof e.traceId==`string`&&Uf.test(e.traceId))return e.traceId;n=e.cause}return}catch{return}}function Zf(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)??String(e)}catch{try{return String(e)}catch{return`<unstringifiable defect>`}}}function Qf(e,t){let n=Yf(e),r=Xf(e),i=t?.includeRawDefect?Zf(e):void 0;if(e instanceof Error){let t=Gf(e.name),a=Jf(e);return{errorType:`error`,...t===void 0?{}:{errorName:t},...n===void 0?{}:{errorTag:n},...r===void 0?{}:{traceId:r},...a===void 0?{}:{stack:a},...i===void 0?{}:{rawDefect:i}}}return{errorType:e===null?`null`:Array.isArray(e)?`array`:typeof e==`object`?`object`:`primitive`,...n===void 0?{}:{errorTag:n},...r===void 0?{}:{traceId:r},...i===void 0?{}:{rawDefect:i}}}var $f=new Set;function ep(e){return $f.add(e),()=>{$f.delete(e)}}function tp(){for(let e of[...$f])e()}function np(e){return e===`application-active`||e===`application-active-probe`||e===`application-active-reconnect`}function rp(e){return e===`application-active`||e===`application-active-probe`}var ip=class extends x()(`@borgtools/client-runtime/connection/wakeups/ConnectionWakeups`){},ap=e=>ip.of(e),op=e=>v(ip,ap(e)),sp=[3e3,4e3,8e3,16e3],cp=`15 seconds`,lp=`15 seconds`,up=`3 seconds`,dp=3e4;function fp(e){return Ii(e,{onFailure:e=>va(e)?ye:C(Ti(e)),onSuccess:e=>C(pr(e))})}function pp(e){return sp[Math.min(e,sp.length-1)]??16e3}function mp(e){return ra({"environment.id":e.environmentId,"environment.label":e.label,"environment.target.kind":e._tag})}function hp(e,t){return{desired:!1,network:e.network,phase:`available`,stage:null,attempt:0,generation:t,lastFailure:null,retryAt:null}}function gp(e,t,n,r){return{desired:!0,network:e.network,phase:`offline`,stage:null,attempt:n,generation:t,lastFailure:r,retryAt:null}}function _p(e,t,n,r,i=`preparing`){return{desired:!0,network:e.network,phase:`connecting`,stage:i,attempt:n,generation:t,lastFailure:r,retryAt:null}}function vp(e,t,n,r){if(ma(t)||La(t.cause))return{_tag:`Interrupted`,established:n,stable:r,resetRetry:!1};let i=t.cause.reasons.find(Ta);return i?{_tag:`Failure`,established:n,stable:r,failure:i.error}:{_tag:`Failure`,established:n,stable:r,failure:{error:new Uu({reason:`transport`,detail:`${e.label} connection failed unexpectedly.`}),attemptSpan:M()}}}var yp=class extends x()(`@borgtools/client-runtime/connection/supervisor/EnvironmentSupervisor`){},bp=E(`EnvironmentSupervisor.make`)(function*(e,t){let n=e.target;yield*mp(n);let r=yield*ud,i=yield*Bf,a=yield*ip,o={desired:t?.initiallyDesired??!1,network:yield*r.status},c=yield*co(o),l=yield*Dn(),u=yield*co(!1),d=yield*co(!1),f=yield*Bo(o.desired?o.network===`offline`?gp(o,0,0,null):_p(o,0,1,null):hp(o,0)),p=yield*Bo(M()),m=yield*Bo(M()),h=s([Uo(p,M()),Uo(m,M())],{discard:!0}),g=E(`EnvironmentSupervisor.setState`)(function*(e){yield*Uo(f,e)}),_=E(`EnvironmentSupervisor.signal`)(function*(e){yield*Se(l,e)}),v=E(`EnvironmentSupervisor.reportProgress`)(function*(e,t,n,r){`prepared`in r&&(yield*Uo(m,k(r.prepared))),yield*g(_p(yield*so(c),t,e,n,r.stage))}),y=he(function*(t,n,r){return yield*i.connect(e,e=>v(t,n,r,e))}),ee=he(function*(e,t,n,r){return yield*y(e,t,n).pipe(b(e=>({attemptSpan:M(),lease:e})),O(e=>({error:e,attemptSpan:M()})))}),te=he(function*(){for(;;){let e=yield*vn(l);switch(e._tag){case`DisconnectRequested`:case`RetryRequested`:return!1;case`NetworkChanged`:if(e.network===`offline`)return!1;break;case`ConnectRequested`:break;case`Wakeup`:if(e.reason===`application-active-reconnect`)return!0;break}}}),ne=he(function*(e){for(;;){let t=yield*vn(l);switch(t._tag){case`DisconnectRequested`:case`RetryRequested`:return!1;case`NetworkChanged`:if(t.network===`offline`)return!1;break;case`Wakeup`:if(t.reason===`application-active-reconnect`)return!0;if(t.reason===`application-active`||t.reason===`application-active-probe`){let r=yield*e.session.probe.pipe(Pe({duration:t.reason===`application-active-probe`?up:lp,orElse:()=>j(new Uu({reason:`timeout`,detail:`${n.label} did not respond to a connection health check.`}))}),$r);for(;;){let e=yield*Ki(bi(r).pipe(b(e=>({_tag:`ProbeCompleted`,exit:e}))),vn(l).pipe(b(e=>({_tag:`Signal`,signal:e}))));if(e._tag===`ProbeCompleted`){oi(e.exit)&&(yield*Wa(d,!0)),yield*e.exit;break}switch(e.signal._tag){case`DisconnectRequested`:case`RetryRequested`:return yield*er(r),!1;case`NetworkChanged`:if(e.signal.network===`offline`)return yield*er(r),!1;break;case`Wakeup`:if(e.signal.reason===`application-active-reconnect`)return yield*er(r),!0;break;case`ConnectRequested`:break}}}break;case`ConnectRequested`:break}}}),ie=he(function*(e,t,r,i){yield*Uo(m,M());let a=yield*xi([fp(ee(e,t,r,i)).pipe(b(e=>({_tag:`Completed`,exit:e}))),te().pipe(b(e=>({_tag:`Interrupted`,resetRetry:e}))),oe(cp).pipe(Hi({_tag:`TimedOut`}))]);if(a._tag===`Interrupted`)return{_tag:`Interrupted`,established:!1,stable:!1,resetRetry:a.resetRetry};if(a._tag===`TimedOut`)return{_tag:`Failure`,established:!1,stable:!1,failure:{error:new Uu({reason:`timeout`,detail:`${n.label} did not respond during connection setup.`}),attemptSpan:M()}};if(oi(a.exit)){let e=!La(a.exit.cause)&&!a.exit.cause.reasons.some(Ta),t=vp(n,a.exit,!1,!1);if(e){let e=a.exit.cause.reasons.find(re)?.defect;yield*Ua(`Connection attempt failed with an unexpected defect.`).pipe(_i({"environment.id":n.environmentId,"environment.label":n.label,"cause.reason_count":a.exit.cause.reasons.length,...Qf(e)}))}return t}let o=a.exit.value,s=yield*so(c);if(!s.desired||s.network===`offline`)return{_tag:`Interrupted`,established:!1,stable:!1,resetRetry:!1};let l=yield*ir;yield*Uo(m,k(o.lease.prepared)),yield*Uo(p,k(o.lease.session)),yield*g({desired:!0,network:s.network,phase:`connected`,stage:null,attempt:e,generation:t,lastFailure:null,retryAt:null});let u=yield*Ki(o.lease.session.closed.pipe(O(e=>({error:e,attemptSpan:o.attemptSpan}))),ne(o.lease).pipe(O(e=>({error:e,attemptSpan:o.attemptSpan})))).pipe(fp),d=(yield*ir)-l;return ma(u)?{_tag:`Interrupted`,established:!0,stable:d>=dp,resetRetry:u.value}:vp(n,u,!0,d>=dp)},ya(h)),ae=he(function*(e){return yield*Ki(oe(e).pipe(Hi(!1)),S(function*(){for(;;){let e=yield*vn(l);switch(e._tag){case`Wakeup`:return np(e.reason);case`ConnectRequested`:case`DisconnectRequested`:case`RetryRequested`:case`NetworkChanged`:return!1}}}))}),se=vn(l).pipe(b(e=>e._tag===`Wakeup`&&np(e.reason))),ce=he(function*(){let e=0,t=0,n=null,r=M(),i=()=>{e=0,r=M()};for(;;){(yield*oo(u,!1))&&(e=0,n=null,r=M());let a=yield*so(c);if(!a.desired){i(),n=null,yield*h,yield*g(hp(a,t)),yield*se;continue}if(a.network===`offline`){yield*h,yield*g(gp(a,t,e+1,n)),(yield*se)&&i();continue}let o=e+1,s=t+1,l=yield*Ca(ie(o,s,n,r)),f=yield*oo(d,!1);if(l.established&&(t=s,l.stable&&(i(),n=null)),l._tag===`Interrupted`){l.resetRetry&&i();continue}let p=l.failure.attemptSpan,m=l.failure.error;if(n=m,m._tag===`ConnectionBlockedError`){let e=yield*so(c);yield*g({desired:e.desired,network:e.network,phase:`blocked`,stage:null,attempt:o,generation:t,lastFailure:m,retryAt:null}),(yield*se)&&i();continue}if(f){i(),yield*g(_p(yield*so(c),t,1,m));continue}e+=1;let _=pp(e-1);r=ci(p,t=>({previousAttempt:t,failureCount:e,delayMs:_,reason:m.reason}));let v=yield*so(c);yield*g({desired:v.desired,network:v.network,phase:`backoff`,stage:null,attempt:o,generation:t,lastFailure:m,retryAt:(yield*ir)+_}),(yield*ae(_))&&i()}});yield*r.changes.pipe(_a(e=>no(c,t=>t.network===e?[!1,t]:[!0,{...t,network:e}]).pipe(T(t=>t?_({_tag:`NetworkChanged`,network:e}):D))),ft),yield*a.changes.pipe(_a(e=>_({_tag:`Wakeup`,reason:e})),ft),yield*ce().pipe(ft);let le=lo(c,e=>({...e,desired:!0})).pipe(yr(_({_tag:`ConnectRequested`})),F(`EnvironmentSupervisor.connect`)),ue=lo(c,e=>({...e,desired:!1})).pipe(yr(_({_tag:`DisconnectRequested`})),F(`EnvironmentSupervisor.disconnect`)),de=Wa(u,!0).pipe(yr(_({_tag:`RetryRequested`})),F(`EnvironmentSupervisor.retryNow`));return yield*It(()=>Ve(l).pipe(yr(h))),yp.of({target:n,state:f,session:p,prepared:m,connect:le,disconnect:ue,retryNow:de})}),xp=da(Yu),Sp=class extends De()(`EnvironmentNotRegisteredError`,{environmentId:ha}){get message(){return`Environment ${this.environmentId} is not registered.`}},Cp=class extends De()(`PlatformEnvironmentRemovalError`,{environmentId:ha}){get message(){return`Platform-managed environment ${this.environmentId} cannot be removed.`}},wp=class extends x()(`@borgtools/client-runtime/connection/registry/EnvironmentRegistry`){},Tp=lt(wp,S(function*(){let e=yield*an,t=yield*md,n=yield*hd,r=yield*gd,i=yield*_d,a=yield*cd,o=yield*od,c=yield*ud,l=yield*Bf,u=yield*ip,d=yield*Mu,f=yield*t.list,p=yield*Bo(new Map(yield*ue(f,E(`EnvironmentRegistry.loadCatalogEntry`)(function*(e){let t=e._tag===`PrimaryConnectionTarget`?M():yield*a.get(e.connectionId);return[e.environmentId,{target:e,profile:t}]}),{concurrency:`unbounded`}))),m=yield*Bo(yield*c.status),h=yield*Bo(new Map),g=yield*co(new Set),_=yield*co(new Map(f.map(e=>[e.environmentId,e]))),v=yield*co(new Map),ee=yield*Ht(1),te=yield*co(!1),re=(e,t)=>kn(ee.withPermits(1)(S(function*(){let t=yield*so(v),n=t.get(e);if(n!==void 0)return yield*Wa(v,new Map(t).set(e,{semaphore:n.semaphore,users:n.users+1})),n.semaphore;let r=yield*Ht(1);return yield*Wa(v,new Map(t).set(e,{semaphore:r,users:1})),r})),e=>e.withPermits(1)(t),t=>ee.withPermits(1)(lo(v,n=>{let r=n.get(e);if(r===void 0||r.semaphore!==t)return n;let i=new Map(n);return r.users===1?i.delete(e):i.set(e,{semaphore:t,users:r.users-1}),i}))).pipe(F(`EnvironmentRegistry.withLeaseLock`)),ie=E(`EnvironmentRegistry.getEntry`)(function*(e){let t=(yield*I(p)).get(e);return t===void 0?yield*new Sp({environmentId:e}):t}),ae=E(`EnvironmentRegistry.closeServiceScope`)(function*(e){let t=yield*I(h),n=t.get(e);if(n===void 0)return;let r=new Map(t);r.delete(e),yield*Uo(h,r),yield*Ye(n.scope,Er)}),oe=E(`EnvironmentRegistry.createServiceScope`)((t,n=t.target._tag!==`CloudConnectionTarget`)=>za(S(function*(){let r=t.target.environmentId,i=yield*Ni(e),a=yield*bp(t,{initiallyDesired:!1}).pipe(A(ud,c),A(Bf,l),A(ip,u),On(i),Sn(()=>Ye(i,Er)));return n&&(yield*a.connect),yield*Wo(h,e=>{let n=new Map(e);return n.set(r,{entry:t,supervisor:a,scope:i}),n}),a}))),se=E(`EnvironmentRegistry.acquireSupervisor`)(function*(e){return yield*re(e,S(function*(){let t=yield*ie(e),n=(yield*I(h)).get(e);if(n!==void 0){if(st(n.entry,t))return n.supervisor;yield*ae(e)}return yield*oe(t)}))}),ce=E(`EnvironmentRegistry.run`)(function*(e,t){return yield*A(t,yp,yield*se(e))}),le=(e,t)=>bt(se(e).pipe(b(e=>Or(t,yp,e)))),de=(e,t)=>Fi(Bi(I(p)),Vo(p)).pipe(ai(t=>Si(t.get(e))),Ze((e,t)=>lr(e)===lr(t)),ne(Pr({onNone:()=>An,onSome:()=>bt(se(e).pipe(Qe({onFailure:()=>An,onSuccess:e=>Or(t,yp,e)})))}))),fe=S(function*(){(yield*oo(te,!0))||(yield*ue(f,e=>se(e.environmentId).pipe(pa(`EnvironmentNotRegisteredError`,()=>D)),{concurrency:`unbounded`,discard:!0}))}).pipe(F(`EnvironmentRegistry.start`)),pe=E(`EnvironmentRegistry.installEntryLocked`)(function*(e,t){let n=e.target,r=(yield*I(p)).get(n.environmentId),i=(yield*I(h)).get(n.environmentId);t?.retainEquivalentRuntime===!0&&r!==void 0&&st(r,e)&&i!==void 0&&st(i.entry,e)||(yield*ae(n.environmentId),yield*Wo(p,t=>{let r=new Map(t);return r.set(n.environmentId,e),r}),yield*oe(e,!0))}),me=E(`EnvironmentRegistry.register`)(function*(e){let t=ad(e),r=t.target.environmentId;yield*re(r,S(function*(){(yield*so(g)).has(r)||(yield*n.register(e),yield*lo(_,t=>{let n=new Map(t);return n.set(r,e.target),n}),yield*pe(t))}))}),he=E(`EnvironmentRegistry.installPlatformRegistration`)(function*(e){let t=ad(e),r=t.target;yield*re(r.environmentId,S(function*(){yield*lo(g,e=>{let t=new Set(e);return t.add(r.environmentId),t}),e._tag===`BearerConnectionRegistration`&&(yield*o.put(e.target.connectionId,e.credential).pipe(Tr(e=>y(`Could not store the platform bearer credential.`,{environmentId:r.environmentId,error:e}))));let i=(yield*so(_)).get(r.environmentId);i!==void 0&&(yield*n.remove(i).pipe(Ur(()=>lo(_,e=>{let t=new Map(e);return t.delete(r.environmentId),t})),Tr(e=>y(`Could not remove a persisted registration shadowed by a platform environment.`,{environmentId:r.environmentId,error:e})))),yield*pe(t,{retainEquivalentRuntime:!0})}))}),ge=E(`EnvironmentRegistry.removePlatformEnvironment`)(function*(e){yield*re(e,S(function*(){let t=(yield*I(p)).get(e);yield*lo(g,t=>{let n=new Set(t);return n.delete(e),n}),yield*ae(e),yield*Wo(p,t=>{let n=new Map(t);return n.delete(e),n}),t!==void 0&&t.target._tag===`BearerConnectionTarget`&&(yield*o.remove(t.target.connectionId).pipe(Tr(t=>y(`Could not clear the platform bearer credential.`,{environmentId:e,error:t})))),yield*s([r.clear(e).pipe(Tr(t=>y(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),i.clear(e)],{concurrency:`unbounded`,discard:!0})}))}),_e=E(`EnvironmentRegistry.registerPlatform`)(function*(e){yield*he(e)}),ve=E(`EnvironmentRegistry.reconcilePlatform`)(function*(e){let t=new Set(e.map(e=>e.target.environmentId));yield*ue(yield*so(g),e=>t.has(e)?D:ge(e),{discard:!0}),yield*ue(e,he,{discard:!0})}),ye=E(`EnvironmentRegistry.remove`)(function*(e){return yield*re(e,S(function*(){if((yield*so(g)).has(e))return yield*new Cp({environmentId:e});let t=(yield*ie(e)).target,o=t._tag===`PrimaryConnectionTarget`?M():yield*a.get(t.connectionId);yield*n.remove(t),yield*lo(_,t=>{let n=new Map(t);return n.delete(e),n}),yield*ae(e),yield*Wo(p,t=>{let n=new Map(t);return n.delete(e),n}),yield*s([r.clear(e).pipe(Tr(t=>y(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),i.clear(e)],{concurrency:`unbounded`,discard:!0}),t._tag===`SshConnectionTarget`&&P(o)&&xp(o.value)&&(yield*d.disconnect(o.value.target).pipe(mt(t=>y(`Could not disconnect the managed SSH environment.`,{environmentId:e,error:t})),jt))}))}),be=e=>se(e).pipe(T(e=>e.target._tag===`CloudConnectionTarget`?I(e.state).pipe(T(t=>t.desired?e.retryNow:e.connect)):e.retryNow),pa(`EnvironmentNotRegisteredError`,()=>D),F(`EnvironmentRegistry.retryNow`)),xe=E(`EnvironmentRegistry.state`)(function*(e){return yield*I((yield*se(e)).state)});return yield*It(()=>I(h).pipe(T(e=>ue(e.values(),e=>Ye(e.scope,Er),{concurrency:`unbounded`,discard:!0})))),yield*c.changes.pipe(_a(e=>Uo(m,e)),ft),wp.of({entries:p,networkStatus:m,start:fe,register:me,registerPlatform:_e,reconcilePlatform:ve,remove:ye,retryNow:be,state:xe,stateChanges:e=>de(e,bt(yp.pipe(b(e=>Vo(e.state))))),run:ce,runStream:le,followStream:de})})),Ep=class extends De()(`EnvironmentRpcUnavailableError`,{environmentId:w,message:w}){},Dp=class extends Ee(`@borgtools/client-runtime/rpc/EnvironmentRpcRequestObserver`,{defaultValue:()=>({observe:()=>C(D)})}){},Op=class extends Ee(`@borgtools/client-runtime/rpc/EnvironmentRpcSubscriptionObserver`,{defaultValue:()=>({observe:()=>C(D)})}){},kp=da(Vc),Ap=E(`EnvironmentRpc.currentSession`)(function*(){let e=yield*yp;return yield*I(e.session).pipe(T(Pr({onNone:()=>j(new Ep({environmentId:e.target.environmentId,message:`${e.target.label} is not connected.`})),onSome:C})))}),jp=E(`EnvironmentRpc.request`)(function*(e,t){let n=yield*yp;yield*ra({"environment.id":n.target.environmentId,"rpc.method":e});let r=yield*Ap(),i=yield*Dp,a=r.client[e],o=yield*i.observe({environmentId:n.target.environmentId,method:e});return yield*a(t).pipe(ya(o))});function Mp(e,t){return bt(Ap().pipe(b(n=>{let r=n.client[e];return r(t)}))).pipe(Xr(`EnvironmentRpc.runStream`,{attributes:{"rpc.method":e}}))}function Np(e,t,n){return bt(S(function*(){let r=yield*yp,i=yield*Op,a=Vo(r.session);return(n?.resubscribe===void 0?a:Cr(a,n.resubscribe.pipe(ur(()=>I(r.session))))).pipe(ne(Pr({onNone:()=>An,onSome:a=>{let o=e===N.subscribeServerConfig?a.subscribeServerConfig:a.client[e],s=()=>qt(()=>bt(S(function*(){let c=yield*t(a),l=yield*i.observe({environmentId:r.target.environmentId,method:e,input:c});return o(c).pipe(Lt(l),gn(t=>{let i=t.reasons.length>0&&t.reasons.every(e=>e._tag===`Fail`);if(i&&t.reasons.every(e=>e._tag===`Fail`&&kp(e.error)))return Bi(y(`Durable RPC subscription lost its transport; waiting for the next session.`,{cause:ce(t),method:e,environmentId:r.target.environmentId})).pipe(xn);if(i&&n?.onExpectedFailure!==void 0){let e=Bi(n.onExpectedFailure(t)).pipe(xn);return n.retryExpectedFailureAfter===void 0?e:e.pipe(Fi(Bi(oe(n.retryExpectedFailureAfter)).pipe(xn)),Fi(s()))}return gr(t)}))})));return s()}})))})).pipe(Xr(`EnvironmentRpc.subscribe`,{attributes:{"rpc.method":e}}))}function Pp(e,t,n){return Np(e,()=>C(t),n)}S(function*(){return yield*(yield*Ap()).initialConfig}).pipe(F(`EnvironmentRpc.config`));async function Fp(e){try{return await e()}catch(e){return es(Oi(e))}}function Ip(){let e=new WeakMap,t=t=>{let n=e.get(t);if(n!==void 0)return n;let r={serial:new Map,singleFlight:new Map,latest:new Map};return e.set(t,r),r};return{schedule:(e,n,r,i)=>{if(n.mode===`parallel`)return i();let a=n.key(r),o=t(e);if(n.mode===`singleFlight`){let e=o.singleFlight.get(a);if(e!==void 0)return e;let t=i();return o.singleFlight.set(a,t),t.then(()=>{o.singleFlight.get(a)===t&&o.singleFlight.delete(a)},()=>{o.singleFlight.get(a)===t&&o.singleFlight.delete(a)}),t}if(n.mode===`serial`){let e=o.serial.get(a),t=e===void 0?i():e.then(i,i);return o.serial.set(a,t),t.then(()=>{o.serial.get(a)===t&&o.serial.delete(a)},()=>{o.serial.get(a)===t&&o.serial.delete(a)}),t}let s=o.latest.get(a);s===void 0&&(s={running:!1,pending:void 0},o.latest.set(a,s));let c=s,l=new Promise(e=>{if(c.pending===void 0){c.pending={execute:i,resolve:[e]};return}c.pending.execute=i,c.pending.resolve.push(e)});return c.running||(c.running=!0,(async()=>{for(;c.pending!==void 0;){let e=c.pending;c.pending=void 0;let t;try{t=await e.execute()}catch(e){t=es(Oi(e))}for(let n of e.resolve)n(t)}c.running=!1,o.latest.get(a)===c&&o.latest.delete(a)})()),l}}}function Lp(e,t,n,r,i){return S(function*(){let a=yield*di(),o=yield*pi(o=>t.schedule(e,n,r,async()=>{let e=await Pn(a)(i,{signal:o});return ma(e)?Qo(e.value):es(e.cause)}));return o._tag===`Success`?o.value:yield*ja(o.cause)})}async function Rp(e,t,n,r={},i=console){let a=await Fp(()=>t.run(e,n));return Kp(a,{...r,label:r.label??t.label},i),a}function zp(e,t){return e._tag===`Success`?Qo(t(e.value)):es(e.cause)}function Bp(e){return e._tag===`Failure`&&La(e.cause)}function Vp(e){return Zr(e.cause)}async function Hp(e){try{return Ko(await e())}catch(e){return es(Oi(e))}}async function Up(e,t={},n=console){let r=await Hp(e);return Kp(r,t,n),r}async function Wp(e,t,n={},r=console){let i=Ca(S(function*(){return yield*hs(e,t),n.refresh&&(yield*u(()=>{let n=e.get(t);n._tag!==`Initial`&&!n.waiting&&e.refresh(t)})),yield*ms(e,t,{suspendOnWaiting:!0})}));return Up(()=>Dr(i),n,r)}function Gp(e,t){let n=t.scheduler??Ip(),r=t.concurrency??{mode:`parallel`};return{label:t.label,run:(i,a)=>Fp(()=>n.schedule(i,r,a,()=>Wp(i,e.atom(t.execute(a,i)).pipe(z(t.label)),{reportDefect:!1,reportFailure:!1})))}}function Kp(e,t={},n=console){if(Zo(e)||La(e.cause))return;let r=t.label??`atom command`;Fn(e.cause)?(t.reportDefect??!0)&&n.error(`[atom-command] ${r} defected`,e.cause):(t.reportFailure??!0)&&n.warn(`[atom-command] ${r} failed`,e.cause)}async function qp(e){try{return Qo(await e())}catch(e){return es(Oi(e))}}function Jp(e){return JSON.stringify([e.environmentId,e.input])}function Yp(e){let t=JSON.parse(e);return{environmentId:ha.make(t[0]),input:t[1]}}function Xp(e,t){return wp.pipe(T(n=>n.run(e,t)))}function Zp(e,t){return bt(wp.pipe(b(n=>n.runStream(e,t))))}function Qp(e,t){return bt(wp.pipe(b(n=>n.followStream(e,t))))}function $p(e,t){let n=R(t=>e.atom(Qp(t,bt(yp.pipe(b(e=>Vo(e.state).pipe(d(Vo(e.session))))))),{initialValue:null})),r=R(r=>{let i=Yp(r),a=t.idleTtlMs??5*6e4,o=e.atom(e=>{let r=nr(os(e(n(i.environmentId))));if(r===null)return Tn;let[a,o]=r;switch(a.phase){case`connected`:return P(o)?Xp(i.environmentId,t.execute(i.input)):Tn;case`connecting`:case`backoff`:return Tn;case`available`:case`offline`:case`blocked`:return a.lastFailure===null?j(new Ep({environmentId:i.environmentId,message:`Environment ${i.environmentId} is ${a.phase===`available`?`not connected`:a.phase}.`})):j(a.lastFailure)}}).pipe(pc({staleTime:t.staleTimeMs??3e4,revalidateOnMount:!0}),Fs(a));return(t.refreshIntervalMs===void 0?o:o.pipe(fc(t.refreshIntervalMs))).pipe(Fs(a),z(`${t.label}:${r}`))});return e=>r(Jp(e))}function em(e,t){let n=R(n=>{let r=Yp(n);return e.atom(Qp(r.environmentId,t.subscribe(r.input))).pipe(Fs(t.idleTtlMs??5*6e4),z(`${t.label}:${n}`))});return e=>n(Jp(e))}function Y(e,t){return Gp(e,{label:t.label,...t.scheduler===void 0?{}:{scheduler:t.scheduler},...t.concurrency===void 0?{}:{concurrency:t.concurrency},execute:(e,n)=>Xp(e.environmentId,t.execute(e.input,n,e.environmentId))})}function tm(e,t){return $p(e,{label:t.label,...t.staleTimeMs===void 0?{}:{staleTimeMs:t.staleTimeMs},...t.idleTtlMs===void 0?{}:{idleTtlMs:t.idleTtlMs},...t.refreshIntervalMs===void 0?{}:{refreshIntervalMs:t.refreshIntervalMs},execute:e=>jp(t.tag,e)})}function nm(e,t){return em(e,{label:t.label,...t.idleTtlMs===void 0?{}:{idleTtlMs:t.idleTtlMs},subscribe:e=>{let n=Pp(t.tag,e);return t.transform===void 0?n:t.transform(n)}})}function rm(e,t){return Y(e,{label:t.label,...t.scheduler===void 0?{}:{scheduler:t.scheduler},...t.concurrency===void 0?{}:{concurrency:t.concurrency},execute:(e,n,r)=>{let i={environmentId:r,input:e};return jp(t.tag,e).pipe(Ur(()=>t.onSuccess?.(i,n)??D),ya(t.onSettled?.(i,n)??D))}})}var im=go(),am=`token`,om=`host`,sm=`label`,cm=new Set([`http:`,`https:`,`ws:`,`wss:`]),lm=e=>new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),um=class extends De()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},dm=class extends De()(`RemotePairingUrlInvalidError`,{cause:ui(vt()),protocol:ui(w)}){get message(){return`Pairing URL is invalid.`}},fm=class extends De()(`RemoteBackendUrlInvalidError`,{source:pt([`direct-host`,`hosted-pairing-host`]),cause:ui(vt()),protocol:ui(w)}){get message(){return`Backend URL is invalid.`}},pm=class extends De()(`RemotePairingTokenMissingError`,{host:w}){get message(){return`Pairing URL is missing its token.`}},mm=class extends De()(`RemotePairingCodeMissingError`,{host:w}){get message(){return`Enter a pairing code.`}};Ai([um,dm,fm,pm,mm]);var hm=e=>cm.has(e.protocol),gm=(e,t)=>{let n=e.trim();if(!n)throw new um;let r=n.replace(/^\/+/,``),i=/^[a-zA-Z][a-zA-Z\d+-]*:\/\//.test(r)?r:`https://${r}`,a;try{a=new URL(i)}catch(e){throw new fm({source:t,cause:e})}if(!hm(a))throw new fm({source:t,protocol:a.protocol});return _m(a),a.search=``,a.hash=``,a},_m=e=>{let t=e.pathname.replace(/\/+$/u,``)||`/`;e.pathname=t===`/pair`?`/`:`${t===`/`?``:t}/`},vm=e=>{let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),_m(t),t.search=``,t.hash=``,t.toString()},ym=e=>{let t=new URL(vm(e));return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.toString()},bm=e=>{let t=lm(e).get(am)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(am)?.trim()??``;return n.length>0?n:null},xm=e=>{let t=new URL(e.toString()),n=lm(t);return n.has(am)&&(n.delete(am),t.hash=n.toString()),t.searchParams.delete(am),t},Sm=(e,t)=>{let n=new URL(e.toString());return n.searchParams.delete(am),n.hash=new URLSearchParams([[am,t]]).toString(),n},Cm=e=>{let t=e.searchParams.get(om)?.trim()??``,n=bm(e)?.trim()??``,r=e.searchParams.get(sm)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}},wm=e=>{let t=e.pairingUrl?.trim()??``;if(t.length>0){let e;try{e=new URL(t)}catch(e){throw new dm({cause:e})}if(!hm(e))throw new dm({protocol:e.protocol});let n=Cm(e);if(n){let e=gm(n.host,`hosted-pairing-host`);return{credential:n.token,httpBaseUrl:vm(e),wsBaseUrl:ym(e)}}let r=bm(e)??``;if(!r)throw new pm({host:e.host});return{credential:r,httpBaseUrl:vm(e),wsBaseUrl:ym(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw new um;let i=gm(n,`direct-host`);if(!r)throw new mm({host:i.host});return{credential:r,httpBaseUrl:vm(i),wsBaseUrl:ym(i)}};function Tm(e){return e.entries.filter(t=>t.target._tag===`CloudConnectionTarget`&&t.target.environmentId!==e.registeredEnvironmentId).map(e=>e.target.environmentId)}var Em=`http://127.0.0.1:3773`,Dm=class extends x()(`@borgtools/client-runtime/connection/onboarding/ConnectionOnboarding`){},Om=E(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*Bt({try:()=>wm(e),catch:e=>new J({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})}),km=E(`clientRuntime.connection.onboarding.preparePairingRegistration`)(function*(e){let t=yield*Om(e),n=yield*Au,r=yield*io({httpBaseUrl:t.httpBaseUrl,...e.awaitRouting===!0?{awaitRouting:!0}:{}}).pipe(O(Vd)),i=yield*Od({httpBaseUrl:t.httpBaseUrl,credential:t.credential,scopes:n.scopes,clientMetadata:n.metadata}).pipe(O(Vd)),a=`bearer:${r.environmentId}`;return new td({target:new Iu({environmentId:r.environmentId,label:r.label,connectionId:a}),profile:new qu({connectionId:a,environmentId:r.environmentId,label:r.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl}),credential:new Qu({token:i.access_token})})}),Am=E(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*km(e);return yield*(yield*wp).register(t),t.target.environmentId}),jm=E(`clientRuntime.connection.onboarding.registerCloudPairingConnection`)(function*(e){let t=yield*wp,n=yield*km({...e,awaitRouting:!0}),r=`cloud:${e.sessionId}`,i=new nd({target:new Lu({environmentId:n.target.environmentId,label:e.label??n.target.label,connectionId:r}),profile:new Ju({connectionId:r,environmentId:n.profile.environmentId,label:e.label??n.profile.label,httpBaseUrl:n.profile.httpBaseUrl,wsBaseUrl:n.profile.wsBaseUrl}),credential:n.credential});return yield*t.register(i),yield*ue(Tm({entries:[...(yield*I(t.entries)).values()],registeredEnvironmentId:i.target.environmentId}),e=>t.remove(e).pipe(Zi(t=>y(`Could not remove a superseded cloud connection.`,{environmentId:e,cause:t}))),{discard:!0}),i.target.environmentId}),Mm=da(Qu),Nm=da(qu),Pm=E(`clientRuntime.connection.onboarding.updateBearerConnection`)(function*(e){let t=yield*wp,n=yield*od,r=(yield*I(t.entries)).get(e.environmentId),i=r?.target._tag===`BearerConnectionTarget`?yield*n.get(r.target.connectionId):M(),a=yield*Fm({input:e,entry:Si(r),credential:i});yield*t.register(a)}),Fm=E(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=nr(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||Sr(t.profile)||!Nm(t.profile.value))return yield*new J({reason:`configuration`,detail:`Only saved bearer environments can be edited.`});let n=e.credential;if(Sr(n)||!Mm(n.value))return yield*new J({reason:`authentication`,detail:`The saved bearer credential is unavailable.`});let r=e.input.label.trim();if(r===``)return yield*new J({reason:`configuration`,detail:`Environment label cannot be empty.`});let i=yield*Bt({try:()=>Xa(e.input.httpBaseUrl),catch:e=>new J({reason:`configuration`,detail:e instanceof Error?e.message:`The environment URL is invalid.`})}),a=t.target.connectionId;return new td({target:new Iu({environmentId:e.input.environmentId,label:r,connectionId:a}),profile:new qu({connectionId:a,environmentId:e.input.environmentId,label:r,httpBaseUrl:i,wsBaseUrl:Ja(i)}),credential:n.value})}),Im=E(`clientRuntime.connection.onboarding.prepareSshRegistration`)(function*(e){let t=yield*(yield*Mu).provision(e.target),n=`ssh:${t.environmentId}`,r=e.label?.trim()||t.label||t.bootstrap.target.alias;return new rd({target:new Ru({environmentId:t.environmentId,label:r,connectionId:n}),profile:new Yu({connectionId:n,environmentId:t.environmentId,label:r,target:t.bootstrap.target})})}),Lm=E(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*Im(e);return yield*(yield*wp).register(t),t.target.environmentId}),Rm=E(`clientRuntime.connection.onboarding.prepareBorgRegistration`)(function*(e){let t=yield*Au,n=yield*Nu,r=ga(yield*di()),i=mf({borgApiUrl:e.borgApiUrl,deviceId:e.deviceId,openTunnel:()=>r(n.openTunnel())}),a=yield*io({httpBaseUrl:Em}).pipe(A(ao,i),O(Vd)),o=yield*Od({httpBaseUrl:Em,credential:e.pairingCode,scopes:t.scopes,clientMetadata:t.metadata}).pipe(A(ao,i),O(Vd)),s=`borg:${a.environmentId}`,c=e.label?.trim()||a.label;return new id({target:new zu({environmentId:a.environmentId,label:c,connectionId:s,deviceId:e.deviceId}),profile:new Xu({connectionId:s,environmentId:a.environmentId,label:c,borgApiUrl:e.borgApiUrl,deviceId:e.deviceId}),credential:new Qu({token:o.access_token})})}),zm=E(`clientRuntime.connection.onboarding.registerBorgConnection`)(function*(e){let t=yield*Rm(e);return yield*(yield*wp).register(t),t.target.environmentId}),Bm=lt(Dm,S(function*(){let e=yield*wp,t=yield*Au,n=yield*ao,r=yield*Mu,i=yield*Nu,a=yield*od;return Dm.of({registerPairing:r=>Am(r).pipe(A(wp,e),A(Au,t),A(ao,n)),registerCloudPairing:r=>jm(r).pipe(A(wp,e),A(Au,t),A(ao,n)),registerSsh:t=>Lm(t).pipe(A(wp,e),A(Mu,r)),registerBorg:r=>zm(r).pipe(A(wp,e),A(Au,t),A(Nu,i),A(ao,n)),registerPrepared:t=>e.register(t).pipe(Hi(t.target.environmentId)),updateBearer:t=>Pm(t).pipe(A(wp,e),A(od,a))})})),Vm=class extends x()(`@borgtools/client-runtime/platform/source/PlatformConnectionSource`){},Hm=kf.pipe(Ut(tf));function Um(e){let t=Vf.pipe(Ut(nt(Hm,zf(e)))),n=Tp.pipe(Ut(t)),r=nt(n,Bm.pipe(Ut(n)));return kt(S(function*(){let e=yield*wp,t=yield*Vm;yield*e.start,yield*t.registrations.pipe(_a(e.reconcilePlatform),ft)}).pipe(F(`clientRuntime.connection.application.start`))).pipe(Va(r))}Um({});function Wm(e){switch(e.phase){case`available`:return{phase:`available`,error:null,traceId:null};case`offline`:return{phase:`offline`,error:null,traceId:null};case`connecting`:return{phase:e.attempt<=1&&e.lastFailure===null?`connecting`:`reconnecting`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null};case`connected`:return{phase:`connected`,error:null,traceId:null};case`backoff`:return{phase:`reconnecting`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null};case`blocked`:return{phase:`error`,error:e.lastFailure?.message??null,traceId:e.lastFailure?.traceId??null}}}function Gm(e){switch(e.phase){case`available`:return`Available`;case`offline`:return`Offline`;case`connecting`:return`Connecting...`;case`reconnecting`:return e.error?`Failed to connect. Reconnecting... Reason: ${e.error}`:`Reconnecting...`;case`connected`:return`Connected`;case`error`:return e.error?`Connection failed. Reason: ${e.error}`:`Connection failed`}}function Km(e){return e.phase===`reconnecting`&&e.error?`Failed to connect. Reconnecting...`:Gm({...e,error:null})}function qm(e){return Wm(e)}function Jm(e){switch(e.target._tag){case`PrimaryConnectionTarget`:return e.target.httpBaseUrl;case`BearerConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`CloudConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`CloudConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null;case`BorgConnectionTarget`:return P(e.profile)&&e.profile.value._tag===`BorgConnectionProfile`?`Through Borg · ${e.profile.value.deviceId.slice(0,8)}`:null}}var Ym=(e,t)=>e===null?t.pipe(A(fo,{credentials:`include`})):t,Xm=(e,t,n,r)=>S(function*(){if(e===null)return{};if(e._tag===`Bearer`)return{authorization:`Bearer ${e.token}`};if(Sr(r))return yield*new qa({message:`No DPoP signer is available to authorize the environment request.`,cause:e._tag});let i=yield*r.value.createProof({method:t,url:n,accessToken:e.accessToken}).pipe(O(e=>new qa({message:`Could not create the environment request authorization proof.`,cause:e})));return{authorization:`DPoP ${e.accessToken}`,dpop:i}}),Zm=6e3,Qm=E(`clientRuntime.state.fetchEnvironmentShellSnapshot`)(function*(e){let t=$a(e.prepared.httpBaseUrl,`/api/orchestration/shell`),n=yield*eo(e.prepared.httpBaseUrl),r=yield*Xm(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*Ka(t,e.timeoutMs??Zm,Ym(e.prepared.httpAuthorization,n.orchestration.shellSnapshot({headers:r})))}),$m=class extends x()(`@borgtools/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},eh=lt($m,S(function*(){let e=yield*ao,t=yield*fe(Ud);return $m.of({load:n=>Qm({prepared:n,signer:t}).pipe(b(k),A(ao,e),Zi(e=>y(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(_i({cause:ce(e)}),Hi(M()))))})}));function th(e,t){if(t.sequence<=e.snapshotSequence)return e;switch(t.kind){case`project-upserted`:{let n=e.projects.some(e=>e.id===t.project.id)?ei(e.projects,e=>e.id===t.project.id?t.project:e):Ra(e.projects,t.project);return{...e,projects:n,snapshotSequence:t.sequence}}case`project-removed`:return{...e,projects:Jt(e.projects,e=>e.id!==t.projectId),snapshotSequence:t.sequence};case`thread-upserted`:{let n=e.threads.some(e=>e.id===t.thread.id)?ei(e.threads,e=>e.id===t.thread.id?t.thread:e):Ra(e.threads,t.thread);return{...e,threads:n,snapshotSequence:t.sequence}}case`thread-removed`:return{...e,threads:Jt(e.threads,e=>e.id!==t.threadId),snapshotSequence:t.sequence};default:return e}}function nh(e,t){return{...t,environmentId:e}}function rh(e,t){return{...t,environmentId:e}}function ih(e,t){return{...t,environmentId:e}}function ah(e){return{openInEditor:rm(e,{label:`environment-data:shell:open-in-editor`,tag:N.shellOpenInEditor}),captureLoopbackRedirect:rm(e,{label:`environment-data:shell:capture-loopback-redirect`,tag:N.shellCaptureLoopbackRedirect}),cancelLoopbackRedirect:rm(e,{label:`environment-data:shell:cancel-loopback-redirect`,tag:N.shellCancelLoopbackRedirect})}}function oh(e){return R(t=>L(n=>Pr(os(n(e(t))),{onNone:()=>null,onSome:e=>nr(e.snapshot)})).pipe(z(`environment-snapshot:${t}`)))}var sh={snapshot:M(),status:`empty`,error:M()};function ch(e){return P(e)?`cached`:`empty`}var lh=`Could not synchronize environment data.`,uh=E(`EnvironmentShellState.make`)(function*(){let e=yield*yp,t=yield*gd,n=yield*$m,r=yield*fe(ip),i=e.target.environmentId,a=yield*t.loadShell(i).pipe(Tr(e=>y(`Could not load cached environment shell.`).pipe(_i({environmentId:i,...Qf(e)}),Hi(M())))),o=yield*Bo({snapshot:a,status:ch(a),error:M()}),s=yield*co(!1),c=yield*co(null),l=yield*co(null),u=yield*wn(1),d=E(`EnvironmentShellState.persist`)(function*(e){yield*t.saveShell(i,e).pipe(Tr(e=>y(`Could not persist environment shell cache.`).pipe(_i({environmentId:i,...Qf(e)}))))});yield*Ci(u).pipe(Ue(`500 millis`),_a(d),ft);let f=Wa(s,!1).pipe(yr(Wo(o,e=>({...e,status:ch(e.snapshot)})))),p=Wo(o,e=>({...e,status:`synchronizing`,error:M()})),m=Wo(o,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:M()}),h=e=>Wa(s,!1).pipe(yr(y(`Could not synchronize the environment shell.`)),_i({environmentId:i,...Qf(e)}),yr(Wo(o,e=>({...e,status:ch(e.snapshot),error:k(lh)})))),g=E(`EnvironmentShellState.applyItem`)(function*(e){if(e.kind===`synchronized`){yield*Wa(s,!1),yield*Wo(o,e=>P(e.snapshot)?{...e,status:`live`,error:M()}:e);return}let t=yield*I(o),n=e.kind===`snapshot`?e.snapshot:Pr(t.snapshot,{onNone:()=>null,onSome:t=>e.sequence>t.snapshotSequence?th(t,e):t});if(n===null)return;let r=yield*so(s);if(yield*Uo(o,{snapshot:k(n),status:r?`synchronizing`:`live`,error:M()}),e.kind===`snapshot`){let e=yield*so(l);e!==null&&(yield*Wa(c,e))}yield*Se(u,n)}),_=Pr(r,{onNone:()=>Di,onSome:e=>e.changes.pipe(ta(rp))});return yield*p,yield*ft(Np(de.subscribeShell,E(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*Wa(l,t);let r=yield*t.initialConfig.pipe(b(e=>e.shellResumeCompletionMarker===!0),ea(()=>!1));yield*Wa(s,r),yield*p;let i=(yield*so(c))===t,a=i,u=yield*I(o);if(!i||Sr(u.snapshot)){let t=yield*I(e.prepared).pipe(T(Pr({onSome:C,onNone:()=>Vo(e.prepared).pipe(ta(P),ai(e=>e.value),Xn,b(ii))}))),r=yield*n.load(t);P(r)&&(yield*g({kind:`snapshot`,snapshot:r.value}),a=!0,u=yield*I(o))}return!a||Sr(u.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*Wo(o,e=>({...e,status:`live`,error:M()}))),{afterSequence:u.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>h(Zr(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:_}).pipe(_a(g))),yield*Vo(e.state).pipe(_a(e=>{switch(Wu(e)){case`synchronizing`:return p;case`disconnected`:return f;case`ready`:return m}}),ft),o});function dh(e){return Qp(e,bt(uh().pipe(b(Vo))))}var fh=Object.freeze({hasSnapshot:!1,hasSynchronizingShell:!1,hasCachedShell:!1,hasLiveShell:!1,firstError:null,latestSnapshotUpdatedAt:null}),ph=new Map;function mh(e,t){return e.hasSnapshot===t.hasSnapshot&&e.hasSynchronizingShell===t.hasSynchronizingShell&&e.hasCachedShell===t.hasCachedShell&&e.hasLiveShell===t.hasLiveShell&&e.firstError===t.firstError&&e.latestSnapshotUpdatedAt===t.latestSnapshotUpdatedAt}function hh(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function gh(e){let t=fh;return L(n=>{let r=!1,i=!1,a=!1,o=!1,s=null,c=null;for(let t of n(e.catalogValueAtom).entries.keys()){let l=n(e.shellStateValueAtom(t));if(i||=l.status===`synchronizing`,a||=l.status===`cached`,o||=l.status===`live`,s===null&&(s=nr(l.error)),Sr(l.snapshot))continue;r=!0;let u=l.snapshot.value.updatedAt;(c===null||u>c)&&(c=u)}let l={hasSnapshot:r,hasSynchronizingShell:i,hasCachedShell:a,hasLiveShell:o,firstError:s,latestSnapshotUpdatedAt:c};return mh(t,l)||(t=l),t}).pipe(z(`environment-shell-summary`))}function _h(e){let t=ph;return L(n=>{let r=new Map;for(let t of n(e.catalogValueAtom).entries.keys()){let i=n(e.serverConfigValueAtom(t));i!==null&&r.set(t,i)}return hh(t,r)||(t=r),t}).pipe(z(`environment-server-configs`))}function vh(e){let t=R(t=>e.atom(dh(t),{initialValue:sh}));return{stateAtom:t,stateValueAtom:R(e=>L(n=>qi(os(n(t(e))),()=>sh)).pipe(z(`environment-shell-state-value:${e}`)))}}var yh=e=>typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`SearchAtlasCredentialRejectedError`,bh=(e,t,n)=>e.run(t,P(n)?jp(N.searchAtlasSetCredential,n.value):jp(N.searchAtlasClearCredential,{})).pipe(Gn,Zi(e=>{let n=kr(e);return P(n)&&yh(n.value)?y(`Search Atlas credential push was refused`,{environmentId:t,cause:e}):Wt(`Search Atlas credential push did not land`,{environmentId:t,cause:e})})),xh=kt(S(function*(){let e=yield*wp,t=yield*jf,n=yield*wn(1),r=()=>Mi(n,void 0),i=S(function*(){let n=yield*t.current;yield*ue((yield*I(e.entries)).keys(),t=>bh(e,t,n),{concurrency:`unbounded`,discard:!0})}).pipe(F(`searchAtlas.credentialSync.push`));yield*Ci(n).pipe(_a(()=>i),ft);let a=new Map,o=n=>e.stateChanges(n).pipe(ai(e=>e.phase===`connected`),Te,ta(e=>e),_a(()=>t.current.pipe(T(t=>bh(e,n,t)))),jt),s=S(function*(){let t=yield*I(e.entries);for(let[e,n]of a)t.has(e)||(a.delete(e),yield*er(n));for(let e of t.keys())a.has(e)||a.set(e,yield*ft(o(e)))});yield*s,yield*Vo(e.entries).pipe(_a(()=>s),ft),yield*t.changes.pipe(_a(()=>u(r)),ft);let c=Me(30);yield*S(function*(){(yield*I(e.entries)).size!==0&&(yield*t.current.pipe(jt))}).pipe(tr(Vi(c)),ft),yield*u(r)})),Sh=6e3,Ch=E(`clientRuntime.state.fetchEnvironmentThreadSnapshot`)(function*(e){let t=$a(e.prepared.httpBaseUrl,`/api/orchestration/threads/${e.threadId}`),n=yield*eo(e.prepared.httpBaseUrl),r=yield*Xm(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*Ka(t,e.timeoutMs??Sh,Ym(e.prepared.httpAuthorization,n.orchestration.threadSnapshot({params:{threadId:e.threadId},payload:{...e.window===void 0?{}:{turnLimit:e.window.turnLimit},...e.window?.beforeCursor===void 0?{}:{beforeCursor:e.window.beforeCursor}},headers:r})))}),wh=class extends x()(`@borgtools/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},Th=lt(wh,S(function*(){let e=yield*ao,t=yield*fe(Ud);return wh.of({load:(n,r,i)=>Ch({prepared:n,threadId:r,signer:t,...i===void 0?{}:{window:i}}).pipe(b(k),A(ao,e),fr({EnvironmentResourceNotFoundError:()=>Wt(`Thread snapshot not found over HTTP; deferring to the socket subscription.`).pipe(_i({threadId:r}),Hi(M()))}),Zi(e=>y(`Could not load the thread snapshot over HTTP; using the socket snapshot instead.`).pipe(_i({threadId:r,cause:ce(e)}),Hi(M()))))})})),Eh=class extends De()(`InvalidScopedProjectKeyError`,{key:w}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},Dh=class extends De()(`InvalidScopedThreadKeyError`,{key:w}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},Oh=class extends De()(`InvalidScopedProjectRefCollectionKeyError`,{key:w,cause:vt()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},kh=Br(Sa(tn([w,w])));function Ah(e){return`${e.environmentId}\u0000${e.projectId}`}function jh(e){return`${e.environmentId}\u0000${e.threadId}`}function Mh(e){if(typeof e!=`string`)return!1;let t=e.indexOf(`\0`);return t>0&&t<=200&&e.length-t-1>0&&e.length-t-1<=200&&e.indexOf(`\0`,t+1)===-1}function Nh(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function Ph(e){let t=e.indexOf(`\0`);if(t<0)throw new Eh({key:e});return{environmentId:ha.make(e.slice(0,t)),projectId:qn.make(e.slice(t+1))}}function Fh(e){let t;try{t=kh(JSON.parse(e))}catch(t){throw new Oh({key:e,cause:t})}return t.map(([e,t])=>({environmentId:ha.make(e),projectId:qn.make(t)}))}function Ih(e){let t=e.indexOf(`\0`);if(t<0)throw new Dh({key:e});return{environmentId:ha.make(e.slice(0,t)),threadId:Da.make(e.slice(t+1))}}function Lh(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function Rh(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function zh(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var Bh=Kt(Qt(Yn,e=>e.createdAt),Qt(Yn,e=>e.id)),Vh=Qt(Fa,e=>e.checkpointTurnCount??2**53-1),Hh=te([Qt(Fa,e=>e.sequence??2**53-1),Qt(Yn,e=>e.createdAt),Qt(Yn,e=>e.id)]),Uh=new WeakMap;function Wh(e){if(e.kind!==`context-window.updated`)return!1;let t=(e.payload&&typeof e.payload==`object`?e.payload:null)?.usedTokens;return typeof t==`number`&&Number.isFinite(t)&&t>=0}function Gh(e,t){switch(t.type){case`project.created`:case`project.meta-updated`:case`project.deleted`:return{kind:`unchanged`};case`thread.created`:return{kind:`updated`,thread:{id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,agent:t.payload.agent,borgProfileId:t.payload.borgProfileId??null,sharedChatId:t.payload.sharedChatId??null,designSystemId:t.payload.designSystemId??`auto`,branch:t.payload.branch,worktreePath:t.payload.worktreePath,latestTurn:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,settledOverride:null,settledAt:null,unsettledAt:null,snoozedUntil:null,snoozedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null}};case`thread.deleted`:return{kind:`deleted`};case`thread.archived`:return{kind:`updated`,thread:{...e,archivedAt:t.payload.archivedAt,titleRegeneration:null,updatedAt:t.payload.updatedAt}};case`thread.unarchived`:return{kind:`updated`,thread:{...e,archivedAt:null,updatedAt:t.payload.updatedAt}};case`thread.settled`:return{kind:`updated`,thread:{...e,settledOverride:`settled`,settledAt:t.payload.settledAt,unsettledAt:null,updatedAt:t.payload.updatedAt}};case`thread.unsettled`:return{kind:`updated`,thread:{...e,settledOverride:t.payload.reason===`user`?`active`:null,settledAt:null,unsettledAt:e.settledOverride===`active`?e.unsettledAt??null:t.payload.updatedAt,updatedAt:t.payload.updatedAt}};case`thread.snoozed`:return{kind:`updated`,thread:{...e,snoozedUntil:t.payload.snoozedUntil,snoozedAt:t.payload.snoozedAt,updatedAt:t.payload.updatedAt}};case`thread.unsnoozed`:return{kind:`updated`,thread:{...e,snoozedUntil:null,snoozedAt:null,updatedAt:t.payload.updatedAt}};case`thread.pinned`:return{kind:`updated`,thread:{...e,pinnedAt:t.payload.pinnedAt,...t.payload.pinOrderKey===void 0?{}:{pinOrderKey:t.payload.pinOrderKey},updatedAt:t.payload.updatedAt}};case`thread.unpinned`:return{kind:`updated`,thread:{...e,pinnedAt:null,pinOrderKey:null,updatedAt:t.payload.updatedAt}};case`thread.pin-reordered`:return{kind:`updated`,thread:{...e,pinOrderKey:t.payload.orderKey,updatedAt:t.payload.updatedAt}};case`thread.meta-updated`:return{kind:`updated`,thread:{...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.titleRegeneration===void 0?{}:{titleRegeneration:t.payload.titleRegeneration},...t.payload.modelSelection===void 0?{}:{modelSelection:t.payload.modelSelection},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},...t.payload.linkedPullRequest===void 0?{}:{linkedPullRequest:t.payload.linkedPullRequest},updatedAt:t.payload.updatedAt}};case`thread.runtime-mode-set`:return{kind:`updated`,thread:{...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}};case`thread.interaction-mode-set`:return{kind:`updated`,thread:{...e,agent:t.payload.agent,updatedAt:t.payload.updatedAt}};case`thread.design-system-set`:return{kind:`updated`,thread:{...e,designSystemId:t.payload.designSystemId??`auto`,updatedAt:t.payload.updatedAt}};case`thread.turn-start-requested`:return{kind:`updated`,thread:{...e,...t.payload.modelSelection===void 0?{}:{modelSelection:t.payload.modelSelection},runtimeMode:t.payload.runtimeMode,agent:t.payload.agent,designSystemId:t.payload.designSystemId??`auto`,updatedAt:t.occurredAt}};case`thread.turn-interrupt-requested`:{if(t.payload.turnId===void 0)return{kind:`unchanged`};let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?{kind:`unchanged`}:{kind:`updated`,thread:{...e,latestTurn:{...n,state:`interrupted`,startedAt:n.startedAt??t.payload.createdAt,completedAt:n.completedAt??t.payload.createdAt},updatedAt:t.occurredAt}}}case`thread.message-sent`:{let n={id:t.payload.messageId,role:t.payload.role,text:t.payload.text,...t.payload.attachments===void 0?{}:{attachments:t.payload.attachments},turnId:t.payload.turnId,streaming:t.payload.streaming,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt},r=e.messages.find(e=>e.id===n.id)?ei(e.messages,e=>e.id===n.id?{...e,text:n.streaming?`${e.text}${n.text}`:n.text.length>0?n.text:e.text,streaming:n.streaming,...n.turnId===void 0?{}:{turnId:n.turnId},...n.streaming?{}:{updatedAt:n.updatedAt},...n.attachments===void 0?{}:{attachments:n.attachments}}:e):Ra(e.messages,n),i=t.payload.turnId!==null&&e.session?.status===`running`&&e.session.activeTurnId===t.payload.turnId,a=!t.payload.streaming&&!i,o=Jh(e.latestTurn,t.payload.role===`assistant`&&t.payload.turnId!==null&&(e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId)?{turnId:t.payload.turnId,state:a?e.latestTurn?.state===`interrupted`?`interrupted`:e.latestTurn?.state===`error`?`error`:`completed`:`running`,requestedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.requestedAt:t.payload.createdAt,startedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.startedAt??t.payload.createdAt:t.payload.createdAt,completedAt:a?t.payload.updatedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.completedAt??null:null,assistantMessageId:t.payload.messageId}:e.latestTurn),s=t.payload.role===`assistant`&&t.payload.turnId!==null?Yh(e.checkpoints,t.payload.turnId,t.payload.messageId):e.checkpoints;return{kind:`updated`,thread:{...e,messages:r,checkpoints:s,latestTurn:o,updatedAt:t.occurredAt}}}case`thread.session-set`:{let n=Kh(t.payload.session.status),r=Jh(e.latestTurn,t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?{turnId:t.payload.session.activeTurnId,state:`running`,requestedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.requestedAt:t.payload.session.updatedAt,startedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.startedAt??t.payload.session.updatedAt:t.payload.session.updatedAt,completedAt:null,assistantMessageId:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.assistantMessageId:null}:e.latestTurn!==null&&e.latestTurn.state===`running`&&n!==null?{...e.latestTurn,state:n,completedAt:t.payload.session.updatedAt}:e.latestTurn);return{kind:`updated`,thread:{...e,session:t.payload.session,latestTurn:r,updatedAt:t.occurredAt}}}case`thread.session-stop-requested`:return e.session===null?{kind:`unchanged`}:{kind:`updated`,thread:{...e,session:{...e.session,status:`stopped`,activeTurnId:null,updatedAt:t.payload.createdAt},updatedAt:t.occurredAt}};case`thread.proposed-plan-upserted`:{let n=t.payload.proposedPlan,r=ji(e.proposedPlans,Jt(e=>e.id!==n.id),Ra(n),h(Bh));return{kind:`updated`,thread:{...e,proposedPlans:r,updatedAt:t.occurredAt}}}case`thread.turn-diff-completed`:{let n={turnId:t.payload.turnId,checkpointTurnCount:t.payload.checkpointTurnCount,checkpointRef:t.payload.checkpointRef,status:t.payload.status,files:t.payload.files,assistantMessageId:t.payload.assistantMessageId,completedAt:t.payload.completedAt},r=e.checkpoints.find(e=>e.turnId===n.turnId);if(r&&r.status!==`missing`&&n.status===`missing`)return{kind:`unchanged`};let i=ji(e.checkpoints,Jt(e=>e.turnId!==n.turnId),Ra(n),h(Vh)),a=!(e.session?.status===`running`&&e.session.activeTurnId===t.payload.turnId)&&(e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId)?{turnId:t.payload.turnId,state:qh(t.payload.status),requestedAt:e.latestTurn?.requestedAt??t.payload.completedAt,startedAt:e.latestTurn?.startedAt??t.payload.completedAt,completedAt:t.payload.completedAt,assistantMessageId:t.payload.assistantMessageId}:e.latestTurn;return{kind:`updated`,thread:{...e,checkpoints:i,latestTurn:a,updatedAt:t.occurredAt}}}case`thread.reverted`:{let n=ji(e.checkpoints,Jt(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount),h(Vh)),r=new Set(ei(n,e=>e.turnId)),i=Xh(e.messages,r),a=ji(e.proposedPlans,Jt(e=>e.turnId===null||r.has(e.turnId))),o=ji(e.activities,Jt(e=>e.turnId===null||r.has(e.turnId))),s=n.at(-1)??null;return{kind:`updated`,thread:{...e,checkpoints:n,messages:i,proposedPlans:a,activities:o,latestTurn:s===null?null:{turnId:s.turnId,state:qh(s.status),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}}}case`thread.activity-appended`:{let n=t.payload.activity,r=Wh(n),i=Uh.get(e.activities),a=e.activities.at(-1);if(!r&&i!==void 0&&(a===void 0||Hh(a,n)<=0)&&!i.has(n.id)){let r=Ra(e.activities,n);return Uh.delete(e.activities),i.add(n.id),Uh.set(r,i),{kind:`updated`,thread:{...e,activities:r,updatedAt:t.occurredAt}}}let o=ji(e.activities,Jt(e=>e.id!==n.id&&!(r&&e.turnId===n.turnId&&Wh(e))),Ra(n),h(Hh));return Uh.set(o,new Set(o.map(e=>e.id))),{kind:`updated`,thread:{...e,activities:o,updatedAt:t.occurredAt}}}case`thread.approval-response-requested`:case`thread.user-input-response-requested`:case`thread.checkpoint-revert-requested`:return{kind:`unchanged`}}return{kind:`unchanged`}}function Kh(e){switch(e){case`idle`:case`ready`:return`completed`;case`error`:return`error`;case`interrupted`:case`stopped`:return`interrupted`;case`starting`:case`running`:return null}}function qh(e){switch(e){case`ready`:return`completed`;case`error`:return`error`;case`missing`:return`completed`}}function Jh(e,t){return e===null||t===null?t:e.turnId===t.turnId&&e.state===t.state&&e.requestedAt===t.requestedAt&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.assistantMessageId===t.assistantMessageId&&e.sourceProposedPlan?.threadId===t.sourceProposedPlan?.threadId&&e.sourceProposedPlan?.planId===t.sourceProposedPlan?.planId?e:t}function Yh(e,t,n){return e.some(e=>e.turnId===t&&e.assistantMessageId!==n)?ei(e,e=>e.turnId===t?{...e,assistantMessageId:n}:e):e}function Xh(e,t){return Jt(e,e=>e.role===`system`||e.turnId===null?!0:t.has(e.turnId))}var Zh=5*6e4,Qh={data:M(),status:`empty`,error:M(),page:M()};function $h(e){return Pr(e.page,{onNone:()=>!1,onSome:e=>e.hasMore})}var eg=1440*60*1e3;function tg(e,t){if(e.latestUserMessageAt==null||e.session?.status===`error`)return!1;let n=Date.parse(e.latestUserMessageAt);if(Number.isNaN(n))return!1;let r=Date.parse(t.now);if(Number.isNaN(r)||Math.abs(r-n)>12e4)return!1;let i=e.latestTurn;return i===null?!0:[i.requestedAt,i.startedAt,i.completedAt].every(e=>e==null||Date.parse(e)<n)}function ng(e){return!!(e.hasPendingApprovals||e.hasPendingUserInput||e.session?.status===`error`&&(e.snoozedAt==null||Date.parse(e.session.updatedAt)>Date.parse(e.snoozedAt))||e.snoozedAt!=null&&e.latestTurn?.state===`completed`&&e.latestTurn.completedAt!=null&&Date.parse(e.latestTurn.completedAt)>Date.parse(e.snoozedAt))}function rg(e,t){return!(e.hasPendingApprovals||e.hasPendingUserInput||tg(e,t))}function ig(e,t){if(e.snoozedUntil==null)return!1;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)||n<=Date.parse(t.now)?!1:!ng(e)}function ag(e,t){if(e.snoozedUntil==null)return null;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)?null:ng(e)?e.snoozedAt!=null&&e.latestTurn?.state===`completed`&&e.latestTurn.completedAt!=null&&Date.parse(e.latestTurn.completedAt)>Date.parse(e.snoozedAt)?e.latestTurn.completedAt:e.session?.updatedAt??e.snoozedAt??null:n<=Date.parse(t.now)?e.snoozedUntil:null}var og=3600*1e3,sg=18,cg=9;function lg(e){return e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function ug(e,t){let n=new Date(e);return n.setHours(t,0,0,0),n}function dg(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function fg(e){let t=new Date(e.getTime()+og),n=new Date(e.getTime()+3*og),r=[{id:`hour`,label:`In 1 hour`,whenLabel:lg(t),snoozedUntil:t.toISOString()},{id:`three-hours`,label:`In 3 hours`,whenLabel:lg(n),snoozedUntil:n.toISOString()}],i=ug(e,sg);i.getTime()-e.getTime()>og&&r.push({id:`evening`,label:`This evening`,whenLabel:lg(i),snoozedUntil:i.toISOString()});let a=ug(dg(e,1),cg);r.push({id:`tomorrow`,label:`Tomorrow`,whenLabel:lg(a),snoozedUntil:a.toISOString()});let o=ug(dg(e,(1-e.getDay()+7)%7||7),cg);return o.getTime()!==a.getTime()&&r.push({id:`next-week`,label:`Next week`,whenLabel:`${o.toLocaleDateString(void 0,{weekday:`short`})} ${lg(o)}`,snoozedUntil:o.toISOString()}),r}function pg(e,t){let n=Date.parse(e),r=Date.parse(t.now);if(Number.isNaN(n)||Number.isNaN(r))return`now`;let i=n-r;return i<=0?`now`:i<og?`${Math.max(1,Math.ceil(i/6e4))}m`:i<eg?`${Math.ceil(i/og)}h`:`${Math.ceil(i/eg)}d`}function mg(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function hg(e,t){if(t.length===0)return e;let n=new Map(t.map(e=>[e.threadId,e])),r=!1,i=e.flatMap(e=>{let t=n.get(e.id);if(!t)return[e];if(r=!0,t.deletedAt!==null)return[];let i=t.metadata,a=rg(e,{now:mg(i.archivedAt)??e.updatedAt});return[{...e,...typeof i.title==`string`?{title:i.title}:{},...typeof i.archived==`boolean`&&(!i.archived||a)?{archivedAt:i.archived?mg(i.archivedAt):null}:{},...typeof i.settled==`boolean`&&(!i.settled||a)?{settledOverride:i.settled?`settled`:`active`,settledAt:i.settled?mg(i.settledAt):null,...i.settled?{}:{unsettledAt:mg(i.unsettledAt)}}:{},...(i.snoozedUntil===null||typeof i.snoozedUntil==`string`)&&(i.snoozedUntil===null||a)?{snoozedUntil:i.snoozedUntil,snoozedAt:i.snoozedUntil===null?null:mg(i.snoozedAt)}:{},...typeof i.pinned==`boolean`?{pinnedAt:i.pinned?mg(i.pinnedAt):null,pinOrderKey:i.pinned&&typeof i.pinOrderKey==`string`?i.pinOrderKey:null}:{}}]});return r?i:e}function gg(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function _g(e,t){let n=t.payload;switch(t.type){case`thread.archive`:return rg(e,{now:t.createdAt})&&e.session?.status!==`starting`&&e.session?.status!==`running`?{...e,archivedAt:t.createdAt}:e;case`thread.unarchive`:return{...e,archivedAt:null};case`thread.settle`:return rg(e,{now:t.createdAt})&&e.session?.status!==`starting`&&e.session?.status!==`running`?{...e,settledOverride:`settled`,settledAt:t.createdAt,pinnedAt:null,pinOrderKey:null,snoozedUntil:null}:e;case`thread.unsettle`:return{...e,settledOverride:`active`,unsettledAt:t.createdAt};case`thread.snooze`:return rg(e,{now:t.createdAt})&&typeof n.snoozedUntil==`string`?{...e,snoozedUntil:n.snoozedUntil,snoozedAt:t.createdAt}:e;case`thread.unsnooze`:return{...e,snoozedUntil:null,snoozedAt:null};case`thread.pin`:return{...e,pinnedAt:e.pinnedAt??t.createdAt,...e.settledOverride===`settled`?{settledOverride:`active`,unsettledAt:t.createdAt}:{},...e.snoozedUntil===null?{}:{snoozedUntil:null,snoozedAt:null},...e.pinnedAt===null&&typeof n.orderKey==`string`?{pinOrderKey:n.orderKey}:{}};case`thread.unpin`:return{...e,pinnedAt:null,pinOrderKey:null};case`thread.pin.reorder`:return typeof n.orderKey==`string`?{...e,pinOrderKey:n.orderKey}:e;case`thread.meta.update`:return typeof n.title==`string`?{...e,title:n.title}:e}}function vg(e,t){let n=new Map;for(let e of t){if(e.status!==`pending`)continue;let t=n.get(e.threadId)??[];n.set(e.threadId,[...t,e])}if(n.size===0)return e;let r=!1,i=e.map(e=>{let t=n.get(e.id);if(!t)return e;let i=[...t].sort((e,t)=>BigInt(e.id)<BigInt(t.id)?-1:+(BigInt(e.id)>BigInt(t.id))).reduce(_g,e);return r||=i!==e,i});return r?i:e}var yg=Object.freeze([]),bg=new Set,xg=Object.freeze([]),Sg=new Map,Cg=new Map;function wg(e,t,n,r=bg){if(n.size===0&&r.size===0)return t;let i=t.filter(t=>!n.has(jh({environmentId:e,threadId:t.id}))&&!r.has(t.id));return i.length===t.length?t:i}function Tg(e){let t=new WeakMap,n=(e,n)=>{let r=t.get(n);r===void 0&&(r=new Map,t.set(n,r));let i=r.get(e);return i===void 0&&(i=rh(e,n),r.set(e,i)),i},r=R(t=>L(n=>{let r=n(e.snapshotAtom(t))?.threads??yg,i=e.pendingCloudActionsAtom?vg(r,n(e.pendingCloudActionsAtom)):r;return wg(t,e.canonicalThreadStatesAtom?hg(i,n(e.canonicalThreadStatesAtom)):i,e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):bg,e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):bg)}).pipe(z(`environment-threads:${t}`))),i=R(e=>L(t=>{let n=t(r(e));return n.length===0?Sg:new Map(n.map(e=>[e.id,e]))}).pipe(z(`environment-thread-index:${e}`))),a=R(e=>{let t=[];return L(n=>{let i=n(r(e)).map(t=>({environmentId:e,threadId:t.id}));return Rh(t,i)?t:(t=i,i)}).pipe(z(`environment-thread-refs:${e}`))}),o=R(e=>{let t=Cg;return L(n=>{let i=new Map;for(let t of n(r(e))){let n=i.get(t.projectId),r={environmentId:e,threadId:t.id};n===void 0?i.set(t.projectId,[r]):n.push(r)}if(i.size===0)return t=Cg,t;let a=new Map;for(let[e,n]of i){let r=t.get(e);a.set(e,r!==void 0&&Rh(r,n)?r:n)}let o=[...t.keys()];return a.size===t.size&&[...a].every(([e,n],r)=>o[r]===e&&t.get(e)===n)||(t=a),t}).pipe(z(`environment-thread-refs-by-project:${e}`))}),s=R(e=>{let t=Ih(e);return L(e=>{let r=e(i(t.environmentId)).get(t.threadId)??null;return r===null?null:n(t.environmentId,r)}).pipe(z(`environment-thread-shell:${e}`))}),c=R(e=>{let t=Fh(e),r=[];return L(e=>{let a=[],s=new Set;for(let r of t){let t=e(o(r.environmentId)).get(r.projectId)??xg;if(t.length===0)continue;let c=e(i(r.environmentId));for(let e of t){let t=jh(e);if(s.has(t))continue;s.add(t);let r=c.get(e.threadId);r!==void 0&&a.push(n(e.environmentId,r))}}return zh(r,a)||(r=a),r}).pipe(z(`environment-thread-shells-for-projects:${e}`))}),l=[],u=L(t=>{let n=[];for(let r of t(e.catalogValueAtom).entries.keys())n.push(...t(a(r)));return Rh(l,n)?l:(l=n,n)}).pipe(z(`environment-thread-refs`)),d=[];return{environmentThreadsAtom:r,environmentThreadIndexAtom:i,environmentThreadRefsAtom:a,environmentThreadRefsByProjectAtom:o,threadRefsAtom:u,threadShellsAtom:L(t=>{let i=[];for(let a of t(e.catalogValueAtom).entries.keys())for(let e of t(r(a)))i.push(n(a,e));return zh(d,i)||(d=i),d}).pipe(z(`environment-thread-shell-list`)),threadShellsForProjectRefsAtom:e=>c(Nh(e)),threadShellAtom:e=>s(jh(e))}}var Eg=``,Dg=new Set;function Og(e){return e.length===0?[]:ji(e.split(Eg),ei(e=>ha.make(e)))}function kg(e){return R(t=>L(n=>{let r=[],i=null,a=!1;for(let o of Og(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=nr(os(t));if(s!==null){let t=e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):Dg,i=e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):Dg,a=wg(o,s.threads,t,i);r.push({environmentId:o,snapshot:a===s.threads?s:{...s,threads:a}})}i===null&&t._tag===`Failure`&&(i=`Failed to load archived threads.`)}return{snapshots:r,error:i,isLoading:a}}).pipe(z(`${e.labelPrefix}:${t}`)))}function Ag(e){return S(function*(){return e.commandId===void 0?yield*(yield*vo).randomUUIDv4.pipe(hr,b(Nn.make)):e.commandId})}function jg(e){return s({commandId:Ag(e),createdAt:e.createdAt===void 0?Pi.pipe(b(we)):C(e.createdAt)})}function X(e){return jp(de.dispatchCommand,e)}var Mg=E(`EnvironmentCommands.createProject`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`project.create`,commandId:t.commandId,createdAt:t.createdAt})}),Ng=E(`EnvironmentCommands.updateProject`)(function*(e){return yield*X({...e,type:`project.meta.update`,commandId:yield*Ag(e)})}),Pg=E(`EnvironmentCommands.deleteProject`)(function*(e){return yield*X({...e,type:`project.delete`,commandId:yield*Ag(e)})}),Fg=E(`EnvironmentCommands.createThread`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.create`,commandId:t.commandId,createdAt:t.createdAt})}),Ig=E(`EnvironmentCommands.deleteThread`)(function*(e){return yield*X({...e,type:`thread.delete`,commandId:yield*Ag(e)})}),Lg=E(`EnvironmentCommands.archiveThread`)(function*(e){return yield*X({...e,type:`thread.archive`,commandId:yield*Ag(e)})}),Rg=E(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*X({...e,type:`thread.unarchive`,commandId:yield*Ag(e)})}),zg=E(`EnvironmentCommands.settleThread`)(function*(e){return yield*X({...e,type:`thread.settle`,commandId:yield*Ag(e)})}),Bg=E(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({...e,type:`thread.unsettle`,commandId:yield*Ag(e)})}),Vg=E(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({...e,type:`thread.snooze`,commandId:yield*Ag(e)})}),Hg=E(`EnvironmentCommands.publishThread`)(function*(e){return yield*X({...e,type:`thread.publish`,createdAt:e.createdAt??(yield*Pi).pipe(we),commandId:yield*Ag(e)})}),Ug=E(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({...e,type:`thread.unsnooze`,commandId:yield*Ag(e)})}),Wg=E(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({...e,type:`thread.pin`,commandId:yield*Ag(e)})}),Gg=E(`EnvironmentCommands.unpinThread`)(function*(e){return yield*X({...e,type:`thread.unpin`,commandId:yield*Ag(e)})}),Kg=E(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({...e,type:`thread.pin.reorder`,commandId:yield*Ag(e)})}),qg=E(`EnvironmentCommands.updateThreadMetadata`)(function*(e){return yield*X({...e,type:`thread.meta.update`,commandId:yield*Ag(e)})}),Jg=E(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.runtime-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),Yg=E(`EnvironmentCommands.setThreadAgent`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.interaction-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),Xg=E(`EnvironmentCommands.setThreadDesignSystem`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.design-system.set`,commandId:t.commandId,createdAt:t.createdAt})}),Zg=()=>{try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return Mr(e)?e:void 0}catch{return}},Qg=E(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*jg(e),n=Zg();return yield*X({...e,...n?{clientTimeZone:n}:{},type:`thread.turn.start`,commandId:t.commandId,createdAt:t.createdAt})}),$g=E(`EnvironmentCommands.interruptThreadTurn`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.turn.interrupt`,commandId:t.commandId,createdAt:t.createdAt})}),e_=E(`EnvironmentCommands.compactThread`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.compact`,commandId:t.commandId,createdAt:t.createdAt})}),t_=E(`EnvironmentCommands.respondToThreadApproval`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.approval.respond`,commandId:t.commandId,createdAt:t.createdAt})}),n_=E(`EnvironmentCommands.respondToThreadUserInput`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.user-input.respond`,commandId:t.commandId,createdAt:t.createdAt})}),r_=E(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.checkpoint.revert`,commandId:t.commandId,createdAt:t.createdAt})}),i_=E(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*jg(e);return yield*X({...e,type:`thread.session.stop`,commandId:t.commandId,createdAt:t.createdAt})});function a_(e){let t=Ip(),n={mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId])};return{create:Y(e,{label:`environment-data:commands:thread:create`,execute:e=>Fg(e),scheduler:t,concurrency:n}),delete:Y(e,{label:`environment-data:commands:thread:delete`,execute:e=>Ig(e),scheduler:t,concurrency:n}),archive:Y(e,{label:`environment-data:commands:thread:archive`,execute:e=>Lg(e),scheduler:t,concurrency:n}),unarchive:Y(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>Rg(e),scheduler:t,concurrency:n}),settle:Y(e,{label:`environment-data:commands:thread:settle`,execute:e=>zg(e),scheduler:t,concurrency:n}),unsettle:Y(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>Bg(e),scheduler:t,concurrency:n}),snooze:Y(e,{label:`environment-data:commands:thread:snooze`,execute:e=>Vg(e),scheduler:t,concurrency:n}),publish:Y(e,{label:`environment-data:commands:thread:publish`,execute:e=>Hg(e),scheduler:t,concurrency:n}),unsnooze:Y(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>Ug(e),scheduler:t,concurrency:n}),pin:Y(e,{label:`environment-data:commands:thread:pin`,execute:e=>Wg(e),scheduler:t,concurrency:n}),unpin:Y(e,{label:`environment-data:commands:thread:unpin`,execute:e=>Gg(e),scheduler:t,concurrency:n}),reorderPin:Y(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>Kg(e),scheduler:t,concurrency:n}),updateMetadata:Y(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>qg(e),scheduler:t,concurrency:n}),setRuntimeMode:Y(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>Jg(e),scheduler:t,concurrency:n}),setAgent:Y(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>Yg(e),scheduler:t,concurrency:n}),setDesignSystem:Y(e,{label:`environment-data:commands:thread:set-design-system`,execute:e=>Xg(e),scheduler:t,concurrency:n}),startTurn:Y(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>Qg(e),scheduler:t,concurrency:n}),interruptTurn:Y(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>$g(e),scheduler:t,concurrency:n}),compactThread:Y(e,{label:`environment-data:commands:thread:compact`,execute:e=>e_(e),scheduler:t,concurrency:n}),respondToApproval:Y(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>t_(e),scheduler:t,concurrency:n}),respondToUserInput:Y(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>n_(e),scheduler:t,concurrency:n}),revertCheckpoint:Y(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>r_(e),scheduler:t,concurrency:n}),stopSession:Y(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>i_(e),scheduler:t,concurrency:n}),uploadFeedback:rm(e,{label:`environment-data:commands:thread:upload-feedback`,tag:N.providerUploadFeedback,scheduler:t,concurrency:n}),continueSharedChat:rm(e,{label:`environment-data:commands:thread:continue-shared-chat`,tag:de.continueSharedChat})}}function o_(e){let t=/^\/feedback(?:\s+([\s\S]*))?$/iu.exec(e.trim());if(!t)return null;let n=t[1]?.trim();return n?{reason:n}:{}}function s_(e,t=`user`){let n=t===`user`?e.command:e.status===`sent`?`Feedback sent to OpenAI.\n\nThread ID: \`${e.feedbackId}\``:e.status===`failed`?`Could not send feedback to OpenAI.\n\n${e.errorMessage}`:`Sending feedback to OpenAI...`;return{id:t===`user`?e.id:Na.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function c_(e){e.onUpdate({...e.submission,status:`uploading`}),e.clearDraft();let t=await e.upload();if(t._tag===`Success`)e.onUpdate({...e.submission,status:`sent`,feedbackId:t.value.feedbackId});else if(Bp(t))e.onUpdate({...e.submission,status:`interrupted`});else{let n=Vp(t);e.onUpdate({...e.submission,status:`failed`,errorMessage:n instanceof Error?n.message:`An error occurred.`})}return t}var l_=Object.freeze([]),u_=Object.freeze([]),d_=Object.freeze([]),f_=Object.freeze([]);function p_(e,t){return e===null||t===null||e.environmentId!==t.environmentId||e.id!==t.id?e:{...e,environmentId:t.environmentId,id:t.id,projectId:t.projectId,title:t.title,modelSelection:t.modelSelection,runtimeMode:t.runtimeMode,agent:t.agent,borgProfileId:t.borgProfileId??null,sharedChatId:t.sharedChatId??null,...t.designSystemId===void 0?{}:{designSystemId:t.designSystemId},branch:t.branch,worktreePath:t.worktreePath,latestTurn:t.latestTurn,createdAt:t.createdAt,updatedAt:t.updatedAt,archivedAt:t.archivedAt,settledOverride:t.settledOverride,settledAt:t.settledAt,snoozedUntil:t.snoozedUntil,snoozedAt:t.snoozedAt,pinnedAt:t.pinnedAt,pinOrderKey:t.pinOrderKey,session:t.session}}function m_(e){let t=R(t=>{let n=Ih(t);return L(t=>qi(os(t(e(n.environmentId,n.threadId))),()=>Qh)).pipe(Fs(Zh),z(`environment-thread-state-value:${t}`))}),n=R(e=>{let n=Ih(e),r=null,i=null;return L(a=>{let o=nr(a(t(e)).data);return o===r?i:(r=o,i=o===null?null:ih(n.environmentId,o),i)}).pipe(Fs(Zh),z(`environment-thread-detail:${e}`))}),r=R(e=>L(n=>n(t(e)).status).pipe(Fs(Zh),z(`environment-thread-status:${e}`))),i=R(e=>L(n=>nr(n(t(e)).error)).pipe(Fs(Zh),z(`environment-thread-error:${e}`))),a=R(e=>L(t=>t(n(e))?.messages??l_).pipe(Fs(Zh),z(`environment-thread-messages:${e}`))),o=R(e=>L(t=>t(n(e))?.activities??u_).pipe(Fs(Zh),z(`environment-thread-activities:${e}`))),s=R(e=>L(t=>t(n(e))?.proposedPlans??d_).pipe(Fs(Zh),z(`environment-thread-proposed-plans:${e}`))),c=R(e=>L(t=>t(n(e))?.checkpoints??f_).pipe(Fs(Zh),z(`environment-thread-checkpoints:${e}`))),l=R(e=>L(t=>t(n(e))?.session??null).pipe(Fs(Zh),z(`environment-thread-session:${e}`))),u=R(e=>L(t=>t(n(e))?.latestTurn??null).pipe(Fs(Zh),z(`environment-thread-latest-turn:${e}`)));return{stateAtom:e=>t(jh(e)),detailAtom:e=>n(jh(e)),statusAtom:e=>r(jh(e)),errorAtom:e=>i(jh(e)),messagesAtom:e=>a(jh(e)),activitiesAtom:e=>o(jh(e)),proposedPlansAtom:e=>s(jh(e)),checkpointsAtom:e=>c(jh(e)),sessionAtom:e=>l(jh(e)),latestTurnAtom:e=>u(jh(e))}}function h_(e){return P(e)?`cached`:`empty`}function g_(e){return e===void 0?M():k({beforeCursor:e.beforeCursor,hasMore:e.hasMore,loadingOlder:!1})}function __(){let e=new Map;return{register:(t,n)=>(e.set(t,n),()=>{e.get(t)===n&&e.delete(t)}),request:t=>{let n=e.get(t);return n===void 0?!1:(n(),!0)}}}var v_=__(),y_=class extends Ee(`@borgtools/client-runtime/state/threads/ThreadOlderTurnRequests`,{defaultValue:()=>v_}){};function b_(e,t){return v_.request(jh({environmentId:e,threadId:t}))}function x_(e){let t=Zr(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function S_(e){let t=e.session?.status;return t!==`starting`&&t!==`running`}var C_=E(`EnvironmentThreadState.make`)(function*(e){let t=yield*yp,n=yield*gd,r=yield*wh,i=yield*fe(ip),a=t.target.environmentId,o=yield*n.loadThread(a,e).pipe(Tr(t=>y(`Could not load cached thread.`).pipe(_i({environmentId:a,threadId:e,error:t.message}),Hi(M())))),c=ci(o,e=>e.thread),l=yield*Bo({data:c,status:h_(c),error:M(),page:mi(o,e=>g_(e.page))}),d=yield*Bo(Pr(o,{onNone:()=>0,onSome:e=>e.snapshotSequence})),f=yield*co(!1),p=yield*co(0),m=yield*Ht(1),h=yield*co(!1),g=yield*co(null),_=yield*wn(1),v=E(`EnvironmentThreadState.persist`)(function*(t){yield*n.saveThread(a,t).pipe(Tr(t=>y(`Could not persist the thread cache.`).pipe(_i({environmentId:a,threadId:e,error:t.message}))))});yield*Ci(_).pipe(Ue(`500 millis`),_a(v),ft);let ee=Wo(l,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:M()}),te=Wo(l,e=>e.status===`live`||e.status===`deleted`?e:{...e,status:`synchronizing`,error:M()}),ne=S(function*(){yield*Wa(f,!1),yield*Wa(h,!1),yield*Wo(l,e=>({...e,status:e.status===`deleted`?e.status:h_(e.data)}))}),re=e=>Wa(f,!1).pipe(yr(Wo(l,t=>({...t,status:t.status===`deleted`?t.status:h_(t.data),error:k(x_(e))})))),ie=E(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*so(f);if(yield*Wo(l,r=>({data:k(e),status:n?`synchronizing`:`live`,error:M(),page:t===`keep`?r.page:t})),S_(e)){let t=yield*I(d),n=yield*I(l).pipe(b(e=>e.page));yield*Se(_,{snapshotSequence:t,thread:e,...Pr(n,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})})}}),ae=E(`EnvironmentThreadState.setDeleted`)(function*(){yield*Wa(f,!1),yield*lo(p,e=>e+1),yield*Uo(l,{data:M(),status:`deleted`,error:M(),page:M()}),yield*n.removeThread(a,e).pipe(Tr(t=>y(`Could not remove the cached thread.`).pipe(_i({environmentId:a,threadId:e,error:t.message}))))}),oe=E(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*Wa(f,!1),yield*Wo(l,e=>P(e.data)&&e.status!==`deleted`?{...e,status:`live`,error:M()}:e);return}if(e.kind===`snapshot`){yield*lo(p,e=>e+1),yield*Uo(d,e.snapshot.snapshotSequence),yield*ie(e.snapshot.thread,g_(e.snapshot.page));return}let t=yield*I(d);if(e.event.sequence<=t)return;yield*Uo(d,e.event.sequence);let n=yield*I(l);if(Sr(n.data)){e.event.type===`thread.deleted`&&(yield*ae());return}e.event.type===`thread.reverted`&&(yield*lo(p,e=>e+1));let r=Gh(n.data.value,e.event);r.kind===`updated`?yield*ie(r.thread,`keep`):r.kind===`deleted`&&(yield*ae()),yield*se()}),se=E(`EnvironmentThreadState.tryMergePendingOlderPage`)(function*(){let e=yield*so(g);if(e===null)return;if((yield*so(p))!==e.epoch){yield*Wa(g,null),yield*Wo(l,e=>({...e,page:ci(e.page,e=>({...e,loadingOlder:!1}))}));return}let t=e.snapshot.page?.threadSequence,n=yield*I(d);t!==void 0&&t>n||(yield*Wa(g,null),yield*le(e.snapshot))}),ce=E(`EnvironmentThreadState.applyItem`)(function*(e){yield*m.withPermits(1)(oe(e))}),le=E(`EnvironmentThreadState.mergeOlderPage`)(function*(e){let t=null;if(yield*Wo(l,n=>{if(Sr(n.data))return n;let r=n.data.value,i=e.thread,a=(e,t)=>{let n=new Set(t.map(e=>e.id));return[...e.filter(e=>!n.has(e.id)),...t]},o=new Set(r.checkpoints.map(e=>e.turnId));return t={...r,messages:a(i.messages,r.messages),activities:a(i.activities,r.activities),proposedPlans:a(i.proposedPlans,r.proposedPlans),checkpoints:[...i.checkpoints.filter(e=>!o.has(e.turnId)),...r.checkpoints]},{...n,data:k(t),page:g_(e.page)}}),t!==null&&S_(t)){let n=yield*I(d);yield*Se(_,{snapshotSequence:n,thread:t,...e.page===void 0?{}:{page:{...e.page,snapshotSequence:n}}})}}),ue=E(`EnvironmentThreadState.loadOlderTurns`)(function*(){if(!(yield*so(h)))return;let n=nr((yield*I(l)).page);if(n===null||n.loadingOlder||!n.hasMore||n.beforeCursor===null)return;let i=nr(yield*I(t.prepared));if(i===null)return;let a=yield*so(p);yield*Wo(l,e=>({...e,page:ci(e.page,e=>({...e,loadingOlder:!0}))}));let o={turnLimit:20,beforeCursor:n.beforeCursor},s=yield*r.load(i,e,o);yield*m.withPermits(1)(S(function*(){let e=yield*so(p),t=yield*I(d),n=e!==a||Pr(s,{onNone:()=>!1,onSome:e=>e.snapshotSequence<t});if(Sr(s)||n){yield*Wo(l,e=>({...e,page:ci(e.page,e=>({...e,loadingOlder:!1}))}));return}let r=s.value.page?.threadSequence;if(r!==void 0&&r>t){yield*Wa(g,{snapshot:s.value,epoch:e});return}yield*le(s.value)}))});yield*Vo(t.state).pipe(_a(e=>{switch(Wu(e)){case`synchronizing`:return ee;case`disconnected`:return ne;case`ready`:return te}}),ft);let pe=Pr(i,{onNone:()=>Di,onSome:e=>e.changes.pipe(ta(rp))});yield*ee,yield*ft(Np(de.subscribeThread,E(`EnvironmentThreadState.makeSubscribeInput`)(function*(n){let i=yield*n.initialConfig.pipe(ea(()=>({}))),a=i.threadResumeCompletionMarker===!0,o=i.threadSnapshotPagination===!0;yield*Wa(h,o),yield*Wa(f,a),yield*ee;let s=yield*I(l);if(!o&&P(s.page)&&(yield*lo(p,e=>e+1),yield*Wo(l,e=>({...e,data:M(),status:e.status===`deleted`?e.status:`empty`,page:M()})),yield*Uo(d,0),s=yield*I(l)),Sr(s.data)&&s.status!==`deleted`){let n=yield*I(t.prepared).pipe(T(Pr({onSome:C,onNone:()=>Vo(t.prepared).pipe(ta(P),ai(e=>e.value),Xn,b(ii))}))),i=yield*r.load(n,e,o?{turnLimit:10}:void 0);P(i)&&(yield*ce({kind:`snapshot`,snapshot:i.value}),s=yield*I(l))}let c=yield*I(d),u=P(s.data);return!a&&u&&(yield*Wo(l,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:M()}))),{threadId:e,...u?{afterSequence:c}:{},...a?{requestCompletionMarker:!0}:{},...o?{turnLimit:10}:{}}}),{onExpectedFailure:re,retryExpectedFailureAfter:`250 millis`,resubscribe:pe}).pipe(_a(ce)));let me=yield*y_,he=yield*wn(1);yield*Ci(he).pipe(_a(()=>ue()),ft);let ge=me.register(jh({environmentId:a,threadId:e}),()=>{Mi(he,void 0)});return yield*It(()=>u(ge)),yield*It(()=>s([I(l),I(d)]).pipe(T(([e,t])=>Pr(e.data,{onNone:()=>D,onSome:n=>S_(n)?v({snapshotSequence:t,thread:n,...Pr(e.page,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})}):D})))),l});function w_(e,t){return Qp(e,bt(C_(t).pipe(b(Vo))))}function T_(e){let t=R(t=>{let{environmentId:n,threadId:r}=Ih(t);return e.atom(w_(n,r),{initialValue:Qh}).pipe(Fs(Zh),z(`environment-thread-state:${t}`))});return{stateAtom:(e,n)=>t(jh({environmentId:e,threadId:n}))}}var E_=6e4,D_=E(`clientRuntime.state.fetchEnvironmentPullRequestDiff`)(function*(e){let t=po(e.prepared.httpBaseUrl).pullRequests.diff(),n=yield*eo(e.prepared.httpBaseUrl),r=yield*Xm(e.prepared.httpAuthorization,`POST`,t,e.signer);return yield*Ka(t,e.timeoutMs??E_,Ym(e.prepared.httpAuthorization,n.pullRequests.diff({payload:e.diff,headers:r})))}),O_=class extends x()(`@borgtools/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},k_=lt(O_,S(function*(){let e=yield*ao,t=yield*fe(Ud);return O_.of({load:(n,r)=>D_({prepared:n,diff:r,signer:t}).pipe(A(ao,e))})})),A_=class extends ua(`EnvironmentHttpConnectionNotReadyError`){};function j_(e){return tm(e,{label:`environment-data:pull-requests:linked-detail`,tag:N.pullRequestsDetail,staleTimeMs:15e3,refreshIntervalMs:3e4})}function M_(e){return{number:e.number,title:e.title,url:e.url,baseRef:e.baseBranch,headRef:e.headBranch,state:e.state,updatedAt:e.updatedAt}}function N_(e){let t=Ip(),n={mode:`serial`,key:({environmentId:e})=>e},r=tm(e,{label:`environment-data:pull-requests:activity`,tag:N.pullRequestsActivity,staleTimeMs:15e3});return{list:tm(e,{label:`environment-data:pull-requests:list`,tag:N.pullRequestsList,staleTimeMs:3e4}),listStats:tm(e,{label:`environment-data:pull-requests:list-stats`,tag:N.pullRequestsListStats,staleTimeMs:6e4}),detail:tm(e,{label:`environment-data:pull-requests:detail`,tag:N.pullRequestsDetail,staleTimeMs:15e3}),activity:r,threadComments:rm(e,{label:`environment-data:pull-requests:thread-comments`,tag:N.pullRequestsThreadComments,scheduler:t,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.cursor])}}),diff:$p(e,{label:`environment-data:pull-requests:diff`,staleTimeMs:6e4,execute:e=>S(function*(){let t=yield*yp,n=yield*O_,r=yield*I(t.prepared);return Sr(r)?yield*new A_({message:`The environment HTTP connection is not ready.`}):yield*n.load(r.value,e)})}),diffFileContents:rm(e,{label:`environment-data:pull-requests:diff-file-contents`,tag:N.pullRequestsDiffFileContents,scheduler:t,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.projectId,t.repository,t.number,t.commit??null,t.changeType,t.oldPath,t.newPath])}}),runAction:rm(e,{label:`environment-data:pull-requests:run-action`,tag:N.pullRequestsRunAction,scheduler:t,concurrency:n}),update:rm(e,{label:`environment-data:pull-requests:update`,tag:N.pullRequestsUpdate,scheduler:t,concurrency:n}),comment:rm(e,{label:`environment-data:pull-requests:comment`,tag:N.pullRequestsComment,scheduler:t,concurrency:n}),updateComment:rm(e,{label:`environment-data:pull-requests:update-comment`,tag:N.pullRequestsUpdateComment,scheduler:t,concurrency:n,onSuccess:({environmentId:e,input:{projectId:t,repository:n,number:i}},a)=>u(()=>a.refresh(r({environmentId:e,input:{projectId:t,repository:n,number:i}})))}),submitReview:rm(e,{label:`environment-data:pull-requests:submit-review`,tag:N.pullRequestsSubmitReview,scheduler:t,concurrency:n}),replyToThread:rm(e,{label:`environment-data:pull-requests:reply-to-thread`,tag:N.pullRequestsReplyToThread,scheduler:t,concurrency:n}),reviewerCandidates:tm(e,{label:`environment-data:pull-requests:reviewer-candidates`,tag:N.pullRequestsReviewerCandidates,staleTimeMs:6e4}),requestReviewers:rm(e,{label:`environment-data:pull-requests:request-reviewers`,tag:N.pullRequestsRequestReviewers,scheduler:t,concurrency:n}),setThreadResolution:rm(e,{label:`environment-data:pull-requests:set-thread-resolution`,tag:N.pullRequestsSetThreadResolution,scheduler:t,concurrency:n}),setReaction:rm(e,{label:`environment-data:pull-requests:set-reaction`,tag:N.pullRequestsSetReaction,scheduler:t,concurrency:n}),invalidate:rm(e,{label:`environment-data:pull-requests:invalidate`,tag:N.pullRequestsInvalidate,scheduler:t,concurrency:n})}}var P_=pt([`configured`,`window-origin`,`desktop-managed`]),F_=pt([`http-base-url`,`websocket-base-url`,`development-server-url`,`window-location-url`]),I_=class extends De()(`PrimaryEnvironmentUrlInvalidError`,{source:P_,urlKind:F_,cause:vt()}){get message(){return`Could not parse ${this.urlKind} for the ${this.source} primary environment target.`}},L_=class extends De()(`PrimaryEnvironmentProtocolUnsupportedError`,{source:P_,protocol:w}){get message(){return`The ${this.source} primary environment target uses unsupported protocol ${this.protocol}.`}},R_=class extends De()(`DesktopEnvironmentBootstrapIncompleteError`,{hasHttpBaseUrl:Xt,hasWsBaseUrl:Xt}){get message(){return`Desktop bootstrap is missing ${[...this.hasHttpBaseUrl?[]:[`httpBaseUrl`],...this.hasWsBaseUrl?[]:[`wsBaseUrl`]].join(` and `)} for the local environment.`}};da(I_),da(L_),da(R_);var z_=new Set([`127.0.0.1`,`::1`,`localhost`]);function B_(){return(window.desktopBridge?.getLocalEnvironmentBootstraps()??[]).find(e=>e.id===`primary`)??null}function V_(e){try{return e.baseUrl===void 0?new URL(e.rawValue):new URL(e.rawValue,e.baseUrl)}catch(t){throw new I_({source:e.source,urlKind:e.urlKind,cause:t})}}function H_(e,t,n){return V_({rawValue:e,baseUrl:window.location.origin,source:t,urlKind:n}).toString()}function U_(e){return e.trim().toLowerCase().replace(/^\[(.*)\]$/,`$1`)}function W_(e){return z_.has(U_(e))}function G_(e){return e.target.httpBaseUrl}function K_(){return null}function q_(){let e=V_({rawValue:window.location.origin,source:`window-origin`,urlKind:`http-base-url`}),t=e.toString();if(e.protocol===`http:`)e.protocol=`ws:`;else if(e.protocol===`https:`)e.protocol=`wss:`;else throw new L_({source:`window-origin`,protocol:e.protocol});return{source:`window-origin`,target:{httpBaseUrl:t,wsBaseUrl:e.toString()}}}function J_(){let e=B_();if(!e||!e.httpBaseUrl&&!e.wsBaseUrl)return null;if(!e.httpBaseUrl||!e.wsBaseUrl)throw new R_({hasHttpBaseUrl:!!e.httpBaseUrl,hasWsBaseUrl:!!e.wsBaseUrl});return{source:`desktop-managed`,target:{httpBaseUrl:H_(e.httpBaseUrl,`desktop-managed`,`http-base-url`),wsBaseUrl:H_(e.wsBaseUrl,`desktop-managed`,`websocket-base-url`)}}}function Y_(e,t){let n=X_(),r=new URL($a(G_(n),e));return t&&(r.search=new URLSearchParams(t).toString()),r.toString()}function X_(){return J_()??K_()??q_()}var Z_=class extends x()(`@borgtools/web/environments/primary/httpClient/PrimaryEnvironmentHttpClient`){},Q_=lt(Z_,Yr(()=>eo(Y_(`/`)))),$_=null;function ev(){if(typeof window>`u`)return Promise.resolve(null);let e=window.desktopBridge;return e?($_??=e.getLocalEnvironmentBearerToken().catch(e=>{throw $_=null,e}),$_):Promise.resolve(null)}function tv(){return typeof window>`u`||window.desktopBridge!==void 0||!window.location.origin.startsWith(`http`)?!1:new URL(Y_(`/`)).origin===window.location.origin}function nv(e){return e.pipe(Za(e=>pi(ev).pipe(b(t=>t?on(e,t):e))))}function rv(){return je(u(()=>{let e=Ga(globalThis.fetch);return tv()?Ie(e,v(fo,{credentials:`include`})):Ie(lt(ao,b(ao,nv)).pipe(Ut(e)),v(fo,{credentials:`omit`}))}))}var iv=rv(),av=Ga((e,t)=>globalThis.fetch(e,t)),ov=v(vo,yo({randomBytes:e=>globalThis.crypto.getRandomValues(new Uint8Array(e)),digest:(e,t)=>pi(async()=>{let n=new Uint8Array(t.length);return n.set(t),new Uint8Array(await globalThis.crypto.subtle.digest(e,n.buffer))})}));Do(av);var sv=Do(Q_.pipe(Ut(iv))),cv=e=>sv.runPromise(e),lv=e=>cv(e),uv=_t(Do(nt(av,ov,ut)).contextEffect),dv=`borg.backgroundActivity.clientId`,fv=25e3,pv=45e3,mv=pv,hv=[{type:`provider-status`}],gv=new Map,_v=new Set;function vv(){for(let e of _v)try{e()}catch{}}function yv(e,t){switch(t.type){case`server-config`:case`diagnostics`:return JSON.stringify([e,t.type]);case`provider-status`:return JSON.stringify([e,t.type,t.instanceId??null]);case`vcs-status`:case`git-refs`:return JSON.stringify([e,t.type,t.cwd]);case`thread`:return JSON.stringify([e,t.type,t.threadId])}}function bv(){try{let e=window.localStorage.getItem(dv);if(e)return e;let t=uo();return window.localStorage.setItem(dv,t),t}catch{return`ephemeral-browser-client`}}function xv(){return window.desktopBridge?`desktop-renderer`:`web`}function Sv(e,t){return e<=t&&t-e<=mv}function Cv(e,t,n){let r=[...hv];for(let t of gv.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:bv(),clientKind:xv(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:Sv(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:pv,observedAt:Xe(n)}}function wv(e){if(e.method===N.subscribeResourceTelemetry)return{type:`diagnostics`};if(e.method!==N.subscribeVcsStatus)return null;let t=e.input;return typeof t.cwd==`string`?{type:`vcs-status`,cwd:t.cwd}:null}function Tv(e,t){let n=yv(e,t),r=gv.get(n);return r?r.refCount+=1:(gv.set(n,{environmentId:e,scope:t,refCount:1}),vv()),()=>{let e=gv.get(n);e&&(--e.refCount,e.refCount<=0&&(gv.delete(n),vv()))}}function Ev(e){let t=wv(e);return t===null?C(D):u(()=>u(Tv(e.environmentId,t)))}var Dv=v(Op,Op.of({observe:Ev})),Ov=kt(S(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*wp,t=yield*Yi,n=yield*wn(1),r=()=>Mi(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=Sv(i,e);i=e,n||r()},o={passive:!0},s=S(function*(){let t=yield*ir;yield*ue((yield*I(e.entries)).keys(),n=>e.run(n,jp(N.serverReportClientActivity,Cv(n,i,t))).pipe(jt),{concurrency:`unbounded`,discard:!0})}).pipe(F(`web.backgroundActivity.report`));yield*bn(u(()=>{_v.add(r),document.addEventListener(`visibilitychange`,r),window.addEventListener(`focus`,r),window.addEventListener(`blur`,r),window.addEventListener(`online`,r),window.addEventListener(`pointermove`,a),window.addEventListener(`keydown`,a),window.addEventListener(`wheel`,a,o),window.addEventListener(`touchstart`,a,o)}),()=>u(()=>{_v.delete(r),document.removeEventListener(`visibilitychange`,r),window.removeEventListener(`focus`,r),window.removeEventListener(`blur`,r),window.removeEventListener(`online`,r),window.removeEventListener(`pointermove`,a),window.removeEventListener(`keydown`,a),window.removeEventListener(`wheel`,a),window.removeEventListener(`touchstart`,a)})),yield*Vo(e.entries).pipe(_a(()=>u(r)),ft),yield*Ci(n).pipe(Ue(`250 millis`),_a(()=>s),ft),yield*u(r).pipe(tr(Vi(`${fv} millis`)),ft)})),kv=g({connectionId:w,credential:$u}),Av=g({schemaVersion:at(1),targets:Sa(Bu),profiles:Sa(Zu),credentials:Sa(kv),remoteDpopTokens:Sa(Kd)}),jv=Object.freeze({schemaVersion:1,targets:[],profiles:[],credentials:[],remoteDpopTokens:[]});function Mv(e,t,n){let r=t(n);return[...e.filter(e=>t(e)!==r),n]}function Nv(e,t,n){return e.filter(e=>t(e)!==n)}function Pv(e){switch(e._tag){case`PrimaryConnectionTarget`:return null;case`BearerConnectionTarget`:case`CloudConnectionTarget`:case`SshConnectionTarget`:case`BorgConnectionTarget`:return e.connectionId}}function Fv(e,t,n){let r=Pv(t),i=Nv(e.targets,e=>e.environmentId,t.environmentId),a=r!==null&&!i.some(e=>Pv(e)===r);return{...e,targets:i,profiles:a?Nv(e.profiles,e=>e.connectionId,r):e.profiles,credentials:a?Nv(e.credentials,e=>e.connectionId,r):e.credentials,remoteDpopTokens:n?Nv(e.remoteDpopTokens,e=>e.environmentId,t.environmentId):e.remoteDpopTokens}}function Iv(e,t){let n=t.target,r=e.targets.find(e=>e.environmentId===n.environmentId),i=r===void 0?e:Fv(e,r,!1),a={...i,targets:Mv(i.targets,e=>e.environmentId,n)};switch(t._tag){case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`BorgConnectionRegistration`:return{...a,profiles:Mv(a.profiles,e=>e.connectionId,t.profile),credentials:Mv(a.credentials,e=>e.connectionId,{connectionId:t.target.connectionId,credential:t.credential})};case`SshConnectionRegistration`:return{...a,profiles:Mv(a.profiles,e=>e.connectionId,t.profile)}}}function Lv(e,t){return Fv(e,t,!0)}function Rv(e){if(typeof e==`number`)return Number.isSafeInteger(e)&&e!==0;if(typeof e!=`string`)return!1;let t=e.trim();if(!/^-?[0-9]+$/u.test(t))return!1;let n=Number(t);return Number.isSafeInteger(n)&&n!==0}var zv=class extends Error{status;constructor(e){super(`Borg tunnel request failed (${e}).`),this.name=`BorgTunnelClientError`,this.status=e}};function Bv(){return crypto.randomUUID()}function Vv(e){if(!Rv(e.customerId))throw new zv(400);let t=e.fetch??globalThis.fetch,n=e.apiUrl.replace(/\/$/,``),r=async(r,i={})=>{let a=await e.getAccessToken();if(!a)throw new zv(401);let o=await t(`${n}${r}`,{...i,headers:{...i.headers,authorization:`Bearer ${a}`}});if(!o.ok)throw new zv(o.status);return o};return{requestTicket:async()=>{let t=await(await r(`/api/v1/ws-tickets/`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({customer_id:e.customerId})})).json();if(typeof t.ticket!=`string`||t.ticket.length===0)throw new zv(502);return t.ticket},status:async e=>{let t=await(await r(`/api/v1/devices/${e}/tunnel-status/`)).json();if(typeof t.tunnel_online!=`boolean`)throw new zv(502);return{deviceId:String(t.device_id??e),online:t.tunnel_online,lastSeenAt:typeof t.last_seen_at==`string`?t.last_seen_at:null}}}}var Hv=32,Uv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function Wv(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n]??0,i=n+1<e.length,a=n+2<e.length,o=e[n+1]??0,s=e[n+2]??0;t+=Uv[r>>2],t+=Uv[(r&3)<<4|o>>4],i&&(t+=Uv[(o&15)<<2|s>>6]),a&&(t+=Uv[s&63])}return t}var Gv={randomBytes:e=>{let t=new Uint8Array(e);return globalThis.crypto.getRandomValues(t),t},sha256:async e=>new Uint8Array(await globalThis.crypto.subtle.digest(`SHA-256`,Uint8Array.from(e).buffer))};async function Kv(e=Hv,t=Gv){return Wv(await t.randomBytes(e))}async function qv(e=Gv){let t=await Kv(Hv,e);return{verifier:t,challenge:Wv(await e.sha256(new TextEncoder().encode(t))),method:`S256`}}var Jv;function Z(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var Yv=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Xv=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Jv=globalThis).__zod_globalConfig??(Jv.__zod_globalConfig={});var Zv=globalThis.__zod_globalConfig;function Qv(e){return e&&Object.assign(Zv,e),Zv}function $v(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ey(e,t){return typeof t==`bigint`?t.toString():t}function ty(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function ny(e){return e==null}function ry(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function iy(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var ay=Symbol(`evaluating`);function Q(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==ay)return r===void 0&&(r=ay,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function oy(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function sy(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function cy(e){return JSON.stringify(e)}function ly(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var uy=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function dy(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var fy=ty(()=>{if(Zv.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function py(e){if(dy(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(dy(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function my(e){return py(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var hy=new Set([`string`,`number`,`symbol`]);function gy(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function _y(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function $(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function vy(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var yy={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function by(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return _y(e,sy(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return oy(this,`shape`,e),e},checks:[]}))}function xy(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return _y(e,sy(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return oy(this,`shape`,r),r},checks:[]}))}function Sy(e,t){if(!py(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return _y(e,sy(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return oy(this,`shape`,n),n}}))}function Cy(e,t){if(!py(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return _y(e,sy(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return oy(this,`shape`,n),n}}))}function wy(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return _y(e,sy(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return oy(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Ty(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return _y(t,sy(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return oy(this,`shape`,i),i},checks:[]}))}function Ey(e,t,n){return _y(t,sy(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return oy(this,`shape`,i),i}}))}function Dy(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Oy(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function ky(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Ay(e){return typeof e==`string`?e:e?.message}function jy(e,t,n){let r=e.message?e.message:Ay(e.inst?._zod.def?.error?.(e))??Ay(t?.error?.(e))??Ay(n.customError?.(e))??Ay(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function My(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ny(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Py=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ey,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Fy=Z(`$ZodError`,Py),Iy=Z(`$ZodError`,Py,{Parent:Error});function Ly(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Ry(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var zy=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Yv;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>jy(e,a,Qv())));throw uy(t,i?.callee),t}return o.value},By=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>jy(e,a,Qv())));throw uy(t,i?.callee),t}return o.value},Vy=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Yv;return a.issues.length?{success:!1,error:new(e??Fy)(a.issues.map(e=>jy(e,i,Qv())))}:{success:!0,data:a.value}},Hy=Vy(Iy),Uy=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>jy(e,i,Qv())))}:{success:!0,data:a.value}},Wy=Uy(Iy),Gy=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return zy(e)(t,n,i)},Ky=e=>(t,n,r)=>zy(e)(t,n,r),qy=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return By(e)(t,n,i)},Jy=e=>async(t,n,r)=>By(e)(t,n,r),Yy=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Vy(e)(t,n,i)},Xy=e=>(t,n,r)=>Vy(e)(t,n,r),Zy=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Uy(e)(t,n,i)},Qy=e=>async(t,n,r)=>Uy(e)(t,n,r),$y=/^[cC][0-9a-z]{6,}$/,eb=/^[0-9a-z]+$/,tb=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,nb=/^[0-9a-vA-V]{20}$/,rb=/^[A-Za-z0-9]{27}$/,ib=/^[a-zA-Z0-9_-]{21}$/,ab=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ob=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,sb=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,cb=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,lb=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function ub(){return new RegExp(lb,`u`)}var db=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fb=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,pb=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,mb=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,hb=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,gb=/^[A-Za-z0-9_-]*$/,_b=/^https?$/,vb=/^\+[1-9]\d{6,14}$/,yb=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,bb=RegExp(`^${yb}$`);function xb(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Sb(e){return RegExp(`^${xb(e)}$`)}function Cb(e){let t=xb({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${yb}T(?:${r})$`)}var wb=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Tb=/^-?\d+$/,Eb=/^-?\d+(?:\.\d+)?$/,Db=/^[^A-Z]*$/,Ob=/^[^a-z]*$/,kb=Z(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Ab={number:`number`,bigint:`bigint`,object:`date`},jb=Z(`$ZodCheckLessThan`,(e,t)=>{kb.init(e,t);let n=Ab[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mb=Z(`$ZodCheckGreaterThan`,(e,t)=>{kb.init(e,t);let n=Ab[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Nb=Z(`$ZodCheckMultipleOf`,(e,t)=>{kb.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):iy(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Pb=Z(`$ZodCheckNumberFormat`,(e,t)=>{kb.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=yy[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Tb)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Fb=Z(`$ZodCheckMaxLength`,(e,t)=>{var n;kb.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ny(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=My(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ib=Z(`$ZodCheckMinLength`,(e,t)=>{var n;kb.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ny(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=My(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Lb=Z(`$ZodCheckLengthEquals`,(e,t)=>{var n;kb.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ny(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=My(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Rb=Z(`$ZodCheckStringFormat`,(e,t)=>{var n,r;kb.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),zb=Z(`$ZodCheckRegex`,(e,t)=>{Rb.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Bb=Z(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Db,Rb.init(e,t)}),Vb=Z(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Ob,Rb.init(e,t)}),Hb=Z(`$ZodCheckIncludes`,(e,t)=>{kb.init(e,t);let n=gy(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Ub=Z(`$ZodCheckStartsWith`,(e,t)=>{kb.init(e,t);let n=RegExp(`^${gy(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Wb=Z(`$ZodCheckEndsWith`,(e,t)=>{kb.init(e,t);let n=RegExp(`.*${gy(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Gb=Z(`$ZodCheckOverwrite`,(e,t)=>{kb.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Kb=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
4
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
5
|
-
`))}},qb={major:4,minor:4,patch:3},Jb=Z(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qb;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Dy(e),i;for(let a of t){if(a._zod.def.when){if(Oy(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Yv;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Dy(e,t))});else{if(e.issues.length===t)continue;r||=Dy(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Dy(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Yv;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Yv;return o.then(e=>t(e,r,a))}return t(o,r,a)}}Q(e,`~standard`,()=>({validate:t=>{try{let n=Hy(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Wy(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Yb=Z(`$ZodString`,(e,t)=>{Jb.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??wb(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Xb=Z(`$ZodStringFormat`,(e,t)=>{Rb.init(e,t),Yb.init(e,t)}),Zb=Z(`$ZodGUID`,(e,t)=>{t.pattern??=ob,Xb.init(e,t)}),Qb=Z(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=sb(e)}else t.pattern??=sb();Xb.init(e,t)}),$b=Z(`$ZodEmail`,(e,t)=>{t.pattern??=cb,Xb.init(e,t)}),ex=Z(`$ZodURL`,(e,t)=>{Xb.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===_b.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),tx=Z(`$ZodEmoji`,(e,t)=>{t.pattern??=ub(),Xb.init(e,t)}),nx=Z(`$ZodNanoID`,(e,t)=>{t.pattern??=ib,Xb.init(e,t)}),rx=Z(`$ZodCUID`,(e,t)=>{t.pattern??=$y,Xb.init(e,t)}),ix=Z(`$ZodCUID2`,(e,t)=>{t.pattern??=eb,Xb.init(e,t)}),ax=Z(`$ZodULID`,(e,t)=>{t.pattern??=tb,Xb.init(e,t)}),ox=Z(`$ZodXID`,(e,t)=>{t.pattern??=nb,Xb.init(e,t)}),sx=Z(`$ZodKSUID`,(e,t)=>{t.pattern??=rb,Xb.init(e,t)}),cx=Z(`$ZodISODateTime`,(e,t)=>{t.pattern??=Cb(t),Xb.init(e,t)}),lx=Z(`$ZodISODate`,(e,t)=>{t.pattern??=bb,Xb.init(e,t)}),ux=Z(`$ZodISOTime`,(e,t)=>{t.pattern??=Sb(t),Xb.init(e,t)}),dx=Z(`$ZodISODuration`,(e,t)=>{t.pattern??=ab,Xb.init(e,t)}),fx=Z(`$ZodIPv4`,(e,t)=>{t.pattern??=db,Xb.init(e,t),e._zod.bag.format=`ipv4`}),px=Z(`$ZodIPv6`,(e,t)=>{t.pattern??=fb,Xb.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),mx=Z(`$ZodCIDRv4`,(e,t)=>{t.pattern??=pb,Xb.init(e,t)}),hx=Z(`$ZodCIDRv6`,(e,t)=>{t.pattern??=mb,Xb.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function gx(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var _x=Z(`$ZodBase64`,(e,t)=>{t.pattern??=hb,Xb.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{gx(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function vx(e){if(!gb.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return gx(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var yx=Z(`$ZodBase64URL`,(e,t)=>{t.pattern??=gb,Xb.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{vx(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),bx=Z(`$ZodE164`,(e,t)=>{t.pattern??=vb,Xb.init(e,t)});function xx(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Sx=Z(`$ZodJWT`,(e,t)=>{Xb.init(e,t),e._zod.check=n=>{xx(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Cx=Z(`$ZodNumber`,(e,t)=>{Jb.init(e,t),e._zod.pattern=e._zod.bag.pattern??Eb,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),wx=Z(`$ZodNumberFormat`,(e,t)=>{Pb.init(e,t),Cx.init(e,t)}),Tx=Z(`$ZodUnknown`,(e,t)=>{Jb.init(e,t),e._zod.parse=e=>e}),Ex=Z(`$ZodNever`,(e,t)=>{Jb.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Dx(e,t,n){e.issues.length&&t.issues.push(...ky(n,e.issues)),t.value[n]=e.value}var Ox=Z(`$ZodArray`,(e,t)=>{Jb.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Dx(t,n,e))):Dx(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function kx(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...ky(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Ax(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=vy(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function jx(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>kx(e,n,i,t,u,d))):kx(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Mx=Z(`$ZodObject`,(e,t)=>{if(Jb.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=ty(()=>Ax(t));Q(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=dy,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>kx(n,t,e,s,r,i))):kx(a,t,e,s,r,i)}return i?jx(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Nx=Z(`$ZodObjectJIT`,(e,t)=>{Mx.init(e,t);let n=e._zod.parse,r=ty(()=>Ax(t)),i=e=>{let t=new Kb([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=cy(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=cy(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
6
|
-
if (${n}.issues.length) {
|
|
7
|
-
if (${o} in input) {
|
|
8
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
9
|
-
...iss,
|
|
10
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
11
|
-
})));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (${n}.value === undefined) {
|
|
16
|
-
if (${o} in input) {
|
|
17
|
-
newResult[${o}] = undefined;
|
|
18
|
-
}
|
|
19
|
-
} else {
|
|
20
|
-
newResult[${o}] = ${n}.value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
`):c?t.write(`
|
|
24
|
-
if (${n}.issues.length) {
|
|
25
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
26
|
-
...iss,
|
|
27
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
28
|
-
})));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (${n}.value === undefined) {
|
|
32
|
-
if (${o} in input) {
|
|
33
|
-
newResult[${o}] = undefined;
|
|
34
|
-
}
|
|
35
|
-
} else {
|
|
36
|
-
newResult[${o}] = ${n}.value;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
`):t.write(`
|
|
40
|
-
const ${n}_present = ${o} in input;
|
|
41
|
-
if (${n}.issues.length) {
|
|
42
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
43
|
-
...iss,
|
|
44
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
45
|
-
})));
|
|
46
|
-
}
|
|
47
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
48
|
-
payload.issues.push({
|
|
49
|
-
code: "invalid_type",
|
|
50
|
-
expected: "nonoptional",
|
|
51
|
-
input: undefined,
|
|
52
|
-
path: [${o}]
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (${n}_present) {
|
|
57
|
-
if (${n}.value === undefined) {
|
|
58
|
-
newResult[${o}] = undefined;
|
|
59
|
-
} else {
|
|
60
|
-
newResult[${o}] = ${n}.value;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=dy,s=!Zv.jitless,c=s&&fy.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?jx([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Px(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Dy(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>jy(e,r,Qv())))}),t)}var Fx=Z(`$ZodUnion`,(e,t)=>{Jb.init(e,t),Q(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),Q(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),Q(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),Q(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>ry(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Px(t,r,e,i)):Px(o,r,e,i)}}),Ix=Z(`$ZodIntersection`,(e,t)=>{Jb.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Rx(e,t,n)):Rx(e,i,a)}});function Lx(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(py(e)&&py(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Lx(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Lx(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Rx(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Dy(e))return e;let o=Lx(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var zx=Z(`$ZodEnum`,(e,t)=>{Jb.init(e,t);let n=$v(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>hy.has(typeof e)).map(e=>typeof e==`string`?gy(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Bx=Z(`$ZodTransform`,(e,t)=>{Jb.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Xv(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Yv;return n.value=i,n.fallback=!0,n}});function Vx(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var Hx=Z(`$ZodOptional`,(e,t)=>{Jb.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Q(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ry(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>Vx(e,r)):Vx(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Ux=Z(`$ZodExactOptional`,(e,t)=>{Hx.init(e,t),Q(e._zod,`values`,()=>t.innerType._zod.values),Q(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Wx=Z(`$ZodNullable`,(e,t)=>{Jb.init(e,t),Q(e._zod,`optin`,()=>t.innerType._zod.optin),Q(e._zod,`optout`,()=>t.innerType._zod.optout),Q(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ry(e.source)}|null)$`):void 0}),Q(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Gx=Z(`$ZodDefault`,(e,t)=>{Jb.init(e,t),e._zod.optin=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Kx(e,t)):Kx(r,t)}});function Kx(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var qx=Z(`$ZodPrefault`,(e,t)=>{Jb.init(e,t),e._zod.optin=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Jx=Z(`$ZodNonOptional`,(e,t)=>{Jb.init(e,t),Q(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Yx(t,e)):Yx(i,e)}});function Yx(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var Xx=Z(`$ZodCatch`,(e,t)=>{Jb.init(e,t),e._zod.optin=`optional`,Q(e._zod,`optout`,()=>t.innerType._zod.optout),Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>jy(e,n,Qv()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>jy(e,n,Qv()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),Zx=Z(`$ZodPipe`,(e,t)=>{Jb.init(e,t),Q(e._zod,`values`,()=>t.in._zod.values),Q(e._zod,`optin`,()=>t.in._zod.optin),Q(e._zod,`optout`,()=>t.out._zod.optout),Q(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Qx(e,t.in,n)):Qx(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Qx(e,t.out,n)):Qx(r,t.out,n)}});function Qx(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var $x=Z(`$ZodReadonly`,(e,t)=>{Jb.init(e,t),Q(e._zod,`propValues`,()=>t.innerType._zod.propValues),Q(e._zod,`values`,()=>t.innerType._zod.values),Q(e._zod,`optin`,()=>t.innerType?._zod?.optin),Q(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(eS):eS(r)}});function eS(e){return e.value=Object.freeze(e.value),e}var tS=Z(`$ZodCustom`,(e,t)=>{kb.init(e,t),Jb.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>nS(t,n,r,e));nS(i,n,r,e)}});function nS(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Ny(e))}}var rS,iS=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function aS(){return new iS}(rS=globalThis).__zod_globalRegistry??(rS.__zod_globalRegistry=aS());var oS=globalThis.__zod_globalRegistry;function sS(e,t){return new e({type:`string`,...$(t)})}function cS(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...$(t)})}function lS(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...$(t)})}function uS(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...$(t)})}function dS(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...$(t)})}function fS(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...$(t)})}function pS(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...$(t)})}function mS(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...$(t)})}function hS(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...$(t)})}function gS(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...$(t)})}function _S(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...$(t)})}function vS(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...$(t)})}function yS(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...$(t)})}function bS(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...$(t)})}function xS(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...$(t)})}function SS(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...$(t)})}function CS(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...$(t)})}function wS(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...$(t)})}function TS(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...$(t)})}function ES(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...$(t)})}function DS(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...$(t)})}function OS(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...$(t)})}function kS(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...$(t)})}function AS(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...$(t)})}function jS(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...$(t)})}function MS(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...$(t)})}function NS(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...$(t)})}function PS(e,t){return new e({type:`number`,checks:[],...$(t)})}function FS(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...$(t)})}function IS(e){return new e({type:`unknown`})}function LS(e,t){return new e({type:`never`,...$(t)})}function RS(e,t){return new jb({check:`less_than`,...$(t),value:e,inclusive:!1})}function zS(e,t){return new jb({check:`less_than`,...$(t),value:e,inclusive:!0})}function BS(e,t){return new Mb({check:`greater_than`,...$(t),value:e,inclusive:!1})}function VS(e,t){return new Mb({check:`greater_than`,...$(t),value:e,inclusive:!0})}function HS(e,t){return new Nb({check:`multiple_of`,...$(t),value:e})}function US(e,t){return new Fb({check:`max_length`,...$(t),maximum:e})}function WS(e,t){return new Ib({check:`min_length`,...$(t),minimum:e})}function GS(e,t){return new Lb({check:`length_equals`,...$(t),length:e})}function KS(e,t){return new zb({check:`string_format`,format:`regex`,...$(t),pattern:e})}function qS(e){return new Bb({check:`string_format`,format:`lowercase`,...$(e)})}function JS(e){return new Vb({check:`string_format`,format:`uppercase`,...$(e)})}function YS(e,t){return new Hb({check:`string_format`,format:`includes`,...$(t),includes:e})}function XS(e,t){return new Ub({check:`string_format`,format:`starts_with`,...$(t),prefix:e})}function ZS(e,t){return new Wb({check:`string_format`,format:`ends_with`,...$(t),suffix:e})}function QS(e){return new Gb({check:`overwrite`,tx:e})}function $S(e){return QS(t=>t.normalize(e))}function eC(){return QS(e=>e.trim())}function tC(){return QS(e=>e.toLowerCase())}function nC(){return QS(e=>e.toUpperCase())}function rC(){return QS(e=>ly(e))}function iC(e,t,n){return new e({type:`array`,element:t,...$(n)})}function aC(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$(n)})}function oC(e,t){let n=sC(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Ny(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Ny(r))}},e(t.value,t)),t);return n}function sC(e,t){let n=new kb({check:`custom`,...$(t)});return n._zod.check=e,n}function cC(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??oS,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function lC(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,lC(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&fC(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function uC(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
65
|
-
|
|
66
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function dC(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:mC(t,`input`,e.processors),output:mC(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function fC(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return fC(r.element,n);if(r.type===`set`)return fC(r.valueType,n);if(r.type===`lazy`)return fC(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return fC(r.innerType,n);if(r.type===`intersection`)return fC(r.left,n)||fC(r.right,n);if(r.type===`record`||r.type===`map`)return fC(r.keyType,n)||fC(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:fC(r.in,n)||fC(r.out,n);if(r.type===`object`){for(let e in r.shape)if(fC(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(fC(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(fC(e,n))return!0;return!!(r.rest&&fC(r.rest,n))}return!1}var pC=(e,t={})=>n=>{let r=cC({...n,processors:t});return lC(e,r),uC(r,e),dC(r,e)},mC=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=cC({...i??{},target:a,io:t,processors:n});return lC(e,o),uC(o,e),dC(o,e)},hC={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},gC=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=hC[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},_C=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},vC=(e,t,n,r)=>{n.not={}},yC=(e,t,n,r)=>{let i=e._zod.def,a=$v(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},bC=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},xC=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},SC=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=lC(a.element,t,{...r,path:[...r.path,`items`]})},CC=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=lC(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=lC(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},wC=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>lC(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},TC=(e,t,n,r)=>{let i=e._zod.def,a=lC(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=lC(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},EC=(e,t,n,r)=>{let i=e._zod.def,a=lC(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},DC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},OC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},kC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},AC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},jC=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;lC(o,t,r);let s=t.seen.get(e);s.ref=o},MC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},NC=(e,t,n,r)=>{let i=e._zod.def;lC(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},PC=Z(`ZodISODateTime`,(e,t)=>{cx.init(e,t),sw.init(e,t)});function FC(e){return AS(PC,e)}var IC=Z(`ZodISODate`,(e,t)=>{lx.init(e,t),sw.init(e,t)});function LC(e){return jS(IC,e)}var RC=Z(`ZodISOTime`,(e,t)=>{ux.init(e,t),sw.init(e,t)});function zC(e){return MS(RC,e)}var BC=Z(`ZodISODuration`,(e,t)=>{dx.init(e,t),sw.init(e,t)});function VC(e){return NS(BC,e)}var HC=Z(`ZodError`,(e,t)=>{Fy.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Ry(e,t)},flatten:{value:t=>Ly(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ey,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ey,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),UC=zy(HC),WC=By(HC),GC=Vy(HC),KC=Uy(HC),qC=Gy(HC),JC=Ky(HC),YC=qy(HC),XC=Jy(HC),ZC=Yy(HC),QC=Xy(HC),$C=Zy(HC),ew=Qy(HC),tw=new WeakMap;function nw(e,t,n){let r=Object.getPrototypeOf(e),i=tw.get(r);if(i||(i=new Set,tw.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var rw=Z(`ZodType`,(e,t)=>(Jb.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:mC(e,`input`),output:mC(e,`output`)}}),e.toJSONSchema=pC(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>UC(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>GC(e,t,n),e.parseAsync=async(t,n)=>WC(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>KC(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>qC(e,t,n),e.decode=(t,n)=>JC(e,t,n),e.encodeAsync=async(t,n)=>YC(e,t,n),e.decodeAsync=async(t,n)=>XC(e,t,n),e.safeEncode=(t,n)=>ZC(e,t,n),e.safeDecode=(t,n)=>QC(e,t,n),e.safeEncodeAsync=async(t,n)=>$C(e,t,n),e.safeDecodeAsync=async(t,n)=>ew(e,t,n),nw(e,`ZodType`,{check(...e){let t=this.def;return this.clone(sy(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return _y(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(fT(e,t))},superRefine(e,t){return this.check(pT(e,t))},overwrite(e){return this.check(QS(e))},optional(){return Jw(this)},exactOptional(){return Xw(this)},nullable(){return Qw(this)},nullish(){return Jw(Qw(this))},nonoptional(e){return iT(this,e)},array(){return Iw(this)},or(e){return Bw([this,e])},and(e){return Hw(this,e)},transform(e){return cT(this,Kw(e))},default(e){return eT(this,e)},prefault(e){return nT(this,e)},catch(e){return oT(this,e)},pipe(e){return cT(this,e)},readonly(){return uT(this)},describe(e){let t=this.clone();return oS.add(t,{description:e}),t},meta(...e){if(e.length===0)return oS.get(this);let t=this.clone();return oS.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return oS.get(e)?.description},configurable:!0}),e)),iw=Z(`_ZodString`,(e,t)=>{Yb.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gC(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,nw(e,`_ZodString`,{regex(...e){return this.check(KS(...e))},includes(...e){return this.check(YS(...e))},startsWith(...e){return this.check(XS(...e))},endsWith(...e){return this.check(ZS(...e))},min(...e){return this.check(WS(...e))},max(...e){return this.check(US(...e))},length(...e){return this.check(GS(...e))},nonempty(...e){return this.check(WS(1,...e))},lowercase(e){return this.check(qS(e))},uppercase(e){return this.check(JS(e))},trim(){return this.check(eC())},normalize(...e){return this.check($S(...e))},toLowerCase(){return this.check(tC())},toUpperCase(){return this.check(nC())},slugify(){return this.check(rC())}})}),aw=Z(`ZodString`,(e,t)=>{Yb.init(e,t),iw.init(e,t),e.email=t=>e.check(cS(cw,t)),e.url=t=>e.check(mS(dw,t)),e.jwt=t=>e.check(kS(Ew,t)),e.emoji=t=>e.check(hS(fw,t)),e.guid=t=>e.check(lS(lw,t)),e.uuid=t=>e.check(uS(uw,t)),e.uuidv4=t=>e.check(dS(uw,t)),e.uuidv6=t=>e.check(fS(uw,t)),e.uuidv7=t=>e.check(pS(uw,t)),e.nanoid=t=>e.check(gS(pw,t)),e.guid=t=>e.check(lS(lw,t)),e.cuid=t=>e.check(_S(mw,t)),e.cuid2=t=>e.check(vS(hw,t)),e.ulid=t=>e.check(yS(gw,t)),e.base64=t=>e.check(ES(Cw,t)),e.base64url=t=>e.check(DS(ww,t)),e.xid=t=>e.check(bS(_w,t)),e.ksuid=t=>e.check(xS(vw,t)),e.ipv4=t=>e.check(SS(yw,t)),e.ipv6=t=>e.check(CS(bw,t)),e.cidrv4=t=>e.check(wS(xw,t)),e.cidrv6=t=>e.check(TS(Sw,t)),e.e164=t=>e.check(OS(Tw,t)),e.datetime=t=>e.check(FC(t)),e.date=t=>e.check(LC(t)),e.time=t=>e.check(zC(t)),e.duration=t=>e.check(VC(t))});function ow(e){return sS(aw,e)}var sw=Z(`ZodStringFormat`,(e,t)=>{Xb.init(e,t),iw.init(e,t)}),cw=Z(`ZodEmail`,(e,t)=>{$b.init(e,t),sw.init(e,t)}),lw=Z(`ZodGUID`,(e,t)=>{Zb.init(e,t),sw.init(e,t)}),uw=Z(`ZodUUID`,(e,t)=>{Qb.init(e,t),sw.init(e,t)}),dw=Z(`ZodURL`,(e,t)=>{ex.init(e,t),sw.init(e,t)}),fw=Z(`ZodEmoji`,(e,t)=>{tx.init(e,t),sw.init(e,t)}),pw=Z(`ZodNanoID`,(e,t)=>{nx.init(e,t),sw.init(e,t)}),mw=Z(`ZodCUID`,(e,t)=>{rx.init(e,t),sw.init(e,t)}),hw=Z(`ZodCUID2`,(e,t)=>{ix.init(e,t),sw.init(e,t)}),gw=Z(`ZodULID`,(e,t)=>{ax.init(e,t),sw.init(e,t)}),_w=Z(`ZodXID`,(e,t)=>{ox.init(e,t),sw.init(e,t)}),vw=Z(`ZodKSUID`,(e,t)=>{sx.init(e,t),sw.init(e,t)}),yw=Z(`ZodIPv4`,(e,t)=>{fx.init(e,t),sw.init(e,t)}),bw=Z(`ZodIPv6`,(e,t)=>{px.init(e,t),sw.init(e,t)}),xw=Z(`ZodCIDRv4`,(e,t)=>{mx.init(e,t),sw.init(e,t)}),Sw=Z(`ZodCIDRv6`,(e,t)=>{hx.init(e,t),sw.init(e,t)}),Cw=Z(`ZodBase64`,(e,t)=>{_x.init(e,t),sw.init(e,t)}),ww=Z(`ZodBase64URL`,(e,t)=>{yx.init(e,t),sw.init(e,t)}),Tw=Z(`ZodE164`,(e,t)=>{bx.init(e,t),sw.init(e,t)}),Ew=Z(`ZodJWT`,(e,t)=>{Sx.init(e,t),sw.init(e,t)}),Dw=Z(`ZodNumber`,(e,t)=>{Cx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_C(e,t,n,r),nw(e,`ZodNumber`,{gt(e,t){return this.check(BS(e,t))},gte(e,t){return this.check(VS(e,t))},min(e,t){return this.check(VS(e,t))},lt(e,t){return this.check(RS(e,t))},lte(e,t){return this.check(zS(e,t))},max(e,t){return this.check(zS(e,t))},int(e){return this.check(Aw(e))},safe(e){return this.check(Aw(e))},positive(e){return this.check(BS(0,e))},nonnegative(e){return this.check(VS(0,e))},negative(e){return this.check(RS(0,e))},nonpositive(e){return this.check(zS(0,e))},multipleOf(e,t){return this.check(HS(e,t))},step(e,t){return this.check(HS(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Ow(e){return PS(Dw,e)}var kw=Z(`ZodNumberFormat`,(e,t)=>{wx.init(e,t),Dw.init(e,t)});function Aw(e){return FS(kw,e)}var jw=Z(`ZodUnknown`,(e,t)=>{Tx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Mw(){return IS(jw)}var Nw=Z(`ZodNever`,(e,t)=>{Ex.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vC(e,t,n,r)});function Pw(e){return LS(Nw,e)}var Fw=Z(`ZodArray`,(e,t)=>{Ox.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>SC(e,t,n,r),e.element=t.element,nw(e,`ZodArray`,{min(e,t){return this.check(WS(e,t))},nonempty(e){return this.check(WS(1,e))},max(e,t){return this.check(US(e,t))},length(e,t){return this.check(GS(e,t))},unwrap(){return this.element}})});function Iw(e,t){return iC(Fw,e,t)}var Lw=Z(`ZodObject`,(e,t)=>{Nx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>CC(e,t,n,r),Q(e,`shape`,()=>t.shape),nw(e,`ZodObject`,{keyof(){return Ww(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:Mw()})},loose(){return this.clone({...this._zod.def,catchall:Mw()})},strict(){return this.clone({...this._zod.def,catchall:Pw()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Sy(this,e)},safeExtend(e){return Cy(this,e)},merge(e){return wy(this,e)},pick(e){return by(this,e)},omit(e){return xy(this,e)},partial(...e){return Ty(qw,this,e[0])},required(...e){return Ey(rT,this,e[0])}})});function Rw(e,t){return new Lw({type:`object`,shape:e??{},...$(t)})}var zw=Z(`ZodUnion`,(e,t)=>{Fx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wC(e,t,n,r),e.options=t.options});function Bw(e,t){return new zw({type:`union`,options:e,...$(t)})}var Vw=Z(`ZodIntersection`,(e,t)=>{Ix.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>TC(e,t,n,r)});function Hw(e,t){return new Vw({type:`intersection`,left:e,right:t})}var Uw=Z(`ZodEnum`,(e,t)=>{zx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yC(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Uw({...t,checks:[],...$(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Uw({...t,checks:[],...$(r),entries:i})}});function Ww(e,t){return new Uw({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...$(t)})}var Gw=Z(`ZodTransform`,(e,t)=>{Bx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xC(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Xv(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ny(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Ny(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function Kw(e){return new Gw({type:`transform`,transform:e})}var qw=Z(`ZodOptional`,(e,t)=>{Hx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>NC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Jw(e){return new qw({type:`optional`,innerType:e})}var Yw=Z(`ZodExactOptional`,(e,t)=>{Ux.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>NC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Xw(e){return new Yw({type:`optional`,innerType:e})}var Zw=Z(`ZodNullable`,(e,t)=>{Wx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>EC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qw(e){return new Zw({type:`nullable`,innerType:e})}var $w=Z(`ZodDefault`,(e,t)=>{Gx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>OC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function eT(e,t){return new $w({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():my(t)}})}var tT=Z(`ZodPrefault`,(e,t)=>{qx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function nT(e,t){return new tT({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():my(t)}})}var rT=Z(`ZodNonOptional`,(e,t)=>{Jx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>DC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function iT(e,t){return new rT({type:`nonoptional`,innerType:e,...$(t)})}var aT=Z(`ZodCatch`,(e,t)=>{Xx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>AC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function oT(e,t){return new aT({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var sT=Z(`ZodPipe`,(e,t)=>{Zx.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jC(e,t,n,r),e.in=t.in,e.out=t.out});function cT(e,t){return new sT({type:`pipe`,in:e,out:t})}var lT=Z(`ZodReadonly`,(e,t)=>{$x.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>MC(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function uT(e){return new lT({type:`readonly`,innerType:e})}var dT=Z(`ZodCustom`,(e,t)=>{tS.init(e,t),rw.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bC(e,t,n,r)});function fT(e,t={}){return aC(dT,e,t)}function pT(e,t){return oC(e,t)}var mT=Rw({accessToken:ow().min(1),refreshToken:ow().min(1).optional(),expiresAt:Ow().int().positive().optional(),tokenType:ow().default(`Bearer`),scope:ow().optional()}),hT=Rw({access_token:ow().min(1),refresh_token:ow().min(1).optional(),expires_in:Ow().int().positive().optional(),token_type:ow().optional(),scope:ow().optional()}),gT=(e,t=Date.now())=>e.expiresAt!==void 0&&e.expiresAt-6e4<=t;function _T(e,t=Date.now()){let n=hT.parse(e);return{accessToken:n.access_token,...n.refresh_token?{refreshToken:n.refresh_token}:{},...n.expires_in?{expiresAt:t+n.expires_in*1e3}:{},tokenType:n.token_type??`Bearer`,...n.scope?{scope:n.scope}:{}}}var vT=`relay`,yT=class extends Error{refusal;constructor(e){super(`Search Atlas refused the request (${e.status})`),this.name=`EmailAuthRefusedError`,this.refusal=e}},bT=(e,t)=>new URL(t,e).toString(),xT=`/api/customer/account/register/v2/`,ST=`/api/token/`,CT=`/api/customer/account/check-email/`,wT=`/oauth/approve/`,TT=`/account/google/oauth/start`;function ET(e){let t=JSON.stringify({a:e.api,c:e.clientId,r:e.redirectUri,s:e.scope,t:e.state,x:e.challenge});return btoa(t).replace(/\+/gu,`-`).replace(/\//gu,`_`).replace(/=+$/u,``)}function DT(e){let t=e.name?.trim();return{email:e.email.trim(),password:e.password,...t?{contact_name:t}:{},registration_source:vT,...OT(e.captcha)}}var OT=e=>e.version===`v2`?{captcha_v2:e.token}:{captcha:e.token};function kT(e){return{username:e.email.trim(),password:e.password,...OT(e.captcha)}}var AT={email:`email`,password:`password`,contact_name:`name`},jT=e=>{let t=Array.isArray(e)?e[0]:e;return typeof t==`string`&&t.trim().length>0?t.trim():null},MT=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:null;function NT(e,t){let n=MT(t);if(e===201||e===200){let e=n?.jwt_token;if(typeof e==`string`&&e.length>0)return e;if(n?.verification_required===!0)throw new yT({status:`verification-required`});return null}if(e===409)throw new yT({status:`email-registered`});if(e===406)throw new yT({status:`invalid`,field:`email`,message:`Search Atlas doesn't accept this email provider. Use a different email.`});if(e!==400||!n)return null;if(PT(n))throw new yT({status:`captcha-required`});for(let[e,t]of Object.entries(AT)){let r=jT(n[e]);if(r)throw new yT({status:`invalid`,field:t,message:r})}return null}function PT(e){if(`recaptcha_fallback`in e||`captcha`in e||`captcha_v2`in e)return!0;let t=jT(e.non_field_errors);return t!==null&&/recaptcha/iu.test(t)}function FT(e,t){let n=MT(t);if(e===200){let e=n?.token;return typeof e==`string`&&e.length>0?e:null}if(e===400&&n&&PT(n))throw new yT({status:`captcha-required`});if(e===403&&n?.kind===`email_verification_required`)throw new yT({status:`verification-required`});if(e===401)throw new yT({status:`invalid`,field:`password`,message:`The email or password is incorrect.`});return null}function IT(e){let t=MT(e)?.redirect_url;return typeof t==`string`&&t.length>0?t:null}var LT=class extends Error{code;status;constructor(e,t,n){super(t),this.code=e,this.status=n,this.name=`AuthError`}},RT=e=>e instanceof LT&&e.status!==void 0&&e.status>=400&&e.status<500&&e.status!==408&&e.status!==429,zT=2e4;async function BT(e){let t=new AbortController,n,r=new Promise((e,r)=>{n=setTimeout(()=>{let e=Error(`Search Atlas authentication timed out. Try again.`);e.name=`TimeoutError`,r(e),t.abort(e)},zT)});try{return await Promise.race([e(t.signal),r])}finally{clearTimeout(n)}}function VT(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;return typeof t.sub!=`string`||typeof t.name!=`string`?null:{subject:t.sub,email:typeof t.email==`string`?t.email:``,name:t.name.trim()}}var HT=`borg.tokens`;function UT(e,t){let n=new URL(e),r=n.searchParams.get(`error`);if(r)throw new LT(r,n.searchParams.get(`error_description`)??r);if(n.searchParams.get(`state`)!==t)throw new LT(`state_mismatch`,`Authorization state did not match`);let i=n.searchParams.get(`code`);if(!i)throw new LT(`missing_code`,`Callback carried no authorization code`);return i}var WT=class{#e;#t;#n=Promise.resolve();#r=new Map;#i=Promise.resolve();#a=0;#o;#s;#c=new Set;constructor(e,t){this.#o=e,this.#s=t}subscribe(e){return this.#c.add(e),()=>{this.#c.delete(e)}}#l(e){for(let t of this.#c)try{t(e)}catch{}}async beginAuthorization(e=this.#o.redirectUri){let{state:t,challenge:n,method:r}=await this.#u(e),i=new URL(this.#o.authorizationEndpoint);return i.searchParams.set(`response_type`,`code`),i.searchParams.set(`client_id`,this.#o.clientId),i.searchParams.set(`redirect_uri`,e),i.searchParams.set(`code_challenge`,n),i.searchParams.set(`code_challenge_method`,r),i.searchParams.set(`state`,t),this.#o.scopes?.length&&i.searchParams.set(`scope`,this.#o.scopes.join(` `)),i.toString()}async#u(e){let t=await this.#d(e);return this.#e=t,t}async#d(e){let{verifier:t,challenge:n,method:r}=await qv(this.#s.pkceCrypto);return{state:await Kv(16,this.#s.pkceCrypto),verifier:t,challenge:n,method:r,redirectUri:e}}async isEmailRegistered(e){let t=bT(this.#o.tokenEndpoint,CT);return BT(async n=>{let r=await fetch(t,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({email:e.trim()}),signal:n}),i=await r.json().catch(()=>null);if(!r.ok)throw new LT(`http_${r.status}`,`Email check returned ${r.status}`,r.status);return i?.exists===!0})}async signUp(e){let t=await this.#f(xT,DT(e),NT);return this.authorizeWithAccountToken(t)}async signIn(e){let t=await this.#f(ST,kT(e),FT);return this.authorizeWithAccountToken(t)}#f(e,t,n){return BT(async r=>{let i=await fetch(bT(this.#o.tokenEndpoint,e),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t),signal:r}),a=await i.json().catch(()=>null),o=n(i.status,a);if(o===null)throw new LT(`http_${i.status}`,`Search Atlas returned ${i.status}`,i.status);return o})}async authorizeWithGoogle(e){let t=new URL(e);if(t.protocol!==`https:`)throw new LT(`invalid_request`,`Google sign-in must return to an https page`);return this.#p(async()=>{let e=await this.#s.listenForOAuthCallback(),{state:n,challenge:r}=await this.#u(e.redirectUri),i=ET({api:new URL(this.#o.tokenEndpoint).origin,clientId:this.#o.clientId,redirectUri:e.redirectUri,scope:this.#o.scopes?.join(` `)??``,state:n,challenge:r}),a=new URL(TT,this.#o.tokenEndpoint);return a.searchParams.set(`from_domain`,`${t.host}${t.pathname}#${i}`),a.searchParams.set(`registration_source`,vT),a.toString()})}async authorizeWithAccountToken(e){let t=await this.#d(this.#o.redirectUri),n=await BT(async n=>{let r=await fetch(bT(this.#o.tokenEndpoint,wT),{method:`POST`,headers:{authorization:`Bearer ${e}`,"content-type":`application/json`},body:JSON.stringify({client_id:this.#o.clientId,scope:this.#o.scopes?.join(` `)??``,state:t.state,redirect_uri:t.redirectUri,code_challenge:t.challenge,code_challenge_method:t.method,nonce:``,response_type:`code`,action:`approve`}),signal:n}),i=await r.json().catch(()=>null),a=r.ok?IT(i):null;if(a===null){let e=i;throw new LT(e?.error??`http_${r.status}`,e?.error_description??`Approval returned ${r.status}`,r.status)}return a});return this.#m(UT(n,t.state),t)}cancelAuthorization(){this.#e=void 0,this.#t?.(),this.#s.cancelOAuthCallback?.()}async authorizeNative(){return this.#p(async()=>{let e=await this.#s.listenForOAuthCallback();return this.beginAuthorization(e.redirectUri)})}async#p(e){this.#t&&this.cancelAuthorization();let t=()=>{},n=new Promise((e,n)=>{t=()=>n(new LT(`cancelled`,`Sign-in was cancelled.`))});n.catch(()=>void 0),this.#t=t;let r=e();r.catch(()=>void 0);try{let e=await Promise.race([r,n]),t=this.#s.waitForOAuthCallback();return t.catch(()=>void 0),await Promise.race([this.#s.openExternal(e),n]),await this.completeAuthorization(await Promise.race([t,n]))}catch(e){throw e instanceof LT&&e.code===`cancelled`&&(await r.catch(()=>void 0),this.#t===t&&this.#s.cancelOAuthCallback?.()),e}finally{this.#t===t&&(this.#t=void 0)}}async completeAuthorization(e){let t=this.#e;if(!t)throw new LT(`no_pending_authorization`,`No authorization in progress`);let n=UT(e,t.state);return this.#e=void 0,this.#m(n,t)}async#m(e,t){let n=this.#a,r=await this.#g({grant_type:`authorization_code`,code:e,redirect_uri:t.redirectUri,client_id:this.#o.clientId,code_verifier:t.verifier});if(n!==this.#a||!await this.#v(r,++this.#a))throw new LT(`session_changed`,`This sign-in was cancelled. Start sign-in again.`);return r}getAccessToken(e){let t=this.#a,n=this.#r.get(e);if(n?.version===t)return n.promise;let r=this.#n.then(()=>this.#h(t,e)).finally(()=>{this.#r.get(e)?.promise===r&&this.#r.delete(e)});return this.#r.set(e,{version:t,promise:r}),this.#n=r.catch(()=>void 0),r}async#h(e,t){if(await this.#i,e!==this.#a)return null;let n=await this.loadTokens();if(e!==this.#a||!n)return null;if(!gT(n)&&n.accessToken!==t)return n.accessToken;if(!n.refreshToken)return await this.signOut(),null;try{let t=await this.refresh(n.refreshToken);return e===this.#a?t.accessToken:null}catch(t){if(e!==this.#a)return null;throw RT(t)&&await this.signOut(),t}}async getUserProfile(){if(!this.#o.userinfoEndpoint)return null;let e=await this.getAccessToken();if(!e)return null;let t=this.#o.userinfoEndpoint,n=e=>BT(async n=>{let r=await fetch(t,{headers:{authorization:`Bearer ${e}`},signal:n});return{response:r,payload:await r.json().catch(()=>null)}}),r=await n(e);if(r.response.status===401){if(e=await this.getAccessToken(e),!e)return null;r=await n(e)}if(!r.response.ok)throw new LT(`http_${r.response.status}`,`Userinfo endpoint returned ${r.response.status}`,r.response.status);let i=VT(r.payload);if(!i)throw new LT(`invalid_userinfo`,`Userinfo endpoint returned an invalid profile`);return i}async refresh(e){let t=this.#a,n=await this.#g({grant_type:`refresh_token`,refresh_token:e,client_id:this.#o.clientId}),r=n.refreshToken?n:{...n,refreshToken:e};return await this.#v(r,t),r}async#g(e){return BT(async t=>{let n=await fetch(this.#o.tokenEndpoint,{method:`POST`,headers:{"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams(e).toString(),signal:t}),r=await n.json().catch(()=>null);if(!n.ok){let e=r;throw new LT(e?.error??`http_${n.status}`,e?.error_description??`Token endpoint returned ${n.status}`,n.status)}return _T(r)})}async storeTokens(e){await this.#v(e,++this.#a)}#_(e){let t=this.#i.then(e);return this.#i=t.catch(()=>void 0),t}#v(e,t){return this.#_(async()=>t!==this.#a||(await this.#s.setSecureCredential(HT,JSON.stringify(e)),t!==this.#a)?!1:(this.#l(e.accessToken),!0))}async loadTokens(){let e=await this.#s.getSecureCredential(HT);if(!e)return null;try{let t=mT.safeParse(JSON.parse(e));return t.success?t.data:null}catch(e){if(e instanceof SyntaxError)return null;throw e}}async signOut(){this.#e=void 0;let e=++this.#a,t=await this.#_(async()=>{let t=await this.loadTokens().catch(()=>null);return await this.#s.deleteSecureCredential(HT),e===this.#a&&this.#l(null),t});if(t?.refreshToken&&this.#o.revocationEndpoint){let e=this.#o.revocationEndpoint,n=t.refreshToken;BT(t=>fetch(e,{method:`POST`,headers:{"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams({token:n,client_id:this.#o.clientId}).toString(),signal:t})).catch(()=>{})}}};function GT(){if(typeof window>`u`||!window.location)return null;let e=`mcp:tools:read mcp:tools:execute profile`.split(/\s+/u);return{authorizationEndpoint:`https://dashboard.searchatlas.com/oauth/authorize`,tokenEndpoint:`https://api.searchatlas.com/oauth/token/`,userinfoEndpoint:`https://api.searchatlas.com/oauth/userinfo/`,clientId:`C735iQetqz7GyPSU1N7rCoQunxZuwtq8WR5z-hCp8VA`,redirectUri:`${window.location.origin}/oauth-callback.html`,scopes:e,revocationEndpoint:`https://api.searchatlas.com/oauth/revoke/`}}var KT=`borg.search-atlas.oauth-callback`,qT=`borg-search-atlas-auth`,JT=`borg-search-atlas-oauth-callback`;function YT(e){if(typeof e!=`object`||!e)return null;let t=e;return t.type===JT&&typeof t.url==`string`?t.url:null}function XT(){let e=GT();if(!e)return null;let t=new Map,n=e=>{try{return window.sessionStorage.getItem(e)??t.get(e)??null}catch{return t.get(e)??null}},r=(e,n)=>{t.set(e,n);try{window.sessionStorage.setItem(e,n)}catch{}},i=e=>{t.delete(e);try{window.sessionStorage.removeItem(e)}catch{}},a=null,o=null,s=null;return new WT(e,{getSecureCredential:async e=>n(e),setSecureCredential:async(e,t)=>{r(e,t)},deleteSecureCredential:async e=>{i(e)},listenForOAuthCallback:async()=>({redirectUri:e.redirectUri}),waitForOAuthCallback:()=>(o??=new Promise((e,t)=>{let n=window.setTimeout(()=>{d(),t(Error(`Search Atlas authentication timed out.`))},12e4),r=typeof BroadcastChannel>`u`?null:new BroadcastChannel(qT),i=t=>{d(),e(t)},c=e=>{let t=YT(e.data);t&&i(t)},l=e=>{if(e.origin!==window.location.origin||e.source!==a)return;let t=YT(e.data);t&&i(t)},u=e=>{if(!(e.key!==KT||!e.newValue))try{let t=YT(JSON.parse(e.newValue));t&&i(t)}catch{}};s=()=>{d(),t(new LT(`cancelled`,`Sign-in was cancelled.`))};let d=()=>{s=null,window.clearTimeout(n),window.removeEventListener(`message`,l),window.removeEventListener(`storage`,u),r?.removeEventListener(`message`,c),r?.close(),o=null};window.addEventListener(`message`,l),window.addEventListener(`storage`,u),r?.addEventListener(`message`,c)}),o),cancelOAuthCallback:()=>{s?.(),a?.close()},openExternal:async e=>{if(a=window.open(e,`borg-search-atlas-auth`,`popup,width=520,height=720`),!a)throw Error(`The authentication window was blocked.`)}})}var ZT;function QT(){return ZT??=XT(),ZT}var $T=e=>{let t=typeof e==`number`?e:typeof e==`string`?Number(e):NaN;if(!(!Number.isSafeInteger(t)||t<=0))return String(t)},eE=e=>{let t=e.replaceAll(`-`,`+`).replaceAll(`_`,`/`),n=t.padEnd(Math.ceil(t.length/4)*4,`=`),r=globalThis.atob(n);return new TextDecoder().decode(Uint8Array.from(r,e=>e.codePointAt(0)??0))},tE=e=>{let t=e.split(`.`);if(t.length!==3)return;let n=t[1];if(!(n===void 0||n.length===0))try{let e=JSON.parse(eE(n));return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}catch{return}},nE=e=>{let t=tE(e);if(t===void 0)return;let n=t.customer,r=typeof n==`object`&&n?$T(n.id):void 0,i=$T(t.user_id);return r===void 0||i===void 0?void 0:{customerId:r,userId:i}};async function rE(e){if(!e.apiUrl)throw Error(`Borg Cloud is not configured.`);let t=nE(e.token);if(t===void 0)throw Error(`This Search Atlas session names no customer.`);return t.customerId}var iE=/-nightly\.\d{8}\.\d+$/;function aE(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function oE(e){return e.primaryServerVersion&&iE.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function sE(e){let t=oE({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:aE({baseName:e.baseName,stageLabel:t})}var cE={local:`Development`,staging:`Preview`,production:``};function lE(e){return[cE[e.environment.trim().toLowerCase()]??`Development`,/^[0-9a-f]{7,40}$/i.test(e.commit.trim())?e.commit.trim().slice(0,7):``].filter(Boolean).join(` · `)}function uE(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var dE=uE(),fE=``,pE=fE===`latest`||fE===`nightly`?fE:null,mE=pE===`nightly`?`Nightly`:pE===`latest`?`Latest`:null,hE=dE?.baseName??`Borg`,gE=dE?.stageLabel??mE??`Alpha`,_E=dE?.displayName??aE({baseName:hE,stageLabel:gE}),vE=`0.0.109`,yE=lE({environment:`production`,commit:`ccf1c2e0522ea28210054f78748f41ef9afeb7d0`});[`${hE} ${vE}`,yE].filter(Boolean).join(` · `);function bE(){return`https://app.getborg.com`}function xE(){return``}function SE(){return null}function CE(e){try{return new URL(e).origin}catch{return null}}function wE(){return typeof window<`u`&&window.desktopBridge!==void 0}function TE(e=new URL(window.location.href)){if(xE()||wE())return!1;if(SE())return!0;let t=CE(bE());return t!==null&&e.origin===t}function EE(e=new URL(window.location.href)){let t=e.searchParams.get(`host`)?.trim()??``,n=bm(e)?.trim()??``,r=e.searchParams.get(`label`)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}}function DE(e=new URL(window.location.href)){return EE(e)!==null}function OE(e){let t=new URL(`/pair`,bE());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),Sm(t,e.token).toString()}function kE(e){let t=new URL(`/__borgcode/channel`,bE());return t.searchParams.set(`channel`,e.channel),t.toString()}var AE=fs();function jE({children:e}){return(0,Sc.createElement)(Tc.Provider,{value:AE},e)}var ME=15e3,NE=12e4,PE=ME,FE=new Map,IE=new Set([N.previewAutomationConnect,N.shellCaptureLoopbackRedirect]),LE=new Set([N.serverUpdateProvider,N.serverRefreshProviders,N.serverUpdateServer]),RE=L([]).pipe(cc,z(`slow-rpc-ack-requests`));function zE(e){AE.set(RE,[...e])}function BE(){return AE.get(RE)}function VE(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!IE.has(e)}function HE(e){return LE.has(e)?Math.max(PE,NE):PE}function UE(e,t,n=t){if(!VE(t))return;GE(e),qE();let r=Date.now(),i=HE(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{FE.delete(e),KE(a)},i);FE.set(e,{request:a,timeoutId:o})}function WE(e){GE(e);let t=BE();t.some(t=>t.requestId===e)&&zE(t.filter(t=>t.requestId!==e))}function GE(e){let t=FE.get(e);t&&(clearTimeout(t.timeoutId),FE.delete(e))}function KE(e){let t=[...BE(),e];if(t.length<=256){zE(t);return}zE(t.slice(-256))}function qE(){for(;FE.size>=256;){let e=FE.keys().next().value;if(e===void 0)return;GE(e)}}function JE(){return kc(RE)}var YE=Promise.resolve(),XE=e=>{YE=e},ZE=()=>YE,QE=`borgcode:connection-runtime`,$E=4,eD=`catalog`,tD=`shell`,nD=`thread`,rD=`server-config`,iD=`vcs-refs`,aD=`document`,oD=`5 seconds`,sD=1,cD=ar(g({schemaVersion:at(sD),environmentId:ha,snapshot:Mt})),lD=ar(g({schemaVersion:at(3),environmentId:ha,threadId:Da,snapshot:Re})),uD=ar(g({schemaVersion:at(1),environmentId:ha,config:Yt})),dD=ar(g({schemaVersion:at(1),environmentId:ha,cwd:w,refs:xa})),fD=ar(Av),pD=gi(fD),mD=Wn(fD),hD=gi(cD),gD=Wn(cD),_D=gi(lD),vD=Wn(lD),yD=gi(uD),bD=Wn(uD),xD=gi(dD),SD=Wn(dD);function CD(e,t){return new Uu({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function wD(e,t){return new pd({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var TD=E(`web.connectionStorage.openDatabase`)(function*(){return yield*pi(ZE),yield*wi(e=>{if(typeof indexedDB>`u`){e(j(CD(`open`,`IndexedDB is unavailable in this browser context.`)));return}let t=!1,n=indexedDB.open(QE,$E);return n.addEventListener(`upgradeneeded`,()=>{n.result.objectStoreNames.contains(eD)||n.result.createObjectStore(eD),n.result.objectStoreNames.contains(tD)||n.result.createObjectStore(tD),n.result.objectStoreNames.contains(nD)||n.result.createObjectStore(nD),n.result.objectStoreNames.contains(rD)||n.result.createObjectStore(rD),n.result.objectStoreNames.contains(iD)||n.result.createObjectStore(iD)}),n.addEventListener(`error`,()=>{e(j(CD(`open`,n.error??`Unknown IndexedDB error`)))}),n.addEventListener(`success`,()=>{let r=n.result;if(t){r.close();return}r.addEventListener(`versionchange`,()=>r.close()),e(C(r))}),u(()=>{t=!0})}).pipe(Pe({duration:oD,orElse:()=>j(new Uu({reason:`timeout`,detail:`Another Borg tab is holding Borg's saved data. Close your other Borg tabs, then reload this one.`}))}))});function ED(e,t,n){return wi(r=>{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(j(CD(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r(C(i.result))})}).pipe(F(`web.connectionStorage.readDatabaseValue`))}function DD(e,t,n,r){return wi(i=>{let a=e.transaction(t,`readwrite`);a.addEventListener(`error`,()=>{i(j(CD(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(D)}),a.objectStore(t).put(r,n)}).pipe(F(`web.connectionStorage.writeDatabaseValue`))}function OD(e,t,n){return wi(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(j(CD(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(D)}),i.objectStore(t).delete(n)}).pipe(F(`web.connectionStorage.removeDatabaseValue`))}function kD(e,t,n){return wi(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(j(CD(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(D)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(j(CD(`remove`,a.error??`Unknown IndexedDB cursor error`)))}),a.addEventListener(`success`,()=>{let e=a.result;e!==null&&(e.delete(),e.continue())})}).pipe(F(`web.connectionStorage.removeDatabaseValuesInRange`))}function AD(e,t){return`${e}:${t}`}function jD(e,t){return`${e}:${t}`}var MD=E(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*pD(e).pipe(O(e=>CD(`decode`,e)))}),ND=E(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*mD(e).pipe(O(e=>CD(`encode`,e)))});function PD(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:$e({try:()=>t.getConnectionCatalog(),catch:e=>CD(`load`,e)}),write:e=>$e({try:()=>t.setConnectionCatalog(e),catch:e=>CD(`save`,e)}).pipe(T(e=>e?D:j(CD(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:ED(e,eD,aD).pipe(b(e=>typeof e==`string`?e:null)),write:t=>DD(e,eD,aD,t),quarantine:t=>DD(e,eD,`${aD}:corrupt:${Date.now()}`,t)}}var FD=E(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*co(M()),n=yield*Ht(1),r=E(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*so(t);if(P(n))return n.value;let r=yield*e.read,i=jv;return r!==null&&r.trim()!==``&&(i=yield*MD(r).pipe(Tr(t=>S(function*(){yield*y(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe(Tr(e=>y(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*ND(jv);return yield*e.write(n).pipe(Tr(e=>y(`Could not persist the recovered web connection catalog.`,{error:e.message}))),jv})))),yield*Wa(t,k(i)),i});return{read:n.withPermits(1)(r()),update:E(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(S(function*(){let n=i(yield*r());yield*e.write(yield*ND(n)),yield*Wa(t,k(n))}))})}}),ID=_t(S(function*(){let e=yield*bn(TD(),e=>u(()=>e.close())),t=yield*FD(PD(e)),n=md.of({list:t.read.pipe(b(e=>e.targets),O(e=>wD(`list-targets`,e)))}),r=hd.of({register:e=>t.update(t=>Iv(t,e)).pipe(O(e=>wD(`register-connection`,e))),remove:e=>t.update(t=>Lv(t,e)).pipe(O(e=>wD(`remove-connection`,e)))}),i=ld({get:e=>t.read.pipe(b(t=>Si(t.profiles.find(t=>t.connectionId===e)))),put:e=>t.update(t=>({...t,profiles:Mv(t.profiles,e=>e.connectionId,e)})),remove:e=>t.update(t=>({...t,profiles:Nv(t.profiles,e=>e.connectionId,e)}))}),a=sd({get:e=>t.read.pipe(b(t=>Si(t.credentials.find(t=>t.connectionId===e)?.credential))),put:(e,n)=>t.update(t=>({...t,credentials:Mv(t.credentials,e=>e.connectionId,{connectionId:e,credential:n})})),remove:e=>t.update(t=>({...t,credentials:Nv(t.credentials,e=>e.connectionId,e)}))}),o=Jd({get:e=>t.read.pipe(b(t=>Si(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>({...t,remoteDpopTokens:Mv(t.remoteDpopTokens,e=>e.environmentId,e)})),remove:e=>t.update(t=>({...t,remoteDpopTokens:Nv(t.remoteDpopTokens,e=>e.environmentId,e)}))}),c=gd.of({loadShell:t=>ED(e,tD,t).pipe(T(e=>typeof e==`string`?hD(e).pipe(O(e=>wD(`load-shell`,e)),b(e=>e.environmentId===t?k(e.snapshot):M())):C(M())),O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`load-shell`,e))),saveShell:(t,n)=>S(function*(){let r=yield*gD({schemaVersion:sD,environmentId:t,snapshot:n}).pipe(O(e=>wD(`save-shell`,e)));yield*DD(e,tD,t,r)}).pipe(O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`save-shell`,e))),loadServerConfig:t=>ED(e,rD,t).pipe(T(e=>typeof e==`string`?yD(e).pipe(O(e=>wD(`load-server-config`,e)),b(e=>e.environmentId===t?k(e.config):M())):C(M())),O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`load-server-config`,e))),saveServerConfig:(t,n)=>S(function*(){let r=yield*bD({schemaVersion:1,environmentId:t,config:n}).pipe(O(e=>wD(`save-server-config`,e)));yield*DD(e,rD,t,r)}).pipe(O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`save-server-config`,e))),loadThread:(t,n)=>ED(e,nD,AD(t,n)).pipe(T(e=>typeof e==`string`?_D(e).pipe(O(e=>wD(`load-thread`,e)),b(e=>e.environmentId===t&&e.threadId===n?k(e.snapshot):M())):C(M())),O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`load-thread`,e))),saveThread:(t,n)=>S(function*(){let r=yield*vD({schemaVersion:3,environmentId:t,threadId:n.thread.id,snapshot:n}).pipe(O(e=>wD(`save-thread`,e)));yield*DD(e,nD,AD(t,n.thread.id),r)}).pipe(O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`save-thread`,e))),loadVcsRefs:(t,n)=>ED(e,iD,jD(t,n)).pipe(T(e=>typeof e==`string`?xD(e).pipe(O(e=>wD(`load-vcs-refs`,e)),b(e=>e.environmentId===t&&e.cwd===n?k(e.refs):M())):C(M())),O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>S(function*(){let i=yield*SD({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(O(e=>wD(`save-vcs-refs`,e)));yield*DD(e,iD,jD(t,n),i)}).pipe(O(e=>e._tag===`ConnectionPersistenceError`?e:wD(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>OD(e,iD,jD(t,n)).pipe(O(e=>wD(`remove-vcs-refs`,e))),clearVcsRefs:t=>kD(e,iD,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(O(e=>wD(`clear-vcs-refs`,e))),removeThread:(t,n)=>OD(e,nD,AD(t,n)).pipe(O(e=>wD(`remove-thread`,e))),clear:t=>s([OD(e,tD,t),kD(e,nD,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),OD(e,rD,t),kD(e,iD,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(O(e=>wD(`clear-environment`,e)))});return Mn(md,n).pipe(Li(hd,r),Li(cd,i),Li(od,a),Li(qd,o),Li(gd,c))}));function LD(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function RD(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function zD(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||RD(e)?`iOS`:/android/i.test(t)?`Android`:/cros/i.test(t)?`ChromeOS`:/windows/i.test(t)?`Windows`:/macintosh|mac os x/i.test(t)?`macOS`:/linux|x11/i.test(t)?`Linux`:`other`}function BD(e){return e.trim()===``?`unknown`:/edg(?:e|a|ios)?\//i.test(e)?`Edge`:/opr\/|opios\//i.test(e)?`Opera`:/samsungbrowser\//i.test(e)?`Samsung Internet`:/firefox\/|fxios\//i.test(e)?`Firefox`:/chrome\/|crios\//i.test(e)?`Chrome`:/safari\//i.test(e)?`Safari`:`other`}function VD(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||RD(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function HD(e){return e.desktopBridge===void 0?{label:`Borg Web`,deviceType:VD(e.identity),os:zD(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:BD(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`Borg Desktop`,deviceType:`desktop`,os:LD(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}function UD(){return`https://api.getborg.com`}function WD(e){return e}var GD=new Set([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]),KD=new Set([101,103,204,205,304]),qD=e=>GD.has(e);function JD(e,t){return t.aborted?Promise.reject(t.reason):new Promise((n,r)=>{let i=()=>r(t.reason);t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}var YD=async(e,t)=>{let n=typeof window>`u`?void 0:window.desktopBridge?.requestBorgCloud;if(!n)return globalThis.fetch(e,t);let r=new Request(e,t),i=r.method.toUpperCase();if(!qD(i))throw TypeError(`Borg Cloud does not take ${i} requests from the desktop app.`);let a=i===`GET`?``:await r.text(),o=await JD(n({url:r.url,method:i,headers:Object.fromEntries(r.headers),body:a.length===0?null:a}).catch(e=>{throw TypeError(`Borg Cloud could not be reached.`,{cause:e})}),r.signal);return new Response(KD.has(o.status)?null:o.body,{status:o.status,headers:o.headers})},XD=0;function ZD(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var QD=fd({status:u(ZD),changes:sn(e=>bn(u(()=>{let t=()=>Mi(e,`online`),n=()=>Mi(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>u(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(Gn))}),$D=op({changes:sn(e=>bn(u(()=>{let t=()=>{document.visibilityState===`visible`&&Mi(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),{visibility:t,detachCredentials:ep(()=>{Mi(e,`credentials-changed`)})}}),e=>u(()=>{document.removeEventListener(`visibilitychange`,e.visibility),e.detachCredentials()})).pipe(Gn))});function eO(){return HD({appVersion:vE,hosted:TE(),identity:{userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints},desktopBridge:window.desktopBridge})}function tO(e){let t=e instanceof Error?e.message:String(e);return t.toLowerCase().includes(`cancel`)?new J({reason:`authentication`,detail:t}):new Uu({reason:`remote-unavailable`,detail:`Could not prepare the SSH environment: ${t}`})}function nO(e){return new Uu({reason:`borg-unavailable`,detail:`Borg is unavailable: ${String(e)}`})}var rO=E(`web.connectionPlatform.borgTunnelCredentials`)(function*(){let e=window.desktopBridge;if(e?.getSearchAtlasAccessToken||e?.getSearchAtlasTunnelCredentials){let t=yield*$e({try:async()=>e.getSearchAtlasAccessToken?e.getSearchAtlasAccessToken():(await e.getSearchAtlasTunnelCredentials?.())?.accessToken??null,catch:e=>new Uu({reason:`remote-unavailable`,detail:`Could not load the desktop Borg credentials: ${String(e)}`})});return t===null?yield*new J({reason:`authentication`,detail:`Sign in to Search Atlas to reach this device through Borg.`}):{getAccessToken:async()=>t}}let t=QT();return t?{getAccessToken:()=>t.getAccessToken()}:yield*new J({reason:`configuration`,detail:`Borg is not configured for this client.`})}),iO=E(`web.connectionPlatform.borgTunnelClient`)(function*(){let e=UD();if(!e)return yield*new J({reason:`configuration`,detail:`Borg is not configured for this client.`});let t=yield*rO(),n=yield*$e({try:async()=>{let n=await t.getAccessToken();if(!n)throw Error(`Search Atlas authentication is required.`);return rE({apiUrl:e,token:n})},catch:e=>new J({reason:`configuration`,detail:`Borg customer could not be resolved: ${String(e)}`})});return yield*Bt({try:()=>Vv({apiUrl:e,customerId:n,getAccessToken:t.getAccessToken,fetch:YD}),catch:e=>new J({reason:`configuration`,detail:`Borg is not configured for this client: ${String(e)}`})})}),aO=E(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t){let n=yield*$e({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:tO}),r=n.pairingToken;if(r===null)return yield*new J({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`});let i=yield*$e({try:()=>e.fetchSshEnvironmentDescriptor(n.httpBaseUrl),catch:tO}),a=yield*$e({try:()=>e.bootstrapSshBearerSession(n.httpBaseUrl,r),catch:tO});return{environmentId:i.environmentId,label:i.label,bootstrap:n,bearerToken:a.access_token}}),oO=_t(u(()=>{let e=Au.of({metadata:eO(),scopes:dt}),t=ku.of({deviceId:Yr(()=>{let e=window.desktopBridge?.getSearchAtlasTunnelCredentials;return e?$e({try:()=>e(),catch:e=>new Uu({reason:`remote-unavailable`,detail:`Could not load the desktop device identity: ${String(e)}`})}).pipe(b(e=>Vn(e?.deviceId))):C(M())})}),n=ju.of({bearerToken:$e({try:ev,catch:e=>new Uu({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(b(Vn))}),r=Mu.of({provision:E(`web.connectionPlatform.ssh.provision`)(function*(e){let t=window.desktopBridge;return t===void 0?yield*new J({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`}):yield*aO(t,e)}),prepare:E(`web.connectionPlatform.ssh.prepare`)(function*(e){let t=window.desktopBridge;if(t===void 0)return yield*new J({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`});let n=yield*$e({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:tO});return n.pairingToken===null?yield*new J({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*$e({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:tO})).access_token}}),disconnect:E(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*$e({try:()=>t.disconnectSshEnvironment(e),catch:e=>new Uu({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})}),i=Nu.of({openTunnel:E(`web.connectionPlatform.borgTunnel.openTunnel`)(function*(){let e=yield*iO();return{ticket:yield*$e({try:()=>e.requestTicket(),catch:nO}),tunnelId:Bv()}}),isDeviceOnline:E(`web.connectionPlatform.borgTunnel.isDeviceOnline`)(function*(e){let t=yield*iO();return(yield*$e({try:()=>t.status(e),catch:nO})).online})});return Mn(ku,t).pipe(Li(ju,n),Li(Au,e),Li(Mu,r),Li(Nu,i))})),sO=E(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*io({httpBaseUrl:e.target.httpBaseUrl}).pipe(Ri(iv),O(Vd));return new ed({target:new Fu({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),cO=E(`web.connectionPlatform.loadSecondaryConnectionRegistration`)(function*(e){if(e.httpBaseUrl===null||e.wsBaseUrl===null||e.bootstrapToken===void 0)return yield*new Uu({reason:`endpoint-unavailable`,detail:`Desktop-local backend ${e.id} is not ready yet.`});let t=e.httpBaseUrl,n=e.wsBaseUrl,r=yield*io({httpBaseUrl:t}).pipe(O(Vd)),i=yield*ir,a=yield*Od({httpBaseUrl:t,credential:e.bootstrapToken,scopes:dt,clientMetadata:eO()}).pipe(O(Vd)),o=ho(e.id),s=e.label||r.label;return{registration:new td({target:new Iu({environmentId:r.environmentId,label:s,connectionId:o}),profile:new qu({connectionId:o,environmentId:r.environmentId,label:s,httpBaseUrl:t,wsBaseUrl:n}),credential:new Qu({token:a.access_token})}),expiresAtEpochMs:dO(i,a.expires_in),refreshAtEpochMs:fO(i,a.expires_in)}}),lO=`3 seconds`,uO=5e3;function dO(e,t){return e+Math.max(0,t*1e3)}function fO(e,t){return Math.max(e,dO(e,t)-uO)}function pO(e=X_){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function mO(e,t){return t._tag===`Failure`?e.get(vi):void 0}function hO(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function gO(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}function _O(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var vO=nt(ID,QD,$D,oO,lt(Vm,S(function*(){if(TE())return Vm.of({registrations:An});let e=yield*co(new Map),t=S(function*(){let t=yield*so(e),n=yield*ir,r=new Map,i=[],a=pO(),o=mO(t,a);if(o!==void 0&&(r.set(vi,o),i.push(o.registration)),a._tag===`Failure`)yield*y(`Could not read the primary environment topology.`,{cause:a.cause});else if(a.target!==null){let e=a.target,o=`primary|${e.target.httpBaseUrl}|${e.target.wsBaseUrl}`,s=t.get(vi);if(s!==void 0&&hO(s,o,n))r.set(vi,s),i.push(s.registration);else{let t=yield*sO(e).pipe(mt(e=>y(`Could not discover the primary environment.`,{error:e})),l);if(P(t)){let e={signature:o,registration:t.value};r.set(vi,e),i.push(t.value)}}}let s=mo();for(let[e,a]of _O(t,s,n))r.set(e,a),i.push(a.registration);if(s._tag===`Failure`)yield*y(`Could not read the desktop-local backend topology.`,{cause:s.cause});else for(let e of s.bootstraps){let a=`${e.httpBaseUrl}|${e.wsBaseUrl}|${e.bootstrapToken??``}`,o=t.get(e.id);if(o!==void 0&&hO(o,a,n)){r.set(e.id,o),i.push(o.registration);continue}let s=yield*cO(e).pipe(mt(t=>y(`Could not connect a desktop-local backend.`,{id:e.id,error:t})),l);if(P(s)){let t={signature:a,...s.value};r.set(e.id,t),i.push(s.value.registration)}else o!==void 0&&gO(o,a,n)&&(r.set(e.id,o),i.push(o.registration))}return yield*Wa(e,r),i}).pipe(Ri(Qa));return Vm.of({registrations:wa(lO).pipe(ur(()=>t))})})),v(_d,_d.of({clear:e=>u(()=>{ro(e)})})),v(Dp,Dp.of({observe:({environmentId:e,method:t})=>u(()=>{XD+=1;let n=`${e}:${XD}`;return UE(n,t,`${t} · ${e}`),u(()=>{WE(n)})})}))),yO=`borg.searchatlas.api-key`,bO=`borg.searchatlas.api-customer-id`,xO=`borg-search-atlas-credential-changed`,SO=e=>/^\d+$/u.test(e)&&Number(e)>0,CO=()=>{try{let e=window.sessionStorage.getItem(yO)?.trim(),t=window.sessionStorage.getItem(bO)?.trim();return e&&t&&SO(t)?{kind:`apiKey`,key:e,customerId:t}:void 0}catch{return}};function wO(e,t){try{e.trim()&&SO(t.trim())?(window.sessionStorage.setItem(yO,e.trim()),window.sessionStorage.setItem(bO,t.trim())):(window.sessionStorage.removeItem(yO),window.sessionStorage.removeItem(bO)),window.dispatchEvent(new Event(xO))}catch{}}function TO(){wO(``,``)}var EO=e=>e===null||e.trim().length===0?M():k({kind:`jwt`,token:e}),DO=e=>{let t=EO(e);return P(t)?t:Si(CO())},OO=lt(jf,S(function*(){let e=typeof window>`u`?void 0:window.desktopBridge,t=e?null:QT(),n=yield*Dn(),r=async()=>{let n=null;try{n=e?e.getSearchAtlasAccessToken?await e.getSearchAtlasAccessToken():(await e.getSearchAtlasTunnelCredentials?.())?.accessToken??null:t?await t.getAccessToken():null}catch{n=null}return e?EO(n):DO(n)};t!==null&&(yield*bn(u(()=>t.subscribe(e=>Mi(n,DO(e)))),e=>u(e)));let i=e?.onSearchAtlasCredentialChanged;return i&&(yield*bn(u(()=>i(()=>{r().then(e=>Mi(n,e))})),e=>u(e))),typeof window<`u`&&(yield*bn(u(()=>{let e=()=>{r().then(e=>Mi(n,e))};window.addEventListener(xO,e);let t=ep(e);return()=>{window.removeEventListener(xO,e),t()}}),e=>u(e))),jf.of({current:pi(r),changes:Ci(n)})}));function kO(){try{return{key:window.sessionStorage.getItem(yO)??``,customerId:window.sessionStorage.getItem(bO)??``}}catch{return{key:``,customerId:``}}}var AO=vO.pipe(Ut(uv)),jO=nt(Th,eh,k_),MO=Ie(Um({environmentThemes:!0}),jO).pipe(Va(nt(uv,AO,Dv,OO))),NO=Qs(nt(Ov,xh).pipe(Va(MO)));function PO(e){return e.pipe(b(k),Tr(e=>y(`Could not load the initial environment configuration.`).pipe(_i({...Qf(e)}),Hi(M()))))}var FO=6e3,IO=E(`clientRuntime.state.fetchEnvironmentSessionState`)(function*(e){let t=$a(e.prepared.httpBaseUrl,`/api/auth/session`),n=yield*eo(e.prepared.httpBaseUrl),r=yield*Xm(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*Ka(t,e.timeoutMs??FO,Ym(e.prepared.httpAuthorization,n.auth.session({headers:r})))});function LO(e){let t=R(t=>e.atom(Qp(t,bt(yp.pipe(b(e=>Vo(e.session).pipe(ur(Pr({onNone:()=>C(M()),onSome:e=>PO(e.initialConfig)}))))))),{initialValue:M()})),n=R(e=>L(n=>nr(qi(os(n(t(e))),()=>M()))).pipe(z(`environment-config-value:${e}`))),r=R(t=>e.atom(Qp(t,bt(yp.pipe(b(e=>Vo(e.prepared))))),{initialValue:M()})),i=R(e=>L(t=>qi(os(t(r(e))),()=>M())).pipe(z(`environment-prepared-connection:${e}`))),a=R(t=>e.atom(e=>{let n=nr(e(i(t)));return n===null?Tn:S(function*(){let e=yield*fe(Ud);return yield*IO({prepared:n,signer:e})})}).pipe(pc({staleTime:3e4,revalidateOnMount:!0}),Fs(5*6e4),z(`environment-session-state:${t}`)));return{initialConfigAtom:t,initialConfigValueAtom:n,preparedConnectionAtom:r,preparedConnectionValueAtom:i,sessionStateAtom:a,sessionStateValueAtom:R(e=>L(t=>nr(os(t(a(e))))??null).pipe(z(`environment-session-state-value:${e}`)))}}var RO=LO(NO),zO=L(M()).pipe(z(`web-prepared-connection:empty`));function BO(e){let t=(0,im.c)(2),n;return t[0]===e?n=t[1]:(n=e===null?zO:RO.preparedConnectionValueAtom(e),t[0]=e,t[1]=n),kc(n)}function VO(e){return nr(AE.get(RO.preparedConnectionValueAtom(e)))}export{Pg as $,yp as $t,oE as A,Uo as An,xm as At,Y_ as B,Bp as Bt,_E as C,$o as Cn,Jm as Ct,pE as D,Vo as Dn,Dm as Dt,yE as E,os as En,qm as Et,Rv as F,nm as Ft,b_ as G,Hp as Gt,N_ as H,Rp as Ht,lv as I,em as It,s_ as J,kp as Jt,m_ as K,qp as Kt,iv as L,Gp as Lt,nE as M,Y as Mt,QT as N,rm as Nt,mE as O,I as On,bm as Ot,yT as P,tm as Pt,Mg as Q,wp as Qt,Z_ as R,Wp as Rt,hE as S,Xo as Sn,nh as St,vE as T,Qo as Tn,Km as Tt,M_ as U,Zp as Ut,j_ as V,zp as Vt,T_ as W,Lp as Wt,c_ as X,Mp as Xt,o_ as Y,jp as Yt,a_ as Z,Pp as Zt,OE as _,pc as _n,_h as _t,xO as a,gd as an,ig as at,TE as b,es as bn,oh as bt,wO as c,Pc as cn,ag as ct,WD as d,Tc as dn,zh as dt,tp as en,Ng as et,XE as f,xc as fn,Mh as ft,kE as g,Fs as gn,jh as gt,AE as h,L as hn,Lh as ht,NO as i,Mf as in,rg as it,rE as j,Do as jn,Ip as jt,sE as k,Bo as kn,Sm as kt,YD as l,Nc as ln,Qh as lt,jE as m,cc as mn,Ah as mt,VO as n,Qf as nn,Tg as nt,TO as o,Gu as on,fg as ot,JE as p,R as pn,Ph as pt,p_ as q,Vp as qt,BO as r,Nf as rn,gg as rt,kO as s,Wu as sn,pg as st,RO as t,ep as tn,kg as tt,UD as u,kc as un,$h as ut,bE as v,z as vn,vh as vt,gE as w,Zo as wn,Gm as wt,EE as x,ss as xn,ah as xt,DE as y,ps as yn,gh as yt,W_ as z,Qp as zt};
|
|
67
|
-
//# sourceMappingURL=session-DIGL5_Nm.js.map
|