@cmmd-center/forge 0.13.16 → 0.13.18

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 (22) hide show
  1. package/dist/bin.cjs +40 -724
  2. package/dist/bin.mjs +10 -694
  3. package/dist/client/assets/{CanvasPanel-RpD9Eh_S.js → CanvasPanel-uofZ5KUR.js} +2 -2
  4. package/dist/client/assets/{CompositeItem-DEIBUHJR.js → CompositeItem-C5YSRi5B.js} +2 -2
  5. package/dist/client/assets/{DiffPanel-DI782ZMI.js → DiffPanel-DKupDrOL.js} +2 -2
  6. package/dist/client/assets/{DiffPanel.logic-DtVm1IjE.js → DiffPanel.logic-C7gTWSq9.js} +2 -2
  7. package/dist/client/assets/{DiffPanelShell-IB1GWoYr.js → DiffPanelShell-DCsvZHj8.js} +6 -6
  8. package/dist/client/assets/{DiffWorkerPoolProvider-DDMgJC0H.js → DiffWorkerPoolProvider-DJ_pp0NU.js} +2 -2
  9. package/dist/client/assets/{PullRequestCodePanel-DPwb2trb.js → PullRequestCodePanel-D3hf_E_a.js} +2 -2
  10. package/dist/client/assets/{Virtualizer-CU-TBcmx.js → Virtualizer-CWyTqi1E.js} +2 -2
  11. package/dist/client/assets/{canvasStateStore-NrAxDqvM.js → canvasStateStore-IBP3QM_C.js} +2 -2
  12. package/dist/client/assets/{cmmdAuthRedirect-BahlX0gF.js → cmmdAuthRedirect-Ck1QfYaS.js} +2 -2
  13. package/dist/client/assets/index-EZbGVDT4.css +1 -0
  14. package/dist/client/assets/index-rebrBYd5.js +153 -0
  15. package/dist/client/assets/{popover-Z8Tvl-OD.js → popover-BQaoSlk7.js} +2 -2
  16. package/dist/client/assets/{src-BU7yHzO9.js → src-Bj8vTcnP.js} +2 -2
  17. package/dist/client/assets/{toggle-CWYdWYBn.js → toggle-CE2NHkQL.js} +2 -2
  18. package/dist/client/index.html +11 -11
  19. package/dist/forge-build.json +1 -1
  20. package/package.json +1 -1
  21. package/dist/client/assets/index-B9000khV.css +0 -1
  22. package/dist/client/assets/index-CB-vPC0y.js +0 -153
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-2W3EstLn.js","assets/rolldown-runtime-hePW80VL.js","assets/transport-CgH8pQK3.js","assets/workspaceReadinessAtom-D6bgTvKb.js","assets/atomRegistry-C1yW8tyM.js","assets/Stream-mUTFnSY9.js","assets/angular-html-B8mrqUL5.js","assets/html-XwrE-1r6.js","assets/javascript-obGGvMPs.js","assets/css-CNuuLpMC.js","assets/angular-ts-Bzix210W.js","assets/scss-YesllqfO.js","assets/apl-Dhin1L29.js","assets/xml-BlnrEAEy.js","assets/java-DdHNQ9hk.js","assets/json-DAgxKhMr.js","assets/astro-B-4NNgOP.js","assets/typescript-BydbNFcO.js","assets/postcss-BXeXVLqQ.js","assets/tsx-CUOciP0b.js","assets/blade-Wr94ul2N.js","assets/html-derivative-i4STDFnl.js","assets/sql-ClgswhA6.js","assets/bsl-BkkzgIyY.js","assets/sdbl-bTVj8UrX.js","assets/c-iCihek07.js","assets/cairo-DLTphjLi.js","assets/python-gzcpVVnB.js","assets/cobol-Cw2-KvLW.js","assets/coffee-CiiSLhB6.js","assets/cpp-DjoE5qBx.js","assets/regexp-DR20uMnK.js","assets/glsl-D5MA2a_X.js","assets/crystal-wCJpIkgB.js","assets/shellscript-Da78Ox-3.js","assets/edge-DCY0a-ow.js","assets/elixir-DP304Xio.js","assets/elm-o4NJxfws.js","assets/erb-BcNYoZVd.js","assets/ruby-2bd251b9.js","assets/haml-CwEpbK1d.js","assets/graphql-Ctjuxyvl.js","assets/jsx-gTgmArGx.js","assets/lua-FONpmTUP.js","assets/yaml-Du_6cdrH.js","assets/erlang-Cphh6RMH.js","assets/markdown-BYOwaDjH.js","assets/fortran-fixed-form-DEKoE2YW.js","assets/fortran-free-form-CYNrtFtB.js","assets/fsharp-D13ZGOAj.js","assets/gdresource-C0sCabJj.js","assets/gdshader-CBce3t8t.js","assets/gdscript-Cp2uCuqX.js","assets/git-commit-BSykSTBG.js","assets/diff-woXpYk--.js","assets/git-rebase-BDPpS8w6.js","assets/glimmer-js-BONyzAsu.js","assets/glimmer-ts-f9c0GCOe.js","assets/hack-7ztQ7Up-.js","assets/handlebars-ryMP1rBR.js","assets/http-kmH8AyfE.js","assets/hurl-DCZHXKU4.js","assets/csv-Dx-8-gkx.js","assets/hxml-B0Qn7Nwc.js","assets/haxe-OTjmBuCE.js","assets/jinja-B-tLrNsM.js","assets/jison-CBjhYtSs.js","assets/julia-CjHxn3vf.js","assets/r-D6UWEOL2.js","assets/just-CZ9bduw9.js","assets/perl-BAov3eih.js","assets/latex-D9bvcAJr.js","assets/tex-0w6-Dtgt.js","assets/liquid-G0MH4h_m.js","assets/marko-DV5GrDmo.js","assets/less-DVTAwKKz.js","assets/mdc-cg1lnqpW.js","assets/nextflow-BJtWHP5T.js","assets/nextflow-groovy-DJMQeKeT.js","assets/nginx-BTMw9COX.js","assets/nim-B6yJ_yaC.js","assets/php-Cg76ANFt.js","assets/pug-DkgDHZci.js","assets/qml-_a-QhfPD.js","assets/razor-D3EoCAik.js","assets/csharp-Ct8U2NOr.js","assets/rst-YTmaoyaq.js","assets/cmake-Bj61d0ZC.js","assets/sas-B6p8-ynO.js","assets/shaderlab-TOUzSsQk.js","assets/hlsl-Cvrh5tZx.js","assets/shellsession-CVsQGYfZ.js","assets/soy-DEd-qcad.js","assets/sparql-D_iOobhT.js","assets/turtle-ByJddavk.js","assets/stata-RoaAgbqU.js","assets/surrealql-DIn4NJsS.js","assets/svelte-Bj3Hmc9F.js","assets/templ-TjxbArHn.js","assets/go-rLFTqkRN.js","assets/ts-tags-DFwAVxhO.js","assets/twig-BbcH-NR0.js","assets/vue-BNi0qJZP.js","assets/vue-html-DkKkQnZL.js","assets/vue-vine-DFaKYU4X.js","assets/stylus-B6D30XZt.js","assets/xsl-BOPS8gLt.js"])))=>i.map(i=>d[i]);
2
- import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{$ as r,$t as i,Aa as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Ci as m,Cn as h,Di as g,Dn as _,Dt as v,Ei as y,En as b,Er as x,Et as S,F as C,Fa as w,Fi as T,Fn as E,Fr as D,Ft as ee,Gn as te,Gt as ne,Ha as O,Hn as k,Hr as re,Ht as A,Ia as ie,Ir as ae,It as oe,J as se,Jn as ce,Jt as le,K as ue,Kn as de,Kt as fe,L as pe,La as me,Ln as he,Lr as ge,Lt as _e,M as ve,Ma as ye,Mi as be,Mr as xe,Mt as Se,N as Ce,Ni as we,Nn as eee,Nt as Te,O as tee,Oa as nee,On as ree,Ot as iee,P as aee,Pa as oee,Pi as Ee,Pn as De,Pt as Oe,Qi as ke,Qn as Ae,Qt as see,R as je,Rn as Me,Rr as Ne,Rt as cee,Si as lee,Sn as uee,T as Pe,Ta as Fe,Tn as dee,Tr as Ie,Tt as Le,U as Re,Ua as fee,Un as ze,Ur as Be,Ut as pee,V as mee,Va as Ve,Vn as He,Vr as Ue,Vt as We,W as Ge,Wa as hee,Wn as gee,Wr as _ee,Wt as vee,X as yee,Xn as bee,Y as xee,Yi as Ke,Yn as qe,Yt as See,Z as Je,Zi as Cee,Zn as wee,Zt as Tee,_ as Eee,_a as Ye,_n as Dee,_r as Oee,_t as kee,an as Aee,at as Xe,bn as jee,br as Mee,bt as Ze,ca as Qe,ci as $e,cn as Nee,ct as et,di as Pee,dn as Fee,dr as Iee,dt as tt,ea as nt,ei as Lee,en as rt,er as Ree,et as it,fi as at,fr as zee,ft as ot,gi as st,gn as ct,gt as lt,hn as ut,hr as dt,ht as ft,in as pt,it as Bee,j as mt,ja as Vee,jn as ht,jr as Hee,jt as gt,ki as _t,kr as Uee,kt as vt,li as yt,ln as Wee,m as Gee,mn as bt,mr as xt,mt as St,na as Kee,ni as qee,nr as Ct,nt as wt,oa as Jee,on as Yee,or as Tt,pi as Xee,pn as Et,pt as Dt,q as Ot,qn as kt,qt as Zee,r as Qee,ri as $ee,rn as At,rr as ete,rt as tte,s as nte,si as rte,sn as ite,st as jt,ui as ate,un as Mt,ut as Nt,vn as Pt,vr as ote,vt as ste,w as Ft,wn as cte,wr as lte,wt as It,x as ute,xi as dte,xn as Lt,y as fte,yi as pte,yn as Rt,yt as mte,z as zt,zn as Bt,zt as hte}from"./Stream-mUTFnSY9.js";import{i as gte,l as Vt,n as Ht,o as Ut,s as Wt}from"./atomRegistry-C1yW8tyM.js";import{En as _te,Fn as Gt,In as vte,Q as Kt,Rn as yte,Sn as qt,Tn as Jt,_n as Yt,bn as bte,dn as Xt,gn as xte,hn as Zt,i as Ste,vn as Cte,x as wte,xn as Qt,yn as Tte}from"./CompositeItem-DEIBUHJR.js";import{$n as $t,$t as Ete,A as en,An as Dte,At as tn,Bn as Ote,Bt as kte,C as Ate,Ct as jte,D as nn,Dn as rn,Dt as an,En as on,Et as sn,Fn as cn,Ft as Mte,Gn as Nte,Gt as ln,H as un,Hn as Pte,Ht as dn,In as fn,It as pn,Jn as Fte,Jt as Ite,Kt as mn,L as Lte,Ln as hn,Lt as Rte,Mn as zte,Mt as gn,Nt as Bte,O as _n,On as vn,Pn as yn,Pt as Vte,Qt as Hte,Rn as Ute,Rt as Wte,St as bn,Tn as xn,Tt as Sn,U as Gte,Un as Kte,Ut as Cn,V as wn,Vn as qte,Vt as Tn,W as Jte,Wn as Yte,Wt as En,Xt as Dn,Y as Xte,Yt as Zte,Z as Qte,Zt as $te,_n as j,_t as On,a as ene,an as kn,b as An,bn as jn,c as Mn,cn as Nn,d as tne,dt as Pn,en as nne,et as rne,f as ine,fn as Fn,g as ane,gn as In,gt as one,hn as Ln,ht as Rn,i as sne,in as cne,j as zn,jn as Bn,jt as Vn,k as lne,kn as une,kt as Hn,l as Un,ln as Wn,lt as Gn,m as dne,mn as Kn,nn as fne,nt as qn,o as pne,on as Jn,p as mne,pn as hne,pt as gne,q as _ne,qt as Yn,rn as vne,s as M,sn as Xn,tn as Zn,tt as Qn,u as $n,ut as er,v as tr,vn as nr,w as yne,wn as rr,x as bne,xn as ir,yn as xne,yt as Sne,z as Cne,zt as ar}from"./src-BU7yHzO9.js";import{A as or,C as wne,D as sr,F as Tne,I as Ene,L as cr,M as lr,N as Dne,O as ur,S as One,T as dr,a as fr,b as kne,c as Ane,d as jne,j as pr,k as mr,l as Mne,n as hr,s as Nne,u as Pne,v as Fne,x as Ine,y as Lne}from"./cmmdAuthRedirect-BahlX0gF.js";import{t as N}from"./preload-helper-Czpn1I53.js";import{n as P,t as gr}from"./transport-CgH8pQK3.js";import{n as Rne,t as zne}from"./workspaceReadinessAtom-D6bgTvKb.js";function Bne(e){return e[e.length-1]}function Vne(e,t){return typeof e==`function`?e(t):e}var _r=Object.prototype.hasOwnProperty,Hne=Object.prototype.propertyIsEnumerable;function Une(e){for(let t in e)if(_r.call(e,t))return!0;return!1}var Wne=()=>Object.create(null),Gne=(e,t)=>vr(e,t,Wne);function vr(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=Sr(e)&&Sr(i);if(!a&&!(br(e)&&br(i)))return i;let o=a?e:yr(e);if(!o)return i;let s=a?i:yr(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;t<l;t++){let o=a?t:s[t],l=e[o],f=i[o];if(l===f){u[o]=l,(a?t<c:_r.call(e,o))&&d++;continue}if(l===null||f===null||typeof l!=`object`||typeof f!=`object`){u[o]=f;continue}let p=vr(l,f,n,r+1);u[o]=p,p===l&&d++}return c===l&&d===c?e:u}function yr(e){let t=Object.keys(e);if(t.length!==Object.getOwnPropertyNames(e).length)return!1;let n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;for(let r of n){if(!Hne.call(e,r))return!1;t.push(r)}return t}function br(e){if(!xr(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!xr(n)||!n.hasOwnProperty(`isPrototypeOf`))}function xr(e){return Object.prototype.toString.call(e)===`[object Object]`}function Sr(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Cr(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!Cr(e[r],t[r],n))return!1;return!0}if(br(e)&&br(t)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let i in t)if((!r||t[i]!==void 0)&&!Cr(e[i],t[i],n))return!1;return!0}let i=0;if(!r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;let a=0;for(let o in t)if((!r||t[o]!==void 0)&&(a++,a>i||!Cr(e[o],t[o],n)))return!1;return i===a}return!1}var Kne=/[\x00-\x1f\x7f"<>`{}]/g;function qne(e){return e.replace(Kne,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`))}function wr(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return qne(t)}var Jne=[`http:`,`https:`,`mailto:`,`tel:`];function Yne(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function Xne(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=wr(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=wr(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function Zne(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function Qne(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Tr(){throw Error(`Invariant failed`)}var F=t(hee(),1),Er=F.createContext(null);function Dr(e){return F.useContext(Er)}var Or=F.createContext(void 0),$ne=F.createContext(void 0),ere=yte();function tre(e,t){return e===t}function kr(e,t,n=tre){let r=(0,F.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,F.useCallback)(()=>e?.get(),[e]);return(0,ere.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var Ar={};function jr(e,t){let n=F.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=vr(n.current,i):i}}function Mr(e){let t=Dr(),n=F.useContext(e.from?$ne:Or),r=e.from??n,i=t.stores.getMatchStore(r),a=jr(e,t),o=kr(i,e=>e?a(e):Ar);if(o!==Ar)return o;(e.shouldThrow??!0)&&Tr()}function nre(e){return Mr({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}var Nr=fee(),Pr=typeof window<`u`&&(window.desktopBridge!==void 0||window.nativeApi!==void 0),Fr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ir=new class extends Fr{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},rre={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Lr=new class{#e=rre;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function ire(e){setTimeout(e,0)}var are=typeof window>`u`||`Deno`in globalThis;function Rr(){}function ore(e,t){return typeof e==`function`?e(t):e}function zr(e){return typeof e==`number`&&e>=0&&e!==1/0}function Br(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Vr(e,t){return typeof e==`function`?e(t):e}function Hr(e,t){return typeof e==`function`?e(t):e}function sre(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==Ur(o,t.options))return!1}else if(!Gr(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function cre(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Wr(t.options.mutationKey)!==Wr(a))return!1}else if(!Gr(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Ur(e,t){return(t?.queryKeyHashFn||Wr)(e)}function Wr(e){return JSON.stringify(e,(e,t)=>Yr(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function Gr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<t.length;n++)if(!Gr(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!Gr(e[r],t[r]))return!1;return!0}return!1}var lre=Object.prototype.hasOwnProperty;function Kr(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Jr(e)&&Jr(t);if(!r&&!(Yr(e)&&Yr(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:lre.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=Kr(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function qr(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Jr(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Yr(e){if(!Xr(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Xr(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Xr(e){return Object.prototype.toString.call(e)===`[object Object]`}function ure(e){return new Promise(t=>{Lr.setTimeout(t,e)})}function Zr(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:Kr(e,t)}function dre(e){return e}function fre(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function pre(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Qr=Symbol();function $r(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Qr?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ei(e,t){return typeof e==`function`?e(...t):!!e}function mre(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var ti=(()=>{let e=()=>are;return{isServer(){return e()},setIsServer(t){e=t}}})();function ni(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var hre=ire;function gre(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=hre,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var ri=gre(),ii=new class extends Fr{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function _re(e){return Math.min(1e3*2**e,3e4)}function ai(e){return(e??`online`)!==`online`||ii.isOnline()}var oi=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function si(e){let t=!1,n=0,r,i=ni(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new oi(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>Ir.isFocused()&&(e.networkMode===`always`||ii.isOnline())&&e.canRun(),u=()=>ai(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(ti.isServer()?0:3),o=e.retryDelay??_re,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),ure(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var ci=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),zr(this.gcTime)&&(this.#e=Lr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ti.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(Lr.clearTimeout(this.#e),this.#e=void 0)}};function vre(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{mre(e,()=>t.signal,()=>n=!0)},u=$r(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?pre:fre;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?ui:li,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:li(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function li(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ui(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function yre(e,t){return t?li(e,t)!=null:!1}function bre(e,t){return!t||!e.getPreviousPageParam?!1:ui(e,t)!=null}var xre=class extends ci{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=pi(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=pi(this.options);e.data!==void 0&&(this.setState(fi(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Zr(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(Rr).catch(Rr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Hr(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qr||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>Vr(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!Br(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=$r(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?vre(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=si({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof oi&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof oi){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...di(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...fi(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),ri.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function di(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ai(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function fi(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function pi(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var mi=class extends Fr{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=ni(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),hi(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gi(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gi(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof Hr(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!qr(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&_i(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||Hr(this.options.enabled,this.#t)!==Hr(t.enabled,this.#t)||Vr(this.options.staleTime,this.#t)!==Vr(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||Hr(this.options.enabled,this.#t)!==Hr(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Cre(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(Rr)),t}#g(){this.#b();let e=Vr(this.options.staleTime,this.#t);if(ti.isServer()||this.#r.isStale||!zr(e))return;let t=Br(this.#r.dataUpdatedAt,e)+1;this.#d=Lr.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(ti.isServer()||Hr(this.options.enabled,this.#t)===!1||!zr(this.#p)||this.#p===0)&&(this.#f=Lr.setInterval(()=>{(this.options.refetchIntervalInBackground||Ir.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(Lr.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(Lr.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&hi(e,t),o=i&&_i(e,n,t,r);(a||o)&&(l={...l,...di(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=Zr(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=Zr(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:vi(e,t),refetch:this.refetch,promise:this.#o,isEnabled:Hr(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{let e=this.#o=x.promise=ni();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a()}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!qr(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){ri.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function Sre(e,t){return Hr(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||Hr(t.retryOnMount,e)!==!1)}function hi(e,t){return Sre(e,t)||e.state.data!==void 0&&gi(e,t,t.refetchOnMount)}function gi(e,t,n){if(Hr(t.enabled,e)!==!1&&Vr(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&vi(e,t)}return!1}function _i(e,t,n,r){return(e!==t||Hr(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&vi(e,n)}function vi(e,t){return Hr(t.enabled,e)!==!1&&e.isStaleByTime(Vr(t.staleTime,e))}function Cre(e,t){return!qr(e.getCurrentResult(),t)}var yi=F.createContext(void 0),bi=e=>{let t=F.useContext(yi);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},wre=({client:e,children:t})=>(F.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,Nr.jsx)(yi.Provider,{value:e,children:t})),xi=F.createContext(!1),Si=()=>F.useContext(xi);xi.Provider;function Tre(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Ere=F.createContext(Tre()),Ci=()=>F.useContext(Ere),wi=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?ei(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ti=e=>{F.useEffect(()=>{e.clearReset()},[e])},Ei=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||ei(n,[e.error,r])),Di=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Dre=(e,t)=>e.isLoading&&e.isFetching&&!t,Oi=(e,t)=>e?.suspense&&t.isPending,ki=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Ai(e,t,n){let r=Si(),i=Ci(),a=bi(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Di(o),wi(o,i,s),Ti(i);let l=!a.getQueryCache().get(o.queryHash),[u]=F.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&c;if(F.useSyncExternalStore(F.useCallback(e=>{let t=f?u.subscribe(ri.batchCalls(e)):Rr;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),F.useEffect(()=>{u.setOptions(o)},[o,u]),Oi(o,d))throw ki(o,u,i);if(Ei({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!ti.isServer()&&Dre(d,r)&&(l?ki(o,u,i):s?.promise)?.catch(Rr).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function ji(e,t){return Ai(e,mi,t)}function Ore(e){return e}var kre={[Symbol.iterator](){return Are}},Are={next(){return{done:!0,value:void 0}}},jre=()=>kre,Mre=x,Mi=globalThis.Number,Nre=e=>{if(e===`NaN`)return T(NaN);if(e===`Infinity`)return T(1/0);if(e===`-Infinity`)return T(-1/0);if(e.trim()===``)return Ee();let t=Mi(e);return Mi.isNaN(t)?Ee():T(t)},Pre=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],Ni=`~effect/http/HttpClientRequest`,Fre={[Ni]:Ni,...ke,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Jee(this.headers),body:this.body.toJSON()}},pipe(){return Ve(this,arguments)}};function Pi(e,t,n,r,i,a){let o=Object.create(Fre);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var Ire=Pi(`GET`,``,$te,Ee(),Tn,Zte),Fi=e=>(t,n)=>Rre(Ire,{method:e,url:t,...n??void 0}),Lre=Fi(`POST`),Rre=w(2,(e,t)=>{let n=e;return t.method&&(n=zre(n,t.method)),t.url&&(n=Hre(n,t.url)),t.headers&&(n=Ii(n,t.headers)),t.urlParams&&(n=Ure(n,t.urlParams)),t.hash&&(n=Wre(n,t.hash)),t.body&&(n=Ri(n,t.body)),t.accept&&(n=Li(n,t.accept)),t.acceptJson&&(n=Vre(n)),n}),zre=w(2,(e,t)=>Pi(t,e.url,e.urlParams,e.hash,e.headers,e.body)),Bre=w(3,(e,t,n)=>Pi(e.method,e.url,e.urlParams,e.hash,Yn(e.headers,t,n),e.body)),Ii=w(2,(e,t)=>Pi(e.method,e.url,e.urlParams,e.hash,Ite(e.headers,t),e.body)),Li=w(2,(e,t)=>Bre(e,`Accept`,t)),Vre=Li(`application/json`),Hre=w(2,(e,t)=>{if(typeof t==`string`)return Pi(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=Hte(n.searchParams),i=dte(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,Pi(e.method,n.toString(),r,i,e.headers,e.body)}),Ure=w(2,(e,t)=>Pi(e.method,e.url,nne(e.urlParams,t),e.hash,e.headers,e.body)),Wre=w(2,(e,t)=>Pi(e.method,e.url,e.urlParams,T(t),e.headers,e.body)),Ri=w(2,(e,t)=>{let n=e.headers;return t._tag===`Empty`||t._tag===`FormData`?n=mn(mn(n,`Content-Type`),`Content-length`):(t.contentType&&(n=Yn(n,`content-type`,t.contentType)),t.contentLength!==void 0&&(n=Yn(n,`content-length`,t.contentLength.toString()))),Pi(e.method,e.url,e.urlParams,e.hash,n,t)}),Gre=e=>Cn({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${we(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),zi=`~effect/http/HttpClient`,Bi=yt(`effect/HttpClient`),Vi=w(2,(e,t)=>Hi(n=>t(e.postprocess(n)),e.preprocess)),Kre=Vi(wt(Rte)),Hi=(e,t)=>{let n=Object.create(qre);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},qre={[zi]:zi,pipe(){return Ve(this,arguments)},...ke,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(Pre.map(([e,t])=>[t,function(t,n){return this.execute(Fi(e)(t,n))}]))},Jre=e=>Hi(t=>wt(t,t=>Pt(n=>{let i=Qre.get(t),a=i??new AbortController,o=Ete(t.url,t.urlParams,y(t.hash));if(qee(o))return r(new Zn({reason:new vne({request:t,cause:o.failure})}));let s=o.success;if(n.getRef(Uee)||n.getRef(Ui)(t)){let r=e(t,s,a.signal,n);return i?r:Et(e=>Le(e(r),{onSuccess(e){return Gi.register(e,a),rt(new Ki(e,a))},onFailure(e){return xt(e)&&a.abort(),it(e)}}))}return ut(n.getRef(Xre)(t),{kind:`client`},r=>{r.attribute(`http.request.method`,t.method),r.attribute(`server.address`,s.origin),s.port!==``&&r.attribute(`server.port`,+s.port),r.attribute(`url.full`,s.toString()),r.attribute(`url.path`,s.pathname),r.attribute(`url.scheme`,s.protocol.slice(0,-1));let o=s.search.slice(1);o!==``&&r.attribute(`url.query`,o);let c=n.getRef(kte),l=ln(t.headers,c);for(let e in l)r.attribute(`http.request.header.${e}`,String(l[e]));return t=n.getRef(Wi)?Ii(t,Gre(r)):t,Et(o=>o(e(t,s,a.signal,n)).pipe(Rt(r,{captureStackTrace:!1}),Le({onSuccess:e=>{r.attribute(`http.response.status_code`,e.status);let t=ln(e.headers,c);for(let e in t)r.attribute(`http.response.header.${e}`,String(t[e]));return i?rt(e):(Gi.register(e,a),rt(new Ki(e,a)))},onFailure(e){return!i&&xt(e)&&a.abort(),it(e)}})))})})),rt),Yre=w(2,(e,t)=>{let n=dee(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,o=i&&b(i),s=n?void 0:t.times;return Vi(e,ie(r===`errors-only`?me:oe({schedule:o,times:s,while:Ji}),r===`response-only`?me:_e({while:n||t.while===void 0?qi:a(qi,t.while),schedule:i,times:s})))}),Ui=$e(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>Vee}),Wi=$e(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:ye}),Xre=$e(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Zre=e=>ht(Bi)(se(t=>Ze(e,e=>Vi(e,bt(e=>st(t,e)))))),Gi=(()=>{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))}}})(),Qre=new WeakMap,Ki=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[pn]=pn;[ar]=ar;applyInterrupt(e){return At(()=>(Gi.unregister(this.original),vt(e,()=>pt(()=>{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 Eee(()=>(Gi.unregister(this.original),Qee(this.original.stream,pt(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[nt](){return this.original[nt]()}pipe(){return Ve(this,arguments)}},qi=e=>Mee(e)||$re(e),$re=e=>kn(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&Ji(e.reason.response)),Ji=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504,Yi=`~effect/FiberSet`,eie=e=>Ye(e,Yi),tie={[Yi]:Yi,[Symbol.iterator](){return this.state._tag===`Closed`?jre():this.state.backing[Symbol.iterator]()},...Ke,toJSON(){return{_id:`FiberMap`,state:this.state}}},nie=(e,t)=>{let n=Object.create(tie);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},rie=()=>je(pt(()=>nie(new Set,qe())),e=>At(()=>{let t=e.state;if(t._tag===`Closed`)return ct;e.state={_tag:`Closed`};let n=t.backing;return C(n).pipe(ce(e.deferred))})),Xi=-1,iie=ge(D(Iee,ae(Xi))),aie=w(e=>eie(e[0]),(e,t,n)=>{if(e.state._tag===`Closed`){t.interruptUnsafe(Xi);return}e.state.backing.has(t)||(e.state.backing.add(t),t.addObserver(r=>{e.state._tag!==`Closed`&&(e.state.backing.delete(t),Ct(r)&&(n?.propagateInterruption===!0?!iie(r.cause):!dt(r.cause))&&kt(e.deferred,r))}))}),oie=function(){let e;return()=>(e===void 0&&(e=f(St)),e)}(),sie=e=>()=>Ze(Ot(),t=>{let n=We(t);return(t,r)=>{if(e.state._tag===`Closed`)return oie();let i=n(t,r);return aie(e,i),i}}),Zi=e=>de(e.deferred),Qi=`~effect/socket/Socket`,$i=yt(`effect/socket/Socket`),cie=`~effect/socket/Socket/CloseEvent`,lie=e=>Ye(e,cie),ea=`~effect/socket/Socket/SocketError`,uie=e=>Ye(e,ea),ta=class extends Wn(`effect/socket/Socket/SocketReadError`)({_tag:fn(`SocketReadError`),cause:Nn}){message=`An error occurred during Read`},die=class extends Wn(`effect/socket/Socket/SocketWriteError`)({_tag:fn(`SocketWriteError`),cause:Nn}){message=`An error occurred during Write`},na=class extends Wn(`effect/socket/Socket/SocketOpenError`)({_tag:fn(`SocketOpenError`),kind:Fn([`Unknown`,`Timeout`]),cause:Nn}){get message(){return this.kind===`Timeout`?`timeout waiting for "open"`:`An error occurred during Open`}},ra=class extends Wn(`effect/socket/Socket/SocketCloseError`)({_tag:fn(`SocketCloseError`),code:Ln,closeReason:yn(j)}){static filterClean(e){return function(t){return aa.is(t)&&t.reason._tag===`SocketCloseError`&&e(t.reason.code)?rte(t.reason):Lee(t)}}get message(){return this.closeReason?`${this.code}: ${this.closeReason}`:`${this.code}`}},ia=ir([ta,die,na,ra]),aa=class extends xne(ea)(`SocketError`,{_tag:fn(`SocketError`),reason:ia}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[ea]=ea;static is(e){return uie(e)}message=this.reason.message},fie=e=>!0,pie=class extends yt()(`~effect/socket/Socket/WebSocket`){},oa=class extends yt()(`@effect/platform/Socket/WebSocketConstructor`){},mie=(e,t)=>oa.use(n=>hie(je((typeof e==`string`?rt(e):e).pipe(Ze(e=>n(e,t?.protocols))),e=>pt(()=>e.close(1e3))),t)),hie=(e,t)=>Pt(n=>{let i,a=mt(!1),o=n.context,s=t?.closeCodeIsError??fie,c=(n,c)=>Tee(Xe(function*(o){let l=yield*rie().pipe(te(o)),u=yield*te(e,o),d=yield*Oe(sie(l)(),pie,u),f=!1;function p(e){if(e.data instanceof Blob){let t=wt(gt(()=>e.data.arrayBuffer()),e=>{let t=n(new Uint8Array(e));return lt(t)?t:ct});return d(t)}let t=n(e.data);lt(t)&&d(t)}function m(e){u.removeEventListener(`message`,p),u.removeEventListener(`close`,h),kt(l.deferred,r(new aa({reason:f?new ta({cause:e}):new na({kind:`Unknown`,cause:e})})))}function h(e){let t=typeof e.code==`number`?e.code:1001;u.removeEventListener(`message`,p),u.removeEventListener(`error`,m),kt(l.deferred,r(new aa({reason:new ra({code:t,closeReason:e.reason})})))}if(u.addEventListener(`close`,h,{once:!0}),u.addEventListener(`error`,m,{once:!0}),u.addEventListener(`message`,p),u.readyState!==1){let e=qe();u.addEventListener(`open`,()=>{f=!0,kt(e,ct)},{once:!0}),yield*de(e).pipe(Mt({duration:t?.openTimeout??1e4,orElse:()=>r(new aa({reason:new na({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),ee(Zi(l)))}return f=!0,i=u,a.openUnsafe(),c?.onOpen&&(yield*c.onOpen),yield*ue(Zi(l),ra.filterClean(e=>!s(e)),()=>ct)})).pipe(bt(e=>st(o,e)),Je(pt(()=>{a.closeUnsafe(),i=void 0}))),l=new TextEncoder,u=(e,t)=>c(t=>typeof t==`string`?e(l.encode(t)):t instanceof Uint8Array?e(t):e(new Uint8Array(t)),t),d=rt(e=>a.whenOpen(pt(()=>{let t=i;lie(e)?t.close(e.code,e.reason):t.send(e)})));return rt($i.of({[Qi]:Qi,run:u,runRaw:c,writer:d}))}),sa=ie(mie,ht($i)),ca=class extends yt()(`effect/workers/Transferable/Collector`){},gie=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return ca.of({addAllUnsafe:t,addAll:e=>pt(()=>t(e)),readUnsafe:n,read:pt(n),clearUnsafe:r,clear:pt(r)})},_ie=`~effect/workers/WorkerError`,vie=class extends Wn(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:fn(`WorkerSpawnError`),message:j,cause:yn(Nn)}){},yie=class extends Wn(`effect/workers/WorkerError/WorkerSendError`)({_tag:fn(`WorkerSendError`),message:j,cause:yn(Nn)}){},bie=class extends Wn(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:fn(`WorkerReceiveError`),message:j,cause:yn(Nn)}){},xie=class extends Wn(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:fn(`WorkerUnknownError`),message:j,cause:yn(Nn)}){},la=ir([vie,yie,bie,xie]);Wn(_ie)({_tag:fn(`WorkerError`),reason:la});var ua=`~effect/rpc/RpcClientError`,da=class extends Wn(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:fn(`RpcClientDefect`),message:j,cause:Nn}){},fa=class extends Wn(ua)({_tag:fn(`RpcClientError`),reason:ir([la,ia,fne,da])}){[ua]=ua;get message(){return`${this.reason._tag}: ${this.reason.message}`}},pa=e=>typeof e==`bigint`?e:BigInt(e),Sie={_tag:`Ping`},ma;try{ma=new TextDecoder}catch{}var I,ha,L=0,ga=[],_a=ga,va=0,ya={},ba,xa,Sa=0,Ca=0,wa,Ta,Ea=[],Da,Oa={useRecords:!1,mapsAsObjects:!0},ka=class{},Aa=new ka;Aa.name=`MessagePack 0xC1`;var ja=!1,Ma=2,Na,Pa,Fa;try{Function(``)}catch{Ma=1/0}var Ia=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(I)return ao(()=>(oo(),this?this.unpack(t,n):e.prototype.unpack.call(Oa,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(ha=n.end||t.length,L=n.start||0):(L=0,ha=n>-1?n:t.length),va=0,Ca=0,xa=null,_a=ga,wa=null,I=t;try{Da=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){throw I=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(ya=this,this.structures)return ba=this.structures,La(n);(!ba||ba.length>0)&&(ba=[])}else ya=Oa,(!ba||ba.length>0)&&(ba=[]);return La(n)}unpackMultiple(e,t){let n,r=0;try{ja=!0;let i=e.length,a=this?this.unpack(e,i):co.unpack(e,i);if(t){if(t(a,r,L)===!1)return;for(;L<i;)if(r=L,t(La(),r,L)===!1)return}else{for(n=[a];L<i;)r=L,n.push(La());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{ja=!1,oo()}}_mergeStructures(e,t){Pa&&(e=Pa.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||(e.restoreStructures=[]))[n]=r),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function La(e){try{if(!ya.trusted&&!ja){let e=ba.sharedLength||0;e<ba.length&&(ba.length=e)}let t;if(ya.randomAccessStructure&&I[L]<64&&I[L]>=32&&Na?(t=Na(I,L,ha,ya),I=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),L=ha):t=za(),wa&&=(L=wa.postBundlePosition,null),ja&&(ba.restoreStructures=null),L==ha)ba&&ba.restoreStructures&&Ra(),ba=null,I=null,Ta&&=null;else if(L>ha)throw Error(`Unexpected end of MessagePack data`);else if(!ja){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 ba&&ba.restoreStructures&&Ra(),oo(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||L>ha)&&(e.incomplete=!0),e}}function Ra(){for(let e in ba.restoreStructures)ba[e]=ba.restoreStructures[e];ba.restoreStructures=null}function za(){let e=I[L++];if(e<160)if(e<128){if(e<64)return e;{let t=ba[e&63]||ya.getStructures&&Ha()[e&63];return t?(t.read||=Ba(t,e&63),t.read()):e}}else if(e<144){if(e-=128,ya.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=eo();e===`__proto__`&&(e=`__proto_`),t[e]=za()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(za(),za());return t}}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=za();return ya.freezeData?Object.freeze(t):t}if(e<192){let t=e-160;if(Ca>=L)return xa.slice(L-Sa,(L+=t)-Sa);if(Ca==0&&ha<140){let e=t<16?Ya(t):Ja(t);if(e!=null)return e}return Ua(t)}{let t;switch(e){case 192:return null;case 193:return wa?(t=za(),t>0?wa[1].slice(wa.position1,wa.position1+=t):wa[0].slice(wa.position0,wa.position0-=t)):Aa;case 194:return!1;case 195:return!0;case 196:if(t=I[L++],t===void 0)throw Error(`Unexpected end of buffer`);return Za(t);case 197:return t=Da.getUint16(L),L+=2,Za(t);case 198:return t=Da.getUint32(L),L+=4,Za(t);case 199:return Qa(I[L++]);case 200:return t=Da.getUint16(L),L+=2,Qa(t);case 201:return t=Da.getUint32(L),L+=4,Qa(t);case 202:if(t=Da.getFloat32(L),ya.useFloat32>2){let e=so[(I[L]&127)<<1|I[L+1]>>7];return L+=4,(e*t+(t>0?.5:-.5)>>0)/e}return L+=4,t;case 203:return t=Da.getFloat64(L),L+=8,t;case 204:return I[L++];case 205:return t=Da.getUint16(L),L+=2,t;case 206:return t=Da.getUint32(L),L+=4,t;case 207:return ya.int64AsType===`number`?(t=Da.getUint32(L)*4294967296,t+=Da.getUint32(L+4)):ya.int64AsType===`string`?t=Da.getBigUint64(L).toString():ya.int64AsType===`auto`?(t=Da.getBigUint64(L),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Da.getBigUint64(L),L+=8,t;case 208:return Da.getInt8(L++);case 209:return t=Da.getInt16(L),L+=2,t;case 210:return t=Da.getInt32(L),L+=4,t;case 211:return ya.int64AsType===`number`?(t=Da.getInt32(L)*4294967296,t+=Da.getUint32(L+4)):ya.int64AsType===`string`?t=Da.getBigInt64(L).toString():ya.int64AsType===`auto`?(t=Da.getBigInt64(L),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Da.getBigInt64(L),L+=8,t;case 212:if(t=I[L++],t==114)return no(I[L++]&63);{let e=Ea[t];if(e)return e.read?(L++,e.read(za())):e.noBuffer?(L++,e()):e(I.subarray(L,++L));throw Error(`Unknown extension `+t)}case 213:return t=I[L],t==114?(L++,no(I[L++]&63,I[L++])):Qa(2);case 214:return Qa(4);case 215:return Qa(8);case 216:return Qa(16);case 217:return t=I[L++],Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):wie(t);case 218:return t=Da.getUint16(L),L+=2,Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):Tie(t);case 219:return t=Da.getUint32(L),L+=4,Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):Eie(t);case 220:return t=Da.getUint16(L),L+=2,Ga(t);case 221:return t=Da.getUint32(L),L+=4,Ga(t);case 222:return t=Da.getUint16(L),L+=2,Ka(t);case 223:return t=Da.getUint32(L),L+=4,Ka(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 Cie=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ba(e,t){function n(){if(n.count++>Ma){let n=e.read=Function(`r`,`return function(){return `+(ya.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:Cie.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(za);return e.highByte===0&&(e.read=Va(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]=za()}return ya.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?Va(t,n):n}var Va=(e,t)=>function(){let n=I[L++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=ba[r]||Ha()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=Ba(i,e),i.read()};function Ha(){let e=ao(()=>(I=null,ya.getStructures()));return ba=ya._mergeStructures(e,ba)}var Ua=Wa,wie=Wa,Tie=Wa,Eie=Wa;function Wa(e){let t;if(e<16&&(t=Ya(e)))return t;if(e>64&&ma)return ma.decode(I.subarray(L,L+=e));let n=L+e,r=[];for(t=``;L<n;){let e=I[L++];if(!(e&128))r.push(e);else if((e&224)==192){let t=I[L++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=I[L++]&63,n=I[L++]&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=I[L++]&63,n=I[L++]&63,i=I[L++]&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+=qa.apply(String,r),r.length=0)}return r.length>0&&(t+=qa.apply(String,r)),t}function Ga(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=za();return ya.freezeData?Object.freeze(t):t}function Ka(e){if(ya.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=eo();e===`__proto__`&&(e=`__proto_`),t[e]=za()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(za(),za());return t}}var qa=String.fromCharCode;function Ja(e){let t=L,n=Array(e);for(let r=0;r<e;r++){let e=I[L++];if((e&128)>0){L=t;return}n[r]=e}return qa.apply(String,n)}function Ya(e){if(e<4)if(e<2){if(e===0)return``;{let e=I[L++];if((e&128)>1){--L;return}return qa(e)}}else{let t=I[L++],n=I[L++];if((t&128)>0||(n&128)>0){L-=2;return}if(e<3)return qa(t,n);let r=I[L++];if((r&128)>0){L-=3;return}return qa(t,n,r)}{let t=I[L++],n=I[L++],r=I[L++],i=I[L++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){L-=4;return}if(e<6){if(e===4)return qa(t,n,r,i);{let e=I[L++];if((e&128)>0){L-=5;return}return qa(t,n,r,i,e)}}if(e<8){let a=I[L++],o=I[L++];if((a&128)>0||(o&128)>0){L-=6;return}if(e<7)return qa(t,n,r,i,a,o);let s=I[L++];if((s&128)>0){L-=7;return}return qa(t,n,r,i,a,o,s)}{let a=I[L++],o=I[L++],s=I[L++],c=I[L++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){L-=8;return}if(e<10){if(e===8)return qa(t,n,r,i,a,o,s,c);{let e=I[L++];if((e&128)>0){L-=9;return}return qa(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=I[L++],u=I[L++];if((l&128)>0||(u&128)>0){L-=10;return}if(e<11)return qa(t,n,r,i,a,o,s,c,l,u);let d=I[L++];if((d&128)>0){L-=11;return}return qa(t,n,r,i,a,o,s,c,l,u,d)}{let l=I[L++],u=I[L++],d=I[L++],f=I[L++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){L-=12;return}if(e<14){if(e===12)return qa(t,n,r,i,a,o,s,c,l,u,d,f);{let e=I[L++];if((e&128)>0){L-=13;return}return qa(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=I[L++],m=I[L++];if((p&128)>0||(m&128)>0){L-=14;return}if(e<15)return qa(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=I[L++];if((h&128)>0){L-=15;return}return qa(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Xa(){let e=I[L++],t;if(e<192)t=e-160;else switch(e){case 217:t=I[L++];break;case 218:t=Da.getUint16(L),L+=2;break;case 219:t=Da.getUint32(L),L+=4;break;default:throw Error(`Expected string`)}return Wa(t)}function Za(e){return ya.copyBuffers?Uint8Array.prototype.slice.call(I,L,L+=e):I.subarray(L,L+=e)}function Qa(e){let t=I[L++];if(Ea[t]){let n;return Ea[t](I.subarray(L,n=L+=e),e=>{L=e;try{return za()}finally{L=n}})}throw Error(`Unknown extension type `+t)}var $a=Array(4096);function eo(){let e=I[L++];if(e>=160&&e<192){if(e-=160,Ca>=L)return xa.slice(L-Sa,(L+=e)-Sa);if(!(Ca==0&&ha<180))return Ua(e)}else return L--,to(za());let t=(e<<5^(e>1?Da.getUint16(L):e>0?I[L]:0))&4095,n=$a[t],r=L,i=L+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=Da.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=I[r++],a!=n[o++]){r=1879048192;break}if(r===i)return L=r,n.string;i-=3,r=L}for(n=[],$a[t]=n,n.bytes=e;r<i;)a=Da.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=I[r++],n.push(a);let s=e<16?Ya(e):Ja(e);return s==null?n.string=Ua(e):n.string=s}function to(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(ya.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 no=(e,t)=>{let n=za().map(to),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=ba[e];return i&&(i.isShared||ja)&&((ba.restoreStructures||(ba.restoreStructures=[]))[e]=i),ba[e]=n,n.read=Ba(n,r),n.read()};Ea[0]=()=>{},Ea[0].noBuffer=!0,Ea[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 ro={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};Ea[101]=()=>{let e=za();if(!ro[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return ro[e[0]](e[1],{cause:e[2]})},Ea[105]=e=>{if(ya.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Da.getUint32(L-4);Ta||=new Map;let n=I[L],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)&&I[L+1]===115?new Set:{};let i={target:r};Ta.set(t,i);let a=za();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},Ea[112]=e=>{if(ya.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Da.getUint32(L-4),n=Ta.get(t);return n.used=!0,n.target},Ea[115]=()=>new Set(za());var io=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Die=typeof globalThis==`object`?globalThis:window;Ea[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=io[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 Die[r](n)},Ea[120]=()=>{let e=za();return new RegExp(e[0],e[1])};var Oie=[];Ea[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=L;return L+=t-e.length,wa=Oie,wa=[Xa(),Xa()],wa.position0=0,wa.position1=0,wa.postBundlePosition=L,L=n,za()},Ea[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 ao(e){Fa&&Fa();let t=ha,n=L,r=va,i=Sa,a=Ca,o=xa,s=_a,c=Ta,l=wa,u=new Uint8Array(I.slice(0,ha)),d=ba,f=ba.slice(0,ba.length),p=ya,m=ja,h=e();return ha=t,L=n,va=r,Sa=i,Ca=a,xa=o,_a=s,Ta=c,wa=l,I=u,ja=m,ba=d,ba.splice(0,ba.length,...f),ya=p,Da=new DataView(I.buffer,I.byteOffset,I.byteLength),h}function oo(){I=null,Ta=null,ba=null}var so=Array(147);for(let e=0;e<256;e++)so[e]=+(`1e`+Math.floor(45.15-e*.30103));var co=new Ia({useRecords:!1});co.unpack,co.unpackMultiple,co.unpack;var kie={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var lo;try{lo=new TextEncoder}catch{}var uo,fo,po=typeof Buffer<`u`,mo=po?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,ho=po?Buffer:Uint8Array,go=po?4294967296:2144337920,R,_o,vo,z=0,yo,bo=null,Aie,jie=21760,Mie=/[\u0080-\uFFFF]/,xo=Symbol(`record-id`),Nie=class extends Ia{constructor(e){super(e),this.offset=0;let t,n,r,i,a=ho.prototype.utf8Write?function(e,t){return R.utf8Write(e,t,R.byteLength-t)}:lo&&lo.encodeInto?function(e,t){return lo.encodeInto(e,R.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(R||(R=new mo(8192),vo=R.dataView||(R.dataView=new DataView(R.buffer,0,8192)),z=0),yo=R.length-10,yo-z<2048?(R=new mo(R.length),vo=R.dataView||(R.dataView=new DataView(R.buffer,0,R.length)),yo=R.length-10,z=0):z=z+7&2147483640,t=z,a&2048&&(z+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(bo=[],bo.size=1/0):bo=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[xo]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o.randomAccessStructure&&e&&typeof e==`object`?e.constructor===Object?D(e):e.constructor!==Map&&!Array.isArray(e)&&!fo.some(t=>e instanceof t)?D(e.toJSON?e.toJSON():e):y(e):y(e);let n=bo;if(bo&&To(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&&(vo.setUint32(n.position+t,vo.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&vo.setUint32(n.position+t,vo.getUint32(n.position+t)+a),z+=e.length*6,z>yo&&w(z),o.offset=z;let s=Pie(R.subarray(t,z),e);return i=null,s}return o.offset=z,a&512?(R.start=t,R.end=z,R):R.subarray(t,z)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=R.subarray(t,z),s=Fie(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?o.pack(e,a):(o.lastNamedStructuresLength=n,R.length>1073741824&&(R=null),i)}R.length>1073741824&&(R=null),a&1024&&(z=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][xo]=0;m=[]}},v=e=>{var t=e.length;t<16?R[z++]=144|t:t<65536?(R[z++]=220,R[z++]=t>>8,R[z++]=t&255):(R[z++]=221,vo.setUint32(z,t),z+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{z>yo&&(R=w(z));var n=typeof e,r;if(n===`string`){let n=e.length;if(bo&&n>=4&&n<4096){if((bo.size+=n)>jie){let e,n=(bo[0]?bo[0].length*3+bo[1].length:0)+10;z+n>yo&&(R=w(z+n));let r;bo.position?(r=bo,R[z]=200,z+=3,R[z++]=98,e=z-t,z+=4,To(t,y,0),vo.setUint16(e+t-3,z-t-e)):(R[z++]=214,R[z++]=98,e=z-t,z+=4),bo=[``,``],bo.previous=r,bo.size=0,bo.position=e}let r=Mie.test(e);bo[+!r]+=e,R[z++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(z+o>yo&&(R=w(z+o)),n<64||!a){let t,a,o,s=z+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?R[s++]=a:a<2048?(R[s++]=a>>6|192,R[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,R[s++]=a>>18|240,R[s++]=a>>12&63|128,R[s++]=a>>6&63|128,R[s++]=a&63|128):(R[s++]=a>>12|224,R[s++]=a>>6&63|128,R[s++]=a&63|128);r=s-z-i}else r=a(e,z+i);r<32?R[z++]=160|r:r<256?(i<2&&R.copyWithin(z+2,z+1,z+1+r),R[z++]=217,R[z++]=r):r<65536?(i<3&&R.copyWithin(z+3,z+2,z+2+r),R[z++]=218,R[z++]=r>>8,R[z++]=r&255):(i<5&&R.copyWithin(z+5,z+3,z+3+r),R[z++]=219,vo.setUint32(z,r),z+=4),z+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this.randomAccessStructure?R[z++]=e:e<256?(R[z++]=204,R[z++]=e):e<65536?(R[z++]=205,R[z++]=e>>8,R[z++]=e&255):(R[z++]=206,vo.setUint32(z,e),z+=4);else if(e>>0===e)e>=-32?R[z++]=256+e:e>=-128?(R[z++]=208,R[z++]=e+256):e>=-32768?(R[z++]=209,vo.setInt16(z,e),z+=2):(R[z++]=210,vo.setInt32(z,e),z+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){R[z++]=202,vo.setFloat32(z,e);let n;if(t<4||(n=e*so[(R[z]&127)<<1|R[z+1]>>7])>>0===n){z+=4;return}z--}R[z++]=203,vo.setFloat64(z,e),z+=8}else if(n===`object`||n===`function`)if(!e)R[z++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||(i.idsToInsert=[])).push(n),R[z++]=214,R[z++]=112,vo.setUint32(z,n.id),z+=4;return}i.set(e,{offset:z-t})}let a=e.constructor;if(a===Object)C(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)R[z++]=128;else{r=e.size,r<16?R[z++]=128|r:r<65536?(R[z++]=222,R[z++]=r>>8,R[z++]=r&255):(R[z++]=223,vo.setUint32(z,r),z+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=uo.length;t<n;t++){let n=fo[t];if(e instanceof n){let n=uo[t];if(n.write){n.type&&(R[z++]=212,R[z++]=n.type,R[z++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):C(e):y(t);return}let r=R,i=vo,a=z;R=null;let o;try{o=n.pack.call(this,e,e=>(R=r,r=null,z+=e,z>yo&&w(z),{target:R,targetView:vo,position:z-e}),y)}finally{r&&(R=r,vo=i,z=a,yo=R.length-10)}o&&(o.length+z>yo&&w(o.length+z),z=wo(o,R,z,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));C(e)}}}else if(n===`boolean`)R[z++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)R[z++]=211,vo.setBigInt64(z,e);else if(e<0x10000000000000000&&e>0)R[z++]=207,vo.setBigUint64(z,e);else if(this.largeBigIntToFloat)R[z++]=203,vo.setFloat64(z,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),po)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+z>yo&&w(n.length+z),z=wo(n,R,z,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`);z+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?R[z++]=192:(R[z++]=212,R[z++]=0,R[z++]=0);else throw Error(`Unknown type: `+n)},b=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?R[z++]=128|n:n<65536?(R[z++]=222,R[z++]=n>>8,R[z++]=n&255):(R[z++]=223,vo.setUint32(z,n),z+=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=>{R[z++]=222;let n=z-t;z+=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`);R[n+++t]=r>>8,R[n+t]=r&255},x=this.useRecords===!1?b:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||(r.transitions=Object.create(null)),a=z++-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==z?(z--,T(i,c,u)):E(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[xo];n?R[a+t]=n:E(i,Object.keys(e),a,0)}}:e=>{let t,n=r.transitions||(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[xo];a?a>=96&&d?(R[z++]=((a-=96)&31)+96,R[z++]=a>>5):R[z++]=a:T(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},S=typeof this.useRecords==`function`&&this.useRecords,C=S?e=>{S(e)?x(e):b(e)}:x,w=e=>{let n;if(e>16777216){if(e-t>go)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(go,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,R.length-1)>>12)+1<<12;let r=new mo(n);return vo=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,R.length),R.copy?R.copy(r,0,t,e):r.set(R.slice(t,e)),z-=t,t=0,yo=r.length-10,R=r},T=(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[xo]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(R[z++]=(a&31)+96,R[z++]=o):R[z++]=a):(o>=0?(R[z++]=213,R[z++]=114,R[z++]=(a&31)+96,R[z++]=o):(R[z++]=212,R[z++]=114,R[z++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[xo]=0),m.push(e),y(t))},E=(e,n,r,i)=>{let a=R,o=z,s=yo,c=t;R=_o,z=0,t=0,R||(_o=R=new mo(8192)),yo=R.length-10,T(e,n,i),_o=R;let l=z;if(R=a,z=o,yo=s,t=c,l>1){let e=z+l-1;e>yo&&w(e);let n=r+t;R.copyWithin(n+l,n+1,z),R.set(_o.slice(0,l),n),z=e}else R[r+t]=_o[0]},D=e=>{let i=Aie(e,R,t,z,r,w,(e,t,r)=>{if(r)return n=!0;z=t;let i=R;return y(e),_(),i===R?z:{position:z,targetView:vo,target:R}},this);if(i===0)return C(e);z=i}}useBuffer(e){R=e,R.dataView||(R.dataView=new DataView(R.buffer,R.byteOffset,R.byteLength)),vo=R.dataView,z=0}set position(e){z=e}get position(){return z}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};fo=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,ka],uo=[{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?So(e,16,t):Co(po?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==ho&&this.moreTypes?So(e,io.indexOf(n.name),t):Co(e,t)}},{pack(e,t){this.moreTypes?So(e,17,t):Co(po?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function So(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 Co(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 wo(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 Pie(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 To(e,t,n){if(bo.length>0){vo.setUint32(bo.position+e,z+n-bo.position-e),bo.stringsPosition=z-e;let r=bo;bo=null,t(r[0]),t(r[1])}}function Fie(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var Eo=new Nie({useRecords:!1});Eo.pack,Eo.pack;var{NEVER:Iie,ALWAYS:Lie,DECIMAL_ROUND:Rie,DECIMAL_FIT:zie}=kie,Do=class extends yt()(`effect/rpc/RpcSerialization`){},Bie=Do.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)}}}),Oo=he(Do)(Bie),Vie=e=>At(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>se(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),ct});return Ze(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return ot(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*Te(At(()=>i(e)),t)}return yield*iee(S,()=>(t.delete(e),r.delete(e),ct))})}}))}),Hie=BigInt(0),Uie=Xe(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>Hie++),o=yield*Ot(),s=at(o,Me),c=new Map,l=!1;yield*Bt(s,Pt(e=>(l=!0,d(Ree(e.id)))));let d=Xe(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?Ft(n.queue):Pe(n.queue,e.cause):n.resume(e)}),f=e=>{let r=Mte(e.successSchema),a=g(e);return(o,s)=>{let c=s?.headers?dn(s.headers):Tn,l=s?.context??Pee();if(!r){let r=t=>m(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):ut(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=h(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:ute(Ze(u,nte))}},m=(e,n,r,i,o,s,u)=>Pt(d=>{if(l)return St;let f=a(),p=n(e=>t.onFromClient({message:e,context:s,discard:u}),{_tag:`Request`,id:f,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:En(d.getRef(jo),o)});if(u)return p;let m;return vt(Re(t=>{let n={_tag:`Effect`,rpc:e,context:s,resume(e){t(e),m&&!m.pollUnsafe()&&d.currentDispatcher.scheduleTask(()=>{m.interruptUnsafe(d.id)},0)}};c.set(f,n),m=p.pipe(r?Rt(r,{captureStackTrace:!1}):me,We(d.context)),m.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>(c.delete(f),zt(aee(m),_(f,Array.from(e),s))))}),h=Xe(function*(e,r,o,s,d,f){if(l)return yield*St;let m=i?void 0:yield*mte(`${n}.${e._tag}`,{attributes:t.spanAttributes}),h=Ce(),g=a(),v=Xee(h.context,Me);yield*u(v,e=>c.has(g)?(c.delete(g),_(g,Ct(e)?Array.from(Oee(e.cause)):[],f)):ct);let y=yield*p(d);return c.set(g,{_tag:`Queue`,rpc:e,queue:y,scope:v,context:f}),yield*r(e=>t.onFromClient({message:e,context:f,discard:!1}),{_tag:`Request`,id:g,tag:e._tag,payload:o,...m?{traceId:m.traceId,spanId:m.spanId,sampled:m.sampled}:{},headers:En(h.getRef(jo),s)}).pipe(m?Rt(m,{captureStackTrace:!1}):me,Ge(e=>Pe(y,e)),ft,Nt(v,{startImmediately:!0})),y}),g=e=>{let t=[];for(let n of e.middlewares.values()){let e=o.mapUnsafe.get(`${n.key}/Client`);e&&t.push(e)}return t.length===0?(e,t)=>e(t):function n(r,i,a=t.length-1){return a===-1?r(i):t[a]({rpc:e,request:i,next(e){return n(r,e,a-1)}})}},_=(e,n,r)=>Re(i=>{let a=Ce();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(Nee(1e3),We(a.context)).addObserver(()=>{i(ct)})}),v=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);return!i||i._tag!==`Queue`?ct:tee(i.queue,e.values).pipe(r?wt(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):me,Ge(e=>Pe(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);return n?(c.delete(t),n._tag===`Effect`?(n.resume(e.exit),ct):e.exit._tag===`Success`?Ft(n.queue):Pe(n.queue,e.exit.cause)):ct}case`Defect`:return d(bee(e.defect));case`ClientEnd`:return ct}},y;if(t.flatten){let t=new Map;y=function(n,r,i){let a=t.get(n);return a||(a=f(e.requests.get(n)),t.set(n,a)),a(r,i)}}else y={},e.requests.forEach(e=>{y[e._tag]=f(e)});return{client:y,write:v}}),Wie=0,ko=Xe(function*(e,t){let n=Wie++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Mo,s=new Map,{client:l,write:u}=yield*Uie(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?gie():void 0,l=Ce(),u={rpc:r,context:a?ate(l.context,ca,a):l.context,schemas:Gie(r)};return s.set(t.id,u),u.schemas.encodePayload(t.payload).pipe(Te(u.context),c,wt(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)}):ct;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:String(t.requestId)})):ct;case`Eof`:return ct}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=pa(e.requestId),n=s.get(t);return!n||g(n.schemas.decodeChunk)?ct:n.schemas.decodeChunk.value(e.values).pipe(Te(n.context),c,wt(t=>u({_tag:`Chunk`,clientId:0,requestId:pa(e.requestId),values:t})),v(t=>u({_tag:`Exit`,clientId:0,requestId:pa(e.requestId),exit:Ae(t)})))}case`Exit`:{let t=pa(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(Te(n.context),c,Le({onSuccess:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:Ae(e)})}))):ct}case`Defect`:return u({_tag:`Defect`,clientId:0,defect:Yie(e.defect)});case`ClientProtocolError`:{let t=wee(e.error);return jt(s.keys(),e=>u({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return ct}}).pipe(Ge(ste),ft,tt),l}),Ao=new WeakMap,Gie=e=>{let t=Ao.get(e);if(t!==void 0)return t;let n=Vte(e.successSchema);return t={decodeChunk:be(n,e=>on(hn(hne(e.success)))),encodePayload:une(hn(e.payloadSchema)),decodeExit:on(hn(Bte(e)))},Ao.set(e,t),t},jo=$e(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Tn}),Mo=class extends yt()(`effect/rpc/RpcClient/Protocol`){static make=Vie},No=e=>Mo.make(Xe(function*(t,n){let i=yield*$i,a=yield*Do,o=yield*see(Jie),s=new Map,u=yield*i.writer,d=a.makeUnsafe(),f=yield*qie(u(d.encode(Sie))),p,m=At(()=>(p=void 0,_t(o)?o.value.onConnect:ct)),h=e=>jt(n,n=>t(n,e));return yield*At(()=>(d=a.makeUnsafe(),f.reset(),i.runRaw(e=>{try{let n=d.decode(e);if(n.length===0)return;let r=0;return Dee({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return f.onPong(),ct;if(`requestId`in e){let n=s.get(e.requestId);if(n!==void 0)return e._tag===`Exit`&&s.delete(e.requestId),t(n,e)}return h(e)},step:oee})}catch(e){return h({_tag:`ClientProtocolError`,error:new fa({reason:new da({message:`Error decoding message`,cause:e})})})}},{onOpen:m}).pipe(ee(wt(f.timeout,()=>r(new aa({reason:new na({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))).pipe(wt(()=>r(new aa({reason:new ra({code:1e3})}))),_t(o)?Je(o.value.onDisconnect):me,Yee(t=>{let n=zee(t),r=$ee(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?ct:(p=new fa({reason:r?n.success.reason:new da({message:`Unknown socket error`,cause:Ie(t)})}),h({_tag:`ClientProtocolError`,error:p}))}),_e(e?.retryPolicy??Kie),l({module:`RpcClient`,method:`makeProtocolSocket`}),tt),{send(e,t){if(p)return r(p);t._tag===`Request`&&s.set(t.id,e);let n=d.encode(t);return n===void 0?ct:c(u(n))},supportsAck:!0,supportsTransferables:!1}})),Kie=h(500,1.5).pipe(uee(ree(5e3))),qie=Xe(function*(e){let t=!0,n=0,r=mt();return yield*At(()=>t?(t=!1,n=0,e):(n+=1,n>=3?r.open:e)).pipe(xee(`5 seconds`),Dt,et,ft,tt),{timeout:r.await,reset:()=>{t=!0,n=0,r.closeUnsafe()},onPong:()=>{t=!0,n=0}}}),Jie=class extends yt()(`effect/rpc/RpcClient/ConnectionHooks`){},Yie=rr(Nn);function Po(e){return{id:e.id??`ws:${e.label}`,label:e.label,source:e.source??`manual`,target:e.target}}function Xie(e){return e?.target.wsBaseUrl??null}function Zie(e){return e?.target.httpBaseUrl??null}function Qie(e,t){return{...e,environmentId:t.environmentId,label:t.label}}function $ie(e){return e.cloudMode?`cmmd-cloud-runtime`:`local-web`}function eae(e){let t=$ie(e);return{topology:t,controlPlane:t!==`cmmd-cloud-runtime`,executionPlane:!0,workspaceProxy:!1}}function tae(e){let t=e.topology===`cmmd-cloud-runtime`;return{cmmd:!0,ownerBootstrapPromotion:e.topology!==`cloud-shell`&&!t,bearerBootstrap:!0,desktopBootstrap:e.topology===`desktop-local`,providerCredentialBroker:e.topology===`cmmd-control-plane`}}function nae(e){let t=e.executionPlane;return{agents:t,browser:t,github:t,terminal:t,providerEgress:e.topology===`cmmd-control-plane`}}function rae(e,t){return{localProjects:t.executionPlane,cloudProjects:e.cloudMode}}function Fo(e){let t=e.capabilities,n=t.runtime??eae(t);return{repositoryIdentity:t.repositoryIdentity,pullRequests:t.pullRequests??!1,cloudMode:t.cloudMode,posthogPublicKey:t.posthogPublicKey,posthogHost:t.posthogHost,runtime:n,auth:t.auth??tae(n),tools:t.tools??nae(n),projects:t.projects??rae(t,n)}}function iae(e){return e?Fo(e).projects.cloudProjects:!1}function aae(e){return e?Fo(e).runtime.workspaceProxy??!1:!1}function Io(e,t){return{environmentId:e,projectId:t}}function Lo(e,t){return{environmentId:e,threadId:t}}var Ro=`scoped:v1:`;function zo(e){let t=`projectId`in e?e.projectId:e.threadId;return t.includes(`:`)||e.environmentId.startsWith(Ro)?`${Ro}${encodeURIComponent(e.environmentId)}:${encodeURIComponent(t)}`:`${e.environmentId}:${t}`}function Bo(e){return zo(e)}function Vo(e){return zo(e)}function oae(e){let t=e.slice(10),n=t.indexOf(`:`);if(n<=0||n>=t.length-1||t.indexOf(`:`,n+1)!==-1)return null;try{let e=decodeURIComponent(t.slice(0,n)),r=decodeURIComponent(t.slice(n+1));return e.length>0&&r.length>0?{environmentId:e,localId:r}:null}catch{return null}}function Ho(e){if(e.startsWith(Ro))return oae(e);let t=e.lastIndexOf(`:`);return t<=0||t>=e.length-1?null:{environmentId:e.slice(0,t),localId:e.slice(t+1)}}function Uo(e){let t=Ho(e);return t?{environmentId:t.environmentId,projectId:t.localId}:null}function Wo(e){let t=Ho(e);return t?{environmentId:t.environmentId,threadId:t.localId}:null}var sae=1e3,cae=64e3;ko(Mn);function lae(e){return!Number.isInteger(e)||e<0||e>=10?null:Math.min(Math.round(sae*2**e),cae)}var Go=class extends Error{code;retryable;name=`RelayProtocolFailure`;constructor(e,t,n){super(t),this.code=e,this.retryable=n}};function Ko(e){return Array.isArray(e)?e.map(Ko):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,Ko(t)])):e}function uae(e){let t=JSON.stringify(Ko(e));if(t===void 0)throw Error(`Relay payload is not JSON serializable.`);return t}var dae={requestId:`@effect/rpc/Ping`,correlationId:`@effect/rpc/Ping`,method:`@effect/rpc/Ping`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`};function fae(e){return e._tag===`Ping`?dae:null}function pae(e){if(e.policy===null||e.policy.method!==e.method)throw new Go(`method_not_remotable`,`Relay method has no exact dispatch policy: ${e.method}`,!1);if(e.policy.requiredScope!==null&&!e.grantedScopes.includes(e.policy.requiredScope))throw new Go(`scope_denied`,`Relay method ${e.method} requires scope ${e.policy.requiredScope}`,!1);return{requiredScope:e.policy.requiredScope,deliveryClass:e.policy.deliveryClass,journalPersistence:e.policy.journalPersistence}}function mae(e){let t=new Set(e.registeredMethods),n=new Map;for(let r of e.policies){if(n.has(r.method))throw new Go(`method_not_remotable`,`Relay method has duplicate dispatch policies: ${r.method}`,!1);if(!t.has(r.method))throw new Go(`method_not_remotable`,`Relay dispatch policy targets an unregistered method: ${r.method}`,!1);if((r.deliveryClass===`idempotent-command`||r.deliveryClass===`create-command`)==(r.journalPersistence===`none`))throw new Go(`method_not_remotable`,`Relay dispatch policy has incompatible journal persistence: ${r.method}`,!1);n.set(r.method,r)}for(let t of e.registeredMethods)if(!n.has(t))throw new Go(`method_not_remotable`,`Remotely registered method has no dispatch policy: ${t}`,!1);return n}var hae=[{method:M.projectsSearchContents,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsSearchEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsListEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.serverDiscoverSourceControl,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverReportClientActivity,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.codeGraphSummary,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphNeighborhood,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphSearch,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.projectCheckoutDeletionPreview,requiredScope:`workspace.write`,deliveryClass:`read`},{method:M.projectCheckoutDeletionExecute,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.reviewGetDiffPreview,requiredScope:`diff.read`,deliveryClass:`read`},{method:M.projectsReadFile,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.cloudListRuntimes,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.filesystemBrowse,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceReadFile,requiredScope:`workspace.read`,deliveryClass:`bulk-transfer`},{method:M.workspaceBeginWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceWriteFileChunk,requiredScope:`workspace.write`,deliveryClass:`bulk-transfer`},{method:M.workspaceCommitWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceCancelWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.shellOpenInEditor,requiredScope:`shell.open`,deliveryClass:`idempotent-command`},{method:M.gitPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitRunStackedAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitListBranches,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsListRefs,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateRef,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsSwitchRef,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateBranch,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitCheckout,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitResolvePullRequest,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitPreparePullRequestThread,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.terminalOpen,requiredScope:`terminal.write`,deliveryClass:`create-command`},{method:M.terminalAttach,requiredScope:`terminal.write`,deliveryClass:`terminal-output`},{method:M.terminalWrite,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalResize,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalSignal,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClear,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalRestart,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClose,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.browserOpenSession,requiredScope:`browser.control`,deliveryClass:`create-command`},{method:M.browserListSessions,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCloseSession,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserGetSession,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCommand,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserClearBrowsingData,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAttachDisplay,requiredScope:`browser.read`,deliveryClass:`subscription`},{method:M.computerInput,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAddDisplayIceCandidate,requiredScope:`browser.read`,deliveryClass:`browser-control`},{method:M.devTunnelRegister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelUnregister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelList,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.threadDevRuntimeGet,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.threadDevRuntimeAllocatePort,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.threadDevRuntimeRelease,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.workspaceEnvironmentPreflight,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceEnsureScratch,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.serverGetConfig,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverRefreshProviders,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverStartProviderAuth,requiredScope:`provider.manage`,deliveryClass:`create-command`},{method:M.serverRepairProviderAuthRuntime,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverDisconnectProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverGetProviderAuthSession,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverCancelProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSubmitProviderAuthCode,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalCodexToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalClaudeToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverUpsertKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverRemoveKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetSettings,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverUpdateSettings,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverUpdateEnvironmentDisplayName,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetTraceDiagnostics,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverHeartbeat,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.usageGetSummary,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.pullRequestsList,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsListStats,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDetail,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsActivity,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsThreadComments,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDiffFileContents,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRunAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsUpdate,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsComment,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsUpdateComment,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSubmitReview,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsReplyToThread,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsSetThreadResolution,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSetReaction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsInvalidate,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsReviewerCandidates,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRequestReviewers,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.subscribeGitStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeVcsStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeTerminalEvents,requiredScope:`terminal.read`,deliveryClass:`terminal-output`},{method:M.subscribeTerminalMetadata,requiredScope:`terminal.read`,deliveryClass:`read`},{method:M.subscribeBrowserEvents,requiredScope:`browser.read`,deliveryClass:`browser-frame`},{method:M.subscribeServerConfig,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeServerLifecycle,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeAuthAccess,requiredScope:`provider.read`,deliveryClass:`subscription`},{method:M.subscribeWorkspaceReadiness,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:qn.dispatchCommand,requiredScope:null,deliveryClass:`idempotent-command`},{method:qn.getTurnDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.getFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.streamTurnDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.streamFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.replayEvents,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getArchivedShellSnapshot,requiredScope:`thread.read`,deliveryClass:`read`},{method:qn.subscribeShell,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.subscribeThread,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getThreadDetailPage,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.assetsCreateUrl,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.attachmentsCreateUploadUrl,requiredScope:`turn.dispatch`,deliveryClass:`create-command`},{method:M.attachmentsDelete,requiredScope:`turn.dispatch`,deliveryClass:`idempotent-command`},{method:qn.searchThreads,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.providerUploadFeedback,requiredScope:`thread.read`,deliveryClass:`create-command`},{method:M.sourceControlLookupRepository,requiredScope:`git.read`,deliveryClass:`read`},{method:M.sourceControlCloneRepository,requiredScope:`project.write`,deliveryClass:`idempotent-command`}],gae=new Set([M.gitPull,M.gitRunStackedAction,M.gitCreateWorktree,M.gitRemoveWorktree,M.gitCreateBranch,M.gitCheckout,M.gitInit,M.gitPreparePullRequestThread,M.threadDevRuntimeAllocatePort,M.threadDevRuntimeRelease,M.serverUpsertKeybinding,M.serverRemoveKeybinding,M.serverUpdateEnvironmentDisplayName,qn.dispatchCommand]),_ae=hae.map(e=>{let t=e.deliveryClass===`idempotent-command`||e.deliveryClass===`create-command`;return{method:e.method,requiredScope:e.requiredScope,deliveryClass:e.deliveryClass,journalPersistence:t?gae.has(e.method)?`frame`:`metadata-only`:`none`}}),vae=mae({registeredMethods:[...Mn.requests.keys()],policies:_ae}),qo={"project.create":{requiredScope:`project.write`,deliveryClass:`create-command`},"project.meta.update":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"project.script.update":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"project.delete":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"thread.create":{requiredScope:`thread.create`,deliveryClass:`create-command`},"thread.delete":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.archive":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.settle":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.unsettle":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.unarchive":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.meta.update":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.runtime-mode.set":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.interaction-mode.set":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.turn.start":{requiredScope:`turn.dispatch`,deliveryClass:`create-command`},"thread.turn.interrupt":{requiredScope:`turn.stop`,deliveryClass:`idempotent-command`},"thread.approval.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`},"thread.user-input.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`},"thread.checkpoint.revert":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.session.stop":{requiredScope:`turn.stop`,deliveryClass:`idempotent-command`},"thread.plan-approval.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`}},yae=new Set([`thread.approval.respond`,`thread.user-input.respond`,`thread.plan-approval.respond`]);function bae(e){if(e.method!==qn.dispatchCommand||!e.payload||typeof e.payload!=`object`||Array.isArray(e.payload))return null;let t=e.payload;if(typeof t.type!=`string`||!yae.has(t.type))return null;let n=t.type===`thread.plan-approval.respond`?t.promptId:t.requestId;if(typeof t.commandId!=`string`||t.commandId.length===0||typeof n!=`string`||n.length===0)throw new Go(`action_grant_invalid`,`Relay sensitive action metadata is incomplete`,!1);return{commandType:t.type,commandId:t.commandId,targetId:n}}function Jo(e){let t=vae.get(e.method)??null,n=pae({method:e.method,grantedScopes:e.grantedScopes,policy:t});if(e.method!==qn.dispatchCommand)return n;if(!e.payload||typeof e.payload!=`object`||!(`type`in e.payload))throw new Go(`method_not_remotable`,`Relay orchestration dispatch payload has no command policy`,!1);let r=e.payload.type;if(typeof r!=`string`||!(r in qo))throw new Go(`method_not_remotable`,`Relay orchestration command has no dispatch policy: ${String(r)}`,!1);let i=qo[r];if(!e.grantedScopes.includes(i.requiredScope))throw new Go(`scope_denied`,`Relay orchestration command ${r} requires scope ${i.requiredScope}`,!1);return{requiredScope:i.requiredScope,deliveryClass:i.deliveryClass,journalPersistence:n.journalPersistence}}var Yo=class extends Error{constructor(e){let t;t=e instanceof Error?e.message:typeof e==`string`?e:``,super(t),this.name=this.constructor.name}},Xo=class extends Yo{},Zo=class extends Yo{},Qo=class extends Yo{},xae=class extends Yo{},Sae=class extends Yo{},Cae=class extends Yo{},wae=class extends Yo{},Tae=class extends Yo{},Eae=class extends Yo{},Dae=class extends Yo{},$o=class extends Yo{},es=Oae(globalThis,{});function Oae(e,t){return new Proxy(e,{get(n,r,i){return r in t?t[r]:e[r]},set(n,r,i){return r in t&&delete t[r],e[r]=i,!0},deleteProperty(n,r){let i=!1;return r in t&&(delete t[r],i=!0),r in e&&(delete e[r],i=!0),i},ownKeys(n){let r=Reflect.ownKeys(e),i=Reflect.ownKeys(t),a=new Set(i);return[...r.filter(e=>!a.has(e)),...i]},defineProperty(n,r,i){return r in t&&delete t[r],Reflect.defineProperty(e,r,i),!0},getOwnPropertyDescriptor(n,r){return r in t?Reflect.getOwnPropertyDescriptor(t,r):Reflect.getOwnPropertyDescriptor(e,r)},has(n,r){return r in t||r in e}})}async function kae(){if(es!==void 0&&globalThis.crypto!==void 0)return globalThis.crypto.subtle;try{let{webcrypto:e}=await N(async()=>{let{webcrypto:e}=await import(`./__vite-browser-external-2W3EstLn.js`).then(e=>t(e.default));return{webcrypto:e}},__vite__mapDeps([0,1]));return e.subtle}catch(e){throw new $o(e)}}var ts=class{constructor(){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async _setup(){this._api===void 0&&(this._api=await kae())}},ns={Base:0,Psk:1,Auth:2,AuthPsk:3},Aae={NotAssigned:0,DhkemP256HkdfSha256:16,DhkemP384HkdfSha384:17,DhkemP521HkdfSha512:18,DhkemSecp256k1HkdfSha256:19,DhkemX25519HkdfSha256:32,DhkemX448HkdfSha512:33,HybridkemX25519Kyber768:48,MlKem512:64,MlKem768:65,MlKem1024:66,XWing:25722},rs={HkdfSha256:1,HkdfSha384:2,HkdfSha512:3,Sha3256:4,Sha3384:5,Sha3512:6,Shake128:16,Shake256:17,TurboShake128:18,TurboShake256:19},is={Aes128Gcm:1,Aes256Gcm:2,Chacha20Poly1305:3,ExportOnly:65535},as=new Uint8Array,os=0n,ss=1n,cs=2n,jae=new Uint8Array([75,69,77,0,0]),ls=new Uint8Array([72,80,75,69,45,118,49]);function us(e){return new Uint8Array(ds(e))}function ds(e){return e instanceof ArrayBuffer?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice().buffer:new Uint8Array(e).slice().buffer}var Mae=class extends ts{constructor(){super(),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:rs.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:as}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}init(e){this._suiteId=e}buildLabeledIkm(e,t){this._checkInit();let n=new Uint8Array(7+this._suiteId.byteLength+e.byteLength+t.byteLength);return n.set(ls,0),n.set(this._suiteId,7),n.set(e,7+this._suiteId.byteLength),n.set(t,7+this._suiteId.byteLength+e.byteLength),n}buildLabeledInfo(e,t,n){this._checkInit();let r=new Uint8Array(9+this._suiteId.byteLength+e.byteLength+t.byteLength);return r.set(new Uint8Array([0,n]),0),r.set(ls,2),r.set(this._suiteId,9),r.set(e,9+this._suiteId.byteLength),r.set(t,9+this._suiteId.byteLength+e.byteLength),r}async extract(e,t){await this._setup();let n=e.byteLength===0?new ArrayBuffer(this.hashSize):ds(e);if(n.byteLength!==this.hashSize)throw new Xo(`The salt length must be the same as the hashSize`);let r=ds(t),i=await this._api.importKey(`raw`,n,this.algHash,!1,[`sign`]);return await this._api.sign(`HMAC`,i,r)}async expand(e,t,n){await this._setup();let r=ds(e),i=await this._api.importKey(`raw`,r,this.algHash,!1,[`sign`]),a=new ArrayBuffer(n),o=new Uint8Array(a),s=as,c=us(t),l=new Uint8Array(1);if(n>255*this.hashSize)throw Error(`Entropy limit reached`);let u=new Uint8Array(this.hashSize+c.length+1);for(let e=1,t=0;t<o.length;e++)l[0]=e,u.set(s,0),u.set(c,s.length),u.set(l,s.length+c.length),s=new Uint8Array(await this._api.sign(`HMAC`,i,u.slice(0,s.length+c.length+1))),o.length-t>=s.length?(o.set(s,t),t+=s.length):(o.set(s.slice(0,o.length-t),t),t+=o.length-t);return a}async extractAndExpand(e,t,n,r){await this._setup();let i=ds(t),a=await this._api.importKey(`raw`,i,`HKDF`,!1,[`deriveBits`]);return await this._api.deriveBits({name:`HKDF`,hash:this.algHash.hash,salt:ds(e),info:ds(n)},a,r*8)}async labeledExtract(e,t,n){return await this.extract(e,this.buildLabeledIkm(t,n))}async labeledExpand(e,t,n,r){return await this.expand(e,this.buildLabeledInfo(t,n,r),r)}_checkInit(){if(this._suiteId===as)throw Error(`Not initialized. Call init()`)}},Nae=class extends Mae{constructor(){super(...arguments),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:rs.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}},fs=e=>typeof e==`object`&&!!e&&typeof e.privateKey==`object`&&typeof e.publicKey==`object`;function ps(e,t){if(t<=0)throw Error(`i2Osp: too small size`);if(e>=256**t)throw Error(`i2Osp: too large integer`);let n=new Uint8Array(t);for(let r=0;r<t&&e;r++)n[t-(r+1)]=e%256,e=Math.floor(e/256);return n}function ms(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function hs(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}async function Pae(){if(es!==void 0&&globalThis.crypto!==void 0)return globalThis.crypto;try{let{webcrypto:e}=await N(async()=>{let{webcrypto:e}=await import(`./__vite-browser-external-2W3EstLn.js`).then(e=>t(e.default));return{webcrypto:e}},__vite__mapDeps([0,1]));return e}catch{throw Error(`failed to load Crypto`)}}function Fae(e,t){if(e.byteLength!==t.byteLength)throw Error(`xor: different length inputs`);let n=new Uint8Array(e.byteLength);for(let r=0;r<e.byteLength;r++)n[r]=e[r]^t[r];return n}var Iae=new Uint8Array([101,97,101,95,112,114,107]),Lae=new Uint8Array([115,104,97,114,101,100,95,115,101,99,114,101,116]);function Rae(e,t,n){let r=new Uint8Array(e.length+t.length+n.length);return r.set(e,0),r.set(t,e.length),r.set(n,e.length+t.length),r}var zae=class{constructor(e,t,n){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"secretSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"encSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"publicKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"privateKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_prim",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=e,this._prim=t,this._kdf=n;let r=new Uint8Array(jae);r.set(ps(this.id,2),3),this._kdf.init(r)}async serializePublicKey(e){return await this._prim.serializePublicKey(e)}async deserializePublicKey(e){return await this._prim.deserializePublicKey(ds(e))}async serializePrivateKey(e){return await this._prim.serializePrivateKey(e)}async deserializePrivateKey(e){return await this._prim.deserializePrivateKey(ds(e))}async importKey(e,t,n=!0){return await this._prim.importKey(e,t,n)}async generateKeyPair(){return await this._prim.generateKeyPair()}async deriveKeyPair(e){let t=ds(e);if(t.byteLength>8192)throw new Xo(`Too long ikm`);return await this._prim.deriveKeyPair(t)}async encap(e){let t;t=e.ekm===void 0?await this.generateKeyPair():fs(e.ekm)?e.ekm:await this.deriveKeyPair(e.ekm);let n=await this._prim.serializePublicKey(t.publicKey),r=await this._prim.serializePublicKey(e.recipientPublicKey);try{let i;if(e.senderKey===void 0)i=new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey));else{let n=fs(e.senderKey)?e.senderKey.privateKey:e.senderKey;i=ms(new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey)),new Uint8Array(await this._prim.dh(n,e.recipientPublicKey)))}let a;if(e.senderKey===void 0)a=ms(new Uint8Array(n),new Uint8Array(r));else{let t=fs(e.senderKey)?e.senderKey.publicKey:await this._prim.derivePublicKey(e.senderKey),i=await this._prim.serializePublicKey(t);a=Rae(new Uint8Array(n),new Uint8Array(r),new Uint8Array(i))}return{enc:n,sharedSecret:await this._generateSharedSecret(i,a)}}catch(e){throw new xae(e)}}async decap(e){let t=ds(e.enc),n=await this._prim.deserializePublicKey(t),r=fs(e.recipientKey)?e.recipientKey.privateKey:e.recipientKey,i=fs(e.recipientKey)?e.recipientKey.publicKey:await this._prim.derivePublicKey(e.recipientKey),a=await this._prim.serializePublicKey(i);try{let i;i=e.senderPublicKey===void 0?new Uint8Array(await this._prim.dh(r,n)):ms(new Uint8Array(await this._prim.dh(r,n)),new Uint8Array(await this._prim.dh(r,e.senderPublicKey)));let o;if(e.senderPublicKey===void 0)o=ms(new Uint8Array(t),new Uint8Array(a));else{let n=await this._prim.serializePublicKey(e.senderPublicKey);o=new Uint8Array(t.byteLength+a.byteLength+n.byteLength),o.set(new Uint8Array(t),0),o.set(new Uint8Array(a),t.byteLength),o.set(new Uint8Array(n),t.byteLength+a.byteLength)}return await this._generateSharedSecret(i,o)}catch(e){throw new Sae(e)}}async _generateSharedSecret(e,t){let n=this._kdf.buildLabeledIkm(Iae,e),r=this._kdf.buildLabeledInfo(Lae,t,this.secretSize);return await this._kdf.extractAndExpand(as,n,r,this.secretSize)}},gs=[`deriveBits`],Bae=new Uint8Array([100,107,112,95,112,114,107]),Vae=new Uint8Array([115,107]),_s=class{constructor(e,t,n,r=[]){Object.defineProperty(this,"key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extractable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"algorithm",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"usages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.key=t,this.type=n,this.algorithm={name:e},this.usages=r,n===`public`&&(this.usages=[])}},Hae=class{constructor(e,t,n,r){Object.defineProperty(this,"_algName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_curve",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hkdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nPk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nSk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._algName=e,this._nPk=t,this._nSk=t,this._curve=n,this._hkdf=r}serializePublicKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new Zo(e))}}async deserializePublicKey(e){try{return await this._importRawKey(ds(e),!0)}catch(e){throw new Qo(e)}}serializePrivateKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new Zo(e))}}async deserializePrivateKey(e){try{return await this._importRawKey(ds(e),!1)}catch(e){throw new Qo(e)}}async importKey(e,t,n){try{if(e===`raw`)return await this._importRawKey(t,n);if(t instanceof ArrayBuffer)throw Error(`Invalid jwk key format`);return await this._importJWK(t,n)}catch(e){throw new Qo(e)}}async generateKeyPair(){try{let e=await this._curve.utils.randomSecretKey(),t=new _s(this._algName,e,`private`,gs);return{publicKey:await this.derivePublicKey(t),privateKey:t}}catch(e){throw new $o(e)}}async deriveKeyPair(e){try{let t=ds(e),n=await this._hkdf.labeledExtract(as.buffer,Bae,new Uint8Array(t)),r=await this._hkdf.labeledExpand(n,Vae,as,this._nSk),i=new _s(this._algName,new Uint8Array(r),`private`,gs);return{privateKey:i,publicKey:await this.derivePublicKey(i)}}catch(e){throw new Dae(e)}}derivePublicKey(e){try{let t=this._curve.getPublicKey(e.key);return Promise.resolve(new _s(this._algName,t,`public`))}catch(e){return Promise.reject(new Qo(e))}}dh(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e.key,t.key).buffer)}catch(e){return Promise.reject(new Zo(e))}}_importRawKey(e,t){return new Promise((n,r)=>{t&&e.byteLength!==this._nPk&&r(Error(`Invalid length of the key`)),!t&&e.byteLength!==this._nSk&&r(Error(`Invalid length of the key`)),n(new _s(this._algName,new Uint8Array(e),t?`public`:`private`,t?[]:gs))})}_importJWK(e,t){return new Promise((n,r)=>{e.kty!==`OKP`&&r(Error(`Invalid kty: ${e.kty}`)),e.crv!==this._algName&&r(Error(`Invalid crv: ${e.crv}`)),t?(e.d!==void 0&&r(Error("Invalid key: `d` should not be set")),typeof e.x!=`string`&&r(Error("Invalid key: `x` not found")),n(new _s(this._algName,hs(e.x),`public`))):(typeof e.d!=`string`&&r(Error("Invalid key: `d` not found")),n(new _s(this._algName,hs(e.d),`private`,gs)))})}};function Uae(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function vs(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >0, got ${e}`)}}function ys(e,t,n=``){let r=Uae(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`;throw Error(o+`expected Uint8Array`+s+`, got `+c)}return e}function bs(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function xs(e,t){ys(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function Wae(e){if(typeof e==`bigint`){if(!Ms(e))throw Error(`positive bigint expected, got `+e)}else vs(e);return e}function Ss(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Cs(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var Gae=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ws(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ts(e,t){return e<<32-t|e>>>t}var Es=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Kae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),qae=[0n,1n,2n,3n,4n,5n,6n,7n,8n,9n,10n,11n,12n,13n,14n,15n];function Jae(e){if(ys(e),Es)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Kae[e[n]];return t}var Ds={_0:48,_9:57,A:65,F:70,a:97,f:102};function Os(e){if(e>=Ds._0&&e<=Ds._9)return e-Ds._0;if(e>=Ds.A&&e<=Ds.F)return e-(Ds.A-10);if(e>=Ds.a&&e<=Ds.f)return e-(Ds.a-10)}function Yae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Es)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Os(e.charCodeAt(i)),a=Os(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function Xae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=os;for(let n=0;n<e.length;n++){let r=Os(e.charCodeAt(n));if(r===void 0)throw Error(`hex string expected, got non-hex character "`+e[n]+`" at index `+n);t=t<<4n|qae[r]}return t}function ks(e){vs(e,`numberToBigint`);let t=e,n=os,r=1n;for(;t>0;)t%2==1&&(n+=r),t=Math.floor(t/2),r<<=1n;return n}function As(e){return Xae(Jae(js(ys(e)).reverse()))}function Zae(e,t){vs(t),e=Wae(e);let n=Yae(e.toString(16).padStart(t*2,`0`));if(n.length!==t)throw Error(`number too large`);return n}function Qae(e,t){return Zae(e,t).reverse()}function js(e){return Uint8Array.from(e)}function Ms(e){return typeof e==`bigint`&&0n<=e}function $ae(e,t,n){return Ms(e)&&Ms(t)&&Ms(n)&&t<=e&&e<n}function Ns(e,t,n,r){if(!$ae(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function eoe(e,t={},n={}){if(!e||typeof e!=`object`)throw Error(`expected valid options object`);function r(t,n,r){let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw Error(`param "${t}" is invalid: expected ${n}, got ${a}`)}let i=(e,t)=>Object.entries(e).forEach(([e,n])=>r(e,n,t));i(t,!1),i(n,!0)}async function toe(e=32){let t=await Pae(),n=new Uint8Array(e);return t.getRandomValues(n),n}function noe(e){return{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}}function roe(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash must wrapped by utils.createHasher`);vs(e.outputLen),vs(e.blockLen)}function ioe(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0),i=Object.assign(n,{outputLen:r.outputLen,blockLen:r.blockLen,create:t=>e(t),...t});return Object.freeze(i)}var Ps=class{constructor(e,t){if(Object.defineProperty(this,"oHash",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"iHash",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),roe(e),ys(t,void 0,`key`),this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,r=new Uint8Array(n);r.set(t.length>n?e.create().update(t).digest():t);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),Cs(r)}update(e){return bs(this),this.iHash.update(e),this}digestInto(e){bs(this),ys(e,this.outputLen,`output`),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Fs=(e,t,n)=>new Ps(e,t).update(n).digest();Fs.create=(e,t)=>new Ps(e,t);function aoe(e,t,n){return e&t^~e&n}function ooe(e,t,n){return e&t^e&n^t&n}var soe=class{constructor(e,t,n,r){Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"padOffset",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isLE",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"buffer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"view",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"length",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"pos",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=ws(this.buffer)}update(e){bs(this),ys(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=ws(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){bs(this),xs(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Cs(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;n.setBigUint64(r-8,ks(this.length*8),i),this.process(n,0);let o=ws(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen must be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Is=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),coe=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ls=new Uint32Array(64),loe=class extends soe{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ls[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ls[e-15],n=Ls[e-2],r=Ts(t,7)^Ts(t,18)^t>>>3,i=Ts(n,17)^Ts(n,19)^n>>>10;Ls[e]=i+Ls[e-7]+r+Ls[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Ts(o,6)^Ts(o,11)^Ts(o,25),u=l+t+aoe(o,s,c)+coe[e]+Ls[e]|0,d=(Ts(n,2)^Ts(n,13)^Ts(n,22))+ooe(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Cs(Ls)}destroy(){this.set(0,0,0,0,0,0,0,0),Cs(this.buffer)}},uoe=class extends loe{constructor(){super(32),Object.defineProperty(this,"A",{enumerable:!0,configurable:!0,writable:!0,value:Is[0]|0}),Object.defineProperty(this,"B",{enumerable:!0,configurable:!0,writable:!0,value:Is[1]|0}),Object.defineProperty(this,"C",{enumerable:!0,configurable:!0,writable:!0,value:Is[2]|0}),Object.defineProperty(this,"D",{enumerable:!0,configurable:!0,writable:!0,value:Is[3]|0}),Object.defineProperty(this,"E",{enumerable:!0,configurable:!0,writable:!0,value:Is[4]|0}),Object.defineProperty(this,"F",{enumerable:!0,configurable:!0,writable:!0,value:Is[5]|0}),Object.defineProperty(this,"G",{enumerable:!0,configurable:!0,writable:!0,value:Is[6]|0}),Object.defineProperty(this,"H",{enumerable:!0,configurable:!0,writable:!0,value:Is[7]|0})}},Rs=ioe(()=>new uoe,noe(1));function zs(e,t){let n=e%t;return n>=0n?n:t+n}function Bs(e,t,n){let r=e;for(;t-->os;)r*=r,r%=n;return r}function doe(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}function foe(e){return eoe(e,{adjustScalarBytes:`function`,powPminus2:`function`}),Object.freeze({...e})}function poe(e){let{P:t,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:a}=foe(e),o=n===`x25519`;if(!o&&n!==`x448`)throw Error(`invalid type`);let s=a||toe,c=o?255n:448n,l=o?32:56,u=o?9n:5n,d=o?121665n:39081n,f=o?cs**254n:cs**447n,p=f+(o?8n*cs**251n-ss:4n*cs**445n-ss)+ss,m=e=>zs(e,t),h=g(u);function g(e){return Qae(m(e),l)}function _(e){let t=js(ys(e,l,`uCoordinate`));return o&&(t[31]&=127),m(As(t))}function v(e){return As(r(js(ys(e,l,`scalar`))))}function y(e,t){let n=w(_(t),v(e));if(n===0n)throw Error(`invalid private or public key received`);return g(n)}function b(e){return y(e,h)}let x=b,S=y;function C(e,t,n){let r=m(e*(t-n));return t=m(t-r),n=m(n+r),{x_2:t,x_3:n}}function w(e,n){Ns(`u`,e,os,t),Ns(`scalar`,n,f,p);let r=n,a=e,o=ss,s=os,l=e,u=ss,h=os;for(let e=c-1n;e>=os;e--){let t=r>>e&ss;h^=t,{x_2:o,x_3:l}=C(h,o,l),{x_2:s,x_3:u}=C(h,s,u),h=t;let n=o+s,i=m(n*n),c=o-s,f=m(c*c),p=i-f,g=l+u,_=l-u,v=m(_*n),y=m(g*c),b=v+y,x=v-y;l=m(b*b),u=m(a*m(x*x)),o=m(i*f),s=m(p*(i+m(d*p)))}({x_2:o,x_3:l}=C(h,o,l)),{x_2:s,x_3:u}=C(h,s,u);let g=i(s);return m(o*g)}let T={secretKey:l,publicKey:l,seed:l},E=async e=>(e===void 0&&(e=await s(l)),ys(e,T.seed,`seed`),e),D={randomSecretKey:E};return Object.freeze({keygen:doe(E,x),getSharedSecret:S,getPublicKey:x,scalarMult:y,scalarMultBase:b,utils:D,GuBytes:h.slice(),lengths:T})}function Vs(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var moe=(e,t)=>{function n(n,...r){if(ys(n,void 0,`key`),!Gae)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];ys(t,e.varSizeNonce?void 0:e.nonceLength,`nonce`)}let i=e.tagLength;i&&r[1]!==void 0&&ys(r[1],void 0,`AAD`);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);ys(t,void 0,`output`)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,ys(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(ys(e),i&&e.length<i)throw Error(`"ciphertext" expected length bigger than tagLength=`+i);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(n,e),n};function hoe(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function goe(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function Hs(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error(`"output" expected Uint8Array of length `+e+`, got: `+t.length);if(n&&!voe(t))throw Error(`invalid output, must be aligned`);return t}function _oe(e,t,n){Vs(n);let r=new Uint8Array(16),i=ws(r);return i.setBigUint64(0,ks(t),n),i.setBigUint64(8,ks(e),n),r}function voe(e){return e.byteOffset%4==0}var Us=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),yoe=Us(`expand 16-byte k`),boe=Us(`expand 32-byte k`),xoe=Ss(yoe),Soe=Ss(boe);function Ws(e,t){return e<<t|e>>>32-t}function Gs(e){return e.byteOffset%4==0}var Ks=64,Coe=16,qs=2**32-1,Js=Uint32Array.of();function woe(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(Ks),u=Ss(l),d=Gs(i)&&Gs(a),f=d?Ss(i):Js,p=d?Ss(a):Js;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=qs)throw Error(`arx: counter overflow`);let h=Math.min(Ks,c-m);if(d&&h===Ks){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<Coe;t++)n=e+t,p[n]=f[n]^u[t];m+=Ks;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function Toe(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=hoe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return vs(i),vs(o),Vs(a),Vs(n),(t,s,c,l,u=0)=>{ys(t,void 0,`key`),ys(s,void 0,`nonce`),ys(c,void 0,`data`);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),ys(l,void 0,`output`),vs(u),u<0||u>=qs)throw Error(`arx: counter overflow`);if(l.length<d)throw Error(`arx: output (${l.length}) is shorter than data (${d})`);let f=[],p=t.length,m,h;if(p===32)f.push(m=js(t)),h=Soe;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=xoe,f.push(m);else throw ys(t,32,`arx key`),Error(`invalid key size`);Gs(s)||f.push(s=js(s));let g=Ss(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,Ss(s.subarray(0,16)),g),s=s.subarray(16)}let _=16-i;if(_!==s.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let e=new Uint8Array(12);e.set(s,a?0:12-s.length),s=e,f.push(s)}let v=Ss(s);return woe(e,h,g,v,c,l,u,o),Cs(...f),l}}function Ys(e,t){return e[t++]&255|(e[t++]&255)<<8}var Eoe=class{constructor(e){Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"buffer",{enumerable:!0,configurable:!0,writable:!0,value:new Uint8Array(16)}),Object.defineProperty(this,"r",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"h",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"pad",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(8)}),Object.defineProperty(this,"pos",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),e=js(ys(e,32,`key`));let t=Ys(e,0),n=Ys(e,2),r=Ys(e,4),i=Ys(e,6),a=Ys(e,8),o=Ys(e,10),s=Ys(e,12),c=Ys(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|o<<2)&8191,this.r[7]=(o>>>11|s<<5)&8065,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=Ys(e,16+2*t)}process(e,t,n=!1){let r=n?0:2048,{h:i,r:a}=this,o=a[0],s=a[1],c=a[2],l=a[3],u=a[4],d=a[5],f=a[6],p=a[7],m=a[8],h=a[9],g=Ys(e,t+0),_=Ys(e,t+2),v=Ys(e,t+4),y=Ys(e,t+6),b=Ys(e,t+8),x=Ys(e,t+10),S=Ys(e,t+12),C=Ys(e,t+14),w=i[0]+(g&8191),T=i[1]+((g>>>13|_<<3)&8191),E=i[2]+((_>>>10|v<<6)&8191),D=i[3]+((v>>>7|y<<9)&8191),ee=i[4]+((y>>>4|b<<12)&8191),te=i[5]+(b>>>1&8191),ne=i[6]+((b>>>14|x<<2)&8191),O=i[7]+((x>>>11|S<<5)&8191),k=i[8]+((S>>>8|C<<8)&8191),re=i[9]+(C>>>5|r),A=0,ie=A+w*o+5*h*T+5*m*E+5*p*D+5*f*ee;A=ie>>>13,ie&=8191,ie+=5*d*te+5*u*ne+5*l*O+5*c*k+5*s*re,A+=ie>>>13,ie&=8191;let ae=A+w*s+T*o+5*h*E+5*m*D+5*p*ee;A=ae>>>13,ae&=8191,ae+=5*f*te+5*d*ne+5*u*O+5*l*k+5*c*re,A+=ae>>>13,ae&=8191;let oe=A+w*c+T*s+E*o+5*h*D+5*m*ee;A=oe>>>13,oe&=8191,oe+=5*p*te+5*f*ne+5*d*O+5*u*k+5*l*re,A+=oe>>>13,oe&=8191;let se=A+w*l+T*c+E*s+D*o+5*h*ee;A=se>>>13,se&=8191,se+=5*m*te+5*p*ne+5*f*O+5*d*k+5*u*re,A+=se>>>13,se&=8191;let ce=A+w*u+T*l+E*c+D*s+ee*o;A=ce>>>13,ce&=8191,ce+=5*h*te+5*m*ne+5*p*O+5*f*k+5*d*re,A+=ce>>>13,ce&=8191;let le=A+w*d+T*u+E*l+D*c+ee*s;A=le>>>13,le&=8191,le+=te*o+5*h*ne+5*m*O+5*p*k+5*f*re,A+=le>>>13,le&=8191;let ue=A+w*f+T*d+E*u+D*l+ee*c;A=ue>>>13,ue&=8191,ue+=te*s+ne*o+5*h*O+5*m*k+5*p*re,A+=ue>>>13,ue&=8191;let de=A+w*p+T*f+E*d+D*u+ee*l;A=de>>>13,de&=8191,de+=te*c+ne*s+O*o+5*h*k+5*m*re,A+=de>>>13,de&=8191;let fe=A+w*m+T*p+E*f+D*d+ee*u;A=fe>>>13,fe&=8191,fe+=te*l+ne*c+O*s+k*o+5*h*re,A+=fe>>>13,fe&=8191;let pe=A+w*h+T*m+E*p+D*f+ee*d;A=pe>>>13,pe&=8191,pe+=te*u+ne*l+O*c+k*s+re*o,A+=pe>>>13,pe&=8191,A=(A<<2)+A|0,A=A+ie|0,ie=A&8191,A>>>=13,ae+=A,i[0]=ie,i[1]=ae,i[2]=oe,i[3]=se,i[4]=ce,i[5]=le,i[6]=ue,i[7]=de,i[8]=fe,i[9]=pe}finalize(){let{h:e,pad:t}=this,n=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(r^1)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+t[0];e[0]=a&65535;for(let n=1;n<8;n++)a=(e[n]+t[n]|0)+(a>>>16)|0,e[n]=a&65535;Cs(n)}update(e){bs(this),ys(e),e=js(e);let{buffer:t,blockLen:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(n-this.pos,r-i);if(a===n){for(;n<=r-i;i+=n)this.process(e,i);continue}t.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){Cs(this.h,this.r,this.buffer,this.pad)}digestInto(e){bs(this),xs(e,this),this.finished=!0;let{buffer:t,h:n}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}};function Doe(e){let t=(t,n)=>e(n).update(t).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var Ooe=Doe(e=>new Eoe(e));function koe(e,t,n,r,i,a=20){let o=e[0],s=e[1],c=e[2],l=e[3],u=t[0],d=t[1],f=t[2],p=t[3],m=t[4],h=t[5],g=t[6],_=t[7],v=i,y=n[0],b=n[1],x=n[2],S=o,C=s,w=c,T=l,E=u,D=d,ee=f,te=p,ne=m,O=h,k=g,re=_,A=v,ie=y,ae=b,oe=x;for(let e=0;e<a;e+=2)S=S+E|0,A=Ws(A^S,16),ne=ne+A|0,E=Ws(E^ne,12),S=S+E|0,A=Ws(A^S,8),ne=ne+A|0,E=Ws(E^ne,7),C=C+D|0,ie=Ws(ie^C,16),O=O+ie|0,D=Ws(D^O,12),C=C+D|0,ie=Ws(ie^C,8),O=O+ie|0,D=Ws(D^O,7),w=w+ee|0,ae=Ws(ae^w,16),k=k+ae|0,ee=Ws(ee^k,12),w=w+ee|0,ae=Ws(ae^w,8),k=k+ae|0,ee=Ws(ee^k,7),T=T+te|0,oe=Ws(oe^T,16),re=re+oe|0,te=Ws(te^re,12),T=T+te|0,oe=Ws(oe^T,8),re=re+oe|0,te=Ws(te^re,7),S=S+D|0,oe=Ws(oe^S,16),k=k+oe|0,D=Ws(D^k,12),S=S+D|0,oe=Ws(oe^S,8),k=k+oe|0,D=Ws(D^k,7),C=C+ee|0,A=Ws(A^C,16),re=re+A|0,ee=Ws(ee^re,12),C=C+ee|0,A=Ws(A^C,8),re=re+A|0,ee=Ws(ee^re,7),w=w+te|0,ie=Ws(ie^w,16),ne=ne+ie|0,te=Ws(te^ne,12),w=w+te|0,ie=Ws(ie^w,8),ne=ne+ie|0,te=Ws(te^ne,7),T=T+E|0,ae=Ws(ae^T,16),O=O+ae|0,E=Ws(E^O,12),T=T+E|0,ae=Ws(ae^T,8),O=O+ae|0,E=Ws(E^O,7);let se=0;r[se++]=o+S|0,r[se++]=s+C|0,r[se++]=c+w|0,r[se++]=l+T|0,r[se++]=u+E|0,r[se++]=d+D|0,r[se++]=f+ee|0,r[se++]=p+te|0,r[se++]=m+ne|0,r[se++]=h+O|0,r[se++]=g+k|0,r[se++]=_+re|0,r[se++]=v+A|0,r[se++]=y+ie|0,r[se++]=b+ae|0,r[se++]=x+oe|0}var Aoe=Toe(koe,{counterRight:!1,counterLength:4,allowShortKeys:!1}),joe=new Uint8Array(16),Xs=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(joe.subarray(n))},Moe=new Uint8Array(32);function Zs(e,t,n,r,i){i!==void 0&&ys(i,void 0,`AAD`);let a=e(t,n,Moe),o=_oe(r.length,i?i.length:0,!0),s=Ooe.create(a);i&&Xs(s,i),Xs(s,r),s.update(o);let c=s.digest();return Cs(a,o),c}var Qs=moe({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=Hs(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=Zs(e,t,n,s,r);return a.set(c,o),Cs(c),a},decrypt(i,a){a=Hs(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=Zs(e,t,n,o,r);if(!goe(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),Cs(c),a}}))(Aoe)),Noe=class{constructor(e){Object.defineProperty(this,"_key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._key=new Uint8Array(ds(e))}async seal(e,t,n){return await this._seal(ds(e),ds(t),ds(n))}async open(e,t,n){return await this._open(ds(e),ds(t),ds(n))}_seal(e,t,n){return new Promise(r=>{r(Qs(this._key,new Uint8Array(e),new Uint8Array(n)).encrypt(new Uint8Array(t)).buffer)})}_open(e,t,n){return new Promise(r=>{r(Qs(this._key,new Uint8Array(e),new Uint8Array(n)).decrypt(new Uint8Array(t)).buffer)})}},Poe=class{constructor(){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:is.Chacha20Poly1305}),Object.defineProperty(this,"keySize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"nonceSize",{enumerable:!0,configurable:!0,writable:!0,value:12}),Object.defineProperty(this,"tagSize",{enumerable:!0,configurable:!0,writable:!0,value:16})}createEncryptionContext(e){return new Noe(e)}};function $s(){return new Promise((e,t)=>{t(new $o(`Not supported`))})}var Foe=new Uint8Array([115,101,99]),ec=class{constructor(e,t,n){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exporterSecret",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._api=e,this._kdf=t,this.exporterSecret=n}async seal(e,t){return await $s()}async open(e,t){return await $s()}async export(e,t){let n=ds(e);if(n.byteLength>8192)throw new Xo(`Too long exporter context`);try{return await this._kdf.labeledExpand(this.exporterSecret,Foe,new Uint8Array(n),t)}catch(e){throw new Cae(e)}}},Ioe=class extends ec{},Loe=class extends ec{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.enc=r}},tc=class extends ec{constructor(e,t,n){if(super(e,t,n.exporterSecret),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nK",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nN",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nT",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_ctx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.key===void 0||n.baseNonce===void 0||n.seq===void 0)throw Error(`Required parameters are missing`);this._aead=n.aead,this._nK=this._aead.keySize,this._nN=this._aead.nonceSize,this._nT=this._aead.tagSize;let r=this._aead.createEncryptionContext(n.key);this._ctx={key:r,baseNonce:n.baseNonce,seq:n.seq}}computeNonce(e){let t=ps(e.seq,e.baseNonce.byteLength);return Fae(e.baseNonce,t).buffer}incrementSeq(e){if(e.seq>2**53-1)throw new Eae(`Message limit reached`);e.seq+=1}},Roe=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},zoe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},nc,rc=class{constructor(){nc.set(this,Promise.resolve())}async lock(){let e,t=new Promise(t=>{e=t}),n=Roe(this,nc,`f`);return zoe(this,nc,t,`f`),await n,e}};nc=new WeakMap;var ic=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Boe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ac,Voe=class extends tc{constructor(){super(...arguments),ac.set(this,void 0)}async open(e,t=as.buffer){Boe(this,ac,ic(this,ac,`f`)??new rc,`f`);let n=await ic(this,ac,`f`).lock(),r;try{r=await this._ctx.key.open(this.computeNonce(this._ctx),ds(e),ds(t))}catch(e){throw new Tae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};ac=new WeakMap;var oc=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Hoe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},sc,Uoe=class extends tc{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),sc.set(this,void 0),this.enc=r}async seal(e,t=as.buffer){Hoe(this,sc,oc(this,sc,`f`)??new rc,`f`);let n=await oc(this,sc,`f`).lock(),r;try{r=await this._ctx.key.seal(this.computeNonce(this._ctx),ds(e),ds(t))}catch(e){throw new wae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};sc=new WeakMap;var Woe=new Uint8Array([98,97,115,101,95,110,111,110,99,101]),Goe=new Uint8Array([101,120,112]),Koe=new Uint8Array([105,110,102,111,95,104,97,115,104]),qoe=new Uint8Array([107,101,121]),Joe=new Uint8Array([112,115,107,95,105,100,95,104,97,115,104]),Yoe=new Uint8Array([115,101,99,114,101,116]),Xoe=new Uint8Array([72,80,75,69,0,0,0,0,0,0]),Zoe=class extends ts{constructor(e){if(super(),Object.defineProperty(this,"_kem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),typeof e.kem==`number`)throw new Xo(`KemId cannot be used`);if(this._kem=e.kem,typeof e.kdf==`number`)throw new Xo(`KdfId cannot be used`);if(this._kdf=e.kdf,typeof e.aead==`number`)throw new Xo(`AeadId cannot be used`);this._aead=e.aead,this._suiteId=new Uint8Array(Xoe),this._suiteId.set(ps(this._kem.id,2),4),this._suiteId.set(ps(this._kdf.id,2),6),this._suiteId.set(ps(this._aead.id,2),8),this._kdf.init(this._suiteId)}get kem(){return this._kem}get kdf(){return this._kdf}get aead(){return this._aead}async createSenderContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.encap(e),n;return n=e.psk===void 0?e.senderKey===void 0?ns.Base:ns.Auth:e.senderKey===void 0?ns.Psk:ns.AuthPsk,await this._keyScheduleS(n,t.sharedSecret,t.enc,e)}async createRecipientContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.decap(e),n;return n=e.psk===void 0?e.senderPublicKey===void 0?ns.Base:ns.Auth:e.senderPublicKey===void 0?ns.Psk:ns.AuthPsk,await this._keyScheduleR(n,t,e)}async seal(e,t,n=as.buffer){let r=await this.createSenderContext(e);return{ct:await r.seal(t,n),enc:r.enc}}async open(e,t,n=as.buffer){return await(await this.createRecipientContext(e)).open(t,n)}async _keySchedule(e,t,n){let r=n.psk===void 0?as:us(n.psk.id),i=await this._kdf.labeledExtract(as,Joe,r),a=n.info===void 0?as:us(n.info),o=await this._kdf.labeledExtract(as,Koe,a),s=new Uint8Array(1+i.byteLength+o.byteLength);s.set(new Uint8Array([e]),0),s.set(new Uint8Array(i),1),s.set(new Uint8Array(o),1+i.byteLength);let c=n.psk===void 0?as:us(n.psk.key),l=this._kdf.buildLabeledIkm(Yoe,c),u=this._kdf.buildLabeledInfo(Goe,s,this._kdf.hashSize),d=await this._kdf.extractAndExpand(t,l,u,this._kdf.hashSize);if(this._aead.id===is.ExportOnly)return{aead:this._aead,exporterSecret:d};let f=this._kdf.buildLabeledInfo(qoe,s,this._aead.keySize),p=await this._kdf.extractAndExpand(t,l,f,this._aead.keySize),m=this._kdf.buildLabeledInfo(Woe,s,this._aead.nonceSize),h=await this._kdf.extractAndExpand(t,l,m,this._aead.nonceSize);return{aead:this._aead,exporterSecret:d,key:p,baseNonce:new Uint8Array(h),seq:0}}async _keyScheduleS(e,t,n,r){let i=await this._keySchedule(e,t,r);return i.key===void 0?new Loe(this._api,this._kdf,i.exporterSecret,n):new Uoe(this._api,this._kdf,i,n)}async _keyScheduleR(e,t,n){let r=await this._keySchedule(e,t,n);return r.key===void 0?new Ioe(this._api,this._kdf,r.exporterSecret):new Voe(this._api,this._kdf,r)}_validateInputLength(e){if(e.info!==void 0&&e.info.byteLength>268435456)throw new Xo(`Too long info`);if(e.psk!==void 0){if(e.psk.key.byteLength<32)throw new Xo(`PSK must have at least 32 bytes`);if(e.psk.key.byteLength>8192)throw new Xo(`Too long psk.key`);if(e.psk.id.byteLength>8192)throw new Xo(`Too long psk.id`)}}},Qoe=class extends Zoe{},$oe=1n,cc=2n,ese=3n,tse=5n,lc=57896044618658097711785492504343953926634992332820282019728792003956564819949n;function nse(e){let t=10n,n=80n,r=lc,i=e*e%r*e%r,a=Bs(Bs(i,cc,r)*i%r,$oe,r)*e%r,o=Bs(a,tse,r)*a%r,s=Bs(o,t,r)*o%r,c=Bs(s,20n,r)*s%r,l=Bs(c,40n,r)*c%r;return{pow_p_5_8:Bs(Bs(Bs(Bs(l,n,r)*l%r,n,r)*l%r,t,r)*o%r,cc,r)*e%r,b2:i}}function rse(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ise=(()=>{let e=lc;return poe({P:e,type:`x25519`,powPminus2:t=>{let{pow_p_5_8:n,b2:r}=nse(t);return zs(Bs(n,ese,e)*r,e)},adjustScalarBytes:rse})})(),ase=class extends Hae{constructor(e){super(`X25519`,32,ise,e)}derive(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e,t))}catch(e){return Promise.reject(new Zo(e))}}},uc=`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`,ose=2**31,sse=65536,cse=16,dc=32,fc=(1n<<255n)-19n,pc=new TextEncoder,mc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function hc(e){let t=0n;for(let n=0;n<e.length;n+=2)t|=BigInt(Number.parseInt(e.slice(n,n+2),16))<<BigInt(n/2*8);return t}var lse=new Set([0n,1n,hc(`e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800`),hc(`5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157`),fc-1n]),use=new Uint8Array,gc=class extends Nae{async extract(e,t){return ds(Fs(Rs,e.byteLength===0?new Uint8Array(this.hashSize):us(e),us(t)))}async expand(e,t,n){if(!Number.isSafeInteger(n)||n<0||n>255*this.hashSize)throw Error(`HKDF output length exceeds the RFC 5869 limit.`);let r=us(e),i=us(t),a=new Uint8Array(n),o=use;for(let e=1,t=0;t<a.byteLength;e+=1){let n=bc([o,i,Uint8Array.of(e)]);o=new Uint8Array(Fs(Rs,r,n));let s=a.byteLength-t;a.set(o.subarray(0,Math.min(o.byteLength,s)),t),t+=Math.min(o.byteLength,s)}return ds(a)}async extractAndExpand(e,t,n,r){return this.expand(await this.extract(e,t),n,r)}},_c=new Qoe({kem:new class extends zae{secretSize=32;encSize=32;publicKeySize=32;privateKeySize=32;constructor(e){super(Aae.DhkemX25519HkdfSha256,new ase(e),e)}}(new gc),kdf:new gc,aead:new Poe}),vc=class extends Error{code;name=`RelayPayloadChannelFailure`;constructor(e,t){super(t),this.code=e}};function yc(e){return new Uint8Array(e.slice(0))}function dse(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function bc(e){let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}function xc(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw new vc(`channel_ticket_binding_invalid`,`Invalid uint32 value.`);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function Sc(e){if(!Number.isSafeInteger(e)||e<0)throw new vc(`channel_ticket_binding_invalid`,`Invalid uint64 value.`);let t=new Uint8Array(8);return new DataView(t.buffer).setBigUint64(0,BigInt(e),!1),t}function fse(e){return bc([xc(e.byteLength),e])}function Cc(e){return Uint8Array.of(e===`control-to-runtime`?0:1)}function pse(e){return e===`handshake`?Uint8Array.of(0):e===`application`?Uint8Array.of(1):Uint8Array.of(2)}function wc(e){let t=``;for(let n=0;n<e.byteLength;n+=3){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0,o=r<<16|i<<8|a;t+=mc[o>>>18&63],t+=mc[o>>>12&63],n+1<e.byteLength&&(t+=mc[o>>>6&63]),n+2<e.byteLength&&(t+=mc[o&63])}return t}function Tc(e){if(!/^[A-Za-z0-9_-]*$/.test(e)||e.length%4==1)throw new vc(`channel_authentication_failed`,`Encrypted relay frame is not canonical base64url.`);let t=new Uint8Array(Math.floor(e.length*6/8)),n=0,r=0,i=0;for(let a of e){let e=mc.indexOf(a);n=n<<6|e,r+=6,r>=8&&(r-=8,t[i]=n>>>r&255,i+=1)}if(wc(t)!==e)throw new vc(`channel_authentication_failed`,`Encrypted relay frame has a non-canonical base64url encoding.`);return t}function mse(e){let t=new Uint8Array(e);t[31]=(t[31]??0)&127;let n=0n;for(let e=0;e<t.byteLength;e+=1)n|=BigInt(t[e]??0)<<BigInt(e*8);return lse.has(n%fc)}var hse={async sha256(e){if(globalThis.crypto?.subtle===void 0)throw new vc(`channel_authentication_failed`,`SHA-256 is unavailable in this runtime.`);return yc(await globalThis.crypto.subtle.digest(`SHA-256`,dse(e)))}},Ec={randomBytes(e){if(globalThis.crypto?.getRandomValues===void 0)throw new vc(`endpoint_key_invalid`,`A cryptographically secure random source is unavailable.`);return globalThis.crypto.getRandomValues(new Uint8Array(e))}};function Dc(e,t){let n=pc.encode(e).byteLength;if(n===0||n>256)throw new vc(`channel_ticket_binding_invalid`,`${t} must contain between 1 and 256 UTF-8 bytes.`)}function gse(e){let t=pc.encode(e).byteLength;if(t===0||t>65536)throw new vc(`channel_ticket_binding_invalid`,`Control ticket must contain between 1 and ${sse} UTF-8 bytes.`)}async function Oc(e,t=hse){gse(e.exactCompactTicket),Dc(e.channelId,`Channel ID`),Dc(e.runtimeId,`Runtime ID`),Sc(e.connectionEpoch);let n=await t.sha256(pc.encode(e.exactCompactTicket));if(n.byteLength!==32)throw new vc(`channel_ticket_binding_invalid`,`The control ticket digest must be 32 bytes.`);return{...e,ticketDigest:new Uint8Array(n)}}function _se(e){return wc(e.ticketDigest)}async function vse(e=Ec){let t=new Uint8Array(await e.randomBytes(dc));if(t.byteLength!==dc)throw new vc(`endpoint_key_invalid`,`The endpoint random source must return ${dc} bytes.`);try{return wc(t)}finally{t.fill(0)}}function kc(e){return bc([pc.encode(`forge-relay-v4`),Uint8Array.of(0),e.ticketDigest,Cc(e.direction)])}function Ac(e){return bc([pc.encode(`forge-relay`),xc(4),e.binding.ticketDigest,pc.encode(e.binding.channelId),Cc(e.binding.direction),pse(e.frameClass),Sc(e.sequence),pc.encode(e.binding.runtimeId),Sc(e.binding.connectionEpoch),xc(e.ciphertextLength)].map(fse))}async function yse(e=Ec){let t=new Uint8Array(await e.randomBytes(dc));if(t.byteLength!==dc)throw new vc(`endpoint_key_invalid`,`The endpoint random source must return ${dc} bytes.`);try{return await _c.kem.deriveKeyPair(t)}catch(e){throw new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint key generation failed.`)}finally{t.fill(0)}}async function jc(e){try{return wc(yc(await _c.kem.serializePublicKey(e)))}catch(e){throw new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key serialization failed.`)}}function bse(e,t){if(!/^[A-Za-z0-9_-]{43}$/u.test(t))throw new vc(`endpoint_key_invalid`,`The endpoint key ID requires a canonical X25519 public key.`);return`${e}:${t}`}async function xse(e){try{let t=Tc(e);if(t.byteLength!==dc)throw Error(`Invalid endpoint key length.`);if(mse(t))throw new vc(`endpoint_key_invalid`,`Low-order X25519 endpoint public keys are not allowed.`);return await _c.kem.deserializePublicKey(t)}catch(e){throw e instanceof vc?e:new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key deserialization failed.`)}}var Mc=class{tail=Promise.resolve();run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),t}},Nc=class{startedAt=Date.now();records=0;bytes=0;assertAvailable(e){if(this.records>=ose||this.bytes+e>1073741824||Date.now()-this.startedAt>=18e5)throw new vc(`channel_limit_reached`,`The encrypted relay channel must be renewed before another record is sent.`)}commit(e){this.records+=1,this.bytes+=e}};function Sse(e,t){if(e.type!==`relay.encrypted-frame`||e.protocolVersion!==4||e.channelId!==t.channelId||e.direction!==t.direction||![`handshake`,`application`,`close`].includes(e.frameClass))throw new vc(`channel_ticket_binding_invalid`,`Encrypted relay frame does not match the CMMD-ticket-bound channel.`)}var Cse=class{binding;context;encapsulatedKey;queue=new Mc;budget=new Nc;sequence=0;constructor(e,t){this.binding=e,this.context=t,this.encapsulatedKey=wc(yc(t.enc))}seal(e){return this.queue.run(async()=>{if(e.plaintext.byteLength>16777216)throw new vc(`channel_limit_reached`,`Encrypted relay plaintext exceeds the per-record byte limit.`);let t=e.plaintext.byteLength+cse;this.budget.assertAvailable(t);let n=this.sequence,r=Ac({binding:this.binding,frameClass:e.frameClass,sequence:n,ciphertextLength:t}),i;try{i=yc(await this.context.seal(e.plaintext,r))}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload encryption failed.`)}if(i.byteLength!==t)throw new vc(`channel_authentication_failed`,`Relay payload encryption returned an invalid ciphertext length.`);return this.sequence+=1,this.budget.commit(i.byteLength),{type:`relay.encrypted-frame`,protocolVersion:4,channelId:this.binding.channelId,direction:this.binding.direction,frameClass:e.frameClass,sequence:n,ciphertext:wc(i)}})}},wse=class{binding;context;queue=new Mc;budget=new Nc;sequence=0;constructor(e,t){this.binding=e,this.context=t}open(e){return this.queue.run(async()=>{if(Sse(e,this.binding),!Number.isSafeInteger(e.sequence)||e.sequence!==this.sequence)throw new vc(`channel_sequence_invalid`,`Expected encrypted relay sequence ${this.sequence}, received ${String(e.sequence)}.`);let t=Tc(e.ciphertext);this.budget.assertAvailable(t.byteLength);let n=Ac({binding:this.binding,frameClass:e.frameClass,sequence:e.sequence,ciphertextLength:t.byteLength}),r;try{r=yc(await this.context.open(t,n))}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload authentication failed.`)}if(r.byteLength>16777216)throw new vc(`channel_limit_reached`,`Decrypted relay plaintext exceeds the per-record byte limit.`);return this.sequence+=1,this.budget.commit(t.byteLength),r})}};async function Tse(e){let t=null;try{if(t=new Uint8Array(await(e.randomSource??Ec).randomBytes(dc)),t.byteLength!==dc)throw Error(`The endpoint random source must return ${dc} bytes.`);let n=await _c.createSenderContext({recipientPublicKey:e.recipientPublicKey,senderKey:e.senderKey,info:kc(e.binding),ekm:t});return new Cse(e.binding,n)}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload sender setup failed.`)}finally{t?.fill(0)}}async function Ese(e){try{let t=await _c.createRecipientContext({recipientKey:e.recipientKey,senderPublicKey:e.senderPublicKey,enc:Tc(e.encapsulatedKey),info:kc(e.binding)});return new wse(e.binding,t)}catch(e){throw e instanceof vc?e:new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload recipient setup failed.`)}}var Dse=128,Ose=2097152,kse=864e5,Pc=class extends Error{constructor(e){super(e),this.name=`RelayControlJournalError`}};function Fc(e){return typeof e==`string`&&e.length>0}function Ic(e){return Fc(e)&&Number.isFinite(Date.parse(e))}function Ase(e){return e===`pending`||e===`retrying`||e===`outcome-unknown`||e===`failed`}function jse(e){return Fc(e.transportRequestId)&&Fc(e.runtimeId)&&Fc(e.actorSessionId)&&Fc(e.durableRequestId)&&Fc(e.method)}function Mse(e){return Number.isSafeInteger(e.sequence)&&Number(e.sequence)>0&&Number.isSafeInteger(e.attemptCount)&&Number(e.attemptCount)>=0}function Nse(e){return e.persistence!==`frame`&&e.persistence!==`metadata-only`||e.frame!==null&&!Fc(e.frame)?!1:e.persistence!==`metadata-only`||e.frame===null}function Pse(e){return!Ase(e.status)||e.errorCode!==null&&!Fc(e.errorCode)?!1:e.status===`outcome-unknown`||e.status===`failed`?e.frame===null&&Fc(e.errorCode):e.errorCode===null}function Fse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return jse(t)&&Mse(t)&&Nse(t)&&Pse(t)&&Ic(t.createdAt)&&Ic(t.updatedAt)}function Ise(e){try{return JSON.parse(e)}catch{throw new Pc(`Forge relay control journal is corrupt.`)}}function Lse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return t.version===1&&Fc(t.controlSessionId)&&Number.isSafeInteger(t.nextSequence)&&Number(t.nextSequence)>=1&&Array.isArray(t.records)&&t.records.every(Fse)}function Rse(e){let t=new Set(e.map(Lc)),n=new Set(e.map(e=>e.durableRequestId)),r=new Set(e.map(e=>e.sequence));return t.size===e.length&&n.size===e.length&&r.size===e.length}function zse(e){let t=Ise(e);if(!Lse(t))throw new Pc(`Forge relay control journal is corrupt.`);let n=t.records,r=n.reduce((e,t)=>Math.max(e,t.sequence),0);if(!Rse(n)||t.nextSequence<=r)throw new Pc(`Forge relay control journal is corrupt.`);return{version:1,controlSessionId:t.controlSessionId,nextSequence:t.nextSequence,records:n}}function Bse(){return crypto.randomUUID()}function Lc(e){return`${e.runtimeId}\0${e.actorSessionId}\0${e.transportRequestId}`}var Rc={pending:1,retrying:2,"outcome-unknown":3,failed:4};function Vse(e,t){let n=e.filter(e=>e.runtimeId===t);if(n.length===0)return{state:`idle`,count:0};let r=n.reduce((e,t)=>Rc[t.status]>Rc[e]?t.status:e,`pending`);return{state:r,count:n.filter(e=>e.status===r).length}}function zc(e){let t=e.randomUUID??Bse,n=e.now??(()=>new Date),r=e.maxRecords??Dse,i=e.maxBytes??Ose,a=e.maxReplayAgeMs??kse;if(r<1||i<1||a<1)throw new Pc(`Forge relay control journal limits must be positive.`);let o=e.storage.read(),s=n(),c=o?zse(o):{version:1,controlSessionId:t(),nextSequence:1,records:[]},l=new Map,u=new Set;function d(){return{controlSessionId:c.controlSessionId,records:[...c.records]}}function f(t){if(t.records.length>r)throw new Pc(`Forge relay control journal reached its record limit.`);let n=JSON.stringify(t);if(new TextEncoder().encode(n).byteLength>i)throw new Pc(`Forge relay control journal reached its storage limit.`);e.storage.write(n),c=t;let a=d();for(let e of u)e(a)}function p(e,t){return e.status!==`pending`&&e.status!==`retrying`?e:e.persistence===`metadata-only`||e.frame===null?{...e,frame:null,status:`outcome-unknown`,errorCode:`RELAY_COMMAND_OUTCOME_UNKNOWN`,updatedAt:t.toISOString()}:t.getTime()-Date.parse(e.createdAt)>a?{...e,frame:null,status:`outcome-unknown`,errorCode:`RELAY_RECOVERY_EXPIRED`,updatedAt:t.toISOString()}:e}let m=c.records.map(e=>p(e,s)),h=m.some((e,t)=>e!==c.records[t]);(o===null||h)&&f({...c,records:m});function g(e){let t=Lc(e);return{key:t,existing:c.records.find(e=>Lc(e)===t)??null}}function _(e,t,n){if([e.method===t.method,e.persistence===t.persistence,n===void 0||n===t.frame,e.frame===null||e.frame===t.frame,t.durableRequestId===void 0||e.durableRequestId===t.durableRequestId].includes(!1))throw new Pc(`Relay transport request ${t.transportRequestId} was reused with different content.`);if(e.status===`failed`||e.status===`outcome-unknown`)throw new Pc(`Relay transport request ${t.transportRequestId} requires an explicit outcome acknowledgement.`)}function v(e){if(e.durableRequestId!==void 0&&c.records.some(t=>t.durableRequestId===e.durableRequestId))throw new Pc(`Relay durable request ${e.durableRequestId} was reused by another transport request.`)}function y(e){let r=n().toISOString();return{runtimeId:e.runtimeId,actorSessionId:e.actorSessionId,transportRequestId:e.transportRequestId,durableRequestId:e.durableRequestId??t(),sequence:c.nextSequence,method:e.method,persistence:e.persistence,frame:e.persistence===`frame`?e.frame:null,status:`pending`,attemptCount:0,errorCode:null,createdAt:r,updatedAt:r}}function b(e){let{key:t,existing:n}=g(e);if(n!==null)return _(n,e,l.get(t)),l.set(t,e.frame),n;v(e);let r=y(e);return l.set(t,e.frame),f({...c,nextSequence:c.nextSequence+1,records:[...c.records,r]}),r}function x(e,t,n){let r=c.records.find(r=>r.runtimeId===e&&r.actorSessionId===t&&r.transportRequestId===n);if(!r)throw new Pc(`Relay transport request ${n} is not journaled.`);return r}function S(e,t,r,i){x(e,t,r);let a=n().toISOString();l.delete(Lc({runtimeId:e,actorSessionId:t,transportRequestId:r})),f({...c,records:c.records.map(n=>n.runtimeId===e&&n.actorSessionId===t&&n.transportRequestId===r?{...n,frame:null,status:`failed`,errorCode:i,updatedAt:a}:n)})}function C(e,t,r){let i=x(e,t,r);if(i.status===`failed`||i.status===`outcome-unknown`)throw new Pc(`Relay transport request ${r} has no replayable outcome.`);let a={...i,status:i.attemptCount>0?`retrying`:`pending`,attemptCount:i.attemptCount+1,errorCode:null,updatedAt:n().toISOString()};return f({...c,records:c.records.map(n=>n.runtimeId===e&&n.actorSessionId===t&&n.transportRequestId===r?a:n)}),a}function w(e,t,n){let r=c.records.filter(r=>r.runtimeId!==e||r.actorSessionId!==t||r.transportRequestId!==n);r.length!==c.records.length&&(l.delete(Lc({runtimeId:e,actorSessionId:t,transportRequestId:n})),f({...c,records:r}))}function T(e,t,n){let r=x(e,t,n);if(r.status!==`failed`&&r.status!==`outcome-unknown`)throw new Pc(`Relay transport request ${n} does not have an acknowledgeable outcome.`);w(e,t,n)}function E(){let e=n(),t=c.records.map(t=>p(t,e));t.some((e,t)=>e!==c.records[t])&&f({...c,records:t})}function D(e,t){let r=n().toISOString(),i=c.records.map(n=>n.runtimeId!==e||n.actorSessionId===t||n.status!==`pending`&&n.status!==`retrying`?n:(l.delete(Lc(n)),{...n,frame:null,status:`outcome-unknown`,errorCode:`RELAY_ACTOR_SESSION_CHANGED`,updatedAt:r}));i.some((e,t)=>e!==c.records[t])&&f({...c,records:i})}return{controlSessionId:c.controlSessionId,prepare:b,records:()=>[...c.records],pending:()=>[...c.records],replayable:(e,t)=>(E(),c.records.filter(n=>n.runtimeId===e&&n.actorSessionId===t&&n.persistence===`frame`&&n.frame!==null&&(n.status===`pending`||n.status===`retrying`))),fenceActor:D,beginAttempt:C,markFailed:S,complete:w,acknowledge:T,subscribe:e=>(u.add(e),e(d()),()=>u.delete(e))}}function Hse(e=null){let t=e;return{read:()=>t,write:e=>{t=e}}}var Use=rn(dne),Wse=vn(mne),Gse=vn(ine),Kse=[`rpc.read`,`rpc.mutate`,`cursor.resume`,`terminal.stream`,`browser.stream`,`bulk.transfer`,`envelope.validation`,`payload.e2e`];function Bc(e,t){if(!Array.isArray(e))return null;for(let n of e)if(Array.isArray(n)&&n.length===2&&n[0]===t&&typeof n[1]==`string`)return n[1];return null}function Vc(e,t){let n=JSON.parse(e),r=fae(n);if(r!==null)return{messageType:`request`,...r};let i=qse(n,t);if(i!==null)return i;let a=Jse(n);if(a!==null)return a;throw Error(`Forge relay protocol v2 requires a recognized Effect RPC frame.`)}function qse(e,t){if(e._tag!==`Request`||typeof e.id!=`string`||e.id.length===0||typeof e.tag!=`string`||e.tag.length===0)return null;let n=Jo({method:e.tag,payload:e.payload,grantedScopes:t});return{messageType:`request`,requestId:e.id,correlationId:Bc(e.headers,$n.requestId)??e.id,method:e.tag,...n}}function Jse(e){return e._tag!==`Ack`&&e._tag!==`Interrupt`||typeof e.requestId!=`string`||e.requestId.length===0?null:{messageType:`acknowledgement`,requestId:e.requestId,correlationId:e.requestId,method:`@effect/rpc/${e._tag}`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`}}function Hc(e,t){let n=new Event(`error`);return Object.defineProperties(n,{error:{value:Error(t),enumerable:!0},message:{value:`${e}: ${t}`,enumerable:!0}}),n}var Yse=new Set([`network`,`server`,`auth`,`permission`,`client`]),Xse=new Set([`network`,`server`]);function Zse(e){return e&&typeof e==`object`?e:{}}function Qse(e){return typeof e.code==`string`&&e.code.length>0?e.code:typeof e.kind==`string`&&Yse.has(e.kind)?`RELAY_ACTION_GRANT_UNAVAILABLE`:`MALFORMED_FRAME`}function $se(e){if(e.retryable===!0||typeof e.kind==`string`&&Xse.has(e.kind))return!0;let t=typeof e.status==`number`?e.status:null;return t===429||t!==null&&t>=500}function Uc(e){let t=Zse(e);return{code:Qse(t),message:e instanceof Error?e.message:`Forge relay frame encoding failed.`,retryable:$se(t)}}function Wc(e,t){let n=new Event(e.type),r=e;for(let e of t)r[e]!==void 0&&Object.defineProperty(n,e,{value:r[e],enumerable:!0});return n}function ece(e){return!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`?!1:Object.values($n).includes(e[0])}function Gc(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function tce(e){if(!Array.isArray(e))return null;for(let t of e){let e=Gc(t);if(e?._tag!==`Fail`)continue;let n=Gc(e.error)?.code;if(typeof n==`string`&&n.length>0)return n}return null}function nce(e){let t=Gc(e.exit);return t===null?`RELAY_RPC_RESPONSE_INVALID`:t._tag===`Success`?null:t._tag!==`Failure`||!Array.isArray(t.cause)?`RELAY_RPC_RESPONSE_INVALID`:tce(t.cause)??`RELAY_RPC_FAILED`}function Kc(e){if(typeof e!=`string`)return null;try{let t=Use(JSON.parse(e));return t._tag===`Some`?t.value:null}catch{return null}}function rce(e,t){if(e.role===`control`&&e.protocolVersion===t&&e.protocolVersion>=1){if(e.protocolVersion===1)return null;if(e.actor!==void 0&&e.scopes!==void 0)return{runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch,protocolVersion:e.protocolVersion,actor:e.actor,scopes:e.scopes}}}function qc(e,t,n){if(typeof e==`string`)try{let r=Gc(JSON.parse(e));if(r?._tag!==`Exit`||typeof r.requestId!=`string`)return;let i=nce(r);if(i===null){n.complete(t.runtimeId,t.actor.sessionId,r.requestId);return}n.markFailed(t.runtimeId,t.actor.sessionId,r.requestId,i)}catch{}}function ice(e){let t=Bc(e,$n.sequence);if(t===null)return;let n=Number(t);return Number.isSafeInteger(n)&&n>=0?n:void 0}function ace(e){return{issuedAt:Bc(e,$n.issuedAt)??new Date().toISOString(),expiresAt:Bc(e,$n.expiresAt)??new Date(Date.now()+12e4).toISOString()}}function oce(e){if(e!==2&&e!==3&&e!==4)throw new Go(`protocol_version_mismatch`,`Unsupported Forge relay envelope version: ${e}`,!1);return e}async function sce(e){let t=bae({method:e.identity.method,payload:e.payload});if(t===null)return;let n=cce(e.context);if(e.acquire===void 0)throw new Go(`action_grant_required`,`CMMD action-grant issuance is unavailable for this remote response.`,!1);return e.acquire({...n,method:`orchestration.dispatchCommand`,...t,durableRequestId:e.identity.correlationId,payloadHash:e.payloadHash,requiredScope:`approval.respond`})}function cce(e){if(e.protocolVersion===3)return{protocolVersion:3};if(e.protocolVersion!==4)throw new Go(`protocol_update_required`,`Update Forge on the target runtime before responding remotely.`,!1);return{protocolVersion:4,channelId:Jc(e.channelId),channelTicketDigest:Jc(e.channelTicketDigest),runtimeEndpointKeyId:Jc(e.runtimeEndpointKeyId),controlEndpointKeyId:Jc(e.controlEndpointKeyId)}}function Jc(e){if(typeof e==`string`&&e.length>0)return e;throw new Go(`channel_ticket_binding_invalid`,`The encrypted Forge relay channel is missing its CMMD ticket binding.`,!1)}function lce(e){return e===void 0?{}:{sequence:e}}function Yc(e){return e===void 0?{}:{actionGrant:e}}async function uce(e){let t=Vc(e.data,e.context.scopes),n=JSON.parse(e.data),r=ace(n.headers),i=ice(n.headers),a=await e.crypto.sha256Base64Url(e.data),o=await sce({context:e.context,identity:t,payload:n.payload,payloadHash:a,...e.acquireActionGrant===void 0?{}:{acquire:e.acquireActionGrant}}),s=oce(e.context.protocolVersion),c={messageType:t.messageType,requestId:t.requestId,correlationId:t.correlationId,method:t.method,requiredScope:t.requiredScope,deliveryClass:t.deliveryClass,runtimeId:e.context.runtimeId,connectionEpoch:e.context.connectionEpoch,actor:e.context.actor,...r,payloadHash:a,...lce(i)};return s===2?{protocolVersion:2,...c}:s===3?{protocolVersion:3,...c,...Yc(o)}:{protocolVersion:4,...c,...Yc(o)}}function Xc(e){return typeof e==`string`&&e.length>0}function dce(e){return[e.protocolVersion===4,Xc(e.runtimeId),Number.isSafeInteger(e.connectionEpoch),Number(e.connectionEpoch)>0,e.hpkeSuite===uc,Xc(e.channelId),Xc(e.runtimeEndpointKeyId),Xc(e.runtimeEndpointPublicKey),Xc(e.controlEndpointKeyId),Xc(e.controlEndpointPublicKey),Xc(e.controlChannelNonce),e.controlEndpointKeyPair!==void 0].every(Boolean)}function Zc(e){if(!dce(e))throw new Go(`end_to_end_encryption_required`,`Forge relay protocol v4 requires complete endpoint encryption metadata.`,!1);return e}async function fce(e){if(await jc(e.controlEndpointKeyPair.publicKey)!==e.controlEndpointPublicKey)throw new Go(`endpoint_key_invalid`,`The control endpoint private key does not match the CMMD route.`,!1);let t=await xse(e.runtimeEndpointPublicKey),[n,r]=await Promise.all([Oc({exactCompactTicket:e.token,channelId:e.channelId,direction:`control-to-runtime`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider),Oc({exactCompactTicket:e.token,channelId:e.channelId,direction:`runtime-to-control`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider)]);return{controlToRuntimeBinding:n,runtimeToControlBinding:r,sender:await Tse({binding:n,senderKey:e.controlEndpointKeyPair,recipientPublicKey:t,...e.payloadRandomSource?{randomSource:e.payloadRandomSource}:{}}),runtimePublicKey:t,recipient:null,phase:`awaiting-runtime-hello`}}function Qc(e,t,n){return[e.direction===`runtime-to-control`,e.frameClass===n,e.channelId===t.channelId].every(Boolean)}function pce(e){return[e.confirmation.phase===e.expectedPhase,e.confirmation.channelId===e.route.channelId,e.confirmation.runtimeId===e.context.runtimeId,e.confirmation.connectionEpoch===e.context.connectionEpoch].every(Boolean)}function mce(e){let{envelope:t}=e.application;return[t.runtimeId===e.context.runtimeId,t.connectionEpoch===e.context.connectionEpoch,t.actor.userId===e.context.actor.userId,t.actor.deviceId===e.context.actor.deviceId,t.actor.sessionId===e.context.actor.sessionId,t.payloadHash===e.payloadHash].every(Boolean)}async function hce(e){if(e.channel.recipient!==null){if(e.message.encapsulatedKey!==void 0)throw new Go(`endpoint_key_invalid`,`The runtime attempted to replace its endpoint encapsulation.`,!1);return e.channel.recipient}if(e.message.sequence!==0||!e.message.encapsulatedKey)throw new Go(`channel_confirmation_failed`,`The runtime handshake omitted its endpoint encapsulation.`,!1);let t=await Ese({binding:e.channel.runtimeToControlBinding,recipientKey:e.route.controlEndpointKeyPair,senderPublicKey:e.channel.runtimePublicKey,encapsulatedKey:e.message.encapsulatedKey});return e.channel.recipient=t,t}var gce=class extends EventTarget{socket;route;relayCrypto;journal;lifecycle;acquireActionGrant;CONNECTING=WebSocket.CONNECTING;OPEN=WebSocket.OPEN;CLOSING=WebSocket.CLOSING;CLOSED=WebSocket.CLOSED;binaryType=`blob`;onopen=null;onclose=null;onerror=null;onmessage=null;authenticated=!1;context=null;payloadChannel=null;sendChain=Promise.resolve();constructor(e,t,n,r,i={},a){super(),this.socket=e,this.route=t,this.relayCrypto=n,this.journal=r,this.lifecycle=i,this.acquireActionGrant=a,e.addEventListener(`open`,()=>void this.beginAuthentication()),e.addEventListener(`message`,e=>void this.handleMessageSafely(e)),e.addEventListener(`error`,e=>{let t=Wc(e,[`error`,`message`]),n=typeof t.message==`string`?String(t.message):`Forge relay connection failed.`;this.lifecycle.onError?.({code:`RELAY_SOCKET_ERROR`,message:n}),this.emit(`error`,t)}),e.addEventListener(`close`,e=>{this.authenticated=!1,this.context=null,this.payloadChannel=null,this.lifecycle.onDisconnected?.({code:e.code,reason:e.reason}),this.emit(`close`,Wc(e,[`code`,`reason`,`wasClean`]))})}get bufferedAmount(){return this.socket.bufferedAmount}get extensions(){return this.socket.extensions}get protocol(){return this.socket.protocol}get readyState(){return this.authenticated?this.socket.readyState:WebSocket.CONNECTING}get url(){return this.route.relayWebSocketUrl}send(e){if(!this.authenticated||typeof e!=`string`)throw new DOMException(`Forge relay RPC socket is not open for text frames.`,`InvalidStateError`);if(this.route.protocolVersion===1){this.socket.send(JSON.stringify({type:`relay.frame`,payload:e}));return}let t=this.context;if(t===null)throw new DOMException(`Forge relay v2 context is unavailable.`,`InvalidStateError`);let n=Vc(e,t.scopes),r=n.messageType===`request`&&n.journalPersistence!==`none`?this.journal.prepare({runtimeId:t.runtimeId,actorSessionId:t.actor.sessionId,transportRequestId:n.requestId,...n.correlationId===n.requestId?{}:{durableRequestId:n.correlationId},method:n.method,frame:e,persistence:n.journalPersistence}):null;this.enqueueFrame(e,r)}enqueueFrame(e,t){this.sendChain=this.sendChain.then(()=>this.transmitFrame(e,t)).catch(e=>{let n=Uc(e);t!==null&&!n.retryable&&this.journal.markFailed(t.runtimeId,t.actorSessionId,t.transportRequestId,n.code),this.lifecycle.onError?.({code:n.code,message:n.message}),this.emit(`error`,Hc(n.code,n.message)),this.socket.readyState<WebSocket.CLOSING&&this.socket.close(4400,`${n.code}: ${n.message}`)})}async transmitFrame(e,t){let n=this.requireReadyContext(),r=await this.outboundFrame(e,t),i=await uce({data:r,context:n,crypto:this.relayCrypto,...this.acquireActionGrant?{acquireActionGrant:this.acquireActionGrant}:{}});if(n.protocolVersion===4){let e=await this.requirePayloadChannel().sender.seal({frameClass:`application`,plaintext:new TextEncoder().encode(JSON.stringify({payload:r,envelope:i}))});this.socket.send(JSON.stringify(e));return}this.socket.send(JSON.stringify({type:`relay.frame`,payload:r,envelope:i}))}requireReadyContext(){if(!this.authenticated||this.socket.readyState!==WebSocket.OPEN)throw new DOMException(`Forge relay RPC socket closed before send.`,`InvalidStateError`);if(this.context===null)throw new DOMException(`Forge relay v2 context is unavailable.`,`InvalidStateError`);return this.context}requirePayloadChannel(){let e=this.payloadChannel;if(e===null||e.phase!==`ready`)throw new Go(`channel_confirmation_failed`,`The Forge relay endpoint channel is not confirmed.`,!1);return e}async outboundFrame(e,t){return t===null?e:this.withDurableHeaders(t,e)}async withDurableHeaders(e,t){let n=this.journal.beginAttempt(e.runtimeId,e.actorSessionId,e.transportRequestId),r=JSON.parse(t),i=await tl({payload:r.payload,sequence:n.sequence,requestId:n.durableRequestId,issuedAt:new Date(n.updatedAt),crypto:this.relayCrypto}),a=Array.isArray(r.headers)?r.headers.filter(e=>!ece(e)):[];return JSON.stringify({...r,headers:[...a,...Object.entries(i)]})}close(e,t){this.socket.close(e,t)}asWebSocket(){return this}emit(e,t){this.dispatchEvent(t);let n=this[`on${e}`];n&&n.call(this.asWebSocket(),t)}async handleMessage(e){if(this.authenticated){if(this.context?.protocolVersion===4){await this.handleEncryptedApplicationMessage(e.data);return}this.context!==null&&qc(e.data,this.context,this.journal),this.emit(`message`,new MessageEvent(`message`,{data:e.data}));return}await this.handleAuthenticationMessage(e.data)}async handleMessageSafely(e){try{await this.handleMessage(e)}catch(e){let t=Uc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.readyState<WebSocket.CLOSING&&this.socket.close(4400,`${t.code}: ${t.message}`)}}async beginAuthentication(){try{this.route.protocolVersion===4&&(this.payloadChannel=await fce(Zc(this.route))),this.socket.send(JSON.stringify({type:`relay.auth`,ticket:this.route.token,protocolMinVersion:this.route.protocolVersion,protocolMaxVersion:this.route.protocolVersion,capabilities:Kse,...this.payloadChannel?{controlToRuntimeEncapsulatedKey:this.payloadChannel.sender.encapsulatedKey}:{}}))}catch(e){let t=Uc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.close(4400,t.message)}}async handleAuthenticationMessage(e){let t=Kc(e);if(t!==null){if(t.type===`relay.encrypted-frame`&&this.context?.protocolVersion===4){await this.handleEncryptedHandshakeMessage(t);return}if(t.type===`relay.error`){this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.close(4403,t.message);return}t.type===`relay.authenticated`&&await this.handleAuthenticatedMessage(t)}}async handleAuthenticatedMessage(e){let t=rce(e,this.route.protocolVersion);if(t===void 0){this.socket.close(4400,`Forge relay authenticated the wrong role.`);return}if(t!==null&&t.protocolVersion===4){let n=Zc(this.route),r=this.payloadChannel;if(r===null||![e.runtimeId===n.runtimeId,e.connectionEpoch===n.connectionEpoch].every(Boolean)){this.socket.close(4400,`Forge relay authenticated stale endpoint metadata.`);return}t={...t,channelId:n.channelId,channelTicketDigest:_se(r.controlToRuntimeBinding),runtimeEndpointKeyId:n.runtimeEndpointKeyId,controlEndpointKeyId:n.controlEndpointKeyId},this.context=t;return}await this.activateAuthenticatedRelay(t)}async handleEncryptedHandshakeMessage(e){if(e.type!==`relay.encrypted-frame`)return;let t=this.payloadChannel,n=this.context,r=Zc(this.route);if(t===null||n===null||!Qc(e,r,`handshake`))throw new Go(`channel_confirmation_failed`,`The runtime sent an invalid encrypted handshake frame.`,!1);let i=await(await hce({channel:t,route:r,message:e})).open(e),a=Wse(JSON.parse(new TextDecoder().decode(i))),o=t.phase===`awaiting-runtime-hello`?`runtime-hello`:`runtime-confirm`;if(!pce({confirmation:a,expectedPhase:o,route:r,context:n}))throw new Go(`channel_confirmation_failed`,`The runtime endpoint confirmation does not match the CMMD route.`,!1);if(o===`runtime-hello`){let e=await t.sender.seal({frameClass:`handshake`,plaintext:new TextEncoder().encode(JSON.stringify({type:`relay.endpoint-confirmation`,protocolVersion:4,phase:`control-confirm`,channelId:r.channelId,runtimeId:n.runtimeId,connectionEpoch:n.connectionEpoch}))});t.phase=`awaiting-runtime-confirm`,this.socket.send(JSON.stringify(e));return}t.phase=`ready`,await this.activateAuthenticatedRelay(n)}async handleEncryptedApplicationMessage(e){let t=Kc(e);if(t?.type!==`relay.encrypted-frame`)throw new Go(`end_to_end_encryption_required`,`The runtime sent plaintext after the encrypted channel was confirmed.`,!1);let n=this.requirePayloadChannel();if(!Qc(t,Zc(this.route),`application`)||t.encapsulatedKey!==void 0||n.recipient===null)throw new Go(`channel_authentication_failed`,`The runtime sent an invalid encrypted application frame.`,!1);let r=await n.recipient.open(t),i=Gse(JSON.parse(new TextDecoder().decode(r))),a=this.requireReadyContext();if(!mce({application:i,context:a,payloadHash:await this.relayCrypto.sha256Base64Url(i.payload)}))throw new Go(`channel_authentication_failed`,`The decrypted runtime envelope does not match the active route.`,!1);qc(i.payload,a,this.journal),this.emit(`message`,new MessageEvent(`message`,{data:i.payload}))}async activateAuthenticatedRelay(e){this.context=e,this.authenticated=!0,this.lifecycle.onAuthenticated?.();let t=e===null?[]:this.replayForActor(e);for(let e of t)e.frame!==null&&this.enqueueFrame(e.frame,e);t.length>0&&await this.sendChain,this.emit(`open`,new Event(`open`))}replayForActor(e){return this.journal.fenceActor(e.runtimeId,e.actor.sessionId),this.journal.replayable(e.runtimeId,e.actor.sessionId)}};function _ce(e,t,n=$c,r=zc({storage:Hse(),randomUUID:n.randomUUID}),i={},a){return new gce(e,t,n,r,i,a).asWebSocket()}var vce=ko(pne);async function yce(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return btoa(String.fromCharCode(...new Uint8Array(n))).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(`=`,``)}var $c={randomUUID:()=>crypto.randomUUID(),sha256Base64Url:yce},el=`forge-relay-binding=`,bce=3e4;function xce(e){let t=new URL(String(e)).hash.slice(1);if(!t.startsWith(el))throw Error(`Forge relay socket URL is missing its route binding.`);let n=decodeURIComponent(t.slice(20));if(n.length===0)throw Error(`Forge relay socket URL has an invalid route binding.`);return n}function Sce(e){let t=e.crypto??$c,n=e.bindingTtlMs??bce,r=e.createSocket??((e,t)=>new globalThis.WebSocket(e,t)),i=new Map;return{acquireSocketUrl:async()=>{let r=await e.acquireRoute(),a=t.randomUUID();if(i.has(a))throw Error(`Forge relay route binding identifier was reused.`);let o=new URL(r.relayWebSocketUrl);o.hash=`${el}${encodeURIComponent(a)}`;let s=setTimeout(()=>i.delete(a),n);return i.set(a,{route:r,expires:s}),o.toString()},constructSocket:(n,a)=>{let o=xce(n),s=i.get(o);if(s===void 0)throw Error(`Forge relay route binding is missing, expired, or already consumed.`);return i.delete(o),clearTimeout(s.expires),e.lifecycle?.onConnecting?.(),_ce(r(s.route.relayWebSocketUrl,a),s.route,t,e.journal,e.lifecycle,e.acquireActionGrant)}}}async function tl(e){let t=e.issuedAt??new Date,n=e.crypto??$c;return{[$n.requestId]:e.requestId??n.randomUUID(),[$n.sequence]:String(e.sequence),[$n.issuedAt]:t.toISOString(),[$n.expiresAt]:new Date(t.getTime()+12e4).toISOString(),[$n.payloadHash]:await n.sha256Base64Url(uae(e.payload))}}function Cce(e,t){return Xte(tne,({rpc:t,request:n,next:r})=>ot(function*(){return Jo({method:t._tag,payload:n.payload,grantedScopes:e}),yield*r(n)}))}function wce(e,t=$c){return vce.pipe(Se(Cce(e,t)))}function Tce(e){let t=e.crypto??$c,n=Sce({acquireRoute:e.acquireRoute,...e.acquireActionGrant?{acquireActionGrant:e.acquireActionGrant}:{},crypto:t,journal:e.journal,...e.lifecycle?{lifecycle:e.lifecycle}:{}}),r=gt(n.acquireSocketUrl).pipe(c),i=he(oa,n.constructSocket),a=sa(r).pipe(E(i)),o=e.delayForRetry??lae,s=Lt(_(e.maxRetries??10),e=>rt(Ue(o(e)??0)));return ht(Mo,No({retryPolicy:s,retryTransientErrors:!0})).pipe(E(De(a,Oo)))}var nl=class extends Error{name=`RelayControlRouteSecurityFailure`};async function Ece(e){let t=await yse(e),n=await jc(t.publicKey);return{keyPair:t,publicKey:n,keyId:bse(`control`,n),channelNonce:await vse(e)}}function Dce(e){return{hpkeSuite:uc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function Oce(e){let t=e.route;if(t.protocolVersion!==4||t.hpkeSuite!==`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`||!t.channelId||!t.runtimeEndpointKeyId||!t.runtimeEndpointPublicKey||t.controlEndpointKeyId!==e.endpoint.keyId||t.controlEndpointPublicKey!==e.endpoint.publicKey||t.controlChannelNonce!==e.endpoint.channelNonce)throw new nl(`Forge could not establish a verified end-to-end encrypted runtime route.`);return{...t,runtimeId:e.runtimeId,protocolVersion:4,channelId:t.channelId,hpkeSuite:uc,runtimeEndpointKeyId:t.runtimeEndpointKeyId,runtimeEndpointPublicKey:t.runtimeEndpointPublicKey,controlEndpointKeyId:e.endpoint.keyId,controlEndpointPublicKey:e.endpoint.publicKey,controlChannelNonce:e.endpoint.channelNonce,controlEndpointKeyPair:e.endpoint.keyPair,...e.digestProvider?{payloadDigestProvider:e.digestProvider}:{},...e.randomSource?{payloadRandomSource:e.randomSource}:{}}}var rl=`~effect/ManagedRuntime`,il=(e,t)=>{let n=t?.memoMap??eee(),r=gee(`parallel`),i=k(r,`sequential`),a={onFiberStart:pe(r)},s=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,c,l=Pt(t=>(c||=f(Aee(o(e,n,i),e=>pt(()=>{u.cachedContext=e})),{...a,scheduler:t.currentScheduler}),Bee(ve(c)))),u={[rl]:rl,memoMap:n,scope:r,contextEffect:l,cachedContext:void 0,context(){return u.cachedContext===void 0?A(u.contextEffect):Promise.resolve(u.cachedContext)},dispose(){return A(u.disposeEffect)},disposeEffect:At(()=>(u.contextEffect=yee(`ManagedRuntime disposed`),u.cachedContext=void 0,He(u.scope,Tt))),runFork(e,t){return u.cachedContext===void 0?f(al(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(al(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(al(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(al(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(al(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(al(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function al(e,t){return wt(e.contextEffect,e=>Te(t,e))}function ol(e,t=Cne){return`${e}\0${t}`}function kce(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=ol(e.threadId,e.terminalId);t.get(r)?.sessionEpoch!==e.sessionEpoch&&t.set(r,{sessionEpoch:e.sessionEpoch,nextControlSequence:1,tail:Promise.resolve(),pendingWriteBytes:0})},enqueue(r){if(n)return Promise.reject(Error(`Terminal control sequencer is disposed.`));let i=r.terminalId??`default`,a=t.get(ol(r.threadId,i));if(!a)return Promise.reject(Error(`Terminal must be opened before sending controls.`));let o=r.writeBytes??0;if(a.pendingWriteBytes+o>e.maxPendingWriteBytes)return Promise.reject(Error(`Terminal input queue is full while reconnecting.`));a.pendingWriteBytes+=o;let s=a.tail.then(async()=>{let t=a.nextControlSequence;await r.execute({sessionEpoch:a.sessionEpoch,controllerId:e.controllerId,controlSequence:t}),a.nextControlSequence=t+1});return a.tail=s.finally(()=>{a.pendingWriteBytes-=o}).catch(()=>void 0),s},remove(e,n){if(n){t.delete(ol(e,n));return}let r=`${e}\0`;for(let e of t.keys())e.startsWith(r)&&t.delete(e)},terminalIds(e){let n=`${e}\0`;return[...t.keys()].filter(e=>e.startsWith(n)).map(e=>e.slice(n.length))},dispose(){n=!0,t.clear()}}}var sl={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function cl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function Ace(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?cl(t.keyframe):null}function jce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?sl:t.streamGeneration>e.streamGeneration?cl(t.keyframe):null}function Mce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return cl(t.keyframe);if(t.sequence<=e.observedSequence)return sl;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function Nce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return sl;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?sl:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function Pce(e,t){return Ace(e,t)??jce(e,t)??Mce(e,t)??Nce(e,t)}function Fce(e,t){let n=Pce(e,t);if(!n.observe)return{accept:n.accept,observe:n.observe,missingFrameCount:n.missingFrameCount,state:e};let r=n.startsNewStream?t.sequence:Math.max(e.observedSequence,t.sequence),i={...e,observedSequence:r,gapCount:e.gapCount+n.missingFrameCount},a=n.accept?{...i,acceptedSequence:t.sequence,acceptedCapturedAt:t.capturedAt,...t.streamId?{streamId:t.streamId}:{},...t.streamGeneration===void 0?{}:{streamGeneration:t.streamGeneration}}:i;return{accept:n.accept,observe:n.observe,missingFrameCount:n.missingFrameCount,state:a}}vn(ane);var ll=O(),ul=`Forge`,Ice=`Alpha`,dl=ul,fl=`0.13.4`,pl=Jt(`forge-app-top-bar drag-region @container/header-actions relative z-20 w-full min-w-0 shrink-0 bg-background`,`grid grid-cols-[minmax(0,1fr)_minmax(0,auto)] items-center`),ml=`flex h-full min-w-0 items-center gap-1 md:gap-1.5`,hl=`flex h-touch min-w-0 max-w-full touch-manipulation items-center justify-center rounded-lg px-3 text-foreground transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring md:h-7 md:px-2`,Lce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},Rce=`forge-app-shell flex w-full min-w-0 flex-row`,gl=`forge-app-shell flex w-full min-w-0 flex-col`,zce=`flex min-h-0 min-w-0 flex-1 flex-col`,Bce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function _l(e){let t=(0,ll.c)(19),{showStageBadge:n,tone:r,variant:i}=e,a=n!==void 0&&n,o=r===void 0?`default`:r,s=(i===void 0?`default`:i)===`auth`,c=s?20:16,l=s?`h-5 w-5 shrink-0`:`h-4 w-4 shrink-0`,u;t[0]!==c||t[1]!==l?(u=(0,Nr.jsx)(`img`,{className:l,src:`/forge-mark.svg`,width:c,height:c,alt:``,"aria-hidden":`true`}),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=s?`text-[15px] sm:text-base`:`text-sm`,p=o===`on-dark`?`text-primary-foreground`:`text-foreground`,m;t[3]!==f||t[4]!==p?(m=Jt(`truncate font-semibold tracking-tight`,f,p),t[3]=f,t[4]=p,t[5]=m):m=t[5];let h;t[6]===m?h=t[7]:(h=(0,Nr.jsx)(`span`,{className:m,children:ul}),t[6]=m,t[7]=h);let g=h,_=s?`rounded-full bg-muted/50 px-2 py-0.5 text-[9px] leading-none font-medium tracking-[0.14em] text-muted-foreground/70 uppercase [text-indent:0.14em]`:`rounded-full bg-muted/50 px-1.5 py-0.5 text-[8px] leading-none font-medium tracking-[0.18em] text-muted-foreground/60 uppercase [text-indent:0.18em]`,v;t[8]===_?v=t[9]:(v=(0,Nr.jsx)(`span`,{className:_,children:Ice}),t[8]=_,t[9]=v);let y=v;if(a){let e;t[10]!==d||t[11]!==g?(e=(0,Nr.jsxs)(`span`,{className:`flex items-center gap-2`,children:[d,g]}),t[10]=d,t[11]=g,t[12]=e):e=t[12];let n;return t[13]!==y||t[14]!==e?(n=(0,Nr.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md`,"aria-label":dl,children:[e,y]}),t[13]=y,t[14]=e,t[15]=n):n=t[15],n}let b;return t[16]!==d||t[17]!==g?(b=(0,Nr.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,"aria-label":dl,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function vl(e){let t=(0,ll.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Jt(`pointer-events-none flex select-none items-center`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(_l,{}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,Nr.jsx)(`div`,{className:r,children:i}),t[3]=r,t[4]=a),a}function Vce(){let e=new Map;return{clear:()=>e.clear(),getItem:t=>e.get(t)??null,key:t=>Array.from(e.keys()).at(t)??null,get length(){return e.size},removeItem:t=>e.delete(t),setItem:(t,n)=>e.set(t,n)}}var yl=typeof window<`u`?window.localStorage:Vce(),Hce=(e,t)=>rr(Bn(e))(t),Uce=(e,t)=>Dte(Bn(e))(t),bl=(e,t)=>{let n=yl.getItem(e);return n?Hce(t,n):null},xl=(e,t,n)=>{let r=Uce(n,t);yl.setItem(e,r)},Sl=e=>{yl.removeItem(e)},Cl=`forge:local_storage_change`;function Wce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Cl,{detail:{key:e}}))}function wl(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return bl(e,n)??t}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),t}}),a=(0,F.useCallback)(t=>{i(r=>{try{let i=typeof t==`function`?t(r):t;return i===null?Sl(e):xl(e,i,n),queueMicrotask(()=>Wce(e)),i}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),r}})},[e,n]),o=(0,F.useRef)(e);return(0,F.useEffect)(()=>{if(o.current!==e){o.current=e;try{let r=bl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=bl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},a=t=>{t.key===e&&r()},o=t=>{t.detail.key===e&&r()};return window.addEventListener(`storage`,a),window.addEventListener(Cl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Cl,o)}},[e,t,n]),[r,a]}var Gce=/^env_[0-9a-f]{32}$/,Kce=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,Tl={shape:`local`,isCloud:!1,legacyRuntimeId:null},qce={shape:`cloud-project-placeholder`,isCloud:!0,legacyRuntimeId:null},Jce={shape:`durable-environment`,isCloud:!0,legacyRuntimeId:null};function El(e){if(typeof e!=`string`)return Tl;if(e.startsWith(`cmmd-runtime:`)){let t=e.slice(Dl.length);return Kce.test(t)?{shape:`legacy-runtime`,isCloud:!0,legacyRuntimeId:t}:Tl}return e.startsWith(`cmmd-cloud-project:`)?qce:Gce.test(e)?Jce:Tl}var Dl=`cmmd-runtime:`;function Ol(e){return`${Dl}${e}`}function kl(e){return El(e).legacyRuntimeId!==null}function Al(e){return El(e).legacyRuntimeId}function Yce(e){return El(e).shape===`durable-environment`}var jl=`forge:client-settings:v1`,Xce=`forge:saved-environment-registry:v1`,Zce=nr({environmentId:an,label:j,httpBaseUrl:j,wsBaseUrl:j,createdAt:j,lastConnectedAt:Kn(j),cmmdOrganizationId:cn(j),cmmdProjectId:cn(j),runtimeId:cn(j),runtimeTicketExpiresAt:cn(j),lastAuthenticatedPullRequestCapability:cn(Xn),bearerToken:cn(j)}),Ml=nr({version:cn(Ln),records:cn(Jn(Zce))});function Nl(){return typeof window<`u`}var Qce={uiFontSize:14,codeFontSize:15},$ce=[[`uiFontSize`,11,20],[`codeFontSize`,11,20]];function ele(e){return e.defaultThreadRuntime===`desktop-cloud-bridge`?{...e,defaultThreadRuntime:`cloud`}:null}function tle(e){if(typeof e.fontDefaultsVersion==`number`)return null;let t=Object.entries(Qce).filter(([t,n])=>e[t]===n);if(t.length===0)return null;let n={...e};for(let[e]of t)delete n[e];return n}function nle(e){let t=$ce.flatMap(([t,n,r])=>{let i=e[t];if(typeof i!=`number`||!Number.isFinite(i))return[];let a=Math.min(r,Math.max(n,Math.round(i)));return a===i?[]:[[t,a]]});if(t.length===0)return null;let n={...e};for(let[e,r]of t)n[e]=r;return n}function Pl(e){if(!e||typeof e!=`object`)return e;let t=e,n=!1;for(let e of[ele,tle,nle]){let r=e(t);r!==null&&(t=r,n=!0)}return n?t:e}function rle(){if(!Nl())return null;try{let e=window.localStorage.getItem(jl);return e?vn(tr)(Pl(JSON.parse(e))):null}catch{return null}}function ile(e){Nl()&&xl(jl,e,tr)}function Fl(){if(!Nl())return{};try{return bl(`forge:saved-environment-registry:v1`,Ml)??{}}catch{return{}}}function Il(e){Nl()&&xl(Xce,e,Ml)}function Ll(){return Fl().records??[]}function ale(e){Il({version:1,records:e})}function ole(){return Ll().map(e=>wn(e))}function sle(e){let t=new Map(Ll().map(e=>[e.environmentId,e]));ale(e.map(e=>{let n=kl(e.environmentId)?void 0:t.get(e.environmentId)?.bearerToken;return n?{...wn(e),bearerToken:n}:wn(e)}))}function cle(e){return Ll().find(t=>t.environmentId===e)?.bearerToken??null}function lle(e,t){let n=Fl(),r=n.records??[],i=!1;return Il({version:n.version??1,records:r.map(n=>n.environmentId===e?(i=!0,Object.assign(wn(n),{bearerToken:t})):n)}),i}function ule(e){let t=Fl();Il({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?wn(t):t)})}var dle=vn(tr);function fle(){return typeof window>`u`?void 0:window.desktopBridge}function Rl(e){let t=fle(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function zl(){let e=Rl(`getClientSettings`);if(e){let t=await e();return t?dle(t):null}return rle()}async function Bl(e){let t=Rl(`setClientSettings`);if(t)return t(e);ile(e)}async function Vl(){let e=Rl(`getSavedEnvironmentRegistry`);return e?e():ole()}async function Hl(e){let t=Rl(`setSavedEnvironmentRegistry`);if(t)return t(e);sle(e)}async function Ul(e){let t=Rl(`getSavedEnvironmentSecret`);return t?t(e):cle(e)}async function Wl(e,t){let n=Rl(`setSavedEnvironmentSecret`);return n?n(e,t):lle(e,t)}async function Gl(e){let t=Rl(`removeSavedEnvironmentSecret`);if(t)return t(e);ule(e)}var Kl=`token`;function ql(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function Jl(e){let t=ql(e).get(Kl)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Kl)?.trim()??``;return n.length>0?n:null}function ple(e){let t=new URL(e.toString()),n=ql(t);return n.has(Kl)&&(n.delete(Kl),t.hash=n.toString()),t.searchParams.delete(Kl),t}function Yl(e,t){let n=new URL(e.toString());return n.searchParams.delete(Kl),n.hash=new URLSearchParams([[Kl,t]]).toString(),n}function mle(e,t){let n=new URL(e);return n.pathname=`/login`,Yl(n,t).toString()}function hle(e){return Yl(new URL(`/login`,window.location.href),e).toString()}function gle(e){let t=new URL(e),n=Jl(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(Kl,n),r.toString()}function _le(e){return{_tag:`Value`,value:e}}function vle(e,t){return{_tag:`Record`,keys:e,value:t}}function yle(e,t){return{_tag:`Array`,length:e,value:t}}$t(`SourceError`);var ble=$e(`effect/ConfigProvider`,{defaultValue:()=>Cle()}),xle={...Ke,toJSON(){return{_id:`ConfigProvider`}}};function Sle(e,t,n){let r=Object.create(xle);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 Cle(e){let t=e?.env??{APP_VERSION:`0.13.4`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_INLINE_CSS_ENABLED:`false`,VITE_COMMIT_SHA:``,VITE_HTTP_URL:``,VITE_SENTRY_COMMIT_SHA:`b06001f4e16f7a336e9108920f9250b366862f3d`,VITE_SENTRY_DEBUG:``,VITE_SENTRY_DSN:``,VITE_SENTRY_ENABLED:``,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_PROFILES_SAMPLE_RATE:``,VITE_SENTRY_RELEASE:`forge-web@0.13.4+b06001f4e16f7a336e9108920f9250b366862f3d`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=wle(t);return Sle(e=>rt(Ele(n,t,e)))}function wle(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 Tle=/^(0|[1-9][0-9]*)$/;function Ele(e,t,n){let r=t[n.map(String).join(`_`)],i=Dle(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:_le(r):a.every(e=>Tle.test(e))?yle(Math.max(...a.map(e=>parseInt(e,10)))+1,r):vle(new Set(a),r)}function Dle(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 Xl=`~effect/Config`,Ole=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},kle={...Ke,...Cee,[Xl]:Xl,asEffect(){return wt(ble.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function Ale(e){let t=Object.create(kle);return t.parse=e,t}var Zl=Xe(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}}}),Ql=Xe(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*Ql(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=qte(a.parameter);for(let o of i.keys)if(!Object.hasOwn(r,o)&&e(o)){let e=yield*Ql(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*Ql(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*Zl(t,n);case`Suspend`:return yield*Ql(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 $l(e,t){let n=Ute(e),r=Pte(n),i=Yte(n.ast),a=typeof t==`string`?[t]:t??[];return Ale(e=>{let t=e.prefix?[...e.prefix,...a]:a;return Ql(i,e,a).pipe(tte(e=>r(e).pipe(It(e=>new Ote(t.length>0?new Fte(t,e):e)))),It(e=>new Ole(e)))})}var jle=(e,t,n)=>{let r=In(e,t),i=j.pipe(xn(In(j,j),Nte(n)),xn(r));return ir([r,i])},B=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,V=globalThis,eu=`10.74.0`;function tu(){return nu(V),V}function nu(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.74.0`,t[eu]=t[`10.74.0`]||{}}function ru(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[eu]=r[`10.74.0`]||{};return i[e]||(i[e]=t())}var iu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],Mle=`Sentry Logger `,au={};function ou(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(au);r.forEach(e=>{let r=au[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function Nle(){lu().enabled=!0}function Ple(){lu().enabled=!1}function su(){return lu().enabled}function Fle(...e){cu(`log`,...e)}function Ile(...e){cu(`warn`,...e)}function Lle(...e){cu(`error`,...e)}function cu(e,...t){B&&su()&&ou(()=>{V.console[e](`${Mle}[${e}]:`,...t)})}function lu(){return B?ru(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:Nle,disable:Ple,isEnabled:su,log:Fle,warn:Ile,error:Lle},uu=50,du=/\(error: (.*)\)/,fu=/captureMessage|captureException/;function pu(...e){let t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,r=0)=>{let i=[],a=e.split(`
2
+ import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{$ as r,$t as i,Aa as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Ci as m,Cn as h,Di as g,Dn as _,Dt as v,Ei as y,En as b,Er as x,Et as S,F as C,Fa as w,Fi as T,Fn as E,Fr as D,Ft as ee,Gn as te,Gt as ne,Ha as O,Hn as k,Hr as re,Ht as A,Ia as ie,Ir as ae,It as oe,J as se,Jn as ce,Jt as le,K as ue,Kn as de,Kt as fe,L as pe,La as me,Ln as he,Lr as ge,Lt as _e,M as ve,Ma as ye,Mi as be,Mr as xe,Mt as Se,N as Ce,Ni as we,Nn as eee,Nt as Te,O as tee,Oa as nee,On as ree,Ot as iee,P as aee,Pa as oee,Pi as Ee,Pn as De,Pt as Oe,Qi as ke,Qn as Ae,Qt as see,R as je,Rn as Me,Rr as Ne,Rt as cee,Si as lee,Sn as uee,T as Pe,Ta as Fe,Tn as dee,Tr as Ie,Tt as Le,U as Re,Ua as fee,Un as ze,Ur as Be,Ut as pee,V as mee,Va as Ve,Vn as He,Vr as Ue,Vt as We,W as Ge,Wa as hee,Wn as gee,Wr as _ee,Wt as vee,X as yee,Xn as bee,Y as xee,Yi as Ke,Yn as qe,Yt as See,Z as Je,Zi as Cee,Zn as wee,Zt as Tee,_ as Eee,_a as Ye,_n as Dee,_r as Oee,_t as kee,an as Aee,at as Xe,bn as jee,br as Mee,bt as Ze,ca as Qe,ci as $e,cn as Nee,ct as et,di as Pee,dn as Fee,dr as Iee,dt as tt,ea as nt,ei as Lee,en as rt,er as Ree,et as it,fi as at,fr as zee,ft as ot,gi as st,gn as ct,gt as lt,hn as ut,hr as dt,ht as ft,in as pt,it as Bee,j as mt,ja as Vee,jn as ht,jr as Hee,jt as gt,ki as _t,kr as Uee,kt as vt,li as yt,ln as Wee,m as Gee,mn as bt,mr as xt,mt as St,na as Kee,ni as qee,nr as Ct,nt as wt,oa as Jee,on as Yee,or as Tt,pi as Xee,pn as Et,pt as Dt,q as Ot,qn as kt,qt as Zee,r as Qee,ri as $ee,rn as At,rr as ete,rt as tte,s as nte,si as rte,sn as ite,st as jt,ui as ate,un as Mt,ut as Nt,vn as Pt,vr as ote,vt as ste,w as Ft,wn as cte,wr as lte,wt as It,x as ute,xi as dte,xn as Lt,y as fte,yi as pte,yn as Rt,yt as mte,z as zt,zn as Bt,zt as hte}from"./Stream-mUTFnSY9.js";import{i as gte,l as Vt,n as Ht,o as Ut,s as Wt}from"./atomRegistry-C1yW8tyM.js";import{En as _te,Fn as Gt,In as vte,Q as Kt,Rn as yte,Sn as qt,Tn as Jt,_n as Yt,bn as bte,dn as Xt,gn as xte,hn as Zt,i as Ste,vn as Cte,x as wte,xn as Qt,yn as Tte}from"./CompositeItem-C5YSRi5B.js";import{$n as $t,$t as Ete,A as en,An as Dte,At as tn,Bn as Ote,Bt as kte,C as Ate,Ct as jte,D as nn,Dn as rn,Dt as an,En as on,Et as sn,Fn as cn,Ft as Mte,Gn as Nte,Gt as ln,H as un,Hn as Pte,Ht as dn,In as fn,It as pn,Jn as Fte,Jt as Ite,Kt as mn,L as Lte,Ln as hn,Lt as Rte,Mn as zte,Mt as gn,Nt as Bte,O as _n,On as vn,Pn as yn,Pt as Vte,Qt as Hte,Rn as Ute,Rt as Wte,St as bn,Tn as xn,Tt as Sn,U as Gte,Un as Kte,Ut as Cn,V as wn,Vn as qte,Vt as Tn,W as Jte,Wn as Yte,Wt as En,Xt as Dn,Y as Xte,Yt as Zte,Z as Qte,Zt as $te,_n as j,_t as On,a as ene,an as kn,b as An,bn as jn,c as Mn,cn as Nn,d as tne,dt as Pn,en as nne,et as rne,f as ine,fn as Fn,g as ane,gn as In,gt as one,hn as Ln,ht as Rn,i as sne,in as cne,j as zn,jn as Bn,jt as Vn,k as lne,kn as une,kt as Hn,l as Un,ln as Wn,lt as Gn,m as dne,mn as Kn,nn as fne,nt as qn,o as pne,on as Jn,p as mne,pn as hne,pt as gne,q as _ne,qt as Yn,rn as vne,s as M,sn as Xn,tn as Zn,tt as Qn,u as $n,ut as er,v as tr,vn as nr,w as yne,wn as rr,x as bne,xn as ir,yn as xne,yt as Sne,z as Cne,zt as ar}from"./src-Bj8vTcnP.js";import{A as or,C as wne,D as sr,F as Tne,I as Ene,L as cr,M as lr,N as Dne,O as ur,S as One,T as dr,a as fr,b as kne,c as Ane,d as jne,j as pr,k as mr,l as Mne,n as hr,s as Nne,u as Pne,v as Fne,x as Ine,y as Lne}from"./cmmdAuthRedirect-Ck1QfYaS.js";import{t as N}from"./preload-helper-Czpn1I53.js";import{n as P,t as gr}from"./transport-CgH8pQK3.js";import{n as Rne,t as zne}from"./workspaceReadinessAtom-D6bgTvKb.js";function Bne(e){return e[e.length-1]}function Vne(e,t){return typeof e==`function`?e(t):e}var _r=Object.prototype.hasOwnProperty,Hne=Object.prototype.propertyIsEnumerable;function Une(e){for(let t in e)if(_r.call(e,t))return!0;return!1}var Wne=()=>Object.create(null),Gne=(e,t)=>vr(e,t,Wne);function vr(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=Sr(e)&&Sr(i);if(!a&&!(br(e)&&br(i)))return i;let o=a?e:yr(e);if(!o)return i;let s=a?i:yr(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;t<l;t++){let o=a?t:s[t],l=e[o],f=i[o];if(l===f){u[o]=l,(a?t<c:_r.call(e,o))&&d++;continue}if(l===null||f===null||typeof l!=`object`||typeof f!=`object`){u[o]=f;continue}let p=vr(l,f,n,r+1);u[o]=p,p===l&&d++}return c===l&&d===c?e:u}function yr(e){let t=Object.keys(e);if(t.length!==Object.getOwnPropertyNames(e).length)return!1;let n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;for(let r of n){if(!Hne.call(e,r))return!1;t.push(r)}return t}function br(e){if(!xr(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!xr(n)||!n.hasOwnProperty(`isPrototypeOf`))}function xr(e){return Object.prototype.toString.call(e)===`[object Object]`}function Sr(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Cr(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!Cr(e[r],t[r],n))return!1;return!0}if(br(e)&&br(t)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let i in t)if((!r||t[i]!==void 0)&&!Cr(e[i],t[i],n))return!1;return!0}let i=0;if(!r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;let a=0;for(let o in t)if((!r||t[o]!==void 0)&&(a++,a>i||!Cr(e[o],t[o],n)))return!1;return i===a}return!1}var Kne=/[\x00-\x1f\x7f"<>`{}]/g;function qne(e){return e.replace(Kne,e=>`%`+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`))}function wr(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return qne(t)}var Jne=[`http:`,`https:`,`mailto:`,`tel:`];function Yne(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function Xne(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=wr(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=wr(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function Zne(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function Qne(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Tr(){throw Error(`Invariant failed`)}var F=t(hee(),1),Er=F.createContext(null);function Dr(e){return F.useContext(Er)}var Or=F.createContext(void 0),$ne=F.createContext(void 0),ere=yte();function tre(e,t){return e===t}function kr(e,t,n=tre){let r=(0,F.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,F.useCallback)(()=>e?.get(),[e]);return(0,ere.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var Ar={};function jr(e,t){let n=F.useRef();return r=>{let i=e?.select?e.select(r):r;return e?.structuralSharing??t.options.defaultStructuralSharing?n.current=vr(n.current,i):i}}function Mr(e){let t=Dr(),n=F.useContext(e.from?$ne:Or),r=e.from??n,i=t.stores.getMatchStore(r),a=jr(e,t),o=kr(i,e=>e?a(e):Ar);if(o!==Ar)return o;(e.shouldThrow??!0)&&Tr()}function nre(e){return Mr({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}var Nr=fee(),Pr=typeof window<`u`&&(window.desktopBridge!==void 0||window.nativeApi!==void 0),Fr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ir=new class extends Fr{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},rre={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Lr=new class{#e=rre;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function ire(e){setTimeout(e,0)}var are=typeof window>`u`||`Deno`in globalThis;function Rr(){}function ore(e,t){return typeof e==`function`?e(t):e}function zr(e){return typeof e==`number`&&e>=0&&e!==1/0}function Br(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Vr(e,t){return typeof e==`function`?e(t):e}function Hr(e,t){return typeof e==`function`?e(t):e}function sre(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==Ur(o,t.options))return!1}else if(!Gr(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function cre(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(Wr(t.options.mutationKey)!==Wr(a))return!1}else if(!Gr(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function Ur(e,t){return(t?.queryKeyHashFn||Wr)(e)}function Wr(e){return JSON.stringify(e,(e,t)=>Yr(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function Gr(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<t.length;n++)if(!Gr(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!Gr(e[r],t[r]))return!1;return!0}return!1}var lre=Object.prototype.hasOwnProperty;function Kr(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=Jr(e)&&Jr(t);if(!r&&!(Yr(e)&&Yr(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:lre.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=Kr(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function qr(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Jr(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Yr(e){if(!Xr(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Xr(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function Xr(e){return Object.prototype.toString.call(e)===`[object Object]`}function ure(e){return new Promise(t=>{Lr.setTimeout(t,e)})}function Zr(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:Kr(e,t)}function dre(e){return e}function fre(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function pre(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Qr=Symbol();function $r(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Qr?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function ei(e,t){return typeof e==`function`?e(...t):!!e}function mre(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var ti=(()=>{let e=()=>are;return{isServer(){return e()},setIsServer(t){e=t}}})();function ni(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var hre=ire;function gre(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=hre,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var ri=gre(),ii=new class extends Fr{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function _re(e){return Math.min(1e3*2**e,3e4)}function ai(e){return(e??`online`)!==`online`||ii.isOnline()}var oi=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function si(e){let t=!1,n=0,r,i=ni(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new oi(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>Ir.isFocused()&&(e.networkMode===`always`||ii.isOnline())&&e.canRun(),u=()=>ai(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(ti.isServer()?0:3),o=e.retryDelay??_re,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),ure(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var ci=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),zr(this.gcTime)&&(this.#e=Lr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(ti.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(Lr.clearTimeout(this.#e),this.#e=void 0)}};function vre(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{mre(e,()=>t.signal,()=>n=!0)},u=$r(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?pre:fre;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?ui:li,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:li(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function li(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ui(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}function yre(e,t){return t?li(e,t)!=null:!1}function bre(e,t){return!t||!e.getPreviousPageParam?!1:ui(e,t)!=null}var xre=class extends ci{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=pi(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=pi(this.options);e.data!==void 0&&(this.setState(fi(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Zr(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(Rr).catch(Rr):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>Hr(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Qr||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>Vr(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!Br(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=$r(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?vre(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=si({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof oi&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof oi){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...di(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...fi(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),ri.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function di(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ai(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function fi(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function pi(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var mi=class extends Fr{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=ni(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),hi(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gi(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gi(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof Hr(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!qr(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&_i(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||Hr(this.options.enabled,this.#t)!==Hr(t.enabled,this.#t)||Vr(this.options.staleTime,this.#t)!==Vr(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||Hr(this.options.enabled,this.#t)!==Hr(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Cre(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(Rr)),t}#g(){this.#b();let e=Vr(this.options.staleTime,this.#t);if(ti.isServer()||this.#r.isStale||!zr(e))return;let t=Br(this.#r.dataUpdatedAt,e)+1;this.#d=Lr.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(ti.isServer()||Hr(this.options.enabled,this.#t)===!1||!zr(this.#p)||this.#p===0)&&(this.#f=Lr.setInterval(()=>{(this.options.refetchIntervalInBackground||Ir.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(Lr.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(Lr.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&hi(e,t),o=i&&_i(e,n,t,r);(a||o)&&(l={...l,...di(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=Zr(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=Zr(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:vi(e,t),refetch:this.refetch,promise:this.#o,isEnabled:Hr(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{let e=this.#o=x.promise=ni();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a()}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!qr(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){ri.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function Sre(e,t){return Hr(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||Hr(t.retryOnMount,e)!==!1)}function hi(e,t){return Sre(e,t)||e.state.data!==void 0&&gi(e,t,t.refetchOnMount)}function gi(e,t,n){if(Hr(t.enabled,e)!==!1&&Vr(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&vi(e,t)}return!1}function _i(e,t,n,r){return(e!==t||Hr(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&vi(e,n)}function vi(e,t){return Hr(t.enabled,e)!==!1&&e.isStaleByTime(Vr(t.staleTime,e))}function Cre(e,t){return!qr(e.getCurrentResult(),t)}var yi=F.createContext(void 0),bi=e=>{let t=F.useContext(yi);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},wre=({client:e,children:t})=>(F.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,Nr.jsx)(yi.Provider,{value:e,children:t})),xi=F.createContext(!1),Si=()=>F.useContext(xi);xi.Provider;function Tre(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Ere=F.createContext(Tre()),Ci=()=>F.useContext(Ere),wi=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?ei(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ti=e=>{F.useEffect(()=>{e.clearReset()},[e])},Ei=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||ei(n,[e.error,r])),Di=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Dre=(e,t)=>e.isLoading&&e.isFetching&&!t,Oi=(e,t)=>e?.suspense&&t.isPending,ki=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Ai(e,t,n){let r=Si(),i=Ci(),a=bi(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Di(o),wi(o,i,s),Ti(i);let l=!a.getQueryCache().get(o.queryHash),[u]=F.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&c;if(F.useSyncExternalStore(F.useCallback(e=>{let t=f?u.subscribe(ri.batchCalls(e)):Rr;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),F.useEffect(()=>{u.setOptions(o)},[o,u]),Oi(o,d))throw ki(o,u,i);if(Ei({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!ti.isServer()&&Dre(d,r)&&(l?ki(o,u,i):s?.promise)?.catch(Rr).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function ji(e,t){return Ai(e,mi,t)}function Ore(e){return e}var kre={[Symbol.iterator](){return Are}},Are={next(){return{done:!0,value:void 0}}},jre=()=>kre,Mre=x,Mi=globalThis.Number,Nre=e=>{if(e===`NaN`)return T(NaN);if(e===`Infinity`)return T(1/0);if(e===`-Infinity`)return T(-1/0);if(e.trim()===``)return Ee();let t=Mi(e);return Mi.isNaN(t)?Ee():T(t)},Pre=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],Ni=`~effect/http/HttpClientRequest`,Fre={[Ni]:Ni,...ke,toJSON(){return{_id:`HttpClientRequest`,method:this.method,url:this.url,urlParams:this.urlParams,hash:this.hash,headers:Jee(this.headers),body:this.body.toJSON()}},pipe(){return Ve(this,arguments)}};function Pi(e,t,n,r,i,a){let o=Object.create(Fre);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var Ire=Pi(`GET`,``,$te,Ee(),Tn,Zte),Fi=e=>(t,n)=>Rre(Ire,{method:e,url:t,...n??void 0}),Lre=Fi(`POST`),Rre=w(2,(e,t)=>{let n=e;return t.method&&(n=zre(n,t.method)),t.url&&(n=Hre(n,t.url)),t.headers&&(n=Ii(n,t.headers)),t.urlParams&&(n=Ure(n,t.urlParams)),t.hash&&(n=Wre(n,t.hash)),t.body&&(n=Ri(n,t.body)),t.accept&&(n=Li(n,t.accept)),t.acceptJson&&(n=Vre(n)),n}),zre=w(2,(e,t)=>Pi(t,e.url,e.urlParams,e.hash,e.headers,e.body)),Bre=w(3,(e,t,n)=>Pi(e.method,e.url,e.urlParams,e.hash,Yn(e.headers,t,n),e.body)),Ii=w(2,(e,t)=>Pi(e.method,e.url,e.urlParams,e.hash,Ite(e.headers,t),e.body)),Li=w(2,(e,t)=>Bre(e,`Accept`,t)),Vre=Li(`application/json`),Hre=w(2,(e,t)=>{if(typeof t==`string`)return Pi(e.method,t,e.urlParams,e.hash,e.headers,e.body);let n=new URL(t.toString()),r=Hte(n.searchParams),i=dte(n.hash===``?void 0:n.hash.slice(1));return n.search=``,n.hash=``,Pi(e.method,n.toString(),r,i,e.headers,e.body)}),Ure=w(2,(e,t)=>Pi(e.method,e.url,nne(e.urlParams,t),e.hash,e.headers,e.body)),Wre=w(2,(e,t)=>Pi(e.method,e.url,e.urlParams,T(t),e.headers,e.body)),Ri=w(2,(e,t)=>{let n=e.headers;return t._tag===`Empty`||t._tag===`FormData`?n=mn(mn(n,`Content-Type`),`Content-length`):(t.contentType&&(n=Yn(n,`content-type`,t.contentType)),t.contentLength!==void 0&&(n=Yn(n,`content-length`,t.contentLength.toString()))),Pi(e.method,e.url,e.urlParams,e.hash,n,t)}),Gre=e=>Cn({b3:`${e.traceId}-${e.spanId}-${e.sampled?`1`:`0`}${we(e.parent,{onNone:()=>``,onSome:e=>`-${e.spanId}`})}`,traceparent:`00-${e.traceId}-${e.spanId}-${e.sampled?`01`:`00`}`}),zi=`~effect/http/HttpClient`,Bi=yt(`effect/HttpClient`),Vi=w(2,(e,t)=>Hi(n=>t(e.postprocess(n)),e.preprocess)),Kre=Vi(wt(Rte)),Hi=(e,t)=>{let n=Object.create(qre);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},qre={[zi]:zi,pipe(){return Ve(this,arguments)},...ke,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(Pre.map(([e,t])=>[t,function(t,n){return this.execute(Fi(e)(t,n))}]))},Jre=e=>Hi(t=>wt(t,t=>Pt(n=>{let i=Qre.get(t),a=i??new AbortController,o=Ete(t.url,t.urlParams,y(t.hash));if(qee(o))return r(new Zn({reason:new vne({request:t,cause:o.failure})}));let s=o.success;if(n.getRef(Uee)||n.getRef(Ui)(t)){let r=e(t,s,a.signal,n);return i?r:Et(e=>Le(e(r),{onSuccess(e){return Gi.register(e,a),rt(new Ki(e,a))},onFailure(e){return xt(e)&&a.abort(),it(e)}}))}return ut(n.getRef(Xre)(t),{kind:`client`},r=>{r.attribute(`http.request.method`,t.method),r.attribute(`server.address`,s.origin),s.port!==``&&r.attribute(`server.port`,+s.port),r.attribute(`url.full`,s.toString()),r.attribute(`url.path`,s.pathname),r.attribute(`url.scheme`,s.protocol.slice(0,-1));let o=s.search.slice(1);o!==``&&r.attribute(`url.query`,o);let c=n.getRef(kte),l=ln(t.headers,c);for(let e in l)r.attribute(`http.request.header.${e}`,String(l[e]));return t=n.getRef(Wi)?Ii(t,Gre(r)):t,Et(o=>o(e(t,s,a.signal,n)).pipe(Rt(r,{captureStackTrace:!1}),Le({onSuccess:e=>{r.attribute(`http.response.status_code`,e.status);let t=ln(e.headers,c);for(let e in t)r.attribute(`http.response.header.${e}`,String(t[e]));return i?rt(e):(Gi.register(e,a),rt(new Ki(e,a)))},onFailure(e){return!i&&xt(e)&&a.abort(),it(e)}})))})})),rt),Yre=w(2,(e,t)=>{let n=dee(t),r=n?`errors-and-responses`:t.retryOn??`errors-and-responses`,i=n?t:t.schedule,o=i&&b(i),s=n?void 0:t.times;return Vi(e,ie(r===`errors-only`?me:oe({schedule:o,times:s,while:Ji}),r===`response-only`?me:_e({while:n||t.while===void 0?qi:a(qi,t.while),schedule:i,times:s})))}),Ui=$e(`effect/http/HttpClient/TracerDisabledWhen`,{defaultValue:()=>Vee}),Wi=$e(`effect/HttpClient/TracerPropagationEnabled`,{defaultValue:ye}),Xre=$e(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Zre=e=>ht(Bi)(se(t=>Ze(e,e=>Vi(e,bt(e=>st(t,e)))))),Gi=(()=>{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))}}})(),Qre=new WeakMap,Ki=class{original;controller;constructor(e,t){this.original=e,this.controller=t}[pn]=pn;[ar]=ar;applyInterrupt(e){return At(()=>(Gi.unregister(this.original),vt(e,()=>pt(()=>{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 Eee(()=>(Gi.unregister(this.original),Qee(this.original.stream,pt(()=>{this.controller.abort()}))))}toJSON(){return this.original.toJSON()}[nt](){return this.original[nt]()}pipe(){return Ve(this,arguments)}},qi=e=>Mee(e)||$re(e),$re=e=>kn(e)&&(e.reason._tag===`TransportError`||e.reason._tag===`StatusCodeError`&&Ji(e.reason.response)),Ji=e=>e.status===408||e.status===429||e.status===500||e.status===502||e.status===503||e.status===504,Yi=`~effect/FiberSet`,eie=e=>Ye(e,Yi),tie={[Yi]:Yi,[Symbol.iterator](){return this.state._tag===`Closed`?jre():this.state.backing[Symbol.iterator]()},...Ke,toJSON(){return{_id:`FiberMap`,state:this.state}}},nie=(e,t)=>{let n=Object.create(tie);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},rie=()=>je(pt(()=>nie(new Set,qe())),e=>At(()=>{let t=e.state;if(t._tag===`Closed`)return ct;e.state={_tag:`Closed`};let n=t.backing;return C(n).pipe(ce(e.deferred))})),Xi=-1,iie=ge(D(Iee,ae(Xi))),aie=w(e=>eie(e[0]),(e,t,n)=>{if(e.state._tag===`Closed`){t.interruptUnsafe(Xi);return}e.state.backing.has(t)||(e.state.backing.add(t),t.addObserver(r=>{e.state._tag!==`Closed`&&(e.state.backing.delete(t),Ct(r)&&(n?.propagateInterruption===!0?!iie(r.cause):!dt(r.cause))&&kt(e.deferred,r))}))}),oie=function(){let e;return()=>(e===void 0&&(e=f(St)),e)}(),sie=e=>()=>Ze(Ot(),t=>{let n=We(t);return(t,r)=>{if(e.state._tag===`Closed`)return oie();let i=n(t,r);return aie(e,i),i}}),Zi=e=>de(e.deferred),Qi=`~effect/socket/Socket`,$i=yt(`effect/socket/Socket`),cie=`~effect/socket/Socket/CloseEvent`,lie=e=>Ye(e,cie),ea=`~effect/socket/Socket/SocketError`,uie=e=>Ye(e,ea),ta=class extends Wn(`effect/socket/Socket/SocketReadError`)({_tag:fn(`SocketReadError`),cause:Nn}){message=`An error occurred during Read`},die=class extends Wn(`effect/socket/Socket/SocketWriteError`)({_tag:fn(`SocketWriteError`),cause:Nn}){message=`An error occurred during Write`},na=class extends Wn(`effect/socket/Socket/SocketOpenError`)({_tag:fn(`SocketOpenError`),kind:Fn([`Unknown`,`Timeout`]),cause:Nn}){get message(){return this.kind===`Timeout`?`timeout waiting for "open"`:`An error occurred during Open`}},ra=class extends Wn(`effect/socket/Socket/SocketCloseError`)({_tag:fn(`SocketCloseError`),code:Ln,closeReason:yn(j)}){static filterClean(e){return function(t){return aa.is(t)&&t.reason._tag===`SocketCloseError`&&e(t.reason.code)?rte(t.reason):Lee(t)}}get message(){return this.closeReason?`${this.code}: ${this.closeReason}`:`${this.code}`}},ia=ir([ta,die,na,ra]),aa=class extends xne(ea)(`SocketError`,{_tag:fn(`SocketError`),reason:ia}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[ea]=ea;static is(e){return uie(e)}message=this.reason.message},fie=e=>!0,pie=class extends yt()(`~effect/socket/Socket/WebSocket`){},oa=class extends yt()(`@effect/platform/Socket/WebSocketConstructor`){},mie=(e,t)=>oa.use(n=>hie(je((typeof e==`string`?rt(e):e).pipe(Ze(e=>n(e,t?.protocols))),e=>pt(()=>e.close(1e3))),t)),hie=(e,t)=>Pt(n=>{let i,a=mt(!1),o=n.context,s=t?.closeCodeIsError??fie,c=(n,c)=>Tee(Xe(function*(o){let l=yield*rie().pipe(te(o)),u=yield*te(e,o),d=yield*Oe(sie(l)(),pie,u),f=!1;function p(e){if(e.data instanceof Blob){let t=wt(gt(()=>e.data.arrayBuffer()),e=>{let t=n(new Uint8Array(e));return lt(t)?t:ct});return d(t)}let t=n(e.data);lt(t)&&d(t)}function m(e){u.removeEventListener(`message`,p),u.removeEventListener(`close`,h),kt(l.deferred,r(new aa({reason:f?new ta({cause:e}):new na({kind:`Unknown`,cause:e})})))}function h(e){let t=typeof e.code==`number`?e.code:1001;u.removeEventListener(`message`,p),u.removeEventListener(`error`,m),kt(l.deferred,r(new aa({reason:new ra({code:t,closeReason:e.reason})})))}if(u.addEventListener(`close`,h,{once:!0}),u.addEventListener(`error`,m,{once:!0}),u.addEventListener(`message`,p),u.readyState!==1){let e=qe();u.addEventListener(`open`,()=>{f=!0,kt(e,ct)},{once:!0}),yield*de(e).pipe(Mt({duration:t?.openTimeout??1e4,orElse:()=>r(new aa({reason:new na({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),ee(Zi(l)))}return f=!0,i=u,a.openUnsafe(),c?.onOpen&&(yield*c.onOpen),yield*ue(Zi(l),ra.filterClean(e=>!s(e)),()=>ct)})).pipe(bt(e=>st(o,e)),Je(pt(()=>{a.closeUnsafe(),i=void 0}))),l=new TextEncoder,u=(e,t)=>c(t=>typeof t==`string`?e(l.encode(t)):t instanceof Uint8Array?e(t):e(new Uint8Array(t)),t),d=rt(e=>a.whenOpen(pt(()=>{let t=i;lie(e)?t.close(e.code,e.reason):t.send(e)})));return rt($i.of({[Qi]:Qi,run:u,runRaw:c,writer:d}))}),sa=ie(mie,ht($i)),ca=class extends yt()(`effect/workers/Transferable/Collector`){},gie=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return ca.of({addAllUnsafe:t,addAll:e=>pt(()=>t(e)),readUnsafe:n,read:pt(n),clearUnsafe:r,clear:pt(r)})},_ie=`~effect/workers/WorkerError`,vie=class extends Wn(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:fn(`WorkerSpawnError`),message:j,cause:yn(Nn)}){},yie=class extends Wn(`effect/workers/WorkerError/WorkerSendError`)({_tag:fn(`WorkerSendError`),message:j,cause:yn(Nn)}){},bie=class extends Wn(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:fn(`WorkerReceiveError`),message:j,cause:yn(Nn)}){},xie=class extends Wn(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:fn(`WorkerUnknownError`),message:j,cause:yn(Nn)}){},la=ir([vie,yie,bie,xie]);Wn(_ie)({_tag:fn(`WorkerError`),reason:la});var ua=`~effect/rpc/RpcClientError`,da=class extends Wn(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:fn(`RpcClientDefect`),message:j,cause:Nn}){},fa=class extends Wn(ua)({_tag:fn(`RpcClientError`),reason:ir([la,ia,fne,da])}){[ua]=ua;get message(){return`${this.reason._tag}: ${this.reason.message}`}},pa=e=>typeof e==`bigint`?e:BigInt(e),Sie={_tag:`Ping`},ma;try{ma=new TextDecoder}catch{}var I,ha,L=0,ga=[],_a=ga,va=0,ya={},ba,xa,Sa=0,Ca=0,wa,Ta,Ea=[],Da,Oa={useRecords:!1,mapsAsObjects:!0},ka=class{},Aa=new ka;Aa.name=`MessagePack 0xC1`;var ja=!1,Ma=2,Na,Pa,Fa;try{Function(``)}catch{Ma=1/0}var Ia=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(I)return ao(()=>(oo(),this?this.unpack(t,n):e.prototype.unpack.call(Oa,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(ha=n.end||t.length,L=n.start||0):(L=0,ha=n>-1?n:t.length),va=0,Ca=0,xa=null,_a=ga,wa=null,I=t;try{Da=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){throw I=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(ya=this,this.structures)return ba=this.structures,La(n);(!ba||ba.length>0)&&(ba=[])}else ya=Oa,(!ba||ba.length>0)&&(ba=[]);return La(n)}unpackMultiple(e,t){let n,r=0;try{ja=!0;let i=e.length,a=this?this.unpack(e,i):co.unpack(e,i);if(t){if(t(a,r,L)===!1)return;for(;L<i;)if(r=L,t(La(),r,L)===!1)return}else{for(n=[a];L<i;)r=L,n.push(La());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{ja=!1,oo()}}_mergeStructures(e,t){Pa&&(e=Pa.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||(e.restoreStructures=[]))[n]=r),e[n]=i)}return this.structures=e}decode(e,t){return this.unpack(e,t)}};function La(e){try{if(!ya.trusted&&!ja){let e=ba.sharedLength||0;e<ba.length&&(ba.length=e)}let t;if(ya.randomAccessStructure&&I[L]<64&&I[L]>=32&&Na?(t=Na(I,L,ha,ya),I=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),L=ha):t=za(),wa&&=(L=wa.postBundlePosition,null),ja&&(ba.restoreStructures=null),L==ha)ba&&ba.restoreStructures&&Ra(),ba=null,I=null,Ta&&=null;else if(L>ha)throw Error(`Unexpected end of MessagePack data`);else if(!ja){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 ba&&ba.restoreStructures&&Ra(),oo(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||L>ha)&&(e.incomplete=!0),e}}function Ra(){for(let e in ba.restoreStructures)ba[e]=ba.restoreStructures[e];ba.restoreStructures=null}function za(){let e=I[L++];if(e<160)if(e<128){if(e<64)return e;{let t=ba[e&63]||ya.getStructures&&Ha()[e&63];return t?(t.read||=Ba(t,e&63),t.read()):e}}else if(e<144){if(e-=128,ya.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=eo();e===`__proto__`&&(e=`__proto_`),t[e]=za()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(za(),za());return t}}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=za();return ya.freezeData?Object.freeze(t):t}if(e<192){let t=e-160;if(Ca>=L)return xa.slice(L-Sa,(L+=t)-Sa);if(Ca==0&&ha<140){let e=t<16?Ya(t):Ja(t);if(e!=null)return e}return Ua(t)}{let t;switch(e){case 192:return null;case 193:return wa?(t=za(),t>0?wa[1].slice(wa.position1,wa.position1+=t):wa[0].slice(wa.position0,wa.position0-=t)):Aa;case 194:return!1;case 195:return!0;case 196:if(t=I[L++],t===void 0)throw Error(`Unexpected end of buffer`);return Za(t);case 197:return t=Da.getUint16(L),L+=2,Za(t);case 198:return t=Da.getUint32(L),L+=4,Za(t);case 199:return Qa(I[L++]);case 200:return t=Da.getUint16(L),L+=2,Qa(t);case 201:return t=Da.getUint32(L),L+=4,Qa(t);case 202:if(t=Da.getFloat32(L),ya.useFloat32>2){let e=so[(I[L]&127)<<1|I[L+1]>>7];return L+=4,(e*t+(t>0?.5:-.5)>>0)/e}return L+=4,t;case 203:return t=Da.getFloat64(L),L+=8,t;case 204:return I[L++];case 205:return t=Da.getUint16(L),L+=2,t;case 206:return t=Da.getUint32(L),L+=4,t;case 207:return ya.int64AsType===`number`?(t=Da.getUint32(L)*4294967296,t+=Da.getUint32(L+4)):ya.int64AsType===`string`?t=Da.getBigUint64(L).toString():ya.int64AsType===`auto`?(t=Da.getBigUint64(L),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Da.getBigUint64(L),L+=8,t;case 208:return Da.getInt8(L++);case 209:return t=Da.getInt16(L),L+=2,t;case 210:return t=Da.getInt32(L),L+=4,t;case 211:return ya.int64AsType===`number`?(t=Da.getInt32(L)*4294967296,t+=Da.getUint32(L+4)):ya.int64AsType===`string`?t=Da.getBigInt64(L).toString():ya.int64AsType===`auto`?(t=Da.getBigInt64(L),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Da.getBigInt64(L),L+=8,t;case 212:if(t=I[L++],t==114)return no(I[L++]&63);{let e=Ea[t];if(e)return e.read?(L++,e.read(za())):e.noBuffer?(L++,e()):e(I.subarray(L,++L));throw Error(`Unknown extension `+t)}case 213:return t=I[L],t==114?(L++,no(I[L++]&63,I[L++])):Qa(2);case 214:return Qa(4);case 215:return Qa(8);case 216:return Qa(16);case 217:return t=I[L++],Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):wie(t);case 218:return t=Da.getUint16(L),L+=2,Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):Tie(t);case 219:return t=Da.getUint32(L),L+=4,Ca>=L?xa.slice(L-Sa,(L+=t)-Sa):Eie(t);case 220:return t=Da.getUint16(L),L+=2,Ga(t);case 221:return t=Da.getUint32(L),L+=4,Ga(t);case 222:return t=Da.getUint16(L),L+=2,Ka(t);case 223:return t=Da.getUint32(L),L+=4,Ka(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 Cie=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ba(e,t){function n(){if(n.count++>Ma){let n=e.read=Function(`r`,`return function(){return `+(ya.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:Cie.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(za);return e.highByte===0&&(e.read=Va(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]=za()}return ya.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?Va(t,n):n}var Va=(e,t)=>function(){let n=I[L++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=ba[r]||Ha()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=Ba(i,e),i.read()};function Ha(){let e=ao(()=>(I=null,ya.getStructures()));return ba=ya._mergeStructures(e,ba)}var Ua=Wa,wie=Wa,Tie=Wa,Eie=Wa;function Wa(e){let t;if(e<16&&(t=Ya(e)))return t;if(e>64&&ma)return ma.decode(I.subarray(L,L+=e));let n=L+e,r=[];for(t=``;L<n;){let e=I[L++];if(!(e&128))r.push(e);else if((e&224)==192){let t=I[L++]&63,n=(e&31)<<6|t;n<128?r.push(65533):r.push(n)}else if((e&240)==224){let t=I[L++]&63,n=I[L++]&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=I[L++]&63,n=I[L++]&63,i=I[L++]&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+=qa.apply(String,r),r.length=0)}return r.length>0&&(t+=qa.apply(String,r)),t}function Ga(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=za();return ya.freezeData?Object.freeze(t):t}function Ka(e){if(ya.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=eo();e===`__proto__`&&(e=`__proto_`),t[e]=za()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(za(),za());return t}}var qa=String.fromCharCode;function Ja(e){let t=L,n=Array(e);for(let r=0;r<e;r++){let e=I[L++];if((e&128)>0){L=t;return}n[r]=e}return qa.apply(String,n)}function Ya(e){if(e<4)if(e<2){if(e===0)return``;{let e=I[L++];if((e&128)>1){--L;return}return qa(e)}}else{let t=I[L++],n=I[L++];if((t&128)>0||(n&128)>0){L-=2;return}if(e<3)return qa(t,n);let r=I[L++];if((r&128)>0){L-=3;return}return qa(t,n,r)}{let t=I[L++],n=I[L++],r=I[L++],i=I[L++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){L-=4;return}if(e<6){if(e===4)return qa(t,n,r,i);{let e=I[L++];if((e&128)>0){L-=5;return}return qa(t,n,r,i,e)}}if(e<8){let a=I[L++],o=I[L++];if((a&128)>0||(o&128)>0){L-=6;return}if(e<7)return qa(t,n,r,i,a,o);let s=I[L++];if((s&128)>0){L-=7;return}return qa(t,n,r,i,a,o,s)}{let a=I[L++],o=I[L++],s=I[L++],c=I[L++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){L-=8;return}if(e<10){if(e===8)return qa(t,n,r,i,a,o,s,c);{let e=I[L++];if((e&128)>0){L-=9;return}return qa(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=I[L++],u=I[L++];if((l&128)>0||(u&128)>0){L-=10;return}if(e<11)return qa(t,n,r,i,a,o,s,c,l,u);let d=I[L++];if((d&128)>0){L-=11;return}return qa(t,n,r,i,a,o,s,c,l,u,d)}{let l=I[L++],u=I[L++],d=I[L++],f=I[L++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){L-=12;return}if(e<14){if(e===12)return qa(t,n,r,i,a,o,s,c,l,u,d,f);{let e=I[L++];if((e&128)>0){L-=13;return}return qa(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=I[L++],m=I[L++];if((p&128)>0||(m&128)>0){L-=14;return}if(e<15)return qa(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=I[L++];if((h&128)>0){L-=15;return}return qa(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Xa(){let e=I[L++],t;if(e<192)t=e-160;else switch(e){case 217:t=I[L++];break;case 218:t=Da.getUint16(L),L+=2;break;case 219:t=Da.getUint32(L),L+=4;break;default:throw Error(`Expected string`)}return Wa(t)}function Za(e){return ya.copyBuffers?Uint8Array.prototype.slice.call(I,L,L+=e):I.subarray(L,L+=e)}function Qa(e){let t=I[L++];if(Ea[t]){let n;return Ea[t](I.subarray(L,n=L+=e),e=>{L=e;try{return za()}finally{L=n}})}throw Error(`Unknown extension type `+t)}var $a=Array(4096);function eo(){let e=I[L++];if(e>=160&&e<192){if(e-=160,Ca>=L)return xa.slice(L-Sa,(L+=e)-Sa);if(!(Ca==0&&ha<180))return Ua(e)}else return L--,to(za());let t=(e<<5^(e>1?Da.getUint16(L):e>0?I[L]:0))&4095,n=$a[t],r=L,i=L+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=Da.getUint32(r),a!=n[o++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(a=I[r++],a!=n[o++]){r=1879048192;break}if(r===i)return L=r,n.string;i-=3,r=L}for(n=[],$a[t]=n,n.bytes=e;r<i;)a=Da.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=I[r++],n.push(a);let s=e<16?Ya(e):Ja(e);return s==null?n.string=Ua(e):n.string=s}function to(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(ya.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 no=(e,t)=>{let n=za().map(to),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=ba[e];return i&&(i.isShared||ja)&&((ba.restoreStructures||(ba.restoreStructures=[]))[e]=i),ba[e]=n,n.read=Ba(n,r),n.read()};Ea[0]=()=>{},Ea[0].noBuffer=!0,Ea[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 ro={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};Ea[101]=()=>{let e=za();if(!ro[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return ro[e[0]](e[1],{cause:e[2]})},Ea[105]=e=>{if(ya.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Da.getUint32(L-4);Ta||=new Map;let n=I[L],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)&&I[L+1]===115?new Set:{};let i={target:r};Ta.set(t,i);let a=za();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},Ea[112]=e=>{if(ya.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Da.getUint32(L-4),n=Ta.get(t);return n.used=!0,n.target},Ea[115]=()=>new Set(za());var io=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Die=typeof globalThis==`object`?globalThis:window;Ea[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=io[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 Die[r](n)},Ea[120]=()=>{let e=za();return new RegExp(e[0],e[1])};var Oie=[];Ea[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=L;return L+=t-e.length,wa=Oie,wa=[Xa(),Xa()],wa.position0=0,wa.position1=0,wa.postBundlePosition=L,L=n,za()},Ea[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 ao(e){Fa&&Fa();let t=ha,n=L,r=va,i=Sa,a=Ca,o=xa,s=_a,c=Ta,l=wa,u=new Uint8Array(I.slice(0,ha)),d=ba,f=ba.slice(0,ba.length),p=ya,m=ja,h=e();return ha=t,L=n,va=r,Sa=i,Ca=a,xa=o,_a=s,Ta=c,wa=l,I=u,ja=m,ba=d,ba.splice(0,ba.length,...f),ya=p,Da=new DataView(I.buffer,I.byteOffset,I.byteLength),h}function oo(){I=null,Ta=null,ba=null}var so=Array(147);for(let e=0;e<256;e++)so[e]=+(`1e`+Math.floor(45.15-e*.30103));var co=new Ia({useRecords:!1});co.unpack,co.unpackMultiple,co.unpack;var kie={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var lo;try{lo=new TextEncoder}catch{}var uo,fo,po=typeof Buffer<`u`,mo=po?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,ho=po?Buffer:Uint8Array,go=po?4294967296:2144337920,R,_o,vo,z=0,yo,bo=null,Aie,jie=21760,Mie=/[\u0080-\uFFFF]/,xo=Symbol(`record-id`),Nie=class extends Ia{constructor(e){super(e),this.offset=0;let t,n,r,i,a=ho.prototype.utf8Write?function(e,t){return R.utf8Write(e,t,R.byteLength-t)}:lo&&lo.encodeInto?function(e,t){return lo.encodeInto(e,R.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(R||(R=new mo(8192),vo=R.dataView||(R.dataView=new DataView(R.buffer,0,8192)),z=0),yo=R.length-10,yo-z<2048?(R=new mo(R.length),vo=R.dataView||(R.dataView=new DataView(R.buffer,0,R.length)),yo=R.length-10,z=0):z=z+7&2147483640,t=z,a&2048&&(z+=a&255),i=o.structuredClone?new Map:null,o.bundleStrings&&typeof e!=`string`?(bo=[],bo.size=1/0):bo=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[xo]=t+64}this.lastNamedStructuresLength=e}s||(r.nextId=e+64)}n&&=!1;let c;try{o.randomAccessStructure&&e&&typeof e==`object`?e.constructor===Object?D(e):e.constructor!==Map&&!Array.isArray(e)&&!fo.some(t=>e instanceof t)?D(e.toJSON?e.toJSON():e):y(e):y(e);let n=bo;if(bo&&To(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&&(vo.setUint32(n.position+t,vo.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&vo.setUint32(n.position+t,vo.getUint32(n.position+t)+a),z+=e.length*6,z>yo&&w(z),o.offset=z;let s=Pie(R.subarray(t,z),e);return i=null,s}return o.offset=z,a&512?(R.start=t,R.end=z,R):R.subarray(t,z)}catch(e){throw c=e,e}finally{if(r&&(_(),n&&o.saveStructures)){let n=r.sharedLength||0,i=R.subarray(t,z),s=Fie(r,o);if(!c)return o.saveStructures(s,s.isCompatible)===!1?o.pack(e,a):(o.lastNamedStructuresLength=n,R.length>1073741824&&(R=null),i)}R.length>1073741824&&(R=null),a&1024&&(z=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][xo]=0;m=[]}},v=e=>{var t=e.length;t<16?R[z++]=144|t:t<65536?(R[z++]=220,R[z++]=t>>8,R[z++]=t&255):(R[z++]=221,vo.setUint32(z,t),z+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{z>yo&&(R=w(z));var n=typeof e,r;if(n===`string`){let n=e.length;if(bo&&n>=4&&n<4096){if((bo.size+=n)>jie){let e,n=(bo[0]?bo[0].length*3+bo[1].length:0)+10;z+n>yo&&(R=w(z+n));let r;bo.position?(r=bo,R[z]=200,z+=3,R[z++]=98,e=z-t,z+=4,To(t,y,0),vo.setUint16(e+t-3,z-t-e)):(R[z++]=214,R[z++]=98,e=z-t,z+=4),bo=[``,``],bo.previous=r,bo.size=0,bo.position=e}let r=Mie.test(e);bo[+!r]+=e,R[z++]=193,y(r?-n:n);return}let i;i=n<32?1:n<256?2:n<65536?3:5;let o=n*3;if(z+o>yo&&(R=w(z+o)),n<64||!a){let t,a,o,s=z+i;for(t=0;t<n;t++)a=e.charCodeAt(t),a<128?R[s++]=a:a<2048?(R[s++]=a>>6|192,R[s++]=a&63|128):(a&64512)==55296&&((o=e.charCodeAt(t+1))&64512)==56320?(a=65536+((a&1023)<<10)+(o&1023),t++,R[s++]=a>>18|240,R[s++]=a>>12&63|128,R[s++]=a>>6&63|128,R[s++]=a&63|128):(R[s++]=a>>12|224,R[s++]=a>>6&63|128,R[s++]=a&63|128);r=s-z-i}else r=a(e,z+i);r<32?R[z++]=160|r:r<256?(i<2&&R.copyWithin(z+2,z+1,z+1+r),R[z++]=217,R[z++]=r):r<65536?(i<3&&R.copyWithin(z+3,z+2,z+2+r),R[z++]=218,R[z++]=r>>8,R[z++]=r&255):(i<5&&R.copyWithin(z+5,z+3,z+3+r),R[z++]=219,vo.setUint32(z,r),z+=4),z+=r}else if(n===`number`)if(e>>>0===e)e<32||e<128&&this.useRecords===!1||e<64&&!this.randomAccessStructure?R[z++]=e:e<256?(R[z++]=204,R[z++]=e):e<65536?(R[z++]=205,R[z++]=e>>8,R[z++]=e&255):(R[z++]=206,vo.setUint32(z,e),z+=4);else if(e>>0===e)e>=-32?R[z++]=256+e:e>=-128?(R[z++]=208,R[z++]=e+256):e>=-32768?(R[z++]=209,vo.setInt16(z,e),z+=2):(R[z++]=210,vo.setInt32(z,e),z+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){R[z++]=202,vo.setFloat32(z,e);let n;if(t<4||(n=e*so[(R[z]&127)<<1|R[z+1]>>7])>>0===n){z+=4;return}z--}R[z++]=203,vo.setFloat64(z,e),z+=8}else if(n===`object`||n===`function`)if(!e)R[z++]=192;else{if(i){let n=i.get(e);if(n){n.id||=(i.idsToInsert||(i.idsToInsert=[])).push(n),R[z++]=214,R[z++]=112,vo.setUint32(z,n.id),z+=4;return}i.set(e,{offset:z-t})}let a=e.constructor;if(a===Object)C(e);else if(a===Array)v(e);else if(a===Map)if(this.mapAsEmptyObject)R[z++]=128;else{r=e.size,r<16?R[z++]=128|r:r<65536?(R[z++]=222,R[z++]=r>>8,R[z++]=r&255):(R[z++]=223,vo.setUint32(z,r),z+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=uo.length;t<n;t++){let n=fo[t];if(e instanceof n){let n=uo[t];if(n.write){n.type&&(R[z++]=212,R[z++]=n.type,R[z++]=0);let t=n.write.call(this,e);t===e?Array.isArray(e)?v(e):C(e):y(t);return}let r=R,i=vo,a=z;R=null;let o;try{o=n.pack.call(this,e,e=>(R=r,r=null,z+=e,z>yo&&w(z),{target:R,targetView:vo,position:z-e}),y)}finally{r&&(R=r,vo=i,z=a,yo=R.length-10)}o&&(o.length+z>yo&&w(o.length+z),z=wo(o,R,z,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));C(e)}}}else if(n===`boolean`)R[z++]=e?195:194;else if(n===`bigint`){if(e<0x8000000000000000&&e>=-0x8000000000000000)R[z++]=211,vo.setBigInt64(z,e);else if(e<0x10000000000000000&&e>0)R[z++]=207,vo.setBigUint64(z,e);else if(this.largeBigIntToFloat)R[z++]=203,vo.setFloat64(z,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),po)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+z>yo&&w(n.length+z),z=wo(n,R,z,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`);z+=8}else if(n===`undefined`)this.encodeUndefinedAsNil?R[z++]=192:(R[z++]=212,R[z++]=0,R[z++]=0);else throw Error(`Unknown type: `+n)},b=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?R[z++]=128|n:n<65536?(R[z++]=222,R[z++]=n>>8,R[z++]=n&255):(R[z++]=223,vo.setUint32(z,n),z+=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=>{R[z++]=222;let n=z-t;z+=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`);R[n+++t]=r>>8,R[n+t]=r&255},x=this.useRecords===!1?b:e.progressiveRecords&&!d?e=>{let n,i=r.transitions||(r.transitions=Object.create(null)),a=z++-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==z?(z--,T(i,c,u)):E(i,c,a,u),o=!0,i=l[s]}y(e[s])}if(!o){let n=i[xo];n?R[a+t]=n:E(i,Object.keys(e),a,0)}}:e=>{let t,n=r.transitions||(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[xo];a?a>=96&&d?(R[z++]=((a-=96)&31)+96,R[z++]=a>>5):R[z++]=a:T(n,n.__keys__||Object.keys(e),i);for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&y(e[t])},S=typeof this.useRecords==`function`&&this.useRecords,C=S?e=>{S(e)?x(e):b(e)}:x,w=e=>{let n;if(e>16777216){if(e-t>go)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(go,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,R.length-1)>>12)+1<<12;let r=new mo(n);return vo=r.dataView||=new DataView(r.buffer,0,n),e=Math.min(e,R.length),R.copy?R.copy(r,0,t,e):r.set(R.slice(t,e)),z-=t,t=0,yo=r.length-10,R=r},T=(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[xo]=a,e.__keys__=t,r[a-64]=t,a<f?(t.isShared=!0,r.sharedLength=a-63,n=!0,o>=0?(R[z++]=(a&31)+96,R[z++]=o):R[z++]=a):(o>=0?(R[z++]=213,R[z++]=114,R[z++]=(a&31)+96,R[z++]=o):(R[z++]=212,R[z++]=114,R[z++]=a),i&&(h+=g*i),m.length>=u&&(m.shift()[xo]=0),m.push(e),y(t))},E=(e,n,r,i)=>{let a=R,o=z,s=yo,c=t;R=_o,z=0,t=0,R||(_o=R=new mo(8192)),yo=R.length-10,T(e,n,i),_o=R;let l=z;if(R=a,z=o,yo=s,t=c,l>1){let e=z+l-1;e>yo&&w(e);let n=r+t;R.copyWithin(n+l,n+1,z),R.set(_o.slice(0,l),n),z=e}else R[r+t]=_o[0]},D=e=>{let i=Aie(e,R,t,z,r,w,(e,t,r)=>{if(r)return n=!0;z=t;let i=R;return y(e),_(),i===R?z:{position:z,targetView:vo,target:R}},this);if(i===0)return C(e);z=i}}useBuffer(e){R=e,R.dataView||(R.dataView=new DataView(R.buffer,R.byteOffset,R.byteLength)),vo=R.dataView,z=0}set position(e){z=e}get position(){return z}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};fo=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,ka],uo=[{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?So(e,16,t):Co(po?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==ho&&this.moreTypes?So(e,io.indexOf(n.name),t):Co(e,t)}},{pack(e,t){this.moreTypes?So(e,17,t):Co(po?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function So(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 Co(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 wo(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 Pie(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 To(e,t,n){if(bo.length>0){vo.setUint32(bo.position+e,z+n-bo.position-e),bo.stringsPosition=z-e;let r=bo;bo=null,t(r[0]),t(r[1])}}function Fie(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var Eo=new Nie({useRecords:!1});Eo.pack,Eo.pack;var{NEVER:Iie,ALWAYS:Lie,DECIMAL_ROUND:Rie,DECIMAL_FIT:zie}=kie,Do=class extends yt()(`effect/rpc/RpcSerialization`){},Bie=Do.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)}}}),Oo=he(Do)(Bie),Vie=e=>At(()=>{let t=new Set,n=new Map,r=new Map,i=(e,t)=>se(r=>{let i=n.get(e);return i||(i=[],n.set(e,i)),i.push([t,r]),ct});return Ze(e((e,t)=>{let n=r.get(e);return n?n(t):i(e,t)},t),e=>({...e,run(e,i){return ot(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*Te(At(()=>i(e)),t)}return yield*iee(S,()=>(t.delete(e),r.delete(e),ct))})}}))}),Hie=BigInt(0),Uie=Xe(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>Hie++),o=yield*Ot(),s=at(o,Me),c=new Map,l=!1;yield*Bt(s,Pt(e=>(l=!0,d(Ree(e.id)))));let d=Xe(function*(e){for(let[t,n]of c)c.delete(t),n._tag===`Queue`?yield*e._tag===`Success`?Ft(n.queue):Pe(n.queue,e.cause):n.resume(e)}),f=e=>{let r=Mte(e.successSchema),a=g(e);return(o,s)=>{let c=s?.headers?dn(s.headers):Tn,l=s?.context??Pee();if(!r){let r=t=>m(e,a,t,e.payloadSchema.make(o),c,l,s?.discard??!1);return i?r(void 0):ut(`${n}.${e._tag}`,{attributes:t.spanAttributes},r)}let u=h(e,a,e.payloadSchema.make(o),c,s?.streamBufferSize??16,l);return s?.asQueue?u:ute(Ze(u,nte))}},m=(e,n,r,i,o,s,u)=>Pt(d=>{if(l)return St;let f=a(),p=n(e=>t.onFromClient({message:e,context:s,discard:u}),{_tag:`Request`,id:f,tag:e._tag,payload:i,...r?{traceId:r.traceId,spanId:r.spanId,sampled:r.sampled}:{},headers:En(d.getRef(jo),o)});if(u)return p;let m;return vt(Re(t=>{let n={_tag:`Effect`,rpc:e,context:s,resume(e){t(e),m&&!m.pollUnsafe()&&d.currentDispatcher.scheduleTask(()=>{m.interruptUnsafe(d.id)},0)}};c.set(f,n),m=p.pipe(r?Rt(r,{captureStackTrace:!1}):me,We(d.context)),m.addObserver(e=>{if(e._tag===`Failure`)return t(e)})}),e=>(c.delete(f),zt(aee(m),_(f,Array.from(e),s))))}),h=Xe(function*(e,r,o,s,d,f){if(l)return yield*St;let m=i?void 0:yield*mte(`${n}.${e._tag}`,{attributes:t.spanAttributes}),h=Ce(),g=a(),v=Xee(h.context,Me);yield*u(v,e=>c.has(g)?(c.delete(g),_(g,Ct(e)?Array.from(Oee(e.cause)):[],f)):ct);let y=yield*p(d);return c.set(g,{_tag:`Queue`,rpc:e,queue:y,scope:v,context:f}),yield*r(e=>t.onFromClient({message:e,context:f,discard:!1}),{_tag:`Request`,id:g,tag:e._tag,payload:o,...m?{traceId:m.traceId,spanId:m.spanId,sampled:m.sampled}:{},headers:En(h.getRef(jo),s)}).pipe(m?Rt(m,{captureStackTrace:!1}):me,Ge(e=>Pe(y,e)),ft,Nt(v,{startImmediately:!0})),y}),g=e=>{let t=[];for(let n of e.middlewares.values()){let e=o.mapUnsafe.get(`${n.key}/Client`);e&&t.push(e)}return t.length===0?(e,t)=>e(t):function n(r,i,a=t.length-1){return a===-1?r(i):t[a]({rpc:e,request:i,next(e){return n(r,e,a-1)}})}},_=(e,n,r)=>Re(i=>{let a=Ce();t.onFromClient({message:{_tag:`Interrupt`,requestId:e,interruptors:n},context:r,discard:!1}).pipe(Nee(1e3),We(a.context)).addObserver(()=>{i(ct)})}),v=e=>{switch(e._tag){case`Chunk`:{let n=e.requestId,i=c.get(n);return!i||i._tag!==`Queue`?ct:tee(i.queue,e.values).pipe(r?wt(()=>t.onFromClient({message:{_tag:`Ack`,requestId:e.requestId},context:i.context,discard:!1})):me,Ge(e=>Pe(i.queue,e)))}case`Exit`:{let t=e.requestId,n=c.get(t);return n?(c.delete(t),n._tag===`Effect`?(n.resume(e.exit),ct):e.exit._tag===`Success`?Ft(n.queue):Pe(n.queue,e.exit.cause)):ct}case`Defect`:return d(bee(e.defect));case`ClientEnd`:return ct}},y;if(t.flatten){let t=new Map;y=function(n,r,i){let a=t.get(n);return a||(a=f(e.requests.get(n)),t.set(n,a)),a(r,i)}}else y={},e.requests.forEach(e=>{y[e._tag]=f(e)});return{client:y,write:v}}),Wie=0,ko=Xe(function*(e,t){let n=Wie++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Mo,s=new Map,{client:l,write:u}=yield*Uie(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?gie():void 0,l=Ce(),u={rpc:r,context:a?ate(l.context,ca,a):l.context,schemas:Gie(r)};return s.set(t.id,u),u.schemas.encodePayload(t.payload).pipe(Te(u.context),c,wt(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)}):ct;case`Interrupt`:return s.get(t.requestId)?(s.delete(t.requestId),i(n,{_tag:`Interrupt`,requestId:String(t.requestId)})):ct;case`Eof`:return ct}}});return yield*r(n,e=>{switch(e._tag){case`Chunk`:{let t=pa(e.requestId),n=s.get(t);return!n||g(n.schemas.decodeChunk)?ct:n.schemas.decodeChunk.value(e.values).pipe(Te(n.context),c,wt(t=>u({_tag:`Chunk`,clientId:0,requestId:pa(e.requestId),values:t})),v(t=>u({_tag:`Exit`,clientId:0,requestId:pa(e.requestId),exit:Ae(t)})))}case`Exit`:{let t=pa(e.requestId),n=s.get(t);return n?(s.delete(t),n.schemas.decodeExit(e.exit).pipe(Te(n.context),c,Le({onSuccess:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:e}),onFailure:e=>u({_tag:`Exit`,clientId:0,requestId:t,exit:Ae(e)})}))):ct}case`Defect`:return u({_tag:`Defect`,clientId:0,defect:Yie(e.defect)});case`ClientProtocolError`:{let t=wee(e.error);return jt(s.keys(),e=>u({_tag:`Exit`,clientId:0,requestId:e,exit:t}))}default:return ct}}).pipe(Ge(ste),ft,tt),l}),Ao=new WeakMap,Gie=e=>{let t=Ao.get(e);if(t!==void 0)return t;let n=Vte(e.successSchema);return t={decodeChunk:be(n,e=>on(hn(hne(e.success)))),encodePayload:une(hn(e.payloadSchema)),decodeExit:on(hn(Bte(e)))},Ao.set(e,t),t},jo=$e(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Tn}),Mo=class extends yt()(`effect/rpc/RpcClient/Protocol`){static make=Vie},No=e=>Mo.make(Xe(function*(t,n){let i=yield*$i,a=yield*Do,o=yield*see(Jie),s=new Map,u=yield*i.writer,d=a.makeUnsafe(),f=yield*qie(u(d.encode(Sie))),p,m=At(()=>(p=void 0,_t(o)?o.value.onConnect:ct)),h=e=>jt(n,n=>t(n,e));return yield*At(()=>(d=a.makeUnsafe(),f.reset(),i.runRaw(e=>{try{let n=d.decode(e);if(n.length===0)return;let r=0;return Dee({while:()=>r<n.length,body:()=>{let e=n[r++];if(e._tag===`Pong`)return f.onPong(),ct;if(`requestId`in e){let n=s.get(e.requestId);if(n!==void 0)return e._tag===`Exit`&&s.delete(e.requestId),t(n,e)}return h(e)},step:oee})}catch(e){return h({_tag:`ClientProtocolError`,error:new fa({reason:new da({message:`Error decoding message`,cause:e})})})}},{onOpen:m}).pipe(ee(wt(f.timeout,()=>r(new aa({reason:new na({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))).pipe(wt(()=>r(new aa({reason:new ra({code:1e3})}))),_t(o)?Je(o.value.onDisconnect):me,Yee(t=>{let n=zee(t),r=$ee(n);return e?.retryTransientErrors&&r&&n.success.reason._tag===`SocketOpenError`?ct:(p=new fa({reason:r?n.success.reason:new da({message:`Unknown socket error`,cause:Ie(t)})}),h({_tag:`ClientProtocolError`,error:p}))}),_e(e?.retryPolicy??Kie),l({module:`RpcClient`,method:`makeProtocolSocket`}),tt),{send(e,t){if(p)return r(p);t._tag===`Request`&&s.set(t.id,e);let n=d.encode(t);return n===void 0?ct:c(u(n))},supportsAck:!0,supportsTransferables:!1}})),Kie=h(500,1.5).pipe(uee(ree(5e3))),qie=Xe(function*(e){let t=!0,n=0,r=mt();return yield*At(()=>t?(t=!1,n=0,e):(n+=1,n>=3?r.open:e)).pipe(xee(`5 seconds`),Dt,et,ft,tt),{timeout:r.await,reset:()=>{t=!0,n=0,r.closeUnsafe()},onPong:()=>{t=!0,n=0}}}),Jie=class extends yt()(`effect/rpc/RpcClient/ConnectionHooks`){},Yie=rr(Nn);function Po(e){return{id:e.id??`ws:${e.label}`,label:e.label,source:e.source??`manual`,target:e.target}}function Xie(e){return e?.target.wsBaseUrl??null}function Zie(e){return e?.target.httpBaseUrl??null}function Qie(e,t){return{...e,environmentId:t.environmentId,label:t.label}}function $ie(e){return e.cloudMode?`cmmd-cloud-runtime`:`local-web`}function eae(e){let t=$ie(e);return{topology:t,controlPlane:t!==`cmmd-cloud-runtime`,executionPlane:!0,workspaceProxy:!1}}function tae(e){let t=e.topology===`cmmd-cloud-runtime`;return{cmmd:!0,ownerBootstrapPromotion:e.topology!==`cloud-shell`&&!t,bearerBootstrap:!0,desktopBootstrap:e.topology===`desktop-local`,providerCredentialBroker:e.topology===`cmmd-control-plane`}}function nae(e){let t=e.executionPlane;return{agents:t,browser:t,github:t,terminal:t,providerEgress:e.topology===`cmmd-control-plane`}}function rae(e,t){return{localProjects:t.executionPlane,cloudProjects:e.cloudMode}}function Fo(e){let t=e.capabilities,n=t.runtime??eae(t);return{repositoryIdentity:t.repositoryIdentity,pullRequests:t.pullRequests??!1,cloudMode:t.cloudMode,posthogPublicKey:t.posthogPublicKey,posthogHost:t.posthogHost,runtime:n,auth:t.auth??tae(n),tools:t.tools??nae(n),projects:t.projects??rae(t,n)}}function iae(e){return e?Fo(e).projects.cloudProjects:!1}function aae(e){return e?Fo(e).runtime.workspaceProxy??!1:!1}function Io(e,t){return{environmentId:e,projectId:t}}function Lo(e,t){return{environmentId:e,threadId:t}}var Ro=`scoped:v1:`;function zo(e){let t=`projectId`in e?e.projectId:e.threadId;return t.includes(`:`)||e.environmentId.startsWith(Ro)?`${Ro}${encodeURIComponent(e.environmentId)}:${encodeURIComponent(t)}`:`${e.environmentId}:${t}`}function Bo(e){return zo(e)}function Vo(e){return zo(e)}function oae(e){let t=e.slice(10),n=t.indexOf(`:`);if(n<=0||n>=t.length-1||t.indexOf(`:`,n+1)!==-1)return null;try{let e=decodeURIComponent(t.slice(0,n)),r=decodeURIComponent(t.slice(n+1));return e.length>0&&r.length>0?{environmentId:e,localId:r}:null}catch{return null}}function Ho(e){if(e.startsWith(Ro))return oae(e);let t=e.lastIndexOf(`:`);return t<=0||t>=e.length-1?null:{environmentId:e.slice(0,t),localId:e.slice(t+1)}}function Uo(e){let t=Ho(e);return t?{environmentId:t.environmentId,projectId:t.localId}:null}function Wo(e){let t=Ho(e);return t?{environmentId:t.environmentId,threadId:t.localId}:null}var sae=1e3,cae=64e3;ko(Mn);function lae(e){return!Number.isInteger(e)||e<0||e>=10?null:Math.min(Math.round(sae*2**e),cae)}var Go=class extends Error{code;retryable;name=`RelayProtocolFailure`;constructor(e,t,n){super(t),this.code=e,this.retryable=n}};function Ko(e){return Array.isArray(e)?e.map(Ko):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,Ko(t)])):e}function uae(e){let t=JSON.stringify(Ko(e));if(t===void 0)throw Error(`Relay payload is not JSON serializable.`);return t}var dae={requestId:`@effect/rpc/Ping`,correlationId:`@effect/rpc/Ping`,method:`@effect/rpc/Ping`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`};function fae(e){return e._tag===`Ping`?dae:null}function pae(e){if(e.policy===null||e.policy.method!==e.method)throw new Go(`method_not_remotable`,`Relay method has no exact dispatch policy: ${e.method}`,!1);if(e.policy.requiredScope!==null&&!e.grantedScopes.includes(e.policy.requiredScope))throw new Go(`scope_denied`,`Relay method ${e.method} requires scope ${e.policy.requiredScope}`,!1);return{requiredScope:e.policy.requiredScope,deliveryClass:e.policy.deliveryClass,journalPersistence:e.policy.journalPersistence}}function mae(e){let t=new Set(e.registeredMethods),n=new Map;for(let r of e.policies){if(n.has(r.method))throw new Go(`method_not_remotable`,`Relay method has duplicate dispatch policies: ${r.method}`,!1);if(!t.has(r.method))throw new Go(`method_not_remotable`,`Relay dispatch policy targets an unregistered method: ${r.method}`,!1);if((r.deliveryClass===`idempotent-command`||r.deliveryClass===`create-command`)==(r.journalPersistence===`none`))throw new Go(`method_not_remotable`,`Relay dispatch policy has incompatible journal persistence: ${r.method}`,!1);n.set(r.method,r)}for(let t of e.registeredMethods)if(!n.has(t))throw new Go(`method_not_remotable`,`Remotely registered method has no dispatch policy: ${t}`,!1);return n}var hae=[{method:M.projectsSearchContents,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsSearchEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsListEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.serverDiscoverSourceControl,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverReportClientActivity,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.projectsWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.projectCheckoutDeletionPreview,requiredScope:`workspace.write`,deliveryClass:`read`},{method:M.projectCheckoutDeletionExecute,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.reviewGetDiffPreview,requiredScope:`diff.read`,deliveryClass:`read`},{method:M.projectsReadFile,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.cloudListRuntimes,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.filesystemBrowse,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceReadFile,requiredScope:`workspace.read`,deliveryClass:`bulk-transfer`},{method:M.workspaceBeginWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceWriteFileChunk,requiredScope:`workspace.write`,deliveryClass:`bulk-transfer`},{method:M.workspaceCommitWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceCancelWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.shellOpenInEditor,requiredScope:`shell.open`,deliveryClass:`idempotent-command`},{method:M.gitPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitRunStackedAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitListBranches,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsListRefs,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateRef,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsSwitchRef,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateBranch,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitCheckout,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitResolvePullRequest,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitPreparePullRequestThread,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.terminalOpen,requiredScope:`terminal.write`,deliveryClass:`create-command`},{method:M.terminalAttach,requiredScope:`terminal.write`,deliveryClass:`terminal-output`},{method:M.terminalWrite,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalResize,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalSignal,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClear,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalRestart,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClose,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.browserOpenSession,requiredScope:`browser.control`,deliveryClass:`create-command`},{method:M.browserListSessions,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCloseSession,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserGetSession,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCommand,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserClearBrowsingData,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAttachDisplay,requiredScope:`browser.read`,deliveryClass:`subscription`},{method:M.computerInput,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAddDisplayIceCandidate,requiredScope:`browser.read`,deliveryClass:`browser-control`},{method:M.devTunnelRegister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelUnregister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelList,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.threadDevRuntimeGet,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.threadDevRuntimeAllocatePort,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.threadDevRuntimeRelease,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.workspaceEnvironmentPreflight,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceEnsureScratch,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.serverGetConfig,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverRefreshProviders,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverStartProviderAuth,requiredScope:`provider.manage`,deliveryClass:`create-command`},{method:M.serverRepairProviderAuthRuntime,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverDisconnectProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverGetProviderAuthSession,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverCancelProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSubmitProviderAuthCode,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalCodexToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalClaudeToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverUpsertKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverRemoveKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetSettings,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverUpdateSettings,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverUpdateEnvironmentDisplayName,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetTraceDiagnostics,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverHeartbeat,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.usageGetSummary,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.pullRequestsList,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsListStats,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDetail,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsActivity,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsThreadComments,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDiffFileContents,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRunAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsUpdate,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsComment,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsUpdateComment,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSubmitReview,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsReplyToThread,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsSetThreadResolution,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSetReaction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsInvalidate,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsReviewerCandidates,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRequestReviewers,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.subscribeGitStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeVcsStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeTerminalEvents,requiredScope:`terminal.read`,deliveryClass:`terminal-output`},{method:M.subscribeTerminalMetadata,requiredScope:`terminal.read`,deliveryClass:`read`},{method:M.subscribeBrowserEvents,requiredScope:`browser.read`,deliveryClass:`browser-frame`},{method:M.subscribeServerConfig,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeServerLifecycle,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeAuthAccess,requiredScope:`provider.read`,deliveryClass:`subscription`},{method:M.subscribeWorkspaceReadiness,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:qn.dispatchCommand,requiredScope:null,deliveryClass:`idempotent-command`},{method:qn.getTurnDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.getFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.streamTurnDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.streamFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.replayEvents,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getArchivedShellSnapshot,requiredScope:`thread.read`,deliveryClass:`read`},{method:qn.subscribeShell,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.subscribeThread,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getThreadDetailPage,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.assetsCreateUrl,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.attachmentsCreateUploadUrl,requiredScope:`turn.dispatch`,deliveryClass:`create-command`},{method:M.attachmentsDelete,requiredScope:`turn.dispatch`,deliveryClass:`idempotent-command`},{method:qn.searchThreads,requiredScope:`thread.read`,deliveryClass:`read`},{method:M.providerUploadFeedback,requiredScope:`thread.read`,deliveryClass:`create-command`},{method:M.sourceControlLookupRepository,requiredScope:`git.read`,deliveryClass:`read`},{method:M.sourceControlCloneRepository,requiredScope:`project.write`,deliveryClass:`idempotent-command`}],gae=new Set([M.gitPull,M.gitRunStackedAction,M.gitCreateWorktree,M.gitRemoveWorktree,M.gitCreateBranch,M.gitCheckout,M.gitInit,M.gitPreparePullRequestThread,M.threadDevRuntimeAllocatePort,M.threadDevRuntimeRelease,M.serverUpsertKeybinding,M.serverRemoveKeybinding,M.serverUpdateEnvironmentDisplayName,qn.dispatchCommand]),_ae=hae.map(e=>{let t=e.deliveryClass===`idempotent-command`||e.deliveryClass===`create-command`;return{method:e.method,requiredScope:e.requiredScope,deliveryClass:e.deliveryClass,journalPersistence:t?gae.has(e.method)?`frame`:`metadata-only`:`none`}}),vae=mae({registeredMethods:[...Mn.requests.keys()],policies:_ae}),qo={"project.create":{requiredScope:`project.write`,deliveryClass:`create-command`},"project.meta.update":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"project.script.update":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"project.delete":{requiredScope:`project.write`,deliveryClass:`idempotent-command`},"thread.create":{requiredScope:`thread.create`,deliveryClass:`create-command`},"thread.delete":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.archive":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.settle":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.unsettle":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.unarchive":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.meta.update":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.runtime-mode.set":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.interaction-mode.set":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.turn.start":{requiredScope:`turn.dispatch`,deliveryClass:`create-command`},"thread.turn.interrupt":{requiredScope:`turn.stop`,deliveryClass:`idempotent-command`},"thread.approval.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`},"thread.user-input.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`},"thread.checkpoint.revert":{requiredScope:`thread.mutate`,deliveryClass:`idempotent-command`},"thread.session.stop":{requiredScope:`turn.stop`,deliveryClass:`idempotent-command`},"thread.plan-approval.respond":{requiredScope:`approval.respond`,deliveryClass:`idempotent-command`}},yae=new Set([`thread.approval.respond`,`thread.user-input.respond`,`thread.plan-approval.respond`]);function bae(e){if(e.method!==qn.dispatchCommand||!e.payload||typeof e.payload!=`object`||Array.isArray(e.payload))return null;let t=e.payload;if(typeof t.type!=`string`||!yae.has(t.type))return null;let n=t.type===`thread.plan-approval.respond`?t.promptId:t.requestId;if(typeof t.commandId!=`string`||t.commandId.length===0||typeof n!=`string`||n.length===0)throw new Go(`action_grant_invalid`,`Relay sensitive action metadata is incomplete`,!1);return{commandType:t.type,commandId:t.commandId,targetId:n}}function Jo(e){let t=vae.get(e.method)??null,n=pae({method:e.method,grantedScopes:e.grantedScopes,policy:t});if(e.method!==qn.dispatchCommand)return n;if(!e.payload||typeof e.payload!=`object`||!(`type`in e.payload))throw new Go(`method_not_remotable`,`Relay orchestration dispatch payload has no command policy`,!1);let r=e.payload.type;if(typeof r!=`string`||!(r in qo))throw new Go(`method_not_remotable`,`Relay orchestration command has no dispatch policy: ${String(r)}`,!1);let i=qo[r];if(!e.grantedScopes.includes(i.requiredScope))throw new Go(`scope_denied`,`Relay orchestration command ${r} requires scope ${i.requiredScope}`,!1);return{requiredScope:i.requiredScope,deliveryClass:i.deliveryClass,journalPersistence:n.journalPersistence}}var Yo=class extends Error{constructor(e){let t;t=e instanceof Error?e.message:typeof e==`string`?e:``,super(t),this.name=this.constructor.name}},Xo=class extends Yo{},Zo=class extends Yo{},Qo=class extends Yo{},xae=class extends Yo{},Sae=class extends Yo{},Cae=class extends Yo{},wae=class extends Yo{},Tae=class extends Yo{},Eae=class extends Yo{},Dae=class extends Yo{},$o=class extends Yo{},es=Oae(globalThis,{});function Oae(e,t){return new Proxy(e,{get(n,r,i){return r in t?t[r]:e[r]},set(n,r,i){return r in t&&delete t[r],e[r]=i,!0},deleteProperty(n,r){let i=!1;return r in t&&(delete t[r],i=!0),r in e&&(delete e[r],i=!0),i},ownKeys(n){let r=Reflect.ownKeys(e),i=Reflect.ownKeys(t),a=new Set(i);return[...r.filter(e=>!a.has(e)),...i]},defineProperty(n,r,i){return r in t&&delete t[r],Reflect.defineProperty(e,r,i),!0},getOwnPropertyDescriptor(n,r){return r in t?Reflect.getOwnPropertyDescriptor(t,r):Reflect.getOwnPropertyDescriptor(e,r)},has(n,r){return r in t||r in e}})}async function kae(){if(es!==void 0&&globalThis.crypto!==void 0)return globalThis.crypto.subtle;try{let{webcrypto:e}=await N(async()=>{let{webcrypto:e}=await import(`./__vite-browser-external-2W3EstLn.js`).then(e=>t(e.default));return{webcrypto:e}},__vite__mapDeps([0,1]));return e.subtle}catch(e){throw new $o(e)}}var ts=class{constructor(){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async _setup(){this._api===void 0&&(this._api=await kae())}},ns={Base:0,Psk:1,Auth:2,AuthPsk:3},Aae={NotAssigned:0,DhkemP256HkdfSha256:16,DhkemP384HkdfSha384:17,DhkemP521HkdfSha512:18,DhkemSecp256k1HkdfSha256:19,DhkemX25519HkdfSha256:32,DhkemX448HkdfSha512:33,HybridkemX25519Kyber768:48,MlKem512:64,MlKem768:65,MlKem1024:66,XWing:25722},rs={HkdfSha256:1,HkdfSha384:2,HkdfSha512:3,Sha3256:4,Sha3384:5,Sha3512:6,Shake128:16,Shake256:17,TurboShake128:18,TurboShake256:19},is={Aes128Gcm:1,Aes256Gcm:2,Chacha20Poly1305:3,ExportOnly:65535},as=new Uint8Array,os=0n,ss=1n,cs=2n,jae=new Uint8Array([75,69,77,0,0]),ls=new Uint8Array([72,80,75,69,45,118,49]);function us(e){return new Uint8Array(ds(e))}function ds(e){return e instanceof ArrayBuffer?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice().buffer:new Uint8Array(e).slice().buffer}var Mae=class extends ts{constructor(){super(),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:rs.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:as}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}init(e){this._suiteId=e}buildLabeledIkm(e,t){this._checkInit();let n=new Uint8Array(7+this._suiteId.byteLength+e.byteLength+t.byteLength);return n.set(ls,0),n.set(this._suiteId,7),n.set(e,7+this._suiteId.byteLength),n.set(t,7+this._suiteId.byteLength+e.byteLength),n}buildLabeledInfo(e,t,n){this._checkInit();let r=new Uint8Array(9+this._suiteId.byteLength+e.byteLength+t.byteLength);return r.set(new Uint8Array([0,n]),0),r.set(ls,2),r.set(this._suiteId,9),r.set(e,9+this._suiteId.byteLength),r.set(t,9+this._suiteId.byteLength+e.byteLength),r}async extract(e,t){await this._setup();let n=e.byteLength===0?new ArrayBuffer(this.hashSize):ds(e);if(n.byteLength!==this.hashSize)throw new Xo(`The salt length must be the same as the hashSize`);let r=ds(t),i=await this._api.importKey(`raw`,n,this.algHash,!1,[`sign`]);return await this._api.sign(`HMAC`,i,r)}async expand(e,t,n){await this._setup();let r=ds(e),i=await this._api.importKey(`raw`,r,this.algHash,!1,[`sign`]),a=new ArrayBuffer(n),o=new Uint8Array(a),s=as,c=us(t),l=new Uint8Array(1);if(n>255*this.hashSize)throw Error(`Entropy limit reached`);let u=new Uint8Array(this.hashSize+c.length+1);for(let e=1,t=0;t<o.length;e++)l[0]=e,u.set(s,0),u.set(c,s.length),u.set(l,s.length+c.length),s=new Uint8Array(await this._api.sign(`HMAC`,i,u.slice(0,s.length+c.length+1))),o.length-t>=s.length?(o.set(s,t),t+=s.length):(o.set(s.slice(0,o.length-t),t),t+=o.length-t);return a}async extractAndExpand(e,t,n,r){await this._setup();let i=ds(t),a=await this._api.importKey(`raw`,i,`HKDF`,!1,[`deriveBits`]);return await this._api.deriveBits({name:`HKDF`,hash:this.algHash.hash,salt:ds(e),info:ds(n)},a,r*8)}async labeledExtract(e,t,n){return await this.extract(e,this.buildLabeledIkm(t,n))}async labeledExpand(e,t,n,r){return await this.expand(e,this.buildLabeledInfo(t,n,r),r)}_checkInit(){if(this._suiteId===as)throw Error(`Not initialized. Call init()`)}},Nae=class extends Mae{constructor(){super(...arguments),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:rs.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"algHash",{enumerable:!0,configurable:!0,writable:!0,value:{name:`HMAC`,hash:`SHA-256`,length:256}})}},fs=e=>typeof e==`object`&&!!e&&typeof e.privateKey==`object`&&typeof e.publicKey==`object`;function ps(e,t){if(t<=0)throw Error(`i2Osp: too small size`);if(e>=256**t)throw Error(`i2Osp: too large integer`);let n=new Uint8Array(t);for(let r=0;r<t&&e;r++)n[t-(r+1)]=e%256,e=Math.floor(e/256);return n}function ms(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function hs(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}async function Pae(){if(es!==void 0&&globalThis.crypto!==void 0)return globalThis.crypto;try{let{webcrypto:e}=await N(async()=>{let{webcrypto:e}=await import(`./__vite-browser-external-2W3EstLn.js`).then(e=>t(e.default));return{webcrypto:e}},__vite__mapDeps([0,1]));return e}catch{throw Error(`failed to load Crypto`)}}function Fae(e,t){if(e.byteLength!==t.byteLength)throw Error(`xor: different length inputs`);let n=new Uint8Array(e.byteLength);for(let r=0;r<e.byteLength;r++)n[r]=e[r]^t[r];return n}var Iae=new Uint8Array([101,97,101,95,112,114,107]),Lae=new Uint8Array([115,104,97,114,101,100,95,115,101,99,114,101,116]);function Rae(e,t,n){let r=new Uint8Array(e.length+t.length+n.length);return r.set(e,0),r.set(t,e.length),r.set(n,e.length+t.length),r}var zae=class{constructor(e,t,n){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"secretSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"encSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"publicKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"privateKeySize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_prim",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=e,this._prim=t,this._kdf=n;let r=new Uint8Array(jae);r.set(ps(this.id,2),3),this._kdf.init(r)}async serializePublicKey(e){return await this._prim.serializePublicKey(e)}async deserializePublicKey(e){return await this._prim.deserializePublicKey(ds(e))}async serializePrivateKey(e){return await this._prim.serializePrivateKey(e)}async deserializePrivateKey(e){return await this._prim.deserializePrivateKey(ds(e))}async importKey(e,t,n=!0){return await this._prim.importKey(e,t,n)}async generateKeyPair(){return await this._prim.generateKeyPair()}async deriveKeyPair(e){let t=ds(e);if(t.byteLength>8192)throw new Xo(`Too long ikm`);return await this._prim.deriveKeyPair(t)}async encap(e){let t;t=e.ekm===void 0?await this.generateKeyPair():fs(e.ekm)?e.ekm:await this.deriveKeyPair(e.ekm);let n=await this._prim.serializePublicKey(t.publicKey),r=await this._prim.serializePublicKey(e.recipientPublicKey);try{let i;if(e.senderKey===void 0)i=new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey));else{let n=fs(e.senderKey)?e.senderKey.privateKey:e.senderKey;i=ms(new Uint8Array(await this._prim.dh(t.privateKey,e.recipientPublicKey)),new Uint8Array(await this._prim.dh(n,e.recipientPublicKey)))}let a;if(e.senderKey===void 0)a=ms(new Uint8Array(n),new Uint8Array(r));else{let t=fs(e.senderKey)?e.senderKey.publicKey:await this._prim.derivePublicKey(e.senderKey),i=await this._prim.serializePublicKey(t);a=Rae(new Uint8Array(n),new Uint8Array(r),new Uint8Array(i))}return{enc:n,sharedSecret:await this._generateSharedSecret(i,a)}}catch(e){throw new xae(e)}}async decap(e){let t=ds(e.enc),n=await this._prim.deserializePublicKey(t),r=fs(e.recipientKey)?e.recipientKey.privateKey:e.recipientKey,i=fs(e.recipientKey)?e.recipientKey.publicKey:await this._prim.derivePublicKey(e.recipientKey),a=await this._prim.serializePublicKey(i);try{let i;i=e.senderPublicKey===void 0?new Uint8Array(await this._prim.dh(r,n)):ms(new Uint8Array(await this._prim.dh(r,n)),new Uint8Array(await this._prim.dh(r,e.senderPublicKey)));let o;if(e.senderPublicKey===void 0)o=ms(new Uint8Array(t),new Uint8Array(a));else{let n=await this._prim.serializePublicKey(e.senderPublicKey);o=new Uint8Array(t.byteLength+a.byteLength+n.byteLength),o.set(new Uint8Array(t),0),o.set(new Uint8Array(a),t.byteLength),o.set(new Uint8Array(n),t.byteLength+a.byteLength)}return await this._generateSharedSecret(i,o)}catch(e){throw new Sae(e)}}async _generateSharedSecret(e,t){let n=this._kdf.buildLabeledIkm(Iae,e),r=this._kdf.buildLabeledInfo(Lae,t,this.secretSize);return await this._kdf.extractAndExpand(as,n,r,this.secretSize)}},gs=[`deriveBits`],Bae=new Uint8Array([100,107,112,95,112,114,107]),Vae=new Uint8Array([115,107]),_s=class{constructor(e,t,n,r=[]){Object.defineProperty(this,"key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extractable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"algorithm",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"usages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.key=t,this.type=n,this.algorithm={name:e},this.usages=r,n===`public`&&(this.usages=[])}},Hae=class{constructor(e,t,n,r){Object.defineProperty(this,"_algName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_curve",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_hkdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nPk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nSk",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._algName=e,this._nPk=t,this._nSk=t,this._curve=n,this._hkdf=r}serializePublicKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new Zo(e))}}async deserializePublicKey(e){try{return await this._importRawKey(ds(e),!0)}catch(e){throw new Qo(e)}}serializePrivateKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new Zo(e))}}async deserializePrivateKey(e){try{return await this._importRawKey(ds(e),!1)}catch(e){throw new Qo(e)}}async importKey(e,t,n){try{if(e===`raw`)return await this._importRawKey(t,n);if(t instanceof ArrayBuffer)throw Error(`Invalid jwk key format`);return await this._importJWK(t,n)}catch(e){throw new Qo(e)}}async generateKeyPair(){try{let e=await this._curve.utils.randomSecretKey(),t=new _s(this._algName,e,`private`,gs);return{publicKey:await this.derivePublicKey(t),privateKey:t}}catch(e){throw new $o(e)}}async deriveKeyPair(e){try{let t=ds(e),n=await this._hkdf.labeledExtract(as.buffer,Bae,new Uint8Array(t)),r=await this._hkdf.labeledExpand(n,Vae,as,this._nSk),i=new _s(this._algName,new Uint8Array(r),`private`,gs);return{privateKey:i,publicKey:await this.derivePublicKey(i)}}catch(e){throw new Dae(e)}}derivePublicKey(e){try{let t=this._curve.getPublicKey(e.key);return Promise.resolve(new _s(this._algName,t,`public`))}catch(e){return Promise.reject(new Qo(e))}}dh(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e.key,t.key).buffer)}catch(e){return Promise.reject(new Zo(e))}}_importRawKey(e,t){return new Promise((n,r)=>{t&&e.byteLength!==this._nPk&&r(Error(`Invalid length of the key`)),!t&&e.byteLength!==this._nSk&&r(Error(`Invalid length of the key`)),n(new _s(this._algName,new Uint8Array(e),t?`public`:`private`,t?[]:gs))})}_importJWK(e,t){return new Promise((n,r)=>{e.kty!==`OKP`&&r(Error(`Invalid kty: ${e.kty}`)),e.crv!==this._algName&&r(Error(`Invalid crv: ${e.crv}`)),t?(e.d!==void 0&&r(Error("Invalid key: `d` should not be set")),typeof e.x!=`string`&&r(Error("Invalid key: `x` not found")),n(new _s(this._algName,hs(e.x),`public`))):(typeof e.d!=`string`&&r(Error("Invalid key: `d` not found")),n(new _s(this._algName,hs(e.d),`private`,gs)))})}};function Uae(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function vs(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >0, got ${e}`)}}function ys(e,t,n=``){let r=Uae(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`;throw Error(o+`expected Uint8Array`+s+`, got `+c)}return e}function bs(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function xs(e,t){ys(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function Wae(e){if(typeof e==`bigint`){if(!Ms(e))throw Error(`positive bigint expected, got `+e)}else vs(e);return e}function Ss(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Cs(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var Gae=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function ws(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ts(e,t){return e<<32-t|e>>>t}var Es=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Kae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),qae=[0n,1n,2n,3n,4n,5n,6n,7n,8n,9n,10n,11n,12n,13n,14n,15n];function Jae(e){if(ys(e),Es)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Kae[e[n]];return t}var Ds={_0:48,_9:57,A:65,F:70,a:97,f:102};function Os(e){if(e>=Ds._0&&e<=Ds._9)return e-Ds._0;if(e>=Ds.A&&e<=Ds.F)return e-(Ds.A-10);if(e>=Ds.a&&e<=Ds.f)return e-(Ds.a-10)}function Yae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Es)return Uint8Array.fromHex(e);let t=e.length,n=t/2;if(t%2)throw Error(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=Os(e.charCodeAt(i)),a=Os(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw Error(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function Xae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=os;for(let n=0;n<e.length;n++){let r=Os(e.charCodeAt(n));if(r===void 0)throw Error(`hex string expected, got non-hex character "`+e[n]+`" at index `+n);t=t<<4n|qae[r]}return t}function ks(e){vs(e,`numberToBigint`);let t=e,n=os,r=1n;for(;t>0;)t%2==1&&(n+=r),t=Math.floor(t/2),r<<=1n;return n}function As(e){return Xae(Jae(js(ys(e)).reverse()))}function Zae(e,t){vs(t),e=Wae(e);let n=Yae(e.toString(16).padStart(t*2,`0`));if(n.length!==t)throw Error(`number too large`);return n}function Qae(e,t){return Zae(e,t).reverse()}function js(e){return Uint8Array.from(e)}function Ms(e){return typeof e==`bigint`&&0n<=e}function $ae(e,t,n){return Ms(e)&&Ms(t)&&Ms(n)&&t<=e&&e<n}function Ns(e,t,n,r){if(!$ae(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function eoe(e,t={},n={}){if(!e||typeof e!=`object`)throw Error(`expected valid options object`);function r(t,n,r){let i=e[t];if(r&&i===void 0)return;let a=typeof i;if(a!==n||i===null)throw Error(`param "${t}" is invalid: expected ${n}, got ${a}`)}let i=(e,t)=>Object.entries(e).forEach(([e,n])=>r(e,n,t));i(t,!1),i(n,!0)}async function toe(e=32){let t=await Pae(),n=new Uint8Array(e);return t.getRandomValues(n),n}function noe(e){return{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}}function roe(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash must wrapped by utils.createHasher`);vs(e.outputLen),vs(e.blockLen)}function ioe(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0),i=Object.assign(n,{outputLen:r.outputLen,blockLen:r.blockLen,create:t=>e(t),...t});return Object.freeze(i)}var Ps=class{constructor(e,t){if(Object.defineProperty(this,"oHash",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"iHash",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),roe(e),ys(t,void 0,`key`),this.iHash=e.create(),typeof this.iHash.update!=`function`)throw Error(`Expected instance of class which extends utils.Hash`);this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,r=new Uint8Array(n);r.set(t.length>n?e.create().update(t).digest():t);for(let e=0;e<r.length;e++)r[e]^=54;this.iHash.update(r),this.oHash=e.create();for(let e=0;e<r.length;e++)r[e]^=106;this.oHash.update(r),Cs(r)}update(e){return bs(this),this.iHash.update(e),this}digestInto(e){bs(this),ys(e,this.outputLen,`output`),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:n,finished:r,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=r,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Fs=(e,t,n)=>new Ps(e,t).update(n).digest();Fs.create=(e,t)=>new Ps(e,t);function aoe(e,t,n){return e&t^~e&n}function ooe(e,t,n){return e&t^e&n^t&n}var soe=class{constructor(e,t,n,r){Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"padOffset",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isLE",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"buffer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"view",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"length",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"pos",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=ws(this.buffer)}update(e){bs(this),ys(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(r-this.pos,i-a);if(o===r){let t=ws(e);for(;r<=i-a;a+=r)this.process(t,a);continue}n.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){bs(this),xs(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Cs(this.buffer.subarray(a)),this.padOffset>r-a&&(this.process(n,0),a=0);for(let e=a;e<r;e++)t[e]=0;n.setBigUint64(r-8,ks(this.length*8),i),this.process(n,0);let o=ws(e),s=this.outputLen;if(s%4)throw Error(`_sha2: outputLen must be aligned to 32bit`);let c=s/4,l=this.get();if(c>l.length)throw Error(`_sha2: outputLen bigger than state`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:n,length:r,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=r,e.pos=o,r%t&&e.buffer.set(n),e}clone(){return this._cloneInto()}},Is=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),coe=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ls=new Uint32Array(64),loe=class extends soe{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}process(e,t){for(let n=0;n<16;n++,t+=4)Ls[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Ls[e-15],n=Ls[e-2],r=Ts(t,7)^Ts(t,18)^t>>>3,i=Ts(n,17)^Ts(n,19)^n>>>10;Ls[e]=i+Ls[e-7]+r+Ls[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=Ts(o,6)^Ts(o,11)^Ts(o,25),u=l+t+aoe(o,s,c)+coe[e]+Ls[e]|0,d=(Ts(n,2)^Ts(n,13)^Ts(n,22))+ooe(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){Cs(Ls)}destroy(){this.set(0,0,0,0,0,0,0,0),Cs(this.buffer)}},uoe=class extends loe{constructor(){super(32),Object.defineProperty(this,"A",{enumerable:!0,configurable:!0,writable:!0,value:Is[0]|0}),Object.defineProperty(this,"B",{enumerable:!0,configurable:!0,writable:!0,value:Is[1]|0}),Object.defineProperty(this,"C",{enumerable:!0,configurable:!0,writable:!0,value:Is[2]|0}),Object.defineProperty(this,"D",{enumerable:!0,configurable:!0,writable:!0,value:Is[3]|0}),Object.defineProperty(this,"E",{enumerable:!0,configurable:!0,writable:!0,value:Is[4]|0}),Object.defineProperty(this,"F",{enumerable:!0,configurable:!0,writable:!0,value:Is[5]|0}),Object.defineProperty(this,"G",{enumerable:!0,configurable:!0,writable:!0,value:Is[6]|0}),Object.defineProperty(this,"H",{enumerable:!0,configurable:!0,writable:!0,value:Is[7]|0})}},Rs=ioe(()=>new uoe,noe(1));function zs(e,t){let n=e%t;return n>=0n?n:t+n}function Bs(e,t,n){let r=e;for(;t-->os;)r*=r,r%=n;return r}function doe(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}function foe(e){return eoe(e,{adjustScalarBytes:`function`,powPminus2:`function`}),Object.freeze({...e})}function poe(e){let{P:t,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:a}=foe(e),o=n===`x25519`;if(!o&&n!==`x448`)throw Error(`invalid type`);let s=a||toe,c=o?255n:448n,l=o?32:56,u=o?9n:5n,d=o?121665n:39081n,f=o?cs**254n:cs**447n,p=f+(o?8n*cs**251n-ss:4n*cs**445n-ss)+ss,m=e=>zs(e,t),h=g(u);function g(e){return Qae(m(e),l)}function _(e){let t=js(ys(e,l,`uCoordinate`));return o&&(t[31]&=127),m(As(t))}function v(e){return As(r(js(ys(e,l,`scalar`))))}function y(e,t){let n=w(_(t),v(e));if(n===0n)throw Error(`invalid private or public key received`);return g(n)}function b(e){return y(e,h)}let x=b,S=y;function C(e,t,n){let r=m(e*(t-n));return t=m(t-r),n=m(n+r),{x_2:t,x_3:n}}function w(e,n){Ns(`u`,e,os,t),Ns(`scalar`,n,f,p);let r=n,a=e,o=ss,s=os,l=e,u=ss,h=os;for(let e=c-1n;e>=os;e--){let t=r>>e&ss;h^=t,{x_2:o,x_3:l}=C(h,o,l),{x_2:s,x_3:u}=C(h,s,u),h=t;let n=o+s,i=m(n*n),c=o-s,f=m(c*c),p=i-f,g=l+u,_=l-u,v=m(_*n),y=m(g*c),b=v+y,x=v-y;l=m(b*b),u=m(a*m(x*x)),o=m(i*f),s=m(p*(i+m(d*p)))}({x_2:o,x_3:l}=C(h,o,l)),{x_2:s,x_3:u}=C(h,s,u);let g=i(s);return m(o*g)}let T={secretKey:l,publicKey:l,seed:l},E=async e=>(e===void 0&&(e=await s(l)),ys(e,T.seed,`seed`),e),D={randomSecretKey:E};return Object.freeze({keygen:doe(E,x),getSharedSecret:S,getPublicKey:x,scalarMult:y,scalarMultBase:b,utils:D,GuBytes:h.slice(),lengths:T})}function Vs(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var moe=(e,t)=>{function n(n,...r){if(ys(n,void 0,`key`),!Gae)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];ys(t,e.varSizeNonce?void 0:e.nonceLength,`nonce`)}let i=e.tagLength;i&&r[1]!==void 0&&ys(r[1],void 0,`AAD`);let a=t(n,...r),o=(e,t)=>{if(t!==void 0){if(e!==2)throw Error(`cipher output not supported`);ys(t,void 0,`output`)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,ys(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(ys(e),i&&e.length<i)throw Error(`"ciphertext" expected length bigger than tagLength=`+i);return o(a.decrypt.length,t),a.decrypt(e,t)}}}return Object.assign(n,e),n};function hoe(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function goe(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function Hs(e,t,n=!0){if(t===void 0)return new Uint8Array(e);if(t.length!==e)throw Error(`"output" expected Uint8Array of length `+e+`, got: `+t.length);if(n&&!voe(t))throw Error(`invalid output, must be aligned`);return t}function _oe(e,t,n){Vs(n);let r=new Uint8Array(16),i=ws(r);return i.setBigUint64(0,ks(t),n),i.setBigUint64(8,ks(e),n),r}function voe(e){return e.byteOffset%4==0}var Us=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),yoe=Us(`expand 16-byte k`),boe=Us(`expand 32-byte k`),xoe=Ss(yoe),Soe=Ss(boe);function Ws(e,t){return e<<t|e>>>32-t}function Gs(e){return e.byteOffset%4==0}var Ks=64,Coe=16,qs=2**32-1,Js=Uint32Array.of();function woe(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(Ks),u=Ss(l),d=Gs(i)&&Gs(a),f=d?Ss(i):Js,p=d?Ss(a):Js;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=qs)throw Error(`arx: counter overflow`);let h=Math.min(Ks,c-m);if(d&&h===Ks){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<Coe;t++)n=e+t,p[n]=f[n]^u[t];m+=Ks;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function Toe(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=hoe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return vs(i),vs(o),Vs(a),Vs(n),(t,s,c,l,u=0)=>{ys(t,void 0,`key`),ys(s,void 0,`nonce`),ys(c,void 0,`data`);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),ys(l,void 0,`output`),vs(u),u<0||u>=qs)throw Error(`arx: counter overflow`);if(l.length<d)throw Error(`arx: output (${l.length}) is shorter than data (${d})`);let f=[],p=t.length,m,h;if(p===32)f.push(m=js(t)),h=Soe;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=xoe,f.push(m);else throw ys(t,32,`arx key`),Error(`invalid key size`);Gs(s)||f.push(s=js(s));let g=Ss(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,Ss(s.subarray(0,16)),g),s=s.subarray(16)}let _=16-i;if(_!==s.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let e=new Uint8Array(12);e.set(s,a?0:12-s.length),s=e,f.push(s)}let v=Ss(s);return woe(e,h,g,v,c,l,u,o),Cs(...f),l}}function Ys(e,t){return e[t++]&255|(e[t++]&255)<<8}var Eoe=class{constructor(e){Object.defineProperty(this,"blockLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"outputLen",{enumerable:!0,configurable:!0,writable:!0,value:16}),Object.defineProperty(this,"buffer",{enumerable:!0,configurable:!0,writable:!0,value:new Uint8Array(16)}),Object.defineProperty(this,"r",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"h",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(10)}),Object.defineProperty(this,"pad",{enumerable:!0,configurable:!0,writable:!0,value:new Uint16Array(8)}),Object.defineProperty(this,"pos",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"finished",{enumerable:!0,configurable:!0,writable:!0,value:!1}),e=js(ys(e,32,`key`));let t=Ys(e,0),n=Ys(e,2),r=Ys(e,4),i=Ys(e,6),a=Ys(e,8),o=Ys(e,10),s=Ys(e,12),c=Ys(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|n<<3)&8191,this.r[2]=(n>>>10|r<<6)&7939,this.r[3]=(r>>>7|i<<9)&8191,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,this.r[6]=(a>>>14|o<<2)&8191,this.r[7]=(o>>>11|s<<5)&8065,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=Ys(e,16+2*t)}process(e,t,n=!1){let r=n?0:2048,{h:i,r:a}=this,o=a[0],s=a[1],c=a[2],l=a[3],u=a[4],d=a[5],f=a[6],p=a[7],m=a[8],h=a[9],g=Ys(e,t+0),_=Ys(e,t+2),v=Ys(e,t+4),y=Ys(e,t+6),b=Ys(e,t+8),x=Ys(e,t+10),S=Ys(e,t+12),C=Ys(e,t+14),w=i[0]+(g&8191),T=i[1]+((g>>>13|_<<3)&8191),E=i[2]+((_>>>10|v<<6)&8191),D=i[3]+((v>>>7|y<<9)&8191),ee=i[4]+((y>>>4|b<<12)&8191),te=i[5]+(b>>>1&8191),ne=i[6]+((b>>>14|x<<2)&8191),O=i[7]+((x>>>11|S<<5)&8191),k=i[8]+((S>>>8|C<<8)&8191),re=i[9]+(C>>>5|r),A=0,ie=A+w*o+5*h*T+5*m*E+5*p*D+5*f*ee;A=ie>>>13,ie&=8191,ie+=5*d*te+5*u*ne+5*l*O+5*c*k+5*s*re,A+=ie>>>13,ie&=8191;let ae=A+w*s+T*o+5*h*E+5*m*D+5*p*ee;A=ae>>>13,ae&=8191,ae+=5*f*te+5*d*ne+5*u*O+5*l*k+5*c*re,A+=ae>>>13,ae&=8191;let oe=A+w*c+T*s+E*o+5*h*D+5*m*ee;A=oe>>>13,oe&=8191,oe+=5*p*te+5*f*ne+5*d*O+5*u*k+5*l*re,A+=oe>>>13,oe&=8191;let se=A+w*l+T*c+E*s+D*o+5*h*ee;A=se>>>13,se&=8191,se+=5*m*te+5*p*ne+5*f*O+5*d*k+5*u*re,A+=se>>>13,se&=8191;let ce=A+w*u+T*l+E*c+D*s+ee*o;A=ce>>>13,ce&=8191,ce+=5*h*te+5*m*ne+5*p*O+5*f*k+5*d*re,A+=ce>>>13,ce&=8191;let le=A+w*d+T*u+E*l+D*c+ee*s;A=le>>>13,le&=8191,le+=te*o+5*h*ne+5*m*O+5*p*k+5*f*re,A+=le>>>13,le&=8191;let ue=A+w*f+T*d+E*u+D*l+ee*c;A=ue>>>13,ue&=8191,ue+=te*s+ne*o+5*h*O+5*m*k+5*p*re,A+=ue>>>13,ue&=8191;let de=A+w*p+T*f+E*d+D*u+ee*l;A=de>>>13,de&=8191,de+=te*c+ne*s+O*o+5*h*k+5*m*re,A+=de>>>13,de&=8191;let fe=A+w*m+T*p+E*f+D*d+ee*u;A=fe>>>13,fe&=8191,fe+=te*l+ne*c+O*s+k*o+5*h*re,A+=fe>>>13,fe&=8191;let pe=A+w*h+T*m+E*p+D*f+ee*d;A=pe>>>13,pe&=8191,pe+=te*u+ne*l+O*c+k*s+re*o,A+=pe>>>13,pe&=8191,A=(A<<2)+A|0,A=A+ie|0,ie=A&8191,A>>>=13,ae+=A,i[0]=ie,i[1]=ae,i[2]=oe,i[3]=se,i[4]=ce,i[5]=le,i[6]=ue,i[7]=de,i[8]=fe,i[9]=pe}finalize(){let{h:e,pad:t}=this,n=new Uint16Array(10),r=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=r,r=e[t]>>>13,e[t]&=8191;e[0]+=r*5,r=e[0]>>>13,e[0]&=8191,e[1]+=r,r=e[1]>>>13,e[1]&=8191,e[2]+=r,n[0]=e[0]+5,r=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+r,r=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(r^1)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let a=e[0]+t[0];e[0]=a&65535;for(let n=1;n<8;n++)a=(e[n]+t[n]|0)+(a>>>16)|0,e[n]=a&65535;Cs(n)}update(e){bs(this),ys(e),e=js(e);let{buffer:t,blockLen:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(n-this.pos,r-i);if(a===n){for(;n<=r-i;i+=n)this.process(e,i);continue}t.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){Cs(this.h,this.r,this.buffer,this.pad)}digestInto(e){bs(this),xs(e,this),this.finished=!0;let{buffer:t,h:n}=this,{pos:r}=this;if(r){for(t[r++]=1;r<16;r++)t[r]=0;this.process(t,0,!0)}this.finalize();let i=0;for(let t=0;t<8;t++)e[i++]=n[t]>>>0,e[i++]=n[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}};function Doe(e){let t=(t,n)=>e(n).update(t).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}var Ooe=Doe(e=>new Eoe(e));function koe(e,t,n,r,i,a=20){let o=e[0],s=e[1],c=e[2],l=e[3],u=t[0],d=t[1],f=t[2],p=t[3],m=t[4],h=t[5],g=t[6],_=t[7],v=i,y=n[0],b=n[1],x=n[2],S=o,C=s,w=c,T=l,E=u,D=d,ee=f,te=p,ne=m,O=h,k=g,re=_,A=v,ie=y,ae=b,oe=x;for(let e=0;e<a;e+=2)S=S+E|0,A=Ws(A^S,16),ne=ne+A|0,E=Ws(E^ne,12),S=S+E|0,A=Ws(A^S,8),ne=ne+A|0,E=Ws(E^ne,7),C=C+D|0,ie=Ws(ie^C,16),O=O+ie|0,D=Ws(D^O,12),C=C+D|0,ie=Ws(ie^C,8),O=O+ie|0,D=Ws(D^O,7),w=w+ee|0,ae=Ws(ae^w,16),k=k+ae|0,ee=Ws(ee^k,12),w=w+ee|0,ae=Ws(ae^w,8),k=k+ae|0,ee=Ws(ee^k,7),T=T+te|0,oe=Ws(oe^T,16),re=re+oe|0,te=Ws(te^re,12),T=T+te|0,oe=Ws(oe^T,8),re=re+oe|0,te=Ws(te^re,7),S=S+D|0,oe=Ws(oe^S,16),k=k+oe|0,D=Ws(D^k,12),S=S+D|0,oe=Ws(oe^S,8),k=k+oe|0,D=Ws(D^k,7),C=C+ee|0,A=Ws(A^C,16),re=re+A|0,ee=Ws(ee^re,12),C=C+ee|0,A=Ws(A^C,8),re=re+A|0,ee=Ws(ee^re,7),w=w+te|0,ie=Ws(ie^w,16),ne=ne+ie|0,te=Ws(te^ne,12),w=w+te|0,ie=Ws(ie^w,8),ne=ne+ie|0,te=Ws(te^ne,7),T=T+E|0,ae=Ws(ae^T,16),O=O+ae|0,E=Ws(E^O,12),T=T+E|0,ae=Ws(ae^T,8),O=O+ae|0,E=Ws(E^O,7);let se=0;r[se++]=o+S|0,r[se++]=s+C|0,r[se++]=c+w|0,r[se++]=l+T|0,r[se++]=u+E|0,r[se++]=d+D|0,r[se++]=f+ee|0,r[se++]=p+te|0,r[se++]=m+ne|0,r[se++]=h+O|0,r[se++]=g+k|0,r[se++]=_+re|0,r[se++]=v+A|0,r[se++]=y+ie|0,r[se++]=b+ae|0,r[se++]=x+oe|0}var Aoe=Toe(koe,{counterRight:!1,counterLength:4,allowShortKeys:!1}),joe=new Uint8Array(16),Xs=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(joe.subarray(n))},Moe=new Uint8Array(32);function Zs(e,t,n,r,i){i!==void 0&&ys(i,void 0,`AAD`);let a=e(t,n,Moe),o=_oe(r.length,i?i.length:0,!0),s=Ooe.create(a);i&&Xs(s,i),Xs(s,r),s.update(o);let c=s.digest();return Cs(a,o),c}var Qs=moe({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=Hs(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=Zs(e,t,n,s,r);return a.set(c,o),Cs(c),a},decrypt(i,a){a=Hs(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=Zs(e,t,n,o,r);if(!goe(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),Cs(c),a}}))(Aoe)),Noe=class{constructor(e){Object.defineProperty(this,"_key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._key=new Uint8Array(ds(e))}async seal(e,t,n){return await this._seal(ds(e),ds(t),ds(n))}async open(e,t,n){return await this._open(ds(e),ds(t),ds(n))}_seal(e,t,n){return new Promise(r=>{r(Qs(this._key,new Uint8Array(e),new Uint8Array(n)).encrypt(new Uint8Array(t)).buffer)})}_open(e,t,n){return new Promise(r=>{r(Qs(this._key,new Uint8Array(e),new Uint8Array(n)).decrypt(new Uint8Array(t)).buffer)})}},Poe=class{constructor(){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:is.Chacha20Poly1305}),Object.defineProperty(this,"keySize",{enumerable:!0,configurable:!0,writable:!0,value:32}),Object.defineProperty(this,"nonceSize",{enumerable:!0,configurable:!0,writable:!0,value:12}),Object.defineProperty(this,"tagSize",{enumerable:!0,configurable:!0,writable:!0,value:16})}createEncryptionContext(e){return new Noe(e)}};function $s(){return new Promise((e,t)=>{t(new $o(`Not supported`))})}var Foe=new Uint8Array([115,101,99]),ec=class{constructor(e,t,n){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exporterSecret",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._api=e,this._kdf=t,this.exporterSecret=n}async seal(e,t){return await $s()}async open(e,t){return await $s()}async export(e,t){let n=ds(e);if(n.byteLength>8192)throw new Xo(`Too long exporter context`);try{return await this._kdf.labeledExpand(this.exporterSecret,Foe,new Uint8Array(n),t)}catch(e){throw new Cae(e)}}},Ioe=class extends ec{},Loe=class extends ec{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.enc=r}},tc=class extends ec{constructor(e,t,n){if(super(e,t,n.exporterSecret),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nK",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nN",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nT",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_ctx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n.key===void 0||n.baseNonce===void 0||n.seq===void 0)throw Error(`Required parameters are missing`);this._aead=n.aead,this._nK=this._aead.keySize,this._nN=this._aead.nonceSize,this._nT=this._aead.tagSize;let r=this._aead.createEncryptionContext(n.key);this._ctx={key:r,baseNonce:n.baseNonce,seq:n.seq}}computeNonce(e){let t=ps(e.seq,e.baseNonce.byteLength);return Fae(e.baseNonce,t).buffer}incrementSeq(e){if(e.seq>2**53-1)throw new Eae(`Message limit reached`);e.seq+=1}},Roe=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},zoe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},nc,rc=class{constructor(){nc.set(this,Promise.resolve())}async lock(){let e,t=new Promise(t=>{e=t}),n=Roe(this,nc,`f`);return zoe(this,nc,t,`f`),await n,e}};nc=new WeakMap;var ic=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Boe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},ac,Voe=class extends tc{constructor(){super(...arguments),ac.set(this,void 0)}async open(e,t=as.buffer){Boe(this,ac,ic(this,ac,`f`)??new rc,`f`);let n=await ic(this,ac,`f`).lock(),r;try{r=await this._ctx.key.open(this.computeNonce(this._ctx),ds(e),ds(t))}catch(e){throw new Tae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};ac=new WeakMap;var oc=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Hoe=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},sc,Uoe=class extends tc{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),sc.set(this,void 0),this.enc=r}async seal(e,t=as.buffer){Hoe(this,sc,oc(this,sc,`f`)??new rc,`f`);let n=await oc(this,sc,`f`).lock(),r;try{r=await this._ctx.key.seal(this.computeNonce(this._ctx),ds(e),ds(t))}catch(e){throw new wae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};sc=new WeakMap;var Woe=new Uint8Array([98,97,115,101,95,110,111,110,99,101]),Goe=new Uint8Array([101,120,112]),Koe=new Uint8Array([105,110,102,111,95,104,97,115,104]),qoe=new Uint8Array([107,101,121]),Joe=new Uint8Array([112,115,107,95,105,100,95,104,97,115,104]),Yoe=new Uint8Array([115,101,99,114,101,116]),Xoe=new Uint8Array([72,80,75,69,0,0,0,0,0,0]),Zoe=class extends ts{constructor(e){if(super(),Object.defineProperty(this,"_kem",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_kdf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),typeof e.kem==`number`)throw new Xo(`KemId cannot be used`);if(this._kem=e.kem,typeof e.kdf==`number`)throw new Xo(`KdfId cannot be used`);if(this._kdf=e.kdf,typeof e.aead==`number`)throw new Xo(`AeadId cannot be used`);this._aead=e.aead,this._suiteId=new Uint8Array(Xoe),this._suiteId.set(ps(this._kem.id,2),4),this._suiteId.set(ps(this._kdf.id,2),6),this._suiteId.set(ps(this._aead.id,2),8),this._kdf.init(this._suiteId)}get kem(){return this._kem}get kdf(){return this._kdf}get aead(){return this._aead}async createSenderContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.encap(e),n;return n=e.psk===void 0?e.senderKey===void 0?ns.Base:ns.Auth:e.senderKey===void 0?ns.Psk:ns.AuthPsk,await this._keyScheduleS(n,t.sharedSecret,t.enc,e)}async createRecipientContext(e){this._validateInputLength(e),await this._setup();let t=await this._kem.decap(e),n;return n=e.psk===void 0?e.senderPublicKey===void 0?ns.Base:ns.Auth:e.senderPublicKey===void 0?ns.Psk:ns.AuthPsk,await this._keyScheduleR(n,t,e)}async seal(e,t,n=as.buffer){let r=await this.createSenderContext(e);return{ct:await r.seal(t,n),enc:r.enc}}async open(e,t,n=as.buffer){return await(await this.createRecipientContext(e)).open(t,n)}async _keySchedule(e,t,n){let r=n.psk===void 0?as:us(n.psk.id),i=await this._kdf.labeledExtract(as,Joe,r),a=n.info===void 0?as:us(n.info),o=await this._kdf.labeledExtract(as,Koe,a),s=new Uint8Array(1+i.byteLength+o.byteLength);s.set(new Uint8Array([e]),0),s.set(new Uint8Array(i),1),s.set(new Uint8Array(o),1+i.byteLength);let c=n.psk===void 0?as:us(n.psk.key),l=this._kdf.buildLabeledIkm(Yoe,c),u=this._kdf.buildLabeledInfo(Goe,s,this._kdf.hashSize),d=await this._kdf.extractAndExpand(t,l,u,this._kdf.hashSize);if(this._aead.id===is.ExportOnly)return{aead:this._aead,exporterSecret:d};let f=this._kdf.buildLabeledInfo(qoe,s,this._aead.keySize),p=await this._kdf.extractAndExpand(t,l,f,this._aead.keySize),m=this._kdf.buildLabeledInfo(Woe,s,this._aead.nonceSize),h=await this._kdf.extractAndExpand(t,l,m,this._aead.nonceSize);return{aead:this._aead,exporterSecret:d,key:p,baseNonce:new Uint8Array(h),seq:0}}async _keyScheduleS(e,t,n,r){let i=await this._keySchedule(e,t,r);return i.key===void 0?new Loe(this._api,this._kdf,i.exporterSecret,n):new Uoe(this._api,this._kdf,i,n)}async _keyScheduleR(e,t,n){let r=await this._keySchedule(e,t,n);return r.key===void 0?new Ioe(this._api,this._kdf,r.exporterSecret):new Voe(this._api,this._kdf,r)}_validateInputLength(e){if(e.info!==void 0&&e.info.byteLength>268435456)throw new Xo(`Too long info`);if(e.psk!==void 0){if(e.psk.key.byteLength<32)throw new Xo(`PSK must have at least 32 bytes`);if(e.psk.key.byteLength>8192)throw new Xo(`Too long psk.key`);if(e.psk.id.byteLength>8192)throw new Xo(`Too long psk.id`)}}},Qoe=class extends Zoe{},$oe=1n,cc=2n,ese=3n,tse=5n,lc=57896044618658097711785492504343953926634992332820282019728792003956564819949n;function nse(e){let t=10n,n=80n,r=lc,i=e*e%r*e%r,a=Bs(Bs(i,cc,r)*i%r,$oe,r)*e%r,o=Bs(a,tse,r)*a%r,s=Bs(o,t,r)*o%r,c=Bs(s,20n,r)*s%r,l=Bs(c,40n,r)*c%r;return{pow_p_5_8:Bs(Bs(Bs(Bs(l,n,r)*l%r,n,r)*l%r,t,r)*o%r,cc,r)*e%r,b2:i}}function rse(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ise=(()=>{let e=lc;return poe({P:e,type:`x25519`,powPminus2:t=>{let{pow_p_5_8:n,b2:r}=nse(t);return zs(Bs(n,ese,e)*r,e)},adjustScalarBytes:rse})})(),ase=class extends Hae{constructor(e){super(`X25519`,32,ise,e)}derive(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e,t))}catch(e){return Promise.reject(new Zo(e))}}},uc=`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`,ose=2**31,sse=65536,cse=16,dc=32,fc=(1n<<255n)-19n,pc=new TextEncoder,mc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function hc(e){let t=0n;for(let n=0;n<e.length;n+=2)t|=BigInt(Number.parseInt(e.slice(n,n+2),16))<<BigInt(n/2*8);return t}var lse=new Set([0n,1n,hc(`e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800`),hc(`5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157`),fc-1n]),use=new Uint8Array,gc=class extends Nae{async extract(e,t){return ds(Fs(Rs,e.byteLength===0?new Uint8Array(this.hashSize):us(e),us(t)))}async expand(e,t,n){if(!Number.isSafeInteger(n)||n<0||n>255*this.hashSize)throw Error(`HKDF output length exceeds the RFC 5869 limit.`);let r=us(e),i=us(t),a=new Uint8Array(n),o=use;for(let e=1,t=0;t<a.byteLength;e+=1){let n=bc([o,i,Uint8Array.of(e)]);o=new Uint8Array(Fs(Rs,r,n));let s=a.byteLength-t;a.set(o.subarray(0,Math.min(o.byteLength,s)),t),t+=Math.min(o.byteLength,s)}return ds(a)}async extractAndExpand(e,t,n,r){return this.expand(await this.extract(e,t),n,r)}},_c=new Qoe({kem:new class extends zae{secretSize=32;encSize=32;publicKeySize=32;privateKeySize=32;constructor(e){super(Aae.DhkemX25519HkdfSha256,new ase(e),e)}}(new gc),kdf:new gc,aead:new Poe}),vc=class extends Error{code;name=`RelayPayloadChannelFailure`;constructor(e,t){super(t),this.code=e}};function yc(e){return new Uint8Array(e.slice(0))}function dse(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function bc(e){let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}function xc(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw new vc(`channel_ticket_binding_invalid`,`Invalid uint32 value.`);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function Sc(e){if(!Number.isSafeInteger(e)||e<0)throw new vc(`channel_ticket_binding_invalid`,`Invalid uint64 value.`);let t=new Uint8Array(8);return new DataView(t.buffer).setBigUint64(0,BigInt(e),!1),t}function fse(e){return bc([xc(e.byteLength),e])}function Cc(e){return Uint8Array.of(e===`control-to-runtime`?0:1)}function pse(e){return e===`handshake`?Uint8Array.of(0):e===`application`?Uint8Array.of(1):Uint8Array.of(2)}function wc(e){let t=``;for(let n=0;n<e.byteLength;n+=3){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0,o=r<<16|i<<8|a;t+=mc[o>>>18&63],t+=mc[o>>>12&63],n+1<e.byteLength&&(t+=mc[o>>>6&63]),n+2<e.byteLength&&(t+=mc[o&63])}return t}function Tc(e){if(!/^[A-Za-z0-9_-]*$/.test(e)||e.length%4==1)throw new vc(`channel_authentication_failed`,`Encrypted relay frame is not canonical base64url.`);let t=new Uint8Array(Math.floor(e.length*6/8)),n=0,r=0,i=0;for(let a of e){let e=mc.indexOf(a);n=n<<6|e,r+=6,r>=8&&(r-=8,t[i]=n>>>r&255,i+=1)}if(wc(t)!==e)throw new vc(`channel_authentication_failed`,`Encrypted relay frame has a non-canonical base64url encoding.`);return t}function mse(e){let t=new Uint8Array(e);t[31]=(t[31]??0)&127;let n=0n;for(let e=0;e<t.byteLength;e+=1)n|=BigInt(t[e]??0)<<BigInt(e*8);return lse.has(n%fc)}var hse={async sha256(e){if(globalThis.crypto?.subtle===void 0)throw new vc(`channel_authentication_failed`,`SHA-256 is unavailable in this runtime.`);return yc(await globalThis.crypto.subtle.digest(`SHA-256`,dse(e)))}},Ec={randomBytes(e){if(globalThis.crypto?.getRandomValues===void 0)throw new vc(`endpoint_key_invalid`,`A cryptographically secure random source is unavailable.`);return globalThis.crypto.getRandomValues(new Uint8Array(e))}};function Dc(e,t){let n=pc.encode(e).byteLength;if(n===0||n>256)throw new vc(`channel_ticket_binding_invalid`,`${t} must contain between 1 and 256 UTF-8 bytes.`)}function gse(e){let t=pc.encode(e).byteLength;if(t===0||t>65536)throw new vc(`channel_ticket_binding_invalid`,`Control ticket must contain between 1 and ${sse} UTF-8 bytes.`)}async function Oc(e,t=hse){gse(e.exactCompactTicket),Dc(e.channelId,`Channel ID`),Dc(e.runtimeId,`Runtime ID`),Sc(e.connectionEpoch);let n=await t.sha256(pc.encode(e.exactCompactTicket));if(n.byteLength!==32)throw new vc(`channel_ticket_binding_invalid`,`The control ticket digest must be 32 bytes.`);return{...e,ticketDigest:new Uint8Array(n)}}function _se(e){return wc(e.ticketDigest)}async function vse(e=Ec){let t=new Uint8Array(await e.randomBytes(dc));if(t.byteLength!==dc)throw new vc(`endpoint_key_invalid`,`The endpoint random source must return ${dc} bytes.`);try{return wc(t)}finally{t.fill(0)}}function kc(e){return bc([pc.encode(`forge-relay-v4`),Uint8Array.of(0),e.ticketDigest,Cc(e.direction)])}function Ac(e){return bc([pc.encode(`forge-relay`),xc(4),e.binding.ticketDigest,pc.encode(e.binding.channelId),Cc(e.binding.direction),pse(e.frameClass),Sc(e.sequence),pc.encode(e.binding.runtimeId),Sc(e.binding.connectionEpoch),xc(e.ciphertextLength)].map(fse))}async function yse(e=Ec){let t=new Uint8Array(await e.randomBytes(dc));if(t.byteLength!==dc)throw new vc(`endpoint_key_invalid`,`The endpoint random source must return ${dc} bytes.`);try{return await _c.kem.deriveKeyPair(t)}catch(e){throw new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint key generation failed.`)}finally{t.fill(0)}}async function jc(e){try{return wc(yc(await _c.kem.serializePublicKey(e)))}catch(e){throw new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key serialization failed.`)}}function bse(e,t){if(!/^[A-Za-z0-9_-]{43}$/u.test(t))throw new vc(`endpoint_key_invalid`,`The endpoint key ID requires a canonical X25519 public key.`);return`${e}:${t}`}async function xse(e){try{let t=Tc(e);if(t.byteLength!==dc)throw Error(`Invalid endpoint key length.`);if(mse(t))throw new vc(`endpoint_key_invalid`,`Low-order X25519 endpoint public keys are not allowed.`);return await _c.kem.deserializePublicKey(t)}catch(e){throw e instanceof vc?e:new vc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key deserialization failed.`)}}var Mc=class{tail=Promise.resolve();run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),t}},Nc=class{startedAt=Date.now();records=0;bytes=0;assertAvailable(e){if(this.records>=ose||this.bytes+e>1073741824||Date.now()-this.startedAt>=18e5)throw new vc(`channel_limit_reached`,`The encrypted relay channel must be renewed before another record is sent.`)}commit(e){this.records+=1,this.bytes+=e}};function Sse(e,t){if(e.type!==`relay.encrypted-frame`||e.protocolVersion!==4||e.channelId!==t.channelId||e.direction!==t.direction||![`handshake`,`application`,`close`].includes(e.frameClass))throw new vc(`channel_ticket_binding_invalid`,`Encrypted relay frame does not match the CMMD-ticket-bound channel.`)}var Cse=class{binding;context;encapsulatedKey;queue=new Mc;budget=new Nc;sequence=0;constructor(e,t){this.binding=e,this.context=t,this.encapsulatedKey=wc(yc(t.enc))}seal(e){return this.queue.run(async()=>{if(e.plaintext.byteLength>16777216)throw new vc(`channel_limit_reached`,`Encrypted relay plaintext exceeds the per-record byte limit.`);let t=e.plaintext.byteLength+cse;this.budget.assertAvailable(t);let n=this.sequence,r=Ac({binding:this.binding,frameClass:e.frameClass,sequence:n,ciphertextLength:t}),i;try{i=yc(await this.context.seal(e.plaintext,r))}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload encryption failed.`)}if(i.byteLength!==t)throw new vc(`channel_authentication_failed`,`Relay payload encryption returned an invalid ciphertext length.`);return this.sequence+=1,this.budget.commit(i.byteLength),{type:`relay.encrypted-frame`,protocolVersion:4,channelId:this.binding.channelId,direction:this.binding.direction,frameClass:e.frameClass,sequence:n,ciphertext:wc(i)}})}},wse=class{binding;context;queue=new Mc;budget=new Nc;sequence=0;constructor(e,t){this.binding=e,this.context=t}open(e){return this.queue.run(async()=>{if(Sse(e,this.binding),!Number.isSafeInteger(e.sequence)||e.sequence!==this.sequence)throw new vc(`channel_sequence_invalid`,`Expected encrypted relay sequence ${this.sequence}, received ${String(e.sequence)}.`);let t=Tc(e.ciphertext);this.budget.assertAvailable(t.byteLength);let n=Ac({binding:this.binding,frameClass:e.frameClass,sequence:e.sequence,ciphertextLength:t.byteLength}),r;try{r=yc(await this.context.open(t,n))}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload authentication failed.`)}if(r.byteLength>16777216)throw new vc(`channel_limit_reached`,`Decrypted relay plaintext exceeds the per-record byte limit.`);return this.sequence+=1,this.budget.commit(t.byteLength),r})}};async function Tse(e){let t=null;try{if(t=new Uint8Array(await(e.randomSource??Ec).randomBytes(dc)),t.byteLength!==dc)throw Error(`The endpoint random source must return ${dc} bytes.`);let n=await _c.createSenderContext({recipientPublicKey:e.recipientPublicKey,senderKey:e.senderKey,info:kc(e.binding),ekm:t});return new Cse(e.binding,n)}catch(e){throw new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload sender setup failed.`)}finally{t?.fill(0)}}async function Ese(e){try{let t=await _c.createRecipientContext({recipientKey:e.recipientKey,senderPublicKey:e.senderPublicKey,enc:Tc(e.encapsulatedKey),info:kc(e.binding)});return new wse(e.binding,t)}catch(e){throw e instanceof vc?e:new vc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload recipient setup failed.`)}}var Dse=128,Ose=2097152,kse=864e5,Pc=class extends Error{constructor(e){super(e),this.name=`RelayControlJournalError`}};function Fc(e){return typeof e==`string`&&e.length>0}function Ic(e){return Fc(e)&&Number.isFinite(Date.parse(e))}function Ase(e){return e===`pending`||e===`retrying`||e===`outcome-unknown`||e===`failed`}function jse(e){return Fc(e.transportRequestId)&&Fc(e.runtimeId)&&Fc(e.actorSessionId)&&Fc(e.durableRequestId)&&Fc(e.method)}function Mse(e){return Number.isSafeInteger(e.sequence)&&Number(e.sequence)>0&&Number.isSafeInteger(e.attemptCount)&&Number(e.attemptCount)>=0}function Nse(e){return e.persistence!==`frame`&&e.persistence!==`metadata-only`||e.frame!==null&&!Fc(e.frame)?!1:e.persistence!==`metadata-only`||e.frame===null}function Pse(e){return!Ase(e.status)||e.errorCode!==null&&!Fc(e.errorCode)?!1:e.status===`outcome-unknown`||e.status===`failed`?e.frame===null&&Fc(e.errorCode):e.errorCode===null}function Fse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return jse(t)&&Mse(t)&&Nse(t)&&Pse(t)&&Ic(t.createdAt)&&Ic(t.updatedAt)}function Ise(e){try{return JSON.parse(e)}catch{throw new Pc(`Forge relay control journal is corrupt.`)}}function Lse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return t.version===1&&Fc(t.controlSessionId)&&Number.isSafeInteger(t.nextSequence)&&Number(t.nextSequence)>=1&&Array.isArray(t.records)&&t.records.every(Fse)}function Rse(e){let t=new Set(e.map(Lc)),n=new Set(e.map(e=>e.durableRequestId)),r=new Set(e.map(e=>e.sequence));return t.size===e.length&&n.size===e.length&&r.size===e.length}function zse(e){let t=Ise(e);if(!Lse(t))throw new Pc(`Forge relay control journal is corrupt.`);let n=t.records,r=n.reduce((e,t)=>Math.max(e,t.sequence),0);if(!Rse(n)||t.nextSequence<=r)throw new Pc(`Forge relay control journal is corrupt.`);return{version:1,controlSessionId:t.controlSessionId,nextSequence:t.nextSequence,records:n}}function Bse(){return crypto.randomUUID()}function Lc(e){return`${e.runtimeId}\0${e.actorSessionId}\0${e.transportRequestId}`}var Rc={pending:1,retrying:2,"outcome-unknown":3,failed:4};function Vse(e,t){let n=e.filter(e=>e.runtimeId===t);if(n.length===0)return{state:`idle`,count:0};let r=n.reduce((e,t)=>Rc[t.status]>Rc[e]?t.status:e,`pending`);return{state:r,count:n.filter(e=>e.status===r).length}}function zc(e){let t=e.randomUUID??Bse,n=e.now??(()=>new Date),r=e.maxRecords??Dse,i=e.maxBytes??Ose,a=e.maxReplayAgeMs??kse;if(r<1||i<1||a<1)throw new Pc(`Forge relay control journal limits must be positive.`);let o=e.storage.read(),s=n(),c=o?zse(o):{version:1,controlSessionId:t(),nextSequence:1,records:[]},l=new Map,u=new Set;function d(){return{controlSessionId:c.controlSessionId,records:[...c.records]}}function f(t){if(t.records.length>r)throw new Pc(`Forge relay control journal reached its record limit.`);let n=JSON.stringify(t);if(new TextEncoder().encode(n).byteLength>i)throw new Pc(`Forge relay control journal reached its storage limit.`);e.storage.write(n),c=t;let a=d();for(let e of u)e(a)}function p(e,t){return e.status!==`pending`&&e.status!==`retrying`?e:e.persistence===`metadata-only`||e.frame===null?{...e,frame:null,status:`outcome-unknown`,errorCode:`RELAY_COMMAND_OUTCOME_UNKNOWN`,updatedAt:t.toISOString()}:t.getTime()-Date.parse(e.createdAt)>a?{...e,frame:null,status:`outcome-unknown`,errorCode:`RELAY_RECOVERY_EXPIRED`,updatedAt:t.toISOString()}:e}let m=c.records.map(e=>p(e,s)),h=m.some((e,t)=>e!==c.records[t]);(o===null||h)&&f({...c,records:m});function g(e){let t=Lc(e);return{key:t,existing:c.records.find(e=>Lc(e)===t)??null}}function _(e,t,n){if([e.method===t.method,e.persistence===t.persistence,n===void 0||n===t.frame,e.frame===null||e.frame===t.frame,t.durableRequestId===void 0||e.durableRequestId===t.durableRequestId].includes(!1))throw new Pc(`Relay transport request ${t.transportRequestId} was reused with different content.`);if(e.status===`failed`||e.status===`outcome-unknown`)throw new Pc(`Relay transport request ${t.transportRequestId} requires an explicit outcome acknowledgement.`)}function v(e){if(e.durableRequestId!==void 0&&c.records.some(t=>t.durableRequestId===e.durableRequestId))throw new Pc(`Relay durable request ${e.durableRequestId} was reused by another transport request.`)}function y(e){let r=n().toISOString();return{runtimeId:e.runtimeId,actorSessionId:e.actorSessionId,transportRequestId:e.transportRequestId,durableRequestId:e.durableRequestId??t(),sequence:c.nextSequence,method:e.method,persistence:e.persistence,frame:e.persistence===`frame`?e.frame:null,status:`pending`,attemptCount:0,errorCode:null,createdAt:r,updatedAt:r}}function b(e){let{key:t,existing:n}=g(e);if(n!==null)return _(n,e,l.get(t)),l.set(t,e.frame),n;v(e);let r=y(e);return l.set(t,e.frame),f({...c,nextSequence:c.nextSequence+1,records:[...c.records,r]}),r}function x(e,t,n){let r=c.records.find(r=>r.runtimeId===e&&r.actorSessionId===t&&r.transportRequestId===n);if(!r)throw new Pc(`Relay transport request ${n} is not journaled.`);return r}function S(e,t,r,i){x(e,t,r);let a=n().toISOString();l.delete(Lc({runtimeId:e,actorSessionId:t,transportRequestId:r})),f({...c,records:c.records.map(n=>n.runtimeId===e&&n.actorSessionId===t&&n.transportRequestId===r?{...n,frame:null,status:`failed`,errorCode:i,updatedAt:a}:n)})}function C(e,t,r){let i=x(e,t,r);if(i.status===`failed`||i.status===`outcome-unknown`)throw new Pc(`Relay transport request ${r} has no replayable outcome.`);let a={...i,status:i.attemptCount>0?`retrying`:`pending`,attemptCount:i.attemptCount+1,errorCode:null,updatedAt:n().toISOString()};return f({...c,records:c.records.map(n=>n.runtimeId===e&&n.actorSessionId===t&&n.transportRequestId===r?a:n)}),a}function w(e,t,n){let r=c.records.filter(r=>r.runtimeId!==e||r.actorSessionId!==t||r.transportRequestId!==n);r.length!==c.records.length&&(l.delete(Lc({runtimeId:e,actorSessionId:t,transportRequestId:n})),f({...c,records:r}))}function T(e,t,n){let r=x(e,t,n);if(r.status!==`failed`&&r.status!==`outcome-unknown`)throw new Pc(`Relay transport request ${n} does not have an acknowledgeable outcome.`);w(e,t,n)}function E(){let e=n(),t=c.records.map(t=>p(t,e));t.some((e,t)=>e!==c.records[t])&&f({...c,records:t})}function D(e,t){let r=n().toISOString(),i=c.records.map(n=>n.runtimeId!==e||n.actorSessionId===t||n.status!==`pending`&&n.status!==`retrying`?n:(l.delete(Lc(n)),{...n,frame:null,status:`outcome-unknown`,errorCode:`RELAY_ACTOR_SESSION_CHANGED`,updatedAt:r}));i.some((e,t)=>e!==c.records[t])&&f({...c,records:i})}return{controlSessionId:c.controlSessionId,prepare:b,records:()=>[...c.records],pending:()=>[...c.records],replayable:(e,t)=>(E(),c.records.filter(n=>n.runtimeId===e&&n.actorSessionId===t&&n.persistence===`frame`&&n.frame!==null&&(n.status===`pending`||n.status===`retrying`))),fenceActor:D,beginAttempt:C,markFailed:S,complete:w,acknowledge:T,subscribe:e=>(u.add(e),e(d()),()=>u.delete(e))}}function Hse(e=null){let t=e;return{read:()=>t,write:e=>{t=e}}}var Use=rn(dne),Wse=vn(mne),Gse=vn(ine),Kse=[`rpc.read`,`rpc.mutate`,`cursor.resume`,`terminal.stream`,`browser.stream`,`bulk.transfer`,`envelope.validation`,`payload.e2e`];function Bc(e,t){if(!Array.isArray(e))return null;for(let n of e)if(Array.isArray(n)&&n.length===2&&n[0]===t&&typeof n[1]==`string`)return n[1];return null}function Vc(e,t){let n=JSON.parse(e),r=fae(n);if(r!==null)return{messageType:`request`,...r};let i=qse(n,t);if(i!==null)return i;let a=Jse(n);if(a!==null)return a;throw Error(`Forge relay protocol v2 requires a recognized Effect RPC frame.`)}function qse(e,t){if(e._tag!==`Request`||typeof e.id!=`string`||e.id.length===0||typeof e.tag!=`string`||e.tag.length===0)return null;let n=Jo({method:e.tag,payload:e.payload,grantedScopes:t});return{messageType:`request`,requestId:e.id,correlationId:Bc(e.headers,$n.requestId)??e.id,method:e.tag,...n}}function Jse(e){return e._tag!==`Ack`&&e._tag!==`Interrupt`||typeof e.requestId!=`string`||e.requestId.length===0?null:{messageType:`acknowledgement`,requestId:e.requestId,correlationId:e.requestId,method:`@effect/rpc/${e._tag}`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`}}function Hc(e,t){let n=new Event(`error`);return Object.defineProperties(n,{error:{value:Error(t),enumerable:!0},message:{value:`${e}: ${t}`,enumerable:!0}}),n}var Yse=new Set([`network`,`server`,`auth`,`permission`,`client`]),Xse=new Set([`network`,`server`]);function Zse(e){return e&&typeof e==`object`?e:{}}function Qse(e){return typeof e.code==`string`&&e.code.length>0?e.code:typeof e.kind==`string`&&Yse.has(e.kind)?`RELAY_ACTION_GRANT_UNAVAILABLE`:`MALFORMED_FRAME`}function $se(e){if(e.retryable===!0||typeof e.kind==`string`&&Xse.has(e.kind))return!0;let t=typeof e.status==`number`?e.status:null;return t===429||t!==null&&t>=500}function Uc(e){let t=Zse(e);return{code:Qse(t),message:e instanceof Error?e.message:`Forge relay frame encoding failed.`,retryable:$se(t)}}function Wc(e,t){let n=new Event(e.type),r=e;for(let e of t)r[e]!==void 0&&Object.defineProperty(n,e,{value:r[e],enumerable:!0});return n}function ece(e){return!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`?!1:Object.values($n).includes(e[0])}function Gc(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function tce(e){if(!Array.isArray(e))return null;for(let t of e){let e=Gc(t);if(e?._tag!==`Fail`)continue;let n=Gc(e.error)?.code;if(typeof n==`string`&&n.length>0)return n}return null}function nce(e){let t=Gc(e.exit);return t===null?`RELAY_RPC_RESPONSE_INVALID`:t._tag===`Success`?null:t._tag!==`Failure`||!Array.isArray(t.cause)?`RELAY_RPC_RESPONSE_INVALID`:tce(t.cause)??`RELAY_RPC_FAILED`}function Kc(e){if(typeof e!=`string`)return null;try{let t=Use(JSON.parse(e));return t._tag===`Some`?t.value:null}catch{return null}}function rce(e,t){if(e.role===`control`&&e.protocolVersion===t&&e.protocolVersion>=1){if(e.protocolVersion===1)return null;if(e.actor!==void 0&&e.scopes!==void 0)return{runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch,protocolVersion:e.protocolVersion,actor:e.actor,scopes:e.scopes}}}function qc(e,t,n){if(typeof e==`string`)try{let r=Gc(JSON.parse(e));if(r?._tag!==`Exit`||typeof r.requestId!=`string`)return;let i=nce(r);if(i===null){n.complete(t.runtimeId,t.actor.sessionId,r.requestId);return}n.markFailed(t.runtimeId,t.actor.sessionId,r.requestId,i)}catch{}}function ice(e){let t=Bc(e,$n.sequence);if(t===null)return;let n=Number(t);return Number.isSafeInteger(n)&&n>=0?n:void 0}function ace(e){return{issuedAt:Bc(e,$n.issuedAt)??new Date().toISOString(),expiresAt:Bc(e,$n.expiresAt)??new Date(Date.now()+12e4).toISOString()}}function oce(e){if(e!==2&&e!==3&&e!==4)throw new Go(`protocol_version_mismatch`,`Unsupported Forge relay envelope version: ${e}`,!1);return e}async function sce(e){let t=bae({method:e.identity.method,payload:e.payload});if(t===null)return;let n=cce(e.context);if(e.acquire===void 0)throw new Go(`action_grant_required`,`CMMD action-grant issuance is unavailable for this remote response.`,!1);return e.acquire({...n,method:`orchestration.dispatchCommand`,...t,durableRequestId:e.identity.correlationId,payloadHash:e.payloadHash,requiredScope:`approval.respond`})}function cce(e){if(e.protocolVersion===3)return{protocolVersion:3};if(e.protocolVersion!==4)throw new Go(`protocol_update_required`,`Update Forge on the target runtime before responding remotely.`,!1);return{protocolVersion:4,channelId:Jc(e.channelId),channelTicketDigest:Jc(e.channelTicketDigest),runtimeEndpointKeyId:Jc(e.runtimeEndpointKeyId),controlEndpointKeyId:Jc(e.controlEndpointKeyId)}}function Jc(e){if(typeof e==`string`&&e.length>0)return e;throw new Go(`channel_ticket_binding_invalid`,`The encrypted Forge relay channel is missing its CMMD ticket binding.`,!1)}function lce(e){return e===void 0?{}:{sequence:e}}function Yc(e){return e===void 0?{}:{actionGrant:e}}async function uce(e){let t=Vc(e.data,e.context.scopes),n=JSON.parse(e.data),r=ace(n.headers),i=ice(n.headers),a=await e.crypto.sha256Base64Url(e.data),o=await sce({context:e.context,identity:t,payload:n.payload,payloadHash:a,...e.acquireActionGrant===void 0?{}:{acquire:e.acquireActionGrant}}),s=oce(e.context.protocolVersion),c={messageType:t.messageType,requestId:t.requestId,correlationId:t.correlationId,method:t.method,requiredScope:t.requiredScope,deliveryClass:t.deliveryClass,runtimeId:e.context.runtimeId,connectionEpoch:e.context.connectionEpoch,actor:e.context.actor,...r,payloadHash:a,...lce(i)};return s===2?{protocolVersion:2,...c}:s===3?{protocolVersion:3,...c,...Yc(o)}:{protocolVersion:4,...c,...Yc(o)}}function Xc(e){return typeof e==`string`&&e.length>0}function dce(e){return[e.protocolVersion===4,Xc(e.runtimeId),Number.isSafeInteger(e.connectionEpoch),Number(e.connectionEpoch)>0,e.hpkeSuite===uc,Xc(e.channelId),Xc(e.runtimeEndpointKeyId),Xc(e.runtimeEndpointPublicKey),Xc(e.controlEndpointKeyId),Xc(e.controlEndpointPublicKey),Xc(e.controlChannelNonce),e.controlEndpointKeyPair!==void 0].every(Boolean)}function Zc(e){if(!dce(e))throw new Go(`end_to_end_encryption_required`,`Forge relay protocol v4 requires complete endpoint encryption metadata.`,!1);return e}async function fce(e){if(await jc(e.controlEndpointKeyPair.publicKey)!==e.controlEndpointPublicKey)throw new Go(`endpoint_key_invalid`,`The control endpoint private key does not match the CMMD route.`,!1);let t=await xse(e.runtimeEndpointPublicKey),[n,r]=await Promise.all([Oc({exactCompactTicket:e.token,channelId:e.channelId,direction:`control-to-runtime`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider),Oc({exactCompactTicket:e.token,channelId:e.channelId,direction:`runtime-to-control`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider)]);return{controlToRuntimeBinding:n,runtimeToControlBinding:r,sender:await Tse({binding:n,senderKey:e.controlEndpointKeyPair,recipientPublicKey:t,...e.payloadRandomSource?{randomSource:e.payloadRandomSource}:{}}),runtimePublicKey:t,recipient:null,phase:`awaiting-runtime-hello`}}function Qc(e,t,n){return[e.direction===`runtime-to-control`,e.frameClass===n,e.channelId===t.channelId].every(Boolean)}function pce(e){return[e.confirmation.phase===e.expectedPhase,e.confirmation.channelId===e.route.channelId,e.confirmation.runtimeId===e.context.runtimeId,e.confirmation.connectionEpoch===e.context.connectionEpoch].every(Boolean)}function mce(e){let{envelope:t}=e.application;return[t.runtimeId===e.context.runtimeId,t.connectionEpoch===e.context.connectionEpoch,t.actor.userId===e.context.actor.userId,t.actor.deviceId===e.context.actor.deviceId,t.actor.sessionId===e.context.actor.sessionId,t.payloadHash===e.payloadHash].every(Boolean)}async function hce(e){if(e.channel.recipient!==null){if(e.message.encapsulatedKey!==void 0)throw new Go(`endpoint_key_invalid`,`The runtime attempted to replace its endpoint encapsulation.`,!1);return e.channel.recipient}if(e.message.sequence!==0||!e.message.encapsulatedKey)throw new Go(`channel_confirmation_failed`,`The runtime handshake omitted its endpoint encapsulation.`,!1);let t=await Ese({binding:e.channel.runtimeToControlBinding,recipientKey:e.route.controlEndpointKeyPair,senderPublicKey:e.channel.runtimePublicKey,encapsulatedKey:e.message.encapsulatedKey});return e.channel.recipient=t,t}var gce=class extends EventTarget{socket;route;relayCrypto;journal;lifecycle;acquireActionGrant;CONNECTING=WebSocket.CONNECTING;OPEN=WebSocket.OPEN;CLOSING=WebSocket.CLOSING;CLOSED=WebSocket.CLOSED;binaryType=`blob`;onopen=null;onclose=null;onerror=null;onmessage=null;authenticated=!1;context=null;payloadChannel=null;sendChain=Promise.resolve();constructor(e,t,n,r,i={},a){super(),this.socket=e,this.route=t,this.relayCrypto=n,this.journal=r,this.lifecycle=i,this.acquireActionGrant=a,e.addEventListener(`open`,()=>void this.beginAuthentication()),e.addEventListener(`message`,e=>void this.handleMessageSafely(e)),e.addEventListener(`error`,e=>{let t=Wc(e,[`error`,`message`]),n=typeof t.message==`string`?String(t.message):`Forge relay connection failed.`;this.lifecycle.onError?.({code:`RELAY_SOCKET_ERROR`,message:n}),this.emit(`error`,t)}),e.addEventListener(`close`,e=>{this.authenticated=!1,this.context=null,this.payloadChannel=null,this.lifecycle.onDisconnected?.({code:e.code,reason:e.reason}),this.emit(`close`,Wc(e,[`code`,`reason`,`wasClean`]))})}get bufferedAmount(){return this.socket.bufferedAmount}get extensions(){return this.socket.extensions}get protocol(){return this.socket.protocol}get readyState(){return this.authenticated?this.socket.readyState:WebSocket.CONNECTING}get url(){return this.route.relayWebSocketUrl}send(e){if(!this.authenticated||typeof e!=`string`)throw new DOMException(`Forge relay RPC socket is not open for text frames.`,`InvalidStateError`);if(this.route.protocolVersion===1){this.socket.send(JSON.stringify({type:`relay.frame`,payload:e}));return}let t=this.context;if(t===null)throw new DOMException(`Forge relay v2 context is unavailable.`,`InvalidStateError`);let n=Vc(e,t.scopes),r=n.messageType===`request`&&n.journalPersistence!==`none`?this.journal.prepare({runtimeId:t.runtimeId,actorSessionId:t.actor.sessionId,transportRequestId:n.requestId,...n.correlationId===n.requestId?{}:{durableRequestId:n.correlationId},method:n.method,frame:e,persistence:n.journalPersistence}):null;this.enqueueFrame(e,r)}enqueueFrame(e,t){this.sendChain=this.sendChain.then(()=>this.transmitFrame(e,t)).catch(e=>{let n=Uc(e);t!==null&&!n.retryable&&this.journal.markFailed(t.runtimeId,t.actorSessionId,t.transportRequestId,n.code),this.lifecycle.onError?.({code:n.code,message:n.message}),this.emit(`error`,Hc(n.code,n.message)),this.socket.readyState<WebSocket.CLOSING&&this.socket.close(4400,`${n.code}: ${n.message}`)})}async transmitFrame(e,t){let n=this.requireReadyContext(),r=await this.outboundFrame(e,t),i=await uce({data:r,context:n,crypto:this.relayCrypto,...this.acquireActionGrant?{acquireActionGrant:this.acquireActionGrant}:{}});if(n.protocolVersion===4){let e=await this.requirePayloadChannel().sender.seal({frameClass:`application`,plaintext:new TextEncoder().encode(JSON.stringify({payload:r,envelope:i}))});this.socket.send(JSON.stringify(e));return}this.socket.send(JSON.stringify({type:`relay.frame`,payload:r,envelope:i}))}requireReadyContext(){if(!this.authenticated||this.socket.readyState!==WebSocket.OPEN)throw new DOMException(`Forge relay RPC socket closed before send.`,`InvalidStateError`);if(this.context===null)throw new DOMException(`Forge relay v2 context is unavailable.`,`InvalidStateError`);return this.context}requirePayloadChannel(){let e=this.payloadChannel;if(e===null||e.phase!==`ready`)throw new Go(`channel_confirmation_failed`,`The Forge relay endpoint channel is not confirmed.`,!1);return e}async outboundFrame(e,t){return t===null?e:this.withDurableHeaders(t,e)}async withDurableHeaders(e,t){let n=this.journal.beginAttempt(e.runtimeId,e.actorSessionId,e.transportRequestId),r=JSON.parse(t),i=await tl({payload:r.payload,sequence:n.sequence,requestId:n.durableRequestId,issuedAt:new Date(n.updatedAt),crypto:this.relayCrypto}),a=Array.isArray(r.headers)?r.headers.filter(e=>!ece(e)):[];return JSON.stringify({...r,headers:[...a,...Object.entries(i)]})}close(e,t){this.socket.close(e,t)}asWebSocket(){return this}emit(e,t){this.dispatchEvent(t);let n=this[`on${e}`];n&&n.call(this.asWebSocket(),t)}async handleMessage(e){if(this.authenticated){if(this.context?.protocolVersion===4){await this.handleEncryptedApplicationMessage(e.data);return}this.context!==null&&qc(e.data,this.context,this.journal),this.emit(`message`,new MessageEvent(`message`,{data:e.data}));return}await this.handleAuthenticationMessage(e.data)}async handleMessageSafely(e){try{await this.handleMessage(e)}catch(e){let t=Uc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.readyState<WebSocket.CLOSING&&this.socket.close(4400,`${t.code}: ${t.message}`)}}async beginAuthentication(){try{this.route.protocolVersion===4&&(this.payloadChannel=await fce(Zc(this.route))),this.socket.send(JSON.stringify({type:`relay.auth`,ticket:this.route.token,protocolMinVersion:this.route.protocolVersion,protocolMaxVersion:this.route.protocolVersion,capabilities:Kse,...this.payloadChannel?{controlToRuntimeEncapsulatedKey:this.payloadChannel.sender.encapsulatedKey}:{}}))}catch(e){let t=Uc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.close(4400,t.message)}}async handleAuthenticationMessage(e){let t=Kc(e);if(t!==null){if(t.type===`relay.encrypted-frame`&&this.context?.protocolVersion===4){await this.handleEncryptedHandshakeMessage(t);return}if(t.type===`relay.error`){this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Hc(t.code,t.message)),this.socket.close(4403,t.message);return}t.type===`relay.authenticated`&&await this.handleAuthenticatedMessage(t)}}async handleAuthenticatedMessage(e){let t=rce(e,this.route.protocolVersion);if(t===void 0){this.socket.close(4400,`Forge relay authenticated the wrong role.`);return}if(t!==null&&t.protocolVersion===4){let n=Zc(this.route),r=this.payloadChannel;if(r===null||![e.runtimeId===n.runtimeId,e.connectionEpoch===n.connectionEpoch].every(Boolean)){this.socket.close(4400,`Forge relay authenticated stale endpoint metadata.`);return}t={...t,channelId:n.channelId,channelTicketDigest:_se(r.controlToRuntimeBinding),runtimeEndpointKeyId:n.runtimeEndpointKeyId,controlEndpointKeyId:n.controlEndpointKeyId},this.context=t;return}await this.activateAuthenticatedRelay(t)}async handleEncryptedHandshakeMessage(e){if(e.type!==`relay.encrypted-frame`)return;let t=this.payloadChannel,n=this.context,r=Zc(this.route);if(t===null||n===null||!Qc(e,r,`handshake`))throw new Go(`channel_confirmation_failed`,`The runtime sent an invalid encrypted handshake frame.`,!1);let i=await(await hce({channel:t,route:r,message:e})).open(e),a=Wse(JSON.parse(new TextDecoder().decode(i))),o=t.phase===`awaiting-runtime-hello`?`runtime-hello`:`runtime-confirm`;if(!pce({confirmation:a,expectedPhase:o,route:r,context:n}))throw new Go(`channel_confirmation_failed`,`The runtime endpoint confirmation does not match the CMMD route.`,!1);if(o===`runtime-hello`){let e=await t.sender.seal({frameClass:`handshake`,plaintext:new TextEncoder().encode(JSON.stringify({type:`relay.endpoint-confirmation`,protocolVersion:4,phase:`control-confirm`,channelId:r.channelId,runtimeId:n.runtimeId,connectionEpoch:n.connectionEpoch}))});t.phase=`awaiting-runtime-confirm`,this.socket.send(JSON.stringify(e));return}t.phase=`ready`,await this.activateAuthenticatedRelay(n)}async handleEncryptedApplicationMessage(e){let t=Kc(e);if(t?.type!==`relay.encrypted-frame`)throw new Go(`end_to_end_encryption_required`,`The runtime sent plaintext after the encrypted channel was confirmed.`,!1);let n=this.requirePayloadChannel();if(!Qc(t,Zc(this.route),`application`)||t.encapsulatedKey!==void 0||n.recipient===null)throw new Go(`channel_authentication_failed`,`The runtime sent an invalid encrypted application frame.`,!1);let r=await n.recipient.open(t),i=Gse(JSON.parse(new TextDecoder().decode(r))),a=this.requireReadyContext();if(!mce({application:i,context:a,payloadHash:await this.relayCrypto.sha256Base64Url(i.payload)}))throw new Go(`channel_authentication_failed`,`The decrypted runtime envelope does not match the active route.`,!1);qc(i.payload,a,this.journal),this.emit(`message`,new MessageEvent(`message`,{data:i.payload}))}async activateAuthenticatedRelay(e){this.context=e,this.authenticated=!0,this.lifecycle.onAuthenticated?.();let t=e===null?[]:this.replayForActor(e);for(let e of t)e.frame!==null&&this.enqueueFrame(e.frame,e);t.length>0&&await this.sendChain,this.emit(`open`,new Event(`open`))}replayForActor(e){return this.journal.fenceActor(e.runtimeId,e.actor.sessionId),this.journal.replayable(e.runtimeId,e.actor.sessionId)}};function _ce(e,t,n=$c,r=zc({storage:Hse(),randomUUID:n.randomUUID}),i={},a){return new gce(e,t,n,r,i,a).asWebSocket()}var vce=ko(pne);async function yce(e){let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return btoa(String.fromCharCode(...new Uint8Array(n))).replaceAll(`+`,`-`).replaceAll(`/`,`_`).replaceAll(`=`,``)}var $c={randomUUID:()=>crypto.randomUUID(),sha256Base64Url:yce},el=`forge-relay-binding=`,bce=3e4;function xce(e){let t=new URL(String(e)).hash.slice(1);if(!t.startsWith(el))throw Error(`Forge relay socket URL is missing its route binding.`);let n=decodeURIComponent(t.slice(20));if(n.length===0)throw Error(`Forge relay socket URL has an invalid route binding.`);return n}function Sce(e){let t=e.crypto??$c,n=e.bindingTtlMs??bce,r=e.createSocket??((e,t)=>new globalThis.WebSocket(e,t)),i=new Map;return{acquireSocketUrl:async()=>{let r=await e.acquireRoute(),a=t.randomUUID();if(i.has(a))throw Error(`Forge relay route binding identifier was reused.`);let o=new URL(r.relayWebSocketUrl);o.hash=`${el}${encodeURIComponent(a)}`;let s=setTimeout(()=>i.delete(a),n);return i.set(a,{route:r,expires:s}),o.toString()},constructSocket:(n,a)=>{let o=xce(n),s=i.get(o);if(s===void 0)throw Error(`Forge relay route binding is missing, expired, or already consumed.`);return i.delete(o),clearTimeout(s.expires),e.lifecycle?.onConnecting?.(),_ce(r(s.route.relayWebSocketUrl,a),s.route,t,e.journal,e.lifecycle,e.acquireActionGrant)}}}async function tl(e){let t=e.issuedAt??new Date,n=e.crypto??$c;return{[$n.requestId]:e.requestId??n.randomUUID(),[$n.sequence]:String(e.sequence),[$n.issuedAt]:t.toISOString(),[$n.expiresAt]:new Date(t.getTime()+12e4).toISOString(),[$n.payloadHash]:await n.sha256Base64Url(uae(e.payload))}}function Cce(e,t){return Xte(tne,({rpc:t,request:n,next:r})=>ot(function*(){return Jo({method:t._tag,payload:n.payload,grantedScopes:e}),yield*r(n)}))}function wce(e,t=$c){return vce.pipe(Se(Cce(e,t)))}function Tce(e){let t=e.crypto??$c,n=Sce({acquireRoute:e.acquireRoute,...e.acquireActionGrant?{acquireActionGrant:e.acquireActionGrant}:{},crypto:t,journal:e.journal,...e.lifecycle?{lifecycle:e.lifecycle}:{}}),r=gt(n.acquireSocketUrl).pipe(c),i=he(oa,n.constructSocket),a=sa(r).pipe(E(i)),o=e.delayForRetry??lae,s=Lt(_(e.maxRetries??10),e=>rt(Ue(o(e)??0)));return ht(Mo,No({retryPolicy:s,retryTransientErrors:!0})).pipe(E(De(a,Oo)))}var nl=class extends Error{name=`RelayControlRouteSecurityFailure`};async function Ece(e){let t=await yse(e),n=await jc(t.publicKey);return{keyPair:t,publicKey:n,keyId:bse(`control`,n),channelNonce:await vse(e)}}function Dce(e){return{hpkeSuite:uc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function Oce(e){let t=e.route;if(t.protocolVersion!==4||t.hpkeSuite!==`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`||!t.channelId||!t.runtimeEndpointKeyId||!t.runtimeEndpointPublicKey||t.controlEndpointKeyId!==e.endpoint.keyId||t.controlEndpointPublicKey!==e.endpoint.publicKey||t.controlChannelNonce!==e.endpoint.channelNonce)throw new nl(`Forge could not establish a verified end-to-end encrypted runtime route.`);return{...t,runtimeId:e.runtimeId,protocolVersion:4,channelId:t.channelId,hpkeSuite:uc,runtimeEndpointKeyId:t.runtimeEndpointKeyId,runtimeEndpointPublicKey:t.runtimeEndpointPublicKey,controlEndpointKeyId:e.endpoint.keyId,controlEndpointPublicKey:e.endpoint.publicKey,controlChannelNonce:e.endpoint.channelNonce,controlEndpointKeyPair:e.endpoint.keyPair,...e.digestProvider?{payloadDigestProvider:e.digestProvider}:{},...e.randomSource?{payloadRandomSource:e.randomSource}:{}}}var rl=`~effect/ManagedRuntime`,il=(e,t)=>{let n=t?.memoMap??eee(),r=gee(`parallel`),i=k(r,`sequential`),a={onFiberStart:pe(r)},s=e=>e?{...e,onFiberStart:e.onFiberStart?t=>{a.onFiberStart(t),e.onFiberStart(t)}:a.onFiberStart}:a,c,l=Pt(t=>(c||=f(Aee(o(e,n,i),e=>pt(()=>{u.cachedContext=e})),{...a,scheduler:t.currentScheduler}),Bee(ve(c)))),u={[rl]:rl,memoMap:n,scope:r,contextEffect:l,cachedContext:void 0,context(){return u.cachedContext===void 0?A(u.contextEffect):Promise.resolve(u.cachedContext)},dispose(){return A(u.disposeEffect)},disposeEffect:At(()=>(u.contextEffect=yee(`ManagedRuntime disposed`),u.cachedContext=void 0,He(u.scope,Tt))),runFork(e,t){return u.cachedContext===void 0?f(al(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(al(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(al(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(al(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(al(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(al(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function al(e,t){return wt(e.contextEffect,e=>Te(t,e))}function ol(e,t=Cne){return`${e}\0${t}`}function kce(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=ol(e.threadId,e.terminalId);t.get(r)?.sessionEpoch!==e.sessionEpoch&&t.set(r,{sessionEpoch:e.sessionEpoch,nextControlSequence:1,tail:Promise.resolve(),pendingWriteBytes:0})},enqueue(r){if(n)return Promise.reject(Error(`Terminal control sequencer is disposed.`));let i=r.terminalId??`default`,a=t.get(ol(r.threadId,i));if(!a)return Promise.reject(Error(`Terminal must be opened before sending controls.`));let o=r.writeBytes??0;if(a.pendingWriteBytes+o>e.maxPendingWriteBytes)return Promise.reject(Error(`Terminal input queue is full while reconnecting.`));a.pendingWriteBytes+=o;let s=a.tail.then(async()=>{let t=a.nextControlSequence;await r.execute({sessionEpoch:a.sessionEpoch,controllerId:e.controllerId,controlSequence:t}),a.nextControlSequence=t+1});return a.tail=s.finally(()=>{a.pendingWriteBytes-=o}).catch(()=>void 0),s},remove(e,n){if(n){t.delete(ol(e,n));return}let r=`${e}\0`;for(let e of t.keys())e.startsWith(r)&&t.delete(e)},terminalIds(e){let n=`${e}\0`;return[...t.keys()].filter(e=>e.startsWith(n)).map(e=>e.slice(n.length))},dispose(){n=!0,t.clear()}}}var sl={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function cl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function Ace(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?cl(t.keyframe):null}function jce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?sl:t.streamGeneration>e.streamGeneration?cl(t.keyframe):null}function Mce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return cl(t.keyframe);if(t.sequence<=e.observedSequence)return sl;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function Nce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return sl;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?sl:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function Pce(e,t){return Ace(e,t)??jce(e,t)??Mce(e,t)??Nce(e,t)}function Fce(e,t){let n=Pce(e,t);if(!n.observe)return{accept:n.accept,observe:n.observe,missingFrameCount:n.missingFrameCount,state:e};let r=n.startsNewStream?t.sequence:Math.max(e.observedSequence,t.sequence),i={...e,observedSequence:r,gapCount:e.gapCount+n.missingFrameCount},a=n.accept?{...i,acceptedSequence:t.sequence,acceptedCapturedAt:t.capturedAt,...t.streamId?{streamId:t.streamId}:{},...t.streamGeneration===void 0?{}:{streamGeneration:t.streamGeneration}}:i;return{accept:n.accept,observe:n.observe,missingFrameCount:n.missingFrameCount,state:a}}vn(ane);var ll=O(),ul=`Forge`,Ice=`Alpha`,dl=ul,fl=`0.13.4`,pl=Jt(`forge-app-top-bar drag-region @container/header-actions relative z-20 w-full min-w-0 shrink-0 bg-background`,`grid grid-cols-[minmax(0,1fr)_minmax(0,auto)] items-center`),ml=`flex h-full min-w-0 items-center gap-1 md:gap-1.5`,hl=`flex h-touch min-w-0 max-w-full touch-manipulation items-center justify-center rounded-lg px-3 text-foreground transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring md:h-7 md:px-2`,Lce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},Rce=`forge-app-shell flex w-full min-w-0 flex-row`,gl=`forge-app-shell flex w-full min-w-0 flex-col`,zce=`flex min-h-0 min-w-0 flex-1 flex-col`,Bce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function _l(e){let t=(0,ll.c)(19),{showStageBadge:n,tone:r,variant:i}=e,a=n!==void 0&&n,o=r===void 0?`default`:r,s=(i===void 0?`default`:i)===`auth`,c=s?20:16,l=s?`h-5 w-5 shrink-0`:`h-4 w-4 shrink-0`,u;t[0]!==c||t[1]!==l?(u=(0,Nr.jsx)(`img`,{className:l,src:`/forge-mark.svg`,width:c,height:c,alt:``,"aria-hidden":`true`}),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=s?`text-[15px] sm:text-base`:`text-sm`,p=o===`on-dark`?`text-primary-foreground`:`text-foreground`,m;t[3]!==f||t[4]!==p?(m=Jt(`truncate font-semibold tracking-tight`,f,p),t[3]=f,t[4]=p,t[5]=m):m=t[5];let h;t[6]===m?h=t[7]:(h=(0,Nr.jsx)(`span`,{className:m,children:ul}),t[6]=m,t[7]=h);let g=h,_=s?`rounded-full bg-muted/50 px-2 py-0.5 text-[9px] leading-none font-medium tracking-[0.14em] text-muted-foreground/70 uppercase [text-indent:0.14em]`:`rounded-full bg-muted/50 px-1.5 py-0.5 text-[8px] leading-none font-medium tracking-[0.18em] text-muted-foreground/60 uppercase [text-indent:0.18em]`,v;t[8]===_?v=t[9]:(v=(0,Nr.jsx)(`span`,{className:_,children:Ice}),t[8]=_,t[9]=v);let y=v;if(a){let e;t[10]!==d||t[11]!==g?(e=(0,Nr.jsxs)(`span`,{className:`flex items-center gap-2`,children:[d,g]}),t[10]=d,t[11]=g,t[12]=e):e=t[12];let n;return t[13]!==y||t[14]!==e?(n=(0,Nr.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md`,"aria-label":dl,children:[e,y]}),t[13]=y,t[14]=e,t[15]=n):n=t[15],n}let b;return t[16]!==d||t[17]!==g?(b=(0,Nr.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,"aria-label":dl,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function vl(e){let t=(0,ll.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Jt(`pointer-events-none flex select-none items-center`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(_l,{}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,Nr.jsx)(`div`,{className:r,children:i}),t[3]=r,t[4]=a),a}function Vce(){let e=new Map;return{clear:()=>e.clear(),getItem:t=>e.get(t)??null,key:t=>Array.from(e.keys()).at(t)??null,get length(){return e.size},removeItem:t=>e.delete(t),setItem:(t,n)=>e.set(t,n)}}var yl=typeof window<`u`?window.localStorage:Vce(),Hce=(e,t)=>rr(Bn(e))(t),Uce=(e,t)=>Dte(Bn(e))(t),bl=(e,t)=>{let n=yl.getItem(e);return n?Hce(t,n):null},xl=(e,t,n)=>{let r=Uce(n,t);yl.setItem(e,r)},Sl=e=>{yl.removeItem(e)},Cl=`forge:local_storage_change`;function Wce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Cl,{detail:{key:e}}))}function wl(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return bl(e,n)??t}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),t}}),a=(0,F.useCallback)(t=>{i(r=>{try{let i=typeof t==`function`?t(r):t;return i===null?Sl(e):xl(e,i,n),queueMicrotask(()=>Wce(e)),i}catch(e){return console.error(`[LOCALSTORAGE] Error:`,e),r}})},[e,n]),o=(0,F.useRef)(e);return(0,F.useEffect)(()=>{if(o.current!==e){o.current=e;try{let r=bl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=bl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}},a=t=>{t.key===e&&r()},o=t=>{t.detail.key===e&&r()};return window.addEventListener(`storage`,a),window.addEventListener(Cl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Cl,o)}},[e,t,n]),[r,a]}var Gce=/^env_[0-9a-f]{32}$/,Kce=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,Tl={shape:`local`,isCloud:!1,legacyRuntimeId:null},qce={shape:`cloud-project-placeholder`,isCloud:!0,legacyRuntimeId:null},Jce={shape:`durable-environment`,isCloud:!0,legacyRuntimeId:null};function El(e){if(typeof e!=`string`)return Tl;if(e.startsWith(`cmmd-runtime:`)){let t=e.slice(Dl.length);return Kce.test(t)?{shape:`legacy-runtime`,isCloud:!0,legacyRuntimeId:t}:Tl}return e.startsWith(`cmmd-cloud-project:`)?qce:Gce.test(e)?Jce:Tl}var Dl=`cmmd-runtime:`;function Ol(e){return`${Dl}${e}`}function kl(e){return El(e).legacyRuntimeId!==null}function Al(e){return El(e).legacyRuntimeId}function Yce(e){return El(e).shape===`durable-environment`}var jl=`forge:client-settings:v1`,Xce=`forge:saved-environment-registry:v1`,Zce=nr({environmentId:an,label:j,httpBaseUrl:j,wsBaseUrl:j,createdAt:j,lastConnectedAt:Kn(j),cmmdOrganizationId:cn(j),cmmdProjectId:cn(j),runtimeId:cn(j),runtimeTicketExpiresAt:cn(j),lastAuthenticatedPullRequestCapability:cn(Xn),bearerToken:cn(j)}),Ml=nr({version:cn(Ln),records:cn(Jn(Zce))});function Nl(){return typeof window<`u`}var Qce={uiFontSize:14,codeFontSize:15},$ce=[[`uiFontSize`,11,20],[`codeFontSize`,11,20]];function ele(e){return e.defaultThreadRuntime===`desktop-cloud-bridge`?{...e,defaultThreadRuntime:`cloud`}:null}function tle(e){if(typeof e.fontDefaultsVersion==`number`)return null;let t=Object.entries(Qce).filter(([t,n])=>e[t]===n);if(t.length===0)return null;let n={...e};for(let[e]of t)delete n[e];return n}function nle(e){let t=$ce.flatMap(([t,n,r])=>{let i=e[t];if(typeof i!=`number`||!Number.isFinite(i))return[];let a=Math.min(r,Math.max(n,Math.round(i)));return a===i?[]:[[t,a]]});if(t.length===0)return null;let n={...e};for(let[e,r]of t)n[e]=r;return n}function Pl(e){if(!e||typeof e!=`object`)return e;let t=e,n=!1;for(let e of[ele,tle,nle]){let r=e(t);r!==null&&(t=r,n=!0)}return n?t:e}function rle(){if(!Nl())return null;try{let e=window.localStorage.getItem(jl);return e?vn(tr)(Pl(JSON.parse(e))):null}catch{return null}}function ile(e){Nl()&&xl(jl,e,tr)}function Fl(){if(!Nl())return{};try{return bl(`forge:saved-environment-registry:v1`,Ml)??{}}catch{return{}}}function Il(e){Nl()&&xl(Xce,e,Ml)}function Ll(){return Fl().records??[]}function ale(e){Il({version:1,records:e})}function ole(){return Ll().map(e=>wn(e))}function sle(e){let t=new Map(Ll().map(e=>[e.environmentId,e]));ale(e.map(e=>{let n=kl(e.environmentId)?void 0:t.get(e.environmentId)?.bearerToken;return n?{...wn(e),bearerToken:n}:wn(e)}))}function cle(e){return Ll().find(t=>t.environmentId===e)?.bearerToken??null}function lle(e,t){let n=Fl(),r=n.records??[],i=!1;return Il({version:n.version??1,records:r.map(n=>n.environmentId===e?(i=!0,Object.assign(wn(n),{bearerToken:t})):n)}),i}function ule(e){let t=Fl();Il({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?wn(t):t)})}var dle=vn(tr);function fle(){return typeof window>`u`?void 0:window.desktopBridge}function Rl(e){let t=fle(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function zl(){let e=Rl(`getClientSettings`);if(e){let t=await e();return t?dle(t):null}return rle()}async function Bl(e){let t=Rl(`setClientSettings`);if(t)return t(e);ile(e)}async function Vl(){let e=Rl(`getSavedEnvironmentRegistry`);return e?e():ole()}async function Hl(e){let t=Rl(`setSavedEnvironmentRegistry`);if(t)return t(e);sle(e)}async function Ul(e){let t=Rl(`getSavedEnvironmentSecret`);return t?t(e):cle(e)}async function Wl(e,t){let n=Rl(`setSavedEnvironmentSecret`);return n?n(e,t):lle(e,t)}async function Gl(e){let t=Rl(`removeSavedEnvironmentSecret`);if(t)return t(e);ule(e)}var Kl=`token`;function ql(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function Jl(e){let t=ql(e).get(Kl)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Kl)?.trim()??``;return n.length>0?n:null}function ple(e){let t=new URL(e.toString()),n=ql(t);return n.has(Kl)&&(n.delete(Kl),t.hash=n.toString()),t.searchParams.delete(Kl),t}function Yl(e,t){let n=new URL(e.toString());return n.searchParams.delete(Kl),n.hash=new URLSearchParams([[Kl,t]]).toString(),n}function mle(e,t){let n=new URL(e);return n.pathname=`/login`,Yl(n,t).toString()}function hle(e){return Yl(new URL(`/login`,window.location.href),e).toString()}function gle(e){let t=new URL(e),n=Jl(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(Kl,n),r.toString()}function _le(e){return{_tag:`Value`,value:e}}function vle(e,t){return{_tag:`Record`,keys:e,value:t}}function yle(e,t){return{_tag:`Array`,length:e,value:t}}$t(`SourceError`);var ble=$e(`effect/ConfigProvider`,{defaultValue:()=>Cle()}),xle={...Ke,toJSON(){return{_id:`ConfigProvider`}}};function Sle(e,t,n){let r=Object.create(xle);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 Cle(e){let t=e?.env??{APP_VERSION:`0.13.4`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_INLINE_CSS_ENABLED:`false`,VITE_COMMIT_SHA:``,VITE_HTTP_URL:``,VITE_SENTRY_COMMIT_SHA:`ccfffcbf86c28599b61bac158032499398ed9713`,VITE_SENTRY_DEBUG:``,VITE_SENTRY_DSN:``,VITE_SENTRY_ENABLED:``,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_PROFILES_SAMPLE_RATE:``,VITE_SENTRY_RELEASE:`forge-web@0.13.4+ccfffcbf86c28599b61bac158032499398ed9713`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=wle(t);return Sle(e=>rt(Ele(n,t,e)))}function wle(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 Tle=/^(0|[1-9][0-9]*)$/;function Ele(e,t,n){let r=t[n.map(String).join(`_`)],i=Dle(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:_le(r):a.every(e=>Tle.test(e))?yle(Math.max(...a.map(e=>parseInt(e,10)))+1,r):vle(new Set(a),r)}function Dle(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 Xl=`~effect/Config`,Ole=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},kle={...Ke,...Cee,[Xl]:Xl,asEffect(){return wt(ble.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function Ale(e){let t=Object.create(kle);return t.parse=e,t}var Zl=Xe(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}}}),Ql=Xe(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*Ql(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=qte(a.parameter);for(let o of i.keys)if(!Object.hasOwn(r,o)&&e(o)){let e=yield*Ql(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*Ql(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*Zl(t,n);case`Suspend`:return yield*Ql(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 $l(e,t){let n=Ute(e),r=Pte(n),i=Yte(n.ast),a=typeof t==`string`?[t]:t??[];return Ale(e=>{let t=e.prefix?[...e.prefix,...a]:a;return Ql(i,e,a).pipe(tte(e=>r(e).pipe(It(e=>new Ote(t.length>0?new Fte(t,e):e)))),It(e=>new Ole(e)))})}var jle=(e,t,n)=>{let r=In(e,t),i=j.pipe(xn(In(j,j),Nte(n)),xn(r));return ir([r,i])},B=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__,V=globalThis,eu=`10.74.0`;function tu(){return nu(V),V}function nu(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.74.0`,t[eu]=t[`10.74.0`]||{}}function ru(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[eu]=r[`10.74.0`]||{};return i[e]||(i[e]=t())}var iu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],Mle=`Sentry Logger `,au={};function ou(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(au);r.forEach(e=>{let r=au[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function Nle(){lu().enabled=!0}function Ple(){lu().enabled=!1}function su(){return lu().enabled}function Fle(...e){cu(`log`,...e)}function Ile(...e){cu(`warn`,...e)}function Lle(...e){cu(`error`,...e)}function cu(e,...t){B&&su()&&ou(()=>{V.console[e](`${Mle}[${e}]:`,...t)})}function lu(){return B?ru(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:Nle,disable:Ple,isEnabled:su,log:Fle,warn:Ile,error:Lle},uu=50,du=/\(error: (.*)\)/,fu=/captureMessage|captureException/;function pu(...e){let t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,r=0)=>{let i=[],a=e.split(`
3
3
  `);for(let e=n;e<a.length;e++){let n=a[e];n.length>1024&&(n=n.slice(0,1024));let o=du.test(n)?n.replace(du,`$1`):n;if(!o.includes(`Error: `)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=uu+r)break}}return zle(i.slice(r))}}function Rle(e){return Array.isArray(e)?pu(...e):e}function zle(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(mu(t).function||``)&&t.pop(),t.reverse(),fu.test(mu(t).function||``)&&(t.pop(),fu.test(mu(t).function||``)&&t.pop()),t.slice(0,uu).map(e=>({...e,filename:e.filename||mu(t).filename,function:e.function||`?`}))}function mu(e){return e[e.length-1]||{}}var hu=`<anonymous>`;function gu(e){try{return!e||typeof e!=`function`?hu:e.name||hu}catch{return hu}}function _u(e){let t=e.exception;if(t){let e=[];try{return t.values.forEach(t=>{t.stacktrace.frames&&e.push(...t.stacktrace.frames)}),e}catch{return}}}function Ble(e){let t=e?.startsWith(`file://`)?e.slice(7):e;return t?.match(/\/[A-Z]:/)&&(t=t.slice(1)),t}var vu={},yu={};function bu(e,t){return vu[e]=vu[e]||[],vu[e].push(t),()=>{let n=vu[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}function xu(e,t){if(!yu[e]){yu[e]=!0;try{t()}catch(t){B&&H.error(`Error while instrumenting ${e}`,t)}}}function Su(e,t){let n=e&&vu[e];if(n)for(let r of n)try{r(t)}catch(t){B&&H.error(`Error while triggering instrumentation handler.
4
4
  Type: ${e}
5
5
  Name: ${gu(r)}
@@ -1002,7 +1002,7 @@ or you can use record.mirror to access the mirror instance during recording.`,MV
1002
1002
  now you can use replayer.getMirror() to access the mirror instance of a replayer,\r
1003
1003
  or you can use record.mirror to access the mirror instance during recording.`,KU={map:{},getId(){return console.error(GU),-1},getNode(){return console.error(GU),null},removeNodeFromMap(){console.error(GU)},has(){return console.error(GU),!1},reset(){console.error(GU)}};typeof window<`u`&&window.Proxy&&window.Reflect&&(KU=new Proxy(KU,{get(e,t,n){return t===`map`&&console.error(GU),Reflect.get(e,t,n)}}));function qU(e,t,n,r,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,r?n:{set(e){$U(()=>{n.set.call(this,e)},0),a&&a.set&&a.set.call(this,e)}}),()=>qU(e,t,a||{},!0)}function JU(e,t,n){try{if(!(t in e))return()=>{};let r=e[t],i=n(r);return typeof i==`function`&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=i,()=>{e[t]=r}}catch{return()=>{}}}Date.now().toString();function VWe(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function YU(e,t,n,r,i){if(!e)return!1;let a=VWe(e);if(!a)return!1;let o=WU(t,n);if(!i){let e=r&&a.matches(r);return o(a)&&!e}let s=UU(a,o),c=-1;return s<0?!1:(r&&(c=UU(a,WU(null,r))),s>-1&&c<0||s<c)}var XU={};function ZU(e){let t=XU[e];if(t)return t;let n=window.document,r=window[e];if(n&&typeof n.createElement==`function`)try{let t=n.createElement(`iframe`);t.hidden=!0,n.head.appendChild(t);let i=t.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(t)}catch{}return XU[e]=r.bind(window)}function QU(...e){return ZU(`requestAnimationFrame`)(...e)}function $U(...e){return ZU(`setTimeout`)(...e)}var eW=(e=>(e[e[`2D`]=0]=`2D`,e[e.WebGL=1]=`WebGL`,e[e.WebGL2=2]=`WebGL2`,e))(eW||{}),tW;function HWe(e){tW=e}for(var nW=e=>tW?((...t)=>{try{return e(...t)}catch(e){if(tW&&tW(e)===!0)return()=>{};throw e}}):e,rW=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,UWe=typeof Uint8Array>`u`?[]:new Uint8Array(256),iW=0;iW<rW.length;iW++)UWe[rW.charCodeAt(iW)]=iW;var WWe=function(e){var t=new Uint8Array(e),n,r=t.length,i=``;for(n=0;n<r;n+=3)i+=rW[t[n]>>2],i+=rW[(t[n]&3)<<4|t[n+1]>>4],i+=rW[(t[n+1]&15)<<2|t[n+2]>>6],i+=rW[t[n+2]&63];return r%3==2?i=i.substring(0,i.length-1)+`=`:r%3==1&&(i=i.substring(0,i.length-2)+`==`),i},aW=new Map;function GWe(e,t){let n=aW.get(e);return n||(n=new Map,aW.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}var oW=(e,t,n)=>{if(!e||!(lW(e,t)||typeof e==`object`))return;let r=e.constructor.name,i=GWe(n,r),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function sW(e,t,n){if(e instanceof Array)return e.map(e=>sW(e,t,n));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer)return{rr_type:e.constructor.name,base64:WWe(e)};if(e instanceof DataView)return{rr_type:e.constructor.name,args:[sW(e.buffer,t,n),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let t=e.constructor.name,{src:n}=e;return{rr_type:t,src:n}}return e instanceof HTMLCanvasElement?{rr_type:`HTMLImageElement`,src:e.toDataURL()}:e instanceof ImageData?{rr_type:e.constructor.name,args:[sW(e.data,t,n),e.width,e.height]}:lW(e,t)||typeof e==`object`?{rr_type:e.constructor.name,index:oW(e,t,n)}:e}var cW=(e,t,n)=>e.map(e=>sW(e,t,n)),lW=(e,t)=>!![`WebGLActiveInfo`,`WebGLBuffer`,`WebGLFramebuffer`,`WebGLProgram`,`WebGLRenderbuffer`,`WebGLShader`,`WebGLShaderPrecisionFormat`,`WebGLTexture`,`WebGLUniformLocation`,`WebGLVertexArrayObject`,`WebGLVertexArrayObjectOES`].filter(e=>typeof t[e]==`function`).find(n=>e instanceof t[n]);function KWe(e,t,n,r,i){let a=[],o=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let s of o)try{if(typeof t.CanvasRenderingContext2D.prototype[s]!=`function`)continue;let o=JU(t.CanvasRenderingContext2D.prototype,s,function(a){return function(...o){return YU(this.canvas,n,r,i,!0)||$U(()=>{let n=cW(o,t,this);e(this.canvas,{type:eW[`2D`],property:s,args:n})},0),a.apply(this,o)}});a.push(o)}catch{let n=qU(t.CanvasRenderingContext2D.prototype,s,{set(t){e(this.canvas,{type:eW[`2D`],property:s,args:[t],setter:!0})}});a.push(n)}return()=>{a.forEach(e=>e())}}function qWe(e){return e===`experimental-webgl`?`webgl`:e}function uW(e,t,n,r,i){let a=[];try{let o=JU(e.HTMLCanvasElement.prototype,`getContext`,function(e){return function(a,...o){if(!YU(this,t,n,r,!0)){let e=qWe(a);if(`__context`in this||(this.__context=e),i&&[`webgl`,`webgl2`].includes(e))if(o[0]&&typeof o[0]==`object`){let e=o[0];e.preserveDrawingBuffer||=!0}else o.splice(0,1,{preserveDrawingBuffer:!0})}return e.apply(this,[a,...o])}});a.push(o)}catch{console.error(`failed to patch HTMLCanvasElement.prototype.getContext`)}return()=>{a.forEach(e=>e())}}function dW(e,t,n,r,i,a,o,s){let c=[],l=Object.getOwnPropertyNames(e);for(let o of l)if(![`isContextLost`,`canvas`,`drawingBufferWidth`,`drawingBufferHeight`].includes(o))try{if(typeof e[o]!=`function`)continue;let l=JU(e,o,function(e){return function(...c){let l=e.apply(this,c);if(oW(l,s,this),`tagName`in this.canvas&&!YU(this.canvas,r,i,a,!0)){let e=cW(c,s,this),r={type:t,property:o,args:e};n(this.canvas,r)}return l}});c.push(l)}catch{let r=qU(e,o,{set(e){n(this.canvas,{type:t,property:o,args:[e],setter:!0})}});c.push(r)}return c}function JWe(e,t,n,r,i,a){let o=[];return o.push(...dW(t.WebGLRenderingContext.prototype,eW.WebGL,e,n,r,i,a,t)),t.WebGL2RenderingContext!==void 0&&o.push(...dW(t.WebGL2RenderingContext.prototype,eW.WebGL2,e,n,r,i,a,t)),()=>{o.forEach(e=>e())}}var YWe=`for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="undefined"==typeof Uint8Array?[]:new Uint8Array(256),a=0;a<64;a++)t[e.charCodeAt(a)]=a;var n=function(t){var a,n=new Uint8Array(t),r=n.length,s="";for(a=0;a<r;a+=3)s+=e[n[a]>>2],s+=e[(3&n[a])<<4|n[a+1]>>4],s+=e[(15&n[a+1])<<2|n[a+2]>>6],s+=e[63&n[a+2]];return r%3==2?s=s.substring(0,s.length-1)+"=":r%3==1&&(s=s.substring(0,s.length-2)+"=="),s};const r=new Map,s=new Map;const i=self;i.onmessage=async function(e){if(!("OffscreenCanvas"in globalThis))return i.postMessage({id:e.data.id});{const{id:t,bitmap:a,width:o,height:f,maxCanvasSize:c,dataURLOptions:g}=e.data,u=async function(e,t,a){const r=e+"-"+t;if("OffscreenCanvas"in globalThis){if(s.has(r))return s.get(r);const i=new OffscreenCanvas(e,t);i.getContext("2d");const o=await i.convertToBlob(a),f=await o.arrayBuffer(),c=n(f);return s.set(r,c),c}return""}(o,f,g),[h,d]=function(e,t,a){if(!a)return[e,t];const[n,r]=a;if(e<=n&&t<=r)return[e,t];let s=e,i=t;return s>n&&(i=Math.floor(n*t/e),s=n),i>r&&(s=Math.floor(r*e/t),i=r),[s,i]}(o,f,c),l=new OffscreenCanvas(h,d),w=l.getContext("bitmaprenderer"),p=h===o&&d===f?a:await createImageBitmap(a,{resizeWidth:h,resizeHeight:d,resizeQuality:"low"});w?.transferFromImageBitmap(p),a.close();const y=await l.convertToBlob(g),v=y.type,b=await y.arrayBuffer(),m=n(b);if(p.close(),!r.has(t)&&await u===m)return r.set(t,m),i.postMessage({id:t});if(r.get(t)===m)return i.postMessage({id:t});i.postMessage({id:t,type:v,base64:m,width:o,height:f}),r.set(t,m)}};`;function XWe(){let e=new Blob([YWe]);return URL.createObjectURL(e)}var ZWe=class{constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.shadowDoms=new Set,this.windowsSet=new WeakSet,this.windows=[],this.restoreHandlers=[],this.frozen=!1,this.locked=!1,this.snapshotInProgressMap=new Map,this.worker=null,this.lastSnapshotTime=0,this.processMutation=(e,t)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)};let{enableManualSnapshot:t,sampling:n=`all`,win:r,recordCanvas:i,errorHandler:a}=e;e.sampling=n,this.mutationCb=e.mutationCb,this.mirror=e.mirror,this.options=e,a&&HWe(a),(i&&typeof n==`number`||t)&&(this.worker=this.initFPSWorker()),this.addWindow(r),!t&&nW(()=>{i&&n===`all`&&(this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher()),i&&typeof n==`number`&&this.initCanvasFPSObserver()})()}reset(){this.pendingCanvasMutations.clear(),this.restoreHandlers.forEach(e=>{try{e()}catch{}}),this.restoreHandlers=[],this.windowsSet=new WeakSet,this.windows=[],this.shadowDoms=new Set,this.worker?.terminate(),this.worker=null,this.snapshotInProgressMap=new Map}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}addWindow(e){let{sampling:t=`all`,blockClass:n,blockSelector:r,unblockSelector:i,recordCanvas:a,enableManualSnapshot:o}=this.options;if(!this.windowsSet.has(e)){if(o){this.windowsSet.add(e),this.windows.push(new WeakRef(e));return}nW(()=>{if(a&&t===`all`&&this.initCanvasMutationObserver(e,n,r,i),a&&typeof t==`number`){let t=uW(e,n,r,i,!0);this.restoreHandlers.push(()=>{t()})}})(),this.windowsSet.add(e),this.windows.push(new WeakRef(e))}}addShadowRoot(e){this.shadowDoms.add(new WeakRef(e))}resetShadowRoots(){this.shadowDoms=new Set}snapshot(e,t){if(t?.skipRequestAnimationFrame){this.takeSnapshot(performance.now(),!0,e);return}QU(t=>this.takeSnapshot(t,!0,e))}initFPSWorker(){let e=new Worker(XWe());return e.onmessage=e=>{let t=e.data,{id:n}=t;if(this.snapshotInProgressMap.set(n,!1),!(`base64`in t))return;let{base64:r,type:i,width:a,height:o}=t;this.mutationCb({id:n,type:eW[`2D`],commands:[{property:`clearRect`,args:[0,0,a,o]},{property:`drawImage`,args:[{rr_type:`ImageBitmap`,args:[{rr_type:`Blob`,data:[{rr_type:`ArrayBuffer`,base64:r}],type:i}]},0,0,a,o]}]})},e}initCanvasFPSObserver(){let e;if(!this.windows.length&&!this.shadowDoms.size)return;let t=n=>{this.takeSnapshot(n,!1),e=QU(t)};e=QU(t),this.restoreHandlers.push(()=>{e&&cancelAnimationFrame(e)})}initCanvasMutationObserver(e,t,n,r){let i=uW(e,t,n,r,!1),a=KWe(this.processMutation.bind(this),e,t,n,r),o=JWe(this.processMutation.bind(this),e,t,n,r,this.mirror);this.restoreHandlers.push(()=>{i(),a(),o()})}getCanvasElements(e,t,n){let r=[],i=i=>{i.querySelectorAll(`canvas`).forEach(i=>{YU(i,e,t,n,!0)||r.push(i)})};for(let e of this.windows){let t=e.deref(),n;try{n=t&&t.document}catch{}n&&i(n)}for(let e of this.shadowDoms){let t=e.deref();t&&i(t)}return r}takeSnapshot(e,t,n){let{sampling:r,blockClass:i,blockSelector:a,unblockSelector:o,dataURLOptions:s,maxCanvasSize:c}=this.options,l=1e3/(r===`all`?2:r||2);return this.lastSnapshotTime&&e-this.lastSnapshotTime<l?!1:(this.lastSnapshotTime=e,(n?[n]:this.getCanvasElements(i,a,o)).forEach(e=>{let n=this.mirror.getId(e);if(!(!this.mirror.hasNode(e)||!e.width||!e.height||this.snapshotInProgressMap.get(n))){if(this.snapshotInProgressMap.set(n,!0),!t&&[`webgl`,`webgl2`].includes(e.__context)){let t=e.getContext(e.__context);t?.getContextAttributes()?.preserveDrawingBuffer===!1&&t.clear(t.COLOR_BUFFER_BIT)}createImageBitmap(e).then(t=>{this.worker?.postMessage({id:n,bitmap:t,width:e.width,height:e.height,dataURLOptions:s,maxCanvasSize:c},[t])}).catch(e=>{nW(()=>{throw this.snapshotInProgressMap.delete(n),e})()})}}),!0)}startPendingCanvasMutationFlusher(){QU(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let e=t=>{this.rafStamps.latestId=t,QU(e)};QU(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{let n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)}),QU(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){if(this.frozen||this.locked)return;let n=this.pendingCanvasMutations.get(e);if(!n||t===-1)return;let r=n.map(e=>{let{type:t,...n}=e;return n}),{type:i}=n[0];this.mutationCb({id:t,type:i,commands:r}),this.pendingCanvasMutations.delete(e)}};try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement(`iframe`);document.body.appendChild(e),Array.from=e.contentWindow?.Array.from||Array.from,document.body.removeChild(e)}}catch(e){console.debug(`Unable to override Array.from`,e)}zWe();var QWe;(function(e){e[e.NotStarted=0]=`NotStarted`,e[e.Running=1]=`Running`,e[e.Stopped=2]=`Stopped`})(QWe||={});var fW={low:{sampling:{canvas:1},dataURLOptions:{type:`image/webp`,quality:.25}},medium:{sampling:{canvas:2},dataURLOptions:{type:`image/webp`,quality:.4}},high:{sampling:{canvas:4},dataURLOptions:{type:`image/webp`,quality:.5}}},$We=`ReplayCanvas`,pW=1280,eGe=dN(((e={})=>{let[t,n]=e.maxCanvasSize||[],r={quality:e.quality||`medium`,enableManualSnapshot:e.enableManualSnapshot,maxCanvasSize:[t?Math.min(t,pW):pW,n?Math.min(n,pW):pW]},i,a,o=new Promise(e=>a=e);return{name:$We,getOptions(){let{quality:e,enableManualSnapshot:t,maxCanvasSize:n}=r;return{enableManualSnapshot:t,recordCanvas:!0,getCanvasManager:e=>{let r=new ZWe({...e,enableManualSnapshot:t,maxCanvasSize:n,errorHandler:e=>{try{typeof e==`object`&&(e.__rrweb__=!0)}catch{}}});return i=r,a(r),r},...fW[e]||fW.medium}},async snapshot(e,t){(i||await o).snapshot(e,t)}}}));function tGe(e){return e.split(`,`).some(e=>e.trim().startsWith(`sentry-`))}function mW(e){try{return new URL(e,Z.location.origin).href}catch{return}}function nGe(e){return e.entryType===`resource`&&`initiatorType`in e&&typeof e.nextHopProtocol==`string`&&(e.initiatorType===`fetch`||e.initiatorType===`xmlhttprequest`)}function hW(e){try{return new Headers(e)}catch{return}}var gW={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function _W(e,t){let{traceFetch:n,traceXHR:r,shouldCreateSpanForRequest:i,enableHTTPTimings:a,tracePropagationTargets:o,onRequestSpanStart:s,onRequestSpanEnd:c}={...gW,...t},l=typeof i==`function`?i:e=>!0,u=e=>iGe(e,o),d={},f=e.getOptions().propagateTraceparent;n&&LI(t=>{let n=ANe(t,l,u,d,{propagateTraceparent:f,onRequestSpanEnd:c});if(n){let r=mW(t.fetchData.url),i=r?iP(r).host:void 0,o=r?oP(r):void 0;n.setAttributes({"http.url":o,"url.full":o,"server.address":i}),a&&vW(n,e),s?.(n,{headers:t.headers})}}),r&&oB(t=>{let n=aGe(t,l,u,d,f,c);n&&(a&&vW(n,e),s?.(n,{headers:hW(t.xhr.__sentry_xhr_v3__?.request_headers)}))})}var rGe=300;function vW(e,t){let{url:n}=rj(e).data;if(!n||typeof n!=`string`)return;let r=()=>void setTimeout(i);if(qj(t)){let t=e.end.bind(e);e.end=e=>{let n=e??Kk(),a=!1,o=()=>{a||(a=!0,setTimeout(i),t(n),clearTimeout(s))};r=o;let s=setTimeout(o,rGe)}}let i=bz(`resource`,({entries:t})=>{t.forEach(t=>{nGe(t)&&t.name.endsWith(n)&&(e.setAttributes(Lz(t)),r())})})}function iGe(e,t){let n=UI();if(n){let r,i;try{r=new URL(e,n),i=new URL(n).origin}catch{return!1}let a=r.origin===i;return t?Ik(r.toString(),t)||a&&Ik(r.pathname,t):a}{let n=!!e.match(/^\/(?!\/)/);return t?Ik(e,t):n}}function aGe(e,t,n,r,i,a){let o=e.xhr,s=o?.[aB];if(!o||o.__sentry_own_request__||!s)return;let{url:c,method:l}=s,u=Cj()&&t(c);if(e.endTimestamp){let t=o.__sentry_xhr_span_id__;if(!t)return;let n=r[t];n&&(u&&s.status_code!==void 0&&(jA(n,s.status_code),n.end(),a?.(n,{headers:hW(uB(o)),error:e.error})),delete r[t]);return}let d=mW(c),f=iP(d||c),p=d?oP(d):void 0,m=oP(aP(c)),h=X(),g=!!yj(),_=g||!!h&&qj(h),v=u&&_?nM({name:`${l} ${m}`,attributes:{url:oP(c),type:`xhr`,"http.method":l,"http.url":p,"url.full":p,"server.address":f?.host,[CA]:`auto.http.browser`,[SA]:`http.client`,...f?.search&&{"http.query":f?.search},...f?.hash&&{"http.fragment":f?.hash}}}):new Dj,y=pM(v)&&g?void 0:v;return u&&!_&&h?.recordDroppedEvent(`no_parent_span`,`span`),o.__sentry_xhr_span_id__=v.spanContext().spanId,r[o.__sentry_xhr_span_id__]=v,n(c)&&oGe(o,Cj()&&_?y:void 0,i),h&&h.emit(`beforeOutgoingRequestSpan`,v,e),v}function oGe(e,t,n){let{"sentry-trace":r,baggage:i,traceparent:a}=uP({span:t,propagateTraceparent:n});r&&sGe(e,r,i,a)}function sGe(e,t,n,r){let i=e.__sentry_xhr_v3__?.request_headers;if(!(i?.[`sentry-trace`]||!e.setRequestHeader))try{if(e.setRequestHeader(`sentry-trace`,t),r&&!i?.traceparent&&e.setRequestHeader(`traceparent`,r),n){let t=i?.baggage;(!t||!tGe(t))&&e.setRequestHeader(`baggage`,n)}}catch{}}var yW=new WeakMap,bW=new WeakMap,cGe=9e4,lGe=[`text/event-stream`,`application/x-ndjson`,`application/stream+json`],xW=dN(()=>({name:`FetchStreamPerformance`,setup(){QFe(e=>{if(e.response){let t=yW.get(e.response);if(t&&e.endTimestamp){t.end(e.endTimestamp);let n=bW.get(e.response);n&&clearTimeout(n)}}}),LI(e=>{if(e.endTimestamp&&e.response){let t=e.response.headers?.get(`content-type`)||``;if(e.response.headers?.get(`content-length`)||!lGe.some(e=>t.startsWith(e)))return;let n=e.fetchData?.url||``,r=e.fetchData?.method||`GET`,i=nP(n),a=nM({name:`${r} ${n.startsWith(`data:`)?oP(n):i?rP(i):n}`,startTime:e.endTimestamp,attributes:{url:oP(n),"http.method":r,type:`fetch`,[SA]:`http.client.stream`,[CA]:`auto.http.browser.stream`}});yW.set(e.response,a);let o=setTimeout(()=>{a.isRecording()&&a.end()},cGe);bW.set(e.response,o)}})}})),uGe=`WebVitals`,SW=dN((e={})=>{let t=new Set(e.ignore??[]);return{name:uGe,setup(n){let r=qj(n),{enableStandaloneClsSpans:i,enableStandaloneLcpSpans:a}=e._experiments??{},o=r||t.has(`cls`)?void 0:i||!1,s=r||t.has(`lcp`)?void 0:a||!1,c=LRe({recordClsStandaloneSpans:o,recordLcpStandaloneSpans:s,client:n}),l=new WeakSet;n.on(`afterStartPageLoadSpan`,e=>{l.add(e)}),n.on(`spanEnd`,e=>{l.delete(e)&&(c(),KRe(e,{recordClsOnPageloadSpan:o===!1,recordLcpOnPageloadSpan:s===!1,spanStreamingEnabled:r}))}),r?(t.has(`lcp`)||dze(n),t.has(`cls`)||pze(n),t.has(`inp`)||hze()):t.has(`inp`)||oze()},afterAllSetup(){t.has(`inp`)||uze()}}});function dGe(){Z.document?Z.document.addEventListener(`visibilitychange`,()=>{let e=yj();if(!e)return;let t=_j(e);if(Z.document.hidden&&t){let e=`cancelled`,{op:n,status:r}=rj(t);Q&&Y.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${n}`),r||t.setStatus({code:2,message:e}),t.setAttribute(`sentry.cancellation_reason`,`document.hidden`),t.end()}}):Q&&Y.warn(`[Tracing] Could not set up background tab detection due to lack of global document`)}var CW=`sentry_previous_trace`,fGe=`sentry.previous_trace`;function pGe(e,{linkPreviousTrace:t,consistentTraceSampling:n}){let r=t===`session-storage`,i=r?gGe():void 0;e.on(`spanStart`,e=>{if(_j(e)!==e)return;let t=hA().getPropagationContext();i=mGe(i,e,t),r&&hGe(i)});let a=!0;n&&e.on(`beforeSampling`,e=>{if(!i)return;let t=hA(),n=t.getPropagationContext();if(a&&n.parentSpanId){a=!1;return}t.setPropagationContext({...n,dsc:{...n.dsc,sample_rate:String(i.sampleRate),sampled:String(wW(i.spanContext))},sampleRand:i.sampleRand}),e.parentSampled=wW(i.spanContext),e.parentSampleRate=i.sampleRate,e.spanAttributes={...e.spanAttributes,[jke]:i.sampleRate}})}function mGe(e,t,n){let r=rj(t);function i(){try{let e=Number(r.data?.[`sentry.sample_rate`]??n.dsc?.sample_rate);return Number.isNaN(e)?0:e}catch{return 0}}let a={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:i(),sampleRand:n.sampleRand};if(!e)return a;let o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=3600&&(Q&&Y.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[Bke]:`previous_trace`}}),t.setAttribute(fGe,`${o.traceId}-${o.spanId}-${+!!wW(o)}`)),a)}function hGe(e){try{Z.sessionStorage.setItem(CW,JSON.stringify(e))}catch(e){Q&&Y.warn(`Could not store previous trace in sessionStorage`,e)}}function gGe(){try{let e=Z.sessionStorage?.getItem(CW);return JSON.parse(e)}catch{return}}function wW(e){return e.traceFlags===1}var _Ge=`BrowserTracing`,vGe=/Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;function TW(){let e=Z.navigator;return e?.userAgent?vGe.test(e.userAgent):!1}var yGe={...mM,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:`in-memory`,consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...gW},EW=((e={})=>{`enableElementTiming`in e&&MO(()=>{console.warn("[Sentry] `enableElementTiming` is deprecated and no longer has any effect. Use the standalone `elementTimingIntegration` instead.")});let t={name:void 0,source:void 0},n=Z.document,{enableInp:r,enableLongTask:i,enableLongAnimationFrame:a,_experiments:{enableInteractions:o,enableStandaloneClsSpans:s,enableStandaloneLcpSpans:c},beforeStartSpan:l,idleTimeout:u,finalTimeout:d,childSpanTimeout:f,markBackgroundSpan:p,traceFetch:m,traceXHR:h,trackFetchStreamPerformance:g,shouldCreateSpanForRequest:_,enableHTTPTimings:v,ignoreResourceSpans:y,ignorePerformanceApiSpans:b,instrumentPageLoad:x,instrumentNavigation:S,detectRedirects:C,linkPreviousTrace:w,consistentTraceSampling:T,enableReportPageLoaded:E,onRequestSpanStart:D,onRequestSpanEnd:ee}={...yGe,...e},te=TW(),ne,O;function k(e,r,i=!0,a){let o=r.op===`pageload`,s=r.name,c=l?l(r):r,p=nP(a||UI()),m={...p?.pathname&&{"url.path":p.pathname},...p&&!tP(p)&&{"url.full":p.href},...c.attributes};if(s!==c.name&&(m[bA]=`custom`),c.attributes=m,!i){let e=Gk();nM({...c,startTime:e}).end(e);return}t.name=c.name,t.source=m[bA];let h=hM(c,{idleTimeout:u,finalTimeout:d,childSpanTimeout:f,disableAutoFinish:o,beforeSpanEnd:t=>{GRe(t,{ignoreResourceSpans:y,ignorePerformanceApiSpans:b,spanStreamingEnabled:qj(e)}),NW(e,void 0);let n=hA(),r=n.getPropagationContext();n.setPropagationContext({...r,traceId:h.spanContext().traceId,sampled:lj(h),dsc:Nj(t)}),o&&(O=void 0)},trimIdleSpanEndTimestamp:!E});o&&E&&(O=h),NW(e,h);function g(){n&&[`interactive`,`complete`].includes(n.readyState)&&(e.emit(`idleSpanEnableAutoFinish`,h),n.removeEventListener(`readystatechange`,g))}o&&!E&&n&&(n.addEventListener(`readystatechange`,g),g())}return{name:_Ge,setup(e){if(te){Q&&Y.log(`[Tracing] Skipping browserTracingIntegration setup for bot user agent.`);return}if(Sj(),a&&J.PerformanceObserver&&PerformanceObserver.supportedEntryTypes?.includes(`long-animation-frame`)?zRe():i&&RRe(),o&&BRe(),C&&n){let e=()=>{ne=Kk()};addEventListener(`click`,e,{capture:!0}),addEventListener(`keydown`,e,{capture:!0,passive:!0})}function t(){let t=MW(e);t&&!rj(t).timestamp&&(Q&&Y.log(`[Tracing] Finishing current active span with op: ${rj(t).op}`),t.setAttribute(wA,`cancelled`),t.end())}e.on(`startNavigationSpan`,(n,r)=>{if(X()!==e)return;if(r?.isRedirect){Q&&Y.warn(`[Tracing] Detected redirect, navigation span will not be the root span, but a child span.`),k(e,{op:`navigation.redirect`,...n},!1,r.url);return}ne=void 0,t(),gA().setPropagationContext({traceId:Zk(),sampleRand:Math.random(),propagationSpanId:Cj()?void 0:Qk()});let i=hA();i.setPropagationContext({traceId:Zk(),sampleRand:Math.random(),propagationSpanId:Cj()?void 0:Qk()}),i.setSDKProcessingMetadata({normalizedRequest:void 0}),k(e,{op:`navigation`,...n,parentSpan:null,forceTransaction:!0},!0,r?.url)}),e.on(`startPageLoadSpan`,(n,r={})=>{if(X()!==e)return;t();let i=JA(r.sentryTrace||kW(`sentry-trace`)||AW(`sentry-trace`),r.baggage||kW(`baggage`)||AW(`baggage`)),a=hA();a.setPropagationContext(i),Cj()||(a.getPropagationContext().propagationSpanId=Qk()),a.setSDKProcessingMetadata({normalizedRequest:DR()}),k(e,{op:`pageload`,...n})}),e.on(`endPageloadSpan`,()=>{E&&O&&(O.setAttribute(wA,`reportPageLoaded`),O.end())})},afterAllSetup(e){if(te)return;e.addIntegration&&!e.getIntegrationByName?.(`WebVitals`)&&e.addIntegration(SW({ignore:r?[]:[`inp`],_experiments:{enableStandaloneClsSpans:s,enableStandaloneLcpSpans:c}}));let n=UI();if(w!==`off`&&pGe(e,{linkPreviousTrace:w,consistentTraceSampling:T}),Z.location){if(x){let t=Jk();DW(e,{name:Z.location.pathname,startTime:t?t/1e3:void 0,attributes:{[bA]:`url`,[CA]:`auto.pageload.browser`}})}S&&tB(({to:t,from:r})=>{if(r===void 0&&n?.indexOf(t)!==-1){n=void 0;return}n=void 0;let i=nP(t),a=MW(e),o=a&&C&&xGe(a,ne);OW(e,{name:i?.pathname||Z.location.pathname,attributes:{[bA]:`url`,[CA]:`auto.navigation.browser`}},{url:t,isRedirect:o})})}p&&dGe(),o&&bGe(e,u,d,f,t),_W(e,{traceFetch:m,traceXHR:h,tracePropagationTargets:e.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:_,enableHTTPTimings:v,onRequestSpanStart:D,onRequestSpanEnd:ee}),g&&e.addIntegration(xW())}}});function DW(e,t,n){e.emit(`startPageLoadSpan`,t,n),hA().setTransactionName(t.name);let r=MW(e);return r&&e.emit(`afterStartPageLoadSpan`,r),r}function OW(e,t,n){let{url:r,isRedirect:i}=n||{};e.emit(`beforeStartNavigationSpan`,t,{isRedirect:i,url:r}),e.emit(`startNavigationSpan`,t,{isRedirect:i,url:r});let a=hA();return a.setTransactionName(t.name),r&&!i&&a.setSDKProcessingMetadata({normalizedRequest:{...DR(),url:r}}),MW(e)}function kW(e){return(Z.document?.querySelector(`meta[name=${e}]`))?.getAttribute(`content`)||void 0}function AW(e){return(Z.performance?.getEntriesByType?.(`navigation`)[0])?.serverTiming?.find(t=>t.name===e)?.description}function bGe(e,t,n,r,i){let a=Z.document,o;a&&addEventListener(`click`,()=>{let a=`ui.action.click`,s=MW(e);if(s){let e=rj(s).op;if([`navigation`,`pageload`].includes(e)){Q&&Y.warn(`[Tracing] Did not create ${a} span because a pageload or navigation span is in progress.`);return}}if(o&&=(o.setAttribute(wA,`interactionInterrupted`),o.end(),void 0),!i.name){Q&&Y.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=hM({name:i.name,op:a,attributes:{[bA]:i.source||`url`}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})},{capture:!0})}var jW=`_sentry_idleSpan`;function MW(e){return e[jW]}function NW(e,t){gk(e,jW,t)}var PW=1.5;function xGe(e,t){let n=rj(e),r=Gk();return!(r-n.start_timestamp>PW||t&&r-t<=PW)}function SGe(e=X()){e?.emit(`endPageloadSpan`)}function CGe(e){let t=yj();if(t===e)return;let n=hA();e.end=new Proxy(e.end,{apply(e,r,i){return nA(n,t),Reflect.apply(e,r,i)}}),nA(n,e)}var wGe=dN(()=>({name:`SpanStreaming`,beforeSetup(e){let t=e.getOptions();t.traceLifecycle||=(Q&&Y.log('[SpanStreaming] setting `traceLifecycle` to "stream"'),`stream`)},setup(e){let t=`SpanStreaming integration requires`,n=`Falling back to static trace lifecycle.`,r=e.getOptions();if(!qj(e)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} \`traceLifecycle\` to be set to "stream"! ${n}`);return}let i=r.beforeSendSpan;if(i&&!Pj(i)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} a beforeSendSpan callback using \`withStreamedSpan\`! ${n}`);return}let a=new JFe(e);e.on(`afterSpanEnd`,t=>{lj(t)&&a.add(tje(t,e))}),e.on(`afterSegmentSpanEnd`,e=>{let t=e.spanContext().traceId;setTimeout(()=>{a.flush(t)},500)})}})),FW=1e6,TGe=`window`in J&&J.window===J&&typeof importScripts>`u`,IW=`0`,LW=TGe?`main`:`worker`,RW=Z.navigator,zW=``,BW=``,VW=``,HW=RW?.userAgent||``,UW=``,EGe=RW?.language||RW?.languages?.[0]||``;function DGe(e){return typeof e==`object`&&!!e&&`getHighEntropyValues`in e}var WW=RW?.userAgentData;DGe(WW)&&WW.getHighEntropyValues([`architecture`,`model`,`platform`,`platformVersion`,`fullVersionList`]).then(e=>{if(zW=e.platform||``,VW=e.architecture||``,UW=e.model||``,BW=e.platformVersion||``,e.fullVersionList?.length){let t=e.fullVersionList[e.fullVersionList.length-1];HW=`${t.brand} ${t.version}`}}).catch(e=>void 0);function OGe(e){return!(`thread_metadata`in e)}function kGe(e){return OGe(e)?FGe(e):e}function AGe(e){let t=e.contexts?.trace?.trace_id;return typeof t==`string`&&t.length!==32&&Q&&Y.log(`[Profiling] Invalid traceId: ${t} on profiled event`),typeof t==`string`?t:``}function jGe(e,t,n,r){if(r.type!==`transaction`)throw TypeError(`Profiling events may only be attached to transactions, this should never occur.`);if(n==null)throw TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${n} instead.`);let i=AGe(r),a=kGe(n),o=t||(typeof r.start_timestamp==`number`?r.start_timestamp*1e3:Kk()*1e3),s=typeof r.timestamp==`number`?r.timestamp*1e3:Kk()*1e3;return{event_id:e,timestamp:new Date(o).toISOString(),platform:`javascript`,version:`1`,release:r.release||``,environment:r.environment||`production`,runtime:{name:`javascript`,version:Z.navigator.userAgent},os:{name:zW,version:BW,build_number:HW},device:{locale:EGe,model:UW,manufacturer:HW,architecture:VW,is_emulator:!1},debug_meta:{images:KW(n.resources)},profile:a,transactions:[{name:r.transaction||``,id:r.event_id||Rk(),trace_id:i,active_thread_id:IW,relative_start_ns:`0`,relative_end_ns:((s-o)*1e6).toFixed(0)}]}}function MGe(e,t,n){if(e==null)throw TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);let r=PGe(e),i=t.getOptions(),a=t.getSdkMetadata?.()?.sdk;return{chunk_id:Rk(),client_sdk:{name:a?.name??`sentry.javascript.browser`,version:a?.version??`0.0.0`},profiler_id:n||Rk(),platform:`javascript`,version:`2`,release:i.release??``,environment:i.environment??`production`,debug_meta:{images:KW(e.resources)},profile:r}}function NGe(e){try{if(!e||typeof e!=`object`)return{reason:`chunk is not an object`};let t=e=>typeof e==`string`&&/^[a-f0-9]{32}$/.test(e);if(!t(e.profiler_id))return{reason:`missing or invalid profiler_id`};if(!t(e.chunk_id))return{reason:`missing or invalid chunk_id`};if(!e.client_sdk)return{reason:`missing client_sdk metadata`};let n=e.profile;return n?!Array.isArray(n.frames)||!n.frames.length?{reason:`profile has no frames`}:!Array.isArray(n.stacks)||!n.stacks.length?{reason:`profile has no stacks`}:!Array.isArray(n.samples)||!n.samples.length?{reason:`profile has no samples`}:{valid:!0}:{reason:`missing profile data`}}catch(e){return{reason:`unknown validation error: ${e}`}}}function PGe(e){let t=[];for(let n=0;n<e.frames.length;n++){let r=e.frames[n];r&&(t[n]={function:r.name,abs_path:typeof r.resourceId==`number`?e.resources[r.resourceId]:void 0,lineno:r.line,colno:r.column})}let n=[];for(let t=0;t<e.stacks.length;t++){let r=e.stacks[t];if(!r)continue;let i=[],a=r;for(;a;)i.push(a.frameId),a=a.parentId===void 0?void 0:e.stacks[a.parentId];n[t]=i}let r=Jk(),i=typeof performance.timeOrigin==`number`?performance.timeOrigin:r||0,a=i-(r||i),o=[];for(let t=0;t<e.samples.length;t++){let n=e.samples[t];if(!n)continue;let r=(i+(n.timestamp-a))/1e3;o[t]={stack_id:n.stackId??0,thread_id:IW,timestamp:r}}return{frames:t,stacks:n,samples:o,thread_metadata:{[IW]:{name:LW}}}}function GW(e){return rj(e).op===`pageload`}function FGe(e){let t,n=0,r={samples:[],stacks:[],frames:[],thread_metadata:{[IW]:{name:LW}}},i=e.samples[0];if(!i)return r;let a=i.timestamp,o=Jk(),s=typeof performance.timeOrigin==`number`?performance.timeOrigin:o||0,c=s-(o||s);return e.samples.forEach((i,o)=>{if(i.stackId===void 0){t===void 0&&(t=n,r.stacks[t]=[],n++),r.samples[o]={elapsed_since_start_ns:((i.timestamp+c-a)*FW).toFixed(0),stack_id:t,thread_id:IW};return}let s=e.stacks[i.stackId],l=[];for(;s;){l.push(s.frameId);let t=e.frames[s.frameId];t&&r.frames[s.frameId]===void 0&&(r.frames[s.frameId]={function:t.name,abs_path:typeof t.resourceId==`number`?e.resources[t.resourceId]:void 0,lineno:t.line,colno:t.column}),s=s.parentId===void 0?void 0:e.stacks[s.parentId]}let u={elapsed_since_start_ns:((i.timestamp+c-a)*FW).toFixed(0),stack_id:n,thread_id:IW};r.stacks[n]=l,r.samples[o]=u,n++}),r}function IGe(e,t){if(!t.length)return e;for(let n of t)e[1].push([{type:`profile`},n]);return e}function LGe(e){let t=[];return Lj(e,(e,n)=>{if(n===`transaction`)for(let n=1;n<e.length;n++)e[n]?.contexts?.profile?.profile_id&&t.push(e[n])}),t}function KW(e){let t=X()?.getOptions()?.stackParser;return t?sje(t,e):[]}function qW(e){return typeof e!=`number`&&typeof e!=`boolean`||typeof e==`number`&&isNaN(e)?(Q&&Y.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(e)} of type ${JSON.stringify(typeof e)}.`),!1):e===!0||e===!1?!0:e<0||e>1?(Q&&Y.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${e}.`),!1):!0}function RGe(e){return e.samples.length<2?(Q&&Y.log(`[Profiling] Discarding profile because it contains less than 2 samples`),!1):e.frames.length?!0:(Q&&Y.log(`[Profiling] Discarding profile because it contains no frames`),!1)}var JW=!1,YW=3e4;function zGe(e){return typeof e==`function`}function XW(){let e=Z.Profiler;if(!zGe(e)){Q&&Y.log(`[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.`);return}let t=Math.floor(YW/10);try{return new e({sampleInterval:10,maxBufferSize:t})}catch{Q&&(Y.log(`[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header.`),Y.log(`[Profiling] Disabling profiling for current user session.`)),JW=!0}}function ZW(e){if(JW)return Q&&Y.log(`[Profiling] Profiling has been disabled for the duration of the current user session.`),!1;if(!e.isRecording())return Q&&Y.log(`[Profiling] Discarding profile because root span was not sampled.`),!1;let t=X()?.getOptions();if(!t)return Q&&Y.log(`[Profiling] Profiling disabled, no options found.`),!1;let n=t.profilesSampleRate;return qW(n)?n?n===!0||Math.random()<n||(Q&&Y.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(n)})`),!1):(Q&&Y.log(`[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0`),!1):(Q&&Y.warn(`[Profiling] Discarding profile because of invalid sample rate.`),!1)}function BGe(e){if(JW)return Q&&Y.log(`[Profiling] Profiling has been disabled for the duration of the current user session as the JS Profiler could not be started.`),!1;if(e.profileLifecycle!==`trace`&&e.profileLifecycle!==`manual`)return Q&&Y.warn("[Profiling] Session not sampled. Invalid `profileLifecycle` option."),!1;let t=e.profileSessionSampleRate;return qW(t)?t?Math.random()<=t:(Q&&Y.log(`[Profiling] Discarding profile because profileSessionSampleRate is not defined or set to 0`),!1):(Q&&Y.warn(`[Profiling] Discarding profile because of invalid profileSessionSampleRate.`),!1)}function QW(e){return e.profilesSampleRate!==void 0}function VGe(e,t,n,r){return RGe(n)?jGe(e,t,n,r):null}var $W=new Map;function HGe(){return $W.size}function UGe(e){let t=$W.get(e);return t&&$W.delete(e),t}function WGe(e,t){if($W.set(e,t),$W.size>30){let e=$W.keys().next().value;e!==void 0&&$W.delete(e)}}var eG=new WeakSet;function tG(e){e.setAttribute(`thread.id`,IW),e.setAttribute(`thread.name`,LW)}function nG(e){let t;GW(e)&&(t=Kk()*1e3);let n=XW();if(!n)return;Q&&Y.log(`[Profiling] started profiling span: ${rj(e).description}`);let r=Rk(),i=null;hA().setContext(`profile`,{profile_id:r,start_timestamp:t}),eG.add(e),tG(e);async function a(){if(e&&n){if(i){Q&&Y.log(`[Profiling] profile for:`,rj(e).description,`already exists, returning early`);return}return n.stop().then(t=>{if(o&&=(Z.clearTimeout(o),void 0),Q&&Y.log(`[Profiling] stopped profiling of span: ${rj(e).description}`),!t){Q&&Y.log(`[Profiling] profiler returned null profile for: ${rj(e).description}`,`this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started`);return}i=t,WGe(r,t)}).catch(e=>{Q&&Y.log(`[Profiling] error while stopping profiler:`,e)})}}let o=Z.setTimeout(()=>{Q&&Y.log(`[Profiling] max profile duration elapsed, stopping profiling for:`,rj(e).description),a()},YW),s=e.end.bind(e);function c(){return e?(a().then(()=>{s()},()=>{s()}),e):s()}e.end=c}var GGe=6e4,KGe=3e5,qGe=class{constructor(){this._client=void 0,this._profiler=void 0,this._chunkTimer=void 0,this._profilerId=void 0,this._isRunning=!1,this._sessionSampled=!1,this._lifecycleMode=void 0,this._activeRootSpanIds=new Set,this._rootSpanTimeouts=new Map}initialize(e){let t=e.getOptions().profileLifecycle,n=BGe(e.getOptions());Q&&Y.log(`[Profiling] Initializing profiler (lifecycle='${t}').`),n||Q&&Y.log(`[Profiling] Session not sampled. Skipping lifecycle profiler initialization.`),this._profilerId=Rk(),this._client=e,this._sessionSampled=n,this._lifecycleMode=t,t===`trace`&&this._setupTraceLifecycleListeners(e),e.on(`spanStart`,e=>{this._isRunning&&tG(e)})}start(){if(this._lifecycleMode===`trace`){Q&&Y.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.start()` are ignored in trace mode.');return}if(this._isRunning){Q&&Y.warn("[Profiling] Profile session is already running, `uiProfiler.start()` is a no-op.");return}if(!this._sessionSampled){Q&&Y.warn("[Profiling] Session is not sampled, `uiProfiler.start()` is a no-op.");return}this._beginProfiling()}stop(){if(this._lifecycleMode===`trace`){Q&&Y.warn('[Profiling] `profileLifecycle` is set to "trace". Calls to `uiProfiler.stop()` are ignored in trace mode.');return}if(!this._isRunning){Q&&Y.warn("[Profiling] Profiler is not running, `uiProfiler.stop()` is a no-op.");return}this._endProfiling()}notifyRootSpanActive(e){if(this._lifecycleMode!==`trace`||!this._sessionSampled)return;let t=e.spanContext().spanId;if(!t||this._activeRootSpanIds.has(t))return;this._registerTraceRootSpan(t);let n=this._activeRootSpanIds.size;n===1&&(Q&&Y.log(`[Profiling] Detected already active root span during setup. Active root spans now:`,n),this._beginProfiling()),this._isRunning&&tG(e)}_beginProfiling(){if(!this._isRunning){if(this._isRunning=!0,Q&&Y.log(`[Profiling] Started profiling with profiler ID:`,this._profilerId),_A().setContext(`profile`,{profiler_id:this._profilerId}),this._startProfilerInstance(),!this._profiler){Q&&Y.log(`[Profiling] Failed to start JS Profiler; stopping.`),this._resetProfilerInfo();return}this._startPeriodicChunking()}}_endProfiling(){this._isRunning&&(this._isRunning=!1,this._chunkTimer&&=(clearTimeout(this._chunkTimer),void 0),this._clearAllRootSpanTimeouts(),this._collectCurrentChunk().catch(e=>{Q&&Y.error("[Profiling] Failed to collect current profile chunk on `stop()`:",e)}),this._lifecycleMode===`manual`&&_A().setContext(`profile`,{}))}_setupTraceLifecycleListeners(e){e.on(`spanStart`,e=>{if(!this._sessionSampled){Q&&Y.log(`[Profiling] Span not profiled because of negative sampling decision for user session.`);return}if(e!==_j(e))return;if(!e.isRecording()){Q&&Y.log(`[Profiling] Discarding profile because root span was not sampled.`);return}let t=e.spanContext().spanId;if(!t||this._activeRootSpanIds.has(t))return;this._registerTraceRootSpan(t);let n=this._activeRootSpanIds.size;n===1&&(Q&&Y.log(`[Profiling] Root span ${t} started. Profiling active while there are active root spans (count=${n}).`),this._beginProfiling())}),e.on(`spanEnd`,e=>{if(!this._sessionSampled)return;let t=e.spanContext().spanId;if(!t||!this._activeRootSpanIds.has(t))return;this._activeRootSpanIds.delete(t);let n=this._activeRootSpanIds.size;Q&&Y.log(`[Profiling] Root span with ID ${t} ended. Will continue profiling for as long as there are active root spans (currently: ${n}).`),n===0&&(this._collectCurrentChunk().catch(e=>{Q&&Y.error("[Profiling] Failed to collect current profile chunk on last `spanEnd`:",e)}),this._endProfiling())})}_resetProfilerInfo(){this._isRunning=!1,_A().setContext(`profile`,{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(e=>clearTimeout(e)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(e){this._activeRootSpanIds.add(e);let t=setTimeout(()=>this._onRootSpanTimeout(e),KGe);this._rootSpanTimeouts.set(e,t)}_startProfilerInstance(){if(this._profiler?.stopped===!1)return;let e=XW();if(!e){Q&&Y.log(`[Profiling] Failed to start JS Profiler.`);return}this._profiler=e}_startPeriodicChunking(){this._isRunning&&(this._chunkTimer=setTimeout(()=>{if(this._collectCurrentChunk().catch(e=>{Q&&Y.error(`[Profiling] Failed to collect current profile chunk during periodic chunking:`,e)}),this._isRunning){if(this._startProfilerInstance(),!this._profiler){this._resetProfilerInfo();return}this._startPeriodicChunking()}},GGe))}_onRootSpanTimeout(e){this._rootSpanTimeouts.has(e)&&(this._rootSpanTimeouts.delete(e),this._activeRootSpanIds.has(e)&&(Q&&Y.log(`[Profiling] Reached 5-minute timeout for root span ${e}. You likely started a manual root span that never called \`.end()\`.`),this._activeRootSpanIds.delete(e),this._activeRootSpanIds.size===0&&this._endProfiling()))}async _collectCurrentChunk(){let e=this._profiler;if(this._profiler=void 0,e)try{let t=MGe(await e.stop(),this._client,this._profilerId),n=NGe(t);if(`reason`in n){Q&&Y.log(`[Profiling] Discarding invalid profile chunk (this is probably a bug in the SDK):`,n.reason);return}this._sendProfileChunk(t),Q&&Y.log(`[Profiling] Collected browser profile chunk.`)}catch(e){Q&&Y.log(`[Profiling] Error while stopping JS Profiler for chunk:`,e)}}_sendProfileChunk(e){let t=this._client,n=Hj(t.getSdkMetadata?.()),r=t.getDsn(),i=t.getOptions().tunnel,a=Fj({event_id:Rk(),sent_at:new Date().toISOString(),...n&&{sdk:n},...!!i&&r&&{dsn:HA(r)}},[[{type:`profile_chunk`,platform:`javascript`},e]]);t.sendEnvelope(a).then(null,e=>{Q&&Y.error(`Error while sending profile chunk envelope:`,e)})}},JGe=`BrowserProfiling`,YGe=dN((()=>({name:JGe,setup(e){let t=e.getOptions(),n=new qGe;if(!QW(t)&&!t.profileLifecycle&&(t.profileLifecycle=`manual`),QW(t)&&!t.profilesSampleRate){Q&&Y.log(`[Profiling] Profiling disabled, no profiling options found.`);return}let r=yj(),i=r&&_j(r);if(QW(t)&&t.profileSessionSampleRate!==void 0&&Q&&Y.warn("[Profiling] Both legacy profiling (`profilesSampleRate`) and UI profiling settings are defined. `profileSessionSampleRate` has no effect when legacy profiling is enabled."),QW(t))i&&GW(i)&&ZW(i)&&nG(i),e.on(`spanStart`,e=>{let t=_j(e);e===t?ZW(e)&&nG(e):eG.has(t)&&tG(e)}),e.on(`beforeEnvelope`,e=>{if(!HGe())return;let t=LGe(e);if(!t.length)return;let n=[];for(let e of t){let t=e?.contexts,r=t?.profile?.profile_id,i=t?.profile?.start_timestamp;if(typeof r!=`string`){Q&&Y.log(`[Profiling] cannot find profile for a span without a profile context`);continue}if(!r){Q&&Y.log(`[Profiling] cannot find profile for a span without a profile context`);continue}t?.profile&&delete t.profile;let a=UGe(r);if(!a){Q&&Y.log(`[Profiling] Could not retrieve profile for span: ${r}`);continue}let o=VGe(r,i,a,e);o&&n.push(o)}IGe(e,n)});else{let r=t.profileLifecycle;if(e.on(`startUIProfiler`,()=>n.start()),e.on(`stopUIProfiler`,()=>n.stop()),r===`manual`)n.initialize(e);else if(r===`trace`){if(!Cj(t)){Q&&Y.warn("[Profiling] `profileLifecycle` is 'trace' but tracing is disabled. Set a `tracesSampleRate` or `tracesSampler` to enable span tracing.");return}n.initialize(e),i&&n.notifyRootSpanActive(i),Z.setTimeout(()=>{let e=yj(),t=e&&_j(e);t&&n.notifyRootSpanActive(t)},0)}}}}))),XGe=`SpotlightBrowser`,ZGe=[{op:`ui.interaction.click`,name:`#sentry-spotlight`}],QGe=((e={})=>{let t=e.sidecarUrl||`http://localhost:8969/stream`;return{name:XGe,setup:()=>{Q&&Y.log(`Using Sidecar URL`,t)},beforeSetup(e){let t=e.getOptions();t.ignoreSpans=[...t.ignoreSpans||[],...ZGe]},afterAllSetup:e=>{$Ge(e,t)}}});function $Ge(e,t){let n=rB(`fetch`),r=0;e.on(`beforeEnvelope`,e=>{if(r>3){Y.warn(`[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests:`,r);return}n(t,{method:`POST`,body:zj(e),headers:{"Content-Type":`application/x-sentry-envelope`},mode:`cors`}).then(e=>{e.status>=200&&e.status<400&&(r=0)},e=>{r++,Y.error(`Sentry SDK can't connect to Sidecar is it running? See: https://spotlightjs.com/sidecar/npx/`,e)})})}var eKe=dN(QGe),tKe=dN(()=>({name:`LaunchDarkly`,processEvent(e,t,n){return KP(e)}}));function nKe(){return{name:`sentry-flag-auditor`,type:`flag-used`,synchronous:!0,method:(e,t,n)=>{qP(e,t.value),JP(e,t.value)}}}var rKe=dN(()=>({name:`OpenFeature`,processEvent(e,t,n){return KP(e)}})),iKe=class{after(e,t){qP(t.flagKey,t.value),JP(t.flagKey,t.value)}error(e,t,n){qP(e.flagKey,e.defaultValue),JP(e.flagKey,e.defaultValue)}},aKe=dN(({featureFlagClientClass:e})=>({name:`Unleash`,setupOnce(){let t=e.prototype;hk(t,`isEnabled`,oKe)},processEvent(e,t,n){return KP(e)}}));function oKe(e){return function(...t){let n=t[0],r=e.apply(this,t);return typeof n==`string`&&typeof r==`boolean`?(qP(n,r),JP(n,r)):Q&&Y.error(`[Feature Flags] UnleashClient.isEnabled does not match expected signature. arg0: ${n} (${typeof n}), result: ${r} (${typeof r})`),r}}var sKe=(({growthbookClass:e})=>DNe({growthbookClass:e})),cKe=dN(({featureFlagClient:e})=>({name:`Statsig`,setup(t){e.on(`gate_evaluation`,e=>{qP(e.gate.name,e.gate.value),JP(e.gate.name,e.gate.value)})},processEvent(e,t,n){return KP(e)}})),lKe=`WebWorker`,uKe=dN(({worker:e})=>({name:lKe,setupOnce:()=>{(Array.isArray(e)?e:[e]).forEach(e=>rG(e))},addWorker:e=>rG(e)}));function rG(e){e.addEventListener(`message`,e=>{if(pKe(e.data)){if(e.stopImmediatePropagation(),e.data._sentryDebugIds&&(Q&&Y.log(`Sentry debugId web worker message received`,e.data),Z._sentryDebugIds={...e.data._sentryDebugIds,...Z._sentryDebugIds}),e.data._sentryModuleMetadata&&(Q&&Y.log(`Sentry module metadata web worker message received`,e.data),Z._sentryModuleMetadata={...e.data._sentryModuleMetadata,...Z._sentryModuleMetadata}),e.data._sentryWasmImages){Q&&Y.log(`Sentry WASM images web worker message received`,e.data);let t=Z._sentryWasmImages||[],n=e.data._sentryWasmImages.filter(e=>lk(e)&&typeof e.code_file==`string`&&!t.some(t=>t.code_file===e.code_file));Z._sentryWasmImages=[...t,...n]}e.data._sentryWorkerError&&(Q&&Y.log(`Sentry worker rejection message received`,e.data._sentryWorkerError),dKe(e.data._sentryWorkerError))}})}function dKe(e){let t=X();if(!t)return;let n=t.getOptions().stackParser,r=t.getOptions().attachStacktrace,i=e.reason,a=ck(i)?SB(i):IR(n,i,void 0,r,!0);a.level=`error`,e.filename&&(a.contexts={...a.contexts,worker:{filename:e.filename}}),YM(a,{originalException:i,mechanism:{handled:!1,type:`auto.browser.web_worker.onunhandledrejection`}}),Q&&Y.log(`Captured worker unhandled rejection`,i)}function fKe({self:e}){e.postMessage({_sentryMessage:!0,_sentryDebugIds:e._sentryDebugIds??void 0,_sentryModuleMetadata:e._sentryModuleMetadata??void 0}),e.addEventListener(`unhandledrejection`,t=>{let n={reason:xB(t),filename:e.location?.href};e.postMessage({_sentryMessage:!0,_sentryWorkerError:n}),Q&&Y.log(`[Sentry Worker] Forwarding unhandled rejection to parent`,n)}),Q&&Y.log(`[Sentry Worker] Registered worker with unhandled rejection handling`)}function pKe(e){if(!lk(e)||e._sentryMessage!==!0)return!1;let t=`_sentryDebugIds`in e,n=`_sentryModuleMetadata`in e,r=`_sentryWorkerError`in e,i=`_sentryWasmImages`in e;return!(!t&&!n&&!r&&!i||t&&!(lk(e._sentryDebugIds)||e._sentryDebugIds===void 0)||n&&!(lk(e._sentryModuleMetadata)||e._sentryModuleMetadata===void 0)||r&&!lk(e._sentryWorkerError)||i&&(!Array.isArray(e._sentryWasmImages)||!e._sentryWasmImages.every(e=>lk(e)&&typeof e.code_file==`string`)))}var mKe=50,[,hKe]=fB,[,gKe]=aIe(),iG=(e,t=0)=>{let n=[];for(let r of e.split(`
1004
1004
  `).slice(t)){let e=hKe(r),t=gKe(r);if(e&&t?.in_app!==!1?n.push(e):t&&(t.module===void 0&&delete t.module,n.push(t)),n.length>=mKe)break}return BO(n)},_Ke=dN(e=>{let t=e?.threshold??1e3,n=e?.pollInterval||t/2;return{name:`EventLoopBlockRenderer`,setup(r){let i={pollInterval:n,anrThreshold:t,captureStackTrace:!0,...e},a=KI(r);a.sendStatus({status:document.visibilityState,config:i}),setInterval(()=>{a.sendStatus({status:`alive`,config:i})},i.pollInterval)}}});function aG(){let e=_A().getScopeData(),t=gA().getScopeData(),n=hA().getScopeData();return xM(e,t),xM(e,n),e.eventProcessors=[],e}function vKe(e){gA().addScopeListener(t=>{e(aG(),t)}),hA().addScopeListener(t=>{e(aG(),t)}),_A().addScopeListener(t=>{e(aG(),t)})}var oG=dN(()=>({name:`ScopeToMain`,setup(e){let t=KI(e);vKe((e,n)=>{t.sendScope(JSON.stringify(Dk(e,20,2e3))),n.clearBreadcrumbs(),n.clearAttachments()})}}));function sG(e){let t;return MN(e,async e=>(t||=KI(),t.sendEnvelope(e.body),{statusCode:200}))}function cG(e){return[...OB(e).filter(e=>e.name!==`BrowserSession`&&e.name!==`CultureContext`),oG()]}function lG(e={},t=xBe){if(window?.__SENTRY__RENDERER_INIT__){Y.warn(`The browser SDK has already been initialized.
1005
- If init has been called in the preload and contextIsolation is disabled, is not required to call init in the renderer`);return}window.__SENTRY__RENDERER_INIT__=!0,e.sendClientReports=!1,e.defaultIntegrations===void 0&&(e.defaultIntegrations=cG(e)),e.stackParser===void 0&&(e.stackParser=iG),e.ipcNamespace===void 0&&(e.ipcNamespace=`sentry-ipc`),e.dsn===void 0&&(e.dsn=`https://12345@dummy.dsn/12345`),e.transport===void 0&&(e.transport=sG),delete e.initialScope,t(e)}var uG=e({BrowserClient:()=>RR,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>oMe,OpenFeatureIntegrationHook:()=>iKe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>SA,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>CA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>xA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>bA,Scope:()=>iA,addBreadcrumb:()=>dP,addEventProcessor:()=>eN,addIntegration:()=>uN,bindScopeToEmitter:()=>UAe,breadcrumbsIntegration:()=>hB,browserApiErrorsIntegration:()=>gB,browserProfilingIntegration:()=>YGe,browserSessionIntegration:()=>vB,browserTracingIntegration:()=>EW,buildLaunchDarklyFlagUsedHandler:()=>nKe,captureConsoleIntegration:()=>FMe,captureEvent:()=>YM,captureException:()=>qM,captureFeedback:()=>QP,captureMessage:()=>JM,captureSession:()=>iN,chromeStackLineParser:()=>fB,consoleLoggingIntegration:()=>zNe,contextLinesIntegration:()=>BBe,continueTrace:()=>AAe,createConsolaReporter:()=>HNe,createLangChainCallbackHandler:()=>EI,createTransport:()=>MN,createUserFeedbackEnvelope:()=>Wze,dedupeIntegration:()=>jP,defaultRequestInstrumentationOptions:()=>gW,defaultStackParser:()=>iG,elementTimingIntegration:()=>aze,endSession:()=>nN,eventFiltersIntegration:()=>mP,eventFromException:()=>PR,eventFromMessage:()=>FR,eventLoopBlockIntegration:()=>_Ke,exceptionFromError:()=>AR,extraErrorDataIntegration:()=>HMe,featureFlagsIntegration:()=>ENe,feedbackAsyncIntegration:()=>HLe,feedbackIntegration:()=>kR,feedbackSyncIntegration:()=>kR,fetchStreamPerformanceIntegration:()=>xW,forceLoad:()=>SBe,functionToStringIntegration:()=>pP,getAbsoluteUrl:()=>kze,getActiveSpan:()=>yj,getClient:()=>X,getCurrentScope:()=>hA,getDefaultIntegrations:()=>cG,getFeedback:()=>YIe,getGlobalScope:()=>_A,getIsolationScope:()=>gA,getReplay:()=>FWe,getRootSpan:()=>_j,getSpanDescendants:()=>gj,getSpanStatusFromHttpCode:()=>AA,getTraceData:()=>uP,globalHandlersIntegration:()=>bB,graphqlClientIntegration:()=>JBe,growthbookIntegration:()=>sKe,httpClientIntegration:()=>OBe,httpContextIntegration:()=>TB,inboundFiltersIntegration:()=>hP,init:()=>lG,instrumentAnthropicAiClient:()=>iFe,instrumentCreateReactAgent:()=>HFe,instrumentGoogleGenAIClient:()=>gFe,instrumentLangChainEmbeddings:()=>jFe,instrumentLangGraph:()=>UFe,instrumentOpenAiClient:()=>zPe,instrumentOutgoingRequests:()=>_W,instrumentSupabaseClient:()=>UP,isBotUserAgent:()=>TW,isEnabled:()=>$M,isInitialized:()=>gje,lastEventId:()=>QM,launchDarklyIntegration:()=>tKe,linkedErrorsIntegration:()=>EB,logger:()=>dIe,makeRendererTransport:()=>sG,metrics:()=>vIe,moduleMetadataIntegration:()=>MMe,normalizeStringifyValue:()=>DB,onLoad:()=>CBe,openFeatureIntegration:()=>rKe,parameterize:()=>lP,registerSpanErrorInstrumentation:()=>Sj,registerWebWorker:()=>fKe,replayCanvasIntegration:()=>eGe,replayIntegration:()=>BU,reportPageLoaded:()=>SGe,reportingObserverIntegration:()=>EBe,rewriteFramesIntegration:()=>XMe,scopeToMainIntegration:()=>oG,sendFeedback:()=>oL,setActiveSpanInBrowser:()=>CGe,setAttribute:()=>mje,setAttributes:()=>pje,setContext:()=>XM,setConversationId:()=>hje,setCurrentClient:()=>ZN,setExtra:()=>uje,setExtras:()=>lje,setHttpStatus:()=>jA,setMeasurement:()=>Wj,setTag:()=>fje,setTags:()=>dje,setUser:()=>ZM,showReportDialog:()=>kB,spanStreamingIntegration:()=>wGe,spanToBaggageHeader:()=>fAe,spanToJSON:()=>rj,spanToTraceHeader:()=>QA,spotlightBrowserIntegration:()=>eKe,startBrowserTracingNavigationSpan:()=>OW,startBrowserTracingPageLoadSpan:()=>DW,startInactiveSpan:()=>nM,startNewTrace:()=>aM,startSession:()=>tN,startSpan:()=>eM,startSpanManual:()=>tM,statsigIntegration:()=>cKe,supabaseIntegration:()=>uNe,suppressTracing:()=>jAe,thirdPartyErrorFilterIntegration:()=>yNe,uiProfiler:()=>Pze,unleashIntegration:()=>aKe,updateSpanName:()=>sAe,viewHierarchyIntegration:()=>YBe,webVitalsIntegration:()=>SW,webWorkerIntegration:()=>uKe,withActiveSpan:()=>rM,withIsolationScope:()=>Ake,withScope:()=>vA,withStreamedSpan:()=>pAe,zodErrorsIntegration:()=>vNe}),yKe=100,bKe=5,xKe=[`ResizeObserver loop completed with undelivered notifications.`,`ResizeObserver loop limit exceeded`,`AbortError`,`The user aborted a request.`,`Network request failed`,`NetworkError when attempting to fetch resource.`,`Failed to fetch`,`ChunkLoadError`,`Loading chunk`,`Loading CSS chunk`,`Non-Error promise rejection captured with value: Object Not Found Matching Id`];function dG(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function SKe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),dG(e.extra),dG(e.tags)}function CKe(e){let t=pG(e.version)??`0.0.0`,n=pG(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function fG(e,t){for(let n of t){let t=pG(e[n]);if(t)return t}}function wKe(e){return mG(e.enabled)??e.defaultEnabled??!1}function TKe(e){let t=pG(e.dsn);return!t||wKe(e)===!1?null:{dsn:t,environment:pG(e.environment)??pG(e.defaultEnvironment)??`production`,release:pG(e.release)??pG(e.defaultRelease)??void 0,debug:mG(e.debug)??e.defaultDebug??!1,tracesSampleRate:gG(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:hG(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:hG(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:hG(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:yKe,normalizeDepth:bKe,tags:EKe(e)}}function EKe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=pG(r);e&&(t[n]=e)}return t}function pG(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function mG(e){if(typeof e==`boolean`)return e;let t=pG(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function hG(e,t){if(t!==void 0||e!==void 0)return gG(e,t??0)}function gG(e,t){let n=DKe(e);return n===null||n<0||n>1?t:n}function DKe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=pG(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function OKe(e){let t=(0,ll.c)(11),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Jt(gl,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Jt(ml,`pl-1 md:pl-2.5`),t[1]=r):r=t[1];let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(vl,{}),t[2]=i):i=t[2];let a;t[3]===e.onGoToNewChat?a=t[4]:(a=(0,Nr.jsx)(`div`,{className:r,children:(0,Nr.jsx)(`button`,{type:`button`,"aria-label":`Go to new chat`,onClick:e.onGoToNewChat,className:`${hl} hover:bg-accent/70`,children:i})}),t[3]=e.onGoToNewChat,t[4]=a);let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Nr.jsx)(`div`,{}),t[5]=o):o=t[5];let s;t[6]===a?s=t[7]:(s=(0,Nr.jsxs)(`header`,{className:pl,children:[a,o]}),t[6]=a,t[7]=s);let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Nr.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-4`,children:(0,Nr.jsxs)(`div`,{className:`max-w-md rounded-xl border border-border bg-card p-6 text-center shadow-lg`,children:[(0,Nr.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:`Something went wrong.`}),(0,Nr.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Forge hit an unexpected error and reported it.`}),(0,Nr.jsx)(`button`,{className:`mt-4 inline-flex rounded-md border border-border px-3 py-2 text-sm font-medium hover:bg-accent`,onClick:kKe,type:`button`,children:`Reload app`})]})}),t[8]=c):c=t[8];let l;return t[9]===s?l=t[10]:(l=(0,Nr.jsxs)(`div`,{className:n,children:[s,c]}),t[9]=s,t[10]=l),l}function kKe(){return window.location.reload()}var AKe=[/\bDeepSeek\b/i,/\bKimi\b/i,/\bMoonshot\b/i,/\bdeepseek[-._a-z0-9]*\b/i,/\bkimi[-._a-z0-9]*\b/i,/\bmoonshot[-._a-z0-9]*\b/i,/\bAPEX_API_KEY\b/,/\bDEEPSEEK_API_KEY\b/,/\bKIMI_API_KEY\b/,/\bOPENAI_API_KEY\b/,/\bANTHROPIC_API_KEY\b/,/\bCURSOR_API_KEY\b/,/\bOPENCODE_API_KEY\b/,/\bforge_proxy_[A-Za-z0-9._-]+\b/,/\bProviderValidationError\b/,/\/forge-server\/node_modules\//,/https?:\/\/[^\s'"<>)]*\/api\/provider-egress\/[^\s'"<>)]*/i,/https?:\/\/[^\s'"<>)]*(?:apex|deepseek|moonshot|kimi)[^\s'"<>)]*/i],jKe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function _G(e){if(!e)return!1;let t=e.toLowerCase();return/\b(rate[\s-]?limit|too\s+many\s+requests|usage[ _-]limit|usage_limit_reached|quota|insufficient_quota)\b/.test(t)||/\b429\b/.test(t)}function MKe(e){return/\bbound to provider account\b/.test(e)&&/\bcannot use provider account\b/.test(e)?`Forge could not switch this conversation to the selected AI account. Retry the account switch.`:/\bforge_runtime_repairing\b/.test(e)||/\bthis turn was interrupted because the environment is being repaired\b/.test(e)?`This turn was interrupted because the environment is being repaired. Retry after the repair finishes.`:/\bforge_runtime_stopped\b/.test(e)||/\bthis turn was interrupted because the environment was stopped\b/.test(e)?`This turn was interrupted because the environment was stopped. Start the environment and retry.`:null}function NKe(e){if(!e)return null;let t=e.toLowerCase(),n=MKe(t);return n===null?/\bforge_provider_model_not_allowed\b/.test(t)||/\bnot\s+scoped\s+to\s+the\s+requested\s+model\b/.test(t)?`The workspace AI credential does not cover the model this turn asked for. Retry, or pick that model for the thread.`:/\bmodel\b[\s\S]*\b(not\s+(found|available|supported)|does\s+not\s+exist|unsupported|invalid|unknown)\b/.test(t)||/\b(unsupported|unknown|invalid)\b[\s\S]*\bmodel\b/.test(t)||/\b(model_not_found|invalid_model|model_not_supported)\b/.test(t)?`The selected model isn't available right now. Pick a different model and retry.`:_G(t)?`The AI service is rate-limited or out of quota. Wait a moment and retry.`:/\b(unauthorized|forbidden|authentication\s+(failed|error|required)|invalid\s+api\s+key|expired\s+(token|credential))\b/.test(t)||/\b40[13]\b/.test(t)?`Workspace AI authentication failed. Reconnect the workspace and retry.`:/\b(timed?\s*out|timeout|overloaded|service\s+unavailable)\b/.test(t)||/\b50[234]\b/.test(t)?`The AI service is temporarily overloaded. Retry in a moment.`:null:n}function PKe(e){return e?AKe.some(t=>t.test(e)):!1}function vG(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:PKe(n)?NKe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var FKe=[/\bSocketCloseError\b/i,/\bSocketOpenError\b/i,/\bSocketReadError\b/i,/\bRpcClientDefect:\s*Unknown socket error\b/i,/Unable to connect to the Forge server WebSocket\./i,/\bping timeout\b/i];function yG(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&FKe.some(e=>e.test(t))}function bG(e){return yG(e)?null:vG(e,{fallback:jKe})}var xG=`forge-web`,SG=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],CG=[`VITE_SENTRY_RELEASE`],IKe=[`VITE_SENTRY_DSN`],LKe=[`VITE_SENTRY_DEBUG`],RKe=[`VITE_SENTRY_ENABLED`],zKe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],BKe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],VKe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],HKe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],UKe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],wG=!1,TG={autoInject:!1,colorScheme:`system`,formTitle:`Report a Bug`,themeLight:{accentBackground:`oklch(0.52 0.19 48)`,accentForeground:`#ffffff`,background:`#ffffff`,boxShadow:`0 24px 80px rgba(0, 0, 0, 0.18)`,foreground:`#262626`,outline:`1px solid oklch(0.52 0.19 48)`},themeDark:{accentBackground:`oklch(0.62 0.2 47)`,accentForeground:`#ffffff`,background:`#171717`,boxShadow:`0 24px 80px rgba(0, 0, 0, 0.45)`,foreground:`#f5f5f5`,outline:`1px solid oklch(0.62 0.2 47)`}};function WKe(e){let t=e.exception&&typeof e.exception==`object`&&`values`in e.exception&&Array.isArray(e.exception.values)?e.exception.values:[];return[typeof e.title==`string`?e.title:void 0,...t.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=e;return[typeof t.type==`string`?t.type:void 0,typeof t.value==`string`?t.value:void 0]})]}function GKe(e){return(e.exception&&typeof e.exception==`object`&&`values`in e.exception&&Array.isArray(e.exception.values)?e.exception.values:[]).some(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.value!=`string`||!/All fibers interrupted without error/i.test(t.value)?!1:t.stacktrace?.frames?.some(e=>{let t=typeof e.filename==`string`?e.filename:``,n=typeof e.function==`string`?e.function:``;return t.includes(`src/rpc/wsTransport.ts`)&&n===`WsTransport.request`})})}function KKe(e){return WKe(e).some(yG)||GKe(e)}function qKe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function JKe(){let e=Pr?`electron-renderer`:`browser`,t={APP_VERSION:`0.13.4`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_INLINE_CSS_ENABLED:`false`,VITE_COMMIT_SHA:``,VITE_HTTP_URL:``,VITE_SENTRY_COMMIT_SHA:`b06001f4e16f7a336e9108920f9250b366862f3d`,VITE_SENTRY_DEBUG:``,VITE_SENTRY_DSN:``,VITE_SENTRY_ENABLED:``,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_PROFILES_SAMPLE_RATE:``,VITE_SENTRY_RELEASE:`forge-web@0.13.4+b06001f4e16f7a336e9108920f9250b366862f3d`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=fG(t,[...CG])??CKe({appName:xG,version:`0.13.4`,commitHash:fG(t,[...UKe])});return TKe({appName:xG,runtime:e,defaultEnvironment:fG(t,[...SG])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:fG(t,[...RKe]),dsn:fG(t,[...IKe]),environment:fG(t,[...SG]),release:fG(t,[...CG]),debug:fG(t,[...LKe]),tracesSampleRate:fG(t,[...zKe]),profilesSampleRate:fG(t,[...BKe]),replaysSessionSampleRate:fG(t,[...VKe]),replaysOnErrorSampleRate:fG(t,[...HKe]),tags:{platform:Pr?`desktop`:`web`}})}function EG(e){return SKe(e),KKe(e)?null:e}function YKe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function DG(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...xKe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...YKe(e)}}function XKe(e){let t=[];e.tracesSampleRate>0&&t.push(EW()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(BU());let n=kR(TG);t.push(n);try{lG({...DG(e),beforeSend:e=>EG(e),integrations:t})}catch{return null}return wG=!0,uG}function ZKe(e){let t=[];e.tracesSampleRate>0&&t.push(_E()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(jT());let n=mb(TG);t.push(n);try{ZE({...DG(e),beforeSend:e=>EG(e),integrations:t})}catch{return null}return wG=!0,TO}function OG(){if(wG)return Pr?uG:TO;let e=JKe();return e?Pr?XKe(e):ZKe(e):null}function kG(e){if(OG()){if(Pr){ZM(e);return}km(e)}}function AG(e,t,n){if(!OG())return;let r=QKe(e);if(Pr){vA(e=>{t&&e.setTags(t);let i=qM(r);n?.showReportDialog&&kB({eventId:i})});return}Kd(e=>{t&&e.setTags(t);let i=Tm(r);n?.showReportDialog&&bS({eventId:i})})}function QKe(e){if(e instanceof Error)return e;if(typeof e==`string`&&e.trim().length>0)return Error(e);try{return Error(JSON.stringify(e))}catch{return Error(`Unknown non-Error exception`)}}var $Ke=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){AG(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(OKe,{onGoToNewChat:qKe}):this.props.children}},jG=!1,MG=!1,NG=null,PG=null,FG=null,IG=!1,LG=new Set;function eqe(e){if(jG||MG)return;if(!e.publicKey||!e.host){MG=!0;return}if(NG)return;if(typeof window>`u`||typeof location>`u`){MG=!0;return}let t=e.publicKey,n=e.host;NG=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{PG=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{jG=!0,FG&&RG(FG),zG(),LG.forEach(e=>e())}})}).catch(()=>{MG=!0,PG=null})}function RG(e){if(FG=e,!jG||!PG)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),PG.identify(e.cmmdUserId,t)}function tqe(e){return!jG||!PG?!1:PG.isFeatureEnabled(e)===!0}function zG(){!PG||IG||(IG=!0,PG.onFeatureFlags(()=>{LG.forEach(e=>e())}))}function nqe(e){return LG.add(e),jG&&PG&&(zG(),e()),()=>{LG.delete(e)}}var BG=`/api/cmmd/auth-runtime`;function rqe(e){return P({method:`POST`,path:BG},e)}function iqe(e){return P({method:`GET`,path:BG},e)}function aqe(e){return P({method:`DELETE`,path:BG},e)}function oqe(e){return P({method:`POST`,path:`${BG}/connect`},e)}function sqe(e,t){return P({method:`GET`,path:`/api/cmmd/billing`,...t?.organizationId===void 0?{}:{query:{orgId:t.organizationId}}},e)}function cqe(e,t){return P({method:`GET`,path:`/api/cmmd/billing/series`,query:{timeZone:t.timeZone}},e)}var VG=`/api/cmmd/providers/codex/credential`,HG=`/api/cmmd/providers/claude/credential`;function lqe(e){return P({method:`GET`,path:VG},e)}function uqe(e){return P({method:`DELETE`,path:VG},e)}function dqe(e){return P({method:`GET`,path:HG},e)}function fqe(e){return P({method:`DELETE`,path:HG},e)}function pqe(e,t){return P({method:`DELETE`,path:`/api/cmmd/providers/accounts/${encodeURIComponent(String(t))}`},e)}function mqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function hqe(e,t,n,r,i){return P({method:`PUT`,path:mqe(t,n,r),body:i},e)}function gqe(e){return(t,n,r,i)=>hqe(e,t,n,r,i)}function _qe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function vqe(e,t,n,r,i){return P({method:`POST`,path:_qe(t,n,r),body:i},e)}function yqe(e){return(t,n,r,i)=>vqe(e,t,n,r,i)}function bqe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function xqe(e){let t={action:e.action,...e.operationId===void 0?{}:{operationId:e.operationId},expectedRevision:e.expectedRevision,force:e.force};try{return await e.submit(t)}catch(n){if(!bqe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function Sqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function Cqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function wqe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function UG(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var Tqe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},Eqe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},WG=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function GG(e,t){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let n=e[t];if(Array.isArray(n))return n}return[]}function KG(e,t){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let n=e[t];if(Array.isArray(n))return n}return[]}function qG(e,t){let n={};return e?.organizationId&&(n.orgId=e.organizationId),t!==void 0&&(n.taskId=String(t)),Object.keys(n).length>0?n:void 0}function JG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():null}function Dqe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function YG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():typeof n==`number`&&Number.isFinite(n)?String(n):null}function XG(e){let t=`${JG(e,`firstName`)??``} ${JG(e,`lastName`)??``}`.trim()||JG(e,`username`)||JG(e,`email`)||`Unknown`;return{id:YG(e,`userId`)??YG(e,`id`)??t,name:t,email:JG(e,`email`),role:JG(e,`role`),avatarUrl:JG(e,`profileImage`)??JG(e,`avatar`)}}function Oqe(e){let t=QG(e,`user`)??e;return XG({...typeof t==`object`&&t?t:{},userId:YG(e,`userId`)??YG(t,`id`),role:JG(e,`role`)})}function ZG(e){let t=JG(e,`authorFirstName`)??``,n=JG(e,`authorLastName`)??``,r=JG(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:YG(e,`id`)??``,status:i,body:JG(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:JG(e,`authorProfileImage`)??null,createdAt:JG(e,`createdAt`)??``,updatedAt:JG(e,`updatedAt`)??JG(e,`createdAt`)??``,canEdit:Dqe(e,`canEdit`)??!1}}function kqe(e,t,n){let r=Array.isArray(e.data)?e.data.map(ZG):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function QG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var Aqe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function $G(e,t){let n=QG(e,t);if(!n)return null;for(let e of Aqe){let t=JG(n,e);if(t)return t}return null}function eK(e,t){let n=QG(e,t);return n?YG(n,`id`):null}function tK(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function jqe(e){let t={...e,id:YG(e,`id`)??e.id,title:e.title??JG(e,`name`)??``},n=YG(e,`workspaceId`)??YG(e,`workspace_id`)??eK(e,`workspace`)??e.workspaceId??null;return n!==null||tK(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??JG(e,`start_date`)??null,endDate:e.endDate??JG(e,`end_date`)??null}:t}function nK(e){let t=e.ownerAvatarUrl??JG(e,`owner_avatar_url`)??JG(e,`ownerProfileImage`)??JG(e,`owner_profile_image`)??JG(e,`ownerImage`)??JG(e,`owner_image`)??JG(e,`ownerImageUrl`)??JG(e,`owner_image_url`)??JG(e,`createdByAvatarUrl`)??JG(e,`created_by_avatar_url`)??JG(e,`createdByProfileImage`)??JG(e,`created_by_profile_image`)??$G(e,`owner`)??$G(e,`createdBy`)??$G(e,`created_by`)??null,n={...e,id:YG(e,`id`)??e.id},r=YG(e,`campaignId`)??YG(e,`campaign_id`)??eK(e,`campaign`)??e.campaignId??null;(r!==null||tK(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??JG(e,`campaignTitle`)??JG(e,`campaign_title`)??JG(QG(e,`campaign`),`title`)??JG(QG(e,`campaign`),`name`)??null;(i!==null||tK(e,`campaignTitle`))&&(n.campaignTitle=i);let a=YG(e,`workspaceId`)??YG(e,`workspace_id`)??eK(e,`workspace`)??e.workspaceId??null;(a!==null||tK(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??JG(e,`workspace_name`)??JG(QG(e,`workspace`),`name`)??null;(o!==null||tK(e,`workspaceName`))&&(n.workspaceName=o);let s=JG(e,`workspaceIconUrl`)??JG(e,`workspace_icon_url`)??JG(QG(e,`workspace`),`iconUrl`)??null;(s!==null||tK(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=YG(e,`ownerId`)??YG(e,`owner_id`)??eK(e,`owner`)??e.ownerId??null;(c!==null||tK(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??JG(e,`owner_name`)??JG(QG(e,`owner`),`name`)??null;(l!==null||tK(e,`ownerName`))&&(n.ownerName=l),(t!==null||tK(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=YG(e,`teamId`)??YG(e,`team_id`)??eK(e,`team`)??e.teamId??null;(u!==null||tK(e,`teamId`))&&(n.teamId=u);let d=e.teamName??JG(e,`team_name`)??JG(QG(e,`team`),`name`)??null;(d!==null||tK(e,`teamName`))&&(n.teamName=d);let f=e.startDate??JG(e,`start_date`)??null;(f!==null||tK(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??JG(e,`target_end_date`)??null;return(p!==null||tK(e,`targetEndDate`))&&(n.targetEndDate=p),n}function rK(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let t=e;if(Array.isArray(t.items))return t.items;if(Array.isArray(t.results))return t.results}return[]}function Mqe(e){return rK(e).flatMap(e=>{let t=e,n=typeof t.id==`number`?t.id:null,r=typeof t.name==`string`?t.name:null;if(n===null||r===null)return[];let i=e=>typeof t[e]==`string`?t[e]:null;return[{id:n,name:r,startDate:i(`startDate`),endDate:i(`endDate`),status:i(`status`)}]})}function Nqe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function iK(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function aK(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new Tqe(e.message):new Eqe(e.message,e.status??502):e}}var oK=class e{cfg;putThreadDisposition;postThreadArchive;commentEditIdempotencyKeys=new Map;commentDeleteIdempotencyKeys=new Map;constructor(e={}){let t=e.forgeOrigin===void 0,n=e.forgeOrigin??`http://localhost:13773`;this.cfg={resolveUrl:t?or:e=>`${n}${e}`,maxRetries:e.maxRetries??3,onAuthExpired:e.onAuthExpired??hr,...t?{resolveBearerToken:()=>mr()?.bearerToken??null}:{}},this.putThreadDisposition=gqe(this.cfg),this.postThreadArchive=yqe(this.cfg)}async getTask(e){return aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}`},this.cfg))}async getForgeTaskDetail(e){return P({method:`GET`,path:`/api/cmmd/tasks/${e}`},this.cfg)}async searchTasks(e){let t={q:e.q};return e.status&&(t.status=e.status),e.limit!==void 0&&(t.limit=e.limit),e.projectId&&(t.projectId=e.projectId),(await aK(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await aK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await aK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return aK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return aK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await aK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return aK(P({method:`GET`,path:`/api/cmmd/organizations/${e}/members`},this.cfg))}async getWebSocketToken(e){return P({method:`GET`,path:`/api/cmmd/ws-token`,...e?.signal===void 0?{}:{signal:e.signal}},this.cfg)}async getProjectComments(e,t){let n={};return t?.organizationId&&(n.organizationId=t.organizationId),(await P({method:`GET`,path:`/api/cmmd/projects/${e}/comments`,query:n},this.cfg))?.comments??[]}async getProjectLink(e){return P({method:`GET`,path:`/.well-known/forge/project-link`,query:{environmentId:e.environmentId,projectId:e.projectId,cwd:e.cwd}},this.cfg)}async listProjectLinks(){return P({method:`GET`,path:`/.well-known/forge/project-links`,suppressBearerToken:!0},this.cfg)}async listProjectContextLinks(e){let t={};e.environmentId&&(t.forgeEnvironmentId=e.environmentId),e.projectId&&(t.forgeProjectId=e.projectId),e.githubRepoFullName&&(t.githubRepoFullName=e.githubRepoFullName),e.cmmdOrganizationId&&(t.cmmdOrganizationId=e.cmmdOrganizationId);let n=await P({method:`GET`,path:`/.well-known/forge/cmmd/project-links`,query:t},this.cfg),r=rn(_ne)(n);return r._tag===`Some`?r.value.links:[]}async listCmmdWorkspaces(){return rK(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return Mqe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return rK(await P({method:`GET`,path:`/.well-known/forge/cmmd/projects`,query:{campaignId:e.campaignId}},this.cfg))}async updateTask(e,t){let n={taskId:e};return t.title!==void 0&&(n.title=t.title),t.description!==void 0&&(n.description=t.description),t.status!==void 0&&(n.status=t.status),t.priority!==void 0&&(n.priority=t.priority),t.dueDate!==void 0&&(n.dueDate=t.dueDate),t.assigneeId!==void 0&&(n.assigneeId=t.assigneeId),t.labels!==void 0&&(n.labels=t.labels),aK(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return aK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e.entityId,content:e.content}},this.cfg))}async updateComment(e,t,n){let r=`${e}:${t}:${n}`,i=this.commentEditIdempotencyKeys.get(r)??crypto.randomUUID();this.commentEditIdempotencyKeys.set(r,i);let a=await aK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${t}`,body:{content:n,idempotencyKey:i}},this.cfg));return this.commentEditIdempotencyKeys.delete(r),a}async deleteComment(e,t){let n=`${e}:${t}`,r=this.commentDeleteIdempotencyKeys.get(n)??crypto.randomUUID();this.commentDeleteIdempotencyKeys.set(n,r),await aK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${t}`,body:{idempotencyKey:r}},this.cfg)),this.commentDeleteIdempotencyKeys.delete(n)}async createProjectComment(e,t){let n=(await P({method:`POST`,path:`/api/cmmd/projects/${e}/comments`,body:{content:t.content,organizationId:t.organizationId??null}},this.cfg))?.comment;if(!n)throw new gr({kind:`server`,message:`CMMD did not return the created project comment.`});return n}async updateProject(e,t){let n={};for(let e of ene){let r=t[e];r!==void 0&&(n[e]=sne[e]===`nullableId`?iK(r):r)}await P({method:`PATCH`,path:`/api/cmmd/projects/${e}`,body:n},this.cfg)}async setProjectLink(e){await P({method:`POST`,path:`/.well-known/forge/project-link`,body:e},this.cfg)}async deleteProjectLink(e){await P({method:`DELETE`,path:`/.well-known/forge/project-link`,query:{environmentId:e.environmentId,projectId:e.projectId,cwd:e.cwd,...e.cmmdProjectId?{cmmdProjectId:e.cmmdProjectId}:{}}},this.cfg)}async createCmmdProject(e){return P({method:`POST`,path:`/.well-known/forge/cmmd/projects`,body:e},this.cfg)}async ensureGitHubProjectContext(e){return P({method:`POST`,path:`/.well-known/forge/cmmd/github-project-contexts/ensure`,body:e},this.cfg)}async createBrainDoc(e){return P({method:`POST`,path:`/api/cmmd/brain-docs`,body:e},this.cfg)}async uploadTaskAttachment(e,t){let n=new FormData;return n.append(`file`,t),aK(P({method:`POST`,path:`/api/cmmd/tasks/${e}/attachments`,form:n},this.cfg))}async archiveTask(e){await P({method:`POST`,path:`/api/cmmd/tasks/${e}/archive`},this.cfg)}async unarchiveTask(e){await P({method:`POST`,path:`/api/cmmd/tasks/${e}/unarchive`},this.cfg)}async getProfile(){return P({method:`GET`,path:`/api/cmmd/profile`},this.cfg)}async getUsageSummary(e){return P({method:`GET`,path:`/api/cmmd/usage/summary`,query:{sinceDay:e.sinceDay,untilDay:e.untilDay,timeZone:e.timeZone,...e.resolution===`hour`?{resolution:e.resolution,sinceTime:e.sinceTime,untilTime:e.untilTime}:{}}},this.cfg)}getBilling(e){return sqe(this.cfg,e)}getBillingSeries(e){return cqe(this.cfg,e)}async getBootstrap(){return P({method:`GET`,path:`/api/cmmd/bootstrap`},this.cfg)}async getForgeAccountPreferences(){return P({method:`GET`,path:`/api/cmmd/account/preferences`},this.cfg)}async updateForgeAccountPreferences(e){return P({method:`PATCH`,path:`/api/cmmd/account/preferences`,body:e},this.cfg)}async getOrgProviderPolicy(){return P({method:`GET`,path:`/api/cmmd/org/provider-policy`},this.cfg)}async listSavedDataViews(e){return P({method:`GET`,path:`/api/cmmd/saved-views`,query:{surface:e.surface,projectId:e.projectId}},this.cfg)}async createSavedDataView(e){return P({method:`POST`,path:`/api/cmmd/saved-views`,body:e},this.cfg)}async importSavedDataView(e){return P({method:`POST`,path:`/api/cmmd/saved-views/import`,body:e},this.cfg)}async updateSavedDataView(e,t){return P({method:`PATCH`,path:`/api/cmmd/saved-views/${encodeURIComponent(e)}`,body:t},this.cfg)}async deleteSavedDataView(e,t){return P({method:`DELETE`,path:`/api/cmmd/saved-views/${encodeURIComponent(e)}`,query:t},this.cfg)}async getDeviceRegistry(e){return P({method:`GET`,path:`/api/cmmd/devices`,...e?.projectId===void 0?{}:{query:{projectId:String(e.projectId)}},...e?.signal===void 0?{}:{signal:e.signal}},this.cfg)}async registerDevice(e){return P({method:`POST`,path:`/api/cmmd/devices/register`,body:e},this.cfg)}async grantRuntimeAccess(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/access-grants`,body:t},this.cfg)}async revokeRuntimeAccess(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/access-grants/${encodeURIComponent(String(t))}/revoke`},this.cfg)}async issueRelayControlRoute(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/relay-routes`,body:t},this.cfg)}async issueRelayActionGrant(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/relay-action-grants`,body:t},this.cfg)}async getRuntimeInventory(e){let t={...e?.projectId===void 0?{}:{projectId:String(e.projectId)},...e?.allWorkspaces===!0?{allWorkspaces:`true`}:{}};return P({method:`GET`,path:`/api/cmmd/runtime-inventory`,...Object.keys(t).length>0?{query:t}:{}},this.cfg)}async getRuntimeDiagnostics(e){return P({method:`GET`,path:`/api/cmmd/runtime-diagnostics/v2/runtimes/${encodeURIComponent(e)}`},this.cfg)}async getCloudProjectLifecyclePreflight(e){return(await P({method:`GET`,path:`/api/cmmd/forge-cloud-projects/${encodeURIComponent(String(e))}/lifecycle-preflight`},this.cfg)).preflight}async replaceRuntimeInventory(e,t){return P({method:`PUT`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/inventory`,body:t},this.cfg)}static PROVIDER_ACCOUNTS_PATH=`/api/cmmd/providers/accounts`;static PROVIDER_USAGE_PATH=`/api/cmmd/providers/usage`;static PROVIDER_USAGE_REFRESH_PATH=`/api/cmmd/providers/usage/refresh`;provisionAuthRuntime(){return rqe(this.cfg)}getAuthRuntimeState(){return iqe(this.cfg)}destroyAuthRuntime(){return aqe(this.cfg)}connectAuthRuntime(){return oqe(this.cfg)}getUserCodexCredential(){return lqe(this.cfg)}disconnectUserCodexCredential(){return uqe(this.cfg)}getUserClaudeCredential(){return dqe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(e){return pqe(this.cfg,e)}async setProviderAccountDefault(t){return P({method:`PUT`,path:`${e.PROVIDER_ACCOUNTS_PATH}/default`,body:{provider:t.provider,provider_account_id:t.providerAccountId}},this.cfg)}async getProviderUsage(){return P({method:`GET`,path:e.PROVIDER_USAGE_PATH},this.cfg)}async refreshProviderUsage(t,n){return P({method:`POST`,path:e.PROVIDER_USAGE_REFRESH_PATH,body:{provider:t,providerAccountId:n}},this.cfg)}disconnectUserClaudeCredential(){return fqe(this.cfg)}async getClaudeRuntimeReadiness(e){return P({method:`GET`,path:`/api/cmmd/providers/claude/runtime-readiness/${encodeURIComponent(e)}`},this.cfg)}async appendRuntimeThreadEvents(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/threads/${encodeURIComponent(t)}/events`,body:n},this.cfg)}async getRuntimeThreadReplica(e,t){return P({method:`GET`,path:`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}`},this.cfg)}renameCloudEnvironment(e,t){return Sqe(this.cfg,e,t)}renameDevice(e,t){return Cqe(this.cfg,e,t)}revokeDevice(e){return wqe(this.cfg,e)}static SIM_PATH=`/api/cmmd/sim-host`;static simScope(e){return e?.orgId===void 0?``:`?orgId=${encodeURIComponent(String(e.orgId))}`}async listSimHosts(t){return P({method:`GET`,path:`${e.SIM_PATH}/hosts${e.simScope(t)}`},this.cfg)}async getSimLease(t){let n=new URLSearchParams({forgeEnvironmentId:t.forgeEnvironmentId,threadId:t.threadId,...t.orgId===void 0?{}:{orgId:String(t.orgId)}});return P({method:`GET`,path:`${e.SIM_PATH}/leases?${n.toString()}`},this.cfg)}async claimSimLease(t){return P({method:`POST`,path:`${e.SIM_PATH}/leases${e.simScope(t)}`,body:{hostId:t.hostId,forgeEnvironmentId:t.forgeEnvironmentId,threadId:t.threadId,ttlMs:t.ttlMs}},this.cfg)}async renewSimLease(t){return P({method:`POST`,path:`${e.SIM_PATH}/leases/${encodeURIComponent(String(t.leaseId))}/renew${e.simScope(t)}`,body:{generation:t.generation,rowVersion:t.rowVersion,ttlMs:t.ttlMs}},this.cfg)}async releaseSimLease(t){await P({method:`POST`,path:`${e.SIM_PATH}/leases/${encodeURIComponent(String(t.leaseId))}/release${e.simScope(t)}`,body:{generation:t.generation,rowVersion:t.rowVersion}},this.cfg)}async listCampaigns(e){let t={};return e?.orgId&&(t.orgId=e.orgId),e?.allWorkspaces&&(t.allWorkspaces=`true`),GG(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(jqe)}async getCampaign(e){return P({method:`GET`,path:`/api/cmmd/campaigns/${e}`},this.cfg)}async createCampaign(e){return P({method:`POST`,path:`/api/cmmd/campaigns`,body:e},this.cfg)}async updateCampaign(e,t){return P({method:`PUT`,path:`/api/cmmd/campaigns/${e}`,body:t},this.cfg)}async deleteCampaign(e){await P({method:`DELETE`,path:`/api/cmmd/campaigns/${e}`},this.cfg)}async listProjects(e){let t={};return e?.campaignId&&(t.campaignId=e.campaignId),e?.orgId&&(t.orgId=e.orgId),e?.allWorkspaces&&(t.allWorkspaces=`true`),GG(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(nK)}async listTasks(e){let t={};return e?.projectId&&(t.projectId=e.projectId),e?.status&&(t.status=e.status),P({method:`GET`,path:`/api/cmmd/tasks`,query:t},this.cfg)}async getProject(e){return nK(await P({method:`GET`,path:`/api/cmmd/projects/${e}`},this.cfg))}async getProjectMembers(e){let t=await P({method:`GET`,path:`/api/cmmd/projects/${e}/members`},this.cfg);return Array.isArray(t)?t.map(XG):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(Oqe):[]}async addProjectMember(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/members`,body:t},this.cfg)}async listProjectAgentMembers(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/agent-members`},this.cfg)}async createProjectAgentMember(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members`,body:t},this.cfg)}async renameProjectAgentMember(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/agent-members/${t}`,body:n},this.cfg)}async retireProjectAgentMember(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/${t}/retire`,body:n},this.cfg)}async updateProjectAgentMemberAvatar(e,t,n){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/agent-members/${t}/avatar`,body:n},this.cfg)}async listProjectAgentMemberInstances(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/agent-members/${t}/instances`},this.cfg)}async previewProjectAgentMemberConsolidation(e){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/consolidation/preview`},this.cfg)}async applyProjectAgentMemberConsolidation(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/consolidation/apply`,body:t},this.cfg)}async setProjectTaskAssignment(e,t,n){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/tasks/${t}/assignment`,body:n},this.cfg)}async getProjectUpdates(e,t){let n=t?.page??1,r=t?.limit??10;return kqe(await P({method:`GET`,path:`/api/cmmd/projects/${e}/updates`,query:{page:n,limit:r},unwrapEnvelope:!1},this.cfg),n,r)}async createProjectUpdate(e,t){return ZG(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return ZG(await P({method:`PATCH`,path:`/api/cmmd/projects/${e}/updates/${t}`,body:n},this.cfg))}async deleteProjectUpdate(e,t){await P({method:`DELETE`,path:`/api/cmmd/projects/${e}/updates/${t}`},this.cfg)}async listProjectMilestones(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/milestones`},this.cfg)}async createProjectMilestone(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/milestones`,body:t},this.cfg)}async updateProjectMilestone(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/milestones/${t}`,body:n},this.cfg)}async deleteProjectMilestone(e,t){await P({method:`DELETE`,path:`/api/cmmd/projects/${e}/milestones/${t}`},this.cfg)}async improveProjectContent(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/content/readability`,body:t},this.cfg)}async listProjectBoard(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/board`},this.cfg)}async createProjectTaskDraft(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts`,body:t},this.cfg)}async getProjectTaskDraft(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/task-drafts/${t}`},this.cfg)}async updateProjectTaskDraft(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/task-drafts/${t}`,body:n},this.cfg)}async previewProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/preview`,body:n},this.cfg)}async commitProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/commit`,body:n},this.cfg)}async discardProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/discard`,body:n},this.cfg)}async getProjectTaskWorkflow(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/task-workflow`},this.cfg)}async updateProjectTaskWorkflow(e,t){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/task-workflow`,body:t},this.cfg)}async getProjectLeadPlan(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/plan`},this.cfg)}async activateProjectLeadAutomaticStaffing(e){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/authority/activate`,body:{}},this.cfg)}async getProjectLeadReadiness(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/readiness`},this.cfg)}async getProjectLeadCapabilities(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/capabilities`},this.cfg)}async getProjectLeadSummary(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/summary`},this.cfg)}async getProjectLeadDetail(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/detail`},this.cfg)}async getProjectLeadBriefing(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/briefing`},this.cfg)}async decideProjectLeadApproval(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/approvals/${t}/decision`,body:n},this.cfg)}async listProjectLeadEvents(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/events`,...t?{query:{...t.afterEventId===void 0?{}:{afterEventId:String(t.afterEventId)},...t.latest===void 0?{}:{latest:String(t.latest)},...t.limit===void 0?{}:{limit:String(t.limit)}}}:{}},this.cfg)}async explainProjectLead(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/explain`},this.cfg)}async pauseProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/pause`,body:t},this.cfg)}async resumeProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/resume`,body:t},this.cfg)}async reserveProjectLeadTask(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/tasks/${t}/reservations`,body:n},this.cfg)}async releaseProjectLeadReservation(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/reservations/${t}/release`,body:n},this.cfg)}async reconcileProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/reconcile`,body:t},this.cfg)}async resolveProjectLeadAttention(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/attention/${t}/resolve`,body:n},this.cfg)}async listCenterBoard(e){let t={};return e?.status&&(t.status=e.status),e?.workspaceId&&(t.workspaceId=String(e.workspaceId)),e?.campaignId&&(t.campaignId=String(e.campaignId)),e?.ownerId&&(t.ownerId=String(e.ownerId)),e?.includeArchived!==void 0&&(t.includeArchived=e.includeArchived),e?.q&&(t.q=e.q),P({method:`GET`,path:`/api/cmmd/work-items/board`,query:t},this.cfg)}async listForgeAutomationPresets(){return KG(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return KG(await P({method:`GET`,path:`/api/cmmd/automations/user/rules`},this.cfg),`rules`)}async createUserForgeAutomationRule(e){return P({method:`POST`,path:`/api/cmmd/automations/user/rules`,body:e},this.cfg)}async updateUserForgeAutomationRule(e,t){return P({method:`PATCH`,path:`/api/cmmd/automations/user/rules/${e}`,body:t},this.cfg)}async listUserForgeAutomationRuns(e){return KG(await P({method:`GET`,path:`/api/cmmd/automations/user/rules/${e}/runs`},this.cfg),`runs`)}async startUserForgeAutomationRun(e,t){return P({method:`POST`,path:`/api/cmmd/automations/user/rules/${e}/runs`,body:t},this.cfg)}async listForgeAutomationRules(e,t){let n=qG(t);return KG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/projects/${e}/rules`,body:t,...r?{query:r}:{}},this.cfg)}async updateForgeAutomationRule(e,t,n,r){let i=qG(r);return P({method:`PATCH`,path:`/api/cmmd/automations/projects/${e}/rules/${t}`,body:n,...i?{query:i}:{}},this.cfg)}async listForgeAutomationRuns(e,t){let n=qG(t,t?.taskId);return KG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=qG(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=qG(r);return P({method:`POST`,path:`/api/cmmd/automations/projects/${e}/tasks/${t}/runs`,body:n,...i?{query:i}:{}},this.cfg)}async retryForgeAutomationRun(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/retry`,body:t,...r?{query:r}:{}},this.cfg)}async cancelForgeAutomationRun(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/cancel`,body:t,...r?{query:r}:{}},this.cfg)}async approveForgeAutomationEscalation(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/escalations/approve`,body:t,...r?{query:r}:{}},this.cfg)}async rejectForgeAutomationEscalation(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/escalations/reject`,body:t,...r?{query:r}:{}},this.cfg)}async createProjectBoardTask(e,t){let n={title:t.title};return t.description!==void 0&&(n.description=t.description),t.priority!==void 0&&(n.priority=t.priority),t.status!==void 0&&(n.status=t.status),t.workflowStageId!==void 0&&(n.workflowStageId=t.workflowStageId),t.assignee!==void 0&&(n.assignee=t.assignee),t.dueDate!==void 0&&(n.dueDate=t.dueDate),t.workItemType!==void 0&&(n.workItemType=t.workItemType),t.parentTaskId!==void 0&&(n.parentTaskId=t.parentTaskId),t.milestoneId!==void 0&&(n.milestoneId=t.milestoneId),t.dependsOn!==void 0&&(n.dependsOn=t.dependsOn),P({method:`POST`,path:`/api/cmmd/projects/${e}/board`,body:n},this.cfg)}async createCenterBoardTask(e){let t={title:e.title,projectId:e.projectId};return e.description!==void 0&&(t.description=e.description),e.priority!==void 0&&(t.priority=e.priority),e.status!==void 0&&(t.status=e.status),e.assignee!==void 0&&(t.assignee=e.assignee),e.dueDate!==void 0&&(t.dueDate=e.dueDate),e.workItemType!==void 0&&(t.workItemType=e.workItemType),e.parentTaskId!==void 0&&(t.parentTaskId=e.parentTaskId),e.milestoneId!==void 0&&(t.milestoneId=e.milestoneId),e.dependsOn!==void 0&&(t.dependsOn=e.dependsOn),P({method:`POST`,path:`/api/cmmd/work-items/board`,body:t},this.cfg)}async submitFeedback(e){let t={type:e.type,title:e.title,source:e.source};return e.description!==void 0&&(t.description=e.description),e.priority!==void 0&&(t.priority=e.priority),e.senderName!==void 0&&(t.senderName=e.senderName),P({method:`POST`,path:`/api/cmmd/feedback`,body:t},this.cfg)}async updateProjectBoardTask(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}`,body:n},this.cfg)}async updateCenterBoardTask(e,t){return P({method:`PATCH`,path:`/api/cmmd/work-items/board/${e}`,body:t},this.cfg)}async moveCenterBoardTask(e,t){let n={toStatus:t.toStatus};return t.beforeTaskId!==void 0&&(n.beforeTaskId=t.beforeTaskId),t.afterTaskId!==void 0&&(n.afterTaskId=t.afterTaskId),P({method:`PATCH`,path:`/api/cmmd/work-items/board/${e}/move`,body:n},this.cfg)}async moveProjectBoardTask(e,t,n){let r={toStatus:n.toStatus};return n.toStageId!==void 0&&(r.toStageId=n.toStageId),n.beforeTaskId!==void 0&&(r.beforeTaskId=n.beforeTaskId),n.afterTaskId!==void 0&&(r.afterTaskId=n.afterTaskId),P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}/move`,body:r},this.cfg)}async archiveProjectBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/archive`},this.cfg)}async unarchiveProjectBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/unarchive`},this.cfg)}async updateProjectBoardTaskStatus(e,t,n,r){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}/status`,body:{status:n,...r?{workflowStageId:r}:{}}},this.cfg)}async spawnForgeThreadFromBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/spawn-forge-thread`,body:{}},this.cfg)}async listTaskExecutionOptions(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/board/${t}/execution-options`},this.cfg)}async createTaskWorkSession(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/work-sessions`,body:n},this.cfg)}async listProjectWorkSessions(e,t={}){return P({method:`GET`,path:`/api/cmmd/projects/${e}/work-sessions`,query:t},this.cfg)}async getWorkSession(e){return P({method:`GET`,path:`/api/cmmd/work-sessions/${e}`},this.cfg)}async updateWorkSessionStatus(e,t){return P({method:`PATCH`,path:`/api/cmmd/work-sessions/${e}`,body:{status:t}},this.cfg)}async attachWorkSessionThread(e,t){return P({method:`POST`,path:`/api/cmmd/work-sessions/${e}/threads`,body:t},this.cfg)}async listTaskConversations(e,t={}){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/conversations`,query:UG(t)},this.cfg)}async linkTaskConversation(e,t){return P({method:`POST`,path:`/api/cmmd/tasks/${e}/conversations`,body:t},this.cfg)}async getTaskHistory(e){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/history`},this.cfg)}async upsertTaskPullRequest(e,t){return P({method:`PUT`,path:`/api/cmmd/tasks/${e}/pull-requests`,body:t},this.cfg)}postPullRequest(e,t){return P({method:`POST`,path:`/api/cmmd/pull-requests/${e}`,body:t},this.cfg)}async listPullRequests(e){return this.postPullRequest(`list`,e)}async getPullRequestListStats(e){return this.postPullRequest(`list-stats`,e)}async getPullRequestDetail(e){return this.postPullRequest(`detail`,e)}async getPullRequestActivity(e){return this.postPullRequest(`activity`,e)}async getPullRequestDiff(e){return this.postPullRequest(`diff`,e)}async getPullRequestDiffFileContents(e){return this.postPullRequest(`diff-file-contents`,e)}async getPullRequestThreadComments(e){return this.postPullRequest(`thread/comments`,e)}async getPullRequestReviewerCandidates(e){return this.postPullRequest(`reviewer-candidates`,e)}async runPullRequestAction(e){return this.postPullRequest(`action`,e)}async createPullRequestComment(e){return this.postPullRequest(`comment`,e)}async updatePullRequest(e){return this.postPullRequest(`update`,e)}async updatePullRequestComment(e){return this.postPullRequest(`comment/update`,e)}async submitPullRequestReview(e){return this.postPullRequest(`review`,e)}async replyToPullRequestThread(e){return this.postPullRequest(`thread/reply`,e)}async setPullRequestThreadResolution(e){return this.postPullRequest(`thread/resolution`,e)}async requestPullRequestReviewers(e){return this.postPullRequest(`reviewers`,e)}async setPullRequestReaction(e){return this.postPullRequest(`reaction`,e)}async getTaskConversation(e,t,n={}){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/conversations/${encodeURIComponent(t)}`,query:UG(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new WG(`createSubtask`)}async createBoardTask(e){throw new WG(`createBoardTask`)}async createProject(e){let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=r);return e.campaignId!==void 0&&e.campaignId!==null&&(t.campaignId=iK(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=iK(e.organizationId)),Nqe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:iK(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=iK(t.targetCampaignId)),t.dryRun!==void 0&&(n.dryRun=t.dryRun),P({method:`POST`,path:`/api/cmmd/projects/${e}/move`,body:n},this.cfg)}async uploadBrainDoc(e,t){throw new WG(`uploadBrainDoc`)}};function sK(e){return new oK(e)}var cK=new oK({onAuthExpired:hr}),lK=class extends $t(`BootstrapHttpError`){},uK=e=>nee(e,`BootstrapHttpError`);function dK(e){return typeof e!=`object`||!e?!1:!!(uK(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function Pqe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function fK(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new lK({message:`${t} returned a non-JSON response (${Pqe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function pK(e={resolveUrl:or}){let t=mr()?.bearerToken;return t?{...e,bearerToken:t}:e}var mK=null,hK=null,gK=null,_K=new Set,vK=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function Fqe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();kG({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),RG({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function yK(){if(typeof window>`u`||gK)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(gK=e(e=>{mK=null,hK=null,e.sessionLifecycle.status!==`ready`&&kG(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{AG(e,{route:`desktop-auth-session-expired`})})}))}function Iqe(){return Jl(new URL(window.location.href))}function bK(){let e=new URL(window.location.href),t=ple(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function Lqe(){return kK(async()=>{let e=or(`/api/auth/session`),t=async()=>{let t=await fetch(e,ur({credentials:`include`}));if(!t.ok)throw new lK({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return fK(t,e)},n=await t();return!n.authenticated&&n.auth.sessionMethods.length===1&&n.auth.sessionMethods[0]===`proxy-asserted`&&typeof window<`u`&&!window.desktopBridge&&e.startsWith(`https://`)&&await Mne()?t():n})}async function Rqe(e,t){return await e.text()||t}var xK=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function zqe(e){return kK(async()=>{let t={credential:e},n=or(`/api/auth/bootstrap`),r=await fetch(n,ur({body:JSON.stringify(t),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new lK({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return fK(r,n)})}function SK(e){return new URL(e,window.location.origin).toString()}function CK(e){let t=(e?.primaryMode===`cloud`?null:e)?.bootstrapToken?.trim();return t&&t.length>0?t:null}function wK(){return typeof window>`u`?null:CK(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function Bqe(){return typeof window>`u`?!1:Nne()===`session-expired`}function TK(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(vK),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function EK(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(vK);return}window.sessionStorage.setItem(vK,JSON.stringify([...e]))}catch{}}function Vqe(){let e=wK();if(!e)return;let t=new Set(TK());t.add(e),EK(t)}function Hqe(e){return TK().has(e)}function DK(){let e=wK();if(!e){EK(new Set);return}let t=new Set(TK());t.delete(e),EK(t)}async function OK(){let e=SK(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?fK(t,e):null}async function Uqe(e){if(typeof window>`u`)return;let t=CK(e);if(!t||Bqe()||_K.has(t)||Hqe(t))return;if((await OK().catch(()=>null))?.authenticated){_K.add(t);return}let n=SK(`/api/auth/bootstrap`),r=await fetch(n,{body:JSON.stringify({credential:t}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`});if(!r.ok){if(r.status===401)return;throw new lK({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await fK(r,n),_K.add(t)}async function Wqe(){let e=await Lqe();if(e.authenticated)return e;let t=mr();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await OK().catch(()=>null);return n?.authenticated?n:e}var Gqe=new Set([404,502,503,504]),Kqe=15e3,qqe=500;function Jqe(e){mr()?.source===`paired-bearer`&&dK(e)&&dr(`http`)}async function kK(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(Jqe(e),!Xqe(e))throw e;if(Date.now()-t>=Kqe)throw AG(e,{route:`bootstrap-retry-exhausted`}),e;await Yqe(qqe)}}function Yqe(e){return new Promise(t=>{setTimeout(t,e)})}function Xqe(e){return uK(e)?Gqe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function Zqe(e,t){return e.sessionLifecycle.status===`ready`?e.sessionLifecycle.principalId!==t.id||e.cmmd.identity?.id!==t.id?`desktop-principal-mismatch`:null:`desktop-session-required`}async function Qqe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return Zqe(await t(),e)}catch(e){return AG(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function $qe(e,t){return kG(null),jne(t),await sr().catch(e=>{AG(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:Pne(t)??`Forge Desktop requires CMMD authentication.`}}async function eJe(){let e=await Wqe();if(e.authenticated){if(e.cmmdIdentity){let t=await Qqe(e.cmmdIdentity);return t?(fr(),$qe(e,t)):(fr(),Fqe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function tJe(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);hK=null,DK(),await zqe(t),mK=null,bK()}function AK(){DK(),hK=null,mK=null}async function jK(e,t,n){let r=e.trim();if(!r)throw Error(`CMMD (Command) OAuth did not return an access token.`);let i=n?.refreshToken?.trim(),a=n?.mcpToken?.trim(),o=or(`/api/auth/bootstrap/command`),s=await fetch(o,ur({body:JSON.stringify({accessToken:r,...i?{refreshToken:i}:{},...a?{mcpToken:a}:{},...t===void 0?{}:{user:t}}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!s.ok)throw new lK({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await fK(s,o),AK()}async function nJe(){let e=or(`/api/auth/ws-token`),t=await fetch(e,ur({credentials:`include`,method:`POST`}));if(!t.ok)throw new lK({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return fK(t,e)}async function rJe(e){let t=await nJe(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function iJe(e,t){let n=e?.trim(),r={...n?{label:n}:{},...t?{role:t}:{}},i=or(`/api/auth/pairing-token`),a=await fetch(i,ur({body:JSON.stringify(r),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!a.ok)throw Error(await Rqe(a,`Failed to create pairing credential (${a.status}).`));return fK(a,i)}async function aJe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new lK({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return oJe(await fK(t,e))}function oJe(e){if(!e.authenticated||!e.role)throw Error(`Authenticated session is required.`);let t=sJe(e.cmmdIdentity??null);return t?{displayName:t,email:e.cmmdIdentity?.email??null,avatarUrl:e.cmmdIdentity?.avatarUrl??null,role:e.role,verified:!0,source:`cmmd-identity`}:{displayName:`CMMD identity unavailable`,email:null,avatarUrl:null,role:e.role,verified:!1,source:`fallback`}}function sJe(e){return e&&([e.firstName,e.lastName].map(e=>e?.trim()??``).filter(e=>e.length>0).join(` `)||e.username.trim()||e.email.trim())||null}async function cJe(e){let t=`/api/cmmd/work-intake`,n;try{n=await P({method:`GET`,path:t,allowRetry:!1,...e?{query:{fresh:1}}:{}},pK())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&xK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}if(!n)throw Error(`Invalid response from ${t}`);return n}async function lJe(e={}){return cJe(e.forceFresh===!0)}async function MK(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},pK())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&xK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function uJe(e){try{return await MK(`/api/cmmd/tasks/update`,e)}catch(t){if(t instanceof gr&&(t.kind===`auth`||t.kind===`permission`))throw t;if(t instanceof gr||t instanceof Error)return MK(`/api/command/tasks/update`,e);throw t}}async function dJe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function fJe(){let e=await Promise.allSettled([sr(),dJe()]);kG(null),Vqe(),mK=null,hK=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function pJe(){if(yK(),hK?.status===`authenticated`)return fr(),hK;if(mK)return mK;let e=NK();return mK=e,e.then(e=>(e.status===`authenticated`&&(hK=e),e)).finally(()=>{mK===e&&(mK=null)})}async function NK(){return lr().then(e=>Uqe(e)).then(()=>eJe())}async function mJe(){yK(),mK=null,hK=null;let e=await NK();return e.status===`authenticated`&&(hK=e,fr()),e}async function hJe(e){let t=e.email.trim();if(!t||!e.password)throw Error(`Enter your CMMD email and password.`);let n=or(`/api/auth/cmmd-password/token`),r=await fetch(n,ur({body:JSON.stringify({email:t,password:e.password}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new lK({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await fK(r,n);if(i.authenticated===!0)return AK(),{serverEstablishedSession:!0};if(typeof i.access_token!=`string`||i.access_token.trim().length===0)throw Error(`CMMD login did not return an access token.`);return await jK(i.access_token,i.user,{refreshToken:typeof i.refresh_token==`string`?i.refresh_token:void 0,mcpToken:typeof i.mcp_token==`string`?i.mcp_token:void 0}),{serverEstablishedSession:!1}}var gJe=`/.well-known/forge/environment`,PK=qt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),FK=null;function _Je(e){let t=IK();return t?Qie(Po({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function vJe(){return kK(async()=>{await lr();let e=mr()?.bearerToken,t=or(gJe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new lK({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await fK(n,t);return LK(r),r})}function IK(){return PK.getState().descriptor}function yJe(){return PK(bJe)}function bJe(e){return e.descriptor?.environmentId??null}function xJe(){return PK(SJe)}function SJe(e){return e.descriptor}function CJe(){return PK(wJe)}function wJe(e){return e.descriptor?.deviceRuntimeId??null}function TJe(){return IK()?.deviceRuntimeId??null}function EJe(){return PK(DJe)}function DJe(e){return iae(e.descriptor)}function OJe(){return PK(kJe)}function kJe(e){return aae(e.descriptor)}function LK(e){PK.getState().setDescriptor(e)}function AJe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function RK(){let e=mr();return e?_Je({source:e.source,target:e.target}):null}function jJe(){return MJe()}async function MJe(){let e=await lr(),t=IK();if(t&&AJe(t,e))return Promise.resolve(t);if(t&&LK(null),FK)return FK;let n=vJe();return FK=n,n.finally(()=>{FK===n&&(FK=null)})}var zK=class e{#e;constructor(e){this.#e=e}static namedByCatalog(t){return new e(t.projectId)}get registrationProjectId(){return this.#e}asConfirmationIdentity(){return{registrationProjectId:this.#e}}};function BK(e){return{match:t=>t.present({target:e})}}function VK(){return{match:e=>e.provablyAbsent()}}function NJe(e){return{match:t=>t.unprovable(e)}}var PJe=class e{#e;#t;capacity;constructor(e,t,n){this.#e=e,this.#t=t,this.capacity=n}static fromValidatedBody(t,n,r){return new e(t,n,r)}listRowsForDisplay(){return this.#e}listEnvironmentsForDisplay(){return this.#t}locate(e){if(e.registrationProjectId!==void 0){let t=this.#e.find(t=>t.projectId===e.registrationProjectId);return t===void 0?VK():BK(zK.namedByCatalog(t))}if(e.runtimeId!==void 0){let t=this.#e.find(t=>t.runtime!=null&&t.runtime.runtimeId===e.runtimeId);if(t!==void 0)return BK(zK.namedByCatalog(t))}return this.#e.length===0?VK():NJe(e.runtimeId===void 0?`no identity this catalog can be matched on`:`the catalog holds ${String(this.#e.length)} row(s) that runtime ${e.runtimeId} cannot be ruled out against`)}};function HK(e){let t=e,n=t&&typeof t==`object`&&`data`in t&&t.data?t.data:t,r=n?.projects;if(!Array.isArray(r))throw Error("Forge Cloud returned a project catalog this version cannot read (no `projects` list).");let i=n?.environments;if(!Array.isArray(i))throw Error("Forge Cloud returned an Environment catalog this version cannot read (invalid `environments` list).");if(!r.every(FJe))throw Error(`Forge Cloud returned a project catalog this version cannot read (invalid project entry).`);if(!i.every(IJe))throw Error(`Forge Cloud returned an Environment catalog this version cannot read (invalid Environment entry).`);return PJe.fromValidatedBody(r,i,n?.capacity??null)}function FJe(e){return!WK(e)||typeof e.organizationId!=`number`||typeof e.projectId!=`number`?!1:e.runtime===void 0||e.runtime===null||UK(e.runtime)}function IJe(e){return WK(e)&&typeof e.organizationId==`number`&&typeof e.userId==`number`&&UK(e.runtime)}function UK(e){return WK(e)&&typeof e.runtimeId==`string`&&typeof e.status==`string`}function WK(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function LJe(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}function GK(e){return e.accessToken??e.resolveAccessToken?.()}function KK(e,t,n=t=>LJe(e.cmmdHttpBaseUrl,t)){return P({method:t.method,path:t.path,...t.body===void 0?{}:{body:t.body},...t.signal===void 0?{}:{signal:t.signal}},{resolveUrl:n,resolveBearerToken:()=>GK(e)})}function RJe(e,t){return KK(e,{method:`GET`,path:`/api/forge/context/cloud-projects/${encodeURIComponent(String(t.projectId))}/removal-preview`,...t.signal===void 0?{}:{signal:t.signal}},e.cloudProjectRemovalPreviewUrl?()=>e.cloudProjectRemovalPreviewUrl(t.projectId):void 0).then(e=>e.preview)}function zJe(e,t){return KK(e,{method:`POST`,path:`/api/forge/context/cloud-projects/${encodeURIComponent(String(t.projectId))}/removal`,body:{idempotencyKey:t.idempotencyKey,deletePlanningProject:t.deletePlanningProject,...t.deleteCheckoutFiles===void 0?{}:{deleteCheckoutFiles:t.deleteCheckoutFiles},...t.previewToken===void 0?{}:{previewToken:t.previewToken},...t.forceDirty===void 0?{}:{forceDirty:t.forceDirty}},...t.signal===void 0?{}:{signal:t.signal}},e.cloudProjectRemovalUrl?()=>e.cloudProjectRemovalUrl(t.projectId):void 0).then(e=>e.operation)}function qK(e,t=``){return`/api/forge/context/runtimes/${encodeURIComponent(e)}${t}`}async function BJe(e){if(e.ok)return;let{CmmdApiError:t}=await N(async()=>{let{CmmdApiError:e}=await import(`./transport-CgH8pQK3.js`).then(e=>e.r);return{CmmdApiError:e}},__vite__mapDeps([2,1]));if(e.status===401||e.status===403){let n=null;try{let t=await e.json();n=typeof t?.code==`string`?t.code:null}catch{}throw new t({kind:`auth`,message:`CMMD authentication required. Sign in again to continue.`,status:e.status,code:n})}throw new t({kind:e.status>=500?`server`:`client`,message:`forge-cloud-projects proxy error (${e.status})`,status:e.status})}var JK=class{config;constructor(e){this.config=e}async ensureRuntime(e){return(await KK(this.config,{method:`POST`,path:`/api/forge/context/runtimes/ensure`,body:{...e.projectId===void 0?{}:{projectId:e.projectId},...e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.githubRepoFullName===void 0?{}:{githubRepoFullName:e.githubRepoFullName},...e.workspaceRoot===void 0?{}:{workspaceRoot:e.workspaceRoot}},...e.signal===void 0?{}:{signal:e.signal}},this.config.ensureUrl?()=>this.config.ensureUrl:void 0)).runtime}async connectRuntime(e){return KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/connect`),...e.organizationId===void 0?{}:{body:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}})}async getRuntime(e){return(await KK(this.config,{method:`GET`,path:qK(e.runtimeId),...e.signal===void 0?{}:{signal:e.signal}})).runtime}async destroyRuntime(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/destroy`),body:{purgeVolume:e.purgeVolume??!1,...e.force===!0?{force:!0}:{},...e.reason===void 0?{}:{reason:e.reason},...e.organizationId===void 0?{}:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}},this.config.destroyUrl?()=>this.config.destroyUrl(e.runtimeId):void 0)).runtime}async runRuntimeLifecycleAction(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/${e.action}`),body:e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.signal===void 0?{}:{signal:e.signal}},this.config.lifecycleUrl?()=>this.config.lifecycleUrl(e.runtimeId,e.action):void 0)).runtime}async updateRuntimeCommit(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/update-commit`),body:e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.signal===void 0?{}:{signal:e.signal}},this.config.updateCommitUrl?()=>this.config.updateCommitUrl(e.runtimeId):void 0)).operation}async getRuntimeCommitUpdateOperation(e){return(await KK(this.config,{method:`GET`,path:qK(e.runtimeId,`/update-commit/${encodeURIComponent(String(e.operationId))}`),...e.signal===void 0?{}:{signal:e.signal}},this.config.updateCommitOperationUrl?()=>this.config.updateCommitOperationUrl(e.runtimeId,e.operationId):void 0)).operation}async listCloudProjects(e){if(this.config.listUrl){let t=GK(this.config),n=await fetch(this.config.listUrl,{method:`GET`,headers:{Accept:`application/json`,...t?{Authorization:`Bearer ${t}`}:{}},credentials:t?`omit`:`include`,cache:`no-store`,...e?.signal===void 0?{}:{signal:e.signal}});return await BJe(n),HK(await n.json())}return HK(await KK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects`,...e?.signal===void 0?{}:{signal:e.signal}}))}async previewCloudProjectRemoval(e){return RJe(this.config,e)}async requestCloudProjectRemoval(e){return zJe(this.config,e)}async getCloudProjectRemoval(e){return(await KK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects/removals/${encodeURIComponent(e.operationId)}`,...e.signal===void 0?{}:{signal:e.signal}},this.config.cloudProjectRemovalReceiptUrl?()=>this.config.cloudProjectRemovalReceiptUrl(e.operationId):void 0)).operation}},YK=`/api/attachments/upload/`;function VJe(e){if(!e.relativeUrl.startsWith(YK))throw Error(`Attachment upload URL did not use the expected upload route.`);let t=e.relativeUrl.slice(24);if(!/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(t))throw Error(`Attachment upload URL did not contain a valid signed token.`);if(e.relativeUrl.includes(`?`)||e.relativeUrl.includes(`#`))throw Error(`Attachment upload URL must not include a query or fragment.`);let n=new URL(e.httpBaseUrl),r=n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname,i=`${r}${YK}`,a=new URL(`${r}${e.relativeUrl}`,n);if(a.origin!==n.origin||!a.pathname.startsWith(i))throw Error(`Attachment upload URL resolved outside the selected environment.`);return a.toString()}var XK=!1,ZK=null;function QK(e){return Object.values(e)}function $K(e){return e.map(e=>wn(e))}function eq(e){try{Hl($K(QK(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function HJe(e){let t=tq.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));tq.setState({byId:{...n,...t}})}async function UJe(){if(XK)return;if(ZK)return ZK;let e=(async()=>{try{HJe(await Vl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{XK=!0,tq.setState({hydrated:!0})}})().finally(()=>{ZK===e&&(ZK=null)});return ZK=e,ZK}var tq=qt()(e=>({byId:{},hydrated:XK,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return eq(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return eq(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 eq(i),{byId:i}}),reset:()=>{eq({}),e({byId:{}})}}));function nq(){return XK}function rq(){return nq()?Promise.resolve():UJe()}function iq(){return Object.values(tq.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function WJe(){return iq().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function aq(e){return tq.getState().byId[e]??null}function oq(e){let t=RK();return t?.environmentId===e?Zie(t):aq(e)?.httpBaseUrl??null}function sq(e){let t=oq(e.environmentId)??(typeof window<`u`?window.location.origin:null);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(t);return n.pathname=`${n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname}${e.pathname.startsWith(`/`)?e.pathname:`/${e.pathname}`}`,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}function cq(e){if(!oq(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function GJe(e){return cq(e.environmentId),VJe({httpBaseUrl:oq(e.environmentId),relativeUrl:e.relativeUrl})}async function lq(e){await Hl($K(QK({...tq.getState().byId,[e.environmentId]:e})))}async function KJe(e,t){let{[e]:n,...r}=tq.getState().byId,i={...r,[t.environmentId]:t};await Hl($K(QK(i))),tq.setState({byId:i})}async function uq(e){return Ul(e)}async function qJe(e,t){return Wl(e,t)}async function dq(e){await Gl(e)}var JJe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function fq(e){let t=e?.trim();return t&&t.length>0?t:null}function YJe(e){return fq(e)??`Project`}function XJe(e,t=`safe`){let n=fq(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function pq(e,t=`Something went wrong. Try again.`){let n=vG(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||JJe.some(e=>e.test(n))?t:n}function ZJe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function mq(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function hq(e,t){let n=mq(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&ZJe(e,r)?r:n??void 0}function gq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function _q(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function QJe(e,t){let n=_q(e);return t&&gq(e,t)?t:n??void 0}function $Je(e,t){let n=hq(e,t?.reasoningEffort),r=e.supportsFastMode?t?.fastMode:void 0,i={...n?{reasoningEffort:n}:{},...r===void 0?{}:{fastMode:r}};return Object.keys(i).length>0?i:void 0}function eYe(e,t){let n=hq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=QJe(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{effort:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function vq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function yq(e,t=`codex`){if(typeof e!=`string`)return null;let n=e.trim();if(!n)return null;let r=Sne[t],i=Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0;return typeof i==`string`?i:n}function bq(e,t,n){if(typeof t!=`string`)return null;let r=t.trim();if(!r)return null;let i=n.find(e=>e.slug===r);if(i)return i.slug;let a=n.find(e=>e.name.toLowerCase()===r.toLowerCase());if(a)return a.slug;let o=yq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var tYe=[`codex`,`claudeAgent`];function xq(e,t){return tYe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function nYe(e,t){let n=yq(e,t);return!n||xq(n,t)?On[t]:n}function Sq(e,t){return nYe(t,e)}function rYe(e){return typeof e==`string`&&e.trim()||null}function iYe(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}function Cq(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,repositoryIdentity:e.repositoryIdentity??null,availability:e.availability,defaultThreadEnvMode:e.defaultThreadEnvMode??null,cmmdRegistration:e.cmmdRegistration??null,defaultModelSelection:e.defaultModelSelection?wq(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:Tq(e.scripts)}}function wq(e){return{...e,model:Sq(e.provider,e.model)}}function Tq(e){return e.map(e=>({...e}))}function aYe(e,t){return{...e,...t.title===void 0?{}:{name:t.title},...t.workspaceRoot===void 0?{}:{cwd:t.workspaceRoot},...t.repositoryIdentity===void 0?{}:{repositoryIdentity:t.repositoryIdentity??null},...t.defaultThreadEnvMode===void 0?{}:{defaultThreadEnvMode:t.defaultThreadEnvMode},...t.cmmdRegistration===void 0?{}:{cmmdRegistration:t.cmmdRegistration},...t.defaultModelSelection===void 0?{}:{defaultModelSelection:t.defaultModelSelection?wq(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:Tq(t.scripts)},updatedAt:t.updatedAt}}function Eq(e){let t=bG(e.lastError);return{provider:sYe(e.providerName),status:oYe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function Dq(e,t){let n=t.attachments?.map(t=>{let n=sq({environmentId:e,pathname:cYe(t.id)});return t.type===`image`?{...t,previewUrl:n}:{...t,downloadUrl:n}});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 Oq(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function kq(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.map(e=>({...e}))}}function oYe(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 sYe(e){return e===`codex`||e===`claudeAgent`||e===`ollama`||e===`cmmd`||e===`apex`?e:`codex`}function cYe(e){return`/attachments/${encodeURIComponent(e)}`}var lYe=[],uYe=[],dYe=[],fYe=[],pYe={},mYe={},hYe={},gYe={},_Ye=[],Aq=new WeakMap,jq=new WeakMap;function Mq(e,t,n){if(!e||e.length===0||!t)return n;let r=Aq.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||Aq.set(e,o),a}function vYe(e,t){return Mq(e.messageIdsByThreadId[t],e.messageByThreadId[t]??pYe,lYe)}function yYe(e,t){return Mq(e.activityIdsByThreadId[t],e.activityByThreadId[t]??mYe,uYe)}function bYe(e,t){return Mq(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??hYe,dYe)}function xYe(e,t){return Mq(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??gYe,fYe)}function Nq(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??_Ye,o=vYe(e,t),s=yYe(e,t),c=bYe(e,t),l=xYe(e,t),u=jq.get(n);if(u&&u.session===r&&u.turnState===i&&u.rateLimitStatus===a&&u.messages===o&&u.activities===s&&u.proposedPlans===c&&u.turnDiffSummaries===l)return u.thread;let d={...n,session:r,latestTurn:i?.latestTurn??null,pendingSourceProposedPlan:i?.pendingSourceProposedPlan,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l};return jq.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function SYe(e,t){let n=t.providerAccountId??null,r=e=>e.provider===t.provider&&(e.providerAccountId??null)===n,i=e.find(r),a={status:t.status,usedPercent:t.usedPercent,resetsAt:t.resetsAt},o={provider:t.provider,providerAccountId:n,fiveHour:t.window===`five_hour`?a:i?.fiveHour??null,sevenDay:t.window===`seven_day`?a:i?.sevenDay??null};return[...e.filter(e=>!r(e)),o]}function Pq(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var Fq={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},CYe={activeEnvironmentId:null,environmentStateById:{}},Iq=[],Lq=[];function Rq(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function zq(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:wq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?Eq(e.session):null,messages:e.messages.map(e=>Dq(t,e)),proposedPlans:e.proposedPlans.map(Oq),error:bG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(kq),activities:e.activities.map(e=>({...e})),anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null,pendingAutoCreatePrompt:e.pendingAutoCreatePrompt??null,rateLimitStatus:e.rateLimitStatus??[]}}function Bq(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:wq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:bG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null},r=e.session?Eq(e.session):null;return{shell:n,session:r,turnState:{latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan},summary:{id:e.id,modelSelection:n.modelSelection,environmentId:t,projectId:e.projectId,title:e.title,interactionMode:e.interactionMode,session:r,createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,branch:e.branch,worktreePath:e.worktreePath,latestUserMessageAt:e.latestUserMessageAt,hasPendingApprovals:e.hasPendingApprovals,hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null}}}function wYe(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,error:e.error,createdAt:e.createdAt,archivedAt:e.archivedAt,settledAt:e.settledAt,settledOverride:e.settledOverride,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null}}function TYe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function Vq(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function Hq(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&&Vq(e.sourceProposedPlan,t.sourceProposedPlan)}function Uq(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 Wq(e,t){return e===t?!0:e==null||t==null?!1:e.projectId===t.projectId&&e.projectRepositoryId===t.projectRepositoryId&&e.provider===t.provider&&e.host===t.host&&e.repository===t.repository&&e.number===t.number&&e.url===t.url}function Gq(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&Kq(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&Uq(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&Hq(e.latestTurn,t.latestTurn)&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan&&e.anchorKind===t.anchorKind&&e.anchorCmmdId===t.anchorCmmdId&&Wq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function Kq(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function qq(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.error===t.error&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.anchorKind===t.anchorKind&&e.anchorCmmdId===t.anchorCmmdId&&Wq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&Kq(e.titleRegeneration,t.titleRegeneration)}function Jq(e,t){return e!==void 0&&Hq(e.latestTurn,t.latestTurn)&&Vq(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function EYe(e,t){return e.includes(t)?[...e]:[...e,t]}function Yq(e,t){return e.filter(e=>e!==t)}function DYe(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function OYe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function kYe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function AYe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function jYe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function Xq(e){return e.threadIds.flatMap(t=>{let n=Nq(e,t);return n?[n]:[]})}function Zq(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]??Iq,i=Yq(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else Rq(n,i)||(e={...e,[r]:i})}let a=e[n]??Iq,o=EYe(a,t);Rq(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function Qq(e,t,n){let r=wYe(t),i=TYe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=Zq(e,t.id,t.projectId,n?.projectId);qq(a,r)||(s={...s,threadShellById:{...s.threadShellById,[t.id]:r}});let c=e.sidebarThreadSummaryById[t.id];if(c!==void 0){let e={...c,title:t.title,modelSelection:t.modelSelection,interactionMode:t.interactionMode,session:t.session,createdAt:t.createdAt,archivedAt:t.archivedAt,settledAt:t.settledAt,settledOverride:t.settledOverride,updatedAt:t.updatedAt,latestTurn:t.latestTurn,branch:t.branch,worktreePath:t.worktreePath,anchorKind:t.anchorKind,anchorCmmdId:t.anchorCmmdId,linkedPullRequest:t.linkedPullRequest??null,goal:t.goal,titleRegeneration:t.titleRegeneration??null,kind:t.kind,parentThreadId:t.parentThreadId,status:t.status,workerRole:t.workerRole};Gq(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(Uq(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??Lq)!==(t.rateLimitStatus??Lq)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??Lq}}),Jq(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=DYe(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=OYe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=kYe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=AYe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function $q(e,t){let n=e.threadShellById[t.shell.id],r=Zq(e,t.shell.id,t.shell.projectId,n?.projectId);return qq(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),Uq(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),Jq(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),Gq(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function eJ(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function tJ(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=Yq(e.threadIds,t),o=Yq(e.threadIdsByProjectId[i]??Iq,t),s=o.length===0?(()=>{let{[i]:t,...n}=e.threadIdsByProjectId;return n})():{...e.threadIdsByProjectId,[i]:o},{[t]:c,...l}=e.threadShellById,{[t]:u,...d}=e.threadSessionById,{[t]:f,...p}=e.threadTurnStateById,{[t]:m,...h}=e.messageIdsByThreadId,{[t]:g,..._}=e.messageByThreadId,{[t]:v,...y}=e.activityIdsByThreadId,{[t]:b,...x}=e.activityByThreadId,{[t]:S,...C}=e.proposedPlanIdsByThreadId,{[t]:w,...T}=e.proposedPlanByThreadId,{[t]:E,...D}=e.turnDiffIdsByThreadId,{[t]:ee,...te}=e.turnDiffSummaryByThreadId,{[t]:ne,...O}=e.sidebarThreadSummaryById;return{...e,threadIds:a,threadIdsByProjectId:s,threadShellById:l,threadSessionById:d,threadTurnStateById:p,messageIdsByThreadId:h,messageByThreadId:_,activityIdsByThreadId:y,activityByThreadId:x,proposedPlanIdsByThreadId:C,proposedPlanByThreadId:T,turnDiffIdsByThreadId:D,turnDiffSummaryByThreadId:te,sidebarThreadSummaryById:O}}function MYe(e,t){let n=new Set(e.threadIdsByProjectId[t]??Iq);for(let[r,i]of Object.entries(e.threadShellById))i.projectId===t&&n.add(r);for(let[r,i]of Object.entries(e.sidebarThreadSummaryById))i.projectId===t&&n.add(r);return[...n]}function nJ(e,t){let n=MYe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=tJ(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:Yq(r.projectIds,t)}}function rJ(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function NYe(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 iJ(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 PYe(e,t,n){let r=!1,i=e.map(e=>e.turnId!==t||e.assistantMessageId===n?e:(r=!0,{...e,assistantMessageId:n??void 0}));return r?i:[...e]}function FYe(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 IYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function LYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function aJ(e,t,n){let r=Nq(e,t);if(!r)return e;let i=n(r);return i===r?e:Qq(e,i,r)}function oJ(e,t,n,r){let i=aJ(e,t,e=>({...e,...r,updatedAt:n})),a=i.sidebarThreadSummaryById[t];return!a||Object.keys(r).every(e=>a[e]===r[e])?i:{...i,sidebarThreadSummaryById:{...i.sidebarThreadSummaryById,[t]:{...a,...r}}}}function RYe(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function sJ(e,t){return e.environmentStateById[t]??Fq}function cJ(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function zYe(e,t,n){let r=t.projects.map(e=>Cq(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...RYe(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:eJ(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:eJ(e.messageIdsByThreadId,i),messageByThreadId:eJ(e.messageByThreadId,i),activityIdsByThreadId:eJ(e.activityIdsByThreadId,i),activityByThreadId:eJ(e.activityByThreadId,i),proposedPlanIdsByThreadId:eJ(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:eJ(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:eJ(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:eJ(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=$q(a,Bq(e,n));return a}function BYe(e,t,n){return cJ(e,n,zYe(sJ(e,n),t,n))}function VYe(e,t,n){let r=sJ(e,n),i=Nq(r,t.id);return cJ(e,n,Qq(r,zq(t,n),i))}function HYe(e,t,n,r){let i=sJ(e,t);return cJ(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function UYe(e,t,n){let r=sJ(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return cJ(e,t,{...r,threadSubscriptionErrorById:a})}function lJ(e,t,n){switch(t.type){case`project.created`:{let r=Cq({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,repositoryIdentity:t.payload.repositoryIdentity??null,defaultModelSelection:t.payload.defaultModelSelection,defaultThreadEnvMode:t.payload.defaultThreadEnvMode??null,cmmdRegistration:t.payload.cmmdRegistration??null,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=aYe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return nJ(e,t.payload.projectId);case`thread.created`:{let r=Nq(e,t.payload.threadId);return Qq(e,zq({id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,branch:t.payload.branch,worktreePath:t.payload.worktreePath,latestTurn:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null,anchorKind:t.payload.anchorKind,anchorCmmdId:t.payload.anchorCmmdId,kind:t.payload.kind,parentThreadId:t.payload.parentThreadId,status:t.payload.status,workerRole:t.payload.workerRole,goal:t.payload.goal??null,titleRegeneration:null,pendingAutoCreatePrompt:null},n),r)}case`thread.deleted`:return tJ(e,t.payload.threadId);case`thread.archived`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return aJ(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:wq(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},...t.payload.anchorKind===void 0?{}:{anchorKind:t.payload.anchorKind},...t.payload.anchorCmmdId===void 0?{}:{anchorCmmdId:t.payload.anchorCmmdId},...t.payload.status===void 0?{}:{status:t.payload.status},...t.payload.parentThreadId===void 0?{}:{parentThreadId:t.payload.parentThreadId},...t.payload.goal===void 0?{}:{goal:t.payload.goal},...t.payload.linkedPullRequest===void 0?{}:{linkedPullRequest:t.payload.linkedPullRequest},...t.payload.titleRegeneration===void 0?{}:{titleRegeneration:t.payload.titleRegeneration},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return aJ(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return aJ(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return aJ(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:wq(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:iJ({previous:e.latestTurn,turnId:gn.make(t.payload.messageId),state:`running`,requestedAt:t.payload.createdAt,startedAt:t.payload.createdAt,completedAt:null,assistantMessageId:null,sourceProposedPlan:t.payload.sourceProposedPlan}),updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return t.payload.turnId===void 0?e:aJ(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:iJ({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 aJ(e,t.payload.threadId,e=>{let n=Dq(e.environmentId,{id:t.payload.messageId,role:t.payload.role,text:t.payload.text,...t.payload.attachments===void 0?{}:{attachments:t.payload.attachments},turnId:t.payload.turnId,streaming:t.payload.streaming,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt}),r=(e.messages.find(e=>e.id===n.id)?e.messages.map(e=>e.id===n.id?{...e,text:n.streaming?`${e.text}${n.text}`:n.text.length>0?n.text:e.text,streaming:n.streaming,...n.turnId===void 0?{}:{turnId:n.turnId},...n.streaming?e.completedAt===void 0?{}:{completedAt:e.completedAt}:n.completedAt===void 0?{}:{completedAt:n.completedAt},...n.attachments===void 0?{}:{attachments:n.attachments}}:e):[...e.messages,n]).slice(-2e3),i=t.payload.role===`assistant`&&t.payload.turnId!==null?PYe(e.turnDiffSummaries,t.payload.turnId,t.payload.messageId):e.turnDiffSummaries,a=t.payload.role===`assistant`&&t.payload.turnId!==null&&(e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId)?iJ({previous:e.latestTurn,turnId:t.payload.turnId,state:t.payload.streaming?`running`:e.latestTurn?.state===`interrupted`?`interrupted`:e.latestTurn?.state===`error`?`error`:`completed`,requestedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.requestedAt:t.payload.createdAt,startedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e.pendingSourceProposedPlan,completedAt:t.payload.streaming?e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}):e.latestTurn;return{...e,messages:r,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.session-set`:return aJ(e,t.payload.threadId,e=>({...e,session:Eq(t.payload.session),error:bG(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?iJ({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 aJ(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 aJ(e,t.payload.threadId,e=>{let n=Oq(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 aJ(e,t.payload.threadId,e=>{let n=kq({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?iJ({previous:e.latestTurn,turnId:t.payload.turnId,state:rJ(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 aJ(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=FYe(e.messages,r,t.payload.turnCount).slice(-2e3),a=LYe(e.proposedPlans,r).slice(-200),o=IYe(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:rJ(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return aJ(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(NYe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return aJ(e,t.payload.threadId,e=>({...e,rateLimitStatus:SYe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return aJ(e,t.payload.workerThreadId,e=>({...e,kind:`worker`,parentThreadId:t.payload.masterThreadId,branch:t.payload.branch,worktreePath:t.payload.worktreePath,workerRole:t.payload.workerRole??e.workerRole??null,updatedAt:t.occurredAt}));case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function WYe(e,t,n){switch(t.kind){case`project-upserted`:{let r=Cq(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`:return nJ(e,t.projectId);case`thread-upserted`:return $q(e,Bq(t.thread,n));case`thread-removed`:return tJ(e,t.threadId)}}function GYe(e,t,n){if(t.length===0)return e;let r=sJ(e,n);return cJ(e,n,t.reduce((e,t)=>lJ(e,t,n),r))}function uJ(e){return Object.entries(e.environmentStateById)}function dJ(e,t){return t?sJ(e,t):Fq}function KYe(e,t){return Xq(dJ(e,t))}function fJ(e){return uJ(e).flatMap(([,e])=>jYe(e))}function pJ(e){return uJ(e).flatMap(([,e])=>Xq(e))}function qYe(e){return uJ(e).flatMap(([,e])=>mJ(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function mJ(e){let t=[],n=new Set,r=e=>{n.has(e)||(n.add(e),t.push(e))};for(let t of e.threadIds)r(t);for(let t of Object.keys(e.threadShellById))r(t);for(let t of Object.keys(e.sidebarThreadSummaryById))r(t);return t}function hJ(e,t,n){let r=t.sidebarThreadSummaryById[n];if(r)return r.environmentId===e?r:{...r,environmentId:e};let i=t.threadShellById[n];return i?{id:i.id,environmentId:e,projectId:i.projectId,title:i.title,modelSelection:i.modelSelection,interactionMode:i.interactionMode,session:t.threadSessionById[n]??null,createdAt:i.createdAt,archivedAt:i.archivedAt,settledAt:i.settledAt,settledOverride:i.settledOverride,updatedAt:i.updatedAt,latestTurn:t.threadTurnStateById[n]?.latestTurn??null,branch:i.branch,worktreePath:i.worktreePath,latestUserMessageAt:null,hasPendingApprovals:!1,hasPendingUserInput:!1,hasActionableProposedPlan:!1,anchorKind:i.anchorKind,anchorCmmdId:i.anchorCmmdId,goal:i.goal,titleRegeneration:i.titleRegeneration,kind:i.kind,parentThreadId:i.parentThreadId,workerRole:i.workerRole,status:i.status}:null}function JYe(e){return uJ(e).flatMap(([e,t])=>mJ(t).flatMap(n=>{let r=hJ(e,t,n);return r?[r]:[]}))}function gJ(e,t){if(!t)return[];let n=dJ(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??Iq;return(r.length>0?r:mJ(n)).flatMap(e=>{let r=hJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function YYe(e,t){return t.length===0?[]:t.length===1?gJ(e,t[0]):t.flatMap(t=>gJ(e,t))}function XYe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):dJ(e,e.activeEnvironmentId).bootstrapComplete}function ZYe(e,t){return t?dJ(e,t.environmentId).projectById[t.projectId]:void 0}function _J(e,t){return t?Nq(dJ(e,t.environmentId),t.threadId):void 0}function QYe(e,t){return t?dJ(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function vJ(e,t){return t?hJ(t.environmentId,dJ(e,t.environmentId),t.threadId)??void 0:void 0}function $Ye(e,t,n){if(e.activeEnvironmentId===null)return e;let r=aJ(sJ(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return cJ(e,e.activeEnvironmentId,r)}function eXe(e,t,n){return cJ(e,n,lJ(sJ(e,n),t,n))}function tXe(e,t,n){return cJ(e,n,WYe(sJ(e,n),t,n))}function nXe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function rXe(e,t,n,r){let i=aJ(sJ(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 cJ(e,t.environmentId,i)}var yJ=qt(e=>({...CYe,setActiveEnvironmentId:t=>e(e=>nXe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>BYe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>VYe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>HYe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>UYe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>eXe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>GYe(e,t,n)),applyShellEvent:(t,n)=>e(e=>tXe(e,t,n)),setError:(t,n)=>e(e=>$Ye(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>rXe(e,t,n,r))})),bJ=`Thread not found or you no longer have access.`;function iXe(e){if(e==null)return bJ;let t=pq(ote(e)?Ie(e):e,bJ);return/\bnot found\b/i.test(t)?bJ:t}function aXe(e,t,n){yJ.getState().setThreadSubscriptionError(e,t,iXe(n))}function xJ(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var oXe={enabled:!0,leading:!0,trailing:!0,wait:0},sXe=class{#e;constructor(e,t){this.fn=e,this.store=new bte(xJ()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),Cte(`Throttler`,this)},this.#n=()=>!!Qt(this.options.enabled,this),this.#r=()=>Qt(this.options.wait,this),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.#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())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(xJ())},this.key=t.key,this.options={...oXe,...t},this.#t(this.options.initialState??{}),this.key&&Tte.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a};function cXe(e){return!!(e.prompt.trim()||e.images.length||e.terminalContexts.length||e.persistedAttachments.length||e.stagedSubmission)}function lXe(e,t,n){let r=Vo(t),i=Vo(n);if(r===i)return e;let a=e[r];if(!a)return e;let o=e[i];if(o&&cXe(o)&&!uXe(a,o))return null;let s={...e,[i]:{...a,...vXe(a,o)}};return delete s[r],s}function uXe(e,t){let n=e.stagedSubmission;return!n||!dXe(n)||!fXe(e,n)||!pXe(n,t.stagedSubmission)?!1:mXe(e,t)}function dXe(e){return!!e.commandId&&!!e.messageId}function fXe(e,t){return[e.prompt===t.prompt,CJ(e.persistedAttachments,t.attachments),CJ(e.terminalContexts,t.terminalContexts)].every(Boolean)}function pXe(e,t){return!t||hXe(e,t)}function mXe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,TJ(e.images,t.images),wJ(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,TJ(e.persistedAttachments,t.persistedAttachments),TJ(e.terminalContexts,t.terminalContexts),_Xe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function hXe(e,t){return[e.commandId===t.commandId&&e.messageId===t.messageId,e.prompt===t.prompt,CJ(e.attachments,t.attachments),CJ(e.terminalContexts,t.terminalContexts),SJ(e.modelSelection,t.modelSelection),SJ(e.runtimeMode,t.runtimeMode),SJ(e.interactionMode,t.interactionMode),gXe(e.executionIntent,t.executionIntent)].every(Boolean)}function SJ(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function gXe(e,t){return!e||!t||e.runtimeId===t.runtimeId}function CJ(e,t){return e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id)}function wJ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function TJ(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function _Xe(e,t){let n=Object.keys(e).toSorted();return wJ(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function vXe(e,t){let n=t??e,r=e.stagedSubmission?e:n,i=e.stagedSubmission?n:e;return{modelSelectionByProvider:{...i.modelSelectionByProvider,...r.modelSelectionByProvider},activeProvider:r.activeProvider??i.activeProvider,runtimeMode:r.runtimeMode??i.runtimeMode,interactionMode:r.interactionMode??i.interactionMode}}var EJ=`full-access`,DJ=`default`,OJ=`default`,yXe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,bXe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function kJ(e){return e.replace(/\r\n/g,`
1005
+ If init has been called in the preload and contextIsolation is disabled, is not required to call init in the renderer`);return}window.__SENTRY__RENDERER_INIT__=!0,e.sendClientReports=!1,e.defaultIntegrations===void 0&&(e.defaultIntegrations=cG(e)),e.stackParser===void 0&&(e.stackParser=iG),e.ipcNamespace===void 0&&(e.ipcNamespace=`sentry-ipc`),e.dsn===void 0&&(e.dsn=`https://12345@dummy.dsn/12345`),e.transport===void 0&&(e.transport=sG),delete e.initialScope,t(e)}var uG=e({BrowserClient:()=>RR,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>oMe,OpenFeatureIntegrationHook:()=>iKe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>SA,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>CA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>xA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>bA,Scope:()=>iA,addBreadcrumb:()=>dP,addEventProcessor:()=>eN,addIntegration:()=>uN,bindScopeToEmitter:()=>UAe,breadcrumbsIntegration:()=>hB,browserApiErrorsIntegration:()=>gB,browserProfilingIntegration:()=>YGe,browserSessionIntegration:()=>vB,browserTracingIntegration:()=>EW,buildLaunchDarklyFlagUsedHandler:()=>nKe,captureConsoleIntegration:()=>FMe,captureEvent:()=>YM,captureException:()=>qM,captureFeedback:()=>QP,captureMessage:()=>JM,captureSession:()=>iN,chromeStackLineParser:()=>fB,consoleLoggingIntegration:()=>zNe,contextLinesIntegration:()=>BBe,continueTrace:()=>AAe,createConsolaReporter:()=>HNe,createLangChainCallbackHandler:()=>EI,createTransport:()=>MN,createUserFeedbackEnvelope:()=>Wze,dedupeIntegration:()=>jP,defaultRequestInstrumentationOptions:()=>gW,defaultStackParser:()=>iG,elementTimingIntegration:()=>aze,endSession:()=>nN,eventFiltersIntegration:()=>mP,eventFromException:()=>PR,eventFromMessage:()=>FR,eventLoopBlockIntegration:()=>_Ke,exceptionFromError:()=>AR,extraErrorDataIntegration:()=>HMe,featureFlagsIntegration:()=>ENe,feedbackAsyncIntegration:()=>HLe,feedbackIntegration:()=>kR,feedbackSyncIntegration:()=>kR,fetchStreamPerformanceIntegration:()=>xW,forceLoad:()=>SBe,functionToStringIntegration:()=>pP,getAbsoluteUrl:()=>kze,getActiveSpan:()=>yj,getClient:()=>X,getCurrentScope:()=>hA,getDefaultIntegrations:()=>cG,getFeedback:()=>YIe,getGlobalScope:()=>_A,getIsolationScope:()=>gA,getReplay:()=>FWe,getRootSpan:()=>_j,getSpanDescendants:()=>gj,getSpanStatusFromHttpCode:()=>AA,getTraceData:()=>uP,globalHandlersIntegration:()=>bB,graphqlClientIntegration:()=>JBe,growthbookIntegration:()=>sKe,httpClientIntegration:()=>OBe,httpContextIntegration:()=>TB,inboundFiltersIntegration:()=>hP,init:()=>lG,instrumentAnthropicAiClient:()=>iFe,instrumentCreateReactAgent:()=>HFe,instrumentGoogleGenAIClient:()=>gFe,instrumentLangChainEmbeddings:()=>jFe,instrumentLangGraph:()=>UFe,instrumentOpenAiClient:()=>zPe,instrumentOutgoingRequests:()=>_W,instrumentSupabaseClient:()=>UP,isBotUserAgent:()=>TW,isEnabled:()=>$M,isInitialized:()=>gje,lastEventId:()=>QM,launchDarklyIntegration:()=>tKe,linkedErrorsIntegration:()=>EB,logger:()=>dIe,makeRendererTransport:()=>sG,metrics:()=>vIe,moduleMetadataIntegration:()=>MMe,normalizeStringifyValue:()=>DB,onLoad:()=>CBe,openFeatureIntegration:()=>rKe,parameterize:()=>lP,registerSpanErrorInstrumentation:()=>Sj,registerWebWorker:()=>fKe,replayCanvasIntegration:()=>eGe,replayIntegration:()=>BU,reportPageLoaded:()=>SGe,reportingObserverIntegration:()=>EBe,rewriteFramesIntegration:()=>XMe,scopeToMainIntegration:()=>oG,sendFeedback:()=>oL,setActiveSpanInBrowser:()=>CGe,setAttribute:()=>mje,setAttributes:()=>pje,setContext:()=>XM,setConversationId:()=>hje,setCurrentClient:()=>ZN,setExtra:()=>uje,setExtras:()=>lje,setHttpStatus:()=>jA,setMeasurement:()=>Wj,setTag:()=>fje,setTags:()=>dje,setUser:()=>ZM,showReportDialog:()=>kB,spanStreamingIntegration:()=>wGe,spanToBaggageHeader:()=>fAe,spanToJSON:()=>rj,spanToTraceHeader:()=>QA,spotlightBrowserIntegration:()=>eKe,startBrowserTracingNavigationSpan:()=>OW,startBrowserTracingPageLoadSpan:()=>DW,startInactiveSpan:()=>nM,startNewTrace:()=>aM,startSession:()=>tN,startSpan:()=>eM,startSpanManual:()=>tM,statsigIntegration:()=>cKe,supabaseIntegration:()=>uNe,suppressTracing:()=>jAe,thirdPartyErrorFilterIntegration:()=>yNe,uiProfiler:()=>Pze,unleashIntegration:()=>aKe,updateSpanName:()=>sAe,viewHierarchyIntegration:()=>YBe,webVitalsIntegration:()=>SW,webWorkerIntegration:()=>uKe,withActiveSpan:()=>rM,withIsolationScope:()=>Ake,withScope:()=>vA,withStreamedSpan:()=>pAe,zodErrorsIntegration:()=>vNe}),yKe=100,bKe=5,xKe=[`ResizeObserver loop completed with undelivered notifications.`,`ResizeObserver loop limit exceeded`,`AbortError`,`The user aborted a request.`,`Network request failed`,`NetworkError when attempting to fetch resource.`,`Failed to fetch`,`ChunkLoadError`,`Loading chunk`,`Loading CSS chunk`,`Non-Error promise rejection captured with value: Object Not Found Matching Id`];function dG(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function SKe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),dG(e.extra),dG(e.tags)}function CKe(e){let t=pG(e.version)??`0.0.0`,n=pG(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function fG(e,t){for(let n of t){let t=pG(e[n]);if(t)return t}}function wKe(e){return mG(e.enabled)??e.defaultEnabled??!1}function TKe(e){let t=pG(e.dsn);return!t||wKe(e)===!1?null:{dsn:t,environment:pG(e.environment)??pG(e.defaultEnvironment)??`production`,release:pG(e.release)??pG(e.defaultRelease)??void 0,debug:mG(e.debug)??e.defaultDebug??!1,tracesSampleRate:gG(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:hG(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:hG(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:hG(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:yKe,normalizeDepth:bKe,tags:EKe(e)}}function EKe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=pG(r);e&&(t[n]=e)}return t}function pG(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function mG(e){if(typeof e==`boolean`)return e;let t=pG(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function hG(e,t){if(t!==void 0||e!==void 0)return gG(e,t??0)}function gG(e,t){let n=DKe(e);return n===null||n<0||n>1?t:n}function DKe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=pG(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function OKe(e){let t=(0,ll.c)(11),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Jt(gl,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Jt(ml,`pl-1 md:pl-2.5`),t[1]=r):r=t[1];let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(vl,{}),t[2]=i):i=t[2];let a;t[3]===e.onGoToNewChat?a=t[4]:(a=(0,Nr.jsx)(`div`,{className:r,children:(0,Nr.jsx)(`button`,{type:`button`,"aria-label":`Go to new chat`,onClick:e.onGoToNewChat,className:`${hl} hover:bg-accent/70`,children:i})}),t[3]=e.onGoToNewChat,t[4]=a);let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Nr.jsx)(`div`,{}),t[5]=o):o=t[5];let s;t[6]===a?s=t[7]:(s=(0,Nr.jsxs)(`header`,{className:pl,children:[a,o]}),t[6]=a,t[7]=s);let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Nr.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-4`,children:(0,Nr.jsxs)(`div`,{className:`max-w-md rounded-xl border border-border bg-card p-6 text-center shadow-lg`,children:[(0,Nr.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight`,children:`Something went wrong.`}),(0,Nr.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:`Forge hit an unexpected error and reported it.`}),(0,Nr.jsx)(`button`,{className:`mt-4 inline-flex rounded-md border border-border px-3 py-2 text-sm font-medium hover:bg-accent`,onClick:kKe,type:`button`,children:`Reload app`})]})}),t[8]=c):c=t[8];let l;return t[9]===s?l=t[10]:(l=(0,Nr.jsxs)(`div`,{className:n,children:[s,c]}),t[9]=s,t[10]=l),l}function kKe(){return window.location.reload()}var AKe=[/\bDeepSeek\b/i,/\bKimi\b/i,/\bMoonshot\b/i,/\bdeepseek[-._a-z0-9]*\b/i,/\bkimi[-._a-z0-9]*\b/i,/\bmoonshot[-._a-z0-9]*\b/i,/\bAPEX_API_KEY\b/,/\bDEEPSEEK_API_KEY\b/,/\bKIMI_API_KEY\b/,/\bOPENAI_API_KEY\b/,/\bANTHROPIC_API_KEY\b/,/\bCURSOR_API_KEY\b/,/\bOPENCODE_API_KEY\b/,/\bforge_proxy_[A-Za-z0-9._-]+\b/,/\bProviderValidationError\b/,/\/forge-server\/node_modules\//,/https?:\/\/[^\s'"<>)]*\/api\/provider-egress\/[^\s'"<>)]*/i,/https?:\/\/[^\s'"<>)]*(?:apex|deepseek|moonshot|kimi)[^\s'"<>)]*/i],jKe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function _G(e){if(!e)return!1;let t=e.toLowerCase();return/\b(rate[\s-]?limit|too\s+many\s+requests|usage[ _-]limit|usage_limit_reached|quota|insufficient_quota)\b/.test(t)||/\b429\b/.test(t)}function MKe(e){return/\bbound to provider account\b/.test(e)&&/\bcannot use provider account\b/.test(e)?`Forge could not switch this conversation to the selected AI account. Retry the account switch.`:/\bforge_runtime_repairing\b/.test(e)||/\bthis turn was interrupted because the environment is being repaired\b/.test(e)?`This turn was interrupted because the environment is being repaired. Retry after the repair finishes.`:/\bforge_runtime_stopped\b/.test(e)||/\bthis turn was interrupted because the environment was stopped\b/.test(e)?`This turn was interrupted because the environment was stopped. Start the environment and retry.`:null}function NKe(e){if(!e)return null;let t=e.toLowerCase(),n=MKe(t);return n===null?/\bforge_provider_model_not_allowed\b/.test(t)||/\bnot\s+scoped\s+to\s+the\s+requested\s+model\b/.test(t)?`The workspace AI credential does not cover the model this turn asked for. Retry, or pick that model for the thread.`:/\bmodel\b[\s\S]*\b(not\s+(found|available|supported)|does\s+not\s+exist|unsupported|invalid|unknown)\b/.test(t)||/\b(unsupported|unknown|invalid)\b[\s\S]*\bmodel\b/.test(t)||/\b(model_not_found|invalid_model|model_not_supported)\b/.test(t)?`The selected model isn't available right now. Pick a different model and retry.`:_G(t)?`The AI service is rate-limited or out of quota. Wait a moment and retry.`:/\b(unauthorized|forbidden|authentication\s+(failed|error|required)|invalid\s+api\s+key|expired\s+(token|credential))\b/.test(t)||/\b40[13]\b/.test(t)?`Workspace AI authentication failed. Reconnect the workspace and retry.`:/\b(timed?\s*out|timeout|overloaded|service\s+unavailable)\b/.test(t)||/\b50[234]\b/.test(t)?`The AI service is temporarily overloaded. Retry in a moment.`:null:n}function PKe(e){return e?AKe.some(t=>t.test(e)):!1}function vG(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:PKe(n)?NKe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var FKe=[/\bSocketCloseError\b/i,/\bSocketOpenError\b/i,/\bSocketReadError\b/i,/\bRpcClientDefect:\s*Unknown socket error\b/i,/Unable to connect to the Forge server WebSocket\./i,/\bping timeout\b/i];function yG(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&FKe.some(e=>e.test(t))}function bG(e){return yG(e)?null:vG(e,{fallback:jKe})}var xG=`forge-web`,SG=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],CG=[`VITE_SENTRY_RELEASE`],IKe=[`VITE_SENTRY_DSN`],LKe=[`VITE_SENTRY_DEBUG`],RKe=[`VITE_SENTRY_ENABLED`],zKe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],BKe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],VKe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],HKe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],UKe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],wG=!1,TG={autoInject:!1,colorScheme:`system`,formTitle:`Report a Bug`,themeLight:{accentBackground:`oklch(0.52 0.19 48)`,accentForeground:`#ffffff`,background:`#ffffff`,boxShadow:`0 24px 80px rgba(0, 0, 0, 0.18)`,foreground:`#262626`,outline:`1px solid oklch(0.52 0.19 48)`},themeDark:{accentBackground:`oklch(0.62 0.2 47)`,accentForeground:`#ffffff`,background:`#171717`,boxShadow:`0 24px 80px rgba(0, 0, 0, 0.45)`,foreground:`#f5f5f5`,outline:`1px solid oklch(0.62 0.2 47)`}};function WKe(e){let t=e.exception&&typeof e.exception==`object`&&`values`in e.exception&&Array.isArray(e.exception.values)?e.exception.values:[];return[typeof e.title==`string`?e.title:void 0,...t.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=e;return[typeof t.type==`string`?t.type:void 0,typeof t.value==`string`?t.value:void 0]})]}function GKe(e){return(e.exception&&typeof e.exception==`object`&&`values`in e.exception&&Array.isArray(e.exception.values)?e.exception.values:[]).some(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.value!=`string`||!/All fibers interrupted without error/i.test(t.value)?!1:t.stacktrace?.frames?.some(e=>{let t=typeof e.filename==`string`?e.filename:``,n=typeof e.function==`string`?e.function:``;return t.includes(`src/rpc/wsTransport.ts`)&&n===`WsTransport.request`})})}function KKe(e){return WKe(e).some(yG)||GKe(e)}function qKe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function JKe(){let e=Pr?`electron-renderer`:`browser`,t={APP_VERSION:`0.13.4`,BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_INLINE_CSS_ENABLED:`false`,VITE_COMMIT_SHA:``,VITE_HTTP_URL:``,VITE_SENTRY_COMMIT_SHA:`ccfffcbf86c28599b61bac158032499398ed9713`,VITE_SENTRY_DEBUG:``,VITE_SENTRY_DSN:``,VITE_SENTRY_ENABLED:``,VITE_SENTRY_ENVIRONMENT:`production`,VITE_SENTRY_PROFILES_SAMPLE_RATE:``,VITE_SENTRY_RELEASE:`forge-web@0.13.4+ccfffcbf86c28599b61bac158032499398ed9713`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=fG(t,[...CG])??CKe({appName:xG,version:`0.13.4`,commitHash:fG(t,[...UKe])});return TKe({appName:xG,runtime:e,defaultEnvironment:fG(t,[...SG])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:fG(t,[...RKe]),dsn:fG(t,[...IKe]),environment:fG(t,[...SG]),release:fG(t,[...CG]),debug:fG(t,[...LKe]),tracesSampleRate:fG(t,[...zKe]),profilesSampleRate:fG(t,[...BKe]),replaysSessionSampleRate:fG(t,[...VKe]),replaysOnErrorSampleRate:fG(t,[...HKe]),tags:{platform:Pr?`desktop`:`web`}})}function EG(e){return SKe(e),KKe(e)?null:e}function YKe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function DG(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...xKe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...YKe(e)}}function XKe(e){let t=[];e.tracesSampleRate>0&&t.push(EW()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(BU());let n=kR(TG);t.push(n);try{lG({...DG(e),beforeSend:e=>EG(e),integrations:t})}catch{return null}return wG=!0,uG}function ZKe(e){let t=[];e.tracesSampleRate>0&&t.push(_E()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(jT());let n=mb(TG);t.push(n);try{ZE({...DG(e),beforeSend:e=>EG(e),integrations:t})}catch{return null}return wG=!0,TO}function OG(){if(wG)return Pr?uG:TO;let e=JKe();return e?Pr?XKe(e):ZKe(e):null}function kG(e){if(OG()){if(Pr){ZM(e);return}km(e)}}function AG(e,t,n){if(!OG())return;let r=QKe(e);if(Pr){vA(e=>{t&&e.setTags(t);let i=qM(r);n?.showReportDialog&&kB({eventId:i})});return}Kd(e=>{t&&e.setTags(t);let i=Tm(r);n?.showReportDialog&&bS({eventId:i})})}function QKe(e){if(e instanceof Error)return e;if(typeof e==`string`&&e.trim().length>0)return Error(e);try{return Error(JSON.stringify(e))}catch{return Error(`Unknown non-Error exception`)}}var $Ke=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){AG(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(OKe,{onGoToNewChat:qKe}):this.props.children}},jG=!1,MG=!1,NG=null,PG=null,FG=null,IG=!1,LG=new Set;function eqe(e){if(jG||MG)return;if(!e.publicKey||!e.host){MG=!0;return}if(NG)return;if(typeof window>`u`||typeof location>`u`){MG=!0;return}let t=e.publicKey,n=e.host;NG=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{PG=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{jG=!0,FG&&RG(FG),zG(),LG.forEach(e=>e())}})}).catch(()=>{MG=!0,PG=null})}function RG(e){if(FG=e,!jG||!PG)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),PG.identify(e.cmmdUserId,t)}function tqe(e){return!jG||!PG?!1:PG.isFeatureEnabled(e)===!0}function zG(){!PG||IG||(IG=!0,PG.onFeatureFlags(()=>{LG.forEach(e=>e())}))}function nqe(e){return LG.add(e),jG&&PG&&(zG(),e()),()=>{LG.delete(e)}}var BG=`/api/cmmd/auth-runtime`;function rqe(e){return P({method:`POST`,path:BG},e)}function iqe(e){return P({method:`GET`,path:BG},e)}function aqe(e){return P({method:`DELETE`,path:BG},e)}function oqe(e){return P({method:`POST`,path:`${BG}/connect`},e)}function sqe(e,t){return P({method:`GET`,path:`/api/cmmd/billing`,...t?.organizationId===void 0?{}:{query:{orgId:t.organizationId}}},e)}function cqe(e,t){return P({method:`GET`,path:`/api/cmmd/billing/series`,query:{timeZone:t.timeZone}},e)}var VG=`/api/cmmd/providers/codex/credential`,HG=`/api/cmmd/providers/claude/credential`;function lqe(e){return P({method:`GET`,path:VG},e)}function uqe(e){return P({method:`DELETE`,path:VG},e)}function dqe(e){return P({method:`GET`,path:HG},e)}function fqe(e){return P({method:`DELETE`,path:HG},e)}function pqe(e,t){return P({method:`DELETE`,path:`/api/cmmd/providers/accounts/${encodeURIComponent(String(t))}`},e)}function mqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function hqe(e,t,n,r,i){return P({method:`PUT`,path:mqe(t,n,r),body:i},e)}function gqe(e){return(t,n,r,i)=>hqe(e,t,n,r,i)}function _qe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function vqe(e,t,n,r,i){return P({method:`POST`,path:_qe(t,n,r),body:i},e)}function yqe(e){return(t,n,r,i)=>vqe(e,t,n,r,i)}function bqe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function xqe(e){let t={action:e.action,...e.operationId===void 0?{}:{operationId:e.operationId},expectedRevision:e.expectedRevision,force:e.force};try{return await e.submit(t)}catch(n){if(!bqe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function Sqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function Cqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function wqe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function UG(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var Tqe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},Eqe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},WG=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function GG(e,t){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let n=e[t];if(Array.isArray(n))return n}return[]}function KG(e,t){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let n=e[t];if(Array.isArray(n))return n}return[]}function qG(e,t){let n={};return e?.organizationId&&(n.orgId=e.organizationId),t!==void 0&&(n.taskId=String(t)),Object.keys(n).length>0?n:void 0}function JG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():null}function Dqe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function YG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():typeof n==`number`&&Number.isFinite(n)?String(n):null}function XG(e){let t=`${JG(e,`firstName`)??``} ${JG(e,`lastName`)??``}`.trim()||JG(e,`username`)||JG(e,`email`)||`Unknown`;return{id:YG(e,`userId`)??YG(e,`id`)??t,name:t,email:JG(e,`email`),role:JG(e,`role`),avatarUrl:JG(e,`profileImage`)??JG(e,`avatar`)}}function Oqe(e){let t=QG(e,`user`)??e;return XG({...typeof t==`object`&&t?t:{},userId:YG(e,`userId`)??YG(t,`id`),role:JG(e,`role`)})}function ZG(e){let t=JG(e,`authorFirstName`)??``,n=JG(e,`authorLastName`)??``,r=JG(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:YG(e,`id`)??``,status:i,body:JG(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:JG(e,`authorProfileImage`)??null,createdAt:JG(e,`createdAt`)??``,updatedAt:JG(e,`updatedAt`)??JG(e,`createdAt`)??``,canEdit:Dqe(e,`canEdit`)??!1}}function kqe(e,t,n){let r=Array.isArray(e.data)?e.data.map(ZG):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function QG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var Aqe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function $G(e,t){let n=QG(e,t);if(!n)return null;for(let e of Aqe){let t=JG(n,e);if(t)return t}return null}function eK(e,t){let n=QG(e,t);return n?YG(n,`id`):null}function tK(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function jqe(e){let t={...e,id:YG(e,`id`)??e.id,title:e.title??JG(e,`name`)??``},n=YG(e,`workspaceId`)??YG(e,`workspace_id`)??eK(e,`workspace`)??e.workspaceId??null;return n!==null||tK(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??JG(e,`start_date`)??null,endDate:e.endDate??JG(e,`end_date`)??null}:t}function nK(e){let t=e.ownerAvatarUrl??JG(e,`owner_avatar_url`)??JG(e,`ownerProfileImage`)??JG(e,`owner_profile_image`)??JG(e,`ownerImage`)??JG(e,`owner_image`)??JG(e,`ownerImageUrl`)??JG(e,`owner_image_url`)??JG(e,`createdByAvatarUrl`)??JG(e,`created_by_avatar_url`)??JG(e,`createdByProfileImage`)??JG(e,`created_by_profile_image`)??$G(e,`owner`)??$G(e,`createdBy`)??$G(e,`created_by`)??null,n={...e,id:YG(e,`id`)??e.id},r=YG(e,`campaignId`)??YG(e,`campaign_id`)??eK(e,`campaign`)??e.campaignId??null;(r!==null||tK(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??JG(e,`campaignTitle`)??JG(e,`campaign_title`)??JG(QG(e,`campaign`),`title`)??JG(QG(e,`campaign`),`name`)??null;(i!==null||tK(e,`campaignTitle`))&&(n.campaignTitle=i);let a=YG(e,`workspaceId`)??YG(e,`workspace_id`)??eK(e,`workspace`)??e.workspaceId??null;(a!==null||tK(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??JG(e,`workspace_name`)??JG(QG(e,`workspace`),`name`)??null;(o!==null||tK(e,`workspaceName`))&&(n.workspaceName=o);let s=JG(e,`workspaceIconUrl`)??JG(e,`workspace_icon_url`)??JG(QG(e,`workspace`),`iconUrl`)??null;(s!==null||tK(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=YG(e,`ownerId`)??YG(e,`owner_id`)??eK(e,`owner`)??e.ownerId??null;(c!==null||tK(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??JG(e,`owner_name`)??JG(QG(e,`owner`),`name`)??null;(l!==null||tK(e,`ownerName`))&&(n.ownerName=l),(t!==null||tK(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=YG(e,`teamId`)??YG(e,`team_id`)??eK(e,`team`)??e.teamId??null;(u!==null||tK(e,`teamId`))&&(n.teamId=u);let d=e.teamName??JG(e,`team_name`)??JG(QG(e,`team`),`name`)??null;(d!==null||tK(e,`teamName`))&&(n.teamName=d);let f=e.startDate??JG(e,`start_date`)??null;(f!==null||tK(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??JG(e,`target_end_date`)??null;return(p!==null||tK(e,`targetEndDate`))&&(n.targetEndDate=p),n}function rK(e){if(Array.isArray(e))return e;if(e&&typeof e==`object`){let t=e;if(Array.isArray(t.items))return t.items;if(Array.isArray(t.results))return t.results}return[]}function Mqe(e){return rK(e).flatMap(e=>{let t=e,n=typeof t.id==`number`?t.id:null,r=typeof t.name==`string`?t.name:null;if(n===null||r===null)return[];let i=e=>typeof t[e]==`string`?t[e]:null;return[{id:n,name:r,startDate:i(`startDate`),endDate:i(`endDate`),status:i(`status`)}]})}function Nqe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function iK(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function aK(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new Tqe(e.message):new Eqe(e.message,e.status??502):e}}var oK=class e{cfg;putThreadDisposition;postThreadArchive;commentEditIdempotencyKeys=new Map;commentDeleteIdempotencyKeys=new Map;constructor(e={}){let t=e.forgeOrigin===void 0,n=e.forgeOrigin??`http://localhost:13773`;this.cfg={resolveUrl:t?or:e=>`${n}${e}`,maxRetries:e.maxRetries??3,onAuthExpired:e.onAuthExpired??hr,...t?{resolveBearerToken:()=>mr()?.bearerToken??null}:{}},this.putThreadDisposition=gqe(this.cfg),this.postThreadArchive=yqe(this.cfg)}async getTask(e){return aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}`},this.cfg))}async getForgeTaskDetail(e){return P({method:`GET`,path:`/api/cmmd/tasks/${e}`},this.cfg)}async searchTasks(e){let t={q:e.q};return e.status&&(t.status=e.status),e.limit!==void 0&&(t.limit=e.limit),e.projectId&&(t.projectId=e.projectId),(await aK(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await aK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await aK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return aK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return aK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return aK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await aK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return aK(P({method:`GET`,path:`/api/cmmd/organizations/${e}/members`},this.cfg))}async getWebSocketToken(e){return P({method:`GET`,path:`/api/cmmd/ws-token`,...e?.signal===void 0?{}:{signal:e.signal}},this.cfg)}async getProjectComments(e,t){let n={};return t?.organizationId&&(n.organizationId=t.organizationId),(await P({method:`GET`,path:`/api/cmmd/projects/${e}/comments`,query:n},this.cfg))?.comments??[]}async getProjectLink(e){return P({method:`GET`,path:`/.well-known/forge/project-link`,query:{environmentId:e.environmentId,projectId:e.projectId,cwd:e.cwd}},this.cfg)}async listProjectLinks(){return P({method:`GET`,path:`/.well-known/forge/project-links`,suppressBearerToken:!0},this.cfg)}async listProjectContextLinks(e){let t={};e.environmentId&&(t.forgeEnvironmentId=e.environmentId),e.projectId&&(t.forgeProjectId=e.projectId),e.githubRepoFullName&&(t.githubRepoFullName=e.githubRepoFullName),e.cmmdOrganizationId&&(t.cmmdOrganizationId=e.cmmdOrganizationId);let n=await P({method:`GET`,path:`/.well-known/forge/cmmd/project-links`,query:t},this.cfg),r=rn(_ne)(n);return r._tag===`Some`?r.value.links:[]}async listCmmdWorkspaces(){return rK(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return Mqe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return rK(await P({method:`GET`,path:`/.well-known/forge/cmmd/projects`,query:{campaignId:e.campaignId}},this.cfg))}async updateTask(e,t){let n={taskId:e};return t.title!==void 0&&(n.title=t.title),t.description!==void 0&&(n.description=t.description),t.status!==void 0&&(n.status=t.status),t.priority!==void 0&&(n.priority=t.priority),t.dueDate!==void 0&&(n.dueDate=t.dueDate),t.assigneeId!==void 0&&(n.assigneeId=t.assigneeId),t.labels!==void 0&&(n.labels=t.labels),aK(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return aK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e.entityId,content:e.content}},this.cfg))}async updateComment(e,t,n){let r=`${e}:${t}:${n}`,i=this.commentEditIdempotencyKeys.get(r)??crypto.randomUUID();this.commentEditIdempotencyKeys.set(r,i);let a=await aK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${t}`,body:{content:n,idempotencyKey:i}},this.cfg));return this.commentEditIdempotencyKeys.delete(r),a}async deleteComment(e,t){let n=`${e}:${t}`,r=this.commentDeleteIdempotencyKeys.get(n)??crypto.randomUUID();this.commentDeleteIdempotencyKeys.set(n,r),await aK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${t}`,body:{idempotencyKey:r}},this.cfg)),this.commentDeleteIdempotencyKeys.delete(n)}async createProjectComment(e,t){let n=(await P({method:`POST`,path:`/api/cmmd/projects/${e}/comments`,body:{content:t.content,organizationId:t.organizationId??null}},this.cfg))?.comment;if(!n)throw new gr({kind:`server`,message:`CMMD did not return the created project comment.`});return n}async updateProject(e,t){let n={};for(let e of ene){let r=t[e];r!==void 0&&(n[e]=sne[e]===`nullableId`?iK(r):r)}await P({method:`PATCH`,path:`/api/cmmd/projects/${e}`,body:n},this.cfg)}async setProjectLink(e){await P({method:`POST`,path:`/.well-known/forge/project-link`,body:e},this.cfg)}async deleteProjectLink(e){await P({method:`DELETE`,path:`/.well-known/forge/project-link`,query:{environmentId:e.environmentId,projectId:e.projectId,cwd:e.cwd,...e.cmmdProjectId?{cmmdProjectId:e.cmmdProjectId}:{}}},this.cfg)}async createCmmdProject(e){return P({method:`POST`,path:`/.well-known/forge/cmmd/projects`,body:e},this.cfg)}async ensureGitHubProjectContext(e){return P({method:`POST`,path:`/.well-known/forge/cmmd/github-project-contexts/ensure`,body:e},this.cfg)}async createBrainDoc(e){return P({method:`POST`,path:`/api/cmmd/brain-docs`,body:e},this.cfg)}async uploadTaskAttachment(e,t){let n=new FormData;return n.append(`file`,t),aK(P({method:`POST`,path:`/api/cmmd/tasks/${e}/attachments`,form:n},this.cfg))}async archiveTask(e){await P({method:`POST`,path:`/api/cmmd/tasks/${e}/archive`},this.cfg)}async unarchiveTask(e){await P({method:`POST`,path:`/api/cmmd/tasks/${e}/unarchive`},this.cfg)}async getProfile(){return P({method:`GET`,path:`/api/cmmd/profile`},this.cfg)}async getUsageSummary(e){return P({method:`GET`,path:`/api/cmmd/usage/summary`,query:{sinceDay:e.sinceDay,untilDay:e.untilDay,timeZone:e.timeZone,...e.resolution===`hour`?{resolution:e.resolution,sinceTime:e.sinceTime,untilTime:e.untilTime}:{}}},this.cfg)}getBilling(e){return sqe(this.cfg,e)}getBillingSeries(e){return cqe(this.cfg,e)}async getBootstrap(){return P({method:`GET`,path:`/api/cmmd/bootstrap`},this.cfg)}async getForgeAccountPreferences(){return P({method:`GET`,path:`/api/cmmd/account/preferences`},this.cfg)}async updateForgeAccountPreferences(e){return P({method:`PATCH`,path:`/api/cmmd/account/preferences`,body:e},this.cfg)}async getOrgProviderPolicy(){return P({method:`GET`,path:`/api/cmmd/org/provider-policy`},this.cfg)}async listSavedDataViews(e){return P({method:`GET`,path:`/api/cmmd/saved-views`,query:{surface:e.surface,projectId:e.projectId}},this.cfg)}async createSavedDataView(e){return P({method:`POST`,path:`/api/cmmd/saved-views`,body:e},this.cfg)}async importSavedDataView(e){return P({method:`POST`,path:`/api/cmmd/saved-views/import`,body:e},this.cfg)}async updateSavedDataView(e,t){return P({method:`PATCH`,path:`/api/cmmd/saved-views/${encodeURIComponent(e)}`,body:t},this.cfg)}async deleteSavedDataView(e,t){return P({method:`DELETE`,path:`/api/cmmd/saved-views/${encodeURIComponent(e)}`,query:t},this.cfg)}async getDeviceRegistry(e){return P({method:`GET`,path:`/api/cmmd/devices`,...e?.projectId===void 0?{}:{query:{projectId:String(e.projectId)}},...e?.signal===void 0?{}:{signal:e.signal}},this.cfg)}async registerDevice(e){return P({method:`POST`,path:`/api/cmmd/devices/register`,body:e},this.cfg)}async grantRuntimeAccess(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/access-grants`,body:t},this.cfg)}async revokeRuntimeAccess(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/access-grants/${encodeURIComponent(String(t))}/revoke`},this.cfg)}async issueRelayControlRoute(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/relay-routes`,body:t},this.cfg)}async issueRelayActionGrant(e,t){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/relay-action-grants`,body:t},this.cfg)}async getRuntimeInventory(e){let t={...e?.projectId===void 0?{}:{projectId:String(e.projectId)},...e?.allWorkspaces===!0?{allWorkspaces:`true`}:{}};return P({method:`GET`,path:`/api/cmmd/runtime-inventory`,...Object.keys(t).length>0?{query:t}:{}},this.cfg)}async getRuntimeDiagnostics(e){return P({method:`GET`,path:`/api/cmmd/runtime-diagnostics/v2/runtimes/${encodeURIComponent(e)}`},this.cfg)}async getCloudProjectLifecyclePreflight(e){return(await P({method:`GET`,path:`/api/cmmd/forge-cloud-projects/${encodeURIComponent(String(e))}/lifecycle-preflight`},this.cfg)).preflight}async replaceRuntimeInventory(e,t){return P({method:`PUT`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/inventory`,body:t},this.cfg)}static PROVIDER_ACCOUNTS_PATH=`/api/cmmd/providers/accounts`;static PROVIDER_USAGE_PATH=`/api/cmmd/providers/usage`;static PROVIDER_USAGE_REFRESH_PATH=`/api/cmmd/providers/usage/refresh`;provisionAuthRuntime(){return rqe(this.cfg)}getAuthRuntimeState(){return iqe(this.cfg)}destroyAuthRuntime(){return aqe(this.cfg)}connectAuthRuntime(){return oqe(this.cfg)}getUserCodexCredential(){return lqe(this.cfg)}disconnectUserCodexCredential(){return uqe(this.cfg)}getUserClaudeCredential(){return dqe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(e){return pqe(this.cfg,e)}async setProviderAccountDefault(t){return P({method:`PUT`,path:`${e.PROVIDER_ACCOUNTS_PATH}/default`,body:{provider:t.provider,provider_account_id:t.providerAccountId}},this.cfg)}async getProviderUsage(){return P({method:`GET`,path:e.PROVIDER_USAGE_PATH},this.cfg)}async refreshProviderUsage(t,n){return P({method:`POST`,path:e.PROVIDER_USAGE_REFRESH_PATH,body:{provider:t,providerAccountId:n}},this.cfg)}disconnectUserClaudeCredential(){return fqe(this.cfg)}async getClaudeRuntimeReadiness(e){return P({method:`GET`,path:`/api/cmmd/providers/claude/runtime-readiness/${encodeURIComponent(e)}`},this.cfg)}async appendRuntimeThreadEvents(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/runtimes/${encodeURIComponent(e)}/threads/${encodeURIComponent(t)}/events`,body:n},this.cfg)}async getRuntimeThreadReplica(e,t){return P({method:`GET`,path:`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}`},this.cfg)}renameCloudEnvironment(e,t){return Sqe(this.cfg,e,t)}renameDevice(e,t){return Cqe(this.cfg,e,t)}revokeDevice(e){return wqe(this.cfg,e)}static SIM_PATH=`/api/cmmd/sim-host`;static simScope(e){return e?.orgId===void 0?``:`?orgId=${encodeURIComponent(String(e.orgId))}`}async listSimHosts(t){return P({method:`GET`,path:`${e.SIM_PATH}/hosts${e.simScope(t)}`},this.cfg)}async getSimLease(t){let n=new URLSearchParams({forgeEnvironmentId:t.forgeEnvironmentId,threadId:t.threadId,...t.orgId===void 0?{}:{orgId:String(t.orgId)}});return P({method:`GET`,path:`${e.SIM_PATH}/leases?${n.toString()}`},this.cfg)}async claimSimLease(t){return P({method:`POST`,path:`${e.SIM_PATH}/leases${e.simScope(t)}`,body:{hostId:t.hostId,forgeEnvironmentId:t.forgeEnvironmentId,threadId:t.threadId,ttlMs:t.ttlMs}},this.cfg)}async renewSimLease(t){return P({method:`POST`,path:`${e.SIM_PATH}/leases/${encodeURIComponent(String(t.leaseId))}/renew${e.simScope(t)}`,body:{generation:t.generation,rowVersion:t.rowVersion,ttlMs:t.ttlMs}},this.cfg)}async releaseSimLease(t){await P({method:`POST`,path:`${e.SIM_PATH}/leases/${encodeURIComponent(String(t.leaseId))}/release${e.simScope(t)}`,body:{generation:t.generation,rowVersion:t.rowVersion}},this.cfg)}async listCampaigns(e){let t={};return e?.orgId&&(t.orgId=e.orgId),e?.allWorkspaces&&(t.allWorkspaces=`true`),GG(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(jqe)}async getCampaign(e){return P({method:`GET`,path:`/api/cmmd/campaigns/${e}`},this.cfg)}async createCampaign(e){return P({method:`POST`,path:`/api/cmmd/campaigns`,body:e},this.cfg)}async updateCampaign(e,t){return P({method:`PUT`,path:`/api/cmmd/campaigns/${e}`,body:t},this.cfg)}async deleteCampaign(e){await P({method:`DELETE`,path:`/api/cmmd/campaigns/${e}`},this.cfg)}async listProjects(e){let t={};return e?.campaignId&&(t.campaignId=e.campaignId),e?.orgId&&(t.orgId=e.orgId),e?.allWorkspaces&&(t.allWorkspaces=`true`),GG(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(nK)}async listTasks(e){let t={};return e?.projectId&&(t.projectId=e.projectId),e?.status&&(t.status=e.status),P({method:`GET`,path:`/api/cmmd/tasks`,query:t},this.cfg)}async getProject(e){return nK(await P({method:`GET`,path:`/api/cmmd/projects/${e}`},this.cfg))}async getProjectMembers(e){let t=await P({method:`GET`,path:`/api/cmmd/projects/${e}/members`},this.cfg);return Array.isArray(t)?t.map(XG):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(Oqe):[]}async addProjectMember(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/members`,body:t},this.cfg)}async listProjectAgentMembers(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/agent-members`},this.cfg)}async createProjectAgentMember(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members`,body:t},this.cfg)}async renameProjectAgentMember(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/agent-members/${t}`,body:n},this.cfg)}async retireProjectAgentMember(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/${t}/retire`,body:n},this.cfg)}async updateProjectAgentMemberAvatar(e,t,n){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/agent-members/${t}/avatar`,body:n},this.cfg)}async listProjectAgentMemberInstances(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/agent-members/${t}/instances`},this.cfg)}async previewProjectAgentMemberConsolidation(e){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/consolidation/preview`},this.cfg)}async applyProjectAgentMemberConsolidation(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/agent-members/consolidation/apply`,body:t},this.cfg)}async setProjectTaskAssignment(e,t,n){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/tasks/${t}/assignment`,body:n},this.cfg)}async getProjectUpdates(e,t){let n=t?.page??1,r=t?.limit??10;return kqe(await P({method:`GET`,path:`/api/cmmd/projects/${e}/updates`,query:{page:n,limit:r},unwrapEnvelope:!1},this.cfg),n,r)}async createProjectUpdate(e,t){return ZG(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return ZG(await P({method:`PATCH`,path:`/api/cmmd/projects/${e}/updates/${t}`,body:n},this.cfg))}async deleteProjectUpdate(e,t){await P({method:`DELETE`,path:`/api/cmmd/projects/${e}/updates/${t}`},this.cfg)}async listProjectMilestones(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/milestones`},this.cfg)}async createProjectMilestone(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/milestones`,body:t},this.cfg)}async updateProjectMilestone(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/milestones/${t}`,body:n},this.cfg)}async deleteProjectMilestone(e,t){await P({method:`DELETE`,path:`/api/cmmd/projects/${e}/milestones/${t}`},this.cfg)}async improveProjectContent(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/content/readability`,body:t},this.cfg)}async listProjectBoard(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/board`},this.cfg)}async createProjectTaskDraft(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts`,body:t},this.cfg)}async getProjectTaskDraft(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/task-drafts/${t}`},this.cfg)}async updateProjectTaskDraft(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/task-drafts/${t}`,body:n},this.cfg)}async previewProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/preview`,body:n},this.cfg)}async commitProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/commit`,body:n},this.cfg)}async discardProjectTaskDraft(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/task-drafts/${t}/discard`,body:n},this.cfg)}async getProjectTaskWorkflow(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/task-workflow`},this.cfg)}async updateProjectTaskWorkflow(e,t){return P({method:`PUT`,path:`/api/cmmd/projects/${e}/task-workflow`,body:t},this.cfg)}async getProjectLeadPlan(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/plan`},this.cfg)}async activateProjectLeadAutomaticStaffing(e){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/authority/activate`,body:{}},this.cfg)}async getProjectLeadReadiness(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/readiness`},this.cfg)}async getProjectLeadCapabilities(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/capabilities`},this.cfg)}async getProjectLeadSummary(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/summary`},this.cfg)}async getProjectLeadDetail(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/detail`},this.cfg)}async getProjectLeadBriefing(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/briefing`},this.cfg)}async decideProjectLeadApproval(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/approvals/${t}/decision`,body:n},this.cfg)}async listProjectLeadEvents(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/events`,...t?{query:{...t.afterEventId===void 0?{}:{afterEventId:String(t.afterEventId)},...t.latest===void 0?{}:{latest:String(t.latest)},...t.limit===void 0?{}:{limit:String(t.limit)}}}:{}},this.cfg)}async explainProjectLead(e){return P({method:`GET`,path:`/api/cmmd/projects/${e}/project-lead/explain`},this.cfg)}async pauseProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/pause`,body:t},this.cfg)}async resumeProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/resume`,body:t},this.cfg)}async reserveProjectLeadTask(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/tasks/${t}/reservations`,body:n},this.cfg)}async releaseProjectLeadReservation(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/reservations/${t}/release`,body:n},this.cfg)}async reconcileProjectLead(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/reconcile`,body:t},this.cfg)}async resolveProjectLeadAttention(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/project-lead/attention/${t}/resolve`,body:n},this.cfg)}async listCenterBoard(e){let t={};return e?.status&&(t.status=e.status),e?.workspaceId&&(t.workspaceId=String(e.workspaceId)),e?.campaignId&&(t.campaignId=String(e.campaignId)),e?.ownerId&&(t.ownerId=String(e.ownerId)),e?.includeArchived!==void 0&&(t.includeArchived=e.includeArchived),e?.q&&(t.q=e.q),P({method:`GET`,path:`/api/cmmd/work-items/board`,query:t},this.cfg)}async listForgeAutomationPresets(){return KG(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return KG(await P({method:`GET`,path:`/api/cmmd/automations/user/rules`},this.cfg),`rules`)}async createUserForgeAutomationRule(e){return P({method:`POST`,path:`/api/cmmd/automations/user/rules`,body:e},this.cfg)}async updateUserForgeAutomationRule(e,t){return P({method:`PATCH`,path:`/api/cmmd/automations/user/rules/${e}`,body:t},this.cfg)}async listUserForgeAutomationRuns(e){return KG(await P({method:`GET`,path:`/api/cmmd/automations/user/rules/${e}/runs`},this.cfg),`runs`)}async startUserForgeAutomationRun(e,t){return P({method:`POST`,path:`/api/cmmd/automations/user/rules/${e}/runs`,body:t},this.cfg)}async listForgeAutomationRules(e,t){let n=qG(t);return KG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/projects/${e}/rules`,body:t,...r?{query:r}:{}},this.cfg)}async updateForgeAutomationRule(e,t,n,r){let i=qG(r);return P({method:`PATCH`,path:`/api/cmmd/automations/projects/${e}/rules/${t}`,body:n,...i?{query:i}:{}},this.cfg)}async listForgeAutomationRuns(e,t){let n=qG(t,t?.taskId);return KG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=qG(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=qG(r);return P({method:`POST`,path:`/api/cmmd/automations/projects/${e}/tasks/${t}/runs`,body:n,...i?{query:i}:{}},this.cfg)}async retryForgeAutomationRun(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/retry`,body:t,...r?{query:r}:{}},this.cfg)}async cancelForgeAutomationRun(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/cancel`,body:t,...r?{query:r}:{}},this.cfg)}async approveForgeAutomationEscalation(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/escalations/approve`,body:t,...r?{query:r}:{}},this.cfg)}async rejectForgeAutomationEscalation(e,t,n){let r=qG(n);return P({method:`POST`,path:`/api/cmmd/automations/runs/${e}/escalations/reject`,body:t,...r?{query:r}:{}},this.cfg)}async createProjectBoardTask(e,t){let n={title:t.title};return t.description!==void 0&&(n.description=t.description),t.priority!==void 0&&(n.priority=t.priority),t.status!==void 0&&(n.status=t.status),t.workflowStageId!==void 0&&(n.workflowStageId=t.workflowStageId),t.assignee!==void 0&&(n.assignee=t.assignee),t.dueDate!==void 0&&(n.dueDate=t.dueDate),t.workItemType!==void 0&&(n.workItemType=t.workItemType),t.parentTaskId!==void 0&&(n.parentTaskId=t.parentTaskId),t.milestoneId!==void 0&&(n.milestoneId=t.milestoneId),t.dependsOn!==void 0&&(n.dependsOn=t.dependsOn),P({method:`POST`,path:`/api/cmmd/projects/${e}/board`,body:n},this.cfg)}async createCenterBoardTask(e){let t={title:e.title,projectId:e.projectId};return e.description!==void 0&&(t.description=e.description),e.priority!==void 0&&(t.priority=e.priority),e.status!==void 0&&(t.status=e.status),e.assignee!==void 0&&(t.assignee=e.assignee),e.dueDate!==void 0&&(t.dueDate=e.dueDate),e.workItemType!==void 0&&(t.workItemType=e.workItemType),e.parentTaskId!==void 0&&(t.parentTaskId=e.parentTaskId),e.milestoneId!==void 0&&(t.milestoneId=e.milestoneId),e.dependsOn!==void 0&&(t.dependsOn=e.dependsOn),P({method:`POST`,path:`/api/cmmd/work-items/board`,body:t},this.cfg)}async submitFeedback(e){let t={type:e.type,title:e.title,source:e.source};return e.description!==void 0&&(t.description=e.description),e.priority!==void 0&&(t.priority=e.priority),e.senderName!==void 0&&(t.senderName=e.senderName),P({method:`POST`,path:`/api/cmmd/feedback`,body:t},this.cfg)}async updateProjectBoardTask(e,t,n){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}`,body:n},this.cfg)}async updateCenterBoardTask(e,t){return P({method:`PATCH`,path:`/api/cmmd/work-items/board/${e}`,body:t},this.cfg)}async moveCenterBoardTask(e,t){let n={toStatus:t.toStatus};return t.beforeTaskId!==void 0&&(n.beforeTaskId=t.beforeTaskId),t.afterTaskId!==void 0&&(n.afterTaskId=t.afterTaskId),P({method:`PATCH`,path:`/api/cmmd/work-items/board/${e}/move`,body:n},this.cfg)}async moveProjectBoardTask(e,t,n){let r={toStatus:n.toStatus};return n.toStageId!==void 0&&(r.toStageId=n.toStageId),n.beforeTaskId!==void 0&&(r.beforeTaskId=n.beforeTaskId),n.afterTaskId!==void 0&&(r.afterTaskId=n.afterTaskId),P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}/move`,body:r},this.cfg)}async archiveProjectBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/archive`},this.cfg)}async unarchiveProjectBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/unarchive`},this.cfg)}async updateProjectBoardTaskStatus(e,t,n,r){return P({method:`PATCH`,path:`/api/cmmd/projects/${e}/board/${t}/status`,body:{status:n,...r?{workflowStageId:r}:{}}},this.cfg)}async spawnForgeThreadFromBoardTask(e,t){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/spawn-forge-thread`,body:{}},this.cfg)}async listTaskExecutionOptions(e,t){return P({method:`GET`,path:`/api/cmmd/projects/${e}/board/${t}/execution-options`},this.cfg)}async createTaskWorkSession(e,t,n){return P({method:`POST`,path:`/api/cmmd/projects/${e}/board/${t}/work-sessions`,body:n},this.cfg)}async listProjectWorkSessions(e,t={}){return P({method:`GET`,path:`/api/cmmd/projects/${e}/work-sessions`,query:t},this.cfg)}async getWorkSession(e){return P({method:`GET`,path:`/api/cmmd/work-sessions/${e}`},this.cfg)}async updateWorkSessionStatus(e,t){return P({method:`PATCH`,path:`/api/cmmd/work-sessions/${e}`,body:{status:t}},this.cfg)}async attachWorkSessionThread(e,t){return P({method:`POST`,path:`/api/cmmd/work-sessions/${e}/threads`,body:t},this.cfg)}async listTaskConversations(e,t={}){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/conversations`,query:UG(t)},this.cfg)}async linkTaskConversation(e,t){return P({method:`POST`,path:`/api/cmmd/tasks/${e}/conversations`,body:t},this.cfg)}async getTaskHistory(e){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/history`},this.cfg)}async upsertTaskPullRequest(e,t){return P({method:`PUT`,path:`/api/cmmd/tasks/${e}/pull-requests`,body:t},this.cfg)}postPullRequest(e,t){return P({method:`POST`,path:`/api/cmmd/pull-requests/${e}`,body:t},this.cfg)}async listPullRequests(e){return this.postPullRequest(`list`,e)}async getPullRequestListStats(e){return this.postPullRequest(`list-stats`,e)}async getPullRequestDetail(e){return this.postPullRequest(`detail`,e)}async getPullRequestActivity(e){return this.postPullRequest(`activity`,e)}async getPullRequestDiff(e){return this.postPullRequest(`diff`,e)}async getPullRequestDiffFileContents(e){return this.postPullRequest(`diff-file-contents`,e)}async getPullRequestThreadComments(e){return this.postPullRequest(`thread/comments`,e)}async getPullRequestReviewerCandidates(e){return this.postPullRequest(`reviewer-candidates`,e)}async runPullRequestAction(e){return this.postPullRequest(`action`,e)}async createPullRequestComment(e){return this.postPullRequest(`comment`,e)}async updatePullRequest(e){return this.postPullRequest(`update`,e)}async updatePullRequestComment(e){return this.postPullRequest(`comment/update`,e)}async submitPullRequestReview(e){return this.postPullRequest(`review`,e)}async replyToPullRequestThread(e){return this.postPullRequest(`thread/reply`,e)}async setPullRequestThreadResolution(e){return this.postPullRequest(`thread/resolution`,e)}async requestPullRequestReviewers(e){return this.postPullRequest(`reviewers`,e)}async setPullRequestReaction(e){return this.postPullRequest(`reaction`,e)}async getTaskConversation(e,t,n={}){return P({method:`GET`,path:`/api/cmmd/tasks/${e}/conversations/${encodeURIComponent(t)}`,query:UG(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new WG(`createSubtask`)}async createBoardTask(e){throw new WG(`createBoardTask`)}async createProject(e){let t={};for(let[n,r]of Object.entries(e))r!=null&&(t[n]=r);return e.campaignId!==void 0&&e.campaignId!==null&&(t.campaignId=iK(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=iK(e.organizationId)),Nqe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:iK(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=iK(t.targetCampaignId)),t.dryRun!==void 0&&(n.dryRun=t.dryRun),P({method:`POST`,path:`/api/cmmd/projects/${e}/move`,body:n},this.cfg)}async uploadBrainDoc(e,t){throw new WG(`uploadBrainDoc`)}};function sK(e){return new oK(e)}var cK=new oK({onAuthExpired:hr}),lK=class extends $t(`BootstrapHttpError`){},uK=e=>nee(e,`BootstrapHttpError`);function dK(e){return typeof e!=`object`||!e?!1:!!(uK(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function Pqe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function fK(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new lK({message:`${t} returned a non-JSON response (${Pqe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function pK(e={resolveUrl:or}){let t=mr()?.bearerToken;return t?{...e,bearerToken:t}:e}var mK=null,hK=null,gK=null,_K=new Set,vK=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function Fqe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();kG({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),RG({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function yK(){if(typeof window>`u`||gK)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(gK=e(e=>{mK=null,hK=null,e.sessionLifecycle.status!==`ready`&&kG(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{AG(e,{route:`desktop-auth-session-expired`})})}))}function Iqe(){return Jl(new URL(window.location.href))}function bK(){let e=new URL(window.location.href),t=ple(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function Lqe(){return kK(async()=>{let e=or(`/api/auth/session`),t=async()=>{let t=await fetch(e,ur({credentials:`include`}));if(!t.ok)throw new lK({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return fK(t,e)},n=await t();return!n.authenticated&&n.auth.sessionMethods.length===1&&n.auth.sessionMethods[0]===`proxy-asserted`&&typeof window<`u`&&!window.desktopBridge&&e.startsWith(`https://`)&&await Mne()?t():n})}async function Rqe(e,t){return await e.text()||t}var xK=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function zqe(e){return kK(async()=>{let t={credential:e},n=or(`/api/auth/bootstrap`),r=await fetch(n,ur({body:JSON.stringify(t),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new lK({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return fK(r,n)})}function SK(e){return new URL(e,window.location.origin).toString()}function CK(e){let t=(e?.primaryMode===`cloud`?null:e)?.bootstrapToken?.trim();return t&&t.length>0?t:null}function wK(){return typeof window>`u`?null:CK(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function Bqe(){return typeof window>`u`?!1:Nne()===`session-expired`}function TK(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(vK),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function EK(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(vK);return}window.sessionStorage.setItem(vK,JSON.stringify([...e]))}catch{}}function Vqe(){let e=wK();if(!e)return;let t=new Set(TK());t.add(e),EK(t)}function Hqe(e){return TK().has(e)}function DK(){let e=wK();if(!e){EK(new Set);return}let t=new Set(TK());t.delete(e),EK(t)}async function OK(){let e=SK(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?fK(t,e):null}async function Uqe(e){if(typeof window>`u`)return;let t=CK(e);if(!t||Bqe()||_K.has(t)||Hqe(t))return;if((await OK().catch(()=>null))?.authenticated){_K.add(t);return}let n=SK(`/api/auth/bootstrap`),r=await fetch(n,{body:JSON.stringify({credential:t}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`});if(!r.ok){if(r.status===401)return;throw new lK({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await fK(r,n),_K.add(t)}async function Wqe(){let e=await Lqe();if(e.authenticated)return e;let t=mr();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await OK().catch(()=>null);return n?.authenticated?n:e}var Gqe=new Set([404,502,503,504]),Kqe=15e3,qqe=500;function Jqe(e){mr()?.source===`paired-bearer`&&dK(e)&&dr(`http`)}async function kK(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(Jqe(e),!Xqe(e))throw e;if(Date.now()-t>=Kqe)throw AG(e,{route:`bootstrap-retry-exhausted`}),e;await Yqe(qqe)}}function Yqe(e){return new Promise(t=>{setTimeout(t,e)})}function Xqe(e){return uK(e)?Gqe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function Zqe(e,t){return e.sessionLifecycle.status===`ready`?e.sessionLifecycle.principalId!==t.id||e.cmmd.identity?.id!==t.id?`desktop-principal-mismatch`:null:`desktop-session-required`}async function Qqe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return Zqe(await t(),e)}catch(e){return AG(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function $qe(e,t){return kG(null),jne(t),await sr().catch(e=>{AG(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:Pne(t)??`Forge Desktop requires CMMD authentication.`}}async function eJe(){let e=await Wqe();if(e.authenticated){if(e.cmmdIdentity){let t=await Qqe(e.cmmdIdentity);return t?(fr(),$qe(e,t)):(fr(),Fqe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function tJe(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);hK=null,DK(),await zqe(t),mK=null,bK()}function AK(){DK(),hK=null,mK=null}async function jK(e,t,n){let r=e.trim();if(!r)throw Error(`CMMD (Command) OAuth did not return an access token.`);let i=n?.refreshToken?.trim(),a=n?.mcpToken?.trim(),o=or(`/api/auth/bootstrap/command`),s=await fetch(o,ur({body:JSON.stringify({accessToken:r,...i?{refreshToken:i}:{},...a?{mcpToken:a}:{},...t===void 0?{}:{user:t}}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!s.ok)throw new lK({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await fK(s,o),AK()}async function nJe(){let e=or(`/api/auth/ws-token`),t=await fetch(e,ur({credentials:`include`,method:`POST`}));if(!t.ok)throw new lK({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return fK(t,e)}async function rJe(e){let t=await nJe(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function iJe(e,t){let n=e?.trim(),r={...n?{label:n}:{},...t?{role:t}:{}},i=or(`/api/auth/pairing-token`),a=await fetch(i,ur({body:JSON.stringify(r),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!a.ok)throw Error(await Rqe(a,`Failed to create pairing credential (${a.status}).`));return fK(a,i)}async function aJe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new lK({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return oJe(await fK(t,e))}function oJe(e){if(!e.authenticated||!e.role)throw Error(`Authenticated session is required.`);let t=sJe(e.cmmdIdentity??null);return t?{displayName:t,email:e.cmmdIdentity?.email??null,avatarUrl:e.cmmdIdentity?.avatarUrl??null,role:e.role,verified:!0,source:`cmmd-identity`}:{displayName:`CMMD identity unavailable`,email:null,avatarUrl:null,role:e.role,verified:!1,source:`fallback`}}function sJe(e){return e&&([e.firstName,e.lastName].map(e=>e?.trim()??``).filter(e=>e.length>0).join(` `)||e.username.trim()||e.email.trim())||null}async function cJe(e){let t=`/api/cmmd/work-intake`,n;try{n=await P({method:`GET`,path:t,allowRetry:!1,...e?{query:{fresh:1}}:{}},pK())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&xK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}if(!n)throw Error(`Invalid response from ${t}`);return n}async function lJe(e={}){return cJe(e.forceFresh===!0)}async function MK(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},pK())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&xK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function uJe(e){try{return await MK(`/api/cmmd/tasks/update`,e)}catch(t){if(t instanceof gr&&(t.kind===`auth`||t.kind===`permission`))throw t;if(t instanceof gr||t instanceof Error)return MK(`/api/command/tasks/update`,e);throw t}}async function dJe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function fJe(){let e=await Promise.allSettled([sr(),dJe()]);kG(null),Vqe(),mK=null,hK=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function pJe(){if(yK(),hK?.status===`authenticated`)return fr(),hK;if(mK)return mK;let e=NK();return mK=e,e.then(e=>(e.status===`authenticated`&&(hK=e),e)).finally(()=>{mK===e&&(mK=null)})}async function NK(){return lr().then(e=>Uqe(e)).then(()=>eJe())}async function mJe(){yK(),mK=null,hK=null;let e=await NK();return e.status===`authenticated`&&(hK=e,fr()),e}async function hJe(e){let t=e.email.trim();if(!t||!e.password)throw Error(`Enter your CMMD email and password.`);let n=or(`/api/auth/cmmd-password/token`),r=await fetch(n,ur({body:JSON.stringify({email:t,password:e.password}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new lK({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await fK(r,n);if(i.authenticated===!0)return AK(),{serverEstablishedSession:!0};if(typeof i.access_token!=`string`||i.access_token.trim().length===0)throw Error(`CMMD login did not return an access token.`);return await jK(i.access_token,i.user,{refreshToken:typeof i.refresh_token==`string`?i.refresh_token:void 0,mcpToken:typeof i.mcp_token==`string`?i.mcp_token:void 0}),{serverEstablishedSession:!1}}var gJe=`/.well-known/forge/environment`,PK=qt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),FK=null;function _Je(e){let t=IK();return t?Qie(Po({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function vJe(){return kK(async()=>{await lr();let e=mr()?.bearerToken,t=or(gJe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new lK({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await fK(n,t);return LK(r),r})}function IK(){return PK.getState().descriptor}function yJe(){return PK(bJe)}function bJe(e){return e.descriptor?.environmentId??null}function xJe(){return PK(SJe)}function SJe(e){return e.descriptor}function CJe(){return PK(wJe)}function wJe(e){return e.descriptor?.deviceRuntimeId??null}function TJe(){return IK()?.deviceRuntimeId??null}function EJe(){return PK(DJe)}function DJe(e){return iae(e.descriptor)}function OJe(){return PK(kJe)}function kJe(e){return aae(e.descriptor)}function LK(e){PK.getState().setDescriptor(e)}function AJe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function RK(){let e=mr();return e?_Je({source:e.source,target:e.target}):null}function jJe(){return MJe()}async function MJe(){let e=await lr(),t=IK();if(t&&AJe(t,e))return Promise.resolve(t);if(t&&LK(null),FK)return FK;let n=vJe();return FK=n,n.finally(()=>{FK===n&&(FK=null)})}var zK=class e{#e;constructor(e){this.#e=e}static namedByCatalog(t){return new e(t.projectId)}get registrationProjectId(){return this.#e}asConfirmationIdentity(){return{registrationProjectId:this.#e}}};function BK(e){return{match:t=>t.present({target:e})}}function VK(){return{match:e=>e.provablyAbsent()}}function NJe(e){return{match:t=>t.unprovable(e)}}var PJe=class e{#e;#t;capacity;constructor(e,t,n){this.#e=e,this.#t=t,this.capacity=n}static fromValidatedBody(t,n,r){return new e(t,n,r)}listRowsForDisplay(){return this.#e}listEnvironmentsForDisplay(){return this.#t}locate(e){if(e.registrationProjectId!==void 0){let t=this.#e.find(t=>t.projectId===e.registrationProjectId);return t===void 0?VK():BK(zK.namedByCatalog(t))}if(e.runtimeId!==void 0){let t=this.#e.find(t=>t.runtime!=null&&t.runtime.runtimeId===e.runtimeId);if(t!==void 0)return BK(zK.namedByCatalog(t))}return this.#e.length===0?VK():NJe(e.runtimeId===void 0?`no identity this catalog can be matched on`:`the catalog holds ${String(this.#e.length)} row(s) that runtime ${e.runtimeId} cannot be ruled out against`)}};function HK(e){let t=e,n=t&&typeof t==`object`&&`data`in t&&t.data?t.data:t,r=n?.projects;if(!Array.isArray(r))throw Error("Forge Cloud returned a project catalog this version cannot read (no `projects` list).");let i=n?.environments;if(!Array.isArray(i))throw Error("Forge Cloud returned an Environment catalog this version cannot read (invalid `environments` list).");if(!r.every(FJe))throw Error(`Forge Cloud returned a project catalog this version cannot read (invalid project entry).`);if(!i.every(IJe))throw Error(`Forge Cloud returned an Environment catalog this version cannot read (invalid Environment entry).`);return PJe.fromValidatedBody(r,i,n?.capacity??null)}function FJe(e){return!WK(e)||typeof e.organizationId!=`number`||typeof e.projectId!=`number`?!1:e.runtime===void 0||e.runtime===null||UK(e.runtime)}function IJe(e){return WK(e)&&typeof e.organizationId==`number`&&typeof e.userId==`number`&&UK(e.runtime)}function UK(e){return WK(e)&&typeof e.runtimeId==`string`&&typeof e.status==`string`}function WK(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function LJe(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}function GK(e){return e.accessToken??e.resolveAccessToken?.()}function KK(e,t,n=t=>LJe(e.cmmdHttpBaseUrl,t)){return P({method:t.method,path:t.path,...t.body===void 0?{}:{body:t.body},...t.signal===void 0?{}:{signal:t.signal}},{resolveUrl:n,resolveBearerToken:()=>GK(e)})}function RJe(e,t){return KK(e,{method:`GET`,path:`/api/forge/context/cloud-projects/${encodeURIComponent(String(t.projectId))}/removal-preview`,...t.signal===void 0?{}:{signal:t.signal}},e.cloudProjectRemovalPreviewUrl?()=>e.cloudProjectRemovalPreviewUrl(t.projectId):void 0).then(e=>e.preview)}function zJe(e,t){return KK(e,{method:`POST`,path:`/api/forge/context/cloud-projects/${encodeURIComponent(String(t.projectId))}/removal`,body:{idempotencyKey:t.idempotencyKey,deletePlanningProject:t.deletePlanningProject,...t.deleteCheckoutFiles===void 0?{}:{deleteCheckoutFiles:t.deleteCheckoutFiles},...t.previewToken===void 0?{}:{previewToken:t.previewToken},...t.forceDirty===void 0?{}:{forceDirty:t.forceDirty}},...t.signal===void 0?{}:{signal:t.signal}},e.cloudProjectRemovalUrl?()=>e.cloudProjectRemovalUrl(t.projectId):void 0).then(e=>e.operation)}function qK(e,t=``){return`/api/forge/context/runtimes/${encodeURIComponent(e)}${t}`}async function BJe(e){if(e.ok)return;let{CmmdApiError:t}=await N(async()=>{let{CmmdApiError:e}=await import(`./transport-CgH8pQK3.js`).then(e=>e.r);return{CmmdApiError:e}},__vite__mapDeps([2,1]));if(e.status===401||e.status===403){let n=null;try{let t=await e.json();n=typeof t?.code==`string`?t.code:null}catch{}throw new t({kind:`auth`,message:`CMMD authentication required. Sign in again to continue.`,status:e.status,code:n})}throw new t({kind:e.status>=500?`server`:`client`,message:`forge-cloud-projects proxy error (${e.status})`,status:e.status})}var JK=class{config;constructor(e){this.config=e}async ensureRuntime(e){return(await KK(this.config,{method:`POST`,path:`/api/forge/context/runtimes/ensure`,body:{...e.projectId===void 0?{}:{projectId:e.projectId},...e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.githubRepoFullName===void 0?{}:{githubRepoFullName:e.githubRepoFullName},...e.workspaceRoot===void 0?{}:{workspaceRoot:e.workspaceRoot}},...e.signal===void 0?{}:{signal:e.signal}},this.config.ensureUrl?()=>this.config.ensureUrl:void 0)).runtime}async connectRuntime(e){return KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/connect`),...e.organizationId===void 0?{}:{body:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}})}async getRuntime(e){return(await KK(this.config,{method:`GET`,path:qK(e.runtimeId),...e.signal===void 0?{}:{signal:e.signal}})).runtime}async destroyRuntime(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/destroy`),body:{purgeVolume:e.purgeVolume??!1,...e.force===!0?{force:!0}:{},...e.reason===void 0?{}:{reason:e.reason},...e.organizationId===void 0?{}:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}},this.config.destroyUrl?()=>this.config.destroyUrl(e.runtimeId):void 0)).runtime}async runRuntimeLifecycleAction(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/${e.action}`),body:e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.signal===void 0?{}:{signal:e.signal}},this.config.lifecycleUrl?()=>this.config.lifecycleUrl(e.runtimeId,e.action):void 0)).runtime}async updateRuntimeCommit(e){return(await KK(this.config,{method:`POST`,path:qK(e.runtimeId,`/update-commit`),body:e.organizationId===void 0?{}:{organizationId:e.organizationId},...e.signal===void 0?{}:{signal:e.signal}},this.config.updateCommitUrl?()=>this.config.updateCommitUrl(e.runtimeId):void 0)).operation}async getRuntimeCommitUpdateOperation(e){return(await KK(this.config,{method:`GET`,path:qK(e.runtimeId,`/update-commit/${encodeURIComponent(String(e.operationId))}`),...e.signal===void 0?{}:{signal:e.signal}},this.config.updateCommitOperationUrl?()=>this.config.updateCommitOperationUrl(e.runtimeId,e.operationId):void 0)).operation}async listCloudProjects(e){if(this.config.listUrl){let t=GK(this.config),n=await fetch(this.config.listUrl,{method:`GET`,headers:{Accept:`application/json`,...t?{Authorization:`Bearer ${t}`}:{}},credentials:t?`omit`:`include`,cache:`no-store`,...e?.signal===void 0?{}:{signal:e.signal}});return await BJe(n),HK(await n.json())}return HK(await KK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects`,...e?.signal===void 0?{}:{signal:e.signal}}))}async previewCloudProjectRemoval(e){return RJe(this.config,e)}async requestCloudProjectRemoval(e){return zJe(this.config,e)}async getCloudProjectRemoval(e){return(await KK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects/removals/${encodeURIComponent(e.operationId)}`,...e.signal===void 0?{}:{signal:e.signal}},this.config.cloudProjectRemovalReceiptUrl?()=>this.config.cloudProjectRemovalReceiptUrl(e.operationId):void 0)).operation}},YK=`/api/attachments/upload/`;function VJe(e){if(!e.relativeUrl.startsWith(YK))throw Error(`Attachment upload URL did not use the expected upload route.`);let t=e.relativeUrl.slice(24);if(!/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/.test(t))throw Error(`Attachment upload URL did not contain a valid signed token.`);if(e.relativeUrl.includes(`?`)||e.relativeUrl.includes(`#`))throw Error(`Attachment upload URL must not include a query or fragment.`);let n=new URL(e.httpBaseUrl),r=n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname,i=`${r}${YK}`,a=new URL(`${r}${e.relativeUrl}`,n);if(a.origin!==n.origin||!a.pathname.startsWith(i))throw Error(`Attachment upload URL resolved outside the selected environment.`);return a.toString()}var XK=!1,ZK=null;function QK(e){return Object.values(e)}function $K(e){return e.map(e=>wn(e))}function eq(e){try{Hl($K(QK(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function HJe(e){let t=tq.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));tq.setState({byId:{...n,...t}})}async function UJe(){if(XK)return;if(ZK)return ZK;let e=(async()=>{try{HJe(await Vl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{XK=!0,tq.setState({hydrated:!0})}})().finally(()=>{ZK===e&&(ZK=null)});return ZK=e,ZK}var tq=qt()(e=>({byId:{},hydrated:XK,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return eq(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return eq(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 eq(i),{byId:i}}),reset:()=>{eq({}),e({byId:{}})}}));function nq(){return XK}function rq(){return nq()?Promise.resolve():UJe()}function iq(){return Object.values(tq.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function WJe(){return iq().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function aq(e){return tq.getState().byId[e]??null}function oq(e){let t=RK();return t?.environmentId===e?Zie(t):aq(e)?.httpBaseUrl??null}function sq(e){let t=oq(e.environmentId)??(typeof window<`u`?window.location.origin:null);if(!t)throw Error(`Unable to resolve HTTP base URL for environment ${e.environmentId}.`);let n=new URL(t);return n.pathname=`${n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname}${e.pathname.startsWith(`/`)?e.pathname:`/${e.pathname}`}`,e.searchParams&&(n.search=new URLSearchParams(e.searchParams).toString()),n.toString()}function cq(e){if(!oq(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function GJe(e){return cq(e.environmentId),VJe({httpBaseUrl:oq(e.environmentId),relativeUrl:e.relativeUrl})}async function lq(e){await Hl($K(QK({...tq.getState().byId,[e.environmentId]:e})))}async function KJe(e,t){let{[e]:n,...r}=tq.getState().byId,i={...r,[t.environmentId]:t};await Hl($K(QK(i))),tq.setState({byId:i})}async function uq(e){return Ul(e)}async function qJe(e,t){return Wl(e,t)}async function dq(e){await Gl(e)}var JJe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function fq(e){let t=e?.trim();return t&&t.length>0?t:null}function YJe(e){return fq(e)??`Project`}function XJe(e,t=`safe`){let n=fq(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function pq(e,t=`Something went wrong. Try again.`){let n=vG(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||JJe.some(e=>e.test(n))?t:n}function ZJe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function mq(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function hq(e,t){let n=mq(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&ZJe(e,r)?r:n??void 0}function gq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function _q(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function QJe(e,t){let n=_q(e);return t&&gq(e,t)?t:n??void 0}function $Je(e,t){let n=hq(e,t?.reasoningEffort),r=e.supportsFastMode?t?.fastMode:void 0,i={...n?{reasoningEffort:n}:{},...r===void 0?{}:{fastMode:r}};return Object.keys(i).length>0?i:void 0}function eYe(e,t){let n=hq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=QJe(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{effort:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function vq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function yq(e,t=`codex`){if(typeof e!=`string`)return null;let n=e.trim();if(!n)return null;let r=Sne[t],i=Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0;return typeof i==`string`?i:n}function bq(e,t,n){if(typeof t!=`string`)return null;let r=t.trim();if(!r)return null;let i=n.find(e=>e.slug===r);if(i)return i.slug;let a=n.find(e=>e.name.toLowerCase()===r.toLowerCase());if(a)return a.slug;let o=yq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var tYe=[`codex`,`claudeAgent`];function xq(e,t){return tYe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function nYe(e,t){let n=yq(e,t);return!n||xq(n,t)?On[t]:n}function Sq(e,t){return nYe(t,e)}function rYe(e){return typeof e==`string`&&e.trim()||null}function iYe(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}function Cq(e,t){return{id:e.id,environmentId:t,name:e.title,cwd:e.workspaceRoot,repositoryIdentity:e.repositoryIdentity??null,availability:e.availability,defaultThreadEnvMode:e.defaultThreadEnvMode??null,cmmdRegistration:e.cmmdRegistration??null,defaultModelSelection:e.defaultModelSelection?wq(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:Tq(e.scripts)}}function wq(e){return{...e,model:Sq(e.provider,e.model)}}function Tq(e){return e.map(e=>({...e}))}function aYe(e,t){return{...e,...t.title===void 0?{}:{name:t.title},...t.workspaceRoot===void 0?{}:{cwd:t.workspaceRoot},...t.repositoryIdentity===void 0?{}:{repositoryIdentity:t.repositoryIdentity??null},...t.defaultThreadEnvMode===void 0?{}:{defaultThreadEnvMode:t.defaultThreadEnvMode},...t.cmmdRegistration===void 0?{}:{cmmdRegistration:t.cmmdRegistration},...t.defaultModelSelection===void 0?{}:{defaultModelSelection:t.defaultModelSelection?wq(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:Tq(t.scripts)},updatedAt:t.updatedAt}}function Eq(e){let t=bG(e.lastError);return{provider:sYe(e.providerName),status:oYe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function Dq(e,t){let n=t.attachments?.map(t=>{let n=sq({environmentId:e,pathname:cYe(t.id)});return t.type===`image`?{...t,previewUrl:n}:{...t,downloadUrl:n}});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 Oq(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function kq(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.map(e=>({...e}))}}function oYe(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 sYe(e){return e===`codex`||e===`claudeAgent`||e===`ollama`||e===`cmmd`||e===`apex`?e:`codex`}function cYe(e){return`/attachments/${encodeURIComponent(e)}`}var lYe=[],uYe=[],dYe=[],fYe=[],pYe={},mYe={},hYe={},gYe={},_Ye=[],Aq=new WeakMap,jq=new WeakMap;function Mq(e,t,n){if(!e||e.length===0||!t)return n;let r=Aq.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||Aq.set(e,o),a}function vYe(e,t){return Mq(e.messageIdsByThreadId[t],e.messageByThreadId[t]??pYe,lYe)}function yYe(e,t){return Mq(e.activityIdsByThreadId[t],e.activityByThreadId[t]??mYe,uYe)}function bYe(e,t){return Mq(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??hYe,dYe)}function xYe(e,t){return Mq(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??gYe,fYe)}function Nq(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??_Ye,o=vYe(e,t),s=yYe(e,t),c=bYe(e,t),l=xYe(e,t),u=jq.get(n);if(u&&u.session===r&&u.turnState===i&&u.rateLimitStatus===a&&u.messages===o&&u.activities===s&&u.proposedPlans===c&&u.turnDiffSummaries===l)return u.thread;let d={...n,session:r,latestTurn:i?.latestTurn??null,pendingSourceProposedPlan:i?.pendingSourceProposedPlan,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l};return jq.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function SYe(e,t){let n=t.providerAccountId??null,r=e=>e.provider===t.provider&&(e.providerAccountId??null)===n,i=e.find(r),a={status:t.status,usedPercent:t.usedPercent,resetsAt:t.resetsAt},o={provider:t.provider,providerAccountId:n,fiveHour:t.window===`five_hour`?a:i?.fiveHour??null,sevenDay:t.window===`seven_day`?a:i?.sevenDay??null};return[...e.filter(e=>!r(e)),o]}function Pq(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var Fq={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},CYe={activeEnvironmentId:null,environmentStateById:{}},Iq=[],Lq=[];function Rq(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function zq(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:wq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?Eq(e.session):null,messages:e.messages.map(e=>Dq(t,e)),proposedPlans:e.proposedPlans.map(Oq),error:bG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(kq),activities:e.activities.map(e=>({...e})),anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null,pendingAutoCreatePrompt:e.pendingAutoCreatePrompt??null,rateLimitStatus:e.rateLimitStatus??[]}}function Bq(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:wq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:bG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null},r=e.session?Eq(e.session):null;return{shell:n,session:r,turnState:{latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan},summary:{id:e.id,modelSelection:n.modelSelection,environmentId:t,projectId:e.projectId,title:e.title,interactionMode:e.interactionMode,session:r,createdAt:e.createdAt,archivedAt:e.archivedAt,...Pq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,branch:e.branch,worktreePath:e.worktreePath,latestUserMessageAt:e.latestUserMessageAt,hasPendingApprovals:e.hasPendingApprovals,hasPendingUserInput:e.hasPendingUserInput,hasActionableProposedPlan:e.hasActionableProposedPlan,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null}}}function wYe(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,error:e.error,createdAt:e.createdAt,archivedAt:e.archivedAt,settledAt:e.settledAt,settledOverride:e.settledOverride,updatedAt:e.updatedAt,branch:e.branch,worktreePath:e.worktreePath,anchorKind:e.anchorKind,anchorCmmdId:e.anchorCmmdId,linkedPullRequest:e.linkedPullRequest??null,kind:e.kind,parentThreadId:e.parentThreadId,status:e.status,workerRole:e.workerRole??null,goal:e.goal??null,titleRegeneration:e.titleRegeneration??null}}function TYe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function Vq(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function Hq(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&&Vq(e.sourceProposedPlan,t.sourceProposedPlan)}function Uq(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 Wq(e,t){return e===t?!0:e==null||t==null?!1:e.projectId===t.projectId&&e.projectRepositoryId===t.projectRepositoryId&&e.provider===t.provider&&e.host===t.host&&e.repository===t.repository&&e.number===t.number&&e.url===t.url}function Gq(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&Kq(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&Uq(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&Hq(e.latestTurn,t.latestTurn)&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan&&e.anchorKind===t.anchorKind&&e.anchorCmmdId===t.anchorCmmdId&&Wq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function Kq(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function qq(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.error===t.error&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.anchorKind===t.anchorKind&&e.anchorCmmdId===t.anchorCmmdId&&Wq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&Kq(e.titleRegeneration,t.titleRegeneration)}function Jq(e,t){return e!==void 0&&Hq(e.latestTurn,t.latestTurn)&&Vq(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function EYe(e,t){return e.includes(t)?[...e]:[...e,t]}function Yq(e,t){return e.filter(e=>e!==t)}function DYe(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function OYe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function kYe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function AYe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function jYe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function Xq(e){return e.threadIds.flatMap(t=>{let n=Nq(e,t);return n?[n]:[]})}function Zq(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]??Iq,i=Yq(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else Rq(n,i)||(e={...e,[r]:i})}let a=e[n]??Iq,o=EYe(a,t);Rq(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function Qq(e,t,n){let r=wYe(t),i=TYe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=Zq(e,t.id,t.projectId,n?.projectId);qq(a,r)||(s={...s,threadShellById:{...s.threadShellById,[t.id]:r}});let c=e.sidebarThreadSummaryById[t.id];if(c!==void 0){let e={...c,title:t.title,modelSelection:t.modelSelection,interactionMode:t.interactionMode,session:t.session,createdAt:t.createdAt,archivedAt:t.archivedAt,settledAt:t.settledAt,settledOverride:t.settledOverride,updatedAt:t.updatedAt,latestTurn:t.latestTurn,branch:t.branch,worktreePath:t.worktreePath,anchorKind:t.anchorKind,anchorCmmdId:t.anchorCmmdId,linkedPullRequest:t.linkedPullRequest??null,goal:t.goal,titleRegeneration:t.titleRegeneration??null,kind:t.kind,parentThreadId:t.parentThreadId,status:t.status,workerRole:t.workerRole};Gq(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(Uq(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??Lq)!==(t.rateLimitStatus??Lq)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??Lq}}),Jq(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=DYe(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=OYe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=kYe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=AYe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function $q(e,t){let n=e.threadShellById[t.shell.id],r=Zq(e,t.shell.id,t.shell.projectId,n?.projectId);return qq(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),Uq(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),Jq(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),Gq(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function eJ(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function tJ(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=Yq(e.threadIds,t),o=Yq(e.threadIdsByProjectId[i]??Iq,t),s=o.length===0?(()=>{let{[i]:t,...n}=e.threadIdsByProjectId;return n})():{...e.threadIdsByProjectId,[i]:o},{[t]:c,...l}=e.threadShellById,{[t]:u,...d}=e.threadSessionById,{[t]:f,...p}=e.threadTurnStateById,{[t]:m,...h}=e.messageIdsByThreadId,{[t]:g,..._}=e.messageByThreadId,{[t]:v,...y}=e.activityIdsByThreadId,{[t]:b,...x}=e.activityByThreadId,{[t]:S,...C}=e.proposedPlanIdsByThreadId,{[t]:w,...T}=e.proposedPlanByThreadId,{[t]:E,...D}=e.turnDiffIdsByThreadId,{[t]:ee,...te}=e.turnDiffSummaryByThreadId,{[t]:ne,...O}=e.sidebarThreadSummaryById;return{...e,threadIds:a,threadIdsByProjectId:s,threadShellById:l,threadSessionById:d,threadTurnStateById:p,messageIdsByThreadId:h,messageByThreadId:_,activityIdsByThreadId:y,activityByThreadId:x,proposedPlanIdsByThreadId:C,proposedPlanByThreadId:T,turnDiffIdsByThreadId:D,turnDiffSummaryByThreadId:te,sidebarThreadSummaryById:O}}function MYe(e,t){let n=new Set(e.threadIdsByProjectId[t]??Iq);for(let[r,i]of Object.entries(e.threadShellById))i.projectId===t&&n.add(r);for(let[r,i]of Object.entries(e.sidebarThreadSummaryById))i.projectId===t&&n.add(r);return[...n]}function nJ(e,t){let n=MYe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=tJ(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:Yq(r.projectIds,t)}}function rJ(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function NYe(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 iJ(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 PYe(e,t,n){let r=!1,i=e.map(e=>e.turnId!==t||e.assistantMessageId===n?e:(r=!0,{...e,assistantMessageId:n??void 0}));return r?i:[...e]}function FYe(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 IYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function LYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function aJ(e,t,n){let r=Nq(e,t);if(!r)return e;let i=n(r);return i===r?e:Qq(e,i,r)}function oJ(e,t,n,r){let i=aJ(e,t,e=>({...e,...r,updatedAt:n})),a=i.sidebarThreadSummaryById[t];return!a||Object.keys(r).every(e=>a[e]===r[e])?i:{...i,sidebarThreadSummaryById:{...i.sidebarThreadSummaryById,[t]:{...a,...r}}}}function RYe(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function sJ(e,t){return e.environmentStateById[t]??Fq}function cJ(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function zYe(e,t,n){let r=t.projects.map(e=>Cq(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...RYe(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:eJ(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:eJ(e.messageIdsByThreadId,i),messageByThreadId:eJ(e.messageByThreadId,i),activityIdsByThreadId:eJ(e.activityIdsByThreadId,i),activityByThreadId:eJ(e.activityByThreadId,i),proposedPlanIdsByThreadId:eJ(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:eJ(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:eJ(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:eJ(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=$q(a,Bq(e,n));return a}function BYe(e,t,n){return cJ(e,n,zYe(sJ(e,n),t,n))}function VYe(e,t,n){let r=sJ(e,n),i=Nq(r,t.id);return cJ(e,n,Qq(r,zq(t,n),i))}function HYe(e,t,n,r){let i=sJ(e,t);return cJ(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function UYe(e,t,n){let r=sJ(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return cJ(e,t,{...r,threadSubscriptionErrorById:a})}function lJ(e,t,n){switch(t.type){case`project.created`:{let r=Cq({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,repositoryIdentity:t.payload.repositoryIdentity??null,defaultModelSelection:t.payload.defaultModelSelection,defaultThreadEnvMode:t.payload.defaultThreadEnvMode??null,cmmdRegistration:t.payload.cmmdRegistration??null,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=aYe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return nJ(e,t.payload.projectId);case`thread.created`:{let r=Nq(e,t.payload.threadId);return Qq(e,zq({id:t.payload.threadId,projectId:t.payload.projectId,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,branch:t.payload.branch,worktreePath:t.payload.worktreePath,latestTurn:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,archivedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null,anchorKind:t.payload.anchorKind,anchorCmmdId:t.payload.anchorCmmdId,kind:t.payload.kind,parentThreadId:t.payload.parentThreadId,status:t.payload.status,workerRole:t.payload.workerRole,goal:t.payload.goal??null,titleRegeneration:null,pendingAutoCreatePrompt:null},n),r)}case`thread.deleted`:return tJ(e,t.payload.threadId);case`thread.archived`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return oJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return aJ(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:wq(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},...t.payload.anchorKind===void 0?{}:{anchorKind:t.payload.anchorKind},...t.payload.anchorCmmdId===void 0?{}:{anchorCmmdId:t.payload.anchorCmmdId},...t.payload.status===void 0?{}:{status:t.payload.status},...t.payload.parentThreadId===void 0?{}:{parentThreadId:t.payload.parentThreadId},...t.payload.goal===void 0?{}:{goal:t.payload.goal},...t.payload.linkedPullRequest===void 0?{}:{linkedPullRequest:t.payload.linkedPullRequest},...t.payload.titleRegeneration===void 0?{}:{titleRegeneration:t.payload.titleRegeneration},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return aJ(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return aJ(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return aJ(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:wq(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:iJ({previous:e.latestTurn,turnId:gn.make(t.payload.messageId),state:`running`,requestedAt:t.payload.createdAt,startedAt:t.payload.createdAt,completedAt:null,assistantMessageId:null,sourceProposedPlan:t.payload.sourceProposedPlan}),updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return t.payload.turnId===void 0?e:aJ(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:iJ({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 aJ(e,t.payload.threadId,e=>{let n=Dq(e.environmentId,{id:t.payload.messageId,role:t.payload.role,text:t.payload.text,...t.payload.attachments===void 0?{}:{attachments:t.payload.attachments},turnId:t.payload.turnId,streaming:t.payload.streaming,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt}),r=(e.messages.find(e=>e.id===n.id)?e.messages.map(e=>e.id===n.id?{...e,text:n.streaming?`${e.text}${n.text}`:n.text.length>0?n.text:e.text,streaming:n.streaming,...n.turnId===void 0?{}:{turnId:n.turnId},...n.streaming?e.completedAt===void 0?{}:{completedAt:e.completedAt}:n.completedAt===void 0?{}:{completedAt:n.completedAt},...n.attachments===void 0?{}:{attachments:n.attachments}}:e):[...e.messages,n]).slice(-2e3),i=t.payload.role===`assistant`&&t.payload.turnId!==null?PYe(e.turnDiffSummaries,t.payload.turnId,t.payload.messageId):e.turnDiffSummaries,a=t.payload.role===`assistant`&&t.payload.turnId!==null&&(e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId)?iJ({previous:e.latestTurn,turnId:t.payload.turnId,state:t.payload.streaming?`running`:e.latestTurn?.state===`interrupted`?`interrupted`:e.latestTurn?.state===`error`?`error`:`completed`,requestedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.requestedAt:t.payload.createdAt,startedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e.pendingSourceProposedPlan,completedAt:t.payload.streaming?e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}):e.latestTurn;return{...e,messages:r,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.session-set`:return aJ(e,t.payload.threadId,e=>({...e,session:Eq(t.payload.session),error:bG(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?iJ({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 aJ(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 aJ(e,t.payload.threadId,e=>{let n=Oq(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 aJ(e,t.payload.threadId,e=>{let n=kq({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?iJ({previous:e.latestTurn,turnId:t.payload.turnId,state:rJ(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 aJ(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=FYe(e.messages,r,t.payload.turnCount).slice(-2e3),a=LYe(e.proposedPlans,r).slice(-200),o=IYe(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:rJ(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return aJ(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(NYe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return aJ(e,t.payload.threadId,e=>({...e,rateLimitStatus:SYe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return aJ(e,t.payload.workerThreadId,e=>({...e,kind:`worker`,parentThreadId:t.payload.masterThreadId,branch:t.payload.branch,worktreePath:t.payload.worktreePath,workerRole:t.payload.workerRole??e.workerRole??null,updatedAt:t.occurredAt}));case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function WYe(e,t,n){switch(t.kind){case`project-upserted`:{let r=Cq(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`:return nJ(e,t.projectId);case`thread-upserted`:return $q(e,Bq(t.thread,n));case`thread-removed`:return tJ(e,t.threadId)}}function GYe(e,t,n){if(t.length===0)return e;let r=sJ(e,n);return cJ(e,n,t.reduce((e,t)=>lJ(e,t,n),r))}function uJ(e){return Object.entries(e.environmentStateById)}function dJ(e,t){return t?sJ(e,t):Fq}function KYe(e,t){return Xq(dJ(e,t))}function fJ(e){return uJ(e).flatMap(([,e])=>jYe(e))}function pJ(e){return uJ(e).flatMap(([,e])=>Xq(e))}function qYe(e){return uJ(e).flatMap(([,e])=>mJ(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function mJ(e){let t=[],n=new Set,r=e=>{n.has(e)||(n.add(e),t.push(e))};for(let t of e.threadIds)r(t);for(let t of Object.keys(e.threadShellById))r(t);for(let t of Object.keys(e.sidebarThreadSummaryById))r(t);return t}function hJ(e,t,n){let r=t.sidebarThreadSummaryById[n];if(r)return r.environmentId===e?r:{...r,environmentId:e};let i=t.threadShellById[n];return i?{id:i.id,environmentId:e,projectId:i.projectId,title:i.title,modelSelection:i.modelSelection,interactionMode:i.interactionMode,session:t.threadSessionById[n]??null,createdAt:i.createdAt,archivedAt:i.archivedAt,settledAt:i.settledAt,settledOverride:i.settledOverride,updatedAt:i.updatedAt,latestTurn:t.threadTurnStateById[n]?.latestTurn??null,branch:i.branch,worktreePath:i.worktreePath,latestUserMessageAt:null,hasPendingApprovals:!1,hasPendingUserInput:!1,hasActionableProposedPlan:!1,anchorKind:i.anchorKind,anchorCmmdId:i.anchorCmmdId,goal:i.goal,titleRegeneration:i.titleRegeneration,kind:i.kind,parentThreadId:i.parentThreadId,workerRole:i.workerRole,status:i.status}:null}function JYe(e){return uJ(e).flatMap(([e,t])=>mJ(t).flatMap(n=>{let r=hJ(e,t,n);return r?[r]:[]}))}function gJ(e,t){if(!t)return[];let n=dJ(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??Iq;return(r.length>0?r:mJ(n)).flatMap(e=>{let r=hJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function YYe(e,t){return t.length===0?[]:t.length===1?gJ(e,t[0]):t.flatMap(t=>gJ(e,t))}function XYe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):dJ(e,e.activeEnvironmentId).bootstrapComplete}function ZYe(e,t){return t?dJ(e,t.environmentId).projectById[t.projectId]:void 0}function _J(e,t){return t?Nq(dJ(e,t.environmentId),t.threadId):void 0}function QYe(e,t){return t?dJ(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function vJ(e,t){return t?hJ(t.environmentId,dJ(e,t.environmentId),t.threadId)??void 0:void 0}function $Ye(e,t,n){if(e.activeEnvironmentId===null)return e;let r=aJ(sJ(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return cJ(e,e.activeEnvironmentId,r)}function eXe(e,t,n){return cJ(e,n,lJ(sJ(e,n),t,n))}function tXe(e,t,n){return cJ(e,n,WYe(sJ(e,n),t,n))}function nXe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function rXe(e,t,n,r){let i=aJ(sJ(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 cJ(e,t.environmentId,i)}var yJ=qt(e=>({...CYe,setActiveEnvironmentId:t=>e(e=>nXe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>BYe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>VYe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>HYe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>UYe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>eXe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>GYe(e,t,n)),applyShellEvent:(t,n)=>e(e=>tXe(e,t,n)),setError:(t,n)=>e(e=>$Ye(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>rXe(e,t,n,r))})),bJ=`Thread not found or you no longer have access.`;function iXe(e){if(e==null)return bJ;let t=pq(ote(e)?Ie(e):e,bJ);return/\bnot found\b/i.test(t)?bJ:t}function aXe(e,t,n){yJ.getState().setThreadSubscriptionError(e,t,iXe(n))}function xJ(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var oXe={enabled:!0,leading:!0,trailing:!0,wait:0},sXe=class{#e;constructor(e,t){this.fn=e,this.store=new bte(xJ()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),Cte(`Throttler`,this)},this.#n=()=>!!Qt(this.options.enabled,this),this.#r=()=>Qt(this.options.wait,this),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.#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())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(xJ())},this.key=t.key,this.options={...oXe,...t},this.#t(this.options.initialState??{}),this.key&&Tte.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a};function cXe(e){return!!(e.prompt.trim()||e.images.length||e.terminalContexts.length||e.persistedAttachments.length||e.stagedSubmission)}function lXe(e,t,n){let r=Vo(t),i=Vo(n);if(r===i)return e;let a=e[r];if(!a)return e;let o=e[i];if(o&&cXe(o)&&!uXe(a,o))return null;let s={...e,[i]:{...a,...vXe(a,o)}};return delete s[r],s}function uXe(e,t){let n=e.stagedSubmission;return!n||!dXe(n)||!fXe(e,n)||!pXe(n,t.stagedSubmission)?!1:mXe(e,t)}function dXe(e){return!!e.commandId&&!!e.messageId}function fXe(e,t){return[e.prompt===t.prompt,CJ(e.persistedAttachments,t.attachments),CJ(e.terminalContexts,t.terminalContexts)].every(Boolean)}function pXe(e,t){return!t||hXe(e,t)}function mXe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,TJ(e.images,t.images),wJ(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,TJ(e.persistedAttachments,t.persistedAttachments),TJ(e.terminalContexts,t.terminalContexts),_Xe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function hXe(e,t){return[e.commandId===t.commandId&&e.messageId===t.messageId,e.prompt===t.prompt,CJ(e.attachments,t.attachments),CJ(e.terminalContexts,t.terminalContexts),SJ(e.modelSelection,t.modelSelection),SJ(e.runtimeMode,t.runtimeMode),SJ(e.interactionMode,t.interactionMode),gXe(e.executionIntent,t.executionIntent)].every(Boolean)}function SJ(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function gXe(e,t){return!e||!t||e.runtimeId===t.runtimeId}function CJ(e,t){return e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id)}function wJ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function TJ(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function _Xe(e,t){let n=Object.keys(e).toSorted();return wJ(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function vXe(e,t){let n=t??e,r=e.stagedSubmission?e:n,i=e.stagedSubmission?n:e;return{modelSelectionByProvider:{...i.modelSelectionByProvider,...r.modelSelectionByProvider},activeProvider:r.activeProvider??i.activeProvider,runtimeMode:r.runtimeMode??i.runtimeMode,interactionMode:r.interactionMode??i.interactionMode}}var EJ=`full-access`,DJ=`default`,OJ=`default`,yXe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,bXe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function kJ(e){return e.replace(/\r\n/g,`
1006
1006
  `).replace(/^\n+|\n+$/g,``)}function AJ(e){return kJ(e.text).length>0}function xXe(e){return!AJ(e)}function SXe(e){return e.filter(e=>AJ(e))}function CXe(e){let t=kJ(e.text),n=e.terminalId.trim(),r=e.terminalLabel.trim();if(t.length===0||n.length===0||r.length===0)return null;let i=Math.max(1,Math.floor(e.lineStart));return{terminalId:n,terminalLabel:r,lineStart:i,lineEnd:Math.max(i,Math.floor(e.lineEnd)),text:t}}function wXe(e){return e.lineStart===e.lineEnd?`line ${e.lineStart}`:`lines ${e.lineStart}-${e.lineEnd}`}function jJ(e){return`${e.terminalLabel} ${wXe(e)}`}function MJ(e){return`@${e.terminalLabel.trim().toLowerCase().replace(/\s+/g,`-`)}:${e.lineStart===e.lineEnd?`${e.lineStart}`:`${e.lineStart}-${e.lineEnd}`}`}function TXe(e){return kJ(e.text).split(`
1007
1007
  `).map((t,n)=>` ${e.lineStart+n} | ${t}`)}function EXe(e){let t=e.map(e=>CXe(e)).filter(e=>e!==null);if(t.length===0)return``;let n=[];for(let e=0;e<t.length;e+=1){let r=t[e];n.push(`- ${jJ(r)}:`),n.push(...TXe(r)),e<t.length-1&&n.push(``)}return[`<terminal_context>`,...n,`</terminal_context>`].join(`
1008
1008
  `)}function DXe(e,t){let n=0,r=``;for(let i of e){if(i!==``){r+=i;continue}let e=t[n]??null;n+=1,e&&(r+=MJ(e))}return r}function OXe(e,t){let n=DXe(e,t).trim(),r=EXe(t);return r.length===0?n:n.length>0?`${n}\n\n${r}`:r}function kXe(e){let t=yXe.exec(e);if(!t)return{promptText:e,contextCount:0,previewTitle:null,contexts:[]};let n=e.slice(0,t.index).replace(/\n+$/,``),r=MXe(t[1]??``);return{promptText:n,contextCount:r.length,previewTitle:r.length>0?r.map(({header:e,body:t})=>t.length>0?`${e}\n${t}`:e).join(`
@@ -1016,9 +1016,9 @@ If init has been called in the preload and contextIsolation is disabled, is not
1016
1016
 
1017
1017
  `);for(;o!==-1;){let e=a.slice(0,o);if(a=a.slice(o+2),S$e(e,t))return;o=a.indexOf(`
1018
1018
 
1019
- `)}}}var w$e=(e=`/api/workspace/readiness`)=>{if(typeof fetch>`u`)return{close:()=>{}};let t=typeof e==`string`?{url:e}:e,n=!1,r=new AbortController;return fetch(t.url,{credentials:t.bearerToken?`omit`:`include`,signal:r.signal,...t.bearerToken?{headers:{Authorization:`Bearer ${t.bearerToken}`}}:{}}).then(e=>{if(e.ok)return C$e(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},T$e=6e4;function E$e(e){let t=new URL(e.target.httpBaseUrl);return t.pathname=`${t.pathname.endsWith(`/`)?t.pathname.slice(0,-1):t.pathname}/api/workspace/readiness`,t.search=``,t.hash=``,t.toString()}function D$e(e){let t=new Set,n=null,r=!1,i=!1;return{hasWaiters:()=>t.size>0,wait:()=>{if(r)return Promise.reject(n);if(i)return Promise.resolve();let a=null,o=null,s=new Promise((e,n)=>{o={resolve:e,reject:n},t.add(o)}),c=new Promise((t,n)=>{a=globalThis.setTimeout(()=>{n(Error(`Timed out while waiting for ${e.label} (${e.environmentId}) to stream its shell snapshot.`))},e.timeoutMs)});return Promise.race([s,c]).finally(()=>{a!==null&&globalThis.clearTimeout(a),o!==null&&t.delete(o)})},resolve:()=>{r=!1,n=null,i=!0;let e=[...t];t.clear();for(let t of e)t.resolve()},reject:e=>{r=!0,n=e,i=!1;let a=[...t];t.clear();for(let t of a)t.reject(e)},reset:()=>{r=!1,n=null,i=!1}}}function qX(e){let t=e.knownEnvironment.environmentId;if(!t)throw Error(`Known environment ${e.knownEnvironment.label} is missing its environmentId.`);let n=!1,r=!1,i=null,a=null,o=D$e({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??T$e}),s=e.readiness?(e.readiness.openStream??w$e)({url:E$e(e.knownEnvironment),environmentId:t,...e.readiness.bearerToken?{bearerToken:e.readiness.bearerToken}:{}}):null,c=t=>{if(!r){r=!0;let n=Error(t);_(),e.client.dispose(),e.onIdentityMismatch?.(n)}return!1},l=(n,r)=>{if(e.tolerateReportedEnvironmentIdentity)return a===null?(a=n,!0):a===n||c(`Environment connection ${t} reported a changed runtime identity (${a} -> ${n}) via ${r}.`);let i=e.resolveEnvironmentId?.()??t;return i===n||c(`Environment connection ${i} changed identity to ${n} via ${r}.`)},u=()=>e.resolveEnvironmentId?.()??t,d=e.client.server.subscribeLifecycle(t=>{t.type===`welcome`&&l(t.payload.environment.environmentId,`server lifecycle welcome`)&&e.onWelcome?.(t.payload,u())}),f=e.client.server.subscribeConfig(t=>{if(t.type===`snapshot`){if(!l(t.config.environment.environmentId,`server config snapshot`))return;i=t.config,e.onConfigSnapshot?.(t.config);return}if(t.type!==`providerStatuses`||!i)return;let n={...i,providers:t.payload.providers};i=n,e.onConfigSnapshot?.(n)}),p=e.client.orchestration.subscribeShell(t=>{if(t.kind===`snapshot`){e.syncShellSnapshot(t.snapshot,u()),o.resolve();return}e.applyShellEvent(t,u())},{onResubscribe:()=>{n||o.reset()},onError:t=>{if(!n){if(o.hasWaiters()){o.reject(t);return}e.onShellSubscriptionError?.(t,u())}}}),m=e.client.terminal.onEvent(t=>{e.applyTerminalEvent(t,u())}),h=e.client.browser?.onEvent({},t=>{e.applyBrowserEvent(t,u())}),g=e.client.server.subscribeWorkspaceReadiness(e=>{n||N(async()=>{let{setWorkspaceReadinessPhaseForEnvironment:e}=await import(`./workspaceReadinessAtom-D6bgTvKb.js`).then(e=>e.r);return{setWorkspaceReadinessPhaseForEnvironment:e}},__vite__mapDeps([3,1,4,5])).then(({setWorkspaceReadinessPhaseForEnvironment:t})=>{n||t(u(),e)})}),_=()=>{n||(n=!0,e.onDispose?.(),s?.close(),p(),m(),h?.(),d(),f(),g())};return{kind:e.kind,environmentId:t,knownEnvironment:e.knownEnvironment,client:e.client,ensureBootstrapped:()=>o.wait(),reconnect:async()=>{o.reset();try{await e.client.reconnect(),await e.refreshMetadata?.(),await o.wait()}catch(e){throw o.reject(e),e}},...e.ensureProviderAuthority?{ensureProviderAuthority:e.ensureProviderAuthority}:{},dispose:async()=>{_(),await e.client.dispose()}}}function O$e(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var k$e=3e4,A$e=1e4,j$e=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,JX=/https?:\/\/[^\s"'`<>]+/gu,M$e=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),N$e=/(https?:\/\/(?:localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1|10(?:\.\d{1,3}){3}|172\.(?:1[6-9]|2\d|3[01])(?:\.\d{1,3}){2}|192\.168(?:\.\d{1,3}){2}):)\s+(\d{1,5})(?=[/?#\s]|$)/giu;function YX(e){let t=e.trim();if(!t||/^[a-z][a-z0-9+.-]*:\/\//i.test(t)&&!/^https?:\/\//i.test(t))return null;let n=t.split(/[/:?#]/,1)[0]??``,r=j$e.test(t)||ZX(n)?`http`:`https`,i=/^https?:\/\//i.test(t)?t:`${r}://${t}`;try{let e=new URL(i);return e.protocol!==`http:`&&e.protocol!==`https:`?null:e.toString()}catch{return null}}function P$e(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function XX(e){try{let t=new URL(e);return Dne(t.hostname)}catch{return!1}}function ZX(e){return Tne(e)}function QX(e){try{let t=new URL(e);if(t.protocol!==`http:`||!XX(t.toString())&&!ZX(t.hostname)||!t.port)return null;let n=Number(t.port);return Number.isInteger(n)&&n>0&&n<=65535?n:null}catch{return null}}function F$e(e){let t=e.replace(/[.,;!?]+$/u,``);for(;t.endsWith(`)`)||t.endsWith(`]`)||t.endsWith(`}`);){let e=t.at(-1);if(!e)break;let n=e===`)`?`(`:e===`]`?`[`:`{`;if(t.split(n).length-1>=t.split(e).length-1)break;t=t.slice(0,-1)}return t}function I$e(e){return e.replace(M$e,``).replaceAll(/./gsu,e=>L$e(e)?``:e).replace(N$e,`$1$2`)}function L$e(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function $X(e){let t=null,n=null,r=I$e(e);JX.lastIndex=0;for(let e of r.matchAll(JX)){let r=YX(F$e(e[0]));!r||!QX(r)||(t=r,XX(r)&&(n=r))}return n??t}function R$e(e){let t=null;for(let n of e){let e=n.event,r=$X(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function z$e(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var B$e=`forge:terminal-state:v1`,eZ=[],V$e=200,tZ=8;function H$e(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:dZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!Wo(e)&&typeof t?.url==`string`&&!!QX(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function U$e(){return UJ(typeof window<`u`?window.localStorage:void 0)}function W$e(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[OJ]}function G$e(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 nZ(e){return`group-${e}`}function rZ(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function iZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function K$e(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function q$e(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=K$e(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():nZ(e[0]??`default`);i.push({id:rZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:rZ(nZ(e),a),terminalIds:[e]});return i.length===0?[{id:nZ(OJ),terminalIds:[OJ]}]:i}function aZ(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 J$e(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||!aZ(r.terminalIds,i.terminalIds))return!1}return!0}function oZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&aZ(e.terminalIds,t.terminalIds)&&aZ(e.runningTerminalIds,t.runningTerminalIds)&&J$e(e.terminalGroups,t.terminalGroups)}var sZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[OJ],runningTerminalIds:[],activeTerminalId:OJ,terminalGroups:[{id:nZ(OJ),terminalIds:[OJ]}],activeTerminalGroupId:nZ(OJ)});function cZ(){return{...sZ,terminalIds:[...sZ.terminalIds],runningTerminalIds:[...sZ.runningTerminalIds],terminalGroups:yZ(sZ.terminalGroups)}}function lZ(){return sZ}function uZ(e){let t=W$e(e.terminalIds),n=t.length>0?t:[OJ],r=G$e(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=q$e(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??nZ(`default`)};return oZ(e,c)?e:c}function Y$e(e){let t=uZ(e);if(t.terminalIds.length<=tZ)return t;let n=new Set,r=e=>{!e||n.size>=tZ||t.terminalIds.includes(e)&&n.add(e)};r(OJ),r(t.activeTerminalId);for(let e of t.runningTerminalIds)r(e);for(let e of t.terminalIds.toReversed())r(e);let i=t.terminalIds.filter(e=>n.has(e)),a=i[i.length-1]??i[0]??`default`,o=i.includes(t.activeTerminalId)?t.activeTerminalId:a;return uZ({...t,terminalIds:i.length>0?i:[OJ],runningTerminalIds:t.runningTerminalIds.filter(e=>n.has(e)),activeTerminalId:o,terminalGroups:t.terminalGroups.map(e=>({id:e.id,terminalIds:e.terminalIds.filter(e=>n.has(e))})).filter(e=>e.terminalIds.length>0)})}function dZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>Wo(e)?[[e,Y$e(t)]]:[]))}function X$e(e){return oZ(uZ(e),sZ)}function Z$e(e){return e.trim().length>0}function fZ(e){return Vo(e)}function pZ(e,t){return`${fZ(e)}\u0000${t}`}function mZ(e,t){return pZ(e,t)}function hZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function gZ(e,t){let n=$X(e);return n?{url:n,observedAt:t}:null}function Q$e(e){return gZ(e.history,e.updatedAt)}function _Z(e){return e.type===`output`?gZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?gZ(e.snapshot.history,e.snapshot.updatedAt):null}function vZ(e,t,n){if(!n)return e;let r=fZ(t),i=e[r];return i&&hZ(i.observedAt)>hZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function yZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function bZ(e,t,n,r){let i=pZ(n,r.terminalId),a=e[i]??eZ,o={id:t,event:r},s=a.length>=V$e?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function xZ(e,t,n,r){let i=pZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function SZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function CZ(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function wZ(e,t){let n={...e},r=!1;for(let e of Object.keys(n))e.startsWith(`${t}\u0000`)&&(delete n[e],r=!0);return r?n:e}function $$e(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function e1e(e,t){let n=$$e(t);return e?.runtimeEnv&&e.cwd===n.cwd&&e.worktreePath===n.worktreePath&&(e.terminalId===void 0||e.terminalId===t.terminalId)?{...n,runtimeEnv:e.runtimeEnv}:n}function TZ(e,t,n){let r=uZ(e);if(!Z$e(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=yZ(r.terminalGroups),s=iZ(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=rZ(nZ(t),e);return o.push({id:n,terminalIds:[t]}),uZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=iZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=rZ(nZ(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 uZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function EZ(e,t){let n=uZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function t1e(e,t){let n=uZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function n1e(e,t){return TZ(e,t,`split`)}function DZ(e,t,n){let r=TZ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function OZ(e,t){let n=uZ(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 r1e(e,t){let n=uZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return cZ();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??nZ(a);return uZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function kZ(e,t,n){let r=uZ(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 AZ(e,t){return!t||t.threadId.length===0?lZ():e[fZ(t)]??lZ()}function jZ(e,t,n){if(t.threadId.length===0)return e;let r=fZ(t),i=AZ(e,t),a=n(i);if(a===i)return e;if(X$e(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function i1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?eZ:e[pZ(t,n)]??eZ}function a1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[mZ(t,n)]??null}function o1e(e,t){if(!t||t.threadId.length===0)return[];let n=`${fZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function s1e(e,t){return!t||t.threadId.length===0?null:e[fZ(t)]??null}var MZ=qt()(LJ(e=>{let t=(t,n)=>{e(e=>{let r=jZ(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},terminalSessionSnapshotByKey:{},terminalStreamCursorByKey:{},terminalPreviewUrlByThreadKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>EZ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>t1e(e,n)),splitTerminal:(e,n)=>t(e,e=>n1e(e,n)),newTerminal:(e,n,r)=>t(e,e=>DZ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=DZ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=OZ(t,n)),r?.open&&(t=EZ(t,!0)),uZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>OZ(e,n)),closeTerminal:(e,n)=>t(e,e=>r1e(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[fZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=fZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>kZ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=mZ(t,n.terminalId),i=SZ(n),a=n.type===`started`||n.type===`restarted`;if(CZ(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?xZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=vZ(e.terminalPreviewUrlByThreadKey,t,_Z(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[mZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=fZ(t),i=mZ(t,n.terminalId),a=SZ(n),o=n.type===`started`||n.type===`restarted`;if(CZ(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=vZ(e.terminalPreviewUrlByThreadKey,t,_Z(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[mZ(t,n.terminalId)]:n.snapshot},s=jZ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=DZ(r,n.terminalId)),t?(r=OZ(r,n.terminalId),r=EZ(r,!0)):(r=OZ(r,e.activeTerminalId),r=EZ(r,e.terminalOpen)),uZ(r)}),c={...c,[r]:e1e(c[r],n)});let d=z$e(n);d!==null&&(s=jZ(s,t,e=>kZ(e,n.terminalId,d)));let f=o&&a?xZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),p=a?{...e.terminalStreamCursorByKey,[i]:a}:e.terminalStreamCursorByKey;return{terminalStateByThreadKey:s,terminalLaunchContextByThreadKey:c,terminalSessionSnapshotByKey:l,terminalStreamCursorByKey:p,terminalPreviewUrlByThreadKey:u,...f}}),setTerminalSessionSnapshot:(t,n)=>e(e=>({terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[mZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:vZ(e.terminalPreviewUrlByThreadKey,t,Q$e(n))})),clearTerminalState:t=>e(e=>{let n=fZ(t),r=jZ(e.terminalStateByThreadKey,t,()=>cZ()),i=e.terminalLaunchContextByThreadKey[n]!==void 0,a=e.terminalPreviewUrlByThreadKey[n]!==void 0,{[n]:o,...s}=e.terminalLaunchContextByThreadKey,{[n]:c,...l}=e.terminalPreviewUrlByThreadKey,u={...e.terminalEventEntriesByKey},d=!1;for(let e of Object.keys(u))e.startsWith(`${n}\u0000`)&&(delete u[e],d=!0);let f={...e.terminalSessionSnapshotByKey},p=!1;for(let e of Object.keys(f))e.startsWith(`${n}\u0000`)&&(delete f[e],p=!0);let m=wZ(e.terminalStreamCursorByKey,n);return r===e.terminalStateByThreadKey&&!i&&!a&&!d&&!p&&m===e.terminalStreamCursorByKey?e:{terminalStateByThreadKey:r,terminalLaunchContextByThreadKey:s,terminalPreviewUrlByThreadKey:l,terminalEventEntriesByKey:u,terminalSessionSnapshotByKey:f,terminalStreamCursorByKey:m}}),removeTerminalState:t=>e(e=>{let n=fZ(t),r=e.terminalStateByThreadKey[n]!==void 0,i=e.terminalLaunchContextByThreadKey[n]!==void 0,a=e.terminalPreviewUrlByThreadKey[n]!==void 0,o={...e.terminalEventEntriesByKey},s=!1;for(let e of Object.keys(o))e.startsWith(`${n}\u0000`)&&(delete o[e],s=!0);let c={...e.terminalSessionSnapshotByKey},l=!1;for(let e of Object.keys(c))e.startsWith(`${n}\u0000`)&&(delete c[e],l=!0);let u=wZ(e.terminalStreamCursorByKey,n);if(!r&&!i&&!a&&!s&&!l&&u===e.terminalStreamCursorByKey)return e;let d={...e.terminalStateByThreadKey};delete d[n];let f={...e.terminalLaunchContextByThreadKey};delete f[n];let p={...e.terminalPreviewUrlByThreadKey};return delete p[n],{terminalStateByThreadKey:d,terminalLaunchContextByThreadKey:f,terminalPreviewUrlByThreadKey:p,terminalEventEntriesByKey:o,terminalSessionSnapshotByKey:c,terminalStreamCursorByKey:u}}),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=Object.keys(e.terminalPreviewUrlByThreadKey).filter(e=>!t.has(e)),a={...e.terminalEventEntriesByKey},o=!1;for(let e of Object.keys(a)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete a[e],o=!0)}let s={...e.terminalSessionSnapshotByKey},c=!1;for(let e of Object.keys(s)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete s[e],c=!0)}let l={...e.terminalStreamCursorByKey},u=!1;for(let e of Object.keys(l)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete l[e],u=!0)}if(n.length===0&&r.length===0&&i.length===0&&!o&&!c&&!u)return e;let d={...e.terminalStateByThreadKey};for(let e of n)delete d[e];let f={...e.terminalLaunchContextByThreadKey};for(let e of r)delete f[e];let p={...e.terminalPreviewUrlByThreadKey};for(let e of i)delete p[e];return{terminalStateByThreadKey:d,terminalLaunchContextByThreadKey:f,terminalPreviewUrlByThreadKey:p,terminalEventEntriesByKey:a,terminalSessionSnapshotByKey:s,terminalStreamCursorByKey:l}})}},{name:B$e,version:4,storage:FJ(U$e),migrate:H$e,partialize:e=>({terminalStateByThreadKey:dZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function c1e(e){return typeof e==`string`?e:typeof e==`object`&&e&&`detail`in e&&typeof e.detail==`string`?e.detail:e instanceof Error?e.message:String(e)}function l1e(e){return e.match(/blocked by policy for\s+([^.\s]+(?:\.[^.\s]+)*)\.?/i)?.[1]||(e.match(/navigation to\s+([^.\s]+(?:\.[^.\s]+)*)\s+is restricted/i)?.[1]??null)}function NZ(e){let t=c1e(e).trim()||`Unknown browser error.`,n=l1e(t);return/blocked by policy|restricted to allowed domains/i.test(t)?{title:`Browser navigation blocked`,cause:`${n??`This URL`} is not allowed by the current browser policy.`,nextAction:`Use an allowed URL or update the browser allowed-domain setting.`,technicalDetail:t}:/does not match thread|session .*not found|no active browser tab|tab .*not found/i.test(t)?{title:`Browser session is stale`,cause:`Forge no longer has a matching live browser session for this thread.`,nextAction:`Restart the browser session from the Browser options menu.`,technicalDetail:t}:/screenshot|capture|Page\.capture/i.test(t)?{title:`Browser screenshot failed`,cause:`The browser could not capture the current page frame.`,nextAction:`Reload the page, then try the screenshot again.`,technicalDetail:t}:/timed out|timeout/i.test(t)?{title:`Browser action timed out`,cause:`Forge did not receive a response from the browser runtime in time.`,nextAction:`Retry the action. If it keeps failing, restart the browser session.`,technicalDetail:t}:/runtime is not available|browser.*unavailable|not supported|disabled/i.test(t)?{title:`Browser session unavailable`,cause:`This environment does not currently expose the in-app browser runtime.`,nextAction:`Use a workspace with browser support or restart Forge after browser support is enabled.`,technicalDetail:t}:/navigate|navigation|net::|ERR_/i.test(t)?{title:`Browser navigation failed`,cause:`The browser could not load the requested page.`,nextAction:`Check the URL and network access, then try again.`,technicalDetail:t}:{title:`Browser action failed`,cause:`Forge could not complete the browser action.`,nextAction:`Retry the action. If it keeps failing, restart the browser session from the Browser options menu.`,technicalDetail:t}}function u1e(e){let t=NZ(e);return`${t.cause} ${t.nextAction}`}function d1e(e){let t=NZ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var PZ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function FZ(e){return Vo(e)}function f1e(e){let t=e.status===`reconnecting`&&e.reason===`network_unreachable`;return e.transport===`remote-webrtc`&&(e.status===`connected`||e.status===`connecting`||e.status===`reconnecting`)&&(e.reason!==`network_unreachable`||t)&&e.reason!==`unsupported_host`}function p1e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function IZ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!f1e(t.display)||!p1e(n.display)?n:{...n,display:{...t.display,viewport:n.display.viewport??n.viewport??t.display.viewport,devicePixelRatio:n.display.devicePixelRatio??t.display.devicePixelRatio,iceServers:n.display.iceServers??t.display.iceServers,reconnect:t.display.reconnect??n.display.reconnect}}}function m1e(e){let{storedSession:t,nextSession:n}=e;if(!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId)return!1;let r=n.tabs.some(e=>e.navigationStatus===`pending`),i=t.tabs.some(e=>e.navigationStatus===`complete`||e.navigationStatus===`failed`);if(!r||!i)return!1;let a=Date.parse(t.updatedAt),o=Date.parse(n.updatedAt);return Number.isNaN(a)||Number.isNaN(o)?!1:o<a}function LZ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function h1e(e){switch(e.type){case`tab.updated`:return e.payload.tab.tabId;case`tab.closed`:case`snapshot.ready`:case`screenshot.ready`:case`frame.ready`:case`console.logs.ready`:case`display.iceCandidate`:case`display.metrics`:return e.payload.tabId;case`action.failed`:return e.payload.tabId??null;case`display.updated`:case`session.started`:case`session.updated`:case`session.closed`:return null}}function g1e(e,t){let n=h1e(t);return n?{...e,lastActivityByTabId:{...e.lastActivityByTabId,[n]:{actor:t.agentId?`agent`:`human`,agentId:t.agentId,browserId:t.browserId,eventType:t.type,...t.type===`action.failed`?{commandType:t.payload.commandType}:{},...t.type===`action.failed`?{message:t.payload.message}:{},createdAt:t.createdAt}}}:e}function _1e(e){switch(e.type){case`session.started`:case`session.updated`:case`tab.updated`:case`snapshot.ready`:case`screenshot.ready`:case`frame.ready`:case`display.updated`:return!0;case`session.closed`:case`tab.closed`:case`console.logs.ready`:case`action.failed`:case`display.iceCandidate`:case`display.metrics`:return!1}}function RZ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function v1e(e,t){let n=RZ(t);return e.some(e=>RZ(e)===n)?e:[...e,t]}function y1e(e){if(e.type!==`session.closed`)return null;switch(e.payload.reason){case`idle_timeout`:return`The browser was closed after being idle. Reopen the preview to restore this thread's browser.`;case`runtime_shutdown`:return`The browser runtime shut down. Reopen the preview to restore this thread's browser.`;case`thread_archived`:case`clear_browsing_data`:case`user_closed`:case void 0:return null}}function b1e(e){let t=e.event.payload.display;return t.status===`failed`||t.status===`unsupported`?t.detail??`Browser display is unavailable.`:e.currentLastError&&/browser display/i.test(e.currentLastError)?null:e.currentLastError}function x1e(e,t){let n=e.sessionsByBrowserId[t.browserId]??(e.session?.browserId===t.browserId?e.session:null);if(!n)return!0;let r=n.sessionId===t.payload.sessionId,i=!t.sessionEpoch||!n.sessionEpoch||t.sessionEpoch===n.sessionEpoch;return r&&i}function S1e(e,t){let n=e.lastFrameSequenceByTabId[t]??0;return{acceptedSequence:n,observedSequence:e.lastObservedFrameSequenceByTabId[t]??n,...e.lastFrameStreamIdByTabId[t]?{streamId:e.lastFrameStreamIdByTabId[t]}:{},...e.lastFrameStreamGenerationByTabId[t]===void 0?{}:{streamGeneration:e.lastFrameStreamGenerationByTabId[t]},...e.lastFrameMetaByTabId[t]?.capturedAt?{acceptedCapturedAt:e.lastFrameMetaByTabId[t].capturedAt}:{},gapCount:e.frameGapCountByTabId[t]??0}}function C1e(e,t){let n=t.payload.tabId,r=Fce(S1e(e,n),{sequence:t.payload.sequence,capturedAt:t.payload.capturedAt,...t.payload.streamId?{streamId:t.payload.streamId}:{},...t.payload.streamGeneration===void 0?{}:{streamGeneration:t.payload.streamGeneration},...t.payload.keyframe===void 0?{}:{keyframe:t.payload.keyframe}});return{decision:r,observedSequence:r.state.observedSequence,frameGapCount:r.state.gapCount}}function w1e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function T1e(e,t){let n=t.payload.tabId;return{...e,lastFrameByTabId:{...e.lastFrameByTabId,[n]:t.payload.imageDataUrl},lastFrameSequenceByTabId:{...e.lastFrameSequenceByTabId,[n]:t.payload.sequence},lastFrameStreamIdByTabId:t.payload.streamId?{...e.lastFrameStreamIdByTabId,[n]:t.payload.streamId}:e.lastFrameStreamIdByTabId,lastFrameStreamGenerationByTabId:t.payload.streamGeneration===void 0?e.lastFrameStreamGenerationByTabId:{...e.lastFrameStreamGenerationByTabId,[n]:t.payload.streamGeneration},lastFrameMetaByTabId:{...e.lastFrameMetaByTabId,[n]:{capturedAt:t.payload.capturedAt,url:t.payload.url,viewport:t.payload.viewport}},lastError:null}}function E1e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!x1e(t,n))return i;let o=C1e(t,n);if(!o.decision.observe)return i;let s=w1e(t,n,o),c=o.decision.accept?T1e(s,n):s;return{browserStateByThreadKey:LZ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var zZ=qt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=FZ(t),i=e.browserStateByThreadKey[r]??PZ,a=n?IZ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...i,session:a,selectedBrowserId:a?.browserId??i.selectedBrowserId,sessionsByBrowserId:a?{...i.sessionsByBrowserId,[a.browserId]:a}:i.sessionsByBrowserId,lastError:a?null:i.lastError})}}),selectBrowserSession:(t,n)=>e(e=>{let r=FZ(t),i=e.browserStateByThreadKey[r]??PZ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=FZ(t),i=_1e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=g1e(e.browserStateByThreadKey[r]??PZ,n);switch(n.type){case`session.started`:{if(m1e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=IZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:t,selectedBrowserId:a.selectedBrowserId??t.browserId,sessionsByBrowserId:{...a.sessionsByBrowserId,[t.browserId]:t},lastError:null}),pendingAutoRevealKeys:i}}case`session.updated`:{let t=IZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:a.selectedBrowserId&&a.selectedBrowserId!==n.payload.snapshot.browserId?a.session:t,selectedBrowserId:a.selectedBrowserId??n.payload.snapshot.browserId,sessionsByBrowserId:{...a.sessionsByBrowserId,[t.browserId]:t},lastError:null}),pendingAutoRevealKeys:i}}case`session.closed`:let t=a.selectedBrowserId===n.browserId||a.session?.browserId===n.browserId;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:t?null:a.session,selectedBrowserId:t?null:a.selectedBrowserId,sessionsByBrowserId:Object.fromEntries(Object.entries(a.sessionsByBrowserId).filter(([e])=>e!==n.browserId)),lastError:y1e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:b1e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o=t.tabs.map(e=>e.tabId===n.payload.tab.tabId?{...n.payload.tab,isActive:e.tabId===t.activeTabId}:{...e,isActive:e.tabId===t.activeTabId}).concat(t.tabs.some(e=>e.tabId===n.payload.tab.tabId)?[]:[{...n.payload.tab,isActive:n.payload.tab.tabId===t.activeTabId}]);return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:{...t,tabs:o},lastError:null}),pendingAutoRevealKeys:i}}case`tab.closed`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return e;let i=t.tabs.filter(e=>e.tabId!==n.payload.tabId);return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:{...t,tabs:i,activeTabId:t.activeTabId===n.payload.tabId?i[0]?.tabId??null:t.activeTabId}})}}case`snapshot.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastScreenshotDataUrlByTabId:{...a.lastScreenshotDataUrlByTabId,[n.payload.tabId]:n.payload.imageDataUrl},lastScreenshotMetaByTabId:{...a.lastScreenshotMetaByTabId,[n.payload.tabId]:{captureId:n.payload.captureId,capturedAt:n.payload.capturedAt,url:n.payload.url,viewport:n.payload.viewport}},lastError:null}),pendingAutoRevealKeys:i};case`frame.ready`:return E1e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastConsoleLogsByTabId:{...a.lastConsoleLogsByTabId,[n.payload.tabId]:n.payload.logs},lastConsoleLogsMetaByTabId:{...a.lastConsoleLogsMetaByTabId,[n.payload.tabId]:{capturedAt:n.createdAt,tabId:n.payload.tabId,count:n.payload.logs.length}},lastError:null})};case`display.iceCandidate`:{let t=a.displayIceCandidatesByClientId[n.payload.clientId]??[];return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:v1e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastError:d1e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=FZ(t);if(!(n in e.browserStateByThreadKey))return e;let{[n]:r,...i}=e.browserStateByThreadKey;return{browserStateByThreadKey:i}}),consumeAutoReveal:t=>e(e=>{if(!e.pendingAutoRevealKeys.has(t))return e;let n=new Set(e.pendingAutoRevealKeys);return n.delete(t),{pendingAutoRevealKeys:n}})}));function D1e(e,t){return t?e[FZ(t)]??null:null}var O1e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function k1e(e){return{x:Math.max(12,Math.min(e.position.x,e.viewportWidth-e.width-12)),y:Math.max(12,Math.min(e.position.y,e.viewportHeight-e.height-12))}}function A1e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function j1e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var BZ=`forge:ui-state:v1`,VZ=[`t3code:ui-state:v1`,`t3code:renderer-state:v8`,`t3code:renderer-state:v7`,`t3code:renderer-state:v6`,`t3code:renderer-state:v5`,`t3code:renderer-state:v4`,`t3code:renderer-state:v3`,`codething:renderer-state:v4`,`codething:renderer-state:v3`,`codething:renderer-state:v2`,`codething:renderer-state:v1`],HZ=`months`,M1e=new Set([`weeks`,`months`,`quarters`]);function N1e(e){return typeof e==`string`&&M1e.has(e)?e:HZ}function UZ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var WZ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:HZ,projectLeadCompanion:O1e},GZ=new Set,KZ=[],qZ=new Map,JZ=!1;function P1e(){if(typeof window>`u`)return WZ;try{let e=window.localStorage.getItem(BZ);if(!e){for(let e of VZ){let t=window.localStorage.getItem(e);if(t)return YZ(JSON.parse(t)),WZ}return WZ}let t=JSON.parse(e);return YZ(t),{...WZ,projectGroupOrder:F1e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:R1e(t.threadChangedFilesExpandedById),pinnedThreadById:I1e(t.pinnedThreadKeys),threadLinkedPrById:L1e(t.threadLinkedPrById),timelineWorkColumnWidth:UZ(t.timelineWorkColumnWidth??360),timelineScale:N1e(t.timelineScale)}}catch{return WZ}}function F1e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function I1e(e){if(!Array.isArray(e))return{};let t={};for(let n of e)typeof n==`string`&&n.length>0&&(t[n]=!0);return t}function L1e(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof n==`string`&&n.length!==0&&typeof r==`string`&&r.trim().length!==0&&(t[n]=r);return t}function R1e(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){if(!n||!r||typeof r!=`object`)continue;let e={};for(let[t,n]of Object.entries(r))t&&typeof n==`boolean`&&n===!1&&(e[t]=!1);Object.keys(e).length>0&&(t[n]=e)}return t}function YZ(e){GZ.clear(),KZ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&GZ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!KZ.includes(t)&&KZ.push(t)}function z1e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=qZ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=qZ.get(e);return t?[t]:[]}),r=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).flatMap(([e,t])=>{let n=Object.fromEntries(Object.entries(t).filter(([,e])=>e===!1));return Object.keys(n).length>0?[[e,n]]:[]}));if(window.localStorage.setItem(BZ,JSON.stringify({expandedProjectCwds:t,projectOrderCwds:n,projectGroupOrderKeys:e.projectGroupOrder,threadChangedFilesExpandedById:r,pinnedThreadKeys:Object.keys(e.pinnedThreadById).filter(t=>e.pinnedThreadById[t]),threadLinkedPrById:e.threadLinkedPrById,timelineWorkColumnWidth:e.timelineWorkColumnWidth,timelineScale:e.timelineScale})),!JZ){JZ=!0;for(let e of VZ)window.localStorage.removeItem(e)}}catch{}}var XZ=new Yt(z1e,{wait:500});function ZZ(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(t[e]!==r)return!1;return!0}function QZ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function B1e(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(!(e in t)||!ZZ(r,t[e]))return!1;return!0}function V1e(e,t){let n=new Map(qZ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));qZ.clear();for(let e of t)qZ.set(e.key,e.cwd);let i=n.size!==qZ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(KZ.map((e,t)=>[e,t])),c=t.map((e,t)=>{let n=r.get(e.cwd),i=o[e.key]??(n?o[n]:void 0)??(GZ.size>0?GZ.has(e.cwd):!0);return a[e.key]=i,{id:e.key,cwd:e.cwd,incomingIndex:t}}),l=e.projectOrder.length>0?(()=>{let t=new Map(c.map(e=>[e.cwd,e.id])),r=new Set,i=[];for(let o of e.projectOrder){let e=(o in a?o:void 0)??(()=>{let e=n.get(o);return e?t.get(e):void 0})();!e||r.has(e)||(r.add(e),i.push(e))}for(let e of c)r.has(e.id)||i.push(e.id);return i})():c.map(e=>({id:e.id,incomingIndex:e.incomingIndex,orderIndex:s.get(e.cwd)??KZ.length+e.incomingIndex})).toSorted((e,t)=>{let n=e.orderIndex-t.orderIndex;return n===0?e.incomingIndex-t.incomingIndex:n}).map(e=>e.id);return ZZ(e.projectExpandedById,a)&&QZ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function H1e(e,t){let n=new Set(t.map(e=>e.key)),r=Object.fromEntries(Object.entries(e.threadLastVisitedAtById).filter(([e])=>n.has(e)));for(let e of t)r[e.key]===void 0&&e.seedVisitedAt!==void 0&&e.seedVisitedAt.length>0&&(r[e.key]=e.seedVisitedAt);let i=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).filter(([e])=>n.has(e))),a=Object.fromEntries(Object.entries(e.pinnedThreadById).filter(([e,t])=>n.has(e)&&t)),o=Object.fromEntries(Object.entries(e.threadLinkedPrById).filter(([e])=>n.has(e)));return ZZ(e.threadLastVisitedAtById,r)&&B1e(e.threadChangedFilesExpandedById,i)&&ZZ(e.pinnedThreadById,a)&&ZZ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function U1e(e,t,n){let r=n??new Date().toISOString(),i=Date.parse(r),a=e.threadLastVisitedAtById[t],o=a?Date.parse(a):NaN;return Number.isFinite(o)&&Number.isFinite(i)&&o>=i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:r}}}function W1e(e,t,n){if(!n)return e;let r=Date.parse(n);if(Number.isNaN(r))return e;let i=new Date(r-1).toISOString();return e.threadLastVisitedAtById[t]===i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:i}}}function G1e(e,t){let n=t in e.threadLastVisitedAtById,r=t in e.threadChangedFilesExpandedById,i=t in e.pinnedThreadById,a=t in e.threadLinkedPrById;if(!n&&!r&&!i&&!a)return e;let o={...e.threadLastVisitedAtById},s={...e.threadChangedFilesExpandedById},c={...e.pinnedThreadById},l={...e.threadLinkedPrById};return delete o[t],delete s[t],delete c[t],delete l[t],{...e,threadLastVisitedAtById:o,threadChangedFilesExpandedById:s,pinnedThreadById:c,threadLinkedPrById:l}}function $Z(e,t,n){if(e.pinnedThreadById[t]===!0===n)return e;if(n)return{...e,pinnedThreadById:{...e.pinnedThreadById,[t]:!0}};let r={...e.pinnedThreadById};return delete r[t],{...e,pinnedThreadById:r}}function K1e(e,t){return $Z(e,t,e.pinnedThreadById[t]!==!0)}function q1e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function J1e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function Y1e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function X1e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function Z1e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function Q1e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function $1e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function e0e(e,t,n){if(t.length===0)return e;let r=new Set(t),i=new Set(n);if(t.every(e=>i.has(e)))return e;let a=e.projectOrder.findIndex(e=>i.has(e));if(a<0)return e;let o=[...e.projectOrder],s=[],c=0;for(let e=o.length-1;e>=0;e--)r.has(o[e])&&(s.unshift(o.splice(e,1)[0]),e<a&&c++);if(s.length===0)return e;let l=a-Math.max(0,c-1);return o.splice(l,0,...s),{...e,projectOrder:o}}function t0e(e,t){let n=[...new Set(t)],r=new Set(n),i=e.projectGroupOrder.filter(e=>r.has(e)),a=new Set(i);for(let e of n)a.has(e)||i.push(e);return QZ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function n0e(e,t,n){if(t===n)return e;let r=e.projectGroupOrder.indexOf(t),i=e.projectGroupOrder.indexOf(n);if(r<0||i<0)return e;let a=[...e.projectGroupOrder],[o]=a.splice(r,1);return o===void 0?e:(a.splice(i,0,o),{...e,projectGroupOrder:a})}var eQ=qt(e=>({...P1e(),syncProjects:t=>e(e=>V1e(e,t)),syncProjectGroups:t=>e(e=>t0e(e,t)),syncThreads:t=>e(e=>H1e(e,t)),markThreadVisited:(t,n)=>e(e=>U1e(e,t,n)),markThreadUnread:(t,n)=>e(e=>W1e(e,t,n)),clearThreadUi:t=>e(e=>G1e(e,t)),setThreadPinned:(t,n)=>e(e=>$Z(e,t,n)),toggleThreadPinned:t=>e(e=>K1e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>q1e(e,t,n)),clearThreadLinkedPr:t=>e(e=>J1e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>Y1e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>Z1e(e,t,n)),toggleProject:t=>e(e=>Q1e(e,t)),setProjectExpanded:(t,n)=>e(e=>$1e(e,t,n)),reorderProjects:(t,n)=>e(e=>e0e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>n0e(e,t,n)),setLastActiveProject:t=>e(e=>X1e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:UZ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:A1e(e.projectLeadCompanion,t)})),closeProjectLeadCompanion:()=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,open:!1}})),setProjectLeadCompanionMinimized:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,minimized:t}})),setProjectLeadCompanionDock:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,dock:t}})),setProjectLeadCompanionPosition:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,position:t}}))}));function r0e(e){eQ.getState().openProjectLeadCompanion(e)}eQ.subscribe(e=>XZ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{XZ.flush()});var i0e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),a0e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},o0e=Zre(rt(Jre((e,t,n,r)=>{let i=r.getRef(i0e),a=r.context.mapUnsafe.get(a0e.key)??{},o=a.headers?En(dn(a.headers),e.headers):e.headers,s=r=>Ze(Fee({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new Zn({reason:new cne({request:e,cause:t})})}),t=>Wte(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 wt(fte(e.body.stream),s)}return s(void 0)}))),s0e=cte.pipe(b,Lt(e=>{if(kn(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429){let t=lee(e.reason.response.headers[`retry-after`]).pipe(pte(Nre),m(()=>5));return rt(re(t))}return rt(re(1))})),c0e=Xe(function*(e){let t=yield*Ot(),n=at(t,Mre),r=at(t,Me),a=We(t),o=d(Ne(e.exportInterval),_ee),s,c=Kre(at(t,Bi)).pipe(Vi(Oe(Wi,!1)),Yre({schedule:s0e,times:3})),u=Cn({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(u=En(dn(e.headers),u));let f=Lre(e.url,{headers:u}),p=[],m=At(()=>{if(s!==void 0&&n.currentTimeMillisUnsafe()<s)return ct;s!==void 0&&(s=void 0);let t=p;if(e.maxBatchSize!==`disabled`){if(p.length===0)return ct;p=[]}return c.execute(Ri(f,e.body(t))).pipe(mee,jee(!1))}).pipe(Ge(e=>s===void 0?(s=n.currentTimeMillisUnsafe()+6e4,p=[],kee(`Disabling exporter for 60 seconds`,e)):ct),l({package:`@effect/opentelemetry`,module:e.label}));return yield*Bt(r,m.pipe(Dt,ft,Wee(e.shutdownTimeout))),yield*i(o).pipe(zt(m),et,Nt(r)),{push(t){s===void 0&&(p.push(t),e.maxBatchSize!==`disabled`&&p.length>=e.maxBatchSize&&pe(a(m),r))}}}),l0e=e=>{let t=e.attributes?tQ(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}},u0e=Xe(function*(e){let t={...yield*$l(jn(jle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*$l(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*$l(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],l0e({serviceName:n,serviceVersion:r,attributes:t})},c),d0e=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},tQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:nQ(r)});return t},nQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(nQ)}};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:Kee(e)}}},rQ=class extends yt()(`effect/observability/OtlpSerialization`){},f0e=he(rQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),p0e=Xe(function*(e){let t=yield*u0e(e.resource),n=yield*rQ,r={name:d0e(t)},i=yield*c0e({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??re(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return n.traces(i)},shutdownTimeout:e.shutdownTimeout??re(3)});function a(e){e.sampled&&i.push(g0e(e))}return xe({span(e){return h0e({...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})}),m0e={_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)}},h0e=e=>{let t=Object.assign(Object.create(m0e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:iQ(32),t.spanId=iQ(16),t.events=[],t},iQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},g0e=e=>{let t=e.status,n=tQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?tQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=v0e;else if(dt(t.exit.cause))i={code:aQ.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=lte(t.exit.cause);if(i={code:aQ.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:we(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:_0e[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:tQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},aQ={Unset:0,Ok:1,Error:2},_0e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},v0e={code:aQ.Ok},y0e=1e4,b0e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":fl}},x0e=De(o0e,f0e,he(Ui,()=>!0)),oQ=null,sQ=null,cQ=null,lQ=null,uQ=0,dQ=Promise.resolve(),S0e=he(Hee,xe({span(e){return oQ?.span(e)??new s(e)}}));function C0e(e={}){return e.exportIntervalMs===void 0&&lQ!==null||(dQ=dQ.finally(()=>w0e(e))),dQ}async function w0e(e){let t=or(`/api/observability/v1/traces`),n=mr()?.bearerToken,r=Math.max(10,e.exportIntervalMs??y0e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(lQ===i&&oQ!==null)return;lQ=i;let a=++uQ,o=sQ,s=cQ;oQ=null,sQ=null,cQ=null,await fQ(o,s);let c=il(x0e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(p0e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:b0e})));if(a!==uQ){await fQ(c,l);return}oQ=e,sQ=c,cQ=l}catch(e){await fQ(c,l),a===uQ&&console.warn(`Failed to configure client tracing exporter`,{error:T0e(e),otlpTracesUrl:t})}}async function fQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function T0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var pQ=15e3,mQ=new Map,hQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function gQ(e){Ht.set(hQ,[...e])}function _Q(){return Ht.get(hQ)}var vQ=`global`;function E0e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function D0e(e,t,n=vQ){if(!E0e(t))return;xQ(e,n),j0e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:pQ},a=bQ(n,e),o=setTimeout(()=>{mQ.delete(a),A0e(i)},pQ);mQ.set(a,{request:i,timeoutId:o})}function O0e(e,t=vQ){xQ(e,t);let n=_Q();n.some(n=>n.clientId===t&&n.requestId===e)&&gQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function yQ(e){for(let[t,n]of mQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),mQ.delete(t));gQ(_Q().filter(t=>t.clientId!==e))}function k0e(){for(let e of mQ.values())clearTimeout(e.timeoutId);mQ.clear(),gQ([])}function bQ(e,t){return`${e}:${t}`}function xQ(e,t){let n=bQ(t,e),r=mQ.get(n);r&&(clearTimeout(r.timeoutId),mQ.delete(n))}function A0e(e){let t=[..._Q(),e];if(t.length<=256){gQ(t);return}gQ(t.slice(-256))}function j0e(){for(;mQ.size>=256;){let e=mQ.keys().next().value;if(e===void 0)return;let t=mQ.get(e);if(!t)return;xQ(t.request.requestId,t.request.clientId)}}function M0e(){return cr(hQ)}var N0e=ko(Mn),SQ=1;function P0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function CQ(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 F0e(){return{onAttempt:Lne,onOpen:One,onError:e=>{Ine(e)},onClose:e=>{kne(e)},trackGlobalConnection:!0}}function I0e(e){let t=F0e(),n=e?.trackGlobalConnection??!0;return{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=>{n&&t.onClose(r),e?.onClose?.(r)},trackGlobalConnection:n}}function L0e(e,t){let n=SQ;SQ+=1;let r=I0e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>CQ(e)),ite(e=>pt(()=>{r.onError(P0e(e))})),c):CQ(e),a=he(oa,(e,t)=>{r.onAttempt(e);let n=new globalThis.WebSocket(e,t);return n.addEventListener(`open`,()=>{r.onOpen()},{once:!0}),n.addEventListener(`error`,()=>{r.onError(`Unable to connect to the Forge server WebSocket.`)},{once:!0}),n.addEventListener(`close`,e=>{r.onClose({code:e.code,reason:e.reason})},{once:!0}),n}),o=sa(i).pipe(E(a)),s=Lt(_(10),e=>rt(Ue(Fne(e)??0)));return ht(Mo,Ze(No({retryPolicy:s,retryTransientErrors:!0}),e=>({...e,run:(t,r)=>{let i=`${n}:${String(t)}`;return e.run(t,e=>(e._tag===`Chunk`||e._tag===`Exit`?O0e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&yQ(i),r(e))).pipe(Je(pt(()=>{yQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&D0e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,Oo)))}var R0e=/^all fibers interrupted without error$/i;function z0e(e){return yG(e)||R0e.test(e.trim())}var B0e=Ue(250),wQ=()=>void 0,TQ=class extends Error{name=`WsRequestTimeoutError`;timeoutMs;constructor(e){let t=Be(Ne(e));super(`WebSocket RPC request timed out after ${t}ms.`),this.timeoutMs=t}},V0e=new Set([`OrchestrationGetSnapshotError`]);function H0e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&V0e.has(t)}function U0e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?W0e(e):String(e)}function W0e(e){try{return JSON.stringify(e)}catch{let t=e;return[typeof t._tag==`string`?t._tag:void 0,typeof t.message==`string`?t.message:void 0].filter(Boolean).join(`: `)||Object.prototype.toString.call(e)}}var G0e=4e3,K0e=1e4,q0e=500,EQ=class{url;lifecycleHandlers;disposed=!1;hasReportedTransportDisconnect=!1;reconnectChain=Promise.resolve();session;heartbeatTimer=null;heartbeatInFlight=!1;protocol;timing;constructor(e,t,n,r){this.url=e,this.lifecycleHandlers=t,this.protocol=n??null,this.timing={heartbeatIntervalMs:r?.heartbeatIntervalMs??G0e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??K0e,sessionCloseGraceMs:r?.sessionCloseGraceMs??q0e},this.session=this.createSession(),this.startHeartbeat()}startHeartbeat(){this.heartbeatTimer===null&&(this.heartbeatTimer=setInterval(()=>{if(this.disposed||this.heartbeatInFlight)return;this.heartbeatInFlight=!0;let e=this.session;this.request(e=>e[M.serverHeartbeat]({}),{timeout:this.timing.heartbeatTimeoutMs}).catch(async()=>{this.disposed||e!==this.session||await this.reconnect()}).finally(()=>{this.heartbeatInFlight=!1})},this.timing.heartbeatIntervalMs))}async request(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,i=await n.clientPromise,a=At(()=>e(i)),o=t?.timeout,s=o===void 0?a:a.pipe(Mt({duration:o,orElse:()=>r(new TQ(o))}));return await n.runtime.runPromise(s,{signal:t?.signal})}async requestStream(e,t,n){if(this.disposed)throw Error(`Transport disposed`);let r=this.session,i=this.runStreamOnSession(r,e,t,()=>!0,()=>void 0),a=()=>i.cancel();n?.signal?.aborted&&a(),n?.signal?.addEventListener(`abort`,a,{once:!0});try{await i.completed}catch(e){if(n?.signal?.aborted){let e=Error(`RPC stream request was cancelled.`);throw e.name=`AbortError`,e}throw e}finally{n?.signal?.removeEventListener(`abort`,a)}}subscribe(e,t,n){if(this.disposed)return()=>void 0;let r={active:!0,hasReceivedValue:!1,cancelCurrentStream:wQ},i=Be(Ne(n?.retryDelay??B0e));return this.runSubscriptionLoop(e,t,n,r,i),()=>{r.active=!1,r.cancelCurrentStream()}}async runSubscriptionLoop(e,t,n,r,i){for(;r.active&&!this.disposed;){let a=this.session;try{this.notifyResubscribe(r,n);let i=this.startSubscriptionStream(a,e,t,r);r.cancelCurrentStream=i.cancel,await i.completed,r.cancelCurrentStream=wQ}catch(e){if(r.cancelCurrentStream=wQ,!await this.handleSubscriptionFailure(e,a,r,n,i))return}}}notifyResubscribe(e,t){if(e.hasReceivedValue)try{t?.onResubscribe?.()}catch{}}startSubscriptionStream(e,t,n,r){return this.runStreamOnSession(e,t,n,()=>r.active,()=>{this.hasReportedTransportDisconnect=!1,r.hasReceivedValue=!0})}async handleSubscriptionFailure(e,t,n,r,i){if(!n.active||this.disposed)return!1;if(t!==this.session)return!0;let a=U0e(e);return z0e(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await J0e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){H0e(e)||AG(e,{route:`ws-subscribe`,reason:`non-transport-error`}),t?.onError?.(e)}async reconnect(){if(this.disposed)throw Error(`Transport disposed`);let e=this.reconnectChain.then(async()=>{if(this.disposed)throw Error(`Transport disposed`);let e=this.session;this.session=this.createSession(),await this.closeSession(e)});this.reconnectChain=e.catch(e=>{AG(e,{route:`ws-reconnect`})}),await e}async dispose(){this.disposed||(this.disposed=!0,this.heartbeatTimer!==null&&this.heartbeatTimer!==void 0&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),await this.closeSession(this.session))}async closeSession(e){let t=e.runtime.runPromise(He(e.clientScope,Tt)),n=!1,r=null,i=new Promise(e=>{r=setTimeout(()=>{n=!0,e()},this.timing.sessionCloseGraceMs)});try{await Promise.race([t,i])}finally{r!==null&&clearTimeout(r),n&&(console.warn(`WebSocket session close exceeded its grace period; forcing disposal`,{graceMs:this.timing.sessionCloseGraceMs}),t.catch(()=>void 0)),await e.runtime.dispose()}}createSession(){let e=this.protocol??{layer:L0e(this.url,this.lifecycleHandlers),makeClient:N0e},t=il(De(e.layer,S0e)),n=t.runSync(ze());return{runtime:t,clientScope:n,clientPromise:t.runPromise(te(n)(e.makeClient))}}runStreamOnSession(e,t,n,r,i){let a,o,s=new Promise((e,t)=>{a=e,o=t});return{cancel:e.runtime.runCallback(gt(()=>e.clientPromise).pipe(wt(e=>Gee(t(e),e=>pt(()=>{if(r()){i();try{n(e)}catch{}}})))),{onExit:e=>{if(ete(e)){a();return}o(Ie(e.cause))}}),completed:s}}};function J0e(e){return new Promise(t=>{setTimeout(t,e)})}var DQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Y0e=/^[A-Za-z0-9_-]+$/;function X0e(e){let t=``;for(let n=0;n<e.byteLength;n+=3){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0,o=r<<16|i<<8|a;t+=DQ[o>>>18&63],t+=DQ[o>>>12&63],n+1<e.byteLength&&(t+=DQ[o>>>6&63]),n+2<e.byteLength&&(t+=DQ[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function Z0e(e){if(e.length===0||!Y0e.test(e))throw Error(`Bulk transfer chunk is not valid base64url data.`);let t=e.replaceAll(`-`,`+`).replaceAll(`_`,`/`),n=Math.floor(t.length*6/8),r=new Uint8Array(n),i=0,a=0,o=0;for(let e of t){let t=DQ.indexOf(e);if(t<0)throw Error(`Bulk transfer chunk is not valid base64url data.`);i=i<<6|t,a+=6,a>=8&&(a-=8,r[o]=i>>>a&255,o+=1)}return r}async function OQ(e){let t=new Uint8Array(e.byteLength);t.set(e);let n=await crypto.subtle.digest(`SHA-256`,t.buffer);return Array.from(new Uint8Array(n),e=>e.toString(16).padStart(2,`0`)).join(``)}async function Q0e(e,t){let n=t?.chunkBytes??262144;if(!Number.isSafeInteger(n)||n<1||n>262144)throw Error(`Bulk transfer chunk size must be between 1 and ${Gte}.`);let r=t?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),i=[];for(let t=0;t<e.byteLength;t+=n){let a=e.slice(t,Math.min(t+n,e.byteLength));i.push({kind:`chunk`,transferId:r,offset:t,bytes:a.byteLength,data:X0e(a),sha256:await OQ(a)})}return{totalBytes:e.byteLength,sha256:await OQ(e),chunks:i}}async function $0e(e){let t=Z0e(e.data);if(t.byteLength!==e.bytes)throw Error(`Bulk transfer chunk byte count mismatch at offset ${e.offset}: expected ${e.bytes}, received ${t.byteLength}.`);if(await OQ(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function e2e(e){let t=new Map,n=[],r=0;for(let i of e.chunks){let e=t.get(i.offset);if(e!==void 0){if(e.bytes!==i.bytes||e.sha256!==i.sha256||e.data!==i.data)throw Error(`Bulk transfer has a conflicting duplicate chunk at offset ${i.offset}.`);continue}if(i.offset!==r)throw Error(`Bulk transfer chunk offset mismatch: expected ${r}, received ${i.offset}.`);let a=await $0e(i);t.set(i.offset,i),n.push({chunk:i,bytes:a}),r+=a.byteLength}if(r!==e.totalBytes)throw Error(`Bulk transfer total byte count mismatch: expected ${e.totalBytes}, received ${r}.`);let i=new Uint8Array(e.totalBytes);for(let e of n)i.set(e.bytes,e.chunk.offset);if(await OQ(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var kQ=`forge`,t2e=RegExp(`^${kQ}\\/[0-9a-f]{8}$`);function n2e(){return`${kQ}/${fe(vte).replace(/-/g,``).slice(0,8).toLowerCase()}`}function r2e(e){return t2e.test(e.trim().toLowerCase())}function i2e(e){let t=e.trim().replace(/\/+$/g,``).replace(/\.git$/i,``).toLowerCase();if(/^(?:ssh|https?|git):\/\//i.test(t))try{let e=new URL(t),n=e.pathname.split(`/`).filter(e=>e.length>0).join(`/`);if(e.hostname&&n.includes(`/`))return`${e.hostname}/${n}`}catch{return t}let n=/^git@([^:/\s]+)[:/]([^/\s]+(?:\/[^/\s]+)+)$/i.exec(t);return n?.[1]&&n[2]?`${n[1]}/${n[2]}`:t}function a2e(e){let t=e?.trim()??``;if(t.length===0)return null;let n=/^(?:git@github\.com:|ssh:\/\/git@github\.com\/|https:\/\/github\.com\/|git:\/\/github\.com\/)([^/\s]+\/[^/\s]+?)(?:\.git)?\/?$/i.exec(t)?.[1]?.trim()??``;return n.length>0?n:null}function o2e(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`git@`)){let e=t.slice(4),n=e.search(/[:/]/);return n<=0?null:e.slice(0,n).toLowerCase()}try{return new URL(t).hostname.toLowerCase()}catch{return null}}function AQ(e){return`https://${e}`}function s2e(e){return e===`github.com`||e.includes(`github`)}function c2e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function l2e(e){return e===`bitbucket.org`}function u2e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function d2e(e){let t=o2e(e);if(!t)return null;let n=i2e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?s2e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:AQ(t)}:c2e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:AQ(t)}:l2e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:AQ(t)}:u2e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:AQ(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:AQ(t)}:null}var f2e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function jQ(e,t){return{...e,...t??f2e}}function p2e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function m2e(e){return{isRepo:e.isRepo,...e.hostingProvider?{hostingProvider:e.hostingProvider}:{},hasOriginRemote:e.hasOriginRemote,isDefaultBranch:e.isDefaultBranch,branch:e.branch,hasWorkingTreeChanges:e.hasWorkingTreeChanges,workingTree:e.workingTree}}function h2e(e,t){switch(t._tag){case`snapshot`:return jQ(t.local,t.remote);case`localUpdated`:return jQ(t.local,e?p2e(e):null);case`remoteUpdated`:return jQ(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:m2e(e),t.remote)}}var g2e=262144,_2e=250;function v2e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function y2e(e){return new Promise(t=>setTimeout(t,e))}function b2e(e){let t=kce({controllerId:crypto.randomUUID(),maxPendingWriteBytes:g2e}),n=!1,r=e=>{if(!e.sessionEpoch)throw Error(`Connected Forge runtime does not support epoch-fenced terminal controls.`);t.register({threadId:e.threadId,terminalId:e.terminalId,sessionEpoch:e.sessionEpoch})},i=async e=>{for(;!n;)try{return await e()}catch(e){if(!yG(v2e(e)))throw e;await y2e(_2e)}throw Error(`Terminal control client was disposed before acknowledgement.`)};return{terminal:{open:async t=>{let n=await e.request(e=>e[M.terminalOpen]({...t,terminalId:t.terminalId??`default`}));return r(n),n},write:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,writeBytes:new TextEncoder().encode(n.data).byteLength,execute:t=>i(()=>e.request(e=>e[M.terminalWrite]({...n,terminalId:r,...t})))})},resize:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalResize]({...n,terminalId:r,...t})))})},signal:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalSignal]({...n,terminalId:r,...t})))})},clear:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalClear]({...n,terminalId:r,...t})))})},restart:async n=>{let a=n.terminalId??`default`,o=null;if(await t.enqueue({threadId:n.threadId,terminalId:a,execute:async t=>{o=(await i(()=>e.request(e=>e[M.terminalRestart]({...n,terminalId:a,...t})))).snapshot}}),o===null)throw Error(`Terminal restart completed without a snapshot.`);return r(o),o},close:async n=>{let r=n.terminalId?[n.terminalId]:t.terminalIds(n.threadId);for(let a of r)await t.enqueue({threadId:n.threadId,terminalId:a,execute:t=>i(()=>e.request(e=>e[M.terminalClose]({...n,terminalId:a,...t})))}),t.remove(n.threadId,a)},onEvent:t=>e.subscribe(e=>e[M.subscribeTerminalEvents]({}),e=>{(e.type===`started`||e.type===`restarted`)&&r(e.snapshot),t(e)})},dispose:()=>{n=!0,t.dispose()}}}function x2e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function S2e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var C2e=2e4,w2e=12e4,T2e=3e5;function E2e(e){return e instanceof TQ||yG(e instanceof Error?e.message:String(e))}async function D2e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?T2e:C2e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!E2e(t))throw t;return await e.reconnect(),await r()}}function MQ(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function NQ(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>O2e(r,e,n),n),r.protocolError!==null)throw r.protocolError;let i=r.started,a=r.completed;if(i===null||a===null)throw Error(`Bulk transfer stream completed without start and completion metadata.`);if(a.transferId!==i.transferId||a.totalBytes!==i.totalBytes||a.sha256!==i.sha256)throw Error(`Bulk transfer completion metadata mismatch.`);return await e2e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function O2e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){k2e(e,t,n);return}if(e.started===null||t.transferId!==e.started.transferId){e.protocolError=Error(`Bulk transfer event identity mismatch.`);return}if(t.kind===`chunk`){A2e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function k2e(e,t,n){if(e.started!==null||t.totalBytes>16777216){e.protocolError=Error(`Bulk transfer started with invalid or oversized metadata.`);return}e.started=t,n?.onProgress?.({completedBytes:0,totalBytes:t.totalBytes})}function A2e(e,t,n){let r=e.started;if(r!==null){if(e.receivedBytes+=t.bytes,e.receivedBytes>r.totalBytes){e.protocolError=Error(`Bulk transfer exceeded its declared byte count.`);return}e.chunks.push(t),n?.onProgress?.({completedBytes:e.receivedBytes,totalBytes:r.totalBytes})}}async function j2e(e,t,n){let r=new TextEncoder().encode(t.contents);if(r.byteLength>16777216)throw Error(`Project file exceeds the ${Jte}-byte write limit.`);let i=await Q0e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{MQ(n?.signal);let r=await M2e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await N2e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await S2e(e,a),t}}function M2e(e,t,n,r){return e.request(e=>e[M.workspaceBeginWriteFile]({transferId:n,cwd:t.cwd,relativePath:t.relativePath,totalBytes:r.totalBytes,sha256:r.sha256}))}async function N2e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;MQ(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}MQ(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function PQ(e){let t=b2e(e);return{dispose:()=>(t.dispose(),e.dispose()),reconnect:async()=>{wne(),await e.reconnect()},terminal:t.terminal,browser:{openSession:t=>e.request(e=>e[M.browserOpenSession](t)),listSessions:t=>e.request(e=>e[M.browserListSessions](t)),closeSession:t=>e.request(e=>e[M.browserCloseSession](t)),getSession:t=>e.request(e=>e[M.browserGetSession](t)),command:t=>e.request(e=>e[M.browserCommand](t)),clearBrowsingData:t=>e.request(e=>e[M.browserClearBrowsingData](t)),attachDisplay:t=>e.request(e=>e[M.browserAttachDisplay](t)),addDisplayIceCandidate:t=>e.request(e=>e[M.browserAddDisplayIceCandidate](t)),onEvent:(t,n,r)=>e.subscribe(e=>e[M.subscribeBrowserEvents](t),n,r)},computer:{input:t=>e.request(e=>e[M.computerInput](t))},threadDevRuntime:{get:t=>e.request(e=>e[M.threadDevRuntimeGet](t)),allocatePort:t=>e.request(e=>e[M.threadDevRuntimeAllocatePort](t)),release:t=>e.request(e=>e[M.threadDevRuntimeRelease](t))},devTunnel:{register:t=>e.request(e=>e[M.devTunnelRegister](t)),unregister:t=>e.request(e=>e[M.devTunnelUnregister](t)),list:t=>e.request(e=>e[M.devTunnelList](t))},attachments:x2e(e),projects:{searchContents:(t,n)=>e.request(e=>e[M.projectsSearchContents](t),n),searchEntries:t=>e.request(e=>e[M.projectsSearchEntries](t)),readFile:(t,n)=>NQ(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>j2e(e,t,n)},projectCheckoutDeletion:{preview:t=>e.request(e=>e[M.projectCheckoutDeletionPreview](t)),execute:t=>e.request(e=>e[M.projectCheckoutDeletionExecute](t))},codeGraph:{summary:t=>e.request(e=>e[M.codeGraphSummary](t)),neighborhood:t=>e.request(e=>e[M.codeGraphNeighborhood](t)),search:t=>e.request(e=>e[M.codeGraphSearch](t))},workspace:{environmentPreflight:t=>e.request(e=>e[M.workspaceEnvironmentPreflight](t)),ensureScratch:t=>e.request(e=>e[M.workspaceEnsureScratch](t))},shell:{openInEditor:t=>e.request(e=>e[M.shellOpenInEditor](t))},git:{pull:t=>e.request(e=>e[M.gitPull](t)),refreshStatus:t=>e.request(e=>e[M.gitRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[M.subscribeGitStatus](t),e=>{i=h2e(i,e),n(i)},r)},runStackedAction:async(t,n)=>{let r=null;if(await e.requestStream(e=>e[M.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.`)},listBranches:t=>e.request(e=>e[M.gitListBranches](t)),createWorktree:t=>e.request(e=>e[M.gitCreateWorktree](t)),removeWorktree:t=>e.request(e=>e[M.gitRemoveWorktree](t)),createBranch:t=>e.request(e=>e[M.gitCreateBranch](t)),checkout:t=>e.request(e=>e[M.gitCheckout](t)),init:t=>e.request(e=>e[M.gitInit](t)),resolvePullRequest:t=>e.request(e=>e[M.gitResolvePullRequest](t)),preparePullRequestThread:t=>e.request(e=>e[M.gitPreparePullRequestThread](t))},pullRequests:{list:t=>e.request(e=>e[M.pullRequestsList](t)),listStats:t=>e.request(e=>e[M.pullRequestsListStats](t)),detail:t=>e.request(e=>e[M.pullRequestsDetail](t)),activity:t=>e.request(e=>e[M.pullRequestsActivity](t)),threadComments:t=>e.request(e=>e[M.pullRequestsThreadComments](t)),diffFileContents:t=>e.request(e=>e[M.pullRequestsDiffFileContents](t)),runAction:t=>e.request(e=>e[M.pullRequestsRunAction](t)),update:t=>e.request(e=>e[M.pullRequestsUpdate](t)),comment:t=>e.request(e=>e[M.pullRequestsComment](t)),updateComment:t=>e.request(e=>e[M.pullRequestsUpdateComment](t)),submitReview:t=>e.request(e=>e[M.pullRequestsSubmitReview](t)),replyToThread:t=>e.request(e=>e[M.pullRequestsReplyToThread](t)),setThreadResolution:t=>e.request(e=>e[M.pullRequestsSetThreadResolution](t)),setReaction:t=>e.request(e=>e[M.pullRequestsSetReaction](t)),invalidate:t=>e.request(e=>e[M.pullRequestsInvalidate](t)),reviewerCandidates:t=>e.request(e=>e[M.pullRequestsReviewerCandidates](t)),requestReviewers:t=>e.request(e=>e[M.pullRequestsRequestReviewers](t))},server:{getConfig:()=>e.request(e=>e[M.serverGetConfig]({})),refreshProviders:()=>e.request(e=>e[M.serverRefreshProviders]({})),startProviderAuth:t=>e.request(e=>e[M.serverStartProviderAuth](t)),repairProviderAuthRuntime:t=>e.request(e=>e[M.serverRepairProviderAuthRuntime](t)),disconnectProviderAuth:t=>e.request(e=>e[M.serverDisconnectProviderAuth](t)),getProviderAuthSession:t=>e.request(e=>e[M.serverGetProviderAuthSession](t)),cancelProviderAuth:t=>e.request(e=>e[M.serverCancelProviderAuth](t)),submitProviderAuthCode:t=>e.request(e=>e[M.serverSubmitProviderAuthCode](t)),syncPersonalCodexToCloud:t=>e.request(e=>e[M.serverSyncPersonalCodexToCloud](t)),syncPersonalClaudeToCloud:t=>e.request(e=>e[M.serverSyncPersonalClaudeToCloud](t)),upsertKeybinding:t=>e.request(e=>e[M.serverUpsertKeybinding](t)),removeKeybinding:t=>e.request(e=>e[M.serverRemoveKeybinding](t)),getSettings:()=>e.request(e=>e[M.serverGetSettings]({})),updateSettings:t=>e.request(e=>e[M.serverUpdateSettings]({patch:t})),updateEnvironmentDisplayName:t=>e.request(e=>e[M.serverUpdateEnvironmentDisplayName](t)),getTraceDiagnostics:t=>e.request(e=>e[M.serverGetTraceDiagnostics](t)),subscribeConfig:(t,n)=>e.subscribe(e=>e[M.subscribeServerConfig]({}),t,n),subscribeLifecycle:(t,n)=>e.subscribe(e=>e[M.subscribeServerLifecycle]({}),t,n),subscribeAuthAccess:(t,n)=>e.subscribe(e=>e[M.subscribeAuthAccess]({}),t,n),subscribeWorkspaceReadiness:(t,n)=>e.subscribe(e=>e[M.subscribeWorkspaceReadiness]({}),t,n)},usage:{getSummary:t=>e.request(e=>e[M.usageGetSummary](t),{timeout:w2e})},orchestration:{dispatchCommand:t=>D2e(e,t),getTurnDiff:(t,n)=>NQ(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>NQ(e,e=>e[qn.streamFullThreadDiff](t),n).then(e=>({...t,fromTurnCount:0,diff:new TextDecoder().decode(e)})),subscribeShell:(t,n)=>e.subscribe(e=>e[qn.subscribeShell]({}),t,n),subscribeThread:(t,n,r)=>e.subscribe(e=>e[qn.subscribeThread](t),n,r)}}}var P2e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function FQ(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!P2e.has(t)?null:t}function IQ(e,t){return e===401||e===403||FQ(t)!==null}function F2e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return IQ(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var LQ=`forge.deviceRegistry.deviceKey`,RQ=`forge.deviceRegistry.runtimeId`;function I2e(e){let t=VQ(LQ,e.desktopIdentity?.deviceKey,`device`),n=VQ(RQ,e.desktopIdentity?.runtimeId,`runtime`),r=BQ(e.desktopIdentity?.hostKey),i=B2e(),a=e.desktopAvailable?`desktop`:V2e(),o=e.desktopAvailable?z2e(e.desktopIdentity)??H2e(i):U2e(i);return{device:{...r?{hostKey:r}:{},deviceKey:t,displayName:o,platform:i,deviceType:a,metadata:{clientKind:e.desktopAvailable?`forge-desktop`:`forge-web`,userAgent:window.navigator.userAgent,origin:window.location.origin,...e.desktopIdentity?{desktopIdentity:{hostName:e.desktopIdentity.hostName,computerName:e.desktopIdentity.computerName,platform:e.desktopIdentity.platform}}:{}}},...e.desktopAvailable&&e.includeExecutableRuntime!==!1?{runtime:{runtimeId:n,runtimeKind:`desktop-local`,displayName:`Local Forge Desktop`,endpointUrl:e.desktopEndpointUrl??null,status:`online`,metadata:{origin:window.location.origin}}}:{}}}async function zQ(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return I2e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function BQ(e){let t=e?.trim()??``;return t.length>0?t:null}function VQ(e,t,n){let r=BQ(t);return r?(JJ(e,r),r):R2e(e,n)}function L2e(){return qJ(RQ)}function HQ(){return qJ(LQ)}function R2e(e,t){let n=qJ(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return JJ(e,r),r}function z2e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function B2e(){let e=window.navigator.userAgent.toLowerCase();return e.includes(`iphone`)||e.includes(`ipad`)?`ios`:e.includes(`android`)?`android`:e.includes(`mac`)?`macos`:e.includes(`win`)?`windows`:e.includes(`linux`)?`linux`:`unknown`}function V2e(){let e=window.navigator.userAgent.toLowerCase();return e.includes(`ipad`)||e.includes(`tablet`)?`tablet`:e.includes(`mobi`)||e.includes(`iphone`)||e.includes(`android`)?`mobile`:`browser`}function H2e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function U2e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var UQ=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function WQ(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new UQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new UQ(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function W2e(e){let t=e.getStoredDeviceKey(),n=t?await e.apiClient.getDeviceRegistry():await e.apiClient.registerDevice(await e.buildDeviceRegistration());return t&&!n.devices.some(e=>e.deviceKey===t)&&(n=await e.apiClient.registerDevice(await e.buildDeviceRegistration())),t??=e.getStoredDeviceKey(),{deviceKey:t,registry:n}}function G2e(e){if(!e.deviceKey)throw new UQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface could not establish CMMD identity.`);let t=e.registry.devices.find(t=>t.deviceKey===e.deviceKey);if(t?.trustState===`revoked`||t?.authorization?.revoked===!0)throw new UQ(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new UQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function K2e(e,t){let n=async()=>G2e(await W2e(t));return{acquireRoute:async()=>{let r=await n(),i=await Ece();try{return Oce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...Dce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof nl)throw new UQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return WQ(e)}},acquireActionGrant:async r=>{let i=await n();try{return(await t.apiClient.issueRelayActionGrant(e,{controlDeviceId:i.id,controlSessionId:t.controlSessionId,...r})).token}catch(e){return WQ(e)}}}}var GQ=`forge.relayControlJournal.v1`;function KQ(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var q2e={read:()=>KQ().getItem(GQ),write:e=>KQ().setItem(GQ,e)},qQ=null,JQ=qt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function J2e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));JQ.getState().replace(Object.fromEntries([...t].map(t=>[t,Vse(e.records,t)])))})}function YQ(){return qQ===null&&(qQ=zc({storage:q2e}),J2e(qQ)),qQ}function Y2e(){let e=(0,ll.c)(1),t=JQ(Z2e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(X2e,n),t}function X2e(){YQ()}function Z2e(e){return e.byRuntimeId}function Q2e(e){let t=YQ();for(let n of t.records())n.runtimeId===e&&(n.status===`failed`||n.status===`outcome-unknown`)&&t.acknowledge(n.runtimeId,n.actorSessionId,n.transportRequestId)}var $2e=12e4,e4e=3e4,XQ=3e4;function ZQ(e){let t=e.expiresAt?Date.parse(e.expiresAt):NaN;if(!Number.isFinite(t))throw Error(`Cloud runtime authority descriptor has no valid expiry.`);return t}function t4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function n4e(e){let t=e.now??Date.now,n=e.renewalSkewMs??$2e,r=!1,i=null,a=null,o=ZQ(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=ZQ(a);o=c;let l=Math.max(t(),c-n);e.onState?.({kind:`scheduled`,expiresAt:new Date(c).toISOString(),renewAt:new Date(l).toISOString()}),i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},Math.max(0,l-t()))},l=()=>{if(r)return null;let e=t()+XQ;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},XQ),new Date(e).toISOString())},u=()=>{if(r)return Promise.resolve();if(a)return a;s(),e.onState?.({kind:`renewing`,expiresAt:new Date(o).toISOString()});let n=e.renew().then(async n=>{let i=ZQ(n);if(i<=t())throw Error(`Cloud runtime authority descriptor is already expired.`);r||(e.onState?.({kind:`ready`,expiresAt:new Date(i).toISOString(),renewedAt:new Date(t()).toISOString()}),c(n))}).catch(t=>{if(r)return;let n=t4e(t);throw e.onState?.({kind:`error`,code:n?`authority_auth_rejected`:`authority_renewal_failed`,retryAt:n?null:l()}),t}).finally(()=>{a=null});return a=n,n};return c(e.initialDescriptor),{ensureLive:()=>o>t()+e4e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var QQ=new Map;function $Q(e,t){return e.acquire(t?{signal:t}:{})}function r4e(e,t){QQ.set(e,t)}function i4e(e){return QQ.has(e)}function e$(e,t){let n=QQ.get(e);t&&n!==t||(n?.dispose(),QQ.delete(e))}async function a4e(e){let t=QQ.get(e);if(t)return(await t.acquire()).bearerToken;let n=aq(e);return n&&GX(n)?null:uq(e)}function o4e(e){switch(e){case`running`:return`green`;case`provisioning`:case`starting`:return`amber-pulse`;case`registered`:return`idle`;case`stopped`:case`suspended`:case`draining`:return`grey`;case`destroyed`:return`idle`;case`error`:return`red-pulse`;default:return`grey`}}function t$(e){let t=e.githubRepoFullName;return t?t.split(`/`)[1]??t:s4e(e.projectName)}function s4e(e){let t=e.trim().toLowerCase().replaceAll(`'`,``).replaceAll(`"`,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`project`}function n$(e){if(!e)return null;let t=e.trim().replace(/\/+$/,``);return t.length>0?t:null}function r$(e){let t=n$(e??void 0);return t&&i$(t).length>1?t:null}function i$(e){return e.split(`/`).flatMap(e=>e.split(`\\`)).filter(e=>e.length>0)}function a$(e){return e?i$(e).at(-1)??null:null}function c4e(e){let t=e.rows.length>0;return(e.isLoading||e.startupPhase===`auth-refreshing`)&&!t?{kind:`loading`}:e.error&&!t?{kind:`error-no-rows`,message:e.error}:e.error&&t?{kind:`stale-rows`,message:e.error}:t?{kind:`rows`}:{kind:`empty`}}function l4e(e,t){if(!t)return!1;let n=e.repositoryIdentity?.canonicalKey;return n!==void 0&&!n.toLowerCase().endsWith(`/${t.toLowerCase()}`)}function u4e(e,t){return e?e.cmmdOrganizationId===t.cmmdOrganizationId&&e.cmmdProjectId===t.cmmdProjectId:!1}function d4e(e,t){let n=e.filter(e=>!e.cmmdRegistration),r=r$(t.workspaceRoot),i=r?n.filter(e=>n$(e.cwd)===r):[];if(i.length>0)return i;let a=t$(t).toLowerCase();return n.filter(e=>a$(e.cwd)?.toLowerCase()===a)}function o$(e,t,n){let r=e[t];if(!r)return null;let i=r.projectIds.flatMap(e=>{let t=r.projectById[e];return!t||l4e(t,n.githubRepoFullName)?[]:[t]}),a=i.filter(e=>u4e(e.cmmdRegistration,n)),o=a.length>0?a:d4e(i,n),s=o.length===1?o[0]:void 0;return s?{environmentId:t,projectId:s.id}:null}function f4e(e){return{cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,githubRepoFullName:e.githubRepoFullName,projectName:e.projectName,workspaceRoot:e.workspaceRoot}}function p4e(e,t){let n=e.cmmdEnvironmentId??e.environmentId;if(e.runtimeId===null||n===null)return null;let r=o$(t,an.make(n),f4e(e));return r?Io(r.environmentId,r.projectId):null}function m4e(e,t){return e===t?!0:e===null||t===null?!1:e.environmentId===t.environmentId&&e.projectId===t.projectId}function h4e(e,t){let n=!1,r=e.map(e=>{let r=p4e(e,t);return m4e(r,e.resolvedRef)?e:(n=!0,{...e,resolvedRef:r})});return n?r:e}var s$=`registered`,g4e={destroyed:`destroyed`,superseded:`destroyed`,error:`error`,failed:`error`,draining:`draining`,recycling:`draining`,stopped:`stopped`,suspended:`suspended`,provisioning:`provisioning`,created:`provisioning`,starting:`starting`,restarting:`starting`};function c$(e,t){let n=g4e[e];if(n!==void 0)return n;if(e!==`running`)return`stopped`;if(t)switch(t){case`app_ready`:case`server_ready`:case`ready`:case`supervisor_up`:return`running`;case`starting`:case`image_pulling`:case`waiting_state`:return`starting`;case`error`:return`error`;default:return`running`}return`running`}function _4e(e){return e===`destroyed`}function v4e(e){switch(e){case`running`:case`starting`:case`provisioning`:return!0;case`suspended`:return!0;case`registered`:case`stopped`:case`draining`:case`error`:case`destroyed`:return!1;default:return!1}}function y4e(e){let t=e.shortName?.trim();if(t)return t;if(e.projectName)return e.projectName;if(e.githubRepoFullName){let t=e.githubRepoFullName.split(`/`),n=t[t.length-1];if(n)return n}return`project ${e.cmmdProjectId}`}var l$={state:`unknown`,label:`Unknown`,detail:`Current Environment availability has not been observed.`,tone:`muted`,automaticWakeAllowed:!1,shellConnected:!1,shellMayEstablishReady:!1};function u$(e,t,n,r,i,a,o=!1){return{state:e,label:t,detail:n,tone:r,automaticWakeAllowed:i,shellConnected:a,shellMayEstablishReady:o}}function b4e(e,t){return e.ownerIntent===`paused`?u$(`paused`,`Paused`,`Resume before live work can wake this Environment.`,`warning`,!1,t):e.ownerIntent===`deleting`?u$(`deleting`,`Deleting`,`This Environment is being removed.`,`muted`,!1,t):null}function x4e(e,t){return e.executionAdmission.state===`allowed`?null:u$(`unavailable`,`Unavailable`,`This Environment is not accepting live work while it drains.`,`warning`,!1,t)}function d$(e,t=!1){if(e==null)return l$;let n=b4e(e,t);if(n!==null)return n;if(e.ownerIntent!==`active`)return l$;let r=x4e(e,t);if(r!==null)return r;let{provider:i,guestReadiness:a,activeWork:o}=e;return i.observedAt===null||i.failure!==null||i.state===`absent`||i.state===`unknown`?u$(`unknown`,`Unknown`,`Current provider availability has not been observed.`,`muted`,e.automaticWakeAllowed,t):i.state===`sleeping`?u$(`sleeping`,`Sleeping`,`Live work wakes this Environment automatically.`,`muted`,e.automaticWakeAllowed,t):a.observedAt===null||a.failure!==null||a.state===`unknown`?u$(`unknown`,`Unknown`,`Current guest readiness has not been observed.`,`muted`,e.automaticWakeAllowed,t):a.state===`starting`?u$(`starting`,`Starting`,`Preparing live execution.`,`warning`,e.automaticWakeAllowed,t):a.state===`degraded`?u$(`degraded`,`Degraded`,`A required service needs attention.`,`warning`,e.automaticWakeAllowed,t):a.state===`failed`?u$(`needs-attention`,`Needs attention`,`The readiness check failed.`,`destructive`,e.automaticWakeAllowed,t):t?u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0):o.state===`active`?u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,t):u$(`unknown`,`Unknown`,`No current execution proof is available.`,`muted`,e.automaticWakeAllowed,t,!0)}function S4e(e,t){return!t||!e.shellMayEstablishReady?e:u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0)}function f$(e){return e?c$(e.status,e.readinessPhase??void 0):s$}function C4e(e){return e.runtime?.githubRepoFullName??e.githubRepoFullName??null}function w4e(e,t){return{cmmdOrganizationId:e.organizationId,cmmdProjectId:e.projectId,projectName:y4e({shortName:e.shortName??null,projectName:e.projectName??null,githubRepoFullName:t,cmmdProjectId:e.projectId}),githubRepoFullName:t,iconUrl:e.iconUrl??null,icon:e.icon??null}}function T4e(e){return e?{runtimeId:e.runtimeId,workspaceRoot:e.workspaceRoot??null,status:f$(e),desiredState:p$(e.desiredState),environmentId:Ol(e.runtimeId),cmmdEnvironmentId:e.environmentId??null,...e.maintenance===void 0?{}:{maintenance:e.maintenance}}:{runtimeId:null,workspaceRoot:null,status:s$,desiredState:null,environmentId:null,cmmdEnvironmentId:null}}function p$(e){return e===`running`||e===`stopped`||e===`destroyed`?e:null}function E4e(e){return{...w4e(e,C4e(e)),registeredAt:e.registeredAt??null,...T4e(e.runtime),removal:e.removal??null,resolvedRef:null}}function D4e(e){return e.map(E4e)}function O4e(e){return e.map(e=>({runtimeId:e.runtime.runtimeId,cmmdOrganizationId:e.organizationId,cmmdUserId:e.userId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,environmentId:Ol(e.runtime.runtimeId),cmmdEnvironmentId:e.runtime.environmentId??null,status:f$(e.runtime),desiredState:p$(e.runtime.desiredState),...e.runtime.maintenance===void 0?{}:{maintenance:e.runtime.maintenance},lifecycle:d$(e.lifecycle)}))}var m$=`forge:cmmd-cloud-project-catalog:v5`,k4e=nr({runtimeId:Kn(j),cmmdOrganizationId:Ln,cmmdProjectId:Ln,cmmdEnvironmentId:Kn(j),registeredAt:yn(Kn(j)),projectName:j,githubRepoFullName:Kn(j),workspaceRoot:Kn(j),iconUrl:yn(Kn(j)),icon:yn(Kn(j)),status:j,desiredState:yn(Kn(j)),environmentId:Kn(j),removal:yn(Kn(nr({operationId:j,deletePlanningProject:Xn,status:Fn([`pending`,`running`,`retryable`]),phase:Fn([`destroy_runtime`,`purge_execution_state`,`delete_planning_project`,`unregister`,`complete`]),lastErrorCode:Kn(j),lastErrorMessage:Kn(j),updatedAt:j})))}),h$=nr({rows:Jn(k4e),environments:Jn(nr({runtimeId:j,cmmdOrganizationId:Ln,cmmdUserId:Ln,displayName:yn(Kn(j)),userFirstName:yn(Kn(j)),environmentId:j,cmmdEnvironmentId:Kn(j),status:j,desiredState:Kn(j)})),fetchedAt:j});function A4e(){try{let e=bl(m$,h$);return e?{rows:e.rows.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,registeredAt:e.registeredAt??null,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl??null,icon:e.icon??null,status:e.runtimeId===null?s$:c$(e.status),desiredState:p$(e.desiredState),environmentId:e.runtimeId===null?null:Ol(e.runtimeId),cmmdEnvironmentId:e.cmmdEnvironmentId,resolvedRef:null,removal:e.removal??null})),environments:e.environments.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdUserId:e.cmmdUserId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,cmmdEnvironmentId:e.cmmdEnvironmentId,status:c$(e.status),desiredState:p$(e.desiredState),environmentId:Ol(e.runtimeId)})),fetchedAt:e.fetchedAt}:null}catch{return null}}function j4e(e,t,n){try{xl(m$,{rows:e.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,environmentId:e.environmentId,removal:e.removal})),environments:t,fetchedAt:n},h$)}catch{}}var g$=1e3;function M4e(e){return e.reconnectPhase===`idle`?`hidden`:e.reconnectPhase===`exhausted`?`actionable`:!e.hasConnected||!e.stableConnectionSeen?`startup-pending`:`actionable`}function _$(e){let t=e.maxAttempts??2,n=e.retryDelayMs??1e3;return e.failedAttempt<t?{kind:`retry`,delayMs:n,nextAttempt:e.failedAttempt+1}:{kind:`terminal`,attempt:e.failedAttempt}}var N4e=`auth-required`,P4e=`cloud-projects`;async function F4e(e,t,n){let r=null,i=new JK(e).listCloudProjects({signal:t.signal}).then(e=>({kind:`catalog`,catalog:e})).catch(e=>({kind:`failed`,error:e})),a=new Promise(e=>{r=setTimeout(()=>{t.abort(),e({kind:`timed-out`})},n)});try{return await Promise.race([i,a])}finally{r!==null&&clearTimeout(r)}}function I4e(e){let t=e.accessToken??e.resolveAccessToken?.(),n={Accept:`text/event-stream`};return t&&(n.Authorization=`Bearer ${t}`),n}function L4e(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function R4e(e){return(e.status===401||e.status===403)&&(await H4e(e)||e.status===401)?`auth-required`:e.status===404||e.status===405||!e.ok||!e.body?`fallback`:e.body.getReader()}async function z4e({reader:e,signal:t,onAuthRequired:n,onCatalog:r}){let i=new TextDecoder,a=``;try{for(;!t.aborted;){let{done:o,value:s}=await e.read();if(t.aborted||o)return;let c=B4e(a,i.decode(s,{stream:!0}));if(a=c.buffer,c.messages.some(e=>V4e(e,n,r)))return}}finally{e.releaseLock()}}function B4e(e,t){let n=`${e}${t}`.split(/\n\n/);return{buffer:n.pop()??``,messages:n}}function V4e(e,t,n){let r=W4e(e);if(r.name===N4e)return t(),!0;let i=r.name===P4e?U4e(r.data):null;return i&&n(i),!1}async function H4e(e){try{let t=await e.clone().json();return typeof t?.code==`string`&&t.code===`CMMD_AUTH_REQUIRED`}catch{return!1}}function U4e(e){try{return HK(JSON.parse(e))}catch{return null}}function W4e(e){let t=``,n=``;for(let r of e.split(`
1020
- `))r.startsWith(`event: `)&&(t=r.slice(7).trim()),r.startsWith(`data: `)&&(n=r.slice(6).trim());return{name:t,data:n}}var G4e=`/api/cmmd/forge-cloud-projects`,K4e=`/api/cmmd/forge-cloud-projects/events`,q4e=15e3,J4e=3e4,Y4e=2e3,X4e=3e4,Z4e=200;function Q4e({config:e,onEvent:t}){let n=!1,r=!1,i=!1,a=!1,o=!1,s=0,c=null,l=0,u=null,d=null,f=0,p=null,m=null,h=null,g=null;function _(e){return e!==null&&clearTimeout(e),null}function v(){p=_(p),g=_(g)}function y(){f+=1,d?.controller.abort(),d=null}function b(e,t){return d?.controller===e&&d.generation===t&&f===t}function x(e){return u===e}function S(){y(),u?.abort(),u=null,v(),h=_(h)}function C(){return!r&&!a}function w(e){t({kind:`catalog`,catalog:e,fetchedAt:new Date().toISOString()})}function T(e){a||r||(a=!0,c=null,S(),t({kind:`auth-required`,message:e}))}function E(e,n){if(r||a)return;s+=1,c=n;let i=_$({failedAttempt:s,retryDelayMs:g$});if(i.kind===`terminal`){T(e);return}u?.abort(),u=null,g=_(g),t({kind:`auth-refreshing`}),o=!0,h=_(h),h=setTimeout(()=>{h=null,o=!1,pe()},i.delayMs)}async function D(){if(!C())return!1;let n=new AbortController,r=++f;d={controller:n,generation:r},t({kind:`loading`});try{return ee(await F4e(e,n,q4e),n,r)}finally{b(n,r)&&(d=null)}}function ee(e,t,n){return!C()||!b(t,n)?!1:e.kind===`catalog`?te(e.catalog):e.kind===`timed-out`?ne():O(e.error)}function te(e){return c!==`sse`&&(s=0,c=null),o=!1,w(e),!0}function ne(){return t({kind:`failed`,message:`Cloud connection refresh timed out. Showing last known connections.`}),!a}function O(e){let n=e instanceof Error?e.message:`Failed to load cloud projects`;return dK(e)||$4e(e)||/authentication required/i.test(n)?E(n,`list`):t({kind:`failed`,message:n}),!a}function k(){C()&&(p=_(p),p=setTimeout(async()=>{await D(),C()&&k()},J4e))}function re(){!C()||o||(i?k():ae(l))}function A(e){l=e+1;let t=Math.min(Y4e*2**e,X4e);g=_(g),g=setTimeout(()=>{g=null,ae(l)},t)}function ie(e){s=0,c=null,l=0,w(e)}async function ae(t){if(!C()||u!==null)return;u=new AbortController;let n=u,r=e.eventsUrl??L4e(e.cmmdHttpBaseUrl,`/api/forge/context/runtimes/events`),i=e.eventsUrl?{Accept:`text/event-stream`}:I4e(e);try{await oe(await fetch(r,{headers:i,signal:n.signal,credentials:`include`}),n,t)}catch{de(n)}}async function oe(e,t,n){if(!se(t))return;let r=await R4e(e);if(se(t)){if(typeof r==`string`){ue(r);return}await z4e({reader:r,signal:t.signal,onAuthRequired:()=>ce(t),onCatalog:e=>le(t,e)}),fe(t,n)}}function se(e){return C()&&x(e)}function ce(e){se(e)&&E(`CMMD authentication required. Sign in again to continue.`,`sse`)}function le(e,t){se(e)&&ie(t)}function ue(e){if(u=null,e===`auth-required`){E(`CMMD authentication required. Sign in again to continue.`,`sse`);return}i=!0,k()}function de(e){e.signal.aborted||!se(e)||(u=null,i=!0,k())}function fe(e,t){e.signal.aborted||!se(e)||(u=null,A(t))}function pe(){return D().then(e=>{e&&C()&&re()})}return{initialize(){n||r||(n=!0,pe())},refresh(){r||(y(),m=_(m),m=setTimeout(()=>{m=null,a=!1,o=!1,s=0,c=null,S(),pe()},Z4e))},teardown(){r=!0,m=_(m),S()}}}function $4e(e){return typeof e==`object`&&!!e&&`kind`in e&&e.kind===`auth`}var v$={connected:!1,isLoading:!1,error:null,rows:[],environments:[],fetchedAt:null,stale:!1,startupPhase:`idle`,capacity:null};function e3e({config:e}){let t=A4e(),n=t?{...v$,isLoading:!0,rows:t.rows,environments:t.environments,fetchedAt:t.fetchedAt,stale:!0}:v$,r=new Set;function i(e){n=e;for(let e of r)e()}function a(e){switch(e.kind){case`loading`:i({...n,isLoading:!0,error:null});return;case`catalog`:{let t=D4e(e.catalog.listRowsForDisplay()),n=O4e(e.catalog.listEnvironmentsForDisplay());j4e(t,n,e.fetchedAt),i({connected:!0,isLoading:!1,error:null,rows:t,environments:n,fetchedAt:e.fetchedAt,stale:!1,startupPhase:`idle`,capacity:e.catalog.capacity});return}case`failed`:i({...n,connected:!1,isLoading:!1,error:e.message,stale:n.rows.length>0,startupPhase:`idle`});return;case`auth-refreshing`:i({...n,connected:!1,isLoading:!0,error:null,stale:n.rows.length>0,startupPhase:`auth-refreshing`});return;case`auth-required`:i({...n,connected:!1,isLoading:!1,error:e.message,stale:n.rows.length>0,startupPhase:`idle`}),dr(`cmmd-runtimes`);return}}let o=Q4e({config:e,onEvent:a});return{subscribe(e){return r.add(e),()=>r.delete(e)},read(){return n},initialize(){o.initialize()},refresh(){o.refresh()},_teardown(){o.teardown()},_setState(e){i(e)}}}var y$=null;function b$(e){return typeof window<`u`&&window.location?.href?new URL(e,window.location.href).toString():new URL(e,`http://localhost`).toString()}function x$(){return{cmmdHttpBaseUrl:`https://cmmd.ai`,resolveAccessToken:()=>null,listUrl:G4e,eventsUrl:K4e,destroyUrl:e=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/destroy`),lifecycleUrl:(e,t)=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/${t}`),updateCommitUrl:e=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit`),updateCommitOperationUrl:(e,t)=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit/${encodeURIComponent(String(t))}`),ensureUrl:b$(`/api/cmmd/forge-runtimes/ensure`)}}function S$(){return y$===null&&(y$=e3e({config:x$()})),y$}function t3e(){S$().refresh()}function n3e(e){return S$().subscribe(e)}function C$(){return S$().read()}function r3e(e){let t=(0,ll.c)(9),n=e?.enabled??!0,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{n&&S$().initialize()},i=[n],t[0]=n,t[1]=r,t[2]=i),(0,F.useEffect)(r,i);let a=(0,F.useSyncExternalStore)(n3e,C$,C$),o=yJ(i3e),s,c;t[3]!==o||t[4]!==a.rows?(c=h4e(a.rows,o),t[3]=o,t[4]=a.rows,t[5]=c):c=t[5],s=c;let l=s,u;return t[6]!==l||t[7]!==a?(u=l===a.rows?a:{...a,rows:l},t[6]=l,t[7]=a,t[8]=u):u=t[8],u}function i3e(e){return e.environmentStateById}var a3e=`forge:cloud-runtime-handoffs:v2`,o3e=3e5,w$=new Map,s3e={clear:()=>w$.clear(),getItem:e=>w$.get(e)??null,key:e=>Array.from(w$.keys())[e]??null,get length(){return w$.size},removeItem:e=>w$.delete(e),setItem:(e,t)=>w$.set(e,t)};function c3e(){return typeof window<`u`?window.localStorage:globalThis.localStorage??s3e}var T$=qt()(LJ(e=>({byRuntimeId:{},record:t=>e(e=>({byRuntimeId:{...e.byRuntimeId,[t.runtimeId]:t}})),clearRuntime:t=>e(e=>t in e.byRuntimeId?{byRuntimeId:Object.fromEntries(Object.entries(e.byRuntimeId).filter(([e])=>e!==t))}:e),reconcileCatalog:(t,n=Date.now())=>e(e=>{let r=Object.entries(e.byRuntimeId).filter(([,e])=>{if(n-e.recordedAt>o3e)return!1;let r=t.find(t=>t.cmmdOrganizationId===e.cmmdOrganizationId&&t.cmmdProjectId===e.cmmdProjectId);return r?.runtimeId===e.previousCatalogRuntimeId&&r.registeredAt===e.catalogRegisteredAt});return r.length===Object.keys(e.byRuntimeId).length?e:{byRuntimeId:Object.fromEntries(r)}}),reset:()=>e({byRuntimeId:{}})}),{name:a3e,storage:FJ(c3e),partialize:e=>({byRuntimeId:e.byRuntimeId}),version:2}));function l3e(e){T$.getState().record({...e,recordedAt:Date.now()})}function u3e(e){T$.getState().clearRuntime(e)}var d3e=new Set([`filesystem`,`terminal`,`git`,`project-write`]);function f3e(e){return e===`desktop-local`}function p3e(e){return e===`cloud`||e===`cloud-vm`||e===`cmmd`||e===`github`}function E$(e){return e.actionKind===`cloud-api`?{available:!0,route:`cloud`,requiresPermissionGate:!1,title:`Cloud API route`,description:`Cloud and Command work routes through authenticated Forge Cloud APIs.`}:d3e.has(e.actionKind)?p3e(e.workSource)?e.workSource===`cloud-vm`&&e.executionRuntime===`cloud`?{available:!0,route:`cloud-vm`,requiresPermissionGate:!1,title:`Cloud VM route`,description:`Filesystem, terminal, git, and project writes run inside the user's Forge Cloud VM.`}:e.executionRuntime===`cloud`?{available:!0,route:`cloud`,requiresPermissionGate:!1,title:`Cloud work route`,description:`Cloud-scoped filesystem, terminal, git, and project writes run in the Forge Cloud runtime.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Open in Forge Cloud`,description:`Cloud projects must execute inside the Forge Cloud runtime. Local Desktop cannot run cloud project filesystem, terminal, git, or project-write actions.`}:f3e(e.workSource)?e.surface===`desktop-local`||e.executionRuntime===`desktop-local`?{available:!0,route:`desktop-local`,requiresPermissionGate:!1,title:`Desktop local route`,description:`Local filesystem, terminal, git, and project writes run through the Desktop local backend.`}:e.executionRuntime===`dev-local-web`?{available:!0,route:`dev-local-web`,requiresPermissionGate:!1,title:`Dev local route`,description:`Local Web is a development-only projection and routes local actions through the dev server.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Switch to Desktop Local`,description:`Local projects must execute in the Desktop Local runtime. Forge Cloud cannot run local filesystem, terminal, git, or project-write actions.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Unknown work source`,description:`Forge cannot safely route local actions for this work source yet.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Unsupported route`,description:`Forge does not have a runtime route for this action yet.`}}var m3e=`Ready to use. Your cloud project starts when you open the first thread.`;function h3e(e){let t=E$({actionKind:`project-write`,surface:`cloud-official`,workSource:`cloud-vm`,executionRuntime:`cloud`});return{actionAuthority:`runtime`,surface:`cloud-official`,hostKind:`user-cloud-vm`,workSource:`cloud-vm`,executionRuntime:`cloud`,modelRuntime:`cloud`,linkState:`cloud-only`,workspaceIdentity:null,hideLocalPath:!0,label:`Cloud project`,description:e?`This project runs in your Forge Cloud VM.`:m3e,actionRouteLabel:t.title,actionRouteDescription:t.description,actionRouteAvailable:t.available,requiresPermissionGate:t.requiresPermissionGate}}function g3e(e){return El(e).isCloud}var _3e=3e5;function D$(e,t,n=Date.now()){let r=new Map,i=new Map;for(let t of e){let e={cmmdOrganizationId:t.cmmdOrganizationId,cmmdProjectId:t.cmmdProjectId};r.set(k$(e),e),t.runtimeId!==null&&i.set(t.runtimeId,e)}for(let a of t){if(n-a.recordedAt>_3e)continue;let t=r.get(k$({cmmdOrganizationId:a.cmmdOrganizationId,cmmdProjectId:a.cmmdProjectId})),o=e.find(e=>e.cmmdOrganizationId===a.cmmdOrganizationId&&e.cmmdProjectId===a.cmmdProjectId);t&&o?.runtimeId===a.previousCatalogRuntimeId&&o.registeredAt===a.catalogRegisteredAt&&!i.has(a.runtimeId)&&i.set(a.runtimeId,t)}return i}function O$(e){return e.environmentId??`cmmd-cloud-project:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function v3e(e){return{environmentId:O$(e),workspaceRoot:e.workspaceRoot,resolvedRef:e.resolvedRef}}function k$(e){return`cloud:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function y3e(e){let t=/^cloud:(\d+):(\d+)$/.exec(e??``);return t?{cmmdOrganizationId:Number(t[1]),cmmdProjectId:Number(t[2])}:null}function b3e(e){return`cloud-runtime:${e}`}var x3e=`cloud-unconnected:`;function S3e(e,t,n=[]){let r=k$(e);return A$({id:tn.make(`${x3e}${r}`),environmentId:an.make(O$(e)),name:e.projectName,cwd:``,repositoryIdentity:null,availability:void 0,defaultModelSelection:null,createdAt:void 0,updatedAt:void 0,scripts:[],projectKey:r,environmentPresence:`remote-only`,source:h3e(e.runtimeId!==null),memberProjectRefs:t?[t]:[],remoteEnvironmentLabels:[],worktreeMembers:[],activeWorktreeKey:null,preConnectCloud:{runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,removal:e.removal},cloudRemoval:e.removal},n)}function A$(e,t){if(t.length===0)return e;let n=[...e.memberProjectRefs],r=new Set(n.map(e=>`${e.environmentId}:${e.projectId}`));for(let e of t){let t=`${e.environmentId}:${e.projectId}`;r.has(t)||(r.add(t),n.push(e))}return n.length===e.memberProjectRefs.length?e:{...e,memberProjectRefs:n}}function j$(e,t,n,r){if(!e)return null;let i=t.find(t=>t.cmmdEnvironmentId===String(e));if(i)return{row:i,runtimeId:i.runtimeId,matchedByHandoff:!1};let a=Al(e);if(a){let e=t.find(e=>e.runtimeId===a);if(e)return{row:e,runtimeId:a,matchedByHandoff:!1};let i=D$(t,n,r).get(a);if(!i)return null;let o=t.find(e=>e.cmmdOrganizationId===i.cmmdOrganizationId&&e.cmmdProjectId===i.cmmdProjectId);return o?{row:o,runtimeId:a,matchedByHandoff:!0}:null}let o=t.find(t=>t.runtimeId===null&&O$(t)===String(e));return o?{row:o,runtimeId:null,matchedByHandoff:!1}:null}function C3e(e,t=e.runtimeId){return{runtimeId:t,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,desiredState:e.desiredState}}function w3e(e){return e.desiredState===`stopped`}var T3e=15e3;function E3e(e){return e===401||e===403}function D3e(e){return typeof e!=`object`||!e?!1:e.retryable===!0}function M$(e){return E3e(e.status)||e.attempt>=e.maxAttempts||e.status>=200&&e.status<300?!1:e.status>=500||e.status===409&&D3e(e.body)}function O3e(e,t){let n=e?.trim();if(!n)return null;if(/^-?\d+$/.test(n))return Number(n)*1e3;let r=Date.parse(n);return Number.isNaN(r)?null:r-t}function N$(e){let t=e=>Math.min(T3e,Math.max(0,e)),n=O3e(e.retryAfter,e.nowMs??Date.now());return t(n===null?300*2**Math.max(0,e.attempt-1):n)}var k3e=6e4;function A3e(e,t){if(!e||typeof e!=`object`)return t;let n=e.error;return typeof n==`string`&&n.trim().length>0?n:t}var P$=`CMMD returned an invalid Cloud runtime connection descriptor.`;function F$(e,t){let n=e[t];if(typeof n!=`string`||n.length===0)throw Error(P$);return n}function j3e(e){if(!e||typeof e!=`object`)throw Error(P$);let t=e;return{httpBaseUrl:F$(t,`httpBaseUrl`),wsBaseUrl:F$(t,`wsBaseUrl`),bearerToken:F$(t,`bearerToken`),expiresAt:F$(t,`expiresAt`)}}async function M3e(e){let t=or(`/api/cmmd/forge-runtimes/${encodeURIComponent(e.runtimeId)}/connect`),n=ur({method:`POST`,...e.signal?{signal:e.signal}:{},headers:{"Content-Type":`application/json`},body:JSON.stringify(e.organizationId===void 0?{}:{organizationId:e.organizationId})});for(let r=1;r<=8;r+=1){let i=await fetch(t,n),a=await i.json().catch(()=>null);if(i.ok)return j3e(a);if(!M$({status:i.status,body:a,attempt:r,maxAttempts:8})){let e=IQ(i.status,a)?`CMMD authentication expired while renewing the Cloud runtime connection. Sign in again.`:`CMMD could not renew the Cloud runtime connection (${i.status}).`;throw Object.assign(Error(A3e(a,e)),{status:i.status,...FQ(a)?{code:FQ(a)}:{}})}await UX(N$({attempt:r,retryAfter:i.headers.get(`retry-after`)}),e.signal)}throw Error(`Cloud runtime connection retry budget was exhausted.`)}function N3e(e,t){if(!e?.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n<=t+k3e}function I$(e){let t=e.requestDescriptor??M3e,n=e.now??Date.now,r=e.initialDescriptor??null,i=null,a=!1,o=new AbortController,s=e=>HX(e,o.signal),c=()=>i||(i=s(t({runtimeId:e.runtimeId,...e.organizationId===void 0?{}:{organizationId:e.organizationId},signal:o.signal})).then(async t=>(await s(Promise.resolve(e.validateDescriptor?.(t))),await s(Promise.resolve(e.persistDescriptor?.(t))),await s(Promise.resolve()),r=t,a=!1,t)).then(e=>(i=null,e),e=>{throw i=null,e}),i);return{acquire:e=>{if(o.signal.aborted)return s(Promise.resolve(r));let t=e?.forceRefresh||a||N3e(r,n())?c():Promise.resolve(r);return HX(s(t),e?.signal)},invalidate:()=>{a=!0},dispose:()=>{o.abort()}}}function P3e(e){let t=e.runtimeId?.trim();if(t)return t;let n=Al(e.environmentId);if(n)return n;let r=C$().rows,i=Object.values(T$.getState().byRuntimeId);return j$(e.environmentId,r,i)?.runtimeId??null}function F3e(e,t,n,r){let i=e,a=I$({runtimeId:t,...e.cmmdOrganizationId===void 0?{}:{organizationId:e.cmmdOrganizationId},...n===void 0?{}:{initialDescriptor:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:n,expiresAt:e.runtimeTicketExpiresAt??null}},validateDescriptor:async e=>{await IX({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})},persistDescriptor:async e=>{if(r&&!r())throw Error(`Saved environment changed while its connection was being acquired.`);let t={...WX(i),httpBaseUrl:e.httpBaseUrl,wsBaseUrl:un(e.wsBaseUrl),...e.expiresAt===null?{}:{runtimeTicketExpiresAt:e.expiresAt},lastConnectedAt:new Date().toISOString()};await lq(t),await dq(t.environmentId),tq.getState().upsert(t),i=t}});return r4e(e.environmentId,a),a}function I3e(e){let t={wsBaseUrl:e.record.wsBaseUrl,httpBaseUrl:e.record.httpBaseUrl,bearerToken:e.bearerToken,expiresAt:e.record.runtimeTicketExpiresAt??null};return{acquire:()=>Promise.resolve(t)}}function L$(e){let t=e.toLowerCase();return t.includes(`authentication`)||t.includes(`unauthorized`)||t.includes(`forbidden`)||t.includes(`credential`)||t.includes(`runtime ticket`)||t.includes(`status 401`)||t.includes(`status 403`)}var R$=new Map,z$=new Map,B$=new Map,V$=new Map,H$=new Map,U$=new Set,W$=new Map,G$=null,K$=!1;function q$(e){return V$.get(e)??0}function J$(e){V$.set(e,q$(e)+1)}function Y$(e,t){return e.environmentId===t.environmentId&&e.httpBaseUrl===t.httpBaseUrl&&e.wsBaseUrl===t.wsBaseUrl&&e.runtimeId===t.runtimeId&&e.cmmdOrganizationId===t.cmmdOrganizationId}function X$(e){if(q$(e.record.environmentId)!==e.generation)return!1;let t=aq(e.record.environmentId);return e.registryExpectation.kind===`initial-add`?t===null||Y$(t,e.record):t!==null&&Y$(t,e.registryExpectation.record)}var L3e=9e5,Z$=32,Q$=()=>void 0;function $$(e,t){return Vo(Lo(e,t))}function e1(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function R3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=vJ(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=_J(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 t1(e){return e.refCount===0&&!R3e(e)}function n1(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==Q$)return!0;let t=j1(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{e.lastEventAt=Date.now(),e.recoveryAttempts=0,t.kind===`event`?c6e(t.event,e.environmentId):t.kind===`snapshot`&&(yJ.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId),yJ.getState().clearThreadSubscriptionError(e.environmentId,e.threadId))},{onError:t=>aXe(e.environmentId,e.threadId,t)}),!0):!1}function r1(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=A1(()=>{n1(e)&&(e.lastAccessedAt=Date.now())}),n1(e))}function i1(e){let t=W$.get(e);return t?(e1(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,W$.delete(e),t.unsubscribe(),t.unsubscribe=Q$,W3e(),!0):!1}var a1=null;function z3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=vJ(n,t);if(r?.latestTurn?.state===`running`||r?.session?.orchestrationStatus===`running`)return!0;let i=_J(n,t);return i?.latestTurn?.state===`running`||i?.session?.orchestrationStatus===`running`}function B3e(e){e.unsubscribe!==Q$&&(e.unsubscribe(),e.unsubscribe=Q$),n1(e)||r1(e)}function V3e(e,t,n){if(e.recoveryAttempts+=1,e.lastEventAt=Date.now(),console.warn(`[forge] thread-detail liveness watchdog recovering`,{action:t,threadId:String(e.threadId),environmentId:String(e.environmentId),msSinceLastEvent:Math.round(n),recoveryAttempts:e.recoveryAttempts}),t===`resubscribe`){B3e(e);return}j1(e.environmentId)?.reconnect().catch(t=>{AG(t,{route:`thread-detail-liveness-watchdog-reconnect-failed`,threadId:String(e.threadId),environmentId:String(e.environmentId),msSinceLastEvent:String(Math.round(n)),recoveryAttempts:String(e.recoveryAttempts)})})}function H3e(){let e=Date.now();for(let t of W$.values()){let n=O$e({isWorking:z3e(t),msSinceLastEvent:e-t.lastEventAt,stallThresholdMs:k$e,recoveryAttempts:t.recoveryAttempts,maxResubscribeAttempts:2,maxTotalAttempts:4});n!==`none`&&V3e(t,n,e-t.lastEventAt)}}function U3e(){a1===null&&(a1=setInterval(H3e,A$e))}function W3e(){W$.size>0||a1!==null&&(clearInterval(a1),a1=null)}function G3e(e){for(let[t,n]of W$)n.environmentId===e&&i1(t)}function K3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=_J(n,t);if(!r)return null;let i=vJ(n,t),a=i?.latestUserMessageAt??null;if(a===null)for(let e=r.messages.length-1;e>=0;--e){let t=r.messages[e];if(t?.role===`user`){a=t.createdAt;break}}return{id:r.id,projectId:r.projectId,title:r.title,modelSelection:r.modelSelection,runtimeMode:r.runtimeMode,interactionMode:r.interactionMode,branch:r.branch,worktreePath:r.worktreePath,latestTurn:r.latestTurn,createdAt:r.createdAt,updatedAt:r.updatedAt??r.createdAt,archivedAt:r.archivedAt,session:r.session?{threadId:r.id,updatedAt:r.session.updatedAt,providerName:r.session.provider,runtimeMode:r.runtimeMode,activeTurnId:r.session.activeTurnId??null,lastError:r.session.lastError??null,status:r.session.orchestrationStatus}:null,latestUserMessageAt:a,hasPendingApprovals:i?.hasPendingApprovals??!1,hasPendingUserInput:i?.hasPendingUserInput??!1,hasActionableProposedPlan:i?.hasActionableProposedPlan??!1,anchorKind:r.anchorKind,anchorCmmdId:r.anchorCmmdId,kind:r.kind,parentThreadId:r.parentThreadId,status:r.status,workerRole:r.workerRole,goal:r.goal,titleRegeneration:r.titleRegeneration??null}}function q3e(e,t){if(W$.size===0)return e;let n=new Set(e.threads.map(e=>e.id)),r=[];for(let e of W$.values()){if(e.environmentId!==t||e.refCount<=0||n.has(e.threadId))continue;let i=K3e(e);i&&(n.add(i.id),r.push(i))}return r.length===0?e:{...e,threads:[...e.threads,...r]}}function J3e(e,t){let n=new Set(t);for(let[t,r]of W$)r.environmentId===e&&!n.has(r.threadId)&&t1(r)&&i1(t)}function Y3e(e){e1(e),t1(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=W$.get($$(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,t1(t)&&i1($$(e.environmentId,e.threadId)))},L3e))}function o1(){if(W$.size<=Z$)return;let e=[...W$.entries()].filter(([,e])=>t1(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(W$.size<=Z$)return;i1(t)}}function s1(e){e1(e),t1(e)&&Y3e(e)}function X3e(e,t){let n=W$.get($$(e,t));n&&s1(n)}function c1(e){for(let t of W$.values())t.environmentId===e&&s1(t);o1()}function Z3e(e,t){let n=$$(e,t),r=W$.get(n);if(r){e1(r),r.refCount+=1,r.lastAccessedAt=Date.now(),n1(r)||r1(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(s1(r),o1()))}}let i={environmentId:e,threadId:t,unsubscribe:Q$,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null,lastEventAt:Date.now(),recoveryAttempts:0};W$.set(n,i),n1(i)||r1(i),U3e(),o1();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(s1(i),o1()))}}function l1(){for(let e of U$)e()}function Q3e(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function u1(){return new Date().toISOString()}var d1=8,f1=[1e3,2e3,4e3,8e3,12e3,16e3,2e4],$3e=9e4;function e6e(e){if(typeof e!=`object`||!e)return null;let t=e.status;return typeof t==`number`&&Number.isInteger(t)?t:null}function t6e(e){if(F2e(e))return!1;let t=e6e(e);if(t===502||t===503||t===504||e._tag===`OrchestrationGetSnapshotError`)return!0;let n=e instanceof Error?e.message:String(e),r=n.toLowerCase();return r.includes(`all fibers interrupted without error`)||r.includes(`timed out while waiting for forge cloud runtime metadata`)||r.includes(`timed out while waiting for`)||r.includes(`to stream its shell snapshot`)||r.includes(`forge runtime route not found`)||r.includes(`fly-replay`)||r.includes(`could not find a good candidate`)||r.includes(`instance refused connection`)||n.includes(`Unknown socket error`)||n.includes(`Failed to fetch remote auth endpoint`)||n.includes(`Forge runtime replay target is unavailable`)||n.includes(`Remote auth request failed (502)`)||n.includes(`Remote auth request failed (503)`)||n.includes(`Remote auth request failed (504)`)||n.includes(`Unable to connect to the Forge server WebSocket`)}function n6e(e){return f1[e]??f1[f1.length-1]}function r6e(){return $3e}function i6e(e,t){if(!GX(e))return t;let n=null,r=new Promise((t,r)=>{n=globalThis.setTimeout(()=>{r(Error(`Timed out while waiting for Forge Cloud runtime metadata for ${e.environmentId}. The VM may still be starting.`))},r6e())});return Promise.race([t,r]).finally(()=>{n!==null&&globalThis.clearTimeout(n)})}function p1(e){zX.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function m1(e){let t=u1();zX.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),tq.getState().markConnected(e,t)}function h1(e,t){zX.getState().patch(e,{descriptor:t.environment,serverConfig:t})}function g1(e,t){zX.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:u1(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:u1()}:{}})}function _1(e,t){zX.getState().patch(e,{connectionState:`error`,...Q3e(t)})}function a6e(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 v1(){let e=fJ(yJ.getState());eQ.getState().syncProjects(e.map(e=>({key:Bo(Io(e.environmentId,e.id)),cwd:e.cwd})))}function y1(){let e=pJ(yJ.getState());eQ.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),i$e(e.map(e=>Lo(e.environmentId,e.id)))}function o6e(){v1(),y1();let e=o$e({snapshotThreads:pJ(yJ.getState()).map(e=>({key:Vo(Lo(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:AX.getState().listDraftThreadKeys()});MZ.getState().removeOrphanedTerminalStates(e)}function b1(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function s6e(e,t){if(e.length===0)return;let n=s$e(e),r=a6e(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);if(n.needsProviderInvalidation&&(K$=!0,G$?.queryInvalidationThrottler.maybeExecute()),yJ.getState().applyOrchestrationEvents(r,t),i){let e=fJ(yJ.getState());eQ.getState().syncProjects(e.map(e=>({key:Bo(Io(e.environmentId,e.id)),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=pJ(yJ.getState());eQ.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=AX.getState();for(let e of n.promoteDraftThreadIds)jX(Lo(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Lo(t,e)),eQ.getState().clearThreadUi(Vo(Lo(t,e)));for(let e of n.removeTerminalStateThreadIds){let n=Lo(t,e);MZ.getState().removeTerminalState(n),zZ.getState().clearBrowserState(n)}c1(t)}function c6e(e,t){s6e([e],t)}function l6e(e,t){let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?Lo(t,n):null,i=r?_J(yJ.getState(),r):void 0;switch(yJ.getState().applyShellEvent(e,t),e.kind){case`project-upserted`:case`project-removed`:v1();return;case`thread-upserted`:y1(),!i&&r&&jX(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&(MZ.getState().removeTerminalState(r),zZ.getState().clearBrowserState(r)),X3e(t,e.thread.id),o1();return;case`thread-removed`:r&&(i1(Vo(r)),AX.getState().clearDraftThread(r),eQ.getState().clearThreadUi(Vo(r)),MZ.getState().removeTerminalState(r),zZ.getState().clearBrowserState(r)),y1();return}}function u6e(e,t){return e.invalidateQueries({queryKey:PX.all(t)})}function x1(e){return{onWelcome:(t,n)=>{e?.(t),G$&&u6e(G$.queryClient,n)},applyShellEvent:l6e,syncShellSnapshot:(e,t)=>{let n=q3e(e,t);yJ.getState().syncServerShellSnapshot(n,t),J3e(t,n.threads.map(e=>e.id)),c1(t),o6e()},applyTerminalEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=_J(yJ.getState(),n),i=AX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&MZ.getState().applyTerminalEvent(n,e)},applyBrowserEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=_J(yJ.getState(),n),i=AX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&zZ.getState().applyBrowserEvent(n,e)},onShellSubscriptionError:(e,t)=>{_1(t,e)}}}function S1(){if(typeof window>`u`)return;let e=pr();if(e?.primaryMode===`cloud`&&e.bearerToken)return{bearerToken:e.bearerToken,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}function d6e(){if(typeof window>`u`)return;let e=pr(),t=e?.primaryMode===`cloud`?e.desktopLocal??null:e??null;if(!(!t?.httpBaseUrl||!t.wsBaseUrl||!t.bearerToken))return{bearerToken:t.bearerToken,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl,label:t.label}}function f6e(e){let t=Xie(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);return PQ(new EQ(async()=>{await lr().catch(()=>null);let e=S1();if(e)try{return await LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})}catch(e){throw dK(e)&&dr(`ws-token`),e}return rJe(t)}))}function p6e(e){return PQ(new EQ(()=>LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),{trackGlobalConnection:!1,onAttempt:()=>{p1(e.environmentId)},onOpen:()=>{m1(e.environmentId)},onError:t=>{zX.getState().patch(e.environmentId,{connectionState:`error`,lastError:t,lastErrorAt:u1()})},onClose:t=>{g1(e.environmentId,t.reason)}}))}function m6e(e,t,n,r){return n()&&zX.getState().ensure(e.environmentId),PQ(new EQ(async()=>{let e=await t.acquire(),n=e=>LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,...r?{runtimeTicket:e.bearerToken}:{}});try{return await n(e)}catch(e){if(!r||!dK(e))throw e;return n(await t.acquire({forceRefresh:!0}))}},{trackGlobalConnection:!1,onAttempt:()=>{n()&&p1(e.environmentId)},onOpen:()=>{n()&&m1(e.environmentId)},onError:i=>{r&&L$(i)&&t.invalidate?.(),n()&&zX.getState().patch(e.environmentId,{connectionState:`error`,lastError:i,lastErrorAt:u1()})},onClose:i=>{r&&(i.code===1008||L$(i.reason))&&t.invalidate?.(),n()&&g1(e.environmentId,i.reason)}}))}async function C1(e,t,n,r,i,a,o){let s=await $Q(t,o),[c,l]=await Promise.all([a?Promise.resolve(a):n.server.getConfig(),IX({httpBaseUrl:s.httpBaseUrl,bearerToken:s.bearerToken,...o?{signal:o}:{}})]);if(!r())return!1;zX.getState().patch(e.environmentId,{authState:l.authenticated?`authenticated`:`requires-auth`,descriptor:c.environment,serverConfig:c,role:l.authenticated?l.role??i??null:null});let u=aq(e.environmentId);return r()&&l.authenticated&&u&&tq.getState().upsert({...u,lastAuthenticatedPullRequestCapability:c.environment.capabilities?.pullRequests===!0}),!0}function w1(e){let t=R$.get(e.environmentId);if(t&&t!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);return R$.set(e.environmentId,e),l1(),e}async function T1(e){let t=R$.get(e);return t?(R$.delete(e),e$(e),G3e(e),l1(),await t.dispose(),!0):!1}function E1(){let e=RK();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=R$.get(e.environmentId);if(t)return t;let n=S1(),r=e.source===`paired-bearer`||!0;return w1(qX({kind:`primary`,knownEnvironment:e,client:f6e(e),resolveEnvironmentId:()=>RK()?.environmentId??e.environmentId,...r?{readiness:n?{bearerToken:n.bearerToken}:{}}:{},...x1()}))}async function h6e(e,t,n){let r=R$.get(e.environmentId);if(r)return r;let i=GX(e)?P3e(e):null,a=i!==null,o=()=>X$({record:e,generation:t,registryExpectation:n?.registryExpectation??{kind:`existing-record`,record:e}}),s=a?n?.bearerToken:n?.bearerToken??await uq(e.environmentId);if(!a&&!s)throw o()&&zX.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:u1()}),Error(`Saved environment is missing its saved credential.`);let c=a?F3e(e,i,s??void 0,o):I3e({record:e,bearerToken:s}),l=await $Q(c,n?.signal);if(!o())throw Error(`Saved environment changed while its connection was being acquired.`);let u=n?.client??m6e(e,c,o,a),d=Po({id:e.environmentId,label:e.label,source:`manual`,target:{httpBaseUrl:l.httpBaseUrl,wsBaseUrl:l.wsBaseUrl}}),f=a&&l.expiresAt?n4e({initialDescriptor:{httpBaseUrl:l.httpBaseUrl,wsBaseUrl:l.wsBaseUrl,bearerToken:l.bearerToken,expiresAt:l.expiresAt},renew:async()=>{let e=await c.acquire({forceRefresh:!0});return{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken,expiresAt:e.expiresAt??null}},onState:t=>{o()&&zX.getState().patch(e.environmentId,{providerAuthority:t})}}):null,p=qX({kind:`saved`,knownEnvironment:{...d,environmentId:e.environmentId},client:u,readiness:{bearerToken:l.bearerToken},tolerateReportedEnvironmentIdentity:a,refreshMetadata:async()=>{await C1(e,c,u,o)},...f?{ensureProviderAuthority:f.ensureLive,onDispose:f.dispose}:{},onConfigSnapshot:t=>{o()&&zX.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t})},...x1(t=>{o()&&zX.getState().patch(e.environmentId,{descriptor:t.environment})})});try{if(!await i6e(e,C1(e,c,u,o,n?.role??null,n?.serverConfig??null,n?.signal))||!o())throw Error(`Saved environment changed while its connection was being acquired.`);return w1(p)}catch(t){throw a&&e$(e.environmentId,c),o()&&_1(e.environmentId,t),await p.dispose().catch(()=>void 0),t}}async function D1(e,t){let n=R$.get(e.environmentId);if(n)return n;let r=q$(e.environmentId),i=H$.get(e.environmentId);if(i&&i.generation===r&&Y$(i.record,e))return i.promise;let a=h6e(e,r,t).finally(()=>{H$.get(e.environmentId)?.promise===a&&H$.delete(e.environmentId)});return H$.set(e.environmentId,{generation:r,record:e,promise:a}),a}async function O1(e){await Hl(e);let t=new Map(e.map(e=>[e.environmentId,e]));for(let[e,n]of H$){let r=t.get(e);(!r||!Y$(r,n.record))&&J$(e)}let n=new Set(e.map(e=>e.environmentId)),r=[...R$.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!n.has(e));await Promise.all(r.map(async e=>{J$(e),await N1(e)}))}function k1(){G$?.stop(),G$=null}function A1(e){return U$.add(e),()=>{U$.delete(e)}}function j1(e){return R$.get(e)??null}function g6e(e){let t=j1(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function M1(){return E1()}async function _6e(){let e=d6e();if(!e)throw Error(`Desktop Local runtime is not authenticated. Sign in with CMMD again before importing local projects.`);let t=await p$e({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return R$.get(t.environmentId)||w1(qX({kind:`desktop-local`,knownEnvironment:{...Po({id:t.environmentId,label:e.label,source:`desktop-managed`,target:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}),environmentId:t.environmentId,label:t.label},client:p6e({environmentId:t.environmentId,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken}),...x1()}))}async function v6e(e){let t=an.make(e.runtimeId),n=R$.get(t);if(n)return n;p1(t);let r=YQ(),i=K2e(e.runtimeId,{apiClient:cK,getStoredDeviceKey:HQ,buildDeviceRegistration:zQ,controlSessionId:r.controlSessionId}),a=await i.acquireRoute(),o=a,s=Tce({acquireRoute:async()=>{let e=o;return o=null,e??i.acquireRoute()},acquireActionGrant:i.acquireActionGrant,journal:r,lifecycle:{onConnecting:()=>{p1(t)},onAuthenticated:()=>{m1(t)},onDisconnected:e=>{g1(t,e.reason)},onError:e=>{_1(t,Object.assign(Error(e.message),e))}}}),c=PQ(new EQ(a.relayWebSocketUrl,{trackGlobalConnection:!1},{layer:s,makeClient:wce(Un)})),l=qX({kind:`saved`,knownEnvironment:{...Po({id:t,label:e.label,source:`manual`,target:{httpBaseUrl:mr()?.target.httpBaseUrl??a.relayWebSocketUrl,wsBaseUrl:a.relayWebSocketUrl}}),environmentId:t},client:c,tolerateReportedEnvironmentIdentity:!0,onConfigSnapshot:e=>{h1(t,e)},...x1(e=>{zX.getState().patch(t,{descriptor:e.environment})})});try{let[,e]=await Promise.all([l.ensureBootstrapped(),c.server.getConfig()]);return h1(t,e),m1(t),w1(l)}catch(e){throw _1(t,e),await l.dispose().catch(()=>void 0),e}}function y6e(e){let t=an.make(e.runtimeId),n=R$.get(t);if(n)return Promise.resolve(n);let r=z$.get(t);if(r)return r;let i=v6e(e).finally(()=>{z$.delete(t)});return z$.set(t,i),i}async function N1(e){R$.get(e)?.kind===`saved`&&(zX.getState().clear(e),await T1(e).catch(()=>!1))}async function b6e(e){let t=aq(e);if(!t)throw Error(`Saved environment not found.`);let n=R$.get(e);if(!n){try{await F1(t)}catch(t){throw _1(e,t),t}return}p1(e);try{await n.reconnect()}catch(t){throw _1(e,t),t}}function P1(e){for(let t of e){let e=B$.get(t);e===void 0||e<=1?B$.delete(t):B$.set(t,e-1)}}async function x6e(e){let t=e.environmentId;B$.set(t,(B$.get(t)??0)+1);try{return j1(t)||await F1(e),!0}catch{return P1([t]),!1}}async function S6e(){await rq();let e=(await Promise.all(WJe().map(async e=>await x6e(e)?e.environmentId:null))).flatMap(e=>e===null?[]:[e]),t=!1;return()=>{t||(t=!0,P1(e))}}async function C6e(e){J$(e),tq.getState().remove(e),await dq(e),await N1(e)}async function w6e(e){let t=an.make(e.environment.environmentId),{existing:n,replacedRecord:r}=_$e({environmentId:t,replacesEnvironmentId:e.environment.replacesEnvironmentId}),{kind:i,cmmdOrganizationId:a,cmmdProjectId:o,runtimeId:s,runtimeTicketExpiresAt:c}=e.environment,l={environmentId:t,label:e.environment.label,wsBaseUrl:un(e.environment.wsBaseUrl),httpBaseUrl:e.environment.httpBaseUrl,createdAt:n?.createdAt??u1(),lastConnectedAt:u1(),...i===void 0?{}:{kind:i},...a===void 0?{}:{cmmdOrganizationId:a},...o===void 0?{}:{cmmdProjectId:o},...s===void 0?{}:{runtimeId:s},...c===void 0?{}:{runtimeTicketExpiresAt:c}};VX(e.signal);let u=await v$e(n);J$(l.environmentId),await T1(l.environmentId).catch(()=>!1),r&&(J$(r.environmentId),await T1(r.environmentId).catch(()=>!1)),await F1(l,{bearerToken:e.bearerToken,registryExpectation:n&&!r?{kind:`existing-record`,record:n}:{kind:`initial-add`},...e.signal?{signal:e.signal}:{},...e.onBootstrapRetry?{onBootstrapRetry:e.onBootstrapRetry}:{}});let d=!1;try{return VX(e.signal),await y$e({record:l,replacedRecord:r,rollback:u,...e.signal?{signal:e.signal}:{}}),d=!0,VX(e.signal),tq.getState().upsert(WX(l)),l}catch(t){throw await T1(l.environmentId).catch(()=>!1),d&&await KX({record:l,replacedRecord:r,rollback:u}),VX(e.signal),t}}async function F1(e,t){if(!GX(e))return D1(e,t);let n=q$(e.environmentId),r=()=>X$({record:e,generation:n,registryExpectation:t?.registryExpectation??{kind:`existing-record`,record:e}}),i=null;for(let n=0;n<d1;n+=1){VX(t?.signal);try{let n=await D1(e,t);return await HX(n.ensureBootstrapped(),t?.signal),n}catch(a){if(i=a,!r())throw a;if(await T1(e.environmentId).catch(()=>!1),VX(t?.signal),n>=7||!t6e(a))throw r()&&_1(e.environmentId,a),a;let o=n6e(n);t?.onBootstrapRetry?.({attempt:n+2,maxAttempts:d1,retryDelayMs:o,error:a}),r()&&zX.getState().patch(e.environmentId,{connectionState:`connecting`,lastError:null,lastErrorAt:null}),await UX(o,t?.signal)}}let a=i instanceof Error?i:Error(String(i));throw r()&&_1(e.environmentId,a),a}async function T6e(e){await R$.get(e)?.ensureBootstrapped()}async function E6e(e){let t=R$.get(e);if(t?.ensureProviderAuthority){await t.ensureProviderAuthority();return}if(i4e(e))throw Error(`Cloud runtime provider authority is not available.`)}function D6e(e){if(G$?.queryClient===e)return G$.refCount+=1,()=>{!G$||G$.queryClient!==e||(--G$.refCount,G$.refCount===0&&k1())};k1(),K$=!1;let t=new sXe(()=>{K$&&(K$=!1,e.invalidateQueries({queryKey:NX.all}),e.invalidateQueries({queryKey:MX.all}))},{wait:100,leading:!1,trailing:!0});E1(),lr().catch(()=>void 0);let n=tq.subscribe(()=>{nq()&&O1(iq())});return rq().then(()=>O1(iq())).catch(()=>void 0),G$={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{n(),t.cancel()}},()=>{!G$||G$.queryClient!==e||(--G$.refCount,G$.refCount===0&&k1())}}var O6e=xte(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function k6e(e){return{environmentId:e.environmentId,threadId:e.threadId}}function A6e(e){return{draftId:e}}function j6e(e){return!e.environmentId||!e.threadId?null:Lo(e.environmentId,e.threadId)}function M6e(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:Lo(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}var N6e=F.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return wte(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})});function I1(e){let t=(0,ll.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Jt(`relative overflow-hidden rounded-sm bg-muted [--skeleton-highlight:--alpha(var(--color-white)/64%)] after:absolute after:inset-0 after:animate-skeleton after:bg-[linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)] motion-reduce:after:content-none dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Nr.jsx)(`div`,{className:i,"data-slot":`skeleton`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function P6e(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Kt(i),[,o]=F.useState(!1),s=Zt(I6e).current,c=Zt(F6e).current,l=F.useRef(0),u=F.useRef(!0),d=F.useRef([]),f=F.useRef(null),p=Kt(()=>{u.current||(u.current=!0,o(e=>!e))}),m=Kt((e,t)=>{c.set(e,t),p()}),h=Kt(e=>{c.delete(e),p()}),g=Kt(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function _(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!z6e(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&L1(r,n)>0){t.disconnect(),p();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=R6e(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Kt(()=>{let[e,t]=L6e(c),n=g(e);_(t),d.current=e,u.current=!1,s.forEach(e=>e(n)),a(n)});Xt(()=>(u.current||g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),Xt(()=>{u.current&&v()}),Xt(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Kt(e=>(s.add(e),()=>{s.delete(e)})),b=F.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Nr.jsx)(Ste.Provider,{value:b,children:t})}function F6e(){return new Map}function I6e(){return new Set}function L6e(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>L1(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function R6e(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function z6e(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function L1(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function R1(e){let t=e.browser,n=t?{openSession:t.openSession,listSessions:t.listSessions,closeSession:t.closeSession,getSession:t.getSession,command:t.command,clearBrowsingData:t.clearBrowsingData,attachDisplay:t.attachDisplay,addDisplayIceCandidate:async e=>{await t.addDisplayIceCandidate(e)},onEvent:(e,n)=>t.onEvent(e,n)}:void 0;return{...n?{browser:n}:{},attachments:{createUploadUrl:t=>e.attachments.createUploadUrl(t),delete:t=>e.attachments.delete(t)},computer:{input:t=>e.computer.input(t)},threadDevRuntime:{get:t=>e.threadDevRuntime.get(t),allocatePort:t=>e.threadDevRuntime.allocatePort(t),release:t=>e.threadDevRuntime.release(t)},devTunnel:{register:t=>e.devTunnel.register(t),unregister:t=>e.devTunnel.unregister(t),list:t=>e.devTunnel.list(t)},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),signal:t=>e.terminal.signal(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:{searchContents:e.projects.searchContents,searchEntries:e.projects.searchEntries,readFile:e.projects.readFile,writeFile:e.projects.writeFile},codeGraph:{summary:e.codeGraph.summary,neighborhood:e.codeGraph.neighborhood,search:e.codeGraph.search},workspace:{environmentPreflight:e.workspace.environmentPreflight,ensureScratch:e.workspace.ensureScratch},shell:{openInEditor:t=>e.shell.openInEditor(t)},git:{pull:e.git.pull,refreshStatus:e.git.refreshStatus,onStatus:(t,n,r)=>e.git.onStatus(t,n,r),listBranches:e.git.listBranches,createWorktree:e.git.createWorktree,removeWorktree:e.git.removeWorktree,createBranch:e.git.createBranch,checkout:e.git.checkout,init:e.git.init,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread},pullRequests:{list:t=>e.pullRequests.list(t),listStats:t=>e.pullRequests.listStats(t),detail:t=>e.pullRequests.detail(t),activity:t=>e.pullRequests.activity(t),threadComments:t=>e.pullRequests.threadComments(t),diffFileContents:t=>e.pullRequests.diffFileContents(t),runAction:t=>e.pullRequests.runAction(t),update:t=>e.pullRequests.update(t),comment:t=>e.pullRequests.comment(t),updateComment:t=>e.pullRequests.updateComment(t),submitReview:t=>e.pullRequests.submitReview(t),replyToThread:t=>e.pullRequests.replyToThread(t),setThreadResolution:t=>e.pullRequests.setThreadResolution(t),setReaction:t=>e.pullRequests.setReaction(t),invalidate:t=>e.pullRequests.invalidate(t),reviewerCandidates:t=>e.pullRequests.reviewerCandidates(t),requestReviewers:t=>e.pullRequests.requestReviewers(t)},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 z1(e){if(typeof window>`u`||!e)return;let t=j1(e);return t?R1(t.client):void 0}function B6e(e){let t=(0,ll.c)(4),n;t[0]===e?n=t[1]:(n=()=>j1(e),t[0]=e,t[1]=n);let r=(0,F.useSyncExternalStore)(A1,n,V6e),i,a;return t[2]===r?a=t[3]:(a=r?R1(r.client):void 0,t[2]=r,t[3]=a),i=a,i}function V6e(){return null}function H6e(e){let t=z1(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}var B1=`forge:last-editor`;function U6e(e){let t=(0,ll.c)(5),[n,r]=wl(B1,null,zn),i;bb0:{if(n&&e.includes(n)){i=n;break bb0}let r;t[0]===e?r=t[1]:(r=en.find(t=>e.includes(t.id))?.id??null,t[0]=e,t[1]=r),i=r}let a=i,o;return t[2]!==a||t[3]!==r?(o=[a,r],t[2]=a,t[3]=r,t[4]=o):o=t[4],o}function V1(e){let t=new Set(e),n=bl(B1,zn);if(n&&t.has(n))return n;let r=en.find(e=>t.has(e.id))?.id??null;return r&&xl(B1,r,zn),r??null}async function W6e(e,t){let{availableEditors:n}=await e.server.getConfig(),r=V1(n);if(!r)throw Error(`No available editors found.`);return await e.shell.openInEditor(t,r),r}function H1(e){if(e===null)return null;let t=e.trim();return t.length>0?t:null}var U1=Object.freeze({data:null,error:null,cause:null,isPending:!1}),W1=Object.freeze({...U1,isPending:!0}),G6e=Wt(U1).pipe(Ut,Vt(`git-status:null`)),G1=()=>void 0,K1=new Map,K6e=new Set,q1=new Map,J1=new Map,q6e=1e3,Y1=gte(e=>(K6e.add(e),Wt(W1).pipe(Ut,Vt(`git-status:${e}`))));function X1(e){return e.environmentId===null||H1(e.cwd)===null?null:`${e.environmentId}:${e.cwd}`}function Z1(e){if(e.environmentId===null)return null;let t=j1(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.git}:null}function Q1(e){let t=X1(e);return t===null?U1:Ht.get(Y1(t))}function J6e(e,t){let n=X1(e);if(n===null)return G1;let r=K1.get(n);return r?(r.refCount+=1,()=>$1(n)):(K1.set(n,{refCount:1,unsubscribe:Z6e(n,e,t)}),()=>$1(n))}function Y6e(e,t){let n=X1(e),r=H1(e.cwd);if(n===null||r===null)return Promise.resolve(null);let i=t??Z1(e)?.client;if(!i)return Promise.resolve(Q1(e).data);let a=q1.get(n);if(a)return a;let o=J1.get(n)??0;if(Date.now()-o<q6e)return Promise.resolve(Q1(e).data);J1.set(n,Date.now());let s=i.refreshStatus({cwd:r}).finally(()=>{q1.delete(n)});return q1.set(n,s),s}function X6e(e){let t=(0,ll.c)(4),n=X1(e),r,i;t[0]!==e.cwd||t[1]!==e.environmentId?(r=()=>J6e({environmentId:e.environmentId,cwd:e.cwd}),i=[e.environmentId,e.cwd],t[0]=e.cwd,t[1]=e.environmentId,t[2]=r,t[3]=i):(r=t[2],i=t[3]),(0,F.useEffect)(r,i);let a=cr(n===null?G6e:Y1(n));return n===null?U1:a}function $1(e){let t=K1.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),K1.delete(e)))}function Z6e(e,t,n){let r=H1(t.cwd);if(r===null)return G1;let i=null,a=G1,o=()=>{let o=n?{clientIdentity:`provided:${e}`,client:n}:Z1(t);if(!o){i!==null&&(a(),a=G1,i=null),e0(e);return}i!==o.clientIdentity&&(a(),i=o.clientIdentity,a=Q6e(e,r,o.client))},s=n?G1:A1(o);return o(),()=>{s(),a()}}function Q6e(e,t,n){return e0(e),n.onStatus({cwd:t},t=>{Ht.set(Y1(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{e0(e)}})}function e0(e){let t=Y1(e),n=Ht.get(t),r=n.data===null?W1:{...n,error:null,cause:null,isPending:!0};(n.data!==r.data||n.error!==r.error||n.cause!==r.cause||n.isPending!==r.isPending)&&Ht.set(t,r)}function t0(e,t){return Wt(t).pipe(Ut,Vt(e))}function n0(e){return{issues:e.issues,providers:e.providers,settings:e.settings}}var $6e=[],e8e=[],t8e=[],n8e=e=>e?.availableEditors??$6e,r8e=e=>e?.keybindings??e8e,i8e=e=>e?.keybindingsConfigPath??null,a8e=e=>e?.observability??null,o8e=e=>e?.providers??t8e,s8e=e=>e?.settings??bne,r0=t0(`server-welcome`,null),i0=t0(`server-config`,null),a0=t0(`server-config-updated`,null),c8e=t0(`server-providers-updated`,null);function o0(){return Ht.get(i0)}function l8e(){return Ht.get(a0)}function s0(e){d0(e),f0({providers:e.providers}),p0(n0(e),`snapshot`)}function u8e(e){switch(e.type){case`snapshot`:s0(e.config);return;case`keybindingsUpdated`:{let t=o0();if(!t)return;let n={...t,issues:e.payload.issues,keybindings:e.payload.keybindings};d0(n),p0(n0(n),e.type);return}case`providerStatuses`:c0(e.payload);return;case`settingsUpdated`:l0(e.payload.settings);return;case`environmentUpdated`:u0(e.payload.environment);return}}function c0(e){let t=o0();if(f0(e),!t)return;let n={...t,providers:e.providers};d0(n),p0(n0(n),`providerStatuses`)}function l0(e){let t=o0();if(!t)return;let n={...t,settings:e};d0(n),p0(n0(n),`settingsUpdated`)}function u0(e){let t=o0();if(IK()?.environmentId===e.environmentId&&LK(e),!t)return;let n={...t,environment:e};d0(n),p0(n0(n),`environmentUpdated`)}function d8e(e){Ht.set(r0,e)}function f8e(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&d8e(e.payload)}),e.subscribeConfig(e=>{u8e(e)})];return o0()===null&&e.getConfig().then(e=>{t||o0()!==null||s0(e)}).catch(()=>void 0),()=>{t=!0;for(let e of n)e()}}var p8e=1;function d0(e){Ht.set(i0,e)}function f0(e){Ht.set(c8e,e)}function p0(e,t){Ht.set(a0,{id:p8e++,payload:e,source:t})}function m0(e,t){let n=(0,F.useRef)(t);n.current=t;let r=(0,F.useCallback)(e=>{e!==null&&n.current(e)},[]);Ene(e,r,{immediate:!0})}function m8e(){return cr(i0)}function h0(){return cr(i0,s8e)}function h8e(){return cr(i0,o8e)}function g8e(){return cr(i0,r8e)}function _8e(){return cr(i0,n8e)}function v8e(){return cr(i0,i8e)}function y8e(){return cr(i0,a8e)}function b8e(e){m0(r0,e)}function x8e(e){m0(a0,e)}function S8e(e){let t=[];for(let n of e){let e=n.children??[];if(e.length>0){t.push({item:n,isGroupLabel:!0});for(let n of e)t.push({item:n,isGroupLabel:!1});continue}Array.isArray(n.children)||t.push({item:n,isGroupLabel:!1})}return t}function C8e(e){let t=document.createElement(`div`);return t.textContent=e,t.className=`px-2 pt-1.5 pb-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,t}function w8e(e){let t=document.createElement(`button`);return t.type=`button`,t.textContent=e.label,t.disabled=e.disabled,t.className=e.disabled?`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-muted-foreground/50 cursor-not-allowed`:e.destructive?`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-destructive transition-colors hover:bg-accent`:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-popover-foreground transition-colors hover:bg-accent`,t}function T8e(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=document.createElement(`div`);i.className=`fixed z-[10000] min-w-[160px] rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg/5 outline-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`;let a=t?.x??0,o=t?.y??0;i.style.top=`${o}px`,i.style.left=`${a}px`;function s(e){document.removeEventListener(`keydown`,c),r.remove(),i.remove(),n(e)}function c(e){e.key===`Escape`&&(e.preventDefault(),s(null))}r.addEventListener(`mousedown`,()=>s(null)),document.addEventListener(`keydown`,c);let l=!1;for(let{item:t,isGroupLabel:n}of S8e(e)){if(n){i.appendChild(C8e(t.label));continue}let e=t.destructive===!0||t.id===`delete`,r=t.disabled===!0;if(e&&!l){let e=document.createElement(`div`);e.className=`-mx-1 my-1 h-px bg-border`,i.appendChild(e),l=!0}let a=w8e({label:t.label,disabled:r,destructive:e});r||a.addEventListener(`click`,()=>s(t.id)),i.appendChild(a)}document.body.appendChild(r),document.body.appendChild(i),requestAnimationFrame(()=>{let e=i.getBoundingClientRect();e.right>window.innerWidth&&(i.style.left=`${window.innerWidth-e.width-4}px`),e.bottom>window.innerHeight&&(i.style.top=`${window.innerHeight-e.height-4}px`)})})}var g0;function E8e(){return _0(M1().client)}function _0(e){return{getConfig:e.server.getConfig,refreshProviders:e.server.refreshProviders,startProviderAuth:e.server.startProviderAuth,repairProviderAuthRuntime:e.server.repairProviderAuthRuntime,disconnectProviderAuth:e.server.disconnectProviderAuth,getProviderAuthSession:e.server.getProviderAuthSession,cancelProviderAuth:e.server.cancelProviderAuth,submitProviderAuthCode:e.server.submitProviderAuthCode,syncPersonalCodexToCloud:e.server.syncPersonalCodexToCloud,syncPersonalClaudeToCloud:e.server.syncPersonalClaudeToCloud,upsertKeybinding:e.server.upsertKeybinding,removeKeybinding:e.server.removeKeybinding,getSettings:e.server.getSettings,updateSettings:e.server.updateSettings,updateEnvironmentDisplayName:async t=>{let n=await e.server.updateEnvironmentDisplayName({displayName:t});return u0(n.environment),n}}}function D8e(e,t){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}}}function O8e(e){return{dialogs:{pickFolder:async()=>window.desktopBridge?window.desktopBridge.pickFolder():null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},shell:{openInEditor:(t,n)=>e.shell.openInEditor({cwd:t,editor:n}),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`)}},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):T8e(e,t)},persistence:{getClientSettings:zl,setClientSettings:Bl,getSavedEnvironmentRegistry:Vl,setSavedEnvironmentRegistry:Hl,getSavedEnvironmentSecret:Ul,setSavedEnvironmentSecret:Wl,removeSavedEnvironmentSecret:Gl},server:_0(e)}}function v0(){if(typeof window>`u`)return;if(g0)return g0;let e=O8e(M1().client);return window.nativeApi?(g0=D8e(e,window.nativeApi),g0):(g0=e,g0)}function k8e(){let e=v0();if(!e)throw Error(`Local API not found`);return e}var A8e=`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`,j8e=`ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace`;function M8e(e){let t=e.trim();return t.length===0?``:/^(['"]).*\1$/u.test(t)||/^[a-zA-Z][a-zA-Z0-9-]*$/u.test(t)?t:`"${t.replaceAll(`"`,``)}"`}function N8e(e){let t=e.split(`,`).map(M8e).filter(e=>e.length>0);return t.length>0?t.join(`, `):null}var y0={fontSans:`--font-sans`,fontMono:`--font-mono`,fontComposer:`--font-composer`,fontTerminal:`--font-terminal`,promptFontSize:`--forge-prompt-font-size`,terminalFontSize:`--forge-terminal-font-size`,glassOpacity:`--glass-opacity`};function P8e(e,t){let n=[[y0.fontSans,t.fontFamilySans,A8e],[y0.fontMono,t.fontFamilyCode,j8e],[y0.fontComposer,t.fontFamilyComposer,`var(--font-sans)`],[y0.fontTerminal,t.fontFamilyTerminal,`var(--font-mono)`]];for(let[t,r,i]of n){let n=N8e(r);if(n===null){e.style.removeProperty(t);continue}e.style.setProperty(t,`${n}, ${i}`)}e.style.setProperty(y0.promptFontSize,`${String(t.promptFontSize)}px`),e.style.setProperty(y0.terminalFontSize,`${String(t.terminalFontSize)}px`),e.style.setProperty(y0.glassOpacity,`${String(t.glassOpacity)}%`),t.fontSmoothing?e.style.setProperty(`-webkit-font-smoothing`,`antialiased`):e.style.removeProperty(`-webkit-font-smoothing`)}var b0=`themeId`,x0=`forge:theme-boot:v1`;function F8e(e,t){try{window.localStorage.setItem(x0,JSON.stringify({appearance:t,background:e}))}catch{}}function I8e(){try{window.localStorage.removeItem(x0)}catch{}}function S0(){return typeof document>`u`?null:document.documentElement}function C0(){let e=S0();if(e!==null){for(let t of nn)e.style.removeProperty(_n[t]);delete e.dataset[b0],I8e()}}function L8e(e,t){let n=S0();if(n===null)return;let r=t===`dark`?e.dark:e.light;for(let e of nn){let t=r[e];if(t===void 0){n.style.removeProperty(_n[e]);continue}n.style.setProperty(_n[e],t)}n.dataset[b0]=e.id,r.background!==void 0&&F8e(r.background,t)}function R8e(e,t){if(e===`forge`){C0();return}let n=lne(e);if(n===void 0){C0();return}L8e(n,t)}function w0(e,t){if(!Fe(e)||!Fe(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]=Fe(t)&&Fe(r)?w0(t,r):r}return n}var T0=`[CLIENT_SETTINGS]`,E0=new Set,D0=An,O0=!1,k0=null;function z8e(){for(let e of E0)e()}function A0(){return D0}function j0(e){D0=e,z8e()}function B8e(e){return E0.add(e),V8e(),()=>{E0.delete(e)}}async function V8e(){if(O0)return;if(k0)return k0;let e=(async()=>{try{let e=await zl();e&&j0(e)}catch(e){console.error(`${T0} hydrate failed`,e)}finally{O0=!0}})().finally(()=>{k0===e&&(k0=null)});return k0=e,k0}function H8e(e){j0(e),Bl(e).catch(e=>{console.error(`${T0} persist failed`,e)})}var U8e=new Set(Kte(yne.fields));function W8e(e){let t={},n={};for(let[r,i]of Object.entries(e))U8e.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function M0(e){let t=h0(),n=(0,F.useSyncExternalStore)(B8e,A0,()=>An),r=(0,F.useMemo)(()=>({...t,...n}),[n,t]);return(0,F.useMemo)(()=>e?e(r):r,[r,e])}function N0(){let e=(0,ll.c)(2),t=G8e,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{t(Ate)},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 G8e(e){let{serverPatch:t,clientPatch:n}=W8e(e);if(Object.keys(t).length>0){let e=o0();e&&l0(w0(e.settings,t)),M1().client.server.updateSettings(t)}Object.keys(n).length>0&&H8e({...A0(),...n})}var K8e=`forge:theme`,P0=`theme-color`,q8e=`meta[name="${P0}"][data-dynamic-theme-color="true"]`,F0=`(prefers-color-scheme: dark)`,J8e={dark:`#0a0a0a`,light:`#ffffff`};function Y8e(){return typeof window<`u`&&typeof localStorage<`u`}function I0(e){return e===`system`||e===`light`||e===`dark`}function L0(e,t){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(20,Math.max(11,Math.round(e)))}function X8e(){if(!Y8e())return{theme:`system`,uiFontSize:16,codeFontSize:13};try{let e=window.localStorage.getItem(jl);if(e){let t=Pl(JSON.parse(e));return{theme:I0(t.theme)?t.theme:`system`,uiFontSize:L0(t.uiFontSize,16),codeFontSize:L0(t.codeFontSize,13)}}let t=window.localStorage.getItem(K8e);return{theme:I0(t)?t:`system`,uiFontSize:16,codeFontSize:13}}catch{return{theme:`system`,uiFontSize:16,codeFontSize:13}}}function Z8e(){return typeof window>`u`||typeof window.matchMedia!=`function`||window.matchMedia(F0).matches?`dark`:`light`}function R0(e){return e===`system`?Z8e():e}function Q8e(){let e=document.querySelector(q8e);return e||(e=document.createElement(`meta`),e.name=P0,e.setAttribute(`data-dynamic-theme-color`,`true`),document.head.append(e),e)}function z0(e){let t=e?.trim().toLowerCase();return!t||t===`transparent`||t===`rgba(0, 0, 0, 0)`||t===`rgba(0 0 0 / 0)`?null:e?.trim()??null}function $8e(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function e5e(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function B0(e=e5e()){if(typeof document>`u`||typeof getComputedStyle>`u`)return;document.documentElement.style.backgroundColor=``,document.body.style.backgroundColor=``;let t=z0(getComputedStyle($8e()).backgroundColor),n=z0(getComputedStyle(document.body).backgroundColor),r=t??n??J8e[e];document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,Q8e().setAttribute(`content`,r)}function t5e(e){if(typeof window>`u`)return;let t=window.desktopBridge;t&&t.setTheme(e).catch(()=>{})}function V0(e,t=!1){let n=R0(e);return typeof document>`u`||typeof window>`u`?n:(t&&document.documentElement.classList.add(`no-transitions`),document.documentElement.classList.toggle(`dark`,n===`dark`),document.documentElement.dataset.theme=e,document.documentElement.style.colorScheme=n,B0(n),t5e(e),t&&(document.documentElement.offsetHeight,requestAnimationFrame(()=>{document.documentElement.classList.remove(`no-transitions`)})),n)}function H0(e){typeof document>`u`||document.documentElement.style.setProperty(`--forge-ui-font-size`,`${L0(e,16)}px`)}function U0(e){typeof document>`u`||document.documentElement.style.setProperty(`--forge-code-font-size`,`${L0(e,13)}px`)}function W0(e){H0(e.uiFontSize),U0(e.codeFontSize)}if(typeof document<`u`){let e=X8e();V0(e.theme),W0(e)}function n5e(){let e=(0,ll.c)(34),t=M0(o5e),n=M0(a5e),r=M0(i5e),i=M0(r5e),{updateSettings:a}=N0(),o;e[0]===t?o=e[1]:(o=()=>R0(t),e[0]=t,e[1]=o);let[s,c]=(0,F.useState)(o),l;e[2]===a?l=e[3]:(l=e=>{a({theme:e}),c(V0(e,!0))},e[2]=a,e[3]=l);let u=l,d;e[4]===a?d=e[5]:(d=e=>{a({themeId:e})},e[4]=a,e[5]=d);let f=d,p;e[6]===a?p=e[7]:(p=e=>{let t=L0(e,16);a({uiFontSize:t}),H0(t)},e[6]=a,e[7]=p);let m=p,h;e[8]===a?h=e[9]:(h=e=>{let t=L0(e,13);a({codeFontSize:t}),U0(t)},e[8]=a,e[9]=h);let g=h,_,v;e[10]===t?(_=e[11],v=e[12]):(_=()=>{c(V0(t))},v=[t],e[10]=t,e[11]=_,e[12]=v),(0,F.useEffect)(_,v);let y,b;e[13]!==i||e[14]!==r?(y=()=>{W0({uiFontSize:r,codeFontSize:i})},b=[r,i],e[13]=i,e[14]=r,e[15]=y,e[16]=b):(y=e[15],b=e[16]),(0,F.useEffect)(y,b);let x,S;e[17]!==s||e[18]!==n?(S=()=>{R8e(n,s===`dark`?`dark`:`light`)},x=[n,s],e[17]=s,e[18]=n,e[19]=x,e[20]=S):(x=e[19],S=e[20]),(0,F.useEffect)(S,x);let C,w;e[21]===t?(C=e[22],w=e[23]):(C=()=>{if(t!==`system`||typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(F0),n=()=>{c(V0(`system`,!0))};return e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},w=[t],e[21]=t,e[22]=C,e[23]=w),(0,F.useEffect)(C,w);let T;return e[24]!==i||e[25]!==s||e[26]!==g||e[27]!==u||e[28]!==f||e[29]!==m||e[30]!==t||e[31]!==n||e[32]!==r?(T={theme:t,setTheme:u,themeId:n,setThemeId:f,resolvedTheme:s,uiFontSize:r,codeFontSize:i,setUiFontSize:m,setCodeFontSize:g},e[24]=i,e[25]=s,e[26]=g,e[27]=u,e[28]=f,e[29]=m,e[30]=t,e[31]=n,e[32]=r,e[33]=T):T=e[33],T}function r5e(e){return e.codeFontSize}function i5e(e){return e.uiFontSize}function a5e(e){return e.themeId}function o5e(e){return e.theme}function s5e(){let e=(0,ll.c)(10),t=M0(h5e),n=M0(m5e),r=M0(p5e),i=M0(f5e),a=M0(d5e),o=M0(u5e),s=M0(l5e),c=M0(c5e),l,u;e[0]!==n||e[1]!==r||e[2]!==t||e[3]!==i||e[4]!==s||e[5]!==c||e[6]!==a||e[7]!==o?(l=()=>{typeof document>`u`||P8e(document.documentElement,{fontFamilyCode:n,fontFamilyComposer:r,fontFamilySans:t,fontFamilyTerminal:i,fontSmoothing:s,glassOpacity:c,promptFontSize:a,terminalFontSize:o})},u=[n,r,t,i,s,c,a,o],e[0]=n,e[1]=r,e[2]=t,e[3]=i,e[4]=s,e[5]=c,e[6]=a,e[7]=o,e[8]=l,e[9]=u):(l=e[8],u=e[9]),(0,F.useEffect)(l,u)}function c5e(e){return e.glassOpacity}function l5e(e){return e.fontSmoothing}function u5e(e){return e.terminalFontSize}function d5e(e){return e.promptFontSize}function f5e(e){return e.fontFamilyTerminal}function p5e(e){return e.fontFamilyComposer}function m5e(e){return e.fontFamilyCode}function h5e(e){return e.fontFamilySans}function g5e(e,t){let n={hour:`numeric`,minute:`2-digit`,...t?{second:`2-digit`}:{}};return e===`locale`?n:{...n,hour12:e===`12-hour`}}var G0=new Map;function K0(e,t){let n=`${e}:${t?`seconds`:`minutes`}`,r=G0.get(n);if(r)return r;let i=new Intl.DateTimeFormat(void 0,g5e(e,t));return G0.set(n,i),i}function _5e(e,t){return K0(t,!0).format(new Date(e))}function v5e(e,t){return K0(t,!1).format(new Date(e))}function q0(e){let t=Date.now()-new Date(e).getTime();if(t<0)return{value:`just now`,suffix:null};let n=Math.floor(t/1e3);if(n<60)return{value:`just now`,suffix:null};let r=Math.floor(n/60);if(r<60)return{value:`${r}m`,suffix:`ago`};let i=Math.floor(r/60);return i<24?{value:`${i}h`,suffix:`ago`}:{value:`${Math.floor(i/24)}d`,suffix:`ago`}}function y5e(e){let t=q0(e);return t.suffix?`${t.value} ${t.suffix}`:t.value}var b5e=new Set([`tool.started`,`task.started`,`context-window.updated`,`text-generation.usage`,`worktree.stage`,`launch.agent-starting`]);function J0(e){return b5e.has(e.kind)||e.summary===`Checkpoint captured`}function x5e(e,t){return!t.latestTurnId||e.turnId===t.latestTurnId||S5e(e)?!0:C5e(e,t.latestTurnStartedAt)}function S5e(e){return e.kind.startsWith(`worktree.`)||e.kind.startsWith(`setup-script.`)}function C5e(e,t){return e.turnId!==null||e.tone!==`error`||t===null?!1:e.createdAt>=t}var w5e=[{value:`codex`,label:`Codex`,available:!0},{value:`claudeAgent`,label:`Claude`,available:!0},{value:`cmmd`,label:`CMMD`,available:!0},{value:`ollama`,label:`Ollama`,available:!1},{value:`cursor`,label:`Cursor`,available:!1}];function T5e(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function E5e(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:T5e(r-n)}function Y0(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function D5e(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?Y0(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function X0(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;default:return null}}function Z0(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function O5e(e){let t=new Map,n=[...e].toSorted(h2);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?Sn.make(n.requestId):null,i=n&&(n.requestKind===`command`||n.requestKind===`file-read`||n.requestKind===`file-change`)?n.requestKind:n?X0(n.requestType):null,a=n&&typeof n.detail==`string`?n.detail:void 0;if(e.kind===`approval.requested`&&r&&i){t.set(r,{requestId:r,requestKind:i,createdAt:e.createdAt,...a?{detail:a}:{}});continue}if(e.kind===`approval.resolved`&&r){t.delete(r);continue}if(e.kind===`provider.approval.respond.failed`&&r&&Z0(a)){t.delete(r);continue}}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function k5e(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n,multiSelect:t.multiSelect===!0}}).filter(e=>e!==null);return n.length>0?n:null}function A5e(e){let t=new Map,n=[...e].toSorted(h2);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?Sn.make(n.requestId):null,i=n&&typeof n.detail==`string`?n.detail:void 0;if(e.kind===`user-input.requested`&&r){let i=k5e(n);if(!i)continue;t.set(r,{requestId:r,createdAt:e.createdAt,questions:i});continue}if(e.kind===`user-input.resolved`&&r){t.delete(r);continue}e.kind===`provider.user-input.respond.failed`&&r&&Z0(i)&&t.delete(r)}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function j5e(e,t){if(!t)return null;let n=[...e].toSorted(h2),r=null;for(let e of n){let t=$0(e.payload&&typeof e.payload==`object`?e.payload:null);t&&(r={request:t,turnId:e.turnId})}return!r||r.turnId!==t?null:r.request}function M5e(e,t){let n=[...e].toSorted(h2),r=n.filter(e=>e.kind===`turn.plan.updated`),i=(t?r.findLast(e=>e.turnId===t):void 0)??r.at(-1)??null;if(!i)return null;let a=i.payload&&typeof i.payload==`object`?i.payload:null,o=a?.plan;if(!Array.isArray(o))return null;let s=o.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);if(s.length===0)return null;let c=i.turnId!==null&&n.some(e=>e.kind===`turn.completed`&&e.turnId===i.turnId&&h2(i,e)<0)?s.map(e=>e.status===`inProgress`?{...e,status:`completed`}:e):s;return{createdAt:i.createdAt,turnId:i.turnId,...a&&`explanation`in a?{explanation:a.explanation}:{},steps:c}}function Q0(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return o2(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?o2(n):null}function N5e(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return o2(n)}}return Q0(t,e.latestTurn?.turnId??null)}function P5e(e){return e!==null&&e.implementedAt===null}function F5e(e,t,n){let r=I5e(),i={latestTurnId:t,latestTurnStartedAt:n??null};return W5e([...e].toSorted(h2).filter(e=>x5e(e,i)).filter(e=>!J0(e)).filter(e=>r||e.kind!==`runtime.warning`).filter(e=>!L5e(e)).map(R5e)).map(({activityKind:e,collapseKey:t,...n})=>n)}function I5e(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(`forge:debug-mode`)===`true`}catch{return!1}}function L5e(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function R5e(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=a7e(t),r=d7e(t),i=o7e(t),a=e.kind===`task.progress`||e.kind===`task.completed`,o=a&&typeof t?.summary==`string`&&t.summary.length>0?t.summary:null,s=a&&!o&&typeof t?.detail==`string`&&t.detail.length>0?t.detail:null,c=o||s,l={id:e.id,createdAt:e.createdAt,label:c||e.summary,tone:e.kind===`task.progress`?`thinking`:e.tone,activityKind:e.kind},u=l7e(t),d=u7e(t);if(!s&&t&&typeof t.detail==`string`&&t.detail.length>0){let e=f2(t.detail).output;e&&(l.detail=e)}n.command&&(l.command=n.command),n.rawCommand&&(l.rawCommand=n.rawCommand),r.length>0&&(l.changedFiles=r),i&&(l.toolTitle=i),u&&(l.itemType=u),d&&(l.requestKind=d);let f=z5e(t);if(f)l.githubConfirmation=f,l.tone=`approval`,l.label=`GitHub action needs approval`,l.toolTitle=t2(f.operation),l.detail=n2(f);else{let e=$0(t);e&&(l.githubActionRequired=e,l.tone=`approval`,l.label=r2(e.action),l.toolTitle=`GitHub setup required`,l.detail=a2(e))}let p=J5e(l);return p&&(l.collapseKey=p),l}function z5e(e){for(let t of e2(e)){if(t.userActionRequired!==`confirm_github_tool`)continue;let e=s2(t.confirmation),n=s2(e?.request),r=c2(e?.confirmationId),i=c2(e?.toolName),a=c2(e?.operation);if(!(!r||!i||!a||!n))return{confirmationId:r,toolName:i,operation:a,request:n}}return null}function $0(e){let t=e2(e)[0];if(!t)return null;let n=c2(t.userActionRequired);return!n||n===`confirm_github_tool`?null:{action:n,toolName:c2(t.toolName),message:c2(t.error)??c2(t.message)}}function e2(e){if(!e)return[];let t=[],n=new Set,r=(e,i)=>{if(i>8||e==null)return;if(typeof e==`string`){let n=c2(e);if(!n)return;let r=B5e(n);r&&c2(r.userActionRequired)&&t.push(r);return}if(typeof e!=`object`||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let t of e)r(t,i+1);return}let a=e;if(c2(a.userActionRequired)){t.push(a);return}for(let e of Object.values(a))r(e,i+1)};return r(e,0),t}function B5e(e){try{return s2(JSON.parse(e))}catch{return null}}function t2(e){switch(e){case`create_repository`:return`Create GitHub repository`;case`link_project_repository`:return`Link project repository`;case`push_branch`:return`Push Git branch`;case`create_pull_request`:return`Create pull request`;case`rerun_workflow`:return`Rerun GitHub Actions workflow`;default:return e.split(`_`).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}}function n2(e){return[c2(e.request.repoFullName)??(c2(e.request.owner)&&c2(e.request.name)?`${c2(e.request.owner)}/${c2(e.request.name)}`:null),c2(e.request.cwd),c2(e.request.branch),c2(e.request.title)].filter(Boolean).join(` - `)}function r2(e){switch(e){case`connect_github`:return`Connect GitHub to continue`;case`connect_cmmd`:return`Forge couldn't authorize this action`;case`start_from_authenticated_forge_session`:return`Open this thread in Forge`;case`link_project_repository`:return`Link this project to GitHub`;case`create_branch`:return`Create a branch before pushing`;case`retry_in_user_vm`:return`Retry in the project VM`;default:return e.split(`_`).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}}function i2(e){switch(e){case`connect_github`:return`Connect GitHub so agents can create repos, push branches, and open PRs.`;case`connect_cmmd`:return`Reconnect Forge, then retry. Your conversation is preserved.`;case`start_from_authenticated_forge_session`:return`Open it in Forge so this action uses your signed-in account.`;case`link_project_repository`:return`Link a GitHub repo to this project before pushing or opening PRs.`;case`create_branch`:return`Forge needs a branch before it can push to GitHub.`;case`retry_in_user_vm`:return`This has to run from the project's cloud VM.`;default:return`Finish the required setup, then retry.`}}function a2(e){return e.action===`connect_cmmd`?i2(e.action):e.message??i2(e.action)}function V5e(e,t){return e.action===t.action&&e.toolName===t.toolName&&e.message===t.message}function H5e(e){switch(e){case`connect_cmmd`:return`Reconnect Forge`;case`connect_github`:return`Connect GitHub`;default:return`Open Git settings`}}function U5e(e){return[`The required Forge GitHub setup has been completed by the user.`,e.toolName?`Retry the previous GitHub tool request for \`${e.toolName}\`.`:`Retry the previous GitHub tool request.`,`Continue the previous GitHub lifecycle request using Forge brokered GitHub tools only.`,"Do not use shell `gh` or direct GitHub CLI commands."].join(`
1021
- `)}function W5e(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&G5e(e,n)){t[t.length-1]=K5e(e,n);continue}t.push(n)}return t}function G5e(e,t){return e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`||t.activityKind!==`tool.updated`&&t.activityKind!==`tool.completed`||e.activityKind===`tool.completed`?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey}function K5e(e,t){let n=q5e(e.changedFiles,t.changedFiles),r=t.detail??e.detail,i=t.command??e.command,a=t.rawCommand??e.rawCommand,o=t.toolTitle??e.toolTitle,s=t.itemType??e.itemType,c=t.requestKind??e.requestKind,l=t.collapseKey??e.collapseKey;return{...e,...t,...r?{detail:r}:{},...i?{command:i}:{},...a?{rawCommand:a}:{},...n.length>0?{changedFiles:n}:{},...o?{toolTitle:o}:{},...s?{itemType:s}:{},...c?{requestKind:c}:{},...l?{collapseKey:l}:{}}}function q5e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function J5e(e){if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;let t=Y5e(e.toolTitle??e.label),n=e.detail?.trim()??``,r=e.itemType??``;if(t.length!==0||n.length!==0||r.length!==0)return[r,t,n].join(``)}function Y5e(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function o2(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function s2(e){return e&&typeof e==`object`?e:null}function c2(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function l2(e){let t=e.trim();if(t.startsWith(`'`)&&t.endsWith(`'`)||t.startsWith(`"`)&&t.endsWith(`"`)){let e=t.slice(1,-1).trim();return e.length>0?e:t}return t}function X5e(e){let t=l2(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function Z5e(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`"`)||t.startsWith(`'`)){let e=t.charAt(0),n=t.indexOf(e,1);return n<=0?null:{executable:t.slice(0,n+1),rest:t.slice(n+1).trim()}}let n=t.search(/\s/);return n<0?{executable:t,rest:``}:{executable:t.slice(0,n),rest:t.slice(n).trim()}}var Q5e=[{executables:[`pwsh`,`pwsh.exe`,`powershell`,`powershell.exe`],wrapperFlagPattern:/(?:^|\s)-command\s+/i},{executables:[`cmd`,`cmd.exe`],wrapperFlagPattern:/(?:^|\s)\/c\s+/i},{executables:[`bash`,`sh`,`zsh`],wrapperFlagPattern:/(?:^|\s)-(?:l)?c\s+/i}];function $5e(e){return Q5e.find(t=>t.executables.includes(e))}function e7e(e,t){let n=t.exec(e);if(!n)return null;let r=e.slice(n.index+n[0].length).trim();if(r.length===0)return null;let i=l2(r);return i.length>0?i:null}function t7e(e){let t=Z5e(e);if(!t||t.rest.length===0)return e;let n=X5e(t.executable);if(!n)return e;let r=$5e(n);return r?e7e(t.rest,r.wrapperFlagPattern)??e:e}function n7e(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function u2(e){let t=c2(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>c2(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>n7e(e)).join(` `)}function r7e(e){let t=u2(e);return t?t7e(t):null}function i7e(e,t){let n=u2(e);return!n||t===null||n===t?null:n}function a7e(e){let t=s2(e?.data),n=s2(t?.item),r=s2(n?.result),i=s2(n?.input),a=c2(e?.itemType),o=c2(e?.detail),s=[e?.command,n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?f2(o).output:null];for(let e of s){let t=r7e(e);if(t)return{command:t,rawCommand:i7e(e,t)}}return{command:null,rawCommand:null}}function o7e(e){return s7e(e)??c2(e?.title)}function s7e(e){if(!e)return null;let t=s2(e.data),n=s2(t?.item),r=s2(n?.input)??s2(t?.input),i=c2(e.title),a=c2(e.itemType),o=c2(n?.name)??c2(n?.toolName)??c2(t?.name)??c2(e.toolName)??i,s=c2(e.detail),c=[o,i,a,s].filter(Boolean).join(` `).toLowerCase();if(!c.includes(`browser`)&&!c.includes(`forge-browser`))return null;switch(c7e(o,r,s)){case`open-session`:return`Opened browser session`;case`name-session`:return`Named browser session`;case`new-tab`:return d2(r)??`Opened browser tab`;case`navigate`:return d2(r)??`Navigated browser`;case`reload`:return`Reloaded page`;case`back`:return`Went back`;case`forward`:return`Went forward`;case`screenshot`:return`Captured screenshot`;case`snapshot`:return`Read DOM snapshot`;case`logs`:return`Read console logs`;case`click`:return`Clicked page`;case`type`:return`Typed text`;case`scroll`:return`Scrolled page`;case`viewport`:return`Updated viewport`;case`visibility`:return`Updated browser visibility`;default:return null}}function c7e(e,t,n){let r=[c2(t?.type)??c2(t?.command),e,n].filter(Boolean).join(` `).toLowerCase();return/\b(open[-_.\s]?session|create[-_.\s]?session|session[-_.\s]?open)\b/.test(r)?`open-session`:/\b(name[-_.\s]?session|session[-_.\s]?name)\b/.test(r)?`name-session`:/\b(new[-_.\s]?tab|create[-_.\s]?tab|open[-_.\s]?tab)\b/.test(r)?`new-tab`:/\b(navigate|goto|go[-_.\s]?to)\b/.test(r)?`navigate`:/\breload\b/.test(r)?`reload`:/\b(go[-_.\s]?back|back)\b/.test(r)?`back`:/\b(go[-_.\s]?forward|forward)\b/.test(r)?`forward`:/\b(screenshot|capture)\b/.test(r)?`screenshot`:/\b(snapshot|dom[-_.\s]?snapshot|read[-_.\s]?dom)\b/.test(r)?`snapshot`:/\b(console[-_.\s]?logs?|logs?)\b/.test(r)?`logs`:/\bclick\b/.test(r)?`click`:/\btype|fill\b/.test(r)?`type`:/\bscroll\b/.test(r)?`scroll`:/\bviewport\b/.test(r)?`viewport`:/\bvisibility|visible|hidden\b/.test(r)?`visibility`:null}function d2(e){let t=c2(e?.url)??c2(e?.initialUrl);if(!t)return null;try{let e=new URL(t);return e.hostname.length===0?null:`Navigated to ${e.hostname}`}catch{return null}}function f2(e){let t=e.trim(),n=/^(?<output>[\s\S]*?)(?:\s*<exited with exit code (?<code>\d+)>)\s*$/i.exec(t);if(!n?.groups)return{output:t.length>0?t:null};let r=Number.parseInt(n.groups.code??``,10),i=n.groups.output?.trim()??``;return{output:i.length>0?i:null,...Number.isInteger(r)?{exitCode:r}:{}}}function l7e(e){if(typeof e?.itemType==`string`&&Lte(e.itemType))return e.itemType}function u7e(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`?e.requestKind:X0(e?.requestType)??void 0}function p2(e,t,n){let r=c2(n);!r||t.has(r)||(t.add(r),e.push(r))}function m2(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(m2(i,t,n,r+1),t.length>=12)return;return}let i=s2(e);if(i){p2(t,n,i.path),p2(t,n,i.filePath),p2(t,n,i.relativePath),p2(t,n,i.filename),p2(t,n,i.newPath),p2(t,n,i.oldPath);for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(m2(i[e],t,n,r+1),t.length>=12))return}}function d7e(e){let t=[],n=new Set;return m2(s2(e?.data),t,n,0),t}function h2(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;let n=e.createdAt.localeCompare(t.createdAt);if(n!==0)return n;let r=g2(e.kind)-g2(t.kind);return r===0?e.id.localeCompare(t.id):r}function g2(e){return e.endsWith(`.started`)||e===`tool.started`?0:e.endsWith(`.progress`)||e.endsWith(`.updated`)?1:e.endsWith(`.completed`)||e.endsWith(`.resolved`)?2:1}function f7e(e,t){return t?e.some(e=>e.turnId===t&&e.tone===`tool`):!1}function p7e(e,t,n){let r=e.map(e=>({id:e.id,kind:`message`,createdAt:e.createdAt,message:e})),i=t.map(e=>({id:e.id,kind:`proposed-plan`,createdAt:e.createdAt,proposedPlan:e})),a=n.map(e=>({id:e.id,kind:`work`,createdAt:e.createdAt,entry:e})),o=e.flatMap(e=>{if(e.role!==`assistant`)return[];let t=m7e(e.text,{workEntries:n,createdAt:e.createdAt});return t?[{id:`${e.id}:github-confirmation:${t.confirmationId}`,kind:`work`,createdAt:e.createdAt,entry:{id:`${e.id}:github-confirmation:${t.confirmationId}`,createdAt:e.createdAt,label:`GitHub action needs approval`,detail:n2(t),tone:`approval`,toolTitle:t2(t.operation),githubConfirmation:t}}]:[]});return[...r,...i,...a,...o].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function m7e(e,t){if(!e.includes(`confirm_github_tool`))return null;let n=v7e(e,/\b(?:New confirmation id|Confirmation id):\s*`?([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})`?/i)??null,r=/\bRepo(?: to create)?:\s*(private|public|internal)\s+`?([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)`?/i.exec(e);if(!n)return null;let i=h7e(e,n,t);if(i)return i;if(!r)return null;let a=r[1]?.toLowerCase(),o=r[2],s=r[3];return!o||!s?null:{confirmationId:n,toolName:`forge_github_create_repository`,operation:`create_repository`,request:{owner:o,name:s,visibility:a}}}function h7e(e,t,n){if(!g7e(e))return null;let r=_7e(n?.workEntries??[],n?.createdAt,`forge_github_refresh_credentials`)?.request,i=r?c2(r.cwd):null;return i?{confirmationId:t,toolName:`forge_github_refresh_credentials`,operation:`refresh_credentials`,request:{cwd:i}}:null}function g7e(e){return/\bforge_github_refresh_credentials\b/i.test(e)||/\bcredential refresh\b/i.test(e)||/\brefresh(?:ing)? GitHub credentials\b/i.test(e)}function _7e(e,t,n){for(let r of e.toReversed()){if(t!==void 0&&r.createdAt>t)continue;let e=r.githubConfirmation;if(e?.toolName===n)return e}return null}function v7e(e,t){return t.exec(e)?.[1]??null}function y7e(e,t){if(!t?.startedAt||!t.completedAt)return null;if(t.assistantMessageId){let n=e.find(e=>e.kind===`message`&&e.message.role===`assistant`&&e.message.id===t.assistantMessageId);if(n)return n.id}let n=Date.parse(t.startedAt),r=Date.parse(t.completedAt);if(Number.isNaN(n)||Number.isNaN(r))return null;let i=null,a=null;for(let t of e){if(t.kind!==`message`||t.message.role!==`assistant`)continue;let e=Date.parse(t.message.createdAt);Number.isNaN(e)||e<n||(a=t.id,e<=r&&(i=t.id))}return i??a}function b7e(e){let t=[...e].toSorted((e,t)=>e.completedAt.localeCompare(t.completedAt)),n={};for(let e=0;e<t.length;e+=1){let r=t[e];r&&(n[r.turnId]=e+1)}return n}function x7e(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function S7e(e,t){if(t===`disconnected`||t===`connecting`)return null;for(let t of e.toReversed())if(t.kind===`work`&&t.entry.githubConfirmation)return t.entry.githubConfirmation;return null}var _2=[`preview`,`canvas`,`diff`,`plan`,`task`,`simulator`,`display`,`agents`,`file`,`graph`,`pull-request`],v2={isOpen:!1,isMaximized:!1,activeSurfaceId:null,surfaces:[]};function y2(e){return e===null?{id:`browser:new`,kind:`preview`,resourceId:null}:{id:`browser:${e}`,kind:`preview`,resourceId:e}}function C7e(e,t,n,r=`execution-intent`){return{id:`file:${e}`,kind:`file`,relativePath:e,revealLine:t,revealRequestId:n,readPolicy:r}}function b2(e){let t=[e.provider,e.environmentId,e.repositoryLinkId??``,e.projectId,e.host.toLowerCase(),e.repository,String(e.number)].map(e=>encodeURIComponent(e)).join(`:`);return{...e,id:`pull-request:${t}`,kind:`pull-request`}}function x2(e){return e===`diff`?{id:`diff`,kind:`diff`,turnId:null,filePath:null}:{id:e,kind:e}}var w7e=`workspace:pull-requests`;function S2(e){return typeof e==`object`&&!!e}function T7e(e){return typeof e==`string`&&_2.includes(e)}function C2(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.trunc(e)):null}function E7e(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}function D7e(e){let t=e.relativePath;return typeof t!=`string`||t.length===0?null:{id:`file:${t}`,kind:`file`,relativePath:t,revealLine:C2(e.revealLine),revealRequestId:E7e(e.revealRequestId),readPolicy:e.readPolicy===`connected-only`?`connected-only`:`execution-intent`}}function O7e(e){let t=e.resourceId;return t==null?{id:`browser:new`,kind:`preview`,resourceId:null}:typeof t!=`string`||t.length===0?null:{id:`browser:${t}`,kind:`preview`,resourceId:t}}function k7e(e){let t=e.turnId,n=e.filePath,r=typeof t==`string`&&t.length>0?gn.make(t):null;return{id:`diff`,kind:`diff`,turnId:r,filePath:r&&typeof n==`string`&&n.length>0?n:null}}var A7e=new Set([`github`,`gitlab`,`azure-devops`,`bitbucket`,`unknown`]);function w2(e){return typeof e==`string`&&e.length>0}function T2(e){return e===null||typeof e==`string`}function j7e(e){return e===void 0||T2(e)}function M7e(e){let t=e.provider,n=e.environmentId,r=e.repositoryLinkId,i=e.projectId,a=e.host,o=e.repository,s=C2(e.number),c=e.title;return![w2(t)&&A7e.has(t),w2(n),T2(r),w2(i),w2(a),w2(o),s!==null,j7e(c)].every(Boolean)||!w2(t)||!w2(n)?null:b2({provider:t,environmentId:an.make(n),repositoryLinkId:r,projectId:tn.make(i),host:a,repository:o,number:s,...typeof c==`string`||c===null?{title:c}:{}})}function N7e(e){if(!S2(e)||!T7e(e.kind))return null;let t=e.kind;return t===`file`?D7e(e):t===`preview`?O7e(e):t===`diff`?k7e(e):t===`pull-request`?M7e(e):{id:t,kind:t}}function P7e(e){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[]){let e=N7e(r);!e||n.has(e.id)||(n.add(e.id),t.push(e))}return t}function F7e(e){if(!S2(e))return null;let t=P7e(e.surfaces);if(t.length===0)return null;let n=e.activeSurfaceId,r=t.some(e=>e.id===n),i=typeof n==`string`&&r?n:t[0]?.id??null;return{isOpen:e.isOpen===!0,activeSurfaceId:i,surfaces:t}}function I7e(e){if(!S2(e)||!S2(e.byThreadKey))return{byThreadKey:{}};let t={};for(let[n,r]of Object.entries(e.byThreadKey)){if(n===w7e)continue;let e=F7e(r);e&&(t[n]=e)}return{byThreadKey:t}}var L7e=`forge:right-panel-state`,R7e=3,z7e=e=>e===`workspace:pull-requests`;function B7e(e){return`draft:${e}`}function V7e(e){return e.startsWith(`draft:`)}function H7e(e){return e==null||!Number.isFinite(e)?null:Math.max(1,Math.trunc(e))}var E2=(e,t,n=!0)=>({...e,isOpen:!0,surfaces:e.surfaces.some(e=>e.id===t.id)?e.surfaces:[...e.surfaces,t],activeSurfaceId:n?t.id:e.activeSurfaceId}),D2=(e,t,n)=>{let r=e[t]??v2,i=n(r);if(!i.isOpen&&i.activeSurfaceId===null&&i.surfaces.length===0){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return i===r?e:{...e,[t]:i}},U7e=qt()(LJ(e=>({byThreadKey:{},open:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,e.surfaces.find(e=>e.kind===n)??x2(n)))})),openBrowser:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=n?e.surfaces.filter(e=>e.id!==`browser:new`):e.surfaces;return E2({...e,surfaces:t},y2(n))})})),revealBrowser:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,e.surfaces.find(e=>e.kind===`preview`)??y2(null)))})),openDiff:(t,n,r)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t={id:`diff`,kind:`diff`,turnId:n??null,filePath:n?r??null:null};return{...e,isOpen:!0,activeSurfaceId:t.id,surfaces:e.surfaces.some(e=>e.id===`diff`)?e.surfaces.map(e=>e.id===`diff`?t:e):[...e.surfaces,t]}})})),openFile:(t,n,r,i=`execution-intent`)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=`file:${n}`,a=e.surfaces.find(e=>e.id===t&&e.kind===`file`),o=C7e(n,H7e(r),(a?.revealRequestId??0)+1,i);return{...e,isOpen:!0,activeSurfaceId:o.id,surfaces:a?e.surfaces.map(e=>e.id===o.id?o:e):[...e.surfaces,o]}})})),openPullRequest:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,b2(n)))})),activateSurface:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.surfaces.some(e=>e.id===n)?{...e,isOpen:!0,activeSurfaceId:n}:e)})),closeSurface:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.findIndex(e=>e.id===n);if(t<0)return e;let r=e.surfaces.filter(e=>e.id!==n);if(e.activeSurfaceId!==n)return{...e,isOpen:r.length>0&&e.isOpen,surfaces:r};let i=r[Math.min(t,r.length-1)]??null;return{...e,isOpen:r.length>0&&e.isOpen,surfaces:r,activeSurfaceId:i?.id??null}})})),closeOtherSurfaces:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.find(e=>e.id===n);return!t||e.surfaces.length===1?e:{...e,isOpen:!0,surfaces:[t],activeSurfaceId:t.id}})})),closeSurfacesToRight:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.findIndex(e=>e.id===n);if(t<0||t===e.surfaces.length-1)return e;let r=e.surfaces.slice(0,t+1),i=r.some(t=>t.id===e.activeSurfaceId);return{...e,surfaces:r,activeSurfaceId:i?e.activeSurfaceId:n}})})),closeAllSurfaces:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,()=>v2)})),show:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>({...e,isOpen:!0}))})),close:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.isOpen?{...e,isOpen:!1,isMaximized:!1}:e)})),toggleVisibility:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>({...e,isOpen:!e.isOpen}))})),toggleMaximized:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.isOpen?{...e,isMaximized:!(e.isMaximized??!1)}:e)})),removeThread:t=>e(e=>{if(!(t in e.byThreadKey))return e;let{[t]:n,...r}=e.byThreadKey;return{byThreadKey:r}})}),{name:L7e,version:R7e,storage:FJ(()=>KJ),partialize:e=>({byThreadKey:Object.fromEntries(Object.entries(e.byThreadKey).filter(([e])=>!V7e(e)&&!z7e(e)))}),migrate:e=>I7e(e)}));function W7e(e){return t=>e?dJ(t,e.environmentId).projectById[e.projectId]:void 0}function O2(e){let t,n,r;return i=>{let a=e(i);if(!a)return;let o=dJ(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=Nq(o,a.threadId),r)}}function G7e(e){return O2(()=>e)}function K7e(e){return t=>{if(e)return dJ(t,e.environmentId).threadSubscriptionErrorById[e.threadId]}}function q7e(e){let t,n,r,i;return a=>{if(!e){i=void 0,t=void 0,n=void 0,r=void 0;return}let o=dJ(a,e.environmentId).threadShellById,s=o[e.threadId];if(!s){i=void 0,t=void 0,n=void 0,r=void 0;return}let c=s.kind===`master`?s.id:s.parentThreadId,l=c==null?void 0:o[c];if(i&&t===o&&n===s&&r===l)return i;let u=[];if(c!=null){for(let e of Object.values(o))e.kind===`worker`&&e.parentThreadId===c&&u.push(e);u.sort((e,t)=>e.createdAt.localeCompare(t.createdAt))}return t=o,n=s,r=l,i={you:s,master:l,workers:u},i}}function J7e(e){return O2(t=>{if(!e)return;let n,r,i;for(let[a,o]of Object.entries(t.environmentStateById))if(o.threadShellById[e]){let s={environmentId:a,threadId:e};if(n??=s,t.activeEnvironmentId===a&&(r=s),o.bootstrapComplete&&(i=s,t.activeEnvironmentId===a))break}return i??r??n})}var Y7e=/https?:\/\/[^\s"'`<>]+/g,X7e=/(?:~\/|\.{1,2}\/|\/|[A-Za-z]:[\\/]|\\\\)[^\s"'`<>]+|[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+(?::\d+){0,2}/g,Z7e=/[.,;!?]+$/;function Q7e(e){let t=e.replace(Z7e,``);if(t.length===0)return t;let n=(e,n)=>{for(;t.endsWith(n);){if(t.split(e).length-1>=t.split(n).length-1)return;t=t.slice(0,-1)}};return n(`(`,`)`),n(`[`,`]`),n(`{`,`}`),t}function $7e(e,t){return e.start<t.end&&t.start<e.end}function k2(e,t,n,r){let i=[];n.lastIndex=0;for(let a of e.matchAll(n)){let e=a[0],n=a.index??-1;if(n<0||e.length===0)continue;let o=Q7e(e);if(o.length===0||t===`path`&&/^https?:\/\//i.test(o))continue;let s={kind:t,text:o,start:n,end:n+o.length};[...r,...i].some(e=>$7e(s,e))||i.push(s)}return i}function A2(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function e9e(e){return e.startsWith(`/`)||A2(e)}function j2(e){return A2(e)||/[A-Za-z]:\\/.test(e)}function M2(e,t,n){let r=e.replace(/[\\/]+$/,``);return n===`\\`?`${r}\\${t.replaceAll(`/`,`\\`)}`:`${r}/${t.replace(/^\/+/,``)}`}function t9e(e){let t=e.match(/^\/Users\/([^/]+)/);if(t?.[1])return`/Users/${t[1]}`;let n=e.match(/^\/home\/([^/]+)/);if(n?.[1])return`/home/${n[1]}`;let r=e.match(/^([A-Za-z]:\\Users\\[^\\]+)/);if(r?.[1])return r[1]}function N2(e){let t=e,n,r,i=t.match(/:(\d+)$/);if(!i?.[1])return{path:t,line:void 0,column:void 0};n=i[1],t=t.slice(0,-i[0].length);let a=t.match(/:(\d+)$/);return a?.[1]?(r=a[1],t=t.slice(0,-a[0].length)):(r=n,n=void 0),{path:t,line:r,column:n}}function n9e(e){let t=k2(e,`url`,Y7e,[]),n=k2(e,`path`,X7e,t);return[...t,...n].toSorted((e,t)=>e.start-t.start)}function r9e(e,t){let n=t(e-1);if(!n)return null;let r=e,i=n;for(;r>1&&i.isWrapped;){let e=t(r-2);if(!e)return null;--r,i=e}let a=[],o=0,s=r;for(;;){let e=t(s-1);if(!e)break;let n=t(s)?.isWrapped===!0,r=e.translateToString(!n);if(a.push({bufferLineNumber:s,text:r,startIndex:o,endIndex:o+r.length}),o+=r.length,!n)break;s+=1}return{text:a.map(e=>e.text).join(``),segments:a}}function P2(e,t){for(let n of e)if(t<n.endIndex)return{x:t-n.startIndex+1,y:n.bufferLineNumber};let n=e[e.length-1];return{x:Math.max(n?.text.length??0,1),y:n?.bufferLineNumber??1}}function i9e(e,t){return{start:P2(e.segments,t.start),end:P2(e.segments,t.end-1)}}function a9e(e,t){return e.start.y<=t&&t<=e.end.y}function o9e(e,t=typeof navigator>`u`?``:navigator.platform){return t.length===0?!1:_te(t)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function s9e(e,t){let{path:n,line:r,column:i}=N2(e),a=n;if(n.startsWith(`~/`)){let e=t9e(t);if(e){let t=j2(e)?`\\`:`/`;a=M2(e,n.slice(2),t)}}else e9e(n)||(a=M2(t,n,j2(t)?`\\`:`/`));return r?`${a}:${r}${i?`:${i}`:``}`:a}var F2=`diffs-container`,c9e=(()=>{try{return!1}catch{return!1}})(),l9e=/(?=^From [a-f0-9]+ .+$)/m,u9e=/(?=^diff --git)/gm,d9e=/(?<=\n)/,f9e=/^(---|\+\+\+)\s+([^\t\r\n]+)/,p9e=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,m9e=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,h9e=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,I2=`header-prefix`,L2=`header-filename-suffix`,R2=`header-metadata`,z2=`header-custom`,B2={dark:`pierre-dark`,light:`pierre-light`},g9e=`data-theme-css`,_9e=`data-unsafe-css`,v9e=`data-diffs-scrollbar-measure`,y9e=`data-diffs-code-view-header`,b9e=`data-diffs-code-view-footer`,V2=`--diffs-scrollbar-gutter-measured`,x9e=1e5,H2={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8},S9e={...H2,hunkLineCount:1},C9e={paddingTop:8,paddingBottom:8,gap:8},w9e={omega:.015,positionEpsilon:.5,velocityEpsilon:.05},T9e=Object.freeze({fromStart:0,fromEnd:0}),E9e={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},D9e={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0},U2=new Set,W2=null;function G2(e){U2.add(e),W2??=requestAnimationFrame(q2)}function K2(e){U2.delete(e)&&U2.size===0&&W2!=null&&(cancelAnimationFrame(W2),W2=null)}function q2(e){let t=new Set(U2);U2.clear();for(let n of t)try{n(e)}catch(e){console.error(e)}W2=U2.size>0?requestAnimationFrame(q2):null}function J2(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function Y2(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function O9e(e,t){let n=e?.theme??B2,r=t?.theme??B2,i=X2(e),a=X2(t);return Y2(n,r)&&J2(e,t,[`theme`,`parseDiffOptions`])&&J2(i,a)}function X2(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function Z2(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function k9e({scrollTop:e,scrollHeight:t,height:n,fitPerfectly:r=!1,fitPerfectlyOverscroll:i=0,overscrollSize:a}){let o=n+a*2,s=r?n+i*2:o;if(t=Math.max(t,s),o>=t||r){let n=Math.max(e-i,0),r=Math.min(e+s,t);return{top:n,bottom:Math.max(r,n)}}let c=e+n/2-o/2,l=c+o;return c<0&&(c=0),l>t&&(l=t),c=Math.floor(Math.max(c,0)),{top:c,bottom:Math.ceil(Math.max(Math.min(l,t),c))}}function Q2(e){let t=e.length;return e.charCodeAt(t-1)===10&&(t--,e.charCodeAt(t-1)===13&&t--),e.slice(0,t)}function $2(e,t){return e-(t===0?0:1)}function e4(e,t){return $2(e,t)+t}var t4=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}},A9e=new class extends t4{};function j9e(e,t,n){return A9e.diff(e,t,n)}function n4(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function r4(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function i4(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function a4(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function o4(e,t){return i4(e,t,``)}function s4(e,t){return a4(e,t,``)}function c4(e,t){return t.slice(0,M9e(e,t))}function M9e(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function l4(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function u4(e,t){if(t)return f4(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function d4(e,t){if(t)return f4(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function f4(e,t){if(!t)return[d4(e),u4(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=l4(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var p4=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,N9e=RegExp(`[${p4}]+|\\s+|[^${p4}]`,`ug`);new class extends t4{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=l4(e,r)}else n=e.match(N9e)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&m4(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&m4(n,i,r,null,t.intlSegmenter),e}};function m4(e,t,n,r,i){if(t&&n){let[a,o]=f4(t.value,i),[s,c]=f4(n.value,i);if(e){let r=n4(a,s);e.value=a4(e.value,s,r),t.value=o4(t.value,r),n.value=o4(n.value,r)}if(r){let e=r4(o,c);r.value=i4(r.value,c,e),t.value=s4(t.value,e),n.value=s4(n.value,e)}}else if(n){if(e){let e=d4(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=d4(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=d4(r.value,i),[a,o]=f4(t.value,i),s=n4(n,a);t.value=o4(t.value,s);let c=r4(o4(n,s),o);t.value=s4(t.value,c),r.value=i4(r.value,n,c),e.value=a4(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=d4(r.value,i),n=c4(u4(t.value,i),e);t.value=s4(t.value,n)}else if(e){let n=c4(u4(e.value,i),d4(t.value,i));t.value=o4(t.value,n)}}var P9e=new class extends t4{tokenize(e){let t=RegExp(`(\\r?\\n)|[${p4}]+|[^\\S\\n\\r]+|[^${p4}]`,`ug`);return e.match(t)||[]}};function F9e(e,t,n){return P9e.diff(e,t,n)}var I9e=new class extends t4{constructor(){super(...arguments),this.tokenize=g4}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
1019
+ `)}}}var w$e=(e=`/api/workspace/readiness`)=>{if(typeof fetch>`u`)return{close:()=>{}};let t=typeof e==`string`?{url:e}:e,n=!1,r=new AbortController;return fetch(t.url,{credentials:t.bearerToken?`omit`:`include`,signal:r.signal,...t.bearerToken?{headers:{Authorization:`Bearer ${t.bearerToken}`}}:{}}).then(e=>{if(e.ok)return C$e(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},T$e=6e4;function E$e(e){let t=new URL(e.target.httpBaseUrl);return t.pathname=`${t.pathname.endsWith(`/`)?t.pathname.slice(0,-1):t.pathname}/api/workspace/readiness`,t.search=``,t.hash=``,t.toString()}function D$e(e){let t=new Set,n=null,r=!1,i=!1;return{hasWaiters:()=>t.size>0,wait:()=>{if(r)return Promise.reject(n);if(i)return Promise.resolve();let a=null,o=null,s=new Promise((e,n)=>{o={resolve:e,reject:n},t.add(o)}),c=new Promise((t,n)=>{a=globalThis.setTimeout(()=>{n(Error(`Timed out while waiting for ${e.label} (${e.environmentId}) to stream its shell snapshot.`))},e.timeoutMs)});return Promise.race([s,c]).finally(()=>{a!==null&&globalThis.clearTimeout(a),o!==null&&t.delete(o)})},resolve:()=>{r=!1,n=null,i=!0;let e=[...t];t.clear();for(let t of e)t.resolve()},reject:e=>{r=!0,n=e,i=!1;let a=[...t];t.clear();for(let t of a)t.reject(e)},reset:()=>{r=!1,n=null,i=!1}}}function qX(e){let t=e.knownEnvironment.environmentId;if(!t)throw Error(`Known environment ${e.knownEnvironment.label} is missing its environmentId.`);let n=!1,r=!1,i=null,a=null,o=D$e({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??T$e}),s=e.readiness?(e.readiness.openStream??w$e)({url:E$e(e.knownEnvironment),environmentId:t,...e.readiness.bearerToken?{bearerToken:e.readiness.bearerToken}:{}}):null,c=t=>{if(!r){r=!0;let n=Error(t);_(),e.client.dispose(),e.onIdentityMismatch?.(n)}return!1},l=(n,r)=>{if(e.tolerateReportedEnvironmentIdentity)return a===null?(a=n,!0):a===n||c(`Environment connection ${t} reported a changed runtime identity (${a} -> ${n}) via ${r}.`);let i=e.resolveEnvironmentId?.()??t;return i===n||c(`Environment connection ${i} changed identity to ${n} via ${r}.`)},u=()=>e.resolveEnvironmentId?.()??t,d=e.client.server.subscribeLifecycle(t=>{t.type===`welcome`&&l(t.payload.environment.environmentId,`server lifecycle welcome`)&&e.onWelcome?.(t.payload,u())}),f=e.client.server.subscribeConfig(t=>{if(t.type===`snapshot`){if(!l(t.config.environment.environmentId,`server config snapshot`))return;i=t.config,e.onConfigSnapshot?.(t.config);return}if(t.type!==`providerStatuses`||!i)return;let n={...i,providers:t.payload.providers};i=n,e.onConfigSnapshot?.(n)}),p=e.client.orchestration.subscribeShell(t=>{if(t.kind===`snapshot`){e.syncShellSnapshot(t.snapshot,u()),o.resolve();return}e.applyShellEvent(t,u())},{onResubscribe:()=>{n||o.reset()},onError:t=>{if(!n){if(o.hasWaiters()){o.reject(t);return}e.onShellSubscriptionError?.(t,u())}}}),m=e.client.terminal.onEvent(t=>{e.applyTerminalEvent(t,u())}),h=e.client.browser?.onEvent({},t=>{e.applyBrowserEvent(t,u())}),g=e.client.server.subscribeWorkspaceReadiness(e=>{n||N(async()=>{let{setWorkspaceReadinessPhaseForEnvironment:e}=await import(`./workspaceReadinessAtom-D6bgTvKb.js`).then(e=>e.r);return{setWorkspaceReadinessPhaseForEnvironment:e}},__vite__mapDeps([3,1,4,5])).then(({setWorkspaceReadinessPhaseForEnvironment:t})=>{n||t(u(),e)})}),_=()=>{n||(n=!0,e.onDispose?.(),s?.close(),p(),m(),h?.(),d(),f(),g())};return{kind:e.kind,environmentId:t,knownEnvironment:e.knownEnvironment,client:e.client,ensureBootstrapped:()=>o.wait(),reconnect:async()=>{o.reset();try{await e.client.reconnect(),await e.refreshMetadata?.(),await o.wait()}catch(e){throw o.reject(e),e}},...e.ensureProviderAuthority?{ensureProviderAuthority:e.ensureProviderAuthority}:{},dispose:async()=>{_(),await e.client.dispose()}}}function O$e(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var k$e=3e4,A$e=1e4,j$e=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,JX=/https?:\/\/[^\s"'`<>]+/gu,M$e=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),N$e=/(https?:\/\/(?:localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1|10(?:\.\d{1,3}){3}|172\.(?:1[6-9]|2\d|3[01])(?:\.\d{1,3}){2}|192\.168(?:\.\d{1,3}){2}):)\s+(\d{1,5})(?=[/?#\s]|$)/giu;function YX(e){let t=e.trim();if(!t||/^[a-z][a-z0-9+.-]*:\/\//i.test(t)&&!/^https?:\/\//i.test(t))return null;let n=t.split(/[/:?#]/,1)[0]??``,r=j$e.test(t)||ZX(n)?`http`:`https`,i=/^https?:\/\//i.test(t)?t:`${r}://${t}`;try{let e=new URL(i);return e.protocol!==`http:`&&e.protocol!==`https:`?null:e.toString()}catch{return null}}function P$e(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function XX(e){try{let t=new URL(e);return Dne(t.hostname)}catch{return!1}}function ZX(e){return Tne(e)}function QX(e){try{let t=new URL(e);if(t.protocol!==`http:`||!XX(t.toString())&&!ZX(t.hostname)||!t.port)return null;let n=Number(t.port);return Number.isInteger(n)&&n>0&&n<=65535?n:null}catch{return null}}function F$e(e){let t=e.replace(/[.,;!?]+$/u,``);for(;t.endsWith(`)`)||t.endsWith(`]`)||t.endsWith(`}`);){let e=t.at(-1);if(!e)break;let n=e===`)`?`(`:e===`]`?`[`:`{`;if(t.split(n).length-1>=t.split(e).length-1)break;t=t.slice(0,-1)}return t}function I$e(e){return e.replace(M$e,``).replaceAll(/./gsu,e=>L$e(e)?``:e).replace(N$e,`$1$2`)}function L$e(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function $X(e){let t=null,n=null,r=I$e(e);JX.lastIndex=0;for(let e of r.matchAll(JX)){let r=YX(F$e(e[0]));!r||!QX(r)||(t=r,XX(r)&&(n=r))}return n??t}function R$e(e){let t=null;for(let n of e){let e=n.event,r=$X(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function z$e(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var B$e=`forge:terminal-state:v1`,eZ=[],V$e=200,tZ=8;function H$e(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:dZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!Wo(e)&&typeof t?.url==`string`&&!!QX(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function U$e(){return UJ(typeof window<`u`?window.localStorage:void 0)}function W$e(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[OJ]}function G$e(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 nZ(e){return`group-${e}`}function rZ(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function iZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function K$e(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function q$e(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=K$e(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():nZ(e[0]??`default`);i.push({id:rZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:rZ(nZ(e),a),terminalIds:[e]});return i.length===0?[{id:nZ(OJ),terminalIds:[OJ]}]:i}function aZ(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 J$e(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||!aZ(r.terminalIds,i.terminalIds))return!1}return!0}function oZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&aZ(e.terminalIds,t.terminalIds)&&aZ(e.runningTerminalIds,t.runningTerminalIds)&&J$e(e.terminalGroups,t.terminalGroups)}var sZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[OJ],runningTerminalIds:[],activeTerminalId:OJ,terminalGroups:[{id:nZ(OJ),terminalIds:[OJ]}],activeTerminalGroupId:nZ(OJ)});function cZ(){return{...sZ,terminalIds:[...sZ.terminalIds],runningTerminalIds:[...sZ.runningTerminalIds],terminalGroups:yZ(sZ.terminalGroups)}}function lZ(){return sZ}function uZ(e){let t=W$e(e.terminalIds),n=t.length>0?t:[OJ],r=G$e(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=q$e(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??nZ(`default`)};return oZ(e,c)?e:c}function Y$e(e){let t=uZ(e);if(t.terminalIds.length<=tZ)return t;let n=new Set,r=e=>{!e||n.size>=tZ||t.terminalIds.includes(e)&&n.add(e)};r(OJ),r(t.activeTerminalId);for(let e of t.runningTerminalIds)r(e);for(let e of t.terminalIds.toReversed())r(e);let i=t.terminalIds.filter(e=>n.has(e)),a=i[i.length-1]??i[0]??`default`,o=i.includes(t.activeTerminalId)?t.activeTerminalId:a;return uZ({...t,terminalIds:i.length>0?i:[OJ],runningTerminalIds:t.runningTerminalIds.filter(e=>n.has(e)),activeTerminalId:o,terminalGroups:t.terminalGroups.map(e=>({id:e.id,terminalIds:e.terminalIds.filter(e=>n.has(e))})).filter(e=>e.terminalIds.length>0)})}function dZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>Wo(e)?[[e,Y$e(t)]]:[]))}function X$e(e){return oZ(uZ(e),sZ)}function Z$e(e){return e.trim().length>0}function fZ(e){return Vo(e)}function pZ(e,t){return`${fZ(e)}\u0000${t}`}function mZ(e,t){return pZ(e,t)}function hZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function gZ(e,t){let n=$X(e);return n?{url:n,observedAt:t}:null}function Q$e(e){return gZ(e.history,e.updatedAt)}function _Z(e){return e.type===`output`?gZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?gZ(e.snapshot.history,e.snapshot.updatedAt):null}function vZ(e,t,n){if(!n)return e;let r=fZ(t),i=e[r];return i&&hZ(i.observedAt)>hZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function yZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function bZ(e,t,n,r){let i=pZ(n,r.terminalId),a=e[i]??eZ,o={id:t,event:r},s=a.length>=V$e?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function xZ(e,t,n,r){let i=pZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function SZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function CZ(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function wZ(e,t){let n={...e},r=!1;for(let e of Object.keys(n))e.startsWith(`${t}\u0000`)&&(delete n[e],r=!0);return r?n:e}function $$e(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function e1e(e,t){let n=$$e(t);return e?.runtimeEnv&&e.cwd===n.cwd&&e.worktreePath===n.worktreePath&&(e.terminalId===void 0||e.terminalId===t.terminalId)?{...n,runtimeEnv:e.runtimeEnv}:n}function TZ(e,t,n){let r=uZ(e);if(!Z$e(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=yZ(r.terminalGroups),s=iZ(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=rZ(nZ(t),e);return o.push({id:n,terminalIds:[t]}),uZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=iZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=rZ(nZ(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 uZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function EZ(e,t){let n=uZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function t1e(e,t){let n=uZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function n1e(e,t){return TZ(e,t,`split`)}function DZ(e,t,n){let r=TZ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function OZ(e,t){let n=uZ(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 r1e(e,t){let n=uZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return cZ();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??nZ(a);return uZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function kZ(e,t,n){let r=uZ(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 AZ(e,t){return!t||t.threadId.length===0?lZ():e[fZ(t)]??lZ()}function jZ(e,t,n){if(t.threadId.length===0)return e;let r=fZ(t),i=AZ(e,t),a=n(i);if(a===i)return e;if(X$e(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function i1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?eZ:e[pZ(t,n)]??eZ}function a1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[mZ(t,n)]??null}function o1e(e,t){if(!t||t.threadId.length===0)return[];let n=`${fZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function s1e(e,t){return!t||t.threadId.length===0?null:e[fZ(t)]??null}var MZ=qt()(LJ(e=>{let t=(t,n)=>{e(e=>{let r=jZ(e.terminalStateByThreadKey,t,n);return r===e.terminalStateByThreadKey?e:{terminalStateByThreadKey:r}})};return{terminalStateByThreadKey:{},terminalLaunchContextByThreadKey:{},terminalEventEntriesByKey:{},terminalSessionSnapshotByKey:{},terminalStreamCursorByKey:{},terminalPreviewUrlByThreadKey:{},nextTerminalEventId:1,setTerminalOpen:(e,n)=>t(e,e=>EZ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>t1e(e,n)),splitTerminal:(e,n)=>t(e,e=>n1e(e,n)),newTerminal:(e,n,r)=>t(e,e=>DZ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=DZ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=OZ(t,n)),r?.open&&(t=EZ(t,!0)),uZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>OZ(e,n)),closeTerminal:(e,n)=>t(e,e=>r1e(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[fZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=fZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>kZ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=mZ(t,n.terminalId),i=SZ(n),a=n.type===`started`||n.type===`restarted`;if(CZ(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?xZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=vZ(e.terminalPreviewUrlByThreadKey,t,_Z(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[mZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=fZ(t),i=mZ(t,n.terminalId),a=SZ(n),o=n.type===`started`||n.type===`restarted`;if(CZ(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=vZ(e.terminalPreviewUrlByThreadKey,t,_Z(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[mZ(t,n.terminalId)]:n.snapshot},s=jZ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=DZ(r,n.terminalId)),t?(r=OZ(r,n.terminalId),r=EZ(r,!0)):(r=OZ(r,e.activeTerminalId),r=EZ(r,e.terminalOpen)),uZ(r)}),c={...c,[r]:e1e(c[r],n)});let d=z$e(n);d!==null&&(s=jZ(s,t,e=>kZ(e,n.terminalId,d)));let f=o&&a?xZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),p=a?{...e.terminalStreamCursorByKey,[i]:a}:e.terminalStreamCursorByKey;return{terminalStateByThreadKey:s,terminalLaunchContextByThreadKey:c,terminalSessionSnapshotByKey:l,terminalStreamCursorByKey:p,terminalPreviewUrlByThreadKey:u,...f}}),setTerminalSessionSnapshot:(t,n)=>e(e=>({terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[mZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:vZ(e.terminalPreviewUrlByThreadKey,t,Q$e(n))})),clearTerminalState:t=>e(e=>{let n=fZ(t),r=jZ(e.terminalStateByThreadKey,t,()=>cZ()),i=e.terminalLaunchContextByThreadKey[n]!==void 0,a=e.terminalPreviewUrlByThreadKey[n]!==void 0,{[n]:o,...s}=e.terminalLaunchContextByThreadKey,{[n]:c,...l}=e.terminalPreviewUrlByThreadKey,u={...e.terminalEventEntriesByKey},d=!1;for(let e of Object.keys(u))e.startsWith(`${n}\u0000`)&&(delete u[e],d=!0);let f={...e.terminalSessionSnapshotByKey},p=!1;for(let e of Object.keys(f))e.startsWith(`${n}\u0000`)&&(delete f[e],p=!0);let m=wZ(e.terminalStreamCursorByKey,n);return r===e.terminalStateByThreadKey&&!i&&!a&&!d&&!p&&m===e.terminalStreamCursorByKey?e:{terminalStateByThreadKey:r,terminalLaunchContextByThreadKey:s,terminalPreviewUrlByThreadKey:l,terminalEventEntriesByKey:u,terminalSessionSnapshotByKey:f,terminalStreamCursorByKey:m}}),removeTerminalState:t=>e(e=>{let n=fZ(t),r=e.terminalStateByThreadKey[n]!==void 0,i=e.terminalLaunchContextByThreadKey[n]!==void 0,a=e.terminalPreviewUrlByThreadKey[n]!==void 0,o={...e.terminalEventEntriesByKey},s=!1;for(let e of Object.keys(o))e.startsWith(`${n}\u0000`)&&(delete o[e],s=!0);let c={...e.terminalSessionSnapshotByKey},l=!1;for(let e of Object.keys(c))e.startsWith(`${n}\u0000`)&&(delete c[e],l=!0);let u=wZ(e.terminalStreamCursorByKey,n);if(!r&&!i&&!a&&!s&&!l&&u===e.terminalStreamCursorByKey)return e;let d={...e.terminalStateByThreadKey};delete d[n];let f={...e.terminalLaunchContextByThreadKey};delete f[n];let p={...e.terminalPreviewUrlByThreadKey};return delete p[n],{terminalStateByThreadKey:d,terminalLaunchContextByThreadKey:f,terminalPreviewUrlByThreadKey:p,terminalEventEntriesByKey:o,terminalSessionSnapshotByKey:c,terminalStreamCursorByKey:u}}),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=Object.keys(e.terminalPreviewUrlByThreadKey).filter(e=>!t.has(e)),a={...e.terminalEventEntriesByKey},o=!1;for(let e of Object.keys(a)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete a[e],o=!0)}let s={...e.terminalSessionSnapshotByKey},c=!1;for(let e of Object.keys(s)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete s[e],c=!0)}let l={...e.terminalStreamCursorByKey},u=!1;for(let e of Object.keys(l)){let[n]=e.split(`\0`);n&&!t.has(n)&&(delete l[e],u=!0)}if(n.length===0&&r.length===0&&i.length===0&&!o&&!c&&!u)return e;let d={...e.terminalStateByThreadKey};for(let e of n)delete d[e];let f={...e.terminalLaunchContextByThreadKey};for(let e of r)delete f[e];let p={...e.terminalPreviewUrlByThreadKey};for(let e of i)delete p[e];return{terminalStateByThreadKey:d,terminalLaunchContextByThreadKey:f,terminalPreviewUrlByThreadKey:p,terminalEventEntriesByKey:a,terminalSessionSnapshotByKey:s,terminalStreamCursorByKey:l}})}},{name:B$e,version:4,storage:FJ(U$e),migrate:H$e,partialize:e=>({terminalStateByThreadKey:dZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function c1e(e){return typeof e==`string`?e:typeof e==`object`&&e&&`detail`in e&&typeof e.detail==`string`?e.detail:e instanceof Error?e.message:String(e)}function l1e(e){return e.match(/blocked by policy for\s+([^.\s]+(?:\.[^.\s]+)*)\.?/i)?.[1]||(e.match(/navigation to\s+([^.\s]+(?:\.[^.\s]+)*)\s+is restricted/i)?.[1]??null)}function NZ(e){let t=c1e(e).trim()||`Unknown browser error.`,n=l1e(t);return/blocked by policy|restricted to allowed domains/i.test(t)?{title:`Browser navigation blocked`,cause:`${n??`This URL`} is not allowed by the current browser policy.`,nextAction:`Use an allowed URL or update the browser allowed-domain setting.`,technicalDetail:t}:/does not match thread|session .*not found|no active browser tab|tab .*not found/i.test(t)?{title:`Browser session is stale`,cause:`Forge no longer has a matching live browser session for this thread.`,nextAction:`Restart the browser session from the Browser options menu.`,technicalDetail:t}:/screenshot|capture|Page\.capture/i.test(t)?{title:`Browser screenshot failed`,cause:`The browser could not capture the current page frame.`,nextAction:`Reload the page, then try the screenshot again.`,technicalDetail:t}:/timed out|timeout/i.test(t)?{title:`Browser action timed out`,cause:`Forge did not receive a response from the browser runtime in time.`,nextAction:`Retry the action. If it keeps failing, restart the browser session.`,technicalDetail:t}:/runtime is not available|browser.*unavailable|not supported|disabled/i.test(t)?{title:`Browser session unavailable`,cause:`This environment does not currently expose the in-app browser runtime.`,nextAction:`Use a workspace with browser support or restart Forge after browser support is enabled.`,technicalDetail:t}:/navigate|navigation|net::|ERR_/i.test(t)?{title:`Browser navigation failed`,cause:`The browser could not load the requested page.`,nextAction:`Check the URL and network access, then try again.`,technicalDetail:t}:{title:`Browser action failed`,cause:`Forge could not complete the browser action.`,nextAction:`Retry the action. If it keeps failing, restart the browser session from the Browser options menu.`,technicalDetail:t}}function u1e(e){let t=NZ(e);return`${t.cause} ${t.nextAction}`}function d1e(e){let t=NZ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var PZ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function FZ(e){return Vo(e)}function f1e(e){let t=e.status===`reconnecting`&&e.reason===`network_unreachable`;return e.transport===`remote-webrtc`&&(e.status===`connected`||e.status===`connecting`||e.status===`reconnecting`)&&(e.reason!==`network_unreachable`||t)&&e.reason!==`unsupported_host`}function p1e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function IZ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!f1e(t.display)||!p1e(n.display)?n:{...n,display:{...t.display,viewport:n.display.viewport??n.viewport??t.display.viewport,devicePixelRatio:n.display.devicePixelRatio??t.display.devicePixelRatio,iceServers:n.display.iceServers??t.display.iceServers,reconnect:t.display.reconnect??n.display.reconnect}}}function m1e(e){let{storedSession:t,nextSession:n}=e;if(!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId)return!1;let r=n.tabs.some(e=>e.navigationStatus===`pending`),i=t.tabs.some(e=>e.navigationStatus===`complete`||e.navigationStatus===`failed`);if(!r||!i)return!1;let a=Date.parse(t.updatedAt),o=Date.parse(n.updatedAt);return Number.isNaN(a)||Number.isNaN(o)?!1:o<a}function LZ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function h1e(e){switch(e.type){case`tab.updated`:return e.payload.tab.tabId;case`tab.closed`:case`snapshot.ready`:case`screenshot.ready`:case`frame.ready`:case`console.logs.ready`:case`display.iceCandidate`:case`display.metrics`:return e.payload.tabId;case`action.failed`:return e.payload.tabId??null;case`display.updated`:case`session.started`:case`session.updated`:case`session.closed`:return null}}function g1e(e,t){let n=h1e(t);return n?{...e,lastActivityByTabId:{...e.lastActivityByTabId,[n]:{actor:t.agentId?`agent`:`human`,agentId:t.agentId,browserId:t.browserId,eventType:t.type,...t.type===`action.failed`?{commandType:t.payload.commandType}:{},...t.type===`action.failed`?{message:t.payload.message}:{},createdAt:t.createdAt}}}:e}function _1e(e){switch(e.type){case`session.started`:case`session.updated`:case`tab.updated`:case`snapshot.ready`:case`screenshot.ready`:case`frame.ready`:case`display.updated`:return!0;case`session.closed`:case`tab.closed`:case`console.logs.ready`:case`action.failed`:case`display.iceCandidate`:case`display.metrics`:return!1}}function RZ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function v1e(e,t){let n=RZ(t);return e.some(e=>RZ(e)===n)?e:[...e,t]}function y1e(e){if(e.type!==`session.closed`)return null;switch(e.payload.reason){case`idle_timeout`:return`The browser was closed after being idle. Reopen the preview to restore this thread's browser.`;case`runtime_shutdown`:return`The browser runtime shut down. Reopen the preview to restore this thread's browser.`;case`thread_archived`:case`clear_browsing_data`:case`user_closed`:case void 0:return null}}function b1e(e){let t=e.event.payload.display;return t.status===`failed`||t.status===`unsupported`?t.detail??`Browser display is unavailable.`:e.currentLastError&&/browser display/i.test(e.currentLastError)?null:e.currentLastError}function x1e(e,t){let n=e.sessionsByBrowserId[t.browserId]??(e.session?.browserId===t.browserId?e.session:null);if(!n)return!0;let r=n.sessionId===t.payload.sessionId,i=!t.sessionEpoch||!n.sessionEpoch||t.sessionEpoch===n.sessionEpoch;return r&&i}function S1e(e,t){let n=e.lastFrameSequenceByTabId[t]??0;return{acceptedSequence:n,observedSequence:e.lastObservedFrameSequenceByTabId[t]??n,...e.lastFrameStreamIdByTabId[t]?{streamId:e.lastFrameStreamIdByTabId[t]}:{},...e.lastFrameStreamGenerationByTabId[t]===void 0?{}:{streamGeneration:e.lastFrameStreamGenerationByTabId[t]},...e.lastFrameMetaByTabId[t]?.capturedAt?{acceptedCapturedAt:e.lastFrameMetaByTabId[t].capturedAt}:{},gapCount:e.frameGapCountByTabId[t]??0}}function C1e(e,t){let n=t.payload.tabId,r=Fce(S1e(e,n),{sequence:t.payload.sequence,capturedAt:t.payload.capturedAt,...t.payload.streamId?{streamId:t.payload.streamId}:{},...t.payload.streamGeneration===void 0?{}:{streamGeneration:t.payload.streamGeneration},...t.payload.keyframe===void 0?{}:{keyframe:t.payload.keyframe}});return{decision:r,observedSequence:r.state.observedSequence,frameGapCount:r.state.gapCount}}function w1e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function T1e(e,t){let n=t.payload.tabId;return{...e,lastFrameByTabId:{...e.lastFrameByTabId,[n]:t.payload.imageDataUrl},lastFrameSequenceByTabId:{...e.lastFrameSequenceByTabId,[n]:t.payload.sequence},lastFrameStreamIdByTabId:t.payload.streamId?{...e.lastFrameStreamIdByTabId,[n]:t.payload.streamId}:e.lastFrameStreamIdByTabId,lastFrameStreamGenerationByTabId:t.payload.streamGeneration===void 0?e.lastFrameStreamGenerationByTabId:{...e.lastFrameStreamGenerationByTabId,[n]:t.payload.streamGeneration},lastFrameMetaByTabId:{...e.lastFrameMetaByTabId,[n]:{capturedAt:t.payload.capturedAt,url:t.payload.url,viewport:t.payload.viewport}},lastError:null}}function E1e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!x1e(t,n))return i;let o=C1e(t,n);if(!o.decision.observe)return i;let s=w1e(t,n,o),c=o.decision.accept?T1e(s,n):s;return{browserStateByThreadKey:LZ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var zZ=qt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=FZ(t),i=e.browserStateByThreadKey[r]??PZ,a=n?IZ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...i,session:a,selectedBrowserId:a?.browserId??i.selectedBrowserId,sessionsByBrowserId:a?{...i.sessionsByBrowserId,[a.browserId]:a}:i.sessionsByBrowserId,lastError:a?null:i.lastError})}}),selectBrowserSession:(t,n)=>e(e=>{let r=FZ(t),i=e.browserStateByThreadKey[r]??PZ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=FZ(t),i=_1e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=g1e(e.browserStateByThreadKey[r]??PZ,n);switch(n.type){case`session.started`:{if(m1e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=IZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:t,selectedBrowserId:a.selectedBrowserId??t.browserId,sessionsByBrowserId:{...a.sessionsByBrowserId,[t.browserId]:t},lastError:null}),pendingAutoRevealKeys:i}}case`session.updated`:{let t=IZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:a.selectedBrowserId&&a.selectedBrowserId!==n.payload.snapshot.browserId?a.session:t,selectedBrowserId:a.selectedBrowserId??n.payload.snapshot.browserId,sessionsByBrowserId:{...a.sessionsByBrowserId,[t.browserId]:t},lastError:null}),pendingAutoRevealKeys:i}}case`session.closed`:let t=a.selectedBrowserId===n.browserId||a.session?.browserId===n.browserId;return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:t?null:a.session,selectedBrowserId:t?null:a.selectedBrowserId,sessionsByBrowserId:Object.fromEntries(Object.entries(a.sessionsByBrowserId).filter(([e])=>e!==n.browserId)),lastError:y1e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:b1e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o=t.tabs.map(e=>e.tabId===n.payload.tab.tabId?{...n.payload.tab,isActive:e.tabId===t.activeTabId}:{...e,isActive:e.tabId===t.activeTabId}).concat(t.tabs.some(e=>e.tabId===n.payload.tab.tabId)?[]:[{...n.payload.tab,isActive:n.payload.tab.tabId===t.activeTabId}]);return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:{...t,tabs:o},lastError:null}),pendingAutoRevealKeys:i}}case`tab.closed`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return e;let i=t.tabs.filter(e=>e.tabId!==n.payload.tabId);return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,session:{...t,tabs:i,activeTabId:t.activeTabId===n.payload.tabId?i[0]?.tabId??null:t.activeTabId}})}}case`snapshot.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastScreenshotDataUrlByTabId:{...a.lastScreenshotDataUrlByTabId,[n.payload.tabId]:n.payload.imageDataUrl},lastScreenshotMetaByTabId:{...a.lastScreenshotMetaByTabId,[n.payload.tabId]:{captureId:n.payload.captureId,capturedAt:n.payload.capturedAt,url:n.payload.url,viewport:n.payload.viewport}},lastError:null}),pendingAutoRevealKeys:i};case`frame.ready`:return E1e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastConsoleLogsByTabId:{...a.lastConsoleLogsByTabId,[n.payload.tabId]:n.payload.logs},lastConsoleLogsMetaByTabId:{...a.lastConsoleLogsMetaByTabId,[n.payload.tabId]:{capturedAt:n.createdAt,tabId:n.payload.tabId,count:n.payload.logs.length}},lastError:null})};case`display.iceCandidate`:{let t=a.displayIceCandidatesByClientId[n.payload.clientId]??[];return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:v1e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:LZ(e.browserStateByThreadKey,r,{...a,lastError:d1e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=FZ(t);if(!(n in e.browserStateByThreadKey))return e;let{[n]:r,...i}=e.browserStateByThreadKey;return{browserStateByThreadKey:i}}),consumeAutoReveal:t=>e(e=>{if(!e.pendingAutoRevealKeys.has(t))return e;let n=new Set(e.pendingAutoRevealKeys);return n.delete(t),{pendingAutoRevealKeys:n}})}));function D1e(e,t){return t?e[FZ(t)]??null:null}var O1e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function k1e(e){return{x:Math.max(12,Math.min(e.position.x,e.viewportWidth-e.width-12)),y:Math.max(12,Math.min(e.position.y,e.viewportHeight-e.height-12))}}function A1e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function j1e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var BZ=`forge:ui-state:v1`,VZ=[`t3code:ui-state:v1`,`t3code:renderer-state:v8`,`t3code:renderer-state:v7`,`t3code:renderer-state:v6`,`t3code:renderer-state:v5`,`t3code:renderer-state:v4`,`t3code:renderer-state:v3`,`codething:renderer-state:v4`,`codething:renderer-state:v3`,`codething:renderer-state:v2`,`codething:renderer-state:v1`],HZ=`months`,M1e=new Set([`weeks`,`months`,`quarters`]);function N1e(e){return typeof e==`string`&&M1e.has(e)?e:HZ}function UZ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var WZ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:HZ,projectLeadCompanion:O1e},GZ=new Set,KZ=[],qZ=new Map,JZ=!1;function P1e(){if(typeof window>`u`)return WZ;try{let e=window.localStorage.getItem(BZ);if(!e){for(let e of VZ){let t=window.localStorage.getItem(e);if(t)return YZ(JSON.parse(t)),WZ}return WZ}let t=JSON.parse(e);return YZ(t),{...WZ,projectGroupOrder:F1e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:R1e(t.threadChangedFilesExpandedById),pinnedThreadById:I1e(t.pinnedThreadKeys),threadLinkedPrById:L1e(t.threadLinkedPrById),timelineWorkColumnWidth:UZ(t.timelineWorkColumnWidth??360),timelineScale:N1e(t.timelineScale)}}catch{return WZ}}function F1e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function I1e(e){if(!Array.isArray(e))return{};let t={};for(let n of e)typeof n==`string`&&n.length>0&&(t[n]=!0);return t}function L1e(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof n==`string`&&n.length!==0&&typeof r==`string`&&r.trim().length!==0&&(t[n]=r);return t}function R1e(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){if(!n||!r||typeof r!=`object`)continue;let e={};for(let[t,n]of Object.entries(r))t&&typeof n==`boolean`&&n===!1&&(e[t]=!1);Object.keys(e).length>0&&(t[n]=e)}return t}function YZ(e){GZ.clear(),KZ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&GZ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!KZ.includes(t)&&KZ.push(t)}function z1e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=qZ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=qZ.get(e);return t?[t]:[]}),r=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).flatMap(([e,t])=>{let n=Object.fromEntries(Object.entries(t).filter(([,e])=>e===!1));return Object.keys(n).length>0?[[e,n]]:[]}));if(window.localStorage.setItem(BZ,JSON.stringify({expandedProjectCwds:t,projectOrderCwds:n,projectGroupOrderKeys:e.projectGroupOrder,threadChangedFilesExpandedById:r,pinnedThreadKeys:Object.keys(e.pinnedThreadById).filter(t=>e.pinnedThreadById[t]),threadLinkedPrById:e.threadLinkedPrById,timelineWorkColumnWidth:e.timelineWorkColumnWidth,timelineScale:e.timelineScale})),!JZ){JZ=!0;for(let e of VZ)window.localStorage.removeItem(e)}}catch{}}var XZ=new Yt(z1e,{wait:500});function ZZ(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(t[e]!==r)return!1;return!0}function QZ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function B1e(e,t){let n=Object.entries(e),r=Object.entries(t);if(n.length!==r.length)return!1;for(let[e,r]of n)if(!(e in t)||!ZZ(r,t[e]))return!1;return!0}function V1e(e,t){let n=new Map(qZ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));qZ.clear();for(let e of t)qZ.set(e.key,e.cwd);let i=n.size!==qZ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(KZ.map((e,t)=>[e,t])),c=t.map((e,t)=>{let n=r.get(e.cwd),i=o[e.key]??(n?o[n]:void 0)??(GZ.size>0?GZ.has(e.cwd):!0);return a[e.key]=i,{id:e.key,cwd:e.cwd,incomingIndex:t}}),l=e.projectOrder.length>0?(()=>{let t=new Map(c.map(e=>[e.cwd,e.id])),r=new Set,i=[];for(let o of e.projectOrder){let e=(o in a?o:void 0)??(()=>{let e=n.get(o);return e?t.get(e):void 0})();!e||r.has(e)||(r.add(e),i.push(e))}for(let e of c)r.has(e.id)||i.push(e.id);return i})():c.map(e=>({id:e.id,incomingIndex:e.incomingIndex,orderIndex:s.get(e.cwd)??KZ.length+e.incomingIndex})).toSorted((e,t)=>{let n=e.orderIndex-t.orderIndex;return n===0?e.incomingIndex-t.incomingIndex:n}).map(e=>e.id);return ZZ(e.projectExpandedById,a)&&QZ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function H1e(e,t){let n=new Set(t.map(e=>e.key)),r=Object.fromEntries(Object.entries(e.threadLastVisitedAtById).filter(([e])=>n.has(e)));for(let e of t)r[e.key]===void 0&&e.seedVisitedAt!==void 0&&e.seedVisitedAt.length>0&&(r[e.key]=e.seedVisitedAt);let i=Object.fromEntries(Object.entries(e.threadChangedFilesExpandedById).filter(([e])=>n.has(e))),a=Object.fromEntries(Object.entries(e.pinnedThreadById).filter(([e,t])=>n.has(e)&&t)),o=Object.fromEntries(Object.entries(e.threadLinkedPrById).filter(([e])=>n.has(e)));return ZZ(e.threadLastVisitedAtById,r)&&B1e(e.threadChangedFilesExpandedById,i)&&ZZ(e.pinnedThreadById,a)&&ZZ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function U1e(e,t,n){let r=n??new Date().toISOString(),i=Date.parse(r),a=e.threadLastVisitedAtById[t],o=a?Date.parse(a):NaN;return Number.isFinite(o)&&Number.isFinite(i)&&o>=i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:r}}}function W1e(e,t,n){if(!n)return e;let r=Date.parse(n);if(Number.isNaN(r))return e;let i=new Date(r-1).toISOString();return e.threadLastVisitedAtById[t]===i?e:{...e,threadLastVisitedAtById:{...e.threadLastVisitedAtById,[t]:i}}}function G1e(e,t){let n=t in e.threadLastVisitedAtById,r=t in e.threadChangedFilesExpandedById,i=t in e.pinnedThreadById,a=t in e.threadLinkedPrById;if(!n&&!r&&!i&&!a)return e;let o={...e.threadLastVisitedAtById},s={...e.threadChangedFilesExpandedById},c={...e.pinnedThreadById},l={...e.threadLinkedPrById};return delete o[t],delete s[t],delete c[t],delete l[t],{...e,threadLastVisitedAtById:o,threadChangedFilesExpandedById:s,pinnedThreadById:c,threadLinkedPrById:l}}function $Z(e,t,n){if(e.pinnedThreadById[t]===!0===n)return e;if(n)return{...e,pinnedThreadById:{...e.pinnedThreadById,[t]:!0}};let r={...e.pinnedThreadById};return delete r[t],{...e,pinnedThreadById:r}}function K1e(e,t){return $Z(e,t,e.pinnedThreadById[t]!==!0)}function q1e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function J1e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function Y1e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function X1e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function Z1e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function Q1e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function $1e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function e0e(e,t,n){if(t.length===0)return e;let r=new Set(t),i=new Set(n);if(t.every(e=>i.has(e)))return e;let a=e.projectOrder.findIndex(e=>i.has(e));if(a<0)return e;let o=[...e.projectOrder],s=[],c=0;for(let e=o.length-1;e>=0;e--)r.has(o[e])&&(s.unshift(o.splice(e,1)[0]),e<a&&c++);if(s.length===0)return e;let l=a-Math.max(0,c-1);return o.splice(l,0,...s),{...e,projectOrder:o}}function t0e(e,t){let n=[...new Set(t)],r=new Set(n),i=e.projectGroupOrder.filter(e=>r.has(e)),a=new Set(i);for(let e of n)a.has(e)||i.push(e);return QZ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function n0e(e,t,n){if(t===n)return e;let r=e.projectGroupOrder.indexOf(t),i=e.projectGroupOrder.indexOf(n);if(r<0||i<0)return e;let a=[...e.projectGroupOrder],[o]=a.splice(r,1);return o===void 0?e:(a.splice(i,0,o),{...e,projectGroupOrder:a})}var eQ=qt(e=>({...P1e(),syncProjects:t=>e(e=>V1e(e,t)),syncProjectGroups:t=>e(e=>t0e(e,t)),syncThreads:t=>e(e=>H1e(e,t)),markThreadVisited:(t,n)=>e(e=>U1e(e,t,n)),markThreadUnread:(t,n)=>e(e=>W1e(e,t,n)),clearThreadUi:t=>e(e=>G1e(e,t)),setThreadPinned:(t,n)=>e(e=>$Z(e,t,n)),toggleThreadPinned:t=>e(e=>K1e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>q1e(e,t,n)),clearThreadLinkedPr:t=>e(e=>J1e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>Y1e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>Z1e(e,t,n)),toggleProject:t=>e(e=>Q1e(e,t)),setProjectExpanded:(t,n)=>e(e=>$1e(e,t,n)),reorderProjects:(t,n)=>e(e=>e0e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>n0e(e,t,n)),setLastActiveProject:t=>e(e=>X1e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:UZ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:A1e(e.projectLeadCompanion,t)})),closeProjectLeadCompanion:()=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,open:!1}})),setProjectLeadCompanionMinimized:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,minimized:t}})),setProjectLeadCompanionDock:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,dock:t}})),setProjectLeadCompanionPosition:t=>e(e=>({...e,projectLeadCompanion:{...e.projectLeadCompanion,position:t}}))}));function r0e(e){eQ.getState().openProjectLeadCompanion(e)}eQ.subscribe(e=>XZ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{XZ.flush()});var i0e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),a0e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},o0e=Zre(rt(Jre((e,t,n,r)=>{let i=r.getRef(i0e),a=r.context.mapUnsafe.get(a0e.key)??{},o=a.headers?En(dn(a.headers),e.headers):e.headers,s=r=>Ze(Fee({try:()=>i(t,{...a,method:e.method,headers:o,body:r,duplex:e.body._tag===`Stream`?`half`:void 0,signal:n}),catch:t=>new Zn({reason:new cne({request:e,cause:t})})}),t=>Wte(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 wt(fte(e.body.stream),s)}return s(void 0)}))),s0e=cte.pipe(b,Lt(e=>{if(kn(e)&&e.reason._tag===`StatusCodeError`&&e.reason.response.status===429){let t=lee(e.reason.response.headers[`retry-after`]).pipe(pte(Nre),m(()=>5));return rt(re(t))}return rt(re(1))})),c0e=Xe(function*(e){let t=yield*Ot(),n=at(t,Mre),r=at(t,Me),a=We(t),o=d(Ne(e.exportInterval),_ee),s,c=Kre(at(t,Bi)).pipe(Vi(Oe(Wi,!1)),Yre({schedule:s0e,times:3})),u=Cn({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(u=En(dn(e.headers),u));let f=Lre(e.url,{headers:u}),p=[],m=At(()=>{if(s!==void 0&&n.currentTimeMillisUnsafe()<s)return ct;s!==void 0&&(s=void 0);let t=p;if(e.maxBatchSize!==`disabled`){if(p.length===0)return ct;p=[]}return c.execute(Ri(f,e.body(t))).pipe(mee,jee(!1))}).pipe(Ge(e=>s===void 0?(s=n.currentTimeMillisUnsafe()+6e4,p=[],kee(`Disabling exporter for 60 seconds`,e)):ct),l({package:`@effect/opentelemetry`,module:e.label}));return yield*Bt(r,m.pipe(Dt,ft,Wee(e.shutdownTimeout))),yield*i(o).pipe(zt(m),et,Nt(r)),{push(t){s===void 0&&(p.push(t),e.maxBatchSize!==`disabled`&&p.length>=e.maxBatchSize&&pe(a(m),r))}}}),l0e=e=>{let t=e.attributes?tQ(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}},u0e=Xe(function*(e){let t={...yield*$l(jn(jle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*$l(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*$l(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],l0e({serviceName:n,serviceVersion:r,attributes:t})},c),d0e=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},tQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:nQ(r)});return t},nQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(nQ)}};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:Kee(e)}}},rQ=class extends yt()(`effect/observability/OtlpSerialization`){},f0e=he(rQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),p0e=Xe(function*(e){let t=yield*u0e(e.resource),n=yield*rQ,r={name:d0e(t)},i=yield*c0e({label:`OtlpTracer`,url:e.url,headers:e.headers,exportInterval:e.exportInterval??re(5),maxBatchSize:e.maxBatchSize??1e3,body(e){let i={resourceSpans:[{resource:t,scopeSpans:[{scope:r,spans:e}]}]};return n.traces(i)},shutdownTimeout:e.shutdownTimeout??re(3)});function a(e){e.sampled&&i.push(g0e(e))}return xe({span(e){return h0e({...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})}),m0e={_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)}},h0e=e=>{let t=Object.assign(Object.create(m0e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:iQ(32),t.spanId=iQ(16),t.events=[],t},iQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},g0e=e=>{let t=e.status,n=tQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?tQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=v0e;else if(dt(t.exit.cause))i={code:aQ.Ok,message:`Interrupted`},n.push({key:`span.label`,value:{stringValue:`⚠︎ Interrupted`}},{key:`status.interrupted`,value:{boolValue:!0}});else{let e=lte(t.exit.cause);if(i={code:aQ.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:we(e.parent,{onNone:()=>void 0,onSome:e=>e.spanId}),name:e.name,kind:_0e[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:tQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},aQ={Unset:0,Ok:1,Error:2},_0e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},v0e={code:aQ.Ok},y0e=1e4,b0e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":fl}},x0e=De(o0e,f0e,he(Ui,()=>!0)),oQ=null,sQ=null,cQ=null,lQ=null,uQ=0,dQ=Promise.resolve(),S0e=he(Hee,xe({span(e){return oQ?.span(e)??new s(e)}}));function C0e(e={}){return e.exportIntervalMs===void 0&&lQ!==null||(dQ=dQ.finally(()=>w0e(e))),dQ}async function w0e(e){let t=or(`/api/observability/v1/traces`),n=mr()?.bearerToken,r=Math.max(10,e.exportIntervalMs??y0e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(lQ===i&&oQ!==null)return;lQ=i;let a=++uQ,o=sQ,s=cQ;oQ=null,sQ=null,cQ=null,await fQ(o,s);let c=il(x0e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(p0e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:b0e})));if(a!==uQ){await fQ(c,l);return}oQ=e,sQ=c,cQ=l}catch(e){await fQ(c,l),a===uQ&&console.warn(`Failed to configure client tracing exporter`,{error:T0e(e),otlpTracesUrl:t})}}async function fQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function T0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var pQ=15e3,mQ=new Map,hQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function gQ(e){Ht.set(hQ,[...e])}function _Q(){return Ht.get(hQ)}var vQ=`global`;function E0e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function D0e(e,t,n=vQ){if(!E0e(t))return;xQ(e,n),j0e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:pQ},a=bQ(n,e),o=setTimeout(()=>{mQ.delete(a),A0e(i)},pQ);mQ.set(a,{request:i,timeoutId:o})}function O0e(e,t=vQ){xQ(e,t);let n=_Q();n.some(n=>n.clientId===t&&n.requestId===e)&&gQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function yQ(e){for(let[t,n]of mQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),mQ.delete(t));gQ(_Q().filter(t=>t.clientId!==e))}function k0e(){for(let e of mQ.values())clearTimeout(e.timeoutId);mQ.clear(),gQ([])}function bQ(e,t){return`${e}:${t}`}function xQ(e,t){let n=bQ(t,e),r=mQ.get(n);r&&(clearTimeout(r.timeoutId),mQ.delete(n))}function A0e(e){let t=[..._Q(),e];if(t.length<=256){gQ(t);return}gQ(t.slice(-256))}function j0e(){for(;mQ.size>=256;){let e=mQ.keys().next().value;if(e===void 0)return;let t=mQ.get(e);if(!t)return;xQ(t.request.requestId,t.request.clientId)}}function M0e(){return cr(hQ)}var N0e=ko(Mn),SQ=1;function P0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function CQ(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 F0e(){return{onAttempt:Lne,onOpen:One,onError:e=>{Ine(e)},onClose:e=>{kne(e)},trackGlobalConnection:!0}}function I0e(e){let t=F0e(),n=e?.trackGlobalConnection??!0;return{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=>{n&&t.onClose(r),e?.onClose?.(r)},trackGlobalConnection:n}}function L0e(e,t){let n=SQ;SQ+=1;let r=I0e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>CQ(e)),ite(e=>pt(()=>{r.onError(P0e(e))})),c):CQ(e),a=he(oa,(e,t)=>{r.onAttempt(e);let n=new globalThis.WebSocket(e,t);return n.addEventListener(`open`,()=>{r.onOpen()},{once:!0}),n.addEventListener(`error`,()=>{r.onError(`Unable to connect to the Forge server WebSocket.`)},{once:!0}),n.addEventListener(`close`,e=>{r.onClose({code:e.code,reason:e.reason})},{once:!0}),n}),o=sa(i).pipe(E(a)),s=Lt(_(10),e=>rt(Ue(Fne(e)??0)));return ht(Mo,Ze(No({retryPolicy:s,retryTransientErrors:!0}),e=>({...e,run:(t,r)=>{let i=`${n}:${String(t)}`;return e.run(t,e=>(e._tag===`Chunk`||e._tag===`Exit`?O0e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&yQ(i),r(e))).pipe(Je(pt(()=>{yQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&D0e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,Oo)))}var R0e=/^all fibers interrupted without error$/i;function z0e(e){return yG(e)||R0e.test(e.trim())}var B0e=Ue(250),wQ=()=>void 0,TQ=class extends Error{name=`WsRequestTimeoutError`;timeoutMs;constructor(e){let t=Be(Ne(e));super(`WebSocket RPC request timed out after ${t}ms.`),this.timeoutMs=t}},V0e=new Set([`OrchestrationGetSnapshotError`]);function H0e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&V0e.has(t)}function U0e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?W0e(e):String(e)}function W0e(e){try{return JSON.stringify(e)}catch{let t=e;return[typeof t._tag==`string`?t._tag:void 0,typeof t.message==`string`?t.message:void 0].filter(Boolean).join(`: `)||Object.prototype.toString.call(e)}}var G0e=4e3,K0e=1e4,q0e=500,EQ=class{url;lifecycleHandlers;disposed=!1;hasReportedTransportDisconnect=!1;reconnectChain=Promise.resolve();session;heartbeatTimer=null;heartbeatInFlight=!1;protocol;timing;constructor(e,t,n,r){this.url=e,this.lifecycleHandlers=t,this.protocol=n??null,this.timing={heartbeatIntervalMs:r?.heartbeatIntervalMs??G0e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??K0e,sessionCloseGraceMs:r?.sessionCloseGraceMs??q0e},this.session=this.createSession(),this.startHeartbeat()}startHeartbeat(){this.heartbeatTimer===null&&(this.heartbeatTimer=setInterval(()=>{if(this.disposed||this.heartbeatInFlight)return;this.heartbeatInFlight=!0;let e=this.session;this.request(e=>e[M.serverHeartbeat]({}),{timeout:this.timing.heartbeatTimeoutMs}).catch(async()=>{this.disposed||e!==this.session||await this.reconnect()}).finally(()=>{this.heartbeatInFlight=!1})},this.timing.heartbeatIntervalMs))}async request(e,t){if(this.disposed)throw Error(`Transport disposed`);let n=this.session,i=await n.clientPromise,a=At(()=>e(i)),o=t?.timeout,s=o===void 0?a:a.pipe(Mt({duration:o,orElse:()=>r(new TQ(o))}));return await n.runtime.runPromise(s,{signal:t?.signal})}async requestStream(e,t,n){if(this.disposed)throw Error(`Transport disposed`);let r=this.session,i=this.runStreamOnSession(r,e,t,()=>!0,()=>void 0),a=()=>i.cancel();n?.signal?.aborted&&a(),n?.signal?.addEventListener(`abort`,a,{once:!0});try{await i.completed}catch(e){if(n?.signal?.aborted){let e=Error(`RPC stream request was cancelled.`);throw e.name=`AbortError`,e}throw e}finally{n?.signal?.removeEventListener(`abort`,a)}}subscribe(e,t,n){if(this.disposed)return()=>void 0;let r={active:!0,hasReceivedValue:!1,cancelCurrentStream:wQ},i=Be(Ne(n?.retryDelay??B0e));return this.runSubscriptionLoop(e,t,n,r,i),()=>{r.active=!1,r.cancelCurrentStream()}}async runSubscriptionLoop(e,t,n,r,i){for(;r.active&&!this.disposed;){let a=this.session;try{this.notifyResubscribe(r,n);let i=this.startSubscriptionStream(a,e,t,r);r.cancelCurrentStream=i.cancel,await i.completed,r.cancelCurrentStream=wQ}catch(e){if(r.cancelCurrentStream=wQ,!await this.handleSubscriptionFailure(e,a,r,n,i))return}}}notifyResubscribe(e,t){if(e.hasReceivedValue)try{t?.onResubscribe?.()}catch{}}startSubscriptionStream(e,t,n,r){return this.runStreamOnSession(e,t,n,()=>r.active,()=>{this.hasReportedTransportDisconnect=!1,r.hasReceivedValue=!0})}async handleSubscriptionFailure(e,t,n,r,i){if(!n.active||this.disposed)return!1;if(t!==this.session)return!0;let a=U0e(e);return z0e(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await J0e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){H0e(e)||AG(e,{route:`ws-subscribe`,reason:`non-transport-error`}),t?.onError?.(e)}async reconnect(){if(this.disposed)throw Error(`Transport disposed`);let e=this.reconnectChain.then(async()=>{if(this.disposed)throw Error(`Transport disposed`);let e=this.session;this.session=this.createSession(),await this.closeSession(e)});this.reconnectChain=e.catch(e=>{AG(e,{route:`ws-reconnect`})}),await e}async dispose(){this.disposed||(this.disposed=!0,this.heartbeatTimer!==null&&this.heartbeatTimer!==void 0&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),await this.closeSession(this.session))}async closeSession(e){let t=e.runtime.runPromise(He(e.clientScope,Tt)),n=!1,r=null,i=new Promise(e=>{r=setTimeout(()=>{n=!0,e()},this.timing.sessionCloseGraceMs)});try{await Promise.race([t,i])}finally{r!==null&&clearTimeout(r),n&&(console.warn(`WebSocket session close exceeded its grace period; forcing disposal`,{graceMs:this.timing.sessionCloseGraceMs}),t.catch(()=>void 0)),await e.runtime.dispose()}}createSession(){let e=this.protocol??{layer:L0e(this.url,this.lifecycleHandlers),makeClient:N0e},t=il(De(e.layer,S0e)),n=t.runSync(ze());return{runtime:t,clientScope:n,clientPromise:t.runPromise(te(n)(e.makeClient))}}runStreamOnSession(e,t,n,r,i){let a,o,s=new Promise((e,t)=>{a=e,o=t});return{cancel:e.runtime.runCallback(gt(()=>e.clientPromise).pipe(wt(e=>Gee(t(e),e=>pt(()=>{if(r()){i();try{n(e)}catch{}}})))),{onExit:e=>{if(ete(e)){a();return}o(Ie(e.cause))}}),completed:s}}};function J0e(e){return new Promise(t=>{setTimeout(t,e)})}var DQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Y0e=/^[A-Za-z0-9_-]+$/;function X0e(e){let t=``;for(let n=0;n<e.byteLength;n+=3){let r=e[n]??0,i=e[n+1]??0,a=e[n+2]??0,o=r<<16|i<<8|a;t+=DQ[o>>>18&63],t+=DQ[o>>>12&63],n+1<e.byteLength&&(t+=DQ[o>>>6&63]),n+2<e.byteLength&&(t+=DQ[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function Z0e(e){if(e.length===0||!Y0e.test(e))throw Error(`Bulk transfer chunk is not valid base64url data.`);let t=e.replaceAll(`-`,`+`).replaceAll(`_`,`/`),n=Math.floor(t.length*6/8),r=new Uint8Array(n),i=0,a=0,o=0;for(let e of t){let t=DQ.indexOf(e);if(t<0)throw Error(`Bulk transfer chunk is not valid base64url data.`);i=i<<6|t,a+=6,a>=8&&(a-=8,r[o]=i>>>a&255,o+=1)}return r}async function OQ(e){let t=new Uint8Array(e.byteLength);t.set(e);let n=await crypto.subtle.digest(`SHA-256`,t.buffer);return Array.from(new Uint8Array(n),e=>e.toString(16).padStart(2,`0`)).join(``)}async function Q0e(e,t){let n=t?.chunkBytes??262144;if(!Number.isSafeInteger(n)||n<1||n>262144)throw Error(`Bulk transfer chunk size must be between 1 and ${Gte}.`);let r=t?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),i=[];for(let t=0;t<e.byteLength;t+=n){let a=e.slice(t,Math.min(t+n,e.byteLength));i.push({kind:`chunk`,transferId:r,offset:t,bytes:a.byteLength,data:X0e(a),sha256:await OQ(a)})}return{totalBytes:e.byteLength,sha256:await OQ(e),chunks:i}}async function $0e(e){let t=Z0e(e.data);if(t.byteLength!==e.bytes)throw Error(`Bulk transfer chunk byte count mismatch at offset ${e.offset}: expected ${e.bytes}, received ${t.byteLength}.`);if(await OQ(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function e2e(e){let t=new Map,n=[],r=0;for(let i of e.chunks){let e=t.get(i.offset);if(e!==void 0){if(e.bytes!==i.bytes||e.sha256!==i.sha256||e.data!==i.data)throw Error(`Bulk transfer has a conflicting duplicate chunk at offset ${i.offset}.`);continue}if(i.offset!==r)throw Error(`Bulk transfer chunk offset mismatch: expected ${r}, received ${i.offset}.`);let a=await $0e(i);t.set(i.offset,i),n.push({chunk:i,bytes:a}),r+=a.byteLength}if(r!==e.totalBytes)throw Error(`Bulk transfer total byte count mismatch: expected ${e.totalBytes}, received ${r}.`);let i=new Uint8Array(e.totalBytes);for(let e of n)i.set(e.bytes,e.chunk.offset);if(await OQ(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var kQ=`forge`,t2e=RegExp(`^${kQ}\\/[0-9a-f]{8}$`);function n2e(){return`${kQ}/${fe(vte).replace(/-/g,``).slice(0,8).toLowerCase()}`}function r2e(e){return t2e.test(e.trim().toLowerCase())}function i2e(e){let t=e.trim().replace(/\/+$/g,``).replace(/\.git$/i,``).toLowerCase();if(/^(?:ssh|https?|git):\/\//i.test(t))try{let e=new URL(t),n=e.pathname.split(`/`).filter(e=>e.length>0).join(`/`);if(e.hostname&&n.includes(`/`))return`${e.hostname}/${n}`}catch{return t}let n=/^git@([^:/\s]+)[:/]([^/\s]+(?:\/[^/\s]+)+)$/i.exec(t);return n?.[1]&&n[2]?`${n[1]}/${n[2]}`:t}function a2e(e){let t=e?.trim()??``;if(t.length===0)return null;let n=/^(?:git@github\.com:|ssh:\/\/git@github\.com\/|https:\/\/github\.com\/|git:\/\/github\.com\/)([^/\s]+\/[^/\s]+?)(?:\.git)?\/?$/i.exec(t)?.[1]?.trim()??``;return n.length>0?n:null}function o2e(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`git@`)){let e=t.slice(4),n=e.search(/[:/]/);return n<=0?null:e.slice(0,n).toLowerCase()}try{return new URL(t).hostname.toLowerCase()}catch{return null}}function AQ(e){return`https://${e}`}function s2e(e){return e===`github.com`||e.includes(`github`)}function c2e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function l2e(e){return e===`bitbucket.org`}function u2e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function d2e(e){let t=o2e(e);if(!t)return null;let n=i2e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?s2e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:AQ(t)}:c2e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:AQ(t)}:l2e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:AQ(t)}:u2e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:AQ(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:AQ(t)}:null}var f2e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function jQ(e,t){return{...e,...t??f2e}}function p2e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function m2e(e){return{isRepo:e.isRepo,...e.hostingProvider?{hostingProvider:e.hostingProvider}:{},hasOriginRemote:e.hasOriginRemote,isDefaultBranch:e.isDefaultBranch,branch:e.branch,hasWorkingTreeChanges:e.hasWorkingTreeChanges,workingTree:e.workingTree}}function h2e(e,t){switch(t._tag){case`snapshot`:return jQ(t.local,t.remote);case`localUpdated`:return jQ(t.local,e?p2e(e):null);case`remoteUpdated`:return jQ(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:m2e(e),t.remote)}}var g2e=262144,_2e=250;function v2e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function y2e(e){return new Promise(t=>setTimeout(t,e))}function b2e(e){let t=kce({controllerId:crypto.randomUUID(),maxPendingWriteBytes:g2e}),n=!1,r=e=>{if(!e.sessionEpoch)throw Error(`Connected Forge runtime does not support epoch-fenced terminal controls.`);t.register({threadId:e.threadId,terminalId:e.terminalId,sessionEpoch:e.sessionEpoch})},i=async e=>{for(;!n;)try{return await e()}catch(e){if(!yG(v2e(e)))throw e;await y2e(_2e)}throw Error(`Terminal control client was disposed before acknowledgement.`)};return{terminal:{open:async t=>{let n=await e.request(e=>e[M.terminalOpen]({...t,terminalId:t.terminalId??`default`}));return r(n),n},write:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,writeBytes:new TextEncoder().encode(n.data).byteLength,execute:t=>i(()=>e.request(e=>e[M.terminalWrite]({...n,terminalId:r,...t})))})},resize:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalResize]({...n,terminalId:r,...t})))})},signal:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalSignal]({...n,terminalId:r,...t})))})},clear:async n=>{let r=n.terminalId??`default`;await t.enqueue({threadId:n.threadId,terminalId:r,execute:t=>i(()=>e.request(e=>e[M.terminalClear]({...n,terminalId:r,...t})))})},restart:async n=>{let a=n.terminalId??`default`,o=null;if(await t.enqueue({threadId:n.threadId,terminalId:a,execute:async t=>{o=(await i(()=>e.request(e=>e[M.terminalRestart]({...n,terminalId:a,...t})))).snapshot}}),o===null)throw Error(`Terminal restart completed without a snapshot.`);return r(o),o},close:async n=>{let r=n.terminalId?[n.terminalId]:t.terminalIds(n.threadId);for(let a of r)await t.enqueue({threadId:n.threadId,terminalId:a,execute:t=>i(()=>e.request(e=>e[M.terminalClose]({...n,terminalId:a,...t})))}),t.remove(n.threadId,a)},onEvent:t=>e.subscribe(e=>e[M.subscribeTerminalEvents]({}),e=>{(e.type===`started`||e.type===`restarted`)&&r(e.snapshot),t(e)})},dispose:()=>{n=!0,t.dispose()}}}function x2e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function S2e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var C2e=2e4,w2e=12e4,T2e=3e5;function E2e(e){return e instanceof TQ||yG(e instanceof Error?e.message:String(e))}async function D2e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?T2e:C2e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!E2e(t))throw t;return await e.reconnect(),await r()}}function MQ(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function NQ(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>O2e(r,e,n),n),r.protocolError!==null)throw r.protocolError;let i=r.started,a=r.completed;if(i===null||a===null)throw Error(`Bulk transfer stream completed without start and completion metadata.`);if(a.transferId!==i.transferId||a.totalBytes!==i.totalBytes||a.sha256!==i.sha256)throw Error(`Bulk transfer completion metadata mismatch.`);return await e2e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function O2e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){k2e(e,t,n);return}if(e.started===null||t.transferId!==e.started.transferId){e.protocolError=Error(`Bulk transfer event identity mismatch.`);return}if(t.kind===`chunk`){A2e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function k2e(e,t,n){if(e.started!==null||t.totalBytes>16777216){e.protocolError=Error(`Bulk transfer started with invalid or oversized metadata.`);return}e.started=t,n?.onProgress?.({completedBytes:0,totalBytes:t.totalBytes})}function A2e(e,t,n){let r=e.started;if(r!==null){if(e.receivedBytes+=t.bytes,e.receivedBytes>r.totalBytes){e.protocolError=Error(`Bulk transfer exceeded its declared byte count.`);return}e.chunks.push(t),n?.onProgress?.({completedBytes:e.receivedBytes,totalBytes:r.totalBytes})}}async function j2e(e,t,n){let r=new TextEncoder().encode(t.contents);if(r.byteLength>16777216)throw Error(`Project file exceeds the ${Jte}-byte write limit.`);let i=await Q0e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{MQ(n?.signal);let r=await M2e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await N2e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await S2e(e,a),t}}function M2e(e,t,n,r){return e.request(e=>e[M.workspaceBeginWriteFile]({transferId:n,cwd:t.cwd,relativePath:t.relativePath,totalBytes:r.totalBytes,sha256:r.sha256}))}async function N2e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;MQ(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}MQ(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function PQ(e){let t=b2e(e);return{dispose:()=>(t.dispose(),e.dispose()),reconnect:async()=>{wne(),await e.reconnect()},terminal:t.terminal,browser:{openSession:t=>e.request(e=>e[M.browserOpenSession](t)),listSessions:t=>e.request(e=>e[M.browserListSessions](t)),closeSession:t=>e.request(e=>e[M.browserCloseSession](t)),getSession:t=>e.request(e=>e[M.browserGetSession](t)),command:t=>e.request(e=>e[M.browserCommand](t)),clearBrowsingData:t=>e.request(e=>e[M.browserClearBrowsingData](t)),attachDisplay:t=>e.request(e=>e[M.browserAttachDisplay](t)),addDisplayIceCandidate:t=>e.request(e=>e[M.browserAddDisplayIceCandidate](t)),onEvent:(t,n,r)=>e.subscribe(e=>e[M.subscribeBrowserEvents](t),n,r)},computer:{input:t=>e.request(e=>e[M.computerInput](t))},threadDevRuntime:{get:t=>e.request(e=>e[M.threadDevRuntimeGet](t)),allocatePort:t=>e.request(e=>e[M.threadDevRuntimeAllocatePort](t)),release:t=>e.request(e=>e[M.threadDevRuntimeRelease](t))},devTunnel:{register:t=>e.request(e=>e[M.devTunnelRegister](t)),unregister:t=>e.request(e=>e[M.devTunnelUnregister](t)),list:t=>e.request(e=>e[M.devTunnelList](t))},attachments:x2e(e),projects:{searchContents:(t,n)=>e.request(e=>e[M.projectsSearchContents](t),n),searchEntries:t=>e.request(e=>e[M.projectsSearchEntries](t)),readFile:(t,n)=>NQ(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>j2e(e,t,n)},projectCheckoutDeletion:{preview:t=>e.request(e=>e[M.projectCheckoutDeletionPreview](t)),execute:t=>e.request(e=>e[M.projectCheckoutDeletionExecute](t))},workspace:{environmentPreflight:t=>e.request(e=>e[M.workspaceEnvironmentPreflight](t)),ensureScratch:t=>e.request(e=>e[M.workspaceEnsureScratch](t))},shell:{openInEditor:t=>e.request(e=>e[M.shellOpenInEditor](t))},git:{pull:t=>e.request(e=>e[M.gitPull](t)),refreshStatus:t=>e.request(e=>e[M.gitRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[M.subscribeGitStatus](t),e=>{i=h2e(i,e),n(i)},r)},runStackedAction:async(t,n)=>{let r=null;if(await e.requestStream(e=>e[M.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.`)},listBranches:t=>e.request(e=>e[M.gitListBranches](t)),createWorktree:t=>e.request(e=>e[M.gitCreateWorktree](t)),removeWorktree:t=>e.request(e=>e[M.gitRemoveWorktree](t)),createBranch:t=>e.request(e=>e[M.gitCreateBranch](t)),checkout:t=>e.request(e=>e[M.gitCheckout](t)),init:t=>e.request(e=>e[M.gitInit](t)),resolvePullRequest:t=>e.request(e=>e[M.gitResolvePullRequest](t)),preparePullRequestThread:t=>e.request(e=>e[M.gitPreparePullRequestThread](t))},pullRequests:{list:t=>e.request(e=>e[M.pullRequestsList](t)),listStats:t=>e.request(e=>e[M.pullRequestsListStats](t)),detail:t=>e.request(e=>e[M.pullRequestsDetail](t)),activity:t=>e.request(e=>e[M.pullRequestsActivity](t)),threadComments:t=>e.request(e=>e[M.pullRequestsThreadComments](t)),diffFileContents:t=>e.request(e=>e[M.pullRequestsDiffFileContents](t)),runAction:t=>e.request(e=>e[M.pullRequestsRunAction](t)),update:t=>e.request(e=>e[M.pullRequestsUpdate](t)),comment:t=>e.request(e=>e[M.pullRequestsComment](t)),updateComment:t=>e.request(e=>e[M.pullRequestsUpdateComment](t)),submitReview:t=>e.request(e=>e[M.pullRequestsSubmitReview](t)),replyToThread:t=>e.request(e=>e[M.pullRequestsReplyToThread](t)),setThreadResolution:t=>e.request(e=>e[M.pullRequestsSetThreadResolution](t)),setReaction:t=>e.request(e=>e[M.pullRequestsSetReaction](t)),invalidate:t=>e.request(e=>e[M.pullRequestsInvalidate](t)),reviewerCandidates:t=>e.request(e=>e[M.pullRequestsReviewerCandidates](t)),requestReviewers:t=>e.request(e=>e[M.pullRequestsRequestReviewers](t))},server:{getConfig:()=>e.request(e=>e[M.serverGetConfig]({})),refreshProviders:()=>e.request(e=>e[M.serverRefreshProviders]({})),startProviderAuth:t=>e.request(e=>e[M.serverStartProviderAuth](t)),repairProviderAuthRuntime:t=>e.request(e=>e[M.serverRepairProviderAuthRuntime](t)),disconnectProviderAuth:t=>e.request(e=>e[M.serverDisconnectProviderAuth](t)),getProviderAuthSession:t=>e.request(e=>e[M.serverGetProviderAuthSession](t)),cancelProviderAuth:t=>e.request(e=>e[M.serverCancelProviderAuth](t)),submitProviderAuthCode:t=>e.request(e=>e[M.serverSubmitProviderAuthCode](t)),syncPersonalCodexToCloud:t=>e.request(e=>e[M.serverSyncPersonalCodexToCloud](t)),syncPersonalClaudeToCloud:t=>e.request(e=>e[M.serverSyncPersonalClaudeToCloud](t)),upsertKeybinding:t=>e.request(e=>e[M.serverUpsertKeybinding](t)),removeKeybinding:t=>e.request(e=>e[M.serverRemoveKeybinding](t)),getSettings:()=>e.request(e=>e[M.serverGetSettings]({})),updateSettings:t=>e.request(e=>e[M.serverUpdateSettings]({patch:t})),updateEnvironmentDisplayName:t=>e.request(e=>e[M.serverUpdateEnvironmentDisplayName](t)),getTraceDiagnostics:t=>e.request(e=>e[M.serverGetTraceDiagnostics](t)),subscribeConfig:(t,n)=>e.subscribe(e=>e[M.subscribeServerConfig]({}),t,n),subscribeLifecycle:(t,n)=>e.subscribe(e=>e[M.subscribeServerLifecycle]({}),t,n),subscribeAuthAccess:(t,n)=>e.subscribe(e=>e[M.subscribeAuthAccess]({}),t,n),subscribeWorkspaceReadiness:(t,n)=>e.subscribe(e=>e[M.subscribeWorkspaceReadiness]({}),t,n)},usage:{getSummary:t=>e.request(e=>e[M.usageGetSummary](t),{timeout:w2e})},orchestration:{dispatchCommand:t=>D2e(e,t),getTurnDiff:(t,n)=>NQ(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>NQ(e,e=>e[qn.streamFullThreadDiff](t),n).then(e=>({...t,fromTurnCount:0,diff:new TextDecoder().decode(e)})),subscribeShell:(t,n)=>e.subscribe(e=>e[qn.subscribeShell]({}),t,n),subscribeThread:(t,n,r)=>e.subscribe(e=>e[qn.subscribeThread](t),n,r)}}}var P2e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function FQ(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!P2e.has(t)?null:t}function IQ(e,t){return e===401||e===403||FQ(t)!==null}function F2e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return IQ(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var LQ=`forge.deviceRegistry.deviceKey`,RQ=`forge.deviceRegistry.runtimeId`;function I2e(e){let t=VQ(LQ,e.desktopIdentity?.deviceKey,`device`),n=VQ(RQ,e.desktopIdentity?.runtimeId,`runtime`),r=BQ(e.desktopIdentity?.hostKey),i=B2e(),a=e.desktopAvailable?`desktop`:V2e(),o=e.desktopAvailable?z2e(e.desktopIdentity)??H2e(i):U2e(i);return{device:{...r?{hostKey:r}:{},deviceKey:t,displayName:o,platform:i,deviceType:a,metadata:{clientKind:e.desktopAvailable?`forge-desktop`:`forge-web`,userAgent:window.navigator.userAgent,origin:window.location.origin,...e.desktopIdentity?{desktopIdentity:{hostName:e.desktopIdentity.hostName,computerName:e.desktopIdentity.computerName,platform:e.desktopIdentity.platform}}:{}}},...e.desktopAvailable&&e.includeExecutableRuntime!==!1?{runtime:{runtimeId:n,runtimeKind:`desktop-local`,displayName:`Local Forge Desktop`,endpointUrl:e.desktopEndpointUrl??null,status:`online`,metadata:{origin:window.location.origin}}}:{}}}async function zQ(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return I2e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function BQ(e){let t=e?.trim()??``;return t.length>0?t:null}function VQ(e,t,n){let r=BQ(t);return r?(JJ(e,r),r):R2e(e,n)}function L2e(){return qJ(RQ)}function HQ(){return qJ(LQ)}function R2e(e,t){let n=qJ(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return JJ(e,r),r}function z2e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function B2e(){let e=window.navigator.userAgent.toLowerCase();return e.includes(`iphone`)||e.includes(`ipad`)?`ios`:e.includes(`android`)?`android`:e.includes(`mac`)?`macos`:e.includes(`win`)?`windows`:e.includes(`linux`)?`linux`:`unknown`}function V2e(){let e=window.navigator.userAgent.toLowerCase();return e.includes(`ipad`)||e.includes(`tablet`)?`tablet`:e.includes(`mobi`)||e.includes(`iphone`)||e.includes(`android`)?`mobile`:`browser`}function H2e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function U2e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var UQ=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function WQ(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new UQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new UQ(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function W2e(e){let t=e.getStoredDeviceKey(),n=t?await e.apiClient.getDeviceRegistry():await e.apiClient.registerDevice(await e.buildDeviceRegistration());return t&&!n.devices.some(e=>e.deviceKey===t)&&(n=await e.apiClient.registerDevice(await e.buildDeviceRegistration())),t??=e.getStoredDeviceKey(),{deviceKey:t,registry:n}}function G2e(e){if(!e.deviceKey)throw new UQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface could not establish CMMD identity.`);let t=e.registry.devices.find(t=>t.deviceKey===e.deviceKey);if(t?.trustState===`revoked`||t?.authorization?.revoked===!0)throw new UQ(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new UQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function K2e(e,t){let n=async()=>G2e(await W2e(t));return{acquireRoute:async()=>{let r=await n(),i=await Ece();try{return Oce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...Dce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof nl)throw new UQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return WQ(e)}},acquireActionGrant:async r=>{let i=await n();try{return(await t.apiClient.issueRelayActionGrant(e,{controlDeviceId:i.id,controlSessionId:t.controlSessionId,...r})).token}catch(e){return WQ(e)}}}}var GQ=`forge.relayControlJournal.v1`;function KQ(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var q2e={read:()=>KQ().getItem(GQ),write:e=>KQ().setItem(GQ,e)},qQ=null,JQ=qt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function J2e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));JQ.getState().replace(Object.fromEntries([...t].map(t=>[t,Vse(e.records,t)])))})}function YQ(){return qQ===null&&(qQ=zc({storage:q2e}),J2e(qQ)),qQ}function Y2e(){let e=(0,ll.c)(1),t=JQ(Z2e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(X2e,n),t}function X2e(){YQ()}function Z2e(e){return e.byRuntimeId}function Q2e(e){let t=YQ();for(let n of t.records())n.runtimeId===e&&(n.status===`failed`||n.status===`outcome-unknown`)&&t.acknowledge(n.runtimeId,n.actorSessionId,n.transportRequestId)}var $2e=12e4,e4e=3e4,XQ=3e4;function ZQ(e){let t=e.expiresAt?Date.parse(e.expiresAt):NaN;if(!Number.isFinite(t))throw Error(`Cloud runtime authority descriptor has no valid expiry.`);return t}function t4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function n4e(e){let t=e.now??Date.now,n=e.renewalSkewMs??$2e,r=!1,i=null,a=null,o=ZQ(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=ZQ(a);o=c;let l=Math.max(t(),c-n);e.onState?.({kind:`scheduled`,expiresAt:new Date(c).toISOString(),renewAt:new Date(l).toISOString()}),i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},Math.max(0,l-t()))},l=()=>{if(r)return null;let e=t()+XQ;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},XQ),new Date(e).toISOString())},u=()=>{if(r)return Promise.resolve();if(a)return a;s(),e.onState?.({kind:`renewing`,expiresAt:new Date(o).toISOString()});let n=e.renew().then(async n=>{let i=ZQ(n);if(i<=t())throw Error(`Cloud runtime authority descriptor is already expired.`);r||(e.onState?.({kind:`ready`,expiresAt:new Date(i).toISOString(),renewedAt:new Date(t()).toISOString()}),c(n))}).catch(t=>{if(r)return;let n=t4e(t);throw e.onState?.({kind:`error`,code:n?`authority_auth_rejected`:`authority_renewal_failed`,retryAt:n?null:l()}),t}).finally(()=>{a=null});return a=n,n};return c(e.initialDescriptor),{ensureLive:()=>o>t()+e4e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var QQ=new Map;function $Q(e,t){return e.acquire(t?{signal:t}:{})}function r4e(e,t){QQ.set(e,t)}function i4e(e){return QQ.has(e)}function e$(e,t){let n=QQ.get(e);t&&n!==t||(n?.dispose(),QQ.delete(e))}async function a4e(e){let t=QQ.get(e);if(t)return(await t.acquire()).bearerToken;let n=aq(e);return n&&GX(n)?null:uq(e)}function o4e(e){switch(e){case`running`:return`green`;case`provisioning`:case`starting`:return`amber-pulse`;case`registered`:return`idle`;case`stopped`:case`suspended`:case`draining`:return`grey`;case`destroyed`:return`idle`;case`error`:return`red-pulse`;default:return`grey`}}function t$(e){let t=e.githubRepoFullName;return t?t.split(`/`)[1]??t:s4e(e.projectName)}function s4e(e){let t=e.trim().toLowerCase().replaceAll(`'`,``).replaceAll(`"`,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`project`}function n$(e){if(!e)return null;let t=e.trim().replace(/\/+$/,``);return t.length>0?t:null}function r$(e){let t=n$(e??void 0);return t&&i$(t).length>1?t:null}function i$(e){return e.split(`/`).flatMap(e=>e.split(`\\`)).filter(e=>e.length>0)}function a$(e){return e?i$(e).at(-1)??null:null}function c4e(e){let t=e.rows.length>0;return(e.isLoading||e.startupPhase===`auth-refreshing`)&&!t?{kind:`loading`}:e.error&&!t?{kind:`error-no-rows`,message:e.error}:e.error&&t?{kind:`stale-rows`,message:e.error}:t?{kind:`rows`}:{kind:`empty`}}function l4e(e,t){if(!t)return!1;let n=e.repositoryIdentity?.canonicalKey;return n!==void 0&&!n.toLowerCase().endsWith(`/${t.toLowerCase()}`)}function u4e(e,t){return e?e.cmmdOrganizationId===t.cmmdOrganizationId&&e.cmmdProjectId===t.cmmdProjectId:!1}function d4e(e,t){let n=e.filter(e=>!e.cmmdRegistration),r=r$(t.workspaceRoot),i=r?n.filter(e=>n$(e.cwd)===r):[];if(i.length>0)return i;let a=t$(t).toLowerCase();return n.filter(e=>a$(e.cwd)?.toLowerCase()===a)}function o$(e,t,n){let r=e[t];if(!r)return null;let i=r.projectIds.flatMap(e=>{let t=r.projectById[e];return!t||l4e(t,n.githubRepoFullName)?[]:[t]}),a=i.filter(e=>u4e(e.cmmdRegistration,n)),o=a.length>0?a:d4e(i,n),s=o.length===1?o[0]:void 0;return s?{environmentId:t,projectId:s.id}:null}function f4e(e){return{cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,githubRepoFullName:e.githubRepoFullName,projectName:e.projectName,workspaceRoot:e.workspaceRoot}}function p4e(e,t){let n=e.cmmdEnvironmentId??e.environmentId;if(e.runtimeId===null||n===null)return null;let r=o$(t,an.make(n),f4e(e));return r?Io(r.environmentId,r.projectId):null}function m4e(e,t){return e===t?!0:e===null||t===null?!1:e.environmentId===t.environmentId&&e.projectId===t.projectId}function h4e(e,t){let n=!1,r=e.map(e=>{let r=p4e(e,t);return m4e(r,e.resolvedRef)?e:(n=!0,{...e,resolvedRef:r})});return n?r:e}var s$=`registered`,g4e={destroyed:`destroyed`,superseded:`destroyed`,error:`error`,failed:`error`,draining:`draining`,recycling:`draining`,stopped:`stopped`,suspended:`suspended`,provisioning:`provisioning`,created:`provisioning`,starting:`starting`,restarting:`starting`};function c$(e,t){let n=g4e[e];if(n!==void 0)return n;if(e!==`running`)return`stopped`;if(t)switch(t){case`app_ready`:case`server_ready`:case`ready`:case`supervisor_up`:return`running`;case`starting`:case`image_pulling`:case`waiting_state`:return`starting`;case`error`:return`error`;default:return`running`}return`running`}function _4e(e){return e===`destroyed`}function v4e(e){switch(e){case`running`:case`starting`:case`provisioning`:return!0;case`suspended`:return!0;case`registered`:case`stopped`:case`draining`:case`error`:case`destroyed`:return!1;default:return!1}}function y4e(e){let t=e.shortName?.trim();if(t)return t;if(e.projectName)return e.projectName;if(e.githubRepoFullName){let t=e.githubRepoFullName.split(`/`),n=t[t.length-1];if(n)return n}return`project ${e.cmmdProjectId}`}var l$={state:`unknown`,label:`Unknown`,detail:`Current Environment availability has not been observed.`,tone:`muted`,automaticWakeAllowed:!1,shellConnected:!1,shellMayEstablishReady:!1};function u$(e,t,n,r,i,a,o=!1){return{state:e,label:t,detail:n,tone:r,automaticWakeAllowed:i,shellConnected:a,shellMayEstablishReady:o}}function b4e(e,t){return e.ownerIntent===`paused`?u$(`paused`,`Paused`,`Resume before live work can wake this Environment.`,`warning`,!1,t):e.ownerIntent===`deleting`?u$(`deleting`,`Deleting`,`This Environment is being removed.`,`muted`,!1,t):null}function x4e(e,t){return e.executionAdmission.state===`allowed`?null:u$(`unavailable`,`Unavailable`,`This Environment is not accepting live work while it drains.`,`warning`,!1,t)}function d$(e,t=!1){if(e==null)return l$;let n=b4e(e,t);if(n!==null)return n;if(e.ownerIntent!==`active`)return l$;let r=x4e(e,t);if(r!==null)return r;let{provider:i,guestReadiness:a,activeWork:o}=e;return i.observedAt===null||i.failure!==null||i.state===`absent`||i.state===`unknown`?u$(`unknown`,`Unknown`,`Current provider availability has not been observed.`,`muted`,e.automaticWakeAllowed,t):i.state===`sleeping`?u$(`sleeping`,`Sleeping`,`Live work wakes this Environment automatically.`,`muted`,e.automaticWakeAllowed,t):a.observedAt===null||a.failure!==null||a.state===`unknown`?u$(`unknown`,`Unknown`,`Current guest readiness has not been observed.`,`muted`,e.automaticWakeAllowed,t):a.state===`starting`?u$(`starting`,`Starting`,`Preparing live execution.`,`warning`,e.automaticWakeAllowed,t):a.state===`degraded`?u$(`degraded`,`Degraded`,`A required service needs attention.`,`warning`,e.automaticWakeAllowed,t):a.state===`failed`?u$(`needs-attention`,`Needs attention`,`The readiness check failed.`,`destructive`,e.automaticWakeAllowed,t):t?u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0):o.state===`active`?u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,t):u$(`unknown`,`Unknown`,`No current execution proof is available.`,`muted`,e.automaticWakeAllowed,t,!0)}function S4e(e,t){return!t||!e.shellMayEstablishReady?e:u$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0)}function f$(e){return e?c$(e.status,e.readinessPhase??void 0):s$}function C4e(e){return e.runtime?.githubRepoFullName??e.githubRepoFullName??null}function w4e(e,t){return{cmmdOrganizationId:e.organizationId,cmmdProjectId:e.projectId,projectName:y4e({shortName:e.shortName??null,projectName:e.projectName??null,githubRepoFullName:t,cmmdProjectId:e.projectId}),githubRepoFullName:t,iconUrl:e.iconUrl??null,icon:e.icon??null}}function T4e(e){return e?{runtimeId:e.runtimeId,workspaceRoot:e.workspaceRoot??null,status:f$(e),desiredState:p$(e.desiredState),environmentId:Ol(e.runtimeId),cmmdEnvironmentId:e.environmentId??null,...e.maintenance===void 0?{}:{maintenance:e.maintenance}}:{runtimeId:null,workspaceRoot:null,status:s$,desiredState:null,environmentId:null,cmmdEnvironmentId:null}}function p$(e){return e===`running`||e===`stopped`||e===`destroyed`?e:null}function E4e(e){return{...w4e(e,C4e(e)),registeredAt:e.registeredAt??null,...T4e(e.runtime),removal:e.removal??null,resolvedRef:null}}function D4e(e){return e.map(E4e)}function O4e(e){return e.map(e=>({runtimeId:e.runtime.runtimeId,cmmdOrganizationId:e.organizationId,cmmdUserId:e.userId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,environmentId:Ol(e.runtime.runtimeId),cmmdEnvironmentId:e.runtime.environmentId??null,status:f$(e.runtime),desiredState:p$(e.runtime.desiredState),...e.runtime.maintenance===void 0?{}:{maintenance:e.runtime.maintenance},lifecycle:d$(e.lifecycle)}))}var m$=`forge:cmmd-cloud-project-catalog:v5`,k4e=nr({runtimeId:Kn(j),cmmdOrganizationId:Ln,cmmdProjectId:Ln,cmmdEnvironmentId:Kn(j),registeredAt:yn(Kn(j)),projectName:j,githubRepoFullName:Kn(j),workspaceRoot:Kn(j),iconUrl:yn(Kn(j)),icon:yn(Kn(j)),status:j,desiredState:yn(Kn(j)),environmentId:Kn(j),removal:yn(Kn(nr({operationId:j,deletePlanningProject:Xn,status:Fn([`pending`,`running`,`retryable`]),phase:Fn([`destroy_runtime`,`purge_execution_state`,`delete_planning_project`,`unregister`,`complete`]),lastErrorCode:Kn(j),lastErrorMessage:Kn(j),updatedAt:j})))}),h$=nr({rows:Jn(k4e),environments:Jn(nr({runtimeId:j,cmmdOrganizationId:Ln,cmmdUserId:Ln,displayName:yn(Kn(j)),userFirstName:yn(Kn(j)),environmentId:j,cmmdEnvironmentId:Kn(j),status:j,desiredState:Kn(j)})),fetchedAt:j});function A4e(){try{let e=bl(m$,h$);return e?{rows:e.rows.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,registeredAt:e.registeredAt??null,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl??null,icon:e.icon??null,status:e.runtimeId===null?s$:c$(e.status),desiredState:p$(e.desiredState),environmentId:e.runtimeId===null?null:Ol(e.runtimeId),cmmdEnvironmentId:e.cmmdEnvironmentId,resolvedRef:null,removal:e.removal??null})),environments:e.environments.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdUserId:e.cmmdUserId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,cmmdEnvironmentId:e.cmmdEnvironmentId,status:c$(e.status),desiredState:p$(e.desiredState),environmentId:Ol(e.runtimeId)})),fetchedAt:e.fetchedAt}:null}catch{return null}}function j4e(e,t,n){try{xl(m$,{rows:e.map(e=>({runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,environmentId:e.environmentId,removal:e.removal})),environments:t,fetchedAt:n},h$)}catch{}}var g$=1e3;function M4e(e){return e.reconnectPhase===`idle`?`hidden`:e.reconnectPhase===`exhausted`?`actionable`:!e.hasConnected||!e.stableConnectionSeen?`startup-pending`:`actionable`}function _$(e){let t=e.maxAttempts??2,n=e.retryDelayMs??1e3;return e.failedAttempt<t?{kind:`retry`,delayMs:n,nextAttempt:e.failedAttempt+1}:{kind:`terminal`,attempt:e.failedAttempt}}var N4e=`auth-required`,P4e=`cloud-projects`;async function F4e(e,t,n){let r=null,i=new JK(e).listCloudProjects({signal:t.signal}).then(e=>({kind:`catalog`,catalog:e})).catch(e=>({kind:`failed`,error:e})),a=new Promise(e=>{r=setTimeout(()=>{t.abort(),e({kind:`timed-out`})},n)});try{return await Promise.race([i,a])}finally{r!==null&&clearTimeout(r)}}function I4e(e){let t=e.accessToken??e.resolveAccessToken?.(),n={Accept:`text/event-stream`};return t&&(n.Authorization=`Bearer ${t}`),n}function L4e(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function R4e(e){return(e.status===401||e.status===403)&&(await H4e(e)||e.status===401)?`auth-required`:e.status===404||e.status===405||!e.ok||!e.body?`fallback`:e.body.getReader()}async function z4e({reader:e,signal:t,onAuthRequired:n,onCatalog:r}){let i=new TextDecoder,a=``;try{for(;!t.aborted;){let{done:o,value:s}=await e.read();if(t.aborted||o)return;let c=B4e(a,i.decode(s,{stream:!0}));if(a=c.buffer,c.messages.some(e=>V4e(e,n,r)))return}}finally{e.releaseLock()}}function B4e(e,t){let n=`${e}${t}`.split(/\n\n/);return{buffer:n.pop()??``,messages:n}}function V4e(e,t,n){let r=W4e(e);if(r.name===N4e)return t(),!0;let i=r.name===P4e?U4e(r.data):null;return i&&n(i),!1}async function H4e(e){try{let t=await e.clone().json();return typeof t?.code==`string`&&t.code===`CMMD_AUTH_REQUIRED`}catch{return!1}}function U4e(e){try{return HK(JSON.parse(e))}catch{return null}}function W4e(e){let t=``,n=``;for(let r of e.split(`
1020
+ `))r.startsWith(`event: `)&&(t=r.slice(7).trim()),r.startsWith(`data: `)&&(n=r.slice(6).trim());return{name:t,data:n}}var G4e=`/api/cmmd/forge-cloud-projects`,K4e=`/api/cmmd/forge-cloud-projects/events`,q4e=15e3,J4e=3e4,Y4e=2e3,X4e=3e4,Z4e=200;function Q4e({config:e,onEvent:t}){let n=!1,r=!1,i=!1,a=!1,o=!1,s=0,c=null,l=0,u=null,d=null,f=0,p=null,m=null,h=null,g=null;function _(e){return e!==null&&clearTimeout(e),null}function v(){p=_(p),g=_(g)}function y(){f+=1,d?.controller.abort(),d=null}function b(e,t){return d?.controller===e&&d.generation===t&&f===t}function x(e){return u===e}function S(){y(),u?.abort(),u=null,v(),h=_(h)}function C(){return!r&&!a}function w(e){t({kind:`catalog`,catalog:e,fetchedAt:new Date().toISOString()})}function T(e){a||r||(a=!0,c=null,S(),t({kind:`auth-required`,message:e}))}function E(e,n){if(r||a)return;s+=1,c=n;let i=_$({failedAttempt:s,retryDelayMs:g$});if(i.kind===`terminal`){T(e);return}u?.abort(),u=null,g=_(g),t({kind:`auth-refreshing`}),o=!0,h=_(h),h=setTimeout(()=>{h=null,o=!1,pe()},i.delayMs)}async function D(){if(!C())return!1;let n=new AbortController,r=++f;d={controller:n,generation:r},t({kind:`loading`});try{return ee(await F4e(e,n,q4e),n,r)}finally{b(n,r)&&(d=null)}}function ee(e,t,n){return!C()||!b(t,n)?!1:e.kind===`catalog`?te(e.catalog):e.kind===`timed-out`?ne():O(e.error)}function te(e){return c!==`sse`&&(s=0,c=null),o=!1,w(e),!0}function ne(){return t({kind:`failed`,message:`Cloud connection refresh timed out. Showing last known connections.`}),!a}function O(e){let n=e instanceof Error?e.message:`Failed to load cloud projects`;return dK(e)||$4e(e)||/authentication required/i.test(n)?E(n,`list`):t({kind:`failed`,message:n}),!a}function k(){C()&&(p=_(p),p=setTimeout(async()=>{await D(),C()&&k()},J4e))}function re(){!C()||o||(i?k():ae(l))}function A(e){l=e+1;let t=Math.min(Y4e*2**e,X4e);g=_(g),g=setTimeout(()=>{g=null,ae(l)},t)}function ie(e){s=0,c=null,l=0,w(e)}async function ae(t){if(!C()||u!==null)return;u=new AbortController;let n=u,r=e.eventsUrl??L4e(e.cmmdHttpBaseUrl,`/api/forge/context/runtimes/events`),i=e.eventsUrl?{Accept:`text/event-stream`}:I4e(e);try{await oe(await fetch(r,{headers:i,signal:n.signal,credentials:`include`}),n,t)}catch{de(n)}}async function oe(e,t,n){if(!se(t))return;let r=await R4e(e);if(se(t)){if(typeof r==`string`){ue(r);return}await z4e({reader:r,signal:t.signal,onAuthRequired:()=>ce(t),onCatalog:e=>le(t,e)}),fe(t,n)}}function se(e){return C()&&x(e)}function ce(e){se(e)&&E(`CMMD authentication required. Sign in again to continue.`,`sse`)}function le(e,t){se(e)&&ie(t)}function ue(e){if(u=null,e===`auth-required`){E(`CMMD authentication required. Sign in again to continue.`,`sse`);return}i=!0,k()}function de(e){e.signal.aborted||!se(e)||(u=null,i=!0,k())}function fe(e,t){e.signal.aborted||!se(e)||(u=null,A(t))}function pe(){return D().then(e=>{e&&C()&&re()})}return{initialize(){n||r||(n=!0,pe())},refresh(){r||(y(),m=_(m),m=setTimeout(()=>{m=null,a=!1,o=!1,s=0,c=null,S(),pe()},Z4e))},teardown(){r=!0,m=_(m),S()}}}function $4e(e){return typeof e==`object`&&!!e&&`kind`in e&&e.kind===`auth`}var v$={connected:!1,isLoading:!1,error:null,rows:[],environments:[],fetchedAt:null,stale:!1,startupPhase:`idle`,capacity:null};function e3e({config:e}){let t=A4e(),n=t?{...v$,isLoading:!0,rows:t.rows,environments:t.environments,fetchedAt:t.fetchedAt,stale:!0}:v$,r=new Set;function i(e){n=e;for(let e of r)e()}function a(e){switch(e.kind){case`loading`:i({...n,isLoading:!0,error:null});return;case`catalog`:{let t=D4e(e.catalog.listRowsForDisplay()),n=O4e(e.catalog.listEnvironmentsForDisplay());j4e(t,n,e.fetchedAt),i({connected:!0,isLoading:!1,error:null,rows:t,environments:n,fetchedAt:e.fetchedAt,stale:!1,startupPhase:`idle`,capacity:e.catalog.capacity});return}case`failed`:i({...n,connected:!1,isLoading:!1,error:e.message,stale:n.rows.length>0,startupPhase:`idle`});return;case`auth-refreshing`:i({...n,connected:!1,isLoading:!0,error:null,stale:n.rows.length>0,startupPhase:`auth-refreshing`});return;case`auth-required`:i({...n,connected:!1,isLoading:!1,error:e.message,stale:n.rows.length>0,startupPhase:`idle`}),dr(`cmmd-runtimes`);return}}let o=Q4e({config:e,onEvent:a});return{subscribe(e){return r.add(e),()=>r.delete(e)},read(){return n},initialize(){o.initialize()},refresh(){o.refresh()},_teardown(){o.teardown()},_setState(e){i(e)}}}var y$=null;function b$(e){return typeof window<`u`&&window.location?.href?new URL(e,window.location.href).toString():new URL(e,`http://localhost`).toString()}function x$(){return{cmmdHttpBaseUrl:`https://cmmd.ai`,resolveAccessToken:()=>null,listUrl:G4e,eventsUrl:K4e,destroyUrl:e=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/destroy`),lifecycleUrl:(e,t)=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/${t}`),updateCommitUrl:e=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit`),updateCommitOperationUrl:(e,t)=>b$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit/${encodeURIComponent(String(t))}`),ensureUrl:b$(`/api/cmmd/forge-runtimes/ensure`)}}function S$(){return y$===null&&(y$=e3e({config:x$()})),y$}function t3e(){S$().refresh()}function n3e(e){return S$().subscribe(e)}function C$(){return S$().read()}function r3e(e){let t=(0,ll.c)(9),n=e?.enabled??!0,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{n&&S$().initialize()},i=[n],t[0]=n,t[1]=r,t[2]=i),(0,F.useEffect)(r,i);let a=(0,F.useSyncExternalStore)(n3e,C$,C$),o=yJ(i3e),s,c;t[3]!==o||t[4]!==a.rows?(c=h4e(a.rows,o),t[3]=o,t[4]=a.rows,t[5]=c):c=t[5],s=c;let l=s,u;return t[6]!==l||t[7]!==a?(u=l===a.rows?a:{...a,rows:l},t[6]=l,t[7]=a,t[8]=u):u=t[8],u}function i3e(e){return e.environmentStateById}var a3e=`forge:cloud-runtime-handoffs:v2`,o3e=3e5,w$=new Map,s3e={clear:()=>w$.clear(),getItem:e=>w$.get(e)??null,key:e=>Array.from(w$.keys())[e]??null,get length(){return w$.size},removeItem:e=>w$.delete(e),setItem:(e,t)=>w$.set(e,t)};function c3e(){return typeof window<`u`?window.localStorage:globalThis.localStorage??s3e}var T$=qt()(LJ(e=>({byRuntimeId:{},record:t=>e(e=>({byRuntimeId:{...e.byRuntimeId,[t.runtimeId]:t}})),clearRuntime:t=>e(e=>t in e.byRuntimeId?{byRuntimeId:Object.fromEntries(Object.entries(e.byRuntimeId).filter(([e])=>e!==t))}:e),reconcileCatalog:(t,n=Date.now())=>e(e=>{let r=Object.entries(e.byRuntimeId).filter(([,e])=>{if(n-e.recordedAt>o3e)return!1;let r=t.find(t=>t.cmmdOrganizationId===e.cmmdOrganizationId&&t.cmmdProjectId===e.cmmdProjectId);return r?.runtimeId===e.previousCatalogRuntimeId&&r.registeredAt===e.catalogRegisteredAt});return r.length===Object.keys(e.byRuntimeId).length?e:{byRuntimeId:Object.fromEntries(r)}}),reset:()=>e({byRuntimeId:{}})}),{name:a3e,storage:FJ(c3e),partialize:e=>({byRuntimeId:e.byRuntimeId}),version:2}));function l3e(e){T$.getState().record({...e,recordedAt:Date.now()})}function u3e(e){T$.getState().clearRuntime(e)}var d3e=new Set([`filesystem`,`terminal`,`git`,`project-write`]);function f3e(e){return e===`desktop-local`}function p3e(e){return e===`cloud`||e===`cloud-vm`||e===`cmmd`||e===`github`}function E$(e){return e.actionKind===`cloud-api`?{available:!0,route:`cloud`,requiresPermissionGate:!1,title:`Cloud API route`,description:`Cloud and Command work routes through authenticated Forge Cloud APIs.`}:d3e.has(e.actionKind)?p3e(e.workSource)?e.workSource===`cloud-vm`&&e.executionRuntime===`cloud`?{available:!0,route:`cloud-vm`,requiresPermissionGate:!1,title:`Cloud VM route`,description:`Filesystem, terminal, git, and project writes run inside the user's Forge Cloud VM.`}:e.executionRuntime===`cloud`?{available:!0,route:`cloud`,requiresPermissionGate:!1,title:`Cloud work route`,description:`Cloud-scoped filesystem, terminal, git, and project writes run in the Forge Cloud runtime.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Open in Forge Cloud`,description:`Cloud projects must execute inside the Forge Cloud runtime. Local Desktop cannot run cloud project filesystem, terminal, git, or project-write actions.`}:f3e(e.workSource)?e.surface===`desktop-local`||e.executionRuntime===`desktop-local`?{available:!0,route:`desktop-local`,requiresPermissionGate:!1,title:`Desktop local route`,description:`Local filesystem, terminal, git, and project writes run through the Desktop local backend.`}:e.executionRuntime===`dev-local-web`?{available:!0,route:`dev-local-web`,requiresPermissionGate:!1,title:`Dev local route`,description:`Local Web is a development-only projection and routes local actions through the dev server.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Switch to Desktop Local`,description:`Local projects must execute in the Desktop Local runtime. Forge Cloud cannot run local filesystem, terminal, git, or project-write actions.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Unknown work source`,description:`Forge cannot safely route local actions for this work source yet.`}:{available:!1,route:`blocked`,requiresPermissionGate:!1,title:`Unsupported route`,description:`Forge does not have a runtime route for this action yet.`}}var m3e=`Ready to use. Your cloud project starts when you open the first thread.`;function h3e(e){let t=E$({actionKind:`project-write`,surface:`cloud-official`,workSource:`cloud-vm`,executionRuntime:`cloud`});return{actionAuthority:`runtime`,surface:`cloud-official`,hostKind:`user-cloud-vm`,workSource:`cloud-vm`,executionRuntime:`cloud`,modelRuntime:`cloud`,linkState:`cloud-only`,workspaceIdentity:null,hideLocalPath:!0,label:`Cloud project`,description:e?`This project runs in your Forge Cloud VM.`:m3e,actionRouteLabel:t.title,actionRouteDescription:t.description,actionRouteAvailable:t.available,requiresPermissionGate:t.requiresPermissionGate}}function g3e(e){return El(e).isCloud}var _3e=3e5;function D$(e,t,n=Date.now()){let r=new Map,i=new Map;for(let t of e){let e={cmmdOrganizationId:t.cmmdOrganizationId,cmmdProjectId:t.cmmdProjectId};r.set(k$(e),e),t.runtimeId!==null&&i.set(t.runtimeId,e)}for(let a of t){if(n-a.recordedAt>_3e)continue;let t=r.get(k$({cmmdOrganizationId:a.cmmdOrganizationId,cmmdProjectId:a.cmmdProjectId})),o=e.find(e=>e.cmmdOrganizationId===a.cmmdOrganizationId&&e.cmmdProjectId===a.cmmdProjectId);t&&o?.runtimeId===a.previousCatalogRuntimeId&&o.registeredAt===a.catalogRegisteredAt&&!i.has(a.runtimeId)&&i.set(a.runtimeId,t)}return i}function O$(e){return e.environmentId??`cmmd-cloud-project:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function v3e(e){return{environmentId:O$(e),workspaceRoot:e.workspaceRoot,resolvedRef:e.resolvedRef}}function k$(e){return`cloud:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function y3e(e){let t=/^cloud:(\d+):(\d+)$/.exec(e??``);return t?{cmmdOrganizationId:Number(t[1]),cmmdProjectId:Number(t[2])}:null}function b3e(e){return`cloud-runtime:${e}`}var x3e=`cloud-unconnected:`;function S3e(e,t,n=[]){let r=k$(e);return A$({id:tn.make(`${x3e}${r}`),environmentId:an.make(O$(e)),name:e.projectName,cwd:``,repositoryIdentity:null,availability:void 0,defaultModelSelection:null,createdAt:void 0,updatedAt:void 0,scripts:[],projectKey:r,environmentPresence:`remote-only`,source:h3e(e.runtimeId!==null),memberProjectRefs:t?[t]:[],remoteEnvironmentLabels:[],worktreeMembers:[],activeWorktreeKey:null,preConnectCloud:{runtimeId:e.runtimeId,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,removal:e.removal},cloudRemoval:e.removal},n)}function A$(e,t){if(t.length===0)return e;let n=[...e.memberProjectRefs],r=new Set(n.map(e=>`${e.environmentId}:${e.projectId}`));for(let e of t){let t=`${e.environmentId}:${e.projectId}`;r.has(t)||(r.add(t),n.push(e))}return n.length===e.memberProjectRefs.length?e:{...e,memberProjectRefs:n}}function j$(e,t,n,r){if(!e)return null;let i=t.find(t=>t.cmmdEnvironmentId===String(e));if(i)return{row:i,runtimeId:i.runtimeId,matchedByHandoff:!1};let a=Al(e);if(a){let e=t.find(e=>e.runtimeId===a);if(e)return{row:e,runtimeId:a,matchedByHandoff:!1};let i=D$(t,n,r).get(a);if(!i)return null;let o=t.find(e=>e.cmmdOrganizationId===i.cmmdOrganizationId&&e.cmmdProjectId===i.cmmdProjectId);return o?{row:o,runtimeId:a,matchedByHandoff:!0}:null}let o=t.find(t=>t.runtimeId===null&&O$(t)===String(e));return o?{row:o,runtimeId:null,matchedByHandoff:!1}:null}function C3e(e,t=e.runtimeId){return{runtimeId:t,cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,cmmdEnvironmentId:e.cmmdEnvironmentId,registeredAt:e.registeredAt,projectName:e.projectName,githubRepoFullName:e.githubRepoFullName,workspaceRoot:e.workspaceRoot,iconUrl:e.iconUrl,icon:e.icon,status:e.status,desiredState:e.desiredState}}function w3e(e){return e.desiredState===`stopped`}var T3e=15e3;function E3e(e){return e===401||e===403}function D3e(e){return typeof e!=`object`||!e?!1:e.retryable===!0}function M$(e){return E3e(e.status)||e.attempt>=e.maxAttempts||e.status>=200&&e.status<300?!1:e.status>=500||e.status===409&&D3e(e.body)}function O3e(e,t){let n=e?.trim();if(!n)return null;if(/^-?\d+$/.test(n))return Number(n)*1e3;let r=Date.parse(n);return Number.isNaN(r)?null:r-t}function N$(e){let t=e=>Math.min(T3e,Math.max(0,e)),n=O3e(e.retryAfter,e.nowMs??Date.now());return t(n===null?300*2**Math.max(0,e.attempt-1):n)}var k3e=6e4;function A3e(e,t){if(!e||typeof e!=`object`)return t;let n=e.error;return typeof n==`string`&&n.trim().length>0?n:t}var P$=`CMMD returned an invalid Cloud runtime connection descriptor.`;function F$(e,t){let n=e[t];if(typeof n!=`string`||n.length===0)throw Error(P$);return n}function j3e(e){if(!e||typeof e!=`object`)throw Error(P$);let t=e;return{httpBaseUrl:F$(t,`httpBaseUrl`),wsBaseUrl:F$(t,`wsBaseUrl`),bearerToken:F$(t,`bearerToken`),expiresAt:F$(t,`expiresAt`)}}async function M3e(e){let t=or(`/api/cmmd/forge-runtimes/${encodeURIComponent(e.runtimeId)}/connect`),n=ur({method:`POST`,...e.signal?{signal:e.signal}:{},headers:{"Content-Type":`application/json`},body:JSON.stringify(e.organizationId===void 0?{}:{organizationId:e.organizationId})});for(let r=1;r<=8;r+=1){let i=await fetch(t,n),a=await i.json().catch(()=>null);if(i.ok)return j3e(a);if(!M$({status:i.status,body:a,attempt:r,maxAttempts:8})){let e=IQ(i.status,a)?`CMMD authentication expired while renewing the Cloud runtime connection. Sign in again.`:`CMMD could not renew the Cloud runtime connection (${i.status}).`;throw Object.assign(Error(A3e(a,e)),{status:i.status,...FQ(a)?{code:FQ(a)}:{}})}await UX(N$({attempt:r,retryAfter:i.headers.get(`retry-after`)}),e.signal)}throw Error(`Cloud runtime connection retry budget was exhausted.`)}function N3e(e,t){if(!e?.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n<=t+k3e}function I$(e){let t=e.requestDescriptor??M3e,n=e.now??Date.now,r=e.initialDescriptor??null,i=null,a=!1,o=new AbortController,s=e=>HX(e,o.signal),c=()=>i||(i=s(t({runtimeId:e.runtimeId,...e.organizationId===void 0?{}:{organizationId:e.organizationId},signal:o.signal})).then(async t=>(await s(Promise.resolve(e.validateDescriptor?.(t))),await s(Promise.resolve(e.persistDescriptor?.(t))),await s(Promise.resolve()),r=t,a=!1,t)).then(e=>(i=null,e),e=>{throw i=null,e}),i);return{acquire:e=>{if(o.signal.aborted)return s(Promise.resolve(r));let t=e?.forceRefresh||a||N3e(r,n())?c():Promise.resolve(r);return HX(s(t),e?.signal)},invalidate:()=>{a=!0},dispose:()=>{o.abort()}}}function P3e(e){let t=e.runtimeId?.trim();if(t)return t;let n=Al(e.environmentId);if(n)return n;let r=C$().rows,i=Object.values(T$.getState().byRuntimeId);return j$(e.environmentId,r,i)?.runtimeId??null}function F3e(e,t,n,r){let i=e,a=I$({runtimeId:t,...e.cmmdOrganizationId===void 0?{}:{organizationId:e.cmmdOrganizationId},...n===void 0?{}:{initialDescriptor:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:n,expiresAt:e.runtimeTicketExpiresAt??null}},validateDescriptor:async e=>{await IX({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})},persistDescriptor:async e=>{if(r&&!r())throw Error(`Saved environment changed while its connection was being acquired.`);let t={...WX(i),httpBaseUrl:e.httpBaseUrl,wsBaseUrl:un(e.wsBaseUrl),...e.expiresAt===null?{}:{runtimeTicketExpiresAt:e.expiresAt},lastConnectedAt:new Date().toISOString()};await lq(t),await dq(t.environmentId),tq.getState().upsert(t),i=t}});return r4e(e.environmentId,a),a}function I3e(e){let t={wsBaseUrl:e.record.wsBaseUrl,httpBaseUrl:e.record.httpBaseUrl,bearerToken:e.bearerToken,expiresAt:e.record.runtimeTicketExpiresAt??null};return{acquire:()=>Promise.resolve(t)}}function L$(e){let t=e.toLowerCase();return t.includes(`authentication`)||t.includes(`unauthorized`)||t.includes(`forbidden`)||t.includes(`credential`)||t.includes(`runtime ticket`)||t.includes(`status 401`)||t.includes(`status 403`)}var R$=new Map,z$=new Map,B$=new Map,V$=new Map,H$=new Map,U$=new Set,W$=new Map,G$=null,K$=!1;function q$(e){return V$.get(e)??0}function J$(e){V$.set(e,q$(e)+1)}function Y$(e,t){return e.environmentId===t.environmentId&&e.httpBaseUrl===t.httpBaseUrl&&e.wsBaseUrl===t.wsBaseUrl&&e.runtimeId===t.runtimeId&&e.cmmdOrganizationId===t.cmmdOrganizationId}function X$(e){if(q$(e.record.environmentId)!==e.generation)return!1;let t=aq(e.record.environmentId);return e.registryExpectation.kind===`initial-add`?t===null||Y$(t,e.record):t!==null&&Y$(t,e.registryExpectation.record)}var L3e=9e5,Z$=32,Q$=()=>void 0;function $$(e,t){return Vo(Lo(e,t))}function e1(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function R3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=vJ(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=_J(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 t1(e){return e.refCount===0&&!R3e(e)}function n1(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==Q$)return!0;let t=j1(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{e.lastEventAt=Date.now(),e.recoveryAttempts=0,t.kind===`event`?c6e(t.event,e.environmentId):t.kind===`snapshot`&&(yJ.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId),yJ.getState().clearThreadSubscriptionError(e.environmentId,e.threadId))},{onError:t=>aXe(e.environmentId,e.threadId,t)}),!0):!1}function r1(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=A1(()=>{n1(e)&&(e.lastAccessedAt=Date.now())}),n1(e))}function i1(e){let t=W$.get(e);return t?(e1(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,W$.delete(e),t.unsubscribe(),t.unsubscribe=Q$,W3e(),!0):!1}var a1=null;function z3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=vJ(n,t);if(r?.latestTurn?.state===`running`||r?.session?.orchestrationStatus===`running`)return!0;let i=_J(n,t);return i?.latestTurn?.state===`running`||i?.session?.orchestrationStatus===`running`}function B3e(e){e.unsubscribe!==Q$&&(e.unsubscribe(),e.unsubscribe=Q$),n1(e)||r1(e)}function V3e(e,t,n){if(e.recoveryAttempts+=1,e.lastEventAt=Date.now(),console.warn(`[forge] thread-detail liveness watchdog recovering`,{action:t,threadId:String(e.threadId),environmentId:String(e.environmentId),msSinceLastEvent:Math.round(n),recoveryAttempts:e.recoveryAttempts}),t===`resubscribe`){B3e(e);return}j1(e.environmentId)?.reconnect().catch(t=>{AG(t,{route:`thread-detail-liveness-watchdog-reconnect-failed`,threadId:String(e.threadId),environmentId:String(e.environmentId),msSinceLastEvent:String(Math.round(n)),recoveryAttempts:String(e.recoveryAttempts)})})}function H3e(){let e=Date.now();for(let t of W$.values()){let n=O$e({isWorking:z3e(t),msSinceLastEvent:e-t.lastEventAt,stallThresholdMs:k$e,recoveryAttempts:t.recoveryAttempts,maxResubscribeAttempts:2,maxTotalAttempts:4});n!==`none`&&V3e(t,n,e-t.lastEventAt)}}function U3e(){a1===null&&(a1=setInterval(H3e,A$e))}function W3e(){W$.size>0||a1!==null&&(clearInterval(a1),a1=null)}function G3e(e){for(let[t,n]of W$)n.environmentId===e&&i1(t)}function K3e(e){let t=Lo(e.environmentId,e.threadId),n=yJ.getState(),r=_J(n,t);if(!r)return null;let i=vJ(n,t),a=i?.latestUserMessageAt??null;if(a===null)for(let e=r.messages.length-1;e>=0;--e){let t=r.messages[e];if(t?.role===`user`){a=t.createdAt;break}}return{id:r.id,projectId:r.projectId,title:r.title,modelSelection:r.modelSelection,runtimeMode:r.runtimeMode,interactionMode:r.interactionMode,branch:r.branch,worktreePath:r.worktreePath,latestTurn:r.latestTurn,createdAt:r.createdAt,updatedAt:r.updatedAt??r.createdAt,archivedAt:r.archivedAt,session:r.session?{threadId:r.id,updatedAt:r.session.updatedAt,providerName:r.session.provider,runtimeMode:r.runtimeMode,activeTurnId:r.session.activeTurnId??null,lastError:r.session.lastError??null,status:r.session.orchestrationStatus}:null,latestUserMessageAt:a,hasPendingApprovals:i?.hasPendingApprovals??!1,hasPendingUserInput:i?.hasPendingUserInput??!1,hasActionableProposedPlan:i?.hasActionableProposedPlan??!1,anchorKind:r.anchorKind,anchorCmmdId:r.anchorCmmdId,kind:r.kind,parentThreadId:r.parentThreadId,status:r.status,workerRole:r.workerRole,goal:r.goal,titleRegeneration:r.titleRegeneration??null}}function q3e(e,t){if(W$.size===0)return e;let n=new Set(e.threads.map(e=>e.id)),r=[];for(let e of W$.values()){if(e.environmentId!==t||e.refCount<=0||n.has(e.threadId))continue;let i=K3e(e);i&&(n.add(i.id),r.push(i))}return r.length===0?e:{...e,threads:[...e.threads,...r]}}function J3e(e,t){let n=new Set(t);for(let[t,r]of W$)r.environmentId===e&&!n.has(r.threadId)&&t1(r)&&i1(t)}function Y3e(e){e1(e),t1(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=W$.get($$(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,t1(t)&&i1($$(e.environmentId,e.threadId)))},L3e))}function o1(){if(W$.size<=Z$)return;let e=[...W$.entries()].filter(([,e])=>t1(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(W$.size<=Z$)return;i1(t)}}function s1(e){e1(e),t1(e)&&Y3e(e)}function X3e(e,t){let n=W$.get($$(e,t));n&&s1(n)}function c1(e){for(let t of W$.values())t.environmentId===e&&s1(t);o1()}function Z3e(e,t){let n=$$(e,t),r=W$.get(n);if(r){e1(r),r.refCount+=1,r.lastAccessedAt=Date.now(),n1(r)||r1(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(s1(r),o1()))}}let i={environmentId:e,threadId:t,unsubscribe:Q$,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null,lastEventAt:Date.now(),recoveryAttempts:0};W$.set(n,i),n1(i)||r1(i),U3e(),o1();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(s1(i),o1()))}}function l1(){for(let e of U$)e()}function Q3e(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function u1(){return new Date().toISOString()}var d1=8,f1=[1e3,2e3,4e3,8e3,12e3,16e3,2e4],$3e=9e4;function e6e(e){if(typeof e!=`object`||!e)return null;let t=e.status;return typeof t==`number`&&Number.isInteger(t)?t:null}function t6e(e){if(F2e(e))return!1;let t=e6e(e);if(t===502||t===503||t===504||e._tag===`OrchestrationGetSnapshotError`)return!0;let n=e instanceof Error?e.message:String(e),r=n.toLowerCase();return r.includes(`all fibers interrupted without error`)||r.includes(`timed out while waiting for forge cloud runtime metadata`)||r.includes(`timed out while waiting for`)||r.includes(`to stream its shell snapshot`)||r.includes(`forge runtime route not found`)||r.includes(`fly-replay`)||r.includes(`could not find a good candidate`)||r.includes(`instance refused connection`)||n.includes(`Unknown socket error`)||n.includes(`Failed to fetch remote auth endpoint`)||n.includes(`Forge runtime replay target is unavailable`)||n.includes(`Remote auth request failed (502)`)||n.includes(`Remote auth request failed (503)`)||n.includes(`Remote auth request failed (504)`)||n.includes(`Unable to connect to the Forge server WebSocket`)}function n6e(e){return f1[e]??f1[f1.length-1]}function r6e(){return $3e}function i6e(e,t){if(!GX(e))return t;let n=null,r=new Promise((t,r)=>{n=globalThis.setTimeout(()=>{r(Error(`Timed out while waiting for Forge Cloud runtime metadata for ${e.environmentId}. The VM may still be starting.`))},r6e())});return Promise.race([t,r]).finally(()=>{n!==null&&globalThis.clearTimeout(n)})}function p1(e){zX.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function m1(e){let t=u1();zX.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),tq.getState().markConnected(e,t)}function h1(e,t){zX.getState().patch(e,{descriptor:t.environment,serverConfig:t})}function g1(e,t){zX.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:u1(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:u1()}:{}})}function _1(e,t){zX.getState().patch(e,{connectionState:`error`,...Q3e(t)})}function a6e(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 v1(){let e=fJ(yJ.getState());eQ.getState().syncProjects(e.map(e=>({key:Bo(Io(e.environmentId,e.id)),cwd:e.cwd})))}function y1(){let e=pJ(yJ.getState());eQ.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),i$e(e.map(e=>Lo(e.environmentId,e.id)))}function o6e(){v1(),y1();let e=o$e({snapshotThreads:pJ(yJ.getState()).map(e=>({key:Vo(Lo(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:AX.getState().listDraftThreadKeys()});MZ.getState().removeOrphanedTerminalStates(e)}function b1(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function s6e(e,t){if(e.length===0)return;let n=s$e(e),r=a6e(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);if(n.needsProviderInvalidation&&(K$=!0,G$?.queryInvalidationThrottler.maybeExecute()),yJ.getState().applyOrchestrationEvents(r,t),i){let e=fJ(yJ.getState());eQ.getState().syncProjects(e.map(e=>({key:Bo(Io(e.environmentId,e.id)),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=pJ(yJ.getState());eQ.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=AX.getState();for(let e of n.promoteDraftThreadIds)jX(Lo(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Lo(t,e)),eQ.getState().clearThreadUi(Vo(Lo(t,e)));for(let e of n.removeTerminalStateThreadIds){let n=Lo(t,e);MZ.getState().removeTerminalState(n),zZ.getState().clearBrowserState(n)}c1(t)}function c6e(e,t){s6e([e],t)}function l6e(e,t){let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?Lo(t,n):null,i=r?_J(yJ.getState(),r):void 0;switch(yJ.getState().applyShellEvent(e,t),e.kind){case`project-upserted`:case`project-removed`:v1();return;case`thread-upserted`:y1(),!i&&r&&jX(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&(MZ.getState().removeTerminalState(r),zZ.getState().clearBrowserState(r)),X3e(t,e.thread.id),o1();return;case`thread-removed`:r&&(i1(Vo(r)),AX.getState().clearDraftThread(r),eQ.getState().clearThreadUi(Vo(r)),MZ.getState().removeTerminalState(r),zZ.getState().clearBrowserState(r)),y1();return}}function u6e(e,t){return e.invalidateQueries({queryKey:PX.all(t)})}function x1(e){return{onWelcome:(t,n)=>{e?.(t),G$&&u6e(G$.queryClient,n)},applyShellEvent:l6e,syncShellSnapshot:(e,t)=>{let n=q3e(e,t);yJ.getState().syncServerShellSnapshot(n,t),J3e(t,n.threads.map(e=>e.id)),c1(t),o6e()},applyTerminalEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=_J(yJ.getState(),n),i=AX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&MZ.getState().applyTerminalEvent(n,e)},applyBrowserEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=_J(yJ.getState(),n),i=AX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&zZ.getState().applyBrowserEvent(n,e)},onShellSubscriptionError:(e,t)=>{_1(t,e)}}}function S1(){if(typeof window>`u`)return;let e=pr();if(e?.primaryMode===`cloud`&&e.bearerToken)return{bearerToken:e.bearerToken,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}function d6e(){if(typeof window>`u`)return;let e=pr(),t=e?.primaryMode===`cloud`?e.desktopLocal??null:e??null;if(!(!t?.httpBaseUrl||!t.wsBaseUrl||!t.bearerToken))return{bearerToken:t.bearerToken,httpBaseUrl:t.httpBaseUrl,wsBaseUrl:t.wsBaseUrl,label:t.label}}function f6e(e){let t=Xie(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);return PQ(new EQ(async()=>{await lr().catch(()=>null);let e=S1();if(e)try{return await LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})}catch(e){throw dK(e)&&dr(`ws-token`),e}return rJe(t)}))}function p6e(e){return PQ(new EQ(()=>LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),{trackGlobalConnection:!1,onAttempt:()=>{p1(e.environmentId)},onOpen:()=>{m1(e.environmentId)},onError:t=>{zX.getState().patch(e.environmentId,{connectionState:`error`,lastError:t,lastErrorAt:u1()})},onClose:t=>{g1(e.environmentId,t.reason)}}))}function m6e(e,t,n,r){return n()&&zX.getState().ensure(e.environmentId),PQ(new EQ(async()=>{let e=await t.acquire(),n=e=>LX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,...r?{runtimeTicket:e.bearerToken}:{}});try{return await n(e)}catch(e){if(!r||!dK(e))throw e;return n(await t.acquire({forceRefresh:!0}))}},{trackGlobalConnection:!1,onAttempt:()=>{n()&&p1(e.environmentId)},onOpen:()=>{n()&&m1(e.environmentId)},onError:i=>{r&&L$(i)&&t.invalidate?.(),n()&&zX.getState().patch(e.environmentId,{connectionState:`error`,lastError:i,lastErrorAt:u1()})},onClose:i=>{r&&(i.code===1008||L$(i.reason))&&t.invalidate?.(),n()&&g1(e.environmentId,i.reason)}}))}async function C1(e,t,n,r,i,a,o){let s=await $Q(t,o),[c,l]=await Promise.all([a?Promise.resolve(a):n.server.getConfig(),IX({httpBaseUrl:s.httpBaseUrl,bearerToken:s.bearerToken,...o?{signal:o}:{}})]);if(!r())return!1;zX.getState().patch(e.environmentId,{authState:l.authenticated?`authenticated`:`requires-auth`,descriptor:c.environment,serverConfig:c,role:l.authenticated?l.role??i??null:null});let u=aq(e.environmentId);return r()&&l.authenticated&&u&&tq.getState().upsert({...u,lastAuthenticatedPullRequestCapability:c.environment.capabilities?.pullRequests===!0}),!0}function w1(e){let t=R$.get(e.environmentId);if(t&&t!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);return R$.set(e.environmentId,e),l1(),e}async function T1(e){let t=R$.get(e);return t?(R$.delete(e),e$(e),G3e(e),l1(),await t.dispose(),!0):!1}function E1(){let e=RK();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=R$.get(e.environmentId);if(t)return t;let n=S1(),r=e.source===`paired-bearer`||!0;return w1(qX({kind:`primary`,knownEnvironment:e,client:f6e(e),resolveEnvironmentId:()=>RK()?.environmentId??e.environmentId,...r?{readiness:n?{bearerToken:n.bearerToken}:{}}:{},...x1()}))}async function h6e(e,t,n){let r=R$.get(e.environmentId);if(r)return r;let i=GX(e)?P3e(e):null,a=i!==null,o=()=>X$({record:e,generation:t,registryExpectation:n?.registryExpectation??{kind:`existing-record`,record:e}}),s=a?n?.bearerToken:n?.bearerToken??await uq(e.environmentId);if(!a&&!s)throw o()&&zX.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:u1()}),Error(`Saved environment is missing its saved credential.`);let c=a?F3e(e,i,s??void 0,o):I3e({record:e,bearerToken:s}),l=await $Q(c,n?.signal);if(!o())throw Error(`Saved environment changed while its connection was being acquired.`);let u=n?.client??m6e(e,c,o,a),d=Po({id:e.environmentId,label:e.label,source:`manual`,target:{httpBaseUrl:l.httpBaseUrl,wsBaseUrl:l.wsBaseUrl}}),f=a&&l.expiresAt?n4e({initialDescriptor:{httpBaseUrl:l.httpBaseUrl,wsBaseUrl:l.wsBaseUrl,bearerToken:l.bearerToken,expiresAt:l.expiresAt},renew:async()=>{let e=await c.acquire({forceRefresh:!0});return{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken,expiresAt:e.expiresAt??null}},onState:t=>{o()&&zX.getState().patch(e.environmentId,{providerAuthority:t})}}):null,p=qX({kind:`saved`,knownEnvironment:{...d,environmentId:e.environmentId},client:u,readiness:{bearerToken:l.bearerToken},tolerateReportedEnvironmentIdentity:a,refreshMetadata:async()=>{await C1(e,c,u,o)},...f?{ensureProviderAuthority:f.ensureLive,onDispose:f.dispose}:{},onConfigSnapshot:t=>{o()&&zX.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t})},...x1(t=>{o()&&zX.getState().patch(e.environmentId,{descriptor:t.environment})})});try{if(!await i6e(e,C1(e,c,u,o,n?.role??null,n?.serverConfig??null,n?.signal))||!o())throw Error(`Saved environment changed while its connection was being acquired.`);return w1(p)}catch(t){throw a&&e$(e.environmentId,c),o()&&_1(e.environmentId,t),await p.dispose().catch(()=>void 0),t}}async function D1(e,t){let n=R$.get(e.environmentId);if(n)return n;let r=q$(e.environmentId),i=H$.get(e.environmentId);if(i&&i.generation===r&&Y$(i.record,e))return i.promise;let a=h6e(e,r,t).finally(()=>{H$.get(e.environmentId)?.promise===a&&H$.delete(e.environmentId)});return H$.set(e.environmentId,{generation:r,record:e,promise:a}),a}async function O1(e){await Hl(e);let t=new Map(e.map(e=>[e.environmentId,e]));for(let[e,n]of H$){let r=t.get(e);(!r||!Y$(r,n.record))&&J$(e)}let n=new Set(e.map(e=>e.environmentId)),r=[...R$.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!n.has(e));await Promise.all(r.map(async e=>{J$(e),await N1(e)}))}function k1(){G$?.stop(),G$=null}function A1(e){return U$.add(e),()=>{U$.delete(e)}}function j1(e){return R$.get(e)??null}function g6e(e){let t=j1(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function M1(){return E1()}async function _6e(){let e=d6e();if(!e)throw Error(`Desktop Local runtime is not authenticated. Sign in with CMMD again before importing local projects.`);let t=await p$e({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return R$.get(t.environmentId)||w1(qX({kind:`desktop-local`,knownEnvironment:{...Po({id:t.environmentId,label:e.label,source:`desktop-managed`,target:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}),environmentId:t.environmentId,label:t.label},client:p6e({environmentId:t.environmentId,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken}),...x1()}))}async function v6e(e){let t=an.make(e.runtimeId),n=R$.get(t);if(n)return n;p1(t);let r=YQ(),i=K2e(e.runtimeId,{apiClient:cK,getStoredDeviceKey:HQ,buildDeviceRegistration:zQ,controlSessionId:r.controlSessionId}),a=await i.acquireRoute(),o=a,s=Tce({acquireRoute:async()=>{let e=o;return o=null,e??i.acquireRoute()},acquireActionGrant:i.acquireActionGrant,journal:r,lifecycle:{onConnecting:()=>{p1(t)},onAuthenticated:()=>{m1(t)},onDisconnected:e=>{g1(t,e.reason)},onError:e=>{_1(t,Object.assign(Error(e.message),e))}}}),c=PQ(new EQ(a.relayWebSocketUrl,{trackGlobalConnection:!1},{layer:s,makeClient:wce(Un)})),l=qX({kind:`saved`,knownEnvironment:{...Po({id:t,label:e.label,source:`manual`,target:{httpBaseUrl:mr()?.target.httpBaseUrl??a.relayWebSocketUrl,wsBaseUrl:a.relayWebSocketUrl}}),environmentId:t},client:c,tolerateReportedEnvironmentIdentity:!0,onConfigSnapshot:e=>{h1(t,e)},...x1(e=>{zX.getState().patch(t,{descriptor:e.environment})})});try{let[,e]=await Promise.all([l.ensureBootstrapped(),c.server.getConfig()]);return h1(t,e),m1(t),w1(l)}catch(e){throw _1(t,e),await l.dispose().catch(()=>void 0),e}}function y6e(e){let t=an.make(e.runtimeId),n=R$.get(t);if(n)return Promise.resolve(n);let r=z$.get(t);if(r)return r;let i=v6e(e).finally(()=>{z$.delete(t)});return z$.set(t,i),i}async function N1(e){R$.get(e)?.kind===`saved`&&(zX.getState().clear(e),await T1(e).catch(()=>!1))}async function b6e(e){let t=aq(e);if(!t)throw Error(`Saved environment not found.`);let n=R$.get(e);if(!n){try{await F1(t)}catch(t){throw _1(e,t),t}return}p1(e);try{await n.reconnect()}catch(t){throw _1(e,t),t}}function P1(e){for(let t of e){let e=B$.get(t);e===void 0||e<=1?B$.delete(t):B$.set(t,e-1)}}async function x6e(e){let t=e.environmentId;B$.set(t,(B$.get(t)??0)+1);try{return j1(t)||await F1(e),!0}catch{return P1([t]),!1}}async function S6e(){await rq();let e=(await Promise.all(WJe().map(async e=>await x6e(e)?e.environmentId:null))).flatMap(e=>e===null?[]:[e]),t=!1;return()=>{t||(t=!0,P1(e))}}async function C6e(e){J$(e),tq.getState().remove(e),await dq(e),await N1(e)}async function w6e(e){let t=an.make(e.environment.environmentId),{existing:n,replacedRecord:r}=_$e({environmentId:t,replacesEnvironmentId:e.environment.replacesEnvironmentId}),{kind:i,cmmdOrganizationId:a,cmmdProjectId:o,runtimeId:s,runtimeTicketExpiresAt:c}=e.environment,l={environmentId:t,label:e.environment.label,wsBaseUrl:un(e.environment.wsBaseUrl),httpBaseUrl:e.environment.httpBaseUrl,createdAt:n?.createdAt??u1(),lastConnectedAt:u1(),...i===void 0?{}:{kind:i},...a===void 0?{}:{cmmdOrganizationId:a},...o===void 0?{}:{cmmdProjectId:o},...s===void 0?{}:{runtimeId:s},...c===void 0?{}:{runtimeTicketExpiresAt:c}};VX(e.signal);let u=await v$e(n);J$(l.environmentId),await T1(l.environmentId).catch(()=>!1),r&&(J$(r.environmentId),await T1(r.environmentId).catch(()=>!1)),await F1(l,{bearerToken:e.bearerToken,registryExpectation:n&&!r?{kind:`existing-record`,record:n}:{kind:`initial-add`},...e.signal?{signal:e.signal}:{},...e.onBootstrapRetry?{onBootstrapRetry:e.onBootstrapRetry}:{}});let d=!1;try{return VX(e.signal),await y$e({record:l,replacedRecord:r,rollback:u,...e.signal?{signal:e.signal}:{}}),d=!0,VX(e.signal),tq.getState().upsert(WX(l)),l}catch(t){throw await T1(l.environmentId).catch(()=>!1),d&&await KX({record:l,replacedRecord:r,rollback:u}),VX(e.signal),t}}async function F1(e,t){if(!GX(e))return D1(e,t);let n=q$(e.environmentId),r=()=>X$({record:e,generation:n,registryExpectation:t?.registryExpectation??{kind:`existing-record`,record:e}}),i=null;for(let n=0;n<d1;n+=1){VX(t?.signal);try{let n=await D1(e,t);return await HX(n.ensureBootstrapped(),t?.signal),n}catch(a){if(i=a,!r())throw a;if(await T1(e.environmentId).catch(()=>!1),VX(t?.signal),n>=7||!t6e(a))throw r()&&_1(e.environmentId,a),a;let o=n6e(n);t?.onBootstrapRetry?.({attempt:n+2,maxAttempts:d1,retryDelayMs:o,error:a}),r()&&zX.getState().patch(e.environmentId,{connectionState:`connecting`,lastError:null,lastErrorAt:null}),await UX(o,t?.signal)}}let a=i instanceof Error?i:Error(String(i));throw r()&&_1(e.environmentId,a),a}async function T6e(e){await R$.get(e)?.ensureBootstrapped()}async function E6e(e){let t=R$.get(e);if(t?.ensureProviderAuthority){await t.ensureProviderAuthority();return}if(i4e(e))throw Error(`Cloud runtime provider authority is not available.`)}function D6e(e){if(G$?.queryClient===e)return G$.refCount+=1,()=>{!G$||G$.queryClient!==e||(--G$.refCount,G$.refCount===0&&k1())};k1(),K$=!1;let t=new sXe(()=>{K$&&(K$=!1,e.invalidateQueries({queryKey:NX.all}),e.invalidateQueries({queryKey:MX.all}))},{wait:100,leading:!1,trailing:!0});E1(),lr().catch(()=>void 0);let n=tq.subscribe(()=>{nq()&&O1(iq())});return rq().then(()=>O1(iq())).catch(()=>void 0),G$={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{n(),t.cancel()}},()=>{!G$||G$.queryClient!==e||(--G$.refCount,G$.refCount===0&&k1())}}var O6e=xte(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function k6e(e){return{environmentId:e.environmentId,threadId:e.threadId}}function A6e(e){return{draftId:e}}function j6e(e){return!e.environmentId||!e.threadId?null:Lo(e.environmentId,e.threadId)}function M6e(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:Lo(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}var N6e=F.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return wte(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})});function I1(e){let t=(0,ll.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Jt(`relative overflow-hidden rounded-sm bg-muted [--skeleton-highlight:--alpha(var(--color-white)/64%)] after:absolute after:inset-0 after:animate-skeleton after:bg-[linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)] motion-reduce:after:content-none dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Nr.jsx)(`div`,{className:i,"data-slot":`skeleton`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function P6e(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Kt(i),[,o]=F.useState(!1),s=Zt(I6e).current,c=Zt(F6e).current,l=F.useRef(0),u=F.useRef(!0),d=F.useRef([]),f=F.useRef(null),p=Kt(()=>{u.current||(u.current=!0,o(e=>!e))}),m=Kt((e,t)=>{c.set(e,t),p()}),h=Kt(e=>{c.delete(e),p()}),g=Kt(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function _(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!z6e(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&L1(r,n)>0){t.disconnect(),p();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=R6e(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Kt(()=>{let[e,t]=L6e(c),n=g(e);_(t),d.current=e,u.current=!1,s.forEach(e=>e(n)),a(n)});Xt(()=>(u.current||g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),Xt(()=>{u.current&&v()}),Xt(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Kt(e=>(s.add(e),()=>{s.delete(e)})),b=F.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Nr.jsx)(Ste.Provider,{value:b,children:t})}function F6e(){return new Map}function I6e(){return new Set}function L6e(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>L1(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function R6e(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function z6e(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function L1(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function R1(e){let t=e.browser,n=t?{openSession:t.openSession,listSessions:t.listSessions,closeSession:t.closeSession,getSession:t.getSession,command:t.command,clearBrowsingData:t.clearBrowsingData,attachDisplay:t.attachDisplay,addDisplayIceCandidate:async e=>{await t.addDisplayIceCandidate(e)},onEvent:(e,n)=>t.onEvent(e,n)}:void 0;return{...n?{browser:n}:{},attachments:{createUploadUrl:t=>e.attachments.createUploadUrl(t),delete:t=>e.attachments.delete(t)},computer:{input:t=>e.computer.input(t)},threadDevRuntime:{get:t=>e.threadDevRuntime.get(t),allocatePort:t=>e.threadDevRuntime.allocatePort(t),release:t=>e.threadDevRuntime.release(t)},devTunnel:{register:t=>e.devTunnel.register(t),unregister:t=>e.devTunnel.unregister(t),list:t=>e.devTunnel.list(t)},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),signal:t=>e.terminal.signal(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:{searchContents:e.projects.searchContents,searchEntries:e.projects.searchEntries,readFile:e.projects.readFile,writeFile:e.projects.writeFile},workspace:{environmentPreflight:e.workspace.environmentPreflight,ensureScratch:e.workspace.ensureScratch},shell:{openInEditor:t=>e.shell.openInEditor(t)},git:{pull:e.git.pull,refreshStatus:e.git.refreshStatus,onStatus:(t,n,r)=>e.git.onStatus(t,n,r),listBranches:e.git.listBranches,createWorktree:e.git.createWorktree,removeWorktree:e.git.removeWorktree,createBranch:e.git.createBranch,checkout:e.git.checkout,init:e.git.init,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread},pullRequests:{list:t=>e.pullRequests.list(t),listStats:t=>e.pullRequests.listStats(t),detail:t=>e.pullRequests.detail(t),activity:t=>e.pullRequests.activity(t),threadComments:t=>e.pullRequests.threadComments(t),diffFileContents:t=>e.pullRequests.diffFileContents(t),runAction:t=>e.pullRequests.runAction(t),update:t=>e.pullRequests.update(t),comment:t=>e.pullRequests.comment(t),updateComment:t=>e.pullRequests.updateComment(t),submitReview:t=>e.pullRequests.submitReview(t),replyToThread:t=>e.pullRequests.replyToThread(t),setThreadResolution:t=>e.pullRequests.setThreadResolution(t),setReaction:t=>e.pullRequests.setReaction(t),invalidate:t=>e.pullRequests.invalidate(t),reviewerCandidates:t=>e.pullRequests.reviewerCandidates(t),requestReviewers:t=>e.pullRequests.requestReviewers(t)},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 z1(e){if(typeof window>`u`||!e)return;let t=j1(e);return t?R1(t.client):void 0}function B6e(e){let t=(0,ll.c)(4),n;t[0]===e?n=t[1]:(n=()=>j1(e),t[0]=e,t[1]=n);let r=(0,F.useSyncExternalStore)(A1,n,V6e),i,a;return t[2]===r?a=t[3]:(a=r?R1(r.client):void 0,t[2]=r,t[3]=a),i=a,i}function V6e(){return null}function H6e(e){let t=z1(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}var B1=`forge:last-editor`;function U6e(e){let t=(0,ll.c)(5),[n,r]=wl(B1,null,zn),i;bb0:{if(n&&e.includes(n)){i=n;break bb0}let r;t[0]===e?r=t[1]:(r=en.find(t=>e.includes(t.id))?.id??null,t[0]=e,t[1]=r),i=r}let a=i,o;return t[2]!==a||t[3]!==r?(o=[a,r],t[2]=a,t[3]=r,t[4]=o):o=t[4],o}function V1(e){let t=new Set(e),n=bl(B1,zn);if(n&&t.has(n))return n;let r=en.find(e=>t.has(e.id))?.id??null;return r&&xl(B1,r,zn),r??null}async function W6e(e,t){let{availableEditors:n}=await e.server.getConfig(),r=V1(n);if(!r)throw Error(`No available editors found.`);return await e.shell.openInEditor(t,r),r}function H1(e){if(e===null)return null;let t=e.trim();return t.length>0?t:null}var U1=Object.freeze({data:null,error:null,cause:null,isPending:!1}),W1=Object.freeze({...U1,isPending:!0}),G6e=Wt(U1).pipe(Ut,Vt(`git-status:null`)),G1=()=>void 0,K1=new Map,K6e=new Set,q1=new Map,J1=new Map,q6e=1e3,Y1=gte(e=>(K6e.add(e),Wt(W1).pipe(Ut,Vt(`git-status:${e}`))));function X1(e){return e.environmentId===null||H1(e.cwd)===null?null:`${e.environmentId}:${e.cwd}`}function Z1(e){if(e.environmentId===null)return null;let t=j1(e.environmentId);return t?{clientIdentity:t.environmentId,client:t.client.git}:null}function Q1(e){let t=X1(e);return t===null?U1:Ht.get(Y1(t))}function J6e(e,t){let n=X1(e);if(n===null)return G1;let r=K1.get(n);return r?(r.refCount+=1,()=>$1(n)):(K1.set(n,{refCount:1,unsubscribe:Z6e(n,e,t)}),()=>$1(n))}function Y6e(e,t){let n=X1(e),r=H1(e.cwd);if(n===null||r===null)return Promise.resolve(null);let i=t??Z1(e)?.client;if(!i)return Promise.resolve(Q1(e).data);let a=q1.get(n);if(a)return a;let o=J1.get(n)??0;if(Date.now()-o<q6e)return Promise.resolve(Q1(e).data);J1.set(n,Date.now());let s=i.refreshStatus({cwd:r}).finally(()=>{q1.delete(n)});return q1.set(n,s),s}function X6e(e){let t=(0,ll.c)(4),n=X1(e),r,i;t[0]!==e.cwd||t[1]!==e.environmentId?(r=()=>J6e({environmentId:e.environmentId,cwd:e.cwd}),i=[e.environmentId,e.cwd],t[0]=e.cwd,t[1]=e.environmentId,t[2]=r,t[3]=i):(r=t[2],i=t[3]),(0,F.useEffect)(r,i);let a=cr(n===null?G6e:Y1(n));return n===null?U1:a}function $1(e){let t=K1.get(e);t&&(--t.refCount,!(t.refCount>0)&&(t.unsubscribe(),K1.delete(e)))}function Z6e(e,t,n){let r=H1(t.cwd);if(r===null)return G1;let i=null,a=G1,o=()=>{let o=n?{clientIdentity:`provided:${e}`,client:n}:Z1(t);if(!o){i!==null&&(a(),a=G1,i=null),e0(e);return}i!==o.clientIdentity&&(a(),i=o.clientIdentity,a=Q6e(e,r,o.client))},s=n?G1:A1(o);return o(),()=>{s(),a()}}function Q6e(e,t,n){return e0(e),n.onStatus({cwd:t},t=>{Ht.set(Y1(e),{data:t,error:null,cause:null,isPending:!1})},{onResubscribe:()=>{e0(e)}})}function e0(e){let t=Y1(e),n=Ht.get(t),r=n.data===null?W1:{...n,error:null,cause:null,isPending:!0};(n.data!==r.data||n.error!==r.error||n.cause!==r.cause||n.isPending!==r.isPending)&&Ht.set(t,r)}function t0(e,t){return Wt(t).pipe(Ut,Vt(e))}function n0(e){return{issues:e.issues,providers:e.providers,settings:e.settings}}var $6e=[],e8e=[],t8e=[],n8e=e=>e?.availableEditors??$6e,r8e=e=>e?.keybindings??e8e,i8e=e=>e?.keybindingsConfigPath??null,a8e=e=>e?.observability??null,o8e=e=>e?.providers??t8e,s8e=e=>e?.settings??bne,r0=t0(`server-welcome`,null),i0=t0(`server-config`,null),a0=t0(`server-config-updated`,null),c8e=t0(`server-providers-updated`,null);function o0(){return Ht.get(i0)}function l8e(){return Ht.get(a0)}function s0(e){d0(e),f0({providers:e.providers}),p0(n0(e),`snapshot`)}function u8e(e){switch(e.type){case`snapshot`:s0(e.config);return;case`keybindingsUpdated`:{let t=o0();if(!t)return;let n={...t,issues:e.payload.issues,keybindings:e.payload.keybindings};d0(n),p0(n0(n),e.type);return}case`providerStatuses`:c0(e.payload);return;case`settingsUpdated`:l0(e.payload.settings);return;case`environmentUpdated`:u0(e.payload.environment);return}}function c0(e){let t=o0();if(f0(e),!t)return;let n={...t,providers:e.providers};d0(n),p0(n0(n),`providerStatuses`)}function l0(e){let t=o0();if(!t)return;let n={...t,settings:e};d0(n),p0(n0(n),`settingsUpdated`)}function u0(e){let t=o0();if(IK()?.environmentId===e.environmentId&&LK(e),!t)return;let n={...t,environment:e};d0(n),p0(n0(n),`environmentUpdated`)}function d8e(e){Ht.set(r0,e)}function f8e(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&d8e(e.payload)}),e.subscribeConfig(e=>{u8e(e)})];return o0()===null&&e.getConfig().then(e=>{t||o0()!==null||s0(e)}).catch(()=>void 0),()=>{t=!0;for(let e of n)e()}}var p8e=1;function d0(e){Ht.set(i0,e)}function f0(e){Ht.set(c8e,e)}function p0(e,t){Ht.set(a0,{id:p8e++,payload:e,source:t})}function m0(e,t){let n=(0,F.useRef)(t);n.current=t;let r=(0,F.useCallback)(e=>{e!==null&&n.current(e)},[]);Ene(e,r,{immediate:!0})}function m8e(){return cr(i0)}function h0(){return cr(i0,s8e)}function h8e(){return cr(i0,o8e)}function g8e(){return cr(i0,r8e)}function _8e(){return cr(i0,n8e)}function v8e(){return cr(i0,i8e)}function y8e(){return cr(i0,a8e)}function b8e(e){m0(r0,e)}function x8e(e){m0(a0,e)}function S8e(e){let t=[];for(let n of e){let e=n.children??[];if(e.length>0){t.push({item:n,isGroupLabel:!0});for(let n of e)t.push({item:n,isGroupLabel:!1});continue}Array.isArray(n.children)||t.push({item:n,isGroupLabel:!1})}return t}function C8e(e){let t=document.createElement(`div`);return t.textContent=e,t.className=`px-2 pt-1.5 pb-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,t}function w8e(e){let t=document.createElement(`button`);return t.type=`button`,t.textContent=e.label,t.disabled=e.disabled,t.className=e.disabled?`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-muted-foreground/50 cursor-not-allowed`:e.destructive?`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-destructive transition-colors hover:bg-accent`:`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[11px] text-popover-foreground transition-colors hover:bg-accent`,t}function T8e(e,t){return new Promise(n=>{let r=document.createElement(`div`);r.style.cssText=`position:fixed;inset:0;z-index:9999`;let i=document.createElement(`div`);i.className=`fixed z-[10000] min-w-[160px] rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg/5 outline-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`;let a=t?.x??0,o=t?.y??0;i.style.top=`${o}px`,i.style.left=`${a}px`;function s(e){document.removeEventListener(`keydown`,c),r.remove(),i.remove(),n(e)}function c(e){e.key===`Escape`&&(e.preventDefault(),s(null))}r.addEventListener(`mousedown`,()=>s(null)),document.addEventListener(`keydown`,c);let l=!1;for(let{item:t,isGroupLabel:n}of S8e(e)){if(n){i.appendChild(C8e(t.label));continue}let e=t.destructive===!0||t.id===`delete`,r=t.disabled===!0;if(e&&!l){let e=document.createElement(`div`);e.className=`-mx-1 my-1 h-px bg-border`,i.appendChild(e),l=!0}let a=w8e({label:t.label,disabled:r,destructive:e});r||a.addEventListener(`click`,()=>s(t.id)),i.appendChild(a)}document.body.appendChild(r),document.body.appendChild(i),requestAnimationFrame(()=>{let e=i.getBoundingClientRect();e.right>window.innerWidth&&(i.style.left=`${window.innerWidth-e.width-4}px`),e.bottom>window.innerHeight&&(i.style.top=`${window.innerHeight-e.height-4}px`)})})}var g0;function E8e(){return _0(M1().client)}function _0(e){return{getConfig:e.server.getConfig,refreshProviders:e.server.refreshProviders,startProviderAuth:e.server.startProviderAuth,repairProviderAuthRuntime:e.server.repairProviderAuthRuntime,disconnectProviderAuth:e.server.disconnectProviderAuth,getProviderAuthSession:e.server.getProviderAuthSession,cancelProviderAuth:e.server.cancelProviderAuth,submitProviderAuthCode:e.server.submitProviderAuthCode,syncPersonalCodexToCloud:e.server.syncPersonalCodexToCloud,syncPersonalClaudeToCloud:e.server.syncPersonalClaudeToCloud,upsertKeybinding:e.server.upsertKeybinding,removeKeybinding:e.server.removeKeybinding,getSettings:e.server.getSettings,updateSettings:e.server.updateSettings,updateEnvironmentDisplayName:async t=>{let n=await e.server.updateEnvironmentDisplayName({displayName:t});return u0(n.environment),n}}}function D8e(e,t){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}}}function O8e(e){return{dialogs:{pickFolder:async()=>window.desktopBridge?window.desktopBridge.pickFolder():null,confirm:async e=>window.desktopBridge?window.desktopBridge.confirm(e):window.confirm(e)},shell:{openInEditor:(t,n)=>e.shell.openInEditor({cwd:t,editor:n}),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`)}},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):T8e(e,t)},persistence:{getClientSettings:zl,setClientSettings:Bl,getSavedEnvironmentRegistry:Vl,setSavedEnvironmentRegistry:Hl,getSavedEnvironmentSecret:Ul,setSavedEnvironmentSecret:Wl,removeSavedEnvironmentSecret:Gl},server:_0(e)}}function v0(){if(typeof window>`u`)return;if(g0)return g0;let e=O8e(M1().client);return window.nativeApi?(g0=D8e(e,window.nativeApi),g0):(g0=e,g0)}function k8e(){let e=v0();if(!e)throw Error(`Local API not found`);return e}var A8e=`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`,j8e=`ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace`;function M8e(e){let t=e.trim();return t.length===0?``:/^(['"]).*\1$/u.test(t)||/^[a-zA-Z][a-zA-Z0-9-]*$/u.test(t)?t:`"${t.replaceAll(`"`,``)}"`}function N8e(e){let t=e.split(`,`).map(M8e).filter(e=>e.length>0);return t.length>0?t.join(`, `):null}var y0={fontSans:`--font-sans`,fontMono:`--font-mono`,fontComposer:`--font-composer`,fontTerminal:`--font-terminal`,promptFontSize:`--forge-prompt-font-size`,terminalFontSize:`--forge-terminal-font-size`,glassOpacity:`--glass-opacity`};function P8e(e,t){let n=[[y0.fontSans,t.fontFamilySans,A8e],[y0.fontMono,t.fontFamilyCode,j8e],[y0.fontComposer,t.fontFamilyComposer,`var(--font-sans)`],[y0.fontTerminal,t.fontFamilyTerminal,`var(--font-mono)`]];for(let[t,r,i]of n){let n=N8e(r);if(n===null){e.style.removeProperty(t);continue}e.style.setProperty(t,`${n}, ${i}`)}e.style.setProperty(y0.promptFontSize,`${String(t.promptFontSize)}px`),e.style.setProperty(y0.terminalFontSize,`${String(t.terminalFontSize)}px`),e.style.setProperty(y0.glassOpacity,`${String(t.glassOpacity)}%`),t.fontSmoothing?e.style.setProperty(`-webkit-font-smoothing`,`antialiased`):e.style.removeProperty(`-webkit-font-smoothing`)}var b0=`themeId`,x0=`forge:theme-boot:v1`;function F8e(e,t){try{window.localStorage.setItem(x0,JSON.stringify({appearance:t,background:e}))}catch{}}function I8e(){try{window.localStorage.removeItem(x0)}catch{}}function S0(){return typeof document>`u`?null:document.documentElement}function C0(){let e=S0();if(e!==null){for(let t of nn)e.style.removeProperty(_n[t]);delete e.dataset[b0],I8e()}}function L8e(e,t){let n=S0();if(n===null)return;let r=t===`dark`?e.dark:e.light;for(let e of nn){let t=r[e];if(t===void 0){n.style.removeProperty(_n[e]);continue}n.style.setProperty(_n[e],t)}n.dataset[b0]=e.id,r.background!==void 0&&F8e(r.background,t)}function R8e(e,t){if(e===`forge`){C0();return}let n=lne(e);if(n===void 0){C0();return}L8e(n,t)}function w0(e,t){if(!Fe(e)||!Fe(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]=Fe(t)&&Fe(r)?w0(t,r):r}return n}var T0=`[CLIENT_SETTINGS]`,E0=new Set,D0=An,O0=!1,k0=null;function z8e(){for(let e of E0)e()}function A0(){return D0}function j0(e){D0=e,z8e()}function B8e(e){return E0.add(e),V8e(),()=>{E0.delete(e)}}async function V8e(){if(O0)return;if(k0)return k0;let e=(async()=>{try{let e=await zl();e&&j0(e)}catch(e){console.error(`${T0} hydrate failed`,e)}finally{O0=!0}})().finally(()=>{k0===e&&(k0=null)});return k0=e,k0}function H8e(e){j0(e),Bl(e).catch(e=>{console.error(`${T0} persist failed`,e)})}var U8e=new Set(Kte(yne.fields));function W8e(e){let t={},n={};for(let[r,i]of Object.entries(e))U8e.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function M0(e){let t=h0(),n=(0,F.useSyncExternalStore)(B8e,A0,()=>An),r=(0,F.useMemo)(()=>({...t,...n}),[n,t]);return(0,F.useMemo)(()=>e?e(r):r,[r,e])}function N0(){let e=(0,ll.c)(2),t=G8e,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{t(Ate)},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 G8e(e){let{serverPatch:t,clientPatch:n}=W8e(e);if(Object.keys(t).length>0){let e=o0();e&&l0(w0(e.settings,t)),M1().client.server.updateSettings(t)}Object.keys(n).length>0&&H8e({...A0(),...n})}var K8e=`forge:theme`,P0=`theme-color`,q8e=`meta[name="${P0}"][data-dynamic-theme-color="true"]`,F0=`(prefers-color-scheme: dark)`,J8e={dark:`#0a0a0a`,light:`#ffffff`};function Y8e(){return typeof window<`u`&&typeof localStorage<`u`}function I0(e){return e===`system`||e===`light`||e===`dark`}function L0(e,t){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(20,Math.max(11,Math.round(e)))}function X8e(){if(!Y8e())return{theme:`system`,uiFontSize:16,codeFontSize:13};try{let e=window.localStorage.getItem(jl);if(e){let t=Pl(JSON.parse(e));return{theme:I0(t.theme)?t.theme:`system`,uiFontSize:L0(t.uiFontSize,16),codeFontSize:L0(t.codeFontSize,13)}}let t=window.localStorage.getItem(K8e);return{theme:I0(t)?t:`system`,uiFontSize:16,codeFontSize:13}}catch{return{theme:`system`,uiFontSize:16,codeFontSize:13}}}function Z8e(){return typeof window>`u`||typeof window.matchMedia!=`function`||window.matchMedia(F0).matches?`dark`:`light`}function R0(e){return e===`system`?Z8e():e}function Q8e(){let e=document.querySelector(q8e);return e||(e=document.createElement(`meta`),e.name=P0,e.setAttribute(`data-dynamic-theme-color`,`true`),document.head.append(e),e)}function z0(e){let t=e?.trim().toLowerCase();return!t||t===`transparent`||t===`rgba(0, 0, 0, 0)`||t===`rgba(0 0 0 / 0)`?null:e?.trim()??null}function $8e(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function e5e(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function B0(e=e5e()){if(typeof document>`u`||typeof getComputedStyle>`u`)return;document.documentElement.style.backgroundColor=``,document.body.style.backgroundColor=``;let t=z0(getComputedStyle($8e()).backgroundColor),n=z0(getComputedStyle(document.body).backgroundColor),r=t??n??J8e[e];document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,Q8e().setAttribute(`content`,r)}function t5e(e){if(typeof window>`u`)return;let t=window.desktopBridge;t&&t.setTheme(e).catch(()=>{})}function V0(e,t=!1){let n=R0(e);return typeof document>`u`||typeof window>`u`?n:(t&&document.documentElement.classList.add(`no-transitions`),document.documentElement.classList.toggle(`dark`,n===`dark`),document.documentElement.dataset.theme=e,document.documentElement.style.colorScheme=n,B0(n),t5e(e),t&&(document.documentElement.offsetHeight,requestAnimationFrame(()=>{document.documentElement.classList.remove(`no-transitions`)})),n)}function H0(e){typeof document>`u`||document.documentElement.style.setProperty(`--forge-ui-font-size`,`${L0(e,16)}px`)}function U0(e){typeof document>`u`||document.documentElement.style.setProperty(`--forge-code-font-size`,`${L0(e,13)}px`)}function W0(e){H0(e.uiFontSize),U0(e.codeFontSize)}if(typeof document<`u`){let e=X8e();V0(e.theme),W0(e)}function n5e(){let e=(0,ll.c)(34),t=M0(o5e),n=M0(a5e),r=M0(i5e),i=M0(r5e),{updateSettings:a}=N0(),o;e[0]===t?o=e[1]:(o=()=>R0(t),e[0]=t,e[1]=o);let[s,c]=(0,F.useState)(o),l;e[2]===a?l=e[3]:(l=e=>{a({theme:e}),c(V0(e,!0))},e[2]=a,e[3]=l);let u=l,d;e[4]===a?d=e[5]:(d=e=>{a({themeId:e})},e[4]=a,e[5]=d);let f=d,p;e[6]===a?p=e[7]:(p=e=>{let t=L0(e,16);a({uiFontSize:t}),H0(t)},e[6]=a,e[7]=p);let m=p,h;e[8]===a?h=e[9]:(h=e=>{let t=L0(e,13);a({codeFontSize:t}),U0(t)},e[8]=a,e[9]=h);let g=h,_,v;e[10]===t?(_=e[11],v=e[12]):(_=()=>{c(V0(t))},v=[t],e[10]=t,e[11]=_,e[12]=v),(0,F.useEffect)(_,v);let y,b;e[13]!==i||e[14]!==r?(y=()=>{W0({uiFontSize:r,codeFontSize:i})},b=[r,i],e[13]=i,e[14]=r,e[15]=y,e[16]=b):(y=e[15],b=e[16]),(0,F.useEffect)(y,b);let x,S;e[17]!==s||e[18]!==n?(S=()=>{R8e(n,s===`dark`?`dark`:`light`)},x=[n,s],e[17]=s,e[18]=n,e[19]=x,e[20]=S):(x=e[19],S=e[20]),(0,F.useEffect)(S,x);let C,w;e[21]===t?(C=e[22],w=e[23]):(C=()=>{if(t!==`system`||typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(F0),n=()=>{c(V0(`system`,!0))};return e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},w=[t],e[21]=t,e[22]=C,e[23]=w),(0,F.useEffect)(C,w);let T;return e[24]!==i||e[25]!==s||e[26]!==g||e[27]!==u||e[28]!==f||e[29]!==m||e[30]!==t||e[31]!==n||e[32]!==r?(T={theme:t,setTheme:u,themeId:n,setThemeId:f,resolvedTheme:s,uiFontSize:r,codeFontSize:i,setUiFontSize:m,setCodeFontSize:g},e[24]=i,e[25]=s,e[26]=g,e[27]=u,e[28]=f,e[29]=m,e[30]=t,e[31]=n,e[32]=r,e[33]=T):T=e[33],T}function r5e(e){return e.codeFontSize}function i5e(e){return e.uiFontSize}function a5e(e){return e.themeId}function o5e(e){return e.theme}function s5e(){let e=(0,ll.c)(10),t=M0(h5e),n=M0(m5e),r=M0(p5e),i=M0(f5e),a=M0(d5e),o=M0(u5e),s=M0(l5e),c=M0(c5e),l,u;e[0]!==n||e[1]!==r||e[2]!==t||e[3]!==i||e[4]!==s||e[5]!==c||e[6]!==a||e[7]!==o?(l=()=>{typeof document>`u`||P8e(document.documentElement,{fontFamilyCode:n,fontFamilyComposer:r,fontFamilySans:t,fontFamilyTerminal:i,fontSmoothing:s,glassOpacity:c,promptFontSize:a,terminalFontSize:o})},u=[n,r,t,i,s,c,a,o],e[0]=n,e[1]=r,e[2]=t,e[3]=i,e[4]=s,e[5]=c,e[6]=a,e[7]=o,e[8]=l,e[9]=u):(l=e[8],u=e[9]),(0,F.useEffect)(l,u)}function c5e(e){return e.glassOpacity}function l5e(e){return e.fontSmoothing}function u5e(e){return e.terminalFontSize}function d5e(e){return e.promptFontSize}function f5e(e){return e.fontFamilyTerminal}function p5e(e){return e.fontFamilyComposer}function m5e(e){return e.fontFamilyCode}function h5e(e){return e.fontFamilySans}function g5e(e,t){let n={hour:`numeric`,minute:`2-digit`,...t?{second:`2-digit`}:{}};return e===`locale`?n:{...n,hour12:e===`12-hour`}}var G0=new Map;function K0(e,t){let n=`${e}:${t?`seconds`:`minutes`}`,r=G0.get(n);if(r)return r;let i=new Intl.DateTimeFormat(void 0,g5e(e,t));return G0.set(n,i),i}function _5e(e,t){return K0(t,!0).format(new Date(e))}function v5e(e,t){return K0(t,!1).format(new Date(e))}function q0(e){let t=Date.now()-new Date(e).getTime();if(t<0)return{value:`just now`,suffix:null};let n=Math.floor(t/1e3);if(n<60)return{value:`just now`,suffix:null};let r=Math.floor(n/60);if(r<60)return{value:`${r}m`,suffix:`ago`};let i=Math.floor(r/60);return i<24?{value:`${i}h`,suffix:`ago`}:{value:`${Math.floor(i/24)}d`,suffix:`ago`}}function y5e(e){let t=q0(e);return t.suffix?`${t.value} ${t.suffix}`:t.value}var b5e=new Set([`tool.started`,`task.started`,`context-window.updated`,`text-generation.usage`,`worktree.stage`,`launch.agent-starting`]);function J0(e){return b5e.has(e.kind)||e.summary===`Checkpoint captured`}function x5e(e,t){return!t.latestTurnId||e.turnId===t.latestTurnId||S5e(e)?!0:C5e(e,t.latestTurnStartedAt)}function S5e(e){return e.kind.startsWith(`worktree.`)||e.kind.startsWith(`setup-script.`)}function C5e(e,t){return e.turnId!==null||e.tone!==`error`||t===null?!1:e.createdAt>=t}var w5e=[{value:`codex`,label:`Codex`,available:!0},{value:`claudeAgent`,label:`Claude`,available:!0},{value:`cmmd`,label:`CMMD`,available:!0},{value:`ollama`,label:`Ollama`,available:!1},{value:`cursor`,label:`Cursor`,available:!1}];function T5e(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function E5e(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:T5e(r-n)}function Y0(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function D5e(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?Y0(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function X0(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;default:return null}}function Z0(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function O5e(e){let t=new Map,n=[...e].toSorted(h2);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?Sn.make(n.requestId):null,i=n&&(n.requestKind===`command`||n.requestKind===`file-read`||n.requestKind===`file-change`)?n.requestKind:n?X0(n.requestType):null,a=n&&typeof n.detail==`string`?n.detail:void 0;if(e.kind===`approval.requested`&&r&&i){t.set(r,{requestId:r,requestKind:i,createdAt:e.createdAt,...a?{detail:a}:{}});continue}if(e.kind===`approval.resolved`&&r){t.delete(r);continue}if(e.kind===`provider.approval.respond.failed`&&r&&Z0(a)){t.delete(r);continue}}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function k5e(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n,multiSelect:t.multiSelect===!0}}).filter(e=>e!==null);return n.length>0?n:null}function A5e(e){let t=new Map,n=[...e].toSorted(h2);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?Sn.make(n.requestId):null,i=n&&typeof n.detail==`string`?n.detail:void 0;if(e.kind===`user-input.requested`&&r){let i=k5e(n);if(!i)continue;t.set(r,{requestId:r,createdAt:e.createdAt,questions:i});continue}if(e.kind===`user-input.resolved`&&r){t.delete(r);continue}e.kind===`provider.user-input.respond.failed`&&r&&Z0(i)&&t.delete(r)}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function j5e(e,t){if(!t)return null;let n=[...e].toSorted(h2),r=null;for(let e of n){let t=$0(e.payload&&typeof e.payload==`object`?e.payload:null);t&&(r={request:t,turnId:e.turnId})}return!r||r.turnId!==t?null:r.request}function M5e(e,t){let n=[...e].toSorted(h2),r=n.filter(e=>e.kind===`turn.plan.updated`),i=(t?r.findLast(e=>e.turnId===t):void 0)??r.at(-1)??null;if(!i)return null;let a=i.payload&&typeof i.payload==`object`?i.payload:null,o=a?.plan;if(!Array.isArray(o))return null;let s=o.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);if(s.length===0)return null;let c=i.turnId!==null&&n.some(e=>e.kind===`turn.completed`&&e.turnId===i.turnId&&h2(i,e)<0)?s.map(e=>e.status===`inProgress`?{...e,status:`completed`}:e):s;return{createdAt:i.createdAt,turnId:i.turnId,...a&&`explanation`in a?{explanation:a.explanation}:{},steps:c}}function Q0(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return o2(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?o2(n):null}function N5e(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return o2(n)}}return Q0(t,e.latestTurn?.turnId??null)}function P5e(e){return e!==null&&e.implementedAt===null}function F5e(e,t,n){let r=I5e(),i={latestTurnId:t,latestTurnStartedAt:n??null};return W5e([...e].toSorted(h2).filter(e=>x5e(e,i)).filter(e=>!J0(e)).filter(e=>r||e.kind!==`runtime.warning`).filter(e=>!L5e(e)).map(R5e)).map(({activityKind:e,collapseKey:t,...n})=>n)}function I5e(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(`forge:debug-mode`)===`true`}catch{return!1}}function L5e(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function R5e(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=a7e(t),r=d7e(t),i=o7e(t),a=e.kind===`task.progress`||e.kind===`task.completed`,o=a&&typeof t?.summary==`string`&&t.summary.length>0?t.summary:null,s=a&&!o&&typeof t?.detail==`string`&&t.detail.length>0?t.detail:null,c=o||s,l={id:e.id,createdAt:e.createdAt,label:c||e.summary,tone:e.kind===`task.progress`?`thinking`:e.tone,activityKind:e.kind},u=l7e(t),d=u7e(t);if(!s&&t&&typeof t.detail==`string`&&t.detail.length>0){let e=f2(t.detail).output;e&&(l.detail=e)}n.command&&(l.command=n.command),n.rawCommand&&(l.rawCommand=n.rawCommand),r.length>0&&(l.changedFiles=r),i&&(l.toolTitle=i),u&&(l.itemType=u),d&&(l.requestKind=d);let f=z5e(t);if(f)l.githubConfirmation=f,l.tone=`approval`,l.label=`GitHub action needs approval`,l.toolTitle=t2(f.operation),l.detail=n2(f);else{let e=$0(t);e&&(l.githubActionRequired=e,l.tone=`approval`,l.label=r2(e.action),l.toolTitle=`GitHub setup required`,l.detail=a2(e))}let p=J5e(l);return p&&(l.collapseKey=p),l}function z5e(e){for(let t of e2(e)){if(t.userActionRequired!==`confirm_github_tool`)continue;let e=s2(t.confirmation),n=s2(e?.request),r=c2(e?.confirmationId),i=c2(e?.toolName),a=c2(e?.operation);if(!(!r||!i||!a||!n))return{confirmationId:r,toolName:i,operation:a,request:n}}return null}function $0(e){let t=e2(e)[0];if(!t)return null;let n=c2(t.userActionRequired);return!n||n===`confirm_github_tool`?null:{action:n,toolName:c2(t.toolName),message:c2(t.error)??c2(t.message)}}function e2(e){if(!e)return[];let t=[],n=new Set,r=(e,i)=>{if(i>8||e==null)return;if(typeof e==`string`){let n=c2(e);if(!n)return;let r=B5e(n);r&&c2(r.userActionRequired)&&t.push(r);return}if(typeof e!=`object`||n.has(e))return;if(n.add(e),Array.isArray(e)){for(let t of e)r(t,i+1);return}let a=e;if(c2(a.userActionRequired)){t.push(a);return}for(let e of Object.values(a))r(e,i+1)};return r(e,0),t}function B5e(e){try{return s2(JSON.parse(e))}catch{return null}}function t2(e){switch(e){case`create_repository`:return`Create GitHub repository`;case`link_project_repository`:return`Link project repository`;case`push_branch`:return`Push Git branch`;case`create_pull_request`:return`Create pull request`;case`rerun_workflow`:return`Rerun GitHub Actions workflow`;default:return e.split(`_`).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}}function n2(e){return[c2(e.request.repoFullName)??(c2(e.request.owner)&&c2(e.request.name)?`${c2(e.request.owner)}/${c2(e.request.name)}`:null),c2(e.request.cwd),c2(e.request.branch),c2(e.request.title)].filter(Boolean).join(` - `)}function r2(e){switch(e){case`connect_github`:return`Connect GitHub to continue`;case`connect_cmmd`:return`Forge couldn't authorize this action`;case`start_from_authenticated_forge_session`:return`Open this thread in Forge`;case`link_project_repository`:return`Link this project to GitHub`;case`create_branch`:return`Create a branch before pushing`;case`retry_in_user_vm`:return`Retry in the project VM`;default:return e.split(`_`).filter(Boolean).map(e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(` `)}}function i2(e){switch(e){case`connect_github`:return`Connect GitHub so agents can create repos, push branches, and open PRs.`;case`connect_cmmd`:return`Reconnect Forge, then retry. Your conversation is preserved.`;case`start_from_authenticated_forge_session`:return`Open it in Forge so this action uses your signed-in account.`;case`link_project_repository`:return`Link a GitHub repo to this project before pushing or opening PRs.`;case`create_branch`:return`Forge needs a branch before it can push to GitHub.`;case`retry_in_user_vm`:return`This has to run from the project's cloud VM.`;default:return`Finish the required setup, then retry.`}}function a2(e){return e.action===`connect_cmmd`?i2(e.action):e.message??i2(e.action)}function V5e(e,t){return e.action===t.action&&e.toolName===t.toolName&&e.message===t.message}function H5e(e){switch(e){case`connect_cmmd`:return`Reconnect Forge`;case`connect_github`:return`Connect GitHub`;default:return`Open Git settings`}}function U5e(e){return[`The required Forge GitHub setup has been completed by the user.`,e.toolName?`Retry the previous GitHub tool request for \`${e.toolName}\`.`:`Retry the previous GitHub tool request.`,`Continue the previous GitHub lifecycle request using Forge brokered GitHub tools only.`,"Do not use shell `gh` or direct GitHub CLI commands."].join(`
1021
+ `)}function W5e(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&G5e(e,n)){t[t.length-1]=K5e(e,n);continue}t.push(n)}return t}function G5e(e,t){return e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`||t.activityKind!==`tool.updated`&&t.activityKind!==`tool.completed`||e.activityKind===`tool.completed`?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey}function K5e(e,t){let n=q5e(e.changedFiles,t.changedFiles),r=t.detail??e.detail,i=t.command??e.command,a=t.rawCommand??e.rawCommand,o=t.toolTitle??e.toolTitle,s=t.itemType??e.itemType,c=t.requestKind??e.requestKind,l=t.collapseKey??e.collapseKey;return{...e,...t,...r?{detail:r}:{},...i?{command:i}:{},...a?{rawCommand:a}:{},...n.length>0?{changedFiles:n}:{},...o?{toolTitle:o}:{},...s?{itemType:s}:{},...c?{requestKind:c}:{},...l?{collapseKey:l}:{}}}function q5e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function J5e(e){if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;let t=Y5e(e.toolTitle??e.label),n=e.detail?.trim()??``,r=e.itemType??``;if(t.length!==0||n.length!==0||r.length!==0)return[r,t,n].join(``)}function Y5e(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function o2(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function s2(e){return e&&typeof e==`object`?e:null}function c2(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function l2(e){let t=e.trim();if(t.startsWith(`'`)&&t.endsWith(`'`)||t.startsWith(`"`)&&t.endsWith(`"`)){let e=t.slice(1,-1).trim();return e.length>0?e:t}return t}function X5e(e){let t=l2(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function Z5e(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`"`)||t.startsWith(`'`)){let e=t.charAt(0),n=t.indexOf(e,1);return n<=0?null:{executable:t.slice(0,n+1),rest:t.slice(n+1).trim()}}let n=t.search(/\s/);return n<0?{executable:t,rest:``}:{executable:t.slice(0,n),rest:t.slice(n).trim()}}var Q5e=[{executables:[`pwsh`,`pwsh.exe`,`powershell`,`powershell.exe`],wrapperFlagPattern:/(?:^|\s)-command\s+/i},{executables:[`cmd`,`cmd.exe`],wrapperFlagPattern:/(?:^|\s)\/c\s+/i},{executables:[`bash`,`sh`,`zsh`],wrapperFlagPattern:/(?:^|\s)-(?:l)?c\s+/i}];function $5e(e){return Q5e.find(t=>t.executables.includes(e))}function e7e(e,t){let n=t.exec(e);if(!n)return null;let r=e.slice(n.index+n[0].length).trim();if(r.length===0)return null;let i=l2(r);return i.length>0?i:null}function t7e(e){let t=Z5e(e);if(!t||t.rest.length===0)return e;let n=X5e(t.executable);if(!n)return e;let r=$5e(n);return r?e7e(t.rest,r.wrapperFlagPattern)??e:e}function n7e(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function u2(e){let t=c2(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>c2(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>n7e(e)).join(` `)}function r7e(e){let t=u2(e);return t?t7e(t):null}function i7e(e,t){let n=u2(e);return!n||t===null||n===t?null:n}function a7e(e){let t=s2(e?.data),n=s2(t?.item),r=s2(n?.result),i=s2(n?.input),a=c2(e?.itemType),o=c2(e?.detail),s=[e?.command,n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?f2(o).output:null];for(let e of s){let t=r7e(e);if(t)return{command:t,rawCommand:i7e(e,t)}}return{command:null,rawCommand:null}}function o7e(e){return s7e(e)??c2(e?.title)}function s7e(e){if(!e)return null;let t=s2(e.data),n=s2(t?.item),r=s2(n?.input)??s2(t?.input),i=c2(e.title),a=c2(e.itemType),o=c2(n?.name)??c2(n?.toolName)??c2(t?.name)??c2(e.toolName)??i,s=c2(e.detail),c=[o,i,a,s].filter(Boolean).join(` `).toLowerCase();if(!c.includes(`browser`)&&!c.includes(`forge-browser`))return null;switch(c7e(o,r,s)){case`open-session`:return`Opened browser session`;case`name-session`:return`Named browser session`;case`new-tab`:return d2(r)??`Opened browser tab`;case`navigate`:return d2(r)??`Navigated browser`;case`reload`:return`Reloaded page`;case`back`:return`Went back`;case`forward`:return`Went forward`;case`screenshot`:return`Captured screenshot`;case`snapshot`:return`Read DOM snapshot`;case`logs`:return`Read console logs`;case`click`:return`Clicked page`;case`type`:return`Typed text`;case`scroll`:return`Scrolled page`;case`viewport`:return`Updated viewport`;case`visibility`:return`Updated browser visibility`;default:return null}}function c7e(e,t,n){let r=[c2(t?.type)??c2(t?.command),e,n].filter(Boolean).join(` `).toLowerCase();return/\b(open[-_.\s]?session|create[-_.\s]?session|session[-_.\s]?open)\b/.test(r)?`open-session`:/\b(name[-_.\s]?session|session[-_.\s]?name)\b/.test(r)?`name-session`:/\b(new[-_.\s]?tab|create[-_.\s]?tab|open[-_.\s]?tab)\b/.test(r)?`new-tab`:/\b(navigate|goto|go[-_.\s]?to)\b/.test(r)?`navigate`:/\breload\b/.test(r)?`reload`:/\b(go[-_.\s]?back|back)\b/.test(r)?`back`:/\b(go[-_.\s]?forward|forward)\b/.test(r)?`forward`:/\b(screenshot|capture)\b/.test(r)?`screenshot`:/\b(snapshot|dom[-_.\s]?snapshot|read[-_.\s]?dom)\b/.test(r)?`snapshot`:/\b(console[-_.\s]?logs?|logs?)\b/.test(r)?`logs`:/\bclick\b/.test(r)?`click`:/\btype|fill\b/.test(r)?`type`:/\bscroll\b/.test(r)?`scroll`:/\bviewport\b/.test(r)?`viewport`:/\bvisibility|visible|hidden\b/.test(r)?`visibility`:null}function d2(e){let t=c2(e?.url)??c2(e?.initialUrl);if(!t)return null;try{let e=new URL(t);return e.hostname.length===0?null:`Navigated to ${e.hostname}`}catch{return null}}function f2(e){let t=e.trim(),n=/^(?<output>[\s\S]*?)(?:\s*<exited with exit code (?<code>\d+)>)\s*$/i.exec(t);if(!n?.groups)return{output:t.length>0?t:null};let r=Number.parseInt(n.groups.code??``,10),i=n.groups.output?.trim()??``;return{output:i.length>0?i:null,...Number.isInteger(r)?{exitCode:r}:{}}}function l7e(e){if(typeof e?.itemType==`string`&&Lte(e.itemType))return e.itemType}function u7e(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`?e.requestKind:X0(e?.requestType)??void 0}function p2(e,t,n){let r=c2(n);!r||t.has(r)||(t.add(r),e.push(r))}function m2(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(m2(i,t,n,r+1),t.length>=12)return;return}let i=s2(e);if(i){p2(t,n,i.path),p2(t,n,i.filePath),p2(t,n,i.relativePath),p2(t,n,i.filename),p2(t,n,i.newPath),p2(t,n,i.oldPath);for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(m2(i[e],t,n,r+1),t.length>=12))return}}function d7e(e){let t=[],n=new Set;return m2(s2(e?.data),t,n,0),t}function h2(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;let n=e.createdAt.localeCompare(t.createdAt);if(n!==0)return n;let r=g2(e.kind)-g2(t.kind);return r===0?e.id.localeCompare(t.id):r}function g2(e){return e.endsWith(`.started`)||e===`tool.started`?0:e.endsWith(`.progress`)||e.endsWith(`.updated`)?1:e.endsWith(`.completed`)||e.endsWith(`.resolved`)?2:1}function f7e(e,t){return t?e.some(e=>e.turnId===t&&e.tone===`tool`):!1}function p7e(e,t,n){let r=e.map(e=>({id:e.id,kind:`message`,createdAt:e.createdAt,message:e})),i=t.map(e=>({id:e.id,kind:`proposed-plan`,createdAt:e.createdAt,proposedPlan:e})),a=n.map(e=>({id:e.id,kind:`work`,createdAt:e.createdAt,entry:e})),o=e.flatMap(e=>{if(e.role!==`assistant`)return[];let t=m7e(e.text,{workEntries:n,createdAt:e.createdAt});return t?[{id:`${e.id}:github-confirmation:${t.confirmationId}`,kind:`work`,createdAt:e.createdAt,entry:{id:`${e.id}:github-confirmation:${t.confirmationId}`,createdAt:e.createdAt,label:`GitHub action needs approval`,detail:n2(t),tone:`approval`,toolTitle:t2(t.operation),githubConfirmation:t}}]:[]});return[...r,...i,...a,...o].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function m7e(e,t){if(!e.includes(`confirm_github_tool`))return null;let n=v7e(e,/\b(?:New confirmation id|Confirmation id):\s*`?([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})`?/i)??null,r=/\bRepo(?: to create)?:\s*(private|public|internal)\s+`?([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)`?/i.exec(e);if(!n)return null;let i=h7e(e,n,t);if(i)return i;if(!r)return null;let a=r[1]?.toLowerCase(),o=r[2],s=r[3];return!o||!s?null:{confirmationId:n,toolName:`forge_github_create_repository`,operation:`create_repository`,request:{owner:o,name:s,visibility:a}}}function h7e(e,t,n){if(!g7e(e))return null;let r=_7e(n?.workEntries??[],n?.createdAt,`forge_github_refresh_credentials`)?.request,i=r?c2(r.cwd):null;return i?{confirmationId:t,toolName:`forge_github_refresh_credentials`,operation:`refresh_credentials`,request:{cwd:i}}:null}function g7e(e){return/\bforge_github_refresh_credentials\b/i.test(e)||/\bcredential refresh\b/i.test(e)||/\brefresh(?:ing)? GitHub credentials\b/i.test(e)}function _7e(e,t,n){for(let r of e.toReversed()){if(t!==void 0&&r.createdAt>t)continue;let e=r.githubConfirmation;if(e?.toolName===n)return e}return null}function v7e(e,t){return t.exec(e)?.[1]??null}function y7e(e,t){if(!t?.startedAt||!t.completedAt)return null;if(t.assistantMessageId){let n=e.find(e=>e.kind===`message`&&e.message.role===`assistant`&&e.message.id===t.assistantMessageId);if(n)return n.id}let n=Date.parse(t.startedAt),r=Date.parse(t.completedAt);if(Number.isNaN(n)||Number.isNaN(r))return null;let i=null,a=null;for(let t of e){if(t.kind!==`message`||t.message.role!==`assistant`)continue;let e=Date.parse(t.message.createdAt);Number.isNaN(e)||e<n||(a=t.id,e<=r&&(i=t.id))}return i??a}function b7e(e){let t=[...e].toSorted((e,t)=>e.completedAt.localeCompare(t.completedAt)),n={};for(let e=0;e<t.length;e+=1){let r=t[e];r&&(n[r.turnId]=e+1)}return n}function x7e(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function S7e(e,t){if(t===`disconnected`||t===`connecting`)return null;for(let t of e.toReversed())if(t.kind===`work`&&t.entry.githubConfirmation)return t.entry.githubConfirmation;return null}var _2=[`preview`,`canvas`,`diff`,`plan`,`task`,`simulator`,`display`,`agents`,`file`,`pull-request`],v2={isOpen:!1,isMaximized:!1,activeSurfaceId:null,surfaces:[]};function y2(e){return e===null?{id:`browser:new`,kind:`preview`,resourceId:null}:{id:`browser:${e}`,kind:`preview`,resourceId:e}}function C7e(e,t,n,r=`execution-intent`){return{id:`file:${e}`,kind:`file`,relativePath:e,revealLine:t,revealRequestId:n,readPolicy:r}}function b2(e){let t=[e.provider,e.environmentId,e.repositoryLinkId??``,e.projectId,e.host.toLowerCase(),e.repository,String(e.number)].map(e=>encodeURIComponent(e)).join(`:`);return{...e,id:`pull-request:${t}`,kind:`pull-request`}}function x2(e){return e===`diff`?{id:`diff`,kind:`diff`,turnId:null,filePath:null}:{id:e,kind:e}}var w7e=`workspace:pull-requests`;function S2(e){return typeof e==`object`&&!!e}function T7e(e){return typeof e==`string`&&_2.includes(e)}function C2(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1,Math.trunc(e)):null}function E7e(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}function D7e(e){let t=e.relativePath;return typeof t!=`string`||t.length===0?null:{id:`file:${t}`,kind:`file`,relativePath:t,revealLine:C2(e.revealLine),revealRequestId:E7e(e.revealRequestId),readPolicy:e.readPolicy===`connected-only`?`connected-only`:`execution-intent`}}function O7e(e){let t=e.resourceId;return t==null?{id:`browser:new`,kind:`preview`,resourceId:null}:typeof t!=`string`||t.length===0?null:{id:`browser:${t}`,kind:`preview`,resourceId:t}}function k7e(e){let t=e.turnId,n=e.filePath,r=typeof t==`string`&&t.length>0?gn.make(t):null;return{id:`diff`,kind:`diff`,turnId:r,filePath:r&&typeof n==`string`&&n.length>0?n:null}}var A7e=new Set([`github`,`gitlab`,`azure-devops`,`bitbucket`,`unknown`]);function w2(e){return typeof e==`string`&&e.length>0}function T2(e){return e===null||typeof e==`string`}function j7e(e){return e===void 0||T2(e)}function M7e(e){let t=e.provider,n=e.environmentId,r=e.repositoryLinkId,i=e.projectId,a=e.host,o=e.repository,s=C2(e.number),c=e.title;return![w2(t)&&A7e.has(t),w2(n),T2(r),w2(i),w2(a),w2(o),s!==null,j7e(c)].every(Boolean)||!w2(t)||!w2(n)?null:b2({provider:t,environmentId:an.make(n),repositoryLinkId:r,projectId:tn.make(i),host:a,repository:o,number:s,...typeof c==`string`||c===null?{title:c}:{}})}function N7e(e){if(!S2(e)||!T7e(e.kind))return null;let t=e.kind;return t===`file`?D7e(e):t===`preview`?O7e(e):t===`diff`?k7e(e):t===`pull-request`?M7e(e):{id:t,kind:t}}function P7e(e){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[]){let e=N7e(r);!e||n.has(e.id)||(n.add(e.id),t.push(e))}return t}function F7e(e){if(!S2(e))return null;let t=P7e(e.surfaces);if(t.length===0)return null;let n=e.activeSurfaceId,r=t.some(e=>e.id===n),i=typeof n==`string`&&r?n:t[0]?.id??null;return{isOpen:e.isOpen===!0,activeSurfaceId:i,surfaces:t}}function I7e(e){if(!S2(e)||!S2(e.byThreadKey))return{byThreadKey:{}};let t={};for(let[n,r]of Object.entries(e.byThreadKey)){if(n===w7e)continue;let e=F7e(r);e&&(t[n]=e)}return{byThreadKey:t}}var L7e=`forge:right-panel-state`,R7e=3,z7e=e=>e===`workspace:pull-requests`;function B7e(e){return`draft:${e}`}function V7e(e){return e.startsWith(`draft:`)}function H7e(e){return e==null||!Number.isFinite(e)?null:Math.max(1,Math.trunc(e))}var E2=(e,t,n=!0)=>({...e,isOpen:!0,surfaces:e.surfaces.some(e=>e.id===t.id)?e.surfaces:[...e.surfaces,t],activeSurfaceId:n?t.id:e.activeSurfaceId}),D2=(e,t,n)=>{let r=e[t]??v2,i=n(r);if(!i.isOpen&&i.activeSurfaceId===null&&i.surfaces.length===0){if(!(t in e))return e;let{[t]:n,...r}=e;return r}return i===r?e:{...e,[t]:i}},U7e=qt()(LJ(e=>({byThreadKey:{},open:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,e.surfaces.find(e=>e.kind===n)??x2(n)))})),openBrowser:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=n?e.surfaces.filter(e=>e.id!==`browser:new`):e.surfaces;return E2({...e,surfaces:t},y2(n))})})),revealBrowser:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,e.surfaces.find(e=>e.kind===`preview`)??y2(null)))})),openDiff:(t,n,r)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t={id:`diff`,kind:`diff`,turnId:n??null,filePath:n?r??null:null};return{...e,isOpen:!0,activeSurfaceId:t.id,surfaces:e.surfaces.some(e=>e.id===`diff`)?e.surfaces.map(e=>e.id===`diff`?t:e):[...e.surfaces,t]}})})),openFile:(t,n,r,i=`execution-intent`)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=`file:${n}`,a=e.surfaces.find(e=>e.id===t&&e.kind===`file`),o=C7e(n,H7e(r),(a?.revealRequestId??0)+1,i);return{...e,isOpen:!0,activeSurfaceId:o.id,surfaces:a?e.surfaces.map(e=>e.id===o.id?o:e):[...e.surfaces,o]}})})),openPullRequest:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>E2(e,b2(n)))})),activateSurface:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.surfaces.some(e=>e.id===n)?{...e,isOpen:!0,activeSurfaceId:n}:e)})),closeSurface:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.findIndex(e=>e.id===n);if(t<0)return e;let r=e.surfaces.filter(e=>e.id!==n);if(e.activeSurfaceId!==n)return{...e,isOpen:r.length>0&&e.isOpen,surfaces:r};let i=r[Math.min(t,r.length-1)]??null;return{...e,isOpen:r.length>0&&e.isOpen,surfaces:r,activeSurfaceId:i?.id??null}})})),closeOtherSurfaces:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.find(e=>e.id===n);return!t||e.surfaces.length===1?e:{...e,isOpen:!0,surfaces:[t],activeSurfaceId:t.id}})})),closeSurfacesToRight:(t,n)=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>{let t=e.surfaces.findIndex(e=>e.id===n);if(t<0||t===e.surfaces.length-1)return e;let r=e.surfaces.slice(0,t+1),i=r.some(t=>t.id===e.activeSurfaceId);return{...e,surfaces:r,activeSurfaceId:i?e.activeSurfaceId:n}})})),closeAllSurfaces:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,()=>v2)})),show:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>({...e,isOpen:!0}))})),close:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.isOpen?{...e,isOpen:!1,isMaximized:!1}:e)})),toggleVisibility:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>({...e,isOpen:!e.isOpen}))})),toggleMaximized:t=>e(e=>({byThreadKey:D2(e.byThreadKey,t,e=>e.isOpen?{...e,isMaximized:!(e.isMaximized??!1)}:e)})),removeThread:t=>e(e=>{if(!(t in e.byThreadKey))return e;let{[t]:n,...r}=e.byThreadKey;return{byThreadKey:r}})}),{name:L7e,version:R7e,storage:FJ(()=>KJ),partialize:e=>({byThreadKey:Object.fromEntries(Object.entries(e.byThreadKey).filter(([e])=>!V7e(e)&&!z7e(e)))}),migrate:e=>I7e(e)}));function W7e(e){return t=>e?dJ(t,e.environmentId).projectById[e.projectId]:void 0}function O2(e){let t,n,r;return i=>{let a=e(i);if(!a)return;let o=dJ(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=Nq(o,a.threadId),r)}}function G7e(e){return O2(()=>e)}function K7e(e){return t=>{if(e)return dJ(t,e.environmentId).threadSubscriptionErrorById[e.threadId]}}function q7e(e){let t,n,r,i;return a=>{if(!e){i=void 0,t=void 0,n=void 0,r=void 0;return}let o=dJ(a,e.environmentId).threadShellById,s=o[e.threadId];if(!s){i=void 0,t=void 0,n=void 0,r=void 0;return}let c=s.kind===`master`?s.id:s.parentThreadId,l=c==null?void 0:o[c];if(i&&t===o&&n===s&&r===l)return i;let u=[];if(c!=null){for(let e of Object.values(o))e.kind===`worker`&&e.parentThreadId===c&&u.push(e);u.sort((e,t)=>e.createdAt.localeCompare(t.createdAt))}return t=o,n=s,r=l,i={you:s,master:l,workers:u},i}}function J7e(e){return O2(t=>{if(!e)return;let n,r,i;for(let[a,o]of Object.entries(t.environmentStateById))if(o.threadShellById[e]){let s={environmentId:a,threadId:e};if(n??=s,t.activeEnvironmentId===a&&(r=s),o.bootstrapComplete&&(i=s,t.activeEnvironmentId===a))break}return i??r??n})}var Y7e=/https?:\/\/[^\s"'`<>]+/g,X7e=/(?:~\/|\.{1,2}\/|\/|[A-Za-z]:[\\/]|\\\\)[^\s"'`<>]+|[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+(?::\d+){0,2}/g,Z7e=/[.,;!?]+$/;function Q7e(e){let t=e.replace(Z7e,``);if(t.length===0)return t;let n=(e,n)=>{for(;t.endsWith(n);){if(t.split(e).length-1>=t.split(n).length-1)return;t=t.slice(0,-1)}};return n(`(`,`)`),n(`[`,`]`),n(`{`,`}`),t}function $7e(e,t){return e.start<t.end&&t.start<e.end}function k2(e,t,n,r){let i=[];n.lastIndex=0;for(let a of e.matchAll(n)){let e=a[0],n=a.index??-1;if(n<0||e.length===0)continue;let o=Q7e(e);if(o.length===0||t===`path`&&/^https?:\/\//i.test(o))continue;let s={kind:t,text:o,start:n,end:n+o.length};[...r,...i].some(e=>$7e(s,e))||i.push(s)}return i}function A2(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function e9e(e){return e.startsWith(`/`)||A2(e)}function j2(e){return A2(e)||/[A-Za-z]:\\/.test(e)}function M2(e,t,n){let r=e.replace(/[\\/]+$/,``);return n===`\\`?`${r}\\${t.replaceAll(`/`,`\\`)}`:`${r}/${t.replace(/^\/+/,``)}`}function t9e(e){let t=e.match(/^\/Users\/([^/]+)/);if(t?.[1])return`/Users/${t[1]}`;let n=e.match(/^\/home\/([^/]+)/);if(n?.[1])return`/home/${n[1]}`;let r=e.match(/^([A-Za-z]:\\Users\\[^\\]+)/);if(r?.[1])return r[1]}function N2(e){let t=e,n,r,i=t.match(/:(\d+)$/);if(!i?.[1])return{path:t,line:void 0,column:void 0};n=i[1],t=t.slice(0,-i[0].length);let a=t.match(/:(\d+)$/);return a?.[1]?(r=a[1],t=t.slice(0,-a[0].length)):(r=n,n=void 0),{path:t,line:r,column:n}}function n9e(e){let t=k2(e,`url`,Y7e,[]),n=k2(e,`path`,X7e,t);return[...t,...n].toSorted((e,t)=>e.start-t.start)}function r9e(e,t){let n=t(e-1);if(!n)return null;let r=e,i=n;for(;r>1&&i.isWrapped;){let e=t(r-2);if(!e)return null;--r,i=e}let a=[],o=0,s=r;for(;;){let e=t(s-1);if(!e)break;let n=t(s)?.isWrapped===!0,r=e.translateToString(!n);if(a.push({bufferLineNumber:s,text:r,startIndex:o,endIndex:o+r.length}),o+=r.length,!n)break;s+=1}return{text:a.map(e=>e.text).join(``),segments:a}}function P2(e,t){for(let n of e)if(t<n.endIndex)return{x:t-n.startIndex+1,y:n.bufferLineNumber};let n=e[e.length-1];return{x:Math.max(n?.text.length??0,1),y:n?.bufferLineNumber??1}}function i9e(e,t){return{start:P2(e.segments,t.start),end:P2(e.segments,t.end-1)}}function a9e(e,t){return e.start.y<=t&&t<=e.end.y}function o9e(e,t=typeof navigator>`u`?``:navigator.platform){return t.length===0?!1:_te(t)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function s9e(e,t){let{path:n,line:r,column:i}=N2(e),a=n;if(n.startsWith(`~/`)){let e=t9e(t);if(e){let t=j2(e)?`\\`:`/`;a=M2(e,n.slice(2),t)}}else e9e(n)||(a=M2(t,n,j2(t)?`\\`:`/`));return r?`${a}:${r}${i?`:${i}`:``}`:a}var F2=`diffs-container`,c9e=(()=>{try{return!1}catch{return!1}})(),l9e=/(?=^From [a-f0-9]+ .+$)/m,u9e=/(?=^diff --git)/gm,d9e=/(?<=\n)/,f9e=/^(---|\+\+\+)\s+([^\t\r\n]+)/,p9e=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,m9e=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,h9e=/^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i,I2=`header-prefix`,L2=`header-filename-suffix`,R2=`header-metadata`,z2=`header-custom`,B2={dark:`pierre-dark`,light:`pierre-light`},g9e=`data-theme-css`,_9e=`data-unsafe-css`,v9e=`data-diffs-scrollbar-measure`,y9e=`data-diffs-code-view-header`,b9e=`data-diffs-code-view-footer`,V2=`--diffs-scrollbar-gutter-measured`,x9e=1e5,H2={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8},S9e={...H2,hunkLineCount:1},C9e={paddingTop:8,paddingBottom:8,gap:8},w9e={omega:.015,positionEpsilon:.5,velocityEpsilon:.05},T9e=Object.freeze({fromStart:0,fromEnd:0}),E9e={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},D9e={startingLine:0,totalLines:0,bufferBefore:0,bufferAfter:0},U2=new Set,W2=null;function G2(e){U2.add(e),W2??=requestAnimationFrame(q2)}function K2(e){U2.delete(e)&&U2.size===0&&W2!=null&&(cancelAnimationFrame(W2),W2=null)}function q2(e){let t=new Set(U2);U2.clear();for(let n of t)try{n(e)}catch(e){console.error(e)}W2=U2.size>0?requestAnimationFrame(q2):null}function J2(e,t,n){if(e===t||e==null||t==null)return e===t;let r=new Set(n),i=Object.keys(e),a=new Set(Object.keys(t));for(let n of i)if(a.delete(n),!r.has(n)&&(!(n in t)||e[n]!==t[n]))return!1;for(let e of Array.from(a))if(!r.has(e))return!1;return!0}function Y2(e,t){return e==null||t==null||typeof e==`string`||typeof t==`string`?e===t:e.dark===t.dark&&e.light===t.light}function O9e(e,t){let n=e?.theme??B2,r=t?.theme??B2,i=X2(e),a=X2(t);return Y2(n,r)&&J2(e,t,[`theme`,`parseDiffOptions`])&&J2(i,a)}function X2(e){if(e!=null&&`parseDiffOptions`in e)return e.parseDiffOptions}function Z2(e,t){return e?.start===t?.start&&e?.end===t?.end&&e?.side===t?.side&&e?.endSide===t?.endSide}function k9e({scrollTop:e,scrollHeight:t,height:n,fitPerfectly:r=!1,fitPerfectlyOverscroll:i=0,overscrollSize:a}){let o=n+a*2,s=r?n+i*2:o;if(t=Math.max(t,s),o>=t||r){let n=Math.max(e-i,0),r=Math.min(e+s,t);return{top:n,bottom:Math.max(r,n)}}let c=e+n/2-o/2,l=c+o;return c<0&&(c=0),l>t&&(l=t),c=Math.floor(Math.max(c,0)),{top:c,bottom:Math.ceil(Math.max(Math.min(l,t),c))}}function Q2(e){let t=e.length;return e.charCodeAt(t-1)===10&&(t--,e.charCodeAt(t-1)===13&&t--),e.slice(0,t)}function $2(e,t){return e-(t===0?0:1)}function e4(e,t){return $2(e,t)+t}var t4=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}},A9e=new class extends t4{};function j9e(e,t,n){return A9e.diff(e,t,n)}function n4(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function r4(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function i4(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function a4(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function o4(e,t){return i4(e,t,``)}function s4(e,t){return a4(e,t,``)}function c4(e,t){return t.slice(0,M9e(e,t))}function M9e(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function l4(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function u4(e,t){if(t)return f4(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function d4(e,t){if(t)return f4(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function f4(e,t){if(!t)return[d4(e),u4(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=l4(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var p4=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,N9e=RegExp(`[${p4}]+|\\s+|[^${p4}]`,`ug`);new class extends t4{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=l4(e,r)}else n=e.match(N9e)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&m4(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&m4(n,i,r,null,t.intlSegmenter),e}};function m4(e,t,n,r,i){if(t&&n){let[a,o]=f4(t.value,i),[s,c]=f4(n.value,i);if(e){let r=n4(a,s);e.value=a4(e.value,s,r),t.value=o4(t.value,r),n.value=o4(n.value,r)}if(r){let e=r4(o,c);r.value=i4(r.value,c,e),t.value=s4(t.value,e),n.value=s4(n.value,e)}}else if(n){if(e){let e=d4(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=d4(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=d4(r.value,i),[a,o]=f4(t.value,i),s=n4(n,a);t.value=o4(t.value,s);let c=r4(o4(n,s),o);t.value=s4(t.value,c),r.value=i4(r.value,n,c),e.value=a4(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=d4(r.value,i),n=c4(u4(t.value,i),e);t.value=s4(t.value,n)}else if(e){let n=c4(u4(e.value,i),d4(t.value,i));t.value=o4(t.value,n)}}var P9e=new class extends t4{tokenize(e){let t=RegExp(`(\\r?\\n)|[${p4}]+|[^\\S\\n\\r]+|[^${p4}]`,`ug`);return e.match(t)||[]}};function F9e(e,t,n){return P9e.diff(e,t,n)}var I9e=new class extends t4{constructor(){super(...arguments),this.tokenize=g4}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
1022
1022
  `))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
1023
1023
  `))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
1024
1024
  `)&&(e=e.slice(0,-1)),t.endsWith(`
@@ -2530,4 +2530,4 @@ XID_Start XIDS`.split(/\s/).map(e=>[b5(e),e])),Lit=new Map([[`s`,U5(383)],[U5(38
2530
2530
  ${e}
2531
2531
  }
2532
2532
  }`}function Iot(e,t){let n=_9(t);return e.replace(Not,n)}function Lot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Rot({code:e,pre:t,columnType:n,rowSpan:r,containerSize:i=!1}={}){return e??(e=document.createElement(`code`),e.setAttribute(`data-code`,``),n!=null&&e.setAttribute(`data-${n}`,``),t?.appendChild(e)),r==null?e.style.removeProperty(`grid-row`):e.style.setProperty(`grid-row`,`span ${r}`),i?e.setAttribute(`data-container-size`,``):e.removeAttribute(`data-container-size`),e}function zot(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function Bot(e,{type:t,diffIndicators:n,disableBackground:r,disableLineNumbers:i,overflow:a,split:o,totalLines:s,customProperties:c}){if(c!=null)for(let t in c){let n=c[t];n!=null&&e.setAttribute(t,`${n}`)}switch(t===`diff`?(e.setAttribute(`data-diff`,``),e.removeAttribute(`data-file`)):(e.setAttribute(`data-file`,``),e.removeAttribute(`data-diff`)),n){case`bars`:case`classic`:e.setAttribute(`data-indicators`,n);break;case`none`:e.removeAttribute(`data-indicators`)}return i?e.setAttribute(`data-disable-line-numbers`,``):e.removeAttribute(`data-disable-line-numbers`),r?e.removeAttribute(`data-background`):e.setAttribute(`data-background`,``),t===`diff`?e.setAttribute(`data-diff-type`,o?`split`:`single`):e.removeAttribute(`data-diff-type`),e.setAttribute(`data-overflow`,a),e.style.setProperty(`--diffs-min-number-column-width-default`,`${`${s}`.length}ch`),e}function Vot(e){if(typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement)return!0;let t=e.tagName??e.nodeName;return typeof t==`string`&&t.toLowerCase()===`style`}function Hot(e){return e?.useTokenTransformer===!0||e?.onTokenClick!=null||e?.onTokenEnter!=null||e?.onTokenLeave!=null}function Uot(e,t){let n=e?.offsetHeight??0;if(e==null||n===0){t();return}e.style.minHeight=`${n}px`;try{t(),e.offsetHeight}finally{e.style.minHeight=``}}function Wot({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=Got(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function Got(){let e=document.createElement(`style`);return e.setAttribute(g9e,``),e}var Kot=void 0;function qot(){return Kot??=`safari`in window&&`pushNotification`in window.safari||/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}if(typeof HTMLElement<`u`&&customElements.get(`diffs-container`)==null){let e;class t extends HTMLElement{constructor(){if(super(),this.shadowRoot!=null)return;let t=this.attachShadow({mode:`open`});e??(e=new CSSStyleSheet,e.replaceSync(Mot)),t.adoptedStyleSheets=[e]}connectedCallback(){g9(this.shadowRoot??this.attachShadow({mode:`open`}))}}customElements.define(F2,t)}function Jot(e){return{...H2,...e}}function Yot(e,t){let n=Xot(e,t);return t?n:e.diffHeaderHeight+n}function Xot(e,t){return e.paddingTop??(t?e.spacing:0)}function Zot(e){return e.paddingBottom??e.spacing}function Qot(e){switch(e){case`simple`:return 4;case`metadata`:case`line-info`:case`line-info-basic`:case`custom`:return 32}}function y9(e,t){return e===t||e?.cacheKey!=null&&e.cacheKey===t?.cacheKey}function b9(e,t){return Y2(e.theme,t.theme)&&e.useTokenTransformer===t.useTokenTransformer&&e.tokenizeMaxLineLength===t.tokenizeMaxLineLength&&e.lineDiffType===t.lineDiffType&&e.maxLineDiffLength===t.maxLineDiffLength}function x9({line:e,spanStart:t,spanLength:n}){return{start:{line:e,character:t},end:{line:e,character:t+n},properties:{"data-diff-span":``},alwaysWrap:!0}}function S9({item:e,arr:t,enableJoin:n,isNeutral:r=!1,isLastItem:i=!1}){let a=t[t.length-1];if(a==null||i||!n){t.push([+!r,e.value]);return}let o=a[0]===0;if(r===o||r&&e.value.length===1&&!o){a[1]+=e.value;return}t.push([+!r,e.value])}function C9(e){return[$2(e.additionStart,e.additionCount)+1,e4(e.additionStart,e.additionCount)+1]}function w9({isPartial:e,rangeSize:t,expandedHunks:n,hunkIndex:r,collapsedContextThreshold:i}){let a=Math.max(t,0);if(a===0||e)return{fromStart:0,fromEnd:0,rangeSize:a,collapsedLines:a,renderAll:!1};if(n===!0||a<=i)return{fromStart:a,fromEnd:0,rangeSize:a,collapsedLines:0,renderAll:!0};let o=n?.get(r),s=Math.min(Math.max(o?.fromStart??0,0),a),c=Math.min(Math.max(o?.fromEnd??0,0),a),l=s+c,u=l>=a;return{fromStart:u?a:s,fromEnd:u?0:c,rangeSize:a,collapsedLines:Math.max(a-l,0),renderAll:u}}function $ot(e){let t=e.hunks[e.hunks.length-1];if(t==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0)return!1;let n=e.additionLines.length-e4(t.additionStart,t.additionCount),r=e.deletionLines.length-e4(t.deletionStart,t.deletionCount);return n<=0&&r<=0?!1:n!==r}function T9({fileDiff:e,errorPrefix:t}){let n=e.hunks[e.hunks.length-1];if(n==null||e.isPartial||e.additionLines.length===0||e.deletionLines.length===0)return 0;let r=e.additionLines.length-e4(n.additionStart,n.additionCount),i=e.deletionLines.length-e4(n.deletionStart,n.deletionCount);if(r<=0&&i<=0)return 0;if(r!==i)throw Error(`${t}: trailing context mismatch (additions=${r}, deletions=${i}) for ${e.name}`);return Math.min(r,i)}function E9({fileDiff:e,hunkIndex:t,expandedHunks:n,collapsedContextThreshold:r,errorPrefix:i}){if(t!==e.hunks.length-1)return;let a=T9({fileDiff:e,errorPrefix:i});if(a<=0)return;if(n===!0||a<=r)return{fromStart:a,fromEnd:0,rangeSize:a,collapsedLines:0,renderAll:!0};let o=n?.get(e.hunks.length),s=Math.min(Math.max(o?.fromStart??0,0),a);return{fromStart:s,fromEnd:0,rangeSize:a,collapsedLines:a-s,renderAll:s>=a}}function est({fileDiff:e,lineNumber:t,expandedHunks:n,collapsedContextThreshold:r}){if(n===!0||e.isPartial)return!0;for(let[i,a]of e.hunks.entries()){let[o,s]=C9(a);if(t<o){let s=w9({isPartial:e.isPartial,rangeSize:a.collapsedBefore,expandedHunks:n,hunkIndex:i,collapsedContextThreshold:r}),c=o-s.rangeSize;return s.renderAll||t<c+s.fromStart||t>=o-s.fromEnd}if(t<s)return!0}let i=E9({fileDiff:e,hunkIndex:e.hunks.length-1,expandedHunks:n,collapsedContextThreshold:r,errorPrefix:`isAdditionLineRenderable`});if(i==null||i.renderAll)return!0;let a=e.hunks[e.hunks.length-1],[,o]=C9(a);return t<o+i.fromStart||t>=o+i.rangeSize}function tst({fileDiff:e,lineNumber:t,direction:n,expandedHunks:r,collapsedContextThreshold:i}){if(r===!0||e.isPartial)return t;let a=[],o=1;for(let[t,n]of e.hunks.entries()){let[s,c]=C9(n),l=w9({isPartial:e.isPartial,rangeSize:n.collapsedBefore,expandedHunks:r,hunkIndex:t,collapsedContextThreshold:i}),u=s-l.rangeSize;l.renderAll?a.push([u,s]):(l.fromStart>0&&a.push([u,u+l.fromStart]),l.fromEnd>0&&a.push([s-l.fromEnd,s])),a.push([s,c]),o=c}let s=E9({fileDiff:e,hunkIndex:e.hunks.length-1,expandedHunks:r,collapsedContextThreshold:i,errorPrefix:`getNearestRenderableAdditionLine`});if(s!=null){let e=o;o=e+s.rangeSize,s.renderAll?a.push([e,o]):s.fromStart>0&&a.push([e,e+s.fromStart])}if(t>=o)return t;if(n===`down`){for(let[e,n]of a)if(n>t)return Math.max(e,t);return}for(let e=a.length-1;e>=0;e--){let[n,r]=a[e];if(n<=t)return Math.min(r-1,t)}}function D9({type:e,metrics:t}){return t.hunkSeparatorHeight??Qot(e)}function O9({type:e,metrics:t}){return e===`simple`||e===`metadata`||e===`line-info-basic`?0:t.spacing}function nst({type:e,hunkIndex:t,hunkSpecs:n}){switch(e){case`simple`:return t>0;case`metadata`:return n!=null;case`line-info`:case`line-info-basic`:case`custom`:return!0}}function rst(e){return e!==`simple`&&e!==`metadata`}function ist({type:e,metrics:t,hunkIndex:n,hunkSpecs:r}){if(!nst({type:e,hunkIndex:n,hunkSpecs:r}))return;let i=D9({type:e,metrics:t}),a=O9({type:e,metrics:t}),o=n>0?a:0,s=a;return{height:i,gapBefore:o,gapAfter:s,totalHeight:o+i+s}}function ast({type:e,metrics:t}){if(!rst(e))return;let n=D9({type:e,metrics:t}),r=O9({type:e,metrics:t});return{height:n,gapBefore:r,gapAfter:0,totalHeight:r+n}}function k9({diff:e,diffStyle:t,startingLine:n=0,totalLines:r=1/0,expandedHunks:i,collapsedContextThreshold:a=1,callback:o}){let s=ost({diff:e,diffStyle:t,startingLine:n,expandedHunks:i,collapsedContextThreshold:a}),c={viewportStart:n,viewportEnd:n+r,isWindowedHighlight:n>0||r<1/0,splitCount:s.splitCount,unifiedCount:s.unifiedCount,finalHunkIndex:e.hunks.length-1,shouldBreak(){if(!c.isWindowedHighlight)return!1;let e=c.unifiedCount>=n+r,i=c.splitCount>=n+r;return t===`unified`?e:(t===`split`||e)&&i},shouldSkip(e,r){if(!c.isWindowedHighlight)return!1;let i=e>0&&c.unifiedCount+e<=n,a=r>0&&c.splitCount+r<=n;return t===`unified`?i:(t===`split`||i)&&a},incrementCounts(e,n){(t===`unified`||t===`both`)&&(c.unifiedCount+=e),(t===`split`||t===`both`)&&(c.splitCount+=n)},isInWindow(e,n){if(!c.isWindowedHighlight)return!0;let r=c.isInUnifiedWindow(e),i=c.isInSplitWindow(n);return t===`unified`?r:t===`split`?i:r||i},isInUnifiedWindow(e){return!c.isWindowedHighlight||c.unifiedCount>=n-e&&c.unifiedCount<n+r},isInSplitWindow(e){return!c.isWindowedHighlight||c.splitCount>=n-e&&c.splitCount<n+r},emit(e,n=!1){return n||(t===`unified`?c.incrementCounts(1,0):t===`split`?c.incrementCounts(0,1):c.incrementCounts(1,1)),o(e)??!1}};hunkIterator:for(let n=s.hunkIndex;n<e.hunks.length;n++){let r=e.hunks[n];if(r==null)throw Error(`iterateOverDiff: invalid hunk index`);if(c.shouldBreak())break;let o=$2(r.deletionStart,r.deletionCount),s=$2(r.additionStart,r.additionCount),l=!e.isPartial&&r.deletionCount===0?o:r.deletionLineIndex,u=!e.isPartial&&r.additionCount===0?s:r.additionLineIndex,d=w9({isPartial:e.isPartial,rangeSize:r.collapsedBefore,expandedHunks:i,hunkIndex:n,collapsedContextThreshold:a}),f=n===c.finalHunkIndex?E9({fileDiff:e,hunkIndex:n,expandedHunks:i,collapsedContextThreshold:a,errorPrefix:`iterateOverDiff`}):void 0,p=d.fromStart+d.fromEnd;function m(e,n){return f==null||f.collapsedLines<=0||f.fromStart+f.fromEnd>0?0:t===`unified`?e===r.unifiedLineStart+r.unifiedLineCount-1?f.collapsedLines:0:n===r.splitLineStart+r.splitLineCount-1?f.collapsedLines:0}let h=d.collapsedLines===0;function g(){return h?0:(h=!0,d.collapsedLines)}if(c.shouldSkip(p,p))c.incrementCounts(p,p),g();else{let e=r.unifiedLineStart-d.rangeSize,i=r.splitLineStart-d.rangeSize,a=l-d.rangeSize,f=u-d.rangeSize,p=o+1-d.rangeSize,m=s+1-d.rangeSize;if(A9(c,d.fromStart,t,t=>c.emit({hunkIndex:n,hunk:r,collapsedBefore:0,collapsedAfter:0,type:`context-expanded`,deletionLine:{lineNumber:p+t,lineIndex:a+t,noEOFCR:!1,unifiedLineIndex:e+t,splitLineIndex:i+t},additionLine:{unifiedLineIndex:e+t,splitLineIndex:i+t,lineIndex:f+t,lineNumber:m+t,noEOFCR:!1}}))||(e=r.unifiedLineStart-d.fromEnd,i=r.splitLineStart-d.fromEnd,a=l-d.fromEnd,f=u-d.fromEnd,p=o+1-d.fromEnd,m=s+1-d.fromEnd,A9(c,d.fromEnd,t,t=>c.emit({hunkIndex:n,hunk:r,collapsedBefore:g(),collapsedAfter:0,type:`context-expanded`,deletionLine:{lineNumber:p+t,lineIndex:a+t,noEOFCR:!1,unifiedLineIndex:e+t,splitLineIndex:i+t},additionLine:{unifiedLineIndex:e+t,splitLineIndex:i+t,lineIndex:f+t,lineNumber:m+t,noEOFCR:!1}}),()=>{g()})))break hunkIterator}let _=r.unifiedLineStart,v=r.splitLineStart,y=l,b=u,x=o+1,S=s+1,C=r.hunkContent.at(-1);for(let e of r.hunkContent){if(c.shouldBreak())break hunkIterator;let i=e===C;if(e.type===`context`){if(c.shouldSkip(e.lines,e.lines))c.incrementCounts(e.lines,e.lines),g();else if(A9(c,e.lines,t,t=>{let a=i&&t===e.lines-1,o=_+t,s=v+t;return c.emit({hunkIndex:n,hunk:r,collapsedBefore:g(),collapsedAfter:m(o,s),type:`context`,deletionLine:{lineNumber:x+t,lineIndex:y+t,noEOFCR:a&&r.noEOFCRDeletions,unifiedLineIndex:o,splitLineIndex:s},additionLine:{unifiedLineIndex:o,splitLineIndex:s,lineIndex:b+t,lineNumber:S+t,noEOFCR:a&&r.noEOFCRAdditions}})},()=>{g()}))break hunkIterator;_+=e.lines,v+=e.lines,y+=e.lines,b+=e.lines,x+=e.lines,S+=e.lines}else{let a=Math.max(e.deletions,e.additions),o=e.deletions+e.additions;if(!c.shouldSkip(o,a)){let s=lst(c,e,t);(s[0]?.[0]??0)>0&&g();for(let[l,u]of s)for(let s=l;s<u;s++){let l=m(_+s,t===`unified`?v+(s<e.deletions?s:s-e.deletions):v+s);if(c.emit(ust({hunkIndex:n,hunk:r,collapsedBefore:g(),collapsedAfter:l,diffStyle:t,index:s,unifiedLineIndex:_,splitLineIndex:v,additionLineIndex:b,deletionLineIndex:y,additionLineNumber:S,deletionLineNumber:x,content:e,isLastContent:i,unifiedCount:o,splitCount:a}),!0))break hunkIterator}}g(),c.incrementCounts(o,a),_+=o,v+=a,y+=e.deletions,b+=e.additions,x+=e.deletions,S+=e.additions}}if(f!=null){let{collapsedLines:n,fromStart:r,fromEnd:i}=f,a=r+i;if(A9(c,a,t,t=>{let r=t===a-1;return c.emit({hunkIndex:e.hunks.length,hunk:void 0,collapsedBefore:0,collapsedAfter:r?n:0,type:`context-expanded`,deletionLine:{lineNumber:x+t,lineIndex:y+t,noEOFCR:!1,unifiedLineIndex:_+t,splitLineIndex:v+t},additionLine:{unifiedLineIndex:_+t,splitLineIndex:v+t,lineIndex:b+t,lineNumber:S+t,noEOFCR:!1}})},void 0,()=>c.shouldBreak()))break hunkIterator}}}function ost({diff:e,diffStyle:t,startingLine:n,expandedHunks:r,collapsedContextThreshold:i}){if(n<=0||t===`both`)return{hunkIndex:0,splitCount:0,unifiedCount:0};let a=sst({diff:e,expandedHunks:r,collapsedContextThreshold:i}),o=0,s=e.hunks.length-1,c=e.hunks.length;for(;o<=s;){let e=o+s>>1,r=a[e+1];if(r==null)throw Error(`iterateOverDiff: invalid hunk prefix index`);(t===`unified`?r.unifiedCount:r.splitCount)>n?(c=e,s=e-1):o=e+1}if(c>=e.hunks.length){let t=a[e.hunks.length];if(t==null)throw Error(`iterateOverDiff: invalid terminal hunk prefix index`);return{hunkIndex:e.hunks.length,splitCount:t.splitCount,unifiedCount:t.unifiedCount}}let l=a[c];if(l==null)throw Error(`iterateOverDiff: invalid selected hunk prefix index`);return{hunkIndex:c,splitCount:l.splitCount,unifiedCount:l.unifiedCount}}function sst({diff:e,expandedHunks:t,collapsedContextThreshold:n}){let r=0,i=0,a=e.hunks.length-1,o=[{splitCount:0,unifiedCount:0}];for(let s=0;s<e.hunks.length;s++){let c=e.hunks[s];if(c==null)throw Error(`iterateOverDiff: invalid hunk summary index`);let l=w9({isPartial:e.isPartial,rangeSize:c.collapsedBefore,expandedHunks:t,hunkIndex:s,collapsedContextThreshold:n}),u=l.fromStart+l.fromEnd;r+=u+c.splitLineCount,i+=u+c.unifiedLineCount;let d=s===a?E9({fileDiff:e,hunkIndex:s,expandedHunks:t,collapsedContextThreshold:n,errorPrefix:`iterateOverDiff`}):void 0;if(d!=null){let e=d.fromStart+d.fromEnd;r+=e,i+=e}o.push({splitCount:r,unifiedCount:i})}return o}function cst(e,t,n){if(!e.isWindowedHighlight||t<=0)return[0,t];let r=[];function i(n){let i=Math.max(0,e.viewportStart-n),a=Math.min(t,e.viewportEnd-n);a>i&&r.push([i,a])}if(n!==`split`&&i(e.unifiedCount),n!==`unified`&&i(e.splitCount),r.length===0)return[0,0];let a=r[0][0],o=r[0][1];for(let e=1;e<r.length;e++){let t=r[e];a=Math.min(a,t[0]),o=Math.max(o,t[1])}return[a,o]}function A9(e,t,n,r,i,a){let[o,s]=cst(e,t,n);o>0&&(e.incrementCounts(o,o),i?.());let c=o;for(;c<t;){if(a?.()===!0)return!0;if(c>=s){e.incrementCounts(t-c,t-c);break}if(e.isInWindow(0,0)){if(r(c)===!0)return!0}else e.incrementCounts(1,1);c++}return!1}function lst(e,t,n){if(!e.isWindowedHighlight)return[[0,n===`unified`?t.deletions+t.additions:Math.max(t.deletions,t.additions)]];let r=n!==`split`,i=n!==`unified`,a=n===`unified`?`unified`:`split`,o=[];function s(t,n){if(t+n<=e.viewportStart||t>=e.viewportEnd)return;let r=Math.max(0,e.viewportStart-t),i=Math.min(n,e.viewportEnd-t);return i>r?[r,i]:void 0}function c(e,n){return a===`split`?e:n===`additions`?[e[0]+t.deletions,e[1]+t.deletions]:e}function l(e,t){if(e==null)return;let[n,r]=c(e,t);r>n&&o.push([n,r])}if(r&&(l(s(e.unifiedCount,t.deletions),`deletions`),l(s(e.unifiedCount+t.deletions,t.additions),`additions`)),i&&(l(s(e.splitCount,t.deletions),`deletions`),l(s(e.splitCount,t.additions),`additions`)),o.length===0)return o;o.sort((e,t)=>e[0]-t[0]);let u=[o[0]];for(let[e,t]of o.slice(1)){let n=u[u.length-1];e<=n[1]?n[1]=Math.max(n[1],t):u.push([e,t])}return u}function ust({hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,diffStyle:i,index:a,unifiedLineIndex:o,splitLineIndex:s,additionLineIndex:c,deletionLineIndex:l,additionLineNumber:u,deletionLineNumber:d,content:f,isLastContent:p,unifiedCount:m,splitCount:h}){let g=a<f.deletions?o+a:void 0,_=i===`unified`?a>=f.deletions?o+a:void 0:a<f.additions?o+f.deletions+a:void 0,v=i===`unified`?s+(a<f.deletions?a:a-f.deletions):s+a,y=a<f.deletions?l+a:void 0,b=a<f.deletions?d+a:void 0,x=i===`unified`?a>=f.deletions?c+(a-f.deletions):void 0:a<f.additions?c+a:void 0,S=i===`unified`?a>=f.deletions?u+(a-f.deletions):void 0:a<f.additions?u+a:void 0,C=i===`unified`?p&&a===f.deletions-1&&t.noEOFCRDeletions:p&&a===h-1&&t.noEOFCRDeletions,w=i===`unified`?p&&a===m-1&&t.noEOFCRAdditions:p&&a===h-1&&t.noEOFCRAdditions,T=y!=null&&b!=null&&g!=null?{lineNumber:b,lineIndex:y,noEOFCR:C,unifiedLineIndex:g,splitLineIndex:v}:void 0,E=x!=null&&S!=null&&_!=null?{unifiedLineIndex:_,splitLineIndex:v,lineIndex:x,lineNumber:S,noEOFCR:w}:void 0;if(T==null&&E!=null)return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:void 0,additionLine:E};if(T!=null&&E==null)return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:T,additionLine:void 0};if(T==null||E==null)throw Error(`iterateOverDiff: missing change line data`);return{type:`change`,hunkIndex:e,hunk:t,collapsedAfter:n,collapsedBefore:r,deletionLine:T,additionLine:E}}var dst={forcePlainText:!1};function j9(e,t,n,{forcePlainText:r,startingLine:i,totalLines:a,expandedHunks:o,collapsedContextThreshold:s=1}=dst){r?(i??=0,a??=1/0):(i=0,a=1/0);let c=i>0||a<1/0,l=typeof n.theme==`string`?t.getTheme(n.theme).type:void 0,u=o9({theme:n.theme,highlighter:t}),d=r&&!c&&(e.unifiedLineCount>1e3||e.splitLineCount>1e3)?`none`:n.lineDiffType,f={deletionLines:[],additionLines:[]},{maxLineDiffLength:p}=n,m=!r&&!e.isPartial,h=r?o:void 0,g=new Map;function _(e){let t=m?0:e,n=g.get(t)??pst();return g.set(t,n),n}function v(e,t,n,r){if(c){let e=n.at(-1);(e==null||e.targetIndex+e.count!==t)&&(e={targetIndex:t,originalOffset:r.length,count:0},n.push(e)),e.count++}r.push(e)}k9({diff:e,diffStyle:`both`,startingLine:i,totalLines:a,expandedHunks:!c||h,collapsedContextThreshold:s,callback:({hunkIndex:t,additionLine:n,deletionLine:r,type:i})=>{let a=_(t),o=n==null?r.splitLineIndex:n.splitLineIndex;i===`change`&&n!=null&&r!=null&&fst({additionLine:e.additionLines[n.lineIndex],deletionLine:e.deletionLines[r.lineIndex],deletionLineIndex:a.deletionContent.length,additionLineIndex:a.additionContent.length,deletionDecorations:a.deletionDecorations,additionDecorations:a.additionDecorations,lineDiffType:d,maxLineDiffLength:p}),r!=null&&(v(e.deletionLines[r.lineIndex],r.lineIndex,a.deletionSegments,a.deletionContent),a.deletionInfo.push({type:i===`change`?`change-deletion`:i,lineNumber:r.lineNumber,altLineNumber:i===`change`?void 0:n.lineNumber??void 0,lineIndex:`${r.unifiedLineIndex},${o}`})),n!=null&&(v(e.additionLines[n.lineIndex],n.lineIndex,a.additionSegments,a.additionContent),a.additionInfo.push({type:i===`change`?`change-addition`:i,lineNumber:n.lineNumber,altLineNumber:i===`change`?void 0:r.lineNumber??void 0,lineIndex:`${n.unifiedLineIndex},${o}`}))}});for(let i of g.values()){if(i.deletionContent.length===0&&i.additionContent.length===0)continue;let a={name:e.prevName??e.name,contents:i.deletionContent.value},o={name:e.name,contents:i.additionContent.value},{deletionLines:s,additionLines:c}=mst({deletionFile:a,deletionInfo:i.deletionInfo,deletionDecorations:i.deletionDecorations,additionFile:o,additionInfo:i.additionInfo,additionDecorations:i.additionDecorations,highlighter:t,options:n,languageOverride:r?`text`:e.lang});if(m){f.deletionLines=s,f.additionLines=c;continue}if(i.deletionSegments.length>0)for(let e of i.deletionSegments)for(let t=0;t<e.count;t++)f.deletionLines[e.targetIndex+t]=s[e.originalOffset+t];else f.deletionLines.push(...s);if(i.additionSegments.length>0)for(let e of i.additionSegments)for(let t=0;t<e.count;t++)f.additionLines[e.targetIndex+t]=c[e.originalOffset+t];else f.additionLines.push(...c)}return{code:f,themeStyles:u,baseThemeType:l}}function fst({deletionLine:e,additionLine:t,deletionLineIndex:n,additionLineIndex:r,deletionDecorations:i,additionDecorations:a,lineDiffType:o,maxLineDiffLength:s}){if(e==null||t==null||o===`none`||(e=Q2(e),t=Q2(t),e.length>s||t.length>s))return;let c=o===`char`?j9e(e,t):F9e(e,t),l=[],u=[],d=o===`word-alt`,f=c.at(-1);for(let e of c){let t=e===f;!e.added&&!e.removed?(S9({item:e,arr:l,enableJoin:d,isNeutral:!0,isLastItem:t}),S9({item:e,arr:u,enableJoin:d,isNeutral:!0,isLastItem:t})):e.removed?S9({item:e,arr:l,enableJoin:d,isLastItem:t}):S9({item:e,arr:u,enableJoin:d,isLastItem:t})}let p=0;for(let e of l)e[0]===1&&i.push(x9({line:n,spanStart:p,spanLength:e[1].length})),p+=e[1].length;p=0;for(let e of u)e[0]===1&&a.push(x9({line:r,spanStart:p,spanLength:e[1].length})),p+=e[1].length}function pst(){return{deletionContent:{push(e){this.value+=e,this.length++},value:``,length:0},additionContent:{push(e){this.value+=e,this.length++},value:``,length:0},deletionInfo:[],additionInfo:[],deletionDecorations:[],additionDecorations:[],deletionSegments:[],additionSegments:[]}}function mst({deletionFile:e,additionFile:t,deletionInfo:n,additionInfo:r,highlighter:i,deletionDecorations:a,additionDecorations:o,languageOverride:s,options:{theme:c=B2,...l}}){let u=s??W7(e.name),d=s??W7(t.name),{state:f,transformers:p}=Z7(l.useTokenTransformer),m=typeof c==`string`?{...l,lang:`text`,theme:c,transformers:p,decorations:void 0,defaultColor:!1,cssVariablePrefix:$7(`token`),tokenizeTimeLimit:0}:{...l,lang:`text`,themes:c,transformers:p,decorations:void 0,defaultColor:!1,cssVariablePrefix:$7(`token`),tokenizeTimeLimit:0};return{deletionLines:e.contents===``?[]:(m.lang=u,f.lineInfo=n,m.decorations=a,c9(i.codeToHast(Q2(e.contents),m))),additionLines:t.contents===``?[]:(m.lang=d,m.decorations=o,f.lineInfo=r,c9(i.codeToHast(Q2(t.contents),m)))}}function M9(e){let t=e.lang??W7(e.name),n=e.lang??(e.prevName==null?`text`:W7(e.prevName));return t===`text`&&n===`text`}function N9(e){let t=[];for(let n of e){let e=I3.get(n);if(e==null)throw Error(`getResolvedLanguages: ${n} is not resolved. Please resolve languages before calling getResolvedLanguages`);t.push(e)}return t}function P9(e){for(let t of Array.isArray(e)?e:[e])if(!I3.has(t))return!1;return!0}async function F9(e){let t=[],n=[];for(let r of e){if(r===`text`||r===`ansi`)continue;let e=w7(r)??C7(r);`then`in e?n.push(e):t.push(e)}return n.length>0&&await Promise.all(n).then(e=>{for(let n of e){if(n==null)throw Error(`resolvedLanguages: unable to resolve language`);t.push(n)}}),t}function I9(e){return k7.getResolvedThemes(e)}async function L9(e){for(let t of e)F7(t);let t=await k7.resolveThemes(e);for(let n=0;n<e.length;n++)I7(e[n],t[n]);return t}var R9={light:`pierre-light`,dark:`pierre-dark`};function hst(e){return e===`dark`?R9.dark:R9.light}var z9=2166136261,B9=16777619,gst=2654435769,_st=2246822507;function V9(e,t=z9,n=B9){let r=t>>>0;for(let t=0;t<e.length;t+=1)r^=e.charCodeAt(t),r=Math.imul(r,n)>>>0;return r>>>0}function vst(e,t=`diff-panel`){let n=e.trim(),r=V9(n,z9,B9).toString(36),i=V9(n,gst,_st).toString(36);return`${t}:${n.length}:${r}:${i}`}function yst(e){let t=(0,F.useRef)(e);return(0,F.useInsertionEffect)(()=>void(t.current=e)),(0,F.useCallback)((...e)=>t.current(...e),[])}var bst=(0,F.createContext)(void 0);function xst(){return(0,F.useContext)(bst)}var Sst={position:`absolute`,top:0,bottom:0,textAlign:`center`,whiteSpace:`normal`,touchAction:`none`},Cst={display:`contents`};function wst(){return null}var H9=t(n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e):typeof define==`function`&&define.amd?define([`exports`],r):r((n||=self).lru_map=n.lru_map||{})})(e,function(e){let t=Symbol(`newer`),n=Symbol(`older`);class r{constructor(e,t){typeof e!=`number`&&(t=e,e=0),this.size=0,this.limit=e,this.oldest=this.newest=void 0,this._keymap=new Map,t&&(this.assign(t),e<1&&(this.limit=this.size))}_markEntryAsUsed(e){e!==this.newest&&(e[t]&&(e===this.oldest&&(this.oldest=e[t]),e[t][n]=e[n]),e[n]&&(e[n][t]=e[t]),e[t]=void 0,e[n]=this.newest,this.newest&&(this.newest[t]=e),this.newest=e)}assign(e){let r,a=this.limit||Number.MAX_VALUE;this._keymap.clear();let o=e[Symbol.iterator]();for(let e=o.next();!e.done;e=o.next()){let o=new i(e.value[0],e.value[1]);if(this._keymap.set(o.key,o),r?(r[t]=o,o[n]=r):this.oldest=o,r=o,a--==0)throw Error(`overflow`)}this.newest=r,this.size=this._keymap.size}get(e){var t=this._keymap.get(e);return t?(this._markEntryAsUsed(t),t.value):void 0}set(e,r){var a=this._keymap.get(e);return a?(a.value=r,this._markEntryAsUsed(a),this):(this._keymap.set(e,a=new i(e,r)),this.newest?(this.newest[t]=a,a[n]=this.newest):this.oldest=a,this.newest=a,++this.size,this.size>this.limit&&this.shift(),this)}shift(){var e=this.oldest;if(e)return this.oldest[t]?(this.oldest=this.oldest[t],this.oldest[n]=void 0):(this.oldest=void 0,this.newest=void 0),e[t]=e[n]=void 0,this._keymap.delete(e.key),--this.size,[e.key,e.value]}find(e){let t=this._keymap.get(e);return t?t.value:void 0}has(e){return this._keymap.has(e)}delete(e){var r=this._keymap.get(e);return r?(this._keymap.delete(r.key),r[t]&&r[n]?(r[n][t]=r[t],r[t][n]=r[n]):r[t]?(r[t][n]=void 0,this.oldest=r[t]):r[n]?(r[n][t]=void 0,this.newest=r[n]):this.oldest=this.newest=void 0,this.size--,r.value):void 0}clear(){this.oldest=this.newest=void 0,this.size=0,this._keymap.clear()}keys(){return new o(this.oldest)}values(){return new s(this.oldest)}entries(){return this}[Symbol.iterator](){return new a(this.oldest)}forEach(e,n){typeof n!=`object`&&(n=this);let r=this.oldest;for(;r;)e.call(n,r.value,r.key,this),r=r[t]}toJSON(){for(var e=Array(this.size),n=0,r=this.oldest;r;)e[n++]={key:r.key,value:r.value},r=r[t];return e}toString(){for(var e=``,n=this.oldest;n;)e+=String(n.key)+`:`+n.value,n=n[t],n&&(e+=` < `);return e}}e.LRUMap=r;function i(e,r){this.key=e,this.value=r,this[t]=void 0,this[n]=void 0}function a(e){this.entry=e}a.prototype[Symbol.iterator]=function(){return this},a.prototype.next=function(){let e=this.entry;return e?(this.entry=e[t],{done:!1,value:[e.key,e.value]}):{done:!0,value:void 0}};function o(e){this.entry=e}o.prototype[Symbol.iterator]=function(){return this},o.prototype.next=function(){let e=this.entry;return e?(this.entry=e[t],{done:!1,value:e.key}):{done:!0,value:void 0}};function s(e){this.entry=e}s.prototype[Symbol.iterator]=function(){return this},s.prototype.next=function(){let e=this.entry;return e?(this.entry=e[t],{done:!1,value:e.value}):{done:!0,value:void 0}}})}))(),1),U9=Symbol(`IGNORE_RESPONSE`),W9=class extends Error{constructor(){super(`WorkerPoolManager: operation canceled because the pool terminated`)}},G9=class extends Error{constructor(){super(`WorkerPoolManager: operation canceled before the task completed`)}},Tst=class{options;highlighter;preferredHighlighter;renderOptions;renderOptionsRequestVersion=0;renderOptionsVersion=0;initialized=!1;workers=[];queuedTasks=[];queuedTaskByInstance=new Map;taskByHighlightKey=new Map;activeTaskById=new Map;activeRequestByInstance=new Map;nextRequestId=0;themeSubscribers=new Set;workersFailed=!1;statSubscribers=new Set;fileCache;diffCache;_queuedBroadcast;lifecycleGeneration=0;constructor(e,{langs:t,theme:n=B2,useTokenTransformer:r=!1,lineDiffType:i=`word-alt`,maxLineDiffLength:a=1e3,tokenizeMaxLineLength:o=1e3,preferredHighlighter:s=`shiki-js`}){this.options=e,this.preferredHighlighter=s,this.renderOptions={theme:n,useTokenTransformer:r,lineDiffType:i,maxLineDiffLength:a,tokenizeMaxLineLength:o},this.fileCache=new H9.default.LRUMap(e.totalASTLRUCacheSize??100),this.diffCache=new H9.default.LRUMap(e.totalASTLRUCacheSize??100),this.queueInitialization(t)}isWorkingPool(){return!this.workersFailed}getFileResultCache(e){return e.cacheKey==null?void 0:this.fileCache.get(e.cacheKey)}getDiffResultCache(e){return e.cacheKey==null?void 0:this.diffCache.get(e.cacheKey)}inspectCaches(){let{fileCache:e,diffCache:t}=this;return{fileCache:e,diffCache:t}}evictFileFromCache(e){try{return this.fileCache.delete(e)!==void 0}finally{this.queueBroadcastStateChanges()}}evictDiffFromCache(e){try{return this.diffCache.delete(e)!==void 0}finally{this.queueBroadcastStateChanges()}}async setRenderOptions({theme:e=this.renderOptions.theme??B2,useTokenTransformer:t=this.renderOptions.useTokenTransformer??!1,lineDiffType:n=this.renderOptions.lineDiffType??`word-alt`,maxLineDiffLength:r=this.renderOptions.maxLineDiffLength??1e3,tokenizeMaxLineLength:i=this.renderOptions.tokenizeMaxLineLength??1e3}){let{lifecycleGeneration:a}=this,o=++this.renderOptionsRequestVersion,s=()=>this.isCurrentLifecycle(a)&&this.renderOptionsRequestVersion===o;try{let a={theme:e,useTokenTransformer:t,lineDiffType:n,maxLineDiffLength:r,tokenizeMaxLineLength:i};if(this.isInitialized()||await this.initialize(),!s()||b9(a,this.renderOptions))return;let o=z7(e),c=[];if(Y2(a.theme,this.renderOptions.theme)||(c=B7(o)?I9(o):await L9(o)),!s())return;if(this.highlighter!=null)A7(c,this.highlighter);else{let e=await R7({themes:o,langs:[`text`],preferredHighlighter:this.preferredHighlighter});if(!s())return;this.highlighter=e}let l=this.setRenderOptionsOnWorkers(a,c);this.renderOptions=a,this.renderOptionsVersion++,this.diffCache.clear(),this.fileCache.clear(),this.invalidateRenderTasks();for(let e of this.themeSubscribers)e.onThemeChange();await l}catch(e){if(e instanceof W9||!s())return;throw e}}getPreferredHighlighter(){return this.preferredHighlighter}getFileRenderOptions(){let{tokenizeMaxLineLength:e,theme:t,useTokenTransformer:n}=this.renderOptions;return{theme:t,useTokenTransformer:n,tokenizeMaxLineLength:e}}getDiffRenderOptions(){return{...this.renderOptions}}async setRenderOptionsOnWorkers(e,t){if(this.workersFailed)return;this.isInitialized()||await this.initialize();let n=[];for(let r of this.workers){if(!r.initialized)throw console.log({managedWorker:r}),Error(`setRenderOptionsOnWorkers: Somehow we have an uninitialized worker`);n.push(new Promise((n,i)=>{let a=this.generateRequestId(),o={type:`set-render-options`,id:a,request:{type:`set-render-options`,id:a,renderOptions:e,resolvedThemes:t},resolve:n,reject:i,requestStart:Date.now()};this.activeTaskById.set(a,o),r.pendingSetupRequestId=a,r.worker.postMessage(o.request)}))}await Promise.all(n)}subscribeToThemeChanges(e){return this.themeSubscribers.add(e),this.queueBroadcastStateChanges(),()=>{this.unsubscribeToThemeChanges(e),this.queueBroadcastStateChanges()}}unsubscribeToThemeChanges(e){this.themeSubscribers.delete(e),this.queueBroadcastStateChanges()}subscribeToStatChanges(e){return this.statSubscribers.add(e),e(this.getStats()),()=>{this.statSubscribers.delete(e)}}queueBroadcastStateChanges(){this._queuedBroadcast??=requestAnimationFrame(this._broadcastStateChanges)}_broadcastStateChanges=()=>{this._queuedBroadcast!=null&&(cancelAnimationFrame(this._queuedBroadcast),this._queuedBroadcast=void 0);let e=this.getStats();for(let t of this.statSubscribers)t(e)};cleanUpTasks(e){this.detachInstanceFromQueuedTasks(e);let t=this.activeRequestByInstance.get(e);if(t!=null){let n=this.activeTaskById.get(t);q9(n)?(this.detachInstanceFromRenderTask(n,e),!n.primeCache&&n.instances.size===0&&this.removeActiveTask(n)):this.activeTaskById.delete(t)}this.activeRequestByInstance.delete(e),this.queueBroadcastStateChanges()}isInitialized(){return this.initialized===!0}async initialize(e=[]){if(this.initialized!==!0)if(this.initialized===!1){let{lifecycleGeneration:t}=this;this.initialized=new Promise((n,r)=>{(async()=>{try{let r=z7(this.renderOptions.theme),i=[];if(i=B7(r)?I9(r):await L9(r),!this.isCurrentLifecycle(t)){n();return}let a=[];if(a=P9(e)?N9(e):await F9(e),!this.isCurrentLifecycle(t)){n();return}let[o]=await Promise.all([R7({themes:r,langs:[`text`,...e],preferredHighlighter:this.preferredHighlighter}),this.initializeWorkers(i,a)]);if(!this.isCurrentLifecycle(t)){this.terminateWorkers(),n();return}this.highlighter=o,this.initialized=!0,this.diffCache.clear(),this.fileCache.clear(),this.drainQueue(),this.queueBroadcastStateChanges(),n()}catch(e){if(e instanceof W9||!this.isCurrentLifecycle(t)){n();return}this.initialized=!1,this.workersFailed=!0;for(let t of this.queuedTasks)this.rejectRenderTaskCallbacks(t,Y9(e));this.queueBroadcastStateChanges(),r(e)}})()}),this.queueBroadcastStateChanges()}else return this.initialized}async initializeWorkers(e,t){this.workersFailed=!1;let n=[],r=G7(),i=r>0?K7():void 0;this.workers.length>0&&this.terminateWorkers();for(let a=0;a<(this.options.poolSize??8);a++){let a=this.options.workerFactory(),o={worker:a,requestId:void 0,pendingSetupRequestId:void 0,initialized:!1,langs:new Set([`text`,...t.map(({name:e})=>e)]),customExtensionsVersion:0};a.addEventListener(`message`,e=>{this.handleWorkerMessage(o,e.data)}),a.addEventListener(`error`,e=>console.error(`Worker error:`,e,o)),this.workers.push(o),n.push(new Promise((n,a)=>{let s=this.generateRequestId(),c={type:`initialize`,id:s,request:{type:`initialize`,id:s,renderOptions:this.renderOptions,preferredHighlighter:this.preferredHighlighter,resolvedThemes:e,resolvedLanguages:t,customExtensionsVersion:i==null?void 0:r,customExtensionMap:i},resolve(){o.initialized=!0,n()},reject:a,requestStart:Date.now()};this.activeTaskById.set(s,c),this.executeTask(o,c)}))}await Promise.all(n)}drainQueue=()=>{if(this._queuedDrain=void 0,this.initialized===!0&&this.queuedTasks.length!==0){for(let e=0;e<this.queuedTasks.length;){let t=this.queuedTasks[e];if(this.hasActiveRequest(t)){e++;continue}let n=K9(t),r=this.getAvailableWorker(n);if(r==null)break;this.queuedTasks.splice(e,1),this.assignWorkerToTask(t,r),this.resolveLanguagesAndExecuteTask(r,t,n)}this.queueBroadcastStateChanges()}};highlightFileAST(e,t){let n=this.getFileResultCache(t);p9(t)||n!=null&&V7(n.options,this.getFileRenderOptions())||this.hasMatchingFileInstanceTask(e,t)||this.submitTask(e,{type:`file`,file:t})}primeFileHighlightCache(e){if(!this.isWorkingPool())return Promise.reject(Error(`WorkerPoolManager.primeFileHighlightCache: worker pool is not working`));let t=this.getOrCreateFileHighlightCacheTask(e);return t==null?Promise.resolve():this.createRenderTaskCallbacks(t)}getOrCreateFileHighlightCacheTask(e){if(e.cacheKey==null){console.warn(`WorkerPoolManager.primeFileHighlightCache: priming highlight cache requires file.cacheKey; skipping "${e.name}".`);return}let t=this.getFileResultCache(e),n=this.getFileHighlightKey(e);if(n==null||p9(e)||t!=null&&V7(t.options,this.getFileRenderOptions()))return;let r=this.getTaskByHighlightKey(n);if(r!=null)return r.primeCache=!0,r.type===`file`?r:void 0;{let t=this.submitCacheTask({type:`file`,file:e},n);return t.type===`file`?t:void 0}}getPlainFileAST(e,t,n,r){if(this.highlighter==null){this.queueInitialization();return}return f9(e,this.highlighter,this.renderOptions,{forcePlainText:!0,startingLine:t,totalLines:n,lines:r})}highlightDiffAST(e,t){let n=this.getDiffResultCache(t);M9(t)||n!=null&&b9(n.options,this.getDiffRenderOptions())||this.hasMatchingDiffInstanceTask(e,t)||this.submitTask(e,{type:`diff`,diff:t})}primeDiffHighlightCache(e){if(!this.isWorkingPool())return Promise.reject(Error(`WorkerPoolManager.primeDiffHighlightCache: worker pool is not working`));let t=this.getOrCreateDiffHighlightCacheTask(e);return t==null?Promise.resolve():this.createRenderTaskCallbacks(t)}getOrCreateDiffHighlightCacheTask(e){if(e.cacheKey==null){console.warn(`WorkerPoolManager.primeDiffHighlightCache: priming highlight cache requires diff.cacheKey; skipping "${e.prevName??e.name}" -> "${e.name}".`);return}let t=this.getDiffResultCache(e),n=this.getDiffHighlightKey(e);if(n==null||M9(e)||t!=null&&b9(t.options,this.getDiffRenderOptions()))return;let r=this.getTaskByHighlightKey(n);if(r!=null)return r.primeCache=!0,r.type===`diff`?r:void 0;{let t=this.submitCacheTask({type:`diff`,diff:e},n);return t.type===`diff`?t:void 0}}getPlainDiffAST(e,t,n,r,i){return this.highlighter==null?void 0:j9(e,this.highlighter,this.renderOptions,{forcePlainText:!0,startingLine:t,totalLines:n,expandedHunks:r,collapsedContextThreshold:i})}terminate(){this.lifecycleGeneration++,this.cancelActiveWorkerTasks(),this.terminateWorkers();let e=new W9;for(let t of this.queuedTasks)this.rejectRenderTaskCallbacks(t,e);this.fileCache.clear(),this.diffCache.clear(),this.activeRequestByInstance.clear(),this.queuedTasks.length=0,this.queuedTaskByInstance.clear(),this.taskByHighlightKey.clear(),this.activeTaskById.clear(),this.highlighter=void 0,this.initialized=!1,this.workersFailed=!1,this.queueBroadcastStateChanges()}isCurrentLifecycle(e){return this.lifecycleGeneration===e}queueInitialization(e){this.initialize(e).catch(e=>{console.error(e)})}cancelActiveWorkerTasks(){let e=new W9;for(let t of this.activeTaskById.values())`reject`in t?t.reject(e):q9(t)&&this.rejectRenderTaskCallbacks(t,e)}terminateWorkers(){for(let e of this.workers)e.worker.terminate();this.workers.length=0}getStats(){return{managerState:this.initialized===!1?`waiting`:this.initialized===!0?`initialized`:`initializing`,totalWorkers:this.workers.length,workersFailed:this.workersFailed,busyWorkers:this.workers.filter(e=>e.requestId!=null||e.pendingSetupRequestId!=null).length,queuedTasks:this.queuedTasks.length,activeTasks:this.activeTaskById.size,themeSubscribers:this.themeSubscribers.size,fileCacheSize:this.fileCache.size,diffCacheSize:this.diffCache.size}}submitTask(e,t){this.initialized===!1&&this.queueInitialization();let n=this.getHighlightKeyForRequest(t),r=n==null?void 0:this.getTaskByHighlightKey(n);if(r!=null){this.detachInstanceFromQueuedTasks(e,r),this.addInstanceToTask(r,e),this.queueBroadcastStateChanges();return}this.detachInstanceFromQueuedTasks(e);let i=this.generateRequestId(),a=Date.now(),{renderOptionsVersion:o}=this,s=(()=>{switch(t.type){case`file`:return{type:`file`,id:i,request:{...t,id:i},instances:new Set([e]),primeCache:!1,highlightKey:n,callbacks:new Set,renderOptionsVersion:o,requestStart:a};case`diff`:return{type:`diff`,id:i,request:{...t,id:i},instances:new Set([e]),primeCache:!1,highlightKey:n,callbacks:new Set,renderOptionsVersion:o,requestStart:a}}})();this.enqueueRenderTask(s,e)}submitCacheTask(e,t){this.initialized===!1&&this.queueInitialization();let n=this.generateRequestId(),r=Date.now(),{renderOptionsVersion:i}=this,a=(()=>{switch(e.type){case`file`:return{type:`file`,id:n,request:{...e,id:n},instances:new Set,primeCache:!0,highlightKey:t,callbacks:new Set,renderOptionsVersion:i,requestStart:r};case`diff`:return{type:`diff`,id:n,request:{...e,id:n},instances:new Set,primeCache:!0,highlightKey:t,callbacks:new Set,renderOptionsVersion:i,requestStart:r}}})();return this.enqueueRenderTask(a),a}enqueueRenderTask(e,t){this.queuedTasks.push(e),t!=null&&this.queuedTaskByInstance.set(t,e),e.highlightKey!=null&&this.taskByHighlightKey.set(e.highlightKey,e),this.queueDrain()}async resolveLanguagesAndExecuteTask(e,t,n){try{let r=n.filter(t=>!e.langs.has(t));if(r.length>0&&(P9(r)?t.request.resolvedLanguages=N9(r):t.request.resolvedLanguages=await F9(r)),!this.activeTaskById.has(t.id)){e.requestId===t.id&&(this.cleanWorkerAndTask(e,t),this.queueBroadcastStateChanges(),this.queuedTasks.length>0&&this.queueDrain());return}this.executeTask(e,t)}catch(n){this.rejectRenderTaskCallbacks(t,Y9(n)),this.cleanWorkerAndTask(e,t),this.queueBroadcastStateChanges(),this.queuedTasks.length>0&&this.queueDrain()}}handleWorkerMessage(e,t){let n=this.activeTaskById.get(t.id);try{if(n==null)throw U9;if(t.type===`error`){let e=Error(t.error);if(t.stack&&(e.stack=t.stack),`reject`in n)n.reject(e);else if(q9(n))this.notifyHighlightError(n,e),this.rejectRenderTaskCallbacks(n,e);else throw Error(`handleWorkerMessage: unknown task type`);throw e}switch(t.requestType){case`initialize`:if(n.type!==`initialize`)throw Error(`handleWorkerMessage: task/response dont match`);this.syncCustomExtensionVersion(e,n.request),n.resolve();break;case`set-render-options`:if(n.type!==`set-render-options`)throw Error(`handleWorkerMessage: task/response dont match`);n.resolve();break;case`file`:{if(n.type!==`file`)throw Error(`handleWorkerMessage: task/response dont match`);let{result:r,options:i}=t;if(!this.isCurrentRenderTask(n)||!V7(i,this.getFileRenderOptions()))throw U9;let{request:a}=n;this.syncCustomExtensionVersion(e,a),n.cacheKeyAtDispatch!=null&&this.fileCache.set(n.cacheKeyAtDispatch,{result:r,options:i}),this.resolveRenderTaskCallbacks(n),this.notifyFileInstances(n,r,i);break}case`diff`:{if(n.type!==`diff`)throw Error(`handleWorkerMessage: task/response dont match`);let{result:r,options:i}=t;if(!this.isCurrentRenderTask(n)||!b9(i,this.getDiffRenderOptions()))throw U9;let{request:a}=n;this.syncCustomExtensionVersion(e,a),n.cacheKeyAtDispatch!=null&&this.diffCache.set(n.cacheKeyAtDispatch,{result:r,options:i}),this.resolveRenderTaskCallbacks(n),this.notifyDiffInstances(n,r,i);break}}}catch(e){e!==U9&&console.error(e,n,t)}this.cleanWorkerAndTask(e,n,t.id),this.queueBroadcastStateChanges(),this.queuedTasks.length>0&&this.queueDrain()}_queuedDrain;queueDrain(){this._queuedDrain??(this._queuedDrain=Promise.resolve().then(this.drainQueue),this.queueBroadcastStateChanges())}assignWorkerToTask(e,t){t.requestId=e.id,q9(e)&&(this.clearQueuedInstanceRequests(e),this.trackInstanceRequests(e)),this.activeTaskById.set(e.id,e)}cleanWorkerAndTask(e,t,n=t?.id){e.requestId===n&&(e.requestId=void 0),e.pendingSetupRequestId===n&&(e.pendingSetupRequestId=void 0),t!=null&&(q9(t)&&(this.rejectRenderTaskCallbacks(t,new G9),this.clearInstanceRequests(t),this.clearHighlightKey(t)),this.activeTaskById.delete(t.id))}executeTask(e,t){Est(t.request)&&this.maybeAttachCustomExtensions(e,t.request),this.activeTaskById.has(t.id)||this.assignWorkerToTask(t,e);for(let n of K9(t))e.langs.add(n);try{t.type===`file`?t.cacheKeyAtDispatch=t.request.file.cacheKey:t.type===`diff`&&(t.cacheKeyAtDispatch=t.request.diff.cacheKey),e.worker.postMessage(t.request)}catch(n){console.error(`Failed to post message to worker:`,n),q9(t)?(this.notifyHighlightError(t,n),this.rejectRenderTaskCallbacks(t,Y9(n))):`reject`in t&&t.reject(n),this.cleanWorkerAndTask(e,t),this.queuedTasks.length>0&&this.queueDrain()}this.queueBroadcastStateChanges()}maybeAttachCustomExtensions(e,t){if(t.customExtensionsVersion!=null)return;let n=G7();e.customExtensionsVersion>=n||(t.customExtensionsVersion=n,t.customExtensionMap=K7())}syncCustomExtensionVersion(e,t){t.customExtensionsVersion!=null&&(e.customExtensionsVersion=t.customExtensionsVersion)}getAvailableWorker(e){let t;for(let n of this.workers){if(n.requestId!=null||n.pendingSetupRequestId!=null||!n.initialized)continue;if(t=n,e.length===0)break;let r=!0;for(let t of e)if(!n.langs.has(t)){r=!1;break}if(r)break}return t}getFileHighlightKey(e){if(e.cacheKey!=null)return`file:${e.cacheKey}:${this.renderOptionsVersion}`}getDiffHighlightKey(e){if(e.cacheKey!=null)return`diff:${e.cacheKey}:${this.renderOptionsVersion}`}getHighlightKeyForRequest(e){switch(e.type){case`file`:return this.getFileHighlightKey(e.file);case`diff`:return this.getDiffHighlightKey(e.diff)}}hasActiveRequest(e){for(let t of J9(e))if(this.activeRequestByInstance.has(t))return!0;return!1}addInstanceToTask(e,t){e.type,e.instances.add(t),this.activeTaskById.has(e.id)?this.activeRequestByInstance.set(t,e.id):this.queuedTaskByInstance.set(t,e)}detachInstanceFromQueuedTasks(e,t){let n=this.queuedTaskByInstance.get(e);n!=null&&n!==t&&(this.queuedTaskByInstance.delete(e),this.detachInstanceFromRenderTask(n,e),!n.primeCache&&n.instances.size===0&&this.removeQueuedTask(n))}detachInstanceFromRenderTask(e,t){e.type,e.instances.delete(t)}removeQueuedTask(e){let t=this.queuedTasks.indexOf(e);t!==-1&&this.queuedTasks.splice(t,1),this.rejectRenderTaskCallbacks(e,new G9),this.clearQueuedInstanceRequests(e),this.clearHighlightKey(e)}removeActiveTask(e){this.rejectRenderTaskCallbacks(e,new G9),this.clearInstanceRequests(e),this.clearHighlightKey(e),this.activeTaskById.delete(e.id)}createRenderTaskCallbacks(e){return new Promise((t,n)=>{e.callbacks.add({resolve:t,reject:n})})}resolveRenderTaskCallbacks(e){for(let t of e.callbacks)t.resolve();e.callbacks.clear()}rejectRenderTaskCallbacks(e,t){for(let n of e.callbacks)n.reject(t);e.callbacks.clear()}invalidateRenderTasks(){for(let e=this.queuedTasks.length-1;e>=0;e--){let t=this.queuedTasks[e];t.renderOptionsVersion!==this.renderOptionsVersion&&this.removeQueuedTask(t)}for(let e of Array.from(this.activeTaskById.values()))q9(e)&&e.renderOptionsVersion!==this.renderOptionsVersion&&this.removeActiveTask(e)}clearQueuedInstanceRequests(e){for(let t of J9(e))this.queuedTaskByInstance.get(t)===e&&this.queuedTaskByInstance.delete(t)}clearHighlightKey(e){e.highlightKey!=null&&this.taskByHighlightKey.get(e.highlightKey)===e&&this.taskByHighlightKey.delete(e.highlightKey)}trackInstanceRequests(e){for(let t of J9(e))this.activeRequestByInstance.set(t,e.id)}clearInstanceRequests(e){for(let t of J9(e))this.activeRequestByInstance.get(t)===e.id&&this.activeRequestByInstance.delete(t)}notifyFileInstances(e,t,n){for(let r of e.instances)this.activeRequestByInstance.get(r)===e.id&&r.onHighlightSuccess(e.request.file,t,n)}notifyDiffInstances(e,t,n){for(let r of e.instances)this.activeRequestByInstance.get(r)===e.id&&r.onHighlightSuccess(e.request.diff,t,n)}notifyHighlightError(e,t){for(let n of J9(e))this.activeRequestByInstance.get(n)===e.id&&n.onHighlightError(t)}hasMatchingFileInstanceTask(e,t){for(let n of this.iterateRenderTasks())if(n.type===`file`&&this.isCurrentRenderTask(n)&&n.instances.has(e)&&S4(t,n.request.file))return!0;return!1}hasMatchingDiffInstanceTask(e,t){for(let n of this.iterateRenderTasks())if(n.type===`diff`&&this.isCurrentRenderTask(n)&&n.instances.has(e)&&y9(n.request.diff,t))return!0;return!1}getTaskByHighlightKey(e){let t=this.taskByHighlightKey.get(e);return t!=null&&this.isCurrentRenderTask(t)?t:void 0}isCurrentRenderTask(e){return e.renderOptionsVersion===this.renderOptionsVersion}*iterateRenderTasks(){for(let e of this.queuedTasks)yield e;for(let e of this.activeTaskById.values())q9(e)&&(yield e)}generateRequestId(){return`req_${++this.nextRequestId}`}};function Est(e){return e.type===`initialize`||e.type===`file`||e.type===`diff`}function K9(e){let t=new Set;if(e.type===`initialize`||e.type===`set-render-options`)return[];switch(e.type){case`file`:t.add(e.request.file.lang??W7(e.request.file.name));break;case`diff`:t.add(e.request.diff.lang??W7(e.request.diff.name)),t.add(e.request.diff.lang??W7(e.request.diff.prevName??`-`))}return t.delete(`text`),Array.from(t)}function q9(e){return e?.type===`file`||e?.type===`diff`}function J9(e){return e.instances}function Y9(e){return e instanceof Error?e:Error(String(e))}var X9;function Dst({poolOptions:e,highlighterOptions:t}){return X9??=new Tst(e,t),X9}function Ost(){X9!=null&&(X9.terminate(),X9=void 0)}var Z9=(0,F.createContext)(void 0),Q9=0;function kst({children:e,poolOptions:t,highlighterOptions:n}){let[r]=(0,F.useState)(()=>{if(!(typeof window>`u`))return Dst({poolOptions:t,highlighterOptions:n})});return(0,F.useInsertionEffect)(()=>{if(r!=null)return Q9++,()=>{Q9--}},[r]),(0,F.useEffect)(()=>()=>{Q9===0&&Ost()},[]),(0,Nr.jsx)(Z9.Provider,{value:r,children:e})}function Ast(){return(0,F.useContext)(Z9)}function $9(e){return Jt(`flex items-center justify-between gap-2 px-4 wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+1em)]`,Pr&&e!==`sheet`?`h-[52px] border-b border-border wco:h-[env(titlebar-area-height)]`:`h-12 wco:max-h-[env(titlebar-area-height)]`)}function jst(e){let t=(0,ll.c)(10),n=Pr&&e.mode!==`sheet`,r=e.mode===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`,i;t[0]===r?i=t[1]:(i=Jt(`flex h-full min-w-0 flex-col bg-background`,r),t[0]=r,t[1]=i);let a;t[2]!==e.header||t[3]!==e.mode||t[4]!==n?(a=n?(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header}):(0,Nr.jsx)(`div`,{className:`border-b border-border`,children:(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header})}),t[2]=e.header,t[3]=e.mode,t[4]=n,t[5]=a):a=t[5];let o;return t[6]!==e.children||t[7]!==i||t[8]!==a?(o=(0,Nr.jsxs)(`div`,{className:i,children:[a,e.children]}),t[6]=e.children,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function Mst(){let e=(0,ll.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Nr.jsx)(I1,{className:`absolute left-0 top-1/2 size-6 -translate-y-1/2 rounded-md border border-border/50`}),n=(0,Nr.jsx)(I1,{className:`absolute right-0 top-1/2 size-6 -translate-y-1/2 rounded-md border border-border/50`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Nr.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[t,n,(0,Nr.jsxs)(`div`,{className:`flex gap-1 overflow-hidden px-8 py-0.5`,children:[(0,Nr.jsx)(I1,{className:`h-6 w-16 shrink-0 rounded-md`}),(0,Nr.jsx)(I1,{className:`h-6 w-24 shrink-0 rounded-md`}),(0,Nr.jsx)(I1,{className:`h-6 w-24 shrink-0 rounded-md max-sm:hidden`})]})]}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsxs)(Nr.Fragment,{children:[r,(0,Nr.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,Nr.jsx)(I1,{className:`size-7 rounded-md`}),(0,Nr.jsx)(I1,{className:`size-7 rounded-md`})]})]}),e[3]=i):i=e[3],i}function Nst(e){let t=(0,ll.c)(7),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Nr.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/50 px-3 py-2`,children:[(0,Nr.jsx)(I1,{className:`h-4 w-32 rounded-full`}),(0,Nr.jsx)(I1,{className:`ml-auto h-4 w-20 rounded-full`})]}),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Nr.jsxs)(`div`,{className:`space-y-2`,children:[(0,Nr.jsx)(I1,{className:`h-3 w-full rounded-full`}),(0,Nr.jsx)(I1,{className:`h-3 w-full rounded-full`}),(0,Nr.jsx)(I1,{className:`h-3 w-10/12 rounded-full`}),(0,Nr.jsx)(I1,{className:`h-3 w-11/12 rounded-full`}),(0,Nr.jsx)(I1,{className:`h-3 w-9/12 rounded-full`})]}),t[1]=r):r=t[1];let i;t[2]===e.label?i=t[3]:(i=(0,Nr.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 px-3 py-4`,children:[r,(0,Nr.jsx)(`span`,{className:`sr-only`,children:e.label})]}),t[2]=e.label,t[3]=i);let a;return t[4]!==e.label||t[5]!==i?(a=(0,Nr.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col p-2`,children:(0,Nr.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border border-border/60 bg-card/25`,role:`status`,"aria-live":`polite`,"aria-label":e.label,children:[n,i]})}),t[4]=e.label,t[5]=i,t[6]=a):a=t[6],a}export{Sot as $,PY as $a,bi as $c,Y2e as $i,Q0 as $n,fJ as $o,S6e as $r,dK as $s,b9e as $t,Yot as A,P$e as Aa,ml as Ac,l3e as Ai,Er as Al,J7e as An,$J as Ao,x8e as Ar,JK as As,$4 as At,Iot as B,NX as Ba,Fo as Bc,S4e as Bi,Yne as Bl,w5e as Bn,SXe as Bo,V1 as Br,hJe as Bs,S4 as Bt,E9 as C,i1e as Ca,vl as Cc,A$ as Ci,Pr as Cl,n9e as Cn,tZe as Co,c0 as Cr,cq as Cs,wet as Ct,b9 as D,AZ as Da,Bce as Dc,v3e as Di,kr as Dl,N2 as Dn,cY as Do,f8e as Dr,GJe as Ds,c3 as Dt,est as E,o1e as Ea,zce as Ec,S3e as Ei,jr as El,i9e as En,oZe as Eo,l8e as Er,uq as Es,l3 as Et,Hot as F,GX as Fa,Wo as Fc,r3e as Fi,Cr as Fl,U7e as Fn,VJ as Fo,h0 as Fr,xJe as Fs,U9e as Ft,Aot as G,FQe as Ga,ki as Gc,t$ as Gi,M5e as Gn,IXe as Go,P6e as Gr,fJe as Gs,k9e as Gt,Pot as H,tX as Ha,ji as Hc,_4e as Hi,Gne as Hl,U5e as Hn,jJ as Ho,H6e as Hr,iJe as Hs,e4 as Ht,Vot as I,HX as Ia,Io as Ic,g$ as Ii,Zne as Il,v2 as In,FJ as Io,b8e as Ir,CJe as Is,H9e as It,Eot as J,n$e as Ja,Ei as Jc,n$ as Ji,O5e as Jn,EJ as Jo,A6e as Jr,pJe as Js,Y2 as Jt,kot as K,r$e as Ka,Oi as Kc,a$ as Ki,D5e as Kn,FXe as Ko,I1 as Kr,Iqe as Ks,Z2 as Kt,Bot as L,zX as La,Lo as Lc,_$ as Li,Vne as Ll,_2 as Ln,LJ as Lo,Y6e as Lr,yJe as Ls,w4 as Lt,qot as M,R$e as Ma,Lce as Mc,C$ as Mi,Jne as Ml,K7e as Mn,qJ as Mo,v8e as Mr,TJe as Ms,A4 as Mt,Wot as N,QX as Na,dl as Nc,t3e as Ni,Qne as Nl,q7e as Nn,BXe as No,y8e as Nr,jJe as Ns,D4 as Nt,y9 as O,MZ as Oa,Rce as Oc,E$ as Oi,Or as Ol,a9e as On,sY as Oo,_8e as Or,sq as Os,t3 as Ot,Uot as P,YX as Pa,fl as Pc,x$ as Pi,Xne as Pl,B7e as Pn,JJ as Po,h8e as Pr,EJe as Ps,W9e as Pt,bot as Q,UY as Qa,wre as Qc,Q2e as Qi,F5e as Qn,ZYe as Qo,O6e as Qr,uJe as Qs,m9e as Qt,zot as R,LX as Ra,Bo as Rc,M4e as Ri,Une as Rl,y2 as Rn,OXe as Ro,X6e as Rr,OJe as Rs,T4 as Rt,T9 as S,NZ as Sa,wl as Sc,g3e as Si,Fr as Sl,r9e as Sn,pZe as So,v0 as Sr,pq as Ss,d3 as St,$ot as T,s1e as Ta,gl as Tc,O$ as Ti,Mr as Tl,s9e as Tn,aZe as To,o0 as Tr,iq as Ts,Cet as Tt,g9 as U,a$e as Ua,Ai as Uc,c$ as Ui,vr as Ul,j5e as Un,PXe as Uo,z1 as Ur,aJe as Us,$2 as Ut,Fot as V,MX as Va,Ore as Vc,v4e as Vi,Bne as Vl,H5e as Vn,MJ as Vo,U6e as Vr,DK as Vs,z9e as Vt,jot as W,IQe as Wa,Di as Wc,o$ as Wi,S7e as Wn,xXe as Wo,B6e as Wr,lJe as Ws,Q2 as Wt,Tot as X,bQe as Xa,Ci as Xc,o4e as Xi,x7e as Xn,XYe as Xo,j6e as Xr,tJe as Xs,K2 as Xt,p9 as Y,EQe as Ya,Ti as Yc,c4e as Yi,A5e as Yn,OJ as Yo,k6e as Yr,bK as Ys,J2 as Yt,wot as Z,WY as Za,Si as Zc,a4e as Zi,p7e as Zn,dJ as Zo,M6e as Zr,jK as Zs,G2 as Zt,k9 as _,k1e as _a,Al as _c,j$ as _i,Vr as _l,L2 as _n,AZe as _o,M0 as _r,Sq as _s,Ctt as _t,kst as a,PQ as aa,nqe as ac,M1 as ai,si as al,T9e as an,tQe as ao,b7e as ar,QYe as as,tot as at,ist as b,zZ as ba,Sl as bc,k$ as bi,Qr as bl,h9e as bn,mY as bo,k8e as br,YJe as bs,stt as bt,Cst as c,r2e as ca,OG as cc,C6e as ci,ore as cl,B2 as cn,EY as co,V5e as cr,yJ as cs,Yat as ct,yst as d,EQ as da,vG as dc,D6e as di,dre as dl,c9e as dn,$Ze as do,y5e as dr,_q as ds,V7 as dt,zQ as ea,cK as ec,w6e as ei,mi as el,y9e as en,NY as eo,N5e as er,vJ as es,xot as et,vst as f,k0e as fa,hle as fc,A1 as fi,cre as fl,F2 as fn,TY as fo,v5e as fr,mq as fs,B7 as ft,j9 as g,eQ as ga,Ol as gc,C3e as gi,Kr as gl,u9e as gn,NZe as go,n5e as gr,hq as gs,R7 as gt,M9 as h,r0e as ha,Dl as hc,M$ as hi,Gr as hl,p9e as hn,ZZe as ho,s5e as hr,yq as hs,Uat as ht,Z9 as i,FQ as ia,tqe as ic,y6e as ii,ci as il,C9e as in,AY as io,f7e as ir,_J as is,not as it,Zot as j,XX as ja,hl as jc,T$ as ji,Tr as jl,G7e as jn,HJ as jo,g8e as jr,IK as js,Z4 as jt,Jot as k,$X as ka,pl as kc,u3e as ki,Dr as kl,W7e as kn,iY as ko,m8e as kr,tq as ks,Q4 as kt,wst as l,a2e as la,bG as lc,g6e as li,Wr as ll,x9e as ln,SY as lo,J0 as lr,iYe as ls,qat as lt,hst as m,C0e as ma,gle as mc,N$ as mi,Rr as ml,f9e as mn,_Y as mo,B0 as mr,vq as ms,z7 as mt,Nst as n,L2e as na,xqe as nc,T6e as ni,yre as nl,z2 as nn,iQe as no,r2 as nr,gJ as ns,f9 as nt,Ast as o,n2e as oa,$Ke as oc,j1 as oi,ii as ol,E9e as on,OY as oo,Y0 as or,qYe as os,W7 as ot,V9 as p,M0e as pa,mle as pc,I$ as pi,sre as pl,D9e as pn,wY as po,_5e as pr,gq as ps,Gat as pt,Dot as q,AX as qa,wi as qc,r$ as qi,y7e as qn,DJ as qo,N6e as qr,mJe as qs,O9e as qt,jst as r,IQ as ra,eqe as rc,E6e as ri,bre as rl,S9e as rn,eQe as ro,P5e as rr,YYe as rs,d9 as rt,Sst as s,d2e as sa,AG as sc,b6e as si,ri as sl,w9e as sn,DY as so,a2 as sr,KYe as ss,Qat as st,Mst as t,HQ as ta,sK as tc,_6e as ti,xre as tl,l9e as tn,FY as to,E5e as tr,JYe as ts,Cot as tt,xst as u,TQ as ua,_G as uc,Z3e as ui,Ur as ul,H2 as un,xY as uo,q0 as ur,xq as us,Kat as ut,w9 as v,j1e as va,kl as vc,w3e as vi,qr as vl,R2 as vn,LZe as vo,N0 as vr,bq as vs,gtt as vt,ast as w,a1e as wa,_l as wc,y3e as wi,nre as wl,o9e as wn,rZe as wo,l0 as wr,aq as ws,u3 as wt,tst as x,u1e as xa,xl as xc,b3e as xi,Ir as xl,d9e as xn,fY as xo,E8e as xr,XJe as xs,C3 as xt,C9 as y,D1e as ya,bl as yc,D$ as yi,ei as yl,I2 as yn,CZe as yo,_0 as yr,rYe as ys,ott as yt,Rot as z,PX as za,Vo as zc,d$ as zi,_r as zl,x2 as zn,jXe as zo,W6e as zr,LK as zs,C4 as zt};
2533
- //# sourceMappingURL=DiffPanelShell-IB1GWoYr.js.map
2533
+ //# sourceMappingURL=DiffPanelShell-DCsvZHj8.js.map