ryco-cli 0.1.4 → 0.1.5

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 (127) hide show
  1. package/dist/{AzureDevOpsSourceControlProvider-BEDcpXP2.cjs → AzureDevOpsSourceControlProvider-CdgNqZ5j.cjs} +2 -2
  2. package/dist/{AzureDevOpsSourceControlProvider-CajSnvPV.mjs → AzureDevOpsSourceControlProvider-OsyDSESj.mjs} +2 -2
  3. package/dist/{BitbucketSourceControlProvider-Ca-sxPgI.cjs → BitbucketSourceControlProvider-DBTH98i4.cjs} +9 -2
  4. package/dist/{BitbucketSourceControlProvider-Ryxef3zA.mjs → BitbucketSourceControlProvider-SQ3gKdFs.mjs} +9 -2
  5. package/dist/{ClaudeDriver-oGrpXzWa.mjs → ClaudeDriver-2dTtrsFD.mjs} +2 -2
  6. package/dist/{ClaudeDriver-CxOmXtj3.cjs → ClaudeDriver-D9yC2F0b.cjs} +2 -2
  7. package/dist/{CodexDriver-C1I8AGHl.cjs → CodexDriver-BC2B-qpT.cjs} +3 -3
  8. package/dist/{CodexDriver-DbICyzcH.mjs → CodexDriver-CIDYevQX.mjs} +3 -3
  9. package/dist/{CodexTextGeneration-DV3LOkTX.mjs → CodexTextGeneration-CjknB1Xl.mjs} +2 -2
  10. package/dist/{CodexTextGeneration-Cr97QFv_.cjs → CodexTextGeneration-DNeO-8GE.cjs} +2 -2
  11. package/dist/{CopilotDriver-GUpzG61v.cjs → CopilotDriver-BGChrP5c.cjs} +3 -3
  12. package/dist/{CopilotDriver-Dt6azZQI.mjs → CopilotDriver-NPhlLrk2.mjs} +3 -3
  13. package/dist/{CursorDriver-C3gFClL-.mjs → CursorDriver-BcAVbT8D.mjs} +2 -2
  14. package/dist/{CursorDriver-lhvplGt8.cjs → CursorDriver-CYxn4_c1.cjs} +2 -2
  15. package/dist/{ForgejoSourceControlProvider-DTVWs_CM.mjs → ForgejoSourceControlProvider-BjCE3730.mjs} +2 -2
  16. package/dist/{ForgejoSourceControlProvider-2PTEgbVl.cjs → ForgejoSourceControlProvider-D3wP2Cav.cjs} +2 -2
  17. package/dist/{GitHubSourceControlProvider-BJmqP2K1.mjs → GitHubSourceControlProvider-DByZ_cnw.mjs} +2 -2
  18. package/dist/{GitHubSourceControlProvider-Beu-58zB.cjs → GitHubSourceControlProvider-DU_7IvMa.cjs} +2 -2
  19. package/dist/{GitLabSourceControlProvider-CCHBNnen.cjs → GitLabSourceControlProvider-BVJ5IqTS.cjs} +2 -2
  20. package/dist/{GitLabSourceControlProvider-CWnF37fR.mjs → GitLabSourceControlProvider-BdMCIjXb.mjs} +2 -2
  21. package/dist/{OpenCodeDriver-i2DXhUaw.cjs → OpenCodeDriver-DyR83FcY.cjs} +2 -2
  22. package/dist/{OpenCodeDriver-Cja8fkzJ.mjs → OpenCodeDriver-fwqXoVyH.mjs} +2 -2
  23. package/dist/{SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs → SourceControlProviderDiscoveryCatalog-CQiMyDCC.mjs} +2 -2
  24. package/dist/{SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs → SourceControlProviderDiscoveryCatalog-DqQVhwYM.cjs} +2 -2
  25. package/dist/bin.cjs +4672 -3686
  26. package/dist/bin.mjs +4672 -3686
  27. package/dist/client/assets/{AnimatedHeight-DCd3-Wey.js → AnimatedHeight-CYuVQOpY.js} +1 -1
  28. package/dist/client/assets/AppearanceSettings-BBbC8CV5.js +1 -0
  29. package/dist/client/assets/{BranchToolbar.logic-BUrYeNec.js → BranchToolbar.logic-Di2EkKiO.js} +1 -1
  30. package/dist/client/assets/ChatRightPanel-BJ_cVP66.js +188 -0
  31. package/dist/client/assets/{ChatThreadRouteView-C93RPP7s.js → ChatThreadRouteView-DmxD3m2U.js} +1 -1
  32. package/dist/client/assets/CommandPaletteDialog-CAzz6bsT.js +1 -0
  33. package/dist/client/assets/{CompositeRoot-C5GNdZws.js → CompositeRoot-BvXCwn2c.js} +1 -1
  34. package/dist/client/assets/ConnectionsSettings-Cmxm0y2u.js +1 -0
  35. package/dist/client/assets/{DialogHandle-C1Oxda1b.js → DialogHandle-CXNAm3QY.js} +1 -1
  36. package/dist/client/assets/{DialogRoot-BCS_qKVO.js → DialogRoot-DaMwpoP_.js} +1 -1
  37. package/dist/client/assets/{DialogTitle-R_4ZQbHx.js → DialogTitle-KXmfgzP3.js} +1 -1
  38. package/dist/client/assets/{DialogTrigger-ChuIKLi7.js → DialogTrigger-NHyQnW3X.js} +1 -1
  39. package/dist/client/assets/{DialogViewport-Dq_9hdYC.js → DialogViewport-CL0WR9a5.js} +1 -1
  40. package/dist/client/assets/{DraftChatThreadRouteView-BwDNEWLP.js → DraftChatThreadRouteView-C_hqauF6.js} +1 -1
  41. package/dist/client/assets/{JetBrainsIcons-CZi1rQn9.js → JetBrainsIcons-BcR8pCma.js} +1 -1
  42. package/dist/client/assets/{KeybindingsSettings-CEqFMcaP.js → KeybindingsSettings-m2AteGOl.js} +1 -1
  43. package/dist/client/assets/McpServersSettings-DndIDxgA.js +6 -0
  44. package/dist/client/assets/{NoActiveThreadState-5VSVCJBv.js → NoActiveThreadState-Bt-Wkv-C.js} +1 -1
  45. package/dist/client/assets/{OpinionatedPluginsSettings-BnDPa2E2.js → OpinionatedPluginsSettings-oDtdE6qx.js} +1 -1
  46. package/dist/client/assets/{ProjectFavicon-CtqYuFQF.js → ProjectFavicon-j9IX_7-B.js} +1 -1
  47. package/dist/client/assets/{ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js → ProviderUpdateLaunchNotification.logic-BFzNCo3I.js} +1 -1
  48. package/dist/client/assets/ProvidersSettingsPanel-CvlIBNVJ.js +1 -0
  49. package/dist/client/assets/{QueryClientProvider-B5z3RyQ9.js → QueryClientProvider-BZxRKpeb.js} +1 -1
  50. package/dist/client/assets/{RedactedSensitiveText-Ddxd4ZX9.js → RedactedSensitiveText-UnZZJnFF.js} +1 -1
  51. package/dist/client/assets/RootAppShell-CyHZ_F5P.js +12 -0
  52. package/dist/client/assets/{SettingsDialog-C-vm2P1q.js → SettingsDialog-BYJ8AhQp.js} +2 -2
  53. package/dist/client/assets/SourceControlSettings-7xU6VH6N.js +1 -0
  54. package/dist/client/assets/{ThreadStatusIndicators-6ASnD4_d.js → ThreadStatusIndicators-M9FWDEex.js} +1 -1
  55. package/dist/client/assets/{ThreadTerminalDrawer-BxuSy2xD.js → ThreadTerminalDrawer-BXoXAbsR.js} +3 -3
  56. package/dist/client/assets/{ThreadWorkspacePanel-C3S7Fjib.js → ThreadWorkspacePanel-D1J63TVD.js} +5 -5
  57. package/dist/client/assets/{alert-dialog-BwCq7-J2.js → alert-dialog-BJQbh5gX.js} +1 -1
  58. package/dist/client/assets/{chatThreadActions-DHwgLZQX.js → chatThreadActions--n7v5mnB.js} +1 -1
  59. package/dist/client/assets/{clamp-Bj3CMoU0.js → clamp-NYtK3f5s.js} +1 -1
  60. package/dist/client/assets/codexUsageLimits-BJQiZCqn.js +1 -0
  61. package/dist/client/assets/composerDraftStore-xu3n5gdX.js +21 -0
  62. package/dist/client/assets/{desktopUpdateReactQuery-DdRc1zr8.js → desktopUpdateReactQuery-YSCkifKp.js} +1 -1
  63. package/dist/client/assets/{download-DchCbuiJ.js → download-Bi4-cFbc.js} +1 -1
  64. package/dist/client/assets/{draft-input-Byd_iP54.js → draft-input-BGSRgOW7.js} +1 -1
  65. package/dist/client/assets/{empty-CFWSIvUd.js → empty-BTxheW4B.js} +1 -1
  66. package/dist/client/assets/{environmentApi-4U60qRO5.js → environmentApi-BFHi_M02.js} +1 -1
  67. package/dist/client/assets/{folder-open-CuS_UI1W.js → folder-open-DJmHEPv9.js} +1 -1
  68. package/dist/client/assets/{group-BlyMND_M.js → group-Dwm-OV-r.js} +1 -1
  69. package/dist/client/assets/{index-R0mA-hZk.js → index-BI5yFj9n.js} +2 -2
  70. package/dist/client/assets/{input-BQQgfZzY.js → input-BfUa3JUD.js} +1 -1
  71. package/dist/client/assets/kbd-Dd57M8OY.js +1 -0
  72. package/dist/client/assets/{keybindings-BIa18Wmf.js → keybindings--G1bkIjA.js} +1 -1
  73. package/dist/client/assets/{keyboard-BQYTddoX.js → keyboard-B87VTfPa.js} +1 -1
  74. package/dist/client/assets/{main-YXLWCEbb.js → main-BQf5U-fz.js} +3 -3
  75. package/dist/client/assets/main-DrwkwNo9.css +2 -0
  76. package/dist/client/assets/{mutation-B8SILYi_.js → mutation-DJZgOJRu.js} +1 -1
  77. package/dist/client/assets/plus-B10j9MbZ.js +1 -0
  78. package/dist/client/assets/providerDriverMeta-B6xuq7ij.js +1 -0
  79. package/dist/client/assets/providerIconUtils-Ch6hejVW.js +47 -0
  80. package/dist/client/assets/{refresh-cw-DFCVsvMH.js → refresh-cw-CRxaXR0E.js} +1 -1
  81. package/dist/client/assets/{resolveAriaLabelledBy-CdSYKkwq.js → resolveAriaLabelledBy-D4fWpj84.js} +1 -1
  82. package/dist/client/assets/{rightPanelRouteSearch-DweDTgju.js → rightPanelRouteSearch-CTMFCS6R.js} +1 -1
  83. package/dist/client/assets/{scroll-area-CZPNMSSG.js → scroll-area-BgFq7GRd.js} +1 -1
  84. package/dist/client/assets/{separator-ZLn_GZKy.js → separator-CB3Ctlvi.js} +1 -1
  85. package/dist/client/assets/{server-B7ETA5io.js → server-tdx7WxLI.js} +1 -1
  86. package/dist/client/assets/{session-logic-DOD1qizY.js → session-logic-CaiGe4hy.js} +1 -1
  87. package/dist/client/assets/{settingsDialogStore-DJNXaaZ-.js → settingsDialogStore-9vo22xKp.js} +1 -1
  88. package/dist/client/assets/{settingsLayout-BaSDLd6v.js → settingsLayout-B5o13iGO.js} +1 -1
  89. package/dist/client/assets/{sidebar-VWf4R998.js → sidebar-Bbdql7Af.js} +1 -1
  90. package/dist/client/assets/{skeleton-IoKKnfW9.js → skeleton-C8OZcsPq.js} +1 -1
  91. package/dist/client/assets/{storeSelectors-BL-4Ncd3.js → storeSelectors-DBRyhCGm.js} +1 -1
  92. package/dist/client/assets/{threadRoutes-a4QytG8s.js → threadRoutes-CfldSp4X.js} +1 -1
  93. package/dist/client/assets/{threadSelectionStore-CgsIp6vR.js → threadSelectionStore-BggKwzmQ.js} +1 -1
  94. package/dist/client/assets/{toast-L2eWWYjv.js → toast-DE-WwLMa.js} +1 -1
  95. package/dist/client/assets/{toggle-oOk0T_MY.js → toggle-BFMa0a0Y.js} +1 -1
  96. package/dist/client/assets/{toggle-group-D7mEwQCR.js → toggle-group-DdKXHoT3.js} +1 -1
  97. package/dist/client/assets/{trash-2-D0zhbiNO.js → trash-2-CZQem-sz.js} +1 -1
  98. package/dist/client/assets/useHandleNewThread-DOPZAFqE.js +1 -0
  99. package/dist/client/assets/{useLabelableId-yw8wMwvn.js → useLabelableId-BzWaBebJ.js} +1 -1
  100. package/dist/client/assets/{useNavigate-CvKQXZa7.js → useNavigate-B1qgM5mt.js} +1 -1
  101. package/dist/client/assets/{vscode-icons-C1r6bNpj.js → vscode-icons-E8NUFd62.js} +1 -1
  102. package/dist/client/assets/{wrench-DzrU49ry.js → wrench-DEteICtk.js} +1 -1
  103. package/dist/client/assets/x-b9324xm-.js +1 -0
  104. package/dist/client/index.html +1 -1
  105. package/dist/{collectUint8StreamText-CgTEDbi7.cjs → collectUint8StreamText-DbCOJom3.cjs} +295 -132
  106. package/dist/{collectUint8StreamText-Cgz3T1YG.mjs → collectUint8StreamText-DuFJyaQh.mjs} +290 -133
  107. package/dist/{makeManagedServerProvider-DRMA8nAp.cjs → makeManagedServerProvider-C3cQUDkZ.cjs} +1 -1
  108. package/dist/{makeManagedServerProvider-D43I_B9P.mjs → makeManagedServerProvider-wFGZ2-vd.mjs} +1 -1
  109. package/package.json +1 -1
  110. package/dist/client/assets/AppearanceSettings-pPltzbuu.js +0 -1
  111. package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +0 -188
  112. package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +0 -1
  113. package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +0 -1
  114. package/dist/client/assets/McpServersSettings-Co1o7_0g.js +0 -6
  115. package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +0 -1
  116. package/dist/client/assets/RootAppShell-CThrOBqP.js +0 -12
  117. package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +0 -1
  118. package/dist/client/assets/arrow-up-DUD3DBES.js +0 -1
  119. package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +0 -1
  120. package/dist/client/assets/composerDraftStore-DTMZbmmF.js +0 -21
  121. package/dist/client/assets/kbd-Dgp27U1W.js +0 -1
  122. package/dist/client/assets/main-Da7Z4Ig1.css +0 -2
  123. package/dist/client/assets/plus-F__wNuW-.js +0 -1
  124. package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +0 -1
  125. package/dist/client/assets/providerIconUtils-C54pAs0t.js +0 -46
  126. package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +0 -1
  127. package/dist/client/assets/x-BQzUKGMv.js +0 -1
@@ -1 +1 @@
1
- import{i as e,n as t,r as n,t as r}from"./react-PSPkXoKo.js";import{t as i}from"./compiler-runtime-BNrXlsa1.js";import{$ as a,$a as o,$i as s,$n as c,$r as l,A as u,Aa as d,Ai as f,An as p,Ar as m,Ba as h,Bi as g,Bn as _,Br as v,Bt as y,C as ee,Ci as te,Cn as b,Cr as x,D as S,Da as ne,Di as re,Dn as C,Dr as ie,E as ae,Ei as oe,En as se,Er as ce,Fa as le,Fi as ue,Fn as de,Fr as fe,Ft as pe,Ga as me,Gn as he,Gr as ge,Gt as _e,Ha as ve,Hi as ye,Hn as be,Hr as xe,Ia as Se,Ii as Ce,In as we,Ir as Te,J as Ee,Ji as De,Jn as Oe,Jr as ke,Jt as Ae,K as je,Ka as Me,Kn as Ne,Kt as Pe,Li as Fe,Ln as Ie,Lr as Le,M as Re,Ma as ze,Mi as Be,Mn as Ve,Mr as He,N as Ue,Na as We,Ni as Ge,Nn as Ke,Nr as qe,O as Je,Oa as Ye,Oi as Xe,On as Ze,Or as Qe,P as $e,Pa as et,Pi as tt,Pn as nt,Pr as rt,Pt as it,Q as w,Qa as at,Qi as ot,Qn as st,Qr as ct,R as lt,Ra as ut,Ri as dt,Rn as ft,Rr as pt,S as mt,Si as ht,Sn as gt,Sr as _t,T as vt,Ti as yt,Tn as bt,Tr as xt,Ua as St,Ui as Ct,Un as wt,Va as Tt,Vi as Et,Vn as Dt,Vr as Ot,Vt as kt,W as At,Wn as jt,Wr as Mt,Wt as Nt,Xa as T,Xi as Pt,Xn as Ft,Xt as It,Y as Lt,Ya as Rt,Yi as zt,Yr as Bt,Yt as Vt,Z as Ht,Za as Ut,Zi as Wt,Zn as Gt,Zr as Kt,Zt as qt,_ as Jt,_a as Yt,_i as Xt,_n as Zt,_r as Qt,a as $t,aa as en,ai as tn,ao as nn,ar as rn,at as an,b as on,ba as sn,bn as cn,br as ln,c as un,ci as dn,co as fn,cr as pn,d as mn,da as hn,di as gn,dn as _n,dr as vn,ea as yn,ei as bn,en as xn,er as Sn,et as Cn,f as wn,fa as Tn,fi as En,fn as Dn,fr as On,g as kn,ga as An,gi as jn,gn as Mn,gr as E,gt as Nn,h as Pn,ha as Fn,hi as In,hn as Ln,hr as Rn,ht as zn,i as Bn,ia as Vn,ii as Hn,in as Un,io as Wn,ir as Gn,j as Kn,ja as qn,ji as Jn,jn as Yn,jr as Xn,k as Zn,ka as Qn,ki as $n,kn as er,kr as tr,l as nr,la as rr,li as ir,ln as ar,lo as or,lr as sr,m as cr,mi as lr,mn as ur,mr as dr,mt as fr,n as pr,na as mr,ni as hr,nn as gr,no as _r,nr as vr,o as yr,oa as br,oi as xr,or as Sr,ot as Cr,p as wr,pa as Tr,pi as Er,pn as Dr,pr as Or,pt as kr,qa as Ar,qi as jr,qn as Mr,qr as Nr,r as Pr,ra as Fr,ri as Ir,rn as Lr,ro as Rr,rr as zr,s as Br,si as Vr,so as Hr,sr as Ur,t as Wr,ta as Gr,ti as Kr,tn as qr,to as Jr,tr as Yr,u as Xr,ua as Zr,ui as Qr,un as $r,ur as ei,va as ti,vi as ni,vn as ri,vr as D,vt as ii,w as ai,wi as oi,wn as O,wr as si,x as ci,xa as li,xi as ui,xn as di,xr as fi,xt as pi,ya as mi,yi as hi,yn as gi,yr as _i,z as vi,za as yi,zi as bi,zn as xi,zr as Si,zt as k}from"./react-CjD7iThp.js";import{C as Ci,Ca as wi,Gi as Ti,Lr as Ei,Mi as Di,Ni as A,Pi as Oi,Sa as ki,Ui as Ai,V as ji,Wi as Mi,Yi as Ni,Zi as Pi,a as Fi,ba as Ii,bi as Li,c as Ri,di as zi,fa as Bi,fi as Vi,ga as Hi,hi as Ui,i as Wi,l as Gi,la as Ki,mi as qi,na as Ji,pi as Yi,qi as Xi,r as Zi,ra as Qi,ta as $i,u as ea,ui as ta,va as na,vi as ra,xa as ia,zi as aa}from"./composerDraftStore-DTMZbmmF.js";import{t as oa}from"./pairingUrl-rQM9kSGT.js";import{c as sa,g as ca,n as la,r as ua}from"./primary-CSkhdakK.js";import{r as da}from"./hostedPairing-DAdvNuk3.js";var fa=`~effect/http/HttpClientError`,pa=e=>ve(e,fa),ma=class extends Nr(`HttpClientError`){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[fa]=fa;get request(){return this.reason.request}get response(){return`response`in this.reason?this.reason.response:void 0}get message(){return this.reason.message}},ha=e=>e.endsWith(`Error`)?e.slice(0,-5):e,ga=(e,t,n)=>t?`${e}: ${t} (${n})`:`${e} error (${n})`,_a=class extends Nr(`TransportError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ga(ha(this._tag),this.description,this.methodAndUrl)}};Nr(`EncodeError`);var va=class extends Nr(`InvalidUrlError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ga(ha(this._tag),this.description,this.methodAndUrl)}},ya=class extends Nr(`StatusCodeError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},ba=class extends Nr(`DecodeError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},xa=class extends Nr(`EmptyBodyError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},Sa=class e extends vi(fa)({_tag:k(`HttpError`),kind:At([`EncodeError`,`DecodeError`,`TransportError`,`InvalidUrlError`,`StatusCodeError`,`EmptyBodyError`]),cause:it(lt)}){static fromHttpClientError(t){return new e({_tag:`HttpError`,kind:t.reason._tag,cause:t.reason})}},Ca=`~effect/http/UrlParams`,wa={...Qn,[Ca]:Ca,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:`UrlParams`,params:Object.fromEntries(this.params)}},[ut](e){return Oa(this,e)},[Tt](){return yi(this.params.flat())}},Ta=e=>{let t=Object.create(wa);return t.params=e,t},Ea=e=>{let t=Da(e),n=[];for(let e=0;e<t.length;e++)if(Array.isArray(t[e][0])){let[r,i]=t[e];n.push([`${r[0]}[${r.slice(1).join(`][`)}]`,i])}else n.push(t[e]);return Ta(n)},Da=e=>{let t=typeof e[Symbol.iterator]==`function`?ye(e):Object.entries(e),n=[];for(let[e,r]of t)if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]!==void 0&&n.push([e,String(r[t])]);else if(typeof r==`object`){let t=Da(r);for(let[r,i]of t)n.push([[e,...typeof r==`string`?[r]:r],i])}else r!==void 0&&n.push([e,String(r)]);return n},Oa=ne((e,t)=>ka(e.params,t.params)),ka=Ct(Pt([Ye(),Ye()])),Aa=Ta([]),ja=T(2,(e,t)=>{let n=Ea(t),r=n.params,i=new Set;for(let e=0;e<r.length;e++)i.add(r[e][0]);for(let t=0;t<e.params.length;t++)i.has(e.params[t][0])||r.push(e.params[t]);return n}),Ma=class extends Nr(`UrlParamsError`){},Na=(e,t,n)=>{try{let r=new URL(e,Pa());for(let e=0;e<t.params.length;e++){let[n,i]=t.params[e];i!==void 0&&r.searchParams.append(n,i)}return n!==void 0&&(r.hash=n),yn(r)}catch(e){return Wt(new Ma({cause:e}))}},Pa=()=>{if(`location`in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname},Fa=`~effect/http/HttpBody`;Nr(`HttpBodyError`);var Ia=class{[Fa];constructor(){this[Fa]=Fa}[We](){return this.toJSON()}toString(){return et(this,{ignoreToString:!0})}},La=new class extends Ia{_tag=`Empty`;toJSON(){return{_id:`effect/HttpBody`,_tag:`Empty`}}},Ra=class extends Ia{_tag=`Uint8Array`;body;contentType;contentLength;constructor(e,t,n){super(),this.body=e,this.contentType=t,this.contentLength=n}toJSON(){return{_id:`effect/HttpBody`,_tag:`Uint8Array`,body:this.contentType.startsWith(`text/`)||this.contentType.endsWith(`json`)?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}},za=(e,t)=>new Ra(e,t??`application/octet-stream`,e.length),Ba=new TextEncoder,Va=(e,t)=>za(Ba.encode(e),t??`text/plain`),Ha=(e,t)=>Va(JSON.stringify(e),t??`application/json`),Ua=`~effect/http/Cookies`,Wa=`~effect/http/Cookies/Cookie`;Nr(`CookieError`);var Ga={[Ua]:Ua,...qn,toJSON(){return{_id:`effect/Cookies`,cookies:De(this.cookies,e=>e.toJSON())}},pipe(){return o(this,arguments)}},Ka=e=>{let t=Object.create(Ga);return t.cookies=e,t},qa=e=>{let t={};for(let n of e)t[n.name]=n;return Ka(t)},Ja=e=>{let t=typeof e==`string`?[e]:e,n=[];for(let e of t){let t=Ya(e.trim());t&&n.push(t)}return qa(n)};function Ya(e){let t=e.split(`;`).map(e=>e.trim()).filter(e=>e!==``);if(t.length===0)return;let n=t[0].indexOf(`=`);if(n===-1)return;let r=t[0].slice(0,n);if(!Xa.test(r))return;let i=t[0].slice(n+1),a=Qa(i);if(t.length===1)return Object.assign(Object.create(Za),{name:r,value:a,valueEncoded:i});let o={};for(let e=1;e<t.length;e++){let n=t[e],r=n.indexOf(`=`),i=r===-1?n:n.slice(0,r).trim(),a=r===-1?void 0:n.slice(r+1).trim();switch(i.toLowerCase()){case`domain`:{if(a===void 0)break;let e=a.trim().replace(/^\./,``);e&&(o.domain=e);break}case`expires`:{if(a===void 0)break;let e=new Date(a);isNaN(e.getTime())||(o.expires=e);break}case`max-age`:{if(a===void 0)break;let e=parseInt(a,10);isNaN(e)||(o.maxAge=bi(e));break}case`path`:if(a===void 0)break;a[0]===`/`&&(o.path=a);break;case`priority`:if(a===void 0)break;switch(a.toLowerCase()){case`low`:o.priority=`low`;break;case`medium`:o.priority=`medium`;break;case`high`:o.priority=`high`;break}break;case`httponly`:o.httpOnly=!0;break;case`secure`:o.secure=!0;break;case`partitioned`:o.partitioned=!0;break;case`samesite`:if(a===void 0)break;switch(a.toLowerCase()){case`lax`:o.sameSite=`lax`;break;case`strict`:o.sameSite=`strict`;break;case`none`:o.sameSite=`none`;break}break}}return Object.assign(Object.create(Za),{name:r,value:a,valueEncoded:i,options:Object.keys(o).length>0?o:void 0})}var Xa=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Za={[Wa]:Wa,...qn,toJSON(){return{_id:`effect/Cookies/Cookie`,name:this.name,value:this.value,options:this.options}}},Qa=e=>{try{return decodeURIComponent(e)}catch{return e}},$a=Symbol.for(`~effect/http/Headers`),eo=Object.create(null);Object.defineProperties(eo,{[$a]:{value:$a},[Se]:{value(e){return uo(this,en(e,fo))}},toJSON:{value(){return le(this)}},[ut]:{value(e){return no(this,e)}},[Tt]:{value(){return h(this)}},toString:{value:qn.toString},[We]:{value:qn[We]}});var to=e=>Object.assign(Object.create(eo),e),no=jr(Ye()),ro=Object.create(eo),io=e=>{if(e===void 0)return ro;if(Symbol.iterator in e){let t=Object.create(eo);for(let[n,r]of e)t[n.toLowerCase()]=r;return t}let t=Object.create(eo);for(let[n,r]of Object.entries(e))Array.isArray(r)?t[n.toLowerCase()]=r.join(`, `):r!==void 0&&(t[n.toLowerCase()]=r);return t},ao=e=>Object.setPrototypeOf(e,eo),oo=T(3,(e,t,n)=>{let r=to(e);return r[t.toLowerCase()]=n,r}),so=T(2,(e,t)=>to({...e,...io(t)})),co=T(2,(e,t)=>{let n=to(e);return Object.assign(n,t),n}),lo=T(2,(e,t)=>{let n=to(e);return delete n[t.toLowerCase()],n}),uo=T(2,(e,t)=>{let n={...e},r=t=>{if(typeof t==`string`){let r=t.toLowerCase();r in e&&(n[r]=Un(e[r]))}else for(let r in e)t.test(r)&&(n[r]=Un(e[r]))};if(Array.isArray(t))for(let e=0;e<t.length;e++)r(t[e]);else r(t);return n}),fo=Gr(`effect/Headers/CurrentRedactedNames`,{defaultValue:()=>[`authorization`,`cookie`,`set-cookie`,`x-api-key`]}),po=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],mo=`~effect/http/HttpClientRequest`,ho={[mo]:mo,...qn,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:le(this.headers),body:this.body.toJSON()}},pipe(){return o(this,arguments)}};function go(e,t,n,r,i,a){let o=Object.create(ho);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var _o=go(`GET`,``,Aa,sn(),ro,La),vo=e=>(t,n)=>bo(_o,{method:e,url:t,...n??void 0}),yo=vo(`POST`),bo=T(2,(e,t)=>{let n=e;return t.method&&(n=xo(n,t.method)),t.url&&(n=Eo(n,t.url)),t.headers&&(n=Co(n,t.headers)),t.urlParams&&(n=Do(n,t.urlParams)),t.hash&&(n=Oo(n,t.hash)),t.body&&(n=ko(n,t.body)),t.accept&&(n=wo(n,t.accept)),t.acceptJson&&(n=To(n)),n}),xo=T(2,(e,t)=>go(t,e.url,e.urlParams,e.hash,e.headers,e.body)),So=T(3,(e,t,n)=>go(e.method,e.url,e.urlParams,e.hash,oo(e.headers,t,n),e.body)),Co=T(2,(e,t)=>go(e.method,e.url,e.urlParams,e.hash,so(e.headers,t),e.body)),wo=T(2,(e,t)=>So(e,`Accept`,t)),To=wo(`application/json`),Eo=T(2,(e,t)=>{if(typeof t==`string`)return go(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=Ea(n.searchParams),i=hn(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,go(e.method,n.toString(),r,i,e.headers,e.body)}),Do=T(2,(e,t)=>go(e.method,e.url,ja(e.urlParams,t),e.hash,e.headers,e.body)),Oo=T(2,(e,t)=>go(e.method,e.url,e.urlParams,li(t),e.headers,e.body)),ko=T(2,(e,t)=>{let n=e.headers;return t._tag===`Empty`||t._tag===`FormData`?n=lo(lo(n,`Content-Type`),`Content-length`):(t.contentType&&(n=oo(n,`content-type`,t.contentType)),t.contentLength!==void 0&&(n=oo(n,`content-length`,t.contentLength.toString()))),go(e.method,e.url,e.urlParams,e.hash,n,t)}),Ao=`~effect/http/HttpIncomingMessage`,jo=(e,t)=>{let n=e.headers[`content-type`]??``,r;if(n.includes(`application/json`))try{r=sr(e.json)}catch{}else if(n.includes(`text/`)||n.includes(`urlencoded`))try{r=sr(e.text)}catch{}let i={...t,headers:le(e.headers),remoteAddress:e.remoteAddress};return r!==void 0&&(i.body=r),i},Mo=`~effect/http/HttpClientResponse`,No=(e,t)=>new Fo(e,t),Po=e=>e.status>=200&&e.status<300?E(e):gt(new ma({reason:new ya({response:e,request:e.request,description:`non 2xx status code`})})),Fo=class extends ze{[Ao];[Mo];request;source;constructor(e,t){super(),this.request=e,this.source=t,this[Ao]=Ao,this[Mo]=Mo}toJSON(){return jo(this,{_id:`HttpClientResponse`,request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return io(this.source.headers)}cachedCookies;get cookies(){return this.cachedCookies?this.cachedCookies:this.cachedCookies=Ja(this.source.headers.getSetCookie())}get remoteAddress(){return sn()}get stream(){return this.source.body?Jt({evaluate:()=>this.source.body,onError:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}):Pn(new ma({reason:new xa({request:this.request,response:this,description:`can not create stream from empty body`})}))}get json(){return O(this.text,e=>ce({try:()=>e===``?null:JSON.parse(e),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}))}textBody;get text(){return this.textBody?this.textBody:(this.textBody=xt({try:()=>this.source.text(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr),this.arrayBufferBody=_(this.textBody,e=>new TextEncoder().encode(e).buffer),this.textBody)}get urlParamsBody(){return O(this.text,e=>ce({try:()=>Ea(new URLSearchParams(e)),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}))}formDataBody;get formData(){return this.formDataBody??=xt({try:()=>this.source.formData(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr)}arrayBufferBody;get arrayBuffer(){return this.arrayBufferBody?this.arrayBufferBody:(this.arrayBufferBody=xt({try:()=>this.source.arrayBuffer(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr),this.textBody=_(this.arrayBufferBody,e=>new TextDecoder().decode(e)),this.arrayBufferBody)}pipe(){return o(this,arguments)}},Io=e=>ao({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${mi(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),Lo=`~effect/http/HttpClient`,Ro=mr(`effect/HttpClient`),zo=T(2,(e,t)=>Vo(n=>t(e.postprocess(n)),e.preprocess)),Bo=zo(O(Po)),Vo=(e,t)=>{let n=Object.create(Ho);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Ho={[Lo]:Lo,pipe(){return o(this,arguments)},...qn,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(po.map(([e,t])=>[t,function(t,n){return this.execute(vo(e)(t,n))}]))},Uo=e=>Vo(t=>O(t,t=>He(n=>{let r=Xo.get(t),i=r??new AbortController,a=Na(t.url,t.urlParams,Fn(t.hash));if(ot(a))return gt(new ma({reason:new va({request:t,cause:a.failure})}));let o=a.success;if(n.getRef($n)||n.getRef(Go)(t)){let a=e(t,o,i.signal,n);return r?a:ie(e=>be(e(a),{onSuccess(e){return Yo.register(e,i),E(new Zo(e,i))},onFailure(e){return te(e)&&i.abort(),b(e)}}))}return tr(n.getRef(qo)(t),{kind:`client`},a=>{a.attribute(`http.request.method`,t.method),a.attribute(`server.address`,o.origin),o.port!==``&&a.attribute(`server.port`,+o.port),a.attribute(`url.full`,o.toString()),a.attribute(`url.path`,o.pathname),a.attribute(`url.scheme`,o.protocol.slice(0,-1));let s=o.search.slice(1);s!==``&&a.attribute(`url.query`,s);let c=n.getRef(fo),l=uo(t.headers,c);for(let e in l)a.attribute(`http.request.header.${e}`,String(l[e]));return t=n.getRef(Ko)?Co(t,Io(a)):t,ie(s=>s(e(t,o,i.signal,n)).pipe(qe(a,{captureStackTrace:!1}),be({onSuccess:e=>{a.attribute(`http.response.status_code`,e.status);let t=uo(e.headers,c);for(let e in t)a.attribute(`http.response.header.${e}`,String(t[e]));return r?E(e):(Yo.register(e,i),E(new Zo(e,i)))},onFailure(e){return!r&&te(e)&&i.abort(),b(e)}})))})})),E),Wo=T(2,(e,t)=>{let n=Si(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,a=i&&v(i),o=n?void 0:t.times;return zo(e,Ut(r===`errors-only`?at:c({schedule:a,times:o,while:es}),r===`response-only`?at:Sn({while:n||t.while===void 0?Qo:me(Qo,t.while),schedule:i,times:o})))}),Go=Gr(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>Me}),Ko=Gr(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:Ar}),qo=Gr(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Jo=e=>Bt(Ro)(ri(t=>_(e,e=>zo(e,Qe(e=>rr(t,e)))))),Yo=(()=>{if(`FinalizationRegistry`in globalThis&&globalThis.FinalizationRegistry){let e=new FinalizationRegistry(e=>{e.abort()});return{register(t,n){e.register(t,n,t)},unregister(t){e.unregister(t)}}}let e=new Map;return{register(t,n){e.set(t,setTimeout(()=>n.abort(),5e3))},unregister(t){let n=e.get(t);n!==void 0&&(clearTimeout(n),e.delete(t))}}})(),Xo=new WeakMap,Zo=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[Mo]=Mo;[Ao]=Ao;applyInterrupt(e){return Qt(()=>(Yo.unregister(this.original),Ne(e,()=>D(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return ci(()=>(Yo.unregister(this.original),cr(this.original.stream,D(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[We](){return this.original[We]()}pipe(){return o(this,arguments)}},Qo=e=>oe(e)||$o(e),$o=e=>pa(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&es(e.reason.response)),es=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504,ts=`~effect/FiberSet`,ns=e=>ve(e,ts),rs={[ts]:ts,[Symbol.iterator](){return this.state._tag===`Closed`?zt():this.state.backing[Symbol.iterator]()},...Qn,toJSON(){return{_id:`FiberMap`,state:this.state}}},is=(e,t)=>{let n=Object.create(rs);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},as=()=>ar(D(()=>is(new Set,En())),e=>Qt(()=>{let t=e.state;if(t._tag===`Closed`)return m;e.state={_tag:`Closed`};let n=t.backing;return Re(n).pipe(gn(e.deferred))})),os=-1,ss=ue(Ge(ui,tt(os))),cs=T(e=>ns(e[0]),(e,t,n)=>{if(e.state._tag===`Closed`){t.interruptUnsafe(os);return}else if(e.state.backing.has(t))return;e.state.backing.add(t),t.addObserver(r=>{e.state._tag!==`Closed`&&(e.state.backing.delete(t),Xt(r)&&(n?.propagateInterruption===!0?!ss(r.cause):!oi(r.cause))&&Qr(e.deferred,r))})}),ls=function(){let e;return()=>(e===void 0&&(e=zr(nt)),e)}(),us=e=>()=>_(Zt(),t=>{let n=Gn(t);return(t,r)=>{if(e.state._tag===`Closed`)return ls();let i=n(t,r);return cs(e,i),i}}),ds=e=>ir(e.deferred),fs=`~effect/socket/Socket`,ps=mr(`effect/socket/Socket`),ms=e=>ps.of({[fs]:fs,runRaw:e.runRaw,run:e.run??((t,n)=>e.runRaw(e=>typeof e==`string`?t(hs.encode(e)):e instanceof Uint8Array?t(e):t(new Uint8Array(e)),n)),runString:e.runString??(e.run?(t,n)=>e.run(e=>t(gs.decode(e)),n):(t,n)=>e.runRaw(e=>typeof e==`string`?t(e):e instanceof Uint8Array?t(gs.decode(e)):t(gs.decode(new Uint8Array(e))),n)),writer:e.writer}),hs=new TextEncoder,gs=new TextDecoder,_s=`~effect/socket/Socket/CloseEvent`,vs=e=>ve(e,_s),ys=`~effect/socket/Socket/SocketError`,bs=e=>ve(e,ys),xs=class extends vi(`effect/socket/Socket/SocketReadError`)({_tag:k(`SocketReadError`),cause:lt}){message=`An error occurred during Read`},Ss=class extends vi(`effect/socket/Socket/SocketWriteError`)({_tag:k(`SocketWriteError`),cause:lt}){message=`An error occurred during Write`},Cs=class extends vi(`effect/socket/Socket/SocketOpenError`)({_tag:k(`SocketOpenError`),kind:At([`Unknown`,`Timeout`]),cause:lt}){get message(){return this.kind===`Timeout`?`timeout waiting for "open"`:`An error occurred during Open`}},ws=class extends vi(`effect/socket/Socket/SocketCloseError`)({_tag:k(`SocketCloseError`),code:Lt,closeReason:it(w)}){static filterClean(e){return function(t){return Es.is(t)&&t.reason._tag===`SocketCloseError`&&e(t.reason.code)?yn(t.reason):Wt(t)}}get message(){return this.closeReason?`${this.code}: ${this.closeReason}`:`${this.code}`}},Ts=Cr([xs,Ss,Cs,ws]),Es=class extends Cn(ys)(`SocketError`,{_tag:k(`SocketError`),reason:Ts}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[ys]=ys;static is(e){return bs(e)}message=this.reason.message},Ds=e=>!0,Os=class extends mr()(`~effect/socket/Socket/WebSocket`){},ks=class extends mr()(`@effect/platform/Socket/WebSocketConstructor`){},As=(e,t)=>ks.use(n=>js(ar((typeof e==`string`?E(e):e).pipe(_(e=>n(e,t?.protocols))),e=>D(()=>e.close(1e3))),t)),js=(e,t)=>He(n=>{let r,i=Je(!1),a=n.context,o=t?.closeCodeIsError??Ds;return E(ms({runRaw:(n,s)=>Or(C(function*(a){let c=yield*as().pipe(dn(a)),l=yield*dn(e,a),u=yield*Gt(us(c)(),Os,l),d=!1;function f(e){if(e.data instanceof Blob)return u(O(Oe(()=>e.data.arrayBuffer()),e=>{let t=n(new Uint8Array(e));return we(t)?t:m}));let t=n(e.data);we(t)&&u(t)}function p(e){l.removeEventListener(`message`,f),l.removeEventListener(`close`,h),Qr(c.deferred,gt(new Es({reason:d?new xs({cause:e}):new Cs({kind:`Unknown`,cause:e})})))}function h(e){let t=typeof e.code==`number`?e.code:1001;l.removeEventListener(`message`,f),l.removeEventListener(`error`,p),Qr(c.deferred,gt(new Es({reason:new ws({code:t,closeReason:e.reason})})))}if(l.addEventListener(`close`,h,{once:!0}),l.addEventListener(`error`,p,{once:!0}),l.addEventListener(`message`,f),l.readyState!==1){let e=En();l.addEventListener(`open`,()=>{d=!0,Qr(e,m)},{once:!0}),yield*ir(e).pipe(si({duration:t?.openTimeout??1e4,orElse:()=>gt(new Es({reason:new Cs({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),st(ds(c)))}return d=!0,r=l,i.openUnsafe(),s?.onOpen&&(yield*s.onOpen),yield*Mn(ds(c),ws.filterClean(e=>!o(e)),()=>m)})).pipe(Qe(e=>rr(a,e)),di(D(()=>{i.closeUnsafe(),r=void 0}))),writer:E(e=>i.whenOpen(D(()=>{let t=r;vs(e)?t.close(e.code,e.reason):t.send(e)})))}))}),Ms=Ut(As,Bt(ps)),Ns=class extends mr()(`effect/workers/Transferable/Collector`){},Ps=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return Ns.of({addAllUnsafe:t,addAll:e=>D(()=>t(e)),readUnsafe:n,read:D(n),clearUnsafe:r,clear:D(r)})},Fs=`~effect/workers/WorkerError`,Is=Cr([class extends vi(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:k(`WorkerSpawnError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerSendError`)({_tag:k(`WorkerSendError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:k(`WorkerReceiveError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:k(`WorkerUnknownError`),message:w,cause:it(lt)}){}]);vi(Fs)({_tag:k(`WorkerError`),reason:Is});var Ls=`~effect/rpc/RpcClientError`,Rs=class extends vi(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:k(`RpcClientDefect`),message:w,cause:lt}){},zs=class extends vi(Ls)({_tag:k(`RpcClientError`),reason:Cr([Is,Ts,Sa,Rs])}){[Ls]=Ls;get message(){return`${this.reason._tag}: ${this.reason.message}`}},Bs=e=>typeof e==`bigint`?e:BigInt(e),Vs={_tag:`Ping`},Hs;try{Hs=new TextDecoder}catch{}var j,M,N=0,Us=[],Ws=Us,Gs=0,P={},F,Ks,I=0,qs=0,L,Js,R=[],z,Ys={useRecords:!1,mapsAsObjects:!0},Xs=class{},Zs=new Xs;Zs.name=`MessagePack 0xC1`;var Qs=!1,$s=2,ec,tc,nc;try{Function(``)}catch{$s=1/0}var rc=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(j)return Ac(()=>(jc(),this?this.unpack(t,n):e.prototype.unpack.call(Ys,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(M=n.end||t.length,N=n.start||0):(N=0,M=n>-1?n:t.length),Gs=0,qs=0,Ks=null,Ws=Us,L=null,j=t;try{z=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw j=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(P=this,this.structures)return F=this.structures,ic(n);(!F||F.length>0)&&(F=[])}else P=Ys,(!F||F.length>0)&&(F=[]);return ic(n)}unpackMultiple(e,t){let n,r=0;try{Qs=!0;let i=e.length,a=this?this.unpack(e,i):Nc.unpack(e,i);if(t){if(t(a,r,N)===!1)return;for(;N<i;)if(r=N,t(ic(),r,N)===!1)return}else{for(n=[a];N<i;)r=N,n.push(ic());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{Qs=!1,jc()}}_mergeStructures(e,t){tc&&(e=tc.call(this,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 ic(e){try{if(!P.trusted&&!Qs){let e=F.sharedLength||0;e<F.length&&(F.length=e)}let t;if(P.randomAccessStructure&&j[N]<64&&j[N]>=32&&ec?(t=ec(j,N,M,P),j=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),N=M):t=B(),L&&=(N=L.postBundlePosition,null),Qs&&(F.restoreStructures=null),N==M)F&&F.restoreStructures&&ac(),F=null,j=null,Js&&=null;else if(N>M)throw Error(`Unexpected end of MessagePack data`);else if(!Qs){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 F&&F.restoreStructures&&ac(),jc(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||N>M)&&(e.incomplete=!0),e}}function ac(){for(let e in F.restoreStructures)F[e]=F.restoreStructures[e];F.restoreStructures=null}function B(){let e=j[N++];if(e<160)if(e<128){if(e<64)return e;{let t=F[e&63]||P.getStructures&&lc()[e&63];return t?(t.read||=sc(t,e&63),t.read()):e}}else if(e<144)if(e-=128,P.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Cc();e===`__proto__`&&(e=`__proto_`),t[e]=B()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(B(),B());return t}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=B();return P.freezeData?Object.freeze(t):t}else if(e<192){let t=e-160;if(qs>=N)return Ks.slice(N-I,(N+=t)-I);if(qs==0&&M<140){let e=t<16?vc(t):_c(t);if(e!=null)return e}return uc(t)}else{let t;switch(e){case 192:return null;case 193:return L?(t=B(),t>0?L[1].slice(L.position1,L.position1+=t):L[0].slice(L.position0,L.position0-=t)):Zs;case 194:return!1;case 195:return!0;case 196:if(t=j[N++],t===void 0)throw Error(`Unexpected end of buffer`);return bc(t);case 197:return t=z.getUint16(N),N+=2,bc(t);case 198:return t=z.getUint32(N),N+=4,bc(t);case 199:return xc(j[N++]);case 200:return t=z.getUint16(N),N+=2,xc(t);case 201:return t=z.getUint32(N),N+=4,xc(t);case 202:if(t=z.getFloat32(N),P.useFloat32>2){let e=Mc[(j[N]&127)<<1|j[N+1]>>7];return N+=4,(e*t+(t>0?.5:-.5)>>0)/e}return N+=4,t;case 203:return t=z.getFloat64(N),N+=8,t;case 204:return j[N++];case 205:return t=z.getUint16(N),N+=2,t;case 206:return t=z.getUint32(N),N+=4,t;case 207:return P.int64AsType===`number`?(t=z.getUint32(N)*4294967296,t+=z.getUint32(N+4)):P.int64AsType===`string`?t=z.getBigUint64(N).toString():P.int64AsType===`auto`?(t=z.getBigUint64(N),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=z.getBigUint64(N),N+=8,t;case 208:return z.getInt8(N++);case 209:return t=z.getInt16(N),N+=2,t;case 210:return t=z.getInt32(N),N+=4,t;case 211:return P.int64AsType===`number`?(t=z.getInt32(N)*4294967296,t+=z.getUint32(N+4)):P.int64AsType===`string`?t=z.getBigInt64(N).toString():P.int64AsType===`auto`?(t=z.getBigInt64(N),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=z.getBigInt64(N),N+=8,t;case 212:if(t=j[N++],t==114)return Tc(j[N++]&63);{let e=R[t];if(e)return e.read?(N++,e.read(B())):e.noBuffer?(N++,e()):e(j.subarray(N,++N));throw Error(`Unknown extension `+t)}case 213:return t=j[N],t==114?(N++,Tc(j[N++]&63,j[N++])):xc(2);case 214:return xc(4);case 215:return xc(8);case 216:return xc(16);case 217:return t=j[N++],qs>=N?Ks.slice(N-I,(N+=t)-I):dc(t);case 218:return t=z.getUint16(N),N+=2,qs>=N?Ks.slice(N-I,(N+=t)-I):fc(t);case 219:return t=z.getUint32(N),N+=4,qs>=N?Ks.slice(N-I,(N+=t)-I):pc(t);case 220:return t=z.getUint16(N),N+=2,hc(t);case 221:return t=z.getUint32(N),N+=4,hc(t);case 222:return t=z.getUint16(N),N+=2,gc(t);case 223:return t=z.getUint32(N),N+=4,gc(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 oc=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function sc(e,t){function n(){if(n.count++>$s){let n=e.read=Function(`r`,`return function(){return `+(P.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:oc.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(B);return e.highByte===0&&(e.read=cc(t,e.read)),n()}let r={};for(let t=0,n=e.length;t<n;t++){let n=e[t];n===`__proto__`&&(n=`__proto_`),r[n]=B()}return P.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?cc(t,n):n}var cc=(e,t)=>function(){let n=j[N++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=F[r]||lc()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=sc(i,e),i.read()};function lc(){let e=Ac(()=>(j=null,P.getStructures()));return F=P._mergeStructures(e,F)}var uc=mc,dc=mc,fc=mc,pc=mc;function mc(e){let t;if(e<16&&(t=vc(e)))return t;if(e>64&&Hs)return Hs.decode(j.subarray(N,N+=e));let n=N+e,r=[];for(t=``;N<n;){let e=j[N++];if(!(e&128))r.push(e);else if((e&224)==192){let t=j[N++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=j[N++]&63,n=j[N++]&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=j[N++]&63,n=j[N++]&63,i=j[N++]&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+=V.apply(String,r),r.length=0)}return r.length>0&&(t+=V.apply(String,r)),t}function hc(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=B();return P.freezeData?Object.freeze(t):t}function gc(e){if(P.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Cc();e===`__proto__`&&(e=`__proto_`),t[e]=B()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(B(),B());return t}}var V=String.fromCharCode;function _c(e){let t=N,n=Array(e);for(let r=0;r<e;r++){let e=j[N++];if((e&128)>0){N=t;return}n[r]=e}return V.apply(String,n)}function vc(e){if(e<4)if(e<2){if(e===0)return``;{let e=j[N++];if((e&128)>1){--N;return}return V(e)}}else{let t=j[N++],n=j[N++];if((t&128)>0||(n&128)>0){N-=2;return}if(e<3)return V(t,n);let r=j[N++];if((r&128)>0){N-=3;return}return V(t,n,r)}else{let t=j[N++],n=j[N++],r=j[N++],i=j[N++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){N-=4;return}if(e<6){if(e===4)return V(t,n,r,i);{let e=j[N++];if((e&128)>0){N-=5;return}return V(t,n,r,i,e)}}else if(e<8){let a=j[N++],o=j[N++];if((a&128)>0||(o&128)>0){N-=6;return}if(e<7)return V(t,n,r,i,a,o);let s=j[N++];if((s&128)>0){N-=7;return}return V(t,n,r,i,a,o,s)}else{let a=j[N++],o=j[N++],s=j[N++],c=j[N++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){N-=8;return}if(e<10){if(e===8)return V(t,n,r,i,a,o,s,c);{let e=j[N++];if((e&128)>0){N-=9;return}return V(t,n,r,i,a,o,s,c,e)}}else if(e<12){let l=j[N++],u=j[N++];if((l&128)>0||(u&128)>0){N-=10;return}if(e<11)return V(t,n,r,i,a,o,s,c,l,u);let d=j[N++];if((d&128)>0){N-=11;return}return V(t,n,r,i,a,o,s,c,l,u,d)}else{let l=j[N++],u=j[N++],d=j[N++],f=j[N++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){N-=12;return}if(e<14){if(e===12)return V(t,n,r,i,a,o,s,c,l,u,d,f);{let e=j[N++];if((e&128)>0){N-=13;return}return V(t,n,r,i,a,o,s,c,l,u,d,f,e)}}else{let p=j[N++],m=j[N++];if((p&128)>0||(m&128)>0){N-=14;return}if(e<15)return V(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=j[N++];if((h&128)>0){N-=15;return}return V(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function yc(){let e=j[N++],t;if(e<192)t=e-160;else switch(e){case 217:t=j[N++];break;case 218:t=z.getUint16(N),N+=2;break;case 219:t=z.getUint32(N),N+=4;break;default:throw Error(`Expected string`)}return mc(t)}function bc(e){return P.copyBuffers?Uint8Array.prototype.slice.call(j,N,N+=e):j.subarray(N,N+=e)}function xc(e){let t=j[N++];if(R[t]){let n;return R[t](j.subarray(N,n=N+=e),e=>{N=e;try{return B()}finally{N=n}})}else throw Error(`Unknown extension type `+t)}var Sc=Array(4096);function Cc(){let e=j[N++];if(e>=160&&e<192){if(e-=160,qs>=N)return Ks.slice(N-I,(N+=e)-I);if(!(qs==0&&M<180))return uc(e)}else return N--,wc(B());let t=(e<<5^(e>1?z.getUint16(N):e>0?j[N]:0))&4095,n=Sc[t],r=N,i=N+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=z.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=j[r++],a!=n[o++]){r=1879048192;break}if(r===i)return N=r,n.string;i-=3,r=N}for(n=[],Sc[t]=n,n.bytes=e;r<i;)a=z.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=j[r++],n.push(a);let s=e<16?vc(e):_c(e);return s==null?n.string=uc(e):n.string=s}function wc(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(P.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 Tc=(e,t)=>{let n=B().map(wc),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=F[e];return i&&(i.isShared||Qs)&&((F.restoreStructures||=[])[e]=i),F[e]=n,n.read=sc(n,r),n.read()};R[0]=()=>{},R[0].noBuffer=!0,R[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<<=64n,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 Ec={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};R[101]=()=>{let e=B();if(!Ec[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return Ec[e[0]](e[1],{cause:e[2]})},R[105]=e=>{if(P.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=z.getUint32(N-4);Js||=new Map;let n=j[N],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)&&j[N+1]===115?new Set:{};let i={target:r};Js.set(t,i);let a=B();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},R[112]=e=>{if(P.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=z.getUint32(N-4),n=Js.get(t);return n.used=!0,n.target},R[115]=()=>new Set(B());var Dc=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Oc=typeof globalThis==`object`?globalThis:window;R[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=Dc[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 Oc[r](n)},R[120]=()=>{let e=B();return new RegExp(e[0],e[1])};var kc=[];R[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=N;return N+=t-e.length,L=kc,L=[yc(),yc()],L.position0=0,L.position1=0,L.postBundlePosition=N,N=n,B()},R[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 Ac(e){nc&&nc();let t=M,n=N,r=Gs,i=I,a=qs,o=Ks,s=Ws,c=Js,l=L,u=new Uint8Array(j.slice(0,M)),d=F,f=F.slice(0,F.length),p=P,m=Qs,h=e();return M=t,N=n,Gs=r,I=i,qs=a,Ks=o,Ws=s,Js=c,L=l,j=u,Qs=m,F=d,F.splice(0,F.length,...f),P=p,z=new DataView(j.buffer,j.byteOffset,j.byteLength),h}function jc(){j=null,Js=null,F=null}var Mc=Array(147);for(let e=0;e<256;e++)Mc[e]=+(`1e`+Math.floor(45.15-e*.30103));var Nc=new rc({useRecords:!1});Nc.unpack,Nc.unpackMultiple,Nc.unpack;var Pc={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var Fc;try{Fc=new TextEncoder}catch{}var Ic,Lc,Rc=typeof Buffer<`u`,zc=Rc?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,Bc=Rc?Buffer:Uint8Array,Vc=Rc?4294967296:2144337920,H,Hc,U,W=0,G,K=null,Uc,Wc=21760,Gc=/[\u0080-\uFFFF]/,Kc=Symbol(`record-id`),qc=class extends rc{constructor(e){super(e),this.offset=0;let t,n,r,i,a=Bc.prototype.utf8Write?function(e,t){return H.utf8Write(e,t,H.byteLength-t)}:Fc&&Fc.encodeInto?function(e,t){return Fc.encodeInto(e,H.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(H||(H=new zc(8192),U=H.dataView||=new DataView(H.buffer,0,8192),W=0),G=H.length-10,G-W<2048?(H=new zc(H.length),U=H.dataView||=new DataView(H.buffer,0,H.length),G=H.length-10,W=0):W=W+7&2147483640,t=W,a&2048&&(W+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(K=[],K.size=1/0):K=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[Kc]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o.randomAccessStructure&&e&&typeof e==`object`?e.constructor===Object?C(e):e.constructor!==Map&&!Array.isArray(e)&&!Lc.some(t=>e instanceof t)?C(e.toJSON?e.toJSON():e):y(e):y(e);let n=K;if(K&&Qc(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&&(U.setUint32(n.position+t,U.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&U.setUint32(n.position+t,U.getUint32(n.position+t)+a),W+=e.length*6,W>G&&S(W),o.offset=W;let s=Zc(H.subarray(t,W),e);return i=null,s}return o.offset=W,a&512?(H.start=t,H.end=W,H):H.subarray(t,W)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=H.subarray(t,W),s=$c(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?o.pack(e,a):(o.lastNamedStructuresLength=n,H.length>1073741824&&(H=null),i)}H.length>1073741824&&(H=null),a&1024&&(W=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][Kc]=0;m=[]}},v=e=>{var t=e.length;t<16?H[W++]=144|t:t<65536?(H[W++]=220,H[W++]=t>>8,H[W++]=t&255):(H[W++]=221,U.setUint32(W,t),W+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{W>G&&(H=S(W));var n=typeof e,r;if(n===`string`){let n=e.length;if(K&&n>=4&&n<4096){if((K.size+=n)>Wc){let e,n=(K[0]?K[0].length*3+K[1].length:0)+10;W+n>G&&(H=S(W+n));let r;K.position?(r=K,H[W]=200,W+=3,H[W++]=98,e=W-t,W+=4,Qc(t,y,0),U.setUint16(e+t-3,W-t-e)):(H[W++]=214,H[W++]=98,e=W-t,W+=4),K=[``,``],K.previous=r,K.size=0,K.position=e}let r=Gc.test(e);K[+!r]+=e,H[W++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(W+o>G&&(H=S(W+o)),n<64||!a){let t,a,o,s=W+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?H[s++]=a:a<2048?(H[s++]=a>>6|192,H[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,H[s++]=a>>18|240,H[s++]=a>>12&63|128,H[s++]=a>>6&63|128,H[s++]=a&63|128):(H[s++]=a>>12|224,H[s++]=a>>6&63|128,H[s++]=a&63|128);r=s-W-i}else r=a(e,W+i);r<32?H[W++]=160|r:r<256?(i<2&&H.copyWithin(W+2,W+1,W+1+r),H[W++]=217,H[W++]=r):r<65536?(i<3&&H.copyWithin(W+3,W+2,W+2+r),H[W++]=218,H[W++]=r>>8,H[W++]=r&255):(i<5&&H.copyWithin(W+5,W+3,W+3+r),H[W++]=219,U.setUint32(W,r),W+=4),W+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this.randomAccessStructure?H[W++]=e:e<256?(H[W++]=204,H[W++]=e):e<65536?(H[W++]=205,H[W++]=e>>8,H[W++]=e&255):(H[W++]=206,U.setUint32(W,e),W+=4);else if(e>>0===e)e>=-32?H[W++]=256+e:e>=-128?(H[W++]=208,H[W++]=e+256):e>=-32768?(H[W++]=209,U.setInt16(W,e),W+=2):(H[W++]=210,U.setInt32(W,e),W+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){H[W++]=202,U.setFloat32(W,e);let n;if(t<4||(n=e*Mc[(H[W]&127)<<1|H[W+1]>>7])>>0===n){W+=4;return}else W--}H[W++]=203,U.setFloat64(W,e),W+=8}else if(n===`object`||n===`function`)if(!e)H[W++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||=[]).push(n),H[W++]=214,H[W++]=112,U.setUint32(W,n.id),W+=4;return}else i.set(e,{offset:W-t})}let a=e.constructor;if(a===Object)x(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)H[W++]=128;else{r=e.size,r<16?H[W++]=128|r:r<65536?(H[W++]=222,H[W++]=r>>8,H[W++]=r&255):(H[W++]=223,U.setUint32(W,r),W+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=Ic.length;t<n;t++){let n=Lc[t];if(e instanceof n){let n=Ic[t];if(n.write){n.type&&(H[W++]=212,H[W++]=n.type,H[W++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):x(e):y(t);return}let r=H,i=U,a=W;H=null;let o;try{o=n.pack.call(this,e,e=>(H=r,r=null,W+=e,W>G&&S(W),{target:H,targetView:U,position:W-e}),y)}finally{r&&(H=r,U=i,W=a,G=H.length-10)}o&&(o.length+W>G&&S(o.length+W),W=Xc(o,H,W,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));x(e)}}}else if(n===`boolean`)H[W++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)H[W++]=211,U.setBigInt64(W,e);else if(e<0x10000000000000000&&e>0)H[W++]=207,U.setBigUint64(W,e);else if(this.largeBigIntToFloat)H[W++]=203,U.setFloat64(W,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),Rc)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+W>G&&S(n.length+W),W=Xc(n,H,W,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`);W+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?H[W++]=192:(H[W++]=212,H[W++]=0,H[W++]=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?H[W++]=128|n:n<65536?(H[W++]=222,H[W++]=n>>8,H[W++]=n&255):(H[W++]=223,U.setUint32(W,n),W+=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=>{H[W++]=222;let n=W-t;W+=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`);H[n+++t]=r>>8,H[n+t]=r&255},te=this.useRecords===!1?ee:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||=Object.create(null),a=W++-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==W?(W--,ne(i,c,u)):re(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[Kc];n?H[a+t]=n:re(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[Kc];a?a>=96&&d?(H[W++]=((a-=96)&31)+96,H[W++]=a>>5):H[W++]=a:ne(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},b=typeof this.useRecords==`function`&&this.useRecords,x=b?e=>{b(e)?te(e):ee(e)}:te,S=e=>{let n;if(e>16777216){if(e-t>Vc)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(Vc,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,H.length-1)>>12)+1<<12;let r=new zc(n);return U=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,H.length),H.copy?H.copy(r,0,t,e):r.set(H.slice(t,e)),W-=t,t=0,G=r.length-10,H=r},ne=(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[Kc]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(H[W++]=(a&31)+96,H[W++]=o):H[W++]=a):(o>=0?(H[W++]=213,H[W++]=114,H[W++]=(a&31)+96,H[W++]=o):(H[W++]=212,H[W++]=114,H[W++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[Kc]=0),m.push(e),y(t))},re=(e,n,r,i)=>{let a=H,o=W,s=G,c=t;H=Hc,W=0,t=0,H||(Hc=H=new zc(8192)),G=H.length-10,ne(e,n,i),Hc=H;let l=W;if(H=a,W=o,G=s,t=c,l>1){let e=W+l-1;e>G&&S(e);let n=r+t;H.copyWithin(n+l,n+1,W),H.set(Hc.slice(0,l),n),W=e}else H[r+t]=Hc[0]},C=e=>{let i=Uc(e,H,t,W,r,S,(e,t,r)=>{if(r)return n=!0;W=t;let i=H;return y(e),_(),i===H?W:{position:W,targetView:U,target:H}},this);if(i===0)return x(e);W=i}}useBuffer(e){H=e,H.dataView||=new DataView(H.buffer,H.byteOffset,H.byteLength),U=H.dataView,W=0}set position(e){W=e}get position(){return W}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};Lc=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Xs],Ic=[{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?Jc(e,16,t):Yc(Rc?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==Bc&&this.moreTypes?Jc(e,Dc.indexOf(n.name),t):Yc(e,t)}},{pack(e,t){this.moreTypes?Jc(e,17,t):Yc(Rc?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function Jc(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 Yc(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 Xc(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 Zc(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 Qc(e,t,n){if(K.length>0){U.setUint32(K.position+e,W+n-K.position-e),K.stringsPosition=W-e;let r=K;K=null,t(r[0]),t(r[1])}}function $c(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var el=new qc({useRecords:!1});el.pack,el.pack;var{NEVER:tl,ALWAYS:nl,DECIMAL_ROUND:rl,DECIMAL_FIT:il}=Pc,al=class extends mr()(`effect/rpc/RpcSerialization`){},ol=al.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)}}}),sl=bn(al)(ol),cl=e=>Qt(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>ri(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),m});return _(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return Ve(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*Ft(Qt(()=>i(e)),t)}return yield*he(wt,()=>(t.delete(e),r.delete(e),m))})}}))}),ll=BigInt(0),ul=C(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>ll++),o=yield*Zt(),s=en(o,Kr),c=new Map,l=yield*dr(bl),d=!1;yield*hr(s,He(e=>(d=!0,f(jn(e.id)))));let f=C(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?vt(n.queue):ae(n.queue,e.cause):n.resume(e)}),h=e=>{let r=wi(e.successSchema),a=y(e);return(o,s)=>{let c=s?.headers?io(s.headers):ro,l=s?.context??Vn();if(!r){let r=t=>g(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):tr(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=v(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:ee(_(u,kn))}},g=(e,n,r,i,o,s,u)=>He(f=>{if(d)return nt;let p=a(),h=Yt(l)&&l.value.onRequestStart?l.value.onRequestStart({id:p,tag:e._tag,stream:!1}):m,g=n(e=>t.onFromClient({message:e,context:s,discard:u}),{_tag:`Request`,id:p,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:co(f.getRef(hl),o)});if(u)return h.pipe($r(g));let _;return Ne(ur(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),_=h.pipe($r(g),r?qe(r,{captureStackTrace:!1}):at,Gn(f.context)),_.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>{let t=c.get(p);return c.delete(p),$r(Kn(_),te(p,Array.from(e),s,t?.rpc._tag))})}),v=C(function*(e,r,o,s,f,h){if(d)return yield*nt;let g=i?void 0:yield*xi(`${n}.${e._tag}`,{attributes:t.spanAttributes}),_=u(),v=a(),y=Yt(l)&&l.value.onRequestStart?l.value.onRequestStart({id:v,tag:e._tag,stream:!0}):m,ee=br(_.context,Kr);yield*Ir(ee,e=>{let t=c.get(v);return t?(c.delete(v),te(v,Xt(e)?Array.from(yt(e.cause)):[],h,t.rpc._tag)):m});let b=yield*ai(f);return c.set(v,{_tag:`Queue`,rpc:e,queue:b,scope:ee,context:h,chunkCount:0}),yield*y.pipe($r(r(e=>t.onFromClient({message:e,context:h,discard:!1}),{_tag:`Request`,id:v,tag:e._tag,payload:o,...g?{traceId:g.traceId,spanId:g.spanId,sampled:g.sampled}:{},headers:co(_.getRef(hl),s)}))).pipe(g?qe(g,{captureStackTrace:!1}):at,Ln(e=>ae(b,e)),de,p(ee,{startImmediately:!0})),b}),y=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)}})}},te=(e,n,r,i)=>(Yt(l)&&l.value.onRequestInterrupt?l.value.onRequestInterrupt({id:e,tag:i}):m).pipe($r(ur(i=>{let a=u();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(_t(1e3),Gn(a.context)).addObserver(()=>{i(m)})}))),b=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);if(!i||i._tag!==`Queue`)return m;let a=i.chunkCount+=e.values.length,o=Yt(l)&&l.value.onRequestChunk?l.value.onRequestChunk({id:n,tag:i.rpc._tag,chunkCount:a}):m;return S(i.queue,e.values).pipe($r(o),r?O(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):at,Ln(e=>ae(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);if(!n)return m;c.delete(t);let r=Yt(l)&&l.value.onRequestExit?l.value.onRequestExit({id:t,tag:n.rpc._tag,stream:n._tag===`Queue`,exit:e.exit}):m;return n._tag===`Effect`?r.pipe($r(D(()=>{n.resume(e.exit)}))):r.pipe($r(e.exit._tag===`Success`?vt(n.queue):ae(n.queue,e.exit.cause)))}case`Defect`:return f(Er(e.defect));case`ClientEnd`:return m}},x;if(t.flatten){let t=new Map;x=function(n,r,i){let a=t.get(n);return a||(a=h(e.requests.get(n)),t.set(n,a)),a(r,i)}}else x={},e.requests.forEach(e=>{x[e._tag]=h(e)});return{client:x,write:b}}),dl=0,fl=C(function*(e,t){let n=dl++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*gl,s=new Map,{client:c,write:l}=yield*ul(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?Ps():void 0,c=u(),l={rpc:r,context:a?Fr(c.context,Ns,a):c.context,schemas:ml(r)};return s.set(t.id,l),l.schemas.encodePayload(t.payload).pipe(Ft(l.context),Mr,O(e=>i(n,{...t,id:String(t.id),payload:e,headers:Object.entries(t.headers)},a&&a.readUnsafe())))}case`Ack`:return s.get(t.requestId)?i(n,{_tag:`Ack`,requestId:String(t.requestId)}):m;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:String(t.requestId)})):m;case`Eof`:return m}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=Bs(e.requestId),n=s.get(t);return!n||An(n.schemas.decodeChunk)?m:n.schemas.decodeChunk.value(e.values).pipe(Ft(n.context),Mr,O(t=>l({_tag:`Chunk`,clientId:0,requestId:Bs(e.requestId),values:t})),jt(t=>l({_tag:`Exit`,clientId:0,requestId:Bs(e.requestId),exit:In(t)})))}case`Exit`:{let t=Bs(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(Ft(n.context),Mr,be({onSuccess:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:In(e)})}))):m}case`Defect`:return l({_tag:`Defect`,clientId:0,defect:Sl(e.defect)});case`ClientProtocolError`:{let t=lr(e.error);return Ze(s.keys(),e=>l({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return m}}).pipe(Ln(ft),de,Yn),c}),pl=new WeakMap,ml=e=>{let t=pl.get(e);return t===void 0?(t={decodeChunk:ti(ki(e.successSchema),e=>zn(y(je(e.success)))),encodePayload:ii(y(e.payloadSchema)),decodeExit:zn(y(ia(e)))},pl.set(e,t),t):t},hl=Gr(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>ro}),gl=class extends mr()(`effect/rpc/RpcClient/Protocol`){static make=cl},_l=e=>gl.make(C(function*(t,n){let r=yield*ps,i=yield*al,a=yield*dr(xl),o=new Map,c=yield*r.writer,l=i.makeUnsafe(),u=yield*yl(c(l.encode(Vs)),Yt(a)?a.value:void 0),d,f=Qt(()=>(d=void 0,Yt(a)?a.value.onConnect:m)),p=e=>Ze(n,n=>t(n,e));return yield*Qt(()=>(l=i.makeUnsafe(),u.reset(),r.runRaw(e=>{try{let n=l.decode(e);if(n.length===0)return;let r=0;return Xn({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return u.onPong;if(`requestId`in e){let n=o.get(e.requestId);if(n!==void 0)return e._tag===`Exit`&&o.delete(e.requestId),t(n,e)}return p(e)},step:Rt})}catch(e){return p({_tag:`ClientProtocolError`,error:new zs({reason:new Rs({message:`Error decoding message`,cause:e})})})}},{onOpen:f}).pipe(st(O(u.timeout,()=>(Yt(a)&&a.value.onPingTimeout?a.value.onPingTimeout:m).pipe($r(gt(new Es({reason:new Cs({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))))).pipe(O(()=>gt(new Es({reason:new ws({code:1e3})}))),Yt(a)?di(a.value.onDisconnect):at,ln(t=>{let n=ht(t),r=s(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?m:(d=new zs({reason:r?n.success.reason:new Rs({message:`Unknown socket error`,cause:Xe(t)})}),p({_tag:`ClientProtocolError`,error:d}))}),Sn(e?.retryPolicy??vl),_n({module:`RpcClient`,method:`makeProtocolSocket`}),Yn),{send(e,t){if(d)return gt(d);t._tag===`Request`&&o.set(t.id,e);let n=l.encode(t);return n===void 0?m:Mr(c(n))},supportsAck:!0,supportsTransferables:!1}})),vl=Le(500,1.5).pipe(Te(xe(5e3))),yl=C(function*(e,t){let n=!0,r=Je(),i=()=>{n=!0,r.closeUnsafe()},a=D(()=>{n=!0}).pipe($r(t?.onPong??m));return yield*Qt(()=>n?(n=!1,(t?.onPing??m).pipe($r(e))):r.open).pipe(gi(`5 seconds`),Ke,er,de,Yn),{timeout:r.await,reset:i,onPong:a}}),bl=class extends mr()(`effect/rpc/RpcClient/RequestHooks`){},xl=class extends mr()(`effect/rpc/RpcClient/ConnectionHooks`){},Sl=kr(lt),Cl=e(r(),1);function wl(e){return{_tag:`Value`,value:e}}function Tl(e,t){return{_tag:`Record`,keys:e,value:t}}function El(e,t){return{_tag:`Array`,length:e,value:t}}Nr(`SourceError`);var Dl=Gr(`effect/ConfigProvider`,{defaultValue:()=>Al()}),Ol={...Qn,toJSON(){return{_id:`ConfigProvider`}}};function kl(e,t,n){let r=Object.create(Ol);return r.get=e,r.mapInput=t,r.prefix=n,r.load=r=>(t&&(r=t(r)),n&&(r=[...n,...r]),e(r)),r}function Al(e){let t=e?.env??{APP_VERSION:`0.1.4`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_HOSTED_APP_URL:``,VITE_HTTP_URL:``,VITE_WS_URL:``},n=jl(t);return kl(e=>E(Nl(n,t,e)))}function jl(e){let t={};for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let e=n.split(`_`),i=t;for(let t of e)i.children??={},i=i.children[t]??={};i.value=r}return t}var Ml=/^(0|[1-9][0-9]*)$/;function Nl(e,t,n){let r=t[n.map(String).join(`_`)],i=Pl(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:wl(r):a.every(e=>Ml.test(e))?El(Math.max(...a.map(e=>parseInt(e,10)))+1,r):Tl(new Set(a),r)}function Pl(e,t){if(t.length===0)return e;let n=e;for(let e of t)if(n=n?.children?.[String(e)],!n)return;return n}var Fl=`~effect/Config`,Il=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},Ll={...Qn,...d,[Fl]:Fl,asEffect(){return O(Dl.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function Rl(e){let t=Object.create(Ll);return t.parse=e,t}var zl=C(function*(e,t){let n=yield*e.load(t);if(n!==void 0)switch(n._tag){case`Value`:return n.value;case`Record`:{if(n.value!==void 0)return n.value;let r={};for(let i of n.keys){let n=yield*zl(e,[...t,i]);n!==void 0&&(r[i]=n)}return r}case`Array`:{if(n.value!==void 0)return n.value;let r=[];for(let i=0;i<n.length;i++)r.push(yield*zl(e,[...t,i]));return r}}}),Bl=C(function*(e,t,n){switch(e._tag){case`Objects`:{let r={};for(let i of e.propertySignatures){let e=i.name;if(typeof e==`string`){let a=yield*Bl(i.type,t,[...n,e]);a!==void 0&&(r[e]=a)}}if(e.indexSignatures.length>0){let i=yield*t.load(n);if(i&&i._tag===`Record`)for(let a of e.indexSignatures){let e=_e(a.parameter);for(let o of i.keys)if(!Object.hasOwn(r,o)&&e(o)){let e=yield*Bl(a.type,t,[...n,o]);e!==void 0&&(r[o]=e)}}}return r}case`Arrays`:{let r=yield*t.load(n);if(r&&r._tag===`Value`)return r.value;let i=[];for(let r=0;r<e.elements.length;r++)i.push(yield*Bl(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*zl(t,n);case`Suspend`:return yield*Bl(e.thunk(),t,n);default:{let e=yield*t.load(n);return e===void 0?void 0:e._tag===`Value`||e._tag===`Record`&&e.value!==void 0||e._tag===`Array`&&e.value!==void 0?e.value:void 0}}});function Vl(e,t){let n=kt(e),r=Pe(n),i=Vt(n.ast),a=typeof t==`string`?[t]:t??[];return Rl(e=>{let t=e.prefix?[...e.prefix,...a]:a;return Bl(i,e,a).pipe(bt(e=>r(e).pipe(Dt(e=>new Nt(t.length>0?new Lr(t,e):e)))),Dt(e=>new Il(e)))})}var Hl=(e,t,n)=>{let r=Ht(e,t);return Cr([r,w.pipe(fr(Ht(w,w),qt(n)),fr(r))])},Ul=`~effect/ManagedRuntime`,Wl=(e,t)=>{let n=t?.memoMap??Kt(),r=Vr(`parallel`),i=tn(r,`sequential`),a={onFiberStart:Ue(r)},o=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,s,c=He(t=>(s||=zr(_i(ke(e,n,i),e=>D(()=>{l.cachedContext=e})),{...a,scheduler:t.currentScheduler}),se(Zn(s)))),l={[Ul]:Ul,memoMap:n,scope:r,contextEffect:c,cachedContext:void 0,context(){return l.cachedContext===void 0?rn(l.contextEffect):Promise.resolve(l.cachedContext)},dispose(){return rn(l.disposeEffect)},disposeEffect:Qt(()=>(l.contextEffect=cn(`ManagedRuntime disposed`),l.cachedContext=void 0,Hn(l.scope,hi))),runFork(e,t){return l.cachedContext===void 0?zr(Gl(l,e),o(t)):Gn(l.cachedContext)(e,o(t))},runCallback(e,t){return l.cachedContext===void 0?Yr(Gl(l,e),o(t)):vr(l.cachedContext)(e,o(t))},runSyncExit(e){return l.cachedContext===void 0?ei(Gl(l,e)):vn(l.cachedContext)(e)},runSync(e){return l.cachedContext===void 0?sr(Gl(l,e)):On(l.cachedContext)(e)},runPromiseExit(e,t){return l.cachedContext===void 0?Sr(Gl(l,e),o(t)):Ur(l.cachedContext)(e,o(t))},runPromise(e,t){return l.cachedContext===void 0?rn(Gl(l,e),o(t)):pn(l.cachedContext)(e,o(t))}};return l};function Gl(e,t){return O(e.contextEffect,e=>Ft(t,e))}function Kl(e){return e}var ql=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,b||(b=!0,ie());else{var t=n(l);t!==null&&se(te,t.startTime-e)}}var b=!1,x=-1,S=5,ne=-1;function re(){return g?!0:!(e.unstable_now()-ne<S)}function C(){if(g=!1,b){var t=e.unstable_now();ne=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(x),x=-1),p=!0;var a=f;try{b:{for(ee(t),d=n(c);d!==null&&!(d.expirationTime>t&&re());){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&&se(te,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ie():b=!1}}}var ie;if(typeof y==`function`)ie=function(){y(C)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=C,ie=function(){oe.postMessage(null)}}else ie=function(){_(C,0)};function se(t,n){x=_(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`):S=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(x),x=-1):h=!0,se(te,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,b||(b=!0,ie()))),r},e.unstable_shouldYield=re,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Jl=t(((e,t)=>{t.exports=ql()})),Yl=e(Jl(),1);function Xl(e){let t=Yl.unstable_scheduleCallback(4,e);return()=>Yl.unstable_cancelCallback(t)}var Zl=Cl.createContext(wr({scheduleTask:Xl,defaultIdleTTL:400})),Ql=new WeakMap;function $l(e,t){let n=Ql.get(e);n===void 0&&(n=new WeakMap,Ql.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 yr(t,e)}};return n.set(t,i),i}function eu(e,t){let n=$l(e,t);return Cl.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var tu=(e,t)=>{let n=Cl.useContext(Zl);return t?eu(n,Cl.useMemo(()=>nr(e,t),[e,t])):eu(n,e)},nu=(e,t,n)=>{let r=Cl.useContext(Zl);Cl.useEffect(()=>r.subscribe(e,t,n),[r,e,t,n?.immediate])},ru=i(),iu=Di(),q=wr();function au(e){let t=(0,ru.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,iu.jsx)(Zl.Provider,{value:q,children:n}),t[0]=n,t[1]=r),r}function ou(e,t){if(!St(e)||!St(t))return t;let n={...e};for(let[e,r]of Object.entries(t)){if(r===void 0)continue;let t=n[e];n[e]=St(t)&&St(r)?ou(t,r):r}return n}var su=new It(xn(e=>ce({try:()=>{let t=e.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g,(e,t)=>t?e:``);return t=t.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g,(e,t)=>t?e:``),t=t.replace(/,(\s*[}\]])/g,`$1`),li(JSON.parse(t))},catch:t=>new gr(li(e),{message:String(t)})})),qr());(e=>w.pipe(fr(e,su)))(Xi);function cu(e){return!!(e&&(e.instanceId!==void 0||e.model!==void 0))}function lu(e){if(e.patch===void 0)return e.current?[...e.current]:void 0;if(e.patch.length===0)return;let t=new Map((e.current??[]).map(e=>[e.id,e.value]));for(let n of e.patch)t.set(n.id,n.value);return[...t.entries()].map(([e,t])=>({id:e,value:t}))}function uu(e,t){let n=t.textGenerationModelSelection,r=ou(e,t),i=t.providerInstances===void 0?r:{...r,providerInstances:t.providerInstances};if(!n)return i;let a=n.instanceId??e.textGenerationModelSelection.instanceId,o=n.model??e.textGenerationModelSelection.model,s=cu(n)?n.options:lu({current:e.textGenerationModelSelection.options,patch:n.options});return{...i,textGenerationModelSelection:ra(a,o,s)}}var du=[{key:`mod+j`,command:`terminal.toggle`},{key:`mod+d`,command:`terminal.split`,when:`terminalFocus`},{key:`mod+n`,command:`terminal.new`,when:`terminalFocus`},{key:`mod+w`,command:`terminal.close`,when:`terminalFocus`},{key:`mod+p`,command:`workspace.files`,when:`!terminalFocus`},{key:`ctrl+shift+g`,command:`workspace.review`,when:`!terminalFocus`},{key:"ctrl+`",command:`workspace.terminal`,when:`!terminalFocus`},{key:`mod+d`,command:`diff.toggle`,when:`!terminalFocus`},{key:`mod+k`,command:`commandPalette.toggle`,when:`!terminalFocus`},{key:`mod+n`,command:`chat.new`,when:`!terminalFocus`},{key:`mod+shift+o`,command:`chat.new`,when:`!terminalFocus`},{key:`mod+shift+n`,command:`chat.newLocal`,when:`!terminalFocus`},{key:`mod+shift+m`,command:`modelPicker.toggle`,when:`!terminalFocus`},{key:`mod+o`,command:`editor.openFavorite`},{key:`mod+shift+[`,command:`thread.previous`},{key:`mod+shift+]`,command:`thread.next`},...Pi.map((e,t)=>({key:`mod+${t+1}`,command:e})),...Ni.map((e,t)=>({key:`mod+${t+1}`,command:e,when:`modelPickerOpen`}))];function fu(e){return e===`space`?` `:e===`esc`?`escape`:e}function pu(e){let t=[...e.toLowerCase().split(`+`).map(e=>e.trim())],n=0;for(;t[t.length-1]===``;)n+=1,t.pop();if(n>0&&t.push(`+`),t.some(e=>e.length===0)||t.length===0)return null;let r=null,i=!1,a=!1,o=!1,s=!1,c=!1;for(let e of t)switch(e){case`cmd`:case`meta`:i=!0;break;case`ctrl`:case`control`:a=!0;break;case`shift`:o=!0;break;case`alt`:case`option`:s=!0;break;case`mod`:c=!0;break;default:if(r!==null)return null;r=fu(e)}return r===null?null:{key:r,metaKey:i,ctrlKey:a,shiftKey:o,altKey:s,modKey:c}}function mu(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(!r)break;if(/\s/.test(r)){n+=1;continue}if(e.startsWith(`&&`,n)){t.push({type:`and`}),n+=2;continue}if(e.startsWith(`||`,n)){t.push({type:`or`}),n+=2;continue}if(r===`!`){t.push({type:`not`}),n+=1;continue}if(r===`(`){t.push({type:`lparen`}),n+=1;continue}if(r===`)`){t.push({type:`rparen`}),n+=1;continue}let i=/^[A-Za-z_][A-Za-z0-9_.-]*/.exec(e.slice(n));if(!i)return null;t.push({type:`identifier`,value:i[0]}),n+=i[0].length}return t}function hu(e){let t=mu(e);if(!t||t.length===0)return null;let n=0,r=e=>{if(e>64)return null;let r=t[n];if(!r)return null;if(r.type===`identifier`)return n+=1,{type:`identifier`,name:r.value};if(r.type===`lparen`){n+=1;let r=o(e+1),i=t[n];return!r||!i||i.type!==`rparen`?null:(n+=1,r)}return null},i=e=>{let i=0;for(;t[n]?.type===`not`;)if(n+=1,i+=1,i>64)return null;let a=r(e);if(!a)return null;for(;i>0;)a={type:`not`,node:a},--i;return a},a=e=>{let r=i(e);if(!r)return null;for(;t[n]?.type===`and`;){n+=1;let t=i(e);if(!t)return null;r={type:`and`,left:r,right:t}}return r},o=e=>{let r=a(e);if(!r)return null;for(;t[n]?.type===`or`;){n+=1;let t=a(e);if(!t)return null;r={type:`or`,left:r,right:t}}return r},s=o(0);return!s||n!==t.length?null:s}function gu(e){let t=pu(e.key);if(!t)return null;if(e.when!==void 0){let n=hu(e.when);return n?{command:e.command,shortcut:t,whenAst:n}:null}return{command:e.command,shortcut:t}}function _u(e){let t=[];for(let n of e){let e=gu(n);e&&t.push(e)}return t.slice(-256)}var vu=_u(du);function yu(e,t){return un(t).pipe(Br,wn(e))}function bu(e){return{issues:e.issues,providers:e.providers,settings:e.settings}}var xu=[],Su=[],Cu=e=>e?.availableEditors??xu,wu=e=>e?.keybindings??vu,Tu=e=>e?.keybindingsConfigPath??null,Eu=e=>e?.observability??null,Du=e=>e?.providers??Su,Ou=e=>e?.settings??Mi,ku=yu(`server-welcome`,null),Au=yu(`server-config`,null),ju=yu(`server-config-updated`,null),Mu=yu(`server-providers-updated`,null);function Nu(){return q.get(Au)}function Pu(){return q.get(ju)}function Fu(e){Hu(e),Uu({providers:e.providers}),Wu(bu(e),`snapshot`)}function Iu(e){switch(e.type){case`snapshot`:Fu(e.config);return;case`keybindingsUpdated`:{let t=Nu();if(!t)return;let n={...t,keybindings:e.payload.keybindings,issues:e.payload.issues};Hu(n),Wu(bu(n),e.type);return}case`providerStatuses`:Lu(e.payload);return;case`settingsUpdated`:Ru(e.payload.settings);return}}function Lu(e){let t=Nu();if(Uu(e),!t)return;let n={...t,providers:e.providers};Hu(n),Wu(bu(n),`providerStatuses`)}function Ru(e){let t=Nu();if(!t)return;let n={...t,settings:e};Hu(n),Wu(bu(n),`settingsUpdated`)}function zu(e){q.set(ku,e)}function Bu(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&zu(e.payload)}),e.subscribeConfig(e=>{Iu(e)})];return Nu()===null&&e.getConfig().then(e=>{t||Nu()!==null||Fu(e)}).catch(()=>void 0),()=>{t=!0;for(let e of n)e()}}var Vu=1;function Hu(e){q.set(Au,e)}function Uu(e){q.set(Mu,e)}function Wu(e,t){q.set(ju,{id:Vu++,payload:e,source:t})}function Gu(e,t){let n=(0,Cl.useRef)(t);n.current=t,nu(e,(0,Cl.useCallback)(e=>{e!==null&&n.current(e)},[]),{immediate:!0})}function Ku(){return tu(Au)}function qu(){return tu(Au,Ou)}function Ju(){return tu(Au,Du)}function Yu(){return tu(Au,wu)}function Xu(){return tu(Au,Cu)}function Zu(){return tu(Au,Tu)}function Qu(){return tu(Au,Eu)}function $u(e){Gu(ku,e)}function ed(e){Gu(ju,e)}var td=new Set,nd=new Set,rd=Ai,id=!1,ad=null;function od(){for(let e of td)e()}function sd(){for(let e of nd)e()}function cd(){return rd}function ld(e){rd=e,od()}function ud(){return id}function dd(e){id!==e&&(id=e,sd())}function fd(e){return td.add(e),()=>{td.delete(e)}}function pd(){return ad}function md(e){ad=e}function hd(e){ad===e&&(ad=null)}var gd=`[CLIENT_SETTINGS]`;function _d(e){let t=fd(e);return vd(),t}async function vd(){if(ud())return;let e=pd();if(e)return e;let t=(async()=>{try{let e=await lp().persistence.getClientSettings();e&&ld({...Ai,...e})}catch(e){console.error(`${gd} hydrate failed`,e)}finally{dd(!0)}})().finally(()=>{hd(t)});return md(t),t}function yd(e){ld(e),lp().persistence.setClientSettings(e).catch(e=>{console.error(`${gd} persist failed`,e)})}var bd=new Set(Ae(Xi.fields));function xd(e){let t={},n={};for(let[r,i]of Object.entries(e))bd.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function Sd(){return cd()}function Cd(e){let t=(0,ru.c)(6),n=qu(),r=(0,Cl.useSyncExternalStore)(_d,cd,wd),i;t[0]!==r||t[1]!==n?(i={...n,...r},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;return t[3]!==a||t[4]!==e?(o=e?e(a):a,t[3]=a,t[4]=e,t[5]=o):o=t[5],o}function wd(){return Ai}function Td(){let e=(0,ru.c)(2),t=Ed,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{t(Ti)},e[0]=n):n=e[0];let r=n,i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i={updateSettings:t,resetSettings:r},e[1]=i):i=e[1],i}function Ed(e){let{serverPatch:t,clientPatch:n}=xd(e);if(Object.keys(t).length>0){let e=Nu();e&&Ru(uu(e.settings,t)),lp().server.updateSettings(t)}Object.keys(n).length>0&&yd({...cd(),...n})}var Dd=Object.freeze({data:null,error:null,cause:null,isPending:!1}),Od=Object.freeze({...Dd,isPending:!0}),kd=un(Dd).pipe(Br,wn(`git-status:null`)),Ad=()=>void 0,jd=new Map,Md=new Set,Nd=new Map,Pd=new Map,Fd=1e3,Id=$t(e=>(Md.add(e),un(Od).pipe(Br,wn(`git-status:${e}`))));function Ld(e){return e.environmentId===null||e.cwd===null?null:`${e.environmentId}:${e.cwd}`}function Rd(e,t){return`${e}:remote-poll=${t?.automaticRemoteRefreshIntervalMs??0}`}function zd(e){if(e.environmentId===null)return null;let t=jx(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.vcs}:null}function Bd(e){let t=Ld(e);return t===null?Dd:q.get(Id(t))}function Vd(e,t,n){let r=Ld(e);if(r===null)return Ad;let i=Rd(r,n),a=jd.get(i);return a?(a.refCount+=1,()=>qd(i)):(jd.set(i,{refCount:1,unsubscribe:Jd(r,e,t,n)}),()=>qd(i))}function Hd(e,t){return Ud(e,t).then(t=>{let n=Ld(e);return n!==null&&t!==null&&Wd(n,t),t})}function Ud(e,t){let n=Ld(e);if(n===null||e.cwd===null)return Promise.resolve(null);let r=t??zd(e)?.client;if(!r)return Promise.resolve(Bd(e).data);let i=Nd.get(n);if(i)return i;let a=Pd.get(n)??0;if(Date.now()-a<Fd)return Promise.resolve(Bd(e).data);Pd.set(n,Date.now());let o=r.refreshStatus({cwd:e.cwd}).finally(()=>{Nd.delete(n)});return Nd.set(n,o),o}function Wd(e,t){q.set(Id(e),{data:t,error:null,cause:null,isPending:!1})}function Gd(e){let t=(0,ru.c)(5),n=Ld(e),r=Cd(Kd),i,a;t[0]!==r||t[1]!==e.cwd||t[2]!==e.environmentId?(i=()=>Vd({environmentId:e.environmentId,cwd:e.cwd},void 0,{automaticRemoteRefreshIntervalMs:r}),a=[r,e.environmentId,e.cwd],t[0]=r,t[1]=e.cwd,t[2]=e.environmentId,t[3]=i,t[4]=a):(i=t[3],a=t[4]),(0,Cl.useEffect)(i,a);let o=tu(n===null?kd:Id(n));return n===null?Dd:o}function Kd(e){return e.gitStatusPollIntervalMs}function qd(e){let t=jd.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),jd.delete(e)))}function Jd(e,t,n,r){if(t.cwd===null)return Ad;let i=t.cwd,a=null,o=Ad,s=()=>{let s=n?{clientIdentity:`provided:${e}`,client:n}:zd(t);if(!s){a!==null&&(o(),o=Ad,a=null),Xd(e);return}a!==s.clientIdentity&&(o(),a=s.clientIdentity,o=Yd(e,{...t,cwd:i},s.client,r))},c=n?Ad:Ax(s);return s(),()=>{c(),o()}}function Yd(e,t,n,r){Xd(e);let i=t.cwd,a=r?.automaticRemoteRefreshIntervalMs??0,o=n.onStatus({cwd:i,...a>0?{automaticRemoteRefreshIntervalMs:a}:{}},t=>{q.set(Id(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{Xd(e)}}),s=!1;return Ud(t,n).then(t=>{!s&&t!==null&&Wd(e,t)}).catch(()=>void 0),()=>{s=!0,o()}}function Xd(e){let t=Id(e),n=q.get(t),r=n.data===null?Od:{...n,error:null,cause:null,isPending:!0};n.data===r.data&&n.error===r.error&&n.cause===r.cause&&n.isPending===r.isPending||q.set(t,r)}var Zd={key:`primary`},Qd=3e4,$d=5*6e4;function ef(e){let t=e?.environmentId??null;return t?ua()?.environmentId===t?Zd:{key:t}:Zd}var tf=pr({getRegistry:()=>q,getClient:e=>{if(e===Zd.key){let e=ua()?.environmentId??null,t=e?jx(e):null;if(t)return t.client.server;try{return cp()?.server??null}catch{return null}}let t=jx(Hi.make(e));return t?t.client.server:null}}),nf=$t(e=>un(()=>Oe(()=>tf.refresh({key:e}))).pipe(mn({staleTime:Qd,revalidateOnMount:!0}),Xr($d),wn(`source-control-discovery:auto-refresh:${e}`)));function rf(e){return tf.refresh(ef(e))}function af(e){return tf.getSnapshot(ef(e))}function of(e){let t=Pr(ef(e))??Zd.key;return tu(nf(t)),tu(Bn(t))}var sf=15e3,cf=new Map,lf=un([]).pipe(Br,wn(`slow-rpc-ack-requests`));function uf(e){q.set(lf,[...e])}function df(){return q.get(lf)}function ff(e){return!e.includes(`subscribe`)}function pf(e,t){if(!ff(t))return;gf(e),vf();let n=Date.now(),r={requestId:e,startedAt:new Date(n).toISOString(),startedAtMs:n,tag:t,thresholdMs:sf},i=setTimeout(()=>{cf.delete(e),_f(r)},sf);cf.set(e,{request:r,timeoutId:i})}function mf(e){gf(e);let t=df();t.some(t=>t.requestId===e)&&uf(t.filter(t=>t.requestId!==e))}function hf(){for(let e of cf.values())clearTimeout(e.timeoutId);cf.clear(),uf([])}function gf(e){let t=cf.get(e);t&&(clearTimeout(t.timeoutId),cf.delete(e))}function _f(e){let t=[...df(),e];if(t.length<=256){uf(t);return}uf(t.slice(-256))}function vf(){for(;cf.size>=256;){let e=cf.keys().next().value;if(e===void 0)return;gf(e)}}function yf(){return tu(lf)}var bf=1e3,xf=64e3,Sf=un(Object.freeze({attemptCount:0,closeCode:null,closeReason:null,connectionLabel:null,connectedAt:null,disconnectedAt:null,hasConnected:!1,lastError:null,lastErrorAt:null,nextRetryAt:null,online:typeof navigator>`u`?!0:navigator.onLine!==!1,phase:`idle`,reconnectAttemptCount:0,reconnectMaxAttempts:8,reconnectPhase:`idle`,socketUrl:null})).pipe(Br,wn(`ws-connection-status`));function Cf(){return new Date().toISOString()}function wf(e){let t=e(Ef());return q.set(Sf,t),t}function Tf(e){return e?.trim()||null}function Ef(){return q.get(Sf)}function Df(e){return e.phase===`connected`?`connected`:!e.online&&(e.disconnectedAt!==null||e.phase===`disconnected`)?`offline`:e.hasConnected?`reconnecting`:e.phase===`disconnected`?`error`:`connecting`}function Of(e,t){let n=Tf(t?.connectionLabel);return wf(t=>({...t,attemptCount:t.attemptCount+1,connectionLabel:n??t.connectionLabel,nextRetryAt:null,phase:`connecting`,reconnectAttemptCount:t.phase===`connected`?1:t.reconnectAttemptCount+1,reconnectPhase:`attempting`,socketUrl:e}))}function kf(e){let t=Tf(e?.connectionLabel);return wf(e=>({...e,closeCode:null,closeReason:null,connectionLabel:t??e.connectionLabel,connectedAt:Cf(),disconnectedAt:null,hasConnected:!0,nextRetryAt:null,phase:`connected`,reconnectAttemptCount:0,reconnectPhase:`idle`}))}function Af(e,t){let n=e?.trim(),r=t?.trim();return n?r?`${n} Hint: ${r}`:n:r?`Hint: ${r}`:null}function jf(e,t){return wf(n=>Lf(n,{lastError:Af(e,t?.versionMismatchHint)??Af(n.lastError,t?.versionMismatchHint),lastErrorAt:Cf()}))}function Mf(e,t){let n=Tf(t?.connectionLabel);return wf(r=>Lf(r,{closeCode:e?.code??r.closeCode,closeReason:Af(e?.reason,t?.versionMismatchHint)??Af(r.closeReason,t?.versionMismatchHint)},n===null?void 0:{connectionLabel:n}))}function Nf(e){return wf(t=>({...t,online:e}))}function Pf(){return wf(e=>({...e,nextRetryAt:null,reconnectAttemptCount:0,reconnectPhase:`idle`}))}function Ff(){return tu(Sf)}function If(e){return!Number.isInteger(e)||e<0||e>=7?null:Math.min(Math.round(bf*2**e),xf)}function Lf(e,t,n){let r=e.disconnectedAt??Cf(),i=e.nextRetryAt!==null||e.reconnectPhase===`exhausted`?null:If(Math.max(0,e.reconnectAttemptCount-1));return{...e,...t,connectionLabel:Tf(n?.connectionLabel)??e.connectionLabel,disconnectedAt:r,nextRetryAt:i===null?e.nextRetryAt:new Date(Date.now()+i).toISOString(),phase:`disconnected`,reconnectPhase:e.reconnectPhase===`waiting`||e.reconnectPhase===`exhausted`?e.reconnectPhase:i===null?`exhausted`:`waiting`}}function Rf(e,t,n){let r=e.getBoundingClientRect(),i=Math.min(Math.max(4,t),Math.max(4,window.innerWidth-r.width-4)),a=Math.min(Math.max(4,n),Math.max(4,window.innerHeight-r.height-4));e.style.left=`${i}px`,e.style.top=`${a}px`}function zf(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=[],a=e=>{document.removeEventListener(`keydown`,o),r.remove();for(let e of i)e.remove();n(e)},o=e=>{e.key===`Escape`&&(e.preventDefault(),a(null))},s=e=>{for(;i.length>e;)i.pop()?.remove()},c=(e,t,n,r)=>{s(r);let o=document.createElement(`div`);o.className=`fixed z-[10000] min-w-[160px] rounded-md border border-border bg-popover py-1 shadow-xl animate-in fade-in zoom-in-95`,o.style.left=`${t}px`,o.style.top=`${n}px`,o.dataset.level=String(r);for(let t of e){let e=document.createElement(`button`);e.type=`button`;let n=Array.isArray(t.children)&&t.children.length>0,l=!n&&(t.destructive===!0||t.id===`delete`),u=t.disabled===!0;e.disabled=u,e.className=u?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-muted-foreground/60 cursor-not-allowed`:l?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-destructive hover:bg-accent cursor-default`:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-popover-foreground hover:bg-accent cursor-default`;let d=document.createElement(`span`);if(d.className=`min-w-0 flex-1 truncate`,d.textContent=t.label,e.appendChild(d),n){let t=document.createElement(`span`);t.className=`shrink-0 text-muted-foreground/70`,t.textContent=`›`,e.appendChild(t)}u||(n?(e.addEventListener(`mouseenter`,()=>{let n=e.getBoundingClientRect(),a=n.right+4,o=n.top;c(t.children,a,o,r+1);let s=i[r+1];if(!s)return;let l=s.getBoundingClientRect();l.right>window.innerWidth&&Rf(s,n.left-l.width-4,n.top)}),e.addEventListener(`click`,e=>{e.preventDefault()})):(e.addEventListener(`mouseenter`,()=>{s(r+1)}),e.addEventListener(`click`,()=>a(t.id)))),o.appendChild(e)}o.addEventListener(`mouseenter`,()=>{s(r+1)}),document.body.appendChild(o),i[r]=o,requestAnimationFrame(()=>{Rf(o,t,n)})};r.addEventListener(`mousedown`,()=>a(null)),document.addEventListener(`keydown`,o),document.body.appendChild(r),c(e,t?.x??0,t?.y??0,0)})}var Bf=`ryco:client-settings:v1`,Vf=`ryco:saved-environment-registry:v1`,Hf=a({environmentId:Hi,label:w,httpBaseUrl:w,wsBaseUrl:w,createdAt:w,lastConnectedAt:Ee(w),desktopSsh:pe(a({alias:w,hostname:w,username:Ee(w),port:Ee(Lt)})),bearerToken:pe(w)}),Uf=a({version:pe(Lt),records:pe($e(Hf))});function Wf(){return typeof window<`u`}function Gf(e){let t={environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt};return e.desktopSsh?{...t,desktopSsh:e.desktopSsh}:t}function Kf(){if(!Wf())return null;try{return qi(Bf,aa)}catch{return null}}function qf(e){Wf()&&Ui(Bf,e,aa)}function Jf(){if(!Wf())return{};try{return qi(`ryco:saved-environment-registry:v1`,Uf)??{}}catch{return{}}}function Yf(e){Wf()&&Ui(Vf,e,Uf)}function Xf(){return Jf().records??[]}function Zf(e){Yf({version:1,records:e})}function Qf(){return Xf().map(e=>Gf(e))}function $f(e){let t=new Map(Xf().map(e=>[e.environmentId,e]));Zf(e.map(e=>{let n=t.get(e.environmentId)?.bearerToken;return n?{environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt,...e.desktopSsh?{desktopSsh:e.desktopSsh}:{},bearerToken:n}:Gf(e)}))}function ep(e){return Xf().find(t=>t.environmentId===e)?.bearerToken??null}function tp(e,t){let n=Jf(),r=n.records??[],i=!1;return Yf({version:n.version??1,records:r.map(n=>{if(n.environmentId!==e)return n;i=!0;let r={environmentId:n.environmentId,label:n.label,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,createdAt:n.createdAt,lastConnectedAt:n.lastConnectedAt,bearerToken:t};return n.desktopSsh?Object.assign(r,{desktopSsh:n.desktopSsh}):r})}),i}function np(e){let t=Jf();Yf({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?Gf(t):t)})}var rp;function ip(){return Error(`Local backend API is unavailable before a backend is paired.`)}function ap(e){return{dialogs:{pickFolder:async e=>window.desktopBridge?window.desktopBridge.pickFolder(e):null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},shell:{openInEditor:(t,n)=>e?e.shell.openInEditor({cwd:t,editor:n}):Promise.reject(ip()),openExternal:async e=>{if(window.desktopBridge){if(!await window.desktopBridge.openExternal(e))throw Error(`Unable to open link.`);return}window.open(e,`_blank`,`noopener,noreferrer`)},getPathForFile:async e=>window.desktopBridge?.getPathForFile?.(e)||null},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):zf(e,t)},persistence:{getClientSettings:async()=>window.desktopBridge?window.desktopBridge.getClientSettings():Kf(),setClientSettings:async e=>{if(window.desktopBridge)return window.desktopBridge.setClientSettings(e);qf(e)},getSavedEnvironmentRegistry:async()=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentRegistry():Qf(),setSavedEnvironmentRegistry:async e=>{if(window.desktopBridge)return window.desktopBridge.setSavedEnvironmentRegistry(e);$f(e)},getSavedEnvironmentSecret:async e=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentSecret(e):ep(e),setSavedEnvironmentSecret:async(e,t)=>window.desktopBridge?window.desktopBridge.setSavedEnvironmentSecret(e,t):tp(e,t),removeSavedEnvironmentSecret:async e=>{if(window.desktopBridge)return window.desktopBridge.removeSavedEnvironmentSecret(e);np(e)}},server:{getConfig:()=>e?e.server.getConfig():Promise.reject(ip()),refreshProviders:()=>e?e.server.refreshProviders():Promise.reject(ip()),updateProvider:t=>e?e.server.updateProvider(t):Promise.reject(ip()),upsertKeybinding:t=>e?e.server.upsertKeybinding(t):Promise.reject(ip()),getSettings:()=>e?e.server.getSettings():Promise.reject(ip()),updateSettings:t=>e?e.server.updateSettings(t):Promise.reject(ip()),discoverSourceControl:()=>e?e.server.discoverSourceControl():Promise.reject(ip()),listOpinionatedPlugins:()=>e?e.server.listOpinionatedPlugins():Promise.reject(ip()),checkOpinionatedPlugins:t=>e?e.server.checkOpinionatedPlugins(t):Promise.reject(ip()),installOpinionatedPlugin:t=>e?e.server.installOpinionatedPlugin(t):Promise.reject(ip())},keybindings:{replaceCustom:t=>e?e.keybindings.replaceCustom(t):Promise.reject(ip())},...e?{mcp:{listWorkspaces:()=>e.mcp.listWorkspaces(),listServers:t=>e.mcp.listServers(t),upsertServer:t=>e.mcp.upsertServer(t),setServerEnabled:t=>e.mcp.setServerEnabled(t),removeServer:t=>e.mcp.removeServer(t),reloadServers:t=>e.mcp.reloadServers(t),startOauthLogin:t=>e.mcp.startOauthLogin(t)}}:{}}}function op(e,t){let n=t.mcp??e.mcp;return{...e,...t,dialogs:{...e.dialogs,...t.dialogs},shell:{...e.shell,...t.shell},contextMenu:{...e.contextMenu,...t.contextMenu},persistence:{...e.persistence,...t.persistence},server:{...e.server,...t.server},...n?{mcp:n}:{}}}function sp(e){return ap(e)}function cp(){if(!(typeof window>`u`))return rp||(window.nativeApi?(rp=op(ap(),window.nativeApi),rp):(rp=la()?sp(Nx().client):ap(),rp))}function lp(){let e=cp();if(!e)throw Error(`Local API not found`);return e}var up=!1,dp=null;function fp(e){return{environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt,...e.desktopSsh?{desktopSsh:e.desktopSsh}:{}}}function pp(e){return Object.values(e)}function mp(e){try{lp().persistence.setSavedEnvironmentRegistry(pp(e).map(e=>fp(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function hp(e){let t=J.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));J.setState({byId:{...n,...t}})}async function gp(){if(up)return;if(dp)return dp;let e=(async()=>{try{hp(await lp().persistence.getSavedEnvironmentRegistry())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{up=!0}})().finally(()=>{dp===e&&(dp=null)});return dp=e,dp}var J=Wr()(e=>({byId:{},upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return mp(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return mp(r),{byId:r}}),markConnected:(t,n)=>e(e=>{let r=e.byId[t];if(!r)return e;let i={...e.byId,[t]:{...r,lastConnectedAt:n}};return mp(i),{byId:i}}),rename:(t,n)=>e(e=>{let r=e.byId[t],i=n.trim();if(!r||i.length===0||r.label===i)return e;let a={...e.byId,[t]:{...r,label:i}};return mp(a),{byId:a}}),reset:()=>{mp({}),e({byId:{}})}}));function _p(){return up}function vp(){return _p()?Promise.resolve():gp()}function yp(){return Object.values(J.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function bp(e){return J.getState().byId[e]??null}function xp(e){let t=la();return t?.environmentId===e?fn(t):bp(e)?.httpBaseUrl??null}function Sp(e){return e}function Cp(e){let t=xp(e.environmentId);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(Sp(t));return n.pathname=e.pathname,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}async function wp(e){let t={...J.getState().byId,[e.environmentId]:e};await lp().persistence.setSavedEnvironmentRegistry(pp(t).map(e=>fp(e)))}async function Tp(e){return lp().persistence.getSavedEnvironmentSecret(e)}async function Ep(e,t){return lp().persistence.setSavedEnvironmentSecret(e,t)}async function Dp(e){await lp().persistence.removeSavedEnvironmentSecret(e)}var Op=Object.freeze({connectionState:`disconnected`,authState:`unknown`,lastError:null,lastErrorAt:null,role:null,descriptor:null,serverConfig:null,connectedAt:null,disconnectedAt:null});function kp(){return{...Op}}var Y=Wr()(e=>({byId:{},ensure:t=>e(e=>e.byId[t]?e:{byId:{...e.byId,[t]:kp()}}),patch:(t,n)=>e(e=>({byId:{...e.byId,[t]:{...e.byId[t]??kp(),...n}}})),clear:t=>e(e=>{let{[t]:n,...r}=e.byId;return{byId:r}}),reset:()=>e({byId:{}})}));function Ap(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var jp={enabled:!0,leading:!0,trailing:!0,wait:0},Mp=class{#e;constructor(e,t){this.fn=e,this.store=new ta(Ap()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.maybeExecute=(...e)=>{this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),n=t-this.store.state.lastExecutionTime,r=this.#r();if(this.options.leading&&n>=r)this.#i(...e);else if(this.#t({lastArgs:e}),!this.#e&&this.options.trailing){let e=r-(this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0);this.#t({isPending:!0}),this.#e=setTimeout(()=>{let{lastArgs:e}=this.store.state;e!==void 0&&this.#i(...e)},e)}},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(Ap())},this.key=t.key,this.options={...jp,...t},this.#t(this.options.initialState??{}),this.key&&Vi.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),zi(`Throttler`,this)};#n=()=>!!Yi(this.options.enabled,this);#r=()=>Yi(this.options.wait,this);#i=(...e)=>{if(!this.#n())return;this.fn(...e);let t=Date.now(),n=t+this.#r();this.#a(),this.#t({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:n,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#t({nextExecutionTime:void 0})},this.#r())};#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)}};function Np(e){let t=new Set,n=new Map(e.snapshotThreads.map(e=>[e.key,e]));for(let n of e.snapshotThreads)n.deletedAt===null&&n.archivedAt===null&&t.add(n.key);for(let r of e.draftThreadKeys){let e=n.get(r);e&&(e.deletedAt!==null||e.archivedAt!==null)||t.add(r)}return t}function Pp(e){let t=new Map,n=!1;for(let r of e)switch(r.type){case`thread.turn-diff-completed`:case`thread.reverted`:n=!0;break;case`thread.created`:t.set(r.payload.threadId,{clearPromotedDraft:!0,clearDeletedThread:!1,removeTerminalState:!1});break;case`thread.deleted`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!0,removeTerminalState:!0});break;case`thread.archived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!0});break;case`thread.unarchived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!1});break;default:break}let r=[],i=[],a=[];for(let[e,n]of t)n.clearPromotedDraft&&r.push(e),n.clearDeletedThread&&i.push(e),n.removeTerminalState&&a.push(e);return{promoteDraftThreadIds:r,clearDeletedThreadIds:i,removeTerminalStateThreadIds:a,needsProviderInvalidation:n}}var Fp={all:[`projects`],searchEntries:(e,t,n,r)=>[`projects`,`search-entries`,e??null,t,n,r]},Ip=80,Lp=15e3,Rp={entries:[],truncated:!1};function zp(e){let t=e.limit??Ip;return Kl({queryKey:Fp.searchEntries(e.environmentId,e.cwd,e.query,t),queryFn:async()=>{if(!e.cwd||!e.environmentId)throw Error(`Workspace entry search is unavailable.`);return Gx(e.environmentId).projects.searchEntries({cwd:e.cwd,query:e.query,limit:t})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.cwd!==null&&e.query.length>0,staleTime:e.staleTime??Lp,placeholderData:e=>e??Rp})}var Bp={all:[`providers`],checkpointDiff:e=>[`providers`,`checkpointDiff`,e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.ignoreWhitespace,e.cacheScope??null]};function Vp(e){return e.fromTurnCount===0?Nn(Ji)({threadId:e.threadId,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(ti(e=>({kind:`fullThreadDiff`,input:e}))):Nn(Qi)({threadId:e.threadId,fromTurnCount:e.fromTurnCount,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(ti(e=>({kind:`turnDiff`,input:e})))}function Hp(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function Up(e){let t=Hp(e).trim();if(t.length===0)return`Failed to load checkpoint diff.`;let n=t.toLowerCase();if(n.includes(`not a git repository`))return`Turn diffs are unavailable because this project is not a git repository.`;if(n.includes(`checkpoint unavailable for thread`)||n.includes(`checkpoint invariant violation`)){let e=t.indexOf(`:`);if(e>=0){let n=t.slice(e+1).trim();if(n.length>0)return n}}return t}function Wp(e){let t=Hp(e).toLowerCase();return t.includes(`exceeds current turn count`)||t.includes(`checkpoint is unavailable for turn`)||t.includes(`filesystem checkpoint is unavailable`)}function Gp(e){let t=Vp(e);return Kl({queryKey:Bp.checkpointDiff(e),queryFn:async()=>{if(!e.environmentId||!e.threadId||t._tag===`None`)throw Error(`Checkpoint diff is unavailable.`);let n=Gx(e.environmentId);try{return t.value.kind===`fullThreadDiff`?await n.orchestration.getFullThreadDiff(t.value.input):await n.orchestration.getTurnDiff(t.value.input)}catch(e){throw Error(Up(e),{cause:e})}},enabled:(e.enabled??!0)&&!!e.environmentId&&!!e.threadId&&t._tag===`Some`,staleTime:1/0,retry:(e,t)=>Wp(t)?e<12:e<3,retryDelay:(e,t)=>Wp(t)?Math.min(5e3,250*2**(e-1)):Math.min(1e3,100*2**(e-1))})}var Kp=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function qp(e){return e instanceof Kp}function Jp(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function Yp(e,t){let n=await e.text();if(!n)return t;try{let e=JSON.parse(n);if(typeof e.error==`string`&&e.error.length>0)return e.error}catch{}return n}async function Xp(e){let t=Jp(e.httpBaseUrl,e.pathname),n;try{n=await fetch(t,{method:e.method??`GET`,headers:{...e.body===void 0?{}:{"content-type":`application/json`},...e.bearerToken?{authorization:`Bearer ${e.bearerToken}`}:{}},...e.body===void 0?{}:{body:JSON.stringify(e.body)}})}catch(e){throw Error(`Failed to fetch remote auth endpoint ${t} (${e.message}).`,{cause:e})}if(!n.ok)throw new Kp(await Yp(n,`Remote auth request failed (${n.status}).`),n.status);return await n.json()}async function Zp(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/bootstrap/bearer`,method:`POST`,body:{credential:e.credential}})}async function Qp(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:e.bearerToken})}async function $p(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/.well-known/ryco/environment`})}async function em(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:e.bearerToken})}async function tm(e){let t=await em({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),n=new URL(e.wsBaseUrl,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}function nm(e){let t=e.trim();if(!t)throw Error(`Enter a backend URL.`);let n=/^[a-zA-Z][a-zA-Z\d+-]*:\/\//.test(t)||t.startsWith(`//`)?t:`https://${t}`,r=new URL(n,window.location.origin);return r.pathname=`/`,r.search=``,r.hash=``,r}function rm(e){let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function im(e){let t=new URL(e.toString());return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function am(e){let t=e.pairingUrl?.trim()??``;if(t.length>0){let e=new URL(t,window.location.origin),n=da(e);if(n){let e=nm(n.host);return{credential:n.token,httpBaseUrl:rm(e),wsBaseUrl:im(e)}}let r=oa(e)??``;if(!r)throw Error(`Pairing URL is missing its token.`);return{credential:r,httpBaseUrl:rm(e),wsBaseUrl:im(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw Error(`Enter a backend URL.`);if(!r)throw Error(`Enter a pairing code.`);let i=nm(n);return{credential:r,httpBaseUrl:rm(i),wsBaseUrl:im(i)}}function om(){let e=null,t=null,n=new Promise((n,r)=>{e=n,t=r});return{wait:()=>n,resolve:()=>{e?.(),e=null,t=null},reject:n=>{t?.(n),e=null,t=null},reset:()=>{n=new Promise((n,r)=>{e=n,t=r})}}}function sm(e){let t=e.knownEnvironment.environmentId;if(!t)throw Error(`Known environment ${e.knownEnvironment.label} is missing its environmentId.`);let n=!1,r=om(),i=e.kind===`saved`||e.onWelcome!==void 0,a=e.kind===`saved`||e.onConfigSnapshot!==void 0,o=(e,n)=>{if(t!==e)throw Error(`Environment connection ${t} changed identity to ${e} via ${n}.`)},s=i?e.client.server.subscribeLifecycle(t=>{t.type===`welcome`&&(o(t.payload.environment.environmentId,`server lifecycle welcome`),e.onWelcome?.(t.payload))}):()=>void 0,c=a?e.client.server.subscribeConfig(t=>{t.type===`snapshot`&&(o(t.config.environment.environmentId,`server config snapshot`),e.onConfigSnapshot?.(t.config))}):()=>void 0,l=e.client.orchestration.subscribeShell(n=>{if(n.kind===`snapshot`){e.syncShellSnapshot(n.snapshot,t),r.resolve();return}e.applyShellEvent(n,t)},{onResubscribe:()=>{n||r.reset()}}),u=e.client.terminal.onEvent(n=>{e.applyTerminalEvent(n,t)}),d=()=>{n=!0,l(),u(),s(),c()};return{kind:e.kind,environmentId:t,knownEnvironment:e.knownEnvironment,client:e.client,ensureBootstrapped:()=>r.wait(),reconnect:async()=>{r.reset();try{await e.client.reconnect(),await e.refreshMetadata?.(),await r.wait()}catch(e){throw r.reject(e),e}},dispose:async()=>{d(),await e.client.dispose()}}}var cm=`context-compaction`;function lm(e){return e.kind===cm}function um(e,t){if(e.length<=t)return[...e];let n=e.slice(-t),r=new Set(n.map(e=>e.id)),i=e.filter(e=>lm(e)&&!r.has(e.id));return i.length===0?[...n]:[...i,...n]}var dm=[/\bSocketCloseError\b/i,/\bSocketOpenError\b/i,/Unable to connect to the Ryco server WebSocket\./i,/\bping timeout\b/i];function fm(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length===0?!1:dm.some(e=>e.test(t))}function pm(e){return fm(e)?null:e??null}var mm=[],hm=[],gm=[],_m=[],vm={},ym={},bm={},xm={},Sm=new WeakMap,Cm=new WeakMap;function wm(e,t,n){if(!e||e.length===0||!t)return n;let r=Sm.get(e),i=r?.get(t);if(i)return i;let a=e.flatMap(e=>{let n=t[e];return n?[n]:[]}),o=r??new WeakMap;return o.set(t,a),r||Sm.set(e,o),a}function Tm(e,t){return wm(e.messageIdsByThreadId[t],e.messageByThreadId[t]??vm,mm)}function Em(e,t){return wm(e.activityIdsByThreadId[t],e.activityByThreadId[t]??ym,hm)}function Dm(e,t){return wm(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??bm,gm)}function Om(e,t){return wm(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??xm,_m)}function km(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=Tm(e,t),o=Em(e,t),s=Dm(e,t),c=Om(e,t),l=Cm.get(n);if(l&&l.session===r&&l.turnState===i&&l.messages===a&&l.activities===o&&l.proposedPlans===s&&l.turnDiffSummaries===c)return l.thread;let u={...n,session:r,latestTurn:i?.latestTurn??null,pendingSourceProposedPlan:i?.pendingSourceProposedPlan,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c};return Cm.set(n,{session:r,turnState:i,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c,thread:u}),u}var Am=5e3,jm={enabled:!1,record:()=>void 0,flush:()=>void 0,dispose:()=>void 0},Mm;function Nm(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e===1;let t=e?.trim().toLowerCase();return t===`1`||t===`true`||t===`yes`||t===`on`}function Pm(e){return Mm??=globalThis.TextEncoder?new TextEncoder:null,Mm?Mm.encode(e).byteLength:e.length}function Fm(e){try{let t=JSON.stringify(e);return typeof t==`string`?Pm(t):0}catch{return 0}}function Im(){return Date.now()}function Lm(e){console.info(`[perf]`,e)}function Rm(e){if(!e.enabled)return jm;let t=e.now??Im,n=e.log??Lm,r=Math.max(250,e.intervalMs??Am),i=t(),a=0,o=0,s=0,c=0,l=0,u=()=>{i=t(),a=0,o=0,s=0,c=0,l=0},d=(r=`interval`)=>{let d=t(),f=Math.max(1,d-i);if(!e.logEmptyIntervals&&a===0&&o===0&&s===0){u();return}n({label:e.label,reason:r,windowMs:f,count:a,ratePerSecond:a/f*1e3,bytes:o,bytesPerSecond:o/f*1e3,durationSamples:s,totalDurationMs:c,averageDurationMs:s>0?c/s:0,maxDurationMs:l}),u()},f=globalThis.setInterval(()=>{d()},r);return f.unref?.(),{enabled:!0,record:(e={})=>{let t=e.count??1;Number.isFinite(t)&&t>0&&(a+=t);let n=e.bytes??0;Number.isFinite(n)&&n>0&&(o+=n);let r=e.durationMs;r!==void 0&&Number.isFinite(r)&&r>=0&&(s+=1,c+=r,l=Math.max(l,r))},flush:d,dispose:()=>{globalThis.clearInterval(f),d(`dispose`)}}}var zm=Nm(void 0),Bm=new Map;function Vm(){return zm}function Hm(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function Um(e){let t=Bm.get(e);if(t)return t;let n=Rm({label:e,enabled:zm,now:Hm});return Bm.set(e,n),n}function Wm(e,t){zm&&Um(e).record(t)}function Gm(e,t,n){zm&&Um(e).record({...n,bytes:Fm(t)})}var Km={projectIds:[],projectById:{},worktreeIds:[],worktreeIdsByProjectId:{},worktreeById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},messageIdsByThreadId:{},messageByThreadId:{},pendingMessagesByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},bootstrapComplete:!1},qm={activeEnvironmentId:null,environmentStateById:{}},Jm=2e3,Ym=500,Xm=[],Zm=[],Qm=[],$m=[];function eh(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function th(e){return Bi(e.instanceId)?{...e,model:Li(e.instanceId,e.model)}:e}function nh(e){return e.map(e=>({...e}))}function rh(e){return{provider:Gh(e.providerName),providerInstanceId:e.providerInstanceId??void 0,status:Wh(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...e.lastError?{lastError:e.lastError}:{}}}function ih(e,t){let n=t.attachments?.map(t=>({type:`image`,id:t.id,name:t.name,mimeType:t.mimeType,sizeBytes:t.sizeBytes,previewUrl:Cp({environmentId:e,pathname:Kh(t.id)})}));return{id:t.id,role:t.role,text:t.text,turnId:t.turnId,createdAt:t.createdAt,streaming:t.streaming,...t.streaming?{}:{completedAt:t.updatedAt},...n&&n.length>0?{attachments:n}:{}}}function ah(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function oh(e){return{turnId:e.turnId,completedAt:e.completedAt,status:e.status,assistantMessageId:e.assistantMessageId??void 0,checkpointTurnCount:e.checkpointTurnCount,checkpointRef:e.checkpointRef,files:e.files.filter(sh).map(e=>({path:e.path,kind:e.kind,additions:e.additions,deletions:e.deletions}))}}function sh(e){return e.kind!==`modified`||e.additions>0||e.deletions>0}function ch(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,projectMetadataDir:e.projectMetadataDir,repositoryIdentity:e.repositoryIdentity??null,defaultModelSelection:e.defaultModelSelection?th(e.defaultModelSelection):null,customSystemPrompt:e.customSystemPrompt??null,customAvatarContentHash:e.customAvatarContentHash??null,preferredRemoteName:e.preferredRemoteName??null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:nh(e.scripts)}}function lh(e,t){return{id:e.worktreeId,environmentId:t,projectId:e.projectId,title:e.title??null,branch:e.branch,worktreePath:e.worktreePath,origin:e.origin,prNumber:e.prNumber,issueNumber:e.issueNumber,prTitle:e.prTitle,issueTitle:e.issueTitle,prState:e.prState??null,prIsDraft:e.prIsDraft??null,issueState:e.issueState??null,createdAt:e.createdAt,updatedAt:e.updatedAt,archivedAt:e.archivedAt,manualPosition:e.manualPosition}}function uh(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:th(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:e.session?rh(e.session):null,messages:e.messages.map(e=>ih(t,e)),proposedPlans:e.proposedPlans.map(ah),error:pm(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,turnDiffSummaries:e.checkpoints.map(oh),activities:e.activities.map(e=>({...e}))}}function dh(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:th(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:pm(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0},r=e.session?rh(e.session):null;return{shell:n,session:r,turnState:{latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan},summary:{id:e.id,environmentId:t,projectId:e.projectId,title:e.title,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:r,createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,latestUserMessageAt:e.latestUserMessageAt,hasPendingApprovals:e.hasPendingApprovals,hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan}}}function fh(e){return{id:e.id,environmentId:e.environmentId,codexThreadId:e.codexThreadId,projectId:e.projectId,title:e.title,modelSelection:e.modelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:e.error,createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId,manualStatusBucket:e.manualStatusBucket,manualPosition:e.manualPosition}}function ph(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function mh(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function hh(e,t){return e===t?!0:e==null||t==null?!1:e.turnId===t.turnId&&e.state===t.state&&e.requestedAt===t.requestedAt&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.assistantMessageId===t.assistantMessageId&&mh(e.sourceProposedPlan,t.sourceProposedPlan)}function gh(e,t){return e===t?!0:e==null||t==null?!1:e.provider===t.provider&&e.status===t.status&&e.orchestrationStatus===t.orchestrationStatus&&e.activeTurnId===t.activeTurnId&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.lastError===t.lastError}function _h(e,t){return e!==void 0&&e.id===t.id&&e.projectId===t.projectId&&e.title===t.title&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&gh(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.updatedAt===t.updatedAt&&hh(e.latestTurn,t.latestTurn)&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan}function vh(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.codexThreadId===t.codexThreadId&&e.projectId===t.projectId&&e.title===t.title&&e.modelSelection===t.modelSelection&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&e.error===t.error&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition}function yh(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.origin===t.origin&&e.prNumber===t.prNumber&&e.issueNumber===t.issueNumber&&e.prTitle===t.prTitle&&e.issueTitle===t.issueTitle&&e.prState===t.prState&&e.prIsDraft===t.prIsDraft&&e.issueState===t.issueState&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.archivedAt===t.archivedAt&&e.manualPosition===t.manualPosition}function bh(e,t){return e!==void 0&&hh(e.latestTurn,t.latestTurn)&&mh(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function xh(e,t){return e.includes(t)?[...e]:[...e,t]}function Sh(e,t){return e.filter(e=>e!==t)}function Ch(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function wh(e){return Th(e.activities)}function Th(e){return{ids:e.map(e=>e.id),byId:Object.fromEntries(e.map(e=>[e.id,e]))}}function Eh(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function Dh(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function Oh(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function kh(e){return e.threadIds.flatMap(t=>{let n=km(e,t);return n?[n]:[]})}function Ah(e,t,n,r){let i=e;if(e.threadIds.includes(t)||(i={...i,threadIds:[...i.threadIds,t]}),r!==n){let e=i.threadIdsByProjectId;if(r){let n=e[r]??Xm,i=Sh(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else eh(n,i)||(e={...e,[r]:i})}let a=e[n]??Xm,o=xh(a,t);eh(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function jh(e,t,n){let r=e.pendingMessagesByThreadId[t.id]??[],i=r.length===0?t:{...t,messages:[...t.messages,...r].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id))},a=fh(t),o=ph(t),s=e.threadShellById[t.id],c=e.threadTurnStateById[t.id],l=Ah(e,t.id,t.projectId,n?.projectId);if(vh(s,a)||(l={...l,threadShellById:{...l.threadShellById,[t.id]:a}}),gh(n?.session??null,t.session)||(l={...l,threadSessionById:{...l.threadSessionById,[t.id]:t.session}}),bh(c,o)||(l={...l,threadTurnStateById:{...l.threadTurnStateById,[t.id]:o}}),n?.messages!==i.messages){let e=Ch(i);l={...l,messageIdsByThreadId:{...l.messageIdsByThreadId,[i.id]:e.ids},messageByThreadId:{...l.messageByThreadId,[i.id]:e.byId}}}if(r.length>0){let{[i.id]:e,...t}=l.pendingMessagesByThreadId;l={...l,pendingMessagesByThreadId:t}}if(n?.activities!==t.activities){let e=wh(t);l={...l,activityIdsByThreadId:{...l.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...l.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=Eh(t);l={...l,proposedPlanIdsByThreadId:{...l.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...l.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=Dh(t);l={...l,turnDiffIdsByThreadId:{...l.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...l.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return l}function Mh(e,t){let n=e.threadShellById[t.shell.id],r=Ah(e,t.shell.id,t.shell.projectId,n?.projectId);return vh(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),gh(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),bh(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),_h(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function Nh(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function Ph(e,t){let n=e.threadShellById[t];if(!n)return e;let r=Sh(e.threadIds,t),i=Sh(e.threadIdsByProjectId[n.projectId]??Xm,t),a=i.length===0?(()=>{let{[n.projectId]:t,...r}=e.threadIdsByProjectId;return r})():{...e.threadIdsByProjectId,[n.projectId]:i},{[t]:o,...s}=e.threadShellById,{[t]:c,...l}=e.threadSessionById,{[t]:u,...d}=e.threadTurnStateById,{[t]:f,...p}=e.messageIdsByThreadId,{[t]:m,...h}=e.messageByThreadId,{[t]:g,..._}=e.pendingMessagesByThreadId,{[t]:v,...y}=e.activityIdsByThreadId,{[t]:ee,...te}=e.activityByThreadId,{[t]:b,...x}=e.proposedPlanIdsByThreadId,{[t]:S,...ne}=e.proposedPlanByThreadId,{[t]:re,...C}=e.turnDiffIdsByThreadId,{[t]:ie,...ae}=e.turnDiffSummaryByThreadId,{[t]:oe,...se}=e.sidebarThreadSummaryById;return{...e,threadIds:r,threadIdsByProjectId:a,threadShellById:s,threadSessionById:l,threadTurnStateById:d,messageIdsByThreadId:p,messageByThreadId:h,pendingMessagesByThreadId:_,activityIdsByThreadId:y,activityByThreadId:te,proposedPlanIdsByThreadId:x,proposedPlanByThreadId:ne,turnDiffIdsByThreadId:C,turnDiffSummaryByThreadId:ae,sidebarThreadSummaryById:se}}function Fh(e,t){let n=e.environmentStateById[t.environmentId];return n?rg(e,t.environmentId,Ph(n,t.threadId)):e}function Ih(e,t){let n=e.worktreeById??{},r=e.worktreeIds??Zm,i=n[t.id],a=i!==void 0&&i.projectId!==t.projectId,o=r.includes(t.id)?r:[...r,t.id],s=e.worktreeIdsByProjectId??{},c=s[t.projectId]??[];if(yh(i,t)&&r.includes(t.id)&&c.includes(t.id))return e;if(a){let e=Sh(s[i.projectId]??[],t.id);if(e.length===0){let{[i.projectId]:e,...t}=s;s=t}else s={...s,[i.projectId]:e}}let l=s[t.projectId]??[];return l.includes(t.id)||(s={...s,[t.projectId]:[...l,t.id]}),i===void 0&&o===r&&(o=[...o]),{...e,worktreeIds:o,worktreeIdsByProjectId:s,worktreeById:{...n,[t.id]:t}}}function Lh(e,t){let n=e.worktreeById??{},r=n[t];if(!r)return e;let{[t]:i,...a}=n,o=e.worktreeIdsByProjectId??{},s=Sh(o[r.projectId]??[],t),c=s.length===0?Object.fromEntries(Object.entries(o).filter(([e])=>e!==r.projectId)):{...o,[r.projectId]:s};return{...e,worktreeIds:Sh(e.worktreeIds??Zm,t),worktreeIdsByProjectId:c,worktreeById:a}}function Rh(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function zh(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;return e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)}function Bh(e){let t=e.previous?.turnId===e.turnId?e.previous.sourceProposedPlan:e.sourceProposedPlan;return{turnId:e.turnId,state:e.state,requestedAt:e.requestedAt,startedAt:e.startedAt,completedAt:e.completedAt,assistantMessageId:e.assistantMessageId,...t?{sourceProposedPlan:t}:{}}}function Vh(e,t,n){let r=new Set;for(let n of e){if(n.role===`system`){r.add(n.id);continue}n.turnId!==void 0&&n.turnId!==null&&t.has(n.turnId)&&r.add(n.id)}let i=e.filter(e=>e.role===`user`&&r.has(e.id)).length,a=Math.max(0,n-i);if(a>0){let n=e.filter(e=>e.role===`user`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,a);for(let e of n)r.add(e.id)}let o=e.filter(e=>e.role===`assistant`&&r.has(e.id)).length,s=Math.max(0,n-o);if(s>0){let n=e.filter(e=>e.role===`assistant`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,s);for(let e of n)r.add(e.id)}return e.filter(e=>r.has(e.id))}function Hh(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Uh(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Wh(e){switch(e){case`starting`:return`connecting`;case`running`:return`running`;case`error`:return`error`;case`ready`:case`interrupted`:return`ready`;case`idle`:case`stopped`:return`closed`}}function Gh(e){return pi(Ki)(e)?e:Ki.make(`codex`)}function Kh(e){return`/attachments/${encodeURIComponent(e)}`}function X(e,t,n){let r=km(e,t);if(!r)return e;let i=n(r);return i===r?e:jh(e,i,r)}function qh(e,t,n){let r=e.threadShellById[t];return!r||r.updatedAt===n?e:{...e,threadShellById:{...e.threadShellById,[t]:{...r,updatedAt:n}}}}function Jh(e,t){return{...e,text:t.streaming?`${e.text}${t.text}`:t.text.length>0?t.text:e.text,streaming:t.streaming,...t.turnId===void 0?{}:{turnId:t.turnId},...t.streaming?e.completedAt===void 0?{}:{completedAt:e.completedAt}:t.completedAt===void 0?{}:{completedAt:t.completedAt},...t.attachments===void 0?{}:{attachments:t.attachments}}}function Yh(e,t,n){let r=e.pendingMessagesByThreadId[t]??[],i=r.find(e=>e.id===n.id)?r.map(e=>e.id===n.id?Jh(e,n):e):[...r,n];return{...e,pendingMessagesByThreadId:{...e.pendingMessagesByThreadId,[t]:i}}}function Xh(e,t,n,r){let i=e.turnDiffSummaryByThreadId[t],a=i?.[n];return!i||!a||a.assistantMessageId===r?e:{...e,turnDiffSummaryByThreadId:{...e.turnDiffSummaryByThreadId,[t]:{...i,[n]:{...a,assistantMessageId:r}}}}}function Zh(e,t,n){let r=ih(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}),i=t.payload.threadId;if(!e.threadShellById[i])return Yh(e,i,r);let a=e.messageIdsByThreadId[i]??Qm,o=e.messageByThreadId[i]??{},s=e.pendingMessagesByThreadId[i]??[],c=s.find(e=>e.id===r.id),l=o[r.id]??c,u=l?Jh(l,r):r,d=a,f={...o,[r.id]:u},p=e.pendingMessagesByThreadId;if(!o[r.id]&&!a.includes(r.id)&&(d=[...a,r.id],d.length>Jm)){let e=d.slice(-2e3),t=new Set(e);f=Object.fromEntries(Object.entries(f).filter(([e])=>t.has(e))),d=e}if(c){let t=s.filter(e=>e.id!==r.id);if(t.length===0){let{[i]:t,...n}=e.pendingMessagesByThreadId;p=n}else p={...e.pendingMessagesByThreadId,[i]:t}}let m={...e,pendingMessagesByThreadId:p,messageIdsByThreadId:d===a?e.messageIdsByThreadId:{...e.messageIdsByThreadId,[i]:d},messageByThreadId:{...e.messageByThreadId,[i]:f}};if(t.payload.role===`assistant`&&t.payload.turnId!==null){m=Xh(m,i,t.payload.turnId,t.payload.messageId);let e=m.threadTurnStateById[i],n=e?.latestTurn??null;if(n===null||n.turnId===t.payload.turnId){let r={latestTurn:Bh({previous:n,turnId:t.payload.turnId,state:t.payload.streaming?`running`:n?.state===`interrupted`?`interrupted`:n?.state===`error`?`error`:`completed`,requestedAt:n?.turnId===t.payload.turnId?n.requestedAt:t.payload.createdAt,startedAt:n?.turnId===t.payload.turnId?n.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e?.pendingSourceProposedPlan,completedAt:t.payload.streaming?n?.turnId===t.payload.turnId?n.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}),...e?.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}};bh(e,r)||(m={...m,threadTurnStateById:{...m.threadTurnStateById,[i]:r}})}}return qh(m,i,t.occurredAt)}function Qh(e,t,n){let r=e.length>0?t[e[e.length-1]]:void 0;if(!r||zh(r,n)<=0)return[...e,n.id];let i=[...e],a=i.findIndex(e=>{let r=t[e];return r?zh(n,r)<0:!1});return a===-1?i.push(n.id):i.splice(a,0,n.id),i}function $h(e,t){let n=t.payload.threadId;if(!e.threadShellById[n])return e;let r={...t.payload.activity},i=e.activityIdsByThreadId[n]??$m,a=e.activityByThreadId[n]??{},o=a[r.id],s=o!==void 0&&(o.createdAt!==r.createdAt||o.sequence!==r.sequence),c=i,l={...a,[r.id]:r};if(o?s&&(c=Qh(i.filter(e=>e!==r.id),l,r)):c=Qh(i,a,r),c.length>Ym){let e=Th(um(c.flatMap(e=>{let t=l[e];return t?[t]:[]}),Ym));c=e.ids,l=e.byId}return qh({...e,activityIdsByThreadId:c===i?e.activityIdsByThreadId:{...e.activityIdsByThreadId,[n]:c},activityByThreadId:{...e.activityByThreadId,[n]:l}},n,t.occurredAt)}function eg(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function tg(e){let t={};for(let n of e)t[n.projectId]=[...t[n.projectId]??[],n.id];return{worktreeIds:e.map(e=>e.id),worktreeIdsByProjectId:t,worktreeById:Object.fromEntries(e.map(e=>[e.id,e]))}}function ng(e,t){return e.environmentStateById[t]??Km}function rg(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function ig(e,t,n){let r=t.projects.map(e=>ch(e,n)),i=(t.worktrees??[]).map(e=>lh(e,n)),a=new Set(t.threads.map(e=>e.id)),o={...e,...eg(r),...tg(i),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},sidebarThreadSummaryById:{},messageIdsByThreadId:Nh(e.messageIdsByThreadId,a),messageByThreadId:Nh(e.messageByThreadId,a),pendingMessagesByThreadId:Nh(e.pendingMessagesByThreadId,a),activityIdsByThreadId:Nh(e.activityIdsByThreadId,a),activityByThreadId:Nh(e.activityByThreadId,a),proposedPlanIdsByThreadId:Nh(e.proposedPlanIdsByThreadId,a),proposedPlanByThreadId:Nh(e.proposedPlanByThreadId,a),turnDiffIdsByThreadId:Nh(e.turnDiffIdsByThreadId,a),turnDiffSummaryByThreadId:Nh(e.turnDiffSummaryByThreadId,a),bootstrapComplete:!0};for(let e of t.threads)o=Mh(o,dh(e,n));return o}function ag(e,t,n){return rg(e,n,ig(ng(e,n),t,n))}function og(e,t,n){let r=ng(e,n),i=km(r,t.id);return rg(e,n,jh(r,uh(t,n),i))}function sg(e,t,n){switch(t.type){case`project.created`:{let r=ch({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,projectMetadataDir:t.payload.projectMetadataDir,repositoryIdentity:t.payload.repositoryIdentity??null,defaultModelSelection:t.payload.defaultModelSelection,scripts:t.payload.scripts,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,deletedAt:null},n),i=e.projectIds.find(n=>n===t.payload.projectId||e.projectById[n]?.cwd===t.payload.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project.meta-updated`:{let n=e.projectById[t.payload.projectId];if(!n)return e;let r={...n,...t.payload.title===void 0?{}:{name:t.payload.title},...t.payload.workspaceRoot===void 0?{}:{cwd:t.payload.workspaceRoot},...t.payload.projectMetadataDir===void 0?{}:{projectMetadataDir:t.payload.projectMetadataDir},...t.payload.repositoryIdentity===void 0?{}:{repositoryIdentity:t.payload.repositoryIdentity??null},...t.payload.defaultModelSelection===void 0?{}:{defaultModelSelection:t.payload.defaultModelSelection?th(t.payload.defaultModelSelection):null},...t.payload.scripts===void 0?{}:{scripts:nh(t.payload.scripts)},...t.payload.preferredRemoteName===void 0?{}:{preferredRemoteName:t.payload.preferredRemoteName??null},updatedAt:t.payload.updatedAt};return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.avatar-set`:{let n=e.projectById[t.payload.projectId];return n?{...e,projectById:{...e.projectById,[t.payload.projectId]:{...n,customAvatarContentHash:t.payload.contentHash??null,updatedAt:t.payload.updatedAt}}}:e}case`project.deleted`:{if(!e.projectById[t.payload.projectId])return e;let{[t.payload.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Sh(e.projectIds,t.payload.projectId)}}case`thread.created`:{let r=km(e,t.payload.threadId);return jh(e,uh({id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode??`balanced`,branch:t.payload.branch,worktreePath:t.payload.worktreePath,worktreeId:null,manualStatusBucket:null,manualPosition:0,latestTurn:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null},n),r)}case`thread.deleted`:return Ph(e,t.payload.threadId);case`thread.archived`:return X(e,t.payload.threadId,e=>({...e,archivedAt:t.payload.archivedAt,updatedAt:t.payload.updatedAt}));case`thread.unarchived`:return X(e,t.payload.threadId,e=>({...e,archivedAt:null,updatedAt:t.payload.updatedAt}));case`thread.meta-updated`:return X(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:th(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return X(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return X(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.token-mode-set`:return X(e,t.payload.threadId,e=>({...e,tokenMode:t.payload.tokenMode??`balanced`,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return X(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:th(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return t.payload.turnId===void 0?e:X(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:Bh({previous:n,turnId:t.payload.turnId,state:`interrupted`,requestedAt:n.requestedAt,startedAt:n.startedAt??t.payload.createdAt,completedAt:n.completedAt??t.payload.createdAt,assistantMessageId:n.assistantMessageId}),updatedAt:t.occurredAt}});case`thread.message-sent`:return Zh(e,t,n);case`thread.session-set`:return X(e,t.payload.threadId,e=>({...e,session:rh(t.payload.session),error:pm(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?Bh({previous:e.latestTurn,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,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn,updatedAt:t.occurredAt}));case`thread.session-stop-requested`:return X(e,t.payload.threadId,e=>e.session===null?e:{...e,session:{...e.session,status:`closed`,orchestrationStatus:`stopped`,activeTurnId:void 0,updatedAt:t.payload.createdAt},updatedAt:t.occurredAt});case`thread.proposed-plan-upserted`:return X(e,t.payload.threadId,e=>{let n=ah(t.payload.proposedPlan),r=[...e.proposedPlans.filter(e=>e.id!==n.id),n].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-200);return{...e,proposedPlans:r,updatedAt:t.occurredAt}});case`thread.turn-diff-completed`:return X(e,t.payload.threadId,e=>{let n=oh({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.turnDiffSummaries.find(e=>e.turnId===n.turnId);if(r&&r.status!==`missing`&&n.status===`missing`)return e;let i=[...e.turnDiffSummaries.filter(e=>e.turnId!==n.turnId),n].toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),a=e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId?Bh({previous:e.latestTurn,turnId:t.payload.turnId,state:Rh(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,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn;return{...e,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.reverted`:return X(e,t.payload.threadId,e=>{let n=e.turnDiffSummaries.filter(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount).toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),r=new Set(n.map(e=>e.turnId)),i=Vh(e.messages,r,t.payload.turnCount).slice(-2e3),a=Uh(e.proposedPlans,r).slice(-200),o=Hh(e.activities,r),s=n.at(-1)??null;return{...e,turnDiffSummaries:n,messages:i,proposedPlans:a,activities:o,pendingSourceProposedPlan:void 0,latestTurn:s===null?null:{turnId:s.turnId,state:Rh(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return $h(e,t);case`worktree.created`:return Ih(e,lh({worktreeId:t.payload.worktreeId,projectId:t.payload.projectId,title:null,branch:t.payload.branch,worktreePath:t.payload.worktreePath,origin:t.payload.origin,prNumber:t.payload.prNumber,issueNumber:t.payload.issueNumber,prTitle:t.payload.prTitle,issueTitle:t.payload.issueTitle,prState:null,prIsDraft:null,issueState:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,manualPosition:0},n));case`worktree.archived`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,archivedAt:t.payload.archivedAt,updatedAt:t.payload.archivedAt}):e}case`worktree.metaUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,title:t.payload.title??null,updatedAt:t.payload.changedAt}):e}case`worktree.sourceControlStateUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,...t.payload.prNumber===void 0?{}:{prNumber:t.payload.prNumber},...t.payload.prTitle===void 0?{}:{prTitle:t.payload.prTitle},prState:t.payload.prState,prIsDraft:t.payload.prIsDraft,issueState:t.payload.issueState,updatedAt:t.payload.updatedAt}):e}case`worktree.restored`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,archivedAt:null,updatedAt:t.payload.restoredAt}):e}case`worktree.deleted`:return Lh(e,t.payload.worktreeId);case`thread.attachedToWorktree`:return X(e,t.payload.threadId,e=>({...e,worktreeId:t.payload.worktreeId,updatedAt:t.payload.attachedAt}));case`thread.statusBucketOverridden`:return X(e,t.payload.threadId,e=>({...e,manualStatusBucket:t.payload.bucket,updatedAt:t.payload.changedAt}));case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function cg(e,t,n){switch(t.kind){case`project-upserted`:{let r=ch(t.project,n),i=e.projectIds.find(n=>n===t.project.id||e.projectById[n]?.cwd===t.project.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project-removed`:{if(!e.projectById[t.projectId])return e;let{[t.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Sh(e.projectIds,t.projectId)}}case`thread-upserted`:return Mh(e,dh(t.thread,n));case`worktree-upserted`:return Ih(e,lh(t.worktree,n));case`thread-removed`:return Ph(e,t.threadId);case`worktree-removed`:return Lh(e,t.worktreeId)}}function lg(e,t,n){if(t.length===0)return e;let r=Vm(),i=r?Hm():0,a=ng(e,n),o=rg(e,n,t.reduce((e,t)=>sg(e,t,n),a));return r&&Gm(`web.store.orchestration.events.apply`,t,{count:t.length,durationMs:Hm()-i}),o}function ug(e){return Object.entries(e.environmentStateById)}function dg(e,t){return t?ng(e,t):Km}function fg(e,t){return kh(dg(e,t))}function pg(e){return ug(e).flatMap(([,e])=>Oh(e))}function mg(e){return ug(e).flatMap(([,e])=>kh(e))}function hg(e){return ug(e).flatMap(([,e])=>e.threadIds.flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function gg(e){return ug(e).flatMap(([e,t])=>t.threadIds.flatMap(n=>{let r=t.sidebarThreadSummaryById[n];return r&&r.environmentId===e?[r]:[]}))}function _g(e){return ug(e).flatMap(([e,t])=>(t.worktreeIds??Zm).flatMap(n=>{let r=t.worktreeById?.[n];return r&&r.environmentId===e?[r]:[]}))}function vg(e,t){if(!t)return[];let n=dg(e,t.environmentId);return(n.worktreeIdsByProjectId?.[t.projectId]??[]).flatMap(e=>{let t=n.worktreeById?.[e];return t?[t]:[]})}function yg(e,t){return t.length===0?[]:t.length===1?vg(e,t[0]):t.flatMap(t=>vg(e,t))}function bg(e,t){if(!t)return[];let n=dg(e,t.environmentId);return(n.threadIdsByProjectId[t.projectId]??Xm).flatMap(e=>{let t=n.sidebarThreadSummaryById[e];return t?[t]:[]})}function xg(e,t){return t.length===0?[]:t.length===1?bg(e,t[0]):t.flatMap(t=>bg(e,t))}function Sg(e,t){return t?dg(e,t.environmentId).projectById[t.projectId]:void 0}function Cg(e,t){return t?km(dg(e,t.environmentId),t.threadId):void 0}function wg(e,t){return t?dg(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function Tg(e,t){return t?dg(e,t.environmentId).sidebarThreadSummaryById[t.threadId]:void 0}function Eg(e,t,n){if(e.activeEnvironmentId===null)return e;let r=X(ng(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return rg(e,e.activeEnvironmentId,r)}function Dg(e,t,n){let r=Vm(),i=r?Hm():0,a=rg(e,n,sg(ng(e,n),t,n));return r&&Gm(`web.store.orchestration.event.apply`,t,{durationMs:Hm()-i}),a}function Og(e,t,n){let r=Vm(),i=r?Hm():0,a=rg(e,n,cg(ng(e,n),t,n));return r&&Gm(`web.store.orchestration.shell.apply`,t,{durationMs:Hm()-i}),a}function kg(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function Ag(e,t){if(!e.environmentStateById[t]&&e.activeEnvironmentId!==t)return e;let{[t]:n,...r}=e.environmentStateById;return{...e,activeEnvironmentId:e.activeEnvironmentId===t?null:e.activeEnvironmentId,environmentStateById:r}}function jg(e,t,n,r){let i=X(ng(e,t.environmentId),t.threadId,e=>{if(e.branch===n&&e.worktreePath===r)return e;let t=e.worktreePath!==r;return{...e,branch:n,worktreePath:r,...t?{session:null}:{}}});return rg(e,t.environmentId,i)}function Mg(e,t,n,r,i){let a=ng(e,t),o=a.worktreeById?.[n];return o?rg(e,t,Ih(a,{...o,title:r,updatedAt:i})):e}var Z=Wr(e=>({...qm,setActiveEnvironmentId:t=>e(e=>kg(e,t)),removeEnvironmentState:t=>e(e=>Ag(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>ag(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>og(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>Dg(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>lg(e,t,n)),applyShellEvent:(t,n)=>e(e=>Og(e,t,n)),removeThread:t=>e(e=>Fh(e,t)),setError:(t,n)=>e(e=>Eg(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>jg(e,t,n,r)),setSidebarWorktreeTitle:(t,n,r,i)=>e(e=>Mg(e,t,n,r,i))}));function Ng(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var Pg=`ryco:terminal-state:v1`,Fg=[],Ig=200;function Lg(e,t){return t===1&&e&&typeof e==`object`?{terminalStateByThreadKey:Object.fromEntries(Object.entries(e.terminalStateByThreadKey??{}).filter(([e])=>Jr(e)))}:{terminalStateByThreadKey:{}}}function Rg(){return Ri(typeof window<`u`?window.localStorage:void 0)}function zg(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[Ci]}function Bg(e,t){if(e.length===0)return[];let n=new Set(t);return[...new Set(e)].map(e=>e.trim()).filter(e=>e.length>0&&n.has(e))}function Vg(e){return`group-${e}`}function Hg(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function Ug(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function Wg(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function Gg(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=Wg(t.terminalIds).filter(e=>!(!n.has(e)||r.has(e)));if(e.length===0)continue;for(let t of e)r.add(t);let o=t.id.trim().length>0?t.id.trim():Vg(e[0]??`default`);i.push({id:Hg(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:Hg(Vg(e),a),terminalIds:[e]});return i.length===0?[{id:Vg(Ci),terminalIds:[Ci]}]:i}function Kg(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function qg(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||!Kg(r.terminalIds,i.terminalIds))return!1}return!0}function Jg(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&Kg(e.terminalIds,t.terminalIds)&&Kg(e.runningTerminalIds,t.runningTerminalIds)&&qg(e.terminalGroups,t.terminalGroups)}var Yg=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[Ci],runningTerminalIds:[],activeTerminalId:Ci,terminalGroups:[{id:Vg(Ci),terminalIds:[Ci]}],activeTerminalGroupId:Vg(Ci)});function Xg(){return{...Yg,terminalIds:[...Yg.terminalIds],runningTerminalIds:[...Yg.runningTerminalIds],terminalGroups:r_(Yg.terminalGroups)}}function Zg(){return Yg}function Qg(e){let t=zg(e.terminalIds),n=t.length>0?t:[Ci],r=Bg(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=Gg(e.terminalGroups,n),o=a.some(t=>t.id===e.activeTerminalGroupId)?e.activeTerminalGroupId:null,s=a.find(e=>e.terminalIds.includes(i))?.id??null,c={terminalOpen:e.terminalOpen,terminalHeight:Number.isFinite(e.terminalHeight)&&e.terminalHeight>0?e.terminalHeight:280,terminalIds:n,runningTerminalIds:r,activeTerminalId:i,terminalGroups:a,activeTerminalGroupId:o??s??a[0]?.id??Vg(`default`)};return Jg(e,c)?e:c}function $g(e){return Jg(Qg(e),Yg)}function e_(e){return e.trim().length>0}function t_(e){return nn(e)}function n_(e,t){return`${t_(e)}\u0000${t}`}function r_(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function i_(e,t,n,r){let i=n_(n,r.terminalId),a=e[i]??Fg,o={id:t,event:r},s=a.length>=Ig?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function a_(e){return{cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function o_(e,t,n){let r=Qg(e);if(!e_(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=r_(r.terminalGroups),s=Ug(o,t);if(s>=0&&(o[s].terminalIds=o[s].terminalIds.filter(e=>e!==t),o[s].terminalIds.length===0&&o.splice(s,1)),n===`new`){let e=new Set(o.map(e=>e.id)),n=Hg(Vg(t),e);return o.push({id:n,terminalIds:[t]}),Qg({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=Ug(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=Hg(Vg(r.activeTerminalId),e);o.push({id:t,terminalIds:[r.activeTerminalId]}),c=o.length-1}let l=o[c];if(!l||i&&!l.terminalIds.includes(t)&&l.terminalIds.length>=4)return r;if(!l.terminalIds.includes(t)){let e=l.terminalIds.indexOf(r.activeTerminalId);e>=0?l.terminalIds.splice(e+1,0,t):l.terminalIds.push(t)}return Qg({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function s_(e,t){let n=Qg(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function c_(e,t){let n=Qg(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function l_(e,t){return o_(e,t,`split`)}function u_(e,t){return o_(e,t,`new`)}function d_(e,t){let n=Qg(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalGroups.find(e=>e.terminalIds.includes(t))?.id??n.activeTerminalGroupId;return n.activeTerminalId===t&&n.activeTerminalGroupId===r?n:{...n,activeTerminalId:t,activeTerminalGroupId:r}}function f_(e,t){let n=Qg(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return Xg();let i=n.terminalIds.indexOf(t),a=n.activeTerminalId===t?r[Math.min(i,r.length-1)]??r[0]??`default`:n.activeTerminalId,o=n.terminalGroups.map(e=>({...e,terminalIds:e.terminalIds.filter(e=>e!==t)})).filter(e=>e.terminalIds.length>0),s=o.find(e=>e.terminalIds.includes(a))?.id??o[0]?.id??Vg(a);return Qg({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function p_(e,t,n){let r=Qg(e);if(!r.terminalIds.includes(t)||n===r.runningTerminalIds.includes(t))return r;let i=new Set(r.runningTerminalIds);return n?i.add(t):i.delete(t),{...r,runningTerminalIds:[...i]}}function m_(e,t){return!t||t.threadId.length===0?Zg():e[t_(t)]??Zg()}function h_(e,t,n){if(t.threadId.length===0)return e;let r=t_(t),i=m_(e,t),a=n(i);if(a===i)return e;if($g(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function g_(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?Fg:e[n_(t,n)]??Fg}var __=Wr()(ea(e=>{let t=(t,n)=>{e(e=>{let r=h_(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>s_(e,n)),setTerminalHeight:(e,n)=>t(e,e=>c_(e,n)),splitTerminal:(e,n)=>t(e,e=>l_(e,n)),newTerminal:(e,n)=>t(e,e=>u_(e,n)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=u_(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=d_(t,n)),r?.open&&(t=s_(t,!0)),Qg(t)}),setActiveTerminal:(e,n)=>t(e,e=>d_(e,n)),closeTerminal:(e,n)=>t(e,e=>f_(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[t_(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=t_(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>p_(e,n,r)),recordTerminalEvent:(t,n)=>{let r=Vm(),i=r?Hm():0;e(e=>i_(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n)),r&&Gm(`web.terminal.store.events.record`,n,{durationMs:Hm()-i})},applyTerminalEvent:(t,n)=>{let r=Vm(),i=r?Hm():0;e(e=>{let r=t_(t),i=e.terminalStateByThreadKey,a=e.terminalLaunchContextByThreadKey;(n.type===`started`||n.type===`restarted`)&&(i=h_(i,t,e=>{let t=e;return e.terminalIds.includes(n.terminalId)||(t=u_(t,n.terminalId)),t=d_(t,n.terminalId),t=s_(t,!0),Qg(t)}),a={...a,[r]:a_(n)});let o=Ng(n);o!==null&&(i=h_(i,t,e=>p_(e,n.terminalId,o)));let s=i_(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n);return{terminalStateByThreadKey:i,terminalLaunchContextByThreadKey:a,...s}}),r&&Gm(`web.terminal.store.events.apply`,n,{durationMs:Hm()-i})},clearTerminalState:t=>e(e=>{let n=t_(t),r=h_(e.terminalStateByThreadKey,t,()=>Xg()),i=e.terminalLaunchContextByThreadKey[n]!==void 0,{[n]:a,...o}=e.terminalLaunchContextByThreadKey,s={...e.terminalEventEntriesByKey},c=!1;for(let e of Object.keys(s))e.startsWith(`${n}\u0000`)&&(delete s[e],c=!0);return r===e.terminalStateByThreadKey&&!i&&!c?e:{terminalStateByThreadKey:r,terminalLaunchContextByThreadKey:o,terminalEventEntriesByKey:s}}),removeTerminalState:t=>e(e=>{let n=t_(t),r=e.terminalStateByThreadKey[n]!==void 0,i=e.terminalLaunchContextByThreadKey[n]!==void 0,a={...e.terminalEventEntriesByKey},o=!1;for(let e of Object.keys(a))e.startsWith(`${n}\u0000`)&&(delete a[e],o=!0);if(!r&&!i&&!o)return e;let s={...e.terminalStateByThreadKey};delete s[n];let c={...e.terminalLaunchContextByThreadKey};return delete c[n],{terminalStateByThreadKey:s,terminalLaunchContextByThreadKey:c,terminalEventEntriesByKey:a}}),removeOrphanedTerminalStates:t=>e(e=>{let n=Object.keys(e.terminalStateByThreadKey).filter(e=>!t.has(e)),r=Object.keys(e.terminalLaunchContextByThreadKey).filter(e=>!t.has(e)),i={...e.terminalEventEntriesByKey},a=!1;for(let e of Object.keys(i)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete i[e],a=!0)}if(n.length===0&&r.length===0&&!a)return e;let o={...e.terminalStateByThreadKey};for(let e of n)delete o[e];let s={...e.terminalLaunchContextByThreadKey};for(let e of r)delete s[e];return{terminalStateByThreadKey:o,terminalLaunchContextByThreadKey:s,terminalEventEntriesByKey:i}})}},{name:Pg,version:2,storage:Gi(Rg),migrate:Lg,partialize:e=>({terminalStateByThreadKey:e.terminalStateByThreadKey})})),v_=Gr(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),y_=class extends mr()(`effect/http/FetchHttpClient/RequestInit`){},b_=Jo(E(Uo((e,t,n,r)=>{let i=r.getRef(v_),a=r.context.mapUnsafe.get(y_.key)??{},o=a.headers?co(io(a.headers),e.headers):e.headers,s=r=>_(xt({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new ma({reason:new _a({request:e,cause:t})})}),t=>No(e,t));switch(e.body._tag){case`Raw`:case`Uint8Array`:return s(e.body.body);case`FormData`:return s(e.body.formData);case`Stream`:return O(mt(e.body.stream),s)}return s(void 0)}))),x_=pt.pipe(v,fe(e=>pa(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429?E(bi(Tn(e.reason.response.headers[`retry-after`]).pipe(Zr(Mt),Tr(()=>5)))):E(bi(1)))),S_=C(function*(e){let t=yield*Zt(),n=en(t,ge),r=en(t,Kr),i=Gn(t),a=Fe(Ce(e.exportInterval),Et),o,s=Bo(en(t,Ro)).pipe(zo(Gt(Ko,!1)),Wo({schedule:x_,times:3})),c=ao({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(c=co(io(e.headers),c));let l=yo(e.url,{headers:c}),u=[],d=Qt(()=>{if(o!==void 0&&n.currentTimeMillisUnsafe()<o)return m;o!==void 0&&(o=void 0);let t=u;if(e.maxBatchSize!==`disabled`){if(u.length===0)return m;u=[]}return s.execute(ko(l,e.body(t))).pipe(Dn,rt(!1))}).pipe(Ln(e=>o===void 0?(o=n.currentTimeMillisUnsafe()+6e4,u=[],Ie(`Disabling exporter for 60 seconds`,e)):m),_n({package:`@effect/opentelemetry`,module:e.label}));return yield*hr(r,d.pipe(Ke,de,x(e.shutdownTimeout))),yield*Rn(a).pipe($r(d),er,p(r)),{push(t){o===void 0&&(u.push(t),e.maxBatchSize!==`disabled`&&u.length>=e.maxBatchSize&&Ue(i(d),r))}}}),C_=e=>{let t=e.attributes?E_(Object.entries(e.attributes)):[];return t.push({key:`service.name`,value:{stringValue:e.serviceName}}),e.serviceVersion&&t.push({key:`service.version`,value:{stringValue:e.serviceVersion}}),{attributes:t,droppedAttributesCount:0}},w_=C(function*(e){let t={...yield*Vl(an(Hl(w,w)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*Vl(w,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*Vl(an(w),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],C_({serviceName:n,serviceVersion:r,attributes:t})},Mr),T_=e=>{let t=e.attributes.find(e=>e.key===`service.name`);if(!t||!t.value.stringValue)throw Error(`Resource does not contain a service name`);return t.value.stringValue},E_=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:D_(r)});return t},D_=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(D_)}};switch(typeof e){case`string`:return{stringValue:e};case`bigint`:return{intValue:Number(e)};case`number`:return Number.isInteger(e)?{intValue:e}:{doubleValue:e};case`boolean`:return{boolValue:e};default:return{stringValue:et(e)}}},O_=class extends mr()(`effect/observability/OtlpSerialization`){},k_=bn(O_,{traces:e=>Ha(e),metrics:e=>Ha(e),logs:e=>Ha(e)}),A_=C(function*(e){let t=yield*w_(e.resource),n=yield*O_,r={name:T_(t)},i=yield*S_({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??bi(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return n.traces(i)},shutdownTimeout:e.shutdownTimeout??bi(3)});function a(e){e.sampled&&i.push(P_(e))}return Be({span(e){return M_({...e,status:{_tag:`Started`,startTime:e.startTime},attributes:new Map,export:a})},context:e.context?function(t,n){return n.currentSpan===void 0?t[`~effect/Effect/evaluate`](n):e.context(t,n.currentSpan)}:void 0})}),j_={_tag:`Span`,end(e,t){this.status={_tag:`Ended`,startTime:this.status.startTime,endTime:e,exit:t},this.export(this)},attribute(e,t){this.attributes.set(e,t)},event(e,t,n){this.events.push([e,t,n])},addLinks(e){this.links.push(...e)}},M_=e=>{let t=Object.assign(Object.create(j_),e);return Yt(t.parent)?t.traceId=t.parent.value.traceId:t.traceId=N_(32),t.spanId=N_(16),t.events=[],t},N_=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},P_=e=>{let t=e.status,n=E_(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?E_(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=L_;else if(oi(t.exit.cause))i={code:F_.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=re(t.exit.cause);if(i={code:F_.Error},e.length>0){i.message=e[0].message;for(let n of e)r.push({name:`exception`,timeUnixNano:String(t.endTime),droppedAttributesCount:0,attributes:[{key:`exception.type`,value:{stringValue:n.name}},{key:`exception.message`,value:{stringValue:n.message}},{key:`exception.stacktrace`,value:{stringValue:n.stack??`No stack trace available`}}]})}}return{traceId:e.traceId,spanId:e.spanId,parentSpanId:mi(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:I_[e.kind],startTimeUnixNano:String(t.startTime),endTimeUnixNano:String(t.endTime),attributes:n,droppedAttributesCount:0,events:r,droppedEventsCount:0,status:i,links:e.links.map(e=>({traceId:e.span.traceId,spanId:e.span.spanId,attributes:E_(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},F_={Unset:0,Ok:1,Error:2},I_={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},L_={code:F_.Ok},R_=typeof window<`u`&&(window.desktopBridge!==void 0||window.nativeApi!==void 0);function z_(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var B_=z_(),V_=B_?.baseName??`Ryco`,H_=B_?.stageLabel??`Alpha`,U_=B_?.displayName??`${V_} (${H_})`,W_=`0.1.4`,G_=1e3,K_={serviceName:`ryco-web`,attributes:{"service.runtime":`ryco-web`,"service.mode":R_?`electron`:`browser`,"service.version":W_}},q_=ct(b_,k_,bn(Go,()=>!0)),J_=null,Y_=null,X_=null,Z_=null,Q_=0,$_=Promise.resolve(),ev=bn(Jn,Be({span(e){return J_?.span(e)??new f(e)}}));function tv(e={}){return e.exportIntervalMs===void 0&&Z_!==null||($_=$_.finally(()=>nv(e))),$_}async function nv(e){let t=ca(`/api/observability/v1/traces`),n=Math.max(10,e.exportIntervalMs??G_),r=`${t}|${n}`;if(Z_===r&&J_!==null)return;Z_=r;let i=++Q_,a=Y_,o=X_;J_=null,Y_=null,X_=null,await rv(a,o);let s=Wl(q_),c=s.runSync(xr());try{let e=await s.runPromise(dn(c)(A_({url:t,exportInterval:`${n} millis`,resource:K_})));if(i!==Q_){await rv(s,c);return}J_=e,Y_=s,X_=c}catch(e){await rv(s,c),i===Q_&&console.warn(`Failed to configure client tracing exporter`,{error:iv(e),otlpTracesUrl:t})}}async function rv(e,t){e===null||t===null||await e.runPromise(Hn(t,hi)).catch(()=>void 0).finally(()=>{e.dispose()})}function iv(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var av=fl(Oi);function ov(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function sv(e){let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)throw Error(`Unsupported websocket transport URL protocol: ${t.protocol}`);return t.pathname=`/ws`,t.toString()}function cv(e){return{connectionLabel:e?.getConnectionLabel?.()??null,versionMismatchHint:e?.getVersionMismatchHint?.()??null}}function lv(e){return{isActive:()=>!0,onAttempt:t=>{Of(t,cv(e))},onOpen:()=>{kf(cv(e))},onError:t=>{hf(),jf(t,cv(e))},onClose:(t,n)=>{hf(),!n.intentional&&Mf(t,cv(e))}}}function uv(e){let t=lv(e),n=e?.isActive??t.isActive;return{isActive:n,onAttempt:r=>{n()&&(t.onAttempt(r),e?.onAttempt?.(r))},onOpen:()=>{n()&&(t.onOpen(),e?.onOpen?.())},onError:r=>{n()&&(t.onError(r),e?.onError?.(r))},onClose:(r,i)=>{n()&&(t.onClose(r,i),e?.onClose?.(r,i))}}}function dv(e,t){let n=uv(t),r=typeof e==`function`?Oe(()=>e()).pipe(_(e=>sv(e)),fi(e=>D(()=>{n.onError(ov(e))})),Mr):sv(e),i=bn(ks,(e,r)=>{n.onAttempt(e);let i=new globalThis.WebSocket(e,r);return i.addEventListener(`open`,()=>{n.onOpen()},{once:!0}),i.addEventListener(`error`,()=>{n.onError(`Unable to connect to the Ryco server WebSocket.`)},{once:!0}),i.addEventListener(`close`,e=>{n.onClose({code:e.code,reason:e.reason},{intentional:t?.isCloseIntentional?.()??!1})},{once:!0}),i}),a=Ms(r).pipe(l(i)),o=Bt(gl,_(_l({retryPolicy:fe(Ot(7),e=>E(dt(If(e)??0))),retryTransientErrors:!0}),e=>({...e,run:(t,n)=>e.run(t,e=>((e._tag===`ClientProtocolError`||e._tag===`Defect`)&&hf(),n(e)))}))),s=bn(bl,bl.of({onRequestStart:e=>D(()=>{n.isActive()&&(t?.onRequestStart?.({id:String(e.id),tag:e.tag,stream:e.stream}),pf(String(e.id),e.tag))}),onRequestChunk:e=>D(()=>{n.isActive()&&(t?.onRequestChunk?.({id:String(e.id),tag:e.tag,chunkCount:e.chunkCount}),mf(String(e.id)))}),onRequestExit:e=>D(()=>{n.isActive()&&(t?.onRequestExit?.({id:String(e.id),tag:e.tag,stream:e.stream}),mf(String(e.id)))}),onRequestInterrupt:e=>D(()=>{n.isActive()&&(t?.onRequestInterrupt?.({id:String(e.id),...e.tag===void 0?{}:{tag:e.tag}}),mf(String(e.id)))})})),c=bn(xl,xl.of({onConnect:m,onDisconnect:m,onPing:D(()=>{n.isActive()&&t?.onHeartbeatPing?.()}),onPong:D(()=>{n.isActive()&&t?.onHeartbeatPong?.()}),onPingTimeout:D(()=>{n.isActive()&&(hf(),jf(`WebSocket heartbeat timed out.`,cv(t)),t?.onHeartbeatTimeout?.())})}));return ct(o.pipe(l(ct(a,sl,c))),s,c)}var fv=dt(250),pv=()=>void 0,mv=/^Thread\s.+\swas not found$/u;function hv(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function gv(e){return fm(e)||mv.test(e.trim())}function _v(e){return e.includes(`SchemaError(Expected array`)&&e.includes(`"_tag":"Done"`)&&e.includes(`~effect/Cause/Done`)}var vv=class{url;lifecycleHandlers;disposed=!1;hasReportedTransportDisconnect=!1;intentionalCloseDepth=0;reconnectChain=Promise.resolve();nextSessionId=0;activeSessionId=0;session;lastHeartbeatPongAt=0;streamRequestStartListeners=new Set;constructor(e,t){this.url=e,this.lifecycleHandlers=t,this.session=this.createSession()}async request(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,r=await n.clientPromise;return await n.runtime.runPromise(Qt(()=>e(r)))}async requestStream(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,r=await n.clientPromise;await n.runtime.runPromise(on(e(r),e=>D(()=>{try{t(e)}catch{}})))}subscribe(e,t,n){if(this.disposed)return()=>void 0;let r=!0,i=!1,a=g(Ce(n?.retryDelay??fv)),o=pv;return(async()=>{for(;;){if(!r||this.disposed)return;let s=this.session;try{let a=this.runStreamOnSession(s,e,t,{...n?.tag===void 0?{}:{tag:n.tag},...i?{onStarted:()=>{try{n?.onResubscribe?.()}catch{}}}:{}},()=>r,()=>{this.hasReportedTransportDisconnect=!1,i=!0});o=a.cancel,await a.completed,o=pv}catch(e){if(o=pv,!r||this.disposed)return;if(s!==this.session)continue;let t=hv(e);if(_v(t))return;if(!gv(t)){console.warn(`WebSocket RPC subscription failed`,{error:t});return}this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:t}),this.hasReportedTransportDisconnect=!0,await yv(a)}}})(),()=>{r=!1,o()}}async reconnect(){if(this.disposed)throw Error(`Transport disposed`);let e=this.reconnectChain.then(async()=>{if(this.disposed)throw Error(`Transport disposed`);hf(),this.lastHeartbeatPongAt=0;let e=this.session;this.session=this.createSession(),await this.closeSession(e)});this.reconnectChain=e.catch(()=>void 0),await e}isHeartbeatFresh(e=15e3){return this.lastHeartbeatPongAt>0&&Date.now()-this.lastHeartbeatPongAt<=e}async dispose(){this.disposed||(this.disposed=!0,await this.closeSession(this.session))}closeSession(e){return this.intentionalCloseDepth+=1,e.runtime.runPromise(Hn(e.clientScope,hi)).finally(()=>{--this.intentionalCloseDepth,e.runtime.dispose()})}createSession(){let e=this.nextSessionId+1;this.nextSessionId=e,this.activeSessionId=e;let t=Wl(ct(dv(this.url,{...this.lifecycleHandlers,isActive:()=>!this.disposed&&this.activeSessionId===e,isCloseIntentional:()=>this.disposed||this.intentionalCloseDepth>0||this.lifecycleHandlers?.isCloseIntentional?.()===!0,onHeartbeatPong:()=>{this.lastHeartbeatPongAt=Date.now(),this.lifecycleHandlers?.onHeartbeatPong?.()},onRequestStart:e=>{if(this.lifecycleHandlers?.onRequestStart?.(e),e.stream)for(let t of this.streamRequestStartListeners)t(e)}}),ev)),n=t.runSync(xr());return{runtime:t,clientScope:n,clientPromise:t.runPromise(dn(n)(av))}}runStreamOnSession(e,t,n,r,i,a){let o,s,c=new Promise((e,t)=>{o=e,s=t}),l=null;return r.onStarted&&(l=e=>{!i()||!e.stream||r.tag!==void 0&&e.tag!==r.tag||(r.onStarted?.(),l&&=(this.streamRequestStartListeners.delete(l),null))},this.streamRequestStartListeners.add(l)),{cancel:e.runtime.runCallback(Oe(()=>e.clientPromise).pipe(O(e=>on(t(e),e=>D(()=>{if(i()){a(),r.tag&&Gm(`web.ws.stream.${r.tag}`,e);try{n(e)}catch{}}})))),{onExit:e=>{if(l&&=(this.streamRequestStartListeners.delete(l),null),ni(e)){o();return}s(Xe(e.cause))}}),completed:c}}};function yv(e){return new Promise(t=>{setTimeout(t,e)})}var bv={shortLabel:`PR`,singular:`pull request`},xv={icon:`github`,providerName:`GitHub`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`GitHub pull request`,checkoutCommandExample:`gh pr checkout 123`,urlExample:`https://github.com/owner/repo/pull/42`},Sv={icon:`gitlab`,providerName:`GitLab`,shortName:`MR`,longName:`merge request`,pluralLongName:`merge requests`,providerLongName:`GitLab merge request`,checkoutCommandExample:`glab mr checkout 123`,urlExample:`https://gitlab.com/group/project/-/merge_requests/42`},Cv={icon:`forgejo`,providerName:`Forgejo`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Forgejo pull request`,urlExample:`https://codeberg.org/owner/repo/pulls/42`},wv={icon:`azure-devops`,providerName:`Azure DevOps`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Azure DevOps pull request`,checkoutCommandExample:`az repos pr checkout --id 123`,urlExample:`https://dev.azure.com/org/project/_git/repo/pullrequest/42`},Tv={icon:`bitbucket`,providerName:`Bitbucket`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Bitbucket pull request`,urlExample:`https://bitbucket.org/workspace/repo/pull-requests/42`},Ev={icon:`change-request`,providerName:`source control`,shortName:`change request`,longName:`change request`,pluralLongName:`change requests`,providerLongName:`change request`,urlExample:`#42`};function Dv(e){switch(e?.kind){case`github`:case void 0:return xv;case`gitlab`:return Sv;case`forgejo`:return Cv;case`azure-devops`:return wv;case`bitbucket`:return Tv;case`unknown`:return Ev}}function Ov(e){if(!e)return bv;let t=Dv(e);return{shortLabel:t.shortName,singular:t.longName}}function kv(e){let t=e?.trim()??``;return t.length>0?t.toLowerCase():null}function Av(e){let t=e?.trim()??``;return t.length>0?t.toUpperCase():null}function jv(e){return e===`OWNER`}function Mv(e){return e===`MEMBER`||e===`COLLABORATOR`}function Nv(e){let t=kv(e.commentAuthor),n=kv(e.itemAuthor),r=kv(e.repositoryOwner),i=Av(e.authorAssociation),a=t!==null&&n!==null&&t===n,o=jv(i)||t!==null&&r!==null&&t===r,s=Mv(i);return{primary:a?`author`:o?`owner`:s?`maintainer`:`participant`,isOriginalAuthor:a,isRepositoryOwner:o,isRepositoryMaintainer:s}}function Pv(e){let t=e?.trim()??``;if(t.length===0)return null;try{let e=new URL(t).pathname.split(`/`).filter(e=>e.length>0),n=e[0]?.trim()??``,r=e[1]?.trim()??``;return n.length>0&&r.length>0?n:null}catch{return null}}var Fv=`ryco`,Iv=RegExp(`^(?:${Fv}|ryco)\\/[0-9a-f]{8}$`);function Lv(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?e:e.slice(t+1)}function Rv(){return`${Fv}/${sr(Ii).replace(/-/g,``).slice(0,8).toLowerCase()}`}function zv(e){return Iv.test(e.trim().toLowerCase())}var Bv={hasUpstream:!1,aheadCount:0,behindCount:0,aheadOfDefaultCount:0,pr:null};function Vv(e,t){return{...e,...t??Bv}}function Hv(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,...e.aheadOfDefaultCount===void 0?{}:{aheadOfDefaultCount:e.aheadOfDefaultCount},pr:e.pr}}function Uv(e){return{isRepo:e.isRepo,...e.sourceControlProvider?{sourceControlProvider:e.sourceControlProvider}:{},hasPrimaryRemote:e.hasPrimaryRemote,isDefaultRef:e.isDefaultRef,refName:e.refName,hasWorkingTreeChanges:e.hasWorkingTreeChanges,workingTree:e.workingTree}}function Wv(e,t){switch(t._tag){case`snapshot`:return Vv(t.local,t.remote);case`localUpdated`:return Vv(t.local,e?Hv(e):null);case`remoteUpdated`:return Vv(e===null?{isRepo:!0,hasPrimaryRemote:!1,isDefaultRef:!1,refName:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:Uv(e),t.remote)}}function Gv(e){return{dispose:()=>e.dispose(),reconnect:async()=>{Pf(),await e.reconnect()},isHeartbeatFresh:()=>e.isHeartbeatFresh(),terminal:{open:t=>e.request(e=>e[A.terminalOpen](t)),write:t=>e.request(e=>e[A.terminalWrite](t)),resize:t=>e.request(e=>e[A.terminalResize](t)),clear:t=>e.request(e=>e[A.terminalClear](t)),restart:t=>e.request(e=>e[A.terminalRestart](t)),close:t=>e.request(e=>e[A.terminalClose](t)),onEvent:(t,n)=>e.subscribe(e=>e[A.subscribeTerminalEvents]({}),t,{...n,tag:A.subscribeTerminalEvents})},projects:{listEntries:t=>e.request(e=>e[A.projectsListEntries](t)),readFile:t=>e.request(e=>e[A.projectsReadFile](t)),searchEntries:t=>e.request(e=>e[A.projectsSearchEntries](t)),writeFile:t=>e.request(e=>e[A.projectsWriteFile](t)),stageFileReference:t=>e.request(e=>e[A.projectsStageFileReference](t)),initializeGit:t=>e.request(e=>e[A.projectsInitializeGit](t))},filesystem:{browse:t=>e.request(e=>e[A.filesystemBrowse](t))},sourceControl:{lookupRepository:t=>e.request(e=>e[A.sourceControlLookupRepository](t)),cloneRepository:t=>e.request(e=>e[A.sourceControlCloneRepository](t)),publishRepository:t=>e.request(e=>e[A.sourceControlPublishRepository](t)),listIssues:t=>e.request(e=>e[A.sourceControlListIssues](t)),getIssue:t=>e.request(e=>e[A.sourceControlGetIssue](t)),searchIssues:t=>e.request(e=>e[A.sourceControlSearchIssues](t)),listChangeRequests:t=>e.request(e=>e[A.sourceControlListChangeRequests](t)),searchChangeRequests:t=>e.request(e=>e[A.sourceControlSearchChangeRequests](t)),getChangeRequestDetail:t=>e.request(e=>e[A.sourceControlGetChangeRequestDetail](t)),getChangeRequestDiff:t=>e.request(e=>e[A.sourceControlGetChangeRequestDiff](t)),createIssue:t=>e.request(e=>e[A.sourceControlCreateIssue](t)),addIssueComment:t=>e.request(e=>e[A.sourceControlAddIssueComment](t)),addIssueCommentReaction:t=>e.request(e=>e[A.sourceControlAddIssueCommentReaction](t)),addChangeRequestComment:t=>e.request(e=>e[A.sourceControlAddChangeRequestComment](t)),addChangeRequestCommentReaction:t=>e.request(e=>e[A.sourceControlAddChangeRequestCommentReaction](t)),listIssueLabels:t=>e.request(e=>e[A.sourceControlListIssueLabels](t)),listIssueAssignees:t=>e.request(e=>e[A.sourceControlListIssueAssignees](t)),listWorkflowRuns:t=>e.request(e=>e[A.sourceControlListWorkflowRuns](t)),getWorkflowRunJobs:t=>e.request(e=>e[A.sourceControlGetWorkflowRunJobs](t)),getWorkflowJobLog:t=>e.request(e=>e[A.sourceControlGetWorkflowJobLog](t)),rerunWorkflow:t=>e.request(e=>e[A.sourceControlRerunWorkflow](t))},textGeneration:{generateIssueContent:t=>e.request(e=>e[A.textGenerationGenerateIssueContent](t)),generateBranchName:t=>e.request(e=>e[A.textGenerationGenerateBranchName](t))},atlassian:{listConnections:()=>e.request(e=>e[A.atlassianListConnections]({})),startOAuth:t=>e.request(e=>e[A.atlassianStartOAuth](t)),disconnect:t=>e.request(e=>e[A.atlassianDisconnect](t)),refresh:t=>e.request(e=>e[A.atlassianRefresh](t)),listResources:t=>e.request(e=>e[A.atlassianListResources](t)),getProjectLink:t=>e.request(e=>e[A.atlassianGetProjectLink](t)),saveProjectLink:t=>e.request(e=>e[A.atlassianSaveProjectLink](t)),saveManualBitbucketToken:t=>e.request(e=>e[A.atlassianSaveManualBitbucketToken](t)),saveManualJiraToken:t=>e.request(e=>e[A.atlassianSaveManualJiraToken](t))},workItems:{list:t=>e.request(e=>e[A.workItemsList](t)),search:t=>e.request(e=>e[A.workItemsSearch](t)),get:t=>e.request(e=>e[A.workItemsGet](t)),addComment:t=>e.request(e=>e[A.workItemsAddComment](t)),listTransitions:t=>e.request(e=>e[A.workItemsListTransitions](t)),transition:t=>e.request(e=>e[A.workItemsTransition](t))},shell:{openInEditor:t=>e.request(e=>e[A.shellOpenInEditor](t))},vcs:{pull:t=>e.request(e=>e[A.vcsPull](t)),refreshStatus:t=>e.request(e=>e[A.vcsRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[A.subscribeVcsStatus](t),e=>{i=Wv(i,e),n(i)},{...r,tag:A.subscribeVcsStatus})},listRefs:t=>e.request(e=>e[A.vcsListRefs](t)),createWorktree:t=>e.request(e=>e[A.vcsCreateWorktree](t)),removeWorktree:t=>e.request(e=>e[A.vcsRemoveWorktree](t)),createRef:t=>e.request(e=>e[A.vcsCreateRef](t)),switchRef:t=>e.request(e=>e[A.vcsSwitchRef](t)),init:t=>e.request(e=>e[A.vcsInit](t))},git:{runStackedAction:async(t,n)=>{let r=null;if(await e.requestStream(e=>e[A.gitRunStackedAction](t),e=>{n?.onProgress?.(e),e.kind===`action_finished`&&(r=e.result)}),r)return r;throw Error(`Git action stream completed without a final result.`)},resolvePullRequest:t=>e.request(e=>e[A.gitResolvePullRequest](t)),preparePullRequestThread:t=>e.request(e=>e[A.gitPreparePullRequestThread](t)),createWorktreeForProject:t=>e.request(e=>e[A.gitCreateWorktreeForProject](t)),findWorktreeForOrigin:t=>e.request(e=>e[A.gitFindWorktreeForOrigin](t)),archiveWorktree:t=>e.request(e=>e[A.gitArchiveWorktree](t)),restoreWorktree:t=>e.request(e=>e[A.gitRestoreWorktree](t)),deleteWorktree:t=>e.request(e=>e[A.gitDeleteWorktree](t))},worktrees:{setManualPosition:t=>e.request(e=>e[A.worktreesSetManualPosition](t))},threads:{setManualBucket:t=>e.request(e=>e[A.threadsSetManualBucket](t)),setManualPosition:t=>e.request(e=>e[A.threadsSetManualPosition](t))},server:{getConfig:()=>e.request(e=>e[A.serverGetConfig]({})),refreshProviders:t=>e.request(e=>e[A.serverRefreshProviders](t??{})),updateProvider:t=>e.request(e=>e[A.serverUpdateProvider](t)),upsertKeybinding:t=>e.request(e=>e[A.serverUpsertKeybinding](t)),getSettings:()=>e.request(e=>e[A.serverGetSettings]({})),updateSettings:t=>e.request(e=>e[A.serverUpdateSettings]({patch:t})),discoverSourceControl:()=>e.request(e=>e[A.serverDiscoverSourceControl]({})),listOpinionatedPlugins:()=>e.request(e=>e[A.serverListOpinionatedPlugins]({})),checkOpinionatedPlugins:t=>e.request(e=>e[A.serverCheckOpinionatedPlugins](t??{})),installOpinionatedPlugin:t=>e.request(e=>e[A.serverInstallOpinionatedPlugin](t)),subscribeConfig:(t,n)=>e.subscribe(e=>e[A.subscribeServerConfig]({}),t,{...n,tag:A.subscribeServerConfig}),subscribeLifecycle:(t,n)=>e.subscribe(e=>e[A.subscribeServerLifecycle]({}),t,{...n,tag:A.subscribeServerLifecycle}),subscribeAuthAccess:(t,n)=>e.subscribe(e=>e[A.subscribeAuthAccess]({}),t,{...n,tag:A.subscribeAuthAccess})},keybindings:{replaceCustom:t=>e.request(e=>e[A.keybindingsReplaceCustom](t))},mcp:{listWorkspaces:()=>e.request(e=>e[A.mcpListWorkspaces]({})),listServers:t=>e.request(e=>e[A.mcpListServers](t)),upsertServer:t=>e.request(e=>e[A.mcpUpsertServer](t)),setServerEnabled:t=>e.request(e=>e[A.mcpSetServerEnabled](t)),removeServer:t=>e.request(e=>e[A.mcpRemoveServer](t)),reloadServers:t=>e.request(e=>e[A.mcpReloadServers](t)),startOauthLogin:t=>e.request(e=>e[A.mcpStartOauthLogin](t))},orchestration:{dispatchCommand:t=>e.request(e=>e[$i.dispatchCommand](t)),getTurnDiff:t=>e.request(e=>e[$i.getTurnDiff](t)),getFullThreadDiff:t=>e.request(e=>e[$i.getFullThreadDiff](t)),subscribeShell:(t,n)=>e.subscribe(e=>e[$i.subscribeShell]({}),t,{...n,tag:$i.subscribeShell}),subscribeThread:(t,n,r)=>e.subscribe(e=>e[$i.subscribeThread](t),n,{...r,tag:$i.subscribeThread})}}}var Kv=`ryco:version-mismatch-dismissals:v1`,qv=a({keys:$e(w)});function Jv(e){let t=e?.trim();return t&&t.length>0?t:null}function Yv(e){let t=Jv(W_),n=Jv(e);return!t||!n||t===n?null:{clientVersion:t,serverVersion:n,hint:`Version mismatch. Try syncing the client and server to the same Ryco version.`}}function Xv(e){return Yv(e?.environment.serverVersion)}function Zv(e,t){return`${e}:${t.clientVersion}:${t.serverVersion}`}function Qv(){try{return qi(`ryco:version-mismatch-dismissals:v1`,qv)??{keys:[]}}catch{return{keys:[]}}}function $v(e){try{Ui(Kv,e,qv)}catch{}}function ey(e){return e?Qv().keys.includes(e):!1}function ty(e){if(!e)return;let t=Qv();t.keys.includes(e)||$v({keys:[...t.keys,e]})}function ny(e,t){let n=Jv(e);return n?t?`${n} Hint: ${t.hint}`:n:t?.hint??null}function ry(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function iy(e){return e.startsWith(`\\\\`)}function ay(e){return iy(e)||ry(e)}function oy(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function sy(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function cy(e){return ry(e)||iy(e)?`windows`:e.startsWith(`/`)?`unix`:null}function ly(e){if(e.length===0||sy(e))return e;let t=cy(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function uy(e){let t=cy(e);return t===`windows`?`\\`:t===`unix`?`/`:e.includes(`\\`)?`\\`:`/`}function dy(e){return(cy(e)===`unix`?/\/$/:/[\\/]$/).test(e)}function fy(e,t){return e.split(t===`/`?/\/+/:/[\\/]+/).filter(Boolean)}function py(e){return cy(e)===`unix`?e.lastIndexOf(`/`):Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`))}function my(e){if(ry(e)){let t=`${e.slice(0,2)}\\`;return{root:t,separator:`\\`,segments:fy(e.slice(t.length),`\\`)}}if(iy(e)){let[t,n,...r]=fy(e,`\\`);return!t||!n?null:{root:`\\\\${t}\\${n}\\`,separator:`\\`,segments:r}}return e.startsWith(`/`)?{root:`/`,separator:`/`,segments:fy(e.slice(1),`/`)}:null}function hy(e,t=typeof navigator>`u`?``:navigator.platform){let n=Ei(t);return e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)||e.startsWith(`/`)||e.startsWith(`~/`)||n&&ay(e)}function gy(e,t){return ay(e)&&!Ei(t)}function _y(e){return ly(e.trim())}function vy(e,t){let n=e.trim();if(!oy(n)||!t)return _y(n);let r=my(_y(t));if(!r)return _y(n);let i=[...r.segments];for(let e of n.split(/[\\/]+/))if(!(e.length===0||e===`.`)){if(e===`..`){i.pop();continue}i.push(e)}let a=i.join(r.separator);return a.length===0?_y(r.root):_y(`${r.root}${a}`)}function yy(e){let t=_y(e);return ry(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function by(e,t){let n=yy(t);if(n.length!==0)return e.find(e=>yy(e.cwd)===n)}function xy(e){let t=_y(e),n=my(t);return n?n.segments.findLast(Boolean)??t:t.split(/[/\\]/).findLast(Boolean)??t}function Sy(e,t){let n=uy(e);return`${wy(e)}${t}${n}`}function Cy(e){let t=py(e);return e.slice(t+1)}function wy(e){if(dy(e))return e;let t=py(e);return t<0?e:e.slice(0,t+1)}function Ty(e){let t=e.trim();return t.length===0||dy(t)?t:`${t}${uy(t)}`}function Ey(e){let t=ly(e),n=my(t);if(n){if(n.segments.length===0)return null;if(n.segments.length===1)return n.root;let e=n.segments.slice(0,-1).join(n.separator);return`${n.root}${e}${n.separator}`}let r=uy(e),i=py(t);return i<0?null:i===2&&/^[a-zA-Z]:/.test(t)?`${t.slice(0,2)}${r}`:t.slice(0,i+1)}function Dy(e){return dy(e)&&Ey(e)!==null}function Oy(e){let t=new Set,n=[];for(let r of e){let e=r?.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function ky(e){let t=e.repositoryIdentity?.rootPath?.trim();if(!t)return null;let n=yy(e.cwd),r=yy(t);if(n.length===0||r.length===0)return null;if(n===r)return``;let i=`${r}${r.includes(`\\`)?`\\`:`/`}`;return n.startsWith(i)?n.slice(i.length).replaceAll(`\\`,`/`):null}function Ay(e,t){return`${e}:${yy(t)}`}function jy(e){return Ay(e.environmentId,e.cwd)}function My(e){return jy(e)}function Ny(e){return jy(e)}function Py(e,t){return t.sidebarProjectGroupingOverrides?.[My(e)]??t.sidebarProjectGroupingMode}function Fy(e,t){let n=e.repositoryIdentity?.canonicalKey;if(!n)return null;if(t===`repository`)return n;let r=ky(e);return r===null||r.length===0?n:`${n}::${r}`}function Iy(e,t){let n=t?.groupingMode??`repository`;return n===`separate`?jy(e):Fy(e,n)??jy(e)??Wn(_r(e.environmentId,e.id))}function Ly(e,t){return Iy(e,{groupingMode:Py(e,t)})}function Ry(e){let t=Oy(e.members.map(e=>e.repositoryIdentity?.displayName));if(t.length===1)return t[0];let n=Oy(e.members.map(e=>e.repositoryIdentity?.name));return n.length===1?n[0]:e.representative.name}var zy=`ryco:startup:`;function By(){return typeof performance<`u`&&typeof performance.mark==`function`}function Vy(e){return`${zy}${e}`}function Hy(e){if(By())try{performance.mark(Vy(e))}catch{}}function Uy(e,t,n){if(!(!By()||typeof performance.measure!=`function`))try{performance.measure(`${zy}${e}`,{start:Vy(t),end:Vy(n)})}catch{}}function Wy(e,t=new Set){return[...e].toSorted((e,n)=>{let r=t.has(e.environmentId);if(r!==t.has(n.environmentId))return r?-1:1;let i=e.lastConnectedAt??``,a=n.lastConnectedAt??``;return i===a?String(e.environmentId).localeCompare(String(n.environmentId)):a.localeCompare(i)})}async function Gy(e,t){let n=Math.max(1,Math.floor(t.concurrency)),r=[...e],i=Array.from({length:Math.min(n,r.length)},async()=>{for(;;){let e=r.shift();if(!e)return;await t.connect(e)}});await Promise.all(i)}var Ky=new Map,qy=class extends Error{constructor(e){super(`Saved environment ${e} connection was cancelled.`),this.name=`SavedEnvironmentConnectionCancelledError`}};function Jy(e){return e instanceof qy}var Yy=new Map,Xy=new Set,Q=new Map,Zy=new Map,$=null,Qy=!1,$y=null,eb=-1/0,tb=300*1e3,nb=32,rb=2e3,ib=150,ab=2500,ob=2,sb=()=>void 0,cb=/^\[ssh_http:(\d+)\]\s/u,lb=!1,ub=null,db=new Promise(e=>{ub=e});function fb(){let e=null;return{promise:new Promise(t=>{e=t}),resolve:t=>{e?.(t),e=null}}}function pb(){lb||(lb=!0,ub?.(),ub=null)}async function mb(e){lb||!la()?.environmentId||await Promise.race([db,new Promise(t=>{globalThis.setTimeout(t,e)})])}async function hb(e,t){return await new Promise(n=>{let r=globalThis.setTimeout(()=>n(null),t);e.then(e=>{clearTimeout(r),n(e)},()=>{clearTimeout(r),n(null)})})}function gb(){let e=null,t=!1,n=async()=>{do t=!1,await Ex(yp());while(t)};return()=>e?(t=!0,e):(e=n().catch(()=>void 0).finally(()=>{e=null}),e)}function _b(e,t){if(e.sequence!==t.sequence)return e.sequence-t.sequence;let n=e.updatedAt??``,r=t.updatedAt??``;return n===r?0:n<r?-1:1}function vb(e){return{sequence:e.snapshotSequence,updatedAt:e.updatedAt}}function yb(e){return e.current===null?!0:_b(e.current,vb(e.next))<0}function bb(e){return e.current===null?!0:e.sequence>e.current.sequence}function xb(e){return Zy.get(e)??null}function Sb(e,t){let n=vb(t),r=xb(e);r!==null&&_b(r,n)>=0||Zy.set(e,n)}function Cb(e,t){let n=xb(e);n!==null&&t<=n.sequence||Zy.set(e,{sequence:t,updatedAt:n?.updatedAt??null})}function wb(e,t){return nn(Rr(e,t))}function Tb(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function Eb(e){let t=Rr(e.environmentId,e.threadId),n=Z.getState(),r=Tg(n,t);if(r){if(r.hasPendingApprovals||r.hasPendingUserInput||r.hasActionableProposedPlan)return!0;let e=r.session?.orchestrationStatus;if(e&&e!==`idle`&&e!==`stopped`||r.latestTurn?.state===`running`)return!0}let i=Cg(n,t);if(!i)return!1;let a=i.session?.orchestrationStatus;return!!(a&&a!==`idle`&&a!==`stopped`)||i.latestTurn?.state===`running`||i.pendingSourceProposedPlan!==void 0}function Db(e){return e.refCount===0&&!Eb(e)}function Ob(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==sb)return!0;let t=jx(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{if(t.kind===`snapshot`){Z.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId);return}hx(t.event,e.environmentId)}),!0):!1}function kb(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=Ax(()=>{Ob(e)&&(e.lastAccessedAt=Date.now())}),Ob(e))}function Ab(e){let t=Q.get(e);return t?(Tb(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,Q.delete(e),t.unsubscribe(),t.unsubscribe=sb,!0):!1}function jb(e){for(let[t,n]of Q)n.environmentId===e&&Ab(t)}function Mb(e){for(let t of Q.values())t.environmentId===e&&(t.unsubscribe(),t.unsubscribe=sb,kb(t))}function Nb(e){for(let t of Q.values())t.environmentId===e&&Ob(t)}function Pb(e,t){let n=new Set(t);for(let[t,r]of Q)r.environmentId===e&&!n.has(r.threadId)&&Ab(t)}function Fb(e){Tb(e),Db(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=Q.get(wb(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,Db(t)&&Ab(wb(e.environmentId,e.threadId)))},tb))}function Ib(){if(Q.size<=nb)return;let e=[...Q.entries()].filter(([,e])=>Db(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(Q.size<=nb)return;Ab(t)}}function Lb(e){Tb(e),Db(e)&&Fb(e)}function Rb(e,t){let n=Q.get(wb(e,t));n&&Lb(n)}function zb(e){for(let t of Q.values())t.environmentId===e&&Lb(t);Ib()}function Bb(e,t){let n=wb(e,t),r=Q.get(n);if(r){Tb(r),r.refCount+=1,r.lastAccessedAt=Date.now(),Ob(r)||kb(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(Lb(r),Ib()))}}let i={environmentId:e,threadId:t,unsubscribe:sb,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null};Q.set(n,i),Ob(i)||kb(i),Ib();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(Lb(i),Ib()))}}function Vb(){for(let e of Xy)e()}function Hb(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function Ub(){return new Date().toISOString()}function Wb(e){if(!(e instanceof Error))return null;let t=cb.exec(e.message);if(!t)return null;let n=Number.parseInt(t[1]??``,10);return Number.isInteger(n)?n:null}function Gb(e,t){return Wb(e)===t}function Kb(e,t){return!e||!t?!1:e.alias===t.alias&&e.hostname===t.hostname&&e.username===t.username&&e.port===t.port}function qb(e){return e?yp().find(t=>Kb(t.desktopSsh,e))??null:null}function Jb(e){return Object.fromEntries(e.map(e=>[e.environmentId,e]))}function Yb(e){return new Map(e.map(e=>[e,bp(e)??null]))}async function Xb(e){let t=Jb(yp());for(let[n,r]of e){if(r){t[n]=r;continue}delete t[n]}let n=Object.values(t);await lp().persistence.setSavedEnvironmentRegistry(n.map(e=>fp(e))),J.setState({byId:t})}async function Zb(e,t){let n=window.desktopBridge;if(!n)throw Error(`SSH launch is only available in the desktop app.`);return await n.ensureSshEnvironment(e,t)}function Qb(){let e=window.desktopBridge;if(!e)throw Error(`SSH launch is only available in the desktop app.`);return e}async function $b(e){return await Qb().fetchSshEnvironmentDescriptor(e)}async function ex(e,t){return await Qb().bootstrapSshBearerSession(e,t)}async function tx(e,t){return await Qb().fetchSshSessionState(e,t)}async function nx(e,t,n){let r=await Qb().issueSshWebSocketToken(t,n),i=new URL(e,window.location.origin);return i.searchParams.set(`wsToken`,r.token),i.toString()}async function rx(e,t){if(!e.desktopSsh)return{record:e,pairingToken:null,remotePort:null,remoteServerKind:null};let n=await Zb(e.desktopSsh,t),r={...e,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,desktopSsh:n.target};return(r.httpBaseUrl!==e.httpBaseUrl||r.wsBaseUrl!==e.wsBaseUrl||!Kb(r.desktopSsh,e.desktopSsh))&&(await wp(r),J.getState().upsert(r)),{record:r,pairingToken:n.pairingToken,remotePort:n.remotePort??null,remoteServerKind:n.remoteServerKind??null}}async function ix(e){let t=Yb([e.environmentId]),n=await rx(e,{issuePairingToken:!0});if(!n.pairingToken)throw await Xb(t),Error(`Desktop SSH launch did not return a pairing token.`);let r=await ex(n.record.httpBaseUrl,n.pairingToken).catch(async e=>{await Xb(t);let r=[`local ${n.record.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),i=e instanceof Error?e.message:String(e);throw Error(`${i} (${r})`)});if(!await Ep(n.record.environmentId,r.sessionToken))throw await Xb(t),Error(`Unable to persist saved environment credentials.`);return{record:n.record,bearerToken:r.sessionToken,role:r.role??null}}function ax(e){Y.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function ox(e){let t=Ub();Y.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),J.getState().markConnected(e,t)}function sx(e,t){Y.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:Ub(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:Ub()}:{}})}function cx(e,t){Y.getState().patch(e,{connectionState:`error`,...Hb(t)})}function lx(e){if(e.length<2)return[...e];let t=[];for(let n of e){let e=t.at(-1);if(e?.type===`thread.message-sent`&&n.type===`thread.message-sent`&&e.payload.threadId===n.payload.threadId&&e.payload.messageId===n.payload.messageId){t[t.length-1]={...n,payload:{...n.payload,attachments:n.payload.attachments??e.payload.attachments,createdAt:e.payload.createdAt,text:!n.payload.streaming&&n.payload.text.length>0?n.payload.text:e.payload.text+n.payload.text}};continue}t.push(n)}return t}function ux(){let e=pg(Z.getState()),t=Sd();ji.getState().syncProjects(e.map(e=>({key:jy(e),logicalKey:Ly(e,t),cwd:e.cwd})))}function dx(){let e=mg(Z.getState());ji.getState().syncThreads(e.map(e=>({key:nn(Rr(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),Wi(e.map(e=>Rr(e.environmentId,e.id)))}function fx(){ux(),dx();let e=Np({snapshotThreads:mg(Z.getState()).map(e=>({key:nn(Rr(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:Fi.getState().listDraftThreadKeys()});__.getState().removeOrphanedTerminalStates(e)}function px(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function mx(e,t){if(e.length===0)return;let n=Pp(e),r=lx(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);if(n.needsProviderInvalidation&&(Qy=!0,$?.queryInvalidationThrottler.maybeExecute()),Z.getState().applyOrchestrationEvents(r,t),i){let e=pg(Z.getState()),t=Sd();ji.getState().syncProjects(e.map(e=>({key:jy(e),logicalKey:Ly(e,t),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=mg(Z.getState());ji.getState().syncThreads(e.map(e=>({key:nn(Rr(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=Fi.getState();for(let e of n.promoteDraftThreadIds)Zi(Rr(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Rr(t,e)),ji.getState().clearThreadUi(nn(Rr(t,e)));for(let n of e)n.type===`project.deleted`&&a.clearProjectDraftThreadId(_r(t,n.payload.projectId));for(let e of n.removeTerminalStateThreadIds)__.getState().removeTerminalState(Rr(t,e));zb(t)}function hx(e,t){mx([e],t)}function gx(e,t){if(!bb({current:xb(t),sequence:e.sequence}))return;let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?Rr(t,n):null,i=r?Cg(Z.getState(),r):void 0;switch(Z.getState().applyShellEvent(e,t),Cb(t,e.sequence),e.kind){case`project-upserted`:case`project-removed`:ux();return;case`worktree-upserted`:case`worktree-removed`:return;case`thread-upserted`:dx(),!i&&r&&Zi(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&__.getState().removeTerminalState(r),Rb(t,e.thread.id),Ib();return;case`thread-removed`:r&&(Ab(nn(r)),Fi.getState().clearDraftThread(r),ji.getState().clearThreadUi(nn(r)),__.getState().removeTerminalState(r)),dx();return}}function _x(){return{applyShellEvent:gx,syncShellSnapshot:(e,t)=>{let n=la()?.environmentId;t===n&&Hy(`primary-shell-snapshot-received`),yb({current:xb(t),next:e})&&(Z.getState().syncServerShellSnapshot(e,t),t===n&&(Hy(`primary-shell-snapshot-applied`),Uy(`primary-shell-snapshot`,`primary-shell-snapshot-received`,`primary-shell-snapshot-applied`),Hy(`primary-shell-usable`),Uy(`primary-shell-ready`,`root-before-load-ready`,`primary-shell-usable`),pb()),Sb(t,e),Pb(t,e.threads.map(e=>e.id)),zb(t),fx())},applyTerminalEvent:(e,t)=>{let n=Rr(t,na.make(e.threadId)),r=Cg(Z.getState(),n),i=Fi.getState().getDraftThreadByRef(n)!==null;px({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&__.getState().applyTerminalEvent(n,e)}}}function vx(e){let t=or(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);let n=e?.label??null;return Gv(new vv(async()=>{let e=await sa(),n=new URL(t,window.location.origin);return n.searchParams.set(`wsToken`,e.token),n.toString()},{getConnectionLabel:()=>n,getVersionMismatchHint:()=>Xv(Nu())?.hint??null,onOpen:()=>{Hy(`primary-ws-open`)}}))}function yx(e,t){return Y.getState().ensure(e),Gv(new vv(async()=>{let n=bp(e);if(!n)throw Error(`Saved environment ${e} not found.`);return n.desktopSsh?await nx(n.wsBaseUrl,n.httpBaseUrl,t):await tm({wsBaseUrl:n.wsBaseUrl,httpBaseUrl:n.httpBaseUrl,bearerToken:t})},{getConnectionLabel:()=>bp(e)?.label??null,getVersionMismatchHint:()=>Xv(Y.getState().byId[e]?.serverConfig)?.hint??null,onAttempt:()=>{ax(e)},onOpen:()=>{ox(e)},onError:t=>{let n=Xv(Y.getState().byId[e]?.serverConfig);Y.getState().patch(e,{connectionState:`error`,lastError:ny(t,n),lastErrorAt:Ub()})},onClose:(t,n)=>{n.intentional||sx(e,ny(t.reason,Xv(Y.getState().byId[e]?.serverConfig)))}}))}async function bx(e,t,n,r,i){let a=bp(e);if(!a)throw Error(`Saved environment ${e} not found.`);let[o,s]=await Promise.all([i?Promise.resolve(i):n.server.getConfig(),a.desktopSsh?tx(a.httpBaseUrl,t):Qp({httpBaseUrl:a.httpBaseUrl,bearerToken:t})]);Y.getState().patch(a.environmentId,{authState:s.authenticated?`authenticated`:`requires-auth`,descriptor:o.environment,serverConfig:o,role:s.authenticated?s.role??r??null:null}),J.getState().rename(a.environmentId,o.environment.label)}function xx(e){let t=Ky.get(e.environmentId);if(t&&t!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);return Ky.set(e.environmentId,e),Nb(e.environmentId),Vb(),e}async function Sx(e){let t=Ky.get(e);return t?(Zy.delete(e),Ky.delete(e),Vb(),Mb(e),await t.dispose(),!0):!1}function Cx(){let e=la();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);return Ky.get(e.environmentId)||xx(sm({kind:`primary`,knownEnvironment:e,client:vx(e),..._x()}))}function wx(){return la()?.environmentId?Cx():null}async function Tx(e,t){let n=Ky.get(e.environmentId);if(n)return n;let r=Yy.get(e.environmentId);if(r)return r.promise;let i={cancelled:!1,promise:Promise.resolve().then(async()=>{let n=e,r=t?.role??null,a=t?.bearerToken??await Tp(e.environmentId);if(a)n=(await rx(e)).record;else if(e.desktopSsh){let t=await ix(e);n=t.record,a=t.bearerToken,r=t.role}else throw Y.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:Ub()}),Error(`Saved environment is missing its saved credential.`);let o=a,s=t?.client??yx(n.environmentId,o),c=fb(),l=sm({kind:`saved`,knownEnvironment:{...Hr({id:n.environmentId,label:n.label,source:`manual`,target:{httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl}}),environmentId:n.environmentId},client:s,refreshMetadata:async()=>{await bx(n.environmentId,o,s)},onConfigSnapshot:e=>{c.resolve(e),Y.getState().patch(n.environmentId,{descriptor:e.environment,serverConfig:e})},onWelcome:e=>{Y.getState().patch(n.environmentId,{descriptor:e.environment})},..._x()});try{try{let e=t?.serverConfig??await hb(c.promise,ib);await bx(n.environmentId,o,s,r,e)}catch(e){if(!(n.desktopSsh?Gb(e,401):qp(e)&&e.status===401))throw e;if(!n.desktopSsh)throw await Dp(n.environmentId),Error(`Saved environment credential expired. Pair it again.`,{cause:e});let i=await ix(n);return n=i.record,a=i.bearerToken,r=i.role,await l.dispose().catch(()=>void 0),Yy.delete(n.environmentId),await Tx(n,{bearerToken:a,role:r,serverConfig:t?.serverConfig??null})}if(i.cancelled||Yy.get(n.environmentId)!==i)throw await l.dispose().catch(()=>void 0),new qy(n.environmentId);return xx(l),l}catch(e){throw e instanceof qy?e:(cx(n.environmentId,e),await Sx(n.environmentId).catch(()=>!1)||await l.dispose().catch(()=>void 0),e)}})};return Yy.set(e.environmentId,i),await i.promise.finally(()=>{Yy.get(e.environmentId)===i&&Yy.delete(e.environmentId)})}async function Ex(e){let t=new Set(e.map(e=>e.environmentId)),n=[...Ky.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!t.has(e));await Promise.all(n.map(e=>Px(e))),await mb(ab),await Gy(Wy(e),{concurrency:ob,connect:async e=>{await Tx(e).catch(()=>void 0)}})}function Dx(){$?.stop(),$=null}function Ox(e){let t=Date.now();if(!(t-eb<rb))for(let n of Ky.values())n.client.isHeartbeatFresh()||(eb=t,n.reconnect().catch(t=>{console.warn(`Environment reconnect after browser resume failed`,{environmentId:n.environmentId,reason:e,error:t instanceof Error?t.message:String(t)})}))}function kx(){if(typeof document>`u`||typeof window>`u`)return sb;let e=()=>{if(document.visibilityState===`hidden`){$y=Date.now();return}document.visibilityState===`visible`&&$y!==null&&($y=null,Ox(`visibilitychange`))},t=e=>{(e.persisted||$y!==null)&&($y=null,Ox(`pageshow`))};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pageshow`,t),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pageshow`,t)}}function Ax(e){return Xy.add(e),()=>{Xy.delete(e)}}function jx(e){return Ky.get(e)??null}function Mx(e){let t=jx(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function Nx(){return Cx()}async function Px(e){let t=bp(e),n=Yy.get(e);n&&(n.cancelled=!0,Yy.delete(e)),Ky.get(e)?.kind===`saved`&&await Sx(e).catch(()=>!1),sx(e),t?.desktopSsh&&typeof window<`u`&&(await window.desktopBridge?.disconnectSshEnvironment(t.desktopSsh),await Dp(e))}async function Fx(e){let t=bp(e);if(!t)throw Error(`Saved environment not found.`);let n=Ky.get(e);if(!n){ax(e);try{await Tx(t);return}catch(t){if(Jy(t))return;throw cx(e,t),t}}ax(e);try{t.desktopSsh&&await rx(t),await n.reconnect()}catch(n){if(t.desktopSsh)try{let n=await ix(bp(e)??t);await Sx(e).catch(()=>!1),await Tx(n.record,{bearerToken:n.bearerToken,role:n.role});return}catch(t){if(Jy(t))return;throw cx(e,t),t}throw cx(e,n),n}}async function Ix(e){await Px(e),jb(e),J.getState().remove(e),Y.getState().clear(e),Z.getState().removeEnvironmentState(e),await Dp(e)}async function Lx(e){let t=am({...e.pairingUrl===void 0?{}:{pairingUrl:e.pairingUrl},...e.host===void 0?{}:{host:e.host},...e.pairingCode===void 0?{}:{pairingCode:e.pairingCode}}),n=e.desktopSsh?await $b(t.httpBaseUrl):await $p({httpBaseUrl:t.httpBaseUrl}),r=n.environmentId,i=Yb([r]),a=bp(r)??qb(e.desktopSsh),o=a&&a.environmentId!==r?a:null,s=e.desktopSsh?await ex(t.httpBaseUrl,t.credential):await Zp({httpBaseUrl:t.httpBaseUrl,credential:t.credential}),c={environmentId:r,label:e.label.trim()||a?.label||n.label,wsBaseUrl:t.wsBaseUrl,httpBaseUrl:t.httpBaseUrl,createdAt:a?.createdAt??Ub(),lastConnectedAt:Ub(),...e.desktopSsh??a?.desktopSsh?{desktopSsh:e.desktopSsh??a?.desktopSsh}:{}};if(await wp(c),!await Ep(r,s.sessionToken))throw await Xb(i),Error(`Unable to persist saved environment credentials.`);return J.getState().upsert(c),o&&await Ix(o.environmentId),await Sx(r).catch(()=>!1),await Tx(c,{bearerToken:s.sessionToken,role:s.role}),c}async function Rx(e,t){let n=await Zb(e,{issuePairingToken:!0});if(!n.pairingToken)throw Error(`Desktop SSH launch did not return a pairing token.`);return await Lx({label:t?.label?.trim()||n.target.alias,host:n.httpBaseUrl,pairingCode:n.pairingToken,desktopSsh:n.target}).catch(e=>{let t=[`local ${n.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),r=e instanceof Error?e.message:String(e);throw Error(`${r} (${t})`)})}async function zx(e){await Ky.get(e)?.ensureBootstrapped()}function Bx(e){if($?.queryClient===e)return $.refCount+=1,()=>{!$||$.queryClient!==e||(--$.refCount,$.refCount===0&&Dx())};Dx(),Qy=!1;let t=new Mp(()=>{Qy&&(Qy=!1,e.invalidateQueries({queryKey:Bp.all}),e.invalidateQueries({queryKey:Fp.all}))},{wait:100,leading:!1,trailing:!0}),n=gb();wx();let r=J.subscribe(()=>{_p()&&n()});vp().then(()=>n()).catch(()=>void 0);let i=kx();return $={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{r(),i(),t.cancel()}},()=>{!$||$.queryClient!==e||(--$.refCount,$.refCount===0&&Dx())}}var Vx=n({waitForSavedEnvironmentRegistryHydration:()=>vp}),Hx=new Map;function Ux(e){return{terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{listEntries:e.projects.listEntries,readFile:e.projects.readFile,searchEntries:e.projects.searchEntries,writeFile:e.projects.writeFile,stageFileReference:e.projects.stageFileReference,initializeGit:e.projects.initializeGit},filesystem:{browse:e.filesystem.browse},sourceControl:{lookupRepository:e.sourceControl.lookupRepository,cloneRepository:e.sourceControl.cloneRepository,publishRepository:e.sourceControl.publishRepository},vcs:{pull:e.vcs.pull,refreshStatus:e.vcs.refreshStatus,onStatus:(t,n,r)=>e.vcs.onStatus(t,n,r),listRefs:e.vcs.listRefs,createWorktree:e.vcs.createWorktree,removeWorktree:e.vcs.removeWorktree,createRef:e.vcs.createRef,switchRef:e.vcs.switchRef,init:e.vcs.init},git:{resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread,createWorktreeForProject:e.git.createWorktreeForProject,findWorktreeForOrigin:e.git.findWorktreeForOrigin,archiveWorktree:e.git.archiveWorktree,restoreWorktree:e.git.restoreWorktree,deleteWorktree:e.git.deleteWorktree},...e.worktrees?{worktrees:{setManualPosition:e.worktrees.setManualPosition}}:{},...e.threads?{threads:{setManualBucket:e.threads.setManualBucket,setManualPosition:e.threads.setManualPosition}}:{},orchestration:{dispatchCommand:e.orchestration.dispatchCommand,getTurnDiff:e.orchestration.getTurnDiff,getFullThreadDiff:e.orchestration.getFullThreadDiff,subscribeShell:(t,n)=>e.orchestration.subscribeShell(t,n),subscribeThread:(t,n,r)=>e.orchestration.subscribeThread(t,n,r)}}}function Wx(e){if(typeof window>`u`||!e)return;let t=Hx.get(e);if(t)return t;let n=jx(e);return n?Ux(n.client):void 0}function Gx(e){let t=Wx(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}export{R_ as $,Zu as $t,dy as A,Y as At,Rv as B,of as Bt,Sy as C,pm as Ct,wy as D,yp as Dt,by as E,zp as Et,oy as F,Nf as Ft,Ov as G,Td as Gt,zv as H,Gd as Ht,Zv as I,Ff as It,tv as J,Bu as Jt,Pv as K,Lu as Kt,ty as L,yf as Lt,hy as M,cp as Mt,gy as N,Ef as Nt,Cy as O,Cp as Ot,vy as P,Df as Pt,W_ as Q,Yu as Qt,ey as R,af as Rt,Ny as S,km as St,Ty as T,Gp as Tt,bv as U,Sd as Ut,Lv as V,Hd as Vt,Nv as W,Cd as Wt,U_ as X,Ku as Xt,V_ as Y,Xu as Yt,H_ as Z,ed as Zt,Ly as _,Um as _t,Rx as a,Jl as an,pg as at,Ry as b,Wm as bt,Nx as c,xg as ct,Ix as d,Cg as dt,Qu as en,g_ as et,Mx as f,wg as ft,Uy as g,Z as gt,Hy as h,fg as ht,Lx as i,au as in,Sg as it,xy as j,lp as jt,Ey as k,J as kt,jx as l,_g as lt,Bx as m,mg as mt,Wx as n,$u as nn,__ as nt,Px as o,Kl as on,gg as ot,Bb as p,hg as pt,Dv as q,Pu as qt,Vx as r,du as rn,dg as rt,zx as s,bg as st,Gx as t,Ju as tn,m_ as tt,Fx as u,yg as ut,jy as v,Vm as vt,Dy as w,lm as wt,My as x,Pm as xt,Ay as y,Hm as yt,Xv as z,rf as zt};
1
+ import{i as e,n as t,r as n,t as r}from"./react-PSPkXoKo.js";import{t as i}from"./compiler-runtime-BNrXlsa1.js";import{$ as a,$a as o,$i as s,$n as c,$r as l,A as u,Aa as d,Ai as f,An as p,Ar as m,Ba as h,Bi as g,Bn as _,Br as v,Bt as y,C as ee,Ci as te,Cn as b,Cr as x,D as S,Da as ne,Di as re,Dn as C,Dr as ie,E as ae,Ei as oe,En as se,Er as ce,Fa as le,Fi as ue,Fn as de,Fr as fe,Ft as pe,Ga as me,Gn as he,Gr as ge,Gt as _e,Ha as ve,Hi as ye,Hn as be,Hr as xe,Ia as Se,Ii as Ce,In as we,Ir as Te,J as Ee,Ji as De,Jn as Oe,Jr as ke,Jt as Ae,K as je,Ka as Me,Kn as Ne,Kt as Pe,Li as Fe,Ln as Ie,Lr as Le,M as Re,Ma as ze,Mi as Be,Mn as Ve,Mr as He,N as Ue,Na as We,Ni as Ge,Nn as Ke,Nr as qe,O as Je,Oa as Ye,Oi as Xe,On as Ze,Or as Qe,P as $e,Pa as et,Pi as tt,Pn as nt,Pr as rt,Pt as it,Q as w,Qa as at,Qi as ot,Qn as st,Qr as ct,R as lt,Ra as ut,Ri as dt,Rn as ft,Rr as pt,S as mt,Si as ht,Sn as gt,Sr as _t,T as vt,Ti as yt,Tn as bt,Tr as xt,Ua as St,Ui as Ct,Un as wt,Va as Tt,Vi as Et,Vn as Dt,Vr as Ot,Vt as kt,W as At,Wn as jt,Wr as Mt,Wt as Nt,Xa as T,Xi as Pt,Xn as Ft,Xt as It,Y as Lt,Ya as Rt,Yi as zt,Yr as Bt,Yt as Vt,Z as Ht,Za as Ut,Zi as Wt,Zn as Gt,Zr as Kt,Zt as qt,_ as Jt,_a as Yt,_i as Xt,_n as Zt,_r as Qt,a as $t,aa as en,ai as tn,ao as nn,ar as rn,at as an,b as on,ba as sn,bn as cn,br as ln,c as un,ci as dn,co as fn,cr as pn,d as mn,da as hn,di as gn,dn as _n,dr as vn,ea as yn,ei as bn,en as xn,er as Sn,et as Cn,f as wn,fa as Tn,fi as En,fn as Dn,fr as On,g as kn,ga as An,gi as jn,gn as Mn,gr as E,gt as Nn,h as Pn,ha as Fn,hi as In,hn as Ln,hr as Rn,ht as zn,i as Bn,ia as Vn,ii as Hn,in as Un,io as Wn,ir as Gn,j as Kn,ja as qn,ji as Jn,jn as Yn,jr as Xn,k as Zn,ka as Qn,ki as $n,kn as er,kr as tr,l as nr,la as rr,li as ir,ln as ar,lo as or,lr as sr,m as cr,mi as lr,mn as ur,mr as dr,mt as fr,n as pr,na as mr,ni as hr,nn as gr,no as _r,nr as vr,o as yr,oa as br,oi as xr,or as Sr,ot as Cr,p as wr,pa as Tr,pi as Er,pn as Dr,pr as Or,pt as kr,qa as Ar,qi as jr,qn as Mr,qr as Nr,r as Pr,ra as Fr,ri as Ir,rn as Lr,ro as Rr,rr as zr,s as Br,si as Vr,so as Hr,sr as Ur,t as Wr,ta as Gr,ti as Kr,tn as qr,to as Jr,tr as Yr,u as Xr,ua as Zr,ui as Qr,un as $r,ur as ei,va as ti,vi as ni,vn as ri,vr as D,vt as ii,w as ai,wi as oi,wn as O,wr as si,x as ci,xa as li,xi as ui,xn as di,xr as fi,xt as pi,ya as mi,yi as hi,yn as gi,yr as _i,z as vi,za as yi,zi as bi,zn as xi,zr as Si,zt as k}from"./react-CjD7iThp.js";import{C as Ci,Ca as wi,Gi as Ti,Lr as Ei,Mi as Di,Ni as A,Pi as Oi,Sa as ki,Ui as Ai,V as ji,Wi as Mi,Yi as Ni,Zi as Pi,a as Fi,ba as Ii,bi as Li,c as Ri,di as zi,fa as Bi,fi as Vi,ga as Hi,hi as Ui,i as Wi,l as Gi,la as Ki,mi as qi,na as Ji,pi as Yi,qi as Xi,r as Zi,ra as Qi,ta as $i,u as ea,ui as ta,va as na,vi as ra,xa as ia,zi as aa}from"./composerDraftStore-xu3n5gdX.js";import{t as oa}from"./pairingUrl-rQM9kSGT.js";import{c as sa,g as ca,n as la,r as ua}from"./primary-CSkhdakK.js";import{r as da}from"./hostedPairing-DAdvNuk3.js";var fa=`~effect/http/HttpClientError`,pa=e=>ve(e,fa),ma=class extends Nr(`HttpClientError`){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[fa]=fa;get request(){return this.reason.request}get response(){return`response`in this.reason?this.reason.response:void 0}get message(){return this.reason.message}},ha=e=>e.endsWith(`Error`)?e.slice(0,-5):e,ga=(e,t,n)=>t?`${e}: ${t} (${n})`:`${e} error (${n})`,_a=class extends Nr(`TransportError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ga(ha(this._tag),this.description,this.methodAndUrl)}};Nr(`EncodeError`);var va=class extends Nr(`InvalidUrlError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){return ga(ha(this._tag),this.description,this.methodAndUrl)}},ya=class extends Nr(`StatusCodeError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},ba=class extends Nr(`DecodeError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},xa=class extends Nr(`EmptyBodyError`){get methodAndUrl(){return`${this.request.method} ${this.request.url}`}get message(){let e=`${this.response.status} ${this.methodAndUrl}`;return ga(ha(this._tag),this.description,e)}},Sa=class e extends vi(fa)({_tag:k(`HttpError`),kind:At([`EncodeError`,`DecodeError`,`TransportError`,`InvalidUrlError`,`StatusCodeError`,`EmptyBodyError`]),cause:it(lt)}){static fromHttpClientError(t){return new e({_tag:`HttpError`,kind:t.reason._tag,cause:t.reason})}},Ca=`~effect/http/UrlParams`,wa={...Qn,[Ca]:Ca,[Symbol.iterator](){return this.params[Symbol.iterator]()},toJSON(){return{_id:`UrlParams`,params:Object.fromEntries(this.params)}},[ut](e){return Oa(this,e)},[Tt](){return yi(this.params.flat())}},Ta=e=>{let t=Object.create(wa);return t.params=e,t},Ea=e=>{let t=Da(e),n=[];for(let e=0;e<t.length;e++)if(Array.isArray(t[e][0])){let[r,i]=t[e];n.push([`${r[0]}[${r.slice(1).join(`][`)}]`,i])}else n.push(t[e]);return Ta(n)},Da=e=>{let t=typeof e[Symbol.iterator]==`function`?ye(e):Object.entries(e),n=[];for(let[e,r]of t)if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]!==void 0&&n.push([e,String(r[t])]);else if(typeof r==`object`){let t=Da(r);for(let[r,i]of t)n.push([[e,...typeof r==`string`?[r]:r],i])}else r!==void 0&&n.push([e,String(r)]);return n},Oa=ne((e,t)=>ka(e.params,t.params)),ka=Ct(Pt([Ye(),Ye()])),Aa=Ta([]),ja=T(2,(e,t)=>{let n=Ea(t),r=n.params,i=new Set;for(let e=0;e<r.length;e++)i.add(r[e][0]);for(let t=0;t<e.params.length;t++)i.has(e.params[t][0])||r.push(e.params[t]);return n}),Ma=class extends Nr(`UrlParamsError`){},Na=(e,t,n)=>{try{let r=new URL(e,Pa());for(let e=0;e<t.params.length;e++){let[n,i]=t.params[e];i!==void 0&&r.searchParams.append(n,i)}return n!==void 0&&(r.hash=n),yn(r)}catch(e){return Wt(new Ma({cause:e}))}},Pa=()=>{if(`location`in globalThis&&globalThis.location!==void 0&&globalThis.location.origin!==void 0&&globalThis.location.pathname!==void 0)return location.origin+location.pathname},Fa=`~effect/http/HttpBody`;Nr(`HttpBodyError`);var Ia=class{[Fa];constructor(){this[Fa]=Fa}[We](){return this.toJSON()}toString(){return et(this,{ignoreToString:!0})}},La=new class extends Ia{_tag=`Empty`;toJSON(){return{_id:`effect/HttpBody`,_tag:`Empty`}}},Ra=class extends Ia{_tag=`Uint8Array`;body;contentType;contentLength;constructor(e,t,n){super(),this.body=e,this.contentType=t,this.contentLength=n}toJSON(){return{_id:`effect/HttpBody`,_tag:`Uint8Array`,body:this.contentType.startsWith(`text/`)||this.contentType.endsWith(`json`)?new TextDecoder().decode(this.body):`Uint8Array(${this.body.length})`,contentType:this.contentType,contentLength:this.contentLength}}},za=(e,t)=>new Ra(e,t??`application/octet-stream`,e.length),Ba=new TextEncoder,Va=(e,t)=>za(Ba.encode(e),t??`text/plain`),Ha=(e,t)=>Va(JSON.stringify(e),t??`application/json`),Ua=`~effect/http/Cookies`,Wa=`~effect/http/Cookies/Cookie`;Nr(`CookieError`);var Ga={[Ua]:Ua,...qn,toJSON(){return{_id:`effect/Cookies`,cookies:De(this.cookies,e=>e.toJSON())}},pipe(){return o(this,arguments)}},Ka=e=>{let t=Object.create(Ga);return t.cookies=e,t},qa=e=>{let t={};for(let n of e)t[n.name]=n;return Ka(t)},Ja=e=>{let t=typeof e==`string`?[e]:e,n=[];for(let e of t){let t=Ya(e.trim());t&&n.push(t)}return qa(n)};function Ya(e){let t=e.split(`;`).map(e=>e.trim()).filter(e=>e!==``);if(t.length===0)return;let n=t[0].indexOf(`=`);if(n===-1)return;let r=t[0].slice(0,n);if(!Xa.test(r))return;let i=t[0].slice(n+1),a=Qa(i);if(t.length===1)return Object.assign(Object.create(Za),{name:r,value:a,valueEncoded:i});let o={};for(let e=1;e<t.length;e++){let n=t[e],r=n.indexOf(`=`),i=r===-1?n:n.slice(0,r).trim(),a=r===-1?void 0:n.slice(r+1).trim();switch(i.toLowerCase()){case`domain`:{if(a===void 0)break;let e=a.trim().replace(/^\./,``);e&&(o.domain=e);break}case`expires`:{if(a===void 0)break;let e=new Date(a);isNaN(e.getTime())||(o.expires=e);break}case`max-age`:{if(a===void 0)break;let e=parseInt(a,10);isNaN(e)||(o.maxAge=bi(e));break}case`path`:if(a===void 0)break;a[0]===`/`&&(o.path=a);break;case`priority`:if(a===void 0)break;switch(a.toLowerCase()){case`low`:o.priority=`low`;break;case`medium`:o.priority=`medium`;break;case`high`:o.priority=`high`;break}break;case`httponly`:o.httpOnly=!0;break;case`secure`:o.secure=!0;break;case`partitioned`:o.partitioned=!0;break;case`samesite`:if(a===void 0)break;switch(a.toLowerCase()){case`lax`:o.sameSite=`lax`;break;case`strict`:o.sameSite=`strict`;break;case`none`:o.sameSite=`none`;break}break}}return Object.assign(Object.create(Za),{name:r,value:a,valueEncoded:i,options:Object.keys(o).length>0?o:void 0})}var Xa=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Za={[Wa]:Wa,...qn,toJSON(){return{_id:`effect/Cookies/Cookie`,name:this.name,value:this.value,options:this.options}}},Qa=e=>{try{return decodeURIComponent(e)}catch{return e}},$a=Symbol.for(`~effect/http/Headers`),eo=Object.create(null);Object.defineProperties(eo,{[$a]:{value:$a},[Se]:{value(e){return uo(this,en(e,fo))}},toJSON:{value(){return le(this)}},[ut]:{value(e){return no(this,e)}},[Tt]:{value(){return h(this)}},toString:{value:qn.toString},[We]:{value:qn[We]}});var to=e=>Object.assign(Object.create(eo),e),no=jr(Ye()),ro=Object.create(eo),io=e=>{if(e===void 0)return ro;if(Symbol.iterator in e){let t=Object.create(eo);for(let[n,r]of e)t[n.toLowerCase()]=r;return t}let t=Object.create(eo);for(let[n,r]of Object.entries(e))Array.isArray(r)?t[n.toLowerCase()]=r.join(`, `):r!==void 0&&(t[n.toLowerCase()]=r);return t},ao=e=>Object.setPrototypeOf(e,eo),oo=T(3,(e,t,n)=>{let r=to(e);return r[t.toLowerCase()]=n,r}),so=T(2,(e,t)=>to({...e,...io(t)})),co=T(2,(e,t)=>{let n=to(e);return Object.assign(n,t),n}),lo=T(2,(e,t)=>{let n=to(e);return delete n[t.toLowerCase()],n}),uo=T(2,(e,t)=>{let n={...e},r=t=>{if(typeof t==`string`){let r=t.toLowerCase();r in e&&(n[r]=Un(e[r]))}else for(let r in e)t.test(r)&&(n[r]=Un(e[r]))};if(Array.isArray(t))for(let e=0;e<t.length;e++)r(t[e]);else r(t);return n}),fo=Gr(`effect/Headers/CurrentRedactedNames`,{defaultValue:()=>[`authorization`,`cookie`,`set-cookie`,`x-api-key`]}),po=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],mo=`~effect/http/HttpClientRequest`,ho={[mo]:mo,...qn,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:le(this.headers),body:this.body.toJSON()}},pipe(){return o(this,arguments)}};function go(e,t,n,r,i,a){let o=Object.create(ho);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var _o=go(`GET`,``,Aa,sn(),ro,La),vo=e=>(t,n)=>bo(_o,{method:e,url:t,...n??void 0}),yo=vo(`POST`),bo=T(2,(e,t)=>{let n=e;return t.method&&(n=xo(n,t.method)),t.url&&(n=Eo(n,t.url)),t.headers&&(n=Co(n,t.headers)),t.urlParams&&(n=Do(n,t.urlParams)),t.hash&&(n=Oo(n,t.hash)),t.body&&(n=ko(n,t.body)),t.accept&&(n=wo(n,t.accept)),t.acceptJson&&(n=To(n)),n}),xo=T(2,(e,t)=>go(t,e.url,e.urlParams,e.hash,e.headers,e.body)),So=T(3,(e,t,n)=>go(e.method,e.url,e.urlParams,e.hash,oo(e.headers,t,n),e.body)),Co=T(2,(e,t)=>go(e.method,e.url,e.urlParams,e.hash,so(e.headers,t),e.body)),wo=T(2,(e,t)=>So(e,`Accept`,t)),To=wo(`application/json`),Eo=T(2,(e,t)=>{if(typeof t==`string`)return go(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=Ea(n.searchParams),i=hn(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,go(e.method,n.toString(),r,i,e.headers,e.body)}),Do=T(2,(e,t)=>go(e.method,e.url,ja(e.urlParams,t),e.hash,e.headers,e.body)),Oo=T(2,(e,t)=>go(e.method,e.url,e.urlParams,li(t),e.headers,e.body)),ko=T(2,(e,t)=>{let n=e.headers;return t._tag===`Empty`||t._tag===`FormData`?n=lo(lo(n,`Content-Type`),`Content-length`):(t.contentType&&(n=oo(n,`content-type`,t.contentType)),t.contentLength!==void 0&&(n=oo(n,`content-length`,t.contentLength.toString()))),go(e.method,e.url,e.urlParams,e.hash,n,t)}),Ao=`~effect/http/HttpIncomingMessage`,jo=(e,t)=>{let n=e.headers[`content-type`]??``,r;if(n.includes(`application/json`))try{r=sr(e.json)}catch{}else if(n.includes(`text/`)||n.includes(`urlencoded`))try{r=sr(e.text)}catch{}let i={...t,headers:le(e.headers),remoteAddress:e.remoteAddress};return r!==void 0&&(i.body=r),i},Mo=`~effect/http/HttpClientResponse`,No=(e,t)=>new Fo(e,t),Po=e=>e.status>=200&&e.status<300?E(e):gt(new ma({reason:new ya({response:e,request:e.request,description:`non 2xx status code`})})),Fo=class extends ze{[Ao];[Mo];request;source;constructor(e,t){super(),this.request=e,this.source=t,this[Ao]=Ao,this[Mo]=Mo}toJSON(){return jo(this,{_id:`HttpClientResponse`,request:this.request.toJSON(),status:this.status})}get status(){return this.source.status}get headers(){return io(this.source.headers)}cachedCookies;get cookies(){return this.cachedCookies?this.cachedCookies:this.cachedCookies=Ja(this.source.headers.getSetCookie())}get remoteAddress(){return sn()}get stream(){return this.source.body?Jt({evaluate:()=>this.source.body,onError:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}):Pn(new ma({reason:new xa({request:this.request,response:this,description:`can not create stream from empty body`})}))}get json(){return O(this.text,e=>ce({try:()=>e===``?null:JSON.parse(e),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}))}textBody;get text(){return this.textBody?this.textBody:(this.textBody=xt({try:()=>this.source.text(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr),this.arrayBufferBody=_(this.textBody,e=>new TextEncoder().encode(e).buffer),this.textBody)}get urlParamsBody(){return O(this.text,e=>ce({try:()=>Ea(new URLSearchParams(e)),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}))}formDataBody;get formData(){return this.formDataBody??=xt({try:()=>this.source.formData(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr)}arrayBufferBody;get arrayBuffer(){return this.arrayBufferBody?this.arrayBufferBody:(this.arrayBufferBody=xt({try:()=>this.source.arrayBuffer(),catch:e=>new ma({reason:new ba({request:this.request,response:this,cause:e})})}).pipe(Dr,sr),this.textBody=_(this.arrayBufferBody,e=>new TextDecoder().decode(e)),this.arrayBufferBody)}pipe(){return o(this,arguments)}},Io=e=>ao({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${mi(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),Lo=`~effect/http/HttpClient`,Ro=mr(`effect/HttpClient`),zo=T(2,(e,t)=>Vo(n=>t(e.postprocess(n)),e.preprocess)),Bo=zo(O(Po)),Vo=(e,t)=>{let n=Object.create(Ho);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Ho={[Lo]:Lo,pipe(){return o(this,arguments)},...qn,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(po.map(([e,t])=>[t,function(t,n){return this.execute(vo(e)(t,n))}]))},Uo=e=>Vo(t=>O(t,t=>He(n=>{let r=Xo.get(t),i=r??new AbortController,a=Na(t.url,t.urlParams,Fn(t.hash));if(ot(a))return gt(new ma({reason:new va({request:t,cause:a.failure})}));let o=a.success;if(n.getRef($n)||n.getRef(Go)(t)){let a=e(t,o,i.signal,n);return r?a:ie(e=>be(e(a),{onSuccess(e){return Yo.register(e,i),E(new Zo(e,i))},onFailure(e){return te(e)&&i.abort(),b(e)}}))}return tr(n.getRef(qo)(t),{kind:`client`},a=>{a.attribute(`http.request.method`,t.method),a.attribute(`server.address`,o.origin),o.port!==``&&a.attribute(`server.port`,+o.port),a.attribute(`url.full`,o.toString()),a.attribute(`url.path`,o.pathname),a.attribute(`url.scheme`,o.protocol.slice(0,-1));let s=o.search.slice(1);s!==``&&a.attribute(`url.query`,s);let c=n.getRef(fo),l=uo(t.headers,c);for(let e in l)a.attribute(`http.request.header.${e}`,String(l[e]));return t=n.getRef(Ko)?Co(t,Io(a)):t,ie(s=>s(e(t,o,i.signal,n)).pipe(qe(a,{captureStackTrace:!1}),be({onSuccess:e=>{a.attribute(`http.response.status_code`,e.status);let t=uo(e.headers,c);for(let e in t)a.attribute(`http.response.header.${e}`,String(t[e]));return r?E(e):(Yo.register(e,i),E(new Zo(e,i)))},onFailure(e){return!r&&te(e)&&i.abort(),b(e)}})))})})),E),Wo=T(2,(e,t)=>{let n=Si(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,a=i&&v(i),o=n?void 0:t.times;return zo(e,Ut(r===`errors-only`?at:c({schedule:a,times:o,while:es}),r===`response-only`?at:Sn({while:n||t.while===void 0?Qo:me(Qo,t.while),schedule:i,times:o})))}),Go=Gr(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>Me}),Ko=Gr(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:Ar}),qo=Gr(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Jo=e=>Bt(Ro)(ri(t=>_(e,e=>zo(e,Qe(e=>rr(t,e)))))),Yo=(()=>{if(`FinalizationRegistry`in globalThis&&globalThis.FinalizationRegistry){let e=new FinalizationRegistry(e=>{e.abort()});return{register(t,n){e.register(t,n,t)},unregister(t){e.unregister(t)}}}let e=new Map;return{register(t,n){e.set(t,setTimeout(()=>n.abort(),5e3))},unregister(t){let n=e.get(t);n!==void 0&&(clearTimeout(n),e.delete(t))}}})(),Xo=new WeakMap,Zo=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[Mo]=Mo;[Ao]=Ao;applyInterrupt(e){return Qt(()=>(Yo.unregister(this.original),Ne(e,()=>D(()=>{this.controller.abort()}))))}get request(){return this.original.request}get status(){return this.original.status}get headers(){return this.original.headers}get cookies(){return this.original.cookies}get remoteAddress(){return this.original.remoteAddress}get formData(){return this.applyInterrupt(this.original.formData)}get text(){return this.applyInterrupt(this.original.text)}get json(){return this.applyInterrupt(this.original.json)}get urlParamsBody(){return this.applyInterrupt(this.original.urlParamsBody)}get arrayBuffer(){return this.applyInterrupt(this.original.arrayBuffer)}get stream(){return ci(()=>(Yo.unregister(this.original),cr(this.original.stream,D(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[We](){return this.original[We]()}pipe(){return o(this,arguments)}},Qo=e=>oe(e)||$o(e),$o=e=>pa(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&es(e.reason.response)),es=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504,ts=`~effect/FiberSet`,ns=e=>ve(e,ts),rs={[ts]:ts,[Symbol.iterator](){return this.state._tag===`Closed`?zt():this.state.backing[Symbol.iterator]()},...Qn,toJSON(){return{_id:`FiberMap`,state:this.state}}},is=(e,t)=>{let n=Object.create(rs);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},as=()=>ar(D(()=>is(new Set,En())),e=>Qt(()=>{let t=e.state;if(t._tag===`Closed`)return m;e.state={_tag:`Closed`};let n=t.backing;return Re(n).pipe(gn(e.deferred))})),os=-1,ss=ue(Ge(ui,tt(os))),cs=T(e=>ns(e[0]),(e,t,n)=>{if(e.state._tag===`Closed`){t.interruptUnsafe(os);return}else if(e.state.backing.has(t))return;e.state.backing.add(t),t.addObserver(r=>{e.state._tag!==`Closed`&&(e.state.backing.delete(t),Xt(r)&&(n?.propagateInterruption===!0?!ss(r.cause):!oi(r.cause))&&Qr(e.deferred,r))})}),ls=function(){let e;return()=>(e===void 0&&(e=zr(nt)),e)}(),us=e=>()=>_(Zt(),t=>{let n=Gn(t);return(t,r)=>{if(e.state._tag===`Closed`)return ls();let i=n(t,r);return cs(e,i),i}}),ds=e=>ir(e.deferred),fs=`~effect/socket/Socket`,ps=mr(`effect/socket/Socket`),ms=e=>ps.of({[fs]:fs,runRaw:e.runRaw,run:e.run??((t,n)=>e.runRaw(e=>typeof e==`string`?t(hs.encode(e)):e instanceof Uint8Array?t(e):t(new Uint8Array(e)),n)),runString:e.runString??(e.run?(t,n)=>e.run(e=>t(gs.decode(e)),n):(t,n)=>e.runRaw(e=>typeof e==`string`?t(e):e instanceof Uint8Array?t(gs.decode(e)):t(gs.decode(new Uint8Array(e))),n)),writer:e.writer}),hs=new TextEncoder,gs=new TextDecoder,_s=`~effect/socket/Socket/CloseEvent`,vs=e=>ve(e,_s),ys=`~effect/socket/Socket/SocketError`,bs=e=>ve(e,ys),xs=class extends vi(`effect/socket/Socket/SocketReadError`)({_tag:k(`SocketReadError`),cause:lt}){message=`An error occurred during Read`},Ss=class extends vi(`effect/socket/Socket/SocketWriteError`)({_tag:k(`SocketWriteError`),cause:lt}){message=`An error occurred during Write`},Cs=class extends vi(`effect/socket/Socket/SocketOpenError`)({_tag:k(`SocketOpenError`),kind:At([`Unknown`,`Timeout`]),cause:lt}){get message(){return this.kind===`Timeout`?`timeout waiting for "open"`:`An error occurred during Open`}},ws=class extends vi(`effect/socket/Socket/SocketCloseError`)({_tag:k(`SocketCloseError`),code:Lt,closeReason:it(w)}){static filterClean(e){return function(t){return Es.is(t)&&t.reason._tag===`SocketCloseError`&&e(t.reason.code)?yn(t.reason):Wt(t)}}get message(){return this.closeReason?`${this.code}: ${this.closeReason}`:`${this.code}`}},Ts=Cr([xs,Ss,Cs,ws]),Es=class extends Cn(ys)(`SocketError`,{_tag:k(`SocketError`),reason:Ts}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[ys]=ys;static is(e){return bs(e)}message=this.reason.message},Ds=e=>!0,Os=class extends mr()(`~effect/socket/Socket/WebSocket`){},ks=class extends mr()(`@effect/platform/Socket/WebSocketConstructor`){},As=(e,t)=>ks.use(n=>js(ar((typeof e==`string`?E(e):e).pipe(_(e=>n(e,t?.protocols))),e=>D(()=>e.close(1e3))),t)),js=(e,t)=>He(n=>{let r,i=Je(!1),a=n.context,o=t?.closeCodeIsError??Ds;return E(ms({runRaw:(n,s)=>Or(C(function*(a){let c=yield*as().pipe(dn(a)),l=yield*dn(e,a),u=yield*Gt(us(c)(),Os,l),d=!1;function f(e){if(e.data instanceof Blob)return u(O(Oe(()=>e.data.arrayBuffer()),e=>{let t=n(new Uint8Array(e));return we(t)?t:m}));let t=n(e.data);we(t)&&u(t)}function p(e){l.removeEventListener(`message`,f),l.removeEventListener(`close`,h),Qr(c.deferred,gt(new Es({reason:d?new xs({cause:e}):new Cs({kind:`Unknown`,cause:e})})))}function h(e){let t=typeof e.code==`number`?e.code:1001;l.removeEventListener(`message`,f),l.removeEventListener(`error`,p),Qr(c.deferred,gt(new Es({reason:new ws({code:t,closeReason:e.reason})})))}if(l.addEventListener(`close`,h,{once:!0}),l.addEventListener(`error`,p,{once:!0}),l.addEventListener(`message`,f),l.readyState!==1){let e=En();l.addEventListener(`open`,()=>{d=!0,Qr(e,m)},{once:!0}),yield*ir(e).pipe(si({duration:t?.openTimeout??1e4,orElse:()=>gt(new Es({reason:new Cs({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),st(ds(c)))}return d=!0,r=l,i.openUnsafe(),s?.onOpen&&(yield*s.onOpen),yield*Mn(ds(c),ws.filterClean(e=>!o(e)),()=>m)})).pipe(Qe(e=>rr(a,e)),di(D(()=>{i.closeUnsafe(),r=void 0}))),writer:E(e=>i.whenOpen(D(()=>{let t=r;vs(e)?t.close(e.code,e.reason):t.send(e)})))}))}),Ms=Ut(As,Bt(ps)),Ns=class extends mr()(`effect/workers/Transferable/Collector`){},Ps=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return Ns.of({addAllUnsafe:t,addAll:e=>D(()=>t(e)),readUnsafe:n,read:D(n),clearUnsafe:r,clear:D(r)})},Fs=`~effect/workers/WorkerError`,Is=Cr([class extends vi(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:k(`WorkerSpawnError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerSendError`)({_tag:k(`WorkerSendError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:k(`WorkerReceiveError`),message:w,cause:it(lt)}){},class extends vi(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:k(`WorkerUnknownError`),message:w,cause:it(lt)}){}]);vi(Fs)({_tag:k(`WorkerError`),reason:Is});var Ls=`~effect/rpc/RpcClientError`,Rs=class extends vi(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:k(`RpcClientDefect`),message:w,cause:lt}){},zs=class extends vi(Ls)({_tag:k(`RpcClientError`),reason:Cr([Is,Ts,Sa,Rs])}){[Ls]=Ls;get message(){return`${this.reason._tag}: ${this.reason.message}`}},Bs=e=>typeof e==`bigint`?e:BigInt(e),Vs={_tag:`Ping`},Hs;try{Hs=new TextDecoder}catch{}var j,M,N=0,Us=[],Ws=Us,Gs=0,P={},F,Ks,I=0,qs=0,L,Js,R=[],z,Ys={useRecords:!1,mapsAsObjects:!0},Xs=class{},Zs=new Xs;Zs.name=`MessagePack 0xC1`;var Qs=!1,$s=2,ec,tc,nc;try{Function(``)}catch{$s=1/0}var rc=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(j)return Ac(()=>(jc(),this?this.unpack(t,n):e.prototype.unpack.call(Ys,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(M=n.end||t.length,N=n.start||0):(N=0,M=n>-1?n:t.length),Gs=0,qs=0,Ks=null,Ws=Us,L=null,j=t;try{z=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw j=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(P=this,this.structures)return F=this.structures,ic(n);(!F||F.length>0)&&(F=[])}else P=Ys,(!F||F.length>0)&&(F=[]);return ic(n)}unpackMultiple(e,t){let n,r=0;try{Qs=!0;let i=e.length,a=this?this.unpack(e,i):Nc.unpack(e,i);if(t){if(t(a,r,N)===!1)return;for(;N<i;)if(r=N,t(ic(),r,N)===!1)return}else{for(n=[a];N<i;)r=N,n.push(ic());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{Qs=!1,jc()}}_mergeStructures(e,t){tc&&(e=tc.call(this,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 ic(e){try{if(!P.trusted&&!Qs){let e=F.sharedLength||0;e<F.length&&(F.length=e)}let t;if(P.randomAccessStructure&&j[N]<64&&j[N]>=32&&ec?(t=ec(j,N,M,P),j=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),N=M):t=B(),L&&=(N=L.postBundlePosition,null),Qs&&(F.restoreStructures=null),N==M)F&&F.restoreStructures&&ac(),F=null,j=null,Js&&=null;else if(N>M)throw Error(`Unexpected end of MessagePack data`);else if(!Qs){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 F&&F.restoreStructures&&ac(),jc(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||N>M)&&(e.incomplete=!0),e}}function ac(){for(let e in F.restoreStructures)F[e]=F.restoreStructures[e];F.restoreStructures=null}function B(){let e=j[N++];if(e<160)if(e<128){if(e<64)return e;{let t=F[e&63]||P.getStructures&&lc()[e&63];return t?(t.read||=sc(t,e&63),t.read()):e}}else if(e<144)if(e-=128,P.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Cc();e===`__proto__`&&(e=`__proto_`),t[e]=B()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(B(),B());return t}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=B();return P.freezeData?Object.freeze(t):t}else if(e<192){let t=e-160;if(qs>=N)return Ks.slice(N-I,(N+=t)-I);if(qs==0&&M<140){let e=t<16?vc(t):_c(t);if(e!=null)return e}return uc(t)}else{let t;switch(e){case 192:return null;case 193:return L?(t=B(),t>0?L[1].slice(L.position1,L.position1+=t):L[0].slice(L.position0,L.position0-=t)):Zs;case 194:return!1;case 195:return!0;case 196:if(t=j[N++],t===void 0)throw Error(`Unexpected end of buffer`);return bc(t);case 197:return t=z.getUint16(N),N+=2,bc(t);case 198:return t=z.getUint32(N),N+=4,bc(t);case 199:return xc(j[N++]);case 200:return t=z.getUint16(N),N+=2,xc(t);case 201:return t=z.getUint32(N),N+=4,xc(t);case 202:if(t=z.getFloat32(N),P.useFloat32>2){let e=Mc[(j[N]&127)<<1|j[N+1]>>7];return N+=4,(e*t+(t>0?.5:-.5)>>0)/e}return N+=4,t;case 203:return t=z.getFloat64(N),N+=8,t;case 204:return j[N++];case 205:return t=z.getUint16(N),N+=2,t;case 206:return t=z.getUint32(N),N+=4,t;case 207:return P.int64AsType===`number`?(t=z.getUint32(N)*4294967296,t+=z.getUint32(N+4)):P.int64AsType===`string`?t=z.getBigUint64(N).toString():P.int64AsType===`auto`?(t=z.getBigUint64(N),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=z.getBigUint64(N),N+=8,t;case 208:return z.getInt8(N++);case 209:return t=z.getInt16(N),N+=2,t;case 210:return t=z.getInt32(N),N+=4,t;case 211:return P.int64AsType===`number`?(t=z.getInt32(N)*4294967296,t+=z.getUint32(N+4)):P.int64AsType===`string`?t=z.getBigInt64(N).toString():P.int64AsType===`auto`?(t=z.getBigInt64(N),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=z.getBigInt64(N),N+=8,t;case 212:if(t=j[N++],t==114)return Tc(j[N++]&63);{let e=R[t];if(e)return e.read?(N++,e.read(B())):e.noBuffer?(N++,e()):e(j.subarray(N,++N));throw Error(`Unknown extension `+t)}case 213:return t=j[N],t==114?(N++,Tc(j[N++]&63,j[N++])):xc(2);case 214:return xc(4);case 215:return xc(8);case 216:return xc(16);case 217:return t=j[N++],qs>=N?Ks.slice(N-I,(N+=t)-I):dc(t);case 218:return t=z.getUint16(N),N+=2,qs>=N?Ks.slice(N-I,(N+=t)-I):fc(t);case 219:return t=z.getUint32(N),N+=4,qs>=N?Ks.slice(N-I,(N+=t)-I):pc(t);case 220:return t=z.getUint16(N),N+=2,hc(t);case 221:return t=z.getUint32(N),N+=4,hc(t);case 222:return t=z.getUint16(N),N+=2,gc(t);case 223:return t=z.getUint32(N),N+=4,gc(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 oc=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function sc(e,t){function n(){if(n.count++>$s){let n=e.read=Function(`r`,`return function(){return `+(P.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:oc.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(B);return e.highByte===0&&(e.read=cc(t,e.read)),n()}let r={};for(let t=0,n=e.length;t<n;t++){let n=e[t];n===`__proto__`&&(n=`__proto_`),r[n]=B()}return P.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?cc(t,n):n}var cc=(e,t)=>function(){let n=j[N++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=F[r]||lc()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=sc(i,e),i.read()};function lc(){let e=Ac(()=>(j=null,P.getStructures()));return F=P._mergeStructures(e,F)}var uc=mc,dc=mc,fc=mc,pc=mc;function mc(e){let t;if(e<16&&(t=vc(e)))return t;if(e>64&&Hs)return Hs.decode(j.subarray(N,N+=e));let n=N+e,r=[];for(t=``;N<n;){let e=j[N++];if(!(e&128))r.push(e);else if((e&224)==192){let t=j[N++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=j[N++]&63,n=j[N++]&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=j[N++]&63,n=j[N++]&63,i=j[N++]&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+=V.apply(String,r),r.length=0)}return r.length>0&&(t+=V.apply(String,r)),t}function hc(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=B();return P.freezeData?Object.freeze(t):t}function gc(e){if(P.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=Cc();e===`__proto__`&&(e=`__proto_`),t[e]=B()}return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(B(),B());return t}}var V=String.fromCharCode;function _c(e){let t=N,n=Array(e);for(let r=0;r<e;r++){let e=j[N++];if((e&128)>0){N=t;return}n[r]=e}return V.apply(String,n)}function vc(e){if(e<4)if(e<2){if(e===0)return``;{let e=j[N++];if((e&128)>1){--N;return}return V(e)}}else{let t=j[N++],n=j[N++];if((t&128)>0||(n&128)>0){N-=2;return}if(e<3)return V(t,n);let r=j[N++];if((r&128)>0){N-=3;return}return V(t,n,r)}else{let t=j[N++],n=j[N++],r=j[N++],i=j[N++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){N-=4;return}if(e<6){if(e===4)return V(t,n,r,i);{let e=j[N++];if((e&128)>0){N-=5;return}return V(t,n,r,i,e)}}else if(e<8){let a=j[N++],o=j[N++];if((a&128)>0||(o&128)>0){N-=6;return}if(e<7)return V(t,n,r,i,a,o);let s=j[N++];if((s&128)>0){N-=7;return}return V(t,n,r,i,a,o,s)}else{let a=j[N++],o=j[N++],s=j[N++],c=j[N++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){N-=8;return}if(e<10){if(e===8)return V(t,n,r,i,a,o,s,c);{let e=j[N++];if((e&128)>0){N-=9;return}return V(t,n,r,i,a,o,s,c,e)}}else if(e<12){let l=j[N++],u=j[N++];if((l&128)>0||(u&128)>0){N-=10;return}if(e<11)return V(t,n,r,i,a,o,s,c,l,u);let d=j[N++];if((d&128)>0){N-=11;return}return V(t,n,r,i,a,o,s,c,l,u,d)}else{let l=j[N++],u=j[N++],d=j[N++],f=j[N++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){N-=12;return}if(e<14){if(e===12)return V(t,n,r,i,a,o,s,c,l,u,d,f);{let e=j[N++];if((e&128)>0){N-=13;return}return V(t,n,r,i,a,o,s,c,l,u,d,f,e)}}else{let p=j[N++],m=j[N++];if((p&128)>0||(m&128)>0){N-=14;return}if(e<15)return V(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=j[N++];if((h&128)>0){N-=15;return}return V(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function yc(){let e=j[N++],t;if(e<192)t=e-160;else switch(e){case 217:t=j[N++];break;case 218:t=z.getUint16(N),N+=2;break;case 219:t=z.getUint32(N),N+=4;break;default:throw Error(`Expected string`)}return mc(t)}function bc(e){return P.copyBuffers?Uint8Array.prototype.slice.call(j,N,N+=e):j.subarray(N,N+=e)}function xc(e){let t=j[N++];if(R[t]){let n;return R[t](j.subarray(N,n=N+=e),e=>{N=e;try{return B()}finally{N=n}})}else throw Error(`Unknown extension type `+t)}var Sc=Array(4096);function Cc(){let e=j[N++];if(e>=160&&e<192){if(e-=160,qs>=N)return Ks.slice(N-I,(N+=e)-I);if(!(qs==0&&M<180))return uc(e)}else return N--,wc(B());let t=(e<<5^(e>1?z.getUint16(N):e>0?j[N]:0))&4095,n=Sc[t],r=N,i=N+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=z.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=j[r++],a!=n[o++]){r=1879048192;break}if(r===i)return N=r,n.string;i-=3,r=N}for(n=[],Sc[t]=n,n.bytes=e;r<i;)a=z.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=j[r++],n.push(a);let s=e<16?vc(e):_c(e);return s==null?n.string=uc(e):n.string=s}function wc(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(P.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 Tc=(e,t)=>{let n=B().map(wc),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=F[e];return i&&(i.isShared||Qs)&&((F.restoreStructures||=[])[e]=i),F[e]=n,n.read=sc(n,r),n.read()};R[0]=()=>{},R[0].noBuffer=!0,R[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<<=64n,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 Ec={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};R[101]=()=>{let e=B();if(!Ec[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return Ec[e[0]](e[1],{cause:e[2]})},R[105]=e=>{if(P.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=z.getUint32(N-4);Js||=new Map;let n=j[N],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)&&j[N+1]===115?new Set:{};let i={target:r};Js.set(t,i);let a=B();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},R[112]=e=>{if(P.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=z.getUint32(N-4),n=Js.get(t);return n.used=!0,n.target},R[115]=()=>new Set(B());var Dc=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Oc=typeof globalThis==`object`?globalThis:window;R[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=Dc[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 Oc[r](n)},R[120]=()=>{let e=B();return new RegExp(e[0],e[1])};var kc=[];R[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=N;return N+=t-e.length,L=kc,L=[yc(),yc()],L.position0=0,L.position1=0,L.postBundlePosition=N,N=n,B()},R[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 Ac(e){nc&&nc();let t=M,n=N,r=Gs,i=I,a=qs,o=Ks,s=Ws,c=Js,l=L,u=new Uint8Array(j.slice(0,M)),d=F,f=F.slice(0,F.length),p=P,m=Qs,h=e();return M=t,N=n,Gs=r,I=i,qs=a,Ks=o,Ws=s,Js=c,L=l,j=u,Qs=m,F=d,F.splice(0,F.length,...f),P=p,z=new DataView(j.buffer,j.byteOffset,j.byteLength),h}function jc(){j=null,Js=null,F=null}var Mc=Array(147);for(let e=0;e<256;e++)Mc[e]=+(`1e`+Math.floor(45.15-e*.30103));var Nc=new rc({useRecords:!1});Nc.unpack,Nc.unpackMultiple,Nc.unpack;var Pc={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var Fc;try{Fc=new TextEncoder}catch{}var Ic,Lc,Rc=typeof Buffer<`u`,zc=Rc?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,Bc=Rc?Buffer:Uint8Array,Vc=Rc?4294967296:2144337920,H,Hc,U,W=0,G,K=null,Uc,Wc=21760,Gc=/[\u0080-\uFFFF]/,Kc=Symbol(`record-id`),qc=class extends rc{constructor(e){super(e),this.offset=0;let t,n,r,i,a=Bc.prototype.utf8Write?function(e,t){return H.utf8Write(e,t,H.byteLength-t)}:Fc&&Fc.encodeInto?function(e,t){return Fc.encodeInto(e,H.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(H||(H=new zc(8192),U=H.dataView||=new DataView(H.buffer,0,8192),W=0),G=H.length-10,G-W<2048?(H=new zc(H.length),U=H.dataView||=new DataView(H.buffer,0,H.length),G=H.length-10,W=0):W=W+7&2147483640,t=W,a&2048&&(W+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(K=[],K.size=1/0):K=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[Kc]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o.randomAccessStructure&&e&&typeof e==`object`?e.constructor===Object?C(e):e.constructor!==Map&&!Array.isArray(e)&&!Lc.some(t=>e instanceof t)?C(e.toJSON?e.toJSON():e):y(e):y(e);let n=K;if(K&&Qc(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&&(U.setUint32(n.position+t,U.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&U.setUint32(n.position+t,U.getUint32(n.position+t)+a),W+=e.length*6,W>G&&S(W),o.offset=W;let s=Zc(H.subarray(t,W),e);return i=null,s}return o.offset=W,a&512?(H.start=t,H.end=W,H):H.subarray(t,W)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=H.subarray(t,W),s=$c(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?o.pack(e,a):(o.lastNamedStructuresLength=n,H.length>1073741824&&(H=null),i)}H.length>1073741824&&(H=null),a&1024&&(W=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][Kc]=0;m=[]}},v=e=>{var t=e.length;t<16?H[W++]=144|t:t<65536?(H[W++]=220,H[W++]=t>>8,H[W++]=t&255):(H[W++]=221,U.setUint32(W,t),W+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{W>G&&(H=S(W));var n=typeof e,r;if(n===`string`){let n=e.length;if(K&&n>=4&&n<4096){if((K.size+=n)>Wc){let e,n=(K[0]?K[0].length*3+K[1].length:0)+10;W+n>G&&(H=S(W+n));let r;K.position?(r=K,H[W]=200,W+=3,H[W++]=98,e=W-t,W+=4,Qc(t,y,0),U.setUint16(e+t-3,W-t-e)):(H[W++]=214,H[W++]=98,e=W-t,W+=4),K=[``,``],K.previous=r,K.size=0,K.position=e}let r=Gc.test(e);K[+!r]+=e,H[W++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(W+o>G&&(H=S(W+o)),n<64||!a){let t,a,o,s=W+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?H[s++]=a:a<2048?(H[s++]=a>>6|192,H[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,H[s++]=a>>18|240,H[s++]=a>>12&63|128,H[s++]=a>>6&63|128,H[s++]=a&63|128):(H[s++]=a>>12|224,H[s++]=a>>6&63|128,H[s++]=a&63|128);r=s-W-i}else r=a(e,W+i);r<32?H[W++]=160|r:r<256?(i<2&&H.copyWithin(W+2,W+1,W+1+r),H[W++]=217,H[W++]=r):r<65536?(i<3&&H.copyWithin(W+3,W+2,W+2+r),H[W++]=218,H[W++]=r>>8,H[W++]=r&255):(i<5&&H.copyWithin(W+5,W+3,W+3+r),H[W++]=219,U.setUint32(W,r),W+=4),W+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this.randomAccessStructure?H[W++]=e:e<256?(H[W++]=204,H[W++]=e):e<65536?(H[W++]=205,H[W++]=e>>8,H[W++]=e&255):(H[W++]=206,U.setUint32(W,e),W+=4);else if(e>>0===e)e>=-32?H[W++]=256+e:e>=-128?(H[W++]=208,H[W++]=e+256):e>=-32768?(H[W++]=209,U.setInt16(W,e),W+=2):(H[W++]=210,U.setInt32(W,e),W+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){H[W++]=202,U.setFloat32(W,e);let n;if(t<4||(n=e*Mc[(H[W]&127)<<1|H[W+1]>>7])>>0===n){W+=4;return}else W--}H[W++]=203,U.setFloat64(W,e),W+=8}else if(n===`object`||n===`function`)if(!e)H[W++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||=[]).push(n),H[W++]=214,H[W++]=112,U.setUint32(W,n.id),W+=4;return}else i.set(e,{offset:W-t})}let a=e.constructor;if(a===Object)x(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)H[W++]=128;else{r=e.size,r<16?H[W++]=128|r:r<65536?(H[W++]=222,H[W++]=r>>8,H[W++]=r&255):(H[W++]=223,U.setUint32(W,r),W+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=Ic.length;t<n;t++){let n=Lc[t];if(e instanceof n){let n=Ic[t];if(n.write){n.type&&(H[W++]=212,H[W++]=n.type,H[W++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):x(e):y(t);return}let r=H,i=U,a=W;H=null;let o;try{o=n.pack.call(this,e,e=>(H=r,r=null,W+=e,W>G&&S(W),{target:H,targetView:U,position:W-e}),y)}finally{r&&(H=r,U=i,W=a,G=H.length-10)}o&&(o.length+W>G&&S(o.length+W),W=Xc(o,H,W,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));x(e)}}}else if(n===`boolean`)H[W++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)H[W++]=211,U.setBigInt64(W,e);else if(e<0x10000000000000000&&e>0)H[W++]=207,U.setBigUint64(W,e);else if(this.largeBigIntToFloat)H[W++]=203,U.setFloat64(W,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),Rc)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+W>G&&S(n.length+W),W=Xc(n,H,W,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`);W+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?H[W++]=192:(H[W++]=212,H[W++]=0,H[W++]=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?H[W++]=128|n:n<65536?(H[W++]=222,H[W++]=n>>8,H[W++]=n&255):(H[W++]=223,U.setUint32(W,n),W+=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=>{H[W++]=222;let n=W-t;W+=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`);H[n+++t]=r>>8,H[n+t]=r&255},te=this.useRecords===!1?ee:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||=Object.create(null),a=W++-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==W?(W--,ne(i,c,u)):re(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[Kc];n?H[a+t]=n:re(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[Kc];a?a>=96&&d?(H[W++]=((a-=96)&31)+96,H[W++]=a>>5):H[W++]=a:ne(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},b=typeof this.useRecords==`function`&&this.useRecords,x=b?e=>{b(e)?te(e):ee(e)}:te,S=e=>{let n;if(e>16777216){if(e-t>Vc)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(Vc,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,H.length-1)>>12)+1<<12;let r=new zc(n);return U=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,H.length),H.copy?H.copy(r,0,t,e):r.set(H.slice(t,e)),W-=t,t=0,G=r.length-10,H=r},ne=(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[Kc]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(H[W++]=(a&31)+96,H[W++]=o):H[W++]=a):(o>=0?(H[W++]=213,H[W++]=114,H[W++]=(a&31)+96,H[W++]=o):(H[W++]=212,H[W++]=114,H[W++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[Kc]=0),m.push(e),y(t))},re=(e,n,r,i)=>{let a=H,o=W,s=G,c=t;H=Hc,W=0,t=0,H||(Hc=H=new zc(8192)),G=H.length-10,ne(e,n,i),Hc=H;let l=W;if(H=a,W=o,G=s,t=c,l>1){let e=W+l-1;e>G&&S(e);let n=r+t;H.copyWithin(n+l,n+1,W),H.set(Hc.slice(0,l),n),W=e}else H[r+t]=Hc[0]},C=e=>{let i=Uc(e,H,t,W,r,S,(e,t,r)=>{if(r)return n=!0;W=t;let i=H;return y(e),_(),i===H?W:{position:W,targetView:U,target:H}},this);if(i===0)return x(e);W=i}}useBuffer(e){H=e,H.dataView||=new DataView(H.buffer,H.byteOffset,H.byteLength),U=H.dataView,W=0}set position(e){W=e}get position(){return W}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};Lc=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Xs],Ic=[{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?Jc(e,16,t):Yc(Rc?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==Bc&&this.moreTypes?Jc(e,Dc.indexOf(n.name),t):Yc(e,t)}},{pack(e,t){this.moreTypes?Jc(e,17,t):Yc(Rc?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function Jc(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 Yc(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 Xc(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 Zc(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 Qc(e,t,n){if(K.length>0){U.setUint32(K.position+e,W+n-K.position-e),K.stringsPosition=W-e;let r=K;K=null,t(r[0]),t(r[1])}}function $c(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var el=new qc({useRecords:!1});el.pack,el.pack;var{NEVER:tl,ALWAYS:nl,DECIMAL_ROUND:rl,DECIMAL_FIT:il}=Pc,al=class extends mr()(`effect/rpc/RpcSerialization`){},ol=al.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)}}}),sl=bn(al)(ol),cl=e=>Qt(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>ri(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),m});return _(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return Ve(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*Ft(Qt(()=>i(e)),t)}return yield*he(wt,()=>(t.delete(e),r.delete(e),m))})}}))}),ll=BigInt(0),ul=C(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>ll++),o=yield*Zt(),s=en(o,Kr),c=new Map,l=yield*dr(bl),d=!1;yield*hr(s,He(e=>(d=!0,f(jn(e.id)))));let f=C(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?vt(n.queue):ae(n.queue,e.cause):n.resume(e)}),h=e=>{let r=wi(e.successSchema),a=y(e);return(o,s)=>{let c=s?.headers?io(s.headers):ro,l=s?.context??Vn();if(!r){let r=t=>g(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):tr(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=v(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:ee(_(u,kn))}},g=(e,n,r,i,o,s,u)=>He(f=>{if(d)return nt;let p=a(),h=Yt(l)&&l.value.onRequestStart?l.value.onRequestStart({id:p,tag:e._tag,stream:!1}):m,g=n(e=>t.onFromClient({message:e,context:s,discard:u}),{_tag:`Request`,id:p,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:co(f.getRef(hl),o)});if(u)return h.pipe($r(g));let _;return Ne(ur(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),_=h.pipe($r(g),r?qe(r,{captureStackTrace:!1}):at,Gn(f.context)),_.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>{let t=c.get(p);return c.delete(p),$r(Kn(_),te(p,Array.from(e),s,t?.rpc._tag))})}),v=C(function*(e,r,o,s,f,h){if(d)return yield*nt;let g=i?void 0:yield*xi(`${n}.${e._tag}`,{attributes:t.spanAttributes}),_=u(),v=a(),y=Yt(l)&&l.value.onRequestStart?l.value.onRequestStart({id:v,tag:e._tag,stream:!0}):m,ee=br(_.context,Kr);yield*Ir(ee,e=>{let t=c.get(v);return t?(c.delete(v),te(v,Xt(e)?Array.from(yt(e.cause)):[],h,t.rpc._tag)):m});let b=yield*ai(f);return c.set(v,{_tag:`Queue`,rpc:e,queue:b,scope:ee,context:h,chunkCount:0}),yield*y.pipe($r(r(e=>t.onFromClient({message:e,context:h,discard:!1}),{_tag:`Request`,id:v,tag:e._tag,payload:o,...g?{traceId:g.traceId,spanId:g.spanId,sampled:g.sampled}:{},headers:co(_.getRef(hl),s)}))).pipe(g?qe(g,{captureStackTrace:!1}):at,Ln(e=>ae(b,e)),de,p(ee,{startImmediately:!0})),b}),y=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)}})}},te=(e,n,r,i)=>(Yt(l)&&l.value.onRequestInterrupt?l.value.onRequestInterrupt({id:e,tag:i}):m).pipe($r(ur(i=>{let a=u();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(_t(1e3),Gn(a.context)).addObserver(()=>{i(m)})}))),b=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);if(!i||i._tag!==`Queue`)return m;let a=i.chunkCount+=e.values.length,o=Yt(l)&&l.value.onRequestChunk?l.value.onRequestChunk({id:n,tag:i.rpc._tag,chunkCount:a}):m;return S(i.queue,e.values).pipe($r(o),r?O(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):at,Ln(e=>ae(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);if(!n)return m;c.delete(t);let r=Yt(l)&&l.value.onRequestExit?l.value.onRequestExit({id:t,tag:n.rpc._tag,stream:n._tag===`Queue`,exit:e.exit}):m;return n._tag===`Effect`?r.pipe($r(D(()=>{n.resume(e.exit)}))):r.pipe($r(e.exit._tag===`Success`?vt(n.queue):ae(n.queue,e.exit.cause)))}case`Defect`:return f(Er(e.defect));case`ClientEnd`:return m}},x;if(t.flatten){let t=new Map;x=function(n,r,i){let a=t.get(n);return a||(a=h(e.requests.get(n)),t.set(n,a)),a(r,i)}}else x={},e.requests.forEach(e=>{x[e._tag]=h(e)});return{client:x,write:b}}),dl=0,fl=C(function*(e,t){let n=dl++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*gl,s=new Map,{client:c,write:l}=yield*ul(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?Ps():void 0,c=u(),l={rpc:r,context:a?Fr(c.context,Ns,a):c.context,schemas:ml(r)};return s.set(t.id,l),l.schemas.encodePayload(t.payload).pipe(Ft(l.context),Mr,O(e=>i(n,{...t,id:String(t.id),payload:e,headers:Object.entries(t.headers)},a&&a.readUnsafe())))}case`Ack`:return s.get(t.requestId)?i(n,{_tag:`Ack`,requestId:String(t.requestId)}):m;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:String(t.requestId)})):m;case`Eof`:return m}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=Bs(e.requestId),n=s.get(t);return!n||An(n.schemas.decodeChunk)?m:n.schemas.decodeChunk.value(e.values).pipe(Ft(n.context),Mr,O(t=>l({_tag:`Chunk`,clientId:0,requestId:Bs(e.requestId),values:t})),jt(t=>l({_tag:`Exit`,clientId:0,requestId:Bs(e.requestId),exit:In(t)})))}case`Exit`:{let t=Bs(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(Ft(n.context),Mr,be({onSuccess:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>l({_tag:`Exit`,clientId:0,requestId:t,exit:In(e)})}))):m}case`Defect`:return l({_tag:`Defect`,clientId:0,defect:Sl(e.defect)});case`ClientProtocolError`:{let t=lr(e.error);return Ze(s.keys(),e=>l({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return m}}).pipe(Ln(ft),de,Yn),c}),pl=new WeakMap,ml=e=>{let t=pl.get(e);return t===void 0?(t={decodeChunk:ti(ki(e.successSchema),e=>zn(y(je(e.success)))),encodePayload:ii(y(e.payloadSchema)),decodeExit:zn(y(ia(e)))},pl.set(e,t),t):t},hl=Gr(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>ro}),gl=class extends mr()(`effect/rpc/RpcClient/Protocol`){static make=cl},_l=e=>gl.make(C(function*(t,n){let r=yield*ps,i=yield*al,a=yield*dr(xl),o=new Map,c=yield*r.writer,l=i.makeUnsafe(),u=yield*yl(c(l.encode(Vs)),Yt(a)?a.value:void 0),d,f=Qt(()=>(d=void 0,Yt(a)?a.value.onConnect:m)),p=e=>Ze(n,n=>t(n,e));return yield*Qt(()=>(l=i.makeUnsafe(),u.reset(),r.runRaw(e=>{try{let n=l.decode(e);if(n.length===0)return;let r=0;return Xn({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return u.onPong;if(`requestId`in e){let n=o.get(e.requestId);if(n!==void 0)return e._tag===`Exit`&&o.delete(e.requestId),t(n,e)}return p(e)},step:Rt})}catch(e){return p({_tag:`ClientProtocolError`,error:new zs({reason:new Rs({message:`Error decoding message`,cause:e})})})}},{onOpen:f}).pipe(st(O(u.timeout,()=>(Yt(a)&&a.value.onPingTimeout?a.value.onPingTimeout:m).pipe($r(gt(new Es({reason:new Cs({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))))).pipe(O(()=>gt(new Es({reason:new ws({code:1e3})}))),Yt(a)?di(a.value.onDisconnect):at,ln(t=>{let n=ht(t),r=s(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?m:(d=new zs({reason:r?n.success.reason:new Rs({message:`Unknown socket error`,cause:Xe(t)})}),p({_tag:`ClientProtocolError`,error:d}))}),Sn(e?.retryPolicy??vl),_n({module:`RpcClient`,method:`makeProtocolSocket`}),Yn),{send(e,t){if(d)return gt(d);t._tag===`Request`&&o.set(t.id,e);let n=l.encode(t);return n===void 0?m:Mr(c(n))},supportsAck:!0,supportsTransferables:!1}})),vl=Le(500,1.5).pipe(Te(xe(5e3))),yl=C(function*(e,t){let n=!0,r=Je(),i=()=>{n=!0,r.closeUnsafe()},a=D(()=>{n=!0}).pipe($r(t?.onPong??m));return yield*Qt(()=>n?(n=!1,(t?.onPing??m).pipe($r(e))):r.open).pipe(gi(`5 seconds`),Ke,er,de,Yn),{timeout:r.await,reset:i,onPong:a}}),bl=class extends mr()(`effect/rpc/RpcClient/RequestHooks`){},xl=class extends mr()(`effect/rpc/RpcClient/ConnectionHooks`){},Sl=kr(lt),Cl=e(r(),1);function wl(e){return{_tag:`Value`,value:e}}function Tl(e,t){return{_tag:`Record`,keys:e,value:t}}function El(e,t){return{_tag:`Array`,length:e,value:t}}Nr(`SourceError`);var Dl=Gr(`effect/ConfigProvider`,{defaultValue:()=>Al()}),Ol={...Qn,toJSON(){return{_id:`ConfigProvider`}}};function kl(e,t,n){let r=Object.create(Ol);return r.get=e,r.mapInput=t,r.prefix=n,r.load=r=>(t&&(r=t(r)),n&&(r=[...n,...r]),e(r)),r}function Al(e){let t=e?.env??{APP_VERSION:`0.1.5`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_HOSTED_APP_URL:``,VITE_HTTP_URL:``,VITE_WS_URL:``},n=jl(t);return kl(e=>E(Nl(n,t,e)))}function jl(e){let t={};for(let[n,r]of Object.entries(e)){if(r===void 0)continue;let e=n.split(`_`),i=t;for(let t of e)i.children??={},i=i.children[t]??={};i.value=r}return t}var Ml=/^(0|[1-9][0-9]*)$/;function Nl(e,t,n){let r=t[n.map(String).join(`_`)],i=Pl(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:wl(r):a.every(e=>Ml.test(e))?El(Math.max(...a.map(e=>parseInt(e,10)))+1,r):Tl(new Set(a),r)}function Pl(e,t){if(t.length===0)return e;let n=e;for(let e of t)if(n=n?.children?.[String(e)],!n)return;return n}var Fl=`~effect/Config`,Il=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},Ll={...Qn,...d,[Fl]:Fl,asEffect(){return O(Dl.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function Rl(e){let t=Object.create(Ll);return t.parse=e,t}var zl=C(function*(e,t){let n=yield*e.load(t);if(n!==void 0)switch(n._tag){case`Value`:return n.value;case`Record`:{if(n.value!==void 0)return n.value;let r={};for(let i of n.keys){let n=yield*zl(e,[...t,i]);n!==void 0&&(r[i]=n)}return r}case`Array`:{if(n.value!==void 0)return n.value;let r=[];for(let i=0;i<n.length;i++)r.push(yield*zl(e,[...t,i]));return r}}}),Bl=C(function*(e,t,n){switch(e._tag){case`Objects`:{let r={};for(let i of e.propertySignatures){let e=i.name;if(typeof e==`string`){let a=yield*Bl(i.type,t,[...n,e]);a!==void 0&&(r[e]=a)}}if(e.indexSignatures.length>0){let i=yield*t.load(n);if(i&&i._tag===`Record`)for(let a of e.indexSignatures){let e=_e(a.parameter);for(let o of i.keys)if(!Object.hasOwn(r,o)&&e(o)){let e=yield*Bl(a.type,t,[...n,o]);e!==void 0&&(r[o]=e)}}}return r}case`Arrays`:{let r=yield*t.load(n);if(r&&r._tag===`Value`)return r.value;let i=[];for(let r=0;r<e.elements.length;r++)i.push(yield*Bl(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*zl(t,n);case`Suspend`:return yield*Bl(e.thunk(),t,n);default:{let e=yield*t.load(n);return e===void 0?void 0:e._tag===`Value`||e._tag===`Record`&&e.value!==void 0||e._tag===`Array`&&e.value!==void 0?e.value:void 0}}});function Vl(e,t){let n=kt(e),r=Pe(n),i=Vt(n.ast),a=typeof t==`string`?[t]:t??[];return Rl(e=>{let t=e.prefix?[...e.prefix,...a]:a;return Bl(i,e,a).pipe(bt(e=>r(e).pipe(Dt(e=>new Nt(t.length>0?new Lr(t,e):e)))),Dt(e=>new Il(e)))})}var Hl=(e,t,n)=>{let r=Ht(e,t);return Cr([r,w.pipe(fr(Ht(w,w),qt(n)),fr(r))])},Ul=`~effect/ManagedRuntime`,Wl=(e,t)=>{let n=t?.memoMap??Kt(),r=Vr(`parallel`),i=tn(r,`sequential`),a={onFiberStart:Ue(r)},o=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,s,c=He(t=>(s||=zr(_i(ke(e,n,i),e=>D(()=>{l.cachedContext=e})),{...a,scheduler:t.currentScheduler}),se(Zn(s)))),l={[Ul]:Ul,memoMap:n,scope:r,contextEffect:c,cachedContext:void 0,context(){return l.cachedContext===void 0?rn(l.contextEffect):Promise.resolve(l.cachedContext)},dispose(){return rn(l.disposeEffect)},disposeEffect:Qt(()=>(l.contextEffect=cn(`ManagedRuntime disposed`),l.cachedContext=void 0,Hn(l.scope,hi))),runFork(e,t){return l.cachedContext===void 0?zr(Gl(l,e),o(t)):Gn(l.cachedContext)(e,o(t))},runCallback(e,t){return l.cachedContext===void 0?Yr(Gl(l,e),o(t)):vr(l.cachedContext)(e,o(t))},runSyncExit(e){return l.cachedContext===void 0?ei(Gl(l,e)):vn(l.cachedContext)(e)},runSync(e){return l.cachedContext===void 0?sr(Gl(l,e)):On(l.cachedContext)(e)},runPromiseExit(e,t){return l.cachedContext===void 0?Sr(Gl(l,e),o(t)):Ur(l.cachedContext)(e,o(t))},runPromise(e,t){return l.cachedContext===void 0?rn(Gl(l,e),o(t)):pn(l.cachedContext)(e,o(t))}};return l};function Gl(e,t){return O(e.contextEffect,e=>Ft(t,e))}function Kl(e){return e}var ql=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,b||(b=!0,ie());else{var t=n(l);t!==null&&se(te,t.startTime-e)}}var b=!1,x=-1,S=5,ne=-1;function re(){return g?!0:!(e.unstable_now()-ne<S)}function C(){if(g=!1,b){var t=e.unstable_now();ne=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(x),x=-1),p=!0;var a=f;try{b:{for(ee(t),d=n(c);d!==null&&!(d.expirationTime>t&&re());){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&&se(te,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ie():b=!1}}}var ie;if(typeof y==`function`)ie=function(){y(C)};else if(typeof MessageChannel<`u`){var ae=new MessageChannel,oe=ae.port2;ae.port1.onmessage=C,ie=function(){oe.postMessage(null)}}else ie=function(){_(C,0)};function se(t,n){x=_(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`):S=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(x),x=-1):h=!0,se(te,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,b||(b=!0,ie()))),r},e.unstable_shouldYield=re,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Jl=t(((e,t)=>{t.exports=ql()})),Yl=e(Jl(),1);function Xl(e){let t=Yl.unstable_scheduleCallback(4,e);return()=>Yl.unstable_cancelCallback(t)}var Zl=Cl.createContext(wr({scheduleTask:Xl,defaultIdleTTL:400})),Ql=new WeakMap;function $l(e,t){let n=Ql.get(e);n===void 0&&(n=new WeakMap,Ql.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 yr(t,e)}};return n.set(t,i),i}function eu(e,t){let n=$l(e,t);return Cl.useSyncExternalStore(n.subscribe,n.snapshot,n.getServerSnapshot)}var tu=(e,t)=>{let n=Cl.useContext(Zl);return t?eu(n,Cl.useMemo(()=>nr(e,t),[e,t])):eu(n,e)},nu=(e,t,n)=>{let r=Cl.useContext(Zl);Cl.useEffect(()=>r.subscribe(e,t,n),[r,e,t,n?.immediate])},ru=i(),iu=Di(),q=wr();function au(e){let t=(0,ru.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,iu.jsx)(Zl.Provider,{value:q,children:n}),t[0]=n,t[1]=r),r}function ou(e,t){if(!St(e)||!St(t))return t;let n={...e};for(let[e,r]of Object.entries(t)){if(r===void 0)continue;let t=n[e];n[e]=St(t)&&St(r)?ou(t,r):r}return n}var su=new It(xn(e=>ce({try:()=>{let t=e.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g,(e,t)=>t?e:``);return t=t.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g,(e,t)=>t?e:``),t=t.replace(/,(\s*[}\]])/g,`$1`),li(JSON.parse(t))},catch:t=>new gr(li(e),{message:String(t)})})),qr());(e=>w.pipe(fr(e,su)))(Xi);function cu(e){return!!(e&&(e.instanceId!==void 0||e.model!==void 0))}function lu(e){if(e.patch===void 0)return e.current?[...e.current]:void 0;if(e.patch.length===0)return;let t=new Map((e.current??[]).map(e=>[e.id,e.value]));for(let n of e.patch)t.set(n.id,n.value);return[...t.entries()].map(([e,t])=>({id:e,value:t}))}function uu(e,t){let n=t.textGenerationModelSelection,r=ou(e,t),i=t.providerInstances===void 0?r:{...r,providerInstances:t.providerInstances};if(!n)return i;let a=n.instanceId??e.textGenerationModelSelection.instanceId,o=n.model??e.textGenerationModelSelection.model,s=cu(n)?n.options:lu({current:e.textGenerationModelSelection.options,patch:n.options});return{...i,textGenerationModelSelection:ra(a,o,s)}}var du=[{key:`mod+j`,command:`terminal.toggle`},{key:`mod+d`,command:`terminal.split`,when:`terminalFocus`},{key:`mod+n`,command:`terminal.new`,when:`terminalFocus`},{key:`mod+w`,command:`terminal.close`,when:`terminalFocus`},{key:`mod+p`,command:`workspace.files`,when:`!terminalFocus`},{key:`ctrl+shift+g`,command:`workspace.review`,when:`!terminalFocus`},{key:"ctrl+`",command:`workspace.terminal`,when:`!terminalFocus`},{key:`mod+d`,command:`diff.toggle`,when:`!terminalFocus`},{key:`mod+k`,command:`commandPalette.toggle`,when:`!terminalFocus`},{key:`mod+n`,command:`chat.new`,when:`!terminalFocus`},{key:`mod+shift+o`,command:`chat.new`,when:`!terminalFocus`},{key:`mod+shift+n`,command:`chat.newLocal`,when:`!terminalFocus`},{key:`mod+shift+m`,command:`modelPicker.toggle`,when:`!terminalFocus`},{key:`mod+o`,command:`editor.openFavorite`},{key:`mod+shift+[`,command:`thread.previous`},{key:`mod+shift+]`,command:`thread.next`},...Pi.map((e,t)=>({key:`mod+${t+1}`,command:e})),...Ni.map((e,t)=>({key:`mod+${t+1}`,command:e,when:`modelPickerOpen`}))];function fu(e){return e===`space`?` `:e===`esc`?`escape`:e}function pu(e){let t=[...e.toLowerCase().split(`+`).map(e=>e.trim())],n=0;for(;t[t.length-1]===``;)n+=1,t.pop();if(n>0&&t.push(`+`),t.some(e=>e.length===0)||t.length===0)return null;let r=null,i=!1,a=!1,o=!1,s=!1,c=!1;for(let e of t)switch(e){case`cmd`:case`meta`:i=!0;break;case`ctrl`:case`control`:a=!0;break;case`shift`:o=!0;break;case`alt`:case`option`:s=!0;break;case`mod`:c=!0;break;default:if(r!==null)return null;r=fu(e)}return r===null?null:{key:r,metaKey:i,ctrlKey:a,shiftKey:o,altKey:s,modKey:c}}function mu(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(!r)break;if(/\s/.test(r)){n+=1;continue}if(e.startsWith(`&&`,n)){t.push({type:`and`}),n+=2;continue}if(e.startsWith(`||`,n)){t.push({type:`or`}),n+=2;continue}if(r===`!`){t.push({type:`not`}),n+=1;continue}if(r===`(`){t.push({type:`lparen`}),n+=1;continue}if(r===`)`){t.push({type:`rparen`}),n+=1;continue}let i=/^[A-Za-z_][A-Za-z0-9_.-]*/.exec(e.slice(n));if(!i)return null;t.push({type:`identifier`,value:i[0]}),n+=i[0].length}return t}function hu(e){let t=mu(e);if(!t||t.length===0)return null;let n=0,r=e=>{if(e>64)return null;let r=t[n];if(!r)return null;if(r.type===`identifier`)return n+=1,{type:`identifier`,name:r.value};if(r.type===`lparen`){n+=1;let r=o(e+1),i=t[n];return!r||!i||i.type!==`rparen`?null:(n+=1,r)}return null},i=e=>{let i=0;for(;t[n]?.type===`not`;)if(n+=1,i+=1,i>64)return null;let a=r(e);if(!a)return null;for(;i>0;)a={type:`not`,node:a},--i;return a},a=e=>{let r=i(e);if(!r)return null;for(;t[n]?.type===`and`;){n+=1;let t=i(e);if(!t)return null;r={type:`and`,left:r,right:t}}return r},o=e=>{let r=a(e);if(!r)return null;for(;t[n]?.type===`or`;){n+=1;let t=a(e);if(!t)return null;r={type:`or`,left:r,right:t}}return r},s=o(0);return!s||n!==t.length?null:s}function gu(e){let t=pu(e.key);if(!t)return null;if(e.when!==void 0){let n=hu(e.when);return n?{command:e.command,shortcut:t,whenAst:n}:null}return{command:e.command,shortcut:t}}function _u(e){let t=[];for(let n of e){let e=gu(n);e&&t.push(e)}return t.slice(-256)}var vu=_u(du);function yu(e,t){return un(t).pipe(Br,wn(e))}function bu(e){return{issues:e.issues,providers:e.providers,settings:e.settings}}var xu=[],Su=[],Cu=e=>e?.availableEditors??xu,wu=e=>e?.keybindings??vu,Tu=e=>e?.keybindingsConfigPath??null,Eu=e=>e?.observability??null,Du=e=>e?.providers??Su,Ou=e=>e?.settings??Mi,ku=yu(`server-welcome`,null),Au=yu(`server-config`,null),ju=yu(`server-config-updated`,null),Mu=yu(`server-providers-updated`,null);function Nu(){return q.get(Au)}function Pu(){return q.get(ju)}function Fu(e){Hu(e),Uu({providers:e.providers}),Wu(bu(e),`snapshot`)}function Iu(e){switch(e.type){case`snapshot`:Fu(e.config);return;case`keybindingsUpdated`:{let t=Nu();if(!t)return;let n={...t,keybindings:e.payload.keybindings,issues:e.payload.issues};Hu(n),Wu(bu(n),e.type);return}case`providerStatuses`:Lu(e.payload);return;case`settingsUpdated`:Ru(e.payload.settings);return}}function Lu(e){let t=Nu();if(Uu(e),!t)return;let n={...t,providers:e.providers};Hu(n),Wu(bu(n),`providerStatuses`)}function Ru(e){let t=Nu();if(!t)return;let n={...t,settings:e};Hu(n),Wu(bu(n),`settingsUpdated`)}function zu(e){q.set(ku,e)}function Bu(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&zu(e.payload)}),e.subscribeConfig(e=>{Iu(e)})];return Nu()===null&&e.getConfig().then(e=>{t||Nu()!==null||Fu(e)}).catch(()=>void 0),()=>{t=!0;for(let e of n)e()}}var Vu=1;function Hu(e){q.set(Au,e)}function Uu(e){q.set(Mu,e)}function Wu(e,t){q.set(ju,{id:Vu++,payload:e,source:t})}function Gu(e,t){let n=(0,Cl.useRef)(t);n.current=t,nu(e,(0,Cl.useCallback)(e=>{e!==null&&n.current(e)},[]),{immediate:!0})}function Ku(){return tu(Au)}function qu(){return tu(Au,Ou)}function Ju(){return tu(Au,Du)}function Yu(){return tu(Au,wu)}function Xu(){return tu(Au,Cu)}function Zu(){return tu(Au,Tu)}function Qu(){return tu(Au,Eu)}function $u(e){Gu(ku,e)}function ed(e){Gu(ju,e)}var td=new Set,nd=new Set,rd=Ai,id=!1,ad=null;function od(){for(let e of td)e()}function sd(){for(let e of nd)e()}function cd(){return rd}function ld(e){rd=e,od()}function ud(){return id}function dd(e){id!==e&&(id=e,sd())}function fd(e){return td.add(e),()=>{td.delete(e)}}function pd(){return ad}function md(e){ad=e}function hd(e){ad===e&&(ad=null)}var gd=`[CLIENT_SETTINGS]`;function _d(e){let t=fd(e);return vd(),t}async function vd(){if(ud())return;let e=pd();if(e)return e;let t=(async()=>{try{let e=await lp().persistence.getClientSettings();e&&ld({...Ai,...e})}catch(e){console.error(`${gd} hydrate failed`,e)}finally{dd(!0)}})().finally(()=>{hd(t)});return md(t),t}function yd(e){ld(e),lp().persistence.setClientSettings(e).catch(e=>{console.error(`${gd} persist failed`,e)})}var bd=new Set(Ae(Xi.fields));function xd(e){let t={},n={};for(let[r,i]of Object.entries(e))bd.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function Sd(){return cd()}function Cd(e){let t=(0,ru.c)(6),n=qu(),r=(0,Cl.useSyncExternalStore)(_d,cd,wd),i;t[0]!==r||t[1]!==n?(i={...n,...r},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;return t[3]!==a||t[4]!==e?(o=e?e(a):a,t[3]=a,t[4]=e,t[5]=o):o=t[5],o}function wd(){return Ai}function Td(){let e=(0,ru.c)(2),t=Ed,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{t(Ti)},e[0]=n):n=e[0];let r=n,i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i={updateSettings:t,resetSettings:r},e[1]=i):i=e[1],i}function Ed(e){let{serverPatch:t,clientPatch:n}=xd(e);if(Object.keys(t).length>0){let e=Nu();e&&Ru(uu(e.settings,t)),lp().server.updateSettings(t)}Object.keys(n).length>0&&yd({...cd(),...n})}var Dd=Object.freeze({data:null,error:null,cause:null,isPending:!1}),Od=Object.freeze({...Dd,isPending:!0}),kd=un(Dd).pipe(Br,wn(`git-status:null`)),Ad=()=>void 0,jd=new Map,Md=new Set,Nd=new Map,Pd=new Map,Fd=1e3,Id=$t(e=>(Md.add(e),un(Od).pipe(Br,wn(`git-status:${e}`))));function Ld(e){return e.environmentId===null||e.cwd===null?null:`${e.environmentId}:${e.cwd}`}function Rd(e,t){return`${e}:remote-poll=${t?.automaticRemoteRefreshIntervalMs??0}`}function zd(e){if(e.environmentId===null)return null;let t=jx(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.vcs}:null}function Bd(e){let t=Ld(e);return t===null?Dd:q.get(Id(t))}function Vd(e,t,n){let r=Ld(e);if(r===null)return Ad;let i=Rd(r,n),a=jd.get(i);return a?(a.refCount+=1,()=>qd(i)):(jd.set(i,{refCount:1,unsubscribe:Jd(r,e,t,n)}),()=>qd(i))}function Hd(e,t){return Ud(e,t).then(t=>{let n=Ld(e);return n!==null&&t!==null&&Wd(n,t),t})}function Ud(e,t){let n=Ld(e);if(n===null||e.cwd===null)return Promise.resolve(null);let r=t??zd(e)?.client;if(!r)return Promise.resolve(Bd(e).data);let i=Nd.get(n);if(i)return i;let a=Pd.get(n)??0;if(Date.now()-a<Fd)return Promise.resolve(Bd(e).data);Pd.set(n,Date.now());let o=r.refreshStatus({cwd:e.cwd}).finally(()=>{Nd.delete(n)});return Nd.set(n,o),o}function Wd(e,t){q.set(Id(e),{data:t,error:null,cause:null,isPending:!1})}function Gd(e){let t=(0,ru.c)(5),n=Ld(e),r=Cd(Kd),i,a;t[0]!==r||t[1]!==e.cwd||t[2]!==e.environmentId?(i=()=>Vd({environmentId:e.environmentId,cwd:e.cwd},void 0,{automaticRemoteRefreshIntervalMs:r}),a=[r,e.environmentId,e.cwd],t[0]=r,t[1]=e.cwd,t[2]=e.environmentId,t[3]=i,t[4]=a):(i=t[3],a=t[4]),(0,Cl.useEffect)(i,a);let o=tu(n===null?kd:Id(n));return n===null?Dd:o}function Kd(e){return e.gitStatusPollIntervalMs}function qd(e){let t=jd.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),jd.delete(e)))}function Jd(e,t,n,r){if(t.cwd===null)return Ad;let i=t.cwd,a=null,o=Ad,s=()=>{let s=n?{clientIdentity:`provided:${e}`,client:n}:zd(t);if(!s){a!==null&&(o(),o=Ad,a=null),Xd(e);return}a!==s.clientIdentity&&(o(),a=s.clientIdentity,o=Yd(e,{...t,cwd:i},s.client,r))},c=n?Ad:Ax(s);return s(),()=>{c(),o()}}function Yd(e,t,n,r){Xd(e);let i=t.cwd,a=r?.automaticRemoteRefreshIntervalMs??0,o=n.onStatus({cwd:i,...a>0?{automaticRemoteRefreshIntervalMs:a}:{}},t=>{q.set(Id(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{Xd(e)}}),s=!1;return Ud(t,n).then(t=>{!s&&t!==null&&Wd(e,t)}).catch(()=>void 0),()=>{s=!0,o()}}function Xd(e){let t=Id(e),n=q.get(t),r=n.data===null?Od:{...n,error:null,cause:null,isPending:!0};n.data===r.data&&n.error===r.error&&n.cause===r.cause&&n.isPending===r.isPending||q.set(t,r)}var Zd={key:`primary`},Qd=3e4,$d=5*6e4;function ef(e){let t=e?.environmentId??null;return t?ua()?.environmentId===t?Zd:{key:t}:Zd}var tf=pr({getRegistry:()=>q,getClient:e=>{if(e===Zd.key){let e=ua()?.environmentId??null,t=e?jx(e):null;if(t)return t.client.server;try{return cp()?.server??null}catch{return null}}let t=jx(Hi.make(e));return t?t.client.server:null}}),nf=$t(e=>un(()=>Oe(()=>tf.refresh({key:e}))).pipe(mn({staleTime:Qd,revalidateOnMount:!0}),Xr($d),wn(`source-control-discovery:auto-refresh:${e}`)));function rf(e){return tf.refresh(ef(e))}function af(e){return tf.getSnapshot(ef(e))}function of(e){let t=Pr(ef(e))??Zd.key;return tu(nf(t)),tu(Bn(t))}var sf=15e3,cf=new Map,lf=un([]).pipe(Br,wn(`slow-rpc-ack-requests`));function uf(e){q.set(lf,[...e])}function df(){return q.get(lf)}function ff(e){return!e.includes(`subscribe`)}function pf(e,t){if(!ff(t))return;gf(e),vf();let n=Date.now(),r={requestId:e,startedAt:new Date(n).toISOString(),startedAtMs:n,tag:t,thresholdMs:sf},i=setTimeout(()=>{cf.delete(e),_f(r)},sf);cf.set(e,{request:r,timeoutId:i})}function mf(e){gf(e);let t=df();t.some(t=>t.requestId===e)&&uf(t.filter(t=>t.requestId!==e))}function hf(){for(let e of cf.values())clearTimeout(e.timeoutId);cf.clear(),uf([])}function gf(e){let t=cf.get(e);t&&(clearTimeout(t.timeoutId),cf.delete(e))}function _f(e){let t=[...df(),e];if(t.length<=256){uf(t);return}uf(t.slice(-256))}function vf(){for(;cf.size>=256;){let e=cf.keys().next().value;if(e===void 0)return;gf(e)}}function yf(){return tu(lf)}var bf=1e3,xf=64e3,Sf=un(Object.freeze({attemptCount:0,closeCode:null,closeReason:null,connectionLabel:null,connectedAt:null,disconnectedAt:null,hasConnected:!1,lastError:null,lastErrorAt:null,nextRetryAt:null,online:typeof navigator>`u`?!0:navigator.onLine!==!1,phase:`idle`,reconnectAttemptCount:0,reconnectMaxAttempts:8,reconnectPhase:`idle`,socketUrl:null})).pipe(Br,wn(`ws-connection-status`));function Cf(){return new Date().toISOString()}function wf(e){let t=e(Ef());return q.set(Sf,t),t}function Tf(e){return e?.trim()||null}function Ef(){return q.get(Sf)}function Df(e){return e.phase===`connected`?`connected`:!e.online&&(e.disconnectedAt!==null||e.phase===`disconnected`)?`offline`:e.hasConnected?`reconnecting`:e.phase===`disconnected`?`error`:`connecting`}function Of(e,t){let n=Tf(t?.connectionLabel);return wf(t=>({...t,attemptCount:t.attemptCount+1,connectionLabel:n??t.connectionLabel,nextRetryAt:null,phase:`connecting`,reconnectAttemptCount:t.phase===`connected`?1:t.reconnectAttemptCount+1,reconnectPhase:`attempting`,socketUrl:e}))}function kf(e){let t=Tf(e?.connectionLabel);return wf(e=>({...e,closeCode:null,closeReason:null,connectionLabel:t??e.connectionLabel,connectedAt:Cf(),disconnectedAt:null,hasConnected:!0,nextRetryAt:null,phase:`connected`,reconnectAttemptCount:0,reconnectPhase:`idle`}))}function Af(e,t){let n=e?.trim(),r=t?.trim();return n?r?`${n} Hint: ${r}`:n:r?`Hint: ${r}`:null}function jf(e,t){return wf(n=>Lf(n,{lastError:Af(e,t?.versionMismatchHint)??Af(n.lastError,t?.versionMismatchHint),lastErrorAt:Cf()}))}function Mf(e,t){let n=Tf(t?.connectionLabel);return wf(r=>Lf(r,{closeCode:e?.code??r.closeCode,closeReason:Af(e?.reason,t?.versionMismatchHint)??Af(r.closeReason,t?.versionMismatchHint)},n===null?void 0:{connectionLabel:n}))}function Nf(e){return wf(t=>({...t,online:e}))}function Pf(){return wf(e=>({...e,nextRetryAt:null,reconnectAttemptCount:0,reconnectPhase:`idle`}))}function Ff(){return tu(Sf)}function If(e){return!Number.isInteger(e)||e<0||e>=7?null:Math.min(Math.round(bf*2**e),xf)}function Lf(e,t,n){let r=e.disconnectedAt??Cf(),i=e.nextRetryAt!==null||e.reconnectPhase===`exhausted`?null:If(Math.max(0,e.reconnectAttemptCount-1));return{...e,...t,connectionLabel:Tf(n?.connectionLabel)??e.connectionLabel,disconnectedAt:r,nextRetryAt:i===null?e.nextRetryAt:new Date(Date.now()+i).toISOString(),phase:`disconnected`,reconnectPhase:e.reconnectPhase===`waiting`||e.reconnectPhase===`exhausted`?e.reconnectPhase:i===null?`exhausted`:`waiting`}}function Rf(e,t,n){let r=e.getBoundingClientRect(),i=Math.min(Math.max(4,t),Math.max(4,window.innerWidth-r.width-4)),a=Math.min(Math.max(4,n),Math.max(4,window.innerHeight-r.height-4));e.style.left=`${i}px`,e.style.top=`${a}px`}function zf(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=[],a=e=>{document.removeEventListener(`keydown`,o),r.remove();for(let e of i)e.remove();n(e)},o=e=>{e.key===`Escape`&&(e.preventDefault(),a(null))},s=e=>{for(;i.length>e;)i.pop()?.remove()},c=(e,t,n,r)=>{s(r);let o=document.createElement(`div`);o.className=`fixed z-[10000] min-w-[160px] rounded-md border border-border bg-popover py-1 shadow-xl animate-in fade-in zoom-in-95`,o.style.left=`${t}px`,o.style.top=`${n}px`,o.dataset.level=String(r);for(let t of e){let e=document.createElement(`button`);e.type=`button`;let n=Array.isArray(t.children)&&t.children.length>0,l=!n&&(t.destructive===!0||t.id===`delete`),u=t.disabled===!0;e.disabled=u,e.className=u?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-muted-foreground/60 cursor-not-allowed`:l?`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-destructive hover:bg-accent cursor-default`:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-[11px] text-popover-foreground hover:bg-accent cursor-default`;let d=document.createElement(`span`);if(d.className=`min-w-0 flex-1 truncate`,d.textContent=t.label,e.appendChild(d),n){let t=document.createElement(`span`);t.className=`shrink-0 text-muted-foreground/70`,t.textContent=`›`,e.appendChild(t)}u||(n?(e.addEventListener(`mouseenter`,()=>{let n=e.getBoundingClientRect(),a=n.right+4,o=n.top;c(t.children,a,o,r+1);let s=i[r+1];if(!s)return;let l=s.getBoundingClientRect();l.right>window.innerWidth&&Rf(s,n.left-l.width-4,n.top)}),e.addEventListener(`click`,e=>{e.preventDefault()})):(e.addEventListener(`mouseenter`,()=>{s(r+1)}),e.addEventListener(`click`,()=>a(t.id)))),o.appendChild(e)}o.addEventListener(`mouseenter`,()=>{s(r+1)}),document.body.appendChild(o),i[r]=o,requestAnimationFrame(()=>{Rf(o,t,n)})};r.addEventListener(`mousedown`,()=>a(null)),document.addEventListener(`keydown`,o),document.body.appendChild(r),c(e,t?.x??0,t?.y??0,0)})}var Bf=`ryco:client-settings:v1`,Vf=`ryco:saved-environment-registry:v1`,Hf=a({environmentId:Hi,label:w,httpBaseUrl:w,wsBaseUrl:w,createdAt:w,lastConnectedAt:Ee(w),desktopSsh:pe(a({alias:w,hostname:w,username:Ee(w),port:Ee(Lt)})),bearerToken:pe(w)}),Uf=a({version:pe(Lt),records:pe($e(Hf))});function Wf(){return typeof window<`u`}function Gf(e){let t={environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt};return e.desktopSsh?{...t,desktopSsh:e.desktopSsh}:t}function Kf(){if(!Wf())return null;try{return qi(Bf,aa)}catch{return null}}function qf(e){Wf()&&Ui(Bf,e,aa)}function Jf(){if(!Wf())return{};try{return qi(`ryco:saved-environment-registry:v1`,Uf)??{}}catch{return{}}}function Yf(e){Wf()&&Ui(Vf,e,Uf)}function Xf(){return Jf().records??[]}function Zf(e){Yf({version:1,records:e})}function Qf(){return Xf().map(e=>Gf(e))}function $f(e){let t=new Map(Xf().map(e=>[e.environmentId,e]));Zf(e.map(e=>{let n=t.get(e.environmentId)?.bearerToken;return n?{environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt,...e.desktopSsh?{desktopSsh:e.desktopSsh}:{},bearerToken:n}:Gf(e)}))}function ep(e){return Xf().find(t=>t.environmentId===e)?.bearerToken??null}function tp(e,t){let n=Jf(),r=n.records??[],i=!1;return Yf({version:n.version??1,records:r.map(n=>{if(n.environmentId!==e)return n;i=!0;let r={environmentId:n.environmentId,label:n.label,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,createdAt:n.createdAt,lastConnectedAt:n.lastConnectedAt,bearerToken:t};return n.desktopSsh?Object.assign(r,{desktopSsh:n.desktopSsh}):r})}),i}function np(e){let t=Jf();Yf({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?Gf(t):t)})}var rp;function ip(){return Error(`Local backend API is unavailable before a backend is paired.`)}function ap(e){return{dialogs:{pickFolder:async e=>window.desktopBridge?window.desktopBridge.pickFolder(e):null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},shell:{openInEditor:(t,n)=>e?e.shell.openInEditor({cwd:t,editor:n}):Promise.reject(ip()),openExternal:async e=>{if(window.desktopBridge){if(!await window.desktopBridge.openExternal(e))throw Error(`Unable to open link.`);return}window.open(e,`_blank`,`noopener,noreferrer`)},getPathForFile:async e=>window.desktopBridge?.getPathForFile?.(e)||null},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):zf(e,t)},persistence:{getClientSettings:async()=>window.desktopBridge?window.desktopBridge.getClientSettings():Kf(),setClientSettings:async e=>{if(window.desktopBridge)return window.desktopBridge.setClientSettings(e);qf(e)},getSavedEnvironmentRegistry:async()=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentRegistry():Qf(),setSavedEnvironmentRegistry:async e=>{if(window.desktopBridge)return window.desktopBridge.setSavedEnvironmentRegistry(e);$f(e)},getSavedEnvironmentSecret:async e=>window.desktopBridge?window.desktopBridge.getSavedEnvironmentSecret(e):ep(e),setSavedEnvironmentSecret:async(e,t)=>window.desktopBridge?window.desktopBridge.setSavedEnvironmentSecret(e,t):tp(e,t),removeSavedEnvironmentSecret:async e=>{if(window.desktopBridge)return window.desktopBridge.removeSavedEnvironmentSecret(e);np(e)}},server:{getConfig:()=>e?e.server.getConfig():Promise.reject(ip()),refreshProviders:()=>e?e.server.refreshProviders():Promise.reject(ip()),updateProvider:t=>e?e.server.updateProvider(t):Promise.reject(ip()),upsertKeybinding:t=>e?e.server.upsertKeybinding(t):Promise.reject(ip()),getSettings:()=>e?e.server.getSettings():Promise.reject(ip()),updateSettings:t=>e?e.server.updateSettings(t):Promise.reject(ip()),discoverSourceControl:()=>e?e.server.discoverSourceControl():Promise.reject(ip()),listOpinionatedPlugins:()=>e?e.server.listOpinionatedPlugins():Promise.reject(ip()),checkOpinionatedPlugins:t=>e?e.server.checkOpinionatedPlugins(t):Promise.reject(ip()),installOpinionatedPlugin:t=>e?e.server.installOpinionatedPlugin(t):Promise.reject(ip())},keybindings:{replaceCustom:t=>e?e.keybindings.replaceCustom(t):Promise.reject(ip())},...e?{mcp:{listWorkspaces:()=>e.mcp.listWorkspaces(),listServers:t=>e.mcp.listServers(t),upsertServer:t=>e.mcp.upsertServer(t),setServerEnabled:t=>e.mcp.setServerEnabled(t),removeServer:t=>e.mcp.removeServer(t),reloadServers:t=>e.mcp.reloadServers(t),startOauthLogin:t=>e.mcp.startOauthLogin(t)}}:{}}}function op(e,t){let n=t.mcp??e.mcp;return{...e,...t,dialogs:{...e.dialogs,...t.dialogs},shell:{...e.shell,...t.shell},contextMenu:{...e.contextMenu,...t.contextMenu},persistence:{...e.persistence,...t.persistence},server:{...e.server,...t.server},...n?{mcp:n}:{}}}function sp(e){return ap(e)}function cp(){if(!(typeof window>`u`))return rp||(window.nativeApi?(rp=op(ap(),window.nativeApi),rp):(rp=la()?sp(Nx().client):ap(),rp))}function lp(){let e=cp();if(!e)throw Error(`Local API not found`);return e}var up=!1,dp=null;function fp(e){return{environmentId:e.environmentId,label:e.label,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,createdAt:e.createdAt,lastConnectedAt:e.lastConnectedAt,...e.desktopSsh?{desktopSsh:e.desktopSsh}:{}}}function pp(e){return Object.values(e)}function mp(e){try{lp().persistence.setSavedEnvironmentRegistry(pp(e).map(e=>fp(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function hp(e){let t=J.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));J.setState({byId:{...n,...t}})}async function gp(){if(up)return;if(dp)return dp;let e=(async()=>{try{hp(await lp().persistence.getSavedEnvironmentRegistry())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{up=!0}})().finally(()=>{dp===e&&(dp=null)});return dp=e,dp}var J=Wr()(e=>({byId:{},upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return mp(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return mp(r),{byId:r}}),markConnected:(t,n)=>e(e=>{let r=e.byId[t];if(!r)return e;let i={...e.byId,[t]:{...r,lastConnectedAt:n}};return mp(i),{byId:i}}),rename:(t,n)=>e(e=>{let r=e.byId[t],i=n.trim();if(!r||i.length===0||r.label===i)return e;let a={...e.byId,[t]:{...r,label:i}};return mp(a),{byId:a}}),reset:()=>{mp({}),e({byId:{}})}}));function _p(){return up}function vp(){return _p()?Promise.resolve():gp()}function yp(){return Object.values(J.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function bp(e){return J.getState().byId[e]??null}function xp(e){let t=la();return t?.environmentId===e?fn(t):bp(e)?.httpBaseUrl??null}function Sp(e){return e}function Cp(e){let t=xp(e.environmentId);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(Sp(t));return n.pathname=e.pathname,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}async function wp(e){let t={...J.getState().byId,[e.environmentId]:e};await lp().persistence.setSavedEnvironmentRegistry(pp(t).map(e=>fp(e)))}async function Tp(e){return lp().persistence.getSavedEnvironmentSecret(e)}async function Ep(e,t){return lp().persistence.setSavedEnvironmentSecret(e,t)}async function Dp(e){await lp().persistence.removeSavedEnvironmentSecret(e)}var Op=Object.freeze({connectionState:`disconnected`,authState:`unknown`,lastError:null,lastErrorAt:null,role:null,descriptor:null,serverConfig:null,connectedAt:null,disconnectedAt:null});function kp(){return{...Op}}var Y=Wr()(e=>({byId:{},ensure:t=>e(e=>e.byId[t]?e:{byId:{...e.byId,[t]:kp()}}),patch:(t,n)=>e(e=>({byId:{...e.byId,[t]:{...e.byId[t]??kp(),...n}}})),clear:t=>e(e=>{let{[t]:n,...r}=e.byId;return{byId:r}}),reset:()=>e({byId:{}})}));function Ap(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var jp={enabled:!0,leading:!0,trailing:!0,wait:0},Mp=class{#e;constructor(e,t){this.fn=e,this.store=new ta(Ap()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.maybeExecute=(...e)=>{this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),n=t-this.store.state.lastExecutionTime,r=this.#r();if(this.options.leading&&n>=r)this.#i(...e);else if(this.#t({lastArgs:e}),!this.#e&&this.options.trailing){let e=r-(this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0);this.#t({isPending:!0}),this.#e=setTimeout(()=>{let{lastArgs:e}=this.store.state;e!==void 0&&this.#i(...e)},e)}},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(Ap())},this.key=t.key,this.options={...jp,...t},this.#t(this.options.initialState??{}),this.key&&Vi.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),zi(`Throttler`,this)};#n=()=>!!Yi(this.options.enabled,this);#r=()=>Yi(this.options.wait,this);#i=(...e)=>{if(!this.#n())return;this.fn(...e);let t=Date.now(),n=t+this.#r();this.#a(),this.#t({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:n,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#t({nextExecutionTime:void 0})},this.#r())};#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)}};function Np(e){let t=new Set,n=new Map(e.snapshotThreads.map(e=>[e.key,e]));for(let n of e.snapshotThreads)n.deletedAt===null&&n.archivedAt===null&&t.add(n.key);for(let r of e.draftThreadKeys){let e=n.get(r);e&&(e.deletedAt!==null||e.archivedAt!==null)||t.add(r)}return t}function Pp(e){let t=new Map,n=!1;for(let r of e)switch(r.type){case`thread.turn-diff-completed`:case`thread.reverted`:n=!0;break;case`thread.created`:t.set(r.payload.threadId,{clearPromotedDraft:!0,clearDeletedThread:!1,removeTerminalState:!1});break;case`thread.deleted`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!0,removeTerminalState:!0});break;case`thread.archived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!0});break;case`thread.unarchived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!1});break;default:break}let r=[],i=[],a=[];for(let[e,n]of t)n.clearPromotedDraft&&r.push(e),n.clearDeletedThread&&i.push(e),n.removeTerminalState&&a.push(e);return{promoteDraftThreadIds:r,clearDeletedThreadIds:i,removeTerminalStateThreadIds:a,needsProviderInvalidation:n}}var Fp={all:[`projects`],searchEntries:(e,t,n,r)=>[`projects`,`search-entries`,e??null,t,n,r]},Ip=80,Lp=15e3,Rp={entries:[],truncated:!1};function zp(e){let t=e.limit??Ip;return Kl({queryKey:Fp.searchEntries(e.environmentId,e.cwd,e.query,t),queryFn:async()=>{if(!e.cwd||!e.environmentId)throw Error(`Workspace entry search is unavailable.`);return Gx(e.environmentId).projects.searchEntries({cwd:e.cwd,query:e.query,limit:t})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.cwd!==null&&e.query.length>0,staleTime:e.staleTime??Lp,placeholderData:e=>e??Rp})}var Bp={all:[`providers`],checkpointDiff:e=>[`providers`,`checkpointDiff`,e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.ignoreWhitespace,e.cacheScope??null]};function Vp(e){return e.fromTurnCount===0?Nn(Ji)({threadId:e.threadId,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(ti(e=>({kind:`fullThreadDiff`,input:e}))):Nn(Qi)({threadId:e.threadId,fromTurnCount:e.fromTurnCount,toTurnCount:e.toTurnCount,ignoreWhitespace:e.ignoreWhitespace}).pipe(ti(e=>({kind:`turnDiff`,input:e})))}function Hp(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function Up(e){let t=Hp(e).trim();if(t.length===0)return`Failed to load checkpoint diff.`;let n=t.toLowerCase();if(n.includes(`not a git repository`))return`Turn diffs are unavailable because this project is not a git repository.`;if(n.includes(`checkpoint unavailable for thread`)||n.includes(`checkpoint invariant violation`)){let e=t.indexOf(`:`);if(e>=0){let n=t.slice(e+1).trim();if(n.length>0)return n}}return t}function Wp(e){let t=Hp(e).toLowerCase();return t.includes(`exceeds current turn count`)||t.includes(`checkpoint is unavailable for turn`)||t.includes(`filesystem checkpoint is unavailable`)}function Gp(e){let t=Vp(e);return Kl({queryKey:Bp.checkpointDiff(e),queryFn:async()=>{if(!e.environmentId||!e.threadId||t._tag===`None`)throw Error(`Checkpoint diff is unavailable.`);let n=Gx(e.environmentId);try{return t.value.kind===`fullThreadDiff`?await n.orchestration.getFullThreadDiff(t.value.input):await n.orchestration.getTurnDiff(t.value.input)}catch(e){throw Error(Up(e),{cause:e})}},enabled:(e.enabled??!0)&&!!e.environmentId&&!!e.threadId&&t._tag===`Some`,staleTime:1/0,retry:(e,t)=>Wp(t)?e<12:e<3,retryDelay:(e,t)=>Wp(t)?Math.min(5e3,250*2**(e-1)):Math.min(1e3,100*2**(e-1))})}var Kp=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function qp(e){return e instanceof Kp}function Jp(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function Yp(e,t){let n=await e.text();if(!n)return t;try{let e=JSON.parse(n);if(typeof e.error==`string`&&e.error.length>0)return e.error}catch{}return n}async function Xp(e){let t=Jp(e.httpBaseUrl,e.pathname),n;try{n=await fetch(t,{method:e.method??`GET`,headers:{...e.body===void 0?{}:{"content-type":`application/json`},...e.bearerToken?{authorization:`Bearer ${e.bearerToken}`}:{}},...e.body===void 0?{}:{body:JSON.stringify(e.body)}})}catch(e){throw Error(`Failed to fetch remote auth endpoint ${t} (${e.message}).`,{cause:e})}if(!n.ok)throw new Kp(await Yp(n,`Remote auth request failed (${n.status}).`),n.status);return await n.json()}async function Zp(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/bootstrap/bearer`,method:`POST`,body:{credential:e.credential}})}async function Qp(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:e.bearerToken})}async function $p(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/.well-known/ryco/environment`})}async function em(e){return Xp({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:e.bearerToken})}async function tm(e){let t=await em({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),n=new URL(e.wsBaseUrl,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}function nm(e){let t=e.trim();if(!t)throw Error(`Enter a backend URL.`);let n=/^[a-zA-Z][a-zA-Z\d+-]*:\/\//.test(t)||t.startsWith(`//`)?t:`https://${t}`,r=new URL(n,window.location.origin);return r.pathname=`/`,r.search=``,r.hash=``,r}function rm(e){let t=new URL(e.toString());return t.protocol===`ws:`?t.protocol=`http:`:t.protocol===`wss:`&&(t.protocol=`https:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function im(e){let t=new URL(e.toString());return t.protocol===`http:`?t.protocol=`ws:`:t.protocol===`https:`&&(t.protocol=`wss:`),t.pathname=`/`,t.search=``,t.hash=``,t.toString()}function am(e){let t=e.pairingUrl?.trim()??``;if(t.length>0){let e=new URL(t,window.location.origin),n=da(e);if(n){let e=nm(n.host);return{credential:n.token,httpBaseUrl:rm(e),wsBaseUrl:im(e)}}let r=oa(e)??``;if(!r)throw Error(`Pairing URL is missing its token.`);return{credential:r,httpBaseUrl:rm(e),wsBaseUrl:im(e)}}let n=e.host?.trim()??``,r=e.pairingCode?.trim()??``;if(!n)throw Error(`Enter a backend URL.`);if(!r)throw Error(`Enter a pairing code.`);let i=nm(n);return{credential:r,httpBaseUrl:rm(i),wsBaseUrl:im(i)}}function om(){let e=null,t=null,n=new Promise((n,r)=>{e=n,t=r});return{wait:()=>n,resolve:()=>{e?.(),e=null,t=null},reject:n=>{t?.(n),e=null,t=null},reset:()=>{n=new Promise((n,r)=>{e=n,t=r})}}}function sm(e){let t=e.knownEnvironment.environmentId;if(!t)throw Error(`Known environment ${e.knownEnvironment.label} is missing its environmentId.`);let n=!1,r=om(),i=e.kind===`saved`||e.onWelcome!==void 0,a=e.kind===`saved`||e.onConfigSnapshot!==void 0,o=(e,n)=>{if(t!==e)throw Error(`Environment connection ${t} changed identity to ${e} via ${n}.`)},s=i?e.client.server.subscribeLifecycle(t=>{t.type===`welcome`&&(o(t.payload.environment.environmentId,`server lifecycle welcome`),e.onWelcome?.(t.payload))}):()=>void 0,c=a?e.client.server.subscribeConfig(t=>{t.type===`snapshot`&&(o(t.config.environment.environmentId,`server config snapshot`),e.onConfigSnapshot?.(t.config))}):()=>void 0,l=e.client.orchestration.subscribeShell(n=>{if(n.kind===`snapshot`){e.syncShellSnapshot(n.snapshot,t),r.resolve();return}e.applyShellEvent(n,t)},{onResubscribe:()=>{n||r.reset()}}),u=e.client.terminal.onEvent(n=>{e.applyTerminalEvent(n,t)}),d=()=>{n=!0,l(),u(),s(),c()};return{kind:e.kind,environmentId:t,knownEnvironment:e.knownEnvironment,client:e.client,ensureBootstrapped:()=>r.wait(),reconnect:async()=>{r.reset();try{await e.client.reconnect(),await e.refreshMetadata?.(),await r.wait()}catch(e){throw r.reject(e),e}},dispose:async()=>{d(),await e.client.dispose()}}}var cm=`context-compaction`;function lm(e){return e.kind===cm}function um(e,t){if(e.length<=t)return[...e];let n=e.slice(-t),r=new Set(n.map(e=>e.id)),i=e.filter(e=>lm(e)&&!r.has(e.id));return i.length===0?[...n]:[...i,...n]}var dm=[/\bSocketCloseError\b/i,/\bSocketOpenError\b/i,/Unable to connect to the Ryco server WebSocket\./i,/\bping timeout\b/i];function fm(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length===0?!1:dm.some(e=>e.test(t))}function pm(e){return fm(e)?null:e??null}var mm=[],hm=[],gm=[],_m=[],vm={},ym={},bm={},xm={},Sm=new WeakMap,Cm=new WeakMap;function wm(e,t,n){if(!e||e.length===0||!t)return n;let r=Sm.get(e),i=r?.get(t);if(i)return i;let a=e.flatMap(e=>{let n=t[e];return n?[n]:[]}),o=r??new WeakMap;return o.set(t,a),r||Sm.set(e,o),a}function Tm(e,t){return wm(e.messageIdsByThreadId[t],e.messageByThreadId[t]??vm,mm)}function Em(e,t){return wm(e.activityIdsByThreadId[t],e.activityByThreadId[t]??ym,hm)}function Dm(e,t){return wm(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??bm,gm)}function Om(e,t){return wm(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??xm,_m)}function km(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=Tm(e,t),o=Em(e,t),s=Dm(e,t),c=Om(e,t),l=Cm.get(n);if(l&&l.session===r&&l.turnState===i&&l.messages===a&&l.activities===o&&l.proposedPlans===s&&l.turnDiffSummaries===c)return l.thread;let u={...n,session:r,latestTurn:i?.latestTurn??null,pendingSourceProposedPlan:i?.pendingSourceProposedPlan,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c};return Cm.set(n,{session:r,turnState:i,messages:a,activities:o,proposedPlans:s,turnDiffSummaries:c,thread:u}),u}var Am=5e3,jm={enabled:!1,record:()=>void 0,flush:()=>void 0,dispose:()=>void 0},Mm;function Nm(e){if(typeof e==`boolean`)return e;if(typeof e==`number`)return e===1;let t=e?.trim().toLowerCase();return t===`1`||t===`true`||t===`yes`||t===`on`}function Pm(e){return Mm??=globalThis.TextEncoder?new TextEncoder:null,Mm?Mm.encode(e).byteLength:e.length}function Fm(e){try{let t=JSON.stringify(e);return typeof t==`string`?Pm(t):0}catch{return 0}}function Im(){return Date.now()}function Lm(e){console.info(`[perf]`,e)}function Rm(e){if(!e.enabled)return jm;let t=e.now??Im,n=e.log??Lm,r=Math.max(250,e.intervalMs??Am),i=t(),a=0,o=0,s=0,c=0,l=0,u=()=>{i=t(),a=0,o=0,s=0,c=0,l=0},d=(r=`interval`)=>{let d=t(),f=Math.max(1,d-i);if(!e.logEmptyIntervals&&a===0&&o===0&&s===0){u();return}n({label:e.label,reason:r,windowMs:f,count:a,ratePerSecond:a/f*1e3,bytes:o,bytesPerSecond:o/f*1e3,durationSamples:s,totalDurationMs:c,averageDurationMs:s>0?c/s:0,maxDurationMs:l}),u()},f=globalThis.setInterval(()=>{d()},r);return f.unref?.(),{enabled:!0,record:(e={})=>{let t=e.count??1;Number.isFinite(t)&&t>0&&(a+=t);let n=e.bytes??0;Number.isFinite(n)&&n>0&&(o+=n);let r=e.durationMs;r!==void 0&&Number.isFinite(r)&&r>=0&&(s+=1,c+=r,l=Math.max(l,r))},flush:d,dispose:()=>{globalThis.clearInterval(f),d(`dispose`)}}}var zm=Nm(void 0),Bm=new Map;function Vm(){return zm}function Hm(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function Um(e){let t=Bm.get(e);if(t)return t;let n=Rm({label:e,enabled:zm,now:Hm});return Bm.set(e,n),n}function Wm(e,t){zm&&Um(e).record(t)}function Gm(e,t,n){zm&&Um(e).record({...n,bytes:Fm(t)})}var Km={projectIds:[],projectById:{},worktreeIds:[],worktreeIdsByProjectId:{},worktreeById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},messageIdsByThreadId:{},messageByThreadId:{},pendingMessagesByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},bootstrapComplete:!1},qm={activeEnvironmentId:null,environmentStateById:{}},Jm=2e3,Ym=500,Xm=[],Zm=[],Qm=[],$m=[];function eh(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function th(e){return Bi(e.instanceId)?{...e,model:Li(e.instanceId,e.model)}:e}function nh(e){return e.map(e=>({...e}))}function rh(e){return{provider:Gh(e.providerName),providerInstanceId:e.providerInstanceId??void 0,status:Wh(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...e.lastError?{lastError:e.lastError}:{}}}function ih(e,t){let n=t.attachments?.map(t=>({type:`image`,id:t.id,name:t.name,mimeType:t.mimeType,sizeBytes:t.sizeBytes,previewUrl:Cp({environmentId:e,pathname:Kh(t.id)})}));return{id:t.id,role:t.role,text:t.text,turnId:t.turnId,createdAt:t.createdAt,streaming:t.streaming,...t.streaming?{}:{completedAt:t.updatedAt},...n&&n.length>0?{attachments:n}:{}}}function ah(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function oh(e){return{turnId:e.turnId,completedAt:e.completedAt,status:e.status,assistantMessageId:e.assistantMessageId??void 0,checkpointTurnCount:e.checkpointTurnCount,checkpointRef:e.checkpointRef,files:e.files.filter(sh).map(e=>({path:e.path,kind:e.kind,additions:e.additions,deletions:e.deletions}))}}function sh(e){return e.kind!==`modified`||e.additions>0||e.deletions>0}function ch(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,projectMetadataDir:e.projectMetadataDir,repositoryIdentity:e.repositoryIdentity??null,defaultModelSelection:e.defaultModelSelection?th(e.defaultModelSelection):null,customSystemPrompt:e.customSystemPrompt??null,customAvatarContentHash:e.customAvatarContentHash??null,preferredRemoteName:e.preferredRemoteName??null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:nh(e.scripts)}}function lh(e,t){return{id:e.worktreeId,environmentId:t,projectId:e.projectId,title:e.title??null,branch:e.branch,worktreePath:e.worktreePath,origin:e.origin,prNumber:e.prNumber,issueNumber:e.issueNumber,prTitle:e.prTitle,issueTitle:e.issueTitle,prState:e.prState??null,prIsDraft:e.prIsDraft??null,issueState:e.issueState??null,workItemProvider:e.workItemProvider??null,workItemKey:e.workItemKey??null,workItemTitle:e.workItemTitle??null,workItemState:e.workItemState??null,workItemStateName:e.workItemStateName??null,workItemUrl:e.workItemUrl??null,createdAt:e.createdAt,updatedAt:e.updatedAt,archivedAt:e.archivedAt,manualPosition:e.manualPosition}}function uh(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:th(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:e.session?rh(e.session):null,messages:e.messages.map(e=>ih(t,e)),proposedPlans:e.proposedPlans.map(ah),error:pm(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,turnDiffSummaries:e.checkpoints.map(oh),activities:e.activities.map(e=>({...e}))}}function dh(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:th(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:pm(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0},r=e.session?rh(e.session):null;return{shell:n,session:r,turnState:{latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan},summary:{id:e.id,environmentId:t,projectId:e.projectId,title:e.title,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,session:r,createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,latestTurn:e.latestTurn,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId??null,manualStatusBucket:e.manualStatusBucket??null,manualPosition:e.manualPosition??0,latestUserMessageAt:e.latestUserMessageAt,hasPendingApprovals:e.hasPendingApprovals,hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan}}}function fh(e){return{id:e.id,environmentId:e.environmentId,codexThreadId:e.codexThreadId,projectId:e.projectId,title:e.title,modelSelection:e.modelSelection,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,tokenMode:e.tokenMode??`balanced`,error:e.error,createdAt:e.createdAt,archivedAt:e.archivedAt,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,worktreeId:e.worktreeId,manualStatusBucket:e.manualStatusBucket,manualPosition:e.manualPosition}}function ph(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function mh(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function hh(e,t){return e===t?!0:e==null||t==null?!1:e.turnId===t.turnId&&e.state===t.state&&e.requestedAt===t.requestedAt&&e.startedAt===t.startedAt&&e.completedAt===t.completedAt&&e.assistantMessageId===t.assistantMessageId&&mh(e.sourceProposedPlan,t.sourceProposedPlan)}function gh(e,t){return e===t?!0:e==null||t==null?!1:e.provider===t.provider&&e.status===t.status&&e.orchestrationStatus===t.orchestrationStatus&&e.activeTurnId===t.activeTurnId&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.lastError===t.lastError}function _h(e,t){return e!==void 0&&e.id===t.id&&e.projectId===t.projectId&&e.title===t.title&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&gh(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.updatedAt===t.updatedAt&&hh(e.latestTurn,t.latestTurn)&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan}function vh(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.codexThreadId===t.codexThreadId&&e.projectId===t.projectId&&e.title===t.title&&e.modelSelection===t.modelSelection&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.tokenMode===t.tokenMode&&e.error===t.error&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.worktreeId===t.worktreeId&&e.manualStatusBucket===t.manualStatusBucket&&e.manualPosition===t.manualPosition}function yh(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.origin===t.origin&&e.prNumber===t.prNumber&&e.issueNumber===t.issueNumber&&e.prTitle===t.prTitle&&e.issueTitle===t.issueTitle&&e.prState===t.prState&&e.prIsDraft===t.prIsDraft&&e.issueState===t.issueState&&e.workItemProvider===t.workItemProvider&&e.workItemKey===t.workItemKey&&e.workItemTitle===t.workItemTitle&&e.workItemState===t.workItemState&&e.workItemStateName===t.workItemStateName&&e.workItemUrl===t.workItemUrl&&e.createdAt===t.createdAt&&e.updatedAt===t.updatedAt&&e.archivedAt===t.archivedAt&&e.manualPosition===t.manualPosition}function bh(e,t){return e!==void 0&&hh(e.latestTurn,t.latestTurn)&&mh(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function xh(e,t){return e.includes(t)?[...e]:[...e,t]}function Sh(e,t){return e.filter(e=>e!==t)}function Ch(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function wh(e){return Th(e.activities)}function Th(e){return{ids:e.map(e=>e.id),byId:Object.fromEntries(e.map(e=>[e.id,e]))}}function Eh(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function Dh(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function Oh(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function kh(e){return e.threadIds.flatMap(t=>{let n=km(e,t);return n?[n]:[]})}function Ah(e,t,n,r){let i=e;if(e.threadIds.includes(t)||(i={...i,threadIds:[...i.threadIds,t]}),r!==n){let e=i.threadIdsByProjectId;if(r){let n=e[r]??Xm,i=Sh(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else eh(n,i)||(e={...e,[r]:i})}let a=e[n]??Xm,o=xh(a,t);eh(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function jh(e,t,n){let r=e.pendingMessagesByThreadId[t.id]??[],i=r.length===0?t:{...t,messages:[...t.messages,...r].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id))},a=fh(t),o=ph(t),s=e.threadShellById[t.id],c=e.threadTurnStateById[t.id],l=Ah(e,t.id,t.projectId,n?.projectId);if(vh(s,a)||(l={...l,threadShellById:{...l.threadShellById,[t.id]:a}}),gh(n?.session??null,t.session)||(l={...l,threadSessionById:{...l.threadSessionById,[t.id]:t.session}}),bh(c,o)||(l={...l,threadTurnStateById:{...l.threadTurnStateById,[t.id]:o}}),n?.messages!==i.messages){let e=Ch(i);l={...l,messageIdsByThreadId:{...l.messageIdsByThreadId,[i.id]:e.ids},messageByThreadId:{...l.messageByThreadId,[i.id]:e.byId}}}if(r.length>0){let{[i.id]:e,...t}=l.pendingMessagesByThreadId;l={...l,pendingMessagesByThreadId:t}}if(n?.activities!==t.activities){let e=wh(t);l={...l,activityIdsByThreadId:{...l.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...l.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=Eh(t);l={...l,proposedPlanIdsByThreadId:{...l.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...l.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=Dh(t);l={...l,turnDiffIdsByThreadId:{...l.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...l.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return l}function Mh(e,t){let n=e.threadShellById[t.shell.id],r=Ah(e,t.shell.id,t.shell.projectId,n?.projectId);return vh(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),gh(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),bh(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),_h(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function Nh(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function Ph(e,t){let n=e.threadShellById[t];if(!n)return e;let r=Sh(e.threadIds,t),i=Sh(e.threadIdsByProjectId[n.projectId]??Xm,t),a=i.length===0?(()=>{let{[n.projectId]:t,...r}=e.threadIdsByProjectId;return r})():{...e.threadIdsByProjectId,[n.projectId]:i},{[t]:o,...s}=e.threadShellById,{[t]:c,...l}=e.threadSessionById,{[t]:u,...d}=e.threadTurnStateById,{[t]:f,...p}=e.messageIdsByThreadId,{[t]:m,...h}=e.messageByThreadId,{[t]:g,..._}=e.pendingMessagesByThreadId,{[t]:v,...y}=e.activityIdsByThreadId,{[t]:ee,...te}=e.activityByThreadId,{[t]:b,...x}=e.proposedPlanIdsByThreadId,{[t]:S,...ne}=e.proposedPlanByThreadId,{[t]:re,...C}=e.turnDiffIdsByThreadId,{[t]:ie,...ae}=e.turnDiffSummaryByThreadId,{[t]:oe,...se}=e.sidebarThreadSummaryById;return{...e,threadIds:r,threadIdsByProjectId:a,threadShellById:s,threadSessionById:l,threadTurnStateById:d,messageIdsByThreadId:p,messageByThreadId:h,pendingMessagesByThreadId:_,activityIdsByThreadId:y,activityByThreadId:te,proposedPlanIdsByThreadId:x,proposedPlanByThreadId:ne,turnDiffIdsByThreadId:C,turnDiffSummaryByThreadId:ae,sidebarThreadSummaryById:se}}function Fh(e,t){let n=e.environmentStateById[t.environmentId];return n?rg(e,t.environmentId,Ph(n,t.threadId)):e}function Ih(e,t){let n=e.worktreeById??{},r=e.worktreeIds??Zm,i=n[t.id],a=i!==void 0&&i.projectId!==t.projectId,o=r.includes(t.id)?r:[...r,t.id],s=e.worktreeIdsByProjectId??{},c=s[t.projectId]??[];if(yh(i,t)&&r.includes(t.id)&&c.includes(t.id))return e;if(a){let e=Sh(s[i.projectId]??[],t.id);if(e.length===0){let{[i.projectId]:e,...t}=s;s=t}else s={...s,[i.projectId]:e}}let l=s[t.projectId]??[];return l.includes(t.id)||(s={...s,[t.projectId]:[...l,t.id]}),i===void 0&&o===r&&(o=[...o]),{...e,worktreeIds:o,worktreeIdsByProjectId:s,worktreeById:{...n,[t.id]:t}}}function Lh(e,t){let n=e.worktreeById??{},r=n[t];if(!r)return e;let{[t]:i,...a}=n,o=e.worktreeIdsByProjectId??{},s=Sh(o[r.projectId]??[],t),c=s.length===0?Object.fromEntries(Object.entries(o).filter(([e])=>e!==r.projectId)):{...o,[r.projectId]:s};return{...e,worktreeIds:Sh(e.worktreeIds??Zm,t),worktreeIdsByProjectId:c,worktreeById:a}}function Rh(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function zh(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;return e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)}function Bh(e){let t=e.previous?.turnId===e.turnId?e.previous.sourceProposedPlan:e.sourceProposedPlan;return{turnId:e.turnId,state:e.state,requestedAt:e.requestedAt,startedAt:e.startedAt,completedAt:e.completedAt,assistantMessageId:e.assistantMessageId,...t?{sourceProposedPlan:t}:{}}}function Vh(e,t,n){let r=new Set;for(let n of e){if(n.role===`system`){r.add(n.id);continue}n.turnId!==void 0&&n.turnId!==null&&t.has(n.turnId)&&r.add(n.id)}let i=e.filter(e=>e.role===`user`&&r.has(e.id)).length,a=Math.max(0,n-i);if(a>0){let n=e.filter(e=>e.role===`user`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,a);for(let e of n)r.add(e.id)}let o=e.filter(e=>e.role===`assistant`&&r.has(e.id)).length,s=Math.max(0,n-o);if(s>0){let n=e.filter(e=>e.role===`assistant`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,s);for(let e of n)r.add(e.id)}return e.filter(e=>r.has(e.id))}function Hh(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Uh(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Wh(e){switch(e){case`starting`:return`connecting`;case`running`:return`running`;case`error`:return`error`;case`ready`:case`interrupted`:return`ready`;case`idle`:case`stopped`:return`closed`}}function Gh(e){return pi(Ki)(e)?e:Ki.make(`codex`)}function Kh(e){return`/attachments/${encodeURIComponent(e)}`}function X(e,t,n){let r=km(e,t);if(!r)return e;let i=n(r);return i===r?e:jh(e,i,r)}function qh(e,t,n){let r=e.threadShellById[t];return!r||r.updatedAt===n?e:{...e,threadShellById:{...e.threadShellById,[t]:{...r,updatedAt:n}}}}function Jh(e,t){return{...e,text:t.streaming?`${e.text}${t.text}`:t.text.length>0?t.text:e.text,streaming:t.streaming,...t.turnId===void 0?{}:{turnId:t.turnId},...t.streaming?e.completedAt===void 0?{}:{completedAt:e.completedAt}:t.completedAt===void 0?{}:{completedAt:t.completedAt},...t.attachments===void 0?{}:{attachments:t.attachments}}}function Yh(e,t,n){let r=e.pendingMessagesByThreadId[t]??[],i=r.find(e=>e.id===n.id)?r.map(e=>e.id===n.id?Jh(e,n):e):[...r,n];return{...e,pendingMessagesByThreadId:{...e.pendingMessagesByThreadId,[t]:i}}}function Xh(e,t,n,r){let i=e.turnDiffSummaryByThreadId[t],a=i?.[n];return!i||!a||a.assistantMessageId===r?e:{...e,turnDiffSummaryByThreadId:{...e.turnDiffSummaryByThreadId,[t]:{...i,[n]:{...a,assistantMessageId:r}}}}}function Zh(e,t,n){let r=ih(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}),i=t.payload.threadId;if(!e.threadShellById[i])return Yh(e,i,r);let a=e.messageIdsByThreadId[i]??Qm,o=e.messageByThreadId[i]??{},s=e.pendingMessagesByThreadId[i]??[],c=s.find(e=>e.id===r.id),l=o[r.id]??c,u=l?Jh(l,r):r,d=a,f={...o,[r.id]:u},p=e.pendingMessagesByThreadId;if(!o[r.id]&&!a.includes(r.id)&&(d=[...a,r.id],d.length>Jm)){let e=d.slice(-2e3),t=new Set(e);f=Object.fromEntries(Object.entries(f).filter(([e])=>t.has(e))),d=e}if(c){let t=s.filter(e=>e.id!==r.id);if(t.length===0){let{[i]:t,...n}=e.pendingMessagesByThreadId;p=n}else p={...e.pendingMessagesByThreadId,[i]:t}}let m={...e,pendingMessagesByThreadId:p,messageIdsByThreadId:d===a?e.messageIdsByThreadId:{...e.messageIdsByThreadId,[i]:d},messageByThreadId:{...e.messageByThreadId,[i]:f}};if(t.payload.role===`assistant`&&t.payload.turnId!==null){m=Xh(m,i,t.payload.turnId,t.payload.messageId);let e=m.threadTurnStateById[i],n=e?.latestTurn??null;if(n===null||n.turnId===t.payload.turnId){let r={latestTurn:Bh({previous:n,turnId:t.payload.turnId,state:t.payload.streaming?`running`:n?.state===`interrupted`?`interrupted`:n?.state===`error`?`error`:`completed`,requestedAt:n?.turnId===t.payload.turnId?n.requestedAt:t.payload.createdAt,startedAt:n?.turnId===t.payload.turnId?n.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e?.pendingSourceProposedPlan,completedAt:t.payload.streaming?n?.turnId===t.payload.turnId?n.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}),...e?.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}};bh(e,r)||(m={...m,threadTurnStateById:{...m.threadTurnStateById,[i]:r}})}}return qh(m,i,t.occurredAt)}function Qh(e,t,n){let r=e.length>0?t[e[e.length-1]]:void 0;if(!r||zh(r,n)<=0)return[...e,n.id];let i=[...e],a=i.findIndex(e=>{let r=t[e];return r?zh(n,r)<0:!1});return a===-1?i.push(n.id):i.splice(a,0,n.id),i}function $h(e,t){let n=t.payload.threadId;if(!e.threadShellById[n])return e;let r={...t.payload.activity},i=e.activityIdsByThreadId[n]??$m,a=e.activityByThreadId[n]??{},o=a[r.id],s=o!==void 0&&(o.createdAt!==r.createdAt||o.sequence!==r.sequence),c=i,l={...a,[r.id]:r};if(o?s&&(c=Qh(i.filter(e=>e!==r.id),l,r)):c=Qh(i,a,r),c.length>Ym){let e=Th(um(c.flatMap(e=>{let t=l[e];return t?[t]:[]}),Ym));c=e.ids,l=e.byId}return qh({...e,activityIdsByThreadId:c===i?e.activityIdsByThreadId:{...e.activityIdsByThreadId,[n]:c},activityByThreadId:{...e.activityByThreadId,[n]:l}},n,t.occurredAt)}function eg(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function tg(e){let t={};for(let n of e)t[n.projectId]=[...t[n.projectId]??[],n.id];return{worktreeIds:e.map(e=>e.id),worktreeIdsByProjectId:t,worktreeById:Object.fromEntries(e.map(e=>[e.id,e]))}}function ng(e,t){return e.environmentStateById[t]??Km}function rg(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function ig(e,t,n){let r=t.projects.map(e=>ch(e,n)),i=(t.worktrees??[]).map(e=>lh(e,n)),a=new Set(t.threads.map(e=>e.id)),o={...e,...eg(r),...tg(i),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},sidebarThreadSummaryById:{},messageIdsByThreadId:Nh(e.messageIdsByThreadId,a),messageByThreadId:Nh(e.messageByThreadId,a),pendingMessagesByThreadId:Nh(e.pendingMessagesByThreadId,a),activityIdsByThreadId:Nh(e.activityIdsByThreadId,a),activityByThreadId:Nh(e.activityByThreadId,a),proposedPlanIdsByThreadId:Nh(e.proposedPlanIdsByThreadId,a),proposedPlanByThreadId:Nh(e.proposedPlanByThreadId,a),turnDiffIdsByThreadId:Nh(e.turnDiffIdsByThreadId,a),turnDiffSummaryByThreadId:Nh(e.turnDiffSummaryByThreadId,a),bootstrapComplete:!0};for(let e of t.threads)o=Mh(o,dh(e,n));return o}function ag(e,t,n){return rg(e,n,ig(ng(e,n),t,n))}function og(e,t,n){let r=ng(e,n),i=km(r,t.id);return rg(e,n,jh(r,uh(t,n),i))}function sg(e,t,n){switch(t.type){case`project.created`:{let r=ch({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,projectMetadataDir:t.payload.projectMetadataDir,repositoryIdentity:t.payload.repositoryIdentity??null,defaultModelSelection:t.payload.defaultModelSelection,scripts:t.payload.scripts,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,deletedAt:null},n),i=e.projectIds.find(n=>n===t.payload.projectId||e.projectById[n]?.cwd===t.payload.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project.meta-updated`:{let n=e.projectById[t.payload.projectId];if(!n)return e;let r={...n,...t.payload.title===void 0?{}:{name:t.payload.title},...t.payload.workspaceRoot===void 0?{}:{cwd:t.payload.workspaceRoot},...t.payload.projectMetadataDir===void 0?{}:{projectMetadataDir:t.payload.projectMetadataDir},...t.payload.repositoryIdentity===void 0?{}:{repositoryIdentity:t.payload.repositoryIdentity??null},...t.payload.defaultModelSelection===void 0?{}:{defaultModelSelection:t.payload.defaultModelSelection?th(t.payload.defaultModelSelection):null},...t.payload.scripts===void 0?{}:{scripts:nh(t.payload.scripts)},...t.payload.preferredRemoteName===void 0?{}:{preferredRemoteName:t.payload.preferredRemoteName??null},updatedAt:t.payload.updatedAt};return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.avatar-set`:{let n=e.projectById[t.payload.projectId];return n?{...e,projectById:{...e.projectById,[t.payload.projectId]:{...n,customAvatarContentHash:t.payload.contentHash??null,updatedAt:t.payload.updatedAt}}}:e}case`project.deleted`:{if(!e.projectById[t.payload.projectId])return e;let{[t.payload.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Sh(e.projectIds,t.payload.projectId)}}case`thread.created`:{let r=km(e,t.payload.threadId);return jh(e,uh({id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode??`balanced`,branch:t.payload.branch,worktreePath:t.payload.worktreePath,worktreeId:null,manualStatusBucket:null,manualPosition:0,latestTurn:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null},n),r)}case`thread.deleted`:return Ph(e,t.payload.threadId);case`thread.archived`:return X(e,t.payload.threadId,e=>({...e,archivedAt:t.payload.archivedAt,updatedAt:t.payload.updatedAt}));case`thread.unarchived`:return X(e,t.payload.threadId,e=>({...e,archivedAt:null,updatedAt:t.payload.updatedAt}));case`thread.meta-updated`:return X(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:th(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return X(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return X(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.token-mode-set`:return X(e,t.payload.threadId,e=>({...e,tokenMode:t.payload.tokenMode??`balanced`,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return X(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:th(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,tokenMode:t.payload.tokenMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return t.payload.turnId===void 0?e:X(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:Bh({previous:n,turnId:t.payload.turnId,state:`interrupted`,requestedAt:n.requestedAt,startedAt:n.startedAt??t.payload.createdAt,completedAt:n.completedAt??t.payload.createdAt,assistantMessageId:n.assistantMessageId}),updatedAt:t.occurredAt}});case`thread.message-sent`:return Zh(e,t,n);case`thread.session-set`:return X(e,t.payload.threadId,e=>({...e,session:rh(t.payload.session),error:pm(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?Bh({previous:e.latestTurn,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,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn,updatedAt:t.occurredAt}));case`thread.session-stop-requested`:return X(e,t.payload.threadId,e=>e.session===null?e:{...e,session:{...e.session,status:`closed`,orchestrationStatus:`stopped`,activeTurnId:void 0,updatedAt:t.payload.createdAt},updatedAt:t.occurredAt});case`thread.proposed-plan-upserted`:return X(e,t.payload.threadId,e=>{let n=ah(t.payload.proposedPlan),r=[...e.proposedPlans.filter(e=>e.id!==n.id),n].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-200);return{...e,proposedPlans:r,updatedAt:t.occurredAt}});case`thread.turn-diff-completed`:return X(e,t.payload.threadId,e=>{let n=oh({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.turnDiffSummaries.find(e=>e.turnId===n.turnId);if(r&&r.status!==`missing`&&n.status===`missing`)return e;let i=[...e.turnDiffSummaries.filter(e=>e.turnId!==n.turnId),n].toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),a=e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId?Bh({previous:e.latestTurn,turnId:t.payload.turnId,state:Rh(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,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn;return{...e,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.reverted`:return X(e,t.payload.threadId,e=>{let n=e.turnDiffSummaries.filter(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount).toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-500),r=new Set(n.map(e=>e.turnId)),i=Vh(e.messages,r,t.payload.turnCount).slice(-2e3),a=Uh(e.proposedPlans,r).slice(-200),o=Hh(e.activities,r),s=n.at(-1)??null;return{...e,turnDiffSummaries:n,messages:i,proposedPlans:a,activities:o,pendingSourceProposedPlan:void 0,latestTurn:s===null?null:{turnId:s.turnId,state:Rh(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return $h(e,t);case`worktree.created`:return Ih(e,lh({worktreeId:t.payload.worktreeId,projectId:t.payload.projectId,title:null,branch:t.payload.branch,worktreePath:t.payload.worktreePath,origin:t.payload.origin,prNumber:t.payload.prNumber,issueNumber:t.payload.issueNumber,prTitle:t.payload.prTitle,issueTitle:t.payload.issueTitle,prState:null,prIsDraft:null,issueState:null,workItemProvider:t.payload.workItemProvider??null,workItemKey:t.payload.workItemKey??null,workItemTitle:t.payload.workItemTitle??null,workItemState:t.payload.workItemState??null,workItemStateName:t.payload.workItemStateName??null,workItemUrl:t.payload.workItemUrl??null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,manualPosition:0},n));case`worktree.archived`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,archivedAt:t.payload.archivedAt,updatedAt:t.payload.archivedAt}):e}case`worktree.metaUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,title:t.payload.title??null,updatedAt:t.payload.changedAt}):e}case`worktree.sourceControlStateUpdated`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,...t.payload.prNumber===void 0?{}:{prNumber:t.payload.prNumber},...t.payload.prTitle===void 0?{}:{prTitle:t.payload.prTitle},prState:t.payload.prState,prIsDraft:t.payload.prIsDraft,issueState:t.payload.issueState,updatedAt:t.payload.updatedAt}):e}case`worktree.restored`:{let n=e.worktreeById?.[t.payload.worktreeId];return n?Ih(e,{...n,archivedAt:null,updatedAt:t.payload.restoredAt}):e}case`worktree.deleted`:return Lh(e,t.payload.worktreeId);case`thread.attachedToWorktree`:return X(e,t.payload.threadId,e=>({...e,worktreeId:t.payload.worktreeId,updatedAt:t.payload.attachedAt}));case`thread.statusBucketOverridden`:return X(e,t.payload.threadId,e=>({...e,manualStatusBucket:t.payload.bucket,updatedAt:t.payload.changedAt}));case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function cg(e,t,n){switch(t.kind){case`project-upserted`:{let r=ch(t.project,n),i=e.projectIds.find(n=>n===t.project.id||e.projectById[n]?.cwd===t.project.workspaceRoot)??null,a=e.projectById,o=e.projectIds;if(i!==null&&i!==r.id){let{[i]:t,...n}=e.projectById;a={...n,[r.id]:r},o=e.projectIds.map(e=>e===i?r.id:e)}else a={...e.projectById,[r.id]:r},o=i===null&&!e.projectIds.includes(r.id)?[...e.projectIds,r.id]:e.projectIds;return{...e,projectById:a,projectIds:o}}case`project-removed`:{if(!e.projectById[t.projectId])return e;let{[t.projectId]:n,...r}=e.projectById;return{...e,projectById:r,projectIds:Sh(e.projectIds,t.projectId)}}case`thread-upserted`:return Mh(e,dh(t.thread,n));case`worktree-upserted`:return Ih(e,lh(t.worktree,n));case`thread-removed`:return Ph(e,t.threadId);case`worktree-removed`:return Lh(e,t.worktreeId)}}function lg(e,t,n){if(t.length===0)return e;let r=Vm(),i=r?Hm():0,a=ng(e,n),o=rg(e,n,t.reduce((e,t)=>sg(e,t,n),a));return r&&Gm(`web.store.orchestration.events.apply`,t,{count:t.length,durationMs:Hm()-i}),o}function ug(e){return Object.entries(e.environmentStateById)}function dg(e,t){return t?ng(e,t):Km}function fg(e,t){return kh(dg(e,t))}function pg(e){return ug(e).flatMap(([,e])=>Oh(e))}function mg(e){return ug(e).flatMap(([,e])=>kh(e))}function hg(e){return ug(e).flatMap(([,e])=>e.threadIds.flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function gg(e){return ug(e).flatMap(([e,t])=>t.threadIds.flatMap(n=>{let r=t.sidebarThreadSummaryById[n];return r&&r.environmentId===e?[r]:[]}))}function _g(e){return ug(e).flatMap(([e,t])=>(t.worktreeIds??Zm).flatMap(n=>{let r=t.worktreeById?.[n];return r&&r.environmentId===e?[r]:[]}))}function vg(e,t){if(!t)return[];let n=dg(e,t.environmentId);return(n.worktreeIdsByProjectId?.[t.projectId]??[]).flatMap(e=>{let t=n.worktreeById?.[e];return t?[t]:[]})}function yg(e,t){return t.length===0?[]:t.length===1?vg(e,t[0]):t.flatMap(t=>vg(e,t))}function bg(e,t){if(!t)return[];let n=dg(e,t.environmentId);return(n.threadIdsByProjectId[t.projectId]??Xm).flatMap(e=>{let t=n.sidebarThreadSummaryById[e];return t?[t]:[]})}function xg(e,t){return t.length===0?[]:t.length===1?bg(e,t[0]):t.flatMap(t=>bg(e,t))}function Sg(e,t){return t?dg(e,t.environmentId).projectById[t.projectId]:void 0}function Cg(e,t){return t?km(dg(e,t.environmentId),t.threadId):void 0}function wg(e,t){return t?dg(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function Tg(e,t){return t?dg(e,t.environmentId).sidebarThreadSummaryById[t.threadId]:void 0}function Eg(e,t,n){if(e.activeEnvironmentId===null)return e;let r=X(ng(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return rg(e,e.activeEnvironmentId,r)}function Dg(e,t,n){let r=Vm(),i=r?Hm():0,a=rg(e,n,sg(ng(e,n),t,n));return r&&Gm(`web.store.orchestration.event.apply`,t,{durationMs:Hm()-i}),a}function Og(e,t,n){let r=Vm(),i=r?Hm():0,a=rg(e,n,cg(ng(e,n),t,n));return r&&Gm(`web.store.orchestration.shell.apply`,t,{durationMs:Hm()-i}),a}function kg(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function Ag(e,t){if(!e.environmentStateById[t]&&e.activeEnvironmentId!==t)return e;let{[t]:n,...r}=e.environmentStateById;return{...e,activeEnvironmentId:e.activeEnvironmentId===t?null:e.activeEnvironmentId,environmentStateById:r}}function jg(e,t,n,r){let i=X(ng(e,t.environmentId),t.threadId,e=>{if(e.branch===n&&e.worktreePath===r)return e;let t=e.worktreePath!==r;return{...e,branch:n,worktreePath:r,...t?{session:null}:{}}});return rg(e,t.environmentId,i)}function Mg(e,t,n,r,i){let a=ng(e,t),o=a.worktreeById?.[n];return o?rg(e,t,Ih(a,{...o,title:r,updatedAt:i})):e}var Z=Wr(e=>({...qm,setActiveEnvironmentId:t=>e(e=>kg(e,t)),removeEnvironmentState:t=>e(e=>Ag(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>ag(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>og(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>Dg(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>lg(e,t,n)),applyShellEvent:(t,n)=>e(e=>Og(e,t,n)),removeThread:t=>e(e=>Fh(e,t)),setError:(t,n)=>e(e=>Eg(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>jg(e,t,n,r)),setSidebarWorktreeTitle:(t,n,r,i)=>e(e=>Mg(e,t,n,r,i))}));function Ng(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var Pg=`ryco:terminal-state:v1`,Fg=[],Ig=200;function Lg(e,t){return t===1&&e&&typeof e==`object`?{terminalStateByThreadKey:Object.fromEntries(Object.entries(e.terminalStateByThreadKey??{}).filter(([e])=>Jr(e)))}:{terminalStateByThreadKey:{}}}function Rg(){return Ri(typeof window<`u`?window.localStorage:void 0)}function zg(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[Ci]}function Bg(e,t){if(e.length===0)return[];let n=new Set(t);return[...new Set(e)].map(e=>e.trim()).filter(e=>e.length>0&&n.has(e))}function Vg(e){return`group-${e}`}function Hg(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function Ug(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function Wg(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function Gg(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=Wg(t.terminalIds).filter(e=>!(!n.has(e)||r.has(e)));if(e.length===0)continue;for(let t of e)r.add(t);let o=t.id.trim().length>0?t.id.trim():Vg(e[0]??`default`);i.push({id:Hg(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:Hg(Vg(e),a),terminalIds:[e]});return i.length===0?[{id:Vg(Ci),terminalIds:[Ci]}]:i}function Kg(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function qg(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(!r||!i||r.id!==i.id||!Kg(r.terminalIds,i.terminalIds))return!1}return!0}function Jg(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&Kg(e.terminalIds,t.terminalIds)&&Kg(e.runningTerminalIds,t.runningTerminalIds)&&qg(e.terminalGroups,t.terminalGroups)}var Yg=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[Ci],runningTerminalIds:[],activeTerminalId:Ci,terminalGroups:[{id:Vg(Ci),terminalIds:[Ci]}],activeTerminalGroupId:Vg(Ci)});function Xg(){return{...Yg,terminalIds:[...Yg.terminalIds],runningTerminalIds:[...Yg.runningTerminalIds],terminalGroups:r_(Yg.terminalGroups)}}function Zg(){return Yg}function Qg(e){let t=zg(e.terminalIds),n=t.length>0?t:[Ci],r=Bg(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=Gg(e.terminalGroups,n),o=a.some(t=>t.id===e.activeTerminalGroupId)?e.activeTerminalGroupId:null,s=a.find(e=>e.terminalIds.includes(i))?.id??null,c={terminalOpen:e.terminalOpen,terminalHeight:Number.isFinite(e.terminalHeight)&&e.terminalHeight>0?e.terminalHeight:280,terminalIds:n,runningTerminalIds:r,activeTerminalId:i,terminalGroups:a,activeTerminalGroupId:o??s??a[0]?.id??Vg(`default`)};return Jg(e,c)?e:c}function $g(e){return Jg(Qg(e),Yg)}function e_(e){return e.trim().length>0}function t_(e){return nn(e)}function n_(e,t){return`${t_(e)}\u0000${t}`}function r_(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function i_(e,t,n,r){let i=n_(n,r.terminalId),a=e[i]??Fg,o={id:t,event:r},s=a.length>=Ig?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function a_(e){return{cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function o_(e,t,n){let r=Qg(e);if(!e_(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=r_(r.terminalGroups),s=Ug(o,t);if(s>=0&&(o[s].terminalIds=o[s].terminalIds.filter(e=>e!==t),o[s].terminalIds.length===0&&o.splice(s,1)),n===`new`){let e=new Set(o.map(e=>e.id)),n=Hg(Vg(t),e);return o.push({id:n,terminalIds:[t]}),Qg({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=Ug(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=Hg(Vg(r.activeTerminalId),e);o.push({id:t,terminalIds:[r.activeTerminalId]}),c=o.length-1}let l=o[c];if(!l||i&&!l.terminalIds.includes(t)&&l.terminalIds.length>=4)return r;if(!l.terminalIds.includes(t)){let e=l.terminalIds.indexOf(r.activeTerminalId);e>=0?l.terminalIds.splice(e+1,0,t):l.terminalIds.push(t)}return Qg({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function s_(e,t){let n=Qg(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function c_(e,t){let n=Qg(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function l_(e,t){return o_(e,t,`split`)}function u_(e,t){return o_(e,t,`new`)}function d_(e,t){let n=Qg(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalGroups.find(e=>e.terminalIds.includes(t))?.id??n.activeTerminalGroupId;return n.activeTerminalId===t&&n.activeTerminalGroupId===r?n:{...n,activeTerminalId:t,activeTerminalGroupId:r}}function f_(e,t){let n=Qg(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return Xg();let i=n.terminalIds.indexOf(t),a=n.activeTerminalId===t?r[Math.min(i,r.length-1)]??r[0]??`default`:n.activeTerminalId,o=n.terminalGroups.map(e=>({...e,terminalIds:e.terminalIds.filter(e=>e!==t)})).filter(e=>e.terminalIds.length>0),s=o.find(e=>e.terminalIds.includes(a))?.id??o[0]?.id??Vg(a);return Qg({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function p_(e,t,n){let r=Qg(e);if(!r.terminalIds.includes(t)||n===r.runningTerminalIds.includes(t))return r;let i=new Set(r.runningTerminalIds);return n?i.add(t):i.delete(t),{...r,runningTerminalIds:[...i]}}function m_(e,t){return!t||t.threadId.length===0?Zg():e[t_(t)]??Zg()}function h_(e,t,n){if(t.threadId.length===0)return e;let r=t_(t),i=m_(e,t),a=n(i);if(a===i)return e;if($g(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function g_(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?Fg:e[n_(t,n)]??Fg}var __=Wr()(ea(e=>{let t=(t,n)=>{e(e=>{let r=h_(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>s_(e,n)),setTerminalHeight:(e,n)=>t(e,e=>c_(e,n)),splitTerminal:(e,n)=>t(e,e=>l_(e,n)),newTerminal:(e,n)=>t(e,e=>u_(e,n)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=u_(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=d_(t,n)),r?.open&&(t=s_(t,!0)),Qg(t)}),setActiveTerminal:(e,n)=>t(e,e=>d_(e,n)),closeTerminal:(e,n)=>t(e,e=>f_(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[t_(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=t_(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>p_(e,n,r)),recordTerminalEvent:(t,n)=>{let r=Vm(),i=r?Hm():0;e(e=>i_(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n)),r&&Gm(`web.terminal.store.events.record`,n,{durationMs:Hm()-i})},applyTerminalEvent:(t,n)=>{let r=Vm(),i=r?Hm():0;e(e=>{let r=t_(t),i=e.terminalStateByThreadKey,a=e.terminalLaunchContextByThreadKey;(n.type===`started`||n.type===`restarted`)&&(i=h_(i,t,e=>{let t=e;return e.terminalIds.includes(n.terminalId)||(t=u_(t,n.terminalId)),t=d_(t,n.terminalId),t=s_(t,!0),Qg(t)}),a={...a,[r]:a_(n)});let o=Ng(n);o!==null&&(i=h_(i,t,e=>p_(e,n.terminalId,o)));let s=i_(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n);return{terminalStateByThreadKey:i,terminalLaunchContextByThreadKey:a,...s}}),r&&Gm(`web.terminal.store.events.apply`,n,{durationMs:Hm()-i})},clearTerminalState:t=>e(e=>{let n=t_(t),r=h_(e.terminalStateByThreadKey,t,()=>Xg()),i=e.terminalLaunchContextByThreadKey[n]!==void 0,{[n]:a,...o}=e.terminalLaunchContextByThreadKey,s={...e.terminalEventEntriesByKey},c=!1;for(let e of Object.keys(s))e.startsWith(`${n}\u0000`)&&(delete s[e],c=!0);return r===e.terminalStateByThreadKey&&!i&&!c?e:{terminalStateByThreadKey:r,terminalLaunchContextByThreadKey:o,terminalEventEntriesByKey:s}}),removeTerminalState:t=>e(e=>{let n=t_(t),r=e.terminalStateByThreadKey[n]!==void 0,i=e.terminalLaunchContextByThreadKey[n]!==void 0,a={...e.terminalEventEntriesByKey},o=!1;for(let e of Object.keys(a))e.startsWith(`${n}\u0000`)&&(delete a[e],o=!0);if(!r&&!i&&!o)return e;let s={...e.terminalStateByThreadKey};delete s[n];let c={...e.terminalLaunchContextByThreadKey};return delete c[n],{terminalStateByThreadKey:s,terminalLaunchContextByThreadKey:c,terminalEventEntriesByKey:a}}),removeOrphanedTerminalStates:t=>e(e=>{let n=Object.keys(e.terminalStateByThreadKey).filter(e=>!t.has(e)),r=Object.keys(e.terminalLaunchContextByThreadKey).filter(e=>!t.has(e)),i={...e.terminalEventEntriesByKey},a=!1;for(let e of Object.keys(i)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete i[e],a=!0)}if(n.length===0&&r.length===0&&!a)return e;let o={...e.terminalStateByThreadKey};for(let e of n)delete o[e];let s={...e.terminalLaunchContextByThreadKey};for(let e of r)delete s[e];return{terminalStateByThreadKey:o,terminalLaunchContextByThreadKey:s,terminalEventEntriesByKey:i}})}},{name:Pg,version:2,storage:Gi(Rg),migrate:Lg,partialize:e=>({terminalStateByThreadKey:e.terminalStateByThreadKey})})),v_=Gr(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),y_=class extends mr()(`effect/http/FetchHttpClient/RequestInit`){},b_=Jo(E(Uo((e,t,n,r)=>{let i=r.getRef(v_),a=r.context.mapUnsafe.get(y_.key)??{},o=a.headers?co(io(a.headers),e.headers):e.headers,s=r=>_(xt({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new ma({reason:new _a({request:e,cause:t})})}),t=>No(e,t));switch(e.body._tag){case`Raw`:case`Uint8Array`:return s(e.body.body);case`FormData`:return s(e.body.formData);case`Stream`:return O(mt(e.body.stream),s)}return s(void 0)}))),x_=pt.pipe(v,fe(e=>pa(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429?E(bi(Tn(e.reason.response.headers[`retry-after`]).pipe(Zr(Mt),Tr(()=>5)))):E(bi(1)))),S_=C(function*(e){let t=yield*Zt(),n=en(t,ge),r=en(t,Kr),i=Gn(t),a=Fe(Ce(e.exportInterval),Et),o,s=Bo(en(t,Ro)).pipe(zo(Gt(Ko,!1)),Wo({schedule:x_,times:3})),c=ao({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(c=co(io(e.headers),c));let l=yo(e.url,{headers:c}),u=[],d=Qt(()=>{if(o!==void 0&&n.currentTimeMillisUnsafe()<o)return m;o!==void 0&&(o=void 0);let t=u;if(e.maxBatchSize!==`disabled`){if(u.length===0)return m;u=[]}return s.execute(ko(l,e.body(t))).pipe(Dn,rt(!1))}).pipe(Ln(e=>o===void 0?(o=n.currentTimeMillisUnsafe()+6e4,u=[],Ie(`Disabling exporter for 60 seconds`,e)):m),_n({package:`@effect/opentelemetry`,module:e.label}));return yield*hr(r,d.pipe(Ke,de,x(e.shutdownTimeout))),yield*Rn(a).pipe($r(d),er,p(r)),{push(t){o===void 0&&(u.push(t),e.maxBatchSize!==`disabled`&&u.length>=e.maxBatchSize&&Ue(i(d),r))}}}),C_=e=>{let t=e.attributes?E_(Object.entries(e.attributes)):[];return t.push({key:`service.name`,value:{stringValue:e.serviceName}}),e.serviceVersion&&t.push({key:`service.version`,value:{stringValue:e.serviceVersion}}),{attributes:t,droppedAttributesCount:0}},w_=C(function*(e){let t={...yield*Vl(an(Hl(w,w)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*Vl(w,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*Vl(an(w),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],C_({serviceName:n,serviceVersion:r,attributes:t})},Mr),T_=e=>{let t=e.attributes.find(e=>e.key===`service.name`);if(!t||!t.value.stringValue)throw Error(`Resource does not contain a service name`);return t.value.stringValue},E_=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:D_(r)});return t},D_=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(D_)}};switch(typeof e){case`string`:return{stringValue:e};case`bigint`:return{intValue:Number(e)};case`number`:return Number.isInteger(e)?{intValue:e}:{doubleValue:e};case`boolean`:return{boolValue:e};default:return{stringValue:et(e)}}},O_=class extends mr()(`effect/observability/OtlpSerialization`){},k_=bn(O_,{traces:e=>Ha(e),metrics:e=>Ha(e),logs:e=>Ha(e)}),A_=C(function*(e){let t=yield*w_(e.resource),n=yield*O_,r={name:T_(t)},i=yield*S_({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??bi(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return n.traces(i)},shutdownTimeout:e.shutdownTimeout??bi(3)});function a(e){e.sampled&&i.push(P_(e))}return Be({span(e){return M_({...e,status:{_tag:`Started`,startTime:e.startTime},attributes:new Map,export:a})},context:e.context?function(t,n){return n.currentSpan===void 0?t[`~effect/Effect/evaluate`](n):e.context(t,n.currentSpan)}:void 0})}),j_={_tag:`Span`,end(e,t){this.status={_tag:`Ended`,startTime:this.status.startTime,endTime:e,exit:t},this.export(this)},attribute(e,t){this.attributes.set(e,t)},event(e,t,n){this.events.push([e,t,n])},addLinks(e){this.links.push(...e)}},M_=e=>{let t=Object.assign(Object.create(j_),e);return Yt(t.parent)?t.traceId=t.parent.value.traceId:t.traceId=N_(32),t.spanId=N_(16),t.events=[],t},N_=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},P_=e=>{let t=e.status,n=E_(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?E_(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=L_;else if(oi(t.exit.cause))i={code:F_.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=re(t.exit.cause);if(i={code:F_.Error},e.length>0){i.message=e[0].message;for(let n of e)r.push({name:`exception`,timeUnixNano:String(t.endTime),droppedAttributesCount:0,attributes:[{key:`exception.type`,value:{stringValue:n.name}},{key:`exception.message`,value:{stringValue:n.message}},{key:`exception.stacktrace`,value:{stringValue:n.stack??`No stack trace available`}}]})}}return{traceId:e.traceId,spanId:e.spanId,parentSpanId:mi(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:I_[e.kind],startTimeUnixNano:String(t.startTime),endTimeUnixNano:String(t.endTime),attributes:n,droppedAttributesCount:0,events:r,droppedEventsCount:0,status:i,links:e.links.map(e=>({traceId:e.span.traceId,spanId:e.span.spanId,attributes:E_(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},F_={Unset:0,Ok:1,Error:2},I_={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},L_={code:F_.Ok},R_=typeof window<`u`&&(window.desktopBridge!==void 0||window.nativeApi!==void 0);function z_(){return typeof window>`u`?null:window.desktopBridge?.getAppBranding?.()??null}var B_=z_(),V_=B_?.baseName??`Ryco`,H_=B_?.stageLabel??`Alpha`,U_=B_?.displayName??`${V_} (${H_})`,W_=`0.1.5`,G_=1e3,K_={serviceName:`ryco-web`,attributes:{"service.runtime":`ryco-web`,"service.mode":R_?`electron`:`browser`,"service.version":W_}},q_=ct(b_,k_,bn(Go,()=>!0)),J_=null,Y_=null,X_=null,Z_=null,Q_=0,$_=Promise.resolve(),ev=bn(Jn,Be({span(e){return J_?.span(e)??new f(e)}}));function tv(e={}){return e.exportIntervalMs===void 0&&Z_!==null||($_=$_.finally(()=>nv(e))),$_}async function nv(e){let t=ca(`/api/observability/v1/traces`),n=Math.max(10,e.exportIntervalMs??G_),r=`${t}|${n}`;if(Z_===r&&J_!==null)return;Z_=r;let i=++Q_,a=Y_,o=X_;J_=null,Y_=null,X_=null,await rv(a,o);let s=Wl(q_),c=s.runSync(xr());try{let e=await s.runPromise(dn(c)(A_({url:t,exportInterval:`${n} millis`,resource:K_})));if(i!==Q_){await rv(s,c);return}J_=e,Y_=s,X_=c}catch(e){await rv(s,c),i===Q_&&console.warn(`Failed to configure client tracing exporter`,{error:iv(e),otlpTracesUrl:t})}}async function rv(e,t){e===null||t===null||await e.runPromise(Hn(t,hi)).catch(()=>void 0).finally(()=>{e.dispose()})}function iv(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var av=fl(Oi);function ov(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function sv(e){let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)throw Error(`Unsupported websocket transport URL protocol: ${t.protocol}`);return t.pathname=`/ws`,t.toString()}function cv(e){return{connectionLabel:e?.getConnectionLabel?.()??null,versionMismatchHint:e?.getVersionMismatchHint?.()??null}}function lv(e){return{isActive:()=>!0,onAttempt:t=>{Of(t,cv(e))},onOpen:()=>{kf(cv(e))},onError:t=>{hf(),jf(t,cv(e))},onClose:(t,n)=>{hf(),!n.intentional&&Mf(t,cv(e))}}}function uv(e){let t=lv(e),n=e?.isActive??t.isActive;return{isActive:n,onAttempt:r=>{n()&&(t.onAttempt(r),e?.onAttempt?.(r))},onOpen:()=>{n()&&(t.onOpen(),e?.onOpen?.())},onError:r=>{n()&&(t.onError(r),e?.onError?.(r))},onClose:(r,i)=>{n()&&(t.onClose(r,i),e?.onClose?.(r,i))}}}function dv(e,t){let n=uv(t),r=typeof e==`function`?Oe(()=>e()).pipe(_(e=>sv(e)),fi(e=>D(()=>{n.onError(ov(e))})),Mr):sv(e),i=bn(ks,(e,r)=>{n.onAttempt(e);let i=new globalThis.WebSocket(e,r);return i.addEventListener(`open`,()=>{n.onOpen()},{once:!0}),i.addEventListener(`error`,()=>{n.onError(`Unable to connect to the Ryco server WebSocket.`)},{once:!0}),i.addEventListener(`close`,e=>{n.onClose({code:e.code,reason:e.reason},{intentional:t?.isCloseIntentional?.()??!1})},{once:!0}),i}),a=Ms(r).pipe(l(i)),o=Bt(gl,_(_l({retryPolicy:fe(Ot(7),e=>E(dt(If(e)??0))),retryTransientErrors:!0}),e=>({...e,run:(t,n)=>e.run(t,e=>((e._tag===`ClientProtocolError`||e._tag===`Defect`)&&hf(),n(e)))}))),s=bn(bl,bl.of({onRequestStart:e=>D(()=>{n.isActive()&&(t?.onRequestStart?.({id:String(e.id),tag:e.tag,stream:e.stream}),pf(String(e.id),e.tag))}),onRequestChunk:e=>D(()=>{n.isActive()&&(t?.onRequestChunk?.({id:String(e.id),tag:e.tag,chunkCount:e.chunkCount}),mf(String(e.id)))}),onRequestExit:e=>D(()=>{n.isActive()&&(t?.onRequestExit?.({id:String(e.id),tag:e.tag,stream:e.stream}),mf(String(e.id)))}),onRequestInterrupt:e=>D(()=>{n.isActive()&&(t?.onRequestInterrupt?.({id:String(e.id),...e.tag===void 0?{}:{tag:e.tag}}),mf(String(e.id)))})})),c=bn(xl,xl.of({onConnect:m,onDisconnect:m,onPing:D(()=>{n.isActive()&&t?.onHeartbeatPing?.()}),onPong:D(()=>{n.isActive()&&t?.onHeartbeatPong?.()}),onPingTimeout:D(()=>{n.isActive()&&(hf(),jf(`WebSocket heartbeat timed out.`,cv(t)),t?.onHeartbeatTimeout?.())})}));return ct(o.pipe(l(ct(a,sl,c))),s,c)}var fv=dt(250),pv=()=>void 0,mv=/^Thread\s.+\swas not found$/u;function hv(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function gv(e){return fm(e)||mv.test(e.trim())}function _v(e){return e.includes(`SchemaError(Expected array`)&&e.includes(`"_tag":"Done"`)&&e.includes(`~effect/Cause/Done`)}var vv=class{url;lifecycleHandlers;disposed=!1;hasReportedTransportDisconnect=!1;intentionalCloseDepth=0;reconnectChain=Promise.resolve();nextSessionId=0;activeSessionId=0;session;lastHeartbeatPongAt=0;streamRequestStartListeners=new Set;constructor(e,t){this.url=e,this.lifecycleHandlers=t,this.session=this.createSession()}async request(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,r=await n.clientPromise;return await n.runtime.runPromise(Qt(()=>e(r)))}async requestStream(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,r=await n.clientPromise;await n.runtime.runPromise(on(e(r),e=>D(()=>{try{t(e)}catch{}})))}subscribe(e,t,n){if(this.disposed)return()=>void 0;let r=!0,i=!1,a=g(Ce(n?.retryDelay??fv)),o=pv;return(async()=>{for(;;){if(!r||this.disposed)return;let s=this.session;try{let a=this.runStreamOnSession(s,e,t,{...n?.tag===void 0?{}:{tag:n.tag},...i?{onStarted:()=>{try{n?.onResubscribe?.()}catch{}}}:{}},()=>r,()=>{this.hasReportedTransportDisconnect=!1,i=!0});o=a.cancel,await a.completed,o=pv}catch(e){if(o=pv,!r||this.disposed)return;if(s!==this.session)continue;let t=hv(e);if(_v(t))return;if(!gv(t)){console.warn(`WebSocket RPC subscription failed`,{error:t});return}this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:t}),this.hasReportedTransportDisconnect=!0,await yv(a)}}})(),()=>{r=!1,o()}}async reconnect(){if(this.disposed)throw Error(`Transport disposed`);let e=this.reconnectChain.then(async()=>{if(this.disposed)throw Error(`Transport disposed`);hf(),this.lastHeartbeatPongAt=0;let e=this.session;this.session=this.createSession(),await this.closeSession(e)});this.reconnectChain=e.catch(()=>void 0),await e}isHeartbeatFresh(e=15e3){return this.lastHeartbeatPongAt>0&&Date.now()-this.lastHeartbeatPongAt<=e}async dispose(){this.disposed||(this.disposed=!0,await this.closeSession(this.session))}closeSession(e){return this.intentionalCloseDepth+=1,e.runtime.runPromise(Hn(e.clientScope,hi)).finally(()=>{--this.intentionalCloseDepth,e.runtime.dispose()})}createSession(){let e=this.nextSessionId+1;this.nextSessionId=e,this.activeSessionId=e;let t=Wl(ct(dv(this.url,{...this.lifecycleHandlers,isActive:()=>!this.disposed&&this.activeSessionId===e,isCloseIntentional:()=>this.disposed||this.intentionalCloseDepth>0||this.lifecycleHandlers?.isCloseIntentional?.()===!0,onHeartbeatPong:()=>{this.lastHeartbeatPongAt=Date.now(),this.lifecycleHandlers?.onHeartbeatPong?.()},onRequestStart:e=>{if(this.lifecycleHandlers?.onRequestStart?.(e),e.stream)for(let t of this.streamRequestStartListeners)t(e)}}),ev)),n=t.runSync(xr());return{runtime:t,clientScope:n,clientPromise:t.runPromise(dn(n)(av))}}runStreamOnSession(e,t,n,r,i,a){let o,s,c=new Promise((e,t)=>{o=e,s=t}),l=null;return r.onStarted&&(l=e=>{!i()||!e.stream||r.tag!==void 0&&e.tag!==r.tag||(r.onStarted?.(),l&&=(this.streamRequestStartListeners.delete(l),null))},this.streamRequestStartListeners.add(l)),{cancel:e.runtime.runCallback(Oe(()=>e.clientPromise).pipe(O(e=>on(t(e),e=>D(()=>{if(i()){a(),r.tag&&Gm(`web.ws.stream.${r.tag}`,e);try{n(e)}catch{}}})))),{onExit:e=>{if(l&&=(this.streamRequestStartListeners.delete(l),null),ni(e)){o();return}s(Xe(e.cause))}}),completed:c}}};function yv(e){return new Promise(t=>{setTimeout(t,e)})}var bv={shortLabel:`PR`,singular:`pull request`},xv={icon:`github`,providerName:`GitHub`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`GitHub pull request`,checkoutCommandExample:`gh pr checkout 123`,urlExample:`https://github.com/owner/repo/pull/42`},Sv={icon:`gitlab`,providerName:`GitLab`,shortName:`MR`,longName:`merge request`,pluralLongName:`merge requests`,providerLongName:`GitLab merge request`,checkoutCommandExample:`glab mr checkout 123`,urlExample:`https://gitlab.com/group/project/-/merge_requests/42`},Cv={icon:`forgejo`,providerName:`Forgejo`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Forgejo pull request`,urlExample:`https://codeberg.org/owner/repo/pulls/42`},wv={icon:`azure-devops`,providerName:`Azure DevOps`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Azure DevOps pull request`,checkoutCommandExample:`az repos pr checkout --id 123`,urlExample:`https://dev.azure.com/org/project/_git/repo/pullrequest/42`},Tv={icon:`bitbucket`,providerName:`Bitbucket`,shortName:`PR`,longName:`pull request`,pluralLongName:`pull requests`,providerLongName:`Bitbucket pull request`,urlExample:`https://bitbucket.org/workspace/repo/pull-requests/42`},Ev={icon:`change-request`,providerName:`source control`,shortName:`change request`,longName:`change request`,pluralLongName:`change requests`,providerLongName:`change request`,urlExample:`#42`};function Dv(e){switch(e?.kind){case`github`:case void 0:return xv;case`gitlab`:return Sv;case`forgejo`:return Cv;case`azure-devops`:return wv;case`bitbucket`:return Tv;case`unknown`:return Ev}}function Ov(e){if(!e)return bv;let t=Dv(e);return{shortLabel:t.shortName,singular:t.longName}}function kv(e){let t=e?.trim()??``;return t.length>0?t.toLowerCase():null}function Av(e){let t=e?.trim()??``;return t.length>0?t.toUpperCase():null}function jv(e){return e===`OWNER`}function Mv(e){return e===`MEMBER`||e===`COLLABORATOR`}function Nv(e){let t=kv(e.commentAuthor),n=kv(e.itemAuthor),r=kv(e.repositoryOwner),i=Av(e.authorAssociation),a=t!==null&&n!==null&&t===n,o=jv(i)||t!==null&&r!==null&&t===r,s=Mv(i);return{primary:a?`author`:o?`owner`:s?`maintainer`:`participant`,isOriginalAuthor:a,isRepositoryOwner:o,isRepositoryMaintainer:s}}function Pv(e){let t=e?.trim()??``;if(t.length===0)return null;try{let e=new URL(t).pathname.split(`/`).filter(e=>e.length>0),n=e[0]?.trim()??``,r=e[1]?.trim()??``;return n.length>0&&r.length>0?n:null}catch{return null}}var Fv=`ryco`,Iv=RegExp(`^(?:${Fv}|ryco)\\/[0-9a-f]{8}$`);function Lv(e){let t=e.indexOf(`/`);return t<=0||t===e.length-1?e:e.slice(t+1)}function Rv(){return`${Fv}/${sr(Ii).replace(/-/g,``).slice(0,8).toLowerCase()}`}function zv(e){return Iv.test(e.trim().toLowerCase())}var Bv={hasUpstream:!1,aheadCount:0,behindCount:0,aheadOfDefaultCount:0,pr:null};function Vv(e,t){return{...e,...t??Bv}}function Hv(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,...e.aheadOfDefaultCount===void 0?{}:{aheadOfDefaultCount:e.aheadOfDefaultCount},pr:e.pr}}function Uv(e){return{isRepo:e.isRepo,...e.sourceControlProvider?{sourceControlProvider:e.sourceControlProvider}:{},hasPrimaryRemote:e.hasPrimaryRemote,isDefaultRef:e.isDefaultRef,refName:e.refName,hasWorkingTreeChanges:e.hasWorkingTreeChanges,workingTree:e.workingTree}}function Wv(e,t){switch(t._tag){case`snapshot`:return Vv(t.local,t.remote);case`localUpdated`:return Vv(t.local,e?Hv(e):null);case`remoteUpdated`:return Vv(e===null?{isRepo:!0,hasPrimaryRemote:!1,isDefaultRef:!1,refName:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:Uv(e),t.remote)}}function Gv(e){return{dispose:()=>e.dispose(),reconnect:async()=>{Pf(),await e.reconnect()},isHeartbeatFresh:()=>e.isHeartbeatFresh(),terminal:{open:t=>e.request(e=>e[A.terminalOpen](t)),write:t=>e.request(e=>e[A.terminalWrite](t)),resize:t=>e.request(e=>e[A.terminalResize](t)),clear:t=>e.request(e=>e[A.terminalClear](t)),restart:t=>e.request(e=>e[A.terminalRestart](t)),close:t=>e.request(e=>e[A.terminalClose](t)),onEvent:(t,n)=>e.subscribe(e=>e[A.subscribeTerminalEvents]({}),t,{...n,tag:A.subscribeTerminalEvents})},projects:{listEntries:t=>e.request(e=>e[A.projectsListEntries](t)),readFile:t=>e.request(e=>e[A.projectsReadFile](t)),searchEntries:t=>e.request(e=>e[A.projectsSearchEntries](t)),writeFile:t=>e.request(e=>e[A.projectsWriteFile](t)),stageFileReference:t=>e.request(e=>e[A.projectsStageFileReference](t)),initializeGit:t=>e.request(e=>e[A.projectsInitializeGit](t))},filesystem:{browse:t=>e.request(e=>e[A.filesystemBrowse](t))},sourceControl:{lookupRepository:t=>e.request(e=>e[A.sourceControlLookupRepository](t)),searchRepositories:t=>e.request(e=>e[A.sourceControlSearchRepositories](t)),cloneRepository:t=>e.request(e=>e[A.sourceControlCloneRepository](t)),publishRepository:t=>e.request(e=>e[A.sourceControlPublishRepository](t)),listIssues:t=>e.request(e=>e[A.sourceControlListIssues](t)),getIssue:t=>e.request(e=>e[A.sourceControlGetIssue](t)),searchIssues:t=>e.request(e=>e[A.sourceControlSearchIssues](t)),listChangeRequests:t=>e.request(e=>e[A.sourceControlListChangeRequests](t)),searchChangeRequests:t=>e.request(e=>e[A.sourceControlSearchChangeRequests](t)),getChangeRequestDetail:t=>e.request(e=>e[A.sourceControlGetChangeRequestDetail](t)),getChangeRequestDiff:t=>e.request(e=>e[A.sourceControlGetChangeRequestDiff](t)),createIssue:t=>e.request(e=>e[A.sourceControlCreateIssue](t)),addIssueComment:t=>e.request(e=>e[A.sourceControlAddIssueComment](t)),addIssueCommentReaction:t=>e.request(e=>e[A.sourceControlAddIssueCommentReaction](t)),addChangeRequestComment:t=>e.request(e=>e[A.sourceControlAddChangeRequestComment](t)),addChangeRequestCommentReaction:t=>e.request(e=>e[A.sourceControlAddChangeRequestCommentReaction](t)),listIssueLabels:t=>e.request(e=>e[A.sourceControlListIssueLabels](t)),listIssueAssignees:t=>e.request(e=>e[A.sourceControlListIssueAssignees](t)),listWorkflowRuns:t=>e.request(e=>e[A.sourceControlListWorkflowRuns](t)),getWorkflowRunJobs:t=>e.request(e=>e[A.sourceControlGetWorkflowRunJobs](t)),getWorkflowJobLog:t=>e.request(e=>e[A.sourceControlGetWorkflowJobLog](t)),rerunWorkflow:t=>e.request(e=>e[A.sourceControlRerunWorkflow](t))},textGeneration:{generateIssueContent:t=>e.request(e=>e[A.textGenerationGenerateIssueContent](t)),generateBranchName:t=>e.request(e=>e[A.textGenerationGenerateBranchName](t))},atlassian:{listConnections:()=>e.request(e=>e[A.atlassianListConnections]({})),startOAuth:t=>e.request(e=>e[A.atlassianStartOAuth](t)),disconnect:t=>e.request(e=>e[A.atlassianDisconnect](t)),refresh:t=>e.request(e=>e[A.atlassianRefresh](t)),listResources:t=>e.request(e=>e[A.atlassianListResources](t)),getProjectLink:t=>e.request(e=>e[A.atlassianGetProjectLink](t)),saveProjectLink:t=>e.request(e=>e[A.atlassianSaveProjectLink](t)),saveManualBitbucketToken:t=>e.request(e=>e[A.atlassianSaveManualBitbucketToken](t)),saveManualJiraToken:t=>e.request(e=>e[A.atlassianSaveManualJiraToken](t))},workItems:{listProjects:t=>e.request(e=>e[A.workItemsListProjects](t)),list:t=>e.request(e=>e[A.workItemsList](t)),search:t=>e.request(e=>e[A.workItemsSearch](t)),get:t=>e.request(e=>e[A.workItemsGet](t)),addComment:t=>e.request(e=>e[A.workItemsAddComment](t)),editComment:t=>e.request(e=>e[A.workItemsEditComment](t)),update:t=>e.request(e=>e[A.workItemsUpdate](t)),listTransitions:t=>e.request(e=>e[A.workItemsListTransitions](t)),transition:t=>e.request(e=>e[A.workItemsTransition](t))},shell:{openInEditor:t=>e.request(e=>e[A.shellOpenInEditor](t))},vcs:{pull:t=>e.request(e=>e[A.vcsPull](t)),refreshStatus:t=>e.request(e=>e[A.vcsRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[A.subscribeVcsStatus](t),e=>{i=Wv(i,e),n(i)},{...r,tag:A.subscribeVcsStatus})},listRefs:t=>e.request(e=>e[A.vcsListRefs](t)),createWorktree:t=>e.request(e=>e[A.vcsCreateWorktree](t)),removeWorktree:t=>e.request(e=>e[A.vcsRemoveWorktree](t)),createRef:t=>e.request(e=>e[A.vcsCreateRef](t)),switchRef:t=>e.request(e=>e[A.vcsSwitchRef](t)),init:t=>e.request(e=>e[A.vcsInit](t))},git:{runStackedAction:async(t,n)=>{let r=null;if(await e.requestStream(e=>e[A.gitRunStackedAction](t),e=>{n?.onProgress?.(e),e.kind===`action_finished`&&(r=e.result)}),r)return r;throw Error(`Git action stream completed without a final result.`)},resolvePullRequest:t=>e.request(e=>e[A.gitResolvePullRequest](t)),preparePullRequestThread:t=>e.request(e=>e[A.gitPreparePullRequestThread](t)),createWorktreeForProject:t=>e.request(e=>e[A.gitCreateWorktreeForProject](t)),findWorktreeForOrigin:t=>e.request(e=>e[A.gitFindWorktreeForOrigin](t)),archiveWorktree:t=>e.request(e=>e[A.gitArchiveWorktree](t)),restoreWorktree:t=>e.request(e=>e[A.gitRestoreWorktree](t)),deleteWorktree:t=>e.request(e=>e[A.gitDeleteWorktree](t))},worktrees:{setManualPosition:t=>e.request(e=>e[A.worktreesSetManualPosition](t))},threads:{setManualBucket:t=>e.request(e=>e[A.threadsSetManualBucket](t)),setManualPosition:t=>e.request(e=>e[A.threadsSetManualPosition](t))},server:{getConfig:()=>e.request(e=>e[A.serverGetConfig]({})),refreshProviders:t=>e.request(e=>e[A.serverRefreshProviders](t??{})),updateProvider:t=>e.request(e=>e[A.serverUpdateProvider](t)),upsertKeybinding:t=>e.request(e=>e[A.serverUpsertKeybinding](t)),getSettings:()=>e.request(e=>e[A.serverGetSettings]({})),updateSettings:t=>e.request(e=>e[A.serverUpdateSettings]({patch:t})),discoverSourceControl:()=>e.request(e=>e[A.serverDiscoverSourceControl]({})),listOpinionatedPlugins:()=>e.request(e=>e[A.serverListOpinionatedPlugins]({})),checkOpinionatedPlugins:t=>e.request(e=>e[A.serverCheckOpinionatedPlugins](t??{})),installOpinionatedPlugin:t=>e.request(e=>e[A.serverInstallOpinionatedPlugin](t)),subscribeConfig:(t,n)=>e.subscribe(e=>e[A.subscribeServerConfig]({}),t,{...n,tag:A.subscribeServerConfig}),subscribeLifecycle:(t,n)=>e.subscribe(e=>e[A.subscribeServerLifecycle]({}),t,{...n,tag:A.subscribeServerLifecycle}),subscribeAuthAccess:(t,n)=>e.subscribe(e=>e[A.subscribeAuthAccess]({}),t,{...n,tag:A.subscribeAuthAccess})},keybindings:{replaceCustom:t=>e.request(e=>e[A.keybindingsReplaceCustom](t))},mcp:{listWorkspaces:()=>e.request(e=>e[A.mcpListWorkspaces]({})),listServers:t=>e.request(e=>e[A.mcpListServers](t)),upsertServer:t=>e.request(e=>e[A.mcpUpsertServer](t)),setServerEnabled:t=>e.request(e=>e[A.mcpSetServerEnabled](t)),removeServer:t=>e.request(e=>e[A.mcpRemoveServer](t)),reloadServers:t=>e.request(e=>e[A.mcpReloadServers](t)),startOauthLogin:t=>e.request(e=>e[A.mcpStartOauthLogin](t))},orchestration:{dispatchCommand:t=>e.request(e=>e[$i.dispatchCommand](t)),getTurnDiff:t=>e.request(e=>e[$i.getTurnDiff](t)),getFullThreadDiff:t=>e.request(e=>e[$i.getFullThreadDiff](t)),subscribeShell:(t,n)=>e.subscribe(e=>e[$i.subscribeShell]({}),t,{...n,tag:$i.subscribeShell}),subscribeThread:(t,n,r)=>e.subscribe(e=>e[$i.subscribeThread](t),n,{...r,tag:$i.subscribeThread})}}}var Kv=`ryco:version-mismatch-dismissals:v1`,qv=a({keys:$e(w)});function Jv(e){let t=e?.trim();return t&&t.length>0?t:null}function Yv(e){let t=Jv(W_),n=Jv(e);return!t||!n||t===n?null:{clientVersion:t,serverVersion:n,hint:`Version mismatch. Try syncing the client and server to the same Ryco version.`}}function Xv(e){return Yv(e?.environment.serverVersion)}function Zv(e,t){return`${e}:${t.clientVersion}:${t.serverVersion}`}function Qv(){try{return qi(`ryco:version-mismatch-dismissals:v1`,qv)??{keys:[]}}catch{return{keys:[]}}}function $v(e){try{Ui(Kv,e,qv)}catch{}}function ey(e){return e?Qv().keys.includes(e):!1}function ty(e){if(!e)return;let t=Qv();t.keys.includes(e)||$v({keys:[...t.keys,e]})}function ny(e,t){let n=Jv(e);return n?t?`${n} Hint: ${t.hint}`:n:t?.hint??null}function ry(e){return/^[a-zA-Z]:([/\\]|$)/.test(e)}function iy(e){return e.startsWith(`\\\\`)}function ay(e){return iy(e)||ry(e)}function oy(e){return e===`.`||e===`..`||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)}function sy(e){return e===`/`||e===`\\`||/^[a-zA-Z]:[/\\]?$/.test(e)}function cy(e){return ry(e)||iy(e)?`windows`:e.startsWith(`/`)?`unix`:null}function ly(e){if(e.length===0||sy(e))return e;let t=cy(e)===`unix`?e.replace(/\/+$/g,``):e.replace(/[\\/]+$/g,``);return t.length===0?e:/^[a-zA-Z]:$/.test(t)?`${t}\\`:t}function uy(e){let t=cy(e);return t===`windows`?`\\`:t===`unix`?`/`:e.includes(`\\`)?`\\`:`/`}function dy(e){return(cy(e)===`unix`?/\/$/:/[\\/]$/).test(e)}function fy(e,t){return e.split(t===`/`?/\/+/:/[\\/]+/).filter(Boolean)}function py(e){return cy(e)===`unix`?e.lastIndexOf(`/`):Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`))}function my(e){if(ry(e)){let t=`${e.slice(0,2)}\\`;return{root:t,separator:`\\`,segments:fy(e.slice(t.length),`\\`)}}if(iy(e)){let[t,n,...r]=fy(e,`\\`);return!t||!n?null:{root:`\\\\${t}\\${n}\\`,separator:`\\`,segments:r}}return e.startsWith(`/`)?{root:`/`,separator:`/`,segments:fy(e.slice(1),`/`)}:null}function hy(e,t=typeof navigator>`u`?``:navigator.platform){let n=Ei(t);return e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`.\\`)||e.startsWith(`..\\`)||e.startsWith(`/`)||e.startsWith(`~/`)||n&&ay(e)}function gy(e,t){return ay(e)&&!Ei(t)}function _y(e){return ly(e.trim())}function vy(e,t){let n=e.trim();if(!oy(n)||!t)return _y(n);let r=my(_y(t));if(!r)return _y(n);let i=[...r.segments];for(let e of n.split(/[\\/]+/))if(!(e.length===0||e===`.`)){if(e===`..`){i.pop();continue}i.push(e)}let a=i.join(r.separator);return a.length===0?_y(r.root):_y(`${r.root}${a}`)}function yy(e){let t=_y(e);return ry(t)||t.startsWith(`\\\\`)?t.replaceAll(`/`,`\\`).toLowerCase():t}function by(e,t){let n=yy(t);if(n.length!==0)return e.find(e=>yy(e.cwd)===n)}function xy(e){let t=_y(e),n=my(t);return n?n.segments.findLast(Boolean)??t:t.split(/[/\\]/).findLast(Boolean)??t}function Sy(e,t){let n=uy(e);return`${wy(e)}${t}${n}`}function Cy(e){let t=py(e);return e.slice(t+1)}function wy(e){if(dy(e))return e;let t=py(e);return t<0?e:e.slice(0,t+1)}function Ty(e){let t=e.trim();return t.length===0||dy(t)?t:`${t}${uy(t)}`}function Ey(e){let t=ly(e),n=my(t);if(n){if(n.segments.length===0)return null;if(n.segments.length===1)return n.root;let e=n.segments.slice(0,-1).join(n.separator);return`${n.root}${e}${n.separator}`}let r=uy(e),i=py(t);return i<0?null:i===2&&/^[a-zA-Z]:/.test(t)?`${t.slice(0,2)}${r}`:t.slice(0,i+1)}function Dy(e){return dy(e)&&Ey(e)!==null}function Oy(e){let t=new Set,n=[];for(let r of e){let e=r?.trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function ky(e){let t=e.repositoryIdentity?.rootPath?.trim();if(!t)return null;let n=yy(e.cwd),r=yy(t);if(n.length===0||r.length===0)return null;if(n===r)return``;let i=`${r}${r.includes(`\\`)?`\\`:`/`}`;return n.startsWith(i)?n.slice(i.length).replaceAll(`\\`,`/`):null}function Ay(e,t){return`${e}:${yy(t)}`}function jy(e){return Ay(e.environmentId,e.cwd)}function My(e){return jy(e)}function Ny(e){return jy(e)}function Py(e,t){return t.sidebarProjectGroupingOverrides?.[My(e)]??t.sidebarProjectGroupingMode}function Fy(e,t){let n=e.repositoryIdentity?.canonicalKey;if(!n)return null;if(t===`repository`)return n;let r=ky(e);return r===null||r.length===0?n:`${n}::${r}`}function Iy(e,t){let n=t?.groupingMode??`repository`;return n===`separate`?jy(e):Fy(e,n)??jy(e)??Wn(_r(e.environmentId,e.id))}function Ly(e,t){return Iy(e,{groupingMode:Py(e,t)})}function Ry(e){let t=Oy(e.members.map(e=>e.repositoryIdentity?.displayName));if(t.length===1)return t[0];let n=Oy(e.members.map(e=>e.repositoryIdentity?.name));return n.length===1?n[0]:e.representative.name}var zy=`ryco:startup:`;function By(){return typeof performance<`u`&&typeof performance.mark==`function`}function Vy(e){return`${zy}${e}`}function Hy(e){if(By())try{performance.mark(Vy(e))}catch{}}function Uy(e,t,n){if(!(!By()||typeof performance.measure!=`function`))try{performance.measure(`${zy}${e}`,{start:Vy(t),end:Vy(n)})}catch{}}function Wy(e,t=new Set){return[...e].toSorted((e,n)=>{let r=t.has(e.environmentId);if(r!==t.has(n.environmentId))return r?-1:1;let i=e.lastConnectedAt??``,a=n.lastConnectedAt??``;return i===a?String(e.environmentId).localeCompare(String(n.environmentId)):a.localeCompare(i)})}async function Gy(e,t){let n=Math.max(1,Math.floor(t.concurrency)),r=[...e],i=Array.from({length:Math.min(n,r.length)},async()=>{for(;;){let e=r.shift();if(!e)return;await t.connect(e)}});await Promise.all(i)}var Ky=new Map,qy=class extends Error{constructor(e){super(`Saved environment ${e} connection was cancelled.`),this.name=`SavedEnvironmentConnectionCancelledError`}};function Jy(e){return e instanceof qy}var Yy=new Map,Xy=new Set,Q=new Map,Zy=new Map,$=null,Qy=!1,$y=null,eb=-1/0,tb=300*1e3,nb=32,rb=2e3,ib=150,ab=2500,ob=2,sb=()=>void 0,cb=/^\[ssh_http:(\d+)\]\s/u,lb=!1,ub=null,db=new Promise(e=>{ub=e});function fb(){let e=null;return{promise:new Promise(t=>{e=t}),resolve:t=>{e?.(t),e=null}}}function pb(){lb||(lb=!0,ub?.(),ub=null)}async function mb(e){lb||!la()?.environmentId||await Promise.race([db,new Promise(t=>{globalThis.setTimeout(t,e)})])}async function hb(e,t){return await new Promise(n=>{let r=globalThis.setTimeout(()=>n(null),t);e.then(e=>{clearTimeout(r),n(e)},()=>{clearTimeout(r),n(null)})})}function gb(){let e=null,t=!1,n=async()=>{do t=!1,await Ex(yp());while(t)};return()=>e?(t=!0,e):(e=n().catch(()=>void 0).finally(()=>{e=null}),e)}function _b(e,t){if(e.sequence!==t.sequence)return e.sequence-t.sequence;let n=e.updatedAt??``,r=t.updatedAt??``;return n===r?0:n<r?-1:1}function vb(e){return{sequence:e.snapshotSequence,updatedAt:e.updatedAt}}function yb(e){return e.current===null?!0:_b(e.current,vb(e.next))<0}function bb(e){return e.current===null?!0:e.sequence>e.current.sequence}function xb(e){return Zy.get(e)??null}function Sb(e,t){let n=vb(t),r=xb(e);r!==null&&_b(r,n)>=0||Zy.set(e,n)}function Cb(e,t){let n=xb(e);n!==null&&t<=n.sequence||Zy.set(e,{sequence:t,updatedAt:n?.updatedAt??null})}function wb(e,t){return nn(Rr(e,t))}function Tb(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function Eb(e){let t=Rr(e.environmentId,e.threadId),n=Z.getState(),r=Tg(n,t);if(r){if(r.hasPendingApprovals||r.hasPendingUserInput||r.hasActionableProposedPlan)return!0;let e=r.session?.orchestrationStatus;if(e&&e!==`idle`&&e!==`stopped`||r.latestTurn?.state===`running`)return!0}let i=Cg(n,t);if(!i)return!1;let a=i.session?.orchestrationStatus;return!!(a&&a!==`idle`&&a!==`stopped`)||i.latestTurn?.state===`running`||i.pendingSourceProposedPlan!==void 0}function Db(e){return e.refCount===0&&!Eb(e)}function Ob(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==sb)return!0;let t=jx(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{if(t.kind===`snapshot`){Z.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId);return}hx(t.event,e.environmentId)}),!0):!1}function kb(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=Ax(()=>{Ob(e)&&(e.lastAccessedAt=Date.now())}),Ob(e))}function Ab(e){let t=Q.get(e);return t?(Tb(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,Q.delete(e),t.unsubscribe(),t.unsubscribe=sb,!0):!1}function jb(e){for(let[t,n]of Q)n.environmentId===e&&Ab(t)}function Mb(e){for(let t of Q.values())t.environmentId===e&&(t.unsubscribe(),t.unsubscribe=sb,kb(t))}function Nb(e){for(let t of Q.values())t.environmentId===e&&Ob(t)}function Pb(e,t){let n=new Set(t);for(let[t,r]of Q)r.environmentId===e&&!n.has(r.threadId)&&Ab(t)}function Fb(e){Tb(e),Db(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=Q.get(wb(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,Db(t)&&Ab(wb(e.environmentId,e.threadId)))},tb))}function Ib(){if(Q.size<=nb)return;let e=[...Q.entries()].filter(([,e])=>Db(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(Q.size<=nb)return;Ab(t)}}function Lb(e){Tb(e),Db(e)&&Fb(e)}function Rb(e,t){let n=Q.get(wb(e,t));n&&Lb(n)}function zb(e){for(let t of Q.values())t.environmentId===e&&Lb(t);Ib()}function Bb(e,t){let n=wb(e,t),r=Q.get(n);if(r){Tb(r),r.refCount+=1,r.lastAccessedAt=Date.now(),Ob(r)||kb(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(Lb(r),Ib()))}}let i={environmentId:e,threadId:t,unsubscribe:sb,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null};Q.set(n,i),Ob(i)||kb(i),Ib();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(Lb(i),Ib()))}}function Vb(){for(let e of Xy)e()}function Hb(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function Ub(){return new Date().toISOString()}function Wb(e){if(!(e instanceof Error))return null;let t=cb.exec(e.message);if(!t)return null;let n=Number.parseInt(t[1]??``,10);return Number.isInteger(n)?n:null}function Gb(e,t){return Wb(e)===t}function Kb(e,t){return!e||!t?!1:e.alias===t.alias&&e.hostname===t.hostname&&e.username===t.username&&e.port===t.port}function qb(e){return e?yp().find(t=>Kb(t.desktopSsh,e))??null:null}function Jb(e){return Object.fromEntries(e.map(e=>[e.environmentId,e]))}function Yb(e){return new Map(e.map(e=>[e,bp(e)??null]))}async function Xb(e){let t=Jb(yp());for(let[n,r]of e){if(r){t[n]=r;continue}delete t[n]}let n=Object.values(t);await lp().persistence.setSavedEnvironmentRegistry(n.map(e=>fp(e))),J.setState({byId:t})}async function Zb(e,t){let n=window.desktopBridge;if(!n)throw Error(`SSH launch is only available in the desktop app.`);return await n.ensureSshEnvironment(e,t)}function Qb(){let e=window.desktopBridge;if(!e)throw Error(`SSH launch is only available in the desktop app.`);return e}async function $b(e){return await Qb().fetchSshEnvironmentDescriptor(e)}async function ex(e,t){return await Qb().bootstrapSshBearerSession(e,t)}async function tx(e,t){return await Qb().fetchSshSessionState(e,t)}async function nx(e,t,n){let r=await Qb().issueSshWebSocketToken(t,n),i=new URL(e,window.location.origin);return i.searchParams.set(`wsToken`,r.token),i.toString()}async function rx(e,t){if(!e.desktopSsh)return{record:e,pairingToken:null,remotePort:null,remoteServerKind:null};let n=await Zb(e.desktopSsh,t),r={...e,httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl,desktopSsh:n.target};return(r.httpBaseUrl!==e.httpBaseUrl||r.wsBaseUrl!==e.wsBaseUrl||!Kb(r.desktopSsh,e.desktopSsh))&&(await wp(r),J.getState().upsert(r)),{record:r,pairingToken:n.pairingToken,remotePort:n.remotePort??null,remoteServerKind:n.remoteServerKind??null}}async function ix(e){let t=Yb([e.environmentId]),n=await rx(e,{issuePairingToken:!0});if(!n.pairingToken)throw await Xb(t),Error(`Desktop SSH launch did not return a pairing token.`);let r=await ex(n.record.httpBaseUrl,n.pairingToken).catch(async e=>{await Xb(t);let r=[`local ${n.record.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),i=e instanceof Error?e.message:String(e);throw Error(`${i} (${r})`)});if(!await Ep(n.record.environmentId,r.sessionToken))throw await Xb(t),Error(`Unable to persist saved environment credentials.`);return{record:n.record,bearerToken:r.sessionToken,role:r.role??null}}function ax(e){Y.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function ox(e){let t=Ub();Y.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),J.getState().markConnected(e,t)}function sx(e,t){Y.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:Ub(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:Ub()}:{}})}function cx(e,t){Y.getState().patch(e,{connectionState:`error`,...Hb(t)})}function lx(e){if(e.length<2)return[...e];let t=[];for(let n of e){let e=t.at(-1);if(e?.type===`thread.message-sent`&&n.type===`thread.message-sent`&&e.payload.threadId===n.payload.threadId&&e.payload.messageId===n.payload.messageId){t[t.length-1]={...n,payload:{...n.payload,attachments:n.payload.attachments??e.payload.attachments,createdAt:e.payload.createdAt,text:!n.payload.streaming&&n.payload.text.length>0?n.payload.text:e.payload.text+n.payload.text}};continue}t.push(n)}return t}function ux(){let e=pg(Z.getState()),t=Sd();ji.getState().syncProjects(e.map(e=>({key:jy(e),logicalKey:Ly(e,t),cwd:e.cwd})))}function dx(){let e=mg(Z.getState());ji.getState().syncThreads(e.map(e=>({key:nn(Rr(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),Wi(e.map(e=>Rr(e.environmentId,e.id)))}function fx(){ux(),dx();let e=Np({snapshotThreads:mg(Z.getState()).map(e=>({key:nn(Rr(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:Fi.getState().listDraftThreadKeys()});__.getState().removeOrphanedTerminalStates(e)}function px(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function mx(e,t){if(e.length===0)return;let n=Pp(e),r=lx(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);if(n.needsProviderInvalidation&&(Qy=!0,$?.queryInvalidationThrottler.maybeExecute()),Z.getState().applyOrchestrationEvents(r,t),i){let e=pg(Z.getState()),t=Sd();ji.getState().syncProjects(e.map(e=>({key:jy(e),logicalKey:Ly(e,t),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=mg(Z.getState());ji.getState().syncThreads(e.map(e=>({key:nn(Rr(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=Fi.getState();for(let e of n.promoteDraftThreadIds)Zi(Rr(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Rr(t,e)),ji.getState().clearThreadUi(nn(Rr(t,e)));for(let n of e)n.type===`project.deleted`&&a.clearProjectDraftThreadId(_r(t,n.payload.projectId));for(let e of n.removeTerminalStateThreadIds)__.getState().removeTerminalState(Rr(t,e));zb(t)}function hx(e,t){mx([e],t)}function gx(e,t){if(!bb({current:xb(t),sequence:e.sequence}))return;let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?Rr(t,n):null,i=r?Cg(Z.getState(),r):void 0;switch(Z.getState().applyShellEvent(e,t),Cb(t,e.sequence),e.kind){case`project-upserted`:case`project-removed`:ux();return;case`worktree-upserted`:case`worktree-removed`:return;case`thread-upserted`:dx(),!i&&r&&Zi(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&__.getState().removeTerminalState(r),Rb(t,e.thread.id),Ib();return;case`thread-removed`:r&&(Ab(nn(r)),Fi.getState().clearDraftThread(r),ji.getState().clearThreadUi(nn(r)),__.getState().removeTerminalState(r)),dx();return}}function _x(){return{applyShellEvent:gx,syncShellSnapshot:(e,t)=>{let n=la()?.environmentId;t===n&&Hy(`primary-shell-snapshot-received`),yb({current:xb(t),next:e})&&(Z.getState().syncServerShellSnapshot(e,t),t===n&&(Hy(`primary-shell-snapshot-applied`),Uy(`primary-shell-snapshot`,`primary-shell-snapshot-received`,`primary-shell-snapshot-applied`),Hy(`primary-shell-usable`),Uy(`primary-shell-ready`,`root-before-load-ready`,`primary-shell-usable`),pb()),Sb(t,e),Pb(t,e.threads.map(e=>e.id)),zb(t),fx())},applyTerminalEvent:(e,t)=>{let n=Rr(t,na.make(e.threadId)),r=Cg(Z.getState(),n),i=Fi.getState().getDraftThreadByRef(n)!==null;px({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&__.getState().applyTerminalEvent(n,e)}}}function vx(e){let t=or(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);let n=e?.label??null;return Gv(new vv(async()=>{let e=await sa(),n=new URL(t,window.location.origin);return n.searchParams.set(`wsToken`,e.token),n.toString()},{getConnectionLabel:()=>n,getVersionMismatchHint:()=>Xv(Nu())?.hint??null,onOpen:()=>{Hy(`primary-ws-open`)}}))}function yx(e,t){return Y.getState().ensure(e),Gv(new vv(async()=>{let n=bp(e);if(!n)throw Error(`Saved environment ${e} not found.`);return n.desktopSsh?await nx(n.wsBaseUrl,n.httpBaseUrl,t):await tm({wsBaseUrl:n.wsBaseUrl,httpBaseUrl:n.httpBaseUrl,bearerToken:t})},{getConnectionLabel:()=>bp(e)?.label??null,getVersionMismatchHint:()=>Xv(Y.getState().byId[e]?.serverConfig)?.hint??null,onAttempt:()=>{ax(e)},onOpen:()=>{ox(e)},onError:t=>{let n=Xv(Y.getState().byId[e]?.serverConfig);Y.getState().patch(e,{connectionState:`error`,lastError:ny(t,n),lastErrorAt:Ub()})},onClose:(t,n)=>{n.intentional||sx(e,ny(t.reason,Xv(Y.getState().byId[e]?.serverConfig)))}}))}async function bx(e,t,n,r,i){let a=bp(e);if(!a)throw Error(`Saved environment ${e} not found.`);let[o,s]=await Promise.all([i?Promise.resolve(i):n.server.getConfig(),a.desktopSsh?tx(a.httpBaseUrl,t):Qp({httpBaseUrl:a.httpBaseUrl,bearerToken:t})]);Y.getState().patch(a.environmentId,{authState:s.authenticated?`authenticated`:`requires-auth`,descriptor:o.environment,serverConfig:o,role:s.authenticated?s.role??r??null:null}),J.getState().rename(a.environmentId,o.environment.label)}function xx(e){let t=Ky.get(e.environmentId);if(t&&t!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);return Ky.set(e.environmentId,e),Nb(e.environmentId),Vb(),e}async function Sx(e){let t=Ky.get(e);return t?(Zy.delete(e),Ky.delete(e),Vb(),Mb(e),await t.dispose(),!0):!1}function Cx(){let e=la();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);return Ky.get(e.environmentId)||xx(sm({kind:`primary`,knownEnvironment:e,client:vx(e),..._x()}))}function wx(){return la()?.environmentId?Cx():null}async function Tx(e,t){let n=Ky.get(e.environmentId);if(n)return n;let r=Yy.get(e.environmentId);if(r)return r.promise;let i={cancelled:!1,promise:Promise.resolve().then(async()=>{let n=e,r=t?.role??null,a=t?.bearerToken??await Tp(e.environmentId);if(a)n=(await rx(e)).record;else if(e.desktopSsh){let t=await ix(e);n=t.record,a=t.bearerToken,r=t.role}else throw Y.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:Ub()}),Error(`Saved environment is missing its saved credential.`);let o=a,s=t?.client??yx(n.environmentId,o),c=fb(),l=sm({kind:`saved`,knownEnvironment:{...Hr({id:n.environmentId,label:n.label,source:`manual`,target:{httpBaseUrl:n.httpBaseUrl,wsBaseUrl:n.wsBaseUrl}}),environmentId:n.environmentId},client:s,refreshMetadata:async()=>{await bx(n.environmentId,o,s)},onConfigSnapshot:e=>{c.resolve(e),Y.getState().patch(n.environmentId,{descriptor:e.environment,serverConfig:e})},onWelcome:e=>{Y.getState().patch(n.environmentId,{descriptor:e.environment})},..._x()});try{try{let e=t?.serverConfig??await hb(c.promise,ib);await bx(n.environmentId,o,s,r,e)}catch(e){if(!(n.desktopSsh?Gb(e,401):qp(e)&&e.status===401))throw e;if(!n.desktopSsh)throw await Dp(n.environmentId),Error(`Saved environment credential expired. Pair it again.`,{cause:e});let i=await ix(n);return n=i.record,a=i.bearerToken,r=i.role,await l.dispose().catch(()=>void 0),Yy.delete(n.environmentId),await Tx(n,{bearerToken:a,role:r,serverConfig:t?.serverConfig??null})}if(i.cancelled||Yy.get(n.environmentId)!==i)throw await l.dispose().catch(()=>void 0),new qy(n.environmentId);return xx(l),l}catch(e){throw e instanceof qy?e:(cx(n.environmentId,e),await Sx(n.environmentId).catch(()=>!1)||await l.dispose().catch(()=>void 0),e)}})};return Yy.set(e.environmentId,i),await i.promise.finally(()=>{Yy.get(e.environmentId)===i&&Yy.delete(e.environmentId)})}async function Ex(e){let t=new Set(e.map(e=>e.environmentId)),n=[...Ky.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!t.has(e));await Promise.all(n.map(e=>Px(e))),await mb(ab),await Gy(Wy(e),{concurrency:ob,connect:async e=>{await Tx(e).catch(()=>void 0)}})}function Dx(){$?.stop(),$=null}function Ox(e){let t=Date.now();if(!(t-eb<rb))for(let n of Ky.values())n.client.isHeartbeatFresh()||(eb=t,n.reconnect().catch(t=>{console.warn(`Environment reconnect after browser resume failed`,{environmentId:n.environmentId,reason:e,error:t instanceof Error?t.message:String(t)})}))}function kx(){if(typeof document>`u`||typeof window>`u`)return sb;let e=()=>{if(document.visibilityState===`hidden`){$y=Date.now();return}document.visibilityState===`visible`&&$y!==null&&($y=null,Ox(`visibilitychange`))},t=e=>{(e.persisted||$y!==null)&&($y=null,Ox(`pageshow`))};return document.addEventListener(`visibilitychange`,e),window.addEventListener(`pageshow`,t),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`pageshow`,t)}}function Ax(e){return Xy.add(e),()=>{Xy.delete(e)}}function jx(e){return Ky.get(e)??null}function Mx(e){let t=jx(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function Nx(){return Cx()}async function Px(e){let t=bp(e),n=Yy.get(e);n&&(n.cancelled=!0,Yy.delete(e)),Ky.get(e)?.kind===`saved`&&await Sx(e).catch(()=>!1),sx(e),t?.desktopSsh&&typeof window<`u`&&(await window.desktopBridge?.disconnectSshEnvironment(t.desktopSsh),await Dp(e))}async function Fx(e){let t=bp(e);if(!t)throw Error(`Saved environment not found.`);let n=Ky.get(e);if(!n){ax(e);try{await Tx(t);return}catch(t){if(Jy(t))return;throw cx(e,t),t}}ax(e);try{t.desktopSsh&&await rx(t),await n.reconnect()}catch(n){if(t.desktopSsh)try{let n=await ix(bp(e)??t);await Sx(e).catch(()=>!1),await Tx(n.record,{bearerToken:n.bearerToken,role:n.role});return}catch(t){if(Jy(t))return;throw cx(e,t),t}throw cx(e,n),n}}async function Ix(e){await Px(e),jb(e),J.getState().remove(e),Y.getState().clear(e),Z.getState().removeEnvironmentState(e),await Dp(e)}async function Lx(e){let t=am({...e.pairingUrl===void 0?{}:{pairingUrl:e.pairingUrl},...e.host===void 0?{}:{host:e.host},...e.pairingCode===void 0?{}:{pairingCode:e.pairingCode}}),n=e.desktopSsh?await $b(t.httpBaseUrl):await $p({httpBaseUrl:t.httpBaseUrl}),r=n.environmentId,i=Yb([r]),a=bp(r)??qb(e.desktopSsh),o=a&&a.environmentId!==r?a:null,s=e.desktopSsh?await ex(t.httpBaseUrl,t.credential):await Zp({httpBaseUrl:t.httpBaseUrl,credential:t.credential}),c={environmentId:r,label:e.label.trim()||a?.label||n.label,wsBaseUrl:t.wsBaseUrl,httpBaseUrl:t.httpBaseUrl,createdAt:a?.createdAt??Ub(),lastConnectedAt:Ub(),...e.desktopSsh??a?.desktopSsh?{desktopSsh:e.desktopSsh??a?.desktopSsh}:{}};if(await wp(c),!await Ep(r,s.sessionToken))throw await Xb(i),Error(`Unable to persist saved environment credentials.`);return J.getState().upsert(c),o&&await Ix(o.environmentId),await Sx(r).catch(()=>!1),await Tx(c,{bearerToken:s.sessionToken,role:s.role}),c}async function Rx(e,t){let n=await Zb(e,{issuePairingToken:!0});if(!n.pairingToken)throw Error(`Desktop SSH launch did not return a pairing token.`);return await Lx({label:t?.label?.trim()||n.target.alias,host:n.httpBaseUrl,pairingCode:n.pairingToken,desktopSsh:n.target}).catch(e=>{let t=[`local ${n.httpBaseUrl}`,`remote port ${n.remotePort??`unknown`}`,n.remoteServerKind?`remote server ${n.remoteServerKind}`:null].filter(Boolean).join(`, `),r=e instanceof Error?e.message:String(e);throw Error(`${r} (${t})`)})}async function zx(e){await Ky.get(e)?.ensureBootstrapped()}function Bx(e){if($?.queryClient===e)return $.refCount+=1,()=>{!$||$.queryClient!==e||(--$.refCount,$.refCount===0&&Dx())};Dx(),Qy=!1;let t=new Mp(()=>{Qy&&(Qy=!1,e.invalidateQueries({queryKey:Bp.all}),e.invalidateQueries({queryKey:Fp.all}))},{wait:100,leading:!1,trailing:!0}),n=gb();wx();let r=J.subscribe(()=>{_p()&&n()});vp().then(()=>n()).catch(()=>void 0);let i=kx();return $={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{r(),i(),t.cancel()}},()=>{!$||$.queryClient!==e||(--$.refCount,$.refCount===0&&Dx())}}var Vx=n({waitForSavedEnvironmentRegistryHydration:()=>vp}),Hx=new Map;function Ux(e){return{terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{listEntries:e.projects.listEntries,readFile:e.projects.readFile,searchEntries:e.projects.searchEntries,writeFile:e.projects.writeFile,stageFileReference:e.projects.stageFileReference,initializeGit:e.projects.initializeGit},filesystem:{browse:e.filesystem.browse},sourceControl:{lookupRepository:e.sourceControl.lookupRepository,searchRepositories:e.sourceControl.searchRepositories,cloneRepository:e.sourceControl.cloneRepository,publishRepository:e.sourceControl.publishRepository},vcs:{pull:e.vcs.pull,refreshStatus:e.vcs.refreshStatus,onStatus:(t,n,r)=>e.vcs.onStatus(t,n,r),listRefs:e.vcs.listRefs,createWorktree:e.vcs.createWorktree,removeWorktree:e.vcs.removeWorktree,createRef:e.vcs.createRef,switchRef:e.vcs.switchRef,init:e.vcs.init},git:{resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread,createWorktreeForProject:e.git.createWorktreeForProject,findWorktreeForOrigin:e.git.findWorktreeForOrigin,archiveWorktree:e.git.archiveWorktree,restoreWorktree:e.git.restoreWorktree,deleteWorktree:e.git.deleteWorktree},...e.worktrees?{worktrees:{setManualPosition:e.worktrees.setManualPosition}}:{},...e.threads?{threads:{setManualBucket:e.threads.setManualBucket,setManualPosition:e.threads.setManualPosition}}:{},orchestration:{dispatchCommand:e.orchestration.dispatchCommand,getTurnDiff:e.orchestration.getTurnDiff,getFullThreadDiff:e.orchestration.getFullThreadDiff,subscribeShell:(t,n)=>e.orchestration.subscribeShell(t,n),subscribeThread:(t,n,r)=>e.orchestration.subscribeThread(t,n,r)}}}function Wx(e){if(typeof window>`u`||!e)return;let t=Hx.get(e);if(t)return t;let n=jx(e);return n?Ux(n.client):void 0}function Gx(e){let t=Wx(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}export{R_ as $,Yu as $t,dy as A,J as At,Rv as B,rf as Bt,Sy as C,km as Ct,wy as D,zp as Dt,by as E,Gp as Et,oy as F,Df as Ft,Ov as G,Cd as Gt,zv as H,Hd as Ht,Zv as I,Nf as It,tv as J,Pu as Jt,Pv as K,Td as Kt,ty as L,Ff as Lt,hy as M,lp as Mt,gy as N,cp as Nt,Cy as O,yp as Ot,vy as P,Ef as Pt,W_ as Q,ed as Qt,ey as R,yf as Rt,Ny as S,Pm as St,Ty as T,lm as Tt,bv as U,Gd as Ut,Lv as V,of as Vt,Nv as W,Sd as Wt,U_ as X,Xu as Xt,V_ as Y,Bu as Yt,H_ as Z,Ku as Zt,Ly as _,Z as _t,Rx as a,au as an,pg as at,Ry as b,Hm as bt,Nx as c,xg as ct,Ix as d,yg as dt,Zu as en,g_ as et,Mx as f,Cg as ft,Uy as g,fg as gt,Hy as h,mg as ht,Lx as i,du as in,Sg as it,xy as j,Y as jt,Ey as k,Cp as kt,jx as l,_g as lt,Bx as m,hg as mt,Wx as n,Ju as nn,__ as nt,Px as o,Jl as on,gg as ot,Bb as p,wg as pt,Dv as q,Lu as qt,Vx as r,$u as rn,dg as rt,zx as s,Kl as sn,bg as st,Gx as t,Qu as tn,m_ as tt,Fx as u,vg as ut,jy as v,Um as vt,Dy as w,pm as wt,My as x,Wm as xt,Ay as y,Vm as yt,Xv as z,af as zt};