@neuralnomads/codenomad-dev 0.12.2-dev-20260312-d9068ac8 → 0.12.3-dev-20260314-7c3f808d

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.
@@ -19,7 +19,7 @@ ${a}
19
19
 
20
20
  `);I=k.pop()??"";for(const L of k){const M=L.split(`
21
21
  `),G=[];let R;for(const D of M)if(D.startsWith("data:"))G.push(D.replace(/^data:\s*/,""));else if(D.startsWith("event:"))R=D.replace(/^event:\s*/,"");else if(D.startsWith("id:"))u=D.replace(/^id:\s*/,"");else if(D.startsWith("retry:")){const $=Number.parseInt(D.replace(/^retry:\s*/,""),10);Number.isNaN($)||(_=$)}let x,N=!1;if(G.length){const D=G.join(`
22
- `);try{x=JSON.parse(D),N=!0}catch{x=D}}N&&(i&&await i(x),r&&(x=await r(x))),n==null||n({data:x,event:R,id:u,retry:_}),G.length&&(yield x)}}}finally{S.removeEventListener("abort",O),w.releaseLock()}break}catch(b){if(t==null||t(b),o!==void 0&&p>=o)break;const T=Math.min(_*2**(p-1),a??3e4);await f(T)}}}()}},aG=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},lG=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},cG=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},IO=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){const a=(e?i:i.map(l=>encodeURIComponent(l))).join(lG(r));switch(r){case"label":return`.${a}`;case"matrix":return`;${n}=${a}`;case"simple":return a;default:return`${n}=${a}`}}const s=aG(r),o=i.map(a=>r==="label"||r==="simple"?e?a:encodeURIComponent(a):em({allowReserved:e,name:n,value:a})).join(s);return r==="label"||r==="matrix"?s+o:o},em=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},wO=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:s})=>{if(i instanceof Date)return s?i.toISOString():`${n}=${i.toISOString()}`;if(r!=="deepObject"&&!t){let l=[];Object.entries(i).forEach(([d,u])=>{l=[...l,d,e?u:encodeURIComponent(u)]});const c=l.join(",");switch(r){case"form":return`${n}=${c}`;case"label":return`.${c}`;case"matrix":return`;${n}=${c}`;default:return c}}const o=cG(r),a=Object.entries(i).map(([l,c])=>em({allowReserved:e,name:r==="deepObject"?`${n}[${l}]`:l,value:c})).join(o);return r==="label"||r==="matrix"?o+a:a},dG=/\{[^{}]+\}/g,uG=({path:e,url:t})=>{let n=t;const r=t.match(dG);if(r)for(const i of r){let s=!1,o=i.substring(1,i.length-1),a="simple";o.endsWith("*")&&(s=!0,o=o.substring(0,o.length-1)),o.startsWith(".")?(o=o.substring(1),a="label"):o.startsWith(";")&&(o=o.substring(1),a="matrix");const l=e[o];if(l==null)continue;if(Array.isArray(l)){n=n.replace(i,IO({explode:s,name:o,style:a,value:l}));continue}if(typeof l=="object"){n=n.replace(i,wO({explode:s,name:o,style:a,value:l,valueOnly:!0}));continue}if(a==="matrix"){n=n.replace(i,`;${em({name:o,value:l})}`);continue}const c=encodeURIComponent(a==="label"?`.${l}`:l);n=n.replace(i,c)}return n},fG=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{const s=i.startsWith("/")?i:`/${i}`;let o=(e??"")+s;t&&(o=uG({path:t,url:o}));let a=n?r(n):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(o+=`?${a}`),o};function Sy(e){const t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}const gG=async(e,t)=>{const n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n},mG={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)},RO=({parameters:e={},...t}={})=>r=>{const i=[];if(r&&typeof r=="object")for(const s in r){const o=r[s];if(o==null)continue;const a=e[s]||t;if(Array.isArray(o)){const l=IO({allowReserved:a.allowReserved,explode:!0,name:s,style:"form",value:o,...a.array});l&&i.push(l)}else if(typeof o=="object"){const l=wO({allowReserved:a.allowReserved,explode:!0,name:s,style:"deepObject",value:o,...a.object});l&&i.push(l)}else{const l=em({allowReserved:a.allowReserved,name:s,value:o});l&&i.push(l)}}return i.join("&")},_G=e=>{var n;if(!e)return"stream";const t=(n=e.split(";")[0])==null?void 0:n.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(r=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text"}},pG=(e,t)=>{var n,r;return t?!!(e.headers.has(t)||(n=e.query)!=null&&n[t]||(r=e.headers.get("Cookie"))!=null&&r.includes(`${t}=`)):!1},hG=async({security:e,...t})=>{for(const n of e){if(pG(t,n.name))continue;const r=await gG(n,t.auth);if(!r)continue;const i=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[i]=r;break;case"cookie":t.headers.append("Cookie",`${i}=${r}`);break;case"header":default:t.headers.set(i,r);break}}},Ey=e=>fG({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:RO(e.querySerializer),url:e.url}),by=(e,t)=>{var r;const n={...e,...t};return(r=n.baseUrl)!=null&&r.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=OO(e.headers,t.headers),n},SG=e=>{const t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},OO=(...e)=>{const t=new Headers;for(const n of e){if(!n)continue;const r=n instanceof Headers?SG(n):Object.entries(n);for(const[i,s]of r)if(s===null)t.delete(i);else if(Array.isArray(s))for(const o of s)t.append(i,o);else s!==void 0&&t.set(i,typeof s=="object"?JSON.stringify(s):s)}return t};class u_{constructor(){ye(this,"fns",[])}clear(){this.fns=[]}eject(t){const n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){const n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){const r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}}const EG=()=>({error:new u_,request:new u_,response:new u_}),bG=RO({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),vG={"Content-Type":"application/json"},AO=(e={})=>({...mG,headers:vG,parseAs:"auto",querySerializer:bG,...e}),NO=(e={})=>{let t=by(AO(),e);const n=()=>({...t}),r=c=>(t=by(t,c),n()),i=EG(),s=async c=>{const d={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:OO(t.headers,c.headers),serializedBody:void 0};d.security&&await hG({...d,security:d.security}),d.requestValidator&&await d.requestValidator(d),d.body!==void 0&&d.bodySerializer&&(d.serializedBody=d.bodySerializer(d.body)),(d.body===void 0||d.serializedBody==="")&&d.headers.delete("Content-Type");const u=Ey(d);return{opts:d,url:u}},o=async c=>{const{opts:d,url:u}=await s(c),f={redirect:"follow",...d,body:Sy(d)};let g=new Request(u,f);for(const v of i.request.fns)v&&(g=await v(g,d));const m=d.fetch;let _;try{_=await m(g)}catch(v){let C=v;for(const w of i.error.fns)w&&(C=await w(v,void 0,g,d));if(C=C||{},d.throwOnError)throw C;return d.responseStyle==="data"?void 0:{error:C,request:g,response:void 0}}for(const v of i.response.fns)v&&(_=await v(_,g,d));const p={request:g,response:_};if(_.ok){const v=(d.parseAs==="auto"?_G(_.headers.get("Content-Type")):d.parseAs)??"json";if(_.status===204||_.headers.get("Content-Length")==="0"){let w;switch(v){case"arrayBuffer":case"blob":case"text":w=await _[v]();break;case"formData":w=new FormData;break;case"stream":w=_.body;break;case"json":default:w={};break}return d.responseStyle==="data"?w:{data:w,...p}}let C;switch(v){case"arrayBuffer":case"blob":case"formData":case"text":C=await _[v]();break;case"json":{const w=await _.text();C=w?JSON.parse(w):{};break}case"stream":return d.responseStyle==="data"?_.body:{data:_.body,...p}}return v==="json"&&(d.responseValidator&&await d.responseValidator(C),d.responseTransformer&&(C=await d.responseTransformer(C))),d.responseStyle==="data"?C:{data:C,...p}}const S=await _.text();let h;try{h=JSON.parse(S)}catch{}const b=h??S;let T=b;for(const v of i.error.fns)v&&(T=await v(b,_,g,d));if(T=T||{},d.throwOnError)throw T;return d.responseStyle==="data"?void 0:{error:T,...p}},a=c=>d=>o({...d,method:c}),l=c=>async d=>{const{opts:u,url:f}=await s(d);return oG({...u,body:u.body,headers:u.headers,method:c,onRequest:async(g,m)=>{let _=new Request(g,m);for(const p of i.request.fns)p&&(_=await p(_,u));return _},serializedBody:Sy(u),url:f})};return{buildUrl:Ey,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:n,head:a("HEAD"),interceptors:i,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:o,setConfig:r,sse:{connect:l("CONNECT"),delete:l("DELETE"),get:l("GET"),head:l("HEAD"),options:l("OPTIONS"),patch:l("PATCH"),post:l("POST"),put:l("PUT"),trace:l("TRACE")},trace:a("TRACE")}},yG={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},TG=Object.entries(yG),xO=(e,t)=>{t||(t=new Map);for(const n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&xO(n.args,t);return t},CG=e=>{for(const[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},qe=(e,t)=>{const n={body:{},headers:{},path:{},query:{}},r=xO(t);let i;for(const[s,o]of e.entries())if(t[s]&&(i=t[s]),!!i)if("in"in i)if(i.key){const a=r.get(i.key),l=a.map||i.key;a.in&&(n[a.in][l]=o)}else n.body=o;else for(const[a,l]of Object.entries(o??{})){const c=r.get(a);if(c)if(c.in){const d=c.map||a;n[c.in][d]=l}else n[c.map]=l;else{const d=TG.find(([u])=>a.startsWith(u));if(d){const[u,f]=d;n[f][a.slice(u.length)]=l}else if("allowExtra"in i&&i.allowExtra){for(const[u,f]of Object.entries(i.allowExtra))if(f){n[u][a]=l;break}}}}return CG(n),n},IG=NO(AO({baseUrl:"http://localhost:4096"}));class jt{constructor(t){ye(this,"client");this.client=(t==null?void 0:t.client)??IG}}class wG{constructor(){ye(this,"defaultKey","default");ye(this,"instances",new Map)}get(t){const n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}}class RG extends jt{get(t){return((t==null?void 0:t.client)??this.client).get({url:"/global/config",...t})}update(t,n){const r=qe([t],[{args:[{key:"config",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class OG extends jt{constructor(){super(...arguments);ye(this,"_config")}health(n){return((n==null?void 0:n.client)??this.client).get({url:"/global/health",...n})}event(n){return((n==null?void 0:n.client)??this.client).sse.get({url:"/global/event",...n})}dispose(n){return((n==null?void 0:n.client)??this.client).post({url:"/global/dispose",...n})}get config(){return this._config??(this._config=new RG({client:this.client}))}}class AG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class NG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/project",...n,...r})}current(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/project/current",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class xG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}remove(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return((n==null?void 0:n.client)??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}connect(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}}class DG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/config",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"config",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}providers(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/config/providers",...n,...r})}}class kG extends jt{ids(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/tool/ids",...n,...r})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/tool",...n,...r})}}class LG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeRemoveInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeCreateInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reset(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeResetInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class MG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/resource",...n,...r})}}class PG extends jt{constructor(){super(...arguments);ye(this,"_resource")}get resource(){return this._resource??(this._resource=new MG({client:this.client}))}}class $G extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/status",...n,...r})}delete(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}children(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}init(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}fork(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}abort(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}unshare(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/share",...n,...r})}diff(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}summarize(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}messages(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}message(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}promptAsync(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}command(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}shell(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}revert(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}unrevert(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}}class FG extends jt{delete(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{key:"part",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class BG extends jt{respond(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"body",key:"response"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reply(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/permission",...n,...r})}}class UG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/question",...n,...r})}reply(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"answers"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reject(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/question/{requestID}/reject",...n,...r})}}class GG extends jt{authorize(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}callback(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class VG extends jt{constructor(){super(...arguments);ye(this,"_oauth")}list(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/provider",...r,...i})}auth(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/provider/auth",...r,...i})}get oauth(){return this._oauth??(this._oauth=new GG({client:this.client}))}}class HG extends jt{text(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"pattern"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find",...n,...r})}files(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find/symbol",...n,...r})}}let YG=class extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file",...n,...r})}read(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file/content",...n,...r})}status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file/status",...n,...r})}};class zG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"body",key:"code"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}authenticate(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}}class WG extends jt{constructor(){super(...arguments);ye(this,"_auth")}status(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/mcp",...r,...i})}add(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}connect(n,r){const i=qe([n],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp/{name}/connect",...r,...i})}disconnect(n,r){const i=qe([n],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp/{name}/disconnect",...r,...i})}get auth(){return this._auth??(this._auth=new zG({client:this.client}))}}class qG extends jt{next(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class KG extends jt{constructor(){super(...arguments);ye(this,"_control")}appendPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/append-prompt",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}openHelp(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-help",...r,...i})}openSessions(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-sessions",...r,...i})}openThemes(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-themes",...r,...i})}openModels(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-models",...r,...i})}submitPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/submit-prompt",...r,...i})}clearPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/clear-prompt",...r,...i})}executeCommand(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/execute-command",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}showToast(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/show-toast",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}publish(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/publish",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}selectSession(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/select-session",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}get control(){return this._control??(this._control=new qG({client:this.client}))}}class QG extends jt{dispose(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/instance/dispose",...n,...r})}}class jG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/path",...n,...r})}}class XG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/vcs",...n,...r})}}class ZG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/command",...n,...r})}}let JG=class extends jt{log(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}agents(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/agent",...n,...r})}skills(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/skill",...n,...r})}};class eV extends jt{status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/lsp",...n,...r})}}class tV extends jt{status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/formatter",...n,...r})}}let nV=class extends jt{subscribe(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).sse.get({url:"/event",...n,...r})}};const Pg=class Pg extends jt{constructor(n){super(n);ye(this,"_global");ye(this,"_auth");ye(this,"_project");ye(this,"_pty");ye(this,"_config");ye(this,"_tool");ye(this,"_worktree");ye(this,"_experimental");ye(this,"_session");ye(this,"_part");ye(this,"_permission");ye(this,"_question");ye(this,"_provider");ye(this,"_find");ye(this,"_file");ye(this,"_mcp");ye(this,"_tui");ye(this,"_instance");ye(this,"_path");ye(this,"_vcs");ye(this,"_command");ye(this,"_app");ye(this,"_lsp");ye(this,"_formatter");ye(this,"_event");Pg.__registry.set(this,n==null?void 0:n.key)}get global(){return this._global??(this._global=new OG({client:this.client}))}get auth(){return this._auth??(this._auth=new AG({client:this.client}))}get project(){return this._project??(this._project=new NG({client:this.client}))}get pty(){return this._pty??(this._pty=new xG({client:this.client}))}get config(){return this._config??(this._config=new DG({client:this.client}))}get tool(){return this._tool??(this._tool=new kG({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new LG({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new PG({client:this.client}))}get session(){return this._session??(this._session=new $G({client:this.client}))}get part(){return this._part??(this._part=new FG({client:this.client}))}get permission(){return this._permission??(this._permission=new BG({client:this.client}))}get question(){return this._question??(this._question=new UG({client:this.client}))}get provider(){return this._provider??(this._provider=new VG({client:this.client}))}get find(){return this._find??(this._find=new HG({client:this.client}))}get file(){return this._file??(this._file=new YG({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new WG({client:this.client}))}get tui(){return this._tui??(this._tui=new KG({client:this.client}))}get instance(){return this._instance??(this._instance=new QG({client:this.client}))}get path(){return this._path??(this._path=new jG({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new XG({client:this.client}))}get command(){return this._command??(this._command=new ZG({client:this.client}))}get app(){return this._app??(this._app=new JG({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new eV({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new tV({client:this.client}))}get event(){return this._event??(this._event=new nV({client:this.client}))}};ye(Pg,"__registry",new wG);let qp=Pg;function rV(e){if(e!=null&&e.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e!=null&&e.directory){const r=/[^\x00-\x7F]/.test(e.directory)?encodeURIComponent(e.directory):e.directory;e.headers={...e.headers,"x-opencode-directory":r}}const t=NO(e);return new qp({client:t})}class iV{constructor(){this.clients=new Map}key(t,n){return`${t}:${kO(n)}`}createClient(t,n,r="root"){const i=this.key(t,n),s=this.clients.get(i);if(s)return s;const o=DO(n),a=rV({baseUrl:o});return this.clients.set(i,a),a}getClient(t,n){return this.clients.get(this.key(t,n))??null}destroyClient(t,n){this.clients.delete(this.key(t,n))}destroyClientsForInstance(t){for(const n of Array.from(this.clients.keys()))(n===t||n.startsWith(`${t}:`))&&this.clients.delete(n)}destroyAll(){this.clients.clear()}}function DO(e){const t=kO(e);return`${sV(GL)}${t}/`}function kO(e){return(e.startsWith("/")?e:`/${e}`).replace(/\/+/g,"/").replace(/\/+$/,"")}function sV(e){return e.replace(/\/+$/,"")}const qf=new iV,f_=xt("sse"),[vy,oV]=z(new Map);class aV{constructor(){Op.on("instance.eventStatus",t=>{var r;const n=t;if(this.updateConnectionStatus(n.instanceId,n.status),n.status==="disconnected"){if(n.reason==="workspace stopped")return;const i=n.reason??"Instance disconnected";(r=this.onConnectionLost)==null||r.call(this,n.instanceId,i)}}),Op.on("instance.event",t=>{const n=t;this.updateConnectionStatus(n.instanceId,"connected"),this.handleEvent(n.instanceId,n.event)})}seedStatus(t,n){this.updateConnectionStatus(t,n)}handleEvent(t,n){var r,i,s,o,a,l,c,d,u,f,g,m,_,p,S,h,b,T,v,C;if(!n||typeof n!="object"||typeof n.type!="string"){f_.warn("Dropping malformed event",n);return}switch(f_.info("Received event",{type:n.type,event:n}),n.type){case"message.updated":(r=this.onMessageUpdate)==null||r.call(this,t,n);break;case"message.part.updated":(i=this.onMessagePartUpdated)==null||i.call(this,t,n);break;case"message.part.delta":(s=this.onMessagePartDelta)==null||s.call(this,t,n);break;case"message.removed":(o=this.onMessageRemoved)==null||o.call(this,t,n);break;case"message.part.removed":(a=this.onMessagePartRemoved)==null||a.call(this,t,n);break;case"session.updated":(l=this.onSessionUpdate)==null||l.call(this,t,n);break;case"session.compacted":(c=this.onSessionCompacted)==null||c.call(this,t,n);break;case"session.error":(d=this.onSessionError)==null||d.call(this,t,n);break;case"tui.toast.show":(u=this.onTuiToast)==null||u.call(this,t,n);break;case"session.idle":(f=this.onSessionIdle)==null||f.call(this,t,n);break;case"session.status":(g=this.onSessionStatus)==null||g.call(this,t,n);break;case"session.diff":(m=this.onSessionDiff)==null||m.call(this,t,n);break;case"permission.updated":case"permission.asked":(_=this.onPermissionUpdated)==null||_.call(this,t,n);break;case"permission.replied":(p=this.onPermissionReplied)==null||p.call(this,t,n);break;case"question.asked":(S=this.onQuestionAsked)==null||S.call(this,t,n);break;case"question.replied":case"question.rejected":(h=this.onQuestionAnswered)==null||h.call(this,t,n);break;case"lsp.updated":(b=this.onLspUpdated)==null||b.call(this,t,n);break;case"background.process.updated":(T=this.onBackgroundProcessUpdated)==null||T.call(this,t,n);break;case"background.process.removed":(v=this.onBackgroundProcessRemoved)==null||v.call(this,t,n);break;case"server.instance.disposed":(C=this.onInstanceDisposed)==null||C.call(this,t,n);break;default:f_.warn("Unknown SSE event type",{type:n.type})}}updateConnectionStatus(t,n){oV(r=>{const i=new Map(r);return i.set(t,n),i})}getStatus(t){return vy().get(t)??null}getStatuses(){return vy()}}const Tn=new aV,Ma=32e3;function Sl(e,t){if(!(t!=null&&t.providerId)||!t.modelId)return!1;const r=(mo().get(e)||[]).find(i=>i.id===t.providerId);return r?r.models.some(i=>i.id===t.modelId):!1}function lV(e){const t=_w().models.recents??[];for(const n of t)if(Sl(e,n))return n}async function rE(e,t){const n=mo().get(e)||[],r=mm().get(e)||[];if(t){const s=r.find(a=>a.name===t);if(s&&s.model&&Sl(e,s.model))return{providerId:s.model.providerId,modelId:s.model.modelId};const o=await VL(e,t);if(Sl(e,o))return o}const i=lV(e);if(i)return i;for(const s of n)if(s.defaultModelId){const o=s.models.find(a=>a.id===s.defaultModelId);if(o)return{providerId:s.id,modelId:o.id}}if(n.length>0){const s=n[0],o=s.models[0];if(o)return{providerId:s.id,modelId:o.id}}return{providerId:"",modelId:""}}function LO(e,t=[]){if(!e)return e;const n=new Set(t.filter(a=>a.source.type==="file").map(a=>a.source.path)),r=new Set(t.filter(a=>a.source.type==="text"&&typeof a.display=="string"&&a.display.startsWith("path:")).map(a=>a.source.value));let i=e;i=i.replace(/@(\.\/)/g,"___ROOT___"),i=i.replace(/@(\.)(?!\.)/g,"___ROOT_NOSLASH___");const s=new Set;for(const a of n)a&&a!=="."&&a!=="./"&&s.add(a);for(const a of r)a&&a!=="."&&a!=="./"&&s.add(a);for(const a of s){if(!a)continue;const l=a.startsWith("./")?a.slice(2):a,c=a.startsWith("./")?a:"./"+a;i=i.replace("@"+l,c),i=i.replace("@"+l+"/",c+"/")}if(i=i.replace("___ROOT___","./"),i=i.replace("___ROOT_NOSLASH___","./"),!i.includes("[pasted #")||!t||t.length===0)return i;const o=new Map;for(const a of t){const l=a==null?void 0:a.source;if(!l||l.type!=="text")continue;const c=a==null?void 0:a.display,d=l.value;if(typeof c!="string"||typeof d!="string")continue;const u=c.match(/pasted #(\d+)/);if(!u)continue;const f=`[pasted #${u[1]}]`;o.has(f)||o.set(f,d)}return o.size===0?i:i.replace(/\[pasted #(\d+)\]/g,a=>{const l=o.get(a);return typeof l=="string"?l:a})}const ea=xt("api"),[iE,Kp]=z(new Map),[tm,El]=z(new Map),[MO,Qp]=z(new Map),g_=new Map,m_=new Map;function Kf(e){return!e||typeof e!="object"?{version:1,defaultWorktreeSlug:"root",parentSessionWorktreeSlug:{}}:{version:1,defaultWorktreeSlug:e.defaultWorktreeSlug||"root",parentSessionWorktreeSlug:e.parentSessionWorktreeSlug??{}}}async function cV(e){if(!e||iE().has(e)&&MO().has(e))return;const t=g_.get(e);if(t)return t;const n=ln.fetchWorktrees(e).then(r=>{Kp(i=>{const s=new Map(i);return s.set(e,r.worktrees??[]),s}),Qp(i=>{const s=new Map(i);return s.set(e,typeof r.isGitRepo=="boolean"?r.isGitRepo:null),s}),tm().has(e)&&oE(e).catch(()=>{})}).catch(r=>{ea.warn("Failed to load worktrees",{instanceId:e,error:r}),Kp(i=>{const s=new Map(i);return s.set(e,[]),s}),Qp(i=>{if(i.has(e))return i;const s=new Map(i);return s.set(e,null),s})}).finally(()=>{g_.delete(e)});return g_.set(e,n),n}async function jp(e){e&&await ln.fetchWorktrees(e).then(t=>{Kp(n=>{const r=new Map(n);return r.set(e,t.worktrees??[]),r}),Qp(n=>{const r=new Map(n);return r.set(e,typeof t.isGitRepo=="boolean"?t.isGitRepo:null),r}),tm().has(e)&&oE(e).catch(()=>{})}).catch(t=>{ea.warn("Failed to reload worktrees",{instanceId:e,error:t})})}function PO(e){return MO().get(e)??null}async function dV(e,t){if(!e)throw new Error("Missing instanceId");const n=(t??"").trim();if(!n)throw new Error("Worktree name is required");return await ln.createWorktree(e,{slug:n})}async function uV(e,t,n){if(!e)throw new Error("Missing instanceId");const r=(t??"").trim();if(!r||r==="root")throw new Error("Invalid worktree");await ln.deleteWorktree(e,r,n)}async function sE(e){if(!e||tm().has(e))return;const t=m_.get(e);if(t)return t;const n=ln.readWorktreeMap(e).then(r=>{El(i=>{const s=new Map(i);return s.set(e,Kf(r)),s}),iE().has(e)&&oE(e).catch(()=>{})}).catch(r=>{ea.warn("Failed to load worktree map",{instanceId:e,error:r}),El(i=>{const s=new Map(i);return s.set(e,Kf(null)),s})}).finally(()=>{m_.delete(e)});return m_.set(e,n),n}async function $O(e){e&&await ln.readWorktreeMap(e).then(t=>{El(n=>{const r=new Map(n);return r.set(e,Kf(t)),r})}).catch(t=>{ea.warn("Failed to reload worktree map",{instanceId:e,error:t})})}function Sd(e){return iE().get(e)??[]}function Jd(e){return tm().get(e)??Kf(null)}function fV(e,t){const n=(t??"").trim()||"root";if(n==="root")return!0;const r=Sd(e);return r.length===0?!0:r.some(i=>i.slug===n)}function eu(e,t){const n=(t??"").trim()||"root";return n==="root"?"root":fV(e,n)?n:"root"}async function oE(e){const t=Jd(e),n=new Set(Sd(e).map(a=>a.slug));n.add("root");let r=!1,i=t.defaultWorktreeSlug||"root";n.has(i)||(i="root",r=!0);const s={...t.parentSessionWorktreeSlug??{}};for(const[a,l]of Object.entries(s))n.has(l)||(delete s[a],r=!0);if(!r)return!1;const o={version:1,defaultWorktreeSlug:i,parentSessionWorktreeSlug:s};return El(a=>{const l=new Map(a);return l.set(e,o),l}),await ln.writeWorktreeMap(e,o).catch(a=>{ea.warn("Failed to persist pruned worktree map",{instanceId:e,error:a})}),!0}function gV(e){return eu(e,Jd(e).defaultWorktreeSlug||"root")}function FO(e,t){var r;const n=(r=Ft().get(e))==null?void 0:r.get(t);return n?n.parentId??n.id:t}function aE(e,t){const n=Jd(e),r=n.parentSessionWorktreeSlug[t]??n.defaultWorktreeSlug??"root";return eu(e,r)}function Hn(e,t){const n=FO(e,t);return aE(e,n)}async function gf(e,t,n){await sE(e);const r=Jd(e),i=eu(e,n),s={...r.parentSessionWorktreeSlug??{}};s[t]=i;const o={...r,parentSessionWorktreeSlug:s};El(a=>{const l=new Map(a);return l.set(e,o),l}),await ln.writeWorktreeMap(e,o).catch(a=>{ea.warn("Failed to persist session worktree mapping",{instanceId:e,parentSessionId:t,slug:i,error:a})})}async function mV(e,t){await sE(e);const n=Jd(e);if(!n.parentSessionWorktreeSlug[t])return;const r={...n.parentSessionWorktreeSlug??{}};delete r[t];const i={...n,parentSessionWorktreeSlug:r};El(s=>{const o=new Map(s);return o.set(e,i),o}),await ln.writeWorktreeMap(e,i).catch(s=>{ea.warn("Failed to persist session worktree mapping removal",{instanceId:e,parentSessionId:t,error:s})})}function _V(e,t){if(!t)return null;const r=Sd(e).find(i=>i.directory===t);return(r==null?void 0:r.slug)??null}function pV(e,t){const n=eu(e,t||"root");return`/workspaces/${encodeURIComponent(e)}/worktrees/${encodeURIComponent(n)}/instance`}function Jn(e,t){const n=eu(e,t||"root"),r=pV(e,n);return qf.createClient(e,r,n)}function nm(e){return Jn(e,"root")}const Ed=new Map;function BO(e,t){return`${e}:${t}`}function lE(e,t){const n=BO(e,t.id),r=Ed.get(n);if(r&&r.revision===t.revision)return r.data;const i=[];for(const o of t.partIds){const a=t.parts[o];a!=null&&a.data&&i.push({...a.data,revision:a.revision})}const s={orderedParts:i};return Ed.set(n,{revision:t.revision,data:s}),s}function hV(e){const t=`${e}:`;for(const n of Ed.keys())n.startsWith(t)&&Ed.delete(n)}function __(e,t){for(const n of t)typeof n!="string"||n.length===0||Ed.delete(BO(e,n))}const SV=xt("session");function yy(e){return{instanceId:e,sessions:{},sessionOrder:[],messages:{},messageInfoVersion:{},pendingParts:{},sessionRevisions:{},permissions:{queue:[],active:null,byMessage:{}},questions:{queue:[],active:null,byMessage:{}},usage:{},scrollState:{},latestTodos:{}}}function Ty(e,t,n){if(typeof t.id=="string"&&t.id.length>0)return t.id;if(t.type==="tool")throw new Error("Tool part missing id");const r=`${e}-part-${n}`;return t.id=r,r}const EV=3e4;function bV(e,t){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 UO(){return{entries:{},totalInputTokens:0,totalOutputTokens:0,totalReasoningTokens:0,totalCost:0,actualUsageTokens:0,latestMessageId:void 0}}function GO(e){var c,d,u;if(!e||e.role!=="assistant")return null;const t=typeof e.id=="string"?e.id:void 0;if(!t)return null;const n=e.tokens;if(!n)return null;const r=n.input??0,i=n.output??0,s=n.reasoning??0,o=((c=n.cache)==null?void 0:c.read)??0,a=((d=n.cache)==null?void 0:d.write)??0;if(r===0&&i===0&&s===0&&o===0&&a===0)return null;const l=e.summary?i:r+o+a+i+s;return{messageId:t,inputTokens:r,outputTokens:i,reasoningTokens:s,cacheReadTokens:o,cacheWriteTokens:a,combinedTokens:l,cost:e.cost??0,timestamp:((u=e.time)==null?void 0:u.created)??0,hasContextUsage:r+o+a>0}}function VO(e,t){var n;t&&(e.entries[t.messageId]=t,e.totalInputTokens+=t.inputTokens,e.totalOutputTokens+=t.outputTokens,e.totalReasoningTokens+=t.reasoningTokens,e.totalCost+=t.cost,(!e.latestMessageId||t.timestamp>=(((n=e.entries[e.latestMessageId])==null?void 0:n.timestamp)??0))&&(e.latestMessageId=t.messageId,e.actualUsageTokens=t.combinedTokens))}function p_(e,t){if(!t)return;const n=e.entries[t];if(n&&(e.totalInputTokens-=n.inputTokens,e.totalOutputTokens-=n.outputTokens,e.totalReasoningTokens-=n.reasoningTokens,e.totalCost-=n.cost,delete e.entries[t],e.latestMessageId===t)){e.latestMessageId=void 0,e.actualUsageTokens=0;let r=null;for(const i of Object.values(e.entries))(!r||i.timestamp>=r.timestamp)&&(r=i);r&&(e.latestMessageId=r.messageId,e.actualUsageTokens=r.combinedTokens)}}function Cy(e){const t=UO();for(const n of e){const r=GO(n);r&&VO(t,r)}return t}function vV(e,t){const[n,r]=Yw(yy(e)),i="todowrite",s=new Map;function o(Y){var re,ee;if(!Y)return-1;const q=((re=n.sessions[Y])==null?void 0:re.messageIds)??[];for(let H=q.length-1;H>=0;H--){const fe=q[H],oe=n.messages[fe];if(!(!oe||!Array.isArray(oe.partIds)||oe.partIds.length===0))for(const X of oe.partIds){const ve=(ee=oe.parts[X])==null?void 0:ee.data;if((ve==null?void 0:ve.type)==="compaction")return H}}return-1}function a(Y){if(!Y||Y.type!=="tool"||(typeof Y.tool=="string"?Y.tool:"")!==i)return!1;const re=Y.state;return!re||typeof re!="object"?!1:re.status==="completed"}function l(Y,q){Y&&r("latestTodos",Y,re=>re&&re.timestamp>q.timestamp?re:q)}function c(Y){if(!(!Y||!Array.isArray(Y.partIds)||Y.partIds.length===0))for(let q=Y.partIds.length-1;q>=0;q-=1){const re=Y.partIds[q],ee=Y.parts[re];if(ee&&a(ee.data)){const H=typeof Y.updatedAt=="number"?Y.updatedAt:Date.now();l(Y.sessionId,{messageId:Y.id,partId:re,timestamp:H});break}}}function d(Y){r("latestTodos",Y,void 0)}function u(Y){Y&&r("sessionRevisions",Y,(q=0)=>q+1)}function f(Y){return n.sessionRevisions[Y]??0}function g(Y,q){r("usage",Y,re=>{const ee=re?{...re,entries:{...re.entries}}:UO();return q(ee),ee})}function m(Y){if(!Y||typeof Y.sessionID!="string")return;const q=typeof Y.id=="string"?Y.id:void 0;q&&g(Y.sessionID,re=>{p_(re,q);const ee=GO(Y);ee&&VO(re,ee)})}function _(Y,q){const re=Cy(q);r("usage",Y,re)}function p(Y){return n.usage[Y]}function S(Y){const q=n.sessions[Y];if(q)return q;const re=Date.now(),ee={id:Y,createdAt:re,updatedAt:re,messageIds:[]};return r("sessions",Y,ee),r("sessionOrder",H=>H.includes(Y)?H:[...H,Y]),ee}function h(Y){const q=S(Y.id),re=[...q.messageIds],ee=Array.isArray(Y.messageIds)?Y.messageIds:q.messageIds;r("sessions",Y.id,{...q,title:Y.title??q.title,parentId:Y.parentId??q.parentId??null,updatedAt:Date.now(),messageIds:ee,revert:Y.revert??q.revert??null}),Array.isArray(Y.messageIds)&&!bV(re,ee)&&u(Y.id)}function b(Y,q,re){if(!Array.isArray(q)||q.length===0)return;S(Y);const ee=q.map(De=>De.id),H={},fe=Date.now();q.forEach(De=>{const Ee=v(De.id,De.parts),V=!!(De.bumpRevision||Ee),ie=n.messages[De.id];H[De.id]={id:De.id,sessionId:De.sessionId,role:De.role,status:De.status,createdAt:De.createdAt??(ie==null?void 0:ie.createdAt)??fe,updatedAt:De.updatedAt??fe,isEphemeral:De.isEphemeral??(ie==null?void 0:ie.isEphemeral)??!1,revision:ie?ie.revision+(V?1:0):0,partIds:Ee?Ee.ids:(ie==null?void 0:ie.partIds)??[],parts:Ee?Ee.map:(ie==null?void 0:ie.parts)??{}}});const oe=re?Array.from(re):void 0,X=oe?Cy(oe):n.usage[Y],ve={...n.messages},he={...n.messageInfoVersion},Ce={...n.pendingParts},ke={...n.permissions.byMessage};if(Object.entries(H).forEach(([De,Ee])=>{ve[De]=Ee}),oe)for(const De of oe){const Ee=De.id;s.set(Ee,De);const V=he[Ee]??0;he[Ee]=V+1}hr(()=>{r("messages",()=>ve),r("messageInfoVersion",()=>he),r("pendingParts",()=>Ce),r("permissions","byMessage",()=>ke),X&&r("usage",Y,X),r("sessions",Y,De=>({...De,messageIds:ee,updatedAt:Date.now()})),Object.values(H).forEach(De=>{c(De)}),u(Y)})}function T(Y,q){S(Y),r("sessions",Y,"messageIds",(re=[])=>re.includes(q)?re:[...re,q])}function v(Y,q){if(!q||q.length===0)return null;const re={},ee=[];return q.forEach((H,fe)=>{const oe=Ty(Y,H,fe),X=H;re[oe]={id:oe,data:X,revision:0},ee.push(oe)}),{map:re,ids:ee}}function C(Y){const q=v(Y.id,Y.parts),re=!!(Y.bumpRevision||q),ee=Date.now();let H;r("messages",Y.id,fe=>{const oe=fe?fe.revision+(re?1:0):0,X={id:Y.id,sessionId:Y.sessionId,role:Y.role,status:Y.status,createdAt:Y.createdAt??(fe==null?void 0:fe.createdAt)??ee,updatedAt:Y.updatedAt??ee,isEphemeral:Y.isEphemeral??(fe==null?void 0:fe.isEphemeral)??!1,revision:oe,partIds:q?q.ids:(fe==null?void 0:fe.partIds)??[],parts:q?q.map:(fe==null?void 0:fe.parts)??{}};return H=X,X}),H&&c(H),T(Y.sessionId,Y.id),M(Y.id),u(Y.sessionId)}function w(Y){r("pendingParts",Y.messageId,(q=[])=>[...q,Y])}function I(Y){r("pendingParts",q=>{if(!q[Y])return q;const re={...q};return delete re[Y],re})}function O(Y,q,re){if(!Y||!q||re.type!=="tool")return;const ee=re.callID??re.callId??re.toolCallID??re.toolCallId??void 0;ee&&r("permissions","byMessage",Y,ii(H=>{var oe,X,ve,he;if(!H)return;const fe=H[q];for(const[Ce,ke]of Object.entries(H))if(!(!ke||ke.partId||(((oe=ke.permission.tool)==null?void 0:oe.callID)??((X=ke.permission.tool)==null?void 0:X.callId)??ke.permission.callID??ke.permission.callId??ke.permission.toolCallID??ke.permission.toolCallId??((ve=ke.permission.metadata)==null?void 0:ve.callID)??((he=ke.permission.metadata)==null?void 0:he.callId)??void 0)!==ee)){(!fe||fe.permission.id===ke.permission.id)&&(ke.partId=q,H[q]=ke,delete H[Ce]);break}}))}function U(Y){const q=n.messages[Y.messageId];if(!q){w({messageId:Y.messageId,part:Y.part,receivedAt:Date.now()});return}const re=Ty(Y.messageId,Y.part,q.partIds.length),ee=Y.part;r("messages",Y.messageId,ii(H=>{H.partIds.includes(re)||(H.partIds=[...H.partIds,re]);const fe=H.parts[re],oe=fe?fe.revision+1:ee.version??0;H.parts[re]={id:re,data:ee,revision:oe},H.updatedAt=Date.now(),(Y.bumpRevision??!0)&&(H.revision+=1)})),O(Y.messageId,re,ee),a(ee)&&l(q.sessionId,{messageId:Y.messageId,partId:re,timestamp:Date.now()}),u(q.sessionId)}function B(Y){if(!(Y!=null&&Y.messageId)||!Y.partId||!Y.field||typeof Y.delta!="string")return;const q=n.messages[Y.messageId];if(!q)return;let re=!1;r("messages",Y.messageId,ii(ee=>{const H=ee.parts[Y.partId];if(!(H!=null&&H.data))return;const fe=H.data,oe=fe==null?void 0:fe[Y.field];(typeof oe=="string"||oe===void 0||oe===null)&&(fe[Y.field]=`${oe??""}${Y.delta}`,re=!0),re&&(H.revision+=1,ee.updatedAt=Date.now(),(Y.bumpRevision??!0)&&(ee.revision+=1))})),re&&(Y.bumpSessionRevision??!0)&&u(q.sessionId)}function k(Y){if(!Y)return;const q=n.messages[Y],re=new Set;q!=null&&q.sessionId?re.add(q.sessionId):Object.values(n.sessions).forEach(ee=>{ee.messageIds.includes(Y)&&re.add(ee.id)}),__(e,[Y]),hr(()=>{re.forEach(ee=>{r("sessions",ee,"messageIds",(H=[])=>H.filter(fe=>fe!==Y))}),r("messages",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),r("messageInfoVersion",ee=>{if(!(Y in ee))return ee;const H={...ee};return delete H[Y],H}),s.delete(Y),r("pendingParts",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),r("permissions","byMessage",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),re.forEach(ee=>{var H;g(ee,fe=>p_(fe,Y)),((H=n.latestTodos[ee])==null?void 0:H.messageId)===Y&&d(ee),u(ee)})})}function L(Y,q){if(!Y||!q)return;const re=n.messages[Y];re&&(__(e,[Y]),hr(()=>{r("messages",Y,ii(ee=>{!ee.parts[q]&&!ee.partIds.includes(q)||(ee.partIds=ee.partIds.filter(H=>H!==q),delete ee.parts[q],ee.updatedAt=Date.now(),ee.revision+=1)})),r("permissions","byMessage",Y,ee=>{if(!ee||!ee[q])return ee;const H={...ee};return delete H[q],H}),u(re.sessionId)}))}function M(Y){const q=n.pendingParts[Y];if(!q||q.length===0)return;const re=Date.now(),ee=q.filter(H=>re-H.receivedAt<=EV);if(ee.length===0){I(Y);return}ee.forEach(H=>U({messageId:Y,part:H.part})),I(Y)}function G(Y){if(Y.oldId===Y.newId)return;const q=n.messages[Y.oldId];if(!q)return;const re={...q,id:Y.newId,isEphemeral:!1,updatedAt:Date.now()};r("messages",Y.newId,re),r("messages",ve=>{const he={...ve};return delete he[Y.oldId],he});const ee=new Set;Object.values(n.sessions).forEach(ve=>{const he=ve.messageIds.indexOf(Y.oldId);he!==-1&&(r("sessions",ve.id,"messageIds",Ce=>{const ke=[...Ce];return ke[he]=Y.newId,ke}),ee.add(ve.id))}),ee.forEach(ve=>u(ve));const H=s.get(Y.oldId);if(H){s.set(Y.newId,H),s.delete(Y.oldId);const ve=n.messageInfoVersion[Y.oldId]??0;r("messageInfoVersion",Y.newId,ve),r("messageInfoVersion",he=>{const Ce={...he};return delete Ce[Y.oldId],Ce})}const fe=n.permissions.byMessage[Y.oldId];fe&&(r("permissions","byMessage",Y.newId,fe),r("permissions",ve=>{const he={...ve},Ce={...he.byMessage};return delete Ce[Y.oldId],he.byMessage=Ce,he}));const oe=n.questions.byMessage[Y.oldId];oe&&(r("questions","byMessage",Y.newId,oe),r("questions",ve=>{const he={...ve},Ce={...he.byMessage};return delete Ce[Y.oldId],he.byMessage=Ce,he}));const X=n.pendingParts[Y.oldId];X&&r("pendingParts",Y.newId,X),I(Y.oldId),c(re)}function R(Y,q){if(!Y)return;s.set(Y,q);const re=(n.messageInfoVersion[Y]??0)+1;r("messageInfoVersion",Y,re),m(q)}function x(Y){return n.messageInfoVersion[Y],s.get(Y)}function N(Y){var ee;const q=Y.messageId??"__global__",re=Y.partId??((ee=Y.permission)==null?void 0:ee.id)??"__global__";r("permissions",ii(H=>{H.byMessage[q]=H.byMessage[q]??{},H.byMessage[q][re]=Y;const fe=H.queue.findIndex(oe=>oe.permission.id===Y.permission.id);fe===-1?H.queue.push(Y):H.queue[fe]=Y,(!H.active||H.active.permission.id===Y.permission.id)&&(H.active=Y)}))}function D(Y){r("permissions",ii(q=>{var re;q.queue=q.queue.filter(ee=>ee.permission.id!==Y),((re=q.active)==null?void 0:re.permission.id)===Y&&(q.active=q.queue[0]??null),Object.keys(q.byMessage).forEach(ee=>{const H=q.byMessage[ee];Object.keys(H).forEach(fe=>{H[fe].permission.id===Y&&delete H[fe]}),Object.keys(H).length===0&&delete q.byMessage[ee]})}))}function $(Y,q){var oe,X;const re=Y??"__global__",ee=q??"__global__",H=(oe=n.permissions.byMessage[re])==null?void 0:oe[ee];if(!H)return null;const fe=((X=n.permissions.active)==null?void 0:X.permission.id)===H.permission.id;return{entry:H,active:fe}}function A(Y){var ee;const q=Y.messageId??"__global__",re=Y.partId??((ee=Y.request)==null?void 0:ee.id)??"__global__";r("questions",ii(H=>{H.byMessage[q]=H.byMessage[q]??{},H.byMessage[q][re]=Y;const fe=H.queue.findIndex(oe=>oe.request.id===Y.request.id);fe===-1?H.queue.push(Y):H.queue[fe]=Y,(!H.active||H.active.request.id===Y.request.id)&&(H.active=Y)}))}function W(Y){r("questions",ii(q=>{var re;q.queue=q.queue.filter(ee=>ee.request.id!==Y),((re=q.active)==null?void 0:re.request.id)===Y&&(q.active=q.queue[0]??null),Object.keys(q.byMessage).forEach(ee=>{const H=q.byMessage[ee];Object.keys(H).forEach(fe=>{H[fe].request.id===Y&&delete H[fe]}),Object.keys(H).length===0&&delete q.byMessage[ee]})}))}function ae(Y,q){var oe,X;const re=Y??"__global__",ee=q??"__global__",H=(oe=n.questions.byMessage[re])==null?void 0:oe[ee];if(!H)return null;const fe=((X=n.questions.active)==null?void 0:X.request.id)===H.request.id;return{entry:H,active:fe}}function ne(Y,q){const re=n.sessions[Y];if(!re)return;const ee=re.messageIds.indexOf(q);if(ee===-1)return;const H=re.messageIds.slice(ee),fe=re.messageIds.slice(0,ee);H.length!==0&&(r("sessions",Y,"messageIds",fe),r("messages",oe=>{const X={...oe};return H.forEach(ve=>delete X[ve]),X}),r("messageInfoVersion",oe=>{const X={...oe};return H.forEach(ve=>delete X[ve]),X}),H.forEach(oe=>s.delete(oe)),r("pendingParts",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),r("permissions","byMessage",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),r("questions","byMessage",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),g(Y,oe=>{H.forEach(X=>p_(oe,X))}),u(Y))}function ge(Y,q){Y&&(S(Y),q!=null&&q.messageID&&ne(Y,q.messageID),r("sessions",Y,"revert",q??null))}function ue(Y){var q;return((q=n.sessions[Y])==null?void 0:q.revert)??null}function me(Y,q){return`${Y}:${q}`}function ce(Y,q,re){const ee=me(Y,q);r("scrollState",ee,{...re,updatedAt:Date.now()})}function se(Y,q){const re=me(Y,q);return n.scrollState[re]}function Z(Y){var re;if(!Y)return;const q=Object.values(n.messages).filter(ee=>ee.sessionId===Y).map(ee=>ee.id);SV.info("Clearing session data",{instanceId:e,sessionId:Y,messageCount:q.length}),__(e,q),hr(()=>{r("messages",ee=>{const H={...ee};return q.forEach(fe=>delete H[fe]),H}),r("messageInfoVersion",ee=>{const H={...ee};return q.forEach(fe=>delete H[fe]),H}),q.forEach(ee=>s.delete(ee)),r("pendingParts",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("permissions","byMessage",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("questions","byMessage",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("usage",ee=>{const H={...ee};return delete H[Y],H}),r("sessionRevisions",ee=>{const H={...ee};return delete H[Y],H}),r("scrollState",ee=>{const H={...ee},fe=`${Y}:`;return Object.keys(H).forEach(oe=>{oe.startsWith(fe)&&delete H[oe]}),H}),r("sessions",Y,ee=>ee&&{...ee,messageIds:[]}),r("sessions",ee=>{const H={...ee};return delete H[Y],H}),r("sessionOrder",ee=>ee.filter(H=>H!==Y))}),d(Y),(re=t==null?void 0:t.onSessionCleared)==null||re.call(t,e,Y)}function pe(){s.clear(),r(hP(yy(e)))}return{instanceId:e,state:n,setState:r,addOrUpdateSession:h,hydrateMessages:b,upsertMessage:C,applyPartUpdate:U,applyPartDelta:B,removeMessage:k,removeMessagePart:L,bufferPendingPart:w,flushPendingParts:M,replaceMessageId:G,setMessageInfo:R,getMessageInfo:x,upsertPermission:N,removePermission:D,getPermissionState:$,upsertQuestion:A,removeQuestion:W,getQuestionState:ae,setSessionRevert:ge,getSessionRevert:ue,rebuildUsage:_,getSessionUsage:p,setScrollSnapshot:ce,getScrollSnapshot:se,getSessionRevision:f,getSessionMessageIds:Y=>{var q;return((q=n.sessions[Y])==null?void 0:q.messageIds)??[]},getLastCompactionMessageIndex:o,getMessage:Y=>n.messages[Y],getLatestTodoSnapshot:Y=>n.latestTodos[Y],clearSession:Z,clearInstance:pe}}const yV="GLOBAL",ps=new Map;function Is(e){return e&&e.length>0?e:yV}function Xp(e,t){const n=Is(e.instanceId),r=Is(e.sessionId);let i=ps.get(n);if(!i){if(!t)return;i=new Map,ps.set(n,i)}let s=i.get(r);if(!s){if(!t)return;s=new Map,i.set(r,s)}let o=s.get(e.scope);if(!o){if(!t)return;o=new Map,s.set(e.scope,o)}return o}function HO(e,t,n){const r=ps.get(e);if(!r)return;const i=r.get(t);if(!i){r.size===0&&ps.delete(e);return}if(n){const s=i.get(n);s&&s.size===0&&i.delete(n)}i.size===0&&r.delete(t),r.size===0&&ps.delete(e)}function YO(e,t){const n=Is(e.instanceId),r=Is(e.sessionId);if(t===void 0){const s=Xp(e,!1);s==null||s.delete(e.cacheId),HO(n,r,e.scope);return}const i=Xp(e,!0);i==null||i.set(e.cacheId,{version:e.version,value:t})}function zO(e){const t=Xp(e,!1),n=t==null?void 0:t.get(e.cacheId);if(!(!n||n.version!==e.version))return n.value}function TV(e){const t=Is(e.instanceId),n=Is(e.sessionId),r=ps.get(t);if(!r)return;const i=r.get(n);i&&(i.delete(e.scope),HO(t,n))}function WO(e,t){const n=Is(e),r=Is(t),i=ps.get(n);i&&(i.delete(r),i.size===0&&ps.delete(n))}function bd(e){const t=Is(e);ps.delete(t)}const Iy=xt("session");class CV{constructor(){this.stores=new Map,this.teardownHandlers=new Set,this.sessionClearHandlers=new Set}registerInstance(t,n){if(this.stores.has(t))return this.stores.get(t);const r=n??vV(t,{onSessionCleared:(i,s)=>this.notifySessionCleared(i,s)});return this.stores.set(t,r),r}onSessionCleared(t){return this.sessionClearHandlers.add(t),()=>{this.sessionClearHandlers.delete(t)}}notifySessionCleared(t,n){for(const r of this.sessionClearHandlers)try{r(t,n)}catch(i){Iy.error("Failed to run session clear handler",i)}}getInstance(t){return this.stores.get(t)}getOrCreate(t){return this.registerInstance(t)}onInstanceDestroyed(t){return this.teardownHandlers.add(t),()=>{this.teardownHandlers.delete(t)}}unregisterInstance(t){const n=this.stores.get(t);n&&n.clearInstance(),bd(t),this.notifyInstanceDestroyed(t),this.stores.delete(t)}clearAll(){for(const[t,n]of this.stores.entries())n.clearInstance(),bd(t),this.notifyInstanceDestroyed(t),this.stores.delete(t)}notifyInstanceDestroyed(t){for(const n of this.teardownHandlers)try{n(t)}catch(r){Iy.error("Failed to run message store teardown handler",r)}}}const Wt=new CV;function IV(e){if(e!=null&&e.latestMessageId)return e.entries[e.latestMessageId]}function wy(e,t,n){if(!t||!n)return;const r=e.find(i=>i.id===t);return r==null?void 0:r.models.find(i=>i.id===n)}function ws(e,t){var M,G,R,x,N,D;const n=Ft().get(e);if(!n)return;const r=n.get(t);if(!r)return;const i=Wt.getOrCreate(e),s=i.getSessionUsage(t),o=!!(s&&Object.keys(s.entries).length>0);let a=(s==null?void 0:s.totalInputTokens)??0,l=(s==null?void 0:s.totalOutputTokens)??0,c=(s==null?void 0:s.totalReasoningTokens)??0,d=(s==null?void 0:s.totalCost)??0,u=(s==null?void 0:s.actualUsageTokens)??0;const f=IV(s);let g=(f==null?void 0:f.hasContextUsage)??!1;const m=(M=zN().get(e))==null?void 0:M.get(t);let _=0,p=null,S=!1,h=!1;!o&&m&&(a=m.inputTokens,l=m.outputTokens,c=m.reasoningTokens,d=m.cost,u=m.actualUsageTokens);const b=mo().get(e)||[],T=r.model,v=T==null?void 0:T.providerId,C=T==null?void 0:T.modelId,w=f!=null&&f.messageId?i.getMessageInfo(f.messageId):void 0,I=(w==null?void 0:w.providerID)||(w==null?void 0:w.providerId)||"",O=(w==null?void 0:w.modelID)||(w==null?void 0:w.modelId)||"",U=wy(b,v,C)??wy(b,I,O);let B=Ma,k=null;if(U){_=((G=U.limit)==null?void 0:G.context)??0;const $=(R=U.limit)==null?void 0:R.input;typeof $=="number"&&$>0&&(k=$);const A=(x=U.limit)==null?void 0:x.output;typeof A=="number"&&A>0&&(B=Math.min(A,Ma)),(((N=U.cost)==null?void 0:N.input)??0)===0&&(((D=U.cost)==null?void 0:D.output)??0)===0&&(h=!0)}if(_===0&&m&&(_=m.contextWindow),B=Math.min(B,Ma),m){const $=m.contextWindow,A=m.contextAvailableTokens??null,W=A!==null&&$>0?A<$:!1;_!==$?(p=null,S=!1,g=W):(p=A,S=!0,g=W),o&&h||(h=m.isSubscriptionModel)}const L=Math.min(B,Ma);k!==null&&(p=k),!S&&p===null&&(_>0?g&&u>0?p=Math.max(_-(u+L),0):p=_:p=null),pm($=>{const A=new Map($),W=new Map($.get(e));return W.set(t,{cost:d,contextWindow:_,isSubscriptionModel:h,inputTokens:a,outputTokens:l,reasoningTokens:c,actualUsageTokens:u,modelOutputLimit:B,contextAvailableTokens:p}),A.set(e,W),A})}function wV(e){switch(e){case"sending":case"sent":case"streaming":case"complete":case"error":return e;default:return"complete"}}function RV(e,t,n,r){if(!t||!Array.isArray(n))return;const i=Wt.getOrCreate(e),s="id"in t?{id:t.id,title:t.title,parentId:t.parentId??null}:t;i.addOrUpdateSession({id:s.id,title:s.title,parentId:s.parentId??null,revert:(t==null?void 0:t.revert)??void 0});const o=n.map(a=>({id:a.id,sessionId:a.sessionId,role:a.type,status:wV(a.status),createdAt:a.timestamp,updatedAt:a.timestamp,parts:a.parts,isEphemeral:a.status==="sending"||a.status==="streaming",bumpRevision:!1}));i.hydrateMessages(s.id,o,r==null?void 0:r.values())}function Ry(e,t,n){if(!t||typeof t.id!="string"||typeof t.sessionID!="string")return;const r=Wt.getOrCreate(e),i=t.time??{},s=typeof i.created=="number"?i.created:Date.now(),o=typeof i.end=="number"?i.end:void 0;r.upsertMessage({id:t.id,sessionId:t.sessionID,role:t.role==="user"?"user":"assistant",status:(n==null?void 0:n.status)??"complete",createdAt:s,updatedAt:o??s,bumpRevision:!!(n!=null&&n.bumpRevision)}),r.setMessageInfo(t.id,t)}function OV(e,t){if(!t||typeof t.messageID!="string")return;Wt.getOrCreate(e).applyPartUpdate({messageId:t.messageID,part:t})}function AV(e,t){if(!(t!=null&&t.messageId)||!t.partId||!t.field||typeof t.delta!="string")return;Wt.getOrCreate(e).applyPartDelta({messageId:t.messageId,partId:t.partId,field:t.field,delta:t.delta,bumpSessionRevision:!1})}function Oy(e,t,n){if(!t||!n||t===n)return;Wt.getOrCreate(e).replaceMessageId({oldId:t,newId:n})}function qO(e){return bO(e)}function NV(e){const t=e.metadata||{};return e.partID||e.partId||t.partID||t.partId||void 0}function KO(e){return vO(e)}function rm(e,t,n){var i;if(!t||!n)return;const r=e.getMessage(t);if(r)for(const s of r.partIds){const o=(i=r.parts[s])==null?void 0:i.data;if(!o||o.type!=="tool")continue;if((o.callID??o.callId??o.toolCallID??o.toolCallId??void 0)===n&&typeof o.id=="string"&&o.id.length>0)return o.id}}function QO(e,t){var s;if(!t)return;const n=Wt.getOrCreate(e),r=qO(t);let i=NV(t);if(!i){const o=KO(t);i=rm(n,r,o)}n.upsertPermission({permission:t,messageId:r,partId:i,enqueuedAt:((s=t.time)==null?void 0:s.created)??Date.now()})}function xV(e,t){const n=Wt.getOrCreate(e),r=n.state.permissions.queue;if(!(!r||r.length===0))for(const i of r){if(!i||i.partId)continue;const s=i.permission;if(!s)continue;const o=(s==null?void 0:s.sessionID)??(s==null?void 0:s.sessionId)??void 0;if(t&&o&&o!==t)continue;const a=i.messageId??qO(s),l=KO(s),c=rm(n,a,l);c&&n.upsertPermission({...i,messageId:a,partId:c})}}function jO(e){return TO(e)}function XO(e){return CO(e)}function ZO(e,t){var o;if(!t)return;const n=Wt.getOrCreate(e),r=jO(t);let i;const s=XO(t);s&&(i=rm(n,r,s)),n.upsertQuestion({request:t,messageId:r,partId:i,enqueuedAt:((o=t.time)==null?void 0:o.created)??Date.now()})}function JO(e,t){const n=Wt.getOrCreate(e),r=n.state.questions.queue;if(!(!r||r.length===0))for(const i of r){if(!i||i.partId)continue;const s=i.request;if(!s)continue;const o=s.sessionID;if(t&&o&&o!==t)continue;const a=i.messageId??jO(s),l=XO(s),c=rm(n,a,l);c&&n.upsertQuestion({...i,messageId:a,partId:c})}}function eA(e,t){if(!t)return;Wt.getOrCreate(e).removeQuestion(t)}function tA(e,t){if(!t)return;Wt.getOrCreate(e).removePermission(t)}function nA(e,t){if(!t)return;Wt.getOrCreate(e).removeMessage(t)}function rA(e,t,n){if(!t||!n)return;Wt.getOrCreate(e).removeMessagePart(t,n)}function Ay(e,t,n){if(!t)return;Wt.getOrCreate(e).setSessionRevert(t,n??null)}const Ws=xt("actions");function DV(e,t){if(!t.providerId||!t.modelId)return[];const r=(mo().get(e)||[]).find(s=>s.id===t.providerId),i=r==null?void 0:r.models.find(s=>s.id===t.modelId);return(i==null?void 0:i.variantKeys)??[]}function iA(e,t){const n=pw(t);if(!n)return;const r=DV(e,t);if(r.length!==0)return r.includes(n)?n:void 0}const kV=26,xu="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let Ny=0,h_=0;function LV(e){let t="";const n=globalThis.crypto;if(n&&typeof n.getRandomValues=="function"){const r=new Uint8Array(e);n.getRandomValues(r);for(let i=0;i<e;i++)t+=xu[r[i]%xu.length]}else for(let r=0;r<e;r++){const i=Math.floor(Math.random()*xu.length);t+=xu[i]}return t}function Ac(e){const t=Date.now();t!==Ny&&(Ny=t,h_=0),h_++;const n=(BigInt(t)<<BigInt(12))+BigInt(h_),r=new Array(6);for(let o=0;o<6;o++){const a=BigInt(8*(5-o));r[o]=Number(n>>a&BigInt(255))}const i=r.map(o=>o.toString(16).padStart(2,"0")).join(""),s=LV(kV-12);return`${e}_${i}${s}`}async function MV(e,t,n,r=[]){const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s),a=Ft().get(e),l=a==null?void 0:a.get(t);if(!l)throw new Error("Session not found");const c=Ac("msg"),d=Ac("part"),u=LO(n,r),f=[{id:d,type:"text",text:u,synthetic:!0,renderCache:void 0}],g=[{id:d,type:"text",text:u}];if(r.length>0)for(const S of r){const h=S.source;if(h.type==="file"){const b=Ac("part");g.push({id:b,type:"file",url:S.url,mime:h.mime,filename:S.filename}),f.push({id:b,type:"file",url:S.url,mime:h.mime,filename:S.filename,synthetic:!0})}else if(h.type==="text"){const b=S.display,T=h.value,v=typeof b=="string"&&/^pasted #\d+/.test(b),C=typeof b=="string"&&/^path:/.test(b);if(v||C||typeof T!="string")continue;const w=Ac("part");g.push({id:w,type:"text",text:T}),f.push({id:w,type:"text",text:T,synthetic:!0,renderCache:void 0})}}const m=Wt.getOrCreate(e),_=Date.now();m.upsertMessage({id:c,sessionId:t,role:"user",status:"sending",parts:f,createdAt:_,updatedAt:_,isEphemeral:!0}),_i(e,t,()=>{});const p={messageID:c,parts:g,...l.agent&&{agent:l.agent},...l.model.providerId&&l.model.modelId&&{model:{providerID:l.model.providerId,modelID:l.model.modelId}},...l.model.providerId&&l.model.modelId&&(()=>{const S=iA(e,l.model);return S?{variant:S}:{}})()};Ws.info("sendMessage",{instanceId:e,sessionId:t,requestBody:p});try{Ws.info("session.promptAsync",{instanceId:e,sessionId:t,requestBody:p}),await Xt(o.session.promptAsync({sessionID:t,...p}),"session.promptAsync")}catch(S){throw Ws.error("Failed to send prompt",S),S}}async function PV(e,t,n,r){var c;const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s),a=(c=Ft().get(e))==null?void 0:c.get(t);if(!a)throw new Error("Session not found");const l={command:n,arguments:r,messageID:Ac("msg")};if(a.agent&&(l.agent=a.agent),a.model.providerId&&a.model.modelId){l.model=`${a.model.providerId}/${a.model.modelId}`;const d=iA(e,a.model);d&&(l.variant=d)}await Xt(o.session.command({sessionID:t,...l}),"session.command")}async function $V(e,t,n){var l;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i),o=(l=Ft().get(e))==null?void 0:l.get(t);if(!o)throw new Error("Session not found");const a=o.agent||"build";await Xt(s.session.shell({sessionID:t,agent:a,command:n}),"session.shell")}async function sA(e,t){const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=Hn(e,t),i=Jn(e,r);Ws.info("abortSession",{instanceId:e,sessionId:t});try{Ws.info("session.abort",{instanceId:e,sessionId:t}),await Xt(i.session.abort({sessionID:t}),"session.abort"),Ws.info("abortSession complete",{instanceId:e,sessionId:t})}catch(s){throw Ws.error("Failed to abort session",s),s}}async function FV(e,t,n){const r=Ft().get(e);if(!(r==null?void 0:r.get(t)))throw new Error("Session not found");const s=await rE(e,n),o=Sl(e,s);_i(e,t,a=>{a.agent=n,o&&(a.model=s)}),n&&o&&await gS(e,n,s),o&&ws(e,t)}async function BV(e,t,n){const r=Ft().get(e),i=r==null?void 0:r.get(t);if(!i)throw new Error("Session not found");if(!Sl(e,n)){Ws.warn("Invalid model selection",n);return}_i(e,t,s=>{s.model=n}),i.agent&&await gS(e,i.agent,n),HL(n),ws(e,t)}async function cE(e,t,n){var l;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i);if(!((l=Ft().get(e))==null?void 0:l.get(t)))throw new Error("Session not found");const a=n.trim();if(!a)throw new Error("Session title is required");await Xt(s.session.update({sessionID:t,title:a}),"session.update"),_i(e,t,c=>{c.title=a;const d={...c.time??{}};d.updated=Date.now(),c.time=d})}async function UV(e,t,n,r){if(!e||!t||!n||!r)return;const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s);await Xt(o.part.delete({sessionID:t,messageID:n,partID:r}),"part.delete"),rA(e,n,r),ws(e,t)}async function ta(e,t,n){if(!e||!t||!n)return;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i);await Xt(s.client.delete({url:`/session/${encodeURIComponent(t)}/message/${encodeURIComponent(n)}`}),"session.message.delete"),nA(e,n),ws(e,t)}const GV="modulepreload",VV=function(e){return"/"+e},xy={},J=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(n.map(l=>{if(l=VV(l),l in xy)return;xy[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":GV,c||(u.as="script"),u.crossOrigin="",u.href=l,a&&u.setAttribute("nonce",a),document.head.appendChild(u),c)return new Promise((f,g)=>{u.addEventListener("load",f),u.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})};var HV=F('<div><button type=button class="absolute right-2 top-2 inline-flex h-7 w-7 items-center justify-center rounded-md text-slate-200/80 hover:text-slate-50 hover:bg-white/10"aria-label="Close notification"title=Close>x</button><div class="flex items-start gap-3 pr-6"><span></span><div class="flex-1 text-sm leading-snug"><p>'),YV=F("<p>"),zV=F('<button type=button class="mt-3 inline-flex items-center text-xs font-semibold uppercase tracking-wide text-sky-300 hover:text-sky-200">');async function WV(e){if(!(typeof window>"u")){try{if(Vd()){const{openUrl:t}=await J(async()=>{const{openUrl:n}=await import("./index-DN20ggb1.js");return{openUrl:n}},__vite__mapDeps([0,1]));await t(e);return}}catch(t){console.warn("[notifications] unable to open via system opener",t)}try{window.open(e,"_blank","noopener,noreferrer")}catch(t){console.warn("[notifications] unable to open external url",t),Cr.error("Unable to open link")}}}const qV={info:{badge:"bg-sky-500/40",container:"bg-slate-900/95 border-slate-700 text-slate-100",headline:"text-slate-50",body:"text-slate-200/80"},success:{badge:"bg-emerald-500/40",container:"bg-emerald-950/90 border-emerald-800 text-emerald-50",headline:"text-emerald-50",body:"text-emerald-100/80"},warning:{badge:"bg-amber-500/40",container:"bg-amber-950/90 border-amber-800 text-amber-50",headline:"text-amber-50",body:"text-amber-100/80"},error:{badge:"bg-rose-500/40",container:"bg-rose-950/90 border-rose-800 text-rose-50",headline:"text-rose-50",body:"text-rose-100/80"}};function tn(e){const t=qV[e.variant],n=e.duration??1e4,r=Cr.custom(()=>(()=>{var i=HV(),s=i.firstChild,o=s.nextSibling,a=o.firstChild,l=a.nextSibling,c=l.firstChild;return s.$$click=()=>Cr.dismiss(r),y(l,(()=>{var d=Me(()=>!!e.title);return()=>d()&&(()=>{var u=YV();return y(u,()=>e.title),te(()=>it(u,`font-semibold ${t.headline}`)),u})()})(),c),y(c,()=>e.message),y(l,(()=>{var d=Me(()=>!!e.action);return()=>d()&&(()=>{var u=zV();return u.$$click=()=>void WV(e.action.href),y(u,()=>e.action.label),u})()})(),null),te(d=>{var u=`pointer-events-auto relative w-[320px] max-w-[360px] rounded-lg border px-4 py-3 shadow-xl ${t.container}`,f=`mt-1 inline-block h-2.5 w-2.5 rounded-full ${t.badge}`,g=`${t.body} ${e.title?"mt-1":""}`;return u!==d.e&&it(i,d.e=u),f!==d.t&&it(a,d.t=f),g!==d.a&&it(c,d.a=g),d},{e:void 0,t:void 0,a:void 0}),i})(),{duration:n,position:e.position??"top-right",ariaProps:{role:"status","aria-live":"polite"}});return{id:r,dismiss:()=>Cr.dismiss(r)}}At(["click"]);const im=xt("actions");function sm(){return typeof window<"u"&&typeof window.Notification<"u"}function dE(){if(!sm())return"unsupported";const e=window.Notification.permission;return e==="granted"?"granted":e==="denied"?"denied":"default"}async function KV(){if(!sm())return"unsupported";try{const e=await window.Notification.requestPermission();return e==="granted"?"granted":e==="denied"?"denied":"default"}catch(e){return im.warn("[os-notifications] requestPermission failed",e),dE()}}async function QV(e){if(!sm())throw new Error("Web notifications not supported");if(dE()!=="granted")throw new Error("Web notification permission not granted");new window.Notification(e.title,{body:e.body})}function uE(){if(typeof window>"u")return!1;const e=window.electronAPI;return!!(e&&typeof e.showNotification=="function")}function jV(){return typeof window>"u"?!1:$g()?uE():Vd()?!0:sm()}async function XV(e){const t=window.electronAPI;if(!t||typeof t.showNotification!="function")throw new Error("Electron notification bridge unavailable");await t.showNotification(e)}async function fE(){try{return await J(()=>import("./index-DdQ7zIzB.js"),__vite__mapDeps([2,1]))}catch(e){return im.info("[os-notifications] tauri notification plugin not available",e),null}}async function oA(){const e=await fE();if(!e)return"unsupported";try{return await e.isPermissionGranted()?"granted":"default"}catch(t){return im.warn("[os-notifications] failed to check tauri notification permission",t),"default"}}async function ZV(){const e=await fE();if(!e)return"unsupported";try{const t=await e.requestPermission();return t==="granted"?"granted":t==="denied"?"denied":"default"}catch(t){return im.warn("[os-notifications] failed to request tauri notification permission",t),await oA()}}async function JV(e){const t=await fE();if(!t)throw new Error("Tauri notification plugin unavailable");await t.sendNotification({title:e.title,body:e.body})}async function eH(){if(typeof window>"u")return{supported:!1,permission:"unsupported",info:"Not available in this environment."};if($g())return uE()?{supported:!0,permission:"granted",info:"Notifications are managed by your OS notification settings."}:{supported:!1,permission:"unsupported",info:"Electron notification bridge is not available."};if(Vd()){const n=await oA(),r=n!=="unsupported";return{supported:r,permission:n,info:r?void 0:"Tauri notification support is not available in this build."}}const e=dE(),t=e!=="unsupported";return{supported:t,permission:e,info:t?void 0:"This browser does not support OS notifications (or notifications are blocked by the environment)."}}async function Dy(){return typeof window>"u"?"unsupported":$g()?uE()?"granted":"unsupported":Vd()?await ZV():await KV()}async function tH(e){if(!(typeof window>"u")){if($g()){await XV(e);return}if(Vd()){await JV(e);return}await QV(e)}}function gE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let na=gE();function aA(e){na=e}const lA=/[&<>"']/,nH=new RegExp(lA.source,"g"),cA=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,rH=new RegExp(cA.source,"g"),iH={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ky=e=>iH[e];function Gr(e,t){if(t){if(lA.test(e))return e.replace(nH,ky)}else if(cA.test(e))return e.replace(rH,ky);return e}const sH=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function oH(e){return e.replace(sH,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const aH=/(^|[^\[])\^/g;function nn(e,t){let n=typeof e=="string"?e:e.source;t=t||"";const r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(aH,"$1"),n=n.replace(i,o),r},getRegex:()=>new RegExp(n,t)};return r}function Ly(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const Hc={exec:()=>null};function My(e,t){const n=e.replace(/\|/g,(s,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),r=n.split(/ \|/);let i=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(/\\\|/g,"|");return r}function Du(e,t,n){const r=e.length;if(r===0)return"";let i=0;for(;i<r&&e.charAt(r-i-1)===t;)i++;return e.slice(0,r-i)}function lH(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return-1}function Py(e,t,n,r){const i=t.href,s=t.title?Gr(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){r.state.inLink=!0;const a={type:"link",raw:n,href:i,title:s,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,a}return{type:"image",raw:n,href:i,title:s,text:Gr(o)}}function cH(e,t){const n=e.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(`
22
+ `);try{x=JSON.parse(D),N=!0}catch{x=D}}N&&(i&&await i(x),r&&(x=await r(x))),n==null||n({data:x,event:R,id:u,retry:_}),G.length&&(yield x)}}}finally{S.removeEventListener("abort",O),w.releaseLock()}break}catch(b){if(t==null||t(b),o!==void 0&&p>=o)break;const T=Math.min(_*2**(p-1),a??3e4);await f(T)}}}()}},aG=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},lG=e=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},cG=e=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},IO=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){const a=(e?i:i.map(l=>encodeURIComponent(l))).join(lG(r));switch(r){case"label":return`.${a}`;case"matrix":return`;${n}=${a}`;case"simple":return a;default:return`${n}=${a}`}}const s=aG(r),o=i.map(a=>r==="label"||r==="simple"?e?a:encodeURIComponent(a):em({allowReserved:e,name:n,value:a})).join(s);return r==="label"||r==="matrix"?s+o:o},em=({allowReserved:e,name:t,value:n})=>{if(n==null)return"";if(typeof n=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},wO=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:s})=>{if(i instanceof Date)return s?i.toISOString():`${n}=${i.toISOString()}`;if(r!=="deepObject"&&!t){let l=[];Object.entries(i).forEach(([d,u])=>{l=[...l,d,e?u:encodeURIComponent(u)]});const c=l.join(",");switch(r){case"form":return`${n}=${c}`;case"label":return`.${c}`;case"matrix":return`;${n}=${c}`;default:return c}}const o=cG(r),a=Object.entries(i).map(([l,c])=>em({allowReserved:e,name:r==="deepObject"?`${n}[${l}]`:l,value:c})).join(o);return r==="label"||r==="matrix"?o+a:a},dG=/\{[^{}]+\}/g,uG=({path:e,url:t})=>{let n=t;const r=t.match(dG);if(r)for(const i of r){let s=!1,o=i.substring(1,i.length-1),a="simple";o.endsWith("*")&&(s=!0,o=o.substring(0,o.length-1)),o.startsWith(".")?(o=o.substring(1),a="label"):o.startsWith(";")&&(o=o.substring(1),a="matrix");const l=e[o];if(l==null)continue;if(Array.isArray(l)){n=n.replace(i,IO({explode:s,name:o,style:a,value:l}));continue}if(typeof l=="object"){n=n.replace(i,wO({explode:s,name:o,style:a,value:l,valueOnly:!0}));continue}if(a==="matrix"){n=n.replace(i,`;${em({name:o,value:l})}`);continue}const c=encodeURIComponent(a==="label"?`.${l}`:l);n=n.replace(i,c)}return n},fG=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{const s=i.startsWith("/")?i:`/${i}`;let o=(e??"")+s;t&&(o=uG({path:t,url:o}));let a=n?r(n):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(o+=`?${a}`),o};function Sy(e){const t=e.body!==void 0;if(t&&e.bodySerializer)return"serializedBody"in e?e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null:e.body!==""?e.body:null;if(t)return e.body}const gG=async(e,t)=>{const n=typeof t=="function"?await t(e):t;if(n)return e.scheme==="bearer"?`Bearer ${n}`:e.scheme==="basic"?`Basic ${btoa(n)}`:n},mG={bodySerializer:e=>JSON.stringify(e,(t,n)=>typeof n=="bigint"?n.toString():n)},RO=({parameters:e={},...t}={})=>r=>{const i=[];if(r&&typeof r=="object")for(const s in r){const o=r[s];if(o==null)continue;const a=e[s]||t;if(Array.isArray(o)){const l=IO({allowReserved:a.allowReserved,explode:!0,name:s,style:"form",value:o,...a.array});l&&i.push(l)}else if(typeof o=="object"){const l=wO({allowReserved:a.allowReserved,explode:!0,name:s,style:"deepObject",value:o,...a.object});l&&i.push(l)}else{const l=em({allowReserved:a.allowReserved,name:s,value:o});l&&i.push(l)}}return i.join("&")},_G=e=>{var n;if(!e)return"stream";const t=(n=e.split(";")[0])==null?void 0:n.trim();if(t){if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some(r=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text"}},pG=(e,t)=>{var n,r;return t?!!(e.headers.has(t)||(n=e.query)!=null&&n[t]||(r=e.headers.get("Cookie"))!=null&&r.includes(`${t}=`)):!1},hG=async({security:e,...t})=>{for(const n of e){if(pG(t,n.name))continue;const r=await gG(n,t.auth);if(!r)continue;const i=n.name??"Authorization";switch(n.in){case"query":t.query||(t.query={}),t.query[i]=r;break;case"cookie":t.headers.append("Cookie",`${i}=${r}`);break;case"header":default:t.headers.set(i,r);break}}},Ey=e=>fG({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer=="function"?e.querySerializer:RO(e.querySerializer),url:e.url}),by=(e,t)=>{var r;const n={...e,...t};return(r=n.baseUrl)!=null&&r.endsWith("/")&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=OO(e.headers,t.headers),n},SG=e=>{const t=[];return e.forEach((n,r)=>{t.push([r,n])}),t},OO=(...e)=>{const t=new Headers;for(const n of e){if(!n)continue;const r=n instanceof Headers?SG(n):Object.entries(n);for(const[i,s]of r)if(s===null)t.delete(i);else if(Array.isArray(s))for(const o of s)t.append(i,o);else s!==void 0&&t.set(i,typeof s=="object"?JSON.stringify(s):s)}return t};class u_{constructor(){ye(this,"fns",[])}clear(){this.fns=[]}eject(t){const n=this.getInterceptorIndex(t);this.fns[n]&&(this.fns[n]=null)}exists(t){const n=this.getInterceptorIndex(t);return!!this.fns[n]}getInterceptorIndex(t){return typeof t=="number"?this.fns[t]?t:-1:this.fns.indexOf(t)}update(t,n){const r=this.getInterceptorIndex(t);return this.fns[r]?(this.fns[r]=n,t):!1}use(t){return this.fns.push(t),this.fns.length-1}}const EG=()=>({error:new u_,request:new u_,response:new u_}),bG=RO({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),vG={"Content-Type":"application/json"},AO=(e={})=>({...mG,headers:vG,parseAs:"auto",querySerializer:bG,...e}),NO=(e={})=>{let t=by(AO(),e);const n=()=>({...t}),r=c=>(t=by(t,c),n()),i=EG(),s=async c=>{const d={...t,...c,fetch:c.fetch??t.fetch??globalThis.fetch,headers:OO(t.headers,c.headers),serializedBody:void 0};d.security&&await hG({...d,security:d.security}),d.requestValidator&&await d.requestValidator(d),d.body!==void 0&&d.bodySerializer&&(d.serializedBody=d.bodySerializer(d.body)),(d.body===void 0||d.serializedBody==="")&&d.headers.delete("Content-Type");const u=Ey(d);return{opts:d,url:u}},o=async c=>{const{opts:d,url:u}=await s(c),f={redirect:"follow",...d,body:Sy(d)};let g=new Request(u,f);for(const v of i.request.fns)v&&(g=await v(g,d));const m=d.fetch;let _;try{_=await m(g)}catch(v){let C=v;for(const w of i.error.fns)w&&(C=await w(v,void 0,g,d));if(C=C||{},d.throwOnError)throw C;return d.responseStyle==="data"?void 0:{error:C,request:g,response:void 0}}for(const v of i.response.fns)v&&(_=await v(_,g,d));const p={request:g,response:_};if(_.ok){const v=(d.parseAs==="auto"?_G(_.headers.get("Content-Type")):d.parseAs)??"json";if(_.status===204||_.headers.get("Content-Length")==="0"){let w;switch(v){case"arrayBuffer":case"blob":case"text":w=await _[v]();break;case"formData":w=new FormData;break;case"stream":w=_.body;break;case"json":default:w={};break}return d.responseStyle==="data"?w:{data:w,...p}}let C;switch(v){case"arrayBuffer":case"blob":case"formData":case"text":C=await _[v]();break;case"json":{const w=await _.text();C=w?JSON.parse(w):{};break}case"stream":return d.responseStyle==="data"?_.body:{data:_.body,...p}}return v==="json"&&(d.responseValidator&&await d.responseValidator(C),d.responseTransformer&&(C=await d.responseTransformer(C))),d.responseStyle==="data"?C:{data:C,...p}}const S=await _.text();let h;try{h=JSON.parse(S)}catch{}const b=h??S;let T=b;for(const v of i.error.fns)v&&(T=await v(b,_,g,d));if(T=T||{},d.throwOnError)throw T;return d.responseStyle==="data"?void 0:{error:T,...p}},a=c=>d=>o({...d,method:c}),l=c=>async d=>{const{opts:u,url:f}=await s(d);return oG({...u,body:u.body,headers:u.headers,method:c,onRequest:async(g,m)=>{let _=new Request(g,m);for(const p of i.request.fns)p&&(_=await p(_,u));return _},serializedBody:Sy(u),url:f})};return{buildUrl:Ey,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:n,head:a("HEAD"),interceptors:i,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:o,setConfig:r,sse:{connect:l("CONNECT"),delete:l("DELETE"),get:l("GET"),head:l("HEAD"),options:l("OPTIONS"),patch:l("PATCH"),post:l("POST"),put:l("PUT"),trace:l("TRACE")},trace:a("TRACE")}},yG={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},TG=Object.entries(yG),xO=(e,t)=>{t||(t=new Map);for(const n of e)"in"in n?n.key&&t.set(n.key,{in:n.in,map:n.map}):"key"in n?t.set(n.key,{map:n.map}):n.args&&xO(n.args,t);return t},CG=e=>{for(const[t,n]of Object.entries(e))n&&typeof n=="object"&&!Object.keys(n).length&&delete e[t]},qe=(e,t)=>{const n={body:{},headers:{},path:{},query:{}},r=xO(t);let i;for(const[s,o]of e.entries())if(t[s]&&(i=t[s]),!!i)if("in"in i)if(i.key){const a=r.get(i.key),l=a.map||i.key;a.in&&(n[a.in][l]=o)}else n.body=o;else for(const[a,l]of Object.entries(o??{})){const c=r.get(a);if(c)if(c.in){const d=c.map||a;n[c.in][d]=l}else n[c.map]=l;else{const d=TG.find(([u])=>a.startsWith(u));if(d){const[u,f]=d;n[f][a.slice(u.length)]=l}else if("allowExtra"in i&&i.allowExtra){for(const[u,f]of Object.entries(i.allowExtra))if(f){n[u][a]=l;break}}}}return CG(n),n},IG=NO(AO({baseUrl:"http://localhost:4096"}));class jt{constructor(t){ye(this,"client");this.client=(t==null?void 0:t.client)??IG}}class wG{constructor(){ye(this,"defaultKey","default");ye(this,"instances",new Map)}get(t){const n=this.instances.get(t??this.defaultKey);if(!n)throw new Error('No SDK client found. Create one with "new OpencodeClient()" to fix this error.');return n}set(t,n){this.instances.set(n??this.defaultKey,t)}}class RG extends jt{get(t){return((t==null?void 0:t.client)??this.client).get({url:"/global/config",...t})}update(t,n){const r=qe([t],[{args:[{key:"config",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/global/config",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class OG extends jt{constructor(){super(...arguments);ye(this,"_config")}health(n){return((n==null?void 0:n.client)??this.client).get({url:"/global/health",...n})}event(n){return((n==null?void 0:n.client)??this.client).sse.get({url:"/global/event",...n})}dispose(n){return((n==null?void 0:n.client)??this.client).post({url:"/global/dispose",...n})}get config(){return this._config??(this._config=new RG({client:this.client}))}}class AG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/auth/{providerID}",...n,...r})}set(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{key:"auth",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).put({url:"/auth/{providerID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class NG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/project",...n,...r})}current(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/project/current",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"projectID"},{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"icon"},{in:"body",key:"commands"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/project/{projectID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class xG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"},{in:"body",key:"args"},{in:"body",key:"cwd"},{in:"body",key:"title"},{in:"body",key:"env"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/pty",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}remove(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/pty/{ptyID}",...n,...r})}get(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty/{ptyID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"size"}]}]);return((n==null?void 0:n.client)??this.client).put({url:"/pty/{ptyID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}connect(t,n){const r=qe([t],[{args:[{in:"path",key:"ptyID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/pty/{ptyID}/connect",...n,...r})}}class DG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/config",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"config",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/config",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}providers(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/config/providers",...n,...r})}}class kG extends jt{ids(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/tool/ids",...n,...r})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"provider"},{in:"query",key:"model"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/tool",...n,...r})}}class LG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeRemoveInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/worktree",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeCreateInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/experimental/worktree",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reset(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"worktreeResetInput",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/experimental/worktree/reset",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class MG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/experimental/resource",...n,...r})}}class PG extends jt{constructor(){super(...arguments);ye(this,"_resource")}get resource(){return this._resource??(this._resource=new MG({client:this.client}))}}class $G extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"roots"},{in:"query",key:"start"},{in:"query",key:"search"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session",...n,...r})}create(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"parentID"},{in:"body",key:"title"},{in:"body",key:"permission"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/status",...n,...r})}delete(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}",...n,...r})}get(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"time"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/session/{sessionID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}children(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/children",...n,...r})}todo(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/todo",...n,...r})}init(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"modelID"},{in:"body",key:"providerID"},{in:"body",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/init",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}fork(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/fork",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}abort(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/abort",...n,...r})}unshare(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}/share",...n,...r})}share(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/share",...n,...r})}diff(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"messageID"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/diff",...n,...r})}summarize(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"providerID"},{in:"body",key:"modelID"},{in:"body",key:"auto"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/summarize",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}messages(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/message",...n,...r})}prompt(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/message",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}message(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/session/{sessionID}/message/{messageID}",...n,...r})}promptAsync(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"model"},{in:"body",key:"agent"},{in:"body",key:"noReply"},{in:"body",key:"tools"},{in:"body",key:"format"},{in:"body",key:"system"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/prompt_async",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}command(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"arguments"},{in:"body",key:"command"},{in:"body",key:"variant"},{in:"body",key:"parts"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/command",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}shell(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"agent"},{in:"body",key:"model"},{in:"body",key:"command"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/shell",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}revert(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"},{in:"body",key:"messageID"},{in:"body",key:"partID"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/revert",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}unrevert(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/unrevert",...n,...r})}}class FG extends jt{delete(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r})}update(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"messageID"},{in:"path",key:"partID"},{in:"query",key:"directory"},{key:"part",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).patch({url:"/session/{sessionID}/message/{messageID}/part/{partID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class BG extends jt{respond(t,n){const r=qe([t],[{args:[{in:"path",key:"sessionID"},{in:"path",key:"permissionID"},{in:"query",key:"directory"},{in:"body",key:"response"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/session/{sessionID}/permissions/{permissionID}",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reply(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"reply"},{in:"body",key:"message"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/permission/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/permission",...n,...r})}}class UG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/question",...n,...r})}reply(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"},{in:"body",key:"answers"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/question/{requestID}/reply",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}reject(t,n){const r=qe([t],[{args:[{in:"path",key:"requestID"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/question/{requestID}/reject",...n,...r})}}class GG extends jt{authorize(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/provider/{providerID}/oauth/authorize",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}callback(t,n){const r=qe([t],[{args:[{in:"path",key:"providerID"},{in:"query",key:"directory"},{in:"body",key:"method"},{in:"body",key:"code"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/provider/{providerID}/oauth/callback",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class VG extends jt{constructor(){super(...arguments);ye(this,"_oauth")}list(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/provider",...r,...i})}auth(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/provider/auth",...r,...i})}get oauth(){return this._oauth??(this._oauth=new GG({client:this.client}))}}class HG extends jt{text(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"pattern"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find",...n,...r})}files(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"},{in:"query",key:"dirs"},{in:"query",key:"type"},{in:"query",key:"limit"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find/file",...n,...r})}symbols(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"query"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/find/symbol",...n,...r})}}let YG=class extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file",...n,...r})}read(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"query",key:"path"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file/content",...n,...r})}status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/file/status",...n,...r})}};class zG extends jt{remove(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).delete({url:"/mcp/{name}/auth",...n,...r})}start(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth",...n,...r})}callback(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"},{in:"body",key:"code"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth/callback",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}authenticate(t,n){const r=qe([t],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/mcp/{name}/auth/authenticate",...n,...r})}}class WG extends jt{constructor(){super(...arguments);ye(this,"_auth")}status(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).get({url:"/mcp",...r,...i})}add(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"name"},{in:"body",key:"config"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}connect(n,r){const i=qe([n],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp/{name}/connect",...r,...i})}disconnect(n,r){const i=qe([n],[{args:[{in:"path",key:"name"},{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/mcp/{name}/disconnect",...r,...i})}get auth(){return this._auth??(this._auth=new zG({client:this.client}))}}class qG extends jt{next(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/tui/control/next",...n,...r})}response(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/tui/control/response",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}}class KG extends jt{constructor(){super(...arguments);ye(this,"_control")}appendPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"text"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/append-prompt",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}openHelp(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-help",...r,...i})}openSessions(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-sessions",...r,...i})}openThemes(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-themes",...r,...i})}openModels(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/open-models",...r,...i})}submitPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/submit-prompt",...r,...i})}clearPrompt(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/clear-prompt",...r,...i})}executeCommand(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"command"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/execute-command",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}showToast(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"title"},{in:"body",key:"message"},{in:"body",key:"variant"},{in:"body",key:"duration"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/show-toast",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}publish(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{key:"body",map:"body"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/publish",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}selectSession(n,r){const i=qe([n],[{args:[{in:"query",key:"directory"},{in:"body",key:"sessionID"}]}]);return((r==null?void 0:r.client)??this.client).post({url:"/tui/select-session",...r,...i,headers:{"Content-Type":"application/json",...r==null?void 0:r.headers,...i.headers}})}get control(){return this._control??(this._control=new qG({client:this.client}))}}class QG extends jt{dispose(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/instance/dispose",...n,...r})}}class jG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/path",...n,...r})}}class XG extends jt{get(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/vcs",...n,...r})}}class ZG extends jt{list(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/command",...n,...r})}}let JG=class extends jt{log(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"},{in:"body",key:"service"},{in:"body",key:"level"},{in:"body",key:"message"},{in:"body",key:"extra"}]}]);return((n==null?void 0:n.client)??this.client).post({url:"/log",...n,...r,headers:{"Content-Type":"application/json",...n==null?void 0:n.headers,...r.headers}})}agents(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/agent",...n,...r})}skills(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/skill",...n,...r})}};class eV extends jt{status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/lsp",...n,...r})}}class tV extends jt{status(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).get({url:"/formatter",...n,...r})}}let nV=class extends jt{subscribe(t,n){const r=qe([t],[{args:[{in:"query",key:"directory"}]}]);return((n==null?void 0:n.client)??this.client).sse.get({url:"/event",...n,...r})}};const Pg=class Pg extends jt{constructor(n){super(n);ye(this,"_global");ye(this,"_auth");ye(this,"_project");ye(this,"_pty");ye(this,"_config");ye(this,"_tool");ye(this,"_worktree");ye(this,"_experimental");ye(this,"_session");ye(this,"_part");ye(this,"_permission");ye(this,"_question");ye(this,"_provider");ye(this,"_find");ye(this,"_file");ye(this,"_mcp");ye(this,"_tui");ye(this,"_instance");ye(this,"_path");ye(this,"_vcs");ye(this,"_command");ye(this,"_app");ye(this,"_lsp");ye(this,"_formatter");ye(this,"_event");Pg.__registry.set(this,n==null?void 0:n.key)}get global(){return this._global??(this._global=new OG({client:this.client}))}get auth(){return this._auth??(this._auth=new AG({client:this.client}))}get project(){return this._project??(this._project=new NG({client:this.client}))}get pty(){return this._pty??(this._pty=new xG({client:this.client}))}get config(){return this._config??(this._config=new DG({client:this.client}))}get tool(){return this._tool??(this._tool=new kG({client:this.client}))}get worktree(){return this._worktree??(this._worktree=new LG({client:this.client}))}get experimental(){return this._experimental??(this._experimental=new PG({client:this.client}))}get session(){return this._session??(this._session=new $G({client:this.client}))}get part(){return this._part??(this._part=new FG({client:this.client}))}get permission(){return this._permission??(this._permission=new BG({client:this.client}))}get question(){return this._question??(this._question=new UG({client:this.client}))}get provider(){return this._provider??(this._provider=new VG({client:this.client}))}get find(){return this._find??(this._find=new HG({client:this.client}))}get file(){return this._file??(this._file=new YG({client:this.client}))}get mcp(){return this._mcp??(this._mcp=new WG({client:this.client}))}get tui(){return this._tui??(this._tui=new KG({client:this.client}))}get instance(){return this._instance??(this._instance=new QG({client:this.client}))}get path(){return this._path??(this._path=new jG({client:this.client}))}get vcs(){return this._vcs??(this._vcs=new XG({client:this.client}))}get command(){return this._command??(this._command=new ZG({client:this.client}))}get app(){return this._app??(this._app=new JG({client:this.client}))}get lsp(){return this._lsp??(this._lsp=new eV({client:this.client}))}get formatter(){return this._formatter??(this._formatter=new tV({client:this.client}))}get event(){return this._event??(this._event=new nV({client:this.client}))}};ye(Pg,"__registry",new wG);let qp=Pg;function rV(e){if(e!=null&&e.fetch||(e={...e,fetch:r=>(r.timeout=!1,fetch(r))}),e!=null&&e.directory){const r=/[^\x00-\x7F]/.test(e.directory)?encodeURIComponent(e.directory):e.directory;e.headers={...e.headers,"x-opencode-directory":r}}const t=NO(e);return new qp({client:t})}class iV{constructor(){this.clients=new Map}key(t,n){return`${t}:${kO(n)}`}createClient(t,n,r="root"){const i=this.key(t,n),s=this.clients.get(i);if(s)return s;const o=DO(n),a=rV({baseUrl:o});return this.clients.set(i,a),a}getClient(t,n){return this.clients.get(this.key(t,n))??null}destroyClient(t,n){this.clients.delete(this.key(t,n))}destroyClientsForInstance(t){for(const n of Array.from(this.clients.keys()))(n===t||n.startsWith(`${t}:`))&&this.clients.delete(n)}destroyAll(){this.clients.clear()}}function DO(e){const t=kO(e);return`${sV(GL)}${t}/`}function kO(e){return(e.startsWith("/")?e:`/${e}`).replace(/\/+/g,"/").replace(/\/+$/,"")}function sV(e){return e.replace(/\/+$/,"")}const qf=new iV,f_=xt("sse"),[vy,oV]=z(new Map);class aV{constructor(){Op.on("instance.eventStatus",t=>{var r;const n=t;if(this.updateConnectionStatus(n.instanceId,n.status),n.status==="disconnected"){if(n.reason==="workspace stopped")return;const i=n.reason??"Instance disconnected";(r=this.onConnectionLost)==null||r.call(this,n.instanceId,i)}}),Op.on("instance.event",t=>{const n=t;this.updateConnectionStatus(n.instanceId,"connected"),this.handleEvent(n.instanceId,n.event)})}seedStatus(t,n){this.updateConnectionStatus(t,n)}handleEvent(t,n){var r,i,s,o,a,l,c,d,u,f,g,m,_,p,S,h,b,T,v,C;if(!n||typeof n!="object"||typeof n.type!="string"){f_.warn("Dropping malformed event",n);return}switch(f_.info("Received event",{type:n.type,event:n}),n.type){case"message.updated":(r=this.onMessageUpdate)==null||r.call(this,t,n);break;case"message.part.updated":(i=this.onMessagePartUpdated)==null||i.call(this,t,n);break;case"message.part.delta":(s=this.onMessagePartDelta)==null||s.call(this,t,n);break;case"message.removed":(o=this.onMessageRemoved)==null||o.call(this,t,n);break;case"message.part.removed":(a=this.onMessagePartRemoved)==null||a.call(this,t,n);break;case"session.updated":(l=this.onSessionUpdate)==null||l.call(this,t,n);break;case"session.compacted":(c=this.onSessionCompacted)==null||c.call(this,t,n);break;case"session.error":(d=this.onSessionError)==null||d.call(this,t,n);break;case"tui.toast.show":(u=this.onTuiToast)==null||u.call(this,t,n);break;case"session.idle":(f=this.onSessionIdle)==null||f.call(this,t,n);break;case"session.status":(g=this.onSessionStatus)==null||g.call(this,t,n);break;case"session.diff":(m=this.onSessionDiff)==null||m.call(this,t,n);break;case"permission.updated":case"permission.asked":(_=this.onPermissionUpdated)==null||_.call(this,t,n);break;case"permission.replied":(p=this.onPermissionReplied)==null||p.call(this,t,n);break;case"question.asked":(S=this.onQuestionAsked)==null||S.call(this,t,n);break;case"question.replied":case"question.rejected":(h=this.onQuestionAnswered)==null||h.call(this,t,n);break;case"lsp.updated":(b=this.onLspUpdated)==null||b.call(this,t,n);break;case"background.process.updated":(T=this.onBackgroundProcessUpdated)==null||T.call(this,t,n);break;case"background.process.removed":(v=this.onBackgroundProcessRemoved)==null||v.call(this,t,n);break;case"server.instance.disposed":(C=this.onInstanceDisposed)==null||C.call(this,t,n);break;default:f_.warn("Unknown SSE event type",{type:n.type})}}updateConnectionStatus(t,n){oV(r=>{const i=new Map(r);return i.set(t,n),i})}getStatus(t){return vy().get(t)??null}getStatuses(){return vy()}}const Tn=new aV,Ma=32e3;function Sl(e,t){if(!(t!=null&&t.providerId)||!t.modelId)return!1;const r=(mo().get(e)||[]).find(i=>i.id===t.providerId);return r?r.models.some(i=>i.id===t.modelId):!1}function lV(e){const t=_w().models.recents??[];for(const n of t)if(Sl(e,n))return n}async function rE(e,t){const n=mo().get(e)||[],r=mm().get(e)||[];if(t){const s=r.find(a=>a.name===t);if(s&&s.model&&Sl(e,s.model))return{providerId:s.model.providerId,modelId:s.model.modelId};const o=await VL(e,t);if(Sl(e,o))return o}const i=lV(e);if(i)return i;for(const s of n)if(s.defaultModelId){const o=s.models.find(a=>a.id===s.defaultModelId);if(o)return{providerId:s.id,modelId:o.id}}if(n.length>0){const s=n[0],o=s.models[0];if(o)return{providerId:s.id,modelId:o.id}}return{providerId:"",modelId:""}}function LO(e,t=[]){if(!e)return e;const n=new Set(t.filter(a=>a.source.type==="file").map(a=>a.source.path)),r=new Set(t.filter(a=>a.source.type==="text"&&typeof a.display=="string"&&a.display.startsWith("path:")).map(a=>a.source.value));let i=e;i=i.replace(/@(\.\/)/g,"___ROOT___"),i=i.replace(/@(\.)(?!\.)/g,"___ROOT_NOSLASH___");const s=new Set;for(const a of n)a&&a!=="."&&a!=="./"&&s.add(a);for(const a of r)a&&a!=="."&&a!=="./"&&s.add(a);for(const a of s){if(!a)continue;const l=a.startsWith("./")?a.slice(2):a,c=a.startsWith("./")?a:"./"+a;i=i.replace("@"+l,c),i=i.replace("@"+l+"/",c+"/")}if(i=i.replace("___ROOT___","./"),i=i.replace("___ROOT_NOSLASH___","./"),!i.includes("[pasted #")||!t||t.length===0)return i;const o=new Map;for(const a of t){const l=a==null?void 0:a.source;if(!l||l.type!=="text")continue;const c=a==null?void 0:a.display,d=l.value;if(typeof c!="string"||typeof d!="string")continue;const u=c.match(/pasted #(\d+)/);if(!u)continue;const f=`[pasted #${u[1]}]`;o.has(f)||o.set(f,d)}return o.size===0?i:i.replace(/\[pasted #(\d+)\]/g,a=>{const l=o.get(a);return typeof l=="string"?l:a})}const ea=xt("api"),[iE,Kp]=z(new Map),[tm,El]=z(new Map),[MO,Qp]=z(new Map),g_=new Map,m_=new Map;function Kf(e){return!e||typeof e!="object"?{version:1,defaultWorktreeSlug:"root",parentSessionWorktreeSlug:{}}:{version:1,defaultWorktreeSlug:e.defaultWorktreeSlug||"root",parentSessionWorktreeSlug:e.parentSessionWorktreeSlug??{}}}async function cV(e){if(!e||iE().has(e)&&MO().has(e))return;const t=g_.get(e);if(t)return t;const n=ln.fetchWorktrees(e).then(r=>{Kp(i=>{const s=new Map(i);return s.set(e,r.worktrees??[]),s}),Qp(i=>{const s=new Map(i);return s.set(e,typeof r.isGitRepo=="boolean"?r.isGitRepo:null),s}),tm().has(e)&&oE(e).catch(()=>{})}).catch(r=>{ea.warn("Failed to load worktrees",{instanceId:e,error:r}),Kp(i=>{const s=new Map(i);return s.set(e,[]),s}),Qp(i=>{if(i.has(e))return i;const s=new Map(i);return s.set(e,null),s})}).finally(()=>{g_.delete(e)});return g_.set(e,n),n}async function jp(e){e&&await ln.fetchWorktrees(e).then(t=>{Kp(n=>{const r=new Map(n);return r.set(e,t.worktrees??[]),r}),Qp(n=>{const r=new Map(n);return r.set(e,typeof t.isGitRepo=="boolean"?t.isGitRepo:null),r}),tm().has(e)&&oE(e).catch(()=>{})}).catch(t=>{ea.warn("Failed to reload worktrees",{instanceId:e,error:t})})}function PO(e){return MO().get(e)??null}async function dV(e,t){if(!e)throw new Error("Missing instanceId");const n=(t??"").trim();if(!n)throw new Error("Worktree name is required");return await ln.createWorktree(e,{slug:n})}async function uV(e,t,n){if(!e)throw new Error("Missing instanceId");const r=(t??"").trim();if(!r||r==="root")throw new Error("Invalid worktree");await ln.deleteWorktree(e,r,n)}async function sE(e){if(!e||tm().has(e))return;const t=m_.get(e);if(t)return t;const n=ln.readWorktreeMap(e).then(r=>{El(i=>{const s=new Map(i);return s.set(e,Kf(r)),s}),iE().has(e)&&oE(e).catch(()=>{})}).catch(r=>{ea.warn("Failed to load worktree map",{instanceId:e,error:r}),El(i=>{const s=new Map(i);return s.set(e,Kf(null)),s})}).finally(()=>{m_.delete(e)});return m_.set(e,n),n}async function $O(e){e&&await ln.readWorktreeMap(e).then(t=>{El(n=>{const r=new Map(n);return r.set(e,Kf(t)),r})}).catch(t=>{ea.warn("Failed to reload worktree map",{instanceId:e,error:t})})}function Sd(e){return iE().get(e)??[]}function Jd(e){return tm().get(e)??Kf(null)}function fV(e,t){const n=(t??"").trim()||"root";if(n==="root")return!0;const r=Sd(e);return r.length===0?!0:r.some(i=>i.slug===n)}function eu(e,t){const n=(t??"").trim()||"root";return n==="root"?"root":fV(e,n)?n:"root"}async function oE(e){const t=Jd(e),n=new Set(Sd(e).map(a=>a.slug));n.add("root");let r=!1,i=t.defaultWorktreeSlug||"root";n.has(i)||(i="root",r=!0);const s={...t.parentSessionWorktreeSlug??{}};for(const[a,l]of Object.entries(s))n.has(l)||(delete s[a],r=!0);if(!r)return!1;const o={version:1,defaultWorktreeSlug:i,parentSessionWorktreeSlug:s};return El(a=>{const l=new Map(a);return l.set(e,o),l}),await ln.writeWorktreeMap(e,o).catch(a=>{ea.warn("Failed to persist pruned worktree map",{instanceId:e,error:a})}),!0}function gV(e){return eu(e,Jd(e).defaultWorktreeSlug||"root")}function FO(e,t){var r;const n=(r=Ft().get(e))==null?void 0:r.get(t);return n?n.parentId??n.id:t}function aE(e,t){const n=Jd(e),r=n.parentSessionWorktreeSlug[t]??n.defaultWorktreeSlug??"root";return eu(e,r)}function Hn(e,t){const n=FO(e,t);return aE(e,n)}async function gf(e,t,n){await sE(e);const r=Jd(e),i=eu(e,n),s={...r.parentSessionWorktreeSlug??{}};s[t]=i;const o={...r,parentSessionWorktreeSlug:s};El(a=>{const l=new Map(a);return l.set(e,o),l}),await ln.writeWorktreeMap(e,o).catch(a=>{ea.warn("Failed to persist session worktree mapping",{instanceId:e,parentSessionId:t,slug:i,error:a})})}async function mV(e,t){await sE(e);const n=Jd(e);if(!n.parentSessionWorktreeSlug[t])return;const r={...n.parentSessionWorktreeSlug??{}};delete r[t];const i={...n,parentSessionWorktreeSlug:r};El(s=>{const o=new Map(s);return o.set(e,i),o}),await ln.writeWorktreeMap(e,i).catch(s=>{ea.warn("Failed to persist session worktree mapping removal",{instanceId:e,parentSessionId:t,error:s})})}function _V(e,t){if(!t)return null;const r=Sd(e).find(i=>i.directory===t);return(r==null?void 0:r.slug)??null}function pV(e,t){const n=eu(e,t||"root");return`/workspaces/${encodeURIComponent(e)}/worktrees/${encodeURIComponent(n)}/instance`}function Jn(e,t){const n=eu(e,t||"root"),r=pV(e,n);return qf.createClient(e,r,n)}function nm(e){return Jn(e,"root")}const Ed=new Map;function BO(e,t){return`${e}:${t}`}function lE(e,t){const n=BO(e,t.id),r=Ed.get(n);if(r&&r.revision===t.revision)return r.data;const i=[];for(const o of t.partIds){const a=t.parts[o];a!=null&&a.data&&i.push({...a.data,revision:a.revision})}const s={orderedParts:i};return Ed.set(n,{revision:t.revision,data:s}),s}function hV(e){const t=`${e}:`;for(const n of Ed.keys())n.startsWith(t)&&Ed.delete(n)}function __(e,t){for(const n of t)typeof n!="string"||n.length===0||Ed.delete(BO(e,n))}const SV=xt("session");function yy(e){return{instanceId:e,sessions:{},sessionOrder:[],messages:{},messageInfoVersion:{},pendingParts:{},sessionRevisions:{},permissions:{queue:[],active:null,byMessage:{}},questions:{queue:[],active:null,byMessage:{}},usage:{},scrollState:{},latestTodos:{}}}function Ty(e,t,n){if(typeof t.id=="string"&&t.id.length>0)return t.id;if(t.type==="tool")throw new Error("Tool part missing id");const r=`${e}-part-${n}`;return t.id=r,r}const EV=3e4;function bV(e,t){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 UO(){return{entries:{},totalInputTokens:0,totalOutputTokens:0,totalReasoningTokens:0,totalCost:0,actualUsageTokens:0,latestMessageId:void 0}}function GO(e){var c,d,u;if(!e||e.role!=="assistant")return null;const t=typeof e.id=="string"?e.id:void 0;if(!t)return null;const n=e.tokens;if(!n)return null;const r=n.input??0,i=n.output??0,s=n.reasoning??0,o=((c=n.cache)==null?void 0:c.read)??0,a=((d=n.cache)==null?void 0:d.write)??0;if(r===0&&i===0&&s===0&&o===0&&a===0)return null;const l=e.summary?i:r+o+a+i+s;return{messageId:t,inputTokens:r,outputTokens:i,reasoningTokens:s,cacheReadTokens:o,cacheWriteTokens:a,combinedTokens:l,cost:e.cost??0,timestamp:((u=e.time)==null?void 0:u.created)??0,hasContextUsage:r+o+a>0}}function VO(e,t){var n;t&&(e.entries[t.messageId]=t,e.totalInputTokens+=t.inputTokens,e.totalOutputTokens+=t.outputTokens,e.totalReasoningTokens+=t.reasoningTokens,e.totalCost+=t.cost,(!e.latestMessageId||t.timestamp>=(((n=e.entries[e.latestMessageId])==null?void 0:n.timestamp)??0))&&(e.latestMessageId=t.messageId,e.actualUsageTokens=t.combinedTokens))}function p_(e,t){if(!t)return;const n=e.entries[t];if(n&&(e.totalInputTokens-=n.inputTokens,e.totalOutputTokens-=n.outputTokens,e.totalReasoningTokens-=n.reasoningTokens,e.totalCost-=n.cost,delete e.entries[t],e.latestMessageId===t)){e.latestMessageId=void 0,e.actualUsageTokens=0;let r=null;for(const i of Object.values(e.entries))(!r||i.timestamp>=r.timestamp)&&(r=i);r&&(e.latestMessageId=r.messageId,e.actualUsageTokens=r.combinedTokens)}}function Cy(e){const t=UO();for(const n of e){const r=GO(n);r&&VO(t,r)}return t}function vV(e,t){const[n,r]=Yw(yy(e)),i="todowrite",s=new Map;function o(Y){var re,ee;if(!Y)return-1;const q=((re=n.sessions[Y])==null?void 0:re.messageIds)??[];for(let H=q.length-1;H>=0;H--){const fe=q[H],oe=n.messages[fe];if(!(!oe||!Array.isArray(oe.partIds)||oe.partIds.length===0))for(const X of oe.partIds){const ve=(ee=oe.parts[X])==null?void 0:ee.data;if((ve==null?void 0:ve.type)==="compaction")return H}}return-1}function a(Y){if(!Y||Y.type!=="tool"||(typeof Y.tool=="string"?Y.tool:"")!==i)return!1;const re=Y.state;return!re||typeof re!="object"?!1:re.status==="completed"}function l(Y,q){Y&&r("latestTodos",Y,re=>re&&re.timestamp>q.timestamp?re:q)}function c(Y){if(!(!Y||!Array.isArray(Y.partIds)||Y.partIds.length===0))for(let q=Y.partIds.length-1;q>=0;q-=1){const re=Y.partIds[q],ee=Y.parts[re];if(ee&&a(ee.data)){const H=typeof Y.updatedAt=="number"?Y.updatedAt:Date.now();l(Y.sessionId,{messageId:Y.id,partId:re,timestamp:H});break}}}function d(Y){r("latestTodos",Y,void 0)}function u(Y){Y&&r("sessionRevisions",Y,(q=0)=>q+1)}function f(Y){return n.sessionRevisions[Y]??0}function g(Y,q){r("usage",Y,re=>{const ee=re?{...re,entries:{...re.entries}}:UO();return q(ee),ee})}function m(Y){if(!Y||typeof Y.sessionID!="string")return;const q=typeof Y.id=="string"?Y.id:void 0;q&&g(Y.sessionID,re=>{p_(re,q);const ee=GO(Y);ee&&VO(re,ee)})}function _(Y,q){const re=Cy(q);r("usage",Y,re)}function p(Y){return n.usage[Y]}function S(Y){const q=n.sessions[Y];if(q)return q;const re=Date.now(),ee={id:Y,createdAt:re,updatedAt:re,messageIds:[]};return r("sessions",Y,ee),r("sessionOrder",H=>H.includes(Y)?H:[...H,Y]),ee}function h(Y){const q=S(Y.id),re=[...q.messageIds],ee=Array.isArray(Y.messageIds)?Y.messageIds:q.messageIds;r("sessions",Y.id,{...q,title:Y.title??q.title,parentId:Y.parentId??q.parentId??null,updatedAt:Date.now(),messageIds:ee,revert:Y.revert??q.revert??null}),Array.isArray(Y.messageIds)&&!bV(re,ee)&&u(Y.id)}function b(Y,q,re){if(!Array.isArray(q)||q.length===0)return;S(Y);const ee=q.map(De=>De.id),H={},fe=Date.now();q.forEach(De=>{const Ee=v(De.id,De.parts),V=!!(De.bumpRevision||Ee),ie=n.messages[De.id];H[De.id]={id:De.id,sessionId:De.sessionId,role:De.role,status:De.status,createdAt:De.createdAt??(ie==null?void 0:ie.createdAt)??fe,updatedAt:De.updatedAt??fe,isEphemeral:De.isEphemeral??(ie==null?void 0:ie.isEphemeral)??!1,revision:ie?ie.revision+(V?1:0):0,partIds:Ee?Ee.ids:(ie==null?void 0:ie.partIds)??[],parts:Ee?Ee.map:(ie==null?void 0:ie.parts)??{}}});const oe=re?Array.from(re):void 0,X=oe?Cy(oe):n.usage[Y],ve={...n.messages},he={...n.messageInfoVersion},Ce={...n.pendingParts},ke={...n.permissions.byMessage};if(Object.entries(H).forEach(([De,Ee])=>{ve[De]=Ee}),oe)for(const De of oe){const Ee=De.id;s.set(Ee,De);const V=he[Ee]??0;he[Ee]=V+1}hr(()=>{r("messages",()=>ve),r("messageInfoVersion",()=>he),r("pendingParts",()=>Ce),r("permissions","byMessage",()=>ke),X&&r("usage",Y,X),r("sessions",Y,De=>({...De,messageIds:ee,updatedAt:Date.now()})),Object.values(H).forEach(De=>{c(De)}),u(Y)})}function T(Y,q){S(Y),r("sessions",Y,"messageIds",(re=[])=>re.includes(q)?re:[...re,q])}function v(Y,q){if(!q||q.length===0)return null;const re={},ee=[];return q.forEach((H,fe)=>{const oe=Ty(Y,H,fe),X=H;re[oe]={id:oe,data:X,revision:0},ee.push(oe)}),{map:re,ids:ee}}function C(Y){const q=v(Y.id,Y.parts),re=!!(Y.bumpRevision||q),ee=Date.now();let H;r("messages",Y.id,fe=>{const oe=fe?fe.revision+(re?1:0):0,X={id:Y.id,sessionId:Y.sessionId,role:Y.role,status:Y.status,createdAt:Y.createdAt??(fe==null?void 0:fe.createdAt)??ee,updatedAt:Y.updatedAt??ee,isEphemeral:Y.isEphemeral??(fe==null?void 0:fe.isEphemeral)??!1,revision:oe,partIds:q?q.ids:(fe==null?void 0:fe.partIds)??[],parts:q?q.map:(fe==null?void 0:fe.parts)??{}};return H=X,X}),H&&c(H),T(Y.sessionId,Y.id),M(Y.id),u(Y.sessionId)}function w(Y){r("pendingParts",Y.messageId,(q=[])=>[...q,Y])}function I(Y){r("pendingParts",q=>{if(!q[Y])return q;const re={...q};return delete re[Y],re})}function O(Y,q,re){if(!Y||!q||re.type!=="tool")return;const ee=re.callID??re.callId??re.toolCallID??re.toolCallId??void 0;ee&&r("permissions","byMessage",Y,ii(H=>{var oe,X,ve,he;if(!H)return;const fe=H[q];for(const[Ce,ke]of Object.entries(H))if(!(!ke||ke.partId||(((oe=ke.permission.tool)==null?void 0:oe.callID)??((X=ke.permission.tool)==null?void 0:X.callId)??ke.permission.callID??ke.permission.callId??ke.permission.toolCallID??ke.permission.toolCallId??((ve=ke.permission.metadata)==null?void 0:ve.callID)??((he=ke.permission.metadata)==null?void 0:he.callId)??void 0)!==ee)){(!fe||fe.permission.id===ke.permission.id)&&(ke.partId=q,H[q]=ke,delete H[Ce]);break}}))}function U(Y){const q=n.messages[Y.messageId];if(!q){w({messageId:Y.messageId,part:Y.part,receivedAt:Date.now()});return}const re=Ty(Y.messageId,Y.part,q.partIds.length),ee=Y.part;r("messages",Y.messageId,ii(H=>{H.partIds.includes(re)||(H.partIds=[...H.partIds,re]);const fe=H.parts[re],oe=fe?fe.revision+1:ee.version??0;H.parts[re]={id:re,data:ee,revision:oe},H.updatedAt=Date.now(),(Y.bumpRevision??!0)&&(H.revision+=1)})),O(Y.messageId,re,ee),a(ee)&&l(q.sessionId,{messageId:Y.messageId,partId:re,timestamp:Date.now()}),u(q.sessionId)}function B(Y){if(!(Y!=null&&Y.messageId)||!Y.partId||!Y.field||typeof Y.delta!="string")return;const q=n.messages[Y.messageId];if(!q)return;let re=!1;r("messages",Y.messageId,ii(ee=>{const H=ee.parts[Y.partId];if(!(H!=null&&H.data))return;const fe=H.data,oe=fe==null?void 0:fe[Y.field];(typeof oe=="string"||oe===void 0||oe===null)&&(fe[Y.field]=`${oe??""}${Y.delta}`,re=!0),re&&(H.revision+=1,ee.updatedAt=Date.now(),(Y.bumpRevision??!0)&&(ee.revision+=1))})),re&&(Y.bumpSessionRevision??!0)&&u(q.sessionId)}function k(Y){if(!Y)return;const q=n.messages[Y],re=new Set;q!=null&&q.sessionId?re.add(q.sessionId):Object.values(n.sessions).forEach(ee=>{ee.messageIds.includes(Y)&&re.add(ee.id)}),__(e,[Y]),hr(()=>{re.forEach(ee=>{r("sessions",ee,"messageIds",(H=[])=>H.filter(fe=>fe!==Y))}),r("messages",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),r("messageInfoVersion",ee=>{if(!(Y in ee))return ee;const H={...ee};return delete H[Y],H}),s.delete(Y),r("pendingParts",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),r("permissions","byMessage",ee=>{if(!ee[Y])return ee;const H={...ee};return delete H[Y],H}),re.forEach(ee=>{var H;g(ee,fe=>p_(fe,Y)),((H=n.latestTodos[ee])==null?void 0:H.messageId)===Y&&d(ee),u(ee)})})}function L(Y,q){if(!Y||!q)return;const re=n.messages[Y];re&&(__(e,[Y]),hr(()=>{r("messages",Y,ii(ee=>{!ee.parts[q]&&!ee.partIds.includes(q)||(ee.partIds=ee.partIds.filter(H=>H!==q),delete ee.parts[q],ee.updatedAt=Date.now(),ee.revision+=1)})),r("permissions","byMessage",Y,ee=>{if(!ee||!ee[q])return ee;const H={...ee};return delete H[q],H}),u(re.sessionId)}))}function M(Y){const q=n.pendingParts[Y];if(!q||q.length===0)return;const re=Date.now(),ee=q.filter(H=>re-H.receivedAt<=EV);if(ee.length===0){I(Y);return}ee.forEach(H=>U({messageId:Y,part:H.part})),I(Y)}function G(Y){if(Y.oldId===Y.newId)return;const q=n.messages[Y.oldId];if(!q)return;const re={...q,id:Y.newId,isEphemeral:!1,updatedAt:Date.now(),partIds:Y.clearParts?[]:q.partIds,parts:Y.clearParts?{}:q.parts};r("messages",Y.newId,re),r("messages",ve=>{const he={...ve};return delete he[Y.oldId],he});const ee=new Set;Object.values(n.sessions).forEach(ve=>{const he=ve.messageIds.indexOf(Y.oldId);he!==-1&&(r("sessions",ve.id,"messageIds",Ce=>{const ke=[...Ce];return ke[he]=Y.newId,ke}),ee.add(ve.id))}),ee.forEach(ve=>u(ve));const H=s.get(Y.oldId);if(H){s.set(Y.newId,H),s.delete(Y.oldId);const ve=n.messageInfoVersion[Y.oldId]??0;r("messageInfoVersion",Y.newId,ve),r("messageInfoVersion",he=>{const Ce={...he};return delete Ce[Y.oldId],Ce})}const fe=n.permissions.byMessage[Y.oldId];fe&&(r("permissions","byMessage",Y.newId,fe),r("permissions",ve=>{const he={...ve},Ce={...he.byMessage};return delete Ce[Y.oldId],he.byMessage=Ce,he}));const oe=n.questions.byMessage[Y.oldId];oe&&(r("questions","byMessage",Y.newId,oe),r("questions",ve=>{const he={...ve},Ce={...he.byMessage};return delete Ce[Y.oldId],he.byMessage=Ce,he}));const X=n.pendingParts[Y.oldId];X&&r("pendingParts",Y.newId,X),I(Y.oldId),c(re)}function R(Y,q){if(!Y)return;s.set(Y,q);const re=(n.messageInfoVersion[Y]??0)+1;r("messageInfoVersion",Y,re),m(q)}function x(Y){return n.messageInfoVersion[Y],s.get(Y)}function N(Y){var ee;const q=Y.messageId??"__global__",re=Y.partId??((ee=Y.permission)==null?void 0:ee.id)??"__global__";r("permissions",ii(H=>{H.byMessage[q]=H.byMessage[q]??{},H.byMessage[q][re]=Y;const fe=H.queue.findIndex(oe=>oe.permission.id===Y.permission.id);fe===-1?H.queue.push(Y):H.queue[fe]=Y,(!H.active||H.active.permission.id===Y.permission.id)&&(H.active=Y)}))}function D(Y){r("permissions",ii(q=>{var re;q.queue=q.queue.filter(ee=>ee.permission.id!==Y),((re=q.active)==null?void 0:re.permission.id)===Y&&(q.active=q.queue[0]??null),Object.keys(q.byMessage).forEach(ee=>{const H=q.byMessage[ee];Object.keys(H).forEach(fe=>{H[fe].permission.id===Y&&delete H[fe]}),Object.keys(H).length===0&&delete q.byMessage[ee]})}))}function $(Y,q){var oe,X;const re=Y??"__global__",ee=q??"__global__",H=(oe=n.permissions.byMessage[re])==null?void 0:oe[ee];if(!H)return null;const fe=((X=n.permissions.active)==null?void 0:X.permission.id)===H.permission.id;return{entry:H,active:fe}}function A(Y){var ee;const q=Y.messageId??"__global__",re=Y.partId??((ee=Y.request)==null?void 0:ee.id)??"__global__";r("questions",ii(H=>{H.byMessage[q]=H.byMessage[q]??{},H.byMessage[q][re]=Y;const fe=H.queue.findIndex(oe=>oe.request.id===Y.request.id);fe===-1?H.queue.push(Y):H.queue[fe]=Y,(!H.active||H.active.request.id===Y.request.id)&&(H.active=Y)}))}function W(Y){r("questions",ii(q=>{var re;q.queue=q.queue.filter(ee=>ee.request.id!==Y),((re=q.active)==null?void 0:re.request.id)===Y&&(q.active=q.queue[0]??null),Object.keys(q.byMessage).forEach(ee=>{const H=q.byMessage[ee];Object.keys(H).forEach(fe=>{H[fe].request.id===Y&&delete H[fe]}),Object.keys(H).length===0&&delete q.byMessage[ee]})}))}function ae(Y,q){var oe,X;const re=Y??"__global__",ee=q??"__global__",H=(oe=n.questions.byMessage[re])==null?void 0:oe[ee];if(!H)return null;const fe=((X=n.questions.active)==null?void 0:X.request.id)===H.request.id;return{entry:H,active:fe}}function ne(Y,q){const re=n.sessions[Y];if(!re)return;const ee=re.messageIds.indexOf(q);if(ee===-1)return;const H=re.messageIds.slice(ee),fe=re.messageIds.slice(0,ee);H.length!==0&&(r("sessions",Y,"messageIds",fe),r("messages",oe=>{const X={...oe};return H.forEach(ve=>delete X[ve]),X}),r("messageInfoVersion",oe=>{const X={...oe};return H.forEach(ve=>delete X[ve]),X}),H.forEach(oe=>s.delete(oe)),r("pendingParts",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),r("permissions","byMessage",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),r("questions","byMessage",oe=>{const X={...oe};return H.forEach(ve=>{X[ve]&&delete X[ve]}),X}),g(Y,oe=>{H.forEach(X=>p_(oe,X))}),u(Y))}function ge(Y,q){Y&&(S(Y),q!=null&&q.messageID&&ne(Y,q.messageID),r("sessions",Y,"revert",q??null))}function ue(Y){var q;return((q=n.sessions[Y])==null?void 0:q.revert)??null}function me(Y,q){return`${Y}:${q}`}function ce(Y,q,re){const ee=me(Y,q);r("scrollState",ee,{...re,updatedAt:Date.now()})}function se(Y,q){const re=me(Y,q);return n.scrollState[re]}function Z(Y){var re;if(!Y)return;const q=Object.values(n.messages).filter(ee=>ee.sessionId===Y).map(ee=>ee.id);SV.info("Clearing session data",{instanceId:e,sessionId:Y,messageCount:q.length}),__(e,q),hr(()=>{r("messages",ee=>{const H={...ee};return q.forEach(fe=>delete H[fe]),H}),r("messageInfoVersion",ee=>{const H={...ee};return q.forEach(fe=>delete H[fe]),H}),q.forEach(ee=>s.delete(ee)),r("pendingParts",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("permissions","byMessage",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("questions","byMessage",ee=>{const H={...ee};return q.forEach(fe=>{H[fe]&&delete H[fe]}),H}),r("usage",ee=>{const H={...ee};return delete H[Y],H}),r("sessionRevisions",ee=>{const H={...ee};return delete H[Y],H}),r("scrollState",ee=>{const H={...ee},fe=`${Y}:`;return Object.keys(H).forEach(oe=>{oe.startsWith(fe)&&delete H[oe]}),H}),r("sessions",Y,ee=>ee&&{...ee,messageIds:[]}),r("sessions",ee=>{const H={...ee};return delete H[Y],H}),r("sessionOrder",ee=>ee.filter(H=>H!==Y))}),d(Y),(re=t==null?void 0:t.onSessionCleared)==null||re.call(t,e,Y)}function pe(){s.clear(),r(hP(yy(e)))}return{instanceId:e,state:n,setState:r,addOrUpdateSession:h,hydrateMessages:b,upsertMessage:C,applyPartUpdate:U,applyPartDelta:B,removeMessage:k,removeMessagePart:L,bufferPendingPart:w,flushPendingParts:M,replaceMessageId:G,setMessageInfo:R,getMessageInfo:x,upsertPermission:N,removePermission:D,getPermissionState:$,upsertQuestion:A,removeQuestion:W,getQuestionState:ae,setSessionRevert:ge,getSessionRevert:ue,rebuildUsage:_,getSessionUsage:p,setScrollSnapshot:ce,getScrollSnapshot:se,getSessionRevision:f,getSessionMessageIds:Y=>{var q;return((q=n.sessions[Y])==null?void 0:q.messageIds)??[]},getLastCompactionMessageIndex:o,getMessage:Y=>n.messages[Y],getLatestTodoSnapshot:Y=>n.latestTodos[Y],clearSession:Z,clearInstance:pe}}const yV="GLOBAL",ps=new Map;function Is(e){return e&&e.length>0?e:yV}function Xp(e,t){const n=Is(e.instanceId),r=Is(e.sessionId);let i=ps.get(n);if(!i){if(!t)return;i=new Map,ps.set(n,i)}let s=i.get(r);if(!s){if(!t)return;s=new Map,i.set(r,s)}let o=s.get(e.scope);if(!o){if(!t)return;o=new Map,s.set(e.scope,o)}return o}function HO(e,t,n){const r=ps.get(e);if(!r)return;const i=r.get(t);if(!i){r.size===0&&ps.delete(e);return}if(n){const s=i.get(n);s&&s.size===0&&i.delete(n)}i.size===0&&r.delete(t),r.size===0&&ps.delete(e)}function YO(e,t){const n=Is(e.instanceId),r=Is(e.sessionId);if(t===void 0){const s=Xp(e,!1);s==null||s.delete(e.cacheId),HO(n,r,e.scope);return}const i=Xp(e,!0);i==null||i.set(e.cacheId,{version:e.version,value:t})}function zO(e){const t=Xp(e,!1),n=t==null?void 0:t.get(e.cacheId);if(!(!n||n.version!==e.version))return n.value}function TV(e){const t=Is(e.instanceId),n=Is(e.sessionId),r=ps.get(t);if(!r)return;const i=r.get(n);i&&(i.delete(e.scope),HO(t,n))}function WO(e,t){const n=Is(e),r=Is(t),i=ps.get(n);i&&(i.delete(r),i.size===0&&ps.delete(n))}function bd(e){const t=Is(e);ps.delete(t)}const Iy=xt("session");class CV{constructor(){this.stores=new Map,this.teardownHandlers=new Set,this.sessionClearHandlers=new Set}registerInstance(t,n){if(this.stores.has(t))return this.stores.get(t);const r=n??vV(t,{onSessionCleared:(i,s)=>this.notifySessionCleared(i,s)});return this.stores.set(t,r),r}onSessionCleared(t){return this.sessionClearHandlers.add(t),()=>{this.sessionClearHandlers.delete(t)}}notifySessionCleared(t,n){for(const r of this.sessionClearHandlers)try{r(t,n)}catch(i){Iy.error("Failed to run session clear handler",i)}}getInstance(t){return this.stores.get(t)}getOrCreate(t){return this.registerInstance(t)}onInstanceDestroyed(t){return this.teardownHandlers.add(t),()=>{this.teardownHandlers.delete(t)}}unregisterInstance(t){const n=this.stores.get(t);n&&n.clearInstance(),bd(t),this.notifyInstanceDestroyed(t),this.stores.delete(t)}clearAll(){for(const[t,n]of this.stores.entries())n.clearInstance(),bd(t),this.notifyInstanceDestroyed(t),this.stores.delete(t)}notifyInstanceDestroyed(t){for(const n of this.teardownHandlers)try{n(t)}catch(r){Iy.error("Failed to run message store teardown handler",r)}}}const Wt=new CV;function IV(e){if(e!=null&&e.latestMessageId)return e.entries[e.latestMessageId]}function wy(e,t,n){if(!t||!n)return;const r=e.find(i=>i.id===t);return r==null?void 0:r.models.find(i=>i.id===n)}function ws(e,t){var M,G,R,x,N,D;const n=Ft().get(e);if(!n)return;const r=n.get(t);if(!r)return;const i=Wt.getOrCreate(e),s=i.getSessionUsage(t),o=!!(s&&Object.keys(s.entries).length>0);let a=(s==null?void 0:s.totalInputTokens)??0,l=(s==null?void 0:s.totalOutputTokens)??0,c=(s==null?void 0:s.totalReasoningTokens)??0,d=(s==null?void 0:s.totalCost)??0,u=(s==null?void 0:s.actualUsageTokens)??0;const f=IV(s);let g=(f==null?void 0:f.hasContextUsage)??!1;const m=(M=zN().get(e))==null?void 0:M.get(t);let _=0,p=null,S=!1,h=!1;!o&&m&&(a=m.inputTokens,l=m.outputTokens,c=m.reasoningTokens,d=m.cost,u=m.actualUsageTokens);const b=mo().get(e)||[],T=r.model,v=T==null?void 0:T.providerId,C=T==null?void 0:T.modelId,w=f!=null&&f.messageId?i.getMessageInfo(f.messageId):void 0,I=(w==null?void 0:w.providerID)||(w==null?void 0:w.providerId)||"",O=(w==null?void 0:w.modelID)||(w==null?void 0:w.modelId)||"",U=wy(b,v,C)??wy(b,I,O);let B=Ma,k=null;if(U){_=((G=U.limit)==null?void 0:G.context)??0;const $=(R=U.limit)==null?void 0:R.input;typeof $=="number"&&$>0&&(k=$);const A=(x=U.limit)==null?void 0:x.output;typeof A=="number"&&A>0&&(B=Math.min(A,Ma)),(((N=U.cost)==null?void 0:N.input)??0)===0&&(((D=U.cost)==null?void 0:D.output)??0)===0&&(h=!0)}if(_===0&&m&&(_=m.contextWindow),B=Math.min(B,Ma),m){const $=m.contextWindow,A=m.contextAvailableTokens??null,W=A!==null&&$>0?A<$:!1;_!==$?(p=null,S=!1,g=W):(p=A,S=!0,g=W),o&&h||(h=m.isSubscriptionModel)}const L=Math.min(B,Ma);k!==null&&(p=k),!S&&p===null&&(_>0?g&&u>0?p=Math.max(_-(u+L),0):p=_:p=null),pm($=>{const A=new Map($),W=new Map($.get(e));return W.set(t,{cost:d,contextWindow:_,isSubscriptionModel:h,inputTokens:a,outputTokens:l,reasoningTokens:c,actualUsageTokens:u,modelOutputLimit:B,contextAvailableTokens:p}),A.set(e,W),A})}function wV(e){switch(e){case"sending":case"sent":case"streaming":case"complete":case"error":return e;default:return"complete"}}function RV(e,t,n,r){if(!t||!Array.isArray(n))return;const i=Wt.getOrCreate(e),s="id"in t?{id:t.id,title:t.title,parentId:t.parentId??null}:t;i.addOrUpdateSession({id:s.id,title:s.title,parentId:s.parentId??null,revert:(t==null?void 0:t.revert)??void 0});const o=n.map(a=>({id:a.id,sessionId:a.sessionId,role:a.type,status:wV(a.status),createdAt:a.timestamp,updatedAt:a.timestamp,parts:a.parts,isEphemeral:a.status==="sending"||a.status==="streaming",bumpRevision:!1}));i.hydrateMessages(s.id,o,r==null?void 0:r.values())}function Ry(e,t,n){if(!t||typeof t.id!="string"||typeof t.sessionID!="string")return;const r=Wt.getOrCreate(e),i=t.time??{},s=typeof i.created=="number"?i.created:Date.now(),o=typeof i.end=="number"?i.end:void 0;r.upsertMessage({id:t.id,sessionId:t.sessionID,role:t.role==="user"?"user":"assistant",status:(n==null?void 0:n.status)??"complete",createdAt:s,updatedAt:o??s,bumpRevision:!!(n!=null&&n.bumpRevision)}),r.setMessageInfo(t.id,t)}function OV(e,t){if(!t||typeof t.messageID!="string")return;Wt.getOrCreate(e).applyPartUpdate({messageId:t.messageID,part:t})}function AV(e,t){if(!(t!=null&&t.messageId)||!t.partId||!t.field||typeof t.delta!="string")return;Wt.getOrCreate(e).applyPartDelta({messageId:t.messageId,partId:t.partId,field:t.field,delta:t.delta,bumpSessionRevision:!1})}function Oy(e,t,n,r){if(!t||!n||t===n)return;Wt.getOrCreate(e).replaceMessageId({oldId:t,newId:n,...r??{}})}function qO(e){return bO(e)}function NV(e){const t=e.metadata||{};return e.partID||e.partId||t.partID||t.partId||void 0}function KO(e){return vO(e)}function rm(e,t,n){var i;if(!t||!n)return;const r=e.getMessage(t);if(r)for(const s of r.partIds){const o=(i=r.parts[s])==null?void 0:i.data;if(!o||o.type!=="tool")continue;if((o.callID??o.callId??o.toolCallID??o.toolCallId??void 0)===n&&typeof o.id=="string"&&o.id.length>0)return o.id}}function QO(e,t){var s;if(!t)return;const n=Wt.getOrCreate(e),r=qO(t);let i=NV(t);if(!i){const o=KO(t);i=rm(n,r,o)}n.upsertPermission({permission:t,messageId:r,partId:i,enqueuedAt:((s=t.time)==null?void 0:s.created)??Date.now()})}function xV(e,t){const n=Wt.getOrCreate(e),r=n.state.permissions.queue;if(!(!r||r.length===0))for(const i of r){if(!i||i.partId)continue;const s=i.permission;if(!s)continue;const o=(s==null?void 0:s.sessionID)??(s==null?void 0:s.sessionId)??void 0;if(t&&o&&o!==t)continue;const a=i.messageId??qO(s),l=KO(s),c=rm(n,a,l);c&&n.upsertPermission({...i,messageId:a,partId:c})}}function jO(e){return TO(e)}function XO(e){return CO(e)}function ZO(e,t){var o;if(!t)return;const n=Wt.getOrCreate(e),r=jO(t);let i;const s=XO(t);s&&(i=rm(n,r,s)),n.upsertQuestion({request:t,messageId:r,partId:i,enqueuedAt:((o=t.time)==null?void 0:o.created)??Date.now()})}function JO(e,t){const n=Wt.getOrCreate(e),r=n.state.questions.queue;if(!(!r||r.length===0))for(const i of r){if(!i||i.partId)continue;const s=i.request;if(!s)continue;const o=s.sessionID;if(t&&o&&o!==t)continue;const a=i.messageId??jO(s),l=XO(s),c=rm(n,a,l);c&&n.upsertQuestion({...i,messageId:a,partId:c})}}function eA(e,t){if(!t)return;Wt.getOrCreate(e).removeQuestion(t)}function tA(e,t){if(!t)return;Wt.getOrCreate(e).removePermission(t)}function nA(e,t){if(!t)return;Wt.getOrCreate(e).removeMessage(t)}function rA(e,t,n){if(!t||!n)return;Wt.getOrCreate(e).removeMessagePart(t,n)}function Ay(e,t,n){if(!t)return;Wt.getOrCreate(e).setSessionRevert(t,n??null)}const Ws=xt("actions");function DV(e,t){if(!t.providerId||!t.modelId)return[];const r=(mo().get(e)||[]).find(s=>s.id===t.providerId),i=r==null?void 0:r.models.find(s=>s.id===t.modelId);return(i==null?void 0:i.variantKeys)??[]}function iA(e,t){const n=pw(t);if(!n)return;const r=DV(e,t);if(r.length!==0)return r.includes(n)?n:void 0}const kV=26,xu="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";let Ny=0,h_=0;function LV(e){let t="";const n=globalThis.crypto;if(n&&typeof n.getRandomValues=="function"){const r=new Uint8Array(e);n.getRandomValues(r);for(let i=0;i<e;i++)t+=xu[r[i]%xu.length]}else for(let r=0;r<e;r++){const i=Math.floor(Math.random()*xu.length);t+=xu[i]}return t}function Ac(e){const t=Date.now();t!==Ny&&(Ny=t,h_=0),h_++;const n=(BigInt(t)<<BigInt(12))+BigInt(h_),r=new Array(6);for(let o=0;o<6;o++){const a=BigInt(8*(5-o));r[o]=Number(n>>a&BigInt(255))}const i=r.map(o=>o.toString(16).padStart(2,"0")).join(""),s=LV(kV-12);return`${e}_${i}${s}`}async function MV(e,t,n,r=[]){const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s),a=Ft().get(e),l=a==null?void 0:a.get(t);if(!l)throw new Error("Session not found");const c=Ac("msg"),d=Ac("prt"),u=LO(n,r),f=[{id:d,type:"text",text:u,synthetic:!0,renderCache:void 0}],g=[{type:"text",text:u}];if(r.length>0)for(const S of r){const h=S.source;if(h.type==="file"){const b=Ac("prt");g.push({type:"file",url:S.url,mime:h.mime,filename:S.filename}),f.push({id:b,type:"file",url:S.url,mime:h.mime,filename:S.filename,synthetic:!0})}else if(h.type==="text"){const b=S.display,T=h.value,v=typeof b=="string"&&/^pasted #\d+/.test(b),C=typeof b=="string"&&/^path:/.test(b);if(v||C||typeof T!="string")continue;const w=Ac("prt");g.push({type:"text",text:T}),f.push({id:w,type:"text",text:T,synthetic:!0,renderCache:void 0})}}const m=Wt.getOrCreate(e),_=Date.now();m.upsertMessage({id:c,sessionId:t,role:"user",status:"sending",parts:f,createdAt:_,updatedAt:_,isEphemeral:!0}),_i(e,t,()=>{});const p={parts:g,...l.agent&&{agent:l.agent},...l.model.providerId&&l.model.modelId&&{model:{providerID:l.model.providerId,modelID:l.model.modelId}},...l.model.providerId&&l.model.modelId&&(()=>{const S=iA(e,l.model);return S?{variant:S}:{}})()};Ws.info("sendMessage",{instanceId:e,sessionId:t,requestBody:p});try{Ws.info("session.promptAsync",{instanceId:e,sessionId:t,requestBody:p}),await Xt(o.session.promptAsync({sessionID:t,...p}),"session.promptAsync")}catch(S){throw Ws.error("Failed to send prompt",S),S}}async function PV(e,t,n,r){var c;const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s),a=(c=Ft().get(e))==null?void 0:c.get(t);if(!a)throw new Error("Session not found");const l={command:n,arguments:r,messageID:Ac("msg")};if(a.agent&&(l.agent=a.agent),a.model.providerId&&a.model.modelId){l.model=`${a.model.providerId}/${a.model.modelId}`;const d=iA(e,a.model);d&&(l.variant=d)}await Xt(o.session.command({sessionID:t,...l}),"session.command")}async function $V(e,t,n){var l;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i),o=(l=Ft().get(e))==null?void 0:l.get(t);if(!o)throw new Error("Session not found");const a=o.agent||"build";await Xt(s.session.shell({sessionID:t,agent:a,command:n}),"session.shell")}async function sA(e,t){const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=Hn(e,t),i=Jn(e,r);Ws.info("abortSession",{instanceId:e,sessionId:t});try{Ws.info("session.abort",{instanceId:e,sessionId:t}),await Xt(i.session.abort({sessionID:t}),"session.abort"),Ws.info("abortSession complete",{instanceId:e,sessionId:t})}catch(s){throw Ws.error("Failed to abort session",s),s}}async function FV(e,t,n){const r=Ft().get(e);if(!(r==null?void 0:r.get(t)))throw new Error("Session not found");const s=await rE(e,n),o=Sl(e,s);_i(e,t,a=>{a.agent=n,o&&(a.model=s)}),n&&o&&await gS(e,n,s),o&&ws(e,t)}async function BV(e,t,n){const r=Ft().get(e),i=r==null?void 0:r.get(t);if(!i)throw new Error("Session not found");if(!Sl(e,n)){Ws.warn("Invalid model selection",n);return}_i(e,t,s=>{s.model=n}),i.agent&&await gS(e,i.agent,n),HL(n),ws(e,t)}async function cE(e,t,n){var l;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i);if(!((l=Ft().get(e))==null?void 0:l.get(t)))throw new Error("Session not found");const a=n.trim();if(!a)throw new Error("Session title is required");await Xt(s.session.update({sessionID:t,title:a}),"session.update"),_i(e,t,c=>{c.title=a;const d={...c.time??{}};d.updated=Date.now(),c.time=d})}async function UV(e,t,n,r){if(!e||!t||!n||!r)return;const i=yt().get(e);if(!i||!i.client)throw new Error("Instance not ready");const s=Hn(e,t),o=Jn(e,s);await Xt(o.part.delete({sessionID:t,messageID:n,partID:r}),"part.delete"),rA(e,n,r),ws(e,t)}async function ta(e,t,n){if(!e||!t||!n)return;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i);await Xt(s.client.delete({url:`/session/${encodeURIComponent(t)}/message/${encodeURIComponent(n)}`}),"session.message.delete"),nA(e,n),ws(e,t)}const GV="modulepreload",VV=function(e){return"/"+e},xy={},J=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(n.map(l=>{if(l=VV(l),l in xy)return;xy[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":GV,c||(u.as="script"),u.crossOrigin="",u.href=l,a&&u.setAttribute("nonce",a),document.head.appendChild(u),c)return new Promise((f,g)=>{u.addEventListener("load",f),u.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return t().catch(s)})};var HV=F('<div><button type=button class="absolute right-2 top-2 inline-flex h-7 w-7 items-center justify-center rounded-md text-slate-200/80 hover:text-slate-50 hover:bg-white/10"aria-label="Close notification"title=Close>x</button><div class="flex items-start gap-3 pr-6"><span></span><div class="flex-1 text-sm leading-snug"><p>'),YV=F("<p>"),zV=F('<button type=button class="mt-3 inline-flex items-center text-xs font-semibold uppercase tracking-wide text-sky-300 hover:text-sky-200">');async function WV(e){if(!(typeof window>"u")){try{if(Vd()){const{openUrl:t}=await J(async()=>{const{openUrl:n}=await import("./index-DN20ggb1.js");return{openUrl:n}},__vite__mapDeps([0,1]));await t(e);return}}catch(t){console.warn("[notifications] unable to open via system opener",t)}try{window.open(e,"_blank","noopener,noreferrer")}catch(t){console.warn("[notifications] unable to open external url",t),Cr.error("Unable to open link")}}}const qV={info:{badge:"bg-sky-500/40",container:"bg-slate-900/95 border-slate-700 text-slate-100",headline:"text-slate-50",body:"text-slate-200/80"},success:{badge:"bg-emerald-500/40",container:"bg-emerald-950/90 border-emerald-800 text-emerald-50",headline:"text-emerald-50",body:"text-emerald-100/80"},warning:{badge:"bg-amber-500/40",container:"bg-amber-950/90 border-amber-800 text-amber-50",headline:"text-amber-50",body:"text-amber-100/80"},error:{badge:"bg-rose-500/40",container:"bg-rose-950/90 border-rose-800 text-rose-50",headline:"text-rose-50",body:"text-rose-100/80"}};function tn(e){const t=qV[e.variant],n=e.duration??1e4,r=Cr.custom(()=>(()=>{var i=HV(),s=i.firstChild,o=s.nextSibling,a=o.firstChild,l=a.nextSibling,c=l.firstChild;return s.$$click=()=>Cr.dismiss(r),y(l,(()=>{var d=Me(()=>!!e.title);return()=>d()&&(()=>{var u=YV();return y(u,()=>e.title),te(()=>it(u,`font-semibold ${t.headline}`)),u})()})(),c),y(c,()=>e.message),y(l,(()=>{var d=Me(()=>!!e.action);return()=>d()&&(()=>{var u=zV();return u.$$click=()=>void WV(e.action.href),y(u,()=>e.action.label),u})()})(),null),te(d=>{var u=`pointer-events-auto relative w-[320px] max-w-[360px] rounded-lg border px-4 py-3 shadow-xl ${t.container}`,f=`mt-1 inline-block h-2.5 w-2.5 rounded-full ${t.badge}`,g=`${t.body} ${e.title?"mt-1":""}`;return u!==d.e&&it(i,d.e=u),f!==d.t&&it(a,d.t=f),g!==d.a&&it(c,d.a=g),d},{e:void 0,t:void 0,a:void 0}),i})(),{duration:n,position:e.position??"top-right",ariaProps:{role:"status","aria-live":"polite"}});return{id:r,dismiss:()=>Cr.dismiss(r)}}At(["click"]);const im=xt("actions");function sm(){return typeof window<"u"&&typeof window.Notification<"u"}function dE(){if(!sm())return"unsupported";const e=window.Notification.permission;return e==="granted"?"granted":e==="denied"?"denied":"default"}async function KV(){if(!sm())return"unsupported";try{const e=await window.Notification.requestPermission();return e==="granted"?"granted":e==="denied"?"denied":"default"}catch(e){return im.warn("[os-notifications] requestPermission failed",e),dE()}}async function QV(e){if(!sm())throw new Error("Web notifications not supported");if(dE()!=="granted")throw new Error("Web notification permission not granted");new window.Notification(e.title,{body:e.body})}function uE(){if(typeof window>"u")return!1;const e=window.electronAPI;return!!(e&&typeof e.showNotification=="function")}function jV(){return typeof window>"u"?!1:$g()?uE():Vd()?!0:sm()}async function XV(e){const t=window.electronAPI;if(!t||typeof t.showNotification!="function")throw new Error("Electron notification bridge unavailable");await t.showNotification(e)}async function fE(){try{return await J(()=>import("./index-DdQ7zIzB.js"),__vite__mapDeps([2,1]))}catch(e){return im.info("[os-notifications] tauri notification plugin not available",e),null}}async function oA(){const e=await fE();if(!e)return"unsupported";try{return await e.isPermissionGranted()?"granted":"default"}catch(t){return im.warn("[os-notifications] failed to check tauri notification permission",t),"default"}}async function ZV(){const e=await fE();if(!e)return"unsupported";try{const t=await e.requestPermission();return t==="granted"?"granted":t==="denied"?"denied":"default"}catch(t){return im.warn("[os-notifications] failed to request tauri notification permission",t),await oA()}}async function JV(e){const t=await fE();if(!t)throw new Error("Tauri notification plugin unavailable");await t.sendNotification({title:e.title,body:e.body})}async function eH(){if(typeof window>"u")return{supported:!1,permission:"unsupported",info:"Not available in this environment."};if($g())return uE()?{supported:!0,permission:"granted",info:"Notifications are managed by your OS notification settings."}:{supported:!1,permission:"unsupported",info:"Electron notification bridge is not available."};if(Vd()){const n=await oA(),r=n!=="unsupported";return{supported:r,permission:n,info:r?void 0:"Tauri notification support is not available in this build."}}const e=dE(),t=e!=="unsupported";return{supported:t,permission:e,info:t?void 0:"This browser does not support OS notifications (or notifications are blocked by the environment)."}}async function Dy(){return typeof window>"u"?"unsupported":$g()?uE()?"granted":"unsupported":Vd()?await ZV():await KV()}async function tH(e){if(!(typeof window>"u")){if($g()){await XV(e);return}if(Vd()){await JV(e);return}await QV(e)}}function gE(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let na=gE();function aA(e){na=e}const lA=/[&<>"']/,nH=new RegExp(lA.source,"g"),cA=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,rH=new RegExp(cA.source,"g"),iH={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ky=e=>iH[e];function Gr(e,t){if(t){if(lA.test(e))return e.replace(nH,ky)}else if(cA.test(e))return e.replace(rH,ky);return e}const sH=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function oH(e){return e.replace(sH,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const aH=/(^|[^\[])\^/g;function nn(e,t){let n=typeof e=="string"?e:e.source;t=t||"";const r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(aH,"$1"),n=n.replace(i,o),r},getRegex:()=>new RegExp(n,t)};return r}function Ly(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const Hc={exec:()=>null};function My(e,t){const n=e.replace(/\|/g,(s,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),r=n.split(/ \|/);let i=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(/\\\|/g,"|");return r}function Du(e,t,n){const r=e.length;if(r===0)return"";let i=0;for(;i<r&&e.charAt(r-i-1)===t;)i++;return e.slice(0,r-i)}function lH(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return-1}function Py(e,t,n,r){const i=t.href,s=t.title?Gr(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){r.state.inLink=!0;const a={type:"link",raw:n,href:i,title:s,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,a}return{type:"image",raw:n,href:i,title:s,text:Gr(o)}}function cH(e,t){const n=e.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(`
23
23
  `).map(i=>{const s=i.match(/^\s+/);if(s===null)return i;const[o]=s;return o.length>=r.length?i.slice(r.length):i}).join(`
24
24
  `)}class Qf{constructor(t){ye(this,"options");ye(this,"rules");ye(this,"lexer");this.options=t||na}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const r=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:Du(r,`
25
25
  `)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const r=n[0],i=cH(r,n[3]||"");return{type:"code",raw:r,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let r=n[2].trim();if(/#$/.test(r)){const i=Du(r,"#");(this.options.pedantic||!i||/ $/.test(i))&&(r=i.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){let r=n[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
@@ -86,7 +86,7 @@ Please report this to https://github.com/markedjs/marked.`,t){const i="<p>An err
86
86
  <span class="copy-text">${l}</span>
87
87
  </button>
88
88
  </div>
89
- `.trim();if(Wc)return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`;if(o==="text"||!Io)return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code>${ri(i)}</code></pre></div>`;const{canonical:d,raw:u}=oN(o),f=d||u;if(f==="text"||u==="text")return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`;if(fh.has(f))try{const g=Io.codeToHtml(i,{lang:f,theme:cg==="dark"?"github-dark":"github-light-high-contrast"});return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}${g}</div>`}catch{}return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`},t.link=(n,r,i)=>{const s=r?` title="${ri(r)}"`:"";return`<a href="${ri(n)}" target="_blank" rel="noopener noreferrer"${s}>${i}</a>`},t.codespan=n=>{const r=Qi(n);return`<code class="inline-code">${ri(r)}</code>`},zt.use({renderer:t}),oT=!0}async function aN(e){await sN(),tW(e),rN=!0}function aT(e){cg=e?"dark":"light"}async function R_(e,t){rN||await aN(cg==="dark");const n=(t==null?void 0:t.suppressHighlight)??!1,r=Qi(e);n||await Jz(r);const i=Wc;Wc=n;try{return zt.parse(r)}finally{Wc=i}}function ri(e){const t={"&":"&amp;","<":"&lt;",'"':"&quot;","'":"&#039;"};return e.replace(/[&<"']/g,n=>t[n])}function Sf(e){if(typeof e=="string")return Qi(e);if(e&&typeof e=="object"){const t={...e};return typeof t.text=="string"&&(t.text=Qi(t.text)),typeof t.value=="string"&&(t.value=Qi(t.value)),Array.isArray(t.content)&&(t.content=t.content.map(n=>Sf(n))),t}return e}function lN(e){if(!e||typeof e!="object")return e;if(e.type==="tool"&&(typeof e.id!="string"||e.id.length===0))throw new Error("Tool part missing id");if(e.type!=="text")return e;const t={...e,renderCache:void 0};if(typeof t.text=="string")t.text=Qi(t.text);else if(t.text&&typeof t.text=="object"){const n={...t.text};typeof n.value=="string"&&(n.value=Qi(n.value)),Array.isArray(n.content)&&(n.content=n.content.map(r=>Sf(r))),typeof n.text=="string"&&(n.text=Qi(n.text)),t.text=n}if(Array.isArray(t.content)&&(t.content=t.content.map(n=>Sf(n))),t.thinking&&typeof t.thinking=="object"){const n={...t.thinking};Array.isArray(n.content)&&(n.content=n.content.map(r=>Sf(r))),t.thinking=n}return t}const Sr=xt("sse"),O_=new Map;function NE(e){if(typeof document>"u")return!1;const t=mS();return!t.osNotificationsEnabled||!t.osNotificationsAllowWhenVisible&&document.visibilityState==="visible"?!1:e==="needsInput"?!!t.notifyOnNeedsInput:e==="idle"?!!t.notifyOnIdle:!1}function xE(e){var n;const t=((n=yt().get(e))==null?void 0:n.folder)??e;return t.split(/[\\/]/).filter(Boolean).pop()??t}function DE(e,t){var i,s;if(!t)return"";const n=(i=Ft().get(e))==null?void 0:i.get(t),r=(s=n==null?void 0:n.title)==null?void 0:s.trim();return r&&r.length>0?r:t}function kE(e){tH(e).catch(t=>{Sr.warn("Failed to send OS notification",t)})}const nW=new Set(["info","success","warning","error"]);function lT(e,t,n){let r=null;_i(e,t,i=>{const s=i.status??"idle";if(s===n||s==="compacting"&&n!=="compacting")return!1;i.status=n,i.parentId&&n==="working"&&s!=="working"&&(r=i.parentId)}),r&&Od(e,r)}async function cN(e,t,n){const r=yt().get(e);if(!(r!=null&&r.client))return null;const s=_V(e,n)??Hn(e,t),o=Jn(e,s),a=nm(e);try{const l=await Xt(o.session.get({sessionID:t}),"session.get");let c="idle";try{let g={};try{g=await Xt(a.session.status(),"session.status")}catch{g=await Xt(o.session.status(),"session.status")}const m=(l==null?void 0:l.status)??(g==null?void 0:g[t]);c=m&&typeof m=="object"&&typeof m.type=="string"?nE(m):"idle"}catch(g){Sr.error("Failed to fetch session status",g)}const d=eG(l,e,"",{providerId:"",modelId:""},c);let u,f=null;return Rs(g=>{const m=new Map(g),_=m.get(e)??new Map,p=_.get(t),S={...d,agent:(p==null?void 0:p.agent)??d.agent,model:(p==null?void 0:p.model)??d.model,status:(p==null?void 0:p.status)==="compacting"?"compacting":d.status,pendingPermission:(p==null?void 0:p.pendingPermission)??d.pendingPermission,pendingQuestion:(p==null?void 0:p.pendingQuestion)??!1};return _.set(t,S),m.set(e,_),u=_,S.parentId&&S.status==="working"&&((p==null?void 0:p.status)??"idle")!=="working"&&(f=S.parentId),m}),Wo(e,u),f&&Od(e,f),d}catch(l){return Sr.error("Failed to fetch session info",l),null}}function um(e,t,n,r){const i=Ft().get(e),s=i==null?void 0:i.get(t);if(s){if((s.status??"idle")===n)return;lT(e,t,n);return}const o=`${e}:${t}`;if(O_.has(o))return;const a=(async()=>{await cN(e,t,r)&&lT(e,t,n)})();O_.set(o,a),a.finally(()=>O_.delete(o))}function rW(e){return(e==null?void 0:e.role)==="user"?"user":"assistant"}function cT(e,t,n){const r=e.getSessionMessageIds(t),i=r[r.length-1];if(!i)return;const s=e.getMessage(i);if(s&&s.sessionId===t&&s.role===n)return s.status==="sending"?s.id:void 0}function dN(e,t){var n,r,i,s,o,a;if(Ft().get(e),t.type==="message.part.updated"){const l=(n=t.properties)==null?void 0:n.part;if(!l)return;const c=lN(l),d=(r=t==null?void 0:t.properties)==null?void 0:r.message,u=typeof(d==null?void 0:d.sessionID)=="string"?d.sessionID:void 0,f=typeof(d==null?void 0:d.id)=="string"?d.id:void 0,g=typeof c.sessionID=="string"?c.sessionID:u,m=typeof c.messageID=="string"?c.messageID:f;if(!g||!m)return;c.type==="compaction"&&um(e,g,"compacting",t==null?void 0:t.directory);const _=Wt.getOrCreate(e),p=rW(d),S=typeof((i=d==null?void 0:d.time)==null?void 0:i.created)=="number"?d.time.created:Date.now();let h=_.getMessage(m);if(!h){const b=cT(_,g,p);b&&b!==m&&(Oy(e,b,m),h=_.getMessage(m))}h||_.upsertMessage({id:m,sessionId:g,role:p,status:"streaming",createdAt:S,updatedAt:S,isEphemeral:!0}),d&&Ry(e,d,{status:"streaming"}),OV(e,{...c,sessionID:g,messageID:m}),c.type==="tool"&&c.tool==="question"&&JO(e,g),ws(e,g)}else if(t.type==="message.updated"){const l=(s=t.properties)==null?void 0:s.info;if(!l)return;const c=typeof l.sessionID=="string"?l.sessionID:void 0,d=typeof l.id=="string"?l.id:void 0;if(!c||!d)return;const u=l.time??{},f=typeof u.end=="number"&&u.end>0?u.end:typeof u.updated=="number"&&u.updated>0?u.updated:typeof u.created=="number"&&u.created>0?u.created:Date.now();_i(e,c,h=>{var T;const b=((T=h.time)==null?void 0:T.updated)??0;if(f<=b)return!1;h.time={...h.time??{},updated:f}});const g=Wt.getOrCreate(e),m=l.role==="user"?"user":"assistant",p=!!l.error?"error":"complete";let S=g.getMessage(d);if(!S){const h=cT(g,c,m);h&&h!==d&&(Oy(e,h,d),S=g.getMessage(d))}if(!S){const h=((o=l.time)==null?void 0:o.created)??Date.now(),b=(a=l.time)==null?void 0:a.end;g.upsertMessage({id:d,sessionId:c,role:m,status:p,createdAt:h,updatedAt:b??h})}Ry(e,l,{status:p,bumpRevision:!0}),ws(e,c)}}function iW(e,t){const n=t.properties;if(!n)return;const{messageID:r,partID:i,field:s,delta:o}=n;!r||!i||!s||typeof o!="string"||AV(e,{messageId:r,partId:i,field:s,delta:o})}function sW(e,t){var s;const n=(s=t.properties)==null?void 0:s.info;if(!n)return;const i=(Ft().get(e)??new Map).get(n.id);if(i){const o={...i.time,...n.time??{}},a={...i,title:n.title||i.title,status:i.status??"idle",time:o,revert:n.revert?{messageID:n.revert.messageID,partID:n.revert.partID,snapshot:n.revert.snapshot,diff:n.revert.diff}:i.revert};let l;Rs(c=>{const d=new Map(c),u=d.get(e)??new Map;return u.set(i.id,a),d.set(e,u),l=u,d}),Wo(e,l),Ay(e,n.id,n.revert??null)}else{const o={id:n.id,instanceId:e,title:n.title||Le("sessionList.session.untitled"),parentId:n.parentID||null,agent:"",model:{providerId:"",modelId:""},status:"idle",version:n.version||"0",time:n.time?{...n.time}:{created:Date.now(),updated:Date.now()}};let a;Rs(l=>{const c=new Map(l),d=c.get(e)??new Map;return d.set(o.id,o),c.set(e,d),a=d,c}),Wo(e,a),Ay(e,n.id,n.revert??null),Sr.info(`[SSE] New session created: ${n.id}`,o)}}function oW(e,t){var s,o,a;const n=(s=t.properties)==null?void 0:s.sessionID;if(!n)return;const r=(o=t.properties)==null?void 0:o.diff;if(!Array.isArray(r))return;if((a=Ft().get(e))==null?void 0:a.get(n)){_i(e,n,l=>{l.diff=r});return}(async()=>{await cN(e,n,t==null?void 0:t.directory),_i(e,n,l=>{l.diff=r})})().catch(l=>Sr.warn("Failed to hydrate session for diff event",{instanceId:e,sessionId:n,error:l}))}function aW(e,t){var r;const n=(r=t.properties)==null?void 0:r.sessionID;if(n){if(NE("idle")){const i=xE(e),s=DE(e,n),o=s?`Session "${s}" is idle`:"Session is idle";kE({title:i,body:o})}um(e,n,"idle",t==null?void 0:t.directory),Sr.info(`[SSE] Session idle: ${n}`)}}function lW(e,t){var i;const n=(i=t.properties)==null?void 0:i.sessionID;if(!n)return;const r=nE(t.properties.status);um(e,n,r,t==null?void 0:t.directory),Sr.info(`[SSE] Session status updated: ${n}`,{status:r})}function cW(e,t){var d,u,f,g;const n=(d=t.properties)==null?void 0:d.sessionID;if(!n)return;Sr.info(`[SSE] Session compacted: ${n}`),((u=Ft().get(e))==null?void 0:u.get(n))?_i(e,n,m=>{m.status="working"}):um(e,n,"working",t==null?void 0:t.directory),Rd(e,n,!0).catch(m=>Sr.error("Failed to reload session after compaction",m));const i=Ft().get(e),s=i==null?void 0:i.get(n),o=(f=s==null?void 0:s.title)!=null&&f.trim()?s.title:n,a=((g=yt().get(e))==null?void 0:g.folder)??e,l=a.split(/[\\/]/).filter(Boolean).pop()??a,c=o?`"${o}"`:n;tn({title:l,message:Le("sessionEvents.sessionCompactedToast",{label:c}),variant:"info",duration:1e4})}function dW(e,t){var i;const n=(i=t.properties)==null?void 0:i.error;Sr.error("[SSE] Session error:",n);let r=Le("sessionEvents.sessionError.unknown");n&&("data"in n&&n.data&&typeof n.data=="object"&&"message"in n.data?r=n.data.message:"message"in n&&typeof n.message=="string"&&(r=n.message)),ir(Le("sessionEvents.sessionError.message",{message:r}),{title:Le("sessionEvents.sessionError.title"),variant:"error"})}function uW(e,t){const{sessionID:n,messageID:r}=t.properties;!n||!r||(Sr.info(`[SSE] Message removed from session ${n}`,{messageID:r}),nA(e,r),ws(e,n))}function fW(e,t){const{sessionID:n,messageID:r,partID:i}=t.properties;!n||!r||!i||(Sr.info(`[SSE] Message part removed from session ${n}`,{messageID:r,partID:i}),rA(e,r,i),ws(e,n))}function gW(e,t){const n=t==null?void 0:t.properties;if(!n||typeof n.message!="string"||typeof n.variant!="string"||!n.message.trim())return;const r=nW.has(n.variant)?n.variant:"info";tn({title:typeof n.title=="string"?n.title:void 0,message:n.message,variant:r,duration:typeof n.duration=="number"?n.duration:void 0})}function mW(e,t){const n=t==null?void 0:t.properties;if(n&&(Sr.info(`[SSE] Permission request: ${tG(n)} (${Jg(n)})`),MN(e,n),QO(e,n),NE("needsInput"))){const r=xE(e),i=ao(n),s=DE(e,i),o=s?`Session "${s}" needs permission`:"Session needs permission";kE({title:r,body:o})}}function _W(e,t){const n=t==null?void 0:t.properties,r=rG(n);r&&(Sr.info(`[SSE] Permission replied: ${r}`),BE(e,r),tA(e,r))}function pW(e,t){const n=t==null?void 0:t.properties;if(n&&(Sr.info(`[SSE] Question asked: ${iG(n)}`),$N(e,n),ZO(e,n),NE("needsInput"))){const r=xE(e),i=Zd(n),s=DE(e,i),o=s?`Session "${s}" needs input`:"Session needs input";kE({title:r,body:o})}}function hW(e,t){const n=t==null?void 0:t.properties,r=sG(n);r&&(Sr.info(`[SSE] Question answered: ${r}`),gm(e,r),eA(e,r))}Tn.onMessageUpdate=dN;Tn.onMessagePartUpdated=dN;Tn.onMessagePartDelta=iW;Tn.onMessageRemoved=uW;Tn.onMessagePartRemoved=fW;Tn.onSessionUpdate=sW;Tn.onSessionCompacted=cW;Tn.onSessionDiff=oW;Tn.onSessionError=dW;Tn.onSessionIdle=aW;Tn.onSessionStatus=lW;Tn.onTuiToast=gW;Tn.onPermissionUpdated=mW;Tn.onPermissionReplied=_W;Tn.onQuestionAsked=pW;Tn.onQuestionAnswered=hW;const[SW,uN]=z(new Map);async function EW(e,t){const n=await Xt(t.command.list(),"command.list").catch(()=>[]);uN(r=>{const i=new Map(r);return i.set(e,n),i})}function A_(e){return SW().get(e)??[]}function fN(e){uN(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})}const[Ef,bW]=z(!1),[ufe,ffe]=z(null),[dT,uT]=z(!1),[bf,Fu]=z(!1),[gfe,mfe]=z([]),[_fe,pfe]=z(new Map),[vW,gN]=z(new Map);function vf(e){return vW().get(e)}function yW(e,t){gN(n=>{const r=new Map(n);return r.delete(e),r})}function mN(e,t){gN(n=>{const r=new Map(n),i=r.get(e)??{};return r.set(e,{...i,...t}),r})}function _N(e){yW(e)}function pN(e,t){if(!e)return t;const n=typeof e=="string"?e:e instanceof Error?e.message:String(e);try{const r=JSON.parse(n);if(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string")return r.error}catch{}return n}function hN(e){const t=e.toLowerCase();return t.includes("opencode binary not found")||t.includes("binary not found")||t.includes("no such file or directory")||t.includes("binary is not executable")||t.includes("enoent")}const[Bu,SN]=z(null),fT=new Map;function EN(e){SN(e)}function Uu(){SN(null)}function TW(e){const t=e.id,n=e.error,r=pN(n,Le("app.launchError.fallbackMessage")),i=fT.get(t);if(i&&i===r)return;fT.set(t,r);const s=(e.binaryLabel||e.binaryId||"opencode").trim()||"opencode",o=hN(r);EN({source:"workspace",instanceId:t,message:r,binaryPath:s,missingBinary:o})}const sr=xt("api"),[yt,LE]=z(new Map),[jn,Zi]=z(null),[CW,fm]=z(new Map),[IW,ME]=z(new Map),[wW,PE]=z(new Map),[hfe,bN]=z(new Map),vl=new Map,Id=new Map,[RW,$E]=z(new Map),yl=new Map,[Sfe,vN]=z(new Map),Tl=new Map,wd=new Map;function il(e){const t=wd.get(e.id);if(t)return t;const n=Date.now();return wd.set(e.id,n),n}const[yN,OW]=z(new Map);function FE(){const e=Array.from(yt().values()).some(t=>t.status==="ready");bW(e)}const[yf,TN]=z(null),AW=1e3,Gu=new Map,Vu=new Map;function NW(e){const t=yt().get(e.id);return{id:e.id,folder:e.path,port:e.port??(t==null?void 0:t.port)??0,pid:e.pid??(t==null?void 0:t.pid)??0,proxyPath:e.proxyPath,status:e.status,error:e.error,client:(t==null?void 0:t.client)??null,metadata:t==null?void 0:t.metadata,binaryPath:e.binaryId??e.binaryLabel??(t==null?void 0:t.binaryPath),binaryLabel:e.binaryLabel,binaryVersion:e.binaryVersion??(t==null?void 0:t.binaryVersion),environmentVariables:(t==null?void 0:t.environmentVariables)??hw().environmentVariables??{}}}function CN(){const e=jn(),t=yt();if(!(e&&t.has(e))){for(const[n,r]of t.entries())if(r.status==="ready"){Zi(n);return}}}function Kc(e){const t=NW(e);yt().has(e.id)?gh(e.id,t):GW(t),e.status==="ready"&&(xW(e),CN())}function xW(e){const t=yt().get(e.id);if(!t)return;const n=e.port??t.port,r=e.proxyPath;if(t.client&&t.proxyPath===r){n&&t.port!==n&&gh(e.id,{port:n});return}t.client&&qf.destroyClientsForInstance(e.id);const i=qf.createClient(e.id,r,"root");gh(e.id,{client:i,port:n??0,proxyPath:r,status:"ready"}),Tn.seedStatus(e.id,"connecting"),wN(e.id).catch(s=>{sr.error("Failed to hydrate instance data",s)})}function IN(e){const t=yt().get(e);t&&(t.client&&qf.destroyClientsForInstance(e),Tn.seedStatus(e,"disconnected"))}async function DW(e){const t=yt().get(e);if(t!=null&&t.client)try{const n=await Xt(t.client.permission.list(),"permission.list"),r=new Set(n.map(s=>s.id)),i=su(e);for(const s of i)r.has(s.id)||(BE(e,s.id),tA(e,s.id));for(const s of n)MN(e,s),QO(e,s)}catch(n){sr.warn("Failed to sync pending permissions",{instanceId:e,error:n})}}async function kW(e){const t=yt().get(e);if(t!=null&&t.client)try{const n=await Xt(t.client.question.list(),"question.list"),r=new Set(n.map(s=>s.id)),i=ia(e);for(const s of i)r.has(s.id)||(gm(e,s.id),eA(e,s.id));for(const s of n)il(s),$N(e,s),ZO(e,s)}catch(n){sr.warn("Failed to sync pending questions",{instanceId:e,error:n})}}async function wN(e,t){try{t!=null&&t.force?(await jp(e),await $O(e)):(await cV(e),await sE(e)),await UN(e),await VN(e),await UE(e),await _S(e);const n=yt().get(e);if(!(n!=null&&n.client))return;await EW(e,n.client),await DW(e),await kW(e)}catch(n){sr.error("Failed to fetch initial data",n)}}async function LW(e){const t=yt().get(e);if(!(t!=null&&t.proxyPath))throw new Error("Instance not ready");const n=DO(t.proxyPath),r=new URL("instance/dispose",n),i=await fetch(r.toString(),{method:"POST",credentials:"include",headers:{Accept:"application/json"}});if(!i.ok){const a=await i.text().catch(()=>"");throw new Error(a||`Dispose request failed with ${i.status}`)}if((i.headers.get("content-type")??"").includes("application/json")){const a=await i.json().catch(()=>{});return typeof a=="boolean"?a:a&&typeof a=="object"&&"data"in a?!!a.data:!!a}const o=await i.text().catch(()=>"");return o.trim()==="true"?!0:o.trim()==="false"?!1:!!o}async function Tf(e,t){if(Vu.has(e))return Vu.get(e);const n=(async()=>{const r=yt().get(e);r!=null&&r.client&&(sr.info("Rehydrating instance",{instanceId:e,reason:t==null?void 0:t.reason}),bd(e),fN(e),_N(e),QN(e),PN(e),FN(e),await wN(e,{force:!0}))})().finally(()=>{Vu.delete(e)});return Vu.set(e,n),n}async function MW(e){if(Gu.has(e))return Gu.get(e);const t=(async()=>{const n=await LW(e);return n&&await Tf(e,{reason:"disposed"}),n})().finally(()=>{Gu.delete(e)});return Gu.set(e,t),t}(async function(){try{(await ln.fetchWorkspaces()).forEach(n=>Kc(n)),CN()}catch(t){sr.error("Failed to load workspaces",t)}})();Op.on("*",e=>PW(e));function PW(e){switch(e.type){case"workspace.created":Kc(e.workspace);break;case"workspace.started":Kc(e.workspace);break;case"workspace.error":Kc(e.workspace),TW(e.workspace);break;case"workspace.stopped":IN(e.workspaceId),AN(e.workspaceId);break;case"workspace.log":$W(e.entry);break}}function $W(e){const t={timestamp:new Date(e.timestamp).getTime(),level:e.level??"info",message:e.message};HW(e.workspaceId,t)}function FW(e){fm(t=>{if(t.has(e))return t;const n=new Map(t);return n.set(e,[]),n})}function RN(e){ME(t=>{if(t.has(e))return t;const n=new Map(t);return n.set(e,!1),n})}function BW(e){fm(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n}),ME(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})}function UW(e){return CW().get(e)??[]}function ON(e){return IW().get(e)??!1}function gT(e,t){RN(e),ME(n=>{const r=new Map(n);return r.set(e,t),r}),t||YW(e)}function GW(e){LE(t=>{const n=new Map(t);return n.set(e.id,e),n}),FW(e.id),RN(e.id),FE()}function gh(e,t){LE(n=>{const r=new Map(n),i=r.get(e);return i&&r.set(e,{...i,...t}),r}),FE()}function AN(e){let t=null;LE(n=>{if(!n.has(e))return n;const r=Array.from(n.keys()),i=r.indexOf(e),s=new Map(n);if(s.delete(e),jn()===e)if(i>0)t=r[i-1]??null;else{const o=Array.from(s.keys());t=o.length>0?o[0]??null:null}return s}),BW(e),fN(e),PN(e),FN(e),_N(e),jn()===e&&Zi(t),bd(e),Wt.unregisterInstance(e),QN(e),FE()}async function VW(e,t){try{const n=await ln.createWorkspace({path:e});return Kc(n),Zi(n.id),n.id}catch(n){throw sr.error("Failed to create workspace",n),n}}async function NN(e){if(yt().get(e)){IN(e);try{await ln.deleteWorkspace(e)}catch(n){sr.error("Failed to stop workspace",n)}AN(e)}}async function xN(e){const t=yt().get(e);if(!t){sr.warn("[LSP] Skipping status fetch; instance not found",{instanceId:e});return}if(!t.client){sr.warn("[LSP] Skipping status fetch; client not ready",{instanceId:e});return}const n=t.client.lsp;if(!(n!=null&&n.status)){sr.warn("[LSP] Skipping status fetch; API unavailable",{instanceId:e});return}return sr.info("lsp.status",{instanceId:e}),await Xt(n.status(),"lsp.status")}function DN(){const e=jn();return e&&yt().get(e)||null}function HW(e,t){ON(e)&&fm(n=>{const r=new Map(n),i=r.get(e)??[],s=i.length>=AW?[...i.slice(1),t]:[...i,t];return r.set(e,s),r})}function YW(e){fm(t=>{if(!t.has(e))return t;const n=new Map(t);return n.set(e,[]),n})}function su(e){const t=wW().get(e);return t||[]}function kN(e){return su(e).length}function ia(e){const t=RW().get(e);return t||[]}function LN(e){return ia(e).length}function zW(e,t){const r=ia(e).find(i=>i.id===t);return r?il(r):wd.get(t)??Date.now()}function WW(e){const t=su(e),n=ia(e),r=t[0],i=n[0];if(!r&&!i)return null;if(r&&!i)return{kind:"permission",id:r.id};if(i&&!r)return{kind:"question",id:i.id};const s=Wp(r),o=i?il(i):Number.MAX_SAFE_INTEGER;return s<=o?{kind:"permission",id:r.id}:{kind:"question",id:i.id}}function qW(e,t){OW(n=>{const r=new Map(n);return t?r.set(e,t):r.set(e,null),r}),bN(n=>{const r=new Map(n);return(t==null?void 0:t.kind)==="permission"?r.set(e,t.id):r.set(e,null),r}),vN(n=>{const r=new Map(n);return(t==null?void 0:t.kind)==="question"?r.set(e,t.id):r.set(e,null),r})}function jl(e){qW(e,WW(e))}function KW(e,t){let n=vl.get(e);n||(n=new Map,vl.set(e,n));const r=n.get(t)??0;n.set(t,r+1)}function QW(e,t){const n=vl.get(e);if(!n)return 0;const r=n.get(t)??0;if(r<=1)return n.delete(t),n.size===0&&vl.delete(e),0;const i=r-1;return n.set(t,i),i}function jW(e){const t=vl.get(e);if(t){for(const n of t.keys())HE(e,n,!1);vl.delete(e)}}function XW(e,t){let n=Tl.get(e);n||(n=new Map,Tl.set(e,n));const r=n.get(t)??0;n.set(t,r+1)}function ZW(e,t){const n=Tl.get(e);if(!n)return 0;const r=n.get(t)??0;if(r<=1)return n.delete(t),n.size===0&&Tl.delete(e),0;const i=r-1;return n.set(t,i),i}function JW(e){const t=Tl.get(e);if(t){for(const n of t.keys())YE(e,n,!1);Tl.delete(e)}}function MN(e,t){let n=!1;if(PE(i=>{const s=new Map(i),o=s.get(e)??[];if(o.some(l=>l.id===t.id))return s;const a=[...o,t].sort((l,c)=>Wp(l)-Wp(c));return s.set(e,a),n=!0,s}),!n)return;jl(e);const r=ao(t);if(r){KW(e,r),HE(e,r,!0);const i=Hn(e,r);let s=Id.get(e);s||(s=new Map,Id.set(e,s)),s.set(t.id,i)}}function BE(e,t){var i;let n=null;PE(s=>{const o=new Map(s),a=o.get(e)??[],l=[];for(const c of a){if(c.id===t){n=c;continue}l.push(c)}return l.length>0?o.set(e,l):o.delete(e),o}),su(e),jl(e);const r=n;if(r){(i=Id.get(e))==null||i.delete(t);const s=ao(r);if(s){const o=QW(e,s);HE(e,s,o>0)}}}function PN(e){PE(t=>{const n=new Map(t);return n.delete(e),n}),bN(t=>{const n=new Map(t);return n.delete(e),n}),jW(e),Id.delete(e),jl(e)}function $N(e,t){let n=!1;if($E(i=>{const s=new Map(i),o=s.get(e)??[];if(o.some(l=>l.id===t.id))return s;il(t);const a=[...o,t].sort((l,c)=>il(l)-il(c));return s.set(e,a),n=!0,s}),!n)return;jl(e);const r=Zd(t);if(r){XW(e,r),YE(e,r,!0);const i=Hn(e,r);let s=yl.get(e);s||(s=new Map,yl.set(e,s)),s.set(t.id,i)}}function gm(e,t){var r;const n=Zd(ia(e).find(i=>i.id===t));if($E(i=>{const s=new Map(i),a=(s.get(e)??[]).filter(l=>l.id!==t);return a.length>0?s.set(e,a):s.delete(e),s}),wd.delete(t),(r=yl.get(e))==null||r.delete(t),jl(e),n){const i=ZW(e,n);YE(e,n,i>0)}}function FN(e){for(const t of ia(e))wd.delete(t.id);yl.delete(e),$E(t=>{const n=new Map(t);return n.delete(e),n}),vN(t=>{const n=new Map(t);return n.delete(e),n}),JW(e),jl(e)}async function eq(e,t,n,r){var s;const i=yt().get(e);if(!(i!=null&&i.client))throw new Error("Instance not ready");try{const o=(s=yl.get(e))==null?void 0:s.get(n),a=t?Hn(e,t):"root",c=Jn(e,o??a);await Xt(c.question.reply({requestID:n,answers:r}),"question.reply"),gm(e,n)}catch(o){throw sr.error("Failed to send question reply",o),o}}async function tq(e,t,n){var i;const r=yt().get(e);if(!(r!=null&&r.client))throw new Error("Instance not ready");try{const s=(i=yl.get(e))==null?void 0:i.get(n),o=t?Hn(e,t):"root",l=Jn(e,s??o);await Xt(l.question.reject({requestID:n}),"question.reject"),gm(e,n)}catch(s){throw sr.error("Failed to send question reject",s),s}}async function BN(e,t,n,r){var s;const i=yt().get(e);if(!(i!=null&&i.client))throw new Error("Instance not ready");try{const o=(s=Id.get(e))==null?void 0:s.get(n),a=t?Hn(e,t):"root",c=Jn(e,o??a);await Xt(c.permission.reply({requestID:n,reply:r}),"permission.reply"),BE(e,n)}catch(o){throw sr.error("Failed to send permission response",o),o}}Tn.onConnectionLost=(e,t)=>{const n=yt().get(e);n&&TN({id:e,folder:n.folder,reason:t})};Tn.onLspUpdated=async e=>{sr.info("lsp.updated",{instanceId:e});try{const t=await xN(e);if(!t)return;mN(e,{lspStatus:t})}catch(t){sr.error("Failed to refresh LSP status",t)}};Tn.onInstanceDisposed=(e,t)=>{var i;const n=(i=t==null?void 0:t.properties)==null?void 0:i.directory;if(!n){Tf(e,{reason:"disposed"});return}const r=[];for(const s of yt().values())s.folder===n&&r.push(s.id);if(r.length===0){Tf(e,{reason:"disposed"});return}for(const s of r)Tf(s,{reason:"disposed"})};async function nq(){const e=yf();if(e)try{await NN(e.id)}catch(t){sr.error("Failed to stop disconnected instance",t)}finally{TN(null)}}const fr=xt("api"),N_=new Map;async function rq(e,t,n=!1){var s;if(!e||!t)return;const r=`${e}:${t}`;if(!n){const o=(s=Ft().get(e))==null?void 0:s.get(t);if((o==null?void 0:o.diff)!==void 0)return;const a=N_.get(r);if(a)return a}const i=(async()=>{const o=yt().get(e);if(!(o!=null&&o.client))return;const a=Hn(e,t),l=Jn(e,a);try{const c=await Xt(l.session.diff({sessionID:t}),"session.diff");if(!Array.isArray(c))return;_i(e,t,d=>{d.diff=c})}catch(c){fr.warn("Failed to fetch session diff",{instanceId:e,sessionId:t,error:c})}})();return N_.set(r,i),i.finally(()=>N_.delete(r)),i}async function UN(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);lo(r=>{const i={...r};return i.fetchingSessions.set(e,!0),i});try{fr.info("session.list",{instanceId:e});const r=await n.session.list(),i=new Map;if(!r.data||!Array.isArray(r.data))return;let s={};try{const l=await n.session.status();l.data&&typeof l.data=="object"&&(s=l.data)}catch(l){fr.error("Failed to fetch session status:",l)}const o=Ft().get(e);for(const l of r.data){const c=o==null?void 0:o.get(l.id),d=c==null?void 0:c.status;let u;if(d==="compacting")u="compacting";else{const f=(l==null?void 0:l.status)??s[l.id];u=f&&typeof f=="object"&&typeof f.type=="string"?nE(f):d??"idle"}i.set(l.id,{id:l.id,instanceId:e,title:l.title||"Untitled",parentId:l.parentID||null,agent:(c==null?void 0:c.agent)??"",model:(c==null?void 0:c.model)??{providerId:"",modelId:""},status:u,version:l.version,time:{...l.time},revert:l.revert?{messageID:l.revert.messageID,partID:l.revert.partID,snapshot:l.revert.snapshot,diff:l.revert.diff}:void 0})}const a=new Set(i.keys());Rs(l=>{const c=new Map(l);return c.set(e,i),c}),Wo(e,i),Qc(l=>{const c=new Map(l),d=c.get(e);if(d){const u=new Set;for(const f of d)a.has(f)&&u.add(f);c.set(e,u)}return c}),gq(e,new Set(i.keys()))}catch(r){throw fr.error("Failed to fetch sessions:",r),r}finally{lo(r=>{const i={...r};return i.fetchingSessions.set(e,!1),i})}}async function GN(e,t){var d,u,f,g,m;const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=zo().get(e),i=r&&r!=="info"?Hn(e,r):"root",s=Jn(e,i),a=(mm().get(e)||[]).filter(_=>_.mode!=="subagent"),l=t||(a.length>0?a[0].name:""),c=await rE(e,l);l&&Sl(e,c)&&await gS(e,l,c),lo(_=>{const p={..._};return p.creatingSession.set(e,!0),p});try{fr.info(`[HTTP] POST /session.create for instance ${e}`);const _=await s.session.create();if(!_.data)throw new Error("Failed to create session: No data returned");const p={id:_.data.id,instanceId:e,title:_.data.title||"New Session",parentId:null,agent:l,model:c,status:"idle",version:_.data.version,time:{..._.data.time},revert:_.data.revert?{messageID:_.data.revert.messageID,partID:_.data.revert.partID,snapshot:_.data.revert.snapshot,diff:_.data.revert.diff}:void 0};Rs(O=>{const U=new Map(O),B=U.get(e)||new Map;return B.set(p.id,p),U.set(e,B),U}),Wo(e);const h=(mo().get(e)||[]).find(O=>O.id===p.model.providerId),b=h==null?void 0:h.models.find(O=>O.id===p.model.modelId),T=((d=b==null?void 0:b.limit)==null?void 0:d.context)??0,v=((u=b==null?void 0:b.limit)==null?void 0:u.input)??0,C=((f=b==null?void 0:b.cost)==null?void 0:f.input)===0&&((g=b==null?void 0:b.cost)==null?void 0:g.output)===0,w=(m=b==null?void 0:b.limit)!=null&&m.output&&b.limit.output>0?b.limit.output:Ma,I=v>0?v:T>0?T:null;return pm(O=>{const U=new Map(O),B=new Map(O.get(e));return B.set(p.id,{cost:0,contextWindow:T,isSubscriptionModel:!!C,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:w,contextAvailableTokens:I}),U.set(e,B),U}),mS().autoCleanupBlankSessions&&await ZN(e,p.id),await gf(e,p.id,i).catch(O=>{fr.warn("Failed to persist session worktree mapping",{instanceId:e,sessionId:p.id,worktreeSlug:i,error:O})}),p}catch(_){throw fr.error("Failed to create session:",_),_}finally{lo(_=>{const p={..._};return p.creatingSession.set(e,!1),p})}}async function iq(e,t,n){var S,h,b,T,v,C,w;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i),o={sessionID:t,messageID:n==null?void 0:n.messageId};fr.info(`[HTTP] POST /session.fork for instance ${e}`,o);const a=await Xt(s.session.fork(o),"session.fork"),l={id:a.id,instanceId:e,title:a.title||"Forked Session",parentId:a.parentID||null,agent:a.agent||"",model:{providerId:((S=a.model)==null?void 0:S.providerID)||"",modelId:((h=a.model)==null?void 0:h.modelID)||""},status:"idle",version:"0",time:a.time?{...a.time}:{created:Date.now(),updated:Date.now()},revert:a.revert?{messageID:a.revert.messageID,partID:a.revert.partID,snapshot:a.revert.snapshot,diff:a.revert.diff}:void 0};Rs(I=>{const O=new Map(I),U=O.get(e)||new Map;return U.set(l.id,l),O.set(e,U),O}),Wo(e);const d=(mo().get(e)||[]).find(I=>I.id===l.model.providerId),u=d==null?void 0:d.models.find(I=>I.id===l.model.modelId),f=((b=u==null?void 0:u.limit)==null?void 0:b.context)??0,g=((T=u==null?void 0:u.limit)==null?void 0:T.input)??0,m=((v=u==null?void 0:u.cost)==null?void 0:v.input)===0&&((C=u==null?void 0:u.cost)==null?void 0:C.output)===0,_=(w=u==null?void 0:u.limit)!=null&&w.output&&u.limit.output>0?u.limit.output:Ma,p=g>0?g:f>0?f:null;return pm(I=>{const O=new Map(I),U=new Map(I.get(e));return U.set(l.id,{cost:0,contextWindow:f,isSubscriptionModel:!!m,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:_,contextAvailableTokens:p}),O.set(e,U),O}),l}async function dg(e,t){var o;const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=Hn(e,t),i=Jn(e,r),s=(o=Ft().get(e))==null?void 0:o.get(t);lo(a=>{const l={...a},c=l.deletingSession.get(e)||new Set;return c.add(t),l.deletingSession.set(e,c),l});try{fr.info(`[HTTP] DELETE /session.delete for instance ${e}`,{sessionId:t}),await Xt(i.session.delete({sessionID:t}),"session.delete"),Rs(a=>{const l=new Map(a),c=l.get(e);return c&&(c.delete(t),c.size===0&&l.delete(e)),l}),Wo(e),KN(e,t),Wt.getOrCreate(e).clearSession(t),WO(e,t),pm(a=>{const l=new Map(a),c=l.get(e);if(c){const d=new Map(c);d.delete(t),d.size===0?l.delete(e):l.set(e,d)}return l}),zo().get(e)===t&&GE(a=>{const l=new Map(a);return l.delete(e),l}),(s==null?void 0:s.parentId)===null&&await mV(e,t).catch(()=>{})}catch(a){throw fr.error("Failed to delete session:",a),a}finally{lo(a=>{const l={...a},c=l.deletingSession.get(e);return c&&c.delete(t),l})}}async function VN(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);try{fr.info(`[HTTP] GET /app.agents for instance ${e}`);const i=((await n.app.agents()).data??[]).map(s=>{var o;return{name:s.name,description:s.description||"",mode:s.mode,hidden:s.hidden,model:(o=s.model)!=null&&o.modelID?{providerId:s.model.providerID||"",modelId:s.model.modelID}:void 0}});sq(s=>{const o=new Map(s);return o.set(e,i),o})}catch(r){fr.error("Failed to fetch agents:",r)}}async function UE(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);try{fr.info(`[HTTP] GET /config.providers for instance ${e}`);const r=await n.config.providers();if(!r.data)return;const i=r.data.providers.map(s=>{var o,a;return{id:s.id,name:s.name,defaultModelId:(a=(o=r.data)==null?void 0:o.default)==null?void 0:a[s.id],models:Object.entries(s.models).map(([l,c])=>({id:l,name:c.name,providerId:s.id,limit:c.limit,cost:c.cost,variantKeys:Object.keys(c.variants??{})}))}});oq(s=>{const o=new Map(s);return o.set(e,i),o})}catch(r){fr.error("Failed to fetch providers:",r)}}async function Rd(e,t,n=!1){var d,u,f;if(n&&Qc(g=>{const m=new Map(g),_=m.get(e);return _&&_.delete(t),m}),((d=YN().get(e))==null?void 0:d.has(t))&&!n||((u=Cl().loadingMessages.get(e))==null?void 0:u.has(t)))return;const s=yt().get(e);if(!s||!s.client)throw new Error("Instance not ready");const o=Hn(e,t),a=Jn(e,o),l=Ft().get(e),c=l==null?void 0:l.get(t);if(!c)throw new Error("Session not found");rq(e,t).catch(g=>{fr.warn("Failed to load session diff",{instanceId:e,sessionId:t,error:g})}),lo(g=>{const m={...g},_=m.loadingMessages.get(e)||new Set;return _.add(t),m.loadingMessages.set(e,_),m});try{fr.info(`[HTTP] GET /session.messages for instance ${e}`,{sessionId:t});const g=await Xt(a.session.messages({sessionID:t}),"session.messages");if(!Array.isArray(g)||(Qc(T=>{const v=new Map(T),C=v.get(e)||new Set;return C.add(t),v.set(e,C),v}),g.length===0))return;const m=new Map,_=g.map(T=>{var U;const v=T.info||T,C=v.role||"assistant",w=v.id||String(Date.now());m.set(w,v);const I=(T.parts||[]).map(B=>lN(B));return{id:w,sessionId:t,type:C==="user"?"user":"assistant",parts:I,timestamp:((U=v.time)==null?void 0:U.created)||Date.now(),status:"complete",version:0}});let p="",S="",h="";for(let T=g.length-1;T>=0;T--){const v=g[T],C=v.info||v;if(C.role==="assistant"&&(p=C.mode||C.agent||"",S=C.providerID||"",h=C.modelID||"",p&&S&&h))break}if(!p&&!S&&!h){const T=await rE(e,c.agent);p=c.agent,S=T.providerId,h=T.modelId}Rs(T=>{const v=new Map(T),C=v.get(e);if(!C)return v;const w=C.get(t);if(!w)return v;const I={...w,agent:p||w.agent,model:S&&h?{providerId:S,modelId:h}:w.model};return C.set(t,I),v.set(e,C),v}),Qc(T=>{const v=new Map(T),C=v.get(e)||new Set;return C.add(t),v.set(e,C),v});const b=((f=Ft().get(e))==null?void 0:f.get(t))??{id:t,title:c==null?void 0:c.title,parentId:(c==null?void 0:c.parentId)??null,revert:c==null?void 0:c.revert};RV(e,b,_,m),xV(e,t),JO(e,t)}catch(g){throw fr.error("Failed to load messages:",g),g}finally{lo(g=>{const m={...g},_=m.loadingMessages.get(e);return _&&_.delete(t),m})}ws(e,t)}const mh=xt("session"),[Ft,Rs]=z(new Map),[zo,GE]=z(new Map),[_h,HN]=z(new Map),[mm,sq]=z(new Map),[mo,oq]=z(new Map),[aq,_m]=z(new Map),[Cl,lo]=z({fetchingSessions:new Map,creatingSession:new Map,deletingSession:new Map,loadingMessages:new Map}),[YN,Qc]=z(new Map),[zN,pm]=z(new Map),[WN,qN]=z(new Map),[lq,Cf]=z(new Map);function mT(e){return e.pendingPermission||e.pendingQuestion?"permission":e.status??"idle"}function cq(e,t,n){if(t===n)return;const r=t==="idle"?null:t,i=n==="idle"?null:n;Cf(s=>{const o=s.get(e)??{permission:0,working:0,compacting:0},a={...o};if(r&&(a[r]=Math.max(0,a[r]-1)),i&&(a[i]=a[i]+1),!(a.permission>0||a.working>0||a.compacting>0)){if(!s.has(e))return s;const u=new Map(s);return u.delete(e),u}if(o.permission===a.permission&&o.working===a.working&&o.compacting===a.compacting&&s.has(e))return s;const d=new Map(s);return d.set(e,a),d})}function dq(e,t){if(!t||t.size===0){Cf(s=>{if(!s.has(e))return s;const o=new Map(s);return o.delete(e),o});return}let n=0,r=0,i=0;for(const s of t.values()){if(s.pendingPermission||s.pendingQuestion){n+=1;continue}const o=s.status??"idle";o==="compacting"?i+=1:o==="working"&&(r+=1)}if(n===0&&r===0&&i===0){Cf(s=>{if(!s.has(e))return s;const o=new Map(s);return o.delete(e),o});return}Cf(s=>{const o=s.get(e);if(o&&o.permission===n&&o.working===r&&o.compacting===i)return s;const a=new Map(s);return a.set(e,{permission:n,working:r,compacting:i}),a})}function uq(e){const t=lq().get(e);return t?t.permission>0?"permission":t.compacting>0?"compacting":t.working>0?"working":"idle":"idle"}function Wo(e,t){dq(e,t??Ft().get(e))}function fq(e,t){!e||!t||Qc(n=>{const r=n.get(e);if(!r||!r.has(t))return n;const i=new Map(n),s=new Set(r);return s.delete(t),s.size===0?i.delete(e):i.set(e,s),i})}Wt.onSessionCleared((e,t)=>{fq(e,t)});function VE(e,t){return`${e}:${t}`}function _T(e,t){if(!e||!t)return"";const n=VE(e,t);return aq().get(n)??""}function x_(e,t,n){const r=VE(e,t);_m(i=>{const s=new Map(i);return n?s.set(r,n):s.delete(r),s})}function KN(e,t){const n=VE(e,t);_m(r=>{if(!r.has(n))return r;const i=new Map(r);return i.delete(n),i})}function QN(e){e&&_m(t=>{let n=!1;const r=new Map(t),i=`${e}:`;for(const s of Array.from(r.keys()))s.startsWith(i)&&(r.delete(s),n=!0);return n?r:t})}function gq(e,t){_m(n=>{let r=!1;const i=new Map(n),s=`${e}:`;for(const o of Array.from(i.keys()))if(o.startsWith(s)){const a=o.slice(s.length);t.has(a)||(i.delete(o),r=!0)}return r?i:n})}function _i(e,t,n){let r=null,i=null,s=!1;Rs(o=>{const a=o.get(e);if(!a)return o;const l=a.get(t);if(!l)return o;r=mT(l);const c={...l};if(n(c)===!1)return o;i=mT(c),a.set(t,c),s=!0;const u=new Map(o);return u.set(e,a),u}),s&&r&&i&&cq(e,r,i)}function HE(e,t,n){_i(e,t,r=>{if(r.pendingPermission===n)return!1;r.pendingPermission=n})}function YE(e,t,n){_i(e,t,r=>{if(r.pendingQuestion===n)return!1;r.pendingQuestion=n})}function Os(e,t){GE(n=>{const r=new Map(n);return r.set(e,t),r})}function As(e,t){HN(n=>{const r=new Map(n);return r.set(e,t),r}),Os(e,t)}function mq(e){HN(t=>{const n=new Map(t);return n.delete(e),n}),GE(t=>{const n=new Map(t);return n.delete(e),n})}function qo(e){const t=Ft().get(e);return t?Array.from(t.values()):[]}function _q(e){return qo(e).filter(n=>n.parentId===null)}function ph(e,t){return qo(e).filter(r=>r.parentId===t)}function pq(e,t){var i;const n=(i=Ft().get(e))==null?void 0:i.get(t);if(!n)return[];const r=ph(e,t);return[n,...r]}const hh=new Map;function hq(e){let t=hh.get(e);return t||(t={byParentId:new Map},hh.set(e,t)),t}function jN(e){var a;const t=Ft().get(e);if(!t||t.size===0)return hh.delete(e),[];const n=hq(e),r=new Set,i=[],s=new Map;for(const l of t.values()){if(l.parentId===null){i.push(l);continue}const c=l.parentId;if(!c)continue;const d=s.get(c);d?d.push(l):s.set(c,[l])}const o=[];for(const l of i){r.add(l.id);const c=s.get(l.id)??[];c.length>1&&c.sort((p,S)=>(S.time.updated??0)-(p.time.updated??0));const d=l.time.updated??0,u=((a=c[0])==null?void 0:a.time.updated)??0,f=Math.max(d,u),g=c.map(p=>p.id).join(","),m=`${d}:${u}:${g}`,_=n.byParentId.get(l.id);if(_&&_.signature===m)o.push(_.thread);else{const p={parent:l,children:c,latestUpdated:f};n.byParentId.set(l.id,{signature:m,thread:p}),o.push(p)}}for(const l of Array.from(n.byParentId.keys()))r.has(l)||n.byParentId.delete(l);return o.sort((l,c)=>{if(c.latestUpdated!==l.latestUpdated)return c.latestUpdated-l.latestUpdated;const d=c.parent.time.updated??0,u=l.parent.time.updated??0;return d!==u?d-u:c.parent.id.localeCompare(l.parent.id)}),o}function XN(e,t){var n;return!!((n=WN().get(e))!=null&&n.has(t))}function Sq(e,t,n){qN(r=>{const i=new Map(r),s=i.get(e)??new Set,o=new Set(s);return o.add(t),o.size===0?i.delete(e):i.set(e,o),i})}function Eq(e,t){qN(n=>{const r=new Map(n),i=r.get(e)??new Set,s=new Set(i);return s.has(t)?s.delete(t):s.add(t),r.set(e,s),r})}function Od(e,t){XN(e,t)||Sq(e,t)}function Ad(e){const t=jN(e);if(t.length===0)return[];const n=WN().get(e),r=[];for(const i of t)if(r.push(i.parent.id),n!=null&&n.has(i.parent.id))for(const s of i.children)r.push(s.id);return r}function Ko(e,t){var i;const n=(i=Ft().get(e))==null?void 0:i.get(t);if(!n)return;if(n.parentId===null){As(e,t);return}const r=n.parentId;r&&hr(()=>{As(e,r),Os(e,t)})}function bq(e,t){const n=Ft().get(e);return!(!n||!n.has(t))}function vq(e,t){var n;return!!((n=Cl().loadingMessages.get(e))!=null&&n.has(t))}function zE(e,t){var n;return(n=zN().get(e))==null?void 0:n.get(t)}async function yq(e,t,n=!1){var c,d,u,f;const r=((c=e.time)==null?void 0:c.created)||0,i=((d=e.time)==null?void 0:d.updated)||0,s=ph(t,e.id).length>0,o=r===i&&!s;if(!n)return o;const a=yt().get(t);if(!(a!=null&&a.client))return o;let l=[];try{const g=Hn(t,e.id),m=Jn(t,g);l=await Xt(m.session.messages({sessionID:e.id}),"session.messages")}catch(g){return mh.error(`Failed to fetch messages for session ${e.id}`,g),o}if(e.parentId===null){const g=ph(t,e.id).length>0;return l.length===0&&!g}else if((u=e.title)!=null&&u.includes("subagent)")){if(l.length===0)return!0;const g=l.some(S=>{const h=S.info.status||S.status;return h==="streaming"||h==="sending"}),m=l[l.length-1],p=((m==null?void 0:m.parts)||[]).some(S=>{var h;return S.type==="tool"||((h=S.data)==null?void 0:h.type)==="tool"});return!g&&!e.pendingPermission&&!p}else{if(l.length===0)return!0;const g=l[l.length-1],m=(g==null?void 0:g.info)||g;return(m==null?void 0:m.id)===((f=e.revert)==null?void 0:f.messageID)}}async function ZN(e,t,n=!1){const r=Ft().get(e);if(!r||n&&!await pl(Le("sessionState.cleanup.deepConfirm.message"),{title:Le("sessionState.cleanup.deepConfirm.title"),detail:Le("sessionState.cleanup.deepConfirm.detail"),confirmLabel:Le("sessionState.cleanup.deepConfirm.confirmLabel"),cancelLabel:Le("sessionState.cleanup.deepConfirm.cancelLabel")}))return;const i=Array.from(r).filter(([s])=>s!==t).map(async([s,o])=>await yq(o,e,n)?(await dg(e,s).catch(l=>{mh.error(`Failed to delete blank session ${s}`,l)}),!0):!1);if(i.length>0){mh.info(`Cleaning up ${i.length} blank sessions`);const o=(await Promise.all(i)).filter(Boolean).length;o>0&&tn({message:o===1?Le("sessionState.cleanup.toast.one",{count:o}):Le("sessionState.cleanup.toast.other",{count:o}),variant:"info"})}}function Tq(e,t){const n=Ft().get(e);return(n==null?void 0:n.get(t))??null}function WE(e,t){const n=Tq(e,t);return n?n.status??"idle":"idle"}function JN(e){return uq(e)}function Cq(e,t){const n=WE(e,t);return n==="working"||n==="compacting"}var Iq=F("<div class=group><button role=tab><span class=tab-label></span><span></span><span class=tab-close role=button tabindex=0>"),wq=F("<span class=status-dot>");function Rq(e){return e.replace(/[\\/]+$/,"").split(/[\\/]/).pop()||e}const Oq=e=>{const{t}=wt(),n=P(()=>JN(e.instance.id)),r=P(()=>{const s=n();return s==="permission"?"session-permission":`session-${s}`}),i=P(()=>{switch(n()){case"permission":return t("instanceTab.status.permission");case"compacting":return t("instanceTab.status.compacting");case"working":return t("instanceTab.status.working");default:return t("instanceTab.status.idle")}});return(()=>{var s=Iq(),o=s.firstChild,a=o.firstChild,l=a.nextSibling,c=l.nextSibling;return Ut(o,"click",e.onSelect,!0),y(o,E(TR,{class:"w-4 h-4 flex-shrink-0"}),a),y(a,()=>Rq(e.instance.folder)),y(l,(()=>{var d=Me(()=>n()==="permission");return()=>d()?E(Kd,{class:"w-3.5 h-3.5","aria-hidden":"true"}):wq()})()),c.$$click=d=>{d.stopPropagation(),e.onClose()},y(c,E(Bl,{class:"w-3 h-3"})),te(d=>{var u=`tab-base ${e.active?"tab-active":"tab-inactive"}`,f=e.instance.folder,g=e.active,m=`status-indicator session-status ml-auto ${r()}`,_=i(),p=t("instanceTab.status.ariaLabel",{status:i()}),S=t("instanceTab.actions.close.ariaLabel");return u!==d.e&&it(o,d.e=u),f!==d.t&&Q(o,"title",d.t=f),g!==d.a&&Q(o,"aria-selected",d.a=g),m!==d.o&&it(l,d.o=m),_!==d.i&&Q(l,"title",d.i=_),p!==d.n&&Q(l,"aria-label",d.n=p),S!==d.s&&Q(c,"aria-label",d.s=S),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),s})()};At(["click"]);var Aq=F("<span>");const Nq=e=>(()=>{var t=Aq();return y(t,()=>e.children),te(n=>{var r=e.ariaHidden,i=`keyboard-hints text-xs text-muted ${e.class||""}`;return r!==n.e&&Q(t,"aria-hidden",n.e=r),i!==n.t&&it(t,n.t=i),n},{e:void 0,t:void 0}),t})();var xq=F("<span class=mx-1>"),Dq=F("<span class=mr-1>");const ug=e=>{const t=el("(min-width: 1280px)");function n(r){const i=[];return(r.modifiers.ctrl||r.modifiers.meta)&&i.push("cmd"),r.modifiers.shift&&i.push("shift"),r.modifiers.alt&&i.push("alt"),i.push(r.key),i.join("+")}return t()?E(Nq,{get class(){return e.class},get ariaHidden(){return e.ariaHidden},get children(){return E(ht,{get each(){return e.shortcuts},children:(r,i)=>[Me(()=>Me(()=>i()>0&&e.separator!==null)()&&(()=>{var s=xq();return y(s,()=>e.separator??"•"),s})()),Me(()=>Me(()=>e.showDescription!==!1)()&&(()=>{var s=Dq();return y(s,()=>r.description),s})()),E(Fn,{get shortcut(){return n(r)}})]})}}):null};class kq{constructor(){this.shortcuts=new Map}register(t){this.shortcuts.set(t.id,t)}unregister(t){this.shortcuts.delete(t)}get(t){return this.shortcuts.get(t)}findMatch(t){for(const n of this.shortcuts.values())if(this.matches(t,n)){if(n.context==="input"&&!this.isInputFocused()||n.context==="messages"&&this.isInputFocused()||n.condition&&!n.condition())continue;return n}return null}matches(t,n){const r=n.key.toLowerCase(),i=t.key?t.key.toLowerCase():"",s=t.code?t.code.toLowerCase():"",o=i===r||s===r,a=t.ctrlKey===(n.modifiers.ctrl??!1),l=t.metaKey===(n.modifiers.meta??!1),c=t.shiftKey===(n.modifiers.shift??!1),d=t.altKey===(n.modifiers.alt??!1);return o&&a&&l&&c&&d}isInputFocused(){const t=document.activeElement;return(t==null?void 0:t.tagName)==="TEXTAREA"||(t==null?void 0:t.tagName)==="INPUT"||((t==null?void 0:t.hasAttribute("contenteditable"))??!1)}getByContext(t){return Array.from(this.shortcuts.values()).filter(n=>!n.context||n.context===t)}}const wn=new kq;var Lq=F("<div class=tab-shortcuts>"),Mq=F('<div class="tab-bar tab-bar-instance"><div class=tab-container role=tablist><div class=tab-scroll><div class=tab-strip><div class=tab-strip-tabs><button class=new-tab-button></button></div><div class=tab-strip-spacer></div><button class=new-tab-button></button><button></button><button class="new-tab-button tab-remote-button">');const Pq=e=>{const{t}=wt(),{preferences:n}=Mi(),r=P(()=>jV()),i=P(()=>!!n().osNotificationsEnabled),s=P(()=>r()&&i()?NS:Hv),o=P(()=>r()?i()?t("settings.notifications.status.enabled"):t("settings.notifications.status.disabled"):t("settings.notifications.status.unsupported"));return(()=>{var a=Mq(),l=a.firstChild,c=l.firstChild,d=c.firstChild,u=d.firstChild,f=u.firstChild,g=u.nextSibling,m=g.nextSibling,_=m.nextSibling,p=_.nextSibling;return y(u,E(ht,{get each(){return Array.from(e.instances.entries())},children:([S,h])=>E(Oq,{instance:h,get active(){return S===e.activeInstanceId},onSelect:()=>e.onSelect(S),onClose:()=>e.onClose(S)})}),f),Ut(f,"click",e.onNew,!0),y(f,E(MS,{class:"w-4 h-4"})),y(d,E(K,{get when(){return Array.from(e.instances.entries()).length>1},get children(){var S=Lq();return y(S,E(ug,{get shortcuts(){return[wn.get("instance-prev"),wn.get("instance-next")].filter(Boolean)}})),S}}),m),m.$$click=()=>Po("appearance"),y(m,E(Hf,{class:"w-4 h-4"})),_.$$click=()=>Po("notifications"),y(_,E(ud,{get component(){return s()},class:"w-4 h-4"})),p.$$click=()=>Po("remote"),y(p,E(LS,{class:"w-4 h-4"})),te(S=>{var h=t("instanceTabs.new.title"),b=t("instanceTabs.new.ariaLabel"),T=t("settings.open.title"),v=t("settings.open.ariaLabel"),C=`new-tab-button ${r()?"":"opacity-50"}`,w=o(),I=o(),O=t("instanceTabs.remote.title"),U=t("instanceTabs.remote.ariaLabel");return h!==S.e&&Q(f,"title",S.e=h),b!==S.t&&Q(f,"aria-label",S.t=b),T!==S.a&&Q(m,"title",S.a=T),v!==S.o&&Q(m,"aria-label",S.o=v),C!==S.i&&it(_,S.i=C),w!==S.n&&Q(_,"title",S.n=w),I!==S.s&&Q(_,"aria-label",S.s=I),O!==S.h&&Q(p,"title",S.h=O),U!==S.r&&Q(p,"aria-label",S.r=U),S},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),a})()};At(["click"]);var $q=F("<div>"),Fq=F('<div class="rounded-lg border border-base bg-surface-secondary p-4 text-sm text-secondary"><p class="font-medium text-primary"></p><p class="mt-2 text-secondary">'),Bq=F('<div class="flex justify-end"><button type=button class="selector-button selector-button-primary">'),Uq=F('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">'),Gq=F('<p class="mt-2 text-secondary"> <span class="font-mono text-primary break-all">');function Vq(e){const{t}=wt(),n=()=>e.folder||t("instanceDisconnected.folderFallback"),r=()=>e.reason||t("instanceDisconnected.reasonFallback");return E(vt,{get open(){return e.open},modal:!0,get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var i=Uq();return y(i,E(vt.Content,{class:"modal-surface w-full max-w-md p-6 flex flex-col gap-6",get children(){return[(()=>{var s=$q();return y(s,E(vt.Title,{class:"text-xl font-semibold text-primary",get children(){return t("instanceDisconnected.title")}}),null),y(s,E(vt.Description,{class:"text-sm text-secondary mt-2 break-words",get children(){return t("instanceDisconnected.description",{folder:n()})}}),null),s})(),(()=>{var s=Fq(),o=s.firstChild,a=o.nextSibling;return y(o,()=>t("instanceDisconnected.details.title")),y(a,r),y(s,(()=>{var l=Me(()=>!!e.folder);return()=>l()&&(()=>{var c=Gq(),d=c.firstChild,u=d.nextSibling;return y(c,()=>t("instanceDisconnected.details.folderLabel"),d),y(u,()=>e.folder),c})()})(),null),s})(),(()=>{var s=Bq(),o=s.firstChild;return Ut(o,"click",e.onClose,!0),y(o,()=>t("instanceDisconnected.actions.closeInstance")),s})()]}})),i})()]}})}})}At(["click"]);const pT=e=>e,Hq=()=>{let e=pT;return{configure(t){e=t},generate(t){return e(t)},reset(){e=pT}}},Yq=Hq(),zq={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function Si(e,t){return zq[t]||`${Yq.generate(e)}-${t}`}function Ei(e,t){const n={};return t.forEach(r=>{n[r]=Si(e,r)}),n}function Wq(e,t,n){const r={};return Object.keys(e).forEach(i=>{r[i]=e[i].reduce((s,o)=>(o&&(n&&n[o]&&s.push(n[o]),s.push(t(o))),s),[]).join(" ")}),r}function qq(e){return Si("MuiPaper",e)}Ei("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const Kq=Symbol("solid-inspect"),Qq=cn();function jq(e){function t(n){var r;return(r=sn(Qq))!=null&&r.enabled?{Component:t,props:n,$INSPECT:Kq}:e(n)}return Object.defineProperty(t,"name",{value:e.name}),t.toString=e.toString,t}function Yn(){return function(e){function t(a){const l=!!e.slotClasses,c=()=>{if(!e.slotClasses)throw new Error("'slotClasses' option is not defined");if(!e.utilityClass)throw new Error("'utilityClass' option is not defined");return Wq(e.slotClasses(a),e.utilityClass,a.classes??"")},d=Ww({});return l&&mw(()=>{const u=c();hr(()=>{for(const f in u)d[f]=u[f]})}),d}function n(a){const[l,c]=bt(a,e.selfPropNames);return{allProps:a,props:l,otherProps:c}}function r(a){return D1({propDefaults:a.propDefaults||e.propDefaults,props:a.props,name:e.name})}function i(a){const l=r({props:a});return n(l)}function s(a,l=!0){return a=jq(a),a.toString=()=>`.${e.name}-root`,l&&ER(a,"base"),a}function o(a){const l=s(function(d){const{allProps:u,otherProps:f,props:g}=i(d),m=e.autoCallUseClasses??!0?t(u):{};return a({allProps:u,otherProps:f,props:g,classes:m})});return Object.defineProperty(l,"name",{value:a.name}),l}return{name:e.name,selfPropNames:e.selfPropNames,component:o,defineComponent:s,useClasses:t,useThemeProps:r,useProps:i,splitInProps:n}}}const Xq=Yn()({name:"MuiPaper",selfPropNames:["children","classes","elevation","square","variant"],propDefaults:({set:e})=>e({component:"div",elevation:1,square:!1,variant:"elevation"}),utilityClass:qq,slotClasses:e=>({root:["root",e.variant,!e.square&&"rounded",e.variant==="elevation"&&`elevation${e.elevation}`]})}),hT=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Number((t/100).toFixed(2))},Zq=Vn("div",{name:"MuiPaper",slot:"Root"})(({theme:e,ownerState:t})=>({backgroundColor:e.palette.background.paper,color:e.palette.text.primary,transition:e.transitions.create("box-shadow"),...!t.square&&{borderRadius:e.shape.borderRadius},...t.variant==="outlined"&&{border:`1px solid ${e.palette.divider}`},...t.variant==="elevation"&&{boxShadow:e.shadows[t.elevation],...e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${_l("#fff",hT(t.elevation))}, ${_l("#fff",hT(t.elevation))})`}}})),ex=Xq.component(function({allProps:t,props:n,otherProps:r,classes:i}){return E(Zq,Re(r,{ownerState:t,get class(){return gn(i.root,t.class)},get children(){return n.children}}))});function Jq(e){return Si("MuiAppBar",e)}Ei("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent"]);const eK=Yn()({name:"MuiAppBar",selfPropNames:["classes","color","enableColorOnDark","position"],utilityClass:Jq,propDefaults:({set:e})=>e({component:"header",color:"primary",enableColorOnDark:!1,position:"fixed"}),slotClasses:e=>({root:["root",`color${pn(e.color)}`,`position${pn(e.position)}`]})}),tK=Vn(ex,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>[t.root,t[`position${pn(e.ownerState.position)}`],t[`color${pn(e.ownerState.color)}`]]})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900];return{display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,...t.position==="fixed"&&{position:"fixed",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},...t.position==="absolute"&&{position:"absolute",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0},...t.position==="sticky"&&{position:"sticky",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0},...t.position==="static"&&{position:"static"},...t.position==="relative"&&{position:"relative"},...t.color==="default"&&{backgroundColor:n,color:e.palette.getContrastText(n)},...t.color&&t.color!=="default"&&t.color!=="inherit"&&t.color!=="transparent"&&{backgroundColor:e.palette[t.color].main,color:e.palette[t.color].contrastText},...t.color==="inherit"&&{color:"inherit"},...e.palette.mode==="dark"&&!t.enableColorOnDark&&{backgroundColor:void 0,color:void 0},...t.color==="transparent"&&{backgroundColor:"transparent",color:"inherit",...e.palette.mode==="dark"&&{backgroundImage:"none"}}}}),nK=eK.component(function({allProps:t,classes:n,props:r,otherProps:i}){return E(tK,Re({square:!0,ownerState:t,elevation:4,get class(){return gn(n.root,{"mui-fixed":r.position==="fixed"},i.class)}},i))});function rK(e){const[t,n,r]=bt(e,S$,["sx"]);return[()=>{const s=n.sx;return s?Array.isArray(s)?[t,...s]:Re(t,s):t},r]}function iK(e){const[t,n]=rK(e);return Re(n,{get sx(){return t()}})}const sK=bR(),tx=sK("div",{name:"MuiBox",slot:"Root",skipProps:[...AS,"component"]})(),nx=function(t){return t=iK(t),E(tx,Re(t,{get as(){return t.as??t.component}}))};nx.toString=tx.toString;const oK=Yn()({name:"MuiBox",selfPropNames:[],utilityClass:e=>`MuiBox-${e}`,slotClasses:()=>({root:["root"]})}),xc=oK.component(function({otherProps:t,classes:n}){const r=$i();return E(nx,Re({theme:r},t,{get class(){return gn(n.root,t.class)}}))}),rx=e=>e.scrollTop;function fg(e,t){const{timeout:n,easing:r,style:i={}}=e;return{duration:i.transitionDuration??(typeof n=="number"?n:typeof n=="string"?0:n[t.mode]||0),easing:i.transitionTimingFunction??(typeof r=="object"?r[t.mode]:r),delay:i.transitionDelay}}function ix(e){return typeof e=="number"?{exit:e,enter:e,appear:e}:{exit:(e==null?void 0:e.exit)||0,enter:(e==null?void 0:e.enter)||0,appear:(e==null?void 0:e.appear)??(e==null?void 0:e.enter)??0}}function sx(e){const t=Re({in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0},e),n=P(()=>ix(t.timeout));let r;t.in?t.appear?r="exited":r="entered":t.unmountOnExit||t.mountOnEnter?r="unmounted":r="exited";const[i,s]=z(r);let o,a,l=!0;function c(u,f){const g=()=>setTimeout(f,u);let m,_=!1;const p=()=>{_=!0,m&&clearTimeout(m)};return t.addEndListener?t.addEndListener(()=>{_||(m=g())}):m=g(),p}const d=P(ur(()=>[i()],()=>{var g,m,_,p;const u=i(),f=u!=="unmounted"?t.children(u):void 0;return l?(l=!1,f):(u==="entering"?((g=t.onEntering)==null||g.call(t),a&&(a(),a=void 0),o=c(n().enter,()=>s("entered"))):u==="entered"?(m=t.onEntered)==null||m.call(t):u==="exiting"?((_=t.onExiting)==null||_.call(t),o&&(o(),o=void 0),a=c(n().exit,()=>s("exited"))):u==="exited"&&((p=t.onExited)==null||p.call(t)),f)}));return _e(u=>(t.in?(Nr(()=>{var f;return(f=t.onEnter)==null?void 0:f.call(t)}),s("entering")):u||(Nr(()=>{var f;return(f=t.onExit)==null?void 0:f.call(t)}),s("exiting")),!1),!0),$e(()=>{o==null||o(),a==null||a()}),d()}const qE=cn();function gg(e){const t=n=>{if(t.ref=t.current=n,typeof e=="function"){const r=e();typeof r=="function"&&r(n)}else typeof(e==null?void 0:e.ref)=="function"&&e.ref(n)};return t}function hm(e){return gg(e)}const ox=Yn()({name:"MuiFader",selfPropNames:["appear","children","easing","in","timeout"],propDefaults:({set:e})=>{const t=$i();return e({appear:!0,get timeout(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}}})}}),aK=ox.selfPropNames,lK=ox.component(function({props:t,otherProps:n}){const r=$i(),i=hm(t),s=P(()=>ix(t.timeout)),o=Fl(()=>t.children),a=sn(qE);return E(sx,Re({get in(){return t.in??(a==null?void 0:a.in)},get appear(){return t.appear},get timeout(){return t.timeout}},n,{ref:i,onEnter:()=>{var d,u;const l=o();rx(l);const c=fg({style:n.style,timeout:s(),easing:t.easing},{mode:"enter"});l.style.transition=r.transitions.create("opacity",c),(d=n.onEnter)==null||d.call(n),(u=a==null?void 0:a.onEnter)==null||u.call(a)},onExit:()=>{var d;const l=o(),c=fg({style:n.style,timeout:s(),easing:t.easing},{mode:"enter"});l.style.transition=r.transitions.create("opacity",c),(d=n.onExit)==null||d.call(n)},onExited:()=>{var l,c;(l=n.onExited)==null||l.call(n),(c=a==null?void 0:a.onExited)==null||c.call(a)},children:l=>{const c=o();return l==="exited"&&!t.in?c.style.visibility="hidden":c.style.removeProperty("visibility"),l==="entering"||l==="entered"?c.style.opacity="1":c.style.opacity="0",c}}))});function Sm(e){return typeof e=="string"}function cK(e){return Si("MuiBackdrop",e)}Ei("MuiBackdrop",["root","invisible"]);const dK=Yn()({name:"BackdropUnstyled",selfPropNames:["children","classes","components","componentsProps","invisible"],propDefaults:({set:e})=>e({component:"div",components:{},componentsProps:{},invisible:!1}),utilityClass:cK,slotClasses:e=>({root:["root",e.invisible&&"invisible"]})}),uK=dK.component(function({props:t,otherProps:n,allProps:r,classes:i}){const s=()=>t.components.Root||n.component,o=()=>t.componentsProps.root||{};return E(P1,Re({"aria-hidden":!0},o,n,()=>!Sm(s())&&{ownerState:r},{get $component(){return s()},get class(){return gn(i.root,o().class,n.class)},get children(){return t.children}}))}),fK=Yn()({name:"MuiBackdrop",selfPropNames:["classes","open","transitionDuration"],propDefaults:({set:e})=>e({open:!1,component:"div"})}),gK=Vn("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",...e.invisible&&{backgroundColor:"transparent"}})),mK=fK.component(function({props:t,otherProps:n}){const[r,i]=bt(n,aK);return E(lK,Re({get in(){return t.open},get timeout(){return t.transitionDuration}},r,{get children(){return E(uK,Re(i,{get class(){return n.class},get invisible(){return n.invisible},get components(){return{Root:gK,...n.components}},get componentsProps(){var s,o,a;return{root:{...(s=n.componentsProps)==null?void 0:s.root,...(!((o=n.components)!=null&&o.Root)||!Sm((a=n.components)==null?void 0:a.Root))&&{}}}},get classes(){return t.classes},get children(){return n.children}}))}}))});function _K(e){const t=()=>e.container??document.body;return E(K,{get when(){return!e.disablePortal},get fallback(){return e.children},get children(){return E($l,{get mount(){return t()},get children(){return e.children}})}})}function pK(e){const t=md(e);return t.body===e?qd(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function jc(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function ST(e){return parseInt(qd(e).getComputedStyle(e).paddingRight,10)||0}function ET(e,t,n=[],r){const i=[t,...n],s=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,o=>{i.indexOf(o)===-1&&s.indexOf(o.tagName)===-1&&jc(o,r)})}function D_(e,t){let n=-1;return e.some((r,i)=>t(r)?(n=i,!0):!1),n}function hK(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(pK(r)){const l=K1(md(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${ST(r)+l}px`;const c=md(r).querySelectorAll(".mui-fixed");[].forEach.call(c,d=>{n.push({value:d.style.paddingRight,property:"padding-right",el:d}),d.style.paddingRight=`${ST(d)+l}px`})}const s=r.parentElement,o=qd(r),a=(s==null?void 0:s.nodeName)==="HTML"&&o.getComputedStyle(s).overflowY==="scroll"?s:r;n.push({value:a.style.overflow,property:"overflow",el:a},{value:a.style.overflowX,property:"overflow-x",el:a},{value:a.style.overflowY,property:"overflow-y",el:a}),a.style.overflow="hidden"}return()=>{n.forEach(({value:s,el:o,property:a})=>{s?o.style.setProperty(a,s):o.style.removeProperty(a)})}}function SK(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class EK{constructor(){ye(this,"containers");ye(this,"modals");this.modals=[],this.containers=[]}add(t,n){let r=this.modals.findIndex(o=>o.ref===t.ref);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),jc(t.ref,!1);const i=SK(n);ET(n,t.ref,i,!0);const s=D_(this.containers,o=>o.container===n);return s!==-1?(this.containers[s].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:i}),r)}mount(t,n){const r=D_(this.containers,s=>!!s.modals.find(o=>o.ref===t.ref)),i=this.containers[r];i.restore||(i.restore=hK(i,n))}remove(t){const n=this.modals.findIndex(s=>s.ref===t.ref);if(n===-1)return n;const r=D_(this.containers,s=>!!s.modals.find(o=>o.ref===t.ref)),i=this.containers[r];if(i.modals.splice(i.modals.findIndex(s=>s.ref===t.ref),1),this.modals.splice(n,1),i.modals.length===0)i.restore&&i.restore(),jc(t.ref,!0),ET(i.container,t.ref,i.hiddenSiblings,!1),this.containers.splice(r,1);else{const s=i.modals[i.modals.length-1];jc(s.ref,!1)}return n}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1].ref===t.ref}}function bK(e){return Si("MuiModal",e)}Ei("MuiModal",["root","hidden"]);const vK=Yn()({name:"ModalUnstyled",propDefaults:({set:e})=>e({closeAfterTransition:!1,component:"div",components:{},componentsProps:{},disableAutoFocus:!1,disableEnforceFocus:!1,disableEscapeKeyDown:!1,disablePortal:!1,disableRestoreFocus:!1,disableScrollLock:!1,hideBackdrop:!1,keepMounted:!1,open:!1}),selfPropNames:["BackdropComponent","BackdropProps","children","classes","closeAfterTransition","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","open","transition"],utilityClass:bK,slotClasses:e=>({root:["root",!e.open&&e.exited&&"hidden"]})});function yK(e){return typeof e=="function"?e():e}const TK=new EK,CK=vK.component(function({allProps:t,otherProps:n,classes:r,props:i}){const s=hm(n),o=TK,a=()=>md(s.ref),[l,c]=z(!0),d=()=>{o.mount(s,{disableScrollLock:i.disableScrollLock}),s.ref.scrollTop=0},u=()=>{const b=yK(i.container)||a().body;o.add(s,b),s.ref&&d()},f=()=>o.isTopModal(s),g=()=>o.remove(s);$e(g),_e(b=>(b?(i.open&&u(),i.open&&f()?d():s.ref&&jc(s.ref,!0)):i.open?u():(!i.transition||!i.closeAfterTransition)&&g(),!1),!0);const m=b=>{var T,v;b.target===b.currentTarget&&((T=i.onBackdropClick)==null||T.call(i,b),(v=i.onClose)==null||v.call(i,b,"backdropClick"))},_=b=>{var T,v;typeof n.onKeyDown=="function"&&((T=n.onKeyDown)==null||T.call(n,b)),!(b.key!=="Escape"||!f())&&(i.disableEscapeKeyDown||(b.stopPropagation(),(v=i.onClose)==null||v.call(i,b,"escapeKeyDown")))},p=()=>i.components.Root||n.component,S=()=>i.componentsProps.root||{},h=()=>!i.keepMounted&&!i.open&&(!i.transition||l());return E(qE.Provider,{value:{get in(){return!!i.transition&&i.open},onEnter:()=>{i.transition&&c(!1)},onExited:()=>{i.transition&&(c(!0),i.closeAfterTransition&&g())}},get children(){return E(K,{get when(){return!h()},get children(){return E(_K,{get container(){return i.container},get disablePortal(){return i.disablePortal},get children(){return E(ud,Re(n,{get component(){return p()},role:"presentation"},S,()=>!Sm(p())&&{ownerState:t},{onKeyDown:_,get class(){return gn(r.root,S().class,n.class)},ref:s,get children(){return[E(K,{get when(){return Me(()=>!i.hideBackdrop)()&&!!i.BackdropComponent},get children(){return E(ud,Re({get component(){return i.BackdropComponent},get open(){return i.open},onClick:m},()=>i.BackdropProps??{}))}}),Me(()=>i.children)]}}))}})}})}})}),bT=Yn()({name:"MuiModal",selfPropNames:["BackdropComponent","BackdropProps"]}),IK=Vn("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>({position:"fixed",zIndex:e.zIndex.modal,right:0,bottom:0,top:0,left:0,...!t.open&&t.exited&&{visibility:"hidden"}})),wK=Vn(mK,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),RK=bT.defineComponent(function(t){const n=bT.useThemeProps({props:t}),[,r]=bt(n,["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"]),i=Re({BackdropComponent:wK,closeAfterTransition:!1,components:{},componentsProps:{},disableAutoFocus:!1,disableEnforceFocus:!1,disableEscapeKeyDown:!1,disablePortal:!1,disableRestoreFocus:!1,disableScrollLock:!1,hideBackdrop:!1,keepMounted:!1},n),[s]=z(!0),o={get closeAfterTransition(){return i.closeAfterTransition},get disableAutoFocus(){return i.disableAutoFocus},get disableEnforceFocus(){return i.disableEnforceFocus},get disableEscapeKeyDown(){return i.disableEscapeKeyDown},get disablePortal(){return i.disablePortal},get disableRestoreFocus(){return i.disableRestoreFocus},get disableScrollLock(){return i.disableScrollLock},get hideBackdrop(){return i.hideBackdrop},get keepMounted(){return i.keepMounted}},a=Re(n,o,{get exited(){return s()}});return E(CK,Re({get components(){return Re({Root:IK},()=>i.components)},componentsProps:{get root(){return Re(()=>i.componentsProps.root||{},()=>(!i.components.Root||!Sm(i.components.Root))&&{get ownerState(){var l;return((l=i.componentsProps.root)==null?void 0:l.ownerState)||{}}}||{})}},get BackdropComponent(){return i.BackdropComponent}},r,{get classes(){return a.classes}},o,{get children(){return n.children}}))}),OK=Yn()({name:"MuiSlide",selfPropNames:["appear","children","container","direction","easing","in","timeout"],propDefaults:({set:e})=>{const t=$i();return e({appear:!0,direction:"down",get easing(){return{enter:t.transitions.easing.easeOut,exit:t.transitions.easing.sharp}},get timeout(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}}})}});function AK(e,t,n){const r=t.getBoundingClientRect(),i=n&&n.getBoundingClientRect(),s=qd(t),o=s.getComputedStyle(t),a=o.getPropertyValue("-webkit-transform")||o.getPropertyValue("transform");let l=0,c=0;if(a&&a!=="none"&&typeof a=="string"){const d=a.split("(")[1].split(")")[0].split(",");l=parseInt(d[4],10),c=parseInt(d[5],10)}return e==="left"?i?`translateX(${i.right+l-r.left}px)`:`translateX(${s.innerWidth+l-r.left}px)`:e==="right"?i?`translateX(-${r.right-i.left-l}px)`:`translateX(-${r.left+r.width-l}px)`:e==="up"?i?`translateY(${i.bottom+c-r.top}px)`:`translateY(${s.innerHeight+c-r.top}px)`:i?`translateY(-${r.top-i.top+r.height-c}px)`:`translateY(-${r.top+r.height-c}px)`}function NK(e){return typeof e=="function"?e():e}function Hu(e,t,n){const r=NK(n),i=AK(e,t,r);i&&(t.style.webkitTransform=i,t.style.transform=i)}const xK=OK.component(function({props:t,otherProps:n}){const r=$i(),i=Fl(()=>t.children),s=sn(qE);let o=[];return _e(a=>{if(a&&(o=o.filter(d=>d!==a),a()),t.in||Hu(t.direction,i(),t.container),t.in||t.direction==="down"||t.direction==="right")return;const l=q1(()=>{Hu(t.direction,i(),t.container)}),c=qd(i());return c.addEventListener("resize",l),()=>{l.clear(),c.removeEventListener("resize",l)}}),$e(()=>{for(const a of o)a()}),E(sx,Re({get in(){return t.in},get appear(){return t.appear},get timeout(){return t.timeout}},n,{onEnter:()=>{var l,c;const a=i();Hu(t.direction,a,t.container),rx(a),(l=n.onEnter)==null||l.call(n),(c=s==null?void 0:s.onEnter)==null||c.call(s)},onEntering:()=>{const a=i(),l=fg({timeout:t.timeout,style:{},easing:t.easing},{mode:"enter"});a.style.webkitTransition=r.transitions.create("-webkit-transform",{...l}),a.style.transition=r.transitions.create("transform",{...l}),a.style.webkitTransform="none",a.style.transform="none"},onExit:()=>{var c;const a=i(),l=fg({timeout:t.timeout,style:{},easing:t.easing},{mode:"exit"});a.style.webkitTransition=r.transitions.create("-webkit-transform",l),a.style.transition=r.transitions.create("transform",l),Hu(t.direction,a,t.container),(c=n.onExit)==null||c.call(n)},onExited:()=>{var l,c;const a=i();a.style.webkitTransition="",a.style.transition="",(l=n.onExited)==null||l.call(n),(c=s==null?void 0:s.onExited)==null||c.call(s)},children:a=>{const l=i();return a==="exited"&&!t.in?l.style.visibility="hidden":l.style.removeProperty("visibility"),l}}))});function DK(e){return Si("MuiDrawer",e)}Ei("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const kK=Yn()({name:"MuiDrawer",selfPropNames:["ModalProps","PaperProps","anchor","children","classes","elevation","onClose","open","transitionDuration","variant"],utilityClass:DK,slotClasses:e=>({root:["root"],docked:[(e.variant==="permanent"||e.variant==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${pn(e.anchor)}`,e.variant!=="temporary"&&`paperAnchorDocked${pn(e.anchor)}`]}),propDefaults:({set:e})=>{const t=$i();return e({component:"div",anchor:"left",elevation:16,hideBackdrop:!1,ModalProps:{},open:!1,PaperProps:{},get transitionDuration(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}},variant:"temporary"})}}),LK=Vn(RK,{name:"MuiDrawer",slot:"Root"})(({theme:e})=>({zIndex:e.zIndex.drawer})),vT=Vn("div",{skipProps:T$,name:"MuiDrawer",slot:"Docked"})({flex:"0 0 auto"}),MK=Vn(ex,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${pn(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${pn(n.anchor)}`]]}})(({theme:e,ownerState:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:e.zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,...t.anchor==="left"&&{left:0},...t.anchor==="top"&&{top:0,left:0,right:0,height:"auto",maxHeight:"100%"},...t.anchor==="right"&&{right:0},...t.anchor==="bottom"&&{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"},...t.anchor==="left"&&t.variant!=="temporary"&&{borderRight:`1px solid ${e.palette.divider}`},...t.anchor==="top"&&t.variant!=="temporary"&&{borderBottom:`1px solid ${e.palette.divider}`},...t.anchor==="right"&&t.variant!=="temporary"&&{borderLeft:`1px solid ${e.palette.divider}`},...t.anchor==="bottom"&&t.variant!=="temporary"&&{borderTop:`1px solid ${e.palette.divider}`}})),ax={left:"right",right:"left",top:"down",bottom:"up"};function PK(e){return["left","right"].indexOf(e)!==-1}function $K(e,t){return e.direction==="rtl"&&PK(t)?ax[t]:t}const yT=kK.component(function({allProps:t,props:n,otherProps:r,classes:i}){const[s,o]=z(!1),a=hm(r),l=$i(),c=Fl(()=>n.children);rn(()=>o(!0));function d(){return E(MK,Re({get elevation(){return Me(()=>n.variant==="temporary")()?n.elevation:0},square:!0},()=>n.PaperProps,{get class(){return gn(i.paper,n.PaperProps.class)},ownerState:t,get children(){return c()}}))}function u(){const f=$K(l,n.anchor);return E(xK,Re({get in(){return n.open},get direction(){return ax[f]},get timeout(){return n.transitionDuration},get appear(){return s()}},()=>n.SlideProps??{},{get children(){return E(d,{})}}))}return E(Gd,{get children(){return[E(cr,{get when(){return n.variant==="permanent"},get children(){return E(vT,Re(r,{get class(){return gn(i.root,i.docked,r.class)},ownerState:t,ref:a,get children(){return E(d,{})}}))}}),E(cr,{get when(){return n.variant==="persistent"},get children(){return E(vT,Re(r,{get class(){return gn(i.root,i.docked,r.class)},ownerState:t,ref:a,get children(){return E(u,{})}}))}}),Me(()=>E(cr,{get when(){return n.variant==="temporary"},get children(){return E(LK,Re({get BackdropProps(){return{...r.BackdropProps??{},...n.ModalProps.BackdropProps??{},transitionDuration:n.transitionDuration}},get class(){return gn(i.root,i.modal,r.class)},get open(){return n.open},ownerState:t,get onClose(){return n.onClose},get hideBackdrop(){return r.hideBackdrop},ref:a},r??{},()=>n.ModalProps??{},{transition:!0,get children(){return E(u,{})}}))}}))]}})});var FK=F("<span>");const BK=Yn()({name:"MuiRipple",selfPropNames:["class","classes","pulsate","rippleX","rippleY","rippleSize","in","onExited","timeout"]}),UK=BK.component(function({props:t,otherProps:n}){const[r,i]=z(!1),s=()=>gn(t.class,t.classes.ripple,t.classes.rippleVisible,t.classes.ripplePulsate&&{[t.classes.ripplePulsate]:t.pulsate}),o=()=>({width:`${t.rippleSize}px`,height:`${t.rippleSize}px`,top:`${-(t.rippleSize/2)+t.rippleY}px`,left:`${-(t.rippleSize/2)+t.rippleX}px`}),a=()=>gn(t.classes.child,t.classes.childLeaving&&{[t.classes.childLeaving]:r()},t.classes.childPulsate&&{[t.classes.childPulsate]:t.pulsate});_e(()=>{!t.in&&!r()&&i(!0)});let l;return _e(()=>{!t.in&&t.onExited&&(clearTimeout(l),l=window.setTimeout(t.onExited,t.timeout))}),$e(()=>clearTimeout(l)),E(xc,{as:"span",get class(){return s()},get style(){return o()},get sx(){return n.sx},get children(){var c=FK();return te(()=>it(c,a())),c}})}),oi=Ei("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),GK=Yn()({name:"MuiTouchRipple",selfPropNames:["center","classes","ref"]}),Sh=550,VK=80,HK=Vn("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),YK=Vn(UK,{name:"MuiTouchRipple",slot:"Ripple"})(({theme:e})=>({position:"absolute","@keyframes animation-enter-$id":{0:{transform:"scale(0)",opacity:.1},100:{transform:"scale(1)",opacity:.3}},"@keyframes animation-exit-$id":{0:{opacity:1},100:{opacity:0}},"@keyframes animation-pulsate-$id":{0:{transform:"scale(1)"},50:{transform:"scale(0.92)"},100:{transform:"scale(1)"}},[`&.${oi.rippleVisible}`]:{opacity:"0.3",transform:"scale(1)",animationName:"animation-enter-$id",animationDuration:`${Sh}ms`,animationTimingFunction:e.transitions.easing.easeInOut},[`&.${oi.ripplePulsate}`]:{animationDuration:`${e.transitions.duration.shorter}ms`},[`& .${oi.child}`]:{opacity:1,display:"block",width:"100%",height:"100%",borderRadius:"50%",backgroundColor:"currentColor"},[`& .${oi.childLeaving}`]:{opacity:0,animationName:"animation-exit-$id",animationDuration:`${Sh}ms`,animationTimingFunction:`${e.transitions.easing.easeInOut}`},[`& .${oi.childPulsate}`]:{position:"absolute",left:"0px",top:0,animationName:"animation-pulsate-$id",animationDuration:"2500ms",animationTimingFunction:`${e.transitions.easing.easeInOut}`,animationIterationCount:"infinite",animationDelay:"200ms"}})),zK=GK.defineComponent(function(t){const n=Re({classes:{}},t),[,r]=bt(n,["center","classes","ref"]);let i=0;const[s,o]=z([]),a=Ww({});let l,c=!1,d,u;const f=hm();$e(()=>{d&&clearTimeout(d)}),_e(()=>{s(),l&&(l(),l=void 0)});const g=h=>{const b=i++;a[b]=!0,o(T=>[...T,{id:b,params:h}]),l=h.cb},m=(h,b={pulsate:!1,center:n.center},T)=>{if(b=Re(b,{center:b.center||b.pulsate}),h.type==="mousedown"&&c){c=!1;return}h.type==="touchstart"&&(c=!0);const v=f.ref?f.ref.getBoundingClientRect():{width:0,height:0,left:0,top:0};let C,w,I;if(b.center||h.clientX===0&&h.clientY===0||!h.clientX&&!h.touches)C=Math.round(v.width/2),w=Math.round(v.height/2);else{const{clientX:O,clientY:U}=h.touches?h.touches[0]:h;C=Math.round(O-v.left),w=Math.round(U-v.top)}if(b.center)I=Math.sqrt((2*v.width**2+v.height**2)/3),I%2===0&&(I+=1);else{const O=Math.max(Math.abs((f.ref?f.ref.clientWidth:0)-C),C)*2+2,U=Math.max(Math.abs((f.ref?f.ref.clientHeight:0)-w),w)*2+2;I=Math.sqrt(O**2+U**2)}h.touches?u||(u=()=>{g({pulsate:b.pulsate,rippleX:C,rippleY:w,rippleSize:I,cb:T})},d=setTimeout(()=>{u&&(u(),u=void 0)},VK)):g({pulsate:b.pulsate,rippleX:C,rippleY:w,rippleSize:I,cb:T})},_=()=>m({},{pulsate:!0}),p=(h,b)=>{if(clearTimeout(d),h.type==="touchend"&&u){u(),u=void 0,d=setTimeout(()=>{p(h,b)});return}for(const T in a)a[T]=!1;u=void 0,l=b},S={pulsate:_,start:m,stop:p};return typeof n.ref=="function"&&n.ref(S),E(HK,Re({get class(){return gn(n.classes.root,oi.root,r.class)},ref:f},r,{get children(){return E(ht,{get each(){return s()},children:h=>E(YK,{get in(){return a[h.id]},onExited:()=>{o(b=>b.filter(T=>T.id!==h.id)),delete a[h.id]},get classes(){return{ripple:gn(n.classes.ripple,oi.ripple),rippleVisible:gn(n.classes.rippleVisible,oi.rippleVisible),ripplePulsate:gn(n.classes.ripplePulsate,oi.ripplePulsate),child:gn(n.classes.child,oi.child),childLeaving:gn(n.classes.childLeaving,oi.childLeaving),childPulsate:gn(n.classes.childPulsate,oi.childPulsate)}},timeout:Sh,get pulsate(){return h.params.pulsate},get rippleX(){return h.params.rippleX},get rippleY(){return h.params.rippleY},get rippleSize(){return h.params.rippleSize}})})}}))});function WK(e){return Si("MuiButtonBase",e)}const qK=Ei("MuiButtonBase",["root","disabled","focusVisible"]),k_=Yn()({name:"MuiButtonBase",selfPropNames:["LinkComponent","TouchRippleProps","action","centerRipple","children","classes","disableRipple","disableRipple","disableTouchRipple","disabled","focusRipple","focusVisibleClassName","onFocusVisible","tabIndex","touchRippleRef"],autoCallUseClasses:!1,utilityClass:WK,slotClasses:e=>({root:["root",e.disabled&&"disabled",e.focusVisible&&"focusVisible"]})}),KK=Vn("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${qK.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),lx=k_.defineComponent(function(t){var x,N;const n=$i(),r=Re({component:"button",LinkComponent:"a",tabIndex:0},(N=(x=n.components)==null?void 0:x[k_.name])==null?void 0:N.defaultProps,t),i=gg(t),s=gg(()=>r.touchRippleRef),o=t$();let a=!1;const[l,c]=z(!1),[d,u]=z(!1),[,f]=bt(r,["LinkComponent","TouchRippleProps","action","centerRipple","children","classes","disableRipple","disableRipple","disableTouchRipple","disabled","focusRipple","focusVisibleClassName","onFocusVisible","tabIndex","touchRippleRef"]),g={get classes(){return r.classes},get disabled(){return r.disabled||!1},get focusVisible(){return l()}},m=k_.useClasses(g);rn(()=>{u(!0)}),_e(()=>{r.disabled&&l()&&c(!1)}),_e(()=>{l()&&r.focusRipple&&!r.disableRipple&&s.ref.pulsate()});function _(D,$,A=r.disableTouchRipple){return W=>(typeof $=="function"&&$(W),!A&&s.ref&&s.ref[D](W),!0)}const p=_("start",r.onMouseDown),S=_("stop",r.onContextMenu),h=_("stop",r.onDragLeave),b=_("stop",r.onMouseUp),T=_("stop",D=>{l()&&D.preventDefault(),typeof r.onMouseLeave=="function"&&r.onMouseLeave(D)}),v=_("start",r.onTouchStart),C=_("stop",r.onTouchEnd),w=_("stop",r.onTouchMove),I=_("stop",D=>{o.onBlur(D),o.isFocusVisibleRef.current===!1&&c(!1),typeof r.onFocusOut=="function"&&r.onFocusOut(D)},!1),O=D=>{i.ref||(i.ref=D.currentTarget),o.onFocus(D),o.isFocusVisibleRef.current===!0&&(c(!0),r.onFocusVisible&&r.onFocusVisible(D)),typeof r.onFocusIn=="function"&&r.onFocusIn(D)},U=()=>r.component&&r.component!=="button"&&!(i.ref.tagName==="A"&&i.ref.hasAttribute("href")),B=D=>{r.focusRipple&&!a&&l()&&s.ref&&D.key===" "&&(a=!0,s.ref.stop(D,()=>{s.ref.start(D)})),D.target===D.currentTarget&&U()&&D.key===" "&&D.preventDefault(),typeof r.onKeyDown=="function"&&r.onKeyDown(D),D.target===D.currentTarget&&U()&&D.key==="Enter"&&!r.disabled&&(D.preventDefault(),typeof r.onClick=="function"&&r.onClick(D))},k=D=>{r.focusRipple&&D.key===" "&&s.ref&&l()&&!D.defaultPrevented&&(a=!1,s.ref.stop(D,()=>{s.ref.pulsate(D)})),typeof r.onKeyUp=="function"&&r.onKeyUp(D),typeof r.onClick=="function"&&D.target===D.currentTarget&&U()&&D.key===" "&&!D.defaultPrevented&&r.onClick(D)},L=P(()=>{let D=r.component;return D==="button"&&(r.href||r.to)&&(D=r.LinkComponent),D}),M=()=>L()==="button",G=()=>d()&&!r.disableRipple&&!r.disabled,R=r.TouchRippleProps;return E(KK,Re({get type(){return Me(()=>!!M())()?Me(()=>r.type===void 0)()?"button":r.type:void 0},get disabled(){return Me(()=>!!M())()?r.disabled:void 0},get role(){return!M()&&r.href&&!r.to?"button":void 0},get"aria-disabled"(){return!M()&&r.disabled?!0:void 0}},f,{get class(){return gn(m.root,r.class)},ownerState:g,onFocusOut:I,get onClick(){return r.onClick},onContextMenu:S,onFocusIn:O,onKeyDown:B,onKeyUp:k,onMouseDown:p,onMouseLeave:T,onMouseUp:b,onDragLeave:h,onTouchEnd:C,onTouchMove:w,onTouchStart:v,ref:i,get tabIndex(){return Me(()=>!!r.disabled)()?-1:r.tabIndex},get as(){return L()},get children(){return[Me(()=>r.children),E(K,{get when(){return G()},get children(){return E(zK,Re({ref:D=>{s(D)},get center(){return r.centerRipple}},R))}})]}}))});function QK(e){return Si("MuiIconButton",e)}const jK=Ei("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),XK=Yn()({name:"MuiIconButton",selfPropNames:["children","classes","color","disableFocusRipple","disabled","edge","size"],propDefaults:({set:e})=>e({edge:!1,color:"default",disabled:!1,disableFocusRipple:!1,size:"medium"}),utilityClass:QK,slotClasses:e=>({root:["root",e.disabled&&"disabled",e.color!=="default"&&`color${pn(e.color)}`,e.edge&&`edge${pn(e.edge)}`,`size${pn(e.size)}`]})}),ZK=Vn(lx,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${pn(n.color)}`],n.edge&&t[`edge${pn(n.edge)}`],t[`size${pn(n.size)}`]]}})(({theme:e,ownerState:t})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:e.palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),...!t.disableRipple&&{"&:hover":{backgroundColor:_l(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},...t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},...t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}}),({theme:e,ownerState:t})=>({...t.color==="inherit"&&{color:"inherit"},...t.color!=="inherit"&&t.color!=="default"&&{color:e.palette[t.color].main,...!t.disableRipple&&{"&:hover":{backgroundColor:_l(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}},...t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},...t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},[`&.${jK.disabled}`]:{backgroundColor:"transparent",color:e.palette.action.disabled}})),di=XK.component(function({allProps:t,classes:n,otherProps:r,props:i}){return E(ZK,Re({get class(){return gn(n.root,r.class)},centerRipple:!0,get focusRipple(){return!i.disableFocusRipple},get disabled(){return i.disabled},ownerState:t},r,{get children(){return i.children}}))});function JK(e){return Si("MuiToolbar",e)}Ei("MuiToolbar",["root","gutters","regular","dense"]);const e5=Yn()({name:"MuiToolbar",selfPropNames:["children","classes","disableGutters","variant"],propDefaults:({set:e})=>e({component:"div",disableGutters:!1,variant:"regular"}),utilityClass:JK,slotClasses:e=>({root:["root",!e.disableGutters&&"gutters",e.variant]})}),t5=Vn("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(({theme:e,ownerState:t})=>({position:"relative",display:"flex",alignItems:"center",...!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},...t.variant==="dense"&&{minHeight:48}}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),n5=e5.component(function({allProps:t,props:n,classes:r,otherProps:i}){return E(t5,Re(i,{get as(){return i.component},get class(){return gn(r.root,i.class)},ownerState:t,get children(){return n.children}}))}),[r5,cx]=z(new Map);function dx(e,t){cx(n=>{const r=new Map(n);return r.set(e,t),r})}function ux(e){e&&dx(e,!0)}function fx(e){if(!e){cx(new Map);return}dx(e,!1)}function i5(e){return r5().get(e)??!1}const TT=xt("session"),L_=new Set;function Eh(e){return e?"project"in e&&"mcpStatus"in e&&"lspStatus"in e&&"plugins"in e:!1}async function s5(e,t){const n=e.client;if(!n){TT.warn("[metadata] Skipping fetch; client missing",{instanceId:e.id});return}const r=vf(e.id)??e.metadata;if(!(!(t!=null&&t.force)&&Eh(r))&&!L_.has(e.id)){L_.add(e.id);try{const[i,s,o,a]=await Promise.allSettled([n.project.current(),n.mcp.status(),xN(e.id),n.config.get()]),l=i.status==="fulfilled"?i.value.data:void 0,c=s.status==="fulfilled"?s.value.data:void 0,d=o.status==="fulfilled"?o.value??[]:void 0,u=a.status==="fulfilled"?a.value.data:void 0,f=Array.isArray(u==null?void 0:u.plugin)?(u==null?void 0:u.plugin).map(m=>m.startsWith("file://")?m.slice(7):m):void 0,g={...r??{}};i.status==="fulfilled"&&(g.project=l??null),s.status==="fulfilled"&&(g.mcpStatus=c??{}),o.status==="fulfilled"&&(g.lspStatus=d??[]),a.status==="fulfilled"&&(g.plugins=f??[]),!(g!=null&&g.version)&&e.binaryVersion&&(g.version=e.binaryVersion),mN(e.id,g)}catch(i){TT.error("Failed to load instance metadata",i)}finally{L_.delete(e.id)}}}const gx=cn(null),o5=e=>{const t=P(()=>yt().get(e.instance.id)??e.instance),[n,r]=z(!0),i=async(o=!1)=>{const a=t();if(!a){r(!1);return}const l=vf(a.id)??a.metadata;if(!o&&Eh(l)){r(!1);return}r(!0),await s5(a,{force:o}),r(!1)};_e(()=>{const o=t();if(!o){r(!1);return}const a=vf(o.id)??o.metadata;if(!a||!Eh(a)){i();return}r(!1)});const s={isLoading:n,instance:t,metadata:()=>vf(t().id)??t().metadata,refreshMetadata:()=>i(!0)};return E(gx.Provider,{value:s,get children(){return e.children}})};function mx(){return sn(gx)}const a5=cn();function l5(){return sn(a5)}const c5=cn();function d5(){return sn(c5)}function u5(e){const t=e.controlled()!==void 0,[n,r]=z(e.default()),i=P(()=>t?e.controlled():n());return t&&_e(()=>{r(()=>i())}),[i,o=>{t||r(o)}]}function f5(e){return Si("PrivateSwitchBase",e)}Ei("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const CT=Yn()({name:"MuiSwitchBase",selfPropNames:["autoFocus","checked","checkedIcon","classes","defaultChecked","disableFocusRipple","disableRipple","disabled","edge","icon","id","inputProps","inputRef","name","onChange","readOnly","required","tabIndex","type","value"],autoCallUseClasses:!1,propDefaults:({set:e})=>e({disableFocusRipple:!1,edge:!1}),utilityClass:f5,slotClasses:e=>({root:["root",!!e.checked&&"checked",!!e.disabled&&"disabled",e.edge&&`edge${pn(e.edge)}`],input:["input"]})}),g5=Vn(lx)(({ownerState:e})=>({padding:9,borderRadius:"50%",...e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},...e.edge==="end"&&{marginRight:e.size==="small"?-3:-12}})),m5=Vn("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),_5=CT.component(function({allProps:t,otherProps:n,props:r}){const i=d5(),[s,o]=u5({controlled:()=>r.checked??(i==null?void 0:i.checked),default:()=>!!r.defaultChecked,name:"SwitchBase",state:"checked"}),a=l5(),l=()=>typeof(i==null?void 0:i.disabled)<"u"?i.disabled:a&&typeof r.disabled>"u"?a.disabled:r.disabled;_e(()=>{i&&i.setDisabled(!!l())});const c=()=>r.type==="checkbox"||r.type==="radio",d=Re(t,{get checked(){return s()},get disabled(){return l()}}),u=CT.useClasses(d),f=gg(()=>r.inputRef),g=()=>r.value??(i==null?void 0:i.value);return _e(()=>{typeof r.defaultChecked=="boolean"&&(f.ref.defaultChecked=r.defaultChecked)}),_e(()=>{const m=s();typeof m=="boolean"&&(f.ref.checked=m)}),E(g5,Re(n,{component:"span",get class(){return gn(u.root,n.class)},centerRipple:!0,get focusRipple(){return!r.disableFocusRipple},get disabled(){return l()},tabIndex:null,role:void 0,onFocus:m=>{var _;typeof n.onFocus=="function"&&n.onFocus(m),(_=a==null?void 0:a.onFocus)==null||_.call(a)},onBlur:m=>{var _;typeof n.onBlur=="function"&&n.onBlur(m),(_=a==null?void 0:a.onBlur)==null||_.call(a)},ownerState:d,get children(){return[E(m5,Re({as:"input",get autofocus(){return r.autoFocus},get class(){return u.input},get disabled(){return l()},get id(){return Me(()=>!!c())()?r.id:void 0},get name(){return r.name??(i==null?void 0:i.name)},onClick:m=>{var p;if(m.defaultPrevented)return;const _=m.currentTarget.checked;m.currentTarget.checked=!_,o(_),typeof r.onChange=="function"?r.onChange(m,_):(p=i==null?void 0:i.onChange)==null||p.call(i,m,_),typeof n.onClick=="function"&&n.onClick(m)},get readOnly(){return r.readOnly},ref:m=>{var _;f(m),r.inputRef||(_=i==null?void 0:i.inputRef)==null||_.call(i,m)},get required(){return r.required},ownerState:d,get tabIndex(){return r.tabIndex},get type(){return r.type},get value(){return g()}},()=>r.inputProps||{})),Me(()=>Me(()=>!!s())()?r.checkedIcon:r.icon),Me(()=>n.children)]}}))});function p5(e){return Si("MuiSwitch",e)}const br=Ei("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),h5=Yn()({name:"MuiSwitch",selfPropNames:["checkedIcon","classes","color","disabled","icon","size","value"],propDefaults:({set:e})=>e({color:"primary",size:"medium"}),utilityClass:p5,slotClasses:e=>({root:["root",!!e.edge&&`edge${pn(e.edge)}`,`size${pn(e.size)}`],switchBase:["switchBase",`color${pn(e.color)}`,!!e.checked&&"checked",!!e.disabled&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]})}),S5=Vn("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${pn(n.edge)}`],t[`size${pn(n.size)}`]]}})(({ownerState:e})=>({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},...e.edge==="start"&&{marginLeft:-8},...e.edge==="end"&&{marginRight:-8},...e.size==="small"&&{width:40,height:24,padding:7,[`& .${br.thumb}`]:{width:16,height:16},[`& .${br.switchBase}`]:{padding:4,[`&.${br.checked}`]:{transform:"translateX(16px)"}}}})),E5=Vn(_5,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${br.input}`]:t.input},n.color!=="default"&&t[`color${pn(n.color)}`]]}})(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300],transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${br.checked}`]:{transform:"translateX(20px)"},[`&.${br.disabled}`]:{color:e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]},[`&.${br.checked} + .${br.track}`]:{opacity:.5},[`&.${br.disabled} + .${br.track}`]:{opacity:e.palette.mode==="light"?.12:.2},[`& .${br.input}`]:{left:"-100%",width:"300%"}}),({theme:e,ownerState:t})=>({"&:hover":{backgroundColor:_l(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},...t.color!=="default"&&{[`&.${br.checked}`]:{color:e.palette[t.color].main,"&:hover":{backgroundColor:_l(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${br.disabled}`]:{color:e.palette.mode==="light"?Zw(e.palette[t.color].main,.62):Xw(e.palette[t.color].main,.55)}},[`&.${br.checked} + .${br.track}`]:{backgroundColor:e.palette[t.color].main}}})),b5=Vn("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.palette.mode==="light"?e.palette.common.black:e.palette.common.white,opacity:e.palette.mode==="light"?.38:.3})),v5=Vn("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e})=>({boxShadow:e.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"})),y5=h5.component(function({allProps:t,props:n,classes:r,otherProps:i}){const s=()=>E(v5,{get class(){return r.thumb},ownerState:t}),o=Re(r,{get root(){return r.switchBase}}),[,a]=bt(i,["sx"]),l=Re(a,{get checkedIcon(){return n.checkedIcon||s},get disabled(){return n.disabled},get icon(){return n.icon||s},get value(){return n.value}});return E(S5,{get class(){return gn(r.root,i.class)},get sx(){return i.sx},ownerState:t,get children(){return[E(E5,Re({type:"checkbox",ownerState:t},l,{classes:o})),E(b5,{get class(){return r.track},ownerState:t})]}})});var T5=F('<p class="text-[11px] text-secondary italic"role=status>'),M_=F('<div class="text-xs font-medium text-muted uppercase tracking-wide">'),P_=F("<div class=space-y-1.5>"),$_=F("<section class=space-y-1.5>"),C5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="flex items-center justify-between gap-2"><div class="flex flex-col flex-1 min-w-0"><span class="text-xs text-primary font-medium truncate"></span><span class="text-[11px] text-secondary truncate"></span></div><div class="flex items-center gap-1.5 flex-shrink-0 text-xs text-secondary"><div></div><span>'),I5=F('<svg class="animate-spin h-3 w-3"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),w5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="flex items-center justify-between gap-2"><span class="text-xs text-primary font-medium truncate"></span><div class="flex items-center gap-3 flex-shrink-0"><div class="flex items-center gap-1.5 text-xs text-secondary"><div></div></div><div class="flex items-center gap-1.5">'),R5=F('<div class="text-[11px] mt-1 break-words"style=color:var(--status-error)>'),O5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="text-xs text-primary font-medium break-words whitespace-normal">'),A5=F("<div>");const N5=xt("session");function x5(e){if(!e||typeof e!="object")return[];const t=[];for(const[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;const i=r.status;if(!i)continue;let s;i==="connected"?s="running":i==="failed"?s="error":s="stopped",t.push({name:n,status:s,error:typeof r.error=="string"?r.error:void 0})}return t}const If=e=>{const{t}=wt(),n=mx(),r=(n==null?void 0:n.instance)??(()=>{if(e.initialInstance)return e.initialInstance;throw new Error("InstanceServiceStatus requires InstanceMetadataProvider or initialInstance prop")}),i=(n==null?void 0:n.isLoading)??(()=>!1),s=(n==null?void 0:n.refreshMetadata)??(async()=>Promise.resolve()),o=P(()=>e.sections??["lsp","mcp","plugins"]),a=P(()=>o().includes("lsp")),l=P(()=>o().includes("mcp")),c=P(()=>o().includes("plugins")),d=()=>e.showSectionHeadings!==!1,u=(n==null?void 0:n.metadata)??(()=>r().metadata),f=P(()=>u()),g=()=>{var M;return((M=f())==null?void 0:M.lspStatus)!==void 0},m=()=>{var M;return((M=f())==null?void 0:M.mcpStatus)!==void 0},_=()=>{var M;return((M=f())==null?void 0:M.plugins)!==void 0},p=P(()=>{var M;return((M=f())==null?void 0:M.lspStatus)??[]}),S=P(()=>{var M;return x5(((M=f())==null?void 0:M.mcpStatus)??void 0)}),h=P(()=>{var M;return((M=f())==null?void 0:M.plugins)??[]}),b=()=>i()||!g(),T=()=>i()||!m(),v=()=>i()||!_(),[C,w]=z({}),I=(M,G)=>{w(R=>{const x={...R};return G?x[M]=G:delete x[M],x})},O=async(M,G)=>{const R=r().client;if(!(R!=null&&R.mcp))return;const x=G?"connect":"disconnect";I(M,x);try{G?await R.mcp.connect({name:M}):await R.mcp.disconnect({name:M}),await s()}catch(N){N5.error("Failed to toggle MCP server",{serverName:M,action:x,error:N})}finally{I(M)}},U=M=>(()=>{var G=T5();return y(G,M),G})(),B=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.lsp")),G}}),null),y(M,E(K,{get when(){return Me(()=>!b())()&&p().length>0},get fallback(){return U(b()?t("instanceServiceStatus.lsp.loading"):t("instanceServiceStatus.lsp.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return p()},children:R=>(()=>{var x=C5(),N=x.firstChild,D=N.firstChild,$=D.firstChild,A=$.nextSibling,W=D.nextSibling,ae=W.firstChild,ne=ae.nextSibling;return y($,()=>R.name??R.id),y(A,()=>R.root),y(ne,(()=>{var ge=Me(()=>R.status==="connected");return()=>ge()?t("instanceServiceStatus.lsp.status.connected"):t("instanceServiceStatus.lsp.status.error")})()),te(ge=>{var ue=R.root,me=`status-dot ${R.status==="connected"?"ready animate-pulse":"error"}`;return ue!==ge.e&&Q(A,"title",ge.e=ue),me!==ge.t&&it(ae,ge.t=me),ge},{e:void 0,t:void 0}),x})()})),G}}),null),M})(),k=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.mcp")),G}}),null),y(M,E(K,{get when(){return Me(()=>!T())()&&S().length>0},get fallback(){return U(T()?t("instanceServiceStatus.mcp.loading"):t("instanceServiceStatus.mcp.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return S()},children:R=>{const x=()=>C()[R.name],N=()=>!!x(),D=()=>R.status==="running",$=()=>N()||!r().client,A=()=>N()?"status-dot animate-pulse":R.status==="running"?"status-dot ready animate-pulse":R.status==="error"?"status-dot error":"status-dot stopped",W=()=>N()?{background:"var(--status-warning)"}:void 0;return(()=>{var ae=w5(),ne=ae.firstChild,ge=ne.firstChild,ue=ge.nextSibling,me=ue.firstChild,ce=me.firstChild,se=me.nextSibling;return y(ge,()=>R.name),y(me,E(K,{get when(){return N()},get children(){return I5()}}),ce),y(se,E(y5,{get checked(){return D()},get disabled(){return $()},color:"success",size:"small",get inputProps(){return{"aria-label":t("instanceServiceStatus.mcp.toggleAriaLabel",{name:R.name})}},onChange:(Z,pe)=>{$()||O(R.name,!!pe)}})),y(ae,E(K,{get when(){return R.error},children:Z=>(()=>{var pe=R5();return y(pe,Z),pe})()}),null),te(Z=>{var pe=A(),Y=W();return pe!==Z.e&&it(ce,Z.e=pe),Z.t=ai(ce,Y,Z.t),Z},{e:void 0,t:void 0}),ae})()}})),G}}),null),M})(),L=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.plugins")),G}}),null),y(M,E(K,{get when(){return Me(()=>!v())()&&h().length>0},get fallback(){return U(v()?t("instanceServiceStatus.plugins.loading"):t("instanceServiceStatus.plugins.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return h()},children:R=>(()=>{var x=O5(),N=x.firstChild;return y(N,R),x})()})),G}}),null),M})();return(()=>{var M=A5();return y(M,E(K,{get when(){return a()},get children(){return B()}}),null),y(M,E(K,{get when(){return l()},get children(){return k()}}),null),y(M,E(K,{get when(){return c()},get children(){return L()}}),null),te(()=>it(M,e.class)),M})()};var D5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs px-2 py-1.5 rounded border bg-surface-secondary border-base text-primary">v'),k5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs font-mono break-all px-2 py-1.5 rounded border bg-surface-secondary border-base text-primary">'),L5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1.5"></div><div class=space-y-1>'),M5=F('<div class="text-xs text-muted py-1"><div class="flex items-center gap-1.5"><svg class="animate-spin h-3 w-3 icon-muted"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),P5=F('<div class="pt-3 border-t border-base"><button type=button class="button-danger button-small w-full">'),$5=F('<div class=panel><div class=panel-header><h2 class=panel-title></h2></div><div class="panel-body space-y-3"><div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs text-primary font-mono break-all px-2 py-1.5 rounded border bg-surface-secondary border-base"></div></div><div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1.5"></div><div class="space-y-1 text-xs"><div class="flex justify-between items-center"><span class=text-secondary></span><span class="text-primary font-mono"></span></div><div class="flex justify-between items-center"><span class=text-secondary></span><span class="text-primary font-mono"></span></div><div class="flex justify-between items-center"><span class=text-secondary></span><span><div>'),F5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs font-mono px-2 py-1.5 rounded border truncate bg-surface-secondary border-base text-primary">'),B5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="flex items-center gap-2 text-xs text-primary"><svg class="w-3.5 h-3.5"fill=currentColor viewBox="0 0 24 24"style=color:var(--status-warning)><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg><span class=capitalize>'),U5=F('<div class="flex items-center gap-2 px-2 py-1.5 rounded border bg-surface-secondary border-base"><span class="text-xs font-mono font-medium flex-1 text-primary"></span><span class="text-xs font-mono flex-1 text-secondary">');const G5=xt("actions"),bh=e=>{const{t}=wt(),n=mx(),r=(n==null?void 0:n.isLoading)??(()=>!1),i=(n==null?void 0:n.instance)??(()=>e.instance),s=(n==null?void 0:n.metadata)??(()=>e.instance.metadata),[o,a]=z(!1),l=()=>i(),c=()=>s(),d=()=>{var _;return l().binaryVersion||((_=c())==null?void 0:_.version)},u=()=>l().environmentVariables,f=P(()=>{const _=u();return _?Object.entries(_):[]}),g=P(()=>{var _;return!!((_=l())!=null&&_.client)&&!o()}),m=async()=>{if(!(!g()||!await pl(t("infoView.dispose.confirm.message"),{title:t("infoView.dispose.confirm.title"),variant:"warning",confirmLabel:t("infoView.dispose.confirm.confirmLabel"),cancelLabel:t("infoView.dispose.confirm.cancelLabel")}))){a(!0);try{const p=await MW(l().id);tn(p?{message:t("infoView.dispose.toast.success"),variant:"success",duration:8e3}:{message:t("infoView.dispose.toast.error"),variant:"error"})}catch(p){G5.error("Failed to dispose instance",p),tn({message:t("infoView.dispose.toast.error"),variant:"error"})}finally{a(!1)}}};return(()=>{var _=$5(),p=_.firstChild,S=p.firstChild,h=p.nextSibling,b=h.firstChild,T=b.firstChild,v=T.nextSibling,C=b.nextSibling,w=C.firstChild,I=w.nextSibling,O=I.firstChild,U=O.firstChild,B=U.nextSibling,k=O.nextSibling,L=k.firstChild,M=L.nextSibling,G=k.nextSibling,R=G.firstChild,x=R.nextSibling,N=x.firstChild;return y(S,()=>t("instanceInfo.title")),y(T,()=>t("instanceInfo.labels.folder")),y(v,()=>l().folder),y(h,E(K,{get when(){var D;return Me(()=>!r())()&&((D=c())==null?void 0:D.project)},children:D=>[(()=>{var $=F5(),A=$.firstChild,W=A.nextSibling;return y(A,()=>t("instanceInfo.labels.project")),y(W,()=>D().id),$})(),E(K,{get when(){return D().vcs},get children(){var $=B5(),A=$.firstChild,W=A.nextSibling,ae=W.firstChild,ne=ae.nextSibling;return y(A,()=>t("instanceInfo.labels.versionControl")),y(ne,()=>D().vcs),$}})]}),C),y(h,E(K,{get when(){return d()},get children(){var D=D5(),$=D.firstChild,A=$.nextSibling;return A.firstChild,y($,()=>t("instanceInfo.labels.opencodeVersion")),y(A,d,null),D}}),C),y(h,E(K,{get when(){return l().binaryPath},get children(){var D=k5(),$=D.firstChild,A=$.nextSibling;return y($,()=>t("instanceInfo.labels.binaryPath")),y(A,()=>l().binaryPath),D}}),C),y(h,E(K,{get when(){return f().length>0},get children(){var D=L5(),$=D.firstChild,A=$.nextSibling;return y($,()=>t("instanceInfo.labels.environmentVariables",{count:f().length})),y(A,E(ht,{get each(){return f()},children:([W,ae])=>(()=>{var ne=U5(),ge=ne.firstChild,ue=ge.nextSibling;return Q(ge,"title",W),y(ge,W),Q(ue,"title",ae),y(ue,ae),ne})()})),D}}),C),y(h,E(If,{get initialInstance(){return e.instance},class:"space-y-3"}),C),y(h,E(K,{get when(){return r()},get children(){var D=M5(),$=D.firstChild;return $.firstChild,y($,()=>t("instanceInfo.loading"),null),D}}),C),y(w,()=>t("instanceInfo.server.title")),y(U,()=>t("instanceInfo.server.port")),y(B,()=>l().port),y(L,()=>t("instanceInfo.server.pid")),y(M,()=>l().pid),y(R,()=>t("instanceInfo.server.status")),y(x,()=>l().status,null),y(h,E(K,{get when(){return e.showDisposeButton},get children(){var D=P5(),$=D.firstChild;return $.$$click=m,y($,(()=>{var A=Me(()=>!!o());return()=>A()?t("infoView.dispose.actions.disposing"):t("infoView.dispose.actions.dispose")})()),te(()=>$.disabled=!g()),D}}),null),te(D=>{var $=`status-badge ${l().status}`,A=`status-dot ${l().status==="ready"?"ready":l().status==="starting"?"starting":l().status==="error"?"error":"stopped"} ${l().status==="ready"||l().status==="starting"?"animate-pulse":""}`;return $!==D.e&&it(x,D.e=$),A!==D.t&&it(N,D.t=A),D},{e:void 0,t:void 0}),_})()};At(["click"]);var V5=F('<form class="mt-4 space-y-4"><div class=space-y-2><label class="text-sm font-medium text-secondary"></label><input type=text class="w-full px-3 py-2 text-sm bg-surface-base border border-base rounded text-primary focus-ring-accent"></div><div class="flex justify-end gap-3"><button type=button class=button-tertiary></button><button type=submit class="button-primary flex items-center gap-2 disabled:opacity-60 disabled:cursor-not-allowed">'),H5=F('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">'),Y5=F('<svg class="animate-spin h-4 w-4"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),z5=F("<span>");const _x=e=>{const{t}=wt(),[n,r]=z(""),i=`session-rename-${Math.random().toString(36).slice(2)}`;let s;_e(()=>{e.open&&r(e.currentTitle??"")}),_e(()=>{e.open&&(typeof window>"u"||typeof window.requestAnimationFrame!="function"||window.requestAnimationFrame(()=>{s==null||s.focus(),s==null||s.select()}))});const o=()=>!!e.isSubmitting,a=()=>o()||!n().trim();async function l(d){d==null||d.preventDefault(),!a()&&await e.onRename(n().trim())}const c=()=>e.sessionLabel&&e.sessionLabel.trim()?t("sessionRenameDialog.description.withLabel",{label:e.sessionLabel}):t("sessionRenameDialog.description.default");return E(vt,{get open(){return e.open},onOpenChange:d=>{!d&&!o()&&e.onClose()},get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var d=H5();return y(d,E(vt.Content,{class:"modal-surface w-full max-w-sm p-6",tabIndex:-1,get children(){return[E(vt.Title,{class:"text-lg font-semibold text-primary",get children(){return t("sessionRenameDialog.title")}}),E(vt.Description,{class:"text-sm text-secondary mt-1",get children(){return c()}}),(()=>{var u=V5(),f=u.firstChild,g=f.firstChild,m=g.nextSibling,_=f.nextSibling,p=_.firstChild,S=p.nextSibling;return u.addEventListener("submit",l),Q(g,"for",i),y(g,()=>t("sessionRenameDialog.input.label")),m.$$input=h=>r(h.currentTarget.value),Ct(h=>{s=h},m),Q(m,"id",i),p.$$click=()=>{o()||e.onClose()},y(p,()=>t("sessionRenameDialog.actions.cancel")),y(S,E(K,{get when(){return!o()},get fallback(){return[Y5(),(()=>{var h=z5();return y(h,()=>t("sessionRenameDialog.actions.renaming")),h})()]},get children(){return t("sessionRenameDialog.actions.rename")}})),te(h=>{var b=t("sessionRenameDialog.input.placeholder"),T=o(),v=a();return b!==h.e&&Q(m,"placeholder",h.e=b),T!==h.t&&(p.disabled=h.t=T),v!==h.a&&(S.disabled=h.a=v),h},{e:void 0,t:void 0,a:void 0}),te(()=>m.value=n()),u})()]}})),d})()]}})}})};At(["input","click"]);var W5=F('<button type=button class="button-tertiary lg:hidden flex-shrink-0">'),q5=F('<div class="panel flex flex-col flex-1 min-h-0"><div class=panel-header><div class="flex flex-row flex-wrap items-center gap-2 justify-between"><div><h2 class=panel-title></h2><p class=panel-subtitle></p></div></div></div><div class="panel-list panel-list--fill flex-1 min-h-0 overflow-auto">'),K5=F('<div class="fixed inset-0 z-40 bg-black/60 backdrop-blur-sm lg:hidden"><div class="flex min-h-full items-start justify-center p-4 overflow-y-auto"><div class="w-full max-w-md space-y-3"><div class="flex justify-end"><button type=button class=button-tertiary></button></div><div class="max-h-[85vh] overflow-y-auto pr-1">'),Q5=F('<div class="flex-1 flex flex-col overflow-hidden bg-surface-secondary"><div class="flex-1 flex flex-col lg:flex-row gap-4 p-4 overflow-auto min-w-0"><div class="flex-1 flex flex-col gap-4 min-h-0 min-w-0"><div class="panel flex-shrink-0"><div class=panel-header><h2 class=panel-title></h2><p class=panel-subtitle></p></div><div class=panel-body><div class=space-y-3><button type=button class="button-primary w-full flex items-center justify-center text-sm disabled:cursor-not-allowed"><div class="flex items-center gap-2"><span></span></div></button></div></div></div></div><div class="hidden lg:block lg:w-80 flex-shrink-0"><div class="sticky top-0 max-h-full overflow-y-auto pr-1"></div></div></div><div class="panel-footer hidden sm:block keyboard-hints"><div class=panel-footer-hints><div class="flex items-center gap-1.5"><kbd class=kbd>↑</kbd><kbd class=kbd>↓</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>PgUp</kbd><kbd class=kbd>PgDn</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Home</kbd><kbd class=kbd>End</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Enter</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Del</kbd><span>'),j5=F('<div class="panel panel-empty-state flex-1 flex flex-col justify-center"><div class=panel-empty-state-icon></div><p class=panel-empty-state-title></p><p class=panel-empty-state-description>'),X5=F('<button type=button class="button-tertiary mt-4 lg:hidden">'),Z5=F('<div class="panel panel-empty-state flex-1 flex flex-col justify-center"><div class=panel-empty-state-icon><svg class="w-12 h-12 mx-auto"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg></div><p class=panel-empty-state-title></p><p class=panel-empty-state-description>'),J5=F('<div class="flex items-center gap-2 flex-shrink-0"><kbd class="kbd flex-shrink-0">↵</kbd><button type=button class="p-1.5 rounded transition-colors text-muted hover:text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent"></button><button type=button class="p-1.5 rounded transition-colors text-muted hover:text-red-500 dark:hover:text-red-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent">'),e4=F('<div class=panel-list-item><div class="flex items-center gap-2 w-full px-1"><button type=button class="panel-list-item-content group flex-1"><div class="flex items-center justify-between gap-3 w-full"><div class="flex-1 min-w-0"><div class="flex items-center gap-2"><span class="text-sm font-medium text-primary whitespace-normal break-words transition-colors"></span></div><div class="flex items-center gap-3 text-xs text-muted mt-0.5"><span></span><span>•</span><span>'),IT=F('<svg class="animate-spin h-4 w-4"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),t4=F('<svg class="w-4 h-4"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 4v16m8-8H4">');const F_=xt("actions"),n4=e=>{const{t}=wt(),[n,r]=z(!1),[i,s]=z(0),[o,a]=z("sessions"),[l,c]=z(!1),[d,u]=z(typeof window<"u"?window.matchMedia("(min-width: 1024px)").matches:!1),[f,g]=z(null),[m,_]=z(!1),p=()=>_q(e.instance.id),S=P(()=>!!Cl().fetchingSessions.get(e.instance.id)),h=x=>{const N=Cl().deletingSession.get(e.instance.id);return N?N.has(x):!1};P(()=>{const x=wn.get("session-new");return x||{id:"session-new-display",key:"n",modifiers:{shift:!0,meta:Mo(),ctrl:!Mo()},handler:()=>{},description:t("instanceWelcome.shortcuts.newSession"),context:"global"}});const b=P(()=>Mo()?"cmd+shift+n":"ctrl+shift+n");_e(()=>{p().length===0?(a("new-session"),s(0)):(a("sessions"),s(0))});const T=()=>{d()||c(!0)},v=()=>c(!1);function C(x){const N=document.querySelector(`[data-session-index="${x}"]`);N&&N.scrollIntoView({block:"nearest",behavior:"auto"})}function w(x){let N=null;typeof document<"u"&&(N=document.activeElement);const D=(N==null?void 0:N.closest(".modal-surface"))||(N==null?void 0:N.closest("[role='dialog']"));if(N&&(["INPUT","TEXTAREA","SELECT"].includes(N.tagName)||N.isContentEditable||!!D)){D&&x.key==="Escape"&&f()&&(x.preventDefault(),M());return}if(l()){x.key==="Escape"&&(x.preventDefault(),v());return}const A=p();if((x.metaKey||x.ctrlKey)&&x.shiftKey&&x.key.toLowerCase()==="n"){x.preventDefault(),R();return}if(A.length===0)return;const W=o()==="sessions";if(x.key==="ArrowDown"){W||(a("sessions"),s(0)),x.preventDefault();const ae=Math.min(i()+1,A.length-1);s(ae),C(ae);return}if(x.key==="ArrowUp"){W||(a("sessions"),s(Math.max(p().length-1,0))),x.preventDefault();const ae=Math.max(i()-1,0);s(ae),C(ae);return}if(W)if(x.key==="PageDown"){x.preventDefault();const ne=Math.min(i()+5,A.length-1);s(ne),C(ne)}else if(x.key==="PageUp"){x.preventDefault();const ne=Math.max(i()-5,0);s(ne),C(ne)}else if(x.key==="Home")x.preventDefault(),s(0),C(0);else if(x.key==="End"){x.preventDefault();const ae=A.length-1;s(ae),C(ae)}else x.key==="Enter"?(x.preventDefault(),I()):(x.key==="Delete"||x.key==="Backspace")&&(x.preventDefault(),O())}async function I(){const x=p(),N=i();N<x.length&&await B(x[N].id)}async function O(){const x=p(),N=i();if(N>=x.length)return;await k(x[N].id);const D=p();if(D.length===0){a("new-session"),s(0);return}const $=Math.min(N,D.length-1);s($),a("sessions"),C($)}rn(()=>{window.addEventListener("keydown",w),$e(()=>{window.removeEventListener("keydown",w)})}),rn(()=>{const x=window.matchMedia("(min-width: 1024px)"),N=$=>{u($),$&&v()},D=$=>N($.matches);typeof x.addEventListener=="function"?(x.addEventListener("change",D),$e(()=>{x.removeEventListener("change",D)})):(x.addListener(D),$e(()=>{x.removeListener(D)})),N(x.matches)});function U(x){const N=Math.floor((Date.now()-x)/1e3),D=Math.floor(N/60),$=Math.floor(D/60),A=Math.floor($/24);return A>0?t("time.relative.daysAgoShort",{count:A}):$>0?t("time.relative.hoursAgoShort",{count:$}):D>0?t("time.relative.minutesAgoShort",{count:D}):t("time.relative.justNow")}async function B(x){As(e.instance.id,x)}async function k(x){if(!h(x))try{await dg(e.instance.id,x)}catch(N){F_.error("Failed to delete session:",N)}}function L(x,N){const D=N&&N.trim()?N:x;g({id:x,title:N??"",label:D})}function M(){g(null)}async function G(x){const N=f();if(N){_(!0);try{await cE(e.instance.id,N.id,x),g(null)}catch(D){F_.error("Failed to rename session:",D),tn({message:t("instanceWelcome.toasts.renameError"),variant:"error"})}finally{_(!1)}}}async function R(){if(!n()){r(!0);try{const x=await GN(e.instance.id);As(e.instance.id,x.id)}catch(x){F_.error("Failed to create session:",x)}finally{r(!1)}}}return(()=>{var x=Q5(),N=x.firstChild,D=N.firstChild,$=D.firstChild,A=$.firstChild,W=A.firstChild,ae=W.nextSibling,ne=A.nextSibling,ge=ne.firstChild,ue=ge.firstChild,me=ue.firstChild,ce=me.firstChild,se=D.nextSibling,Z=se.firstChild,pe=N.nextSibling,Y=pe.firstChild,q=Y.firstChild,re=q.firstChild,ee=re.nextSibling,H=ee.nextSibling,fe=q.nextSibling,oe=fe.firstChild,X=oe.nextSibling,ve=X.nextSibling,he=fe.nextSibling,Ce=he.firstChild,ke=Ce.nextSibling,De=ke.nextSibling,Ee=he.nextSibling,V=Ee.firstChild,ie=V.nextSibling,de=Ee.nextSibling,j=de.firstChild,Te=j.nextSibling;return y(D,E(K,{get when(){return p().length>0},get fallback(){return E(K,{get when(){return S()},get fallback(){return(()=>{var Se=Z5(),Oe=Se.firstChild,We=Oe.nextSibling,Be=We.nextSibling;return y(We,()=>t("instanceWelcome.empty.title")),y(Be,()=>t("instanceWelcome.empty.description")),y(Se,E(K,{get when(){return Me(()=>!d())()&&!l()},get children(){var Je=X5();return Je.$$click=T,y(Je,()=>t("instanceWelcome.actions.viewInstanceInfo")),Je}}),null),Se})()},get children(){var Se=j5(),Oe=Se.firstChild,We=Oe.nextSibling,Be=We.nextSibling;return y(Oe,E(Cs,{class:"w-12 h-12 mx-auto animate-spin text-muted"})),y(We,()=>t("instanceWelcome.loading.title")),y(Be,()=>t("instanceWelcome.loading.description")),Se}})},get children(){var Se=q5(),Oe=Se.firstChild,We=Oe.firstChild,Be=We.firstChild,Je=Be.firstChild,dt=Je.nextSibling,Ve=Oe.nextSibling;return y(Je,()=>t("instanceWelcome.resume.title")),y(dt,(()=>{var Ie=Me(()=>p().length===1);return()=>Ie()?t("instanceWelcome.resume.subtitle.one",{count:p().length}):t("instanceWelcome.resume.subtitle.other",{count:p().length})})()),y(We,E(K,{get when(){return Me(()=>!d())()&&!l()},get children(){var Ie=W5();return Ie.$$click=T,y(Ie,()=>t("instanceWelcome.actions.viewInstanceInfo")),Ie}}),null),y(Ve,E(ht,{get each(){return p()},children:(Ie,je)=>{const tt=()=>o()==="sessions"&&i()===je();return(()=>{var Et=e4(),Nt=Et.firstChild,Lt=Nt.firstChild,xe=Lt.firstChild,Ke=xe.firstChild,at=Ke.firstChild,pt=at.firstChild,lt=at.nextSibling,St=lt.firstChild,It=St.nextSibling,Rt=It.nextSibling;return Lt.addEventListener("mouseenter",()=>{a("sessions"),s(je())}),Lt.$$click=()=>B(Ie.id),y(pt,()=>Ie.title||t("instanceWelcome.session.untitled")),y(St,()=>Ie.agent),y(Rt,()=>U(Ie.time.updated)),y(Nt,E(K,{get when(){return tt()},get children(){var Vt=J5(),Sn=Vt.firstChild,On=Sn.nextSibling,Ht=On.nextSibling;return On.$$click=et=>{et.preventDefault(),et.stopPropagation(),L(Ie.id,Ie.title||"")},y(On,E(RR,{class:"w-4 h-4"})),Ht.$$click=et=>{et.preventDefault(),et.stopPropagation(),k(Ie.id)},y(Ht,E(K,{get when(){return!h(Ie.id)},get fallback(){return IT()},get children(){return E(Xo,{class:"w-4 h-4"})}})),te(et=>{var ut=t("instanceWelcome.actions.renameTitle"),be=t("instanceWelcome.actions.deleteTitle"),Ae=h(Ie.id);return ut!==et.e&&Q(On,"title",et.e=ut),be!==et.t&&Q(Ht,"title",et.t=be),Ae!==et.a&&(Ht.disabled=et.a=Ae),et},{e:void 0,t:void 0,a:void 0}),Vt}}),null),te(Vt=>{var Sn=!!tt(),On=je(),Ht=!!tt();return Sn!==Vt.e&&Et.classList.toggle("panel-list-item-highlight",Vt.e=Sn),On!==Vt.t&&Q(Lt,"data-session-index",Vt.t=On),Ht!==Vt.a&&pt.classList.toggle("text-accent",Vt.a=Ht),Vt},{e:void 0,t:void 0,a:void 0}),Et})()}})),Se}}),$),y(W,()=>t("instanceWelcome.new.title")),y(ae,()=>t("instanceWelcome.new.subtitle")),ue.$$click=R,y(me,(()=>{var Se=Me(()=>!!n());return()=>Se()?IT():t4()})(),ce),y(ce,()=>t("instanceWelcome.new.createButton")),y(ue,E(Fn,{get shortcut(){return b()},class:"ml-2 kbd-hint"}),null),y(Z,E(bh,{get instance(){return e.instance}})),y(x,E(K,{get when(){return Me(()=>!d())()&&l()},get children(){var Se=K5(),Oe=Se.firstChild,We=Oe.firstChild,Be=We.firstChild,Je=Be.firstChild,dt=Be.nextSibling;return Se.$$click=v,We.$$click=Ve=>Ve.stopPropagation(),Je.$$click=v,y(Je,()=>t("instanceWelcome.overlay.close")),y(dt,E(bh,{get instance(){return e.instance}})),Se}}),pe),y(H,()=>t("instanceWelcome.hints.navigate")),y(ve,()=>t("instanceWelcome.hints.jump")),y(De,()=>t("instanceWelcome.hints.firstLast")),y(ie,()=>t("instanceWelcome.hints.resume")),y(Te,()=>t("instanceWelcome.hints.delete")),y(x,E(_x,{get open(){return!!f()},get currentTitle(){var Se;return((Se=f())==null?void 0:Se.title)??""},get sessionLabel(){var Se;return(Se=f())==null?void 0:Se.label},get isSubmitting(){return m()},onRename:G,onClose:M}),null),te(()=>ue.disabled=n()),x})()};At(["click"]);var wT=F("<button type=button class=button-tertiary>"),r4=F("<button class=scroll-to-bottom>"),i4=F('<div class=log-container><div class="flex-1 flex flex-col lg:flex-row gap-4 p-4 overflow-hidden"><div class="lg:w-80 flex-shrink-0 min-h-0 overflow-y-auto max-h-[40vh] lg:max-h-none"></div><div class="panel flex-1 flex flex-col min-h-0 overflow-hidden"><div class=log-header><h2 class=panel-title></h2><div class="flex items-center gap-2"></div></div><div class=log-content>'),s4=F("<div class=log-paused-state><p class=log-paused-title></p><p class=log-paused-description></p><button type=button class=button-primary>"),o4=F("<div class=log-empty-state>"),a4=F("<div class=log-entry><span class=log-timestamp></span><span>");const RT=new Map,l4=e=>{const{t}=wt();let n;const r=RT.get(e.instanceId),[i,s]=z((r==null?void 0:r.autoScroll)??!1),o=()=>yt().get(e.instanceId),a=P(()=>UW(e.instanceId)),l=P(()=>ON(e.instanceId)),c=()=>gT(e.instanceId,!0),d=()=>gT(e.instanceId,!1);rn(()=>{n&&r&&(n.scrollTop=r.scrollTop)}),$e(()=>{n&&RT.set(e.instanceId,{scrollTop:n.scrollTop,autoScroll:i()})}),_e(()=>{i()&&n&&a().length>0&&(n.scrollTop=n.scrollHeight)});const u=()=>{if(!n)return;const _=n.scrollHeight-n.scrollTop<=n.clientHeight+50;s(_)},f=()=>{n&&(n.scrollTop=n.scrollHeight,s(!0))},g=_=>new Date(_).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),m=_=>{switch(_){case"error":return"log-level-error";case"warn":return"log-level-warn";case"debug":return"log-level-debug";default:return"log-level-default"}};return(()=>{var _=i4(),p=_.firstChild,S=p.firstChild,h=S.nextSibling,b=h.firstChild,T=b.firstChild,v=T.nextSibling,C=b.nextSibling;y(S,E(K,{get when(){return o()},children:I=>E(bh,{get instance(){return I()},showDisposeButton:!0})})),y(T,()=>t("infoView.logs.title")),y(v,E(K,{get when(){return l()},get fallback(){return(()=>{var I=wT();return I.$$click=c,y(I,()=>t("infoView.logs.actions.show")),I})()},get children(){var I=wT();return I.$$click=d,y(I,()=>t("infoView.logs.actions.hide")),I}})),C.addEventListener("scroll",u);var w=n;return typeof w=="function"?Ct(w,C):n=C,y(C,E(K,{get when(){return l()},get fallback(){return(()=>{var I=s4(),O=I.firstChild,U=O.nextSibling,B=U.nextSibling;return y(O,()=>t("infoView.logs.paused.title")),y(U,()=>t("infoView.logs.paused.description")),B.$$click=c,y(B,()=>t("infoView.logs.actions.show")),I})()},get children(){return E(K,{get when(){return a().length>0},get fallback(){return(()=>{var I=o4();return y(I,()=>t("infoView.logs.empty.waiting")),I})()},get children(){return E(ht,{get each(){return a()},children:I=>(()=>{var O=a4(),U=O.firstChild,B=U.nextSibling;return y(U,()=>g(I.timestamp)),y(B,()=>I.message),te(()=>it(B,`log-message ${m(I.level)}`)),O})()})}})}})),y(h,E(K,{get when(){return Me(()=>!i())()&&l()},get children(){var I=r4();return I.$$click=f,y(I,E(ji,{class:"w-4 h-4"}),null),y(I,()=>t("infoView.logs.scrollToBottom"),null),I}}),null),_})()};At(["click"]);function si(e){return typeof e=="function"?e():e}function c4(){const e=new Map;function t(a){e.set(a.id,a)}function n(a){e.delete(a)}function r(a){return e.get(a)}function i(){return Array.from(e.values())}function s(a){const l=e.get(a);if(l)return l.action()}function o(a){if(!a)return i();const l=a.toLowerCase();return i().filter(c=>{const d=si(c.label),u=si(c.description),f=c.keywords?si(c.keywords):void 0,g=c.category?si(c.category):void 0,m=d.toLowerCase().includes(l),_=u.toLowerCase().includes(l),p=f==null?void 0:f.some(h=>h.toLowerCase().includes(l)),S=g==null?void 0:g.toLowerCase().includes(l);return m||_||p||S})}return{register:t,unregister:n,get:r,getAll:i,execute:s,search:o}}var d4=F('<div class=modal-search-container><div class="flex items-center gap-3"><svg class="w-5 h-5 modal-search-icon"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg><input type=text class=modal-search-input>'),u4=F("<div class=modal-list-container>"),f4=F('<div class="fixed inset-0 z-50 flex items-start justify-center pt-[20vh]">'),g4=F("<div class=modal-empty-state>"),m4=F("<div class=py-2><div class=modal-section-header>"),_4=F("<div class=mt-1>"),p4=F('<button type=button><div class="flex-1 min-w-0"><div class=modal-item-label></div><div class=modal-item-description>');function h4(e){if(!e)return"";const t=[];return(e.meta||e.ctrl)&&t.push("cmd"),e.shift&&t.push("shift"),e.alt&&t.push("alt"),t.push(e.key),t.join("+")}const S4=e=>{const{t}=wt(),[n,r]=z(""),[i,s]=z(null),[o,a]=z(!1);let l,c;const d=["Custom Commands","Instance","Session","Agent & Model","Input & Focus","System","Other"],u=T=>{switch(T){case"Custom Commands":return t("commandPalette.category.customCommands");case"Instance":return t("commandPalette.category.instance");case"Session":return t("commandPalette.category.session");case"Agent & Model":return t("commandPalette.category.agentModel");case"Input & Focus":return t("commandPalette.category.inputFocus");case"System":return t("commandPalette.category.system");case"Other":return t("commandPalette.category.other");default:return T}},f=P(()=>{const T=e.commands??[],v=n().trim().toLowerCase(),C=v?T.filter(k=>{const L=si(k.label),M=si(k.description),G=k.keywords?si(k.keywords):void 0,R=k.category?si(k.category):void 0,x=L.toLowerCase().includes(v),N=M.toLowerCase().includes(v),D=G==null?void 0:G.some(A=>A.toLowerCase().includes(v)),$=R==null?void 0:R.toLowerCase().includes(v);return x||N||D||$}):T,w=new Map;for(const k of C){const L=(k.category?si(k.category):void 0)||"Other",M=w.get(L);M?M.push(k):w.set(L,[k])}const I=[],O=[],U=new Set,B=k=>{const L=w.get(k);!L||L.length===0||U.has(k)||(I.push({category:k,commands:L,startIndex:O.length}),O.push(...L),U.add(k))};for(const k of d)B(k);for(const[k]of w)B(k);return{groups:I,ordered:O}}),g=()=>f().groups,m=()=>f().ordered,_=T=>T.disabled?!!si(T.disabled):!1,p=P(()=>{const T=m();if(T.length===0)return-1;const v=i();if(!v)return 0;const C=T.findIndex(w=>w.id===v);return C>=0?C:0});_e(()=>{e.open&&(r(""),s(null),a(!1),setTimeout(()=>l==null?void 0:l.focus(),100))}),_e(()=>{var C;const T=m();if(T.length===0){i()!==null&&s(null);return}const v=i();if(!v||!T.some(w=>w.id===v)){const w=T.find(I=>!_(I));s(((C=w||T[0])==null?void 0:C.id)??null)}}),_e(()=>{const T=p();if(!c||T<0)return;const v=c.querySelector(`[data-command-index="${T}"]`);v&&v.scrollIntoView({block:"nearest",behavior:"smooth"})});function S(T){var C,w;const v=m();if(T.key==="Escape"){T.preventDefault(),T.stopPropagation(),e.onClose();return}if(v.length===0){(T.key==="ArrowDown"||T.key==="ArrowUp"||T.key==="Enter")&&(T.preventDefault(),T.stopPropagation());return}if(T.key==="ArrowDown"){T.preventDefault(),T.stopPropagation(),a(!1);const I=p(),O=Math.min((I<0?0:I)+1,v.length-1);s(((C=v[O])==null?void 0:C.id)??null)}else if(T.key==="ArrowUp"){T.preventDefault(),T.stopPropagation(),a(!1);const I=p(),O=I<=0?v.length-1:I-1;s(((w=v[O])==null?void 0:w.id)??null)}else if(T.key==="Enter"){T.preventDefault(),T.stopPropagation();const I=p();if(I<0||I>=v.length)return;const O=v[I];if(!O||_(O))return;e.onExecute(O),e.onClose()}}function h(T){_(T)||(e.onExecute(T),e.onClose())}function b(){a(!1)}return E(vt,{get open(){return e.open},onOpenChange:T=>!T&&e.onClose(),get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var T=f4();return y(T,E(vt.Content,{class:"modal-surface w-full max-w-2xl max-h-[60vh]",onKeyDown:S,get children(){return[E(vt.Title,{class:"sr-only",get children(){return t("commandPalette.title")}}),E(vt.Description,{class:"sr-only",get children(){return t("commandPalette.description")}}),(()=>{var v=d4(),C=v.firstChild,w=C.firstChild,I=w.nextSibling;I.$$input=U=>{r(U.currentTarget.value),s(null)};var O=l;return typeof O=="function"?Ct(O,I):l=I,te(()=>Q(I,"placeholder",t("commandPalette.searchPlaceholder"))),te(()=>I.value=n()),v})(),(()=>{var v=u4();v.addEventListener("pointerleave",b);var C=c;return typeof C=="function"?Ct(C,v):c=v,y(v,E(K,{get when(){return m().length>0},get fallback(){return(()=>{var w=g4();return y(w,()=>t("commandPalette.empty",{query:n()})),w})()},get children(){return E(ht,{get each(){return g()},children:w=>(()=>{var I=m4(),O=I.firstChild;return y(O,()=>u(w.category)),y(I,E(ht,{get each(){return w.commands},children:(U,B)=>{const k=w.startIndex+B(),L=_(U);return(()=>{var M=p4(),G=M.firstChild,R=G.firstChild,x=R.nextSibling;return M.$$pointermove=N=>{N.movementX===0&&N.movementY===0||(N.pointerType==="mouse"||N.pointerType==="pen"||N.pointerType==="touch")&&(o()||a(!0),s(U.id))},M.$$click=()=>h(U),Q(M,"data-command-index",k),M.disabled=L,y(R,()=>si(U.label)),y(x,()=>si(U.description)),y(M,E(K,{get when(){return U.shortcut},get children(){var N=_4();return y(N,E(Fn,{get shortcut(){return h4(U.shortcut)}})),N}}),null),te(()=>it(M,`modal-item ${i()===U.id?"modal-item-highlight":""}`)),M})()}}),null),I})()})}})),te(()=>Q(v,"data-pointer-mode",o()?"pointer":"keyboard")),v})()]}})),T})()]}})}})};At(["input","click","pointermove"]);var E4=F("<button type=button class=permission-center-trigger><span class=permission-center-count aria-hidden=true>");const OT=e=>{const{t}=wt(),n=P(()=>kN(e.instanceId)),r=P(()=>LN(e.instanceId)),i=P(()=>n()+r()),s=P(()=>i()>0),o=P(()=>{const a=i(),l=a===1?t("permissionBanner.pendingRequests.one",{count:a}):t("permissionBanner.pendingRequests.other",{count:a}),c=[];n()>0&&c.push(n()===1?t("permissionBanner.detail.permission.one",{count:n()}):t("permissionBanner.detail.permission.other",{count:n()})),r()>0&&c.push(r()===1?t("permissionBanner.detail.question.one",{count:r()}):t("permissionBanner.detail.question.other",{count:r()}));const d=c.length?t("permissionBanner.detail.wrapper",{detail:c.join(", ")}):"";return`${l}${d}`});return E(K,{get when(){return s()},get children(){var a=E4(),l=a.firstChild;return Ut(a,"click",e.onClick,!0),y(a,E(Kd,{class:"permission-center-icon","aria-hidden":"true"}),l),y(l,(()=>{var c=Me(()=>i()>9);return()=>c()?"9+":i()})()),te(c=>{var d=o(),u=o();return d!==c.e&&Q(a,"aria-label",c.e=d),u!==c.t&&Q(a,"title",c.t=u),c},{e:void 0,t:void 0}),a}})};At(["click"]);const KE=Symbol.for("yaml.alias"),vh=Symbol.for("yaml.document"),to=Symbol.for("yaml.map"),px=Symbol.for("yaml.pair"),Em=Symbol.for("yaml.scalar"),Xl=Symbol.for("yaml.seq"),pi=Symbol.for("yaml.node.type"),sa=e=>!!e&&typeof e=="object"&&e[pi]===KE,ou=e=>!!e&&typeof e=="object"&&e[pi]===vh,au=e=>!!e&&typeof e=="object"&&e[pi]===to,Zn=e=>!!e&&typeof e=="object"&&e[pi]===px,Dn=e=>!!e&&typeof e=="object"&&e[pi]===Em,lu=e=>!!e&&typeof e=="object"&&e[pi]===Xl;function Un(e){if(e&&typeof e=="object")switch(e[pi]){case to:case Xl:return!0}return!1}function Gn(e){if(e&&typeof e=="object")switch(e[pi]){case KE:case to:case Em:case Xl:return!0}return!1}const hx=e=>(Dn(e)||Un(e))&&!!e.anchor,vo=Symbol("break visit"),b4=Symbol("skip children"),Xc=Symbol("remove node");function Zl(e,t){const n=v4(t);ou(e)?$a(null,e.contents,n,Object.freeze([e]))===Xc&&(e.contents=null):$a(null,e,n,Object.freeze([]))}Zl.BREAK=vo;Zl.SKIP=b4;Zl.REMOVE=Xc;function $a(e,t,n,r){const i=y4(e,t,n,r);if(Gn(i)||Zn(i))return T4(e,r,i),$a(e,i,n,r);if(typeof i!="symbol"){if(Un(t)){r=Object.freeze(r.concat(t));for(let s=0;s<t.items.length;++s){const o=$a(s,t.items[s],n,r);if(typeof o=="number")s=o-1;else{if(o===vo)return vo;o===Xc&&(t.items.splice(s,1),s-=1)}}}else if(Zn(t)){r=Object.freeze(r.concat(t));const s=$a("key",t.key,n,r);if(s===vo)return vo;s===Xc&&(t.key=null);const o=$a("value",t.value,n,r);if(o===vo)return vo;o===Xc&&(t.value=null)}}return i}function v4(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function y4(e,t,n,r){var i,s,o,a,l;if(typeof n=="function")return n(e,t,r);if(au(t))return(i=n.Map)==null?void 0:i.call(n,e,t,r);if(lu(t))return(s=n.Seq)==null?void 0:s.call(n,e,t,r);if(Zn(t))return(o=n.Pair)==null?void 0:o.call(n,e,t,r);if(Dn(t))return(a=n.Scalar)==null?void 0:a.call(n,e,t,r);if(sa(t))return(l=n.Alias)==null?void 0:l.call(n,e,t,r)}function T4(e,t,n){const r=t[t.length-1];if(Un(r))r.items[e]=n;else if(Zn(r))e==="key"?r.key=n:r.value=n;else if(ou(r))r.contents=n;else{const i=sa(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}const C4={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},I4=e=>e.replace(/[!,[\]{}]/g,t=>C4[t]);class Rr{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Rr.defaultYaml,t),this.tags=Object.assign({},Rr.defaultTags,n)}clone(){const t=new Rr(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Rr(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Rr.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Rr.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Rr.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Rr.defaultTags),this.atNextDocument=!1);const r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case"%TAG":{if(r.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;const[s,o]=r;return this.tags[s]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=r;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const o=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,o),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const o=t.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}const[,r,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);const s=this.tags[r];if(s)try{return s+decodeURIComponent(i)}catch(o){return n(String(o)),null}return r==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,r]of Object.entries(this.tags))if(t.startsWith(r))return n+I4(t.substring(r.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags);let i;if(t&&r.length>0&&Gn(t.contents)){const s={};Zl(t.contents,(o,a)=>{Gn(a)&&a.tag&&(s[a.tag]=!0)}),i=Object.keys(s)}else i=[];for(const[s,o]of r)s==="!!"&&o==="tag:yaml.org,2002:"||(!t||i.some(a=>a.startsWith(o)))&&n.push(`%TAG ${s} ${o}`);return n.join(`
89
+ `.trim();if(Wc)return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`;if(o==="text"||!Io)return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code>${ri(i)}</code></pre></div>`;const{canonical:d,raw:u}=oN(o),f=d||u;if(f==="text"||u==="text")return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`;if(fh.has(f))try{const g=Io.codeToHtml(i,{lang:f,theme:cg==="dark"?"github-dark":"github-light-high-contrast"});return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}${g}</div>`}catch{}return`<div class="markdown-code-block" data-language="${a}" data-code="${s}">${c}<pre><code class="language-${a}">${ri(i)}</code></pre></div>`},t.link=(n,r,i)=>{const s=r?` title="${ri(r)}"`:"";return`<a href="${ri(n)}" target="_blank" rel="noopener noreferrer"${s}>${i}</a>`},t.codespan=n=>{const r=Qi(n);return`<code class="inline-code">${ri(r)}</code>`},zt.use({renderer:t}),oT=!0}async function aN(e){await sN(),tW(e),rN=!0}function aT(e){cg=e?"dark":"light"}async function R_(e,t){rN||await aN(cg==="dark");const n=(t==null?void 0:t.suppressHighlight)??!1,r=Qi(e);n||await Jz(r);const i=Wc;Wc=n;try{return zt.parse(r)}finally{Wc=i}}function ri(e){const t={"&":"&amp;","<":"&lt;",'"':"&quot;","'":"&#039;"};return e.replace(/[&<"']/g,n=>t[n])}function Sf(e){if(typeof e=="string")return Qi(e);if(e&&typeof e=="object"){const t={...e};return typeof t.text=="string"&&(t.text=Qi(t.text)),typeof t.value=="string"&&(t.value=Qi(t.value)),Array.isArray(t.content)&&(t.content=t.content.map(n=>Sf(n))),t}return e}function lN(e){if(!e||typeof e!="object")return e;if(e.type==="tool"&&(typeof e.id!="string"||e.id.length===0))throw new Error("Tool part missing id");if(e.type!=="text")return e;const t={...e,renderCache:void 0};if(typeof t.text=="string")t.text=Qi(t.text);else if(t.text&&typeof t.text=="object"){const n={...t.text};typeof n.value=="string"&&(n.value=Qi(n.value)),Array.isArray(n.content)&&(n.content=n.content.map(r=>Sf(r))),typeof n.text=="string"&&(n.text=Qi(n.text)),t.text=n}if(Array.isArray(t.content)&&(t.content=t.content.map(n=>Sf(n))),t.thinking&&typeof t.thinking=="object"){const n={...t.thinking};Array.isArray(n.content)&&(n.content=n.content.map(r=>Sf(r))),t.thinking=n}return t}const Sr=xt("sse"),O_=new Map;function NE(e){if(typeof document>"u")return!1;const t=mS();return!t.osNotificationsEnabled||!t.osNotificationsAllowWhenVisible&&document.visibilityState==="visible"?!1:e==="needsInput"?!!t.notifyOnNeedsInput:e==="idle"?!!t.notifyOnIdle:!1}function xE(e){var n;const t=((n=yt().get(e))==null?void 0:n.folder)??e;return t.split(/[\\/]/).filter(Boolean).pop()??t}function DE(e,t){var i,s;if(!t)return"";const n=(i=Ft().get(e))==null?void 0:i.get(t),r=(s=n==null?void 0:n.title)==null?void 0:s.trim();return r&&r.length>0?r:t}function kE(e){tH(e).catch(t=>{Sr.warn("Failed to send OS notification",t)})}const nW=new Set(["info","success","warning","error"]);function lT(e,t,n){let r=null;_i(e,t,i=>{const s=i.status??"idle";if(s===n||s==="compacting"&&n!=="compacting")return!1;i.status=n,i.parentId&&n==="working"&&s!=="working"&&(r=i.parentId)}),r&&Od(e,r)}async function cN(e,t,n){const r=yt().get(e);if(!(r!=null&&r.client))return null;const s=_V(e,n)??Hn(e,t),o=Jn(e,s),a=nm(e);try{const l=await Xt(o.session.get({sessionID:t}),"session.get");let c="idle";try{let g={};try{g=await Xt(a.session.status(),"session.status")}catch{g=await Xt(o.session.status(),"session.status")}const m=(l==null?void 0:l.status)??(g==null?void 0:g[t]);c=m&&typeof m=="object"&&typeof m.type=="string"?nE(m):"idle"}catch(g){Sr.error("Failed to fetch session status",g)}const d=eG(l,e,"",{providerId:"",modelId:""},c);let u,f=null;return Rs(g=>{const m=new Map(g),_=m.get(e)??new Map,p=_.get(t),S={...d,agent:(p==null?void 0:p.agent)??d.agent,model:(p==null?void 0:p.model)??d.model,status:(p==null?void 0:p.status)==="compacting"?"compacting":d.status,pendingPermission:(p==null?void 0:p.pendingPermission)??d.pendingPermission,pendingQuestion:(p==null?void 0:p.pendingQuestion)??!1};return _.set(t,S),m.set(e,_),u=_,S.parentId&&S.status==="working"&&((p==null?void 0:p.status)??"idle")!=="working"&&(f=S.parentId),m}),Wo(e,u),f&&Od(e,f),d}catch(l){return Sr.error("Failed to fetch session info",l),null}}function um(e,t,n,r){const i=Ft().get(e),s=i==null?void 0:i.get(t);if(s){if((s.status??"idle")===n)return;lT(e,t,n);return}const o=`${e}:${t}`;if(O_.has(o))return;const a=(async()=>{await cN(e,t,r)&&lT(e,t,n)})();O_.set(o,a),a.finally(()=>O_.delete(o))}function rW(e){return(e==null?void 0:e.role)==="user"?"user":"assistant"}function cT(e,t,n){const r=e.getSessionMessageIds(t);for(const i of r){const s=e.getMessage(i);if(s&&s.sessionId===t&&s.role===n&&s.status==="sending"&&s.isEphemeral)return s.id}}function dN(e,t){var n,r,i,s,o,a;if(Ft().get(e),t.type==="message.part.updated"){const l=(n=t.properties)==null?void 0:n.part;if(!l)return;const c=lN(l),d=(r=t==null?void 0:t.properties)==null?void 0:r.message,u=typeof(d==null?void 0:d.sessionID)=="string"?d.sessionID:void 0,f=typeof(d==null?void 0:d.id)=="string"?d.id:void 0,g=typeof c.sessionID=="string"?c.sessionID:u,m=typeof c.messageID=="string"?c.messageID:f;if(!g||!m)return;c.type==="compaction"&&um(e,g,"compacting",t==null?void 0:t.directory);const _=Wt.getOrCreate(e),p=rW(d),S=typeof((i=d==null?void 0:d.time)==null?void 0:i.created)=="number"?d.time.created:Date.now();let h=_.getMessage(m);if(!h){const b=cT(_,g,p);b&&b!==m&&(Oy(e,b,m,{clearParts:p==="user"}),h=_.getMessage(m))}h||_.upsertMessage({id:m,sessionId:g,role:p,status:"streaming",createdAt:S,updatedAt:S,isEphemeral:!0}),d&&Ry(e,d,{status:"streaming"}),OV(e,{...c,sessionID:g,messageID:m}),c.type==="tool"&&c.tool==="question"&&JO(e,g),ws(e,g)}else if(t.type==="message.updated"){const l=(s=t.properties)==null?void 0:s.info;if(!l)return;const c=typeof l.sessionID=="string"?l.sessionID:void 0,d=typeof l.id=="string"?l.id:void 0;if(!c||!d)return;const u=l.time??{},f=typeof u.end=="number"&&u.end>0?u.end:typeof u.updated=="number"&&u.updated>0?u.updated:typeof u.created=="number"&&u.created>0?u.created:Date.now();_i(e,c,h=>{var T;const b=((T=h.time)==null?void 0:T.updated)??0;if(f<=b)return!1;h.time={...h.time??{},updated:f}});const g=Wt.getOrCreate(e),m=l.role==="user"?"user":"assistant",p=!!l.error?"error":"complete";let S=g.getMessage(d);if(!S){const h=cT(g,c,m);h&&h!==d&&(Oy(e,h,d,{clearParts:m==="user"}),S=g.getMessage(d))}if(!S){const h=((o=l.time)==null?void 0:o.created)??Date.now(),b=(a=l.time)==null?void 0:a.end;g.upsertMessage({id:d,sessionId:c,role:m,status:p,createdAt:h,updatedAt:b??h})}Ry(e,l,{status:p,bumpRevision:!0}),ws(e,c)}}function iW(e,t){const n=t.properties;if(!n)return;const{messageID:r,partID:i,field:s,delta:o}=n;!r||!i||!s||typeof o!="string"||AV(e,{messageId:r,partId:i,field:s,delta:o})}function sW(e,t){var s;const n=(s=t.properties)==null?void 0:s.info;if(!n)return;const i=(Ft().get(e)??new Map).get(n.id);if(i){const o={...i.time,...n.time??{}},a={...i,title:n.title||i.title,status:i.status??"idle",time:o,revert:n.revert?{messageID:n.revert.messageID,partID:n.revert.partID,snapshot:n.revert.snapshot,diff:n.revert.diff}:i.revert};let l;Rs(c=>{const d=new Map(c),u=d.get(e)??new Map;return u.set(i.id,a),d.set(e,u),l=u,d}),Wo(e,l),Ay(e,n.id,n.revert??null)}else{const o={id:n.id,instanceId:e,title:n.title||Le("sessionList.session.untitled"),parentId:n.parentID||null,agent:"",model:{providerId:"",modelId:""},status:"idle",version:n.version||"0",time:n.time?{...n.time}:{created:Date.now(),updated:Date.now()}};let a;Rs(l=>{const c=new Map(l),d=c.get(e)??new Map;return d.set(o.id,o),c.set(e,d),a=d,c}),Wo(e,a),Ay(e,n.id,n.revert??null),Sr.info(`[SSE] New session created: ${n.id}`,o)}}function oW(e,t){var s,o,a;const n=(s=t.properties)==null?void 0:s.sessionID;if(!n)return;const r=(o=t.properties)==null?void 0:o.diff;if(!Array.isArray(r))return;if((a=Ft().get(e))==null?void 0:a.get(n)){_i(e,n,l=>{l.diff=r});return}(async()=>{await cN(e,n,t==null?void 0:t.directory),_i(e,n,l=>{l.diff=r})})().catch(l=>Sr.warn("Failed to hydrate session for diff event",{instanceId:e,sessionId:n,error:l}))}function aW(e,t){var r;const n=(r=t.properties)==null?void 0:r.sessionID;if(n){if(NE("idle")){const i=xE(e),s=DE(e,n),o=s?`Session "${s}" is idle`:"Session is idle";kE({title:i,body:o})}um(e,n,"idle",t==null?void 0:t.directory),Sr.info(`[SSE] Session idle: ${n}`)}}function lW(e,t){var i;const n=(i=t.properties)==null?void 0:i.sessionID;if(!n)return;const r=nE(t.properties.status);um(e,n,r,t==null?void 0:t.directory),Sr.info(`[SSE] Session status updated: ${n}`,{status:r})}function cW(e,t){var d,u,f,g;const n=(d=t.properties)==null?void 0:d.sessionID;if(!n)return;Sr.info(`[SSE] Session compacted: ${n}`),((u=Ft().get(e))==null?void 0:u.get(n))?_i(e,n,m=>{m.status="working"}):um(e,n,"working",t==null?void 0:t.directory),Rd(e,n,!0).catch(m=>Sr.error("Failed to reload session after compaction",m));const i=Ft().get(e),s=i==null?void 0:i.get(n),o=(f=s==null?void 0:s.title)!=null&&f.trim()?s.title:n,a=((g=yt().get(e))==null?void 0:g.folder)??e,l=a.split(/[\\/]/).filter(Boolean).pop()??a,c=o?`"${o}"`:n;tn({title:l,message:Le("sessionEvents.sessionCompactedToast",{label:c}),variant:"info",duration:1e4})}function dW(e,t){var i;const n=(i=t.properties)==null?void 0:i.error;Sr.error("[SSE] Session error:",n);let r=Le("sessionEvents.sessionError.unknown");n&&("data"in n&&n.data&&typeof n.data=="object"&&"message"in n.data?r=n.data.message:"message"in n&&typeof n.message=="string"&&(r=n.message)),ir(Le("sessionEvents.sessionError.message",{message:r}),{title:Le("sessionEvents.sessionError.title"),variant:"error"})}function uW(e,t){const{sessionID:n,messageID:r}=t.properties;!n||!r||(Sr.info(`[SSE] Message removed from session ${n}`,{messageID:r}),nA(e,r),ws(e,n))}function fW(e,t){const{sessionID:n,messageID:r,partID:i}=t.properties;!n||!r||!i||(Sr.info(`[SSE] Message part removed from session ${n}`,{messageID:r,partID:i}),rA(e,r,i),ws(e,n))}function gW(e,t){const n=t==null?void 0:t.properties;if(!n||typeof n.message!="string"||typeof n.variant!="string"||!n.message.trim())return;const r=nW.has(n.variant)?n.variant:"info";tn({title:typeof n.title=="string"?n.title:void 0,message:n.message,variant:r,duration:typeof n.duration=="number"?n.duration:void 0})}function mW(e,t){const n=t==null?void 0:t.properties;if(n&&(Sr.info(`[SSE] Permission request: ${tG(n)} (${Jg(n)})`),MN(e,n),QO(e,n),NE("needsInput"))){const r=xE(e),i=ao(n),s=DE(e,i),o=s?`Session "${s}" needs permission`:"Session needs permission";kE({title:r,body:o})}}function _W(e,t){const n=t==null?void 0:t.properties,r=rG(n);r&&(Sr.info(`[SSE] Permission replied: ${r}`),BE(e,r),tA(e,r))}function pW(e,t){const n=t==null?void 0:t.properties;if(n&&(Sr.info(`[SSE] Question asked: ${iG(n)}`),$N(e,n),ZO(e,n),NE("needsInput"))){const r=xE(e),i=Zd(n),s=DE(e,i),o=s?`Session "${s}" needs input`:"Session needs input";kE({title:r,body:o})}}function hW(e,t){const n=t==null?void 0:t.properties,r=sG(n);r&&(Sr.info(`[SSE] Question answered: ${r}`),gm(e,r),eA(e,r))}Tn.onMessageUpdate=dN;Tn.onMessagePartUpdated=dN;Tn.onMessagePartDelta=iW;Tn.onMessageRemoved=uW;Tn.onMessagePartRemoved=fW;Tn.onSessionUpdate=sW;Tn.onSessionCompacted=cW;Tn.onSessionDiff=oW;Tn.onSessionError=dW;Tn.onSessionIdle=aW;Tn.onSessionStatus=lW;Tn.onTuiToast=gW;Tn.onPermissionUpdated=mW;Tn.onPermissionReplied=_W;Tn.onQuestionAsked=pW;Tn.onQuestionAnswered=hW;const[SW,uN]=z(new Map);async function EW(e,t){const n=await Xt(t.command.list(),"command.list").catch(()=>[]);uN(r=>{const i=new Map(r);return i.set(e,n),i})}function A_(e){return SW().get(e)??[]}function fN(e){uN(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})}const[Ef,bW]=z(!1),[ufe,ffe]=z(null),[dT,uT]=z(!1),[bf,Fu]=z(!1),[gfe,mfe]=z([]),[_fe,pfe]=z(new Map),[vW,gN]=z(new Map);function vf(e){return vW().get(e)}function yW(e,t){gN(n=>{const r=new Map(n);return r.delete(e),r})}function mN(e,t){gN(n=>{const r=new Map(n),i=r.get(e)??{};return r.set(e,{...i,...t}),r})}function _N(e){yW(e)}function pN(e,t){if(!e)return t;const n=typeof e=="string"?e:e instanceof Error?e.message:String(e);try{const r=JSON.parse(n);if(r&&typeof r=="object"&&"error"in r&&typeof r.error=="string")return r.error}catch{}return n}function hN(e){const t=e.toLowerCase();return t.includes("opencode binary not found")||t.includes("binary not found")||t.includes("no such file or directory")||t.includes("binary is not executable")||t.includes("enoent")}const[Bu,SN]=z(null),fT=new Map;function EN(e){SN(e)}function Uu(){SN(null)}function TW(e){const t=e.id,n=e.error,r=pN(n,Le("app.launchError.fallbackMessage")),i=fT.get(t);if(i&&i===r)return;fT.set(t,r);const s=(e.binaryLabel||e.binaryId||"opencode").trim()||"opencode",o=hN(r);EN({source:"workspace",instanceId:t,message:r,binaryPath:s,missingBinary:o})}const sr=xt("api"),[yt,LE]=z(new Map),[jn,Zi]=z(null),[CW,fm]=z(new Map),[IW,ME]=z(new Map),[wW,PE]=z(new Map),[hfe,bN]=z(new Map),vl=new Map,Id=new Map,[RW,$E]=z(new Map),yl=new Map,[Sfe,vN]=z(new Map),Tl=new Map,wd=new Map;function il(e){const t=wd.get(e.id);if(t)return t;const n=Date.now();return wd.set(e.id,n),n}const[yN,OW]=z(new Map);function FE(){const e=Array.from(yt().values()).some(t=>t.status==="ready");bW(e)}const[yf,TN]=z(null),AW=1e3,Gu=new Map,Vu=new Map;function NW(e){const t=yt().get(e.id);return{id:e.id,folder:e.path,port:e.port??(t==null?void 0:t.port)??0,pid:e.pid??(t==null?void 0:t.pid)??0,proxyPath:e.proxyPath,status:e.status,error:e.error,client:(t==null?void 0:t.client)??null,metadata:t==null?void 0:t.metadata,binaryPath:e.binaryId??e.binaryLabel??(t==null?void 0:t.binaryPath),binaryLabel:e.binaryLabel,binaryVersion:e.binaryVersion??(t==null?void 0:t.binaryVersion),environmentVariables:(t==null?void 0:t.environmentVariables)??hw().environmentVariables??{}}}function CN(){const e=jn(),t=yt();if(!(e&&t.has(e))){for(const[n,r]of t.entries())if(r.status==="ready"){Zi(n);return}}}function Kc(e){const t=NW(e);yt().has(e.id)?gh(e.id,t):GW(t),e.status==="ready"&&(xW(e),CN())}function xW(e){const t=yt().get(e.id);if(!t)return;const n=e.port??t.port,r=e.proxyPath;if(t.client&&t.proxyPath===r){n&&t.port!==n&&gh(e.id,{port:n});return}t.client&&qf.destroyClientsForInstance(e.id);const i=qf.createClient(e.id,r,"root");gh(e.id,{client:i,port:n??0,proxyPath:r,status:"ready"}),Tn.seedStatus(e.id,"connecting"),wN(e.id).catch(s=>{sr.error("Failed to hydrate instance data",s)})}function IN(e){const t=yt().get(e);t&&(t.client&&qf.destroyClientsForInstance(e),Tn.seedStatus(e,"disconnected"))}async function DW(e){const t=yt().get(e);if(t!=null&&t.client)try{const n=await Xt(t.client.permission.list(),"permission.list"),r=new Set(n.map(s=>s.id)),i=su(e);for(const s of i)r.has(s.id)||(BE(e,s.id),tA(e,s.id));for(const s of n)MN(e,s),QO(e,s)}catch(n){sr.warn("Failed to sync pending permissions",{instanceId:e,error:n})}}async function kW(e){const t=yt().get(e);if(t!=null&&t.client)try{const n=await Xt(t.client.question.list(),"question.list"),r=new Set(n.map(s=>s.id)),i=ia(e);for(const s of i)r.has(s.id)||(gm(e,s.id),eA(e,s.id));for(const s of n)il(s),$N(e,s),ZO(e,s)}catch(n){sr.warn("Failed to sync pending questions",{instanceId:e,error:n})}}async function wN(e,t){try{t!=null&&t.force?(await jp(e),await $O(e)):(await cV(e),await sE(e)),await UN(e),await VN(e),await UE(e),await _S(e);const n=yt().get(e);if(!(n!=null&&n.client))return;await EW(e,n.client),await DW(e),await kW(e)}catch(n){sr.error("Failed to fetch initial data",n)}}async function LW(e){const t=yt().get(e);if(!(t!=null&&t.proxyPath))throw new Error("Instance not ready");const n=DO(t.proxyPath),r=new URL("instance/dispose",n),i=await fetch(r.toString(),{method:"POST",credentials:"include",headers:{Accept:"application/json"}});if(!i.ok){const a=await i.text().catch(()=>"");throw new Error(a||`Dispose request failed with ${i.status}`)}if((i.headers.get("content-type")??"").includes("application/json")){const a=await i.json().catch(()=>{});return typeof a=="boolean"?a:a&&typeof a=="object"&&"data"in a?!!a.data:!!a}const o=await i.text().catch(()=>"");return o.trim()==="true"?!0:o.trim()==="false"?!1:!!o}async function Tf(e,t){if(Vu.has(e))return Vu.get(e);const n=(async()=>{const r=yt().get(e);r!=null&&r.client&&(sr.info("Rehydrating instance",{instanceId:e,reason:t==null?void 0:t.reason}),bd(e),fN(e),_N(e),QN(e),PN(e),FN(e),await wN(e,{force:!0}))})().finally(()=>{Vu.delete(e)});return Vu.set(e,n),n}async function MW(e){if(Gu.has(e))return Gu.get(e);const t=(async()=>{const n=await LW(e);return n&&await Tf(e,{reason:"disposed"}),n})().finally(()=>{Gu.delete(e)});return Gu.set(e,t),t}(async function(){try{(await ln.fetchWorkspaces()).forEach(n=>Kc(n)),CN()}catch(t){sr.error("Failed to load workspaces",t)}})();Op.on("*",e=>PW(e));function PW(e){switch(e.type){case"workspace.created":Kc(e.workspace);break;case"workspace.started":Kc(e.workspace);break;case"workspace.error":Kc(e.workspace),TW(e.workspace);break;case"workspace.stopped":IN(e.workspaceId),AN(e.workspaceId);break;case"workspace.log":$W(e.entry);break}}function $W(e){const t={timestamp:new Date(e.timestamp).getTime(),level:e.level??"info",message:e.message};HW(e.workspaceId,t)}function FW(e){fm(t=>{if(t.has(e))return t;const n=new Map(t);return n.set(e,[]),n})}function RN(e){ME(t=>{if(t.has(e))return t;const n=new Map(t);return n.set(e,!1),n})}function BW(e){fm(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n}),ME(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})}function UW(e){return CW().get(e)??[]}function ON(e){return IW().get(e)??!1}function gT(e,t){RN(e),ME(n=>{const r=new Map(n);return r.set(e,t),r}),t||YW(e)}function GW(e){LE(t=>{const n=new Map(t);return n.set(e.id,e),n}),FW(e.id),RN(e.id),FE()}function gh(e,t){LE(n=>{const r=new Map(n),i=r.get(e);return i&&r.set(e,{...i,...t}),r}),FE()}function AN(e){let t=null;LE(n=>{if(!n.has(e))return n;const r=Array.from(n.keys()),i=r.indexOf(e),s=new Map(n);if(s.delete(e),jn()===e)if(i>0)t=r[i-1]??null;else{const o=Array.from(s.keys());t=o.length>0?o[0]??null:null}return s}),BW(e),fN(e),PN(e),FN(e),_N(e),jn()===e&&Zi(t),bd(e),Wt.unregisterInstance(e),QN(e),FE()}async function VW(e,t){try{const n=await ln.createWorkspace({path:e});return Kc(n),Zi(n.id),n.id}catch(n){throw sr.error("Failed to create workspace",n),n}}async function NN(e){if(yt().get(e)){IN(e);try{await ln.deleteWorkspace(e)}catch(n){sr.error("Failed to stop workspace",n)}AN(e)}}async function xN(e){const t=yt().get(e);if(!t){sr.warn("[LSP] Skipping status fetch; instance not found",{instanceId:e});return}if(!t.client){sr.warn("[LSP] Skipping status fetch; client not ready",{instanceId:e});return}const n=t.client.lsp;if(!(n!=null&&n.status)){sr.warn("[LSP] Skipping status fetch; API unavailable",{instanceId:e});return}return sr.info("lsp.status",{instanceId:e}),await Xt(n.status(),"lsp.status")}function DN(){const e=jn();return e&&yt().get(e)||null}function HW(e,t){ON(e)&&fm(n=>{const r=new Map(n),i=r.get(e)??[],s=i.length>=AW?[...i.slice(1),t]:[...i,t];return r.set(e,s),r})}function YW(e){fm(t=>{if(!t.has(e))return t;const n=new Map(t);return n.set(e,[]),n})}function su(e){const t=wW().get(e);return t||[]}function kN(e){return su(e).length}function ia(e){const t=RW().get(e);return t||[]}function LN(e){return ia(e).length}function zW(e,t){const r=ia(e).find(i=>i.id===t);return r?il(r):wd.get(t)??Date.now()}function WW(e){const t=su(e),n=ia(e),r=t[0],i=n[0];if(!r&&!i)return null;if(r&&!i)return{kind:"permission",id:r.id};if(i&&!r)return{kind:"question",id:i.id};const s=Wp(r),o=i?il(i):Number.MAX_SAFE_INTEGER;return s<=o?{kind:"permission",id:r.id}:{kind:"question",id:i.id}}function qW(e,t){OW(n=>{const r=new Map(n);return t?r.set(e,t):r.set(e,null),r}),bN(n=>{const r=new Map(n);return(t==null?void 0:t.kind)==="permission"?r.set(e,t.id):r.set(e,null),r}),vN(n=>{const r=new Map(n);return(t==null?void 0:t.kind)==="question"?r.set(e,t.id):r.set(e,null),r})}function jl(e){qW(e,WW(e))}function KW(e,t){let n=vl.get(e);n||(n=new Map,vl.set(e,n));const r=n.get(t)??0;n.set(t,r+1)}function QW(e,t){const n=vl.get(e);if(!n)return 0;const r=n.get(t)??0;if(r<=1)return n.delete(t),n.size===0&&vl.delete(e),0;const i=r-1;return n.set(t,i),i}function jW(e){const t=vl.get(e);if(t){for(const n of t.keys())HE(e,n,!1);vl.delete(e)}}function XW(e,t){let n=Tl.get(e);n||(n=new Map,Tl.set(e,n));const r=n.get(t)??0;n.set(t,r+1)}function ZW(e,t){const n=Tl.get(e);if(!n)return 0;const r=n.get(t)??0;if(r<=1)return n.delete(t),n.size===0&&Tl.delete(e),0;const i=r-1;return n.set(t,i),i}function JW(e){const t=Tl.get(e);if(t){for(const n of t.keys())YE(e,n,!1);Tl.delete(e)}}function MN(e,t){let n=!1;if(PE(i=>{const s=new Map(i),o=s.get(e)??[];if(o.some(l=>l.id===t.id))return s;const a=[...o,t].sort((l,c)=>Wp(l)-Wp(c));return s.set(e,a),n=!0,s}),!n)return;jl(e);const r=ao(t);if(r){KW(e,r),HE(e,r,!0);const i=Hn(e,r);let s=Id.get(e);s||(s=new Map,Id.set(e,s)),s.set(t.id,i)}}function BE(e,t){var i;let n=null;PE(s=>{const o=new Map(s),a=o.get(e)??[],l=[];for(const c of a){if(c.id===t){n=c;continue}l.push(c)}return l.length>0?o.set(e,l):o.delete(e),o}),su(e),jl(e);const r=n;if(r){(i=Id.get(e))==null||i.delete(t);const s=ao(r);if(s){const o=QW(e,s);HE(e,s,o>0)}}}function PN(e){PE(t=>{const n=new Map(t);return n.delete(e),n}),bN(t=>{const n=new Map(t);return n.delete(e),n}),jW(e),Id.delete(e),jl(e)}function $N(e,t){let n=!1;if($E(i=>{const s=new Map(i),o=s.get(e)??[];if(o.some(l=>l.id===t.id))return s;il(t);const a=[...o,t].sort((l,c)=>il(l)-il(c));return s.set(e,a),n=!0,s}),!n)return;jl(e);const r=Zd(t);if(r){XW(e,r),YE(e,r,!0);const i=Hn(e,r);let s=yl.get(e);s||(s=new Map,yl.set(e,s)),s.set(t.id,i)}}function gm(e,t){var r;const n=Zd(ia(e).find(i=>i.id===t));if($E(i=>{const s=new Map(i),a=(s.get(e)??[]).filter(l=>l.id!==t);return a.length>0?s.set(e,a):s.delete(e),s}),wd.delete(t),(r=yl.get(e))==null||r.delete(t),jl(e),n){const i=ZW(e,n);YE(e,n,i>0)}}function FN(e){for(const t of ia(e))wd.delete(t.id);yl.delete(e),$E(t=>{const n=new Map(t);return n.delete(e),n}),vN(t=>{const n=new Map(t);return n.delete(e),n}),JW(e),jl(e)}async function eq(e,t,n,r){var s;const i=yt().get(e);if(!(i!=null&&i.client))throw new Error("Instance not ready");try{const o=(s=yl.get(e))==null?void 0:s.get(n),a=t?Hn(e,t):"root",c=Jn(e,o??a);await Xt(c.question.reply({requestID:n,answers:r}),"question.reply"),gm(e,n)}catch(o){throw sr.error("Failed to send question reply",o),o}}async function tq(e,t,n){var i;const r=yt().get(e);if(!(r!=null&&r.client))throw new Error("Instance not ready");try{const s=(i=yl.get(e))==null?void 0:i.get(n),o=t?Hn(e,t):"root",l=Jn(e,s??o);await Xt(l.question.reject({requestID:n}),"question.reject"),gm(e,n)}catch(s){throw sr.error("Failed to send question reject",s),s}}async function BN(e,t,n,r){var s;const i=yt().get(e);if(!(i!=null&&i.client))throw new Error("Instance not ready");try{const o=(s=Id.get(e))==null?void 0:s.get(n),a=t?Hn(e,t):"root",c=Jn(e,o??a);await Xt(c.permission.reply({requestID:n,reply:r}),"permission.reply"),BE(e,n)}catch(o){throw sr.error("Failed to send permission response",o),o}}Tn.onConnectionLost=(e,t)=>{const n=yt().get(e);n&&TN({id:e,folder:n.folder,reason:t})};Tn.onLspUpdated=async e=>{sr.info("lsp.updated",{instanceId:e});try{const t=await xN(e);if(!t)return;mN(e,{lspStatus:t})}catch(t){sr.error("Failed to refresh LSP status",t)}};Tn.onInstanceDisposed=(e,t)=>{var i;const n=(i=t==null?void 0:t.properties)==null?void 0:i.directory;if(!n){Tf(e,{reason:"disposed"});return}const r=[];for(const s of yt().values())s.folder===n&&r.push(s.id);if(r.length===0){Tf(e,{reason:"disposed"});return}for(const s of r)Tf(s,{reason:"disposed"})};async function nq(){const e=yf();if(e)try{await NN(e.id)}catch(t){sr.error("Failed to stop disconnected instance",t)}finally{TN(null)}}const fr=xt("api"),N_=new Map;async function rq(e,t,n=!1){var s;if(!e||!t)return;const r=`${e}:${t}`;if(!n){const o=(s=Ft().get(e))==null?void 0:s.get(t);if((o==null?void 0:o.diff)!==void 0)return;const a=N_.get(r);if(a)return a}const i=(async()=>{const o=yt().get(e);if(!(o!=null&&o.client))return;const a=Hn(e,t),l=Jn(e,a);try{const c=await Xt(l.session.diff({sessionID:t}),"session.diff");if(!Array.isArray(c))return;_i(e,t,d=>{d.diff=c})}catch(c){fr.warn("Failed to fetch session diff",{instanceId:e,sessionId:t,error:c})}})();return N_.set(r,i),i.finally(()=>N_.delete(r)),i}async function UN(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);lo(r=>{const i={...r};return i.fetchingSessions.set(e,!0),i});try{fr.info("session.list",{instanceId:e});const r=await n.session.list(),i=new Map;if(!r.data||!Array.isArray(r.data))return;let s={};try{const l=await n.session.status();l.data&&typeof l.data=="object"&&(s=l.data)}catch(l){fr.error("Failed to fetch session status:",l)}const o=Ft().get(e);for(const l of r.data){const c=o==null?void 0:o.get(l.id),d=c==null?void 0:c.status;let u;if(d==="compacting")u="compacting";else{const f=(l==null?void 0:l.status)??s[l.id];u=f&&typeof f=="object"&&typeof f.type=="string"?nE(f):d??"idle"}i.set(l.id,{id:l.id,instanceId:e,title:l.title||"Untitled",parentId:l.parentID||null,agent:(c==null?void 0:c.agent)??"",model:(c==null?void 0:c.model)??{providerId:"",modelId:""},status:u,version:l.version,time:{...l.time},revert:l.revert?{messageID:l.revert.messageID,partID:l.revert.partID,snapshot:l.revert.snapshot,diff:l.revert.diff}:void 0})}const a=new Set(i.keys());Rs(l=>{const c=new Map(l);return c.set(e,i),c}),Wo(e,i),Qc(l=>{const c=new Map(l),d=c.get(e);if(d){const u=new Set;for(const f of d)a.has(f)&&u.add(f);c.set(e,u)}return c}),gq(e,new Set(i.keys()))}catch(r){throw fr.error("Failed to fetch sessions:",r),r}finally{lo(r=>{const i={...r};return i.fetchingSessions.set(e,!1),i})}}async function GN(e,t){var d,u,f,g,m;const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=zo().get(e),i=r&&r!=="info"?Hn(e,r):"root",s=Jn(e,i),a=(mm().get(e)||[]).filter(_=>_.mode!=="subagent"),l=t||(a.length>0?a[0].name:""),c=await rE(e,l);l&&Sl(e,c)&&await gS(e,l,c),lo(_=>{const p={..._};return p.creatingSession.set(e,!0),p});try{fr.info(`[HTTP] POST /session.create for instance ${e}`);const _=await s.session.create();if(!_.data)throw new Error("Failed to create session: No data returned");const p={id:_.data.id,instanceId:e,title:_.data.title||"New Session",parentId:null,agent:l,model:c,status:"idle",version:_.data.version,time:{..._.data.time},revert:_.data.revert?{messageID:_.data.revert.messageID,partID:_.data.revert.partID,snapshot:_.data.revert.snapshot,diff:_.data.revert.diff}:void 0};Rs(O=>{const U=new Map(O),B=U.get(e)||new Map;return B.set(p.id,p),U.set(e,B),U}),Wo(e);const h=(mo().get(e)||[]).find(O=>O.id===p.model.providerId),b=h==null?void 0:h.models.find(O=>O.id===p.model.modelId),T=((d=b==null?void 0:b.limit)==null?void 0:d.context)??0,v=((u=b==null?void 0:b.limit)==null?void 0:u.input)??0,C=((f=b==null?void 0:b.cost)==null?void 0:f.input)===0&&((g=b==null?void 0:b.cost)==null?void 0:g.output)===0,w=(m=b==null?void 0:b.limit)!=null&&m.output&&b.limit.output>0?b.limit.output:Ma,I=v>0?v:T>0?T:null;return pm(O=>{const U=new Map(O),B=new Map(O.get(e));return B.set(p.id,{cost:0,contextWindow:T,isSubscriptionModel:!!C,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:w,contextAvailableTokens:I}),U.set(e,B),U}),mS().autoCleanupBlankSessions&&await ZN(e,p.id),await gf(e,p.id,i).catch(O=>{fr.warn("Failed to persist session worktree mapping",{instanceId:e,sessionId:p.id,worktreeSlug:i,error:O})}),p}catch(_){throw fr.error("Failed to create session:",_),_}finally{lo(_=>{const p={..._};return p.creatingSession.set(e,!1),p})}}async function iq(e,t,n){var S,h,b,T,v,C,w;const r=yt().get(e);if(!r||!r.client)throw new Error("Instance not ready");const i=Hn(e,t),s=Jn(e,i),o={sessionID:t,messageID:n==null?void 0:n.messageId};fr.info(`[HTTP] POST /session.fork for instance ${e}`,o);const a=await Xt(s.session.fork(o),"session.fork"),l={id:a.id,instanceId:e,title:a.title||"Forked Session",parentId:a.parentID||null,agent:a.agent||"",model:{providerId:((S=a.model)==null?void 0:S.providerID)||"",modelId:((h=a.model)==null?void 0:h.modelID)||""},status:"idle",version:"0",time:a.time?{...a.time}:{created:Date.now(),updated:Date.now()},revert:a.revert?{messageID:a.revert.messageID,partID:a.revert.partID,snapshot:a.revert.snapshot,diff:a.revert.diff}:void 0};Rs(I=>{const O=new Map(I),U=O.get(e)||new Map;return U.set(l.id,l),O.set(e,U),O}),Wo(e);const d=(mo().get(e)||[]).find(I=>I.id===l.model.providerId),u=d==null?void 0:d.models.find(I=>I.id===l.model.modelId),f=((b=u==null?void 0:u.limit)==null?void 0:b.context)??0,g=((T=u==null?void 0:u.limit)==null?void 0:T.input)??0,m=((v=u==null?void 0:u.cost)==null?void 0:v.input)===0&&((C=u==null?void 0:u.cost)==null?void 0:C.output)===0,_=(w=u==null?void 0:u.limit)!=null&&w.output&&u.limit.output>0?u.limit.output:Ma,p=g>0?g:f>0?f:null;return pm(I=>{const O=new Map(I),U=new Map(I.get(e));return U.set(l.id,{cost:0,contextWindow:f,isSubscriptionModel:!!m,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:_,contextAvailableTokens:p}),O.set(e,U),O}),l}async function dg(e,t){var o;const n=yt().get(e);if(!n||!n.client)throw new Error("Instance not ready");const r=Hn(e,t),i=Jn(e,r),s=(o=Ft().get(e))==null?void 0:o.get(t);lo(a=>{const l={...a},c=l.deletingSession.get(e)||new Set;return c.add(t),l.deletingSession.set(e,c),l});try{fr.info(`[HTTP] DELETE /session.delete for instance ${e}`,{sessionId:t}),await Xt(i.session.delete({sessionID:t}),"session.delete"),Rs(a=>{const l=new Map(a),c=l.get(e);return c&&(c.delete(t),c.size===0&&l.delete(e)),l}),Wo(e),KN(e,t),Wt.getOrCreate(e).clearSession(t),WO(e,t),pm(a=>{const l=new Map(a),c=l.get(e);if(c){const d=new Map(c);d.delete(t),d.size===0?l.delete(e):l.set(e,d)}return l}),zo().get(e)===t&&GE(a=>{const l=new Map(a);return l.delete(e),l}),(s==null?void 0:s.parentId)===null&&await mV(e,t).catch(()=>{})}catch(a){throw fr.error("Failed to delete session:",a),a}finally{lo(a=>{const l={...a},c=l.deletingSession.get(e);return c&&c.delete(t),l})}}async function VN(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);try{fr.info(`[HTTP] GET /app.agents for instance ${e}`);const i=((await n.app.agents()).data??[]).map(s=>{var o;return{name:s.name,description:s.description||"",mode:s.mode,hidden:s.hidden,model:(o=s.model)!=null&&o.modelID?{providerId:s.model.providerID||"",modelId:s.model.modelID}:void 0}});sq(s=>{const o=new Map(s);return o.set(e,i),o})}catch(r){fr.error("Failed to fetch agents:",r)}}async function UE(e){const t=yt().get(e);if(!t||!t.client)throw new Error("Instance not ready");const n=nm(e);try{fr.info(`[HTTP] GET /config.providers for instance ${e}`);const r=await n.config.providers();if(!r.data)return;const i=r.data.providers.map(s=>{var o,a;return{id:s.id,name:s.name,defaultModelId:(a=(o=r.data)==null?void 0:o.default)==null?void 0:a[s.id],models:Object.entries(s.models).map(([l,c])=>({id:l,name:c.name,providerId:s.id,limit:c.limit,cost:c.cost,variantKeys:Object.keys(c.variants??{})}))}});oq(s=>{const o=new Map(s);return o.set(e,i),o})}catch(r){fr.error("Failed to fetch providers:",r)}}async function Rd(e,t,n=!1){var d,u,f;if(n&&Qc(g=>{const m=new Map(g),_=m.get(e);return _&&_.delete(t),m}),((d=YN().get(e))==null?void 0:d.has(t))&&!n||((u=Cl().loadingMessages.get(e))==null?void 0:u.has(t)))return;const s=yt().get(e);if(!s||!s.client)throw new Error("Instance not ready");const o=Hn(e,t),a=Jn(e,o),l=Ft().get(e),c=l==null?void 0:l.get(t);if(!c)throw new Error("Session not found");rq(e,t).catch(g=>{fr.warn("Failed to load session diff",{instanceId:e,sessionId:t,error:g})}),lo(g=>{const m={...g},_=m.loadingMessages.get(e)||new Set;return _.add(t),m.loadingMessages.set(e,_),m});try{fr.info(`[HTTP] GET /session.messages for instance ${e}`,{sessionId:t});const g=await Xt(a.session.messages({sessionID:t}),"session.messages");if(!Array.isArray(g)||(Qc(T=>{const v=new Map(T),C=v.get(e)||new Set;return C.add(t),v.set(e,C),v}),g.length===0))return;const m=new Map,_=g.map(T=>{var U;const v=T.info||T,C=v.role||"assistant",w=v.id||String(Date.now());m.set(w,v);const I=(T.parts||[]).map(B=>lN(B));return{id:w,sessionId:t,type:C==="user"?"user":"assistant",parts:I,timestamp:((U=v.time)==null?void 0:U.created)||Date.now(),status:"complete",version:0}});let p="",S="",h="";for(let T=g.length-1;T>=0;T--){const v=g[T],C=v.info||v;if(C.role==="assistant"&&(p=C.mode||C.agent||"",S=C.providerID||"",h=C.modelID||"",p&&S&&h))break}if(!p&&!S&&!h){const T=await rE(e,c.agent);p=c.agent,S=T.providerId,h=T.modelId}Rs(T=>{const v=new Map(T),C=v.get(e);if(!C)return v;const w=C.get(t);if(!w)return v;const I={...w,agent:p||w.agent,model:S&&h?{providerId:S,modelId:h}:w.model};return C.set(t,I),v.set(e,C),v}),Qc(T=>{const v=new Map(T),C=v.get(e)||new Set;return C.add(t),v.set(e,C),v});const b=((f=Ft().get(e))==null?void 0:f.get(t))??{id:t,title:c==null?void 0:c.title,parentId:(c==null?void 0:c.parentId)??null,revert:c==null?void 0:c.revert};RV(e,b,_,m),xV(e,t),JO(e,t)}catch(g){throw fr.error("Failed to load messages:",g),g}finally{lo(g=>{const m={...g},_=m.loadingMessages.get(e);return _&&_.delete(t),m})}ws(e,t)}const mh=xt("session"),[Ft,Rs]=z(new Map),[zo,GE]=z(new Map),[_h,HN]=z(new Map),[mm,sq]=z(new Map),[mo,oq]=z(new Map),[aq,_m]=z(new Map),[Cl,lo]=z({fetchingSessions:new Map,creatingSession:new Map,deletingSession:new Map,loadingMessages:new Map}),[YN,Qc]=z(new Map),[zN,pm]=z(new Map),[WN,qN]=z(new Map),[lq,Cf]=z(new Map);function mT(e){return e.pendingPermission||e.pendingQuestion?"permission":e.status??"idle"}function cq(e,t,n){if(t===n)return;const r=t==="idle"?null:t,i=n==="idle"?null:n;Cf(s=>{const o=s.get(e)??{permission:0,working:0,compacting:0},a={...o};if(r&&(a[r]=Math.max(0,a[r]-1)),i&&(a[i]=a[i]+1),!(a.permission>0||a.working>0||a.compacting>0)){if(!s.has(e))return s;const u=new Map(s);return u.delete(e),u}if(o.permission===a.permission&&o.working===a.working&&o.compacting===a.compacting&&s.has(e))return s;const d=new Map(s);return d.set(e,a),d})}function dq(e,t){if(!t||t.size===0){Cf(s=>{if(!s.has(e))return s;const o=new Map(s);return o.delete(e),o});return}let n=0,r=0,i=0;for(const s of t.values()){if(s.pendingPermission||s.pendingQuestion){n+=1;continue}const o=s.status??"idle";o==="compacting"?i+=1:o==="working"&&(r+=1)}if(n===0&&r===0&&i===0){Cf(s=>{if(!s.has(e))return s;const o=new Map(s);return o.delete(e),o});return}Cf(s=>{const o=s.get(e);if(o&&o.permission===n&&o.working===r&&o.compacting===i)return s;const a=new Map(s);return a.set(e,{permission:n,working:r,compacting:i}),a})}function uq(e){const t=lq().get(e);return t?t.permission>0?"permission":t.compacting>0?"compacting":t.working>0?"working":"idle":"idle"}function Wo(e,t){dq(e,t??Ft().get(e))}function fq(e,t){!e||!t||Qc(n=>{const r=n.get(e);if(!r||!r.has(t))return n;const i=new Map(n),s=new Set(r);return s.delete(t),s.size===0?i.delete(e):i.set(e,s),i})}Wt.onSessionCleared((e,t)=>{fq(e,t)});function VE(e,t){return`${e}:${t}`}function _T(e,t){if(!e||!t)return"";const n=VE(e,t);return aq().get(n)??""}function x_(e,t,n){const r=VE(e,t);_m(i=>{const s=new Map(i);return n?s.set(r,n):s.delete(r),s})}function KN(e,t){const n=VE(e,t);_m(r=>{if(!r.has(n))return r;const i=new Map(r);return i.delete(n),i})}function QN(e){e&&_m(t=>{let n=!1;const r=new Map(t),i=`${e}:`;for(const s of Array.from(r.keys()))s.startsWith(i)&&(r.delete(s),n=!0);return n?r:t})}function gq(e,t){_m(n=>{let r=!1;const i=new Map(n),s=`${e}:`;for(const o of Array.from(i.keys()))if(o.startsWith(s)){const a=o.slice(s.length);t.has(a)||(i.delete(o),r=!0)}return r?i:n})}function _i(e,t,n){let r=null,i=null,s=!1;Rs(o=>{const a=o.get(e);if(!a)return o;const l=a.get(t);if(!l)return o;r=mT(l);const c={...l};if(n(c)===!1)return o;i=mT(c),a.set(t,c),s=!0;const u=new Map(o);return u.set(e,a),u}),s&&r&&i&&cq(e,r,i)}function HE(e,t,n){_i(e,t,r=>{if(r.pendingPermission===n)return!1;r.pendingPermission=n})}function YE(e,t,n){_i(e,t,r=>{if(r.pendingQuestion===n)return!1;r.pendingQuestion=n})}function Os(e,t){GE(n=>{const r=new Map(n);return r.set(e,t),r})}function As(e,t){HN(n=>{const r=new Map(n);return r.set(e,t),r}),Os(e,t)}function mq(e){HN(t=>{const n=new Map(t);return n.delete(e),n}),GE(t=>{const n=new Map(t);return n.delete(e),n})}function qo(e){const t=Ft().get(e);return t?Array.from(t.values()):[]}function _q(e){return qo(e).filter(n=>n.parentId===null)}function ph(e,t){return qo(e).filter(r=>r.parentId===t)}function pq(e,t){var i;const n=(i=Ft().get(e))==null?void 0:i.get(t);if(!n)return[];const r=ph(e,t);return[n,...r]}const hh=new Map;function hq(e){let t=hh.get(e);return t||(t={byParentId:new Map},hh.set(e,t)),t}function jN(e){var a;const t=Ft().get(e);if(!t||t.size===0)return hh.delete(e),[];const n=hq(e),r=new Set,i=[],s=new Map;for(const l of t.values()){if(l.parentId===null){i.push(l);continue}const c=l.parentId;if(!c)continue;const d=s.get(c);d?d.push(l):s.set(c,[l])}const o=[];for(const l of i){r.add(l.id);const c=s.get(l.id)??[];c.length>1&&c.sort((p,S)=>(S.time.updated??0)-(p.time.updated??0));const d=l.time.updated??0,u=((a=c[0])==null?void 0:a.time.updated)??0,f=Math.max(d,u),g=c.map(p=>p.id).join(","),m=`${d}:${u}:${g}`,_=n.byParentId.get(l.id);if(_&&_.signature===m)o.push(_.thread);else{const p={parent:l,children:c,latestUpdated:f};n.byParentId.set(l.id,{signature:m,thread:p}),o.push(p)}}for(const l of Array.from(n.byParentId.keys()))r.has(l)||n.byParentId.delete(l);return o.sort((l,c)=>{if(c.latestUpdated!==l.latestUpdated)return c.latestUpdated-l.latestUpdated;const d=c.parent.time.updated??0,u=l.parent.time.updated??0;return d!==u?d-u:c.parent.id.localeCompare(l.parent.id)}),o}function XN(e,t){var n;return!!((n=WN().get(e))!=null&&n.has(t))}function Sq(e,t,n){qN(r=>{const i=new Map(r),s=i.get(e)??new Set,o=new Set(s);return o.add(t),o.size===0?i.delete(e):i.set(e,o),i})}function Eq(e,t){qN(n=>{const r=new Map(n),i=r.get(e)??new Set,s=new Set(i);return s.has(t)?s.delete(t):s.add(t),r.set(e,s),r})}function Od(e,t){XN(e,t)||Sq(e,t)}function Ad(e){const t=jN(e);if(t.length===0)return[];const n=WN().get(e),r=[];for(const i of t)if(r.push(i.parent.id),n!=null&&n.has(i.parent.id))for(const s of i.children)r.push(s.id);return r}function Ko(e,t){var i;const n=(i=Ft().get(e))==null?void 0:i.get(t);if(!n)return;if(n.parentId===null){As(e,t);return}const r=n.parentId;r&&hr(()=>{As(e,r),Os(e,t)})}function bq(e,t){const n=Ft().get(e);return!(!n||!n.has(t))}function vq(e,t){var n;return!!((n=Cl().loadingMessages.get(e))!=null&&n.has(t))}function zE(e,t){var n;return(n=zN().get(e))==null?void 0:n.get(t)}async function yq(e,t,n=!1){var c,d,u,f;const r=((c=e.time)==null?void 0:c.created)||0,i=((d=e.time)==null?void 0:d.updated)||0,s=ph(t,e.id).length>0,o=r===i&&!s;if(!n)return o;const a=yt().get(t);if(!(a!=null&&a.client))return o;let l=[];try{const g=Hn(t,e.id),m=Jn(t,g);l=await Xt(m.session.messages({sessionID:e.id}),"session.messages")}catch(g){return mh.error(`Failed to fetch messages for session ${e.id}`,g),o}if(e.parentId===null){const g=ph(t,e.id).length>0;return l.length===0&&!g}else if((u=e.title)!=null&&u.includes("subagent)")){if(l.length===0)return!0;const g=l.some(S=>{const h=S.info.status||S.status;return h==="streaming"||h==="sending"}),m=l[l.length-1],p=((m==null?void 0:m.parts)||[]).some(S=>{var h;return S.type==="tool"||((h=S.data)==null?void 0:h.type)==="tool"});return!g&&!e.pendingPermission&&!p}else{if(l.length===0)return!0;const g=l[l.length-1],m=(g==null?void 0:g.info)||g;return(m==null?void 0:m.id)===((f=e.revert)==null?void 0:f.messageID)}}async function ZN(e,t,n=!1){const r=Ft().get(e);if(!r||n&&!await pl(Le("sessionState.cleanup.deepConfirm.message"),{title:Le("sessionState.cleanup.deepConfirm.title"),detail:Le("sessionState.cleanup.deepConfirm.detail"),confirmLabel:Le("sessionState.cleanup.deepConfirm.confirmLabel"),cancelLabel:Le("sessionState.cleanup.deepConfirm.cancelLabel")}))return;const i=Array.from(r).filter(([s])=>s!==t).map(async([s,o])=>await yq(o,e,n)?(await dg(e,s).catch(l=>{mh.error(`Failed to delete blank session ${s}`,l)}),!0):!1);if(i.length>0){mh.info(`Cleaning up ${i.length} blank sessions`);const o=(await Promise.all(i)).filter(Boolean).length;o>0&&tn({message:o===1?Le("sessionState.cleanup.toast.one",{count:o}):Le("sessionState.cleanup.toast.other",{count:o}),variant:"info"})}}function Tq(e,t){const n=Ft().get(e);return(n==null?void 0:n.get(t))??null}function WE(e,t){const n=Tq(e,t);return n?n.status??"idle":"idle"}function JN(e){return uq(e)}function Cq(e,t){const n=WE(e,t);return n==="working"||n==="compacting"}var Iq=F("<div class=group><button role=tab><span class=tab-label></span><span></span><span class=tab-close role=button tabindex=0>"),wq=F("<span class=status-dot>");function Rq(e){return e.replace(/[\\/]+$/,"").split(/[\\/]/).pop()||e}const Oq=e=>{const{t}=wt(),n=P(()=>JN(e.instance.id)),r=P(()=>{const s=n();return s==="permission"?"session-permission":`session-${s}`}),i=P(()=>{switch(n()){case"permission":return t("instanceTab.status.permission");case"compacting":return t("instanceTab.status.compacting");case"working":return t("instanceTab.status.working");default:return t("instanceTab.status.idle")}});return(()=>{var s=Iq(),o=s.firstChild,a=o.firstChild,l=a.nextSibling,c=l.nextSibling;return Ut(o,"click",e.onSelect,!0),y(o,E(TR,{class:"w-4 h-4 flex-shrink-0"}),a),y(a,()=>Rq(e.instance.folder)),y(l,(()=>{var d=Me(()=>n()==="permission");return()=>d()?E(Kd,{class:"w-3.5 h-3.5","aria-hidden":"true"}):wq()})()),c.$$click=d=>{d.stopPropagation(),e.onClose()},y(c,E(Bl,{class:"w-3 h-3"})),te(d=>{var u=`tab-base ${e.active?"tab-active":"tab-inactive"}`,f=e.instance.folder,g=e.active,m=`status-indicator session-status ml-auto ${r()}`,_=i(),p=t("instanceTab.status.ariaLabel",{status:i()}),S=t("instanceTab.actions.close.ariaLabel");return u!==d.e&&it(o,d.e=u),f!==d.t&&Q(o,"title",d.t=f),g!==d.a&&Q(o,"aria-selected",d.a=g),m!==d.o&&it(l,d.o=m),_!==d.i&&Q(l,"title",d.i=_),p!==d.n&&Q(l,"aria-label",d.n=p),S!==d.s&&Q(c,"aria-label",d.s=S),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),s})()};At(["click"]);var Aq=F("<span>");const Nq=e=>(()=>{var t=Aq();return y(t,()=>e.children),te(n=>{var r=e.ariaHidden,i=`keyboard-hints text-xs text-muted ${e.class||""}`;return r!==n.e&&Q(t,"aria-hidden",n.e=r),i!==n.t&&it(t,n.t=i),n},{e:void 0,t:void 0}),t})();var xq=F("<span class=mx-1>"),Dq=F("<span class=mr-1>");const ug=e=>{const t=el("(min-width: 1280px)");function n(r){const i=[];return(r.modifiers.ctrl||r.modifiers.meta)&&i.push("cmd"),r.modifiers.shift&&i.push("shift"),r.modifiers.alt&&i.push("alt"),i.push(r.key),i.join("+")}return t()?E(Nq,{get class(){return e.class},get ariaHidden(){return e.ariaHidden},get children(){return E(ht,{get each(){return e.shortcuts},children:(r,i)=>[Me(()=>Me(()=>i()>0&&e.separator!==null)()&&(()=>{var s=xq();return y(s,()=>e.separator??"•"),s})()),Me(()=>Me(()=>e.showDescription!==!1)()&&(()=>{var s=Dq();return y(s,()=>r.description),s})()),E(Fn,{get shortcut(){return n(r)}})]})}}):null};class kq{constructor(){this.shortcuts=new Map}register(t){this.shortcuts.set(t.id,t)}unregister(t){this.shortcuts.delete(t)}get(t){return this.shortcuts.get(t)}findMatch(t){for(const n of this.shortcuts.values())if(this.matches(t,n)){if(n.context==="input"&&!this.isInputFocused()||n.context==="messages"&&this.isInputFocused()||n.condition&&!n.condition())continue;return n}return null}matches(t,n){const r=n.key.toLowerCase(),i=t.key?t.key.toLowerCase():"",s=t.code?t.code.toLowerCase():"",o=i===r||s===r,a=t.ctrlKey===(n.modifiers.ctrl??!1),l=t.metaKey===(n.modifiers.meta??!1),c=t.shiftKey===(n.modifiers.shift??!1),d=t.altKey===(n.modifiers.alt??!1);return o&&a&&l&&c&&d}isInputFocused(){const t=document.activeElement;return(t==null?void 0:t.tagName)==="TEXTAREA"||(t==null?void 0:t.tagName)==="INPUT"||((t==null?void 0:t.hasAttribute("contenteditable"))??!1)}getByContext(t){return Array.from(this.shortcuts.values()).filter(n=>!n.context||n.context===t)}}const wn=new kq;var Lq=F("<div class=tab-shortcuts>"),Mq=F('<div class="tab-bar tab-bar-instance"><div class=tab-container role=tablist><div class=tab-scroll><div class=tab-strip><div class=tab-strip-tabs><button class=new-tab-button></button></div><div class=tab-strip-spacer></div><button class=new-tab-button></button><button></button><button class="new-tab-button tab-remote-button">');const Pq=e=>{const{t}=wt(),{preferences:n}=Mi(),r=P(()=>jV()),i=P(()=>!!n().osNotificationsEnabled),s=P(()=>r()&&i()?NS:Hv),o=P(()=>r()?i()?t("settings.notifications.status.enabled"):t("settings.notifications.status.disabled"):t("settings.notifications.status.unsupported"));return(()=>{var a=Mq(),l=a.firstChild,c=l.firstChild,d=c.firstChild,u=d.firstChild,f=u.firstChild,g=u.nextSibling,m=g.nextSibling,_=m.nextSibling,p=_.nextSibling;return y(u,E(ht,{get each(){return Array.from(e.instances.entries())},children:([S,h])=>E(Oq,{instance:h,get active(){return S===e.activeInstanceId},onSelect:()=>e.onSelect(S),onClose:()=>e.onClose(S)})}),f),Ut(f,"click",e.onNew,!0),y(f,E(MS,{class:"w-4 h-4"})),y(d,E(K,{get when(){return Array.from(e.instances.entries()).length>1},get children(){var S=Lq();return y(S,E(ug,{get shortcuts(){return[wn.get("instance-prev"),wn.get("instance-next")].filter(Boolean)}})),S}}),m),m.$$click=()=>Po("appearance"),y(m,E(Hf,{class:"w-4 h-4"})),_.$$click=()=>Po("notifications"),y(_,E(ud,{get component(){return s()},class:"w-4 h-4"})),p.$$click=()=>Po("remote"),y(p,E(LS,{class:"w-4 h-4"})),te(S=>{var h=t("instanceTabs.new.title"),b=t("instanceTabs.new.ariaLabel"),T=t("settings.open.title"),v=t("settings.open.ariaLabel"),C=`new-tab-button ${r()?"":"opacity-50"}`,w=o(),I=o(),O=t("instanceTabs.remote.title"),U=t("instanceTabs.remote.ariaLabel");return h!==S.e&&Q(f,"title",S.e=h),b!==S.t&&Q(f,"aria-label",S.t=b),T!==S.a&&Q(m,"title",S.a=T),v!==S.o&&Q(m,"aria-label",S.o=v),C!==S.i&&it(_,S.i=C),w!==S.n&&Q(_,"title",S.n=w),I!==S.s&&Q(_,"aria-label",S.s=I),O!==S.h&&Q(p,"title",S.h=O),U!==S.r&&Q(p,"aria-label",S.r=U),S},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),a})()};At(["click"]);var $q=F("<div>"),Fq=F('<div class="rounded-lg border border-base bg-surface-secondary p-4 text-sm text-secondary"><p class="font-medium text-primary"></p><p class="mt-2 text-secondary">'),Bq=F('<div class="flex justify-end"><button type=button class="selector-button selector-button-primary">'),Uq=F('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">'),Gq=F('<p class="mt-2 text-secondary"> <span class="font-mono text-primary break-all">');function Vq(e){const{t}=wt(),n=()=>e.folder||t("instanceDisconnected.folderFallback"),r=()=>e.reason||t("instanceDisconnected.reasonFallback");return E(vt,{get open(){return e.open},modal:!0,get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var i=Uq();return y(i,E(vt.Content,{class:"modal-surface w-full max-w-md p-6 flex flex-col gap-6",get children(){return[(()=>{var s=$q();return y(s,E(vt.Title,{class:"text-xl font-semibold text-primary",get children(){return t("instanceDisconnected.title")}}),null),y(s,E(vt.Description,{class:"text-sm text-secondary mt-2 break-words",get children(){return t("instanceDisconnected.description",{folder:n()})}}),null),s})(),(()=>{var s=Fq(),o=s.firstChild,a=o.nextSibling;return y(o,()=>t("instanceDisconnected.details.title")),y(a,r),y(s,(()=>{var l=Me(()=>!!e.folder);return()=>l()&&(()=>{var c=Gq(),d=c.firstChild,u=d.nextSibling;return y(c,()=>t("instanceDisconnected.details.folderLabel"),d),y(u,()=>e.folder),c})()})(),null),s})(),(()=>{var s=Bq(),o=s.firstChild;return Ut(o,"click",e.onClose,!0),y(o,()=>t("instanceDisconnected.actions.closeInstance")),s})()]}})),i})()]}})}})}At(["click"]);const pT=e=>e,Hq=()=>{let e=pT;return{configure(t){e=t},generate(t){return e(t)},reset(){e=pT}}},Yq=Hq(),zq={active:"Mui-active",checked:"Mui-checked",completed:"Mui-completed",disabled:"Mui-disabled",error:"Mui-error",expanded:"Mui-expanded",focused:"Mui-focused",focusVisible:"Mui-focusVisible",required:"Mui-required",selected:"Mui-selected"};function Si(e,t){return zq[t]||`${Yq.generate(e)}-${t}`}function Ei(e,t){const n={};return t.forEach(r=>{n[r]=Si(e,r)}),n}function Wq(e,t,n){const r={};return Object.keys(e).forEach(i=>{r[i]=e[i].reduce((s,o)=>(o&&(n&&n[o]&&s.push(n[o]),s.push(t(o))),s),[]).join(" ")}),r}function qq(e){return Si("MuiPaper",e)}Ei("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const Kq=Symbol("solid-inspect"),Qq=cn();function jq(e){function t(n){var r;return(r=sn(Qq))!=null&&r.enabled?{Component:t,props:n,$INSPECT:Kq}:e(n)}return Object.defineProperty(t,"name",{value:e.name}),t.toString=e.toString,t}function Yn(){return function(e){function t(a){const l=!!e.slotClasses,c=()=>{if(!e.slotClasses)throw new Error("'slotClasses' option is not defined");if(!e.utilityClass)throw new Error("'utilityClass' option is not defined");return Wq(e.slotClasses(a),e.utilityClass,a.classes??"")},d=Ww({});return l&&mw(()=>{const u=c();hr(()=>{for(const f in u)d[f]=u[f]})}),d}function n(a){const[l,c]=bt(a,e.selfPropNames);return{allProps:a,props:l,otherProps:c}}function r(a){return D1({propDefaults:a.propDefaults||e.propDefaults,props:a.props,name:e.name})}function i(a){const l=r({props:a});return n(l)}function s(a,l=!0){return a=jq(a),a.toString=()=>`.${e.name}-root`,l&&ER(a,"base"),a}function o(a){const l=s(function(d){const{allProps:u,otherProps:f,props:g}=i(d),m=e.autoCallUseClasses??!0?t(u):{};return a({allProps:u,otherProps:f,props:g,classes:m})});return Object.defineProperty(l,"name",{value:a.name}),l}return{name:e.name,selfPropNames:e.selfPropNames,component:o,defineComponent:s,useClasses:t,useThemeProps:r,useProps:i,splitInProps:n}}}const Xq=Yn()({name:"MuiPaper",selfPropNames:["children","classes","elevation","square","variant"],propDefaults:({set:e})=>e({component:"div",elevation:1,square:!1,variant:"elevation"}),utilityClass:qq,slotClasses:e=>({root:["root",e.variant,!e.square&&"rounded",e.variant==="elevation"&&`elevation${e.elevation}`]})}),hT=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Number((t/100).toFixed(2))},Zq=Vn("div",{name:"MuiPaper",slot:"Root"})(({theme:e,ownerState:t})=>({backgroundColor:e.palette.background.paper,color:e.palette.text.primary,transition:e.transitions.create("box-shadow"),...!t.square&&{borderRadius:e.shape.borderRadius},...t.variant==="outlined"&&{border:`1px solid ${e.palette.divider}`},...t.variant==="elevation"&&{boxShadow:e.shadows[t.elevation],...e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${_l("#fff",hT(t.elevation))}, ${_l("#fff",hT(t.elevation))})`}}})),ex=Xq.component(function({allProps:t,props:n,otherProps:r,classes:i}){return E(Zq,Re(r,{ownerState:t,get class(){return gn(i.root,t.class)},get children(){return n.children}}))});function Jq(e){return Si("MuiAppBar",e)}Ei("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent"]);const eK=Yn()({name:"MuiAppBar",selfPropNames:["classes","color","enableColorOnDark","position"],utilityClass:Jq,propDefaults:({set:e})=>e({component:"header",color:"primary",enableColorOnDark:!1,position:"fixed"}),slotClasses:e=>({root:["root",`color${pn(e.color)}`,`position${pn(e.position)}`]})}),tK=Vn(ex,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>[t.root,t[`position${pn(e.ownerState.position)}`],t[`color${pn(e.ownerState.color)}`]]})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900];return{display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,...t.position==="fixed"&&{position:"fixed",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},...t.position==="absolute"&&{position:"absolute",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0},...t.position==="sticky"&&{position:"sticky",zIndex:e.zIndex.appBar,top:0,left:"auto",right:0},...t.position==="static"&&{position:"static"},...t.position==="relative"&&{position:"relative"},...t.color==="default"&&{backgroundColor:n,color:e.palette.getContrastText(n)},...t.color&&t.color!=="default"&&t.color!=="inherit"&&t.color!=="transparent"&&{backgroundColor:e.palette[t.color].main,color:e.palette[t.color].contrastText},...t.color==="inherit"&&{color:"inherit"},...e.palette.mode==="dark"&&!t.enableColorOnDark&&{backgroundColor:void 0,color:void 0},...t.color==="transparent"&&{backgroundColor:"transparent",color:"inherit",...e.palette.mode==="dark"&&{backgroundImage:"none"}}}}),nK=eK.component(function({allProps:t,classes:n,props:r,otherProps:i}){return E(tK,Re({square:!0,ownerState:t,elevation:4,get class(){return gn(n.root,{"mui-fixed":r.position==="fixed"},i.class)}},i))});function rK(e){const[t,n,r]=bt(e,S$,["sx"]);return[()=>{const s=n.sx;return s?Array.isArray(s)?[t,...s]:Re(t,s):t},r]}function iK(e){const[t,n]=rK(e);return Re(n,{get sx(){return t()}})}const sK=bR(),tx=sK("div",{name:"MuiBox",slot:"Root",skipProps:[...AS,"component"]})(),nx=function(t){return t=iK(t),E(tx,Re(t,{get as(){return t.as??t.component}}))};nx.toString=tx.toString;const oK=Yn()({name:"MuiBox",selfPropNames:[],utilityClass:e=>`MuiBox-${e}`,slotClasses:()=>({root:["root"]})}),xc=oK.component(function({otherProps:t,classes:n}){const r=$i();return E(nx,Re({theme:r},t,{get class(){return gn(n.root,t.class)}}))}),rx=e=>e.scrollTop;function fg(e,t){const{timeout:n,easing:r,style:i={}}=e;return{duration:i.transitionDuration??(typeof n=="number"?n:typeof n=="string"?0:n[t.mode]||0),easing:i.transitionTimingFunction??(typeof r=="object"?r[t.mode]:r),delay:i.transitionDelay}}function ix(e){return typeof e=="number"?{exit:e,enter:e,appear:e}:{exit:(e==null?void 0:e.exit)||0,enter:(e==null?void 0:e.enter)||0,appear:(e==null?void 0:e.appear)??(e==null?void 0:e.enter)??0}}function sx(e){const t=Re({in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0},e),n=P(()=>ix(t.timeout));let r;t.in?t.appear?r="exited":r="entered":t.unmountOnExit||t.mountOnEnter?r="unmounted":r="exited";const[i,s]=z(r);let o,a,l=!0;function c(u,f){const g=()=>setTimeout(f,u);let m,_=!1;const p=()=>{_=!0,m&&clearTimeout(m)};return t.addEndListener?t.addEndListener(()=>{_||(m=g())}):m=g(),p}const d=P(ur(()=>[i()],()=>{var g,m,_,p;const u=i(),f=u!=="unmounted"?t.children(u):void 0;return l?(l=!1,f):(u==="entering"?((g=t.onEntering)==null||g.call(t),a&&(a(),a=void 0),o=c(n().enter,()=>s("entered"))):u==="entered"?(m=t.onEntered)==null||m.call(t):u==="exiting"?((_=t.onExiting)==null||_.call(t),o&&(o(),o=void 0),a=c(n().exit,()=>s("exited"))):u==="exited"&&((p=t.onExited)==null||p.call(t)),f)}));return _e(u=>(t.in?(Nr(()=>{var f;return(f=t.onEnter)==null?void 0:f.call(t)}),s("entering")):u||(Nr(()=>{var f;return(f=t.onExit)==null?void 0:f.call(t)}),s("exiting")),!1),!0),$e(()=>{o==null||o(),a==null||a()}),d()}const qE=cn();function gg(e){const t=n=>{if(t.ref=t.current=n,typeof e=="function"){const r=e();typeof r=="function"&&r(n)}else typeof(e==null?void 0:e.ref)=="function"&&e.ref(n)};return t}function hm(e){return gg(e)}const ox=Yn()({name:"MuiFader",selfPropNames:["appear","children","easing","in","timeout"],propDefaults:({set:e})=>{const t=$i();return e({appear:!0,get timeout(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}}})}}),aK=ox.selfPropNames,lK=ox.component(function({props:t,otherProps:n}){const r=$i(),i=hm(t),s=P(()=>ix(t.timeout)),o=Fl(()=>t.children),a=sn(qE);return E(sx,Re({get in(){return t.in??(a==null?void 0:a.in)},get appear(){return t.appear},get timeout(){return t.timeout}},n,{ref:i,onEnter:()=>{var d,u;const l=o();rx(l);const c=fg({style:n.style,timeout:s(),easing:t.easing},{mode:"enter"});l.style.transition=r.transitions.create("opacity",c),(d=n.onEnter)==null||d.call(n),(u=a==null?void 0:a.onEnter)==null||u.call(a)},onExit:()=>{var d;const l=o(),c=fg({style:n.style,timeout:s(),easing:t.easing},{mode:"enter"});l.style.transition=r.transitions.create("opacity",c),(d=n.onExit)==null||d.call(n)},onExited:()=>{var l,c;(l=n.onExited)==null||l.call(n),(c=a==null?void 0:a.onExited)==null||c.call(a)},children:l=>{const c=o();return l==="exited"&&!t.in?c.style.visibility="hidden":c.style.removeProperty("visibility"),l==="entering"||l==="entered"?c.style.opacity="1":c.style.opacity="0",c}}))});function Sm(e){return typeof e=="string"}function cK(e){return Si("MuiBackdrop",e)}Ei("MuiBackdrop",["root","invisible"]);const dK=Yn()({name:"BackdropUnstyled",selfPropNames:["children","classes","components","componentsProps","invisible"],propDefaults:({set:e})=>e({component:"div",components:{},componentsProps:{},invisible:!1}),utilityClass:cK,slotClasses:e=>({root:["root",e.invisible&&"invisible"]})}),uK=dK.component(function({props:t,otherProps:n,allProps:r,classes:i}){const s=()=>t.components.Root||n.component,o=()=>t.componentsProps.root||{};return E(P1,Re({"aria-hidden":!0},o,n,()=>!Sm(s())&&{ownerState:r},{get $component(){return s()},get class(){return gn(i.root,o().class,n.class)},get children(){return t.children}}))}),fK=Yn()({name:"MuiBackdrop",selfPropNames:["classes","open","transitionDuration"],propDefaults:({set:e})=>e({open:!1,component:"div"})}),gK=Vn("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",...e.invisible&&{backgroundColor:"transparent"}})),mK=fK.component(function({props:t,otherProps:n}){const[r,i]=bt(n,aK);return E(lK,Re({get in(){return t.open},get timeout(){return t.transitionDuration}},r,{get children(){return E(uK,Re(i,{get class(){return n.class},get invisible(){return n.invisible},get components(){return{Root:gK,...n.components}},get componentsProps(){var s,o,a;return{root:{...(s=n.componentsProps)==null?void 0:s.root,...(!((o=n.components)!=null&&o.Root)||!Sm((a=n.components)==null?void 0:a.Root))&&{}}}},get classes(){return t.classes},get children(){return n.children}}))}}))});function _K(e){const t=()=>e.container??document.body;return E(K,{get when(){return!e.disablePortal},get fallback(){return e.children},get children(){return E($l,{get mount(){return t()},get children(){return e.children}})}})}function pK(e){const t=md(e);return t.body===e?qd(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function jc(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function ST(e){return parseInt(qd(e).getComputedStyle(e).paddingRight,10)||0}function ET(e,t,n=[],r){const i=[t,...n],s=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,o=>{i.indexOf(o)===-1&&s.indexOf(o.tagName)===-1&&jc(o,r)})}function D_(e,t){let n=-1;return e.some((r,i)=>t(r)?(n=i,!0):!1),n}function hK(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(pK(r)){const l=K1(md(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${ST(r)+l}px`;const c=md(r).querySelectorAll(".mui-fixed");[].forEach.call(c,d=>{n.push({value:d.style.paddingRight,property:"padding-right",el:d}),d.style.paddingRight=`${ST(d)+l}px`})}const s=r.parentElement,o=qd(r),a=(s==null?void 0:s.nodeName)==="HTML"&&o.getComputedStyle(s).overflowY==="scroll"?s:r;n.push({value:a.style.overflow,property:"overflow",el:a},{value:a.style.overflowX,property:"overflow-x",el:a},{value:a.style.overflowY,property:"overflow-y",el:a}),a.style.overflow="hidden"}return()=>{n.forEach(({value:s,el:o,property:a})=>{s?o.style.setProperty(a,s):o.style.removeProperty(a)})}}function SK(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class EK{constructor(){ye(this,"containers");ye(this,"modals");this.modals=[],this.containers=[]}add(t,n){let r=this.modals.findIndex(o=>o.ref===t.ref);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),jc(t.ref,!1);const i=SK(n);ET(n,t.ref,i,!0);const s=D_(this.containers,o=>o.container===n);return s!==-1?(this.containers[s].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:i}),r)}mount(t,n){const r=D_(this.containers,s=>!!s.modals.find(o=>o.ref===t.ref)),i=this.containers[r];i.restore||(i.restore=hK(i,n))}remove(t){const n=this.modals.findIndex(s=>s.ref===t.ref);if(n===-1)return n;const r=D_(this.containers,s=>!!s.modals.find(o=>o.ref===t.ref)),i=this.containers[r];if(i.modals.splice(i.modals.findIndex(s=>s.ref===t.ref),1),this.modals.splice(n,1),i.modals.length===0)i.restore&&i.restore(),jc(t.ref,!0),ET(i.container,t.ref,i.hiddenSiblings,!1),this.containers.splice(r,1);else{const s=i.modals[i.modals.length-1];jc(s.ref,!1)}return n}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1].ref===t.ref}}function bK(e){return Si("MuiModal",e)}Ei("MuiModal",["root","hidden"]);const vK=Yn()({name:"ModalUnstyled",propDefaults:({set:e})=>e({closeAfterTransition:!1,component:"div",components:{},componentsProps:{},disableAutoFocus:!1,disableEnforceFocus:!1,disableEscapeKeyDown:!1,disablePortal:!1,disableRestoreFocus:!1,disableScrollLock:!1,hideBackdrop:!1,keepMounted:!1,open:!1}),selfPropNames:["BackdropComponent","BackdropProps","children","classes","closeAfterTransition","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","open","transition"],utilityClass:bK,slotClasses:e=>({root:["root",!e.open&&e.exited&&"hidden"]})});function yK(e){return typeof e=="function"?e():e}const TK=new EK,CK=vK.component(function({allProps:t,otherProps:n,classes:r,props:i}){const s=hm(n),o=TK,a=()=>md(s.ref),[l,c]=z(!0),d=()=>{o.mount(s,{disableScrollLock:i.disableScrollLock}),s.ref.scrollTop=0},u=()=>{const b=yK(i.container)||a().body;o.add(s,b),s.ref&&d()},f=()=>o.isTopModal(s),g=()=>o.remove(s);$e(g),_e(b=>(b?(i.open&&u(),i.open&&f()?d():s.ref&&jc(s.ref,!0)):i.open?u():(!i.transition||!i.closeAfterTransition)&&g(),!1),!0);const m=b=>{var T,v;b.target===b.currentTarget&&((T=i.onBackdropClick)==null||T.call(i,b),(v=i.onClose)==null||v.call(i,b,"backdropClick"))},_=b=>{var T,v;typeof n.onKeyDown=="function"&&((T=n.onKeyDown)==null||T.call(n,b)),!(b.key!=="Escape"||!f())&&(i.disableEscapeKeyDown||(b.stopPropagation(),(v=i.onClose)==null||v.call(i,b,"escapeKeyDown")))},p=()=>i.components.Root||n.component,S=()=>i.componentsProps.root||{},h=()=>!i.keepMounted&&!i.open&&(!i.transition||l());return E(qE.Provider,{value:{get in(){return!!i.transition&&i.open},onEnter:()=>{i.transition&&c(!1)},onExited:()=>{i.transition&&(c(!0),i.closeAfterTransition&&g())}},get children(){return E(K,{get when(){return!h()},get children(){return E(_K,{get container(){return i.container},get disablePortal(){return i.disablePortal},get children(){return E(ud,Re(n,{get component(){return p()},role:"presentation"},S,()=>!Sm(p())&&{ownerState:t},{onKeyDown:_,get class(){return gn(r.root,S().class,n.class)},ref:s,get children(){return[E(K,{get when(){return Me(()=>!i.hideBackdrop)()&&!!i.BackdropComponent},get children(){return E(ud,Re({get component(){return i.BackdropComponent},get open(){return i.open},onClick:m},()=>i.BackdropProps??{}))}}),Me(()=>i.children)]}}))}})}})}})}),bT=Yn()({name:"MuiModal",selfPropNames:["BackdropComponent","BackdropProps"]}),IK=Vn("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>({position:"fixed",zIndex:e.zIndex.modal,right:0,bottom:0,top:0,left:0,...!t.open&&t.exited&&{visibility:"hidden"}})),wK=Vn(mK,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),RK=bT.defineComponent(function(t){const n=bT.useThemeProps({props:t}),[,r]=bt(n,["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"]),i=Re({BackdropComponent:wK,closeAfterTransition:!1,components:{},componentsProps:{},disableAutoFocus:!1,disableEnforceFocus:!1,disableEscapeKeyDown:!1,disablePortal:!1,disableRestoreFocus:!1,disableScrollLock:!1,hideBackdrop:!1,keepMounted:!1},n),[s]=z(!0),o={get closeAfterTransition(){return i.closeAfterTransition},get disableAutoFocus(){return i.disableAutoFocus},get disableEnforceFocus(){return i.disableEnforceFocus},get disableEscapeKeyDown(){return i.disableEscapeKeyDown},get disablePortal(){return i.disablePortal},get disableRestoreFocus(){return i.disableRestoreFocus},get disableScrollLock(){return i.disableScrollLock},get hideBackdrop(){return i.hideBackdrop},get keepMounted(){return i.keepMounted}},a=Re(n,o,{get exited(){return s()}});return E(CK,Re({get components(){return Re({Root:IK},()=>i.components)},componentsProps:{get root(){return Re(()=>i.componentsProps.root||{},()=>(!i.components.Root||!Sm(i.components.Root))&&{get ownerState(){var l;return((l=i.componentsProps.root)==null?void 0:l.ownerState)||{}}}||{})}},get BackdropComponent(){return i.BackdropComponent}},r,{get classes(){return a.classes}},o,{get children(){return n.children}}))}),OK=Yn()({name:"MuiSlide",selfPropNames:["appear","children","container","direction","easing","in","timeout"],propDefaults:({set:e})=>{const t=$i();return e({appear:!0,direction:"down",get easing(){return{enter:t.transitions.easing.easeOut,exit:t.transitions.easing.sharp}},get timeout(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}}})}});function AK(e,t,n){const r=t.getBoundingClientRect(),i=n&&n.getBoundingClientRect(),s=qd(t),o=s.getComputedStyle(t),a=o.getPropertyValue("-webkit-transform")||o.getPropertyValue("transform");let l=0,c=0;if(a&&a!=="none"&&typeof a=="string"){const d=a.split("(")[1].split(")")[0].split(",");l=parseInt(d[4],10),c=parseInt(d[5],10)}return e==="left"?i?`translateX(${i.right+l-r.left}px)`:`translateX(${s.innerWidth+l-r.left}px)`:e==="right"?i?`translateX(-${r.right-i.left-l}px)`:`translateX(-${r.left+r.width-l}px)`:e==="up"?i?`translateY(${i.bottom+c-r.top}px)`:`translateY(${s.innerHeight+c-r.top}px)`:i?`translateY(-${r.top-i.top+r.height-c}px)`:`translateY(-${r.top+r.height-c}px)`}function NK(e){return typeof e=="function"?e():e}function Hu(e,t,n){const r=NK(n),i=AK(e,t,r);i&&(t.style.webkitTransform=i,t.style.transform=i)}const xK=OK.component(function({props:t,otherProps:n}){const r=$i(),i=Fl(()=>t.children),s=sn(qE);let o=[];return _e(a=>{if(a&&(o=o.filter(d=>d!==a),a()),t.in||Hu(t.direction,i(),t.container),t.in||t.direction==="down"||t.direction==="right")return;const l=q1(()=>{Hu(t.direction,i(),t.container)}),c=qd(i());return c.addEventListener("resize",l),()=>{l.clear(),c.removeEventListener("resize",l)}}),$e(()=>{for(const a of o)a()}),E(sx,Re({get in(){return t.in},get appear(){return t.appear},get timeout(){return t.timeout}},n,{onEnter:()=>{var l,c;const a=i();Hu(t.direction,a,t.container),rx(a),(l=n.onEnter)==null||l.call(n),(c=s==null?void 0:s.onEnter)==null||c.call(s)},onEntering:()=>{const a=i(),l=fg({timeout:t.timeout,style:{},easing:t.easing},{mode:"enter"});a.style.webkitTransition=r.transitions.create("-webkit-transform",{...l}),a.style.transition=r.transitions.create("transform",{...l}),a.style.webkitTransform="none",a.style.transform="none"},onExit:()=>{var c;const a=i(),l=fg({timeout:t.timeout,style:{},easing:t.easing},{mode:"exit"});a.style.webkitTransition=r.transitions.create("-webkit-transform",l),a.style.transition=r.transitions.create("transform",l),Hu(t.direction,a,t.container),(c=n.onExit)==null||c.call(n)},onExited:()=>{var l,c;const a=i();a.style.webkitTransition="",a.style.transition="",(l=n.onExited)==null||l.call(n),(c=s==null?void 0:s.onExited)==null||c.call(s)},children:a=>{const l=i();return a==="exited"&&!t.in?l.style.visibility="hidden":l.style.removeProperty("visibility"),l}}))});function DK(e){return Si("MuiDrawer",e)}Ei("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const kK=Yn()({name:"MuiDrawer",selfPropNames:["ModalProps","PaperProps","anchor","children","classes","elevation","onClose","open","transitionDuration","variant"],utilityClass:DK,slotClasses:e=>({root:["root"],docked:[(e.variant==="permanent"||e.variant==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${pn(e.anchor)}`,e.variant!=="temporary"&&`paperAnchorDocked${pn(e.anchor)}`]}),propDefaults:({set:e})=>{const t=$i();return e({component:"div",anchor:"left",elevation:16,hideBackdrop:!1,ModalProps:{},open:!1,PaperProps:{},get transitionDuration(){return{enter:t.transitions.duration.enteringScreen,exit:t.transitions.duration.leavingScreen}},variant:"temporary"})}}),LK=Vn(RK,{name:"MuiDrawer",slot:"Root"})(({theme:e})=>({zIndex:e.zIndex.drawer})),vT=Vn("div",{skipProps:T$,name:"MuiDrawer",slot:"Docked"})({flex:"0 0 auto"}),MK=Vn(ex,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${pn(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${pn(n.anchor)}`]]}})(({theme:e,ownerState:t})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:e.zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,...t.anchor==="left"&&{left:0},...t.anchor==="top"&&{top:0,left:0,right:0,height:"auto",maxHeight:"100%"},...t.anchor==="right"&&{right:0},...t.anchor==="bottom"&&{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"},...t.anchor==="left"&&t.variant!=="temporary"&&{borderRight:`1px solid ${e.palette.divider}`},...t.anchor==="top"&&t.variant!=="temporary"&&{borderBottom:`1px solid ${e.palette.divider}`},...t.anchor==="right"&&t.variant!=="temporary"&&{borderLeft:`1px solid ${e.palette.divider}`},...t.anchor==="bottom"&&t.variant!=="temporary"&&{borderTop:`1px solid ${e.palette.divider}`}})),ax={left:"right",right:"left",top:"down",bottom:"up"};function PK(e){return["left","right"].indexOf(e)!==-1}function $K(e,t){return e.direction==="rtl"&&PK(t)?ax[t]:t}const yT=kK.component(function({allProps:t,props:n,otherProps:r,classes:i}){const[s,o]=z(!1),a=hm(r),l=$i(),c=Fl(()=>n.children);rn(()=>o(!0));function d(){return E(MK,Re({get elevation(){return Me(()=>n.variant==="temporary")()?n.elevation:0},square:!0},()=>n.PaperProps,{get class(){return gn(i.paper,n.PaperProps.class)},ownerState:t,get children(){return c()}}))}function u(){const f=$K(l,n.anchor);return E(xK,Re({get in(){return n.open},get direction(){return ax[f]},get timeout(){return n.transitionDuration},get appear(){return s()}},()=>n.SlideProps??{},{get children(){return E(d,{})}}))}return E(Gd,{get children(){return[E(cr,{get when(){return n.variant==="permanent"},get children(){return E(vT,Re(r,{get class(){return gn(i.root,i.docked,r.class)},ownerState:t,ref:a,get children(){return E(d,{})}}))}}),E(cr,{get when(){return n.variant==="persistent"},get children(){return E(vT,Re(r,{get class(){return gn(i.root,i.docked,r.class)},ownerState:t,ref:a,get children(){return E(u,{})}}))}}),Me(()=>E(cr,{get when(){return n.variant==="temporary"},get children(){return E(LK,Re({get BackdropProps(){return{...r.BackdropProps??{},...n.ModalProps.BackdropProps??{},transitionDuration:n.transitionDuration}},get class(){return gn(i.root,i.modal,r.class)},get open(){return n.open},ownerState:t,get onClose(){return n.onClose},get hideBackdrop(){return r.hideBackdrop},ref:a},r??{},()=>n.ModalProps??{},{transition:!0,get children(){return E(u,{})}}))}}))]}})});var FK=F("<span>");const BK=Yn()({name:"MuiRipple",selfPropNames:["class","classes","pulsate","rippleX","rippleY","rippleSize","in","onExited","timeout"]}),UK=BK.component(function({props:t,otherProps:n}){const[r,i]=z(!1),s=()=>gn(t.class,t.classes.ripple,t.classes.rippleVisible,t.classes.ripplePulsate&&{[t.classes.ripplePulsate]:t.pulsate}),o=()=>({width:`${t.rippleSize}px`,height:`${t.rippleSize}px`,top:`${-(t.rippleSize/2)+t.rippleY}px`,left:`${-(t.rippleSize/2)+t.rippleX}px`}),a=()=>gn(t.classes.child,t.classes.childLeaving&&{[t.classes.childLeaving]:r()},t.classes.childPulsate&&{[t.classes.childPulsate]:t.pulsate});_e(()=>{!t.in&&!r()&&i(!0)});let l;return _e(()=>{!t.in&&t.onExited&&(clearTimeout(l),l=window.setTimeout(t.onExited,t.timeout))}),$e(()=>clearTimeout(l)),E(xc,{as:"span",get class(){return s()},get style(){return o()},get sx(){return n.sx},get children(){var c=FK();return te(()=>it(c,a())),c}})}),oi=Ei("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),GK=Yn()({name:"MuiTouchRipple",selfPropNames:["center","classes","ref"]}),Sh=550,VK=80,HK=Vn("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),YK=Vn(UK,{name:"MuiTouchRipple",slot:"Ripple"})(({theme:e})=>({position:"absolute","@keyframes animation-enter-$id":{0:{transform:"scale(0)",opacity:.1},100:{transform:"scale(1)",opacity:.3}},"@keyframes animation-exit-$id":{0:{opacity:1},100:{opacity:0}},"@keyframes animation-pulsate-$id":{0:{transform:"scale(1)"},50:{transform:"scale(0.92)"},100:{transform:"scale(1)"}},[`&.${oi.rippleVisible}`]:{opacity:"0.3",transform:"scale(1)",animationName:"animation-enter-$id",animationDuration:`${Sh}ms`,animationTimingFunction:e.transitions.easing.easeInOut},[`&.${oi.ripplePulsate}`]:{animationDuration:`${e.transitions.duration.shorter}ms`},[`& .${oi.child}`]:{opacity:1,display:"block",width:"100%",height:"100%",borderRadius:"50%",backgroundColor:"currentColor"},[`& .${oi.childLeaving}`]:{opacity:0,animationName:"animation-exit-$id",animationDuration:`${Sh}ms`,animationTimingFunction:`${e.transitions.easing.easeInOut}`},[`& .${oi.childPulsate}`]:{position:"absolute",left:"0px",top:0,animationName:"animation-pulsate-$id",animationDuration:"2500ms",animationTimingFunction:`${e.transitions.easing.easeInOut}`,animationIterationCount:"infinite",animationDelay:"200ms"}})),zK=GK.defineComponent(function(t){const n=Re({classes:{}},t),[,r]=bt(n,["center","classes","ref"]);let i=0;const[s,o]=z([]),a=Ww({});let l,c=!1,d,u;const f=hm();$e(()=>{d&&clearTimeout(d)}),_e(()=>{s(),l&&(l(),l=void 0)});const g=h=>{const b=i++;a[b]=!0,o(T=>[...T,{id:b,params:h}]),l=h.cb},m=(h,b={pulsate:!1,center:n.center},T)=>{if(b=Re(b,{center:b.center||b.pulsate}),h.type==="mousedown"&&c){c=!1;return}h.type==="touchstart"&&(c=!0);const v=f.ref?f.ref.getBoundingClientRect():{width:0,height:0,left:0,top:0};let C,w,I;if(b.center||h.clientX===0&&h.clientY===0||!h.clientX&&!h.touches)C=Math.round(v.width/2),w=Math.round(v.height/2);else{const{clientX:O,clientY:U}=h.touches?h.touches[0]:h;C=Math.round(O-v.left),w=Math.round(U-v.top)}if(b.center)I=Math.sqrt((2*v.width**2+v.height**2)/3),I%2===0&&(I+=1);else{const O=Math.max(Math.abs((f.ref?f.ref.clientWidth:0)-C),C)*2+2,U=Math.max(Math.abs((f.ref?f.ref.clientHeight:0)-w),w)*2+2;I=Math.sqrt(O**2+U**2)}h.touches?u||(u=()=>{g({pulsate:b.pulsate,rippleX:C,rippleY:w,rippleSize:I,cb:T})},d=setTimeout(()=>{u&&(u(),u=void 0)},VK)):g({pulsate:b.pulsate,rippleX:C,rippleY:w,rippleSize:I,cb:T})},_=()=>m({},{pulsate:!0}),p=(h,b)=>{if(clearTimeout(d),h.type==="touchend"&&u){u(),u=void 0,d=setTimeout(()=>{p(h,b)});return}for(const T in a)a[T]=!1;u=void 0,l=b},S={pulsate:_,start:m,stop:p};return typeof n.ref=="function"&&n.ref(S),E(HK,Re({get class(){return gn(n.classes.root,oi.root,r.class)},ref:f},r,{get children(){return E(ht,{get each(){return s()},children:h=>E(YK,{get in(){return a[h.id]},onExited:()=>{o(b=>b.filter(T=>T.id!==h.id)),delete a[h.id]},get classes(){return{ripple:gn(n.classes.ripple,oi.ripple),rippleVisible:gn(n.classes.rippleVisible,oi.rippleVisible),ripplePulsate:gn(n.classes.ripplePulsate,oi.ripplePulsate),child:gn(n.classes.child,oi.child),childLeaving:gn(n.classes.childLeaving,oi.childLeaving),childPulsate:gn(n.classes.childPulsate,oi.childPulsate)}},timeout:Sh,get pulsate(){return h.params.pulsate},get rippleX(){return h.params.rippleX},get rippleY(){return h.params.rippleY},get rippleSize(){return h.params.rippleSize}})})}}))});function WK(e){return Si("MuiButtonBase",e)}const qK=Ei("MuiButtonBase",["root","disabled","focusVisible"]),k_=Yn()({name:"MuiButtonBase",selfPropNames:["LinkComponent","TouchRippleProps","action","centerRipple","children","classes","disableRipple","disableRipple","disableTouchRipple","disabled","focusRipple","focusVisibleClassName","onFocusVisible","tabIndex","touchRippleRef"],autoCallUseClasses:!1,utilityClass:WK,slotClasses:e=>({root:["root",e.disabled&&"disabled",e.focusVisible&&"focusVisible"]})}),KK=Vn("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${qK.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),lx=k_.defineComponent(function(t){var x,N;const n=$i(),r=Re({component:"button",LinkComponent:"a",tabIndex:0},(N=(x=n.components)==null?void 0:x[k_.name])==null?void 0:N.defaultProps,t),i=gg(t),s=gg(()=>r.touchRippleRef),o=t$();let a=!1;const[l,c]=z(!1),[d,u]=z(!1),[,f]=bt(r,["LinkComponent","TouchRippleProps","action","centerRipple","children","classes","disableRipple","disableRipple","disableTouchRipple","disabled","focusRipple","focusVisibleClassName","onFocusVisible","tabIndex","touchRippleRef"]),g={get classes(){return r.classes},get disabled(){return r.disabled||!1},get focusVisible(){return l()}},m=k_.useClasses(g);rn(()=>{u(!0)}),_e(()=>{r.disabled&&l()&&c(!1)}),_e(()=>{l()&&r.focusRipple&&!r.disableRipple&&s.ref.pulsate()});function _(D,$,A=r.disableTouchRipple){return W=>(typeof $=="function"&&$(W),!A&&s.ref&&s.ref[D](W),!0)}const p=_("start",r.onMouseDown),S=_("stop",r.onContextMenu),h=_("stop",r.onDragLeave),b=_("stop",r.onMouseUp),T=_("stop",D=>{l()&&D.preventDefault(),typeof r.onMouseLeave=="function"&&r.onMouseLeave(D)}),v=_("start",r.onTouchStart),C=_("stop",r.onTouchEnd),w=_("stop",r.onTouchMove),I=_("stop",D=>{o.onBlur(D),o.isFocusVisibleRef.current===!1&&c(!1),typeof r.onFocusOut=="function"&&r.onFocusOut(D)},!1),O=D=>{i.ref||(i.ref=D.currentTarget),o.onFocus(D),o.isFocusVisibleRef.current===!0&&(c(!0),r.onFocusVisible&&r.onFocusVisible(D)),typeof r.onFocusIn=="function"&&r.onFocusIn(D)},U=()=>r.component&&r.component!=="button"&&!(i.ref.tagName==="A"&&i.ref.hasAttribute("href")),B=D=>{r.focusRipple&&!a&&l()&&s.ref&&D.key===" "&&(a=!0,s.ref.stop(D,()=>{s.ref.start(D)})),D.target===D.currentTarget&&U()&&D.key===" "&&D.preventDefault(),typeof r.onKeyDown=="function"&&r.onKeyDown(D),D.target===D.currentTarget&&U()&&D.key==="Enter"&&!r.disabled&&(D.preventDefault(),typeof r.onClick=="function"&&r.onClick(D))},k=D=>{r.focusRipple&&D.key===" "&&s.ref&&l()&&!D.defaultPrevented&&(a=!1,s.ref.stop(D,()=>{s.ref.pulsate(D)})),typeof r.onKeyUp=="function"&&r.onKeyUp(D),typeof r.onClick=="function"&&D.target===D.currentTarget&&U()&&D.key===" "&&!D.defaultPrevented&&r.onClick(D)},L=P(()=>{let D=r.component;return D==="button"&&(r.href||r.to)&&(D=r.LinkComponent),D}),M=()=>L()==="button",G=()=>d()&&!r.disableRipple&&!r.disabled,R=r.TouchRippleProps;return E(KK,Re({get type(){return Me(()=>!!M())()?Me(()=>r.type===void 0)()?"button":r.type:void 0},get disabled(){return Me(()=>!!M())()?r.disabled:void 0},get role(){return!M()&&r.href&&!r.to?"button":void 0},get"aria-disabled"(){return!M()&&r.disabled?!0:void 0}},f,{get class(){return gn(m.root,r.class)},ownerState:g,onFocusOut:I,get onClick(){return r.onClick},onContextMenu:S,onFocusIn:O,onKeyDown:B,onKeyUp:k,onMouseDown:p,onMouseLeave:T,onMouseUp:b,onDragLeave:h,onTouchEnd:C,onTouchMove:w,onTouchStart:v,ref:i,get tabIndex(){return Me(()=>!!r.disabled)()?-1:r.tabIndex},get as(){return L()},get children(){return[Me(()=>r.children),E(K,{get when(){return G()},get children(){return E(zK,Re({ref:D=>{s(D)},get center(){return r.centerRipple}},R))}})]}}))});function QK(e){return Si("MuiIconButton",e)}const jK=Ei("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),XK=Yn()({name:"MuiIconButton",selfPropNames:["children","classes","color","disableFocusRipple","disabled","edge","size"],propDefaults:({set:e})=>e({edge:!1,color:"default",disabled:!1,disableFocusRipple:!1,size:"medium"}),utilityClass:QK,slotClasses:e=>({root:["root",e.disabled&&"disabled",e.color!=="default"&&`color${pn(e.color)}`,e.edge&&`edge${pn(e.edge)}`,`size${pn(e.size)}`]})}),ZK=Vn(lx,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${pn(n.color)}`],n.edge&&t[`edge${pn(n.edge)}`],t[`size${pn(n.size)}`]]}})(({theme:e,ownerState:t})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:e.palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),...!t.disableRipple&&{"&:hover":{backgroundColor:_l(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},...t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},...t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}}),({theme:e,ownerState:t})=>({...t.color==="inherit"&&{color:"inherit"},...t.color!=="inherit"&&t.color!=="default"&&{color:e.palette[t.color].main,...!t.disableRipple&&{"&:hover":{backgroundColor:_l(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}},...t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},...t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},[`&.${jK.disabled}`]:{backgroundColor:"transparent",color:e.palette.action.disabled}})),di=XK.component(function({allProps:t,classes:n,otherProps:r,props:i}){return E(ZK,Re({get class(){return gn(n.root,r.class)},centerRipple:!0,get focusRipple(){return!i.disableFocusRipple},get disabled(){return i.disabled},ownerState:t},r,{get children(){return i.children}}))});function JK(e){return Si("MuiToolbar",e)}Ei("MuiToolbar",["root","gutters","regular","dense"]);const e5=Yn()({name:"MuiToolbar",selfPropNames:["children","classes","disableGutters","variant"],propDefaults:({set:e})=>e({component:"div",disableGutters:!1,variant:"regular"}),utilityClass:JK,slotClasses:e=>({root:["root",!e.disableGutters&&"gutters",e.variant]})}),t5=Vn("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(({theme:e,ownerState:t})=>({position:"relative",display:"flex",alignItems:"center",...!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},...t.variant==="dense"&&{minHeight:48}}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),n5=e5.component(function({allProps:t,props:n,classes:r,otherProps:i}){return E(t5,Re(i,{get as(){return i.component},get class(){return gn(r.root,i.class)},ownerState:t,get children(){return n.children}}))}),[r5,cx]=z(new Map);function dx(e,t){cx(n=>{const r=new Map(n);return r.set(e,t),r})}function ux(e){e&&dx(e,!0)}function fx(e){if(!e){cx(new Map);return}dx(e,!1)}function i5(e){return r5().get(e)??!1}const TT=xt("session"),L_=new Set;function Eh(e){return e?"project"in e&&"mcpStatus"in e&&"lspStatus"in e&&"plugins"in e:!1}async function s5(e,t){const n=e.client;if(!n){TT.warn("[metadata] Skipping fetch; client missing",{instanceId:e.id});return}const r=vf(e.id)??e.metadata;if(!(!(t!=null&&t.force)&&Eh(r))&&!L_.has(e.id)){L_.add(e.id);try{const[i,s,o,a]=await Promise.allSettled([n.project.current(),n.mcp.status(),xN(e.id),n.config.get()]),l=i.status==="fulfilled"?i.value.data:void 0,c=s.status==="fulfilled"?s.value.data:void 0,d=o.status==="fulfilled"?o.value??[]:void 0,u=a.status==="fulfilled"?a.value.data:void 0,f=Array.isArray(u==null?void 0:u.plugin)?(u==null?void 0:u.plugin).map(m=>m.startsWith("file://")?m.slice(7):m):void 0,g={...r??{}};i.status==="fulfilled"&&(g.project=l??null),s.status==="fulfilled"&&(g.mcpStatus=c??{}),o.status==="fulfilled"&&(g.lspStatus=d??[]),a.status==="fulfilled"&&(g.plugins=f??[]),!(g!=null&&g.version)&&e.binaryVersion&&(g.version=e.binaryVersion),mN(e.id,g)}catch(i){TT.error("Failed to load instance metadata",i)}finally{L_.delete(e.id)}}}const gx=cn(null),o5=e=>{const t=P(()=>yt().get(e.instance.id)??e.instance),[n,r]=z(!0),i=async(o=!1)=>{const a=t();if(!a){r(!1);return}const l=vf(a.id)??a.metadata;if(!o&&Eh(l)){r(!1);return}r(!0),await s5(a,{force:o}),r(!1)};_e(()=>{const o=t();if(!o){r(!1);return}const a=vf(o.id)??o.metadata;if(!a||!Eh(a)){i();return}r(!1)});const s={isLoading:n,instance:t,metadata:()=>vf(t().id)??t().metadata,refreshMetadata:()=>i(!0)};return E(gx.Provider,{value:s,get children(){return e.children}})};function mx(){return sn(gx)}const a5=cn();function l5(){return sn(a5)}const c5=cn();function d5(){return sn(c5)}function u5(e){const t=e.controlled()!==void 0,[n,r]=z(e.default()),i=P(()=>t?e.controlled():n());return t&&_e(()=>{r(()=>i())}),[i,o=>{t||r(o)}]}function f5(e){return Si("PrivateSwitchBase",e)}Ei("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const CT=Yn()({name:"MuiSwitchBase",selfPropNames:["autoFocus","checked","checkedIcon","classes","defaultChecked","disableFocusRipple","disableRipple","disabled","edge","icon","id","inputProps","inputRef","name","onChange","readOnly","required","tabIndex","type","value"],autoCallUseClasses:!1,propDefaults:({set:e})=>e({disableFocusRipple:!1,edge:!1}),utilityClass:f5,slotClasses:e=>({root:["root",!!e.checked&&"checked",!!e.disabled&&"disabled",e.edge&&`edge${pn(e.edge)}`],input:["input"]})}),g5=Vn(lx)(({ownerState:e})=>({padding:9,borderRadius:"50%",...e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},...e.edge==="end"&&{marginRight:e.size==="small"?-3:-12}})),m5=Vn("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),_5=CT.component(function({allProps:t,otherProps:n,props:r}){const i=d5(),[s,o]=u5({controlled:()=>r.checked??(i==null?void 0:i.checked),default:()=>!!r.defaultChecked,name:"SwitchBase",state:"checked"}),a=l5(),l=()=>typeof(i==null?void 0:i.disabled)<"u"?i.disabled:a&&typeof r.disabled>"u"?a.disabled:r.disabled;_e(()=>{i&&i.setDisabled(!!l())});const c=()=>r.type==="checkbox"||r.type==="radio",d=Re(t,{get checked(){return s()},get disabled(){return l()}}),u=CT.useClasses(d),f=gg(()=>r.inputRef),g=()=>r.value??(i==null?void 0:i.value);return _e(()=>{typeof r.defaultChecked=="boolean"&&(f.ref.defaultChecked=r.defaultChecked)}),_e(()=>{const m=s();typeof m=="boolean"&&(f.ref.checked=m)}),E(g5,Re(n,{component:"span",get class(){return gn(u.root,n.class)},centerRipple:!0,get focusRipple(){return!r.disableFocusRipple},get disabled(){return l()},tabIndex:null,role:void 0,onFocus:m=>{var _;typeof n.onFocus=="function"&&n.onFocus(m),(_=a==null?void 0:a.onFocus)==null||_.call(a)},onBlur:m=>{var _;typeof n.onBlur=="function"&&n.onBlur(m),(_=a==null?void 0:a.onBlur)==null||_.call(a)},ownerState:d,get children(){return[E(m5,Re({as:"input",get autofocus(){return r.autoFocus},get class(){return u.input},get disabled(){return l()},get id(){return Me(()=>!!c())()?r.id:void 0},get name(){return r.name??(i==null?void 0:i.name)},onClick:m=>{var p;if(m.defaultPrevented)return;const _=m.currentTarget.checked;m.currentTarget.checked=!_,o(_),typeof r.onChange=="function"?r.onChange(m,_):(p=i==null?void 0:i.onChange)==null||p.call(i,m,_),typeof n.onClick=="function"&&n.onClick(m)},get readOnly(){return r.readOnly},ref:m=>{var _;f(m),r.inputRef||(_=i==null?void 0:i.inputRef)==null||_.call(i,m)},get required(){return r.required},ownerState:d,get tabIndex(){return r.tabIndex},get type(){return r.type},get value(){return g()}},()=>r.inputProps||{})),Me(()=>Me(()=>!!s())()?r.checkedIcon:r.icon),Me(()=>n.children)]}}))});function p5(e){return Si("MuiSwitch",e)}const br=Ei("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),h5=Yn()({name:"MuiSwitch",selfPropNames:["checkedIcon","classes","color","disabled","icon","size","value"],propDefaults:({set:e})=>e({color:"primary",size:"medium"}),utilityClass:p5,slotClasses:e=>({root:["root",!!e.edge&&`edge${pn(e.edge)}`,`size${pn(e.size)}`],switchBase:["switchBase",`color${pn(e.color)}`,!!e.checked&&"checked",!!e.disabled&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]})}),S5=Vn("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${pn(n.edge)}`],t[`size${pn(n.size)}`]]}})(({ownerState:e})=>({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},...e.edge==="start"&&{marginLeft:-8},...e.edge==="end"&&{marginRight:-8},...e.size==="small"&&{width:40,height:24,padding:7,[`& .${br.thumb}`]:{width:16,height:16},[`& .${br.switchBase}`]:{padding:4,[`&.${br.checked}`]:{transform:"translateX(16px)"}}}})),E5=Vn(_5,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${br.input}`]:t.input},n.color!=="default"&&t[`color${pn(n.color)}`]]}})(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300],transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${br.checked}`]:{transform:"translateX(20px)"},[`&.${br.disabled}`]:{color:e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]},[`&.${br.checked} + .${br.track}`]:{opacity:.5},[`&.${br.disabled} + .${br.track}`]:{opacity:e.palette.mode==="light"?.12:.2},[`& .${br.input}`]:{left:"-100%",width:"300%"}}),({theme:e,ownerState:t})=>({"&:hover":{backgroundColor:_l(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},...t.color!=="default"&&{[`&.${br.checked}`]:{color:e.palette[t.color].main,"&:hover":{backgroundColor:_l(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${br.disabled}`]:{color:e.palette.mode==="light"?Zw(e.palette[t.color].main,.62):Xw(e.palette[t.color].main,.55)}},[`&.${br.checked} + .${br.track}`]:{backgroundColor:e.palette[t.color].main}}})),b5=Vn("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.palette.mode==="light"?e.palette.common.black:e.palette.common.white,opacity:e.palette.mode==="light"?.38:.3})),v5=Vn("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e})=>({boxShadow:e.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"})),y5=h5.component(function({allProps:t,props:n,classes:r,otherProps:i}){const s=()=>E(v5,{get class(){return r.thumb},ownerState:t}),o=Re(r,{get root(){return r.switchBase}}),[,a]=bt(i,["sx"]),l=Re(a,{get checkedIcon(){return n.checkedIcon||s},get disabled(){return n.disabled},get icon(){return n.icon||s},get value(){return n.value}});return E(S5,{get class(){return gn(r.root,i.class)},get sx(){return i.sx},ownerState:t,get children(){return[E(E5,Re({type:"checkbox",ownerState:t},l,{classes:o})),E(b5,{get class(){return r.track},ownerState:t})]}})});var T5=F('<p class="text-[11px] text-secondary italic"role=status>'),M_=F('<div class="text-xs font-medium text-muted uppercase tracking-wide">'),P_=F("<div class=space-y-1.5>"),$_=F("<section class=space-y-1.5>"),C5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="flex items-center justify-between gap-2"><div class="flex flex-col flex-1 min-w-0"><span class="text-xs text-primary font-medium truncate"></span><span class="text-[11px] text-secondary truncate"></span></div><div class="flex items-center gap-1.5 flex-shrink-0 text-xs text-secondary"><div></div><span>'),I5=F('<svg class="animate-spin h-3 w-3"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),w5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="flex items-center justify-between gap-2"><span class="text-xs text-primary font-medium truncate"></span><div class="flex items-center gap-3 flex-shrink-0"><div class="flex items-center gap-1.5 text-xs text-secondary"><div></div></div><div class="flex items-center gap-1.5">'),R5=F('<div class="text-[11px] mt-1 break-words"style=color:var(--status-error)>'),O5=F('<div class="px-2 py-1.5 rounded border bg-surface-secondary border-base"><div class="text-xs text-primary font-medium break-words whitespace-normal">'),A5=F("<div>");const N5=xt("session");function x5(e){if(!e||typeof e!="object")return[];const t=[];for(const[n,r]of Object.entries(e)){if(!r||typeof r!="object")continue;const i=r.status;if(!i)continue;let s;i==="connected"?s="running":i==="failed"?s="error":s="stopped",t.push({name:n,status:s,error:typeof r.error=="string"?r.error:void 0})}return t}const If=e=>{const{t}=wt(),n=mx(),r=(n==null?void 0:n.instance)??(()=>{if(e.initialInstance)return e.initialInstance;throw new Error("InstanceServiceStatus requires InstanceMetadataProvider or initialInstance prop")}),i=(n==null?void 0:n.isLoading)??(()=>!1),s=(n==null?void 0:n.refreshMetadata)??(async()=>Promise.resolve()),o=P(()=>e.sections??["lsp","mcp","plugins"]),a=P(()=>o().includes("lsp")),l=P(()=>o().includes("mcp")),c=P(()=>o().includes("plugins")),d=()=>e.showSectionHeadings!==!1,u=(n==null?void 0:n.metadata)??(()=>r().metadata),f=P(()=>u()),g=()=>{var M;return((M=f())==null?void 0:M.lspStatus)!==void 0},m=()=>{var M;return((M=f())==null?void 0:M.mcpStatus)!==void 0},_=()=>{var M;return((M=f())==null?void 0:M.plugins)!==void 0},p=P(()=>{var M;return((M=f())==null?void 0:M.lspStatus)??[]}),S=P(()=>{var M;return x5(((M=f())==null?void 0:M.mcpStatus)??void 0)}),h=P(()=>{var M;return((M=f())==null?void 0:M.plugins)??[]}),b=()=>i()||!g(),T=()=>i()||!m(),v=()=>i()||!_(),[C,w]=z({}),I=(M,G)=>{w(R=>{const x={...R};return G?x[M]=G:delete x[M],x})},O=async(M,G)=>{const R=r().client;if(!(R!=null&&R.mcp))return;const x=G?"connect":"disconnect";I(M,x);try{G?await R.mcp.connect({name:M}):await R.mcp.disconnect({name:M}),await s()}catch(N){N5.error("Failed to toggle MCP server",{serverName:M,action:x,error:N})}finally{I(M)}},U=M=>(()=>{var G=T5();return y(G,M),G})(),B=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.lsp")),G}}),null),y(M,E(K,{get when(){return Me(()=>!b())()&&p().length>0},get fallback(){return U(b()?t("instanceServiceStatus.lsp.loading"):t("instanceServiceStatus.lsp.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return p()},children:R=>(()=>{var x=C5(),N=x.firstChild,D=N.firstChild,$=D.firstChild,A=$.nextSibling,W=D.nextSibling,ae=W.firstChild,ne=ae.nextSibling;return y($,()=>R.name??R.id),y(A,()=>R.root),y(ne,(()=>{var ge=Me(()=>R.status==="connected");return()=>ge()?t("instanceServiceStatus.lsp.status.connected"):t("instanceServiceStatus.lsp.status.error")})()),te(ge=>{var ue=R.root,me=`status-dot ${R.status==="connected"?"ready animate-pulse":"error"}`;return ue!==ge.e&&Q(A,"title",ge.e=ue),me!==ge.t&&it(ae,ge.t=me),ge},{e:void 0,t:void 0}),x})()})),G}}),null),M})(),k=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.mcp")),G}}),null),y(M,E(K,{get when(){return Me(()=>!T())()&&S().length>0},get fallback(){return U(T()?t("instanceServiceStatus.mcp.loading"):t("instanceServiceStatus.mcp.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return S()},children:R=>{const x=()=>C()[R.name],N=()=>!!x(),D=()=>R.status==="running",$=()=>N()||!r().client,A=()=>N()?"status-dot animate-pulse":R.status==="running"?"status-dot ready animate-pulse":R.status==="error"?"status-dot error":"status-dot stopped",W=()=>N()?{background:"var(--status-warning)"}:void 0;return(()=>{var ae=w5(),ne=ae.firstChild,ge=ne.firstChild,ue=ge.nextSibling,me=ue.firstChild,ce=me.firstChild,se=me.nextSibling;return y(ge,()=>R.name),y(me,E(K,{get when(){return N()},get children(){return I5()}}),ce),y(se,E(y5,{get checked(){return D()},get disabled(){return $()},color:"success",size:"small",get inputProps(){return{"aria-label":t("instanceServiceStatus.mcp.toggleAriaLabel",{name:R.name})}},onChange:(Z,pe)=>{$()||O(R.name,!!pe)}})),y(ae,E(K,{get when(){return R.error},children:Z=>(()=>{var pe=R5();return y(pe,Z),pe})()}),null),te(Z=>{var pe=A(),Y=W();return pe!==Z.e&&it(ce,Z.e=pe),Z.t=ai(ce,Y,Z.t),Z},{e:void 0,t:void 0}),ae})()}})),G}}),null),M})(),L=()=>(()=>{var M=$_();return y(M,E(K,{get when(){return d()},get children(){var G=M_();return y(G,()=>t("instanceServiceStatus.sections.plugins")),G}}),null),y(M,E(K,{get when(){return Me(()=>!v())()&&h().length>0},get fallback(){return U(v()?t("instanceServiceStatus.plugins.loading"):t("instanceServiceStatus.plugins.empty"))},get children(){var G=P_();return y(G,E(ht,{get each(){return h()},children:R=>(()=>{var x=O5(),N=x.firstChild;return y(N,R),x})()})),G}}),null),M})();return(()=>{var M=A5();return y(M,E(K,{get when(){return a()},get children(){return B()}}),null),y(M,E(K,{get when(){return l()},get children(){return k()}}),null),y(M,E(K,{get when(){return c()},get children(){return L()}}),null),te(()=>it(M,e.class)),M})()};var D5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs px-2 py-1.5 rounded border bg-surface-secondary border-base text-primary">v'),k5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs font-mono break-all px-2 py-1.5 rounded border bg-surface-secondary border-base text-primary">'),L5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1.5"></div><div class=space-y-1>'),M5=F('<div class="text-xs text-muted py-1"><div class="flex items-center gap-1.5"><svg class="animate-spin h-3 w-3 icon-muted"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),P5=F('<div class="pt-3 border-t border-base"><button type=button class="button-danger button-small w-full">'),$5=F('<div class=panel><div class=panel-header><h2 class=panel-title></h2></div><div class="panel-body space-y-3"><div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs text-primary font-mono break-all px-2 py-1.5 rounded border bg-surface-secondary border-base"></div></div><div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1.5"></div><div class="space-y-1 text-xs"><div class="flex justify-between items-center"><span class=text-secondary></span><span class="text-primary font-mono"></span></div><div class="flex justify-between items-center"><span class=text-secondary></span><span class="text-primary font-mono"></span></div><div class="flex justify-between items-center"><span class=text-secondary></span><span><div>'),F5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="text-xs font-mono px-2 py-1.5 rounded border truncate bg-surface-secondary border-base text-primary">'),B5=F('<div><div class="text-xs font-medium text-muted uppercase tracking-wide mb-1"></div><div class="flex items-center gap-2 text-xs text-primary"><svg class="w-3.5 h-3.5"fill=currentColor viewBox="0 0 24 24"style=color:var(--status-warning)><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg><span class=capitalize>'),U5=F('<div class="flex items-center gap-2 px-2 py-1.5 rounded border bg-surface-secondary border-base"><span class="text-xs font-mono font-medium flex-1 text-primary"></span><span class="text-xs font-mono flex-1 text-secondary">');const G5=xt("actions"),bh=e=>{const{t}=wt(),n=mx(),r=(n==null?void 0:n.isLoading)??(()=>!1),i=(n==null?void 0:n.instance)??(()=>e.instance),s=(n==null?void 0:n.metadata)??(()=>e.instance.metadata),[o,a]=z(!1),l=()=>i(),c=()=>s(),d=()=>{var _;return l().binaryVersion||((_=c())==null?void 0:_.version)},u=()=>l().environmentVariables,f=P(()=>{const _=u();return _?Object.entries(_):[]}),g=P(()=>{var _;return!!((_=l())!=null&&_.client)&&!o()}),m=async()=>{if(!(!g()||!await pl(t("infoView.dispose.confirm.message"),{title:t("infoView.dispose.confirm.title"),variant:"warning",confirmLabel:t("infoView.dispose.confirm.confirmLabel"),cancelLabel:t("infoView.dispose.confirm.cancelLabel")}))){a(!0);try{const p=await MW(l().id);tn(p?{message:t("infoView.dispose.toast.success"),variant:"success",duration:8e3}:{message:t("infoView.dispose.toast.error"),variant:"error"})}catch(p){G5.error("Failed to dispose instance",p),tn({message:t("infoView.dispose.toast.error"),variant:"error"})}finally{a(!1)}}};return(()=>{var _=$5(),p=_.firstChild,S=p.firstChild,h=p.nextSibling,b=h.firstChild,T=b.firstChild,v=T.nextSibling,C=b.nextSibling,w=C.firstChild,I=w.nextSibling,O=I.firstChild,U=O.firstChild,B=U.nextSibling,k=O.nextSibling,L=k.firstChild,M=L.nextSibling,G=k.nextSibling,R=G.firstChild,x=R.nextSibling,N=x.firstChild;return y(S,()=>t("instanceInfo.title")),y(T,()=>t("instanceInfo.labels.folder")),y(v,()=>l().folder),y(h,E(K,{get when(){var D;return Me(()=>!r())()&&((D=c())==null?void 0:D.project)},children:D=>[(()=>{var $=F5(),A=$.firstChild,W=A.nextSibling;return y(A,()=>t("instanceInfo.labels.project")),y(W,()=>D().id),$})(),E(K,{get when(){return D().vcs},get children(){var $=B5(),A=$.firstChild,W=A.nextSibling,ae=W.firstChild,ne=ae.nextSibling;return y(A,()=>t("instanceInfo.labels.versionControl")),y(ne,()=>D().vcs),$}})]}),C),y(h,E(K,{get when(){return d()},get children(){var D=D5(),$=D.firstChild,A=$.nextSibling;return A.firstChild,y($,()=>t("instanceInfo.labels.opencodeVersion")),y(A,d,null),D}}),C),y(h,E(K,{get when(){return l().binaryPath},get children(){var D=k5(),$=D.firstChild,A=$.nextSibling;return y($,()=>t("instanceInfo.labels.binaryPath")),y(A,()=>l().binaryPath),D}}),C),y(h,E(K,{get when(){return f().length>0},get children(){var D=L5(),$=D.firstChild,A=$.nextSibling;return y($,()=>t("instanceInfo.labels.environmentVariables",{count:f().length})),y(A,E(ht,{get each(){return f()},children:([W,ae])=>(()=>{var ne=U5(),ge=ne.firstChild,ue=ge.nextSibling;return Q(ge,"title",W),y(ge,W),Q(ue,"title",ae),y(ue,ae),ne})()})),D}}),C),y(h,E(If,{get initialInstance(){return e.instance},class:"space-y-3"}),C),y(h,E(K,{get when(){return r()},get children(){var D=M5(),$=D.firstChild;return $.firstChild,y($,()=>t("instanceInfo.loading"),null),D}}),C),y(w,()=>t("instanceInfo.server.title")),y(U,()=>t("instanceInfo.server.port")),y(B,()=>l().port),y(L,()=>t("instanceInfo.server.pid")),y(M,()=>l().pid),y(R,()=>t("instanceInfo.server.status")),y(x,()=>l().status,null),y(h,E(K,{get when(){return e.showDisposeButton},get children(){var D=P5(),$=D.firstChild;return $.$$click=m,y($,(()=>{var A=Me(()=>!!o());return()=>A()?t("infoView.dispose.actions.disposing"):t("infoView.dispose.actions.dispose")})()),te(()=>$.disabled=!g()),D}}),null),te(D=>{var $=`status-badge ${l().status}`,A=`status-dot ${l().status==="ready"?"ready":l().status==="starting"?"starting":l().status==="error"?"error":"stopped"} ${l().status==="ready"||l().status==="starting"?"animate-pulse":""}`;return $!==D.e&&it(x,D.e=$),A!==D.t&&it(N,D.t=A),D},{e:void 0,t:void 0}),_})()};At(["click"]);var V5=F('<form class="mt-4 space-y-4"><div class=space-y-2><label class="text-sm font-medium text-secondary"></label><input type=text class="w-full px-3 py-2 text-sm bg-surface-base border border-base rounded text-primary focus-ring-accent"></div><div class="flex justify-end gap-3"><button type=button class=button-tertiary></button><button type=submit class="button-primary flex items-center gap-2 disabled:opacity-60 disabled:cursor-not-allowed">'),H5=F('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">'),Y5=F('<svg class="animate-spin h-4 w-4"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),z5=F("<span>");const _x=e=>{const{t}=wt(),[n,r]=z(""),i=`session-rename-${Math.random().toString(36).slice(2)}`;let s;_e(()=>{e.open&&r(e.currentTitle??"")}),_e(()=>{e.open&&(typeof window>"u"||typeof window.requestAnimationFrame!="function"||window.requestAnimationFrame(()=>{s==null||s.focus(),s==null||s.select()}))});const o=()=>!!e.isSubmitting,a=()=>o()||!n().trim();async function l(d){d==null||d.preventDefault(),!a()&&await e.onRename(n().trim())}const c=()=>e.sessionLabel&&e.sessionLabel.trim()?t("sessionRenameDialog.description.withLabel",{label:e.sessionLabel}):t("sessionRenameDialog.description.default");return E(vt,{get open(){return e.open},onOpenChange:d=>{!d&&!o()&&e.onClose()},get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var d=H5();return y(d,E(vt.Content,{class:"modal-surface w-full max-w-sm p-6",tabIndex:-1,get children(){return[E(vt.Title,{class:"text-lg font-semibold text-primary",get children(){return t("sessionRenameDialog.title")}}),E(vt.Description,{class:"text-sm text-secondary mt-1",get children(){return c()}}),(()=>{var u=V5(),f=u.firstChild,g=f.firstChild,m=g.nextSibling,_=f.nextSibling,p=_.firstChild,S=p.nextSibling;return u.addEventListener("submit",l),Q(g,"for",i),y(g,()=>t("sessionRenameDialog.input.label")),m.$$input=h=>r(h.currentTarget.value),Ct(h=>{s=h},m),Q(m,"id",i),p.$$click=()=>{o()||e.onClose()},y(p,()=>t("sessionRenameDialog.actions.cancel")),y(S,E(K,{get when(){return!o()},get fallback(){return[Y5(),(()=>{var h=z5();return y(h,()=>t("sessionRenameDialog.actions.renaming")),h})()]},get children(){return t("sessionRenameDialog.actions.rename")}})),te(h=>{var b=t("sessionRenameDialog.input.placeholder"),T=o(),v=a();return b!==h.e&&Q(m,"placeholder",h.e=b),T!==h.t&&(p.disabled=h.t=T),v!==h.a&&(S.disabled=h.a=v),h},{e:void 0,t:void 0,a:void 0}),te(()=>m.value=n()),u})()]}})),d})()]}})}})};At(["input","click"]);var W5=F('<button type=button class="button-tertiary lg:hidden flex-shrink-0">'),q5=F('<div class="panel flex flex-col flex-1 min-h-0"><div class=panel-header><div class="flex flex-row flex-wrap items-center gap-2 justify-between"><div><h2 class=panel-title></h2><p class=panel-subtitle></p></div></div></div><div class="panel-list panel-list--fill flex-1 min-h-0 overflow-auto">'),K5=F('<div class="fixed inset-0 z-40 bg-black/60 backdrop-blur-sm lg:hidden"><div class="flex min-h-full items-start justify-center p-4 overflow-y-auto"><div class="w-full max-w-md space-y-3"><div class="flex justify-end"><button type=button class=button-tertiary></button></div><div class="max-h-[85vh] overflow-y-auto pr-1">'),Q5=F('<div class="flex-1 flex flex-col overflow-hidden bg-surface-secondary"><div class="flex-1 flex flex-col lg:flex-row gap-4 p-4 overflow-auto min-w-0"><div class="flex-1 flex flex-col gap-4 min-h-0 min-w-0"><div class="panel flex-shrink-0"><div class=panel-header><h2 class=panel-title></h2><p class=panel-subtitle></p></div><div class=panel-body><div class=space-y-3><button type=button class="button-primary w-full flex items-center justify-center text-sm disabled:cursor-not-allowed"><div class="flex items-center gap-2"><span></span></div></button></div></div></div></div><div class="hidden lg:block lg:w-80 flex-shrink-0"><div class="sticky top-0 max-h-full overflow-y-auto pr-1"></div></div></div><div class="panel-footer hidden sm:block keyboard-hints"><div class=panel-footer-hints><div class="flex items-center gap-1.5"><kbd class=kbd>↑</kbd><kbd class=kbd>↓</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>PgUp</kbd><kbd class=kbd>PgDn</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Home</kbd><kbd class=kbd>End</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Enter</kbd><span></span></div><div class="flex items-center gap-1.5"><kbd class=kbd>Del</kbd><span>'),j5=F('<div class="panel panel-empty-state flex-1 flex flex-col justify-center"><div class=panel-empty-state-icon></div><p class=panel-empty-state-title></p><p class=panel-empty-state-description>'),X5=F('<button type=button class="button-tertiary mt-4 lg:hidden">'),Z5=F('<div class="panel panel-empty-state flex-1 flex flex-col justify-center"><div class=panel-empty-state-icon><svg class="w-12 h-12 mx-auto"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg></div><p class=panel-empty-state-title></p><p class=panel-empty-state-description>'),J5=F('<div class="flex items-center gap-2 flex-shrink-0"><kbd class="kbd flex-shrink-0">↵</kbd><button type=button class="p-1.5 rounded transition-colors text-muted hover:text-primary focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent"></button><button type=button class="p-1.5 rounded transition-colors text-muted hover:text-red-500 dark:hover:text-red-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent">'),e4=F('<div class=panel-list-item><div class="flex items-center gap-2 w-full px-1"><button type=button class="panel-list-item-content group flex-1"><div class="flex items-center justify-between gap-3 w-full"><div class="flex-1 min-w-0"><div class="flex items-center gap-2"><span class="text-sm font-medium text-primary whitespace-normal break-words transition-colors"></span></div><div class="flex items-center gap-3 text-xs text-muted mt-0.5"><span></span><span>•</span><span>'),IT=F('<svg class="animate-spin h-4 w-4"fill=none viewBox="0 0 24 24"><circle class=opacity-25 cx=12 cy=12 r=10 stroke=currentColor stroke-width=4></circle><path class=opacity-75 fill=currentColor d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z">'),t4=F('<svg class="w-4 h-4"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 4v16m8-8H4">');const F_=xt("actions"),n4=e=>{const{t}=wt(),[n,r]=z(!1),[i,s]=z(0),[o,a]=z("sessions"),[l,c]=z(!1),[d,u]=z(typeof window<"u"?window.matchMedia("(min-width: 1024px)").matches:!1),[f,g]=z(null),[m,_]=z(!1),p=()=>_q(e.instance.id),S=P(()=>!!Cl().fetchingSessions.get(e.instance.id)),h=x=>{const N=Cl().deletingSession.get(e.instance.id);return N?N.has(x):!1};P(()=>{const x=wn.get("session-new");return x||{id:"session-new-display",key:"n",modifiers:{shift:!0,meta:Mo(),ctrl:!Mo()},handler:()=>{},description:t("instanceWelcome.shortcuts.newSession"),context:"global"}});const b=P(()=>Mo()?"cmd+shift+n":"ctrl+shift+n");_e(()=>{p().length===0?(a("new-session"),s(0)):(a("sessions"),s(0))});const T=()=>{d()||c(!0)},v=()=>c(!1);function C(x){const N=document.querySelector(`[data-session-index="${x}"]`);N&&N.scrollIntoView({block:"nearest",behavior:"auto"})}function w(x){let N=null;typeof document<"u"&&(N=document.activeElement);const D=(N==null?void 0:N.closest(".modal-surface"))||(N==null?void 0:N.closest("[role='dialog']"));if(N&&(["INPUT","TEXTAREA","SELECT"].includes(N.tagName)||N.isContentEditable||!!D)){D&&x.key==="Escape"&&f()&&(x.preventDefault(),M());return}if(l()){x.key==="Escape"&&(x.preventDefault(),v());return}const A=p();if((x.metaKey||x.ctrlKey)&&x.shiftKey&&x.key.toLowerCase()==="n"){x.preventDefault(),R();return}if(A.length===0)return;const W=o()==="sessions";if(x.key==="ArrowDown"){W||(a("sessions"),s(0)),x.preventDefault();const ae=Math.min(i()+1,A.length-1);s(ae),C(ae);return}if(x.key==="ArrowUp"){W||(a("sessions"),s(Math.max(p().length-1,0))),x.preventDefault();const ae=Math.max(i()-1,0);s(ae),C(ae);return}if(W)if(x.key==="PageDown"){x.preventDefault();const ne=Math.min(i()+5,A.length-1);s(ne),C(ne)}else if(x.key==="PageUp"){x.preventDefault();const ne=Math.max(i()-5,0);s(ne),C(ne)}else if(x.key==="Home")x.preventDefault(),s(0),C(0);else if(x.key==="End"){x.preventDefault();const ae=A.length-1;s(ae),C(ae)}else x.key==="Enter"?(x.preventDefault(),I()):(x.key==="Delete"||x.key==="Backspace")&&(x.preventDefault(),O())}async function I(){const x=p(),N=i();N<x.length&&await B(x[N].id)}async function O(){const x=p(),N=i();if(N>=x.length)return;await k(x[N].id);const D=p();if(D.length===0){a("new-session"),s(0);return}const $=Math.min(N,D.length-1);s($),a("sessions"),C($)}rn(()=>{window.addEventListener("keydown",w),$e(()=>{window.removeEventListener("keydown",w)})}),rn(()=>{const x=window.matchMedia("(min-width: 1024px)"),N=$=>{u($),$&&v()},D=$=>N($.matches);typeof x.addEventListener=="function"?(x.addEventListener("change",D),$e(()=>{x.removeEventListener("change",D)})):(x.addListener(D),$e(()=>{x.removeListener(D)})),N(x.matches)});function U(x){const N=Math.floor((Date.now()-x)/1e3),D=Math.floor(N/60),$=Math.floor(D/60),A=Math.floor($/24);return A>0?t("time.relative.daysAgoShort",{count:A}):$>0?t("time.relative.hoursAgoShort",{count:$}):D>0?t("time.relative.minutesAgoShort",{count:D}):t("time.relative.justNow")}async function B(x){As(e.instance.id,x)}async function k(x){if(!h(x))try{await dg(e.instance.id,x)}catch(N){F_.error("Failed to delete session:",N)}}function L(x,N){const D=N&&N.trim()?N:x;g({id:x,title:N??"",label:D})}function M(){g(null)}async function G(x){const N=f();if(N){_(!0);try{await cE(e.instance.id,N.id,x),g(null)}catch(D){F_.error("Failed to rename session:",D),tn({message:t("instanceWelcome.toasts.renameError"),variant:"error"})}finally{_(!1)}}}async function R(){if(!n()){r(!0);try{const x=await GN(e.instance.id);As(e.instance.id,x.id)}catch(x){F_.error("Failed to create session:",x)}finally{r(!1)}}}return(()=>{var x=Q5(),N=x.firstChild,D=N.firstChild,$=D.firstChild,A=$.firstChild,W=A.firstChild,ae=W.nextSibling,ne=A.nextSibling,ge=ne.firstChild,ue=ge.firstChild,me=ue.firstChild,ce=me.firstChild,se=D.nextSibling,Z=se.firstChild,pe=N.nextSibling,Y=pe.firstChild,q=Y.firstChild,re=q.firstChild,ee=re.nextSibling,H=ee.nextSibling,fe=q.nextSibling,oe=fe.firstChild,X=oe.nextSibling,ve=X.nextSibling,he=fe.nextSibling,Ce=he.firstChild,ke=Ce.nextSibling,De=ke.nextSibling,Ee=he.nextSibling,V=Ee.firstChild,ie=V.nextSibling,de=Ee.nextSibling,j=de.firstChild,Te=j.nextSibling;return y(D,E(K,{get when(){return p().length>0},get fallback(){return E(K,{get when(){return S()},get fallback(){return(()=>{var Se=Z5(),Oe=Se.firstChild,We=Oe.nextSibling,Be=We.nextSibling;return y(We,()=>t("instanceWelcome.empty.title")),y(Be,()=>t("instanceWelcome.empty.description")),y(Se,E(K,{get when(){return Me(()=>!d())()&&!l()},get children(){var Je=X5();return Je.$$click=T,y(Je,()=>t("instanceWelcome.actions.viewInstanceInfo")),Je}}),null),Se})()},get children(){var Se=j5(),Oe=Se.firstChild,We=Oe.nextSibling,Be=We.nextSibling;return y(Oe,E(Cs,{class:"w-12 h-12 mx-auto animate-spin text-muted"})),y(We,()=>t("instanceWelcome.loading.title")),y(Be,()=>t("instanceWelcome.loading.description")),Se}})},get children(){var Se=q5(),Oe=Se.firstChild,We=Oe.firstChild,Be=We.firstChild,Je=Be.firstChild,dt=Je.nextSibling,Ve=Oe.nextSibling;return y(Je,()=>t("instanceWelcome.resume.title")),y(dt,(()=>{var Ie=Me(()=>p().length===1);return()=>Ie()?t("instanceWelcome.resume.subtitle.one",{count:p().length}):t("instanceWelcome.resume.subtitle.other",{count:p().length})})()),y(We,E(K,{get when(){return Me(()=>!d())()&&!l()},get children(){var Ie=W5();return Ie.$$click=T,y(Ie,()=>t("instanceWelcome.actions.viewInstanceInfo")),Ie}}),null),y(Ve,E(ht,{get each(){return p()},children:(Ie,je)=>{const tt=()=>o()==="sessions"&&i()===je();return(()=>{var Et=e4(),Nt=Et.firstChild,Lt=Nt.firstChild,xe=Lt.firstChild,Ke=xe.firstChild,at=Ke.firstChild,pt=at.firstChild,lt=at.nextSibling,St=lt.firstChild,It=St.nextSibling,Rt=It.nextSibling;return Lt.addEventListener("mouseenter",()=>{a("sessions"),s(je())}),Lt.$$click=()=>B(Ie.id),y(pt,()=>Ie.title||t("instanceWelcome.session.untitled")),y(St,()=>Ie.agent),y(Rt,()=>U(Ie.time.updated)),y(Nt,E(K,{get when(){return tt()},get children(){var Vt=J5(),Sn=Vt.firstChild,On=Sn.nextSibling,Ht=On.nextSibling;return On.$$click=et=>{et.preventDefault(),et.stopPropagation(),L(Ie.id,Ie.title||"")},y(On,E(RR,{class:"w-4 h-4"})),Ht.$$click=et=>{et.preventDefault(),et.stopPropagation(),k(Ie.id)},y(Ht,E(K,{get when(){return!h(Ie.id)},get fallback(){return IT()},get children(){return E(Xo,{class:"w-4 h-4"})}})),te(et=>{var ut=t("instanceWelcome.actions.renameTitle"),be=t("instanceWelcome.actions.deleteTitle"),Ae=h(Ie.id);return ut!==et.e&&Q(On,"title",et.e=ut),be!==et.t&&Q(Ht,"title",et.t=be),Ae!==et.a&&(Ht.disabled=et.a=Ae),et},{e:void 0,t:void 0,a:void 0}),Vt}}),null),te(Vt=>{var Sn=!!tt(),On=je(),Ht=!!tt();return Sn!==Vt.e&&Et.classList.toggle("panel-list-item-highlight",Vt.e=Sn),On!==Vt.t&&Q(Lt,"data-session-index",Vt.t=On),Ht!==Vt.a&&pt.classList.toggle("text-accent",Vt.a=Ht),Vt},{e:void 0,t:void 0,a:void 0}),Et})()}})),Se}}),$),y(W,()=>t("instanceWelcome.new.title")),y(ae,()=>t("instanceWelcome.new.subtitle")),ue.$$click=R,y(me,(()=>{var Se=Me(()=>!!n());return()=>Se()?IT():t4()})(),ce),y(ce,()=>t("instanceWelcome.new.createButton")),y(ue,E(Fn,{get shortcut(){return b()},class:"ml-2 kbd-hint"}),null),y(Z,E(bh,{get instance(){return e.instance}})),y(x,E(K,{get when(){return Me(()=>!d())()&&l()},get children(){var Se=K5(),Oe=Se.firstChild,We=Oe.firstChild,Be=We.firstChild,Je=Be.firstChild,dt=Be.nextSibling;return Se.$$click=v,We.$$click=Ve=>Ve.stopPropagation(),Je.$$click=v,y(Je,()=>t("instanceWelcome.overlay.close")),y(dt,E(bh,{get instance(){return e.instance}})),Se}}),pe),y(H,()=>t("instanceWelcome.hints.navigate")),y(ve,()=>t("instanceWelcome.hints.jump")),y(De,()=>t("instanceWelcome.hints.firstLast")),y(ie,()=>t("instanceWelcome.hints.resume")),y(Te,()=>t("instanceWelcome.hints.delete")),y(x,E(_x,{get open(){return!!f()},get currentTitle(){var Se;return((Se=f())==null?void 0:Se.title)??""},get sessionLabel(){var Se;return(Se=f())==null?void 0:Se.label},get isSubmitting(){return m()},onRename:G,onClose:M}),null),te(()=>ue.disabled=n()),x})()};At(["click"]);var wT=F("<button type=button class=button-tertiary>"),r4=F("<button class=scroll-to-bottom>"),i4=F('<div class=log-container><div class="flex-1 flex flex-col lg:flex-row gap-4 p-4 overflow-hidden"><div class="lg:w-80 flex-shrink-0 min-h-0 overflow-y-auto max-h-[40vh] lg:max-h-none"></div><div class="panel flex-1 flex flex-col min-h-0 overflow-hidden"><div class=log-header><h2 class=panel-title></h2><div class="flex items-center gap-2"></div></div><div class=log-content>'),s4=F("<div class=log-paused-state><p class=log-paused-title></p><p class=log-paused-description></p><button type=button class=button-primary>"),o4=F("<div class=log-empty-state>"),a4=F("<div class=log-entry><span class=log-timestamp></span><span>");const RT=new Map,l4=e=>{const{t}=wt();let n;const r=RT.get(e.instanceId),[i,s]=z((r==null?void 0:r.autoScroll)??!1),o=()=>yt().get(e.instanceId),a=P(()=>UW(e.instanceId)),l=P(()=>ON(e.instanceId)),c=()=>gT(e.instanceId,!0),d=()=>gT(e.instanceId,!1);rn(()=>{n&&r&&(n.scrollTop=r.scrollTop)}),$e(()=>{n&&RT.set(e.instanceId,{scrollTop:n.scrollTop,autoScroll:i()})}),_e(()=>{i()&&n&&a().length>0&&(n.scrollTop=n.scrollHeight)});const u=()=>{if(!n)return;const _=n.scrollHeight-n.scrollTop<=n.clientHeight+50;s(_)},f=()=>{n&&(n.scrollTop=n.scrollHeight,s(!0))},g=_=>new Date(_).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),m=_=>{switch(_){case"error":return"log-level-error";case"warn":return"log-level-warn";case"debug":return"log-level-debug";default:return"log-level-default"}};return(()=>{var _=i4(),p=_.firstChild,S=p.firstChild,h=S.nextSibling,b=h.firstChild,T=b.firstChild,v=T.nextSibling,C=b.nextSibling;y(S,E(K,{get when(){return o()},children:I=>E(bh,{get instance(){return I()},showDisposeButton:!0})})),y(T,()=>t("infoView.logs.title")),y(v,E(K,{get when(){return l()},get fallback(){return(()=>{var I=wT();return I.$$click=c,y(I,()=>t("infoView.logs.actions.show")),I})()},get children(){var I=wT();return I.$$click=d,y(I,()=>t("infoView.logs.actions.hide")),I}})),C.addEventListener("scroll",u);var w=n;return typeof w=="function"?Ct(w,C):n=C,y(C,E(K,{get when(){return l()},get fallback(){return(()=>{var I=s4(),O=I.firstChild,U=O.nextSibling,B=U.nextSibling;return y(O,()=>t("infoView.logs.paused.title")),y(U,()=>t("infoView.logs.paused.description")),B.$$click=c,y(B,()=>t("infoView.logs.actions.show")),I})()},get children(){return E(K,{get when(){return a().length>0},get fallback(){return(()=>{var I=o4();return y(I,()=>t("infoView.logs.empty.waiting")),I})()},get children(){return E(ht,{get each(){return a()},children:I=>(()=>{var O=a4(),U=O.firstChild,B=U.nextSibling;return y(U,()=>g(I.timestamp)),y(B,()=>I.message),te(()=>it(B,`log-message ${m(I.level)}`)),O})()})}})}})),y(h,E(K,{get when(){return Me(()=>!i())()&&l()},get children(){var I=r4();return I.$$click=f,y(I,E(ji,{class:"w-4 h-4"}),null),y(I,()=>t("infoView.logs.scrollToBottom"),null),I}}),null),_})()};At(["click"]);function si(e){return typeof e=="function"?e():e}function c4(){const e=new Map;function t(a){e.set(a.id,a)}function n(a){e.delete(a)}function r(a){return e.get(a)}function i(){return Array.from(e.values())}function s(a){const l=e.get(a);if(l)return l.action()}function o(a){if(!a)return i();const l=a.toLowerCase();return i().filter(c=>{const d=si(c.label),u=si(c.description),f=c.keywords?si(c.keywords):void 0,g=c.category?si(c.category):void 0,m=d.toLowerCase().includes(l),_=u.toLowerCase().includes(l),p=f==null?void 0:f.some(h=>h.toLowerCase().includes(l)),S=g==null?void 0:g.toLowerCase().includes(l);return m||_||p||S})}return{register:t,unregister:n,get:r,getAll:i,execute:s,search:o}}var d4=F('<div class=modal-search-container><div class="flex items-center gap-3"><svg class="w-5 h-5 modal-search-icon"fill=none stroke=currentColor viewBox="0 0 24 24"><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg><input type=text class=modal-search-input>'),u4=F("<div class=modal-list-container>"),f4=F('<div class="fixed inset-0 z-50 flex items-start justify-center pt-[20vh]">'),g4=F("<div class=modal-empty-state>"),m4=F("<div class=py-2><div class=modal-section-header>"),_4=F("<div class=mt-1>"),p4=F('<button type=button><div class="flex-1 min-w-0"><div class=modal-item-label></div><div class=modal-item-description>');function h4(e){if(!e)return"";const t=[];return(e.meta||e.ctrl)&&t.push("cmd"),e.shift&&t.push("shift"),e.alt&&t.push("alt"),t.push(e.key),t.join("+")}const S4=e=>{const{t}=wt(),[n,r]=z(""),[i,s]=z(null),[o,a]=z(!1);let l,c;const d=["Custom Commands","Instance","Session","Agent & Model","Input & Focus","System","Other"],u=T=>{switch(T){case"Custom Commands":return t("commandPalette.category.customCommands");case"Instance":return t("commandPalette.category.instance");case"Session":return t("commandPalette.category.session");case"Agent & Model":return t("commandPalette.category.agentModel");case"Input & Focus":return t("commandPalette.category.inputFocus");case"System":return t("commandPalette.category.system");case"Other":return t("commandPalette.category.other");default:return T}},f=P(()=>{const T=e.commands??[],v=n().trim().toLowerCase(),C=v?T.filter(k=>{const L=si(k.label),M=si(k.description),G=k.keywords?si(k.keywords):void 0,R=k.category?si(k.category):void 0,x=L.toLowerCase().includes(v),N=M.toLowerCase().includes(v),D=G==null?void 0:G.some(A=>A.toLowerCase().includes(v)),$=R==null?void 0:R.toLowerCase().includes(v);return x||N||D||$}):T,w=new Map;for(const k of C){const L=(k.category?si(k.category):void 0)||"Other",M=w.get(L);M?M.push(k):w.set(L,[k])}const I=[],O=[],U=new Set,B=k=>{const L=w.get(k);!L||L.length===0||U.has(k)||(I.push({category:k,commands:L,startIndex:O.length}),O.push(...L),U.add(k))};for(const k of d)B(k);for(const[k]of w)B(k);return{groups:I,ordered:O}}),g=()=>f().groups,m=()=>f().ordered,_=T=>T.disabled?!!si(T.disabled):!1,p=P(()=>{const T=m();if(T.length===0)return-1;const v=i();if(!v)return 0;const C=T.findIndex(w=>w.id===v);return C>=0?C:0});_e(()=>{e.open&&(r(""),s(null),a(!1),setTimeout(()=>l==null?void 0:l.focus(),100))}),_e(()=>{var C;const T=m();if(T.length===0){i()!==null&&s(null);return}const v=i();if(!v||!T.some(w=>w.id===v)){const w=T.find(I=>!_(I));s(((C=w||T[0])==null?void 0:C.id)??null)}}),_e(()=>{const T=p();if(!c||T<0)return;const v=c.querySelector(`[data-command-index="${T}"]`);v&&v.scrollIntoView({block:"nearest",behavior:"smooth"})});function S(T){var C,w;const v=m();if(T.key==="Escape"){T.preventDefault(),T.stopPropagation(),e.onClose();return}if(v.length===0){(T.key==="ArrowDown"||T.key==="ArrowUp"||T.key==="Enter")&&(T.preventDefault(),T.stopPropagation());return}if(T.key==="ArrowDown"){T.preventDefault(),T.stopPropagation(),a(!1);const I=p(),O=Math.min((I<0?0:I)+1,v.length-1);s(((C=v[O])==null?void 0:C.id)??null)}else if(T.key==="ArrowUp"){T.preventDefault(),T.stopPropagation(),a(!1);const I=p(),O=I<=0?v.length-1:I-1;s(((w=v[O])==null?void 0:w.id)??null)}else if(T.key==="Enter"){T.preventDefault(),T.stopPropagation();const I=p();if(I<0||I>=v.length)return;const O=v[I];if(!O||_(O))return;e.onExecute(O),e.onClose()}}function h(T){_(T)||(e.onExecute(T),e.onClose())}function b(){a(!1)}return E(vt,{get open(){return e.open},onOpenChange:T=>!T&&e.onClose(),get children(){return E(vt.Portal,{get children(){return[E(vt.Overlay,{class:"modal-overlay"}),(()=>{var T=f4();return y(T,E(vt.Content,{class:"modal-surface w-full max-w-2xl max-h-[60vh]",onKeyDown:S,get children(){return[E(vt.Title,{class:"sr-only",get children(){return t("commandPalette.title")}}),E(vt.Description,{class:"sr-only",get children(){return t("commandPalette.description")}}),(()=>{var v=d4(),C=v.firstChild,w=C.firstChild,I=w.nextSibling;I.$$input=U=>{r(U.currentTarget.value),s(null)};var O=l;return typeof O=="function"?Ct(O,I):l=I,te(()=>Q(I,"placeholder",t("commandPalette.searchPlaceholder"))),te(()=>I.value=n()),v})(),(()=>{var v=u4();v.addEventListener("pointerleave",b);var C=c;return typeof C=="function"?Ct(C,v):c=v,y(v,E(K,{get when(){return m().length>0},get fallback(){return(()=>{var w=g4();return y(w,()=>t("commandPalette.empty",{query:n()})),w})()},get children(){return E(ht,{get each(){return g()},children:w=>(()=>{var I=m4(),O=I.firstChild;return y(O,()=>u(w.category)),y(I,E(ht,{get each(){return w.commands},children:(U,B)=>{const k=w.startIndex+B(),L=_(U);return(()=>{var M=p4(),G=M.firstChild,R=G.firstChild,x=R.nextSibling;return M.$$pointermove=N=>{N.movementX===0&&N.movementY===0||(N.pointerType==="mouse"||N.pointerType==="pen"||N.pointerType==="touch")&&(o()||a(!0),s(U.id))},M.$$click=()=>h(U),Q(M,"data-command-index",k),M.disabled=L,y(R,()=>si(U.label)),y(x,()=>si(U.description)),y(M,E(K,{get when(){return U.shortcut},get children(){var N=_4();return y(N,E(Fn,{get shortcut(){return h4(U.shortcut)}})),N}}),null),te(()=>it(M,`modal-item ${i()===U.id?"modal-item-highlight":""}`)),M})()}}),null),I})()})}})),te(()=>Q(v,"data-pointer-mode",o()?"pointer":"keyboard")),v})()]}})),T})()]}})}})};At(["input","click","pointermove"]);var E4=F("<button type=button class=permission-center-trigger><span class=permission-center-count aria-hidden=true>");const OT=e=>{const{t}=wt(),n=P(()=>kN(e.instanceId)),r=P(()=>LN(e.instanceId)),i=P(()=>n()+r()),s=P(()=>i()>0),o=P(()=>{const a=i(),l=a===1?t("permissionBanner.pendingRequests.one",{count:a}):t("permissionBanner.pendingRequests.other",{count:a}),c=[];n()>0&&c.push(n()===1?t("permissionBanner.detail.permission.one",{count:n()}):t("permissionBanner.detail.permission.other",{count:n()})),r()>0&&c.push(r()===1?t("permissionBanner.detail.question.one",{count:r()}):t("permissionBanner.detail.question.other",{count:r()}));const d=c.length?t("permissionBanner.detail.wrapper",{detail:c.join(", ")}):"";return`${l}${d}`});return E(K,{get when(){return s()},get children(){var a=E4(),l=a.firstChild;return Ut(a,"click",e.onClick,!0),y(a,E(Kd,{class:"permission-center-icon","aria-hidden":"true"}),l),y(l,(()=>{var c=Me(()=>i()>9);return()=>c()?"9+":i()})()),te(c=>{var d=o(),u=o();return d!==c.e&&Q(a,"aria-label",c.e=d),u!==c.t&&Q(a,"title",c.t=u),c},{e:void 0,t:void 0}),a}})};At(["click"]);const KE=Symbol.for("yaml.alias"),vh=Symbol.for("yaml.document"),to=Symbol.for("yaml.map"),px=Symbol.for("yaml.pair"),Em=Symbol.for("yaml.scalar"),Xl=Symbol.for("yaml.seq"),pi=Symbol.for("yaml.node.type"),sa=e=>!!e&&typeof e=="object"&&e[pi]===KE,ou=e=>!!e&&typeof e=="object"&&e[pi]===vh,au=e=>!!e&&typeof e=="object"&&e[pi]===to,Zn=e=>!!e&&typeof e=="object"&&e[pi]===px,Dn=e=>!!e&&typeof e=="object"&&e[pi]===Em,lu=e=>!!e&&typeof e=="object"&&e[pi]===Xl;function Un(e){if(e&&typeof e=="object")switch(e[pi]){case to:case Xl:return!0}return!1}function Gn(e){if(e&&typeof e=="object")switch(e[pi]){case KE:case to:case Em:case Xl:return!0}return!1}const hx=e=>(Dn(e)||Un(e))&&!!e.anchor,vo=Symbol("break visit"),b4=Symbol("skip children"),Xc=Symbol("remove node");function Zl(e,t){const n=v4(t);ou(e)?$a(null,e.contents,n,Object.freeze([e]))===Xc&&(e.contents=null):$a(null,e,n,Object.freeze([]))}Zl.BREAK=vo;Zl.SKIP=b4;Zl.REMOVE=Xc;function $a(e,t,n,r){const i=y4(e,t,n,r);if(Gn(i)||Zn(i))return T4(e,r,i),$a(e,i,n,r);if(typeof i!="symbol"){if(Un(t)){r=Object.freeze(r.concat(t));for(let s=0;s<t.items.length;++s){const o=$a(s,t.items[s],n,r);if(typeof o=="number")s=o-1;else{if(o===vo)return vo;o===Xc&&(t.items.splice(s,1),s-=1)}}}else if(Zn(t)){r=Object.freeze(r.concat(t));const s=$a("key",t.key,n,r);if(s===vo)return vo;s===Xc&&(t.key=null);const o=$a("value",t.value,n,r);if(o===vo)return vo;o===Xc&&(t.value=null)}}return i}function v4(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function y4(e,t,n,r){var i,s,o,a,l;if(typeof n=="function")return n(e,t,r);if(au(t))return(i=n.Map)==null?void 0:i.call(n,e,t,r);if(lu(t))return(s=n.Seq)==null?void 0:s.call(n,e,t,r);if(Zn(t))return(o=n.Pair)==null?void 0:o.call(n,e,t,r);if(Dn(t))return(a=n.Scalar)==null?void 0:a.call(n,e,t,r);if(sa(t))return(l=n.Alias)==null?void 0:l.call(n,e,t,r)}function T4(e,t,n){const r=t[t.length-1];if(Un(r))r.items[e]=n;else if(Zn(r))e==="key"?r.key=n:r.value=n;else if(ou(r))r.contents=n;else{const i=sa(r)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}const C4={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},I4=e=>e.replace(/[!,[\]{}]/g,t=>C4[t]);class Rr{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Rr.defaultYaml,t),this.tags=Object.assign({},Rr.defaultTags,n)}clone(){const t=new Rr(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new Rr(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Rr.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Rr.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:Rr.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Rr.defaultTags),this.atNextDocument=!1);const r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case"%TAG":{if(r.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),r.length<2))return!1;const[s,o]=r;return this.tags[s]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[s]=r;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{const o=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,o),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const o=t.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}const[,r,i]=t.match(/^(.*!)([^!]*)$/s);i||n(`The ${t} tag has no suffix`);const s=this.tags[r];if(s)try{return s+decodeURIComponent(i)}catch(o){return n(String(o)),null}return r==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,r]of Object.entries(this.tags))if(t.startsWith(r))return n+I4(t.substring(r.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags);let i;if(t&&r.length>0&&Gn(t.contents)){const s={};Zl(t.contents,(o,a)=>{Gn(a)&&a.tag&&(s[a.tag]=!0)}),i=Object.keys(s)}else i=[];for(const[s,o]of r)s==="!!"&&o==="tag:yaml.org,2002:"||(!t||i.some(a=>a.startsWith(o)))&&n.push(`%TAG ${s} ${o}`);return n.join(`
90
90
  `)}}Rr.defaultYaml={explicit:!1,version:"1.2"};Rr.defaultTags={"!!":"tag:yaml.org,2002:"};function Sx(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function Ex(e){const t=new Set;return Zl(e,{Value(n,r){r.anchor&&t.add(r.anchor)}}),t}function bx(e,t){for(let n=1;;++n){const r=`${e}${n}`;if(!t.has(r))return r}}function w4(e,t){const n=[],r=new Map;let i=null;return{onAnchor:s=>{n.push(s),i??(i=Ex(e));const o=bx(t,i);return i.add(o),o},setAnchors:()=>{for(const s of n){const o=r.get(s);if(typeof o=="object"&&o.anchor&&(Dn(o.node)||Un(o.node)))o.node.anchor=o.anchor;else{const a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=s,a}}},sourceObjects:r}}function Fa(e,t,n,r){if(r&&typeof r=="object")if(Array.isArray(r))for(let i=0,s=r.length;i<s;++i){const o=r[i],a=Fa(e,r,String(i),o);a===void 0?delete r[i]:a!==o&&(r[i]=a)}else if(r instanceof Map)for(const i of Array.from(r.keys())){const s=r.get(i),o=Fa(e,r,i,s);o===void 0?r.delete(i):o!==s&&r.set(i,o)}else if(r instanceof Set)for(const i of Array.from(r)){const s=Fa(e,r,i,i);s===void 0?r.delete(i):s!==i&&(r.delete(i),r.add(s))}else for(const[i,s]of Object.entries(r)){const o=Fa(e,r,i,s);o===void 0?delete r[i]:o!==s&&(r[i]=o)}return e.call(t,n,r)}function gi(e,t,n){if(Array.isArray(e))return e.map((r,i)=>gi(r,String(i),n));if(e&&typeof e.toJSON=="function"){if(!n||!hx(e))return e.toJSON(t,n);const r={aliasCount:0,count:1,res:void 0};n.anchors.set(e,r),n.onCreate=s=>{r.res=s,delete n.onCreate};const i=e.toJSON(t,n);return n.onCreate&&n.onCreate(i),i}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class QE{constructor(t){Object.defineProperty(this,pi,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:r,onAnchor:i,reviver:s}={}){if(!ou(t))throw new TypeError("A document argument is required");const o={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},a=gi(this,"",o);if(typeof i=="function")for(const{count:l,res:c}of o.anchors.values())i(c,l);return typeof s=="function"?Fa(s,{"":a},"",a):a}}class vx extends QE{constructor(t){super(KE),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){let r;n!=null&&n.aliasResolveCache?r=n.aliasResolveCache:(r=[],Zl(t,{Node:(s,o)=>{(sa(o)||hx(o))&&r.push(o)}}),n&&(n.aliasResolveCache=r));let i;for(const s of r){if(s===this)break;s.anchor===this.source&&(i=s)}return i}toJSON(t,n){if(!n)return{source:this.source};const{anchors:r,doc:i,maxAliasCount:s}=n,o=this.resolve(i,n);if(!o){const l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let a=r.get(o);if(a||(gi(o,null,n),a=r.get(o)),(a==null?void 0:a.res)===void 0){const l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(s>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=wf(i,o,r)),a.count*a.aliasCount>s)){const l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return a.res}toString(t,n,r){const i=`*${this.source}`;if(t){if(Sx(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${i} `}return i}}function wf(e,t,n){if(sa(t)){const r=t.resolve(e),i=n&&r&&n.get(r);return i?i.count*i.aliasCount:0}else if(Un(t)){let r=0;for(const i of t.items){const s=wf(e,i,n);s>r&&(r=s)}return r}else if(Zn(t)){const r=wf(e,t.key,n),i=wf(e,t.value,n);return Math.max(r,i)}return 1}const yx=e=>!e||typeof e!="function"&&typeof e!="object";class Yt extends QE{constructor(t){super(Em),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:gi(this.value,t,n)}toString(){return String(this.value)}}Yt.BLOCK_FOLDED="BLOCK_FOLDED";Yt.BLOCK_LITERAL="BLOCK_LITERAL";Yt.PLAIN="PLAIN";Yt.QUOTE_DOUBLE="QUOTE_DOUBLE";Yt.QUOTE_SINGLE="QUOTE_SINGLE";const R4="tag:yaml.org,2002:";function O4(e,t,n){if(t){const r=n.filter(s=>s.tag===t),i=r.find(s=>!s.format)??r[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return n.find(r=>{var i;return((i=r.identify)==null?void 0:i.call(r,e))&&!r.format})}function Nd(e,t,n){var u,f,g;if(ou(e)&&(e=e.contents),Gn(e))return e;if(Zn(e)){const m=(f=(u=n.schema[to]).createNode)==null?void 0:f.call(u,n.schema,null,n);return m.items.push(e),m}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:r,onAnchor:i,onTagObj:s,schema:o,sourceObjects:a}=n;let l;if(r&&e&&typeof e=="object"){if(l=a.get(e),l)return l.anchor??(l.anchor=i(e)),new vx(l.anchor);l={anchor:null,node:null},a.set(e,l)}t!=null&&t.startsWith("!!")&&(t=R4+t.slice(2));let c=O4(e,t,o.tags);if(!c){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const m=new Yt(e);return l&&(l.node=m),m}c=e instanceof Map?o[to]:Symbol.iterator in Object(e)?o[Xl]:o[to]}s&&(s(c),delete n.onTagObj);const d=c!=null&&c.createNode?c.createNode(n.schema,e,n):typeof((g=c==null?void 0:c.nodeClass)==null?void 0:g.from)=="function"?c.nodeClass.from(n.schema,e,n):new Yt(e);return t?d.tag=t:c.default||(d.tag=c.tag),l&&(l.node=d),d}function mg(e,t,n){let r=n;for(let i=t.length-1;i>=0;--i){const s=t[i];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){const o=[];o[s]=r,r=o}else r=new Map([[s,r]])}return Nd(r,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const Dc=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;class Tx extends QE{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(r=>Gn(r)||Zn(r)?r.clone(t):r),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(Dc(t))this.add(n);else{const[r,...i]=t,s=this.get(r,!0);if(Un(s))s.addIn(i,n);else if(s===void 0&&this.schema)this.set(r,mg(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}deleteIn(t){const[n,...r]=t;if(r.length===0)return this.delete(n);const i=this.get(n,!0);if(Un(i))return i.deleteIn(r);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}getIn(t,n){const[r,...i]=t,s=this.get(r,!0);return i.length===0?!n&&Dn(s)?s.value:s:Un(s)?s.getIn(i,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Zn(n))return!1;const r=n.value;return r==null||t&&Dn(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(t){const[n,...r]=t;if(r.length===0)return this.has(n);const i=this.get(n,!0);return Un(i)?i.hasIn(r):!1}setIn(t,n){const[r,...i]=t;if(i.length===0)this.set(r,n);else{const s=this.get(r,!0);if(Un(s))s.setIn(i,n);else if(s===void 0&&this.schema)this.set(r,mg(this.schema,i,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${i}`)}}}const A4=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function _s(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const wo=(e,t,n)=>e.endsWith(`
91
91
  `)?_s(n,t):n.includes(`
92
92
  `)?`