@cmmd-center/forge 0.13.9 → 0.13.11
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 +49 -33
- package/dist/bin.mjs +73 -57
- package/dist/client/assets/{DiffPanel-DTiRv6A3.js → DiffPanel-BrlSm5kH.js} +3 -3
- package/dist/client/assets/{DiffPanel.logic-BrHjYrbX.js → DiffPanel.logic-OZhO8GfQ.js} +2 -2
- package/dist/client/assets/{DiffPanelShell-CivZRVc4.js → DiffPanelShell-DnugngHM.js} +8 -8
- package/dist/client/assets/{DiffWorkerPoolProvider-Vm64F-i1.js → DiffWorkerPoolProvider-BOD7cQPe.js} +9 -9
- package/dist/client/assets/PullRequestCodePanel-DACYpcbJ.js +5 -0
- package/dist/client/assets/{Virtualizer-CJivXWYL.js → Virtualizer-R_LG4CvG.js} +2 -2
- package/dist/client/assets/index-BXzYKPmD.js +154 -0
- package/dist/client/assets/index-Bn-ASQRG.css +1 -0
- package/dist/client/index.html +5 -5
- package/dist/forge-build.json +1 -1
- package/dist/{open-FIgTDosf.mjs → open-D8mGyWmt.mjs} +3 -3
- package/package.json +1 -1
- package/dist/client/assets/PullRequestCodePanel-DJPvOmkY.js +0 -5
- package/dist/client/assets/index-DTtOLoW6.css +0 -1
- package/dist/client/assets/index-TdSTLuh4.js +0 -154
|
@@ -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/workspaceReadinessAtom-D6bgTvKb.js","assets/atomRegistry-C1yW8tyM.js","assets/Stream-mUTFnSY9.js","assets/angular-html-B8mrqUL5.js","assets/html-XwrE-1r6.js","assets/javascript-obGGvMPs.js","assets/css-CNuuLpMC.js","assets/angular-ts-Bzix210W.js","assets/scss-YesllqfO.js","assets/apl-Dhin1L29.js","assets/xml-BlnrEAEy.js","assets/java-DdHNQ9hk.js","assets/json-DAgxKhMr.js","assets/astro-B-4NNgOP.js","assets/typescript-BydbNFcO.js","assets/postcss-BXeXVLqQ.js","assets/tsx-CUOciP0b.js","assets/blade-Wr94ul2N.js","assets/html-derivative-i4STDFnl.js","assets/sql-ClgswhA6.js","assets/bsl-BkkzgIyY.js","assets/sdbl-bTVj8UrX.js","assets/c-iCihek07.js","assets/cairo-DLTphjLi.js","assets/python-gzcpVVnB.js","assets/cobol-Cw2-KvLW.js","assets/coffee-CiiSLhB6.js","assets/cpp-DjoE5qBx.js","assets/regexp-DR20uMnK.js","assets/glsl-D5MA2a_X.js","assets/crystal-wCJpIkgB.js","assets/shellscript-Da78Ox-3.js","assets/edge-DCY0a-ow.js","assets/elixir-DP304Xio.js","assets/elm-o4NJxfws.js","assets/erb-BcNYoZVd.js","assets/ruby-2bd251b9.js","assets/haml-CwEpbK1d.js","assets/graphql-Ctjuxyvl.js","assets/jsx-gTgmArGx.js","assets/lua-FONpmTUP.js","assets/yaml-Du_6cdrH.js","assets/erlang-Cphh6RMH.js","assets/markdown-BYOwaDjH.js","assets/fortran-fixed-form-DEKoE2YW.js","assets/fortran-free-form-CYNrtFtB.js","assets/fsharp-D13ZGOAj.js","assets/gdresource-C0sCabJj.js","assets/gdshader-CBce3t8t.js","assets/gdscript-Cp2uCuqX.js","assets/git-commit-BSykSTBG.js","assets/diff-woXpYk--.js","assets/git-rebase-BDPpS8w6.js","assets/glimmer-js-BONyzAsu.js","assets/glimmer-ts-f9c0GCOe.js","assets/hack-7ztQ7Up-.js","assets/handlebars-ryMP1rBR.js","assets/http-kmH8AyfE.js","assets/hurl-DCZHXKU4.js","assets/csv-Dx-8-gkx.js","assets/hxml-B0Qn7Nwc.js","assets/haxe-OTjmBuCE.js","assets/jinja-B-tLrNsM.js","assets/jison-CBjhYtSs.js","assets/julia-CjHxn3vf.js","assets/r-D6UWEOL2.js","assets/just-CZ9bduw9.js","assets/perl-BAov3eih.js","assets/latex-D9bvcAJr.js","assets/tex-0w6-Dtgt.js","assets/liquid-G0MH4h_m.js","assets/marko-DV5GrDmo.js","assets/less-DVTAwKKz.js","assets/mdc-cg1lnqpW.js","assets/nextflow-BJtWHP5T.js","assets/nextflow-groovy-DJMQeKeT.js","assets/nginx-BTMw9COX.js","assets/nim-B6yJ_yaC.js","assets/php-Cg76ANFt.js","assets/pug-DkgDHZci.js","assets/qml-_a-QhfPD.js","assets/razor-D3EoCAik.js","assets/csharp-Ct8U2NOr.js","assets/rst-YTmaoyaq.js","assets/cmake-Bj61d0ZC.js","assets/sas-B6p8-ynO.js","assets/shaderlab-TOUzSsQk.js","assets/hlsl-Cvrh5tZx.js","assets/shellsession-CVsQGYfZ.js","assets/soy-DEd-qcad.js","assets/sparql-D_iOobhT.js","assets/turtle-ByJddavk.js","assets/stata-RoaAgbqU.js","assets/surrealql-DIn4NJsS.js","assets/svelte-Bj3Hmc9F.js","assets/templ-TjxbArHn.js","assets/go-rLFTqkRN.js","assets/ts-tags-DFwAVxhO.js","assets/twig-BbcH-NR0.js","assets/vue-BNi0qJZP.js","assets/vue-html-DkKkQnZL.js","assets/vue-vine-DFaKYU4X.js","assets/stylus-B6D30XZt.js","assets/xsl-BOPS8gLt.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{$ as r,$t as i,Aa as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Ci as m,Cn as h,Di as g,Dn as _,Dt as v,Ei as y,En as b,Er as x,Et as S,F as C,Fa as w,Fi as T,Fn as E,Fr as D,Ft as ee,Gn as te,Gt as ne,Ha as O,Hn as k,Hr as re,Ht as A,Ia as ie,Ir as ae,It as oe,J as se,Jn as ce,Jt as le,K as ue,Kn as de,Kt as fe,L as pe,La as me,Ln as he,Lr as ge,Lt as _e,M as ve,Ma as ye,Mi as be,Mr as xe,Mt as Se,N as Ce,Ni as we,Nn as eee,Nt as Te,O as tee,Oa as nee,On as ree,Ot as iee,P as aee,Pa as oee,Pi as Ee,Pn as De,Pt as Oe,Qi as ke,Qn as Ae,Qt as see,R as je,Rn as Me,Rr as Ne,Rt as cee,Si as lee,Sn as uee,T as Pe,Ta as Fe,Tn as dee,Tr as Ie,Tt as Le,U as Re,Ua as fee,Un as ze,Ur as Be,Ut as pee,V as mee,Va as Ve,Vn as He,Vr as Ue,Vt as We,W as Ge,Wa as hee,Wn as gee,Wr as _ee,Wt as vee,X as yee,Xn as bee,Y as xee,Yi as Ke,Yn as qe,Yt as See,Z as Je,Zi as Cee,Zn as wee,Zt as Tee,_ as Eee,_a as Ye,_n as Dee,_r as Oee,_t as kee,an as Aee,at as Xe,bn as jee,br as Mee,bt as Ze,ca as Qe,ci as $e,cn as Nee,ct as et,di as Pee,dn as Fee,dr as Iee,dt as tt,ea as nt,ei as Lee,en as rt,er as Ree,et as it,fi as at,fr as zee,ft as ot,gi as st,gn as ct,gt as lt,hn as ut,hr as dt,ht as ft,in as pt,it as Bee,j as mt,ja as Vee,jn as ht,jr as Hee,jt as gt,ki as _t,kr as Uee,kt as vt,li as yt,ln as Wee,m as Gee,mn as bt,mr as xt,mt as St,na as Kee,ni as qee,nr as Ct,nt as wt,oa as Jee,on as Yee,or as Tt,pi as Xee,pn as Et,pt as Dt,q as Ot,qn as kt,qt as Zee,r as Qee,ri as $ee,rn as At,rr as ete,rt as tte,s as nte,si as rte,sn as ite,st as jt,ui as ate,un as Mt,ut as Nt,vn as Pt,vr as ote,vt as ste,w as Ft,wn as cte,wr as lte,wt as It,x as ute,xi as dte,xn as Lt,y as fte,yi as pte,yn as Rt,yt as mte,z as zt,zn as Bt,zt as hte}from"./Stream-mUTFnSY9.js";import{i as gte,l as Vt,n as Ht,o as Ut,s as Wt}from"./atomRegistry-C1yW8tyM.js";import{En as _te,Fn as Gt,In as vte,Q as Kt,Rn as yte,Sn as qt,Tn as Jt,_n as Yt,bn as bte,dn as Xt,gn as xte,hn as Zt,i as Ste,vn as Cte,x as wte,xn as Qt,yn as Tte}from"./CompositeItem-P9UVXCKv.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-BL-mOkT1.js";import{A as or,D as sr,E as cr,F as wne,I as lr,M as Tne,O as ur,P as Ene,S as Dne,_ as One,a as dr,b as kne,c as Ane,j as fr,k as pr,l as jne,n as mr,s as Mne,u as Nne,v as Pne,w as hr,x as Fne,y as Ine}from"./cmmdAuthRedirect-Bp1uQaQ9.js";import{t as N}from"./preload-helper-Czpn1I53.js";import{n as P,t as gr}from"./transport-CgH8pQK3.js";import{n as Lne,t as Rne}from"./workspaceReadinessAtom-D6bgTvKb.js";function zne(e){return e[e.length-1]}function Bne(e,t){return typeof e==`function`?e(t):e}var _r=Object.prototype.hasOwnProperty,Vne=Object.prototype.propertyIsEnumerable;function Hne(e){for(let t in e)if(_r.call(e,t))return!0;return!1}var Une=()=>Object.create(null),Wne=(e,t)=>vr(e,t,Une);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(!Vne.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 Gne=/[\x00-\x1f\x7f"<>`{}]/g;function Kne(e){return e.replace(Gne,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 Kne(t)}var qne=[`http:`,`https:`,`mailto:`,`tel:`];function Jne(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function Yne(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 Xne(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function Zne(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),Qne=F.createContext(void 0),$ne=yte();function ere(e,t){return e===t}function kr(e,t,n=ere){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,$ne.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?Qne: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 tre(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`}},nre={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Lr=new class{#e=nre;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 rre(e){setTimeout(e,0)}var ire=typeof window>`u`||`Deno`in globalThis;function Rr(){}function are(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 ore(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 sre(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 cre=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:cre.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 lre(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 ure(e){return e}function dre(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function fre(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 pre(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=()=>ire;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 mre=rre;function hre(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=mre,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=hre(),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 gre(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??gre,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),lre(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 _re(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=>{pre(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?fre:dre;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 vre(e,t){return t?li(e,t)!=null:!1}function yre(e,t){return!t||!e.getPreviousPageParam?!1:ui(e,t)!=null}var bre=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`?_re(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 Sre(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 xre(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 xre(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 Sre(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},Cre=({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 wre(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Tre=F.createContext(wre()),Ci=()=>F.useContext(Tre),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))}},Ere=(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()&&Ere(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 Dre(e){return e}var Ore={[Symbol.iterator](){return kre}},kre={next(){return{done:!0,value:void 0}}},Are=()=>Ore,jre=x,Mi=globalThis.Number,Mre=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)},Nre=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],Ni=`~effect/http/HttpClientRequest`,Pre={[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(Pre);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var Fre=Pi(`GET`,``,$te,Ee(),Tn,Zte),Fi=e=>(t,n)=>Lre(Fre,{method:e,url:t,...n??void 0}),Ire=Fi(`POST`),Lre=w(2,(e,t)=>{let n=e;return t.method&&(n=Rre(n,t.method)),t.url&&(n=Vre(n,t.url)),t.headers&&(n=Ii(n,t.headers)),t.urlParams&&(n=Hre(n,t.urlParams)),t.hash&&(n=Ure(n,t.hash)),t.body&&(n=Ri(n,t.body)),t.accept&&(n=Li(n,t.accept)),t.acceptJson&&(n=Bre(n)),n}),Rre=w(2,(e,t)=>Pi(t,e.url,e.urlParams,e.hash,e.headers,e.body)),zre=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)=>zre(e,`Accept`,t)),Bre=Li(`application/json`),Vre=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)}),Hre=w(2,(e,t)=>Pi(e.method,e.url,nne(e.urlParams,t),e.hash,e.headers,e.body)),Ure=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)}),Wre=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)),Gre=Vi(wt(Rte)),Hi=(e,t)=>{let n=Object.create(Kre);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Kre={[zi]:zi,pipe(){return Ve(this,arguments)},...ke,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(Nre.map(([e,t])=>[t,function(t,n){return this.execute(Fi(e)(t,n))}]))},qre=e=>Hi(t=>wt(t,t=>Pt(n=>{let i=Zre.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(Yre)(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,Wre(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),Jre=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}),Yre=$e(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Xre=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))}}})(),Zre=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)||Qre(e),Qre=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`,$re=e=>Ye(e,Yi),eie={[Yi]:Yi,[Symbol.iterator](){return this.state._tag===`Closed`?Are():this.state.backing[Symbol.iterator]()},...Ke,toJSON(){return{_id:`FiberMap`,state:this.state}}},tie=(e,t)=>{let n=Object.create(eie);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},nie=()=>je(pt(()=>tie(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,rie=ge(D(Iee,ae(Xi))),Zi=w(e=>$re(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?!rie(r.cause):!dt(r.cause))&&kt(e.deferred,r))}))}),Qi=function(){let e;return()=>(e===void 0&&(e=f(St)),e)}(),$i=e=>()=>Ze(Ot(),t=>{let n=We(t);return(t,r)=>{if(e.state._tag===`Closed`)return Qi();let i=n(t,r);return Zi(e,i),i}}),ea=e=>de(e.deferred),ta=`~effect/socket/Socket`,na=yt(`effect/socket/Socket`),iie=`~effect/socket/Socket/CloseEvent`,aie=e=>Ye(e,iie),ra=`~effect/socket/Socket/SocketError`,oie=e=>Ye(e,ra),ia=class extends Wn(`effect/socket/Socket/SocketReadError`)({_tag:fn(`SocketReadError`),cause:Nn}){message=`An error occurred during Read`},sie=class extends Wn(`effect/socket/Socket/SocketWriteError`)({_tag:fn(`SocketWriteError`),cause:Nn}){message=`An error occurred during Write`},aa=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`}},oa=class extends Wn(`effect/socket/Socket/SocketCloseError`)({_tag:fn(`SocketCloseError`),code:Ln,closeReason:yn(j)}){static filterClean(e){return function(t){return ca.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}`}},sa=ir([ia,sie,aa,oa]),ca=class extends xne(ra)(`SocketError`,{_tag:fn(`SocketError`),reason:sa}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[ra]=ra;static is(e){return oie(e)}message=this.reason.message},cie=e=>!0,lie=class extends yt()(`~effect/socket/Socket/WebSocket`){},la=class extends yt()(`@effect/platform/Socket/WebSocketConstructor`){},uie=(e,t)=>la.use(n=>die(je((typeof e==`string`?rt(e):e).pipe(Ze(e=>n(e,t?.protocols))),e=>pt(()=>e.close(1e3))),t)),die=(e,t)=>Pt(n=>{let i,a=mt(!1),o=n.context,s=t?.closeCodeIsError??cie,c=(n,c)=>Tee(Xe(function*(o){let l=yield*nie().pipe(te(o)),u=yield*te(e,o),d=yield*Oe($i(l)(),lie,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 ca({reason:f?new ia({cause:e}):new aa({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 ca({reason:new oa({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 ca({reason:new aa({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),ee(ea(l)))}return f=!0,i=u,a.openUnsafe(),c?.onOpen&&(yield*c.onOpen),yield*ue(ea(l),oa.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;aie(e)?t.close(e.code,e.reason):t.send(e)})));return rt(na.of({[ta]:ta,run:u,runRaw:c,writer:d}))}),ua=ie(uie,ht(na)),da=class extends yt()(`effect/workers/Transferable/Collector`){},fie=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return da.of({addAllUnsafe:t,addAll:e=>pt(()=>t(e)),readUnsafe:n,read:pt(n),clearUnsafe:r,clear:pt(r)})},pie=`~effect/workers/WorkerError`,mie=class extends Wn(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:fn(`WorkerSpawnError`),message:j,cause:yn(Nn)}){},hie=class extends Wn(`effect/workers/WorkerError/WorkerSendError`)({_tag:fn(`WorkerSendError`),message:j,cause:yn(Nn)}){},gie=class extends Wn(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:fn(`WorkerReceiveError`),message:j,cause:yn(Nn)}){},_ie=class extends Wn(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:fn(`WorkerUnknownError`),message:j,cause:yn(Nn)}){},fa=ir([mie,hie,gie,_ie]);Wn(pie)({_tag:fn(`WorkerError`),reason:fa});var pa=`~effect/rpc/RpcClientError`,ma=class extends Wn(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:fn(`RpcClientDefect`),message:j,cause:Nn}){},ha=class extends Wn(pa)({_tag:fn(`RpcClientError`),reason:ir([fa,sa,fne,ma])}){[pa]=pa;get message(){return`${this.reason._tag}: ${this.reason.message}`}},ga=e=>typeof e==`bigint`?e:BigInt(e),vie={_tag:`Ping`},_a;try{_a=new TextDecoder}catch{}var I,va,L=0,ya=[],ba=ya,xa=0,Sa={},Ca,wa,Ta=0,Ea=0,Da,Oa,ka=[],Aa,ja={useRecords:!1,mapsAsObjects:!0},Ma=class{},Na=new Ma;Na.name=`MessagePack 0xC1`;var Pa=!1,Fa=2,Ia,La,Ra;try{Function(``)}catch{Fa=1/0}var za=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 co(()=>(lo(),this?this.unpack(t,n):e.prototype.unpack.call(ja,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(va=n.end||t.length,L=n.start||0):(L=0,va=n>-1?n:t.length),xa=0,Ea=0,wa=null,ba=ya,Da=null,I=t;try{Aa=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(Sa=this,this.structures)return Ca=this.structures,Ba(n);(!Ca||Ca.length>0)&&(Ca=[])}else Sa=ja,(!Ca||Ca.length>0)&&(Ca=[]);return Ba(n)}unpackMultiple(e,t){let n,r=0;try{Pa=!0;let i=e.length,a=this?this.unpack(e,i):fo.unpack(e,i);if(t){if(t(a,r,L)===!1)return;for(;L<i;)if(r=L,t(Ba(),r,L)===!1)return}else{for(n=[a];L<i;)r=L,n.push(Ba());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{Pa=!1,lo()}}_mergeStructures(e,t){La&&(e=La.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 Ba(e){try{if(!Sa.trusted&&!Pa){let e=Ca.sharedLength||0;e<Ca.length&&(Ca.length=e)}let t;if(Sa.randomAccessStructure&&I[L]<64&&I[L]>=32&&Ia?(t=Ia(I,L,va,Sa),I=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),L=va):t=Ha(),Da&&=(L=Da.postBundlePosition,null),Pa&&(Ca.restoreStructures=null),L==va)Ca&&Ca.restoreStructures&&Va(),Ca=null,I=null,Oa&&=null;else if(L>va)throw Error(`Unexpected end of MessagePack data`);else if(!Pa){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 Ca&&Ca.restoreStructures&&Va(),lo(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||L>va)&&(e.incomplete=!0),e}}function Va(){for(let e in Ca.restoreStructures)Ca[e]=Ca.restoreStructures[e];Ca.restoreStructures=null}function Ha(){let e=I[L++];if(e<160)if(e<128){if(e<64)return e;{let t=Ca[e&63]||Sa.getStructures&&Ga()[e&63];return t?(t.read||=Ua(t,e&63),t.read()):e}}else if(e<144){if(e-=128,Sa.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=ro();e===`__proto__`&&(e=`__proto_`),t[e]=Ha()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(Ha(),Ha());return t}}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=Ha();return Sa.freezeData?Object.freeze(t):t}if(e<192){let t=e-160;if(Ea>=L)return wa.slice(L-Ta,(L+=t)-Ta);if(Ea==0&&va<140){let e=t<16?Qa(t):Za(t);if(e!=null)return e}return Ka(t)}{let t;switch(e){case 192:return null;case 193:return Da?(t=Ha(),t>0?Da[1].slice(Da.position1,Da.position1+=t):Da[0].slice(Da.position0,Da.position0-=t)):Na;case 194:return!1;case 195:return!0;case 196:if(t=I[L++],t===void 0)throw Error(`Unexpected end of buffer`);return eo(t);case 197:return t=Aa.getUint16(L),L+=2,eo(t);case 198:return t=Aa.getUint32(L),L+=4,eo(t);case 199:return to(I[L++]);case 200:return t=Aa.getUint16(L),L+=2,to(t);case 201:return t=Aa.getUint32(L),L+=4,to(t);case 202:if(t=Aa.getFloat32(L),Sa.useFloat32>2){let e=uo[(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=Aa.getFloat64(L),L+=8,t;case 204:return I[L++];case 205:return t=Aa.getUint16(L),L+=2,t;case 206:return t=Aa.getUint32(L),L+=4,t;case 207:return Sa.int64AsType===`number`?(t=Aa.getUint32(L)*4294967296,t+=Aa.getUint32(L+4)):Sa.int64AsType===`string`?t=Aa.getBigUint64(L).toString():Sa.int64AsType===`auto`?(t=Aa.getBigUint64(L),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Aa.getBigUint64(L),L+=8,t;case 208:return Aa.getInt8(L++);case 209:return t=Aa.getInt16(L),L+=2,t;case 210:return t=Aa.getInt32(L),L+=4,t;case 211:return Sa.int64AsType===`number`?(t=Aa.getInt32(L)*4294967296,t+=Aa.getUint32(L+4)):Sa.int64AsType===`string`?t=Aa.getBigInt64(L).toString():Sa.int64AsType===`auto`?(t=Aa.getBigInt64(L),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=Aa.getBigInt64(L),L+=8,t;case 212:if(t=I[L++],t==114)return ao(I[L++]&63);{let e=ka[t];if(e)return e.read?(L++,e.read(Ha())):e.noBuffer?(L++,e()):e(I.subarray(L,++L));throw Error(`Unknown extension `+t)}case 213:return t=I[L],t==114?(L++,ao(I[L++]&63,I[L++])):to(2);case 214:return to(4);case 215:return to(8);case 216:return to(16);case 217:return t=I[L++],Ea>=L?wa.slice(L-Ta,(L+=t)-Ta):bie(t);case 218:return t=Aa.getUint16(L),L+=2,Ea>=L?wa.slice(L-Ta,(L+=t)-Ta):xie(t);case 219:return t=Aa.getUint32(L),L+=4,Ea>=L?wa.slice(L-Ta,(L+=t)-Ta):Sie(t);case 220:return t=Aa.getUint16(L),L+=2,Ja(t);case 221:return t=Aa.getUint32(L),L+=4,Ja(t);case 222:return t=Aa.getUint16(L),L+=2,Ya(t);case 223:return t=Aa.getUint32(L),L+=4,Ya(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 yie=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ua(e,t){function n(){if(n.count++>Fa){let n=e.read=Function(`r`,`return function(){return `+(Sa.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:yie.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(Ha);return e.highByte===0&&(e.read=Wa(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]=Ha()}return Sa.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?Wa(t,n):n}var Wa=(e,t)=>function(){let n=I[L++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=Ca[r]||Ga()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=Ua(i,e),i.read()};function Ga(){let e=co(()=>(I=null,Sa.getStructures()));return Ca=Sa._mergeStructures(e,Ca)}var Ka=qa,bie=qa,xie=qa,Sie=qa;function qa(e){let t;if(e<16&&(t=Qa(e)))return t;if(e>64&&_a)return _a.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+=Xa.apply(String,r),r.length=0)}return r.length>0&&(t+=Xa.apply(String,r)),t}function Ja(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=Ha();return Sa.freezeData?Object.freeze(t):t}function Ya(e){if(Sa.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=ro();e===`__proto__`&&(e=`__proto_`),t[e]=Ha()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(Ha(),Ha());return t}}var Xa=String.fromCharCode;function Za(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 Xa.apply(String,n)}function Qa(e){if(e<4)if(e<2){if(e===0)return``;{let e=I[L++];if((e&128)>1){--L;return}return Xa(e)}}else{let t=I[L++],n=I[L++];if((t&128)>0||(n&128)>0){L-=2;return}if(e<3)return Xa(t,n);let r=I[L++];if((r&128)>0){L-=3;return}return Xa(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 Xa(t,n,r,i);{let e=I[L++];if((e&128)>0){L-=5;return}return Xa(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 Xa(t,n,r,i,a,o);let s=I[L++];if((s&128)>0){L-=7;return}return Xa(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 Xa(t,n,r,i,a,o,s,c);{let e=I[L++];if((e&128)>0){L-=9;return}return Xa(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 Xa(t,n,r,i,a,o,s,c,l,u);let d=I[L++];if((d&128)>0){L-=11;return}return Xa(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 Xa(t,n,r,i,a,o,s,c,l,u,d,f);{let e=I[L++];if((e&128)>0){L-=13;return}return Xa(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 Xa(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 Xa(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function $a(){let e=I[L++],t;if(e<192)t=e-160;else switch(e){case 217:t=I[L++];break;case 218:t=Aa.getUint16(L),L+=2;break;case 219:t=Aa.getUint32(L),L+=4;break;default:throw Error(`Expected string`)}return qa(t)}function eo(e){return Sa.copyBuffers?Uint8Array.prototype.slice.call(I,L,L+=e):I.subarray(L,L+=e)}function to(e){let t=I[L++];if(ka[t]){let n;return ka[t](I.subarray(L,n=L+=e),e=>{L=e;try{return Ha()}finally{L=n}})}throw Error(`Unknown extension type `+t)}var no=Array(4096);function ro(){let e=I[L++];if(e>=160&&e<192){if(e-=160,Ea>=L)return wa.slice(L-Ta,(L+=e)-Ta);if(!(Ea==0&&va<180))return Ka(e)}else return L--,io(Ha());let t=(e<<5^(e>1?Aa.getUint16(L):e>0?I[L]:0))&4095,n=no[t],r=L,i=L+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=Aa.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=[],no[t]=n,n.bytes=e;r<i;)a=Aa.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=I[r++],n.push(a);let s=e<16?Qa(e):Za(e);return s==null?n.string=Ka(e):n.string=s}function io(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(Sa.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 ao=(e,t)=>{let n=Ha().map(io),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=Ca[e];return i&&(i.isShared||Pa)&&((Ca.restoreStructures||(Ca.restoreStructures=[]))[e]=i),Ca[e]=n,n.read=Ua(n,r),n.read()};ka[0]=()=>{},ka[0].noBuffer=!0,ka[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 oo={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};ka[101]=()=>{let e=Ha();if(!oo[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return oo[e[0]](e[1],{cause:e[2]})},ka[105]=e=>{if(Sa.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Aa.getUint32(L-4);Oa||=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};Oa.set(t,i);let a=Ha();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},ka[112]=e=>{if(Sa.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=Aa.getUint32(L-4),n=Oa.get(t);return n.used=!0,n.target},ka[115]=()=>new Set(Ha());var so=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),Cie=typeof globalThis==`object`?globalThis:window;ka[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=so[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 Cie[r](n)},ka[120]=()=>{let e=Ha();return new RegExp(e[0],e[1])};var wie=[];ka[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=L;return L+=t-e.length,Da=wie,Da=[$a(),$a()],Da.position0=0,Da.position1=0,Da.postBundlePosition=L,L=n,Ha()},ka[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 co(e){Ra&&Ra();let t=va,n=L,r=xa,i=Ta,a=Ea,o=wa,s=ba,c=Oa,l=Da,u=new Uint8Array(I.slice(0,va)),d=Ca,f=Ca.slice(0,Ca.length),p=Sa,m=Pa,h=e();return va=t,L=n,xa=r,Ta=i,Ea=a,wa=o,ba=s,Oa=c,Da=l,I=u,Pa=m,Ca=d,Ca.splice(0,Ca.length,...f),Sa=p,Aa=new DataView(I.buffer,I.byteOffset,I.byteLength),h}function lo(){I=null,Oa=null,Ca=null}var uo=Array(147);for(let e=0;e<256;e++)uo[e]=+(`1e`+Math.floor(45.15-e*.30103));var fo=new za({useRecords:!1});fo.unpack,fo.unpackMultiple,fo.unpack;var Tie={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var po;try{po=new TextEncoder}catch{}var mo,ho,go=typeof Buffer<`u`,_o=go?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,vo=go?Buffer:Uint8Array,yo=go?4294967296:2144337920,R,bo,xo,z=0,So,Co=null,Eie,Die=21760,Oie=/[\u0080-\uFFFF]/,wo=Symbol(`record-id`),kie=class extends za{constructor(e){super(e),this.offset=0;let t,n,r,i,a=vo.prototype.utf8Write?function(e,t){return R.utf8Write(e,t,R.byteLength-t)}:po&&po.encodeInto?function(e,t){return po.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 _o(8192),xo=R.dataView||(R.dataView=new DataView(R.buffer,0,8192)),z=0),So=R.length-10,So-z<2048?(R=new _o(R.length),xo=R.dataView||(R.dataView=new DataView(R.buffer,0,R.length)),So=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`?(Co=[],Co.size=1/0):Co=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[wo]=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)&&!ho.some(t=>e instanceof t)?D(e.toJSON?e.toJSON():e):y(e):y(e);let n=Co;if(Co&&Oo(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&&(xo.setUint32(n.position+t,xo.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&xo.setUint32(n.position+t,xo.getUint32(n.position+t)+a),z+=e.length*6,z>So&&w(z),o.offset=z;let s=Aie(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=jie(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][wo]=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,xo.setUint32(z,t),z+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{z>So&&(R=w(z));var n=typeof e,r;if(n===`string`){let n=e.length;if(Co&&n>=4&&n<4096){if((Co.size+=n)>Die){let e,n=(Co[0]?Co[0].length*3+Co[1].length:0)+10;z+n>So&&(R=w(z+n));let r;Co.position?(r=Co,R[z]=200,z+=3,R[z++]=98,e=z-t,z+=4,Oo(t,y,0),xo.setUint16(e+t-3,z-t-e)):(R[z++]=214,R[z++]=98,e=z-t,z+=4),Co=[``,``],Co.previous=r,Co.size=0,Co.position=e}let r=Oie.test(e);Co[+!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>So&&(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,xo.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,xo.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,xo.setInt16(z,e),z+=2):(R[z++]=210,xo.setInt32(z,e),z+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){R[z++]=202,xo.setFloat32(z,e);let n;if(t<4||(n=e*uo[(R[z]&127)<<1|R[z+1]>>7])>>0===n){z+=4;return}z--}R[z++]=203,xo.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,xo.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,xo.setUint32(z,r),z+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=mo.length;t<n;t++){let n=ho[t];if(e instanceof n){let n=mo[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=xo,a=z;R=null;let o;try{o=n.pack.call(this,e,e=>(R=r,r=null,z+=e,z>So&&w(z),{target:R,targetView:xo,position:z-e}),y)}finally{r&&(R=r,xo=i,z=a,So=R.length-10)}o&&(o.length+z>So&&w(o.length+z),z=Do(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,xo.setBigInt64(z,e);else if(e<0x10000000000000000&&e>0)R[z++]=207,xo.setBigUint64(z,e);else if(this.largeBigIntToFloat)R[z++]=203,xo.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),go)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>So&&w(n.length+z),z=Do(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,xo.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[wo];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[wo];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>yo)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(yo,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 _o(n);return xo=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,So=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[wo]=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()[wo]=0),m.push(e),y(t))},E=(e,n,r,i)=>{let a=R,o=z,s=So,c=t;R=bo,z=0,t=0,R||(bo=R=new _o(8192)),So=R.length-10,T(e,n,i),bo=R;let l=z;if(R=a,z=o,So=s,t=c,l>1){let e=z+l-1;e>So&&w(e);let n=r+t;R.copyWithin(n+l,n+1,z),R.set(bo.slice(0,l),n),z=e}else R[r+t]=bo[0]},D=e=>{let i=Eie(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:xo,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)),xo=R.dataView,z=0}set position(e){z=e}get position(){return z}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};ho=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Ma],mo=[{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?To(e,16,t):Eo(go?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==vo&&this.moreTypes?To(e,so.indexOf(n.name),t):Eo(e,t)}},{pack(e,t){this.moreTypes?To(e,17,t):Eo(go?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function To(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 Eo(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 Do(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 Aie(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 Oo(e,t,n){if(Co.length>0){xo.setUint32(Co.position+e,z+n-Co.position-e),Co.stringsPosition=z-e;let r=Co;Co=null,t(r[0]),t(r[1])}}function jie(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var ko=new kie({useRecords:!1});ko.pack,ko.pack;var{NEVER:Mie,ALWAYS:Nie,DECIMAL_ROUND:Pie,DECIMAL_FIT:Fie}=Tie,Ao=class extends yt()(`effect/rpc/RpcSerialization`){},Iie=Ao.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)}}}),jo=he(Ao)(Iie),Lie=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))})}}))}),Rie=BigInt(0),zie=Xe(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>Rie++),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(Po),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(Po),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}}),Bie=0,Mo=Xe(function*(e,t){let n=Bie++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Fo,s=new Map,{client:l,write:u}=yield*zie(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?fie():void 0,l=Ce(),u={rpc:r,context:a?ate(l.context,da,a):l.context,schemas:Vie(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=ga(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:ga(e.requestId),values:t})),v(t=>u({_tag:`Exit`,clientId:0,requestId:ga(e.requestId),exit:Ae(t)})))}case`Exit`:{let t=ga(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:Gie(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}),No=new WeakMap,Vie=e=>{let t=No.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)))},No.set(e,t),t},Po=$e(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Tn}),Fo=class extends yt()(`effect/rpc/RpcClient/Protocol`){static make=Lie},Io=e=>Fo.make(Xe(function*(t,n){let i=yield*na,a=yield*Ao,o=yield*see(Wie),s=new Map,u=yield*i.writer,d=a.makeUnsafe(),f=yield*Uie(u(d.encode(vie))),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 ha({reason:new ma({message:`Error decoding message`,cause:e})})})}},{onOpen:m}).pipe(ee(wt(f.timeout,()=>r(new ca({reason:new aa({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))).pipe(wt(()=>r(new ca({reason:new oa({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 ha({reason:r?n.success.reason:new ma({message:`Unknown socket error`,cause:Ie(t)})}),h({_tag:`ClientProtocolError`,error:p}))}),_e(e?.retryPolicy??Hie),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}})),Hie=h(500,1.5).pipe(uee(ree(5e3))),Uie=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}}}),Wie=class extends yt()(`effect/rpc/RpcClient/ConnectionHooks`){},Gie=rr(Nn);function Lo(e){return{id:e.id??`ws:${e.label}`,label:e.label,source:e.source??`manual`,target:e.target}}function Kie(e){return e?.target.wsBaseUrl??null}function qie(e){return e?.target.httpBaseUrl??null}function Jie(e,t){return{...e,environmentId:t.environmentId,label:t.label}}function Yie(e){return e.cloudMode?`cmmd-cloud-runtime`:`local-web`}function Xie(e){let t=Yie(e);return{topology:t,controlPlane:t!==`cmmd-cloud-runtime`,executionPlane:!0,workspaceProxy:!1}}function Zie(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 Qie(e){let t=e.executionPlane;return{agents:t,browser:t,github:t,terminal:t,providerEgress:e.topology===`cmmd-control-plane`}}function $ie(e,t){return{localProjects:t.executionPlane,cloudProjects:e.cloudMode}}function Ro(e){let t=e.capabilities,n=t.runtime??Xie(t);return{repositoryIdentity:t.repositoryIdentity,pullRequests:t.pullRequests??!1,cloudMode:t.cloudMode,posthogPublicKey:t.posthogPublicKey,posthogHost:t.posthogHost,runtime:n,auth:t.auth??Zie(n),tools:t.tools??Qie(n),projects:t.projects??$ie(t,n)}}function eae(e){return e?Ro(e).projects.cloudProjects:!1}function tae(e){return e?Ro(e).runtime.workspaceProxy??!1:!1}function zo(e,t){return{environmentId:e,projectId:t}}function Bo(e,t){return{environmentId:e,threadId:t}}var Vo=`scoped:v1:`;function Ho(e){let t=`projectId`in e?e.projectId:e.threadId;return t.includes(`:`)||e.environmentId.startsWith(Vo)?`${Vo}${encodeURIComponent(e.environmentId)}:${encodeURIComponent(t)}`:`${e.environmentId}:${t}`}function Uo(e){return Ho(e)}function Wo(e){return Ho(e)}function nae(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 Go(e){if(e.startsWith(Vo))return nae(e);let t=e.lastIndexOf(`:`);return t<=0||t>=e.length-1?null:{environmentId:e.slice(0,t),localId:e.slice(t+1)}}function Ko(e){let t=Go(e);return t?{environmentId:t.environmentId,projectId:t.localId}:null}function qo(e){let t=Go(e);return t?{environmentId:t.environmentId,threadId:t.localId}:null}var rae=1e3,iae=64e3;Mo(Mn);function aae(e){return!Number.isInteger(e)||e<0||e>=10?null:Math.min(Math.round(rae*2**e),iae)}var Jo=class extends Error{code;retryable;name=`RelayProtocolFailure`;constructor(e,t,n){super(t),this.code=e,this.retryable=n}};function Yo(e){return Array.isArray(e)?e.map(Yo):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,Yo(t)])):e}function oae(e){let t=JSON.stringify(Yo(e));if(t===void 0)throw Error(`Relay payload is not JSON serializable.`);return t}var sae={requestId:`@effect/rpc/Ping`,correlationId:`@effect/rpc/Ping`,method:`@effect/rpc/Ping`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`};function cae(e){return e._tag===`Ping`?sae:null}function lae(e){if(e.policy===null||e.policy.method!==e.method)throw new Jo(`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 Jo(`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 uae(e){let t=new Set(e.registeredMethods),n=new Map;for(let r of e.policies){if(n.has(r.method))throw new Jo(`method_not_remotable`,`Relay method has duplicate dispatch policies: ${r.method}`,!1);if(!t.has(r.method))throw new Jo(`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 Jo(`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 Jo(`method_not_remotable`,`Remotely registered method has no dispatch policy: ${t}`,!1);return n}var dae=[{method:M.projectsSearchContents,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsSearchEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsListEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.serverDiscoverSourceControl,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverReportClientActivity,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.codeGraphSummary,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphNeighborhood,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphSearch,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.projectCheckoutDeletionPreview,requiredScope:`workspace.write`,deliveryClass:`read`},{method:M.projectCheckoutDeletionExecute,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.reviewGetDiffPreview,requiredScope:`diff.read`,deliveryClass:`read`},{method:M.projectsReadFile,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.cloudListRuntimes,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.filesystemBrowse,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceReadFile,requiredScope:`workspace.read`,deliveryClass:`bulk-transfer`},{method:M.workspaceBeginWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceWriteFileChunk,requiredScope:`workspace.write`,deliveryClass:`bulk-transfer`},{method:M.workspaceCommitWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceCancelWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.shellOpenInEditor,requiredScope:`shell.open`,deliveryClass:`idempotent-command`},{method:M.gitPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitRunStackedAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitListBranches,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsListRefs,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateRef,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsSwitchRef,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateBranch,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitCheckout,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitResolvePullRequest,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitPreparePullRequestThread,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.terminalOpen,requiredScope:`terminal.write`,deliveryClass:`create-command`},{method:M.terminalAttach,requiredScope:`terminal.write`,deliveryClass:`terminal-output`},{method:M.terminalWrite,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalResize,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalSignal,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClear,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalRestart,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClose,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.browserOpenSession,requiredScope:`browser.control`,deliveryClass:`create-command`},{method:M.browserListSessions,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCloseSession,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserGetSession,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCommand,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserClearBrowsingData,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAttachDisplay,requiredScope:`browser.read`,deliveryClass:`subscription`},{method:M.computerInput,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAddDisplayIceCandidate,requiredScope:`browser.read`,deliveryClass:`browser-control`},{method:M.devTunnelRegister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelUnregister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelList,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.threadDevRuntimeGet,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.threadDevRuntimeAllocatePort,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.threadDevRuntimeRelease,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.workspaceEnvironmentPreflight,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceEnsureScratch,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.serverGetConfig,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverRefreshProviders,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverStartProviderAuth,requiredScope:`provider.manage`,deliveryClass:`create-command`},{method:M.serverRepairProviderAuthRuntime,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverDisconnectProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverGetProviderAuthSession,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverCancelProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSubmitProviderAuthCode,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalCodexToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalClaudeToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverUpsertKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverRemoveKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetSettings,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverUpdateSettings,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverUpdateEnvironmentDisplayName,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetTraceDiagnostics,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverHeartbeat,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.usageGetSummary,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.pullRequestsList,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsListStats,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDetail,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsActivity,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsThreadComments,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDiffFileContents,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRunAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsUpdate,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsComment,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsUpdateComment,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSubmitReview,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsReplyToThread,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsSetThreadResolution,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSetReaction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsInvalidate,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsReviewerCandidates,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRequestReviewers,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.subscribeGitStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeVcsStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeTerminalEvents,requiredScope:`terminal.read`,deliveryClass:`terminal-output`},{method:M.subscribeTerminalMetadata,requiredScope:`terminal.read`,deliveryClass:`read`},{method:M.subscribeBrowserEvents,requiredScope:`browser.read`,deliveryClass:`browser-frame`},{method:M.subscribeServerConfig,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeServerLifecycle,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeAuthAccess,requiredScope:`provider.read`,deliveryClass:`subscription`},{method:M.subscribeWorkspaceReadiness,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:qn.dispatchCommand,requiredScope:null,deliveryClass:`idempotent-command`},{method:qn.getTurnDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.getFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.streamTurnDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.streamFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.replayEvents,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getArchivedShellSnapshot,requiredScope:`thread.read`,deliveryClass:`read`},{method:qn.subscribeShell,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.subscribeThread,requiredScope:`thread.read`,deliveryClass:`subscription`},{method: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`}],fae=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]),pae=dae.map(e=>{let t=e.deliveryClass===`idempotent-command`||e.deliveryClass===`create-command`;return{method:e.method,requiredScope:e.requiredScope,deliveryClass:e.deliveryClass,journalPersistence:t?fae.has(e.method)?`frame`:`metadata-only`:`none`}}),mae=uae({registeredMethods:[...Mn.requests.keys()],policies:pae}),Xo={"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`}},hae=new Set([`thread.approval.respond`,`thread.user-input.respond`,`thread.plan-approval.respond`]);function gae(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`||!hae.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 Jo(`action_grant_invalid`,`Relay sensitive action metadata is incomplete`,!1);return{commandType:t.type,commandId:t.commandId,targetId:n}}function Zo(e){let t=mae.get(e.method)??null,n=lae({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 Jo(`method_not_remotable`,`Relay orchestration dispatch payload has no command policy`,!1);let r=e.payload.type;if(typeof r!=`string`||!(r in Xo))throw new Jo(`method_not_remotable`,`Relay orchestration command has no dispatch policy: ${String(r)}`,!1);let i=Xo[r];if(!e.grantedScopes.includes(i.requiredScope))throw new Jo(`scope_denied`,`Relay orchestration command ${r} requires scope ${i.requiredScope}`,!1);return{requiredScope:i.requiredScope,deliveryClass:i.deliveryClass,journalPersistence:n.journalPersistence}}var Qo=class extends Error{constructor(e){let t;t=e instanceof Error?e.message:typeof e==`string`?e:``,super(t),this.name=this.constructor.name}},$o=class extends Qo{},es=class extends Qo{},ts=class extends Qo{},_ae=class extends Qo{},vae=class extends Qo{},yae=class extends Qo{},bae=class extends Qo{},xae=class extends Qo{},Sae=class extends Qo{},Cae=class extends Qo{},ns=class extends Qo{},rs=wae(globalThis,{});function wae(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 Tae(){if(rs!==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 ns(e)}}var is=class{constructor(){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async _setup(){this._api===void 0&&(this._api=await Tae())}},as={Base:0,Psk:1,Auth:2,AuthPsk:3},Eae={NotAssigned:0,DhkemP256HkdfSha256:16,DhkemP384HkdfSha384:17,DhkemP521HkdfSha512:18,DhkemSecp256k1HkdfSha256:19,DhkemX25519HkdfSha256:32,DhkemX448HkdfSha512:33,HybridkemX25519Kyber768:48,MlKem512:64,MlKem768:65,MlKem1024:66,XWing:25722},os={HkdfSha256:1,HkdfSha384:2,HkdfSha512:3,Sha3256:4,Sha3384:5,Sha3512:6,Shake128:16,Shake256:17,TurboShake128:18,TurboShake256:19},ss={Aes128Gcm:1,Aes256Gcm:2,Chacha20Poly1305:3,ExportOnly:65535},cs=new Uint8Array,ls=0n,us=1n,ds=2n,Dae=new Uint8Array([75,69,77,0,0]),fs=new Uint8Array([72,80,75,69,45,118,49]);function ps(e){return new Uint8Array(ms(e))}function ms(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 Oae=class extends is{constructor(){super(),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:os.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:cs}),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(fs,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(fs,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):ms(e);if(n.byteLength!==this.hashSize)throw new $o(`The salt length must be the same as the hashSize`);let r=ms(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=ms(e),i=await this._api.importKey(`raw`,r,this.algHash,!1,[`sign`]),a=new ArrayBuffer(n),o=new Uint8Array(a),s=cs,c=ps(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=ms(t),a=await this._api.importKey(`raw`,i,`HKDF`,!1,[`deriveBits`]);return await this._api.deriveBits({name:`HKDF`,hash:this.algHash.hash,salt:ms(e),info:ms(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===cs)throw Error(`Not initialized. Call init()`)}},kae=class extends Oae{constructor(){super(...arguments),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:os.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}})}},hs=e=>typeof e==`object`&&!!e&&typeof e.privateKey==`object`&&typeof e.publicKey==`object`;function gs(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 _s(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function vs(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 Aae(){if(rs!==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 jae(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 Mae=new Uint8Array([101,97,101,95,112,114,107]),Nae=new Uint8Array([115,104,97,114,101,100,95,115,101,99,114,101,116]);function Pae(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 Fae=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(Dae);r.set(gs(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(ms(e))}async serializePrivateKey(e){return await this._prim.serializePrivateKey(e)}async deserializePrivateKey(e){return await this._prim.deserializePrivateKey(ms(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=ms(e);if(t.byteLength>8192)throw new $o(`Too long ikm`);return await this._prim.deriveKeyPair(t)}async encap(e){let t;t=e.ekm===void 0?await this.generateKeyPair():hs(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=hs(e.senderKey)?e.senderKey.privateKey:e.senderKey;i=_s(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=_s(new Uint8Array(n),new Uint8Array(r));else{let t=hs(e.senderKey)?e.senderKey.publicKey:await this._prim.derivePublicKey(e.senderKey),i=await this._prim.serializePublicKey(t);a=Pae(new Uint8Array(n),new Uint8Array(r),new Uint8Array(i))}return{enc:n,sharedSecret:await this._generateSharedSecret(i,a)}}catch(e){throw new _ae(e)}}async decap(e){let t=ms(e.enc),n=await this._prim.deserializePublicKey(t),r=hs(e.recipientKey)?e.recipientKey.privateKey:e.recipientKey,i=hs(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)):_s(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=_s(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 vae(e)}}async _generateSharedSecret(e,t){let n=this._kdf.buildLabeledIkm(Mae,e),r=this._kdf.buildLabeledInfo(Nae,t,this.secretSize);return await this._kdf.extractAndExpand(cs,n,r,this.secretSize)}},ys=[`deriveBits`],Iae=new Uint8Array([100,107,112,95,112,114,107]),Lae=new Uint8Array([115,107]),bs=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=[])}},Rae=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 es(e))}}async deserializePublicKey(e){try{return await this._importRawKey(ms(e),!0)}catch(e){throw new ts(e)}}serializePrivateKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new es(e))}}async deserializePrivateKey(e){try{return await this._importRawKey(ms(e),!1)}catch(e){throw new ts(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 ts(e)}}async generateKeyPair(){try{let e=await this._curve.utils.randomSecretKey(),t=new bs(this._algName,e,`private`,ys);return{publicKey:await this.derivePublicKey(t),privateKey:t}}catch(e){throw new ns(e)}}async deriveKeyPair(e){try{let t=ms(e),n=await this._hkdf.labeledExtract(cs.buffer,Iae,new Uint8Array(t)),r=await this._hkdf.labeledExpand(n,Lae,cs,this._nSk),i=new bs(this._algName,new Uint8Array(r),`private`,ys);return{privateKey:i,publicKey:await this.derivePublicKey(i)}}catch(e){throw new Cae(e)}}derivePublicKey(e){try{let t=this._curve.getPublicKey(e.key);return Promise.resolve(new bs(this._algName,t,`public`))}catch(e){return Promise.reject(new ts(e))}}dh(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e.key,t.key).buffer)}catch(e){return Promise.reject(new es(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 bs(this._algName,new Uint8Array(e),t?`public`:`private`,t?[]:ys))})}_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 bs(this._algName,vs(e.x),`public`))):(typeof e.d!=`string`&&r(Error("Invalid key: `d` not found")),n(new bs(this._algName,vs(e.d),`private`,ys)))})}};function zae(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function xs(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >0, got ${e}`)}}function Ss(e,t,n=``){let r=zae(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 Cs(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 ws(e,t){Ss(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function Bae(e){if(typeof e==`bigint`){if(!Fs(e))throw Error(`positive bigint expected, got `+e)}else xs(e);return e}function Ts(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Es(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var Vae=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ds(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Os(e,t){return e<<32-t|e>>>t}var ks=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Hae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Uae=[0n,1n,2n,3n,4n,5n,6n,7n,8n,9n,10n,11n,12n,13n,14n,15n];function Wae(e){if(Ss(e),ks)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Hae[e[n]];return t}var As={_0:48,_9:57,A:65,F:70,a:97,f:102};function js(e){if(e>=As._0&&e<=As._9)return e-As._0;if(e>=As.A&&e<=As.F)return e-(As.A-10);if(e>=As.a&&e<=As.f)return e-(As.a-10)}function Gae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(ks)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=js(e.charCodeAt(i)),a=js(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 Kae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=ls;for(let n=0;n<e.length;n++){let r=js(e.charCodeAt(n));if(r===void 0)throw Error(`hex string expected, got non-hex character "`+e[n]+`" at index `+n);t=t<<4n|Uae[r]}return t}function Ms(e){xs(e,`numberToBigint`);let t=e,n=ls,r=1n;for(;t>0;)t%2==1&&(n+=r),t=Math.floor(t/2),r<<=1n;return n}function Ns(e){return Kae(Wae(Ps(Ss(e)).reverse()))}function qae(e,t){xs(t),e=Bae(e);let n=Gae(e.toString(16).padStart(t*2,`0`));if(n.length!==t)throw Error(`number too large`);return n}function Jae(e,t){return qae(e,t).reverse()}function Ps(e){return Uint8Array.from(e)}function Fs(e){return typeof e==`bigint`&&0n<=e}function Yae(e,t,n){return Fs(e)&&Fs(t)&&Fs(n)&&t<=e&&e<n}function Is(e,t,n,r){if(!Yae(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Xae(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 Zae(e=32){let t=await Aae(),n=new Uint8Array(e);return t.getRandomValues(n),n}function Qae(e){return{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}}function $ae(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash must wrapped by utils.createHasher`);xs(e.outputLen),xs(e.blockLen)}function eoe(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 Ls=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}),$ae(e),Ss(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),Es(r)}update(e){return Cs(this),this.iHash.update(e),this}digestInto(e){Cs(this),Ss(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()}},Rs=(e,t,n)=>new Ls(e,t).update(n).digest();Rs.create=(e,t)=>new Ls(e,t);function toe(e,t,n){return e&t^~e&n}function noe(e,t,n){return e&t^e&n^t&n}var roe=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=Ds(this.buffer)}update(e){Cs(this),Ss(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=Ds(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){Cs(this),ws(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Es(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,Ms(this.length*8),i),this.process(n,0);let o=Ds(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()}},zs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ioe=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]),Bs=new Uint32Array(64),aoe=class extends roe{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)Bs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Bs[e-15],n=Bs[e-2],r=Os(t,7)^Os(t,18)^t>>>3,i=Os(n,17)^Os(n,19)^n>>>10;Bs[e]=i+Bs[e-7]+r+Bs[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=Os(o,6)^Os(o,11)^Os(o,25),u=l+t+toe(o,s,c)+ioe[e]+Bs[e]|0,d=(Os(n,2)^Os(n,13)^Os(n,22))+noe(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(){Es(Bs)}destroy(){this.set(0,0,0,0,0,0,0,0),Es(this.buffer)}},ooe=class extends aoe{constructor(){super(32),Object.defineProperty(this,"A",{enumerable:!0,configurable:!0,writable:!0,value:zs[0]|0}),Object.defineProperty(this,"B",{enumerable:!0,configurable:!0,writable:!0,value:zs[1]|0}),Object.defineProperty(this,"C",{enumerable:!0,configurable:!0,writable:!0,value:zs[2]|0}),Object.defineProperty(this,"D",{enumerable:!0,configurable:!0,writable:!0,value:zs[3]|0}),Object.defineProperty(this,"E",{enumerable:!0,configurable:!0,writable:!0,value:zs[4]|0}),Object.defineProperty(this,"F",{enumerable:!0,configurable:!0,writable:!0,value:zs[5]|0}),Object.defineProperty(this,"G",{enumerable:!0,configurable:!0,writable:!0,value:zs[6]|0}),Object.defineProperty(this,"H",{enumerable:!0,configurable:!0,writable:!0,value:zs[7]|0})}},Vs=eoe(()=>new ooe,Qae(1));function Hs(e,t){let n=e%t;return n>=0n?n:t+n}function Us(e,t,n){let r=e;for(;t-->ls;)r*=r,r%=n;return r}function soe(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}function coe(e){return Xae(e,{adjustScalarBytes:`function`,powPminus2:`function`}),Object.freeze({...e})}function loe(e){let{P:t,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:a}=coe(e),o=n===`x25519`;if(!o&&n!==`x448`)throw Error(`invalid type`);let s=a||Zae,c=o?255n:448n,l=o?32:56,u=o?9n:5n,d=o?121665n:39081n,f=o?ds**254n:ds**447n,p=f+(o?8n*ds**251n-us:4n*ds**445n-us)+us,m=e=>Hs(e,t),h=g(u);function g(e){return Jae(m(e),l)}function _(e){let t=Ps(Ss(e,l,`uCoordinate`));return o&&(t[31]&=127),m(Ns(t))}function v(e){return Ns(r(Ps(Ss(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){Is(`u`,e,ls,t),Is(`scalar`,n,f,p);let r=n,a=e,o=us,s=ls,l=e,u=us,h=ls;for(let e=c-1n;e>=ls;e--){let t=r>>e&us;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)),Ss(e,T.seed,`seed`),e),D={randomSecretKey:E};return Object.freeze({keygen:soe(E,x),getSharedSecret:S,getPublicKey:x,scalarMult:y,scalarMultBase:b,utils:D,GuBytes:h.slice(),lengths:T})}function Ws(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var uoe=(e,t)=>{function n(n,...r){if(Ss(n,void 0,`key`),!Vae)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];Ss(t,e.varSizeNonce?void 0:e.nonceLength,`nonce`)}let i=e.tagLength;i&&r[1]!==void 0&&Ss(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`);Ss(t,void 0,`output`)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,Ss(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(Ss(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 doe(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function foe(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 Gs(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&&!moe(t))throw Error(`invalid output, must be aligned`);return t}function poe(e,t,n){Ws(n);let r=new Uint8Array(16),i=Ds(r);return i.setBigUint64(0,Ms(t),n),i.setBigUint64(8,Ms(e),n),r}function moe(e){return e.byteOffset%4==0}var Ks=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),hoe=Ks(`expand 16-byte k`),goe=Ks(`expand 32-byte k`),_oe=Ts(hoe),voe=Ts(goe);function qs(e,t){return e<<t|e>>>32-t}function Js(e){return e.byteOffset%4==0}var Ys=64,yoe=16,Xs=2**32-1,Zs=Uint32Array.of();function boe(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(Ys),u=Ts(l),d=Js(i)&&Js(a),f=d?Ts(i):Zs,p=d?Ts(a):Zs;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=Xs)throw Error(`arx: counter overflow`);let h=Math.min(Ys,c-m);if(d&&h===Ys){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<yoe;t++)n=e+t,p[n]=f[n]^u[t];m+=Ys;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function xoe(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=doe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return xs(i),xs(o),Ws(a),Ws(n),(t,s,c,l,u=0)=>{Ss(t,void 0,`key`),Ss(s,void 0,`nonce`),Ss(c,void 0,`data`);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),Ss(l,void 0,`output`),xs(u),u<0||u>=Xs)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=Ps(t)),h=voe;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=_oe,f.push(m);else throw Ss(t,32,`arx key`),Error(`invalid key size`);Js(s)||f.push(s=Ps(s));let g=Ts(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,Ts(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=Ts(s);return boe(e,h,g,v,c,l,u,o),Es(...f),l}}function Qs(e,t){return e[t++]&255|(e[t++]&255)<<8}var Soe=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=Ps(Ss(e,32,`key`));let t=Qs(e,0),n=Qs(e,2),r=Qs(e,4),i=Qs(e,6),a=Qs(e,8),o=Qs(e,10),s=Qs(e,12),c=Qs(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]=Qs(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=Qs(e,t+0),_=Qs(e,t+2),v=Qs(e,t+4),y=Qs(e,t+6),b=Qs(e,t+8),x=Qs(e,t+10),S=Qs(e,t+12),C=Qs(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;Es(n)}update(e){Cs(this),Ss(e),e=Ps(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(){Es(this.h,this.r,this.buffer,this.pad)}digestInto(e){Cs(this),ws(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 Coe(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 woe=Coe(e=>new Soe(e));function Toe(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=qs(A^S,16),ne=ne+A|0,E=qs(E^ne,12),S=S+E|0,A=qs(A^S,8),ne=ne+A|0,E=qs(E^ne,7),C=C+D|0,ie=qs(ie^C,16),O=O+ie|0,D=qs(D^O,12),C=C+D|0,ie=qs(ie^C,8),O=O+ie|0,D=qs(D^O,7),w=w+ee|0,ae=qs(ae^w,16),k=k+ae|0,ee=qs(ee^k,12),w=w+ee|0,ae=qs(ae^w,8),k=k+ae|0,ee=qs(ee^k,7),T=T+te|0,oe=qs(oe^T,16),re=re+oe|0,te=qs(te^re,12),T=T+te|0,oe=qs(oe^T,8),re=re+oe|0,te=qs(te^re,7),S=S+D|0,oe=qs(oe^S,16),k=k+oe|0,D=qs(D^k,12),S=S+D|0,oe=qs(oe^S,8),k=k+oe|0,D=qs(D^k,7),C=C+ee|0,A=qs(A^C,16),re=re+A|0,ee=qs(ee^re,12),C=C+ee|0,A=qs(A^C,8),re=re+A|0,ee=qs(ee^re,7),w=w+te|0,ie=qs(ie^w,16),ne=ne+ie|0,te=qs(te^ne,12),w=w+te|0,ie=qs(ie^w,8),ne=ne+ie|0,te=qs(te^ne,7),T=T+E|0,ae=qs(ae^T,16),O=O+ae|0,E=qs(E^O,12),T=T+E|0,ae=qs(ae^T,8),O=O+ae|0,E=qs(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 Eoe=xoe(Toe,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Doe=new Uint8Array(16),$s=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(Doe.subarray(n))},Ooe=new Uint8Array(32);function ec(e,t,n,r,i){i!==void 0&&Ss(i,void 0,`AAD`);let a=e(t,n,Ooe),o=poe(r.length,i?i.length:0,!0),s=woe.create(a);i&&$s(s,i),$s(s,r),s.update(o);let c=s.digest();return Es(a,o),c}var tc=uoe({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=Gs(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=ec(e,t,n,s,r);return a.set(c,o),Es(c),a},decrypt(i,a){a=Gs(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=ec(e,t,n,o,r);if(!foe(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),Es(c),a}}))(Eoe)),koe=class{constructor(e){Object.defineProperty(this,"_key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._key=new Uint8Array(ms(e))}async seal(e,t,n){return await this._seal(ms(e),ms(t),ms(n))}async open(e,t,n){return await this._open(ms(e),ms(t),ms(n))}_seal(e,t,n){return new Promise(r=>{r(tc(this._key,new Uint8Array(e),new Uint8Array(n)).encrypt(new Uint8Array(t)).buffer)})}_open(e,t,n){return new Promise(r=>{r(tc(this._key,new Uint8Array(e),new Uint8Array(n)).decrypt(new Uint8Array(t)).buffer)})}},Aoe=class{constructor(){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:ss.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 koe(e)}};function nc(){return new Promise((e,t)=>{t(new ns(`Not supported`))})}var joe=new Uint8Array([115,101,99]),rc=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 nc()}async open(e,t){return await nc()}async export(e,t){let n=ms(e);if(n.byteLength>8192)throw new $o(`Too long exporter context`);try{return await this._kdf.labeledExpand(this.exporterSecret,joe,new Uint8Array(n),t)}catch(e){throw new yae(e)}}},Moe=class extends rc{},Noe=class extends rc{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}},ic=class extends rc{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=gs(e.seq,e.baseNonce.byteLength);return jae(e.baseNonce,t).buffer}incrementSeq(e){if(e.seq>2**53-1)throw new Sae(`Message limit reached`);e.seq+=1}},Poe=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)},Foe=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,oc=class{constructor(){ac.set(this,Promise.resolve())}async lock(){let e,t=new Promise(t=>{e=t}),n=Poe(this,ac,`f`);return Foe(this,ac,t,`f`),await n,e}};ac=new WeakMap;var sc=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)},Ioe=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},cc,Loe=class extends ic{constructor(){super(...arguments),cc.set(this,void 0)}async open(e,t=cs.buffer){Ioe(this,cc,sc(this,cc,`f`)??new oc,`f`);let n=await sc(this,cc,`f`).lock(),r;try{r=await this._ctx.key.open(this.computeNonce(this._ctx),ms(e),ms(t))}catch(e){throw new xae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};cc=new WeakMap;var lc=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)},Roe=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},uc,zoe=class extends ic{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),uc.set(this,void 0),this.enc=r}async seal(e,t=cs.buffer){Roe(this,uc,lc(this,uc,`f`)??new oc,`f`);let n=await lc(this,uc,`f`).lock(),r;try{r=await this._ctx.key.seal(this.computeNonce(this._ctx),ms(e),ms(t))}catch(e){throw new bae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};uc=new WeakMap;var Boe=new Uint8Array([98,97,115,101,95,110,111,110,99,101]),Voe=new Uint8Array([101,120,112]),Hoe=new Uint8Array([105,110,102,111,95,104,97,115,104]),Uoe=new Uint8Array([107,101,121]),Woe=new Uint8Array([112,115,107,95,105,100,95,104,97,115,104]),Goe=new Uint8Array([115,101,99,114,101,116]),Koe=new Uint8Array([72,80,75,69,0,0,0,0,0,0]),qoe=class extends is{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 $o(`KemId cannot be used`);if(this._kem=e.kem,typeof e.kdf==`number`)throw new $o(`KdfId cannot be used`);if(this._kdf=e.kdf,typeof e.aead==`number`)throw new $o(`AeadId cannot be used`);this._aead=e.aead,this._suiteId=new Uint8Array(Koe),this._suiteId.set(gs(this._kem.id,2),4),this._suiteId.set(gs(this._kdf.id,2),6),this._suiteId.set(gs(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?as.Base:as.Auth:e.senderKey===void 0?as.Psk:as.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?as.Base:as.Auth:e.senderPublicKey===void 0?as.Psk:as.AuthPsk,await this._keyScheduleR(n,t,e)}async seal(e,t,n=cs.buffer){let r=await this.createSenderContext(e);return{ct:await r.seal(t,n),enc:r.enc}}async open(e,t,n=cs.buffer){return await(await this.createRecipientContext(e)).open(t,n)}async _keySchedule(e,t,n){let r=n.psk===void 0?cs:ps(n.psk.id),i=await this._kdf.labeledExtract(cs,Woe,r),a=n.info===void 0?cs:ps(n.info),o=await this._kdf.labeledExtract(cs,Hoe,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?cs:ps(n.psk.key),l=this._kdf.buildLabeledIkm(Goe,c),u=this._kdf.buildLabeledInfo(Voe,s,this._kdf.hashSize),d=await this._kdf.extractAndExpand(t,l,u,this._kdf.hashSize);if(this._aead.id===ss.ExportOnly)return{aead:this._aead,exporterSecret:d};let f=this._kdf.buildLabeledInfo(Uoe,s,this._aead.keySize),p=await this._kdf.extractAndExpand(t,l,f,this._aead.keySize),m=this._kdf.buildLabeledInfo(Boe,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 Noe(this._api,this._kdf,i.exporterSecret,n):new zoe(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 Moe(this._api,this._kdf,r.exporterSecret):new Loe(this._api,this._kdf,r)}_validateInputLength(e){if(e.info!==void 0&&e.info.byteLength>268435456)throw new $o(`Too long info`);if(e.psk!==void 0){if(e.psk.key.byteLength<32)throw new $o(`PSK must have at least 32 bytes`);if(e.psk.key.byteLength>8192)throw new $o(`Too long psk.key`);if(e.psk.id.byteLength>8192)throw new $o(`Too long psk.id`)}}},Joe=class extends qoe{},Yoe=1n,dc=2n,Xoe=3n,Zoe=5n,fc=57896044618658097711785492504343953926634992332820282019728792003956564819949n;function Qoe(e){let t=10n,n=80n,r=fc,i=e*e%r*e%r,a=Us(Us(i,dc,r)*i%r,Yoe,r)*e%r,o=Us(a,Zoe,r)*a%r,s=Us(o,t,r)*o%r,c=Us(s,20n,r)*s%r,l=Us(c,40n,r)*c%r;return{pow_p_5_8:Us(Us(Us(Us(l,n,r)*l%r,n,r)*l%r,t,r)*o%r,dc,r)*e%r,b2:i}}function $oe(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ese=(()=>{let e=fc;return loe({P:e,type:`x25519`,powPminus2:t=>{let{pow_p_5_8:n,b2:r}=Qoe(t);return Hs(Us(n,Xoe,e)*r,e)},adjustScalarBytes:$oe})})(),tse=class extends Rae{constructor(e){super(`X25519`,32,ese,e)}derive(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e,t))}catch(e){return Promise.reject(new es(e))}}},pc=`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`,nse=2**31,rse=65536,ise=16,mc=32,hc=(1n<<255n)-19n,gc=new TextEncoder,_c=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function vc(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 ase=new Set([0n,1n,vc(`e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800`),vc(`5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157`),hc-1n]),ose=new Uint8Array,yc=class extends kae{async extract(e,t){return ms(Rs(Vs,e.byteLength===0?new Uint8Array(this.hashSize):ps(e),ps(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=ps(e),i=ps(t),a=new Uint8Array(n),o=ose;for(let e=1,t=0;t<a.byteLength;e+=1){let n=Cc([o,i,Uint8Array.of(e)]);o=new Uint8Array(Rs(Vs,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 ms(a)}async extractAndExpand(e,t,n,r){return this.expand(await this.extract(e,t),n,r)}},bc=new Joe({kem:new class extends Fae{secretSize=32;encSize=32;publicKeySize=32;privateKeySize=32;constructor(e){super(Eae.DhkemX25519HkdfSha256,new tse(e),e)}}(new yc),kdf:new yc,aead:new Aoe}),xc=class extends Error{code;name=`RelayPayloadChannelFailure`;constructor(e,t){super(t),this.code=e}};function Sc(e){return new Uint8Array(e.slice(0))}function sse(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function Cc(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 wc(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw new xc(`channel_ticket_binding_invalid`,`Invalid uint32 value.`);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function Tc(e){if(!Number.isSafeInteger(e)||e<0)throw new xc(`channel_ticket_binding_invalid`,`Invalid uint64 value.`);let t=new Uint8Array(8);return new DataView(t.buffer).setBigUint64(0,BigInt(e),!1),t}function cse(e){return Cc([wc(e.byteLength),e])}function Ec(e){return Uint8Array.of(e===`control-to-runtime`?0:1)}function lse(e){return e===`handshake`?Uint8Array.of(0):e===`application`?Uint8Array.of(1):Uint8Array.of(2)}function Dc(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+=_c[o>>>18&63],t+=_c[o>>>12&63],n+1<e.byteLength&&(t+=_c[o>>>6&63]),n+2<e.byteLength&&(t+=_c[o&63])}return t}function Oc(e){if(!/^[A-Za-z0-9_-]*$/.test(e)||e.length%4==1)throw new xc(`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=_c.indexOf(a);n=n<<6|e,r+=6,r>=8&&(r-=8,t[i]=n>>>r&255,i+=1)}if(Dc(t)!==e)throw new xc(`channel_authentication_failed`,`Encrypted relay frame has a non-canonical base64url encoding.`);return t}function use(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 ase.has(n%hc)}var dse={async sha256(e){if(globalThis.crypto?.subtle===void 0)throw new xc(`channel_authentication_failed`,`SHA-256 is unavailable in this runtime.`);return Sc(await globalThis.crypto.subtle.digest(`SHA-256`,sse(e)))}},kc={randomBytes(e){if(globalThis.crypto?.getRandomValues===void 0)throw new xc(`endpoint_key_invalid`,`A cryptographically secure random source is unavailable.`);return globalThis.crypto.getRandomValues(new Uint8Array(e))}};function Ac(e,t){let n=gc.encode(e).byteLength;if(n===0||n>256)throw new xc(`channel_ticket_binding_invalid`,`${t} must contain between 1 and 256 UTF-8 bytes.`)}function fse(e){let t=gc.encode(e).byteLength;if(t===0||t>65536)throw new xc(`channel_ticket_binding_invalid`,`Control ticket must contain between 1 and ${rse} UTF-8 bytes.`)}async function jc(e,t=dse){fse(e.exactCompactTicket),Ac(e.channelId,`Channel ID`),Ac(e.runtimeId,`Runtime ID`),Tc(e.connectionEpoch);let n=await t.sha256(gc.encode(e.exactCompactTicket));if(n.byteLength!==32)throw new xc(`channel_ticket_binding_invalid`,`The control ticket digest must be 32 bytes.`);return{...e,ticketDigest:new Uint8Array(n)}}function pse(e){return Dc(e.ticketDigest)}async function mse(e=kc){let t=new Uint8Array(await e.randomBytes(mc));if(t.byteLength!==mc)throw new xc(`endpoint_key_invalid`,`The endpoint random source must return ${mc} bytes.`);try{return Dc(t)}finally{t.fill(0)}}function Mc(e){return Cc([gc.encode(`forge-relay-v4`),Uint8Array.of(0),e.ticketDigest,Ec(e.direction)])}function Nc(e){return Cc([gc.encode(`forge-relay`),wc(4),e.binding.ticketDigest,gc.encode(e.binding.channelId),Ec(e.binding.direction),lse(e.frameClass),Tc(e.sequence),gc.encode(e.binding.runtimeId),Tc(e.binding.connectionEpoch),wc(e.ciphertextLength)].map(cse))}async function hse(e=kc){let t=new Uint8Array(await e.randomBytes(mc));if(t.byteLength!==mc)throw new xc(`endpoint_key_invalid`,`The endpoint random source must return ${mc} bytes.`);try{return await bc.kem.deriveKeyPair(t)}catch(e){throw new xc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint key generation failed.`)}finally{t.fill(0)}}async function Pc(e){try{return Dc(Sc(await bc.kem.serializePublicKey(e)))}catch(e){throw new xc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key serialization failed.`)}}function gse(e,t){if(!/^[A-Za-z0-9_-]{43}$/u.test(t))throw new xc(`endpoint_key_invalid`,`The endpoint key ID requires a canonical X25519 public key.`);return`${e}:${t}`}async function _se(e){try{let t=Oc(e);if(t.byteLength!==mc)throw Error(`Invalid endpoint key length.`);if(use(t))throw new xc(`endpoint_key_invalid`,`Low-order X25519 endpoint public keys are not allowed.`);return await bc.kem.deserializePublicKey(t)}catch(e){throw e instanceof xc?e:new xc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key deserialization failed.`)}}var Fc=class{tail=Promise.resolve();run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),t}},Ic=class{startedAt=Date.now();records=0;bytes=0;assertAvailable(e){if(this.records>=nse||this.bytes+e>1073741824||Date.now()-this.startedAt>=18e5)throw new xc(`channel_limit_reached`,`The encrypted relay channel must be renewed before another record is sent.`)}commit(e){this.records+=1,this.bytes+=e}};function vse(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 xc(`channel_ticket_binding_invalid`,`Encrypted relay frame does not match the CMMD-ticket-bound channel.`)}var yse=class{binding;context;encapsulatedKey;queue=new Fc;budget=new Ic;sequence=0;constructor(e,t){this.binding=e,this.context=t,this.encapsulatedKey=Dc(Sc(t.enc))}seal(e){return this.queue.run(async()=>{if(e.plaintext.byteLength>16777216)throw new xc(`channel_limit_reached`,`Encrypted relay plaintext exceeds the per-record byte limit.`);let t=e.plaintext.byteLength+ise;this.budget.assertAvailable(t);let n=this.sequence,r=Nc({binding:this.binding,frameClass:e.frameClass,sequence:n,ciphertextLength:t}),i;try{i=Sc(await this.context.seal(e.plaintext,r))}catch(e){throw new xc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload encryption failed.`)}if(i.byteLength!==t)throw new xc(`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:Dc(i)}})}},bse=class{binding;context;queue=new Fc;budget=new Ic;sequence=0;constructor(e,t){this.binding=e,this.context=t}open(e){return this.queue.run(async()=>{if(vse(e,this.binding),!Number.isSafeInteger(e.sequence)||e.sequence!==this.sequence)throw new xc(`channel_sequence_invalid`,`Expected encrypted relay sequence ${this.sequence}, received ${String(e.sequence)}.`);let t=Oc(e.ciphertext);this.budget.assertAvailable(t.byteLength);let n=Nc({binding:this.binding,frameClass:e.frameClass,sequence:e.sequence,ciphertextLength:t.byteLength}),r;try{r=Sc(await this.context.open(t,n))}catch(e){throw new xc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload authentication failed.`)}if(r.byteLength>16777216)throw new xc(`channel_limit_reached`,`Decrypted relay plaintext exceeds the per-record byte limit.`);return this.sequence+=1,this.budget.commit(t.byteLength),r})}};async function xse(e){let t=null;try{if(t=new Uint8Array(await(e.randomSource??kc).randomBytes(mc)),t.byteLength!==mc)throw Error(`The endpoint random source must return ${mc} bytes.`);let n=await bc.createSenderContext({recipientPublicKey:e.recipientPublicKey,senderKey:e.senderKey,info:Mc(e.binding),ekm:t});return new yse(e.binding,n)}catch(e){throw new xc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload sender setup failed.`)}finally{t?.fill(0)}}async function Sse(e){try{let t=await bc.createRecipientContext({recipientKey:e.recipientKey,senderPublicKey:e.senderPublicKey,enc:Oc(e.encapsulatedKey),info:Mc(e.binding)});return new bse(e.binding,t)}catch(e){throw e instanceof xc?e:new xc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload recipient setup failed.`)}}var Cse=128,wse=2097152,Tse=864e5,Lc=class extends Error{constructor(e){super(e),this.name=`RelayControlJournalError`}};function Rc(e){return typeof e==`string`&&e.length>0}function zc(e){return Rc(e)&&Number.isFinite(Date.parse(e))}function Ese(e){return e===`pending`||e===`retrying`||e===`outcome-unknown`||e===`failed`}function Dse(e){return Rc(e.transportRequestId)&&Rc(e.runtimeId)&&Rc(e.actorSessionId)&&Rc(e.durableRequestId)&&Rc(e.method)}function Ose(e){return Number.isSafeInteger(e.sequence)&&Number(e.sequence)>0&&Number.isSafeInteger(e.attemptCount)&&Number(e.attemptCount)>=0}function kse(e){return e.persistence!==`frame`&&e.persistence!==`metadata-only`||e.frame!==null&&!Rc(e.frame)?!1:e.persistence!==`metadata-only`||e.frame===null}function Ase(e){return!Ese(e.status)||e.errorCode!==null&&!Rc(e.errorCode)?!1:e.status===`outcome-unknown`||e.status===`failed`?e.frame===null&&Rc(e.errorCode):e.errorCode===null}function jse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return Dse(t)&&Ose(t)&&kse(t)&&Ase(t)&&zc(t.createdAt)&&zc(t.updatedAt)}function Mse(e){try{return JSON.parse(e)}catch{throw new Lc(`Forge relay control journal is corrupt.`)}}function Nse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return t.version===1&&Rc(t.controlSessionId)&&Number.isSafeInteger(t.nextSequence)&&Number(t.nextSequence)>=1&&Array.isArray(t.records)&&t.records.every(jse)}function Pse(e){let t=new Set(e.map(Bc)),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 Fse(e){let t=Mse(e);if(!Nse(t))throw new Lc(`Forge relay control journal is corrupt.`);let n=t.records,r=n.reduce((e,t)=>Math.max(e,t.sequence),0);if(!Pse(n)||t.nextSequence<=r)throw new Lc(`Forge relay control journal is corrupt.`);return{version:1,controlSessionId:t.controlSessionId,nextSequence:t.nextSequence,records:n}}function Ise(){return crypto.randomUUID()}function Bc(e){return`${e.runtimeId}\0${e.actorSessionId}\0${e.transportRequestId}`}var Vc={pending:1,retrying:2,"outcome-unknown":3,failed:4};function Lse(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)=>Vc[t.status]>Vc[e]?t.status:e,`pending`);return{state:r,count:n.filter(e=>e.status===r).length}}function Hc(e){let t=e.randomUUID??Ise,n=e.now??(()=>new Date),r=e.maxRecords??Cse,i=e.maxBytes??wse,a=e.maxReplayAgeMs??Tse;if(r<1||i<1||a<1)throw new Lc(`Forge relay control journal limits must be positive.`);let o=e.storage.read(),s=n(),c=o?Fse(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 Lc(`Forge relay control journal reached its record limit.`);let n=JSON.stringify(t);if(new TextEncoder().encode(n).byteLength>i)throw new Lc(`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=Bc(e);return{key:t,existing:c.records.find(e=>Bc(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 Lc(`Relay transport request ${t.transportRequestId} was reused with different content.`);if(e.status===`failed`||e.status===`outcome-unknown`)throw new Lc(`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 Lc(`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 Lc(`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(Bc({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 Lc(`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(Bc({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 Lc(`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(Bc(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 Rse(e=null){let t=e;return{read:()=>t,write:e=>{t=e}}}var zse=rn(dne),Bse=vn(mne),Vse=vn(ine),Hse=[`rpc.read`,`rpc.mutate`,`cursor.resume`,`terminal.stream`,`browser.stream`,`bulk.transfer`,`envelope.validation`,`payload.e2e`];function Uc(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 Wc(e,t){let n=JSON.parse(e),r=cae(n);if(r!==null)return{messageType:`request`,...r};let i=Use(n,t);if(i!==null)return i;let a=Wse(n);if(a!==null)return a;throw Error(`Forge relay protocol v2 requires a recognized Effect RPC frame.`)}function Use(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=Zo({method:e.tag,payload:e.payload,grantedScopes:t});return{messageType:`request`,requestId:e.id,correlationId:Uc(e.headers,$n.requestId)??e.id,method:e.tag,...n}}function Wse(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 Gc(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 Gse=new Set([`network`,`server`,`auth`,`permission`,`client`]),Kse=new Set([`network`,`server`]);function qse(e){return e&&typeof e==`object`?e:{}}function Jse(e){return typeof e.code==`string`&&e.code.length>0?e.code:typeof e.kind==`string`&&Gse.has(e.kind)?`RELAY_ACTION_GRANT_UNAVAILABLE`:`MALFORMED_FRAME`}function Yse(e){if(e.retryable===!0||typeof e.kind==`string`&&Kse.has(e.kind))return!0;let t=typeof e.status==`number`?e.status:null;return t===429||t!==null&&t>=500}function Kc(e){let t=qse(e);return{code:Jse(t),message:e instanceof Error?e.message:`Forge relay frame encoding failed.`,retryable:Yse(t)}}function qc(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 Xse(e){return!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`?!1:Object.values($n).includes(e[0])}function Jc(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Zse(e){if(!Array.isArray(e))return null;for(let t of e){let e=Jc(t);if(e?._tag!==`Fail`)continue;let n=Jc(e.error)?.code;if(typeof n==`string`&&n.length>0)return n}return null}function Qse(e){let t=Jc(e.exit);return t===null?`RELAY_RPC_RESPONSE_INVALID`:t._tag===`Success`?null:t._tag!==`Failure`||!Array.isArray(t.cause)?`RELAY_RPC_RESPONSE_INVALID`:Zse(t.cause)??`RELAY_RPC_FAILED`}function Yc(e){if(typeof e!=`string`)return null;try{let t=zse(JSON.parse(e));return t._tag===`Some`?t.value:null}catch{return null}}function $se(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 Xc(e,t,n){if(typeof e==`string`)try{let r=Jc(JSON.parse(e));if(r?._tag!==`Exit`||typeof r.requestId!=`string`)return;let i=Qse(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 ece(e){let t=Uc(e,$n.sequence);if(t===null)return;let n=Number(t);return Number.isSafeInteger(n)&&n>=0?n:void 0}function tce(e){return{issuedAt:Uc(e,$n.issuedAt)??new Date().toISOString(),expiresAt:Uc(e,$n.expiresAt)??new Date(Date.now()+12e4).toISOString()}}function nce(e){if(e!==2&&e!==3&&e!==4)throw new Jo(`protocol_version_mismatch`,`Unsupported Forge relay envelope version: ${e}`,!1);return e}async function rce(e){let t=gae({method:e.identity.method,payload:e.payload});if(t===null)return;let n=ice(e.context);if(e.acquire===void 0)throw new Jo(`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 ice(e){if(e.protocolVersion===3)return{protocolVersion:3};if(e.protocolVersion!==4)throw new Jo(`protocol_update_required`,`Update Forge on the target runtime before responding remotely.`,!1);return{protocolVersion:4,channelId:Zc(e.channelId),channelTicketDigest:Zc(e.channelTicketDigest),runtimeEndpointKeyId:Zc(e.runtimeEndpointKeyId),controlEndpointKeyId:Zc(e.controlEndpointKeyId)}}function Zc(e){if(typeof e==`string`&&e.length>0)return e;throw new Jo(`channel_ticket_binding_invalid`,`The encrypted Forge relay channel is missing its CMMD ticket binding.`,!1)}function ace(e){return e===void 0?{}:{sequence:e}}function Qc(e){return e===void 0?{}:{actionGrant:e}}async function oce(e){let t=Wc(e.data,e.context.scopes),n=JSON.parse(e.data),r=tce(n.headers),i=ece(n.headers),a=await e.crypto.sha256Base64Url(e.data),o=await rce({context:e.context,identity:t,payload:n.payload,payloadHash:a,...e.acquireActionGrant===void 0?{}:{acquire:e.acquireActionGrant}}),s=nce(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,...ace(i)};return s===2?{protocolVersion:2,...c}:s===3?{protocolVersion:3,...c,...Qc(o)}:{protocolVersion:4,...c,...Qc(o)}}function $c(e){return typeof e==`string`&&e.length>0}function sce(e){return[e.protocolVersion===4,$c(e.runtimeId),Number.isSafeInteger(e.connectionEpoch),Number(e.connectionEpoch)>0,e.hpkeSuite===pc,$c(e.channelId),$c(e.runtimeEndpointKeyId),$c(e.runtimeEndpointPublicKey),$c(e.controlEndpointKeyId),$c(e.controlEndpointPublicKey),$c(e.controlChannelNonce),e.controlEndpointKeyPair!==void 0].every(Boolean)}function el(e){if(!sce(e))throw new Jo(`end_to_end_encryption_required`,`Forge relay protocol v4 requires complete endpoint encryption metadata.`,!1);return e}async function cce(e){if(await Pc(e.controlEndpointKeyPair.publicKey)!==e.controlEndpointPublicKey)throw new Jo(`endpoint_key_invalid`,`The control endpoint private key does not match the CMMD route.`,!1);let t=await _se(e.runtimeEndpointPublicKey),[n,r]=await Promise.all([jc({exactCompactTicket:e.token,channelId:e.channelId,direction:`control-to-runtime`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider),jc({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 xse({binding:n,senderKey:e.controlEndpointKeyPair,recipientPublicKey:t,...e.payloadRandomSource?{randomSource:e.payloadRandomSource}:{}}),runtimePublicKey:t,recipient:null,phase:`awaiting-runtime-hello`}}function tl(e,t,n){return[e.direction===`runtime-to-control`,e.frameClass===n,e.channelId===t.channelId].every(Boolean)}function nl(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 rl(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 il(e){if(e.channel.recipient!==null){if(e.message.encapsulatedKey!==void 0)throw new Jo(`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 Jo(`channel_confirmation_failed`,`The runtime handshake omitted its endpoint encapsulation.`,!1);let t=await Sse({binding:e.channel.runtimeToControlBinding,recipientKey:e.route.controlEndpointKeyPair,senderPublicKey:e.channel.runtimePublicKey,encapsulatedKey:e.message.encapsulatedKey});return e.channel.recipient=t,t}var al=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=qc(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`,qc(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=Wc(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=Kc(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`,Gc(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 oce({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 Jo(`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 ml({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=>!Xse(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&&Xc(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=Kc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Gc(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 cce(el(this.route))),this.socket.send(JSON.stringify({type:`relay.auth`,ticket:this.route.token,protocolMinVersion:this.route.protocolVersion,protocolMaxVersion:this.route.protocolVersion,capabilities:Hse,...this.payloadChannel?{controlToRuntimeEncapsulatedKey:this.payloadChannel.sender.encapsulatedKey}:{}}))}catch(e){let t=Kc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Gc(t.code,t.message)),this.socket.close(4400,t.message)}}async handleAuthenticationMessage(e){let t=Yc(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`,Gc(t.code,t.message)),this.socket.close(4403,t.message);return}t.type===`relay.authenticated`&&await this.handleAuthenticatedMessage(t)}}async handleAuthenticatedMessage(e){let t=$se(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=el(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:pse(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=el(this.route);if(t===null||n===null||!tl(e,r,`handshake`))throw new Jo(`channel_confirmation_failed`,`The runtime sent an invalid encrypted handshake frame.`,!1);let i=await(await il({channel:t,route:r,message:e})).open(e),a=Bse(JSON.parse(new TextDecoder().decode(i))),o=t.phase===`awaiting-runtime-hello`?`runtime-hello`:`runtime-confirm`;if(!nl({confirmation:a,expectedPhase:o,route:r,context:n}))throw new Jo(`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=Yc(e);if(t?.type!==`relay.encrypted-frame`)throw new Jo(`end_to_end_encryption_required`,`The runtime sent plaintext after the encrypted channel was confirmed.`,!1);let n=this.requirePayloadChannel();if(!tl(t,el(this.route),`application`)||t.encapsulatedKey!==void 0||n.recipient===null)throw new Jo(`channel_authentication_failed`,`The runtime sent an invalid encrypted application frame.`,!1);let r=await n.recipient.open(t),i=Vse(JSON.parse(new TextDecoder().decode(r))),a=this.requireReadyContext();if(!rl({application:i,context:a,payloadHash:await this.relayCrypto.sha256Base64Url(i.payload)}))throw new Jo(`channel_authentication_failed`,`The decrypted runtime envelope does not match the active route.`,!1);Xc(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 ol(e,t,n=ll,r=Hc({storage:Rse(),randomUUID:n.randomUUID}),i={},a){return new al(e,t,n,r,i,a).asWebSocket()}var sl=Mo(pne);async function cl(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 ll={randomUUID:()=>crypto.randomUUID(),sha256Base64Url:cl},ul=`forge-relay-binding=`,dl=3e4;function fl(e){let t=new URL(String(e)).hash.slice(1);if(!t.startsWith(ul))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 pl(e){let t=e.crypto??ll,n=e.bindingTtlMs??dl,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=`${ul}${encodeURIComponent(a)}`;let s=setTimeout(()=>i.delete(a),n);return i.set(a,{route:r,expires:s}),o.toString()},constructSocket:(n,a)=>{let o=fl(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?.(),ol(r(s.route.relayWebSocketUrl,a),s.route,t,e.journal,e.lifecycle,e.acquireActionGrant)}}}async function ml(e){let t=e.issuedAt??new Date,n=e.crypto??ll;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(oae(e.payload))}}function lce(e,t){return Xte(tne,({rpc:t,request:n,next:r})=>ot(function*(){return Zo({method:t._tag,payload:n.payload,grantedScopes:e}),yield*r(n)}))}function uce(e,t=ll){return sl.pipe(Se(lce(e,t)))}function dce(e){let t=e.crypto??ll,n=pl({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(la,n.constructSocket),a=ua(r).pipe(E(i)),o=e.delayForRetry??aae,s=Lt(_(e.maxRetries??10),e=>rt(Ue(o(e)??0)));return ht(Fo,Io({retryPolicy:s,retryTransientErrors:!0})).pipe(E(De(a,jo)))}var hl=class extends Error{name=`RelayControlRouteSecurityFailure`};async function fce(e){let t=await hse(e),n=await Pc(t.publicKey);return{keyPair:t,publicKey:n,keyId:gse(`control`,n),channelNonce:await mse(e)}}function pce(e){return{hpkeSuite:pc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function mce(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 hl(`Forge could not establish a verified end-to-end encrypted runtime route.`);return{...t,runtimeId:e.runtimeId,protocolVersion:4,channelId:t.channelId,hpkeSuite:pc,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 gl=`~effect/ManagedRuntime`,_l=(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={[gl]:gl,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(vl(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(vl(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(vl(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(vl(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(vl(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(vl(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function vl(e,t){return wt(e.contextEffect,e=>Te(t,e))}function yl(e,t=Cne){return`${e}\0${t}`}function hce(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=yl(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(yl(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(yl(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 bl={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function xl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function gce(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?xl(t.keyframe):null}function _ce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?bl:t.streamGeneration>e.streamGeneration?xl(t.keyframe):null}function vce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return xl(t.keyframe);if(t.sequence<=e.observedSequence)return bl;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function yce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return bl;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?bl:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function bce(e,t){return gce(e,t)??_ce(e,t)??vce(e,t)??yce(e,t)}function xce(e,t){let n=bce(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 Sl=O(),Cl=`Forge`,Sce=`Alpha`,wl=Cl,Tl=`0.13.4`,El=Jt(`forge-app-top-bar drag-region @container/header-actions relative z-20 w-full min-w-0 shrink-0 bg-background`,`grid grid-cols-[minmax(0,1fr)_minmax(0,auto)] items-center`),Cce=`no-drag-region flex h-full min-w-0 items-center gap-1 md:gap-1.5`,Dl=`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`,wce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},Tce=`forge-app-shell flex w-full min-w-0 flex-row`,Ol=`forge-app-shell flex w-full min-w-0 flex-col`,Ece=`flex min-h-0 min-w-0 flex-1 flex-col`,Dce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function kl(e){let t=(0,Sl.c)(19),{showStageBadge:n,tone:r,variant:i}=e,a=n!==void 0&&n,o=r===void 0?`default`:r,s=(i===void 0?`default`:i)===`auth`,c=s?20:16,l=s?`h-5 w-5 shrink-0`:`h-4 w-4 shrink-0`,u;t[0]!==c||t[1]!==l?(u=(0,Nr.jsx)(`img`,{className:l,src:`/forge-mark.svg`,width:c,height:c,alt:``,"aria-hidden":`true`}),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=s?`text-[15px] sm:text-base`:`text-sm`,p=o===`on-dark`?`text-primary-foreground`:`text-foreground`,m;t[3]!==f||t[4]!==p?(m=Jt(`truncate font-semibold tracking-tight`,f,p),t[3]=f,t[4]=p,t[5]=m):m=t[5];let h;t[6]===m?h=t[7]:(h=(0,Nr.jsx)(`span`,{className:m,children:Cl}),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:Sce}),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":wl,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":wl,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function Al(e){let t=(0,Sl.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Jt(`pointer-events-none flex select-none items-center`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(kl,{}),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 Oce(){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 jl=typeof window<`u`?window.localStorage:Oce(),kce=(e,t)=>rr(Bn(e))(t),Ace=(e,t)=>Dte(Bn(e))(t),Ml=(e,t)=>{let n=jl.getItem(e);return n?kce(t,n):null},Nl=(e,t,n)=>{let r=Ace(n,t);jl.setItem(e,r)},Pl=e=>{jl.removeItem(e)},Fl=`forge:local_storage_change`;function jce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Fl,{detail:{key:e}}))}function Il(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return Ml(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?Pl(e):Nl(e,i,n),queueMicrotask(()=>jce(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=Ml(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=Ml(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(Fl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Fl,o)}},[e,t,n]),[r,a]}var Ll=`cmmd-runtime:`;function Mce(e){return`${Ll}${e}`}function Rl(e){return zl(e)!==null}function zl(e){let t=String(e);if(!t.startsWith(`cmmd-runtime:`))return null;let n=t.slice(13);return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(n)?n:null}var Bl=`forge:client-settings:v1`,Nce=`forge:saved-environment-registry:v1`,Pce=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)}),Vl=nr({version:cn(Ln),records:cn(Jn(Pce))});function Hl(){return typeof window<`u`}var Fce={uiFontSize:14,codeFontSize:15},Ice=[[`uiFontSize`,11,20],[`codeFontSize`,11,20]];function Lce(e){return e.defaultThreadRuntime===`desktop-cloud-bridge`?{...e,defaultThreadRuntime:`cloud`}:null}function Rce(e){if(typeof e.fontDefaultsVersion==`number`)return null;let t=Object.entries(Fce).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 zce(e){let t=Ice.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 Ul(e){if(!e||typeof e!=`object`)return e;let t=e,n=!1;for(let e of[Lce,Rce,zce]){let r=e(t);r!==null&&(t=r,n=!0)}return n?t:e}function Bce(){if(!Hl())return null;try{let e=window.localStorage.getItem(Bl);return e?vn(tr)(Ul(JSON.parse(e))):null}catch{return null}}function Vce(e){Hl()&&Nl(Bl,e,tr)}function Wl(){if(!Hl())return{};try{return Ml(`forge:saved-environment-registry:v1`,Vl)??{}}catch{return{}}}function Gl(e){Hl()&&Nl(Nce,e,Vl)}function Kl(){return Wl().records??[]}function Hce(e){Gl({version:1,records:e})}function Uce(){return Kl().map(e=>wn(e))}function Wce(e){let t=new Map(Kl().map(e=>[e.environmentId,e]));Hce(e.map(e=>{let n=Rl(e.environmentId)?void 0:t.get(e.environmentId)?.bearerToken;return n?{...wn(e),bearerToken:n}:wn(e)}))}function Gce(e){return Kl().find(t=>t.environmentId===e)?.bearerToken??null}function Kce(e,t){let n=Wl(),r=n.records??[],i=!1;return Gl({version:n.version??1,records:r.map(n=>n.environmentId===e?(i=!0,Object.assign(wn(n),{bearerToken:t})):n)}),i}function qce(e){let t=Wl();Gl({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?wn(t):t)})}var Jce=vn(tr);function Yce(){return typeof window>`u`?void 0:window.desktopBridge}function ql(e){let t=Yce(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function Jl(){let e=ql(`getClientSettings`);if(e){let t=await e();return t?Jce(t):null}return Bce()}async function Yl(e){let t=ql(`setClientSettings`);if(t)return t(e);Vce(e)}async function Xl(){let e=ql(`getSavedEnvironmentRegistry`);return e?e():Uce()}async function Zl(e){let t=ql(`setSavedEnvironmentRegistry`);if(t)return t(e);Wce(e)}async function Ql(e){let t=ql(`getSavedEnvironmentSecret`);return t?t(e):Gce(e)}async function $l(e,t){let n=ql(`setSavedEnvironmentSecret`);return n?n(e,t):Kce(e,t)}async function eu(e){let t=ql(`removeSavedEnvironmentSecret`);if(t)return t(e);qce(e)}var tu=`token`;function nu(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function ru(e){let t=nu(e).get(tu)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(tu)?.trim()??``;return n.length>0?n:null}function Xce(e){let t=new URL(e.toString()),n=nu(t);return n.has(tu)&&(n.delete(tu),t.hash=n.toString()),t.searchParams.delete(tu),t}function iu(e,t){let n=new URL(e.toString());return n.searchParams.delete(tu),n.hash=new URLSearchParams([[tu,t]]).toString(),n}function Zce(e,t){let n=new URL(e);return n.pathname=`/login`,iu(n,t).toString()}function Qce(e){return iu(new URL(`/login`,window.location.href),e).toString()}function $ce(e){let t=new URL(e),n=ru(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(tu,n),r.toString()}function ele(e){return{_tag:`Value`,value:e}}function tle(e,t){return{_tag:`Record`,keys:e,value:t}}function nle(e,t){return{_tag:`Array`,length:e,value:t}}$t(`SourceError`);var rle=$e(`effect/ConfigProvider`,{defaultValue:()=>ole()}),ile={...Ke,toJSON(){return{_id:`ConfigProvider`}}};function ale(e,t,n){let r=Object.create(ile);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 ole(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:`339f0da718657526651ad84cacb841446f1bb38b`,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+339f0da718657526651ad84cacb841446f1bb38b`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=sle(t);return ale(e=>rt(lle(n,t,e)))}function sle(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 cle=/^(0|[1-9][0-9]*)$/;function lle(e,t,n){let r=t[n.map(String).join(`_`)],i=ule(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:ele(r):a.every(e=>cle.test(e))?nle(Math.max(...a.map(e=>parseInt(e,10)))+1,r):tle(new Set(a),r)}function ule(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 au=`~effect/Config`,dle=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},fle={...Ke,...Cee,[au]:au,asEffect(){return wt(rle.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function ple(e){let t=Object.create(fle);return t.parse=e,t}var ou=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*ou(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*ou(e,[...t,i]));return r}}}),su=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*su(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*su(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*su(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*ou(t,n);case`Suspend`:return yield*su(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 cu(e,t){let n=Ute(e),r=Pte(n),i=Yte(n.ast),a=typeof t==`string`?[t]:t??[];return ple(e=>{let t=e.prefix?[...e.prefix,...a]:a;return su(i,e,a).pipe(tte(e=>r(e).pipe(It(e=>new Ote(t.length>0?new Fte(t,e):e)))),It(e=>new dle(e)))})}var mle=(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,lu=`10.70.0`;function uu(){return du(V),V}function du(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.70.0`,t[lu]=t[`10.70.0`]||{}}function fu(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[lu]=r[`10.70.0`]||{};return i[e]||(i[e]=t())}var pu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],hle=`Sentry Logger `,mu={};function hu(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(mu);r.forEach(e=>{let r=mu[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function gle(){vu().enabled=!0}function _le(){vu().enabled=!1}function gu(){return vu().enabled}function vle(...e){_u(`log`,...e)}function yle(...e){_u(`warn`,...e)}function ble(...e){_u(`error`,...e)}function _u(e,...t){B&&gu()&&hu(()=>{V.console[e](`${hle}[${e}]:`,...t)})}function vu(){return B?fu(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:gle,disable:_le,isEnabled:gu,log:vle,warn:yle,error:ble},yu=50,bu=/\(error: (.*)\)/,xu=/captureMessage|captureException/;function Su(...e){let t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,r=0)=>{let i=[],a=e.split(`
|
|
2
|
+
import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{$ as r,$t as i,Aa as a,An as o,Ar as s,At as c,B as l,Bn as u,Br as d,Bt as f,C as p,Ci as m,Cn as h,Di as g,Dn as _,Dt as v,Ei as y,En as b,Er as x,Et as S,F as C,Fa as w,Fi as T,Fn as E,Fr as D,Ft as ee,Gn as te,Gt as ne,Ha as O,Hn as k,Hr as re,Ht as A,Ia as ie,Ir as ae,It as oe,J as se,Jn as ce,Jt as le,K as ue,Kn as de,Kt as fe,L as pe,La as me,Ln as he,Lr as ge,Lt as _e,M as ve,Ma as ye,Mi as be,Mr as xe,Mt as Se,N as Ce,Ni as we,Nn as eee,Nt as Te,O as tee,Oa as nee,On as ree,Ot as iee,P as aee,Pa as oee,Pi as Ee,Pn as De,Pt as Oe,Qi as ke,Qn as Ae,Qt as see,R as je,Rn as Me,Rr as Ne,Rt as cee,Si as lee,Sn as uee,T as Pe,Ta as Fe,Tn as dee,Tr as Ie,Tt as Le,U as Re,Ua as fee,Un as ze,Ur as Be,Ut as pee,V as mee,Va as Ve,Vn as He,Vr as Ue,Vt as We,W as Ge,Wa as hee,Wn as gee,Wr as _ee,Wt as vee,X as yee,Xn as bee,Y as xee,Yi as Ke,Yn as qe,Yt as See,Z as Je,Zi as Cee,Zn as wee,Zt as Tee,_ as Eee,_a as Ye,_n as Dee,_r as Oee,_t as kee,an as Aee,at as Xe,bn as jee,br as Mee,bt as Ze,ca as Qe,ci as $e,cn as Nee,ct as et,di as Pee,dn as Fee,dr as Iee,dt as tt,ea as nt,ei as Lee,en as rt,er as Ree,et as it,fi as at,fr as zee,ft as ot,gi as st,gn as ct,gt as lt,hn as ut,hr as dt,ht as ft,in as pt,it as Bee,j as mt,ja as Vee,jn as ht,jr as Hee,jt as gt,ki as _t,kr as Uee,kt as vt,li as yt,ln as Wee,m as Gee,mn as bt,mr as xt,mt as St,na as Kee,ni as qee,nr as Ct,nt as wt,oa as Jee,on as Yee,or as Tt,pi as Xee,pn as Et,pt as Dt,q as Ot,qn as kt,qt as Zee,r as Qee,ri as $ee,rn as At,rr as ete,rt as tte,s as nte,si as rte,sn as ite,st as jt,ui as ate,un as Mt,ut as Nt,vn as Pt,vr as ote,vt as ste,w as Ft,wn as cte,wr as lte,wt as It,x as ute,xi as dte,xn as Lt,y as fte,yi as pte,yn as Rt,yt as mte,z as zt,zn as Bt,zt as hte}from"./Stream-mUTFnSY9.js";import{i as gte,l as Vt,n as Ht,o as Ut,s as Wt}from"./atomRegistry-C1yW8tyM.js";import{En as _te,Fn as Gt,In as vte,Q as Kt,Rn as yte,Sn as qt,Tn as Jt,_n as Yt,bn as bte,dn as Xt,gn as xte,hn as Zt,i as Ste,vn as Cte,x as wte,xn as Qt,yn as Tte}from"./CompositeItem-P9UVXCKv.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-BL-mOkT1.js";import{A as or,D as sr,E as cr,F as wne,I as lr,M as Tne,O as ur,P as Ene,S as Dne,_ as One,a as dr,b as kne,c as Ane,j as fr,k as pr,l as jne,n as mr,s as Mne,u as Nne,v as Pne,w as hr,x as Fne,y as Ine}from"./cmmdAuthRedirect-Bp1uQaQ9.js";import{t as N}from"./preload-helper-Czpn1I53.js";import{n as P,t as gr}from"./transport-CgH8pQK3.js";import{n as Lne,t as Rne}from"./workspaceReadinessAtom-D6bgTvKb.js";function zne(e){return e[e.length-1]}function Bne(e,t){return typeof e==`function`?e(t):e}var _r=Object.prototype.hasOwnProperty,Vne=Object.prototype.propertyIsEnumerable;function Hne(e){for(let t in e)if(_r.call(e,t))return!0;return!1}var Une=()=>Object.create(null),Wne=(e,t)=>vr(e,t,Une);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(!Vne.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 Gne=/[\x00-\x1f\x7f"<>`{}]/g;function Kne(e){return e.replace(Gne,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 Kne(t)}var qne=[`http:`,`https:`,`mailto:`,`tel:`];function Jne(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function Yne(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 Xne(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function Zne(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),Qne=F.createContext(void 0),$ne=yte();function ere(e,t){return e===t}function kr(e,t,n=ere){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,$ne.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?Qne: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 tre(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`}},nre={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Lr=new class{#e=nre;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 rre(e){setTimeout(e,0)}var ire=typeof window>`u`||`Deno`in globalThis;function Rr(){}function are(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 ore(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 sre(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 cre=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:cre.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 lre(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 ure(e){return e}function dre(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function fre(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 pre(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=()=>ire;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 mre=rre;function hre(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=mre,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=hre(),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 gre(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??gre,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),lre(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 _re(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=>{pre(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?fre:dre;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 vre(e,t){return t?li(e,t)!=null:!1}function yre(e,t){return!t||!e.getPreviousPageParam?!1:ui(e,t)!=null}var bre=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`?_re(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 Sre(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 xre(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 xre(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 Sre(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},Cre=({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 wre(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Tre=F.createContext(wre()),Ci=()=>F.useContext(Tre),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))}},Ere=(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()&&Ere(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 Dre(e){return e}var Ore={[Symbol.iterator](){return kre}},kre={next(){return{done:!0,value:void 0}}},Are=()=>Ore,jre=x,Mi=globalThis.Number,Mre=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)},Nre=[[`GET`,`get`],[`POST`,`post`],[`PUT`,`put`],[`DELETE`,`del`],[`PATCH`,`patch`],[`HEAD`,`head`],[`OPTIONS`,`options`],[`TRACE`,`trace`]],Ni=`~effect/http/HttpClientRequest`,Pre={[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(Pre);return o.method=e,o.url=t,o.urlParams=n,o.hash=r,o.headers=i,o.body=a,o}var Fre=Pi(`GET`,``,$te,Ee(),Tn,Zte),Fi=e=>(t,n)=>Lre(Fre,{method:e,url:t,...n??void 0}),Ire=Fi(`POST`),Lre=w(2,(e,t)=>{let n=e;return t.method&&(n=Rre(n,t.method)),t.url&&(n=Vre(n,t.url)),t.headers&&(n=Ii(n,t.headers)),t.urlParams&&(n=Hre(n,t.urlParams)),t.hash&&(n=Ure(n,t.hash)),t.body&&(n=Ri(n,t.body)),t.accept&&(n=Li(n,t.accept)),t.acceptJson&&(n=Bre(n)),n}),Rre=w(2,(e,t)=>Pi(t,e.url,e.urlParams,e.hash,e.headers,e.body)),zre=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)=>zre(e,`Accept`,t)),Bre=Li(`application/json`),Vre=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)}),Hre=w(2,(e,t)=>Pi(e.method,e.url,nne(e.urlParams,t),e.hash,e.headers,e.body)),Ure=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)}),Wre=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)),Gre=Vi(wt(Rte)),Hi=(e,t)=>{let n=Object.create(Kre);return n.preprocess=t,n.postprocess=e,n.execute=function(n){return e(t(n))},n},Kre={[zi]:zi,pipe(){return Ve(this,arguments)},...ke,toJSON(){return{_id:`effect/HttpClient`}},...Object.fromEntries(Nre.map(([e,t])=>[t,function(t,n){return this.execute(Fi(e)(t,n))}]))},qre=e=>Hi(t=>wt(t,t=>Pt(n=>{let i=Zre.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(Yre)(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,Wre(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),Jre=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}),Yre=$e(`effect/http/HttpClient/SpanNameGenerator`,{defaultValue:()=>e=>`http.client ${e.method}`}),Xre=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))}}})(),Zre=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)||Qre(e),Qre=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`,$re=e=>Ye(e,Yi),eie={[Yi]:Yi,[Symbol.iterator](){return this.state._tag===`Closed`?Are():this.state.backing[Symbol.iterator]()},...Ke,toJSON(){return{_id:`FiberMap`,state:this.state}}},tie=(e,t)=>{let n=Object.create(eie);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},nie=()=>je(pt(()=>tie(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,rie=ge(D(Iee,ae(Xi))),iie=w(e=>$re(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?!rie(r.cause):!dt(r.cause))&&kt(e.deferred,r))}))}),Zi=function(){let e;return()=>(e===void 0&&(e=f(St)),e)}(),Qi=e=>()=>Ze(Ot(),t=>{let n=We(t);return(t,r)=>{if(e.state._tag===`Closed`)return Zi();let i=n(t,r);return iie(e,i),i}}),$i=e=>de(e.deferred),ea=`~effect/socket/Socket`,ta=yt(`effect/socket/Socket`),aie=`~effect/socket/Socket/CloseEvent`,oie=e=>Ye(e,aie),na=`~effect/socket/Socket/SocketError`,sie=e=>Ye(e,na),ra=class extends Wn(`effect/socket/Socket/SocketReadError`)({_tag:fn(`SocketReadError`),cause:Nn}){message=`An error occurred during Read`},cie=class extends Wn(`effect/socket/Socket/SocketWriteError`)({_tag:fn(`SocketWriteError`),cause:Nn}){message=`An error occurred during Write`},ia=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`}},aa=class extends Wn(`effect/socket/Socket/SocketCloseError`)({_tag:fn(`SocketCloseError`),code:Ln,closeReason:yn(j)}){static filterClean(e){return function(t){return sa.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}`}},oa=ir([ra,cie,ia,aa]),sa=class extends xne(na)(`SocketError`,{_tag:fn(`SocketError`),reason:oa}){constructor(e){`cause`in e.reason?super({...e,cause:e.reason.cause}):super(e)}[na]=na;static is(e){return sie(e)}message=this.reason.message},lie=e=>!0,uie=class extends yt()(`~effect/socket/Socket/WebSocket`){},ca=class extends yt()(`@effect/platform/Socket/WebSocketConstructor`){},die=(e,t)=>ca.use(n=>fie(je((typeof e==`string`?rt(e):e).pipe(Ze(e=>n(e,t?.protocols))),e=>pt(()=>e.close(1e3))),t)),fie=(e,t)=>Pt(n=>{let i,a=mt(!1),o=n.context,s=t?.closeCodeIsError??lie,c=(n,c)=>Tee(Xe(function*(o){let l=yield*nie().pipe(te(o)),u=yield*te(e,o),d=yield*Oe(Qi(l)(),uie,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 sa({reason:f?new ra({cause:e}):new ia({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 sa({reason:new aa({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 sa({reason:new ia({kind:`Timeout`,cause:Error(`timeout waiting for "open"`)})}))}),ee($i(l)))}return f=!0,i=u,a.openUnsafe(),c?.onOpen&&(yield*c.onOpen),yield*ue($i(l),aa.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;oie(e)?t.close(e.code,e.reason):t.send(e)})));return rt(ta.of({[ea]:ea,run:u,runRaw:c,writer:d}))}),la=ie(die,ht(ta)),ua=class extends yt()(`effect/workers/Transferable/Collector`){},pie=()=>{let e=[],t=t=>{e.push(...t)},n=()=>e,r=()=>{let t=e;return e=[],t};return ua.of({addAllUnsafe:t,addAll:e=>pt(()=>t(e)),readUnsafe:n,read:pt(n),clearUnsafe:r,clear:pt(r)})},mie=`~effect/workers/WorkerError`,hie=class extends Wn(`effect/workers/WorkerError/WorkerSpawnError`)({_tag:fn(`WorkerSpawnError`),message:j,cause:yn(Nn)}){},gie=class extends Wn(`effect/workers/WorkerError/WorkerSendError`)({_tag:fn(`WorkerSendError`),message:j,cause:yn(Nn)}){},_ie=class extends Wn(`effect/workers/WorkerError/WorkerReceiveError`)({_tag:fn(`WorkerReceiveError`),message:j,cause:yn(Nn)}){},vie=class extends Wn(`effect/workers/WorkerError/WorkerUnknownError`)({_tag:fn(`WorkerUnknownError`),message:j,cause:yn(Nn)}){},da=ir([hie,gie,_ie,vie]);Wn(mie)({_tag:fn(`WorkerError`),reason:da});var fa=`~effect/rpc/RpcClientError`,pa=class extends Wn(`effect/rpc/RpcClientError/RpcClientDefect`)({_tag:fn(`RpcClientDefect`),message:j,cause:Nn}){},ma=class extends Wn(fa)({_tag:fn(`RpcClientError`),reason:ir([da,oa,fne,pa])}){[fa]=fa;get message(){return`${this.reason._tag}: ${this.reason.message}`}},ha=e=>typeof e==`bigint`?e:BigInt(e),yie={_tag:`Ping`},ga;try{ga=new TextDecoder}catch{}var I,_a,L=0,va=[],ya=va,ba=0,xa={},Sa,Ca,wa=0,Ta=0,Ea,Da,Oa=[],ka,Aa={useRecords:!1,mapsAsObjects:!0},ja=class{},Ma=new ja;Ma.name=`MessagePack 0xC1`;var Na=!1,Pa=2,Fa,Ia,La;try{Function(``)}catch{Pa=1/0}var Ra=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 so(()=>(co(),this?this.unpack(t,n):e.prototype.unpack.call(Aa,t,n)));!t.buffer&&t.constructor===ArrayBuffer&&(t=typeof Buffer<`u`?Buffer.from(t):new Uint8Array(t)),typeof n==`object`?(_a=n.end||t.length,L=n.start||0):(L=0,_a=n>-1?n:t.length),ba=0,Ta=0,Ca=null,ya=va,Ea=null,I=t;try{ka=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(xa=this,this.structures)return Sa=this.structures,za(n);(!Sa||Sa.length>0)&&(Sa=[])}else xa=Aa,(!Sa||Sa.length>0)&&(Sa=[]);return za(n)}unpackMultiple(e,t){let n,r=0;try{Na=!0;let i=e.length,a=this?this.unpack(e,i):uo.unpack(e,i);if(t){if(t(a,r,L)===!1)return;for(;L<i;)if(r=L,t(za(),r,L)===!1)return}else{for(n=[a];L<i;)r=L,n.push(za());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{Na=!1,co()}}_mergeStructures(e,t){Ia&&(e=Ia.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 za(e){try{if(!xa.trusted&&!Na){let e=Sa.sharedLength||0;e<Sa.length&&(Sa.length=e)}let t;if(xa.randomAccessStructure&&I[L]<64&&I[L]>=32&&Fa?(t=Fa(I,L,_a,xa),I=null,!(e&&e.lazy)&&t&&(t=t.toJSON()),L=_a):t=Va(),Ea&&=(L=Ea.postBundlePosition,null),Na&&(Sa.restoreStructures=null),L==_a)Sa&&Sa.restoreStructures&&Ba(),Sa=null,I=null,Da&&=null;else if(L>_a)throw Error(`Unexpected end of MessagePack data`);else if(!Na){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 Sa&&Sa.restoreStructures&&Ba(),co(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`)||L>_a)&&(e.incomplete=!0),e}}function Ba(){for(let e in Sa.restoreStructures)Sa[e]=Sa.restoreStructures[e];Sa.restoreStructures=null}function Va(){let e=I[L++];if(e<160)if(e<128){if(e<64)return e;{let t=Sa[e&63]||xa.getStructures&&Wa()[e&63];return t?(t.read||=Ha(t,e&63),t.read()):e}}else if(e<144){if(e-=128,xa.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=no();e===`__proto__`&&(e=`__proto_`),t[e]=Va()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(Va(),Va());return t}}else{e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=Va();return xa.freezeData?Object.freeze(t):t}if(e<192){let t=e-160;if(Ta>=L)return Ca.slice(L-wa,(L+=t)-wa);if(Ta==0&&_a<140){let e=t<16?Za(t):Xa(t);if(e!=null)return e}return Ga(t)}{let t;switch(e){case 192:return null;case 193:return Ea?(t=Va(),t>0?Ea[1].slice(Ea.position1,Ea.position1+=t):Ea[0].slice(Ea.position0,Ea.position0-=t)):Ma;case 194:return!1;case 195:return!0;case 196:if(t=I[L++],t===void 0)throw Error(`Unexpected end of buffer`);return $a(t);case 197:return t=ka.getUint16(L),L+=2,$a(t);case 198:return t=ka.getUint32(L),L+=4,$a(t);case 199:return eo(I[L++]);case 200:return t=ka.getUint16(L),L+=2,eo(t);case 201:return t=ka.getUint32(L),L+=4,eo(t);case 202:if(t=ka.getFloat32(L),xa.useFloat32>2){let e=lo[(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=ka.getFloat64(L),L+=8,t;case 204:return I[L++];case 205:return t=ka.getUint16(L),L+=2,t;case 206:return t=ka.getUint32(L),L+=4,t;case 207:return xa.int64AsType===`number`?(t=ka.getUint32(L)*4294967296,t+=ka.getUint32(L+4)):xa.int64AsType===`string`?t=ka.getBigUint64(L).toString():xa.int64AsType===`auto`?(t=ka.getBigUint64(L),t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=ka.getBigUint64(L),L+=8,t;case 208:return ka.getInt8(L++);case 209:return t=ka.getInt16(L),L+=2,t;case 210:return t=ka.getInt32(L),L+=4,t;case 211:return xa.int64AsType===`number`?(t=ka.getInt32(L)*4294967296,t+=ka.getUint32(L+4)):xa.int64AsType===`string`?t=ka.getBigInt64(L).toString():xa.int64AsType===`auto`?(t=ka.getBigInt64(L),t>=BigInt(-2)<<BigInt(52)&&t<=BigInt(2)<<BigInt(52)&&(t=Number(t))):t=ka.getBigInt64(L),L+=8,t;case 212:if(t=I[L++],t==114)return io(I[L++]&63);{let e=Oa[t];if(e)return e.read?(L++,e.read(Va())):e.noBuffer?(L++,e()):e(I.subarray(L,++L));throw Error(`Unknown extension `+t)}case 213:return t=I[L],t==114?(L++,io(I[L++]&63,I[L++])):eo(2);case 214:return eo(4);case 215:return eo(8);case 216:return eo(16);case 217:return t=I[L++],Ta>=L?Ca.slice(L-wa,(L+=t)-wa):xie(t);case 218:return t=ka.getUint16(L),L+=2,Ta>=L?Ca.slice(L-wa,(L+=t)-wa):Sie(t);case 219:return t=ka.getUint32(L),L+=4,Ta>=L?Ca.slice(L-wa,(L+=t)-wa):Cie(t);case 220:return t=ka.getUint16(L),L+=2,qa(t);case 221:return t=ka.getUint32(L),L+=4,qa(t);case 222:return t=ka.getUint16(L),L+=2,Ja(t);case 223:return t=ka.getUint32(L),L+=4,Ja(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 bie=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ha(e,t){function n(){if(n.count++>Pa){let n=e.read=Function(`r`,`return function(){return `+(xa.freezeData?`Object.freeze`:``)+`({`+e.map(e=>e===`__proto__`?`__proto_:r()`:bie.test(e)?e+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`})}`)(Va);return e.highByte===0&&(e.read=Ua(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]=Va()}return xa.freezeData?Object.freeze(r):r}return n.count=0,e.highByte===0?Ua(t,n):n}var Ua=(e,t)=>function(){let n=I[L++];if(n===0)return t();let r=e<32?-(e+(n<<5)):e+(n<<5),i=Sa[r]||Wa()[r];if(!i)throw Error(`Record id is not defined for `+r);return i.read||=Ha(i,e),i.read()};function Wa(){let e=so(()=>(I=null,xa.getStructures()));return Sa=xa._mergeStructures(e,Sa)}var Ga=Ka,xie=Ka,Sie=Ka,Cie=Ka;function Ka(e){let t;if(e<16&&(t=Za(e)))return t;if(e>64&&ga)return ga.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+=Ya.apply(String,r),r.length=0)}return r.length>0&&(t+=Ya.apply(String,r)),t}function qa(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=Va();return xa.freezeData?Object.freeze(t):t}function Ja(e){if(xa.mapsAsObjects){let t={};for(let n=0;n<e;n++){let e=no();e===`__proto__`&&(e=`__proto_`),t[e]=Va()}return t}{let t=new Map;for(let n=0;n<e;n++)t.set(Va(),Va());return t}}var Ya=String.fromCharCode;function Xa(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 Ya.apply(String,n)}function Za(e){if(e<4)if(e<2){if(e===0)return``;{let e=I[L++];if((e&128)>1){--L;return}return Ya(e)}}else{let t=I[L++],n=I[L++];if((t&128)>0||(n&128)>0){L-=2;return}if(e<3)return Ya(t,n);let r=I[L++];if((r&128)>0){L-=3;return}return Ya(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 Ya(t,n,r,i);{let e=I[L++];if((e&128)>0){L-=5;return}return Ya(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 Ya(t,n,r,i,a,o);let s=I[L++];if((s&128)>0){L-=7;return}return Ya(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 Ya(t,n,r,i,a,o,s,c);{let e=I[L++];if((e&128)>0){L-=9;return}return Ya(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 Ya(t,n,r,i,a,o,s,c,l,u);let d=I[L++];if((d&128)>0){L-=11;return}return Ya(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 Ya(t,n,r,i,a,o,s,c,l,u,d,f);{let e=I[L++];if((e&128)>0){L-=13;return}return Ya(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 Ya(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 Ya(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Qa(){let e=I[L++],t;if(e<192)t=e-160;else switch(e){case 217:t=I[L++];break;case 218:t=ka.getUint16(L),L+=2;break;case 219:t=ka.getUint32(L),L+=4;break;default:throw Error(`Expected string`)}return Ka(t)}function $a(e){return xa.copyBuffers?Uint8Array.prototype.slice.call(I,L,L+=e):I.subarray(L,L+=e)}function eo(e){let t=I[L++];if(Oa[t]){let n;return Oa[t](I.subarray(L,n=L+=e),e=>{L=e;try{return Va()}finally{L=n}})}throw Error(`Unknown extension type `+t)}var to=Array(4096);function no(){let e=I[L++];if(e>=160&&e<192){if(e-=160,Ta>=L)return Ca.slice(L-wa,(L+=e)-wa);if(!(Ta==0&&_a<180))return Ga(e)}else return L--,ro(Va());let t=(e<<5^(e>1?ka.getUint16(L):e>0?I[L]:0))&4095,n=to[t],r=L,i=L+e-3,a,o=0;if(n&&n.bytes==e){for(;r<i;){if(a=ka.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=[],to[t]=n,n.bytes=e;r<i;)a=ka.getUint32(r),n.push(a),r+=4;for(i+=3;r<i;)a=I[r++],n.push(a);let s=e<16?Za(e):Xa(e);return s==null?n.string=Ga(e):n.string=s}function ro(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(xa.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 io=(e,t)=>{let n=Va().map(ro),r=e;t!==void 0&&(e=e<32?-((t<<5)+e):(t<<5)+e,n.highByte=t);let i=Sa[e];return i&&(i.isShared||Na)&&((Sa.restoreStructures||(Sa.restoreStructures=[]))[e]=i),Sa[e]=n,n.read=Ha(n,r),n.read()};Oa[0]=()=>{},Oa[0].noBuffer=!0,Oa[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 ao={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError==`function`?AggregateError:null};Oa[101]=()=>{let e=Va();if(!ao[e[0]]){let t=Error(e[1],{cause:e[2]});return t.name=e[0],t}return ao[e[0]](e[1],{cause:e[2]})},Oa[105]=e=>{if(xa.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=ka.getUint32(L-4);Da||=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};Da.set(t,i);let a=Va();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},Oa[112]=e=>{if(xa.structuredClone===!1)throw Error(`Structured clone extension is disabled`);let t=ka.getUint32(L-4),n=Da.get(t);return n.used=!0,n.target},Oa[115]=()=>new Set(Va());var oo=[`Int8`,`Uint8`,`Uint8Clamped`,`Int16`,`Uint16`,`Int32`,`Uint32`,`Float32`,`Float64`,`BigInt64`,`BigUint64`].map(e=>e+`Array`),wie=typeof globalThis==`object`?globalThis:window;Oa[116]=e=>{let t=e[0],n=Uint8Array.prototype.slice.call(e,1).buffer,r=oo[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 wie[r](n)},Oa[120]=()=>{let e=Va();return new RegExp(e[0],e[1])};var Tie=[];Oa[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=L;return L+=t-e.length,Ea=Tie,Ea=[Qa(),Qa()],Ea.position0=0,Ea.position1=0,Ea.postBundlePosition=L,L=n,Va()},Oa[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 so(e){La&&La();let t=_a,n=L,r=ba,i=wa,a=Ta,o=Ca,s=ya,c=Da,l=Ea,u=new Uint8Array(I.slice(0,_a)),d=Sa,f=Sa.slice(0,Sa.length),p=xa,m=Na,h=e();return _a=t,L=n,ba=r,wa=i,Ta=a,Ca=o,ya=s,Da=c,Ea=l,I=u,Na=m,Sa=d,Sa.splice(0,Sa.length,...f),xa=p,ka=new DataView(I.buffer,I.byteOffset,I.byteLength),h}function co(){I=null,Da=null,Sa=null}var lo=Array(147);for(let e=0;e<256;e++)lo[e]=+(`1e`+Math.floor(45.15-e*.30103));var uo=new Ra({useRecords:!1});uo.unpack,uo.unpackMultiple,uo.unpack;var Eie={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};new Uint8Array(new Float32Array(1).buffer,0,4);var fo;try{fo=new TextEncoder}catch{}var po,mo,ho=typeof Buffer<`u`,go=ho?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,_o=ho?Buffer:Uint8Array,vo=ho?4294967296:2144337920,R,yo,bo,z=0,xo,So=null,Die,Oie=21760,kie=/[\u0080-\uFFFF]/,Co=Symbol(`record-id`),Aie=class extends Ra{constructor(e){super(e),this.offset=0;let t,n,r,i,a=_o.prototype.utf8Write?function(e,t){return R.utf8Write(e,t,R.byteLength-t)}:fo&&fo.encodeInto?function(e,t){return fo.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 go(8192),bo=R.dataView||(R.dataView=new DataView(R.buffer,0,8192)),z=0),xo=R.length-10,xo-z<2048?(R=new go(R.length),bo=R.dataView||(R.dataView=new DataView(R.buffer,0,R.length)),xo=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`?(So=[],So.size=1/0):So=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[Co]=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)&&!mo.some(t=>e instanceof t)?D(e.toJSON?e.toJSON():e):y(e):y(e);let n=So;if(So&&Do(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&&(bo.setUint32(n.position+t,bo.getUint32(n.position+t)+a),a=-1),n=n.previous,r++)}a>=0&&n&&bo.setUint32(n.position+t,bo.getUint32(n.position+t)+a),z+=e.length*6,z>xo&&w(z),o.offset=z;let s=jie(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=Mie(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][Co]=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,bo.setUint32(z,t),z+=4);for(let n=0;n<t;n++)y(e[n])},y=e=>{z>xo&&(R=w(z));var n=typeof e,r;if(n===`string`){let n=e.length;if(So&&n>=4&&n<4096){if((So.size+=n)>Oie){let e,n=(So[0]?So[0].length*3+So[1].length:0)+10;z+n>xo&&(R=w(z+n));let r;So.position?(r=So,R[z]=200,z+=3,R[z++]=98,e=z-t,z+=4,Do(t,y,0),bo.setUint16(e+t-3,z-t-e)):(R[z++]=214,R[z++]=98,e=z-t,z+=4),So=[``,``],So.previous=r,So.size=0,So.position=e}let r=kie.test(e);So[+!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>xo&&(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,bo.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,bo.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,bo.setInt16(z,e),z+=2):(R[z++]=210,bo.setInt32(z,e),z+=4);else{let t;if((t=this.useFloat32)>0&&e<4294967296&&e>=-2147483648){R[z++]=202,bo.setFloat32(z,e);let n;if(t<4||(n=e*lo[(R[z]&127)<<1|R[z+1]>>7])>>0===n){z+=4;return}z--}R[z++]=203,bo.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,bo.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,bo.setUint32(z,r),z+=4);for(let[t,n]of e)y(t),y(n)}else{for(let t=0,n=po.length;t<n;t++){let n=mo[t];if(e instanceof n){let n=po[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=bo,a=z;R=null;let o;try{o=n.pack.call(this,e,e=>(R=r,r=null,z+=e,z>xo&&w(z),{target:R,targetView:bo,position:z-e}),y)}finally{r&&(R=r,bo=i,z=a,xo=R.length-10)}o&&(o.length+z>xo&&w(o.length+z),z=Eo(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,bo.setBigInt64(z,e);else if(e<0x10000000000000000&&e>0)R[z++]=207,bo.setBigUint64(z,e);else if(this.largeBigIntToFloat)R[z++]=203,bo.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),ho)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>xo&&w(n.length+z),z=Eo(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,bo.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[Co];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[Co];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>vo)throw Error(`Packed buffer would be larger than maximum buffer size`);n=Math.min(vo,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 go(n);return bo=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,xo=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[Co]=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()[Co]=0),m.push(e),y(t))},E=(e,n,r,i)=>{let a=R,o=z,s=xo,c=t;R=yo,z=0,t=0,R||(yo=R=new go(8192)),xo=R.length-10,T(e,n,i),yo=R;let l=z;if(R=a,z=o,xo=s,t=c,l>1){let e=z+l-1;e>xo&&w(e);let n=r+t;R.copyWithin(n+l,n+1,z),R.set(yo.slice(0,l),n),z=e}else R[r+t]=yo[0]},D=e=>{let i=Die(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:bo,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)),bo=R.dataView,z=0}set position(e){z=e}get position(){return z}clearSharedData(){this.structures&&=[],this.typedStructs&&=[]}};mo=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,ja],po=[{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?wo(e,16,t):To(ho?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let n=e.constructor;n!==_o&&this.moreTypes?wo(e,oo.indexOf(n.name),t):To(e,t)}},{pack(e,t){this.moreTypes?wo(e,17,t):To(ho?Buffer.from(e):new Uint8Array(e),t)}},{pack(e,t){let{target:n,position:r}=t(1);n[r]=193}}];function wo(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 To(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 Eo(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 jie(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 Do(e,t,n){if(So.length>0){bo.setUint32(So.position+e,z+n-So.position-e),So.stringsPosition=z-e;let r=So;So=null,t(r[0]),t(r[1])}}function Mie(e,t){return e.isCompatible=e=>{let n=!e||(t.lastNamedStructuresLength||0)===e.length;return n||t._mergeStructures(e),n},e}var Oo=new Aie({useRecords:!1});Oo.pack,Oo.pack;var{NEVER:Nie,ALWAYS:Pie,DECIMAL_ROUND:Fie,DECIMAL_FIT:Iie}=Eie,ko=class extends yt()(`effect/rpc/RpcSerialization`){},Lie=ko.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)}}}),Ao=he(ko)(Lie),Rie=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))})}}))}),zie=BigInt(0),Bie=Xe(function*(e,t){let n=t?.spanPrefix??`RpcClient`,r=t?.supportsAck??!0,i=t?.disableTracing??!1,a=t?.generateRequestId??(()=>zie++),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(No),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(No),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}}),Vie=0,jo=Xe(function*(e,t){let n=Vie++,{run:r,send:i,supportsAck:a,supportsTransferables:o}=yield*Po,s=new Map,{client:l,write:u}=yield*Bie(e,{...t,supportsAck:a,onFromClient({message:t}){switch(t._tag){case`Request`:{let r=e.requests.get(t.tag),a=o?pie():void 0,l=Ce(),u={rpc:r,context:a?ate(l.context,ua,a):l.context,schemas:Hie(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=ha(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:ha(e.requestId),values:t})),v(t=>u({_tag:`Exit`,clientId:0,requestId:ha(e.requestId),exit:Ae(t)})))}case`Exit`:{let t=ha(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:Kie(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}),Mo=new WeakMap,Hie=e=>{let t=Mo.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)))},Mo.set(e,t),t},No=$e(`effect/rpc/RpcClient/CurrentHeaders`,{defaultValue:()=>Tn}),Po=class extends yt()(`effect/rpc/RpcClient/Protocol`){static make=Rie},Fo=e=>Po.make(Xe(function*(t,n){let i=yield*ta,a=yield*ko,o=yield*see(Gie),s=new Map,u=yield*i.writer,d=a.makeUnsafe(),f=yield*Wie(u(d.encode(yie))),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 ma({reason:new pa({message:`Error decoding message`,cause:e})})})}},{onOpen:m}).pipe(ee(wt(f.timeout,()=>r(new sa({reason:new ia({kind:`Timeout`,cause:Error(`ping timeout`)})}))))))).pipe(wt(()=>r(new sa({reason:new aa({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 ma({reason:r?n.success.reason:new pa({message:`Unknown socket error`,cause:Ie(t)})}),h({_tag:`ClientProtocolError`,error:p}))}),_e(e?.retryPolicy??Uie),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}})),Uie=h(500,1.5).pipe(uee(ree(5e3))),Wie=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}}}),Gie=class extends yt()(`effect/rpc/RpcClient/ConnectionHooks`){},Kie=rr(Nn);function Io(e){return{id:e.id??`ws:${e.label}`,label:e.label,source:e.source??`manual`,target:e.target}}function qie(e){return e?.target.wsBaseUrl??null}function Jie(e){return e?.target.httpBaseUrl??null}function Yie(e,t){return{...e,environmentId:t.environmentId,label:t.label}}function Xie(e){return e.cloudMode?`cmmd-cloud-runtime`:`local-web`}function Zie(e){let t=Xie(e);return{topology:t,controlPlane:t!==`cmmd-cloud-runtime`,executionPlane:!0,workspaceProxy:!1}}function Qie(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 $ie(e){let t=e.executionPlane;return{agents:t,browser:t,github:t,terminal:t,providerEgress:e.topology===`cmmd-control-plane`}}function eae(e,t){return{localProjects:t.executionPlane,cloudProjects:e.cloudMode}}function Lo(e){let t=e.capabilities,n=t.runtime??Zie(t);return{repositoryIdentity:t.repositoryIdentity,pullRequests:t.pullRequests??!1,cloudMode:t.cloudMode,posthogPublicKey:t.posthogPublicKey,posthogHost:t.posthogHost,runtime:n,auth:t.auth??Qie(n),tools:t.tools??$ie(n),projects:t.projects??eae(t,n)}}function tae(e){return e?Lo(e).projects.cloudProjects:!1}function nae(e){return e?Lo(e).runtime.workspaceProxy??!1:!1}function Ro(e,t){return{environmentId:e,projectId:t}}function zo(e,t){return{environmentId:e,threadId:t}}var Bo=`scoped:v1:`;function Vo(e){let t=`projectId`in e?e.projectId:e.threadId;return t.includes(`:`)||e.environmentId.startsWith(Bo)?`${Bo}${encodeURIComponent(e.environmentId)}:${encodeURIComponent(t)}`:`${e.environmentId}:${t}`}function Ho(e){return Vo(e)}function Uo(e){return Vo(e)}function rae(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 Wo(e){if(e.startsWith(Bo))return rae(e);let t=e.lastIndexOf(`:`);return t<=0||t>=e.length-1?null:{environmentId:e.slice(0,t),localId:e.slice(t+1)}}function Go(e){let t=Wo(e);return t?{environmentId:t.environmentId,projectId:t.localId}:null}function Ko(e){let t=Wo(e);return t?{environmentId:t.environmentId,threadId:t.localId}:null}var iae=1e3,aae=64e3;jo(Mn);function oae(e){return!Number.isInteger(e)||e<0||e>=10?null:Math.min(Math.round(iae*2**e),aae)}var qo=class extends Error{code;retryable;name=`RelayProtocolFailure`;constructor(e,t,n){super(t),this.code=e,this.retryable=n}};function Jo(e){return Array.isArray(e)?e.map(Jo):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,Jo(t)])):e}function sae(e){let t=JSON.stringify(Jo(e));if(t===void 0)throw Error(`Relay payload is not JSON serializable.`);return t}var cae={requestId:`@effect/rpc/Ping`,correlationId:`@effect/rpc/Ping`,method:`@effect/rpc/Ping`,requiredScope:null,deliveryClass:`read`,journalPersistence:`none`};function lae(e){return e._tag===`Ping`?cae:null}function uae(e){if(e.policy===null||e.policy.method!==e.method)throw new qo(`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 qo(`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 dae(e){let t=new Set(e.registeredMethods),n=new Map;for(let r of e.policies){if(n.has(r.method))throw new qo(`method_not_remotable`,`Relay method has duplicate dispatch policies: ${r.method}`,!1);if(!t.has(r.method))throw new qo(`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 qo(`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 qo(`method_not_remotable`,`Remotely registered method has no dispatch policy: ${t}`,!1);return n}var fae=[{method:M.projectsSearchContents,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsSearchEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsListEntries,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.serverDiscoverSourceControl,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverReportClientActivity,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.codeGraphSummary,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphNeighborhood,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.codeGraphSearch,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.projectsWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.projectCheckoutDeletionPreview,requiredScope:`workspace.write`,deliveryClass:`read`},{method:M.projectCheckoutDeletionExecute,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.reviewGetDiffPreview,requiredScope:`diff.read`,deliveryClass:`read`},{method:M.projectsReadFile,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.cloudListRuntimes,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.filesystemBrowse,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceReadFile,requiredScope:`workspace.read`,deliveryClass:`bulk-transfer`},{method:M.workspaceBeginWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceWriteFileChunk,requiredScope:`workspace.write`,deliveryClass:`bulk-transfer`},{method:M.workspaceCommitWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.workspaceCancelWriteFile,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.shellOpenInEditor,requiredScope:`shell.open`,deliveryClass:`idempotent-command`},{method:M.gitPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitRunStackedAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitListBranches,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsListRefs,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsRefreshStatus,requiredScope:`git.read`,deliveryClass:`read`},{method:M.vcsPull,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsCreateRef,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.vcsSwitchRef,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.vcsInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateWorktree,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitRemoveWorktree,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitCreateBranch,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.gitCheckout,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitInit,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.gitResolvePullRequest,requiredScope:`git.read`,deliveryClass:`read`},{method:M.gitPreparePullRequestThread,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.terminalOpen,requiredScope:`terminal.write`,deliveryClass:`create-command`},{method:M.terminalAttach,requiredScope:`terminal.write`,deliveryClass:`terminal-output`},{method:M.terminalWrite,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalResize,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalSignal,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClear,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalRestart,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.terminalClose,requiredScope:`terminal.write`,deliveryClass:`idempotent-command`},{method:M.browserOpenSession,requiredScope:`browser.control`,deliveryClass:`create-command`},{method:M.browserListSessions,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCloseSession,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserGetSession,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.browserCommand,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserClearBrowsingData,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAttachDisplay,requiredScope:`browser.read`,deliveryClass:`subscription`},{method:M.computerInput,requiredScope:`browser.control`,deliveryClass:`browser-control`},{method:M.browserAddDisplayIceCandidate,requiredScope:`browser.read`,deliveryClass:`browser-control`},{method:M.devTunnelRegister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelUnregister,requiredScope:`browser.control`,deliveryClass:`idempotent-command`},{method:M.devTunnelList,requiredScope:`browser.read`,deliveryClass:`read`},{method:M.threadDevRuntimeGet,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.threadDevRuntimeAllocatePort,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.threadDevRuntimeRelease,requiredScope:`runtime.manage`,deliveryClass:`idempotent-command`},{method:M.workspaceEnvironmentPreflight,requiredScope:`workspace.read`,deliveryClass:`read`},{method:M.workspaceEnsureScratch,requiredScope:`workspace.write`,deliveryClass:`idempotent-command`},{method:M.serverGetConfig,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.serverRefreshProviders,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverStartProviderAuth,requiredScope:`provider.manage`,deliveryClass:`create-command`},{method:M.serverRepairProviderAuthRuntime,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverDisconnectProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverGetProviderAuthSession,requiredScope:`provider.read`,deliveryClass:`read`},{method:M.serverCancelProviderAuth,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSubmitProviderAuthCode,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalCodexToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverSyncPersonalClaudeToCloud,requiredScope:`provider.manage`,deliveryClass:`idempotent-command`},{method:M.serverUpsertKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverRemoveKeybinding,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetSettings,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverUpdateSettings,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverUpdateEnvironmentDisplayName,requiredScope:`settings.write`,deliveryClass:`idempotent-command`},{method:M.serverGetTraceDiagnostics,requiredScope:`settings.read`,deliveryClass:`read`},{method:M.serverHeartbeat,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.usageGetSummary,requiredScope:`runtime.read`,deliveryClass:`read`},{method:M.pullRequestsList,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsListStats,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDetail,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsActivity,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsThreadComments,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsDiffFileContents,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRunAction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsUpdate,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsComment,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsUpdateComment,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSubmitReview,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsReplyToThread,requiredScope:`git.write`,deliveryClass:`create-command`},{method:M.pullRequestsSetThreadResolution,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsSetReaction,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.pullRequestsInvalidate,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsReviewerCandidates,requiredScope:`git.read`,deliveryClass:`read`},{method:M.pullRequestsRequestReviewers,requiredScope:`git.write`,deliveryClass:`idempotent-command`},{method:M.subscribeGitStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeVcsStatus,requiredScope:`git.read`,deliveryClass:`subscription`},{method:M.subscribeTerminalEvents,requiredScope:`terminal.read`,deliveryClass:`terminal-output`},{method:M.subscribeTerminalMetadata,requiredScope:`terminal.read`,deliveryClass:`read`},{method:M.subscribeBrowserEvents,requiredScope:`browser.read`,deliveryClass:`browser-frame`},{method:M.subscribeServerConfig,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeServerLifecycle,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:M.subscribeAuthAccess,requiredScope:`provider.read`,deliveryClass:`subscription`},{method:M.subscribeWorkspaceReadiness,requiredScope:`runtime.read`,deliveryClass:`subscription`},{method:qn.dispatchCommand,requiredScope:null,deliveryClass:`idempotent-command`},{method:qn.getTurnDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.getFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`read`},{method:qn.streamTurnDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.streamFullThreadDiff,requiredScope:`diff.read`,deliveryClass:`bulk-transfer`},{method:qn.replayEvents,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.getArchivedShellSnapshot,requiredScope:`thread.read`,deliveryClass:`read`},{method:qn.subscribeShell,requiredScope:`thread.read`,deliveryClass:`subscription`},{method:qn.subscribeThread,requiredScope:`thread.read`,deliveryClass:`subscription`},{method: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`}],pae=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]),mae=fae.map(e=>{let t=e.deliveryClass===`idempotent-command`||e.deliveryClass===`create-command`;return{method:e.method,requiredScope:e.requiredScope,deliveryClass:e.deliveryClass,journalPersistence:t?pae.has(e.method)?`frame`:`metadata-only`:`none`}}),hae=dae({registeredMethods:[...Mn.requests.keys()],policies:mae}),Yo={"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`}},gae=new Set([`thread.approval.respond`,`thread.user-input.respond`,`thread.plan-approval.respond`]);function _ae(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`||!gae.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 qo(`action_grant_invalid`,`Relay sensitive action metadata is incomplete`,!1);return{commandType:t.type,commandId:t.commandId,targetId:n}}function Xo(e){let t=hae.get(e.method)??null,n=uae({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 qo(`method_not_remotable`,`Relay orchestration dispatch payload has no command policy`,!1);let r=e.payload.type;if(typeof r!=`string`||!(r in Yo))throw new qo(`method_not_remotable`,`Relay orchestration command has no dispatch policy: ${String(r)}`,!1);let i=Yo[r];if(!e.grantedScopes.includes(i.requiredScope))throw new qo(`scope_denied`,`Relay orchestration command ${r} requires scope ${i.requiredScope}`,!1);return{requiredScope:i.requiredScope,deliveryClass:i.deliveryClass,journalPersistence:n.journalPersistence}}var Zo=class extends Error{constructor(e){let t;t=e instanceof Error?e.message:typeof e==`string`?e:``,super(t),this.name=this.constructor.name}},Qo=class extends Zo{},$o=class extends Zo{},es=class extends Zo{},vae=class extends Zo{},yae=class extends Zo{},bae=class extends Zo{},xae=class extends Zo{},Sae=class extends Zo{},Cae=class extends Zo{},wae=class extends Zo{},ts=class extends Zo{},ns=Tae(globalThis,{});function Tae(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 Eae(){if(ns!==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 ts(e)}}var rs=class{constructor(){Object.defineProperty(this,"_api",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}async _setup(){this._api===void 0&&(this._api=await Eae())}},is={Base:0,Psk:1,Auth:2,AuthPsk:3},Dae={NotAssigned:0,DhkemP256HkdfSha256:16,DhkemP384HkdfSha384:17,DhkemP521HkdfSha512:18,DhkemSecp256k1HkdfSha256:19,DhkemX25519HkdfSha256:32,DhkemX448HkdfSha512:33,HybridkemX25519Kyber768:48,MlKem512:64,MlKem768:65,MlKem1024:66,XWing:25722},as={HkdfSha256:1,HkdfSha384:2,HkdfSha512:3,Sha3256:4,Sha3384:5,Sha3512:6,Shake128:16,Shake256:17,TurboShake128:18,TurboShake256:19},os={Aes128Gcm:1,Aes256Gcm:2,Chacha20Poly1305:3,ExportOnly:65535},ss=new Uint8Array,cs=0n,ls=1n,us=2n,Oae=new Uint8Array([75,69,77,0,0]),ds=new Uint8Array([72,80,75,69,45,118,49]);function fs(e){return new Uint8Array(ps(e))}function ps(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 kae=class extends rs{constructor(){super(),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:as.HkdfSha256}),Object.defineProperty(this,"hashSize",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_suiteId",{enumerable:!0,configurable:!0,writable:!0,value:ss}),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(ds,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(ds,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):ps(e);if(n.byteLength!==this.hashSize)throw new Qo(`The salt length must be the same as the hashSize`);let r=ps(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=ps(e),i=await this._api.importKey(`raw`,r,this.algHash,!1,[`sign`]),a=new ArrayBuffer(n),o=new Uint8Array(a),s=ss,c=fs(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=ps(t),a=await this._api.importKey(`raw`,i,`HKDF`,!1,[`deriveBits`]);return await this._api.deriveBits({name:`HKDF`,hash:this.algHash.hash,salt:ps(e),info:ps(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===ss)throw Error(`Not initialized. Call init()`)}},Aae=class extends kae{constructor(){super(...arguments),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:as.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}})}},ms=e=>typeof e==`object`&&!!e&&typeof e.privateKey==`object`&&typeof e.publicKey==`object`;function hs(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 gs(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function _s(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 jae(){if(ns!==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 Mae(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 Nae=new Uint8Array([101,97,101,95,112,114,107]),Pae=new Uint8Array([115,104,97,114,101,100,95,115,101,99,114,101,116]);function Fae(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 Iae=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(Oae);r.set(hs(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(ps(e))}async serializePrivateKey(e){return await this._prim.serializePrivateKey(e)}async deserializePrivateKey(e){return await this._prim.deserializePrivateKey(ps(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=ps(e);if(t.byteLength>8192)throw new Qo(`Too long ikm`);return await this._prim.deriveKeyPair(t)}async encap(e){let t;t=e.ekm===void 0?await this.generateKeyPair():ms(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=ms(e.senderKey)?e.senderKey.privateKey:e.senderKey;i=gs(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=gs(new Uint8Array(n),new Uint8Array(r));else{let t=ms(e.senderKey)?e.senderKey.publicKey:await this._prim.derivePublicKey(e.senderKey),i=await this._prim.serializePublicKey(t);a=Fae(new Uint8Array(n),new Uint8Array(r),new Uint8Array(i))}return{enc:n,sharedSecret:await this._generateSharedSecret(i,a)}}catch(e){throw new vae(e)}}async decap(e){let t=ps(e.enc),n=await this._prim.deserializePublicKey(t),r=ms(e.recipientKey)?e.recipientKey.privateKey:e.recipientKey,i=ms(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)):gs(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=gs(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 yae(e)}}async _generateSharedSecret(e,t){let n=this._kdf.buildLabeledIkm(Nae,e),r=this._kdf.buildLabeledInfo(Pae,t,this.secretSize);return await this._kdf.extractAndExpand(ss,n,r,this.secretSize)}},vs=[`deriveBits`],Lae=new Uint8Array([100,107,112,95,112,114,107]),Rae=new Uint8Array([115,107]),ys=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=[])}},zae=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 $o(e))}}async deserializePublicKey(e){try{return await this._importRawKey(ps(e),!0)}catch(e){throw new es(e)}}serializePrivateKey(e){try{return Promise.resolve(e.key.buffer)}catch(e){return Promise.reject(new $o(e))}}async deserializePrivateKey(e){try{return await this._importRawKey(ps(e),!1)}catch(e){throw new es(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 es(e)}}async generateKeyPair(){try{let e=await this._curve.utils.randomSecretKey(),t=new ys(this._algName,e,`private`,vs);return{publicKey:await this.derivePublicKey(t),privateKey:t}}catch(e){throw new ts(e)}}async deriveKeyPair(e){try{let t=ps(e),n=await this._hkdf.labeledExtract(ss.buffer,Lae,new Uint8Array(t)),r=await this._hkdf.labeledExpand(n,Rae,ss,this._nSk),i=new ys(this._algName,new Uint8Array(r),`private`,vs);return{privateKey:i,publicKey:await this.derivePublicKey(i)}}catch(e){throw new wae(e)}}derivePublicKey(e){try{let t=this._curve.getPublicKey(e.key);return Promise.resolve(new ys(this._algName,t,`public`))}catch(e){return Promise.reject(new es(e))}}dh(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e.key,t.key).buffer)}catch(e){return Promise.reject(new $o(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 ys(this._algName,new Uint8Array(e),t?`public`:`private`,t?[]:vs))})}_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 ys(this._algName,_s(e.x),`public`))):(typeof e.d!=`string`&&r(Error("Invalid key: `d` not found")),n(new ys(this._algName,_s(e.d),`private`,vs)))})}};function Bae(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`}function bs(e,t=``){if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw Error(`${n}expected integer >0, got ${e}`)}}function xs(e,t,n=``){let r=Bae(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 Ss(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 Cs(e,t){xs(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw Error(`"digestInto() output" expected to be of length >=`+n)}function Vae(e){if(typeof e==`bigint`){if(!Ps(e))throw Error(`positive bigint expected, got `+e)}else bs(e);return e}function ws(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ts(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var Hae=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Es(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Ds(e,t){return e<<32-t|e>>>t}var Os=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Uae=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Wae=[0n,1n,2n,3n,4n,5n,6n,7n,8n,9n,10n,11n,12n,13n,14n,15n];function Gae(e){if(xs(e),Os)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Uae[e[n]];return t}var ks={_0:48,_9:57,A:65,F:70,a:97,f:102};function As(e){if(e>=ks._0&&e<=ks._9)return e-ks._0;if(e>=ks.A&&e<=ks.F)return e-(ks.A-10);if(e>=ks.a&&e<=ks.f)return e-(ks.a-10)}function Kae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);if(Os)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=As(e.charCodeAt(i)),a=As(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 qae(e){if(typeof e!=`string`)throw Error(`hex string expected, got `+typeof e);let t=cs;for(let n=0;n<e.length;n++){let r=As(e.charCodeAt(n));if(r===void 0)throw Error(`hex string expected, got non-hex character "`+e[n]+`" at index `+n);t=t<<4n|Wae[r]}return t}function js(e){bs(e,`numberToBigint`);let t=e,n=cs,r=1n;for(;t>0;)t%2==1&&(n+=r),t=Math.floor(t/2),r<<=1n;return n}function Ms(e){return qae(Gae(Ns(xs(e)).reverse()))}function Jae(e,t){bs(t),e=Vae(e);let n=Kae(e.toString(16).padStart(t*2,`0`));if(n.length!==t)throw Error(`number too large`);return n}function Yae(e,t){return Jae(e,t).reverse()}function Ns(e){return Uint8Array.from(e)}function Ps(e){return typeof e==`bigint`&&0n<=e}function Xae(e,t,n){return Ps(e)&&Ps(t)&&Ps(n)&&t<=e&&e<n}function Fs(e,t,n,r){if(!Xae(t,n,r))throw Error(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Zae(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 Qae(e=32){let t=await jae(),n=new Uint8Array(e);return t.getRandomValues(n),n}function $ae(e){return{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}}function eoe(e){if(typeof e!=`function`||typeof e.create!=`function`)throw Error(`Hash must wrapped by utils.createHasher`);bs(e.outputLen),bs(e.blockLen)}function toe(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 Is=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}),eoe(e),xs(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),Ts(r)}update(e){return Ss(this),this.iHash.update(e),this}digestInto(e){Ss(this),xs(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()}},Ls=(e,t,n)=>new Is(e,t).update(n).digest();Ls.create=(e,t)=>new Is(e,t);function noe(e,t,n){return e&t^~e&n}function roe(e,t,n){return e&t^e&n^t&n}var ioe=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=Es(this.buffer)}update(e){Ss(this),xs(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=Es(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){Ss(this),Cs(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,Ts(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,js(this.length*8),i),this.process(n,0);let o=Es(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()}},Rs=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),aoe=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]),zs=new Uint32Array(64),ooe=class extends ioe{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)zs[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=zs[e-15],n=zs[e-2],r=Ds(t,7)^Ds(t,18)^t>>>3,i=Ds(n,17)^Ds(n,19)^n>>>10;zs[e]=i+zs[e-7]+r+zs[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=Ds(o,6)^Ds(o,11)^Ds(o,25),u=l+t+noe(o,s,c)+aoe[e]+zs[e]|0,d=(Ds(n,2)^Ds(n,13)^Ds(n,22))+roe(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(){Ts(zs)}destroy(){this.set(0,0,0,0,0,0,0,0),Ts(this.buffer)}},soe=class extends ooe{constructor(){super(32),Object.defineProperty(this,"A",{enumerable:!0,configurable:!0,writable:!0,value:Rs[0]|0}),Object.defineProperty(this,"B",{enumerable:!0,configurable:!0,writable:!0,value:Rs[1]|0}),Object.defineProperty(this,"C",{enumerable:!0,configurable:!0,writable:!0,value:Rs[2]|0}),Object.defineProperty(this,"D",{enumerable:!0,configurable:!0,writable:!0,value:Rs[3]|0}),Object.defineProperty(this,"E",{enumerable:!0,configurable:!0,writable:!0,value:Rs[4]|0}),Object.defineProperty(this,"F",{enumerable:!0,configurable:!0,writable:!0,value:Rs[5]|0}),Object.defineProperty(this,"G",{enumerable:!0,configurable:!0,writable:!0,value:Rs[6]|0}),Object.defineProperty(this,"H",{enumerable:!0,configurable:!0,writable:!0,value:Rs[7]|0})}},Bs=toe(()=>new soe,$ae(1));function Vs(e,t){let n=e%t;return n>=0n?n:t+n}function Hs(e,t,n){let r=e;for(;t-->cs;)r*=r,r%=n;return r}function coe(e,t){return function(n){let r=e(n);return{secretKey:r,publicKey:t(r)}}}function loe(e){return Zae(e,{adjustScalarBytes:`function`,powPminus2:`function`}),Object.freeze({...e})}function uoe(e){let{P:t,type:n,adjustScalarBytes:r,powPminus2:i,randomBytes:a}=loe(e),o=n===`x25519`;if(!o&&n!==`x448`)throw Error(`invalid type`);let s=a||Qae,c=o?255n:448n,l=o?32:56,u=o?9n:5n,d=o?121665n:39081n,f=o?us**254n:us**447n,p=f+(o?8n*us**251n-ls:4n*us**445n-ls)+ls,m=e=>Vs(e,t),h=g(u);function g(e){return Yae(m(e),l)}function _(e){let t=Ns(xs(e,l,`uCoordinate`));return o&&(t[31]&=127),m(Ms(t))}function v(e){return Ms(r(Ns(xs(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){Fs(`u`,e,cs,t),Fs(`scalar`,n,f,p);let r=n,a=e,o=ls,s=cs,l=e,u=ls,h=cs;for(let e=c-1n;e>=cs;e--){let t=r>>e&ls;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)),xs(e,T.seed,`seed`),e),D={randomSecretKey:E};return Object.freeze({keygen:coe(E,x),getSharedSecret:S,getPublicKey:x,scalarMult:y,scalarMultBase:b,utils:D,GuBytes:h.slice(),lengths:T})}function Us(e){if(typeof e!=`boolean`)throw Error(`boolean expected, not ${e}`)}var doe=(e,t)=>{function n(n,...r){if(xs(n,void 0,`key`),!Hae)throw Error(`Non little-endian hardware is not yet supported`);if(e.nonceLength!==void 0){let t=r[0];xs(t,e.varSizeNonce?void 0:e.nonceLength,`nonce`)}let i=e.tagLength;i&&r[1]!==void 0&&xs(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`);xs(t,void 0,`output`)}},s=!1;return{encrypt(e,t){if(s)throw Error(`cannot encrypt() twice with same key + nonce`);return s=!0,xs(e),o(a.encrypt.length,t),a.encrypt(e,t)},decrypt(e,t){if(xs(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 foe(e,t){if(typeof t!=`object`||!t)throw Error(`options must be defined`);return Object.assign(e,t)}function poe(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 Ws(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&&!hoe(t))throw Error(`invalid output, must be aligned`);return t}function moe(e,t,n){Us(n);let r=new Uint8Array(16),i=Es(r);return i.setBigUint64(0,js(t),n),i.setBigUint64(8,js(e),n),r}function hoe(e){return e.byteOffset%4==0}var Gs=e=>Uint8Array.from(e.split(``).map(e=>e.charCodeAt(0))),goe=Gs(`expand 16-byte k`),_oe=Gs(`expand 32-byte k`),voe=ws(goe),yoe=ws(_oe);function Ks(e,t){return e<<t|e>>>32-t}function qs(e){return e.byteOffset%4==0}var Js=64,boe=16,Ys=2**32-1,Xs=Uint32Array.of();function xoe(e,t,n,r,i,a,o,s){let c=i.length,l=new Uint8Array(Js),u=ws(l),d=qs(i)&&qs(a),f=d?ws(i):Xs,p=d?ws(a):Xs;for(let m=0;m<c;o++){if(e(t,n,r,u,o,s),o>=Ys)throw Error(`arx: counter overflow`);let h=Math.min(Js,c-m);if(d&&h===Js){let e=m/4;if(m%4!=0)throw Error(`arx: invalid block position`);for(let t=0,n;t<boe;t++)n=e+t,p[n]=f[n]^u[t];m+=Js;continue}for(let e=0,t;e<h;e++)t=m+e,a[t]=i[t]^l[e];m+=h}}function Soe(e,t){let{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:a,rounds:o}=foe({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=`function`)throw Error(`core must be a function`);return bs(i),bs(o),Us(a),Us(n),(t,s,c,l,u=0)=>{xs(t,void 0,`key`),xs(s,void 0,`nonce`),xs(c,void 0,`data`);let d=c.length;if(l===void 0&&(l=new Uint8Array(d)),xs(l,void 0,`output`),bs(u),u<0||u>=Ys)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=Ns(t)),h=yoe;else if(p===16&&n)m=new Uint8Array(32),m.set(t),m.set(t,16),h=voe,f.push(m);else throw xs(t,32,`arx key`),Error(`invalid key size`);qs(s)||f.push(s=Ns(s));let g=ws(m);if(r){if(s.length!==24)throw Error(`arx: extended nonce must be 24 bytes`);r(h,g,ws(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=ws(s);return xoe(e,h,g,v,c,l,u,o),Ts(...f),l}}function Zs(e,t){return e[t++]&255|(e[t++]&255)<<8}var Coe=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=Ns(xs(e,32,`key`));let t=Zs(e,0),n=Zs(e,2),r=Zs(e,4),i=Zs(e,6),a=Zs(e,8),o=Zs(e,10),s=Zs(e,12),c=Zs(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]=Zs(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=Zs(e,t+0),_=Zs(e,t+2),v=Zs(e,t+4),y=Zs(e,t+6),b=Zs(e,t+8),x=Zs(e,t+10),S=Zs(e,t+12),C=Zs(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;Ts(n)}update(e){Ss(this),xs(e),e=Ns(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(){Ts(this.h,this.r,this.buffer,this.pad)}digestInto(e){Ss(this),Cs(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 woe(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 Toe=woe(e=>new Coe(e));function Eoe(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=Ks(A^S,16),ne=ne+A|0,E=Ks(E^ne,12),S=S+E|0,A=Ks(A^S,8),ne=ne+A|0,E=Ks(E^ne,7),C=C+D|0,ie=Ks(ie^C,16),O=O+ie|0,D=Ks(D^O,12),C=C+D|0,ie=Ks(ie^C,8),O=O+ie|0,D=Ks(D^O,7),w=w+ee|0,ae=Ks(ae^w,16),k=k+ae|0,ee=Ks(ee^k,12),w=w+ee|0,ae=Ks(ae^w,8),k=k+ae|0,ee=Ks(ee^k,7),T=T+te|0,oe=Ks(oe^T,16),re=re+oe|0,te=Ks(te^re,12),T=T+te|0,oe=Ks(oe^T,8),re=re+oe|0,te=Ks(te^re,7),S=S+D|0,oe=Ks(oe^S,16),k=k+oe|0,D=Ks(D^k,12),S=S+D|0,oe=Ks(oe^S,8),k=k+oe|0,D=Ks(D^k,7),C=C+ee|0,A=Ks(A^C,16),re=re+A|0,ee=Ks(ee^re,12),C=C+ee|0,A=Ks(A^C,8),re=re+A|0,ee=Ks(ee^re,7),w=w+te|0,ie=Ks(ie^w,16),ne=ne+ie|0,te=Ks(te^ne,12),w=w+te|0,ie=Ks(ie^w,8),ne=ne+ie|0,te=Ks(te^ne,7),T=T+E|0,ae=Ks(ae^T,16),O=O+ae|0,E=Ks(E^O,12),T=T+E|0,ae=Ks(ae^T,8),O=O+ae|0,E=Ks(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 Doe=Soe(Eoe,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Ooe=new Uint8Array(16),Qs=(e,t)=>{e.update(t);let n=t.length%16;n&&e.update(Ooe.subarray(n))},koe=new Uint8Array(32);function $s(e,t,n,r,i){i!==void 0&&xs(i,void 0,`AAD`);let a=e(t,n,koe),o=moe(r.length,i?i.length:0,!0),s=Toe.create(a);i&&Qs(s,i),Qs(s,r),s.update(o);let c=s.digest();return Ts(a,o),c}var ec=doe({blockSize:64,nonceLength:12,tagLength:16},(e=>(t,n,r)=>({encrypt(i,a){let o=i.length;a=Ws(o+16,a,!1),a.set(i);let s=a.subarray(0,-16);e(t,n,s,s,1);let c=$s(e,t,n,s,r);return a.set(c,o),Ts(c),a},decrypt(i,a){a=Ws(i.length-16,a,!1);let o=i.subarray(0,-16),s=i.subarray(-16),c=$s(e,t,n,o,r);if(!poe(s,c))throw Error(`invalid tag`);return a.set(i.subarray(0,-16)),e(t,n,a,a,1),Ts(c),a}}))(Doe)),Aoe=class{constructor(e){Object.defineProperty(this,"_key",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._key=new Uint8Array(ps(e))}async seal(e,t,n){return await this._seal(ps(e),ps(t),ps(n))}async open(e,t,n){return await this._open(ps(e),ps(t),ps(n))}_seal(e,t,n){return new Promise(r=>{r(ec(this._key,new Uint8Array(e),new Uint8Array(n)).encrypt(new Uint8Array(t)).buffer)})}_open(e,t,n){return new Promise(r=>{r(ec(this._key,new Uint8Array(e),new Uint8Array(n)).decrypt(new Uint8Array(t)).buffer)})}},joe=class{constructor(){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:os.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 Aoe(e)}};function tc(){return new Promise((e,t)=>{t(new ts(`Not supported`))})}var Moe=new Uint8Array([115,101,99]),nc=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 tc()}async open(e,t){return await tc()}async export(e,t){let n=ps(e);if(n.byteLength>8192)throw new Qo(`Too long exporter context`);try{return await this._kdf.labeledExpand(this.exporterSecret,Moe,new Uint8Array(n),t)}catch(e){throw new bae(e)}}},Noe=class extends nc{},Poe=class extends nc{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}},rc=class extends nc{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=hs(e.seq,e.baseNonce.byteLength);return Mae(e.baseNonce,t).buffer}incrementSeq(e){if(e.seq>2**53-1)throw new Cae(`Message limit reached`);e.seq+=1}},Foe=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)},Ioe=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},ic,ac=class{constructor(){ic.set(this,Promise.resolve())}async lock(){let e,t=new Promise(t=>{e=t}),n=Foe(this,ic,`f`);return Ioe(this,ic,t,`f`),await n,e}};ic=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)},Loe=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,Roe=class extends rc{constructor(){super(...arguments),sc.set(this,void 0)}async open(e,t=ss.buffer){Loe(this,sc,oc(this,sc,`f`)??new ac,`f`);let n=await oc(this,sc,`f`).lock(),r;try{r=await this._ctx.key.open(this.computeNonce(this._ctx),ps(e),ps(t))}catch(e){throw new Sae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};sc=new WeakMap;var cc=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},lc,Boe=class extends rc{constructor(e,t,n,r){super(e,t,n),Object.defineProperty(this,"enc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),lc.set(this,void 0),this.enc=r}async seal(e,t=ss.buffer){zoe(this,lc,cc(this,lc,`f`)??new ac,`f`);let n=await cc(this,lc,`f`).lock(),r;try{r=await this._ctx.key.seal(this.computeNonce(this._ctx),ps(e),ps(t))}catch(e){throw new xae(e)}finally{n()}return this.incrementSeq(this._ctx),r}};lc=new WeakMap;var Voe=new Uint8Array([98,97,115,101,95,110,111,110,99,101]),Hoe=new Uint8Array([101,120,112]),Uoe=new Uint8Array([105,110,102,111,95,104,97,115,104]),Woe=new Uint8Array([107,101,121]),Goe=new Uint8Array([112,115,107,95,105,100,95,104,97,115,104]),Koe=new Uint8Array([115,101,99,114,101,116]),qoe=new Uint8Array([72,80,75,69,0,0,0,0,0,0]),Joe=class extends rs{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 Qo(`KemId cannot be used`);if(this._kem=e.kem,typeof e.kdf==`number`)throw new Qo(`KdfId cannot be used`);if(this._kdf=e.kdf,typeof e.aead==`number`)throw new Qo(`AeadId cannot be used`);this._aead=e.aead,this._suiteId=new Uint8Array(qoe),this._suiteId.set(hs(this._kem.id,2),4),this._suiteId.set(hs(this._kdf.id,2),6),this._suiteId.set(hs(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?is.Base:is.Auth:e.senderKey===void 0?is.Psk:is.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?is.Base:is.Auth:e.senderPublicKey===void 0?is.Psk:is.AuthPsk,await this._keyScheduleR(n,t,e)}async seal(e,t,n=ss.buffer){let r=await this.createSenderContext(e);return{ct:await r.seal(t,n),enc:r.enc}}async open(e,t,n=ss.buffer){return await(await this.createRecipientContext(e)).open(t,n)}async _keySchedule(e,t,n){let r=n.psk===void 0?ss:fs(n.psk.id),i=await this._kdf.labeledExtract(ss,Goe,r),a=n.info===void 0?ss:fs(n.info),o=await this._kdf.labeledExtract(ss,Uoe,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?ss:fs(n.psk.key),l=this._kdf.buildLabeledIkm(Koe,c),u=this._kdf.buildLabeledInfo(Hoe,s,this._kdf.hashSize),d=await this._kdf.extractAndExpand(t,l,u,this._kdf.hashSize);if(this._aead.id===os.ExportOnly)return{aead:this._aead,exporterSecret:d};let f=this._kdf.buildLabeledInfo(Woe,s,this._aead.keySize),p=await this._kdf.extractAndExpand(t,l,f,this._aead.keySize),m=this._kdf.buildLabeledInfo(Voe,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 Poe(this._api,this._kdf,i.exporterSecret,n):new Boe(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 Noe(this._api,this._kdf,r.exporterSecret):new Roe(this._api,this._kdf,r)}_validateInputLength(e){if(e.info!==void 0&&e.info.byteLength>268435456)throw new Qo(`Too long info`);if(e.psk!==void 0){if(e.psk.key.byteLength<32)throw new Qo(`PSK must have at least 32 bytes`);if(e.psk.key.byteLength>8192)throw new Qo(`Too long psk.key`);if(e.psk.id.byteLength>8192)throw new Qo(`Too long psk.id`)}}},Yoe=class extends Joe{},Xoe=1n,uc=2n,Zoe=3n,Qoe=5n,dc=57896044618658097711785492504343953926634992332820282019728792003956564819949n;function $oe(e){let t=10n,n=80n,r=dc,i=e*e%r*e%r,a=Hs(Hs(i,uc,r)*i%r,Xoe,r)*e%r,o=Hs(a,Qoe,r)*a%r,s=Hs(o,t,r)*o%r,c=Hs(s,20n,r)*s%r,l=Hs(c,40n,r)*c%r;return{pow_p_5_8:Hs(Hs(Hs(Hs(l,n,r)*l%r,n,r)*l%r,t,r)*o%r,uc,r)*e%r,b2:i}}function ese(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var tse=(()=>{let e=dc;return uoe({P:e,type:`x25519`,powPminus2:t=>{let{pow_p_5_8:n,b2:r}=$oe(t);return Vs(Hs(n,Zoe,e)*r,e)},adjustScalarBytes:ese})})(),nse=class extends zae{constructor(e){super(`X25519`,32,tse,e)}derive(e,t){try{return Promise.resolve(this._curve.getSharedSecret(e,t))}catch(e){return Promise.reject(new $o(e))}}},fc=`DHKEM_X25519_HKDF_SHA256/HKDF_SHA256/CHACHA20_POLY1305/AUTH`,rse=2**31,ise=65536,ase=16,pc=32,mc=(1n<<255n)-19n,hc=new TextEncoder,gc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;function _c(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 ose=new Set([0n,1n,_c(`e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800`),_c(`5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157`),mc-1n]),sse=new Uint8Array,vc=class extends Aae{async extract(e,t){return ps(Ls(Bs,e.byteLength===0?new Uint8Array(this.hashSize):fs(e),fs(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=fs(e),i=fs(t),a=new Uint8Array(n),o=sse;for(let e=1,t=0;t<a.byteLength;e+=1){let n=Sc([o,i,Uint8Array.of(e)]);o=new Uint8Array(Ls(Bs,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 ps(a)}async extractAndExpand(e,t,n,r){return this.expand(await this.extract(e,t),n,r)}},yc=new Yoe({kem:new class extends Iae{secretSize=32;encSize=32;publicKeySize=32;privateKeySize=32;constructor(e){super(Dae.DhkemX25519HkdfSha256,new nse(e),e)}}(new vc),kdf:new vc,aead:new joe}),bc=class extends Error{code;name=`RelayPayloadChannelFailure`;constructor(e,t){super(t),this.code=e}};function xc(e){return new Uint8Array(e.slice(0))}function cse(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function Sc(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 Cc(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw new bc(`channel_ticket_binding_invalid`,`Invalid uint32 value.`);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!1),t}function wc(e){if(!Number.isSafeInteger(e)||e<0)throw new bc(`channel_ticket_binding_invalid`,`Invalid uint64 value.`);let t=new Uint8Array(8);return new DataView(t.buffer).setBigUint64(0,BigInt(e),!1),t}function lse(e){return Sc([Cc(e.byteLength),e])}function Tc(e){return Uint8Array.of(e===`control-to-runtime`?0:1)}function use(e){return e===`handshake`?Uint8Array.of(0):e===`application`?Uint8Array.of(1):Uint8Array.of(2)}function Ec(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+=gc[o>>>18&63],t+=gc[o>>>12&63],n+1<e.byteLength&&(t+=gc[o>>>6&63]),n+2<e.byteLength&&(t+=gc[o&63])}return t}function Dc(e){if(!/^[A-Za-z0-9_-]*$/.test(e)||e.length%4==1)throw new bc(`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=gc.indexOf(a);n=n<<6|e,r+=6,r>=8&&(r-=8,t[i]=n>>>r&255,i+=1)}if(Ec(t)!==e)throw new bc(`channel_authentication_failed`,`Encrypted relay frame has a non-canonical base64url encoding.`);return t}function dse(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 ose.has(n%mc)}var fse={async sha256(e){if(globalThis.crypto?.subtle===void 0)throw new bc(`channel_authentication_failed`,`SHA-256 is unavailable in this runtime.`);return xc(await globalThis.crypto.subtle.digest(`SHA-256`,cse(e)))}},Oc={randomBytes(e){if(globalThis.crypto?.getRandomValues===void 0)throw new bc(`endpoint_key_invalid`,`A cryptographically secure random source is unavailable.`);return globalThis.crypto.getRandomValues(new Uint8Array(e))}};function kc(e,t){let n=hc.encode(e).byteLength;if(n===0||n>256)throw new bc(`channel_ticket_binding_invalid`,`${t} must contain between 1 and 256 UTF-8 bytes.`)}function pse(e){let t=hc.encode(e).byteLength;if(t===0||t>65536)throw new bc(`channel_ticket_binding_invalid`,`Control ticket must contain between 1 and ${ise} UTF-8 bytes.`)}async function Ac(e,t=fse){pse(e.exactCompactTicket),kc(e.channelId,`Channel ID`),kc(e.runtimeId,`Runtime ID`),wc(e.connectionEpoch);let n=await t.sha256(hc.encode(e.exactCompactTicket));if(n.byteLength!==32)throw new bc(`channel_ticket_binding_invalid`,`The control ticket digest must be 32 bytes.`);return{...e,ticketDigest:new Uint8Array(n)}}function mse(e){return Ec(e.ticketDigest)}async function hse(e=Oc){let t=new Uint8Array(await e.randomBytes(pc));if(t.byteLength!==pc)throw new bc(`endpoint_key_invalid`,`The endpoint random source must return ${pc} bytes.`);try{return Ec(t)}finally{t.fill(0)}}function jc(e){return Sc([hc.encode(`forge-relay-v4`),Uint8Array.of(0),e.ticketDigest,Tc(e.direction)])}function Mc(e){return Sc([hc.encode(`forge-relay`),Cc(4),e.binding.ticketDigest,hc.encode(e.binding.channelId),Tc(e.binding.direction),use(e.frameClass),wc(e.sequence),hc.encode(e.binding.runtimeId),wc(e.binding.connectionEpoch),Cc(e.ciphertextLength)].map(lse))}async function gse(e=Oc){let t=new Uint8Array(await e.randomBytes(pc));if(t.byteLength!==pc)throw new bc(`endpoint_key_invalid`,`The endpoint random source must return ${pc} bytes.`);try{return await yc.kem.deriveKeyPair(t)}catch(e){throw new bc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint key generation failed.`)}finally{t.fill(0)}}async function Nc(e){try{return Ec(xc(await yc.kem.serializePublicKey(e)))}catch(e){throw new bc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key serialization failed.`)}}function _se(e,t){if(!/^[A-Za-z0-9_-]{43}$/u.test(t))throw new bc(`endpoint_key_invalid`,`The endpoint key ID requires a canonical X25519 public key.`);return`${e}:${t}`}async function vse(e){try{let t=Dc(e);if(t.byteLength!==pc)throw Error(`Invalid endpoint key length.`);if(dse(t))throw new bc(`endpoint_key_invalid`,`Low-order X25519 endpoint public keys are not allowed.`);return await yc.kem.deserializePublicKey(t)}catch(e){throw e instanceof bc?e:new bc(`endpoint_key_invalid`,e instanceof Error?e.message:`Endpoint public-key deserialization failed.`)}}var Pc=class{tail=Promise.resolve();run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),t}},Fc=class{startedAt=Date.now();records=0;bytes=0;assertAvailable(e){if(this.records>=rse||this.bytes+e>1073741824||Date.now()-this.startedAt>=18e5)throw new bc(`channel_limit_reached`,`The encrypted relay channel must be renewed before another record is sent.`)}commit(e){this.records+=1,this.bytes+=e}};function yse(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 bc(`channel_ticket_binding_invalid`,`Encrypted relay frame does not match the CMMD-ticket-bound channel.`)}var bse=class{binding;context;encapsulatedKey;queue=new Pc;budget=new Fc;sequence=0;constructor(e,t){this.binding=e,this.context=t,this.encapsulatedKey=Ec(xc(t.enc))}seal(e){return this.queue.run(async()=>{if(e.plaintext.byteLength>16777216)throw new bc(`channel_limit_reached`,`Encrypted relay plaintext exceeds the per-record byte limit.`);let t=e.plaintext.byteLength+ase;this.budget.assertAvailable(t);let n=this.sequence,r=Mc({binding:this.binding,frameClass:e.frameClass,sequence:n,ciphertextLength:t}),i;try{i=xc(await this.context.seal(e.plaintext,r))}catch(e){throw new bc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload encryption failed.`)}if(i.byteLength!==t)throw new bc(`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:Ec(i)}})}},xse=class{binding;context;queue=new Pc;budget=new Fc;sequence=0;constructor(e,t){this.binding=e,this.context=t}open(e){return this.queue.run(async()=>{if(yse(e,this.binding),!Number.isSafeInteger(e.sequence)||e.sequence!==this.sequence)throw new bc(`channel_sequence_invalid`,`Expected encrypted relay sequence ${this.sequence}, received ${String(e.sequence)}.`);let t=Dc(e.ciphertext);this.budget.assertAvailable(t.byteLength);let n=Mc({binding:this.binding,frameClass:e.frameClass,sequence:e.sequence,ciphertextLength:t.byteLength}),r;try{r=xc(await this.context.open(t,n))}catch(e){throw new bc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload authentication failed.`)}if(r.byteLength>16777216)throw new bc(`channel_limit_reached`,`Decrypted relay plaintext exceeds the per-record byte limit.`);return this.sequence+=1,this.budget.commit(t.byteLength),r})}};async function Sse(e){let t=null;try{if(t=new Uint8Array(await(e.randomSource??Oc).randomBytes(pc)),t.byteLength!==pc)throw Error(`The endpoint random source must return ${pc} bytes.`);let n=await yc.createSenderContext({recipientPublicKey:e.recipientPublicKey,senderKey:e.senderKey,info:jc(e.binding),ekm:t});return new bse(e.binding,n)}catch(e){throw new bc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload sender setup failed.`)}finally{t?.fill(0)}}async function Cse(e){try{let t=await yc.createRecipientContext({recipientKey:e.recipientKey,senderPublicKey:e.senderPublicKey,enc:Dc(e.encapsulatedKey),info:jc(e.binding)});return new xse(e.binding,t)}catch(e){throw e instanceof bc?e:new bc(`channel_authentication_failed`,e instanceof Error?e.message:`Relay payload recipient setup failed.`)}}var wse=128,Tse=2097152,Ese=864e5,Ic=class extends Error{constructor(e){super(e),this.name=`RelayControlJournalError`}};function Lc(e){return typeof e==`string`&&e.length>0}function Rc(e){return Lc(e)&&Number.isFinite(Date.parse(e))}function Dse(e){return e===`pending`||e===`retrying`||e===`outcome-unknown`||e===`failed`}function Ose(e){return Lc(e.transportRequestId)&&Lc(e.runtimeId)&&Lc(e.actorSessionId)&&Lc(e.durableRequestId)&&Lc(e.method)}function kse(e){return Number.isSafeInteger(e.sequence)&&Number(e.sequence)>0&&Number.isSafeInteger(e.attemptCount)&&Number(e.attemptCount)>=0}function Ase(e){return e.persistence!==`frame`&&e.persistence!==`metadata-only`||e.frame!==null&&!Lc(e.frame)?!1:e.persistence!==`metadata-only`||e.frame===null}function jse(e){return!Dse(e.status)||e.errorCode!==null&&!Lc(e.errorCode)?!1:e.status===`outcome-unknown`||e.status===`failed`?e.frame===null&&Lc(e.errorCode):e.errorCode===null}function Mse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return Ose(t)&&kse(t)&&Ase(t)&&jse(t)&&Rc(t.createdAt)&&Rc(t.updatedAt)}function Nse(e){try{return JSON.parse(e)}catch{throw new Ic(`Forge relay control journal is corrupt.`)}}function Pse(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;return t.version===1&&Lc(t.controlSessionId)&&Number.isSafeInteger(t.nextSequence)&&Number(t.nextSequence)>=1&&Array.isArray(t.records)&&t.records.every(Mse)}function Fse(e){let t=new Set(e.map(zc)),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 Ise(e){let t=Nse(e);if(!Pse(t))throw new Ic(`Forge relay control journal is corrupt.`);let n=t.records,r=n.reduce((e,t)=>Math.max(e,t.sequence),0);if(!Fse(n)||t.nextSequence<=r)throw new Ic(`Forge relay control journal is corrupt.`);return{version:1,controlSessionId:t.controlSessionId,nextSequence:t.nextSequence,records:n}}function Lse(){return crypto.randomUUID()}function zc(e){return`${e.runtimeId}\0${e.actorSessionId}\0${e.transportRequestId}`}var Bc={pending:1,retrying:2,"outcome-unknown":3,failed:4};function Rse(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)=>Bc[t.status]>Bc[e]?t.status:e,`pending`);return{state:r,count:n.filter(e=>e.status===r).length}}function Vc(e){let t=e.randomUUID??Lse,n=e.now??(()=>new Date),r=e.maxRecords??wse,i=e.maxBytes??Tse,a=e.maxReplayAgeMs??Ese;if(r<1||i<1||a<1)throw new Ic(`Forge relay control journal limits must be positive.`);let o=e.storage.read(),s=n(),c=o?Ise(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 Ic(`Forge relay control journal reached its record limit.`);let n=JSON.stringify(t);if(new TextEncoder().encode(n).byteLength>i)throw new Ic(`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=zc(e);return{key:t,existing:c.records.find(e=>zc(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 Ic(`Relay transport request ${t.transportRequestId} was reused with different content.`);if(e.status===`failed`||e.status===`outcome-unknown`)throw new Ic(`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 Ic(`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 Ic(`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(zc({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 Ic(`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(zc({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 Ic(`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(zc(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 zse(e=null){let t=e;return{read:()=>t,write:e=>{t=e}}}var Bse=rn(dne),Vse=vn(mne),Hse=vn(ine),Use=[`rpc.read`,`rpc.mutate`,`cursor.resume`,`terminal.stream`,`browser.stream`,`bulk.transfer`,`envelope.validation`,`payload.e2e`];function Hc(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 Uc(e,t){let n=JSON.parse(e),r=lae(n);if(r!==null)return{messageType:`request`,...r};let i=Wse(n,t);if(i!==null)return i;let a=Gse(n);if(a!==null)return a;throw Error(`Forge relay protocol v2 requires a recognized Effect RPC frame.`)}function Wse(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=Xo({method:e.tag,payload:e.payload,grantedScopes:t});return{messageType:`request`,requestId:e.id,correlationId:Hc(e.headers,$n.requestId)??e.id,method:e.tag,...n}}function Gse(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 Wc(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 Kse=new Set([`network`,`server`,`auth`,`permission`,`client`]),qse=new Set([`network`,`server`]);function Jse(e){return e&&typeof e==`object`?e:{}}function Yse(e){return typeof e.code==`string`&&e.code.length>0?e.code:typeof e.kind==`string`&&Kse.has(e.kind)?`RELAY_ACTION_GRANT_UNAVAILABLE`:`MALFORMED_FRAME`}function Xse(e){if(e.retryable===!0||typeof e.kind==`string`&&qse.has(e.kind))return!0;let t=typeof e.status==`number`?e.status:null;return t===429||t!==null&&t>=500}function Gc(e){let t=Jse(e);return{code:Yse(t),message:e instanceof Error?e.message:`Forge relay frame encoding failed.`,retryable:Xse(t)}}function Kc(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 Zse(e){return!Array.isArray(e)||e.length!==2||typeof e[0]!=`string`?!1:Object.values($n).includes(e[0])}function qc(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Qse(e){if(!Array.isArray(e))return null;for(let t of e){let e=qc(t);if(e?._tag!==`Fail`)continue;let n=qc(e.error)?.code;if(typeof n==`string`&&n.length>0)return n}return null}function $se(e){let t=qc(e.exit);return t===null?`RELAY_RPC_RESPONSE_INVALID`:t._tag===`Success`?null:t._tag!==`Failure`||!Array.isArray(t.cause)?`RELAY_RPC_RESPONSE_INVALID`:Qse(t.cause)??`RELAY_RPC_FAILED`}function Jc(e){if(typeof e!=`string`)return null;try{let t=Bse(JSON.parse(e));return t._tag===`Some`?t.value:null}catch{return null}}function ece(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 Yc(e,t,n){if(typeof e==`string`)try{let r=qc(JSON.parse(e));if(r?._tag!==`Exit`||typeof r.requestId!=`string`)return;let i=$se(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 tce(e){let t=Hc(e,$n.sequence);if(t===null)return;let n=Number(t);return Number.isSafeInteger(n)&&n>=0?n:void 0}function nce(e){return{issuedAt:Hc(e,$n.issuedAt)??new Date().toISOString(),expiresAt:Hc(e,$n.expiresAt)??new Date(Date.now()+12e4).toISOString()}}function rce(e){if(e!==2&&e!==3&&e!==4)throw new qo(`protocol_version_mismatch`,`Unsupported Forge relay envelope version: ${e}`,!1);return e}async function ice(e){let t=_ae({method:e.identity.method,payload:e.payload});if(t===null)return;let n=ace(e.context);if(e.acquire===void 0)throw new qo(`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 ace(e){if(e.protocolVersion===3)return{protocolVersion:3};if(e.protocolVersion!==4)throw new qo(`protocol_update_required`,`Update Forge on the target runtime before responding remotely.`,!1);return{protocolVersion:4,channelId:Xc(e.channelId),channelTicketDigest:Xc(e.channelTicketDigest),runtimeEndpointKeyId:Xc(e.runtimeEndpointKeyId),controlEndpointKeyId:Xc(e.controlEndpointKeyId)}}function Xc(e){if(typeof e==`string`&&e.length>0)return e;throw new qo(`channel_ticket_binding_invalid`,`The encrypted Forge relay channel is missing its CMMD ticket binding.`,!1)}function oce(e){return e===void 0?{}:{sequence:e}}function Zc(e){return e===void 0?{}:{actionGrant:e}}async function sce(e){let t=Uc(e.data,e.context.scopes),n=JSON.parse(e.data),r=nce(n.headers),i=tce(n.headers),a=await e.crypto.sha256Base64Url(e.data),o=await ice({context:e.context,identity:t,payload:n.payload,payloadHash:a,...e.acquireActionGrant===void 0?{}:{acquire:e.acquireActionGrant}}),s=rce(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,...oce(i)};return s===2?{protocolVersion:2,...c}:s===3?{protocolVersion:3,...c,...Zc(o)}:{protocolVersion:4,...c,...Zc(o)}}function Qc(e){return typeof e==`string`&&e.length>0}function cce(e){return[e.protocolVersion===4,Qc(e.runtimeId),Number.isSafeInteger(e.connectionEpoch),Number(e.connectionEpoch)>0,e.hpkeSuite===fc,Qc(e.channelId),Qc(e.runtimeEndpointKeyId),Qc(e.runtimeEndpointPublicKey),Qc(e.controlEndpointKeyId),Qc(e.controlEndpointPublicKey),Qc(e.controlChannelNonce),e.controlEndpointKeyPair!==void 0].every(Boolean)}function $c(e){if(!cce(e))throw new qo(`end_to_end_encryption_required`,`Forge relay protocol v4 requires complete endpoint encryption metadata.`,!1);return e}async function lce(e){if(await Nc(e.controlEndpointKeyPair.publicKey)!==e.controlEndpointPublicKey)throw new qo(`endpoint_key_invalid`,`The control endpoint private key does not match the CMMD route.`,!1);let t=await vse(e.runtimeEndpointPublicKey),[n,r]=await Promise.all([Ac({exactCompactTicket:e.token,channelId:e.channelId,direction:`control-to-runtime`,runtimeId:e.runtimeId,connectionEpoch:e.connectionEpoch},e.payloadDigestProvider),Ac({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 Sse({binding:n,senderKey:e.controlEndpointKeyPair,recipientPublicKey:t,...e.payloadRandomSource?{randomSource:e.payloadRandomSource}:{}}),runtimePublicKey:t,recipient:null,phase:`awaiting-runtime-hello`}}function el(e,t,n){return[e.direction===`runtime-to-control`,e.frameClass===n,e.channelId===t.channelId].every(Boolean)}function uce(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 tl(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 nl(e){if(e.channel.recipient!==null){if(e.message.encapsulatedKey!==void 0)throw new qo(`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 qo(`channel_confirmation_failed`,`The runtime handshake omitted its endpoint encapsulation.`,!1);let t=await Cse({binding:e.channel.runtimeToControlBinding,recipientKey:e.route.controlEndpointKeyPair,senderPublicKey:e.channel.runtimePublicKey,encapsulatedKey:e.message.encapsulatedKey});return e.channel.recipient=t,t}var rl=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=Kc(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`,Kc(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=Uc(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=Gc(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`,Wc(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 sce({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 qo(`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 fl({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=>!Zse(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&&Yc(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=Gc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Wc(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 lce($c(this.route))),this.socket.send(JSON.stringify({type:`relay.auth`,ticket:this.route.token,protocolMinVersion:this.route.protocolVersion,protocolMaxVersion:this.route.protocolVersion,capabilities:Use,...this.payloadChannel?{controlToRuntimeEncapsulatedKey:this.payloadChannel.sender.encapsulatedKey}:{}}))}catch(e){let t=Gc(e);this.lifecycle.onError?.({code:t.code,message:t.message}),this.emit(`error`,Wc(t.code,t.message)),this.socket.close(4400,t.message)}}async handleAuthenticationMessage(e){let t=Jc(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`,Wc(t.code,t.message)),this.socket.close(4403,t.message);return}t.type===`relay.authenticated`&&await this.handleAuthenticatedMessage(t)}}async handleAuthenticatedMessage(e){let t=ece(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=$c(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:mse(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=$c(this.route);if(t===null||n===null||!el(e,r,`handshake`))throw new qo(`channel_confirmation_failed`,`The runtime sent an invalid encrypted handshake frame.`,!1);let i=await(await nl({channel:t,route:r,message:e})).open(e),a=Vse(JSON.parse(new TextDecoder().decode(i))),o=t.phase===`awaiting-runtime-hello`?`runtime-hello`:`runtime-confirm`;if(!uce({confirmation:a,expectedPhase:o,route:r,context:n}))throw new qo(`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=Jc(e);if(t?.type!==`relay.encrypted-frame`)throw new qo(`end_to_end_encryption_required`,`The runtime sent plaintext after the encrypted channel was confirmed.`,!1);let n=this.requirePayloadChannel();if(!el(t,$c(this.route),`application`)||t.encapsulatedKey!==void 0||n.recipient===null)throw new qo(`channel_authentication_failed`,`The runtime sent an invalid encrypted application frame.`,!1);let r=await n.recipient.open(t),i=Hse(JSON.parse(new TextDecoder().decode(r))),a=this.requireReadyContext();if(!tl({application:i,context:a,payloadHash:await this.relayCrypto.sha256Base64Url(i.payload)}))throw new qo(`channel_authentication_failed`,`The decrypted runtime envelope does not match the active route.`,!1);Yc(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 il(e,t,n=sl,r=Vc({storage:zse(),randomUUID:n.randomUUID}),i={},a){return new rl(e,t,n,r,i,a).asWebSocket()}var al=jo(pne);async function ol(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 sl={randomUUID:()=>crypto.randomUUID(),sha256Base64Url:ol},cl=`forge-relay-binding=`,ll=3e4;function ul(e){let t=new URL(String(e)).hash.slice(1);if(!t.startsWith(cl))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 dl(e){let t=e.crypto??sl,n=e.bindingTtlMs??ll,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=`${cl}${encodeURIComponent(a)}`;let s=setTimeout(()=>i.delete(a),n);return i.set(a,{route:r,expires:s}),o.toString()},constructSocket:(n,a)=>{let o=ul(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?.(),il(r(s.route.relayWebSocketUrl,a),s.route,t,e.journal,e.lifecycle,e.acquireActionGrant)}}}async function fl(e){let t=e.issuedAt??new Date,n=e.crypto??sl;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(sae(e.payload))}}function pl(e,t){return Xte(tne,({rpc:t,request:n,next:r})=>ot(function*(){return Xo({method:t._tag,payload:n.payload,grantedScopes:e}),yield*r(n)}))}function dce(e,t=sl){return al.pipe(Se(pl(e,t)))}function fce(e){let t=e.crypto??sl,n=dl({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(ca,n.constructSocket),a=la(r).pipe(E(i)),o=e.delayForRetry??oae,s=Lt(_(e.maxRetries??10),e=>rt(Ue(o(e)??0)));return ht(Po,Fo({retryPolicy:s,retryTransientErrors:!0})).pipe(E(De(a,Ao)))}var ml=class extends Error{name=`RelayControlRouteSecurityFailure`};async function pce(e){let t=await gse(e),n=await Nc(t.publicKey);return{keyPair:t,publicKey:n,keyId:_se(`control`,n),channelNonce:await hse(e)}}function mce(e){return{hpkeSuite:fc,controlEndpointKeyId:e.keyId,controlEndpointPublicKey:e.publicKey,controlChannelNonce:e.channelNonce}}function hce(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 ml(`Forge could not establish a verified end-to-end encrypted runtime route.`);return{...t,runtimeId:e.runtimeId,protocolVersion:4,channelId:t.channelId,hpkeSuite:fc,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 hl=`~effect/ManagedRuntime`,gl=(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={[hl]:hl,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(_l(u,e),s(t)):We(u.cachedContext)(e,s(t))},runCallback(e,t){return u.cachedContext===void 0?cee(_l(u,e),s(t)):hte(u.cachedContext)(e,s(t))},runSyncExit(e){return u.cachedContext===void 0?Zee(_l(u,e)):le(u.cachedContext)(e)},runSync(e){return u.cachedContext===void 0?fe(_l(u,e)):See(u.cachedContext)(e)},runPromiseExit(e,t){return u.cachedContext===void 0?pee(_l(u,e),s(t)):vee(u.cachedContext)(e,s(t))},runPromise(e,t){return u.cachedContext===void 0?A(_l(u,e),s(t)):ne(u.cachedContext)(e,s(t))}};return u};function _l(e,t){return wt(e.contextEffect,e=>Te(t,e))}function vl(e,t=Cne){return`${e}\0${t}`}function gce(e){let t=new Map,n=!1;return{register(e){if(n)throw Error(`Terminal control sequencer is disposed.`);let r=vl(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(vl(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(vl(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 yl={accept:!1,observe:!1,missingFrameCount:0,startsNewStream:!1};function bl(e){let t=e===!0;return{accept:t,observe:t,missingFrameCount:0,startsNewStream:t}}function _ce(e,t){let n=e.streamGeneration===void 0&&e.streamId===void 0,r=t.streamGeneration!==void 0||t.streamId!==void 0;return n&&r?bl(t.keyframe):null}function vce(e,t){return e.streamGeneration===void 0||t.streamGeneration===void 0?null:t.streamGeneration<e.streamGeneration?yl:t.streamGeneration>e.streamGeneration?bl(t.keyframe):null}function yce(e,t){if(!e.streamId||!t.streamId)return null;if(e.streamId!==t.streamId)return bl(t.keyframe);if(t.sequence<=e.observedSequence)return yl;let n=Math.max(0,t.sequence-e.observedSequence-1);return{accept:n===0||t.keyframe===!0,observe:!0,missingFrameCount:n,startsNewStream:!1}}function bce(e,t){if(t.sequence>e.acceptedSequence)return{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1};if(!e.acceptedCapturedAt)return yl;let n=Date.parse(e.acceptedCapturedAt),r=Date.parse(t.capturedAt);return Number.isNaN(n)||Number.isNaN(r)||r<=n?yl:{accept:!0,observe:!0,missingFrameCount:0,startsNewStream:!1}}function xce(e,t){return _ce(e,t)??vce(e,t)??yce(e,t)??bce(e,t)}function Sce(e,t){let n=xce(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 xl=O(),Sl=`Forge`,Cce=`Alpha`,Cl=Sl,wl=`0.13.4`,Tl=Jt(`forge-app-top-bar drag-region @container/header-actions relative z-20 w-full min-w-0 shrink-0 bg-background`,`grid grid-cols-[minmax(0,1fr)_minmax(0,auto)] items-center`),El=`flex h-full min-w-0 items-center gap-1 md:gap-1.5`,Dl=`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`,wce={width:`calc(100% - var(--forge-right-panel-reserved-width, 0px))`},Tce=`forge-app-shell flex w-full min-w-0 flex-row`,Ol=`forge-app-shell flex w-full min-w-0 flex-col`,Ece=`flex min-h-0 min-w-0 flex-1 flex-col`,Dce=`relative flex h-[var(--forge-content-height)] min-h-0 min-w-0 flex-1 overflow-hidden`;function kl(e){let t=(0,xl.c)(19),{showStageBadge:n,tone:r,variant:i}=e,a=n!==void 0&&n,o=r===void 0?`default`:r,s=(i===void 0?`default`:i)===`auth`,c=s?20:16,l=s?`h-5 w-5 shrink-0`:`h-4 w-4 shrink-0`,u;t[0]!==c||t[1]!==l?(u=(0,Nr.jsx)(`img`,{className:l,src:`/forge-mark.svg`,width:c,height:c,alt:``,"aria-hidden":`true`}),t[0]=c,t[1]=l,t[2]=u):u=t[2];let d=u,f=s?`text-[15px] sm:text-base`:`text-sm`,p=o===`on-dark`?`text-primary-foreground`:`text-foreground`,m;t[3]!==f||t[4]!==p?(m=Jt(`truncate font-semibold tracking-tight`,f,p),t[3]=f,t[4]=p,t[5]=m):m=t[5];let h;t[6]===m?h=t[7]:(h=(0,Nr.jsx)(`span`,{className:m,children:Sl}),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:Cce}),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":Cl,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":Cl,children:[d,g]}),t[16]=d,t[17]=g,t[18]=b):b=t[18],b}function Al(e){let t=(0,xl.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=Jt(`pointer-events-none flex select-none items-center`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Nr.jsx)(kl,{}),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 Oce(){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 jl=typeof window<`u`?window.localStorage:Oce(),kce=(e,t)=>rr(Bn(e))(t),Ace=(e,t)=>Dte(Bn(e))(t),Ml=(e,t)=>{let n=jl.getItem(e);return n?kce(t,n):null},Nl=(e,t,n)=>{let r=Ace(n,t);jl.setItem(e,r)},Pl=e=>{jl.removeItem(e)},Fl=`forge:local_storage_change`;function jce(e){typeof window>`u`||window.dispatchEvent(new CustomEvent(Fl,{detail:{key:e}}))}function Il(e,t,n){let[r,i]=(0,F.useState)(()=>{try{return Ml(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?Pl(e):Nl(e,i,n),queueMicrotask(()=>jce(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=Ml(e,n);i(r??t)}catch(e){console.error(`[LOCALSTORAGE] Error:`,e)}}},[e,t,n]),(0,F.useEffect)(()=>{let r=()=>{try{let r=Ml(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(Fl,o),()=>{window.removeEventListener(`storage`,a),window.removeEventListener(Fl,o)}},[e,t,n]),[r,a]}var Ll=`cmmd-runtime:`;function Mce(e){return`${Ll}${e}`}function Rl(e){return zl(e)!==null}function zl(e){let t=String(e);if(!t.startsWith(`cmmd-runtime:`))return null;let n=t.slice(13);return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(n)?n:null}var Bl=`forge:client-settings:v1`,Nce=`forge:saved-environment-registry:v1`,Pce=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)}),Vl=nr({version:cn(Ln),records:cn(Jn(Pce))});function Hl(){return typeof window<`u`}var Fce={uiFontSize:14,codeFontSize:15},Ice=[[`uiFontSize`,11,20],[`codeFontSize`,11,20]];function Lce(e){return e.defaultThreadRuntime===`desktop-cloud-bridge`?{...e,defaultThreadRuntime:`cloud`}:null}function Rce(e){if(typeof e.fontDefaultsVersion==`number`)return null;let t=Object.entries(Fce).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 zce(e){let t=Ice.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 Ul(e){if(!e||typeof e!=`object`)return e;let t=e,n=!1;for(let e of[Lce,Rce,zce]){let r=e(t);r!==null&&(t=r,n=!0)}return n?t:e}function Bce(){if(!Hl())return null;try{let e=window.localStorage.getItem(Bl);return e?vn(tr)(Ul(JSON.parse(e))):null}catch{return null}}function Vce(e){Hl()&&Nl(Bl,e,tr)}function Wl(){if(!Hl())return{};try{return Ml(`forge:saved-environment-registry:v1`,Vl)??{}}catch{return{}}}function Gl(e){Hl()&&Nl(Nce,e,Vl)}function Kl(){return Wl().records??[]}function Hce(e){Gl({version:1,records:e})}function Uce(){return Kl().map(e=>wn(e))}function Wce(e){let t=new Map(Kl().map(e=>[e.environmentId,e]));Hce(e.map(e=>{let n=Rl(e.environmentId)?void 0:t.get(e.environmentId)?.bearerToken;return n?{...wn(e),bearerToken:n}:wn(e)}))}function Gce(e){return Kl().find(t=>t.environmentId===e)?.bearerToken??null}function Kce(e,t){let n=Wl(),r=n.records??[],i=!1;return Gl({version:n.version??1,records:r.map(n=>n.environmentId===e?(i=!0,Object.assign(wn(n),{bearerToken:t})):n)}),i}function qce(e){let t=Wl();Gl({version:t.version??1,records:(t.records??[]).map(t=>t.environmentId===e?wn(t):t)})}var Jce=vn(tr);function Yce(){return typeof window>`u`?void 0:window.desktopBridge}function ql(e){let t=Yce(),n=t?.[e];return typeof n==`function`?n.bind(t):null}async function Jl(){let e=ql(`getClientSettings`);if(e){let t=await e();return t?Jce(t):null}return Bce()}async function Yl(e){let t=ql(`setClientSettings`);if(t)return t(e);Vce(e)}async function Xl(){let e=ql(`getSavedEnvironmentRegistry`);return e?e():Uce()}async function Zl(e){let t=ql(`setSavedEnvironmentRegistry`);if(t)return t(e);Wce(e)}async function Ql(e){let t=ql(`getSavedEnvironmentSecret`);return t?t(e):Gce(e)}async function $l(e,t){let n=ql(`setSavedEnvironmentSecret`);return n?n(e,t):Kce(e,t)}async function eu(e){let t=ql(`removeSavedEnvironmentSecret`);if(t)return t(e);qce(e)}var tu=`token`;function nu(e){return new URLSearchParams(e.hash.startsWith(`#`)?e.hash.slice(1):e.hash)}function ru(e){let t=nu(e).get(tu)?.trim()??``;if(t.length>0)return t;let n=e.searchParams.get(tu)?.trim()??``;return n.length>0?n:null}function Xce(e){let t=new URL(e.toString()),n=nu(t);return n.has(tu)&&(n.delete(tu),t.hash=n.toString()),t.searchParams.delete(tu),t}function iu(e,t){let n=new URL(e.toString());return n.searchParams.delete(tu),n.hash=new URLSearchParams([[tu,t]]).toString(),n}function Zce(e,t){let n=new URL(e);return n.pathname=`/login`,iu(n,t).toString()}function Qce(e){return iu(new URL(`/login`,window.location.href),e).toString()}function $ce(e){let t=new URL(e),n=ru(t),r=new URL(`forge:///pair`);return r.searchParams.set(`serverUrl`,t.origin),n&&r.searchParams.set(tu,n),r.toString()}function ele(e){return{_tag:`Value`,value:e}}function tle(e,t){return{_tag:`Record`,keys:e,value:t}}function nle(e,t){return{_tag:`Array`,length:e,value:t}}$t(`SourceError`);var rle=$e(`effect/ConfigProvider`,{defaultValue:()=>ole()}),ile={...Ke,toJSON(){return{_id:`ConfigProvider`}}};function ale(e,t,n){let r=Object.create(ile);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 ole(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:`05d8568497fdceb5b5d827b142ea4c681bef25ce`,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+05d8568497fdceb5b5d827b142ea4c681bef25ce`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=sle(t);return ale(e=>rt(lle(n,t,e)))}function sle(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 cle=/^(0|[1-9][0-9]*)$/;function lle(e,t,n){let r=t[n.map(String).join(`_`)],i=ule(e,n),a=i?.children?Object.keys(i.children):[];return a.length===0?r===void 0?void 0:ele(r):a.every(e=>cle.test(e))?nle(Math.max(...a.map(e=>parseInt(e,10)))+1,r):tle(new Set(a),r)}function ule(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 au=`~effect/Config`,dle=class{_tag=`ConfigError`;name=`ConfigError`;cause;constructor(e){this.cause=e}get message(){return this.cause.toString()}toString(){return`ConfigError(${this.message})`}},fle={...Ke,...Cee,[au]:au,asEffect(){return wt(rle.asEffect(),e=>this.parse(e))},toJSON(){return{_id:`Config`}}};function ple(e){let t=Object.create(fle);return t.parse=e,t}var ou=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*ou(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*ou(e,[...t,i]));return r}}}),su=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*su(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*su(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*su(e.elements[r],t,[...n,r]));return i}case`Union`:return yield*ou(t,n);case`Suspend`:return yield*su(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 cu(e,t){let n=Ute(e),r=Pte(n),i=Yte(n.ast),a=typeof t==`string`?[t]:t??[];return ple(e=>{let t=e.prefix?[...e.prefix,...a]:a;return su(i,e,a).pipe(tte(e=>r(e).pipe(It(e=>new Ote(t.length>0?new Fte(t,e):e)))),It(e=>new dle(e)))})}var mle=(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,lu=`10.70.0`;function uu(){return du(V),V}function du(e){let t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||`10.70.0`,t[lu]=t[`10.70.0`]||{}}function fu(e,t,n=V){let r=n.__SENTRY__=n.__SENTRY__||{},i=r[lu]=r[`10.70.0`]||{};return i[e]||(i[e]=t())}var pu=[`debug`,`info`,`warn`,`error`,`log`,`assert`,`trace`],hle=`Sentry Logger `,mu={};function hu(e){if(!(`console`in V))return e();let t=V.console,n={},r=Object.keys(mu);r.forEach(e=>{let r=mu[e];n[e]=t[e],t[e]=r});try{return e()}finally{r.forEach(e=>{t[e]=n[e]})}}function gle(){vu().enabled=!0}function _le(){vu().enabled=!1}function gu(){return vu().enabled}function vle(...e){_u(`log`,...e)}function yle(...e){_u(`warn`,...e)}function ble(...e){_u(`error`,...e)}function _u(e,...t){B&&gu()&&hu(()=>{V.console[e](`${hle}[${e}]:`,...t)})}function vu(){return B?fu(`loggerSettings`,()=>({enabled:!1})):{enabled:!1}}var H={enable:gle,disable:_le,isEnabled:gu,log:vle,warn:yle,error:ble},yu=50,bu=/\(error: (.*)\)/,xu=/captureMessage|captureException/;function Su(...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=bu.test(n)?n.replace(bu,`$1`):n;if(!o.includes(`Error: `)){for(let e of t){let t=e(o);if(t){i.push(t);break}}if(i.length>=yu+r)break}}return Sle(i.slice(r))}}function xle(e){return Array.isArray(e)?Su(...e):e}function Sle(e){if(!e.length)return[];let t=Array.from(e);return/sentryWrapped/.test(Cu(t).function||``)&&t.pop(),t.reverse(),xu.test(Cu(t).function||``)&&(t.pop(),xu.test(Cu(t).function||``)&&t.pop()),t.slice(0,yu).map(e=>({...e,filename:e.filename||Cu(t).filename,function:e.function||`?`}))}function Cu(e){return e[e.length-1]||{}}var wu=`<anonymous>`;function Tu(e){try{return!e||typeof e!=`function`?wu:e.name||wu}catch{return wu}}function Eu(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 Cle(e){let t=e?.startsWith(`file://`)?e.slice(7):e;return t?.match(/\/[A-Z]:/)&&(t=t.slice(1)),t}var Du={},Ou={};function ku(e,t){return Du[e]=Du[e]||[],Du[e].push(t),()=>{let n=Du[e];if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}function Au(e,t){if(!Ou[e]){Ou[e]=!0;try{t()}catch(t){B&&H.error(`Error while instrumenting ${e}`,t)}}}function ju(e,t){let n=e&&Du[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: ${Tu(r)}
|
|
@@ -16,7 +16,7 @@ Url: ${cg(e)}`),!0;if(!gpe(e,t.allowUrls))return B&&H.warn(`Event dropped due to
|
|
|
16
16
|
Event: ${Cd(e)}.
|
|
17
17
|
Url: ${cg(e)}`),!0}else if(e.type===`transaction`&&mpe(e,t.ignoreTransactions))return B&&H.warn(`Event dropped due to being matched by \`ignoreTransactions\` option.
|
|
18
18
|
Event: ${Cd(e)}`),!0;return!1}function ppe(e,t){return t?.length?xh(e).some(e=>yd(e,t)):!1}function mpe(e,t){if(!t?.length)return!1;let n=e.transaction;return n?yd(n,t):!1}function hpe(e,t){if(!t?.length)return!1;let n=cg(e);return n?yd(n,t):!1}function gpe(e,t){if(!t?.length)return!0;let n=cg(e);return!n||yd(n,t)}function _pe(e=[]){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.filename!==`<anonymous>`&&n.filename!==`[native code]`)return n.filename||null}return null}function cg(e){try{let t=[...e.exception?.values??[]].reverse().find(e=>e.mechanism?.parent_id===void 0&&e.stacktrace?.frames?.length)?.stacktrace?.frames;return t?_pe(t):null}catch{return B&&H.error(`Cannot extract url for event ${Cd(e)}`),null}}function vpe(e){return e.exception?.values?.length?!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&e.type!==`Error`||e.value):!1}function ype(e,t,n,r,i,a){if(!i.exception?.values||!a||!Lu(a.originalException))return;let o=i.exception.values.length>0?i.exception.values[i.exception.values.length-1]:void 0;o&&(i.exception.values=lg(e,t,r,a.originalException,n,i.exception.values,o,0))}function lg(e,t,n,r,i,a,o,s){if(a.length>=n+1)return a;let c=[...a];if(Lu(r[i])){dg(o,s,r);let a=e(t,r[i]),l=c.length;fg(a,i,l,s),c=lg(e,t,n,r[i],i,[a,...c],a,l)}return ug(r)&&r.errors.forEach((a,l)=>{if(Lu(a)){dg(o,s,r);let u=e(t,a),d=c.length;fg(u,`errors[${l}]`,d,s),c=lg(e,t,n,a,i,[u,...c],u,d)}}),c}function ug(e){return Array.isArray(e.errors)}function dg(e,t,n){e.mechanism={handled:!0,type:`auto.core.linked_errors`,...ug(n)&&{is_exception_group:!0},...e.mechanism,exception_id:t}}function fg(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:`chained`,source:t,exception_id:n,parent_id:r}}function bpe(e){return Lu(e)&&`__sentry_fetch_url_host__`in e&&typeof e.__sentry_fetch_url_host__==`string`}function pg(e){return bpe(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}var mg=new Map,hg=new Set;function xpe(e){if(V._sentryModuleMetadata)for(let t of Object.keys(V._sentryModuleMetadata)){let n=V._sentryModuleMetadata[t];if(hg.has(t))continue;hg.add(t);let r=e(t);for(let e of r.reverse())if(e.filename){mg.set(e.filename,n);break}}}function Spe(e,t){return xpe(e),mg.get(t)}function gg(e,t){t.exception?.values?.forEach(t=>{t.stacktrace?.frames?.forEach(t=>{if(!t.filename||t.module_metadata)return;let n=Spe(e,t.filename);n&&(t.module_metadata=n)})})}function _g(e){e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{delete e.module_metadata})})}var Cpe=$m(()=>({name:`ModuleMetadata`,setup(e){e.on(`beforeEnvelope`,e=>{xp(e,(e,t)=>{if(t===`event`){let t=Array.isArray(e)?e[1]:void 0;t&&(_g(t),e[1]=t)}})}),e.on(`applyFrameMetadata`,t=>{if(t.type)return;let n=e.getOptions().stackParser;gg(n,t)})}})),vg=new Set([]);function yg(e){let t=`console`,n=ku(t,e);return Au(t,wpe),n}var bg=new Set;function wpe(){`console`in V&&pu.forEach(function(e){bg.has(e)||!(e in V.console)||(bg.add(e),Xu(V.console,e,function(t){return mu[e]=t,function(...t){let n=t[0],r=mu[e],i=vg.size&&typeof n==`string`&&yd(n,vg);i||ju(`console`,{args:t,level:e}),(!i||B&&H.isEnabled())&&r?.apply(V.console,t)}}))})}function xg(e){return e===`warn`?`warning`:[`fatal`,`error`,`warning`,`log`,`info`,`debug`].includes(e)?e:`log`}var Tpe=`CaptureConsole`,Epe=$m(((e={})=>{let t=e.levels||pu,n=e.handled??!0;return{name:Tpe,setup(e){`console`in V&&yg(({args:r,level:i})=>{U()!==e||!t.includes(i)||Dpe(r,i,n)})}}}));function Dpe(e,t,n){let r=xg(t),i=Error(),a={level:xg(t),extra:{arguments:e}};tf(o=>{if(o.addEventProcessor(e=>(e.logger=`console`,Td(e,{handled:n,type:`auto.core.capture_console`}),e)),t===`assert`){if(!e[0]){let t=`Assertion failed: ${_d(e.slice(1),` `)||`console.assert`}`;o.setExtra(`arguments`,e.slice(1)),o.captureMessage(t,r,{captureContext:a,syntheticException:i})}return}let s=e.find(e=>e instanceof Error);if(s){Pm(s,a);return}let c=_d(e,` `);o.captureMessage(c,r,{captureContext:a,syntheticException:i})})}var Ope=`Dedupe`,Sg=$m((()=>{let e;return{name:Ope,processEvent(t){if(t.type)return t;try{if(kpe(t,e))return B&&H.warn(`Event dropped due to being a duplicate of previously captured event.`),null}catch{}return e=t}}}));function kpe(e,t){return t?!!(Ape(e,t)||jpe(e,t)):!1}function Ape(e,t){let n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!wg(e,t)||!Cg(e,t))}function jpe(e,t){let n=Tg(t),r=Tg(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!wg(e,t)||!Cg(e,t))}function Cg(e,t){let n=Eu(e),r=Eu(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let e=0;e<r.length;e++){let t=r[e],i=n[e];if(t.filename!==i.filename||t.lineno!==i.lineno||t.colno!==i.colno||t.function!==i.function)return!1}return!0}function wg(e,t){let n=e.fingerprint,r=t.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join(``)===r.join(``)}catch{return!1}}function Tg(e){return e.exception?.values?.[0]}var Mpe=`ExtraErrorData`,Npe=$m(((e={})=>{let{depth:t=3,captureErrorCause:n=!0}=e;return{name:Mpe,processEvent(e,r,i){let{maxValueLength:a}=i.getOptions();return Ppe(e,r,t,n,a)}}}));function Ppe(e,t={},n,r,i){if(!t.originalException||!Lu(t.originalException))return e;let a=t.originalException.name||t.originalException.constructor.name,o=Eg(t.originalException,r,i);if(o){let t={...e.contexts},r=ud(o,n);return Wu(r)&&(kle(r),t[a]=r),{...e,contexts:t}}return e}function Eg(e,t,n){try{let r=[`name`,`message`,`stack`,`line`,`column`,`fileName`,`lineNumber`,`columnNumber`,`toJSON`],i={};for(let t of Object.keys(e)){if(r.indexOf(t)!==-1)continue;let a=e[t];i[t]=Lu(a)||typeof a==`string`?n?hd(`${a}`,n):`${a}`:a}if(t&&e.cause!==void 0&&(i.cause=Lu(e.cause)?{[e.cause.name||e.cause.constructor.name]:Eg(e.cause,!1,n)}:e.cause),typeof e.toJSON==`function`){let t=e.toJSON();for(let e of Object.keys(t)){let n=t[e];i[e]=Lu(n)?n.toString():n}}return i}catch(e){B&&H.error(`Unable to extract extra data from the Error object:`,e)}return null}function Fpe(e,t){let n=0;for(let t=e.length-1;t>=0;t--){let r=e[t];r===`.`?e.splice(t,1):r===`..`?(e.splice(t,1),n++):n&&(e.splice(t,1),n--)}if(t)for(;n--;)e.unshift(`..`);return e}var Ipe=/^(\S+:\\|\/?)([\s\S]*?)((?:\.{1,2}|[^/\\]+?|)(\.[^./\\]*|))(?:[/\\]*)$/;function Lpe(e){let t=e.length>1024?`<truncated>${e.slice(-1024)}`:e,n=Ipe.exec(t);return n?n.slice(1):[]}function Dg(...e){let t=``,n=!1;for(let r=e.length-1;r>=-1&&!n;r--){let i=r>=0?e[r]:`/`;i&&(t=`${i}/${t}`,n=i.charAt(0)===`/`)}return t=Fpe(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`}function Og(e){let t=0;for(;t<e.length&&e[t]===``;t++);let n=e.length-1;for(;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}function Rpe(e,t){e=Dg(e).slice(1),t=Dg(t).slice(1);let n=Og(e.split(`/`)),r=Og(t.split(`/`)),i=Math.min(n.length,r.length),a=i;for(let e=0;e<i;e++)if(n[e]!==r[e]){a=e;break}let o=[];for(let e=a;e<n.length;e++)o.push(`..`);return o=o.concat(r.slice(a)),o.join(`/`)}function zpe(e,t){let n=Lpe(e)[2]||``;return t&&n.slice(t.length*-1)===t&&(n=n.slice(0,n.length-t.length)),n}var Bpe=`RewriteFrames`,Vpe=$m((e={})=>{let t=e.root,n=e.prefix||`app:///`,r=`window`in V&&!!V.window,i=e.iteratee||Hpe({isBrowser:r,root:t,prefix:n});function a(e){try{return{...e,exception:{...e.exception,values:e.exception.values.map(e=>({...e,...e.stacktrace&&{stacktrace:o(e.stacktrace)}}))}}}catch{return e}}function o(e){return{...e,frames:e?.frames?.map(e=>i(e))}}return{name:Bpe,processEvent(e){let t=e;return e.exception&&Array.isArray(e.exception.values)&&(t=a(t)),t}}});function Hpe({isBrowser:e,root:t,prefix:n}){return r=>{if(!r.filename)return r;let i=/^[a-zA-Z]:\\/.test(r.filename)||r.filename.includes(`\\`)&&!r.filename.includes(`/`),a=/^\//.test(r.filename);if(e){if(t){let e=r.filename;e.indexOf(t)===0&&(r.filename=e.replace(t,n))}}else if(i||a){let e=i?r.filename.replace(/^[a-zA-Z]:/,``).replace(/\\/g,`/`):r.filename;r.filename=`${n}${t?Rpe(t,e):zpe(e)}`}return r}}var Upe=[`reauthenticate`,`signInAnonymously`,`signInWithOAuth`,`signInWithIdToken`,`signInWithOtp`,`signInWithPassword`,`signInWithSSO`,`signOut`,`signUp`,`verifyOtp`],Wpe=[`createUser`,`deleteUser`,`listUsers`,`getUserById`,`updateUserById`,`inviteUserByEmail`],Gpe={eq:`eq`,neq:`neq`,gt:`gt`,gte:`gte`,lt:`lt`,lte:`lte`,like:`like`,"like(all)":`likeAllOf`,"like(any)":`likeAnyOf`,ilike:`ilike`,"ilike(all)":`ilikeAllOf`,"ilike(any)":`ilikeAnyOf`,is:`is`,in:`in`,cs:`contains`,cd:`containedBy`,sr:`rangeGt`,nxl:`rangeGte`,sl:`rangeLt`,nxr:`rangeLte`,adj:`rangeAdjacent`,ov:`overlaps`,fts:``,plfts:`plain`,phfts:`phrase`,wfts:`websearch`,not:`not`},kg=[`select`,`insert`,`upsert`,`update`,`delete`];function Ag(e){try{e.__SENTRY_INSTRUMENTED__=!0}catch{}}function jg(e){try{return e.__SENTRY_INSTRUMENTED__}catch{return!1}}function Mg(e,t){if(Object.keys(t).length>0)return t;if(Array.isArray(e)&&e.length>0)return e}function Kpe(e,t){return Mg(e,t)!==void 0}function qpe(e,t={}){switch(e){case`GET`:return`select`;case`POST`:return t.Prefer?.includes(`resolution=`)?`upsert`:`insert`;case`PATCH`:return`update`;case`DELETE`:return`delete`;default:return`<unknown-op>`}}function Jpe(e,t){if(t===``||t===`*`)return`select(*)`;if(e===`select`)return`select(${t})`;if(e===`or`||e.endsWith(`.or`))return`${e}${t}`;let[n,...r]=t.split(`.`),i;return i=n?.startsWith(`fts`)?`textSearch`:n?.startsWith(`plfts`)?`textSearch[plain]`:n?.startsWith(`phfts`)?`textSearch[phrase]`:n?.startsWith(`wfts`)?`textSearch[websearch]`:n&&Gpe[n]||`filter`,`${i}(${e}, ${r.join(`.`)})`}function Ng(e,t=!1){return new Proxy(e,{apply(n,r,i){return zp({name:`auth ${t?`(admin) `:``}${e.name}`,attributes:{[sf]:`auto.db.supabase`,[of]:`db`,"db.system":`postgresql`,"db.operation":`auth.${t?`admin.`:``}${e.name}`}},e=>Reflect.apply(n,r,i).then(t=>(Gu(t)&&`error`in t&&t.error?(e.setStatus({code:2}),Pm(t.error,{mechanism:{handled:!1,type:`auto.db.supabase.auth`}})):e.setStatus({code:1}),e.end(),t)).catch(t=>{throw e.setStatus({code:2}),e.end(),Pm(t,{mechanism:{handled:!1,type:`auto.db.supabase.auth`}}),t}).then(...i))}})}function Ype(e){let t=e.auth;if(!(!t||jg(e.auth))){for(let n of Upe){let r=t[n];r&&typeof e.auth[n]==`function`&&(e.auth[n]=Ng(r))}for(let n of Wpe){let r=t.admin[n];r&&typeof e.auth.admin[n]==`function`&&(e.auth.admin[n]=Ng(r,!0))}Ag(e.auth)}}function Xpe(e,t){jg(e.prototype.from)||(e.prototype.from=new Proxy(e.prototype.from,{apply(e,n,r){let i=Reflect.apply(e,n,r),a=i.constructor;return Qpe(a,t),i}}),Ag(e.prototype.from))}function Zpe(e,t){jg(e.prototype.then)||(e.prototype.then=new Proxy(e.prototype.then,{apply(e,n,r){let i=kg,a=n,o=qpe(a.method,a.headers);if(!i.includes(o)||!a?.url?.pathname||typeof a.url.pathname!=`string`)return Reflect.apply(e,n,r);let s=a.url.pathname.split(`/`),c=s.length>0?s[s.length-1]:``,l=[];for(let[e,t]of a.url.searchParams.entries())l.push(Jpe(e,t));let u=Object.create(null);if(Wu(a.body))for(let[e,t]of Object.entries(a.body))u[e]=t;let d=U(),f=t.sendOperationData??d?.getDataCollectionOptions().databaseQueryData===!0,p=Mg(a.body,u),m=o===`select`?``:`${o}${Kpe(a.body,u)?`(...) `:``}`,h=f?l.join(` `):l.length>0?`[redacted]`:``,g=[m.trimEnd(),h].filter(Boolean).join(` `),_=g?`${g} from(${c})`:`from(${c})`,v={"db.table":c,"db.schema":a.schema,"db.url":a.url.origin,"db.sdk":a.headers[`X-Client-Info`],"db.system":`postgresql`,"db.operation":o,[sf]:`auto.db.supabase`,[of]:`db`};return l.length&&f&&(v[`db.query`]=l),p!==void 0&&f&&(v[`db.body`]=p),zp({name:_,attributes:v},t=>Reflect.apply(e,n,[]).then(e=>{if(t&&(e&&typeof e==`object`&&`status`in e&&hf(t,e.status||500),t.end()),e?.error){let t=Error(e.error.message);e.error.code&&(t.code=e.error.code),e.error.details&&(t.details=e.error.details);let n={};l.length&&f&&(n.query=l),p!==void 0&&f&&(n.body=p),Pm(t,e=>(e.addEventProcessor(e=>(Td(e,{handled:!1,type:`auto.db.supabase.postgres`}),e)),e.setContext(`supabase`,n),e))}let n={type:`supabase`,category:`db.${o}`,message:_},r={};return l.length&&f&&(r.query=l),p!==void 0&&f&&(r.body=p),Object.keys(r).length&&(n.data=r),ng(n),e},e=>{throw t&&(hf(t,500),t.end()),e}).then(...r))}}),Ag(e.prototype.then))}function Qpe(e,t){for(let n of kg)jg(e.prototype[n])||(e.prototype[n]=new Proxy(e.prototype[n],{apply(e,r,i){let a=Reflect.apply(e,r,i),o=a.constructor;return B&&H.log(`Instrumenting ${n} operation's PostgRESTFilterBuilder`),Zpe(o,t),a}}),Ag(e.prototype[n]))}var Pg=(e,t={})=>{if(!e){B&&H.warn(`Supabase integration was not installed because no Supabase client was provided.`);return}Xpe(e.constructor===Function?e:e.constructor,t),Ype(e)},$pe=`Supabase`,eme=((e,t)=>({setupOnce(){Pg(e,t)},name:$pe})),tme=$m(e=>eme(e.supabaseClient,{sendOperationData:e.sendOperationData})),nme=10,rme=`ZodErrors`;function ime(e){return Lu(e)&&e.name===`ZodError`&&Array.isArray(e.issues)}function ame(e){return{...e,path:`path`in e&&Array.isArray(e.path)?e.path.join(`.`):void 0,keys:`keys`in e?JSON.stringify(e.keys):void 0,unionErrors:`unionErrors`in e?JSON.stringify(e.unionErrors):void 0}}function ome(e){return e.map(e=>typeof e==`number`?`<array>`:e).join(`.`)}function sme(e){let t=new Set;for(let n of e.issues){let e=ome(n.path);e.length>0&&t.add(e)}let n=Array.from(t);if(n.length===0){let t=`variable`;if(e.issues.length>0){let n=e.issues[0];n!==void 0&&`expected`in n&&typeof n.expected==`string`&&(t=n.expected)}return`Failed to validate ${t}`}return`Failed to validate keys: ${hd(n.join(`, `),100)}`}function cme(e,t=!1,n,r){if(!n.exception?.values||!r.originalException||!ime(r.originalException)||r.originalException.issues.length===0)return n;try{let i=(t?r.originalException.issues:r.originalException.issues.slice(0,e)).map(ame);return t&&(Array.isArray(r.attachments)||(r.attachments=[]),r.attachments.push({filename:`zod_issues.json`,data:JSON.stringify({issues:i})})),{...n,exception:{...n.exception,values:[{...n.exception.values[0],value:sme(r.originalException)},...n.exception.values.slice(1)]},extra:{...n.extra,"zoderror.issues":i.slice(0,e)}}}catch(e){return{...n,extra:{...n.extra,"zoderrors sentry integration parse error":{message:`an exception was thrown while processing ZodError within applyZodErrorsToEvent()`,error:e instanceof Error?`${e.name}: ${e.message}
|
|
19
|
-
${e.stack}`:`unknown`}}}}}var lme=$m(((e={})=>{let t=e.limit??nme;return{name:rme,processEvent(n,r){return cme(t,e.saveZodIssuesAsAttachment,n,r)}}})),ume=$m(e=>({name:`ThirdPartyErrorsFilter`,setup(e){e.on(`beforeEnvelope`,e=>{xp(e,(e,t)=>{if(t===`event`){let t=Array.isArray(e)?e[1]:void 0;t&&(_g(t),e[1]=t)}})}),e.on(`applyFrameMetadata`,t=>{if(t.type)return;let n=e.getOptions().stackParser;gg(n,t)})},preprocessEvent(t){e.ignoreSentryInternalFrames&&(V._sentryWrappedDepth??0)>0&&(t.sdkProcessingMetadata={...t.sdkProcessingMetadata,insideSentryWrapped:!0})},processEvent(t){let n=e.ignoreSentryInternalFrames?t.sdkProcessingMetadata?.insideSentryWrapped===!0&&t.exception?.values?.length===1:!1,r=fme(t,e.ignoreSentryInternalFrames,n);if(r&&r[e.behaviour===`drop-error-if-contains-third-party-frames`||e.behaviour===`apply-tag-if-contains-third-party-frames`?`some`:`every`](t=>!t.some(t=>e.filterKeys.includes(t)))){if(e.behaviour===`drop-error-if-contains-third-party-frames`||e.behaviour===`drop-error-if-exclusively-contains-third-party-frames`)return null;t.tags={...t.tags,third_party_code:!0}}return t}}));function dme(e,t,n){if(t!==0)return!1;if(n&&pme(e)||e.function===`sentryWrapped`)return!0;if(!e.context_line||!e.filename||!e.filename.includes(`sentry`)||!e.filename.includes(`helpers`)||!e.context_line.includes(hme))return!1;if(e.pre_context){let t=e.pre_context.length;for(let n=0;n<t;n++)if(e.pre_context[n]?.includes(mme))return!0}return!1}function fme(e,t,n){let r=Eu(e);if(r)return r.filter((e,r)=>!e.filename||e.lineno==null&&e.colno==null&&e.instruction_addr==null?!1:!t||!dme(e,r,!!n)).map(e=>e.module_metadata?Object.keys(e.module_metadata).filter(e=>e.startsWith(Fg)).map(e=>e.slice(Fg.length)):[])}function pme(e){return!e.context_line&&!e.pre_context&&!!e.function&&e.function.length<=2}var Fg=`_sentryBundlerPluginAppKey:`,mme=`Attempt to invoke user-land function`,hme=`fn.apply(this, wrappedArguments)`,Ig=`flag.evaluation.`;function Lg(e){if(e.type)return e;let t=Qd().getScopeData().contexts.flags,n=t?t.values:[];return n.length?(e.contexts===void 0&&(e.contexts={}),e.contexts.flags={values:[...n]},e):e}function Rg(e,t,n=100){let r=Qd().getScopeData().contexts;r.flags||={values:[]};let i=r.flags.values;gme(i,e,t,n)}function gme(e,t,n,r){if(typeof n!=`boolean`)return;if(e.length>r){B&&H.error(`[Feature Flags] insertToFlagBuffer called on a buffer larger than maxSize=${r}`);return}let i=e.findIndex(e=>e.flag===t);i!==-1&&e.splice(i,1),e.length===r&&e.shift(),e.push({flag:t,result:n})}function zg(e,t,n=10){if(typeof t!=`boolean`)return;let r=rp();if(!r)return;let i=W(r).data;if(`${Ig}${e}`in i){r.setAttribute(`${Ig}${e}`,t);return}Object.keys(i).filter(e=>e.startsWith(Ig)).length<n&&r.setAttribute(`${Ig}${e}`,t)}var _me=$m(()=>({name:`FeatureFlags`,processEvent(e,t,n){return Lg(e)},addFeatureFlag(e,t){Rg(e,t),zg(e,t)}})),vme=$m(({growthbookClass:e})=>({name:`GrowthBook`,setupOnce(){let t=e.prototype;typeof t.isOn==`function`&&Xu(t,`isOn`,Bg),typeof t.getFeatureValue==`function`&&Xu(t,`getFeatureValue`,Bg)},processEvent(e,t,n){return Lg(e)}}));function Bg(e){return function(...t){let n=t[0],r=e.apply(this,t);return typeof n==`string`&&typeof r==`boolean`&&(Rg(n,r),zg(n,r)),r}}var yme=`ConversationId`,bme=$m((()=>({name:yme,setup(e){e.on(`spanStart`,e=>{let t=Qd().getScopeData(),n=$d().getScopeData(),r=t.conversationId||n.conversationId;if(r){let{op:t,data:n,description:i}=W(e);if(!t?.startsWith(`gen_ai.`)&&!n[`ai.operationId`]&&!i?.startsWith(`ai.`))return;e.setAttribute(gue,r)}})}})));function xme(e,t,n,r,i){if(!e.fetchData)return;let{method:a,url:o}=e.fetchData,s=sp()&&t(o);if(e.endTimestamp){let t=e.fetchData.__span;if(!t)return;let n=r[t];n&&(s&&(wme(n,e),Sme(n,e,i)),delete r[t]);return}let{spanOrigin:c=`auto.http.browser`,propagateTraceparent:l=!1}=typeof i==`object`?i:{spanOrigin:i},u=U(),d=!!rp(),f=d||!!u&&Mp(u),p=s&&f?Vp(Dme(o,a,c)):new dp,m=$p(p)&&d?void 0:p;if(s&&!f&&u?.recordDroppedEvent(`no_parent_span`,`span`),e.fetchData.__span=p.spanContext().spanId,r[p.spanContext().spanId]=p,n(e.fetchData.url)){let t=e.args[0],n={...e.args[1]||{}},r=Cme(t,n,sp()&&f?m:void 0,l);r&&(e.args[1]=n,n.headers=r)}if(u){let t={input:e.args,response:e.response,startTimestamp:e.startTimestamp,endTimestamp:e.endTimestamp};u.emit(`beforeOutgoingRequestSpan`,p,t)}return p}function Sme(e,t,n){(typeof n==`object`&&n?n.onRequestSpanEnd:void 0)?.(e,{headers:t.response?.headers,error:t.error})}function Cme(e,t,n,r){let i=tg({span:n,propagateTraceparent:r}),a=i[`sentry-trace`],o=i.baggage,s=i.traceparent;if(!a)return;let c=t.headers||(Yu(e)?e.headers:void 0);if(!c)return{"sentry-trace":a,...o&&{baggage:o},...s&&{traceparent:s}};if(Tme(c)){let e=new Headers(c);if(e.get(`sentry-trace`)||e.set(`sentry-trace`,a),r&&s&&!e.get(`traceparent`)&&e.set(`traceparent`,s),o){let t=e.get(`baggage`);t?Vg(t)||e.set(`baggage`,`${t},${o}`):e.set(`baggage`,o)}return e}if(Eme(c)){let e=[...c];e.find(e=>e[0]===`sentry-trace`)||e.push([`sentry-trace`,a]),r&&s&&!e.find(e=>e[0]===`traceparent`)&&e.push([`traceparent`,s]);let t=c.find(e=>e[0]===`baggage`&&typeof e[1]==`string`&&Vg(e[1]));return o&&!t&&e.push([`baggage`,o]),e}{let e=`sentry-trace`in c?c[`sentry-trace`]:void 0,t=`traceparent`in c?c.traceparent:void 0,n=`baggage`in c?c.baggage:void 0,i=n?Array.isArray(n)?[...n]:[n]:[],l=n&&(Array.isArray(n)?n.find(e=>Vg(e)):Vg(n));o&&!l&&i.push(o);let u=Object.assign({},c,{"sentry-trace":e??a,...i.length>0&&{baggage:i.join(`,`)}});return r&&s&&!t&&(u.traceparent=s),u}}function wme(e,t){if(t.response){hf(e,t.response.status);let n=t.response?.headers?.get(`content-length`);if(n){let t=parseInt(n);t>0&&e.setAttribute(`http.response_content_length`,t)}}else t.error&&e.setStatus({code:2,message:`internal_error`});e.end()}function Vg(e){return typeof e==`string`&&e.split(`,`).some(e=>e.trim().startsWith(Sf))}function Tme(e){return typeof Headers<`u`&&Ju(e,Headers)}function Eme(e){return Array.isArray(e)?e.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`):!1}function Dme(e,t,n){if(e.startsWith(`data:`))return{name:`${t} ${Xh(e)}`,attributes:Hg(e,void 0,t,n)};let r=Kh(e);return{name:`${t} ${r?qh(r):e}`,attributes:Hg(e,r,t,n)}}function Hg(e,t,n,r){let i={url:Xh(e),type:`fetch`,"http.method":n,[sf]:r,[of]:`http.client`};return t&&(Gh(t)||(i[dm]=Xh(t.href),i[vm]=Xh(t.href),i[`server.address`]=t.host),t.search&&(i[`http.query`]=t.search),t.hash&&(i[`http.fragment`]=t.hash)),i}function Ug(e,t={},n=Qd()){let{message:r,name:i,email:a,url:o,source:s,associatedEventId:c,tags:l}=e,u={contexts:{feedback:{contact_email:a,name:i,message:r,url:o,source:s,associated_event_id:c}},type:`feedback`,level:`info`,tags:l},d=n?.getClient()||U();return d&&d.emit(`beforeSendFeedback`,u,t),n.captureEvent(u,t)}var Ome=e({debug:()=>Ame,error:()=>Nme,fatal:()=>Pme,fmt:()=>ipe,info:()=>jme,trace:()=>kme,warn:()=>Mme});function Wg(e,t,n,r,i){oh({level:e,message:t,attributes:n,severityNumber:i},r)}function kme(e,t,{scope:n}={}){Wg(`trace`,e,t,n)}function Ame(e,t,{scope:n}={}){Wg(`debug`,e,t,n)}function jme(e,t,{scope:n}={}){Wg(`info`,e,t,n)}function Mme(e,t,{scope:n}={}){Wg(`warn`,e,t,n)}function Nme(e,t,{scope:n}={}){Wg(`error`,e,t,n)}function Pme(e,t,{scope:n}={}){Wg(`fatal`,e,t,n)}function Gg(e,t,n){return`util`in V&&typeof V.util.format==`function`?V.util.format(...e):Fme(e,t,n)}function Fme(e,t,n){return e.map(e=>Uu(e)?String(e):JSON.stringify(ud(e,t,n))).join(` `)}function Kg(e){return/%[sdifocO]/.test(e)}function qg(e,t){let n={};return n[`sentry.message.template`]=`${e} ${Array(t.length).fill(`{}`).join(` `)}`,t.forEach((e,t)=>{n[`sentry.message.parameter.${t}`]=e}),n}var Ime=`ConsoleLogs`,Jg={[sf]:`auto.log.console`},Lme=$m(((e={})=>{let t=e.levels||pu;return{name:Ime,setup(e){let{enableLogs:n,normalizeDepth:r=3,normalizeMaxBreadth:i=1e3}=e.getOptions();if(!n){B&&H.warn("`enableLogs` is not enabled, ConsoleLogs integration disabled");return}let a=yg(({args:n,level:a})=>{if(U()!==e||!t.includes(a))return;let o=n[0],s=n.slice(1);if(a===`assert`){o||oh({level:`error`,message:s.length>0?`Assertion failed: ${Gg(s,r,i)}`:`Assertion failed`,attributes:Jg});return}let c=a===`log`,l={...Jg};if(Wu(o)){Object.assign(l,ud(o,r,i));let e=typeof n[1]==`string`?2:1;n.slice(e).forEach((e,t)=>{l[`sentry.message.parameter.${t}`]=ud(e,r,i)})}else if(s.length>0&&typeof o==`string`&&!Kg(o)){let e=qg(o,s);for(let[t,n]of Object.entries(e))l[t]=t.startsWith(`sentry.message.parameter.`)?ud(n,r,i):n}oh({level:c?`info`:a,message:Gg(n,r,i),severityNumber:c?10:void 0,attributes:l})});e.registerCleanup(a)}}})),Rme=e({count:()=>zme,distribution:()=>Xg,gauge:()=>Bme});function Yg(e,t,n,r){Ofe({type:e,name:t,value:n,unit:r?.unit,attributes:r?.attributes},{scope:r?.scope})}function zme(e,t=1,n){Yg(`counter`,e,t,n)}function Bme(e,t,n){Yg(`gauge`,e,t,n)}function Xg(e,t,n){Yg(`distribution`,e,t,n)}var Vme=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function Hme(e={}){let t=new Set(e.levels??Vme),n=e.client;return{log(e){let{type:r,level:i,message:a,args:o,tag:s,date:c,...l}=e,u=n||U();if(!u)return;let d=Gme(r,i);if(!t.has(d))return;let{normalizeDepth:f=3,normalizeMaxBreadth:p=1e3}=u.getOptions(),m={};for(let[e,t]of Object.entries(l))m[e]=ud(t,f,p);m[`sentry.origin`]=`auto.log.consola`,s&&(m[`consola.tag`]=s),r&&(m[`consola.type`]=r),i!=null&&typeof i==`number`&&(m[`consola.level`]=i);let h=qme(Kme(o,f,p),f,p);h?.attributes&&Object.assign(m,h.attributes),oh({level:d,message:h?.message||a||o&&Gg(o,f,p)||``,attributes:m})}}}var Ume={silent:`trace`,fatal:`fatal`,error:`error`,warn:`warn`,log:`info`,info:`info`,success:`info`,fail:`error`,ready:`info`,start:`info`,box:`info`,debug:`debug`,trace:`trace`,verbose:`debug`,critical:`fatal`,notice:`info`},Wme={0:`fatal`,1:`warn`,2:`info`,3:`info`,4:`debug`,5:`trace`};function Gme(e,t){if(e===`verbose`)return`debug`;if(e===`silent`)return`trace`;if(e){let t=Ume[e];if(t)return t}if(typeof t==`number`){let e=Wme[t];if(e)return e}return`info`}function Kme(e,t,n){if(!e?.length)return{message:``};let r=Gg(e,t,n),i=e[0];if(Wu(i)){let t=typeof e[1]==`string`?2:1;return{message:r,attributes:i,messageParameters:e.slice(t)}}{let t=e.slice(1),n=t.length>0&&typeof i==`string`&&!Kg(i);return{message:r,messageTemplate:n?i:void 0,messageParameters:n?t:void 0}}}function qme(e,t,n){let{message:r,attributes:i,messageTemplate:a,messageParameters:o}=e,s={};if(a&&o){let e=qg(a,o);for(let[r,i]of Object.entries(e))s[r]=r.startsWith(`sentry.message.parameter.`)?ud(i,t,n):i}else o&&o.length>0&&o.forEach((e,r)=>{s[`sentry.message.parameter.${r}`]=ud(e,t,n)});return{message:r,attributes:{...ud(i,t,n),...s}}}var Jme=`gen_ai.prompt`,Zg=`gen_ai.system`,Qg=`gen_ai.request.model`,$g=`gen_ai.request.stream`,e_=`gen_ai.request.temperature`,t_=`gen_ai.request.max_tokens`,n_=`gen_ai.request.frequency_penalty`,r_=`gen_ai.request.presence_penalty`,i_=`gen_ai.request.top_p`,a_=`gen_ai.request.top_k`,o_=`gen_ai.request.encoding_format`,s_=`gen_ai.request.dimensions`,c_=`gen_ai.response.finish_reasons`,l_=`gen_ai.response.model`,u_=`gen_ai.response.id`,Yme=`gen_ai.response.stop_reason`,d_=`gen_ai.usage.input_tokens`,f_=`gen_ai.usage.output_tokens`,p_=`gen_ai.usage.total_tokens`,m_=`gen_ai.operation.name`,h_=`sentry.sdk_meta.gen_ai.input.messages.original_length`,g_=`gen_ai.input.messages`,__=`gen_ai.system_instructions`,v_=`gen_ai.response.text`,y_=`gen_ai.request.available_tools`,b_=`gen_ai.response.streaming`,x_=`gen_ai.response.tool_calls`,S_=`gen_ai.agent.name`,C_=`gen_ai.pipeline.name`,w_=`gen_ai.conversation.id`,T_=`gen_ai.usage.cache_creation_input_tokens`,E_=`gen_ai.usage.cache_read_input_tokens`,D_=`gen_ai.invoke_agent`,O_=`gen_ai.embeddings.input`,k_=`gen_ai.embeddings`,A_=`gen_ai.execute_tool`,j_=`gen_ai.tool.name`,M_=`gen_ai.tool.call.id`,N_=`gen_ai.tool.type`,P_=`gen_ai.tool.input`,F_=`gen_ai.tool.output`,I_=`gen_ai.tool.description`;function L_(e){return!e||typeof e!=`object`?!1:B_(e)||V_(e)||R_(e)||H_(e)||U_(e)||W_(e)||G_(e)||Xme(e)||Zme(e)||Qme(e)||$me(e)||ehe(e)}function R_(e){return`image_url`in e?typeof e.image_url==`string`?e.image_url.startsWith(`data:`):z_(e):!1}function z_(e){return`image_url`in e&&!!e.image_url&&typeof e.image_url==`object`&&`url`in e.image_url&&typeof e.image_url.url==`string`&&e.image_url.url.startsWith(`data:`)}function B_(e){return`type`in e&&typeof e.type==`string`&&`source`in e&&L_(e.source)}function V_(e){return`inlineData`in e&&!!e.inlineData&&typeof e.inlineData==`object`&&`data`in e.inlineData&&typeof e.inlineData.data==`string`}function H_(e){return`type`in e&&e.type===`input_audio`&&`input_audio`in e&&!!e.input_audio&&typeof e.input_audio==`object`&&`data`in e.input_audio&&typeof e.input_audio.data==`string`}function U_(e){return`type`in e&&e.type===`file`&&`file`in e&&!!e.file&&typeof e.file==`object`&&`file_data`in e.file&&typeof e.file.file_data==`string`}function W_(e){return`media_type`in e&&typeof e.media_type==`string`&&`data`in e}function G_(e){return`type`in e&&e.type===`file`&&`mediaType`in e&&typeof e.mediaType==`string`&&`data`in e&&typeof e.data==`string`&&!e.data.startsWith(`http://`)&&!e.data.startsWith(`https://`)}function Xme(e){return`type`in e&&e.type===`image`&&`image`in e&&typeof e.image==`string`&&!e.image.startsWith(`http://`)&&!e.image.startsWith(`https://`)}function Zme(e){return`type`in e&&(e.type===`blob`||e.type===`base64`)}function Qme(e){return`b64_json`in e}function $me(e){return`type`in e&&`result`in e&&e.type===`image_generation`}function ehe(e){return`uri`in e&&typeof e.uri==`string`&&e.uri.startsWith(`data:`)}var K_=`[Blob substitute]`,the=[`image_url`,`data`,`content`,`b64_json`,`result`,`uri`,`image`];function q_(e){let t={...e};L_(t.source)&&(t.source=q_(t.source)),V_(e)&&(t.inlineData={...e.inlineData,data:K_}),z_(e)&&(t.image_url={...e.image_url,url:K_}),H_(e)&&(t.input_audio={...e.input_audio,data:K_}),U_(e)&&(t.file={...e.file,file_data:K_});for(let e of the)typeof t[e]==`string`&&(t[e]=K_);return t}var J_=2e4,Y_=e=>new TextEncoder().encode(e).length,X_=e=>Y_(JSON.stringify(e));function Z_(e,t){if(Y_(e)<=t)return e;let n=0,r=e.length,i=``;for(;n<=r;){let a=Math.floor((n+r)/2),o=e.slice(0,a);Y_(o)<=t?(i=o,n=a+1):r=a-1}return i}function nhe(e){return typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``}function Q_(e,t){return typeof e==`string`?t:{...e,text:t}}function rhe(e){return typeof e==`object`&&!!e&&`content`in e&&typeof e.content==`string`}function $_(e){return typeof e==`object`&&!!e&&`content`in e&&Array.isArray(e.content)}function ev(e){return typeof e==`object`&&!!e&&`parts`in e&&Array.isArray(e.parts)&&e.parts.length>0}function ihe(e,t){let n=t-X_({...e,content:``});if(n<=0)return[];let r=Z_(e.content,n);return[{...e,content:r}]}function ahe(e){return`parts`in e&&Array.isArray(e.parts)?{key:`parts`,items:e.parts}:`content`in e&&Array.isArray(e.content)?{key:`content`,items:e.content}:{key:null,items:[]}}function ohe(e,t){let{key:n,items:r}=ahe(e);if(n===null||r.length===0)return[];let i=r.map(e=>Q_(e,``)),a=t-X_({...e,[n]:i});if(a<=0)return[];let o=[];for(let e of r){let t=nhe(e),n=Y_(t);if(n<=a)o.push(e),a-=n;else if(o.length===0){let n=Z_(t,a);n&&o.push(Q_(e,n));break}else break}return o.length<=0?[]:[{...e,[n]:o}]}function she(e,t){if(!e)return[];if(typeof e==`string`){let n=Z_(e,t);return n?[n]:[]}return typeof e==`object`?rhe(e)?ihe(e,t):$_(e)||ev(e)?ohe(e,t):[]:[]}function tv(e){return e.map(e=>{let t;return e&&typeof e==`object`&&($_(e)?t={...e,content:tv(e.content)}:`content`in e&&L_(e.content)&&(t={...e,content:q_(e.content)}),ev(e)&&(t={...t??e,parts:tv(e.parts)}),L_(t)?t=q_(t):L_(e)&&(t=q_(e))),t??e})}function che(e,t){if(!Array.isArray(e)||e.length===0)return e;let n=t-2,r=e[e.length-1],i=tv([r]),a=i[0];return X_(a)<=n?i:she(a,n)}function lhe(e){return che(e,J_)}function uhe(e){return Z_(e,J_)}function nv(e){let t=U()?.getDataCollectionOptions().genAI;return{...e,recordInputs:e?.recordInputs??t?.inputs??!1,recordOutputs:e?.recordOutputs??t?.outputs??!1}}function rv(e){if(e!==void 0)return e;let t=U();return!t||!Mp(t)&&t.getOptions().streamGenAiSpans===!1}function iv(e,t){return e?`${e}.${t}`:t}function dhe(e,t,n,r,i){if(t!==void 0&&e.setAttributes({[d_]:t}),n!==void 0&&e.setAttributes({[f_]:n}),t!==void 0||n!==void 0||r!==void 0||i!==void 0){let a=(t??0)+(n??0)+(r??0)+(i??0);e.setAttributes({[p_]:a})}}function av(e,t,n){if(!e.isRecording())return;let r={[b_]:!0};t.responseId&&(r[u_]=t.responseId),t.responseModel&&(r[l_]=t.responseModel),t.promptTokens!==void 0&&(r[d_]=t.promptTokens),t.completionTokens!==void 0&&(r[f_]=t.completionTokens),t.totalTokens===void 0?(t.promptTokens!==void 0||t.completionTokens!==void 0||t.cacheCreationInputTokens!==void 0||t.cacheReadInputTokens!==void 0)&&(r[p_]=(t.promptTokens??0)+(t.completionTokens??0)+(t.cacheCreationInputTokens??0)+(t.cacheReadInputTokens??0)):r[p_]=t.totalTokens,t.finishReasons.length&&(r[c_]=JSON.stringify(t.finishReasons)),n&&t.responseTexts.length&&(r[v_]=t.responseTexts.join(``)),n&&t.toolCalls.length&&(r[x_]=JSON.stringify(t.toolCalls)),e.setAttributes(r),e.end()}function ov(e){if(typeof e==`string`)return uhe(e);try{return JSON.stringify(Array.isArray(e)?lhe(e):e)}catch{return`[unserializable]`}}function sv(e){if(!Array.isArray(e))return{systemInstructions:void 0,filteredMessages:e};let t=e.findIndex(e=>e&&typeof e==`object`&&`role`in e&&e.role===`system`);if(t===-1)return{systemInstructions:void 0,filteredMessages:e};let n=e[t],r=typeof n.content==`string`?n.content:n.content===void 0?void 0:JSON.stringify(n.content);return r?{systemInstructions:JSON.stringify([{type:`text`,content:r}]),filteredMessages:[...e.slice(0,t),...e.slice(t+1)]}:{systemInstructions:void 0,filteredMessages:e}}async function fhe(e,t,n){let r=e.catch(e=>{throw Pm(e,{mechanism:{handled:!1,type:n}}),e}),i=await t,a=await r;return a&&typeof a==`object`&&`data`in a?{...a,data:i}:i}function cv(e,t,n){return qu(e)?new Proxy(e,{get(e,r){let i=r in Promise.prototype||r===Symbol.toStringTag?t:e,a=Reflect.get(i,r);return r===`withResponse`&&typeof a==`function`?function(){return fhe(a.call(e),t,n)}:typeof a==`function`?a.bind(i):a}}):t}var phe={"responses.create":{operation:`chat`},"chat.completions.create":{operation:`chat`},"embeddings.create":{operation:`embeddings`},"conversations.create":{operation:`chat`}},mhe=[`response.created`,`response.in_progress`,`response.failed`,`response.completed`,`response.incomplete`,`response.queued`,`response.output_text.delta`,`response.output_item.added`,`response.function_call_arguments.delta`,`response.function_call_arguments.done`,`response.output_item.done`];function hhe(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`&&e.type.startsWith(`response.`)}function ghe(e){return typeof e==`object`&&!!e&&`object`in e&&e.object===`chat.completion.chunk`}function _he(e,t,n){if(!t||typeof t!=`object`)return;let r=t,i={};if(typeof r.id==`string`&&(i[u_]=r.id),typeof r.model==`string`&&(i[l_]=r.model),r.object===`conversation`&&typeof r.id==`string`&&(i[w_]=r.id),r.usage&&typeof r.usage==`object`){let e=r.usage,t=e.prompt_tokens??e.input_tokens;typeof t==`number`&&(i[d_]=t);let n=e.completion_tokens??e.output_tokens;typeof n==`number`&&(i[f_]=n),typeof e.total_tokens==`number`&&(i[p_]=e.total_tokens)}if(Array.isArray(r.choices)){let e=r.choices,t=e.map(e=>e.finish_reason).filter(e=>typeof e==`string`);if(t.length>0&&(i[c_]=JSON.stringify(t)),n){let t=e.map(e=>e.message?.content||``);i[v_]=JSON.stringify(t);let n=e.map(e=>e.message?.tool_calls).filter(e=>Array.isArray(e)&&e.length>0).flat();n.length>0&&(i[x_]=JSON.stringify(n))}}if(typeof r.status==`string`&&(i[`gen_ai.response.finish_reasons`]||(i[c_]=JSON.stringify([r.status]))),n&&(typeof r.output_text==`string`&&!i[`gen_ai.response.text`]&&(i[v_]=r.output_text),Array.isArray(r.output)&&r.output.length>0&&!i[`gen_ai.response.tool_calls`])){let e=r.output.filter(e=>e?.type===`function_call`);e.length>0&&(i[x_]=JSON.stringify(e))}e.setAttributes(i)}function vhe(e){if(`conversation`in e&&typeof e.conversation==`string`)return e.conversation;if(`previous_response_id`in e&&typeof e.previous_response_id==`string`)return e.previous_response_id}function yhe(e){let t={[Qg]:e.model??`unknown`};`temperature`in e&&(t[e_]=e.temperature),`top_p`in e&&(t[i_]=e.top_p),`frequency_penalty`in e&&(t[n_]=e.frequency_penalty),`presence_penalty`in e&&(t[r_]=e.presence_penalty),`stream`in e&&(t[$g]=e.stream),`encoding_format`in e&&(t[o_]=e.encoding_format),`dimensions`in e&&(t[s_]=e.dimensions);let n=vhe(e);return n&&(t[w_]=n),t}function bhe(e,t){for(let n of e){let e=n.index;if(!(e===void 0||!n.function))if(!(e in t.chatCompletionToolCalls))t.chatCompletionToolCalls[e]={...n,function:{name:n.function.name,arguments:n.function.arguments||``}};else{let r=t.chatCompletionToolCalls[e];n.function.arguments&&r?.function&&(r.function.arguments+=n.function.arguments)}}}function xhe(e,t,n){t.responseId=e.id??t.responseId,t.responseModel=e.model??t.responseModel,e.usage&&(t.promptTokens=e.usage.prompt_tokens,t.completionTokens=e.usage.completion_tokens,t.totalTokens=e.usage.total_tokens);for(let r of e.choices??[])n&&(r.delta?.content&&t.responseTexts.push(r.delta.content),r.delta?.tool_calls&&bhe(r.delta.tool_calls,t)),r.finish_reason&&t.finishReasons.push(r.finish_reason)}function She(e,t,n,r){if(!(e&&typeof e==`object`)){t.eventTypes.push(`unknown:non-object`);return}if(e instanceof Error){r.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai.stream-response`}});return}if(!(`type`in e))return;let i=e;if(!mhe.includes(i.type)){t.eventTypes.push(i.type);return}if(n&&(i.type===`response.output_item.done`&&`item`in i&&t.responsesApiToolCalls.push(i.item),i.type===`response.output_text.delta`&&`delta`in i&&i.delta)){t.responseTexts.push(i.delta);return}if(`response`in i){let{response:e}=i;t.responseId=e.id??t.responseId,t.responseModel=e.model??t.responseModel,e.usage&&(t.promptTokens=e.usage.input_tokens,t.completionTokens=e.usage.output_tokens,t.totalTokens=e.usage.total_tokens),e.status&&t.finishReasons.push(e.status),n&&e.output_text&&t.responseTexts.push(e.output_text)}}async function*Che(e,t,n){let r={eventTypes:[],responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,totalTokens:void 0,chatCompletionToolCalls:{},responsesApiToolCalls:[]};try{for await(let i of e)ghe(i)?xhe(i,r,n):hhe(i)&&She(i,r,n,t),yield i}finally{let e=[...Object.values(r.chatCompletionToolCalls),...r.responsesApiToolCalls];av(t,{...r,toolCalls:e},n)}}function whe(e){let t=Array.isArray(e.tools)?e.tools:[],n=e.web_search_options&&typeof e.web_search_options==`object`?[{type:`web_search_options`,...e.web_search_options}]:[],r=[...t,...n];if(r.length!==0)try{return JSON.stringify(r)}catch(e){B&&H.error(`Failed to serialize OpenAI tools:`,e);return}}function The(e,t){let n={[Zg]:`openai`,[m_]:t,[sf]:`auto.ai.openai`};if(e.length>0&&typeof e[0]==`object`&&e[0]!==null){let t=e[0],r=whe(t);r&&(n[y_]=r),Object.assign(n,yhe(t))}else n[Qg]=`unknown`;return n}function lv(e,t,n,r){if(n===`embeddings`&&`input`in t){let n=t.input;if(n==null||typeof n==`string`&&n.length===0||Array.isArray(n)&&n.length===0)return;e.setAttribute(O_,typeof n==`string`?n:JSON.stringify(n));return}let i=`input`in t?t.input:`messages`in t?t.messages:void 0;if(!i||Array.isArray(i)&&i.length===0)return;let{systemInstructions:a,filteredMessages:o}=sv(i);a&&e.setAttribute(__,a),e.setAttribute(g_,r?ov(o):md(o)),Array.isArray(o)?e.setAttribute(h_,o.length):e.setAttribute(h_,1)}function Ehe(e,t,n,r,i){return function(...a){let o=n.operation||`unknown`,s=The(a,o),c=s[`gen_ai.request.model`]||`unknown`,l=a[0],u=l&&typeof l==`object`&&l.stream===!0,d={name:`${o} ${c}`,op:`gen_ai.${o}`,attributes:s};if(u){let n,s=Bp(d,s=>(n=e.apply(r,a),i.recordInputs&&l&&lv(s,l,o,rv(i.enableTruncation)),(async()=>{try{return Che(await n,s,i.recordOutputs??!1)}catch(e){throw s.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai.stream`,data:{function:t}}}),s.end(),e}})()));return cv(n,s,`auto.ai.openai`)}let f,p=zp(d,n=>(f=e.apply(r,a),i.recordInputs&&l&&lv(n,l,o,rv(i.enableTruncation)),f.then(e=>(_he(n,e,i.recordOutputs),e),e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai`,data:{function:t}}}),e})));return cv(f,p,`auto.ai.openai`)}}function uv(e,t=``,n){return new Proxy(e,{get(e,r){let i=e[r],a=iv(t,String(r)),o=phe[a];return typeof i==`function`&&o?Ehe(i,a,o,e,n):typeof i==`function`?i.bind(e):i&&typeof i==`object`?uv(i,a,n):i}})}function Dhe(e,t){return uv(e,``,nv(t))}var dv={"messages.create":{operation:`chat`},"messages.stream":{operation:`chat`,streaming:!0},"messages.countTokens":{operation:`chat`},"models.get":{operation:`models`},"completions.create":{operation:`chat`},"models.retrieve":{operation:`models`},"beta.messages.create":{operation:`chat`}};function Ohe(e,t,n){if(Array.isArray(t)&&t.length===0)return;let{systemInstructions:r,filteredMessages:i}=sv(t);r&&e.setAttributes({[__]:r});let a=Array.isArray(i)?i.length:1;e.setAttributes({[g_]:n?ov(i):md(i),[h_]:a})}var khe={invalid_request_error:`invalid_argument`,authentication_error:`unauthenticated`,permission_error:`permission_denied`,not_found_error:`not_found`,request_too_large:`failed_precondition`,rate_limit_error:`resource_exhausted`,api_error:`internal_error`,overloaded_error:`unavailable`};function fv(e){return e&&khe[e]||`internal_error`}function Ahe(e,t){t.error&&(e.setStatus({code:2,message:fv(t.error.type)}),Pm(t.error,{mechanism:{handled:!1,type:`auto.ai.anthropic.anthropic_error`}}))}function jhe(e){let{system:t,messages:n,input:r}=e,i=typeof t==`string`?[{role:`system`,content:e.system}]:[],a=(Array.isArray(r)?r:r==null?void 0:[r])??(Array.isArray(n)?n:n==null?[]:[n]);return[...i,...a]}function Mhe(e,t){return`type`in e&&typeof e.type==`string`&&e.type===`error`&&(t.setStatus({code:2,message:fv(e.error?.type)}),Pm(e.error,{mechanism:{handled:!1,type:`auto.ai.anthropic.anthropic_error`}}),!0)}function Nhe(e,t){if(e.type===`message_delta`&&(e.usage&&typeof e.usage.output_tokens==`number`&&(t.completionTokens=e.usage.output_tokens),e.delta?.stop_reason&&t.finishReasons.push(e.delta.stop_reason)),e.message){let n=e.message;n.id&&(t.responseId=n.id),n.model&&(t.responseModel=n.model),n.usage&&(typeof n.usage.input_tokens==`number`&&(t.promptTokens=n.usage.input_tokens),typeof n.usage.cache_creation_input_tokens==`number`&&(t.cacheCreationInputTokens=n.usage.cache_creation_input_tokens),typeof n.usage.cache_read_input_tokens==`number`&&(t.cacheReadInputTokens=n.usage.cache_read_input_tokens))}}function Phe(e,t){e.type!==`content_block_start`||typeof e.index!=`number`||!e.content_block||(e.content_block.type===`tool_use`||e.content_block.type===`server_tool_use`)&&(t.activeToolBlocks[e.index]={id:e.content_block.id,name:e.content_block.name,inputJsonParts:[]})}function Fhe(e,t,n){if(!(e.type!==`content_block_delta`||!e.delta)){if(typeof e.index==`number`&&`partial_json`in e.delta&&typeof e.delta.partial_json==`string`){let n=t.activeToolBlocks[e.index];n&&n.inputJsonParts.push(e.delta.partial_json)}n&&typeof e.delta.text==`string`&&t.responseTexts.push(e.delta.text)}}function Ihe(e,t){if(e.type!==`content_block_stop`||typeof e.index!=`number`)return;let n=t.activeToolBlocks[e.index];if(!n)return;let r=n.inputJsonParts.join(``),i;try{i=r?JSON.parse(r):{}}catch{i={__unparsed:r}}t.toolCalls.push({type:`tool_use`,id:n.id,name:n.name,input:i}),delete t.activeToolBlocks[e.index]}function pv(e,t,n,r){e&&typeof e==`object`&&(Mhe(e,r)||(Nhe(e,t),Phe(e,t),Fhe(e,t,n),Ihe(e,t)))}async function*Lhe(e,t,n){let r={responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,cacheCreationInputTokens:void 0,cacheReadInputTokens:void 0,toolCalls:[],activeToolBlocks:{}};try{for await(let i of e)pv(i,r,n,t),yield i}finally{av(t,r,n)}}function Rhe(e,t,n){let r={responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,cacheCreationInputTokens:void 0,cacheReadInputTokens:void 0,toolCalls:[],activeToolBlocks:{}};return e.on(`streamEvent`,e=>{pv(e,r,n,t)}),e.on(`message`,()=>{av(t,r,n)}),e.on(`error`,e=>{Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic.stream_error`}}),t.isRecording()&&(t.setStatus({code:2,message:`internal_error`}),t.end())}),e}var mv=!1,hv=new WeakSet;function zhe(e,t,n){let r={[Zg]:`anthropic`,[m_]:n,[sf]:`auto.ai.anthropic`};if(e.length>0&&typeof e[0]==`object`&&e[0]!==null){let t=e[0];t.tools&&Array.isArray(t.tools)&&(r[y_]=JSON.stringify(t.tools)),r[Qg]=t.model??`unknown`,`temperature`in t&&(r[e_]=t.temperature),`top_p`in t&&(r[i_]=t.top_p),`stream`in t&&(r[$g]=t.stream),`top_k`in t&&(r[a_]=t.top_k),`frequency_penalty`in t&&(r[n_]=t.frequency_penalty),`max_tokens`in t&&(r[t_]=t.max_tokens)}else r[Qg]=t===`models.retrieve`||t===`models.get`?e[0]:`unknown`;return r}function gv(e,t,n){Ohe(e,jhe(t),n),`prompt`in t&&e.setAttributes({[Jme]:JSON.stringify(t.prompt)})}function Bhe(e,t){if(`content`in t&&Array.isArray(t.content)){e.setAttributes({[v_]:t.content.map(e=>e.text).filter(e=>!!e).join(``)});let n=[];for(let e of t.content)(e.type===`tool_use`||e.type===`server_tool_use`)&&n.push(e);n.length>0&&e.setAttributes({[x_]:JSON.stringify(n)})}`completion`in t&&e.setAttributes({[v_]:t.completion}),`input_tokens`in t&&e.setAttributes({[v_]:JSON.stringify(t.input_tokens)})}function Vhe(e,t){`id`in t&&`model`in t&&(e.setAttributes({[u_]:t.id,[l_]:t.model}),`usage`in t&&t.usage&&dhe(e,t.usage.input_tokens,t.usage.output_tokens,t.usage.cache_creation_input_tokens,t.usage.cache_read_input_tokens))}function Hhe(e,t,n){if(!(!t||typeof t!=`object`)){if(`type`in t&&t.type===`error`){Ahe(e,t);return}n&&Bhe(e,t),Vhe(e,t)}}function _v(e,t,n){throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic`,data:{function:n}}}),t.isRecording()&&(t.setStatus({code:2,message:`internal_error`}),t.end()),e}function Uhe(e,t,n,r,i,a,o,s,c,l){let u={name:`${i} ${r[`gen_ai.request.model`]??`unknown`}`,op:`gen_ai.${i}`,attributes:r};if(c&&!l){let r,i=Bp(u,i=>(r=e.apply(t,n),s.recordInputs&&o&&gv(i,o,rv(s.enableTruncation)),(async()=>{try{return Lhe(await r,i,s.recordOutputs??!1)}catch(e){return _v(e,i,a)}})()));return cv(r,i,`auto.ai.anthropic`)}return Bp(u,r=>{try{s.recordInputs&&o&&gv(r,o,rv(s.enableTruncation)),mv=!0;let i=e.apply(t,n);return mv=!1,Rhe(i,r,s.recordOutputs??!1)}catch(e){return mv=!1,_v(e,r,a)}})}function Whe(e,t,n,r,i){return new Proxy(e,{apply(e,a,o){let s=a===void 0?r:a,c=n.streaming===!0;if(!c&&mv)return e.apply(s,o);let l=n.operation||`unknown`,u=zhe(o,t,l),d=u[`gen_ai.request.model`]??`unknown`,f=typeof o[0]==`object`?o[0]:void 0,p=!!f?.stream;if(p||c)return Uhe(e,s,o,u,l,t,f,i,p,c);let m,h=zp({name:`${l} ${d}`,op:`gen_ai.${l}`,attributes:u},n=>(m=e.apply(s,o),i.recordInputs&&f&&gv(n,f,rv(i.enableTruncation)),m.then(e=>(Hhe(n,e,i.recordOutputs),e),e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic`,data:{function:t}}}),e})));return cv(m,h,`auto.ai.anthropic`)}})}function Ghe(e,t){for(let n of Object.keys(dv)){let r=n.split(`.`),i=r.pop(),a=e;for(let e of r)a=a?.[e];if(!a||typeof a[i]!=`function`)continue;let o=a[i];if(hv.has(o))continue;let s=Whe(o,n,dv[n],a,t);hv.add(s),a[i]=s}return e}function Khe(e,t){return Ghe(e,nv(t))}var qhe={"models.generateContent":{operation:`generate_content`},"models.generateContentStream":{operation:`generate_content`,streaming:!0},"models.embedContent":{operation:`embeddings`},"chats.create":{proxyResultPath:`chat`},"chat.sendMessage":{operation:`chat`},"chat.sendMessageStream":{operation:`chat`,streaming:!0}},Jhe=`google_genai`;function Yhe(e,t){let n=e?.promptFeedback;if(n?.blockReason){let e=n.blockReasonMessage??n.blockReason;return t.setStatus({code:2,message:`internal_error`}),Pm(`Content blocked: ${e}`,{mechanism:{handled:!1,type:`auto.ai.google_genai`}}),!0}return!1}function Xhe(e,t){typeof e.responseId==`string`&&(t.responseId=e.responseId),typeof e.modelVersion==`string`&&(t.responseModel=e.modelVersion);let n=e.usageMetadata;n&&(typeof n.promptTokenCount==`number`&&(t.promptTokens=n.promptTokenCount),typeof n.candidatesTokenCount==`number`&&(t.completionTokens=n.candidatesTokenCount),typeof n.totalTokenCount==`number`&&(t.totalTokens=n.totalTokenCount))}function Zhe(e,t,n){Array.isArray(e.functionCalls)&&t.toolCalls.push(...e.functionCalls);for(let r of e.candidates??[]){r?.finishReason&&!t.finishReasons.includes(r.finishReason)&&t.finishReasons.push(r.finishReason);for(let e of r?.content?.parts??[])n&&e.text&&t.responseTexts.push(e.text),e.functionCall&&t.toolCalls.push({type:`function`,id:e.functionCall.id,name:e.functionCall.name,arguments:e.functionCall.args})}}function Qhe(e,t,n,r){!e||Yhe(e,r)||(Xhe(e,t),Zhe(e,t,n))}async function*$he(e,t,n){let r={responseTexts:[],finishReasons:[],toolCalls:[]};try{for await(let i of e)Qhe(i,r,n,t),yield i}finally{av(t,r,n)}}function vv(e,t=`user`){return typeof e==`string`?[{role:t,content:e}]:Array.isArray(e)?e.flatMap(e=>vv(e,t)):typeof e!=`object`||!e?[]:`role`in e&&typeof e.role==`string`?[e]:`parts`in e?[{...e,role:t}]:[{role:t,content:e}]}function yv(e,t){if(`model`in e&&typeof e.model==`string`)return e.model;if(t&&typeof t==`object`){let e=t;if(`model`in e&&typeof e.model==`string`)return e.model;if(`modelVersion`in e&&typeof e.modelVersion==`string`)return e.modelVersion}return`unknown`}function ege(e){let t={};return`temperature`in e&&typeof e.temperature==`number`&&(t[e_]=e.temperature),`topP`in e&&typeof e.topP==`number`&&(t[i_]=e.topP),`topK`in e&&typeof e.topK==`number`&&(t[a_]=e.topK),`maxOutputTokens`in e&&typeof e.maxOutputTokens==`number`&&(t[t_]=e.maxOutputTokens),`frequencyPenalty`in e&&typeof e.frequencyPenalty==`number`&&(t[n_]=e.frequencyPenalty),`presencePenalty`in e&&typeof e.presencePenalty==`number`&&(t[r_]=e.presencePenalty),t}function tge(e,t,n){let r={[Zg]:Jhe,[m_]:e,[sf]:`auto.ai.google_genai`};if(t){if(r[Qg]=yv(t,n),`config`in t&&typeof t.config==`object`&&t.config){let e=t.config;if(Object.assign(r,ege(e)),`tools`in e&&Array.isArray(e.tools)){let t=e.tools.flatMap(e=>e.functionDeclarations);r[y_]=JSON.stringify(t)}}}else r[Qg]=yv({},n);return r}function bv(e,t,n,r){if(n===`embeddings`){let n=t.contents;n!=null&&e.setAttribute(O_,typeof n==`string`?n:JSON.stringify(n));return}let i=[];if(`config`in t&&t.config&&typeof t.config==`object`&&`systemInstruction`in t.config&&t.config.systemInstruction&&i.push(...vv(t.config.systemInstruction,`system`)),`history`in t&&i.push(...vv(t.history,`user`)),`contents`in t&&i.push(...vv(t.contents,`user`)),`message`in t&&i.push(...vv(t.message,`user`)),Array.isArray(i)&&i.length){let{systemInstructions:t,filteredMessages:n}=sv(i);t&&e.setAttribute(__,t);let a=Array.isArray(n)?n.length:0;e.setAttributes({[h_]:a,[g_]:r?ov(n):md(n)})}}function nge(e,t,n){if(!(!t||typeof t!=`object`)){if(t.modelVersion&&e.setAttribute(l_,t.modelVersion),t.usageMetadata&&typeof t.usageMetadata==`object`){let n=t.usageMetadata;typeof n.promptTokenCount==`number`&&e.setAttributes({[d_]:n.promptTokenCount}),typeof n.candidatesTokenCount==`number`&&e.setAttributes({[f_]:n.candidatesTokenCount}),typeof n.totalTokenCount==`number`&&e.setAttributes({[p_]:n.totalTokenCount})}if(n&&Array.isArray(t.candidates)&&t.candidates.length>0){let n=t.candidates.map(e=>e.content?.parts&&Array.isArray(e.content.parts)?e.content.parts.map(e=>typeof e.text==`string`?e.text:``).filter(e=>e.length>0).join(``):``).filter(e=>e.length>0);n.length>0&&e.setAttributes({[v_]:n.join(``)})}if(n&&t.functionCalls){let n=t.functionCalls;Array.isArray(n)&&n.length>0&&e.setAttributes({[x_]:JSON.stringify(n)})}}}function rge(e,t,n,r,i){let a=n.operation===`embeddings`;return new Proxy(e,{apply(e,o,s){let c=n.operation||`unknown`,l=s[0],u=tge(c,l,r),d=u[`gen_ai.request.model`]??`unknown`;return n.streaming?Bp({name:`${c} ${d}`,op:`gen_ai.${c}`,attributes:u},async n=>{try{return i.recordInputs&&l&&bv(n,l,c,rv(i.enableTruncation)),$he(await e.apply(r,s),n,!!i.recordOutputs)}catch(e){throw n.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.google_genai`,data:{function:t}}}),n.end(),e}}):zp({name:`${c} ${d}`,op:`gen_ai.${c}`,attributes:u},n=>(i.recordInputs&&l&&bv(n,l,c,rv(i.enableTruncation)),Lp(()=>e.apply(r,s),e=>{Pm(e,{mechanism:{handled:!1,type:`auto.ai.google_genai`,data:{function:t}}})},()=>{},e=>{a||nge(n,e,i.recordOutputs)})))}})}function xv(e,t=``,n){return new Proxy(e,{get:(e,r,i)=>{let a=Reflect.get(e,r,i),o=iv(t,String(r)),s=qhe[o];if(typeof a==`function`&&s){let t=s.operation?rge(a,o,s,e,n):a.bind(e);return s.proxyResultPath?function(...e){let r=t(...e);return r&&typeof r==`object`?xv(r,s.proxyResultPath,n):r}:t}return typeof a==`function`?a.bind(e):a&&typeof a==`object`?xv(a,o,n):a}})}function ige(e,t){return xv(e,``,nv(t))}var Sv=`auto.ai.langchain`,age={human:`user`,ai:`assistant`,assistant:`assistant`,system:`system`,function:`function`,tool:`tool`},Cv=(e,t,n)=>{n!=null&&(e[t]=n)},wv=(e,t,n)=>{let r=Number(n);Number.isNaN(r)||(e[t]=r)};function Tv(e){if(Array.isArray(e))try{let t=e.map(e=>e&&typeof e==`object`&&L_(e)?q_(e):e);return JSON.stringify(t)}catch{return String(e)}return md(e,String)}function Ev(e){let t=e.toLowerCase();return age[t]??t}function Dv(e){return e.includes(`System`)?`system`:e.includes(`Human`)?`user`:e.includes(`AI`)||e.includes(`Assistant`)?`assistant`:e.includes(`Function`)?`function`:e.includes(`Tool`)?`tool`:`user`}function Ov(e){if(!(!e||Array.isArray(e)))return e.invocation_params}function kv(e){return e.map(e=>{let t=e._getType;if(typeof t==`function`)return{role:Ev(t.call(e)),content:Tv(e.content)};if(e.lc===1&&e.kwargs){let t=e.id,n=Array.isArray(t)&&t.length>0?t[t.length-1]:``;return{role:Ev(typeof n==`string`?Dv(n):`user`),content:Tv(e.kwargs?.content)}}if(e.type)return{role:Ev(String(e.type).toLowerCase()),content:Tv(e.content)};if(e.role)return{role:Ev(String(e.role)),content:Tv(e.content)};let n=e.constructor?.name;return n&&n!==`Object`?{role:Ev(Dv(n)),content:Tv(e.content)}:{role:`user`,content:Tv(e.content)}})}function oge(e,t,n){let r={},i=`kwargs`in e?e.kwargs:void 0;wv(r,e_,t?.temperature??n?.ls_temperature??i?.temperature),wv(r,t_,t?.max_tokens??n?.ls_max_tokens??i?.max_tokens),wv(r,i_,t?.top_p??i?.top_p);let a=t?.frequency_penalty;wv(r,n_,a);let o=t?.presence_penalty;return wv(r,r_,o),t&&`stream`in t&&Cv(r,$g,!!t.stream),r}function Av(e,t,n,r,i){return{[Zg]:md(e??`langchain`,String),[m_]:`chat`,[Qg]:md(t,String),[sf]:Sv,...oge(n,r,i)}}function sge(e,t,n,r,i,a){let o=a?.ls_provider,s=Av(o,i?.model??a?.ls_model_name??`unknown`,e,i,a);if(n&&Array.isArray(t)&&t.length>0){Cv(s,h_,t.length);let e=t.map(e=>({role:`user`,content:e}));Cv(s,g_,r?ov(e):md(e))}return s}function cge(e,t,n,r,i,a){let o=Av(a?.ls_provider??e.id?.[2],i?.model??a?.ls_model_name??`unknown`,e,i,a);if(n&&Array.isArray(t)&&t.length>0){let{systemInstructions:e,filteredMessages:n}=sv(kv(t.flat()));e&&Cv(o,__,e),Cv(o,h_,Array.isArray(n)?n.length:0),Cv(o,g_,r?ov(n):md(n))}return o}function lge(e,t){let n=[],r=e.flat();for(let e of r){let t=e.message?.tool_calls;if(Array.isArray(t)&&t.length>0)n.push(...t);else{let t=e.message?.content;if(Array.isArray(t))for(let e of t){let t=e;t.type===`tool_use`&&n.push(t)}}}n.length>0&&Cv(t,x_,md(n,String))}function uge(e,t){if(!e)return;let n=e.tokenUsage,r=e.usage;if(n)wv(t,d_,n.promptTokens),wv(t,f_,n.completionTokens),wv(t,p_,n.totalTokens);else if(r){wv(t,d_,r.input_tokens),wv(t,f_,r.output_tokens);let e=Number(r.input_tokens),n=Number(r.output_tokens),i=(Number.isNaN(e)?0:e)+(Number.isNaN(n)?0:n);i>0&&wv(t,p_,i),r.cache_creation_input_tokens!==void 0&&wv(t,T_,r.cache_creation_input_tokens),r.cache_read_input_tokens!==void 0&&wv(t,E_,r.cache_read_input_tokens)}}function dge(e,t){if(!e)return;let n={};if(Array.isArray(e.generations)){let r=e.generations.flat().map(e=>e.generationInfo?.finish_reason?e.generationInfo.finish_reason:e.generation_info?.finish_reason?e.generation_info.finish_reason:null).filter(e=>typeof e==`string`);if(r.length>0&&Cv(n,c_,md(r,String)),lge(e.generations,n),t){let t=e.generations.flat().map(e=>e.text??e.message?.content).filter(e=>typeof e==`string`);t.length>0&&Cv(n,v_,md(t,String))}}uge(e.llmOutput,n);let r=e.llmOutput,i=e.generations?.[0]?.[0]?.message,a=r?.model_name??r?.model??i?.response_metadata?.model_name;a&&Cv(n,l_,a);let o=r?.id??i?.id;o&&Cv(n,u_,o);let s=r?.stop_reason??i?.response_metadata?.finish_reason;return s&&Cv(n,Yme,md(s,String)),n}function jv(e){let t={},n=e?.lc_agent_name;return typeof n==`string`&&(t[S_]=n),t}function fge(e){let t=e?.invocation_params?.tools??e?.options?.tools;if(!Array.isArray(t)||t.length===0)return;let n=t.map(e=>{let t=e.function;return{type:`function`,name:e.name??t?.name??``,description:e.description??t?.description}});return JSON.stringify(n)}function pge(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.addHandler==`function`&&typeof t.copy==`function`}function mge(e){return typeof e==`object`&&e?.name===`SentryCallbackHandler`}function Mv(e){return e.some(mge)}function hge(e,t){if(!e)return[t];if(pge(e)){if(Mv(e.handlers??[]))return e;let n=e.copy();return n.addHandler(t,!0),n}let n=Array.isArray(e)?e:[e];return Mv(n)?e:[...n,t]}function Nv(e={}){let{recordInputs:t,recordOutputs:n}=nv(e),r=rv(e.enableTruncation),i=new Map,a=e=>{let t=i.get(e);t?.isRecording()&&(t.end(),i.delete(e))},o={lc_serializable:!1,lc_namespace:[`langchain_core`,`callbacks`,`sentry`],lc_secrets:void 0,lc_attributes:void 0,lc_aliases:void 0,lc_serializable_keys:void 0,lc_id:[`langchain_core`,`callbacks`,`sentry`],lc_kwargs:{},name:`SentryCallbackHandler`,ignoreLLM:!1,ignoreChain:!1,ignoreAgent:!1,ignoreRetriever:!1,ignoreCustomEvent:!1,raiseError:!1,awaitHandlers:!0,handleLLMStart(e,n,a,o,s,c,l,u){let d=Ov(c),f=sge(e,n,t,r,d,l),p=f[Qg],m=f[m_];Bp({name:`${m} ${p}`,op:`gen_ai.chat`,attributes:{...jv(l),...f,[of]:`gen_ai.chat`}},e=>(i.set(a,e),e))},handleChatModelStart(e,n,a,o,s,c,l,u){let d=Ov(c),f=cge(e,n,t,r,d,l),p=fge(s);p&&(f[y_]=p);let m=f[Qg],h=f[m_];Bp({name:`${h} ${m}`,op:`gen_ai.chat`,attributes:{...jv(l),...f,[of]:`gen_ai.chat`}},e=>(i.set(a,e),e))},handleLLMEnd(e,t,r,o,s){let c=i.get(t);if(c?.isRecording()){let r=dge(e,n);r&&c.setAttributes(r),a(t)}},handleLLMError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.llm_error_handler`}})},handleChainStart(e,n,r,a,o,s,c,l){if(s?.__sentry_langgraph__)return;let u=l||e.name||`unknown_chain`,d={[sf]:`auto.ai.langchain`,"langchain.chain.name":u};t&&(d[`langchain.chain.inputs`]=JSON.stringify(n)),Bp({name:`chain ${u}`,op:`gen_ai.invoke_agent`,attributes:{...d,[of]:`gen_ai.invoke_agent`}},e=>(i.set(r,e),e))},handleChainEnd(e,t){let r=i.get(t);r?.isRecording()&&(n&&r.setAttributes({"langchain.chain.outputs":JSON.stringify(e)}),a(t))},handleChainError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.chain_error_handler`}})},handleToolStart(e,n,r,a,o,s,c){if(s?.__sentry_langgraph__)return;let l=c||e.name||`unknown_tool`,u={...jv(s),[sf]:Sv,[m_]:`execute_tool`,[j_]:l};t&&(u[P_]=n),Bp({name:`execute_tool ${l}`,op:`gen_ai.execute_tool`,attributes:{...u,[of]:`gen_ai.execute_tool`}},e=>(i.set(r,e),e))},handleToolEnd(e,t){let r=i.get(t);if(r?.isRecording()){if(n){let t=e,n=t&&typeof t==`object`&&`content`in t?t.content:e;r.setAttributes({[F_]:typeof n==`string`?n:JSON.stringify(n)})}a(t)}},handleToolError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.tool_error_handler`}})},copy(){return o},toJSON(){return{lc:1,type:`not_implemented`,id:o.lc_id}},toJSONNotImplemented(){return{lc:1,type:`not_implemented`,id:o.lc_id}}};return o}function gge(e){let t=e.constructor?.name??``;return t.includes(`OpenAI`)?`openai`:t.includes(`Google`)?`google_genai`:t.includes(`Mistral`)?`mistralai`:t.includes(`Vertex`)?`google_vertexai`:t.includes(`Bedrock`)?`aws_bedrock`:t.includes(`Ollama`)?`ollama`:t.includes(`Cloudflare`)?`cloudflare`:t.includes(`Cohere`)?`cohere`:`langchain`}function _ge(e){let t=e??{},n={[sf]:Sv,[of]:k_,[m_]:`embeddings`,[Qg]:t.model??`unknown`};return n[Zg]=gge(t),`dimensions`in t&&(n[s_]=t.dimensions),`encodingFormat`in t&&(n[o_]=t.encodingFormat),n}function vge(e,t,n={}){let{recordInputs:r}=nv(n),i=_ge(e),a=i[`gen_ai.request.model`]||`unknown`;return r&&t!=null&&(i[O_]=typeof t==`string`?t:JSON.stringify(t)),{name:`embeddings ${a}`,op:k_,attributes:i}}function Pv(e,t={}){return new Proxy(e,{apply(e,n,r){return zp(vge(n,r[0],t),()=>Reflect.apply(e,n,r).then(void 0,e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.langchain`}}),e}))}})}function yge(e,t){let n=e;return typeof n.embedQuery==`function`&&(n.embedQuery=Pv(n.embedQuery,t)),typeof n.embedDocuments==`function`&&(n.embedDocuments=Pv(n.embedDocuments,t)),e}var Fv=`auto.ai.langgraph`;function bge(e){let t=e[0];if(typeof t!=`object`||!t||!(`llm`in t)||!t.llm||typeof t.llm!=`object`)return null;let n=t.llm;return typeof n.modelName!=`string`&&typeof n.model!=`string`?null:n}function xge(e){let t=e[0];return typeof t==`object`&&t&&`name`in t&&typeof t.name==`string`?t.name:null}function Sge(e,t,n){let r=`__sentry_tool_wrapped__`;for(let i of e){if(!i||typeof i!=`object`)continue;let e=i,a=e.invoke;if(typeof a!=`function`||Object.prototype.hasOwnProperty.call(e,r))continue;let o=typeof e.name==`string`?e.name:`unknown_tool`,s=typeof e.description==`string`?e.description:void 0;e.invoke=new Proxy(a,{apply(e,r,i){let a={[sf]:Fv,[of]:A_,[m_]:`execute_tool`,[j_]:o,[N_]:`function`},c=i[1]?.metadata?.lc_agent_name??n;typeof c==`string`&&(a[S_]=c),s&&(a[I_]=s);let l=i[0];if(typeof l==`object`&&l&&(`id`in l&&typeof l.id==`string`&&(a[M_]=l.id),t.recordInputs)){let e=`args`in l&&typeof l.args==`object`?l.args:l;try{a[P_]=JSON.stringify(e)}catch{}}return zp({op:A_,name:`execute_tool ${o}`,attributes:a},async n=>{try{let a=await Reflect.apply(e,r,i);if(t.recordOutputs)try{let e=a,t=e&&typeof e==`object`&&`content`in e?e.content:a;n.setAttribute(F_,typeof t==`string`?t:JSON.stringify(t))}catch{}return a}catch(e){throw n.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}}),Object.defineProperty(e,r,{value:!0,enumerable:!1})}return e}function Cge(e){if(!e||e.length===0)return null;let t=[];for(let n of e)if(n&&typeof n==`object`){let e=n.tool_calls;e&&Array.isArray(e)&&t.push(...e)}return t.length>0?t:null}function wge(e){let t=e,n=0,r=0,i=0;if(t.usage_metadata&&typeof t.usage_metadata==`object`){let e=t.usage_metadata;return typeof e.input_tokens==`number`&&(n=e.input_tokens),typeof e.output_tokens==`number`&&(r=e.output_tokens),typeof e.total_tokens==`number`&&(i=e.total_tokens),{inputTokens:n,outputTokens:r,totalTokens:i}}if(t.response_metadata&&typeof t.response_metadata==`object`){let e=t.response_metadata;if(e.tokenUsage&&typeof e.tokenUsage==`object`){let t=e.tokenUsage;typeof t.promptTokens==`number`&&(n=t.promptTokens),typeof t.completionTokens==`number`&&(r=t.completionTokens),typeof t.totalTokens==`number`&&(i=t.totalTokens)}}return{inputTokens:n,outputTokens:r,totalTokens:i}}function Tge(e,t){let n=t;if(n.response_metadata&&typeof n.response_metadata==`object`){let t=n.response_metadata;t.model_name&&typeof t.model_name==`string`&&e.setAttribute(l_,t.model_name),t.finish_reason&&typeof t.finish_reason==`string`&&e.setAttribute(c_,[t.finish_reason])}}function Ege(e){if(!e.builder?.nodes?.tools?.runnable?.tools)return null;let t=e.builder?.nodes?.tools?.runnable?.tools;return!t||!Array.isArray(t)||t.length===0?null:t.map(e=>({name:e.lc_kwargs?.name,description:e.lc_kwargs?.description,schema:e.lc_kwargs?.schema}))}function Dge(e,t,n){let r=n?.messages;if(!r||!Array.isArray(r))return;let i=t?.length??0,a=r.length>i?r.slice(i):[];if(a.length===0)return;let o=Cge(a);o&&e.setAttribute(x_,JSON.stringify(o));let s=kv(a);e.setAttribute(v_,JSON.stringify(s));let c=0,l=0,u=0;for(let t of a){let n=wge(t);c+=n.inputTokens,l+=n.outputTokens,u+=n.totalTokens,Tge(e,t)}c>0&&e.setAttribute(d_,c),l>0&&e.setAttribute(f_,l),u>0&&e.setAttribute(p_,u)}var Iv=!1,Lv=`__sentry_patched__`;function Oge(e){let t={[sf]:Fv,[of]:`gen_ai.create_agent`,[m_]:`create_agent`};return e&&(t[S_]=e),{op:`gen_ai.create_agent`,name:e?`create_agent ${e}`:`create_agent`,attributes:t}}function kge(e,t){if(Object.prototype.hasOwnProperty.call(e,Lv))return e;let n=Nv(t),r=new Proxy(e,{apply(e,r,i){return Iv?Reflect.apply(e,r,i):zp(Oge(),a=>{try{let o=Reflect.apply(e,r,i),s=i.length>0?i[0]:{};s?.name&&typeof s.name==`string`&&(a.setAttribute(S_,s.name),a.updateName(`create_agent ${s.name}`));let c=o.invoke;return c&&typeof c==`function`&&(o.invoke=Rv(c.bind(o),o,s,t,void 0,n)),o}catch(e){throw a.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}});return Object.defineProperty(r,Lv,{value:!0,enumerable:!1}),r}function Rv(e,t,n,r,i,a){return new Proxy(e,{apply(e,o,s){let c=i?.modelName??i?.model;return zp({op:`gen_ai.invoke_agent`,name:`invoke_agent`,attributes:{[sf]:Fv,[of]:D_,[m_]:`invoke_agent`}},async i=>{try{let l=n?.name;l&&typeof l==`string`&&(i.setAttribute(C_,l),i.setAttribute(S_,l),i.updateName(`invoke_agent ${l}`)),c&&i.setAttribute(Qg,c);let u=(s.length>1?s[1]:void 0)?.configurable?.thread_id;if(u&&typeof u==`string`&&i.setAttribute(w_,u),a){let e=s[1]??{};s[1]=e,e.metadata={...e.metadata??{},__sentry_langgraph__:!0,...typeof l==`string`?{lc_agent_name:l}:{}},e.callbacks=hge(e.callbacks,a)}let d=Ege(t);d&&i.setAttribute(y_,JSON.stringify(d));let f=r.recordInputs,p=r.recordOutputs,m=s.length>0?s[0]?.messages??[]:[];if(m&&f){let{systemInstructions:e,filteredMessages:t}=sv(kv(m));e&&i.setAttribute(__,e);let n=rv(r.enableTruncation),a=Array.isArray(t)?t.length:0;i.setAttributes({[g_]:n?ov(t):md(t),[h_]:a})}let h=await Reflect.apply(e,o,s);return p&&Dge(i,m??null,h),h}catch(e){throw i.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}})}function Age(e,t){if(Object.prototype.hasOwnProperty.call(e,Lv))return e;let n=nv(t),r=Nv(n),i=new Proxy(e,{apply(e,t,i){let a=bge(i),o=xge(i),s=i[0];s&&Array.isArray(s.tools)&&s.tools.length>0&&Sge(s.tools,n,o??void 0),Iv=!0;let c;try{c=Reflect.apply(e,t,i)}finally{Iv=!1}let l=c.invoke;if(l&&typeof l==`function`){let e={};o&&(e.name=o),c.invoke=Rv(l.bind(c),c,e,n,a,r)}return c}});return Object.defineProperty(i,Lv,{value:!0,enumerable:!1}),i}function zv(e,t){return e.compile=kge(e.compile,nv(t)),e}var jge=zv;function Mge(e,t,n){let r=n.getOptions(),i=n.getDsn(),a=r.tunnel,o=Dp(r._metadata),s={sent_at:new Date(ad()).toISOString(),...Nge(t)&&{trace:t},...o&&{sdk:o},...!!a&&i&&{dsn:Ef(i)}},c=n.getDataCollectionOptions().userInfo?`auto`:`never`;return yp(s,[[{type:`span`,item_count:e.length,content_type:`application/vnd.sentry.items.span.v2+json`},{version:2,...ih()&&{ingest_settings:{infer_ip:c,infer_user_agent:c}},items:e}]])}function Nge(e){return!!e.trace_id&&!!e.public_key}function Pge(e){let t=156;if(t+=e.name.length*2,t+=Yd(e.attributes),e.links&&e.links.length>0){let n=e.links[0]?.attributes,r=100+(n?Yd(n):0);t+=r*e.links.length}return t}var Bv=1e3,Fge=5e6,Ige=class{constructor(e,t){this._traceBuckets=new Map,this._client=e;let{maxSpanLimit:n,flushInterval:r,maxTraceWeightInBytes:i}=t??{};this._maxSpanLimit=n&&n>0&&n<=Bv?n:Bv,this._flushInterval=r&&r>0?r:5e3,this._maxTraceWeight=i&&i>0?i:Fge,this._client.on(`flush`,()=>{this.drain()}),this._client.on(`close`,()=>{this._traceBuckets.forEach(e=>{clearTimeout(e.timeout)}),this._traceBuckets.clear()})}add(e){let t=e.trace_id,n=this._traceBuckets.get(t);n||(n={spans:new Set,size:0,timeout:Km(setTimeout(()=>{this.flush(t)},this._flushInterval))},this._traceBuckets.set(t,n)),n.spans.add(e),n.size+=Pge(e),(n.spans.size>=this._maxSpanLimit||n.size>=this._maxTraceWeight)&&this.flush(t)}drain(){this._traceBuckets.size&&(B&&H.log(`Flushing span tree map with ${this._traceBuckets.size} traces`),this._traceBuckets.forEach((e,t)=>{this.flush(t)}))}flush(e){let t=this._traceBuckets.get(e);if(!t)return;if(!t.spans.size){this._removeTrace(e);return}let n=Array.from(t.spans),r=n[0]?._segmentSpan;if(!r){B&&H.warn(`No segment span reference found on span JSON, cannot compute DSC`),this._removeTrace(e);return}let i=_p(r),a=n.map(e=>{let{_segmentSpan:t,...n}=e;return n}),o=Mge(a,i,this._client);B&&H.log(`Sending span envelope for trace ${e} with ${a.length} spans`),this._client.sendEnvelope(o).then(null,e=>{B&&H.error(`Error while sending streamed span envelope:`,e)}),this._removeTrace(e)}_removeTrace(e){let t=this._traceBuckets.get(e);t&&clearTimeout(t.timeout),this._traceBuckets.delete(e)}};function Vv(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}var Hv=V;function Lge(){return`history`in Hv&&!!Hv.history}function Rge(){if(!(`fetch`in Hv))return!1;try{return new Headers,new Request(`data:,`),new Response,!0}catch{return!1}}function Uv(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Wv(){if(typeof EdgeRuntime==`string`)return!0;if(!Rge())return!1;if(Uv(Hv.fetch))return!0;let e=!1,t=Hv.document;if(t&&typeof t.createElement==`function`)try{let n=t.createElement(`iframe`);n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=Uv(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){B&&H.warn(`Could not create sandbox iframe for pure fetch check, bailing to window.fetch: `,e)}return e}function zge(){return`ReportingObserver`in Hv}function Gv(e,t){let n=`fetch`,r=ku(n,e);return Au(n,()=>Kv(void 0,t)),r}function Bge(e){let t=`fetch-body-resolved`,n=ku(t,e);return Au(t,()=>Kv(Hge)),n}function Kv(e,t=!1){t&&!Wv()||Xu(V,`fetch`,function(t){return function(...n){let r=Error(),{method:i,url:a}=Uge(n),o={args:n,fetchData:{method:i,url:a},startTimestamp:kd()*1e3,virtualError:r,headers:Wge(n)};return e||ju(`fetch`,{...o}),t.apply(V,n).then(async t=>(e?e(t):ju(`fetch`,{...o,endTimestamp:kd()*1e3,response:t}),t),e=>{ju(`fetch`,{...o,endTimestamp:kd()*1e3,error:e}),Lu(e)&&e.stack===void 0&&(e.stack=r.stack,Zu(e,`framesToPop`,1));let t=U()?.getOptions().enhanceFetchErrorMessages??`always`;if(t!==!1&&Lu(e)&&e.name===`TypeError`&&(e.message===`Failed to fetch`||e.message===`Load failed`||e.message===`NetworkError when attempting to fetch resource.`))try{let n=new URL(o.fetchData.url).host;t===`always`?e.message=`${e.message} (${n})`:Zu(e,`__sentry_fetch_url_host__`,n)}catch{}throw e})}})}async function Vge(e,t){if(e?.body){let n=e.body,r=n.getReader(),i=setTimeout(()=>{n.cancel().then(null,()=>{})},9e4),a=!0;for(;a;){let e;try{e=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);let{done:i}=await r.read();clearTimeout(e),i&&(t(),a=!1)}catch{a=!1}finally{clearTimeout(e)}}clearTimeout(i),r.releaseLock(),n.cancel().then(null,()=>{})}}function Hge(e){let t;try{t=e.clone()}catch{return}Vge(t,()=>{ju(`fetch-body-resolved`,{endTimestamp:kd()*1e3,response:e})})}function qv(e,t){return Gu(e)&&!!e[t]}function Jv(e){return typeof e==`string`?e:e?qv(e,`url`)?e.url:e.toString?e.toString():``:``}function Uge(e){if(e.length===0)return{method:`GET`,url:``};if(e.length===2){let[t,n]=e;return{url:Jv(t),method:qv(n,`method`)?String(n.method).toUpperCase():Yu(t)&&qv(t,`method`)?String(t.method).toUpperCase():`GET`}}let t=e[0];return{url:Jv(t),method:qv(t,`method`)?String(t.method).toUpperCase():`GET`}}function Wge(e){let[t,n]=e;try{if(typeof n==`object`&&n&&`headers`in n&&n.headers)return new Headers(n.headers);if(Yu(t))return new Headers(t.headers)}catch{}}var Yv=V;function Xv(){try{return Yv.document.location.href}catch{return``}}function Zv(e,t=5){if(!Yv.HTMLElement)return null;let n=e;for(let e=0;e<t;e++){if(!n)return null;if(n instanceof HTMLElement){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}n=n.parentNode}return null}var Qv=V,$v=Qv.document,ey=Qv.navigator,ty=`Report a Bug`,Gge=`Cancel`,Kge=`Send Bug Report`,qge=`Confirm`,Jge=`Report a Bug`,Yge=`your.email@example.org`,Xge=`Email`,Zge=`What's the bug? What did you expect?`,Qge=`Description`,$ge=`Your Name`,e_e=`Name`,t_e=`Thank you for your report!`,n_e=`(required)`,r_e=`Add a screenshot`,i_e=`Remove screenshot`,a_e=`Highlight`,o_e=`Hide`,s_e=`Remove`,ny=`Unable to submit feedback with empty message`,ry=`No client setup, cannot send feedback.`,iy=`Unable to determine if Feedback was correctly sent.`,ay=`Unable to send feedback. This could be because this domain is not in your list of allowed domains.`,oy=`Unable to send feedback. This could be because of network issues, or because you are using an ad-blocker.`,c_e=`widget`,l_e=`api`,u_e=5e3,d_e={ERROR_EMPTY_MESSAGE:ny,ERROR_NO_CLIENT:ry,ERROR_TIMEOUT:iy,ERROR_FORBIDDEN:ay,ERROR_GENERIC:oy};function sy(e,t){return t?.[e]??d_e[e]}function cy(e,t){return Error(sy(e,t))}var ly=(e,t={includeReplay:!0})=>{let n=t.errorMessages;if(!e.message)throw cy(`ERROR_EMPTY_MESSAGE`,n);let r=U();if(!r)throw cy(`ERROR_NO_CLIENT`,n);e.tags&&Object.keys(e.tags).length&&Qd().setTags(e.tags);let i=Ug({source:l_e,url:Xv(),...e},t);return new Promise((e,t)=>{let a=setTimeout(()=>{o(),t(sy(`ERROR_TIMEOUT`,n))},3e4),o=r.on(`afterSendEvent`,(r,s)=>{if(r.event_id===i)return clearTimeout(a),o(),s?.statusCode&&s.statusCode>=200&&s.statusCode<300?e(i):s?.statusCode===403?t(sy(`ERROR_FORBIDDEN`,n)):t(sy(`ERROR_GENERIC`,n))})})},uy=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__;function f_e(){return!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ey.userAgent)||/Macintosh/i.test(ey.userAgent)&&ey.maxTouchPoints&&ey.maxTouchPoints>1||!isSecureContext)}function dy(e,t){return{...e,...t,tags:{...e.tags,...t.tags},onFormOpen:()=>{t.onFormOpen?.(),e.onFormOpen?.()},onFormClose:()=>{t.onFormClose?.(),e.onFormClose?.()},onSubmitSuccess:(n,r)=>{t.onSubmitSuccess?.(n,r),e.onSubmitSuccess?.(n,r)},onSubmitError:n=>{t.onSubmitError?.(n),e.onSubmitError?.(n)},onFormSubmitted:()=>{t.onFormSubmitted?.(),e.onFormSubmitted?.()},themeDark:{...e.themeDark,...t.themeDark},themeLight:{...e.themeLight,...t.themeLight}}}function p_e(e){let t=$v.createElement(`style`);return t.textContent=`
|
|
19
|
+
${e.stack}`:`unknown`}}}}}var lme=$m(((e={})=>{let t=e.limit??nme;return{name:rme,processEvent(n,r){return cme(t,e.saveZodIssuesAsAttachment,n,r)}}})),ume=$m(e=>({name:`ThirdPartyErrorsFilter`,setup(e){e.on(`beforeEnvelope`,e=>{xp(e,(e,t)=>{if(t===`event`){let t=Array.isArray(e)?e[1]:void 0;t&&(_g(t),e[1]=t)}})}),e.on(`applyFrameMetadata`,t=>{if(t.type)return;let n=e.getOptions().stackParser;gg(n,t)})},preprocessEvent(t){e.ignoreSentryInternalFrames&&(V._sentryWrappedDepth??0)>0&&(t.sdkProcessingMetadata={...t.sdkProcessingMetadata,insideSentryWrapped:!0})},processEvent(t){let n=e.ignoreSentryInternalFrames?t.sdkProcessingMetadata?.insideSentryWrapped===!0&&t.exception?.values?.length===1:!1,r=fme(t,e.ignoreSentryInternalFrames,n);if(r&&r[e.behaviour===`drop-error-if-contains-third-party-frames`||e.behaviour===`apply-tag-if-contains-third-party-frames`?`some`:`every`](t=>!t.some(t=>e.filterKeys.includes(t)))){if(e.behaviour===`drop-error-if-contains-third-party-frames`||e.behaviour===`drop-error-if-exclusively-contains-third-party-frames`)return null;t.tags={...t.tags,third_party_code:!0}}return t}}));function dme(e,t,n){if(t!==0)return!1;if(n&&pme(e)||e.function===`sentryWrapped`)return!0;if(!e.context_line||!e.filename||!e.filename.includes(`sentry`)||!e.filename.includes(`helpers`)||!e.context_line.includes(hme))return!1;if(e.pre_context){let t=e.pre_context.length;for(let n=0;n<t;n++)if(e.pre_context[n]?.includes(mme))return!0}return!1}function fme(e,t,n){let r=Eu(e);if(r)return r.filter((e,r)=>!e.filename||e.lineno==null&&e.colno==null&&e.instruction_addr==null?!1:!t||!dme(e,r,!!n)).map(e=>e.module_metadata?Object.keys(e.module_metadata).filter(e=>e.startsWith(Fg)).map(e=>e.slice(Fg.length)):[])}function pme(e){return!e.context_line&&!e.pre_context&&!!e.function&&e.function.length<=2}var Fg=`_sentryBundlerPluginAppKey:`,mme=`Attempt to invoke user-land function`,hme=`fn.apply(this, wrappedArguments)`,Ig=`flag.evaluation.`;function Lg(e){if(e.type)return e;let t=Qd().getScopeData().contexts.flags,n=t?t.values:[];return n.length?(e.contexts===void 0&&(e.contexts={}),e.contexts.flags={values:[...n]},e):e}function Rg(e,t,n=100){let r=Qd().getScopeData().contexts;r.flags||={values:[]};let i=r.flags.values;gme(i,e,t,n)}function gme(e,t,n,r){if(typeof n!=`boolean`)return;if(e.length>r){B&&H.error(`[Feature Flags] insertToFlagBuffer called on a buffer larger than maxSize=${r}`);return}let i=e.findIndex(e=>e.flag===t);i!==-1&&e.splice(i,1),e.length===r&&e.shift(),e.push({flag:t,result:n})}function zg(e,t,n=10){if(typeof t!=`boolean`)return;let r=rp();if(!r)return;let i=W(r).data;if(`${Ig}${e}`in i){r.setAttribute(`${Ig}${e}`,t);return}Object.keys(i).filter(e=>e.startsWith(Ig)).length<n&&r.setAttribute(`${Ig}${e}`,t)}var _me=$m(()=>({name:`FeatureFlags`,processEvent(e,t,n){return Lg(e)},addFeatureFlag(e,t){Rg(e,t),zg(e,t)}})),vme=$m(({growthbookClass:e})=>({name:`GrowthBook`,setupOnce(){let t=e.prototype;typeof t.isOn==`function`&&Xu(t,`isOn`,Bg),typeof t.getFeatureValue==`function`&&Xu(t,`getFeatureValue`,Bg)},processEvent(e,t,n){return Lg(e)}}));function Bg(e){return function(...t){let n=t[0],r=e.apply(this,t);return typeof n==`string`&&typeof r==`boolean`&&(Rg(n,r),zg(n,r)),r}}var yme=`ConversationId`,bme=$m((()=>({name:yme,setup(e){e.on(`spanStart`,e=>{let t=Qd().getScopeData(),n=$d().getScopeData(),r=t.conversationId||n.conversationId;if(r){let{op:t,data:n,description:i}=W(e);if(!t?.startsWith(`gen_ai.`)&&!n[`ai.operationId`]&&!i?.startsWith(`ai.`))return;e.setAttribute(gue,r)}})}})));function xme(e,t,n,r,i){if(!e.fetchData)return;let{method:a,url:o}=e.fetchData,s=sp()&&t(o);if(e.endTimestamp){let t=e.fetchData.__span;if(!t)return;let n=r[t];n&&(s&&(wme(n,e),Sme(n,e,i)),delete r[t]);return}let{spanOrigin:c=`auto.http.browser`,propagateTraceparent:l=!1}=typeof i==`object`?i:{spanOrigin:i},u=U(),d=!!rp(),f=d||!!u&&Mp(u),p=s&&f?Vp(Dme(o,a,c)):new dp,m=$p(p)&&d?void 0:p;if(s&&!f&&u?.recordDroppedEvent(`no_parent_span`,`span`),e.fetchData.__span=p.spanContext().spanId,r[p.spanContext().spanId]=p,n(e.fetchData.url)){let t=e.args[0],n={...e.args[1]||{}},r=Cme(t,n,sp()&&f?m:void 0,l);r&&(e.args[1]=n,n.headers=r)}if(u){let t={input:e.args,response:e.response,startTimestamp:e.startTimestamp,endTimestamp:e.endTimestamp};u.emit(`beforeOutgoingRequestSpan`,p,t)}return p}function Sme(e,t,n){(typeof n==`object`&&n?n.onRequestSpanEnd:void 0)?.(e,{headers:t.response?.headers,error:t.error})}function Cme(e,t,n,r){let i=tg({span:n,propagateTraceparent:r}),a=i[`sentry-trace`],o=i.baggage,s=i.traceparent;if(!a)return;let c=t.headers||(Yu(e)?e.headers:void 0);if(!c)return{"sentry-trace":a,...o&&{baggage:o},...s&&{traceparent:s}};if(Tme(c)){let e=new Headers(c);if(e.get(`sentry-trace`)||e.set(`sentry-trace`,a),r&&s&&!e.get(`traceparent`)&&e.set(`traceparent`,s),o){let t=e.get(`baggage`);t?Vg(t)||e.set(`baggage`,`${t},${o}`):e.set(`baggage`,o)}return e}if(Eme(c)){let e=[...c];e.find(e=>e[0]===`sentry-trace`)||e.push([`sentry-trace`,a]),r&&s&&!e.find(e=>e[0]===`traceparent`)&&e.push([`traceparent`,s]);let t=c.find(e=>e[0]===`baggage`&&typeof e[1]==`string`&&Vg(e[1]));return o&&!t&&e.push([`baggage`,o]),e}{let e=`sentry-trace`in c?c[`sentry-trace`]:void 0,t=`traceparent`in c?c.traceparent:void 0,n=`baggage`in c?c.baggage:void 0,i=n?Array.isArray(n)?[...n]:[n]:[],l=n&&(Array.isArray(n)?n.find(e=>Vg(e)):Vg(n));o&&!l&&i.push(o);let u=Object.assign({},c,{"sentry-trace":e??a,...i.length>0&&{baggage:i.join(`,`)}});return r&&s&&!t&&(u.traceparent=s),u}}function wme(e,t){if(t.response){hf(e,t.response.status);let n=t.response?.headers?.get(`content-length`);if(n){let t=parseInt(n);t>0&&e.setAttribute(`http.response_content_length`,t)}}else t.error&&e.setStatus({code:2,message:`internal_error`});e.end()}function Vg(e){return typeof e==`string`&&e.split(`,`).some(e=>e.trim().startsWith(Sf))}function Tme(e){return typeof Headers<`u`&&Ju(e,Headers)}function Eme(e){return Array.isArray(e)?e.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`):!1}function Dme(e,t,n){if(e.startsWith(`data:`))return{name:`${t} ${Xh(e)}`,attributes:Hg(e,void 0,t,n)};let r=Kh(e);return{name:`${t} ${r?qh(r):e}`,attributes:Hg(e,r,t,n)}}function Hg(e,t,n,r){let i={url:Xh(e),type:`fetch`,"http.method":n,[sf]:r,[of]:`http.client`};return t&&(Gh(t)||(i[dm]=Xh(t.href),i[vm]=Xh(t.href),i[`server.address`]=t.host),t.search&&(i[`http.query`]=t.search),t.hash&&(i[`http.fragment`]=t.hash)),i}function Ug(e,t={},n=Qd()){let{message:r,name:i,email:a,url:o,source:s,associatedEventId:c,tags:l}=e,u={contexts:{feedback:{contact_email:a,name:i,message:r,url:o,source:s,associated_event_id:c}},type:`feedback`,level:`info`,tags:l},d=n?.getClient()||U();return d&&d.emit(`beforeSendFeedback`,u,t),n.captureEvent(u,t)}var Ome=e({debug:()=>Ame,error:()=>Nme,fatal:()=>Pme,fmt:()=>ipe,info:()=>jme,trace:()=>kme,warn:()=>Mme});function Wg(e,t,n,r,i){oh({level:e,message:t,attributes:n,severityNumber:i},r)}function kme(e,t,{scope:n}={}){Wg(`trace`,e,t,n)}function Ame(e,t,{scope:n}={}){Wg(`debug`,e,t,n)}function jme(e,t,{scope:n}={}){Wg(`info`,e,t,n)}function Mme(e,t,{scope:n}={}){Wg(`warn`,e,t,n)}function Nme(e,t,{scope:n}={}){Wg(`error`,e,t,n)}function Pme(e,t,{scope:n}={}){Wg(`fatal`,e,t,n)}function Gg(e,t,n){return`util`in V&&typeof V.util.format==`function`?V.util.format(...e):Fme(e,t,n)}function Fme(e,t,n){return e.map(e=>Uu(e)?String(e):JSON.stringify(ud(e,t,n))).join(` `)}function Kg(e){return/%[sdifocO]/.test(e)}function qg(e,t){let n={};return n[`sentry.message.template`]=`${e} ${Array(t.length).fill(`{}`).join(` `)}`,t.forEach((e,t)=>{n[`sentry.message.parameter.${t}`]=e}),n}var Ime=`ConsoleLogs`,Jg={[sf]:`auto.log.console`},Lme=$m(((e={})=>{let t=e.levels||pu;return{name:Ime,setup(e){let{enableLogs:n,normalizeDepth:r=3,normalizeMaxBreadth:i=1e3}=e.getOptions();if(!n){B&&H.warn("`enableLogs` is not enabled, ConsoleLogs integration disabled");return}let a=yg(({args:n,level:a})=>{if(U()!==e||!t.includes(a))return;let o=n[0],s=n.slice(1);if(a===`assert`){o||oh({level:`error`,message:s.length>0?`Assertion failed: ${Gg(s,r,i)}`:`Assertion failed`,attributes:Jg});return}let c=a===`log`,l={...Jg};if(Wu(o)){Object.assign(l,ud(o,r,i));let e=typeof n[1]==`string`?2:1;n.slice(e).forEach((e,t)=>{l[`sentry.message.parameter.${t}`]=ud(e,r,i)})}else if(s.length>0&&typeof o==`string`&&!Kg(o)){let e=qg(o,s);for(let[t,n]of Object.entries(e))l[t]=t.startsWith(`sentry.message.parameter.`)?ud(n,r,i):n}oh({level:c?`info`:a,message:Gg(n,r,i),severityNumber:c?10:void 0,attributes:l})});e.registerCleanup(a)}}})),Rme=e({count:()=>zme,distribution:()=>Xg,gauge:()=>Bme});function Yg(e,t,n,r){Ofe({type:e,name:t,value:n,unit:r?.unit,attributes:r?.attributes},{scope:r?.scope})}function zme(e,t=1,n){Yg(`counter`,e,t,n)}function Bme(e,t,n){Yg(`gauge`,e,t,n)}function Xg(e,t,n){Yg(`distribution`,e,t,n)}var Vme=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function Hme(e={}){let t=new Set(e.levels??Vme),n=e.client;return{log(e){let{type:r,level:i,message:a,args:o,tag:s,date:c,...l}=e,u=n||U();if(!u)return;let d=Gme(r,i);if(!t.has(d))return;let{normalizeDepth:f=3,normalizeMaxBreadth:p=1e3}=u.getOptions(),m={};for(let[e,t]of Object.entries(l))m[e]=ud(t,f,p);m[`sentry.origin`]=`auto.log.consola`,s&&(m[`consola.tag`]=s),r&&(m[`consola.type`]=r),i!=null&&typeof i==`number`&&(m[`consola.level`]=i);let h=qme(Kme(o,f,p),f,p);h?.attributes&&Object.assign(m,h.attributes),oh({level:d,message:h?.message||a||o&&Gg(o,f,p)||``,attributes:m})}}}var Ume={silent:`trace`,fatal:`fatal`,error:`error`,warn:`warn`,log:`info`,info:`info`,success:`info`,fail:`error`,ready:`info`,start:`info`,box:`info`,debug:`debug`,trace:`trace`,verbose:`debug`,critical:`fatal`,notice:`info`},Wme={0:`fatal`,1:`warn`,2:`info`,3:`info`,4:`debug`,5:`trace`};function Gme(e,t){if(e===`verbose`)return`debug`;if(e===`silent`)return`trace`;if(e){let t=Ume[e];if(t)return t}if(typeof t==`number`){let e=Wme[t];if(e)return e}return`info`}function Kme(e,t,n){if(!e?.length)return{message:``};let r=Gg(e,t,n),i=e[0];if(Wu(i)){let t=typeof e[1]==`string`?2:1;return{message:r,attributes:i,messageParameters:e.slice(t)}}{let t=e.slice(1),n=t.length>0&&typeof i==`string`&&!Kg(i);return{message:r,messageTemplate:n?i:void 0,messageParameters:n?t:void 0}}}function qme(e,t,n){let{message:r,attributes:i,messageTemplate:a,messageParameters:o}=e,s={};if(a&&o){let e=qg(a,o);for(let[r,i]of Object.entries(e))s[r]=r.startsWith(`sentry.message.parameter.`)?ud(i,t,n):i}else o&&o.length>0&&o.forEach((e,r)=>{s[`sentry.message.parameter.${r}`]=ud(e,t,n)});return{message:r,attributes:{...ud(i,t,n),...s}}}var Jme=`gen_ai.prompt`,Zg=`gen_ai.system`,Qg=`gen_ai.request.model`,$g=`gen_ai.request.stream`,e_=`gen_ai.request.temperature`,t_=`gen_ai.request.max_tokens`,n_=`gen_ai.request.frequency_penalty`,r_=`gen_ai.request.presence_penalty`,i_=`gen_ai.request.top_p`,a_=`gen_ai.request.top_k`,o_=`gen_ai.request.encoding_format`,s_=`gen_ai.request.dimensions`,c_=`gen_ai.response.finish_reasons`,l_=`gen_ai.response.model`,u_=`gen_ai.response.id`,Yme=`gen_ai.response.stop_reason`,d_=`gen_ai.usage.input_tokens`,f_=`gen_ai.usage.output_tokens`,p_=`gen_ai.usage.total_tokens`,m_=`gen_ai.operation.name`,h_=`sentry.sdk_meta.gen_ai.input.messages.original_length`,g_=`gen_ai.input.messages`,__=`gen_ai.system_instructions`,v_=`gen_ai.response.text`,y_=`gen_ai.request.available_tools`,Xme=`gen_ai.response.streaming`,b_=`gen_ai.response.tool_calls`,x_=`gen_ai.agent.name`,S_=`gen_ai.pipeline.name`,C_=`gen_ai.conversation.id`,w_=`gen_ai.usage.cache_creation_input_tokens`,T_=`gen_ai.usage.cache_read_input_tokens`,E_=`gen_ai.invoke_agent`,D_=`gen_ai.embeddings.input`,O_=`gen_ai.embeddings`,k_=`gen_ai.execute_tool`,A_=`gen_ai.tool.name`,j_=`gen_ai.tool.call.id`,M_=`gen_ai.tool.type`,N_=`gen_ai.tool.input`,P_=`gen_ai.tool.output`,F_=`gen_ai.tool.description`;function I_(e){return!e||typeof e!=`object`?!1:z_(e)||B_(e)||L_(e)||V_(e)||H_(e)||U_(e)||W_(e)||G_(e)||Zme(e)||Qme(e)||$me(e)||ehe(e)}function L_(e){return`image_url`in e?typeof e.image_url==`string`?e.image_url.startsWith(`data:`):R_(e):!1}function R_(e){return`image_url`in e&&!!e.image_url&&typeof e.image_url==`object`&&`url`in e.image_url&&typeof e.image_url.url==`string`&&e.image_url.url.startsWith(`data:`)}function z_(e){return`type`in e&&typeof e.type==`string`&&`source`in e&&I_(e.source)}function B_(e){return`inlineData`in e&&!!e.inlineData&&typeof e.inlineData==`object`&&`data`in e.inlineData&&typeof e.inlineData.data==`string`}function V_(e){return`type`in e&&e.type===`input_audio`&&`input_audio`in e&&!!e.input_audio&&typeof e.input_audio==`object`&&`data`in e.input_audio&&typeof e.input_audio.data==`string`}function H_(e){return`type`in e&&e.type===`file`&&`file`in e&&!!e.file&&typeof e.file==`object`&&`file_data`in e.file&&typeof e.file.file_data==`string`}function U_(e){return`media_type`in e&&typeof e.media_type==`string`&&`data`in e}function W_(e){return`type`in e&&e.type===`file`&&`mediaType`in e&&typeof e.mediaType==`string`&&`data`in e&&typeof e.data==`string`&&!e.data.startsWith(`http://`)&&!e.data.startsWith(`https://`)}function G_(e){return`type`in e&&e.type===`image`&&`image`in e&&typeof e.image==`string`&&!e.image.startsWith(`http://`)&&!e.image.startsWith(`https://`)}function Zme(e){return`type`in e&&(e.type===`blob`||e.type===`base64`)}function Qme(e){return`b64_json`in e}function $me(e){return`type`in e&&`result`in e&&e.type===`image_generation`}function ehe(e){return`uri`in e&&typeof e.uri==`string`&&e.uri.startsWith(`data:`)}var K_=`[Blob substitute]`,the=[`image_url`,`data`,`content`,`b64_json`,`result`,`uri`,`image`];function q_(e){let t={...e};I_(t.source)&&(t.source=q_(t.source)),B_(e)&&(t.inlineData={...e.inlineData,data:K_}),R_(e)&&(t.image_url={...e.image_url,url:K_}),V_(e)&&(t.input_audio={...e.input_audio,data:K_}),H_(e)&&(t.file={...e.file,file_data:K_});for(let e of the)typeof t[e]==`string`&&(t[e]=K_);return t}var J_=2e4,Y_=e=>new TextEncoder().encode(e).length,X_=e=>Y_(JSON.stringify(e));function Z_(e,t){if(Y_(e)<=t)return e;let n=0,r=e.length,i=``;for(;n<=r;){let a=Math.floor((n+r)/2),o=e.slice(0,a);Y_(o)<=t?(i=o,n=a+1):r=a-1}return i}function nhe(e){return typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``}function Q_(e,t){return typeof e==`string`?t:{...e,text:t}}function rhe(e){return typeof e==`object`&&!!e&&`content`in e&&typeof e.content==`string`}function $_(e){return typeof e==`object`&&!!e&&`content`in e&&Array.isArray(e.content)}function ev(e){return typeof e==`object`&&!!e&&`parts`in e&&Array.isArray(e.parts)&&e.parts.length>0}function ihe(e,t){let n=t-X_({...e,content:``});if(n<=0)return[];let r=Z_(e.content,n);return[{...e,content:r}]}function ahe(e){return`parts`in e&&Array.isArray(e.parts)?{key:`parts`,items:e.parts}:`content`in e&&Array.isArray(e.content)?{key:`content`,items:e.content}:{key:null,items:[]}}function ohe(e,t){let{key:n,items:r}=ahe(e);if(n===null||r.length===0)return[];let i=r.map(e=>Q_(e,``)),a=t-X_({...e,[n]:i});if(a<=0)return[];let o=[];for(let e of r){let t=nhe(e),n=Y_(t);if(n<=a)o.push(e),a-=n;else if(o.length===0){let n=Z_(t,a);n&&o.push(Q_(e,n));break}else break}return o.length<=0?[]:[{...e,[n]:o}]}function she(e,t){if(!e)return[];if(typeof e==`string`){let n=Z_(e,t);return n?[n]:[]}return typeof e==`object`?rhe(e)?ihe(e,t):$_(e)||ev(e)?ohe(e,t):[]:[]}function tv(e){return e.map(e=>{let t;return e&&typeof e==`object`&&($_(e)?t={...e,content:tv(e.content)}:`content`in e&&I_(e.content)&&(t={...e,content:q_(e.content)}),ev(e)&&(t={...t??e,parts:tv(e.parts)}),I_(t)?t=q_(t):I_(e)&&(t=q_(e))),t??e})}function che(e,t){if(!Array.isArray(e)||e.length===0)return e;let n=t-2,r=e[e.length-1],i=tv([r]),a=i[0];return X_(a)<=n?i:she(a,n)}function lhe(e){return che(e,J_)}function uhe(e){return Z_(e,J_)}function nv(e){let t=U()?.getDataCollectionOptions().genAI;return{...e,recordInputs:e?.recordInputs??t?.inputs??!1,recordOutputs:e?.recordOutputs??t?.outputs??!1}}function rv(e){if(e!==void 0)return e;let t=U();return!t||!Mp(t)&&t.getOptions().streamGenAiSpans===!1}function iv(e,t){return e?`${e}.${t}`:t}function dhe(e,t,n,r,i){if(t!==void 0&&e.setAttributes({[d_]:t}),n!==void 0&&e.setAttributes({[f_]:n}),t!==void 0||n!==void 0||r!==void 0||i!==void 0){let a=(t??0)+(n??0)+(r??0)+(i??0);e.setAttributes({[p_]:a})}}function av(e,t,n){if(!e.isRecording())return;let r={[Xme]:!0};t.responseId&&(r[u_]=t.responseId),t.responseModel&&(r[l_]=t.responseModel),t.promptTokens!==void 0&&(r[d_]=t.promptTokens),t.completionTokens!==void 0&&(r[f_]=t.completionTokens),t.totalTokens===void 0?(t.promptTokens!==void 0||t.completionTokens!==void 0||t.cacheCreationInputTokens!==void 0||t.cacheReadInputTokens!==void 0)&&(r[p_]=(t.promptTokens??0)+(t.completionTokens??0)+(t.cacheCreationInputTokens??0)+(t.cacheReadInputTokens??0)):r[p_]=t.totalTokens,t.finishReasons.length&&(r[c_]=JSON.stringify(t.finishReasons)),n&&t.responseTexts.length&&(r[v_]=t.responseTexts.join(``)),n&&t.toolCalls.length&&(r[b_]=JSON.stringify(t.toolCalls)),e.setAttributes(r),e.end()}function ov(e){if(typeof e==`string`)return uhe(e);try{return JSON.stringify(Array.isArray(e)?lhe(e):e)}catch{return`[unserializable]`}}function sv(e){if(!Array.isArray(e))return{systemInstructions:void 0,filteredMessages:e};let t=e.findIndex(e=>e&&typeof e==`object`&&`role`in e&&e.role===`system`);if(t===-1)return{systemInstructions:void 0,filteredMessages:e};let n=e[t],r=typeof n.content==`string`?n.content:n.content===void 0?void 0:JSON.stringify(n.content);return r?{systemInstructions:JSON.stringify([{type:`text`,content:r}]),filteredMessages:[...e.slice(0,t),...e.slice(t+1)]}:{systemInstructions:void 0,filteredMessages:e}}async function fhe(e,t,n){let r=e.catch(e=>{throw Pm(e,{mechanism:{handled:!1,type:n}}),e}),i=await t,a=await r;return a&&typeof a==`object`&&`data`in a?{...a,data:i}:i}function cv(e,t,n){return qu(e)?new Proxy(e,{get(e,r){let i=r in Promise.prototype||r===Symbol.toStringTag?t:e,a=Reflect.get(i,r);return r===`withResponse`&&typeof a==`function`?function(){return fhe(a.call(e),t,n)}:typeof a==`function`?a.bind(i):a}}):t}var phe={"responses.create":{operation:`chat`},"chat.completions.create":{operation:`chat`},"embeddings.create":{operation:`embeddings`},"conversations.create":{operation:`chat`}},mhe=[`response.created`,`response.in_progress`,`response.failed`,`response.completed`,`response.incomplete`,`response.queued`,`response.output_text.delta`,`response.output_item.added`,`response.function_call_arguments.delta`,`response.function_call_arguments.done`,`response.output_item.done`];function hhe(e){return typeof e==`object`&&!!e&&`type`in e&&typeof e.type==`string`&&e.type.startsWith(`response.`)}function ghe(e){return typeof e==`object`&&!!e&&`object`in e&&e.object===`chat.completion.chunk`}function _he(e,t,n){if(!t||typeof t!=`object`)return;let r=t,i={};if(typeof r.id==`string`&&(i[u_]=r.id),typeof r.model==`string`&&(i[l_]=r.model),r.object===`conversation`&&typeof r.id==`string`&&(i[C_]=r.id),r.usage&&typeof r.usage==`object`){let e=r.usage,t=e.prompt_tokens??e.input_tokens;typeof t==`number`&&(i[d_]=t);let n=e.completion_tokens??e.output_tokens;typeof n==`number`&&(i[f_]=n),typeof e.total_tokens==`number`&&(i[p_]=e.total_tokens)}if(Array.isArray(r.choices)){let e=r.choices,t=e.map(e=>e.finish_reason).filter(e=>typeof e==`string`);if(t.length>0&&(i[c_]=JSON.stringify(t)),n){let t=e.map(e=>e.message?.content||``);i[v_]=JSON.stringify(t);let n=e.map(e=>e.message?.tool_calls).filter(e=>Array.isArray(e)&&e.length>0).flat();n.length>0&&(i[b_]=JSON.stringify(n))}}if(typeof r.status==`string`&&(i[`gen_ai.response.finish_reasons`]||(i[c_]=JSON.stringify([r.status]))),n&&(typeof r.output_text==`string`&&!i[`gen_ai.response.text`]&&(i[v_]=r.output_text),Array.isArray(r.output)&&r.output.length>0&&!i[`gen_ai.response.tool_calls`])){let e=r.output.filter(e=>e?.type===`function_call`);e.length>0&&(i[b_]=JSON.stringify(e))}e.setAttributes(i)}function vhe(e){if(`conversation`in e&&typeof e.conversation==`string`)return e.conversation;if(`previous_response_id`in e&&typeof e.previous_response_id==`string`)return e.previous_response_id}function yhe(e){let t={[Qg]:e.model??`unknown`};`temperature`in e&&(t[e_]=e.temperature),`top_p`in e&&(t[i_]=e.top_p),`frequency_penalty`in e&&(t[n_]=e.frequency_penalty),`presence_penalty`in e&&(t[r_]=e.presence_penalty),`stream`in e&&(t[$g]=e.stream),`encoding_format`in e&&(t[o_]=e.encoding_format),`dimensions`in e&&(t[s_]=e.dimensions);let n=vhe(e);return n&&(t[C_]=n),t}function bhe(e,t){for(let n of e){let e=n.index;if(!(e===void 0||!n.function))if(!(e in t.chatCompletionToolCalls))t.chatCompletionToolCalls[e]={...n,function:{name:n.function.name,arguments:n.function.arguments||``}};else{let r=t.chatCompletionToolCalls[e];n.function.arguments&&r?.function&&(r.function.arguments+=n.function.arguments)}}}function xhe(e,t,n){t.responseId=e.id??t.responseId,t.responseModel=e.model??t.responseModel,e.usage&&(t.promptTokens=e.usage.prompt_tokens,t.completionTokens=e.usage.completion_tokens,t.totalTokens=e.usage.total_tokens);for(let r of e.choices??[])n&&(r.delta?.content&&t.responseTexts.push(r.delta.content),r.delta?.tool_calls&&bhe(r.delta.tool_calls,t)),r.finish_reason&&t.finishReasons.push(r.finish_reason)}function She(e,t,n,r){if(!(e&&typeof e==`object`)){t.eventTypes.push(`unknown:non-object`);return}if(e instanceof Error){r.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai.stream-response`}});return}if(!(`type`in e))return;let i=e;if(!mhe.includes(i.type)){t.eventTypes.push(i.type);return}if(n&&(i.type===`response.output_item.done`&&`item`in i&&t.responsesApiToolCalls.push(i.item),i.type===`response.output_text.delta`&&`delta`in i&&i.delta)){t.responseTexts.push(i.delta);return}if(`response`in i){let{response:e}=i;t.responseId=e.id??t.responseId,t.responseModel=e.model??t.responseModel,e.usage&&(t.promptTokens=e.usage.input_tokens,t.completionTokens=e.usage.output_tokens,t.totalTokens=e.usage.total_tokens),e.status&&t.finishReasons.push(e.status),n&&e.output_text&&t.responseTexts.push(e.output_text)}}async function*Che(e,t,n){let r={eventTypes:[],responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,totalTokens:void 0,chatCompletionToolCalls:{},responsesApiToolCalls:[]};try{for await(let i of e)ghe(i)?xhe(i,r,n):hhe(i)&&She(i,r,n,t),yield i}finally{let e=[...Object.values(r.chatCompletionToolCalls),...r.responsesApiToolCalls];av(t,{...r,toolCalls:e},n)}}function whe(e){let t=Array.isArray(e.tools)?e.tools:[],n=e.web_search_options&&typeof e.web_search_options==`object`?[{type:`web_search_options`,...e.web_search_options}]:[],r=[...t,...n];if(r.length!==0)try{return JSON.stringify(r)}catch(e){B&&H.error(`Failed to serialize OpenAI tools:`,e);return}}function The(e,t){let n={[Zg]:`openai`,[m_]:t,[sf]:`auto.ai.openai`};if(e.length>0&&typeof e[0]==`object`&&e[0]!==null){let t=e[0],r=whe(t);r&&(n[y_]=r),Object.assign(n,yhe(t))}else n[Qg]=`unknown`;return n}function lv(e,t,n,r){if(n===`embeddings`&&`input`in t){let n=t.input;if(n==null||typeof n==`string`&&n.length===0||Array.isArray(n)&&n.length===0)return;e.setAttribute(D_,typeof n==`string`?n:JSON.stringify(n));return}let i=`input`in t?t.input:`messages`in t?t.messages:void 0;if(!i||Array.isArray(i)&&i.length===0)return;let{systemInstructions:a,filteredMessages:o}=sv(i);a&&e.setAttribute(__,a),e.setAttribute(g_,r?ov(o):md(o)),Array.isArray(o)?e.setAttribute(h_,o.length):e.setAttribute(h_,1)}function Ehe(e,t,n,r,i){return function(...a){let o=n.operation||`unknown`,s=The(a,o),c=s[`gen_ai.request.model`]||`unknown`,l=a[0],u=l&&typeof l==`object`&&l.stream===!0,d={name:`${o} ${c}`,op:`gen_ai.${o}`,attributes:s};if(u){let n,s=Bp(d,s=>(n=e.apply(r,a),i.recordInputs&&l&&lv(s,l,o,rv(i.enableTruncation)),(async()=>{try{return Che(await n,s,i.recordOutputs??!1)}catch(e){throw s.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai.stream`,data:{function:t}}}),s.end(),e}})()));return cv(n,s,`auto.ai.openai`)}let f,p=zp(d,n=>(f=e.apply(r,a),i.recordInputs&&l&&lv(n,l,o,rv(i.enableTruncation)),f.then(e=>(_he(n,e,i.recordOutputs),e),e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.openai`,data:{function:t}}}),e})));return cv(f,p,`auto.ai.openai`)}}function uv(e,t=``,n){return new Proxy(e,{get(e,r){let i=e[r],a=iv(t,String(r)),o=phe[a];return typeof i==`function`&&o?Ehe(i,a,o,e,n):typeof i==`function`?i.bind(e):i&&typeof i==`object`?uv(i,a,n):i}})}function Dhe(e,t){return uv(e,``,nv(t))}var dv={"messages.create":{operation:`chat`},"messages.stream":{operation:`chat`,streaming:!0},"messages.countTokens":{operation:`chat`},"models.get":{operation:`models`},"completions.create":{operation:`chat`},"models.retrieve":{operation:`models`},"beta.messages.create":{operation:`chat`}};function Ohe(e,t,n){if(Array.isArray(t)&&t.length===0)return;let{systemInstructions:r,filteredMessages:i}=sv(t);r&&e.setAttributes({[__]:r});let a=Array.isArray(i)?i.length:1;e.setAttributes({[g_]:n?ov(i):md(i),[h_]:a})}var khe={invalid_request_error:`invalid_argument`,authentication_error:`unauthenticated`,permission_error:`permission_denied`,not_found_error:`not_found`,request_too_large:`failed_precondition`,rate_limit_error:`resource_exhausted`,api_error:`internal_error`,overloaded_error:`unavailable`};function fv(e){return e&&khe[e]||`internal_error`}function Ahe(e,t){t.error&&(e.setStatus({code:2,message:fv(t.error.type)}),Pm(t.error,{mechanism:{handled:!1,type:`auto.ai.anthropic.anthropic_error`}}))}function jhe(e){let{system:t,messages:n,input:r}=e,i=typeof t==`string`?[{role:`system`,content:e.system}]:[],a=(Array.isArray(r)?r:r==null?void 0:[r])??(Array.isArray(n)?n:n==null?[]:[n]);return[...i,...a]}function Mhe(e,t){return`type`in e&&typeof e.type==`string`&&e.type===`error`&&(t.setStatus({code:2,message:fv(e.error?.type)}),Pm(e.error,{mechanism:{handled:!1,type:`auto.ai.anthropic.anthropic_error`}}),!0)}function Nhe(e,t){if(e.type===`message_delta`&&(e.usage&&typeof e.usage.output_tokens==`number`&&(t.completionTokens=e.usage.output_tokens),e.delta?.stop_reason&&t.finishReasons.push(e.delta.stop_reason)),e.message){let n=e.message;n.id&&(t.responseId=n.id),n.model&&(t.responseModel=n.model),n.usage&&(typeof n.usage.input_tokens==`number`&&(t.promptTokens=n.usage.input_tokens),typeof n.usage.cache_creation_input_tokens==`number`&&(t.cacheCreationInputTokens=n.usage.cache_creation_input_tokens),typeof n.usage.cache_read_input_tokens==`number`&&(t.cacheReadInputTokens=n.usage.cache_read_input_tokens))}}function Phe(e,t){e.type!==`content_block_start`||typeof e.index!=`number`||!e.content_block||(e.content_block.type===`tool_use`||e.content_block.type===`server_tool_use`)&&(t.activeToolBlocks[e.index]={id:e.content_block.id,name:e.content_block.name,inputJsonParts:[]})}function Fhe(e,t,n){if(!(e.type!==`content_block_delta`||!e.delta)){if(typeof e.index==`number`&&`partial_json`in e.delta&&typeof e.delta.partial_json==`string`){let n=t.activeToolBlocks[e.index];n&&n.inputJsonParts.push(e.delta.partial_json)}n&&typeof e.delta.text==`string`&&t.responseTexts.push(e.delta.text)}}function Ihe(e,t){if(e.type!==`content_block_stop`||typeof e.index!=`number`)return;let n=t.activeToolBlocks[e.index];if(!n)return;let r=n.inputJsonParts.join(``),i;try{i=r?JSON.parse(r):{}}catch{i={__unparsed:r}}t.toolCalls.push({type:`tool_use`,id:n.id,name:n.name,input:i}),delete t.activeToolBlocks[e.index]}function pv(e,t,n,r){e&&typeof e==`object`&&(Mhe(e,r)||(Nhe(e,t),Phe(e,t),Fhe(e,t,n),Ihe(e,t)))}async function*Lhe(e,t,n){let r={responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,cacheCreationInputTokens:void 0,cacheReadInputTokens:void 0,toolCalls:[],activeToolBlocks:{}};try{for await(let i of e)pv(i,r,n,t),yield i}finally{av(t,r,n)}}function Rhe(e,t,n){let r={responseTexts:[],finishReasons:[],responseId:``,responseModel:``,promptTokens:void 0,completionTokens:void 0,cacheCreationInputTokens:void 0,cacheReadInputTokens:void 0,toolCalls:[],activeToolBlocks:{}};return e.on(`streamEvent`,e=>{pv(e,r,n,t)}),e.on(`message`,()=>{av(t,r,n)}),e.on(`error`,e=>{Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic.stream_error`}}),t.isRecording()&&(t.setStatus({code:2,message:`internal_error`}),t.end())}),e}var mv=!1,hv=new WeakSet;function zhe(e,t,n){let r={[Zg]:`anthropic`,[m_]:n,[sf]:`auto.ai.anthropic`};if(e.length>0&&typeof e[0]==`object`&&e[0]!==null){let t=e[0];t.tools&&Array.isArray(t.tools)&&(r[y_]=JSON.stringify(t.tools)),r[Qg]=t.model??`unknown`,`temperature`in t&&(r[e_]=t.temperature),`top_p`in t&&(r[i_]=t.top_p),`stream`in t&&(r[$g]=t.stream),`top_k`in t&&(r[a_]=t.top_k),`frequency_penalty`in t&&(r[n_]=t.frequency_penalty),`max_tokens`in t&&(r[t_]=t.max_tokens)}else r[Qg]=t===`models.retrieve`||t===`models.get`?e[0]:`unknown`;return r}function gv(e,t,n){Ohe(e,jhe(t),n),`prompt`in t&&e.setAttributes({[Jme]:JSON.stringify(t.prompt)})}function Bhe(e,t){if(`content`in t&&Array.isArray(t.content)){e.setAttributes({[v_]:t.content.map(e=>e.text).filter(e=>!!e).join(``)});let n=[];for(let e of t.content)(e.type===`tool_use`||e.type===`server_tool_use`)&&n.push(e);n.length>0&&e.setAttributes({[b_]:JSON.stringify(n)})}`completion`in t&&e.setAttributes({[v_]:t.completion}),`input_tokens`in t&&e.setAttributes({[v_]:JSON.stringify(t.input_tokens)})}function Vhe(e,t){`id`in t&&`model`in t&&(e.setAttributes({[u_]:t.id,[l_]:t.model}),`usage`in t&&t.usage&&dhe(e,t.usage.input_tokens,t.usage.output_tokens,t.usage.cache_creation_input_tokens,t.usage.cache_read_input_tokens))}function Hhe(e,t,n){if(!(!t||typeof t!=`object`)){if(`type`in t&&t.type===`error`){Ahe(e,t);return}n&&Bhe(e,t),Vhe(e,t)}}function _v(e,t,n){throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic`,data:{function:n}}}),t.isRecording()&&(t.setStatus({code:2,message:`internal_error`}),t.end()),e}function Uhe(e,t,n,r,i,a,o,s,c,l){let u={name:`${i} ${r[`gen_ai.request.model`]??`unknown`}`,op:`gen_ai.${i}`,attributes:r};if(c&&!l){let r,i=Bp(u,i=>(r=e.apply(t,n),s.recordInputs&&o&&gv(i,o,rv(s.enableTruncation)),(async()=>{try{return Lhe(await r,i,s.recordOutputs??!1)}catch(e){return _v(e,i,a)}})()));return cv(r,i,`auto.ai.anthropic`)}return Bp(u,r=>{try{s.recordInputs&&o&&gv(r,o,rv(s.enableTruncation)),mv=!0;let i=e.apply(t,n);return mv=!1,Rhe(i,r,s.recordOutputs??!1)}catch(e){return mv=!1,_v(e,r,a)}})}function Whe(e,t,n,r,i){return new Proxy(e,{apply(e,a,o){let s=a===void 0?r:a,c=n.streaming===!0;if(!c&&mv)return e.apply(s,o);let l=n.operation||`unknown`,u=zhe(o,t,l),d=u[`gen_ai.request.model`]??`unknown`,f=typeof o[0]==`object`?o[0]:void 0,p=!!f?.stream;if(p||c)return Uhe(e,s,o,u,l,t,f,i,p,c);let m,h=zp({name:`${l} ${d}`,op:`gen_ai.${l}`,attributes:u},n=>(m=e.apply(s,o),i.recordInputs&&f&&gv(n,f,rv(i.enableTruncation)),m.then(e=>(Hhe(n,e,i.recordOutputs),e),e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.anthropic`,data:{function:t}}}),e})));return cv(m,h,`auto.ai.anthropic`)}})}function Ghe(e,t){for(let n of Object.keys(dv)){let r=n.split(`.`),i=r.pop(),a=e;for(let e of r)a=a?.[e];if(!a||typeof a[i]!=`function`)continue;let o=a[i];if(hv.has(o))continue;let s=Whe(o,n,dv[n],a,t);hv.add(s),a[i]=s}return e}function Khe(e,t){return Ghe(e,nv(t))}var qhe={"models.generateContent":{operation:`generate_content`},"models.generateContentStream":{operation:`generate_content`,streaming:!0},"models.embedContent":{operation:`embeddings`},"chats.create":{proxyResultPath:`chat`},"chat.sendMessage":{operation:`chat`},"chat.sendMessageStream":{operation:`chat`,streaming:!0}},Jhe=`google_genai`;function Yhe(e,t){let n=e?.promptFeedback;if(n?.blockReason){let e=n.blockReasonMessage??n.blockReason;return t.setStatus({code:2,message:`internal_error`}),Pm(`Content blocked: ${e}`,{mechanism:{handled:!1,type:`auto.ai.google_genai`}}),!0}return!1}function Xhe(e,t){typeof e.responseId==`string`&&(t.responseId=e.responseId),typeof e.modelVersion==`string`&&(t.responseModel=e.modelVersion);let n=e.usageMetadata;n&&(typeof n.promptTokenCount==`number`&&(t.promptTokens=n.promptTokenCount),typeof n.candidatesTokenCount==`number`&&(t.completionTokens=n.candidatesTokenCount),typeof n.totalTokenCount==`number`&&(t.totalTokens=n.totalTokenCount))}function Zhe(e,t,n){Array.isArray(e.functionCalls)&&t.toolCalls.push(...e.functionCalls);for(let r of e.candidates??[]){r?.finishReason&&!t.finishReasons.includes(r.finishReason)&&t.finishReasons.push(r.finishReason);for(let e of r?.content?.parts??[])n&&e.text&&t.responseTexts.push(e.text),e.functionCall&&t.toolCalls.push({type:`function`,id:e.functionCall.id,name:e.functionCall.name,arguments:e.functionCall.args})}}function Qhe(e,t,n,r){!e||Yhe(e,r)||(Xhe(e,t),Zhe(e,t,n))}async function*$he(e,t,n){let r={responseTexts:[],finishReasons:[],toolCalls:[]};try{for await(let i of e)Qhe(i,r,n,t),yield i}finally{av(t,r,n)}}function vv(e,t=`user`){return typeof e==`string`?[{role:t,content:e}]:Array.isArray(e)?e.flatMap(e=>vv(e,t)):typeof e!=`object`||!e?[]:`role`in e&&typeof e.role==`string`?[e]:`parts`in e?[{...e,role:t}]:[{role:t,content:e}]}function yv(e,t){if(`model`in e&&typeof e.model==`string`)return e.model;if(t&&typeof t==`object`){let e=t;if(`model`in e&&typeof e.model==`string`)return e.model;if(`modelVersion`in e&&typeof e.modelVersion==`string`)return e.modelVersion}return`unknown`}function ege(e){let t={};return`temperature`in e&&typeof e.temperature==`number`&&(t[e_]=e.temperature),`topP`in e&&typeof e.topP==`number`&&(t[i_]=e.topP),`topK`in e&&typeof e.topK==`number`&&(t[a_]=e.topK),`maxOutputTokens`in e&&typeof e.maxOutputTokens==`number`&&(t[t_]=e.maxOutputTokens),`frequencyPenalty`in e&&typeof e.frequencyPenalty==`number`&&(t[n_]=e.frequencyPenalty),`presencePenalty`in e&&typeof e.presencePenalty==`number`&&(t[r_]=e.presencePenalty),t}function tge(e,t,n){let r={[Zg]:Jhe,[m_]:e,[sf]:`auto.ai.google_genai`};if(t){if(r[Qg]=yv(t,n),`config`in t&&typeof t.config==`object`&&t.config){let e=t.config;if(Object.assign(r,ege(e)),`tools`in e&&Array.isArray(e.tools)){let t=e.tools.flatMap(e=>e.functionDeclarations);r[y_]=JSON.stringify(t)}}}else r[Qg]=yv({},n);return r}function bv(e,t,n,r){if(n===`embeddings`){let n=t.contents;n!=null&&e.setAttribute(D_,typeof n==`string`?n:JSON.stringify(n));return}let i=[];if(`config`in t&&t.config&&typeof t.config==`object`&&`systemInstruction`in t.config&&t.config.systemInstruction&&i.push(...vv(t.config.systemInstruction,`system`)),`history`in t&&i.push(...vv(t.history,`user`)),`contents`in t&&i.push(...vv(t.contents,`user`)),`message`in t&&i.push(...vv(t.message,`user`)),Array.isArray(i)&&i.length){let{systemInstructions:t,filteredMessages:n}=sv(i);t&&e.setAttribute(__,t);let a=Array.isArray(n)?n.length:0;e.setAttributes({[h_]:a,[g_]:r?ov(n):md(n)})}}function nge(e,t,n){if(!(!t||typeof t!=`object`)){if(t.modelVersion&&e.setAttribute(l_,t.modelVersion),t.usageMetadata&&typeof t.usageMetadata==`object`){let n=t.usageMetadata;typeof n.promptTokenCount==`number`&&e.setAttributes({[d_]:n.promptTokenCount}),typeof n.candidatesTokenCount==`number`&&e.setAttributes({[f_]:n.candidatesTokenCount}),typeof n.totalTokenCount==`number`&&e.setAttributes({[p_]:n.totalTokenCount})}if(n&&Array.isArray(t.candidates)&&t.candidates.length>0){let n=t.candidates.map(e=>e.content?.parts&&Array.isArray(e.content.parts)?e.content.parts.map(e=>typeof e.text==`string`?e.text:``).filter(e=>e.length>0).join(``):``).filter(e=>e.length>0);n.length>0&&e.setAttributes({[v_]:n.join(``)})}if(n&&t.functionCalls){let n=t.functionCalls;Array.isArray(n)&&n.length>0&&e.setAttributes({[b_]:JSON.stringify(n)})}}}function rge(e,t,n,r,i){let a=n.operation===`embeddings`;return new Proxy(e,{apply(e,o,s){let c=n.operation||`unknown`,l=s[0],u=tge(c,l,r),d=u[`gen_ai.request.model`]??`unknown`;return n.streaming?Bp({name:`${c} ${d}`,op:`gen_ai.${c}`,attributes:u},async n=>{try{return i.recordInputs&&l&&bv(n,l,c,rv(i.enableTruncation)),$he(await e.apply(r,s),n,!!i.recordOutputs)}catch(e){throw n.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.google_genai`,data:{function:t}}}),n.end(),e}}):zp({name:`${c} ${d}`,op:`gen_ai.${c}`,attributes:u},n=>(i.recordInputs&&l&&bv(n,l,c,rv(i.enableTruncation)),Lp(()=>e.apply(r,s),e=>{Pm(e,{mechanism:{handled:!1,type:`auto.ai.google_genai`,data:{function:t}}})},()=>{},e=>{a||nge(n,e,i.recordOutputs)})))}})}function xv(e,t=``,n){return new Proxy(e,{get:(e,r,i)=>{let a=Reflect.get(e,r,i),o=iv(t,String(r)),s=qhe[o];if(typeof a==`function`&&s){let t=s.operation?rge(a,o,s,e,n):a.bind(e);return s.proxyResultPath?function(...e){let r=t(...e);return r&&typeof r==`object`?xv(r,s.proxyResultPath,n):r}:t}return typeof a==`function`?a.bind(e):a&&typeof a==`object`?xv(a,o,n):a}})}function ige(e,t){return xv(e,``,nv(t))}var Sv=`auto.ai.langchain`,age={human:`user`,ai:`assistant`,assistant:`assistant`,system:`system`,function:`function`,tool:`tool`},Cv=(e,t,n)=>{n!=null&&(e[t]=n)},wv=(e,t,n)=>{let r=Number(n);Number.isNaN(r)||(e[t]=r)};function Tv(e){if(Array.isArray(e))try{let t=e.map(e=>e&&typeof e==`object`&&I_(e)?q_(e):e);return JSON.stringify(t)}catch{return String(e)}return md(e,String)}function Ev(e){let t=e.toLowerCase();return age[t]??t}function Dv(e){return e.includes(`System`)?`system`:e.includes(`Human`)?`user`:e.includes(`AI`)||e.includes(`Assistant`)?`assistant`:e.includes(`Function`)?`function`:e.includes(`Tool`)?`tool`:`user`}function Ov(e){if(!(!e||Array.isArray(e)))return e.invocation_params}function kv(e){return e.map(e=>{let t=e._getType;if(typeof t==`function`)return{role:Ev(t.call(e)),content:Tv(e.content)};if(e.lc===1&&e.kwargs){let t=e.id,n=Array.isArray(t)&&t.length>0?t[t.length-1]:``;return{role:Ev(typeof n==`string`?Dv(n):`user`),content:Tv(e.kwargs?.content)}}if(e.type)return{role:Ev(String(e.type).toLowerCase()),content:Tv(e.content)};if(e.role)return{role:Ev(String(e.role)),content:Tv(e.content)};let n=e.constructor?.name;return n&&n!==`Object`?{role:Ev(Dv(n)),content:Tv(e.content)}:{role:`user`,content:Tv(e.content)}})}function oge(e,t,n){let r={},i=`kwargs`in e?e.kwargs:void 0;wv(r,e_,t?.temperature??n?.ls_temperature??i?.temperature),wv(r,t_,t?.max_tokens??n?.ls_max_tokens??i?.max_tokens),wv(r,i_,t?.top_p??i?.top_p);let a=t?.frequency_penalty;wv(r,n_,a);let o=t?.presence_penalty;return wv(r,r_,o),t&&`stream`in t&&Cv(r,$g,!!t.stream),r}function Av(e,t,n,r,i){return{[Zg]:md(e??`langchain`,String),[m_]:`chat`,[Qg]:md(t,String),[sf]:Sv,...oge(n,r,i)}}function sge(e,t,n,r,i,a){let o=a?.ls_provider,s=Av(o,i?.model??a?.ls_model_name??`unknown`,e,i,a);if(n&&Array.isArray(t)&&t.length>0){Cv(s,h_,t.length);let e=t.map(e=>({role:`user`,content:e}));Cv(s,g_,r?ov(e):md(e))}return s}function cge(e,t,n,r,i,a){let o=Av(a?.ls_provider??e.id?.[2],i?.model??a?.ls_model_name??`unknown`,e,i,a);if(n&&Array.isArray(t)&&t.length>0){let{systemInstructions:e,filteredMessages:n}=sv(kv(t.flat()));e&&Cv(o,__,e),Cv(o,h_,Array.isArray(n)?n.length:0),Cv(o,g_,r?ov(n):md(n))}return o}function lge(e,t){let n=[],r=e.flat();for(let e of r){let t=e.message?.tool_calls;if(Array.isArray(t)&&t.length>0)n.push(...t);else{let t=e.message?.content;if(Array.isArray(t))for(let e of t){let t=e;t.type===`tool_use`&&n.push(t)}}}n.length>0&&Cv(t,b_,md(n,String))}function uge(e,t){if(!e)return;let n=e.tokenUsage,r=e.usage;if(n)wv(t,d_,n.promptTokens),wv(t,f_,n.completionTokens),wv(t,p_,n.totalTokens);else if(r){wv(t,d_,r.input_tokens),wv(t,f_,r.output_tokens);let e=Number(r.input_tokens),n=Number(r.output_tokens),i=(Number.isNaN(e)?0:e)+(Number.isNaN(n)?0:n);i>0&&wv(t,p_,i),r.cache_creation_input_tokens!==void 0&&wv(t,w_,r.cache_creation_input_tokens),r.cache_read_input_tokens!==void 0&&wv(t,T_,r.cache_read_input_tokens)}}function dge(e,t){if(!e)return;let n={};if(Array.isArray(e.generations)){let r=e.generations.flat().map(e=>e.generationInfo?.finish_reason?e.generationInfo.finish_reason:e.generation_info?.finish_reason?e.generation_info.finish_reason:null).filter(e=>typeof e==`string`);if(r.length>0&&Cv(n,c_,md(r,String)),lge(e.generations,n),t){let t=e.generations.flat().map(e=>e.text??e.message?.content).filter(e=>typeof e==`string`);t.length>0&&Cv(n,v_,md(t,String))}}uge(e.llmOutput,n);let r=e.llmOutput,i=e.generations?.[0]?.[0]?.message,a=r?.model_name??r?.model??i?.response_metadata?.model_name;a&&Cv(n,l_,a);let o=r?.id??i?.id;o&&Cv(n,u_,o);let s=r?.stop_reason??i?.response_metadata?.finish_reason;return s&&Cv(n,Yme,md(s,String)),n}function jv(e){let t={},n=e?.lc_agent_name;return typeof n==`string`&&(t[x_]=n),t}function fge(e){let t=e?.invocation_params?.tools??e?.options?.tools;if(!Array.isArray(t)||t.length===0)return;let n=t.map(e=>{let t=e.function;return{type:`function`,name:e.name??t?.name??``,description:e.description??t?.description}});return JSON.stringify(n)}function pge(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.addHandler==`function`&&typeof t.copy==`function`}function mge(e){return typeof e==`object`&&e?.name===`SentryCallbackHandler`}function Mv(e){return e.some(mge)}function hge(e,t){if(!e)return[t];if(pge(e)){if(Mv(e.handlers??[]))return e;let n=e.copy();return n.addHandler(t,!0),n}let n=Array.isArray(e)?e:[e];return Mv(n)?e:[...n,t]}function Nv(e={}){let{recordInputs:t,recordOutputs:n}=nv(e),r=rv(e.enableTruncation),i=new Map,a=e=>{let t=i.get(e);t?.isRecording()&&(t.end(),i.delete(e))},o={lc_serializable:!1,lc_namespace:[`langchain_core`,`callbacks`,`sentry`],lc_secrets:void 0,lc_attributes:void 0,lc_aliases:void 0,lc_serializable_keys:void 0,lc_id:[`langchain_core`,`callbacks`,`sentry`],lc_kwargs:{},name:`SentryCallbackHandler`,ignoreLLM:!1,ignoreChain:!1,ignoreAgent:!1,ignoreRetriever:!1,ignoreCustomEvent:!1,raiseError:!1,awaitHandlers:!0,handleLLMStart(e,n,a,o,s,c,l,u){let d=Ov(c),f=sge(e,n,t,r,d,l),p=f[Qg],m=f[m_];Bp({name:`${m} ${p}`,op:`gen_ai.chat`,attributes:{...jv(l),...f,[of]:`gen_ai.chat`}},e=>(i.set(a,e),e))},handleChatModelStart(e,n,a,o,s,c,l,u){let d=Ov(c),f=cge(e,n,t,r,d,l),p=fge(s);p&&(f[y_]=p);let m=f[Qg],h=f[m_];Bp({name:`${h} ${m}`,op:`gen_ai.chat`,attributes:{...jv(l),...f,[of]:`gen_ai.chat`}},e=>(i.set(a,e),e))},handleLLMEnd(e,t,r,o,s){let c=i.get(t);if(c?.isRecording()){let r=dge(e,n);r&&c.setAttributes(r),a(t)}},handleLLMError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.llm_error_handler`}})},handleChainStart(e,n,r,a,o,s,c,l){if(s?.__sentry_langgraph__)return;let u=l||e.name||`unknown_chain`,d={[sf]:`auto.ai.langchain`,"langchain.chain.name":u};t&&(d[`langchain.chain.inputs`]=JSON.stringify(n)),Bp({name:`chain ${u}`,op:`gen_ai.invoke_agent`,attributes:{...d,[of]:`gen_ai.invoke_agent`}},e=>(i.set(r,e),e))},handleChainEnd(e,t){let r=i.get(t);r?.isRecording()&&(n&&r.setAttributes({"langchain.chain.outputs":JSON.stringify(e)}),a(t))},handleChainError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.chain_error_handler`}})},handleToolStart(e,n,r,a,o,s,c){if(s?.__sentry_langgraph__)return;let l=c||e.name||`unknown_tool`,u={...jv(s),[sf]:Sv,[m_]:`execute_tool`,[A_]:l};t&&(u[N_]=n),Bp({name:`execute_tool ${l}`,op:`gen_ai.execute_tool`,attributes:{...u,[of]:`gen_ai.execute_tool`}},e=>(i.set(r,e),e))},handleToolEnd(e,t){let r=i.get(t);if(r?.isRecording()){if(n){let t=e,n=t&&typeof t==`object`&&`content`in t?t.content:e;r.setAttributes({[P_]:typeof n==`string`?n:JSON.stringify(n)})}a(t)}},handleToolError(e,t){let n=i.get(t);n?.isRecording()&&(n.setStatus({code:2,message:`internal_error`}),a(t)),Pm(e,{mechanism:{handled:!1,type:`${Sv}.tool_error_handler`}})},copy(){return o},toJSON(){return{lc:1,type:`not_implemented`,id:o.lc_id}},toJSONNotImplemented(){return{lc:1,type:`not_implemented`,id:o.lc_id}}};return o}function gge(e){let t=e.constructor?.name??``;return t.includes(`OpenAI`)?`openai`:t.includes(`Google`)?`google_genai`:t.includes(`Mistral`)?`mistralai`:t.includes(`Vertex`)?`google_vertexai`:t.includes(`Bedrock`)?`aws_bedrock`:t.includes(`Ollama`)?`ollama`:t.includes(`Cloudflare`)?`cloudflare`:t.includes(`Cohere`)?`cohere`:`langchain`}function _ge(e){let t=e??{},n={[sf]:Sv,[of]:O_,[m_]:`embeddings`,[Qg]:t.model??`unknown`};return n[Zg]=gge(t),`dimensions`in t&&(n[s_]=t.dimensions),`encodingFormat`in t&&(n[o_]=t.encodingFormat),n}function vge(e,t,n={}){let{recordInputs:r}=nv(n),i=_ge(e),a=i[`gen_ai.request.model`]||`unknown`;return r&&t!=null&&(i[D_]=typeof t==`string`?t:JSON.stringify(t)),{name:`embeddings ${a}`,op:O_,attributes:i}}function Pv(e,t={}){return new Proxy(e,{apply(e,n,r){return zp(vge(n,r[0],t),()=>Reflect.apply(e,n,r).then(void 0,e=>{throw Pm(e,{mechanism:{handled:!1,type:`auto.ai.langchain`}}),e}))}})}function yge(e,t){let n=e;return typeof n.embedQuery==`function`&&(n.embedQuery=Pv(n.embedQuery,t)),typeof n.embedDocuments==`function`&&(n.embedDocuments=Pv(n.embedDocuments,t)),e}var Fv=`auto.ai.langgraph`;function bge(e){let t=e[0];if(typeof t!=`object`||!t||!(`llm`in t)||!t.llm||typeof t.llm!=`object`)return null;let n=t.llm;return typeof n.modelName!=`string`&&typeof n.model!=`string`?null:n}function xge(e){let t=e[0];return typeof t==`object`&&t&&`name`in t&&typeof t.name==`string`?t.name:null}function Sge(e,t,n){let r=`__sentry_tool_wrapped__`;for(let i of e){if(!i||typeof i!=`object`)continue;let e=i,a=e.invoke;if(typeof a!=`function`||Object.prototype.hasOwnProperty.call(e,r))continue;let o=typeof e.name==`string`?e.name:`unknown_tool`,s=typeof e.description==`string`?e.description:void 0;e.invoke=new Proxy(a,{apply(e,r,i){let a={[sf]:Fv,[of]:k_,[m_]:`execute_tool`,[A_]:o,[M_]:`function`},c=i[1]?.metadata?.lc_agent_name??n;typeof c==`string`&&(a[x_]=c),s&&(a[F_]=s);let l=i[0];if(typeof l==`object`&&l&&(`id`in l&&typeof l.id==`string`&&(a[j_]=l.id),t.recordInputs)){let e=`args`in l&&typeof l.args==`object`?l.args:l;try{a[N_]=JSON.stringify(e)}catch{}}return zp({op:k_,name:`execute_tool ${o}`,attributes:a},async n=>{try{let a=await Reflect.apply(e,r,i);if(t.recordOutputs)try{let e=a,t=e&&typeof e==`object`&&`content`in e?e.content:a;n.setAttribute(P_,typeof t==`string`?t:JSON.stringify(t))}catch{}return a}catch(e){throw n.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}}),Object.defineProperty(e,r,{value:!0,enumerable:!1})}return e}function Cge(e){if(!e||e.length===0)return null;let t=[];for(let n of e)if(n&&typeof n==`object`){let e=n.tool_calls;e&&Array.isArray(e)&&t.push(...e)}return t.length>0?t:null}function wge(e){let t=e,n=0,r=0,i=0;if(t.usage_metadata&&typeof t.usage_metadata==`object`){let e=t.usage_metadata;return typeof e.input_tokens==`number`&&(n=e.input_tokens),typeof e.output_tokens==`number`&&(r=e.output_tokens),typeof e.total_tokens==`number`&&(i=e.total_tokens),{inputTokens:n,outputTokens:r,totalTokens:i}}if(t.response_metadata&&typeof t.response_metadata==`object`){let e=t.response_metadata;if(e.tokenUsage&&typeof e.tokenUsage==`object`){let t=e.tokenUsage;typeof t.promptTokens==`number`&&(n=t.promptTokens),typeof t.completionTokens==`number`&&(r=t.completionTokens),typeof t.totalTokens==`number`&&(i=t.totalTokens)}}return{inputTokens:n,outputTokens:r,totalTokens:i}}function Tge(e,t){let n=t;if(n.response_metadata&&typeof n.response_metadata==`object`){let t=n.response_metadata;t.model_name&&typeof t.model_name==`string`&&e.setAttribute(l_,t.model_name),t.finish_reason&&typeof t.finish_reason==`string`&&e.setAttribute(c_,[t.finish_reason])}}function Ege(e){if(!e.builder?.nodes?.tools?.runnable?.tools)return null;let t=e.builder?.nodes?.tools?.runnable?.tools;return!t||!Array.isArray(t)||t.length===0?null:t.map(e=>({name:e.lc_kwargs?.name,description:e.lc_kwargs?.description,schema:e.lc_kwargs?.schema}))}function Dge(e,t,n){let r=n?.messages;if(!r||!Array.isArray(r))return;let i=t?.length??0,a=r.length>i?r.slice(i):[];if(a.length===0)return;let o=Cge(a);o&&e.setAttribute(b_,JSON.stringify(o));let s=kv(a);e.setAttribute(v_,JSON.stringify(s));let c=0,l=0,u=0;for(let t of a){let n=wge(t);c+=n.inputTokens,l+=n.outputTokens,u+=n.totalTokens,Tge(e,t)}c>0&&e.setAttribute(d_,c),l>0&&e.setAttribute(f_,l),u>0&&e.setAttribute(p_,u)}var Iv=!1,Lv=`__sentry_patched__`;function Oge(e){let t={[sf]:Fv,[of]:`gen_ai.create_agent`,[m_]:`create_agent`};return e&&(t[x_]=e),{op:`gen_ai.create_agent`,name:e?`create_agent ${e}`:`create_agent`,attributes:t}}function kge(e,t){if(Object.prototype.hasOwnProperty.call(e,Lv))return e;let n=Nv(t),r=new Proxy(e,{apply(e,r,i){return Iv?Reflect.apply(e,r,i):zp(Oge(),a=>{try{let o=Reflect.apply(e,r,i),s=i.length>0?i[0]:{};s?.name&&typeof s.name==`string`&&(a.setAttribute(x_,s.name),a.updateName(`create_agent ${s.name}`));let c=o.invoke;return c&&typeof c==`function`&&(o.invoke=Rv(c.bind(o),o,s,t,void 0,n)),o}catch(e){throw a.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}});return Object.defineProperty(r,Lv,{value:!0,enumerable:!1}),r}function Rv(e,t,n,r,i,a){return new Proxy(e,{apply(e,o,s){let c=i?.modelName??i?.model;return zp({op:`gen_ai.invoke_agent`,name:`invoke_agent`,attributes:{[sf]:Fv,[of]:E_,[m_]:`invoke_agent`}},async i=>{try{let l=n?.name;l&&typeof l==`string`&&(i.setAttribute(S_,l),i.setAttribute(x_,l),i.updateName(`invoke_agent ${l}`)),c&&i.setAttribute(Qg,c);let u=(s.length>1?s[1]:void 0)?.configurable?.thread_id;if(u&&typeof u==`string`&&i.setAttribute(C_,u),a){let e=s[1]??{};s[1]=e,e.metadata={...e.metadata??{},__sentry_langgraph__:!0,...typeof l==`string`?{lc_agent_name:l}:{}},e.callbacks=hge(e.callbacks,a)}let d=Ege(t);d&&i.setAttribute(y_,JSON.stringify(d));let f=r.recordInputs,p=r.recordOutputs,m=s.length>0?s[0]?.messages??[]:[];if(m&&f){let{systemInstructions:e,filteredMessages:t}=sv(kv(m));e&&i.setAttribute(__,e);let n=rv(r.enableTruncation),a=Array.isArray(t)?t.length:0;i.setAttributes({[g_]:n?ov(t):md(t),[h_]:a})}let h=await Reflect.apply(e,o,s);return p&&Dge(i,m??null,h),h}catch(e){throw i.setStatus({code:2,message:`internal_error`}),Pm(e,{mechanism:{handled:!1,type:`auto.ai.langgraph.error`}}),e}})}})}function Age(e,t){if(Object.prototype.hasOwnProperty.call(e,Lv))return e;let n=nv(t),r=Nv(n),i=new Proxy(e,{apply(e,t,i){let a=bge(i),o=xge(i),s=i[0];s&&Array.isArray(s.tools)&&s.tools.length>0&&Sge(s.tools,n,o??void 0),Iv=!0;let c;try{c=Reflect.apply(e,t,i)}finally{Iv=!1}let l=c.invoke;if(l&&typeof l==`function`){let e={};o&&(e.name=o),c.invoke=Rv(l.bind(c),c,e,n,a,r)}return c}});return Object.defineProperty(i,Lv,{value:!0,enumerable:!1}),i}function zv(e,t){return e.compile=kge(e.compile,nv(t)),e}var jge=zv;function Mge(e,t,n){let r=n.getOptions(),i=n.getDsn(),a=r.tunnel,o=Dp(r._metadata),s={sent_at:new Date(ad()).toISOString(),...Nge(t)&&{trace:t},...o&&{sdk:o},...!!a&&i&&{dsn:Ef(i)}},c=n.getDataCollectionOptions().userInfo?`auto`:`never`;return yp(s,[[{type:`span`,item_count:e.length,content_type:`application/vnd.sentry.items.span.v2+json`},{version:2,...ih()&&{ingest_settings:{infer_ip:c,infer_user_agent:c}},items:e}]])}function Nge(e){return!!e.trace_id&&!!e.public_key}function Pge(e){let t=156;if(t+=e.name.length*2,t+=Yd(e.attributes),e.links&&e.links.length>0){let n=e.links[0]?.attributes,r=100+(n?Yd(n):0);t+=r*e.links.length}return t}var Bv=1e3,Fge=5e6,Ige=class{constructor(e,t){this._traceBuckets=new Map,this._client=e;let{maxSpanLimit:n,flushInterval:r,maxTraceWeightInBytes:i}=t??{};this._maxSpanLimit=n&&n>0&&n<=Bv?n:Bv,this._flushInterval=r&&r>0?r:5e3,this._maxTraceWeight=i&&i>0?i:Fge,this._client.on(`flush`,()=>{this.drain()}),this._client.on(`close`,()=>{this._traceBuckets.forEach(e=>{clearTimeout(e.timeout)}),this._traceBuckets.clear()})}add(e){let t=e.trace_id,n=this._traceBuckets.get(t);n||(n={spans:new Set,size:0,timeout:Km(setTimeout(()=>{this.flush(t)},this._flushInterval))},this._traceBuckets.set(t,n)),n.spans.add(e),n.size+=Pge(e),(n.spans.size>=this._maxSpanLimit||n.size>=this._maxTraceWeight)&&this.flush(t)}drain(){this._traceBuckets.size&&(B&&H.log(`Flushing span tree map with ${this._traceBuckets.size} traces`),this._traceBuckets.forEach((e,t)=>{this.flush(t)}))}flush(e){let t=this._traceBuckets.get(e);if(!t)return;if(!t.spans.size){this._removeTrace(e);return}let n=Array.from(t.spans),r=n[0]?._segmentSpan;if(!r){B&&H.warn(`No segment span reference found on span JSON, cannot compute DSC`),this._removeTrace(e);return}let i=_p(r),a=n.map(e=>{let{_segmentSpan:t,...n}=e;return n}),o=Mge(a,i,this._client);B&&H.log(`Sending span envelope for trace ${e} with ${a.length} spans`),this._client.sendEnvelope(o).then(null,e=>{B&&H.error(`Error while sending streamed span envelope:`,e)}),this._removeTrace(e)}_removeTrace(e){let t=this._traceBuckets.get(e);t&&clearTimeout(t.timeout),this._traceBuckets.delete(e)}};function Vv(e){if(e!==void 0){if(e>=400&&e<500)return`warning`;if(e>=500)return`error`}}var Hv=V;function Lge(){return`history`in Hv&&!!Hv.history}function Rge(){if(!(`fetch`in Hv))return!1;try{return new Headers,new Request(`data:,`),new Response,!0}catch{return!1}}function Uv(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Wv(){if(typeof EdgeRuntime==`string`)return!0;if(!Rge())return!1;if(Uv(Hv.fetch))return!0;let e=!1,t=Hv.document;if(t&&typeof t.createElement==`function`)try{let n=t.createElement(`iframe`);n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=Uv(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){B&&H.warn(`Could not create sandbox iframe for pure fetch check, bailing to window.fetch: `,e)}return e}function zge(){return`ReportingObserver`in Hv}function Gv(e,t){let n=`fetch`,r=ku(n,e);return Au(n,()=>Kv(void 0,t)),r}function Bge(e){let t=`fetch-body-resolved`,n=ku(t,e);return Au(t,()=>Kv(Hge)),n}function Kv(e,t=!1){t&&!Wv()||Xu(V,`fetch`,function(t){return function(...n){let r=Error(),{method:i,url:a}=Uge(n),o={args:n,fetchData:{method:i,url:a},startTimestamp:kd()*1e3,virtualError:r,headers:Wge(n)};return e||ju(`fetch`,{...o}),t.apply(V,n).then(async t=>(e?e(t):ju(`fetch`,{...o,endTimestamp:kd()*1e3,response:t}),t),e=>{ju(`fetch`,{...o,endTimestamp:kd()*1e3,error:e}),Lu(e)&&e.stack===void 0&&(e.stack=r.stack,Zu(e,`framesToPop`,1));let t=U()?.getOptions().enhanceFetchErrorMessages??`always`;if(t!==!1&&Lu(e)&&e.name===`TypeError`&&(e.message===`Failed to fetch`||e.message===`Load failed`||e.message===`NetworkError when attempting to fetch resource.`))try{let n=new URL(o.fetchData.url).host;t===`always`?e.message=`${e.message} (${n})`:Zu(e,`__sentry_fetch_url_host__`,n)}catch{}throw e})}})}async function Vge(e,t){if(e?.body){let n=e.body,r=n.getReader(),i=setTimeout(()=>{n.cancel().then(null,()=>{})},9e4),a=!0;for(;a;){let e;try{e=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);let{done:i}=await r.read();clearTimeout(e),i&&(t(),a=!1)}catch{a=!1}finally{clearTimeout(e)}}clearTimeout(i),r.releaseLock(),n.cancel().then(null,()=>{})}}function Hge(e){let t;try{t=e.clone()}catch{return}Vge(t,()=>{ju(`fetch-body-resolved`,{endTimestamp:kd()*1e3,response:e})})}function qv(e,t){return Gu(e)&&!!e[t]}function Jv(e){return typeof e==`string`?e:e?qv(e,`url`)?e.url:e.toString?e.toString():``:``}function Uge(e){if(e.length===0)return{method:`GET`,url:``};if(e.length===2){let[t,n]=e;return{url:Jv(t),method:qv(n,`method`)?String(n.method).toUpperCase():Yu(t)&&qv(t,`method`)?String(t.method).toUpperCase():`GET`}}let t=e[0];return{url:Jv(t),method:qv(t,`method`)?String(t.method).toUpperCase():`GET`}}function Wge(e){let[t,n]=e;try{if(typeof n==`object`&&n&&`headers`in n&&n.headers)return new Headers(n.headers);if(Yu(t))return new Headers(t.headers)}catch{}}var Yv=V;function Xv(){try{return Yv.document.location.href}catch{return``}}function Zv(e,t=5){if(!Yv.HTMLElement)return null;let n=e;for(let e=0;e<t;e++){if(!n)return null;if(n instanceof HTMLElement){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}n=n.parentNode}return null}var Qv=V,$v=Qv.document,ey=Qv.navigator,ty=`Report a Bug`,Gge=`Cancel`,Kge=`Send Bug Report`,qge=`Confirm`,Jge=`Report a Bug`,Yge=`your.email@example.org`,Xge=`Email`,Zge=`What's the bug? What did you expect?`,Qge=`Description`,$ge=`Your Name`,e_e=`Name`,t_e=`Thank you for your report!`,n_e=`(required)`,r_e=`Add a screenshot`,i_e=`Remove screenshot`,a_e=`Highlight`,o_e=`Hide`,s_e=`Remove`,ny=`Unable to submit feedback with empty message`,ry=`No client setup, cannot send feedback.`,iy=`Unable to determine if Feedback was correctly sent.`,ay=`Unable to send feedback. This could be because this domain is not in your list of allowed domains.`,oy=`Unable to send feedback. This could be because of network issues, or because you are using an ad-blocker.`,c_e=`widget`,l_e=`api`,u_e=5e3,d_e={ERROR_EMPTY_MESSAGE:ny,ERROR_NO_CLIENT:ry,ERROR_TIMEOUT:iy,ERROR_FORBIDDEN:ay,ERROR_GENERIC:oy};function sy(e,t){return t?.[e]??d_e[e]}function cy(e,t){return Error(sy(e,t))}var ly=(e,t={includeReplay:!0})=>{let n=t.errorMessages;if(!e.message)throw cy(`ERROR_EMPTY_MESSAGE`,n);let r=U();if(!r)throw cy(`ERROR_NO_CLIENT`,n);e.tags&&Object.keys(e.tags).length&&Qd().setTags(e.tags);let i=Ug({source:l_e,url:Xv(),...e},t);return new Promise((e,t)=>{let a=setTimeout(()=>{o(),t(sy(`ERROR_TIMEOUT`,n))},3e4),o=r.on(`afterSendEvent`,(r,s)=>{if(r.event_id===i)return clearTimeout(a),o(),s?.statusCode&&s.statusCode>=200&&s.statusCode<300?e(i):s?.statusCode===403?t(sy(`ERROR_FORBIDDEN`,n)):t(sy(`ERROR_GENERIC`,n))})})},uy=typeof __SENTRY_DEBUG__>`u`||__SENTRY_DEBUG__;function f_e(){return!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ey.userAgent)||/Macintosh/i.test(ey.userAgent)&&ey.maxTouchPoints&&ey.maxTouchPoints>1||!isSecureContext)}function dy(e,t){return{...e,...t,tags:{...e.tags,...t.tags},onFormOpen:()=>{t.onFormOpen?.(),e.onFormOpen?.()},onFormClose:()=>{t.onFormClose?.(),e.onFormClose?.()},onSubmitSuccess:(n,r)=>{t.onSubmitSuccess?.(n,r),e.onSubmitSuccess?.(n,r)},onSubmitError:n=>{t.onSubmitError?.(n),e.onSubmitError?.(n)},onFormSubmitted:()=>{t.onFormSubmitted?.(),e.onFormSubmitted?.()},themeDark:{...e.themeDark,...t.themeDark},themeLight:{...e.themeLight,...t.themeLight}}}function p_e(e){let t=$v.createElement(`style`);return t.textContent=`
|
|
20
20
|
.widget__actor {
|
|
21
21
|
position: fixed;
|
|
22
22
|
z-index: var(--z-index);
|
|
@@ -1002,7 +1002,7 @@ or you can use record.mirror to access the mirror instance during recording.`,xH
|
|
|
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.`,FW={map:{},getId(){return console.error(PW),-1},getNode(){return console.error(PW),null},removeNodeFromMap(){console.error(PW)},has(){return console.error(PW),!1},reset(){console.error(PW)}};typeof window<`u`&&window.Proxy&&window.Reflect&&(FW=new Proxy(FW,{get(e,t,n){return t===`map`&&console.error(PW),Reflect.get(e,t,n)}}));function IW(e,t,n,r,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,r?n:{set(e){HW(()=>{n.set.call(this,e)},0),a&&a.set&&a.set.call(this,e)}}),()=>IW(e,t,a||{},!0)}function LW(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 VUe(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function RW(e,t,n,r,i){if(!e)return!1;let a=VUe(e);if(!a)return!1;let o=NW(t,n);if(!i){let e=r&&a.matches(r);return o(a)&&!e}let s=MW(a,o),c=-1;return s<0?!1:(r&&(c=MW(a,NW(null,r))),s>-1&&c<0||s<c)}var zW={};function BW(e){let t=zW[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 zW[e]=r.bind(window)}function VW(...e){return BW(`requestAnimationFrame`)(...e)}function HW(...e){return BW(`setTimeout`)(...e)}var UW=(e=>(e[e[`2D`]=0]=`2D`,e[e.WebGL=1]=`WebGL`,e[e.WebGL2=2]=`WebGL2`,e))(UW||{}),WW;function HUe(e){WW=e}for(var GW=e=>WW?((...t)=>{try{return e(...t)}catch(e){if(WW&&WW(e)===!0)return()=>{};throw e}}):e,KW=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,UUe=typeof Uint8Array>`u`?[]:new Uint8Array(256),qW=0;qW<KW.length;qW++)UUe[KW.charCodeAt(qW)]=qW;var WUe=function(e){var t=new Uint8Array(e),n,r=t.length,i=``;for(n=0;n<r;n+=3)i+=KW[t[n]>>2],i+=KW[(t[n]&3)<<4|t[n+1]>>4],i+=KW[(t[n+1]&15)<<2|t[n+2]>>6],i+=KW[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},JW=new Map;function GUe(e,t){let n=JW.get(e);return n||(n=new Map,JW.set(e,n)),n.has(t)||n.set(t,[]),n.get(t)}var YW=(e,t,n)=>{if(!e||!(QW(e,t)||typeof e==`object`))return;let r=e.constructor.name,i=GUe(n,r),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function XW(e,t,n){if(e instanceof Array)return e.map(e=>XW(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:WUe(e)};if(e instanceof DataView)return{rr_type:e.constructor.name,args:[XW(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:[XW(e.data,t,n),e.width,e.height]}:QW(e,t)||typeof e==`object`?{rr_type:e.constructor.name,index:YW(e,t,n)}:e}var ZW=(e,t,n)=>e.map(e=>XW(e,t,n)),QW=(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 KUe(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=LW(t.CanvasRenderingContext2D.prototype,s,function(a){return function(...o){return RW(this.canvas,n,r,i,!0)||HW(()=>{let n=ZW(o,t,this);e(this.canvas,{type:UW[`2D`],property:s,args:n})},0),a.apply(this,o)}});a.push(o)}catch{let n=IW(t.CanvasRenderingContext2D.prototype,s,{set(t){e(this.canvas,{type:UW[`2D`],property:s,args:[t],setter:!0})}});a.push(n)}return()=>{a.forEach(e=>e())}}function qUe(e){return e===`experimental-webgl`?`webgl`:e}function $W(e,t,n,r,i){let a=[];try{let o=LW(e.HTMLCanvasElement.prototype,`getContext`,function(e){return function(a,...o){if(!RW(this,t,n,r,!0)){let e=qUe(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 eG(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=LW(e,o,function(e){return function(...c){let l=e.apply(this,c);if(YW(l,s,this),`tagName`in this.canvas&&!RW(this.canvas,r,i,a,!0)){let e=ZW(c,s,this),r={type:t,property:o,args:e};n(this.canvas,r)}return l}});c.push(l)}catch{let r=IW(e,o,{set(e){n(this.canvas,{type:t,property:o,args:[e],setter:!0})}});c.push(r)}return c}function JUe(e,t,n,r,i,a){let o=[];return o.push(...eG(t.WebGLRenderingContext.prototype,UW.WebGL,e,n,r,i,a,t)),t.WebGL2RenderingContext!==void 0&&o.push(...eG(t.WebGL2RenderingContext.prototype,UW.WebGL2,e,n,r,i,a,t)),()=>{o.forEach(e=>e())}}var YUe=`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 XUe(){let e=new Blob([YUe]);return URL.createObjectURL(e)}var ZUe=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&&HUe(a),(i&&typeof n==`number`||t)&&(this.worker=this.initFPSWorker()),this.addWindow(r),!t&&GW(()=>{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}GW(()=>{if(a&&t===`all`&&this.initCanvasMutationObserver(e,n,r,i),a&&typeof t==`number`){let t=$W(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}VW(t=>this.takeSnapshot(t,!0,e))}initFPSWorker(){let e=new Worker(XUe());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:UW[`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=VW(t)};e=VW(t),this.restoreHandlers.push(()=>{e&&cancelAnimationFrame(e)})}initCanvasMutationObserver(e,t,n,r){let i=$W(e,t,n,r,!1),a=KUe(this.processMutation.bind(this),e,t,n,r),o=JUe(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=>{RW(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=>{GW(()=>{throw this.snapshotInProgressMap.delete(n),e})()})}}),!0)}startPendingCanvasMutationFlusher(){VW(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let e=t=>{this.rafStamps.latestId=t,VW(e)};VW(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{let n=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,n)}),VW(()=>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)}zUe();var QUe;(function(e){e[e.NotStarted=0]=`NotStarted`,e[e.Running=1]=`Running`,e[e.Stopped=2]=`Stopped`})(QUe||={});var tG={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}}},$Ue=`ReplayCanvas`,nG=1280,eWe=eP(((e={})=>{let[t,n]=e.maxCanvasSize||[],r={quality:e.quality||`medium`,enableManualSnapshot:e.enableManualSnapshot,maxCanvasSize:[t?Math.min(t,nG):nG,n?Math.min(n,nG):nG]},i,a,o=new Promise(e=>a=e);return{name:$Ue,getOptions(){let{quality:e,enableManualSnapshot:t,maxCanvasSize:n}=r;return{enableManualSnapshot:t,recordCanvas:!0,getCanvasManager:e=>{let r=new ZUe({...e,enableManualSnapshot:t,maxCanvasSize:n,errorHandler:e=>{try{typeof e==`object`&&(e.__rrweb__=!0)}catch{}}});return i=r,a(r),r},...tG[e]||tG.medium}},async snapshot(e,t){(i||await o).snapshot(e,t)}}}));function tWe(e){return e.split(`,`).some(e=>e.trim().startsWith(`sentry-`))}function rG(e){try{return new URL(e,Z.location.origin).href}catch{return}}function nWe(e){return e.entryType===`resource`&&`initiatorType`in e&&typeof e.nextHopProtocol==`string`&&(e.initiatorType===`fetch`||e.initiatorType===`xmlhttprequest`)}function iG(e){try{return new Headers(e)}catch{return}}var aG={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function oG(e,t){let{traceFetch:n,traceXHR:r,shouldCreateSpanForRequest:i,enableHTTPTimings:a,tracePropagationTargets:o,onRequestSpanStart:s,onRequestSpanEnd:c}={...aG,...t},l=typeof i==`function`?i:e=>!0,u=e=>iWe(e,o),d={},f=e.getOptions().propagateTraceparent;n&&EL(t=>{let n=AMe(t,l,u,d,{propagateTraceparent:f,onRequestSpanEnd:c});if(n){let r=rG(t.fetchData.url),i=r?qP(r).host:void 0,o=r?YP(r):void 0;n.setAttributes({"http.url":o,"url.full":o,"server.address":i}),a&&sG(n,e),s?.(n,{headers:t.headers})}}),r&&XB(t=>{let n=aWe(t,l,u,d,f,c);n&&(a&&sG(n,e),s?.(n,{headers:iG(t.xhr.__sentry_xhr_v3__?.request_headers)}))})}var rWe=300;function sG(e,t){let{url:n}=xj(e).data;if(!n||typeof n!=`string`)return;let r=()=>void setTimeout(i);if(dM(t)){let t=e.end.bind(e);e.end=e=>{let n=e??uA(),a=!1,o=()=>{a||(a=!0,setTimeout(i),t(n),clearTimeout(s))};r=o;let s=setTimeout(o,rWe)}}let i=uB(`resource`,({entries:t})=>{t.forEach(t=>{nWe(t)&&t.name.endsWith(n)&&(e.setAttributes(DB(t)),r())})})}function iWe(e,t){let n=ML();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?eA(r.toString(),t)||a&&eA(r.pathname,t):a}{let n=!!e.match(/^\/(?!\/)/);return t?eA(e,t):n}}function aWe(e,t,n,r,i,a){let o=e.xhr,s=o?.[YB];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&&(YA(n,s.status_code),n.end(),a?.(n,{headers:iG(eV(o)),error:e.error})),delete r[t]);return}let d=rG(c),f=qP(d||c),p=d?YP(d):void 0,m=YP(JP(c)),h=X(),g=!!Lj(),_=g||!!h&&dM(h),v=u&&_?bM({name:`${l} ${m}`,attributes:{url:YP(c),type:`xhr`,"http.method":l,"http.url":p,"url.full":p,"server.address":f?.host,[VA]:`auto.http.browser`,[BA]:`http.client`,...f?.search&&{"http.query":f?.search},...f?.hash&&{"http.fragment":f?.hash}}}):new Gj,y=jM(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)&&oWe(o,Vj()&&_?y:void 0,i),h&&h.emit(`beforeOutgoingRequestSpan`,v,e),v}function oWe(e,t,n){let{"sentry-trace":r,baggage:i,traceparent:a}=$P({span:t,propagateTraceparent:n});r&&sWe(e,r,i,a)}function sWe(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||!tWe(t))&&e.setRequestHeader(`baggage`,n)}}catch{}}var cG=new WeakMap,lG=new WeakMap,cWe=9e4,lWe=[`text/event-stream`,`application/x-ndjson`,`application/stream+json`],uG=eP(()=>({name:`FetchStreamPerformance`,setup(){QPe(e=>{if(e.response){let t=cG.get(e.response);if(t&&e.endTimestamp){t.end(e.endTimestamp);let n=lG.get(e.response);n&&clearTimeout(n)}}}),EL(e=>{if(e.endTimestamp&&e.response){let t=e.response.headers?.get(`content-type`)||``;if(e.response.headers?.get(`content-length`)||!lWe.some(e=>t.startsWith(e)))return;let n=e.fetchData?.url||``,r=e.fetchData?.method||`GET`,i=GP(n),a=bM({name:`${r} ${n.startsWith(`data:`)?YP(n):i?KP(i):n}`,startTime:e.endTimestamp,attributes:{url:YP(n),"http.method":r,type:`fetch`,[BA]:`http.client.stream`,[VA]:`auto.http.browser.stream`}});cG.set(e.response,a);let o=setTimeout(()=>{a.isRecording()&&a.end()},cWe);lG.set(e.response,o)}})}})),uWe=`WebVitals`,dG=eP((e={})=>{let t=new Set(e.ignore??[]);return{name:uWe,setup(n){let r=dM(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=ILe({recordClsStandaloneSpans:o,recordLcpStandaloneSpans:s,client:n}),l=new WeakSet;n.on(`afterStartPageLoadSpan`,e=>{l.add(e)}),n.on(`spanEnd`,e=>{l.delete(e)&&(c(),GLe(e,{recordClsOnPageloadSpan:o===!1,recordLcpOnPageloadSpan:s===!1,spanStreamingEnabled:r}))}),r?(t.has(`lcp`)||uRe(n),t.has(`cls`)||fRe(n),t.has(`inp`)||mRe()):t.has(`inp`)||aRe()},afterAllSetup(){t.has(`inp`)||lRe()}}});function dWe(){Z.document?Z.document.addEventListener(`visibilitychange`,()=>{let e=Lj();if(!e)return;let t=Fj(e);if(Z.document.hidden&&t){let e=`cancelled`,{op:n,status:r}=xj(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 fG=`sentry_previous_trace`,fWe=`sentry.previous_trace`;function pWe(e,{linkPreviousTrace:t,consistentTraceSampling:n}){let r=t===`session-storage`,i=r?gWe():void 0;e.on(`spanStart`,e=>{if(Fj(e)!==e)return;let t=NA().getPropagationContext();i=mWe(i,e,t),r&&hWe(i)});let a=!0;n&&e.on(`beforeSampling`,e=>{if(!i)return;let t=NA(),n=t.getPropagationContext();if(a&&n.parentSpanId){a=!1;return}t.setPropagationContext({...n,dsc:{...n.dsc,sample_rate:String(i.sampleRate),sampled:String(pG(i.spanContext))},sampleRand:i.sampleRand}),e.parentSampled=pG(i.spanContext),e.parentSampleRate=i.sampleRate,e.spanAttributes={...e.spanAttributes,[nke]:i.sampleRate}})}function mWe(e,t,n){let r=xj(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:{[dke]:`previous_trace`}}),t.setAttribute(fWe,`${o.traceId}-${o.spanId}-${+!!pG(o)}`)),a)}function hWe(e){try{Z.sessionStorage.setItem(fG,JSON.stringify(e))}catch(e){Q&&Y.warn(`Could not store previous trace in sessionStorage`,e)}}function gWe(){try{let e=Z.sessionStorage?.getItem(fG);return JSON.parse(e)}catch{return}}function pG(e){return e.traceFlags===1}var _We=`BrowserTracing`,vWe=/Googlebot|Google-InspectionTool|Storebot-Google|Bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot|Facebot|facebookexternalhit|LinkedInBot|Twitterbot|Applebot/i;function mG(){let e=Z.navigator;return e?.userAgent?vWe.test(e.userAgent):!1}var yWe={...MM,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:`in-memory`,consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...aG},hG=((e={})=>{`enableElementTiming`in e&&XO(()=>{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}={...yWe,...e},te=mG(),ne,O;function k(e,r,i=!0,a){let o=r.op===`pageload`,s=r.name,c=l?l(r):r,p=GP(a||ML()),m={...p?.pathname&&{"url.path":p.pathname},...p&&!WP(p)&&{"url.full":p.href},...c.attributes};if(s!==c.name&&(m[RA]=`custom`),c.attributes=m,!i){let e=lA();bM({...c,startTime:e}).end(e);return}t.name=c.name,t.source=m[RA];let h=NM(c,{idleTimeout:u,finalTimeout:d,childSpanTimeout:f,disableAutoFinish:o,beforeSpanEnd:t=>{WLe(t,{ignoreResourceSpans:y,ignorePerformanceApiSpans:b,spanStreamingEnabled:dM(e)}),SG(e,void 0);let n=NA(),r=n.getPropagationContext();n.setPropagationContext({...r,traceId:h.spanContext().traceId,sampled:Dj(h),dsc:Zj(t)}),o&&(O=void 0)},trimIdleSpanEndTimestamp:!E});o&&E&&(O=h),SG(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:_We,setup(e){if(te){Q&&Y.log(`[Tracing] Skipping browserTracingIntegration setup for bot user agent.`);return}if(Bj(),a&&J.PerformanceObserver&&PerformanceObserver.supportedEntryTypes?.includes(`long-animation-frame`)?RLe():i&&LLe(),o&&zLe(),C&&n){let e=()=>{ne=uA()};addEventListener(`click`,e,{capture:!0}),addEventListener(`keydown`,e,{capture:!0,passive:!0})}function t(){let t=xG(e);t&&!xj(t).timestamp&&(Q&&Y.log(`[Tracing] Finishing current active span with op: ${xj(t).op}`),t.setAttribute(HA,`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(),PA().setPropagationContext({traceId:hA(),sampleRand:Math.random(),propagationSpanId:Vj()?void 0:gA()});let i=NA();i.setPropagationContext({traceId:hA(),sampleRand:Math.random(),propagationSpanId:Vj()?void 0:gA()}),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=fj(r.sentryTrace||vG(`sentry-trace`)||yG(`sentry-trace`),r.baggage||vG(`baggage`)||yG(`baggage`)),a=NA();a.setPropagationContext(i),Vj()||(a.getPropagationContext().propagationSpanId=gA()),a.setSDKProcessingMetadata({normalizedRequest:gz()}),k(e,{op:`pageload`,...n})}),e.on(`endPageloadSpan`,()=>{E&&O&&(O.setAttribute(HA,`reportPageLoaded`),O.end())})},afterAllSetup(e){if(te)return;e.addIntegration&&!e.getIntegrationByName?.(`WebVitals`)&&e.addIntegration(dG({ignore:r?[]:[`inp`],_experiments:{enableStandaloneClsSpans:s,enableStandaloneLcpSpans:c}}));let n=ML();if(w!==`off`&&pWe(e,{linkPreviousTrace:w,consistentTraceSampling:T}),Z.location){if(x){let t=fA();gG(e,{name:Z.location.pathname,startTime:t?t/1e3:void 0,attributes:{[RA]:`url`,[VA]:`auto.pageload.browser`}})}S&&GB(({to:t,from:r})=>{if(r===void 0&&n?.indexOf(t)!==-1){n=void 0;return}n=void 0;let i=GP(t),a=xG(e),o=a&&C&&xWe(a,ne);_G(e,{name:i?.pathname||Z.location.pathname,attributes:{[RA]:`url`,[VA]:`auto.navigation.browser`}},{url:t,isRedirect:o})})}p&&dWe(),o&&bWe(e,u,d,f,t),oG(e,{traceFetch:m,traceXHR:h,tracePropagationTargets:e.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:_,enableHTTPTimings:v,onRequestSpanStart:D,onRequestSpanEnd:ee}),g&&e.addIntegration(uG())}}});function gG(e,t,n){e.emit(`startPageLoadSpan`,t,n),NA().setTransactionName(t.name);let r=xG(e);return r&&e.emit(`afterStartPageLoadSpan`,r),r}function _G(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=NA();return a.setTransactionName(t.name),r&&!i&&a.setSDKProcessingMetadata({normalizedRequest:{...gz(),url:r}}),xG(e)}function vG(e){return(Z.document?.querySelector(`meta[name=${e}]`))?.getAttribute(`content`)||void 0}function yG(e){return(Z.performance?.getEntriesByType?.(`navigation`)[0])?.serverTiming?.find(t=>t.name===e)?.description}function bWe(e,t,n,r,i){let a=Z.document,o;a&&addEventListener(`click`,()=>{let a=`ui.action.click`,s=xG(e);if(s){let e=xj(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(HA,`interactionInterrupted`),o.end(),void 0),!i.name){Q&&Y.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}o=NM({name:i.name,op:a,attributes:{[RA]:i.source||`url`}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})},{capture:!0})}var bG=`_sentry_idleSpan`;function xG(e){return e[bG]}function SG(e,t){Pk(e,bG,t)}var CG=1.5;function xWe(e,t){let n=xj(e),r=lA();return!(r-n.start_timestamp>CG||t&&r-t<=CG)}function SWe(e=X()){e?.emit(`endPageloadSpan`)}function CWe(e){let t=Lj();if(t===e)return;let n=NA();e.end=new Proxy(e.end,{apply(e,r,i){return bA(n,t),Reflect.apply(e,r,i)}}),bA(n,e)}var wWe=eP(()=>({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(!dM(e)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} \`traceLifecycle\` to be set to "stream"! ${n}`);return}let i=r.beforeSendSpan;if(i&&!Qj(i)){r.traceLifecycle=`static`,Q&&Y.warn(`${t} a beforeSendSpan callback using \`withStreamedSpan\`! ${n}`);return}let a=new JPe(e);e.on(`afterSpanEnd`,t=>{Dj(t)&&a.add(QM(t,e))}),e.on(`afterSegmentSpanEnd`,e=>{let t=e.spanContext().traceId;setTimeout(()=>{a.flush(t)},500)})}})),wG=1e6,TWe=`window`in J&&J.window===J&&typeof importScripts>`u`,TG=`0`,EG=TWe?`main`:`worker`,DG=Z.navigator,OG=``,kG=``,AG=``,jG=DG?.userAgent||``,MG=``,EWe=DG?.language||DG?.languages?.[0]||``;function DWe(e){return typeof e==`object`&&!!e&&`getHighEntropyValues`in e}var NG=DG?.userAgentData;DWe(NG)&&NG.getHighEntropyValues([`architecture`,`model`,`platform`,`platformVersion`,`fullVersionList`]).then(e=>{if(OG=e.platform||``,AG=e.architecture||``,MG=e.model||``,kG=e.platformVersion||``,e.fullVersionList?.length){let t=e.fullVersionList[e.fullVersionList.length-1];jG=`${t.brand} ${t.version}`}}).catch(e=>void 0);function OWe(e){return!(`thread_metadata`in e)}function kWe(e){return OWe(e)?FWe(e):e}function AWe(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 jWe(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=AWe(r),a=kWe(n),o=t||(typeof r.start_timestamp==`number`?r.start_timestamp*1e3:uA()*1e3),s=typeof r.timestamp==`number`?r.timestamp*1e3:uA()*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:OG,version:kG,build_number:jG},device:{locale:EWe,model:MG,manufacturer:jG,architecture:AG,is_emulator:!1},debug_meta:{images:FG(n.resources)},profile:a,transactions:[{name:r.transaction||``,id:r.event_id||nA(),trace_id:i,active_thread_id:TG,relative_start_ns:`0`,relative_end_ns:((s-o)*1e6).toFixed(0)}]}}function MWe(e,t,n){if(e==null)throw TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${e} instead.`);let r=PWe(e),i=t.getOptions(),a=t.getSdkMetadata?.()?.sdk;return{chunk_id:nA(),client_sdk:{name:a?.name??`sentry.javascript.browser`,version:a?.version??`0.0.0`},profiler_id:n||nA(),platform:`javascript`,version:`2`,release:i.release??``,environment:i.environment??`production`,debug_meta:{images:FG(e.resources)},profile:r}}function NWe(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 PWe(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=fA(),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:TG,timestamp:r}}return{frames:t,stacks:n,samples:o,thread_metadata:{[TG]:{name:EG}}}}function PG(e){return xj(e).op===`pageload`}function FWe(e){let t,n=0,r={samples:[],stacks:[],frames:[],thread_metadata:{[TG]:{name:EG}}},i=e.samples[0];if(!i)return r;let a=i.timestamp,o=fA(),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)*wG).toFixed(0),stack_id:t,thread_id:TG};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)*wG).toFixed(0),stack_id:n,thread_id:TG};r.stacks[n]=l,r.samples[o]=u,n++}),r}function IWe(e,t){if(!t.length)return e;for(let n of t)e[1].push([{type:`profile`},n]);return e}function LWe(e){let t=[];return tM(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 FG(e){let t=X()?.getOptions()?.stackParser;return t?_N(t,e):[]}function IG(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 RWe(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 LG=!1,RG=3e4;function zWe(e){return typeof e==`function`}function zG(){let e=Z.Profiler;if(!zWe(e)){Q&&Y.log(`[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.`);return}let t=Math.floor(RG/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.`)),LG=!0}}function BG(e){if(LG)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 IG(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 BWe(e){if(LG)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 IG(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 VG(e){return e.profilesSampleRate!==void 0}function VWe(e,t,n,r){return RWe(n)?jWe(e,t,n,r):null}var HG=new Map;function HWe(){return HG.size}function UWe(e){let t=HG.get(e);return t&&HG.delete(e),t}function WWe(e,t){if(HG.set(e,t),HG.size>30){let e=HG.keys().next().value;e!==void 0&&HG.delete(e)}}var UG=new WeakSet;function WG(e){e.setAttribute(`thread.id`,TG),e.setAttribute(`thread.name`,EG)}function GG(e){let t;PG(e)&&(t=uA()*1e3);let n=zG();if(!n)return;Q&&Y.log(`[Profiling] started profiling span: ${xj(e).description}`);let r=nA(),i=null;NA().setContext(`profile`,{profile_id:r,start_timestamp:t}),UG.add(e),WG(e);async function a(){if(e&&n){if(i){Q&&Y.log(`[Profiling] profile for:`,xj(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: ${xj(e).description}`),!t){Q&&Y.log(`[Profiling] profiler returned null profile for: ${xj(e).description}`,`this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started`);return}i=t,WWe(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:`,xj(e).description),a()},RG),s=e.end.bind(e);function c(){return e?(a().then(()=>{s()},()=>{s()}),e):s()}e.end=c}var GWe=6e4,KWe=3e5,qWe=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=BWe(e.getOptions());Q&&Y.log(`[Profiling] Initializing profiler (lifecycle='${t}').`),n||Q&&Y.log(`[Profiling] Session not sampled. Skipping lifecycle profiler initialization.`),this._profilerId=nA(),this._client=e,this._sessionSampled=n,this._lifecycleMode=t,t===`trace`&&this._setupTraceLifecycleListeners(e),e.on(`spanStart`,e=>{this._isRunning&&WG(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&&WG(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),KWe);this._rootSpanTimeouts.set(e,t)}_startProfilerInstance(){if(this._profiler?.stopped===!1)return;let e=zG();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()}},GWe))}_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=MWe(await e.stop(),this._client,this._profilerId),n=NWe(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=oM(t.getSdkMetadata?.()),r=t.getDsn(),i=t.getOptions().tunnel,a=$j({event_id:nA(),sent_at:new Date().toISOString(),...n&&{sdk:n},...!!i&&r&&{dsn:oj(r)}},[[{type:`profile_chunk`,platform:`javascript`},e]]);t.sendEnvelope(a).then(null,e=>{Q&&Y.error(`Error while sending profile chunk envelope:`,e)})}},JWe=`BrowserProfiling`,YWe=eP((()=>({name:JWe,setup(e){let t=e.getOptions(),n=new qWe;if(!VG(t)&&!t.profileLifecycle&&(t.profileLifecycle=`manual`),VG(t)&&!t.profilesSampleRate){Q&&Y.log(`[Profiling] Profiling disabled, no profiling options found.`);return}let r=Lj(),i=r&&Fj(r);if(VG(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."),VG(t))i&&PG(i)&&BG(i)&&GG(i),e.on(`spanStart`,e=>{let t=Fj(e);e===t?BG(e)&&GG(e):UG.has(t)&&WG(e)}),e.on(`beforeEnvelope`,e=>{if(!HWe())return;let t=LWe(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=UWe(r);if(!a){Q&&Y.log(`[Profiling] Could not retrieve profile for span: ${r}`);continue}let o=VWe(r,i,a,e);o&&n.push(o)}IWe(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=Lj(),t=e&&Fj(e);t&&n.notifyRootSpanActive(t)},0)}}}}))),XWe=`SpotlightBrowser`,ZWe=[{op:`ui.interaction.click`,name:`#sentry-spotlight`}],QWe=((e={})=>{let t=e.sidecarUrl||`http://localhost:8969/stream`;return{name:XWe,setup:()=>{Q&&Y.log(`Using Sidecar URL`,t)},beforeSetup(e){let t=e.getOptions();t.ignoreSpans=[...t.ignoreSpans||[],...ZWe]},afterAllSetup:e=>{$We(e,t)}}});function $We(e,t){let n=qB(`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:rM(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 eGe=eP(QWe),tGe=eP(()=>({name:`LaunchDarkly`,processEvent(e,t,n){return FF(e)}}));function nGe(){return{name:`sentry-flag-auditor`,type:`flag-used`,synchronous:!0,method:(e,t,n)=>{IF(e,t.value),LF(e,t.value)}}}var rGe=eP(()=>({name:`OpenFeature`,processEvent(e,t,n){return FF(e)}})),iGe=class{after(e,t){IF(t.flagKey,t.value),LF(t.flagKey,t.value)}error(e,t,n){IF(e.flagKey,e.defaultValue),LF(e.flagKey,e.defaultValue)}},aGe=eP(({featureFlagClientClass:e})=>({name:`Unleash`,setupOnce(){let t=e.prototype;Nk(t,`isEnabled`,oGe)},processEvent(e,t,n){return FF(e)}}));function oGe(e){return function(...t){let n=t[0],r=e.apply(this,t);return typeof n==`string`&&typeof r==`boolean`?(IF(n,r),LF(n,r)):Q&&Y.error(`[Feature Flags] UnleashClient.isEnabled does not match expected signature. arg0: ${n} (${typeof n}), result: ${r} (${typeof r})`),r}}var sGe=(({growthbookClass:e})=>DMe({growthbookClass:e})),cGe=eP(({featureFlagClient:e})=>({name:`Statsig`,setup(t){e.on(`gate_evaluation`,e=>{IF(e.gate.name,e.gate.value),LF(e.gate.name,e.gate.value)})},processEvent(e,t,n){return FF(e)}})),lGe=`WebWorker`,uGe=eP(({worker:e})=>({name:lGe,setupOnce:()=>{(Array.isArray(e)?e:[e]).forEach(e=>KG(e))},addWorker:e=>KG(e)}));function KG(e){e.addEventListener(`message`,e=>{if(pGe(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=>Dk(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),dGe(e.data._sentryWorkerError))}})}function dGe(e){let t=X();if(!t)return;let n=t.getOptions().stackParser,r=t.getOptions().attachStacktrace,i=e.reason,a=Ek(i)?fV(i):Ez(n,i,void 0,r,!0);a.level=`error`,e.filename&&(a.contexts={...a.contexts,worker:{filename:e.filename}}),jN(a,{originalException:i,mechanism:{handled:!1,type:`auto.browser.web_worker.onunhandledrejection`}}),Q&&Y.log(`Captured worker unhandled rejection`,i)}function fGe({self:e}){e.postMessage({_sentryMessage:!0,_sentryDebugIds:e._sentryDebugIds??void 0,_sentryModuleMetadata:e._sentryModuleMetadata??void 0}),e.addEventListener(`unhandledrejection`,t=>{let n={reason:dV(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 pGe(e){if(!Dk(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&&!(Dk(e._sentryDebugIds)||e._sentryDebugIds===void 0)||n&&!(Dk(e._sentryModuleMetadata)||e._sentryModuleMetadata===void 0)||r&&!Dk(e._sentryWorkerError)||i&&(!Array.isArray(e._sentryWasmImages)||!e._sentryWasmImages.every(e=>Dk(e)&&typeof e.code_file==`string`)))}var mGe=50,[,hGe]=nV,[,gGe]=aFe(),qG=(e,t=0)=>{let n=[];for(let r of e.split(`
|
|
1004
1004
|
`).slice(t)){let e=hGe(r),t=gGe(r);if(e&&t?.in_app!==!1?n.push(e):t&&(t.module===void 0&&delete t.module,n.push(t)),n.length>=mGe)break}return ik(n)},_Ge=eP(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=FL(r);a.sendStatus({status:document.visibilityState,config:i}),setInterval(()=>{a.sendStatus({status:`alive`,config:i})},i.pollInterval)}}});function JG(){let e=FA().getScopeData(),t=PA().getScopeData(),n=NA().getScopeData();return UM(e,t),UM(e,n),e.eventProcessors=[],e}function vGe(e){PA().addScopeListener(t=>{e(JG(),t)}),NA().addScopeListener(t=>{e(JG(),t)}),FA().addScopeListener(t=>{e(JG(),t)})}var YG=eP(()=>({name:`ScopeToMain`,setup(e){let t=FL(e);vGe((e,n)=>{t.sendScope(JSON.stringify(Gk(e,20,2e3))),n.clearBreadcrumbs(),n.clearAttachments()})}}));function XG(e){let t;return xP(e,async e=>(t||=FL(),t.sendEnvelope(e.body),{statusCode:200}))}function ZG(e){return[...vV(e).filter(e=>e.name!==`BrowserSession`&&e.name!==`CultureContext`),YG()]}function QG(e={},t=bze){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=ZG(e)),e.stackParser===void 0&&(e.stackParser=qG),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=XG),delete e.initialScope,t(e)}var $G=e({BrowserClient:()=>Oz,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>oje,OpenFeatureIntegrationHook:()=>iGe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>BA,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>VA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>zA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>RA,Scope:()=>SA,addBreadcrumb:()=>eF,addEventProcessor:()=>UN,addIntegration:()=>$N,bindScopeToEmitter:()=>mAe,breadcrumbsIntegration:()=>aV,browserApiErrorsIntegration:()=>oV,browserProfilingIntegration:()=>YWe,browserSessionIntegration:()=>cV,browserTracingIntegration:()=>hG,buildLaunchDarklyFlagUsedHandler:()=>nGe,captureConsoleIntegration:()=>Fje,captureEvent:()=>jN,captureException:()=>kN,captureFeedback:()=>VF,captureMessage:()=>AN,captureSession:()=>qN,chromeStackLineParser:()=>nV,consoleLoggingIntegration:()=>zMe,contextLinesIntegration:()=>zze,continueTrace:()=>tAe,createConsolaReporter:()=>HMe,createLangChainCallbackHandler:()=>hL,createTransport:()=>xP,createUserFeedbackEnvelope:()=>URe,dedupeIntegration:()=>bF,defaultRequestInstrumentationOptions:()=>aG,defaultStackParser:()=>qG,elementTimingIntegration:()=>iRe,endSession:()=>GN,eventFiltersIntegration:()=>rF,eventFromException:()=>wz,eventFromMessage:()=>Tz,eventLoopBlockIntegration:()=>_Ge,exceptionFromError:()=>yz,extraErrorDataIntegration:()=>Hje,featureFlagsIntegration:()=>EMe,feedbackAsyncIntegration:()=>HIe,feedbackIntegration:()=>vz,feedbackSyncIntegration:()=>vz,fetchStreamPerformanceIntegration:()=>uG,forceLoad:()=>xze,functionToStringIntegration:()=>nF,getAbsoluteUrl:()=>ORe,getActiveSpan:()=>Lj,getClient:()=>X,getCurrentScope:()=>NA,getDefaultIntegrations:()=>ZG,getFeedback:()=>YFe,getGlobalScope:()=>FA,getIsolationScope:()=>PA,getReplay:()=>FUe,getRootSpan:()=>Fj,getSpanDescendants:()=>Pj,getSpanStatusFromHttpCode:()=>JA,getTraceData:()=>$P,globalHandlersIntegration:()=>uV,graphqlClientIntegration:()=>qze,growthbookIntegration:()=>sGe,httpClientIntegration:()=>Dze,httpContextIntegration:()=>hV,inboundFiltersIntegration:()=>iF,init:()=>QG,instrumentAnthropicAiClient:()=>iPe,instrumentCreateReactAgent:()=>HPe,instrumentGoogleGenAIClient:()=>gPe,instrumentLangChainEmbeddings:()=>jPe,instrumentLangGraph:()=>UPe,instrumentOpenAiClient:()=>zNe,instrumentOutgoingRequests:()=>oG,instrumentSupabaseClient:()=>MF,isBotUserAgent:()=>mG,isEnabled:()=>HN,isInitialized:()=>gAe,lastEventId:()=>VN,launchDarklyIntegration:()=>tGe,linkedErrorsIntegration:()=>gV,logger:()=>dFe,makeRendererTransport:()=>XG,metrics:()=>vFe,moduleMetadataIntegration:()=>Mje,normalizeStringifyValue:()=>_V,onLoad:()=>Sze,openFeatureIntegration:()=>rGe,parameterize:()=>QP,registerSpanErrorInstrumentation:()=>Bj,registerWebWorker:()=>fGe,replayCanvasIntegration:()=>eWe,replayIntegration:()=>kW,reportPageLoaded:()=>SWe,reportingObserverIntegration:()=>Tze,rewriteFramesIntegration:()=>Xje,scopeToMainIntegration:()=>YG,sendFeedback:()=>YL,setActiveSpanInBrowser:()=>CWe,setAttribute:()=>RN,setAttributes:()=>LN,setContext:()=>MN,setConversationId:()=>BN,setCurrentClient:()=>BP,setExtra:()=>PN,setExtras:()=>NN,setHttpStatus:()=>YA,setMeasurement:()=>cM,setTag:()=>IN,setTags:()=>FN,setUser:()=>zN,showReportDialog:()=>yV,spanStreamingIntegration:()=>wWe,spanToBaggageHeader:()=>Lke,spanToJSON:()=>xj,spanToTraceHeader:()=>gj,spotlightBrowserIntegration:()=>eGe,startBrowserTracingNavigationSpan:()=>_G,startBrowserTracingPageLoadSpan:()=>gG,startInactiveSpan:()=>bM,startNewTrace:()=>CM,startSession:()=>WN,startSpan:()=>vM,startSpanManual:()=>yM,statsigIntegration:()=>cGe,supabaseIntegration:()=>uMe,suppressTracing:()=>nAe,thirdPartyErrorFilterIntegration:()=>yMe,uiProfiler:()=>NRe,unleashIntegration:()=>aGe,updateSpanName:()=>Mke,viewHierarchyIntegration:()=>Jze,webVitalsIntegration:()=>dG,webWorkerIntegration:()=>uGe,withActiveSpan:()=>xM,withIsolationScope:()=>tke,withScope:()=>IA,withStreamedSpan:()=>Rke,zodErrorsIntegration:()=>vMe}),yGe=100,bGe=5,xGe=[`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 eK(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function SGe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),eK(e.extra),eK(e.tags)}function CGe(e){let t=nK(e.version)??`0.0.0`,n=nK(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function tK(e,t){for(let n of t){let t=nK(e[n]);if(t)return t}}function wGe(e){return rK(e.enabled)??e.defaultEnabled??!1}function TGe(e){let t=nK(e.dsn);return!t||wGe(e)===!1?null:{dsn:t,environment:nK(e.environment)??nK(e.defaultEnvironment)??`production`,release:nK(e.release)??nK(e.defaultRelease)??void 0,debug:rK(e.debug)??e.defaultDebug??!1,tracesSampleRate:aK(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:iK(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:iK(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:iK(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:yGe,normalizeDepth:bGe,tags:EGe(e)}}function EGe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=nK(r);e&&(t[n]=e)}return t}function nK(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function rK(e){if(typeof e==`boolean`)return e;let t=nK(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function iK(e,t){if(t!==void 0||e!==void 0)return aK(e,t??0)}function aK(e,t){let n=DGe(e);return n===null||n<0||n>1?t:n}function DGe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=nK(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function OGe(e){let t=(0,Sl.c)(10),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Jt(Ol,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Nr.jsx)(Al,{}),t[1]=r):r=t[1];let i;t[2]===e.onGoToNewChat?i=t[3]:(i=(0,Nr.jsx)(`div`,{className:`no-drag-region flex min-w-0 items-center pl-1 md:pl-2.5`,children:(0,Nr.jsx)(`button`,{type:`button`,"aria-label":`Go to new chat`,onClick:e.onGoToNewChat,className:`${Dl} hover:bg-accent/70`,children:r})}),t[2]=e.onGoToNewChat,t[3]=i);let a;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Nr.jsx)(`div`,{}),t[4]=a):a=t[4];let o;t[5]===i?o=t[6]:(o=(0,Nr.jsxs)(`header`,{className:El,children:[i,a]}),t[5]=i,t[6]=o);let s;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(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:kGe,type:`button`,children:`Reload app`})]})}),t[7]=s):s=t[7];let c;return t[8]===o?c=t[9]:(c=(0,Nr.jsxs)(`div`,{className:n,children:[o,s]}),t[8]=o,t[9]=c),c}function kGe(){return window.location.reload()}var AGe=[/\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/,/https?:\/\/[^\s'"<>)]*\/api\/provider-egress\/[^\s'"<>)]*/i,/https?:\/\/[^\s'"<>)]*(?:apex|deepseek|moonshot|kimi)[^\s'"<>)]*/i],jGe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function oK(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 MGe(e){if(!e)return null;let t=e.toLowerCase();return/\bforge_runtime_stopped\b/.test(t)||/\bthis turn was interrupted because the environment was stopped\b/.test(t)?`This turn was interrupted because the environment was stopped. Start the environment and retry.`:/\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.`:oK(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}function NGe(e){return e?AGe.some(t=>t.test(e)):!1}function sK(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:NGe(n)?MGe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var PGe=[/\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 cK(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&PGe.some(e=>e.test(t))}function lK(e){return cK(e)?null:sK(e,{fallback:jGe})}var uK=`forge-web`,dK=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],fK=[`VITE_SENTRY_RELEASE`],FGe=[`VITE_SENTRY_DSN`],IGe=[`VITE_SENTRY_DEBUG`],LGe=[`VITE_SENTRY_ENABLED`],RGe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],zGe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],BGe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],VGe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],HGe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],pK=!1,mK={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 UGe(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 WGe(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 GGe(e){return UGe(e).some(cK)||WGe(e)}function KGe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function qGe(){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:`339f0da718657526651ad84cacb841446f1bb38b`,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+339f0da718657526651ad84cacb841446f1bb38b`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=tK(t,[...fK])??CGe({appName:uK,version:`0.13.4`,commitHash:tK(t,[...HGe])});return TGe({appName:uK,runtime:e,defaultEnvironment:tK(t,[...dK])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:tK(t,[...LGe]),dsn:tK(t,[...FGe]),environment:tK(t,[...dK]),release:tK(t,[...fK]),debug:tK(t,[...IGe]),tracesSampleRate:tK(t,[...RGe]),profilesSampleRate:tK(t,[...zGe]),replaysSessionSampleRate:tK(t,[...BGe]),replaysOnErrorSampleRate:tK(t,[...VGe]),tags:{platform:Pr?`desktop`:`web`}})}function hK(e){return SGe(e),GGe(e)?null:e}function JGe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function gK(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...xGe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...JGe(e)}}function YGe(e){let t=[];e.tracesSampleRate>0&&t.push(hG()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(kW());let n=vz(mK);t.push(n);try{QG({...gK(e),beforeSend:e=>hK(e),integrations:t})}catch{return null}return pK=!0,$G}function XGe(e){let t=[];e.tracesSampleRate>0&&t.push(FE()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(YT());let n=Nb(mK);t.push(n);try{hD({...gK(e),beforeSend:e=>hK(e),integrations:t})}catch{return null}return pK=!0,UO}function _K(){if(pK)return Pr?$G:UO;let e=qGe();return e?Pr?YGe(e):XGe(e):null}function vK(e){if(_K()){if(Pr){zN(e);return}Rm(e)}}function yK(e,t,n){if(!_K())return;let r=ZGe(e);if(Pr){IA(e=>{t&&e.setTags(t);let i=kN(r);n?.showReportDialog&&yV({eventId:i})});return}tf(e=>{t&&e.setTags(t);let i=Pm(r);n?.showReportDialog&&zS({eventId:i})})}function ZGe(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 QGe=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){yK(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(OGe,{onGoToNewChat:KGe}):this.props.children}},bK=!1,xK=!1,SK=null,CK=null,wK=null,TK=!1,EK=new Set;function $Ge(e){if(bK||xK)return;if(!e.publicKey||!e.host){xK=!0;return}if(SK)return;if(typeof window>`u`||typeof location>`u`){xK=!0;return}let t=e.publicKey,n=e.host;SK=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{CK=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{bK=!0,wK&&DK(wK),OK(),EK.forEach(e=>e())}})}).catch(()=>{xK=!0,CK=null})}function DK(e){if(wK=e,!bK||!CK)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),CK.identify(e.cmmdUserId,t)}function eKe(e){return!bK||!CK?!1:CK.isFeatureEnabled(e)===!0}function OK(){!CK||TK||(TK=!0,CK.onFeatureFlags(()=>{EK.forEach(e=>e())}))}function tKe(e){return EK.add(e),bK&&CK&&(OK(),e()),()=>{EK.delete(e)}}var kK=`/api/cmmd/auth-runtime`;function nKe(e){return P({method:`POST`,path:kK},e)}function rKe(e){return P({method:`GET`,path:kK},e)}function iKe(e){return P({method:`DELETE`,path:kK},e)}function aKe(e){return P({method:`POST`,path:`${kK}/connect`},e)}function oKe(e,t){return P({method:`GET`,path:`/api/cmmd/billing`,...t?.organizationId===void 0?{}:{query:{orgId:t.organizationId}}},e)}function sKe(e,t){return P({method:`GET`,path:`/api/cmmd/billing/series`,query:{timeZone:t.timeZone}},e)}var AK=`/api/cmmd/providers/codex/credential`,jK=`/api/cmmd/providers/claude/credential`;function cKe(e){return P({method:`GET`,path:AK},e)}function lKe(e){return P({method:`DELETE`,path:AK},e)}function uKe(e){return P({method:`GET`,path:jK},e)}function dKe(e){return P({method:`DELETE`,path:jK},e)}function fKe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function pKe(e,t,n,r,i){return P({method:`PUT`,path:fKe(t,n,r),body:i},e)}function mKe(e){return(t,n,r,i)=>pKe(e,t,n,r,i)}function hKe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function gKe(e,t,n,r,i){return P({method:`POST`,path:hKe(t,n,r),body:i},e)}function _Ke(e){return(t,n,r,i)=>gKe(e,t,n,r,i)}function vKe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function yKe(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(!vKe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function bKe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function xKe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function SKe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function MK(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var CKe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},wKe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},NK=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function PK(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 FK(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 IK(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 LK(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 TKe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function RK(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 zK(e){let t=`${LK(e,`firstName`)??``} ${LK(e,`lastName`)??``}`.trim()||LK(e,`username`)||LK(e,`email`)||`Unknown`;return{id:RK(e,`userId`)??RK(e,`id`)??t,name:t,email:LK(e,`email`),role:LK(e,`role`),avatarUrl:LK(e,`profileImage`)??LK(e,`avatar`)}}function EKe(e){let t=VK(e,`user`)??e;return zK({...typeof t==`object`&&t?t:{},userId:RK(e,`userId`)??RK(t,`id`),role:LK(e,`role`)})}function BK(e){let t=LK(e,`authorFirstName`)??``,n=LK(e,`authorLastName`)??``,r=LK(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:RK(e,`id`)??``,status:i,body:LK(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:LK(e,`authorProfileImage`)??null,createdAt:LK(e,`createdAt`)??``,updatedAt:LK(e,`updatedAt`)??LK(e,`createdAt`)??``,canEdit:TKe(e,`canEdit`)??!1}}function DKe(e,t,n){let r=Array.isArray(e.data)?e.data.map(BK):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function VK(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var OKe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function HK(e,t){let n=VK(e,t);if(!n)return null;for(let e of OKe){let t=LK(n,e);if(t)return t}return null}function UK(e,t){let n=VK(e,t);return n?RK(n,`id`):null}function WK(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function kKe(e){let t={...e,id:RK(e,`id`)??e.id,title:e.title??LK(e,`name`)??``},n=RK(e,`workspaceId`)??RK(e,`workspace_id`)??UK(e,`workspace`)??e.workspaceId??null;return n!==null||WK(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??LK(e,`start_date`)??null,endDate:e.endDate??LK(e,`end_date`)??null}:t}function GK(e){let t=e.ownerAvatarUrl??LK(e,`owner_avatar_url`)??LK(e,`ownerProfileImage`)??LK(e,`owner_profile_image`)??LK(e,`ownerImage`)??LK(e,`owner_image`)??LK(e,`ownerImageUrl`)??LK(e,`owner_image_url`)??LK(e,`createdByAvatarUrl`)??LK(e,`created_by_avatar_url`)??LK(e,`createdByProfileImage`)??LK(e,`created_by_profile_image`)??HK(e,`owner`)??HK(e,`createdBy`)??HK(e,`created_by`)??null,n={...e,id:RK(e,`id`)??e.id},r=RK(e,`campaignId`)??RK(e,`campaign_id`)??UK(e,`campaign`)??e.campaignId??null;(r!==null||WK(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??LK(e,`campaignTitle`)??LK(e,`campaign_title`)??LK(VK(e,`campaign`),`title`)??LK(VK(e,`campaign`),`name`)??null;(i!==null||WK(e,`campaignTitle`))&&(n.campaignTitle=i);let a=RK(e,`workspaceId`)??RK(e,`workspace_id`)??UK(e,`workspace`)??e.workspaceId??null;(a!==null||WK(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??LK(e,`workspace_name`)??LK(VK(e,`workspace`),`name`)??null;(o!==null||WK(e,`workspaceName`))&&(n.workspaceName=o);let s=LK(e,`workspaceIconUrl`)??LK(e,`workspace_icon_url`)??LK(VK(e,`workspace`),`iconUrl`)??null;(s!==null||WK(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=RK(e,`ownerId`)??RK(e,`owner_id`)??UK(e,`owner`)??e.ownerId??null;(c!==null||WK(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??LK(e,`owner_name`)??LK(VK(e,`owner`),`name`)??null;(l!==null||WK(e,`ownerName`))&&(n.ownerName=l),(t!==null||WK(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=RK(e,`teamId`)??RK(e,`team_id`)??UK(e,`team`)??e.teamId??null;(u!==null||WK(e,`teamId`))&&(n.teamId=u);let d=e.teamName??LK(e,`team_name`)??LK(VK(e,`team`),`name`)??null;(d!==null||WK(e,`teamName`))&&(n.teamName=d);let f=e.startDate??LK(e,`start_date`)??null;(f!==null||WK(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??LK(e,`target_end_date`)??null;return(p!==null||WK(e,`targetEndDate`))&&(n.targetEndDate=p),n}function KK(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 AKe(e){return KK(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 jKe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function qK(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function JK(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new CKe(e.message):new wKe(e.message,e.status??502):e}}var YK=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?pr:e=>`${n}${e}`,maxRetries:e.maxRetries??3,onAuthExpired:e.onAuthExpired??mr,...t?{resolveBearerToken:()=>ur()?.bearerToken??null}:{}},this.putThreadDisposition=mKe(this.cfg),this.postThreadArchive=_Ke(this.cfg)}async getTask(e){return JK(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 JK(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await JK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await JK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return JK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return JK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await JK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return JK(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 KK(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return AKe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return KK(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),JK(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return JK(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 JK(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 JK(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`?qK(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),JK(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 oKe(this.cfg,e)}getBillingSeries(e){return sKe(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 nKe(this.cfg)}getAuthRuntimeState(){return rKe(this.cfg)}destroyAuthRuntime(){return iKe(this.cfg)}connectAuthRuntime(){return aKe(this.cfg)}getUserCodexCredential(){return cKe(this.cfg)}disconnectUserCodexCredential(){return lKe(this.cfg)}getUserClaudeCredential(){return uKe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(t){return P({method:`DELETE`,path:`${e.PROVIDER_ACCOUNTS_PATH}/${t}`},this.cfg)}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 dKe(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 bKe(this.cfg,e,t)}renameDevice(e,t){return xKe(this.cfg,e,t)}revokeDevice(e){return SKe(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`),PK(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(kKe)}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`),PK(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(GK)}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 GK(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(zK):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(EKe):[]}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 DKe(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 BK(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return BK(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 FK(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return FK(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 FK(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=IK(t);return FK(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=IK(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=IK(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=IK(t,t?.taskId);return FK(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=IK(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=IK(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=IK(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=IK(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=IK(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=IK(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:MK(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:MK(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new NK(`createSubtask`)}async createBoardTask(e){throw new NK(`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=qK(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=qK(e.organizationId)),jKe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:qK(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=qK(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 NK(`uploadBrainDoc`)}};function XK(e){return new YK(e)}var ZK=new YK({onAuthExpired:mr}),QK=class extends $t(`BootstrapHttpError`){},$K=e=>nee(e,`BootstrapHttpError`);function eq(e){return typeof e!=`object`||!e?!1:!!($K(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function tq(e={resolveUrl:pr}){let t=ur()?.bearerToken;return t?{...e,bearerToken:t}:e}var nq=null,rq=null,iq=null,aq=new Set,oq=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function MKe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();vK({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),DK({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function sq(){if(typeof window>`u`||iq)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(iq=e(e=>{nq=null,rq=null,e.sessionLifecycle.status!==`ready`&&vK(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{yK(e,{route:`desktop-auth-session-expired`})})}))}function NKe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function cq(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new QK({message:`${t} returned a non-JSON response (${NKe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function PKe(){return ru(new URL(window.location.href))}function lq(){let e=new URL(window.location.href),t=Xce(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function FKe(){return vq(async()=>{let e=pr(`/api/auth/session`),t=await fetch(e,sr({credentials:`include`}));if(!t.ok)throw new QK({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return cq(t,e)})}async function IKe(e,t){return await e.text()||t}var uq=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function LKe(e){return vq(async()=>{let t={credential:e},n=pr(`/api/auth/bootstrap`),r=await fetch(n,sr({body:JSON.stringify(t),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new QK({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return cq(r,n)})}function dq(e){return new URL(e,window.location.origin).toString()}function fq(e){let t=(e?.primaryMode===`cloud`?null:e)?.bootstrapToken?.trim();return t&&t.length>0?t:null}function pq(){return typeof window>`u`?null:fq(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function RKe(){return typeof window>`u`?!1:Mne()===`session-expired`}function mq(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(oq),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function hq(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(oq);return}window.sessionStorage.setItem(oq,JSON.stringify([...e]))}catch{}}function zKe(){let e=pq();if(!e)return;let t=new Set(mq());t.add(e),hq(t)}function BKe(e){return mq().has(e)}function gq(){let e=pq();if(!e){hq(new Set);return}let t=new Set(mq());t.delete(e),hq(t)}async function _q(){let e=dq(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?cq(t,e):null}async function VKe(e){if(typeof window>`u`)return;let t=fq(e);if(!t||RKe()||aq.has(t)||BKe(t))return;if((await _q().catch(()=>null))?.authenticated){aq.add(t);return}let n=dq(`/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 QK({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await cq(r,n),aq.add(t)}async function HKe(){let e=await FKe();if(e.authenticated)return e;let t=ur();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await _q().catch(()=>null);return n?.authenticated?n:e}var UKe=new Set([404,502,503,504]),WKe=15e3,GKe=500;function KKe(e){ur()?.source===`paired-bearer`&&eq(e)&&hr(`http`)}async function vq(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(KKe(e),!JKe(e))throw e;if(Date.now()-t>=WKe)throw yK(e,{route:`bootstrap-retry-exhausted`}),e;await qKe(GKe)}}function qKe(e){return new Promise(t=>{setTimeout(t,e)})}function JKe(e){return $K(e)?UKe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function YKe(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 XKe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return YKe(await t(),e)}catch(e){return yK(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function ZKe(e,t){return vK(null),Nne(t),await cr().catch(e=>{yK(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:jne(t)??`Forge Desktop requires CMMD authentication.`}}async function QKe(){let e=await HKe();if(e.authenticated){if(e.cmmdIdentity){let t=await XKe(e.cmmdIdentity);return t?(dr(),ZKe(e,t)):(dr(),MKe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function $Ke(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);rq=null,gq(),await LKe(t),nq=null,lq()}function yq(){gq(),rq=null,nq=null}async function bq(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=pr(`/api/auth/bootstrap/command`),s=await fetch(o,sr({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 QK({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await cq(s,o),yq()}async function eqe(){let e=pr(`/api/auth/ws-token`),t=await fetch(e,sr({credentials:`include`,method:`POST`}));if(!t.ok)throw new QK({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return cq(t,e)}async function tqe(e){let t=await eqe(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function nqe(e,t){let n=e?.trim(),r={...n?{label:n}:{},...t?{role:t}:{}},i=pr(`/api/auth/pairing-token`),a=await fetch(i,sr({body:JSON.stringify(r),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!a.ok)throw Error(await IKe(a,`Failed to create pairing credential (${a.status}).`));return cq(a,i)}async function rqe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new QK({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return iqe(await cq(t,e))}function iqe(e){if(!e.authenticated||!e.role)throw Error(`Authenticated session is required.`);let t=aqe(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 aqe(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 oqe(e){let t=`/api/cmmd/work-intake`,n;try{n=await P({method:`GET`,path:t,allowRetry:!1,...e?{query:{fresh:1}}:{}},tq())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&uq.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 sqe(e={}){return oqe(e.forceFresh===!0)}async function xq(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},tq())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&uq.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function cqe(e){try{return await xq(`/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 xq(`/api/command/tasks/update`,e);throw t}}async function lqe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function uqe(){let e=await Promise.allSettled([cr(),lqe()]);vK(null),zKe(),nq=null,rq=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function dqe(){if(sq(),rq?.status===`authenticated`)return dr(),rq;if(nq)return nq;let e=Sq();return nq=e,e.then(e=>(e.status===`authenticated`&&(rq=e),e)).finally(()=>{nq===e&&(nq=null)})}async function Sq(){return fr().then(e=>VKe(e)).then(()=>QKe())}async function fqe(){sq(),nq=null,rq=null;let e=await Sq();return e.status===`authenticated`&&(rq=e,dr()),e}async function pqe(e){let t=e.email.trim();if(!t||!e.password)throw Error(`Enter your CMMD email and password.`);let n=pr(`/api/auth/cmmd-password/token`),r=await fetch(n,sr({body:JSON.stringify({email:t,password:e.password}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new QK({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await cq(r,n);if(i.authenticated===!0)return yq(),{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 bq(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 mqe=`/.well-known/forge/environment`,Cq=qt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),wq=null;function hqe(e){let t=Tq();return t?Jie(Lo({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function gqe(){return vq(async()=>{await fr();let e=ur()?.bearerToken,t=pr(mqe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new QK({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await cq(n,t);return Eq(r),r})}function Tq(){return Cq.getState().descriptor}function _qe(){return Cq(vqe)}function vqe(e){return e.descriptor?.environmentId??null}function yqe(){return Cq(bqe)}function bqe(e){return e.descriptor}function xqe(){return Cq(Sqe)}function Sqe(e){return e.descriptor?.deviceRuntimeId??null}function Cqe(){return Tq()?.deviceRuntimeId??null}function wqe(){return Cq(Tqe)}function Tqe(e){return eae(e.descriptor)}function Eqe(){return Cq(Dqe)}function Dqe(e){return tae(e.descriptor)}function Eq(e){Cq.getState().setDescriptor(e)}function Oqe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function Dq(){let e=ur();return e?hqe({source:e.source,target:e.target}):null}function kqe(){return Aqe()}async function Aqe(){let e=await fr(),t=Tq();if(t&&Oqe(t,e))return Promise.resolve(t);if(t&&Eq(null),wq)return wq;let n=gqe();return wq=n,n.finally(()=>{wq===n&&(wq=null)})}var Oq=`/api/attachments/upload/`;function jqe(e){if(!e.relativeUrl.startsWith(Oq))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}${Oq}`,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 kq=!1,Aq=null;function jq(e){return Object.values(e)}function Mq(e){return e.map(e=>wn(e))}function Nq(e){try{Zl(Mq(jq(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function Mqe(e){let t=Pq.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));Pq.setState({byId:{...n,...t}})}async function Nqe(){if(kq)return;if(Aq)return Aq;let e=(async()=>{try{Mqe(await Xl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{kq=!0,Pq.setState({hydrated:!0})}})().finally(()=>{Aq===e&&(Aq=null)});return Aq=e,Aq}var Pq=qt()(e=>({byId:{},hydrated:kq,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return Nq(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return Nq(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 Nq(i),{byId:i}}),reset:()=>{Nq({}),e({byId:{}})}}));function Fq(){return kq}function Iq(){return Fq()?Promise.resolve():Nqe()}function Lq(){return Object.values(Pq.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function Pqe(){return Lq().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function Rq(e){return Pq.getState().byId[e]??null}function zq(e){let t=Dq();return t?.environmentId===e?qie(t):Rq(e)?.httpBaseUrl??null}function Bq(e){let t=zq(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 Vq(e){if(!zq(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function Fqe(e){return Vq(e.environmentId),jqe({httpBaseUrl:zq(e.environmentId),relativeUrl:e.relativeUrl})}async function Hq(e){await Zl(Mq(jq({...Pq.getState().byId,[e.environmentId]:e})))}async function Iqe(e,t){let{[e]:n,...r}=Pq.getState().byId,i={...r,[t.environmentId]:t};await Zl(Mq(jq(i))),Pq.setState({byId:i})}async function Uq(e){return Ql(e)}async function Lqe(e,t){return $l(e,t)}async function Wq(e){await eu(e)}var Rqe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function Gq(e){let t=e?.trim();return t&&t.length>0?t:null}function zqe(e){return Gq(e)??`Project`}function Bqe(e,t=`safe`){let n=Gq(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function Kq(e,t=`Something went wrong. Try again.`){let n=sK(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||Rqe.some(e=>e.test(n))?t:n}function Vqe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function qq(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function Jq(e,t){let n=qq(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&Vqe(e,r)?r:n??void 0}function Yq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function Xq(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function Hqe(e,t){let n=Xq(e);return t&&Yq(e,t)?t:n??void 0}function Uqe(e,t){let n=Jq(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 Wqe(e,t){let n=Jq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Hqe(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 Zq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function Qq(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 $q(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=Qq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var Gqe=[`codex`,`claudeAgent`];function eJ(e,t){return Gqe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function Kqe(e,t){let n=Qq(e,t);return!n||eJ(n,t)?On[t]:n}function tJ(e,t){return Kqe(t,e)}function qqe(e){return typeof e==`string`&&e.trim()||null}function Jqe(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}function nJ(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?rJ(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:iJ(e.scripts)}}function rJ(e){return{...e,model:tJ(e.provider,e.model)}}function iJ(e){return e.map(e=>({...e}))}function Yqe(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?rJ(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:iJ(t.scripts)},updatedAt:t.updatedAt}}function aJ(e){let t=lK(e.lastError);return{provider:Zqe(e.providerName),status:Xqe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function oJ(e,t){let n=t.attachments?.map(t=>{let n=Bq({environmentId:e,pathname:Qqe(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 sJ(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function cJ(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 Xqe(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 Zqe(e){return e===`codex`||e===`claudeAgent`||e===`ollama`||e===`cmmd`||e===`apex`?e:`codex`}function Qqe(e){return`/attachments/${encodeURIComponent(e)}`}var $qe=[],eJe=[],tJe=[],nJe=[],rJe={},iJe={},aJe={},oJe={},sJe=[],lJ=new WeakMap,uJ=new WeakMap;function dJ(e,t,n){if(!e||e.length===0||!t)return n;let r=lJ.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||lJ.set(e,o),a}function cJe(e,t){return dJ(e.messageIdsByThreadId[t],e.messageByThreadId[t]??rJe,$qe)}function lJe(e,t){return dJ(e.activityIdsByThreadId[t],e.activityByThreadId[t]??iJe,eJe)}function uJe(e,t){return dJ(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??aJe,tJe)}function dJe(e,t){return dJ(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??oJe,nJe)}function fJ(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??sJe,o=cJe(e,t),s=lJe(e,t),c=uJe(e,t),l=dJe(e,t),u=uJ.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 uJ.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function fJe(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 pJ(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var mJ={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},pJe={activeEnvironmentId:null,environmentStateById:{}},hJ=[],gJ=[];function _J(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function vJ(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:rJ(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?aJ(e.session):null,messages:e.messages.map(e=>oJ(t,e)),proposedPlans:e.proposedPlans.map(sJ),error:lK(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...pJ(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(cJ),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 yJ(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:rJ(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:lK(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...pJ(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?aJ(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,...pJ(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 mJe(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 hJe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function bJ(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function xJ(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&&bJ(e.sourceProposedPlan,t.sourceProposedPlan)}function SJ(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 CJ(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 wJ(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&TJ(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&SJ(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&xJ(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&&CJ(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function TJ(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function EJ(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&&CJ(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&TJ(e.titleRegeneration,t.titleRegeneration)}function DJ(e,t){return e!==void 0&&xJ(e.latestTurn,t.latestTurn)&&bJ(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function gJe(e,t){return e.includes(t)?[...e]:[...e,t]}function OJ(e,t){return e.filter(e=>e!==t)}function _Je(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function vJe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function yJe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function bJe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function xJe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function kJ(e){return e.threadIds.flatMap(t=>{let n=fJ(e,t);return n?[n]:[]})}function AJ(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]??hJ,i=OJ(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else _J(n,i)||(e={...e,[r]:i})}let a=e[n]??hJ,o=gJe(a,t);_J(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function jJ(e,t,n){let r=mJe(t),i=hJe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=AJ(e,t.id,t.projectId,n?.projectId);EJ(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};wJ(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(SJ(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??gJ)!==(t.rateLimitStatus??gJ)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??gJ}}),DJ(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=_Je(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=vJe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=yJe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=bJe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function MJ(e,t){let n=e.threadShellById[t.shell.id],r=AJ(e,t.shell.id,t.shell.projectId,n?.projectId);return EJ(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),SJ(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),DJ(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),wJ(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function NJ(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function PJ(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=OJ(e.threadIds,t),o=OJ(e.threadIdsByProjectId[i]??hJ,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 SJe(e,t){let n=new Set(e.threadIdsByProjectId[t]??hJ);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 FJ(e,t){let n=SJe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=PJ(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:OJ(r.projectIds,t)}}function IJ(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function CJe(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 LJ(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 wJe(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 TJe(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 EJe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function DJe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function RJ(e,t,n){let r=fJ(e,t);if(!r)return e;let i=n(r);return i===r?e:jJ(e,i,r)}function zJ(e,t,n,r){let i=RJ(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 OJe(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function BJ(e,t){return e.environmentStateById[t]??mJ}function VJ(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function kJe(e,t,n){let r=t.projects.map(e=>nJ(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...OJe(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:NJ(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:NJ(e.messageIdsByThreadId,i),messageByThreadId:NJ(e.messageByThreadId,i),activityIdsByThreadId:NJ(e.activityIdsByThreadId,i),activityByThreadId:NJ(e.activityByThreadId,i),proposedPlanIdsByThreadId:NJ(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:NJ(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:NJ(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:NJ(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=MJ(a,yJ(e,n));return a}function AJe(e,t,n){return VJ(e,n,kJe(BJ(e,n),t,n))}function jJe(e,t,n){let r=BJ(e,n),i=fJ(r,t.id);return VJ(e,n,jJ(r,vJ(t,n),i))}function MJe(e,t,n,r){let i=BJ(e,t);return VJ(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function NJe(e,t,n){let r=BJ(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return VJ(e,t,{...r,threadSubscriptionErrorById:a})}function HJ(e,t,n){switch(t.type){case`project.created`:{let r=nJ({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=Yqe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return FJ(e,t.payload.projectId);case`thread.created`:{let r=fJ(e,t.payload.threadId);return jJ(e,vJ({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 PJ(e,t.payload.threadId);case`thread.archived`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return RJ(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:rJ(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 RJ(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return RJ(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return RJ(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:rJ(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:LJ({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:RJ(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:LJ({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 RJ(e,t.payload.threadId,e=>{let n=oJ(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?wJe(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)?LJ({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 RJ(e,t.payload.threadId,e=>({...e,session:aJ(t.payload.session),error:lK(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?LJ({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 RJ(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 RJ(e,t.payload.threadId,e=>{let n=sJ(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 RJ(e,t.payload.threadId,e=>{let n=cJ({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?LJ({previous:e.latestTurn,turnId:t.payload.turnId,state:IJ(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 RJ(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=TJe(e.messages,r,t.payload.turnCount).slice(-2e3),a=DJe(e.proposedPlans,r).slice(-200),o=EJe(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:IJ(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return RJ(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(CJe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return RJ(e,t.payload.threadId,e=>({...e,rateLimitStatus:fJe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return RJ(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 PJe(e,t,n){switch(t.kind){case`project-upserted`:{let r=nJ(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 FJ(e,t.projectId);case`thread-upserted`:return MJ(e,yJ(t.thread,n));case`thread-removed`:return PJ(e,t.threadId)}}function FJe(e,t,n){if(t.length===0)return e;let r=BJ(e,n);return VJ(e,n,t.reduce((e,t)=>HJ(e,t,n),r))}function UJ(e){return Object.entries(e.environmentStateById)}function WJ(e,t){return t?BJ(e,t):mJ}function IJe(e,t){return kJ(WJ(e,t))}function GJ(e){return UJ(e).flatMap(([,e])=>xJe(e))}function KJ(e){return UJ(e).flatMap(([,e])=>kJ(e))}function LJe(e){return UJ(e).flatMap(([,e])=>qJ(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function qJ(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 JJ(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 RJe(e){return UJ(e).flatMap(([e,t])=>qJ(t).flatMap(n=>{let r=JJ(e,t,n);return r?[r]:[]}))}function YJ(e,t){if(!t)return[];let n=WJ(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??hJ;return(r.length>0?r:qJ(n)).flatMap(e=>{let r=JJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function zJe(e,t){return t.length===0?[]:t.length===1?YJ(e,t[0]):t.flatMap(t=>YJ(e,t))}function BJe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):WJ(e,e.activeEnvironmentId).bootstrapComplete}function VJe(e,t){return t?WJ(e,t.environmentId).projectById[t.projectId]:void 0}function XJ(e,t){return t?fJ(WJ(e,t.environmentId),t.threadId):void 0}function HJe(e,t){return t?WJ(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function ZJ(e,t){return t?JJ(t.environmentId,WJ(e,t.environmentId),t.threadId)??void 0:void 0}function UJe(e,t,n){if(e.activeEnvironmentId===null)return e;let r=RJ(BJ(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return VJ(e,e.activeEnvironmentId,r)}function WJe(e,t,n){return VJ(e,n,HJ(BJ(e,n),t,n))}function GJe(e,t,n){return VJ(e,n,PJe(BJ(e,n),t,n))}function KJe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function qJe(e,t,n,r){let i=RJ(BJ(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 VJ(e,t.environmentId,i)}var QJ=qt(e=>({...pJe,setActiveEnvironmentId:t=>e(e=>KJe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>AJe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>jJe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>MJe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>NJe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>WJe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>FJe(e,t,n)),applyShellEvent:(t,n)=>e(e=>GJe(e,t,n)),setError:(t,n)=>e(e=>UJe(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>qJe(e,t,n,r))})),$J=`Thread not found or you no longer have access.`;function JJe(e){if(e==null)return $J;let t=Kq(ote(e)?Ie(e):e,$J);return/\bnot found\b/i.test(t)?$J:t}function YJe(e,t,n){QJ.getState().setThreadSubscriptionError(e,t,JJe(n))}function eY(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var XJe={enabled:!0,leading:!0,trailing:!0,wait:0},ZJe=class{#e;constructor(e,t){this.fn=e,this.store=new bte(eY()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),Cte(`Throttler`,this)},this.#n=()=>!!Qt(this.options.enabled,this),this.#r=()=>Qt(this.options.wait,this),this.maybeExecute=(...e)=>{this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),n=t-this.store.state.lastExecutionTime,r=this.#r();if(this.options.leading&&n>=r)this.#i(...e);else if(this.#t({lastArgs:e}),!this.#e&&this.options.trailing){let e=r-(this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0);this.#t({isPending:!0}),this.#e=setTimeout(()=>{let{lastArgs:e}=this.store.state;e!==void 0&&this.#i(...e)},e)}},this.#i=(...e)=>{if(!this.#n())return;this.fn(...e);let t=Date.now(),n=t+this.#r();this.#a(),this.#t({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:n,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#t({nextExecutionTime:void 0})},this.#r())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(eY())},this.key=t.key,this.options={...XJe,...t},this.#t(this.options.initialState??{}),this.key&&Tte.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a};function QJe(e){return!!(e.prompt.trim()||e.images.length||e.terminalContexts.length||e.persistedAttachments.length||e.stagedSubmission)}function $Je(e,t,n){let r=Wo(t),i=Wo(n);if(r===i)return e;let a=e[r];if(!a)return e;let o=e[i];if(o&&QJe(o)&&!eYe(a,o))return null;let s={...e,[i]:{...a,...cYe(a,o)}};return delete s[r],s}function eYe(e,t){let n=e.stagedSubmission;return!n||!tYe(n)||!nYe(e,n)||!rYe(n,t.stagedSubmission)?!1:iYe(e,t)}function tYe(e){return!!e.commandId&&!!e.messageId}function nYe(e,t){return[e.prompt===t.prompt,nY(e.persistedAttachments,t.attachments),nY(e.terminalContexts,t.terminalContexts)].every(Boolean)}function rYe(e,t){return!t||aYe(e,t)}function iYe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,iY(e.images,t.images),rY(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,iY(e.persistedAttachments,t.persistedAttachments),iY(e.terminalContexts,t.terminalContexts),sYe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function aYe(e,t){return[e.commandId===t.commandId&&e.messageId===t.messageId,e.prompt===t.prompt,nY(e.attachments,t.attachments),nY(e.terminalContexts,t.terminalContexts),tY(e.modelSelection,t.modelSelection),tY(e.runtimeMode,t.runtimeMode),tY(e.interactionMode,t.interactionMode),oYe(e.executionIntent,t.executionIntent)].every(Boolean)}function tY(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function oYe(e,t){return!e||!t||e.runtimeId===t.runtimeId}function nY(e,t){return e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id)}function rY(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function iY(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function sYe(e,t){let n=Object.keys(e).toSorted();return rY(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function cYe(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 aY=`full-access`,oY=`default`,sY=`default`,lYe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,uYe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function cY(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=ZG(e)),e.stackParser===void 0&&(e.stackParser=qG),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=XG),delete e.initialScope,t(e)}var $G=e({BrowserClient:()=>Oz,MULTIPLEXED_TRANSPORT_EXTRA_KEY:()=>oje,OpenFeatureIntegrationHook:()=>iGe,SEMANTIC_ATTRIBUTE_SENTRY_OP:()=>BA,SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN:()=>VA,SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE:()=>zA,SEMANTIC_ATTRIBUTE_SENTRY_SOURCE:()=>RA,Scope:()=>SA,addBreadcrumb:()=>eF,addEventProcessor:()=>UN,addIntegration:()=>$N,bindScopeToEmitter:()=>mAe,breadcrumbsIntegration:()=>aV,browserApiErrorsIntegration:()=>oV,browserProfilingIntegration:()=>YWe,browserSessionIntegration:()=>cV,browserTracingIntegration:()=>hG,buildLaunchDarklyFlagUsedHandler:()=>nGe,captureConsoleIntegration:()=>Fje,captureEvent:()=>jN,captureException:()=>kN,captureFeedback:()=>VF,captureMessage:()=>AN,captureSession:()=>qN,chromeStackLineParser:()=>nV,consoleLoggingIntegration:()=>zMe,contextLinesIntegration:()=>zze,continueTrace:()=>tAe,createConsolaReporter:()=>HMe,createLangChainCallbackHandler:()=>hL,createTransport:()=>xP,createUserFeedbackEnvelope:()=>URe,dedupeIntegration:()=>bF,defaultRequestInstrumentationOptions:()=>aG,defaultStackParser:()=>qG,elementTimingIntegration:()=>iRe,endSession:()=>GN,eventFiltersIntegration:()=>rF,eventFromException:()=>wz,eventFromMessage:()=>Tz,eventLoopBlockIntegration:()=>_Ge,exceptionFromError:()=>yz,extraErrorDataIntegration:()=>Hje,featureFlagsIntegration:()=>EMe,feedbackAsyncIntegration:()=>HIe,feedbackIntegration:()=>vz,feedbackSyncIntegration:()=>vz,fetchStreamPerformanceIntegration:()=>uG,forceLoad:()=>xze,functionToStringIntegration:()=>nF,getAbsoluteUrl:()=>ORe,getActiveSpan:()=>Lj,getClient:()=>X,getCurrentScope:()=>NA,getDefaultIntegrations:()=>ZG,getFeedback:()=>YFe,getGlobalScope:()=>FA,getIsolationScope:()=>PA,getReplay:()=>FUe,getRootSpan:()=>Fj,getSpanDescendants:()=>Pj,getSpanStatusFromHttpCode:()=>JA,getTraceData:()=>$P,globalHandlersIntegration:()=>uV,graphqlClientIntegration:()=>qze,growthbookIntegration:()=>sGe,httpClientIntegration:()=>Dze,httpContextIntegration:()=>hV,inboundFiltersIntegration:()=>iF,init:()=>QG,instrumentAnthropicAiClient:()=>iPe,instrumentCreateReactAgent:()=>HPe,instrumentGoogleGenAIClient:()=>gPe,instrumentLangChainEmbeddings:()=>jPe,instrumentLangGraph:()=>UPe,instrumentOpenAiClient:()=>zNe,instrumentOutgoingRequests:()=>oG,instrumentSupabaseClient:()=>MF,isBotUserAgent:()=>mG,isEnabled:()=>HN,isInitialized:()=>gAe,lastEventId:()=>VN,launchDarklyIntegration:()=>tGe,linkedErrorsIntegration:()=>gV,logger:()=>dFe,makeRendererTransport:()=>XG,metrics:()=>vFe,moduleMetadataIntegration:()=>Mje,normalizeStringifyValue:()=>_V,onLoad:()=>Sze,openFeatureIntegration:()=>rGe,parameterize:()=>QP,registerSpanErrorInstrumentation:()=>Bj,registerWebWorker:()=>fGe,replayCanvasIntegration:()=>eWe,replayIntegration:()=>kW,reportPageLoaded:()=>SWe,reportingObserverIntegration:()=>Tze,rewriteFramesIntegration:()=>Xje,scopeToMainIntegration:()=>YG,sendFeedback:()=>YL,setActiveSpanInBrowser:()=>CWe,setAttribute:()=>RN,setAttributes:()=>LN,setContext:()=>MN,setConversationId:()=>BN,setCurrentClient:()=>BP,setExtra:()=>PN,setExtras:()=>NN,setHttpStatus:()=>YA,setMeasurement:()=>cM,setTag:()=>IN,setTags:()=>FN,setUser:()=>zN,showReportDialog:()=>yV,spanStreamingIntegration:()=>wWe,spanToBaggageHeader:()=>Lke,spanToJSON:()=>xj,spanToTraceHeader:()=>gj,spotlightBrowserIntegration:()=>eGe,startBrowserTracingNavigationSpan:()=>_G,startBrowserTracingPageLoadSpan:()=>gG,startInactiveSpan:()=>bM,startNewTrace:()=>CM,startSession:()=>WN,startSpan:()=>vM,startSpanManual:()=>yM,statsigIntegration:()=>cGe,supabaseIntegration:()=>uMe,suppressTracing:()=>nAe,thirdPartyErrorFilterIntegration:()=>yMe,uiProfiler:()=>NRe,unleashIntegration:()=>aGe,updateSpanName:()=>Mke,viewHierarchyIntegration:()=>Jze,webVitalsIntegration:()=>dG,webWorkerIntegration:()=>uGe,withActiveSpan:()=>xM,withIsolationScope:()=>tke,withScope:()=>IA,withStreamedSpan:()=>Rke,zodErrorsIntegration:()=>vMe}),yGe=100,bGe=5,xGe=[`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 eK(e){if(e)for(let t of Object.keys(e))/token|secret|password|api[_-]?key/i.test(t)&&(e[t]=`[redacted]`)}function SGe(e){e.request?.url&&(e.request.url=e.request.url.replace(/([?&](?:code|token|access_token|state)=)[^&]+/gi,`$1[redacted]`)),eK(e.extra),eK(e.tags)}function CGe(e){let t=nK(e.version)??`0.0.0`,n=nK(e.commitHash);return n?`${e.appName}@${t}+${n}`:`${e.appName}@${t}`}function tK(e,t){for(let n of t){let t=nK(e[n]);if(t)return t}}function wGe(e){return rK(e.enabled)??e.defaultEnabled??!1}function TGe(e){let t=nK(e.dsn);return!t||wGe(e)===!1?null:{dsn:t,environment:nK(e.environment)??nK(e.defaultEnvironment)??`production`,release:nK(e.release)??nK(e.defaultRelease)??void 0,debug:rK(e.debug)??e.defaultDebug??!1,tracesSampleRate:aK(e.tracesSampleRate,e.defaultTracesSampleRate??.1),profilesSampleRate:iK(e.profilesSampleRate,e.defaultProfilesSampleRate),replaysSessionSampleRate:iK(e.replaysSessionSampleRate,e.defaultReplaysSessionSampleRate),replaysOnErrorSampleRate:iK(e.replaysOnErrorSampleRate,e.defaultReplaysOnErrorSampleRate),attachStacktrace:!0,maxBreadcrumbs:yGe,normalizeDepth:bGe,tags:EGe(e)}}function EGe(e){let t={app:e.appName,runtime:e.runtime};for(let[n,r]of Object.entries(e.tags??{})){let e=nK(r);e&&(t[n]=e)}return t}function nK(e){if(e==null)return null;let t=e.trim();return t.length>0?t:null}function rK(e){if(typeof e==`boolean`)return e;let t=nK(e);if(t){if(t===`1`||t.toLowerCase()===`true`)return!0;if(t===`0`||t.toLowerCase()===`false`)return!1}}function iK(e,t){if(t!==void 0||e!==void 0)return aK(e,t??0)}function aK(e,t){let n=DGe(e);return n===null||n<0||n>1?t:n}function DGe(e){if(typeof e==`number`)return Number.isFinite(e)?e:null;let t=nK(e);if(!t)return null;let n=Number.parseFloat(t);return Number.isFinite(n)?n:null}function OGe(e){let t=(0,xl.c)(11),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Jt(Ol,`bg-background text-foreground`),t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=Jt(El,`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)(Al,{}),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:`${Dl} 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:Tl,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:kGe,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 kGe(){return window.location.reload()}var AGe=[/\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/,/https?:\/\/[^\s'"<>)]*\/api\/provider-egress\/[^\s'"<>)]*/i,/https?:\/\/[^\s'"<>)]*(?:apex|deepseek|moonshot|kimi)[^\s'"<>)]*/i],jGe=`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`;function oK(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 MGe(e){if(!e)return null;let t=e.toLowerCase();return/\bforge_runtime_stopped\b/.test(t)||/\bthis turn was interrupted because the environment was stopped\b/.test(t)?`This turn was interrupted because the environment was stopped. Start the environment and retry.`:/\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.`:oK(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}function NGe(e){return e?AGe.some(t=>t.test(e)):!1}function sK(e,t={}){if(e==null)return null;let n=e.trim();return n.length===0?null:NGe(n)?MGe(n)??t.fallback??`CMMD is temporarily unavailable. Check the workspace AI connection and retry.`:n}var PGe=[/\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 cK(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&PGe.some(e=>e.test(t))}function lK(e){return cK(e)?null:sK(e,{fallback:jGe})}var uK=`forge-web`,dK=[`VITE_SENTRY_ENVIRONMENT`,`MODE`],fK=[`VITE_SENTRY_RELEASE`],FGe=[`VITE_SENTRY_DSN`],IGe=[`VITE_SENTRY_DEBUG`],LGe=[`VITE_SENTRY_ENABLED`],RGe=[`VITE_SENTRY_TRACES_SAMPLE_RATE`],zGe=[`VITE_SENTRY_PROFILES_SAMPLE_RATE`],BGe=[`VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE`],VGe=[`VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE`],HGe=[`VITE_SENTRY_COMMIT_SHA`,`VITE_COMMIT_SHA`],pK=!1,mK={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 UGe(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 WGe(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 GGe(e){return UGe(e).some(cK)||WGe(e)}function KGe(){let e=new URL(window.location.href);Pr?e.hash=`/new`:(e.pathname=`/new`,e.search=``,e.hash=``),window.location.assign(e.toString())}function qGe(){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:`05d8568497fdceb5b5d827b142ea4c681bef25ce`,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+05d8568497fdceb5b5d827b142ea4c681bef25ce`,VITE_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE:``,VITE_SENTRY_REPLAYS_SESSION_SAMPLE_RATE:``,VITE_SENTRY_TRACES_SAMPLE_RATE:``,VITE_WS_URL:``},n=tK(t,[...fK])??CGe({appName:uK,version:`0.13.4`,commitHash:tK(t,[...HGe])});return TGe({appName:uK,runtime:e,defaultEnvironment:tK(t,[...dK])??`development`,defaultRelease:n,defaultEnabled:!0,defaultTracesSampleRate:0,defaultReplaysSessionSampleRate:0,defaultReplaysOnErrorSampleRate:0,enabled:tK(t,[...LGe]),dsn:tK(t,[...FGe]),environment:tK(t,[...dK]),release:tK(t,[...fK]),debug:tK(t,[...IGe]),tracesSampleRate:tK(t,[...RGe]),profilesSampleRate:tK(t,[...zGe]),replaysSessionSampleRate:tK(t,[...BGe]),replaysOnErrorSampleRate:tK(t,[...VGe]),tags:{platform:Pr?`desktop`:`web`}})}function hK(e){return SGe(e),GGe(e)?null:e}function JGe(e){return{...e.replaysOnErrorSampleRate===void 0?{}:{replaysOnErrorSampleRate:e.replaysOnErrorSampleRate},...e.replaysSessionSampleRate===void 0?{}:{replaysSessionSampleRate:e.replaysSessionSampleRate}}}function gK(e){return{attachStacktrace:e.attachStacktrace,debug:e.debug,dsn:e.dsn,environment:e.environment,ignoreErrors:[...xGe],initialScope:{tags:e.tags},maxBreadcrumbs:e.maxBreadcrumbs,normalizeDepth:e.normalizeDepth,sendDefaultPii:!1,tracesSampleRate:e.tracesSampleRate,...e.release===void 0?{}:{release:e.release},...JGe(e)}}function YGe(e){let t=[];e.tracesSampleRate>0&&t.push(hG()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(kW());let n=vz(mK);t.push(n);try{QG({...gK(e),beforeSend:e=>hK(e),integrations:t})}catch{return null}return pK=!0,$G}function XGe(e){let t=[];e.tracesSampleRate>0&&t.push(FE()),((e.replaysSessionSampleRate??0)>0||(e.replaysOnErrorSampleRate??0)>0)&&t.push(YT());let n=Nb(mK);t.push(n);try{hD({...gK(e),beforeSend:e=>hK(e),integrations:t})}catch{return null}return pK=!0,UO}function _K(){if(pK)return Pr?$G:UO;let e=qGe();return e?Pr?YGe(e):XGe(e):null}function vK(e){if(_K()){if(Pr){zN(e);return}Rm(e)}}function yK(e,t,n){if(!_K())return;let r=ZGe(e);if(Pr){IA(e=>{t&&e.setTags(t);let i=kN(r);n?.showReportDialog&&yV({eventId:i})});return}tf(e=>{t&&e.setTags(t);let i=Pm(r);n?.showReportDialog&&zS({eventId:i})})}function ZGe(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 QGe=class extends F.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){yK(e,{origin:`react-boundary`},{showReportDialog:!0})}render(){return this.state.hasError?(0,Nr.jsx)(OGe,{onGoToNewChat:KGe}):this.props.children}},bK=!1,xK=!1,SK=null,CK=null,wK=null,TK=!1,EK=new Set;function $Ge(e){if(bK||xK)return;if(!e.publicKey||!e.host){xK=!0;return}if(SK)return;if(typeof window>`u`||typeof location>`u`){xK=!0;return}let t=e.publicKey,n=e.host;SK=N(async()=>{let{default:e}=await import(`./module-CPO4cjSm.js`);return{default:e}},[]).then(({default:e})=>{CK=e,e.init(t,{api_host:n,person_profiles:`identified_only`,capture_pageview:!1,capture_pageleave:!1,autocapture:!1,disable_session_recording:!0,loaded:()=>{bK=!0,wK&&DK(wK),OK(),EK.forEach(e=>e())}})}).catch(()=>{xK=!0,CK=null})}function DK(e){if(wK=e,!bK||!CK)return;let t={};e.email!==void 0&&(t.email=e.email),e.displayName!==void 0&&(t.name=e.displayName),CK.identify(e.cmmdUserId,t)}function eKe(e){return!bK||!CK?!1:CK.isFeatureEnabled(e)===!0}function OK(){!CK||TK||(TK=!0,CK.onFeatureFlags(()=>{EK.forEach(e=>e())}))}function tKe(e){return EK.add(e),bK&&CK&&(OK(),e()),()=>{EK.delete(e)}}var kK=`/api/cmmd/auth-runtime`;function nKe(e){return P({method:`POST`,path:kK},e)}function rKe(e){return P({method:`GET`,path:kK},e)}function iKe(e){return P({method:`DELETE`,path:kK},e)}function aKe(e){return P({method:`POST`,path:`${kK}/connect`},e)}function oKe(e,t){return P({method:`GET`,path:`/api/cmmd/billing`,...t?.organizationId===void 0?{}:{query:{orgId:t.organizationId}}},e)}function sKe(e,t){return P({method:`GET`,path:`/api/cmmd/billing/series`,query:{timeZone:t.timeZone}},e)}var AK=`/api/cmmd/providers/codex/credential`,jK=`/api/cmmd/providers/claude/credential`;function cKe(e){return P({method:`GET`,path:AK},e)}function lKe(e){return P({method:`DELETE`,path:AK},e)}function uKe(e){return P({method:`GET`,path:jK},e)}function dKe(e){return P({method:`DELETE`,path:jK},e)}function fKe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/disposition`}function pKe(e,t,n,r,i){return P({method:`PUT`,path:fKe(t,n,r),body:i},e)}function mKe(e){return(t,n,r,i)=>pKe(e,t,n,r,i)}function hKe(e,t,n){return`/api/cmmd/threads/${encodeURIComponent(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}/archive`}function gKe(e,t,n,r,i){return P({method:`POST`,path:hKe(t,n,r),body:i},e)}function _Ke(e){return(t,n,r,i)=>gKe(e,t,n,r,i)}function vKe(e){return typeof e==`object`&&!!e&&`status`in e&&e.status===409}async function yKe(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(!vKe(n))throw n;let r=await e.refresh();return e.submit({...t,expectedRevision:r.revision})}}function bKe(e,t,n){return P({method:`POST`,path:`/api/cmmd/forge-runtimes/${encodeURIComponent(t)}/rename`,body:{displayName:n}},e)}function xKe(e,t,n){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/rename`,body:{displayName:n}},e)}function SKe(e,t){return P({method:`POST`,path:`/api/cmmd/devices/${encodeURIComponent(String(t))}/revoke`},e)}function MK(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor?{cursor:e.cursor}:{}}}var CKe=class extends Error{constructor(e){super(e),this.name=`CmmdApiAuthError`}},wKe=class extends Error{status;constructor(e,t){super(e),this.name=`CmmdApiServerError`,this.status=t}},NK=class extends Error{constructor(e){super(`CmmdApiClient.${e} is not implemented yet`),this.name=`CmmdApiNotImplementedError`}};function PK(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 FK(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 IK(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 LK(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 TKe(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return typeof n==`boolean`?n:null}function RK(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 zK(e){let t=`${LK(e,`firstName`)??``} ${LK(e,`lastName`)??``}`.trim()||LK(e,`username`)||LK(e,`email`)||`Unknown`;return{id:RK(e,`userId`)??RK(e,`id`)??t,name:t,email:LK(e,`email`),role:LK(e,`role`),avatarUrl:LK(e,`profileImage`)??LK(e,`avatar`)}}function EKe(e){let t=VK(e,`user`)??e;return zK({...typeof t==`object`&&t?t:{},userId:RK(e,`userId`)??RK(t,`id`),role:LK(e,`role`)})}function BK(e){let t=LK(e,`authorFirstName`)??``,n=LK(e,`authorLastName`)??``,r=LK(e,`status`),i=r===`at_risk`||r===`off_track`||r===`complete`?r:`on_track`;return{id:RK(e,`id`)??``,status:i,body:LK(e,`body`)??``,authorName:`${t} ${n}`.trim()||null,authorAvatarUrl:LK(e,`authorProfileImage`)??null,createdAt:LK(e,`createdAt`)??``,updatedAt:LK(e,`updatedAt`)??LK(e,`createdAt`)??``,canEdit:TKe(e,`canEdit`)??!1}}function DKe(e,t,n){let r=Array.isArray(e.data)?e.data.map(BK):[];return{updates:r,pagination:e.pagination??{page:t,limit:n,total:r.length,hasMore:!1}}}function VK(e,t){if(!e||typeof e!=`object`)return null;let n=e[t];return n&&typeof n==`object`?n:null}var OKe=[`avatarUrl`,`avatar_url`,`profileImage`,`profile_image`,`profileImageUrl`,`profile_image_url`,`image`,`imageUrl`,`image_url`,`picture`];function HK(e,t){let n=VK(e,t);if(!n)return null;for(let e of OKe){let t=LK(n,e);if(t)return t}return null}function UK(e,t){let n=VK(e,t);return n?RK(n,`id`):null}function WK(e,t){return!!(e&&typeof e==`object`&&Object.hasOwn(e,t))}function kKe(e){let t={...e,id:RK(e,`id`)??e.id,title:e.title??LK(e,`name`)??``},n=RK(e,`workspaceId`)??RK(e,`workspace_id`)??UK(e,`workspace`)??e.workspaceId??null;return n!==null||WK(e,`workspaceId`)?{...t,workspaceId:n,startDate:e.startDate??LK(e,`start_date`)??null,endDate:e.endDate??LK(e,`end_date`)??null}:t}function GK(e){let t=e.ownerAvatarUrl??LK(e,`owner_avatar_url`)??LK(e,`ownerProfileImage`)??LK(e,`owner_profile_image`)??LK(e,`ownerImage`)??LK(e,`owner_image`)??LK(e,`ownerImageUrl`)??LK(e,`owner_image_url`)??LK(e,`createdByAvatarUrl`)??LK(e,`created_by_avatar_url`)??LK(e,`createdByProfileImage`)??LK(e,`created_by_profile_image`)??HK(e,`owner`)??HK(e,`createdBy`)??HK(e,`created_by`)??null,n={...e,id:RK(e,`id`)??e.id},r=RK(e,`campaignId`)??RK(e,`campaign_id`)??UK(e,`campaign`)??e.campaignId??null;(r!==null||WK(e,`campaignId`))&&(n.campaignId=r);let i=e.campaignTitle??LK(e,`campaignTitle`)??LK(e,`campaign_title`)??LK(VK(e,`campaign`),`title`)??LK(VK(e,`campaign`),`name`)??null;(i!==null||WK(e,`campaignTitle`))&&(n.campaignTitle=i);let a=RK(e,`workspaceId`)??RK(e,`workspace_id`)??UK(e,`workspace`)??e.workspaceId??null;(a!==null||WK(e,`workspaceId`))&&(n.workspaceId=a);let o=e.workspaceName??LK(e,`workspace_name`)??LK(VK(e,`workspace`),`name`)??null;(o!==null||WK(e,`workspaceName`))&&(n.workspaceName=o);let s=LK(e,`workspaceIconUrl`)??LK(e,`workspace_icon_url`)??LK(VK(e,`workspace`),`iconUrl`)??null;(s!==null||WK(e,`workspaceIconUrl`))&&(n.workspaceIconUrl=s);let c=RK(e,`ownerId`)??RK(e,`owner_id`)??UK(e,`owner`)??e.ownerId??null;(c!==null||WK(e,`ownerId`))&&(n.ownerId=c);let l=e.ownerName??LK(e,`owner_name`)??LK(VK(e,`owner`),`name`)??null;(l!==null||WK(e,`ownerName`))&&(n.ownerName=l),(t!==null||WK(e,`ownerAvatarUrl`))&&(n.ownerAvatarUrl=t);let u=RK(e,`teamId`)??RK(e,`team_id`)??UK(e,`team`)??e.teamId??null;(u!==null||WK(e,`teamId`))&&(n.teamId=u);let d=e.teamName??LK(e,`team_name`)??LK(VK(e,`team`),`name`)??null;(d!==null||WK(e,`teamName`))&&(n.teamName=d);let f=e.startDate??LK(e,`start_date`)??null;(f!==null||WK(e,`startDate`))&&(n.startDate=f);let p=e.targetEndDate??LK(e,`target_end_date`)??null;return(p!==null||WK(e,`targetEndDate`))&&(n.targetEndDate=p),n}function KK(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 AKe(e){return KK(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 jKe(e){if(e&&typeof e==`object`){let t=e;if(t.project&&typeof t.project==`object`)return t.project}return e}function qK(e){if(e===null||e.trim()===``)return null;let t=Number(e);return Number.isSafeInteger(t)?t:e}async function JK(e){try{return await e}catch(e){throw e instanceof gr?e.kind===`auth`?new CKe(e.message):new wKe(e.message,e.status??502):e}}var YK=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?pr:e=>`${n}${e}`,maxRetries:e.maxRetries??3,onAuthExpired:e.onAuthExpired??mr,...t?{resolveBearerToken:()=>ur()?.bearerToken??null}:{}},this.putThreadDisposition=mKe(this.cfg),this.postThreadArchive=_Ke(this.cfg)}async getTask(e){return JK(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 JK(P({method:`GET`,path:`/api/cmmd/tasks/search`,query:t},this.cfg))).tasks??[]}async getTaskComments(e){return(await JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async listProjectTaskComments(e){return(await JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/comments`},this.cfg))).comments??[]}async createProjectTaskComment(e,t){return(await JK(P({method:`POST`,path:`/api/cmmd/tasks/comment`,body:{taskId:e,content:t.content}},this.cfg))).details}async updateProjectTaskComment(e,t,n){return(await JK(P({method:`PATCH`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))).comment}async deleteProjectTaskComment(e,t,n){return JK(P({method:`DELETE`,path:`/api/cmmd/tasks/${e}/comments/${encodeURIComponent(t)}`,body:n},this.cfg))}async getTaskAttachments(e){return JK(P({method:`GET`,path:`/api/cmmd/tasks/${e}/attachments`},this.cfg))}async getProjectRepository(e){return JK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repository`},this.cfg))}async listProjectRepositories(e){return(await JK(P({method:`GET`,path:`/api/cmmd/projects/${e}/repositories`},this.cfg))).repositories}async getWorkspaceMembers(e){return JK(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 KK(await P({method:`GET`,path:`/.well-known/forge/cmmd/workspaces`},this.cfg))}async listCmmdCampaigns(e){return AKe(await P({method:`GET`,path:`/.well-known/forge/cmmd/campaigns`,query:{workspaceId:e.workspaceId}},this.cfg))}async listCmmdProjects(e){return KK(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),JK(P({method:`POST`,path:`/api/cmmd/tasks/update`,body:n},this.cfg))}async createComment(e){return JK(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 JK(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 JK(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`?qK(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),JK(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 oKe(this.cfg,e)}getBillingSeries(e){return sKe(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 nKe(this.cfg)}getAuthRuntimeState(){return rKe(this.cfg)}destroyAuthRuntime(){return iKe(this.cfg)}connectAuthRuntime(){return aKe(this.cfg)}getUserCodexCredential(){return cKe(this.cfg)}disconnectUserCodexCredential(){return lKe(this.cfg)}getUserClaudeCredential(){return uKe(this.cfg)}async getProviderAccounts(){return P({method:`GET`,path:e.PROVIDER_ACCOUNTS_PATH},this.cfg)}async removeLinkedProviderAccount(t){return P({method:`DELETE`,path:`${e.PROVIDER_ACCOUNTS_PATH}/${t}`},this.cfg)}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 dKe(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 bKe(this.cfg,e,t)}renameDevice(e,t){return xKe(this.cfg,e,t)}revokeDevice(e){return SKe(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`),PK(await P({method:`GET`,path:`/api/cmmd/campaigns`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`campaigns`).map(kKe)}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`),PK(await P({method:`GET`,path:`/api/cmmd/projects`,query:t,...e?.signal?{signal:e.signal}:{}},this.cfg),`projects`).map(GK)}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 GK(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(zK):[]}async listWorkspaceMembers(){let e=await P({method:`GET`,path:`/api/cmmd/members`},this.cfg);return Array.isArray(e)?e.map(EKe):[]}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 DKe(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 BK(await P({method:`POST`,path:`/api/cmmd/projects/${e}/updates`,body:t},this.cfg))}async updateProjectUpdate(e,t,n){return BK(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 FK(await P({method:`GET`,path:`/api/cmmd/automations/presets`},this.cfg),`presets`)}async listUserForgeAutomationRules(){return FK(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 FK(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=IK(t);return FK(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/rules`,...n?{query:n}:{}},this.cfg),`rules`)}async createForgeAutomationRule(e,t,n){let r=IK(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=IK(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=IK(t,t?.taskId);return FK(await P({method:`GET`,path:`/api/cmmd/automations/projects/${e}/runs`,...n?{query:n}:{}},this.cfg),`runs`)}async getForgeAutomationRun(e,t){let n=IK(t);return P({method:`GET`,path:`/api/cmmd/automations/runs/${e}`,...n?{query:n}:{}},this.cfg)}async startForgeAutomationRun(e,t,n,r){let i=IK(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=IK(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=IK(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=IK(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=IK(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:MK(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:MK(n)},this.cfg)}async createTask(e){return P({method:`POST`,path:`/api/cmmd/tasks`,body:e},this.cfg)}async createSubtask(e){throw new NK(`createSubtask`)}async createBoardTask(e){throw new NK(`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=qK(e.campaignId)),e.organizationId!==void 0&&e.organizationId!==null&&(t.organizationId=qK(e.organizationId)),jKe(await P({method:`POST`,path:`/api/cmmd/projects`,body:t},this.cfg))}async moveProject(e,t){let n={targetOrgId:qK(t.targetOrgId)};return t.campaignStrategy!==void 0&&(n.campaignStrategy=t.campaignStrategy),t.targetCampaignId!==void 0&&(n.targetCampaignId=qK(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 NK(`uploadBrainDoc`)}};function XK(e){return new YK(e)}var ZK=new YK({onAuthExpired:mr}),QK=class extends $t(`BootstrapHttpError`){},$K=e=>nee(e,`BootstrapHttpError`);function eq(e){return typeof e!=`object`||!e?!1:!!($K(e)&&e.status===401||e instanceof Error&&e.name===`RemoteEnvironmentAuthHttpError`&&`status`in e&&e.status===401||e instanceof gr&&e.kind===`auth`)}function tq(e={resolveUrl:pr}){let t=ur()?.bearerToken;return t?{...e,bearerToken:t}:e}var nq=null,rq=null,iq=null,aq=new Set,oq=`cmmd-forge.loggedOutLocalBootstrapCredentials.v1`;function MKe(e){let t=`${e.firstName??``} ${e.lastName??``}`.trim();vK({id:e.id,email:e.email,...t.length>0?{username:t}:{}}),DK({cmmdUserId:e.id,...e.email?{email:e.email}:{},...t.length>0?{displayName:t}:{}})}function sq(){if(typeof window>`u`||iq)return;let e=window.desktopBridge?.desktopAuth?.onStateChange;e&&(iq=e(e=>{nq=null,rq=null,e.sessionLifecycle.status!==`ready`&&vK(null),(e.sessionLifecycle.status===`expired`||e.sessionLifecycle.status===`signed-out`&&e.sessionLifecycle.reason===`refresh-revoked`)&&Ane().catch(e=>{yK(e,{route:`desktop-auth-session-expired`})})}))}function NKe(e){let t=e.replace(/\s+/g,` `).trim();return t.length===0?`<empty response>`:t.slice(0,120)}async function cq(e,t){let n=await e.text();try{return JSON.parse(n)}catch{throw new QK({message:`${t} returned a non-JSON response (${NKe(n)}). Ensure the Forge server is running and this route is proxied correctly.`,status:e.status})}}function PKe(){return ru(new URL(window.location.href))}function lq(){let e=new URL(window.location.href),t=Xce(e);t.toString()!==e.toString()&&window.history.replaceState({},document.title,t.toString())}async function FKe(){return vq(async()=>{let e=pr(`/api/auth/session`),t=await fetch(e,sr({credentials:`include`}));if(!t.ok)throw new QK({message:`Failed to load server auth session state (${t.status}).`,status:t.status});return cq(t,e)})}async function IKe(e,t){return await e.text()||t}var uq=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`]);async function LKe(e){return vq(async()=>{let t={credential:e},n=pr(`/api/auth/bootstrap`),r=await fetch(n,sr({body:JSON.stringify(t),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new QK({message:await r.text()||`Failed to bootstrap auth session (${r.status}).`,status:r.status});return cq(r,n)})}function dq(e){return new URL(e,window.location.origin).toString()}function fq(e){let t=(e?.primaryMode===`cloud`?null:e)?.bootstrapToken?.trim();return t&&t.length>0?t:null}function pq(){return typeof window>`u`?null:fq(window.desktopBridge?.getLocalEnvironmentBootstrap?.()??null)}function RKe(){return typeof window>`u`?!1:Mne()===`session-expired`}function mq(){if(typeof window>`u`)return new Set;try{let e=window.sessionStorage.getItem(oq),t=e?JSON.parse(e):[];return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function hq(e){if(!(typeof window>`u`))try{if(e.size===0){window.sessionStorage.removeItem(oq);return}window.sessionStorage.setItem(oq,JSON.stringify([...e]))}catch{}}function zKe(){let e=pq();if(!e)return;let t=new Set(mq());t.add(e),hq(t)}function BKe(e){return mq().has(e)}function gq(){let e=pq();if(!e){hq(new Set);return}let t=new Set(mq());t.delete(e),hq(t)}async function _q(){let e=dq(`/api/auth/session`),t=await fetch(e,{credentials:`include`});return t.ok?cq(t,e):null}async function VKe(e){if(typeof window>`u`)return;let t=fq(e);if(!t||RKe()||aq.has(t)||BKe(t))return;if((await _q().catch(()=>null))?.authenticated){aq.add(t);return}let n=dq(`/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 QK({message:await r.text()||`Failed to bootstrap local web owner session (${r.status}).`,status:r.status})}await cq(r,n),aq.add(t)}async function HKe(){let e=await FKe();if(e.authenticated)return e;let t=ur();if(t?.source!==`desktop-managed`||!t.bearerToken)return e;let n=await _q().catch(()=>null);return n?.authenticated?n:e}var UKe=new Set([404,502,503,504]),WKe=15e3,GKe=500;function KKe(e){ur()?.source===`paired-bearer`&&eq(e)&&hr(`http`)}async function vq(e){let t=Date.now();for(;;)try{return await e()}catch(e){if(KKe(e),!JKe(e))throw e;if(Date.now()-t>=WKe)throw yK(e,{route:`bootstrap-retry-exhausted`}),e;await qKe(GKe)}}function qKe(e){return new Promise(t=>{setTimeout(t,e)})}function JKe(e){return $K(e)?UKe.has(e.status):e instanceof TypeError||e instanceof DOMException&&e.name===`AbortError`}function YKe(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 XKe(e){if(typeof window>`u`||!window.desktopBridge)return null;let t=window.desktopBridge.desktopAuth?.getState;if(!t)return`desktop-state-unavailable`;try{return YKe(await t(),e)}catch(e){return yK(e,{route:`desktop-auth-gate-state`}),`desktop-state-unavailable`}}async function ZKe(e,t){return vK(null),Nne(t),await cr().catch(e=>{yK(e,{route:`desktop-auth-gate-logout`})}),{status:`requires-auth`,auth:e.auth,errorMessage:jne(t)??`Forge Desktop requires CMMD authentication.`}}async function QKe(){let e=await HKe();if(e.authenticated){if(e.cmmdIdentity){let t=await XKe(e.cmmdIdentity);return t?(dr(),ZKe(e,t)):(dr(),MKe(e.cmmdIdentity),{status:`authenticated`})}return{status:`requires-auth`,auth:e.auth}}return{status:`requires-auth`,auth:e.auth}}async function $Ke(e){let t=e.trim();if(!t)throw Error(`Enter a pairing token to continue.`);rq=null,gq(),await LKe(t),nq=null,lq()}function yq(){gq(),rq=null,nq=null}async function bq(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=pr(`/api/auth/bootstrap/command`),s=await fetch(o,sr({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 QK({message:await s.text()||`Failed to bootstrap with CMMD OAuth token (${s.status}).`,status:s.status});await cq(s,o),yq()}async function eqe(){let e=pr(`/api/auth/ws-token`),t=await fetch(e,sr({credentials:`include`,method:`POST`}));if(!t.ok)throw new QK({message:await t.text()||`Failed to issue websocket token (${t.status}).`,status:t.status});return cq(t,e)}async function tqe(e){let t=await eqe(),n=new URL(e,window.location.origin);return n.searchParams.set(`wsToken`,t.token),n.toString()}async function nqe(e,t){let n=e?.trim(),r={...n?{label:n}:{},...t?{role:t}:{}},i=pr(`/api/auth/pairing-token`),a=await fetch(i,sr({body:JSON.stringify(r),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!a.ok)throw Error(await IKe(a,`Failed to create pairing credential (${a.status}).`));return cq(a,i)}async function rqe(){let e=new URL(`/api/auth/session`,window.location.origin).toString(),t=await fetch(e,{credentials:`include`});if(!t.ok)throw new QK({message:`Failed to load current app auth session state (${t.status}).`,status:t.status});return iqe(await cq(t,e))}function iqe(e){if(!e.authenticated||!e.role)throw Error(`Authenticated session is required.`);let t=aqe(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 aqe(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 oqe(e){let t=`/api/cmmd/work-intake`,n;try{n=await P({method:`GET`,path:t,allowRetry:!1,...e?{query:{fresh:1}}:{}},tq())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&uq.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 sqe(e={}){return oqe(e.forceFresh===!0)}async function xq(e,t){try{return await P({method:`POST`,path:e,body:t,allowRetry:!1},tq())}catch(e){throw e instanceof gr&&e.kind!==`auth`&&e.code!==null&&uq.has(e.code)?new gr({kind:`auth`,message:e.message,status:e.status??401,code:e.code}):e}}async function cqe(e){try{return await xq(`/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 xq(`/api/command/tasks/update`,e);throw t}}async function lqe(){typeof window>`u`||await window.desktopBridge?.desktopAuth?.logoutCloud?.()}async function uqe(){let e=await Promise.allSettled([cr(),lqe()]);vK(null),zKe(),nq=null,rq=null;let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason}async function dqe(){if(sq(),rq?.status===`authenticated`)return dr(),rq;if(nq)return nq;let e=Sq();return nq=e,e.then(e=>(e.status===`authenticated`&&(rq=e),e)).finally(()=>{nq===e&&(nq=null)})}async function Sq(){return fr().then(e=>VKe(e)).then(()=>QKe())}async function fqe(){sq(),nq=null,rq=null;let e=await Sq();return e.status===`authenticated`&&(rq=e,dr()),e}async function pqe(e){let t=e.email.trim();if(!t||!e.password)throw Error(`Enter your CMMD email and password.`);let n=pr(`/api/auth/cmmd-password/token`),r=await fetch(n,sr({body:JSON.stringify({email:t,password:e.password}),credentials:`include`,headers:{"content-type":`application/json`},method:`POST`}));if(!r.ok)throw new QK({message:await r.text()||`CMMD login failed (${r.status}).`,status:r.status});let i=await cq(r,n);if(i.authenticated===!0)return yq(),{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 bq(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 mqe=`/.well-known/forge/environment`,Cq=qt()(e=>({descriptor:null,setDescriptor:t=>e({descriptor:t}),reset:()=>e({descriptor:null})})),wq=null;function hqe(e){let t=Tq();return t?Yie(Io({id:t.environmentId,label:t.label,source:e.source,target:e.target}),t):null}async function gqe(){return vq(async()=>{await fr();let e=ur()?.bearerToken,t=pr(mqe),n=e?await fetch(t,{headers:{Authorization:`Bearer ${e}`}}):await fetch(t);if(!n.ok)throw new QK({message:`Failed to load server environment descriptor (${n.status}).`,status:n.status});let r=await cq(n,t);return Eq(r),r})}function Tq(){return Cq.getState().descriptor}function _qe(){return Cq(vqe)}function vqe(e){return e.descriptor?.environmentId??null}function yqe(){return Cq(bqe)}function bqe(e){return e.descriptor}function xqe(){return Cq(Sqe)}function Sqe(e){return e.descriptor?.deviceRuntimeId??null}function Cqe(){return Tq()?.deviceRuntimeId??null}function wqe(){return Cq(Tqe)}function Tqe(e){return tae(e.descriptor)}function Eqe(){return Cq(Dqe)}function Dqe(e){return nae(e.descriptor)}function Eq(e){Cq.getState().setDescriptor(e)}function Oqe(e,t){return t?.primaryMode!==`cloud`||e.environmentId===t.environmentId}function Dq(){let e=ur();return e?hqe({source:e.source,target:e.target}):null}function kqe(){return Aqe()}async function Aqe(){let e=await fr(),t=Tq();if(t&&Oqe(t,e))return Promise.resolve(t);if(t&&Eq(null),wq)return wq;let n=gqe();return wq=n,n.finally(()=>{wq===n&&(wq=null)})}var Oq=`/api/attachments/upload/`;function jqe(e){if(!e.relativeUrl.startsWith(Oq))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}${Oq}`,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 kq=!1,Aq=null;function jq(e){return Object.values(e)}function Mq(e){return e.map(e=>wn(e))}function Nq(e){try{Zl(Mq(jq(e))).catch(e=>{console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)})}catch(e){console.error(`[SAVED_ENVIRONMENTS] persist failed`,e)}}function Mqe(e){let t=Pq.getState().byId,n=Object.fromEntries(e.map(e=>[e.environmentId,e]));Pq.setState({byId:{...n,...t}})}async function Nqe(){if(kq)return;if(Aq)return Aq;let e=(async()=>{try{Mqe(await Xl())}catch(e){console.error(`[SAVED_ENVIRONMENTS] hydrate failed`,e)}finally{kq=!0,Pq.setState({hydrated:!0})}})().finally(()=>{Aq===e&&(Aq=null)});return Aq=e,Aq}var Pq=qt()(e=>({byId:{},hydrated:kq,upsert:t=>e(e=>{let n={...e.byId,[t.environmentId]:t};return Nq(n),{byId:n}}),remove:t=>e(e=>{let{[t]:n,...r}=e.byId;return Nq(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 Nq(i),{byId:i}}),reset:()=>{Nq({}),e({byId:{}})}}));function Fq(){return kq}function Iq(){return Fq()?Promise.resolve():Nqe()}function Lq(){return Object.values(Pq.getState().byId).toSorted((e,t)=>e.label.localeCompare(t.label))}function Pqe(){return Lq().filter(e=>e.lastAuthenticatedPullRequestCapability===!0)}function Rq(e){return Pq.getState().byId[e]??null}function zq(e){let t=Dq();return t?.environmentId===e?Jie(t):Rq(e)?.httpBaseUrl??null}function Bq(e){let t=zq(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 Vq(e){if(!zq(e))throw Error(`Unable to resolve HTTP base URL for environment ${e}.`)}function Fqe(e){return Vq(e.environmentId),jqe({httpBaseUrl:zq(e.environmentId),relativeUrl:e.relativeUrl})}async function Hq(e){await Zl(Mq(jq({...Pq.getState().byId,[e.environmentId]:e})))}async function Iqe(e,t){let{[e]:n,...r}=Pq.getState().byId,i={...r,[t.environmentId]:t};await Zl(Mq(jq(i))),Pq.setState({byId:i})}async function Uq(e){return Ql(e)}async function Lqe(e,t){return $l(e,t)}async function Wq(e){await eu(e)}var Rqe=[/(?:^|\s)\/(?:Users|var|private|tmp|project|repo|home)\/[^\s'"<>)]*/i,/(?:^|\s)[A-Za-z]:\\[^\s'"<>)]*/];function Gq(e){let t=e?.trim();return t&&t.length>0?t:null}function zqe(e){return Gq(e)??`Project`}function Bqe(e,t=`safe`){let n=Gq(e);return n?t===`full`?n:n.replaceAll(`\\`,`/`).split(`/`).filter(Boolean).at(-1)??`Local checkout`:`Local checkout`}function Kq(e,t=`Something went wrong. Try again.`){let n=sK(e instanceof Error?e.message:typeof e==`string`?e:String(e),{fallback:t});return!n||Rqe.some(e=>e.test(n))?t:n}function Vqe(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function qq(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function Jq(e,t){let n=qq(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&Vqe(e,r)?r:n??void 0}function Yq(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function Xq(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function Hqe(e,t){let n=Xq(e);return t&&Yq(e,t)?t:n??void 0}function Uqe(e,t){let n=Jq(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 Wqe(e,t){let n=Jq(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Hqe(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 Zq(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function Qq(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 $q(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=Qq(r,e),s=n.find(e=>e.slug===o);return s?s.slug:null}var Gqe=[`codex`,`claudeAgent`];function eJ(e,t){return Gqe.filter(e=>e!==t).some(t=>jte(t,e)!==void 0)}function Kqe(e,t){let n=Qq(e,t);return!n||eJ(n,t)?On[t]:n}function tJ(e,t){return Kqe(t,e)}function qqe(e){return typeof e==`string`&&e.trim()||null}function Jqe(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}function nJ(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?rJ(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:iJ(e.scripts)}}function rJ(e){return{...e,model:tJ(e.provider,e.model)}}function iJ(e){return e.map(e=>({...e}))}function Yqe(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?rJ(t.defaultModelSelection):null},...t.scripts===void 0?{}:{scripts:iJ(t.scripts)},updatedAt:t.updatedAt}}function aJ(e){let t=lK(e.lastError);return{provider:Zqe(e.providerName),status:Xqe(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...t?{lastError:t}:{}}}function oJ(e,t){let n=t.attachments?.map(t=>{let n=Bq({environmentId:e,pathname:Qqe(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 sJ(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function cJ(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 Xqe(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 Zqe(e){return e===`codex`||e===`claudeAgent`||e===`ollama`||e===`cmmd`||e===`apex`?e:`codex`}function Qqe(e){return`/attachments/${encodeURIComponent(e)}`}var $qe=[],eJe=[],tJe=[],nJe=[],rJe={},iJe={},aJe={},oJe={},sJe=[],lJ=new WeakMap,uJ=new WeakMap;function dJ(e,t,n){if(!e||e.length===0||!t)return n;let r=lJ.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||lJ.set(e,o),a}function cJe(e,t){return dJ(e.messageIdsByThreadId[t],e.messageByThreadId[t]??rJe,$qe)}function lJe(e,t){return dJ(e.activityIdsByThreadId[t],e.activityByThreadId[t]??iJe,eJe)}function uJe(e,t){return dJ(e.proposedPlanIdsByThreadId[t],e.proposedPlanByThreadId[t]??aJe,tJe)}function dJe(e,t){return dJ(e.turnDiffIdsByThreadId[t],e.turnDiffSummaryByThreadId[t]??oJe,nJe)}function fJ(e,t){let n=e.threadShellById[t];if(!n)return;let r=e.threadSessionById[t]??null,i=e.threadTurnStateById[t],a=e.threadRateLimitStatusById[t]??sJe,o=cJe(e,t),s=lJe(e,t),c=uJe(e,t),l=dJe(e,t),u=uJ.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 uJ.set(n,{session:r,turnState:i,rateLimitStatus:a,messages:o,activities:s,proposedPlans:c,turnDiffSummaries:l,thread:d}),d}function fJe(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 pJ(e){return{settledAt:e.settledAt??null,settledOverride:e.settledOverride??null}}var mJ={projectIds:[],projectById:{},threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:{},messageIdsByThreadId:{},messageByThreadId:{},activityIdsByThreadId:{},activityByThreadId:{},proposedPlanIdsByThreadId:{},proposedPlanByThreadId:{},turnDiffIdsByThreadId:{},turnDiffSummaryByThreadId:{},sidebarThreadSummaryById:{},threadSubscriptionErrorById:{},bootstrapComplete:!1},pJe={activeEnvironmentId:null,environmentStateById:{}},hJ=[],gJ=[];function _J(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function vJ(e,t){return{id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:rJ(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?aJ(e.session):null,messages:e.messages.map(e=>oJ(t,e)),proposedPlans:e.proposedPlans.map(sJ),error:lK(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...pJ(e),updatedAt:e.updatedAt,latestTurn:e.latestTurn,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,branch:e.branch,worktreePath:e.worktreePath,turnDiffSummaries:e.checkpoints.map(cJ),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 yJ(e,t){let n={id:e.id,environmentId:t,codexThreadId:null,projectId:e.projectId,title:e.title,modelSelection:rJ(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,error:lK(e.session?.lastError),createdAt:e.createdAt,archivedAt:e.archivedAt,...pJ(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?aJ(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,...pJ(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 mJe(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 hJe(e){return{latestTurn:e.latestTurn,...e.pendingSourceProposedPlan?{pendingSourceProposedPlan:e.pendingSourceProposedPlan}:{}}}function bJ(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.threadId===t.threadId&&e.planId===t.planId}function xJ(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&&bJ(e.sourceProposedPlan,t.sourceProposedPlan)}function SJ(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 CJ(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 wJ(e,t){return e!==void 0&&e.id===t.id&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.title===t.title&&TJ(e.titleRegeneration,t.titleRegeneration)&&e.interactionMode===t.interactionMode&&SJ(e.session,t.session)&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.settledAt===t.settledAt&&e.settledOverride===t.settledOverride&&e.updatedAt===t.updatedAt&&xJ(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&&CJ(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status}function TJ(e,t){return e===t?!0:e==null||t==null?!1:e.requestId===t.requestId&&e.startedAt===t.startedAt}function EJ(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&&CJ(e.linkedPullRequest,t.linkedPullRequest)&&e.kind===t.kind&&e.parentThreadId===t.parentThreadId&&e.status===t.status&&e.goal===t.goal&&TJ(e.titleRegeneration,t.titleRegeneration)}function DJ(e,t){return e!==void 0&&xJ(e.latestTurn,t.latestTurn)&&bJ(e.pendingSourceProposedPlan,t.pendingSourceProposedPlan)}function gJe(e,t){return e.includes(t)?[...e]:[...e,t]}function OJ(e,t){return e.filter(e=>e!==t)}function _Je(e){return{ids:e.messages.map(e=>e.id),byId:Object.fromEntries(e.messages.map(e=>[e.id,e]))}}function vJe(e){return{ids:e.activities.map(e=>e.id),byId:Object.fromEntries(e.activities.map(e=>[e.id,e]))}}function yJe(e){return{ids:e.proposedPlans.map(e=>e.id),byId:Object.fromEntries(e.proposedPlans.map(e=>[e.id,e]))}}function bJe(e){return{ids:e.turnDiffSummaries.map(e=>e.turnId),byId:Object.fromEntries(e.turnDiffSummaries.map(e=>[e.turnId,e]))}}function xJe(e){return e.projectIds.flatMap(t=>{let n=e.projectById[t];return n?[n]:[]})}function kJ(e){return e.threadIds.flatMap(t=>{let n=fJ(e,t);return n?[n]:[]})}function AJ(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]??hJ,i=OJ(n,t);if(i.length===0){let{[r]:t,...n}=e;e=n}else _J(n,i)||(e={...e,[r]:i})}let a=e[n]??hJ,o=gJe(a,t);_J(a,o)||(e={...e,[n]:o}),e!==i.threadIdsByProjectId&&(i={...i,threadIdsByProjectId:e})}return i}function jJ(e,t,n){let r=mJe(t),i=hJe(t),a=e.threadShellById[t.id],o=e.threadTurnStateById[t.id],s=AJ(e,t.id,t.projectId,n?.projectId);EJ(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};wJ(c,e)||(s={...s,sidebarThreadSummaryById:{...s.sidebarThreadSummaryById,[t.id]:e}})}if(SJ(n?.session??null,t.session)||(s={...s,threadSessionById:{...s.threadSessionById,[t.id]:t.session}}),(n?.rateLimitStatus??gJ)!==(t.rateLimitStatus??gJ)&&(s={...s,threadRateLimitStatusById:{...s.threadRateLimitStatusById,[t.id]:t.rateLimitStatus??gJ}}),DJ(o,i)||(s={...s,threadTurnStateById:{...s.threadTurnStateById,[t.id]:i}}),n?.messages!==t.messages){let e=_Je(t);s={...s,messageIdsByThreadId:{...s.messageIdsByThreadId,[t.id]:e.ids},messageByThreadId:{...s.messageByThreadId,[t.id]:e.byId}}}if(n?.activities!==t.activities){let e=vJe(t);s={...s,activityIdsByThreadId:{...s.activityIdsByThreadId,[t.id]:e.ids},activityByThreadId:{...s.activityByThreadId,[t.id]:e.byId}}}if(n?.proposedPlans!==t.proposedPlans){let e=yJe(t);s={...s,proposedPlanIdsByThreadId:{...s.proposedPlanIdsByThreadId,[t.id]:e.ids},proposedPlanByThreadId:{...s.proposedPlanByThreadId,[t.id]:e.byId}}}if(n?.turnDiffSummaries!==t.turnDiffSummaries){let e=bJe(t);s={...s,turnDiffIdsByThreadId:{...s.turnDiffIdsByThreadId,[t.id]:e.ids},turnDiffSummaryByThreadId:{...s.turnDiffSummaryByThreadId,[t.id]:e.byId}}}return s}function MJ(e,t){let n=e.threadShellById[t.shell.id],r=AJ(e,t.shell.id,t.shell.projectId,n?.projectId);return EJ(n,t.shell)||(r={...r,threadShellById:{...r.threadShellById,[t.shell.id]:t.shell}}),SJ(e.threadSessionById[t.shell.id]??null,t.session)||(r={...r,threadSessionById:{...r.threadSessionById,[t.shell.id]:t.session}}),DJ(e.threadTurnStateById[t.shell.id],t.turnState)||(r={...r,threadTurnStateById:{...r.threadTurnStateById,[t.shell.id]:t.turnState}}),wJ(e.sidebarThreadSummaryById[t.shell.id],t.summary)||(r={...r,sidebarThreadSummaryById:{...r.sidebarThreadSummaryById,[t.shell.id]:t.summary}}),r}function NJ(e,t){return Object.fromEntries(Object.entries(e).flatMap(([e,n])=>t.has(e)?[[e,n]]:[]))}function PJ(e,t){let n=e.threadShellById[t],r=e.sidebarThreadSummaryById[t],i=n?.projectId??r?.projectId;if(!i)return e;let a=OJ(e.threadIds,t),o=OJ(e.threadIdsByProjectId[i]??hJ,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 SJe(e,t){let n=new Set(e.threadIdsByProjectId[t]??hJ);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 FJ(e,t){let n=SJe(e,t);if(!e.projectById[t]&&n.length===0&&!e.projectIds.includes(t))return e;let r=e;for(let e of n)r=PJ(r,e);let{[t]:i,...a}=r.projectById;return{...r,projectById:a,projectIds:OJ(r.projectIds,t)}}function IJ(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function CJe(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 LJ(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 wJe(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 TJe(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 EJe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function DJe(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function RJ(e,t,n){let r=fJ(e,t);if(!r)return e;let i=n(r);return i===r?e:jJ(e,i,r)}function zJ(e,t,n,r){let i=RJ(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 OJe(e){return{projectIds:e.map(e=>e.id),projectById:Object.fromEntries(e.map(e=>[e.id,e]))}}function BJ(e,t){return e.environmentStateById[t]??mJ}function VJ(e,t,n){let r=e.environmentStateById[t]===n?e.environmentStateById:{...e.environmentStateById,[t]:n};return r===e.environmentStateById?e:{...e,environmentStateById:r}}function kJe(e,t,n){let r=t.projects.map(e=>nJ(e,n)),i=new Set(t.threads.map(e=>e.id)),a={...e,...OJe(r),threadIds:[],threadIdsByProjectId:{},threadShellById:{},threadSessionById:{},threadTurnStateById:{},threadRateLimitStatusById:NJ(e.threadRateLimitStatusById,i),sidebarThreadSummaryById:{},messageIdsByThreadId:NJ(e.messageIdsByThreadId,i),messageByThreadId:NJ(e.messageByThreadId,i),activityIdsByThreadId:NJ(e.activityIdsByThreadId,i),activityByThreadId:NJ(e.activityByThreadId,i),proposedPlanIdsByThreadId:NJ(e.proposedPlanIdsByThreadId,i),proposedPlanByThreadId:NJ(e.proposedPlanByThreadId,i),turnDiffIdsByThreadId:NJ(e.turnDiffIdsByThreadId,i),turnDiffSummaryByThreadId:NJ(e.turnDiffSummaryByThreadId,i),bootstrapComplete:!0};for(let e of t.threads)a=MJ(a,yJ(e,n));return a}function AJe(e,t,n){return VJ(e,n,kJe(BJ(e,n),t,n))}function jJe(e,t,n){let r=BJ(e,n),i=fJ(r,t.id);return VJ(e,n,jJ(r,vJ(t,n),i))}function MJe(e,t,n,r){let i=BJ(e,t);return VJ(e,t,{...i,threadSubscriptionErrorById:{...i.threadSubscriptionErrorById,[n]:r}})}function NJe(e,t,n){let r=BJ(e,t);if(!(n in r.threadSubscriptionErrorById))return e;let{[n]:i,...a}=r.threadSubscriptionErrorById;return VJ(e,t,{...r,threadSubscriptionErrorById:a})}function HJ(e,t,n){switch(t.type){case`project.created`:{let r=nJ({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=Yqe(n,t.payload);return{...e,projectById:{...e.projectById,[t.payload.projectId]:r}}}case`project.deleted`:return FJ(e,t.payload.projectId);case`thread.created`:{let r=fJ(e,t.payload.threadId);return jJ(e,vJ({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 PJ(e,t.payload.threadId);case`thread.archived`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:t.payload.archivedAt});case`thread.unarchived`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{archivedAt:null});case`thread.settled`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:t.payload.settledAt,settledOverride:t.payload.settledOverride});case`thread.unsettled`:return zJ(e,t.payload.threadId,t.payload.updatedAt,{settledAt:null,settledOverride:`active`});case`thread.meta-updated`:return RJ(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:rJ(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 RJ(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return RJ(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.turn-start-requested`:return RJ(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:rJ(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,latestTurn:LJ({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:RJ(e,t.payload.threadId,e=>{let n=e.latestTurn;return n===null||n.turnId!==t.payload.turnId?e:{...e,latestTurn:LJ({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 RJ(e,t.payload.threadId,e=>{let n=oJ(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?wJe(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)?LJ({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 RJ(e,t.payload.threadId,e=>({...e,session:aJ(t.payload.session),error:lK(t.payload.session.lastError),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?LJ({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 RJ(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 RJ(e,t.payload.threadId,e=>{let n=sJ(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 RJ(e,t.payload.threadId,e=>{let n=cJ({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?LJ({previous:e.latestTurn,turnId:t.payload.turnId,state:IJ(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 RJ(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=TJe(e.messages,r,t.payload.turnCount).slice(-2e3),a=DJe(e.proposedPlans,r).slice(-200),o=EJe(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:IJ(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return RJ(e,t.payload.threadId,e=>{let n=[...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(CJe).slice(-500);return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.rate-limit-set`:return RJ(e,t.payload.threadId,e=>({...e,rateLimitStatus:fJe(e.rateLimitStatus??[],t.payload),updatedAt:t.occurredAt}));case`thread.worker-spawned`:return RJ(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 PJe(e,t,n){switch(t.kind){case`project-upserted`:{let r=nJ(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 FJ(e,t.projectId);case`thread-upserted`:return MJ(e,yJ(t.thread,n));case`thread-removed`:return PJ(e,t.threadId)}}function FJe(e,t,n){if(t.length===0)return e;let r=BJ(e,n);return VJ(e,n,t.reduce((e,t)=>HJ(e,t,n),r))}function UJ(e){return Object.entries(e.environmentStateById)}function WJ(e,t){return t?BJ(e,t):mJ}function IJe(e,t){return kJ(WJ(e,t))}function GJ(e){return UJ(e).flatMap(([,e])=>xJe(e))}function KJ(e){return UJ(e).flatMap(([,e])=>kJ(e))}function LJe(e){return UJ(e).flatMap(([,e])=>qJ(e).flatMap(t=>{let n=e.threadShellById[t];return n?[n]:[]}))}function qJ(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 JJ(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 RJe(e){return UJ(e).flatMap(([e,t])=>qJ(t).flatMap(n=>{let r=JJ(e,t,n);return r?[r]:[]}))}function YJ(e,t){if(!t)return[];let n=WJ(e,t.environmentId),r=n.threadIdsByProjectId[t.projectId]??hJ;return(r.length>0?r:qJ(n)).flatMap(e=>{let r=JJ(t.environmentId,n,e);return!r||r.projectId!==t.projectId?[]:[r]})}function zJe(e,t){return t.length===0?[]:t.length===1?YJ(e,t[0]):t.flatMap(t=>YJ(e,t))}function BJe(e){return e.activeEnvironmentId===null?Object.values(e.environmentStateById).some(e=>e.bootstrapComplete):WJ(e,e.activeEnvironmentId).bootstrapComplete}function VJe(e,t){return t?WJ(e,t.environmentId).projectById[t.projectId]:void 0}function XJ(e,t){return t?fJ(WJ(e,t.environmentId),t.threadId):void 0}function HJe(e,t){return t?WJ(e,t.environmentId).threadShellById[t.threadId]!==void 0:!1}function ZJ(e,t){return t?JJ(t.environmentId,WJ(e,t.environmentId),t.threadId)??void 0:void 0}function UJe(e,t,n){if(e.activeEnvironmentId===null)return e;let r=RJ(BJ(e,e.activeEnvironmentId),t,e=>e.error===n?e:{...e,error:n});return VJ(e,e.activeEnvironmentId,r)}function WJe(e,t,n){return VJ(e,n,HJ(BJ(e,n),t,n))}function GJe(e,t,n){return VJ(e,n,PJe(BJ(e,n),t,n))}function KJe(e,t){return e.activeEnvironmentId===t?e:{...e,activeEnvironmentId:t}}function qJe(e,t,n,r){let i=RJ(BJ(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 VJ(e,t.environmentId,i)}var QJ=qt(e=>({...pJe,setActiveEnvironmentId:t=>e(e=>KJe(e,t)),syncServerShellSnapshot:(t,n)=>e(e=>AJe(e,t,n)),syncServerThreadDetail:(t,n)=>e(e=>jJe(e,t,n)),setThreadSubscriptionError:(t,n,r)=>e(e=>MJe(e,t,n,r)),clearThreadSubscriptionError:(t,n)=>e(e=>NJe(e,t,n)),applyOrchestrationEvent:(t,n)=>e(e=>WJe(e,t,n)),applyOrchestrationEvents:(t,n)=>e(e=>FJe(e,t,n)),applyShellEvent:(t,n)=>e(e=>GJe(e,t,n)),setError:(t,n)=>e(e=>UJe(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>qJe(e,t,n,r))})),$J=`Thread not found or you no longer have access.`;function JJe(e){if(e==null)return $J;let t=Kq(ote(e)?Ie(e):e,$J);return/\bnot found\b/i.test(t)?$J:t}function YJe(e,t,n){QJ.getState().setThreadSubscriptionError(e,t,JJe(n))}function eY(){return{executionCount:0,isPending:!1,lastArgs:void 0,lastExecutionTime:0,nextExecutionTime:0,status:`idle`,maybeExecuteCount:0}}var XJe={enabled:!0,leading:!0,trailing:!0,wait:0},ZJe=class{#e;constructor(e,t){this.fn=e,this.store=new bte(eY()),this.setOptions=e=>{this.options={...this.options,...e},this.#n()||this.cancel()},this.#t=e=>{this.store.setState(t=>{let n={...t,...e},{isPending:r}=n;return{...n,status:this.#n()?r?`pending`:`idle`:`disabled`}}),Cte(`Throttler`,this)},this.#n=()=>!!Qt(this.options.enabled,this),this.#r=()=>Qt(this.options.wait,this),this.maybeExecute=(...e)=>{this.#t({maybeExecuteCount:this.store.state.maybeExecuteCount+1});let t=Date.now(),n=t-this.store.state.lastExecutionTime,r=this.#r();if(this.options.leading&&n>=r)this.#i(...e);else if(this.#t({lastArgs:e}),!this.#e&&this.options.trailing){let e=r-(this.store.state.lastExecutionTime?t-this.store.state.lastExecutionTime:0);this.#t({isPending:!0}),this.#e=setTimeout(()=>{let{lastArgs:e}=this.store.state;e!==void 0&&this.#i(...e)},e)}},this.#i=(...e)=>{if(!this.#n())return;this.fn(...e);let t=Date.now(),n=t+this.#r();this.#a(),this.#t({executionCount:this.store.state.executionCount+1,lastExecutionTime:t,nextExecutionTime:n,isPending:!1,lastArgs:void 0}),this.options.onExecute?.(e,this),setTimeout(()=>{this.store.state.isPending||this.#t({nextExecutionTime:void 0})},this.#r())},this.flush=()=>{this.store.state.isPending&&this.store.state.lastArgs&&this.#i(...this.store.state.lastArgs)},this.#a=()=>{this.#e&&=(clearTimeout(this.#e),void 0)},this.cancel=()=>{this.#a(),this.#t({lastArgs:void 0,isPending:!1})},this.reset=()=>{this.#t(eY())},this.key=t.key,this.options={...XJe,...t},this.#t(this.options.initialState??{}),this.key&&Tte.on(`d-Throttler`,e=>{e.payload.key===this.key&&(this.#t(e.payload.store.state),this.setOptions(e.payload.options))})}#t;#n;#r;#i;#a};function QJe(e){return!!(e.prompt.trim()||e.images.length||e.terminalContexts.length||e.persistedAttachments.length||e.stagedSubmission)}function $Je(e,t,n){let r=Uo(t),i=Uo(n);if(r===i)return e;let a=e[r];if(!a)return e;let o=e[i];if(o&&QJe(o)&&!eYe(a,o))return null;let s={...e,[i]:{...a,...cYe(a,o)}};return delete s[r],s}function eYe(e,t){let n=e.stagedSubmission;return!n||!tYe(n)||!nYe(e,n)||!rYe(n,t.stagedSubmission)?!1:iYe(e,t)}function tYe(e){return!!e.commandId&&!!e.messageId}function nYe(e,t){return[e.prompt===t.prompt,nY(e.persistedAttachments,t.attachments),nY(e.terminalContexts,t.terminalContexts)].every(Boolean)}function rYe(e,t){return!t||aYe(e,t)}function iYe(e,t){return[e.prompt===t.prompt,e.lastGeneratedPullRequestPrompt===t.lastGeneratedPullRequestPrompt,iY(e.images,t.images),rY(e.nonPersistedImageIds,t.nonPersistedImageIds),e.nonPersistedImageIds.length===0,iY(e.persistedAttachments,t.persistedAttachments),iY(e.terminalContexts,t.terminalContexts),sYe(e.modelSelectionByProvider,t.modelSelectionByProvider),e.activeProvider===t.activeProvider,e.runtimeMode===t.runtimeMode,e.interactionMode===t.interactionMode].every(Boolean)}function aYe(e,t){return[e.commandId===t.commandId&&e.messageId===t.messageId,e.prompt===t.prompt,nY(e.attachments,t.attachments),nY(e.terminalContexts,t.terminalContexts),tY(e.modelSelection,t.modelSelection),tY(e.runtimeMode,t.runtimeMode),tY(e.interactionMode,t.interactionMode),oYe(e.executionIntent,t.executionIntent)].every(Boolean)}function tY(e,t){return e===void 0||t===void 0||JSON.stringify(e)===JSON.stringify(t)}function oYe(e,t){return!e||!t||e.runtimeId===t.runtimeId}function nY(e,t){return e.length===t.length&&e.every((e,n)=>e.id===t[n]?.id)}function rY(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function iY(e,t){return e.length===t.length&&e.every((e,n)=>JSON.stringify(e)===JSON.stringify(t[n]))}function sYe(e,t){let n=Object.keys(e).toSorted();return rY(n,Object.keys(t).toSorted())?n.every(n=>JSON.stringify(e[n])===JSON.stringify(t[n])):!1}function cYe(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 aY=`full-access`,oY=`default`,sY=`default`,lYe=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/,uYe=/^\s*<cmmd_context>\n?([\s\S]*?)\n?<\/cmmd_context>\s*/;function cY(e){return e.replace(/\r\n/g,`
|
|
1006
1006
|
`).replace(/^\n+|\n+$/g,``)}function lY(e){return cY(e.text).length>0}function dYe(e){return!lY(e)}function fYe(e){return e.filter(e=>lY(e))}function pYe(e){let t=cY(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 mYe(e){return e.lineStart===e.lineEnd?`line ${e.lineStart}`:`lines ${e.lineStart}-${e.lineEnd}`}function uY(e){return`${e.terminalLabel} ${mYe(e)}`}function dY(e){return`@${e.terminalLabel.trim().toLowerCase().replace(/\s+/g,`-`)}:${e.lineStart===e.lineEnd?`${e.lineStart}`:`${e.lineStart}-${e.lineEnd}`}`}function hYe(e){return cY(e.text).split(`
|
|
1007
1007
|
`).map((t,n)=>` ${e.lineStart+n} | ${t}`)}function gYe(e){let t=e.map(e=>pYe(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(`- ${uY(r)}:`),n.push(...hYe(r)),e<t.length-1&&n.push(``)}return[`<terminal_context>`,...n,`</terminal_context>`].join(`
|
|
1008
1008
|
`)}function _Ye(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+=dY(e))}return r}function vYe(e,t){let n=_Ye(e,t).trim(),r=gYe(t);return r.length===0?n:n.length>0?`${n}\n\n${r}`:r}function yYe(e){let t=lYe.exec(e);if(!t)return{promptText:e,contextCount:0,previewTitle:null,contexts:[]};let n=e.slice(0,t.index).replace(/\n+$/,``),r=SYe(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(`
|
|
@@ -1010,13 +1010,13 @@ If init has been called in the preload and contextIsolation is disabled, is not
|
|
|
1010
1010
|
`):null,contexts:r}}function bYe(e){let t=uYe.exec(e);if(!t)return{promptText:e,cmmdContext:null};let n=(t[1]??``).trim();return{promptText:e.slice(t[0].length).replace(/^\n+/,``),cmmdContext:n.length>0?{body:n}:null}}function xYe(e){let t=bYe(e),n=yYe(t.promptText);return{visibleText:n.promptText,copyText:e,contextCount:n.contextCount,previewTitle:n.previewTitle,contexts:n.contexts,cmmdContext:t.cmmdContext}}function SYe(e){let t=[],n=null,r=()=>{n&&=(t.push({header:n.header,body:n.bodyLines.join(`
|
|
1011
1011
|
`).trimEnd()}),null)};for(let t of e.split(`
|
|
1012
1012
|
`)){let e=/^- (.+):$/.exec(t);if(e){r(),n={header:e[1],bodyLines:[]};continue}if(n){if(t.startsWith(` `)){n.bodyLines.push(t.slice(2));continue}t.length===0&&n.bodyLines.push(``)}}return r(),t}function fY(e){let t=0;for(let n of e)n===``&&(t+=1);return t}function pY(e,t){let n=t-fY(e);return n<=0?e:`${``.repeat(n)}${e}`}function CYe(e){return e===void 0||e===` `||e===`
|
|
1013
|
-
`||e===` `||e===`\r`}function wYe(e,t){let n=Math.max(0,Math.min(e.length,Math.floor(t))),r=`${CYe(e[n-1])?``:` `} `,i=e[n]===` `?n+1:n;return{prompt:`${e.slice(0,n)}${r}${e.slice(i)}`,cursor:n+r.length,contextIndex:fY(e.slice(0,n))}}function TYe(e){return e.replaceAll(``,``)}function EYe(e,t){if(t<0)return{prompt:e,cursor:e.length};let n=0;for(let r=0;r<e.length;r+=1)if(e[r]===``){if(n===t)return{prompt:e.slice(0,r)+e.slice(r+1),cursor:r};n+=1}return{prompt:e,cursor:e.length}}function mY(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var hY=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return hY(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return hY(t)(e)}}}},gY=(e,t)=>(n,r,i)=>{let a={storage:mY(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return hY(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++s,u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},_Y=e=>Symbol.iterator in e,vY=e=>`entries`in e,yY=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},DYe=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function OYe(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:_Y(e)&&_Y(t)?vY(e)&&vY(t)?yY(e,t):DYe(e,t):yY({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function bY(e){let t=F.useRef(void 0);return n=>{let r=e(n);return OYe(t.current,r)?t.current:t.current=r}}function xY(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}function kYe(e){return e!=null&&typeof e.getItem==`function`&&typeof e.setItem==`function`&&typeof e.removeItem==`function`}function SY(e){return kYe(e)?e:xY()}var CY=xY();function wY(){return globalThis.localStorage||globalThis.window?.localStorage}var TY={getItem:e=>{try{let t=wY()?.getItem(e);if(t!==void 0)return t}catch{}return CY.getItem(e)},setItem:(e,t)=>{try{let n=wY();if(n){n.setItem(e,t);return}}catch{}CY.setItem(e,t)},removeItem:e=>{try{let t=wY();if(t){t.removeItem(e);return}}catch{}CY.removeItem(e)}};function EY(e){let t=TY.getItem(e);return typeof t==`string`?t:null}function DY(e,t){TY.setItem(e,t)}function AYe(e){TY.removeItem(e)}function jYe(e,t=300){let n=SY(e),r=new Yt((e,t)=>{n.setItem(e,t)},{wait:t});return{getItem:e=>n.getItem(e),setItem:(e,t)=>{r.maybeExecute(e,t)},removeItem:e=>{r.cancel(),n.removeItem(e)},flush:()=>{r.flush()}}}var OY=[`draftsByThreadKey`,`draftThreadsByThreadKey`,`logicalProjectDraftThreadKeyByLogicalProjectKey`],MYe=[`stickyModelSelectionByProvider`,`stickyActiveProvider`];function NYe(e){let t=kY(e.nextLocal,e.version,!1);if(!t)return e.currentStored??e.nextLocal;if(e.currentStored!==null&&e.canMigrate!==void 0&&!e.canMigrate(e.currentStored,e.version))return e.currentStored;if(e.previousLocal===e.currentStored&&(e.canMigrate??PYe)(e.currentStored,e.version))return e.nextLocal;let n=kY(e.previousLocal,e.version,!0),r=kY(e.currentStored,e.version,!0);if(!r||!n)return e.currentStored??e.nextLocal;let i={...r.state};for(let e of OY)i[e]=RYe(n.state[e],r.state[e],t.state[e]);for(let e of MYe)AY(n.state[e],t.state[e])||(i[e]=t.state[e]);return JSON.stringify({...r,version:e.version,state:i})}function PYe(e,t){if(e===null)return!0;try{let n=JSON.parse(e);return!jY(n)||!jY(n.state)||typeof n.version!=`number`||!Number.isInteger(n.version)?!1:n.version>=1&&n.version<t}catch{return!1}}function kY(e,t,n){if(e===null)return n?{version:t,state:LYe()}:null;let r=FYe(e);return r&&IYe(r,t)?{version:t,state:r.state}:null}function FYe(e){try{let t=JSON.parse(e);return jY(t)?t:null}catch{return null}}function IYe(e,t){let n=e.state;return e.version!==t||!jY(n)?!1:OY.every(e=>jY(n[e]))}function LYe(){return Object.fromEntries(OY.map(e=>[e,{}]))}function RYe(e,t,n){let r={...t};for(let t of new Set([...Object.keys(e),...Object.keys(n)]))AY(e[t],n[t])||(t in n?r[t]=n[t]:delete r[t]);return r}function AY(e,t){return JSON.stringify(e)===JSON.stringify(t)}function jY(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function zYe(e){let t;return{getItem:n=>{let r=e.storage.getItem(n);return t===void 0&&(t=r),r},setItem:(n,r)=>{let i=e.storage.getItem(n),a=NYe({previousLocal:t??null,currentStored:i,nextLocal:r,version:e.version,...e.canMigrate===void 0?{}:{canMigrate:e.canMigrate}});(a!==i||i===r)&&(e.storage.setItem(n,a),t=r)},removeItem:n=>{e.storage.removeItem(n),t=null}}}function MY(e){let t=e.auth.status!==`unauthenticated`||e.auth.provenance?.credentialScope===`proxied`;return e.enabled&&e.installed&&e.status===`ready`&&t&&e.models.length>0}var NY={providers:{codex:!0,claude:!1,cmmd:!0},allowedWallets:[`personal`],updatedAt:`1970-01-01T00:00:00.000Z`};function PY(e){if(e==null)return NY;let t=e.providers,n=e.allowedWallets;return{providers:{...NY.providers,...t},allowedWallets:Array.isArray(n)&&n.length>0?n:NY.allowedWallets,updatedAt:typeof e.updatedAt==`string`?e.updatedAt:NY.updatedAt}}function BYe(e){switch(e){case`codex`:return`codex`;case`claudeAgent`:return`claude`;case`cmmd`:case`apex`:return`cmmd`;default:return null}}var VYe=[`codex`,`claudeAgent`,`cmmd`];function HYe(e,t){if(t==null)return null;let n=t.providers;if(typeof n!=`object`||!n)return null;let r=n[e];return typeof r==`boolean`?r:null}function FY(e,t){let n=BYe(e);if(n===null)return{offered:!1,reason:`unknown-provider`};let r=HYe(n,t);return r===!0?{offered:!0}:r===!1?{offered:!1,reason:`org-disabled`}:PY(t).providers[n]===!0?{offered:!0}:{offered:!1,reason:`policy-unavailable`}}function IY(e,t){return FY(e,t).offered}function UYe(e,t){return LY(e,t).offered}function LY(e,t){return t===null?{offered:!0}:FY(e,t)}function RY(e,t){return PY(t).allowedWallets.includes(e)}function zY(e){return RY(`personal`,e)}function WYe(e){return e===`claudeAgent`||e===`codex`}function GYe(e,t){return e!==`claudeAgent`||zY(t)||IY(`claudeAgent`,t)}function KYe(e){return e.isDebugDisclosureEnabled||WYe(e.provider)&&zY(e.policy)?!1:!IY(e.provider===`apex`?`apex`:e.provider,e.policy)}var BY={credential_expired_refreshing:`CREDENTIAL_EXPIRED_REFRESHING`,credential_reconnect_required:`CREDENTIAL_RECONNECT_REQUIRED`,credential_not_connected:`CREDENTIAL_RECONNECT_REQUIRED`,credential_generation_not_applied:`CREDENTIAL_GENERATION_NOT_APPLIED`,runtime_unavailable:`RUNTIME_UNAVAILABLE`};function qYe(e){return typeof e!=`string`||!Object.hasOwn(BY,e)?null:BY[e]??null}var JYe=new Set([`pending`,`claimed`,`activating`]),YYe=2e3;function VY(e){return{runtimeId:e,dataUpdatedAt:0,consecutiveUnavailableResponses:0,consecutiveFailedResponses:0}}function XYe(e){let t=e.current.runtimeId===e.runtimeId?e.current:VY(e.runtimeId);return e.dataUpdatedAt===0||e.dataUpdatedAt===t.dataUpdatedAt?t:{runtimeId:e.runtimeId,dataUpdatedAt:e.dataUpdatedAt,consecutiveUnavailableResponses:e.readinessUnavailable?t.consecutiveUnavailableResponses+1:0,consecutiveFailedResponses:e.deliveryStatus===`failed`?t.consecutiveFailedResponses+1:0}}function ZYe(e,t){if(!e.claudeOffered||!e.claudeConnected)return!1;let n=qYe(e.reason);return n===`CREDENTIAL_EXPIRED_REFRESHING`?!0:e.deliveryStatus===`failed`?n!==`CREDENTIAL_RECONNECT_REQUIRED`&&t.consecutiveFailedResponses<16:e.deliveryStatus===null?t.consecutiveUnavailableResponses>0&&t.consecutiveUnavailableResponses<3:JYe.has(e.deliveryStatus)}function HY(e){return e.credentialMode===`runtime`?e.provider&&MY(e.provider)?{eligible:!0}:{eligible:!1,reason:`runtime-unavailable`}:e.access.status===`loading`?{eligible:!1,reason:`access-loading`}:e.access.status===`error`?{eligible:!1,reason:`access-error`}:QYe({provider:e.provider,providerKind:e.providerKind,policy:e.access.policy,personalConnections:e.access.personalConnections,personalReconnectRequired:e.access.personalReconnectRequired,claudeRuntimeReadiness:e.access.claudeRuntimeReadiness})}function QYe(e){return!e.provider||!MY(e.provider)?{eligible:!1,reason:`runtime-unavailable`}:e.policy===null?{eligible:!1,reason:`access-error`}:IY(e.providerKind,e.policy)?UY({providerKind:e.providerKind,policy:e.policy,personalConnections:e.personalConnections,personalReconnectRequired:e.personalReconnectRequired,claudeRuntimeReadiness:e.claudeRuntimeReadiness,stage:`live-runtime`}):{eligible:!1,reason:`not-offered`}}function $Ye(e){return e.access.status===`loading`?{eligible:!1,reason:`access-loading`}:e.access.status===`error`||e.access.policy===null?{eligible:!1,reason:`access-error`}:IY(e.providerKind,e.access.policy)?UY({providerKind:e.providerKind,policy:e.access.policy,personalConnections:e.access.personalConnections,personalReconnectRequired:e.access.personalReconnectRequired,claudeRuntimeReadiness:e.access.claudeRuntimeReadiness,stage:`provisioning`}):{eligible:!1,reason:`not-offered`}}function UY(e){return e.providerKind===`cmmd`||e.providerKind===`apex`?{eligible:!0}:e.providerKind!==`codex`&&e.providerKind!==`claudeAgent`?{eligible:!1,reason:`not-offered`}:eXe({providerKind:e.providerKind,personalConnections:e.personalConnections,personalReconnectRequired:e.personalReconnectRequired,claudeRuntimeReadiness:e.claudeRuntimeReadiness,workspaceWalletAllowed:RY(`workspace`,e.policy),stage:e.stage})}function eXe(e){return tXe(e.workspaceWalletAllowed)?{eligible:!0}:nXe(e.providerKind,e.personalReconnectRequired)?{eligible:!1,reason:`personal-credential-reconnect-required`}:rXe(e.providerKind,e.personalConnections)?oXe(e)?{eligible:!1,reason:`environment-not-running`}:iXe(e)?{eligible:!0}:{eligible:!1,reason:`native-runtime-not-ready`}:{eligible:!1,reason:`personal-credential-required`}}function tXe(e){return e&&!1}function nXe(e,t){return e===`codex`&&t?.codex===!0}function rXe(e,t){return t?.[e]===!0}function iXe(e){return e.providerKind!==`claudeAgent`||e.stage===`provisioning`||sXe(e.claudeRuntimeReadiness)}var aXe=`runtime_unavailable`;function oXe(e){return e.providerKind!==`claudeAgent`||e.stage===`provisioning`?!1:e.claudeRuntimeReadiness?.reason===aXe}function sXe(e){if(!cXe(e))return!1;let t=e.deliveryReceipt?.identity;return t?.kind===`credential_generation`&&t.provider===`claude`&&t.credentialGenerationId===e.generationId}function cXe(e){return e?.connected===!0&&e.nativeExecutable===!0&&typeof e.generationId==`string`&&e.generationId.trim().length>0}function WY(e){return e.providers.filter(t=>HY({provider:t,providerKind:t.provider,access:e.access,credentialMode:e.credentialMode}).eligible)}function lXe(e){if(e.status!==`ready`)return!1;if(e.policy===null)return!0;let t=e.policy.providers,n=RY(`workspace`,e.policy);return t.cmmd?!0:RY(`personal`,e.policy)||n?t.codex&&e.personalConnections?.codex===!0||t.claude&&e.personalConnections?.claudeAgent===!0:!1}var uXe={providers:{codex:!1,claude:!1,cmmd:!1},allowedWallets:[`personal`],updatedAt:`1970-01-01T00:00:00.000Z`},GY=[`cmmd`,`forge-provider-access`],dXe=YYe,fXe=new Set([`not_connected`,`pending`,`claimed`,`activating`,`applied`,`failed`,`stale`]),pXe=[`generationId`,`nativeVerifiedAt`,`reason`,`lastErrorCode`,`lastErrorMessage`],KY=class extends Error{constructor(e){super(e===`auth`?`Your CMMD session expired. Sign in again to verify Claude runtime readiness.`:`CMMD denied access to verify Claude runtime readiness. Check your organization permissions.`),this.name=`ForgeProviderAccessAuthorityError`}};function mXe(e,t){return!(t instanceof KY)&&e<3}function hXe(e,t=null){return[...GY,e,t]}async function gXe(e){e.queryClient.setQueriesData({queryKey:GY},t=>_Xe(t,e.provider,e.connected)),await e.queryClient.invalidateQueries({queryKey:GY,refetchType:`all`})}function _Xe(e,t,n){return e?.status!==`ready`||e.personalConnections===null?e:{...e,personalConnections:{...e.personalConnections,[t]:n},...t===`codex`?{personalReconnectRequired:{codex:!1}}:{},...t===`claudeAgent`?{claudeRuntimeReadiness:null}:{}}}async function qY(e,t=null){if(e===`runtime`)return{status:`ready`,policy:null,personalConnections:null,providerAccounts:[],claudeRuntimeReadiness:null};let n=XK(),r=IXe(await n.getOrgProviderPolicy());RY(`workspace`,r);let[i,a,o,s]=await Promise.all([bXe(()=>n.getProviderAccounts()),YY({enabled:r.providers.codex,load:()=>n.getUserCodexCredential(),provider:`codex`}),YY({enabled:r.providers.claude,load:()=>n.getUserClaudeCredential(),provider:`claudeAgent`}),TXe({enabled:r.providers.claude,runtimeId:t,load:e=>n.getClaudeRuntimeReadiness(e)})]),c=i.accounts.filter(e=>e.provider===`codex`?r.providers.codex:r.providers.claude),l=vXe(c),u=l.codex||a.connected,d=l.claudeAgent||o.connected,f=c.some(e=>e.provider===`codex`&&e.needsReconnect)||a.reconnectRequired;return{status:`ready`,policy:r,personalConnections:{codex:u,claudeAgent:d},providerAccounts:c,...f?{personalReconnectRequired:{codex:!0}}:{},claudeRuntimeReadiness:s}}function vXe(e){return{codex:e.some(e=>e.provider===`codex`&&!e.needsReconnect),claudeAgent:e.some(e=>e.provider===`claudeAgent`&&!e.needsReconnect)}}function yXe(e,t){if(e.status!==`ready`)return;let n=e.providerAccounts??[];return(n.find(e=>e.provider===t&&e.isDefault&&!e.needsReconnect)??n.find(e=>e.provider===t&&!e.needsReconnect))?.providerAccountId}async function bXe(e){try{return xXe(await e())}catch{return{accounts:[]}}}function xXe(e){if(!XY(e)||!Array.isArray(e.accounts))throw Error(`CMMD returned invalid provider accounts.`);return{accounts:e.accounts.filter(SXe)}}function SXe(e){return XY(e)?CXe(e.provider)&&wXe(e.providerAccountId)&&JY(e.accountEmail)&&(e.accountDisplayName===void 0||JY(e.accountDisplayName))&&JY(e.planType)&&typeof e.isDefault==`boolean`&&typeof e.needsReconnect==`boolean`:!1}function CXe(e){return e===`codex`||e===`claudeAgent`}function wXe(e){return typeof e==`string`&&e.trim().length>0}function JY(e){return typeof e==`string`||e===null}async function TXe(e){if(!e.enabled||e.runtimeId===null)return null;try{return OXe(await e.load(e.runtimeId),e.runtimeId)}catch(e){if(e instanceof gr&&(e.kind===`auth`||e.kind===`permission`))throw new KY(e.kind);return null}}async function YY(e){if(!e.enabled)return{connected:!1,reconnectRequired:!1};try{return zXe(await e.load(),e.provider)}catch{return{connected:!1,reconnectRequired:!1}}}function EXe(e){let t=e?.policy?.providers.claude===!0,n=e?.personalConnections?.claudeAgent===!0;return{claudeOffered:t,claudeConnected:n,deliveryStatus:e?.claudeRuntimeReadiness?.deliveryStatus??null,reason:e?.claudeRuntimeReadiness?.reason??null,readinessUnavailable:t&&n&&e?.claudeRuntimeReadiness===null}}function DXe(e){let t=(0,Sl.c)(18),n=e.runtimeId??null,r;t[0]===n?r=t[1]:(r=VY(n),t[0]=n,t[1]=r);let i=(0,F.useRef)(r),a;t[2]!==e.credentialMode||t[3]!==n?(a=hXe(e.credentialMode,n),t[2]=e.credentialMode,t[3]=n,t[4]=a):a=t[4];let o;t[5]===n?o=t[6]:(o=()=>qY(`cmmd-cloud`,n),t[5]=n,t[6]=o);let s=e.enabled&&e.credentialMode===`cmmd-cloud`,c;t[7]===n?c=t[8]:(c=e=>{if(e.state.error instanceof KY)return!1;let t=EXe(e.state.data);return i.current=XYe({current:i.current,runtimeId:n,dataUpdatedAt:e.state.dataUpdatedAt,readinessUnavailable:n!==null&&t.readinessUnavailable,deliveryStatus:t.deliveryStatus}),n!==null&&ZYe(t,i.current)?dXe:!1},t[7]=n,t[8]=c);let l;t[9]!==a||t[10]!==o||t[11]!==s||t[12]!==c?(l={queryKey:a,queryFn:o,enabled:s,retry:mXe,staleTime:3e4,refetchInterval:c},t[9]=a,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13];let u=ji(l);if(!e.enabled){let e;return t[14]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`loading`},t[14]=e):e=t[14],e}if(e.credentialMode===`runtime`){let e;return t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`ready`,policy:null,personalConnections:null,providerAccounts:[],claudeRuntimeReadiness:null},t[15]=e):e=t[15],e}if(u.isPending){let e;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`loading`},t[16]=e):e=t[16],e}if(u.isError||!u.data){let e;return t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`error`},t[17]=e):e=t[17],e}return u.data}function OXe(e,t){if(!XY(e)||!PXe(e)||!kXe(e,t))throw Error(`CMMD returned invalid Claude runtime readiness.`);return e}function kXe(e,t){if(e.deliveryReceipt===null)return e.nativeExecutable!==!0;if(!XY(e.deliveryReceipt))return!1;let n=e.deliveryReceipt,r=XY(n.identity)?n.identity:null;return r!==null&&AXe(n,t)&&NXe(r,e.generationId)}function AXe(e,t){return jXe(e,t)&&MXe(e)}function jXe(e,t){return typeof e.receiptId==`string`&&e.receiptId.trim().length>0&&e.runtimeId===t&&typeof e.machineId==`string`&&e.machineId.trim().length>0&&typeof e.credentialEpoch==`number`&&Number.isSafeInteger(e.credentialEpoch)&&e.credentialEpoch>=0}function MXe(e){return typeof e.issuedAt==`string`&&Number.isFinite(Date.parse(e.issuedAt))&&e.expiresAt===null}function NXe(e,t){return e.kind===`credential_generation`&&e.provider===`claude`&&typeof e.credentialGenerationId==`string`&&e.credentialGenerationId===t}function PXe(e){return typeof e.connected==`boolean`&&fXe.has(String(e.deliveryStatus))&&typeof e.nativeExecutable==`boolean`&&pXe.every(t=>FXe(e[t]))}function FXe(e){return e===null||typeof e==`string`}function IXe(e){if(!XY(e)||!XY(e.providers))throw Error(`CMMD returned an invalid organization provider policy.`);let{providers:t,allowedWallets:n,updatedAt:r}=e,i=RXe(n,r);if(!LXe(t)||i===null)throw Error(`CMMD returned an invalid organization provider policy.`);return{providers:{codex:t.codex,claude:t.claude,cmmd:t.cmmd},allowedWallets:[...new Set(i.allowedWallets)],updatedAt:i.updatedAt}}function LXe(e){return typeof e.codex==`boolean`&&typeof e.claude==`boolean`&&typeof e.cmmd==`boolean`}function RXe(e,t){return Array.isArray(e)&&e.length>0&&e.every(BXe)&&typeof t==`string`&&t.trim().length>0?{allowedWallets:e,updatedAt:t}:null}function zXe(e,t){if(!XY(e)||typeof e.connected!=`boolean`)throw Error(`CMMD returned an invalid ${t} connection state.`);if(!e.connected)return{connected:!1,reconnectRequired:!1};if(t===`codex`){if(typeof e.needsReconnect!=`boolean`)throw Error(`CMMD returned an invalid Codex connection state.`);return{connected:!e.needsReconnect,reconnectRequired:e.needsReconnect}}if(typeof e.generationId!=`string`||e.generationId.trim().length===0)throw Error(`CMMD returned an invalid Claude connection state.`);return{connected:!0,reconnectRequired:!1}}function BXe(e){return e===`personal`||e===`workspace`}function XY(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function VXe(e){return e.status===`ready`?e.policy:uXe}var HXe={reasoningEffortLevels:[],supportsFastMode:!1,supportsThinkingToggle:!1,contextWindowOptions:[],promptInjectedEffortLevels:[]},ZY=[`codex`,`claudeAgent`,`apex`];function QY(e){for(let t of ZY){let n=e.find(e=>e.provider===t);if(n&&eX(n))return t}return e.find(eX)?.provider??null}function $Y(e,t){return e.find(e=>e.provider===t)?.models??[]}function eX(e){return MY(e)}function tX(e,t){let n=t??QY(e)??`codex`,r=e.find(e=>e.provider===n);if(r&&eX(r)||n===`codex`)return n;for(let t of ZY){let n=e.find(e=>e.provider===t);if(n&&eX(n))return t}return`codex`}function nX(e,t,n,r){let i=WY({providers:e,access:n,credentialMode:r});return t&&i.some(e=>e.provider===t)?t:QY(i)}function UXe(e,t,n,r){return t==null?nX(e,null,n,r):WY({providers:e,access:n,credentialMode:r}).some(e=>e.provider===t)?t:null}function rX(e,t,n){let r=Qq(t,n);return e.find(e=>e.slug===r)?.capabilities??HXe}function iX(e,t,n){let r=$Y(e,t).filter(e=>!e.isLegacy);return r.find(e=>e.slug===n)?.slug??r.find(e=>e.isDefault)?.slug??r.find(e=>e.slug===On[t])?.slug??r.find(e=>!e.isCustom)?.slug??r[0]?.slug??On[t]}function aX(e){let{provider:t,model:n,models:r,prompt:i,modelOptions:a}=e,o=rX(r,n,t),s=a?.[t],c=Jq(o,s?`effort`in s?s.effort:`reasoningEffort`in s?s.reasoningEffort:null:null)??null,l=t===`codex`?Uqe(o,s):Wqe(o,s),u=o.promptInjectedEffortLevels.length>0&&Zq(i);return{provider:t,promptEffort:c,modelOptionsForDispatch:l,...u?{composerFrameClassName:`ultrathink-frame`}:{},...u?{composerSurfaceClassName:`shadow-[0_0_0_1px_rgba(255,255,255,0.04)_inset]`}:{},...u?{modelPickerIconClassName:`ultrathink-chroma`}:{}}}function oX(e,t,n,r){return $Y(t,n).map(({slug:e,name:t,isCustom:n,isDefault:r,isLegacy:i})=>({slug:e,name:t,isCustom:n,isDefault:r,isLegacy:i}))}function sX(e,t,n,r,i){let a=$q(e,r,oX(t,n,e,r));if(a&&!eJ(a,e))return a;let o=cX(n,e,i),s=$q(o,r,oX(t,n,o,r))??iX(n,o);return e&&eJ(s,e)?iX(n,e):s}function cX(e,t,n){return!t||!IY(t,n)?tX(e,`codex`):tX(e,t)}function WXe(e,t,n,r){return{codex:oX(e,t,`codex`,n===`codex`?r:void 0),claudeAgent:oX(e,t,`claudeAgent`,n===`claudeAgent`?r:void 0),ollama:oX(e,t,`ollama`,n===`ollama`?r:void 0),cmmd:oX(e,t,`cmmd`,n===`cmmd`?r:void 0),apex:oX(e,t,`apex`,n===`apex`?r:void 0),cursor:oX(e,t,`cursor`,n===`cursor`?r:void 0),opencode:oX(e,t,`opencode`,n===`opencode`?r:void 0)}}function GXe(e,t,n){let r=e.textGenerationModelSelection??{provider:`codex`,model:one.codex},i=cX(t,r.provider,n),a=sX(i,e,t,i===r.provider?r.model:null,n),{modelOptionsForDispatch:o}=aX({provider:i,model:a,models:$Y(t,i),prompt:``,modelOptions:{[i]:i===r.provider?r.options:void 0}});return{provider:i,model:a,...o?{options:o}:{}}}function lX(e){return e?.options?{[e.provider]:e.options}:null}function KXe(e){if(!e)return null;let t={};for(let[n,r]of Object.entries(e))r?.options&&(t[n]=r.options);return Object.keys(t).length>0?t:null}function qXe(e){if(e.activeSelection&&`providerAccountId`in e.activeSelection)return e.activeSelection.providerAccountId;for(let t of e.candidates)if(t?.provider===e.selectedProvider&&`providerAccountId`in t)return t.providerAccountId}function JXe(e){let t=t=>t!==void 0&&eJ(t,e.selectedProvider)?void 0:t,n=t(e.threadModelSelection?.provider===e.selectedProvider?e.threadModelSelection.model:void 0),r=t(e.projectModelSelection?.provider===e.selectedProvider?e.projectModelSelection.model:void 0),i=Qq(n??r,e.selectedProvider)??iX(e.providers,e.selectedProvider),a=e.draft?.modelSelectionByProvider?.[e.selectedProvider],o=qXe({activeSelection:a,selectedProvider:e.selectedProvider,candidates:[e.threadModelSelection,e.projectModelSelection]}),s=t(a?.model),c=s?sX(e.selectedProvider,e.settings,e.providers,s):i,l=KXe(e.draft?.modelSelectionByProvider)??lX(e.threadModelSelection)??lX(e.projectModelSelection)??null;return{selectedModel:c,...o?{selectedProviderAccountId:o}:{},modelOptions:l}}var uX=nr({id:j,name:j,mimeType:j,sizeBytes:Ln,dataUrl:j}),dX=nr({id:j,name:j,mimeType:j,sizeBytes:Ln}),fX=nr({id:j,threadId:Vn,createdAt:j,terminalId:j,terminalLabel:j,lineStart:Ln,lineEnd:Ln}),YXe=nr({prompt:j,attachments:Jn(uX),files:cn(Jn(dX)),terminalContexts:Jn(fX),startedAt:j,commandId:cn(sn),messageId:cn(Hn),modelSelection:cn(Qn),runtimeMode:cn(Pn),interactionMode:cn(Gn),executionIntent:cn(nr({runtimeId:j,intentId:cn(j)}))});function pX(e,t){return Array.isArray(e)?e.flatMap(e=>t(e)??[]):[]}function XXe(e){if(!(!e||typeof e.runtimeId!=`string`))return{runtimeId:e.runtimeId,...typeof e.intentId==`string`?{intentId:e.intentId}:{}}}function ZXe(e){return{...typeof e.commandId==`string`?{commandId:sn.make(e.commandId)}:{},...typeof e.messageId==`string`?{messageId:Hn.make(e.messageId)}:{}}}function QXe(e,t){let n=t.modelSelection(e.modelSelection);return{...n?{modelSelection:n}:{},...t.runtimeMode(e.runtimeMode)?{runtimeMode:e.runtimeMode}:{},...e.interactionMode==="default"||e.interactionMode===`plan`?{interactionMode:e.interactionMode}:{}}}function $Xe(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(typeof n.prompt!=`string`||typeof n.startedAt!=`string`)return null;let r=XXe(n.executionIntent);return{prompt:n.prompt,attachments:pX(n.attachments,t.attachment),files:pX(n.files,t.file),terminalContexts:pX(n.terminalContexts,t.terminalContext),startedAt:n.startedAt,...ZXe(n),...QXe(n,t),...r?{executionIntent:r}:{}}}function eZe(e){return{id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}}function tZe(e){return{prompt:e.prompt,attachments:[...e.attachments],files:[...e.files],terminalContexts:e.terminalContexts.map(eZe),startedAt:e.startedAt,...e.commandId?{commandId:e.commandId}:{},...e.messageId?{messageId:e.messageId}:{},...e.modelSelection?{modelSelection:e.modelSelection}:{},...e.runtimeMode?{runtimeMode:e.runtimeMode}:{},...e.interactionMode?{interactionMode:e.interactionMode}:{},...e.executionIntent?{executionIntent:e.executionIntent}:{}}}function nZe(e){return e?{...e,attachments:[...e.attachments],files:[...e.files??[]],terminalContexts:e.terminalContexts.map(e=>({...e,text:``}))}:null}function rZe(e,t,n,r){let i=e[t];if(i?.stagedSubmission)return null;let a=aZe(i??iZe(),r,n);return a?{previousDraft:i,restoredDraft:a,drafts:{...e,[t]:a}}:null}function iZe(){return{prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null}}function mX(e){return`${e.mimeType}\u0000${e.sizeBytes}\u0000${e.name}`}function hX(e){return`${e.terminalId}\u0000${e.lineStart}\u0000${e.lineEnd}`}function gX(e,t){let n=t.terminalId.trim(),r=t.terminalLabel.trim(),i=cY(t.text);if(!n||!r)return null;let a=Math.max(1,Math.floor(t.lineStart));return{...t,threadId:e,terminalId:n,terminalLabel:r,lineStart:a,lineEnd:Math.max(a,Math.floor(t.lineEnd)),text:i}}function _X(e,t){let n=new Set,r=new Set,i=[];for(let a of t){let t=gX(e,a);if(!t)continue;let o=hX(t);n.has(t.id)||r.has(o)||(i.push(t),n.add(t.id),r.add(o))}return i}function aZe(e,t,n){let r=sZe(e,t);if(!r)return null;let i=oZe(e.files??[],t.files);if(r.images.length+i.length>8)return null;let a=cZe(e,t,n),o=[e.prompt,t.prompt].filter(e=>e.length>0).join(`
|
|
1014
|
-
`);return{...e,prompt:pY(o,a.contexts.length),images:r.images,files:i,persistedAttachments:r.attachments,terminalContexts:a.contexts,stashTerminalContexts:[...e.stashTerminalContexts??[],...a.restoredSnapshots]}}function oZe(e,t){let n=new Set(e.map(e=>e.id));return[...e,...t.filter(e=>!n.has(e.id))]}function sZe(e,t){let n=new Map(t.attachments.map(e=>[e.id,e])),r=[...e.images],i=e.persistedAttachments.filter(t=>e.images.some(e=>e.id===t.id)),a=new Set(r.map(e=>e.id)),o=new Set(r.map(mX));for(let e of t.images){let t=n.get(e.id);if(!t)return null;let s=mX(e);a.has(e.id)||o.has(s)||(r.push(e),i.push(t),a.add(e.id),o.add(s))}return r.length>8?null:{images:r,attachments:i}}function cZe(e,t,n){let r=[...e.terminalContexts],i=new Set(r.map(e=>e.id)),a=new Set(r.map(hX)),o=[];for(let e of t.terminalContexts){let t=gX(n,e);!t||i.has(t.id)||a.has(hX(t))||(r.push(t),o.push(t),i.add(t.id),a.add(hX(t)))}return{contexts:r,restoredSnapshots:o}}function lZe(e,t){return e.prompt===t.prompt&&JSON.stringify(e.attachments)===JSON.stringify(t.persistedAttachments)&&JSON.stringify(e.files??[])===JSON.stringify((t.files??[]).map(({file:e,type:t,...n})=>n))&&JSON.stringify(e.terminalContexts??[])===JSON.stringify(t.terminalContexts.map(({text:e,...t})=>t))&&JSON.stringify(e.stashTerminalContexts??[])===JSON.stringify(t.stashTerminalContexts??[])}function vX(e){typeof URL<`u`&&e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}function yX(e){if(!e||typeof e!=`object`)return null;let{id:t,name:n,mimeType:r,sizeBytes:i,dataUrl:a}=e;return typeof t!=`string`||typeof n!=`string`||typeof r!=`string`||typeof i!=`number`||!Number.isFinite(i)||typeof a!=`string`||t.length===0||a.length===0?null:{id:t,name:n,mimeType:r,sizeBytes:i,dataUrl:a}}function bX(e){if(!e||typeof e!=`object`)return null;let{id:t,name:n,mimeType:r,sizeBytes:i}=e;return typeof t!=`string`||t.length===0||typeof n!=`string`||typeof r!=`string`||typeof i!=`number`||!Number.isSafeInteger(i)||i<0?null:{id:t,name:n,mimeType:r,sizeBytes:i}}async function uZe(e,t){let n=await Promise.all(e.map(async e=>{let n=await t.read(e);return{...e,type:`file`,file:n}}));return n.length===e.length?n:null}function dZe(e){let t=fZe(e.dataUrl,e.mimeType);return t?new File([t.content],e.name,{type:t.mimeType}):null}function fZe(e,t){let n=e.indexOf(`,`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n+1);if(i.length===0)return null;try{return r.includes(`;base64`)?{content:hZe(i),mimeType:t}:{content:mZe(i),mimeType:pZe(r,t)}}catch{return null}}function pZe(e,t){return!e.startsWith(`data:`)||!e.includes(`;`)?t:e.slice(5,e.indexOf(`;`))||t}function mZe(e){return decodeURIComponent(e)}function hZe(e){let t=atob(e),n=new Uint8Array(new ArrayBuffer(t.length));for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function xX(e){return e.flatMap(e=>{let t=dZe(e);return t?[{type:`image`,id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:e.dataUrl,file:t}]:[]})}function gZe(e){return{prompt:e.prompt,images:[...e.images],files:[...e.files??[]],persistedAttachments:[...e.persistedAttachments],terminalContexts:[...e.terminalContexts]}}function SX({file:e,previewUrl:t,...n}){return n}function _Ze(e,t){return e.prompt===t.prompt&&JSON.stringify(e.images.map(SX))===JSON.stringify(t.images.map(SX))&&JSON.stringify((e.files??[]).map(({file:e,...t})=>t))===JSON.stringify(t.files.map(({file:e,...t})=>t))&&JSON.stringify(e.persistedAttachments)===JSON.stringify(t.persistedAttachments)&&JSON.stringify(e.terminalContexts)===JSON.stringify(t.terminalContexts)}function CX(e){let{lastGeneratedPullRequestPrompt:t,...n}=e;return{...n,prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],stashTerminalContexts:[]}}function wX(e){return e.prompt.length===0&&e.lastGeneratedPullRequestPrompt===void 0&&e.images.length===0&&(e.files?.length??0)===0&&e.persistedAttachments.length===0&&e.terminalContexts.length===0&&Object.keys(e.modelSelectionByProvider).length===0&&e.activeProvider===null&&e.runtimeMode===null&&e.interactionMode===null&&e.stagedSubmission==null}function TX(e){switch(e){case`codex`:case`claudeAgent`:case`ollama`:case`cmmd`:case`apex`:case`cursor`:case`opencode`:return e;default:return null}}function EX(e){return Rn.some(t=>t===e)}function vZe(e){return gne.some(t=>t===e)}function DX(e,t,n){let r=e&&typeof e==`object`?e:null,i=r?.codex&&typeof r.codex==`object`?r.codex:null,a=r?.claudeAgent&&typeof r.claudeAgent==`object`?r.claudeAgent:null,o=EX(i?.reasoningEffort)?i.reasoningEffort:t===`codex`&&EX(n?.effort)?n.effort:void 0,s=i?.fastMode===!0?!0:i?.fastMode===!1?!1:t===`codex`&&n?.codexFastMode===!0||typeof n?.serviceTier==`string`&&n.serviceTier===`fast`||void 0,c=o!==void 0||s!==void 0?{...o===void 0?{}:{reasoningEffort:o},...s===void 0?{}:{fastMode:s}}:void 0,l=a?.thinking===!0||a?.thinking!==!1&&void 0,u=vZe(a?.effort)?a.effort:void 0,d=a?.fastMode===!0||a?.fastMode!==!1&&void 0,f=typeof a?.contextWindow==`string`&&a.contextWindow.length>0?a.contextWindow:void 0,p=l!==void 0||u!==void 0||d!==void 0||f!==void 0?{...l===void 0?{}:{thinking:l},...u===void 0?{}:{effort:u},...d===void 0?{}:{fastMode:d},...f===void 0?{}:{contextWindow:f}}:void 0;return!c&&!p?null:{...c?{codex:c}:{},...p?{claudeAgent:p}:{}}}function OX(e,t){let n=e&&typeof e==`object`?e:null,r=TX(n?.provider??t?.provider);if(r===null)return null;let i=n?.model??t?.model;if(typeof i!=`string`)return null;let a=Qq(i,r);if(!a)return null;let o=DX(n?.options?{[r]:n.options}:t?.modelOptions,r,r===`codex`?t?.legacyCodex:void 0),s=r===`codex`?o?.codex:o?.claudeAgent,c=n?.providerAccountId,l=typeof c==`string`&&c.trim().length>0?c.trim():void 0;return{provider:r,model:a,...l?{providerAccountId:l}:{},...s?{options:s}:{}}}function kX(e,t){if(e===null)return null;let n=t?.[e.provider];return{provider:e.provider,model:e.model,...`providerAccountId`in e&&e.providerAccountId?{providerAccountId:e.providerAccountId}:{},...n?{options:n}:{}}}function AX(e,t){return e?.options===void 0?DX(t):yZe(DX(t),e.provider,e.options)}function yZe(e,t,n){let{[t]:r,...i}=e??{},a=DX({[t]:n},t);return DX({...i,...a||{}})}function jX(e,t){let n={};if(t)for(let r of[`codex`,`claudeAgent`]){let i=t[r];i&&Object.keys(i).length>0&&(n[r]={provider:r,model:e?.provider===r?e.model:On[r],options:i})}return e&&(n[e.provider]=e),n}var MX=`forge:composer-drafts:v1`,NX=5,bZe=Fn([`local`,`worktree`]),PX=zte(Pn),FX=jYe(zYe({storage:typeof localStorage<`u`?localStorage:xY(),version:NX,canMigrate:wZe}),300);typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{FX.flush()});var xZe=nr({prompt:j,lastGeneratedPullRequestPrompt:cn(j),attachments:Jn(uX),files:cn(Jn(dX)),terminalContexts:cn(Jn(fX)),stashTerminalContexts:cn(Jn(nr({...fX.fields,text:j}))),modelSelectionByProvider:cn(In(er,cn(Qn))),activeProvider:cn(Kn(er)),runtimeMode:cn(Pn),interactionMode:cn(Gn),stagedSubmission:cn(YXe)});nr({effort:cn(Fn(Rn)),codexFastMode:cn(Xn),serviceTier:cn(j)}),nr({provider:cn(er),model:cn(j),modelOptions:cn(Kn(bn))}),nr({stickyProvider:cn(er),stickyModel:cn(j),stickyModelOptions:cn(Kn(bn))});var SZe=nr({threadId:Vn,environmentId:j,projectId:tn,logicalProjectKey:cn(j),createdAt:j,runtimeMode:Pn,interactionMode:Gn,branch:Kn(j),worktreePath:Kn(j),envMode:bZe,promotedTo:cn(Kn(nr({environmentId:j,threadId:j}))),anchorKind:cn(Qte),anchorCmmdId:cn(Kn(j)),linkedPullRequest:cn(Kn(rne))}),CZe=nr({draftsByThreadKey:In(j,xZe),draftThreadsByThreadKey:In(j,SZe),logicalProjectDraftThreadKeyByLogicalProjectKey:In(j,j),stickyModelSelectionByProvider:cn(In(er,cn(Qn))),stickyActiveProvider:cn(Kn(er))}),IX=nr({version:Ln,state:CZe}),LX=vn(IX);function wZe(e,t){if(e===null)return!0;try{let n=JSON.parse(e);if(!n||typeof n!=`object`)return!1;let r=n;return r.version===t?(LX(n),!0):typeof r.version==`number`&&Number.isInteger(r.version)&&r.version>=1&&r.version<t&&r.state!==null&&typeof r.state==`object`}catch{return!1}}function TZe(e){if(e===null)return new Set;try{let t=LX(JSON.parse(e));if(t.version!==NX)return null;let n=new Set;for(let e of Object.values(t.state.draftsByThreadKey)){for(let t of e.files??[])n.add(t.id);for(let t of e.stagedSubmission?.files??[])n.add(t.id)}return n}catch{return null}}function EZe(){FX.flush()}var RX=Object.freeze({draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null}),zX=[],DZe=[],BX=[],VX=[],OZe=[];Object.freeze(zX),Object.freeze(BX),Object.freeze(VX);var HX=Object.freeze({}),kZe=Object.freeze({activeProvider:null,modelSelectionByProvider:HX}),AZe=Object.freeze({prompt:``,images:zX,files:DZe,nonPersistedImageIds:BX,persistedAttachments:VX,terminalContexts:OZe,modelSelectionByProvider:HX,activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null});function UX(){return{prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null}}function WX(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.threadId,i=t.createdAt,a=t.lineStart,o=t.lineEnd;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0||typeof i!=`string`||i.length===0||typeof a!=`number`||!Number.isFinite(a)||typeof o!=`number`||!Number.isFinite(o))return null;let s=typeof t.terminalId==`string`?t.terminalId.trim():``,c=typeof t.terminalLabel==`string`?t.terminalLabel.trim():``;if(s.length===0||c.length===0)return null;let l=Math.max(1,Math.floor(a));return{id:n,threadId:r,createdAt:i,terminalId:s,terminalLabel:c,lineStart:l,lineEnd:Math.max(l,Math.floor(o))}}function jZe(e,t){return e===`local`||e===`worktree`?e:t?`worktree`:`local`}function GX(e){return Uo(e)}function KX(e){return e.trim()}function qX(e){return typeof e==`string`?e.trim():Wo(e)}function JX(e,t){let n=qo(e);return n?qX(n):t?.environmentId?qX(Bo(t.environmentId,e)):e}function MZe(e){return qo(e)}function YX(e,t){if(typeof t==`string`){let e=t.trim();return e.length>0?Gt.make(e):null}return t}function XX(e,t){let n=YX(e,t);if(!n)return null;if(typeof n!=`string`){let t=qX(n);if(e.draftsByThreadKey[t])return t;for(let[t,r]of Object.entries(e.draftThreadsByThreadKey))if(r.environmentId===n.environmentId&&r.threadId===n.threadId)return t;return t}let r=qX(n);return r.length>0?r:null}function ZX(e,t){let n=YX(e,t);return n?typeof n==`string`?e.draftThreadsByThreadKey[n]?.threadId??Vn.make(n):n.threadId:null}function QX(e,t){let n=XX(e,t);return n?e.draftsByThreadKey[n]??null:null}function NZe(e,t){return Object.values(e).includes(t)}function $X(e,t){return{draftId:e,...t}}function PZe(e,t,n,r,i){let a=r!==void 0&&(r.environmentId!==e.environmentId||r.projectId!==e.projectId),o=i?.worktreePath===void 0?a?null:r?.worktreePath??null:i.worktreePath??null,s=i?.branch===void 0?a?null:r?.branch??null:i.branch??null,c=i?.anchorKind===void 0?r?.anchorKind:i.anchorKind??void 0;return{threadId:t,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:n,createdAt:i?.createdAt??r?.createdAt??new Date().toISOString(),runtimeMode:i?.runtimeMode??r?.runtimeMode??`full-access`,interactionMode:i?.interactionMode??r?.interactionMode??`default`,branch:s,worktreePath:o,envMode:i?.envMode??(o?`worktree`:a?`local`:r?.envMode??`local`),promotedTo:null,cmmdTaskId:i?.cmmdTaskId===void 0?r?.cmmdTaskId??null:i.cmmdTaskId,anchorCmmdId:i?.anchorCmmdId===void 0?r?.anchorCmmdId??null:i.anchorCmmdId,linkedPullRequest:i?.linkedPullRequest===void 0?r?.linkedPullRequest??null:i.linkedPullRequest,...c===void 0?{}:{anchorKind:c}}}function eZ(e,t){return!e||!t?e===t:e.environmentId===t.environmentId&&e.threadId===t.threadId}function tZ(e){return e?.promotedTo!==null&&e?.promotedTo!==void 0}function FZe(e,t){return!!e&&e.threadId===t.threadId&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.logicalProjectKey===t.logicalProjectKey&&e.createdAt===t.createdAt&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.envMode===t.envMode&&(e.anchorKind??void 0)===(t.anchorKind??void 0)&&(e.anchorCmmdId??null)===(t.anchorCmmdId??null)&&nZ(e.linkedPullRequest,t.linkedPullRequest)&&eZ(e.promotedTo,t.promotedTo)}function nZ(e,t){return(e?.projectId??null)===(t?.projectId??null)&&(e?.projectRepositoryId??null)===(t?.projectRepositoryId??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.host??null)===(t?.host??null)&&(e?.repository??null)===(t?.repository??null)&&(e?.number??null)===(t?.number??null)&&(e?.url??null)===(t?.url??null)}function rZ(e,t){let n=Object.fromEntries(Object.entries(e.logicalProjectDraftThreadKeyByLogicalProjectKey).filter(([,e])=>e!==t)),{[t]:r,...i}=e.draftThreadsByThreadKey,{[t]:a,...o}=e.draftsByThreadKey;return{draftsByThreadKey:o,draftThreadsByThreadKey:i,logicalProjectDraftThreadKeyByLogicalProjectKey:n}}function iZ(e,t){let n={},r=new Map;if(t&&typeof t==`object`)for(let[e,n]of Object.entries(t)){if(typeof n!=`string`||n.length===0)continue;let t=Ko(e);if(!t)continue;let i=qo(n);if(i){r.set(i.threadId,i.environmentId);continue}r.set(n,t.environmentId)}if(e&&typeof e==`object`)for(let[t,i]of Object.entries(e)){if(typeof t!=`string`||t.length===0||!i||typeof i!=`object`)continue;let e=i,a=qo(t),o=JX(t),s=a?.threadId??(typeof e.threadId==`string`&&e.threadId.length>0?e.threadId:t),c=a?.environmentId??(typeof e.environmentId==`string`&&e.environmentId.length>0?e.environmentId:r.get(t)),l=e.projectId,u=e.createdAt,d=e.branch,f=e.worktreePath,p=typeof f==`string`?f:null,m=e.promotedTo,h=m&&typeof m==`object`?m:null,g=h&&typeof h.environmentId==`string`&&h.environmentId.length>0&&typeof h.threadId==`string`&&h.threadId.length>0?Bo(h.environmentId,h.threadId):null;if(typeof l!=`string`||l.length===0||c===void 0)continue;let _=c;n[o]={threadId:s,environmentId:_,projectId:l,logicalProjectKey:typeof e.logicalProjectKey==`string`&&e.logicalProjectKey.length>0?e.logicalProjectKey:a?GX(zo(_,l)):t,createdAt:typeof u==`string`&&u.length>0?u:new Date().toISOString(),runtimeMode:PX(e.runtimeMode)?e.runtimeMode:aY,interactionMode:e.interactionMode===`plan`||e.interactionMode==="default"?e.interactionMode:oY,branch:typeof d==`string`?d:null,worktreePath:p,envMode:jZe(e.envMode,p),promotedTo:g}}let i={};if(t&&typeof t==`object`)for(let[e,a]of Object.entries(t)){if(typeof a!=`string`||a.length===0)continue;let t=Ko(e),o=qo(a),s=JX(a);if(i[e]=s,o&&r.set(o.threadId,o.environmentId),!t){let t=n[s];t&&!t.logicalProjectKey&&(n[s]={...t,logicalProjectKey:e});continue}n[s]?(n[s]?.projectId!==t.projectId||n[s]?.environmentId!==t.environmentId)&&(n[s]={...n[s],threadId:n[s].threadId,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e}):n[s]={threadId:o?.threadId??s,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e,createdAt:new Date().toISOString(),runtimeMode:aY,interactionMode:oY,branch:null,worktreePath:null,envMode:`local`,promotedTo:null}}return{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:i}}function aZ(e,t){if(!e||typeof e!=`object`)return{};let n=new Map;for(let[e,r]of Object.entries(t)){let t=MZe(e);t&&n.set(t.threadId,r.environmentId)}let r={};for(let[i,a]of Object.entries(e)){if(typeof i!=`string`||i.length===0||!a||typeof a!=`object`)continue;let e=a,o=typeof e.prompt==`string`?e.prompt:``,s=typeof e.lastGeneratedPullRequestPrompt==`string`?e.lastGeneratedPullRequestPrompt:void 0,c=Array.isArray(e.attachments)?e.attachments.flatMap(e=>{let t=yX(e);return t?[t]:[]}):[],l=Array.isArray(e.files)?e.files.flatMap(e=>{let t=bX(e);return t?[t]:[]}):[],u=Array.isArray(e.terminalContexts)?e.terminalContexts.flatMap(e=>{let t=WX(e);return t?[t]:[]}):[],d=Array.isArray(e.stashTerminalContexts)?e.stashTerminalContexts.flatMap(e=>{let t=WX(e),n=typeof e.text==`string`?e.text:``;return t&&n.length>0?[{...t,text:n}]:[]}):[],f=PX(e.runtimeMode)?e.runtimeMode:null,p=e.interactionMode===`plan`||e.interactionMode==="default"?e.interactionMode:null,m=$Xe(e.stagedSubmission,{attachment:yX,file:bX,terminalContext:WX,modelSelection:e=>OX(e)??null,runtimeMode:PX}),h=pY(o,u.length),g=a,_={},v=null;if(e.modelSelectionByProvider&&typeof e.modelSelectionByProvider==`object`)_=e.modelSelectionByProvider,v=TX(e.activeProvider);else{let e=DX(g.modelOptions,void 0,g)??null,t=OX(g.modelSelection,{provider:g.provider,model:g.model,modelOptions:e??g.modelOptions,legacyCodex:g}),n=AX(t,e),r=kX(t,n);_=jX(r,n),v=r?.provider??null}let y=Object.keys(_).length>0||v!==null;if(o.length===0&&c.length===0&&l.length===0&&u.length===0&&d.length===0&&!y&&!f&&!p&&!m)continue;let b=qo(i)===null?t[i]===void 0?(()=>{let e=n.get(i);return e?JX(i,{environmentId:e}):i})():i:JX(i);r[b]={prompt:h,...s===void 0?{}:{lastGeneratedPullRequestPrompt:s},attachments:c,...l.length>0?{files:l}:{},...u.length>0?{terminalContexts:u}:{},...d.length>0?{stashTerminalContexts:d}:{},...y?{modelSelectionByProvider:_,activeProvider:v}:{},...f?{runtimeMode:f}:{},...p?{interactionMode:p}:{},...m?{stagedSubmission:m}:{}}}return r}function IZe(e){if(!e||typeof e!=`object`)return RX;let t=e,n=t.draftsByThreadKey??t.draftsByThreadId,r=t.draftThreadsByThreadKey??t.draftThreadsByThreadId,i=t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId,a=DX(t.stickyModelOptions)??{},o=OX(t.stickyModelSelection,{provider:t.stickyProvider??`codex`,model:t.stickyModel,modelOptions:a}),s=AX(o,a),c=jX(kX(o,s),s),l=TX(t.stickyProvider)??null,{draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d}=iZ(r,i);return{draftsByThreadKey:aZ(n,u),draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d,stickyModelSelectionByProvider:c,stickyActiveProvider:l}}function LZe(e){let t={};for(let[n,r]of Object.entries(e.draftsByThreadKey)){if(typeof n!=`string`||n.length===0)continue;let e=Object.keys(r.modelSelectionByProvider).length>0||r.activeProvider!==null;r.prompt.length===0&&r.lastGeneratedPullRequestPrompt===void 0&&r.persistedAttachments.length===0&&(r.files?.length??0)===0&&r.terminalContexts.length===0&&!e&&r.runtimeMode===null&&r.interactionMode===null&&r.stagedSubmission==null||(t[n]={prompt:r.prompt,...r.lastGeneratedPullRequestPrompt===void 0?{}:{lastGeneratedPullRequestPrompt:r.lastGeneratedPullRequestPrompt},attachments:r.persistedAttachments,...(r.files?.length??0)>0?{files:r.files.map(({file:e,type:t,...n})=>n)}:{},...r.terminalContexts.length>0?{terminalContexts:r.terminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}))}:{},...r.stashTerminalContexts&&r.stashTerminalContexts.length>0?{stashTerminalContexts:r.stashTerminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd,text:e.text}))}:{},...e?{modelSelectionByProvider:r.modelSelectionByProvider,activeProvider:r.activeProvider}:{},...r.runtimeMode?{runtimeMode:r.runtimeMode}:{},...r.interactionMode?{interactionMode:r.interactionMode}:{},...r.stagedSubmission?{stagedSubmission:tZe(r.stagedSubmission)}:{}})}return{draftsByThreadKey:t,draftThreadsByThreadKey:e.draftThreadsByThreadKey,logicalProjectDraftThreadKeyByLogicalProjectKey:e.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:e.stickyModelSelectionByProvider,stickyActiveProvider:e.stickyActiveProvider}}function RZe(e){if(!e||typeof e!=`object`)return RX;let t=e,{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r}=iZ(t.draftThreadsByThreadKey??t.draftThreadsByThreadId,t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId),i={},a=null;if(t.stickyModelSelectionByProvider&&typeof t.stickyModelSelectionByProvider==`object`)i=t.stickyModelSelectionByProvider,a=TX(t.stickyActiveProvider);else{let e=DX(t.stickyModelOptions)??{},n=OX(t.stickyModelSelection,{provider:t.stickyProvider,model:t.stickyModel,modelOptions:e}),r=AX(n,e);i=jX(kX(n,r),r),a=TX(t.stickyProvider)}return{draftsByThreadKey:aZ(t.draftsByThreadKey??t.draftsByThreadId,n),draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r,stickyModelSelectionByProvider:i,stickyActiveProvider:a}}function zZe(e){if(e.length===0)return[];try{let t=Ml(MX,IX);return!t||t.version!==NX?[]:(t.state.draftsByThreadKey[e]?.attachments??[]).map(e=>e.id)}catch{return[]}}function BZe(e){if(e.length===0)return null;try{let t=FX.getItem(MX);if(typeof t!=`string`)return null;let n=LX(JSON.parse(t));return!n||n.version!==NX?null:n.state.draftsByThreadKey[e]??null}catch{return null}}function VZe(e,t,n){let r=new Set;try{FX.flush(),r=new Set(zZe(e))}catch{r=new Set}n(n=>{let i=n.draftsByThreadKey[e];if(!i)return n;let a=new Set(i.images.map(e=>e.id)),o=t.filter(e=>a.has(e.id)&&r.has(e.id)),s=i.images.map(e=>e.id).filter(e=>!r.has(e)),c={...i,persistedAttachments:o,nonPersistedImageIds:s},l={...n.draftsByThreadKey};return wX(c)?delete l[e]:l[e]=c,{draftsByThreadKey:l}})}function HZe(e,t){return e.length>0?e:t?.prompt??``}function oZ(e,t){return e?.length?e:t??[]}function UZe(e){let t=e.stagedSubmission;return{prompt:HZe(e.prompt,t),attachments:oZ(e.attachments,t?.attachments),files:oZ(e.files,t?.files),terminalContexts:oZ(e.terminalContexts,t?.terminalContexts)}}function WZe(e){let t=e.modelSelectionByProvider??{},n=TX(e.activeProvider)??null,r=UZe(e);return{prompt:r.prompt,...e.lastGeneratedPullRequestPrompt===void 0?{}:{lastGeneratedPullRequestPrompt:e.lastGeneratedPullRequestPrompt},images:xX(r.attachments),files:r.files.map(e=>({...e,type:`file`,file:null})),nonPersistedImageIds:[],persistedAttachments:[...r.attachments],terminalContexts:r.terminalContexts.map(t=>{let n=e.stashTerminalContexts?.find(e=>e.id===t.id);return Object.assign({},t,{text:n?.text??``})}),...e.stashTerminalContexts&&e.stashTerminalContexts.length>0?{stashTerminalContexts:e.stashTerminalContexts.map(e=>({...e}))}:{},modelSelectionByProvider:t,activeProvider:n,runtimeMode:e.runtimeMode??null,interactionMode:e.interactionMode??null,stagedSubmission:nZe(e.stagedSubmission)}}function GZe(e){return{threadId:e.threadId,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:e.logicalProjectKey??GX(zo(e.environmentId,e.projectId)),createdAt:e.createdAt,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,branch:e.branch,worktreePath:e.worktreePath,envMode:e.envMode,promotedTo:e.promotedTo?Bo(e.promotedTo.environmentId,e.promotedTo.threadId):null,linkedPullRequest:e.linkedPullRequest??null}}var sZ=qt()(gY((e,t)=>{let n=e;return{draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null,getComposerDraft:e=>QX(t(),e),getDraftThreadByLogicalProjectKey:e=>t().getDraftSessionByLogicalProjectKey(e),getDraftSessionByLogicalProjectKey:e=>{let n=KX(e);if(n.length===0)return null;let r=t().logicalProjectDraftThreadKeyByLogicalProjectKey[n];if(!r)return null;let i=t().draftThreadsByThreadKey[r];return!i||tZ(i)?null:$X(Gt.make(r),i)},getDraftThreadByProjectRef:e=>t().getDraftSessionByProjectRef(e),getDraftSessionByProjectRef:e=>{for(let[n,r]of Object.entries(t().draftThreadsByThreadKey))if(!tZ(r)&&r.projectId===e.projectId&&r.environmentId===e.environmentId)return $X(Gt.make(n),r);return null},getDraftSession:e=>t().draftThreadsByThreadKey[e]??null,getDraftSessionByRef:e=>{for(let n of Object.values(t().draftThreadsByThreadKey))if(n.environmentId===e.environmentId&&n.threadId===e.threadId)return n;return null},getDraftThread:e=>typeof e==`string`?t().getDraftSession(Gt.make(e)):t().getDraftSessionByRef(e),getDraftThreadByRef:e=>t().getDraftSessionByRef(e),listDraftThreadKeys:()=>Object.values(t().draftThreadsByThreadKey).map(e=>Wo(Bo(e.environmentId,e.threadId))),hasDraftThreadsInEnvironment:e=>Object.values(t().draftThreadsByThreadKey).some(t=>t.environmentId===e),setLogicalProjectDraftThreadId:(e,t,r,i)=>{let a=KX(e);a.length!==0&&r.length!==0&&n(e=>{let n=e.draftThreadsByThreadKey[r],o=e.logicalProjectDraftThreadKeyByLogicalProjectKey[a],s=PZe(t,i?.threadId??n?.threadId??Vn.make(r),a,n,i);if(o===r&&FZe(n,s))return e;let c={...e.logicalProjectDraftThreadKeyByLogicalProjectKey,[a]:r},l={...e.draftThreadsByThreadKey,[r]:s},u=e.draftsByThreadKey,d=o===void 0?void 0:l[o];return o&&o!==r&&!NZe(c,o)&&!tZ(d)&&(delete l[o],e.draftsByThreadKey[o]!==void 0&&(u={...e.draftsByThreadKey},delete u[o])),{draftsByThreadKey:u,draftThreadsByThreadKey:l,logicalProjectDraftThreadKeyByLogicalProjectKey:c}})},setProjectDraftThreadId:(e,n,r)=>{t().setLogicalProjectDraftThreadId(GX(e),e,n,r)},setDraftThreadContext:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftThreadsByThreadKey[i];if(!t)return e;let n=r.projectRef??{environmentId:t.environmentId,projectId:t.projectId};if(n.projectId.length===0||n.environmentId.length===0)return e;let a=n.environmentId!==t.environmentId||n.projectId!==t.projectId,o=r.worktreePath===void 0?a?null:t.worktreePath:r.worktreePath??null,s=r.branch===void 0?a?null:t.branch:r.branch??null,c=r.anchorKind===void 0?t.anchorKind:r.anchorKind??void 0,l={threadId:t.threadId,environmentId:n.environmentId,projectId:n.projectId,logicalProjectKey:t.logicalProjectKey,createdAt:r.createdAt===void 0?t.createdAt:r.createdAt||t.createdAt,runtimeMode:r.runtimeMode??t.runtimeMode,interactionMode:r.interactionMode??t.interactionMode,branch:s,worktreePath:o,envMode:r.envMode??(o?`worktree`:a?`local`:t.envMode??`local`),promotedTo:t.promotedTo??null,cmmdTaskId:r.cmmdTaskId===void 0?t.cmmdTaskId??null:r.cmmdTaskId,anchorCmmdId:r.anchorCmmdId===void 0?t.anchorCmmdId??null:r.anchorCmmdId,linkedPullRequest:r.linkedPullRequest===void 0?t.linkedPullRequest??null:r.linkedPullRequest,...c===void 0?{}:{anchorKind:c}};return l.environmentId===t.environmentId&&l.projectId===t.projectId&&l.logicalProjectKey===t.logicalProjectKey&&l.createdAt===t.createdAt&&l.runtimeMode===t.runtimeMode&&l.interactionMode===t.interactionMode&&l.branch===t.branch&&l.worktreePath===t.worktreePath&&l.envMode===t.envMode&&(l.anchorKind??void 0)===(t.anchorKind??void 0)&&(l.anchorCmmdId??null)===(t.anchorCmmdId??null)&&nZ(l.linkedPullRequest,t.linkedPullRequest)&&eZ(l.promotedTo,t.promotedTo)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[i]:l}}})},clearProjectDraftThreadId:e=>{n(t=>{let n=Object.entries(t.draftThreadsByThreadKey).find(([,t])=>t.projectId===e.projectId&&t.environmentId===e.environmentId);return n?rZ(t,n[0]):t})},clearProjectDraftThreadById:(e,r)=>{let i=XX(t(),r)??``;i.length!==0&&n(t=>{let n=t.draftThreadsByThreadKey[i];return!n||n.projectId!==e.projectId||n.environmentId!==e.environmentId?t:rZ(t,i)})},markDraftThreadPromoting:(e,r)=>{let i=XX(t(),e);i&&n(e=>{let t=e.draftThreadsByThreadKey[i];if(!t)return e;let n=r??Bo(t.environmentId,t.threadId);return eZ(t.promotedTo,n)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[i]:{...t,promotedTo:n}}}})},finalizePromotedDraftThread:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftThreadsByThreadKey[r];if(!tZ(t))return e;let n=qX(t.promotedTo),i=e.draftsByThreadKey[n],a=e.draftsByThreadKey[r];return rZ(a?{...e,draftsByThreadKey:{...e.draftsByThreadKey,[n]:i?{...i,modelSelectionByProvider:{...i.modelSelectionByProvider,...a.modelSelectionByProvider},activeProvider:a.activeProvider,runtimeMode:a.runtimeMode,interactionMode:a.interactionMode}:a}}:e,r)})},clearDraftThread:e=>{let r=XX(t(),e)??``;if(r.length===0)return;let i=t().draftsByThreadKey[r];if(i)for(let e of i.images)vX(e.previewUrl);n(e=>{let t=e.draftThreadsByThreadKey[r]!==void 0,n=Object.values(e.logicalProjectDraftThreadKeyByLogicalProjectKey).includes(r),i=e.draftsByThreadKey[r]!==void 0;return!t&&!n&&!i?e:rZ(e,r)})},setStickyModelSelection:e=>{let t=OX(e);n(e=>{if(!t)return e;let n={...e.stickyModelSelectionByProvider,[t.provider]:t};return Qe(e.stickyModelSelectionByProvider,n)?e.stickyActiveProvider===t.provider?e:{stickyActiveProvider:t.provider}:{stickyModelSelectionByProvider:n,stickyActiveProvider:t.provider}})},applyStickyState:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.stickyModelSelectionByProvider,n=e.stickyActiveProvider;if(Object.keys(t).length===0&&n===null)return e;let i=e.draftsByThreadKey[r]??UX(),a={...i.modelSelectionByProvider};for(let[e,n]of Object.entries(t))if(n){let t=a[e];a[e]={...n,model:t?.model??n.model}}if(Qe(i.modelSelectionByProvider,a)&&i.activeProvider===n)return e;let o={...i,modelSelectionByProvider:a,activeProvider:n},s={...e.draftsByThreadKey};return wX(o)?delete s[r]:s[r]=o,{draftsByThreadKey:s}})},setPrompt:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();if(t.prompt===r)return e;let n={...t,prompt:r},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},setGeneratedPullRequestPrompt:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();return{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,lastGeneratedPullRequestPrompt:r}}}})},setPendingAutoSubmit:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();if((t.pendingAutoSubmit??!1)===r)return e;let n=r?{...t,pendingAutoSubmit:!0}:(()=>{let{pendingAutoSubmit:e,...n}=t;return n})(),a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},stageComposerSubmission:(e,r,i,a,o,s,c)=>{let l=XX(t(),e)??``;l.length!==0&&(n(e=>{let t=e.draftsByThreadKey[l];if(!t)return e;let n={prompt:t.prompt,attachments:[...c??t.persistedAttachments],files:(t.files??[]).map(({file:e,type:t,...n})=>n),terminalContexts:[...t.terminalContexts],startedAt:r,commandId:i,messageId:a,...o?{executionIntent:o}:{},...s},u={...e.draftsByThreadKey};return u[l]={...t,stagedSubmission:n},{draftsByThreadKey:u}}),FX.flush())},setStagedComposerExecutionIntent:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&(n(e=>{let t=e.draftsByThreadKey[i];return t?.stagedSubmission?{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,stagedSubmission:{...t.stagedSubmission,executionIntent:r}}}}:e}),FX.flush())},clearStagedComposerSubmission:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t?.stagedSubmission)return e;let n={...t,stagedSubmission:null},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},setTerminalContexts:(e,r,i)=>{let a=XX(t(),e),o=ZX(t(),e);if(!a||!o)return;let s=_X(o,r);n(e=>{let t=e.draftsByThreadKey[a]??UX(),n={...t,prompt:pY(t.prompt,s.length),terminalContexts:s,...i?.preserveTextForReload?{stashTerminalContexts:s}:{stashTerminalContexts:[]}},r={...e.draftsByThreadKey};return wX(n)?delete r[a]:r[a]=n,{draftsByThreadKey:r}})},setModelSelection:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=OX(r);n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX(),r={...n.modelSelectionByProvider};if(a){let e=r[a.provider];a.options===void 0?r[a.provider]={provider:a.provider,model:a.model,...`providerAccountId`in a&&a.providerAccountId?{providerAccountId:a.providerAccountId}:e&&`providerAccountId`in e&&e.providerAccountId?{providerAccountId:e.providerAccountId}:{},...e?.options?{options:e.options}:{}}:r[a.provider]=a}let o=a?.provider??n.activeProvider;if(Qe(n.modelSelectionByProvider,r)&&n.activeProvider===o)return e;let s={...n,modelSelectionByProvider:r,activeProvider:o},c={...e.draftsByThreadKey};return wX(s)?delete c[i]:c[i]=s,{draftsByThreadKey:c}})},setModelOptions:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=DX(r);n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX(),r={...n.modelSelectionByProvider};for(let e of[`codex`,`claudeAgent`]){if(!a||!(e in a))continue;let t=a[e],n=r[e];if(t)r[e]={provider:e,model:n?.model??On[e],...n&&`providerAccountId`in n&&n.providerAccountId?{providerAccountId:n.providerAccountId}:{},options:t};else if(n?.options){let{options:t,...i}=n;r[e]=i}}if(Qe(n.modelSelectionByProvider,r))return e;let o={...n,modelSelectionByProvider:r},s={...e.draftsByThreadKey};return wX(o)?delete s[i]:s[i]=o,{draftsByThreadKey:s}})},setProviderModelOptions:(e,r,i,a)=>{let o=XX(t(),e)??``;if(o.length===0)return;let s=TX(r);if(s===null)return;let c=DX({[s]:i},s)?.[s];n(e=>{let t=e.draftsByThreadKey[o]??UX(),n={...t.modelSelectionByProvider},r=n[s];if(c)n[s]={provider:s,model:r?.model??On[s],...r&&`providerAccountId`in r&&r.providerAccountId?{providerAccountId:r.providerAccountId}:{},options:c};else if(r?.options){let{options:e,...t}=r;n[s]=t}let i=e.stickyModelSelectionByProvider,l=e.stickyActiveProvider;if(a?.persistSticky===!0){i={...e.stickyModelSelectionByProvider};let n=i[s]??t.modelSelectionByProvider[s]??{provider:s,model:On[s]};if(c)i[s]={...n,provider:s,options:c};else if(n.options){let{options:e,...t}=n;i[s]=t}l=t.activeProvider??s}if(Qe(t.modelSelectionByProvider,n)&&Qe(e.stickyModelSelectionByProvider,i)&&e.stickyActiveProvider===l)return e;let u={...t,modelSelectionByProvider:n},d={...e.draftsByThreadKey};return wX(u)?delete d[o]:d[o]=u,{draftsByThreadKey:d,...a?.persistSticky===!0?{stickyModelSelectionByProvider:i,stickyActiveProvider:l}:{}}})},setRuntimeMode:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=PX(r)?r:null;n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX();if(n.runtimeMode===a)return e;let r={...n,runtimeMode:a},o={...e.draftsByThreadKey};return wX(r)?delete o[i]:o[i]=r,{draftsByThreadKey:o}})},setInteractionMode:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=r===`plan`||r==="default"?r:null;n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX();if(n.interactionMode===a)return e;let r={...n,interactionMode:a},o={...e.draftsByThreadKey};return wX(r)?delete o[i]:o[i]=r,{draftsByThreadKey:o}})},addImage:(e,n)=>{let r=XX(t(),e),i=ZX(t(),e);!r||!i||t().addImages(typeof e==`string`?Gt.make(r):e,[n])},addImages:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=new Set(t.images.map(e=>e.id)),a=new Set(t.images.map(e=>mX(e))),o=new Set(t.images.map(e=>e.previewUrl)),s=[];for(let e of r){let t=mX(e);if(n.has(e.id)||a.has(t)){o.has(e.previewUrl)||vX(e.previewUrl);continue}s.push(e),n.add(e.id),a.add(t),o.add(e.previewUrl)}return s.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,images:[...t.images,...s]}}}})},addFiles:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=new Set((t.files??[]).map(e=>e.id)),a=Math.max(0,8-t.images.length-(t.files?.length??0)),o=r.filter(e=>!n.has(e.id)).slice(0,a);return o.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,files:[...t.files??[],...o]}}}})},setFiles:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();return{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,files:[...r]}}}})},removeImage:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=t().draftsByThreadKey[i];if(!a)return;let o=a.images.find(e=>e.id===r);o&&vX(o.previewUrl),n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,images:t.images.filter(e=>e.id!==r),nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>e!==r),persistedAttachments:t.persistedAttachments.filter(e=>e.id!==r)},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},insertTerminalContext:(e,r,i,a)=>{let o=XX(t(),e),s=ZX(t(),e);if(!o||!s)return!1;let c=!1;return n(e=>{let t=e.draftsByThreadKey[o]??UX(),n=gX(s,i);if(!n)return e;let l=hX(n);if(t.terminalContexts.some(e=>e.id===n.id)||t.terminalContexts.some(e=>hX(e)===l))return e;c=!0;let u=Math.max(0,Math.min(t.terminalContexts.length,a)),d={...t,prompt:r,terminalContexts:[...t.terminalContexts.slice(0,u),n,...t.terminalContexts.slice(u)]};return{draftsByThreadKey:{...e.draftsByThreadKey,[o]:d}}}),c},addTerminalContext:(e,n)=>{let r=XX(t(),e),i=ZX(t(),e);!r||!i||t().addTerminalContexts(typeof e==`string`?Gt.make(r):e,[n])},addTerminalContexts:(e,r)=>{let i=XX(t(),e),a=ZX(t(),e);!i||!a||r.length===0||n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=_X(a,[...t.terminalContexts,...r]).slice(t.terminalContexts.length);return n.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,prompt:pY(t.prompt,t.terminalContexts.length+n.length),terminalContexts:[...t.terminalContexts,...n]}}}})},removeTerminalContext:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,terminalContexts:t.terminalContexts.filter(e=>e.id!==r)},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},clearTerminalContexts:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t||t.terminalContexts.length===0)return e;let n={...t,terminalContexts:[]},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},clearPersistedAttachments:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t)return e;let n={...t,persistedAttachments:[],nonPersistedImageIds:[]},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},syncPersistedAttachments:(e,r)=>{let i=XX(t(),e);if(!i)return;let a=new Set(r.map(e=>e.id));n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,persistedAttachments:r,nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>!a.has(e))},o={...e.draftsByThreadKey};return wX(n)?delete o[i]:o[i]=n,{draftsByThreadKey:o}}),Promise.resolve().then(()=>{VZe(i,r,n)})},moveComposerDraft:(e,r)=>{let i=$Je(t().draftsByThreadKey,e,r);return i!==null&&(n({draftsByThreadKey:i}),FX.flush(),!0)},clearComposerContent:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t)return e;let n=CX(t),i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},clearComposerContentIfUnchanged:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return!1;let a=!1;return n(e=>{let t=e.draftsByThreadKey[i];if(!t||!_Ze(t,r))return e;let n=CX(t),o={...e.draftsByThreadKey};return wX(n)?delete o[i]:o[i]=n,a=!0,{draftsByThreadKey:o}}),a},restoreComposerStash:(e,r)=>{let i=XX(t(),e)??``,a=ZX(t(),e);if(i.length===0||!a)return!1;let o,s;if(n(e=>{let t=rZe(e.draftsByThreadKey,i,a,r);return t?(o=t.previousDraft,s=t.restoredDraft,{draftsByThreadKey:t.drafts}):e}),!s)return!1;let c=!1;try{FX.flush();let e=BZe(i),n=t().draftsByThreadKey[i];e!==null&&n===s&&lZe(e,n)&&(c=!0)}catch{}if(c&&(r.onPersisted?.()??!0))return!0;n(e=>{if(e.draftsByThreadKey[i]!==s)return e;let t={...e.draftsByThreadKey};return o?t[i]=o:delete t[i],{draftsByThreadKey:t}});try{FX.flush()}catch{}return!1}}},{name:MX,version:NX,storage:mY(()=>FX),migrate:IZe,partialize:LZe,merge:(e,t)=>{let n=RZe(e),r=Object.fromEntries(Object.entries(n.draftsByThreadKey).map(([e,t])=>[e,WZe(t)])),i=Object.fromEntries(Object.entries(n.draftThreadsByThreadKey).map(([e,t])=>[e,GZe(t)]));return{...t,draftsByThreadKey:r,draftThreadsByThreadKey:i,logicalProjectDraftThreadKeyByLogicalProjectKey:n.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:n.stickyModelSelectionByProvider??{},stickyActiveProvider:n.stickyActiveProvider??null}}}));function KZe(e){let t=(0,Sl.c)(2),n;return t[0]===e?n=t[1]:(n=t=>QX(t,e)??AZe,t[0]=e,t[1]=n),sZ(n)}function qZe(e){let t=(0,Sl.c)(2),n;return t[0]===e?n=t[1]:(n=t=>{let n=QX(t,e);return n?{activeProvider:n.activeProvider,modelSelectionByProvider:n.modelSelectionByProvider}:kZe},t[0]=e,t[1]=n),sZ(bY(n))}function cZ(e){let t=sZ.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.environmentId===e.environmentId&&r.threadId===e.threadId&&t.markDraftThreadPromoting(Gt.make(n),e)}function JZe(e){for(let t of e)cZ(t)}function YZe(e){let t=sZ.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.promotedTo&&r.promotedTo.environmentId===e.environmentId&&r.promotedTo.threadId===e.threadId&&t.finalizePromotedDraftThread(Gt.make(n))}function XZe(e){let t=new Set,n=new Map(e.snapshotThreads.map(e=>[e.key,e]));for(let n of e.snapshotThreads)n.deletedAt===null&&n.archivedAt===null&&t.add(n.key);for(let r of e.draftThreadKeys){let e=n.get(r);e&&(e.deletedAt!==null||e.archivedAt!==null)||t.add(r)}return t}function ZZe(e){let t=new Map,n=!1;for(let r of e)switch(r.type){case`thread.turn-diff-completed`:case`thread.reverted`:n=!0;break;case`thread.created`:t.set(r.payload.threadId,{clearPromotedDraft:!0,clearDeletedThread:!1,removeTerminalState:!1});break;case`thread.deleted`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!0,removeTerminalState:!0});break;case`thread.archived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!0});break;case`thread.unarchived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!1})}let r=[],i=[],a=[];for(let[e,n]of t)n.clearPromotedDraft&&r.push(e),n.clearDeletedThread&&i.push(e),n.removeTerminalState&&a.push(e);return{promoteDraftThreadIds:r,clearDeletedThreadIds:i,removeTerminalStateThreadIds:a,needsProviderInvalidation:n}}var lZ={all:[`projects`],searchContents:(e,t,n,r,i,a,o)=>[`projects`,`search-contents`,e??null,t,n,r,i,a,o],searchEntries:(e,t,n,r)=>[`projects`,`search-entries`,e??null,t,n,r]},uZ={all:[`providers`],checkpointDiff:e=>[`providers`,`checkpointDiff`,e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.cacheScope??null]};function QZe(e){if(e!==void 0)return Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)))}function $Ze(e){return{...e,...e.projectIds===void 0?{}:{projectIds:[...e.projectIds].toSorted((e,t)=>e.localeCompare(t))},...e.cursors===void 0?{}:{cursors:QZe(e.cursors)}}}var dZ={all:e=>[`pullRequests`,e],list:(e,t)=>[`pullRequests`,e,`list`,$Ze(t)],stats:(e,t)=>[`pullRequests`,e,`stats`,[...t].toSorted((e,t)=>`${e.projectId}:${e.repository}#${e.number}`.localeCompare(`${t.projectId}:${t.repository}#${t.number}`))],detail:(e,t)=>[`pullRequests`,e,`detail`,t],activity:(e,t)=>[`pullRequests`,e,`activity`,t],diff:(e,t)=>[`pullRequests`,e,`diff`,t],threadComments:(e,t)=>[`pullRequests`,e,`thread-comments`,t],diffFileContents:(e,t)=>[`pullRequests`,e,`diff-file-contents`,t],reviewerCandidates:(e,t)=>[`pullRequests`,e,`reviewer-candidates`,t]},eQe=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function tQe(e,t){let n=new URL(e);return n.pathname=`${n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname}${t.startsWith(`/`)?t:`/${t}`}`,n.search=``,n.hash=``,n.toString()}async function nQe(e,t){let n=await e.text();if(!n)return t;try{let e=JSON.parse(n);if(typeof e.error==`string`&&e.error.length>0)return e.error}catch{}return n}async function fZ(e){let t=tQe(e.httpBaseUrl,e.pathname),n;try{n=await fetch(t,{method:e.method??`GET`,headers:{...e.body===void 0?{}:{"content-type":`application/json`},...e.bearerToken?{authorization:`Bearer ${e.bearerToken}`}:{}},...e.body===void 0?{}:{body:JSON.stringify(e.body)},...e.signal?{signal:e.signal}:{}})}catch(e){throw Error(`Failed to fetch remote auth endpoint ${t} (${e.message}).`,{cause:e})}if(!n.ok)throw new eQe(await nQe(n,`Remote auth request failed (${n.status}).`),n.status);return await n.json()}async function pZ(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:e.bearerToken,...e.signal?{signal:e.signal}:{}})}async function rQe(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/.well-known/forge/environment`,...e.bearerToken?{bearerToken:e.bearerToken}:{}})}async function iQe(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:e.bearerToken})}async function mZ(e){let t=new URL(e.wsBaseUrl,window.location.origin);if(e.runtimeTicket)return t.searchParams.set(`runtimeTicket`,e.runtimeTicket),t.searchParams.delete(`wsToken`),t.toString();let n=await iQe({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return t.searchParams.set(`wsToken`,n.token),t.toString()}var aQe=Object.freeze({connectionState:`disconnected`,authState:`unknown`,lastError:null,lastErrorAt:null,role:null,descriptor:null,serverConfig:null,connectedAt:null,disconnectedAt:null,providerAuthority:null}),hZ=()=>({...aQe}),gZ=qt()(e=>({byId:{},ensure:t=>e(e=>e.byId[t]?e:{byId:{...e.byId,[t]:hZ()}}),patch:(t,n)=>e(e=>({byId:{...e.byId,[t]:{...e.byId[t]??hZ(),...n}}})),clear:t=>e(e=>{let{[t]:n,...r}=e.byId;return{byId:r}}),reset:()=>e({byId:{}})}));function oQe(e){return new Promise(t=>globalThis.setTimeout(t,e))}function _Z(){let e=Error(`The environment connection attempt was cancelled.`);return e.name=`AbortError`,e}function vZ(e){if(e?.aborted)throw _Z()}function yZ(e,t){return t?t.aborted?Promise.reject(_Z()):new Promise((n,r)=>{let i=()=>r(_Z());t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>{t.removeEventListener(`abort`,i)})}):e}function bZ(e,t){return t?t.aborted?Promise.reject(_Z()):new Promise((n,r)=>{let i=globalThis.setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{globalThis.clearTimeout(i),r(_Z())};t.addEventListener(`abort`,a,{once:!0})}):oQe(e)}function xZ(e){return!!e.runtimeId?.trim()||Rl(e.environmentId)}function sQe(e){let t=e.replacesEnvironmentId?an.make(e.replacesEnvironmentId):null,n=t&&t!==e.environmentId?Rq(t):null;return{existing:Rq(e.environmentId)??n,replacedRecord:n}}async function cQe(e){return{records:Lq(),bearerToken:e?await Uq(e.environmentId):null}}async function SZ(e){let t=e.replacedRecord?.environmentId??e.record.environmentId;await Zl(e.rollback.records),await Wq(e.record.environmentId).catch(()=>void 0),e.rollback.bearerToken&&await Lqe(t,e.rollback.bearerToken)}async function lQe(e){try{e.replacedRecord?await Iqe(e.replacedRecord.environmentId,e.record):await Hq(e.record),vZ(e.signal),await Wq(e.record.environmentId),e.replacedRecord&&await Wq(e.replacedRecord.environmentId),vZ(e.signal)}catch(t){try{await SZ(e)}catch(e){let n=AggregateError([t,e],`Cloud Environment rollback failed.`);throw n.cause=t,n}throw t}}function uQe(e,t){if(t){Lne(t,e);return}Rne(e)}function dQe(e){let t=null,n=[];for(let r of e.split(/\r?\n/)){if(r.startsWith(`event:`)){t=r.slice(6).trim();continue}r.startsWith(`data:`)&&n.push(r.slice(5).trimStart())}return{eventName:t,data:n.join(`
|
|
1013
|
+
`||e===` `||e===`\r`}function wYe(e,t){let n=Math.max(0,Math.min(e.length,Math.floor(t))),r=`${CYe(e[n-1])?``:` `} `,i=e[n]===` `?n+1:n;return{prompt:`${e.slice(0,n)}${r}${e.slice(i)}`,cursor:n+r.length,contextIndex:fY(e.slice(0,n))}}function TYe(e){return e.replaceAll(``,``)}function EYe(e,t){if(t<0)return{prompt:e,cursor:e.length};let n=0;for(let r=0;r<e.length;r+=1)if(e[r]===``){if(n===t)return{prompt:e.slice(0,r)+e.slice(r+1),cursor:r};n+=1}return{prompt:e,cursor:e.length}}function mY(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var hY=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return hY(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return hY(t)(e)}}}},gY=(e,t)=>(n,r,i)=>{let a={storage:mY(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return hY(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++s,u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},_Y=e=>Symbol.iterator in e,vY=e=>`entries`in e,yY=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},DYe=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function OYe(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:_Y(e)&&_Y(t)?vY(e)&&vY(t)?yY(e,t):DYe(e,t):yY({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function bY(e){let t=F.useRef(void 0);return n=>{let r=e(n);return OYe(t.current,r)?t.current:t.current=r}}function xY(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}function kYe(e){return e!=null&&typeof e.getItem==`function`&&typeof e.setItem==`function`&&typeof e.removeItem==`function`}function SY(e){return kYe(e)?e:xY()}var CY=xY();function wY(){return globalThis.localStorage||globalThis.window?.localStorage}var TY={getItem:e=>{try{let t=wY()?.getItem(e);if(t!==void 0)return t}catch{}return CY.getItem(e)},setItem:(e,t)=>{try{let n=wY();if(n){n.setItem(e,t);return}}catch{}CY.setItem(e,t)},removeItem:e=>{try{let t=wY();if(t){t.removeItem(e);return}}catch{}CY.removeItem(e)}};function EY(e){let t=TY.getItem(e);return typeof t==`string`?t:null}function DY(e,t){TY.setItem(e,t)}function AYe(e){TY.removeItem(e)}function jYe(e,t=300){let n=SY(e),r=new Yt((e,t)=>{n.setItem(e,t)},{wait:t});return{getItem:e=>n.getItem(e),setItem:(e,t)=>{r.maybeExecute(e,t)},removeItem:e=>{r.cancel(),n.removeItem(e)},flush:()=>{r.flush()}}}var OY=[`draftsByThreadKey`,`draftThreadsByThreadKey`,`logicalProjectDraftThreadKeyByLogicalProjectKey`],MYe=[`stickyModelSelectionByProvider`,`stickyActiveProvider`];function NYe(e){let t=kY(e.nextLocal,e.version,!1);if(!t)return e.currentStored??e.nextLocal;if(e.currentStored!==null&&e.canMigrate!==void 0&&!e.canMigrate(e.currentStored,e.version))return e.currentStored;if(e.previousLocal===e.currentStored&&(e.canMigrate??PYe)(e.currentStored,e.version))return e.nextLocal;let n=kY(e.previousLocal,e.version,!0),r=kY(e.currentStored,e.version,!0);if(!r||!n)return e.currentStored??e.nextLocal;let i={...r.state};for(let e of OY)i[e]=RYe(n.state[e],r.state[e],t.state[e]);for(let e of MYe)AY(n.state[e],t.state[e])||(i[e]=t.state[e]);return JSON.stringify({...r,version:e.version,state:i})}function PYe(e,t){if(e===null)return!0;try{let n=JSON.parse(e);return!jY(n)||!jY(n.state)||typeof n.version!=`number`||!Number.isInteger(n.version)?!1:n.version>=1&&n.version<t}catch{return!1}}function kY(e,t,n){if(e===null)return n?{version:t,state:LYe()}:null;let r=FYe(e);return r&&IYe(r,t)?{version:t,state:r.state}:null}function FYe(e){try{let t=JSON.parse(e);return jY(t)?t:null}catch{return null}}function IYe(e,t){let n=e.state;return e.version!==t||!jY(n)?!1:OY.every(e=>jY(n[e]))}function LYe(){return Object.fromEntries(OY.map(e=>[e,{}]))}function RYe(e,t,n){let r={...t};for(let t of new Set([...Object.keys(e),...Object.keys(n)]))AY(e[t],n[t])||(t in n?r[t]=n[t]:delete r[t]);return r}function AY(e,t){return JSON.stringify(e)===JSON.stringify(t)}function jY(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function zYe(e){let t;return{getItem:n=>{let r=e.storage.getItem(n);return t===void 0&&(t=r),r},setItem:(n,r)=>{let i=e.storage.getItem(n),a=NYe({previousLocal:t??null,currentStored:i,nextLocal:r,version:e.version,...e.canMigrate===void 0?{}:{canMigrate:e.canMigrate}});(a!==i||i===r)&&(e.storage.setItem(n,a),t=r)},removeItem:n=>{e.storage.removeItem(n),t=null}}}function MY(e){let t=e.auth.status!==`unauthenticated`||e.auth.provenance?.credentialScope===`proxied`;return e.enabled&&e.installed&&e.status===`ready`&&t&&e.models.length>0}var NY={providers:{codex:!0,claude:!1,cmmd:!0},allowedWallets:[`personal`],updatedAt:`1970-01-01T00:00:00.000Z`};function PY(e){if(e==null)return NY;let t=e.providers,n=e.allowedWallets;return{providers:{...NY.providers,...t},allowedWallets:Array.isArray(n)&&n.length>0?n:NY.allowedWallets,updatedAt:typeof e.updatedAt==`string`?e.updatedAt:NY.updatedAt}}function BYe(e){switch(e){case`codex`:return`codex`;case`claudeAgent`:return`claude`;case`cmmd`:case`apex`:return`cmmd`;default:return null}}var VYe=[`codex`,`claudeAgent`,`cmmd`];function HYe(e,t){if(t==null)return null;let n=t.providers;if(typeof n!=`object`||!n)return null;let r=n[e];return typeof r==`boolean`?r:null}function FY(e,t){let n=BYe(e);if(n===null)return{offered:!1,reason:`unknown-provider`};let r=HYe(n,t);return r===!0?{offered:!0}:r===!1?{offered:!1,reason:`org-disabled`}:PY(t).providers[n]===!0?{offered:!0}:{offered:!1,reason:`policy-unavailable`}}function IY(e,t){return FY(e,t).offered}function UYe(e,t){return LY(e,t).offered}function LY(e,t){return t===null?{offered:!0}:FY(e,t)}function RY(e,t){return PY(t).allowedWallets.includes(e)}function zY(e){return RY(`personal`,e)}function WYe(e){return e===`claudeAgent`||e===`codex`}function GYe(e,t){return e!==`claudeAgent`||zY(t)||IY(`claudeAgent`,t)}function KYe(e){return e.isDebugDisclosureEnabled||WYe(e.provider)&&zY(e.policy)?!1:!IY(e.provider===`apex`?`apex`:e.provider,e.policy)}var BY={credential_expired_refreshing:`CREDENTIAL_EXPIRED_REFRESHING`,credential_reconnect_required:`CREDENTIAL_RECONNECT_REQUIRED`,credential_not_connected:`CREDENTIAL_RECONNECT_REQUIRED`,credential_generation_not_applied:`CREDENTIAL_GENERATION_NOT_APPLIED`,runtime_unavailable:`RUNTIME_UNAVAILABLE`};function qYe(e){return typeof e!=`string`||!Object.hasOwn(BY,e)?null:BY[e]??null}var JYe=new Set([`pending`,`claimed`,`activating`]),YYe=2e3;function VY(e){return{runtimeId:e,dataUpdatedAt:0,consecutiveUnavailableResponses:0,consecutiveFailedResponses:0}}function XYe(e){let t=e.current.runtimeId===e.runtimeId?e.current:VY(e.runtimeId);return e.dataUpdatedAt===0||e.dataUpdatedAt===t.dataUpdatedAt?t:{runtimeId:e.runtimeId,dataUpdatedAt:e.dataUpdatedAt,consecutiveUnavailableResponses:e.readinessUnavailable?t.consecutiveUnavailableResponses+1:0,consecutiveFailedResponses:e.deliveryStatus===`failed`?t.consecutiveFailedResponses+1:0}}function ZYe(e,t){if(!e.claudeOffered||!e.claudeConnected)return!1;let n=qYe(e.reason);return n===`CREDENTIAL_EXPIRED_REFRESHING`?!0:e.deliveryStatus===`failed`?n!==`CREDENTIAL_RECONNECT_REQUIRED`&&t.consecutiveFailedResponses<16:e.deliveryStatus===null?t.consecutiveUnavailableResponses>0&&t.consecutiveUnavailableResponses<3:JYe.has(e.deliveryStatus)}function HY(e){return e.credentialMode===`runtime`?e.provider&&MY(e.provider)?{eligible:!0}:{eligible:!1,reason:`runtime-unavailable`}:e.access.status===`loading`?{eligible:!1,reason:`access-loading`}:e.access.status===`error`?{eligible:!1,reason:`access-error`}:QYe({provider:e.provider,providerKind:e.providerKind,policy:e.access.policy,personalConnections:e.access.personalConnections,personalReconnectRequired:e.access.personalReconnectRequired,claudeRuntimeReadiness:e.access.claudeRuntimeReadiness})}function QYe(e){return!e.provider||!MY(e.provider)?{eligible:!1,reason:`runtime-unavailable`}:e.policy===null?{eligible:!1,reason:`access-error`}:IY(e.providerKind,e.policy)?UY({providerKind:e.providerKind,policy:e.policy,personalConnections:e.personalConnections,personalReconnectRequired:e.personalReconnectRequired,claudeRuntimeReadiness:e.claudeRuntimeReadiness,stage:`live-runtime`}):{eligible:!1,reason:`not-offered`}}function $Ye(e){return e.access.status===`loading`?{eligible:!1,reason:`access-loading`}:e.access.status===`error`||e.access.policy===null?{eligible:!1,reason:`access-error`}:IY(e.providerKind,e.access.policy)?UY({providerKind:e.providerKind,policy:e.access.policy,personalConnections:e.access.personalConnections,personalReconnectRequired:e.access.personalReconnectRequired,claudeRuntimeReadiness:e.access.claudeRuntimeReadiness,stage:`provisioning`}):{eligible:!1,reason:`not-offered`}}function UY(e){return e.providerKind===`cmmd`||e.providerKind===`apex`?{eligible:!0}:e.providerKind!==`codex`&&e.providerKind!==`claudeAgent`?{eligible:!1,reason:`not-offered`}:eXe({providerKind:e.providerKind,personalConnections:e.personalConnections,personalReconnectRequired:e.personalReconnectRequired,claudeRuntimeReadiness:e.claudeRuntimeReadiness,workspaceWalletAllowed:RY(`workspace`,e.policy),stage:e.stage})}function eXe(e){return tXe(e.workspaceWalletAllowed)?{eligible:!0}:nXe(e.providerKind,e.personalReconnectRequired)?{eligible:!1,reason:`personal-credential-reconnect-required`}:rXe(e.providerKind,e.personalConnections)?oXe(e)?{eligible:!1,reason:`environment-not-running`}:iXe(e)?{eligible:!0}:{eligible:!1,reason:`native-runtime-not-ready`}:{eligible:!1,reason:`personal-credential-required`}}function tXe(e){return e&&!1}function nXe(e,t){return e===`codex`&&t?.codex===!0}function rXe(e,t){return t?.[e]===!0}function iXe(e){return e.providerKind!==`claudeAgent`||e.stage===`provisioning`||sXe(e.claudeRuntimeReadiness)}var aXe=`runtime_unavailable`;function oXe(e){return e.providerKind!==`claudeAgent`||e.stage===`provisioning`?!1:e.claudeRuntimeReadiness?.reason===aXe}function sXe(e){if(!cXe(e))return!1;let t=e.deliveryReceipt?.identity;return t?.kind===`credential_generation`&&t.provider===`claude`&&t.credentialGenerationId===e.generationId}function cXe(e){return e?.connected===!0&&e.nativeExecutable===!0&&typeof e.generationId==`string`&&e.generationId.trim().length>0}function WY(e){return e.providers.filter(t=>HY({provider:t,providerKind:t.provider,access:e.access,credentialMode:e.credentialMode}).eligible)}function lXe(e){if(e.status!==`ready`)return!1;if(e.policy===null)return!0;let t=e.policy.providers,n=RY(`workspace`,e.policy);return t.cmmd?!0:RY(`personal`,e.policy)||n?t.codex&&e.personalConnections?.codex===!0||t.claude&&e.personalConnections?.claudeAgent===!0:!1}var uXe={providers:{codex:!1,claude:!1,cmmd:!1},allowedWallets:[`personal`],updatedAt:`1970-01-01T00:00:00.000Z`},GY=[`cmmd`,`forge-provider-access`],dXe=YYe,fXe=new Set([`not_connected`,`pending`,`claimed`,`activating`,`applied`,`failed`,`stale`]),pXe=[`generationId`,`nativeVerifiedAt`,`reason`,`lastErrorCode`,`lastErrorMessage`],KY=class extends Error{constructor(e){super(e===`auth`?`Your CMMD session expired. Sign in again to verify Claude runtime readiness.`:`CMMD denied access to verify Claude runtime readiness. Check your organization permissions.`),this.name=`ForgeProviderAccessAuthorityError`}};function mXe(e,t){return!(t instanceof KY)&&e<3}function hXe(e,t=null){return[...GY,e,t]}async function gXe(e){e.queryClient.setQueriesData({queryKey:GY},t=>_Xe(t,e.provider,e.connected)),await e.queryClient.invalidateQueries({queryKey:GY,refetchType:`all`})}function _Xe(e,t,n){return e?.status!==`ready`||e.personalConnections===null?e:{...e,personalConnections:{...e.personalConnections,[t]:n},...t===`codex`?{personalReconnectRequired:{codex:!1}}:{},...t===`claudeAgent`?{claudeRuntimeReadiness:null}:{}}}async function qY(e,t=null){if(e===`runtime`)return{status:`ready`,policy:null,personalConnections:null,providerAccounts:[],claudeRuntimeReadiness:null};let n=XK(),r=IXe(await n.getOrgProviderPolicy());RY(`workspace`,r);let[i,a,o,s]=await Promise.all([bXe(()=>n.getProviderAccounts()),YY({enabled:r.providers.codex,load:()=>n.getUserCodexCredential(),provider:`codex`}),YY({enabled:r.providers.claude,load:()=>n.getUserClaudeCredential(),provider:`claudeAgent`}),TXe({enabled:r.providers.claude,runtimeId:t,load:e=>n.getClaudeRuntimeReadiness(e)})]),c=i.accounts.filter(e=>e.provider===`codex`?r.providers.codex:r.providers.claude),l=vXe(c),u=l.codex||a.connected,d=l.claudeAgent||o.connected,f=c.some(e=>e.provider===`codex`&&e.needsReconnect)||a.reconnectRequired;return{status:`ready`,policy:r,personalConnections:{codex:u,claudeAgent:d},providerAccounts:c,...f?{personalReconnectRequired:{codex:!0}}:{},claudeRuntimeReadiness:s}}function vXe(e){return{codex:e.some(e=>e.provider===`codex`&&!e.needsReconnect),claudeAgent:e.some(e=>e.provider===`claudeAgent`&&!e.needsReconnect)}}function yXe(e,t){if(e.status!==`ready`)return;let n=e.providerAccounts??[];return(n.find(e=>e.provider===t&&e.isDefault&&!e.needsReconnect)??n.find(e=>e.provider===t&&!e.needsReconnect))?.providerAccountId}async function bXe(e){try{return xXe(await e())}catch{return{accounts:[]}}}function xXe(e){if(!XY(e)||!Array.isArray(e.accounts))throw Error(`CMMD returned invalid provider accounts.`);return{accounts:e.accounts.filter(SXe)}}function SXe(e){return XY(e)?CXe(e.provider)&&wXe(e.providerAccountId)&&JY(e.accountEmail)&&(e.accountDisplayName===void 0||JY(e.accountDisplayName))&&JY(e.planType)&&typeof e.isDefault==`boolean`&&typeof e.needsReconnect==`boolean`:!1}function CXe(e){return e===`codex`||e===`claudeAgent`}function wXe(e){return typeof e==`string`&&e.trim().length>0}function JY(e){return typeof e==`string`||e===null}async function TXe(e){if(!e.enabled||e.runtimeId===null)return null;try{return OXe(await e.load(e.runtimeId),e.runtimeId)}catch(e){if(e instanceof gr&&(e.kind===`auth`||e.kind===`permission`))throw new KY(e.kind);return null}}async function YY(e){if(!e.enabled)return{connected:!1,reconnectRequired:!1};try{return zXe(await e.load(),e.provider)}catch{return{connected:!1,reconnectRequired:!1}}}function EXe(e){let t=e?.policy?.providers.claude===!0,n=e?.personalConnections?.claudeAgent===!0;return{claudeOffered:t,claudeConnected:n,deliveryStatus:e?.claudeRuntimeReadiness?.deliveryStatus??null,reason:e?.claudeRuntimeReadiness?.reason??null,readinessUnavailable:t&&n&&e?.claudeRuntimeReadiness===null}}function DXe(e){let t=(0,xl.c)(18),n=e.runtimeId??null,r;t[0]===n?r=t[1]:(r=VY(n),t[0]=n,t[1]=r);let i=(0,F.useRef)(r),a;t[2]!==e.credentialMode||t[3]!==n?(a=hXe(e.credentialMode,n),t[2]=e.credentialMode,t[3]=n,t[4]=a):a=t[4];let o;t[5]===n?o=t[6]:(o=()=>qY(`cmmd-cloud`,n),t[5]=n,t[6]=o);let s=e.enabled&&e.credentialMode===`cmmd-cloud`,c;t[7]===n?c=t[8]:(c=e=>{if(e.state.error instanceof KY)return!1;let t=EXe(e.state.data);return i.current=XYe({current:i.current,runtimeId:n,dataUpdatedAt:e.state.dataUpdatedAt,readinessUnavailable:n!==null&&t.readinessUnavailable,deliveryStatus:t.deliveryStatus}),n!==null&&ZYe(t,i.current)?dXe:!1},t[7]=n,t[8]=c);let l;t[9]!==a||t[10]!==o||t[11]!==s||t[12]!==c?(l={queryKey:a,queryFn:o,enabled:s,retry:mXe,staleTime:3e4,refetchInterval:c},t[9]=a,t[10]=o,t[11]=s,t[12]=c,t[13]=l):l=t[13];let u=ji(l);if(!e.enabled){let e;return t[14]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`loading`},t[14]=e):e=t[14],e}if(e.credentialMode===`runtime`){let e;return t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`ready`,policy:null,personalConnections:null,providerAccounts:[],claudeRuntimeReadiness:null},t[15]=e):e=t[15],e}if(u.isPending){let e;return t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`loading`},t[16]=e):e=t[16],e}if(u.isError||!u.data){let e;return t[17]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`error`},t[17]=e):e=t[17],e}return u.data}function OXe(e,t){if(!XY(e)||!PXe(e)||!kXe(e,t))throw Error(`CMMD returned invalid Claude runtime readiness.`);return e}function kXe(e,t){if(e.deliveryReceipt===null)return e.nativeExecutable!==!0;if(!XY(e.deliveryReceipt))return!1;let n=e.deliveryReceipt,r=XY(n.identity)?n.identity:null;return r!==null&&AXe(n,t)&&NXe(r,e.generationId)}function AXe(e,t){return jXe(e,t)&&MXe(e)}function jXe(e,t){return typeof e.receiptId==`string`&&e.receiptId.trim().length>0&&e.runtimeId===t&&typeof e.machineId==`string`&&e.machineId.trim().length>0&&typeof e.credentialEpoch==`number`&&Number.isSafeInteger(e.credentialEpoch)&&e.credentialEpoch>=0}function MXe(e){return typeof e.issuedAt==`string`&&Number.isFinite(Date.parse(e.issuedAt))&&e.expiresAt===null}function NXe(e,t){return e.kind===`credential_generation`&&e.provider===`claude`&&typeof e.credentialGenerationId==`string`&&e.credentialGenerationId===t}function PXe(e){return typeof e.connected==`boolean`&&fXe.has(String(e.deliveryStatus))&&typeof e.nativeExecutable==`boolean`&&pXe.every(t=>FXe(e[t]))}function FXe(e){return e===null||typeof e==`string`}function IXe(e){if(!XY(e)||!XY(e.providers))throw Error(`CMMD returned an invalid organization provider policy.`);let{providers:t,allowedWallets:n,updatedAt:r}=e,i=RXe(n,r);if(!LXe(t)||i===null)throw Error(`CMMD returned an invalid organization provider policy.`);return{providers:{codex:t.codex,claude:t.claude,cmmd:t.cmmd},allowedWallets:[...new Set(i.allowedWallets)],updatedAt:i.updatedAt}}function LXe(e){return typeof e.codex==`boolean`&&typeof e.claude==`boolean`&&typeof e.cmmd==`boolean`}function RXe(e,t){return Array.isArray(e)&&e.length>0&&e.every(BXe)&&typeof t==`string`&&t.trim().length>0?{allowedWallets:e,updatedAt:t}:null}function zXe(e,t){if(!XY(e)||typeof e.connected!=`boolean`)throw Error(`CMMD returned an invalid ${t} connection state.`);if(!e.connected)return{connected:!1,reconnectRequired:!1};if(t===`codex`){if(typeof e.needsReconnect!=`boolean`)throw Error(`CMMD returned an invalid Codex connection state.`);return{connected:!e.needsReconnect,reconnectRequired:e.needsReconnect}}if(typeof e.generationId!=`string`||e.generationId.trim().length===0)throw Error(`CMMD returned an invalid Claude connection state.`);return{connected:!0,reconnectRequired:!1}}function BXe(e){return e===`personal`||e===`workspace`}function XY(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function VXe(e){return e.status===`ready`?e.policy:uXe}var HXe={reasoningEffortLevels:[],supportsFastMode:!1,supportsThinkingToggle:!1,contextWindowOptions:[],promptInjectedEffortLevels:[]},ZY=[`codex`,`claudeAgent`,`apex`];function QY(e){for(let t of ZY){let n=e.find(e=>e.provider===t);if(n&&eX(n))return t}return e.find(eX)?.provider??null}function $Y(e,t){return e.find(e=>e.provider===t)?.models??[]}function eX(e){return MY(e)}function tX(e,t){let n=t??QY(e)??`codex`,r=e.find(e=>e.provider===n);if(r&&eX(r)||n===`codex`)return n;for(let t of ZY){let n=e.find(e=>e.provider===t);if(n&&eX(n))return t}return`codex`}function nX(e,t,n,r){let i=WY({providers:e,access:n,credentialMode:r});return t&&i.some(e=>e.provider===t)?t:QY(i)}function UXe(e,t,n,r){return t==null?nX(e,null,n,r):WY({providers:e,access:n,credentialMode:r}).some(e=>e.provider===t)?t:null}function rX(e,t,n){let r=Qq(t,n);return e.find(e=>e.slug===r)?.capabilities??HXe}function iX(e,t,n){let r=$Y(e,t).filter(e=>!e.isLegacy);return r.find(e=>e.slug===n)?.slug??r.find(e=>e.isDefault)?.slug??r.find(e=>e.slug===On[t])?.slug??r.find(e=>!e.isCustom)?.slug??r[0]?.slug??On[t]}function aX(e){let{provider:t,model:n,models:r,prompt:i,modelOptions:a}=e,o=rX(r,n,t),s=a?.[t],c=Jq(o,s?`effort`in s?s.effort:`reasoningEffort`in s?s.reasoningEffort:null:null)??null,l=t===`codex`?Uqe(o,s):Wqe(o,s),u=o.promptInjectedEffortLevels.length>0&&Zq(i);return{provider:t,promptEffort:c,modelOptionsForDispatch:l,...u?{composerFrameClassName:`ultrathink-frame`}:{},...u?{composerSurfaceClassName:`shadow-[0_0_0_1px_rgba(255,255,255,0.04)_inset]`}:{},...u?{modelPickerIconClassName:`ultrathink-chroma`}:{}}}function oX(e,t,n,r){return $Y(t,n).map(({slug:e,name:t,isCustom:n,isDefault:r,isLegacy:i})=>({slug:e,name:t,isCustom:n,isDefault:r,isLegacy:i}))}function sX(e,t,n,r,i){let a=$q(e,r,oX(t,n,e,r));if(a&&!eJ(a,e))return a;let o=cX(n,e,i),s=$q(o,r,oX(t,n,o,r))??iX(n,o);return e&&eJ(s,e)?iX(n,e):s}function cX(e,t,n){return!t||!IY(t,n)?tX(e,`codex`):tX(e,t)}function WXe(e,t,n,r){return{codex:oX(e,t,`codex`,n===`codex`?r:void 0),claudeAgent:oX(e,t,`claudeAgent`,n===`claudeAgent`?r:void 0),ollama:oX(e,t,`ollama`,n===`ollama`?r:void 0),cmmd:oX(e,t,`cmmd`,n===`cmmd`?r:void 0),apex:oX(e,t,`apex`,n===`apex`?r:void 0),cursor:oX(e,t,`cursor`,n===`cursor`?r:void 0),opencode:oX(e,t,`opencode`,n===`opencode`?r:void 0)}}function GXe(e,t,n){let r=e.textGenerationModelSelection??{provider:`codex`,model:one.codex},i=cX(t,r.provider,n),a=sX(i,e,t,i===r.provider?r.model:null,n),{modelOptionsForDispatch:o}=aX({provider:i,model:a,models:$Y(t,i),prompt:``,modelOptions:{[i]:i===r.provider?r.options:void 0}});return{provider:i,model:a,...o?{options:o}:{}}}function lX(e){return e?.options?{[e.provider]:e.options}:null}function KXe(e){if(!e)return null;let t={};for(let[n,r]of Object.entries(e))r?.options&&(t[n]=r.options);return Object.keys(t).length>0?t:null}function qXe(e){if(e.activeSelection&&`providerAccountId`in e.activeSelection)return e.activeSelection.providerAccountId;for(let t of e.candidates)if(t?.provider===e.selectedProvider&&`providerAccountId`in t)return t.providerAccountId}function JXe(e){let t=t=>t!==void 0&&eJ(t,e.selectedProvider)?void 0:t,n=t(e.threadModelSelection?.provider===e.selectedProvider?e.threadModelSelection.model:void 0),r=t(e.projectModelSelection?.provider===e.selectedProvider?e.projectModelSelection.model:void 0),i=Qq(n??r,e.selectedProvider)??iX(e.providers,e.selectedProvider),a=e.draft?.modelSelectionByProvider?.[e.selectedProvider],o=qXe({activeSelection:a,selectedProvider:e.selectedProvider,candidates:[e.threadModelSelection,e.projectModelSelection]}),s=t(a?.model),c=s?sX(e.selectedProvider,e.settings,e.providers,s):i,l=KXe(e.draft?.modelSelectionByProvider)??lX(e.threadModelSelection)??lX(e.projectModelSelection)??null;return{selectedModel:c,...o?{selectedProviderAccountId:o}:{},modelOptions:l}}var uX=nr({id:j,name:j,mimeType:j,sizeBytes:Ln,dataUrl:j}),dX=nr({id:j,name:j,mimeType:j,sizeBytes:Ln}),fX=nr({id:j,threadId:Vn,createdAt:j,terminalId:j,terminalLabel:j,lineStart:Ln,lineEnd:Ln}),YXe=nr({prompt:j,attachments:Jn(uX),files:cn(Jn(dX)),terminalContexts:Jn(fX),startedAt:j,commandId:cn(sn),messageId:cn(Hn),modelSelection:cn(Qn),runtimeMode:cn(Pn),interactionMode:cn(Gn),executionIntent:cn(nr({runtimeId:j,intentId:cn(j)}))});function pX(e,t){return Array.isArray(e)?e.flatMap(e=>t(e)??[]):[]}function XXe(e){if(!(!e||typeof e.runtimeId!=`string`))return{runtimeId:e.runtimeId,...typeof e.intentId==`string`?{intentId:e.intentId}:{}}}function ZXe(e){return{...typeof e.commandId==`string`?{commandId:sn.make(e.commandId)}:{},...typeof e.messageId==`string`?{messageId:Hn.make(e.messageId)}:{}}}function QXe(e,t){let n=t.modelSelection(e.modelSelection);return{...n?{modelSelection:n}:{},...t.runtimeMode(e.runtimeMode)?{runtimeMode:e.runtimeMode}:{},...e.interactionMode==="default"||e.interactionMode===`plan`?{interactionMode:e.interactionMode}:{}}}function $Xe(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(typeof n.prompt!=`string`||typeof n.startedAt!=`string`)return null;let r=XXe(n.executionIntent);return{prompt:n.prompt,attachments:pX(n.attachments,t.attachment),files:pX(n.files,t.file),terminalContexts:pX(n.terminalContexts,t.terminalContext),startedAt:n.startedAt,...ZXe(n),...QXe(n,t),...r?{executionIntent:r}:{}}}function eZe(e){return{id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}}function tZe(e){return{prompt:e.prompt,attachments:[...e.attachments],files:[...e.files],terminalContexts:e.terminalContexts.map(eZe),startedAt:e.startedAt,...e.commandId?{commandId:e.commandId}:{},...e.messageId?{messageId:e.messageId}:{},...e.modelSelection?{modelSelection:e.modelSelection}:{},...e.runtimeMode?{runtimeMode:e.runtimeMode}:{},...e.interactionMode?{interactionMode:e.interactionMode}:{},...e.executionIntent?{executionIntent:e.executionIntent}:{}}}function nZe(e){return e?{...e,attachments:[...e.attachments],files:[...e.files??[]],terminalContexts:e.terminalContexts.map(e=>({...e,text:``}))}:null}function rZe(e,t,n,r){let i=e[t];if(i?.stagedSubmission)return null;let a=aZe(i??iZe(),r,n);return a?{previousDraft:i,restoredDraft:a,drafts:{...e,[t]:a}}:null}function iZe(){return{prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null}}function mX(e){return`${e.mimeType}\u0000${e.sizeBytes}\u0000${e.name}`}function hX(e){return`${e.terminalId}\u0000${e.lineStart}\u0000${e.lineEnd}`}function gX(e,t){let n=t.terminalId.trim(),r=t.terminalLabel.trim(),i=cY(t.text);if(!n||!r)return null;let a=Math.max(1,Math.floor(t.lineStart));return{...t,threadId:e,terminalId:n,terminalLabel:r,lineStart:a,lineEnd:Math.max(a,Math.floor(t.lineEnd)),text:i}}function _X(e,t){let n=new Set,r=new Set,i=[];for(let a of t){let t=gX(e,a);if(!t)continue;let o=hX(t);n.has(t.id)||r.has(o)||(i.push(t),n.add(t.id),r.add(o))}return i}function aZe(e,t,n){let r=sZe(e,t);if(!r)return null;let i=oZe(e.files??[],t.files);if(r.images.length+i.length>8)return null;let a=cZe(e,t,n),o=[e.prompt,t.prompt].filter(e=>e.length>0).join(`
|
|
1014
|
+
`);return{...e,prompt:pY(o,a.contexts.length),images:r.images,files:i,persistedAttachments:r.attachments,terminalContexts:a.contexts,stashTerminalContexts:[...e.stashTerminalContexts??[],...a.restoredSnapshots]}}function oZe(e,t){let n=new Set(e.map(e=>e.id));return[...e,...t.filter(e=>!n.has(e.id))]}function sZe(e,t){let n=new Map(t.attachments.map(e=>[e.id,e])),r=[...e.images],i=e.persistedAttachments.filter(t=>e.images.some(e=>e.id===t.id)),a=new Set(r.map(e=>e.id)),o=new Set(r.map(mX));for(let e of t.images){let t=n.get(e.id);if(!t)return null;let s=mX(e);a.has(e.id)||o.has(s)||(r.push(e),i.push(t),a.add(e.id),o.add(s))}return r.length>8?null:{images:r,attachments:i}}function cZe(e,t,n){let r=[...e.terminalContexts],i=new Set(r.map(e=>e.id)),a=new Set(r.map(hX)),o=[];for(let e of t.terminalContexts){let t=gX(n,e);!t||i.has(t.id)||a.has(hX(t))||(r.push(t),o.push(t),i.add(t.id),a.add(hX(t)))}return{contexts:r,restoredSnapshots:o}}function lZe(e,t){return e.prompt===t.prompt&&JSON.stringify(e.attachments)===JSON.stringify(t.persistedAttachments)&&JSON.stringify(e.files??[])===JSON.stringify((t.files??[]).map(({file:e,type:t,...n})=>n))&&JSON.stringify(e.terminalContexts??[])===JSON.stringify(t.terminalContexts.map(({text:e,...t})=>t))&&JSON.stringify(e.stashTerminalContexts??[])===JSON.stringify(t.stashTerminalContexts??[])}function vX(e){typeof URL<`u`&&e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}function yX(e){if(!e||typeof e!=`object`)return null;let{id:t,name:n,mimeType:r,sizeBytes:i,dataUrl:a}=e;return typeof t!=`string`||typeof n!=`string`||typeof r!=`string`||typeof i!=`number`||!Number.isFinite(i)||typeof a!=`string`||t.length===0||a.length===0?null:{id:t,name:n,mimeType:r,sizeBytes:i,dataUrl:a}}function bX(e){if(!e||typeof e!=`object`)return null;let{id:t,name:n,mimeType:r,sizeBytes:i}=e;return typeof t!=`string`||t.length===0||typeof n!=`string`||typeof r!=`string`||typeof i!=`number`||!Number.isSafeInteger(i)||i<0?null:{id:t,name:n,mimeType:r,sizeBytes:i}}async function uZe(e,t){let n=await Promise.all(e.map(async e=>{let n=await t.read(e);return{...e,type:`file`,file:n}}));return n.length===e.length?n:null}function dZe(e){let t=fZe(e.dataUrl,e.mimeType);return t?new File([t.content],e.name,{type:t.mimeType}):null}function fZe(e,t){let n=e.indexOf(`,`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n+1);if(i.length===0)return null;try{return r.includes(`;base64`)?{content:hZe(i),mimeType:t}:{content:mZe(i),mimeType:pZe(r,t)}}catch{return null}}function pZe(e,t){return!e.startsWith(`data:`)||!e.includes(`;`)?t:e.slice(5,e.indexOf(`;`))||t}function mZe(e){return decodeURIComponent(e)}function hZe(e){let t=atob(e),n=new Uint8Array(new ArrayBuffer(t.length));for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function xX(e){return e.flatMap(e=>{let t=dZe(e);return t?[{type:`image`,id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:e.dataUrl,file:t}]:[]})}function gZe(e){return{prompt:e.prompt,images:[...e.images],files:[...e.files??[]],persistedAttachments:[...e.persistedAttachments],terminalContexts:[...e.terminalContexts]}}function SX({file:e,previewUrl:t,...n}){return n}function _Ze(e,t){return e.prompt===t.prompt&&JSON.stringify(e.images.map(SX))===JSON.stringify(t.images.map(SX))&&JSON.stringify((e.files??[]).map(({file:e,...t})=>t))===JSON.stringify(t.files.map(({file:e,...t})=>t))&&JSON.stringify(e.persistedAttachments)===JSON.stringify(t.persistedAttachments)&&JSON.stringify(e.terminalContexts)===JSON.stringify(t.terminalContexts)}function CX(e){let{lastGeneratedPullRequestPrompt:t,...n}=e;return{...n,prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],stashTerminalContexts:[]}}function wX(e){return e.prompt.length===0&&e.lastGeneratedPullRequestPrompt===void 0&&e.images.length===0&&(e.files?.length??0)===0&&e.persistedAttachments.length===0&&e.terminalContexts.length===0&&Object.keys(e.modelSelectionByProvider).length===0&&e.activeProvider===null&&e.runtimeMode===null&&e.interactionMode===null&&e.stagedSubmission==null}function TX(e){switch(e){case`codex`:case`claudeAgent`:case`ollama`:case`cmmd`:case`apex`:case`cursor`:case`opencode`:return e;default:return null}}function EX(e){return Rn.some(t=>t===e)}function vZe(e){return gne.some(t=>t===e)}function DX(e,t,n){let r=e&&typeof e==`object`?e:null,i=r?.codex&&typeof r.codex==`object`?r.codex:null,a=r?.claudeAgent&&typeof r.claudeAgent==`object`?r.claudeAgent:null,o=EX(i?.reasoningEffort)?i.reasoningEffort:t===`codex`&&EX(n?.effort)?n.effort:void 0,s=i?.fastMode===!0?!0:i?.fastMode===!1?!1:t===`codex`&&n?.codexFastMode===!0||typeof n?.serviceTier==`string`&&n.serviceTier===`fast`||void 0,c=o!==void 0||s!==void 0?{...o===void 0?{}:{reasoningEffort:o},...s===void 0?{}:{fastMode:s}}:void 0,l=a?.thinking===!0||a?.thinking!==!1&&void 0,u=vZe(a?.effort)?a.effort:void 0,d=a?.fastMode===!0||a?.fastMode!==!1&&void 0,f=typeof a?.contextWindow==`string`&&a.contextWindow.length>0?a.contextWindow:void 0,p=l!==void 0||u!==void 0||d!==void 0||f!==void 0?{...l===void 0?{}:{thinking:l},...u===void 0?{}:{effort:u},...d===void 0?{}:{fastMode:d},...f===void 0?{}:{contextWindow:f}}:void 0;return!c&&!p?null:{...c?{codex:c}:{},...p?{claudeAgent:p}:{}}}function OX(e,t){let n=e&&typeof e==`object`?e:null,r=TX(n?.provider??t?.provider);if(r===null)return null;let i=n?.model??t?.model;if(typeof i!=`string`)return null;let a=Qq(i,r);if(!a)return null;let o=DX(n?.options?{[r]:n.options}:t?.modelOptions,r,r===`codex`?t?.legacyCodex:void 0),s=r===`codex`?o?.codex:o?.claudeAgent,c=n?.providerAccountId,l=typeof c==`string`&&c.trim().length>0?c.trim():void 0;return{provider:r,model:a,...l?{providerAccountId:l}:{},...s?{options:s}:{}}}function kX(e,t){if(e===null)return null;let n=t?.[e.provider];return{provider:e.provider,model:e.model,...`providerAccountId`in e&&e.providerAccountId?{providerAccountId:e.providerAccountId}:{},...n?{options:n}:{}}}function AX(e,t){return e?.options===void 0?DX(t):yZe(DX(t),e.provider,e.options)}function yZe(e,t,n){let{[t]:r,...i}=e??{},a=DX({[t]:n},t);return DX({...i,...a||{}})}function jX(e,t){let n={};if(t)for(let r of[`codex`,`claudeAgent`]){let i=t[r];i&&Object.keys(i).length>0&&(n[r]={provider:r,model:e?.provider===r?e.model:On[r],options:i})}return e&&(n[e.provider]=e),n}var MX=`forge:composer-drafts:v1`,NX=5,bZe=Fn([`local`,`worktree`]),PX=zte(Pn),FX=jYe(zYe({storage:typeof localStorage<`u`?localStorage:xY(),version:NX,canMigrate:wZe}),300);typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{FX.flush()});var xZe=nr({prompt:j,lastGeneratedPullRequestPrompt:cn(j),attachments:Jn(uX),files:cn(Jn(dX)),terminalContexts:cn(Jn(fX)),stashTerminalContexts:cn(Jn(nr({...fX.fields,text:j}))),modelSelectionByProvider:cn(In(er,cn(Qn))),activeProvider:cn(Kn(er)),runtimeMode:cn(Pn),interactionMode:cn(Gn),stagedSubmission:cn(YXe)});nr({effort:cn(Fn(Rn)),codexFastMode:cn(Xn),serviceTier:cn(j)}),nr({provider:cn(er),model:cn(j),modelOptions:cn(Kn(bn))}),nr({stickyProvider:cn(er),stickyModel:cn(j),stickyModelOptions:cn(Kn(bn))});var SZe=nr({threadId:Vn,environmentId:j,projectId:tn,logicalProjectKey:cn(j),createdAt:j,runtimeMode:Pn,interactionMode:Gn,branch:Kn(j),worktreePath:Kn(j),envMode:bZe,promotedTo:cn(Kn(nr({environmentId:j,threadId:j}))),anchorKind:cn(Qte),anchorCmmdId:cn(Kn(j)),linkedPullRequest:cn(Kn(rne))}),CZe=nr({draftsByThreadKey:In(j,xZe),draftThreadsByThreadKey:In(j,SZe),logicalProjectDraftThreadKeyByLogicalProjectKey:In(j,j),stickyModelSelectionByProvider:cn(In(er,cn(Qn))),stickyActiveProvider:cn(Kn(er))}),IX=nr({version:Ln,state:CZe}),LX=vn(IX);function wZe(e,t){if(e===null)return!0;try{let n=JSON.parse(e);if(!n||typeof n!=`object`)return!1;let r=n;return r.version===t?(LX(n),!0):typeof r.version==`number`&&Number.isInteger(r.version)&&r.version>=1&&r.version<t&&r.state!==null&&typeof r.state==`object`}catch{return!1}}function TZe(e){if(e===null)return new Set;try{let t=LX(JSON.parse(e));if(t.version!==NX)return null;let n=new Set;for(let e of Object.values(t.state.draftsByThreadKey)){for(let t of e.files??[])n.add(t.id);for(let t of e.stagedSubmission?.files??[])n.add(t.id)}return n}catch{return null}}function EZe(){FX.flush()}var RX=Object.freeze({draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null}),zX=[],DZe=[],BX=[],VX=[],OZe=[];Object.freeze(zX),Object.freeze(BX),Object.freeze(VX);var HX=Object.freeze({}),kZe=Object.freeze({activeProvider:null,modelSelectionByProvider:HX}),AZe=Object.freeze({prompt:``,images:zX,files:DZe,nonPersistedImageIds:BX,persistedAttachments:VX,terminalContexts:OZe,modelSelectionByProvider:HX,activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null});function UX(){return{prompt:``,images:[],files:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null,stagedSubmission:null}}function WX(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.threadId,i=t.createdAt,a=t.lineStart,o=t.lineEnd;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0||typeof i!=`string`||i.length===0||typeof a!=`number`||!Number.isFinite(a)||typeof o!=`number`||!Number.isFinite(o))return null;let s=typeof t.terminalId==`string`?t.terminalId.trim():``,c=typeof t.terminalLabel==`string`?t.terminalLabel.trim():``;if(s.length===0||c.length===0)return null;let l=Math.max(1,Math.floor(a));return{id:n,threadId:r,createdAt:i,terminalId:s,terminalLabel:c,lineStart:l,lineEnd:Math.max(l,Math.floor(o))}}function jZe(e,t){return e===`local`||e===`worktree`?e:t?`worktree`:`local`}function GX(e){return Ho(e)}function KX(e){return e.trim()}function qX(e){return typeof e==`string`?e.trim():Uo(e)}function JX(e,t){let n=Ko(e);return n?qX(n):t?.environmentId?qX(zo(t.environmentId,e)):e}function MZe(e){return Ko(e)}function YX(e,t){if(typeof t==`string`){let e=t.trim();return e.length>0?Gt.make(e):null}return t}function XX(e,t){let n=YX(e,t);if(!n)return null;if(typeof n!=`string`){let t=qX(n);if(e.draftsByThreadKey[t])return t;for(let[t,r]of Object.entries(e.draftThreadsByThreadKey))if(r.environmentId===n.environmentId&&r.threadId===n.threadId)return t;return t}let r=qX(n);return r.length>0?r:null}function ZX(e,t){let n=YX(e,t);return n?typeof n==`string`?e.draftThreadsByThreadKey[n]?.threadId??Vn.make(n):n.threadId:null}function QX(e,t){let n=XX(e,t);return n?e.draftsByThreadKey[n]??null:null}function NZe(e,t){return Object.values(e).includes(t)}function $X(e,t){return{draftId:e,...t}}function PZe(e,t,n,r,i){let a=r!==void 0&&(r.environmentId!==e.environmentId||r.projectId!==e.projectId),o=i?.worktreePath===void 0?a?null:r?.worktreePath??null:i.worktreePath??null,s=i?.branch===void 0?a?null:r?.branch??null:i.branch??null,c=i?.anchorKind===void 0?r?.anchorKind:i.anchorKind??void 0;return{threadId:t,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:n,createdAt:i?.createdAt??r?.createdAt??new Date().toISOString(),runtimeMode:i?.runtimeMode??r?.runtimeMode??`full-access`,interactionMode:i?.interactionMode??r?.interactionMode??`default`,branch:s,worktreePath:o,envMode:i?.envMode??(o?`worktree`:a?`local`:r?.envMode??`local`),promotedTo:null,cmmdTaskId:i?.cmmdTaskId===void 0?r?.cmmdTaskId??null:i.cmmdTaskId,anchorCmmdId:i?.anchorCmmdId===void 0?r?.anchorCmmdId??null:i.anchorCmmdId,linkedPullRequest:i?.linkedPullRequest===void 0?r?.linkedPullRequest??null:i.linkedPullRequest,...c===void 0?{}:{anchorKind:c}}}function eZ(e,t){return!e||!t?e===t:e.environmentId===t.environmentId&&e.threadId===t.threadId}function tZ(e){return e?.promotedTo!==null&&e?.promotedTo!==void 0}function FZe(e,t){return!!e&&e.threadId===t.threadId&&e.environmentId===t.environmentId&&e.projectId===t.projectId&&e.logicalProjectKey===t.logicalProjectKey&&e.createdAt===t.createdAt&&e.runtimeMode===t.runtimeMode&&e.interactionMode===t.interactionMode&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.envMode===t.envMode&&(e.anchorKind??void 0)===(t.anchorKind??void 0)&&(e.anchorCmmdId??null)===(t.anchorCmmdId??null)&&nZ(e.linkedPullRequest,t.linkedPullRequest)&&eZ(e.promotedTo,t.promotedTo)}function nZ(e,t){return(e?.projectId??null)===(t?.projectId??null)&&(e?.projectRepositoryId??null)===(t?.projectRepositoryId??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.host??null)===(t?.host??null)&&(e?.repository??null)===(t?.repository??null)&&(e?.number??null)===(t?.number??null)&&(e?.url??null)===(t?.url??null)}function rZ(e,t){let n=Object.fromEntries(Object.entries(e.logicalProjectDraftThreadKeyByLogicalProjectKey).filter(([,e])=>e!==t)),{[t]:r,...i}=e.draftThreadsByThreadKey,{[t]:a,...o}=e.draftsByThreadKey;return{draftsByThreadKey:o,draftThreadsByThreadKey:i,logicalProjectDraftThreadKeyByLogicalProjectKey:n}}function iZ(e,t){let n={},r=new Map;if(t&&typeof t==`object`)for(let[e,n]of Object.entries(t)){if(typeof n!=`string`||n.length===0)continue;let t=Go(e);if(!t)continue;let i=Ko(n);if(i){r.set(i.threadId,i.environmentId);continue}r.set(n,t.environmentId)}if(e&&typeof e==`object`)for(let[t,i]of Object.entries(e)){if(typeof t!=`string`||t.length===0||!i||typeof i!=`object`)continue;let e=i,a=Ko(t),o=JX(t),s=a?.threadId??(typeof e.threadId==`string`&&e.threadId.length>0?e.threadId:t),c=a?.environmentId??(typeof e.environmentId==`string`&&e.environmentId.length>0?e.environmentId:r.get(t)),l=e.projectId,u=e.createdAt,d=e.branch,f=e.worktreePath,p=typeof f==`string`?f:null,m=e.promotedTo,h=m&&typeof m==`object`?m:null,g=h&&typeof h.environmentId==`string`&&h.environmentId.length>0&&typeof h.threadId==`string`&&h.threadId.length>0?zo(h.environmentId,h.threadId):null;if(typeof l!=`string`||l.length===0||c===void 0)continue;let _=c;n[o]={threadId:s,environmentId:_,projectId:l,logicalProjectKey:typeof e.logicalProjectKey==`string`&&e.logicalProjectKey.length>0?e.logicalProjectKey:a?GX(Ro(_,l)):t,createdAt:typeof u==`string`&&u.length>0?u:new Date().toISOString(),runtimeMode:PX(e.runtimeMode)?e.runtimeMode:aY,interactionMode:e.interactionMode===`plan`||e.interactionMode==="default"?e.interactionMode:oY,branch:typeof d==`string`?d:null,worktreePath:p,envMode:jZe(e.envMode,p),promotedTo:g}}let i={};if(t&&typeof t==`object`)for(let[e,a]of Object.entries(t)){if(typeof a!=`string`||a.length===0)continue;let t=Go(e),o=Ko(a),s=JX(a);if(i[e]=s,o&&r.set(o.threadId,o.environmentId),!t){let t=n[s];t&&!t.logicalProjectKey&&(n[s]={...t,logicalProjectKey:e});continue}n[s]?(n[s]?.projectId!==t.projectId||n[s]?.environmentId!==t.environmentId)&&(n[s]={...n[s],threadId:n[s].threadId,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e}):n[s]={threadId:o?.threadId??s,environmentId:t.environmentId,projectId:t.projectId,logicalProjectKey:e,createdAt:new Date().toISOString(),runtimeMode:aY,interactionMode:oY,branch:null,worktreePath:null,envMode:`local`,promotedTo:null}}return{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:i}}function aZ(e,t){if(!e||typeof e!=`object`)return{};let n=new Map;for(let[e,r]of Object.entries(t)){let t=MZe(e);t&&n.set(t.threadId,r.environmentId)}let r={};for(let[i,a]of Object.entries(e)){if(typeof i!=`string`||i.length===0||!a||typeof a!=`object`)continue;let e=a,o=typeof e.prompt==`string`?e.prompt:``,s=typeof e.lastGeneratedPullRequestPrompt==`string`?e.lastGeneratedPullRequestPrompt:void 0,c=Array.isArray(e.attachments)?e.attachments.flatMap(e=>{let t=yX(e);return t?[t]:[]}):[],l=Array.isArray(e.files)?e.files.flatMap(e=>{let t=bX(e);return t?[t]:[]}):[],u=Array.isArray(e.terminalContexts)?e.terminalContexts.flatMap(e=>{let t=WX(e);return t?[t]:[]}):[],d=Array.isArray(e.stashTerminalContexts)?e.stashTerminalContexts.flatMap(e=>{let t=WX(e),n=typeof e.text==`string`?e.text:``;return t&&n.length>0?[{...t,text:n}]:[]}):[],f=PX(e.runtimeMode)?e.runtimeMode:null,p=e.interactionMode===`plan`||e.interactionMode==="default"?e.interactionMode:null,m=$Xe(e.stagedSubmission,{attachment:yX,file:bX,terminalContext:WX,modelSelection:e=>OX(e)??null,runtimeMode:PX}),h=pY(o,u.length),g=a,_={},v=null;if(e.modelSelectionByProvider&&typeof e.modelSelectionByProvider==`object`)_=e.modelSelectionByProvider,v=TX(e.activeProvider);else{let e=DX(g.modelOptions,void 0,g)??null,t=OX(g.modelSelection,{provider:g.provider,model:g.model,modelOptions:e??g.modelOptions,legacyCodex:g}),n=AX(t,e),r=kX(t,n);_=jX(r,n),v=r?.provider??null}let y=Object.keys(_).length>0||v!==null;if(o.length===0&&c.length===0&&l.length===0&&u.length===0&&d.length===0&&!y&&!f&&!p&&!m)continue;let b=Ko(i)===null?t[i]===void 0?(()=>{let e=n.get(i);return e?JX(i,{environmentId:e}):i})():i:JX(i);r[b]={prompt:h,...s===void 0?{}:{lastGeneratedPullRequestPrompt:s},attachments:c,...l.length>0?{files:l}:{},...u.length>0?{terminalContexts:u}:{},...d.length>0?{stashTerminalContexts:d}:{},...y?{modelSelectionByProvider:_,activeProvider:v}:{},...f?{runtimeMode:f}:{},...p?{interactionMode:p}:{},...m?{stagedSubmission:m}:{}}}return r}function IZe(e){if(!e||typeof e!=`object`)return RX;let t=e,n=t.draftsByThreadKey??t.draftsByThreadId,r=t.draftThreadsByThreadKey??t.draftThreadsByThreadId,i=t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId,a=DX(t.stickyModelOptions)??{},o=OX(t.stickyModelSelection,{provider:t.stickyProvider??`codex`,model:t.stickyModel,modelOptions:a}),s=AX(o,a),c=jX(kX(o,s),s),l=TX(t.stickyProvider)??null,{draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d}=iZ(r,i);return{draftsByThreadKey:aZ(n,u),draftThreadsByThreadKey:u,logicalProjectDraftThreadKeyByLogicalProjectKey:d,stickyModelSelectionByProvider:c,stickyActiveProvider:l}}function LZe(e){let t={};for(let[n,r]of Object.entries(e.draftsByThreadKey)){if(typeof n!=`string`||n.length===0)continue;let e=Object.keys(r.modelSelectionByProvider).length>0||r.activeProvider!==null;r.prompt.length===0&&r.lastGeneratedPullRequestPrompt===void 0&&r.persistedAttachments.length===0&&(r.files?.length??0)===0&&r.terminalContexts.length===0&&!e&&r.runtimeMode===null&&r.interactionMode===null&&r.stagedSubmission==null||(t[n]={prompt:r.prompt,...r.lastGeneratedPullRequestPrompt===void 0?{}:{lastGeneratedPullRequestPrompt:r.lastGeneratedPullRequestPrompt},attachments:r.persistedAttachments,...(r.files?.length??0)>0?{files:r.files.map(({file:e,type:t,...n})=>n)}:{},...r.terminalContexts.length>0?{terminalContexts:r.terminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}))}:{},...r.stashTerminalContexts&&r.stashTerminalContexts.length>0?{stashTerminalContexts:r.stashTerminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd,text:e.text}))}:{},...e?{modelSelectionByProvider:r.modelSelectionByProvider,activeProvider:r.activeProvider}:{},...r.runtimeMode?{runtimeMode:r.runtimeMode}:{},...r.interactionMode?{interactionMode:r.interactionMode}:{},...r.stagedSubmission?{stagedSubmission:tZe(r.stagedSubmission)}:{}})}return{draftsByThreadKey:t,draftThreadsByThreadKey:e.draftThreadsByThreadKey,logicalProjectDraftThreadKeyByLogicalProjectKey:e.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:e.stickyModelSelectionByProvider,stickyActiveProvider:e.stickyActiveProvider}}function RZe(e){if(!e||typeof e!=`object`)return RX;let t=e,{draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r}=iZ(t.draftThreadsByThreadKey??t.draftThreadsByThreadId,t.logicalProjectDraftThreadKeyByLogicalProjectKey??t.projectDraftThreadKeyByProjectKey??t.projectDraftThreadIdByProjectKey??t.projectDraftThreadIdByProjectId),i={},a=null;if(t.stickyModelSelectionByProvider&&typeof t.stickyModelSelectionByProvider==`object`)i=t.stickyModelSelectionByProvider,a=TX(t.stickyActiveProvider);else{let e=DX(t.stickyModelOptions)??{},n=OX(t.stickyModelSelection,{provider:t.stickyProvider,model:t.stickyModel,modelOptions:e}),r=AX(n,e);i=jX(kX(n,r),r),a=TX(t.stickyProvider)}return{draftsByThreadKey:aZ(t.draftsByThreadKey??t.draftsByThreadId,n),draftThreadsByThreadKey:n,logicalProjectDraftThreadKeyByLogicalProjectKey:r,stickyModelSelectionByProvider:i,stickyActiveProvider:a}}function zZe(e){if(e.length===0)return[];try{let t=Ml(MX,IX);return!t||t.version!==NX?[]:(t.state.draftsByThreadKey[e]?.attachments??[]).map(e=>e.id)}catch{return[]}}function BZe(e){if(e.length===0)return null;try{let t=FX.getItem(MX);if(typeof t!=`string`)return null;let n=LX(JSON.parse(t));return!n||n.version!==NX?null:n.state.draftsByThreadKey[e]??null}catch{return null}}function VZe(e,t,n){let r=new Set;try{FX.flush(),r=new Set(zZe(e))}catch{r=new Set}n(n=>{let i=n.draftsByThreadKey[e];if(!i)return n;let a=new Set(i.images.map(e=>e.id)),o=t.filter(e=>a.has(e.id)&&r.has(e.id)),s=i.images.map(e=>e.id).filter(e=>!r.has(e)),c={...i,persistedAttachments:o,nonPersistedImageIds:s},l={...n.draftsByThreadKey};return wX(c)?delete l[e]:l[e]=c,{draftsByThreadKey:l}})}function HZe(e,t){return e.length>0?e:t?.prompt??``}function oZ(e,t){return e?.length?e:t??[]}function UZe(e){let t=e.stagedSubmission;return{prompt:HZe(e.prompt,t),attachments:oZ(e.attachments,t?.attachments),files:oZ(e.files,t?.files),terminalContexts:oZ(e.terminalContexts,t?.terminalContexts)}}function WZe(e){let t=e.modelSelectionByProvider??{},n=TX(e.activeProvider)??null,r=UZe(e);return{prompt:r.prompt,...e.lastGeneratedPullRequestPrompt===void 0?{}:{lastGeneratedPullRequestPrompt:e.lastGeneratedPullRequestPrompt},images:xX(r.attachments),files:r.files.map(e=>({...e,type:`file`,file:null})),nonPersistedImageIds:[],persistedAttachments:[...r.attachments],terminalContexts:r.terminalContexts.map(t=>{let n=e.stashTerminalContexts?.find(e=>e.id===t.id);return Object.assign({},t,{text:n?.text??``})}),...e.stashTerminalContexts&&e.stashTerminalContexts.length>0?{stashTerminalContexts:e.stashTerminalContexts.map(e=>({...e}))}:{},modelSelectionByProvider:t,activeProvider:n,runtimeMode:e.runtimeMode??null,interactionMode:e.interactionMode??null,stagedSubmission:nZe(e.stagedSubmission)}}function GZe(e){return{threadId:e.threadId,environmentId:e.environmentId,projectId:e.projectId,logicalProjectKey:e.logicalProjectKey??GX(Ro(e.environmentId,e.projectId)),createdAt:e.createdAt,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,branch:e.branch,worktreePath:e.worktreePath,envMode:e.envMode,promotedTo:e.promotedTo?zo(e.promotedTo.environmentId,e.promotedTo.threadId):null,linkedPullRequest:e.linkedPullRequest??null}}var sZ=qt()(gY((e,t)=>{let n=e;return{draftsByThreadKey:{},draftThreadsByThreadKey:{},logicalProjectDraftThreadKeyByLogicalProjectKey:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null,getComposerDraft:e=>QX(t(),e),getDraftThreadByLogicalProjectKey:e=>t().getDraftSessionByLogicalProjectKey(e),getDraftSessionByLogicalProjectKey:e=>{let n=KX(e);if(n.length===0)return null;let r=t().logicalProjectDraftThreadKeyByLogicalProjectKey[n];if(!r)return null;let i=t().draftThreadsByThreadKey[r];return!i||tZ(i)?null:$X(Gt.make(r),i)},getDraftThreadByProjectRef:e=>t().getDraftSessionByProjectRef(e),getDraftSessionByProjectRef:e=>{for(let[n,r]of Object.entries(t().draftThreadsByThreadKey))if(!tZ(r)&&r.projectId===e.projectId&&r.environmentId===e.environmentId)return $X(Gt.make(n),r);return null},getDraftSession:e=>t().draftThreadsByThreadKey[e]??null,getDraftSessionByRef:e=>{for(let n of Object.values(t().draftThreadsByThreadKey))if(n.environmentId===e.environmentId&&n.threadId===e.threadId)return n;return null},getDraftThread:e=>typeof e==`string`?t().getDraftSession(Gt.make(e)):t().getDraftSessionByRef(e),getDraftThreadByRef:e=>t().getDraftSessionByRef(e),listDraftThreadKeys:()=>Object.values(t().draftThreadsByThreadKey).map(e=>Uo(zo(e.environmentId,e.threadId))),hasDraftThreadsInEnvironment:e=>Object.values(t().draftThreadsByThreadKey).some(t=>t.environmentId===e),setLogicalProjectDraftThreadId:(e,t,r,i)=>{let a=KX(e);a.length!==0&&r.length!==0&&n(e=>{let n=e.draftThreadsByThreadKey[r],o=e.logicalProjectDraftThreadKeyByLogicalProjectKey[a],s=PZe(t,i?.threadId??n?.threadId??Vn.make(r),a,n,i);if(o===r&&FZe(n,s))return e;let c={...e.logicalProjectDraftThreadKeyByLogicalProjectKey,[a]:r},l={...e.draftThreadsByThreadKey,[r]:s},u=e.draftsByThreadKey,d=o===void 0?void 0:l[o];return o&&o!==r&&!NZe(c,o)&&!tZ(d)&&(delete l[o],e.draftsByThreadKey[o]!==void 0&&(u={...e.draftsByThreadKey},delete u[o])),{draftsByThreadKey:u,draftThreadsByThreadKey:l,logicalProjectDraftThreadKeyByLogicalProjectKey:c}})},setProjectDraftThreadId:(e,n,r)=>{t().setLogicalProjectDraftThreadId(GX(e),e,n,r)},setDraftThreadContext:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftThreadsByThreadKey[i];if(!t)return e;let n=r.projectRef??{environmentId:t.environmentId,projectId:t.projectId};if(n.projectId.length===0||n.environmentId.length===0)return e;let a=n.environmentId!==t.environmentId||n.projectId!==t.projectId,o=r.worktreePath===void 0?a?null:t.worktreePath:r.worktreePath??null,s=r.branch===void 0?a?null:t.branch:r.branch??null,c=r.anchorKind===void 0?t.anchorKind:r.anchorKind??void 0,l={threadId:t.threadId,environmentId:n.environmentId,projectId:n.projectId,logicalProjectKey:t.logicalProjectKey,createdAt:r.createdAt===void 0?t.createdAt:r.createdAt||t.createdAt,runtimeMode:r.runtimeMode??t.runtimeMode,interactionMode:r.interactionMode??t.interactionMode,branch:s,worktreePath:o,envMode:r.envMode??(o?`worktree`:a?`local`:t.envMode??`local`),promotedTo:t.promotedTo??null,cmmdTaskId:r.cmmdTaskId===void 0?t.cmmdTaskId??null:r.cmmdTaskId,anchorCmmdId:r.anchorCmmdId===void 0?t.anchorCmmdId??null:r.anchorCmmdId,linkedPullRequest:r.linkedPullRequest===void 0?t.linkedPullRequest??null:r.linkedPullRequest,...c===void 0?{}:{anchorKind:c}};return l.environmentId===t.environmentId&&l.projectId===t.projectId&&l.logicalProjectKey===t.logicalProjectKey&&l.createdAt===t.createdAt&&l.runtimeMode===t.runtimeMode&&l.interactionMode===t.interactionMode&&l.branch===t.branch&&l.worktreePath===t.worktreePath&&l.envMode===t.envMode&&(l.anchorKind??void 0)===(t.anchorKind??void 0)&&(l.anchorCmmdId??null)===(t.anchorCmmdId??null)&&nZ(l.linkedPullRequest,t.linkedPullRequest)&&eZ(l.promotedTo,t.promotedTo)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[i]:l}}})},clearProjectDraftThreadId:e=>{n(t=>{let n=Object.entries(t.draftThreadsByThreadKey).find(([,t])=>t.projectId===e.projectId&&t.environmentId===e.environmentId);return n?rZ(t,n[0]):t})},clearProjectDraftThreadById:(e,r)=>{let i=XX(t(),r)??``;i.length!==0&&n(t=>{let n=t.draftThreadsByThreadKey[i];return!n||n.projectId!==e.projectId||n.environmentId!==e.environmentId?t:rZ(t,i)})},markDraftThreadPromoting:(e,r)=>{let i=XX(t(),e);i&&n(e=>{let t=e.draftThreadsByThreadKey[i];if(!t)return e;let n=r??zo(t.environmentId,t.threadId);return eZ(t.promotedTo,n)?e:{draftThreadsByThreadKey:{...e.draftThreadsByThreadKey,[i]:{...t,promotedTo:n}}}})},finalizePromotedDraftThread:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftThreadsByThreadKey[r];if(!tZ(t))return e;let n=qX(t.promotedTo),i=e.draftsByThreadKey[n],a=e.draftsByThreadKey[r];return rZ(a?{...e,draftsByThreadKey:{...e.draftsByThreadKey,[n]:i?{...i,modelSelectionByProvider:{...i.modelSelectionByProvider,...a.modelSelectionByProvider},activeProvider:a.activeProvider,runtimeMode:a.runtimeMode,interactionMode:a.interactionMode}:a}}:e,r)})},clearDraftThread:e=>{let r=XX(t(),e)??``;if(r.length===0)return;let i=t().draftsByThreadKey[r];if(i)for(let e of i.images)vX(e.previewUrl);n(e=>{let t=e.draftThreadsByThreadKey[r]!==void 0,n=Object.values(e.logicalProjectDraftThreadKeyByLogicalProjectKey).includes(r),i=e.draftsByThreadKey[r]!==void 0;return!t&&!n&&!i?e:rZ(e,r)})},setStickyModelSelection:e=>{let t=OX(e);n(e=>{if(!t)return e;let n={...e.stickyModelSelectionByProvider,[t.provider]:t};return Qe(e.stickyModelSelectionByProvider,n)?e.stickyActiveProvider===t.provider?e:{stickyActiveProvider:t.provider}:{stickyModelSelectionByProvider:n,stickyActiveProvider:t.provider}})},applyStickyState:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.stickyModelSelectionByProvider,n=e.stickyActiveProvider;if(Object.keys(t).length===0&&n===null)return e;let i=e.draftsByThreadKey[r]??UX(),a={...i.modelSelectionByProvider};for(let[e,n]of Object.entries(t))if(n){let t=a[e];a[e]={...n,model:t?.model??n.model}}if(Qe(i.modelSelectionByProvider,a)&&i.activeProvider===n)return e;let o={...i,modelSelectionByProvider:a,activeProvider:n},s={...e.draftsByThreadKey};return wX(o)?delete s[r]:s[r]=o,{draftsByThreadKey:s}})},setPrompt:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();if(t.prompt===r)return e;let n={...t,prompt:r},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},setGeneratedPullRequestPrompt:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();return{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,lastGeneratedPullRequestPrompt:r}}}})},setPendingAutoSubmit:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();if((t.pendingAutoSubmit??!1)===r)return e;let n=r?{...t,pendingAutoSubmit:!0}:(()=>{let{pendingAutoSubmit:e,...n}=t;return n})(),a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},stageComposerSubmission:(e,r,i,a,o,s,c)=>{let l=XX(t(),e)??``;l.length!==0&&(n(e=>{let t=e.draftsByThreadKey[l];if(!t)return e;let n={prompt:t.prompt,attachments:[...c??t.persistedAttachments],files:(t.files??[]).map(({file:e,type:t,...n})=>n),terminalContexts:[...t.terminalContexts],startedAt:r,commandId:i,messageId:a,...o?{executionIntent:o}:{},...s},u={...e.draftsByThreadKey};return u[l]={...t,stagedSubmission:n},{draftsByThreadKey:u}}),FX.flush())},setStagedComposerExecutionIntent:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&(n(e=>{let t=e.draftsByThreadKey[i];return t?.stagedSubmission?{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,stagedSubmission:{...t.stagedSubmission,executionIntent:r}}}}:e}),FX.flush())},clearStagedComposerSubmission:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t?.stagedSubmission)return e;let n={...t,stagedSubmission:null},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},setTerminalContexts:(e,r,i)=>{let a=XX(t(),e),o=ZX(t(),e);if(!a||!o)return;let s=_X(o,r);n(e=>{let t=e.draftsByThreadKey[a]??UX(),n={...t,prompt:pY(t.prompt,s.length),terminalContexts:s,...i?.preserveTextForReload?{stashTerminalContexts:s}:{stashTerminalContexts:[]}},r={...e.draftsByThreadKey};return wX(n)?delete r[a]:r[a]=n,{draftsByThreadKey:r}})},setModelSelection:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=OX(r);n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX(),r={...n.modelSelectionByProvider};if(a){let e=r[a.provider];a.options===void 0?r[a.provider]={provider:a.provider,model:a.model,...`providerAccountId`in a&&a.providerAccountId?{providerAccountId:a.providerAccountId}:e&&`providerAccountId`in e&&e.providerAccountId?{providerAccountId:e.providerAccountId}:{},...e?.options?{options:e.options}:{}}:r[a.provider]=a}let o=a?.provider??n.activeProvider;if(Qe(n.modelSelectionByProvider,r)&&n.activeProvider===o)return e;let s={...n,modelSelectionByProvider:r,activeProvider:o},c={...e.draftsByThreadKey};return wX(s)?delete c[i]:c[i]=s,{draftsByThreadKey:c}})},setModelOptions:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=DX(r);n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX(),r={...n.modelSelectionByProvider};for(let e of[`codex`,`claudeAgent`]){if(!a||!(e in a))continue;let t=a[e],n=r[e];if(t)r[e]={provider:e,model:n?.model??On[e],...n&&`providerAccountId`in n&&n.providerAccountId?{providerAccountId:n.providerAccountId}:{},options:t};else if(n?.options){let{options:t,...i}=n;r[e]=i}}if(Qe(n.modelSelectionByProvider,r))return e;let o={...n,modelSelectionByProvider:r},s={...e.draftsByThreadKey};return wX(o)?delete s[i]:s[i]=o,{draftsByThreadKey:s}})},setProviderModelOptions:(e,r,i,a)=>{let o=XX(t(),e)??``;if(o.length===0)return;let s=TX(r);if(s===null)return;let c=DX({[s]:i},s)?.[s];n(e=>{let t=e.draftsByThreadKey[o]??UX(),n={...t.modelSelectionByProvider},r=n[s];if(c)n[s]={provider:s,model:r?.model??On[s],...r&&`providerAccountId`in r&&r.providerAccountId?{providerAccountId:r.providerAccountId}:{},options:c};else if(r?.options){let{options:e,...t}=r;n[s]=t}let i=e.stickyModelSelectionByProvider,l=e.stickyActiveProvider;if(a?.persistSticky===!0){i={...e.stickyModelSelectionByProvider};let n=i[s]??t.modelSelectionByProvider[s]??{provider:s,model:On[s]};if(c)i[s]={...n,provider:s,options:c};else if(n.options){let{options:e,...t}=n;i[s]=t}l=t.activeProvider??s}if(Qe(t.modelSelectionByProvider,n)&&Qe(e.stickyModelSelectionByProvider,i)&&e.stickyActiveProvider===l)return e;let u={...t,modelSelectionByProvider:n},d={...e.draftsByThreadKey};return wX(u)?delete d[o]:d[o]=u,{draftsByThreadKey:d,...a?.persistSticky===!0?{stickyModelSelectionByProvider:i,stickyActiveProvider:l}:{}}})},setRuntimeMode:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=PX(r)?r:null;n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX();if(n.runtimeMode===a)return e;let r={...n,runtimeMode:a},o={...e.draftsByThreadKey};return wX(r)?delete o[i]:o[i]=r,{draftsByThreadKey:o}})},setInteractionMode:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=r===`plan`||r==="default"?r:null;n(e=>{let t=e.draftsByThreadKey[i];if(!t&&a===null)return e;let n=t??UX();if(n.interactionMode===a)return e;let r={...n,interactionMode:a},o={...e.draftsByThreadKey};return wX(r)?delete o[i]:o[i]=r,{draftsByThreadKey:o}})},addImage:(e,n)=>{let r=XX(t(),e),i=ZX(t(),e);!r||!i||t().addImages(typeof e==`string`?Gt.make(r):e,[n])},addImages:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=new Set(t.images.map(e=>e.id)),a=new Set(t.images.map(e=>mX(e))),o=new Set(t.images.map(e=>e.previewUrl)),s=[];for(let e of r){let t=mX(e);if(n.has(e.id)||a.has(t)){o.has(e.previewUrl)||vX(e.previewUrl);continue}s.push(e),n.add(e.id),a.add(t),o.add(e.previewUrl)}return s.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,images:[...t.images,...s]}}}})},addFiles:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=new Set((t.files??[]).map(e=>e.id)),a=Math.max(0,8-t.images.length-(t.files?.length??0)),o=r.filter(e=>!n.has(e.id)).slice(0,a);return o.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,files:[...t.files??[],...o]}}}})},setFiles:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&n(e=>{let t=e.draftsByThreadKey[i]??UX();return{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,files:[...r]}}}})},removeImage:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return;let a=t().draftsByThreadKey[i];if(!a)return;let o=a.images.find(e=>e.id===r);o&&vX(o.previewUrl),n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,images:t.images.filter(e=>e.id!==r),nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>e!==r),persistedAttachments:t.persistedAttachments.filter(e=>e.id!==r)},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},insertTerminalContext:(e,r,i,a)=>{let o=XX(t(),e),s=ZX(t(),e);if(!o||!s)return!1;let c=!1;return n(e=>{let t=e.draftsByThreadKey[o]??UX(),n=gX(s,i);if(!n)return e;let l=hX(n);if(t.terminalContexts.some(e=>e.id===n.id)||t.terminalContexts.some(e=>hX(e)===l))return e;c=!0;let u=Math.max(0,Math.min(t.terminalContexts.length,a)),d={...t,prompt:r,terminalContexts:[...t.terminalContexts.slice(0,u),n,...t.terminalContexts.slice(u)]};return{draftsByThreadKey:{...e.draftsByThreadKey,[o]:d}}}),c},addTerminalContext:(e,n)=>{let r=XX(t(),e),i=ZX(t(),e);!r||!i||t().addTerminalContexts(typeof e==`string`?Gt.make(r):e,[n])},addTerminalContexts:(e,r)=>{let i=XX(t(),e),a=ZX(t(),e);!i||!a||r.length===0||n(e=>{let t=e.draftsByThreadKey[i]??UX(),n=_X(a,[...t.terminalContexts,...r]).slice(t.terminalContexts.length);return n.length===0?e:{draftsByThreadKey:{...e.draftsByThreadKey,[i]:{...t,prompt:pY(t.prompt,t.terminalContexts.length+n.length),terminalContexts:[...t.terminalContexts,...n]}}}})},removeTerminalContext:(e,r)=>{let i=XX(t(),e)??``;i.length!==0&&r.length!==0&&n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,terminalContexts:t.terminalContexts.filter(e=>e.id!==r)},a={...e.draftsByThreadKey};return wX(n)?delete a[i]:a[i]=n,{draftsByThreadKey:a}})},clearTerminalContexts:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t||t.terminalContexts.length===0)return e;let n={...t,terminalContexts:[]},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},clearPersistedAttachments:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t)return e;let n={...t,persistedAttachments:[],nonPersistedImageIds:[]},i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},syncPersistedAttachments:(e,r)=>{let i=XX(t(),e);if(!i)return;let a=new Set(r.map(e=>e.id));n(e=>{let t=e.draftsByThreadKey[i];if(!t)return e;let n={...t,persistedAttachments:r,nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>!a.has(e))},o={...e.draftsByThreadKey};return wX(n)?delete o[i]:o[i]=n,{draftsByThreadKey:o}}),Promise.resolve().then(()=>{VZe(i,r,n)})},moveComposerDraft:(e,r)=>{let i=$Je(t().draftsByThreadKey,e,r);return i!==null&&(n({draftsByThreadKey:i}),FX.flush(),!0)},clearComposerContent:e=>{let r=XX(t(),e)??``;r.length!==0&&n(e=>{let t=e.draftsByThreadKey[r];if(!t)return e;let n=CX(t),i={...e.draftsByThreadKey};return wX(n)?delete i[r]:i[r]=n,{draftsByThreadKey:i}})},clearComposerContentIfUnchanged:(e,r)=>{let i=XX(t(),e)??``;if(i.length===0)return!1;let a=!1;return n(e=>{let t=e.draftsByThreadKey[i];if(!t||!_Ze(t,r))return e;let n=CX(t),o={...e.draftsByThreadKey};return wX(n)?delete o[i]:o[i]=n,a=!0,{draftsByThreadKey:o}}),a},restoreComposerStash:(e,r)=>{let i=XX(t(),e)??``,a=ZX(t(),e);if(i.length===0||!a)return!1;let o,s;if(n(e=>{let t=rZe(e.draftsByThreadKey,i,a,r);return t?(o=t.previousDraft,s=t.restoredDraft,{draftsByThreadKey:t.drafts}):e}),!s)return!1;let c=!1;try{FX.flush();let e=BZe(i),n=t().draftsByThreadKey[i];e!==null&&n===s&&lZe(e,n)&&(c=!0)}catch{}if(c&&(r.onPersisted?.()??!0))return!0;n(e=>{if(e.draftsByThreadKey[i]!==s)return e;let t={...e.draftsByThreadKey};return o?t[i]=o:delete t[i],{draftsByThreadKey:t}});try{FX.flush()}catch{}return!1}}},{name:MX,version:NX,storage:mY(()=>FX),migrate:IZe,partialize:LZe,merge:(e,t)=>{let n=RZe(e),r=Object.fromEntries(Object.entries(n.draftsByThreadKey).map(([e,t])=>[e,WZe(t)])),i=Object.fromEntries(Object.entries(n.draftThreadsByThreadKey).map(([e,t])=>[e,GZe(t)]));return{...t,draftsByThreadKey:r,draftThreadsByThreadKey:i,logicalProjectDraftThreadKeyByLogicalProjectKey:n.logicalProjectDraftThreadKeyByLogicalProjectKey,stickyModelSelectionByProvider:n.stickyModelSelectionByProvider??{},stickyActiveProvider:n.stickyActiveProvider??null}}}));function KZe(e){let t=(0,xl.c)(2),n;return t[0]===e?n=t[1]:(n=t=>QX(t,e)??AZe,t[0]=e,t[1]=n),sZ(n)}function qZe(e){let t=(0,xl.c)(2),n;return t[0]===e?n=t[1]:(n=t=>{let n=QX(t,e);return n?{activeProvider:n.activeProvider,modelSelectionByProvider:n.modelSelectionByProvider}:kZe},t[0]=e,t[1]=n),sZ(bY(n))}function cZ(e){let t=sZ.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.environmentId===e.environmentId&&r.threadId===e.threadId&&t.markDraftThreadPromoting(Gt.make(n),e)}function JZe(e){for(let t of e)cZ(t)}function YZe(e){let t=sZ.getState();for(let[n,r]of Object.entries(t.draftThreadsByThreadKey))r.promotedTo&&r.promotedTo.environmentId===e.environmentId&&r.promotedTo.threadId===e.threadId&&t.finalizePromotedDraftThread(Gt.make(n))}function XZe(e){let t=new Set,n=new Map(e.snapshotThreads.map(e=>[e.key,e]));for(let n of e.snapshotThreads)n.deletedAt===null&&n.archivedAt===null&&t.add(n.key);for(let r of e.draftThreadKeys){let e=n.get(r);e&&(e.deletedAt!==null||e.archivedAt!==null)||t.add(r)}return t}function ZZe(e){let t=new Map,n=!1;for(let r of e)switch(r.type){case`thread.turn-diff-completed`:case`thread.reverted`:n=!0;break;case`thread.created`:t.set(r.payload.threadId,{clearPromotedDraft:!0,clearDeletedThread:!1,removeTerminalState:!1});break;case`thread.deleted`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!0,removeTerminalState:!0});break;case`thread.archived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!0});break;case`thread.unarchived`:t.set(r.payload.threadId,{clearPromotedDraft:!1,clearDeletedThread:!1,removeTerminalState:!1})}let r=[],i=[],a=[];for(let[e,n]of t)n.clearPromotedDraft&&r.push(e),n.clearDeletedThread&&i.push(e),n.removeTerminalState&&a.push(e);return{promoteDraftThreadIds:r,clearDeletedThreadIds:i,removeTerminalStateThreadIds:a,needsProviderInvalidation:n}}var lZ={all:[`projects`],searchContents:(e,t,n,r,i,a,o)=>[`projects`,`search-contents`,e??null,t,n,r,i,a,o],searchEntries:(e,t,n,r)=>[`projects`,`search-entries`,e??null,t,n,r]},uZ={all:[`providers`],checkpointDiff:e=>[`providers`,`checkpointDiff`,e.environmentId??null,e.threadId,e.fromTurnCount,e.toTurnCount,e.cacheScope??null]};function QZe(e){if(e!==void 0)return Object.fromEntries(Object.entries(e).toSorted(([e],[t])=>e.localeCompare(t)))}function $Ze(e){return{...e,...e.projectIds===void 0?{}:{projectIds:[...e.projectIds].toSorted((e,t)=>e.localeCompare(t))},...e.cursors===void 0?{}:{cursors:QZe(e.cursors)}}}var dZ={all:e=>[`pullRequests`,e],list:(e,t)=>[`pullRequests`,e,`list`,$Ze(t)],stats:(e,t)=>[`pullRequests`,e,`stats`,[...t].toSorted((e,t)=>`${e.projectId}:${e.repository}#${e.number}`.localeCompare(`${t.projectId}:${t.repository}#${t.number}`))],detail:(e,t)=>[`pullRequests`,e,`detail`,t],activity:(e,t)=>[`pullRequests`,e,`activity`,t],diff:(e,t)=>[`pullRequests`,e,`diff`,t],threadComments:(e,t)=>[`pullRequests`,e,`thread-comments`,t],diffFileContents:(e,t)=>[`pullRequests`,e,`diff-file-contents`,t],reviewerCandidates:(e,t)=>[`pullRequests`,e,`reviewer-candidates`,t]},eQe=class extends Error{status;constructor(e,t){super(e),this.name=`RemoteEnvironmentAuthHttpError`,this.status=t}};function tQe(e,t){let n=new URL(e);return n.pathname=`${n.pathname.endsWith(`/`)?n.pathname.slice(0,-1):n.pathname}${t.startsWith(`/`)?t:`/${t}`}`,n.search=``,n.hash=``,n.toString()}async function nQe(e,t){let n=await e.text();if(!n)return t;try{let e=JSON.parse(n);if(typeof e.error==`string`&&e.error.length>0)return e.error}catch{}return n}async function fZ(e){let t=tQe(e.httpBaseUrl,e.pathname),n;try{n=await fetch(t,{method:e.method??`GET`,headers:{...e.body===void 0?{}:{"content-type":`application/json`},...e.bearerToken?{authorization:`Bearer ${e.bearerToken}`}:{}},...e.body===void 0?{}:{body:JSON.stringify(e.body)},...e.signal?{signal:e.signal}:{}})}catch(e){throw Error(`Failed to fetch remote auth endpoint ${t} (${e.message}).`,{cause:e})}if(!n.ok)throw new eQe(await nQe(n,`Remote auth request failed (${n.status}).`),n.status);return await n.json()}async function pZ(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/session`,bearerToken:e.bearerToken,...e.signal?{signal:e.signal}:{}})}async function rQe(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/.well-known/forge/environment`,...e.bearerToken?{bearerToken:e.bearerToken}:{}})}async function iQe(e){return fZ({httpBaseUrl:e.httpBaseUrl,pathname:`/api/auth/ws-token`,method:`POST`,bearerToken:e.bearerToken})}async function mZ(e){let t=new URL(e.wsBaseUrl,window.location.origin);if(e.runtimeTicket)return t.searchParams.set(`runtimeTicket`,e.runtimeTicket),t.searchParams.delete(`wsToken`),t.toString();let n=await iQe({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return t.searchParams.set(`wsToken`,n.token),t.toString()}var aQe=Object.freeze({connectionState:`disconnected`,authState:`unknown`,lastError:null,lastErrorAt:null,role:null,descriptor:null,serverConfig:null,connectedAt:null,disconnectedAt:null,providerAuthority:null}),hZ=()=>({...aQe}),gZ=qt()(e=>({byId:{},ensure:t=>e(e=>e.byId[t]?e:{byId:{...e.byId,[t]:hZ()}}),patch:(t,n)=>e(e=>({byId:{...e.byId,[t]:{...e.byId[t]??hZ(),...n}}})),clear:t=>e(e=>{let{[t]:n,...r}=e.byId;return{byId:r}}),reset:()=>e({byId:{}})}));function oQe(e){return new Promise(t=>globalThis.setTimeout(t,e))}function _Z(){let e=Error(`The environment connection attempt was cancelled.`);return e.name=`AbortError`,e}function vZ(e){if(e?.aborted)throw _Z()}function yZ(e,t){return t?t.aborted?Promise.reject(_Z()):new Promise((n,r)=>{let i=()=>r(_Z());t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>{t.removeEventListener(`abort`,i)})}):e}function bZ(e,t){return t?t.aborted?Promise.reject(_Z()):new Promise((n,r)=>{let i=globalThis.setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{globalThis.clearTimeout(i),r(_Z())};t.addEventListener(`abort`,a,{once:!0})}):oQe(e)}function xZ(e){return!!e.runtimeId?.trim()||Rl(e.environmentId)}function sQe(e){let t=e.replacesEnvironmentId?an.make(e.replacesEnvironmentId):null,n=t&&t!==e.environmentId?Rq(t):null;return{existing:Rq(e.environmentId)??n,replacedRecord:n}}async function cQe(e){return{records:Lq(),bearerToken:e?await Uq(e.environmentId):null}}async function SZ(e){let t=e.replacedRecord?.environmentId??e.record.environmentId;await Zl(e.rollback.records),await Wq(e.record.environmentId).catch(()=>void 0),e.rollback.bearerToken&&await Lqe(t,e.rollback.bearerToken)}async function lQe(e){try{e.replacedRecord?await Iqe(e.replacedRecord.environmentId,e.record):await Hq(e.record),vZ(e.signal),await Wq(e.record.environmentId),e.replacedRecord&&await Wq(e.replacedRecord.environmentId),vZ(e.signal)}catch(t){try{await SZ(e)}catch(e){let n=AggregateError([t,e],`Cloud Environment rollback failed.`);throw n.cause=t,n}throw t}}function uQe(e,t){if(t){Lne(t,e);return}Rne(e)}function dQe(e){let t=null,n=[];for(let r of e.split(/\r?\n/)){if(r.startsWith(`event:`)){t=r.slice(6).trim();continue}r.startsWith(`data:`)&&n.push(r.slice(5).trimStart())}return{eventName:t,data:n.join(`
|
|
1015
1015
|
`)}}function fQe(e,t){let n=dQe(e);if(n.eventName!==`phase`||!n.data)return!1;try{let e=JSON.parse(n.data);return uQe(e,t),e.phase===`app-ready`||e.phase===`error`}catch{return!1}}async function pQe(e,t,n){if(!e.body)return;let r=e.body.getReader(),i=new TextDecoder,a=``;for(;!n.aborted;){let{done:e,value:n}=await r.read();if(e)break;a+=i.decode(n,{stream:!0});let o=a.indexOf(`
|
|
1016
1016
|
|
|
1017
1017
|
`);for(;o!==-1;){let e=a.slice(0,o);if(a=a.slice(o+2),fQe(e,t))return;o=a.indexOf(`
|
|
1018
1018
|
|
|
1019
|
-
`)}}}var mQe=(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 pQe(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},hQe=6e4;function gQe(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 _Qe(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 CZ(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=_Qe({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??hQe}),s=e.readiness?(e.readiness.openStream??mQe)({url:gQe(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([2,1,3,4])).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 vQe(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var yQe=3e4,bQe=1e4,xQe=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,wZ=/https?:\/\/[^\s"'`<>]+/gu,SQe=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),CQe=/(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 TZ(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=xQe.test(t)||DZ(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 wQe(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function EZ(e){try{let t=new URL(e);return Tne(t.hostname)}catch{return!1}}function DZ(e){return Ene(e)}function OZ(e){try{let t=new URL(e);if(t.protocol!==`http:`||!EZ(t.toString())&&!DZ(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 TQe(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 EQe(e){return e.replace(SQe,``).replaceAll(/./gsu,e=>DQe(e)?``:e).replace(CQe,`$1$2`)}function DQe(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function kZ(e){let t=null,n=null,r=EQe(e);wZ.lastIndex=0;for(let e of r.matchAll(wZ)){let r=TZ(TQe(e[0]));!r||!OZ(r)||(t=r,EZ(r)&&(n=r))}return n??t}function OQe(e){let t=null;for(let n of e){let e=n.event,r=kZ(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function kQe(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var AQe=`forge:terminal-state:v1`,AZ=[],jQe=200,jZ=8;function MQe(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:VZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!qo(e)&&typeof t?.url==`string`&&!!OZ(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function NQe(){return SY(typeof window<`u`?window.localStorage:void 0)}function PQe(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[sY]}function FQe(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 MZ(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 PZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function IQe(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function LQe(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=IQe(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():MZ(e[0]??`default`);i.push({id:NZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:NZ(MZ(e),a),terminalIds:[e]});return i.length===0?[{id:MZ(sY),terminalIds:[sY]}]:i}function FZ(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 RQe(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||!FZ(r.terminalIds,i.terminalIds))return!1}return!0}function IZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&FZ(e.terminalIds,t.terminalIds)&&FZ(e.runningTerminalIds,t.runningTerminalIds)&&RQe(e.terminalGroups,t.terminalGroups)}var LZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[sY],runningTerminalIds:[],activeTerminalId:sY,terminalGroups:[{id:MZ(sY),terminalIds:[sY]}],activeTerminalGroupId:MZ(sY)});function RZ(){return{...LZ,terminalIds:[...LZ.terminalIds],runningTerminalIds:[...LZ.runningTerminalIds],terminalGroups:YZ(LZ.terminalGroups)}}function zZ(){return LZ}function BZ(e){let t=PQe(e.terminalIds),n=t.length>0?t:[sY],r=FQe(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=LQe(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??MZ(`default`)};return IZ(e,c)?e:c}function zQe(e){let t=BZ(e);if(t.terminalIds.length<=jZ)return t;let n=new Set,r=e=>{!e||n.size>=jZ||t.terminalIds.includes(e)&&n.add(e)};r(sY),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 BZ({...t,terminalIds:i.length>0?i:[sY],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 VZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>qo(e)?[[e,zQe(t)]]:[]))}function BQe(e){return IZ(BZ(e),LZ)}function VQe(e){return e.trim().length>0}function HZ(e){return Wo(e)}function UZ(e,t){return`${HZ(e)}\u0000${t}`}function WZ(e,t){return UZ(e,t)}function GZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function KZ(e,t){let n=kZ(e);return n?{url:n,observedAt:t}:null}function HQe(e){return KZ(e.history,e.updatedAt)}function qZ(e){return e.type===`output`?KZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?KZ(e.snapshot.history,e.snapshot.updatedAt):null}function JZ(e,t,n){if(!n)return e;let r=HZ(t),i=e[r];return i&&GZ(i.observedAt)>GZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function YZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function XZ(e,t,n,r){let i=UZ(n,r.terminalId),a=e[i]??AZ,o={id:t,event:r},s=a.length>=jQe?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function ZZ(e,t,n,r){let i=UZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function QZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function $Z(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function eQ(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 UQe(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function WQe(e,t){let n=UQe(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 tQ(e,t,n){let r=BZ(e);if(!VQe(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=YZ(r.terminalGroups),s=PZ(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(MZ(t),e);return o.push({id:n,terminalIds:[t]}),BZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=PZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=NZ(MZ(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 BZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function nQ(e,t){let n=BZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function GQe(e,t){let n=BZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function KQe(e,t){return tQ(e,t,`split`)}function rQ(e,t,n){let r=tQ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function iQ(e,t){let n=BZ(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 qQe(e,t){let n=BZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return RZ();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??MZ(a);return BZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function aQ(e,t,n){let r=BZ(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 oQ(e,t){return!t||t.threadId.length===0?zZ():e[HZ(t)]??zZ()}function sQ(e,t,n){if(t.threadId.length===0)return e;let r=HZ(t),i=oQ(e,t),a=n(i);if(a===i)return e;if(BQe(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function JQe(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?AZ:e[UZ(t,n)]??AZ}function YQe(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[WZ(t,n)]??null}function XQe(e,t){if(!t||t.threadId.length===0)return[];let n=`${HZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function ZQe(e,t){return!t||t.threadId.length===0?null:e[HZ(t)]??null}var cQ=qt()(gY(e=>{let t=(t,n)=>{e(e=>{let r=sQ(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=>nQ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>GQe(e,n)),splitTerminal:(e,n)=>t(e,e=>KQe(e,n)),newTerminal:(e,n,r)=>t(e,e=>rQ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=rQ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=iQ(t,n)),r?.open&&(t=nQ(t,!0)),BZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>iQ(e,n)),closeTerminal:(e,n)=>t(e,e=>qQe(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[HZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=HZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>aQ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=WZ(t,n.terminalId),i=QZ(n),a=n.type===`started`||n.type===`restarted`;if($Z(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?ZZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):XZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=JZ(e.terminalPreviewUrlByThreadKey,t,qZ(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[WZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=HZ(t),i=WZ(t,n.terminalId),a=QZ(n),o=n.type===`started`||n.type===`restarted`;if($Z(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=JZ(e.terminalPreviewUrlByThreadKey,t,qZ(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[WZ(t,n.terminalId)]:n.snapshot},s=sQ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=rQ(r,n.terminalId)),t?(r=iQ(r,n.terminalId),r=nQ(r,!0)):(r=iQ(r,e.activeTerminalId),r=nQ(r,e.terminalOpen)),BZ(r)}),c={...c,[r]:WQe(c[r],n)});let d=kQe(n);d!==null&&(s=sQ(s,t,e=>aQ(e,n.terminalId,d)));let f=o&&a?ZZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):XZ(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,[WZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:JZ(e.terminalPreviewUrlByThreadKey,t,HQe(n))})),clearTerminalState:t=>e(e=>{let n=HZ(t),r=sQ(e.terminalStateByThreadKey,t,()=>RZ()),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=eQ(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=HZ(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=eQ(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:AQe,version:4,storage:mY(NQe),migrate:MQe,partialize:e=>({terminalStateByThreadKey:VZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function QQe(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 $Qe(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 lQ(e){let t=QQe(e).trim()||`Unknown browser error.`,n=$Qe(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 e$e(e){let t=lQ(e);return`${t.cause} ${t.nextAction}`}function t$e(e){let t=lQ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var uQ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function dQ(e){return Wo(e)}function n$e(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 r$e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function fQ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!n$e(t.display)||!r$e(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 i$e(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 pQ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function a$e(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 o$e(e,t){let n=a$e(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 s$e(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 mQ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function c$e(e,t){let n=mQ(t);return e.some(e=>mQ(e)===n)?e:[...e,t]}function l$e(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 u$e(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 d$e(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 f$e(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 p$e(e,t){let n=t.payload.tabId,r=xce(f$e(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 m$e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function h$e(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 g$e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!d$e(t,n))return i;let o=p$e(t,n);if(!o.decision.observe)return i;let s=m$e(t,n,o),c=o.decision.accept?h$e(s,n):s;return{browserStateByThreadKey:pQ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var hQ=qt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=dQ(t),i=e.browserStateByThreadKey[r]??uQ,a=n?fQ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:pQ(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=dQ(t),i=e.browserStateByThreadKey[r]??uQ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=dQ(t),i=s$e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=o$e(e.browserStateByThreadKey[r]??uQ,n);switch(n.type){case`session.started`:{if(i$e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=fQ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:pQ(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=fQ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:pQ(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:pQ(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:l$e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:u$e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:pQ(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:pQ(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:pQ(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:pQ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:pQ(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 g$e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:pQ(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:pQ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:c$e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...a,lastError:t$e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=dQ(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 _$e(e,t){return t?e[dQ(t)]??null:null}var v$e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function y$e(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 b$e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function x$e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var gQ=`forge:ui-state:v1`,_Q=[`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`],vQ=`months`,S$e=new Set([`weeks`,`months`,`quarters`]);function C$e(e){return typeof e==`string`&&S$e.has(e)?e:vQ}function yQ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var bQ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:vQ,projectLeadCompanion:v$e},xQ=new Set,SQ=[],CQ=new Map,wQ=!1;function w$e(){if(typeof window>`u`)return bQ;try{let e=window.localStorage.getItem(gQ);if(!e){for(let e of _Q){let t=window.localStorage.getItem(e);if(t)return TQ(JSON.parse(t)),bQ}return bQ}let t=JSON.parse(e);return TQ(t),{...bQ,projectGroupOrder:T$e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:O$e(t.threadChangedFilesExpandedById),pinnedThreadById:E$e(t.pinnedThreadKeys),threadLinkedPrById:D$e(t.threadLinkedPrById),timelineWorkColumnWidth:yQ(t.timelineWorkColumnWidth??360),timelineScale:C$e(t.timelineScale)}}catch{return bQ}}function T$e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function E$e(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 D$e(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 O$e(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 TQ(e){xQ.clear(),SQ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&xQ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!SQ.includes(t)&&SQ.push(t)}function k$e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=CQ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=CQ.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(gQ,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})),!wQ){wQ=!0;for(let e of _Q)window.localStorage.removeItem(e)}}catch{}}var EQ=new Yt(k$e,{wait:500});function DQ(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 OQ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function A$e(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)||!DQ(r,t[e]))return!1;return!0}function j$e(e,t){let n=new Map(CQ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));CQ.clear();for(let e of t)CQ.set(e.key,e.cwd);let i=n.size!==CQ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(SQ.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)??(xQ.size>0?xQ.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)??SQ.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 DQ(e.projectExpandedById,a)&&OQ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function M$e(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 DQ(e.threadLastVisitedAtById,r)&&A$e(e.threadChangedFilesExpandedById,i)&&DQ(e.pinnedThreadById,a)&&DQ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function N$e(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 P$e(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 F$e(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 kQ(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 I$e(e,t){return kQ(e,t,e.pinnedThreadById[t]!==!0)}function L$e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function R$e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function z$e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function B$e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function V$e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function H$e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function U$e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function W$e(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 G$e(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 OQ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function K$e(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 AQ=qt(e=>({...w$e(),syncProjects:t=>e(e=>j$e(e,t)),syncProjectGroups:t=>e(e=>G$e(e,t)),syncThreads:t=>e(e=>M$e(e,t)),markThreadVisited:(t,n)=>e(e=>N$e(e,t,n)),markThreadUnread:(t,n)=>e(e=>P$e(e,t,n)),clearThreadUi:t=>e(e=>F$e(e,t)),setThreadPinned:(t,n)=>e(e=>kQ(e,t,n)),toggleThreadPinned:t=>e(e=>I$e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>L$e(e,t,n)),clearThreadLinkedPr:t=>e(e=>R$e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>z$e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>V$e(e,t,n)),toggleProject:t=>e(e=>H$e(e,t)),setProjectExpanded:(t,n)=>e(e=>U$e(e,t,n)),reorderProjects:(t,n)=>e(e=>W$e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>K$e(e,t,n)),setLastActiveProject:t=>e(e=>B$e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:yQ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:b$e(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 q$e(e){AQ.getState().openProjectLeadCompanion(e)}AQ.subscribe(e=>EQ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{EQ.flush()});var J$e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),Y$e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},X$e=Xre(rt(qre((e,t,n,r)=>{let i=r.getRef(J$e),a=r.context.mapUnsafe.get(Y$e.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)}))),Z$e=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(Mre),m(()=>5));return rt(re(t))}return rt(re(1))})),Q$e=Xe(function*(e){let t=yield*Ot(),n=at(t,jre),r=at(t,Me),a=We(t),o=d(Ne(e.exportInterval),_ee),s,c=Gre(at(t,Bi)).pipe(Vi(Oe(Wi,!1)),Jre({schedule:Z$e,times:3})),u=Cn({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(u=En(dn(e.headers),u));let f=Ire(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))}}}),$$e=e=>{let t=e.attributes?jQ(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}},e1e=Xe(function*(e){let t={...yield*cu(jn(mle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*cu(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*cu(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],$$e({serviceName:n,serviceVersion:r,attributes:t})},c),t1e=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},jQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:MQ(r)});return t},MQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(MQ)}};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`){},n1e=he(NQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),r1e=Xe(function*(e){let t=yield*e1e(e.resource),n=yield*NQ,r={name:t1e(t)},i=yield*Q$e({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(o1e(e))}return xe({span(e){return a1e({...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})}),i1e={_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)}},a1e=e=>{let t=Object.assign(Object.create(i1e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:PQ(32),t.spanId=PQ(16),t.events=[],t},PQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},o1e=e=>{let t=e.status,n=jQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?jQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=c1e;else if(dt(t.exit.cause))i={code:FQ.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:FQ.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:s1e[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:jQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},FQ={Unset:0,Ok:1,Error:2},s1e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},c1e={code:FQ.Ok},l1e=1e4,u1e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":Tl}},d1e=De(X$e,n1e,he(Ui,()=>!0)),IQ=null,LQ=null,RQ=null,zQ=null,BQ=0,VQ=Promise.resolve(),f1e=he(Hee,xe({span(e){return IQ?.span(e)??new s(e)}}));function p1e(e={}){return e.exportIntervalMs===void 0&&zQ!==null||(VQ=VQ.finally(()=>m1e(e))),VQ}async function m1e(e){let t=pr(`/api/observability/v1/traces`),n=ur()?.bearerToken,r=Math.max(10,e.exportIntervalMs??l1e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(zQ===i&&IQ!==null)return;zQ=i;let a=++BQ,o=LQ,s=RQ;IQ=null,LQ=null,RQ=null,await HQ(o,s);let c=_l(d1e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(r1e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:u1e})));if(a!==BQ){await HQ(c,l);return}IQ=e,LQ=c,RQ=l}catch(e){await HQ(c,l),a===BQ&&console.warn(`Failed to configure client tracing exporter`,{error:h1e(e),otlpTracesUrl:t})}}async function HQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function h1e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var UQ=15e3,WQ=new Map,GQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function KQ(e){Ht.set(GQ,[...e])}function qQ(){return Ht.get(GQ)}var JQ=`global`;function g1e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function _1e(e,t,n=JQ){if(!g1e(t))return;ZQ(e,n),x1e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:UQ},a=XQ(n,e),o=setTimeout(()=>{WQ.delete(a),b1e(i)},UQ);WQ.set(a,{request:i,timeoutId:o})}function v1e(e,t=JQ){ZQ(e,t);let n=qQ();n.some(n=>n.clientId===t&&n.requestId===e)&&KQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function YQ(e){for(let[t,n]of WQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),WQ.delete(t));KQ(qQ().filter(t=>t.clientId!==e))}function y1e(){for(let e of WQ.values())clearTimeout(e.timeoutId);WQ.clear(),KQ([])}function XQ(e,t){return`${e}:${t}`}function ZQ(e,t){let n=XQ(t,e),r=WQ.get(n);r&&(clearTimeout(r.timeoutId),WQ.delete(n))}function b1e(e){let t=[...qQ(),e];if(t.length<=256){KQ(t);return}KQ(t.slice(-256))}function x1e(){for(;WQ.size>=256;){let e=WQ.keys().next().value;if(e===void 0)return;let t=WQ.get(e);if(!t)return;ZQ(t.request.requestId,t.request.clientId)}}function S1e(){return lr(GQ)}var C1e=Mo(Mn),QQ=1;function w1e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function $Q(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 T1e(){return{onAttempt:Pne,onOpen:Fne,onError:e=>{kne(e)},onClose:e=>{Ine(e)},trackGlobalConnection:!0}}function E1e(e){let t=T1e(),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 D1e(e,t){let n=QQ;QQ+=1;let r=E1e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>$Q(e)),ite(e=>pt(()=>{r.onError(w1e(e))})),c):$Q(e),a=he(la,(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=ua(i).pipe(E(a)),s=Lt(_(10),e=>rt(Ue(One(e)??0)));return ht(Fo,Ze(Io({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`?v1e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&YQ(i),r(e))).pipe(Je(pt(()=>{YQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&_1e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,jo)))}var O1e=Ue(250),e$=()=>void 0,t$=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}},k1e=new Set([`OrchestrationGetSnapshotError`]);function A1e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&k1e.has(t)}function j1e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?M1e(e):String(e)}function M1e(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 N1e=4e3,P1e=1e4,F1e=500,n$=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??N1e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??P1e,sessionCloseGraceMs:r?.sessionCloseGraceMs??F1e},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 t$(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:e$},i=Be(Ne(n?.retryDelay??O1e));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=e$}catch(e){if(r.cancelCurrentStream=e$,!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=j1e(e);return cK(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await I1e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){A1e(e)||yK(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=>{yK(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:D1e(this.url,this.lifecycleHandlers),makeClient:C1e},t=_l(De(e.layer,f1e)),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 I1e(e){return new Promise(t=>{setTimeout(t,e)})}var r$=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,L1e=/^[A-Za-z0-9_-]+$/;function R1e(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+=r$[o>>>18&63],t+=r$[o>>>12&63],n+1<e.byteLength&&(t+=r$[o>>>6&63]),n+2<e.byteLength&&(t+=r$[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function z1e(e){if(e.length===0||!L1e.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=r$.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 i$(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 B1e(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:R1e(a),sha256:await i$(a)})}return{totalBytes:e.byteLength,sha256:await i$(e),chunks:i}}async function V1e(e){let t=z1e(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 i$(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function H1e(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 V1e(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 i$(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var a$=`forge`,U1e=RegExp(`^${a$}\\/[0-9a-f]{8}$`);function W1e(){return`${a$}/${fe(vte).replace(/-/g,``).slice(0,8).toLowerCase()}`}function G1e(e){return U1e.test(e.trim().toLowerCase())}function K1e(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 q1e(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 J1e(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 o$(e){return`https://${e}`}function Y1e(e){return e===`github.com`||e.includes(`github`)}function X1e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function Z1e(e){return e===`bitbucket.org`}function Q1e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function $1e(e){let t=J1e(e);if(!t)return null;let n=K1e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?Y1e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:o$(t)}:X1e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:o$(t)}:Z1e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:o$(t)}:Q1e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:o$(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:o$(t)}:null}var e0e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function s$(e,t){return{...e,...t??e0e}}function t0e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function n0e(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 r0e(e,t){switch(t._tag){case`snapshot`:return s$(t.local,t.remote);case`localUpdated`:return s$(t.local,e?t0e(e):null);case`remoteUpdated`:return s$(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:n0e(e),t.remote)}}var i0e=262144,a0e=250;function o0e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function s0e(e){return new Promise(t=>setTimeout(t,e))}function c0e(e){let t=hce({controllerId:crypto.randomUUID(),maxPendingWriteBytes:i0e}),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(!cK(o0e(e)))throw e;await s0e(a0e)}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 l0e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function u0e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var d0e=2e4,f0e=12e4,p0e=3e5;function m0e(e){return e instanceof t$||cK(e instanceof Error?e.message:String(e))}async function h0e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?p0e:d0e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!m0e(t))throw t;return await e.reconnect(),await r()}}function c$(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function l$(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>g0e(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 H1e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function g0e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){_0e(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`){v0e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function _0e(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 v0e(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 y0e(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 B1e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{c$(n?.signal);let r=await b0e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await x0e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await u0e(e,a),t}}function b0e(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 x0e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;c$(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}c$(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function u$(e){let t=c0e(e);return{dispose:()=>(t.dispose(),e.dispose()),reconnect:async()=>{Dne(),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:l0e(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)=>l$(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>y0e(e,t,n)},projectCheckoutDeletion:{preview:t=>e.request(e=>e[M.projectCheckoutDeletionPreview](t)),execute:t=>e.request(e=>e[M.projectCheckoutDeletionExecute](t))},codeGraph:{summary:t=>e.request(e=>e[M.codeGraphSummary](t)),neighborhood:t=>e.request(e=>e[M.codeGraphNeighborhood](t)),search:t=>e.request(e=>e[M.codeGraphSearch](t))},workspace:{environmentPreflight:t=>e.request(e=>e[M.workspaceEnvironmentPreflight](t)),ensureScratch:t=>e.request(e=>e[M.workspaceEnsureScratch](t))},shell:{openInEditor:t=>e.request(e=>e[M.shellOpenInEditor](t))},git:{pull:t=>e.request(e=>e[M.gitPull](t)),refreshStatus:t=>e.request(e=>e[M.gitRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[M.subscribeGitStatus](t),e=>{i=r0e(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:f0e})},orchestration:{dispatchCommand:t=>h0e(e,t),getTurnDiff:(t,n)=>l$(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>l$(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 S0e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function d$(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!S0e.has(t)?null:t}function f$(e,t){return e===401||e===403||d$(t)!==null}function C0e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return f$(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var p$=`forge.deviceRegistry.deviceKey`,m$=`forge.deviceRegistry.runtimeId`;function w0e(e){let t=_$(p$,e.desktopIdentity?.deviceKey,`device`),n=_$(m$,e.desktopIdentity?.runtimeId,`runtime`),r=g$(e.desktopIdentity?.hostKey),i=O0e(),a=e.desktopAvailable?`desktop`:k0e(),o=e.desktopAvailable?D0e(e.desktopIdentity)??A0e(i):j0e(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 h$(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return w0e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function g$(e){let t=e?.trim()??``;return t.length>0?t:null}function _$(e,t,n){let r=g$(t);return r?(DY(e,r),r):E0e(e,n)}function T0e(){return EY(m$)}function v$(){return EY(p$)}function E0e(e,t){let n=EY(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return DY(e,r),r}function D0e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function O0e(){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 k0e(){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 A0e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function j0e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var y$=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function b$(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new y$(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new y$(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function M0e(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 N0e(e){if(!e.deviceKey)throw new y$(`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 y$(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new y$(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function P0e(e,t){let n=async()=>N0e(await M0e(t));return{acquireRoute:async()=>{let r=await n(),i=await fce();try{return mce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...pce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof hl)throw new y$(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return b$(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 b$(e)}}}}var x$=`forge.relayControlJournal.v1`;function S$(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var F0e={read:()=>S$().getItem(x$),write:e=>S$().setItem(x$,e)},C$=null,w$=qt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function I0e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));w$.getState().replace(Object.fromEntries([...t].map(t=>[t,Lse(e.records,t)])))})}function T$(){return C$===null&&(C$=Hc({storage:F0e}),I0e(C$)),C$}function L0e(){let e=(0,Sl.c)(1),t=w$(z0e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(R0e,n),t}function R0e(){T$()}function z0e(e){return e.byRuntimeId}function B0e(e){let t=T$();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 V0e=15e3;function H0e(e){return e===401||e===403}function U0e(e){return typeof e!=`object`||!e?!1:e.retryable===!0}function E$(e){return H0e(e.status)||e.attempt>=e.maxAttempts||e.status>=200&&e.status<300?!1:e.status>=500||e.status===409&&U0e(e.body)}function W0e(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 D$(e){let t=e=>Math.min(V0e,Math.max(0,e)),n=W0e(e.retryAfter,e.nowMs??Date.now());return t(n===null?300*2**Math.max(0,e.attempt-1):n)}var G0e=6e4;function K0e(e,t){if(!e||typeof e!=`object`)return t;let n=e.error;return typeof n==`string`&&n.trim().length>0?n:t}var O$=`CMMD returned an invalid Cloud runtime connection descriptor.`;function k$(e,t){let n=e[t];if(typeof n!=`string`||n.length===0)throw Error(O$);return n}function q0e(e){if(!e||typeof e!=`object`)throw Error(O$);let t=e;return{httpBaseUrl:k$(t,`httpBaseUrl`),wsBaseUrl:k$(t,`wsBaseUrl`),bearerToken:k$(t,`bearerToken`),expiresAt:k$(t,`expiresAt`)}}async function J0e(e){let t=pr(`/api/cmmd/forge-runtimes/${encodeURIComponent(e.runtimeId)}/connect`),n=sr({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 q0e(a);if(!E$({status:i.status,body:a,attempt:r,maxAttempts:8})){let e=f$(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(K0e(a,e)),{status:i.status,...d$(a)?{code:d$(a)}:{}})}await bZ(D$({attempt:r,retryAfter:i.headers.get(`retry-after`)}),e.signal)}throw Error(`Cloud runtime connection retry budget was exhausted.`)}function Y0e(e,t){if(!e?.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n<=t+G0e}function A$(e){let t=e.requestDescriptor??J0e,n=e.now??Date.now,r=e.initialDescriptor??null,i=null,a=!1,o=new AbortController,s=e=>yZ(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||Y0e(r,n())?c():Promise.resolve(r);return yZ(s(t),e?.signal)},invalidate:()=>{a=!0},dispose:()=>{o.abort()}}}var X0e=12e4,Z0e=3e4,j$=3e4;function M$(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 Q0e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function $0e(e){let t=e.now??Date.now,n=e.renewalSkewMs??X0e,r=!1,i=null,a=null,o=M$(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=M$(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()+j$;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},j$),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=M$(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=Q0e(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()+Z0e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var N$=new Map;function P$(e,t){return e.acquire(t?{signal:t}:{})}function e2e(e,t){N$.set(e,t)}function F$(e,t){let n=N$.get(e);t&&n!==t||(n?.dispose(),N$.delete(e))}async function t2e(e){let t=N$.get(e);if(t)return(await t.acquire()).bearerToken;let n=Rq(e);return n&&xZ(n)?null:Uq(e)}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,t){return e.environmentId===t.environmentId&&e.httpBaseUrl===t.httpBaseUrl&&e.wsBaseUrl===t.wsBaseUrl&&e.runtimeId===t.runtimeId&&e.cmmdOrganizationId===t.cmmdOrganizationId}function Y$(e){if(K$(e.record.environmentId)!==e.generation)return!1;let t=Rq(e.record.environmentId);return e.registryExpectation.kind===`initial-add`?t===null||J$(t,e.record):t!==null&&J$(t,e.registryExpectation.record)}var n2e=9e5,X$=32,Z$=()=>void 0;function Q$(e,t){return Wo(Bo(e,t))}function $$(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function r2e(e){let t=Bo(e.environmentId,e.threadId),n=QJ.getState(),r=ZJ(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=XJ(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 e1(e){return e.refCount===0&&!r2e(e)}function t1(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==Z$)return!0;let t=A1(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{if(e.lastEventAt=Date.now(),e.recoveryAttempts=0,t.kind===`snapshot`){QJ.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId),QJ.getState().clearThreadSubscriptionError(e.environmentId,e.threadId);return}D2e(t.event,e.environmentId)},{onError:t=>YJe(e.environmentId,e.threadId,t)}),!0):!1}function n1(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=k1(()=>{t1(e)&&(e.lastAccessedAt=Date.now())}),t1(e))}function r1(e){let t=U$.get(e);return t?($$(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,U$.delete(e),t.unsubscribe(),t.unsubscribe=Z$,l2e(),!0):!1}var i1=null;function i2e(e){let t=Bo(e.environmentId,e.threadId),n=QJ.getState(),r=ZJ(n,t);if(r?.latestTurn?.state===`running`||r?.session?.orchestrationStatus===`running`)return!0;let i=XJ(n,t);return i?.latestTurn?.state===`running`||i?.session?.orchestrationStatus===`running`}function a2e(e){e.unsubscribe!==Z$&&(e.unsubscribe(),e.unsubscribe=Z$),t1(e)||n1(e)}function o2e(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`){a2e(e);return}A1(e.environmentId)?.reconnect().catch(t=>{yK(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 s2e(){let e=Date.now();for(let t of U$.values()){let n=vQe({isWorking:i2e(t),msSinceLastEvent:e-t.lastEventAt,stallThresholdMs:yQe,recoveryAttempts:t.recoveryAttempts,maxResubscribeAttempts:2,maxTotalAttempts:4});n!==`none`&&o2e(t,n,e-t.lastEventAt)}}function c2e(){i1===null&&(i1=setInterval(s2e,bQe))}function l2e(){U$.size>0||i1!==null&&(clearInterval(i1),i1=null)}function u2e(e){for(let[t,n]of U$)n.environmentId===e&&r1(t)}function d2e(e){let t=Bo(e.environmentId,e.threadId),n=QJ.getState(),r=XJ(n,t);if(!r)return null;let i=ZJ(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 f2e(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=d2e(e);i&&(n.add(i.id),r.push(i))}return r.length===0?e:{...e,threads:[...e.threads,...r]}}function p2e(e,t){let n=new Set(t);for(let[t,r]of U$)r.environmentId===e&&!n.has(r.threadId)&&e1(r)&&r1(t)}function m2e(e){$$(e),e1(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=U$.get(Q$(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,e1(t)&&r1(Q$(e.environmentId,e.threadId)))},n2e))}function a1(){if(U$.size<=X$)return;let e=[...U$.entries()].filter(([,e])=>e1(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(U$.size<=X$)return;r1(t)}}function o1(e){$$(e),e1(e)&&m2e(e)}function h2e(e,t){let n=U$.get(Q$(e,t));n&&o1(n)}function s1(e){for(let t of U$.values())t.environmentId===e&&o1(t);a1()}function g2e(e,t){let n=Q$(e,t),r=U$.get(n);if(r){$$(r),r.refCount+=1,r.lastAccessedAt=Date.now(),t1(r)||n1(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(o1(r),a1()))}}let i={environmentId:e,threadId:t,unsubscribe:Z$,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null,lastEventAt:Date.now(),recoveryAttempts:0};U$.set(n,i),t1(i)||n1(i),c2e(),a1();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(o1(i),a1()))}}function c1(){for(let e of H$)e()}function _2e(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function l1(){return new Date().toISOString()}var u1=8,d1=[1e3,2e3,4e3,8e3,12e3,16e3,2e4],v2e=9e4;function y2e(e){if(typeof e!=`object`||!e)return null;let t=e.status;return typeof t==`number`&&Number.isInteger(t)?t:null}function b2e(e){if(C0e(e))return!1;let t=y2e(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 x2e(e){return d1[e]??d1[d1.length-1]}function S2e(){return v2e}function C2e(e,t){if(!xZ(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.`))},S2e())});return Promise.race([t,r]).finally(()=>{n!==null&&globalThis.clearTimeout(n)})}function f1(e){gZ.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function p1(e){let t=l1();gZ.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),Pq.getState().markConnected(e,t)}function m1(e,t){gZ.getState().patch(e,{descriptor:t.environment,serverConfig:t})}function h1(e,t){gZ.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:l1(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:l1()}:{}})}function g1(e,t){gZ.getState().patch(e,{connectionState:`error`,..._2e(t)})}function w2e(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 _1(){let e=GJ(QJ.getState());AQ.getState().syncProjects(e.map(e=>({key:Uo(zo(e.environmentId,e.id)),cwd:e.cwd})))}function v1(){let e=KJ(QJ.getState());AQ.getState().syncThreads(e.map(e=>({key:Wo(Bo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),JZe(e.map(e=>Bo(e.environmentId,e.id)))}function T2e(){_1(),v1();let e=XZe({snapshotThreads:KJ(QJ.getState()).map(e=>({key:Wo(Bo(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:sZ.getState().listDraftThreadKeys()});cQ.getState().removeOrphanedTerminalStates(e)}function y1(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function E2e(e,t){if(e.length===0)return;let n=ZZe(e),r=w2e(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()),QJ.getState().applyOrchestrationEvents(r,t),i){let e=GJ(QJ.getState());AQ.getState().syncProjects(e.map(e=>({key:Uo(zo(e.environmentId,e.id)),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=KJ(QJ.getState());AQ.getState().syncThreads(e.map(e=>({key:Wo(Bo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=sZ.getState();for(let e of n.promoteDraftThreadIds)cZ(Bo(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(Bo(t,e)),AQ.getState().clearThreadUi(Wo(Bo(t,e)));for(let e of n.removeTerminalStateThreadIds){let n=Bo(t,e);cQ.getState().removeTerminalState(n),hQ.getState().clearBrowserState(n)}s1(t)}function D2e(e,t){E2e([e],t)}function O2e(e,t){let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?Bo(t,n):null,i=r?XJ(QJ.getState(),r):void 0;switch(QJ.getState().applyShellEvent(e,t),e.kind){case`project-upserted`:case`project-removed`:_1();return;case`thread-upserted`:v1(),!i&&r&&cZ(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&(cQ.getState().removeTerminalState(r),hQ.getState().clearBrowserState(r)),h2e(t,e.thread.id),a1();return;case`thread-removed`:r&&(r1(Wo(r)),sZ.getState().clearDraftThread(r),AQ.getState().clearThreadUi(Wo(r)),cQ.getState().removeTerminalState(r),hQ.getState().clearBrowserState(r)),v1();return}}function k2e(e,t){return e.invalidateQueries({queryKey:dZ.all(t)})}function b1(e){return{onWelcome:(t,n)=>{e?.(t),W$&&k2e(W$.queryClient,n)},applyShellEvent:O2e,syncShellSnapshot:(e,t)=>{let n=f2e(e,t);QJ.getState().syncServerShellSnapshot(n,t),p2e(t,n.threads.map(e=>e.id)),s1(t),T2e()},applyTerminalEvent:(e,t)=>{let n=Bo(t,Vn.make(e.threadId)),r=XJ(QJ.getState(),n),i=sZ.getState().getDraftThreadByRef(n)!==null;y1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&cQ.getState().applyTerminalEvent(n,e)},applyBrowserEvent:(e,t)=>{let n=Bo(t,Vn.make(e.threadId)),r=XJ(QJ.getState(),n),i=sZ.getState().getDraftThreadByRef(n)!==null;y1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&hQ.getState().applyBrowserEvent(n,e)},onShellSubscriptionError:(e,t)=>{g1(t,e)}}}function x1(){if(typeof window>`u`)return;let e=or();if(e?.primaryMode===`cloud`&&e.bearerToken)return{bearerToken:e.bearerToken,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}function A2e(){if(typeof window>`u`)return;let e=or(),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 j2e(e){let t=Kie(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);return u$(new n$(async()=>{await fr().catch(()=>null);let e=x1();if(e)try{return await mZ({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})}catch(e){throw eq(e)&&hr(`ws-token`),e}return tqe(t)}))}function M2e(e){return u$(new n$(()=>mZ({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),{trackGlobalConnection:!1,onAttempt:()=>{f1(e.environmentId)},onOpen:()=>{p1(e.environmentId)},onError:t=>{gZ.getState().patch(e.environmentId,{connectionState:`error`,lastError:t,lastErrorAt:l1()})},onClose:t=>{h1(e.environmentId,t.reason)}}))}function N2e(e){let t=e.runtimeId?.trim();if(t)return t;let n=zl(e.environmentId);if(!n)throw Error(`Saved Cloud environment ${e.environmentId} is missing its runtime id.`);return n}function P2e(e,t,n){let r=e,i=A$({runtimeId:N2e(e),...e.cmmdOrganizationId===void 0?{}:{organizationId:e.cmmdOrganizationId},...t===void 0?{}:{initialDescriptor:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:t,expiresAt:e.runtimeTicketExpiresAt??null}},validateDescriptor:async e=>{await pZ({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})},persistDescriptor:async e=>{if(n&&!n())throw Error(`Saved environment changed while its connection was being acquired.`);let t={...P1(r),httpBaseUrl:e.httpBaseUrl,wsBaseUrl:un(e.wsBaseUrl),...e.expiresAt===null?{}:{runtimeTicketExpiresAt:e.expiresAt},lastConnectedAt:l1()};await Hq(t),await Wq(t.environmentId),Pq.getState().upsert(t),r=t}});return e2e(e.environmentId,i),i}function F2e(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 I2e(e,t,n){return n()&&gZ.getState().ensure(e.environmentId),u$(new n$(async()=>{let n=await t.acquire(),r=t=>mZ({wsBaseUrl:t.wsBaseUrl,httpBaseUrl:t.httpBaseUrl,bearerToken:t.bearerToken,...xZ(e)?{runtimeTicket:t.bearerToken}:{}});try{return await r(n)}catch(n){if(!xZ(e)||!eq(n))throw n;return r(await t.acquire({forceRefresh:!0}))}},{trackGlobalConnection:!1,onAttempt:()=>{n()&&f1(e.environmentId)},onOpen:()=>{n()&&p1(e.environmentId)},onError:r=>{xZ(e)&&I$(r)&&t.invalidate?.(),n()&&gZ.getState().patch(e.environmentId,{connectionState:`error`,lastError:r,lastErrorAt:l1()})},onClose:r=>{xZ(e)&&(r.code===1008||I$(r.reason))&&t.invalidate?.(),n()&&h1(e.environmentId,r.reason)}}))}async function S1(e,t,n,r,i,a,o){let s=await P$(t,o),[c,l]=await Promise.all([a?Promise.resolve(a):n.server.getConfig(),pZ({httpBaseUrl:s.httpBaseUrl,bearerToken:s.bearerToken,...o?{signal:o}:{}})]);if(!r())return!1;gZ.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=Rq(e.environmentId);return r()&&l.authenticated&&u&&Pq.getState().upsert({...u,lastAuthenticatedPullRequestCapability:c.environment.capabilities?.pullRequests===!0}),!0}function C1(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),c1(),e}async function w1(e){let t=L$.get(e);return t?(L$.delete(e),F$(e),u2e(e),c1(),await t.dispose(),!0):!1}function T1(){let e=Dq();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=L$.get(e.environmentId);if(t)return t;let n=x1(),r=e.source===`paired-bearer`||!0;return C1(CZ({kind:`primary`,knownEnvironment:e,client:j2e(e),resolveEnvironmentId:()=>Dq()?.environmentId??e.environmentId,...r?{readiness:n?{bearerToken:n.bearerToken}:{}}:{},...b1()}))}async function L2e(e,t,n){let r=L$.get(e.environmentId);if(r)return r;let i=xZ(e),a=()=>Y$({record:e,generation:t,registryExpectation:n?.registryExpectation??{kind:`existing-record`,record:e}}),o=i?n?.bearerToken:n?.bearerToken??await Uq(e.environmentId);if(!i&&!o)throw a()&&gZ.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:l1()}),Error(`Saved environment is missing its saved credential.`);let s=i?P2e(e,o??void 0,a):F2e({record:e,bearerToken:o}),c=await P$(s,n?.signal);if(!a())throw Error(`Saved environment changed while its connection was being acquired.`);let l=n?.client??I2e(e,s,a),u=Lo({id:e.environmentId,label:e.label,source:`manual`,target:{httpBaseUrl:c.httpBaseUrl,wsBaseUrl:c.wsBaseUrl}}),d=i&&c.expiresAt?$0e({initialDescriptor:{httpBaseUrl:c.httpBaseUrl,wsBaseUrl:c.wsBaseUrl,bearerToken:c.bearerToken,expiresAt:c.expiresAt},renew:async()=>{let e=await s.acquire({forceRefresh:!0});return{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken,expiresAt:e.expiresAt??null}},onState:t=>{a()&&gZ.getState().patch(e.environmentId,{providerAuthority:t})}}):null,f=CZ({kind:`saved`,knownEnvironment:{...u,environmentId:e.environmentId},client:l,readiness:{bearerToken:c.bearerToken},tolerateReportedEnvironmentIdentity:i,refreshMetadata:async()=>{await S1(e,s,l,a)},...d?{ensureProviderAuthority:d.ensureLive,onDispose:d.dispose}:{},onConfigSnapshot:t=>{a()&&gZ.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t})},...b1(t=>{a()&&gZ.getState().patch(e.environmentId,{descriptor:t.environment})})});try{if(!await C2e(e,S1(e,s,l,a,n?.role??null,n?.serverConfig??null,n?.signal))||!a())throw Error(`Saved environment changed while its connection was being acquired.`);return C1(f)}catch(t){throw i&&F$(e.environmentId,s),a()&&g1(e.environmentId,t),await f.dispose().catch(()=>void 0),t}}async function E1(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&&J$(i.record,e))return i.promise;let a=L2e(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 D1(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||!J$(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 M1(e)}))}function O1(){W$?.stop(),W$=null}function k1(e){return H$.add(e),()=>{H$.delete(e)}}function A1(e){return L$.get(e)??null}function R2e(e){let t=A1(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function j1(){return T1()}async function z2e(){let e=A2e();if(!e)throw Error(`Desktop Local runtime is not authenticated. Sign in with CMMD again before importing local projects.`);let t=await rQe({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return L$.get(t.environmentId)||C1(CZ({kind:`desktop-local`,knownEnvironment:{...Lo({id:t.environmentId,label:e.label,source:`desktop-managed`,target:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}),environmentId:t.environmentId,label:t.label},client:M2e({environmentId:t.environmentId,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken}),...b1()}))}async function B2e(e){let t=an.make(e.runtimeId),n=L$.get(t);if(n)return n;f1(t);let r=T$(),i=P0e(e.runtimeId,{apiClient:ZK,getStoredDeviceKey:v$,buildDeviceRegistration:h$,controlSessionId:r.controlSessionId}),a=await i.acquireRoute(),o=a,s=dce({acquireRoute:async()=>{let e=o;return o=null,e??i.acquireRoute()},acquireActionGrant:i.acquireActionGrant,journal:r,lifecycle:{onConnecting:()=>{f1(t)},onAuthenticated:()=>{p1(t)},onDisconnected:e=>{h1(t,e.reason)},onError:e=>{g1(t,Object.assign(Error(e.message),e))}}}),c=u$(new n$(a.relayWebSocketUrl,{trackGlobalConnection:!1},{layer:s,makeClient:uce(Un)})),l=CZ({kind:`saved`,knownEnvironment:{...Lo({id:t,label:e.label,source:`manual`,target:{httpBaseUrl:ur()?.target.httpBaseUrl??a.relayWebSocketUrl,wsBaseUrl:a.relayWebSocketUrl}}),environmentId:t},client:c,tolerateReportedEnvironmentIdentity:!0,onConfigSnapshot:e=>{m1(t,e)},...b1(e=>{gZ.getState().patch(t,{descriptor:e.environment})})});try{let[,e]=await Promise.all([l.ensureBootstrapped(),c.server.getConfig()]);return m1(t,e),p1(t),C1(l)}catch(e){throw g1(t,e),await l.dispose().catch(()=>void 0),e}}function V2e(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=B2e(e).finally(()=>{R$.delete(t)});return R$.set(t,i),i}async function M1(e){L$.get(e)?.kind===`saved`&&(gZ.getState().clear(e),await w1(e).catch(()=>!1))}async function H2e(e){let t=Rq(e);if(!t)throw Error(`Saved environment not found.`);let n=L$.get(e);if(!n){try{await F1(t)}catch(t){throw g1(e,t),t}return}f1(e);try{await n.reconnect()}catch(t){throw g1(e,t),t}}function N1(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 U2e(e){let t=e.environmentId;z$.set(t,(z$.get(t)??0)+1);try{return A1(t)||await F1(e),!0}catch{return N1([t]),!1}}async function W2e(){await Iq();let e=(await Promise.all(Pqe().map(async e=>await U2e(e)?e.environmentId:null))).flatMap(e=>e===null?[]:[e]),t=!1;return()=>{t||(t=!0,N1(e))}}async function G2e(e){q$(e),Pq.getState().remove(e),await Wq(e),await M1(e)}function P1(e){let t=Rq(e.environmentId);if(t?.lastAuthenticatedPullRequestCapability!==void 0)return{...e,lastAuthenticatedPullRequestCapability:t.lastAuthenticatedPullRequestCapability};let n=gZ.getState().byId?.[e.environmentId];return n?.authState===`authenticated`&&n.descriptor?{...e,lastAuthenticatedPullRequestCapability:n.descriptor.capabilities.pullRequests===!0}:e}async function K2e(e){let t=an.make(e.environment.environmentId),{existing:n,replacedRecord:r}=sQe({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??l1(),lastConnectedAt:l1(),...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}};vZ(e.signal);let u=await cQe(n);q$(l.environmentId),await w1(l.environmentId).catch(()=>!1),r&&(q$(r.environmentId),await w1(r.environmentId).catch(()=>!1)),await F1(l,{bearerToken:e.bearerToken,registryExpectation:n&&!r?{kind:`existing-record`,record:n}:{kind:`initial-add`},...e.signal?{signal:e.signal}:{},...e.onBootstrapRetry?{onBootstrapRetry:e.onBootstrapRetry}:{}});let d=!1;try{return vZ(e.signal),await lQe({record:l,replacedRecord:r,rollback:u,...e.signal?{signal:e.signal}:{}}),d=!0,vZ(e.signal),Pq.getState().upsert(P1(l)),l}catch(t){throw await w1(l.environmentId).catch(()=>!1),d&&await SZ({record:l,replacedRecord:r,rollback:u}),vZ(e.signal),t}}async function F1(e,t){if(!xZ(e))return E1(e,t);let n=K$(e.environmentId),r=()=>Y$({record:e,generation:n,registryExpectation:t?.registryExpectation??{kind:`existing-record`,record:e}}),i=null;for(let n=0;n<u1;n+=1){vZ(t?.signal);try{let n=await E1(e,t);return await yZ(n.ensureBootstrapped(),t?.signal),n}catch(a){if(i=a,!r())throw a;if(await w1(e.environmentId).catch(()=>!1),vZ(t?.signal),n>=7||!b2e(a))throw r()&&g1(e.environmentId,a),a;let o=x2e(n);t?.onBootstrapRetry?.({attempt:n+2,maxAttempts:u1,retryDelayMs:o,error:a}),r()&&gZ.getState().patch(e.environmentId,{connectionState:`connecting`,lastError:null,lastErrorAt:null}),await bZ(o,t?.signal)}}let a=i instanceof Error?i:Error(String(i));throw r()&&g1(e.environmentId,a),a}async function q2e(e){await L$.get(e)?.ensureBootstrapped()}async function J2e(e){let t=L$.get(e),n=Rq(e);if(!n||!xZ(n)){await t?.ensureProviderAuthority?.();return}if(!t?.ensureProviderAuthority)throw Error(`Cloud runtime provider authority is not available.`);await t.ensureProviderAuthority()}function Y2e(e){if(W$?.queryClient===e)return W$.refCount+=1,()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&O1())};O1(),G$=!1;let t=new ZJe(()=>{G$&&(G$=!1,e.invalidateQueries({queryKey:uZ.all}),e.invalidateQueries({queryKey:lZ.all}))},{wait:100,leading:!1,trailing:!0});T1(),fr().catch(()=>void 0);let n=Pq.subscribe(()=>{Fq()&&D1(Lq())});return Iq().then(()=>D1(Lq())).catch(()=>void 0),W$={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{n(),t.cancel()}},()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&O1())}}var X2e=xte(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function Z2e(e){return{environmentId:e.environmentId,threadId:e.threadId}}function Q2e(e){return{draftId:e}}function $2e(e){return!e.environmentId||!e.threadId?null:Bo(e.environmentId,e.threadId)}function e4e(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:Bo(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}var t4e=F.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return wte(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})});function I1(e){let t=(0,Sl.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Jt(`relative overflow-hidden rounded-sm bg-muted [--skeleton-highlight:--alpha(var(--color-white)/64%)] after:absolute after:inset-0 after:animate-skeleton after:bg-[linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)] motion-reduce:after:content-none dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Nr.jsx)(`div`,{className:i,"data-slot":`skeleton`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function n4e(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Kt(i),[,o]=F.useState(!1),s=Zt(i4e).current,c=Zt(r4e).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(!s4e(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=o4e(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Kt(()=>{let[e,t]=a4e(c),n=g(e);_(t),d.current=e,u.current=!1,s.forEach(e=>e(n)),a(n)});Xt(()=>(u.current||g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),Xt(()=>{u.current&&v()}),Xt(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Kt(e=>(s.add(e),()=>{s.delete(e)})),b=F.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Nr.jsx)(Ste.Provider,{value:b,children:t})}function r4e(){return new Map}function i4e(){return new Set}function a4e(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 o4e(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function s4e(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function L1(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function R1(e){let t=e.browser,n=t?{openSession:t.openSession,listSessions:t.listSessions,closeSession:t.closeSession,getSession:t.getSession,command:t.command,clearBrowsingData:t.clearBrowsingData,attachDisplay:t.attachDisplay,addDisplayIceCandidate:async e=>{await t.addDisplayIceCandidate(e)},onEvent:(e,n)=>t.onEvent(e,n)}:void 0;return{...n?{browser:n}:{},attachments:{createUploadUrl:t=>e.attachments.createUploadUrl(t),delete:t=>e.attachments.delete(t)},computer:{input:t=>e.computer.input(t)},threadDevRuntime:{get:t=>e.threadDevRuntime.get(t),allocatePort:t=>e.threadDevRuntime.allocatePort(t),release:t=>e.threadDevRuntime.release(t)},devTunnel:{register:t=>e.devTunnel.register(t),unregister:t=>e.devTunnel.unregister(t),list:t=>e.devTunnel.list(t)},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),signal:t=>e.terminal.signal(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{searchContents:e.projects.searchContents,searchEntries:e.projects.searchEntries,readFile:e.projects.readFile,writeFile:e.projects.writeFile},codeGraph:{summary:e.codeGraph.summary,neighborhood:e.codeGraph.neighborhood,search:e.codeGraph.search},workspace:{environmentPreflight:e.workspace.environmentPreflight,ensureScratch:e.workspace.ensureScratch},shell:{openInEditor:t=>e.shell.openInEditor(t)},git:{pull:e.git.pull,refreshStatus:e.git.refreshStatus,onStatus:(t,n,r)=>e.git.onStatus(t,n,r),listBranches:e.git.listBranches,createWorktree:e.git.createWorktree,removeWorktree:e.git.removeWorktree,createBranch:e.git.createBranch,checkout:e.git.checkout,init:e.git.init,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread},pullRequests:{list:t=>e.pullRequests.list(t),listStats:t=>e.pullRequests.listStats(t),detail:t=>e.pullRequests.detail(t),activity:t=>e.pullRequests.activity(t),threadComments:t=>e.pullRequests.threadComments(t),diffFileContents:t=>e.pullRequests.diffFileContents(t),runAction:t=>e.pullRequests.runAction(t),update:t=>e.pullRequests.update(t),comment:t=>e.pullRequests.comment(t),updateComment:t=>e.pullRequests.updateComment(t),submitReview:t=>e.pullRequests.submitReview(t),replyToThread:t=>e.pullRequests.replyToThread(t),setThreadResolution:t=>e.pullRequests.setThreadResolution(t),setReaction:t=>e.pullRequests.setReaction(t),invalidate:t=>e.pullRequests.invalidate(t),reviewerCandidates:t=>e.pullRequests.reviewerCandidates(t),requestReviewers:t=>e.pullRequests.requestReviewers(t)},orchestration:{dispatchCommand:e.orchestration.dispatchCommand,getTurnDiff:e.orchestration.getTurnDiff,getFullThreadDiff:e.orchestration.getFullThreadDiff,subscribeShell:(t,n)=>e.orchestration.subscribeShell(t,n),subscribeThread:(t,n,r)=>e.orchestration.subscribeThread(t,n,r)}}}function z1(e){if(typeof window>`u`||!e)return;let t=A1(e);return t?R1(t.client):void 0}function c4e(e){let t=(0,Sl.c)(4),n;t[0]===e?n=t[1]:(n=()=>A1(e),t[0]=e,t[1]=n);let r=(0,F.useSyncExternalStore)(k1,n,l4e),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 l4e(){return null}function u4e(e){let t=z1(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}var B1=`forge:last-editor`;function d4e(e){let t=(0,Sl.c)(5),[n,r]=Il(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=Ml(B1,zn);if(n&&t.has(n))return n;let r=en.find(e=>t.has(e.id))?.id??null;return r&&Nl(B1,r,zn),r??null}async function f4e(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}),p4e=Wt(U1).pipe(Ut,Vt(`git-status:null`)),G1=()=>void 0,K1=new Map,m4e=new Set,q1=new Map,J1=new Map,h4e=1e3,Y1=gte(e=>(m4e.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=A1(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 g4e(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:y4e(n,e,t)}),()=>$1(n))}function _4e(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<h4e)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 v4e(e){let t=(0,Sl.c)(4),n=X1(e),r,i;t[0]!==e.cwd||t[1]!==e.environmentId?(r=()=>g4e({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=lr(n===null?p4e: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 y4e(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=b4e(e,r,o.client))},s=n?G1:k1(o);return o(),()=>{s(),a()}}function b4e(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 x4e=[],S4e=[],C4e=[],w4e=e=>e?.availableEditors??x4e,T4e=e=>e?.keybindings??S4e,E4e=e=>e?.keybindingsConfigPath??null,D4e=e=>e?.observability??null,O4e=e=>e?.providers??C4e,k4e=e=>e?.settings??bne,r0=t0(`server-welcome`,null),i0=t0(`server-config`,null),a0=t0(`server-config-updated`,null),A4e=t0(`server-providers-updated`,null);function o0(){return Ht.get(i0)}function j4e(){return Ht.get(a0)}function s0(e){d0(e),f0({providers:e.providers}),p0(n0(e),`snapshot`)}function M4e(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(Tq()?.environmentId===e.environmentId&&Eq(e),!t)return;let n={...t,environment:e};d0(n),p0(n0(n),`environmentUpdated`)}function N4e(e){Ht.set(r0,e)}function P4e(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&N4e(e.payload)}),e.subscribeConfig(e=>{M4e(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 F4e=1;function d0(e){Ht.set(i0,e)}function f0(e){Ht.set(A4e,e)}function p0(e,t){Ht.set(a0,{id:F4e++,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)},[]);wne(e,r,{immediate:!0})}function I4e(){return lr(i0)}function h0(){return lr(i0,k4e)}function L4e(){return lr(i0,O4e)}function R4e(){return lr(i0,T4e)}function z4e(){return lr(i0,w4e)}function B4e(){return lr(i0,E4e)}function V4e(){return lr(i0,D4e)}function H4e(e){m0(r0,e)}function U4e(e){m0(a0,e)}function W4e(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 G4e(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 K4e(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 q4e(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 W4e(e)){if(n){i.appendChild(G4e(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=K4e({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 J4e(){return _0(j1().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 Y4e(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 X4e(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):q4e(e,t)},persistence:{getClientSettings:Jl,setClientSettings:Yl,getSavedEnvironmentRegistry:Xl,setSavedEnvironmentRegistry:Zl,getSavedEnvironmentSecret:Ql,setSavedEnvironmentSecret:$l,removeSavedEnvironmentSecret:eu},server:_0(e)}}function v0(){if(typeof window>`u`)return;if(g0)return g0;let e=X4e(j1().client);return window.nativeApi?(g0=Y4e(e,window.nativeApi),g0):(g0=e,g0)}function Z4e(){let e=v0();if(!e)throw Error(`Local API not found`);return e}var Q4e=`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`,$4e=`ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace`;function e3e(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 t3e(e){let t=e.split(`,`).map(e3e).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 n3e(e,t){let n=[[y0.fontSans,t.fontFamilySans,Q4e],[y0.fontMono,t.fontFamilyCode,$4e],[y0.fontComposer,t.fontFamilyComposer,`var(--font-sans)`],[y0.fontTerminal,t.fontFamilyTerminal,`var(--font-mono)`]];for(let[t,r,i]of n){let n=t3e(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 r3e(e,t){try{window.localStorage.setItem(x0,JSON.stringify({appearance:t,background:e}))}catch{}}function i3e(){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],i3e()}}function a3e(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&&r3e(r.background,t)}function o3e(e,t){if(e===`forge`){C0();return}let n=lne(e);if(n===void 0){C0();return}a3e(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 s3e(){for(let e of E0)e()}function A0(){return D0}function j0(e){D0=e,s3e()}function c3e(e){return E0.add(e),l3e(),()=>{E0.delete(e)}}async function l3e(){if(O0)return;if(k0)return k0;let e=(async()=>{try{let e=await Jl();e&&j0(e)}catch(e){console.error(`${T0} hydrate failed`,e)}finally{O0=!0}})().finally(()=>{k0===e&&(k0=null)});return k0=e,k0}function u3e(e){j0(e),Yl(e).catch(e=>{console.error(`${T0} persist failed`,e)})}var d3e=new Set(Kte(yne.fields));function f3e(e){let t={},n={};for(let[r,i]of Object.entries(e))d3e.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function M0(e){let t=h0(),n=(0,F.useSyncExternalStore)(c3e,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,Sl.c)(2),t=p3e,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 p3e(e){let{serverPatch:t,clientPatch:n}=f3e(e);if(Object.keys(t).length>0){let e=o0();e&&l0(w0(e.settings,t)),j1().client.server.updateSettings(t)}Object.keys(n).length>0&&u3e({...A0(),...n})}var m3e=`forge:theme`,P0=`theme-color`,h3e=`meta[name="${P0}"][data-dynamic-theme-color="true"]`,F0=`(prefers-color-scheme: dark)`,g3e={dark:`#0a0a0a`,light:`#ffffff`};function _3e(){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 v3e(){if(!_3e())return{theme:`system`,uiFontSize:16,codeFontSize:13};try{let e=window.localStorage.getItem(Bl);if(e){let t=Ul(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(m3e);return{theme:I0(t)?t:`system`,uiFontSize:16,codeFontSize:13}}catch{return{theme:`system`,uiFontSize:16,codeFontSize:13}}}function y3e(){return typeof window>`u`||typeof window.matchMedia!=`function`||window.matchMedia(F0).matches?`dark`:`light`}function R0(e){return e===`system`?y3e():e}function b3e(){let e=document.querySelector(h3e);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 x3e(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function S3e(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function B0(e=S3e()){if(typeof document>`u`||typeof getComputedStyle>`u`)return;document.documentElement.style.backgroundColor=``,document.body.style.backgroundColor=``;let t=z0(getComputedStyle(x3e()).backgroundColor),n=z0(getComputedStyle(document.body).backgroundColor),r=t??n??g3e[e];document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,b3e().setAttribute(`content`,r)}function C3e(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),C3e(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=v3e();V0(e.theme),W0(e)}function w3e(){let e=(0,Sl.c)(34),t=M0(O3e),n=M0(D3e),r=M0(E3e),i=M0(T3e),{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=()=>{o3e(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 T3e(e){return e.codeFontSize}function E3e(e){return e.uiFontSize}function D3e(e){return e.themeId}function O3e(e){return e.theme}function k3e(){let e=(0,Sl.c)(10),t=M0(L3e),n=M0(I3e),r=M0(F3e),i=M0(P3e),a=M0(N3e),o=M0(M3e),s=M0(j3e),c=M0(A3e),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`||n3e(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 A3e(e){return e.glassOpacity}function j3e(e){return e.fontSmoothing}function M3e(e){return e.terminalFontSize}function N3e(e){return e.promptFontSize}function P3e(e){return e.fontFamilyTerminal}function F3e(e){return e.fontFamilyComposer}function I3e(e){return e.fontFamilyCode}function L3e(e){return e.fontFamilySans}function R3e(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,R3e(e,t));return G0.set(n,i),i}function z3e(e,t){return K0(t,!0).format(new Date(e))}function B3e(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 V3e(e){let t=q0(e);return t.suffix?`${t.value} ${t.suffix}`:t.value}var H3e=new Set([`tool.started`,`task.started`,`context-window.updated`,`text-generation.usage`,`worktree.stage`,`launch.agent-starting`]);function J0(e){return H3e.has(e.kind)||e.summary===`Checkpoint captured`}function U3e(e,t){return!t.latestTurnId||e.turnId===t.latestTurnId||W3e(e)?!0:G3e(e,t.latestTurnStartedAt)}function W3e(e){return e.kind.startsWith(`worktree.`)||e.kind.startsWith(`setup-script.`)}function G3e(e,t){return e.turnId!==null||e.tone!==`error`||t===null?!1:e.createdAt>=t}var K3e=[{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 q3e(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 J3e(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:q3e(r-n)}function Y0(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Y3e(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 X3e(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 Z3e(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 Q3e(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=Z3e(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 $3e(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 e6e(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 t6e(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 n6e(e){return e!==null&&e.implementedAt===null}function r6e(e,t,n){let r=i6e(),i={latestTurnId:t,latestTurnStartedAt:n??null};return f6e([...e].toSorted(h2).filter(e=>U3e(e,i)).filter(e=>!J0(e)).filter(e=>r||e.kind!==`runtime.warning`).filter(e=>!a6e(e)).map(o6e)).map(({activityKind:e,collapseKey:t,...n})=>n)}function i6e(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(`forge:debug-mode`)===`true`}catch{return!1}}function a6e(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 o6e(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=D6e(t),r=N6e(t),i=O6e(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=j6e(t),d=M6e(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=s6e(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=g6e(l);return p&&(l.collapseKey=p),l}function s6e(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=c6e(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 c6e(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 l6e(e,t){return e.action===t.action&&e.toolName===t.toolName&&e.message===t.message}function u6e(e){switch(e){case`connect_cmmd`:return`Reconnect Forge`;case`connect_github`:return`Connect GitHub`;default:return`Open Git settings`}}function d6e(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(`
|
|
1019
|
+
`)}}}var mQe=(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 pQe(e,t.environmentId,r.signal)}).catch(()=>{}),{close:()=>{n||(n=!0,r.abort())}}},hQe=6e4;function gQe(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 _Qe(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 CZ(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=_Qe({environmentId:t,label:e.knownEnvironment.label,timeoutMs:e.bootstrapTimeoutMs??hQe}),s=e.readiness?(e.readiness.openStream??mQe)({url:gQe(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([2,1,3,4])).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 vQe(e){return!e.isWorking||e.msSinceLastEvent<e.stallThresholdMs?`none`:e.recoveryAttempts<e.maxResubscribeAttempts?`resubscribe`:e.recoveryAttempts<e.maxTotalAttempts?`reconnect`:`none`}var yQe=3e4,bQe=1e4,xQe=/^(localhost|[a-z0-9.-]+\.localhost|127(?:\.\d{1,3}){3}|\[[0:]+1\]|::1)(?::\d+)?(?:[/?#]|$)/i,wZ=/https?:\/\/[^\s"'`<>]+/gu,SQe=new RegExp(String.raw`\u001B(?:\][\s\S]*?(?:\u0007|\u001B\\)|[@-_][0-?]*[ -/]*[@-~])`,`gu`),CQe=/(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 TZ(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=xQe.test(t)||DZ(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 wQe(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function EZ(e){try{let t=new URL(e);return Tne(t.hostname)}catch{return!1}}function DZ(e){return Ene(e)}function OZ(e){try{let t=new URL(e);if(t.protocol!==`http:`||!EZ(t.toString())&&!DZ(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 TQe(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 EQe(e){return e.replace(SQe,``).replaceAll(/./gsu,e=>DQe(e)?``:e).replace(CQe,`$1$2`)}function DQe(e){let t=e.charCodeAt(0);return t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t===127}function kZ(e){let t=null,n=null,r=EQe(e);wZ.lastIndex=0;for(let e of r.matchAll(wZ)){let r=TZ(TQe(e[0]));!r||!OZ(r)||(t=r,EZ(r)&&(n=r))}return n??t}function OQe(e){let t=null;for(let n of e){let e=n.event,r=kZ(e.type===`output`?e.data:e.type===`started`||e.type===`restarted`?e.snapshot.history:``);r&&(t=r)}return t}function kQe(e){switch(e.type){case`activity`:return e.hasRunningSubprocess;case`started`:case`restarted`:case`exited`:return!1;default:return null}}var AQe=`forge:terminal-state:v1`,AZ=[],jQe=200,jZ=8;function MQe(e,t){if(t<=3&&e&&typeof e==`object`){let t=e;return{terminalStateByThreadKey:VZ(t.terminalStateByThreadKey??{}),terminalPreviewUrlByThreadKey:Object.fromEntries(Object.entries(t.terminalPreviewUrlByThreadKey??{}).filter(([e,t])=>!!Ko(e)&&typeof t?.url==`string`&&!!OZ(t.url)&&typeof t?.observedAt==`string`))}}return{terminalStateByThreadKey:{},terminalPreviewUrlByThreadKey:{}}}function NQe(){return SY(typeof window<`u`?window.localStorage:void 0)}function PQe(e){let t=[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))];return t.length>0?t:[sY]}function FQe(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 MZ(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 PZ(e,t){return e.findIndex(e=>e.terminalIds.includes(t))}function IQe(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))]}function LQe(e,t){let n=new Set(t),r=new Set,i=[],a=new Set;for(let t of e){let e=IQe(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():MZ(e[0]??`default`);i.push({id:NZ(o,a),terminalIds:e})}for(let e of t)r.has(e)||i.push({id:NZ(MZ(e),a),terminalIds:[e]});return i.length===0?[{id:MZ(sY),terminalIds:[sY]}]:i}function FZ(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 RQe(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||!FZ(r.terminalIds,i.terminalIds))return!1}return!0}function IZ(e,t){return e.terminalOpen===t.terminalOpen&&e.terminalHeight===t.terminalHeight&&e.activeTerminalId===t.activeTerminalId&&e.activeTerminalGroupId===t.activeTerminalGroupId&&FZ(e.terminalIds,t.terminalIds)&&FZ(e.runningTerminalIds,t.runningTerminalIds)&&RQe(e.terminalGroups,t.terminalGroups)}var LZ=Object.freeze({terminalOpen:!1,terminalHeight:280,terminalIds:[sY],runningTerminalIds:[],activeTerminalId:sY,terminalGroups:[{id:MZ(sY),terminalIds:[sY]}],activeTerminalGroupId:MZ(sY)});function RZ(){return{...LZ,terminalIds:[...LZ.terminalIds],runningTerminalIds:[...LZ.runningTerminalIds],terminalGroups:YZ(LZ.terminalGroups)}}function zZ(){return LZ}function BZ(e){let t=PQe(e.terminalIds),n=t.length>0?t:[sY],r=FQe(e.runningTerminalIds,n),i=n.includes(e.activeTerminalId)?e.activeTerminalId:n[0]??`default`,a=LQe(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??MZ(`default`)};return IZ(e,c)?e:c}function zQe(e){let t=BZ(e);if(t.terminalIds.length<=jZ)return t;let n=new Set,r=e=>{!e||n.size>=jZ||t.terminalIds.includes(e)&&n.add(e)};r(sY),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 BZ({...t,terminalIds:i.length>0?i:[sY],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 VZ(e){return Object.fromEntries(Object.entries(e).flatMap(([e,t])=>Ko(e)?[[e,zQe(t)]]:[]))}function BQe(e){return IZ(BZ(e),LZ)}function VQe(e){return e.trim().length>0}function HZ(e){return Uo(e)}function UZ(e,t){return`${HZ(e)}\u0000${t}`}function WZ(e,t){return UZ(e,t)}function GZ(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function KZ(e,t){let n=kZ(e);return n?{url:n,observedAt:t}:null}function HQe(e){return KZ(e.history,e.updatedAt)}function qZ(e){return e.type===`output`?KZ(e.data,e.createdAt):e.type===`started`||e.type===`restarted`?KZ(e.snapshot.history,e.snapshot.updatedAt):null}function JZ(e,t,n){if(!n)return e;let r=HZ(t),i=e[r];return i&&GZ(i.observedAt)>GZ(n.observedAt)||i?.url===n.url&&i.observedAt===n.observedAt?e:{...e,[r]:n}}function YZ(e){return e.map(e=>({id:e.id,terminalIds:[...e.terminalIds]}))}function XZ(e,t,n,r){let i=UZ(n,r.terminalId),a=e[i]??AZ,o={id:t,event:r},s=a.length>=jQe?[...a.slice(1),o]:[...a,o];return{terminalEventEntriesByKey:{...e,[i]:s},nextTerminalEventId:t+1}}function ZZ(e,t,n,r){let i=UZ(n,r.terminalId);return{terminalEventEntriesByKey:{...e,[i]:[{id:t,event:r}]},nextTerminalEventId:t+1}}function QZ(e){return e.sessionEpoch&&e.sequence!==void 0?{sessionEpoch:e.sessionEpoch,sequence:e.sequence}:null}function $Z(e,t,n){return!t||!e?!1:t.sessionEpoch===e.sessionEpoch?n?t.sequence<e.sequence:t.sequence<=e.sequence:!n}function eQ(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 UQe(e){return{terminalId:e.terminalId,cwd:e.snapshot.cwd,worktreePath:e.snapshot.worktreePath}}function WQe(e,t){let n=UQe(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 tQ(e,t,n){let r=BZ(e);if(!VQe(t))return r;let i=!r.terminalIds.includes(t),a=i?[...r.terminalIds,t]:r.terminalIds,o=YZ(r.terminalGroups),s=PZ(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(MZ(t),e);return o.push({id:n,terminalIds:[t]}),BZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:n})}let c=o.findIndex(e=>e.id===r.activeTerminalGroupId);if(c<0&&(c=PZ(o,r.activeTerminalId)),c<0){let e=new Set(o.map(e=>e.id)),t=NZ(MZ(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 BZ({...r,terminalOpen:!0,terminalIds:a,activeTerminalId:t,terminalGroups:o,activeTerminalGroupId:l.id})}function nQ(e,t){let n=BZ(e);return n.terminalOpen===t?n:{...n,terminalOpen:t}}function GQe(e,t){let n=BZ(e);return!Number.isFinite(t)||t<=0||n.terminalHeight===t?n:{...n,terminalHeight:t}}function KQe(e,t){return tQ(e,t,`split`)}function rQ(e,t,n){let r=tQ(e,t,`new`);return n?.openDrawer===!1?{...r,terminalOpen:e.terminalOpen}:r}function iQ(e,t){let n=BZ(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 qQe(e,t){let n=BZ(e);if(!n.terminalIds.includes(t))return n;let r=n.terminalIds.filter(e=>e!==t);if(r.length===0)return RZ();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??MZ(a);return BZ({terminalOpen:n.terminalOpen,terminalHeight:n.terminalHeight,terminalIds:r,runningTerminalIds:n.runningTerminalIds.filter(e=>e!==t),activeTerminalId:a,terminalGroups:o,activeTerminalGroupId:s})}function aQ(e,t,n){let r=BZ(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 oQ(e,t){return!t||t.threadId.length===0?zZ():e[HZ(t)]??zZ()}function sQ(e,t,n){if(t.threadId.length===0)return e;let r=HZ(t),i=oQ(e,t),a=n(i);if(a===i)return e;if(BQe(a)){if(e[r]===void 0)return e;let{[r]:t,...n}=e;return n}return{...e,[r]:a}}function JQe(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?AZ:e[UZ(t,n)]??AZ}function YQe(e,t,n){return!t||t.threadId.length===0||n.trim().length===0?null:e[WZ(t,n)]??null}function XQe(e,t){if(!t||t.threadId.length===0)return[];let n=`${HZ(t)}\u0000`;return Object.entries(e).filter(([e])=>e.startsWith(n)).map(([,e])=>e)}function ZQe(e,t){return!t||t.threadId.length===0?null:e[HZ(t)]??null}var cQ=qt()(gY(e=>{let t=(t,n)=>{e(e=>{let r=sQ(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=>nQ(e,n)),setTerminalHeight:(e,n)=>t(e,e=>GQe(e,n)),splitTerminal:(e,n)=>t(e,e=>KQe(e,n)),newTerminal:(e,n,r)=>t(e,e=>rQ(e,n,r)),ensureTerminal:(e,n,r)=>t(e,e=>{let t=e;return e.terminalIds.includes(n)||(t=rQ(t,n)),r?.active===!1&&(t={...t,activeTerminalId:e.activeTerminalId,activeTerminalGroupId:e.activeTerminalGroupId}),(r?.active??!0)&&(t=iQ(t,n)),r?.open&&(t=nQ(t,!0)),BZ(t)}),setActiveTerminal:(e,n)=>t(e,e=>iQ(e,n)),closeTerminal:(e,n)=>t(e,e=>qQe(e,n)),setTerminalLaunchContext:(t,n)=>e(e=>({terminalLaunchContextByThreadKey:{...e.terminalLaunchContextByThreadKey,[HZ(t)]:n}})),clearTerminalLaunchContext:t=>e(e=>{let n=HZ(t);if(!e.terminalLaunchContextByThreadKey[n])return e;let{[n]:r,...i}=e.terminalLaunchContextByThreadKey;return{terminalLaunchContextByThreadKey:i}}),setTerminalActivity:(e,n,r)=>t(e,e=>aQ(e,n,r)),recordTerminalEvent:(t,n)=>e(e=>{let r=WZ(t,n.terminalId),i=QZ(n),a=n.type===`started`||n.type===`restarted`;if($Z(e.terminalStreamCursorByKey[r],i,a))return e;let o=a&&i?ZZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):XZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n),s=i?{...e.terminalStreamCursorByKey,[r]:i}:e.terminalStreamCursorByKey,c=JZ(e.terminalPreviewUrlByThreadKey,t,qZ(n));return n.type!==`started`&&n.type!==`restarted`?{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c}:{...o,terminalStreamCursorByKey:s,terminalPreviewUrlByThreadKey:c,terminalSessionSnapshotByKey:{...e.terminalSessionSnapshotByKey,[WZ(t,n.terminalId)]:n.snapshot}}}),applyTerminalEvent:(t,n)=>e(e=>{let r=HZ(t),i=WZ(t,n.terminalId),a=QZ(n),o=n.type===`started`||n.type===`restarted`;if($Z(e.terminalStreamCursorByKey[i],a,o))return e;let s=e.terminalStateByThreadKey,c=e.terminalLaunchContextByThreadKey,l=e.terminalSessionSnapshotByKey,u=JZ(e.terminalPreviewUrlByThreadKey,t,qZ(n));(n.type===`started`||n.type===`restarted`)&&(l={...l,[WZ(t,n.terminalId)]:n.snapshot},s=sQ(s,t,e=>{let t=e.activeTerminalId===n.terminalId,r=e;return e.terminalIds.includes(n.terminalId)||(r=rQ(r,n.terminalId)),t?(r=iQ(r,n.terminalId),r=nQ(r,!0)):(r=iQ(r,e.activeTerminalId),r=nQ(r,e.terminalOpen)),BZ(r)}),c={...c,[r]:WQe(c[r],n)});let d=kQe(n);d!==null&&(s=sQ(s,t,e=>aQ(e,n.terminalId,d)));let f=o&&a?ZZ(e.terminalEventEntriesByKey,e.nextTerminalEventId,t,n):XZ(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,[WZ(t,n.terminalId)]:n},terminalPreviewUrlByThreadKey:JZ(e.terminalPreviewUrlByThreadKey,t,HQe(n))})),clearTerminalState:t=>e(e=>{let n=HZ(t),r=sQ(e.terminalStateByThreadKey,t,()=>RZ()),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=eQ(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=HZ(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=eQ(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:AQe,version:4,storage:mY(NQe),migrate:MQe,partialize:e=>({terminalStateByThreadKey:VZ(e.terminalStateByThreadKey),terminalPreviewUrlByThreadKey:e.terminalPreviewUrlByThreadKey})}));function QQe(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 $Qe(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 lQ(e){let t=QQe(e).trim()||`Unknown browser error.`,n=$Qe(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 e$e(e){let t=lQ(e);return`${t.cause} ${t.nextAction}`}function t$e(e){let t=lQ(e);return`${t.title}: ${t.cause} ${t.nextAction}`}var uQ={session:null,selectedBrowserId:null,sessionsByBrowserId:{},lastActivityByTabId:{},lastSnapshotContentByTabId:{},lastScreenshotDataUrlByTabId:{},lastScreenshotMetaByTabId:{},lastConsoleLogsByTabId:{},lastConsoleLogsMetaByTabId:{},lastFrameByTabId:{},lastFrameSequenceByTabId:{},lastObservedFrameSequenceByTabId:{},lastFrameStreamIdByTabId:{},lastFrameStreamGenerationByTabId:{},frameGapCountByTabId:{},lastFrameMetaByTabId:{},displayIceCandidatesByClientId:{},lastError:null};function dQ(e){return Uo(e)}function n$e(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 r$e(e){return e.transport!==`remote-webrtc`||e.status===`failed`||e.status===`unsupported`?!1:e.reason!==`network_unreachable`&&e.reason!==`unsupported_host`}function fQ(e){let{currentSession:t,nextSession:n}=e;return!t||t.browserId!==n.browserId||t.sessionId!==n.sessionId||!n$e(t.display)||!r$e(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 i$e(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 pQ(e,t,n){return e[t]===n?e:{...e,[t]:n}}function a$e(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 o$e(e,t){let n=a$e(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 s$e(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 mQ(e){return e===null?`end-of-candidates`:JSON.stringify([e.candidate,e.sdpMid??null,e.sdpMLineIndex??null,e.usernameFragment??null])}function c$e(e,t){let n=mQ(t);return e.some(e=>mQ(e)===n)?e:[...e,t]}function l$e(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 u$e(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 d$e(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 f$e(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 p$e(e,t){let n=t.payload.tabId,r=Sce(f$e(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 m$e(e,t,n){let r=t.payload.tabId;return{...e,lastObservedFrameSequenceByTabId:{...e.lastObservedFrameSequenceByTabId,[r]:n.observedSequence},frameGapCountByTabId:{...e.frameGapCountByTabId,[r]:n.frameGapCount}}}function h$e(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 g$e(e){let{current:t,event:n,pendingAutoRevealKeys:r,state:i,threadKey:a}=e;if(!d$e(t,n))return i;let o=p$e(t,n);if(!o.decision.observe)return i;let s=m$e(t,n,o),c=o.decision.accept?h$e(s,n):s;return{browserStateByThreadKey:pQ(i.browserStateByThreadKey,a,c),pendingAutoRevealKeys:r}}var hQ=qt(e=>({browserStateByThreadKey:{},pendingAutoRevealKeys:new Set,setSessionSnapshot:(t,n)=>e(e=>{let r=dQ(t),i=e.browserStateByThreadKey[r]??uQ,a=n?fQ({currentSession:i.sessionsByBrowserId[n.browserId]??i.session,nextSession:n}):null;return{browserStateByThreadKey:pQ(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=dQ(t),i=e.browserStateByThreadKey[r]??uQ,a=i.sessionsByBrowserId[n]??i.session;return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...i,selectedBrowserId:n,session:a})}}),applyBrowserEvent:(t,n)=>e(e=>{let r=dQ(t),i=s$e(n)?new Set(e.pendingAutoRevealKeys).add(r):e.pendingAutoRevealKeys,a=o$e(e.browserStateByThreadKey[r]??uQ,n);switch(n.type){case`session.started`:{if(i$e({storedSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot}))return e;let t=fQ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:pQ(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=fQ({currentSession:a.sessionsByBrowserId[n.payload.snapshot.browserId]??a.session,nextSession:n.payload.snapshot});return{browserStateByThreadKey:pQ(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:pQ(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:l$e(n)})};case`display.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};let o={...t,display:n.payload.display,updatedAt:n.createdAt};return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...a,session:o,sessionsByBrowserId:{...a.sessionsByBrowserId,[o.browserId]:o},lastError:u$e({currentLastError:a.lastError,event:n})}),pendingAutoRevealKeys:i}}case`tab.updated`:{let t=a.session;if(!t||t.sessionId!==n.payload.sessionId)return{browserStateByThreadKey:pQ(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:pQ(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:pQ(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:pQ(e.browserStateByThreadKey,r,{...a,lastSnapshotContentByTabId:{...a.lastSnapshotContentByTabId,[n.payload.tabId]:n.payload.content},lastError:null}),pendingAutoRevealKeys:i};case`screenshot.ready`:return{browserStateByThreadKey:pQ(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 g$e({state:e,current:a,event:n,threadKey:r,pendingAutoRevealKeys:i});case`console.logs.ready`:return{browserStateByThreadKey:pQ(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:pQ(e.browserStateByThreadKey,r,{...a,displayIceCandidatesByClientId:{...a.displayIceCandidatesByClientId,[n.payload.clientId]:c$e(t,n.payload.candidate)}}),pendingAutoRevealKeys:i}}case`display.metrics`:return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,a),pendingAutoRevealKeys:i};case`action.failed`:return{browserStateByThreadKey:pQ(e.browserStateByThreadKey,r,{...a,lastError:t$e(n.payload.message)})};default:return e}}),clearBrowserState:t=>e(e=>{let n=dQ(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 _$e(e,t){return t?e[dQ(t)]??null:null}var v$e={threadRef:null,open:!1,minimized:!1,dock:`floating`,position:null};function y$e(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 b$e(e,t){return{...e,threadRef:t,open:!0,minimized:!1}}function x$e(e){let t=e.companion.threadRef;return!e.companion.open||t===null?!1:e.routeThreadRef?.environmentId!==t.environmentId||e.routeThreadRef.threadId!==t.threadId}var gQ=`forge:ui-state:v1`,_Q=[`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`],vQ=`months`,S$e=new Set([`weeks`,`months`,`quarters`]);function C$e(e){return typeof e==`string`&&S$e.has(e)?e:vQ}function yQ(e){return Number.isFinite(e)?Math.round(Math.min(560,Math.max(200,e))):360}var bQ={projectExpandedById:{},projectOrder:[],projectGroupOrder:[],lastActiveProject:null,threadLastVisitedAtById:{},threadChangedFilesExpandedById:{},pinnedThreadById:{},threadLinkedPrById:{},workspaceDensityById:{},timelineWorkColumnWidth:360,timelineScale:vQ,projectLeadCompanion:v$e},xQ=new Set,SQ=[],CQ=new Map,wQ=!1;function w$e(){if(typeof window>`u`)return bQ;try{let e=window.localStorage.getItem(gQ);if(!e){for(let e of _Q){let t=window.localStorage.getItem(e);if(t)return TQ(JSON.parse(t)),bQ}return bQ}let t=JSON.parse(e);return TQ(t),{...bQ,projectGroupOrder:T$e(t.projectGroupOrderKeys),threadChangedFilesExpandedById:O$e(t.threadChangedFilesExpandedById),pinnedThreadById:E$e(t.pinnedThreadKeys),threadLinkedPrById:D$e(t.threadLinkedPrById),timelineWorkColumnWidth:yQ(t.timelineWorkColumnWidth??360),timelineScale:C$e(t.timelineScale)}}catch{return bQ}}function T$e(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:[]}function E$e(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 D$e(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 O$e(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 TQ(e){xQ.clear(),SQ.length=0;for(let t of e.expandedProjectCwds??[])typeof t==`string`&&t.length>0&&xQ.add(t);for(let t of e.projectOrderCwds??[])typeof t==`string`&&t.length>0&&!SQ.includes(t)&&SQ.push(t)}function k$e(e){if(!(typeof window>`u`))try{let t=Object.entries(e.projectExpandedById).filter(([,e])=>e).flatMap(([e])=>{let t=CQ.get(e);return t?[t]:[]}),n=e.projectOrder.flatMap(e=>{let t=CQ.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(gQ,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})),!wQ){wQ=!0;for(let e of _Q)window.localStorage.removeItem(e)}}catch{}}var EQ=new Yt(k$e,{wait:500});function DQ(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 OQ(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function A$e(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)||!DQ(r,t[e]))return!1;return!0}function j$e(e,t){let n=new Map(CQ),r=new Map([...n.entries()].map(([e,t])=>[t,e]));CQ.clear();for(let e of t)CQ.set(e.key,e.cwd);let i=n.size!==CQ.size||t.some(e=>n.get(e.key)!==e.cwd),a={},o=e.projectExpandedById,s=new Map(SQ.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)??(xQ.size>0?xQ.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)??SQ.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 DQ(e.projectExpandedById,a)&&OQ(e.projectOrder,l)&&!i?e:{...e,projectExpandedById:a,projectOrder:l}}function M$e(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 DQ(e.threadLastVisitedAtById,r)&&A$e(e.threadChangedFilesExpandedById,i)&&DQ(e.pinnedThreadById,a)&&DQ(e.threadLinkedPrById,o)?e:{...e,threadLastVisitedAtById:r,threadChangedFilesExpandedById:i,pinnedThreadById:a,threadLinkedPrById:o}}function N$e(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 P$e(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 F$e(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 kQ(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 I$e(e,t){return kQ(e,t,e.pinnedThreadById[t]!==!0)}function L$e(e,t,n){return e.threadLinkedPrById[t]===n?e:{...e,threadLinkedPrById:{...e.threadLinkedPrById,[t]:n}}}function R$e(e,t){if(!(t in e.threadLinkedPrById))return e;let n={...e.threadLinkedPrById};return delete n[t],{...e,threadLinkedPrById:n}}function z$e(e,t,n,r){let i=e.threadChangedFilesExpandedById[t]??{};return i[n]===r?e:{...e,threadChangedFilesExpandedById:{...e.threadChangedFilesExpandedById,[t]:{...i,[n]:r}}}}function B$e(e,t){return e.lastActiveProject?.environmentId===t?.environmentId&&e.lastActiveProject?.projectId===t?.projectId?e:{...e,lastActiveProject:t}}function V$e(e,t,n){return e.workspaceDensityById[t]===n?e:{...e,workspaceDensityById:{...e.workspaceDensityById,[t]:n}}}function H$e(e,t){let n=e.projectExpandedById[t]??!0;return{...e,projectExpandedById:{...e.projectExpandedById,[t]:!n}}}function U$e(e,t,n){return(e.projectExpandedById[t]??!0)===n?e:{...e,projectExpandedById:{...e.projectExpandedById,[t]:n}}}function W$e(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 G$e(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 OQ(e.projectGroupOrder,i)?e:{...e,projectGroupOrder:i}}function K$e(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 AQ=qt(e=>({...w$e(),syncProjects:t=>e(e=>j$e(e,t)),syncProjectGroups:t=>e(e=>G$e(e,t)),syncThreads:t=>e(e=>M$e(e,t)),markThreadVisited:(t,n)=>e(e=>N$e(e,t,n)),markThreadUnread:(t,n)=>e(e=>P$e(e,t,n)),clearThreadUi:t=>e(e=>F$e(e,t)),setThreadPinned:(t,n)=>e(e=>kQ(e,t,n)),toggleThreadPinned:t=>e(e=>I$e(e,t)),setThreadLinkedPr:(t,n)=>e(e=>L$e(e,t,n)),clearThreadLinkedPr:t=>e(e=>R$e(e,t)),setThreadChangedFilesExpanded:(t,n,r)=>e(e=>z$e(e,t,n,r)),setWorkspaceDensity:(t,n)=>e(e=>V$e(e,t,n)),toggleProject:t=>e(e=>H$e(e,t)),setProjectExpanded:(t,n)=>e(e=>U$e(e,t,n)),reorderProjects:(t,n)=>e(e=>W$e(e,t,n)),reorderProjectGroups:(t,n)=>e(e=>K$e(e,t,n)),setLastActiveProject:t=>e(e=>B$e(e,t)),setTimelineWorkColumnWidth:t=>e(e=>({...e,timelineWorkColumnWidth:yQ(t)})),setTimelineScale:t=>e(e=>({...e,timelineScale:t})),openProjectLeadCompanion:t=>e(e=>({...e,projectLeadCompanion:b$e(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 q$e(e){AQ.getState().openProjectLeadCompanion(e)}AQ.subscribe(e=>EQ.maybeExecute(e)),typeof window<`u`&&typeof window.addEventListener==`function`&&window.addEventListener(`beforeunload`,()=>{EQ.flush()});var J$e=$e(`effect/http/FetchHttpClient/Fetch`,{defaultValue:()=>globalThis.fetch}),Y$e=class extends yt()(`effect/http/FetchHttpClient/RequestInit`){},X$e=Xre(rt(qre((e,t,n,r)=>{let i=r.getRef(J$e),a=r.context.mapUnsafe.get(Y$e.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)}))),Z$e=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(Mre),m(()=>5));return rt(re(t))}return rt(re(1))})),Q$e=Xe(function*(e){let t=yield*Ot(),n=at(t,jre),r=at(t,Me),a=We(t),o=d(Ne(e.exportInterval),_ee),s,c=Gre(at(t,Bi)).pipe(Vi(Oe(Wi,!1)),Jre({schedule:Z$e,times:3})),u=Cn({"user-agent":`effect-opentelemetry-${e.label}/0.0.0`});e.headers&&(u=En(dn(e.headers),u));let f=Ire(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))}}}),$$e=e=>{let t=e.attributes?jQ(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}},e1e=Xe(function*(e){let t={...yield*cu(jn(mle(j,j)),`OTEL_RESOURCE_ATTRIBUTES`),...e?.attributes},n=e?.serviceName??t[`service.name`]??(yield*cu(j,`OTEL_SERVICE_NAME`));delete t[`service.name`];let r=e?.serviceVersion??t[`service.version`]??(yield*cu(jn(j),`OTEL_SERVICE_VERSION`));return delete t[`service.version`],$$e({serviceName:n,serviceVersion:r,attributes:t})},c),t1e=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},jQ=e=>{let t=[];for(let[n,r]of e)t.push({key:n,value:MQ(r)});return t},MQ=e=>{if(Array.isArray(e))return{arrayValue:{values:e.map(MQ)}};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`){},n1e=he(NQ,{traces:e=>Dn(e),metrics:e=>Dn(e),logs:e=>Dn(e)}),r1e=Xe(function*(e){let t=yield*e1e(e.resource),n=yield*NQ,r={name:t1e(t)},i=yield*Q$e({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(o1e(e))}return xe({span(e){return a1e({...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})}),i1e={_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)}},a1e=e=>{let t=Object.assign(Object.create(i1e),e);return t.traceId=_t(t.parent)?t.parent.value.traceId:PQ(32),t.spanId=PQ(16),t.events=[],t},PQ=e=>{let t=``;for(let n=0;n<e;n++)t+=`0123456789abcdef`[Math.floor(Math.random()*16)];return t},o1e=e=>{let t=e.status,n=jQ(e.attributes.entries()),r=e.events.map(([e,t,n])=>({name:e,timeUnixNano:String(t),attributes:n?jQ(Object.entries(n)):[],droppedAttributesCount:0})),i;if(t.exit._tag===`Success`)i=c1e;else if(dt(t.exit.cause))i={code:FQ.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:FQ.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:s1e[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:jQ(Object.entries(e.attributes)),droppedAttributesCount:0})),droppedLinksCount:0}},FQ={Unset:0,Ok:1,Error:2},s1e={unspecified:0,internal:1,server:2,client:3,producer:4,consumer:5},c1e={code:FQ.Ok},l1e=1e4,u1e={serviceName:`forge-web`,attributes:{"service.runtime":`forge-web`,"service.mode":Pr?`electron`:`browser`,"service.version":wl}},d1e=De(X$e,n1e,he(Ui,()=>!0)),IQ=null,LQ=null,RQ=null,zQ=null,BQ=0,VQ=Promise.resolve(),f1e=he(Hee,xe({span(e){return IQ?.span(e)??new s(e)}}));function p1e(e={}){return e.exportIntervalMs===void 0&&zQ!==null||(VQ=VQ.finally(()=>m1e(e))),VQ}async function m1e(e){let t=pr(`/api/observability/v1/traces`),n=ur()?.bearerToken,r=Math.max(10,e.exportIntervalMs??l1e),i=`${t}|${r}|${n?`bearer`:`cookie`}`;if(zQ===i&&IQ!==null)return;zQ=i;let a=++BQ,o=LQ,s=RQ;IQ=null,LQ=null,RQ=null,await HQ(o,s);let c=gl(d1e),l=c.runSync(ze());try{let e=await c.runPromise(te(l)(r1e({url:t,...n?{headers:{Authorization:`Bearer ${n}`}}:{},exportInterval:`${r} millis`,resource:u1e})));if(a!==BQ){await HQ(c,l);return}IQ=e,LQ=c,RQ=l}catch(e){await HQ(c,l),a===BQ&&console.warn(`Failed to configure client tracing exporter`,{error:h1e(e),otlpTracesUrl:t})}}async function HQ(e,t){e!==null&&t!==null&&await e.runPromise(He(t,Tt)).catch(()=>void 0).finally(()=>{e.dispose()})}function h1e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}var UQ=15e3,WQ=new Map,GQ=Wt([]).pipe(Ut,Vt(`slow-rpc-ack-requests`));function KQ(e){Ht.set(GQ,[...e])}function qQ(){return Ht.get(GQ)}var JQ=`global`;function g1e(e){return!(e.split(`.`).at(-1)??e).startsWith(`subscribe`)}function _1e(e,t,n=JQ){if(!g1e(t))return;ZQ(e,n),x1e();let r=Date.now(),i={clientId:n,requestId:e,startedAt:new Date(r).toISOString(),startedAtMs:r,tag:t,thresholdMs:UQ},a=XQ(n,e),o=setTimeout(()=>{WQ.delete(a),b1e(i)},UQ);WQ.set(a,{request:i,timeoutId:o})}function v1e(e,t=JQ){ZQ(e,t);let n=qQ();n.some(n=>n.clientId===t&&n.requestId===e)&&KQ(n.filter(n=>n.clientId!==t||n.requestId!==e))}function YQ(e){for(let[t,n]of WQ)n.request.clientId===e&&(clearTimeout(n.timeoutId),WQ.delete(t));KQ(qQ().filter(t=>t.clientId!==e))}function y1e(){for(let e of WQ.values())clearTimeout(e.timeoutId);WQ.clear(),KQ([])}function XQ(e,t){return`${e}:${t}`}function ZQ(e,t){let n=XQ(t,e),r=WQ.get(n);r&&(clearTimeout(r.timeoutId),WQ.delete(n))}function b1e(e){let t=[...qQ(),e];if(t.length<=256){KQ(t);return}KQ(t.slice(-256))}function x1e(){for(;WQ.size>=256;){let e=WQ.keys().next().value;if(e===void 0)return;let t=WQ.get(e);if(!t)return;ZQ(t.request.requestId,t.request.clientId)}}function S1e(){return lr(GQ)}var C1e=jo(Mn),QQ=1;function w1e(e){return e instanceof Error&&e.message.trim().length>0?e.message:String(e)}function $Q(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 T1e(){return{onAttempt:Pne,onOpen:Fne,onError:e=>{kne(e)},onClose:e=>{Ine(e)},trackGlobalConnection:!0}}function E1e(e){let t=T1e(),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 D1e(e,t){let n=QQ;QQ+=1;let r=E1e(t),i=typeof e==`function`?gt(()=>e()).pipe(Ze(e=>$Q(e)),ite(e=>pt(()=>{r.onError(w1e(e))})),c):$Q(e),a=he(ca,(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=la(i).pipe(E(a)),s=Lt(_(10),e=>rt(Ue(One(e)??0)));return ht(Po,Ze(Fo({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`?v1e(e.requestId,i):(e._tag===`ClientProtocolError`||e._tag===`Defect`)&&YQ(i),r(e))).pipe(Je(pt(()=>{YQ(i)})))},send:(t,r,i)=>{let a=`${n}:${String(t)}`;return r._tag===`Request`&&_1e(r.id,r.tag,a),e.send(t,r,i)}}))).pipe(E(De(o,Ao)))}var O1e=Ue(250),e$=()=>void 0,t$=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}},k1e=new Set([`OrchestrationGetSnapshotError`]);function A1e(e){if(typeof e!=`object`||!e)return!1;let t=e._tag;return typeof t==`string`&&k1e.has(t)}function j1e(e){let t=e instanceof Error?e.message.trim():``;return t.length>0?t:typeof e==`object`&&e?M1e(e):String(e)}function M1e(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 N1e=4e3,P1e=1e4,F1e=500,n$=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??N1e,heartbeatTimeoutMs:r?.heartbeatTimeoutMs??P1e,sessionCloseGraceMs:r?.sessionCloseGraceMs??F1e},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 t$(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:e$},i=Be(Ne(n?.retryDelay??O1e));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=e$}catch(e){if(r.cancelCurrentStream=e$,!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=j1e(e);return cK(a)?(this.hasReportedTransportDisconnect||console.warn(`WebSocket RPC subscription disconnected`,{error:a}),this.hasReportedTransportDisconnect=!0,await I1e(i),!0):(this.reportNonTransportSubscriptionError(e,r),!1)}reportNonTransportSubscriptionError(e,t){A1e(e)||yK(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=>{yK(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:D1e(this.url,this.lifecycleHandlers),makeClient:C1e},t=gl(De(e.layer,f1e)),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 I1e(e){return new Promise(t=>{setTimeout(t,e)})}var r$=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,L1e=/^[A-Za-z0-9_-]+$/;function R1e(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+=r$[o>>>18&63],t+=r$[o>>>12&63],n+1<e.byteLength&&(t+=r$[o>>>6&63]),n+2<e.byteLength&&(t+=r$[o&63])}return t.replaceAll(`+`,`-`).replaceAll(`/`,`_`)}function z1e(e){if(e.length===0||!L1e.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=r$.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 i$(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 B1e(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:R1e(a),sha256:await i$(a)})}return{totalBytes:e.byteLength,sha256:await i$(e),chunks:i}}async function V1e(e){let t=z1e(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 i$(t)!==e.sha256)throw Error(`Bulk transfer chunk integrity mismatch at offset ${e.offset}.`);return t}async function H1e(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 V1e(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 i$(i)!==e.sha256)throw Error(`Bulk transfer payload integrity mismatch.`);return i}var a$=`forge`,U1e=RegExp(`^${a$}\\/[0-9a-f]{8}$`);function W1e(){return`${a$}/${fe(vte).replace(/-/g,``).slice(0,8).toLowerCase()}`}function G1e(e){return U1e.test(e.trim().toLowerCase())}function K1e(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 q1e(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 J1e(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 o$(e){return`https://${e}`}function Y1e(e){return e===`github.com`||e.includes(`github`)}function X1e(e){return e===`gitlab.com`||e.includes(`gitlab`)}function Z1e(e){return e===`bitbucket.org`}function Q1e(e){return e===`dev.azure.com`||e===`ssh.dev.azure.com`||e===`vs-ssh.visualstudio.com`||e.endsWith(`.visualstudio.com`)}function $1e(e){let t=J1e(e);if(!t)return null;let n=K1e(e),r=`${t}/`;if(!n.startsWith(r))return null;let i=n.slice(r.length);return i.includes(`/`)?Y1e(t)?{kind:`github`,name:t===`github.com`?`GitHub`:`GitHub Self-Hosted`,host:t,repositoryPath:i,baseUrl:o$(t)}:X1e(t)?{kind:`gitlab`,name:t===`gitlab.com`?`GitLab`:`GitLab Self-Hosted`,host:t,repositoryPath:i,baseUrl:o$(t)}:Z1e(t)?{kind:`bitbucket`,name:`Bitbucket Cloud`,host:t,repositoryPath:i,baseUrl:o$(t)}:Q1e(t)?{kind:`azure-devops`,name:`Azure DevOps`,host:t,repositoryPath:i,baseUrl:o$(t)}:{kind:`unknown`,name:t,host:t,repositoryPath:i,baseUrl:o$(t)}:null}var e0e={hasUpstream:!1,aheadCount:0,behindCount:0,pr:null,defaultBranch:null,diffVsBase:null};function s$(e,t){return{...e,...t??e0e}}function t0e(e){return{hasUpstream:e.hasUpstream,aheadCount:e.aheadCount,behindCount:e.behindCount,pr:e.pr,defaultBranch:e.defaultBranch,diffVsBase:e.diffVsBase}}function n0e(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 r0e(e,t){switch(t._tag){case`snapshot`:return s$(t.local,t.remote);case`localUpdated`:return s$(t.local,e?t0e(e):null);case`remoteUpdated`:return s$(e===null?{isRepo:!0,hasOriginRemote:!1,isDefaultBranch:!1,branch:null,hasWorkingTreeChanges:!1,workingTree:{files:[],insertions:0,deletions:0}}:n0e(e),t.remote)}}var i0e=262144,a0e=250;function o0e(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function s0e(e){return new Promise(t=>setTimeout(t,e))}function c0e(e){let t=gce({controllerId:crypto.randomUUID(),maxPendingWriteBytes:i0e}),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(!cK(o0e(e)))throw e;await s0e(a0e)}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 l0e(e){return{createUploadUrl:t=>e.request(e=>e[M.attachmentsCreateUploadUrl](t)),delete:t=>e.request(e=>e[M.attachmentsDelete](t))}}async function u0e(e,t){await e.request(e=>e[M.workspaceCancelWriteFile]({transferId:t})).catch(()=>void 0)}var d0e=2e4,f0e=12e4,p0e=3e5;function m0e(e){return e instanceof t$||cK(e instanceof Error?e.message:String(e))}async function h0e(e,t){let n=t.type===`thread.turn.start`&&t.bootstrap!==void 0?p0e:d0e,r=()=>e.request(e=>e[qn.dispatchCommand](t),{timeout:n});try{return await r()}catch(t){if(!m0e(t))throw t;return await e.reconnect(),await r()}}function c$(e){if(!e?.aborted)return;let t=Error(`Bulk transfer was cancelled.`);throw t.name=`AbortError`,t}async function l$(e,t,n){let r={started:null,completed:null,chunks:[],protocolError:null,receivedBytes:0};if(await e.requestStream(t,e=>g0e(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 H1e({totalBytes:i.totalBytes,sha256:i.sha256,chunks:r.chunks})}function g0e(e,t,n){if(e.protocolError===null){if(t.kind===`started`){_0e(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`){v0e(e,t,n);return}e.completed=t,n?.onProgress?.({completedBytes:t.totalBytes,totalBytes:t.totalBytes})}}function _0e(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 v0e(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 y0e(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 B1e(r),a=i.chunks[0]?.transferId??crypto.randomUUID().replaceAll(`-`,`_`),o=!1;try{c$(n?.signal);let r=await b0e(e,t,a,i);return o=!0,n?.onProgress?.({completedBytes:r.nextOffset,totalBytes:i.totalBytes}),await x0e(e,a,i,r,n),{relativePath:t.relativePath}}catch(t){throw o&&await u0e(e,a),t}}function b0e(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 x0e(e,t,n,r,i){if(r.state!==`completed`){for(let t of n.chunks){if(t.offset<r.nextOffset)continue;c$(i?.signal);let{kind:a,...o}=t,s=await e.request(e=>e[M.workspaceWriteFileChunk](o));i?.onProgress?.({completedBytes:s.nextOffset,totalBytes:n.totalBytes})}c$(i?.signal),await e.request(e=>e[M.workspaceCommitWriteFile]({transferId:t}))}}function u$(e){let t=c0e(e);return{dispose:()=>(t.dispose(),e.dispose()),reconnect:async()=>{Dne(),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:l0e(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)=>l$(e,e=>e[M.workspaceReadFile](t),n),writeFile:(t,n)=>y0e(e,t,n)},projectCheckoutDeletion:{preview:t=>e.request(e=>e[M.projectCheckoutDeletionPreview](t)),execute:t=>e.request(e=>e[M.projectCheckoutDeletionExecute](t))},codeGraph:{summary:t=>e.request(e=>e[M.codeGraphSummary](t)),neighborhood:t=>e.request(e=>e[M.codeGraphNeighborhood](t)),search:t=>e.request(e=>e[M.codeGraphSearch](t))},workspace:{environmentPreflight:t=>e.request(e=>e[M.workspaceEnvironmentPreflight](t)),ensureScratch:t=>e.request(e=>e[M.workspaceEnsureScratch](t))},shell:{openInEditor:t=>e.request(e=>e[M.shellOpenInEditor](t))},git:{pull:t=>e.request(e=>e[M.gitPull](t)),refreshStatus:t=>e.request(e=>e[M.gitRefreshStatus](t)),onStatus:(t,n,r)=>{let i=null;return e.subscribe(e=>e[M.subscribeGitStatus](t),e=>{i=r0e(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:f0e})},orchestration:{dispatchCommand:t=>h0e(e,t),getTurnDiff:(t,n)=>l$(e,e=>e[qn.streamTurnDiff](t),n).then(e=>({...t,diff:new TextDecoder().decode(e)})),getFullThreadDiff:(t,n)=>l$(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 S0e=new Set([`CMMD_AUTH_REQUIRED`,`CMMD_AUTH_EXPIRED`,`INVALID_OR_NON_USER_TOKEN`,`NON_USER_BEARER`,`CMMD_REST_AUTH_ERROR`]);function d$(e){if(!e||typeof e!=`object`)return null;let t=e.code;return typeof t!=`string`||!S0e.has(t)?null:t}function f$(e,t){return e===401||e===403||d$(t)!==null}function C0e(e){if(!e||typeof e!=`object`)return!1;let t=e.status,n=e.code;return f$(typeof t==`number`?t:void 0,typeof n==`string`?{code:n}:void 0)}var p$=`forge.deviceRegistry.deviceKey`,m$=`forge.deviceRegistry.runtimeId`;function w0e(e){let t=_$(p$,e.desktopIdentity?.deviceKey,`device`),n=_$(m$,e.desktopIdentity?.runtimeId,`runtime`),r=g$(e.desktopIdentity?.hostKey),i=O0e(),a=e.desktopAvailable?`desktop`:k0e(),o=e.desktopAvailable?D0e(e.desktopIdentity)??A0e(i):j0e(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 h$(){let e=await window.desktopBridge?.getDeviceIdentity?.()??null;return w0e({desktopAvailable:!!window.desktopBridge,desktopIdentity:e,includeExecutableRuntime:!1})}function g$(e){let t=e?.trim()??``;return t.length>0?t:null}function _$(e,t,n){let r=g$(t);return r?(DY(e,r),r):E0e(e,n)}function T0e(){return EY(m$)}function v$(){return EY(p$)}function E0e(e,t){let n=EY(e);if(n)return n;let r=`${t}_${crypto.randomUUID()}`;return DY(e,r),r}function D0e(e){let t=e?.displayName?.trim()??``;return t.length>0?t:null}function O0e(){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 k0e(){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 A0e(e){return e===`macos`?`Mac`:e===`windows`?`Windows PC`:e===`linux`?`Linux Desktop`:`Desktop`}function j0e(e){return e===`web`?`Browser`:e===`macos`?`Mac Browser`:e===`windows`?`Windows Browser`:e===`linux`?`Linux Browser`:`Browser`}var y$=class extends Error{code;constructor(e,t){super(t),this.name=`RelayControlRouteError`,this.code=e}};function b$(e){let t=e&&typeof e==`object`?e.code:null;throw t===`PROTOCOL_INCOMPATIBLE`?new y$(`FORGE_RUNTIME_UPDATE_REQUIRED`,`Update Forge on the target runtime before connecting remotely.`):t===`PROTOCOL_ROLLOUT_DENIED`?new y$(`FORGE_REMOTE_CONTROL_NOT_ENABLED`,`Remote control is not enabled for this CMMD account. Synced runtime inventory remains available.`):e}async function M0e(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 N0e(e){if(!e.deviceKey)throw new y$(`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 y$(`FORGE_CONTROL_DEVICE_REVOKED`,`This Forge control surface was revoked by CMMD.`);if(!t||t.trustState!==`trusted`)throw new y$(`FORGE_CONTROL_DEVICE_UNAUTHORIZED`,`This Forge control surface is not trusted by CMMD.`);return t}function P0e(e,t){let n=async()=>N0e(await M0e(t));return{acquireRoute:async()=>{let r=await n(),i=await pce();try{return hce({route:await t.apiClient.issueRelayControlRoute(e,{controlDeviceId:r.id,controlSessionId:t.controlSessionId,scopes:[...Un],protocolMinVersion:4,protocolMaxVersion:4,...mce(i)}),runtimeId:e,endpoint:i})}catch(e){if(e instanceof ml)throw new y$(`FORGE_RUNTIME_UPDATE_REQUIRED`,e.message);return b$(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 b$(e)}}}}var x$=`forge.relayControlJournal.v1`;function S$(){if(globalThis.localStorage===void 0)throw Error(`Forge relay control recovery requires durable browser storage.`);return globalThis.localStorage}var F0e={read:()=>S$().getItem(x$),write:e=>S$().setItem(x$,e)},C$=null,w$=qt()(e=>({byRuntimeId:{},replace:t=>e({byRuntimeId:t})}));function I0e(e){e.subscribe(e=>{let t=new Set(e.records.map(e=>e.runtimeId));w$.getState().replace(Object.fromEntries([...t].map(t=>[t,Rse(e.records,t)])))})}function T$(){return C$===null&&(C$=Vc({storage:F0e}),I0e(C$)),C$}function L0e(){let e=(0,xl.c)(1),t=w$(z0e),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0],(0,F.useEffect)(R0e,n),t}function R0e(){T$()}function z0e(e){return e.byRuntimeId}function B0e(e){let t=T$();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 V0e=15e3;function H0e(e){return e===401||e===403}function U0e(e){return typeof e!=`object`||!e?!1:e.retryable===!0}function E$(e){return H0e(e.status)||e.attempt>=e.maxAttempts||e.status>=200&&e.status<300?!1:e.status>=500||e.status===409&&U0e(e.body)}function W0e(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 D$(e){let t=e=>Math.min(V0e,Math.max(0,e)),n=W0e(e.retryAfter,e.nowMs??Date.now());return t(n===null?300*2**Math.max(0,e.attempt-1):n)}var G0e=6e4;function K0e(e,t){if(!e||typeof e!=`object`)return t;let n=e.error;return typeof n==`string`&&n.trim().length>0?n:t}var O$=`CMMD returned an invalid Cloud runtime connection descriptor.`;function k$(e,t){let n=e[t];if(typeof n!=`string`||n.length===0)throw Error(O$);return n}function q0e(e){if(!e||typeof e!=`object`)throw Error(O$);let t=e;return{httpBaseUrl:k$(t,`httpBaseUrl`),wsBaseUrl:k$(t,`wsBaseUrl`),bearerToken:k$(t,`bearerToken`),expiresAt:k$(t,`expiresAt`)}}async function J0e(e){let t=pr(`/api/cmmd/forge-runtimes/${encodeURIComponent(e.runtimeId)}/connect`),n=sr({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 q0e(a);if(!E$({status:i.status,body:a,attempt:r,maxAttempts:8})){let e=f$(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(K0e(a,e)),{status:i.status,...d$(a)?{code:d$(a)}:{}})}await bZ(D$({attempt:r,retryAfter:i.headers.get(`retry-after`)}),e.signal)}throw Error(`Cloud runtime connection retry budget was exhausted.`)}function Y0e(e,t){if(!e?.expiresAt)return!0;let n=Date.parse(e.expiresAt);return!Number.isFinite(n)||n<=t+G0e}function A$(e){let t=e.requestDescriptor??J0e,n=e.now??Date.now,r=e.initialDescriptor??null,i=null,a=!1,o=new AbortController,s=e=>yZ(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||Y0e(r,n())?c():Promise.resolve(r);return yZ(s(t),e?.signal)},invalidate:()=>{a=!0},dispose:()=>{o.abort()}}}var X0e=12e4,Z0e=3e4,j$=3e4;function M$(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 Q0e(e){if(!e||typeof e!=`object`)return!1;let t=e.status;return t===401||t===403}function $0e(e){let t=e.now??Date.now,n=e.renewalSkewMs??X0e,r=!1,i=null,a=null,o=M$(e.initialDescriptor),s=()=>{i!==null&&(globalThis.clearTimeout(i),i=null)},c=a=>{if(r)return;s();let c=M$(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()+j$;return e>=o?null:(i=globalThis.setTimeout(()=>{i=null,u().catch(()=>void 0)},j$),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=M$(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=Q0e(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()+Z0e?Promise.resolve():u(),renewNow:u,dispose:()=>{r=!0,s()}}}var N$=new Map;function P$(e,t){return e.acquire(t?{signal:t}:{})}function e2e(e,t){N$.set(e,t)}function F$(e,t){let n=N$.get(e);t&&n!==t||(n?.dispose(),N$.delete(e))}async function t2e(e){let t=N$.get(e);if(t)return(await t.acquire()).bearerToken;let n=Rq(e);return n&&xZ(n)?null:Uq(e)}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,t){return e.environmentId===t.environmentId&&e.httpBaseUrl===t.httpBaseUrl&&e.wsBaseUrl===t.wsBaseUrl&&e.runtimeId===t.runtimeId&&e.cmmdOrganizationId===t.cmmdOrganizationId}function Y$(e){if(K$(e.record.environmentId)!==e.generation)return!1;let t=Rq(e.record.environmentId);return e.registryExpectation.kind===`initial-add`?t===null||J$(t,e.record):t!==null&&J$(t,e.registryExpectation.record)}var n2e=9e5,X$=32,Z$=()=>void 0;function Q$(e,t){return Uo(zo(e,t))}function $$(e){return e.evictionTimeoutId!==null&&(clearTimeout(e.evictionTimeoutId),e.evictionTimeoutId=null),e}function r2e(e){let t=zo(e.environmentId,e.threadId),n=QJ.getState(),r=ZJ(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=XJ(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 e1(e){return e.refCount===0&&!r2e(e)}function t1(e){if(e.unsubscribeConnectionListener!==null&&(e.unsubscribeConnectionListener(),e.unsubscribeConnectionListener=null),e.unsubscribe!==Z$)return!0;let t=A1(e.environmentId);return t?(e.unsubscribe=t.client.orchestration.subscribeThread({threadId:e.threadId},t=>{if(e.lastEventAt=Date.now(),e.recoveryAttempts=0,t.kind===`snapshot`){QJ.getState().syncServerThreadDetail(t.snapshot.thread,e.environmentId),QJ.getState().clearThreadSubscriptionError(e.environmentId,e.threadId);return}D2e(t.event,e.environmentId)},{onError:t=>YJe(e.environmentId,e.threadId,t)}),!0):!1}function n1(e){e.unsubscribeConnectionListener===null&&(e.unsubscribeConnectionListener=k1(()=>{t1(e)&&(e.lastAccessedAt=Date.now())}),t1(e))}function r1(e){let t=U$.get(e);return t?($$(t),t.unsubscribeConnectionListener?.(),t.unsubscribeConnectionListener=null,U$.delete(e),t.unsubscribe(),t.unsubscribe=Z$,l2e(),!0):!1}var i1=null;function i2e(e){let t=zo(e.environmentId,e.threadId),n=QJ.getState(),r=ZJ(n,t);if(r?.latestTurn?.state===`running`||r?.session?.orchestrationStatus===`running`)return!0;let i=XJ(n,t);return i?.latestTurn?.state===`running`||i?.session?.orchestrationStatus===`running`}function a2e(e){e.unsubscribe!==Z$&&(e.unsubscribe(),e.unsubscribe=Z$),t1(e)||n1(e)}function o2e(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`){a2e(e);return}A1(e.environmentId)?.reconnect().catch(t=>{yK(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 s2e(){let e=Date.now();for(let t of U$.values()){let n=vQe({isWorking:i2e(t),msSinceLastEvent:e-t.lastEventAt,stallThresholdMs:yQe,recoveryAttempts:t.recoveryAttempts,maxResubscribeAttempts:2,maxTotalAttempts:4});n!==`none`&&o2e(t,n,e-t.lastEventAt)}}function c2e(){i1===null&&(i1=setInterval(s2e,bQe))}function l2e(){U$.size>0||i1!==null&&(clearInterval(i1),i1=null)}function u2e(e){for(let[t,n]of U$)n.environmentId===e&&r1(t)}function d2e(e){let t=zo(e.environmentId,e.threadId),n=QJ.getState(),r=XJ(n,t);if(!r)return null;let i=ZJ(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 f2e(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=d2e(e);i&&(n.add(i.id),r.push(i))}return r.length===0?e:{...e,threads:[...e.threads,...r]}}function p2e(e,t){let n=new Set(t);for(let[t,r]of U$)r.environmentId===e&&!n.has(r.threadId)&&e1(r)&&r1(t)}function m2e(e){$$(e),e1(e)&&(e.evictionTimeoutId=setTimeout(()=>{let t=U$.get(Q$(e.environmentId,e.threadId));t&&(t.evictionTimeoutId=null,e1(t)&&r1(Q$(e.environmentId,e.threadId)))},n2e))}function a1(){if(U$.size<=X$)return;let e=[...U$.entries()].filter(([,e])=>e1(e)).toSorted(([,e],[,t])=>e.lastAccessedAt-t.lastAccessedAt);for(let[t]of e){if(U$.size<=X$)return;r1(t)}}function o1(e){$$(e),e1(e)&&m2e(e)}function h2e(e,t){let n=U$.get(Q$(e,t));n&&o1(n)}function s1(e){for(let t of U$.values())t.environmentId===e&&o1(t);a1()}function g2e(e,t){let n=Q$(e,t),r=U$.get(n);if(r){$$(r),r.refCount+=1,r.lastAccessedAt=Date.now(),t1(r)||n1(r);let e=!1;return()=>{e||(e=!0,r.refCount=Math.max(0,r.refCount-1),r.lastAccessedAt=Date.now(),r.refCount===0&&(o1(r),a1()))}}let i={environmentId:e,threadId:t,unsubscribe:Z$,unsubscribeConnectionListener:null,refCount:1,lastAccessedAt:Date.now(),evictionTimeoutId:null,lastEventAt:Date.now(),recoveryAttempts:0};U$.set(n,i),t1(i)||n1(i),c2e(),a1();let a=!1;return()=>{a||(a=!0,i.refCount=Math.max(0,i.refCount-1),i.lastAccessedAt=Date.now(),i.refCount===0&&(o1(i),a1()))}}function c1(){for(let e of H$)e()}function _2e(e){return{lastError:e instanceof Error?e.message:String(e),lastErrorAt:new Date().toISOString()}}function l1(){return new Date().toISOString()}var u1=8,d1=[1e3,2e3,4e3,8e3,12e3,16e3,2e4],v2e=9e4;function y2e(e){if(typeof e!=`object`||!e)return null;let t=e.status;return typeof t==`number`&&Number.isInteger(t)?t:null}function b2e(e){if(C0e(e))return!1;let t=y2e(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 x2e(e){return d1[e]??d1[d1.length-1]}function S2e(){return v2e}function C2e(e,t){if(!xZ(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.`))},S2e())});return Promise.race([t,r]).finally(()=>{n!==null&&globalThis.clearTimeout(n)})}function f1(e){gZ.getState().patch(e,{connectionState:`connecting`,lastError:null,lastErrorAt:null})}function p1(e){let t=l1();gZ.getState().patch(e,{connectionState:`connected`,authState:`authenticated`,connectedAt:t,disconnectedAt:null,lastError:null,lastErrorAt:null}),Pq.getState().markConnected(e,t)}function m1(e,t){gZ.getState().patch(e,{descriptor:t.environment,serverConfig:t})}function h1(e,t){gZ.getState().patch(e,{connectionState:`disconnected`,disconnectedAt:l1(),...t&&t.trim().length>0?{lastError:t,lastErrorAt:l1()}:{}})}function g1(e,t){gZ.getState().patch(e,{connectionState:`error`,..._2e(t)})}function w2e(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 _1(){let e=GJ(QJ.getState());AQ.getState().syncProjects(e.map(e=>({key:Ho(Ro(e.environmentId,e.id)),cwd:e.cwd})))}function v1(){let e=KJ(QJ.getState());AQ.getState().syncThreads(e.map(e=>({key:Uo(zo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt}))),JZe(e.map(e=>zo(e.environmentId,e.id)))}function T2e(){_1(),v1();let e=XZe({snapshotThreads:KJ(QJ.getState()).map(e=>({key:Uo(zo(e.environmentId,e.id)),deletedAt:null,archivedAt:e.archivedAt})),draftThreadKeys:sZ.getState().listDraftThreadKeys()});cQ.getState().removeOrphanedTerminalStates(e)}function y1(e){return e.serverThreadArchivedAt===void 0?e.hasDraftThread:e.serverThreadArchivedAt===null}function E2e(e,t){if(e.length===0)return;let n=ZZe(e),r=w2e(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()),QJ.getState().applyOrchestrationEvents(r,t),i){let e=GJ(QJ.getState());AQ.getState().syncProjects(e.map(e=>({key:Ho(Ro(e.environmentId,e.id)),cwd:e.cwd})))}if(e.some(e=>e.type===`thread.created`||e.type===`thread.deleted`)){let e=KJ(QJ.getState());AQ.getState().syncThreads(e.map(e=>({key:Uo(zo(e.environmentId,e.id)),seedVisitedAt:e.updatedAt??e.createdAt})))}let a=sZ.getState();for(let e of n.promoteDraftThreadIds)cZ(zo(t,e));for(let e of n.clearDeletedThreadIds)a.clearDraftThread(zo(t,e)),AQ.getState().clearThreadUi(Uo(zo(t,e)));for(let e of n.removeTerminalStateThreadIds){let n=zo(t,e);cQ.getState().removeTerminalState(n),hQ.getState().clearBrowserState(n)}s1(t)}function D2e(e,t){E2e([e],t)}function O2e(e,t){let n=e.kind===`thread-upserted`?e.thread.id:e.kind===`thread-removed`?e.threadId:null,r=n?zo(t,n):null,i=r?XJ(QJ.getState(),r):void 0;switch(QJ.getState().applyShellEvent(e,t),e.kind){case`project-upserted`:case`project-removed`:_1();return;case`thread-upserted`:v1(),!i&&r&&cZ(r),i?.archivedAt===null&&e.thread.archivedAt!==null&&r&&(cQ.getState().removeTerminalState(r),hQ.getState().clearBrowserState(r)),h2e(t,e.thread.id),a1();return;case`thread-removed`:r&&(r1(Uo(r)),sZ.getState().clearDraftThread(r),AQ.getState().clearThreadUi(Uo(r)),cQ.getState().removeTerminalState(r),hQ.getState().clearBrowserState(r)),v1();return}}function k2e(e,t){return e.invalidateQueries({queryKey:dZ.all(t)})}function b1(e){return{onWelcome:(t,n)=>{e?.(t),W$&&k2e(W$.queryClient,n)},applyShellEvent:O2e,syncShellSnapshot:(e,t)=>{let n=f2e(e,t);QJ.getState().syncServerShellSnapshot(n,t),p2e(t,n.threads.map(e=>e.id)),s1(t),T2e()},applyTerminalEvent:(e,t)=>{let n=zo(t,Vn.make(e.threadId)),r=XJ(QJ.getState(),n),i=sZ.getState().getDraftThreadByRef(n)!==null;y1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&cQ.getState().applyTerminalEvent(n,e)},applyBrowserEvent:(e,t)=>{let n=zo(t,Vn.make(e.threadId)),r=XJ(QJ.getState(),n),i=sZ.getState().getDraftThreadByRef(n)!==null;y1({serverThreadArchivedAt:r?.archivedAt,hasDraftThread:i})&&hQ.getState().applyBrowserEvent(n,e)},onShellSubscriptionError:(e,t)=>{g1(t,e)}}}function x1(){if(typeof window>`u`)return;let e=or();if(e?.primaryMode===`cloud`&&e.bearerToken)return{bearerToken:e.bearerToken,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}function A2e(){if(typeof window>`u`)return;let e=or(),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 j2e(e){let t=qie(e);if(!t)throw Error(`Unable to resolve websocket URL for ${e?.label??`primary environment`}.`);return u$(new n$(async()=>{await fr().catch(()=>null);let e=x1();if(e)try{return await mZ({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})}catch(e){throw eq(e)&&hr(`ws-token`),e}return tqe(t)}))}function M2e(e){return u$(new n$(()=>mZ({wsBaseUrl:e.wsBaseUrl,httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken}),{trackGlobalConnection:!1,onAttempt:()=>{f1(e.environmentId)},onOpen:()=>{p1(e.environmentId)},onError:t=>{gZ.getState().patch(e.environmentId,{connectionState:`error`,lastError:t,lastErrorAt:l1()})},onClose:t=>{h1(e.environmentId,t.reason)}}))}function N2e(e){let t=e.runtimeId?.trim();if(t)return t;let n=zl(e.environmentId);if(!n)throw Error(`Saved Cloud environment ${e.environmentId} is missing its runtime id.`);return n}function P2e(e,t,n){let r=e,i=A$({runtimeId:N2e(e),...e.cmmdOrganizationId===void 0?{}:{organizationId:e.cmmdOrganizationId},...t===void 0?{}:{initialDescriptor:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:t,expiresAt:e.runtimeTicketExpiresAt??null}},validateDescriptor:async e=>{await pZ({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken})},persistDescriptor:async e=>{if(n&&!n())throw Error(`Saved environment changed while its connection was being acquired.`);let t={...P1(r),httpBaseUrl:e.httpBaseUrl,wsBaseUrl:un(e.wsBaseUrl),...e.expiresAt===null?{}:{runtimeTicketExpiresAt:e.expiresAt},lastConnectedAt:l1()};await Hq(t),await Wq(t.environmentId),Pq.getState().upsert(t),r=t}});return e2e(e.environmentId,i),i}function F2e(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 I2e(e,t,n){return n()&&gZ.getState().ensure(e.environmentId),u$(new n$(async()=>{let n=await t.acquire(),r=t=>mZ({wsBaseUrl:t.wsBaseUrl,httpBaseUrl:t.httpBaseUrl,bearerToken:t.bearerToken,...xZ(e)?{runtimeTicket:t.bearerToken}:{}});try{return await r(n)}catch(n){if(!xZ(e)||!eq(n))throw n;return r(await t.acquire({forceRefresh:!0}))}},{trackGlobalConnection:!1,onAttempt:()=>{n()&&f1(e.environmentId)},onOpen:()=>{n()&&p1(e.environmentId)},onError:r=>{xZ(e)&&I$(r)&&t.invalidate?.(),n()&&gZ.getState().patch(e.environmentId,{connectionState:`error`,lastError:r,lastErrorAt:l1()})},onClose:r=>{xZ(e)&&(r.code===1008||I$(r.reason))&&t.invalidate?.(),n()&&h1(e.environmentId,r.reason)}}))}async function S1(e,t,n,r,i,a,o){let s=await P$(t,o),[c,l]=await Promise.all([a?Promise.resolve(a):n.server.getConfig(),pZ({httpBaseUrl:s.httpBaseUrl,bearerToken:s.bearerToken,...o?{signal:o}:{}})]);if(!r())return!1;gZ.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=Rq(e.environmentId);return r()&&l.authenticated&&u&&Pq.getState().upsert({...u,lastAuthenticatedPullRequestCapability:c.environment.capabilities?.pullRequests===!0}),!0}function C1(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),c1(),e}async function w1(e){let t=L$.get(e);return t?(L$.delete(e),F$(e),u2e(e),c1(),await t.dispose(),!0):!1}function T1(){let e=Dq();if(!e?.environmentId)throw Error(`Unable to resolve the primary environment.`);let t=L$.get(e.environmentId);if(t)return t;let n=x1(),r=e.source===`paired-bearer`||!0;return C1(CZ({kind:`primary`,knownEnvironment:e,client:j2e(e),resolveEnvironmentId:()=>Dq()?.environmentId??e.environmentId,...r?{readiness:n?{bearerToken:n.bearerToken}:{}}:{},...b1()}))}async function L2e(e,t,n){let r=L$.get(e.environmentId);if(r)return r;let i=xZ(e),a=()=>Y$({record:e,generation:t,registryExpectation:n?.registryExpectation??{kind:`existing-record`,record:e}}),o=i?n?.bearerToken:n?.bearerToken??await Uq(e.environmentId);if(!i&&!o)throw a()&&gZ.getState().patch(e.environmentId,{authState:`requires-auth`,role:null,connectionState:`disconnected`,lastError:`Saved environment is missing its saved credential. Pair it again.`,lastErrorAt:l1()}),Error(`Saved environment is missing its saved credential.`);let s=i?P2e(e,o??void 0,a):F2e({record:e,bearerToken:o}),c=await P$(s,n?.signal);if(!a())throw Error(`Saved environment changed while its connection was being acquired.`);let l=n?.client??I2e(e,s,a),u=Io({id:e.environmentId,label:e.label,source:`manual`,target:{httpBaseUrl:c.httpBaseUrl,wsBaseUrl:c.wsBaseUrl}}),d=i&&c.expiresAt?$0e({initialDescriptor:{httpBaseUrl:c.httpBaseUrl,wsBaseUrl:c.wsBaseUrl,bearerToken:c.bearerToken,expiresAt:c.expiresAt},renew:async()=>{let e=await s.acquire({forceRefresh:!0});return{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken,expiresAt:e.expiresAt??null}},onState:t=>{a()&&gZ.getState().patch(e.environmentId,{providerAuthority:t})}}):null,f=CZ({kind:`saved`,knownEnvironment:{...u,environmentId:e.environmentId},client:l,readiness:{bearerToken:c.bearerToken},tolerateReportedEnvironmentIdentity:i,refreshMetadata:async()=>{await S1(e,s,l,a)},...d?{ensureProviderAuthority:d.ensureLive,onDispose:d.dispose}:{},onConfigSnapshot:t=>{a()&&gZ.getState().patch(e.environmentId,{descriptor:t.environment,serverConfig:t})},...b1(t=>{a()&&gZ.getState().patch(e.environmentId,{descriptor:t.environment})})});try{if(!await C2e(e,S1(e,s,l,a,n?.role??null,n?.serverConfig??null,n?.signal))||!a())throw Error(`Saved environment changed while its connection was being acquired.`);return C1(f)}catch(t){throw i&&F$(e.environmentId,s),a()&&g1(e.environmentId,t),await f.dispose().catch(()=>void 0),t}}async function E1(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&&J$(i.record,e))return i.promise;let a=L2e(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 D1(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||!J$(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 M1(e)}))}function O1(){W$?.stop(),W$=null}function k1(e){return H$.add(e),()=>{H$.delete(e)}}function A1(e){return L$.get(e)??null}function R2e(e){let t=A1(e);if(!t)throw Error(`No websocket client registered for environment ${e}.`);return t}function j1(){return T1()}async function z2e(){let e=A2e();if(!e)throw Error(`Desktop Local runtime is not authenticated. Sign in with CMMD again before importing local projects.`);let t=await rQe({httpBaseUrl:e.httpBaseUrl,bearerToken:e.bearerToken});return L$.get(t.environmentId)||C1(CZ({kind:`desktop-local`,knownEnvironment:{...Io({id:t.environmentId,label:e.label,source:`desktop-managed`,target:{httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl}}),environmentId:t.environmentId,label:t.label},client:M2e({environmentId:t.environmentId,httpBaseUrl:e.httpBaseUrl,wsBaseUrl:e.wsBaseUrl,bearerToken:e.bearerToken}),...b1()}))}async function B2e(e){let t=an.make(e.runtimeId),n=L$.get(t);if(n)return n;f1(t);let r=T$(),i=P0e(e.runtimeId,{apiClient:ZK,getStoredDeviceKey:v$,buildDeviceRegistration:h$,controlSessionId:r.controlSessionId}),a=await i.acquireRoute(),o=a,s=fce({acquireRoute:async()=>{let e=o;return o=null,e??i.acquireRoute()},acquireActionGrant:i.acquireActionGrant,journal:r,lifecycle:{onConnecting:()=>{f1(t)},onAuthenticated:()=>{p1(t)},onDisconnected:e=>{h1(t,e.reason)},onError:e=>{g1(t,Object.assign(Error(e.message),e))}}}),c=u$(new n$(a.relayWebSocketUrl,{trackGlobalConnection:!1},{layer:s,makeClient:dce(Un)})),l=CZ({kind:`saved`,knownEnvironment:{...Io({id:t,label:e.label,source:`manual`,target:{httpBaseUrl:ur()?.target.httpBaseUrl??a.relayWebSocketUrl,wsBaseUrl:a.relayWebSocketUrl}}),environmentId:t},client:c,tolerateReportedEnvironmentIdentity:!0,onConfigSnapshot:e=>{m1(t,e)},...b1(e=>{gZ.getState().patch(t,{descriptor:e.environment})})});try{let[,e]=await Promise.all([l.ensureBootstrapped(),c.server.getConfig()]);return m1(t,e),p1(t),C1(l)}catch(e){throw g1(t,e),await l.dispose().catch(()=>void 0),e}}function V2e(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=B2e(e).finally(()=>{R$.delete(t)});return R$.set(t,i),i}async function M1(e){L$.get(e)?.kind===`saved`&&(gZ.getState().clear(e),await w1(e).catch(()=>!1))}async function H2e(e){let t=Rq(e);if(!t)throw Error(`Saved environment not found.`);let n=L$.get(e);if(!n){try{await F1(t)}catch(t){throw g1(e,t),t}return}f1(e);try{await n.reconnect()}catch(t){throw g1(e,t),t}}function N1(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 U2e(e){let t=e.environmentId;z$.set(t,(z$.get(t)??0)+1);try{return A1(t)||await F1(e),!0}catch{return N1([t]),!1}}async function W2e(){await Iq();let e=(await Promise.all(Pqe().map(async e=>await U2e(e)?e.environmentId:null))).flatMap(e=>e===null?[]:[e]),t=!1;return()=>{t||(t=!0,N1(e))}}async function G2e(e){q$(e),Pq.getState().remove(e),await Wq(e),await M1(e)}function P1(e){let t=Rq(e.environmentId);if(t?.lastAuthenticatedPullRequestCapability!==void 0)return{...e,lastAuthenticatedPullRequestCapability:t.lastAuthenticatedPullRequestCapability};let n=gZ.getState().byId?.[e.environmentId];return n?.authState===`authenticated`&&n.descriptor?{...e,lastAuthenticatedPullRequestCapability:n.descriptor.capabilities.pullRequests===!0}:e}async function K2e(e){let t=an.make(e.environment.environmentId),{existing:n,replacedRecord:r}=sQe({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??l1(),lastConnectedAt:l1(),...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}};vZ(e.signal);let u=await cQe(n);q$(l.environmentId),await w1(l.environmentId).catch(()=>!1),r&&(q$(r.environmentId),await w1(r.environmentId).catch(()=>!1)),await F1(l,{bearerToken:e.bearerToken,registryExpectation:n&&!r?{kind:`existing-record`,record:n}:{kind:`initial-add`},...e.signal?{signal:e.signal}:{},...e.onBootstrapRetry?{onBootstrapRetry:e.onBootstrapRetry}:{}});let d=!1;try{return vZ(e.signal),await lQe({record:l,replacedRecord:r,rollback:u,...e.signal?{signal:e.signal}:{}}),d=!0,vZ(e.signal),Pq.getState().upsert(P1(l)),l}catch(t){throw await w1(l.environmentId).catch(()=>!1),d&&await SZ({record:l,replacedRecord:r,rollback:u}),vZ(e.signal),t}}async function F1(e,t){if(!xZ(e))return E1(e,t);let n=K$(e.environmentId),r=()=>Y$({record:e,generation:n,registryExpectation:t?.registryExpectation??{kind:`existing-record`,record:e}}),i=null;for(let n=0;n<u1;n+=1){vZ(t?.signal);try{let n=await E1(e,t);return await yZ(n.ensureBootstrapped(),t?.signal),n}catch(a){if(i=a,!r())throw a;if(await w1(e.environmentId).catch(()=>!1),vZ(t?.signal),n>=7||!b2e(a))throw r()&&g1(e.environmentId,a),a;let o=x2e(n);t?.onBootstrapRetry?.({attempt:n+2,maxAttempts:u1,retryDelayMs:o,error:a}),r()&&gZ.getState().patch(e.environmentId,{connectionState:`connecting`,lastError:null,lastErrorAt:null}),await bZ(o,t?.signal)}}let a=i instanceof Error?i:Error(String(i));throw r()&&g1(e.environmentId,a),a}async function q2e(e){await L$.get(e)?.ensureBootstrapped()}async function J2e(e){let t=L$.get(e),n=Rq(e);if(!n||!xZ(n)){await t?.ensureProviderAuthority?.();return}if(!t?.ensureProviderAuthority)throw Error(`Cloud runtime provider authority is not available.`);await t.ensureProviderAuthority()}function Y2e(e){if(W$?.queryClient===e)return W$.refCount+=1,()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&O1())};O1(),G$=!1;let t=new ZJe(()=>{G$&&(G$=!1,e.invalidateQueries({queryKey:uZ.all}),e.invalidateQueries({queryKey:lZ.all}))},{wait:100,leading:!1,trailing:!0});T1(),fr().catch(()=>void 0);let n=Pq.subscribe(()=>{Fq()&&D1(Lq())});return Iq().then(()=>D1(Lq())).catch(()=>void 0),W$={queryClient:e,queryInvalidationThrottler:t,refCount:1,stop:()=>{n(),t.cancel()}},()=>{!W$||W$.queryClient!==e||(--W$.refCount,W$.refCount===0&&O1())}}var X2e=xte(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function Z2e(e){return{environmentId:e.environmentId,threadId:e.threadId}}function Q2e(e){return{draftId:e}}function $2e(e){return!e.environmentId||!e.threadId?null:zo(e.environmentId,e.threadId)}function e4e(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:zo(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}var t4e=F.forwardRef(function(e,t){let{className:n,render:r,orientation:i=`horizontal`,style:a,...o}=e;return wte(`div`,e,{state:{orientation:i},ref:t,props:[{role:`separator`,"aria-orientation":i},o]})});function I1(e){let t=(0,xl.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=Jt(`relative overflow-hidden rounded-sm bg-muted [--skeleton-highlight:--alpha(var(--color-white)/64%)] after:absolute after:inset-0 after:animate-skeleton after:bg-[linear-gradient(120deg,transparent_40%,var(--skeleton-highlight),transparent_60%)] motion-reduce:after:content-none dark:[--skeleton-highlight:--alpha(var(--color-white)/4%)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Nr.jsx)(`div`,{className:i,"data-slot":`skeleton`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function n4e(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Kt(i),[,o]=F.useState(!1),s=Zt(i4e).current,c=Zt(r4e).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(!s4e(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=o4e(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Kt(()=>{let[e,t]=a4e(c),n=g(e);_(t),d.current=e,u.current=!1,s.forEach(e=>e(n)),a(n)});Xt(()=>(u.current||g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),Xt(()=>{u.current&&v()}),Xt(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Kt(e=>(s.add(e),()=>{s.delete(e)})),b=F.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Nr.jsx)(Ste.Provider,{value:b,children:t})}function r4e(){return new Map}function i4e(){return new Set}function a4e(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 o4e(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function s4e(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function L1(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function R1(e){let t=e.browser,n=t?{openSession:t.openSession,listSessions:t.listSessions,closeSession:t.closeSession,getSession:t.getSession,command:t.command,clearBrowsingData:t.clearBrowsingData,attachDisplay:t.attachDisplay,addDisplayIceCandidate:async e=>{await t.addDisplayIceCandidate(e)},onEvent:(e,n)=>t.onEvent(e,n)}:void 0;return{...n?{browser:n}:{},attachments:{createUploadUrl:t=>e.attachments.createUploadUrl(t),delete:t=>e.attachments.delete(t)},computer:{input:t=>e.computer.input(t)},threadDevRuntime:{get:t=>e.threadDevRuntime.get(t),allocatePort:t=>e.threadDevRuntime.allocatePort(t),release:t=>e.threadDevRuntime.release(t)},devTunnel:{register:t=>e.devTunnel.register(t),unregister:t=>e.devTunnel.unregister(t),list:t=>e.devTunnel.list(t)},terminal:{open:t=>e.terminal.open(t),write:t=>e.terminal.write(t),resize:t=>e.terminal.resize(t),signal:t=>e.terminal.signal(t),clear:t=>e.terminal.clear(t),restart:t=>e.terminal.restart(t),close:t=>e.terminal.close(t),onEvent:t=>e.terminal.onEvent(t)},projects:{searchContents:e.projects.searchContents,searchEntries:e.projects.searchEntries,readFile:e.projects.readFile,writeFile:e.projects.writeFile},codeGraph:{summary:e.codeGraph.summary,neighborhood:e.codeGraph.neighborhood,search:e.codeGraph.search},workspace:{environmentPreflight:e.workspace.environmentPreflight,ensureScratch:e.workspace.ensureScratch},shell:{openInEditor:t=>e.shell.openInEditor(t)},git:{pull:e.git.pull,refreshStatus:e.git.refreshStatus,onStatus:(t,n,r)=>e.git.onStatus(t,n,r),listBranches:e.git.listBranches,createWorktree:e.git.createWorktree,removeWorktree:e.git.removeWorktree,createBranch:e.git.createBranch,checkout:e.git.checkout,init:e.git.init,resolvePullRequest:e.git.resolvePullRequest,preparePullRequestThread:e.git.preparePullRequestThread},pullRequests:{list:t=>e.pullRequests.list(t),listStats:t=>e.pullRequests.listStats(t),detail:t=>e.pullRequests.detail(t),activity:t=>e.pullRequests.activity(t),threadComments:t=>e.pullRequests.threadComments(t),diffFileContents:t=>e.pullRequests.diffFileContents(t),runAction:t=>e.pullRequests.runAction(t),update:t=>e.pullRequests.update(t),comment:t=>e.pullRequests.comment(t),updateComment:t=>e.pullRequests.updateComment(t),submitReview:t=>e.pullRequests.submitReview(t),replyToThread:t=>e.pullRequests.replyToThread(t),setThreadResolution:t=>e.pullRequests.setThreadResolution(t),setReaction:t=>e.pullRequests.setReaction(t),invalidate:t=>e.pullRequests.invalidate(t),reviewerCandidates:t=>e.pullRequests.reviewerCandidates(t),requestReviewers:t=>e.pullRequests.requestReviewers(t)},orchestration:{dispatchCommand:e.orchestration.dispatchCommand,getTurnDiff:e.orchestration.getTurnDiff,getFullThreadDiff:e.orchestration.getFullThreadDiff,subscribeShell:(t,n)=>e.orchestration.subscribeShell(t,n),subscribeThread:(t,n,r)=>e.orchestration.subscribeThread(t,n,r)}}}function z1(e){if(typeof window>`u`||!e)return;let t=A1(e);return t?R1(t.client):void 0}function c4e(e){let t=(0,xl.c)(4),n;t[0]===e?n=t[1]:(n=()=>A1(e),t[0]=e,t[1]=n);let r=(0,F.useSyncExternalStore)(k1,n,l4e),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 l4e(){return null}function u4e(e){let t=z1(e);if(!t)throw Error(`Environment API not found for environment ${e}`);return t}var B1=`forge:last-editor`;function d4e(e){let t=(0,xl.c)(5),[n,r]=Il(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=Ml(B1,zn);if(n&&t.has(n))return n;let r=en.find(e=>t.has(e.id))?.id??null;return r&&Nl(B1,r,zn),r??null}async function f4e(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}),p4e=Wt(U1).pipe(Ut,Vt(`git-status:null`)),G1=()=>void 0,K1=new Map,m4e=new Set,q1=new Map,J1=new Map,h4e=1e3,Y1=gte(e=>(m4e.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=A1(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 g4e(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:y4e(n,e,t)}),()=>$1(n))}function _4e(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<h4e)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 v4e(e){let t=(0,xl.c)(4),n=X1(e),r,i;t[0]!==e.cwd||t[1]!==e.environmentId?(r=()=>g4e({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=lr(n===null?p4e: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 y4e(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=b4e(e,r,o.client))},s=n?G1:k1(o);return o(),()=>{s(),a()}}function b4e(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 x4e=[],S4e=[],C4e=[],w4e=e=>e?.availableEditors??x4e,T4e=e=>e?.keybindings??S4e,E4e=e=>e?.keybindingsConfigPath??null,D4e=e=>e?.observability??null,O4e=e=>e?.providers??C4e,k4e=e=>e?.settings??bne,r0=t0(`server-welcome`,null),i0=t0(`server-config`,null),a0=t0(`server-config-updated`,null),A4e=t0(`server-providers-updated`,null);function o0(){return Ht.get(i0)}function j4e(){return Ht.get(a0)}function s0(e){d0(e),f0({providers:e.providers}),p0(n0(e),`snapshot`)}function M4e(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(Tq()?.environmentId===e.environmentId&&Eq(e),!t)return;let n={...t,environment:e};d0(n),p0(n0(n),`environmentUpdated`)}function N4e(e){Ht.set(r0,e)}function P4e(e){let t=!1,n=[e.subscribeLifecycle(e=>{e.type===`welcome`&&N4e(e.payload)}),e.subscribeConfig(e=>{M4e(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 F4e=1;function d0(e){Ht.set(i0,e)}function f0(e){Ht.set(A4e,e)}function p0(e,t){Ht.set(a0,{id:F4e++,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)},[]);wne(e,r,{immediate:!0})}function I4e(){return lr(i0)}function h0(){return lr(i0,k4e)}function L4e(){return lr(i0,O4e)}function R4e(){return lr(i0,T4e)}function z4e(){return lr(i0,w4e)}function B4e(){return lr(i0,E4e)}function V4e(){return lr(i0,D4e)}function H4e(e){m0(r0,e)}function U4e(e){m0(a0,e)}function W4e(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 G4e(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 K4e(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 q4e(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 W4e(e)){if(n){i.appendChild(G4e(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=K4e({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 J4e(){return _0(j1().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 Y4e(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 X4e(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):q4e(e,t)},persistence:{getClientSettings:Jl,setClientSettings:Yl,getSavedEnvironmentRegistry:Xl,setSavedEnvironmentRegistry:Zl,getSavedEnvironmentSecret:Ql,setSavedEnvironmentSecret:$l,removeSavedEnvironmentSecret:eu},server:_0(e)}}function v0(){if(typeof window>`u`)return;if(g0)return g0;let e=X4e(j1().client);return window.nativeApi?(g0=Y4e(e,window.nativeApi),g0):(g0=e,g0)}function Z4e(){let e=v0();if(!e)throw Error(`Local API not found`);return e}var Q4e=`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`,$4e=`ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace`;function e3e(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 t3e(e){let t=e.split(`,`).map(e3e).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 n3e(e,t){let n=[[y0.fontSans,t.fontFamilySans,Q4e],[y0.fontMono,t.fontFamilyCode,$4e],[y0.fontComposer,t.fontFamilyComposer,`var(--font-sans)`],[y0.fontTerminal,t.fontFamilyTerminal,`var(--font-mono)`]];for(let[t,r,i]of n){let n=t3e(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 r3e(e,t){try{window.localStorage.setItem(x0,JSON.stringify({appearance:t,background:e}))}catch{}}function i3e(){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],i3e()}}function a3e(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&&r3e(r.background,t)}function o3e(e,t){if(e===`forge`){C0();return}let n=lne(e);if(n===void 0){C0();return}a3e(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 s3e(){for(let e of E0)e()}function A0(){return D0}function j0(e){D0=e,s3e()}function c3e(e){return E0.add(e),l3e(),()=>{E0.delete(e)}}async function l3e(){if(O0)return;if(k0)return k0;let e=(async()=>{try{let e=await Jl();e&&j0(e)}catch(e){console.error(`${T0} hydrate failed`,e)}finally{O0=!0}})().finally(()=>{k0===e&&(k0=null)});return k0=e,k0}function u3e(e){j0(e),Yl(e).catch(e=>{console.error(`${T0} persist failed`,e)})}var d3e=new Set(Kte(yne.fields));function f3e(e){let t={},n={};for(let[r,i]of Object.entries(e))d3e.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function M0(e){let t=h0(),n=(0,F.useSyncExternalStore)(c3e,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,xl.c)(2),t=p3e,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 p3e(e){let{serverPatch:t,clientPatch:n}=f3e(e);if(Object.keys(t).length>0){let e=o0();e&&l0(w0(e.settings,t)),j1().client.server.updateSettings(t)}Object.keys(n).length>0&&u3e({...A0(),...n})}var m3e=`forge:theme`,P0=`theme-color`,h3e=`meta[name="${P0}"][data-dynamic-theme-color="true"]`,F0=`(prefers-color-scheme: dark)`,g3e={dark:`#0a0a0a`,light:`#ffffff`};function _3e(){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 v3e(){if(!_3e())return{theme:`system`,uiFontSize:16,codeFontSize:13};try{let e=window.localStorage.getItem(Bl);if(e){let t=Ul(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(m3e);return{theme:I0(t)?t:`system`,uiFontSize:16,codeFontSize:13}}catch{return{theme:`system`,uiFontSize:16,codeFontSize:13}}}function y3e(){return typeof window>`u`||typeof window.matchMedia!=`function`||window.matchMedia(F0).matches?`dark`:`light`}function R0(e){return e===`system`?y3e():e}function b3e(){let e=document.querySelector(h3e);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 x3e(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function S3e(){return document.documentElement.classList.contains(`dark`)?`dark`:`light`}function B0(e=S3e()){if(typeof document>`u`||typeof getComputedStyle>`u`)return;document.documentElement.style.backgroundColor=``,document.body.style.backgroundColor=``;let t=z0(getComputedStyle(x3e()).backgroundColor),n=z0(getComputedStyle(document.body).backgroundColor),r=t??n??g3e[e];document.documentElement.style.backgroundColor=r,document.body.style.backgroundColor=r,b3e().setAttribute(`content`,r)}function C3e(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),C3e(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=v3e();V0(e.theme),W0(e)}function w3e(){let e=(0,xl.c)(34),t=M0(O3e),n=M0(D3e),r=M0(E3e),i=M0(T3e),{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=()=>{o3e(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 T3e(e){return e.codeFontSize}function E3e(e){return e.uiFontSize}function D3e(e){return e.themeId}function O3e(e){return e.theme}function k3e(){let e=(0,xl.c)(10),t=M0(L3e),n=M0(I3e),r=M0(F3e),i=M0(P3e),a=M0(N3e),o=M0(M3e),s=M0(j3e),c=M0(A3e),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`||n3e(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 A3e(e){return e.glassOpacity}function j3e(e){return e.fontSmoothing}function M3e(e){return e.terminalFontSize}function N3e(e){return e.promptFontSize}function P3e(e){return e.fontFamilyTerminal}function F3e(e){return e.fontFamilyComposer}function I3e(e){return e.fontFamilyCode}function L3e(e){return e.fontFamilySans}function R3e(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,R3e(e,t));return G0.set(n,i),i}function z3e(e,t){return K0(t,!0).format(new Date(e))}function B3e(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 V3e(e){let t=q0(e);return t.suffix?`${t.value} ${t.suffix}`:t.value}var H3e=new Set([`tool.started`,`task.started`,`context-window.updated`,`text-generation.usage`,`worktree.stage`,`launch.agent-starting`]);function J0(e){return H3e.has(e.kind)||e.summary===`Checkpoint captured`}function U3e(e,t){return!t.latestTurnId||e.turnId===t.latestTurnId||W3e(e)?!0:G3e(e,t.latestTurnStartedAt)}function W3e(e){return e.kind.startsWith(`worktree.`)||e.kind.startsWith(`setup-script.`)}function G3e(e,t){return e.turnId!==null||e.tone!==`error`||t===null?!1:e.createdAt>=t}var K3e=[{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 q3e(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 J3e(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:q3e(r-n)}function Y0(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Y3e(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 X3e(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 Z3e(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 Q3e(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=Z3e(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 $3e(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 e6e(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 t6e(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 n6e(e){return e!==null&&e.implementedAt===null}function r6e(e,t,n){let r=i6e(),i={latestTurnId:t,latestTurnStartedAt:n??null};return f6e([...e].toSorted(h2).filter(e=>U3e(e,i)).filter(e=>!J0(e)).filter(e=>r||e.kind!==`runtime.warning`).filter(e=>!a6e(e)).map(o6e)).map(({activityKind:e,collapseKey:t,...n})=>n)}function i6e(){if(typeof window>`u`)return!1;try{return window.localStorage.getItem(`forge:debug-mode`)===`true`}catch{return!1}}function a6e(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 o6e(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=D6e(t),r=N6e(t),i=O6e(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=j6e(t),d=M6e(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=s6e(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=g6e(l);return p&&(l.collapseKey=p),l}function s6e(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=c6e(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 c6e(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 l6e(e,t){return e.action===t.action&&e.toolName===t.toolName&&e.message===t.message}function u6e(e){switch(e){case`connect_cmmd`:return`Reconnect Forge`;case`connect_github`:return`Connect GitHub`;default:return`Open Git settings`}}function d6e(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(`
|
|
1020
1020
|
`)}function f6e(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&p6e(e,n)){t[t.length-1]=m6e(e,n);continue}t.push(n)}return t}function p6e(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 m6e(e,t){let n=h6e(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 h6e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function g6e(e){if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;let t=_6e(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 _6e(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 v6e(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 y6e(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 b6e=[{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 x6e(e){return b6e.find(t=>t.executables.includes(e))}function S6e(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 C6e(e){let t=y6e(e);if(!t||t.rest.length===0)return e;let n=v6e(t.executable);if(!n)return e;let r=x6e(n);return r?S6e(t.rest,r.wrapperFlagPattern)??e:e}function w6e(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=>w6e(e)).join(` `)}function T6e(e){let t=u2(e);return t?C6e(t):null}function E6e(e,t){let n=u2(e);return!n||t===null||n===t?null:n}function D6e(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=T6e(e);if(t)return{command:t,rawCommand:E6e(e,t)}}return{command:null,rawCommand:null}}function O6e(e){return k6e(e)??c2(e?.title)}function k6e(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(A6e(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 A6e(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 j6e(e){if(typeof e?.itemType==`string`&&Lte(e.itemType))return e.itemType}function M6e(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 N6e(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 P6e(e,t){return t?e.some(e=>e.turnId===t&&e.tone===`tool`):!1}function F6e(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=I6e(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 I6e(e,t){if(!e.includes(`confirm_github_tool`))return null;let n=B6e(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=L6e(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 L6e(e,t,n){if(!R6e(e))return null;let r=z6e(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 R6e(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 z6e(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 B6e(e,t){return t.exec(e)?.[1]??null}function V6e(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 H6e(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 U6e(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function W6e(e,t){if(t===`disconnected`||t===`connecting`)return null;for(let t of e.toReversed())if(t.kind===`work`&&t.entry.githubConfirmation)return t.entry.githubConfirmation;return null}var _2=[`preview`,`canvas`,`diff`,`plan`,`task`,`simulator`,`display`,`agents`,`file`,`graph`,`pull-request`],v2={isOpen:!1,isMaximized:!1,activeSurfaceId:null,surfaces:[]};function y2(e){return e===null?{id:`browser:new`,kind:`preview`,resourceId:null}:{id:`browser:${e}`,kind:`preview`,resourceId:e}}function G6e(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 K6e=`workspace:pull-requests`;function S2(e){return typeof e==`object`&&!!e}function q6e(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 J6e(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}function Y6e(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:J6e(e.revealRequestId),readPolicy:e.readPolicy===`connected-only`?`connected-only`:`execution-intent`}}function X6e(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 Z6e(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 Q6e=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 $6e(e){return e===void 0||T2(e)}function e8e(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)&&Q6e.has(t),w2(n),T2(r),w2(i),w2(a),w2(o),s!==null,$6e(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 t8e(e){if(!S2(e)||!q6e(e.kind))return null;let t=e.kind;return t===`file`?Y6e(e):t===`preview`?X6e(e):t===`diff`?Z6e(e):t===`pull-request`?e8e(e):{id:t,kind:t}}function n8e(e){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[]){let e=t8e(r);!e||n.has(e.id)||(n.add(e.id),t.push(e))}return t}function r8e(e){if(!S2(e))return null;let t=n8e(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 i8e(e){if(!S2(e)||!S2(e.byThreadKey))return{byThreadKey:{}};let t={};for(let[n,r]of Object.entries(e.byThreadKey)){if(n===K6e)continue;let e=r8e(r);e&&(t[n]=e)}return{byThreadKey:t}}var a8e=`forge:right-panel-state`,o8e=3,s8e=e=>e===`workspace:pull-requests`;function c8e(e){return`draft:${e}`}function l8e(e){return e.startsWith(`draft:`)}function u8e(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}},d8e=qt()(gY(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=G6e(n,u8e(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:a8e,version:o8e,storage:mY(()=>TY),partialize:e=>({byThreadKey:Object.fromEntries(Object.entries(e.byThreadKey).filter(([e])=>!l8e(e)&&!s8e(e)))}),migrate:e=>i8e(e)}));function f8e(e){return t=>e?WJ(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=WJ(i,a.environmentId);return r&&t===o&&n===a.threadId?r:(t=o,n=a.threadId,r=fJ(o,a.threadId),r)}}function p8e(e){return O2(()=>e)}function m8e(e){return t=>{if(e)return WJ(t,e.environmentId).threadSubscriptionErrorById[e.threadId]}}function h8e(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=WJ(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 g8e(e){return O2(t=>{if(!e)return;let n,r,i;for(let[a,o]of Object.entries(t.environmentStateById))if(o.threadShellById[e]){let s={environmentId:a,threadId:e};if(n??=s,t.activeEnvironmentId===a&&(r=s),o.bootstrapComplete&&(i=s,t.activeEnvironmentId===a))break}return i??r??n})}var _8e=/https?:\/\/[^\s"'`<>]+/g,v8e=/(?:~\/|\.{1,2}\/|\/|[A-Za-z]:[\\/]|\\\\)[^\s"'`<>]+|[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)+(?::\d+){0,2}/g,y8e=/[.,;!?]+$/;function b8e(e){let t=e.replace(y8e,``);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 x8e(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=b8e(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=>x8e(s,e))||i.push(s)}return i}function A2(e){return/^[A-Za-z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function S8e(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 C8e(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 w8e(e){let t=k2(e,`url`,_8e,[]),n=k2(e,`path`,v8e,t);return[...t,...n].toSorted((e,t)=>e.start-t.start)}function T8e(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 E8e(e,t){return{start:P2(e.segments,t.start),end:P2(e.segments,t.end-1)}}function D8e(e,t){return e.start.y<=t&&t<=e.end.y}function O8e(e,t=typeof navigator>`u`?``:navigator.platform){return t.length===0?!1:_te(t)?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function k8e(e,t){let{path:n,line:r,column:i}=N2(e),a=n;if(n.startsWith(`~/`)){let e=C8e(t);if(e){let t=j2(e)?`\\`:`/`;a=M2(e,n.slice(2),t)}}else S8e(n)||(a=M2(t,n,j2(t)?`\\`:`/`));return r?`${a}:${r}${i?`:${i}`:``}`:a}var F2=`diffs-container`,A8e=(()=>{try{return!1}catch{return!1}})(),j8e=/(?=^From [a-f0-9]+ .+$)/m,M8e=/(?=^diff --git)/gm,N8e=/(?<=\n)/,P8e=/^(---|\+\+\+)\s+([^\t\r\n]+)/,F8e=/^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/,I8e=/^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/,L8e=/^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`},R8e=`data-theme-css`,z8e=`data-unsafe-css`,B8e=`data-diffs-scrollbar-measure`,V8e=`data-diffs-code-view-header`,H8e=`data-diffs-code-view-footer`,V2=`--diffs-scrollbar-gutter-measured`,U8e=1e5,H2={hunkLineCount:50,lineHeight:20,diffHeaderHeight:44,spacing:8},W8e={...H2,hunkLineCount:1},G8e={paddingTop:8,paddingBottom:8,gap:8},K8e={omega:.015,positionEpsilon:.5,velocityEpsilon:.05},q8e=Object.freeze({fromStart:0,fromEnd:0}),J8e={startingLine:0,totalLines:1/0,bufferBefore:0,bufferAfter:0},Y8e={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 X8e(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 Z8e({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}},Q8e=new class extends t4{};function $8e(e,t,n){return Q8e.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,e5e(e,t))}function e5e(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}`,t5e=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(t5e)||[];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 n5e=new class extends t4{tokenize(e){let t=RegExp(`(\\r?\\n)|[${p4}]+|[^\\S\\n\\r]+|[^${p4}]`,`ug`);return e.match(t)||[]}};function r5e(e,t,n){return n5e.diff(e,t,n)}var i5e=new class extends t4{constructor(){super(...arguments),this.tokenize=g4}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
1021
1021
|
`))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
|
|
1022
1022
|
`))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
@@ -2528,5 +2528,5 @@ XID_Start XIDS`.split(/\s/).map(e=>[b5(e),e])),ant=new Map([[`s`,U5(383)],[U5(38
|
|
|
2528
2528
|
${_9(n)}
|
|
2529
2529
|
${e}
|
|
2530
2530
|
}
|
|
2531
|
-
}`}function iit(e,t){let n=_9(t);return e.replace(tit,n)}function ait(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function oit({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 sit(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function cit(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 lit(e){if(typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement)return!0;let t=e.tagName??e.nodeName;return typeof t==`string`&&t.toLowerCase()===`style`}function uit(e){return e?.useTokenTransformer===!0||e?.onTokenClick!=null||e?.onTokenEnter!=null||e?.onTokenLeave!=null}function dit(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 fit({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=pit(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function pit(){let e=document.createElement(`style`);return e.setAttribute(R8e,``),e}var mit=void 0;function hit(){return mit??=`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(eit)),t.adoptedStyleSheets=[e]}connectedCallback(){g9(this.shadowRoot??this.attachShadow({mode:`open`}))}}customElements.define(F2,t)}function git(e){return{...H2,...e}}function _it(e,t){let n=vit(e,t);return t?n:e.diffHeaderHeight+n}function vit(e,t){return e.paddingTop??(t?e.spacing:0)}function yit(e){return e.paddingBottom??e.spacing}function bit(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 xit(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 Sit({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 Cit({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??bit(e)}function O9({type:e,metrics:t}){return e===`simple`||e===`metadata`||e===`line-info-basic`?0:t.spacing}function wit({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 Tit(e){return e!==`simple`&&e!==`metadata`}function Eit({type:e,metrics:t,hunkIndex:n,hunkSpecs:r}){if(!wit({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 Dit({type:e,metrics:t}){if(!Tit(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=Oit({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=jit(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(Mit({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 Oit({diff:e,diffStyle:t,startingLine:n,expandedHunks:r,collapsedContextThreshold:i}){if(n<=0||t===`both`)return{hunkIndex:0,splitCount:0,unifiedCount:0};let a=kit({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 kit({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 Ait(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]=Ait(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 jit(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 Mit({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 Nit={forcePlainText:!1};function j9(e,t,n,{forcePlainText:r,startingLine:i,totalLines:a,expandedHunks:o,collapsedContextThreshold:s=1}=Nit){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)??Fit();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&&Pit({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}=Iit({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 Pit({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`?$8e(e,t):r5e(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 Fit(){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 Iit({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 Lit(e){return e===`dark`?R9.dark:R9.light}var z9=2166136261,B9=16777619,Rit=2654435769,zit=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 Bit(e,t=`diff-panel`){let n=e.trim(),r=V9(n,z9,B9).toString(36),i=V9(n,Rit,zit).toString(36);return`${t}:${n.length}:${r}:${i}`}function Vit(e){let t=(0,F.useRef)(e);return(0,F.useInsertionEffect)(()=>void(t.current=e)),(0,F.useCallback)((...e)=>t.current(...e),[])}var Hit=(0,F.createContext)(void 0);function Uit(){return(0,F.useContext)(Hit)}var Wit={position:`absolute`,top:0,bottom:0,textAlign:`center`,whiteSpace:`normal`,touchAction:`none`},Git={display:`contents`};function Kit(){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`)}},qit=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){Jit(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 Jit(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 Yit({poolOptions:e,highlighterOptions:t}){return X9??=new qit(e,t),X9}function Xit(){X9!=null&&(X9.terminate(),X9=void 0)}var Z9=(0,F.createContext)(void 0),Q9=0;function Zit({children:e,poolOptions:t,highlighterOptions:n}){let[r]=(0,F.useState)(()=>{if(!(typeof window>`u`))return Yit({poolOptions:t,highlighterOptions:n})});return(0,F.useInsertionEffect)(()=>{if(r!=null)return Q9++,()=>{Q9--}},[r]),(0,F.useEffect)(()=>()=>{Q9===0&&Xit()},[]),(0,Nr.jsx)(Z9.Provider,{value:r,children:e})}function Qit(){return(0,F.useContext)(Z9)}function $9(e){return Jt(`flex items-center justify-between gap-2 px-4 wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+1em)]`,Pr&&e!==`sheet`?`h-[52px] border-b border-border wco:h-[env(titlebar-area-height)]`:`h-12 wco:max-h-[env(titlebar-area-height)]`)}function $it(e){let t=(0,Sl.c)(10),n=Pr&&e.mode!==`sheet`,r=e.mode===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`,i;t[0]===r?i=t[1]:(i=Jt(`flex h-full min-w-0 flex-col bg-background`,r),t[0]=r,t[1]=i);let a;t[2]!==e.header||t[3]!==e.mode||t[4]!==n?(a=n?(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header}):(0,Nr.jsx)(`div`,{className:`border-b border-border`,children:(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header})}),t[2]=e.header,t[3]=e.mode,t[4]=n,t[5]=a):a=t[5];let o;return t[6]!==e.children||t[7]!==i||t[8]!==a?(o=(0,Nr.jsxs)(`div`,{className:i,children:[a,e.children]}),t[6]=e.children,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function eat(){let e=(0,Sl.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 tat(e){let t=(0,Sl.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{Wrt as $,bY as $a,Xne as $c,TZ as $i,Q0 as $n,xqe as $o,W2e as $r,zo as $s,H8e as $t,_it as A,nX as Aa,ore as Ac,n$ as Ai,g8e as An,qq as Ao,U4e as Ar,Zce as As,$4 as At,iit as B,$Ye as Ba,Pr as Bc,e$e as Bi,K3e as Bn,Kq as Bo,V1 as Br,Al as Bs,S4 as Bt,E9 as C,GXe as Ca,ii as Cc,d$ as Ci,w8e as Cn,HJe as Co,c0 as Cr,QGe as Cs,W5e as Ct,b9 as D,$Y as Da,Ur as Dc,G1e as Di,N2 as Dn,Jqe as Do,P4e as Dr,oK as Ds,c3 as Dt,Sit as E,rX as Ea,Wr as Ec,$1e as Ei,E8e as En,QJ as Eo,j4e as Er,lK as Es,l3 as Et,uit as F,gXe as Fa,qr as Fc,AQ as Fi,d8e as Fn,tJ as Fo,h0 as Fr,Rl as Fs,d5e as Ft,Qrt as G,RY as Ga,Or as Gc,XQe as Gi,e6e as Gn,Fqe as Go,n4e as Gr,Tce as Gs,Z8e as Gt,nit as H,UYe as Ha,Mr as Hc,JQe as Hi,d6e as Hn,Rq as Ho,u4e as Hr,Ol as Hs,e4 as Ht,lit as I,DXe as Ia,ei as Ic,y$e as Ii,v2 as In,$q as Io,H4e as Ir,Ml as Is,u5e as It,Jrt as J,MY as Ja,Tr as Jc,kZ as Ji,X3e as Jn,Tq as Jo,Q2e as Jr,Dl as Js,Y2 as Jt,Zrt as K,LY as Ka,Dr as Kc,oQ as Ki,Y3e as Kn,Bq as Ko,I1 as Kr,El as Ks,Z2 as Kt,cit as L,lXe as La,Qr as Lc,x$e as Li,_2 as Ln,qqe as Lo,_4e as Lr,Pl as Ls,w4 as Lt,hit as M,qY as Ma,Gr as Mc,S1e as Mi,m8e as Mn,Zq as Mo,B4e as Mr,Ll as Ms,A4 as Mt,fit as N,VXe as Na,Kr as Nc,p1e as Ni,h8e as Nn,Qq as No,V4e as Nr,Mce as Ns,D4 as Nt,y9 as O,QY as Oa,ure as Oc,q1e as Oi,D8e as On,eJ as Oo,z4e as Or,sK as Os,t3 as Ot,dit as P,yXe as Pa,Vr as Pc,q$e as Pi,c8e as Pn,Jq as Po,L4e as Pr,zl as Ps,f5e as Pt,Hrt as Q,DY as Qa,Cr as Qc,OZ as Qi,r6e as Qn,yqe as Qo,X2e as Qr,qo as Qs,I8e as Qt,sit as R,WY as Ra,Ir as Rc,_$e as Ri,y2 as Rn,zqe as Ro,v4e as Rr,Nl as Rs,T4 as Rt,T9 as S,sX as Sa,si as Sc,f$ as Si,T8e as Sn,XJ as So,v0 as Sr,tKe as Ss,d3 as St,xit as T,iX as Ta,are as Tc,W1e as Ti,k8e as Tn,IJe as To,o0 as Tr,_K as Ts,U5e as Tt,g9 as U,GYe as Ua,jr as Uc,YQe as Ui,$3e as Un,Lq as Uo,z1 as Ur,Ece as Us,$2 as Ut,rit as V,VYe as Va,tre as Vc,lQ as Vi,u6e as Vn,Vq as Vo,d4e as Vr,kl as Vs,s5e as Vt,$rt as W,KYe as Wa,kr as Wc,ZQe as Wi,W6e as Wn,Uq as Wo,c4e as Wr,Dce as Ws,Q2 as Wt,qrt as X,EY as Xa,Zne as Xc,EZ as Xi,U6e as Xn,kqe as Xo,$2e as Xr,wl as Xs,K2 as Xt,p9 as Y,xY as Ya,qne as Yc,wQe as Yi,Q3e as Yn,Cqe as Yo,Z2e as Yr,wce as Ys,J2 as Yt,Krt as Z,AYe as Za,Yne as Zc,OQe as Zi,F6e as Zn,wqe as Zo,e4e as Zr,Tl as Zs,G2 as Zt,k9 as _,dX as _a,mi as _c,B0e as _i,L2 as _n,GJ as _o,M0 as _r,ZK as _s,U7e as _t,Zit as a,lZ as aa,ji as ac,j1 as ai,Wne as al,q8e as an,dY as ao,H6e as ar,nqe as as,Crt as at,Eit as b,JXe as ba,yre as bc,v$ as bi,L8e as bn,YJ as bo,Z4e as br,$Ge as bs,D7e as bt,Git as c,EZe as ca,ki as cc,G2e as ci,B2 as cn,dYe as co,l6e as cr,uqe as cs,_rt as ct,Vit as d,sZ as da,Ei as dc,Y2e as di,A8e as dn,oY as do,V3e as dr,dqe as ds,V7 as dt,xZ as ea,Bo as ec,K2e as ei,Bne as el,V8e as en,mY as eo,t6e as er,_qe as es,Urt as et,Bit as f,KZe as fa,Ti as fc,k1 as fi,F2 as fn,aY as fo,B3e as fr,lq as fs,B7 as ft,j9 as g,bX as ga,bi as gc,E$ as gi,M8e as gn,VJe as go,w3e as gr,eq as gs,R7 as gt,M9 as h,xX as ha,Cre as hc,D$ as hi,F8e as hn,WJ as ho,k3e as hr,cqe as hs,drt as ht,Z9 as i,uZ as ia,Dre as ic,V2e as ii,zne as il,G8e as in,fYe as io,P6e as ir,gq as is,wrt as it,yit as j,tX as ja,Rr as jc,y1e as ji,p8e as jn,Yq as jo,R4e as jr,$ce as js,Z4 as jt,git as k,UXe as ka,sre as kc,t$ as ki,f8e as kn,Xq as ko,I4e as kr,Qce as ks,Q4 as kt,Kit as l,TZe as la,Oi as lc,R2e as li,U8e as ln,EYe as lo,J0 as lr,PKe as ls,hrt as lt,Lit as m,uZe as ma,Si as mc,A$ as mi,P8e as mn,BJe as mo,B0 as mr,bq as ms,z7 as mt,tat as n,mZ as na,Wo as nc,q2e as ni,_r as nl,z2 as nn,vYe as no,r2 as nr,Eq as ns,f9 as nt,Qit as o,MX as oa,Ai as oc,A1 as oi,vr as ol,J8e as on,uY as oo,Y0 as or,rqe as os,W7 as ot,V9 as p,gZe as pa,Ci as pc,t2e as pi,Y8e as pn,sY as po,z3e as pr,$Ke as ps,prt as pt,Yrt as q,PY as qa,Er as qc,cQ as qi,V6e as qn,Pq as qo,t4e as qr,Cce as qs,X8e as qt,$it as r,dZ as ra,Ro as rc,J2e as ri,Jne as rl,W8e as rn,xYe as ro,n6e as rr,pqe as rs,d9 as rt,Wit as s,YZe as sa,Di as sc,H2e as si,K8e as sn,wYe as so,a2 as sr,sqe as ss,brt as st,eat as t,gZ as ta,Uo as tc,z2e as ti,Hne as tl,j8e as tn,gY as to,J3e as tr,Eqe as ts,Grt as tt,Uit as u,qZe as ua,wi as uc,g2e as ui,H2 as un,TYe as uo,q0 as ur,fqe as us,mrt as ut,w9 as v,uX as va,bre as vc,L0e as vi,R2 as vn,ZJ as vo,N0 as vr,XK as vs,I7e as vt,Dit as w,aX as wa,ri as wc,u$ as wi,O8e as wn,LJe as wo,l0 as wr,yK as ws,u3 as wt,Cit as x,WXe as xa,ci as xc,T0e as xi,N8e as xn,zJe as xo,J4e as xr,eKe as xs,C3 as xt,C9 as y,fX as ya,vre as yc,h$ as yi,I2 as yn,RJe as yo,_0 as yr,yKe as ys,E7e as yt,oit as z,HY as za,Fr as zc,hQ as zi,x2 as zn,Bqe as zo,f4e as zr,Il as zs,C4 as zt};
|
|
2532
|
-
//# sourceMappingURL=DiffPanelShell-
|
|
2531
|
+
}`}function iit(e,t){let n=_9(t);return e.replace(tit,n)}function ait(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function oit({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 sit(e,t){if(t==null)return;let n=e.shadowRoot??e.attachShadow({mode:`open`});n.innerHTML===``&&(n.innerHTML=t)}function cit(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 lit(e){if(typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement)return!0;let t=e.tagName??e.nodeName;return typeof t==`string`&&t.toLowerCase()===`style`}function uit(e){return e?.useTokenTransformer===!0||e?.onTokenClick!=null||e?.onTokenEnter!=null||e?.onTokenLeave!=null}function dit(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 fit({shadowRoot:e,currentNode:t,themeCSS:n}){if(n.trim()===``){t?.remove();return}return t??=pit(),t.textContent=n,t.parentNode!==e&&e.appendChild(t),t}function pit(){let e=document.createElement(`style`);return e.setAttribute(R8e,``),e}var mit=void 0;function hit(){return mit??=`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(eit)),t.adoptedStyleSheets=[e]}connectedCallback(){g9(this.shadowRoot??this.attachShadow({mode:`open`}))}}customElements.define(F2,t)}function git(e){return{...H2,...e}}function _it(e,t){let n=vit(e,t);return t?n:e.diffHeaderHeight+n}function vit(e,t){return e.paddingTop??(t?e.spacing:0)}function yit(e){return e.paddingBottom??e.spacing}function bit(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 xit(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 Sit({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 Cit({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??bit(e)}function O9({type:e,metrics:t}){return e===`simple`||e===`metadata`||e===`line-info-basic`?0:t.spacing}function wit({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 Tit(e){return e!==`simple`&&e!==`metadata`}function Eit({type:e,metrics:t,hunkIndex:n,hunkSpecs:r}){if(!wit({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 Dit({type:e,metrics:t}){if(!Tit(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=Oit({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=jit(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(Mit({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 Oit({diff:e,diffStyle:t,startingLine:n,expandedHunks:r,collapsedContextThreshold:i}){if(n<=0||t===`both`)return{hunkIndex:0,splitCount:0,unifiedCount:0};let a=kit({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 kit({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 Ait(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]=Ait(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 jit(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 Mit({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 Nit={forcePlainText:!1};function j9(e,t,n,{forcePlainText:r,startingLine:i,totalLines:a,expandedHunks:o,collapsedContextThreshold:s=1}=Nit){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)??Fit();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&&Pit({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}=Iit({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 Pit({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`?$8e(e,t):r5e(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 Fit(){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 Iit({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 Lit(e){return e===`dark`?R9.dark:R9.light}var z9=2166136261,B9=16777619,Rit=2654435769,zit=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 Bit(e,t=`diff-panel`){let n=e.trim(),r=V9(n,z9,B9).toString(36),i=V9(n,Rit,zit).toString(36);return`${t}:${n.length}:${r}:${i}`}function Vit(e){let t=(0,F.useRef)(e);return(0,F.useInsertionEffect)(()=>void(t.current=e)),(0,F.useCallback)((...e)=>t.current(...e),[])}var Hit=(0,F.createContext)(void 0);function Uit(){return(0,F.useContext)(Hit)}var Wit={position:`absolute`,top:0,bottom:0,textAlign:`center`,whiteSpace:`normal`,touchAction:`none`},Git={display:`contents`};function Kit(){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`)}},qit=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){Jit(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 Jit(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 Yit({poolOptions:e,highlighterOptions:t}){return X9??=new qit(e,t),X9}function Xit(){X9!=null&&(X9.terminate(),X9=void 0)}var Z9=(0,F.createContext)(void 0),Q9=0;function Zit({children:e,poolOptions:t,highlighterOptions:n}){let[r]=(0,F.useState)(()=>{if(!(typeof window>`u`))return Yit({poolOptions:t,highlighterOptions:n})});return(0,F.useInsertionEffect)(()=>{if(r!=null)return Q9++,()=>{Q9--}},[r]),(0,F.useEffect)(()=>()=>{Q9===0&&Xit()},[]),(0,Nr.jsx)(Z9.Provider,{value:r,children:e})}function Qit(){return(0,F.useContext)(Z9)}function $9(e){return Jt(`flex items-center justify-between gap-2 px-4 wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+1em)]`,Pr&&e!==`sheet`?`h-[52px] border-b border-border wco:h-[env(titlebar-area-height)]`:`h-12 wco:max-h-[env(titlebar-area-height)]`)}function $it(e){let t=(0,xl.c)(10),n=Pr&&e.mode!==`sheet`,r=e.mode===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`,i;t[0]===r?i=t[1]:(i=Jt(`flex h-full min-w-0 flex-col bg-background`,r),t[0]=r,t[1]=i);let a;t[2]!==e.header||t[3]!==e.mode||t[4]!==n?(a=n?(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header}):(0,Nr.jsx)(`div`,{className:`border-b border-border`,children:(0,Nr.jsx)(`div`,{className:$9(e.mode),children:e.header})}),t[2]=e.header,t[3]=e.mode,t[4]=n,t[5]=a):a=t[5];let o;return t[6]!==e.children||t[7]!==i||t[8]!==a?(o=(0,Nr.jsxs)(`div`,{className:i,children:[a,e.children]}),t[6]=e.children,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function eat(){let e=(0,xl.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 tat(e){let t=(0,xl.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{Wrt as $,DY as $a,Cr as $c,TZ as $i,Q0 as $n,yqe as $o,W2e as $r,Ko as $s,H8e as $t,_it as A,UXe as Aa,sre as Ac,n$ as Ai,g8e as An,Xq as Ao,U4e as Ar,Qce as As,$4 as At,iit as B,HY as Ba,Fr as Bc,e$e as Bi,K3e as Bn,Bqe as Bo,V1 as Br,Il as Bs,S4 as Bt,E9 as C,sX as Ca,si as Cc,d$ as Ci,w8e as Cn,XJ as Co,c0 as Cr,tKe as Cs,W5e as Ct,b9 as D,rX as Da,Wr as Dc,G1e as Di,N2 as Dn,QJ as Do,P4e as Dr,lK as Ds,c3 as Dt,Sit as E,iX as Ea,are as Ec,$1e as Ei,E8e as En,IJe as Eo,j4e as Er,_K as Es,l3 as Et,uit as F,yXe as Fa,Vr as Fc,AQ as Fi,d8e as Fn,Jq as Fo,h0 as Fr,zl as Fs,d5e as Ft,Qrt as G,KYe as Ga,kr as Gc,XQe as Gi,e6e as Gn,Uq as Go,n4e as Gr,Dce as Gs,Z8e as Gt,nit as H,VYe as Ha,tre as Hc,JQe as Hi,d6e as Hn,Vq as Ho,u4e as Hr,kl as Hs,e4 as Ht,lit as I,gXe as Ia,qr as Ic,y$e as Ii,v2 as In,tJ as Io,H4e as Ir,Rl as Is,u5e as It,Jrt as J,PY as Ja,Er as Jc,kZ as Ji,X3e as Jn,Pq as Jo,Q2e as Jr,El as Js,Y2 as Jt,Zrt as K,RY as Ka,Or as Kc,oQ as Ki,Y3e as Kn,Fqe as Ko,I1 as Kr,Tce as Ks,Z2 as Kt,cit as L,DXe as La,ei as Lc,x$e as Li,_2 as Ln,$q as Lo,_4e as Lr,Ml as Ls,w4 as Lt,hit as M,tX as Ma,Rr as Mc,S1e as Mi,m8e as Mn,Yq as Mo,B4e as Mr,$ce as Ms,A4 as Mt,fit as N,qY as Na,Gr as Nc,p1e as Ni,h8e as Nn,Zq as No,V4e as Nr,Ll as Ns,D4 as Nt,y9 as O,$Y as Oa,Ur as Oc,q1e as Oi,D8e as On,Jqe as Oo,z4e as Or,oK as Os,t3 as Ot,dit as P,VXe as Pa,Kr as Pc,q$e as Pi,c8e as Pn,Qq as Po,L4e as Pr,Mce as Ps,f5e as Pt,Hrt as Q,AYe as Qa,Yne as Qc,OZ as Qi,r6e as Qn,wqe as Qo,X2e as Qr,wl as Qs,I8e as Qt,sit as R,lXe as Ra,Qr as Rc,_$e as Ri,y2 as Rn,qqe as Ro,v4e as Rr,Pl as Rs,T4 as Rt,T9 as S,WXe as Sa,ci as Sc,f$ as Si,T8e as Sn,zJe as So,v0 as Sr,eKe as Ss,d3 as St,xit as T,aX as Ta,ri as Tc,W1e as Ti,k8e as Tn,LJe as To,o0 as Tr,yK as Ts,U5e as Tt,g9 as U,UYe as Ua,Mr as Uc,YQe as Ui,$3e as Un,Rq as Uo,z1 as Ur,Ol as Us,$2 as Ut,rit as V,$Ye as Va,Pr as Vc,lQ as Vi,u6e as Vn,Kq as Vo,d4e as Vr,Al as Vs,s5e as Vt,$rt as W,GYe as Wa,jr as Wc,ZQe as Wi,W6e as Wn,Lq as Wo,c4e as Wr,Ece as Ws,Q2 as Wt,qrt as X,xY as Xa,qne as Xc,EZ as Xi,U6e as Xn,Cqe as Xo,$2e as Xr,wce as Xs,K2 as Xt,p9 as Y,MY as Ya,Tr as Yc,wQe as Yi,Q3e as Yn,Tq as Yo,Z2e as Yr,Dl as Ys,J2 as Yt,Krt as Z,EY as Za,Zne as Zc,OQe as Zi,F6e as Zn,kqe as Zo,e4e as Zr,Cl as Zs,G2 as Zt,k9 as _,bX as _a,bi as _c,B0e as _i,L2 as _n,VJe as _o,M0 as _r,eq as _s,U7e as _t,Zit as a,uZ as aa,Dre as ac,j1 as ai,zne as al,q8e as an,fYe as ao,H6e as ar,gq as as,Crt as at,Eit as b,fX as ba,vre as bc,v$ as bi,L8e as bn,RJe as bo,Z4e as br,yKe as bs,D7e as bt,Git as c,YZe as ca,Di as cc,G2e as ci,B2 as cn,wYe as co,l6e as cr,sqe as cs,_rt as ct,Vit as d,qZe as da,wi as dc,Y2e as di,A8e as dn,TYe as do,V3e as dr,fqe as ds,V7 as dt,xZ as ea,Ro as ec,K2e as ei,Xne as el,V8e as en,bY as eo,t6e as er,xqe as es,Urt as et,Bit as f,sZ as fa,Ei as fc,k1 as fi,F2 as fn,oY as fo,B3e as fr,dqe as fs,B7 as ft,j9 as g,xX as ga,Cre as gc,E$ as gi,M8e as gn,WJ as go,w3e as gr,cqe as gs,R7 as gt,M9 as h,uZe as ha,Si as hc,D$ as hi,F8e as hn,BJe as ho,k3e as hr,bq as hs,drt as ht,Z9 as i,dZ as ia,Lo as ic,V2e as ii,Jne as il,G8e as in,xYe as io,P6e as ir,pqe as is,wrt as it,yit as j,nX as ja,ore as jc,y1e as ji,p8e as jn,qq as jo,R4e as jr,Zce as js,Z4 as jt,git as k,QY as ka,ure as kc,t$ as ki,f8e as kn,eJ as ko,I4e as kr,sK as ks,Q4 as kt,Kit as l,EZe as la,ki as lc,R2e as li,U8e as ln,dYe as lo,J0 as lr,uqe as ls,hrt as lt,Lit as m,gZe as ma,Ci as mc,A$ as mi,P8e as mn,sY as mo,B0 as mr,$Ke as ms,z7 as mt,tat as n,gZ as na,Ho as nc,q2e as ni,Hne as nl,z2 as nn,gY as no,r2 as nr,Eqe as ns,f9 as nt,Qit as o,lZ as oa,ji as oc,A1 as oi,Wne as ol,J8e as on,dY as oo,Y0 as or,nqe as os,W7 as ot,V9 as p,KZe as pa,Ti as pc,t2e as pi,Y8e as pn,aY as po,z3e as pr,lq as ps,prt as pt,Yrt as q,LY as qa,Dr as qc,cQ as qi,V6e as qn,Bq as qo,t4e as qr,Tl as qs,X8e as qt,$it as r,mZ as ra,Uo as rc,J2e as ri,_r as rl,W8e as rn,vYe as ro,n6e as rr,Eq as rs,d9 as rt,Wit as s,MX as sa,Ai as sc,H2e as si,vr as sl,K8e as sn,uY as so,a2 as sr,rqe as ss,brt as st,eat as t,yZ as ta,zo as tc,z2e as ti,Bne as tl,j8e as tn,mY as to,J3e as tr,_qe as ts,Grt as tt,Uit as u,TZe as ua,Oi as uc,g2e as ui,H2 as un,EYe as uo,q0 as ur,PKe as us,mrt as ut,w9 as v,dX as va,mi as vc,L0e as vi,R2 as vn,GJ as vo,N0 as vr,ZK as vs,I7e as vt,Dit as w,GXe as wa,ii as wc,u$ as wi,O8e as wn,HJe as wo,l0 as wr,QGe as ws,u3 as wt,Cit as x,JXe as xa,yre as xc,T0e as xi,N8e as xn,YJ as xo,J4e as xr,$Ge as xs,C3 as xt,C9 as y,uX as ya,bre as yc,h$ as yi,I2 as yn,ZJ as yo,_0 as yr,XK as ys,E7e as yt,oit as z,WY as za,Ir as zc,hQ as zi,x2 as zn,zqe as zo,f4e as zr,Nl as zs,C4 as zt};
|
|
2532
|
+
//# sourceMappingURL=DiffPanelShell-DnugngHM.js.map
|