getborg 0.0.124 → 0.0.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/bin.mjs +4900 -2407
  2. package/dist/client/.vite/manifest.json +359 -359
  3. package/dist/client/assets/{ArrowRight-D8u8fAtz.js → ArrowRight-sXL3WqRj.js} +2 -2
  4. package/dist/client/assets/{ArrowSquareOut-B_f6YUhV.js → ArrowSquareOut-BXw7kBJ2.js} +2 -2
  5. package/dist/client/assets/{ArrowsClockwise-DQYZ1Xbo.js → ArrowsClockwise-C2ZJkkb1.js} +2 -2
  6. package/dist/client/assets/{CaretLeft-CfrkuxuJ.js → CaretLeft-u94enBjz.js} +2 -2
  7. package/dist/client/assets/{ChatMarkdown-Ch9PipMk.js → ChatMarkdown-PlWZFDnz.js} +5 -5
  8. package/dist/client/assets/{CircleNotch-BcVOnWaH.js → CircleNotch-DqcpMoTY.js} +2 -2
  9. package/dist/client/assets/{DesignWorkspace-CrijZIpE.js → DesignWorkspace-DmKoQxKI.js} +3 -3
  10. package/dist/client/assets/DiffPanel-D77xCxTK.js +2 -0
  11. package/dist/client/assets/{DiffWorkerPoolProvider-B-AH2sbL.js → DiffWorkerPoolProvider-ClROlLBb.js} +2 -2
  12. package/dist/client/assets/{DocxPreview-HXde7oD1.js → DocxPreview-HJVaPJXL.js} +4 -4
  13. package/dist/client/assets/{FilePreviewPanel-DkspqFyX.js → FilePreviewPanel-CFCxGnPA.js} +9 -9
  14. package/dist/client/assets/{HtmlPreview-pfh_hRgS.js → HtmlPreview-CJQuCP2x.js} +2 -2
  15. package/dist/client/assets/{PdfPreview-VSGe6F9I.js → PdfPreview-BgV8uugr.js} +3 -3
  16. package/dist/client/assets/{PptxPreview-CZZ5e7rI.js → PptxPreview-BVdzk7UG.js} +3 -3
  17. package/dist/client/assets/PreviewPanel-C8wYTZ3K.js +2 -0
  18. package/dist/client/assets/PullRequestCodeTab-6b-pnSLs.js +6 -0
  19. package/dist/client/assets/{PullRequestReactions-BJ4eU_08.js → PullRequestReactions-kdg3iZ85.js} +4 -4
  20. package/dist/client/assets/{RightPanelResizeHandle-XlC9gY5e.js → RightPanelResizeHandle-kUStdA3L.js} +2 -2
  21. package/dist/client/assets/{VirtualizedFile-qiRlyNDc.js → VirtualizedFile-DuJYdYdq.js} +2 -2
  22. package/dist/client/assets/{XlsxPreview-BPtt3tW-.js → XlsxPreview-Bi4rmMAb.js} +3 -3
  23. package/dist/client/assets/accountData-B88fzgQo.js +16 -0
  24. package/dist/client/assets/assetUrls-CF9bvkMB.js +2 -0
  25. package/dist/client/assets/assets-CkgNlvqv.js +2 -0
  26. package/dist/client/assets/{browserHistoryStore-CEVJXGfr.js → browserHistoryStore-DIuEAuCl.js} +3 -3
  27. package/dist/client/assets/{browserRecording-BavNt16V.js → browserRecording-2dQePGOK.js} +2 -2
  28. package/dist/client/assets/clientAnalytics-BbUHu8ei.js +1 -0
  29. package/dist/client/assets/{clientPersistenceStorage-CeJLSpQl.js → clientPersistenceStorage-DsdIKJBh.js} +2 -2
  30. package/dist/client/assets/{combobox-CQHB5X6j.js → combobox-DVmHwJKi.js} +2 -2
  31. package/dist/client/assets/{composerMentionDrag-CdTT1rUK.js → composerMentionDrag-CB6wqaTe.js} +2 -2
  32. package/dist/client/assets/{designCanvas.logic-DduGt5E7.js → designCanvas.logic-Ce5c0YLY.js} +4 -4
  33. package/dist/client/assets/{designOpenFileContext-CMKir5dG.js → designOpenFileContext-B0d1oDHN.js} +2 -2
  34. package/dist/client/assets/{diffFileContents-CHRsIT6_.js → diffFileContents-DuZ8MpUA.js} +2 -2
  35. package/dist/client/assets/{empty-DUUjhkFh.js → empty-d8cb8Ewx.js} +2 -2
  36. package/dist/client/assets/entities-DI7lpu_V.js +2 -0
  37. package/dist/client/assets/{followUpQueuePersistence-C_pFQCnT.js → followUpQueuePersistence-BL42ySpK.js} +1 -1
  38. package/dist/client/assets/{index-DrITfTBh.js → index-e-hiL6eh.js} +3 -3
  39. package/dist/client/assets/{input-CyCAHFxI.js → input-DzNFHo2W.js} +2 -2
  40. package/dist/client/assets/{lib-BRpsbmNP.js → lib-IA-5-mGB.js} +2 -2
  41. package/dist/client/assets/{main-C0iNAqq8.css → main-BM6qmGP4.css} +1 -1
  42. package/dist/client/assets/main-U2I6YwT-.js +169 -0
  43. package/dist/client/assets/{pdf-C3xMIdpt.js → pdf-Bh3amywC.js} +2 -2
  44. package/dist/client/assets/{popover-BXSj56CI.js → popover-DZf7p2yc.js} +2 -2
  45. package/dist/client/assets/{pptxDocument-BnTLF4HV.js → pptxDocument-Bsm1SylK.js} +2 -2
  46. package/dist/client/assets/{projectFilesQueryState-Cs5skZOc.js → projectFilesQueryState-DWDFHsif.js} +2 -2
  47. package/dist/client/assets/queries-B-YwYiCl.js +2 -0
  48. package/dist/client/assets/{scroll-area-DAaT-DGF.js → scroll-area-C5ps_bkR.js} +46 -46
  49. package/dist/client/assets/session-BKSQ__kZ.js +68 -0
  50. package/dist/client/assets/{spinner-K3N_kbJr.js → spinner-BYvweYT_.js} +2 -2
  51. package/dist/client/assets/textarea-bjEgsW0n.js +2 -0
  52. package/dist/client/assets/{toggle-Sui8J_p3.js → toggle-D4wtRT7F.js} +2 -2
  53. package/dist/client/assets/{toggle-group-BDgfPfOF.js → toggle-group-iSglhZY5.js} +2 -2
  54. package/dist/client/assets/useSettings-BgyJJ6VZ.js +5 -0
  55. package/dist/client/assets/{useWorkspaceMutationRefresh-ApasU6PB.js → useWorkspaceMutationRefresh-C-GODI1R.js} +2 -2
  56. package/dist/client/assets/utils-dD8AT1Cf.js +30 -0
  57. package/dist/client/assets/{xlsxDocument-SRKfhPKH.js → xlsxDocument-C12kQUhH.js} +2 -2
  58. package/dist/client/index.html +1 -1
  59. package/dist/service-launcher.mjs +20 -2
  60. package/dist/sharedChatWorker.mjs +21887 -0
  61. package/package.json +2 -1
  62. package/dist/client/assets/DiffPanel-Bbs-arXF.js +0 -2
  63. package/dist/client/assets/PreviewPanel-C_WqPJu_.js +0 -2
  64. package/dist/client/assets/PullRequestCodeTab-DLajHhi9.js +0 -6
  65. package/dist/client/assets/accountData-BKyjOPQm.js +0 -16
  66. package/dist/client/assets/assetUrls-33nMWFnF.js +0 -2
  67. package/dist/client/assets/assets-1BW7ZJgz.js +0 -2
  68. package/dist/client/assets/clientAnalytics-ChPHl8_D.js +0 -1
  69. package/dist/client/assets/entities-BtD3_L53.js +0 -2
  70. package/dist/client/assets/main-Bi6AoLeM.js +0 -167
  71. package/dist/client/assets/queries-BevoHPqY.js +0 -2
  72. package/dist/client/assets/session-Dmu9Hk5C.js +0 -68
  73. package/dist/client/assets/textarea-BT0tVWKM.js +0 -2
  74. package/dist/client/assets/useSettings-GEQSU1F5.js +0 -5
  75. package/dist/client/assets/utils-ClZ5OxbV.js +0 -30
