getborg 0.0.118 → 0.0.124
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/{FetchHttpClient-C-jciW95.mjs → FetchHttpClient-DkBX_tvM.mjs} +814 -814
- package/dist/{FileSystem-NX0EtGtm.mjs → FileSystem-B8SvsKCB.mjs} +87 -18
- package/dist/{Mime-C6O17O_3.mjs → Mime-mwjBDTG5.mjs} +945 -945
- package/dist/{NodeHttpIncomingMessage-CylGKvlB.mjs → NodeHttpIncomingMessage-Caou0eJc.mjs} +3 -3
- package/dist/{NodeHttpServer-EarHJJzn.mjs → NodeHttpServer-CiwRW4qX.mjs} +7 -7
- package/dist/{NodePtyAdapter-C6ioPYk6.mjs → NodePtyAdapter-DCy0YCxP.mjs} +2 -2
- package/dist/{NodeServices-C18DO3cx.mjs → NodeServices-KA4IGVlf.mjs} +4 -4
- package/dist/{NodeSqliteClient-CWkKfsSo.mjs → NodeSqliteClient-y7W-gFvl.mjs} +3 -3
- package/dist/{NodeStream-1N7oXzTp.mjs → NodeStream-Cwt3mZYs.mjs} +2 -2
- package/dist/{SqlClient-Cusaqpaw.mjs → SqlClient-D-oF89aw.mjs} +2 -2
- package/dist/bin.mjs +27760 -18891
- package/dist/{borgTelemetryNode-CHLcRFOW.mjs → borgTelemetryNode-BTLPaUwA.mjs} +5 -5
- package/dist/client/.vite/manifest.json +396 -320
- package/dist/client/assets/{ArrowRight-CgvCTAzu.js → ArrowRight-D8u8fAtz.js} +2 -2
- package/dist/client/assets/{ArrowSquareOut-C1CwJQ7R.js → ArrowSquareOut-B_f6YUhV.js} +2 -2
- package/dist/client/assets/{ArrowsClockwise-CBwAQTtQ.js → ArrowsClockwise-DQYZ1Xbo.js} +2 -2
- package/dist/client/assets/{CaretLeft-Bk0n02vc.js → CaretLeft-CfrkuxuJ.js} +2 -2
- package/dist/client/assets/ChatMarkdown-Ch9PipMk.js +249 -0
- package/dist/client/assets/CircleNotch-BcVOnWaH.js +2 -0
- package/dist/client/assets/DesignWorkspace-CrijZIpE.js +3 -0
- package/dist/client/assets/DiffPanel-Bbs-arXF.js +2 -0
- package/dist/client/assets/DiffWorkerPoolProvider-B-AH2sbL.js +10 -0
- package/dist/client/assets/{DocxPreview-DHnzhQMX.js → DocxPreview-HXde7oD1.js} +4 -4
- package/dist/client/assets/FilePreviewPanel-DkspqFyX.js +2237 -0
- package/dist/client/assets/HtmlPreview-pfh_hRgS.js +2 -0
- package/dist/client/assets/{PdfPreview-CjWrZkCM.js → PdfPreview-VSGe6F9I.js} +3 -3
- package/dist/client/assets/PptxPreview-CZZ5e7rI.js +3 -0
- package/dist/client/assets/PreviewPanel-C_WqPJu_.js +2 -0
- package/dist/client/assets/PullRequestCodeTab-DLajHhi9.js +6 -0
- package/dist/client/assets/PullRequestReactions-BJ4eU_08.js +12 -0
- package/dist/client/assets/{RightPanelResizeHandle-DBci-Ee2.js → RightPanelResizeHandle-XlC9gY5e.js} +2 -2
- package/dist/client/assets/VirtualizedFile-qiRlyNDc.js +2 -0
- package/dist/client/assets/XlsxPreview-BPtt3tW-.js +3 -0
- package/dist/client/assets/accountData-BKyjOPQm.js +16 -0
- package/dist/client/assets/assetUrls-33nMWFnF.js +2 -0
- package/dist/client/assets/assets-1BW7ZJgz.js +2 -0
- package/dist/client/assets/{browserHistoryStore-CIr_OQCq.js → browserHistoryStore-CEVJXGfr.js} +3 -3
- package/dist/client/assets/browserRecording-BavNt16V.js +2 -0
- package/dist/client/assets/clientAnalytics-ChPHl8_D.js +1 -0
- package/dist/client/assets/clientPersistenceStorage-CeJLSpQl.js +2 -0
- package/dist/client/assets/combobox-CQHB5X6j.js +2 -0
- package/dist/client/assets/composerMentionDrag-CdTT1rUK.js +2 -0
- package/dist/client/assets/designCanvas.logic-DduGt5E7.js +8 -0
- package/dist/client/assets/{designOpenFileContext-DCJpUleA.js → designOpenFileContext-CMKir5dG.js} +2 -2
- package/dist/client/assets/{diffFileContents-CFjzWK4l.js → diffFileContents-CHRsIT6_.js} +3 -3
- package/dist/client/assets/{empty-tcpR9LH8.js → empty-DUUjhkFh.js} +2 -2
- package/dist/client/assets/entities-BtD3_L53.js +2 -0
- package/dist/client/assets/followUpQueuePersistence-C_pFQCnT.js +1 -0
- package/dist/client/assets/{index-DraeEDbf.js → index-DrITfTBh.js} +3 -3
- package/dist/client/assets/{input-BRLXkmUH.js → input-CyCAHFxI.js} +2 -2
- package/dist/client/assets/{lib-ay4Y8Jpt.js → lib-BRpsbmNP.js} +2 -2
- package/dist/client/assets/main-Bi6AoLeM.js +167 -0
- package/dist/client/assets/main-C0iNAqq8.css +2 -0
- package/dist/client/assets/{pdf-BH4RlEy2.js → pdf-C3xMIdpt.js} +2 -2
- package/dist/client/assets/popover-BXSj56CI.js +2 -0
- package/dist/client/assets/pptxDocument-BnTLF4HV.js +3 -0
- package/dist/client/assets/projectFilesQueryState-Cs5skZOc.js +2 -0
- package/dist/client/assets/queries-BevoHPqY.js +2 -0
- package/dist/client/assets/{scroll-area-j6QV0udq.js → scroll-area-DAaT-DGF.js} +36 -36
- package/dist/client/assets/session-Dmu9Hk5C.js +68 -0
- package/dist/client/assets/spinner-K3N_kbJr.js +2 -0
- package/dist/client/assets/textarea-BT0tVWKM.js +2 -0
- package/dist/client/assets/{toggle-DwBa6pBo.js → toggle-Sui8J_p3.js} +2 -2
- package/dist/client/assets/toggle-group-BDgfPfOF.js +2 -0
- package/dist/client/assets/useSettings-GEQSU1F5.js +5 -0
- package/dist/client/assets/{useWorkspaceMutationRefresh-DLI4brDf.js → useWorkspaceMutationRefresh-ApasU6PB.js} +2 -2
- package/dist/client/assets/utils-ClZ5OxbV.js +30 -0
- package/dist/client/assets/xlsxDocument-SRKfhPKH.js +2 -0
- package/dist/client/index.html +1 -1
- package/dist/service-launcher.mjs +1 -1
- package/package.json +2 -2
- package/dist/client/assets/ChatMarkdown-BhfpBJaq.js +0 -249
- package/dist/client/assets/DesignWorkspace-okkekyBu.js +0 -3
- package/dist/client/assets/DiffPanel-Dn_Or9fx.js +0 -2
- package/dist/client/assets/DiffWorkerPoolProvider-Hp3trMBG.js +0 -10
- package/dist/client/assets/FilePreviewPanel-KOVwBhPe.js +0 -2231
- package/dist/client/assets/HtmlPreview-I3xV5YgS.js +0 -2
- package/dist/client/assets/PptxPreview-D4YsFq_s.js +0 -3
- package/dist/client/assets/PreviewPanel-CKieJ-9L.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-DbUx3FWB.js +0 -6
- package/dist/client/assets/PullRequestReactions-BSI_Qt4L.js +0 -12
- package/dist/client/assets/VirtualizedFile-VSzhLWFM.js +0 -2
- package/dist/client/assets/XlsxPreview-BnnrdNes.js +0 -3
- package/dist/client/assets/accountData-C4ZvicpJ.js +0 -16
- package/dist/client/assets/assetUrls-C2vkiSgX.js +0 -2
- package/dist/client/assets/browserRecording-BmG6q-H4.js +0 -2
- package/dist/client/assets/clientPersistenceStorage-BlYjZvCd.js +0 -2
- package/dist/client/assets/combobox-uXzVxkLc.js +0 -2
- package/dist/client/assets/composerMentionDrag-DTGN7WcV.js +0 -2
- package/dist/client/assets/designCanvas.logic-DtK3Ht6X.js +0 -8
- package/dist/client/assets/entities-Da-AvwsX.js +0 -2
- package/dist/client/assets/main-Bn8Ylf8R.js +0 -161
- package/dist/client/assets/main-YscGsfgO.css +0 -2
- package/dist/client/assets/popover-DTprsoPQ.js +0 -2
- package/dist/client/assets/pptxDocument-ifTk53yH.js +0 -3
- package/dist/client/assets/projectFilesQueryState-CD_JXBj5.js +0 -2
- package/dist/client/assets/queries-D1AwaR_5.js +0 -2
- package/dist/client/assets/session-BaysTZDD.js +0 -67
- package/dist/client/assets/spinner-DHhZaoFg.js +0 -2
- package/dist/client/assets/textarea-BB3euU4O.js +0 -5
- package/dist/client/assets/toggle-group-BU7-0DcW.js +0 -2
- package/dist/client/assets/utils-DgzD4MA_.js +0 -30
- package/dist/client/assets/xlsxDocument-DwhEMpfP.js +0 -2
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/followUpQueuePersistence-C_pFQCnT.js","assets/main-Bi6AoLeM.js","assets/rolldown-runtime-DAXXjFlN.js","assets/index-DrITfTBh.js","assets/index-DZprGaeP.css","assets/accountData-BKyjOPQm.js","assets/utils-ClZ5OxbV.js","assets/queries-BevoHPqY.js","assets/textarea-BT0tVWKM.js","assets/useSettings-GEQSU1F5.js","assets/clientPersistenceStorage-CeJLSpQl.js","assets/CircleNotch-BcVOnWaH.js","assets/designOpenFileContext-CMKir5dG.js","assets/empty-DUUjhkFh.js","assets/input-CyCAHFxI.js","assets/browserRecording-BavNt16V.js","assets/RightPanelResizeHandle-XlC9gY5e.js","assets/browserHistoryStore-CEVJXGfr.js","assets/entities-BtD3_L53.js","assets/env-71Gq9H0m.js","assets/ArrowRight-D8u8fAtz.js","assets/ArrowSquareOut-B_f6YUhV.js","assets/scroll-area-DAaT-DGF.js","assets/lib-BpnzBIoA.js","assets/ArrowsClockwise-DQYZ1Xbo.js","assets/ChatMarkdown-Ch9PipMk.js","assets/assets-1BW7ZJgz.js","assets/assetUrls-33nMWFnF.js","assets/lib-CCiVGdun.js","assets/designCanvas.logic-DduGt5E7.js","assets/projectFilesQueryState-Cs5skZOc.js","assets/designCanvas-CfWhq9nr.css","assets/CaretLeft-CfrkuxuJ.js","assets/toggle-Sui8J_p3.js","assets/PullRequestReactions-BJ4eU_08.js","assets/popover-BXSj56CI.js","assets/composerMentionDrag-CdTT1rUK.js","assets/combobox-CQHB5X6j.js","assets/useWorkspaceMutationRefresh-ApasU6PB.js","assets/DiffWorkerPoolProvider-B-AH2sbL.js","assets/toggle-group-BDgfPfOF.js","assets/spinner-K3N_kbJr.js","assets/zipGuard-BHHl8sLU.js","assets/main-C0iNAqq8.css","assets/clientAnalytics-ChPHl8_D.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./index-DrITfTBh.js";import{$c as r,$l as i,$s as a,$u as o,Aa as s,Ac as c,Ad as l,Ai as u,Al as d,As as f,Au as p,B as m,Bc as h,Bd as g,Bl as _,Bs as v,Bt as y,C as ee,Ca as te,Cc as ne,Cd as re,Ci as ie,Cl as ae,Cs as oe,Cu as se,Dc as ce,Di as le,Do as ue,Ds as b,Du as de,Ec as fe,Ei as pe,El as me,Es as he,Eu as ge,Fa as _e,Fc as ve,Fd as ye,Fi as be,Fl as xe,Fo as Se,Fu as Ce,Ga as we,Gc as Te,Gi as Ee,Gl as De,Gs as Oe,Gu as ke,Ha as Ae,Hc as je,Hd as Me,Hi as Ne,Hl as Pe,Ho as Fe,Hs as Ie,Ia as Le,Ic as Re,Id as ze,Ii as Be,Iu as Ve,Ja as He,Jc as Ue,Ji as We,Jl as Ge,Js as Ke,Jt as qe,Ju as Je,Ka as Ye,Kc as Xe,Kd as Ze,Ki as Qe,Kl as $e,Ku as et,La as tt,Lc as nt,Ld as rt,Li as it,Ll as at,Lo as ot,Ls as st,Lu as ct,Ma as lt,Mc as x,Md as ut,Mi as dt,Ml as ft,Mo as pt,Ms as mt,Mu as ht,Na as gt,Nc as _t,Nd as vt,Ni as yt,Ns as bt,Nu as xt,Oa as St,Oc as Ct,Os as wt,Ou as Tt,Pa as Et,Pc as Dt,Pd as Ot,Pi as kt,Pl as At,Ps as jt,Pu as Mt,Q as Nt,Qa as Pt,Qc as Ft,Qd as It,Qs as S,Rc as Lt,Rd as Rt,Ri as zt,Rl as Bt,Rs as Vt,Ru as Ht,S as Ut,Sa as Wt,Sc as Gt,Sd as Kt,Si as qt,St as Jt,Ta as Yt,Tc as Xt,Td as Zt,Ti as Qt,Ts as $t,Tt as en,Tu as tn,Uc as nn,Ud as C,Ul as rn,Uo as an,Us as on,V as sn,Vc as cn,Vd as ln,Vl as un,Vo as dn,Vs as fn,Vt as pn,Wa as mn,Wc as hn,Wd as w,Wi as gn,Wl as _n,Wo as vn,Ws as yn,Wt as bn,Wu as xn,Xc as Sn,Xd as Cn,Xi as wn,Xl as Tn,Xr as En,Xt as Dn,Y as On,Yc as kn,Yd as An,Yi as jn,Ys as T,Yu as Mn,Za as Nn,Zc as Pn,Zi as Fn,Zl as In,Zs as Ln,_a as Rn,_c as E,_f as zn,_i as Bn,_l as Vn,_n as Hn,_r as Un,_t as Wn,_u as Gn,a as Kn,ac as D,af as qn,al as Jn,ao as Yn,au as Xn,b as O,ba as Zn,bc as Qn,bd as $n,bf as er,bi as tr,bl as nr,bo as rr,bs as ir,bt as ar,bu as or,c as sr,ca as cr,cc as lr,cf as ur,cn as dr,cr as fr,cu as pr,d as mr,da as hr,dc as gr,df as _r,dl as vr,do as k,du as yr,ea as br,ec as xr,ef as Sr,el as Cr,eo as wr,eu as Tr,f as Er,fa as Dr,fc as Or,fd as kr,fl as Ar,fu as jr,ga as Mr,gd as Nr,gf as Pr,gi as Fr,gl as A,go as Ir,gt as Lr,gu as Rr,ha as zr,hc as j,hd as Br,hf as Vr,hi as Hr,hl as Ur,ho as Wr,hr as Gr,ht as Kr,hu as qr,i as Jr,ic as Yr,il as Xr,iu as Zr,ja as Qr,jc as $r,ji as ei,jo as ti,ju as ni,ka as ri,kc as ii,kd as ai,ki as oi,kl as si,ko as ci,ks as li,kt as ui,ku as di,l as fi,la as pi,lc as mi,ld as hi,lf as gi,ll as _i,lo as vi,lu as yi,ma as bi,mc as xi,md as Si,mo as Ci,na as wi,nc as Ti,nd as Ei,nl as Di,no as Oi,nu as ki,oa as Ai,oc as M,of as ji,ol as Mi,oo as Ni,ou as Pi,p as Fi,pa as Ii,pc as Li,pn as Ri,po as zi,pu as Bi,qa as Vi,qc as Hi,qd as Ui,ql as Wi,qs as N,qt as Gi,qu as Ki,ra as qi,rc as Ji,rd as Yi,rl as P,ru as Xi,sa as Zi,sc as Qi,sd as $i,sf as ea,sl as ta,so as na,su as ra,t as ia,ta as aa,tc as oa,td as sa,tf as ca,tl as F,to as la,ua,uc as da,ud as fa,uf as pa,ul as ma,uu as ha,v as ga,va as _a,vd as va,vf as ya,vi as ba,vl as xa,vs as Sa,vt as Ca,vu as wa,w as Ta,wa as Ea,wc as Da,wd as Oa,wi as ka,ws as Aa,wu as ja,x as Ma,xa as Na,xc as Pa,xd as Fa,xf as Ia,xt as La,xu as Ra,y as za,ya as Ba,yc as Va,yd as I,yf as Ha,yi as Ua,yl as Wa,yn as Ga,ys as Ka,yt as qa,yu as Ja,zc as Ya,zd as Xa,zi as Za,zo as Qa,zs as $a,zt as eo,zu as to}from"./accountData-BKyjOPQm.js";import{$o as no,Ao as ro,Do as io,Fo as ao,Io as oo,Jo as so,Lo as co,Mo as lo,No as uo,Oo as fo,Po as po,Qo as mo,Ro as ho,S as go,Uo as _o,Zo as vo,es as yo,f as bo,jo as xo,ko as So,lt as Co,ns as wo,ot as To,qo as Eo,ts as Do}from"./utils-ClZ5OxbV.js";var Oo=`~effect/platform/Crypto`,ko=I(`effect/Crypto`),Ao=e=>{let t=e.randomBytes,n=e=>j(jo(`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 ko.of({[Oo]:Oo,randomBytes:n,nextDoubleUnsafe:r,nextIntUnsafe:i,digest:e.digest,random:P(()=>r()),randomBoolean:P(()=>r()>.5),randomInt:P(()=>i()),randomBetween:(e,t)=>P(()=>r()*(t-e)+e),randomIntBetween(e,t,n){let i=n?.halfOpen===!0?0:1;return P(()=>{let n=Math.ceil(e),a=Math.floor(t);return Math.floor(r()*(a-n+i))+n})},randomShuffle:e=>P(()=>{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:P(()=>Po(t(16))),randomUUIDv7:v(e=>F(Io(e.currentTimeMillisUnsafe(),t(16))))})},jo=(e,t)=>Number.isSafeInteger(t)&&t>=0?F(t):N(qi({module:`Crypto`,method:e,description:`size must be a non-negative safe integer`})),Mo=e=>e.toString(16).padStart(2,`0`),No=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,Mo).join(``)).join(`-`),Po=e=>(e[6]=e[6]&15|64,e[8]=e[8]&63|128,No(e)),Fo=2**48-1,Io=(e,t)=>{let n=Math.min(Math.max(0,Math.trunc(e)),Fo);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,No(t)},Lo=`~effect/ManagedRuntime`,Ro=(e,t)=>{let n=t?.memoMap??pr(),r=se(`parallel`),i=Ra(r,`sequential`),a={onFiberStart:gt(r)},o=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,s,c=xa(t=>(s||=h(Xr(Zr(e,n,i),e=>P(()=>{l.cachedContext=e})),{...a,scheduler:t.currentScheduler}),Ln(ri(s)))),l={[Lo]:Lo,memoMap:n,scope:r,contextEffect:c,cachedContext:void 0,context(){return l.cachedContext===void 0?je(l.contextEffect):Promise.resolve(l.cachedContext)},dispose(){return je(l.disposeEffect)},[Symbol.asyncDispose](){return l.dispose()},disposeEffect:Di(()=>(l.contextEffect=yn(`ManagedRuntime disposed`),l.cachedContext=void 0,Ja(l.scope,to))),runFork(e,t){return l.cachedContext===void 0?h(zo(l,e),o(t)):cn(l.cachedContext)(e,o(t))},runCallback(e,t){return l.cachedContext===void 0?Lt(zo(l,e),o(t)):Ya(l.cachedContext)(e,o(t))},runSyncExit(e){return l.cachedContext===void 0?Hi(zo(l,e)):Ue(l.cachedContext)(e)},runSync(e){return l.cachedContext===void 0?Xe(zo(l,e)):kn(l.cachedContext)(e)},runPromiseExit(e,t){return l.cachedContext===void 0?nn(zo(l,e),o(t)):hn(l.cachedContext)(e,o(t))},runPromise(e,t){return l.cachedContext===void 0?je(zo(l,e),o(t)):Te(l.cachedContext)(e,o(t))}};return l};function zo(e,t){return T(e.contextEffect,e=>$r(t,e))}var Bo=class extends I()(`effect/reactivity/Reactivity`){},Vo=P(()=>{let e=new Map,t=t=>{qo(t,t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})},n=e=>Ie(n=>{let r=n.mapUnsafe.get(Ho.key);return r?qo(e,e=>{r.add(e)}):t(e),A}),r=(e,t)=>Xr(t,n(e)),i=(t,n)=>{let r=[];return qo(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)=>M(function*(){let n=yield*fn(),r=Kt(n,Rr),a=yield*Ii(),o=ya(cn(n),gt(r)),s=!1,c=!1,l=e=>{e._tag===`Failure`?Dr(a,e.cause):Mr(a,e.value),c?(c=!1,o(t).addObserver(l)):s=!1};function u(){if(s){c=!0;return}s=!0,o(t).addObserver(l)}return yield*Gn(r,P(i(e,u))),u(),a});return Bo.of({mutation:r,query:a,stream:(e,t)=>a(e,t).pipe(j(dt),br),invalidateUnsafe:t,invalidate:n,registerUnsafe:i,withBatch:t=>Di(()=>{let n=new Set;return t.pipe(x(Ho,n),Da(t=>P(()=>{n.forEach(t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})})))})})}),Ho=class extends I()(`effect/reactivity/Reactivity/PendingInvalidation`){},Uo=zn(2,(e,t)=>Bo.use(n=>n.mutation(t,e))),Wo=e=>Bo.use(t=>t.invalidate(e)),Go=Xn(Bo)(Vo);function Ko(e){switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return String(e);default:return ur(e)}}var qo=(e,t)=>{if(Array.isArray(e)){for(let n=0;n<e.length;n++)t(Ko(e[n]));return}for(let n in e){t(n);let r=e[n];for(let e=0;e<r.length;e++)t(`${n}:${Ko(r[e])}`)}},Jo=`~effect/SubscriptionRef`,Yo=e=>_r(e,Jo),Xo={...Sr,[Jo]:{_A:Ha},toJSON(){return{_id:`SubscriptionRef`,value:this.value}}},Zo=e=>j(Yt({replay:1}),t=>{let n=Object.create(Xo);return n.semaphore=cr(1),n.value=e,n.pubsub=t,Wt(n.pubsub,e),n}),Qo=e=>ei(e.pubsub),L=e=>P(()=>e.value),$o=(e,t)=>{e.value=t,Wt(e.pubsub,t)},es=zn(2,(e,t)=>e.semaphore.withPermit(P(()=>$o(e,t)))),ts=zn(2,(e,t)=>e.semaphore.withPermit(P(()=>$o(e,t(e.value))))),ns={"~effect/reactivity/AsyncResult":{E:Ha,A:Ha},pipe(){return Ia(this,arguments)},[ji](e){if(this._tag!==e._tag||this.waiting!==e.waiting)return!1;switch(this._tag){case`Initial`:return!0;case`Success`:return qn(this.value,e.value);case`Failure`:return qn(this.cause,e.cause)}},[pa](){let e=gi(`${this._tag}:${this.waiting}`);return this._tag===`Initial`?e:ea(e)(this._tag===`Success`?ur(this.value):ur(this.cause))}},rs=e=>e._tag===`Success`?ls(e.value):ds(e.cause),is=(e,t)=>e._tag===`Success`?ls(e.value):fs(e.cause,{previous:t}),as=e=>e._tag===`None`?ss(!0):ms(e.value),os=e=>e._tag!==`Initial`,ss=(e=!1)=>{let t=Object.create(ns);return t._tag=`Initial`,t.waiting=e,t},cs=e=>e._tag===`Success`,ls=(e,t)=>{let n=Object.create(ns);return n._tag=`Success`,n.value=e,n.waiting=t?.waiting??!1,n.timestamp=t?.timestamp??Date.now(),n},us=e=>e._tag===`Failure`,ds=(e,t)=>{let n=Object.create(ns);return n._tag=`Failure`,n.cause=e,n.previousSuccess=t?.previousSuccess??C(),n.waiting=t?.waiting??!1,n},fs=(e,t)=>ds(e,{previousSuccess:ai(t.previous,e=>cs(e)?w(e):us(e)?e.previousSuccess:C()),waiting:t.waiting}),ps=(e,t)=>fs(un(e),t),ms=(e,t)=>{if(e.waiting)return t?.touch?hs(e):e;let n=Object.assign(Object.create(ns),e);return n.waiting=!0,t?.touch&&cs(n)&&(n.timestamp=Date.now()),n},hs=e=>cs(e)?ls(e.value,{waiting:e.waiting}):e,gs=(e,t)=>e._tag===`Failure`?fs(e.cause,{previous:t,waiting:e.waiting}):e,_s=e=>e._tag===`Success`?w(e.value):e._tag===`Failure`?ln(e.previousSuccess,e=>e.value):C(),vs=zn(2,(e,t)=>Ot(_s(e),t)),ys=e=>rt(_s(e),()=>new Bt(`AsyncResult.getOrThrow: no value found`)),bs=e=>{switch(e._tag){case`Success`:return Ht(e.value);case`Failure`:return xt(e.cause);default:return ht(new Bt)}},xs=`~effect/reactivity/AtomRegistry`,Ss=e=>_r(e,xs),Cs=e=>new js(e?.initialValues,e?.scheduleTask,e?.timeoutResolution,e?.defaultIdleTTL),ws=I(xs),Ts=zn(e=>Ss(e[0]),(e,t,n)=>{let r=n?.suspendOnWaiting??!1;return bt(n=>{let i=e.get(t);if(i._tag!==`Initial`&&!(r&&i.waiting))return n(bs(i));let a=e.subscribe(t,e=>{e._tag!==`Initial`&&!(r&&e.waiting)&&(n(bs(e)),a())});return P(a)})}),Es=zn(2,(e,t)=>oe(P(()=>e.mount(t)),e=>P(e))),Ds={immediate:!0},Os=e=>{e()},ks=`~effect-atom/atom/Atom/Serializable`,As=e=>ks in e?e[ks].key:e,js=class{[xs];timeoutResolution;defaultIdleTTL;scheduler;schedulerAsync;dispatcher;onNodeAdded;onNodeRemoved;constructor(e,t,n,r){if(this[xs]=xs,this.scheduler=new xn(`sync`,t),this.schedulerAsync=new xn(`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,Pr,Ds)}atomHasTtl(e){return!e.keepAlive&&e.idleTTL!==0&&(e.idleTTL!==void 0||this.defaultIdleTTL!==void 0)}ensureNode(e){let t=As(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[ks].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 Ps(this,e)}invalidateAtom=e=>{this.ensureNode(e).invalidate()};scheduleAtomRemoval(e){this.dispatcher.scheduleTask(()=>{let t=this.nodes.get(As(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(As(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(As(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(As(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()}},Ms={alive:1,initialized:2,waitingForValue:4},Ns={uninitialized:Ms.alive|Ms.waitingForValue,stale:Ms.alive|Ms.initialized|Ms.waitingForValue,valid:Ms.alive|Ms.initialized,removed:0},Ps=class{constructor(e,t){this.registry=e,this.atom=t,this.writeContext=new Rs(e,this)}registry;atom;state=Ns.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 Ns.uninitialized:return`uninitialized`;case Ns.stale:return`stale`;case Ns.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&Ms.waitingForValue)!==0){this.lifetime=Ls(this),this.building=!0;let e=this.atom.read(this.lifetime);if(this.building=!1,(this.state&Ms.waitingForValue)!==0&&(this.preserveInitialValueOnBuild?(this.preserveInitialValueOnBuild=!1,this.state=Ns.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&Ms.initialized)===0?C():w(this._value)}setInitialValue(e){if((this.state&Ms.initialized)===0){this.preserveInitialValueOnBuild=!0,this.state=Ns.stale,this._value=e,Bs.phase===zs.collect?Bs.notify.add(this):this.notify();return}this.setValue(e)}setValue(e){if((this.state&Ms.initialized)===0){this.state=Ns.valid,this._value=e,Bs.phase===zs.collect?Bs.notify.add(this):this.notify();return}this.state=Ns.valid,!this.atom.equals(this._value,e)&&(this._value=e,this.skipInvalidation?this.skipInvalidation=!1:this.invalidateChildren(),this.listeners.size>0&&(Bs.phase===zs.collect?Bs.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&&Bs.phase===zs.collect&&(this.invalidatedDuringBuild=!0),this.state===Ns.valid&&(this.state=Ns.stale,this.disposeLifetime()),Bs.phase===zs.collect?Bs.stale.push(this):this.atom.lazy&&this.listeners.size===0&&!Fs(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(Os),Bs.phase===zs.commit&&Bs.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=Ns.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 Fs(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 Is={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 Gt;switch(n._tag){case`Initial`:return Gt;case`Failure`:return xt(n.cause);case`Success`:return F(n.value)}},resultOnce(e,t){return bt(n=>{let r=this.once(e);if(r._tag!==`Initial`&&!(t?.suspendOnWaiting&&r.waiting))return n(bs(r));let i=this.node.registry.subscribe(e,e=>{e._tag===`Initial`||t?.suspendOnWaiting&&e.waiting||(i(),n(bs(e)))},{immediate:!1});return P(i)})},setResult(e,t){return this.disposed?Gt:(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`?Gt:F(t.value)},someOnce(e){return bt(t=>{let n=this.once(e);if(g(n))return t(F(n.value));let r=this.node.registry.subscribe(e,e=>{Xa(e)||(r(),t(F(e.value)))},{immediate:!1});return P(r)})},once(e){return this.node.registry.get(e)},self(){return this.disposed?C():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?ie:Hr(n=>P(()=>{this.subscribe(e,e=>Mr(n,e),{immediate:!t?.withoutInitialValue})}))},streamResult(e,t){return this.stream(e,t).pipe(le(os),it(e=>e._tag===`Success`?F(e.value):Ke(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]()}},Ls=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,Is),t.isFn=!1,t.disposed=!1,t.finalizers=void 0,t.node=e,t},Rs=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()}},zs={disabled:0,collect:1,commit:2},Bs={phase:zs.disabled,depth:0,stale:[],notify:new Set};function Vs(e){Bs.phase=zs.collect,Bs.depth++;try{if(e(),Bs.depth===1){for(let e=0;e<Bs.stale.length;e++)Hs(Bs.stale[e]);Bs.phase=zs.commit;for(let e of Bs.notify)e.notify();Bs.notify.clear()}}finally{Bs.depth--,Bs.depth===0&&(Bs.phase=zs.disabled,Bs.stale=[])}}function Hs(e){if(e.state===Ns.valid){if(!e.invalidatedDuringBuild)return;e.invalidatedDuringBuild=!1,e.state=Ns.stale,e.disposeLifetime()}for(let t of e.parents)t.state!==Ns.valid&&Hs(t);e.state!==Ns.valid&&e.value()}var Us=`~effect/reactivity/Atom`,Ws=e=>_r(e,Us),Gs=`~effect/reactivity/Atom/Writable`,Ks=zn(2,(e,t)=>{let n=hi(t),r=fa(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?Nr(n):void 0})}),qs=Ks(0),Js={[Us]:Us,equals:Object.is,...Sr,toJSON(){return{_id:`Atom`,keepAlive:this.keepAlive,lazy:this.lazy,label:this.label}}},Ys={...Js,atom(e,t){let n=nc(e,t);return $s(e=>{let t=e.self(),r=e(this);return r._tag===`Success`?n(e,r.value):gs(r,t)})},fn(e,t){return arguments.length===0?(e,t)=>Xs(this,e,t):Xs(this,e,t)},pull(e,t){let n=qs(ac(0));return vc(n,$s(r=>{let i=r.self(),a=r(this);return a._tag===`Success`?sc(r,_c(r,n,e,t),ss(!0),a.value):gs(a,i)}))},subscriptionRef(e){return pc(qs($s(t=>{let n=t.self(),r=t(this);if(r._tag!==`Success`)return gs(r,n);let i=typeof e==`function`?e(t):e;return Yo(i)?i:sc(t,i,ss(!0),r.value)})),(e,t)=>fc(e,t,ys(e(this))))}},Xs=(e,t,n)=>{let[r,i,a]=gc(n?.reactivityKeys?(e,r)=>{let i=t(e,r);return da(i)?Uo(i,n.reactivityKeys):ka(i,Wo(n.reactivityKeys))}:t,n);return ec(t=>{t.get(a);let n=t.self(),i=t.get(e);return i._tag===`Success`?r(t,i.value):gs(i,n)},i)},Zs={...Js,[Gs]:Gs},Qs=e=>Gs in e,$s=(e,t)=>{let n=Object.create(Js);return n.keepAlive=!1,n.lazy=!0,n.read=e,n.refresh=t,n},ec=(e,t,n)=>{let r=Object.create(Zs);return r.keepAlive=!1,r.lazy=!0,r.read=e,r.write=t,r.refresh=n,r};function tc(e,t){e.setSelf(t)}var R=(e,t)=>{let n=nc(e,t);return`~effect/reactivity/Atom`in n?n:$s(n)},nc=(e,t)=>{if(typeof e==`function`&&!da(e)&&!kt(e)){let n=e;return function(e,r){let i=n(e);switch(typeof i){case`function`:case`object`:return i===null?i:rc in i?oc(e,i,t,r):ic in i?uc(e,i,t,r):i;default:return i}}}else if(da(e))return function(n,r){return oc(n,e,t,r)};else if(kt(e))return function(n,r){return uc(n,e,t,r)};return ac(e)},rc=`~effect/Effect`,ic=`~effect/Stream`,ac=e=>ec(function(t){return e},tc),oc=(e,t,n,r)=>sc(e,t,n?.initialValue===void 0?ss():ls(n.initialValue),r,n?.uninterruptible);function sc(e,t,n,r=Fa(),i=!1){let a=e.self(),o=se();e.addFinalizer(()=>{cn(r)(Ja(o,to))});let s=new Map(r.mapUnsafe);s.set(Rr.key,o),s.set(ws.key,e.registry),s.set(ke.key,e.registry.scheduler);let c,l=!1,u=cc(Zt(s),t,function(t){c=is(t,a),l&&e.setSelf(c)},i);return l=!0,u!==void 0&&e.addFinalizer(u),c===void 0?a._tag===`Some`?as(a):ms(n):c}function cc(e,t,n,r=!1){if(Ce(t)){n(t);return}let i=cn(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 lc=(e=>{let t=Go;function n(r){let i=Object.create(Ys);i.keepAlive=!1,i.lazy=!0,i.refresh=void 0,i.factory=n;let a=yc($s(typeof r==`function`?e=>jr(r(e),t):()=>jr(r,t)));return i.layer=a,i.read=function(t){let n=t(a);return oc(t,T(Sn,t=>Zr(n,e.memoMap,t)),{uninterruptible:!0})},i}n.memoMap=e.memoMap,n.addGlobalLayer=e=>{t=jr(t,yr(e,Go))};let r=qs(R(Ie(t=>Zr(Go,e.memoMap,Kt(t,Rr))).pipe(j(Kt(Bo)))));return n.withReactivity=e=>t=>bc(t,n=>{let i=ys(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:pr()});lc.withReactivity;var uc=(e,t,n,r)=>dc(e,t,n?.initialValue===void 0?ss():ls(n.initialValue),r);function dc(e,t,n,r=Fa()){let i=e.self();r=$n(r,ws,e.registry);let a=Ft(n=>T(Ai(t.channel,n),t=>Vn({while:Vr,body:()=>t,step(t){e.setSelf(ls(sa(t),{waiting:!0}))}}))).pipe(jt(t=>(ft(t)?er(e.self(),ai(_s),Me({onNone:()=>e.setSelf(ps(new Bt,{previous:e.self()})),onSome:t=>e.setSelf(ls(t))})):e.setSelf(fs(t,{previous:e.self()})),A))),o=new Map(r.mapUnsafe);o.set(ws.key,e.registry),o.set(ke.key,e.registry.scheduler);let s=cc(Zt(o),a,Pr,!1);return s!==void 0&&e.addFinalizer(s),i._tag===`Some`?as(i):ms(n)}var fc=(e,t,n=Fa())=>Yo(t)?(e.addFinalizer(Qo(t).pipe(Ee(t=>{for(let n=0;n<t.length;n++)e.setSelf(t[n]);return A}),Ya(n))),kn(n)(L(t))):t._tag===`Success`?dc(e,Qo(t.value),ss(!0),n):t,pc=(e,t)=>{function n(t,n){let r=t.get(e);Yo(r)?Xe(es(r,n)):cs(r)&&Xe(es(r.value,n))}return ec(n=>{let r=n(e);return Yo(r)||cs(r)?t(n,r):r},n)},mc=Symbol.for(`effect/reactivity/atom/Atom/Reset`),hc=Symbol.for(`effect/reactivity/atom/Atom/Interrupt`);function gc(e,t){let n=qs(ac([0,void 0])),r=t?.initialValue===void 0?ss():ls(t.initialValue),i=t?.concurrent?qs($s(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===hc)return fs(Wi(),{previous:t.self()});let l=e(c,t);return rc in l?(o&&(l=T(Ji(l,{startImmediately:!0}),e=>(o.add(e),e.addObserver(()=>o.delete(e)),j(lt(o),e=>e[0])))),sc(t,l,r,a,!1)):dc(t,l,r,a)}function o(e,t){Oc(()=>{t===mc?e.set(n,[0,void 0]):t===hc?e.set(n,[e.get(n)[0]+1,hc]):e.set(n,[e.get(n)[0]+1,t]),e.refreshSelf()})}return[a,o,n]}var _c=(e,t,n,r)=>T(Fn(typeof n==`function`?n(e):n),n=>{let i=s().context,a=Je(),c=Qn(n,{onFailure(e){return ft(e)?o(a)?F({done:!0,items:a}):N(new Bt(`Atom.pull: no items`)):Ke(e)},onSuccess(e){let t;return r?.disableAccumulation?t=e:(t=Ki(a,e),a=t),F({done:!1,items:t})}}),l=new Set;return e.addFinalizer(()=>{for(let e of l)e()}),e.once(t),e.subscribe(t,()=>{e.setSelf(as(e.self()));let t;t=cc(i,c,n=>{t&&l.delete(t);let r=is(n,e.self()),i=l.size>0;e.setSelf(i?ms(r):r)}),t&&l.add(t)}),c}),vc=(e,t)=>ec(t.read,function(t,n){t.set(e,t.get(e)+1)}),z=typeof WeakRef>`u`||typeof FinalizationRegistry>`u`?e=>{let t=Et();return function(n){let r=_e(t,n);if(r._tag===`Some`)return r.value;let i=e(n);return tt(t,n,i),i}}:e=>{let t=Et(),n=new FinalizationRegistry(e=>{Le(t,e)});return function(r){let i=_e(t,r).pipe(l(e=>e.deref()));if(i._tag===`Some`)return i.value;let a=e(r);return tt(t,r,new WeakRef(a)),n.register(a,r),a}},yc=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0}),B=zn(2,(e,t)=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,label:[t,Error().stack?.split(`
|
|
3
|
+
`)[5]??``]})),bc=zn(e=>Ws(e[0]),(e,t,n)=>{let r=qs(Qs(e)?ec(n=>t(n,e),function(t,n){t.set(e,n)},e.refresh??function(t){t(e)}):$s(n=>t(n,e),e.refresh??function(t){t(e)}));return n?.initialValueTarget&&(r.initialValueTarget=xc(n.initialValueTarget)),r}),xc=e=>{let t=e;for(;t.initialValueTarget;)t=t.initialValueTarget;return t},Sc=zn(2,(e,t)=>bc(e,n=>t(n(e)))),Cc=zn(2,(e,t)=>{let n=Nr(hi(t));return bc(e,function(t){let r=setTimeout(()=>t.refresh(e),n);return t.addFinalizer(()=>clearTimeout(r)),t(e)},{initialValueTarget:e})}),wc=zn(2,(e,t)=>{let n=Nr(hi(t.staleTime));return bc(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):()=>{Dc(r.once(e),n)&&r.refresh(e)})),Xa(r.self())&&t.revalidateOnMount===!1||Dc(i,n)&&r.refresh(e),i},{initialValueTarget:e})}),Tc=e=>e._tag===`Success`?w(e.timestamp):e._tag===`Failure`?ln(e.previousSuccess,e=>e.timestamp):C(),Ec=(e,t,n)=>n-e<t,Dc=(e,t)=>{if(e.waiting)return!1;let n=Rt(Tc(e));return n===void 0?e._tag!==`Initial`:!Ec(n,t,Date.now())},Oc=Vs,kc=`~effect-atom/atom/Atom/ServerValue`,Ac=zn(2,(e,t)=>`~effect-atom/atom/Atom/ServerValue`in e?e[kc](e=>t.get(e)):t.get(e)),jc=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&&b(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&&b(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 b(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,b(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}}}})),Mc=t(((e,t)=>{t.exports=jc()})),Nc=e(za(),1),Pc=e(Mc(),1);function Fc(e){let t=Pc.unstable_scheduleCallback(4,e);return()=>Pc.unstable_cancelCallback(t)}var Ic=Nc.createContext(Cs({scheduleTask:Fc,defaultIdleTTL:400})),Lc=new WeakMap;function Rc(e,t){let n=Lc.get(e);n===void 0&&(n=new WeakMap,Lc.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 Ac(t,e)}};return n.set(t,i),i}function zc(e,t){let n=Rc(e,t);return Nc.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var Bc=(e,t)=>{let n=Nc.useContext(Ic);return t?zc(n,Nc.useMemo(()=>Sc(e,t),[e,t])):zc(n,e)};function Vc(e,t){Nc.useEffect(()=>e.mount(t),[t,e])}function Hc(e,t,n){return n?.mode===`promise`||n?.mode===`promiseExit`?Nc.useCallback(r=>{e.set(t,r);let i=nn(Ts(e,t,{suspendOnWaiting:!0}));return n.mode===`promise`?i.then(Uc):i},[e,t,n.mode]):Nc.useCallback(n=>{e.set(t,typeof n==`function`?n(e.get(t)):n)},[e,t])}var Uc=e=>{if(ct(e))return e.value;throw ki(e.cause)},Wc=(e,t)=>{let n=Nc.useContext(Ic);return Vc(n,e),Hc(n,e,t)},Gc=e=>{let t=Nc.useContext(Ic);return Vc(t,e),Nc.useCallback(()=>{t.refresh(e)},[t,e])},Kc=ga(),qc=class extends I()(`effect/workers/Transferable/Collector`){},Jc=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return qc.of({addAllUnsafe:t,addAll:e=>P(()=>t(e)),readUnsafe:n,read:P(n),clearUnsafe:r,clear:P(r)})},Yc=`~effect/workers/WorkerError`,Xc=rr([class extends Oi(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:an(`WorkerSpawnError`),message:k,cause:dn(la())}){},class extends Oi(`effect/workers/WorkerError/WorkerSendError`)({_tag:an(`WorkerSendError`),message:k,cause:dn(la())}){},class extends Oi(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:an(`WorkerReceiveError`),message:k,cause:dn(la())}){},class extends Oi(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:an(`WorkerUnknownError`),message:k,cause:dn(la())}){}]);Oi(Yc)({_tag:an(`WorkerError`),reason:Xc});var Zc=`~effect/rpc/RpcClientError`,Qc=class extends Oi(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:an(`RpcClientDefect`),message:k,cause:la()}){},$c=class extends Oi(Zc)({_tag:an(`RpcClientError`),reason:rr([Xc,Ca,pn,Qc])}){[Zc]=Zc;get message(){return`${this.reason._tag}: ${this.reason.message}`}},el=e=>e,tl={_tag:`Ping`},nl;try{nl=new TextDecoder}catch{}var V,rl,H=0,il=[],al=il,ol=0,U={},W,sl,cl=0,ll=0,ul,dl,fl=[],G,pl={useRecords:!1,mapsAsObjects:!0},ml=class{},hl=new ml;hl.name=`MessagePack 0xC1`;var gl=!1,_l=2,vl=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(V)return ql(()=>(Jl(),this?this.unpack(t,n):e.prototype.unpack.call(pl,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(rl=n.end||t.length,H=n.start||0):(H=0,rl=n>-1?n:t.length),ol=0,ll=0,sl=null,al=il,ul=null,V=t;try{G=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw V=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(U=this,this.structures)return W=this.structures,yl(n);(!W||W.length>0)&&(W=[])}else U=pl,(!W||W.length>0)&&(W=[]);return yl(n)}unpackMultiple(e,t){let n,r=0;try{gl=!0;let i=e.length,a=this?this.unpack(e,i):Xl.unpack(e,i);if(t){if(t(a,r,H)===!1)return;for(;H<i;)if(r=H,t(yl(),r,H)===!1)return}else{for(n=[a];H<i;)r=H,n.push(yl());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{gl=!1,Jl()}}_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 yl(e){try{if(!U.trusted&&!gl){let e=W.sharedLength||0;e<W.length&&(W.length=e)}let t;if(U._readStruct&&V[H]<64&&V[H]>=32?(t=U._readStruct(V,H,rl),V=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),H=rl):t=xl(),ul&&=(H=ul.postBundlePosition,null),gl&&(W.restoreStructures=null),H==rl)W&&W.restoreStructures&&bl(),W=null,V=null,dl&&=null;else if(H>rl)throw Error(`Unexpected end of MessagePack data`);else if(!gl){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 W&&W.restoreStructures&&bl(),Jl(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||H>rl)&&(e.incomplete=!0),e}}function bl(){for(let e in W.restoreStructures)W[e]=W.restoreStructures[e];W.restoreStructures=null}function xl(){let e=V[H++];if(e<160)if(e<128){if(e<64)return e;{let t=W[e&63]||U.getStructures&&Tl()[e&63];return t?(t.read||=Cl(t,e&63),t.read()):e}}else if(e<144)if(e-=128,U.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Bl();e===`__proto__`&&(e=`__proto_`),t[e]=xl()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(xl(),xl());return t}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=xl();return U.freezeData?Object.freeze(t):t}else if(e<192){let t=e-160;if(ll>=H)return sl.slice(H-cl,(H+=t)-cl);if(ll==0&&rl<140){let e=t<16?Fl(t):Pl(t);if(e!=null)return e}return El(t)}else{let t;switch(e){case 192:return null;case 193:return ul?(t=xl(),t>0?ul[1].slice(ul.position1,ul.position1+=t):ul[0].slice(ul.position0,ul.position0-=t)):hl;case 194:return!1;case 195:return!0;case 196:if(t=V[H++],t===void 0)throw Error(`Unexpected end of buffer`);return Ll(t);case 197:return t=G.getUint16(H),H+=2,Ll(t);case 198:return t=G.getUint32(H),H+=4,Ll(t);case 199:return Rl(V[H++]);case 200:return t=G.getUint16(H),H+=2,Rl(t);case 201:return t=G.getUint32(H),H+=4,Rl(t);case 202:if(t=G.getFloat32(H),U.useFloat32>2){let e=Yl[(V[H]&127)<<1|V[H+1]>>7];return H+=4,(e*t+(t>0?.5:-.5)>>0)/e}return H+=4,t;case 203:return t=G.getFloat64(H),H+=8,t;case 204:return V[H++];case 205:return t=G.getUint16(H),H+=2,t;case 206:return t=G.getUint32(H),H+=4,t;case 207:return U.int64AsType===`number`?(t=G.getUint32(H)*4294967296,t+=G.getUint32(H+4)):U.int64AsType===`string`?t=G.getBigUint64(H).toString():U.int64AsType===`auto`?(t=G.getBigUint64(H),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=G.getBigUint64(H),H+=8,t;case 208:return G.getInt8(H++);case 209:return t=G.getInt16(H),H+=2,t;case 210:return t=G.getInt32(H),H+=4,t;case 211:return U.int64AsType===`number`?(t=G.getInt32(H)*4294967296,t+=G.getUint32(H+4)):U.int64AsType===`string`?t=G.getBigInt64(H).toString():U.int64AsType===`auto`?(t=G.getBigInt64(H),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=G.getBigInt64(H),H+=8,t;case 212:if(t=V[H++],t==114)return Hl(V[H++]&63);{let e=fl[t];if(e)return e.read?(H++,e.read(xl())):e.noBuffer?(H++,e()):e(V.subarray(H,++H));throw Error(`Unknown extension `+t)}case 213:return t=V[H],t==114?(H++,Hl(V[H++]&63,V[H++])):Rl(2);case 214:return Rl(4);case 215:return Rl(8);case 216:return Rl(16);case 217:return t=V[H++],ll>=H?sl.slice(H-cl,(H+=t)-cl):Dl(t);case 218:return t=G.getUint16(H),H+=2,ll>=H?sl.slice(H-cl,(H+=t)-cl):Ol(t);case 219:return t=G.getUint32(H),H+=4,ll>=H?sl.slice(H-cl,(H+=t)-cl):kl(t);case 220:return t=G.getUint16(H),H+=2,jl(t);case 221:return t=G.getUint32(H),H+=4,jl(t);case 222:return t=G.getUint16(H),H+=2,Ml(t);case 223:return t=G.getUint32(H),H+=4,Ml(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 Sl=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Cl(e,t){function n(){if(n.count++>_l){let r;try{r=e.read=Function(`r`,`return function(){return `+(U.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:Sl.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(xl)}catch{return _l=1/0,n()}return e.read0=r,e.highByte===0&&(e.read=wl(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]=xl()}return U.freezeData?Object.freeze(r):r}return n.count=0,e.read0=n,e.highByte===0?wl(t,n):n}var wl=(e,t)=>function(){let n=V[H++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=W[r]||Tl()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=Cl(i,e),i.read()};function Tl(){let e=ql(()=>(V=null,U.getStructures()));return W=U._mergeStructures(e,W)}var El=Al,Dl=Al,Ol=Al,kl=Al;function Al(e){let t;if(e<16&&(t=Fl(e)))return t;if(e>64&&nl)return nl.decode(V.subarray(H,H+=e));let n=H+e,r=[];for(t=``;H<n;){let e=V[H++];if(!(e&128))r.push(e);else if((e&224)==192){let t=V[H++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=V[H++]&63,n=V[H++]&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=V[H++]&63,n=V[H++]&63,i=V[H++]&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+=Nl.apply(String,r),r.length=0)}return r.length>0&&(t+=Nl.apply(String,r)),t}function jl(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=xl();return U.freezeData?Object.freeze(t):t}function Ml(e){if(U.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Bl();e===`__proto__`&&(e=`__proto_`),t[e]=xl()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(xl(),xl());return t}}var Nl=String.fromCharCode;function Pl(e){let t=H,n=Array(e);for(let r=0;r<e;r++){let e=V[H++];if((e&128)>0){H=t;return}n[r]=e}return Nl.apply(String,n)}function Fl(e){if(e<4)if(e<2){if(e===0)return``;{let e=V[H++];if((e&128)>1){--H;return}return Nl(e)}}else{let t=V[H++],n=V[H++];if((t&128)>0||(n&128)>0){H-=2;return}if(e<3)return Nl(t,n);let r=V[H++];if((r&128)>0){H-=3;return}return Nl(t,n,r)}else{let t=V[H++],n=V[H++],r=V[H++],i=V[H++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){H-=4;return}if(e<6){if(e===4)return Nl(t,n,r,i);{let e=V[H++];if((e&128)>0){H-=5;return}return Nl(t,n,r,i,e)}}else if(e<8){let a=V[H++],o=V[H++];if((a&128)>0||(o&128)>0){H-=6;return}if(e<7)return Nl(t,n,r,i,a,o);let s=V[H++];if((s&128)>0){H-=7;return}return Nl(t,n,r,i,a,o,s)}else{let a=V[H++],o=V[H++],s=V[H++],c=V[H++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){H-=8;return}if(e<10){if(e===8)return Nl(t,n,r,i,a,o,s,c);{let e=V[H++];if((e&128)>0){H-=9;return}return Nl(t,n,r,i,a,o,s,c,e)}}else if(e<12){let l=V[H++],u=V[H++];if((l&128)>0||(u&128)>0){H-=10;return}if(e<11)return Nl(t,n,r,i,a,o,s,c,l,u);let d=V[H++];if((d&128)>0){H-=11;return}return Nl(t,n,r,i,a,o,s,c,l,u,d)}else{let l=V[H++],u=V[H++],d=V[H++],f=V[H++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){H-=12;return}if(e<14){if(e===12)return Nl(t,n,r,i,a,o,s,c,l,u,d,f);{let e=V[H++];if((e&128)>0){H-=13;return}return Nl(t,n,r,i,a,o,s,c,l,u,d,f,e)}}else{let p=V[H++],m=V[H++];if((p&128)>0||(m&128)>0){H-=14;return}if(e<15)return Nl(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=V[H++];if((h&128)>0){H-=15;return}return Nl(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Il(){let e=V[H++],t;if(e<192)t=e-160;else switch(e){case 217:t=V[H++];break;case 218:t=G.getUint16(H),H+=2;break;case 219:t=G.getUint32(H),H+=4;break;default:throw Error(`Expected string`)}return Al(t)}function Ll(e){return U.copyBuffers?Uint8Array.prototype.slice.call(V,H,H+=e):V.subarray(H,H+=e)}function Rl(e){let t=V[H++];if(fl[t]){let n;return fl[t](V.subarray(H,n=H+=e),e=>{H=e;try{return xl()}finally{H=n}})}else throw Error(`Unknown extension type `+t)}var zl=Array(4096);function Bl(){let e=V[H++];if(e>=160&&e<192){if(e-=160,ll>=H)return sl.slice(H-cl,(H+=e)-cl);if(!(ll==0&&rl<180))return El(e)}else return H--,Vl(xl());let t=(e<<5^(e>1?G.getUint16(H):e>0?V[H]:0))&4095,n=zl[t],r=H,i=H+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=G.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=V[r++],a!=n[o++]){r=1879048192;break}if(r===i)return H=r,n.string;i-=3,r=H}for(n=[],zl[t]=n,n.bytes=e;r<i;)a=G.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=V[r++],n.push(a);let s=e<16?Fl(e):Pl(e);return s==null?n.string=El(e):n.string=s}function Vl(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(U.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 Hl=(e,t)=>{let n=xl().map(Vl),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=W[e];return i&&(i.isShared||gl)&&((W.restoreStructures||=[])[e]=i),W[e]=n,n.read=Cl(n,r),(n.read0||n.read)()};fl[0]=()=>{},fl[0].noBuffer=!0,fl[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 Ul={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};fl[101]=()=>{let e=xl();if(!Ul[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return Ul[e[0]](e[1],{cause:e[2]})},fl[105]=e=>{if(U.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=G.getUint32(H-4);dl||=new Map;let n=V[H],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)&&V[H+1]===115?new Set:{};let i={target:r};dl.set(t,i);let a=xl();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},fl[112]=e=>{if(U.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=G.getUint32(H-4),n=dl.get(t);return n.used=!0,n.target},fl[115]=()=>new Set(xl());var Wl=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Gl=typeof globalThis==`object`?globalThis:window;fl[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=Wl[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 Gl[r](n)},fl[120]=()=>{let e=xl();return new RegExp(e[0],e[1])};var Kl=[];fl[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=H;return H+=t-e.length,ul=Kl,ul=[Il(),Il()],ul.position0=0,ul.position1=0,ul.postBundlePosition=H,H=n,xl()},fl[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 ql(e){U&&U._onSaveState&&U._onSaveState();let t=rl,n=H,r=ol,i=cl,a=ll,o=sl,s=al,c=dl,l=ul,u=new Uint8Array(V.slice(0,rl)),d=W,f=W.slice(0,W.length),p=U,m=gl,h=e();return rl=t,H=n,ol=r,cl=i,ll=a,sl=o,al=s,dl=c,ul=l,V=u,gl=m,W=d,W.splice(0,W.length,...f),U=p,G=new DataView(V.buffer,V.byteOffset,V.byteLength),h}function Jl(){V=null,dl=null,W=null}var Yl=Array(147);for(let e=0;e<256;e++)Yl[e]=+(`1e`+Math.floor(45.15-e*.30103));var Xl=new vl({useRecords:!1});Xl.unpack,Xl.unpackMultiple,Xl.unpack;var Zl={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4),vl.SUPPORTS_STRUCT_HOOKS=!0;var Ql;try{Ql=new TextEncoder}catch{}var $l,eu,tu=typeof Buffer<`u`,nu=tu?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,ru=tu?Buffer:Uint8Array,iu=tu?4294967296:2144337920,K,au,q,J=0,ou,su=null,cu=21760,lu=/[\u0080-\uFFFF]/,uu=Symbol(`record-id`),du=class extends vl{constructor(e){super(e),this.offset=0;let t,n,r,i,a=ru.prototype.utf8Write?function(e,t){return K.utf8Write(e,t,K.byteLength-t)}:Ql&&Ql.encodeInto?function(e,t){return Ql.encodeInto(e,K.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(K||(K=new nu(8192),q=K.dataView||=new DataView(K.buffer,0,8192),J=0),ou=K.length-10,ou-J<2048?(K=new nu(K.length),q=K.dataView||=new DataView(K.buffer,0,K.length),ou=K.length-10,J=0):J=J+7&2147483640,t=J,a&2048&&(J+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(su=[],su.size=1/0):su=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[uu]=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)&&!eu.some(t=>e instanceof t)?ie(e.toJSON?e.toJSON():e):y(e):y(e);let n=su;if(su&&gu(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&&(q.setUint32(n.position+t,q.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&q.setUint32(n.position+t,q.getUint32(n.position+t)+a),J+=e.length*6,J>ou&&ae(J),o.offset=J;let s=hu(K.subarray(t,J),e);return i=null,s}return o.offset=J,a&512?(K.start=t,K.end=J,K):K.subarray(t,J)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=K.subarray(t,J),s=(o._prepareStructures||_u)(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?(r.uninitialized=!0,o.pack(e,a)):(o.lastNamedStructuresLength=n,K.length>1073741824&&(K=null),i)}K.length>1073741824&&(K=null),a&1024&&(J=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][uu]=0;m=[]}},v=e=>{var t=e.length;t<16?K[J++]=144|t:t<65536?(K[J++]=220,K[J++]=t>>8,K[J++]=t&255):(K[J++]=221,q.setUint32(J,t),J+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{J>ou&&(K=ae(J));var n=typeof e,r;if(n===`string`){let n=e.length;if(su&&n>=4&&n<4096){if((su.size+=n)>cu){let e,n=(su[0]?su[0].length*3+su[1].length:0)+10;J+n>ou&&(K=ae(J+n));let r;su.position?(r=su,K[J]=200,J+=3,K[J++]=98,e=J-t,J+=4,gu(t,y,0),q.setUint16(e+t-3,J-t-e)):(K[J++]=214,K[J++]=98,e=J-t,J+=4),su=[``,``],su.previous=r,su.size=0,su.position=e}let r=lu.test(e);su[+!r]+=e,K[J++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(J+o>ou&&(K=ae(J+o)),n<64||!a){let t,a,o,s=J+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?K[s++]=a:a<2048?(K[s++]=a>>6|192,K[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,K[s++]=a>>18|240,K[s++]=a>>12&63|128,K[s++]=a>>6&63|128,K[s++]=a&63|128):(K[s++]=a>>12|224,K[s++]=a>>6&63|128,K[s++]=a&63|128);r=s-J-i}else r=a(e,J+i);r<32?K[J++]=160|r:r<256?(i<2&&K.copyWithin(J+2,J+1,J+1+r),K[J++]=217,K[J++]=r):r<65536?(i<3&&K.copyWithin(J+3,J+2,J+2+r),K[J++]=218,K[J++]=r>>8,K[J++]=r&255):(i<5&&K.copyWithin(J+5,J+3,J+3+r),K[J++]=219,q.setUint32(J,r),J+=4),J+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this._writeStruct?K[J++]=e:e<256?(K[J++]=204,K[J++]=e):e<65536?(K[J++]=205,K[J++]=e>>8,K[J++]=e&255):(K[J++]=206,q.setUint32(J,e),J+=4);else if(e>>0===e)e>=-32?K[J++]=256+e:e>=-128?(K[J++]=208,K[J++]=e+256):e>=-32768?(K[J++]=209,q.setInt16(J,e),J+=2):(K[J++]=210,q.setInt32(J,e),J+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){K[J++]=202,q.setFloat32(J,e);let n;if(t<4||(n=e*Yl[(K[J]&127)<<1|K[J+1]>>7])>>0===n){J+=4;return}else J--}K[J++]=203,q.setFloat64(J,e),J+=8}else if(n===`object`||n===`function`)if(!e)K[J++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||=[]).push(n),K[J++]=214,K[J++]=112,q.setUint32(J,n.id),J+=4;return}else i.set(e,{offset:J-t})}let a=e.constructor;if(a===Object)re(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)K[J++]=128;else{r=e.size,r<16?K[J++]=128|r:r<65536?(K[J++]=222,K[J++]=r>>8,K[J++]=r&255):(K[J++]=223,q.setUint32(J,r),J+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=$l.length;t<n;t++){let n=eu[t];if(e instanceof n){let n=$l[t];if(n.write){n.type&&(K[J++]=212,K[J++]=n.type,K[J++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):re(e):y(t);return}let r=K,i=q,a=J;K=null;let o;try{o=n.pack.call(this,e,e=>(K=r,r=null,J+=e,J>ou&&ae(J),{target:K,targetView:q,position:J-e}),y)}finally{r&&(K=r,q=i,J=a,ou=K.length-10)}o&&(o.length+J>ou&&ae(o.length+J),J=mu(o,K,J,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`)K[J++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)K[J++]=211,q.setBigInt64(J,e);else if(e<0x10000000000000000&&e>0)K[J++]=207,q.setBigUint64(J,e);else if(this.largeBigIntToFloat)K[J++]=203,q.setFloat64(J,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),tu)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+J>ou&&ae(n.length+J),J=mu(n,K,J,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`);J+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?K[J++]=192:(K[J++]=212,K[J++]=0,K[J++]=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?K[J++]=128|n:n<65536?(K[J++]=222,K[J++]=n>>8,K[J++]=n&255):(K[J++]=223,q.setUint32(J,n),J+=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=>{K[J++]=222;let n=J-t;J+=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`);K[n+++t]=r>>8,K[n+t]=r&255},te=this.useRecords===!1?ee:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||=Object.create(null),a=J++-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==J?(J--,oe(i,c,u)):se(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[uu];n?K[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[uu];a?a>=96&&d?(K[J++]=((a-=96)&31)+96,K[J++]=a>>5):K[J++]=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,K,t,J,r,ae,(e,t,r)=>{if(r)return n=!0;J=t;let i=K;return y(e),_(),i===K?J:{position:J,targetView:q,target:K}});if(i===0)return re(e);J=i},ae=e=>{let n;if(e>16777216){if(e-t>iu)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(iu,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,K.length-1)>>12)+1<<12;let r=new nu(n);return q=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,K.length),K.copy?K.copy(r,0,t,e):r.set(K.slice(t,e)),J-=t,t=0,ou=r.length-10,K=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[uu]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(K[J++]=(a&31)+96,K[J++]=o):K[J++]=a):(o>=0?(K[J++]=213,K[J++]=114,K[J++]=(a&31)+96,K[J++]=o):(K[J++]=212,K[J++]=114,K[J++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[uu]=0),m.push(e),y(t))},se=(e,n,r,i)=>{let a=K,o=J,s=ou,c=t;K=au,J=0,t=0,K||(au=K=new nu(8192)),ou=K.length-10,oe(e,n,i),au=K;let l=J;if(K=a,J=o,ou=s,t=c,l>1){let e=J+l-1;e>ou&&ae(e);let n=r+t;K.copyWithin(n+l,n+1,J),K.set(au.slice(0,l),n),J=e}else K[r+t]=au[0]}}useBuffer(e){K=e,K.dataView||=new DataView(K.buffer,K.byteOffset,K.byteLength),q=K.dataView,J=0}set position(e){J=e}get position(){return J}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};eu=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,ml],$l=[{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?fu(e,16,t):pu(tu?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==ru&&this.moreTypes?fu(e,Wl.indexOf(n.name),t):pu(e,t)}},{pack(e,t){this.moreTypes?fu(e,17,t):pu(tu?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function fu(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 pu(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 mu(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 hu(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 gu(e,t,n){if(su.length>0){q.setUint32(su.position+e,J+n-su.position-e),su.stringsPosition=J-e;let r=su;su=null,t(r[0]),t(r[1])}}function _u(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}du.SUPPORTS_STRUCT_HOOKS=!0;var vu=new du({useRecords:!1});vu.pack,vu.pack;var{NEVER:yu,ALWAYS:bu,DECIMAL_ROUND:xu,DECIMAL_FIT:Su}=Zl,Cu=class extends I()(`effect/rpc/RpcSerialization`){};at(`MaxBufferSizeExceeded`);var wu=Cu.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)}}}),Tu=Bi(Cu)(wu),Eu=e=>Di(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>Ie(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),A});return j(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return M(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*$r(Di(()=>i(e)),t)}return yield*Da(Gt,()=>(t.delete(e),r.delete(e),A))})}}))}),Du=0,Ou=a(function*(e,t){let n=t?.spanPrefix??`RpcClient`,i=t?.supportsAck??!0,o=t?.disableTracing??!1,c=t?.generateRequestId??(()=>Du++),l=yield*fn(),u=Kt(l,Rr),d=new Map,f=yield*r(Ru),p=!1;yield*Gn(u,xa(e=>(p=!0,m(Mt(e.id)))));let m=a(function*(e){for(let[t,n]of d)d.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?ua(n.queue):hr(n.queue,e.cause):n.resume(e)}),h=e=>{let r=Ta(e.successSchema),i=y(e);return(a,s)=>{let c=s?.headers?qe(s.headers):Gi,l=s?.context??Fa();if(!r){let r=t=>_(e,i,t,e.payloadSchema.make(a),c,l,s?.discard??!1);return o?r(void 0):Ur(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=v(e,i,e.payloadSchema.make(a),c,s?.streamBufferSize??16,l);return s?.asQueue?u:br(j(u,dt))}},_=(e,n,r,i,a,o,s)=>xa(l=>{if(p)return lr;let u=c(),m=g(f)&&f.value.onRequestStart?f.value.onRequestStart({id:u,tag:e._tag,stream:!1}):A,h=n(e=>t.onFromClient({message:e,context:o,discard:s}),{_tag:`Request`,id:u,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:Dn(l.getRef(Nu),a)});if(s)return m.pipe(b(h));let _;return Xt(bt(t=>{let n={_tag:`Effect`,rpc:e,context:o,resume(e){t(e),_&&!_.pollUnsafe()&&l.currentDispatcher.scheduleTask(()=>{_.interruptUnsafe(l.id)},0)}};d.set(u,n),_=m.pipe(b(h),r?Wa(r,{captureStackTrace:!1}):Ha,cn(l.context)),_.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>{let t=d.get(u);return d.delete(u),b(Qr(_),ee(u,Array.from(e),o,t?.rpc._tag))})}),v=a(function*(e,r,i,a,l,u){if(p)return yield*lr;let m=o?void 0:yield*xi(`${n}.${e._tag}`,{attributes:t.spanAttributes}),h=s(),_=c(),v=g(f)&&f.value.onRequestStart?f.value.onRequestStart({id:_,tag:e._tag,stream:!0}):A,y=re(h.context,Rr);yield*wa(y,e=>{let t=d.get(_);return t?(d.delete(_),ee(_,Ve(e)?Array.from(Ge(e.cause)):[],u,t.rpc._tag)):A});let te=yield*pi(l);return d.set(_,{_tag:`Queue`,rpc:e,queue:te,scope:y,context:u,chunkCount:0}),yield*v.pipe(b(r(e=>t.onFromClient({message:e,context:u,discard:!1}),{_tag:`Request`,id:_,tag:e._tag,payload:i,...m?{traceId:m.traceId,spanId:m.spanId,sampled:m.sampled}:{},headers:Dn(h.getRef(Nu),a)}))).pipe(m?Wa(m,{captureStackTrace:!1}):Ha,jt(e=>hr(te,e)),mi,Yr(y,{startImmediately:!0})),te}),y=e=>{let t=[];for(let n of e.middlewares.values()){let e=l.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)}})}},ee=(e,n,r,i)=>(g(f)&&f.value.onRequestInterrupt?f.value.onRequestInterrupt({id:e,tag:i}):A).pipe(b(bt(i=>{let a=s();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(ta(1e3),cn(a.context)).addObserver(()=>{i(A)})}))),te=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,r=d.get(n);if(!r||r._tag!==`Queue`)return A;let a=r.chunkCount+=e.values.length,o=g(f)&&f.value.onRequestChunk?f.value.onRequestChunk({id:n,tag:r.rpc._tag,chunkCount:a}):A;return zr(r.queue,e.values).pipe(b(o),i?T(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:r.context,discard:!1})):Ha,jt(e=>hr(r.queue,e)))}case`Exit`:{let t=e.requestId,n=d.get(t);if(!n)return A;d.delete(t);let r=g(f)&&f.value.onRequestExit?f.value.onRequestExit({id:t,tag:n.rpc._tag,stream:n._tag===`Queue`,exit:e.exit}):A;return n._tag===`Effect`?r.pipe(b(P(()=>{n.resume(e.exit)}))):r.pipe(b(e.exit._tag===`Success`?ua(n.queue):hr(n.queue,e.exit.cause)))}case`Defect`:return m(ni(e.defect));case`ClientEnd`:return A}},ne;if(t.flatten){let t=new Map;ne=function(n,r,i){let a=t.get(n);return a||(a=h(e.requests.get(n)),t.set(n,a)),a(r,i)}}else ne={},e.requests.forEach(e=>{ca(ne,e._tag,h(e))});return{client:ne,write:te}}),ku=0,Au=a(function*(e,t){let n=ku++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Pu,c=new Map,{client:l,write:u}=yield*Ou(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?Jc():void 0,l=s(),u={rpc:r,context:a?$n(l.context,qc,a):l.context,schemas:Mu(r)};return c.set(t.id,u),u.schemas.encodePayload(t.payload).pipe($r(u.context),ce,T(e=>i(n,{...t,id:t.id,payload:e,headers:Object.entries(t.headers)},a&&a.readUnsafe())))}case`Ack`:return c.get(t.requestId)?i(n,{_tag:`Ack`,requestId:t.requestId}):A;case`Interrupt`:return c.get(t.requestId)?(c.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:t.requestId})):A;case`Eof`:return A}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=el(e.requestId),n=c.get(t);return!n||Xa(n.schemas.decodeChunk)?A:n.schemas.decodeChunk.value(e.values).pipe($r(n.context),ce,T(t=>u({_tag:`Chunk`,clientId:0,requestId:el(e.requestId),values:t})),ne(t=>u({_tag:`Exit`,clientId:0,requestId:el(e.requestId),exit:xt(t)})))}case`Exit`:{let t=el(e.requestId),n=c.get(t);return n?(c.delete(t),n.schemas.decodeExit(e.exit).pipe($r(n.context),ce,Qn({onSuccess:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:xt(e)})}))):A}case`Defect`:return u({_tag:`Defect`,clientId:0,defect:Bu(e.defect)});case`ClientProtocolError`:{let t=ht(e.error);return xr(c.keys(),e=>u({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return A}}).pipe(jt(Or),mi,D),l}),ju=new WeakMap,Mu=e=>{let t=ju.get(e);return t===void 0?(t={decodeChunk:ln(ee(e.successSchema),e=>ci(vn(na(e.success)))),encodePayload:pt(vn(e.payloadSchema)),decodeExit:ci(vn(Ut(e)))},ju.set(e,t),t):t},Nu=va(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Gi}),Pu=class extends I()(`effect/rpc/RpcClient/Protocol`){static make=Eu},Fu=e=>Pu.make(a(function*(t,n){let i=yield*Kr,a=yield*Cu,o=yield*r(zu),s=new Map,c=yield*i.writer,l=a.makeUnsafe(),u=yield*Lu(c(l.encode(tl)),g(o)?o.value:void 0),d,f=Di(()=>(d=void 0,g(o)?o.value.onConnect:A)),p=e=>xr(n,n=>t(n,e));return yield*Di(()=>(l=a.makeUnsafe(),u.reset(),i.runRaw(e=>{try{let n=l.decode(e);if(n.length===0)return;let r=0;return Vn({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return u.onPong;if(Object.hasOwn(e,`requestId`)){let n=e.requestId,r=s.get(n);if(r!==void 0)return e._tag===`Exit`&&s.delete(n),t(r,e)}return p(e)},step:Pr})}catch(e){return p({_tag:`ClientProtocolError`,error:new $c({reason:new Qc({message:`Error decoding message`,cause:e})})})}},{onOpen:f}).pipe(Dt(T(u.timeout,()=>(g(o)&&o.value.onPingTimeout?o.value.onPingTimeout:A).pipe(b(N(new Wn({reason:new qa({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))))).pipe(T(()=>N(new Wn({reason:new Lr({code:1e3})}))),g(o)?Oe(o.value.onDisconnect):Ha,Jn(t=>{let n=Pe(t),r=$i(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?A:(d=new $c({reason:r?n.success.reason:new Qc({message:`Unknown socket error`,cause:ki(t)})}),p({_tag:`ClientProtocolError`,error:d}))}),nt(e?.retryPolicy??Iu),li({module:`RpcClient`,method:`makeProtocolSocket`}),D),{send(e,t){if(d)return N(d);t._tag===`Request`&&s.set(t.id,e);let n=l.encode(t);return n===void 0?A:ce(c(n))},supportsAck:!0,supportsTransferables:!1}})),Iu=me([ae(500,1.5),d(5e3)]),Lu=a(function*(e,t){let n=!0,r=0,i=St(),a=()=>{n=!0,r=0,i.closeUnsafe()},o=P(()=>{n=!0,r=0}).pipe(b(t?.onPong??A));return yield*Di(()=>n?(n=!1,r=0,(t?.onPing??A).pipe(b(e))):(r+=1,r>=3?i.open:(t?.onPing??A).pipe(b(e)))).pipe(on(`5 seconds`),Qi,oa,mi,D),{timeout:i.await,reset:a,onPong:o}}),Ru=class extends I()(`effect/rpc/RpcClient/RequestHooks`){},zu=class extends I()(`effect/rpc/RpcClient/ConnectionHooks`){},Bu=ue(la()),Vu=class extends I()(`@borgtools/client-runtime/platform/capabilities/BorgDeviceIdentity`){},Hu=class extends I()(`@borgtools/client-runtime/platform/capabilities/ClientPresentation`){},Uu=class extends I()(`@borgtools/client-runtime/platform/capabilities/PrimaryEnvironmentAuth`){},Wu=class extends I()(`@borgtools/client-runtime/platform/capabilities/SshEnvironmentGateway`){},Gu=class extends I()(`@borgtools/client-runtime/platform/capabilities/BorgTunnelGateway`){},Ku={environmentId:we,label:k},qu=class extends Ci()(`PrimaryConnectionTarget`,{...Ku,httpBaseUrl:k,wsBaseUrl:k}){},Ju=class extends Ci()(`BearerConnectionTarget`,{...Ku,connectionId:k}){},Yu=class extends Ci()(`CloudConnectionTarget`,{...Ku,connectionId:k}){},Xu=class extends Ci()(`SshConnectionTarget`,{...Ku,connectionId:k}){},Zu=class extends Ci()(`BorgConnectionTarget`,{...Ku,connectionId:k,deviceId:k}){};rr([qu,Ju,Yu,Xu,Zu]);var Qu=rr([Ju,Yu,Xu,Zu]),$u=Ni([`network`,`timeout`,`transport`,`endpoint-unavailable`,`borg-unavailable`,`remote-unavailable`]),ed=Ni([`authentication`,`configuration`,`permission`,`unsupported`]),td=class extends Wr()(`ConnectionTransientError`,{reason:$u,detail:k,traceId:Fe(k)}){get message(){return this.detail}},Y=class extends Wr()(`ConnectionBlockedError`,{reason:ed,detail:k,traceId:Fe(k)}){get message(){return this.detail}};function nd(e){switch(e.phase){case`connecting`:return`synchronizing`;case`connected`:return`ready`;case`available`:case`offline`:case`backoff`:case`blocked`:return`disconnected`}}var rd=Object.freeze({desired:!1,network:`unknown`,phase:`available`,stage:null,attempt:0,generation:0,lastFailure:null,retryAt:null}),id={connectionId:k,environmentId:we,label:k},ad=class extends Ci()(`BearerConnectionProfile`,{...id,httpBaseUrl:k,wsBaseUrl:k}){},od=class extends Ci()(`CloudConnectionProfile`,{...id,httpBaseUrl:k,wsBaseUrl:k}){},sd=class extends Ci()(`SshConnectionProfile`,{...id,target:On}){},cd=class extends Ci()(`BorgConnectionProfile`,{...id,borgApiUrl:k,deviceId:k}){},ld=rr([ad,od,sd,cd]),ud=class extends Ci()(`BearerConnectionCredential`,{token:k}){},dd=rr([ud]),fd=class extends Ci()(`PrimaryConnectionRegistration`,{target:qu}){},pd=class extends Ci()(`BearerConnectionRegistration`,{target:Ju,profile:ad,credential:ud}){},md=class extends Ci()(`CloudConnectionRegistration`,{target:Yu,profile:od,credential:ud}){},hd=class extends Ci()(`SshConnectionRegistration`,{target:Xu,profile:sd}){},gd=class extends Ci()(`BorgConnectionRegistration`,{target:Zu,profile:cd,credential:ud}){};rr([pd,md,hd,gd]),rr([fd,pd]);function _d(e){switch(e._tag){case`PrimaryConnectionRegistration`:return{target:e.target,profile:C()};case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`SshConnectionRegistration`:case`BorgConnectionRegistration`:return{target:e.target,profile:w(e.profile)}}}var vd=class extends I()(`@borgtools/client-runtime/connection/credentialStore/ConnectionCredentialStore`){},yd=e=>vd.of(e),bd=class extends I()(`@borgtools/client-runtime/connection/profileStore/ConnectionProfileStore`){},xd=e=>bd.of(e),Sd=class extends I()(`@borgtools/client-runtime/connection/connectivity`){},Cd=e=>Sd.of(e),wd=e=>Bi(Sd,Cd(e)),Td=class extends Wr()(`ConnectionPersistenceError`,{operation:Ni([`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:k}){},Ed=class extends I()(`@borgtools/client-runtime/platform/persistence/ConnectionTargetStore`){},Dd=class extends I()(`@borgtools/client-runtime/platform/persistence/ConnectionRegistrationStore`){},Od=class extends I()(`@borgtools/client-runtime/platform/persistence/EnvironmentCacheStore`){},kd=class extends va(`@borgtools/client-runtime/platform/persistence/EnvironmentOwnedDataCleanup`,{defaultValue:()=>({clear:()=>A})}){},Ad=/^[\u0021\u0023-\u005b\u005d-\u007e]+$/u,jd=class extends Wr()(`OAuthScopeEncodingError`,{scopes:Nn(k),invalidScopes:Nn(k),duplicateScopes:Nn(k)}){get message(){return`OAuth scopes must be non-empty, syntactically valid, and unique.`}};function Md(e){let t=e.filter(e=>!Ad.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 jd({scopes:e,invalidScopes:t,duplicateScopes:[...r]});return e.join(` `)}var Nd=1e4,Pd=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}:{}}},Fd=(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},Id=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}},Ld=(e,t)=>{let n=e.min_client_app_version?.trim(),r=t?.appVersion?.trim();return n===void 0||n===``||r===void 0||r===``?null:Fd(r,n)?new Id(r,n):null},Rd=(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)},zd=S(`clientRuntime.authorization.exchangeRemoteDpopAccessToken`)(function*(e){let t=yield*ro(e.httpBaseUrl),n=yield*So(ao(e.httpBaseUrl,`/oauth/token`),e.timeoutMs??Nd,t.auth.token({headers:{dpop:e.dpopProof},payload:{grant_type:Ga,subject_token:e.credential,subject_token_type:Ri,requested_token_type:dr,...e.scopes?{scope:Md(e.scopes)}:{},...Pd(e.clientMetadata)}})),r=Ld(n,e.clientMetadata);return r===null?n:yield*N(r)}),Bd=S(`clientRuntime.authorization.bootstrapRemoteBearerSession`)(function*(e){let t=yield*ro(e.httpBaseUrl),n=yield*So(ao(e.httpBaseUrl,`/oauth/token`),e.timeoutMs??Nd,t.auth.token({headers:{},payload:{grant_type:Ga,subject_token:e.credential,subject_token_type:Ri,requested_token_type:dr,...e.scopes?{scope:Md(e.scopes)}:{},...Pd(e.clientMetadata)}})),r=Ld(n,e.clientMetadata);return r===null?n:yield*N(r)});S(`clientRuntime.authorization.fetchRemoteSessionState`)(function*(e){let t=yield*ro(e.httpBaseUrl);return yield*So(ao(e.httpBaseUrl,`/api/auth/session`),e.timeoutMs??Nd,t.auth.session({headers:{authorization:`Bearer ${e.bearerToken}`}}))}),S(`clientRuntime.authorization.fetchRemoteDpopSessionState`)(function*(e){let t=yield*ro(e.httpBaseUrl);return yield*So(ao(e.httpBaseUrl,`/api/auth/session`),e.timeoutMs??Nd,t.auth.session({headers:{authorization:`DPoP ${e.accessToken}`,dpop:e.dpopProof}}))});var Vd=S(`clientRuntime.authorization.issueRemoteWebSocketTicket`)(function*(e){let t=yield*ro(e.httpBaseUrl);return yield*So(ao(e.httpBaseUrl,`/api/auth/websocket-ticket`),e.timeoutMs??Nd,t.auth.webSocketTicket({headers:{authorization:`Bearer ${e.bearerToken}`}}))}),Hd=S(`clientRuntime.authorization.issueRemoteDpopWebSocketTicket`)(function*(e){let t=yield*ro(e.httpBaseUrl);return yield*So(ao(e.httpBaseUrl,`/api/auth/websocket-ticket`),e.timeoutMs??Nd,t.auth.webSocketTicket({headers:{authorization:`DPoP ${e.accessToken}`,dpop:e.dpopProof}}))}),Ud=S(`clientRuntime.authorization.resolveRemoteWebSocketConnectionUrl`)(function*(e){let t=yield*Vd({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,...e.timeoutMs?{timeoutMs:e.timeoutMs}:{}}),n=new URL(oo(e.wsBaseUrl));return n.searchParams.set(`wsTicket`,t.ticket),Rd(n,e.clientMetadata,e.connectionMethod),n.toString()}),Wd=S(`clientRuntime.authorization.resolveRemoteDpopWebSocketConnectionUrl`)(function*(e){let t=yield*Hd({httpBaseUrl:e.httpBaseUrl,accessToken:e.accessToken,dpopProof:e.dpopProof,...e.timeoutMs?{timeoutMs:e.timeoutMs}:{}}),n=new URL(oo(e.wsBaseUrl));return n.searchParams.set(`wsTicket`,t.ticket),Rd(n,e.clientMetadata,e.connectionMethod),n.toString()}),Gd=`Hint: Check that automatic date and time is enabled on both devices, then try again.`,Kd=`Hint: Try again. If it still fails, clock skew may be the cause; check that automatic date and time is enabled on both devices.`,qd=`Hint: Try again. If the problem continues, copy the trace ID.`;function Jd(e){return e===`time_window`?Gd:e===void 0?Kd:qd}function Yd(e,t){return`${e} ${Jd(t)}`}function Xd(e){return new Y({reason:`configuration`,detail:`Connection profile ${e} is unavailable.`})}function Zd(e){return new Y({reason:`authentication`,detail:`Connection credential ${e} is unavailable.`})}function Qd(e){return new Y({reason:`configuration`,detail:`Connected environment ${e.actual} does not match ${e.expected}.`})}function $d(e){switch(e._tag){case`EnvironmentAuthInvalidError`:return new Y({reason:`authentication`,detail:`The environment credential is invalid.`,traceId:e.traceId});case`EnvironmentScopeRequiredError`:case`EnvironmentOperationForbiddenError`:return new Y({reason:`permission`,detail:`The environment credential does not grant the required access.`,traceId:e.traceId});case`EnvironmentRequestInvalidError`:return new Y({reason:`configuration`,detail:`The environment rejected the authentication request.`,traceId:e.traceId});case`EnvironmentResourceNotFoundError`:return new Y({reason:`configuration`,detail:`The environment endpoint could not be found.`,traceId:e.traceId});case`RemoteClientUpdateRequiredError`:return new Y({reason:`configuration`,detail:e.message});case`RemoteEnvironmentAuthTimeoutError`:return new td({reason:`timeout`,detail:e.message});case`RemoteEnvironmentAuthFetchError`:return new td({reason:`network`,detail:e.message});case`EnvironmentInternalError`:return new td({reason:`remote-unavailable`,detail:`The environment could not authorize the connection.`,traceId:e.traceId});case`RemoteEnvironmentAuthInvalidJsonError`:case`RemoteEnvironmentAuthUndeclaredStatusError`:return new td({reason:`remote-unavailable`,detail:e.message})}}function ef(e){return e._tag===`EnvironmentAuthInvalidError`&&e.reason===`invalid_credential`?new Y({reason:`authentication`,detail:Yd(`The environment credential is invalid.`,e.dpopFailureReason),traceId:e.traceId}):$d(e)}rr([class extends Wr()(`DpopKeyLoadError`,{keyStore:Ni([`expo-secure-store`,`indexed-db`]),cause:la()}){get message(){return`Could not load the DPoP proof key.`}},class extends Wr()(`DpopProofCreationError`,{method:k,url:k,cause:la()}){get message(){return`Could not create the DPoP proof for ${this.method} ${this.url}.`}}]);var tf=class extends I()(`@borgtools/client-runtime/authorization/dpopSigner`){},nf=k.check(Qa(1)),rf=zi({httpBaseUrl:nf,wsBaseUrl:nf,providerKind:k}),af=class extends wr(`@borgtools/client-runtime/authorization/RemoteDpopAccessToken`)({environmentId:we,label:k,endpoint:rf,accessToken:k,expiresAtEpochMs:vi,dpopThumbprint:k}){},of=class extends I()(`@borgtools/client-runtime/authorization/tokenStore/RemoteDpopAccessTokenStore`){},sf=e=>of.of(e),cf=class extends I()(`@borgtools/client-runtime/authorization/service/RemoteEnvironmentAuthorization`){},lf=6e4,uf=3e3,df=1e4;function ff(e){return e._tag===`ConnectionTransientError`||e._tag===`ConnectionBlockedError`?e:ef(e)}var pf=S(`clientRuntime.connection.remote.fetchDescriptor`)(function*(e){return yield*io({httpBaseUrl:e}).pipe(E($d))}),mf=Xn(cf,M(function*(){let e=yield*r(tf),t={thumbprint:g(e)?e.value.thumbprint:yn(Error(`No DPoP signer is registered for this client.`)),createProof:t=>g(e)?e.value.createProof(t):yn(Error(`No DPoP signer is registered for this client.`))},n=yield*Hu,i=yield*of,a=yield*_o,o=yield*no(new Map),s=S(`clientRuntime.connection.remote.authorizeBearer`)(function*(e){let t=e.httpClient??a,r=yield*xe,i=(yield*vo(o)).get(e.expectedEnvironmentId),s=i?.httpBaseUrl===e.httpBaseUrl&&i.validatedAtEpochMs+df>r,c=s?i.descriptor:yield*pf(e.httpBaseUrl).pipe(x(_o,t));if(c.environmentId!==e.expectedEnvironmentId)return yield*Qd({expected:e.expectedEnvironmentId,actual:c.environmentId});s||(yield*wo(o,t=>{let n=new Map(t);return n.set(e.expectedEnvironmentId,{httpBaseUrl:e.httpBaseUrl,descriptor:c,validatedAtEpochMs:r}),n}));let l=yield*Ud({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,clientMetadata:n.metadata,connectionMethod:e.connectionMethod}).pipe(E($d),x(_o,t));return{environmentId:c.environmentId,label:c.label,httpBaseUrl:e.httpBaseUrl,socketUrl:l,httpAuthorization:{_tag:`Bearer`,token:e.bearerToken}}}),c=S(`clientRuntime.connection.remote.createDpopSocketUrl`)(function*(e,r){let i=yield*t.createProof({method:`POST`,url:ao(e.endpoint.httpBaseUrl,`/api/auth/websocket-ticket`),accessToken:e.accessToken}).pipe(E(()=>new Y({reason:`configuration`,detail:`Could not create the websocket authorization proof.`})));return yield*Wd({wsBaseUrl:e.endpoint.wsBaseUrl,httpBaseUrl:e.endpoint.httpBaseUrl,accessToken:e.accessToken,dpopProof:i,clientMetadata:n.metadata,connectionMethod:`borg`,...r===void 0?{}:{timeoutMs:r}}).pipe(x(_o,a))}),l=S(`clientRuntime.connection.remote.authorizeDpop`)(function*(e){let r=yield*t.thumbprint.pipe(E(()=>new Y({reason:`configuration`,detail:`Could not load the environment authorization key.`})),nr(`environment.authorization.dpopKey.resolve`)),o=yield*xe,s=yield*i.get(e.expectedEnvironmentId).pipe(nr(`environment.authorization.accessToken.cache`));if(g(s)&&s.value.environmentId===e.expectedEnvironmentId&&s.value.dpopThumbprint===r&&s.value.expiresAtEpochMs>o+lf){yield*wt({"connection.remote_token_cache":`hit`});let t=yield*c(s.value,uf).pipe(Re);if($i(t))return{environmentId:s.value.environmentId,label:s.value.label,httpBaseUrl:s.value.endpoint.httpBaseUrl,socketUrl:t.success,httpAuthorization:{_tag:`Dpop`,accessToken:s.value.accessToken}};if(t.failure._tag===`ConnectionBlockedError`)return yield*ff(t.failure);yield*i.remove(e.expectedEnvironmentId).pipe(nr(`environment.authorization.accessToken.remove`))}yield*wt({"connection.remote_token_cache":`miss`});let l=yield*e.obtainBootstrap,u=yield*pf(l.endpoint.httpBaseUrl).pipe(x(_o,a),nr(`environment.authorization.descriptor`));if(u.environmentId!==e.expectedEnvironmentId)return yield*Qd({expected:e.expectedEnvironmentId,actual:u.environmentId});let d=yield*t.createProof({method:`POST`,url:ao(l.endpoint.httpBaseUrl,`/oauth/token`)}).pipe(E(()=>new Y({reason:`configuration`,detail:`Could not create the environment authorization proof.`}))),f=yield*zd({httpBaseUrl:l.endpoint.httpBaseUrl,credential:l.credential,dpopProof:d,scopes:n.scopes,clientMetadata:n.metadata}).pipe(E(ef),x(_o,a),nr(`environment.authorization.accessToken.exchange`)),p=yield*xe,m=new af({environmentId:u.environmentId,label:u.label,endpoint:l.endpoint,accessToken:f.access_token,expiresAtEpochMs:p+f.expires_in*1e3,dpopThumbprint:r}),h=yield*c(m).pipe(E(ff));return yield*i.put(m).pipe(nr(`environment.authorization.accessToken.persist`)),{environmentId:u.environmentId,label:u.label,httpBaseUrl:l.endpoint.httpBaseUrl,socketUrl:h,httpAuthorization:{_tag:`Dpop`,accessToken:m.accessToken}}});return cf.of({authorizeBearer:s,authorizeDpop:e=>l(e).pipe(nr(`environment.authorization`))})})),hf=new Map,gf={latest:e=>hf.get(e),set:(e,t)=>P(()=>void hf.set(e,t))},_f=class extends va(`@borgtools/client-runtime/connection/cloudSessionTokens`,{defaultValue:()=>gf}){},vf=256*1024;function yf(e){if(e.length<=262144)return[e];let t=[];for(let n=0;n<e.length;n+=vf)t.push(e.subarray(n,n+vf));return t}function bf(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}function xf(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 Sf(e){let t=new URL(e,`http://tunnel.invalid`);return`${t.pathname}${t.search}`}function Cf(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function wf(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 Tf=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=[];#i=[];constructor(e,t){super(),this.url=e,this.#a(e,t)}async#a(e,t){try{let n=await t.openTunnel();if(this.readyState===this.CLOSED)return;this.#t=n.tunnelId;let r=(t.webSocketConstructor??(e=>new WebSocket(e)))(xf({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:Sf(e),headers:{},hasBody:!1})),this.readyState=this.OPEN,this.#s();let n=new Event(`open`);this.onopen?.(n),this.dispatchEvent(n)}),r.addEventListener(`message`,e=>this.#o(e)),r.addEventListener(`close`,()=>this.#l(1006,`carrier closed`)),r.addEventListener(`error`,()=>{let e=new Event(`error`);this.onerror?.(e),this.dispatchEvent(e)})}catch{this.#l(1006,`tunnel unavailable`)}}#o(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`){if(this.#i.push(wf(n.bytesBase64)),n.continued===!0){this.#i.reduce((e,t)=>e+t.length,0)>16777216&&this.close(1009,`message too large`);return}let e=new MessageEvent(`message`,{data:bf(this.#i.splice(0)).buffer});this.onmessage?.(e),this.dispatchEvent(e);return}(n.kind===`tunnel.close`||n.kind===`tunnel.error`)&&this.#l(n.code??1e3,n.reason??`tunnel closed`)}}#s(){let e=this.#r;this.#r=[];for(let t of e)this.#c(t)}#c(e){let t=this.#e;if(t===null||t.readyState!==1){this.#r.push(e);return}if(e.length>16777216){this.close(1009,`message too large`);return}let n=yf(e);n.forEach((e,r)=>{t.send(JSON.stringify({version:1,kind:`tunnel.data`,tunnelId:this.#t,sequence:this.#n++,bytesBase64:Cf(e),final:!1,...r<n.length-1?{continued:!0}:{}}))})}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.#c(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.#l(e??1e3,t??`closed`)}#l(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 Ef(e){return t=>new Tf(t,e)}var Df=3e4;function Of(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function kf(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 Af(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 jf(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.`)}),Df);(async()=>{try{let n=await e.openTunnel();if(i)return;let r=(e.webSocketConstructor??(e=>new WebSocket(e)))(xf({borgApiUrl:e.borgApiUrl,ticket:n.ticket}));a=r,r.binaryType=`arraybuffer`,r.addEventListener(`open`,()=>{if(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){let e=yf(t.body);e.forEach((t,i)=>{r.send(JSON.stringify({version:1,kind:`tunnel.data`,tunnelId:n.tunnelId,sequence:i,bytesBase64:Of(t),final:i===e.length-1}))})}}),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(kf(r.bytesBase64)),r.final===!0&&s!==0&&l({ok:{status:s,headers:c,body:Af(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:Af(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 Eo(t=>M(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 y({reason:new eo({request:t,description:`Borg tunnel supports only in-memory request bodies.`})}),i=yield*ma({try:()=>jf(e,{method:t.method,path:`${n.pathname}${n.search}`,headers:{...t.headers},body:r}),catch:e=>new y({reason:new bn({request:t,cause:e})})});return en(t,new Response(i.body.length===0?null:i.body,{status:i.status,headers:i.headers}))}))}var Nf=`http://127.0.0.1:3773`,Pf=`ws://127.0.0.1:3773`,Ff=class extends I()(`@borgtools/client-runtime/connection/resolver/ConnectionResolver`){},If=ot(ad),Lf=ot(od),Rf=ot(rr([ad,od])),zf=ot(sd),Bf=ot(cd),Vf=ot(ud);function Hf(e,t){let n=new URL(oo(e.wsBaseUrl));return Rd(n,t,`direct`),n.toString()}var Uf=S(`clientRuntime.connection.broker.makePrimary`)(function*(){let e=yield*Uu,t=yield*Hu,n=yield*cf;return S(`clientRuntime.connection.broker.primary`)(function*(r){let i=yield*e.bearerToken;return Xa(i)?{environmentId:r.environmentId,label:r.label,httpBaseUrl:r.httpBaseUrl,socketUrl:Hf(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}})}),Wf=S(`clientRuntime.connection.broker.makeBearer`)(function*(){let e=yield*vd,t=yield*cf,n=yield*_f;return S(`clientRuntime.connection.broker.bearer`)(function*(r){let i=r.target,a=yield*Me(r.profile,{onNone:()=>N(Xd(i.connectionId)),onSome:F});if(!(i._tag===`CloudConnectionTarget`?Lf(a):If(a))||!Rf(a))return yield*new Y({reason:`configuration`,detail:`Connection profile ${i.connectionId} does not match ${i._tag}.`});if(a.environmentId!==i.environmentId)return yield*Qd({expected:i.environmentId,actual:a.environmentId});let o=yield*e.get(i.connectionId).pipe(T(Me({onNone:()=>N(Zd(i.connectionId)),onSome:F})));if(!Vf(o))return yield*Zd(i.connectionId);let s=yield*t.authorizeBearer({expectedEnvironmentId:i.environmentId,httpBaseUrl:a.httpBaseUrl,wsBaseUrl:a.wsBaseUrl,bearerToken:o.token,connectionMethod:`direct`});i._tag===`CloudConnectionTarget`&&(yield*n.set(i.connectionId,o.token));let c=i.connectionId;return{environmentId:s.environmentId,label:s.label,httpBaseUrl:s.httpBaseUrl,socketUrl:s.socketUrl,httpAuthorization:i._tag===`CloudConnectionTarget`?{_tag:`Bearer`,get token(){return n.latest(c)??o.token}}:s.httpAuthorization,target:i}})}),Gf=S(`clientRuntime.connection.broker.makeSsh`)(function*(){let e=yield*bd,t=yield*Wu,n=yield*cf;return S(`clientRuntime.connection.broker.ssh`)(function*(r){let i=r.target,a=yield*Me(r.profile,{onNone:()=>N(Xd(i.connectionId)),onSome:F});if(!zf(a))return yield*new Y({reason:`configuration`,detail:`Connection profile ${i.connectionId} is not an SSH connection.`});if(a.environmentId!==i.environmentId)return yield*Qd({expected:i.environmentId,actual:a.environmentId});let o=yield*t.prepare({connectionId:i.connectionId,expectedEnvironmentId:i.environmentId,target:a.target});yield*e.put(new sd({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}})}),Kf=S(`clientRuntime.connection.broker.makeBorg`)(function*(){let e=yield*vd,t=yield*Gu,n=yield*cf;return S(`clientRuntime.connection.broker.borg`)(function*(r){let i=r.target,a=yield*Me(r.profile,{onNone:()=>N(Xd(i.connectionId)),onSome:F});if(!Bf(a))return yield*new Y({reason:`configuration`,detail:`Connection profile ${i.connectionId} is not a Borg tunnel connection.`});if(a.environmentId!==i.environmentId)return yield*Qd({expected:i.environmentId,actual:a.environmentId});if(!(yield*t.isDeviceOnline(a.deviceId)))return yield*new td({reason:`borg-unavailable`,detail:`${i.label} is not reachable through Borg right now.`});let o=yield*e.get(i.connectionId).pipe(T(Me({onNone:()=>N(Zd(i.connectionId)),onSome:F})));if(!Vf(o))return yield*Zd(i.connectionId);let s=Te(yield*fn()),c={borgApiUrl:a.borgApiUrl,deviceId:a.deviceId,openTunnel:()=>s(t.openTunnel())},l=Ef(c),u=yield*n.authorizeBearer({expectedEnvironmentId:i.environmentId,httpBaseUrl:Nf,wsBaseUrl:Pf,bearerToken:o.token,connectionMethod:`borg`,httpClient:Mf(c)});return{environmentId:u.environmentId,label:u.label,httpBaseUrl:u.httpBaseUrl,socketUrl:u.socketUrl,httpAuthorization:u.httpAuthorization,target:i,socketConstructor:l}})}),qf=Xn(Ff,M(function*(){let e=yield*Uf(),t=yield*Wf(),n=yield*Gf(),r=yield*Kf(),i=S(`clientRuntime.connection.broker.prepare`)(function*(i){let a=i.target;switch(yield*wt({"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 Ff.of({prepare:i})})),Jf=Au(Ma),Yf=class extends I()(`@borgtools/client-runtime/searchAtlas/credentialSource/SearchAtlasCredentialSource`){};function Xf(e){if(e.environmentThemes===void 0)return e;let{environmentThemes:t,...n}=e;return n}function Zf(e,t){switch(t.type){case`snapshot`:{let n=t.config.environment.capabilities.environmentThemes===!0&&g(e)?e.value.config.environmentThemes:void 0;return w({config:n===void 0?t.config:{...t.config,environmentThemes:n},latestEvent:t,source:`live`})}case`keybindingsUpdated`:return ln(e,e=>({config:{...e.config,keybindings:t.payload.keybindings,issues:t.payload.issues},latestEvent:t,source:`live`}));case`providerStatuses`:return ln(e,e=>({config:{...e.config,providers:t.payload.providers},latestEvent:t,source:`live`}));case`settingsUpdated`:return ln(e,e=>({config:{...e.config,settings:t.payload.settings},latestEvent:t,source:`live`}));case`environmentThemesUpdated`:return ln(e,e=>({config:{...e.config,environmentThemes:t.payload.themes.length>0?t.payload.themes:void 0},latestEvent:t,source:`live`}))}}var Qf=`15 seconds`,$f=class extends I()(`@borgtools/client-runtime/rpc/session/RpcSessionFactory`){};function ep(e){let t={version:1,type:`snapshot`,config:Xf(e.projection.config)};return e.themesEvent===void 0?[t]:[t,e.themesEvent]}function tp(e){switch(e._tag){case`EnvironmentAuthorizationError`:return new Y({reason:`permission`,detail:e.message});case`KeybindingsConfigParseError`:case`ServerSettingsError`:return new td({reason:`remote-unavailable`,detail:e.message});case`RpcClientError`:return new td({reason:`transport`,detail:e.message})}}var np=S(`RpcSessionFactory.make`)(function*(e={}){let t=yield*ar,n=yield*r(Yf),o=e.environmentThemes===!0?{environmentThemes:!0}:{},s=a(function*(e){yield*wt({"connection.environment.id":e.environmentId});let r=yield*di(),a=yield*di(),s=zu.of({onConnect:p(r,void 0).pipe(mt),onDisconnect:Tt(r).pipe(T(t=>ge(a,new td({reason:`transport`,detail:t?`${e.label} disconnected.`:`${e.label} could not establish a WebSocket connection.`}))),mt)}),l=La(e.socketUrl,{openTimeout:Qf}).pipe(yr(Bi(ar,e.socketConstructor??t))),d=yield*Xi(Xn(Pu,Fu({retryTransientErrors:!1,retryPolicy:si(0)})).pipe(yr(ha(l,Tu,Bi(zu,s))))).pipe(nr(`environment.websocket.connect`)),f=yield*Jf.pipe(c(d)),m=yield*di(),h=yield*di(),_=yield*di(),v=yield*no(C()),y=yield*te(64),ee=new td({reason:`remote-unavailable`,detail:`${e.label} config subscription ended.`}),ne=f[O.subscribeServerConfig](o).pipe(gn(e=>M(function*(){let t=yield*yo(v,t=>{let n=Zf(ln(t,e=>e.projection),e);if(Xa(n))return[C(),t];let r={projection:n.value,revision:Me(t,{onNone:()=>1,onSome:e=>e.revision+1}),themesEvent:e.type===`environmentThemesUpdated`?e:e.type===`snapshot`&&e.config.environment.capabilities.environmentThemes!==!0?void 0:Rt(t)?.themesEvent};return[w({event:e,replay:r,revision:r.revision}),w(r)]});g(t)&&(yield*Na(y,t.value)),e.type===`snapshot`&&(yield*p(m,e.config))})),Da(e=>ct(e)?he([p(h,void 0),ge(_,ee)]).pipe(mt):$e(e.cause)?A:he([de(h,e.cause),de(_,i(e.cause,tp))]).pipe(mt))),re=yield*di();yield*(e.target._tag!==`CloudConnectionTarget`||Xa(n)?A:n.value.current.pipe(T(Me({onNone:()=>N(new td({reason:`remote-unavailable`,detail:`${e.label} needs your Search Atlas sign-in before it can be used.`})),onSome:e=>f[O.searchAtlasSetCredential](e).pipe(E(e=>e._tag===`RpcClientError`?new td({reason:`transport`,detail:e.message}):new Y({reason:`permission`,detail:e.message})))})),mt,nr(`environment.credentialPush`))).pipe(Pa({onFailure:e=>he([ge(re,e),ge(_,e)]).pipe(mt),onSuccess:()=>p(re,void 0).pipe(b(ne))}),D);let ae=Dt(Dt(tn(m),tn(h).pipe(E(tp),T(()=>N(ee)))),tn(re).pipe(b(Gt))).pipe(nr(`environment.initialSync`)),oe=br(M(function*(){let e=yield*Ea(y);yield*Dt(tn(m).pipe(mt),tn(h));let t=yield*vo(v);if(Xa(t))return ie;let n=yt(e).pipe(le(e=>e.revision>t.value.revision),Be(()=>t.value.revision,(e,t)=>[t.revision,t.revision===e+1?[t.event]:ep(t.replay)])),r=oi(tn(h)).pipe(qt);return Ua(u(ep(t.value)),zt(n,r,{haltStrategy:`either`}))})).pipe(Fr(t=>$e(t)?pe(t):Qt(new $c({reason:new Qc({message:`${e.label} config subscription failed.`,cause:t})})))),se=e=>qn(e,o)?oe:f[O.subscribeServerConfig](e),ce=ae.pipe(T(e=>(e.environment.capabilities.connectionProbe===!0?f[O.serverProbe]({}):f[O.serverGetConfig]({})).pipe(E(tp))),mt,nr(`clientRuntime.connection.rpcSession.probe`));return{client:f,initialConfig:ae,subscribeServerConfig:se,ready:tn(r).pipe(b(ae),mt,Dt(tn(a))),probe:ce,closed:Dt(tn(a),tn(_))}});return $f.of({connect:s})}),rp=e=>Xn($f,np(e));rp({});var ip=class extends I()(`@borgtools/client-runtime/connection/driver/ConnectionDriver`){},ap=Xn(ip,M(function*(){let e=yield*Ff,t=yield*$f,n=S(`ConnectionDriver.connect`)(function*(n,r){let i=n.target;yield*wt({"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 ip.of({connect:n})})),op=/^(?:Error|EvalError|RangeError|ReferenceError|SyntaxError|TypeError|URIError|AggregateError|DOMException|[A-Za-z][A-Za-z0-9]*(?:Error|Failure))$/,sp=/^[A-Za-z0-9._:-]{1,128}$/,cp=32;function lp(e){return typeof e==`string`&&op.test(e)?e:void 0}function up(e){try{let t=new URL(e);return t.username=``,t.password=``,t.search=``,t.hash=``,t.toString()}catch{return e}}function dp(e){return e.replace(/(?:https?|file):\/\/[^\s)]+/g,up)}function fp(e){try{let t=e.stack?.split(/\r?\n/).filter(e=>/^\s*at\s+/.test(e)||/^[^@\s]+@(?:https?|file):\/\//.test(e)).slice(0,cp).map(dp);return t&&t.length>0?t.join(`
|
|
4
|
+
`):void 0}catch{return}}function pp(e){try{return typeof e!=`object`||!e?void 0:lp(e._tag)}catch{return}}function mp(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`&&sp.test(e.traceId))return e.traceId;n=e.cause}return}catch{return}}function hp(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)??String(e)}catch{try{return String(e)}catch{return`<unstringifiable defect>`}}}function gp(e,t){let n=pp(e),r=mp(e),i=t?.includeRawDefect?hp(e):void 0;if(e instanceof Error){let t=lp(e.name),a=fp(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 _p=new Set;function vp(e){return _p.add(e),()=>{_p.delete(e)}}function yp(){for(let e of[..._p])e()}function bp(e){return e===`application-active`||e===`application-active-probe`||e===`application-active-reconnect`}function xp(e){return e===`application-active`||e===`application-active-probe`}var Sp=class extends I()(`@borgtools/client-runtime/connection/wakeups/ConnectionWakeups`){},Cp=e=>Sp.of(e),wp=e=>Bi(Sp,Cp(e)),Tp=[3e3,4e3,8e3,16e3],Ep=`15 seconds`,Dp=`15 seconds`,Op=`3 seconds`,kp=3e4;function Ap(e){return Qn(e,{onFailure:e=>De(e)?lr:F(xt(e)),onSuccess:e=>F(Ht(e))})}function jp(e){return Tp[Math.min(e,Tp.length-1)]??16e3}function Mp(e){return wt({"environment.id":e.environmentId,"environment.label":e.label,"environment.target.kind":e._tag})}function Np(e,t){return{desired:!1,network:e.network,phase:`available`,stage:null,attempt:0,generation:t,lastFailure:null,retryAt:null}}function Pp(e,t,n,r){return{desired:!0,network:e.network,phase:`offline`,stage:null,attempt:n,generation:t,lastFailure:r,retryAt:null}}function Fp(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 Ip(e,t,n,r){if(ct(t)||$e(t.cause))return{_tag:`Interrupted`,established:n,stable:r,resetRetry:!1};let i=t.cause.reasons.find(In);return i?{_tag:`Failure`,established:n,stable:r,failure:i.error}:{_tag:`Failure`,established:n,stable:r,failure:{error:new td({reason:`transport`,detail:`${e.label} connection failed unexpectedly.`}),attemptSpan:C()}}}var Lp=class extends I()(`@borgtools/client-runtime/connection/supervisor/EnvironmentSupervisor`){},Rp=S(`EnvironmentSupervisor.make`)(function*(e,t){let n=e.target;yield*Mp(n);let r=yield*Sd,i=yield*ip,o=yield*Sp,s={desired:t?.initiallyDesired??!1,network:yield*r.status},c=yield*no(s),l=yield*Zn(),u=yield*no(!1),d=yield*no(!1),p=yield*Zo(s.desired?s.network===`offline`?Pp(s,0,0,null):Fp(s,0,1,null):Np(s,0)),m=yield*Zo(C()),h=yield*Zo(C()),g=he([es(m,C()),es(h,C())],{discard:!0}),_=S(`EnvironmentSupervisor.setState`)(function*(e){yield*es(p,e)}),v=S(`EnvironmentSupervisor.signal`)(function*(e){yield*bi(l,e)}),y=S(`EnvironmentSupervisor.reportProgress`)(function*(e,t,n,r){`prepared`in r&&(yield*es(h,w(r.prepared))),yield*_(Fp(yield*vo(c),t,e,n,r.stage))}),ee=a(function*(t,n,r){return yield*i.connect(e,e=>y(t,n,r,e))}),te=a(function*(e,t,n,r){return yield*ee(e,t,n).pipe(j(e=>({attemptSpan:C(),lease:e})),E(e=>({error:e,attemptSpan:C()})))}),ne=a(function*(){for(;;){let e=yield*Ba(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}}}),re=a(function*(e){for(;;){let t=yield*Ba(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(_i({duration:t.reason===`application-active-probe`?Op:Dp,orElse:()=>N(new td({reason:`timeout`,detail:`${n.label} did not respond to a connection health check.`}))}),Ti);for(;;){let e=yield*Dt(ri(r).pipe(j(e=>({_tag:`ProbeCompleted`,exit:e}))),Ba(l).pipe(j(e=>({_tag:`Signal`,signal:e}))));if(e._tag===`ProbeCompleted`){Ve(e.exit)&&(yield*Do(d,!0)),yield*e.exit;break}switch(e.signal._tag){case`DisconnectRequested`:case`RetryRequested`:return yield*Qr(r),!1;case`NetworkChanged`:if(e.signal.network===`offline`)return yield*Qr(r),!1;break;case`Wakeup`:if(e.signal.reason===`application-active-reconnect`)return yield*Qr(r),!0;break;case`ConnectRequested`:break}}}break;case`ConnectRequested`:break}}}),ie=a(function*(e,t,r,i){yield*es(h,C());let a=yield*_t([Ap(te(e,t,r,i)).pipe(j(e=>({_tag:`Completed`,exit:e}))),ne().pipe(j(e=>({_tag:`Interrupted`,resetRetry:e}))),Cr(Ep).pipe(f({_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 td({reason:`timeout`,detail:`${n.label} did not respond during connection setup.`}),attemptSpan:C()}};if(Ve(a.exit)){let e=!$e(a.exit.cause)&&!a.exit.cause.reasons.some(In),t=Ip(n,a.exit,!1,!1);if(e){let e=a.exit.cause.reasons.find(Tn)?.defect;yield*Or(`Connection attempt failed with an unexpected defect.`).pipe(li({"environment.id":n.environmentId,"environment.label":n.label,"cause.reason_count":a.exit.cause.reasons.length,...gp(e)}))}return t}let o=a.exit.value,s=yield*vo(c);if(!s.desired||s.network===`offline`)return{_tag:`Interrupted`,established:!1,stable:!1,resetRetry:!1};let l=yield*xe;yield*es(h,w(o.lease.prepared)),yield*es(m,w(o.lease.session)),yield*_({desired:!0,network:s.network,phase:`connected`,stage:null,attempt:e,generation:t,lastFailure:null,retryAt:null});let u=yield*Dt(o.lease.session.closed.pipe(E(e=>({error:e,attemptSpan:o.attemptSpan}))),re(o.lease).pipe(E(e=>({error:e,attemptSpan:o.attemptSpan})))).pipe(Ap),d=(yield*xe)-l;return ct(u)?{_tag:`Interrupted`,established:!0,stable:d>=kp,resetRetry:u.value}:Ip(n,u,!0,d>=kp)},Oe(g)),ae=a(function*(e){return yield*Dt(Cr(e).pipe(f(!1)),M(function*(){for(;;){let e=yield*Ba(l);switch(e._tag){case`Wakeup`:return bp(e.reason);case`ConnectRequested`:case`DisconnectRequested`:case`RetryRequested`:case`NetworkChanged`:return!1}}}))}),oe=Ba(l).pipe(j(e=>e._tag===`Wakeup`&&bp(e.reason))),se=a(function*(){let e=0,t=0,n=null,r=C(),i=()=>{e=0,r=C()};for(;;){(yield*mo(u,!1))&&(e=0,n=null,r=C());let a=yield*vo(c);if(!a.desired){i(),n=null,yield*g,yield*_(Np(a,t)),yield*oe;continue}if(a.network===`offline`){yield*g,yield*_(Pp(a,t,e+1,n)),(yield*oe)&&i();continue}let o=e+1,s=t+1,l=yield*Pn(ie(o,s,n,r)),f=yield*mo(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*vo(c);yield*_({desired:e.desired,network:e.network,phase:`blocked`,stage:null,attempt:o,generation:t,lastFailure:m,retryAt:null}),(yield*oe)&&i();continue}if(f){i(),yield*_(Fp(yield*vo(c),t,1,m));continue}e+=1;let h=jp(e-1);r=ln(p,t=>({previousAttempt:t,failureCount:e,delayMs:h,reason:m.reason}));let v=yield*vo(c);yield*_({desired:v.desired,network:v.network,phase:`backoff`,stage:null,attempt:o,generation:t,lastFailure:m,retryAt:(yield*xe)+h}),(yield*ae(h))&&i()}});yield*r.changes.pipe(gn(e=>yo(c,t=>t.network===e?[!1,t]:[!0,{...t,network:e}]).pipe(T(t=>t?v({_tag:`NetworkChanged`,network:e}):A))),D),yield*o.changes.pipe(gn(e=>v({_tag:`Wakeup`,reason:e})),D),yield*se().pipe(D);let ce=wo(c,e=>({...e,desired:!0})).pipe(b(v({_tag:`ConnectRequested`})),nr(`EnvironmentSupervisor.connect`)),le=wo(c,e=>({...e,desired:!1})).pipe(b(v({_tag:`DisconnectRequested`})),nr(`EnvironmentSupervisor.disconnect`)),ue=Do(u,!0).pipe(b(v({_tag:`RetryRequested`})),nr(`EnvironmentSupervisor.retryNow`));return yield*$t(()=>Rn(l).pipe(b(g))),Lp.of({target:n,state:p,session:m,prepared:h,connect:ce,disconnect:le,retryNow:ue})}),zp=ot(sd),Bp=class extends Wr()(`EnvironmentNotRegisteredError`,{environmentId:we}){get message(){return`Environment ${this.environmentId} is not registered.`}},Vp=class extends Wr()(`PlatformEnvironmentRemovalError`,{environmentId:we}){get message(){return`Platform-managed environment ${this.environmentId} cannot be removed.`}},Hp=class extends I()(`@borgtools/client-runtime/connection/registry/EnvironmentRegistry`){},Up=Xn(Hp,M(function*(){let e=yield*Rr,t=yield*Ed,n=yield*Dd,r=yield*Od,i=yield*kd,a=yield*bd,o=yield*vd,s=yield*Sd,c=yield*ip,l=yield*Sp,u=yield*Wu,d=yield*t.list,f=yield*Zo(new Map(yield*xr(d,S(`EnvironmentRegistry.loadCatalogEntry`)(function*(e){let t=e._tag===`PrimaryConnectionTarget`?C():yield*a.get(e.connectionId);return[e.environmentId,{target:e,profile:t}]}),{concurrency:`unbounded`}))),p=yield*Zo(yield*s.status),m=yield*Zo(new Map),h=yield*no(new Set),_=yield*no(new Map(d.map(e=>[e.environmentId,e]))),v=yield*no(new Map),y=yield*Zi(1),ee=yield*no(!1),te=(e,t)=>Aa(y.withPermits(1)(M(function*(){let t=yield*vo(v),n=t.get(e);if(n!==void 0)return yield*Do(v,new Map(t).set(e,{semaphore:n.semaphore,users:n.users+1})),n.semaphore;let r=yield*Zi(1);return yield*Do(v,new Map(t).set(e,{semaphore:r,users:1})),r})),e=>e.withPermits(1)(t),t=>y.withPermits(1)(wo(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(nr(`EnvironmentRegistry.withLeaseLock`)),re=S(`EnvironmentRegistry.getEntry`)(function*(e){let t=(yield*L(f)).get(e);return t===void 0?yield*new Bp({environmentId:e}):t}),ae=S(`EnvironmentRegistry.closeServiceScope`)(function*(e){let t=yield*L(m),n=t.get(e);if(n===void 0)return;let r=new Map(t);r.delete(e),yield*es(m,r),yield*Ja(n.scope,to)}),oe=S(`EnvironmentRegistry.createServiceScope`)((t,n=t.target._tag!==`CloudConnectionTarget`)=>Ar(M(function*(){let r=t.target.environmentId,i=yield*or(e),a=yield*Rp(t,{initiallyDesired:!1}).pipe(x(Sd,s),x(ip,c),x(Sp,l),ja(i),ne(()=>Ja(i,to)));return n&&(yield*a.connect),yield*ts(m,e=>{let n=new Map(e);return n.set(r,{entry:t,supervisor:a,scope:i}),n}),a}))),se=S(`EnvironmentRegistry.acquireSupervisor`)(function*(e){return yield*te(e,M(function*(){let t=yield*re(e),n=(yield*L(m)).get(e);if(n!==void 0){if(qn(n.entry,t))return n.supervisor;yield*ae(e)}return yield*oe(t)}))}),ce=S(`EnvironmentRegistry.run`)(function*(e,t){return yield*x(t,Lp,yield*se(e))}),le=(e,t)=>br(se(e).pipe(j(e=>Ne(t,Lp,e)))),ue=(e,t)=>Ua(oi(L(f)),Qo(f)).pipe(be(t=>vt(t.get(e))),ba((e,t)=>Rt(e)===Rt(t)),jn(Me({onNone:()=>ie,onSome:()=>br(se(e).pipe(Va({onFailure:()=>ie,onSuccess:e=>Ne(t,Lp,e)})))}))),b=M(function*(){(yield*mo(ee,!0))||(yield*xr(d,e=>se(e.environmentId).pipe(st(`EnvironmentNotRegisteredError`,()=>A)),{concurrency:`unbounded`,discard:!0}))}).pipe(nr(`EnvironmentRegistry.start`)),de=S(`EnvironmentRegistry.installEntryLocked`)(function*(e,t){let n=e.target,r=(yield*L(f)).get(n.environmentId),i=(yield*L(m)).get(n.environmentId);t?.retainEquivalentRuntime===!0&&r!==void 0&&qn(r,e)&&i!==void 0&&qn(i.entry,e)||(yield*ae(n.environmentId),yield*ts(f,t=>{let r=new Map(t);return r.set(n.environmentId,e),r}),yield*oe(e,!0))}),fe=S(`EnvironmentRegistry.register`)(function*(e){let t=_d(e),r=t.target.environmentId;yield*te(r,M(function*(){(yield*vo(h)).has(r)||(yield*n.register(e),yield*wo(_,t=>{let n=new Map(t);return n.set(r,e.target),n}),yield*de(t))}))}),pe=S(`EnvironmentRegistry.installPlatformRegistration`)(function*(e){let t=_d(e),r=t.target;yield*te(r.environmentId,M(function*(){yield*wo(h,e=>{let t=new Set(e);return t.add(r.environmentId),t}),e._tag===`BearerConnectionRegistration`&&(yield*o.put(e.target.connectionId,e.credential).pipe($a(e=>Li(`Could not store the platform bearer credential.`,{environmentId:r.environmentId,error:e}))));let i=(yield*vo(_)).get(r.environmentId);i!==void 0&&(yield*n.remove(i).pipe(Xr(()=>wo(_,e=>{let t=new Map(e);return t.delete(r.environmentId),t})),$a(e=>Li(`Could not remove a persisted registration shadowed by a platform environment.`,{environmentId:r.environmentId,error:e})))),yield*de(t,{retainEquivalentRuntime:!0})}))}),me=S(`EnvironmentRegistry.removePlatformEnvironment`)(function*(e){yield*te(e,M(function*(){let t=(yield*L(f)).get(e);yield*wo(h,t=>{let n=new Set(t);return n.delete(e),n}),yield*ae(e),yield*ts(f,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($a(t=>Li(`Could not clear the platform bearer credential.`,{environmentId:e,error:t})))),yield*he([r.clear(e).pipe($a(t=>Li(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),i.clear(e)],{concurrency:`unbounded`,discard:!0})}))}),ge=S(`EnvironmentRegistry.registerPlatform`)(function*(e){yield*pe(e)}),_e=S(`EnvironmentRegistry.reconcilePlatform`)(function*(e){let t=new Set(e.map(e=>e.target.environmentId));yield*xr(yield*vo(h),e=>t.has(e)?A:me(e),{discard:!0}),yield*xr(e,pe,{discard:!0})}),ve=S(`EnvironmentRegistry.remove`)(function*(e,t){return yield*te(e,M(function*(){if((yield*vo(h)).has(e))return yield*new Vp({environmentId:e});let o=(yield*re(e)).target,s=o._tag===`PrimaryConnectionTarget`?C():yield*a.get(o.connectionId);t!==void 0&&(yield*i.clear(e,t)),yield*n.remove(o),yield*wo(_,t=>{let n=new Map(t);return n.delete(e),n}),yield*ae(e),yield*ts(f,t=>{let n=new Map(t);return n.delete(e),n}),yield*he([r.clear(e).pipe($a(t=>Li(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),t===void 0?i.clear(e):A],{concurrency:`unbounded`,discard:!0}),o._tag===`SshConnectionTarget`&&g(s)&&zp(s.value)&&(yield*u.disconnect(s.value.target).pipe(Mi(t=>Li(`Could not disconnect the managed SSH environment.`,{environmentId:e,error:t})),Qi))}))}),ye=e=>se(e).pipe(T(e=>e.target._tag===`CloudConnectionTarget`?L(e.state).pipe(T(t=>t.desired?e.retryNow:e.connect)):e.retryNow),st(`EnvironmentNotRegisteredError`,()=>A),nr(`EnvironmentRegistry.retryNow`)),xe=S(`EnvironmentRegistry.state`)(function*(e){return yield*L((yield*se(e)).state)});return yield*$t(()=>L(m).pipe(T(e=>xr(e.values(),e=>Ja(e.scope,to),{concurrency:`unbounded`,discard:!0})))),yield*s.changes.pipe(gn(e=>es(p,e)),D),Hp.of({entries:f,networkStatus:p,start:b,register:fe,registerPlatform:ge,reconcilePlatform:_e,remove:ve,retryNow:ye,state:xe,stateChanges:e=>ue(e,br(Lp.pipe(j(e=>Qo(e.state))))),run:ce,runStream:le,followStream:ue})})),Wp=class extends Wr()(`EnvironmentRpcUnavailableError`,{environmentId:k,message:k}){},Gp=class extends va(`@borgtools/client-runtime/rpc/EnvironmentRpcRequestObserver`,{defaultValue:()=>({observe:()=>F(A)})}){},Kp=class extends va(`@borgtools/client-runtime/rpc/EnvironmentRpcSubscriptionObserver`,{defaultValue:()=>({observe:()=>F(A)})}){},qp=ot($c),Jp=S(`EnvironmentRpc.currentSession`)(function*(){let e=yield*Lp;return yield*L(e.session).pipe(T(Me({onNone:()=>N(new Wp({environmentId:e.target.environmentId,message:`${e.target.label} is not connected.`})),onSome:F})))}),Yp=S(`EnvironmentRpc.request`)(function*(e,t){let n=yield*Lp;yield*wt({"environment.id":n.target.environmentId,"rpc.method":e});let r=yield*Jp(),i=yield*Gp,a=r.client[e],o=yield*i.observe({environmentId:n.target.environmentId,method:e});return yield*a(t).pipe(Oe(o))});function Xp(e,t){return br(Jp().pipe(j(n=>{let r=n.client[e];return r(t)}))).pipe(aa(`EnvironmentRpc.runStream`,{attributes:{"rpc.method":e}}))}function Zp(e,t,n){return br(M(function*(){let r=yield*Lp,i=yield*Kp,a=Qo(r.session);return(n?.resubscribe===void 0?a:zt(a,n.resubscribe.pipe(it(()=>L(r.session))))).pipe(jn(Me({onNone:()=>ie,onSome:a=>{let o=e===O.subscribeServerConfig?a.subscribeServerConfig:a.client[e],s=()=>We(()=>br(M(function*(){let c=yield*t(a),l=yield*i.observe({environmentId:r.target.environmentId,method:e,input:c});return o(c).pipe(ka(l),Fr(t=>{let i=t.reasons.length>0&&t.reasons.every(e=>e._tag===`Fail`);if(i&&t.reasons.every(e=>e._tag===`Fail`&&qp(e.error)))return oi(Li(`Durable RPC subscription lost its transport; waiting for the next session.`,{cause:Tr(t),method:e,environmentId:r.target.environmentId})).pipe(qt);if(i&&n?.onExpectedFailure!==void 0){let e=oi(n.onExpectedFailure(t)).pipe(qt);return n.retryExpectedFailureAfter===void 0?e:e.pipe(Ua(oi(Cr(n.retryExpectedFailureAfter)).pipe(qt)),Ua(s()))}return pe(t)}))})));return s()}})))})).pipe(aa(`EnvironmentRpc.subscribe`,{attributes:{"rpc.method":e}}))}function Qp(e,t,n){return Zp(e,()=>F(t),n)}M(function*(){return yield*(yield*Jp()).initialConfig}).pipe(nr(`EnvironmentRpc.config`));async function $p(e){try{return await e()}catch(e){return ds(_(e))}}function em(){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=ds(_(e))}for(let n of e.resolve)n(t)}c.running=!1,o.latest.get(a)===c&&o.latest.delete(a)})()),l}}}function tm(e,t,n,r,i){return M(function*(){let a=yield*fn(),o=yield*ii(o=>t.schedule(e,n,r,async()=>{let e=await hn(a)(i,{signal:o});return ct(e)?ls(e.value):ds(e.cause)}));return o._tag===`Success`?o.value:yield*Ke(o.cause)})}async function nm(e,t,n,r={},i=console){let a=await $p(()=>t.run(e,n));return um(a,{...r,label:r.label??t.label},i),a}function rm(e,t){return e._tag===`Success`?ls(t(e.value)):ds(e.cause)}function im(e){return e._tag===`Failure`&&$e(e.cause)}function am(e){return ki(e.cause)}async function om(e){try{return rs(await e())}catch(e){return ds(_(e))}}async function sm(e,t={},n=console){let r=await om(e);return um(r,t,n),r}async function cm(e,t,n={},r=console){let i=Pn(M(function*(){return yield*Es(e,t),n.refresh&&(yield*P(()=>{let n=e.get(t);n._tag!==`Initial`&&!n.waiting&&e.refresh(t)})),yield*Ts(e,t,{suspendOnWaiting:!0})}));return sm(()=>nn(i),n,r)}function lm(e,t){let n=t.scheduler??em(),r=t.concurrency??{mode:`parallel`};return{label:t.label,run:(i,a)=>$p(()=>n.schedule(i,r,a,()=>cm(i,e.atom(t.execute(a,i)).pipe(B(t.label)),{reportDefect:!1,reportFailure:!1})))}}function um(e,t={},n=console){if(cs(e)||$e(e.cause))return;let r=t.label??`atom command`;_n(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 dm(e){try{return ls(await e())}catch(e){return ds(_(e))}}function fm(e){return JSON.stringify([e.environmentId,e.input])}function pm(e){let t=JSON.parse(e);return{environmentId:we.make(t[0]),input:t[1]}}function mm(e,t){return Hp.pipe(T(n=>n.run(e,t)))}function hm(e,t){return br(Hp.pipe(j(n=>n.runStream(e,t))))}function gm(e,t){return br(Hp.pipe(j(n=>n.followStream(e,t))))}function _m(e,t){let n=z(t=>e.atom(gm(t,br(Lp.pipe(j(e=>Qo(e.state).pipe(wi(Qo(e.session))))))),{initialValue:null})),r=z(r=>{let i=pm(r),a=t.idleTtlMs??5*6e4,o=e.atom(e=>{let r=ye(_s(e(n(i.environmentId))));if(r===null)return Gt;let[a,o]=r;switch(a.phase){case`connected`:return g(o)?mm(i.environmentId,t.execute(i.input)):Gt;case`connecting`:case`backoff`:return Gt;case`available`:case`offline`:case`blocked`:return a.lastFailure===null?N(new Wp({environmentId:i.environmentId,message:`Environment ${i.environmentId} is ${a.phase===`available`?`not connected`:a.phase}.`})):N(a.lastFailure)}}).pipe(wc({staleTime:t.staleTimeMs??3e4,revalidateOnMount:!0}),Ks(a));return(t.refreshIntervalMs===void 0?o:o.pipe(Cc(t.refreshIntervalMs))).pipe(Ks(a),B(`${t.label}:${r}`))});return e=>r(fm(e))}function vm(e,t){let n=z(n=>{let r=pm(n);return e.atom(gm(r.environmentId,t.subscribe(r.input))).pipe(Ks(t.idleTtlMs??5*6e4),B(`${t.label}:${n}`))});return e=>n(fm(e))}function ym(e,t){return lm(e,{label:t.label,...t.scheduler===void 0?{}:{scheduler:t.scheduler},...t.concurrency===void 0?{}:{concurrency:t.concurrency},execute:(e,n)=>mm(e.environmentId,t.execute(e.input,n,e.environmentId))})}function bm(e,t){return _m(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=>Yp(t.tag,e)})}function xm(e,t){return vm(e,{label:t.label,...t.idleTtlMs===void 0?{}:{idleTtlMs:t.idleTtlMs},subscribe:e=>{let n=Qp(t.tag,e);return t.transform===void 0?n:t.transform(n)}})}function Sm(e,t){return ym(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 Yp(t.tag,e).pipe(Xr(()=>t.onSuccess?.(i,n)??A),Oe(t.onSettled?.(i,n)??A))}})}var Cm=`token`,wm=`host`,Tm=`label`,Em=new Set([`http:`,`https:`,`ws:`,`wss:`]),Dm=e=>new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash),Om=class extends Wr()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},km=class extends Wr()(`RemotePairingUrlInvalidError`,{cause:dn(la()),protocol:dn(k)}){get message(){return`Pairing URL is invalid.`}},Am=class extends Wr()(`RemoteBackendUrlInvalidError`,{source:Ni([`direct-host`,`hosted-pairing-host`]),cause:dn(la()),protocol:dn(k)}){get message(){return`Backend URL is invalid.`}},jm=class extends Wr()(`RemotePairingTokenMissingError`,{host:k}){get message(){return`Pairing URL is missing its token.`}},Mm=class extends Wr()(`RemotePairingCodeMissingError`,{host:k}){get message(){return`Enter a pairing code.`}};rr([Om,km,Am,jm,Mm]);var Nm=e=>Em.has(e.protocol),Pm=(e,t)=>{let n=e.trim();if(!n)throw new Om;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 Am({source:t,cause:e})}if(!Nm(a))throw new Am({source:t,protocol:a.protocol});return Fm(a),a.search=``,a.hash=``,a},Fm=e=>{let t=e.pathname.replace(/\/+$/u,``)||`/`;e.pathname=t===`/pair`?`/`:`${t===`/`?``:t}/`},Im=e=>{let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),Fm(t),t.search=``,t.hash=``,t.toString()},Lm=e=>{let t=new URL(Im(e));return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.toString()},Rm=e=>{let t=Dm(e).get(Cm)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Cm)?.trim()??``;return n.length>0?n:null},zm=e=>{let t=new URL(e.toString()),n=Dm(t);return n.has(Cm)&&(n.delete(Cm),t.hash=n.toString()),t.searchParams.delete(Cm),t},Bm=(e,t)=>{let n=new URL(e.toString());return n.searchParams.delete(Cm),n.hash=new URLSearchParams([[Cm,t]]).toString(),n},Vm=e=>{let t=e.searchParams.get(wm)?.trim()??``,n=Rm(e)?.trim()??``,r=e.searchParams.get(Tm)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}},Hm=e=>{let t=e.pairingUrl?.trim()??``;if(t.length>0){let e;try{e=new URL(t)}catch(e){throw new km({cause:e})}if(!Nm(e))throw new km({protocol:e.protocol});let n=Vm(e);if(n){let e=Pm(n.host,`hosted-pairing-host`);return{credential:n.token,httpBaseUrl:Im(e),wsBaseUrl:Lm(e)}}let r=Rm(e)??``;if(!r)throw new jm({host:e.host});return{credential:r,httpBaseUrl:Im(e),wsBaseUrl:Lm(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw new Om;let i=Pm(n,`direct-host`);if(!r)throw new Mm({host:i.host});return{credential:r,httpBaseUrl:Im(i),wsBaseUrl:Lm(i)}};function Um(e){return e.entries.filter(t=>t.target._tag===`CloudConnectionTarget`&&t.target.connectionId===e.registeredConnectionId&&t.target.environmentId!==e.registeredEnvironmentId).map(e=>e.target.environmentId)}var Wm=`http://127.0.0.1:3773`,Gm=class extends va(`@borgtools/client-runtime/connection/onboarding/DevicePairingObserver`,{defaultValue:()=>({start:()=>()=>void 0})}){};function Km(e,t,n,r={}){return Di(()=>{let i;try{i=e.start(t,r)}catch{return n}return n.pipe(Da(e=>P(()=>{if(!(Ve(e)&&$e(e.cause)))try{i(ct(e)?{kind:t,outcome:`succeeded`,environmentId:e.value}:{kind:t,outcome:`failed`,environmentId:null})}catch{}})))})}var qm=e=>e.accountGeneration===void 0?{}:{accountGeneration:e.accountGeneration};function Jm(e,t,n){return t.recovery===!0?n:Km(e,`cloud`,n,qm(t))}var Ym=class extends I()(`@borgtools/client-runtime/connection/onboarding/ConnectionOnboarding`){},Xm=S(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*vr({try:()=>Hm(e),catch:e=>new Y({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})}),Zm=S(`clientRuntime.connection.onboarding.preparePairingRegistration`)(function*(e){let t=yield*Xm(e),n=yield*Hu,r=yield*io({httpBaseUrl:t.httpBaseUrl,...e.awaitRouting===!0?{awaitRouting:!0}:{}}).pipe(E($d)),i=t.credential.split(`.`).length===3?{access_token:t.credential}:yield*Bd({httpBaseUrl:t.httpBaseUrl,credential:t.credential,scopes:n.scopes,clientMetadata:n.metadata}).pipe(E($d)),a=`bearer:${r.environmentId}`;return new pd({target:new Ju({environmentId:r.environmentId,label:r.label,connectionId:a}),profile:new ad({connectionId:a,environmentId:r.environmentId,label:r.label,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl}),credential:new ud({token:i.access_token})})}),Qm=S(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*Zm(e);return yield*(yield*Hp).register(t),t.target.environmentId}),$m=S(`clientRuntime.connection.onboarding.registerCloudPairingConnection`)(function*(e){let t=yield*Hp,n=yield*Zm({...e,awaitRouting:!0}),r=`cloud:${e.sessionId}`,i=new md({target:new Yu({environmentId:n.target.environmentId,label:e.label??n.target.label,connectionId:r}),profile:new od({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*xr(Um({entries:[...(yield*L(t.entries)).values()],registeredEnvironmentId:i.target.environmentId,registeredConnectionId:r}),e=>t.remove(e,i.target.environmentId).pipe(jt(()=>N(new Td({operation:`clear-environment`,message:`Could not reconnect this Cloud workspace without losing unsent input. Your input and the old connection have been kept; resolve any draft conflict and retry.`})))),{discard:!0}),i.target.environmentId}),eh=ot(ud),th=ot(ad),nh=S(`clientRuntime.connection.onboarding.updateBearerConnection`)(function*(e){let t=yield*Hp,n=yield*vd,r=(yield*L(t.entries)).get(e.environmentId),i=r?.target._tag===`BearerConnectionTarget`?yield*n.get(r.target.connectionId):C(),a=yield*rh({input:e,entry:vt(r),credential:i});yield*t.register(a)}),rh=S(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=ye(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||Xa(t.profile)||!th(t.profile.value))return yield*new Y({reason:`configuration`,detail:`Only saved bearer environments can be edited.`});let n=e.credential;if(Xa(n)||!eh(n.value))return yield*new Y({reason:`authentication`,detail:`The saved bearer credential is unavailable.`});let r=e.input.label.trim();if(r===``)return yield*new Y({reason:`configuration`,detail:`Environment label cannot be empty.`});let i=yield*vr({try:()=>ho(e.input.httpBaseUrl),catch:e=>new Y({reason:`configuration`,detail:e instanceof Error?e.message:`The environment URL is invalid.`})}),a=t.target.connectionId;return new pd({target:new Ju({environmentId:e.input.environmentId,label:r,connectionId:a}),profile:new ad({connectionId:a,environmentId:e.input.environmentId,label:r,httpBaseUrl:i,wsBaseUrl:co(i)}),credential:n.value})}),ih=S(`clientRuntime.connection.onboarding.prepareSshRegistration`)(function*(e){let t=yield*(yield*Wu).provision(e.target),n=`ssh:${t.environmentId}`,r=e.label?.trim()||t.label||t.bootstrap.target.alias;return new hd({target:new Xu({environmentId:t.environmentId,label:r,connectionId:n}),profile:new sd({connectionId:n,environmentId:t.environmentId,label:r,target:t.bootstrap.target})})}),ah=S(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*ih(e);return yield*(yield*Hp).register(t),t.target.environmentId}),oh=S(`clientRuntime.connection.onboarding.prepareBorgRegistration`)(function*(e){let t=yield*Hu,n=yield*Gu,r=Te(yield*fn()),i=Mf({borgApiUrl:e.borgApiUrl,deviceId:e.deviceId,openTunnel:()=>r(n.openTunnel())}),a=yield*io({httpBaseUrl:Wm}).pipe(x(_o,i),E($d)),o=yield*Bd({httpBaseUrl:Wm,credential:e.pairingCode,scopes:t.scopes,clientMetadata:t.metadata}).pipe(x(_o,i),E($d)),s=`borg:${a.environmentId}`,c=e.label?.trim()||a.label;return new gd({target:new Zu({environmentId:a.environmentId,label:c,connectionId:s,deviceId:e.deviceId}),profile:new cd({connectionId:s,environmentId:a.environmentId,label:c,borgApiUrl:e.borgApiUrl,deviceId:e.deviceId}),credential:new ud({token:o.access_token})})}),sh=S(`clientRuntime.connection.onboarding.registerBorgConnection`)(function*(e){let t=yield*oh(e);return yield*(yield*Hp).register(t),t.target.environmentId}),ch=Xn(Ym,M(function*(){let e=yield*Hp,t=yield*Hu,n=yield*_o,r=yield*Wu,i=yield*Gu,a=yield*vd,o=yield*Gm;return Ym.of({registerPairing:r=>Qm(r).pipe(x(Hp,e),x(Hu,t),x(_o,n),e=>Km(o,`pairing`,e)),registerCloudPairing:r=>$m(r).pipe(x(Hp,e),x(Hu,t),x(_o,n),e=>Jm(o,r,e)),registerSsh:t=>ah(t).pipe(x(Hp,e),x(Wu,r),e=>Km(o,`ssh`,e)),registerBorg:r=>sh(r).pipe(x(Hp,e),x(Hu,t),x(Gu,i),x(_o,n),e=>Km(o,`borg`,e,qm(r))),registerPrepared:t=>e.register(t).pipe(f(t.target.environmentId)),updateBearer:t=>nh(t).pipe(x(Hp,e),x(vd,a))})})),lh=class extends I()(`@borgtools/client-runtime/platform/source/PlatformConnectionSource`){},uh=qf.pipe(yr(mf));function dh(e){let t=ap.pipe(yr(ha(uh,rp(e)))),n=Up.pipe(yr(t)),r=ha(n,ch.pipe(yr(n)));return ra(M(function*(){let e=yield*Hp,t=yield*lh;yield*e.start,yield*t.registrations.pipe(gn(e.reconcilePlatform),D)}).pipe(nr(`clientRuntime.connection.application.start`))).pipe(jr(r))}dh({});function fh(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 ph(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 mh(e){return e.phase===`reconnecting`&&e.error?`Failed to connect. Reconnecting...`:ph({...e,error:null})}function hh(e){return fh(e)}function gh(e){switch(e.target._tag){case`PrimaryConnectionTarget`:return e.target.httpBaseUrl;case`BearerConnectionTarget`:return g(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`CloudConnectionTarget`:return g(e.profile)&&e.profile.value._tag===`CloudConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return g(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null;case`BorgConnectionTarget`:return g(e.profile)&&e.profile.value._tag===`BorgConnectionProfile`?`Through Borg · ${e.profile.value.deviceId.slice(0,8)}`:null}}var _h=(e,t)=>e===null?t.pipe(x(uo,{credentials:`include`})):t,vh=(e,t,n,r)=>M(function*(){if(e===null)return{};if(e._tag===`Bearer`)return{authorization:`Bearer ${e.token}`};if(Xa(r))return yield*new fo({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(E(e=>new fo({message:`Could not create the environment request authorization proof.`,cause:e})));return{authorization:`DPoP ${e.accessToken}`,dpop:i}}),yh=6e3,bh=S(`clientRuntime.state.fetchEnvironmentShellSnapshot`)(function*(e){let t=ao(e.prepared.httpBaseUrl,`/api/orchestration/shell`),n=yield*ro(e.prepared.httpBaseUrl),r=yield*vh(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*So(t,e.timeoutMs??yh,_h(e.prepared.httpAuthorization,n.orchestration.shellSnapshot({headers:r})))}),xh=class extends I()(`@borgtools/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},Sh=Xn(xh,M(function*(){let e=yield*_o,t=yield*r(tf);return xh.of({load:n=>bh({prepared:n,signer:t}).pipe(j(w),x(_o,e),jt(e=>Li(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(li({cause:Tr(e)}),f(C()))))})}));function Ch(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):et(e.projects,t.project);return{...e,projects:n,snapshotSequence:t.sequence}}case`project-removed`:return{...e,projects:Mn(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):et(e.threads,t.thread);return{...e,threads:n,snapshotSequence:t.sequence}}case`thread-removed`:return{...e,threads:Mn(e.threads,e=>e.id!==t.threadId),snapshotSequence:t.sequence};default:return e}}function wh(e,t){return{...t,environmentId:e}}function Th(e,t){return{...t,environmentId:e}}function Eh(e,t){return{...t,environmentId:e}}function Dh(e){return{openInEditor:Sm(e,{label:`environment-data:shell:open-in-editor`,tag:O.shellOpenInEditor}),captureLoopbackRedirect:Sm(e,{label:`environment-data:shell:capture-loopback-redirect`,tag:O.shellCaptureLoopbackRedirect}),cancelLoopbackRedirect:Sm(e,{label:`environment-data:shell:cancel-loopback-redirect`,tag:O.shellCancelLoopbackRedirect})}}function Oh(e){return z(t=>R(n=>Me(_s(n(e(t))),{onNone:()=>null,onSome:e=>ye(e.snapshot)})).pipe(B(`environment-snapshot:${t}`)))}var kh={snapshot:C(),status:`empty`,error:C()};function Ah(e){return g(e)?`cached`:`empty`}var jh=`Could not synchronize environment data.`,Mh=S(`EnvironmentShellState.make`)(function*(){let e=yield*Lp,t=yield*Od,n=yield*xh,i=yield*r(Sp),a=e.target.environmentId,o=yield*t.loadShell(a).pipe($a(e=>Li(`Could not load cached environment shell.`).pipe(li({environmentId:a,...gp(e)}),f(C())))),s=yield*Zo({snapshot:o,status:Ah(o),error:C()}),c=yield*no(!1),l=yield*no(null),u=yield*no(null),d=yield*_a(1),p=S(`EnvironmentShellState.persist`)(function*(e){yield*t.saveShell(a,e).pipe($a(e=>Li(`Could not persist environment shell cache.`).pipe(li({environmentId:a,...gp(e)}))))});yield*dt(d).pipe(tr(`500 millis`),gn(p),D);let m=Do(c,!1).pipe(b(ts(s,e=>({...e,status:Ah(e.snapshot)})))),h=ts(s,e=>({...e,status:`synchronizing`,error:C()})),_=ts(s,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:C()}),v=e=>Do(c,!1).pipe(b(Li(`Could not synchronize the environment shell.`)),li({environmentId:a,...gp(e)}),b(ts(s,e=>({...e,status:Ah(e.snapshot),error:w(jh)})))),y=S(`EnvironmentShellState.applyItem`)(function*(e){if(e.kind===`synchronized`){yield*Do(c,!1),yield*ts(s,e=>g(e.snapshot)?{...e,status:`live`,error:C()}:e);return}let t=yield*L(s),n=e.kind===`snapshot`?e.snapshot:Me(t.snapshot,{onNone:()=>null,onSome:t=>e.sequence>t.snapshotSequence?Ch(t,e):t});if(n===null)return;let r=yield*vo(c);if(yield*es(s,{snapshot:w(n),status:r?`synchronizing`:`live`,error:C()}),e.kind===`snapshot`){let e=yield*vo(u);e!==null&&(yield*Do(l,e))}yield*bi(d,n)}),ee=Me(i,{onNone:()=>Za,onSome:e=>e.changes.pipe(le(xp))});return yield*h,yield*D(Zp(fr.subscribeShell,S(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*Do(u,t);let r=yield*t.initialConfig.pipe(j(e=>e.shellResumeCompletionMarker===!0),Ct(()=>!1));yield*Do(c,r),yield*h;let i=(yield*vo(l))===t,a=i,o=yield*L(s);if(!i||Xa(o.snapshot)){let t=yield*L(e.prepared).pipe(T(Me({onSome:F,onNone:()=>Qo(e.prepared).pipe(le(g),be(e=>e.value),Qe,j(ze))}))),r=yield*n.load(t);g(r)&&(yield*y({kind:`snapshot`,snapshot:r.value}),a=!0,o=yield*L(s))}return!a||Xa(o.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*ts(s,e=>({...e,status:`live`,error:C()}))),{afterSequence:o.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>v(ki(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:ee}).pipe(gn(y))),yield*Qo(e.state).pipe(gn(e=>{switch(nd(e)){case`synchronizing`:return h;case`disconnected`:return m;case`ready`:return _}}),D),s});function Nh(e){return gm(e,br(Mh().pipe(j(Qo))))}var Ph=Object.freeze({hasSnapshot:!1,hasSynchronizingShell:!1,hasCachedShell:!1,hasLiveShell:!1,firstError:null,latestSnapshotUpdatedAt:null}),Fh=new Map;function Ih(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 Lh(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 Rh(e){let t=Ph;return R(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=ye(l.error)),Xa(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 Ih(t,l)||(t=l),t}).pipe(B(`environment-shell-summary`))}function zh(e){let t=Fh;return R(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 Lh(t,r)||(t=r),t}).pipe(B(`environment-server-configs`))}function Bh(e){let t=z(t=>e.atom(Nh(t),{initialValue:kh}));return{stateAtom:t,stateValueAtom:z(e=>R(n=>Ot(_s(n(t(e))),()=>kh)).pipe(B(`environment-shell-state-value:${e}`)))}}function Vh(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 Hh=`Borg Cloud is having trouble starting sessions right now. Try again in a few minutes.`;function Uh(e,t){if(t?.code===`quota_reached`&&t.limit!==void 0){let e=t.running??t.limit;return`Your organization is already running ${e} cloud ${e===1?`session`:`sessions`}, the most it can run at once. Stop one and try again.`}return t?.code===`stopping`?`This session is still shutting down. Give it a moment and try again.`:t?.code===`execution_worker_unavailable`?Hh:t?.code===`already_running`?`This session already has a cloud runtime.`:`Borg cloud execution request failed (${e}).`}var Wh=class extends Error{status;code;constructor(e,t){super(Uh(e,t)),this.name=`CloudExecutionClientError`,this.status=e,this.code=t?.code}};function Gh(e){if(e instanceof Wh)return e.status;if(!(e instanceof Error))return null;let t=e.message.match(/\[cloud_http:(\d{3})\]/u);return t?Number(t[1]):null}async function Kh(e){try{let t=await e.json();return new Wh(e.status,{...typeof t.code==`string`?{code:t.code}:{},...typeof t.detail==`string`?{detail:t.detail}:{},...typeof t.running==`number`?{running:t.running}:{},...typeof t.limit==`number`?{limit:t.limit}:{}})}catch{return new Wh(e.status)}}var qh=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function Jh(e){if(!qh.test(e))throw new Wh(400);return e}function Yh(e){let t=e.fetch??globalThis.fetch,n=e.apiUrl.replace(/\/$/u,``);if(!Vh(e.customerId))throw new Wh(400);let r=String(e.customerId),i=async(r,i)=>{let a=await e.getAccessToken();if(!a)throw new Wh(401);let o=await t(`${n}${r}`,{...i,...i?.signal??e.signal?{signal:i?.signal??e.signal}:{},headers:{authorization:`Bearer ${a}`,"content-type":`application/json`}});if(!o.ok)throw await Kh(o);return o.json()};return{createWorkspace:(e,t)=>i(`/api/v1/customers/${r}/workspaces/`,{method:`POST`,body:JSON.stringify({name:e,repository_provider:`other`,repository_identifier:t,repository_url:`https://example.invalid/local-cloud`,default_branch:`main`,metadata:{localCloud:!0}})}),listSessions:()=>i(`/api/v1/customers/${r}/sessions/`),createSession:(e,t,n)=>i(`/api/v1/customers/${r}/sessions/`,{method:`POST`,body:JSON.stringify({workspace:Jh(e),title:t,model:En,executor_kind:n?.executorKind??`cloud`,...n?.executorDevice?{executor_device:Jh(n.executorDevice)}:{},metadata:{localCloud:!0}})}),start:e=>i(`/api/v1/sessions/${Jh(e)}/execution/`,{method:`POST`,body:`{}`}),pause:e=>i(`/api/v1/sessions/${Jh(e)}/execution/`,{method:`DELETE`}),resume:e=>i(`/api/v1/sessions/${Jh(e)}/execution/`,{method:`POST`,body:`{}`}),session:e=>i(`/api/v1/sessions/${Jh(e)}/`),localHandoff:e=>i(`/api/v1/sessions/${Jh(e)}/local-connection/`,{method:`POST`,body:`{}`}),spawnDeviceSession:async e=>{let t=await i(`/api/v1/customers/${r}/sessions/`,{method:`POST`,body:JSON.stringify({workspace:Jh(e.workspaceId),title:e.title,model:En,executor_kind:`device`,executor_device:Jh(e.deviceId)})});await i(`/api/v1/sessions/${t.id}/execution/`,{method:`POST`,body:`{}`});let n=e.maxPollAttempts??60;for(let r=0;r<n;r+=1){e.signal?.throwIfAborted();let n=await i(`/api/v1/sessions/${t.id}/`),r=n.spawn_pairing_code;if(n.status===`failed`)throw Error(`That machine could not start the session.`);if(n.status===`running`&&typeof r==`string`&&r.length>0)return{session:n,pairingCode:r,environmentId:n.executor_device??e.deviceId};await e.sleep(1e3)}throw Error(`That machine did not accept the session in time.`)}}}var Xh=Si(2),Zh=Br(30),Qh=`cloud:`,$h=ot(ud),eg=e=>ra(M(function*(){let t=yield*Hp,n=yield*vd,r=yield*_f,i=yield*Yf,a=t=>M(function*(){let n=e(),r=yield*i.current;if(!n||Xa(r)||r.value.kind!==`jwt`)return C();let a=r.value.token,o=Fi(a);if(!o)return C();let s=Yh({apiUrl:n,customerId:o.customerId,getAccessToken:async()=>a});return ut((yield*ma(()=>s.localHandoff(t))).runtime_session)}),o=e=>M(function*(){let t=e.slice(6);for(;;){let i=yield*n.get(e).pipe(Ct(C));if(Xa(i)||!$h(i.value))return;let o=Er(i.value.token);if(o===void 0)return;let s=yield*xe,c=o-Nr(Xh)-s;c>0&&(yield*Cr(kr(c)));let l=yield*a(t).pipe(Mi(t=>gr(`Cloud runtime session refresh did not land`,{connectionId:e,cause:t})),Ct(C));if(Xa(l)){yield*Cr(Zh);continue}yield*n.put(e,new ud({token:l.value})),yield*r.set(e,l.value)}}).pipe(Qi),s=new Map,c=M(function*(){let e=yield*L(t.entries);for(let[t,n]of s)e.has(t)||(s.delete(t),yield*Qr(n));for(let[t,n]of e)s.has(t)||n.target._tag!==`CloudConnectionTarget`||n.target.connectionId.startsWith(Qh)&&s.set(t,yield*D(o(n.target.connectionId)))});yield*c,yield*Qo(t.entries).pipe(gn(()=>c),D)})),tg=6e3,ng=S(`clientRuntime.state.fetchEnvironmentThreadSnapshot`)(function*(e){let t=ao(e.prepared.httpBaseUrl,`/api/orchestration/threads/${e.threadId}`),n=yield*ro(e.prepared.httpBaseUrl),r=yield*vh(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*So(t,e.timeoutMs??tg,_h(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})))}),rg=class extends I()(`@borgtools/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},ig=Xn(rg,M(function*(){let e=yield*_o,t=yield*r(tf);return rg.of({load:(n,r,i)=>ng({prepared:n,threadId:r,signer:t,...i===void 0?{}:{window:i}}).pipe(j(w),x(_o,e),Vt({EnvironmentResourceNotFoundError:()=>gr(`Thread snapshot not found over HTTP; deferring to the socket subscription.`).pipe(li({threadId:r}),f(C()))}),jt(e=>Li(`Could not load the thread snapshot over HTTP; using the socket snapshot instead.`).pipe(li({threadId:r,cause:Tr(e)}),f(C()))))})})),ag=class extends Wr()(`InvalidScopedProjectKeyError`,{key:k}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},og=class extends Wr()(`InvalidScopedThreadKeyError`,{key:k}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},sg=class extends Wr()(`InvalidScopedProjectRefCollectionKeyError`,{key:k,cause:la()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},cg=ti(Nn(Ir([k,k])));function lg(e){return`${e.environmentId}\u0000${e.projectId}`}function ug(e){return`${e.environmentId}\u0000${e.threadId}`}function dg(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 fg(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function pg(e){let t=e.indexOf(`\0`);if(t<0)throw new ag({key:e});return{environmentId:we.make(e.slice(0,t)),projectId:Vi.make(e.slice(t+1))}}function mg(e){let t;try{t=cg(JSON.parse(e))}catch(t){throw new sg({key:e,cause:t})}return t.map(([e,t])=>({environmentId:we.make(e),projectId:Vi.make(t)}))}function hg(e){let t=e.indexOf(`\0`);if(t<0)throw new og({key:e});return{environmentId:we.make(e.slice(0,t)),threadId:He.make(e.slice(t+1))}}function gg(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function _g(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function vg(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var yg=An(It(Ui,e=>e.createdAt),It(Ui,e=>e.id)),bg=It(Ze,e=>e.checkpointTurnCount??2**53-1),xg=Cn([It(Ze,e=>e.sequence??2**53-1),It(Ui,e=>e.createdAt),It(Ui,e=>e.id)]),Sg=new WeakMap;function Cg(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 wg(e,t){let n=Tg(Eg(e),t);return n.kind===`updated`?{kind:`updated`,thread:Eg(n.thread)}:n}function Tg(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,scheduledTaskId:t.payload.scheduledTaskId??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;if(n===null||n.turnId!==t.payload.turnId){let n=Ag(e.unfinishedTurns,t.payload.turnId,`interrupted`);return n===e.unfinishedTurns?{kind:`unchanged`}:{kind:`updated`,thread:{...e,unfinishedTurns:n,updatedAt:t.occurredAt}}}return{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):et(e.messages,n),i=t.payload.turnId!==null&&e.session?.status===`running`&&e.session.activeTurnId===t.payload.turnId,a=!t.payload.streaming&&!i,o=jg(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?Mg(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=Dg(t.payload.session.status),r=jg(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=er(e.proposedPlans,Mn(e=>e.id!==n.id),et(n),Yi(yg));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=er(e.checkpoints,Mn(e=>e.turnId!==n.turnId),et(n),Yi(bg)),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:Og(e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.state:kg(e,t.payload.turnId),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=er(e.checkpoints,Mn(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount),Yi(bg)),r=new Set(Ei(n,e=>e.turnId)),i=Ng(e.messages,r),a=er(e.proposedPlans,Mn(e=>e.turnId===null||r.has(e.turnId))),o=er(e.activities,Mn(e=>e.turnId===null||r.has(e.turnId))),s=n.at(-1)??null,c=e.unfinishedTurns?.filter(e=>r.has(e.turnId));return{kind:`updated`,thread:{...e,checkpoints:n,messages:i,proposedPlans:a,activities:o,...c===void 0?{}:{unfinishedTurns:c},latestTurn:s===null?null:{turnId:s.turnId,state:Og(kg(e,s.turnId),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=Cg(n),i=Sg.get(e.activities),a=e.activities.at(-1);if(!r&&i!==void 0&&(a===void 0||xg(a,n)<=0)&&!i.has(n.id)){let r=et(e.activities,n);return Sg.delete(e.activities),i.add(n.id),Sg.set(r,i),{kind:`updated`,thread:{...e,activities:r,updatedAt:t.occurredAt}}}let o=er(e.activities,Mn(e=>e.id!==n.id&&!(r&&e.turnId===n.turnId&&Cg(e))),et(n),Yi(xg));return Sg.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 Eg(e){let t=e.unfinishedTurns,n=e.latestTurn;if(n===null)return e;let r=n.state===`interrupted`||n.state===`error`?n.state:null,i=t?.find(e=>e.turnId===n.turnId);return(r===null?i===void 0:i?.state===r)?e:{...e,unfinishedTurns:r===null?t?.filter(e=>e.turnId!==n.turnId):Ag(t,n.turnId,r)}}function Dg(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 Og(e,t){return e===`completed`||e===`interrupted`||e===`error`?e:t===`error`?`error`:`completed`}function kg(e,t){return e.unfinishedTurns?.find(e=>e.turnId===t)?.state}function Ag(e,t,n){return e===void 0?[{turnId:t,state:n}]:e.some(e=>e.turnId===t&&e.state===n)?e:[...e.filter(e=>e.turnId!==t),{turnId:t,state:n}]}function jg(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 Mg(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 Ng(e,t){return Mn(e,e=>e.role===`system`||e.turnId===null?!0:t.has(e.turnId))}var Pg=5*6e4,Fg={data:C(),status:`empty`,error:C(),page:C()};function Ig(e){return Me(e.page,{onNone:()=>!1,onSome:e=>e.hasMore})}var Lg=1440*60*1e3;function Rg(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 zg(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 Bg(e,t){return!(e.hasPendingApprovals||e.hasPendingUserInput||Rg(e,t))}function Vg(e,t){if(e.snoozedUntil==null)return!1;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)||n<=Date.parse(t.now)?!1:!zg(e)}function Hg(e,t){if(e.snoozedUntil==null)return null;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)?null:zg(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 Ug=3600*1e3,Wg=18,Gg=9;function Kg(e){return e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function qg(e,t){let n=new Date(e);return n.setHours(t,0,0,0),n}function Jg(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function Yg(e){let t=new Date(e.getTime()+Ug),n=new Date(e.getTime()+3*Ug),r=[{id:`hour`,label:`In 1 hour`,whenLabel:Kg(t),snoozedUntil:t.toISOString()},{id:`three-hours`,label:`In 3 hours`,whenLabel:Kg(n),snoozedUntil:n.toISOString()}],i=qg(e,Wg);i.getTime()-e.getTime()>Ug&&r.push({id:`evening`,label:`This evening`,whenLabel:Kg(i),snoozedUntil:i.toISOString()});let a=qg(Jg(e,1),Gg);r.push({id:`tomorrow`,label:`Tomorrow`,whenLabel:Kg(a),snoozedUntil:a.toISOString()});let o=qg(Jg(e,(1-e.getDay()+7)%7||7),Gg);return o.getTime()!==a.getTime()&&r.push({id:`next-week`,label:`Next week`,whenLabel:`${o.toLocaleDateString(void 0,{weekday:`short`})} ${Kg(o)}`,snoozedUntil:o.toISOString()}),r}function Xg(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<Ug?`${Math.max(1,Math.ceil(i/6e4))}m`:i<Lg?`${Math.ceil(i/Ug)}h`:`${Math.ceil(i/Lg)}d`}function Zg(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function Qg(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=Bg(e,{now:Zg(i.archivedAt)??e.updatedAt});return[{...e,...typeof i.title==`string`?{title:i.title}:{},...typeof i.archived==`boolean`&&(!i.archived||a)?{archivedAt:i.archived?Zg(i.archivedAt):null}:{},...typeof i.settled==`boolean`&&(!i.settled||a)?{settledOverride:i.settled?`settled`:`active`,settledAt:i.settled?Zg(i.settledAt):null,...i.settled?{}:{unsettledAt:Zg(i.unsettledAt)}}:{},...(i.snoozedUntil===null||typeof i.snoozedUntil==`string`)&&(i.snoozedUntil===null||a)?{snoozedUntil:i.snoozedUntil,snoozedAt:i.snoozedUntil===null?null:Zg(i.snoozedAt)}:{},...typeof i.pinned==`boolean`?{pinnedAt:i.pinned?Zg(i.pinnedAt):null,pinOrderKey:i.pinned&&typeof i.pinOrderKey==`string`?i.pinOrderKey:null}:{}}]});return r?i:e}function $g(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function e_(e,t){let n=t.payload;switch(t.type){case`thread.archive`:return Bg(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 Bg(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 Bg(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 t_(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(e_,e);return r||=i!==e,i});return r?i:e}var n_=Object.freeze([]),r_=new Set,i_=Object.freeze([]),a_=new Map,o_=new Map;function s_(e,t,n,r=r_){if(n.size===0&&r.size===0)return t;let i=t.filter(t=>!n.has(ug({environmentId:e,threadId:t.id}))&&!r.has(t.id));return i.length===t.length?t:i}function c_(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=Th(e,n),r.set(e,i)),i},r=z(t=>R(n=>{let r=n(e.snapshotAtom(t))?.threads??n_,i=e.pendingCloudActionsAtom?t_(r,n(e.pendingCloudActionsAtom)):r;return s_(t,e.canonicalThreadStatesAtom?Qg(i,n(e.canonicalThreadStatesAtom)):i,e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):r_,e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):r_)}).pipe(B(`environment-threads:${t}`))),i=z(e=>R(t=>{let n=t(r(e));return n.length===0?a_:new Map(n.map(e=>[e.id,e]))}).pipe(B(`environment-thread-index:${e}`))),a=z(e=>{let t=[];return R(n=>{let i=n(r(e)).map(t=>({environmentId:e,threadId:t.id}));return _g(t,i)?t:(t=i,i)}).pipe(B(`environment-thread-refs:${e}`))}),o=z(e=>{let t=o_;return R(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=o_,t;let a=new Map;for(let[e,n]of i){let r=t.get(e);a.set(e,r!==void 0&&_g(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(B(`environment-thread-refs-by-project:${e}`))}),s=z(e=>{let t=hg(e);return R(e=>{let r=e(i(t.environmentId)).get(t.threadId)??null;return r===null?null:n(t.environmentId,r)}).pipe(B(`environment-thread-shell:${e}`))}),c=z(e=>{let t=mg(e),r=[];return R(e=>{let a=[],s=new Set;for(let r of t){let t=e(o(r.environmentId)).get(r.projectId)??i_;if(t.length===0)continue;let c=e(i(r.environmentId));for(let e of t){let t=ug(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 vg(r,a)||(r=a),r}).pipe(B(`environment-thread-shells-for-projects:${e}`))}),l=[],u=R(t=>{let n=[];for(let r of t(e.catalogValueAtom).entries.keys())n.push(...t(a(r)));return _g(l,n)?l:(l=n,n)}).pipe(B(`environment-thread-refs`)),d=[];return{environmentThreadsAtom:r,environmentThreadIndexAtom:i,environmentThreadRefsAtom:a,environmentThreadRefsByProjectAtom:o,threadRefsAtom:u,threadShellsAtom:R(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 vg(d,i)||(d=i),d}).pipe(B(`environment-thread-shell-list`)),threadShellsForProjectRefsAtom:e=>c(fg(e)),threadShellAtom:e=>s(ug(e))}}var l_=``,u_=new Set;function d_(e){return e.length===0?[]:er(e.split(l_),Ei(e=>we.make(e)))}function f_(e){return z(t=>R(n=>{let r=[],i=null,a=!1;for(let o of d_(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=ye(_s(t));if(s!==null){let t=e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):u_,i=e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):u_,a=s_(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(B(`${e.labelPrefix}:${t}`)))}function p_(e){return M(function*(){return e.commandId===void 0?yield*(yield*ko).randomUUIDv4.pipe(ce,j(mn.make)):e.commandId})}function m_(e){return he({commandId:p_(e),createdAt:e.createdAt===void 0?ir.pipe(j(Sa)):F(e.createdAt)})}function X(e){return Yp(fr.dispatchCommand,e)}var h_=S(`EnvironmentCommands.createProject`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`project.create`,commandId:t.commandId,createdAt:t.createdAt})}),g_=S(`EnvironmentCommands.updateProject`)(function*(e){return yield*X({...e,type:`project.meta.update`,commandId:yield*p_(e)})}),__=S(`EnvironmentCommands.deleteProject`)(function*(e){return yield*X({...e,type:`project.delete`,commandId:yield*p_(e)})}),v_=S(`EnvironmentCommands.createThread`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.create`,commandId:t.commandId,createdAt:t.createdAt})}),y_=S(`EnvironmentCommands.deleteThread`)(function*(e){return yield*X({...e,type:`thread.delete`,commandId:yield*p_(e)})}),b_=S(`EnvironmentCommands.archiveThread`)(function*(e){return yield*X({...e,type:`thread.archive`,commandId:yield*p_(e)})}),x_=S(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*X({...e,type:`thread.unarchive`,commandId:yield*p_(e)})}),S_=S(`EnvironmentCommands.settleThread`)(function*(e){return yield*X({...e,type:`thread.settle`,commandId:yield*p_(e)})}),C_=S(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({...e,type:`thread.unsettle`,commandId:yield*p_(e)})}),w_=S(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({...e,type:`thread.snooze`,commandId:yield*p_(e)})}),T_=S(`EnvironmentCommands.publishThread`)(function*(e){return yield*X({...e,type:`thread.publish`,createdAt:e.createdAt??(yield*ir).pipe(Sa),commandId:yield*p_(e)})}),E_=S(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({...e,type:`thread.unsnooze`,commandId:yield*p_(e)})}),D_=S(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({...e,type:`thread.pin`,commandId:yield*p_(e)})}),O_=S(`EnvironmentCommands.unpinThread`)(function*(e){return yield*X({...e,type:`thread.unpin`,commandId:yield*p_(e)})}),k_=S(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({...e,type:`thread.pin.reorder`,commandId:yield*p_(e)})}),A_=S(`EnvironmentCommands.updateThreadMetadata`)(function*(e){return yield*X({...e,type:`thread.meta.update`,commandId:yield*p_(e)})}),j_=S(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.runtime-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),M_=S(`EnvironmentCommands.setThreadAgent`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.interaction-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),N_=S(`EnvironmentCommands.setThreadDesignSystem`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.design-system.set`,commandId:t.commandId,createdAt:t.createdAt})}),P_=()=>{try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return Ae(e)?e:void 0}catch{return}},F_=S(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*m_(e),n=P_();return yield*X({...e,...n?{clientTimeZone:n}:{},type:`thread.turn.start`,commandId:t.commandId,createdAt:t.createdAt})}),I_=S(`EnvironmentCommands.interruptThreadTurn`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.turn.interrupt`,commandId:t.commandId,createdAt:t.createdAt})}),L_=S(`EnvironmentCommands.compactThread`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.compact`,commandId:t.commandId,createdAt:t.createdAt})}),R_=S(`EnvironmentCommands.respondToThreadApproval`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.approval.respond`,commandId:t.commandId,createdAt:t.createdAt})}),z_=S(`EnvironmentCommands.respondToThreadUserInput`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.user-input.respond`,commandId:t.commandId,createdAt:t.createdAt})}),B_=S(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.checkpoint.revert`,commandId:t.commandId,createdAt:t.createdAt})}),V_=S(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*m_(e);return yield*X({...e,type:`thread.session.stop`,commandId:t.commandId,createdAt:t.createdAt})});function H_(e){let t=em(),n={mode:`serial`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId])};return{create:ym(e,{label:`environment-data:commands:thread:create`,execute:e=>v_(e),scheduler:t,concurrency:n}),delete:ym(e,{label:`environment-data:commands:thread:delete`,execute:e=>y_(e),scheduler:t,concurrency:n}),archive:ym(e,{label:`environment-data:commands:thread:archive`,execute:e=>b_(e),scheduler:t,concurrency:n}),unarchive:ym(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>x_(e),scheduler:t,concurrency:n}),settle:ym(e,{label:`environment-data:commands:thread:settle`,execute:e=>S_(e),scheduler:t,concurrency:n}),unsettle:ym(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>C_(e),scheduler:t,concurrency:n}),snooze:ym(e,{label:`environment-data:commands:thread:snooze`,execute:e=>w_(e),scheduler:t,concurrency:n}),publish:ym(e,{label:`environment-data:commands:thread:publish`,execute:e=>T_(e),scheduler:t,concurrency:n}),unsnooze:ym(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>E_(e),scheduler:t,concurrency:n}),pin:ym(e,{label:`environment-data:commands:thread:pin`,execute:e=>D_(e),scheduler:t,concurrency:n}),unpin:ym(e,{label:`environment-data:commands:thread:unpin`,execute:e=>O_(e),scheduler:t,concurrency:n}),reorderPin:ym(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>k_(e),scheduler:t,concurrency:n}),updateMetadata:ym(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>A_(e),scheduler:t,concurrency:n}),setRuntimeMode:ym(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>j_(e),scheduler:t,concurrency:n}),setAgent:ym(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>M_(e),scheduler:t,concurrency:n}),setDesignSystem:ym(e,{label:`environment-data:commands:thread:set-design-system`,execute:e=>N_(e),scheduler:t,concurrency:n}),startTurn:ym(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>F_(e),scheduler:t,concurrency:n}),interruptTurn:ym(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>I_(e),scheduler:t,concurrency:n}),compactThread:ym(e,{label:`environment-data:commands:thread:compact`,execute:e=>L_(e),scheduler:t,concurrency:n}),respondToApproval:ym(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>R_(e),scheduler:t,concurrency:n}),respondToUserInput:ym(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>z_(e),scheduler:t,concurrency:n}),revertCheckpoint:ym(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>B_(e),scheduler:t,concurrency:n}),stopSession:ym(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>V_(e),scheduler:t,concurrency:n}),uploadFeedback:Sm(e,{label:`environment-data:commands:thread:upload-feedback`,tag:O.providerUploadFeedback,scheduler:t,concurrency:n}),continueSharedChat:Sm(e,{label:`environment-data:commands:thread:continue-shared-chat`,tag:fr.continueSharedChat}),continueImportedThread:Sm(e,{label:`environment-data:commands:thread:continue-imported-thread`,tag:fr.continueImportedThread})}}function U_(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 W_(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:Ye.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function G_(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(im(t))e.onUpdate({...e.submission,status:`interrupted`});else{let n=am(t);e.onUpdate({...e.submission,status:`failed`,errorMessage:n instanceof Error?n.message:`An error occurred.`})}return t}var K_=Object.freeze([]),q_=Object.freeze([]),J_=Object.freeze([]),Y_=Object.freeze([]);function X_(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,scheduledTaskId:t.scheduledTaskId??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 Z_(e){let t=z(t=>{let n=hg(t);return R(t=>Ot(_s(t(e(n.environmentId,n.threadId))),()=>Fg)).pipe(Ks(Pg),B(`environment-thread-state-value:${t}`))}),n=z(e=>{let n=hg(e),r=null,i=null;return R(a=>{let o=ye(a(t(e)).data);return o===r?i:(r=o,i=o===null?null:Eh(n.environmentId,o),i)}).pipe(Ks(Pg),B(`environment-thread-detail:${e}`))}),r=z(e=>R(n=>n(t(e)).status).pipe(Ks(Pg),B(`environment-thread-status:${e}`))),i=z(e=>R(n=>ye(n(t(e)).error)).pipe(Ks(Pg),B(`environment-thread-error:${e}`))),a=z(e=>R(t=>t(n(e))?.messages??K_).pipe(Ks(Pg),B(`environment-thread-messages:${e}`))),o=z(e=>R(t=>t(n(e))?.activities??q_).pipe(Ks(Pg),B(`environment-thread-activities:${e}`))),s=z(e=>R(t=>t(n(e))?.proposedPlans??J_).pipe(Ks(Pg),B(`environment-thread-proposed-plans:${e}`))),c=z(e=>R(t=>t(n(e))?.checkpoints??Y_).pipe(Ks(Pg),B(`environment-thread-checkpoints:${e}`))),l=z(e=>R(t=>t(n(e))?.session??null).pipe(Ks(Pg),B(`environment-thread-session:${e}`))),u=z(e=>R(t=>t(n(e))?.latestTurn??null).pipe(Ks(Pg),B(`environment-thread-latest-turn:${e}`)));return{stateAtom:e=>t(ug(e)),detailAtom:e=>n(ug(e)),statusAtom:e=>r(ug(e)),errorAtom:e=>i(ug(e)),messagesAtom:e=>a(ug(e)),activitiesAtom:e=>o(ug(e)),proposedPlansAtom:e=>s(ug(e)),checkpointsAtom:e=>c(ug(e)),sessionAtom:e=>l(ug(e)),latestTurnAtom:e=>u(ug(e))}}function Q_(e){return g(e)?`cached`:`empty`}function $_(e){return e===void 0?C():w({beforeCursor:e.beforeCursor,hasMore:e.hasMore,loadingOlder:!1})}function ev(){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 tv=ev(),nv=class extends va(`@borgtools/client-runtime/state/threads/ThreadOlderTurnRequests`,{defaultValue:()=>tv}){};function rv(e,t){return tv.request(ug({environmentId:e,threadId:t}))}function iv(e){let t=ki(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function av(e){let t=e.session?.status;return t!==`starting`&&t!==`running`}var ov=S(`EnvironmentThreadState.make`)(function*(e){let t=yield*Lp,n=yield*Od,i=yield*rg,a=yield*r(Sp),o=t.target.environmentId,s=yield*n.loadThread(o,e).pipe($a(t=>Li(`Could not load cached thread.`).pipe(li({environmentId:o,threadId:e,error:t.message}),f(C())))),c=ln(s,e=>e.thread),l=yield*Zo({data:c,status:Q_(c),error:C(),page:ai(s,e=>$_(e.page))}),u=yield*Zo(Me(s,{onNone:()=>0,onSome:e=>e.snapshotSequence})),d=yield*no(!1),p=yield*no(0),m=yield*Zi(1),h=yield*no(!1),_=yield*no(null),v=yield*_a(1),y=S(`EnvironmentThreadState.persist`)(function*(t){yield*n.saveThread(o,t).pipe($a(t=>Li(`Could not persist the thread cache.`).pipe(li({environmentId:o,threadId:e,error:t.message}))))});yield*dt(v).pipe(tr(`500 millis`),gn(y),D);let ee=ts(l,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:C()}),te=ts(l,e=>e.status===`live`||e.status===`deleted`?e:{...e,status:`synchronizing`,error:C()}),ne=M(function*(){yield*Do(d,!1),yield*Do(h,!1),yield*ts(l,e=>({...e,status:e.status===`deleted`?e.status:Q_(e.data)}))}),re=e=>Do(d,!1).pipe(b(ts(l,t=>({...t,status:t.status===`deleted`?t.status:Q_(t.data),error:w(iv(e))})))),ie=S(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*vo(d);if(yield*ts(l,r=>({data:w(e),status:n?`synchronizing`:`live`,error:C(),page:t===`keep`?r.page:t})),av(e)){let t=yield*L(u),n=yield*L(l).pipe(j(e=>e.page));yield*bi(v,{snapshotSequence:t,thread:e,...Me(n,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})})}}),ae=S(`EnvironmentThreadState.setDeleted`)(function*(){yield*Do(d,!1),yield*wo(p,e=>e+1),yield*es(l,{data:C(),status:`deleted`,error:C(),page:C()}),yield*n.removeThread(o,e).pipe($a(t=>Li(`Could not remove the cached thread.`).pipe(li({environmentId:o,threadId:e,error:t.message}))))}),oe=S(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*Do(d,!1),yield*ts(l,e=>g(e.data)&&e.status!==`deleted`?{...e,status:`live`,error:C()}:e);return}if(e.kind===`snapshot`){yield*wo(p,e=>e+1),yield*es(u,e.snapshot.snapshotSequence),yield*ie(e.snapshot.thread,$_(e.snapshot.page));return}let t=yield*L(u);if(e.event.sequence<=t)return;yield*es(u,e.event.sequence);let n=yield*L(l);if(Xa(n.data)){e.event.type===`thread.deleted`&&(yield*ae());return}e.event.type===`thread.reverted`&&(yield*wo(p,e=>e+1));let r=wg(n.data.value,e.event);r.kind===`updated`?yield*ie(r.thread,`keep`):r.kind===`deleted`&&(yield*ae()),yield*se()}),se=S(`EnvironmentThreadState.tryMergePendingOlderPage`)(function*(){let e=yield*vo(_);if(e===null)return;if((yield*vo(p))!==e.epoch){yield*Do(_,null),yield*ts(l,e=>({...e,page:ln(e.page,e=>({...e,loadingOlder:!1}))}));return}let t=e.snapshot.page?.threadSequence,n=yield*L(u);t!==void 0&&t>n||(yield*Do(_,null),yield*ue(e.snapshot))}),ce=S(`EnvironmentThreadState.applyItem`)(function*(e){yield*m.withPermits(1)(oe(e))}),ue=S(`EnvironmentThreadState.mergeOlderPage`)(function*(e){let t=null;if(yield*ts(l,n=>{if(Xa(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:w(t),page:$_(e.page)}}),t!==null&&av(t)){let n=yield*L(u);yield*bi(v,{snapshotSequence:n,thread:t,...e.page===void 0?{}:{page:{...e.page,snapshotSequence:n}}})}}),de=S(`EnvironmentThreadState.loadOlderTurns`)(function*(){if(!(yield*vo(h)))return;let n=ye((yield*L(l)).page);if(n===null||n.loadingOlder||!n.hasMore||n.beforeCursor===null)return;let r=ye(yield*L(t.prepared));if(r===null)return;let a=yield*vo(p);yield*ts(l,e=>({...e,page:ln(e.page,e=>({...e,loadingOlder:!0}))}));let o={turnLimit:20,beforeCursor:n.beforeCursor},s=yield*i.load(r,e,o);yield*m.withPermits(1)(M(function*(){let e=yield*vo(p),t=yield*L(u),n=e!==a||Me(s,{onNone:()=>!1,onSome:e=>e.snapshotSequence<t});if(Xa(s)||n){yield*ts(l,e=>({...e,page:ln(e.page,e=>({...e,loadingOlder:!1}))}));return}let r=s.value.page?.threadSequence;if(r!==void 0&&r>t){yield*Do(_,{snapshot:s.value,epoch:e});return}yield*ue(s.value)}))});yield*Qo(t.state).pipe(gn(e=>{switch(nd(e)){case`synchronizing`:return ee;case`disconnected`:return ne;case`ready`:return te}}),D);let fe=Me(a,{onNone:()=>Za,onSome:e=>e.changes.pipe(le(xp))});yield*ee,yield*D(Zp(fr.subscribeThread,S(`EnvironmentThreadState.makeSubscribeInput`)(function*(n){let r=yield*n.initialConfig.pipe(Ct(()=>({}))),a=r.threadResumeCompletionMarker===!0,o=r.threadSnapshotPagination===!0;yield*Do(h,o),yield*Do(d,a),yield*ee;let s=yield*L(l);if(!o&&g(s.page)&&(yield*wo(p,e=>e+1),yield*ts(l,e=>({...e,data:C(),status:e.status===`deleted`?e.status:`empty`,page:C()})),yield*es(u,0),s=yield*L(l)),Xa(s.data)&&s.status!==`deleted`){let n=yield*L(t.prepared).pipe(T(Me({onSome:F,onNone:()=>Qo(t.prepared).pipe(le(g),be(e=>e.value),Qe,j(ze))}))),r=yield*i.load(n,e,o?{turnLimit:10}:void 0);g(r)&&(yield*ce({kind:`snapshot`,snapshot:r.value}),s=yield*L(l))}let c=yield*L(u),f=g(s.data);return!a&&f&&(yield*ts(l,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:C()}))),{threadId:e,...f?{afterSequence:c}:{},...a?{requestCompletionMarker:!0}:{},...o?{turnLimit:10}:{}}}),{onExpectedFailure:re,retryExpectedFailureAfter:`250 millis`,resubscribe:fe}).pipe(gn(ce)));let pe=yield*nv,me=yield*_a(1);yield*dt(me).pipe(gn(()=>de()),D);let ge=pe.register(ug({environmentId:o,threadId:e}),()=>{Mr(me,void 0)});return yield*$t(()=>P(ge)),yield*$t(()=>he([L(l),L(u)]).pipe(T(([e,t])=>Me(e.data,{onNone:()=>A,onSome:n=>av(n)?y({snapshotSequence:t,thread:n,...Me(e.page,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})}):A})))),l});function sv(e,t){return gm(e,br(ov(t).pipe(j(Qo))))}function cv(e){let t=z(t=>{let{environmentId:n,threadId:r}=hg(t);return e.atom(sv(n,r),{initialValue:Fg}).pipe(Ks(Pg),B(`environment-thread-state:${t}`))});return{stateAtom:(e,n)=>t(ug({environmentId:e,threadId:n}))}}var lv=6e4,uv=S(`clientRuntime.state.fetchEnvironmentPullRequestDiff`)(function*(e){let t=xo(e.prepared.httpBaseUrl).pullRequests.diff(),n=yield*ro(e.prepared.httpBaseUrl),r=yield*vh(e.prepared.httpAuthorization,`POST`,t,e.signer);return yield*So(t,e.timeoutMs??lv,_h(e.prepared.httpAuthorization,n.pullRequests.diff({payload:e.diff,headers:r})))}),dv=class extends I()(`@borgtools/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},fv=Xn(dv,M(function*(){let e=yield*_o,t=yield*r(tf);return dv.of({load:(n,r)=>uv({prepared:n,diff:r,signer:t}).pipe(x(_o,e))})})),pv=class extends at(`EnvironmentHttpConnectionNotReadyError`){};function mv(e){return bm(e,{label:`environment-data:pull-requests:linked-detail`,tag:O.pullRequestsDetail,staleTimeMs:15e3,refreshIntervalMs:3e4})}function hv(e){return{number:e.number,title:e.title,url:e.url,baseRef:e.baseBranch,headRef:e.headBranch,state:e.state,updatedAt:e.updatedAt}}function gv(e){let t=em(),n={mode:`serial`,key:({environmentId:e})=>e},r=bm(e,{label:`environment-data:pull-requests:activity`,tag:O.pullRequestsActivity,staleTimeMs:15e3});return{list:bm(e,{label:`environment-data:pull-requests:list`,tag:O.pullRequestsList,staleTimeMs:3e4}),listStats:bm(e,{label:`environment-data:pull-requests:list-stats`,tag:O.pullRequestsListStats,staleTimeMs:6e4}),detail:bm(e,{label:`environment-data:pull-requests:detail`,tag:O.pullRequestsDetail,staleTimeMs:15e3}),activity:r,threadComments:Sm(e,{label:`environment-data:pull-requests:thread-comments`,tag:O.pullRequestsThreadComments,scheduler:t,concurrency:{mode:`singleFlight`,key:({environmentId:e,input:t})=>JSON.stringify([e,t.threadId,t.cursor])}}),diff:_m(e,{label:`environment-data:pull-requests:diff`,staleTimeMs:6e4,execute:e=>M(function*(){let t=yield*Lp,n=yield*dv,r=yield*L(t.prepared);return Xa(r)?yield*new pv({message:`The environment HTTP connection is not ready.`}):yield*n.load(r.value,e)})}),diffFileContents:Sm(e,{label:`environment-data:pull-requests:diff-file-contents`,tag:O.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:Sm(e,{label:`environment-data:pull-requests:run-action`,tag:O.pullRequestsRunAction,scheduler:t,concurrency:n}),update:Sm(e,{label:`environment-data:pull-requests:update`,tag:O.pullRequestsUpdate,scheduler:t,concurrency:n}),comment:Sm(e,{label:`environment-data:pull-requests:comment`,tag:O.pullRequestsComment,scheduler:t,concurrency:n}),updateComment:Sm(e,{label:`environment-data:pull-requests:update-comment`,tag:O.pullRequestsUpdateComment,scheduler:t,concurrency:n,onSuccess:({environmentId:e,input:{projectId:t,repository:n,number:i}},a)=>P(()=>a.refresh(r({environmentId:e,input:{projectId:t,repository:n,number:i}})))}),submitReview:Sm(e,{label:`environment-data:pull-requests:submit-review`,tag:O.pullRequestsSubmitReview,scheduler:t,concurrency:n}),replyToThread:Sm(e,{label:`environment-data:pull-requests:reply-to-thread`,tag:O.pullRequestsReplyToThread,scheduler:t,concurrency:n}),reviewerCandidates:bm(e,{label:`environment-data:pull-requests:reviewer-candidates`,tag:O.pullRequestsReviewerCandidates,staleTimeMs:6e4}),requestReviewers:Sm(e,{label:`environment-data:pull-requests:request-reviewers`,tag:O.pullRequestsRequestReviewers,scheduler:t,concurrency:n}),setThreadResolution:Sm(e,{label:`environment-data:pull-requests:set-thread-resolution`,tag:O.pullRequestsSetThreadResolution,scheduler:t,concurrency:n}),setReaction:Sm(e,{label:`environment-data:pull-requests:set-reaction`,tag:O.pullRequestsSetReaction,scheduler:t,concurrency:n}),invalidate:Sm(e,{label:`environment-data:pull-requests:invalidate`,tag:O.pullRequestsInvalidate,scheduler:t,concurrency:n})}}function _v(){return`https://api.getborg.com`}function vv(e){return e}function yv(){let e=new Set,t=new Set,n=()=>{for(let e of Array.from(t))e()};return{markReady:t=>{e.has(t)||(e.add(t),n())},markNotReady:t=>{e.delete(t)&&n()},isReady:t=>e.has(t),readyIds:()=>[...e],subscribe:e=>(t.add(e),()=>{t.delete(e)})}}function bv(){let e=0,t=!1;return{get generation(){return e},get closed(){return t},close:()=>{e+=1,t=!0},open:()=>t?(e+=1,t=!1,!0):!1}}function xv(e,t){let n=e.generation;return e=>t({...e,accountGeneration:n})}var Sv=(e,t)=>t===void 0?e:{generation:t};function Cv(e,t){let n=e.generation;return(...e)=>t({generation:n},...e)}function wv(e){let t=e.account??bv(),n=[],r=null,i=t=>t===void 0?e.defaultTarget():e.isReady(t)?t:void 0,a=(t,n)=>{try{return Promise.resolve(e.send(t,n)).then(()=>void 0,()=>void 0)}catch{return Promise.resolve()}},o=t=>{let r=i(t.target);return r===void 0?(n=[...n,t],n.length>e.capacity&&(n=n.slice(n.length-e.capacity)),Promise.resolve()):a(r,t.event)};return{record(n,i,a){let s=a?.generation??t.generation;return s===t.generation?t.closed?(e.holdWhileClosed?.(n)===!0&&(r={event:n,target:i??void 0}),Promise.resolve()):o({event:n,target:i??void 0,generation:s}):Promise.resolve()},flush:()=>{if(n.length===0)return;let e=n;n=[];for(let r of e){if(t.closed||r.generation!==t.generation)continue;let e=i(r.target);e===void 0?n.push(r):a(e,r.event)}},get generation(){return t.generation},closeAfterSignOut(){t.close(),n=[],r=null},reopen(){if(!t.open())return;let e=r;r=null,e!==null&&o({event:e.event,target:e.target,generation:t.generation})},get heldCount(){return n.length}}}function Tv(e,t){return new Promise(n=>{let r=setTimeout(n,t);Promise.resolve(e).then(()=>{clearTimeout(r),n()},()=>{clearTimeout(r),n()})})}function Ev(e){let t=new Map;return(n,r)=>{let i=t.get(n);for(t.delete(n),t.set(n,r);t.size>e.capacity;){let e=t.keys().next().value;if(e===void 0)break;t.delete(e)}return i===void 0||r-i>=e.windowMs}}var Dv=2e3,Ov=(e,t)=>`${t}:${[...e].toSorted().join(`,`)}`,kv=class extends va(`@borgtools/client-runtime/searchAtlas/credentialSync/CredentialSyncObserver`,{defaultValue:()=>({synced:()=>void 0,unsynced:()=>void 0})}){},Av=e=>typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`SearchAtlasCredentialRejectedError`,jv=(e,t,n)=>e.run(t,g(n)?Yp(O.searchAtlasSetCredential,n.value):Yp(O.searchAtlasClearCredential,{})).pipe(f(`accepted`),jt(e=>{let n=rn(e);return g(n)&&Av(n.value)?Li(`Search Atlas credential push was refused`,{environmentId:t,cause:e}).pipe(f(`refused`)):gr(`Search Atlas credential push did not land`,{environmentId:t,cause:e}).pipe(f(`unreachable`))})),Mv=ra(M(function*(){let e=yield*Hp,t=yield*Yf,n=yield*kv,r=(e,t)=>P(()=>{try{t?n.synced(e):n.unsynced(e)}catch{}}),i=yield*_a(1),a=()=>Mr(i,void 0),o=e=>e.target._tag!==`BearerConnectionTarget`,s=0,c=new Map,l=e=>c.get(e)??0,u=e=>c.set(e,l(e)+1),f=(t,n,i,a)=>jv(e,t,n).pipe(T(e=>e===`accepted`&&i===s&&a===l(t)?r(t,!0):A)),p=M(function*(){let n=s,r=yield*t.current;yield*xr([...(yield*L(e.entries)).entries()].filter(([,e])=>o(e)).map(([e])=>[e,l(e)]),([e,t])=>f(e,r,n,t),{concurrency:`unbounded`,discard:!0})}).pipe(nr(`searchAtlas.credentialSync.push`));yield*dt(i).pipe(gn(()=>p),D);let m=new Map,h=n=>e.stateChanges(n).pipe(be(e=>e.phase===`connected`),Bn,gn(i=>M(function*(){if(u(n),!i)return yield*r(n,!1);let a=l(n),c=(yield*L(e.entries)).get(n);if(!c)return;if(!o(c))return yield*r(n,!0);let d=s;yield*t.current.pipe(T(e=>f(n,e,d,a)),Ti)})),Qi),g=M(function*(){let t=yield*L(e.entries);for(let[e,n]of m)t.has(e)||(m.delete(e),u(e),yield*Qr(n),yield*r(e,!1));for(let e of t.keys())m.has(e)||m.set(e,yield*D(h(e)))});yield*g,yield*Qo(e.entries).pipe(gn(()=>g),D),yield*t.changes.pipe(gn(()=>M(function*(){s+=1;let t=yield*L(e.entries);for(let[e,n]of t)o(n)&&(yield*r(e,!1));a()})),D);let _=Br(30);yield*M(function*(){(yield*L(e.entries)).size!==0&&(yield*t.current.pipe(Qi))}).pipe(ve(d(_)),D),yield*P(a)})),Nv=e=>Bi(kv,kv.of({synced:e.markReady,unsynced:e.markNotReady}));function Pv(e,t){return{start:(n,r)=>Cv(Sv(e,r.accountGeneration),(e,n)=>t(n,e))}}var Fv=yv(),Iv=bv(),Lv=Mv.pipe(yr(Nv(Fv))),Rv=Ni([`configured`,`window-origin`,`desktop-managed`]),zv=Ni([`http-base-url`,`websocket-base-url`,`development-server-url`,`window-location-url`]),Bv=class extends Wr()(`PrimaryEnvironmentUrlInvalidError`,{source:Rv,urlKind:zv,cause:la()}){get message(){return`Could not parse ${this.urlKind} for the ${this.source} primary environment target.`}},Vv=class extends Wr()(`PrimaryEnvironmentProtocolUnsupportedError`,{source:Rv,protocol:k}){get message(){return`The ${this.source} primary environment target uses unsupported protocol ${this.protocol}.`}},Hv=class extends Wr()(`DesktopEnvironmentBootstrapIncompleteError`,{hasHttpBaseUrl:Pt,hasWsBaseUrl:Pt}){get message(){return`Desktop bootstrap is missing ${[...this.hasHttpBaseUrl?[]:[`httpBaseUrl`],...this.hasWsBaseUrl?[]:[`wsBaseUrl`]].join(` and `)} for the local environment.`}};ot(Bv),ot(Vv),ot(Hv);var Uv=new Set([`127.0.0.1`,`::1`,`localhost`]);function Wv(){return(window.desktopBridge?.getLocalEnvironmentBootstraps()??[]).find(e=>e.id===`primary`)??null}function Gv(e){try{return e.baseUrl===void 0?new URL(e.rawValue):new URL(e.rawValue,e.baseUrl)}catch(t){throw new Bv({source:e.source,urlKind:e.urlKind,cause:t})}}function Kv(e,t,n){return Gv({rawValue:e,baseUrl:window.location.origin,source:t,urlKind:n}).toString()}function qv(e){return e.trim().toLowerCase().replace(/^\[(.*)\]$/,`$1`)}function Jv(e){return Uv.has(qv(e))}function Yv(e){return e.target.httpBaseUrl}function Xv(){return null}function Zv(){let e=Gv({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 Vv({source:`window-origin`,protocol:e.protocol});return{source:`window-origin`,target:{httpBaseUrl:t,wsBaseUrl:e.toString()}}}function Qv(){let e=Wv();if(!e||!e.httpBaseUrl&&!e.wsBaseUrl)return null;if(!e.httpBaseUrl||!e.wsBaseUrl)throw new Hv({hasHttpBaseUrl:!!e.httpBaseUrl,hasWsBaseUrl:!!e.wsBaseUrl});return{source:`desktop-managed`,target:{httpBaseUrl:Kv(e.httpBaseUrl,`desktop-managed`,`http-base-url`),wsBaseUrl:Kv(e.wsBaseUrl,`desktop-managed`,`websocket-base-url`)}}}function $v(e,t){let n=ey(),r=new URL(ao(Yv(n),e));return t&&(r.search=new URLSearchParams(t).toString()),r.toString()}function ey(){return Qv()??Xv()??Zv()}var ty=class extends I()(`@borgtools/web/environments/primary/httpClient/PrimaryEnvironmentHttpClient`){},ny=Xn(ty,Di(()=>ro($v(`/`)))),ry=null;function iy(){if(typeof window>`u`)return Promise.resolve(null);let e=window.desktopBridge;return e?(ry??=e.getLocalEnvironmentBearerToken().catch(e=>{throw ry=null,e}),ry):Promise.resolve(null)}function ay(){return typeof window>`u`||window.desktopBridge!==void 0||!window.location.origin.startsWith(`http`)?!1:new URL($v(`/`)).origin===window.location.origin}function oy(e){return e.pipe(so(e=>ii(iy).pipe(j(t=>t?ui(e,t):e))))}function sy(){return qr(P(()=>{let e=lo(globalThis.fetch);return ay()?yi(e,Bi(uo,{credentials:`include`})):yi(Xn(_o,j(_o,oy)).pipe(yr(e)),Bi(uo,{credentials:`omit`}))}))}var cy=sy(),ly=lo((e,t)=>globalThis.fetch(e,t)),uy=Bi(ko,Ao({randomBytes:e=>globalThis.crypto.getRandomValues(new Uint8Array(e)),digest:(e,t)=>ii(async()=>{let n=new Uint8Array(t.length);return n.set(t),new Uint8Array(await globalThis.crypto.subtle.digest(e,n.buffer))})}));Ro(ly);var dy=Ro(ny.pipe(yr(cy))),fy=e=>dy.runPromise(e),py=e=>fy(e),my=Pi(Ro(ha(ly,uy,Jt)).contextEffect),hy=`borg.backgroundActivity.clientId`,gy=25e3,_y=45e3,vy=_y,yy=[{type:`provider-status`}],by=new Map,xy=new Set;function Sy(){for(let e of xy)try{e()}catch{}}function Cy(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 wy(){try{let e=window.localStorage.getItem(hy);if(e)return e;let t=bo();return window.localStorage.setItem(hy,t),t}catch{return`ephemeral-browser-client`}}function Ty(){return window.desktopBridge?`desktop-renderer`:`web`}function Ey(e,t){return e<=t&&t-e<=vy}function Dy(e,t,n){let r=[...yy];for(let t of by.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:wy(),clientKind:Ty(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:Ey(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:_y,observedAt:Ka(n)}}function Oy(e){if(e.method===O.subscribeResourceTelemetry)return{type:`diagnostics`};if(e.method!==O.subscribeVcsStatus)return null;let t=e.input;return typeof t.cwd==`string`?{type:`vcs-status`,cwd:t.cwd}:null}function ky(e,t){let n=Cy(e,t),r=by.get(n);return r?r.refCount+=1:(by.set(n,{environmentId:e,scope:t,refCount:1}),Sy()),()=>{let e=by.get(n);e&&(--e.refCount,e.refCount<=0&&(by.delete(n),Sy()))}}function Ay(e){let t=Oy(e);return t===null?F(A):P(()=>P(ky(e.environmentId,t)))}var jy=Bi(Kp,Kp.of({observe:Ay})),My=ra(M(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*Hp,t=yield*At,n=yield*_a(1),r=()=>Mr(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=Ey(i,e);i=e,n||r()},o={passive:!0},s=M(function*(){let t=yield*xe;yield*xr((yield*L(e.entries)).keys(),n=>e.run(n,Yp(O.serverReportClientActivity,Dy(n,i,t))).pipe(Qi),{concurrency:`unbounded`,discard:!0})}).pipe(nr(`web.backgroundActivity.report`));yield*oe(P(()=>{xy.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)}),()=>P(()=>{xy.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*Qo(e.entries).pipe(gn(()=>P(r)),D),yield*dt(n).pipe(tr(`250 millis`),gn(()=>s),D),yield*P(r).pipe(ve(d(`${gy} millis`)),D)})),Ny=zi({connectionId:k,credential:dd}),Py=zi({schemaVersion:Yn(1),targets:Nn(Qu),profiles:Nn(ld),credentials:Nn(Ny),remoteDpopTokens:Nn(af)}),Fy=Object.freeze({schemaVersion:1,targets:[],profiles:[],credentials:[],remoteDpopTokens:[]});function Iy(e,t,n){let r=t(n);return[...e.filter(e=>t(e)!==r),n]}function Ly(e,t,n){return e.filter(e=>t(e)!==n)}function Ry(e){switch(e._tag){case`PrimaryConnectionTarget`:return null;case`BearerConnectionTarget`:case`CloudConnectionTarget`:case`SshConnectionTarget`:case`BorgConnectionTarget`:return e.connectionId}}function zy(e,t,n){let r=Ry(t),i=Ly(e.targets,e=>e.environmentId,t.environmentId),a=r!==null&&!i.some(e=>Ry(e)===r);return{...e,targets:i,profiles:a?Ly(e.profiles,e=>e.connectionId,r):e.profiles,credentials:a?Ly(e.credentials,e=>e.connectionId,r):e.credentials,remoteDpopTokens:n?Ly(e.remoteDpopTokens,e=>e.environmentId,t.environmentId):e.remoteDpopTokens}}function By(e,t){let n=t.target,r=e.targets.find(e=>e.environmentId===n.environmentId),i=r===void 0?e:zy(e,r,!1),a={...i,targets:Iy(i.targets,e=>e.environmentId,n)};switch(t._tag){case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`BorgConnectionRegistration`:return{...a,profiles:Iy(a.profiles,e=>e.connectionId,t.profile),credentials:Iy(a.credentials,e=>e.connectionId,{connectionId:t.target.connectionId,credential:t.credential})};case`SshConnectionRegistration`:return{...a,profiles:Iy(a.profiles,e=>e.connectionId,t.profile)}}}function Vy(e,t){return zy(e,t,!0)}var Hy=class extends Error{status;constructor(e){super(`Borg tunnel request failed (${e}).`),this.name=`BorgTunnelClientError`,this.status=e}};function Uy(){return crypto.randomUUID()}function Wy(e){if(!Vh(e.customerId))throw new Hy(400);let t=e.fetch??globalThis.fetch,n=e.apiUrl.replace(/\/$/,``),r=async(r,i={})=>{let a=await e.getAccessToken();if(!a)throw new Hy(401);let o=await t(`${n}${r}`,{...i,headers:{...i.headers,authorization:`Bearer ${a}`}});if(!o.ok)throw new Hy(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 Hy(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 Hy(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 Gy=32,Ky=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function qy(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+=Ky[r>>2],t+=Ky[(r&3)<<4|o>>4],i&&(t+=Ky[(o&15)<<2|s>>6]),a&&(t+=Ky[s&63])}return t}var Jy={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 Yy(e=Gy,t=Jy){return qy(await t.randomBytes(e))}async function Xy(e=Jy){let t=await Yy(Gy,e);return{verifier:t,challenge:qy(await e.sha256(new TextEncoder().encode(t))),method:`S256`}}var Zy;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 Qy=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},$y=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Zy=globalThis).__zod_globalConfig??(Zy.__zod_globalConfig={});var eb=globalThis.__zod_globalConfig;function tb(e){return e&&Object.assign(eb,e),eb}function nb(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 rb(e,t){return typeof t==`bigint`?t.toString():t}function ib(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function ab(e){return e==null}function ob(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function sb(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 cb=Symbol(`evaluating`);function Q(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==cb)return r===void 0&&(r=cb,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function lb(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function ub(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function db(e){return JSON.stringify(e)}function fb(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var pb=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function mb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var hb=ib(()=>{if(eb.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function gb(e){if(mb(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(mb(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function _b(e){return gb(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var vb=new Set([`string`,`number`,`symbol`]);function yb(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function bb(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 xb(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Sb={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Cb(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 bb(e,ub(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 lb(this,`shape`,e),e},checks:[]}))}function wb(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 bb(e,ub(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 lb(this,`shape`,r),r},checks:[]}))}function Tb(e,t){if(!gb(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 bb(e,ub(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return lb(this,`shape`,n),n}}))}function Eb(e,t){if(!gb(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return bb(e,ub(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return lb(this,`shape`,n),n}}))}function Db(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return bb(e,ub(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return lb(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Ob(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 bb(t,ub(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 lb(this,`shape`,i),i},checks:[]}))}function kb(e,t,n){return bb(t,ub(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 lb(this,`shape`,i),i}}))}function Ab(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 jb(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 Mb(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Nb(e){return typeof e==`string`?e:e?.message}function Pb(e,t,n){let r=e.message?e.message:Nb(e.inst?._zod.def?.error?.(e))??Nb(t?.error?.(e))??Nb(n.customError?.(e))??Nb(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 Fb(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ib(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Lb=(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,rb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Rb=Z(`$ZodError`,Lb),zb=Z(`$ZodError`,Lb,{Parent:Error});function Bb(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 Vb(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 Hb=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 Qy;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>Pb(e,a,tb())));throw pb(t,i?.callee),t}return o.value},Ub=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=>Pb(e,a,tb())));throw pb(t,i?.callee),t}return o.value},Wb=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 Qy;return a.issues.length?{success:!1,error:new(e??Rb)(a.issues.map(e=>Pb(e,i,tb())))}:{success:!0,data:a.value}},Gb=Wb(zb),Kb=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=>Pb(e,i,tb())))}:{success:!0,data:a.value}},qb=Kb(zb),Jb=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Hb(e)(t,n,i)},Yb=e=>(t,n,r)=>Hb(e)(t,n,r),Xb=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ub(e)(t,n,i)},Zb=e=>async(t,n,r)=>Ub(e)(t,n,r),Qb=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Wb(e)(t,n,i)},$b=e=>(t,n,r)=>Wb(e)(t,n,r),ex=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Kb(e)(t,n,i)},tx=e=>async(t,n,r)=>Kb(e)(t,n,r),nx=/^[cC][0-9a-z]{6,}$/,rx=/^[0-9a-z]+$/,ix=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ax=/^[0-9a-vA-V]{20}$/,ox=/^[A-Za-z0-9]{27}$/,sx=/^[a-zA-Z0-9_-]{21}$/,cx=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,lx=/^([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})$/,ux=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)$/,dx=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fx=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function px(){return new RegExp(fx,`u`)}var mx=/^(?:(?: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])$/,hx=/^(([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}|:))$/,gx=/^((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])$/,_x=/^(([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])$/,vx=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,yx=/^[A-Za-z0-9_-]*$/,bx=/^https?$/,xx=/^\+[1-9]\d{6,14}$/,Sx=`(?:(?:\\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])))`,Cx=RegExp(`^${Sx}$`);function wx(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 Tx(e){return RegExp(`^${wx(e)}$`)}function Ex(e){let t=wx({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(`^${Sx}T(?:${r})$`)}var Dx=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Ox=/^-?\d+$/,kx=/^-?\d+(?:\.\d+)?$/,Ax=/^[^A-Z]*$/,jx=/^[^a-z]*$/,Mx=Z(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Nx={number:`number`,bigint:`bigint`,object:`date`},Px=Z(`$ZodCheckLessThan`,(e,t)=>{Mx.init(e,t);let n=Nx[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})}}),Fx=Z(`$ZodCheckGreaterThan`,(e,t)=>{Mx.init(e,t);let n=Nx[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})}}),Ix=Z(`$ZodCheckMultipleOf`,(e,t)=>{Mx.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):sb(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})}}),Lx=Z(`$ZodCheckNumberFormat`,(e,t)=>{Mx.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Sb[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=Ox)}),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})}}),Rx=Z(`$ZodCheckMaxLength`,(e,t)=>{var n;Mx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ab(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=Fb(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),zx=Z(`$ZodCheckMinLength`,(e,t)=>{var n;Mx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ab(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=Fb(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Bx=Z(`$ZodCheckLengthEquals`,(e,t)=>{var n;Mx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ab(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=Fb(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})}}),Vx=Z(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Mx.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=()=>{})}),Hx=Z(`$ZodCheckRegex`,(e,t)=>{Vx.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})}}),Ux=Z(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Ax,Vx.init(e,t)}),Wx=Z(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=jx,Vx.init(e,t)}),Gx=Z(`$ZodCheckIncludes`,(e,t)=>{Mx.init(e,t);let n=yb(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})}}),Kx=Z(`$ZodCheckStartsWith`,(e,t)=>{Mx.init(e,t);let n=RegExp(`^${yb(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})}}),qx=Z(`$ZodCheckEndsWith`,(e,t)=>{Mx.init(e,t);let n=RegExp(`.*${yb(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})}}),Jx=Z(`$ZodCheckOverwrite`,(e,t)=>{Mx.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Yx=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(`
|
|
5
|
+
`).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(`
|
|
6
|
+
`))}},Xx={major:4,minor:4,patch:3},Zx=Z(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Xx;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=Ab(e),i;for(let a of t){if(a._zod.def.when){if(jb(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 Qy;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Ab(e,t))});else{if(e.issues.length===t)continue;r||=Ab(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Ab(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Qy;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 Qy;return o.then(e=>t(e,r,a))}return t(o,r,a)}}Q(e,`~standard`,()=>({validate:t=>{try{let n=Gb(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return qb(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Qx=Z(`$ZodString`,(e,t)=>{Zx.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Dx(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}}),$x=Z(`$ZodStringFormat`,(e,t)=>{Vx.init(e,t),Qx.init(e,t)}),eS=Z(`$ZodGUID`,(e,t)=>{t.pattern??=lx,$x.init(e,t)}),tS=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??=ux(e)}else t.pattern??=ux();$x.init(e,t)}),nS=Z(`$ZodEmail`,(e,t)=>{t.pattern??=dx,$x.init(e,t)}),rS=Z(`$ZodURL`,(e,t)=>{$x.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===bx.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})}}}),iS=Z(`$ZodEmoji`,(e,t)=>{t.pattern??=px(),$x.init(e,t)}),aS=Z(`$ZodNanoID`,(e,t)=>{t.pattern??=sx,$x.init(e,t)}),oS=Z(`$ZodCUID`,(e,t)=>{t.pattern??=nx,$x.init(e,t)}),sS=Z(`$ZodCUID2`,(e,t)=>{t.pattern??=rx,$x.init(e,t)}),cS=Z(`$ZodULID`,(e,t)=>{t.pattern??=ix,$x.init(e,t)}),lS=Z(`$ZodXID`,(e,t)=>{t.pattern??=ax,$x.init(e,t)}),uS=Z(`$ZodKSUID`,(e,t)=>{t.pattern??=ox,$x.init(e,t)}),dS=Z(`$ZodISODateTime`,(e,t)=>{t.pattern??=Ex(t),$x.init(e,t)}),fS=Z(`$ZodISODate`,(e,t)=>{t.pattern??=Cx,$x.init(e,t)}),pS=Z(`$ZodISOTime`,(e,t)=>{t.pattern??=Tx(t),$x.init(e,t)}),mS=Z(`$ZodISODuration`,(e,t)=>{t.pattern??=cx,$x.init(e,t)}),hS=Z(`$ZodIPv4`,(e,t)=>{t.pattern??=mx,$x.init(e,t),e._zod.bag.format=`ipv4`}),gS=Z(`$ZodIPv6`,(e,t)=>{t.pattern??=hx,$x.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})}}}),_S=Z(`$ZodCIDRv4`,(e,t)=>{t.pattern??=gx,$x.init(e,t)}),vS=Z(`$ZodCIDRv6`,(e,t)=>{t.pattern??=_x,$x.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 yS(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var bS=Z(`$ZodBase64`,(e,t)=>{t.pattern??=vx,$x.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{yS(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function xS(e){if(!yx.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return yS(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var SS=Z(`$ZodBase64URL`,(e,t)=>{t.pattern??=yx,$x.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{xS(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),CS=Z(`$ZodE164`,(e,t)=>{t.pattern??=xx,$x.init(e,t)});function wS(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 TS=Z(`$ZodJWT`,(e,t)=>{$x.init(e,t),e._zod.check=n=>{wS(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),ES=Z(`$ZodNumber`,(e,t)=>{Zx.init(e,t),e._zod.pattern=e._zod.bag.pattern??kx,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}}),DS=Z(`$ZodNumberFormat`,(e,t)=>{Lx.init(e,t),ES.init(e,t)}),OS=Z(`$ZodUnknown`,(e,t)=>{Zx.init(e,t),e._zod.parse=e=>e}),kS=Z(`$ZodNever`,(e,t)=>{Zx.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function AS(e,t,n){e.issues.length&&t.issues.push(...Mb(n,e.issues)),t.value[n]=e.value}var jS=Z(`$ZodArray`,(e,t)=>{Zx.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=>AS(t,n,e))):AS(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function MS(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Mb(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 NS(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=xb(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function PS(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=>MS(e,n,i,t,u,d))):MS(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 FS=Z(`$ZodObject`,(e,t)=>{if(Zx.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=ib(()=>NS(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=mb,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=>MS(n,t,e,s,r,i))):MS(a,t,e,s,r,i)}return i?PS(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),IS=Z(`$ZodObjectJIT`,(e,t)=>{FS.init(e,t);let n=e._zod.parse,r=ib(()=>NS(t)),i=e=>{let t=new Yx([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=db(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=db(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
7
|
+
if (${n}.issues.length) {
|
|
8
|
+
if (${o} in input) {
|
|
9
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
10
|
+
...iss,
|
|
11
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (${n}.value === undefined) {
|
|
17
|
+
if (${o} in input) {
|
|
18
|
+
newResult[${o}] = undefined;
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
newResult[${o}] = ${n}.value;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
`):c?t.write(`
|
|
25
|
+
if (${n}.issues.length) {
|
|
26
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
27
|
+
...iss,
|
|
28
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (${n}.value === undefined) {
|
|
33
|
+
if (${o} in input) {
|
|
34
|
+
newResult[${o}] = undefined;
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
newResult[${o}] = ${n}.value;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
`):t.write(`
|
|
41
|
+
const ${n}_present = ${o} in input;
|
|
42
|
+
if (${n}.issues.length) {
|
|
43
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
44
|
+
...iss,
|
|
45
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
46
|
+
})));
|
|
47
|
+
}
|
|
48
|
+
if (!${n}_present && !${n}.issues.length) {
|
|
49
|
+
payload.issues.push({
|
|
50
|
+
code: "invalid_type",
|
|
51
|
+
expected: "nonoptional",
|
|
52
|
+
input: undefined,
|
|
53
|
+
path: [${o}]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (${n}_present) {
|
|
58
|
+
if (${n}.value === undefined) {
|
|
59
|
+
newResult[${o}] = undefined;
|
|
60
|
+
} else {
|
|
61
|
+
newResult[${o}] = ${n}.value;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=mb,s=!eb.jitless,c=s&&hb.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?PS([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function LS(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=>!Ab(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=>Pb(e,r,tb())))}),t)}var RS=Z(`$ZodUnion`,(e,t)=>{Zx.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=>ob(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=>LS(t,r,e,i)):LS(o,r,e,i)}}),zS=Z(`$ZodIntersection`,(e,t)=>{Zx.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])=>VS(e,t,n)):VS(e,i,a)}});function BS(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(gb(e)&&gb(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=BS(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=BS(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 VS(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}),Ab(e))return e;let o=BS(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var HS=Z(`$ZodEnum`,(e,t)=>{Zx.init(e,t);let n=nb(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>vb.has(typeof e)).map(e=>typeof e==`string`?yb(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}}),US=Z(`$ZodTransform`,(e,t)=>{Zx.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new $y(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 Qy;return n.value=i,n.fallback=!0,n}});function WS(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var GS=Z(`$ZodOptional`,(e,t)=>{Zx.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(`^(${ob(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=>WS(e,r)):WS(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),KS=Z(`$ZodExactOptional`,(e,t)=>{GS.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)}),qS=Z(`$ZodNullable`,(e,t)=>{Zx.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(`^(${ob(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)}),JS=Z(`$ZodDefault`,(e,t)=>{Zx.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=>YS(e,t)):YS(r,t)}});function YS(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var XS=Z(`$ZodPrefault`,(e,t)=>{Zx.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))}),ZS=Z(`$ZodNonOptional`,(e,t)=>{Zx.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=>QS(t,e)):QS(i,e)}});function QS(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 $S=Z(`$ZodCatch`,(e,t)=>{Zx.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=>Pb(e,n,tb()))},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=>Pb(e,n,tb()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),eC=Z(`$ZodPipe`,(e,t)=>{Zx.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=>tC(e,t.in,n)):tC(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>tC(e,t.out,n)):tC(r,t.out,n)}});function tC(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 nC=Z(`$ZodReadonly`,(e,t)=>{Zx.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(rC):rC(r)}});function rC(e){return e.value=Object.freeze(e.value),e}var iC=Z(`$ZodCustom`,(e,t)=>{Mx.init(e,t),Zx.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=>aC(t,n,r,e));aC(i,n,r,e)}});function aC(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(Ib(e))}}var oC,sC=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 cC(){return new sC}(oC=globalThis).__zod_globalRegistry??(oC.__zod_globalRegistry=cC());var lC=globalThis.__zod_globalRegistry;function uC(e,t){return new e({type:`string`,...$(t)})}function dC(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...$(t)})}function fC(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...$(t)})}function pC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...$(t)})}function mC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...$(t)})}function hC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...$(t)})}function gC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...$(t)})}function _C(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...$(t)})}function vC(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...$(t)})}function yC(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...$(t)})}function bC(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...$(t)})}function xC(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...$(t)})}function SC(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...$(t)})}function CC(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...$(t)})}function wC(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...$(t)})}function TC(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...$(t)})}function EC(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...$(t)})}function DC(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...$(t)})}function OC(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...$(t)})}function kC(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...$(t)})}function AC(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...$(t)})}function jC(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...$(t)})}function MC(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...$(t)})}function NC(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...$(t)})}function PC(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...$(t)})}function FC(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...$(t)})}function IC(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...$(t)})}function LC(e,t){return new e({type:`number`,checks:[],...$(t)})}function RC(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...$(t)})}function zC(e){return new e({type:`unknown`})}function BC(e,t){return new e({type:`never`,...$(t)})}function VC(e,t){return new Px({check:`less_than`,...$(t),value:e,inclusive:!1})}function HC(e,t){return new Px({check:`less_than`,...$(t),value:e,inclusive:!0})}function UC(e,t){return new Fx({check:`greater_than`,...$(t),value:e,inclusive:!1})}function WC(e,t){return new Fx({check:`greater_than`,...$(t),value:e,inclusive:!0})}function GC(e,t){return new Ix({check:`multiple_of`,...$(t),value:e})}function KC(e,t){return new Rx({check:`max_length`,...$(t),maximum:e})}function qC(e,t){return new zx({check:`min_length`,...$(t),minimum:e})}function JC(e,t){return new Bx({check:`length_equals`,...$(t),length:e})}function YC(e,t){return new Hx({check:`string_format`,format:`regex`,...$(t),pattern:e})}function XC(e){return new Ux({check:`string_format`,format:`lowercase`,...$(e)})}function ZC(e){return new Wx({check:`string_format`,format:`uppercase`,...$(e)})}function QC(e,t){return new Gx({check:`string_format`,format:`includes`,...$(t),includes:e})}function $C(e,t){return new Kx({check:`string_format`,format:`starts_with`,...$(t),prefix:e})}function ew(e,t){return new qx({check:`string_format`,format:`ends_with`,...$(t),suffix:e})}function tw(e){return new Jx({check:`overwrite`,tx:e})}function nw(e){return tw(t=>t.normalize(e))}function rw(){return tw(e=>e.trim())}function iw(){return tw(e=>e.toLowerCase())}function aw(){return tw(e=>e.toUpperCase())}function ow(){return tw(e=>fb(e))}function sw(e,t,n){return new e({type:`array`,element:t,...$(n)})}function cw(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$(n)})}function lw(e,t){let n=uw(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Ib(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(Ib(r))}},e(t.value,t)),t);return n}function uw(e,t){let n=new Mx({check:`custom`,...$(t)});return n._zod.check=e,n}function dw(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??lC,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 fw(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,fw(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`&&hw(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 pw(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>
|
|
66
|
+
|
|
67
|
+
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 mw(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:_w(t,`input`,e.processors),output:_w(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function hw(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 hw(r.element,n);if(r.type===`set`)return hw(r.valueType,n);if(r.type===`lazy`)return hw(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 hw(r.innerType,n);if(r.type===`intersection`)return hw(r.left,n)||hw(r.right,n);if(r.type===`record`||r.type===`map`)return hw(r.keyType,n)||hw(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:hw(r.in,n)||hw(r.out,n);if(r.type===`object`){for(let e in r.shape)if(hw(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(hw(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(hw(e,n))return!0;return!!(r.rest&&hw(r.rest,n))}return!1}var gw=(e,t={})=>n=>{let r=dw({...n,processors:t});return fw(e,r),pw(r,e),mw(r,e)},_w=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=dw({...i??{},target:a,io:t,processors:n});return fw(e,o),pw(o,e),mw(o,e)},vw={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},yw=(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=vw[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}))])}},bw=(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)},xw=(e,t,n,r)=>{n.not={}},Sw=(e,t,n,r)=>{let i=e._zod.def,a=nb(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Cw=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},ww=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Tw=(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=fw(a.element,t,{...r,path:[...r.path,`items`]})},Ew=(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]=fw(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=fw(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Dw=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>fw(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Ow=(e,t,n,r)=>{let i=e._zod.def,a=fw(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=fw(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]]},kw=(e,t,n,r)=>{let i=e._zod.def,a=fw(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`}]},Aw=(e,t,n,r)=>{let i=e._zod.def;fw(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},jw=(e,t,n,r)=>{let i=e._zod.def;fw(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Mw=(e,t,n,r)=>{let i=e._zod.def;fw(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)))},Nw=(e,t,n,r)=>{let i=e._zod.def;fw(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},Pw=(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;fw(o,t,r);let s=t.seen.get(e);s.ref=o},Fw=(e,t,n,r)=>{let i=e._zod.def;fw(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Iw=(e,t,n,r)=>{let i=e._zod.def;fw(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Lw=Z(`ZodISODateTime`,(e,t)=>{dS.init(e,t),uT.init(e,t)});function Rw(e){return NC(Lw,e)}var zw=Z(`ZodISODate`,(e,t)=>{fS.init(e,t),uT.init(e,t)});function Bw(e){return PC(zw,e)}var Vw=Z(`ZodISOTime`,(e,t)=>{pS.init(e,t),uT.init(e,t)});function Hw(e){return FC(Vw,e)}var Uw=Z(`ZodISODuration`,(e,t)=>{mS.init(e,t),uT.init(e,t)});function Ww(e){return IC(Uw,e)}var Gw=Z(`ZodError`,(e,t)=>{Rb.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Vb(e,t)},flatten:{value:t=>Bb(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,rb,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,rb,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Kw=Hb(Gw),qw=Ub(Gw),Jw=Wb(Gw),Yw=Kb(Gw),Xw=Jb(Gw),Zw=Yb(Gw),Qw=Xb(Gw),$w=Zb(Gw),eT=Qb(Gw),tT=$b(Gw),nT=ex(Gw),rT=tx(Gw),iT=new WeakMap;function aT(e,t,n){let r=Object.getPrototypeOf(e),i=iT.get(r);if(i||(i=new Set,iT.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 oT=Z(`ZodType`,(e,t)=>(Zx.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:_w(e,`input`),output:_w(e,`output`)}}),e.toJSONSchema=gw(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Kw(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Jw(e,t,n),e.parseAsync=async(t,n)=>qw(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Yw(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Xw(e,t,n),e.decode=(t,n)=>Zw(e,t,n),e.encodeAsync=async(t,n)=>Qw(e,t,n),e.decodeAsync=async(t,n)=>$w(e,t,n),e.safeEncode=(t,n)=>eT(e,t,n),e.safeDecode=(t,n)=>tT(e,t,n),e.safeEncodeAsync=async(t,n)=>nT(e,t,n),e.safeDecodeAsync=async(t,n)=>rT(e,t,n),aT(e,`ZodType`,{check(...e){let t=this.def;return this.clone(ub(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 bb(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hE(e,t))},superRefine(e,t){return this.check(gE(e,t))},overwrite(e){return this.check(tw(e))},optional(){return ZT(this)},exactOptional(){return $T(this)},nullable(){return tE(this)},nullish(){return ZT(tE(this))},nonoptional(e){return sE(this,e)},array(){return zT(this)},or(e){return UT([this,e])},and(e){return GT(this,e)},transform(e){return dE(this,YT(e))},default(e){return rE(this,e)},prefault(e){return aE(this,e)},catch(e){return lE(this,e)},pipe(e){return dE(this,e)},readonly(){return pE(this)},describe(e){let t=this.clone();return lC.add(t,{description:e}),t},meta(...e){if(e.length===0)return lC.get(this);let t=this.clone();return lC.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 lC.get(e)?.description},configurable:!0}),e)),sT=Z(`_ZodString`,(e,t)=>{Qx.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yw(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,aT(e,`_ZodString`,{regex(...e){return this.check(YC(...e))},includes(...e){return this.check(QC(...e))},startsWith(...e){return this.check($C(...e))},endsWith(...e){return this.check(ew(...e))},min(...e){return this.check(qC(...e))},max(...e){return this.check(KC(...e))},length(...e){return this.check(JC(...e))},nonempty(...e){return this.check(qC(1,...e))},lowercase(e){return this.check(XC(e))},uppercase(e){return this.check(ZC(e))},trim(){return this.check(rw())},normalize(...e){return this.check(nw(...e))},toLowerCase(){return this.check(iw())},toUpperCase(){return this.check(aw())},slugify(){return this.check(ow())}})}),cT=Z(`ZodString`,(e,t)=>{Qx.init(e,t),sT.init(e,t),e.email=t=>e.check(dC(dT,t)),e.url=t=>e.check(_C(mT,t)),e.jwt=t=>e.check(MC(kT,t)),e.emoji=t=>e.check(vC(hT,t)),e.guid=t=>e.check(fC(fT,t)),e.uuid=t=>e.check(pC(pT,t)),e.uuidv4=t=>e.check(mC(pT,t)),e.uuidv6=t=>e.check(hC(pT,t)),e.uuidv7=t=>e.check(gC(pT,t)),e.nanoid=t=>e.check(yC(gT,t)),e.guid=t=>e.check(fC(fT,t)),e.cuid=t=>e.check(bC(_T,t)),e.cuid2=t=>e.check(xC(vT,t)),e.ulid=t=>e.check(SC(yT,t)),e.base64=t=>e.check(kC(ET,t)),e.base64url=t=>e.check(AC(DT,t)),e.xid=t=>e.check(CC(bT,t)),e.ksuid=t=>e.check(wC(xT,t)),e.ipv4=t=>e.check(TC(ST,t)),e.ipv6=t=>e.check(EC(CT,t)),e.cidrv4=t=>e.check(DC(wT,t)),e.cidrv6=t=>e.check(OC(TT,t)),e.e164=t=>e.check(jC(OT,t)),e.datetime=t=>e.check(Rw(t)),e.date=t=>e.check(Bw(t)),e.time=t=>e.check(Hw(t)),e.duration=t=>e.check(Ww(t))});function lT(e){return uC(cT,e)}var uT=Z(`ZodStringFormat`,(e,t)=>{$x.init(e,t),sT.init(e,t)}),dT=Z(`ZodEmail`,(e,t)=>{nS.init(e,t),uT.init(e,t)}),fT=Z(`ZodGUID`,(e,t)=>{eS.init(e,t),uT.init(e,t)}),pT=Z(`ZodUUID`,(e,t)=>{tS.init(e,t),uT.init(e,t)}),mT=Z(`ZodURL`,(e,t)=>{rS.init(e,t),uT.init(e,t)}),hT=Z(`ZodEmoji`,(e,t)=>{iS.init(e,t),uT.init(e,t)}),gT=Z(`ZodNanoID`,(e,t)=>{aS.init(e,t),uT.init(e,t)}),_T=Z(`ZodCUID`,(e,t)=>{oS.init(e,t),uT.init(e,t)}),vT=Z(`ZodCUID2`,(e,t)=>{sS.init(e,t),uT.init(e,t)}),yT=Z(`ZodULID`,(e,t)=>{cS.init(e,t),uT.init(e,t)}),bT=Z(`ZodXID`,(e,t)=>{lS.init(e,t),uT.init(e,t)}),xT=Z(`ZodKSUID`,(e,t)=>{uS.init(e,t),uT.init(e,t)}),ST=Z(`ZodIPv4`,(e,t)=>{hS.init(e,t),uT.init(e,t)}),CT=Z(`ZodIPv6`,(e,t)=>{gS.init(e,t),uT.init(e,t)}),wT=Z(`ZodCIDRv4`,(e,t)=>{_S.init(e,t),uT.init(e,t)}),TT=Z(`ZodCIDRv6`,(e,t)=>{vS.init(e,t),uT.init(e,t)}),ET=Z(`ZodBase64`,(e,t)=>{bS.init(e,t),uT.init(e,t)}),DT=Z(`ZodBase64URL`,(e,t)=>{SS.init(e,t),uT.init(e,t)}),OT=Z(`ZodE164`,(e,t)=>{CS.init(e,t),uT.init(e,t)}),kT=Z(`ZodJWT`,(e,t)=>{TS.init(e,t),uT.init(e,t)}),AT=Z(`ZodNumber`,(e,t)=>{ES.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bw(e,t,n,r),aT(e,`ZodNumber`,{gt(e,t){return this.check(UC(e,t))},gte(e,t){return this.check(WC(e,t))},min(e,t){return this.check(WC(e,t))},lt(e,t){return this.check(VC(e,t))},lte(e,t){return this.check(HC(e,t))},max(e,t){return this.check(HC(e,t))},int(e){return this.check(NT(e))},safe(e){return this.check(NT(e))},positive(e){return this.check(UC(0,e))},nonnegative(e){return this.check(WC(0,e))},negative(e){return this.check(VC(0,e))},nonpositive(e){return this.check(HC(0,e))},multipleOf(e,t){return this.check(GC(e,t))},step(e,t){return this.check(GC(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 jT(e){return LC(AT,e)}var MT=Z(`ZodNumberFormat`,(e,t)=>{DS.init(e,t),AT.init(e,t)});function NT(e){return RC(MT,e)}var PT=Z(`ZodUnknown`,(e,t)=>{OS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function FT(){return zC(PT)}var IT=Z(`ZodNever`,(e,t)=>{kS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xw(e,t,n,r)});function LT(e){return BC(IT,e)}var RT=Z(`ZodArray`,(e,t)=>{jS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tw(e,t,n,r),e.element=t.element,aT(e,`ZodArray`,{min(e,t){return this.check(qC(e,t))},nonempty(e){return this.check(qC(1,e))},max(e,t){return this.check(KC(e,t))},length(e,t){return this.check(JC(e,t))},unwrap(){return this.element}})});function zT(e,t){return sw(RT,e,t)}var BT=Z(`ZodObject`,(e,t)=>{IS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ew(e,t,n,r),Q(e,`shape`,()=>t.shape),aT(e,`ZodObject`,{keyof(){return qT(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:FT()})},loose(){return this.clone({...this._zod.def,catchall:FT()})},strict(){return this.clone({...this._zod.def,catchall:LT()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Tb(this,e)},safeExtend(e){return Eb(this,e)},merge(e){return Db(this,e)},pick(e){return Cb(this,e)},omit(e){return wb(this,e)},partial(...e){return Ob(XT,this,e[0])},required(...e){return kb(oE,this,e[0])}})});function VT(e,t){return new BT({type:`object`,shape:e??{},...$(t)})}var HT=Z(`ZodUnion`,(e,t)=>{RS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dw(e,t,n,r),e.options=t.options});function UT(e,t){return new HT({type:`union`,options:e,...$(t)})}var WT=Z(`ZodIntersection`,(e,t)=>{zS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ow(e,t,n,r)});function GT(e,t){return new WT({type:`intersection`,left:e,right:t})}var KT=Z(`ZodEnum`,(e,t)=>{HS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sw(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 KT({...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 KT({...t,checks:[],...$(r),entries:i})}});function qT(e,t){return new KT({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...$(t)})}var JT=Z(`ZodTransform`,(e,t)=>{US.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ww(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new $y(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ib(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(Ib(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 YT(e){return new JT({type:`transform`,transform:e})}var XT=Z(`ZodOptional`,(e,t)=>{GS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ZT(e){return new XT({type:`optional`,innerType:e})}var QT=Z(`ZodExactOptional`,(e,t)=>{KS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $T(e){return new QT({type:`optional`,innerType:e})}var eE=Z(`ZodNullable`,(e,t)=>{qS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tE(e){return new eE({type:`nullable`,innerType:e})}var nE=Z(`ZodDefault`,(e,t)=>{JS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rE(e,t){return new nE({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():_b(t)}})}var iE=Z(`ZodPrefault`,(e,t)=>{XS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function aE(e,t){return new iE({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():_b(t)}})}var oE=Z(`ZodNonOptional`,(e,t)=>{ZS.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sE(e,t){return new oE({type:`nonoptional`,innerType:e,...$(t)})}var cE=Z(`ZodCatch`,(e,t)=>{$S.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function lE(e,t){return new cE({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var uE=Z(`ZodPipe`,(e,t)=>{eC.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pw(e,t,n,r),e.in=t.in,e.out=t.out});function dE(e,t){return new uE({type:`pipe`,in:e,out:t})}var fE=Z(`ZodReadonly`,(e,t)=>{nC.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pE(e){return new fE({type:`readonly`,innerType:e})}var mE=Z(`ZodCustom`,(e,t)=>{iC.init(e,t),oT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cw(e,t,n,r)});function hE(e,t={}){return cw(mE,e,t)}function gE(e,t){return lw(e,t)}var _E=VT({accessToken:lT().min(1),refreshToken:lT().min(1).optional(),expiresAt:jT().int().positive().optional(),tokenType:lT().default(`Bearer`),scope:lT().optional()}),vE=VT({access_token:lT().min(1),refresh_token:lT().min(1).optional(),expires_in:jT().int().positive().optional(),token_type:lT().optional(),scope:lT().optional()}),yE=(e,t=Date.now())=>e.expiresAt!==void 0&&e.expiresAt-6e4<=t;function bE(e,t=Date.now()){let n=vE.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 xE=`relay`,SE=class extends Error{refusal;constructor(e){super(`Search Atlas refused the request (${e.status})`),this.name=`EmailAuthRefusedError`,this.refusal=e}},CE=(e,t)=>new URL(t,e).toString(),wE=`/api/customer/account/register/v2/`,TE=`/api/token/`,EE=`/api/customer/account/check-email/`,DE=`/oauth/approve/`,OE=`/account/google/oauth/start`;function kE(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 AE(e){let t=e.name?.trim();return{email:e.email.trim(),password:e.password,...t?{contact_name:t}:{},registration_source:xE,...jE(e.captcha)}}var jE=e=>e.version===`v2`?{captcha_v2:e.token}:{captcha:e.token};function ME(e){return{username:e.email.trim(),password:e.password,...jE(e.captcha)}}var NE={email:`email`,password:`password`,contact_name:`name`},PE=e=>{let t=Array.isArray(e)?e[0]:e;return typeof t==`string`&&t.trim().length>0?t.trim():null},FE=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:null;function IE(e,t){let n=FE(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 SE({status:`verification-required`});return null}if(e===409)throw new SE({status:`email-registered`});if(e===406)throw new SE({status:`invalid`,field:`email`,message:`Search Atlas doesn't accept this email provider. Use a different email.`});if(e!==400||!n)return null;if(LE(n))throw new SE({status:`captcha-required`});for(let[e,t]of Object.entries(NE)){let r=PE(n[e]);if(r)throw new SE({status:`invalid`,field:t,message:r})}return null}function LE(e){if(`recaptcha_fallback`in e||`captcha`in e||`captcha_v2`in e)return!0;let t=PE(e.non_field_errors);return t!==null&&/recaptcha/iu.test(t)}function RE(e,t){let n=FE(t);if(e===200){let e=n?.token;return typeof e==`string`&&e.length>0?e:null}if(e===400&&n&&LE(n))throw new SE({status:`captcha-required`});if(e===403&&n?.kind===`email_verification_required`)throw new SE({status:`verification-required`});if(e===401)throw new SE({status:`invalid`,field:`password`,message:`The email or password is incorrect.`});return null}function zE(e){let t=FE(e)?.redirect_url;return typeof t==`string`&&t.length>0?t:null}var BE=class extends Error{code;status;constructor(e,t,n){super(t),this.code=e,this.status=n,this.name=`AuthError`}},VE=e=>e instanceof BE&&e.status!==void 0&&e.status>=400&&e.status<500&&e.status!==408&&e.status!==429,HE=2e4;async function UE(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)},HE)});try{return await Promise.race([e(t.signal),r])}finally{clearTimeout(n)}}function WE(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 GE=`borg.tokens`;function KE(e,t){let n=new URL(e),r=n.searchParams.get(`error`);if(r)throw new BE(r,n.searchParams.get(`error_description`)??r);if(n.searchParams.get(`state`)!==t)throw new BE(`state_mismatch`,`Authorization state did not match`);let i=n.searchParams.get(`code`);if(!i)throw new BE(`missing_code`,`Callback carried no authorization code`);return i}var qE=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 Xy(this.#s.pkceCrypto);return{state:await Yy(16,this.#s.pkceCrypto),verifier:t,challenge:n,method:r,redirectUri:e}}async isEmailRegistered(e){let t=CE(this.#o.tokenEndpoint,EE);return UE(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 BE(`http_${r.status}`,`Email check returned ${r.status}`,r.status);return i?.exists===!0})}async signUp(e){let t=await this.#f(wE,AE(e),IE);return this.authorizeWithAccountToken(t)}async signIn(e){let t=await this.#f(TE,ME(e),RE);return this.authorizeWithAccountToken(t)}#f(e,t,n){return UE(async r=>{let i=await fetch(CE(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 BE(`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 BE(`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=kE({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(OE,this.#o.tokenEndpoint);return a.searchParams.set(`from_domain`,`${t.host}${t.pathname}#${i}`),a.searchParams.set(`registration_source`,xE),a.toString()})}async authorizeWithAccountToken(e){let t=await this.#d(this.#o.redirectUri),n=await UE(async n=>{let r=await fetch(CE(this.#o.tokenEndpoint,DE),{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?zE(i):null;if(a===null){let e=i;throw new BE(e?.error??`http_${r.status}`,e?.error_description??`Approval returned ${r.status}`,r.status)}return a});return this.#m(KE(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 BE(`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 BE&&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 BE(`no_pending_authorization`,`No authorization in progress`);let n=KE(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 BE(`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(!yE(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 VE(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=>UE(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 BE(`http_${r.response.status}`,`Userinfo endpoint returned ${r.response.status}`,r.response.status);let i=WE(r.payload);if(!i)throw new BE(`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 UE(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 BE(e?.error??`http_${n.status}`,e?.error_description??`Token endpoint returned ${n.status}`,n.status)}return bE(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(GE,JSON.stringify(e)),t!==this.#a)?!1:(this.#l(e.accessToken),!0))}async loadTokens(){let e=await this.#s.getSecureCredential(GE);if(!e)return null;try{let t=_E.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(GE),e===this.#a&&this.#l(null),t});if(t?.refreshToken&&this.#o.revocationEndpoint){let e=this.#o.revocationEndpoint,n=t.refreshToken;UE(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 JE(){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 YE=`borg.search-atlas.oauth-callback`,XE=`borg-search-atlas-auth`,ZE=`borg-search-atlas-oauth-callback`;function QE(e){if(typeof e!=`object`||!e)return null;let t=e;return t.type===ZE&&typeof t.url==`string`?t.url:null}function $E(){let e=JE();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 qE(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(XE),i=t=>{d(),e(t)},c=e=>{let t=QE(e.data);t&&i(t)},l=e=>{if(e.origin!==window.location.origin||e.source!==a)return;let t=QE(e.data);t&&i(t)},u=e=>{if(!(e.key!==YE||!e.newValue))try{let t=QE(JSON.parse(e.newValue));t&&i(t)}catch{}};s=()=>{d(),t(new BE(`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 eD;function tD(){return eD??=$E(),eD}async function nD(e){if(!e.apiUrl)throw Error(`Borg Cloud is not configured.`);let t=Fi(e.token);if(t===void 0)throw Error(`This Search Atlas session names no customer.`);return t.customerId}var rD=/-nightly\.\d{8}\.\d+$/;function iD(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function aD(e){return e.primaryServerVersion&&rD.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function oD(e){let t=aD({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:iD({baseName:e.baseName,stageLabel:t})}var sD={local:`Development`,staging:`Preview`,production:``};function cD(e){return[sD[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 lD(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var uD=lD(),dD=``,fD=dD===`latest`||dD===`nightly`?dD:null,pD=fD===`nightly`?`Nightly`:fD===`latest`?`Latest`:null,mD=uD?.baseName??`Borg`,hD=uD?.stageLabel??pD??`Alpha`,gD=uD?.displayName??iD({baseName:mD,stageLabel:hD}),_D=`0.0.124`,vD=cD({environment:`production`,commit:`c83cd048b17252aa209b0a7de1f8e3ddba5b4e9f`});[`${mD} ${_D}`,vD].filter(Boolean).join(` · `);function yD(){return`https://app.getborg.com`}function bD(){return``}function xD(){return null}function SD(e){try{return new URL(e).origin}catch{return null}}function CD(){return typeof window<`u`&&window.desktopBridge!==void 0}function wD(e=new URL(window.location.href)){if(bD()||CD())return!1;if(xD())return!0;let t=SD(yD());return t!==null&&e.origin===t}function TD(e=new URL(window.location.href)){let t=e.searchParams.get(`host`)?.trim()??``,n=Rm(e)?.trim()??``,r=e.searchParams.get(`label`)?.trim()??``;return!t||!n?null:{host:t,token:n,label:r}}function ED(e=new URL(window.location.href)){return TD(e)!==null}function DD(e){let t=new URL(`/pair`,yD());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),Bm(t,e.token).toString()}function OD(e){let t=new URL(`/__borgcode/channel`,yD());return t.searchParams.set(`channel`,e.channel),t.toString()}var kD=Cs();function AD({children:e}){return(0,Nc.createElement)(Ic.Provider,{value:kD},e)}var jD=15e3,MD=12e4,ND=jD,PD=new Map,FD=new Set([O.previewAutomationConnect,O.shellCaptureLoopbackRedirect]),ID=new Set([O.serverUpdateProvider,O.serverRefreshProviders,O.serverUpdateServer]),LD=R([]).pipe(yc,B(`slow-rpc-ack-requests`));function RD(e){kD.set(LD,[...e])}function zD(){return kD.get(LD)}function BD(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!FD.has(e)}function VD(e){return ID.has(e)?Math.max(ND,MD):ND}function HD(e,t,n=t){if(!BD(t))return;WD(e),KD();let r=Date.now(),i=VD(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{PD.delete(e),GD(a)},i);PD.set(e,{request:a,timeoutId:o})}function UD(e){WD(e);let t=zD();t.some(t=>t.requestId===e)&&RD(t.filter(t=>t.requestId!==e))}function WD(e){let t=PD.get(e);t&&(clearTimeout(t.timeoutId),PD.delete(e))}function GD(e){let t=[...zD(),e];if(t.length<=256){RD(t);return}RD(t.slice(-256))}function KD(){for(;PD.size>=256;){let e=PD.keys().next().value;if(e===void 0)return;WD(e)}}function qD(){return Bc(LD)}var JD=Promise.resolve(),YD=e=>{JD=e},XD=()=>JD,ZD=4,QD=`catalog`,$D=`shell`,eO=`thread`,tO=`server-config`,nO=`vcs-refs`,rO=`document`,iO=`5 seconds`,aO=1,oO=Se(zi({schemaVersion:Yn(aO),environmentId:we,snapshot:Gr})),sO=Se(zi({schemaVersion:Yn(3),environmentId:we,threadId:He,snapshot:Un})),cO=Se(zi({schemaVersion:Yn(1),environmentId:we,config:sn})),lO=Se(zi({schemaVersion:Yn(1),environmentId:we,cwd:k,refs:m})),uO=Se(Py),dO=ci(uO),fO=pt(uO),pO=ci(oO),mO=pt(oO),hO=ci(sO),gO=pt(sO),_O=ci(cO),vO=pt(cO),yO=ci(lO),bO=pt(lO);function xO(e,t){return new td({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function SO(e,t){return new Td({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var CO=S(`web.connectionStorage.openDatabase`)(function*(){yield*ii(XD);let e=yield*bt(e=>{if(typeof indexedDB>`u`){e(N(xO(`open`,`IndexedDB is unavailable in this browser context.`)));return}let t=!1,n=indexedDB.open(Jr(ia),ZD);return n.addEventListener(`upgradeneeded`,()=>{n.result.objectStoreNames.contains(QD)||n.result.createObjectStore(QD),n.result.objectStoreNames.contains($D)||n.result.createObjectStore($D),n.result.objectStoreNames.contains(eO)||n.result.createObjectStore(eO),n.result.objectStoreNames.contains(tO)||n.result.createObjectStore(tO),n.result.objectStoreNames.contains(nO)||n.result.createObjectStore(nO)}),n.addEventListener(`error`,()=>{e(N(xO(`open`,n.error??`Unknown IndexedDB error`)))}),n.addEventListener(`success`,()=>{let r=n.result;if(t){r.close();return}r.addEventListener(`versionchange`,()=>r.close()),e(F(r))}),P(()=>{t=!0})}).pipe(_i({duration:iO,orElse:()=>N(new td({reason:`timeout`,detail:`Another Borg tab is holding Borg's saved data. Close your other Borg tabs, then reload this one.`}))}));return yield*wO(e),e});function wO(e){return ma(()=>sr(Kn(),fi(),mr)).pipe(T(t=>t===void 0?A:M(function*(){t.document!==void 0&&(yield*TO(e,QD,rO))===void 0&&(yield*EO(e,QD,rO,t.document)),yield*ma(t.release)})),Qi)}function TO(e,t,n){return bt(r=>{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(N(xO(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r(F(i.result))})}).pipe(nr(`web.connectionStorage.readDatabaseValue`))}function EO(e,t,n,r){return bt(i=>{let a=e.transaction(t,`readwrite`);a.addEventListener(`error`,()=>{i(N(xO(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(A)}),a.objectStore(t).put(r,n)}).pipe(nr(`web.connectionStorage.writeDatabaseValue`))}function DO(e,t,n){return bt(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(N(xO(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(A)}),i.objectStore(t).delete(n)}).pipe(nr(`web.connectionStorage.removeDatabaseValue`))}function OO(e,t,n){return bt(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(N(xO(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(A)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(N(xO(`remove`,a.error??`Unknown IndexedDB cursor error`)))}),a.addEventListener(`success`,()=>{let e=a.result;e!==null&&(e.delete(),e.continue())})}).pipe(nr(`web.connectionStorage.removeDatabaseValuesInRange`))}function kO(e,t){return`${e}:${t}`}function AO(e,t){return`${e}:${t}`}var jO=S(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*dO(e).pipe(E(e=>xO(`decode`,e)))}),MO=S(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*fO(e).pipe(E(e=>xO(`encode`,e)))});function NO(e){return t=>typeof navigator>`u`||!navigator.locks?t:ma({try:()=>navigator.locks.request(e,()=>nn(t)),catch:e=>xO(`lock`,e)}).pipe(T(e=>e))}function PO(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:ma({try:()=>t.getConnectionCatalog(),catch:e=>xO(`load`,e)}),write:e=>ma({try:()=>t.setConnectionCatalog(e),catch:e=>xO(`save`,e)}).pipe(T(e=>e?A:N(xO(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:TO(e,QD,rO).pipe(j(e=>typeof e==`string`?e:null)),write:t=>EO(e,QD,rO,t),quarantine:t=>EO(e,QD,`${rO}:corrupt:${Date.now()}`,t),exclusive:NO(`${e.name}:catalog`)}}var FO=S(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*no(C()),n=yield*Zi(1),r=S(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*vo(t);if(g(n))return n.value;let r=yield*e.read,i=Fy;return r!==null&&r.trim()!==``&&(i=yield*jO(r).pipe($a(t=>M(function*(){yield*Li(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe($a(e=>Li(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*MO(Fy);return yield*e.write(n).pipe($a(e=>Li(`Could not persist the recovered web connection catalog.`,{error:e.message}))),Fy})))),yield*Do(t,w(i)),i}),i=n.withPermits(1)(r()),a=e.exclusive??(e=>e);return{read:i,update:S(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(a(M(function*(){yield*Do(t,C());let n=i(yield*r());yield*e.write(yield*MO(n)),yield*Do(t,w(n))})))})}}),IO=Pi(M(function*(){let e=yield*oe(CO(),e=>P(()=>e.close())),t=yield*FO(PO(e)),n=Ed.of({list:t.read.pipe(j(e=>e.targets),E(e=>SO(`list-targets`,e)))}),r=Dd.of({register:e=>t.update(t=>By(t,e)).pipe(E(e=>SO(`register-connection`,e))),remove:e=>t.update(t=>Vy(t,e)).pipe(E(e=>SO(`remove-connection`,e)))}),i=xd({get:e=>t.read.pipe(j(t=>vt(t.profiles.find(t=>t.connectionId===e)))),put:e=>t.update(t=>({...t,profiles:Iy(t.profiles,e=>e.connectionId,e)})),remove:e=>t.update(t=>({...t,profiles:Ly(t.profiles,e=>e.connectionId,e)}))}),a=yd({get:e=>t.read.pipe(j(t=>vt(t.credentials.find(t=>t.connectionId===e)?.credential))),put:(e,n)=>t.update(t=>({...t,credentials:Iy(t.credentials,e=>e.connectionId,{connectionId:e,credential:n})})),remove:e=>t.update(t=>({...t,credentials:Ly(t.credentials,e=>e.connectionId,e)}))}),o=sf({get:e=>t.read.pipe(j(t=>vt(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>({...t,remoteDpopTokens:Iy(t.remoteDpopTokens,e=>e.environmentId,e)})),remove:e=>t.update(t=>({...t,remoteDpopTokens:Ly(t.remoteDpopTokens,e=>e.environmentId,e)}))}),s=Od.of({loadShell:t=>TO(e,$D,t).pipe(T(e=>typeof e==`string`?pO(e).pipe(E(e=>SO(`load-shell`,e)),j(e=>e.environmentId===t?w(e.snapshot):C())):F(C())),E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`load-shell`,e))),saveShell:(t,n)=>M(function*(){let r=yield*mO({schemaVersion:aO,environmentId:t,snapshot:n}).pipe(E(e=>SO(`save-shell`,e)));yield*EO(e,$D,t,r)}).pipe(E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`save-shell`,e))),loadServerConfig:t=>TO(e,tO,t).pipe(T(e=>typeof e==`string`?_O(e).pipe(E(e=>SO(`load-server-config`,e)),j(e=>e.environmentId===t?w(e.config):C())):F(C())),E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`load-server-config`,e))),saveServerConfig:(t,n)=>M(function*(){let r=yield*vO({schemaVersion:1,environmentId:t,config:n}).pipe(E(e=>SO(`save-server-config`,e)));yield*EO(e,tO,t,r)}).pipe(E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`save-server-config`,e))),loadThread:(t,n)=>TO(e,eO,kO(t,n)).pipe(T(e=>typeof e==`string`?hO(e).pipe(E(e=>SO(`load-thread`,e)),j(e=>e.environmentId===t&&e.threadId===n?w(e.snapshot):C())):F(C())),E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`load-thread`,e))),saveThread:(t,n)=>M(function*(){let r=yield*gO({schemaVersion:3,environmentId:t,threadId:n.thread.id,snapshot:n}).pipe(E(e=>SO(`save-thread`,e)));yield*EO(e,eO,kO(t,n.thread.id),r)}).pipe(E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`save-thread`,e))),loadVcsRefs:(t,n)=>TO(e,nO,AO(t,n)).pipe(T(e=>typeof e==`string`?yO(e).pipe(E(e=>SO(`load-vcs-refs`,e)),j(e=>e.environmentId===t&&e.cwd===n?w(e.refs):C())):F(C())),E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>M(function*(){let i=yield*bO({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(E(e=>SO(`save-vcs-refs`,e)));yield*EO(e,nO,AO(t,n),i)}).pipe(E(e=>e._tag===`ConnectionPersistenceError`?e:SO(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>DO(e,nO,AO(t,n)).pipe(E(e=>SO(`remove-vcs-refs`,e))),clearVcsRefs:t=>OO(e,nO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(E(e=>SO(`clear-vcs-refs`,e))),removeThread:(t,n)=>DO(e,eO,kO(t,n)).pipe(E(e=>SO(`remove-thread`,e))),clear:t=>he([DO(e,$D,t),OO(e,eO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),DO(e,tO,t),OO(e,nO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(E(e=>SO(`clear-environment`,e)))});return Oa(Ed,n).pipe($n(Dd,r),$n(bd,i),$n(vd,a),$n(of,o),$n(Od,s))}));function LO(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function RO(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function zO(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||RO(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 BO(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 VO(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||RO(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function HO(e){return e.desktopBridge===void 0?{label:`Borg Web`,deviceType:VO(e.identity),os:zO(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:BO(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`Borg Desktop`,deviceType:`desktop`,os:LO(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}var UO=new Set([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]),WO=new Set([101,103,204,205,304]),GO=e=>UO.has(e);function KO(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 qO=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(!GO(i))throw TypeError(`Borg Cloud does not take ${i} requests from the desktop app.`);let a=i===`GET`?``:await r.text(),o=await KO(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(WO.has(o.status)?null:o.body,{status:o.status,headers:o.headers})},JO=0;function YO(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var XO=wd({status:P(YO),changes:Hr(e=>oe(P(()=>{let t=()=>Mr(e,`online`),n=()=>Mr(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>P(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(mt))}),ZO=wp({changes:Hr(e=>oe(P(()=>{let t=()=>{document.visibilityState===`visible`&&Mr(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),{visibility:t,detachCredentials:vp(()=>{Mr(e,`credentials-changed`)})}}),e=>P(()=>{document.removeEventListener(`visibilitychange`,e.visibility),e.detachCredentials()})).pipe(mt))});function QO(){return HO({appVersion:_D,hosted:wD(),identity:{userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints},desktopBridge:window.desktopBridge})}function $O(e){let t=e instanceof Error?e.message:String(e);return t.toLowerCase().includes(`cancel`)?new Y({reason:`authentication`,detail:t}):new td({reason:`remote-unavailable`,detail:`Could not prepare the SSH environment: ${t}`})}function ek(e){return new td({reason:`borg-unavailable`,detail:`Borg is unavailable: ${String(e)}`})}var tk=S(`web.connectionPlatform.borgTunnelCredentials`)(function*(){let e=window.desktopBridge;if(e?.getSearchAtlasAccessToken||e?.getSearchAtlasTunnelCredentials){let t=yield*ma({try:async()=>e.getSearchAtlasAccessToken?e.getSearchAtlasAccessToken():(await e.getSearchAtlasTunnelCredentials?.())?.accessToken??null,catch:e=>new td({reason:`remote-unavailable`,detail:`Could not load the desktop Borg credentials: ${String(e)}`})});return t===null?yield*new Y({reason:`authentication`,detail:`Sign in to Search Atlas to reach this device through Borg.`}):{getAccessToken:async()=>t}}let t=tD();return t?{getAccessToken:()=>t.getAccessToken()}:yield*new Y({reason:`configuration`,detail:`Borg is not configured for this client.`})}),nk=S(`web.connectionPlatform.borgTunnelClient`)(function*(){let e=_v();if(!e)return yield*new Y({reason:`configuration`,detail:`Borg is not configured for this client.`});let t=yield*tk(),n=yield*ma({try:async()=>{let n=await t.getAccessToken();if(!n)throw Error(`Search Atlas authentication is required.`);return nD({apiUrl:e,token:n})},catch:e=>new Y({reason:`configuration`,detail:`Borg customer could not be resolved: ${String(e)}`})});return yield*vr({try:()=>Wy({apiUrl:e,customerId:n,getAccessToken:t.getAccessToken,fetch:qO}),catch:e=>new Y({reason:`configuration`,detail:`Borg is not configured for this client: ${String(e)}`})})}),rk=S(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t){let n=yield*ma({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:$O}),r=n.pairingToken;if(r===null)return yield*new Y({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`});let i=yield*ma({try:()=>e.fetchSshEnvironmentDescriptor(n.httpBaseUrl),catch:$O}),a=yield*ma({try:()=>e.bootstrapSshBearerSession(n.httpBaseUrl,r),catch:$O});return{environmentId:i.environmentId,label:i.label,bootstrap:n,bearerToken:a.access_token}}),ik=Pi(P(()=>{let e=Hu.of({metadata:QO(),scopes:Hn}),t=Vu.of({deviceId:Di(()=>{let e=window.desktopBridge?.getSearchAtlasTunnelCredentials;return e?ma({try:()=>e(),catch:e=>new td({reason:`remote-unavailable`,detail:`Could not load the desktop device identity: ${String(e)}`})}).pipe(j(e=>ut(e?.deviceId))):F(C())})}),n=Uu.of({bearerToken:ma({try:iy,catch:e=>new td({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(j(ut))}),r=Wu.of({provision:S(`web.connectionPlatform.ssh.provision`)(function*(e){let t=window.desktopBridge;return t===void 0?yield*new Y({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`}):yield*rk(t,e)}),prepare:S(`web.connectionPlatform.ssh.prepare`)(function*(e){let t=window.desktopBridge;if(t===void 0)return yield*new Y({reason:`unsupported`,detail:`SSH environments are only available in the desktop app.`});let n=yield*ma({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:$O});return n.pairingToken===null?yield*new Y({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*ma({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:$O})).access_token}}),disconnect:S(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*ma({try:()=>t.disconnectSshEnvironment(e),catch:e=>new td({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})}),i=Gu.of({openTunnel:S(`web.connectionPlatform.borgTunnel.openTunnel`)(function*(){let e=yield*nk();return{ticket:yield*ma({try:()=>e.requestTicket(),catch:ek}),tunnelId:Uy()}}),isDeviceOnline:S(`web.connectionPlatform.borgTunnel.isDeviceOnline`)(function*(e){let t=yield*nk();return(yield*ma({try:()=>t.status(e),catch:ek})).online})});return Oa(Vu,t).pipe($n(Uu,n),$n(Hu,e),$n(Wu,r),$n(Gu,i))})),ak=S(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*io({httpBaseUrl:e.target.httpBaseUrl}).pipe(c(cy),E($d));return new fd({target:new qu({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),ok=S(`web.connectionPlatform.loadSecondaryConnectionRegistration`)(function*(e){if(e.httpBaseUrl===null||e.wsBaseUrl===null||e.bootstrapToken===void 0)return yield*new td({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(E($d)),i=yield*xe,a=yield*Bd({httpBaseUrl:t,credential:e.bootstrapToken,scopes:Hn,clientMetadata:QO()}).pipe(E($d)),o=To(e.id),s=e.label||r.label;return{registration:new pd({target:new Ju({environmentId:r.environmentId,label:s,connectionId:o}),profile:new ad({connectionId:o,environmentId:r.environmentId,label:s,httpBaseUrl:t,wsBaseUrl:n}),credential:new ud({token:a.access_token})}),expiresAtEpochMs:lk(i,a.expires_in),refreshAtEpochMs:uk(i,a.expires_in)}}),sk=`3 seconds`,ck=5e3;function lk(e,t){return e+Math.max(0,t*1e3)}function uk(e,t){return Math.max(e,lk(e,t)-ck)}function dk(e=ey){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function fk(e,t){return t._tag===`Failure`?e.get(Nt):void 0}function pk(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function mk(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}function hk(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var gk=ha(IO,XO,ZO,ik,Xn(lh,M(function*(){if(wD())return lh.of({registrations:ie});let e=yield*no(new Map),t=M(function*(){let t=yield*vo(e),n=yield*xe,r=new Map,i=[],a=dk(),o=fk(t,a);if(o!==void 0&&(r.set(Nt,o),i.push(o.registration)),a._tag===`Failure`)yield*Li(`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(Nt);if(s!==void 0&&pk(s,o,n))r.set(Nt,s),i.push(s.registration);else{let t=yield*ak(e).pipe(Mi(e=>Li(`Could not discover the primary environment.`,{error:e})),fe);if(g(t)){let e={signature:o,registration:t.value};r.set(Nt,e),i.push(t.value)}}}let s=Co();for(let[e,a]of hk(t,s,n))r.set(e,a),i.push(a.registration);if(s._tag===`Failure`)yield*Li(`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&&pk(o,a,n)){r.set(e.id,o),i.push(o.registration);continue}let s=yield*ok(e).pipe(Mi(t=>Li(`Could not connect a desktop-local backend.`,{id:e.id,error:t})),fe);if(g(s)){let t={signature:a,...s.value};r.set(e.id,t),i.push(s.value.registration)}else o!==void 0&&mk(o,a,n)&&(r.set(e.id,o),i.push(o.registration))}return yield*Do(e,r),i}).pipe(c(po));return lh.of({registrations:wn(sk).pipe(it(()=>t))})})),Bi(kd,kd.of({clear:(e,t)=>M(function*(){go(e,t);let{clearFollowUpQueuesEnvironment:r}=yield*ii(()=>n(()=>import(`./followUpQueuePersistence-C_pFQCnT.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])));r(e,t)})})),Bi(Gp,Gp.of({observe:({environmentId:e,method:t})=>P(()=>{JO+=1;let n=`${e}:${JO}`;return HD(n,t,`${t} · ${e}`),P(()=>{UD(n)})})})),Bi(Gm,Gm.of(Pv(Iv,({kind:e,outcome:t},r)=>{n(async()=>{let{recordPrimaryClientEvent:e}=await import(`./clientAnalytics-ChPHl8_D.js`);return{recordPrimaryClientEvent:e}},__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43])).then(({recordPrimaryClientEvent:n})=>n({event:`device.paired`,properties:{kind:e,outcome:t}},r)).catch(()=>void 0)})))),_k=`borg.searchatlas.api-key`,vk=`borg.searchatlas.api-customer-id`,yk=`borg-search-atlas-credential-changed`,bk=e=>/^\d+$/u.test(e)&&Number(e)>0,xk=()=>{try{let e=window.sessionStorage.getItem(_k)?.trim(),t=window.sessionStorage.getItem(vk)?.trim();return e&&t&&bk(t)?{kind:`apiKey`,key:e,customerId:t}:void 0}catch{return}};function Sk(e,t){try{e.trim()&&bk(t.trim())?(window.sessionStorage.setItem(_k,e.trim()),window.sessionStorage.setItem(vk,t.trim())):(window.sessionStorage.removeItem(_k),window.sessionStorage.removeItem(vk)),window.dispatchEvent(new Event(yk))}catch{}}function Ck(){Sk(``,``)}var wk=e=>e===null||e.trim().length===0?C():w({kind:`jwt`,token:e}),Tk=e=>{let t=wk(e);return g(t)?t:vt(xk())},Ek=Xn(Yf,M(function*(){let e=typeof window>`u`?void 0:window.desktopBridge,t=e?null:tD(),n=yield*Zn(),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?wk(n):Tk(n)};t!==null&&(yield*oe(P(()=>t.subscribe(e=>Mr(n,Tk(e)))),e=>P(e)));let i=e?.onSearchAtlasCredentialChanged;return i&&(yield*oe(P(()=>i(()=>{r().then(e=>Mr(n,e))})),e=>P(e))),typeof window<`u`&&(yield*oe(P(()=>{let e=()=>{r().then(e=>Mr(n,e))};window.addEventListener(yk,e);let t=vp(e);return()=>{window.removeEventListener(yk,e),t()}}),e=>P(e))),Yf.of({current:ii(r),changes:dt(n)})}));function Dk(){try{return{key:window.sessionStorage.getItem(_k)??``,customerId:window.sessionStorage.getItem(vk)??``}}catch{return{key:``,customerId:``}}}var Ok=gk.pipe(yr(my)),kk=ha(ig,Sh,fv),Ak=yi(dh({environmentThemes:!0}),kk).pipe(jr(ha(my,Ok,jy,Ek))),jk=lc(ha(My,Lv,eg(_v)).pipe(jr(Ak)));function Mk(e){return e.pipe(j(w),$a(e=>Li(`Could not load the initial environment configuration.`).pipe(li({...gp(e)}),f(C()))))}var Nk=6e3,Pk=S(`clientRuntime.state.fetchEnvironmentSessionState`)(function*(e){let t=ao(e.prepared.httpBaseUrl,`/api/auth/session`),n=yield*ro(e.prepared.httpBaseUrl),r=yield*vh(e.prepared.httpAuthorization,`GET`,t,e.signer);return yield*So(t,e.timeoutMs??Nk,_h(e.prepared.httpAuthorization,n.auth.session({headers:r})))});function Fk(e){let t=z(t=>e.atom(gm(t,br(Lp.pipe(j(e=>Qo(e.session).pipe(it(Me({onNone:()=>F(C()),onSome:e=>Mk(e.initialConfig)}))))))),{initialValue:C()})),n=z(e=>R(n=>ye(Ot(_s(n(t(e))),()=>C()))).pipe(B(`environment-config-value:${e}`))),i=z(t=>e.atom(gm(t,br(Lp.pipe(j(e=>Qo(e.prepared))))),{initialValue:C()})),a=z(e=>R(t=>Ot(_s(t(i(e))),()=>C())).pipe(B(`environment-prepared-connection:${e}`))),o=z(t=>e.atom(e=>{let n=ye(e(a(t)));return n===null?Gt:M(function*(){let e=yield*r(tf);return yield*Pk({prepared:n,signer:e})})}).pipe(wc({staleTime:3e4,revalidateOnMount:!0}),Ks(5*6e4),B(`environment-session-state:${t}`)));return{initialConfigAtom:t,initialConfigValueAtom:n,preparedConnectionAtom:i,preparedConnectionValueAtom:a,sessionStateAtom:o,sessionStateValueAtom:z(e=>R(t=>ye(_s(t(o(e))))??null).pipe(B(`environment-session-state-value:${e}`)))}}var Ik=Fk(jk),Lk=R(C()).pipe(B(`web-prepared-connection:empty`));function Rk(e){let t=(0,Kc.c)(2),n;return t[0]===e?n=t[1]:(n=e===null?Lk:Ik.preparedConnectionValueAtom(e),t[0]=e,t[1]=n),Bc(n)}function zk(e){return ye(kD.get(Ik.preparedConnectionValueAtom(e)))}export{Z_ as $,im as $t,tD as A,wc as An,Bh as At,Ev as B,Qo as Bn,Ym as Bt,_D as C,Bc as Cn,ug as Ct,oD as D,yc as Dn,Yh as Dt,pD as E,z as En,Gh as Et,Jv as F,ss as Fn,Eh as Ft,xv as G,ym as Gt,wv as H,Zo as Hn,Bm as Ht,$v as I,us as In,gh as It,mv as J,xm as Jt,_v as K,Sm as Kt,Iv as L,cs as Ln,ph as Lt,py as M,ws as Mn,Oh as Mt,cy as N,ds as Nn,Dh as Nt,aD as O,R as On,Vh as Ot,ty as P,vs as Pn,wh as Pt,rv as Q,gm as Qt,Fv as R,ls as Rn,mh as Rt,hD as S,Wc as Sn,gg as St,fD as T,Mc as Tn,Hh as Tt,Tv as U,es as Un,zm as Ut,Ov as V,L as Vn,Rm as Vt,Cv as W,Ro as Wn,em as Wt,hv as X,lm as Xt,gv as Y,vm as Yt,cv as Z,cm as Zt,ED as _,Xf as _n,Ig as _t,yk as a,dm as an,h_ as at,mD as b,nd as bn,pg as bt,Sk as c,Yp as cn,f_ as ct,qD as d,Hp as dn,Bg as dt,rm as en,X_ as et,AD as f,Lp as fn,Vg as ft,yD as g,Zf as gn,Fg as gt,DD as h,gp as hn,Hg as ht,jk as i,om as in,H_ as it,SE as j,B as jn,Rh as jt,nD as k,Ks as kn,zh as kt,qO as l,Xp as ln,c_ as lt,OD as m,vp as mn,Xg as mt,zk as n,hm as nn,U_ as nt,Ck as o,am as on,__ as ot,kD as p,yp as pn,Yg as pt,vv as q,bm as qt,Rk as r,tm as rn,G_ as rt,Dk as s,qp as sn,g_ as st,Ik as t,nm as tn,W_ as tt,YD as u,Qp as un,$g as ut,wD as v,Od as vn,vg as vt,vD as w,Ic as wn,Wh as wt,gD as x,Gc as xn,lg as xt,TD as y,rd as yn,dg as yt,Dv as z,_s as zn,hh as zt};
|
|
68
|
+
//# sourceMappingURL=session-Dmu9Hk5C.js.map
|