@cmmd-center/forge 0.13.45 → 0.13.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.cjs +3 -3
- package/dist/bin.mjs +27 -27
- package/dist/client/assets/{DiffPanel-Bn_XagA5.js → DiffPanel-DtwPM18A.js} +2 -2
- package/dist/client/assets/{DiffPanel.logic-BHJKg1bv.js → DiffPanel.logic-ChgJm5ah.js} +2 -2
- package/dist/client/assets/{DiffPanelShell-DFspB3po.js → DiffPanelShell-src4jZSc.js} +4 -4
- package/dist/client/assets/{DiffWorkerPoolProvider-QNjpRYlc.js → DiffWorkerPoolProvider-CBvutvTu.js} +2 -2
- package/dist/client/assets/{PullRequestCodePanel-AYQxo9Xg.js → PullRequestCodePanel-DTWGpKE_.js} +2 -2
- package/dist/client/assets/{Virtualizer-cy0aLqwi.js → Virtualizer-B7bxYYIG.js} +2 -2
- package/dist/client/assets/{index-IBzz5pAu.js → index-FcNN5Jgi.js} +6 -6
- package/dist/client/index.html +4 -4
- package/dist/forge-build.json +1 -1
- package/dist/{open-yHTUkd2Y.mjs → open-2-reBrpv.mjs} +3 -3
- package/package.json +1 -1
|
@@ -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,J as Kt,On as vte,Rn as yte,Tn as qt,an as Jt,cn as bte,dn as Yt,fn as Xt,gn as xte,hn as Zt,i as Ste,ln as Cte,on as wte,sn as Qt,un as Tte}from"./CompositeItem-DZBAkVp1.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-rKJju-ZW.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-DfXDzrOQ.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 Cce({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 Cce(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 wce(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 Tce(e,t=$c){return vce.pipe(Se(wce(e,t)))}function Ece(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 tl=class extends Error{name=`RelayControlRouteSecurityFailure`};async function Dce(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 Oce(e){return{hpkeSuite:uc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function kce(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 tl(`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 nl=`~effect/ManagedRuntime`,rl=(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={[nl]:nl,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(il(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(il(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(il(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(il(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(il(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(il(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function il(e,t){return wt(e.contextEffect,e=>Te(t,e))}function al(e,t=Cne){return`${e}\0${t}`}function Ace(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=al(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(al(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(al(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 ol={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function sl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function jce(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?sl(t.keyframe):null}function Mce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?ol:t.streamGeneration>e.streamGeneration?sl(t.keyframe):null}function Nce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return sl(t.keyframe);if(t.sequence<=e.observedSequence)return ol;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function Pce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return ol;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?ol:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function Fce(e,t){return jce(e,t)??Mce(e,t)??Nce(e,t)??Pce(e,t)}function Ice(e,t){let n=Fce(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 cl=O(),ll=`Forge`,Lce=`Alpha`,ul=ll,dl=`0.13.4`,fl=Zt(`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`),pl=`flex h-full min-w-0 items-center gap-1 md:gap-1.5`,ml=`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`,Rce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},zce=`forge-app-shell flex w-full min-w-0 flex-row`,hl=`forge-app-shell flex w-full min-w-0 flex-col`,Bce=`flex min-h-0 min-w-0 flex-1 flex-col`,Vce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function gl(e){let t=(0,cl.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=Zt(`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:ll}),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:Lce}),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":ul,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":ul,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function _l(e){let t=(0,cl.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Zt(`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)(gl,{}),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 Hce(){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 vl=typeof window<`u`?window.localStorage:Hce(),Uce=(e,t)=>rr(Bn(e))(t),Wce=(e,t)=>Dte(Bn(e))(t),yl=(e,t)=>{let n=vl.getItem(e);return n?Uce(t,n):null},bl=(e,t,n)=>{let r=Wce(n,t);vl.setItem(e,r)},xl=e=>{vl.removeItem(e)},Sl=`forge:local_storage_change`;function Gce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Sl,{detail:{key:e}}))}function Cl(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return yl(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?xl(e):bl(e,i,n),queueMicrotask(()=>Gce(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=yl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=yl(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(Sl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Sl,o)}},[e,t,n]),[r,a]}var wl=`cmmd-runtime:`;function Tl(e){return`${wl}${e}`}var Kce=/^env_[0-9a-f]{32}$/,qce=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,El={shape:`local`,isCloud:!1,legacyRuntimeId:null},Jce={shape:`cloud-project-placeholder`,isCloud:!0,legacyRuntimeId:null},Yce={shape:`durable-environment`,isCloud:!0,legacyRuntimeId:null};function Dl(e){if(typeof e!=`string`)return El;if(e.startsWith(`cmmd-runtime:`)){let t=e.slice(wl.length);return qce.test(t)?{shape:`legacy-runtime`,isCloud:!0,legacyRuntimeId:t}:El}return e.startsWith(`cmmd-cloud-project:`)?Jce:Kce.test(e)?Yce:El}var Ol=`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)}),kl=nr({version:cn(Ln),records:cn(Jn(Zce))});function Al(){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 jl(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(!Al())return null;try{let e=window.localStorage.getItem(Ol);return e?vn(tr)(jl(JSON.parse(e))):null}catch{return null}}function ile(e){Al()&&bl(Ol,e,tr)}function Ml(){if(!Al())return{};try{return yl(`forge:saved-environment-registry:v1`,kl)??{}}catch{return{}}}function Nl(e){Al()&&bl(Xce,e,kl)}function Pl(){return Ml().records??[]}function ale(e){Nl({version:1,records:e})}function ole(){return Pl().map(e=>wn(e))}function sle(e){let t=new Map(Pl().map(e=>[e.environmentId,e]));ale(e.map(e=>{let n=Dl(e.environmentId).legacyRuntimeId===null?t.get(e.environmentId)?.bearerToken:void 0;return n?{...wn(e),bearerToken:n}:wn(e)}))}function cle(e){return Pl().find(t=>t.environmentId===e)?.bearerToken??null}function lle(e,t){let n=Ml(),r=n.records??[],i=!1;return Nl({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=Ml();Nl({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 Fl(e){let t=fle(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function Il(){let e=Fl(`getClientSettings`);if(e){let t=await e();return t?dle(t):null}return rle()}async function Ll(e){let t=Fl(`setClientSettings`);if(t)return t(e);ile(e)}async function Rl(){let e=Fl(`getSavedEnvironmentRegistry`);return e?e():ole()}async function zl(e){let t=Fl(`setSavedEnvironmentRegistry`);if(t)return t(e);sle(e)}async function Bl(e){let t=Fl(`getSavedEnvironmentSecret`);return t?t(e):cle(e)}async function Vl(e,t){let n=Fl(`setSavedEnvironmentSecret`);return n?n(e,t):lle(e,t)}async function Hl(e){let t=Fl(`removeSavedEnvironmentSecret`);if(t)return t(e);ule(e)}var Ul=`token`;function Wl(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function Gl(e){let t=Wl(e).get(Ul)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Ul)?.trim()??``;return n.length>0?n:null}function ple(e){let t=new URL(e.toString()),n=Wl(t);return n.has(Ul)&&(n.delete(Ul),t.hash=n.toString()),t.searchParams.delete(Ul),t}function Kl(e,t){let n=new URL(e.toString());return n.searchParams.delete(Ul),n.hash=new URLSearchParams([[Ul,t]]).toString(),n}function mle(e,t){let n=new URL(e);return n.pathname=`/login`,Kl(n,t).toString()}function hle(e){return Kl(new URL(`/login`,window.location.href),e).toString()}function gle(e){let t=new URL(e),n=Gl(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(Ul,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:`8ada8bfccfb8a4b0827961f304821e7b11249865`,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+8ada8bfccfb8a4b0827961f304821e7b11249865`,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 ql=`~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,[ql]:ql,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 Jl=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*Jl(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*Jl(e,[...t,i]));return r}}}),Yl=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*Yl(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*Yl(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*Yl(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*Jl(t,n);case`Suspend`:return yield*Yl(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 Xl(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 Yl(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,Zl=`10.74.0`;function Ql(){return $l(V),V}function $l(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.74.0`,t[Zl]=t[`10.74.0`]||{}}function eu(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[Zl]=r[`10.74.0`]||{};return i[e]||(i[e]=t())}var tu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],Mle=`Sentry Logger `,nu={};function ru(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(nu);r.forEach(e=>{let r=nu[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function Nle(){ou().enabled=!0}function Ple(){ou().enabled=!1}function iu(){return ou().enabled}function Fle(...e){au(`log`,...e)}function Ile(...e){au(`warn`,...e)}function Lle(...e){au(`error`,...e)}function au(e,...t){B&&iu()&&ru(()=>{V.console[e](`${Mle}[${e}]:`,...t)})}function ou(){return B?eu(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:Nle,disable:Ple,isEnabled:iu,log:Fle,warn:Ile,error:Lle},su=50,cu=/\(error: (.*)\)/,lu=/captureMessage|captureException/;function uu(...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,J as Kt,On as vte,Rn as yte,Tn as qt,an as Jt,cn as bte,dn as Yt,fn as Xt,gn as xte,hn as Zt,i as Ste,ln as Cte,on as wte,sn as Qt,un as Tte}from"./CompositeItem-DZBAkVp1.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-rKJju-ZW.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-DfXDzrOQ.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 Cce({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 Cce(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 wce(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 Tce(e,t=$c){return vce.pipe(Se(wce(e,t)))}function Ece(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 tl=class extends Error{name=`RelayControlRouteSecurityFailure`};async function Dce(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 Oce(e){return{hpkeSuite:uc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function kce(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 tl(`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 nl=`~effect/ManagedRuntime`,rl=(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={[nl]:nl,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(il(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(il(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(il(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(il(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(il(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(il(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function il(e,t){return wt(e.contextEffect,e=>Te(t,e))}function al(e,t=Cne){return`${e}\0${t}`}function Ace(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=al(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(al(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(al(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 ol={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function sl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function jce(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?sl(t.keyframe):null}function Mce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?ol:t.streamGeneration>e.streamGeneration?sl(t.keyframe):null}function Nce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return sl(t.keyframe);if(t.sequence<=e.observedSequence)return ol;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function Pce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return ol;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?ol:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function Fce(e,t){return jce(e,t)??Mce(e,t)??Nce(e,t)??Pce(e,t)}function Ice(e,t){let n=Fce(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 cl=O(),ll=`Forge`,Lce=`Alpha`,ul=ll,dl=`0.13.4`,fl=Zt(`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`),pl=`flex h-full min-w-0 items-center gap-1 md:gap-1.5`,ml=`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`,Rce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},zce=`forge-app-shell flex w-full min-w-0 flex-row`,hl=`forge-app-shell flex w-full min-w-0 flex-col`,Bce=`flex min-h-0 min-w-0 flex-1 flex-col`,Vce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function gl(e){let t=(0,cl.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=Zt(`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:ll}),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:Lce}),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":ul,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":ul,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function _l(e){let t=(0,cl.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Zt(`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)(gl,{}),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 Hce(){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 vl=typeof window<`u`?window.localStorage:Hce(),Uce=(e,t)=>rr(Bn(e))(t),Wce=(e,t)=>Dte(Bn(e))(t),yl=(e,t)=>{let n=vl.getItem(e);return n?Uce(t,n):null},bl=(e,t,n)=>{let r=Wce(n,t);vl.setItem(e,r)},xl=e=>{vl.removeItem(e)},Sl=`forge:local_storage_change`;function Gce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Sl,{detail:{key:e}}))}function Cl(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return yl(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?xl(e):bl(e,i,n),queueMicrotask(()=>Gce(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=yl(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=yl(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(Sl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Sl,o)}},[e,t,n]),[r,a]}var wl=`cmmd-runtime:`;function Tl(e){return`${wl}${e}`}var Kce=/^env_[0-9a-f]{32}$/,qce=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,El={shape:`local`,isCloud:!1,legacyRuntimeId:null},Jce={shape:`cloud-project-placeholder`,isCloud:!0,legacyRuntimeId:null},Yce={shape:`durable-environment`,isCloud:!0,legacyRuntimeId:null};function Dl(e){if(typeof e!=`string`)return El;if(e.startsWith(`cmmd-runtime:`)){let t=e.slice(wl.length);return qce.test(t)?{shape:`legacy-runtime`,isCloud:!0,legacyRuntimeId:t}:El}return e.startsWith(`cmmd-cloud-project:`)?Jce:Kce.test(e)?Yce:El}var Ol=`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)}),kl=nr({version:cn(Ln),records:cn(Jn(Zce))});function Al(){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 jl(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(!Al())return null;try{let e=window.localStorage.getItem(Ol);return e?vn(tr)(jl(JSON.parse(e))):null}catch{return null}}function ile(e){Al()&&bl(Ol,e,tr)}function Ml(){if(!Al())return{};try{return yl(`forge:saved-environment-registry:v1`,kl)??{}}catch{return{}}}function Nl(e){Al()&&bl(Xce,e,kl)}function Pl(){return Ml().records??[]}function ale(e){Nl({version:1,records:e})}function ole(){return Pl().map(e=>wn(e))}function sle(e){let t=new Map(Pl().map(e=>[e.environmentId,e]));ale(e.map(e=>{let n=Dl(e.environmentId).legacyRuntimeId===null?t.get(e.environmentId)?.bearerToken:void 0;return n?{...wn(e),bearerToken:n}:wn(e)}))}function cle(e){return Pl().find(t=>t.environmentId===e)?.bearerToken??null}function lle(e,t){let n=Ml(),r=n.records??[],i=!1;return Nl({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=Ml();Nl({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 Fl(e){let t=fle(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function Il(){let e=Fl(`getClientSettings`);if(e){let t=await e();return t?dle(t):null}return rle()}async function Ll(e){let t=Fl(`setClientSettings`);if(t)return t(e);ile(e)}async function Rl(){let e=Fl(`getSavedEnvironmentRegistry`);return e?e():ole()}async function zl(e){let t=Fl(`setSavedEnvironmentRegistry`);if(t)return t(e);sle(e)}async function Bl(e){let t=Fl(`getSavedEnvironmentSecret`);return t?t(e):cle(e)}async function Vl(e,t){let n=Fl(`setSavedEnvironmentSecret`);return n?n(e,t):lle(e,t)}async function Hl(e){let t=Fl(`removeSavedEnvironmentSecret`);if(t)return t(e);ule(e)}var Ul=`token`;function Wl(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function Gl(e){let t=Wl(e).get(Ul)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(Ul)?.trim()??``;return n.length>0?n:null}function ple(e){let t=new URL(e.toString()),n=Wl(t);return n.has(Ul)&&(n.delete(Ul),t.hash=n.toString()),t.searchParams.delete(Ul),t}function Kl(e,t){let n=new URL(e.toString());return n.searchParams.delete(Ul),n.hash=new URLSearchParams([[Ul,t]]).toString(),n}function mle(e,t){let n=new URL(e);return n.pathname=`/login`,Kl(n,t).toString()}function hle(e){return Kl(new URL(`/login`,window.location.href),e).toString()}function gle(e){let t=new URL(e),n=Gl(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(Ul,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:`94219ed51a87e35a63d9bdc1b81bfe21c7977c17`,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+94219ed51a87e35a63d9bdc1b81bfe21c7977c17`,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 ql=`~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,[ql]:ql,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 Jl=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*Jl(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*Jl(e,[...t,i]));return r}}}),Yl=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*Yl(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*Yl(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*Yl(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*Jl(t,n);case`Suspend`:return yield*Yl(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 Xl(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 Yl(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,Zl=`10.74.0`;function Ql(){return $l(V),V}function $l(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.74.0`,t[Zl]=t[`10.74.0`]||{}}function eu(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[Zl]=r[`10.74.0`]||{};return i[e]||(i[e]=t())}var tu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],Mle=`Sentry Logger `,nu={};function ru(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(nu);r.forEach(e=>{let r=nu[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function Nle(){ou().enabled=!0}function Ple(){ou().enabled=!1}function iu(){return ou().enabled}function Fle(...e){au(`log`,...e)}function Ile(...e){au(`warn`,...e)}function Lle(...e){au(`error`,...e)}function au(e,...t){B&&iu()&&ru(()=>{V.console[e](`${Mle}[${e}]:`,...t)})}function ou(){return B?eu(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:Nle,disable:Ple,isEnabled:iu,log:Fle,warn:Ile,error:Lle},su=50,cu=/\(error: (.*)\)/,lu=/captureMessage|captureException/;function uu(...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=cu.test(n)?n.replace(cu,`$1`):n;if(!o.includes(`Error: `)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=su+r)break}}return zle(i.slice(r))}}function Rle(e){return Array.isArray(e)?uu(...e):e}function zle(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(du(t).function||``)&&t.pop(),t.reverse(),lu.test(du(t).function||``)&&(t.pop(),lu.test(du(t).function||``)&&t.pop()),t.slice(0,su).map(e=>({...e,filename:e.filename||du(t).filename,function:e.function||`?`}))}function du(e){return e[e.length-1]||{}}var fu=`<anonymous>`;function pu(e){try{return!e||typeof e!=`function`?fu:e.name||fu}catch{return fu}}function mu(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 hu={},gu={};function _u(e,t){return hu[e]=hu[e]||[],hu[e].push(t),()=>{let n=hu[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}function vu(e,t){if(!gu[e]){gu[e]=!0;try{t()}catch(t){B&&H.error(`Error while instrumenting ${e}`,t)}}}function yu(e,t){let n=e&&hu[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: ${pu(r)}
|
|
@@ -1002,7 +1002,7 @@ or you can use record.mirror to access the mirror instance during recording.`,_V
|
|
|
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.`,jU={map:{},getId(){return console.error(AU),-1},getNode(){return console.error(AU),null},removeNodeFromMap(){console.error(AU)},has(){return console.error(AU),!1},reset(){console.error(AU)}};typeof window<`u`&&window.Proxy&&window.Reflect&&(jU=new Proxy(jU,{get(e,t,n){return t===`map`&&console.error(AU),Reflect.get(e,t,n)}}));function MU(e,t,n,r,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,r?n:{set(e){RU(()=>{n.set.call(this,e)},0),a&&a.set&&a.set.call(this,e)}}),()=>MU(e,t,a||{},!0)}function NU(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 $We(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function PU(e,t,n,r,i){if(!e)return!1;let a=$We(e);if(!a)return!1;let o=kU(t,n);if(!i){let e=r&&a.matches(r);return o(a)&&!e}let s=OU(a,o),c=-1;return s<0?!1:(r&&(c=OU(a,kU(null,r))),s>-1&&c<0||s<c)}var FU={};function IU(e){let t=FU[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 FU[e]=r.bind(window)}function LU(...e){return IU(`requestAnimationFrame`)(...e)}function RU(...e){return IU(`setTimeout`)(...e)}var zU=(e=>(e[e[`2D`]=0]=`2D`,e[e.WebGL=1]=`WebGL`,e[e.WebGL2=2]=`WebGL2`,e))(zU||{}),BU;function eGe(e){BU=e}for(var VU=e=>BU?((...t)=>{try{return e(...t)}catch(e){if(BU&&BU(e)===!0)return()=>{};throw e}}):e,HU=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,tGe=typeof Uint8Array>`u`?[]:new Uint8Array(256),UU=0;UU<HU.length;UU++)tGe[HU.charCodeAt(UU)]=UU;var nGe=function(e){var t=new Uint8Array(e),n,r=t.length,i=``;for(n=0;n<r;n+=3)i+=HU[t[n]>>2],i+=HU[(t[n]&3)<<4|t[n+1]>>4],i+=HU[(t[n+1]&15)<<2|t[n+2]>>6],i+=HU[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},WU=new Map;function rGe(e,t){let n=WU.get(e);return n||(n=new Map,WU.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}var GU=(e,t,n)=>{if(!e||!(JU(e,t)||typeof e==`object`))return;let r=e.constructor.name,i=rGe(n,r),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function KU(e,t,n){if(e instanceof Array)return e.map(e=>KU(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:nGe(e)};if(e instanceof DataView)return{rr_type:e.constructor.name,args:[KU(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:[KU(e.data,t,n),e.width,e.height]}:JU(e,t)||typeof e==`object`?{rr_type:e.constructor.name,index:GU(e,t,n)}:e}var qU=(e,t,n)=>e.map(e=>KU(e,t,n)),JU=(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 iGe(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=NU(t.CanvasRenderingContext2D.prototype,s,function(a){return function(...o){return PU(this.canvas,n,r,i,!0)||RU(()=>{let n=qU(o,t,this);e(this.canvas,{type:zU[`2D`],property:s,args:n})},0),a.apply(this,o)}});a.push(o)}catch{let n=MU(t.CanvasRenderingContext2D.prototype,s,{set(t){e(this.canvas,{type:zU[`2D`],property:s,args:[t],setter:!0})}});a.push(n)}return()=>{a.forEach(e=>e())}}function aGe(e){return e===`experimental-webgl`?`webgl`:e}function YU(e,t,n,r,i){let a=[];try{let o=NU(e.HTMLCanvasElement.prototype,`getContext`,function(e){return function(a,...o){if(!PU(this,t,n,r,!0)){let e=aGe(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 XU(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=NU(e,o,function(e){return function(...c){let l=e.apply(this,c);if(GU(l,s,this),`tagName`in this.canvas&&!PU(this.canvas,r,i,a,!0)){let e=qU(c,s,this),r={type:t,property:o,args:e};n(this.canvas,r)}return l}});c.push(l)}catch{let r=MU(e,o,{set(e){n(this.canvas,{type:t,property:o,args:[e],setter:!0})}});c.push(r)}return c}function oGe(e,t,n,r,i,a){let o=[];return o.push(...XU(t.WebGLRenderingContext.prototype,zU.WebGL,e,n,r,i,a,t)),t.WebGL2RenderingContext!==void 0&&o.push(...XU(t.WebGL2RenderingContext.prototype,zU.WebGL2,e,n,r,i,a,t)),()=>{o.forEach(e=>e())}}var sGe=`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 cGe(){let e=new Blob([sGe]);return URL.createObjectURL(e)}var lGe=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&&eGe(a),(i&&typeof n==`number`||t)&&(this.worker=this.initFPSWorker()),this.addWindow(r),!t&&VU(()=>{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}VU(()=>{if(a&&t===`all`&&this.initCanvasMutationObserver(e,n,r,i),a&&typeof t==`number`){let t=YU(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}LU(t=>this.takeSnapshot(t,!0,e))}initFPSWorker(){let e=new Worker(cGe());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:zU[`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=LU(t)};e=LU(t),this.restoreHandlers.push(()=>{e&&cancelAnimationFrame(e)})}initCanvasMutationObserver(e,t,n,r){let i=YU(e,t,n,r,!1),a=iGe(this.processMutation.bind(this),e,t,n,r),o=oGe(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=>{PU(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=>{VU(()=>{throw this.snapshotInProgressMap.delete(n),e})()})}}),!0)}startPendingCanvasMutationFlusher(){LU(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let e=t=>{this.rafStamps.latestId=t,LU(e)};LU(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{let n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)}),LU(()=>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 uGe;(function(e){e[e.NotStarted=0]=`NotStarted`,e[e.Running=1]=`Running`,e[e.Stopped=2]=`Stopped`})(uGe||={});var ZU={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}}},dGe=`ReplayCanvas`,QU=1280,fGe=ZM(((e={})=>{let[t,n]=e.maxCanvasSize||[],r={quality:e.quality||`medium`,enableManualSnapshot:e.enableManualSnapshot,maxCanvasSize:[t?Math.min(t,QU):QU,n?Math.min(n,QU):QU]},i,a,o=new Promise(e=>a=e);return{name:dGe,getOptions(){let{quality:e,enableManualSnapshot:t,maxCanvasSize:n}=r;return{enableManualSnapshot:t,recordCanvas:!0,getCanvasManager:e=>{let r=new lGe({...e,enableManualSnapshot:t,maxCanvasSize:n,errorHandler:e=>{try{typeof e==`object`&&(e.__rrweb__=!0)}catch{}}});return i=r,a(r),r},...ZU[e]||ZU.medium}},async snapshot(e,t){(i||await o).snapshot(e,t)}}}));function pGe(e){return e.split(`,`).some(e=>e.trim().startsWith(`sentry-`))}function $U(e){try{return new URL(e,Z.location.origin).href}catch{return}}function mGe(e){return e.entryType===`resource`&&`initiatorType`in e&&typeof e.nextHopProtocol==`string`&&(e.initiatorType===`fetch`||e.initiatorType===`xmlhttprequest`)}function eW(e){try{return new Headers(e)}catch{return}}var tW={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function nW(e,t){let{traceFetch:n,traceXHR:r,shouldCreateSpanForRequest:i,enableHTTPTimings:a,tracePropagationTargets:o,onRequestSpanStart:s,onRequestSpanEnd:c}={...tW,...t},l=typeof i==`function`?i:e=>!0,u=e=>gGe(e,o),d={},f=e.getOptions().propagateTraceparent;n&&CI(t=>{let n=VNe(t,l,u,d,{propagateTraceparent:f,onRequestSpanEnd:c});if(n){let r=$U(t.fetchData.url),i=r?WN(r).host:void 0,o=r?KN(r):void 0;n.setAttributes({"http.url":o,"url.full":o,"server.address":i}),a&&rW(n,e),s?.(n,{headers:t.headers})}}),r&&Kz(t=>{let n=_Ge(t,l,u,d,f,c);n&&(a&&rW(n,e),s?.(n,{headers:eW(t.xhr.__sentry_xhr_v3__?.request_headers)}))})}var hGe=300;function rW(e,t){let{url:n}=QA(e).data;if(!n||typeof n!=`string`)return;let r=()=>void setTimeout(i);if(Hj(t)){let t=e.end.bind(e);e.end=e=>{let n=e??Vk(),a=!1,o=()=>{a||(a=!0,setTimeout(i),t(n),clearTimeout(s))};r=o;let s=setTimeout(o,hGe)}}let i=oz(`resource`,({entries:t})=>{t.forEach(t=>{mGe(t)&&t.name.endsWith(n)&&(e.setAttributes(Cz(t)),r())})})}function gGe(e,t){let n=kI();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?jk(r.toString(),t)||a&&jk(r.pathname,t):a}{let n=!!e.match(/^\/(?!\/)/);return t?jk(e,t):n}}function _Ge(e,t,n,r,i,a){let o=e.xhr,s=o?.[Gz];if(!o||o.__sentry_own_request__||!s)return;let{url:c,method:l}=s,u=vj()&&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&&(EA(n,s.status_code),n.end(),a?.(n,{headers:eW(Xz(o)),error:e.error})),delete r[t]);return}let d=$U(c),f=WN(d||c),p=d?KN(d):void 0,m=KN(GN(c)),h=X(),g=!!mj(),_=g||!!h&&Hj(h),v=u&&_?Zj({name:`${l} ${m}`,attributes:{url:KN(c),type:`xhr`,"http.method":l,"http.url":p,"url.full":p,"server.address":f?.host,[vA]:`auto.http.browser`,[_A]:`http.client`,...f?.search&&{"http.query":f?.search},...f?.hash&&{"http.fragment":f?.hash}}}):new Sj,y=cM(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)&&vGe(o,vj()&&_?y:void 0,i),h&&h.emit(`beforeOutgoingRequestSpan`,v,e),v}function vGe(e,t,n){let{"sentry-trace":r,baggage:i,traceparent:a}=XN({span:t,propagateTraceparent:n});r&&yGe(e,r,i,a)}function yGe(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||!pGe(t))&&e.setRequestHeader(`baggage`,n)}}catch{}}var iW=new WeakMap,aW=new WeakMap,bGe=9e4,xGe=[`text/event-stream`,`application/x-ndjson`,`application/stream+json`],oW=ZM(()=>({name:`FetchStreamPerformance`,setup(){lIe(e=>{if(e.response){let t=iW.get(e.response);if(t&&e.endTimestamp){t.end(e.endTimestamp);let n=aW.get(e.response);n&&clearTimeout(n)}}}),CI(e=>{if(e.endTimestamp&&e.response){let t=e.response.headers?.get(`content-type`)||``;if(e.response.headers?.get(`content-length`)||!xGe.some(e=>t.startsWith(e)))return;let n=e.fetchData?.url||``,r=e.fetchData?.method||`GET`,i=HN(n),a=Zj({name:`${r} ${n.startsWith(`data:`)?KN(n):i?UN(i):n}`,startTime:e.endTimestamp,attributes:{url:KN(n),"http.method":r,type:`fetch`,[_A]:`http.client.stream`,[vA]:`auto.http.browser.stream`}});iW.set(e.response,a);let o=setTimeout(()=>{a.isRecording()&&a.end()},bGe);aW.set(e.response,o)}})}})),SGe=`WebVitals`,sW=ZM((e={})=>{let t=new Set(e.ignore??[]);return{name:SGe,setup(n){let r=Hj(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=JRe({recordClsStandaloneSpans:o,recordLcpStandaloneSpans:s,client:n}),l=new WeakSet;n.on(`afterStartPageLoadSpan`,e=>{l.add(e)}),n.on(`spanEnd`,e=>{l.delete(e)&&(c(),rze(e,{recordClsOnPageloadSpan:o===!1,recordLcpOnPageloadSpan:s===!1,spanStreamingEnabled:r}))}),r?(t.has(`lcp`)||Sze(n),t.has(`cls`)||wze(n),t.has(`inp`)||Eze()):t.has(`inp`)||_ze()},afterAllSetup(){t.has(`inp`)||xze()}}});function CGe(){Z.document?Z.document.addEventListener(`visibilitychange`,()=>{let e=mj();if(!e)return;let t=fj(e);if(Z.document.hidden&&t){let e=`cancelled`,{op:n,status:r}=QA(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`,wGe=`sentry.previous_trace`;function TGe(e,{linkPreviousTrace:t,consistentTraceSampling:n}){let r=t===`session-storage`,i=r?OGe():void 0;e.on(`spanStart`,e=>{if(fj(e)!==e)return;let t=uA().getPropagationContext();i=EGe(i,e,t),r&&DGe(i)});let a=!0;n&&e.on(`beforeSampling`,e=>{if(!i)return;let t=uA(),n=t.getPropagationContext();if(a&&n.parentSpanId){a=!1;return}t.setPropagationContext({...n,dsc:{...n.dsc,sample_rate:String(i.sampleRate),sampled:String(lW(i.spanContext))},sampleRand:i.sampleRand}),e.parentSampled=lW(i.spanContext),e.parentSampleRate=i.sampleRate,e.spanAttributes={...e.spanAttributes,[Nke]:i.sampleRate}})}function EGe(e,t,n){let r=QA(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:{[Hke]:`previous_trace`}}),t.setAttribute(wGe,`${o.traceId}-${o.spanId}-${+!!lW(o)}`)),a)}function DGe(e){try{Z.sessionStorage.setItem(cW,JSON.stringify(e))}catch(e){Q&&Y.warn(`Could not store previous trace in sessionStorage`,e)}}function OGe(){try{let e=Z.sessionStorage?.getItem(cW);return JSON.parse(e)}catch{return}}function lW(e){return e.traceFlags===1}var kGe=`BrowserTracing`,AGe=/Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;function uW(){let e=Z.navigator;return e?.userAgent?AGe.test(e.userAgent):!1}var jGe={...lM,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:`in-memory`,consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...tW},dW=((e={})=>{`enableElementTiming`in e&&DO(()=>{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}={...jGe,...e},te=uW(),ne,O;function k(e,r,i=!0,a){let o=r.op===`pageload`,s=r.name,c=l?l(r):r,p=HN(a||kI()),m={...p?.pathname&&{"url.path":p.pathname},...p&&!VN(p)&&{"url.full":p.href},...c.attributes};if(s!==c.name&&(m[hA]=`custom`),c.attributes=m,!i){let e=Bk();Zj({...c,startTime:e}).end(e);return}t.name=c.name,t.source=m[hA];let h=uM(c,{idleTimeout:u,finalTimeout:d,childSpanTimeout:f,disableAutoFinish:o,beforeSpanEnd:t=>{nze(t,{ignoreResourceSpans:y,ignorePerformanceApiSpans:b,spanStreamingEnabled:Hj(e)}),vW(e,void 0);let n=uA(),r=n.getPropagationContext();n.setPropagationContext({...r,traceId:h.spanContext().traceId,sampled:ij(h),dsc:Oj(t)}),o&&(O=void 0)},trimIdleSpanEndTimestamp:!E});o&&E&&(O=h),vW(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:kGe,setup(e){if(te){Q&&Y.log(`[Tracing] Skipping browserTracingIntegration setup for bot user agent.`);return}if(_j(),a&&J.PerformanceObserver&&PerformanceObserver.supportedEntryTypes?.includes(`long-animation-frame`)?XRe():i&&YRe(),o&&ZRe(),C&&n){let e=()=>{ne=Vk()};addEventListener(`click`,e,{capture:!0}),addEventListener(`keydown`,e,{capture:!0,passive:!0})}function t(){let t=_W(e);t&&!QA(t).timestamp&&(Q&&Y.log(`[Tracing] Finishing current active span with op: ${QA(t).op}`),t.setAttribute(yA,`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(),dA().setPropagationContext({traceId:Kk(),sampleRand:Math.random(),propagationSpanId:vj()?void 0:qk()});let i=uA();i.setPropagationContext({traceId:Kk(),sampleRand:Math.random(),propagationSpanId:vj()?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=UA(r.sentryTrace||mW(`sentry-trace`)||hW(`sentry-trace`),r.baggage||mW(`baggage`)||hW(`baggage`)),a=uA();a.setPropagationContext(i),vj()||(a.getPropagationContext().propagationSpanId=qk()),a.setSDKProcessingMetadata({normalizedRequest:pR()}),k(e,{op:`pageload`,...n})}),e.on(`endPageloadSpan`,()=>{E&&O&&(O.setAttribute(yA,`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=kI();if(w!==`off`&&TGe(e,{linkPreviousTrace:w,consistentTraceSampling:T}),Z.location){if(x){let t=Uk();fW(e,{name:Z.location.pathname,startTime:t?t/1e3:void 0,attributes:{[hA]:`url`,[vA]:`auto.pageload.browser`}})}S&&Vz(({to:t,from:r})=>{if(r===void 0&&n?.indexOf(t)!==-1){n=void 0;return}n=void 0;let i=HN(t),a=_W(e),o=a&&C&&NGe(a,ne);pW(e,{name:i?.pathname||Z.location.pathname,attributes:{[hA]:`url`,[vA]:`auto.navigation.browser`}},{url:t,isRedirect:o})})}p&&CGe(),o&&MGe(e,u,d,f,t),nW(e,{traceFetch:m,traceXHR:h,tracePropagationTargets:e.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:_,enableHTTPTimings:v,onRequestSpanStart:D,onRequestSpanEnd:ee}),g&&e.addIntegration(oW())}}});function fW(e,t,n){e.emit(`startPageLoadSpan`,t,n),uA().setTransactionName(t.name);let r=_W(e);return r&&e.emit(`afterStartPageLoadSpan`,r),r}function pW(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=uA();return a.setTransactionName(t.name),r&&!i&&a.setSDKProcessingMetadata({normalizedRequest:{...pR(),url:r}}),_W(e)}function mW(e){return(Z.document?.querySelector(`meta[name=${e}]`))?.getAttribute(`content`)||void 0}function hW(e){return(Z.performance?.getEntriesByType?.(`navigation`)[0])?.serverTiming?.find(t=>t.name===e)?.description}function MGe(e,t,n,r,i){let a=Z.document,o;a&&addEventListener(`click`,()=>{let a=`ui.action.click`,s=_W(e);if(s){let e=QA(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(yA,`interactionInterrupted`),o.end(),void 0),!i.name){Q&&Y.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=uM({name:i.name,op:a,attributes:{[hA]:i.source||`url`}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})},{capture:!0})}var gW=`_sentry_idleSpan`;function _W(e){return e[gW]}function vW(e,t){dk(e,gW,t)}var yW=1.5;function NGe(e,t){let n=QA(e),r=Bk();return!(r-n.start_timestamp>yW||t&&r-t<=yW)}function PGe(e=X()){e?.emit(`endPageloadSpan`)}function FGe(e){let t=mj();if(t===e)return;let n=uA();e.end=new Proxy(e.end,{apply(e,r,i){return Zk(n,t),Reflect.apply(e,r,i)}}),Zk(n,e)}var IGe=ZM(()=>({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(!Hj(e)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} \`traceLifecycle\` to be set to "stream"! ${n}`);return}let i=r.beforeSendSpan;if(i&&!kj(i)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} a beforeSendSpan callback using \`withStreamedSpan\`! ${n}`);return}let a=new aIe(e);e.on(`afterSpanEnd`,t=>{ij(t)&&a.add(rje(t,e))}),e.on(`afterSegmentSpanEnd`,e=>{let t=e.spanContext().traceId;setTimeout(()=>{a.flush(t)},500)})}})),bW=1e6,LGe=`window`in J&&J.window===J&&typeof importScripts>`u`,xW=`0`,SW=LGe?`main`:`worker`,CW=Z.navigator,wW=``,TW=``,EW=``,DW=CW?.userAgent||``,OW=``,RGe=CW?.language||CW?.languages?.[0]||``;function zGe(e){return typeof e==`object`&&!!e&&`getHighEntropyValues`in e}var kW=CW?.userAgentData;zGe(kW)&&kW.getHighEntropyValues([`architecture`,`model`,`platform`,`platformVersion`,`fullVersionList`]).then(e=>{if(wW=e.platform||``,EW=e.architecture||``,OW=e.model||``,TW=e.platformVersion||``,e.fullVersionList?.length){let t=e.fullVersionList[e.fullVersionList.length-1];DW=`${t.brand} ${t.version}`}}).catch(e=>void 0);function BGe(e){return!(`thread_metadata`in e)}function VGe(e){return BGe(e)?qGe(e):e}function HGe(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 UGe(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=HGe(r),a=VGe(n),o=t||(typeof r.start_timestamp==`number`?r.start_timestamp*1e3:Vk()*1e3),s=typeof r.timestamp==`number`?r.timestamp*1e3:Vk()*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:wW,version:TW,build_number:DW},device:{locale:RGe,model:OW,manufacturer:DW,architecture:EW,is_emulator:!1},debug_meta:{images:jW(n.resources)},profile:a,transactions:[{name:r.transaction||``,id:r.event_id||Nk(),trace_id:i,active_thread_id:xW,relative_start_ns:`0`,relative_end_ns:((s-o)*1e6).toFixed(0)}]}}function WGe(e,t,n){if(e==null)throw TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);let r=KGe(e),i=t.getOptions(),a=t.getSdkMetadata?.()?.sdk;return{chunk_id:Nk(),client_sdk:{name:a?.name??`sentry.javascript.browser`,version:a?.version??`0.0.0`},profiler_id:n||Nk(),platform:`javascript`,version:`2`,release:i.release??``,environment:i.environment??`production`,debug_meta:{images:jW(e.resources)},profile:r}}function GGe(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 KGe(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=Uk(),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:xW,timestamp:r}}return{frames:t,stacks:n,samples:o,thread_metadata:{[xW]:{name:SW}}}}function AW(e){return QA(e).op===`pageload`}function qGe(e){let t,n=0,r={samples:[],stacks:[],frames:[],thread_metadata:{[xW]:{name:SW}}},i=e.samples[0];if(!i)return r;let a=i.timestamp,o=Uk(),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)*bW).toFixed(0),stack_id:t,thread_id:xW};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)*bW).toFixed(0),stack_id:n,thread_id:xW};r.stacks[n]=l,r.samples[o]=u,n++}),r}function JGe(e,t){if(!t.length)return e;for(let n of t)e[1].push([{type:`profile`},n]);return e}function YGe(e){let t=[];return Mj(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 jW(e){let t=X()?.getOptions()?.stackParser;return t?lje(t,e):[]}function MW(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 XGe(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 NW=!1,PW=3e4;function ZGe(e){return typeof e==`function`}function FW(){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(PW/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.`)),NW=!0}}function IW(e){if(NW)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 MW(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 QGe(e){if(NW)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 MW(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 LW(e){return e.profilesSampleRate!==void 0}function $Ge(e,t,n,r){return XGe(n)?UGe(e,t,n,r):null}var RW=new Map;function eKe(){return RW.size}function tKe(e){let t=RW.get(e);return t&&RW.delete(e),t}function nKe(e,t){if(RW.set(e,t),RW.size>30){let e=RW.keys().next().value;e!==void 0&&RW.delete(e)}}var zW=new WeakSet;function BW(e){e.setAttribute(`thread.id`,xW),e.setAttribute(`thread.name`,SW)}function VW(e){let t;AW(e)&&(t=Vk()*1e3);let n=FW();if(!n)return;Q&&Y.log(`[Profiling] started profiling span: ${QA(e).description}`);let r=Nk(),i=null;uA().setContext(`profile`,{profile_id:r,start_timestamp:t}),zW.add(e),BW(e);async function a(){if(e&&n){if(i){Q&&Y.log(`[Profiling] profile for:`,QA(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: ${QA(e).description}`),!t){Q&&Y.log(`[Profiling] profiler returned null profile for: ${QA(e).description}`,`this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started`);return}i=t,nKe(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:`,QA(e).description),a()},PW),s=e.end.bind(e);function c(){return e?(a().then(()=>{s()},()=>{s()}),e):s()}e.end=c}var rKe=6e4,iKe=3e5,aKe=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=QGe(e.getOptions());Q&&Y.log(`[Profiling] Initializing profiler (lifecycle='${t}').`),n||Q&&Y.log(`[Profiling] Session not sampled. Skipping lifecycle profiler initialization.`),this._profilerId=Nk(),this._client=e,this._sessionSampled=n,this._lifecycleMode=t,t===`trace`&&this._setupTraceLifecycleListeners(e),e.on(`spanStart`,e=>{this._isRunning&&BW(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&&BW(e)}_beginProfiling(){if(!this._isRunning){if(this._isRunning=!0,Q&&Y.log(`[Profiling] Started profiling with profiler ID:`,this._profilerId),fA().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`&&fA().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!==fj(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,fA().setContext(`profile`,{})}_clearAllRootSpanTimeouts(){this._rootSpanTimeouts.forEach(e=>clearTimeout(e)),this._rootSpanTimeouts.clear()}_registerTraceRootSpan(e){this._activeRootSpanIds.add(e);let t=setTimeout(()=>this._onRootSpanTimeout(e),iKe);this._rootSpanTimeouts.set(e,t)}_startProfilerInstance(){if(this._profiler?.stopped===!1)return;let e=FW();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()}},rKe))}_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=WGe(await e.stop(),this._client,this._profilerId),n=GGe(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=Lj(t.getSdkMetadata?.()),r=t.getDsn(),i=t.getOptions().tunnel,a=Aj({event_id:Nk(),sent_at:new Date().toISOString(),...n&&{sdk:n},...!!i&&r&&{dsn:LA(r)}},[[{type:`profile_chunk`,platform:`javascript`},e]]);t.sendEnvelope(a).then(null,e=>{Q&&Y.error(`Error while sending profile chunk envelope:`,e)})}},oKe=`BrowserProfiling`,sKe=ZM((()=>({name:oKe,setup(e){let t=e.getOptions(),n=new aKe;if(!LW(t)&&!t.profileLifecycle&&(t.profileLifecycle=`manual`),LW(t)&&!t.profilesSampleRate){Q&&Y.log(`[Profiling] Profiling disabled, no profiling options found.`);return}let r=mj(),i=r&&fj(r);if(LW(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."),LW(t))i&&AW(i)&&IW(i)&&VW(i),e.on(`spanStart`,e=>{let t=fj(e);e===t?IW(e)&&VW(e):zW.has(t)&&BW(e)}),e.on(`beforeEnvelope`,e=>{if(!eKe())return;let t=YGe(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=tKe(r);if(!a){Q&&Y.log(`[Profiling] Could not retrieve profile for span: ${r}`);continue}let o=$Ge(r,i,a,e);o&&n.push(o)}JGe(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(!vj(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=mj(),t=e&&fj(e);t&&n.notifyRootSpanActive(t)},0)}}}}))),cKe=`SpotlightBrowser`,lKe=[{op:`ui.interaction.click`,name:`#sentry-spotlight`}],uKe=((e={})=>{let t=e.sidecarUrl||`http://localhost:8969/stream`;return{name:cKe,setup:()=>{Q&&Y.log(`Using Sidecar URL`,t)},beforeSetup(e){let t=e.getOptions();t.ignoreSpans=[...t.ignoreSpans||[],...lKe]},afterAllSetup:e=>{dKe(e,t)}}});function dKe(e,t){let n=Uz(`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:Pj(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 fKe=ZM(uKe),pKe=ZM(()=>({name:`LaunchDarkly`,processEvent(e,t,n){return MP(e)}}));function mKe(){return{name:`sentry-flag-auditor`,type:`flag-used`,synchronous:!0,method:(e,t,n)=>{NP(e,t.value),PP(e,t.value)}}}var hKe=ZM(()=>({name:`OpenFeature`,processEvent(e,t,n){return MP(e)}})),gKe=class{after(e,t){NP(t.flagKey,t.value),PP(t.flagKey,t.value)}error(e,t,n){NP(e.flagKey,e.defaultValue),PP(e.flagKey,e.defaultValue)}},_Ke=ZM(({featureFlagClientClass:e})=>({name:`Unleash`,setupOnce(){let t=e.prototype;uk(t,`isEnabled`,vKe)},processEvent(e,t,n){return MP(e)}}));function vKe(e){return function(...t){let n=t[0],r=e.apply(this,t);return typeof n==`string`&&typeof r==`boolean`?(NP(n,r),PP(n,r)):Q&&Y.error(`[Feature Flags] UnleashClient.isEnabled does not match expected signature. arg0: ${n} (${typeof n}), result: ${r} (${typeof r})`),r}}var yKe=(({growthbookClass:e})=>RNe({growthbookClass:e})),bKe=ZM(({featureFlagClient:e})=>({name:`Statsig`,setup(t){e.on(`gate_evaluation`,e=>{NP(e.gate.name,e.gate.value),PP(e.gate.name,e.gate.value)})},processEvent(e,t,n){return MP(e)}})),xKe=`WebWorker`,SKe=ZM(({worker:e})=>({name:xKe,setupOnce:()=>{(Array.isArray(e)?e:[e]).forEach(e=>HW(e))},addWorker:e=>HW(e)}));function HW(e){e.addEventListener(`message`,e=>{if(TKe(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=>ik(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),CKe(e.data._sentryWorkerError))}})}function CKe(e){let t=X();if(!t)return;let n=t.getOptions().stackParser,r=t.getOptions().attachStacktrace,i=e.reason,a=rk(i)?cB(i):SR(n,i,void 0,r,!0);a.level=`error`,e.filename&&(a.contexts={...a.contexts,worker:{filename:e.filename}}),FM(a,{originalException:i,mechanism:{handled:!1,type:`auto.browser.web_worker.onunhandledrejection`}}),Q&&Y.log(`Captured worker unhandled rejection`,i)}function wKe({self:e}){e.postMessage({_sentryMessage:!0,_sentryDebugIds:e._sentryDebugIds??void 0,_sentryModuleMetadata:e._sentryModuleMetadata??void 0}),e.addEventListener(`unhandledrejection`,t=>{let n={reason:sB(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 TKe(e){if(!ik(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&&!(ik(e._sentryDebugIds)||e._sentryDebugIds===void 0)||n&&!(ik(e._sentryModuleMetadata)||e._sentryModuleMetadata===void 0)||r&&!ik(e._sentryWorkerError)||i&&(!Array.isArray(e._sentryWasmImages)||!e._sentryWasmImages.every(e=>ik(e)&&typeof e.code_file==`string`)))}var EKe=50,[,DKe]=Qz,[,OKe]=gIe(),UW=(e,t=0)=>{let n=[];for(let r of e.split(`
|
|
1004
1004
|
`).slice(t)){let e=DKe(r),t=OKe(r);if(e&&t?.in_app!==!1?n.push(e):t&&(t.module===void 0&&delete t.module,n.push(t)),n.length>=EKe)break}return FO(n)},kKe=ZM(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=MI(r);a.sendStatus({status:document.visibilityState,config:i}),setInterval(()=>{a.sendStatus({status:`alive`,config:i})},i.pollInterval)}}});function WW(){let e=fA().getScopeData(),t=dA().getScopeData(),n=uA().getScopeData();return gM(e,t),gM(e,n),e.eventProcessors=[],e}function AKe(e){dA().addScopeListener(t=>{e(WW(),t)}),uA().addScopeListener(t=>{e(WW(),t)}),fA().addScopeListener(t=>{e(WW(),t)})}var GW=ZM(()=>({name:`ScopeToMain`,setup(e){let t=MI(e);AKe((e,n)=>{t.sendScope(JSON.stringify(Sk(e,20,2e3))),n.clearBreadcrumbs(),n.clearAttachments()})}}));function KW(e){let t;return vN(e,async e=>(t||=MI(),t.sendEnvelope(e.body),{statusCode:200}))}function qW(e){return[...mB(e).filter(e=>e.name!==`BrowserSession`&&e.name!==`CultureContext`),GW()]}function JW(e={},t=MBe){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=qW(e)),e.stackParser===void 0&&(e.stackParser=UW),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=KW),delete e.initialScope,t(e)}var YW=e({BrowserClient:()=>wR,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>_Me,OpenFeatureIntegrationHook:()=>gKe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>_A,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>vA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>gA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>hA,Scope:()=>$k,addBreadcrumb:()=>ZN,addEventProcessor:()=>BM,addIntegration:()=>XM,bindScopeToEmitter:()=>GAe,breadcrumbsIntegration:()=>tB,browserApiErrorsIntegration:()=>nB,browserProfilingIntegration:()=>sKe,browserSessionIntegration:()=>iB,browserTracingIntegration:()=>dW,buildLaunchDarklyFlagUsedHandler:()=>mKe,captureConsoleIntegration:()=>KMe,captureEvent:()=>FM,captureException:()=>NM,captureFeedback:()=>RP,captureMessage:()=>PM,captureSession:()=>WM,chromeStackLineParser:()=>Qz,consoleLoggingIntegration:()=>XNe,contextLinesIntegration:()=>ZBe,continueTrace:()=>MAe,createConsolaReporter:()=>$Ne,createLangChainCallbackHandler:()=>fI,createTransport:()=>vN,createUserFeedbackEnvelope:()=>tBe,dedupeIntegration:()=>_P,defaultRequestInstrumentationOptions:()=>tW,defaultStackParser:()=>UW,elementTimingIntegration:()=>gze,endSession:()=>HM,eventFiltersIntegration:()=>eP,eventFromException:()=>bR,eventFromMessage:()=>xR,eventLoopBlockIntegration:()=>kKe,exceptionFromError:()=>gR,extraErrorDataIntegration:()=>$Me,featureFlagsIntegration:()=>LNe,feedbackAsyncIntegration:()=>$Le,feedbackIntegration:()=>hR,feedbackSyncIntegration:()=>hR,fetchStreamPerformanceIntegration:()=>oW,forceLoad:()=>NBe,functionToStringIntegration:()=>$N,getAbsoluteUrl:()=>Bze,getActiveSpan:()=>mj,getClient:()=>X,getCurrentScope:()=>uA,getDefaultIntegrations:()=>qW,getFeedback:()=>oLe,getGlobalScope:()=>fA,getIsolationScope:()=>dA,getReplay:()=>qWe,getRootSpan:()=>fj,getSpanDescendants:()=>dj,getSpanStatusFromHttpCode:()=>TA,getTraceData:()=>XN,globalHandlersIntegration:()=>oB,graphqlClientIntegration:()=>aVe,growthbookIntegration:()=>yKe,httpClientIntegration:()=>zBe,httpContextIntegration:()=>dB,inboundFiltersIntegration:()=>tP,init:()=>JW,instrumentAnthropicAiClient:()=>hFe,instrumentCreateReactAgent:()=>$Fe,instrumentGoogleGenAIClient:()=>DFe,instrumentLangChainEmbeddings:()=>HFe,instrumentLangGraph:()=>eIe,instrumentOpenAiClient:()=>XPe,instrumentOutgoingRequests:()=>nW,instrumentSupabaseClient:()=>kP,isBotUserAgent:()=>uW,isEnabled:()=>zM,isInitialized:()=>Dje,lastEventId:()=>RM,launchDarklyIntegration:()=>pKe,linkedErrorsIntegration:()=>fB,logger:()=>SIe,makeRendererTransport:()=>KW,metrics:()=>kIe,moduleMetadataIntegration:()=>UMe,normalizeStringifyValue:()=>pB,onLoad:()=>PBe,openFeatureIntegration:()=>hKe,parameterize:()=>YN,registerSpanErrorInstrumentation:()=>_j,registerWebWorker:()=>wKe,replayCanvasIntegration:()=>fGe,replayIntegration:()=>TU,reportPageLoaded:()=>PGe,reportingObserverIntegration:()=>LBe,rewriteFramesIntegration:()=>sNe,scopeToMainIntegration:()=>GW,sendFeedback:()=>KI,setActiveSpanInBrowser:()=>FGe,setAttribute:()=>Tje,setAttributes:()=>wje,setContext:()=>IM,setConversationId:()=>Eje,setCurrentClient:()=>LN,setExtra:()=>xje,setExtras:()=>bje,setHttpStatus:()=>EA,setMeasurement:()=>zj,setTag:()=>Cje,setTags:()=>Sje,setUser:()=>LM,showReportDialog:()=>hB,spanStreamingIntegration:()=>IGe,spanToBaggageHeader:()=>mAe,spanToJSON:()=>QA,spanToTraceHeader:()=>qA,spotlightBrowserIntegration:()=>fKe,startBrowserTracingNavigationSpan:()=>pW,startBrowserTracingPageLoadSpan:()=>fW,startInactiveSpan:()=>Zj,startNewTrace:()=>eM,startSession:()=>VM,startSpan:()=>Yj,startSpanManual:()=>Xj,statsigIntegration:()=>bKe,supabaseIntegration:()=>xNe,suppressTracing:()=>NAe,thirdPartyErrorFilterIntegration:()=>ANe,uiProfiler:()=>Gze,unleashIntegration:()=>_Ke,updateSpanName:()=>lAe,viewHierarchyIntegration:()=>oVe,webVitalsIntegration:()=>sW,webWorkerIntegration:()=>SKe,withActiveSpan:()=>Qj,withIsolationScope:()=>Mke,withScope:()=>pA,withStreamedSpan:()=>hAe,zodErrorsIntegration:()=>kNe}),jKe=100,MKe=5,NKe=[`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 XW(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function PKe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),XW(e.extra),XW(e.tags)}function FKe(e){let t=QW(e.version)??`0.0.0`,n=QW(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function ZW(e,t){for(let n of t){let t=QW(e[n]);if(t)return t}}function IKe(e){return $W(e.enabled)??e.defaultEnabled??!1}function LKe(e){let t=QW(e.dsn);return!t||IKe(e)===!1?null:{dsn:t,environment:QW(e.environment)??QW(e.defaultEnvironment)??`production`,release:QW(e.release)??QW(e.defaultRelease)??void 0,debug:$W(e.debug)??e.defaultDebug??!1,tracesSampleRate:tG(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:eG(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:eG(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:eG(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:jKe,normalizeDepth:MKe,tags:RKe(e)}}function RKe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=QW(r);e&&(t[n]=e)}return t}function QW(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function $W(e){if(typeof e==`boolean`)return e;let t=QW(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function eG(e,t){if(t!==void 0||e!==void 0)return tG(e,t??0)}function tG(e,t){let n=zKe(e);return n===null||n<0||n>1?t:n}function zKe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=QW(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function BKe(e){let t=(0,cl.c)(11),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Zt(hl,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Zt(pl,`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)(_l,{}),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:`${ml} 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:fl,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:VKe,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 VKe(){return window.location.reload()}var HKe=[/\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],UKe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function nG(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 WKe(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 GKe(e){if(!e)return null;let t=e.toLowerCase(),n=WKe(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.`:nG(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 KKe(e){return e?HKe.some(t=>t.test(e)):!1}function rG(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:KKe(n)?GKe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var qKe=[/\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 iG(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&qKe.some(e=>e.test(t))}function aG(e){return iG(e)?null:rG(e,{fallback:UKe})}var JKe=[/^Transport disposed$/,/WebSocket RPC request timed out after \d+ms\./],YKe=`Lost the connection to this Environment. Your message was not sent.`;function XKe(e){return e instanceof Error?iG(e.message)||JKe.some(t=>t.test(e.message.trim()))?YKe:e.message:`Failed to send message.`}var oG=`forge-web`,sG=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],cG=[`VITE_SENTRY_RELEASE`],ZKe=[`VITE_SENTRY_DSN`],QKe=[`VITE_SENTRY_DEBUG`],$Ke=[`VITE_SENTRY_ENABLED`],eqe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],tqe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],nqe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],rqe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],iqe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],lG=!1,uG={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 aqe(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 oqe(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 sqe(e){return aqe(e).some(iG)||oqe(e)}function cqe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function lqe(){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:`8ada8bfccfb8a4b0827961f304821e7b11249865`,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+8ada8bfccfb8a4b0827961f304821e7b11249865`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=ZW(t,[...cG])??FKe({appName:oG,version:`0.13.4`,commitHash:ZW(t,[...iqe])});return LKe({appName:oG,runtime:e,defaultEnvironment:ZW(t,[...sG])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:ZW(t,[...$Ke]),dsn:ZW(t,[...ZKe]),environment:ZW(t,[...sG]),release:ZW(t,[...cG]),debug:ZW(t,[...QKe]),tracesSampleRate:ZW(t,[...eqe]),profilesSampleRate:ZW(t,[...tqe]),replaysSessionSampleRate:ZW(t,[...nqe]),replaysOnErrorSampleRate:ZW(t,[...rqe]),tags:{platform:Pr?`desktop`:`web`}})}function dG(e){return PKe(e),sqe(e)?null:e}function uqe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function fG(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...NKe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...uqe(e)}}function dqe(e){let t=[];e.tracesSampleRate>0&&t.push(dW()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(TU());let n=hR(uG);t.push(n);try{JW({...fG(e),beforeSend:e=>dG(e),integrations:t})}catch{return null}return lG=!0,YW}function fqe(e){let t=[];e.tracesSampleRate>0&&t.push(fE()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(ET());let n=lb(uG);t.push(n);try{KE({...fG(e),beforeSend:e=>dG(e),integrations:t})}catch{return null}return lG=!0,bO}function pG(){if(lG)return Pr?YW:bO;let e=lqe();return e?Pr?dqe(e):fqe(e):null}function mG(e){if(pG()){if(Pr){LM(e);return}Em(e)}}function hG(e,t,n){if(!pG())return;let r=pqe(e);if(Pr){pA(e=>{t&&e.setTags(t);let i=NM(r);n?.showReportDialog&&hB({eventId:i})});return}Ud(e=>{t&&e.setTags(t);let i=Sm(r);n?.showReportDialog&&hS({eventId:i})})}function pqe(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 mqe=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){hG(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(BKe,{onGoToNewChat:cqe}):this.props.children}},gG=!1,_G=!1,vG=null,yG=null,bG=null,xG=!1,SG=new Set;function hqe(e){if(gG||_G)return;if(!e.publicKey||!e.host){_G=!0;return}if(vG)return;if(typeof window>`u`||typeof location>`u`){_G=!0;return}let t=e.publicKey,n=e.host;vG=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{yG=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{gG=!0,bG&&CG(bG),wG(),SG.forEach(e=>e())}})}).catch(()=>{_G=!0,yG=null})}function CG(e){if(bG=e,!gG||!yG)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),yG.identify(e.cmmdUserId,t)}function gqe(e){return!gG||!yG?!1:yG.isFeatureEnabled(e)===!0}function wG(){!yG||xG||(xG=!0,yG.onFeatureFlags(()=>{SG.forEach(e=>e())}))}function _qe(e){return SG.add(e),gG&&yG&&(wG(),e()),()=>{SG.delete(e)}}var TG=`/api/cmmd/auth-runtime`;function vqe(e){return P({method:`POST`,path:TG},e)}function yqe(e){return P({method:`GET`,path:TG},e)}function bqe(e){return P({method:`DELETE`,path:TG},e)}function xqe(e){return P({method:`POST`,path:`${TG}/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 EG=`/api/cmmd/providers/codex/credential`,DG=`/api/cmmd/providers/claude/credential`;function wqe(e){return P({method:`GET`,path:EG},e)}function Tqe(e){return P({method:`DELETE`,path:EG},e)}function Eqe(e){return P({method:`GET`,path:DG},e)}function Dqe(e){return P({method:`DELETE`,path:DG},e)}function Oqe(e,t){return P({method:`DELETE`,path:`/api/cmmd/providers/accounts/${encodeURIComponent(String(t))}`},e)}function kqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function Aqe(e,t,n,r,i){return P({method:`PUT`,path:kqe(t,n,r),body:i},e)}function jqe(e){return(t,n,r,i)=>Aqe(e,t,n,r,i)}function Mqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function Nqe(e,t,n,r,i){return P({method:`POST`,path:Mqe(t,n,r),body:i},e)}function Pqe(e){return(t,n,r,i)=>Nqe(e,t,n,r,i)}function Fqe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function Iqe(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(!Fqe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function Lqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function Rqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function zqe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function OG(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var Bqe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},Vqe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},kG=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function AG(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 jG(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 MG(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 NG(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 Hqe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function PG(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 FG(e){let t=`${NG(e,`firstName`)??``} ${NG(e,`lastName`)??``}`.trim()||NG(e,`username`)||NG(e,`email`)||`Unknown`;return{id:PG(e,`userId`)??PG(e,`id`)??t,name:t,email:NG(e,`email`),role:NG(e,`role`),avatarUrl:NG(e,`profileImage`)??NG(e,`avatar`)}}function Uqe(e){let t=LG(e,`user`)??e;return FG({...typeof t==`object`&&t?t:{},userId:PG(e,`userId`)??PG(t,`id`),role:NG(e,`role`)})}function IG(e){let t=NG(e,`authorFirstName`)??``,n=NG(e,`authorLastName`)??``,r=NG(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:PG(e,`id`)??``,status:i,body:NG(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:NG(e,`authorProfileImage`)??null,createdAt:NG(e,`createdAt`)??``,updatedAt:NG(e,`updatedAt`)??NG(e,`createdAt`)??``,canEdit:Hqe(e,`canEdit`)??!1}}function Wqe(e,t,n){let r=Array.isArray(e.data)?e.data.map(IG):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function LG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var Gqe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function RG(e,t){let n=LG(e,t);if(!n)return null;for(let e of Gqe){let t=NG(n,e);if(t)return t}return null}function zG(e,t){let n=LG(e,t);return n?PG(n,`id`):null}function BG(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function Kqe(e){let t={...e,id:PG(e,`id`)??e.id,title:e.title??NG(e,`name`)??``},n=PG(e,`workspaceId`)??PG(e,`workspace_id`)??zG(e,`workspace`)??e.workspaceId??null;return n!==null||BG(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??NG(e,`start_date`)??null,endDate:e.endDate??NG(e,`end_date`)??null}:t}function VG(e){let t=e.ownerAvatarUrl??NG(e,`owner_avatar_url`)??NG(e,`ownerProfileImage`)??NG(e,`owner_profile_image`)??NG(e,`ownerImage`)??NG(e,`owner_image`)??NG(e,`ownerImageUrl`)??NG(e,`owner_image_url`)??NG(e,`createdByAvatarUrl`)??NG(e,`created_by_avatar_url`)??NG(e,`createdByProfileImage`)??NG(e,`created_by_profile_image`)??RG(e,`owner`)??RG(e,`createdBy`)??RG(e,`created_by`)??null,n={...e,id:PG(e,`id`)??e.id},r=PG(e,`campaignId`)??PG(e,`campaign_id`)??zG(e,`campaign`)??e.campaignId??null;(r!==null||BG(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??NG(e,`campaignTitle`)??NG(e,`campaign_title`)??NG(LG(e,`campaign`),`title`)??NG(LG(e,`campaign`),`name`)??null;(i!==null||BG(e,`campaignTitle`))&&(n.campaignTitle=i);let a=PG(e,`workspaceId`)??PG(e,`workspace_id`)??zG(e,`workspace`)??e.workspaceId??null;(a!==null||BG(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??NG(e,`workspace_name`)??NG(LG(e,`workspace`),`name`)??null;(o!==null||BG(e,`workspaceName`))&&(n.workspaceName=o);let s=NG(e,`workspaceIconUrl`)??NG(e,`workspace_icon_url`)??NG(LG(e,`workspace`),`iconUrl`)??null;(s!==null||BG(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=PG(e,`ownerId`)??PG(e,`owner_id`)??zG(e,`owner`)??e.ownerId??null;(c!==null||BG(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??NG(e,`owner_name`)??NG(LG(e,`owner`),`name`)??null;(l!==null||BG(e,`ownerName`))&&(n.ownerName=l),(t!==null||BG(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=PG(e,`teamId`)??PG(e,`team_id`)??zG(e,`team`)??e.teamId??null;(u!==null||BG(e,`teamId`))&&(n.teamId=u);let d=e.teamName??NG(e,`team_name`)??NG(LG(e,`team`),`name`)??null;(d!==null||BG(e,`teamName`))&&(n.teamName=d);let f=e.startDate??NG(e,`start_date`)??null;(f!==null||BG(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??NG(e,`target_end_date`)??null;return(p!==null||BG(e,`targetEndDate`))&&(n.targetEndDate=p),n}function HG(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 qqe(e){return HG(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 Jqe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function UG(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function WG(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new Bqe(e.message):new Vqe(e.message,e.status??502):e}}var GG=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=jqe(this.cfg),this.postThreadArchive=Pqe(this.cfg)}async getTask(e){return WG(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 WG(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await WG(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await WG(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return WG(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return WG(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await WG(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return WG(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 HG(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return qqe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return HG(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),WG(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return WG(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 WG(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 WG(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`?UG(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),WG(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 vqe(this.cfg)}getAuthRuntimeState(){return yqe(this.cfg)}destroyAuthRuntime(){return bqe(this.cfg)}connectAuthRuntime(){return xqe(this.cfg)}getUserCodexCredential(){return wqe(this.cfg)}disconnectUserCodexCredential(){return Tqe(this.cfg)}getUserClaudeCredential(){return Eqe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(e){return Oqe(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 Dqe(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 Lqe(this.cfg,e,t)}renameDevice(e,t){return Rqe(this.cfg,e,t)}revokeDevice(e){return zqe(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`),AG(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(Kqe)}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`),AG(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(VG)}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 VG(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(FG):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(Uqe):[]}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 Wqe(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 IG(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return IG(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 jG(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return jG(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 jG(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=MG(t);return jG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=MG(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=MG(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=MG(t,t?.taskId);return jG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=MG(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=MG(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=MG(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=MG(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=MG(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=MG(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:OG(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:OG(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new kG(`createSubtask`)}async createBoardTask(e){throw new kG(`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=UG(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=UG(e.organizationId)),Jqe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:UG(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=UG(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 kG(`uploadBrainDoc`)}};function KG(e){return new GG(e)}var qG=new GG({onAuthExpired:hr}),JG=class extends $t(`BootstrapHttpError`){},YG=e=>nee(e,`BootstrapHttpError`);function XG(e){return typeof e!=`object`||!e?!1:!!(YG(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function Yqe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function ZG(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new JG({message:`${t} returned a non-JSON response (${Yqe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function QG(e={resolveUrl:or}){let t=mr()?.bearerToken;return t?{...e,bearerToken:t}:e}var $G=null,eK=null,tK=null,nK=new Set,rK=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function Xqe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();mG({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),CG({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function iK(){if(typeof window>`u`||tK)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(tK=e(e=>{$G=null,eK=null,e.sessionLifecycle.status!==`ready`&&mG(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{hG(e,{route:`desktop-auth-session-expired`})})}))}function Zqe(){return Gl(new URL(window.location.href))}function aK(){let e=new URL(window.location.href),t=ple(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function Qqe(){return mK(async()=>{let e=or(`/api/auth/session`),t=async()=>{let t=await fetch(e,ur({credentials:`include`}));if(!t.ok)throw new JG({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return ZG(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 $qe(e,t){return await e.text()||t}var oK=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function eJe(e){return mK(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 JG({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return ZG(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 lK(){return typeof window>`u`?null:cK(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function tJe(){return typeof window>`u`?!1:Nne()===`session-expired`}function uK(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(rK),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function dK(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(rK);return}window.sessionStorage.setItem(rK,JSON.stringify([...e]))}catch{}}function nJe(){let e=lK();if(!e)return;let t=new Set(uK());t.add(e),dK(t)}function rJe(e){return uK().has(e)}function fK(){let e=lK();if(!e){dK(new Set);return}let t=new Set(uK());t.delete(e),dK(t)}async function pK(){let e=sK(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?ZG(t,e):null}async function iJe(e){if(typeof window>`u`)return;let t=cK(e);if(!t||tJe()||nK.has(t)||rJe(t))return;if((await pK().catch(()=>null))?.authenticated){nK.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 JG({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await ZG(r,n),nK.add(t)}async function aJe(){let e=await Qqe();if(e.authenticated)return e;let t=mr();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await pK().catch(()=>null);return n?.authenticated?n:e}var oJe=new Set([404,502,503,504]),sJe=15e3,cJe=500;function lJe(e){mr()?.source===`paired-bearer`&&XG(e)&&dr(`http`)}async function mK(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(lJe(e),!dJe(e))throw e;if(Date.now()-t>=sJe)throw hG(e,{route:`bootstrap-retry-exhausted`}),e;await uJe(cJe)}}function uJe(e){return new Promise(t=>{setTimeout(t,e)})}function dJe(e){return YG(e)?oJe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function fJe(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 pJe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return fJe(await t(),e)}catch(e){return hG(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function mJe(e,t){return mG(null),jne(t),await sr().catch(e=>{hG(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:Pne(t)??`Forge Desktop requires CMMD authentication.`}}async function hJe(){let e=await aJe();if(e.authenticated){if(e.cmmdIdentity){let t=await pJe(e.cmmdIdentity);return t?(fr(),mJe(e,t)):(fr(),Xqe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function gJe(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);eK=null,fK(),await eJe(t),$G=null,aK()}function hK(){fK(),eK=null,$G=null}async function gK(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 JG({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await ZG(s,o),hK()}async function _Je(){let e=or(`/api/auth/ws-token`),t=await fetch(e,ur({credentials:`include`,method:`POST`}));if(!t.ok)throw new JG({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return ZG(t,e)}async function vJe(e){let t=await _Je(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function yJe(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 $qe(a,`Failed to create pairing credential (${a.status}).`));return ZG(a,i)}async function bJe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new JG({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return xJe(await ZG(t,e))}function xJe(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}}:{}},QG())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&oK.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 wJe(e={}){return CJe(e.forceFresh===!0)}async function _K(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},QG())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&oK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function TJe(e){try{return await _K(`/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 _K(`/api/command/tasks/update`,e);throw t}}async function EJe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function DJe(){let e=await Promise.allSettled([sr(),EJe()]);mG(null),nJe(),$G=null,eK=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function OJe(){if(iK(),eK?.status===`authenticated`)return fr(),eK;if($G)return $G;let e=vK();return $G=e,e.then(e=>(e.status===`authenticated`&&(eK=e),e)).finally(()=>{$G===e&&($G=null)})}async function vK(){return lr().then(e=>iJe(e)).then(()=>hJe())}async function kJe(){iK(),$G=null,eK=null;let e=await vK();return e.status===`authenticated`&&(eK=e,fr()),e}async function AJe(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 JG({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await ZG(r,n);if(i.authenticated===!0)return hK(),{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 gK(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 jJe=`/.well-known/forge/environment`,yK=Xt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),bK=null;function MJe(e){let t=xK();return t?Qie(Po({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function NJe(){return mK(async()=>{await lr();let e=mr()?.bearerToken,t=or(jJe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new JG({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await ZG(n,t);return SK(r),r})}function xK(){return yK.getState().descriptor}function PJe(){return yK(FJe)}function FJe(e){return e.descriptor?.environmentId??null}function IJe(){return yK(LJe)}function LJe(e){return e.descriptor}function RJe(){return yK(zJe)}function zJe(e){return e.descriptor?.deviceRuntimeId??null}function BJe(){return xK()?.deviceRuntimeId??null}function VJe(){return yK(HJe)}function HJe(e){return iae(e.descriptor)}function UJe(){return yK(WJe)}function WJe(e){return aae(e.descriptor)}function SK(e){yK.getState().setDescriptor(e)}function GJe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function CK(){let e=mr();return e?MJe({source:e.source,target:e.target}):null}function KJe(){return qJe()}async function qJe(){let e=await lr(),t=xK();if(t&&GJe(t,e))return Promise.resolve(t);if(t&&SK(null),bK)return bK;let n=NJe();return bK=n,n.finally(()=>{bK===n&&(bK=null)})}var wK=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 TK(e){return{match:t=>t.present({target:e})}}function EK(){return{match:e=>e.provablyAbsent()}}function JJe(e){return{match:t=>t.unprovable(e)}}var YJe=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?EK():TK(wK.namedByCatalog(t))}if(e.runtimeId!==void 0||e.cmmdEnvironmentId!==void 0){let t=this.#e.find(t=>t.runtime!=null&&(e.runtimeId!==void 0&&t.runtime.runtimeId===e.runtimeId||e.cmmdEnvironmentId!==void 0&&t.runtime.environmentId===e.cmmdEnvironmentId));if(t)return TK(wK.namedByCatalog(t))}if(this.#e.length===0)return EK();let t=e.runtimeId??e.cmmdEnvironmentId;return JJe(t===void 0?`no identity this catalog can be matched on`:`the catalog holds ${String(this.#e.length)} row(s) that ${t} cannot be ruled out against`)}};function DK(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(XJe))throw Error(`Forge Cloud returned a project catalog this version cannot read (invalid project entry).`);if(!i.every(ZJe))throw Error(`Forge Cloud returned an Environment catalog this version cannot read (invalid Environment entry).`);return YJe.fromValidatedBody(r,i,n?.capacity??null)}function XJe(e){return!kK(e)||typeof e.organizationId!=`number`||typeof e.projectId!=`number`?!1:e.runtime===void 0||e.runtime===null||OK(e.runtime)}function ZJe(e){return kK(e)&&typeof e.organizationId==`number`&&typeof e.userId==`number`&&OK(e.runtime)}function OK(e){return kK(e)&&typeof e.runtimeId==`string`&&typeof e.status==`string`}function kK(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function QJe(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}function AK(e){return e.accessToken??e.resolveAccessToken?.()}function jK(e,t,n=t=>QJe(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:()=>AK(e)})}function $Je(e,t){return jK(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 eYe(e,t){return jK(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 MK(e,t=``){return`/api/forge/context/runtimes/${encodeURIComponent(e)}${t}`}async function tYe(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 NK=class{config;constructor(e){this.config=e}async ensureRuntime(e){return(await jK(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 jK(this.config,{method:`POST`,path:MK(e.runtimeId,`/connect`),...e.organizationId===void 0?{}:{body:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}})}async getRuntime(e){return(await jK(this.config,{method:`GET`,path:MK(e.runtimeId),...e.signal===void 0?{}:{signal:e.signal}})).runtime}async destroyRuntime(e){return(await jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`GET`,path:MK(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=AK(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 tYe(n),DK(await n.json())}return DK(await jK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects`,...e?.signal===void 0?{}:{signal:e.signal}}))}async previewCloudProjectRemoval(e){return $Je(this.config,e)}async requestCloudProjectRemoval(e){return eYe(this.config,e)}async getCloudProjectRemoval(e){return(await jK(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}},PK=`/api/attachments/upload/`;function nYe(e){if(!e.relativeUrl.startsWith(PK))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}${PK}`,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 FK=!1,IK=null;function LK(e){return Object.values(e)}function RK(e){return e.map(e=>wn(e))}function zK(e){try{zl(RK(LK(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function rYe(e){let t=BK.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));BK.setState({byId:{...n,...t}})}async function iYe(){if(FK)return;if(IK)return IK;let e=(async()=>{try{rYe(await Rl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{FK=!0,BK.setState({hydrated:!0})}})().finally(()=>{IK===e&&(IK=null)});return IK=e,IK}var BK=Xt()(e=>({byId:{},hydrated:FK,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return zK(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return zK(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 zK(i),{byId:i}}),reset:()=>{zK({}),e({byId:{}})}}));function VK(){return FK}function HK(){return VK()?Promise.resolve():iYe()}function UK(){return Object.values(BK.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function aYe(){return UK().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function WK(e){return BK.getState().byId[e]??null}function GK(e){let t=CK();return t?.environmentId===e?Zie(t):WK(e)?.httpBaseUrl??null}function KK(e){let t=GK(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 qK(e){if(!GK(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function oYe(e){return qK(e.environmentId),nYe({httpBaseUrl:GK(e.environmentId),relativeUrl:e.relativeUrl})}async function JK(e){await zl(RK(LK({...BK.getState().byId,[e.environmentId]:e})))}async function sYe(e,t){let{[e]:n,...r}=BK.getState().byId,i={...r,[t.environmentId]:t};await zl(RK(LK(i))),BK.setState({byId:i})}async function YK(e){return Bl(e)}async function cYe(e,t){return Vl(e,t)}async function XK(e){await Hl(e)}var lYe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function ZK(e){let t=e?.trim();return t&&t.length>0?t:null}function uYe(e){return ZK(e)??`Project`}function dYe(e,t=`safe`){let n=ZK(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function QK(e,t=`Something went wrong. Try again.`){let n=rG(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||lYe.some(e=>e.test(n))?t:n}function fYe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function $K(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function eq(e,t){let n=$K(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&fYe(e,r)?r:n??void 0}function tq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function nq(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function pYe(e,t){let n=nq(e);return t&&tq(e,t)?t:n??void 0}function mYe(e,t){let n=eq(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 hYe(e,t){let n=eq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=pYe(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 rq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function iq(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 aq(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=iq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var gYe=[`codex`,`claudeAgent`];function oq(e,t){return gYe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function _Ye(e,t){let n=iq(e,t);return!n||oq(n,t)?On[t]:n}function sq(e,t){return _Ye(t,e)}function vYe(e){return typeof e==`string`&&e.trim()||null}function yYe(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?lq(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:uq(e.scripts)}}function lq(e){return{...e,model:sq(e.provider,e.model)}}function uq(e){return e.map(e=>({...e}))}function bYe(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?lq(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:uq(t.scripts)},updatedAt:t.updatedAt}}function dq(e){let t=aG(e.lastError);return{provider:SYe(e.providerName),status:xYe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function fq(e,t){let n=t.attachments?.map(t=>{let n=KK({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 pq(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function mq(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 xYe(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 wYe=[],TYe=[],EYe=[],DYe=[],OYe={},kYe={},AYe={},jYe={},MYe=[],hq=new WeakMap,gq=new WeakMap;function _q(e,t,n){if(!e||e.length===0||!t)return n;let r=hq.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||hq.set(e,o),a}function NYe(e,t){return _q(e.messageIdsByThreadId[t],e.messageByThreadId[t]??OYe,wYe)}function PYe(e,t){return _q(e.activityIdsByThreadId[t],e.activityByThreadId[t]??kYe,TYe)}function FYe(e,t){return _q(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??AYe,EYe)}function IYe(e,t){return _q(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??jYe,DYe)}function vq(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??MYe,o=NYe(e,t),s=PYe(e,t),c=FYe(e,t),l=IYe(e,t),u=gq.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 gq.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function LYe(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 yq(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var bq={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},RYe={activeEnvironmentId:null,environmentStateById:{}},xq=[],Sq=[];function Cq(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function wq(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:lq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?dq(e.session):null,messages:e.messages.map(e=>fq(t,e)),proposedPlans:e.proposedPlans.map(pq),error:aG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...yq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(mq),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 Tq(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:lq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:aG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...yq(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?dq(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,...yq(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 zYe(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 BYe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function Eq(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function Dq(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&&Eq(e.sourceProposedPlan,t.sourceProposedPlan)}function Oq(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 kq(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 Aq(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&jq(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&Oq(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&Dq(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&&kq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function jq(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function Mq(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&&kq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&jq(e.titleRegeneration,t.titleRegeneration)}function Nq(e,t){return e!==void 0&&Dq(e.latestTurn,t.latestTurn)&&Eq(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function VYe(e,t){return e.includes(t)?[...e]:[...e,t]}function Pq(e,t){return e.filter(e=>e!==t)}function HYe(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function UYe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function WYe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function GYe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function KYe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function Fq(e){return e.threadIds.flatMap(t=>{let n=vq(e,t);return n?[n]:[]})}function Iq(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]??xq,i=Pq(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else Cq(n,i)||(e={...e,[r]:i})}let a=e[n]??xq,o=VYe(a,t);Cq(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function Lq(e,t,n){let r=zYe(t),i=BYe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=Iq(e,t.id,t.projectId,n?.projectId);Mq(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};Aq(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(Oq(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??Sq)!==(t.rateLimitStatus??Sq)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??Sq}}),Nq(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=HYe(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=UYe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=WYe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=GYe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function Rq(e,t){let n=e.threadShellById[t.shell.id],r=Iq(e,t.shell.id,t.shell.projectId,n?.projectId);return Mq(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),Oq(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),Nq(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),Aq(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function zq(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function Bq(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=Pq(e.threadIds,t),o=Pq(e.threadIdsByProjectId[i]??xq,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 qYe(e,t){let n=new Set(e.threadIdsByProjectId[t]??xq);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 Vq(e,t){let n=qYe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=Bq(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:Pq(r.projectIds,t)}}function Hq(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function JYe(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 Uq(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 YYe(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 XYe(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 ZYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function QYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Wq(e,t,n){let r=vq(e,t);if(!r)return e;let i=n(r);return i===r?e:Lq(e,i,r)}function Gq(e,t,n,r){let i=Wq(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 $Ye(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function Kq(e,t){return e.environmentStateById[t]??bq}function qq(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function eXe(e,t,n){let r=t.projects.map(e=>cq(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...$Ye(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:zq(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:zq(e.messageIdsByThreadId,i),messageByThreadId:zq(e.messageByThreadId,i),activityIdsByThreadId:zq(e.activityIdsByThreadId,i),activityByThreadId:zq(e.activityByThreadId,i),proposedPlanIdsByThreadId:zq(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:zq(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:zq(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:zq(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=Rq(a,Tq(e,n));return a}function tXe(e,t,n){return qq(e,n,eXe(Kq(e,n),t,n))}function nXe(e,t,n){let r=Kq(e,n),i=vq(r,t.id);return qq(e,n,Lq(r,wq(t,n),i))}function rXe(e,t,n,r){let i=Kq(e,t);return qq(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function iXe(e,t,n){let r=Kq(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return qq(e,t,{...r,threadSubscriptionErrorById:a})}function Jq(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=bYe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return Vq(e,t.payload.projectId);case`thread.created`:{let r=vq(e,t.payload.threadId);return Lq(e,wq({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 Bq(e,t.payload.threadId);case`thread.archived`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return Wq(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:lq(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 Wq(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return Wq(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return Wq(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:lq(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:Uq({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:Wq(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:Uq({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 Wq(e,t.payload.threadId,e=>{let n=fq(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?YYe(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)?Uq({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 Wq(e,t.payload.threadId,e=>({...e,session:dq(t.payload.session),error:aG(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?Uq({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 Wq(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 Wq(e,t.payload.threadId,e=>{let n=pq(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 Wq(e,t.payload.threadId,e=>{let n=mq({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?Uq({previous:e.latestTurn,turnId:t.payload.turnId,state:Hq(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 Wq(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=XYe(e.messages,r,t.payload.turnCount).slice(-2e3),a=QYe(e.proposedPlans,r).slice(-200),o=ZYe(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:Hq(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return Wq(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(JYe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return Wq(e,t.payload.threadId,e=>({...e,rateLimitStatus:LYe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return Wq(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 aXe(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 Vq(e,t.projectId);case`thread-upserted`:return Rq(e,Tq(t.thread,n));case`thread-removed`:return Bq(e,t.threadId)}}function oXe(e,t,n){if(t.length===0)return e;let r=Kq(e,n);return qq(e,n,t.reduce((e,t)=>Jq(e,t,n),r))}function Yq(e){return Object.entries(e.environmentStateById)}function Xq(e,t){return t?Kq(e,t):bq}function sXe(e,t){return Fq(Xq(e,t))}function Zq(e){return Yq(e).flatMap(([,e])=>KYe(e))}function Qq(e){return Yq(e).flatMap(([,e])=>Fq(e))}function cXe(e){return Yq(e).flatMap(([,e])=>$q(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function $q(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 eJ(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 lXe(e){return Yq(e).flatMap(([e,t])=>$q(t).flatMap(n=>{let r=eJ(e,t,n);return r?[r]:[]}))}function tJ(e,t){if(!t)return[];let n=Xq(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??xq;return(r.length>0?r:$q(n)).flatMap(e=>{let r=eJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function uXe(e,t){return t.length===0?[]:t.length===1?tJ(e,t[0]):t.flatMap(t=>tJ(e,t))}function dXe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):Xq(e,e.activeEnvironmentId).bootstrapComplete}function fXe(e,t){return t?Xq(e,t.environmentId).projectById[t.projectId]:void 0}function nJ(e,t){return t?vq(Xq(e,t.environmentId),t.threadId):void 0}function pXe(e,t){return t?Xq(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function rJ(e,t){return t?eJ(t.environmentId,Xq(e,t.environmentId),t.threadId)??void 0:void 0}function mXe(e,t,n){if(e.activeEnvironmentId===null)return e;let r=Wq(Kq(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return qq(e,e.activeEnvironmentId,r)}function hXe(e,t,n){return qq(e,n,Jq(Kq(e,n),t,n))}function gXe(e,t,n){return qq(e,n,aXe(Kq(e,n),t,n))}function _Xe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function vXe(e,t,n,r){let i=Wq(Kq(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 qq(e,t.environmentId,i)}var iJ=Xt(e=>({...RYe,setActiveEnvironmentId:t=>e(e=>_Xe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>tXe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>nXe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>rXe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>iXe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>hXe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>oXe(e,t,n)),applyShellEvent:(t,n)=>e(e=>gXe(e,t,n)),setError:(t,n)=>e(e=>mXe(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>vXe(e,t,n,r))})),aJ=`Thread not found or you no longer have access.`;function yXe(e){if(e==null)return aJ;let t=QK(ote(e)?Ie(e):e,aJ);return/\bnot found\b/i.test(t)?aJ:t}function bXe(e,t,n){iJ.getState().setThreadSubscriptionError(e,t,yXe(n))}function oJ(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var xXe={enabled:!0,leading:!0,trailing:!0,wait:0},SXe=class{#e;constructor(e,t){this.fn=e,this.store=new Tte(oJ()),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`}}),bte(`Throttler`,this)},this.#n=()=>!!Yt(this.options.enabled,this),this.#r=()=>Yt(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(oJ())},this.key=t.key,this.options={...xXe,...t},this.#t(this.options.initialState??{}),this.key&&Cte.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 wXe(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)&&!TXe(a,o))return null;let s={...e,[i]:{...a,...NXe(a,o)}};return delete s[r],s}function TXe(e,t){let n=e.stagedSubmission;return!n||!EXe(n)||!DXe(e,n)||!OXe(n,t.stagedSubmission)?!1:kXe(e,t)}function EXe(e){return!!e.commandId&&!!e.messageId}function DXe(e,t){return[e.prompt===t.prompt,cJ(e.persistedAttachments,t.attachments),cJ(e.terminalContexts,t.terminalContexts)].every(Boolean)}function OXe(e,t){return!t||AXe(e,t)}function kXe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,uJ(e.images,t.images),lJ(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,uJ(e.persistedAttachments,t.persistedAttachments),uJ(e.terminalContexts,t.terminalContexts),MXe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function AXe(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),jXe(e.executionIntent,t.executionIntent)].every(Boolean)}function sJ(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function jXe(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 lJ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function uJ(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function MXe(e,t){let n=Object.keys(e).toSorted();return lJ(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function NXe(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 dJ=`full-access`,fJ=`default`,pJ=`default`,PXe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,FXe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function mJ(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=qW(e)),e.stackParser===void 0&&(e.stackParser=UW),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=KW),delete e.initialScope,t(e)}var YW=e({BrowserClient:()=>wR,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>_Me,OpenFeatureIntegrationHook:()=>gKe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>_A,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>vA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>gA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>hA,Scope:()=>$k,addBreadcrumb:()=>ZN,addEventProcessor:()=>BM,addIntegration:()=>XM,bindScopeToEmitter:()=>GAe,breadcrumbsIntegration:()=>tB,browserApiErrorsIntegration:()=>nB,browserProfilingIntegration:()=>sKe,browserSessionIntegration:()=>iB,browserTracingIntegration:()=>dW,buildLaunchDarklyFlagUsedHandler:()=>mKe,captureConsoleIntegration:()=>KMe,captureEvent:()=>FM,captureException:()=>NM,captureFeedback:()=>RP,captureMessage:()=>PM,captureSession:()=>WM,chromeStackLineParser:()=>Qz,consoleLoggingIntegration:()=>XNe,contextLinesIntegration:()=>ZBe,continueTrace:()=>MAe,createConsolaReporter:()=>$Ne,createLangChainCallbackHandler:()=>fI,createTransport:()=>vN,createUserFeedbackEnvelope:()=>tBe,dedupeIntegration:()=>_P,defaultRequestInstrumentationOptions:()=>tW,defaultStackParser:()=>UW,elementTimingIntegration:()=>gze,endSession:()=>HM,eventFiltersIntegration:()=>eP,eventFromException:()=>bR,eventFromMessage:()=>xR,eventLoopBlockIntegration:()=>kKe,exceptionFromError:()=>gR,extraErrorDataIntegration:()=>$Me,featureFlagsIntegration:()=>LNe,feedbackAsyncIntegration:()=>$Le,feedbackIntegration:()=>hR,feedbackSyncIntegration:()=>hR,fetchStreamPerformanceIntegration:()=>oW,forceLoad:()=>NBe,functionToStringIntegration:()=>$N,getAbsoluteUrl:()=>Bze,getActiveSpan:()=>mj,getClient:()=>X,getCurrentScope:()=>uA,getDefaultIntegrations:()=>qW,getFeedback:()=>oLe,getGlobalScope:()=>fA,getIsolationScope:()=>dA,getReplay:()=>qWe,getRootSpan:()=>fj,getSpanDescendants:()=>dj,getSpanStatusFromHttpCode:()=>TA,getTraceData:()=>XN,globalHandlersIntegration:()=>oB,graphqlClientIntegration:()=>aVe,growthbookIntegration:()=>yKe,httpClientIntegration:()=>zBe,httpContextIntegration:()=>dB,inboundFiltersIntegration:()=>tP,init:()=>JW,instrumentAnthropicAiClient:()=>hFe,instrumentCreateReactAgent:()=>$Fe,instrumentGoogleGenAIClient:()=>DFe,instrumentLangChainEmbeddings:()=>HFe,instrumentLangGraph:()=>eIe,instrumentOpenAiClient:()=>XPe,instrumentOutgoingRequests:()=>nW,instrumentSupabaseClient:()=>kP,isBotUserAgent:()=>uW,isEnabled:()=>zM,isInitialized:()=>Dje,lastEventId:()=>RM,launchDarklyIntegration:()=>pKe,linkedErrorsIntegration:()=>fB,logger:()=>SIe,makeRendererTransport:()=>KW,metrics:()=>kIe,moduleMetadataIntegration:()=>UMe,normalizeStringifyValue:()=>pB,onLoad:()=>PBe,openFeatureIntegration:()=>hKe,parameterize:()=>YN,registerSpanErrorInstrumentation:()=>_j,registerWebWorker:()=>wKe,replayCanvasIntegration:()=>fGe,replayIntegration:()=>TU,reportPageLoaded:()=>PGe,reportingObserverIntegration:()=>LBe,rewriteFramesIntegration:()=>sNe,scopeToMainIntegration:()=>GW,sendFeedback:()=>KI,setActiveSpanInBrowser:()=>FGe,setAttribute:()=>Tje,setAttributes:()=>wje,setContext:()=>IM,setConversationId:()=>Eje,setCurrentClient:()=>LN,setExtra:()=>xje,setExtras:()=>bje,setHttpStatus:()=>EA,setMeasurement:()=>zj,setTag:()=>Cje,setTags:()=>Sje,setUser:()=>LM,showReportDialog:()=>hB,spanStreamingIntegration:()=>IGe,spanToBaggageHeader:()=>mAe,spanToJSON:()=>QA,spanToTraceHeader:()=>qA,spotlightBrowserIntegration:()=>fKe,startBrowserTracingNavigationSpan:()=>pW,startBrowserTracingPageLoadSpan:()=>fW,startInactiveSpan:()=>Zj,startNewTrace:()=>eM,startSession:()=>VM,startSpan:()=>Yj,startSpanManual:()=>Xj,statsigIntegration:()=>bKe,supabaseIntegration:()=>xNe,suppressTracing:()=>NAe,thirdPartyErrorFilterIntegration:()=>ANe,uiProfiler:()=>Gze,unleashIntegration:()=>_Ke,updateSpanName:()=>lAe,viewHierarchyIntegration:()=>oVe,webVitalsIntegration:()=>sW,webWorkerIntegration:()=>SKe,withActiveSpan:()=>Qj,withIsolationScope:()=>Mke,withScope:()=>pA,withStreamedSpan:()=>hAe,zodErrorsIntegration:()=>kNe}),jKe=100,MKe=5,NKe=[`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 XW(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function PKe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),XW(e.extra),XW(e.tags)}function FKe(e){let t=QW(e.version)??`0.0.0`,n=QW(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function ZW(e,t){for(let n of t){let t=QW(e[n]);if(t)return t}}function IKe(e){return $W(e.enabled)??e.defaultEnabled??!1}function LKe(e){let t=QW(e.dsn);return!t||IKe(e)===!1?null:{dsn:t,environment:QW(e.environment)??QW(e.defaultEnvironment)??`production`,release:QW(e.release)??QW(e.defaultRelease)??void 0,debug:$W(e.debug)??e.defaultDebug??!1,tracesSampleRate:tG(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:eG(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:eG(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:eG(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:jKe,normalizeDepth:MKe,tags:RKe(e)}}function RKe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=QW(r);e&&(t[n]=e)}return t}function QW(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function $W(e){if(typeof e==`boolean`)return e;let t=QW(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function eG(e,t){if(t!==void 0||e!==void 0)return tG(e,t??0)}function tG(e,t){let n=zKe(e);return n===null||n<0||n>1?t:n}function zKe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=QW(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function BKe(e){let t=(0,cl.c)(11),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Zt(hl,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Zt(pl,`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)(_l,{}),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:`${ml} 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:fl,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:VKe,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 VKe(){return window.location.reload()}var HKe=[/\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],UKe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function nG(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 WKe(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 GKe(e){if(!e)return null;let t=e.toLowerCase(),n=WKe(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.`:nG(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 KKe(e){return e?HKe.some(t=>t.test(e)):!1}function rG(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:KKe(n)?GKe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var qKe=[/\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 iG(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&qKe.some(e=>e.test(t))}function aG(e){return iG(e)?null:rG(e,{fallback:UKe})}var JKe=[/^Transport disposed$/,/WebSocket RPC request timed out after \d+ms\./],YKe=`Lost the connection to this Environment. Your message was not sent.`;function XKe(e){return e instanceof Error?iG(e.message)||JKe.some(t=>t.test(e.message.trim()))?YKe:e.message:`Failed to send message.`}var oG=`forge-web`,sG=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],cG=[`VITE_SENTRY_RELEASE`],ZKe=[`VITE_SENTRY_DSN`],QKe=[`VITE_SENTRY_DEBUG`],$Ke=[`VITE_SENTRY_ENABLED`],eqe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],tqe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],nqe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],rqe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],iqe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],lG=!1,uG={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 aqe(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 oqe(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 sqe(e){return aqe(e).some(iG)||oqe(e)}function cqe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function lqe(){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:`94219ed51a87e35a63d9bdc1b81bfe21c7977c17`,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+94219ed51a87e35a63d9bdc1b81bfe21c7977c17`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=ZW(t,[...cG])??FKe({appName:oG,version:`0.13.4`,commitHash:ZW(t,[...iqe])});return LKe({appName:oG,runtime:e,defaultEnvironment:ZW(t,[...sG])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:ZW(t,[...$Ke]),dsn:ZW(t,[...ZKe]),environment:ZW(t,[...sG]),release:ZW(t,[...cG]),debug:ZW(t,[...QKe]),tracesSampleRate:ZW(t,[...eqe]),profilesSampleRate:ZW(t,[...tqe]),replaysSessionSampleRate:ZW(t,[...nqe]),replaysOnErrorSampleRate:ZW(t,[...rqe]),tags:{platform:Pr?`desktop`:`web`}})}function dG(e){return PKe(e),sqe(e)?null:e}function uqe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function fG(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...NKe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...uqe(e)}}function dqe(e){let t=[];e.tracesSampleRate>0&&t.push(dW()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(TU());let n=hR(uG);t.push(n);try{JW({...fG(e),beforeSend:e=>dG(e),integrations:t})}catch{return null}return lG=!0,YW}function fqe(e){let t=[];e.tracesSampleRate>0&&t.push(fE()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(ET());let n=lb(uG);t.push(n);try{KE({...fG(e),beforeSend:e=>dG(e),integrations:t})}catch{return null}return lG=!0,bO}function pG(){if(lG)return Pr?YW:bO;let e=lqe();return e?Pr?dqe(e):fqe(e):null}function mG(e){if(pG()){if(Pr){LM(e);return}Em(e)}}function hG(e,t,n){if(!pG())return;let r=pqe(e);if(Pr){pA(e=>{t&&e.setTags(t);let i=NM(r);n?.showReportDialog&&hB({eventId:i})});return}Ud(e=>{t&&e.setTags(t);let i=Sm(r);n?.showReportDialog&&hS({eventId:i})})}function pqe(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 mqe=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){hG(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(BKe,{onGoToNewChat:cqe}):this.props.children}},gG=!1,_G=!1,vG=null,yG=null,bG=null,xG=!1,SG=new Set;function hqe(e){if(gG||_G)return;if(!e.publicKey||!e.host){_G=!0;return}if(vG)return;if(typeof window>`u`||typeof location>`u`){_G=!0;return}let t=e.publicKey,n=e.host;vG=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{yG=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{gG=!0,bG&&CG(bG),wG(),SG.forEach(e=>e())}})}).catch(()=>{_G=!0,yG=null})}function CG(e){if(bG=e,!gG||!yG)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),yG.identify(e.cmmdUserId,t)}function gqe(e){return!gG||!yG?!1:yG.isFeatureEnabled(e)===!0}function wG(){!yG||xG||(xG=!0,yG.onFeatureFlags(()=>{SG.forEach(e=>e())}))}function _qe(e){return SG.add(e),gG&&yG&&(wG(),e()),()=>{SG.delete(e)}}var TG=`/api/cmmd/auth-runtime`;function vqe(e){return P({method:`POST`,path:TG},e)}function yqe(e){return P({method:`GET`,path:TG},e)}function bqe(e){return P({method:`DELETE`,path:TG},e)}function xqe(e){return P({method:`POST`,path:`${TG}/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 EG=`/api/cmmd/providers/codex/credential`,DG=`/api/cmmd/providers/claude/credential`;function wqe(e){return P({method:`GET`,path:EG},e)}function Tqe(e){return P({method:`DELETE`,path:EG},e)}function Eqe(e){return P({method:`GET`,path:DG},e)}function Dqe(e){return P({method:`DELETE`,path:DG},e)}function Oqe(e,t){return P({method:`DELETE`,path:`/api/cmmd/providers/accounts/${encodeURIComponent(String(t))}`},e)}function kqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function Aqe(e,t,n,r,i){return P({method:`PUT`,path:kqe(t,n,r),body:i},e)}function jqe(e){return(t,n,r,i)=>Aqe(e,t,n,r,i)}function Mqe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function Nqe(e,t,n,r,i){return P({method:`POST`,path:Mqe(t,n,r),body:i},e)}function Pqe(e){return(t,n,r,i)=>Nqe(e,t,n,r,i)}function Fqe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function Iqe(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(!Fqe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function Lqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function Rqe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function zqe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function OG(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var Bqe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},Vqe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},kG=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function AG(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 jG(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 MG(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 NG(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 Hqe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function PG(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 FG(e){let t=`${NG(e,`firstName`)??``} ${NG(e,`lastName`)??``}`.trim()||NG(e,`username`)||NG(e,`email`)||`Unknown`;return{id:PG(e,`userId`)??PG(e,`id`)??t,name:t,email:NG(e,`email`),role:NG(e,`role`),avatarUrl:NG(e,`profileImage`)??NG(e,`avatar`)}}function Uqe(e){let t=LG(e,`user`)??e;return FG({...typeof t==`object`&&t?t:{},userId:PG(e,`userId`)??PG(t,`id`),role:NG(e,`role`)})}function IG(e){let t=NG(e,`authorFirstName`)??``,n=NG(e,`authorLastName`)??``,r=NG(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:PG(e,`id`)??``,status:i,body:NG(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:NG(e,`authorProfileImage`)??null,createdAt:NG(e,`createdAt`)??``,updatedAt:NG(e,`updatedAt`)??NG(e,`createdAt`)??``,canEdit:Hqe(e,`canEdit`)??!1}}function Wqe(e,t,n){let r=Array.isArray(e.data)?e.data.map(IG):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function LG(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var Gqe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function RG(e,t){let n=LG(e,t);if(!n)return null;for(let e of Gqe){let t=NG(n,e);if(t)return t}return null}function zG(e,t){let n=LG(e,t);return n?PG(n,`id`):null}function BG(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function Kqe(e){let t={...e,id:PG(e,`id`)??e.id,title:e.title??NG(e,`name`)??``},n=PG(e,`workspaceId`)??PG(e,`workspace_id`)??zG(e,`workspace`)??e.workspaceId??null;return n!==null||BG(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??NG(e,`start_date`)??null,endDate:e.endDate??NG(e,`end_date`)??null}:t}function VG(e){let t=e.ownerAvatarUrl??NG(e,`owner_avatar_url`)??NG(e,`ownerProfileImage`)??NG(e,`owner_profile_image`)??NG(e,`ownerImage`)??NG(e,`owner_image`)??NG(e,`ownerImageUrl`)??NG(e,`owner_image_url`)??NG(e,`createdByAvatarUrl`)??NG(e,`created_by_avatar_url`)??NG(e,`createdByProfileImage`)??NG(e,`created_by_profile_image`)??RG(e,`owner`)??RG(e,`createdBy`)??RG(e,`created_by`)??null,n={...e,id:PG(e,`id`)??e.id},r=PG(e,`campaignId`)??PG(e,`campaign_id`)??zG(e,`campaign`)??e.campaignId??null;(r!==null||BG(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??NG(e,`campaignTitle`)??NG(e,`campaign_title`)??NG(LG(e,`campaign`),`title`)??NG(LG(e,`campaign`),`name`)??null;(i!==null||BG(e,`campaignTitle`))&&(n.campaignTitle=i);let a=PG(e,`workspaceId`)??PG(e,`workspace_id`)??zG(e,`workspace`)??e.workspaceId??null;(a!==null||BG(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??NG(e,`workspace_name`)??NG(LG(e,`workspace`),`name`)??null;(o!==null||BG(e,`workspaceName`))&&(n.workspaceName=o);let s=NG(e,`workspaceIconUrl`)??NG(e,`workspace_icon_url`)??NG(LG(e,`workspace`),`iconUrl`)??null;(s!==null||BG(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=PG(e,`ownerId`)??PG(e,`owner_id`)??zG(e,`owner`)??e.ownerId??null;(c!==null||BG(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??NG(e,`owner_name`)??NG(LG(e,`owner`),`name`)??null;(l!==null||BG(e,`ownerName`))&&(n.ownerName=l),(t!==null||BG(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=PG(e,`teamId`)??PG(e,`team_id`)??zG(e,`team`)??e.teamId??null;(u!==null||BG(e,`teamId`))&&(n.teamId=u);let d=e.teamName??NG(e,`team_name`)??NG(LG(e,`team`),`name`)??null;(d!==null||BG(e,`teamName`))&&(n.teamName=d);let f=e.startDate??NG(e,`start_date`)??null;(f!==null||BG(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??NG(e,`target_end_date`)??null;return(p!==null||BG(e,`targetEndDate`))&&(n.targetEndDate=p),n}function HG(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 qqe(e){return HG(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 Jqe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function UG(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function WG(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new Bqe(e.message):new Vqe(e.message,e.status??502):e}}var GG=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=jqe(this.cfg),this.postThreadArchive=Pqe(this.cfg)}async getTask(e){return WG(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 WG(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await WG(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await WG(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return WG(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return WG(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return WG(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await WG(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return WG(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 HG(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return qqe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return HG(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),WG(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return WG(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 WG(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 WG(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`?UG(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),WG(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 vqe(this.cfg)}getAuthRuntimeState(){return yqe(this.cfg)}destroyAuthRuntime(){return bqe(this.cfg)}connectAuthRuntime(){return xqe(this.cfg)}getUserCodexCredential(){return wqe(this.cfg)}disconnectUserCodexCredential(){return Tqe(this.cfg)}getUserClaudeCredential(){return Eqe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(e){return Oqe(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 Dqe(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 Lqe(this.cfg,e,t)}renameDevice(e,t){return Rqe(this.cfg,e,t)}revokeDevice(e){return zqe(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`),AG(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(Kqe)}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`),AG(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(VG)}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 VG(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(FG):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(Uqe):[]}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 Wqe(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 IG(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return IG(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 jG(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return jG(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 jG(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=MG(t);return jG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=MG(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=MG(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=MG(t,t?.taskId);return jG(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=MG(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=MG(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=MG(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=MG(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=MG(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=MG(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:OG(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:OG(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new kG(`createSubtask`)}async createBoardTask(e){throw new kG(`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=UG(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=UG(e.organizationId)),Jqe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:UG(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=UG(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 kG(`uploadBrainDoc`)}};function KG(e){return new GG(e)}var qG=new GG({onAuthExpired:hr}),JG=class extends $t(`BootstrapHttpError`){},YG=e=>nee(e,`BootstrapHttpError`);function XG(e){return typeof e!=`object`||!e?!1:!!(YG(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function Yqe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function ZG(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new JG({message:`${t} returned a non-JSON response (${Yqe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function QG(e={resolveUrl:or}){let t=mr()?.bearerToken;return t?{...e,bearerToken:t}:e}var $G=null,eK=null,tK=null,nK=new Set,rK=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function Xqe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();mG({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),CG({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function iK(){if(typeof window>`u`||tK)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(tK=e(e=>{$G=null,eK=null,e.sessionLifecycle.status!==`ready`&&mG(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{hG(e,{route:`desktop-auth-session-expired`})})}))}function Zqe(){return Gl(new URL(window.location.href))}function aK(){let e=new URL(window.location.href),t=ple(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function Qqe(){return mK(async()=>{let e=or(`/api/auth/session`),t=async()=>{let t=await fetch(e,ur({credentials:`include`}));if(!t.ok)throw new JG({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return ZG(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 $qe(e,t){return await e.text()||t}var oK=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function eJe(e){return mK(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 JG({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return ZG(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 lK(){return typeof window>`u`?null:cK(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function tJe(){return typeof window>`u`?!1:Nne()===`session-expired`}function uK(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(rK),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function dK(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(rK);return}window.sessionStorage.setItem(rK,JSON.stringify([...e]))}catch{}}function nJe(){let e=lK();if(!e)return;let t=new Set(uK());t.add(e),dK(t)}function rJe(e){return uK().has(e)}function fK(){let e=lK();if(!e){dK(new Set);return}let t=new Set(uK());t.delete(e),dK(t)}async function pK(){let e=sK(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?ZG(t,e):null}async function iJe(e){if(typeof window>`u`)return;let t=cK(e);if(!t||tJe()||nK.has(t)||rJe(t))return;if((await pK().catch(()=>null))?.authenticated){nK.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 JG({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await ZG(r,n),nK.add(t)}async function aJe(){let e=await Qqe();if(e.authenticated)return e;let t=mr();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await pK().catch(()=>null);return n?.authenticated?n:e}var oJe=new Set([404,502,503,504]),sJe=15e3,cJe=500;function lJe(e){mr()?.source===`paired-bearer`&&XG(e)&&dr(`http`)}async function mK(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(lJe(e),!dJe(e))throw e;if(Date.now()-t>=sJe)throw hG(e,{route:`bootstrap-retry-exhausted`}),e;await uJe(cJe)}}function uJe(e){return new Promise(t=>{setTimeout(t,e)})}function dJe(e){return YG(e)?oJe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function fJe(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 pJe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return fJe(await t(),e)}catch(e){return hG(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function mJe(e,t){return mG(null),jne(t),await sr().catch(e=>{hG(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:Pne(t)??`Forge Desktop requires CMMD authentication.`}}async function hJe(){let e=await aJe();if(e.authenticated){if(e.cmmdIdentity){let t=await pJe(e.cmmdIdentity);return t?(fr(),mJe(e,t)):(fr(),Xqe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function gJe(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);eK=null,fK(),await eJe(t),$G=null,aK()}function hK(){fK(),eK=null,$G=null}async function gK(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 JG({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await ZG(s,o),hK()}async function _Je(){let e=or(`/api/auth/ws-token`),t=await fetch(e,ur({credentials:`include`,method:`POST`}));if(!t.ok)throw new JG({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return ZG(t,e)}async function vJe(e){let t=await _Je(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function yJe(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 $qe(a,`Failed to create pairing credential (${a.status}).`));return ZG(a,i)}async function bJe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new JG({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return xJe(await ZG(t,e))}function xJe(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}}:{}},QG())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&oK.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 wJe(e={}){return CJe(e.forceFresh===!0)}async function _K(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},QG())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&oK.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function TJe(e){try{return await _K(`/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 _K(`/api/command/tasks/update`,e);throw t}}async function EJe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function DJe(){let e=await Promise.allSettled([sr(),EJe()]);mG(null),nJe(),$G=null,eK=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function OJe(){if(iK(),eK?.status===`authenticated`)return fr(),eK;if($G)return $G;let e=vK();return $G=e,e.then(e=>(e.status===`authenticated`&&(eK=e),e)).finally(()=>{$G===e&&($G=null)})}async function vK(){return lr().then(e=>iJe(e)).then(()=>hJe())}async function kJe(){iK(),$G=null,eK=null;let e=await vK();return e.status===`authenticated`&&(eK=e,fr()),e}async function AJe(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 JG({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await ZG(r,n);if(i.authenticated===!0)return hK(),{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 gK(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 jJe=`/.well-known/forge/environment`,yK=Xt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),bK=null;function MJe(e){let t=xK();return t?Qie(Po({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function NJe(){return mK(async()=>{await lr();let e=mr()?.bearerToken,t=or(jJe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new JG({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await ZG(n,t);return SK(r),r})}function xK(){return yK.getState().descriptor}function PJe(){return yK(FJe)}function FJe(e){return e.descriptor?.environmentId??null}function IJe(){return yK(LJe)}function LJe(e){return e.descriptor}function RJe(){return yK(zJe)}function zJe(e){return e.descriptor?.deviceRuntimeId??null}function BJe(){return xK()?.deviceRuntimeId??null}function VJe(){return yK(HJe)}function HJe(e){return iae(e.descriptor)}function UJe(){return yK(WJe)}function WJe(e){return aae(e.descriptor)}function SK(e){yK.getState().setDescriptor(e)}function GJe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function CK(){let e=mr();return e?MJe({source:e.source,target:e.target}):null}function KJe(){return qJe()}async function qJe(){let e=await lr(),t=xK();if(t&&GJe(t,e))return Promise.resolve(t);if(t&&SK(null),bK)return bK;let n=NJe();return bK=n,n.finally(()=>{bK===n&&(bK=null)})}var wK=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 TK(e){return{match:t=>t.present({target:e})}}function EK(){return{match:e=>e.provablyAbsent()}}function JJe(e){return{match:t=>t.unprovable(e)}}var YJe=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?EK():TK(wK.namedByCatalog(t))}if(e.runtimeId!==void 0||e.cmmdEnvironmentId!==void 0){let t=this.#e.find(t=>t.runtime!=null&&(e.runtimeId!==void 0&&t.runtime.runtimeId===e.runtimeId||e.cmmdEnvironmentId!==void 0&&t.runtime.environmentId===e.cmmdEnvironmentId));if(t)return TK(wK.namedByCatalog(t))}if(this.#e.length===0)return EK();let t=e.runtimeId??e.cmmdEnvironmentId;return JJe(t===void 0?`no identity this catalog can be matched on`:`the catalog holds ${String(this.#e.length)} row(s) that ${t} cannot be ruled out against`)}};function DK(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(XJe))throw Error(`Forge Cloud returned a project catalog this version cannot read (invalid project entry).`);if(!i.every(ZJe))throw Error(`Forge Cloud returned an Environment catalog this version cannot read (invalid Environment entry).`);return YJe.fromValidatedBody(r,i,n?.capacity??null)}function XJe(e){return!kK(e)||typeof e.organizationId!=`number`||typeof e.projectId!=`number`?!1:e.runtime===void 0||e.runtime===null||OK(e.runtime)}function ZJe(e){return kK(e)&&typeof e.organizationId==`number`&&typeof e.userId==`number`&&OK(e.runtime)}function OK(e){return kK(e)&&typeof e.runtimeId==`string`&&typeof e.status==`string`}function kK(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function QJe(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}function AK(e){return e.accessToken??e.resolveAccessToken?.()}function jK(e,t,n=t=>QJe(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:()=>AK(e)})}function $Je(e,t){return jK(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 eYe(e,t){return jK(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 MK(e,t=``){return`/api/forge/context/runtimes/${encodeURIComponent(e)}${t}`}async function tYe(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 NK=class{config;constructor(e){this.config=e}async ensureRuntime(e){return(await jK(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 jK(this.config,{method:`POST`,path:MK(e.runtimeId,`/connect`),...e.organizationId===void 0?{}:{body:{organizationId:e.organizationId}},...e.signal===void 0?{}:{signal:e.signal}})}async getRuntime(e){return(await jK(this.config,{method:`GET`,path:MK(e.runtimeId),...e.signal===void 0?{}:{signal:e.signal}})).runtime}async destroyRuntime(e){return(await jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`POST`,path:MK(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 jK(this.config,{method:`GET`,path:MK(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=AK(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 tYe(n),DK(await n.json())}return DK(await jK(this.config,{method:`GET`,path:`/api/forge/context/cloud-projects`,...e?.signal===void 0?{}:{signal:e.signal}}))}async previewCloudProjectRemoval(e){return $Je(this.config,e)}async requestCloudProjectRemoval(e){return eYe(this.config,e)}async getCloudProjectRemoval(e){return(await jK(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}},PK=`/api/attachments/upload/`;function nYe(e){if(!e.relativeUrl.startsWith(PK))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}${PK}`,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 FK=!1,IK=null;function LK(e){return Object.values(e)}function RK(e){return e.map(e=>wn(e))}function zK(e){try{zl(RK(LK(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function rYe(e){let t=BK.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));BK.setState({byId:{...n,...t}})}async function iYe(){if(FK)return;if(IK)return IK;let e=(async()=>{try{rYe(await Rl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{FK=!0,BK.setState({hydrated:!0})}})().finally(()=>{IK===e&&(IK=null)});return IK=e,IK}var BK=Xt()(e=>({byId:{},hydrated:FK,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return zK(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return zK(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 zK(i),{byId:i}}),reset:()=>{zK({}),e({byId:{}})}}));function VK(){return FK}function HK(){return VK()?Promise.resolve():iYe()}function UK(){return Object.values(BK.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function aYe(){return UK().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function WK(e){return BK.getState().byId[e]??null}function GK(e){let t=CK();return t?.environmentId===e?Zie(t):WK(e)?.httpBaseUrl??null}function KK(e){let t=GK(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 qK(e){if(!GK(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function oYe(e){return qK(e.environmentId),nYe({httpBaseUrl:GK(e.environmentId),relativeUrl:e.relativeUrl})}async function JK(e){await zl(RK(LK({...BK.getState().byId,[e.environmentId]:e})))}async function sYe(e,t){let{[e]:n,...r}=BK.getState().byId,i={...r,[t.environmentId]:t};await zl(RK(LK(i))),BK.setState({byId:i})}async function YK(e){return Bl(e)}async function cYe(e,t){return Vl(e,t)}async function XK(e){await Hl(e)}var lYe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function ZK(e){let t=e?.trim();return t&&t.length>0?t:null}function uYe(e){return ZK(e)??`Project`}function dYe(e,t=`safe`){let n=ZK(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function QK(e,t=`Something went wrong. Try again.`){let n=rG(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||lYe.some(e=>e.test(n))?t:n}function fYe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function $K(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function eq(e,t){let n=$K(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&fYe(e,r)?r:n??void 0}function tq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function nq(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function pYe(e,t){let n=nq(e);return t&&tq(e,t)?t:n??void 0}function mYe(e,t){let n=eq(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 hYe(e,t){let n=eq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=pYe(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 rq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function iq(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 aq(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=iq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var gYe=[`codex`,`claudeAgent`];function oq(e,t){return gYe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function _Ye(e,t){let n=iq(e,t);return!n||oq(n,t)?On[t]:n}function sq(e,t){return _Ye(t,e)}function vYe(e){return typeof e==`string`&&e.trim()||null}function yYe(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?lq(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:uq(e.scripts)}}function lq(e){return{...e,model:sq(e.provider,e.model)}}function uq(e){return e.map(e=>({...e}))}function bYe(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?lq(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:uq(t.scripts)},updatedAt:t.updatedAt}}function dq(e){let t=aG(e.lastError);return{provider:SYe(e.providerName),status:xYe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function fq(e,t){let n=t.attachments?.map(t=>{let n=KK({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 pq(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function mq(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 xYe(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 wYe=[],TYe=[],EYe=[],DYe=[],OYe={},kYe={},AYe={},jYe={},MYe=[],hq=new WeakMap,gq=new WeakMap;function _q(e,t,n){if(!e||e.length===0||!t)return n;let r=hq.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||hq.set(e,o),a}function NYe(e,t){return _q(e.messageIdsByThreadId[t],e.messageByThreadId[t]??OYe,wYe)}function PYe(e,t){return _q(e.activityIdsByThreadId[t],e.activityByThreadId[t]??kYe,TYe)}function FYe(e,t){return _q(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??AYe,EYe)}function IYe(e,t){return _q(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??jYe,DYe)}function vq(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??MYe,o=NYe(e,t),s=PYe(e,t),c=FYe(e,t),l=IYe(e,t),u=gq.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 gq.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function LYe(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 yq(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var bq={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},RYe={activeEnvironmentId:null,environmentStateById:{}},xq=[],Sq=[];function Cq(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function wq(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:lq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?dq(e.session):null,messages:e.messages.map(e=>fq(t,e)),proposedPlans:e.proposedPlans.map(pq),error:aG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...yq(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(mq),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 Tq(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:lq(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:aG(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...yq(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?dq(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,...yq(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 zYe(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 BYe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function Eq(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function Dq(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&&Eq(e.sourceProposedPlan,t.sourceProposedPlan)}function Oq(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 kq(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 Aq(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&jq(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&Oq(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&Dq(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&&kq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function jq(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function Mq(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&&kq(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&jq(e.titleRegeneration,t.titleRegeneration)}function Nq(e,t){return e!==void 0&&Dq(e.latestTurn,t.latestTurn)&&Eq(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function VYe(e,t){return e.includes(t)?[...e]:[...e,t]}function Pq(e,t){return e.filter(e=>e!==t)}function HYe(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function UYe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function WYe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function GYe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function KYe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function Fq(e){return e.threadIds.flatMap(t=>{let n=vq(e,t);return n?[n]:[]})}function Iq(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]??xq,i=Pq(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else Cq(n,i)||(e={...e,[r]:i})}let a=e[n]??xq,o=VYe(a,t);Cq(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function Lq(e,t,n){let r=zYe(t),i=BYe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=Iq(e,t.id,t.projectId,n?.projectId);Mq(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};Aq(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(Oq(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??Sq)!==(t.rateLimitStatus??Sq)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??Sq}}),Nq(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=HYe(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=UYe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=WYe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=GYe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function Rq(e,t){let n=e.threadShellById[t.shell.id],r=Iq(e,t.shell.id,t.shell.projectId,n?.projectId);return Mq(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),Oq(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),Nq(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),Aq(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function zq(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function Bq(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=Pq(e.threadIds,t),o=Pq(e.threadIdsByProjectId[i]??xq,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 qYe(e,t){let n=new Set(e.threadIdsByProjectId[t]??xq);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 Vq(e,t){let n=qYe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=Bq(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:Pq(r.projectIds,t)}}function Hq(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function JYe(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 Uq(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 YYe(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 XYe(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 ZYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function QYe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function Wq(e,t,n){let r=vq(e,t);if(!r)return e;let i=n(r);return i===r?e:Lq(e,i,r)}function Gq(e,t,n,r){let i=Wq(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 $Ye(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function Kq(e,t){return e.environmentStateById[t]??bq}function qq(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function eXe(e,t,n){let r=t.projects.map(e=>cq(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...$Ye(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:zq(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:zq(e.messageIdsByThreadId,i),messageByThreadId:zq(e.messageByThreadId,i),activityIdsByThreadId:zq(e.activityIdsByThreadId,i),activityByThreadId:zq(e.activityByThreadId,i),proposedPlanIdsByThreadId:zq(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:zq(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:zq(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:zq(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=Rq(a,Tq(e,n));return a}function tXe(e,t,n){return qq(e,n,eXe(Kq(e,n),t,n))}function nXe(e,t,n){let r=Kq(e,n),i=vq(r,t.id);return qq(e,n,Lq(r,wq(t,n),i))}function rXe(e,t,n,r){let i=Kq(e,t);return qq(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function iXe(e,t,n){let r=Kq(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return qq(e,t,{...r,threadSubscriptionErrorById:a})}function Jq(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=bYe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return Vq(e,t.payload.projectId);case`thread.created`:{let r=vq(e,t.payload.threadId);return Lq(e,wq({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 Bq(e,t.payload.threadId);case`thread.archived`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return Gq(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return Wq(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:lq(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 Wq(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return Wq(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return Wq(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:lq(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:Uq({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:Wq(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:Uq({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 Wq(e,t.payload.threadId,e=>{let n=fq(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?YYe(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)?Uq({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 Wq(e,t.payload.threadId,e=>({...e,session:dq(t.payload.session),error:aG(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?Uq({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 Wq(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 Wq(e,t.payload.threadId,e=>{let n=pq(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 Wq(e,t.payload.threadId,e=>{let n=mq({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?Uq({previous:e.latestTurn,turnId:t.payload.turnId,state:Hq(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 Wq(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=XYe(e.messages,r,t.payload.turnCount).slice(-2e3),a=QYe(e.proposedPlans,r).slice(-200),o=ZYe(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:Hq(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return Wq(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(JYe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return Wq(e,t.payload.threadId,e=>({...e,rateLimitStatus:LYe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return Wq(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 aXe(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 Vq(e,t.projectId);case`thread-upserted`:return Rq(e,Tq(t.thread,n));case`thread-removed`:return Bq(e,t.threadId)}}function oXe(e,t,n){if(t.length===0)return e;let r=Kq(e,n);return qq(e,n,t.reduce((e,t)=>Jq(e,t,n),r))}function Yq(e){return Object.entries(e.environmentStateById)}function Xq(e,t){return t?Kq(e,t):bq}function sXe(e,t){return Fq(Xq(e,t))}function Zq(e){return Yq(e).flatMap(([,e])=>KYe(e))}function Qq(e){return Yq(e).flatMap(([,e])=>Fq(e))}function cXe(e){return Yq(e).flatMap(([,e])=>$q(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function $q(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 eJ(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 lXe(e){return Yq(e).flatMap(([e,t])=>$q(t).flatMap(n=>{let r=eJ(e,t,n);return r?[r]:[]}))}function tJ(e,t){if(!t)return[];let n=Xq(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??xq;return(r.length>0?r:$q(n)).flatMap(e=>{let r=eJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function uXe(e,t){return t.length===0?[]:t.length===1?tJ(e,t[0]):t.flatMap(t=>tJ(e,t))}function dXe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):Xq(e,e.activeEnvironmentId).bootstrapComplete}function fXe(e,t){return t?Xq(e,t.environmentId).projectById[t.projectId]:void 0}function nJ(e,t){return t?vq(Xq(e,t.environmentId),t.threadId):void 0}function pXe(e,t){return t?Xq(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function rJ(e,t){return t?eJ(t.environmentId,Xq(e,t.environmentId),t.threadId)??void 0:void 0}function mXe(e,t,n){if(e.activeEnvironmentId===null)return e;let r=Wq(Kq(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return qq(e,e.activeEnvironmentId,r)}function hXe(e,t,n){return qq(e,n,Jq(Kq(e,n),t,n))}function gXe(e,t,n){return qq(e,n,aXe(Kq(e,n),t,n))}function _Xe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function vXe(e,t,n,r){let i=Wq(Kq(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 qq(e,t.environmentId,i)}var iJ=Xt(e=>({...RYe,setActiveEnvironmentId:t=>e(e=>_Xe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>tXe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>nXe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>rXe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>iXe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>hXe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>oXe(e,t,n)),applyShellEvent:(t,n)=>e(e=>gXe(e,t,n)),setError:(t,n)=>e(e=>mXe(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>vXe(e,t,n,r))})),aJ=`Thread not found or you no longer have access.`;function yXe(e){if(e==null)return aJ;let t=QK(ote(e)?Ie(e):e,aJ);return/\bnot found\b/i.test(t)?aJ:t}function bXe(e,t,n){iJ.getState().setThreadSubscriptionError(e,t,yXe(n))}function oJ(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var xXe={enabled:!0,leading:!0,trailing:!0,wait:0},SXe=class{#e;constructor(e,t){this.fn=e,this.store=new Tte(oJ()),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`}}),bte(`Throttler`,this)},this.#n=()=>!!Yt(this.options.enabled,this),this.#r=()=>Yt(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(oJ())},this.key=t.key,this.options={...xXe,...t},this.#t(this.options.initialState??{}),this.key&&Cte.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 wXe(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)&&!TXe(a,o))return null;let s={...e,[i]:{...a,...NXe(a,o)}};return delete s[r],s}function TXe(e,t){let n=e.stagedSubmission;return!n||!EXe(n)||!DXe(e,n)||!OXe(n,t.stagedSubmission)?!1:kXe(e,t)}function EXe(e){return!!e.commandId&&!!e.messageId}function DXe(e,t){return[e.prompt===t.prompt,cJ(e.persistedAttachments,t.attachments),cJ(e.terminalContexts,t.terminalContexts)].every(Boolean)}function OXe(e,t){return!t||AXe(e,t)}function kXe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,uJ(e.images,t.images),lJ(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,uJ(e.persistedAttachments,t.persistedAttachments),uJ(e.terminalContexts,t.terminalContexts),MXe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function AXe(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),jXe(e.executionIntent,t.executionIntent)].every(Boolean)}function sJ(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function jXe(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 lJ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function uJ(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function MXe(e,t){let n=Object.keys(e).toSorted();return lJ(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function NXe(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 dJ=`full-access`,fJ=`default`,pJ=`default`,PXe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,FXe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function mJ(e){return e.replace(/\r\n/g,`
|
|
1006
1006
|
`).replace(/^\n+|\n+$/g,``)}function hJ(e){return mJ(e.text).length>0}function IXe(e){return!hJ(e)}function LXe(e){return e.filter(e=>hJ(e))}function RXe(e){let t=mJ(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 zXe(e){return e.lineStart===e.lineEnd?`line ${e.lineStart}`:`lines ${e.lineStart}-${e.lineEnd}`}function gJ(e){return`${e.terminalLabel} ${zXe(e)}`}function _J(e){return`@${e.terminalLabel.trim().toLowerCase().replace(/\s+/g,`-`)}:${e.lineStart===e.lineEnd?`${e.lineStart}`:`${e.lineStart}-${e.lineEnd}`}`}function BXe(e){return mJ(e.text).split(`
|
|
1007
1007
|
`).map((t,n)=>` ${e.lineStart+n} | ${t}`)}function VXe(e){let t=e.map(e=>RXe(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(`- ${gJ(r)}:`),n.push(...BXe(r)),e<t.length-1&&n.push(``)}return[`<terminal_context>`,...n,`</terminal_context>`].join(`
|
|
1008
1008
|
`)}function HXe(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+=_J(e))}return r}function UXe(e,t){let n=HXe(e,t).trim(),r=VXe(t);return r.length===0?n:n.length>0?`${n}\n\n${r}`:r}function WXe(e){let t=PXe.exec(e);if(!t)return{promptText:e,contextCount:0,previewTitle:null,contexts:[]};let n=e.slice(0,t.index).replace(/\n+$/,``),r=qXe(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,7 +1016,7 @@ 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),W$e(e,t))return;o=a.indexOf(`
|
|
1018
1018
|
|
|
1019
|
-
`)}}}var K$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 G$e(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},q$e=6e4;function J$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 Y$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 KX(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=Y$e({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??q$e}),s=e.readiness?(e.readiness.openStream??K$e)({url:J$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 X$e(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var Z$e=3e4,Q$e=1e4,$$e=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,qX=/https?:\/\/[^\s"'`<>]+/gu,e1e=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),t1e=/(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 JX(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=$$e.test(t)||XX(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 n1e(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function YX(e){try{let t=new URL(e);return Dne(t.hostname)}catch{return!1}}function XX(e){return Tne(e)}function ZX(e){try{let t=new URL(e);if(t.protocol!==`http:`||!YX(t.toString())&&!XX(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 r1e(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 i1e(e){return e.replace(e1e,``).replaceAll(/./gsu,e=>a1e(e)?``:e).replace(t1e,`$1$2`)}function a1e(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function QX(e){let t=null,n=null,r=i1e(e);qX.lastIndex=0;for(let e of r.matchAll(qX)){let r=JX(r1e(e[0]));!r||!ZX(r)||(t=r,YX(r)&&(n=r))}return n??t}function o1e(e){let t=null;for(let n of e){let e=n.event,r=QX(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function s1e(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var c1e=`forge:terminal-state:v1`,$X=[],l1e=200,eZ=8;function u1e(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:uZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!Wo(e)&&typeof t?.url==`string`&&!!ZX(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function d1e(){return OJ(typeof window<`u`?window.localStorage:void 0)}function f1e(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[pJ]}function p1e(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 tZ(e){return`group-${e}`}function nZ(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function rZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function m1e(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function h1e(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=m1e(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():tZ(e[0]??`default`);i.push({id:nZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:nZ(tZ(e),a),terminalIds:[e]});return i.length===0?[{id:tZ(pJ),terminalIds:[pJ]}]:i}function iZ(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 g1e(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||!iZ(r.terminalIds,i.terminalIds))return!1}return!0}function aZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&iZ(e.terminalIds,t.terminalIds)&&iZ(e.runningTerminalIds,t.runningTerminalIds)&&g1e(e.terminalGroups,t.terminalGroups)}var oZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[pJ],runningTerminalIds:[],activeTerminalId:pJ,terminalGroups:[{id:tZ(pJ),terminalIds:[pJ]}],activeTerminalGroupId:tZ(pJ)});function sZ(){return{...oZ,terminalIds:[...oZ.terminalIds],runningTerminalIds:[...oZ.runningTerminalIds],terminalGroups:vZ(oZ.terminalGroups)}}function cZ(){return oZ}function lZ(e){let t=f1e(e.terminalIds),n=t.length>0?t:[pJ],r=p1e(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=h1e(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??tZ(`default`)};return aZ(e,c)?e:c}function _1e(e){let t=lZ(e);if(t.terminalIds.length<=eZ)return t;let n=new Set,r=e=>{!e||n.size>=eZ||t.terminalIds.includes(e)&&n.add(e)};r(pJ),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 lZ({...t,terminalIds:i.length>0?i:[pJ],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 uZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>Wo(e)?[[e,_1e(t)]]:[]))}function v1e(e){return aZ(lZ(e),oZ)}function y1e(e){return e.trim().length>0}function dZ(e){return Vo(e)}function fZ(e,t){return`${dZ(e)}\u0000${t}`}function pZ(e,t){return fZ(e,t)}function mZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function hZ(e,t){let n=QX(e);return n?{url:n,observedAt:t}:null}function b1e(e){return hZ(e.history,e.updatedAt)}function gZ(e){return e.type===`output`?hZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?hZ(e.snapshot.history,e.snapshot.updatedAt):null}function _Z(e,t,n){if(!n)return e;let r=dZ(t),i=e[r];return i&&mZ(i.observedAt)>mZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function vZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function yZ(e,t,n,r){let i=fZ(n,r.terminalId),a=e[i]??$X,o={id:t,event:r},s=a.length>=l1e?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function bZ(e,t,n,r){let i=fZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function xZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function SZ(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function CZ(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 x1e(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function S1e(e,t){let n=x1e(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 wZ(e,t,n){let r=lZ(e);if(!y1e(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=vZ(r.terminalGroups),s=rZ(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=nZ(tZ(t),e);return o.push({id:n,terminalIds:[t]}),lZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=rZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=nZ(tZ(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 lZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function TZ(e,t){let n=lZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function C1e(e,t){let n=lZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function w1e(e,t){return wZ(e,t,`split`)}function EZ(e,t,n){let r=wZ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function DZ(e,t){let n=lZ(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 T1e(e,t){let n=lZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return sZ();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??tZ(a);return lZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function OZ(e,t,n){let r=lZ(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 kZ(e,t){return!t||t.threadId.length===0?cZ():e[dZ(t)]??cZ()}function AZ(e,t,n){if(t.threadId.length===0)return e;let r=dZ(t),i=kZ(e,t),a=n(i);if(a===i)return e;if(v1e(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function E1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?$X:e[fZ(t,n)]??$X}function D1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[pZ(t,n)]??null}function O1e(e,t){if(!t||t.threadId.length===0)return[];let n=`${dZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function k1e(e,t){return!t||t.threadId.length===0?null:e[dZ(t)]??null}var jZ=Xt()(SJ(e=>{let t=(t,n)=>{e(e=>{let r=AZ(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=>TZ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>C1e(e,n)),splitTerminal:(e,n)=>t(e,e=>w1e(e,n)),newTerminal:(e,n,r)=>t(e,e=>EZ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=EZ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=DZ(t,n)),r?.open&&(t=TZ(t,!0)),lZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>DZ(e,n)),closeTerminal:(e,n)=>t(e,e=>T1e(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[dZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=dZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>OZ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=pZ(t,n.terminalId),i=xZ(n),a=n.type===`started`||n.type===`restarted`;if(SZ(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):yZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=_Z(e.terminalPreviewUrlByThreadKey,t,gZ(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[pZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=dZ(t),i=pZ(t,n.terminalId),a=xZ(n),o=n.type===`started`||n.type===`restarted`;if(SZ(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=_Z(e.terminalPreviewUrlByThreadKey,t,gZ(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[pZ(t,n.terminalId)]:n.snapshot},s=AZ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=EZ(r,n.terminalId)),t?(r=DZ(r,n.terminalId),r=TZ(r,!0)):(r=DZ(r,e.activeTerminalId),r=TZ(r,e.terminalOpen)),lZ(r)}),c={...c,[r]:S1e(c[r],n)});let d=s1e(n);d!==null&&(s=AZ(s,t,e=>OZ(e,n.terminalId,d)));let f=o&&a?bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):yZ(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,[pZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:_Z(e.terminalPreviewUrlByThreadKey,t,b1e(n))})),clearTerminalState:t=>e(e=>{let n=dZ(t),r=AZ(e.terminalStateByThreadKey,t,()=>sZ()),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=CZ(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=dZ(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=CZ(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:c1e,version:4,storage:bJ(d1e),migrate:u1e,partialize:e=>({terminalStateByThreadKey:uZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function A1e(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 j1e(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 MZ(e){let t=A1e(e).trim()||`Unknown browser error.`,n=j1e(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 M1e(e){let t=MZ(e);return`${t.cause} ${t.nextAction}`}function N1e(e){let t=MZ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var NZ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function PZ(e){return Vo(e)}function P1e(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 F1e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function FZ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!P1e(t.display)||!F1e(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 I1e(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 IZ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function L1e(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 R1e(e,t){let n=L1e(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 z1e(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 LZ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function B1e(e,t){let n=LZ(t);return e.some(e=>LZ(e)===n)?e:[...e,t]}function V1e(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 H1e(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 U1e(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 W1e(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 G1e(e,t){let n=t.payload.tabId,r=Ice(W1e(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 K1e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function q1e(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 J1e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!U1e(t,n))return i;let o=G1e(t,n);if(!o.decision.observe)return i;let s=K1e(t,n,o),c=o.decision.accept?q1e(s,n):s;return{browserStateByThreadKey:IZ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var RZ=Xt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=PZ(t),i=e.browserStateByThreadKey[r]??NZ,a=n?FZ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:IZ(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=PZ(t),i=e.browserStateByThreadKey[r]??NZ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=PZ(t),i=z1e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=R1e(e.browserStateByThreadKey[r]??NZ,n);switch(n.type){case`session.started`:{if(I1e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=FZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:IZ(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=FZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:IZ(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:IZ(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:V1e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:H1e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:IZ(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:IZ(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:IZ(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:IZ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:IZ(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 J1e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:IZ(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:IZ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:B1e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...a,lastError:N1e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=PZ(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 Y1e(e,t){return t?e[PZ(t)]??null:null}var X1e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function Z1e(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 Q1e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function $1e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var zZ=`forge:ui-state:v1`,BZ=[`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`],VZ=`months`,e0e=new Set([`weeks`,`months`,`quarters`]);function t0e(e){return typeof e==`string`&&e0e.has(e)?e:VZ}function HZ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var UZ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:VZ,projectLeadCompanion:X1e},WZ=new Set,GZ=[],KZ=new Map,qZ=!1;function n0e(){if(typeof window>`u`)return UZ;try{let e=window.localStorage.getItem(zZ);if(!e){for(let e of BZ){let t=window.localStorage.getItem(e);if(t)return JZ(JSON.parse(t)),UZ}return UZ}let t=JSON.parse(e);return JZ(t),{...UZ,projectGroupOrder:r0e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:o0e(t.threadChangedFilesExpandedById),pinnedThreadById:i0e(t.pinnedThreadKeys),threadLinkedPrById:a0e(t.threadLinkedPrById),timelineWorkColumnWidth:HZ(t.timelineWorkColumnWidth??360),timelineScale:t0e(t.timelineScale)}}catch{return UZ}}function r0e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function i0e(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 a0e(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 o0e(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 JZ(e){WZ.clear(),GZ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&WZ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!GZ.includes(t)&&GZ.push(t)}function s0e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=KZ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=KZ.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(zZ,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})),!qZ){qZ=!0;for(let e of BZ)window.localStorage.removeItem(e)}}catch{}}var YZ=new Qt(s0e,{wait:500});function XZ(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 ZZ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function c0e(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)||!XZ(r,t[e]))return!1;return!0}function l0e(e,t){let n=new Map(KZ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));KZ.clear();for(let e of t)KZ.set(e.key,e.cwd);let i=n.size!==KZ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(GZ.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)??(WZ.size>0?WZ.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)??GZ.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 XZ(e.projectExpandedById,a)&&ZZ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function u0e(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 XZ(e.threadLastVisitedAtById,r)&&c0e(e.threadChangedFilesExpandedById,i)&&XZ(e.pinnedThreadById,a)&&XZ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function d0e(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 f0e(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 p0e(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 QZ(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 m0e(e,t){return QZ(e,t,e.pinnedThreadById[t]!==!0)}function h0e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function g0e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function _0e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function v0e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function y0e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function b0e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function x0e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function S0e(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 C0e(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 ZZ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function w0e(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 $Z=Xt(e=>({...n0e(),syncProjects:t=>e(e=>l0e(e,t)),syncProjectGroups:t=>e(e=>C0e(e,t)),syncThreads:t=>e(e=>u0e(e,t)),markThreadVisited:(t,n)=>e(e=>d0e(e,t,n)),markThreadUnread:(t,n)=>e(e=>f0e(e,t,n)),clearThreadUi:t=>e(e=>p0e(e,t)),setThreadPinned:(t,n)=>e(e=>QZ(e,t,n)),toggleThreadPinned:t=>e(e=>m0e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>h0e(e,t,n)),clearThreadLinkedPr:t=>e(e=>g0e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>_0e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>y0e(e,t,n)),toggleProject:t=>e(e=>b0e(e,t)),setProjectExpanded:(t,n)=>e(e=>x0e(e,t,n)),reorderProjects:(t,n)=>e(e=>S0e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>w0e(e,t,n)),setLastActiveProject:t=>e(e=>v0e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:HZ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:Q1e(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 T0e(e){$Z.getState().openProjectLeadCompanion(e)}$Z.subscribe(e=>YZ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{YZ.flush()});var E0e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),D0e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},O0e=Zre(rt(Jre((e,t,n,r)=>{let i=r.getRef(E0e),a=r.context.mapUnsafe.get(D0e.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)}))),k0e=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))})),A0e=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:k0e,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))}}}),j0e=e=>{let t=e.attributes?eQ(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}},M0e=Xe(function*(e){let t={...yield*Xl(jn(jle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*Xl(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*Xl(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],j0e({serviceName:n,serviceVersion:r,attributes:t})},c),N0e=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},eQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:tQ(r)});return t},tQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(tQ)}};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)}}},nQ=class extends yt()(`effect/observability/OtlpSerialization`){},P0e=he(nQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),F0e=Xe(function*(e){let t=yield*M0e(e.resource),n=yield*nQ,r={name:N0e(t)},i=yield*A0e({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(R0e(e))}return xe({span(e){return L0e({...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})}),I0e={_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)}},L0e=e=>{let t=Object.assign(Object.create(I0e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:rQ(32),t.spanId=rQ(16),t.events=[],t},rQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},R0e=e=>{let t=e.status,n=eQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?eQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=B0e;else if(dt(t.exit.cause))i={code:iQ.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:iQ.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:z0e[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:eQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},iQ={Unset:0,Ok:1,Error:2},z0e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},B0e={code:iQ.Ok},V0e=1e4,H0e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":dl}},U0e=De(O0e,P0e,he(Ui,()=>!0)),aQ=null,oQ=null,sQ=null,cQ=null,lQ=0,uQ=Promise.resolve(),W0e=he(Hee,xe({span(e){return aQ?.span(e)??new s(e)}}));function G0e(e={}){return e.exportIntervalMs===void 0&&cQ!==null||(uQ=uQ.finally(()=>K0e(e))),uQ}async function K0e(e){let t=or(`/api/observability/v1/traces`),n=mr()?.bearerToken,r=Math.max(10,e.exportIntervalMs??V0e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(cQ===i&&aQ!==null)return;cQ=i;let a=++lQ,o=oQ,s=sQ;aQ=null,oQ=null,sQ=null,await dQ(o,s);let c=rl(U0e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(F0e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:H0e})));if(a!==lQ){await dQ(c,l);return}aQ=e,oQ=c,sQ=l}catch(e){await dQ(c,l),a===lQ&&console.warn(`Failed to configure client tracing exporter`,{error:q0e(e),otlpTracesUrl:t})}}async function dQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function q0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var fQ=15e3,pQ=new Map,mQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function hQ(e){Ht.set(mQ,[...e])}function gQ(){return Ht.get(mQ)}var _Q=`global`;function J0e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function Y0e(e,t,n=_Q){if(!J0e(t))return;bQ(e,n),$0e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:fQ},a=yQ(n,e),o=setTimeout(()=>{pQ.delete(a),Q0e(i)},fQ);pQ.set(a,{request:i,timeoutId:o})}function X0e(e,t=_Q){bQ(e,t);let n=gQ();n.some(n=>n.clientId===t&&n.requestId===e)&&hQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function vQ(e){for(let[t,n]of pQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),pQ.delete(t));hQ(gQ().filter(t=>t.clientId!==e))}function Z0e(){for(let e of pQ.values())clearTimeout(e.timeoutId);pQ.clear(),hQ([])}function yQ(e,t){return`${e}:${t}`}function bQ(e,t){let n=yQ(t,e),r=pQ.get(n);r&&(clearTimeout(r.timeoutId),pQ.delete(n))}function Q0e(e){let t=[...gQ(),e];if(t.length<=256){hQ(t);return}hQ(t.slice(-256))}function $0e(){for(;pQ.size>=256;){let e=pQ.keys().next().value;if(e===void 0)return;let t=pQ.get(e);if(!t)return;bQ(t.request.requestId,t.request.clientId)}}function e2e(){return cr(mQ)}var t2e=ko(Mn),xQ=1;function n2e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function SQ(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 r2e(){return{onAttempt:Lne,onOpen:One,onError:e=>{Ine(e)},onClose:e=>{kne(e)},trackGlobalConnection:!0}}function i2e(e){let t=r2e(),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 a2e(e,t){let n=xQ;xQ+=1;let r=i2e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>SQ(e)),ite(e=>pt(()=>{r.onError(n2e(e))})),c):SQ(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`?X0e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&vQ(i),r(e))).pipe(Je(pt(()=>{vQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&Y0e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,Oo)))}var o2e=/^all fibers interrupted without error$/i;function s2e(e){return iG(e)||o2e.test(e.trim())}var c2e=Ue(250),CQ=()=>void 0,wQ=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}},l2e=new Set([`OrchestrationGetSnapshotError`]);function u2e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&l2e.has(t)}function d2e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?f2e(e):String(e)}function f2e(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 p2e=4e3,m2e=1e4,h2e=500,TQ=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??p2e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??m2e,sessionCloseGraceMs:r?.sessionCloseGraceMs??h2e},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 wQ(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:CQ},i=Be(Ne(n?.retryDelay??c2e));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=CQ}catch(e){if(r.cancelCurrentStream=CQ,!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=d2e(e);return s2e(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await g2e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){u2e(e)||hG(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=>{hG(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:a2e(this.url,this.lifecycleHandlers),makeClient:t2e},t=rl(De(e.layer,W0e)),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 g2e(e){return new Promise(t=>{setTimeout(t,e)})}var EQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,_2e=/^[A-Za-z0-9_-]+$/;function v2e(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+=EQ[o>>>18&63],t+=EQ[o>>>12&63],n+1<e.byteLength&&(t+=EQ[o>>>6&63]),n+2<e.byteLength&&(t+=EQ[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function y2e(e){if(e.length===0||!_2e.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=EQ.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 DQ(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 b2e(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:v2e(a),sha256:await DQ(a)})}return{totalBytes:e.byteLength,sha256:await DQ(e),chunks:i}}async function x2e(e){let t=y2e(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 DQ(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function S2e(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 x2e(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 DQ(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var OQ=`forge`,C2e=RegExp(`^${OQ}\\/[0-9a-f]{8}$`);function w2e(){return`${OQ}/${fe(_te).replace(/-/g,``).slice(0,8).toLowerCase()}`}function T2e(e){return C2e.test(e.trim().toLowerCase())}function E2e(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 D2e(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 kQ(e){return`https://${e}`}function k2e(e){return e===`github.com`||e.includes(`github`)}function A2e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function j2e(e){return e===`bitbucket.org`}function M2e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function N2e(e){let t=O2e(e);if(!t)return null;let n=E2e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?k2e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:kQ(t)}:A2e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:kQ(t)}:j2e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:kQ(t)}:M2e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:kQ(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:kQ(t)}:null}var P2e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function AQ(e,t){return{...e,...t??P2e}}function F2e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function I2e(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 L2e(e,t){switch(t._tag){case`snapshot`:return AQ(t.local,t.remote);case`localUpdated`:return AQ(t.local,e?F2e(e):null);case`remoteUpdated`:return AQ(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:I2e(e),t.remote)}}var R2e=262144,z2e=250;function B2e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function V2e(e){return new Promise(t=>setTimeout(t,e))}function H2e(e){let t=Ace({controllerId:crypto.randomUUID(),maxPendingWriteBytes:R2e}),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(!iG(B2e(e)))throw e;await V2e(z2e)}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 U2e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function W2e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var G2e=2e4,K2e=12e4,q2e=3e5;function J2e(e){return e instanceof wQ||iG(e instanceof Error?e.message:String(e))}async function Y2e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?q2e:G2e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!J2e(t))throw t;return await e.reconnect(),await r()}}function jQ(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function MQ(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>X2e(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 S2e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function X2e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){Z2e(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`){Q2e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function Z2e(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 Q2e(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 $2e(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 b2e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{jQ(n?.signal);let r=await e4e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await t4e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await W2e(e,a),t}}function e4e(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 t4e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;jQ(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}jQ(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function NQ(e){let t=H2e(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:U2e(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)=>MQ(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>$2e(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=L2e(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:K2e})},orchestration:{dispatchCommand:t=>Y2e(e,t),getTurnDiff:(t,n)=>MQ(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>MQ(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 n4e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function PQ(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!n4e.has(t)?null:t}function FQ(e,t){return e===401||e===403||PQ(t)!==null}function r4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return FQ(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var IQ=`forge.deviceRegistry.deviceKey`,LQ=`forge.deviceRegistry.runtimeId`;function i4e(e){let t=BQ(IQ,e.desktopIdentity?.deviceKey,`device`),n=BQ(LQ,e.desktopIdentity?.runtimeId,`runtime`),r=zQ(e.desktopIdentity?.hostKey),i=c4e(),a=e.desktopAvailable?`desktop`:l4e(),o=e.desktopAvailable?s4e(e.desktopIdentity)??u4e(i):d4e(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 RQ(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return i4e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function zQ(e){let t=e?.trim()??``;return t.length>0?t:null}function BQ(e,t,n){let r=zQ(t);return r?(NJ(e,r),r):o4e(e,n)}function a4e(){return MJ(LQ)}function VQ(){return MJ(IQ)}function o4e(e,t){let n=MJ(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return NJ(e,r),r}function s4e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function c4e(){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 l4e(){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 u4e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function d4e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var HQ=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function UQ(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new HQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new HQ(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function f4e(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 p4e(e){if(!e.deviceKey)throw new HQ(`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 HQ(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new HQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function m4e(e,t){let n=async()=>p4e(await f4e(t));return{acquireRoute:async()=>{let r=await n(),i=await Dce();try{return kce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...Oce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof tl)throw new HQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return UQ(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 UQ(e)}}}}var WQ=`forge.relayControlJournal.v1`;function GQ(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var h4e={read:()=>GQ().getItem(WQ),write:e=>GQ().setItem(WQ,e)},KQ=null,qQ=Xt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function g4e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));qQ.getState().replace(Object.fromEntries([...t].map(t=>[t,Vse(e.records,t)])))})}function JQ(){return KQ===null&&(KQ=zc({storage:h4e}),g4e(KQ)),KQ}function _4e(){let e=(0,cl.c)(1),t=qQ(y4e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(v4e,n),t}function v4e(){JQ()}function y4e(e){return e.byRuntimeId}function b4e(e){let t=JQ();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 x4e=12e4,S4e=3e4,YQ=3e4;function XQ(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 C4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function w4e(e){let t=e.now??Date.now,n=e.renewalSkewMs??x4e,r=!1,i=null,a=null,o=XQ(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=XQ(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()+YQ;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},YQ),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=XQ(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=C4e(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()+S4e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var ZQ=new Map;function QQ(e,t){return e.acquire(t?{signal:t}:{})}function T4e(e,t){ZQ.set(e,t)}function E4e(e){return ZQ.has(e)}function $Q(e,t){let n=ZQ.get(e);t&&n!==t||(n?.dispose(),ZQ.delete(e))}async function D4e(e){let t=ZQ.get(e);if(t)return(await t.acquire()).bearerToken;let n=WK(e);return n&&UX(n)?null:YK(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 e$(e){let t=e.githubRepoFullName;return t?t.split(`/`)[1]??t:k4e(e.projectName)}function k4e(e){let t=e.trim().toLowerCase().replaceAll(`'`,``).replaceAll(`"`,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`project`}function t$(e){if(!e)return null;let t=e.trim().replace(/\/+$/,``);return t.length>0?t:null}function n$(e){let t=t$(e??void 0);return t&&r$(t).length>1?t:null}function r$(e){return e.split(`/`).flatMap(e=>e.split(`\\`)).filter(e=>e.length>0)}function i$(e){return e?r$(e).at(-1)??null:null}function A4e(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 j4e(e,t){if(!t)return!1;let n=e.repositoryIdentity?.canonicalKey;return n!==void 0&&!n.toLowerCase().endsWith(`/${t.toLowerCase()}`)}function M4e(e,t){return e?e.cmmdOrganizationId===t.cmmdOrganizationId&&e.cmmdProjectId===t.cmmdProjectId:!1}function N4e(e,t){let n=e.filter(e=>!e.cmmdRegistration),r=n$(t.workspaceRoot),i=r?n.filter(e=>t$(e.cwd)===r):[];if(i.length>0)return i;let a=e$(t).toLowerCase();return n.filter(e=>i$(e.cwd)?.toLowerCase()===a)}function a$(e,t,n){let r=e[t];if(!r)return null;let i=r.projectIds.flatMap(e=>{let t=r.projectById[e];return!t||j4e(t,n.githubRepoFullName)?[]:[t]}),a=i.filter(e=>M4e(e.cmmdRegistration,n)),o=a.length>0?a:N4e(i,n),s=o.length===1?o[0]:void 0;return s?{environmentId:t,projectId:s.id}:null}function P4e(e){return{cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,githubRepoFullName:e.githubRepoFullName,projectName:e.projectName,workspaceRoot:e.workspaceRoot}}function F4e(e,t){let n=e.cmmdEnvironmentId??e.environmentId;if(e.runtimeId===null||n===null)return null;let r=a$(t,an.make(n),P4e(e));return r?Io(r.environmentId,r.projectId):null}function I4e(e,t){return e===t?!0:e===null||t===null?!1:e.environmentId===t.environmentId&&e.projectId===t.projectId}function L4e(e,t){let n=!1,r=e.map(e=>{let r=F4e(e,t);return I4e(r,e.resolvedRef)?e:(n=!0,{...e,resolvedRef:r})});return n?r:e}var o$=`registered`,R4e={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 s$(e,t){let n=R4e[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 z4e(e){return e===`destroyed`}function B4e(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 V4e(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 c$={state:`unknown`,label:`Unknown`,detail:`Current Environment availability has not been observed.`,tone:`muted`,automaticWakeAllowed:!1,shellConnected:!1,shellMayEstablishReady:!1};function l$(e,t,n,r,i,a,o=!1){return{state:e,label:t,detail:n,tone:r,automaticWakeAllowed:i,shellConnected:a,shellMayEstablishReady:o}}function H4e(e,t){return e.ownerIntent===`paused`?l$(`paused`,`Paused`,`Resume before live work can wake this Environment.`,`warning`,!1,t):e.ownerIntent===`deleting`?l$(`deleting`,`Deleting`,`This Environment is being removed.`,`muted`,!1,t):null}function U4e(e,t){return e.executionAdmission.state===`allowed`?null:l$(`unavailable`,`Unavailable`,`This Environment is not accepting live work while it drains.`,`warning`,!1,t)}function u$(e,t=!1){if(e==null)return c$;let n=H4e(e,t);if(n!==null)return n;if(e.ownerIntent!==`active`)return c$;let r=U4e(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`?l$(`unknown`,`Unknown`,`Current provider availability has not been observed.`,`muted`,e.automaticWakeAllowed,t):i.state===`sleeping`?l$(`sleeping`,`Sleeping`,`Live work wakes this Environment automatically.`,`muted`,e.automaticWakeAllowed,t):a.observedAt===null||a.failure!==null||a.state===`unknown`?l$(`unknown`,`Unknown`,`Current guest readiness has not been observed.`,`muted`,e.automaticWakeAllowed,t):a.state===`starting`?l$(`starting`,`Starting`,`Preparing live execution.`,`warning`,e.automaticWakeAllowed,t):a.state===`degraded`?l$(`degraded`,`Degraded`,`A required service needs attention.`,`warning`,e.automaticWakeAllowed,t):a.state===`failed`?l$(`needs-attention`,`Needs attention`,`The readiness check failed.`,`destructive`,e.automaticWakeAllowed,t):t?l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0):o.state===`active`?l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,t):l$(`unknown`,`Unknown`,`No current execution proof is available.`,`muted`,e.automaticWakeAllowed,t,!0)}function W4e(e,t){return!t||!e.shellMayEstablishReady?e:l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0)}function d$(e){return e?s$(e.status,e.readinessPhase??void 0):o$}function G4e(e){return e.runtime?.githubRepoFullName??e.githubRepoFullName??null}function K4e(e,t){return{cmmdOrganizationId:e.organizationId,cmmdProjectId:e.projectId,projectName:V4e({shortName:e.shortName??null,projectName:e.projectName??null,githubRepoFullName:t,cmmdProjectId:e.projectId}),githubRepoFullName:t,iconUrl:e.iconUrl??null,icon:e.icon??null}}function q4e(e){return e?{runtimeId:e.runtimeId,workspaceRoot:e.workspaceRoot??null,status:d$(e),desiredState:f$(e.desiredState),environmentId:Tl(e.runtimeId),cmmdEnvironmentId:e.environmentId??null,...e.maintenance===void 0?{}:{maintenance:e.maintenance}}:{runtimeId:null,workspaceRoot:null,status:o$,desiredState:null,environmentId:null,cmmdEnvironmentId:null}}function f$(e){return e===`running`||e===`stopped`||e===`destroyed`?e:null}function J4e(e){return{...K4e(e,G4e(e)),registeredAt:e.registeredAt??null,...q4e(e.runtime),removal:e.removal??null,resolvedRef:null}}function Y4e(e){return e.map(J4e)}function X4e(e){return e.map(e=>({runtimeId:e.runtime.runtimeId,cmmdOrganizationId:e.organizationId,cmmdUserId:e.userId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,environmentId:Tl(e.runtime.runtimeId),cmmdEnvironmentId:e.runtime.environmentId??null,status:d$(e.runtime),desiredState:f$(e.runtime.desiredState),...e.runtime.maintenance===void 0?{}:{maintenance:e.runtime.maintenance},lifecycle:u$(e.lifecycle)}))}var p$=`forge:cmmd-cloud-project-catalog:v5`,Z4e=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})))}),m$=nr({rows:Jn(Z4e),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 Q4e(){try{let e=yl(p$,m$);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?o$:s$(e.status),desiredState:f$(e.desiredState),environmentId:e.runtimeId===null?null:Tl(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:s$(e.status),desiredState:f$(e.desiredState),environmentId:Tl(e.runtimeId)})),fetchedAt:e.fetchedAt}:null}catch{return null}}function $4e(e,t,n){try{bl(p$,{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},m$)}catch{}}var h$=1e3;function e3e(e){return e.reconnectPhase===`idle`?`hidden`:e.reconnectPhase===`exhausted`?`actionable`:!e.hasConnected||!e.stableConnectionSeen?`startup-pending`:`actionable`}function g$(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 t3e=`auth-required`,n3e=`cloud-projects`;async function r3e(e,t,n){let r=null,i=new NK(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 i3e(e){let t=e.accessToken??e.resolveAccessToken?.(),n={Accept:`text/event-stream`};return t&&(n.Authorization=`Bearer ${t}`),n}function a3e(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function o3e(e){return(e.status===401||e.status===403)&&(await u3e(e)||e.status===401)?`auth-required`:e.status===404||e.status===405||!e.ok||!e.body?`fallback`:e.body.getReader()}async function s3e({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=c3e(a,i.decode(s,{stream:!0}));if(a=c.buffer,c.messages.some(e=>l3e(e,n,r)))return}}finally{e.releaseLock()}}function c3e(e,t){let n=`${e}${t}`.split(/\n\n/);return{buffer:n.pop()??``,messages:n}}function l3e(e,t,n){let r=f3e(e);if(r.name===t3e)return t(),!0;let i=r.name===n3e?d3e(r.data):null;return i&&n(i),!1}async function u3e(e){try{let t=await e.clone().json();return typeof t?.code==`string`&&t.code===`CMMD_AUTH_REQUIRED`}catch{return!1}}function d3e(e){try{return DK(JSON.parse(e))}catch{return null}}function f3e(e){let t=``,n=``;for(let r of e.split(`
|
|
1019
|
+
`)}}}var K$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 G$e(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},q$e=6e4;function J$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 Y$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 KX(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=Y$e({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??q$e}),s=e.readiness?(e.readiness.openStream??K$e)({url:J$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 X$e(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var Z$e=3e4,Q$e=1e4,$$e=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,qX=/https?:\/\/[^\s"'`<>]+/gu,e1e=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),t1e=/(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 JX(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=$$e.test(t)||XX(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 n1e(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function YX(e){try{let t=new URL(e);return Dne(t.hostname)}catch{return!1}}function XX(e){return Tne(e)}function ZX(e){try{let t=new URL(e);if(t.protocol!==`http:`||!YX(t.toString())&&!XX(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 r1e(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 i1e(e){return e.replace(e1e,``).replaceAll(/./gsu,e=>a1e(e)?``:e).replace(t1e,`$1$2`)}function a1e(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function QX(e){let t=null,n=null,r=i1e(e);qX.lastIndex=0;for(let e of r.matchAll(qX)){let r=JX(r1e(e[0]));!r||!ZX(r)||(t=r,YX(r)&&(n=r))}return n??t}function o1e(e){let t=null;for(let n of e){let e=n.event,r=QX(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function s1e(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var c1e=`forge:terminal-state:v1`,$X=[],l1e=200,eZ=8;function u1e(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:uZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!Wo(e)&&typeof t?.url==`string`&&!!ZX(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function d1e(){return OJ(typeof window<`u`?window.localStorage:void 0)}function f1e(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[pJ]}function p1e(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 tZ(e){return`group-${e}`}function nZ(e,t){let n=e,r=2;for(;t.has(n);)n=`${e}-${r}`,r+=1;return t.add(n),n}function rZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function m1e(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function h1e(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=m1e(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():tZ(e[0]??`default`);i.push({id:nZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:nZ(tZ(e),a),terminalIds:[e]});return i.length===0?[{id:tZ(pJ),terminalIds:[pJ]}]:i}function iZ(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 g1e(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||!iZ(r.terminalIds,i.terminalIds))return!1}return!0}function aZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&iZ(e.terminalIds,t.terminalIds)&&iZ(e.runningTerminalIds,t.runningTerminalIds)&&g1e(e.terminalGroups,t.terminalGroups)}var oZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[pJ],runningTerminalIds:[],activeTerminalId:pJ,terminalGroups:[{id:tZ(pJ),terminalIds:[pJ]}],activeTerminalGroupId:tZ(pJ)});function sZ(){return{...oZ,terminalIds:[...oZ.terminalIds],runningTerminalIds:[...oZ.runningTerminalIds],terminalGroups:vZ(oZ.terminalGroups)}}function cZ(){return oZ}function lZ(e){let t=f1e(e.terminalIds),n=t.length>0?t:[pJ],r=p1e(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=h1e(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??tZ(`default`)};return aZ(e,c)?e:c}function _1e(e){let t=lZ(e);if(t.terminalIds.length<=eZ)return t;let n=new Set,r=e=>{!e||n.size>=eZ||t.terminalIds.includes(e)&&n.add(e)};r(pJ),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 lZ({...t,terminalIds:i.length>0?i:[pJ],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 uZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>Wo(e)?[[e,_1e(t)]]:[]))}function v1e(e){return aZ(lZ(e),oZ)}function y1e(e){return e.trim().length>0}function dZ(e){return Vo(e)}function fZ(e,t){return`${dZ(e)}\u0000${t}`}function pZ(e,t){return fZ(e,t)}function mZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function hZ(e,t){let n=QX(e);return n?{url:n,observedAt:t}:null}function b1e(e){return hZ(e.history,e.updatedAt)}function gZ(e){return e.type===`output`?hZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?hZ(e.snapshot.history,e.snapshot.updatedAt):null}function _Z(e,t,n){if(!n)return e;let r=dZ(t),i=e[r];return i&&mZ(i.observedAt)>mZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function vZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function yZ(e,t,n,r){let i=fZ(n,r.terminalId),a=e[i]??$X,o={id:t,event:r},s=a.length>=l1e?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function bZ(e,t,n,r){let i=fZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function xZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function SZ(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function CZ(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 x1e(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function S1e(e,t){let n=x1e(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 wZ(e,t,n){let r=lZ(e);if(!y1e(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=vZ(r.terminalGroups),s=rZ(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=nZ(tZ(t),e);return o.push({id:n,terminalIds:[t]}),lZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=rZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=nZ(tZ(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 lZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function TZ(e,t){let n=lZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function C1e(e,t){let n=lZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function w1e(e,t){return wZ(e,t,`split`)}function EZ(e,t,n){let r=wZ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function DZ(e,t){let n=lZ(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 T1e(e,t){let n=lZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return sZ();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??tZ(a);return lZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function OZ(e,t,n){let r=lZ(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 kZ(e,t){return!t||t.threadId.length===0?cZ():e[dZ(t)]??cZ()}function AZ(e,t,n){if(t.threadId.length===0)return e;let r=dZ(t),i=kZ(e,t),a=n(i);if(a===i)return e;if(v1e(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function E1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?$X:e[fZ(t,n)]??$X}function D1e(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[pZ(t,n)]??null}function O1e(e,t){if(!t||t.threadId.length===0)return[];let n=`${dZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function k1e(e,t){return!t||t.threadId.length===0?null:e[dZ(t)]??null}var jZ=Xt()(SJ(e=>{let t=(t,n)=>{e(e=>{let r=AZ(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=>TZ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>C1e(e,n)),splitTerminal:(e,n)=>t(e,e=>w1e(e,n)),newTerminal:(e,n,r)=>t(e,e=>EZ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=EZ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=DZ(t,n)),r?.open&&(t=TZ(t,!0)),lZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>DZ(e,n)),closeTerminal:(e,n)=>t(e,e=>T1e(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[dZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=dZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>OZ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=pZ(t,n.terminalId),i=xZ(n),a=n.type===`started`||n.type===`restarted`;if(SZ(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):yZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=_Z(e.terminalPreviewUrlByThreadKey,t,gZ(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[pZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=dZ(t),i=pZ(t,n.terminalId),a=xZ(n),o=n.type===`started`||n.type===`restarted`;if(SZ(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=_Z(e.terminalPreviewUrlByThreadKey,t,gZ(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[pZ(t,n.terminalId)]:n.snapshot},s=AZ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=EZ(r,n.terminalId)),t?(r=DZ(r,n.terminalId),r=TZ(r,!0)):(r=DZ(r,e.activeTerminalId),r=TZ(r,e.terminalOpen)),lZ(r)}),c={...c,[r]:S1e(c[r],n)});let d=s1e(n);d!==null&&(s=AZ(s,t,e=>OZ(e,n.terminalId,d)));let f=o&&a?bZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):yZ(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,[pZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:_Z(e.terminalPreviewUrlByThreadKey,t,b1e(n))})),clearTerminalState:t=>e(e=>{let n=dZ(t),r=AZ(e.terminalStateByThreadKey,t,()=>sZ()),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=CZ(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=dZ(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=CZ(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:c1e,version:4,storage:bJ(d1e),migrate:u1e,partialize:e=>({terminalStateByThreadKey:uZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function A1e(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 j1e(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 MZ(e){let t=A1e(e).trim()||`Unknown browser error.`,n=j1e(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 M1e(e){let t=MZ(e);return`${t.cause} ${t.nextAction}`}function N1e(e){let t=MZ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var NZ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function PZ(e){return Vo(e)}function P1e(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 F1e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function FZ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!P1e(t.display)||!F1e(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 I1e(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 IZ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function L1e(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 R1e(e,t){let n=L1e(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 z1e(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 LZ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function B1e(e,t){let n=LZ(t);return e.some(e=>LZ(e)===n)?e:[...e,t]}function V1e(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 H1e(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 U1e(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 W1e(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 G1e(e,t){let n=t.payload.tabId,r=Ice(W1e(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 K1e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function q1e(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 J1e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!U1e(t,n))return i;let o=G1e(t,n);if(!o.decision.observe)return i;let s=K1e(t,n,o),c=o.decision.accept?q1e(s,n):s;return{browserStateByThreadKey:IZ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var RZ=Xt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=PZ(t),i=e.browserStateByThreadKey[r]??NZ,a=n?FZ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:IZ(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=PZ(t),i=e.browserStateByThreadKey[r]??NZ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=PZ(t),i=z1e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=R1e(e.browserStateByThreadKey[r]??NZ,n);switch(n.type){case`session.started`:{if(I1e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=FZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:IZ(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=FZ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:IZ(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:IZ(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:V1e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:H1e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:IZ(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:IZ(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:IZ(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:IZ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:IZ(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 J1e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:IZ(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:IZ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:B1e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:IZ(e.browserStateByThreadKey,r,{...a,lastError:N1e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=PZ(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 Y1e(e,t){return t?e[PZ(t)]??null:null}var X1e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function Z1e(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 Q1e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function $1e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var zZ=`forge:ui-state:v1`,BZ=[`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`],VZ=`months`,e0e=new Set([`weeks`,`months`,`quarters`]);function t0e(e){return typeof e==`string`&&e0e.has(e)?e:VZ}function HZ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var UZ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:VZ,projectLeadCompanion:X1e},WZ=new Set,GZ=[],KZ=new Map,qZ=!1;function n0e(){if(typeof window>`u`)return UZ;try{let e=window.localStorage.getItem(zZ);if(!e){for(let e of BZ){let t=window.localStorage.getItem(e);if(t)return JZ(JSON.parse(t)),UZ}return UZ}let t=JSON.parse(e);return JZ(t),{...UZ,projectGroupOrder:r0e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:o0e(t.threadChangedFilesExpandedById),pinnedThreadById:i0e(t.pinnedThreadKeys),threadLinkedPrById:a0e(t.threadLinkedPrById),timelineWorkColumnWidth:HZ(t.timelineWorkColumnWidth??360),timelineScale:t0e(t.timelineScale)}}catch{return UZ}}function r0e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function i0e(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 a0e(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 o0e(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 JZ(e){WZ.clear(),GZ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&WZ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!GZ.includes(t)&&GZ.push(t)}function s0e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=KZ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=KZ.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(zZ,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})),!qZ){qZ=!0;for(let e of BZ)window.localStorage.removeItem(e)}}catch{}}var YZ=new Qt(s0e,{wait:500});function XZ(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 ZZ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function c0e(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)||!XZ(r,t[e]))return!1;return!0}function l0e(e,t){let n=new Map(KZ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));KZ.clear();for(let e of t)KZ.set(e.key,e.cwd);let i=n.size!==KZ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(GZ.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)??(WZ.size>0?WZ.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)??GZ.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 XZ(e.projectExpandedById,a)&&ZZ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function u0e(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 XZ(e.threadLastVisitedAtById,r)&&c0e(e.threadChangedFilesExpandedById,i)&&XZ(e.pinnedThreadById,a)&&XZ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function d0e(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 f0e(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 p0e(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 QZ(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 m0e(e,t){return QZ(e,t,e.pinnedThreadById[t]!==!0)}function h0e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function g0e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function _0e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function v0e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function y0e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function b0e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function x0e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function S0e(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 C0e(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 ZZ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function w0e(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 $Z=Xt(e=>({...n0e(),syncProjects:t=>e(e=>l0e(e,t)),syncProjectGroups:t=>e(e=>C0e(e,t)),syncThreads:t=>e(e=>u0e(e,t)),markThreadVisited:(t,n)=>e(e=>d0e(e,t,n)),markThreadUnread:(t,n)=>e(e=>f0e(e,t,n)),clearThreadUi:t=>e(e=>p0e(e,t)),setThreadPinned:(t,n)=>e(e=>QZ(e,t,n)),toggleThreadPinned:t=>e(e=>m0e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>h0e(e,t,n)),clearThreadLinkedPr:t=>e(e=>g0e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>_0e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>y0e(e,t,n)),toggleProject:t=>e(e=>b0e(e,t)),setProjectExpanded:(t,n)=>e(e=>x0e(e,t,n)),reorderProjects:(t,n)=>e(e=>S0e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>w0e(e,t,n)),setLastActiveProject:t=>e(e=>v0e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:HZ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:Q1e(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 T0e(e){$Z.getState().openProjectLeadCompanion(e)}$Z.subscribe(e=>YZ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{YZ.flush()});var E0e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),D0e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},O0e=Zre(rt(Jre((e,t,n,r)=>{let i=r.getRef(E0e),a=r.context.mapUnsafe.get(D0e.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)}))),k0e=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))})),A0e=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:k0e,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))}}}),j0e=e=>{let t=e.attributes?eQ(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}},M0e=Xe(function*(e){let t={...yield*Xl(jn(jle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*Xl(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*Xl(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],j0e({serviceName:n,serviceVersion:r,attributes:t})},c),N0e=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},eQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:tQ(r)});return t},tQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(tQ)}};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)}}},nQ=class extends yt()(`effect/observability/OtlpSerialization`){},P0e=he(nQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),F0e=Xe(function*(e){let t=yield*M0e(e.resource),n=yield*nQ,r={name:N0e(t)},i=yield*A0e({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(R0e(e))}return xe({span(e){return L0e({...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})}),I0e={_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)}},L0e=e=>{let t=Object.assign(Object.create(I0e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:rQ(32),t.spanId=rQ(16),t.events=[],t},rQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},R0e=e=>{let t=e.status,n=eQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?eQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=B0e;else if(dt(t.exit.cause))i={code:iQ.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:iQ.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:z0e[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:eQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},iQ={Unset:0,Ok:1,Error:2},z0e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},B0e={code:iQ.Ok},V0e=1e4,H0e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":dl}},U0e=De(O0e,P0e,he(Ui,()=>!0)),aQ=null,oQ=null,sQ=null,cQ=null,lQ=0,uQ=Promise.resolve(),W0e=he(Hee,xe({span(e){return aQ?.span(e)??new s(e)}}));function G0e(e={}){return e.exportIntervalMs===void 0&&cQ!==null||(uQ=uQ.finally(()=>K0e(e))),uQ}async function K0e(e){let t=or(`/api/observability/v1/traces`),n=mr()?.bearerToken,r=Math.max(10,e.exportIntervalMs??V0e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(cQ===i&&aQ!==null)return;cQ=i;let a=++lQ,o=oQ,s=sQ;aQ=null,oQ=null,sQ=null,await dQ(o,s);let c=rl(U0e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(F0e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:H0e})));if(a!==lQ){await dQ(c,l);return}aQ=e,oQ=c,sQ=l}catch(e){await dQ(c,l),a===lQ&&console.warn(`Failed to configure client tracing exporter`,{error:q0e(e),otlpTracesUrl:t})}}async function dQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function q0e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var fQ=15e3,pQ=new Map,mQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function hQ(e){Ht.set(mQ,[...e])}function gQ(){return Ht.get(mQ)}var _Q=`global`;function J0e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function Y0e(e,t,n=_Q){if(!J0e(t))return;bQ(e,n),$0e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:fQ},a=yQ(n,e),o=setTimeout(()=>{pQ.delete(a),Q0e(i)},fQ);pQ.set(a,{request:i,timeoutId:o})}function X0e(e,t=_Q){bQ(e,t);let n=gQ();n.some(n=>n.clientId===t&&n.requestId===e)&&hQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function vQ(e){for(let[t,n]of pQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),pQ.delete(t));hQ(gQ().filter(t=>t.clientId!==e))}function Z0e(){for(let e of pQ.values())clearTimeout(e.timeoutId);pQ.clear(),hQ([])}function yQ(e,t){return`${e}:${t}`}function bQ(e,t){let n=yQ(t,e),r=pQ.get(n);r&&(clearTimeout(r.timeoutId),pQ.delete(n))}function Q0e(e){let t=[...gQ(),e];if(t.length<=256){hQ(t);return}hQ(t.slice(-256))}function $0e(){for(;pQ.size>=256;){let e=pQ.keys().next().value;if(e===void 0)return;let t=pQ.get(e);if(!t)return;bQ(t.request.requestId,t.request.clientId)}}function e2e(){return cr(mQ)}var t2e=ko(Mn),xQ=1;function n2e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function SQ(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 r2e(){return{onAttempt:Lne,onOpen:One,onError:e=>{Ine(e)},onClose:e=>{kne(e)},trackGlobalConnection:!0}}function i2e(e){let t=r2e(),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 a2e(e,t){let n=xQ;xQ+=1;let r=i2e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>SQ(e)),ite(e=>pt(()=>{r.onError(n2e(e))})),c):SQ(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`?X0e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&vQ(i),r(e))).pipe(Je(pt(()=>{vQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&Y0e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,Oo)))}var o2e=/^all fibers interrupted without error$/i;function s2e(e){return iG(e)||o2e.test(e.trim())}var c2e=Ue(250),CQ=()=>void 0,wQ=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}},l2e=new Set([`OrchestrationGetSnapshotError`]);function u2e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&l2e.has(t)}function d2e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?f2e(e):String(e)}function f2e(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 p2e=4e3,m2e=1e4,h2e=500,TQ=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??p2e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??m2e,sessionCloseGraceMs:r?.sessionCloseGraceMs??h2e},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 wQ(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:CQ},i=Be(Ne(n?.retryDelay??c2e));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=CQ}catch(e){if(r.cancelCurrentStream=CQ,!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=d2e(e);return s2e(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await g2e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){u2e(e)||hG(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=>{hG(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:a2e(this.url,this.lifecycleHandlers),makeClient:t2e},t=rl(De(e.layer,W0e)),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 g2e(e){return new Promise(t=>{setTimeout(t,e)})}var EQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,_2e=/^[A-Za-z0-9_-]+$/;function v2e(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+=EQ[o>>>18&63],t+=EQ[o>>>12&63],n+1<e.byteLength&&(t+=EQ[o>>>6&63]),n+2<e.byteLength&&(t+=EQ[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function y2e(e){if(e.length===0||!_2e.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=EQ.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 DQ(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 b2e(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:v2e(a),sha256:await DQ(a)})}return{totalBytes:e.byteLength,sha256:await DQ(e),chunks:i}}async function x2e(e){let t=y2e(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 DQ(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function S2e(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 x2e(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 DQ(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var OQ=`forge`,C2e=RegExp(`^(?:${OQ}|t3code)\\/(?:[0-9a-f]{8}|[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$`);function w2e(){return`${OQ}/${fe(_te).replace(/-/g,``).slice(0,8).toLowerCase()}`}function T2e(e){return C2e.test(e.trim().toLowerCase())}function E2e(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 D2e(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 kQ(e){return`https://${e}`}function k2e(e){return e===`github.com`||e.includes(`github`)}function A2e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function j2e(e){return e===`bitbucket.org`}function M2e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function N2e(e){let t=O2e(e);if(!t)return null;let n=E2e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?k2e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:kQ(t)}:A2e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:kQ(t)}:j2e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:kQ(t)}:M2e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:kQ(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:kQ(t)}:null}var P2e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function AQ(e,t){return{...e,...t??P2e}}function F2e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function I2e(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 L2e(e,t){switch(t._tag){case`snapshot`:return AQ(t.local,t.remote);case`localUpdated`:return AQ(t.local,e?F2e(e):null);case`remoteUpdated`:return AQ(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:I2e(e),t.remote)}}var R2e=262144,z2e=250;function B2e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function V2e(e){return new Promise(t=>setTimeout(t,e))}function H2e(e){let t=Ace({controllerId:crypto.randomUUID(),maxPendingWriteBytes:R2e}),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(!iG(B2e(e)))throw e;await V2e(z2e)}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 U2e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function W2e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var G2e=2e4,K2e=12e4,q2e=3e5;function J2e(e){return e instanceof wQ||iG(e instanceof Error?e.message:String(e))}async function Y2e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?q2e:G2e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!J2e(t))throw t;return await e.reconnect(),await r()}}function jQ(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function MQ(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>X2e(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 S2e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function X2e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){Z2e(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`){Q2e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function Z2e(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 Q2e(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 $2e(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 b2e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{jQ(n?.signal);let r=await e4e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await t4e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await W2e(e,a),t}}function e4e(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 t4e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;jQ(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}jQ(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function NQ(e){let t=H2e(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:U2e(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)=>MQ(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>$2e(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=L2e(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:K2e})},orchestration:{dispatchCommand:t=>Y2e(e,t),getTurnDiff:(t,n)=>MQ(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>MQ(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 n4e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function PQ(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!n4e.has(t)?null:t}function FQ(e,t){return e===401||e===403||PQ(t)!==null}function r4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return FQ(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var IQ=`forge.deviceRegistry.deviceKey`,LQ=`forge.deviceRegistry.runtimeId`;function i4e(e){let t=BQ(IQ,e.desktopIdentity?.deviceKey,`device`),n=BQ(LQ,e.desktopIdentity?.runtimeId,`runtime`),r=zQ(e.desktopIdentity?.hostKey),i=c4e(),a=e.desktopAvailable?`desktop`:l4e(),o=e.desktopAvailable?s4e(e.desktopIdentity)??u4e(i):d4e(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 RQ(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return i4e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function zQ(e){let t=e?.trim()??``;return t.length>0?t:null}function BQ(e,t,n){let r=zQ(t);return r?(NJ(e,r),r):o4e(e,n)}function a4e(){return MJ(LQ)}function VQ(){return MJ(IQ)}function o4e(e,t){let n=MJ(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return NJ(e,r),r}function s4e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function c4e(){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 l4e(){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 u4e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function d4e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var HQ=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function UQ(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new HQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new HQ(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function f4e(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 p4e(e){if(!e.deviceKey)throw new HQ(`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 HQ(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new HQ(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function m4e(e,t){let n=async()=>p4e(await f4e(t));return{acquireRoute:async()=>{let r=await n(),i=await Dce();try{return kce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...Oce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof tl)throw new HQ(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return UQ(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 UQ(e)}}}}var WQ=`forge.relayControlJournal.v1`;function GQ(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var h4e={read:()=>GQ().getItem(WQ),write:e=>GQ().setItem(WQ,e)},KQ=null,qQ=Xt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function g4e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));qQ.getState().replace(Object.fromEntries([...t].map(t=>[t,Vse(e.records,t)])))})}function JQ(){return KQ===null&&(KQ=zc({storage:h4e}),g4e(KQ)),KQ}function _4e(){let e=(0,cl.c)(1),t=qQ(y4e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(v4e,n),t}function v4e(){JQ()}function y4e(e){return e.byRuntimeId}function b4e(e){let t=JQ();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 x4e=12e4,S4e=3e4,YQ=3e4;function XQ(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 C4e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function w4e(e){let t=e.now??Date.now,n=e.renewalSkewMs??x4e,r=!1,i=null,a=null,o=XQ(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=XQ(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()+YQ;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},YQ),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=XQ(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=C4e(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()+S4e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var ZQ=new Map;function QQ(e,t){return e.acquire(t?{signal:t}:{})}function T4e(e,t){ZQ.set(e,t)}function E4e(e){return ZQ.has(e)}function $Q(e,t){let n=ZQ.get(e);t&&n!==t||(n?.dispose(),ZQ.delete(e))}async function D4e(e){let t=ZQ.get(e);if(t)return(await t.acquire()).bearerToken;let n=WK(e);return n&&UX(n)?null:YK(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 e$(e){let t=e.githubRepoFullName;return t?t.split(`/`)[1]??t:k4e(e.projectName)}function k4e(e){let t=e.trim().toLowerCase().replaceAll(`'`,``).replaceAll(`"`,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t.length>0?t:`project`}function t$(e){if(!e)return null;let t=e.trim().replace(/\/+$/,``);return t.length>0?t:null}function n$(e){let t=t$(e??void 0);return t&&r$(t).length>1?t:null}function r$(e){return e.split(`/`).flatMap(e=>e.split(`\\`)).filter(e=>e.length>0)}function i$(e){return e?r$(e).at(-1)??null:null}function A4e(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 j4e(e,t){if(!t)return!1;let n=e.repositoryIdentity?.canonicalKey;return n!==void 0&&!n.toLowerCase().endsWith(`/${t.toLowerCase()}`)}function M4e(e,t){return e?e.cmmdOrganizationId===t.cmmdOrganizationId&&e.cmmdProjectId===t.cmmdProjectId:!1}function N4e(e,t){let n=e.filter(e=>!e.cmmdRegistration),r=n$(t.workspaceRoot),i=r?n.filter(e=>t$(e.cwd)===r):[];if(i.length>0)return i;let a=e$(t).toLowerCase();return n.filter(e=>i$(e.cwd)?.toLowerCase()===a)}function a$(e,t,n){let r=e[t];if(!r)return null;let i=r.projectIds.flatMap(e=>{let t=r.projectById[e];return!t||j4e(t,n.githubRepoFullName)?[]:[t]}),a=i.filter(e=>M4e(e.cmmdRegistration,n)),o=a.length>0?a:N4e(i,n),s=o.length===1?o[0]:void 0;return s?{environmentId:t,projectId:s.id}:null}function P4e(e){return{cmmdOrganizationId:e.cmmdOrganizationId,cmmdProjectId:e.cmmdProjectId,githubRepoFullName:e.githubRepoFullName,projectName:e.projectName,workspaceRoot:e.workspaceRoot}}function F4e(e,t){let n=e.cmmdEnvironmentId??e.environmentId;if(e.runtimeId===null||n===null)return null;let r=a$(t,an.make(n),P4e(e));return r?Io(r.environmentId,r.projectId):null}function I4e(e,t){return e===t?!0:e===null||t===null?!1:e.environmentId===t.environmentId&&e.projectId===t.projectId}function L4e(e,t){let n=!1,r=e.map(e=>{let r=F4e(e,t);return I4e(r,e.resolvedRef)?e:(n=!0,{...e,resolvedRef:r})});return n?r:e}var o$=`registered`,R4e={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 s$(e,t){let n=R4e[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 z4e(e){return e===`destroyed`}function B4e(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 V4e(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 c$={state:`unknown`,label:`Unknown`,detail:`Current Environment availability has not been observed.`,tone:`muted`,automaticWakeAllowed:!1,shellConnected:!1,shellMayEstablishReady:!1};function l$(e,t,n,r,i,a,o=!1){return{state:e,label:t,detail:n,tone:r,automaticWakeAllowed:i,shellConnected:a,shellMayEstablishReady:o}}function H4e(e,t){return e.ownerIntent===`paused`?l$(`paused`,`Paused`,`Resume before live work can wake this Environment.`,`warning`,!1,t):e.ownerIntent===`deleting`?l$(`deleting`,`Deleting`,`This Environment is being removed.`,`muted`,!1,t):null}function U4e(e,t){return e.executionAdmission.state===`allowed`?null:l$(`unavailable`,`Unavailable`,`This Environment is not accepting live work while it drains.`,`warning`,!1,t)}function u$(e,t=!1){if(e==null)return c$;let n=H4e(e,t);if(n!==null)return n;if(e.ownerIntent!==`active`)return c$;let r=U4e(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`?l$(`unknown`,`Unknown`,`Current provider availability has not been observed.`,`muted`,e.automaticWakeAllowed,t):i.state===`sleeping`?l$(`sleeping`,`Sleeping`,`Live work wakes this Environment automatically.`,`muted`,e.automaticWakeAllowed,t):a.observedAt===null||a.failure!==null||a.state===`unknown`?l$(`unknown`,`Unknown`,`Current guest readiness has not been observed.`,`muted`,e.automaticWakeAllowed,t):a.state===`starting`?l$(`starting`,`Starting`,`Preparing live execution.`,`warning`,e.automaticWakeAllowed,t):a.state===`degraded`?l$(`degraded`,`Degraded`,`A required service needs attention.`,`warning`,e.automaticWakeAllowed,t):a.state===`failed`?l$(`needs-attention`,`Needs attention`,`The readiness check failed.`,`destructive`,e.automaticWakeAllowed,t):t?l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0):o.state===`active`?l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,t):l$(`unknown`,`Unknown`,`No current execution proof is available.`,`muted`,e.automaticWakeAllowed,t,!0)}function W4e(e,t){return!t||!e.shellMayEstablishReady?e:l$(`ready`,`Ready`,null,`success`,e.automaticWakeAllowed,!0)}function d$(e){return e?s$(e.status,e.readinessPhase??void 0):o$}function G4e(e){return e.runtime?.githubRepoFullName??e.githubRepoFullName??null}function K4e(e,t){return{cmmdOrganizationId:e.organizationId,cmmdProjectId:e.projectId,projectName:V4e({shortName:e.shortName??null,projectName:e.projectName??null,githubRepoFullName:t,cmmdProjectId:e.projectId}),githubRepoFullName:t,iconUrl:e.iconUrl??null,icon:e.icon??null}}function q4e(e){return e?{runtimeId:e.runtimeId,workspaceRoot:e.workspaceRoot??null,status:d$(e),desiredState:f$(e.desiredState),environmentId:Tl(e.runtimeId),cmmdEnvironmentId:e.environmentId??null,...e.maintenance===void 0?{}:{maintenance:e.maintenance}}:{runtimeId:null,workspaceRoot:null,status:o$,desiredState:null,environmentId:null,cmmdEnvironmentId:null}}function f$(e){return e===`running`||e===`stopped`||e===`destroyed`?e:null}function J4e(e){return{...K4e(e,G4e(e)),registeredAt:e.registeredAt??null,...q4e(e.runtime),removal:e.removal??null,resolvedRef:null}}function Y4e(e){return e.map(J4e)}function X4e(e){return e.map(e=>({runtimeId:e.runtime.runtimeId,cmmdOrganizationId:e.organizationId,cmmdUserId:e.userId,displayName:e.displayName??null,userFirstName:e.userFirstName??null,environmentId:Tl(e.runtime.runtimeId),cmmdEnvironmentId:e.runtime.environmentId??null,status:d$(e.runtime),desiredState:f$(e.runtime.desiredState),...e.runtime.maintenance===void 0?{}:{maintenance:e.runtime.maintenance},lifecycle:u$(e.lifecycle)}))}var p$=`forge:cmmd-cloud-project-catalog:v5`,Z4e=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})))}),m$=nr({rows:Jn(Z4e),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 Q4e(){try{let e=yl(p$,m$);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?o$:s$(e.status),desiredState:f$(e.desiredState),environmentId:e.runtimeId===null?null:Tl(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:s$(e.status),desiredState:f$(e.desiredState),environmentId:Tl(e.runtimeId)})),fetchedAt:e.fetchedAt}:null}catch{return null}}function $4e(e,t,n){try{bl(p$,{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},m$)}catch{}}var h$=1e3;function e3e(e){return e.reconnectPhase===`idle`?`hidden`:e.reconnectPhase===`exhausted`?`actionable`:!e.hasConnected||!e.stableConnectionSeen?`startup-pending`:`actionable`}function g$(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 t3e=`auth-required`,n3e=`cloud-projects`;async function r3e(e,t,n){let r=null,i=new NK(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 i3e(e){let t=e.accessToken??e.resolveAccessToken?.(),n={Accept:`text/event-stream`};return t&&(n.Authorization=`Bearer ${t}`),n}function a3e(e,t){let n=new URL(e);return n.pathname=t,n.search=``,n.hash=``,n.toString()}async function o3e(e){return(e.status===401||e.status===403)&&(await u3e(e)||e.status===401)?`auth-required`:e.status===404||e.status===405||!e.ok||!e.body?`fallback`:e.body.getReader()}async function s3e({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=c3e(a,i.decode(s,{stream:!0}));if(a=c.buffer,c.messages.some(e=>l3e(e,n,r)))return}}finally{e.releaseLock()}}function c3e(e,t){let n=`${e}${t}`.split(/\n\n/);return{buffer:n.pop()??``,messages:n}}function l3e(e,t,n){let r=f3e(e);if(r.name===t3e)return t(),!0;let i=r.name===n3e?d3e(r.data):null;return i&&n(i),!1}async function u3e(e){try{let t=await e.clone().json();return typeof t?.code==`string`&&t.code===`CMMD_AUTH_REQUIRED`}catch{return!1}}function d3e(e){try{return DK(JSON.parse(e))}catch{return null}}function f3e(e){let t=``,n=``;for(let r of e.split(`
|
|
1020
1020
|
`))r.startsWith(`event: `)&&(t=r.slice(7).trim()),r.startsWith(`data: `)&&(n=r.slice(6).trim());return{name:t,data:n}}var p3e=`/api/cmmd/forge-cloud-projects`,m3e=`/api/cmmd/forge-cloud-projects/events`,h3e=15e3,g3e=3e4,_3e=2e3,v3e=3e4,y3e=200;function b3e({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=g$({failedAttempt:s,retryDelayMs:h$});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 r3e(e,n,h3e),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 XG(e)||x3e(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()},g3e))}function re(){!C()||o||(i?k():ae(l))}function A(e){l=e+1;let t=Math.min(_3e*2**e,v3e);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??a3e(e.cmmdHttpBaseUrl,`/api/forge/context/runtimes/events`),i=e.eventsUrl?{Accept:`text/event-stream`}:i3e(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 o3e(e);if(se(t)){if(typeof r==`string`){ue(r);return}await s3e({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()},y3e))},teardown(){r=!0,m=_(m),S()}}}function x3e(e){return typeof e==`object`&&!!e&&`kind`in e&&e.kind===`auth`}var _$={connected:!1,isLoading:!1,error:null,rows:[],environments:[],fetchedAt:null,stale:!1,startupPhase:`idle`,capacity:null};function S3e({config:e}){let t=Q4e(),n=t?{..._$,isLoading:!0,rows:t.rows,environments:t.environments,fetchedAt:t.fetchedAt,stale:!0}:_$,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=Y4e(e.catalog.listRowsForDisplay()),n=X4e(e.catalog.listEnvironmentsForDisplay());$4e(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=b3e({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 v$=null;function y$(e){return typeof window<`u`&&window.location?.href?new URL(e,window.location.href).toString():new URL(e,`http://localhost`).toString()}function b$(){return{cmmdHttpBaseUrl:`https://cmmd.ai`,resolveAccessToken:()=>null,listUrl:p3e,eventsUrl:m3e,destroyUrl:e=>y$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/destroy`),lifecycleUrl:(e,t)=>y$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/${t}`),updateCommitUrl:e=>y$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit`),updateCommitOperationUrl:(e,t)=>y$(`/api/cmmd/forge-runtimes/${encodeURIComponent(e)}/update-commit/${encodeURIComponent(String(t))}`),ensureUrl:y$(`/api/cmmd/forge-runtimes/ensure`)}}function x$(){return v$===null&&(v$=S3e({config:b$()})),v$}function C3e(){x$().refresh()}function w3e(e){return x$().subscribe(e)}function S$(){return x$().read()}function T3e(e){let t=(0,cl.c)(9),n=e?.enabled??!0,r,i;t[0]===n?(r=t[1],i=t[2]):(r=()=>{n&&x$().initialize()},i=[n],t[0]=n,t[1]=r,t[2]=i),(0,F.useEffect)(r,i);let a=(0,F.useSyncExternalStore)(w3e,S$,S$),o=iJ(E3e),s,c;t[3]!==o||t[4]!==a.rows?(c=L4e(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 E3e(e){return e.environmentStateById}var D3e=`forge:cloud-runtime-handoffs:v2`,O3e=3e5,C$=new Map,k3e={clear:()=>C$.clear(),getItem:e=>C$.get(e)??null,key:e=>Array.from(C$.keys())[e]??null,get length(){return C$.size},removeItem:e=>C$.delete(e),setItem:(e,t)=>C$.set(e,t)};function A3e(){return typeof window<`u`?window.localStorage:globalThis.localStorage??k3e}var w$=Xt()(SJ(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:D3e,storage:bJ(A3e),partialize:e=>({byRuntimeId:e.byRuntimeId}),version:2}));function j3e(e){w$.getState().record({...e,recordedAt:Date.now()})}function M3e(e){w$.getState().clearRuntime(e)}var N3e=new Set([`filesystem`,`terminal`,`git`,`project-write`]);function P3e(e){return e===`desktop-local`}function F3e(e){return e===`cloud`||e===`cloud-vm`||e===`cmmd`||e===`github`}function T$(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.`}:N3e.has(e.actionKind)?F3e(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.`}:P3e(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 I3e=`Ready to use. Your cloud project starts when you open the first thread.`;function L3e(e){let t=T$({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.`:I3e,actionRouteLabel:t.title,actionRouteDescription:t.description,actionRouteAvailable:t.available,requiresPermissionGate:t.requiresPermissionGate}}var R3e=3e5;function E$(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(O$(e),e),t.runtimeId!==null&&i.set(t.runtimeId,e)}for(let a of t){if(n-a.recordedAt>R3e)continue;let t=r.get(O$({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 D$(e){return e.environmentId??`cmmd-cloud-project:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function z3e(e){return{environmentId:D$(e),workspaceRoot:e.workspaceRoot,resolvedRef:e.resolvedRef}}function O$(e){return`cloud:${e.cmmdOrganizationId}:${e.cmmdProjectId}`}function B3e(e){let t=/^cloud:(\d+):(\d+)$/.exec(e??``);return t?{cmmdOrganizationId:Number(t[1]),cmmdProjectId:Number(t[2])}:null}function V3e(e){return`cloud-runtime:${e}`}var H3e=`cloud-unconnected:`;function U3e(e,t,n=[]){let r=O$(e);return k$({id:tn.make(`${H3e}${r}`),environmentId:an.make(D$(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:L3e(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 k$(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 A$(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=Dl(e).legacyRuntimeId;if(a){let e=t.find(e=>e.runtimeId===a);if(e)return{row:e,runtimeId:a,matchedByHandoff:!1};let i=E$(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&&D$(t)===String(e));return o?{row:o,runtimeId:null,matchedByHandoff:!1}:null}function W3e(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 G3e(e){return e.desiredState===`stopped`}var K3e=15e3;function q3e(e){return e===401||e===403}function J3e(e){return typeof e!=`object`||!e?!1:e.retryable===!0}function j$(e){return q3e(e.status)||e.attempt>=e.maxAttempts||e.status>=200&&e.status<300?!1:e.status>=500||e.status===409&&J3e(e.body)}function Y3e(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 M$(e){let t=e=>Math.min(K3e,Math.max(0,e)),n=Y3e(e.retryAfter,e.nowMs??Date.now());return t(n===null?300*2**Math.max(0,e.attempt-1):n)}var X3e=6e4;function Z3e(e,t){if(!e||typeof e!=`object`)return t;let n=e.error;return typeof n==`string`&&n.trim().length>0?n:t}var N$=`CMMD returned an invalid Cloud runtime connection descriptor.`;function P$(e,t){let n=e[t];if(typeof n!=`string`||n.length===0)throw Error(N$);return n}function Q3e(e){if(!e||typeof e!=`object`)throw Error(N$);let t=e;return{httpBaseUrl:P$(t,`httpBaseUrl`),wsBaseUrl:P$(t,`wsBaseUrl`),bearerToken:P$(t,`bearerToken`),expiresAt:P$(t,`expiresAt`)}}async function $3e(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 Q3e(a);if(!j$({status:i.status,body:a,attempt:r,maxAttempts:8})){let e=FQ(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(Z3e(a,e)),{status:i.status,...PQ(a)?{code:PQ(a)}:{}})}await VX(M$({attempt:r,retryAfter:i.headers.get(`retry-after`)}),e.signal)}throw Error(`Cloud runtime connection retry budget was exhausted.`)}function e6e(e,t){if(!e?.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n<=t+X3e}function F$(e){let t=e.requestDescriptor??$3e,n=e.now??Date.now,r=e.initialDescriptor??null,i=null,a=!1,o=new AbortController,s=e=>BX(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||e6e(r,n())?c():Promise.resolve(r);return BX(s(t),e?.signal)},invalidate:()=>{a=!0},dispose:()=>{o.abort()}}}function t6e(e){let t=e.runtimeId?.trim();if(t)return t;let n=Dl(e.environmentId).legacyRuntimeId;if(n)return n;let r=S$().rows,i=Object.values(w$.getState().byRuntimeId);return A$(e.environmentId,r,i)?.runtimeId??null}function n6e(e,t,n,r){let i=e,a=F$({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 PX({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={...HX(i),httpBaseUrl:e.httpBaseUrl,wsBaseUrl:un(e.wsBaseUrl),...e.expiresAt===null?{}:{runtimeTicketExpiresAt:e.expiresAt},lastConnectedAt:new Date().toISOString()};await JK(t),await XK(t.environmentId),BK.getState().upsert(t),i=t}});return T4e(e.environmentId,a),a}function r6e(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 I$(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 L$=new Map,R$=new Map,z$=new Map,B$=new Map,V$=new Map,H$=new Set,U$=new Map,W$=null,G$=!1;function K$(e){return B$.get(e)??0}function q$(e){B$.set(e,K$(e)+1)}function J$(e){if(K$(e.record.environmentId)!==e.generation)return!1;let t=WK(e.record.environmentId);return e.registryExpectation.kind===`initial-add`?t===null||WX(t,e.record):t!==null&&WX(t,e.registryExpectation.record)}var i6e=9e5,Y$=32,X$=()=>void 0;function Z$(e,t){return Vo(Lo(e,t))}function Q$(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function a6e(e){let t=Lo(e.environmentId,e.threadId),n=iJ.getState(),r=rJ(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=nJ(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 $$(e){return e.refCount===0&&!a6e(e)}function e1(e){let t=j1(e.environmentId);return e.unsubscribe===X$&&!t?!1:(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==X$||!t||(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{e.lastEventAt=Date.now(),e.recoveryAttempts=0,t.kind===`event`?O6e(t.event,e.environmentId):t.kind===`snapshot`&&(iJ.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId),iJ.getState().clearThreadSubscriptionError(e.environmentId,e.threadId))},{onError:t=>bXe(e.environmentId,e.threadId,t)})),!0)}function t1(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=A1(()=>{e1(e)&&(e.lastAccessedAt=Date.now())}),e1(e))}function n1(e){let t=U$.get(e);return t?(Q$(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,U$.delete(e),t.unsubscribe(),t.unsubscribe=X$,d6e(),!0):!1}var r1=null;function o6e(e){let t=Lo(e.environmentId,e.threadId),n=iJ.getState(),r=rJ(n,t);if(r?.latestTurn?.state===`running`||r?.session?.orchestrationStatus===`running`)return!0;let i=nJ(n,t);return i?.latestTurn?.state===`running`||i?.session?.orchestrationStatus===`running`}function s6e(e){e.unsubscribe!==X$&&(e.unsubscribe(),e.unsubscribe=X$),e1(e)||t1(e)}function c6e(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`){s6e(e);return}j1(e.environmentId)?.reconnect().catch(t=>{hG(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 l6e(){let e=Date.now();for(let t of U$.values()){let n=X$e({isWorking:o6e(t),msSinceLastEvent:e-t.lastEventAt,stallThresholdMs:Z$e,recoveryAttempts:t.recoveryAttempts,maxResubscribeAttempts:2,maxTotalAttempts:4});n!==`none`&&c6e(t,n,e-t.lastEventAt)}}function u6e(){r1===null&&(r1=setInterval(l6e,Q$e))}function d6e(){U$.size>0||r1!==null&&(clearInterval(r1),r1=null)}function f6e(e){i1(e,!0),LX.getState().clear(e)}function i1(e,t=!1){for(let[n,r]of U$)if(r.environmentId===e){if(r.refCount===0||t){n1(n);continue}r.unsubscribe(),r.unsubscribe=X$,t1(r)}}function p6e(e){let t=Lo(e.environmentId,e.threadId),n=iJ.getState(),r=nJ(n,t);if(!r)return null;let i=rJ(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 m6e(e,t){if(U$.size===0)return e;let n=new Set(e.threads.map(e=>e.id)),r=[];for(let e of U$.values()){if(e.environmentId!==t||e.refCount<=0||n.has(e.threadId))continue;let i=p6e(e);i&&(n.add(i.id),r.push(i))}return r.length===0?e:{...e,threads:[...e.threads,...r]}}function h6e(e,t){let n=new Set(t);for(let[t,r]of U$)r.environmentId===e&&!n.has(r.threadId)&&$$(r)&&n1(t)}function g6e(e){Q$(e),$$(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=U$.get(Z$(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,$$(t)&&n1(Z$(e.environmentId,e.threadId)))},i6e))}function a1(){if(U$.size<=Y$)return;let e=[...U$.entries()].filter(([,e])=>$$(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(U$.size<=Y$)return;n1(t)}}function o1(e){Q$(e),$$(e)&&g6e(e)}function _6e(e,t){let n=U$.get(Z$(e,t));n&&o1(n)}function s1(e){for(let t of U$.values())t.environmentId===e&&o1(t);a1()}function c1(e){let t=!1;return()=>{t||(t=!0,e.refCount=Math.max(0,e.refCount-1),e.lastAccessedAt=Date.now(),e.refCount===0&&(o1(e),a1()))}}function v6e(e,t){let n=Z$(e,t),r=U$.get(n);if(r)return Q$(r),r.refCount+=1,r.lastAccessedAt=Date.now(),e1(r)||t1(r),c1(r);let i={environmentId:e,threadId:t,unsubscribe:X$,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null,lastEventAt:Date.now(),recoveryAttempts:0};return U$.set(n,i),e1(i)||t1(i),u6e(),a1(),c1(i)}function l1(){for(let e of H$)e()}function u1(){return new Date().toISOString()}var d1=8,f1=[1e3,2e3,4e3,8e3,12e3,16e3,2e4],y6e=9e4;function b6e(e){if(typeof e!=`object`||!e)return null;let t=e.status;return typeof t==`number`&&Number.isInteger(t)?t:null}function x6e(e){if(r4e(e))return!1;let t=b6e(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 S6e(e){return f1[e]??f1[f1.length-1]}function C6e(){return y6e}function w6e(e,t){if(!UX(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.`))},C6e())});return Promise.race([t,r]).finally(()=>{n!==null&&globalThis.clearTimeout(n)})}function p1(e){LX.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function m1(e){let t=u1();LX.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),BK.getState().markConnected(e,t)}function h1(e,t){LX.getState().patch(e,{descriptor:t.environment,serverConfig:t})}function g1(e,t){LX.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:u1(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:u1()}:{}})}function _1(e,t){LX.getState().patch(e,{connectionState:`error`,...V$e(t)})}function T6e(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=Zq(iJ.getState());$Z.getState().syncProjects(e.map(e=>({key:Bo(Io(e.environmentId,e.id)),cwd:e.cwd})))}function y1(){let e=Qq(iJ.getState());$Z.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),w$e(e.map(e=>Lo(e.environmentId,e.id)))}function E6e(){v1(),y1();let e=E$e({snapshotThreads:Qq(iJ.getState()).map(e=>({key:Vo(Lo(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:OX.getState().listDraftThreadKeys()});jZ.getState().removeOrphanedTerminalStates(e)}function b1(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function D6e(e,t){if(e.length===0)return;let n=D$e(e),r=T6e(e),i=e.some(e=>e.type===`project.created`||e.type===`project.meta-updated`||e.type===`project.deleted`);if(n.needsProviderInvalidation&&(G$=!0,W$?.queryInvalidationThrottler.maybeExecute()),iJ.getState().applyOrchestrationEvents(r,t),i){let e=Zq(iJ.getState());$Z.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=Qq(iJ.getState());$Z.getState().syncThreads(e.map(e=>({key:Vo(Lo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=OX.getState();for(let e of n.promoteDraftThreadIds)kX(Lo(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Lo(t,e)),$Z.getState().clearThreadUi(Vo(Lo(t,e)));for(let e of n.removeTerminalStateThreadIds){let n=Lo(t,e);jZ.getState().removeTerminalState(n),RZ.getState().clearBrowserState(n)}s1(t)}function O6e(e,t){D6e([e],t)}function k6e(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?nJ(iJ.getState(),r):void 0;switch(iJ.getState().applyShellEvent(e,t),e.kind){case`project-upserted`:case`project-removed`:v1();return;case`thread-upserted`:y1(),!i&&r&&kX(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&(jZ.getState().removeTerminalState(r),RZ.getState().clearBrowserState(r)),_6e(t,e.thread.id),a1();return;case`thread-removed`:r&&(n1(Vo(r)),OX.getState().clearDraftThread(r),$Z.getState().clearThreadUi(Vo(r)),jZ.getState().removeTerminalState(r),RZ.getState().clearBrowserState(r)),y1();return}}function A6e(e,t){return e.invalidateQueries({queryKey:MX.all(t)})}function x1(e){return{onWelcome:(t,n)=>{e?.(t),W$&&A6e(W$.queryClient,n)},applyShellEvent:k6e,syncShellSnapshot:(e,t)=>{let n=m6e(e,t);iJ.getState().syncServerShellSnapshot(n,t),h6e(t,n.threads.map(e=>e.id)),s1(t),E6e()},applyTerminalEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=nJ(iJ.getState(),n),i=OX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&jZ.getState().applyTerminalEvent(n,e)},applyBrowserEvent:(e,t)=>{let n=Lo(t,Vn.make(e.threadId)),r=nJ(iJ.getState(),n),i=OX.getState().getDraftThreadByRef(n)!==null;b1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&RZ.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 j6e(){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 M6e(e){let t=Xie(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);return NQ(new TQ(async()=>{await lr().catch(()=>null);let e=S1();if(e)try{return await FX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})}catch(e){throw XG(e)&&dr(`ws-token`),e}return vJe(t)}))}function N6e(e){return NQ(new TQ(()=>FX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),{trackGlobalConnection:!1,onAttempt:()=>{p1(e.environmentId)},onOpen:()=>{m1(e.environmentId)},onError:t=>{LX.getState().patch(e.environmentId,{connectionState:`error`,lastError:t,lastErrorAt:u1()})},onClose:t=>{g1(e.environmentId,t.reason)}}))}function P6e(e,t,n,r){return n()&&LX.getState().ensure(e.environmentId),NQ(new TQ(async()=>{let e=await t.acquire(),n=e=>FX({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken,...r?{runtimeTicket:e.bearerToken}:{}});try{return await n(e)}catch(e){if(!r||!XG(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&&I$(i)&&t.invalidate?.(),n()&&LX.getState().patch(e.environmentId,{connectionState:`error`,lastError:i,lastErrorAt:u1()})},onClose:i=>{r&&(i.code===1008||I$(i.reason))&&t.invalidate?.(),n()&&g1(e.environmentId,i.reason)}}))}async function C1(e,t,n,r,i,a,o){let s=await QQ(t,o),[c,l]=await Promise.all([a?Promise.resolve(a):n.server.getConfig(),PX({httpBaseUrl:s.httpBaseUrl,bearerToken:s.bearerToken,...o?{signal:o}:{}})]);if(!r())return!1;LX.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=WK(e.environmentId);return r()&&l.authenticated&&u&&BK.getState().upsert({...u,lastAuthenticatedPullRequestCapability:c.environment.capabilities?.pullRequests===!0}),!0}function w1(e){let t=L$.get(e.environmentId);if(t&&t!==e)throw Error(`Environment ${e.environmentId} already has an active connection.`);return L$.set(e.environmentId,e),l1(),e}async function T1(e){let t=L$.get(e);return t?(L$.delete(e),$Q(e),i1(e),l1(),await t.dispose(),!0):!1}function E1(){let e=CK();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=L$.get(e.environmentId);if(t)return t;let n=S1(),r=e.source===`paired-bearer`||!0;return w1(KX({kind:`primary`,knownEnvironment:e,client:M6e(e),resolveEnvironmentId:()=>CK()?.environmentId??e.environmentId,...r?{readiness:n?{bearerToken:n.bearerToken}:{}}:{},...x1()}))}async function F6e(e,t,n){let r=L$.get(e.environmentId);if(r)return r;let i=UX(e)?t6e(e):null,a=i!==null,o=()=>J$({record:e,generation:t,registryExpectation:n?.registryExpectation??{kind:`existing-record`,record:e}}),s=a?n?.bearerToken:n?.bearerToken??await YK(e.environmentId);if(!a&&!s)throw o()&&LX.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?n6e(e,i,s??void 0,o):r6e({record:e,bearerToken:s}),l=await QQ(c,n?.signal);if(!o())throw Error(`Saved environment changed while its connection was being acquired.`);let u=n?.client??P6e(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?w4e({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()&&LX.getState().patch(e.environmentId,{providerAuthority:t})}}):null,p=KX({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()&&LX.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t})},...x1(t=>{o()&&LX.getState().patch(e.environmentId,{descriptor:t.environment})})});try{if(!await w6e(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&&$Q(e.environmentId,c),o()&&_1(e.environmentId,t),await p.dispose().catch(()=>void 0),t}}async function D1(e,t){let n=L$.get(e.environmentId);if(n)return n;let r=K$(e.environmentId),i=V$.get(e.environmentId);if(i&&i.generation===r&&WX(i.record,e))return i.promise;let a=F6e(e,r,t).finally(()=>{V$.get(e.environmentId)?.promise===a&&V$.delete(e.environmentId)});return V$.set(e.environmentId,{generation:r,record:e,promise:a}),a}async function O1(e){await zl(e);let t=new Map(e.map(e=>[e.environmentId,e]));for(let[e,n]of V$){let r=t.get(e);(!r||!WX(r,n.record))&&q$(e)}let n=new Set(e.map(e=>e.environmentId)),r=[...L$.values()].filter(e=>e.kind===`saved`).map(e=>e.environmentId).filter(e=>!n.has(e));await Promise.all(r.map(async e=>{q$(e),await N1(e)}))}function k1(){W$?.stop(),W$=null}function A1(e){return H$.add(e),()=>{H$.delete(e)}}function j1(e){return L$.get(e)??null}function I6e(e){let t=j1(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function M1(){return E1()}async function L6e(){let e=j6e();if(!e)throw Error(`Desktop Local runtime is not authenticated. Sign in with CMMD again before importing local projects.`);let t=await N$e({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return L$.get(t.environmentId)||w1(KX({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:N6e({environmentId:t.environmentId,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken}),...x1()}))}async function R6e(e){let t=an.make(e.runtimeId),n=L$.get(t);if(n)return n;p1(t);let r=JQ(),i=m4e(e.runtimeId,{apiClient:qG,getStoredDeviceKey:VQ,buildDeviceRegistration:RQ,controlSessionId:r.controlSessionId}),a=await i.acquireRoute(),o=a,s=Ece({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=NQ(new TQ(a.relayWebSocketUrl,{trackGlobalConnection:!1},{layer:s,makeClient:Tce(Un)})),l=KX({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=>{LX.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 z6e(e){let t=an.make(e.runtimeId),n=L$.get(t);if(n)return Promise.resolve(n);let r=R$.get(t);if(r)return r;let i=R6e(e).finally(()=>{R$.delete(t)});return R$.set(t,i),i}async function N1(e){L$.get(e)?.kind===`saved`&&(LX.getState().clear(e),await T1(e).catch(()=>!1))}async function B6e(e){let t=WK(e);if(!t)throw Error(`Saved environment not found.`);let n=L$.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=z$.get(t);e===void 0||e<=1?z$.delete(t):z$.set(t,e-1)}}async function V6e(e){let t=e.environmentId;z$.set(t,(z$.get(t)??0)+1);try{return j1(t)||await F1(e),!0}catch{return P1([t]),!1}}async function H6e(){await HK();let e=(await Promise.all(aYe().map(async e=>await V6e(e)?e.environmentId:null))).flatMap(e=>e===null?[]:[e]),t=!1;return()=>{t||(t=!0,P1(e))}}async function U6e(e){q$(e),BK.getState().remove(e),await XK(e),await N1(e)}async function W6e(e){let t=an.make(e.environment.environmentId),{existing:n,replacedRecord:r}=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}};zX(e.signal);let u=await z$e(n),d=L$.has(l.environmentId)&&L$e({existing:n,replacedRecord:r,record:l});d||(q$(l.environmentId),await T1(l.environmentId).catch(()=>!1)),r&&(q$(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 f=!1;try{return zX(e.signal),await B$e({record:l,replacedRecord:r,rollback:u,...e.signal?{signal:e.signal}:{}}),f=!0,zX(e.signal),BK.getState().upsert(HX(l)),r&&f6e(r.environmentId),l}catch(t){throw d||await T1(l.environmentId).catch(()=>!1),f&&await GX({record:l,replacedRecord:r,rollback:u}),zX(e.signal),t}}async function F1(e,t){if(!UX(e))return D1(e,t);let n=K$(e.environmentId),r=()=>J$({record:e,generation:n,registryExpectation:t?.registryExpectation??{kind:`existing-record`,record:e}}),i=null;for(let n=0;n<d1;n+=1){zX(t?.signal);try{let n=await D1(e,t);return await BX(n.ensureBootstrapped(),t?.signal),n}catch(a){if(i=a,!r())throw a;if(await T1(e.environmentId).catch(()=>!1),zX(t?.signal),n>=7||!x6e(a))throw r()&&_1(e.environmentId,a),a;let o=S6e(n);t?.onBootstrapRetry?.({attempt:n+2,maxAttempts:d1,retryDelayMs:o,error:a}),r()&&LX.getState().patch(e.environmentId,{connectionState:`connecting`,lastError:null,lastErrorAt:null}),await VX(o,t?.signal)}}let a=i instanceof Error?i:Error(String(i));throw r()&&_1(e.environmentId,a),a}async function G6e(e){await L$.get(e)?.ensureBootstrapped()}async function K6e(e){let t=L$.get(e);if(t?.ensureProviderAuthority){await t.ensureProviderAuthority();return}if(E4e(e))throw Error(`Cloud runtime provider authority is not available.`)}function q6e(e){if(W$?.queryClient===e)return W$.refCount+=1,()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&k1())};k1(),G$=!1;let t=new SXe(()=>{G$&&(G$=!1,e.invalidateQueries({queryKey:jX.all}),e.invalidateQueries({queryKey:AX.all}))},{wait:100,leading:!1,trailing:!0});E1(),lr().catch(()=>void 0);let n=BK.subscribe(()=>{VK()&&O1(UK())});return HK().then(()=>O1(UK())).catch(()=>void 0),W$={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{n(),t.cancel()}},()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&k1())}}var J6e=wte(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function Y6e(e){return{environmentId:e.environmentId,threadId:e.threadId}}function X6e(e){return{draftId:e}}function Z6e(e){return!e.environmentId||!e.threadId?null:Lo(e.environmentId,e.threadId)}function Q6e(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:Lo(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}var $6e=F.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return vte(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})});function I1(e){let t=(0,cl.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=Zt(`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 e8e(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Kt(i),[,o]=F.useState(!1),s=Gt(n8e).current,c=Gt(t8e).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(!a8e(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=i8e(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Kt(()=>{let[e,t]=r8e(c),n=g(e);_(t),d.current=e,u.current=!1,s.forEach(e=>e(n)),a(n)});Jt(()=>(u.current||g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),Jt(()=>{u.current&&v()}),Jt(()=>()=>{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 t8e(){return new Map}function n8e(){return new Set}function r8e(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 i8e(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function a8e(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 o8e(e){let t=(0,cl.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,s8e),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 s8e(){return null}function c8e(e){let t=z1(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}var B1=`forge:last-editor`;function l8e(e){let t=(0,cl.c)(5),[n,r]=Cl(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=yl(B1,zn);if(n&&t.has(n))return n;let r=en.find(e=>t.has(e.id))?.id??null;return r&&bl(B1,r,zn),r??null}async function u8e(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}),d8e=Wt(U1).pipe(Ut,Vt(`git-status:null`)),G1=()=>void 0,K1=new Map,f8e=new Set,q1=new Map,J1=new Map,p8e=1e3,Y1=gte(e=>(f8e.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 m8e(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:_8e(n,e,t)}),()=>$1(n))}function h8e(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<p8e)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 g8e(e){let t=(0,cl.c)(4),n=X1(e),r,i;t[0]!==e.cwd||t[1]!==e.environmentId?(r=()=>m8e({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?d8e: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 _8e(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=v8e(e,r,o.client))},s=n?G1:A1(o);return o(),()=>{s(),a()}}function v8e(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 y8e=[],b8e=[],x8e=[],S8e=e=>e?.availableEditors??y8e,C8e=e=>e?.keybindings??b8e,w8e=e=>e?.keybindingsConfigPath??null,T8e=e=>e?.observability??null,E8e=e=>e?.providers??x8e,D8e=e=>e?.settings??bne,r0=t0(`server-welcome`,null),i0=t0(`server-config`,null),a0=t0(`server-config-updated`,null),O8e=t0(`server-providers-updated`,null);function o0(){return Ht.get(i0)}function k8e(){return Ht.get(a0)}function s0(e){d0(e),f0({providers:e.providers}),p0(n0(e),`snapshot`)}function A8e(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(xK()?.environmentId===e.environmentId&&SK(e),!t)return;let n={...t,environment:e};d0(n),p0(n0(n),`environmentUpdated`)}function j8e(e){Ht.set(r0,e)}function M8e(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&j8e(e.payload)}),e.subscribeConfig(e=>{A8e(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 N8e=1;function d0(e){Ht.set(i0,e)}function f0(e){Ht.set(O8e,e)}function p0(e,t){Ht.set(a0,{id:N8e++,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 P8e(){return cr(i0)}function h0(){return cr(i0,D8e)}function F8e(){return cr(i0,E8e)}function I8e(){return cr(i0,C8e)}function L8e(){return cr(i0,S8e)}function R8e(){return cr(i0,w8e)}function z8e(){return cr(i0,T8e)}function B8e(e){m0(r0,e)}function V8e(e){m0(a0,e)}function H8e(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 U8e(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 G8e(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 H8e(e)){if(n){i.appendChild(U8e(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 K8e(){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 q8e(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 J8e(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):G8e(e,t)},persistence:{getClientSettings:Il,setClientSettings:Ll,getSavedEnvironmentRegistry:Rl,setSavedEnvironmentRegistry:zl,getSavedEnvironmentSecret:Bl,setSavedEnvironmentSecret:Vl,removeSavedEnvironmentSecret:Hl},server:_0(e)}}function v0(){if(typeof window>`u`)return;if(g0)return g0;let e=J8e(M1().client);return window.nativeApi?(g0=q8e(e,window.nativeApi),g0):(g0=e,g0)}function Y8e(){let e=v0();if(!e)throw Error(`Local API not found`);return e}var X8e=`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`,Z8e=`ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace`;function Q8e(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 $8e(e){let t=e.split(`,`).map(Q8e).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 e5e(e,t){let n=[[y0.fontSans,t.fontFamilySans,X8e],[y0.fontMono,t.fontFamilyCode,Z8e],[y0.fontComposer,t.fontFamilyComposer,`var(--font-sans)`],[y0.fontTerminal,t.fontFamilyTerminal,`var(--font-mono)`]];for(let[t,r,i]of n){let n=$8e(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 t5e(e,t){try{window.localStorage.setItem(x0,JSON.stringify({appearance:t,background:e}))}catch{}}function n5e(){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],n5e()}}function r5e(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&&t5e(r.background,t)}function i5e(e,t){if(e===`forge`){C0();return}let n=lne(e);if(n===void 0){C0();return}r5e(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 a5e(){for(let e of E0)e()}function A0(){return D0}function j0(e){D0=e,a5e()}function o5e(e){return E0.add(e),s5e(),()=>{E0.delete(e)}}async function s5e(){if(O0)return;if(k0)return k0;let e=(async()=>{try{let e=await Il();e&&j0(e)}catch(e){console.error(`${T0} hydrate failed`,e)}finally{O0=!0}})().finally(()=>{k0===e&&(k0=null)});return k0=e,k0}function c5e(e){j0(e),Ll(e).catch(e=>{console.error(`${T0} persist failed`,e)})}var l5e=new Set(Kte(yne.fields));function u5e(e){let t={},n={};for(let[r,i]of Object.entries(e))l5e.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function M0(e){let t=h0(),n=(0,F.useSyncExternalStore)(o5e,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,cl.c)(2),t=d5e,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 d5e(e){let{serverPatch:t,clientPatch:n}=u5e(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&&c5e({...A0(),...n})}var f5e=`forge:theme`,P0=`theme-color`,p5e=`meta[name="${P0}"][data-dynamic-theme-color="true"]`,F0=`(prefers-color-scheme: dark)`,m5e={dark:`#0a0a0a`,light:`#ffffff`};function h5e(){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 g5e(){if(!h5e())return{theme:`system`,uiFontSize:16,codeFontSize:13};try{let e=window.localStorage.getItem(Ol);if(e){let t=jl(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(f5e);return{theme:I0(t)?t:`system`,uiFontSize:16,codeFontSize:13}}catch{return{theme:`system`,uiFontSize:16,codeFontSize:13}}}function _5e(){return typeof window>`u`||typeof window.matchMedia!=`function`||window.matchMedia(F0).matches?`dark`:`light`}function R0(e){return e===`system`?_5e():e}function v5e(){let e=document.querySelector(p5e);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 y5e(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function b5e(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function B0(e=b5e()){if(typeof document>`u`||typeof getComputedStyle>`u`)return;document.documentElement.style.backgroundColor=``,document.body.style.backgroundColor=``;let t=z0(getComputedStyle(y5e()).backgroundColor),n=z0(getComputedStyle(document.body).backgroundColor),r=t??n??m5e[e];document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,v5e().setAttribute(`content`,r)}function x5e(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),x5e(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=g5e();V0(e.theme),W0(e)}function S5e(){let e=(0,cl.c)(34),t=M0(E5e),n=M0(T5e),r=M0(w5e),i=M0(C5e),{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=()=>{i5e(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 C5e(e){return e.codeFontSize}function w5e(e){return e.uiFontSize}function T5e(e){return e.themeId}function E5e(e){return e.theme}function D5e(){let e=(0,cl.c)(10),t=M0(F5e),n=M0(P5e),r=M0(N5e),i=M0(M5e),a=M0(j5e),o=M0(A5e),s=M0(k5e),c=M0(O5e),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`||e5e(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 O5e(e){return e.glassOpacity}function k5e(e){return e.fontSmoothing}function A5e(e){return e.terminalFontSize}function j5e(e){return e.promptFontSize}function M5e(e){return e.fontFamilyTerminal}function N5e(e){return e.fontFamilyComposer}function P5e(e){return e.fontFamilyCode}function F5e(e){return e.fontFamilySans}function I5e(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,I5e(e,t));return G0.set(n,i),i}function L5e(e,t){return K0(t,!0).format(new Date(e))}function R5e(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 z5e(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 V5e(e,t){return!t.latestTurnId||e.turnId===t.latestTurnId||H5e(e)?!0:U5e(e,t.latestTurnStartedAt)}function H5e(e){return e.kind.startsWith(`worktree.`)||e.kind.startsWith(`setup-script.`)}function U5e(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 G5e(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 K5e(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:G5e(r-n)}function Y0(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function q5e(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 J5e(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 Y5e(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 X5e(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=Y5e(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 Z5e(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 Q5e(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 $5e(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 e7e(e){return e!==null&&e.implementedAt===null}function t7e(e,t,n){let r=n7e(),i={latestTurnId:t,latestTurnStartedAt:n??null};return u7e([...e].toSorted(h2).filter(e=>V5e(e,i)).filter(e=>!J0(e)).filter(e=>r||e.kind!==`runtime.warning`).filter(e=>!r7e(e)).map(i7e)).map(({activityKind:e,collapseKey:t,...n})=>n)}function n7e(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(`forge:debug-mode`)===`true`}catch{return!1}}function r7e(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 i7e(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=T7e(t),r=j7e(t),i=E7e(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=k7e(t),d=A7e(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=a7e(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=m7e(l);return p&&(l.collapseKey=p),l}function a7e(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=o7e(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 o7e(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 s7e(e,t){return e.action===t.action&&e.toolName===t.toolName&&e.message===t.message}function c7e(e){switch(e){case`connect_cmmd`:return`Reconnect Forge`;case`connect_github`:return`Connect GitHub`;default:return`Open Git settings`}}function l7e(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
1021
|
`)}function u7e(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&d7e(e,n)){t[t.length-1]=f7e(e,n);continue}t.push(n)}return t}function d7e(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 f7e(e,t){let n=p7e(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 p7e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function m7e(e){if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;let t=h7e(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 h7e(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 g7e(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 _7e(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 v7e=[{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 y7e(e){return v7e.find(t=>t.executables.includes(e))}function b7e(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 x7e(e){let t=_7e(e);if(!t||t.rest.length===0)return e;let n=g7e(t.executable);if(!n)return e;let r=y7e(n);return r?b7e(t.rest,r.wrapperFlagPattern)??e:e}function S7e(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=>S7e(e)).join(` `)}function C7e(e){let t=u2(e);return t?x7e(t):null}function w7e(e,t){let n=u2(e);return!n||t===null||n===t?null:n}function T7e(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=C7e(e);if(t)return{command:t,rawCommand:w7e(e,t)}}return{command:null,rawCommand:null}}function E7e(e){return D7e(e)??c2(e?.title)}function D7e(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(O7e(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 O7e(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 k7e(e){if(typeof e?.itemType==`string`&&Lte(e.itemType))return e.itemType}function A7e(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 j7e(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 M7e(e,t){return t?e.some(e=>e.turnId===t&&e.tone===`tool`):!1}function N7e(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=P7e(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 P7e(e,t){if(!e.includes(`confirm_github_tool`))return null;let n=R7e(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=F7e(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 F7e(e,t,n){if(!I7e(e))return null;let r=L7e(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 I7e(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 L7e(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 R7e(e,t){return t.exec(e)?.[1]??null}function z7e(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 V7e(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function H7e(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 U7e(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 G7e(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 K7e(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}function q7e(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:K7e(e.revealRequestId),readPolicy:e.readPolicy===`connected-only`?`connected-only`:`execution-intent`}}function J7e(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 Y7e(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 X7e=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 Z7e(e){return e===void 0||T2(e)}function Q7e(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)&&X7e.has(t),w2(n),T2(r),w2(i),w2(a),w2(o),s!==null,Z7e(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 $7e(e){if(!S2(e)||!G7e(e.kind))return null;let t=e.kind;return t===`file`?q7e(e):t===`preview`?J7e(e):t===`diff`?Y7e(e):t===`pull-request`?Q7e(e):{id:t,kind:t}}function e9e(e){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[]){let e=$7e(r);!e||n.has(e.id)||(n.add(e.id),t.push(e))}return t}function t9e(e){if(!S2(e))return null;let t=e9e(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 n9e(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=t9e(r);e&&(t[n]=e)}return{byThreadKey:t}}var r9e=`forge:right-panel-state`,i9e=3,a9e=e=>e===`workspace:pull-requests`;function o9e(e){return`draft:${e}`}function s9e(e){return e.startsWith(`draft:`)}function c9e(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}},l9e=Xt()(SJ(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=U7e(n,c9e(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:r9e,version:i9e,storage:bJ(()=>jJ),partialize:e=>({byThreadKey:Object.fromEntries(Object.entries(e.byThreadKey).filter(([e])=>!s9e(e)&&!a9e(e)))}),migrate:e=>n9e(e)}));function u9e(e){return t=>e?Xq(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=Xq(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=vq(o,a.threadId),r)}}function d9e(e){return O2(()=>e)}function f9e(e){return t=>{if(e)return Xq(t,e.environmentId).threadSubscriptionErrorById[e.threadId]}}function p9e(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=Xq(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 m9e(e,t){let n=new Set(e.filter(e=>e.bootstrapped).map(e=>String(e.ref.environmentId))),r=e.filter(e=>{let r=t?.(e.ref.environmentId)??null;return r===null||!n.has(r)}),i=r.filter(e=>e.bootstrapped);return(i.find(e=>e.active)??i.at(-1)??r.find(e=>e.active)??r[0])?.ref}function h9e(e,t){return O2(n=>{if(e)return m9e(Object.entries(n.environmentStateById).filter(([,t])=>t.threadShellById[e]).map(([t,r])=>({ref:{environmentId:t,threadId:e},active:n.activeEnvironmentId===t,bootstrapped:r.bootstrapComplete})),t)})}var g9e=/https?:\/\/[^\s"'`<>]+/g,_9e=/(?:~\/|\.{1,2}\/|\/|[A-Za-z]:[\\/]|\\\\)[^\s"'`<>]+|[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+(?::\d+){0,2}/g,v9e=/[.,;!?]+$/;function y9e(e){let t=e.replace(v9e,``);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 b9e(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=y9e(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=>b9e(s,e))||i.push(s)}return i}function A2(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function x9e(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 S9e(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 C9e(e){let t=k2(e,`url`,g9e,[]),n=k2(e,`path`,_9e,t);return[...t,...n].toSorted((e,t)=>e.start-t.start)}function w9e(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 T9e(e,t){return{start:P2(e.segments,t.start),end:P2(e.segments,t.end-1)}}function E9e(e,t){return e.start.y<=t&&t<=e.end.y}function D9e(e,t=typeof navigator>`u`?``:navigator.platform){return t.length===0?!1:xte(t)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function O9e(e,t){let{path:n,line:r,column:i}=N2(e),a=n;if(n.startsWith(`~/`)){let e=S9e(t);if(e){let t=j2(e)?`\\`:`/`;a=M2(e,n.slice(2),t)}}else x9e(n)||(a=M2(t,n,j2(t)?`\\`:`/`));return r?`${a}:${r}${i?`:${i}`:``}`:a}var F2=`diffs-container`,k9e=(()=>{try{return!1}catch{return!1}})(),A9e=/(?=^From [a-f0-9]+ .+$)/m,j9e=/(?=^diff --git)/gm,M9e=/(?<=\n)/,N9e=/^(---|\+\+\+)\s+([^\t\r\n]+)/,P9e=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,F9e=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,I9e=/^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`},L9e=`data-theme-css`,R9e=`data-unsafe-css`,z9e=`data-diffs-scrollbar-measure`,B9e=`data-diffs-code-view-header`,V9e=`data-diffs-code-view-footer`,V2=`--diffs-scrollbar-gutter-measured`,H9e=1e5,H2={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8},U9e={...H2,hunkLineCount:1},W9e={paddingTop:8,paddingBottom:8,gap:8},G9e={omega:.015,positionEpsilon:.5,velocityEpsilon:.05},K9e=Object.freeze({fromStart:0,fromEnd:0}),q9e={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},J9e={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 Y9e(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 X9e({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}},Z9e=new class extends t4{};function Q9e(e,t,n){return Z9e.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,$9e(e,t))}function $9e(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}`,eet=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(eet)||[];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 tet=new class extends t4{tokenize(e){let t=RegExp(`(\\r?\\n)|[${p4}]+|[^\\S\\n\\r]+|[^${p4}]`,`ug`);return e.match(t)||[]}};function net(e,t,n){return tet.diff(e,t,n)}var ret=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(`
|
|
@@ -2530,4 +2530,4 @@ XID_Start XIDS`.split(/\s/).map(e=>[b5(e),e])),iat=new Map([[`s`,U5(383)],[U5(38
|
|
|
2530
2530
|
${e}
|
|
2531
2531
|
}
|
|
2532
2532
|
}`}function rst(e,t){let n=_9(t);return e.replace(est,n)}function ist(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function ast({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 ost(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function sst(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 cst(e){if(typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement)return!0;let t=e.tagName??e.nodeName;return typeof t==`string`&&t.toLowerCase()===`style`}function lst(e){return e?.useTokenTransformer===!0||e?.onTokenClick!=null||e?.onTokenEnter!=null||e?.onTokenLeave!=null}function ust(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 dst({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=fst(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function fst(){let e=document.createElement(`style`);return e.setAttribute(L9e,``),e}var pst=void 0;function mst(){return pst??=`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($ot)),t.adoptedStyleSheets=[e]}connectedCallback(){g9(this.shadowRoot??this.attachShadow({mode:`open`}))}}customElements.define(F2,t)}function hst(e){return{...H2,...e}}function gst(e,t){let n=_st(e,t);return t?n:e.diffHeaderHeight+n}function _st(e,t){return e.paddingTop??(t?e.spacing:0)}function vst(e){return e.paddingBottom??e.spacing}function yst(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 bst(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 xst({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 Sst({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??yst(e)}function O9({type:e,metrics:t}){return e===`simple`||e===`metadata`||e===`line-info-basic`?0:t.spacing}function Cst({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 wst(e){return e!==`simple`&&e!==`metadata`}function Tst({type:e,metrics:t,hunkIndex:n,hunkSpecs:r}){if(!Cst({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 Est({type:e,metrics:t}){if(!wst(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=Dst({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=Ast(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(jst({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 Dst({diff:e,diffStyle:t,startingLine:n,expandedHunks:r,collapsedContextThreshold:i}){if(n<=0||t===`both`)return{hunkIndex:0,splitCount:0,unifiedCount:0};let a=Ost({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 Ost({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 kst(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]=kst(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 Ast(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 jst({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 Mst={forcePlainText:!1};function j9(e,t,n,{forcePlainText:r,startingLine:i,totalLines:a,expandedHunks:o,collapsedContextThreshold:s=1}=Mst){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&&Nst({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}=Fst({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 Nst({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`?Q9e(e,t):net(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 Fst({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 Ist(e){return e===`dark`?R9.dark:R9.light}var z9=2166136261,B9=16777619,Lst=2654435769,Rst=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 zst(e,t=`diff-panel`){let n=e.trim(),r=V9(n,z9,B9).toString(36),i=V9(n,Lst,Rst).toString(36);return`${t}:${n.length}:${r}:${i}`}function Bst(e){let t=(0,F.useRef)(e);return(0,F.useInsertionEffect)(()=>void(t.current=e)),(0,F.useCallback)((...e)=>t.current(...e),[])}var Vst=(0,F.createContext)(void 0);function Hst(){return(0,F.useContext)(Vst)}var Ust={position:`absolute`,top:0,bottom:0,textAlign:`center`,whiteSpace:`normal`,touchAction:`none`},Wst={display:`contents`};function Gst(){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`)}},Kst=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){qst(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 qst(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 Jst({poolOptions:e,highlighterOptions:t}){return X9??=new Kst(e,t),X9}function Yst(){X9!=null&&(X9.terminate(),X9=void 0)}var Z9=(0,F.createContext)(void 0),Q9=0;function Xst({children:e,poolOptions:t,highlighterOptions:n}){let[r]=(0,F.useState)(()=>{if(!(typeof window>`u`))return Jst({poolOptions:t,highlighterOptions:n})});return(0,F.useInsertionEffect)(()=>{if(r!=null)return Q9++,()=>{Q9--}},[r]),(0,F.useEffect)(()=>()=>{Q9===0&&Yst()},[]),(0,Nr.jsx)(Z9.Provider,{value:r,children:e})}function Zst(){return(0,F.useContext)(Z9)}function $9(e){return Zt(`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 Qst(e){let t=(0,cl.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=Zt(`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 $st(){let e=(0,cl.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 ect(e){let t=(0,cl.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{Uot as $,jY as $a,wi as $c,RQ as $i,Q0 as $n,fJ as $o,H6e as $r,kJe as $s,V9e as $t,gst as A,YX as Aa,gl as Ac,w$ as Ai,nre as Al,h9e as An,mZe as Ao,V8e as Ar,WK as As,$4 as At,rst as B,AX as Ba,dl as Bc,B4e as Bi,Xne as Bl,W5e as Bn,NJ as Bo,V1 as Br,VJe as Bs,S4 as Bt,E9 as C,D1e as Ca,wl as Cc,B3e as Ci,Vr as Cl,C9e as Cn,rQe as Co,c0 as Cr,sq as Cs,Get as Ct,b9 as D,jZ as Da,bl as Dc,T$ as Di,Ir as Dl,N2 as Dn,$J as Do,M8e as Dr,dYe as Ds,c3 as Dt,xst as E,kZ as Ea,xl as Ec,z3e as Ei,Qr as El,T9e as En,YZe as Eo,k8e as Er,uYe as Es,l3 as Et,lst as F,BX as Fa,fl as Fc,h$ as Fi,Dr as Fl,l9e as Fn,BJ as Fo,h0 as Fr,BK as Fs,det as Ft,Zot as G,C$e as Ga,Vo as Gc,i$ as Gi,_r as Gl,Q5e as Gn,KXe as Go,e8e as Gr,SK as Gs,X9e as Gt,tst as H,T$e as Ha,Io as Hc,s$ as Hi,Zne as Hl,l7e as Hn,bJ as Ho,c8e as Hr,RJe as Hs,e4 as Ht,cst as I,LX as Ia,pl as Ic,g$ as Ii,Er as Il,v2 as In,RJ as Io,B8e as Ir,NK as Is,uet as It,qot as J,KQe as Ja,ji as Jc,A4e as Ji,Gne as Jl,J5e as Jn,gJ as Jo,X6e as Jr,yJe as Js,Y2 as Jt,Xot as K,OX as Ka,Fo as Kc,n$ as Ki,Yne as Kl,q5e as Kn,LXe as Ko,I1 as Kr,AJe as Ks,Z2 as Kt,sst as L,FX as La,ml as Lc,e3e as Li,Tr as Ll,_2 as Ln,DJ as Lo,h8e as Lr,xK as Ls,w4 as Lt,mst as M,ZX as Ma,Bce as Mc,C3e as Mi,jr as Ml,f9e as Mn,_Ze as Mo,R8e as Mr,YK as Ms,A4 as Mt,dst as N,JX as Na,Vce as Nc,b$ as Ni,kr as Nl,p9e as Nn,WJ as No,z8e as Nr,oYe as Ns,D4 as Nt,y9 as O,QX as Oa,Cl as Oc,M3e as Oi,Fr as Ol,E9e as On,eY as Oo,L8e as Or,QK as Os,t3 as Ot,ust as P,UX as Pa,zce as Pc,T3e as Pi,Or as Pl,o9e as Pn,UJ as Po,F8e as Pr,KK as Ps,fet as Pt,Vot as Q,MY as Qa,Oi as Qc,_4e as Qi,t7e as Qn,XXe as Qo,J6e as Qr,Zqe as Qs,F9e as Qt,ost as R,MX as Ra,Rce as Rc,u$ as Ri,Jne as Rl,y2 as Rn,MJ as Ro,g8e as Rr,BJe as Rs,T4 as Rt,T9 as S,E1e as Sa,Dl as Sc,k$ as Si,Kr as Sl,w9e as Sn,fQe as So,v0 as Sr,eq as Ss,d3 as St,bst as T,O1e as Ta,yl as Tc,U3e as Ti,ei as Tl,O9e as Tn,oQe as To,o0 as Tr,vYe as Ts,Wet as Tt,g9 as U,n$e as Ua,Lo as Uc,a$ as Ui,Vne as Ul,Z5e as Un,SJ as Uo,z1 as Ur,PJe as Us,$2 as Ut,nst as V,$Y as Va,Wo as Vc,z4e as Vi,Cr as Vl,c7e as Vn,EJ as Vo,l8e as Vr,IJe as Vs,oet as Vt,Qot as W,t$e as Wa,Bo as Wc,e$ as Wi,Une as Wl,H7e as Wn,UXe as Wo,o8e as Wr,UJe as Ws,Q2 as Wt,Kot as X,HY as Xa,Di as Xc,D4e as Xi,V7e as Xn,IXe as Xo,Z6e as Xr,wJe as Xs,K2 as Xt,p9 as Y,BQe as Ya,Ai as Yc,O4e as Yi,vr as Yl,X5e as Yn,YXe as Yo,Y6e as Yr,bJe as Ys,J2 as Yt,Got as Z,VY as Za,ki as Zc,b4e as Zi,N7e as Zn,ZXe as Zo,Q6e as Zr,DJe as Zs,G2 as Zt,k9 as _,$1e as _a,nG as _c,A$ as _i,dre as _l,L2 as _n,pY as _o,M0 as _r,nq as _s,Wtt as _t,Xst as a,w2e as aa,XG as ac,M1 as ai,bi as al,K9e as an,EY as ao,B7e as ar,Zq as as,Sot as at,Tst as b,M1e as ba,mle as bc,O$ as bi,Rr as bl,I9e as bn,mY as bo,Y8e as br,rq as bs,Ott as bt,Wst as c,D2e as ca,Iqe as cc,U6e as ci,yre as cl,B2 as cn,yY as co,s7e as cr,tJ as cs,got as ct,Bst as d,Z0e as da,_qe as dc,q6e as di,si as dl,k9e as dn,CY as do,z5e as dr,pXe as ds,V7 as dt,VQ as ea,OJe as ec,W6e as ei,Ei as el,B9e as en,NY as eo,$5e as er,dJ as es,Hot as et,zst as f,e2e as fa,mqe as fc,A1 as fi,ii as fl,F2 as fn,SY as fo,R5e as fr,cXe as fs,B7 as ft,j9 as g,Z1e as ga,aG as gc,W3e as gi,Ur as gl,j9e as gn,dY as go,S5e as gr,oq as gs,R7 as gt,M9 as h,$Z as ha,XKe as hc,j$ as hi,Wr as hl,P9e as hn,uY as ho,D5e as hr,yYe as hs,uot as ht,Z9 as i,NQ as ia,TJe as ic,z6e as ii,wre as il,W9e as in,xQe as io,M7e as ir,fXe as is,Cot as it,vst as j,o1e as ja,hl as jc,S$ as ji,Mr as jl,d9e as jn,gZe as jo,I8e as jr,UK as js,Z4 as jt,hst as k,n1e as ka,_l as kc,j3e as ki,Pr as kl,u9e as kn,fZe as ko,P8e as kr,qK as ks,Q4 as kt,Gst as l,wQ as la,hqe as lc,I6e as li,bre as ll,H9e as ln,vY as lo,J0 as lr,uXe as ls,mot as lt,Ist as m,T0e as ma,pG as mc,M$ as mi,ore as ml,N9e as mn,oY as mo,B0 as mr,iJ as ms,z7 as mt,ect as n,FQ as na,gJe as nc,G6e as ni,Ci as nl,z2 as nn,bQe as no,r2 as nr,dXe as ns,f9 as nt,Zst as o,N2e as oa,qG as oc,j1 as oi,mi as ol,q9e as on,TY as oo,Y0 as or,rJ as os,W7 as ot,V9 as p,G0e as pa,hG as pc,F$ as pi,ri as pl,J9e as pn,xY as po,L5e as pr,sXe as ps,fot as pt,Jot as q,S$e as qa,Ore as qc,t$ as qi,Bne as ql,z7e as qn,_J as qo,$6e as qr,fK as qs,Y9e as qt,Qst as r,PQ as ra,gK as rc,K6e as ri,Si as rl,U9e as rn,OY as ro,e7e as rr,Xq as rs,d9 as rt,Ust as s,T2e as sa,KG as sc,B6e as si,xre as sl,G9e as sn,wY as so,a2 as sr,lXe as ss,yot as st,$st as t,a4e as ta,aK as tc,L6e as ti,Ti as tl,A9e as tn,wQe as to,K5e as tr,pJ as ts,Wot as tt,Hst as u,TQ as ua,gqe as uc,v6e as ui,ci as ul,H2 as un,yQe as uo,q0 as ur,nJ as us,pot as ut,w9 as v,Y1e as va,rG as vc,G3e as vi,cre as vl,R2 as vn,gQe as vo,N0 as vr,$K as vs,Ltt as vt,Est as w,k1e as wa,Tl as wc,D$ as wi,qr as wl,D9e as wn,eQe as wo,l0 as wr,aq as ws,u3 as wt,Sst as x,MZ as xa,gle as xc,V3e as xi,Gr as xl,M9e as xn,rY as xo,K8e as xr,iq as xs,C3 as xt,C9 as y,RZ as ya,hle as yc,E$ as yi,sre as yl,I2 as yn,fY as yo,_0 as yr,tq as ys,Dtt as yt,ast as z,jX as za,ul as zc,W4e as zi,Qne as zl,x2 as zn,tZe as zo,u8e as zr,KJe as zs,C4 as zt};
|
|
2533
|
-
//# sourceMappingURL=DiffPanelShell-
|
|
2533
|
+
//# sourceMappingURL=DiffPanelShell-src4jZSc.js.map
|