@@ -0,0 +1,68 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/followUpQueuePersistence-BL42ySpK.js","assets/main-U2I6YwT-.js","assets/rolldown-runtime-DAXXjFlN.js","assets/index-e-hiL6eh.js","assets/index-DZprGaeP.css","assets/accountData-B88fzgQo.js","assets/utils-dD8AT1Cf.js","assets/queries-B-YwYiCl.js","assets/textarea-bjEgsW0n.js","assets/useSettings-BgyJJ6VZ.js","assets/clientPersistenceStorage-DsdIKJBh.js","assets/CircleNotch-DqcpMoTY.js","assets/designOpenFileContext-B0d1oDHN.js","assets/empty-d8cb8Ewx.js","assets/input-DzNFHo2W.js","assets/browserRecording-2dQePGOK.js","assets/RightPanelResizeHandle-kUStdA3L.js","assets/browserHistoryStore-DIuEAuCl.js","assets/entities-DI7lpu_V.js","assets/env-71Gq9H0m.js","assets/ArrowRight-sXL3WqRj.js","assets/ArrowSquareOut-BXw7kBJ2.js","assets/scroll-area-C5ps_bkR.js","assets/lib-BpnzBIoA.js","assets/ArrowsClockwise-C2ZJkkb1.js","assets/ChatMarkdown-PlWZFDnz.js","assets/assets-CkgNlvqv.js","assets/assetUrls-CF9bvkMB.js","assets/lib-CCiVGdun.js","assets/designCanvas.logic-Ce5c0YLY.js","assets/projectFilesQueryState-DWDFHsif.js","assets/designCanvas-CfWhq9nr.css","assets/CaretLeft-u94enBjz.js","assets/toggle-D4wtRT7F.js","assets/PullRequestReactions-kdg3iZ85.js","assets/popover-DZf7p2yc.js","assets/composerMentionDrag-CB6wqaTe.js","assets/combobox-DVmHwJKi.js","assets/useWorkspaceMutationRefresh-C-GODI1R.js","assets/DiffWorkerPoolProvider-ClROlLBb.js","assets/toggle-group-iSglhZY5.js","assets/spinner-BYvweYT_.js","assets/zipGuard-BHHl8sLU.js","assets/main-BM6qmGP4.css","assets/clientAnalytics-BbUHu8ei.js"])))=>i.map(i=>d[i]);
2
+ import{o as e,t}from"./rolldown-runtime-DAXXjFlN.js";import{t as n}from"./index-e-hiL6eh.js";import{$a as r,$c as i,$i as a,$l as o,$s as s,Aa as c,Ac as l,As as u,Au as d,B as f,Bc as p,Bd as m,Bi as h,Bl as g,Bs as _,Bt as v,Bu as y,C as ee,Ca as te,Cc as ne,Cd as re,Cf as ie,Cu as ae,Da as oe,Dc as se,Dd as ce,Di as le,Ds as ue,Du as de,Ea as fe,Ec as pe,Ed as me,Ei as he,Es as ge,Eu as _e,Fa as ve,Fc as ye,Fd as be,Fi as xe,Fs as Se,Fu as Ce,Gc as we,Gd as b,Gl as Te,Go as Ee,Gs as De,Hc as Oe,Hd as x,Hl as ke,Hs as Ae,Ia as je,Ic as Me,Id as Ne,Ii as Pe,Il as Fe,Is as Ie,Iu as Le,Ja as Re,Jc as ze,Jd as Be,Ji as Ve,Jl as He,Jt as Ue,Ju as We,Ka as Ge,Kc as Ke,Kd as S,Ki as qe,Kl as Je,Ko as Ye,Ks as Xe,Ku as Ze,La as Qe,Lc as $e,Ld as et,Li as tt,Ll as nt,Lo as rt,Lu as it,Ma as at,Mc as ot,Md as st,Mi as ct,Ml as lt,Ms as ut,Mu as dt,Na as ft,Nc as pt,Ni as mt,No as ht,Nu as gt,Oc as _t,Oi as vt,Ol as yt,Os as bt,Ou as xt,Pa as St,Pc as C,Pd as Ct,Pi as wt,Pl as Tt,Po as Et,Ps as Dt,Pu as Ot,Q as kt,Qc as At,Qd as jt,Qi as Mt,Ql as Nt,Ra as Pt,Rc as Ft,Rd as It,Ri as Lt,Ru as Rt,S as zt,Sa as Bt,Sc as Vt,Sd as Ht,Sf as Ut,Si as Wt,Sl as Gt,So as Kt,Ss as qt,St as Jt,Su as Yt,Ta as Xt,Tc as Zt,Td as Qt,Ti as $t,Tl as en,Ts as tn,Tt as nn,Tu as rn,Uc as an,Ud as on,Ul as sn,Uo as cn,Us as ln,V as un,Vc as dn,Vd as fn,Vi as pn,Vo as mn,Vs as hn,Vt as gn,Vu as _n,Wa as vn,Wc as yn,Wd as bn,Wi as xn,Wl as Sn,Wo as Cn,Ws as wn,Wt as Tn,Xa as En,Xc as Dn,Xi as On,Xl as kn,Xr as An,Xs as jn,Xt as Mn,Xu as Nn,Y as Pn,Ya as Fn,Yc as In,Yd as Ln,Yl as Rn,Ys as w,Yu as zn,Zc as Bn,Zd as Vn,Zi as Hn,Zs as T,Zu as Un,_a as Wn,_c as E,_d as Gn,_f as Kn,_i as qn,_l as Jn,_n as Yn,_o as Xn,_r as Zn,_t as Qn,_u as $n,a as er,aa as tr,ac as nr,ad as rr,al as D,au as ir,b as O,ba as ar,bd as or,bf as sr,bi as cr,bl as lr,bs as ur,bt as dr,bu as fr,c as pr,ca as mr,cc as k,cf as hr,cl as gr,cn as _r,co as vr,cr as yr,cu as br,d as xr,da as Sr,dc as Cr,dd as wr,df as Tr,dl as Er,do as Dr,du as Or,ec as A,ef as kr,el as Ar,eo as jr,f as Mr,fa as Nr,fc as Pr,fd as Fr,ff as Ir,fl as Lr,fu as Rr,ga as zr,gc as Br,gd as Vr,go as Hr,gt as Ur,ha as Wr,hc as Gr,ho as Kr,hr as qr,ht as Jr,hu as Yr,i as Xr,ia as Zr,ic as Qr,id as $r,il as ei,io as ti,iu as ni,ja as ri,jc as ii,jd as ai,ji as oi,jl as si,jo as ci,js as li,ju as ui,kc as di,ki as fi,ko as pi,ks as mi,kt as hi,ku as gi,l as _i,la as vi,lc as yi,ld as bi,lf as xi,ll as Si,lo as Ci,lu as wi,ma as Ti,mc as Ei,md as Di,ml as Oi,mu as ki,na as Ai,nc as ji,nf as Mi,nl as Ni,no as Pi,nu as Fi,oc as Ii,ol as Li,ou as Ri,p as zi,pa as Bi,pc as Vi,pf as Hi,pl as Ui,pn as Wi,po as j,pu as Gi,qa as Ki,qc as qi,qi as Ji,ql as Yi,qs as Xi,qt as Zi,qu as Qi,ra as $i,rc as ea,rd as ta,rf as na,rl as M,ro as ra,sc as N,sf as ia,sl as aa,so as oa,su as sa,t as ca,tc as la,td as ua,tl as da,tu as fa,ua as pa,uc as ma,uf as ha,uu as ga,v as _a,va,vd as ya,vf as ba,vi as xa,vl as P,vo as Sa,vt as Ca,vu as wa,w as Ta,wa as Ea,wc as Da,wd as Oa,wi as ka,x as Aa,xa as ja,xc as Ma,xd as F,xf as Na,xi as Pa,xl as Fa,xs as Ia,xt as La,xu as Ra,y as za,ya as Ba,yc as I,yf as Va,yi as Ha,yl as Ua,yn as Wa,yt as Ga,yu as Ka,za as qa,zc as Ja,zd as Ya,zi as Xa,zl as Za,zo as Qa,zs as $a,zt as eo,zu as to}from"./accountData-B88fzgQo.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-dD8AT1Cf.js";var Oo=`~effect/platform/Crypto`,ko=F(`effect/Crypto`),Ao=e=>{let t=e.randomBytes,n=e=>E(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:D(()=>r()),randomBoolean:D(()=>r()>.5),randomInt:D(()=>i()),randomBetween:(e,t)=>D(()=>r()*(t-e)+e),randomIntBetween(e,t,n){let i=n?.halfOpen===!0?0:1;return D(()=>{let n=Math.ceil(e),a=Math.floor(t);return Math.floor(r()*(a-n+i))+n})},randomShuffle:e=>D(()=>{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:D(()=>Po(t(16))),randomUUIDv7:Ae(e=>M(Io(e.currentTimeMillisUnsafe(),t(16))))})},jo=(e,t)=>Number.isSafeInteger(t)&&t>=0?M(t):w(tr({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??ga(),r=rn(`parallel`),i=ae(r,`sequential`),a={onFiberStart:ve(r)},o=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,c,l=lr(t=>(c||=Oe(Li(Ri(e,n,i),e=>D(()=>{u.cachedContext=e})),{...a,scheduler:t.currentScheduler}),s(ri(c)))),u={[Lo]:Lo,memoMap:n,scope:r,contextEffect:l,cachedContext:void 0,context(){return u.cachedContext===void 0?yn(u.contextEffect):Promise.resolve(u.cachedContext)},dispose(){return yn(u.disposeEffect)},[Symbol.asyncDispose](){return u.dispose()},disposeEffect:ei(()=>(u.contextEffect=Xe(`ManagedRuntime disposed`),u.cachedContext=void 0,Ra(u.scope,_n))),runFork(e,t){return u.cachedContext===void 0?Oe(zo(u,e),o(t)):an(u.cachedContext)(e,o(t))},runCallback(e,t){return u.cachedContext===void 0?p(zo(u,e),o(t)):dn(u.cachedContext)(e,o(t))},runSyncExit(e){return u.cachedContext===void 0?In(zo(u,e)):Dn(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?ze(zo(u,e)):Bn(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?we(zo(u,e),o(t)):Ke(u.cachedContext)(e,o(t))},runPromise(e,t){return u.cachedContext===void 0?yn(zo(u,e),o(t)):qi(u.cachedContext)(e,o(t))}};return u};function zo(e,t){return T(e.contextEffect,e=>pt(t,e))}var Bo=class extends F()(`effect/reactivity/Reactivity`){},Vo=D(()=>{let e=new Map,t=t=>{qo(t,t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})},n=e=>wn(n=>{let r=n.mapUnsafe.get(Ho.key);return r?qo(e,e=>{r.add(e)}):t(e),P}),r=(e,t)=>Li(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)=>k(function*(){let n=yield*ln(),r=Oa(n,wa),a=yield*Wr(),o=sr(an(n),ve(r)),s=!1,c=!1,l=e=>{e._tag===`Failure`?Ti(a,e.cause):va(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*Ka(r,D(i(e,u))),u(),a});return Bo.of({mutation:r,query:a,stream:(e,t)=>a(e,t).pipe(E(wt),Ai),invalidateUnsafe:t,invalidate:n,registerUnsafe:i,withBatch:t=>ei(()=>{let n=new Set;return t.pipe(C(Ho,n),pe(t=>D(()=>{n.forEach(t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})})))})})}),Ho=class extends F()(`effect/reactivity/Reactivity/PendingInvalidation`){},Uo=Va(2,(e,t)=>Bo.use(n=>n.mutation(t,e))),Wo=e=>Bo.use(t=>t.invalidate(e)),Go=sa(Bo)(Vo);function Ko(e){switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return String(e);default:return ha(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=>Hi(e,Jo),Xo={...Mi,[Jo]:{_A:Na},toJSON(){return{_id:`SubscriptionRef`,value:this.value}}},Zo=e=>E(oe({replay:1}),t=>{let n=Object.create(Xo);return n.semaphore=pa(1),n.value=e,n.pubsub=t,Ea(n.pubsub,e),n}),Qo=e=>mt(e.pubsub),L=e=>D(()=>e.value),$o=(e,t)=>{e.value=t,Ea(e.pubsub,t)},es=Va(2,(e,t)=>e.semaphore.withPermit(D(()=>$o(e,t)))),ts=Va(2,(e,t)=>e.semaphore.withPermit(D(()=>$o(e,t(e.value))))),ns={"~effect/reactivity/AsyncResult":{E:Na,A:Na},pipe(){return ie(this,arguments)},[hr](e){if(this._tag!==e._tag||this.waiting!==e.waiting)return!1;switch(this._tag){case`Initial`:return!0;case`Success`:return ia(this.value,e.value);case`Failure`:return ia(this.cause,e.cause)}},[Ir](){let e=Tr(`${this._tag}:${this.waiting}`);return this._tag===`Initial`?e:xi(e)(this._tag===`Success`?ha(this.value):ha(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??b(),n.waiting=t?.waiting??!1,n},fs=(e,t)=>ds(e,{previousSuccess:ai(t.previous,e=>cs(e)?S(e):us(e)?e.previousSuccess:b()),waiting:t.waiting}),ps=(e,t)=>fs(sn(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`?S(e.value):e._tag===`Failure`?on(e.previousSuccess,e=>e.value):b(),vs=Va(2,(e,t)=>Ne(_s(e),t)),ys=e=>Ya(_s(e),()=>new g(`AsyncResult.getOrThrow: no value found`)),bs=e=>{switch(e._tag){case`Success`:return y(e.value);case`Failure`:return Ce(e.cause);default:return Ot(new g)}},xs=`~effect/reactivity/AtomRegistry`,Ss=e=>Hi(e,xs),Cs=e=>new js(e?.initialValues,e?.scheduleTask,e?.timeoutResolution,e?.defaultIdleTTL),ws=F(xs),Ts=Va(e=>Ss(e[0]),(e,t,n)=>{let r=n?.suspendOnWaiting??!1;return Se(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 D(a)})}),Es=Va(2,(e,t)=>tn(D(()=>e.mount(t)),e=>D(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 Ze(`sync`,t),this.schedulerAsync=new Ze(`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,ba,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?b():S(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 Da;switch(n._tag){case`Initial`:return Da;case`Failure`:return Ce(n.cause);case`Success`:return M(n.value)}},resultOnce(e,t){return Se(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 D(i)})},setResult(e,t){return this.disposed?Da:(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`?Da:M(t.value)},someOnce(e){return Se(t=>{let n=this.once(e);if(x(n))return t(M(n.value));let r=this.node.registry.subscribe(e,e=>{fn(e)||(r(),t(M(e.value)))},{immediate:!1});return D(r)})},once(e){return this.node.registry.get(e)},self(){return this.disposed?b():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?$t:qn(n=>D(()=>{this.subscribe(e,e=>va(n,e),{immediate:!t?.withoutInitialValue})}))},streamResult(e,t){return this.stream(e,t).pipe(fi(os),Xa(e=>e._tag===`Success`?M(e.value):jn(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=>Hi(e,Us),Gs=`~effect/reactivity/Atom/Writable`,Ks=Va(2,(e,t)=>{let n=wr(t),r=Fr(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?ya(n):void 0})}),qs=Ks(0),Js={[Us]:Us,equals:Object.is,...Mi,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 Pr(i)?Uo(i,n.reactivityKeys):he(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`&&!Pr(e)&&!Pe(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(Pr(e))return function(n,r){return oc(n,e,t,r)};else if(Pe(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=re(),i=!1){let a=e.self(),o=rn();e.addFinalizer(()=>{an(r)(Ra(o,_n))});let s=new Map(r.mapUnsafe);s.set(wa.key,o),s.set(ws.key,e.registry),s.set(Qi.key,e.registry.scheduler);let c,l=!1,u=cc(ce(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(it(t)){n(t);return}let i=an(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=>ki(r(e),t):()=>ki(r,t)));return i.layer=a,i.read=function(t){let n=t(a);return oc(t,T(At,t=>Ri(n,e.memoMap,t)),{uninterruptible:!0})},i}n.memoMap=e.memoMap,n.addGlobalLayer=e=>{t=ki(t,Gi(e,Go))};let r=qs(R(wn(t=>Ri(Go,e.memoMap,Oa(t,wa))).pipe(E(Oa(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:ga()});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=re()){let i=e.self();r=Ht(r,ws,e.registry);let a=Ar(n=>T(mr(t.channel,n),t=>Ua({while:Kn,body:()=>t,step(t){e.setSelf(ls(ta(t),{waiting:!0}))}}))).pipe(Ie(t=>(Tt(t)?Ut(e.self(),ai(_s),bn({onNone:()=>e.setSelf(ps(new g,{previous:e.self()})),onSome:t=>e.setSelf(ls(t))})):e.setSelf(fs(t,{previous:e.self()})),P))),o=new Map(r.mapUnsafe);o.set(ws.key,e.registry),o.set(Qi.key,e.registry.scheduler);let s=cc(ce(o),a,ba,!1);return s!==void 0&&e.addFinalizer(s),i._tag===`Some`?as(i):ms(n)}var fc=(e,t,n=re())=>Yo(t)?(e.addFinalizer(Qo(t).pipe(Ji(t=>{for(let n=0;n<t.length;n++)e.setSelf(t[n]);return P}),dn(n))),Bn(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)?ze(es(r,n)):cs(r)&&ze(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(Rn(),{previous:t.self()});let l=e(c,t);return rc in l?(o&&(l=T(nr(l,{startImmediately:!0}),e=>(o.add(e),e.addObserver(()=>o.delete(e)),E(St(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(a(typeof n==`function`?n(e):n),n=>{let i=at().context,a=Nn(),o=Vt(n,{onFailure(e){return Tt(e)?ua(a)?M({done:!0,items:a}):w(new g(`Atom.pull: no items`)):jn(e)},onSuccess(e){let t;return r?.disableAccumulation?t=e:(t=zn(a,e),a=t),M({done:!1,items:t})}}),s=new Set;return e.addFinalizer(()=>{for(let e of s)e()}),e.once(t),e.subscribe(t,()=>{e.setSelf(as(e.self()));let t;t=cc(i,o,n=>{t&&s.delete(t);let r=is(n,e.self()),i=s.size>0;e.setSelf(i?ms(r):r)}),t&&s.add(t)}),o}),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=je();return function(n){let r=Qe(t,n);if(r._tag===`Some`)return r.value;let i=e(n);return qa(t,n,i),i}}:e=>{let t=je(),n=new FinalizationRegistry(e=>{Pt(t,e)});return function(r){let i=Qe(t,r).pipe(st(e=>e.deref()));if(i._tag===`Some`)return i.value;let a=e(r);return qa(t,r,new WeakRef(a)),n.register(a,r),a}},yc=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0}),B=Va(2,(e,t)=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,label:[t,Error().stack?.split(`
3
+ `)[5]??``]})),bc=Va(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=Va(2,(e,t)=>bc(e,n=>t(n(e)))),Cc=Va(2,(e,t)=>{let n=ya(wr(t));return bc(e,function(t){let r=setTimeout(()=>t.refresh(e),n);return t.addFinalizer(()=>clearTimeout(r)),t(e)},{initialValueTarget:e})}),wc=Va(2,(e,t)=>{let n=ya(wr(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)})),fn(r.self())&&t.revalidateOnMount===!1||Dc(i,n)&&r.refresh(e),i},{initialValueTarget:e})}),Tc=e=>e._tag===`Success`?S(e.timestamp):e._tag===`Failure`?on(e.previousSuccess,e=>e.timestamp):b(),Ec=(e,t,n)=>n-e<t,Dc=(e,t)=>{if(e.waiting)return!1;let n=m(Tc(e));return n===void 0?e._tag!==`Initial`:!Ec(n,t,Date.now())},Oc=Vs,kc=`~effect-atom/atom/Atom/ServerValue`,Ac=Va(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&&de(te,t.startTime-e)}}var ne=!1,re=-1,ie=5,ae=-1;function oe(){return g?!0:!(e.unstable_now()-ae<ie)}function se(){if(g=!1,ne){var t=e.unstable_now();ae=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(re),re=-1),p=!0;var a=f;try{b:{for(ee(t),d=n(c);d!==null&&!(d.expirationTime>t&&oe());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,ee(t),i=!0;break b}d===n(c)&&r(c),ee(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&de(te,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ce():ne=!1}}}var ce;if(typeof y==`function`)ce=function(){y(se)};else if(typeof MessageChannel<`u`){var le=new MessageChannel,ue=le.port2;le.port1.onmessage=se,ce=function(){ue.postMessage(null)}}else ce=function(){_(se,0)};function de(t,n){re=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):ie=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(re),re=-1):h=!0,de(te,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ne||(ne=!0,ce()))),r},e.unstable_shouldYield=oe,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),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=we(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(to(e))return e.value;throw ni(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=_a(),qc=class extends F()(`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=>D(()=>t(e)),readUnsafe:n,read:D(n),clearUnsafe:r,clear:D(r)})},Yc=`~effect/workers/WorkerError`,Xc=Kt([class extends ti(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:Ee(`WorkerSpawnError`),message:j,cause:cn(ra())}){},class extends ti(`effect/workers/WorkerError/WorkerSendError`)({_tag:Ee(`WorkerSendError`),message:j,cause:cn(ra())}){},class extends ti(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:Ee(`WorkerReceiveError`),message:j,cause:cn(ra())}){},class extends ti(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:Ee(`WorkerUnknownError`),message:j,cause:cn(ra())}){}]);ti(Yc)({_tag:Ee(`WorkerError`),reason:Xc});var Zc=`~effect/rpc/RpcClientError`,Qc=class extends ti(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:Ee(`RpcClientDefect`),message:j,cause:ra()}){},$c=class extends ti(Zc)({_tag:Ee(`RpcClientError`),reason:Kt([Xc,Ca,gn,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 F()(`effect/rpc/RpcSerialization`){};Za(`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=Yr(Cu)(wu),Eu=e=>ei(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>wn(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),P});return E(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return k(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*pt(ei(()=>i(e)),t)}return yield*pe(Da,()=>(t.delete(e),r.delete(e),P))})}}))}),Du=0,Ou=la(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>Du++),o=yield*ln(),s=Oa(o,wa),c=new Map,l=yield*da(Ru),u=!1;yield*Ka(s,lr(e=>(u=!0,d(Le(e.id)))));let d=la(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?Nr(n.queue):Bi(n.queue,e.cause):n.resume(e)}),f=e=>{let r=Ta(e.successSchema),a=h(e);return(o,s)=>{let c=s?.headers?Ue(s.headers):Zi,l=s?.context??re();if(!r){let r=t=>p(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):Jn(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=m(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:Ai(E(u,wt))}},p=(e,n,r,i,o,s,d)=>lr(f=>{if(u)return ma;let p=a(),m=x(l)&&l.value.onRequestStart?l.value.onRequestStart({id:p,tag:e._tag,stream:!1}):P,h=n(e=>t.onFromClient({message:e,context:s,discard:d}),{_tag:`Request`,id:p,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:Mn(f.getRef(Nu),o)});if(d)return m.pipe(mi(h));let _;return se(Se(t=>{let n={_tag:`Effect`,rpc:e,context:s,resume(e){t(e),_&&!_.pollUnsafe()&&f.currentDispatcher.scheduleTask(()=>{_.interruptUnsafe(f.id)},0)}};c.set(p,n),_=m.pipe(mi(h),r?Fa(r,{captureStackTrace:!1}):Na,an(f.context)),_.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>{let t=c.get(p);return c.delete(p),mi(ft(_),g(p,Array.from(e),s,t?.rpc._tag))})}),m=la(function*(e,r,o,s,d,f){if(u)return yield*ma;let p=i?void 0:yield*Br(`${n}.${e._tag}`,{attributes:t.spanAttributes}),m=at(),h=a(),_=x(l)&&l.value.onRequestStart?l.value.onRequestStart({id:h,tag:e._tag,stream:!0}):P,v=Qt(m.context,wa);yield*fr(v,e=>{let t=c.get(h);return t?(c.delete(h),g(h,Rt(e)?Array.from(kn(e.cause)):[],f,t.rpc._tag)):P});let y=yield*Sr(d);return c.set(h,{_tag:`Queue`,rpc:e,queue:y,scope:v,context:f,chunkCount:0}),yield*_.pipe(mi(r(e=>t.onFromClient({message:e,context:f,discard:!1}),{_tag:`Request`,id:h,tag:e._tag,payload:o,...p?{traceId:p.traceId,spanId:p.spanId,sampled:p.sampled}:{},headers:Mn(m.getRef(Nu),s)}))).pipe(p?Fa(p,{captureStackTrace:!1}):Na,Ie(e=>Bi(y,e)),Cr,Ii(v,{startImmediately:!0})),y}),h=e=>{let t=[];for(let n of e.middlewares.values()){let e=o.mapUnsafe.get(`${n.key}/Client`);e&&t.push(e)}return t.length===0?(e,t)=>e(t):function n(r,i,a=t.length-1){return a===-1?r(i):t[a]({rpc:e,request:i,next(e){return n(r,e,a-1)}})}},g=(e,n,r,i)=>(x(l)&&l.value.onRequestInterrupt?l.value.onRequestInterrupt({id:e,tag:i}):P).pipe(mi(Se(i=>{let a=at();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(Si(1e3),an(a.context)).addObserver(()=>{i(P)})}))),_=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);if(!i||i._tag!==`Queue`)return P;let a=i.chunkCount+=e.values.length,o=x(l)&&l.value.onRequestChunk?l.value.onRequestChunk({id:n,tag:i.rpc._tag,chunkCount:a}):P;return Wn(i.queue,e.values).pipe(mi(o),r?T(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):Na,Ie(e=>Bi(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);if(!n)return P;c.delete(t);let r=x(l)&&l.value.onRequestExit?l.value.onRequestExit({id:t,tag:n.rpc._tag,stream:n._tag===`Queue`,exit:e.exit}):P;return n._tag===`Effect`?r.pipe(mi(D(()=>{n.resume(e.exit)}))):r.pipe(mi(e.exit._tag===`Success`?Nr(n.queue):Bi(n.queue,e.exit.cause)))}case`Defect`:return d(gt(e.defect));case`ClientEnd`:return P}},v;if(t.flatten){let t=new Map;v=function(n,r,i){let a=t.get(n);return a||(a=f(e.requests.get(n)),t.set(n,a)),a(r,i)}}else v={},e.requests.forEach(e=>{na(v,e._tag,f(e))});return{client:v,write:_}}),ku=0,Au=la(function*(e,t){let n=ku++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Pu,s=new Map,{client:c,write:l}=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,c=at(),l={rpc:r,context:a?Ht(c.context,qc,a):c.context,schemas:Mu(r)};return s.set(t.id,l),l.schemas.encodePayload(t.payload).pipe(pt(l.context),di,T(e=>i(n,{...t,id:t.id,payload:e,headers:Object.entries(t.headers)},a&&a.readUnsafe())))}case`Ack`:return s.get(t.requestId)?i(n,{_tag:`Ack`,requestId:t.requestId}):P;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:t.requestId})):P;case`Eof`:return P}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=el(e.requestId),n=s.get(t);return!n||fn(n.schemas.decodeChunk)?P:n.schemas.decodeChunk.value(e.values).pipe(pt(n.context),di,T(t=>l({_tag:`Chunk`,clientId:0,requestId:el(e.requestId),values:t})),Zt(t=>l({_tag:`Exit`,clientId:0,requestId:el(e.requestId),exit:Ce(t)})))}case`Exit`:{let t=el(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(pt(n.context),di,Vt({onSuccess:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:Ce(e)})}))):P}case`Defect`:return l({_tag:`Defect`,clientId:0,defect:Bu(e.defect)});case`ClientProtocolError`:{let t=Ot(e.error);return ji(s.keys(),e=>l({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return P}}).pipe(Ie(Ei),Cr,N),c}),ju=new WeakMap,Mu=e=>{let t=ju.get(e);return t===void 0?(t={decodeChunk:on(ee(e.successSchema),e=>ci(Ye(Ci(e.success)))),encodePayload:Et(Ye(e.payloadSchema)),decodeExit:ci(Ye(zt(e)))},ju.set(e,t),t):t},Nu=or(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Zi}),Pu=class extends F()(`effect/rpc/RpcClient/Protocol`){static make=Eu},Fu=e=>Pu.make(la(function*(t,n){let r=yield*Jr,i=yield*Cu,a=yield*da(zu),o=new Map,s=yield*r.writer,c=i.makeUnsafe(),l=yield*Lu(s(c.encode(tl)),x(a)?a.value:void 0),u,d=ei(()=>(u=void 0,x(a)?a.value.onConnect:P)),f=e=>ji(n,n=>t(n,e));return yield*ei(()=>(c=i.makeUnsafe(),l.reset(),r.runRaw(e=>{try{let n=c.decode(e);if(n.length===0)return;let r=0;return Ua({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return l.onPong;if(Object.hasOwn(e,`requestId`)){let n=e.requestId,r=o.get(n);if(r!==void 0)return e._tag===`Exit`&&o.delete(n),t(r,e)}return f(e)},step:ba})}catch(e){return f({_tag:`ClientProtocolError`,error:new $c({reason:new Qc({message:`Error decoding message`,cause:e})})})}},{onOpen:d}).pipe(Me(T(l.timeout,()=>(x(a)&&a.value.onPingTimeout?a.value.onPingTimeout:P).pipe(mi(w(new Qn({reason:new Ga({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))))).pipe(T(()=>w(new Qn({reason:new Ur({code:1e3})}))),x(a)?Xi(a.value.onDisconnect):Na,aa(t=>{let n=Sn(t),r=bi(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?P:(u=new $c({reason:r?n.success.reason:new Qc({message:`Unknown socket error`,cause:ni(t)})}),f({_tag:`ClientProtocolError`,error:u}))}),Ja(e?.retryPolicy??Iu),li({module:`RpcClient`,method:`makeProtocolSocket`}),N),{send(e,t){if(u)return w(u);t._tag===`Request`&&o.set(t.id,e);let n=c.encode(t);return n===void 0?P:di(s(n))},supportsAck:!0,supportsTransferables:!1}})),Iu=yt([en(500,1.5),lt(5e3)]),Lu=la(function*(e,t){let n=!0,r=0,i=c(),a=()=>{n=!0,r=0,i.closeUnsafe()},o=D(()=>{n=!0,r=0}).pipe(mi(t?.onPong??P));return yield*ei(()=>n?(n=!1,r=0,(t?.onPing??P).pipe(mi(e))):(r+=1,r>=3?i.open:(t?.onPing??P).pipe(mi(e)))).pipe(De(`5 seconds`),yi,ea,Cr,N),{timeout:i.await,reset:a,onPong:o}}),Ru=class extends F()(`effect/rpc/RpcClient/RequestHooks`){},zu=class extends F()(`effect/rpc/RpcClient/ConnectionHooks`){},Bu=pi(ra()),Vu=class extends F()(`@borgtools/client-runtime/platform/capabilities/BorgDeviceIdentity`){},Hu=class extends F()(`@borgtools/client-runtime/platform/capabilities/ClientPresentation`){},Uu=class extends F()(`@borgtools/client-runtime/platform/capabilities/PrimaryEnvironmentAuth`){},Wu=class extends F()(`@borgtools/client-runtime/platform/capabilities/SshEnvironmentGateway`){},Gu=class extends F()(`@borgtools/client-runtime/platform/capabilities/BorgTunnelGateway`){},Ku={environmentId:Ki,label:j},qu=class extends Hr()(`PrimaryConnectionTarget`,{...Ku,httpBaseUrl:j,wsBaseUrl:j}){},Ju=class extends Hr()(`BearerConnectionTarget`,{...Ku,connectionId:j}){},Yu=class extends Hr()(`CloudConnectionTarget`,{...Ku,connectionId:j}){},Xu=class extends Hr()(`SshConnectionTarget`,{...Ku,connectionId:j}){},Zu=class extends Hr()(`BorgConnectionTarget`,{...Ku,connectionId:j,deviceId:j}){};Kt([qu,Ju,Yu,Xu,Zu]);var Qu=Kt([Ju,Yu,Xu,Zu]),$u=vr([`network`,`timeout`,`transport`,`endpoint-unavailable`,`borg-unavailable`,`remote-unavailable`]),ed=vr([`authentication`,`configuration`,`permission`,`unsupported`]),td=class extends Xn()(`ConnectionTransientError`,{reason:$u,detail:j,traceId:Cn(j)}){get message(){return this.detail}},Y=class extends Xn()(`ConnectionBlockedError`,{reason:ed,detail:j,traceId:Cn(j)}){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:j,environmentId:Ki,label:j},ad=class extends Hr()(`BearerConnectionProfile`,{...id,httpBaseUrl:j,wsBaseUrl:j}){},od=class extends Hr()(`CloudConnectionProfile`,{...id,httpBaseUrl:j,wsBaseUrl:j}){},sd=class extends Hr()(`SshConnectionProfile`,{...id,target:Pn}){},cd=class extends Hr()(`BorgConnectionProfile`,{...id,borgApiUrl:j,deviceId:j}){},ld=Kt([ad,od,sd,cd]),ud=class extends Hr()(`BearerConnectionCredential`,{token:j}){},dd=Kt([ud]),fd=class extends Hr()(`PrimaryConnectionRegistration`,{target:qu}){},pd=class extends Hr()(`BearerConnectionRegistration`,{target:Ju,profile:ad,credential:ud}){},md=class extends Hr()(`CloudConnectionRegistration`,{target:Yu,profile:od,credential:ud}){},hd=class extends Hr()(`SshConnectionRegistration`,{target:Xu,profile:sd}){},gd=class extends Hr()(`BorgConnectionRegistration`,{target:Zu,profile:cd,credential:ud}){};Kt([pd,md,hd,gd]),Kt([fd,pd]);function _d(e){switch(e._tag){case`PrimaryConnectionRegistration`:return{target:e.target,profile:b()};case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`SshConnectionRegistration`:case`BorgConnectionRegistration`:return{target:e.target,profile:S(e.profile)}}}var vd=class extends F()(`@borgtools/client-runtime/connection/credentialStore/ConnectionCredentialStore`){},yd=e=>vd.of(e),bd=class extends F()(`@borgtools/client-runtime/connection/profileStore/ConnectionProfileStore`){},xd=e=>bd.of(e),Sd=class extends F()(`@borgtools/client-runtime/connection/connectivity`){},Cd=e=>Sd.of(e),wd=e=>Yr(Sd,Cd(e)),Td=class extends Xn()(`ConnectionPersistenceError`,{operation:vr([`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:j}){},Ed=class extends F()(`@borgtools/client-runtime/platform/persistence/ConnectionTargetStore`){},Dd=class extends F()(`@borgtools/client-runtime/platform/persistence/ConnectionRegistrationStore`){},Od=class extends F()(`@borgtools/client-runtime/platform/persistence/EnvironmentCacheStore`){},kd=class extends or(`@borgtools/client-runtime/platform/persistence/EnvironmentOwnedDataCleanup`,{defaultValue:()=>({clear:()=>P})}){},Ad=/^[\u0021\u0023-\u005b\u005d-\u007e]+$/u,jd=class extends Xn()(`OAuthScopeEncodingError`,{scopes:r(j),invalidScopes:r(j),duplicateScopes:r(j)}){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=A(`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:Wa,subject_token:e.credential,subject_token_type:Wi,requested_token_type:_r,...e.scopes?{scope:Md(e.scopes)}:{},...Pd(e.clientMetadata)}})),r=Ld(n,e.clientMetadata);return r===null?n:yield*w(r)}),Bd=A(`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:Wa,subject_token:e.credential,subject_token_type:Wi,requested_token_type:_r,...e.scopes?{scope:Md(e.scopes)}:{},...Pd(e.clientMetadata)}})),r=Ld(n,e.clientMetadata);return r===null?n:yield*w(r)});A(`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}`}}))}),A(`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=A(`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=A(`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=A(`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=A(`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)}Kt([class extends Xn()(`DpopKeyLoadError`,{keyStore:vr([`expo-secure-store`,`indexed-db`]),cause:ra()}){get message(){return`Could not load the DPoP proof key.`}},class extends Xn()(`DpopProofCreationError`,{method:j,url:j,cause:ra()}){get message(){return`Could not create the DPoP proof for ${this.method} ${this.url}.`}}]);var tf=class extends F()(`@borgtools/client-runtime/authorization/dpopSigner`){},nf=j.check(mn(1)),rf=Kr({httpBaseUrl:nf,wsBaseUrl:nf,providerKind:j}),af=class extends Pi(`@borgtools/client-runtime/authorization/RemoteDpopAccessToken`)({environmentId:Ki,label:j,endpoint:rf,accessToken:j,expiresAtEpochMs:Dr,dpopThumbprint:j}){},of=class extends F()(`@borgtools/client-runtime/authorization/tokenStore/RemoteDpopAccessTokenStore`){},sf=e=>of.of(e),cf=class extends F()(`@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=A(`clientRuntime.connection.remote.fetchDescriptor`)(function*(e){return yield*io({httpBaseUrl:e}).pipe(I($d))}),mf=sa(cf,k(function*(){let e=yield*da(tf),t={thumbprint:x(e)?e.value.thumbprint:Xe(Error(`No DPoP signer is registered for this client.`)),createProof:t=>x(e)?e.value.createProof(t):Xe(Error(`No DPoP signer is registered for this client.`))},n=yield*Hu,r=yield*of,i=yield*_o,a=yield*no(new Map),o=A(`clientRuntime.connection.remote.authorizeBearer`)(function*(e){let t=e.httpClient??i,r=yield*nt,o=(yield*vo(a)).get(e.expectedEnvironmentId),s=o?.httpBaseUrl===e.httpBaseUrl&&o.validatedAtEpochMs+df>r,c=s?o.descriptor:yield*pf(e.httpBaseUrl).pipe(C(_o,t));if(c.environmentId!==e.expectedEnvironmentId)return yield*Qd({expected:e.expectedEnvironmentId,actual:c.environmentId});s||(yield*wo(a,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(I($d),C(_o,t));return{environmentId:c.environmentId,label:c.label,httpBaseUrl:e.httpBaseUrl,socketUrl:l,httpAuthorization:{_tag:`Bearer`,token:e.bearerToken}}}),s=A(`clientRuntime.connection.remote.createDpopSocketUrl`)(function*(e,r){let a=yield*t.createProof({method:`POST`,url:ao(e.endpoint.httpBaseUrl,`/api/auth/websocket-ticket`),accessToken:e.accessToken}).pipe(I(()=>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:a,clientMetadata:n.metadata,connectionMethod:`borg`,...r===void 0?{}:{timeoutMs:r}}).pipe(C(_o,i))}),c=A(`clientRuntime.connection.remote.authorizeDpop`)(function*(e){let a=yield*t.thumbprint.pipe(I(()=>new Y({reason:`configuration`,detail:`Could not load the environment authorization key.`})),Gt(`environment.authorization.dpopKey.resolve`)),o=yield*nt,c=yield*r.get(e.expectedEnvironmentId).pipe(Gt(`environment.authorization.accessToken.cache`));if(x(c)&&c.value.environmentId===e.expectedEnvironmentId&&c.value.dpopThumbprint===a&&c.value.expiresAtEpochMs>o+lf){yield*u({"connection.remote_token_cache":`hit`});let t=yield*s(c.value,uf).pipe(Ft);if(bi(t))return{environmentId:c.value.environmentId,label:c.value.label,httpBaseUrl:c.value.endpoint.httpBaseUrl,socketUrl:t.success,httpAuthorization:{_tag:`Dpop`,accessToken:c.value.accessToken}};if(t.failure._tag===`ConnectionBlockedError`)return yield*ff(t.failure);yield*r.remove(e.expectedEnvironmentId).pipe(Gt(`environment.authorization.accessToken.remove`))}yield*u({"connection.remote_token_cache":`miss`});let l=yield*e.obtainBootstrap,d=yield*pf(l.endpoint.httpBaseUrl).pipe(C(_o,i),Gt(`environment.authorization.descriptor`));if(d.environmentId!==e.expectedEnvironmentId)return yield*Qd({expected:e.expectedEnvironmentId,actual:d.environmentId});let f=yield*t.createProof({method:`POST`,url:ao(l.endpoint.httpBaseUrl,`/oauth/token`)}).pipe(I(()=>new Y({reason:`configuration`,detail:`Could not create the environment authorization proof.`}))),p=yield*zd({httpBaseUrl:l.endpoint.httpBaseUrl,credential:l.credential,dpopProof:f,scopes:n.scopes,clientMetadata:n.metadata}).pipe(I(ef),C(_o,i),Gt(`environment.authorization.accessToken.exchange`)),m=yield*nt,h=new af({environmentId:d.environmentId,label:d.label,endpoint:l.endpoint,accessToken:p.access_token,expiresAtEpochMs:m+p.expires_in*1e3,dpopThumbprint:a}),g=yield*s(h).pipe(I(ff));return yield*r.put(h).pipe(Gt(`environment.authorization.accessToken.persist`)),{environmentId:d.environmentId,label:d.label,httpBaseUrl:l.endpoint.httpBaseUrl,socketUrl:g,httpAuthorization:{_tag:`Dpop`,accessToken:h.accessToken}}});return cf.of({authorizeBearer:o,authorizeDpop:e=>c(e).pipe(Gt(`environment.authorization`))})})),hf=new Map,gf={latest:e=>hf.get(e),set:(e,t)=>D(()=>void hf.set(e,t))},_f=class extends or(`@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=>k(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 v({reason:new eo({request:t,description:`Borg tunnel supports only in-memory request bodies.`})}),i=yield*Lr({try:()=>jf(e,{method:t.method,path:`${n.pathname}${n.search}`,headers:{...t.headers},body:r}),catch:e=>new v({reason:new Tn({request:t,cause:e})})});return nn(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 F()(`@borgtools/client-runtime/connection/resolver/ConnectionResolver`){},If=Qa(ad),Lf=Qa(od),Rf=Qa(Kt([ad,od])),zf=Qa(sd),Bf=Qa(cd),Vf=Qa(ud);function Hf(e,t){let n=new URL(oo(e.wsBaseUrl));return Rd(n,t,`direct`),n.toString()}var Uf=A(`clientRuntime.connection.broker.makePrimary`)(function*(){let e=yield*Uu,t=yield*Hu,n=yield*cf;return A(`clientRuntime.connection.broker.primary`)(function*(r){let i=yield*e.bearerToken;return fn(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=A(`clientRuntime.connection.broker.makeBearer`)(function*(){let e=yield*vd,t=yield*cf,n=yield*_f;return A(`clientRuntime.connection.broker.bearer`)(function*(r){let i=r.target,a=yield*bn(r.profile,{onNone:()=>w(Xd(i.connectionId)),onSome:M});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(bn({onNone:()=>w(Zd(i.connectionId)),onSome:M})));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=A(`clientRuntime.connection.broker.makeSsh`)(function*(){let e=yield*bd,t=yield*Wu,n=yield*cf;return A(`clientRuntime.connection.broker.ssh`)(function*(r){let i=r.target,a=yield*bn(r.profile,{onNone:()=>w(Xd(i.connectionId)),onSome:M});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=A(`clientRuntime.connection.broker.makeBorg`)(function*(){let e=yield*vd,t=yield*Gu,n=yield*cf;return A(`clientRuntime.connection.broker.borg`)(function*(r){let i=r.target,a=yield*bn(r.profile,{onNone:()=>w(Xd(i.connectionId)),onSome:M});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(bn({onNone:()=>w(Zd(i.connectionId)),onSome:M})));if(!Vf(o))return yield*Zd(i.connectionId);let s=qi(yield*ln()),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=sa(Ff,k(function*(){let e=yield*Uf(),t=yield*Wf(),n=yield*Gf(),r=yield*Kf(),i=A(`clientRuntime.connection.broker.prepare`)(function*(i){let a=i.target;switch(yield*u({"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(Aa),Yf=class extends F()(`@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&&x(e)?e.value.config.environmentThemes:void 0;return S({config:n===void 0?t.config:{...t.config,environmentThemes:n},latestEvent:t,source:`live`})}case`keybindingsUpdated`:return on(e,e=>({config:{...e.config,keybindings:t.payload.keybindings,issues:t.payload.issues},latestEvent:t,source:`live`}));case`providerStatuses`:return on(e,e=>({config:{...e.config,providers:t.payload.providers},latestEvent:t,source:`live`}));case`settingsUpdated`:return on(e,e=>({config:{...e.config,settings:t.payload.settings},latestEvent:t,source:`live`}));case`environmentThemesUpdated`:return on(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 F()(`@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=A(`RpcSessionFactory.make`)(function*(e={}){let t=yield*dr,n=yield*da(Yf),r=e.environmentThemes===!0?{environmentThemes:!0}:{},i=la(function*(e){yield*u({"connection.environment.id":e.environmentId});let i=yield*ui(),a=yield*ui(),o=zu.of({onConnect:dt(i,void 0).pipe(Dt),onDisconnect:d(i).pipe(T(t=>xt(a,new td({reason:`transport`,detail:t?`${e.label} disconnected.`:`${e.label} could not establish a WebSocket connection.`}))),Dt)}),s=La(e.socketUrl,{openTimeout:Qf}).pipe(Gi(Yr(dr,e.socketConstructor??t))),c=yield*ir(sa(Pu,Fu({retryTransientErrors:!1,retryPolicy:si(0)})).pipe(Gi(Rr(s,Tu,Yr(zu,o))))).pipe(Gt(`environment.websocket.connect`)),l=yield*Jf.pipe(ot(c)),f=yield*ui(),p=yield*ui(),g=yield*ui(),_=yield*no(b()),v=yield*Xt(64),y=new td({reason:`remote-unavailable`,detail:`${e.label} config subscription ended.`}),ee=l[O.subscribeServerConfig](r).pipe(qe(e=>k(function*(){let t=yield*yo(_,t=>{let n=Zf(on(t,e=>e.projection),e);if(fn(n))return[b(),t];let r={projection:n.value,revision:bn(t,{onNone:()=>1,onSome:e=>e.revision+1}),themesEvent:e.type===`environmentThemesUpdated`?e:e.type===`snapshot`&&e.config.environment.capabilities.environmentThemes!==!0?void 0:m(t)?.themesEvent};return[S({event:e,replay:r,revision:r.revision}),S(r)]});x(t)&&(yield*te(v,t.value)),e.type===`snapshot`&&(yield*dt(f,e.config))})),pe(e=>to(e)?bt([dt(p,void 0),xt(g,y)]).pipe(Dt):He(e.cause)?P:bt([gi(p,e.cause),gi(g,fa(e.cause,tp))]).pipe(Dt))),re=yield*ui();yield*(e.target._tag!==`CloudConnectionTarget`||fn(n)?P:n.value.current.pipe(T(bn({onNone:()=>w(new td({reason:`remote-unavailable`,detail:`${e.label} needs your Search Atlas sign-in before it can be used.`})),onSome:e=>l[O.searchAtlasSetCredential](e).pipe(I(e=>e._tag===`RpcClientError`?new td({reason:`transport`,detail:e.message}):new Y({reason:`permission`,detail:e.message})))})),Dt,Gt(`environment.credentialPush`))).pipe(ne({onFailure:e=>bt([xt(re,e),xt(g,e)]).pipe(Dt),onSuccess:()=>dt(re,void 0).pipe(mi(ee))}),N);let ie=Me(Me(de(f),de(p).pipe(I(tp),T(()=>w(y)))),de(re).pipe(mi(Da))).pipe(Gt(`environment.initialSync`)),ae=Ai(k(function*(){let e=yield*fe(v);yield*Me(de(f).pipe(Dt),de(p));let t=yield*vo(_);if(fn(t))return $t;let n=xe(e).pipe(fi(e=>e.revision>t.value.revision),Lt(()=>t.value.revision,(e,t)=>[t.revision,t.revision===e+1?[t.event]:ep(t.replay)])),r=oi(de(p)).pipe(ka);return Pa(ct(ep(t.value)),h(n,r,{haltStrategy:`either`}))})).pipe(xa(t=>He(t)?vt(t):le(new $c({reason:new Qc({message:`${e.label} config subscription failed.`,cause:t})})))),oe=e=>ia(e,r)?ae:l[O.subscribeServerConfig](e),se=ie.pipe(T(e=>(e.environment.capabilities.connectionProbe===!0?l[O.serverProbe]({}):l[O.serverGetConfig]({})).pipe(I(tp))),Dt,Gt(`clientRuntime.connection.rpcSession.probe`));return{client:l,initialConfig:ie,subscribeServerConfig:oe,ready:de(i).pipe(mi(ie),Dt,Me(de(a))),probe:se,closed:Me(de(a),de(g))}});return $f.of({connect:i})}),rp=e=>sa($f,np(e));rp({});var ip=class extends F()(`@borgtools/client-runtime/connection/driver/ConnectionDriver`){},ap=sa(ip,k(function*(){let e=yield*Ff,t=yield*$f,n=A(`ConnectionDriver.connect`)(function*(n,r){let i=n.target;yield*u({"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 F()(`@borgtools/client-runtime/connection/wakeups/ConnectionWakeups`){},Cp=e=>Sp.of(e),wp=e=>Yr(Sp,Cp(e)),Tp=[3e3,4e3,8e3,16e3],Ep=`15 seconds`,Dp=`15 seconds`,Op=`3 seconds`,kp=3e4;function Ap(e){return Vt(e,{onFailure:e=>Yi(e)?ma:M(Ce(e)),onSuccess:e=>M(y(e))})}function jp(e){return Tp[Math.min(e,Tp.length-1)]??16e3}function Mp(e){return u({"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(to(t)||He(t.cause))return{_tag:`Interrupted`,established:n,stable:r,resetRetry:!1};let i=t.cause.reasons.find(o);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:b()}}}var Lp=class extends F()(`@borgtools/client-runtime/connection/supervisor/EnvironmentSupervisor`){},Rp=A(`EnvironmentSupervisor.make`)(function*(e,t){let n=e.target;yield*Mp(n);let r=yield*Sd,a=yield*ip,s=yield*Sp,c={desired:t?.initiallyDesired??!1,network:yield*r.status},l=yield*no(c),u=yield*Bt(),d=yield*no(!1),f=yield*no(!1),p=yield*Zo(c.desired?c.network===`offline`?Pp(c,0,0,null):Fp(c,0,1,null):Np(c,0)),m=yield*Zo(b()),h=yield*Zo(b()),g=bt([es(m,b()),es(h,b())],{discard:!0}),_=A(`EnvironmentSupervisor.setState`)(function*(e){yield*es(p,e)}),v=A(`EnvironmentSupervisor.signal`)(function*(e){yield*zr(u,e)}),y=A(`EnvironmentSupervisor.reportProgress`)(function*(e,t,n,r){`prepared`in r&&(yield*es(h,S(r.prepared))),yield*_(Fp(yield*vo(l),t,e,n,r.stage))}),ee=la(function*(t,n,r){return yield*a.connect(e,e=>y(t,n,r,e))}),te=la(function*(e,t,n,r){return yield*ee(e,t,n).pipe(E(e=>({attemptSpan:b(),lease:e})),I(e=>({error:e,attemptSpan:b()})))}),ne=la(function*(){for(;;){let e=yield*ja(u);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=la(function*(e){for(;;){let t=yield*ja(u);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(Er({duration:t.reason===`application-active-probe`?Op:Dp,orElse:()=>w(new td({reason:`timeout`,detail:`${n.label} did not respond to a connection health check.`}))}),Qr);for(;;){let e=yield*Me(ri(r).pipe(E(e=>({_tag:`ProbeCompleted`,exit:e}))),ja(u).pipe(E(e=>({_tag:`Signal`,signal:e}))));if(e._tag===`ProbeCompleted`){Rt(e.exit)&&(yield*Do(f,!0)),yield*e.exit;break}switch(e.signal._tag){case`DisconnectRequested`:case`RetryRequested`:return yield*ft(r),!1;case`NetworkChanged`:if(e.signal.network===`offline`)return yield*ft(r),!1;break;case`Wakeup`:if(e.signal.reason===`application-active-reconnect`)return yield*ft(r),!0;break;case`ConnectRequested`:break}}}break;case`ConnectRequested`:break}}}),ie=la(function*(e,t,r,i){yield*es(h,b());let a=yield*ye([Ap(te(e,t,r,i)).pipe(E(e=>({_tag:`Completed`,exit:e}))),ne().pipe(E(e=>({_tag:`Interrupted`,resetRetry:e}))),Ni(Ep).pipe(ut({_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:b()}};if(Rt(a.exit)){let e=!He(a.exit.cause)&&!a.exit.cause.reasons.some(o),t=Ip(n,a.exit,!1,!1);if(e){let e=a.exit.cause.reasons.find(Nt)?.defect;yield*Ei(`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 s=a.exit.value,c=yield*vo(l);if(!c.desired||c.network===`offline`)return{_tag:`Interrupted`,established:!1,stable:!1,resetRetry:!1};let u=yield*nt;yield*es(h,S(s.lease.prepared)),yield*es(m,S(s.lease.session)),yield*_({desired:!0,network:c.network,phase:`connected`,stage:null,attempt:e,generation:t,lastFailure:null,retryAt:null});let d=yield*Me(s.lease.session.closed.pipe(I(e=>({error:e,attemptSpan:s.attemptSpan}))),re(s.lease).pipe(I(e=>({error:e,attemptSpan:s.attemptSpan})))).pipe(Ap),f=(yield*nt)-u;return to(d)?{_tag:`Interrupted`,established:!0,stable:f>=kp,resetRetry:d.value}:Ip(n,d,!0,f>=kp)},Xi(g)),ae=la(function*(e){return yield*Me(Ni(e).pipe(ut(!1)),k(function*(){for(;;){let e=yield*ja(u);switch(e._tag){case`Wakeup`:return bp(e.reason);case`ConnectRequested`:case`DisconnectRequested`:case`RetryRequested`:case`NetworkChanged`:return!1}}}))}),oe=ja(u).pipe(E(e=>e._tag===`Wakeup`&&bp(e.reason))),se=la(function*(){let e=0,t=0,n=null,r=b(),a=()=>{e=0,r=b()};for(;;){(yield*mo(d,!1))&&(e=0,n=null,r=b());let o=yield*vo(l);if(!o.desired){a(),n=null,yield*g,yield*_(Np(o,t)),yield*oe;continue}if(o.network===`offline`){yield*g,yield*_(Pp(o,t,e+1,n)),(yield*oe)&&a();continue}let s=e+1,c=t+1,u=yield*i(ie(s,c,n,r)),p=yield*mo(f,!1);if(u.established&&(t=c,u.stable&&(a(),n=null)),u._tag===`Interrupted`){u.resetRetry&&a();continue}let m=u.failure.attemptSpan,h=u.failure.error;if(n=h,h._tag===`ConnectionBlockedError`){let e=yield*vo(l);yield*_({desired:e.desired,network:e.network,phase:`blocked`,stage:null,attempt:s,generation:t,lastFailure:h,retryAt:null}),(yield*oe)&&a();continue}if(p){a(),yield*_(Fp(yield*vo(l),t,1,h));continue}e+=1;let v=jp(e-1);r=on(m,t=>({previousAttempt:t,failureCount:e,delayMs:v,reason:h.reason}));let y=yield*vo(l);yield*_({desired:y.desired,network:y.network,phase:`backoff`,stage:null,attempt:s,generation:t,lastFailure:h,retryAt:(yield*nt)+v}),(yield*ae(v))&&a()}});yield*r.changes.pipe(qe(e=>yo(l,t=>t.network===e?[!1,t]:[!0,{...t,network:e}]).pipe(T(t=>t?v({_tag:`NetworkChanged`,network:e}):P))),N),yield*s.changes.pipe(qe(e=>v({_tag:`Wakeup`,reason:e})),N),yield*se().pipe(N);let ce=wo(l,e=>({...e,desired:!0})).pipe(mi(v({_tag:`ConnectRequested`})),Gt(`EnvironmentSupervisor.connect`)),le=wo(l,e=>({...e,desired:!1})).pipe(mi(v({_tag:`DisconnectRequested`})),Gt(`EnvironmentSupervisor.disconnect`)),de=Do(d,!0).pipe(mi(v({_tag:`RetryRequested`})),Gt(`EnvironmentSupervisor.retryNow`));return yield*ue(()=>Ba(u).pipe(mi(g))),Lp.of({target:n,state:p,session:m,prepared:h,connect:ce,disconnect:le,retryNow:de})}),zp=Qa(sd),Bp=class extends Xn()(`EnvironmentNotRegisteredError`,{environmentId:Ki}){get message(){return`Environment ${this.environmentId} is not registered.`}},Vp=class extends Xn()(`PlatformEnvironmentRemovalError`,{environmentId:Ki}){get message(){return`Platform-managed environment ${this.environmentId} cannot be removed.`}},Hp=class extends F()(`@borgtools/client-runtime/connection/registry/EnvironmentRegistry`){},Up=sa(Hp,k(function*(){let e=yield*wa,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*ji(d,A(`EnvironmentRegistry.loadCatalogEntry`)(function*(e){let t=e._tag===`PrimaryConnectionTarget`?b():yield*a.get(e.connectionId);return[e.environmentId,{target:e,profile:t}]}),{concurrency:`unbounded`}))),p=yield*Zo(yield*s.status),h=yield*Zo(new Map),g=yield*no(new Set),_=yield*no(new Map(d.map(e=>[e.environmentId,e]))),v=yield*no(new Map),y=yield*vi(1),ee=yield*no(!1),te=(e,t)=>ge(y.withPermits(1)(k(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*vi(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(Gt(`EnvironmentRegistry.withLeaseLock`)),ne=A(`EnvironmentRegistry.getEntry`)(function*(e){let t=(yield*L(f)).get(e);return t===void 0?yield*new Bp({environmentId:e}):t}),re=A(`EnvironmentRegistry.closeServiceScope`)(function*(e){let t=yield*L(h),n=t.get(e);if(n===void 0)return;let r=new Map(t);r.delete(e),yield*es(h,r),yield*Ra(n.scope,_n)}),ie=A(`EnvironmentRegistry.createServiceScope`)((t,n=t.target._tag!==`CloudConnectionTarget`)=>Oi(k(function*(){let r=t.target.environmentId,i=yield*Yt(e),a=yield*Rp(t,{initiallyDesired:!1}).pipe(C(Sd,s),C(ip,c),C(Sp,l),_e(i),Zt(()=>Ra(i,_n)));return n&&(yield*a.connect),yield*ts(h,e=>{let n=new Map(e);return n.set(r,{entry:t,supervisor:a,scope:i}),n}),a}))),ae=A(`EnvironmentRegistry.acquireSupervisor`)(function*(e){return yield*te(e,k(function*(){let t=yield*ne(e),n=(yield*L(h)).get(e);if(n!==void 0){if(ia(n.entry,t))return n.supervisor;yield*re(e)}return yield*ie(t)}))}),oe=A(`EnvironmentRegistry.run`)(function*(e,t){return yield*C(t,Lp,yield*ae(e))}),se=(e,t)=>Ai(ae(e).pipe(E(e=>xn(t,Lp,e)))),ce=(e,t)=>Pa(oi(L(f)),Qo(f)).pipe(tt(t=>be(t.get(e))),cr((e,t)=>m(e)===m(t)),Hn(bn({onNone:()=>$t,onSome:()=>Ai(ae(e).pipe(Ma({onFailure:()=>$t,onSuccess:e=>xn(t,Lp,e)})))}))),le=k(function*(){(yield*mo(ee,!0))||(yield*ji(d,e=>ae(e.environmentId).pipe($a(`EnvironmentNotRegisteredError`,()=>P)),{concurrency:`unbounded`,discard:!0}))}).pipe(Gt(`EnvironmentRegistry.start`)),de=A(`EnvironmentRegistry.installEntryLocked`)(function*(e,t){let n=e.target,r=(yield*L(f)).get(n.environmentId),i=(yield*L(h)).get(n.environmentId);t?.retainEquivalentRuntime===!0&&r!==void 0&&ia(r,e)&&i!==void 0&&ia(i.entry,e)||(yield*re(n.environmentId),yield*ts(f,t=>{let r=new Map(t);return r.set(n.environmentId,e),r}),yield*ie(e,!0))}),fe=A(`EnvironmentRegistry.register`)(function*(e){let t=_d(e),r=t.target.environmentId;yield*te(r,k(function*(){(yield*vo(g)).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=A(`EnvironmentRegistry.installPlatformRegistration`)(function*(e){let t={..._d(e),platformManaged:!0},r=t.target;yield*te(r.environmentId,k(function*(){yield*wo(g,e=>{let t=new Set(e);return t.add(r.environmentId),t}),e._tag===`BearerConnectionRegistration`&&(yield*o.put(e.target.connectionId,e.credential).pipe(hn(e=>Gr(`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(Li(()=>wo(_,e=>{let t=new Map(e);return t.delete(r.environmentId),t})),hn(e=>Gr(`Could not remove a persisted registration shadowed by a platform environment.`,{environmentId:r.environmentId,error:e})))),yield*de(t,{retainEquivalentRuntime:!0})}))}),me=A(`EnvironmentRegistry.removePlatformEnvironment`)(function*(e){yield*te(e,k(function*(){let t=(yield*L(f)).get(e);yield*wo(g,t=>{let n=new Set(t);return n.delete(e),n}),yield*re(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(hn(t=>Gr(`Could not clear the platform bearer credential.`,{environmentId:e,error:t})))),yield*bt([r.clear(e).pipe(hn(t=>Gr(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),i.clear(e)],{concurrency:`unbounded`,discard:!0})}))}),he=A(`EnvironmentRegistry.registerPlatform`)(function*(e){yield*pe(e)}),ve=A(`EnvironmentRegistry.reconcilePlatform`)(function*(e){let t=new Set(e.map(e=>e.target.environmentId));yield*ji(yield*vo(g),e=>t.has(e)?P:me(e),{discard:!0}),yield*ji(e,pe,{discard:!0})}),ye=A(`EnvironmentRegistry.remove`)(function*(e,t){return yield*te(e,k(function*(){if((yield*vo(g)).has(e))return yield*new Vp({environmentId:e});let o=(yield*ne(e)).target,s=o._tag===`PrimaryConnectionTarget`?b():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*re(e),yield*ts(f,t=>{let n=new Map(t);return n.delete(e),n}),yield*bt([r.clear(e).pipe(hn(t=>Gr(`Could not clear cached environment data after removal.`,{environmentId:e,error:t}))),t===void 0?i.clear(e):P],{concurrency:`unbounded`,discard:!0}),o._tag===`SshConnectionTarget`&&x(s)&&zp(s.value)&&(yield*u.disconnect(s.value.target).pipe(gr(t=>Gr(`Could not disconnect the managed SSH environment.`,{environmentId:e,error:t})),yi))}))}),xe=e=>ae(e).pipe(T(e=>e.target._tag===`CloudConnectionTarget`?L(e.state).pipe(T(t=>t.desired?e.retryNow:e.connect)):e.retryNow),$a(`EnvironmentNotRegisteredError`,()=>P),Gt(`EnvironmentRegistry.retryNow`)),Se=A(`EnvironmentRegistry.state`)(function*(e){return yield*L((yield*ae(e)).state)});return yield*ue(()=>L(h).pipe(T(e=>ji(e.values(),e=>Ra(e.scope,_n),{concurrency:`unbounded`,discard:!0})))),yield*s.changes.pipe(qe(e=>es(p,e)),N),Hp.of({entries:f,networkStatus:p,start:le,register:fe,registerPlatform:he,reconcilePlatform:ve,remove:ye,retryNow:xe,state:Se,stateChanges:e=>ce(e,Ai(Lp.pipe(E(e=>Qo(e.state))))),run:oe,runStream:se,followStream:ce})})),Wp=class extends Xn()(`EnvironmentRpcUnavailableError`,{environmentId:j,message:j}){},Gp=class extends or(`@borgtools/client-runtime/rpc/EnvironmentRpcRequestObserver`,{defaultValue:()=>({observe:()=>M(P)})}){},Kp=class extends or(`@borgtools/client-runtime/rpc/EnvironmentRpcSubscriptionObserver`,{defaultValue:()=>({observe:()=>M(P)})}){},qp=Qa($c),Jp=A(`EnvironmentRpc.currentSession`)(function*(){let e=yield*Lp;return yield*L(e.session).pipe(T(bn({onNone:()=>w(new Wp({environmentId:e.target.environmentId,message:`${e.target.label} is not connected.`})),onSome:M})))}),Yp=A(`EnvironmentRpc.request`)(function*(e,t){let n=yield*Lp;yield*u({"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(Xi(o))});function Xp(e,t){return Ai(Jp().pipe(E(n=>{let r=n.client[e];return r(t)}))).pipe($i(`EnvironmentRpc.runStream`,{attributes:{"rpc.method":e}}))}function Zp(e,t,n){return Ai(k(function*(){let r=yield*Lp,i=yield*Kp,a=Qo(r.session);return(n?.resubscribe===void 0?a:h(a,n.resubscribe.pipe(Xa(()=>L(r.session))))).pipe(Hn(bn({onNone:()=>$t,onSome:a=>{let o=e===O.subscribeServerConfig?a.subscribeServerConfig:a.client[e],s=()=>On(()=>Ai(k(function*(){let c=yield*t(a),l=yield*i.observe({environmentId:r.target.environmentId,method:e,input:c});return o(c).pipe(he(l),xa(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(Gr(`Durable RPC subscription lost its transport; waiting for the next session.`,{cause:Fi(t),method:e,environmentId:r.target.environmentId})).pipe(ka);if(i&&n?.onExpectedFailure!==void 0){let e=oi(n.onExpectedFailure(t)).pipe(ka);return n.retryExpectedFailureAfter===void 0?e:e.pipe(Pa(oi(Ni(n.retryExpectedFailureAfter)).pipe(ka)),Pa(s()))}return vt(t)}))})));return s()}})))})).pipe($i(`EnvironmentRpc.subscribe`,{attributes:{"rpc.method":e}}))}function Qp(e,t,n){return Zp(e,()=>M(t),n)}k(function*(){return yield*(yield*Jp()).initialConfig}).pipe(Gt(`EnvironmentRpc.config`));async function $p(e){try{return await e()}catch(e){return ds(ke(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(ke(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 k(function*(){let a=yield*ln(),o=yield*ii(o=>t.schedule(e,n,r,async()=>{let e=await Ke(a)(i,{signal:o});return to(e)?ls(e.value):ds(e.cause)}));return o._tag===`Success`?o.value:yield*jn(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`&&He(e.cause)}function am(e){return ni(e.cause)}async function om(e){try{return rs(await e())}catch(e){return ds(ke(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 a=i(k(function*(){return yield*Es(e,t),n.refresh&&(yield*D(()=>{let n=e.get(t);n._tag!==`Initial`&&!n.waiting&&e.refresh(t)})),yield*Ts(e,t,{suspendOnWaiting:!0})}));return sm(()=>we(a),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)||He(e.cause))return;let r=t.label??`atom command`;Je(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(ke(e))}}function fm(e){return JSON.stringify([e.environmentId,e.input])}function pm(e){let t=JSON.parse(e);return{environmentId:Ki.make(t[0]),input:t[1]}}function mm(e,t){return Hp.pipe(T(n=>n.run(e,t)))}function hm(e,t){return Ai(Hp.pipe(E(n=>n.runStream(e,t))))}function gm(e,t){return Ai(Hp.pipe(E(n=>n.followStream(e,t))))}function _m(e,t){let n=z(t=>e.atom(gm(t,Ai(Lp.pipe(E(e=>Qo(e.state).pipe(Zr(Qo(e.session))))))),{initialValue:null})),r=z(r=>{let i=pm(r),a=t.idleTtlMs??5*6e4,o=e.atom(e=>{let r=et(_s(e(n(i.environmentId))));if(r===null)return Da;let[a,o]=r;switch(a.phase){case`connected`:return x(o)?mm(i.environmentId,t.execute(i.input)):Da;case`connecting`:case`backoff`:return Da;case`available`:case`offline`:case`blocked`:return a.lastFailure===null?w(new Wp({environmentId:i.environmentId,message:`Environment ${i.environmentId} is ${a.phase===`available`?`not connected`:a.phase}.`})):w(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(Li(()=>t.onSuccess?.(i,n)??P),Xi(t.onSettled?.(i,n)??P))}})}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 Xn()(`RemoteBackendUrlMissingError`,{}){get message(){return`Enter a backend URL.`}},km=class extends Xn()(`RemotePairingUrlInvalidError`,{cause:cn(ra()),protocol:cn(j)}){get message(){return`Pairing URL is invalid.`}},Am=class extends Xn()(`RemoteBackendUrlInvalidError`,{source:vr([`direct-host`,`hosted-pairing-host`]),cause:cn(ra()),protocol:cn(j)}){get message(){return`Backend URL is invalid.`}},jm=class extends Xn()(`RemotePairingTokenMissingError`,{host:j}){get message(){return`Pairing URL is missing its token.`}},Mm=class extends Xn()(`RemotePairingCodeMissingError`,{host:j}){get message(){return`Enter a pairing code.`}};Kt([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 or(`@borgtools/client-runtime/connection/onboarding/DevicePairingObserver`,{defaultValue:()=>({start:()=>()=>void 0})}){};function Km(e,t,n,r={}){return ei(()=>{let i;try{i=e.start(t,r)}catch{return n}return n.pipe(pe(e=>D(()=>{if(!(Rt(e)&&He(e.cause)))try{i(to(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 F()(`@borgtools/client-runtime/connection/onboarding/ConnectionOnboarding`){},Xm=A(`clientRuntime.connection.onboarding.resolvePairingTarget`)(function*(e){return yield*Ui({try:()=>Hm(e),catch:e=>new Y({reason:`configuration`,detail:e instanceof Error?e.message:`The pairing details are invalid.`})})}),Zm=A(`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(I($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(I($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=A(`clientRuntime.connection.onboarding.registerPairingConnection`)(function*(e){let t=yield*Zm(e);return yield*(yield*Hp).register(t),t.target.environmentId}),$m=A(`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*ji(Um({entries:[...(yield*L(t.entries)).values()],registeredEnvironmentId:i.target.environmentId,registeredConnectionId:r}),e=>t.remove(e,i.target.environmentId).pipe(Ie(()=>w(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=Qa(ud),th=Qa(ad),nh=A(`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):b(),a=yield*rh({input:e,entry:be(r),credential:i});yield*t.register(a)}),rh=A(`clientRuntime.connection.onboarding.prepareBearerConnectionUpdate`)(function*(e){let t=et(e.entry);if(t==null||t.target._tag!==`BearerConnectionTarget`||fn(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(fn(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*Ui({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=A(`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=A(`clientRuntime.connection.onboarding.registerSshConnection`)(function*(e){let t=yield*ih(e);return yield*(yield*Hp).register(t),t.target.environmentId}),oh=A(`clientRuntime.connection.onboarding.prepareBorgRegistration`)(function*(e){let t=yield*Hu,n=yield*Gu,r=qi(yield*ln()),i=Mf({borgApiUrl:e.borgApiUrl,deviceId:e.deviceId,openTunnel:()=>r(n.openTunnel())}),a=yield*io({httpBaseUrl:Wm}).pipe(C(_o,i),I($d)),o=yield*Bd({httpBaseUrl:Wm,credential:e.pairingCode,scopes:t.scopes,clientMetadata:t.metadata}).pipe(C(_o,i),I($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=A(`clientRuntime.connection.onboarding.registerBorgConnection`)(function*(e){let t=yield*oh(e);return yield*(yield*Hp).register(t),t.target.environmentId}),ch=sa(Ym,k(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(C(Hp,e),C(Hu,t),C(_o,n),e=>Km(o,`pairing`,e)),registerCloudPairing:r=>$m(r).pipe(C(Hp,e),C(Hu,t),C(_o,n),e=>Jm(o,r,e)),registerSsh:t=>ah(t).pipe(C(Hp,e),C(Wu,r),e=>Km(o,`ssh`,e)),registerBorg:r=>sh(r).pipe(C(Hp,e),C(Hu,t),C(Gu,i),C(_o,n),e=>Km(o,`borg`,e,qm(r))),registerPrepared:t=>e.register(t).pipe(ut(t.target.environmentId)),updateBearer:t=>nh(t).pipe(C(Hp,e),C(vd,a))})})),lh=class extends F()(`@borgtools/client-runtime/platform/source/PlatformConnectionSource`){},uh=qf.pipe(Gi(mf));function dh(e){let t=ap.pipe(Gi(Rr(uh,rp(e)))),n=Up.pipe(Gi(t)),r=Rr(n,ch.pipe(Gi(n)));return wi(k(function*(){let e=yield*Hp,t=yield*lh;yield*e.start,yield*t.registrations.pipe(qe(e.reconcilePlatform),N)}).pipe(Gt(`clientRuntime.connection.application.start`))).pipe(ki(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 x(e.profile)&&e.profile.value._tag===`BearerConnectionProfile`?e.profile.value.httpBaseUrl:null;case`CloudConnectionTarget`:return x(e.profile)&&e.profile.value._tag===`CloudConnectionProfile`?e.profile.value.httpBaseUrl:null;case`SshConnectionTarget`:return x(e.profile)&&e.profile.value._tag===`SshConnectionProfile`?`${e.profile.value.target.username}@${e.profile.value.target.hostname}`:null;case`BorgConnectionTarget`:return x(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(C(uo,{credentials:`include`})):t,vh=(e,t,n,r)=>k(function*(){if(e===null)return{};if(e._tag===`Bearer`)return{authorization:`Bearer ${e.token}`};if(fn(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(I(e=>new fo({message:`Could not create the environment request authorization proof.`,cause:e})));return{authorization:`DPoP ${e.accessToken}`,dpop:i}}),yh=6e3,bh=A(`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 F()(`@borgtools/client-runtime/state/shellSnapshotHttp/ShellSnapshotLoader`){},Sh=sa(xh,k(function*(){let e=yield*_o,t=yield*da(tf);return xh.of({load:n=>bh({prepared:n,signer:t}).pipe(E(S),C(_o,e),Ie(e=>Gr(`Could not load the environment shell snapshot over HTTP; using the socket snapshot instead.`).pipe(li({cause:Fi(e)}),ut(b()))))})}));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)?$r(e.projects,e=>e.id===t.project.id?t.project:e):We(e.projects,t.project);return{...e,projects:n,snapshotSequence:t.sequence}}case`project-removed`:return{...e,projects:Un(e.projects,e=>e.id!==t.projectId),snapshotSequence:t.sequence};case`thread-upserted`:{let n=e.threads.some(e=>e.id===t.thread.id)?$r(e.threads,e=>e.id===t.thread.id?t.thread:e):We(e.threads,t.thread);return{...e,threads:n,snapshotSequence:t.sequence}}case`thread-removed`:return{...e,threads:Un(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=>bn(_s(n(e(t))),{onNone:()=>null,onSome:e=>et(e.snapshot)})).pipe(B(`environment-snapshot:${t}`)))}var kh={snapshot:b(),status:`empty`,error:b()};function Ah(e){return x(e)?`cached`:`empty`}var jh=`Could not synchronize environment data.`,Mh=A(`EnvironmentShellState.make`)(function*(){let e=yield*Lp,t=yield*Od,n=yield*xh,r=yield*da(Sp),i=e.target.environmentId,a=yield*t.loadShell(i).pipe(hn(e=>Gr(`Could not load cached environment shell.`).pipe(li({environmentId:i,...gp(e)}),ut(b())))),o=yield*Zo({snapshot:a,status:Ah(a),error:b()}),s=yield*no(!1),c=yield*no(null),u=yield*no(null),d=yield*ar(1),f=A(`EnvironmentShellState.persist`)(function*(e){yield*t.saveShell(i,e).pipe(hn(e=>Gr(`Could not persist environment shell cache.`).pipe(li({environmentId:i,...gp(e)}))))});yield*wt(d).pipe(Wt(`500 millis`),qe(f),N);let p=Do(s,!1).pipe(mi(ts(o,e=>({...e,status:Ah(e.snapshot)})))),m=ts(o,e=>({...e,status:`synchronizing`,error:b()})),h=ts(o,e=>e.status===`live`?e:{...e,status:`synchronizing`,error:b()}),g=e=>Do(s,!1).pipe(mi(Gr(`Could not synchronize the environment shell.`)),li({environmentId:i,...gp(e)}),mi(ts(o,e=>({...e,status:Ah(e.snapshot),error:S(jh)})))),_=A(`EnvironmentShellState.applyItem`)(function*(e){if(e.kind===`synchronized`){yield*Do(s,!1),yield*ts(o,e=>x(e.snapshot)?{...e,status:`live`,error:b()}:e);return}let t=yield*L(o),n=e.kind===`snapshot`?e.snapshot:bn(t.snapshot,{onNone:()=>null,onSome:t=>e.sequence>t.snapshotSequence?Ch(t,e):t});if(n===null)return;let r=yield*vo(s);if(yield*es(o,{snapshot:S(n),status:r?`synchronizing`:`live`,error:b()}),e.kind===`snapshot`){let e=yield*vo(u);e!==null&&(yield*Do(c,e))}yield*zr(d,n)}),v=bn(r,{onNone:()=>pn,onSome:e=>e.changes.pipe(fi(xp))});return yield*m,yield*N(Zp(yr.subscribeShell,A(`EnvironmentShellState.makeSubscribeInput`)(function*(t){yield*Do(u,t);let r=yield*t.initialConfig.pipe(E(e=>e.shellResumeCompletionMarker===!0),l(()=>!1));yield*Do(s,r),yield*m;let i=(yield*vo(c))===t,a=i,d=yield*L(o);if(!i||fn(d.snapshot)){let t=yield*L(e.prepared).pipe(T(bn({onSome:M,onNone:()=>Qo(e.prepared).pipe(fi(x),tt(e=>e.value),Ve,E(It))}))),r=yield*n.load(t);x(r)&&(yield*_({kind:`snapshot`,snapshot:r.value}),a=!0,d=yield*L(o))}return!a||fn(d.snapshot)?r?{requestCompletionMarker:!0}:{}:(r||(yield*ts(o,e=>({...e,status:`live`,error:b()}))),{afterSequence:d.snapshot.value.snapshotSequence,...r?{requestCompletionMarker:!0}:{}})}),{onExpectedFailure:e=>g(ni(e)),retryExpectedFailureAfter:`250 millis`,resubscribe:v}).pipe(qe(_))),yield*Qo(e.state).pipe(qe(e=>{switch(nd(e)){case`synchronizing`:return m;case`disconnected`:return p;case`ready`:return h}}),N),o});function Nh(e){return gm(e,Ai(Mh().pipe(E(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=et(l.error)),fn(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=>Ne(_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){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Xh=new Set([`idle`,`provisioning`,`running`,`waiting_for_permission`,`cancelled`,`failed`,`completed`]);function Zh(e){if(e==null)return!0;if(!Yh(e)||e.executionStartup!==void 0&&e.executionStartup!==`start`&&e.executionStartup!==`restore`)return!1;let t=e.executionFailure;return t==null||Yh(t)&&(t.code===void 0||typeof t.code==`string`)&&(t.at===void 0||typeof t.at==`string`)}function Qh(e){if(!Yh(e)||typeof e.id!=`string`||!qh.test(e.id)||typeof e.status!=`string`||!Xh.has(e.status)||e.executor_kind!==`cloud`&&e.executor_kind!==`device`||e.executor_device!==void 0&&e.executor_device!==null&&(typeof e.executor_device!=`string`||!qh.test(e.executor_device))||e.spawn_pairing_code!==void 0&&typeof e.spawn_pairing_code!=`string`||!Zh(e.metadata))throw Error(`Invalid cloud session response`);return e}function $h(e){try{if(!Yh(e)||!Yh(e.workspace)||typeof e.workspace.id!=`string`||!qh.test(e.workspace.id)||typeof e.workspace.name!=`string`||typeof e.created!=`boolean`)throw Error(`Invalid workspace`);let t=Qh(e.session);if(t.executor_kind!==`cloud`)throw Error(`Invalid executor`);return{workspace:{id:e.workspace.id,name:e.workspace.name},session:t,created:e.created}}catch{throw Error(`Invalid cloud user workspace response`)}}function eg(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)=>{e.signal?.throwIfAborted();let a=await e.getAccessToken();if(e.signal?.throwIfAborted(),!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);let s=await o.json();return e.signal?.throwIfAborted(),s};return{acquireUserWorkspace:async()=>$h(await i(`/api/v1/customers/${r}/cloud-workspace/`,{method:`POST`,body:`{}`})),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:An,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:async e=>Qh(await 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:An,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 tg=Vr(2),ng=Gn(30),rg=`cloud:`,ig=Qa(ud),ag=e=>wi(k(function*(){let t=yield*Hp,n=yield*vd,r=yield*_f,i=yield*Yf,a=t=>k(function*(){let n=e(),r=yield*i.current;if(!n||fn(r)||r.value.kind!==`jwt`)return b();let a=r.value.token,o=zi(a);if(!o)return b();let s=eg({apiUrl:n,customerId:o.customerId,getAccessToken:async()=>a});return Ct((yield*Lr(()=>s.localHandoff(t))).runtime_session)}),o=e=>k(function*(){let t=e.slice(6);for(;;){let i=yield*n.get(e).pipe(l(b));if(fn(i)||!ig(i.value))return;let o=Mr(i.value.token);if(o===void 0)return;let s=yield*nt,c=o-ya(tg)-s;c>0&&(yield*Ni(Di(c)));let u=yield*a(t).pipe(gr(t=>Vi(`Cloud runtime session refresh did not land`,{connectionId:e,cause:t})),l(b));if(fn(u)){yield*Ni(ng);continue}yield*n.put(e,new ud({token:u.value})),yield*r.set(e,u.value)}}).pipe(yi),s=new Map,c=k(function*(){let e=yield*L(t.entries),n=new Set(Array.from(e.values()).flatMap(e=>e.target._tag===`CloudConnectionTarget`&&e.target.connectionId.startsWith(rg)?[e.target.connectionId]:[]));for(let[e,t]of s)n.has(e)||(s.delete(e),yield*ft(t));for(let e of n)s.has(e)||s.set(e,yield*N(o(e)))});yield*c,yield*Qo(t.entries).pipe(qe(()=>c),N)})),og=6e3,sg=A(`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??og,_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})))}),cg=class extends F()(`@borgtools/client-runtime/state/threadSnapshotHttp/ThreadSnapshotLoader`){},lg=sa(cg,k(function*(){let e=yield*_o,t=yield*da(tf);return cg.of({load:(n,r,i)=>sg({prepared:n,threadId:r,signer:t,...i===void 0?{}:{window:i}}).pipe(E(S),C(_o,e),_({EnvironmentResourceNotFoundError:()=>Vi(`Thread snapshot not found over HTTP; deferring to the socket subscription.`).pipe(li({threadId:r}),ut(b()))}),Ie(e=>Gr(`Could not load the thread snapshot over HTTP; using the socket snapshot instead.`).pipe(li({threadId:r,cause:Fi(e)}),ut(b()))))})})),ug=class extends Xn()(`InvalidScopedProjectKeyError`,{key:j}){get message(){return`Invalid scoped project atom key: ${JSON.stringify(this.key)}.`}},dg=class extends Xn()(`InvalidScopedThreadKeyError`,{key:j}){get message(){return`Invalid scoped thread atom key: ${JSON.stringify(this.key)}.`}},fg=class extends Xn()(`InvalidScopedProjectRefCollectionKeyError`,{key:j,cause:ra()}){get message(){return`Invalid scoped project reference collection atom key: ${JSON.stringify(this.key)}.`}},pg=ht(r(Sa([j,j])));function mg(e){return`${e.environmentId}\u0000${e.projectId}`}function hg(e){return`${e.environmentId}\u0000${e.threadId}`}function gg(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 _g(e){return JSON.stringify(e.map(e=>[e.environmentId,e.projectId]))}function vg(e){let t=e.indexOf(`\0`);if(t<0)throw new ug({key:e});return{environmentId:Ki.make(e.slice(0,t)),projectId:Fn.make(e.slice(t+1))}}function yg(e){let t;try{t=pg(JSON.parse(e))}catch(t){throw new fg({key:e,cause:t})}return t.map(([e,t])=>({environmentId:Ki.make(e),projectId:Fn.make(t)}))}function bg(e){let t=e.indexOf(`\0`);if(t<0)throw new dg({key:e});return{environmentId:Ki.make(e.slice(0,t)),threadId:En.make(e.slice(t+1))}}function xg(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.projectId===t[n]?.projectId)}function Sg(e,t){return e.length===t.length&&e.every((e,n)=>e.environmentId===t[n]?.environmentId&&e.threadId===t[n]?.threadId)}function Cg(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var wg=Vn(kr(Ln,e=>e.createdAt),kr(Ln,e=>e.id)),Tg=kr(Be,e=>e.checkpointTurnCount??2**53-1),Eg=jt([kr(Be,e=>e.sequence??2**53-1),kr(Ln,e=>e.createdAt),kr(Ln,e=>e.id)]),Dg=new WeakMap;function Og(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 kg(e,t){let n=Ag(jg(e),t);return n.kind===`updated`?{kind:`updated`,thread:jg(n.thread)}:n}function Ag(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=Fg(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)?$r(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):We(e.messages,n),i=t.payload.turnId!==null&&e.session?.status===`running`&&e.session.activeTurnId===t.payload.turnId,a=!t.payload.streaming&&!i,o=Ig(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?Lg(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=Mg(t.payload.session.status),r=Ig(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=Ut(e.proposedPlans,Un(e=>e.id!==n.id),We(n),rr(wg));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=Ut(e.checkpoints,Un(e=>e.turnId!==n.turnId),We(n),rr(Tg)),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:Ng(e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.state:Pg(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=Ut(e.checkpoints,Un(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount),rr(Tg)),r=new Set($r(n,e=>e.turnId)),i=Rg(e.messages,r),a=Ut(e.proposedPlans,Un(e=>e.turnId===null||r.has(e.turnId))),o=Ut(e.activities,Un(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:Ng(Pg(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=Og(n),i=Dg.get(e.activities),a=e.activities.at(-1);if(!r&&i!==void 0&&(a===void 0||Eg(a,n)<=0)&&!i.has(n.id)){let r=We(e.activities,n);return Dg.delete(e.activities),i.add(n.id),Dg.set(r,i),{kind:`updated`,thread:{...e,activities:r,updatedAt:t.occurredAt}}}let o=Ut(e.activities,Un(e=>e.id!==n.id&&!(r&&e.turnId===n.turnId&&Og(e))),We(n),rr(Eg));return Dg.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 jg(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):Fg(t,n.turnId,r)}}function Mg(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 Ng(e,t){return e===`completed`||e===`interrupted`||e===`error`?e:t===`error`?`error`:`completed`}function Pg(e,t){return e.unfinishedTurns?.find(e=>e.turnId===t)?.state}function Fg(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 Ig(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 Lg(e,t,n){return e.some(e=>e.turnId===t&&e.assistantMessageId!==n)?$r(e,e=>e.turnId===t?{...e,assistantMessageId:n}:e):e}function Rg(e,t){return Un(e,e=>e.role===`system`||e.turnId===null?!0:t.has(e.turnId))}var zg=5*6e4,Bg={data:b(),status:`empty`,error:b(),page:b()};function Vg(e){return bn(e.page,{onNone:()=>!1,onSome:e=>e.hasMore})}var Hg=1440*60*1e3;function Ug(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 Wg(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 Gg(e,t){return!(e.hasPendingApprovals||e.hasPendingUserInput||Ug(e,t))}function Kg(e,t){if(e.snoozedUntil==null)return!1;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)||n<=Date.parse(t.now)?!1:!Wg(e)}function qg(e,t){if(e.snoozedUntil==null)return null;let n=Date.parse(e.snoozedUntil);return Number.isNaN(n)?null:Wg(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 Jg=3600*1e3,Yg=18,Xg=9;function Zg(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 $g(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function e_(e){let t=new Date(e.getTime()+Jg),n=new Date(e.getTime()+3*Jg),r=[{id:`hour`,label:`In 1 hour`,whenLabel:Zg(t),snoozedUntil:t.toISOString()},{id:`three-hours`,label:`In 3 hours`,whenLabel:Zg(n),snoozedUntil:n.toISOString()}],i=Qg(e,Yg);i.getTime()-e.getTime()>Jg&&r.push({id:`evening`,label:`This evening`,whenLabel:Zg(i),snoozedUntil:i.toISOString()});let a=Qg($g(e,1),Xg);r.push({id:`tomorrow`,label:`Tomorrow`,whenLabel:Zg(a),snoozedUntil:a.toISOString()});let o=Qg($g(e,(1-e.getDay()+7)%7||7),Xg);return o.getTime()!==a.getTime()&&r.push({id:`next-week`,label:`Next week`,whenLabel:`${o.toLocaleDateString(void 0,{weekday:`short`})} ${Zg(o)}`,snoozedUntil:o.toISOString()}),r}function t_(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<Jg?`${Math.max(1,Math.ceil(i/6e4))}m`:i<Hg?`${Math.ceil(i/Jg)}h`:`${Math.ceil(i/Hg)}d`}function n_(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function r_(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=Gg(e,{now:n_(i.archivedAt)??e.updatedAt});return[{...e,...typeof i.title==`string`?{title:i.title}:{},...typeof i.archived==`boolean`&&(!i.archived||a)?{archivedAt:i.archived?n_(i.archivedAt):null}:{},...typeof i.settled==`boolean`&&(!i.settled||a)?{settledOverride:i.settled?`settled`:`active`,settledAt:i.settled?n_(i.settledAt):null,...i.settled?{}:{unsettledAt:n_(i.unsettledAt)}}:{},...(i.snoozedUntil===null||typeof i.snoozedUntil==`string`)&&(i.snoozedUntil===null||a)?{snoozedUntil:i.snoozedUntil,snoozedAt:i.snoozedUntil===null?null:n_(i.snoozedAt)}:{},...typeof i.pinned==`boolean`?{pinnedAt:i.pinned?n_(i.pinnedAt):null,pinOrderKey:i.pinned&&typeof i.pinOrderKey==`string`?i.pinOrderKey:null}:{}}]});return r?i:e}function i_(e,t){return e.some(e=>e.id===t.id)?e:[...e,t]}function a_(e,t){let n=t.payload;switch(t.type){case`thread.archive`:return Gg(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 Gg(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 Gg(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 o_(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(a_,e);return r||=i!==e,i});return r?i:e}var s_=Object.freeze([]),c_=new Set,l_=Object.freeze([]),u_=new Map,d_=new Map;function f_(e,t,n,r=c_){if(n.size===0&&r.size===0)return t;let i=t.filter(t=>!n.has(hg({environmentId:e,threadId:t.id}))&&!r.has(t.id));return i.length===t.length?t:i}function p_(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??s_,i=e.pendingCloudActionsAtom?o_(r,n(e.pendingCloudActionsAtom)):r;return f_(t,e.canonicalThreadStatesAtom?r_(i,n(e.canonicalThreadStatesAtom)):i,e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):c_,e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):c_)}).pipe(B(`environment-threads:${t}`))),i=z(e=>R(t=>{let n=t(r(e));return n.length===0?u_: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 Sg(t,i)?t:(t=i,i)}).pipe(B(`environment-thread-refs:${e}`))}),o=z(e=>{let t=d_;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=d_,t;let a=new Map;for(let[e,n]of i){let r=t.get(e);a.set(e,r!==void 0&&Sg(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=bg(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=yg(e),r=[];return R(e=>{let a=[],s=new Set;for(let r of t){let t=e(o(r.environmentId)).get(r.projectId)??l_;if(t.length===0)continue;let c=e(i(r.environmentId));for(let e of t){let t=hg(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 Cg(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 Sg(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 Cg(d,i)||(d=i),d}).pipe(B(`environment-thread-shell-list`)),threadShellsForProjectRefsAtom:e=>c(_g(e)),threadShellAtom:e=>s(hg(e))}}var m_=``,h_=new Set;function g_(e){return e.length===0?[]:Ut(e.split(m_),$r(e=>Ki.make(e)))}function __(e){return z(t=>R(n=>{let r=[],i=null,a=!1;for(let o of g_(t)){let t=n(e.getSnapshotAtom(o));a||=t.waiting;let s=et(_s(t));if(s!==null){let t=e.hiddenThreadKeysAtom?n(e.hiddenThreadKeysAtom):h_,i=e.deletedThreadIdsAtom?n(e.deletedThreadIdsAtom):h_,a=f_(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 v_(e){return k(function*(){return e.commandId===void 0?yield*(yield*ko).randomUUIDv4.pipe(di,E(Ge.make)):e.commandId})}function y_(e){return bt({commandId:v_(e),createdAt:e.createdAt===void 0?qt.pipe(E(ur)):M(e.createdAt)})}function X(e){return Yp(yr.dispatchCommand,e)}var b_=A(`EnvironmentCommands.createProject`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`project.create`,commandId:t.commandId,createdAt:t.createdAt})}),x_=A(`EnvironmentCommands.updateProject`)(function*(e){return yield*X({...e,type:`project.meta.update`,commandId:yield*v_(e)})}),S_=A(`EnvironmentCommands.deleteProject`)(function*(e){return yield*X({...e,type:`project.delete`,commandId:yield*v_(e)})}),C_=A(`EnvironmentCommands.createThread`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.create`,commandId:t.commandId,createdAt:t.createdAt})}),w_=A(`EnvironmentCommands.deleteThread`)(function*(e){return yield*X({...e,type:`thread.delete`,commandId:yield*v_(e)})}),T_=A(`EnvironmentCommands.archiveThread`)(function*(e){return yield*X({...e,type:`thread.archive`,commandId:yield*v_(e)})}),E_=A(`EnvironmentCommands.unarchiveThread`)(function*(e){return yield*X({...e,type:`thread.unarchive`,commandId:yield*v_(e)})}),D_=A(`EnvironmentCommands.settleThread`)(function*(e){return yield*X({...e,type:`thread.settle`,commandId:yield*v_(e)})}),O_=A(`EnvironmentCommands.unsettleThread`)(function*(e){return yield*X({...e,type:`thread.unsettle`,commandId:yield*v_(e)})}),k_=A(`EnvironmentCommands.snoozeThread`)(function*(e){return yield*X({...e,type:`thread.snooze`,commandId:yield*v_(e)})}),A_=A(`EnvironmentCommands.publishThread`)(function*(e){return yield*X({...e,type:`thread.publish`,createdAt:e.createdAt??(yield*qt).pipe(ur),commandId:yield*v_(e)})}),j_=A(`EnvironmentCommands.unsnoozeThread`)(function*(e){return yield*X({...e,type:`thread.unsnooze`,commandId:yield*v_(e)})}),M_=A(`EnvironmentCommands.pinThread`)(function*(e){return yield*X({...e,type:`thread.pin`,commandId:yield*v_(e)})}),N_=A(`EnvironmentCommands.unpinThread`)(function*(e){return yield*X({...e,type:`thread.unpin`,commandId:yield*v_(e)})}),P_=A(`EnvironmentCommands.reorderPinnedThread`)(function*(e){return yield*X({...e,type:`thread.pin.reorder`,commandId:yield*v_(e)})}),F_=A(`EnvironmentCommands.updateThreadMetadata`)(function*(e){return yield*X({...e,type:`thread.meta.update`,commandId:yield*v_(e)})}),I_=A(`EnvironmentCommands.setThreadRuntimeMode`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.runtime-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),L_=A(`EnvironmentCommands.setThreadAgent`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.interaction-mode.set`,commandId:t.commandId,createdAt:t.createdAt})}),R_=A(`EnvironmentCommands.setThreadDesignSystem`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.design-system.set`,commandId:t.commandId,createdAt:t.createdAt})}),z_=()=>{try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return vn(e)?e:void 0}catch{return}},B_=A(`EnvironmentCommands.startThreadTurn`)(function*(e){let t=yield*y_(e),n=z_();return yield*X({...e,...n?{clientTimeZone:n}:{},type:`thread.turn.start`,commandId:t.commandId,createdAt:t.createdAt})}),V_=A(`EnvironmentCommands.interruptThreadTurn`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.turn.interrupt`,commandId:t.commandId,createdAt:t.createdAt})}),H_=A(`EnvironmentCommands.compactThread`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.compact`,commandId:t.commandId,createdAt:t.createdAt})}),U_=A(`EnvironmentCommands.respondToThreadApproval`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.approval.respond`,commandId:t.commandId,createdAt:t.createdAt})}),W_=A(`EnvironmentCommands.respondToThreadUserInput`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.user-input.respond`,commandId:t.commandId,createdAt:t.createdAt})}),G_=A(`EnvironmentCommands.revertThreadCheckpoint`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.checkpoint.revert`,commandId:t.commandId,createdAt:t.createdAt})}),K_=A(`EnvironmentCommands.stopThreadSession`)(function*(e){let t=yield*y_(e);return yield*X({...e,type:`thread.session.stop`,commandId:t.commandId,createdAt:t.createdAt})});function q_(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=>C_(e),scheduler:t,concurrency:n}),delete:ym(e,{label:`environment-data:commands:thread:delete`,execute:e=>w_(e),scheduler:t,concurrency:n}),archive:ym(e,{label:`environment-data:commands:thread:archive`,execute:e=>T_(e),scheduler:t,concurrency:n}),unarchive:ym(e,{label:`environment-data:commands:thread:unarchive`,execute:e=>E_(e),scheduler:t,concurrency:n}),settle:ym(e,{label:`environment-data:commands:thread:settle`,execute:e=>D_(e),scheduler:t,concurrency:n}),unsettle:ym(e,{label:`environment-data:commands:thread:unsettle`,execute:e=>O_(e),scheduler:t,concurrency:n}),snooze:ym(e,{label:`environment-data:commands:thread:snooze`,execute:e=>k_(e),scheduler:t,concurrency:n}),publish:ym(e,{label:`environment-data:commands:thread:publish`,execute:e=>A_(e),scheduler:t,concurrency:n}),unsnooze:ym(e,{label:`environment-data:commands:thread:unsnooze`,execute:e=>j_(e),scheduler:t,concurrency:n}),pin:ym(e,{label:`environment-data:commands:thread:pin`,execute:e=>M_(e),scheduler:t,concurrency:n}),unpin:ym(e,{label:`environment-data:commands:thread:unpin`,execute:e=>N_(e),scheduler:t,concurrency:n}),reorderPin:ym(e,{label:`environment-data:commands:thread:reorder-pin`,execute:e=>P_(e),scheduler:t,concurrency:n}),updateMetadata:ym(e,{label:`environment-data:commands:thread:update-metadata`,execute:e=>F_(e),scheduler:t,concurrency:n}),setRuntimeMode:ym(e,{label:`environment-data:commands:thread:set-runtime-mode`,execute:e=>I_(e),scheduler:t,concurrency:n}),setAgent:ym(e,{label:`environment-data:commands:thread:set-interaction-mode`,execute:e=>L_(e),scheduler:t,concurrency:n}),setDesignSystem:ym(e,{label:`environment-data:commands:thread:set-design-system`,execute:e=>R_(e),scheduler:t,concurrency:n}),startTurn:ym(e,{label:`environment-data:commands:thread:start-turn`,execute:e=>B_(e),scheduler:t,concurrency:n}),interruptTurn:ym(e,{label:`environment-data:commands:thread:interrupt-turn`,execute:e=>V_(e),scheduler:t,concurrency:n}),compactThread:ym(e,{label:`environment-data:commands:thread:compact`,execute:e=>H_(e),scheduler:t,concurrency:n}),respondToApproval:ym(e,{label:`environment-data:commands:thread:respond-to-approval`,execute:e=>U_(e),scheduler:t,concurrency:n}),respondToUserInput:ym(e,{label:`environment-data:commands:thread:respond-to-user-input`,execute:e=>W_(e),scheduler:t,concurrency:n}),revertCheckpoint:ym(e,{label:`environment-data:commands:thread:revert-checkpoint`,execute:e=>G_(e),scheduler:t,concurrency:n}),stopSession:ym(e,{label:`environment-data:commands:thread:stop-session`,execute:e=>K_(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:yr.continueSharedChat}),promoteSharedChat:Sm(e,{label:`environment-data:commands:thread:promote-shared-chat`,tag:yr.promoteSharedChat}),continueImportedThread:Sm(e,{label:`environment-data:commands:thread:continue-imported-thread`,tag:yr.continueImportedThread})}}function J_(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 Y_(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:Re.make(`${e.id}:feedback`),role:t,text:n,turnId:null,streaming:!1,createdAt:e.createdAt,updatedAt:e.createdAt}}async function X_(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 Z_=Object.freeze([]),Q_=Object.freeze([]),$_=Object.freeze([]),ev=Object.freeze([]);function tv(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 nv(e){let t=z(t=>{let n=bg(t);return R(t=>Ne(_s(t(e(n.environmentId,n.threadId))),()=>Bg)).pipe(Ks(zg),B(`environment-thread-state-value:${t}`))}),n=z(e=>{let n=bg(e),r=null,i=null;return R(a=>{let o=et(a(t(e)).data);return o===r?i:(r=o,i=o===null?null:Eh(n.environmentId,o),i)}).pipe(Ks(zg),B(`environment-thread-detail:${e}`))}),r=z(e=>R(n=>n(t(e)).status).pipe(Ks(zg),B(`environment-thread-status:${e}`))),i=z(e=>R(n=>et(n(t(e)).error)).pipe(Ks(zg),B(`environment-thread-error:${e}`))),a=z(e=>R(t=>t(n(e))?.messages??Z_).pipe(Ks(zg),B(`environment-thread-messages:${e}`))),o=z(e=>R(t=>t(n(e))?.activities??Q_).pipe(Ks(zg),B(`environment-thread-activities:${e}`))),s=z(e=>R(t=>t(n(e))?.proposedPlans??$_).pipe(Ks(zg),B(`environment-thread-proposed-plans:${e}`))),c=z(e=>R(t=>t(n(e))?.checkpoints??ev).pipe(Ks(zg),B(`environment-thread-checkpoints:${e}`))),l=z(e=>R(t=>t(n(e))?.session??null).pipe(Ks(zg),B(`environment-thread-session:${e}`))),u=z(e=>R(t=>t(n(e))?.latestTurn??null).pipe(Ks(zg),B(`environment-thread-latest-turn:${e}`)));return{stateAtom:e=>t(hg(e)),detailAtom:e=>n(hg(e)),statusAtom:e=>r(hg(e)),errorAtom:e=>i(hg(e)),messagesAtom:e=>a(hg(e)),activitiesAtom:e=>o(hg(e)),proposedPlansAtom:e=>s(hg(e)),checkpointsAtom:e=>c(hg(e)),sessionAtom:e=>l(hg(e)),latestTurnAtom:e=>u(hg(e))}}function rv(e){return x(e)?`cached`:`empty`}function iv(e){return e===void 0?b():S({beforeCursor:e.beforeCursor,hasMore:e.hasMore,loadingOlder:!1})}function av(){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 ov=av(),sv=class extends or(`@borgtools/client-runtime/state/threads/ThreadOlderTurnRequests`,{defaultValue:()=>ov}){};function cv(e,t){return ov.request(hg({environmentId:e,threadId:t}))}function lv(e){let t=ni(e);return t instanceof Error&&t.message.trim().length>0?t.message:`Could not synchronize the thread.`}function uv(e){let t=e.session?.status;return t!==`starting`&&t!==`running`}var dv=A(`EnvironmentThreadState.make`)(function*(e){let t=yield*Lp,n=yield*Od,r=yield*cg,i=yield*da(Sp),a=t.target.environmentId,o=yield*n.loadThread(a,e).pipe(hn(t=>Gr(`Could not load cached thread.`).pipe(li({environmentId:a,threadId:e,error:t.message}),ut(b())))),s=on(o,e=>e.thread),c=yield*Zo({data:s,status:rv(s),error:b(),page:ai(o,e=>iv(e.page))}),u=yield*Zo(bn(o,{onNone:()=>0,onSome:e=>e.snapshotSequence})),d=yield*no(!1),f=yield*no(0),p=yield*vi(1),m=yield*no(!1),h=yield*no(null),g=yield*ar(1),_=A(`EnvironmentThreadState.persist`)(function*(t){yield*n.saveThread(a,t).pipe(hn(t=>Gr(`Could not persist the thread cache.`).pipe(li({environmentId:a,threadId:e,error:t.message}))))});yield*wt(g).pipe(Wt(`500 millis`),qe(_),N);let v=ts(c,e=>e.status===`deleted`?e:{...e,status:`synchronizing`,error:b()}),y=ts(c,e=>e.status===`live`||e.status===`deleted`?e:{...e,status:`synchronizing`,error:b()}),ee=k(function*(){yield*Do(d,!1),yield*Do(m,!1),yield*ts(c,e=>({...e,status:e.status===`deleted`?e.status:rv(e.data)}))}),te=e=>Do(d,!1).pipe(mi(ts(c,t=>({...t,status:t.status===`deleted`?t.status:rv(t.data),error:S(lv(e))})))),ne=A(`EnvironmentThreadState.setThread`)(function*(e,t){let n=yield*vo(d);if(yield*ts(c,r=>({data:S(e),status:n?`synchronizing`:`live`,error:b(),page:t===`keep`?r.page:t})),uv(e)){let t=yield*L(u),n=yield*L(c).pipe(E(e=>e.page));yield*zr(g,{snapshotSequence:t,thread:e,...bn(n,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})})}}),re=A(`EnvironmentThreadState.setDeleted`)(function*(){yield*Do(d,!1),yield*wo(f,e=>e+1),yield*es(c,{data:b(),status:`deleted`,error:b(),page:b()}),yield*n.removeThread(a,e).pipe(hn(t=>Gr(`Could not remove the cached thread.`).pipe(li({environmentId:a,threadId:e,error:t.message}))))}),ie=A(`EnvironmentThreadState.applyItemLocked`)(function*(e){if(e.kind===`synchronized`){yield*Do(d,!1),yield*ts(c,e=>x(e.data)&&e.status!==`deleted`?{...e,status:`live`,error:b()}:e);return}if(e.kind===`snapshot`){yield*wo(f,e=>e+1),yield*es(u,e.snapshot.snapshotSequence),yield*ne(e.snapshot.thread,iv(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(c);if(fn(n.data)){e.event.type===`thread.deleted`&&(yield*re());return}e.event.type===`thread.reverted`&&(yield*wo(f,e=>e+1));let r=kg(n.data.value,e.event);r.kind===`updated`?yield*ne(r.thread,`keep`):r.kind===`deleted`&&(yield*re()),yield*ae()}),ae=A(`EnvironmentThreadState.tryMergePendingOlderPage`)(function*(){let e=yield*vo(h);if(e===null)return;if((yield*vo(f))!==e.epoch){yield*Do(h,null),yield*ts(c,e=>({...e,page:on(e.page,e=>({...e,loadingOlder:!1}))}));return}let t=e.snapshot.page?.threadSequence,n=yield*L(u);t!==void 0&&t>n||(yield*Do(h,null),yield*se(e.snapshot))}),oe=A(`EnvironmentThreadState.applyItem`)(function*(e){yield*p.withPermits(1)(ie(e))}),se=A(`EnvironmentThreadState.mergeOlderPage`)(function*(e){let t=null;if(yield*ts(c,n=>{if(fn(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:S(t),page:iv(e.page)}}),t!==null&&uv(t)){let n=yield*L(u);yield*zr(g,{snapshotSequence:n,thread:t,...e.page===void 0?{}:{page:{...e.page,snapshotSequence:n}}})}}),ce=A(`EnvironmentThreadState.loadOlderTurns`)(function*(){if(!(yield*vo(m)))return;let n=et((yield*L(c)).page);if(n===null||n.loadingOlder||!n.hasMore||n.beforeCursor===null)return;let i=et(yield*L(t.prepared));if(i===null)return;let a=yield*vo(f);yield*ts(c,e=>({...e,page:on(e.page,e=>({...e,loadingOlder:!0}))}));let o={turnLimit:20,beforeCursor:n.beforeCursor},s=yield*r.load(i,e,o);yield*p.withPermits(1)(k(function*(){let e=yield*vo(f),t=yield*L(u),n=e!==a||bn(s,{onNone:()=>!1,onSome:e=>e.snapshotSequence<t});if(fn(s)||n){yield*ts(c,e=>({...e,page:on(e.page,e=>({...e,loadingOlder:!1}))}));return}let r=s.value.page?.threadSequence;if(r!==void 0&&r>t){yield*Do(h,{snapshot:s.value,epoch:e});return}yield*se(s.value)}))});yield*Qo(t.state).pipe(qe(e=>{switch(nd(e)){case`synchronizing`:return v;case`disconnected`:return ee;case`ready`:return y}}),N);let le=bn(i,{onNone:()=>pn,onSome:e=>e.changes.pipe(fi(xp))});yield*v,yield*N(Zp(yr.subscribeThread,A(`EnvironmentThreadState.makeSubscribeInput`)(function*(n){let i=yield*n.initialConfig.pipe(l(()=>({}))),a=i.threadResumeCompletionMarker===!0,o=i.threadSnapshotPagination===!0;yield*Do(m,o),yield*Do(d,a),yield*v;let s=yield*L(c);if(!o&&x(s.page)&&(yield*wo(f,e=>e+1),yield*ts(c,e=>({...e,data:b(),status:e.status===`deleted`?e.status:`empty`,page:b()})),yield*es(u,0),s=yield*L(c)),fn(s.data)&&s.status!==`deleted`){let n=yield*L(t.prepared).pipe(T(bn({onSome:M,onNone:()=>Qo(t.prepared).pipe(fi(x),tt(e=>e.value),Ve,E(It))}))),i=yield*r.load(n,e,o?{turnLimit:10}:void 0);x(i)&&(yield*oe({kind:`snapshot`,snapshot:i.value}),s=yield*L(c))}let p=yield*L(u),h=x(s.data);return!a&&h&&(yield*ts(c,e=>({...e,status:e.status===`deleted`?e.status:`live`,error:b()}))),{threadId:e,...h?{afterSequence:p}:{},...a?{requestCompletionMarker:!0}:{},...o?{turnLimit:10}:{}}}),{onExpectedFailure:te,retryExpectedFailureAfter:`250 millis`,resubscribe:le}).pipe(qe(oe)));let de=yield*sv,fe=yield*ar(1);yield*wt(fe).pipe(qe(()=>ce()),N);let pe=de.register(hg({environmentId:a,threadId:e}),()=>{va(fe,void 0)});return yield*ue(()=>D(pe)),yield*ue(()=>bt([L(c),L(u)]).pipe(T(([e,t])=>bn(e.data,{onNone:()=>P,onSome:n=>uv(n)?_({snapshotSequence:t,thread:n,...bn(e.page,{onNone:()=>({}),onSome:e=>({page:{beforeCursor:e.beforeCursor,hasMore:e.hasMore,snapshotSequence:t}})})}):P})))),c});function fv(e,t){return gm(e,Ai(dv(t).pipe(E(Qo))))}function pv(e){let t=z(t=>{let{environmentId:n,threadId:r}=bg(t);return e.atom(fv(n,r),{initialValue:Bg}).pipe(Ks(zg),B(`environment-thread-state:${t}`))});return{stateAtom:(e,n)=>t(hg({environmentId:e,threadId:n}))}}var mv=6e4,hv=A(`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??mv,_h(e.prepared.httpAuthorization,n.pullRequests.diff({payload:e.diff,headers:r})))}),gv=class extends F()(`@borgtools/client-runtime/state/pullRequestDiffHttp/PullRequestDiffLoader`){},_v=sa(gv,k(function*(){let e=yield*_o,t=yield*da(tf);return gv.of({load:(n,r)=>hv({prepared:n,diff:r,signer:t}).pipe(C(_o,e))})})),vv=class extends Za(`EnvironmentHttpConnectionNotReadyError`){};function yv(e){return bm(e,{label:`environment-data:pull-requests:linked-detail`,tag:O.pullRequestsDetail,staleTimeMs:15e3,refreshIntervalMs:3e4})}function bv(e){return{number:e.number,title:e.title,url:e.url,baseRef:e.baseBranch,headRef:e.headBranch,state:e.state,updatedAt:e.updatedAt}}function xv(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=>k(function*(){let t=yield*Lp,n=yield*gv,r=yield*L(t.prepared);return fn(r)?yield*new vv({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)=>D(()=>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 Sv(){return`https://api.getborg.com`}function Cv(e){return e}function wv(){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 Tv(){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 Ev(e,t){let n=e.generation;return e=>t({...e,accountGeneration:n})}var Dv=(e,t)=>t===void 0?e:{generation:t};function Ov(e,t){let n=e.generation;return(...e)=>t({generation:n},...e)}function kv(e){let t=e.account??Tv(),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 Av(e,t){return new Promise(n=>{let r=setTimeout(n,t);Promise.resolve(e).then(()=>{clearTimeout(r),n()},()=>{clearTimeout(r),n()})})}function jv(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 Mv=2e3,Nv=(e,t)=>`${t}:${[...e].toSorted().join(`,`)}`,Pv=class extends or(`@borgtools/client-runtime/searchAtlas/credentialSync/CredentialSyncObserver`,{defaultValue:()=>({synced:()=>void 0,unsynced:()=>void 0})}){},Fv=e=>typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`SearchAtlasCredentialRejectedError`,Iv=(e,t,n)=>e.run(t,x(n)?Yp(O.searchAtlasSetCredential,n.value):Yp(O.searchAtlasClearCredential,{})).pipe(ut(`accepted`),Ie(e=>{let n=Te(e);return x(n)&&Fv(n.value)?Gr(`Search Atlas credential push was refused`,{environmentId:t,cause:e}).pipe(ut(`refused`)):Vi(`Search Atlas credential push did not land`,{environmentId:t,cause:e}).pipe(ut(`unreachable`))})),Lv=wi(k(function*(){let e=yield*Hp,t=yield*Yf,n=yield*Pv,r=(e,t)=>D(()=>{try{t?n.synced(e):n.unsynced(e)}catch{}}),i=yield*ar(1),a=()=>va(i,void 0),o=e=>e.target._tag!==`BearerConnectionTarget`||e.platformManaged===!0,s=0,c=new Map,l=e=>c.get(e)??0,u=e=>c.set(e,l(e)+1),d=(t,n,i,a)=>Iv(e,t,n).pipe(T(e=>e===`accepted`&&i===s&&a===l(t)?r(t,!0):P)),f=k(function*(){let n=s,r=yield*t.current;yield*ji([...(yield*L(e.entries)).entries()].filter(([,e])=>o(e)).map(([e])=>[e,l(e)]),([e,t])=>d(e,r,n,t),{concurrency:`unbounded`,discard:!0})}).pipe(Gt(`searchAtlas.credentialSync.push`));yield*wt(i).pipe(qe(()=>f),N);let p=new Map,m=n=>e.stateChanges(n).pipe(tt(e=>e.phase===`connected`),Ha,qe(i=>k(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 f=s;yield*t.current.pipe(T(e=>d(n,e,f,a)),Qr)})),yi),h=k(function*(){let t=yield*L(e.entries);for(let[e,n]of p)t.has(e)||(p.delete(e),u(e),yield*ft(n),yield*r(e,!1));for(let e of t.keys())p.has(e)||p.set(e,yield*N(m(e)))});yield*h,yield*Qo(e.entries).pipe(qe(()=>h),N),yield*t.changes.pipe(qe(()=>k(function*(){s+=1;let t=yield*L(e.entries);for(let[e,n]of t)o(n)&&(yield*r(e,!1));a()})),N);let g=Gn(30);yield*k(function*(){(yield*L(e.entries)).size!==0&&(yield*t.current.pipe(yi))}).pipe($e(lt(g)),N),yield*D(a)})),Rv=e=>Yr(Pv,Pv.of({synced:e.markReady,unsynced:e.markNotReady}));function zv(e,t){return{start:(n,r)=>Ov(Dv(e,r.accountGeneration),(e,n)=>t(n,e))}}var Bv=wv(),Vv=Tv(),Hv=Lv.pipe(Gi(Rv(Bv))),Uv=vr([`configured`,`window-origin`,`desktop-managed`]),Wv=vr([`http-base-url`,`websocket-base-url`,`development-server-url`,`window-location-url`]),Gv=class extends Xn()(`PrimaryEnvironmentUrlInvalidError`,{source:Uv,urlKind:Wv,cause:ra()}){get message(){return`Could not parse ${this.urlKind} for the ${this.source} primary environment target.`}},Kv=class extends Xn()(`PrimaryEnvironmentProtocolUnsupportedError`,{source:Uv,protocol:j}){get message(){return`The ${this.source} primary environment target uses unsupported protocol ${this.protocol}.`}},qv=class extends Xn()(`DesktopEnvironmentBootstrapIncompleteError`,{hasHttpBaseUrl:jr,hasWsBaseUrl:jr}){get message(){return`Desktop bootstrap is missing ${[...this.hasHttpBaseUrl?[]:[`httpBaseUrl`],...this.hasWsBaseUrl?[]:[`wsBaseUrl`]].join(` and `)} for the local environment.`}};Qa(Gv),Qa(Kv),Qa(qv);var Jv=new Set([`127.0.0.1`,`::1`,`localhost`]);function Yv(){return(window.desktopBridge?.getLocalEnvironmentBootstraps()??[]).find(e=>e.id===`primary`)??null}function Xv(e){try{return e.baseUrl===void 0?new URL(e.rawValue):new URL(e.rawValue,e.baseUrl)}catch(t){throw new Gv({source:e.source,urlKind:e.urlKind,cause:t})}}function Zv(e,t,n){return Xv({rawValue:e,baseUrl:window.location.origin,source:t,urlKind:n}).toString()}function Qv(e){return e.trim().toLowerCase().replace(/^\[(.*)\]$/,`$1`)}function $v(e){return Jv.has(Qv(e))}function ey(e){return e.target.httpBaseUrl}function ty(){return null}function ny(){let e=Xv({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 Kv({source:`window-origin`,protocol:e.protocol});return{source:`window-origin`,target:{httpBaseUrl:t,wsBaseUrl:e.toString()}}}function ry(){let e=Yv();if(!e||!e.httpBaseUrl&&!e.wsBaseUrl)return null;if(!e.httpBaseUrl||!e.wsBaseUrl)throw new qv({hasHttpBaseUrl:!!e.httpBaseUrl,hasWsBaseUrl:!!e.wsBaseUrl});return{source:`desktop-managed`,target:{httpBaseUrl:Zv(e.httpBaseUrl,`desktop-managed`,`http-base-url`),wsBaseUrl:Zv(e.wsBaseUrl,`desktop-managed`,`websocket-base-url`)}}}function iy(e,t){let n=ay(),r=new URL(ao(ey(n),e));return t&&(r.search=new URLSearchParams(t).toString()),r.toString()}function ay(){return ry()??ty()??ny()}var oy=class extends F()(`@borgtools/web/environments/primary/httpClient/PrimaryEnvironmentHttpClient`){},sy=sa(oy,ei(()=>ro(iy(`/`)))),cy=null;function ly(){if(typeof window>`u`)return Promise.resolve(null);let e=window.desktopBridge;return e?(cy??=e.getLocalEnvironmentBearerToken().catch(e=>{throw cy=null,e}),cy):Promise.resolve(null)}function uy(){return typeof window>`u`||window.desktopBridge!==void 0||!window.location.origin.startsWith(`http`)?!1:new URL(iy(`/`)).origin===window.location.origin}function dy(e){return e.pipe(so(e=>ii(ly).pipe(E(t=>t?hi(e,t):e))))}function fy(){return $n(D(()=>{let e=lo(globalThis.fetch);return uy()?Or(e,Yr(uo,{credentials:`include`})):Or(sa(_o,E(_o,dy)).pipe(Gi(e)),Yr(uo,{credentials:`omit`}))}))}var py=fy(),my=lo((e,t)=>globalThis.fetch(e,t)),hy=Yr(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(my);var gy=Ro(sy.pipe(Gi(py))),_y=e=>gy.runPromise(e),vy=e=>_y(e),yy=br(Ro(Rr(my,hy,Jt)).contextEffect),by=`borg.backgroundActivity.clientId`,xy=25e3,Sy=45e3,Cy=Sy,wy=[{type:`provider-status`}],Ty=new Map,Ey=new Set;function Dy(){for(let e of Ey)try{e()}catch{}}function Oy(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 ky(){try{let e=window.localStorage.getItem(by);if(e)return e;let t=bo();return window.localStorage.setItem(by,t),t}catch{return`ephemeral-browser-client`}}function Ay(){return window.desktopBridge?`desktop-renderer`:`web`}function jy(e,t){return e<=t&&t-e<=Cy}function My(e,t,n){let r=[...wy];for(let t of Ty.values())t.environmentId===e&&r.push(t.scope);return{environmentId:e,clientId:ky(),clientKind:Ay(),visible:document.visibilityState===`visible`,focused:document.hasFocus(),recentlyInteracted:jy(t,n),appState:document.visibilityState===`visible`?`active`:`background`,scopes:r,ttlMs:Sy,observedAt:Ia(n)}}function Ny(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 Py(e,t){let n=Oy(e,t),r=Ty.get(n);return r?r.refCount+=1:(Ty.set(n,{environmentId:e,scope:t,refCount:1}),Dy()),()=>{let e=Ty.get(n);e&&(--e.refCount,e.refCount<=0&&(Ty.delete(n),Dy()))}}function Fy(e){let t=Ny(e);return t===null?M(P):D(()=>D(Py(e.environmentId,t)))}var Iy=Yr(Kp,Kp.of({observe:Fy})),Ly=wi(k(function*(){if(typeof window>`u`||typeof document>`u`)return;let e=yield*Hp,t=yield*Fe,n=yield*ar(1),r=()=>va(n,void 0),i=t.currentTimeMillisUnsafe(),a=()=>{let e=t.currentTimeMillisUnsafe(),n=jy(i,e);i=e,n||r()},o={passive:!0},s=k(function*(){let t=yield*nt;yield*ji((yield*L(e.entries)).keys(),n=>e.run(n,Yp(O.serverReportClientActivity,My(n,i,t))).pipe(yi),{concurrency:`unbounded`,discard:!0})}).pipe(Gt(`web.backgroundActivity.report`));yield*tn(D(()=>{Ey.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)}),()=>D(()=>{Ey.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(qe(()=>D(r)),N),yield*wt(n).pipe(Wt(`250 millis`),qe(()=>s),N),yield*D(r).pipe($e(lt(`${xy} millis`)),N)})),Ry=Kr({connectionId:j,credential:dd}),zy=Kr({schemaVersion:oa(1),targets:r(Qu),profiles:r(ld),credentials:r(Ry),remoteDpopTokens:r(af)}),By=Object.freeze({schemaVersion:1,targets:[],profiles:[],credentials:[],remoteDpopTokens:[]});function Vy(e,t,n){let r=t(n);return[...e.filter(e=>t(e)!==r),n]}function Hy(e,t,n){return e.filter(e=>t(e)!==n)}function Uy(e){switch(e._tag){case`PrimaryConnectionTarget`:return null;case`BearerConnectionTarget`:case`CloudConnectionTarget`:case`SshConnectionTarget`:case`BorgConnectionTarget`:return e.connectionId}}function Wy(e,t,n){let r=Uy(t),i=Hy(e.targets,e=>e.environmentId,t.environmentId),a=r!==null&&!i.some(e=>Uy(e)===r);return{...e,targets:i,profiles:a?Hy(e.profiles,e=>e.connectionId,r):e.profiles,credentials:a?Hy(e.credentials,e=>e.connectionId,r):e.credentials,remoteDpopTokens:n?Hy(e.remoteDpopTokens,e=>e.environmentId,t.environmentId):e.remoteDpopTokens}}function Gy(e,t){let n=t.target,r=e.targets.find(e=>e.environmentId===n.environmentId),i=r===void 0?e:Wy(e,r,!1),a={...i,targets:Vy(i.targets,e=>e.environmentId,n)};switch(t._tag){case`BearerConnectionRegistration`:case`CloudConnectionRegistration`:case`BorgConnectionRegistration`:return{...a,profiles:Vy(a.profiles,e=>e.connectionId,t.profile),credentials:Vy(a.credentials,e=>e.connectionId,{connectionId:t.target.connectionId,credential:t.credential})};case`SshConnectionRegistration`:return{...a,profiles:Vy(a.profiles,e=>e.connectionId,t.profile)}}}function Ky(e,t){return Wy(e,t,!0)}var qy=class extends Error{status;constructor(e){super(`Borg tunnel request failed (${e}).`),this.name=`BorgTunnelClientError`,this.status=e}};function Jy(){return crypto.randomUUID()}function Yy(e){if(!Vh(e.customerId))throw new qy(400);let t=e.fetch??globalThis.fetch,n=e.apiUrl.replace(/\/$/,``),r=async(r,i={})=>{let a=await e.getAccessToken();if(!a)throw new qy(401);let o=await t(`${n}${r}`,{...i,headers:{...i.headers,authorization:`Bearer ${a}`}});if(!o.ok)throw new qy(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 qy(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 qy(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 Xy=32,Zy=`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+=Zy[r>>2],t+=Zy[(r&3)<<4|o>>4],i&&(t+=Zy[(o&15)<<2|s>>6]),a&&(t+=Zy[s&63])}return t}var $y={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 eb(e=Xy,t=$y){return Qy(await t.randomBytes(e))}async function tb(e=$y){let t=await eb(Xy,e);return{verifier:t,challenge:Qy(await e.sha256(new TextEncoder().encode(t))),method:`S256`}}var nb;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 rb=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ib=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(nb=globalThis).__zod_globalConfig??(nb.__zod_globalConfig={});var ab=globalThis.__zod_globalConfig;function ob(e){return e&&Object.assign(ab,e),ab}function sb(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 cb(e,t){return typeof t==`bigint`?t.toString():t}function lb(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function ub(e){return e==null}function db(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function fb(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 pb=Symbol(`evaluating`);function Q(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==pb)return r===void 0&&(r=pb,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function mb(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function hb(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function gb(e){return JSON.stringify(e)}function _b(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var vb=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function yb(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var bb=lb(()=>{if(ab.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function xb(e){if(yb(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(yb(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Sb(e){return xb(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Cb=new Set([`string`,`number`,`symbol`]);function wb(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Tb(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 Eb(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var Db={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ob(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 Tb(e,hb(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 mb(this,`shape`,e),e},checks:[]}))}function kb(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 Tb(e,hb(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 mb(this,`shape`,r),r},checks:[]}))}function Ab(e,t){if(!xb(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 Tb(e,hb(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return mb(this,`shape`,n),n}}))}function jb(e,t){if(!xb(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Tb(e,hb(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return mb(this,`shape`,n),n}}))}function Mb(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Tb(e,hb(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return mb(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Nb(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 Tb(t,hb(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 mb(this,`shape`,i),i},checks:[]}))}function Pb(e,t,n){return Tb(t,hb(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 mb(this,`shape`,i),i}}))}function Fb(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 Ib(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 Lb(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Rb(e){return typeof e==`string`?e:e?.message}function zb(e,t,n){let r=e.message?e.message:Rb(e.inst?._zod.def?.error?.(e))??Rb(t?.error?.(e))??Rb(n.customError?.(e))??Rb(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 Bb(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Vb(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var Hb=(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,cb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ub=Z(`$ZodError`,Hb),Wb=Z(`$ZodError`,Hb,{Parent:Error});function Gb(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 Kb(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 qb=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 rb;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>zb(e,a,ob())));throw vb(t,i?.callee),t}return o.value},Jb=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=>zb(e,a,ob())));throw vb(t,i?.callee),t}return o.value},Yb=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 rb;return a.issues.length?{success:!1,error:new(e??Ub)(a.issues.map(e=>zb(e,i,ob())))}:{success:!0,data:a.value}},Xb=Yb(Wb),Zb=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=>zb(e,i,ob())))}:{success:!0,data:a.value}},Qb=Zb(Wb),$b=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return qb(e)(t,n,i)},ex=e=>(t,n,r)=>qb(e)(t,n,r),tx=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Jb(e)(t,n,i)},nx=e=>async(t,n,r)=>Jb(e)(t,n,r),rx=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Yb(e)(t,n,i)},ix=e=>(t,n,r)=>Yb(e)(t,n,r),ax=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Zb(e)(t,n,i)},ox=e=>async(t,n,r)=>Zb(e)(t,n,r),sx=/^[cC][0-9a-z]{6,}$/,cx=/^[0-9a-z]+$/,lx=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ux=/^[0-9a-vA-V]{20}$/,dx=/^[A-Za-z0-9]{27}$/,fx=/^[a-zA-Z0-9_-]{21}$/,px=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,mx=/^([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})$/,hx=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)$/,gx=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_x=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function vx(){return new RegExp(_x,`u`)}var yx=/^(?:(?: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])$/,bx=/^(([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}|:))$/,xx=/^((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])$/,Sx=/^(([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])$/,Cx=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,wx=/^[A-Za-z0-9_-]*$/,Tx=/^https?$/,Ex=/^\+[1-9]\d{6,14}$/,Dx=`(?:(?:\\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])))`,Ox=RegExp(`^${Dx}$`);function kx(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 Ax(e){return RegExp(`^${kx(e)}$`)}function jx(e){let t=kx({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(`^${Dx}T(?:${r})$`)}var Mx=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Nx=/^-?\d+$/,Px=/^-?\d+(?:\.\d+)?$/,Fx=/^[^A-Z]*$/,Ix=/^[^a-z]*$/,Lx=Z(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Rx={number:`number`,bigint:`bigint`,object:`date`},zx=Z(`$ZodCheckLessThan`,(e,t)=>{Lx.init(e,t);let n=Rx[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})}}),Bx=Z(`$ZodCheckGreaterThan`,(e,t)=>{Lx.init(e,t);let n=Rx[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})}}),Vx=Z(`$ZodCheckMultipleOf`,(e,t)=>{Lx.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):fb(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})}}),Hx=Z(`$ZodCheckNumberFormat`,(e,t)=>{Lx.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Db[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=Nx)}),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})}}),Ux=Z(`$ZodCheckMaxLength`,(e,t)=>{var n;Lx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ub(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=Bb(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Wx=Z(`$ZodCheckMinLength`,(e,t)=>{var n;Lx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ub(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=Bb(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Gx=Z(`$ZodCheckLengthEquals`,(e,t)=>{var n;Lx.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ub(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=Bb(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})}}),Kx=Z(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Lx.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=()=>{})}),qx=Z(`$ZodCheckRegex`,(e,t)=>{Kx.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})}}),Jx=Z(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Fx,Kx.init(e,t)}),Yx=Z(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Ix,Kx.init(e,t)}),Xx=Z(`$ZodCheckIncludes`,(e,t)=>{Lx.init(e,t);let n=wb(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})}}),Zx=Z(`$ZodCheckStartsWith`,(e,t)=>{Lx.init(e,t);let n=RegExp(`^${wb(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)=>{Lx.init(e,t);let n=RegExp(`.*${wb(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})}}),$x=Z(`$ZodCheckOverwrite`,(e,t)=>{Lx.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),eS=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
+ `))}},tS={major:4,minor:4,patch:3},nS=Z(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=tS;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=Fb(e),i;for(let a of t){if(a._zod.def.when){if(Ib(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 rb;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Fb(e,t))});else{if(e.issues.length===t)continue;r||=Fb(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Fb(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new rb;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 rb;return o.then(e=>t(e,r,a))}return t(o,r,a)}}Q(e,`~standard`,()=>({validate:t=>{try{let n=Xb(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}))}),rS=Z(`$ZodString`,(e,t)=>{nS.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Mx(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}}),iS=Z(`$ZodStringFormat`,(e,t)=>{Kx.init(e,t),rS.init(e,t)}),aS=Z(`$ZodGUID`,(e,t)=>{t.pattern??=mx,iS.init(e,t)}),oS=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??=hx(e)}else t.pattern??=hx();iS.init(e,t)}),sS=Z(`$ZodEmail`,(e,t)=>{t.pattern??=gx,iS.init(e,t)}),cS=Z(`$ZodURL`,(e,t)=>{iS.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Tx.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})}}}),lS=Z(`$ZodEmoji`,(e,t)=>{t.pattern??=vx(),iS.init(e,t)}),uS=Z(`$ZodNanoID`,(e,t)=>{t.pattern??=fx,iS.init(e,t)}),dS=Z(`$ZodCUID`,(e,t)=>{t.pattern??=sx,iS.init(e,t)}),fS=Z(`$ZodCUID2`,(e,t)=>{t.pattern??=cx,iS.init(e,t)}),pS=Z(`$ZodULID`,(e,t)=>{t.pattern??=lx,iS.init(e,t)}),mS=Z(`$ZodXID`,(e,t)=>{t.pattern??=ux,iS.init(e,t)}),hS=Z(`$ZodKSUID`,(e,t)=>{t.pattern??=dx,iS.init(e,t)}),gS=Z(`$ZodISODateTime`,(e,t)=>{t.pattern??=jx(t),iS.init(e,t)}),_S=Z(`$ZodISODate`,(e,t)=>{t.pattern??=Ox,iS.init(e,t)}),vS=Z(`$ZodISOTime`,(e,t)=>{t.pattern??=Ax(t),iS.init(e,t)}),yS=Z(`$ZodISODuration`,(e,t)=>{t.pattern??=px,iS.init(e,t)}),bS=Z(`$ZodIPv4`,(e,t)=>{t.pattern??=yx,iS.init(e,t),e._zod.bag.format=`ipv4`}),xS=Z(`$ZodIPv6`,(e,t)=>{t.pattern??=bx,iS.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})}}}),SS=Z(`$ZodCIDRv4`,(e,t)=>{t.pattern??=xx,iS.init(e,t)}),CS=Z(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Sx,iS.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 wS(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var TS=Z(`$ZodBase64`,(e,t)=>{t.pattern??=Cx,iS.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{wS(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function ES(e){if(!wx.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return wS(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var DS=Z(`$ZodBase64URL`,(e,t)=>{t.pattern??=wx,iS.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{ES(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),OS=Z(`$ZodE164`,(e,t)=>{t.pattern??=Ex,iS.init(e,t)});function kS(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 AS=Z(`$ZodJWT`,(e,t)=>{iS.init(e,t),e._zod.check=n=>{kS(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),jS=Z(`$ZodNumber`,(e,t)=>{nS.init(e,t),e._zod.pattern=e._zod.bag.pattern??Px,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}}),MS=Z(`$ZodNumberFormat`,(e,t)=>{Hx.init(e,t),jS.init(e,t)}),NS=Z(`$ZodUnknown`,(e,t)=>{nS.init(e,t),e._zod.parse=e=>e}),PS=Z(`$ZodNever`,(e,t)=>{nS.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function FS(e,t,n){e.issues.length&&t.issues.push(...Lb(n,e.issues)),t.value[n]=e.value}var IS=Z(`$ZodArray`,(e,t)=>{nS.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=>FS(t,n,e))):FS(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function LS(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Lb(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 RS(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=Eb(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function zS(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=>LS(e,n,i,t,u,d))):LS(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 BS=Z(`$ZodObject`,(e,t)=>{if(nS.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=lb(()=>RS(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=yb,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=>LS(n,t,e,s,r,i))):LS(a,t,e,s,r,i)}return i?zS(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),VS=Z(`$ZodObjectJIT`,(e,t)=>{BS.init(e,t);let n=e._zod.parse,r=lb(()=>RS(t)),i=e=>{let t=new eS([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=gb(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=gb(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=yb,s=!ab.jitless,c=s&&bb.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?zS([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function HS(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=>!Fb(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=>zb(e,r,ob())))}),t)}var US=Z(`$ZodUnion`,(e,t)=>{nS.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=>db(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=>HS(t,r,e,i)):HS(o,r,e,i)}}),WS=Z(`$ZodIntersection`,(e,t)=>{nS.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])=>KS(e,t,n)):KS(e,i,a)}});function GS(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(xb(e)&&xb(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=GS(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=GS(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 KS(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}),Fb(e))return e;let o=GS(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var qS=Z(`$ZodEnum`,(e,t)=>{nS.init(e,t);let n=sb(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Cb.has(typeof e)).map(e=>typeof e==`string`?wb(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}}),JS=Z(`$ZodTransform`,(e,t)=>{nS.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ib(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 rb;return n.value=i,n.fallback=!0,n}});function YS(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var XS=Z(`$ZodOptional`,(e,t)=>{nS.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(`^(${db(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=>YS(e,r)):YS(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),ZS=Z(`$ZodExactOptional`,(e,t)=>{XS.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)=>{nS.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(`^(${db(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)}),$S=Z(`$ZodDefault`,(e,t)=>{nS.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=>eC(e,t)):eC(r,t)}});function eC(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var tC=Z(`$ZodPrefault`,(e,t)=>{nS.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))}),nC=Z(`$ZodNonOptional`,(e,t)=>{nS.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=>rC(t,e)):rC(i,e)}});function rC(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 iC=Z(`$ZodCatch`,(e,t)=>{nS.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=>zb(e,n,ob()))},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=>zb(e,n,ob()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),aC=Z(`$ZodPipe`,(e,t)=>{nS.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=>oC(e,t.in,n)):oC(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>oC(e,t.out,n)):oC(r,t.out,n)}});function oC(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 sC=Z(`$ZodReadonly`,(e,t)=>{nS.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(cC):cC(r)}});function cC(e){return e.value=Object.freeze(e.value),e}var lC=Z(`$ZodCustom`,(e,t)=>{Lx.init(e,t),nS.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=>uC(t,n,r,e));uC(i,n,r,e)}});function uC(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(Vb(e))}}var dC,fC=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 pC(){return new fC}(dC=globalThis).__zod_globalRegistry??(dC.__zod_globalRegistry=pC());var mC=globalThis.__zod_globalRegistry;function hC(e,t){return new e({type:`string`,...$(t)})}function gC(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...$(t)})}function _C(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...$(t)})}function vC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...$(t)})}function yC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...$(t)})}function bC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...$(t)})}function xC(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...$(t)})}function SC(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...$(t)})}function CC(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...$(t)})}function wC(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...$(t)})}function TC(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...$(t)})}function EC(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...$(t)})}function DC(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...$(t)})}function OC(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...$(t)})}function kC(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...$(t)})}function AC(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...$(t)})}function jC(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...$(t)})}function MC(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...$(t)})}function NC(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...$(t)})}function PC(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...$(t)})}function FC(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...$(t)})}function IC(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...$(t)})}function LC(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...$(t)})}function RC(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...$(t)})}function zC(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...$(t)})}function BC(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...$(t)})}function VC(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...$(t)})}function HC(e,t){return new e({type:`number`,checks:[],...$(t)})}function UC(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...$(t)})}function WC(e){return new e({type:`unknown`})}function GC(e,t){return new e({type:`never`,...$(t)})}function KC(e,t){return new zx({check:`less_than`,...$(t),value:e,inclusive:!1})}function qC(e,t){return new zx({check:`less_than`,...$(t),value:e,inclusive:!0})}function JC(e,t){return new Bx({check:`greater_than`,...$(t),value:e,inclusive:!1})}function YC(e,t){return new Bx({check:`greater_than`,...$(t),value:e,inclusive:!0})}function XC(e,t){return new Vx({check:`multiple_of`,...$(t),value:e})}function ZC(e,t){return new Ux({check:`max_length`,...$(t),maximum:e})}function QC(e,t){return new Wx({check:`min_length`,...$(t),minimum:e})}function $C(e,t){return new Gx({check:`length_equals`,...$(t),length:e})}function ew(e,t){return new qx({check:`string_format`,format:`regex`,...$(t),pattern:e})}function tw(e){return new Jx({check:`string_format`,format:`lowercase`,...$(e)})}function nw(e){return new Yx({check:`string_format`,format:`uppercase`,...$(e)})}function rw(e,t){return new Xx({check:`string_format`,format:`includes`,...$(t),includes:e})}function iw(e,t){return new Zx({check:`string_format`,format:`starts_with`,...$(t),prefix:e})}function aw(e,t){return new Qx({check:`string_format`,format:`ends_with`,...$(t),suffix:e})}function ow(e){return new $x({check:`overwrite`,tx:e})}function sw(e){return ow(t=>t.normalize(e))}function cw(){return ow(e=>e.trim())}function lw(){return ow(e=>e.toLowerCase())}function uw(){return ow(e=>e.toUpperCase())}function dw(){return ow(e=>_b(e))}function fw(e,t,n){return new e({type:`array`,element:t,...$(n)})}function pw(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$(n)})}function mw(e,t){let n=hw(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Vb(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(Vb(r))}},e(t.value,t)),t);return n}function hw(e,t){let n=new Lx({check:`custom`,...$(t)});return n._zod.check=e,n}function gw(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??mC,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 _w(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,_w(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`&&bw(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 vw(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 yw(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:Sw(t,`input`,e.processors),output:Sw(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function bw(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 bw(r.element,n);if(r.type===`set`)return bw(r.valueType,n);if(r.type===`lazy`)return bw(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 bw(r.innerType,n);if(r.type===`intersection`)return bw(r.left,n)||bw(r.right,n);if(r.type===`record`||r.type===`map`)return bw(r.keyType,n)||bw(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:bw(r.in,n)||bw(r.out,n);if(r.type===`object`){for(let e in r.shape)if(bw(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(bw(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(bw(e,n))return!0;return!!(r.rest&&bw(r.rest,n))}return!1}var xw=(e,t={})=>n=>{let r=gw({...n,processors:t});return _w(e,r),vw(r,e),yw(r,e)},Sw=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=gw({...i??{},target:a,io:t,processors:n});return _w(e,o),vw(o,e),yw(o,e)},Cw={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ww=(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=Cw[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}))])}},Tw=(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)},Ew=(e,t,n,r)=>{n.not={}},Dw=(e,t,n,r)=>{let i=e._zod.def,a=sb(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Ow=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},kw=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Aw=(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=_w(a.element,t,{...r,path:[...r.path,`items`]})},jw=(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]=_w(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=_w(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Mw=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>_w(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Nw=(e,t,n,r)=>{let i=e._zod.def,a=_w(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=_w(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]]},Pw=(e,t,n,r)=>{let i=e._zod.def,a=_w(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`}]},Fw=(e,t,n,r)=>{let i=e._zod.def;_w(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Iw=(e,t,n,r)=>{let i=e._zod.def;_w(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Lw=(e,t,n,r)=>{let i=e._zod.def;_w(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)))},Rw=(e,t,n,r)=>{let i=e._zod.def;_w(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},zw=(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;_w(o,t,r);let s=t.seen.get(e);s.ref=o},Bw=(e,t,n,r)=>{let i=e._zod.def;_w(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Vw=(e,t,n,r)=>{let i=e._zod.def;_w(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Hw=Z(`ZodISODateTime`,(e,t)=>{gS.init(e,t),hT.init(e,t)});function Uw(e){return RC(Hw,e)}var Ww=Z(`ZodISODate`,(e,t)=>{_S.init(e,t),hT.init(e,t)});function Gw(e){return zC(Ww,e)}var Kw=Z(`ZodISOTime`,(e,t)=>{vS.init(e,t),hT.init(e,t)});function qw(e){return BC(Kw,e)}var Jw=Z(`ZodISODuration`,(e,t)=>{yS.init(e,t),hT.init(e,t)});function Yw(e){return VC(Jw,e)}var Xw=Z(`ZodError`,(e,t)=>{Ub.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Kb(e,t)},flatten:{value:t=>Gb(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,cb,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,cb,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),Zw=qb(Xw),Qw=Jb(Xw),$w=Yb(Xw),eT=Zb(Xw),tT=$b(Xw),nT=ex(Xw),rT=tx(Xw),iT=nx(Xw),aT=rx(Xw),oT=ix(Xw),sT=ax(Xw),cT=ox(Xw),lT=new WeakMap;function uT(e,t,n){let r=Object.getPrototypeOf(e),i=lT.get(r);if(i||(i=new Set,lT.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 dT=Z(`ZodType`,(e,t)=>(nS.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Sw(e,`input`),output:Sw(e,`output`)}}),e.toJSONSchema=xw(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Zw(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>$w(e,t,n),e.parseAsync=async(t,n)=>Qw(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>eT(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>tT(e,t,n),e.decode=(t,n)=>nT(e,t,n),e.encodeAsync=async(t,n)=>rT(e,t,n),e.decodeAsync=async(t,n)=>iT(e,t,n),e.safeEncode=(t,n)=>aT(e,t,n),e.safeDecode=(t,n)=>oT(e,t,n),e.safeEncodeAsync=async(t,n)=>sT(e,t,n),e.safeDecodeAsync=async(t,n)=>cT(e,t,n),uT(e,`ZodType`,{check(...e){let t=this.def;return this.clone(hb(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 Tb(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(bE(e,t))},superRefine(e,t){return this.check(xE(e,t))},overwrite(e){return this.check(ow(e))},optional(){return nE(this)},exactOptional(){return iE(this)},nullable(){return oE(this)},nullish(){return nE(oE(this))},nonoptional(e){return fE(this,e)},array(){return WT(this)},or(e){return JT([this,e])},and(e){return XT(this,e)},transform(e){return gE(this,eE(e))},default(e){return cE(this,e)},prefault(e){return uE(this,e)},catch(e){return mE(this,e)},pipe(e){return gE(this,e)},readonly(){return vE(this)},describe(e){let t=this.clone();return mC.add(t,{description:e}),t},meta(...e){if(e.length===0)return mC.get(this);let t=this.clone();return mC.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 mC.get(e)?.description},configurable:!0}),e)),fT=Z(`_ZodString`,(e,t)=>{rS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ww(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,uT(e,`_ZodString`,{regex(...e){return this.check(ew(...e))},includes(...e){return this.check(rw(...e))},startsWith(...e){return this.check(iw(...e))},endsWith(...e){return this.check(aw(...e))},min(...e){return this.check(QC(...e))},max(...e){return this.check(ZC(...e))},length(...e){return this.check($C(...e))},nonempty(...e){return this.check(QC(1,...e))},lowercase(e){return this.check(tw(e))},uppercase(e){return this.check(nw(e))},trim(){return this.check(cw())},normalize(...e){return this.check(sw(...e))},toLowerCase(){return this.check(lw())},toUpperCase(){return this.check(uw())},slugify(){return this.check(dw())}})}),pT=Z(`ZodString`,(e,t)=>{rS.init(e,t),fT.init(e,t),e.email=t=>e.check(gC(gT,t)),e.url=t=>e.check(SC(yT,t)),e.jwt=t=>e.check(LC(PT,t)),e.emoji=t=>e.check(CC(bT,t)),e.guid=t=>e.check(_C(_T,t)),e.uuid=t=>e.check(vC(vT,t)),e.uuidv4=t=>e.check(yC(vT,t)),e.uuidv6=t=>e.check(bC(vT,t)),e.uuidv7=t=>e.check(xC(vT,t)),e.nanoid=t=>e.check(wC(xT,t)),e.guid=t=>e.check(_C(_T,t)),e.cuid=t=>e.check(TC(ST,t)),e.cuid2=t=>e.check(EC(CT,t)),e.ulid=t=>e.check(DC(wT,t)),e.base64=t=>e.check(PC(jT,t)),e.base64url=t=>e.check(FC(MT,t)),e.xid=t=>e.check(OC(TT,t)),e.ksuid=t=>e.check(kC(ET,t)),e.ipv4=t=>e.check(AC(DT,t)),e.ipv6=t=>e.check(jC(OT,t)),e.cidrv4=t=>e.check(MC(kT,t)),e.cidrv6=t=>e.check(NC(AT,t)),e.e164=t=>e.check(IC(NT,t)),e.datetime=t=>e.check(Uw(t)),e.date=t=>e.check(Gw(t)),e.time=t=>e.check(qw(t)),e.duration=t=>e.check(Yw(t))});function mT(e){return hC(pT,e)}var hT=Z(`ZodStringFormat`,(e,t)=>{iS.init(e,t),fT.init(e,t)}),gT=Z(`ZodEmail`,(e,t)=>{sS.init(e,t),hT.init(e,t)}),_T=Z(`ZodGUID`,(e,t)=>{aS.init(e,t),hT.init(e,t)}),vT=Z(`ZodUUID`,(e,t)=>{oS.init(e,t),hT.init(e,t)}),yT=Z(`ZodURL`,(e,t)=>{cS.init(e,t),hT.init(e,t)}),bT=Z(`ZodEmoji`,(e,t)=>{lS.init(e,t),hT.init(e,t)}),xT=Z(`ZodNanoID`,(e,t)=>{uS.init(e,t),hT.init(e,t)}),ST=Z(`ZodCUID`,(e,t)=>{dS.init(e,t),hT.init(e,t)}),CT=Z(`ZodCUID2`,(e,t)=>{fS.init(e,t),hT.init(e,t)}),wT=Z(`ZodULID`,(e,t)=>{pS.init(e,t),hT.init(e,t)}),TT=Z(`ZodXID`,(e,t)=>{mS.init(e,t),hT.init(e,t)}),ET=Z(`ZodKSUID`,(e,t)=>{hS.init(e,t),hT.init(e,t)}),DT=Z(`ZodIPv4`,(e,t)=>{bS.init(e,t),hT.init(e,t)}),OT=Z(`ZodIPv6`,(e,t)=>{xS.init(e,t),hT.init(e,t)}),kT=Z(`ZodCIDRv4`,(e,t)=>{SS.init(e,t),hT.init(e,t)}),AT=Z(`ZodCIDRv6`,(e,t)=>{CS.init(e,t),hT.init(e,t)}),jT=Z(`ZodBase64`,(e,t)=>{TS.init(e,t),hT.init(e,t)}),MT=Z(`ZodBase64URL`,(e,t)=>{DS.init(e,t),hT.init(e,t)}),NT=Z(`ZodE164`,(e,t)=>{OS.init(e,t),hT.init(e,t)}),PT=Z(`ZodJWT`,(e,t)=>{AS.init(e,t),hT.init(e,t)}),FT=Z(`ZodNumber`,(e,t)=>{jS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tw(e,t,n,r),uT(e,`ZodNumber`,{gt(e,t){return this.check(JC(e,t))},gte(e,t){return this.check(YC(e,t))},min(e,t){return this.check(YC(e,t))},lt(e,t){return this.check(KC(e,t))},lte(e,t){return this.check(qC(e,t))},max(e,t){return this.check(qC(e,t))},int(e){return this.check(RT(e))},safe(e){return this.check(RT(e))},positive(e){return this.check(JC(0,e))},nonnegative(e){return this.check(YC(0,e))},negative(e){return this.check(KC(0,e))},nonpositive(e){return this.check(qC(0,e))},multipleOf(e,t){return this.check(XC(e,t))},step(e,t){return this.check(XC(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 IT(e){return HC(FT,e)}var LT=Z(`ZodNumberFormat`,(e,t)=>{MS.init(e,t),FT.init(e,t)});function RT(e){return UC(LT,e)}var zT=Z(`ZodUnknown`,(e,t)=>{NS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function BT(){return WC(zT)}var VT=Z(`ZodNever`,(e,t)=>{PS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ew(e,t,n,r)});function HT(e){return GC(VT,e)}var UT=Z(`ZodArray`,(e,t)=>{IS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aw(e,t,n,r),e.element=t.element,uT(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(ZC(e,t))},length(e,t){return this.check($C(e,t))},unwrap(){return this.element}})});function WT(e,t){return fw(UT,e,t)}var GT=Z(`ZodObject`,(e,t)=>{VS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jw(e,t,n,r),Q(e,`shape`,()=>t.shape),uT(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:BT()})},loose(){return this.clone({...this._zod.def,catchall:BT()})},strict(){return this.clone({...this._zod.def,catchall:HT()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Ab(this,e)},safeExtend(e){return jb(this,e)},merge(e){return Mb(this,e)},pick(e){return Ob(this,e)},omit(e){return kb(this,e)},partial(...e){return Nb(tE,this,e[0])},required(...e){return Pb(dE,this,e[0])}})});function KT(e,t){return new GT({type:`object`,shape:e??{},...$(t)})}var qT=Z(`ZodUnion`,(e,t)=>{US.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mw(e,t,n,r),e.options=t.options});function JT(e,t){return new qT({type:`union`,options:e,...$(t)})}var YT=Z(`ZodIntersection`,(e,t)=>{WS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nw(e,t,n,r)});function XT(e,t){return new YT({type:`intersection`,left:e,right:t})}var ZT=Z(`ZodEnum`,(e,t)=>{qS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dw(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 ZT({...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 ZT({...t,checks:[],...$(r),entries:i})}});function QT(e,t){return new ZT({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...$(t)})}var $T=Z(`ZodTransform`,(e,t)=>{JS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kw(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ib(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Vb(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(Vb(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 eE(e){return new $T({type:`transform`,transform:e})}var tE=Z(`ZodOptional`,(e,t)=>{XS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function nE(e){return new tE({type:`optional`,innerType:e})}var rE=Z(`ZodExactOptional`,(e,t)=>{ZS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function iE(e){return new rE({type:`optional`,innerType:e})}var aE=Z(`ZodNullable`,(e,t)=>{QS.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function oE(e){return new aE({type:`nullable`,innerType:e})}var sE=Z(`ZodDefault`,(e,t)=>{$S.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function cE(e,t){return new sE({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Sb(t)}})}var lE=Z(`ZodPrefault`,(e,t)=>{tC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function uE(e,t){return new lE({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Sb(t)}})}var dE=Z(`ZodNonOptional`,(e,t)=>{nC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fE(e,t){return new dE({type:`nonoptional`,innerType:e,...$(t)})}var pE=Z(`ZodCatch`,(e,t)=>{iC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function mE(e,t){return new pE({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var hE=Z(`ZodPipe`,(e,t)=>{aC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zw(e,t,n,r),e.in=t.in,e.out=t.out});function gE(e,t){return new hE({type:`pipe`,in:e,out:t})}var _E=Z(`ZodReadonly`,(e,t)=>{sC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bw(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function vE(e){return new _E({type:`readonly`,innerType:e})}var yE=Z(`ZodCustom`,(e,t)=>{lC.init(e,t),dT.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ow(e,t,n,r)});function bE(e,t={}){return pw(yE,e,t)}function xE(e,t){return mw(e,t)}var SE=KT({accessToken:mT().min(1),refreshToken:mT().min(1).optional(),expiresAt:IT().int().positive().optional(),tokenType:mT().default(`Bearer`),scope:mT().optional()}),CE=KT({access_token:mT().min(1),refresh_token:mT().min(1).optional(),expires_in:IT().int().positive().optional(),token_type:mT().optional(),scope:mT().optional()}),wE=(e,t=Date.now())=>e.expiresAt!==void 0&&e.expiresAt-6e4<=t;function TE(e,t=Date.now()){let n=CE.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 EE=`relay`,DE=class extends Error{refusal;constructor(e){super(`Search Atlas refused the request (${e.status})`),this.name=`EmailAuthRefusedError`,this.refusal=e}},OE=(e,t)=>new URL(t,e).toString(),kE=`/api/customer/account/register/v2/`,AE=`/api/token/`,jE=`/api/customer/account/check-email/`,ME=`/oauth/approve/`,NE=`/account/google/oauth/start`;function PE(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 FE(e){let t=e.name?.trim();return{email:e.email.trim(),password:e.password,...t?{contact_name:t}:{},registration_source:EE,...IE(e.captcha)}}var IE=e=>e.version===`v2`?{captcha_v2:e.token}:{captcha:e.token};function LE(e){return{username:e.email.trim(),password:e.password,...IE(e.captcha)}}var RE={email:`email`,password:`password`,contact_name:`name`},zE=e=>{let t=Array.isArray(e)?e[0]:e;return typeof t==`string`&&t.trim().length>0?t.trim():null},BE=e=>typeof e==`object`&&e&&!Array.isArray(e)?e:null;function VE(e,t){let n=BE(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 DE({status:`verification-required`});return null}if(e===409)throw new DE({status:`email-registered`});if(e===406)throw new DE({status:`invalid`,field:`email`,message:`Search Atlas doesn't accept this email provider. Use a different email.`});if(e!==400||!n)return null;if(HE(n))throw new DE({status:`captcha-required`});for(let[e,t]of Object.entries(RE)){let r=zE(n[e]);if(r)throw new DE({status:`invalid`,field:t,message:r})}return null}function HE(e){if(`recaptcha_fallback`in e||`captcha`in e||`captcha_v2`in e)return!0;let t=zE(e.non_field_errors);return t!==null&&/recaptcha/iu.test(t)}function UE(e,t){let n=BE(t);if(e===200){let e=n?.token;return typeof e==`string`&&e.length>0?e:null}if(e===400&&n&&HE(n))throw new DE({status:`captcha-required`});if(e===403&&n?.kind===`email_verification_required`)throw new DE({status:`verification-required`});if(e===401)throw new DE({status:`invalid`,field:`password`,message:`The email or password is incorrect.`});return null}function WE(e){let t=BE(e)?.redirect_url;return typeof t==`string`&&t.length>0?t:null}var GE=class extends Error{code;status;constructor(e,t,n){super(t),this.code=e,this.status=n,this.name=`AuthError`}},KE=e=>e instanceof GE&&e.status!==void 0&&e.status>=400&&e.status<500&&e.status!==408&&e.status!==429,qE=2e4;async function JE(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)},qE)});try{return await Promise.race([e(t.signal),r])}finally{clearTimeout(n)}}function YE(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 XE=`borg.tokens`;function ZE(e,t){let n=new URL(e),r=n.searchParams.get(`error`);if(r)throw new GE(r,n.searchParams.get(`error_description`)??r);if(n.searchParams.get(`state`)!==t)throw new GE(`state_mismatch`,`Authorization state did not match`);let i=n.searchParams.get(`code`);if(!i)throw new GE(`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 tb(this.#s.pkceCrypto);return{state:await eb(16,this.#s.pkceCrypto),verifier:t,challenge:n,method:r,redirectUri:e}}async isEmailRegistered(e){let t=OE(this.#o.tokenEndpoint,jE);return JE(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 GE(`http_${r.status}`,`Email check returned ${r.status}`,r.status);return i?.exists===!0})}async signUp(e){let t=await this.#f(kE,FE(e),VE);return this.authorizeWithAccountToken(t)}async signIn(e){let t=await this.#f(AE,LE(e),UE);return this.authorizeWithAccountToken(t)}#f(e,t,n){return JE(async r=>{let i=await fetch(OE(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 GE(`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 GE(`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=PE({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(NE,this.#o.tokenEndpoint);return a.searchParams.set(`from_domain`,`${t.host}${t.pathname}#${i}`),a.searchParams.set(`registration_source`,EE),a.toString()})}async authorizeWithAccountToken(e){let t=await this.#d(this.#o.redirectUri),n=await JE(async n=>{let r=await fetch(OE(this.#o.tokenEndpoint,ME),{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?WE(i):null;if(a===null){let e=i;throw new GE(e?.error??`http_${r.status}`,e?.error_description??`Approval returned ${r.status}`,r.status)}return a});return this.#m(ZE(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 GE(`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 GE&&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 GE(`no_pending_authorization`,`No authorization in progress`);let n=ZE(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 GE(`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(!wE(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 KE(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=>JE(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 GE(`http_${r.response.status}`,`Userinfo endpoint returned ${r.response.status}`,r.response.status);let i=YE(r.payload);if(!i)throw new GE(`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 JE(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 GE(e?.error??`http_${n.status}`,e?.error_description??`Token endpoint returned ${n.status}`,n.status)}return TE(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(XE,JSON.stringify(e)),t!==this.#a)?!1:(this.#l(e.accessToken),!0))}async loadTokens(){let e=await this.#s.getSecureCredential(XE);if(!e)return null;try{let t=SE.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(XE),e===this.#a&&this.#l(null),t});if(t?.refreshToken&&this.#o.revocationEndpoint){let e=this.#o.revocationEndpoint,n=t.refreshToken;JE(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 $E(){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 eD=`borg.search-atlas.oauth-callback`,tD=`borg-search-atlas-auth`,nD=`borg-search-atlas-oauth-callback`;function rD(e){if(typeof e!=`object`||!e)return null;let t=e;return t.type===nD&&typeof t.url==`string`?t.url:null}function iD(){let e=$E();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(tD),i=t=>{d(),e(t)},c=e=>{let t=rD(e.data);t&&i(t)},l=e=>{if(e.origin!==window.location.origin||e.source!==a)return;let t=rD(e.data);t&&i(t)},u=e=>{if(!(e.key!==eD||!e.newValue))try{let t=rD(JSON.parse(e.newValue));t&&i(t)}catch{}};s=()=>{d(),t(new GE(`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 aD;function oD(){return aD??=iD(),aD}async function sD(e){if(!e.apiUrl)throw Error(`Borg Cloud is not configured.`);let t=zi(e.token);if(t===void 0)throw Error(`This Search Atlas session names no customer.`);return t.customerId}var cD=/-nightly\.\d{8}\.\d+$/;function lD(e){return e.stageLabel.trim().toLowerCase()===`latest`?e.baseName:`${e.baseName} (${e.stageLabel})`}function uD(e){return e.primaryServerVersion&&cD.test(e.primaryServerVersion)?`Nightly`:e.fallbackStageLabel}function dD(e){let t=uD({primaryServerVersion:e.primaryServerVersion,fallbackStageLabel:e.fallbackStageLabel});return t===e.fallbackStageLabel?e.fallbackDisplayName:lD({baseName:e.baseName,stageLabel:t})}var fD={local:`Development`,staging:`Preview`,production:``};function pD(e){return[fD[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 mD(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var hD=mD(),gD=``,_D=gD===`latest`||gD===`nightly`?gD:null,vD=_D===`nightly`?`Nightly`:_D===`latest`?`Latest`:null,yD=hD?.baseName??`Borg`,bD=hD?.stageLabel??vD??`Alpha`,xD=hD?.displayName??lD({baseName:yD,stageLabel:bD}),SD=`0.0.126`,CD=pD({environment:`production`,commit:`c1ed49412fc84e3d1112b8d45a080eddf51db6cb`});[`${yD} ${SD}`,CD].filter(Boolean).join(` · `);function wD(){return`https://app.getborg.com`}function TD(){return``}function ED(){return null}function DD(e){try{return new URL(e).origin}catch{return null}}function OD(){return typeof window<`u`&&window.desktopBridge!==void 0}function kD(e=new URL(window.location.href)){if(TD()||OD())return!1;if(ED())return!0;let t=DD(wD());return t!==null&&e.origin===t}function AD(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 jD(e=new URL(window.location.href)){return AD(e)!==null}function MD(e){let t=new URL(`/pair`,wD());t.searchParams.set(`host`,e.host);let n=e.label?.trim();return n&&t.searchParams.set(`label`,n),Bm(t,e.token).toString()}function ND(e){let t=new URL(`/__borgcode/channel`,wD());return t.searchParams.set(`channel`,e.channel),t.toString()}var PD=Cs();function FD({children:e}){return(0,Nc.createElement)(Ic.Provider,{value:PD},e)}var ID=15e3,LD=12e4,RD=ID,zD=new Map,BD=new Set([O.previewAutomationConnect,O.shellCaptureLoopbackRedirect]),VD=new Set([O.serverUpdateProvider,O.serverRefreshProviders,O.serverUpdateServer]),HD=R([]).pipe(yc,B(`slow-rpc-ack-requests`));function UD(e){PD.set(HD,[...e])}function WD(){return PD.get(HD)}function GD(e){return!e.includes(`subscribe`)&&!e.startsWith(`pullRequests.`)&&!BD.has(e)}function KD(e){return VD.has(e)?Math.max(RD,LD):RD}function qD(e,t,n=t){if(!GD(t))return;YD(e),ZD();let r=Date.now(),i=KD(t),a={requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:n,thresholdMs:i},o=setTimeout(()=>{zD.delete(e),XD(a)},i);zD.set(e,{request:a,timeoutId:o})}function JD(e){YD(e);let t=WD();t.some(t=>t.requestId===e)&&UD(t.filter(t=>t.requestId!==e))}function YD(e){let t=zD.get(e);t&&(clearTimeout(t.timeoutId),zD.delete(e))}function XD(e){let t=[...WD(),e];if(t.length<=256){UD(t);return}UD(t.slice(-256))}function ZD(){for(;zD.size>=256;){let e=zD.keys().next().value;if(e===void 0)return;YD(e)}}function QD(){return Bc(HD)}var $D=Promise.resolve(),eO=e=>{$D=e},tO=()=>$D,nO=4,rO=`catalog`,iO=`shell`,aO=`thread`,oO=`server-config`,sO=`vcs-refs`,cO=`document`,lO=`5 seconds`,uO=1,dO=rt(Kr({schemaVersion:oa(uO),environmentId:Ki,snapshot:qr})),fO=rt(Kr({schemaVersion:oa(3),environmentId:Ki,threadId:En,snapshot:Zn})),pO=rt(Kr({schemaVersion:oa(1),environmentId:Ki,config:un})),mO=rt(Kr({schemaVersion:oa(1),environmentId:Ki,cwd:j,refs:f})),hO=rt(zy),gO=ci(hO),_O=Et(hO),vO=ci(dO),yO=Et(dO),bO=ci(fO),xO=Et(fO),SO=ci(pO),CO=Et(pO),wO=ci(mO),TO=Et(mO);function EO(e,t){return new td({reason:`remote-unavailable`,detail:`Could not ${e} the local connection catalog: ${String(t)}`})}function DO(e,t){return new Td({operation:e,message:`Could not ${e.replaceAll(`-`,` `)}: ${String(t)}`})}var OO=A(`web.connectionStorage.openDatabase`)(function*(){yield*ii(tO);let e=yield*Se(e=>{if(typeof indexedDB>`u`){e(w(EO(`open`,`IndexedDB is unavailable in this browser context.`)));return}let t=!1,n=indexedDB.open(Xr(ca),nO);return n.addEventListener(`upgradeneeded`,()=>{n.result.objectStoreNames.contains(rO)||n.result.createObjectStore(rO),n.result.objectStoreNames.contains(iO)||n.result.createObjectStore(iO),n.result.objectStoreNames.contains(aO)||n.result.createObjectStore(aO),n.result.objectStoreNames.contains(oO)||n.result.createObjectStore(oO),n.result.objectStoreNames.contains(sO)||n.result.createObjectStore(sO)}),n.addEventListener(`error`,()=>{e(w(EO(`open`,n.error??`Unknown IndexedDB error`)))}),n.addEventListener(`success`,()=>{let r=n.result;if(t){r.close();return}r.addEventListener(`versionchange`,()=>r.close()),e(M(r))}),D(()=>{t=!0})}).pipe(Er({duration:lO,orElse:()=>w(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*kO(e),e});function kO(e){return Lr(()=>pr(er(),_i(),xr)).pipe(T(t=>t===void 0?P:k(function*(){t.document!==void 0&&(yield*AO(e,rO,cO))===void 0&&(yield*jO(e,rO,cO,t.document)),yield*Lr(t.release)})),yi)}function AO(e,t,n){return Se(r=>{let i=e.transaction(t,`readonly`).objectStore(t).get(n);i.addEventListener(`error`,()=>{r(w(EO(`read`,i.error??`Unknown IndexedDB read error`)))}),i.addEventListener(`success`,()=>{r(M(i.result))})}).pipe(Gt(`web.connectionStorage.readDatabaseValue`))}function jO(e,t,n,r){return Se(i=>{let a=e.transaction(t,`readwrite`);a.addEventListener(`error`,()=>{i(w(EO(`write`,a.error??`Unknown IndexedDB write error`)))}),a.addEventListener(`complete`,()=>{i(P)}),a.objectStore(t).put(r,n)}).pipe(Gt(`web.connectionStorage.writeDatabaseValue`))}function MO(e,t,n){return Se(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(w(EO(`remove`,i.error??`Unknown IndexedDB remove error`)))}),i.addEventListener(`complete`,()=>{r(P)}),i.objectStore(t).delete(n)}).pipe(Gt(`web.connectionStorage.removeDatabaseValue`))}function NO(e,t,n){return Se(r=>{let i=e.transaction(t,`readwrite`);i.addEventListener(`error`,()=>{r(w(EO(`remove`,i.error??`Unknown IndexedDB cursor error`)))}),i.addEventListener(`complete`,()=>{r(P)});let a=i.objectStore(t).openCursor(n);a.addEventListener(`error`,()=>{r(w(EO(`remove`,a.error??`Unknown IndexedDB cursor error`)))}),a.addEventListener(`success`,()=>{let e=a.result;e!==null&&(e.delete(),e.continue())})}).pipe(Gt(`web.connectionStorage.removeDatabaseValuesInRange`))}function PO(e,t){return`${e}:${t}`}function FO(e,t){return`${e}:${t}`}var IO=A(`web.connectionStorage.decodeCatalog`)(function*(e){return yield*gO(e).pipe(I(e=>EO(`decode`,e)))}),LO=A(`web.connectionStorage.encodeCatalog`)(function*(e){return yield*_O(e).pipe(I(e=>EO(`encode`,e)))});function RO(e){return t=>typeof navigator>`u`||!navigator.locks?t:Lr({try:()=>navigator.locks.request(e,()=>we(t)),catch:e=>EO(`lock`,e)}).pipe(T(e=>e))}function zO(e){let t=window.desktopBridge;return t?.getConnectionCatalog!==void 0&&t.setConnectionCatalog!==void 0?{read:Lr({try:()=>t.getConnectionCatalog(),catch:e=>EO(`load`,e)}),write:e=>Lr({try:()=>t.setConnectionCatalog(e),catch:e=>EO(`save`,e)}).pipe(T(e=>e?P:w(EO(`save`,`Desktop secure storage is unavailable in this system context.`))))}:{read:AO(e,rO,cO).pipe(E(e=>typeof e==`string`?e:null)),write:t=>jO(e,rO,cO,t),quarantine:t=>jO(e,rO,`${cO}:corrupt:${Date.now()}`,t),exclusive:RO(`${e.name}:catalog`)}}var BO=A(`web.connectionStorage.makeCatalogStore`)(function*(e){let t=yield*no(b()),n=yield*vi(1),r=A(`web.connectionStorage.loadCatalog`)(function*(){let n=yield*vo(t);if(x(n))return n.value;let r=yield*e.read,i=By;return r!==null&&r.trim()!==``&&(i=yield*IO(r).pipe(hn(t=>k(function*(){yield*Gr(`Discarding a corrupt web connection catalog.`,{error:t.message}),e.quarantine!==void 0&&(yield*e.quarantine(r).pipe(hn(e=>Gr(`Could not quarantine the corrupt web connection catalog.`,{error:e.message}))));let n=yield*LO(By);return yield*e.write(n).pipe(hn(e=>Gr(`Could not persist the recovered web connection catalog.`,{error:e.message}))),By})))),yield*Do(t,S(i)),i}),i=n.withPermits(1)(r()),a=e.exclusive??(e=>e);return{read:i,update:A(`web.connectionStorage.updateCatalog`)(function*(i){yield*n.withPermits(1)(a(k(function*(){yield*Do(t,b());let n=i(yield*r());yield*e.write(yield*LO(n)),yield*Do(t,S(n))})))})}}),VO=br(k(function*(){let e=yield*tn(OO(),e=>D(()=>e.close())),t=yield*BO(zO(e)),n=Ed.of({list:t.read.pipe(E(e=>e.targets),I(e=>DO(`list-targets`,e)))}),r=Dd.of({register:e=>t.update(t=>Gy(t,e)).pipe(I(e=>DO(`register-connection`,e))),remove:e=>t.update(t=>Ky(t,e)).pipe(I(e=>DO(`remove-connection`,e)))}),i=xd({get:e=>t.read.pipe(E(t=>be(t.profiles.find(t=>t.connectionId===e)))),put:e=>t.update(t=>({...t,profiles:Vy(t.profiles,e=>e.connectionId,e)})),remove:e=>t.update(t=>({...t,profiles:Hy(t.profiles,e=>e.connectionId,e)}))}),a=yd({get:e=>t.read.pipe(E(t=>be(t.credentials.find(t=>t.connectionId===e)?.credential))),put:(e,n)=>t.update(t=>({...t,credentials:Vy(t.credentials,e=>e.connectionId,{connectionId:e,credential:n})})),remove:e=>t.update(t=>({...t,credentials:Hy(t.credentials,e=>e.connectionId,e)}))}),o=sf({get:e=>t.read.pipe(E(t=>be(t.remoteDpopTokens.find(t=>t.environmentId===e)))),put:e=>t.update(t=>({...t,remoteDpopTokens:Vy(t.remoteDpopTokens,e=>e.environmentId,e)})),remove:e=>t.update(t=>({...t,remoteDpopTokens:Hy(t.remoteDpopTokens,e=>e.environmentId,e)}))}),s=Od.of({loadShell:t=>AO(e,iO,t).pipe(T(e=>typeof e==`string`?vO(e).pipe(I(e=>DO(`load-shell`,e)),E(e=>e.environmentId===t?S(e.snapshot):b())):M(b())),I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`load-shell`,e))),saveShell:(t,n)=>k(function*(){let r=yield*yO({schemaVersion:uO,environmentId:t,snapshot:n}).pipe(I(e=>DO(`save-shell`,e)));yield*jO(e,iO,t,r)}).pipe(I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`save-shell`,e))),loadServerConfig:t=>AO(e,oO,t).pipe(T(e=>typeof e==`string`?SO(e).pipe(I(e=>DO(`load-server-config`,e)),E(e=>e.environmentId===t?S(e.config):b())):M(b())),I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`load-server-config`,e))),saveServerConfig:(t,n)=>k(function*(){let r=yield*CO({schemaVersion:1,environmentId:t,config:n}).pipe(I(e=>DO(`save-server-config`,e)));yield*jO(e,oO,t,r)}).pipe(I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`save-server-config`,e))),loadThread:(t,n)=>AO(e,aO,PO(t,n)).pipe(T(e=>typeof e==`string`?bO(e).pipe(I(e=>DO(`load-thread`,e)),E(e=>e.environmentId===t&&e.threadId===n?S(e.snapshot):b())):M(b())),I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`load-thread`,e))),saveThread:(t,n)=>k(function*(){let r=yield*xO({schemaVersion:3,environmentId:t,threadId:n.thread.id,snapshot:n}).pipe(I(e=>DO(`save-thread`,e)));yield*jO(e,aO,PO(t,n.thread.id),r)}).pipe(I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`save-thread`,e))),loadVcsRefs:(t,n)=>AO(e,sO,FO(t,n)).pipe(T(e=>typeof e==`string`?wO(e).pipe(I(e=>DO(`load-vcs-refs`,e)),E(e=>e.environmentId===t&&e.cwd===n?S(e.refs):b())):M(b())),I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`load-vcs-refs`,e))),saveVcsRefs:(t,n,r)=>k(function*(){let i=yield*TO({schemaVersion:1,environmentId:t,cwd:n,refs:r}).pipe(I(e=>DO(`save-vcs-refs`,e)));yield*jO(e,sO,FO(t,n),i)}).pipe(I(e=>e._tag===`ConnectionPersistenceError`?e:DO(`save-vcs-refs`,e))),removeVcsRefs:(t,n)=>MO(e,sO,FO(t,n)).pipe(I(e=>DO(`remove-vcs-refs`,e))),clearVcsRefs:t=>NO(e,sO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)).pipe(I(e=>DO(`clear-vcs-refs`,e))),removeThread:(t,n)=>MO(e,aO,PO(t,n)).pipe(I(e=>DO(`remove-thread`,e))),clear:t=>bt([MO(e,iO,t),NO(e,aO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`)),MO(e,oO,t),NO(e,sO,IDBKeyRange.bound(`${t}:`,`${t}:\uffff`))],{concurrency:`unbounded`,discard:!0}).pipe(I(e=>DO(`clear-environment`,e)))});return me(Ed,n).pipe(Ht(Dd,r),Ht(bd,i),Ht(vd,a),Ht(of,o),Ht(Od,s))}));function HO(e){switch(e){case`darwin`:return`macOS`;case`win32`:return`Windows`;case`linux`:return`Linux`;default:return e?`other`:`unknown`}}function UO(e){return/macintosh/i.test(e.userAgent)&&/mac/i.test(e.platform)&&e.maxTouchPoints>1}function WO(e){let t=e.userAgent;return t.trim()===``?`unknown`:/iphone|ipad|ipod/i.test(t)||UO(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 GO(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 KO(e){let t=e.userAgent;return t.trim()===``?`unknown`:/ipad|tablet|kindle|silk/i.test(t)||/android/i.test(t)&&!/mobile/i.test(t)||UO(e)?`tablet`:/iphone|ipod|android.+mobile|mobile/i.test(t)?`mobile`:`desktop`}function qO(e){return e.desktopBridge===void 0?{label:`Borg Web`,deviceType:KO(e.identity),os:WO(e.identity),surface:`web`,webDeployment:e.hosted?`hosted`:`server`,browser:GO(e.identity.userAgent),...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}:{label:`Borg Desktop`,deviceType:`desktop`,os:HO(e.desktopBridge.getClientPlatform?.()),surface:`desktop`,...e.appVersion===`0.0.0`?{}:{appVersion:e.appVersion}}}var JO=new Set([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`]),YO=new Set([101,103,204,205,304]),XO=e=>JO.has(e);function ZO(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=/\/api\/v1\/customers\/[1-9][0-9]*\/shared-chat\/threads\/[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\/events\/$/u,$O=()=>TypeError(`Desktop streaming is not available. Start a workspace conversation instead.`);async function ek(e,t){let n=t.openBorgCloudEventStream,r=t.readBorgCloudEventStream,i=t.cancelBorgCloudEventStream;if(!n||!r||!i)throw $O();let a=bo(),o=!1,s,c=()=>{o||(o=!0,e.signal.removeEventListener(`abort`,l),i(a).catch(()=>{}))},l=()=>{c(),s?.error(e.signal.reason)};if(e.signal.aborted)throw e.signal.reason;e.signal.addEventListener(`abort`,l,{once:!0});try{let t=await ZO(n({streamId:a,url:e.url,authorization:e.headers.get(`authorization`)??``}),e.signal);if(o||e.signal.aborted)throw e.signal.reason;let i=new ReadableStream({start(e){s=e},async pull(t){try{let n=await ZO(r(a),e.signal);if(o)return;if(n.done)c(),t.close();else if(n.bytes instanceof Uint8Array&&n.bytes.byteLength<=64*1024)t.enqueue(n.bytes);else throw TypeError(`Invalid Borg Cloud stream chunk.`)}catch{o||(c(),t.error(TypeError(`Borg Cloud stream interrupted.`)))}},cancel:c},{highWaterMark:0,size:e=>e.byteLength});return YO.has(t.status)?(c(),new Response(null,t)):new Response(i,t)}catch{throw c(),e.signal.aborted?e.signal.reason:TypeError(`Borg Cloud could not be reached.`)}}var tk=async(e,t)=>{let n=typeof window>`u`?void 0:window.desktopBridge?.requestBorgCloud,r=typeof window<`u`&&(window.desktopBridge!==void 0||window.location?.protocol===`borg:`);if(!n&&!r)return globalThis.fetch(e,t);let i=new Request(e,t),a=new URL(i.url),o=i.headers.get(`accept`)?.split(`,`).map(e=>e.split(`;`)[0]?.trim().toLowerCase())??[];if(r&&i.method===`GET`&&QO.test(a.pathname)){let e=window.desktopBridge;if(!e)throw $O();return ek(i,e)}if(o.includes(`text/event-stream`)&&!o.includes(`application/json`))throw $O();if(!n)return globalThis.fetch(e,t);let s=i.method.toUpperCase();if(!XO(s))throw TypeError(`Borg Cloud does not take ${s} requests from the desktop app.`);let c=s===`GET`?``:await i.text(),l=await ZO(n({url:i.url,method:s,headers:Object.fromEntries(i.headers),body:c.length===0?null:c}).catch(e=>{throw TypeError(`Borg Cloud could not be reached.`,{cause:e})}),i.signal);return new Response(YO.has(l.status)?null:l.body,{status:l.status,headers:l.headers})},nk=0;function rk(){return typeof navigator>`u`?`unknown`:navigator.onLine?`online`:`offline`}var ik=wd({status:D(rk),changes:qn(e=>tn(D(()=>{let t=()=>va(e,`online`),n=()=>va(e,`offline`);return window.addEventListener(`online`,t),window.addEventListener(`offline`,n),{online:t,offline:n}}),({online:e,offline:t})=>D(()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,t)})).pipe(Dt))}),ak=wp({changes:qn(e=>tn(D(()=>{let t=()=>{document.visibilityState===`visible`&&va(e,`application-active`)};return document.addEventListener(`visibilitychange`,t),{visibility:t,detachCredentials:vp(()=>{va(e,`credentials-changed`)})}}),e=>D(()=>{document.removeEventListener(`visibilitychange`,e.visibility),e.detachCredentials()})).pipe(Dt))});function ok(){return qO({appVersion:SD,hosted:kD(),identity:{userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints},desktopBridge:window.desktopBridge})}function sk(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 ck(e){return new td({reason:`borg-unavailable`,detail:`Borg is unavailable: ${String(e)}`})}var lk=A(`web.connectionPlatform.borgTunnelCredentials`)(function*(){let e=window.desktopBridge;if(e?.getSearchAtlasAccessToken||e?.getSearchAtlasTunnelCredentials){let t=yield*Lr({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=oD();return t?{getAccessToken:()=>t.getAccessToken()}:yield*new Y({reason:`configuration`,detail:`Borg is not configured for this client.`})}),uk=A(`web.connectionPlatform.borgTunnelClient`)(function*(){let e=Sv();if(!e)return yield*new Y({reason:`configuration`,detail:`Borg is not configured for this client.`});let t=yield*lk(),n=yield*Lr({try:async()=>{let n=await t.getAccessToken();if(!n)throw Error(`Search Atlas authentication is required.`);return sD({apiUrl:e,token:n})},catch:e=>new Y({reason:`configuration`,detail:`Borg customer could not be resolved: ${String(e)}`})});return yield*Ui({try:()=>Yy({apiUrl:e,customerId:n,getAccessToken:t.getAccessToken,fetch:tk}),catch:e=>new Y({reason:`configuration`,detail:`Borg is not configured for this client: ${String(e)}`})})}),dk=A(`web.connectionPlatform.ssh.provisionDesktop`)(function*(e,t){let n=yield*Lr({try:()=>e.ensureSshEnvironment(t,{issuePairingToken:!0}),catch:sk}),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*Lr({try:()=>e.fetchSshEnvironmentDescriptor(n.httpBaseUrl),catch:sk}),a=yield*Lr({try:()=>e.bootstrapSshBearerSession(n.httpBaseUrl,r),catch:sk});return{environmentId:i.environmentId,label:i.label,bootstrap:n,bearerToken:a.access_token}}),fk=br(D(()=>{let e=Hu.of({metadata:ok(),scopes:Yn}),t=Vu.of({deviceId:ei(()=>{let e=window.desktopBridge?.getSearchAtlasTunnelCredentials;return e?Lr({try:()=>e(),catch:e=>new td({reason:`remote-unavailable`,detail:`Could not load the desktop device identity: ${String(e)}`})}).pipe(E(e=>Ct(e?.deviceId))):M(b())})}),n=Uu.of({bearerToken:Lr({try:ly,catch:e=>new td({reason:`remote-unavailable`,detail:`Could not load the desktop primary credential: ${String(e)}`})}).pipe(E(Ct))}),r=Wu.of({provision:A(`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*dk(t,e)}),prepare:A(`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*Lr({try:()=>t.ensureSshEnvironment(e.target,{issuePairingToken:!0}),catch:sk});return n.pairingToken===null?yield*new Y({reason:`authentication`,detail:`The SSH environment did not issue a pairing credential.`}):{bootstrap:n,bearerToken:(yield*Lr({try:()=>t.bootstrapSshBearerSession(n.httpBaseUrl,n.pairingToken),catch:sk})).access_token}}),disconnect:A(`web.connectionPlatform.ssh.disconnect`)(function*(e){let t=window.desktopBridge;t!==void 0&&(yield*Lr({try:()=>t.disconnectSshEnvironment(e),catch:e=>new td({reason:`remote-unavailable`,detail:`Could not disconnect the SSH environment: ${String(e)}`})}))})}),i=Gu.of({openTunnel:A(`web.connectionPlatform.borgTunnel.openTunnel`)(function*(){let e=yield*uk();return{ticket:yield*Lr({try:()=>e.requestTicket(),catch:ck}),tunnelId:Jy()}}),isDeviceOnline:A(`web.connectionPlatform.borgTunnel.isDeviceOnline`)(function*(e){let t=yield*uk();return(yield*Lr({try:()=>t.status(e),catch:ck})).online})});return me(Vu,t).pipe(Ht(Uu,n),Ht(Hu,e),Ht(Wu,r),Ht(Gu,i))})),pk=A(`web.connectionPlatform.loadPrimaryConnectionRegistration`)(function*(e){let t=yield*io({httpBaseUrl:e.target.httpBaseUrl}).pipe(ot(py),I($d));return new fd({target:new qu({environmentId:t.environmentId,label:t.label,httpBaseUrl:e.target.httpBaseUrl,wsBaseUrl:e.target.wsBaseUrl})})}),mk=A(`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(I($d)),i=yield*nt,a=yield*Bd({httpBaseUrl:t,credential:e.bootstrapToken,scopes:Yn,clientMetadata:ok()}).pipe(I($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:_k(i,a.expires_in),refreshAtEpochMs:vk(i,a.expires_in)}}),hk=`3 seconds`,gk=5e3;function _k(e,t){return e+Math.max(0,t*1e3)}function vk(e,t){return Math.max(e,_k(e,t)-gk)}function yk(e=ay){try{return{_tag:`Success`,target:e()}}catch(e){return{_tag:`Failure`,cause:e}}}function bk(e,t){return t._tag===`Failure`?e.get(kt):void 0}function xk(e,t,n){return e.signature===t&&(e.refreshAtEpochMs===void 0||n<e.refreshAtEpochMs)}function Sk(e,t,n){return e.signature===t&&e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs}function Ck(e,t,n){return t._tag===`Success`?new Map:new Map([...e].filter(([,e])=>e.expiresAtEpochMs!==void 0&&n<e.expiresAtEpochMs))}var wk=Rr(VO,ik,ak,fk,sa(lh,k(function*(){if(kD())return lh.of({registrations:$t});let e=yield*no(new Map),t=k(function*(){let t=yield*vo(e),n=yield*nt,r=new Map,i=[],a=yk(),o=bk(t,a);if(o!==void 0&&(r.set(kt,o),i.push(o.registration)),a._tag===`Failure`)yield*Gr(`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(kt);if(s!==void 0&&xk(s,o,n))r.set(kt,s),i.push(s.registration);else{let t=yield*pk(e).pipe(gr(e=>Gr(`Could not discover the primary environment.`,{error:e})),_t);if(x(t)){let e={signature:o,registration:t.value};r.set(kt,e),i.push(t.value)}}}let s=Co();for(let[e,a]of Ck(t,s,n))r.set(e,a),i.push(a.registration);if(s._tag===`Failure`)yield*Gr(`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&&xk(o,a,n)){r.set(e.id,o),i.push(o.registration);continue}let s=yield*mk(e).pipe(gr(t=>Gr(`Could not connect a desktop-local backend.`,{id:e.id,error:t})),_t);if(x(s)){let t={signature:a,...s.value};r.set(e.id,t),i.push(s.value.registration)}else o!==void 0&&Sk(o,a,n)&&(r.set(e.id,o),i.push(o.registration))}return yield*Do(e,r),i}).pipe(ot(po));return lh.of({registrations:Mt(hk).pipe(Xa(()=>t))})})),Yr(kd,kd.of({clear:(e,t)=>k(function*(){go(e,t);let{clearFollowUpQueuesEnvironment:r}=yield*ii(()=>n(()=>import(`./followUpQueuePersistence-BL42ySpK.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)})})),Yr(Gp,Gp.of({observe:({environmentId:e,method:t})=>D(()=>{nk+=1;let n=`${e}:${nk}`;return qD(n,t,`${t} · ${e}`),D(()=>{JD(n)})})})),Yr(Gm,Gm.of(zv(Vv,({kind:e,outcome:t},r)=>{n(async()=>{let{recordPrimaryClientEvent:e}=await import(`./clientAnalytics-BbUHu8ei.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)})))),Tk=`borg.searchatlas.api-key`,Ek=`borg.searchatlas.api-customer-id`,Dk=`borg-search-atlas-credential-changed`,Ok=e=>/^\d+$/u.test(e)&&Number(e)>0,kk=()=>{try{let e=window.sessionStorage.getItem(Tk)?.trim(),t=window.sessionStorage.getItem(Ek)?.trim();return e&&t&&Ok(t)?{kind:`apiKey`,key:e,customerId:t}:void 0}catch{return}};function Ak(e,t){try{e.trim()&&Ok(t.trim())?(window.sessionStorage.setItem(Tk,e.trim()),window.sessionStorage.setItem(Ek,t.trim())):(window.sessionStorage.removeItem(Tk),window.sessionStorage.removeItem(Ek)),window.dispatchEvent(new Event(Dk))}catch{}}function jk(){Ak(``,``)}var Mk=e=>e===null||e.trim().length===0?b():S({kind:`jwt`,token:e}),Nk=e=>{let t=Mk(e);return x(t)?t:be(kk())},Pk=sa(Yf,k(function*(){let e=typeof window>`u`?void 0:window.desktopBridge,t=e?null:oD(),n=yield*Bt(),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?Mk(n):Nk(n)};t!==null&&(yield*tn(D(()=>t.subscribe(e=>va(n,Nk(e)))),e=>D(e)));let i=e?.onSearchAtlasCredentialChanged;return i&&(yield*tn(D(()=>i(()=>{r().then(e=>va(n,e))})),e=>D(e))),typeof window<`u`&&(yield*tn(D(()=>{let e=()=>{r().then(e=>va(n,e))};window.addEventListener(Dk,e);let t=vp(e);return()=>{window.removeEventListener(Dk,e),t()}}),e=>D(e))),Yf.of({current:ii(r),changes:wt(n)})}));function Fk(){try{return{key:window.sessionStorage.getItem(Tk)??``,customerId:window.sessionStorage.getItem(Ek)??``}}catch{return{key:``,customerId:``}}}var Ik=wk.pipe(Gi(yy)),Lk=Rr(lg,Sh,_v),Rk=Or(dh({environmentThemes:!0}),Lk).pipe(ki(Rr(yy,Ik,Iy,Pk))),zk=lc(Rr(Ly,Hv,ag(Sv)).pipe(ki(Rk)));function Bk(e){return e.pipe(E(S),hn(e=>Gr(`Could not load the initial environment configuration.`).pipe(li({...gp(e)}),ut(b()))))}var Vk=6e3,Hk=A(`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??Vk,_h(e.prepared.httpAuthorization,n.auth.session({headers:r})))});function Uk(e){let t=z(t=>e.atom(gm(t,Ai(Lp.pipe(E(e=>Qo(e.session).pipe(Xa(bn({onNone:()=>M(b()),onSome:e=>Bk(e.initialConfig)}))))))),{initialValue:b()})),n=z(e=>R(n=>et(Ne(_s(n(t(e))),()=>b()))).pipe(B(`environment-config-value:${e}`))),r=z(t=>e.atom(gm(t,Ai(Lp.pipe(E(e=>Qo(e.prepared))))),{initialValue:b()})),i=z(e=>R(t=>Ne(_s(t(r(e))),()=>b())).pipe(B(`environment-prepared-connection:${e}`))),a=z(t=>e.atom(e=>{let n=et(e(i(t)));return n===null?Da:k(function*(){let e=yield*da(tf);return yield*Hk({prepared:n,signer:e})})}).pipe(wc({staleTime:3e4,revalidateOnMount:!0}),Ks(5*6e4),B(`environment-session-state:${t}`)));return{initialConfigAtom:t,initialConfigValueAtom:n,preparedConnectionAtom:r,preparedConnectionValueAtom:i,sessionStateAtom:a,sessionStateValueAtom:z(e=>R(t=>et(_s(t(a(e))))??null).pipe(B(`environment-session-state-value:${e}`)))}}var Wk=Uk(zk),Gk=R(b()).pipe(B(`web-prepared-connection:empty`));function Kk(e){let t=(0,Kc.c)(2),n;return t[0]===e?n=t[1]:(n=e===null?Gk:Wk.preparedConnectionValueAtom(e),t[0]=e,t[1]=n),Bc(n)}function qk(e){return et(PD.get(Wk.preparedConnectionValueAtom(e)))}export{cv as $,gm as $t,sD as A,R as An,zh as At,Mv as B,ls as Bn,hh as Bt,bD as C,Gc as Cn,xg as Ct,vD as D,Mc as Dn,Gh as Dt,_D as E,Ic as En,Hh as Et,oy as F,ds as Fn,wh as Ft,Ov as G,es as Gn,em as Gt,Nv as H,Qo as Hn,Rm as Ht,$v as I,vs as In,Eh as It,Cv as J,bm as Jt,Ev as K,Ro as Kn,ym as Kt,iy as L,ss as Ln,gh as Lt,DE as M,wc as Mn,Rh as Mt,vy as N,B as Nn,Oh as Nt,dD as O,z as On,eg as Ot,py as P,ws as Pn,Dh as Pt,pv as Q,cm as Qt,Vv as R,us as Rn,ph as Rt,xD as S,nd as Sn,mg as St,CD as T,Bc as Tn,Wh as Tt,kv as U,L as Un,Bm as Ut,jv as V,_s as Vn,Ym as Vt,Av as W,Zo as Wn,zm as Wt,xv as X,vm as Xt,yv as Y,xm as Yt,bv as Z,lm as Zt,wD as _,Zf as _n,Bg as _t,Dk as a,om as an,q_ as at,AD as b,Od as bn,gg as bt,Fk as c,qp as cn,x_ as ct,eO as d,Qp as dn,i_ as dt,im as en,nv as et,QD as f,Hp as fn,Gg as ft,MD as g,gp as gn,qg as gt,ND as h,vp as hn,t_ as ht,zk as i,tm as in,X_ as it,oD as j,Ks as jn,Bh as jt,uD as k,yc as kn,Vh as kt,Ak as l,Yp as ln,__ as lt,PD as m,yp as mn,e_ as mt,qk as n,nm as nn,Y_ as nt,Pk as o,dm as on,b_ as ot,FD as p,Lp as pn,Kg as pt,Sv as q,Sm as qt,Kk as r,hm as rn,J_ as rt,jk as s,am as sn,S_ as st,Wk as t,rm as tn,tv as tt,tk as u,Xp as un,p_ as ut,jD as v,Xf as vn,Vg as vt,SD as w,Wc as wn,hg as wt,yD as x,rd as xn,vg as xt,kD as y,Yf as yn,Cg as yt,Bv as z,cs as zn,mh as zt};
68
+ //# sourceMappingURL=session-BKSQ__kZ.js.map