codexui-android 0.1.105 → 0.1.106

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.
@@ -1,63 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ThreadConversation-hYPN5iOC.js","assets/ThreadConversation-DEwOuZ3c.css","assets/ThreadTerminalPanel-CJwoNQG-.js","assets/ThreadTerminalPanel-BcVTRuCH.css","assets/ReviewPane-Daugh319.js","assets/ReviewPane-hfRd-dST.css","assets/DirectoryHub-mhcULdfw.js","assets/DirectoryHub-DKVkrxQJ.css"])))=>i.map(i=>d[i]);
2
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}})();/**
3
- * @vue/shared v3.5.31
4
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
5
- * @license MIT
6
- **/function _c(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ut={},Cs=[],Oo=()=>{},Ih=()=>!1,xl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Al=e=>e.startsWith("onUpdate:"),En=Object.assign,Tc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},eg=Object.prototype.hasOwnProperty,$t=(e,t)=>eg.call(e,t),nt=Array.isArray,Ss=e=>xi(e)==="[object Map]",El=e=>xi(e)==="[object Set]",Td=e=>xi(e)==="[object Date]",ct=e=>typeof e=="function",tn=e=>typeof e=="string",mo=e=>typeof e=="symbol",Nt=e=>e!==null&&typeof e=="object",Rh=e=>(Nt(e)||ct(e))&&ct(e.then)&&ct(e.catch),Ph=Object.prototype.toString,xi=e=>Ph.call(e),tg=e=>xi(e).slice(8,-1),Mh=e=>xi(e)==="[object Object]",kc=e=>tn(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ui=_c(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Il=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ng=/-\w/g,fr=Il(e=>e.replace(ng,t=>t.slice(1).toUpperCase())),rg=/\B([A-Z])/g,Ia=Il(e=>e.replace(rg,"-$1").toLowerCase()),Rl=Il(e=>e.charAt(0).toUpperCase()+e.slice(1)),fu=Il(e=>e?`on${Rl(e)}`:""),co=(e,t)=>!Object.is(e,t),ll=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},$h=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Cc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},og=e=>{const t=tn(e)?Number(e):NaN;return isNaN(t)?e:t};let kd;const Pl=()=>kd||(kd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function oa(e){if(nt(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],a=tn(r)?lg(r):oa(r);if(a)for(const o in a)t[o]=a[o]}return t}else if(tn(e)||Nt(e))return e}const ag=/;(?![^(]*\))/g,sg=/:([^]+)/,ig=/\/\*[^]*?\*\//g;function lg(e){const t={};return e.replace(ig,"").split(ag).forEach(n=>{if(n){const r=n.split(sg);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function et(e){let t="";if(tn(e))t=e;else if(nt(e))for(let n=0;n<e.length;n++){const r=et(e[n]);r&&(t+=r+" ")}else if(Nt(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const ug="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",cg=_c(ug);function Nh(e){return!!e||e===""}function dg(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Ai(e[r],t[r]);return n}function Ai(e,t){if(e===t)return!0;let n=Td(e),r=Td(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=mo(e),r=mo(t),n||r)return e===t;if(n=nt(e),r=nt(t),n||r)return n&&r?dg(e,t):!1;if(n=Nt(e),r=Nt(t),n||r){if(!n||!r)return!1;const a=Object.keys(e).length,o=Object.keys(t).length;if(a!==o)return!1;for(const s in e){const l=e.hasOwnProperty(s),c=t.hasOwnProperty(s);if(l&&!c||!l&&c||!Ai(e[s],t[s]))return!1}}return String(e)===String(t)}function Lh(e,t){return e.findIndex(n=>Ai(n,t))}const Oh=e=>!!(e&&e.__v_isRef===!0),$=e=>tn(e)?e:e==null?"":nt(e)||Nt(e)&&(e.toString===Ph||!ct(e.toString))?Oh(e)?$(e.value):JSON.stringify(e,jh,2):String(e),jh=(e,t)=>Oh(t)?jh(e,t.value):Ss(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,a],o)=>(n[hu(r,o)+" =>"]=a,n),{})}:El(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>hu(n))}:mo(t)?hu(t):Nt(t)&&!nt(t)&&!Mh(t)?String(t):t,hu=(e,t="")=>{var n;return mo(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
7
- * @vue/reactivity v3.5.31
8
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
9
- * @license MIT
10
- **/let kr;class fg{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=kr,!t&&kr&&(this.index=(kr.scopes||(kr.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=kr;try{return kr=this,t()}finally{kr=n}}}on(){++this._on===1&&(this.prevScope=kr,kr=this)}off(){this._on>0&&--this._on===0&&(kr=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(this.effects.length=0,n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const a=this.parent.scopes.pop();a&&a!==this&&(this.parent.scopes[this.index]=a,a.index=this.index)}this.parent=void 0}}}function hg(){return kr}let Ht;const pu=new WeakSet;class Dh{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,kr&&kr.active&&kr.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,pu.has(this)&&(pu.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Uh(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Cd(this),Bh(this);const t=Ht,n=ho;Ht=this,ho=!0;try{return this.fn()}finally{qh(this),Ht=t,ho=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ac(t);this.deps=this.depsTail=void 0,Cd(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?pu.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Wu(this)&&this.run()}get dirty(){return Wu(this)}}let Fh=0,ci,di;function Uh(e,t=!1){if(e.flags|=8,t){e.next=di,di=e;return}e.next=ci,ci=e}function Sc(){Fh++}function xc(){if(--Fh>0)return;if(di){let t=di;for(di=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;ci;){let t=ci;for(ci=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Bh(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qh(e){let t,n=e.depsTail,r=n;for(;r;){const a=r.prevDep;r.version===-1?(r===n&&(n=a),Ac(r),pg(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=a}e.deps=t,e.depsTail=n}function Wu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hh(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hh(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wi)||(e.globalVersion=wi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Wu(e))))return;e.flags|=2;const t=e.dep,n=Ht,r=ho;Ht=e,ho=!0;try{Bh(e);const a=e.fn(e._value);(t.version===0||co(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ht=n,ho=r,qh(e),e.flags&=-3}}function Ac(e,t=!1){const{dep:n,prevSub:r,nextSub:a}=e;if(r&&(r.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Ac(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function pg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ho=!0;const Wh=[];function aa(){Wh.push(ho),ho=!1}function sa(){const e=Wh.pop();ho=e===void 0?!0:e}function Cd(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ht;Ht=void 0;try{t()}finally{Ht=n}}}let wi=0;class mg{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ec{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ht||!ho||Ht===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ht)n=this.activeLink=new mg(Ht,this),Ht.deps?(n.prevDep=Ht.depsTail,Ht.depsTail.nextDep=n,Ht.depsTail=n):Ht.deps=Ht.depsTail=n,zh(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ht.depsTail,n.nextDep=void 0,Ht.depsTail.nextDep=n,Ht.depsTail=n,Ht.deps===n&&(Ht.deps=r)}return n}trigger(t){this.version++,wi++,this.notify(t)}notify(t){Sc();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{xc()}}}function zh(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)zh(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const zu=new WeakMap,Ja=Symbol(""),Vu=Symbol(""),bi=Symbol("");function Qn(e,t,n){if(ho&&Ht){let r=zu.get(e);r||zu.set(e,r=new Map);let a=r.get(n);a||(r.set(n,a=new Ec),a.map=r,a.key=n),a.track()}}function na(e,t,n,r,a,o){const s=zu.get(e);if(!s){wi++;return}const l=c=>{c&&c.trigger()};if(Sc(),t==="clear")s.forEach(l);else{const c=nt(e),h=c&&kc(n);if(c&&n==="length"){const f=Number(r);s.forEach((g,_)=>{(_==="length"||_===bi||!mo(_)&&_>=f)&&l(g)})}else switch((n!==void 0||s.has(void 0))&&l(s.get(n)),h&&l(s.get(bi)),t){case"add":c?h&&l(s.get("length")):(l(s.get(Ja)),Ss(e)&&l(s.get(Vu)));break;case"delete":c||(l(s.get(Ja)),Ss(e)&&l(s.get(Vu)));break;case"set":Ss(e)&&l(s.get(Ja));break}}xc()}function fs(e){const t=Rt(e);return t===e?t:(Qn(t,"iterate",bi),Yr(e)?t:t.map(vo))}function Ml(e){return Qn(e=Rt(e),"iterate",bi),e}function $o(e,t){return ia(e)?Ms(Xa(e)?vo(t):t):vo(t)}const vg={__proto__:null,[Symbol.iterator](){return mu(this,Symbol.iterator,e=>$o(this,e))},concat(...e){return fs(this).concat(...e.map(t=>nt(t)?fs(t):t))},entries(){return mu(this,"entries",e=>(e[1]=$o(this,e[1]),e))},every(e,t){return Jo(this,"every",e,t,void 0,arguments)},filter(e,t){return Jo(this,"filter",e,t,n=>n.map(r=>$o(this,r)),arguments)},find(e,t){return Jo(this,"find",e,t,n=>$o(this,n),arguments)},findIndex(e,t){return Jo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Jo(this,"findLast",e,t,n=>$o(this,n),arguments)},findLastIndex(e,t){return Jo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Jo(this,"forEach",e,t,void 0,arguments)},includes(...e){return vu(this,"includes",e)},indexOf(...e){return vu(this,"indexOf",e)},join(e){return fs(this).join(e)},lastIndexOf(...e){return vu(this,"lastIndexOf",e)},map(e,t){return Jo(this,"map",e,t,void 0,arguments)},pop(){return ti(this,"pop")},push(...e){return ti(this,"push",e)},reduce(e,...t){return Sd(this,"reduce",e,t)},reduceRight(e,...t){return Sd(this,"reduceRight",e,t)},shift(){return ti(this,"shift")},some(e,t){return Jo(this,"some",e,t,void 0,arguments)},splice(...e){return ti(this,"splice",e)},toReversed(){return fs(this).toReversed()},toSorted(e){return fs(this).toSorted(e)},toSpliced(...e){return fs(this).toSpliced(...e)},unshift(...e){return ti(this,"unshift",e)},values(){return mu(this,"values",e=>$o(this,e))}};function mu(e,t,n){const r=Ml(e),a=r[t]();return r!==e&&!Yr(e)&&(a._next=a.next,a.next=()=>{const o=a._next();return o.done||(o.value=n(o.value)),o}),a}const gg=Array.prototype;function Jo(e,t,n,r,a,o){const s=Ml(e),l=s!==e&&!Yr(e),c=s[t];if(c!==gg[t]){const g=c.apply(e,o);return l?vo(g):g}let h=n;s!==e&&(l?h=function(g,_){return n.call(this,$o(e,g),_,e)}:n.length>2&&(h=function(g,_){return n.call(this,g,_,e)}));const f=c.call(s,h,r);return l&&a?a(f):f}function Sd(e,t,n,r){const a=Ml(e),o=a!==e&&!Yr(e);let s=n,l=!1;a!==e&&(o?(l=r.length===0,s=function(h,f,g){return l&&(l=!1,h=$o(e,h)),n.call(this,h,$o(e,f),g,e)}):n.length>3&&(s=function(h,f,g){return n.call(this,h,f,g,e)}));const c=a[t](s,...r);return l?$o(e,c):c}function vu(e,t,n){const r=Rt(e);Qn(r,"iterate",bi);const a=r[t](...n);return(a===-1||a===!1)&&Pc(n[0])?(n[0]=Rt(n[0]),r[t](...n)):a}function ti(e,t,n=[]){aa(),Sc();const r=Rt(e)[t].apply(e,n);return xc(),sa(),r}const yg=_c("__proto__,__v_isRef,__isVue"),Vh=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(mo));function wg(e){mo(e)||(e=String(e));const t=Rt(this);return Qn(t,"has",e),t.hasOwnProperty(e)}class Gh{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(a?o?Ig:Jh:o?Qh:Yh).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=nt(t);if(!a){let c;if(s&&(c=vg[n]))return c;if(n==="hasOwnProperty")return wg}const l=Reflect.get(t,n,Xn(t)?t:r);if((mo(n)?Vh.has(n):yg(n))||(a||Qn(t,"get",n),o))return l;if(Xn(l)){const c=s&&kc(n)?l:l.value;return a&&Nt(c)?Ku(c):c}return Nt(l)?a?Ku(l):$l(l):l}}class Kh extends Gh{constructor(t=!1){super(!1,t)}set(t,n,r,a){let o=t[n];const s=nt(t)&&kc(n);if(!this._isShallow){const h=ia(o);if(!Yr(r)&&!ia(r)&&(o=Rt(o),r=Rt(r)),!s&&Xn(o)&&!Xn(r))return h||(o.value=r),!0}const l=s?Number(n)<t.length:$t(t,n),c=Reflect.set(t,n,r,Xn(t)?t:a);return t===Rt(a)&&(l?co(r,o)&&na(t,"set",n,r):na(t,"add",n,r)),c}deleteProperty(t,n){const r=$t(t,n);t[n];const a=Reflect.deleteProperty(t,n);return a&&r&&na(t,"delete",n,void 0),a}has(t,n){const r=Reflect.has(t,n);return(!mo(n)||!Vh.has(n))&&Qn(t,"has",n),r}ownKeys(t){return Qn(t,"iterate",nt(t)?"length":Ja),Reflect.ownKeys(t)}}class bg extends Gh{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const _g=new Kh,Tg=new bg,kg=new Kh(!0);const Gu=e=>e,Gi=e=>Reflect.getPrototypeOf(e);function Cg(e,t,n){return function(...r){const a=this.__v_raw,o=Rt(a),s=Ss(o),l=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,h=a[e](...r),f=n?Gu:t?Ms:vo;return!t&&Qn(o,"iterate",c?Vu:Ja),En(Object.create(h),{next(){const{value:g,done:_}=h.next();return _?{value:g,done:_}:{value:l?[f(g[0]),f(g[1])]:f(g),done:_}}})}}function Ki(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sg(e,t){const n={get(a){const o=this.__v_raw,s=Rt(o),l=Rt(a);e||(co(a,l)&&Qn(s,"get",a),Qn(s,"get",l));const{has:c}=Gi(s),h=t?Gu:e?Ms:vo;if(c.call(s,a))return h(o.get(a));if(c.call(s,l))return h(o.get(l));o!==s&&o.get(a)},get size(){const a=this.__v_raw;return!e&&Qn(Rt(a),"iterate",Ja),a.size},has(a){const o=this.__v_raw,s=Rt(o),l=Rt(a);return e||(co(a,l)&&Qn(s,"has",a),Qn(s,"has",l)),a===l?o.has(a):o.has(a)||o.has(l)},forEach(a,o){const s=this,l=s.__v_raw,c=Rt(l),h=t?Gu:e?Ms:vo;return!e&&Qn(c,"iterate",Ja),l.forEach((f,g)=>a.call(o,h(f),h(g),s))}};return En(n,e?{add:Ki("add"),set:Ki("set"),delete:Ki("delete"),clear:Ki("clear")}:{add(a){const o=Rt(this),s=Gi(o),l=Rt(a),c=!t&&!Yr(a)&&!ia(a)?l:a;return s.has.call(o,c)||co(a,c)&&s.has.call(o,a)||co(l,c)&&s.has.call(o,l)||(o.add(c),na(o,"add",c,c)),this},set(a,o){!t&&!Yr(o)&&!ia(o)&&(o=Rt(o));const s=Rt(this),{has:l,get:c}=Gi(s);let h=l.call(s,a);h||(a=Rt(a),h=l.call(s,a));const f=c.call(s,a);return s.set(a,o),h?co(o,f)&&na(s,"set",a,o):na(s,"add",a,o),this},delete(a){const o=Rt(this),{has:s,get:l}=Gi(o);let c=s.call(o,a);c||(a=Rt(a),c=s.call(o,a)),l&&l.call(o,a);const h=o.delete(a);return c&&na(o,"delete",a,void 0),h},clear(){const a=Rt(this),o=a.size!==0,s=a.clear();return o&&na(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Cg(a,e,t)}),n}function Ic(e,t){const n=Sg(e,t);return(r,a,o)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?r:Reflect.get($t(n,a)&&a in r?n:r,a,o)}const xg={get:Ic(!1,!1)},Ag={get:Ic(!1,!0)},Eg={get:Ic(!0,!1)};const Yh=new WeakMap,Qh=new WeakMap,Jh=new WeakMap,Ig=new WeakMap;function Rg(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Pg(e){return e.__v_skip||!Object.isExtensible(e)?0:Rg(tg(e))}function $l(e){return ia(e)?e:Rc(e,!1,_g,xg,Yh)}function Xh(e){return Rc(e,!1,kg,Ag,Qh)}function Ku(e){return Rc(e,!0,Tg,Eg,Jh)}function Rc(e,t,n,r,a){if(!Nt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=Pg(e);if(o===0)return e;const s=a.get(e);if(s)return s;const l=new Proxy(e,o===2?r:n);return a.set(e,l),l}function Xa(e){return ia(e)?Xa(e.__v_raw):!!(e&&e.__v_isReactive)}function ia(e){return!!(e&&e.__v_isReadonly)}function Yr(e){return!!(e&&e.__v_isShallow)}function Pc(e){return e?!!e.__v_raw:!1}function Rt(e){const t=e&&e.__v_raw;return t?Rt(t):e}function Mg(e){return!$t(e,"__v_skip")&&Object.isExtensible(e)&&$h(e,"__v_skip",!0),e}const vo=e=>Nt(e)?$l(e):e,Ms=e=>Nt(e)?Ku(e):e;function Xn(e){return e?e.__v_isRef===!0:!1}function A(e){return Zh(e,!1)}function $g(e){return Zh(e,!0)}function Zh(e,t){return Xn(e)?e:new Ng(e,t)}class Ng{constructor(t,n){this.dep=new Ec,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Rt(t),this._value=n?t:vo(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Yr(t)||ia(t);t=r?t:Rt(t),co(t,n)&&(this._rawValue=t,this._value=r?t:vo(t),this.dep.trigger())}}function S(e){return Xn(e)?e.value:e}const Lg={get:(e,t,n)=>t==="__v_raw"?e:S(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const a=e[t];return Xn(a)&&!Xn(n)?(a.value=n,!0):Reflect.set(e,t,n,r)}};function ep(e){return Xa(e)?e:new Proxy(e,Lg)}class Og{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ec(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ht!==this)return Uh(this,!0),!0}get value(){const t=this.dep.track();return Hh(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function jg(e,t,n=!1){let r,a;return ct(e)?r=e:(r=e.get,a=e.set),new Og(r,a,n)}const Yi={},ml=new WeakMap;let za;function Dg(e,t=!1,n=za){if(n){let r=ml.get(n);r||ml.set(n,r=[]),r.push(e)}}function Fg(e,t,n=Ut){const{immediate:r,deep:a,once:o,scheduler:s,augmentJob:l,call:c}=n,h=X=>a?X:Yr(X)||a===!1||a===0?ra(X,1):ra(X);let f,g,_,E,O=!1,H=!1;if(Xn(e)?(g=()=>e.value,O=Yr(e)):Xa(e)?(g=()=>h(e),O=!0):nt(e)?(H=!0,O=e.some(X=>Xa(X)||Yr(X)),g=()=>e.map(X=>{if(Xn(X))return X.value;if(Xa(X))return h(X);if(ct(X))return c?c(X,2):X()})):ct(e)?t?g=c?()=>c(e,2):e:g=()=>{if(_){aa();try{_()}finally{sa()}}const X=za;za=f;try{return c?c(e,3,[E]):e(E)}finally{za=X}}:g=Oo,t&&a){const X=g,ye=a===!0?1/0:a;g=()=>ra(X(),ye)}const ne=hg(),j=()=>{f.stop(),ne&&ne.active&&Tc(ne.effects,f)};if(o&&t){const X=t;t=(...ye)=>{X(...ye),j()}}let D=H?new Array(e.length).fill(Yi):Yi;const K=X=>{if(!(!(f.flags&1)||!f.dirty&&!X))if(t){const ye=f.run();if(a||O||(H?ye.some((de,be)=>co(de,D[be])):co(ye,D))){_&&_();const de=za;za=f;try{const be=[ye,D===Yi?void 0:H&&D[0]===Yi?[]:D,E];D=ye,c?c(t,3,be):t(...be)}finally{za=de}}}else f.run()};return l&&l(K),f=new Dh(g),f.scheduler=s?()=>s(K,!1):K,E=X=>Dg(X,!1,f),_=f.onStop=()=>{const X=ml.get(f);if(X){if(c)c(X,4);else for(const ye of X)ye();ml.delete(f)}},t?r?K(!0):D=f.run():s?s(K.bind(null,!0),!0):f.run(),j.pause=f.pause.bind(f),j.resume=f.resume.bind(f),j.stop=j,j}function ra(e,t=1/0,n){if(t<=0||!Nt(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xn(e))ra(e.value,t,n);else if(nt(e))for(let r=0;r<e.length;r++)ra(e[r],t,n);else if(El(e)||Ss(e))e.forEach(r=>{ra(r,t,n)});else if(Mh(e)){for(const r in e)ra(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ra(e[r],t,n)}return e}/**
11
- * @vue/runtime-core v3.5.31
12
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
13
- * @license MIT
14
- **/function Ei(e,t,n,r){try{return r?e(...r):e()}catch(a){Ii(a,t,n)}}function go(e,t,n,r){if(ct(e)){const a=Ei(e,t,n,r);return a&&Rh(a)&&a.catch(o=>{Ii(o,t,n)}),a}if(nt(e)){const a=[];for(let o=0;o<e.length;o++)a.push(go(e[o],t,n,r));return a}}function Ii(e,t,n,r=!0){const a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||Ut;if(t){let l=t.parent;const c=t.proxy,h=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let g=0;g<f.length;g++)if(f[g](e,c,h)===!1)return}l=l.parent}if(o){aa(),Ei(o,null,10,[e,c,h]),sa();return}}Ug(e,n,a,r,s)}function Ug(e,t,n,r=!0,a=!1){if(a)throw e;console.error(e)}const cr=[];let Po=-1;const xs=[];let Ca=null,gs=0;const tp=Promise.resolve();let vl=null;function Jt(e){const t=vl||tp;return e?t.then(this?e.bind(this):e):t}function Bg(e){let t=Po+1,n=cr.length;for(;t<n;){const r=t+n>>>1,a=cr[r],o=_i(a);o<e||o===e&&a.flags&2?t=r+1:n=r}return t}function Mc(e){if(!(e.flags&1)){const t=_i(e),n=cr[cr.length-1];!n||!(e.flags&2)&&t>=_i(n)?cr.push(e):cr.splice(Bg(t),0,e),e.flags|=1,np()}}function np(){vl||(vl=tp.then(op))}function qg(e){nt(e)?xs.push(...e):Ca&&e.id===-1?Ca.splice(gs+1,0,e):e.flags&1||(xs.push(e),e.flags|=1),np()}function xd(e,t,n=Po+1){for(;n<cr.length;n++){const r=cr[n];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;cr.splice(n,1),n--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function rp(e){if(xs.length){const t=[...new Set(xs)].sort((n,r)=>_i(n)-_i(r));if(xs.length=0,Ca){Ca.push(...t);return}for(Ca=t,gs=0;gs<Ca.length;gs++){const n=Ca[gs];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Ca=null,gs=0}}const _i=e=>e.id==null?e.flags&2?-1:1/0:e.id;function op(e){try{for(Po=0;Po<cr.length;Po++){const t=cr[Po];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ei(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Po<cr.length;Po++){const t=cr[Po];t&&(t.flags&=-2)}Po=-1,cr.length=0,rp(),vl=null,(cr.length||xs.length)&&op()}}let Bn=null,ap=null;function gl(e){const t=Bn;return Bn=e,ap=e&&e.type.__scopeId||null,t}function ht(e,t=Bn,n){if(!t||e._n)return e;const r=(...a)=>{r._d&&bl(-1);const o=gl(t);let s;try{s=e(...a)}finally{gl(o),r._d&&bl(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function en(e,t){if(Bn===null)return e;const n=Dl(Bn),r=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[o,s,l,c=Ut]=t[a];o&&(ct(o)&&(o={mounted:o,updated:o}),o.deep&&ra(s),r.push({dir:o,instance:n,value:s,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ba(e,t,n,r){const a=e.dirs,o=t&&t.dirs;for(let s=0;s<a.length;s++){const l=a[s];o&&(l.oldValue=o[s].value);let c=l.dir[r];c&&(aa(),go(c,n,8,[e.el,l,e,t]),sa())}}function ul(e,t){if(Un){let n=Un.provides;const r=Un.parent&&Un.parent.provides;r===n&&(n=Un.provides=Object.create(r)),n[e]=t}}function po(e,t,n=!1){const r=Fc();if(r||Es){let a=Es?Es._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(a&&e in a)return a[e];if(arguments.length>1)return n&&ct(t)?t.call(r&&r.proxy):t}}const Hg=Symbol.for("v-scx"),Wg=()=>po(Hg);function pt(e,t,n){return sp(e,t,n)}function sp(e,t,n=Ut){const{immediate:r,deep:a,flush:o,once:s}=n,l=En({},n),c=t&&r||!t&&o!=="post";let h;if(Ns){if(o==="sync"){const E=Wg();h=E.__watcherHandles||(E.__watcherHandles=[])}else if(!c){const E=()=>{};return E.stop=Oo,E.resume=Oo,E.pause=Oo,E}}const f=Un;l.call=(E,O,H)=>go(E,f,O,H);let g=!1;o==="post"?l.scheduler=E=>{Yn(E,f&&f.suspense)}:o!=="sync"&&(g=!0,l.scheduler=(E,O)=>{O?E():Mc(E)}),l.augmentJob=E=>{t&&(E.flags|=4),g&&(E.flags|=2,f&&(E.id=f.uid,E.i=f))};const _=Fg(e,t,l);return Ns&&(h?h.push(_):c&&_()),_}function zg(e,t,n){const r=this.proxy,a=tn(e)?e.includes(".")?ip(r,e):()=>r[e]:e.bind(r,r);let o;ct(t)?o=t:(o=t.handler,n=t);const s=Pi(this),l=sp(a,o.bind(r),n);return s(),l}function ip(e,t){const n=t.split(".");return()=>{let r=e;for(let a=0;a<n.length&&r;a++)r=r[n[a]];return r}}const lp=Symbol("_vte"),up=e=>e.__isTeleport,fi=e=>e&&(e.disabled||e.disabled===""),Vg=e=>e&&(e.defer||e.defer===""),Ad=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ed=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Yu=(e,t)=>{const n=e&&e.to;return tn(n)?t?t(n):null:n},cp={name:"Teleport",__isTeleport:!0,process(e,t,n,r,a,o,s,l,c,h){const{mc:f,pc:g,pbc:_,o:{insert:E,querySelector:O,createText:H,createComment:ne}}=h,j=fi(t.props);let{shapeFlag:D,children:K,dynamicChildren:X}=t;if(e==null){const ye=t.el=H(""),de=t.anchor=H("");E(ye,n,r),E(de,n,r);const be=(G,me)=>{D&16&&f(K,G,me,a,o,s,l,c)},Le=()=>{const G=t.target=Yu(t.props,O),me=Qu(G,t,H,E);G&&(s!=="svg"&&Ad(G)?s="svg":s!=="mathml"&&Ed(G)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(G),j||(be(G,me),cl(t,!1)))};j&&(be(n,de),cl(t,!0)),Vg(t.props)||o&&o.pendingBranch?(t.el.__isMounted=!1,Yn(()=>{t.el.__isMounted===!1&&(Le(),delete t.el.__isMounted)},o)):Le()}else{t.el=e.el,t.targetStart=e.targetStart;const ye=t.anchor=e.anchor,de=t.target=e.target,be=t.targetAnchor=e.targetAnchor;if(e.el.__isMounted===!1){Yn(()=>{cp.process(e,t,n,r,a,o,s,l,c,h)},o);return}const Le=fi(e.props),G=Le?n:de,me=Le?ye:be;if(s==="svg"||Ad(de)?s="svg":(s==="mathml"||Ed(de))&&(s="mathml"),X?(_(e.dynamicChildren,X,G,a,o,s,l),jc(e,t,!0)):c||g(e,t,G,me,a,o,s,l,!1),j)Le?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Qi(t,n,ye,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ke=t.target=Yu(t.props,O);ke&&Qi(t,ke,null,h,0)}else Le&&Qi(t,de,be,h,1);cl(t,j)}},remove(e,t,n,{um:r,o:{remove:a}},o){const{shapeFlag:s,children:l,anchor:c,targetStart:h,targetAnchor:f,target:g,props:_}=e;if(g&&(a(h),a(f)),o&&a(c),s&16){const E=o||!fi(_);for(let O=0;O<l.length;O++){const H=l[O];r(H,t,n,E,!!H.dynamicChildren)}}},move:Qi,hydrate:Gg};function Qi(e,t,n,{o:{insert:r},m:a},o=2){o===0&&r(e.targetAnchor,t,n);const{el:s,anchor:l,shapeFlag:c,children:h,props:f}=e,g=o===2;if(g&&r(s,t,n),(!g||fi(f))&&c&16)for(let _=0;_<h.length;_++)a(h[_],t,n,2);g&&r(l,t,n)}function Gg(e,t,n,r,a,o,{o:{nextSibling:s,parentNode:l,querySelector:c,insert:h,createText:f}},g){function _(ne,j){let D=j;for(;D;){if(D&&D.nodeType===8){if(D.data==="teleport start anchor")t.targetStart=D;else if(D.data==="teleport anchor"){t.targetAnchor=D,ne._lpa=t.targetAnchor&&s(t.targetAnchor);break}}D=s(D)}}function E(ne,j){j.anchor=g(s(ne),j,l(ne),n,r,a,o)}const O=t.target=Yu(t.props,c),H=fi(t.props);if(O){const ne=O._lpa||O.firstChild;t.shapeFlag&16&&(H?(E(e,t),_(O,ne),t.targetAnchor||Qu(O,t,f,h,l(e)===O?e:null)):(t.anchor=s(e),_(O,ne),t.targetAnchor||Qu(O,t,f,h),g(ne&&s(ne),t,O,n,r,a,o))),cl(t,H)}else H&&t.shapeFlag&16&&(E(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const Ka=cp;function cl(e,t){const n=e.ctx;if(n&&n.ut){let r,a;for(t?(r=e.el,a=e.anchor):(r=e.targetStart,a=e.targetAnchor);r&&r!==a;)r.nodeType===1&&r.setAttribute("data-v-owner",n.uid),r=r.nextSibling;n.ut()}}function Qu(e,t,n,r,a=null){const o=t.targetStart=n(""),s=t.targetAnchor=n("");return o[lp]=s,e&&(r(o,e,a),r(s,e,a)),s}const Mo=Symbol("_leaveCb"),ni=Symbol("_enterCb");function Kg(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ca(()=>{e.isMounted=!0}),Ra(()=>{e.isUnmounting=!0}),e}const Kr=[Function,Array],dp={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Kr,onEnter:Kr,onAfterEnter:Kr,onEnterCancelled:Kr,onBeforeLeave:Kr,onLeave:Kr,onAfterLeave:Kr,onLeaveCancelled:Kr,onBeforeAppear:Kr,onAppear:Kr,onAfterAppear:Kr,onAppearCancelled:Kr},fp=e=>{const t=e.subTree;return t.component?fp(t.component):t},Yg={name:"BaseTransition",props:dp,setup(e,{slots:t}){const n=Fc(),r=Kg();return()=>{const a=t.default&&mp(t.default(),!0);if(!a||!a.length)return;const o=hp(a),s=Rt(e),{mode:l}=s;if(r.isLeaving)return gu(o);const c=Id(o);if(!c)return gu(o);let h=Ju(c,s,r,n,g=>h=g);c.type!==Jn&&Ti(c,h);let f=n.subTree&&Id(n.subTree);if(f&&f.type!==Jn&&!Va(f,c)&&fp(n).type!==Jn){let g=Ju(f,s,r,n);if(Ti(f,g),l==="out-in"&&c.type!==Jn)return r.isLeaving=!0,g.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave,f=void 0},gu(o);l==="in-out"&&c.type!==Jn?g.delayLeave=(_,E,O)=>{const H=pp(r,f);H[String(f.key)]=f,_[Mo]=()=>{E(),_[Mo]=void 0,delete h.delayedLeave,f=void 0},h.delayedLeave=()=>{O(),delete h.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return o}}};function hp(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Jn){t=n;break}}return t}const Qg=Yg;function pp(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ju(e,t,n,r,a){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:h,onAfterEnter:f,onEnterCancelled:g,onBeforeLeave:_,onLeave:E,onAfterLeave:O,onLeaveCancelled:H,onBeforeAppear:ne,onAppear:j,onAfterAppear:D,onAppearCancelled:K}=t,X=String(e.key),ye=pp(n,e),de=(G,me)=>{G&&go(G,r,9,me)},be=(G,me)=>{const ke=me[1];de(G,me),nt(G)?G.every(oe=>oe.length<=1)&&ke():G.length<=1&&ke()},Le={mode:s,persisted:l,beforeEnter(G){let me=c;if(!n.isMounted)if(o)me=ne||c;else return;G[Mo]&&G[Mo](!0);const ke=ye[X];ke&&Va(e,ke)&&ke.el[Mo]&&ke.el[Mo](),de(me,[G])},enter(G){if(ye[X]===e)return;let me=h,ke=f,oe=g;if(!n.isMounted)if(o)me=j||h,ke=D||f,oe=K||g;else return;let Se=!1;G[ni]=Be=>{Se||(Se=!0,Be?de(oe,[G]):de(ke,[G]),Le.delayedLeave&&Le.delayedLeave(),G[ni]=void 0)};const Ue=G[ni].bind(null,!1);me?be(me,[G,Ue]):Ue()},leave(G,me){const ke=String(e.key);if(G[ni]&&G[ni](!0),n.isUnmounting)return me();de(_,[G]);let oe=!1;G[Mo]=Ue=>{oe||(oe=!0,me(),Ue?de(H,[G]):de(O,[G]),G[Mo]=void 0,ye[ke]===e&&delete ye[ke])};const Se=G[Mo].bind(null,!1);ye[ke]=e,E?be(E,[G,Se]):Se()},clone(G){const me=Ju(G,t,n,r,a);return a&&a(me),me}};return Le}function gu(e){if(Ri(e))return e=Ea(e),e.children=null,e}function Id(e){if(!Ri(e))return up(e.type)&&e.children?hp(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ct(n.default))return n.default()}}function Ti(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ti(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function mp(e,t=!1,n){let r=[],a=0;for(let o=0;o<e.length;o++){let s=e[o];const l=n==null?s.key:String(n)+String(s.key!=null?s.key:o);s.type===Ye?(s.patchFlag&128&&a++,r=r.concat(mp(s.children,t,l))):(t||s.type!==Jn)&&r.push(l!=null?Ea(s,{key:l}):s)}if(a>1)for(let o=0;o<r.length;o++)r[o].patchFlag=-2;return r}function qn(e,t){return ct(e)?En({name:e.name},t,{setup:e}):e}function $c(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Rd(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const yl=new WeakMap;function hi(e,t,n,r,a=!1){if(nt(e)){e.forEach((H,ne)=>hi(H,t&&(nt(t)?t[ne]:t),n,r,a));return}if(As(r)&&!a){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&hi(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Dl(r.component):r.el,s=a?null:o,{i:l,r:c}=e,h=t&&t.r,f=l.refs===Ut?l.refs={}:l.refs,g=l.setupState,_=Rt(g),E=g===Ut?Ih:H=>Rd(f,H)?!1:$t(_,H),O=(H,ne)=>!(ne&&Rd(f,ne));if(h!=null&&h!==c){if(Pd(t),tn(h))f[h]=null,E(h)&&(g[h]=null);else if(Xn(h)){const H=t;O(h,H.k)&&(h.value=null),H.k&&(f[H.k]=null)}}if(ct(c))Ei(c,l,12,[s,f]);else{const H=tn(c),ne=Xn(c);if(H||ne){const j=()=>{if(e.f){const D=H?E(c)?g[c]:f[c]:O()||!e.k?c.value:f[e.k];if(a)nt(D)&&Tc(D,o);else if(nt(D))D.includes(o)||D.push(o);else if(H)f[c]=[o],E(c)&&(g[c]=f[c]);else{const K=[o];O(c,e.k)&&(c.value=K),e.k&&(f[e.k]=K)}}else H?(f[c]=s,E(c)&&(g[c]=s)):ne&&(O(c,e.k)&&(c.value=s),e.k&&(f[e.k]=s))};if(s){const D=()=>{j(),yl.delete(e)};D.id=-1,yl.set(e,D),Yn(D,n)}else Pd(e),j()}}}function Pd(e){const t=yl.get(e);t&&(t.flags|=8,yl.delete(e))}const Md=e=>e.nodeType===8;Pl().requestIdleCallback;Pl().cancelIdleCallback;function Jg(e,t){if(Md(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Md(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const As=e=>!!e.type.__asyncLoader;function Ji(e){ct(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:a=200,hydrate:o,timeout:s,suspensible:l=!0,onError:c}=e;let h=null,f,g=0;const _=()=>(g++,h=null,E()),E=()=>{let O;return h||(O=h=t().catch(H=>{if(H=H instanceof Error?H:new Error(String(H)),c)return new Promise((ne,j)=>{c(H,()=>ne(_()),()=>j(H),g+1)});throw H}).then(H=>O!==h&&h?h:(H&&(H.__esModule||H[Symbol.toStringTag]==="Module")&&(H=H.default),f=H,H)))};return qn({name:"AsyncComponentWrapper",__asyncLoader:E,__asyncHydrate(O,H,ne){let j=!1;(H.bu||(H.bu=[])).push(()=>j=!0);const D=()=>{j||ne()},K=o?()=>{const X=o(D,ye=>Jg(O,ye));X&&(H.bum||(H.bum=[])).push(X)}:D;f?K():E().then(()=>!H.isUnmounted&&K())},get __asyncResolved(){return f},setup(){const O=Un;if($c(O),f)return()=>Xi(f,O);const H=K=>{h=null,Ii(K,O,13,!r)};if(l&&O.suspense||Ns)return E().then(K=>()=>Xi(K,O)).catch(K=>(H(K),()=>r?Oe(r,{error:K}):null));const ne=A(!1),j=A(),D=A(!!a);return a&&setTimeout(()=>{D.value=!1},a),s!=null&&setTimeout(()=>{if(!ne.value&&!j.value){const K=new Error(`Async component timed out after ${s}ms.`);H(K),j.value=K}},s),E().then(()=>{ne.value=!0,O.parent&&Ri(O.parent.vnode)&&O.parent.update()}).catch(K=>{H(K),j.value=K}),()=>{if(ne.value&&f)return Xi(f,O);if(j.value&&r)return Oe(r,{error:j.value});if(n&&!D.value)return Xi(n,O)}}})}function Xi(e,t){const{ref:n,props:r,children:a,ce:o}=t.vnode,s=Oe(e,r,a);return s.ref=n,s.ce=o,delete t.vnode.ce,s}const Ri=e=>e.type.__isKeepAlive;function Xg(e,t){vp(e,"a",t)}function Zg(e,t){vp(e,"da",t)}function vp(e,t,n=Un){const r=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Nl(t,r,n),n){let a=n.parent;for(;a&&a.parent;)Ri(a.parent.vnode)&&ey(r,t,n,a),a=a.parent}}function ey(e,t,n,r){const a=Nl(t,e,r,!0);Ll(()=>{Tc(r[t],a)},n)}function Nl(e,t,n=Un,r=!1){if(n){const a=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{aa();const l=Pi(n),c=go(t,n,e,s);return l(),sa(),c});return r?a.unshift(o):a.push(o),o}}const ua=e=>(t,n=Un)=>{(!Ns||e==="sp")&&Nl(e,(...r)=>t(...r),n)},ty=ua("bm"),ca=ua("m"),ny=ua("bu"),ry=ua("u"),Ra=ua("bum"),Ll=ua("um"),oy=ua("sp"),ay=ua("rtg"),sy=ua("rtc");function iy(e,t=Un){Nl("ec",e,t)}const ly="components",gp=Symbol.for("v-ndc");function Nc(e){return tn(e)?uy(ly,e,!1)||e:e||gp}function uy(e,t,n=!0,r=!1){const a=Bn||Un;if(a){const o=a.type;{const l=Gy(o,!1);if(l&&(l===t||l===fr(t)||l===Rl(fr(t))))return o}const s=$d(a[e]||o[e],t)||$d(a.appContext[e],t);return!s&&r?o:s}}function $d(e,t){return e&&(e[t]||e[fr(t)]||e[Rl(fr(t))])}function Kt(e,t,n,r){let a;const o=n,s=nt(e);if(s||tn(e)){const l=s&&Xa(e);let c=!1,h=!1;l&&(c=!Yr(e),h=ia(e),e=Ml(e)),a=new Array(e.length);for(let f=0,g=e.length;f<g;f++)a[f]=t(c?h?Ms(vo(e[f])):vo(e[f]):e[f],f,void 0,o)}else if(typeof e=="number"){a=new Array(e);for(let l=0;l<e;l++)a[l]=t(l+1,l,void 0,o)}else if(Nt(e))if(e[Symbol.iterator])a=Array.from(e,(l,c)=>t(l,c,void 0,o));else{const l=Object.keys(e);a=new Array(l.length);for(let c=0,h=l.length;c<h;c++){const f=l[c];a[c]=t(e[f],f,c,o)}}else a=[];return a}function Lo(e,t,n={},r,a){if(Bn.ce||Bn.parent&&As(Bn.parent)&&Bn.parent.ce){const h=Object.keys(n).length>0;return t!=="default"&&(n.name=t),k(),Ze(Ye,null,[Oe("slot",n,r)],h?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),k();const s=o&&yp(o(n)),l=n.key||s&&s.key,c=Ze(Ye,{key:(l&&!mo(l)?l:`_${t}`)+(!s&&r?"_fb":"")},s||[],s&&e._===1?64:-2);return o&&o._c&&(o._d=!0),c}function yp(e){return e.some(t=>ki(t)?!(t.type===Jn||t.type===Ye&&!yp(t.children)):!0)?e:null}const Xu=e=>e?Dp(e)?Dl(e):Xu(e.parent):null,pi=En(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xu(e.parent),$root:e=>Xu(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>bp(e),$forceUpdate:e=>e.f||(e.f=()=>{Mc(e.update)}),$nextTick:e=>e.n||(e.n=Jt.bind(e.proxy)),$watch:e=>zg.bind(e)}),yu=(e,t)=>e!==Ut&&!e.__isScriptSetup&&$t(e,t),cy={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:a,props:o,accessCache:s,type:l,appContext:c}=e;if(t[0]!=="$"){const _=s[t];if(_!==void 0)switch(_){case 1:return r[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else{if(yu(r,t))return s[t]=1,r[t];if(a!==Ut&&$t(a,t))return s[t]=2,a[t];if($t(o,t))return s[t]=3,o[t];if(n!==Ut&&$t(n,t))return s[t]=4,n[t];Zu&&(s[t]=0)}}const h=pi[t];let f,g;if(h)return t==="$attrs"&&Qn(e.attrs,"get",""),h(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==Ut&&$t(n,t))return s[t]=4,n[t];if(g=c.config.globalProperties,$t(g,t))return g[t]},set({_:e},t,n){const{data:r,setupState:a,ctx:o}=e;return yu(a,t)?(a[t]=n,!0):r!==Ut&&$t(r,t)?(r[t]=n,!0):$t(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:a,props:o,type:s}},l){let c;return!!(n[l]||e!==Ut&&l[0]!=="$"&&$t(e,l)||yu(t,l)||$t(o,l)||$t(r,l)||$t(pi,l)||$t(a.config.globalProperties,l)||(c=s.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$t(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function dy(){return fy().slots}function fy(e){const t=Fc();return t.setupContext||(t.setupContext=Up(t))}function Nd(e){return nt(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Zu=!0;function hy(e){const t=bp(e),n=e.proxy,r=e.ctx;Zu=!1,t.beforeCreate&&Ld(t.beforeCreate,e,"bc");const{data:a,computed:o,methods:s,watch:l,provide:c,inject:h,created:f,beforeMount:g,mounted:_,beforeUpdate:E,updated:O,activated:H,deactivated:ne,beforeDestroy:j,beforeUnmount:D,destroyed:K,unmounted:X,render:ye,renderTracked:de,renderTriggered:be,errorCaptured:Le,serverPrefetch:G,expose:me,inheritAttrs:ke,components:oe,directives:Se,filters:Ue}=t;if(h&&py(h,r,null),s)for(const Ne in s){const Ce=s[Ne];ct(Ce)&&(r[Ne]=Ce.bind(n))}if(a){const Ne=a.call(n,n);Nt(Ne)&&(e.data=$l(Ne))}if(Zu=!0,o)for(const Ne in o){const Ce=o[Ne],Qe=ct(Ce)?Ce.bind(n,n):ct(Ce.get)?Ce.get.bind(n,n):Oo,tt=!ct(Ce)&&ct(Ce.set)?Ce.set.bind(n):Oo,Fe=te({get:Qe,set:tt});Object.defineProperty(r,Ne,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:He=>Fe.value=He})}if(l)for(const Ne in l)wp(l[Ne],r,n,Ne);if(c){const Ne=ct(c)?c.call(n):c;Reflect.ownKeys(Ne).forEach(Ce=>{ul(Ce,Ne[Ce])})}f&&Ld(f,e,"c");function Ke(Ne,Ce){nt(Ce)?Ce.forEach(Qe=>Ne(Qe.bind(n))):Ce&&Ne(Ce.bind(n))}if(Ke(ty,g),Ke(ca,_),Ke(ny,E),Ke(ry,O),Ke(Xg,H),Ke(Zg,ne),Ke(iy,Le),Ke(sy,de),Ke(ay,be),Ke(Ra,D),Ke(Ll,X),Ke(oy,G),nt(me))if(me.length){const Ne=e.exposed||(e.exposed={});me.forEach(Ce=>{Object.defineProperty(Ne,Ce,{get:()=>n[Ce],set:Qe=>n[Ce]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});ye&&e.render===Oo&&(e.render=ye),ke!=null&&(e.inheritAttrs=ke),oe&&(e.components=oe),Se&&(e.directives=Se),G&&$c(e)}function py(e,t,n=Oo){nt(e)&&(e=ec(e));for(const r in e){const a=e[r];let o;Nt(a)?"default"in a?o=po(a.from||r,a.default,!0):o=po(a.from||r):o=po(a),Xn(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:s=>o.value=s}):t[r]=o}}function Ld(e,t,n){go(nt(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function wp(e,t,n,r){let a=r.includes(".")?ip(n,r):()=>n[r];if(tn(e)){const o=t[e];ct(o)&&pt(a,o)}else if(ct(e))pt(a,e.bind(n));else if(Nt(e))if(nt(e))e.forEach(o=>wp(o,t,n,r));else{const o=ct(e.handler)?e.handler.bind(n):t[e.handler];ct(o)&&pt(a,o,e)}}function bp(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:a,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,l=o.get(t);let c;return l?c=l:!a.length&&!n&&!r?c=t:(c={},a.length&&a.forEach(h=>wl(c,h,s,!0)),wl(c,t,s)),Nt(t)&&o.set(t,c),c}function wl(e,t,n,r=!1){const{mixins:a,extends:o}=t;o&&wl(e,o,n,!0),a&&a.forEach(s=>wl(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const l=my[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const my={data:Od,props:jd,emits:jd,methods:si,computed:si,beforeCreate:lr,created:lr,beforeMount:lr,mounted:lr,beforeUpdate:lr,updated:lr,beforeDestroy:lr,beforeUnmount:lr,destroyed:lr,unmounted:lr,activated:lr,deactivated:lr,errorCaptured:lr,serverPrefetch:lr,components:si,directives:si,watch:gy,provide:Od,inject:vy};function Od(e,t){return t?e?function(){return En(ct(e)?e.call(this,this):e,ct(t)?t.call(this,this):t)}:t:e}function vy(e,t){return si(ec(e),ec(t))}function ec(e){if(nt(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function lr(e,t){return e?[...new Set([].concat(e,t))]:t}function si(e,t){return e?En(Object.create(null),e,t):t}function jd(e,t){return e?nt(e)&&nt(t)?[...new Set([...e,...t])]:En(Object.create(null),Nd(e),Nd(t??{})):t}function gy(e,t){if(!e)return t;if(!t)return e;const n=En(Object.create(null),e);for(const r in t)n[r]=lr(e[r],t[r]);return n}function _p(){return{app:null,config:{isNativeTag:Ih,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let yy=0;function wy(e,t){return function(r,a=null){ct(r)||(r=En({},r)),a!=null&&!Nt(a)&&(a=null);const o=_p(),s=new WeakSet,l=[];let c=!1;const h=o.app={_uid:yy++,_component:r,_props:a,_container:null,_context:o,_instance:null,version:Qy,get config(){return o.config},set config(f){},use(f,...g){return s.has(f)||(f&&ct(f.install)?(s.add(f),f.install(h,...g)):ct(f)&&(s.add(f),f(h,...g))),h},mixin(f){return o.mixins.includes(f)||o.mixins.push(f),h},component(f,g){return g?(o.components[f]=g,h):o.components[f]},directive(f,g){return g?(o.directives[f]=g,h):o.directives[f]},mount(f,g,_){if(!c){const E=h._ceVNode||Oe(r,a);return E.appContext=o,_===!0?_="svg":_===!1&&(_=void 0),e(E,f,_),c=!0,h._container=f,f.__vue_app__=h,Dl(E.component)}},onUnmount(f){l.push(f)},unmount(){c&&(go(l,h._instance,16),e(null,h._container),delete h._container.__vue_app__)},provide(f,g){return o.provides[f]=g,h},runWithContext(f){const g=Es;Es=h;try{return f()}finally{Es=g}}};return h}}let Es=null;const by=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${fr(t)}Modifiers`]||e[`${Ia(t)}Modifiers`];function _y(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ut;let a=n;const o=t.startsWith("update:"),s=o&&by(r,t.slice(7));s&&(s.trim&&(a=n.map(f=>tn(f)?f.trim():f)),s.number&&(a=n.map(Cc)));let l,c=r[l=fu(t)]||r[l=fu(fr(t))];!c&&o&&(c=r[l=fu(Ia(t))]),c&&go(c,e,6,a);const h=r[l+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,go(h,e,6,a)}}const Ty=new WeakMap;function Tp(e,t,n=!1){const r=n?Ty:t.emitsCache,a=r.get(e);if(a!==void 0)return a;const o=e.emits;let s={},l=!1;if(!ct(e)){const c=h=>{const f=Tp(h,t,!0);f&&(l=!0,En(s,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Nt(e)&&r.set(e,null),null):(nt(o)?o.forEach(c=>s[c]=null):En(s,o),Nt(e)&&r.set(e,s),s)}function Ol(e,t){return!e||!xl(t)?!1:(t=t.slice(2).replace(/Once$/,""),$t(e,t[0].toLowerCase()+t.slice(1))||$t(e,Ia(t))||$t(e,t))}function Dd(e){const{type:t,vnode:n,proxy:r,withProxy:a,propsOptions:[o],slots:s,attrs:l,emit:c,render:h,renderCache:f,props:g,data:_,setupState:E,ctx:O,inheritAttrs:H}=e,ne=gl(e);let j,D;try{if(n.shapeFlag&4){const X=a||r,ye=X;j=No(h.call(ye,X,f,g,E,_,O)),D=l}else{const X=t;j=No(X.length>1?X(g,{attrs:l,slots:s,emit:c}):X(g,null)),D=t.props?l:ky(l)}}catch(X){mi.length=0,Ii(X,e,1),j=Oe(Jn)}let K=j;if(D&&H!==!1){const X=Object.keys(D),{shapeFlag:ye}=K;X.length&&ye&7&&(o&&X.some(Al)&&(D=Cy(D,o)),K=Ea(K,D,!1,!0))}return n.dirs&&(K=Ea(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition&&Ti(K,n.transition),j=K,gl(ne),j}const ky=e=>{let t;for(const n in e)(n==="class"||n==="style"||xl(n))&&((t||(t={}))[n]=e[n]);return t},Cy=(e,t)=>{const n={};for(const r in e)(!Al(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Sy(e,t,n){const{props:r,children:a,component:o}=e,{props:s,children:l,patchFlag:c}=t,h=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Fd(r,s,h):!!s;if(c&8){const f=t.dynamicProps;for(let g=0;g<f.length;g++){const _=f[g];if(kp(s,r,_)&&!Ol(h,_))return!0}}}else return(a||l)&&(!l||!l.$stable)?!0:r===s?!1:r?s?Fd(r,s,h):!0:!!s;return!1}function Fd(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let a=0;a<r.length;a++){const o=r[a];if(kp(t,e,o)&&!Ol(n,o))return!0}return!1}function kp(e,t,n){const r=e[n],a=t[n];return n==="style"&&Nt(r)&&Nt(a)?!Ai(r,a):r!==a}function xy({vnode:e,parent:t,suspense:n},r){for(;t;){const a=t.subTree;if(a.suspense&&a.suspense.activeBranch===e&&(a.suspense.vnode.el=a.el=r,e=a),a===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}const Cp={},Sp=()=>Object.create(Cp),xp=e=>Object.getPrototypeOf(e)===Cp;function Ay(e,t,n,r=!1){const a={},o=Sp();e.propsDefaults=Object.create(null),Ap(e,t,a,o);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);n?e.props=r?a:Xh(a):e.type.props?e.props=a:e.props=o,e.attrs=o}function Ey(e,t,n,r){const{props:a,attrs:o,vnode:{patchFlag:s}}=e,l=Rt(a),[c]=e.propsOptions;let h=!1;if((r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let g=0;g<f.length;g++){let _=f[g];if(Ol(e.emitsOptions,_))continue;const E=t[_];if(c)if($t(o,_))E!==o[_]&&(o[_]=E,h=!0);else{const O=fr(_);a[O]=tc(c,l,O,E,e,!1)}else E!==o[_]&&(o[_]=E,h=!0)}}}else{Ap(e,t,a,o)&&(h=!0);let f;for(const g in l)(!t||!$t(t,g)&&((f=Ia(g))===g||!$t(t,f)))&&(c?n&&(n[g]!==void 0||n[f]!==void 0)&&(a[g]=tc(c,l,g,void 0,e,!0)):delete a[g]);if(o!==l)for(const g in o)(!t||!$t(t,g))&&(delete o[g],h=!0)}h&&na(e.attrs,"set","")}function Ap(e,t,n,r){const[a,o]=e.propsOptions;let s=!1,l;if(t)for(let c in t){if(ui(c))continue;const h=t[c];let f;a&&$t(a,f=fr(c))?!o||!o.includes(f)?n[f]=h:(l||(l={}))[f]=h:Ol(e.emitsOptions,c)||(!(c in r)||h!==r[c])&&(r[c]=h,s=!0)}if(o){const c=Rt(n),h=l||Ut;for(let f=0;f<o.length;f++){const g=o[f];n[g]=tc(a,c,g,h[g],e,!$t(h,g))}}return s}function tc(e,t,n,r,a,o){const s=e[n];if(s!=null){const l=$t(s,"default");if(l&&r===void 0){const c=s.default;if(s.type!==Function&&!s.skipFactory&&ct(c)){const{propsDefaults:h}=a;if(n in h)r=h[n];else{const f=Pi(a);r=h[n]=c.call(null,t),f()}}else r=c;a.ce&&a.ce._setProp(n,r)}s[0]&&(o&&!l?r=!1:s[1]&&(r===""||r===Ia(n))&&(r=!0))}return r}const Iy=new WeakMap;function Ep(e,t,n=!1){const r=n?Iy:t.propsCache,a=r.get(e);if(a)return a;const o=e.props,s={},l=[];let c=!1;if(!ct(e)){const f=g=>{c=!0;const[_,E]=Ep(g,t,!0);En(s,_),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Nt(e)&&r.set(e,Cs),Cs;if(nt(o))for(let f=0;f<o.length;f++){const g=fr(o[f]);Ud(g)&&(s[g]=Ut)}else if(o)for(const f in o){const g=fr(f);if(Ud(g)){const _=o[f],E=s[g]=nt(_)||ct(_)?{type:_}:En({},_),O=E.type;let H=!1,ne=!0;if(nt(O))for(let j=0;j<O.length;++j){const D=O[j],K=ct(D)&&D.name;if(K==="Boolean"){H=!0;break}else K==="String"&&(ne=!1)}else H=ct(O)&&O.name==="Boolean";E[0]=H,E[1]=ne,(H||$t(E,"default"))&&l.push(g)}}const h=[s,l];return Nt(e)&&r.set(e,h),h}function Ud(e){return e[0]!=="$"&&!ui(e)}const Lc=e=>e==="_"||e==="_ctx"||e==="$stable",Oc=e=>nt(e)?e.map(No):[No(e)],Ry=(e,t,n)=>{if(t._n)return t;const r=ht((...a)=>Oc(t(...a)),n);return r._c=!1,r},Ip=(e,t,n)=>{const r=e._ctx;for(const a in e){if(Lc(a))continue;const o=e[a];if(ct(o))t[a]=Ry(a,o,r);else if(o!=null){const s=Oc(o);t[a]=()=>s}}},Rp=(e,t)=>{const n=Oc(t);e.slots.default=()=>n},Pp=(e,t,n)=>{for(const r in t)(n||!Lc(r))&&(e[r]=t[r])},Py=(e,t,n)=>{const r=e.slots=Sp();if(e.vnode.shapeFlag&32){const a=t._;a?(Pp(r,t,n),n&&$h(r,"_",a,!0)):Ip(t,r)}else t&&Rp(e,t)},My=(e,t,n)=>{const{vnode:r,slots:a}=e;let o=!0,s=Ut;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Pp(a,t,n):(o=!t.$stable,Ip(t,a)),s=t}else t&&(Rp(e,t),s={default:1});if(o)for(const l in a)!Lc(l)&&s[l]==null&&delete a[l]},Yn=jy;function $y(e){return Ny(e)}function Ny(e,t){const n=Pl();n.__VUE__=!0;const{insert:r,remove:a,patchProp:o,createElement:s,createText:l,createComment:c,setText:h,setElementText:f,parentNode:g,nextSibling:_,setScopeId:E=Oo,insertStaticContent:O}=e,H=(x,P,z,ae=null,Q=null,le=null,fe=void 0,ge=null,we=!!P.dynamicChildren)=>{if(x===P)return;x&&!Va(x,P)&&(ae=Z(x),He(x,Q,le,!0),x=null),P.patchFlag===-2&&(we=!1,P.dynamicChildren=null);const{type:he,ref:je,shapeFlag:pe}=P;switch(he){case jl:ne(x,P,z,ae);break;case Jn:j(x,P,z,ae);break;case bu:x==null&&D(P,z,ae,fe);break;case Ye:oe(x,P,z,ae,Q,le,fe,ge,we);break;default:pe&1?ye(x,P,z,ae,Q,le,fe,ge,we):pe&6?Se(x,P,z,ae,Q,le,fe,ge,we):(pe&64||pe&128)&&he.process(x,P,z,ae,Q,le,fe,ge,we,De)}je!=null&&Q?hi(je,x&&x.ref,le,P||x,!P):je==null&&x&&x.ref!=null&&hi(x.ref,null,le,x,!0)},ne=(x,P,z,ae)=>{if(x==null)r(P.el=l(P.children),z,ae);else{const Q=P.el=x.el;P.children!==x.children&&h(Q,P.children)}},j=(x,P,z,ae)=>{x==null?r(P.el=c(P.children||""),z,ae):P.el=x.el},D=(x,P,z,ae)=>{[x.el,x.anchor]=O(x.children,P,z,ae,x.el,x.anchor)},K=({el:x,anchor:P},z,ae)=>{let Q;for(;x&&x!==P;)Q=_(x),r(x,z,ae),x=Q;r(P,z,ae)},X=({el:x,anchor:P})=>{let z;for(;x&&x!==P;)z=_(x),a(x),x=z;a(P)},ye=(x,P,z,ae,Q,le,fe,ge,we)=>{if(P.type==="svg"?fe="svg":P.type==="math"&&(fe="mathml"),x==null)de(P,z,ae,Q,le,fe,ge,we);else{const he=x.el&&x.el._isVueCE?x.el:null;try{he&&he._beginPatch(),G(x,P,Q,le,fe,ge,we)}finally{he&&he._endPatch()}}},de=(x,P,z,ae,Q,le,fe,ge)=>{let we,he;const{props:je,shapeFlag:pe,transition:Pe,dirs:Ie}=x;if(we=x.el=s(x.type,le,je&&je.is,je),pe&8?f(we,x.children):pe&16&&Le(x.children,we,null,ae,Q,wu(x,le),fe,ge),Ie&&Ba(x,null,ae,"created"),be(we,x,x.scopeId,fe,ae),je){for(const dt in je)dt!=="value"&&!ui(dt)&&o(we,dt,null,je[dt],le,ae);"value"in je&&o(we,"value",null,je.value,le),(he=je.onVnodeBeforeMount)&&Ro(he,ae,x)}Ie&&Ba(x,null,ae,"beforeMount");const at=Ly(Q,Pe);at&&Pe.beforeEnter(we),r(we,P,z),((he=je&&je.onVnodeMounted)||at||Ie)&&Yn(()=>{try{he&&Ro(he,ae,x),at&&Pe.enter(we),Ie&&Ba(x,null,ae,"mounted")}finally{}},Q)},be=(x,P,z,ae,Q)=>{if(z&&E(x,z),ae)for(let le=0;le<ae.length;le++)E(x,ae[le]);if(Q){let le=Q.subTree;if(P===le||Np(le.type)&&(le.ssContent===P||le.ssFallback===P)){const fe=Q.vnode;be(x,fe,fe.scopeId,fe.slotScopeIds,Q.parent)}}},Le=(x,P,z,ae,Q,le,fe,ge,we=0)=>{for(let he=we;he<x.length;he++){const je=x[he]=ge?ta(x[he]):No(x[he]);H(null,je,P,z,ae,Q,le,fe,ge)}},G=(x,P,z,ae,Q,le,fe)=>{const ge=P.el=x.el;let{patchFlag:we,dynamicChildren:he,dirs:je}=P;we|=x.patchFlag&16;const pe=x.props||Ut,Pe=P.props||Ut;let Ie;if(z&&qa(z,!1),(Ie=Pe.onVnodeBeforeUpdate)&&Ro(Ie,z,P,x),je&&Ba(P,x,z,"beforeUpdate"),z&&qa(z,!0),(pe.innerHTML&&Pe.innerHTML==null||pe.textContent&&Pe.textContent==null)&&f(ge,""),he?me(x.dynamicChildren,he,ge,z,ae,wu(P,Q),le):fe||Ce(x,P,ge,null,z,ae,wu(P,Q),le,!1),we>0){if(we&16)ke(ge,pe,Pe,z,Q);else if(we&2&&pe.class!==Pe.class&&o(ge,"class",null,Pe.class,Q),we&4&&o(ge,"style",pe.style,Pe.style,Q),we&8){const at=P.dynamicProps;for(let dt=0;dt<at.length;dt++){const lt=at[dt],gt=pe[lt],kt=Pe[lt];(kt!==gt||lt==="value")&&o(ge,lt,gt,kt,Q,z)}}we&1&&x.children!==P.children&&f(ge,P.children)}else!fe&&he==null&&ke(ge,pe,Pe,z,Q);((Ie=Pe.onVnodeUpdated)||je)&&Yn(()=>{Ie&&Ro(Ie,z,P,x),je&&Ba(P,x,z,"updated")},ae)},me=(x,P,z,ae,Q,le,fe)=>{for(let ge=0;ge<P.length;ge++){const we=x[ge],he=P[ge],je=we.el&&(we.type===Ye||!Va(we,he)||we.shapeFlag&198)?g(we.el):z;H(we,he,je,null,ae,Q,le,fe,!0)}},ke=(x,P,z,ae,Q)=>{if(P!==z){if(P!==Ut)for(const le in P)!ui(le)&&!(le in z)&&o(x,le,P[le],null,Q,ae);for(const le in z){if(ui(le))continue;const fe=z[le],ge=P[le];fe!==ge&&le!=="value"&&o(x,le,ge,fe,Q,ae)}"value"in z&&o(x,"value",P.value,z.value,Q)}},oe=(x,P,z,ae,Q,le,fe,ge,we)=>{const he=P.el=x?x.el:l(""),je=P.anchor=x?x.anchor:l("");let{patchFlag:pe,dynamicChildren:Pe,slotScopeIds:Ie}=P;Ie&&(ge=ge?ge.concat(Ie):Ie),x==null?(r(he,z,ae),r(je,z,ae),Le(P.children||[],z,je,Q,le,fe,ge,we)):pe>0&&pe&64&&Pe&&x.dynamicChildren&&x.dynamicChildren.length===Pe.length?(me(x.dynamicChildren,Pe,z,Q,le,fe,ge),(P.key!=null||Q&&P===Q.subTree)&&jc(x,P,!0)):Ce(x,P,z,je,Q,le,fe,ge,we)},Se=(x,P,z,ae,Q,le,fe,ge,we)=>{P.slotScopeIds=ge,x==null?P.shapeFlag&512?Q.ctx.activate(P,z,ae,fe,we):Ue(P,z,ae,Q,le,fe,we):Be(x,P,we)},Ue=(x,P,z,ae,Q,le,fe)=>{const ge=x.component=Hy(x,ae,Q);if(Ri(x)&&(ge.ctx.renderer=De),Wy(ge,!1,fe),ge.asyncDep){if(Q&&Q.registerDep(ge,Ke,fe),!x.el){const we=ge.subTree=Oe(Jn);j(null,we,P,z),x.placeholder=we.el}}else Ke(ge,x,P,z,Q,le,fe)},Be=(x,P,z)=>{const ae=P.component=x.component;if(Sy(x,P,z))if(ae.asyncDep&&!ae.asyncResolved){Ne(ae,P,z);return}else ae.next=P,ae.update();else P.el=x.el,ae.vnode=P},Ke=(x,P,z,ae,Q,le,fe)=>{const ge=()=>{if(x.isMounted){let{next:pe,bu:Pe,u:Ie,parent:at,vnode:dt}=x;{const U=Mp(x);if(U){pe&&(pe.el=dt.el,Ne(x,pe,fe)),U.asyncDep.then(()=>{Yn(()=>{x.isUnmounted||he()},Q)});return}}let lt=pe,gt;qa(x,!1),pe?(pe.el=dt.el,Ne(x,pe,fe)):pe=dt,Pe&&ll(Pe),(gt=pe.props&&pe.props.onVnodeBeforeUpdate)&&Ro(gt,at,pe,dt),qa(x,!0);const kt=Dd(x),q=x.subTree;x.subTree=kt,H(q,kt,g(q.el),Z(q),x,Q,le),pe.el=kt.el,lt===null&&xy(x,kt.el),Ie&&Yn(Ie,Q),(gt=pe.props&&pe.props.onVnodeUpdated)&&Yn(()=>Ro(gt,at,pe,dt),Q)}else{let pe;const{el:Pe,props:Ie}=P,{bm:at,m:dt,parent:lt,root:gt,type:kt}=x,q=As(P);qa(x,!1),at&&ll(at),!q&&(pe=Ie&&Ie.onVnodeBeforeMount)&&Ro(pe,lt,P),qa(x,!0);{gt.ce&&gt.ce._hasShadowRoot()&&gt.ce._injectChildStyle(kt,x.parent?x.parent.type:void 0);const U=x.subTree=Dd(x);H(null,U,z,ae,x,Q,le),P.el=U.el}if(dt&&Yn(dt,Q),!q&&(pe=Ie&&Ie.onVnodeMounted)){const U=P;Yn(()=>Ro(pe,lt,U),Q)}(P.shapeFlag&256||lt&&As(lt.vnode)&&lt.vnode.shapeFlag&256)&&x.a&&Yn(x.a,Q),x.isMounted=!0,P=z=ae=null}};x.scope.on();const we=x.effect=new Dh(ge);x.scope.off();const he=x.update=we.run.bind(we),je=x.job=we.runIfDirty.bind(we);je.i=x,je.id=x.uid,we.scheduler=()=>Mc(je),qa(x,!0),he()},Ne=(x,P,z)=>{P.component=x;const ae=x.vnode.props;x.vnode=P,x.next=null,Ey(x,P.props,ae,z),My(x,P.children,z),aa(),xd(x),sa()},Ce=(x,P,z,ae,Q,le,fe,ge,we=!1)=>{const he=x&&x.children,je=x?x.shapeFlag:0,pe=P.children,{patchFlag:Pe,shapeFlag:Ie}=P;if(Pe>0){if(Pe&128){tt(he,pe,z,ae,Q,le,fe,ge,we);return}else if(Pe&256){Qe(he,pe,z,ae,Q,le,fe,ge,we);return}}Ie&8?(je&16&&Tt(he,Q,le),pe!==he&&f(z,pe)):je&16?Ie&16?tt(he,pe,z,ae,Q,le,fe,ge,we):Tt(he,Q,le,!0):(je&8&&f(z,""),Ie&16&&Le(pe,z,ae,Q,le,fe,ge,we))},Qe=(x,P,z,ae,Q,le,fe,ge,we)=>{x=x||Cs,P=P||Cs;const he=x.length,je=P.length,pe=Math.min(he,je);let Pe;for(Pe=0;Pe<pe;Pe++){const Ie=P[Pe]=we?ta(P[Pe]):No(P[Pe]);H(x[Pe],Ie,z,null,Q,le,fe,ge,we)}he>je?Tt(x,Q,le,!0,!1,pe):Le(P,z,ae,Q,le,fe,ge,we,pe)},tt=(x,P,z,ae,Q,le,fe,ge,we)=>{let he=0;const je=P.length;let pe=x.length-1,Pe=je-1;for(;he<=pe&&he<=Pe;){const Ie=x[he],at=P[he]=we?ta(P[he]):No(P[he]);if(Va(Ie,at))H(Ie,at,z,null,Q,le,fe,ge,we);else break;he++}for(;he<=pe&&he<=Pe;){const Ie=x[pe],at=P[Pe]=we?ta(P[Pe]):No(P[Pe]);if(Va(Ie,at))H(Ie,at,z,null,Q,le,fe,ge,we);else break;pe--,Pe--}if(he>pe){if(he<=Pe){const Ie=Pe+1,at=Ie<je?P[Ie].el:ae;for(;he<=Pe;)H(null,P[he]=we?ta(P[he]):No(P[he]),z,at,Q,le,fe,ge,we),he++}}else if(he>Pe)for(;he<=pe;)He(x[he],Q,le,!0),he++;else{const Ie=he,at=he,dt=new Map;for(he=at;he<=Pe;he++){const Te=P[he]=we?ta(P[he]):No(P[he]);Te.key!=null&&dt.set(Te.key,he)}let lt,gt=0;const kt=Pe-at+1;let q=!1,U=0;const F=new Array(kt);for(he=0;he<kt;he++)F[he]=0;for(he=Ie;he<=pe;he++){const Te=x[he];if(gt>=kt){He(Te,Q,le,!0);continue}let $e;if(Te.key!=null)$e=dt.get(Te.key);else for(lt=at;lt<=Pe;lt++)if(F[lt-at]===0&&Va(Te,P[lt])){$e=lt;break}$e===void 0?He(Te,Q,le,!0):(F[$e-at]=he+1,$e>=U?U=$e:q=!0,H(Te,P[$e],z,null,Q,le,fe,ge,we),gt++)}const se=q?Oy(F):Cs;for(lt=se.length-1,he=kt-1;he>=0;he--){const Te=at+he,$e=P[Te],ze=P[Te+1],xt=Te+1<je?ze.el||$p(ze):ae;F[he]===0?H(null,$e,z,xt,Q,le,fe,ge,we):q&&(lt<0||he!==se[lt]?Fe($e,z,xt,2):lt--)}}},Fe=(x,P,z,ae,Q=null)=>{const{el:le,type:fe,transition:ge,children:we,shapeFlag:he}=x;if(he&6){Fe(x.component.subTree,P,z,ae);return}if(he&128){x.suspense.move(P,z,ae);return}if(he&64){fe.move(x,P,z,De);return}if(fe===Ye){r(le,P,z);for(let pe=0;pe<we.length;pe++)Fe(we[pe],P,z,ae);r(x.anchor,P,z);return}if(fe===bu){K(x,P,z);return}if(ae!==2&&he&1&&ge)if(ae===0)ge.beforeEnter(le),r(le,P,z),Yn(()=>ge.enter(le),Q);else{const{leave:pe,delayLeave:Pe,afterLeave:Ie}=ge,at=()=>{x.ctx.isUnmounted?a(le):r(le,P,z)},dt=()=>{le._isLeaving&&le[Mo](!0),pe(le,()=>{at(),Ie&&Ie()})};Pe?Pe(le,at,dt):dt()}else r(le,P,z)},He=(x,P,z,ae=!1,Q=!1)=>{const{type:le,props:fe,ref:ge,children:we,dynamicChildren:he,shapeFlag:je,patchFlag:pe,dirs:Pe,cacheIndex:Ie,memo:at}=x;if(pe===-2&&(Q=!1),ge!=null&&(aa(),hi(ge,null,z,x,!0),sa()),Ie!=null&&(P.renderCache[Ie]=void 0),je&256){P.ctx.deactivate(x);return}const dt=je&1&&Pe,lt=!As(x);let gt;if(lt&&(gt=fe&&fe.onVnodeBeforeUnmount)&&Ro(gt,P,x),je&6)We(x.component,z,ae);else{if(je&128){x.suspense.unmount(z,ae);return}dt&&Ba(x,null,P,"beforeUnmount"),je&64?x.type.remove(x,P,z,De,ae):he&&!he.hasOnce&&(le!==Ye||pe>0&&pe&64)?Tt(he,P,z,!1,!0):(le===Ye&&pe&384||!Q&&je&16)&&Tt(we,P,z),ae&&ft(x)}const kt=at!=null&&Ie==null;(lt&&(gt=fe&&fe.onVnodeUnmounted)||dt||kt)&&Yn(()=>{gt&&Ro(gt,P,x),dt&&Ba(x,null,P,"unmounted"),kt&&(x.el=null)},z)},ft=x=>{const{type:P,el:z,anchor:ae,transition:Q}=x;if(P===Ye){Je(z,ae);return}if(P===bu){X(x);return}const le=()=>{a(z),Q&&!Q.persisted&&Q.afterLeave&&Q.afterLeave()};if(x.shapeFlag&1&&Q&&!Q.persisted){const{leave:fe,delayLeave:ge}=Q,we=()=>fe(z,le);ge?ge(x.el,le,we):we()}else le()},Je=(x,P)=>{let z;for(;x!==P;)z=_(x),a(x),x=z;a(P)},We=(x,P,z)=>{const{bum:ae,scope:Q,job:le,subTree:fe,um:ge,m:we,a:he}=x;Bd(we),Bd(he),ae&&ll(ae),Q.stop(),le&&(le.flags|=8,He(fe,x,P,z)),ge&&Yn(ge,P),Yn(()=>{x.isUnmounted=!0},P)},Tt=(x,P,z,ae=!1,Q=!1,le=0)=>{for(let fe=le;fe<x.length;fe++)He(x[fe],P,z,ae,Q)},Z=x=>{if(x.shapeFlag&6)return Z(x.component.subTree);if(x.shapeFlag&128)return x.suspense.next();const P=_(x.anchor||x.el),z=P&&P[lp];return z?_(z):P};let xe=!1;const Ae=(x,P,z)=>{let ae;x==null?P._vnode&&(He(P._vnode,null,null,!0),ae=P._vnode.component):H(P._vnode||null,x,P,null,null,null,z),P._vnode=x,xe||(xe=!0,xd(ae),rp(),xe=!1)},De={p:H,um:He,m:Fe,r:ft,mt:Ue,mc:Le,pc:Ce,pbc:me,n:Z,o:e};return{render:Ae,hydrate:void 0,createApp:wy(Ae)}}function wu({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function qa({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ly(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function jc(e,t,n=!1){const r=e.children,a=t.children;if(nt(r)&&nt(a))for(let o=0;o<r.length;o++){const s=r[o];let l=a[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=a[o]=ta(a[o]),l.el=s.el),!n&&l.patchFlag!==-2&&jc(s,l)),l.type===jl&&(l.patchFlag===-1&&(l=a[o]=ta(l)),l.el=s.el),l.type===Jn&&!l.el&&(l.el=s.el)}}function Oy(e){const t=e.slice(),n=[0];let r,a,o,s,l;const c=e.length;for(r=0;r<c;r++){const h=e[r];if(h!==0){if(a=n[n.length-1],e[a]<h){t[r]=a,n.push(r);continue}for(o=0,s=n.length-1;o<s;)l=o+s>>1,e[n[l]]<h?o=l+1:s=l;h<e[n[o]]&&(o>0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,s=n[o-1];o-- >0;)n[o]=s,s=t[s];return n}function Mp(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Mp(t)}function Bd(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function $p(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?$p(t.subTree):null}const Np=e=>e.__isSuspense;function jy(e,t){t&&t.pendingBranch?nt(e)?t.effects.push(...e):t.effects.push(e):qg(e)}const Ye=Symbol.for("v-fgt"),jl=Symbol.for("v-txt"),Jn=Symbol.for("v-cmt"),bu=Symbol.for("v-stc"),mi=[];let dr=null;function k(e=!1){mi.push(dr=e?null:[])}function Dy(){mi.pop(),dr=mi[mi.length-1]||null}let $s=1;function bl(e,t=!1){$s+=e,e<0&&dr&&t&&(dr.hasOnce=!0)}function Lp(e){return e.dynamicChildren=$s>0?dr||Cs:null,Dy(),$s>0&&dr&&dr.push(e),e}function R(e,t,n,r,a,o){return Lp(m(e,t,n,r,a,o,!0))}function Ze(e,t,n,r,a){return Lp(Oe(e,t,n,r,a,!0))}function ki(e){return e?e.__v_isVNode===!0:!1}function Va(e,t){return e.type===t.type&&e.key===t.key}const Op=({key:e})=>e??null,dl=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?tn(e)||Xn(e)||ct(e)?{i:Bn,r:e,k:t,f:!!n}:e:null);function m(e,t=null,n=null,r=0,a=null,o=e===Ye?0:1,s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Op(t),ref:t&&dl(t),scopeId:ap,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Bn};return l?(Dc(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=tn(n)?8:16),$s>0&&!s&&dr&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&dr.push(c),c}const Oe=Fy;function Fy(e,t=null,n=null,r=0,a=null,o=!1){if((!e||e===gp)&&(e=Jn),ki(e)){const l=Ea(e,t,!0);return n&&Dc(l,n),$s>0&&!o&&dr&&(l.shapeFlag&6?dr[dr.indexOf(e)]=l:dr.push(l)),l.patchFlag=-2,l}if(Ky(e)&&(e=e.__vccOpts),t){t=Uy(t);let{class:l,style:c}=t;l&&!tn(l)&&(t.class=et(l)),Nt(c)&&(Pc(c)&&!nt(c)&&(c=En({},c)),t.style=oa(c))}const s=tn(e)?1:Np(e)?128:up(e)?64:Nt(e)?4:ct(e)?2:0;return m(e,t,n,r,a,s,o,!0)}function Uy(e){return e?Pc(e)||xp(e)?En({},e):e:null}function Ea(e,t,n=!1,r=!1){const{props:a,ref:o,patchFlag:s,children:l,transition:c}=e,h=t?jp(a||{},t):a,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Op(h),ref:t&&t.ref?n&&o?nt(o)?o.concat(dl(t)):[o,dl(t)]:dl(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ea(e.ssContent),ssFallback:e.ssFallback&&Ea(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Ti(f,c.clone(f)),f}function es(e=" ",t=0){return Oe(jl,null,e,t)}function J(e="",t=!1){return t?(k(),Ze(Jn,null,e)):Oe(Jn,null,e)}function No(e){return e==null||typeof e=="boolean"?Oe(Jn):nt(e)?Oe(Ye,null,e.slice()):ki(e)?ta(e):Oe(jl,null,String(e))}function ta(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ea(e)}function Dc(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(nt(t))n=16;else if(typeof t=="object")if(r&65){const a=t.default;a&&(a._c&&(a._d=!1),Dc(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!xp(t)?t._ctx=Bn:a===3&&Bn&&(Bn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ct(t)?(t={default:t,_ctx:Bn},n=32):(t=String(t),r&64?(n=16,t=[es(t)]):n=8);e.children=t,e.shapeFlag|=n}function jp(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const a in r)if(a==="class")t.class!==r.class&&(t.class=et([t.class,r.class]));else if(a==="style")t.style=oa([t.style,r.style]);else if(xl(a)){const o=t[a],s=r[a];s&&o!==s&&!(nt(o)&&o.includes(s))?t[a]=o?[].concat(o,s):s:s==null&&o==null&&!Al(a)&&(t[a]=s)}else a!==""&&(t[a]=r[a])}return t}function Ro(e,t,n,r=null){go(e,t,7,[n,r])}const By=_p();let qy=0;function Hy(e,t,n){const r=e.type,a=(t?t.appContext:e.appContext)||By,o={uid:qy++,vnode:e,type:r,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new fg(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ep(r,a),emitsOptions:Tp(r,a),emit:null,emitted:null,propsDefaults:Ut,inheritAttrs:r.inheritAttrs,ctx:Ut,data:Ut,props:Ut,attrs:Ut,slots:Ut,refs:Ut,setupState:Ut,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=_y.bind(null,o),e.ce&&e.ce(o),o}let Un=null;const Fc=()=>Un||Bn;let _l,nc;{const e=Pl(),t=(n,r)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(r),o=>{a.length>1?a.forEach(s=>s(o)):a[0](o)}};_l=t("__VUE_INSTANCE_SETTERS__",n=>Un=n),nc=t("__VUE_SSR_SETTERS__",n=>Ns=n)}const Pi=e=>{const t=Un;return _l(e),e.scope.on(),()=>{e.scope.off(),_l(t)}},qd=()=>{Un&&Un.scope.off(),_l(null)};function Dp(e){return e.vnode.shapeFlag&4}let Ns=!1;function Wy(e,t=!1,n=!1){t&&nc(t);const{props:r,children:a}=e.vnode,o=Dp(e);Ay(e,r,o,t),Py(e,a,n||t);const s=o?zy(e,t):void 0;return t&&nc(!1),s}function zy(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,cy);const{setup:r}=n;if(r){aa();const a=e.setupContext=r.length>1?Up(e):null,o=Pi(e),s=Ei(r,e,0,[e.props,a]),l=Rh(s);if(sa(),o(),(l||e.sp)&&!As(e)&&$c(e),l){if(s.then(qd,qd),t)return s.then(c=>{Hd(e,c)}).catch(c=>{Ii(c,e,0)});e.asyncDep=s}else Hd(e,s)}else Fp(e)}function Hd(e,t,n){ct(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Nt(t)&&(e.setupState=ep(t)),Fp(e)}function Fp(e,t,n){const r=e.type;e.render||(e.render=r.render||Oo);{const a=Pi(e);aa();try{hy(e)}finally{sa(),a()}}}const Vy={get(e,t){return Qn(e,"get",""),e[t]}};function Up(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Vy),slots:e.slots,emit:e.emit,expose:t}}function Dl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ep(Mg(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pi)return pi[n](e)},has(t,n){return n in t||n in pi}})):e.proxy}function Gy(e,t=!0){return ct(e)?e.displayName||e.name:e.name||t&&e.__name}function Ky(e){return ct(e)&&"__vccOpts"in e}const te=(e,t)=>jg(e,t,Ns);function Uc(e,t,n){try{bl(-1);const r=arguments.length;return r===2?Nt(t)&&!nt(t)?ki(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ki(n)&&(n=[n]),Oe(e,t,n))}finally{bl(1)}}function kM(e,t,n,r){const a=n[r];if(a&&Yy(a,e))return a;const o=t();return o.memo=e.slice(),o.cacheIndex=r,n[r]=o}function Yy(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r<n.length;r++)if(co(n[r],t[r]))return!1;return $s>0&&dr&&dr.push(e),!0}const Qy="3.5.31";/**
15
- * @vue/runtime-dom v3.5.31
16
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
17
- * @license MIT
18
- **/let rc;const Wd=typeof window<"u"&&window.trustedTypes;if(Wd)try{rc=Wd.createPolicy("vue",{createHTML:e=>e})}catch{}const Bp=rc?e=>rc.createHTML(e):e=>e,Jy="http://www.w3.org/2000/svg",Xy="http://www.w3.org/1998/Math/MathML",ea=typeof document<"u"?document:null,zd=ea&&ea.createElement("template"),Zy={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const a=t==="svg"?ea.createElementNS(Jy,e):t==="mathml"?ea.createElementNS(Xy,e):n?ea.createElement(e,{is:n}):ea.createElement(e);return e==="select"&&r&&r.multiple!=null&&a.setAttribute("multiple",r.multiple),a},createText:e=>ea.createTextNode(e),createComment:e=>ea.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ea.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,a,o){const s=n?n.previousSibling:t.lastChild;if(a&&(a===o||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===o||!(a=a.nextSibling)););else{zd.innerHTML=Bp(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=zd.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},_a="transition",ri="animation",Ci=Symbol("_vtc"),qp={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ew=En({},dp,qp),tw=e=>(e.displayName="Transition",e.props=ew,e),Hp=tw((e,{slots:t})=>Uc(Qg,nw(e),t)),Ha=(e,t=[])=>{nt(e)?e.forEach(n=>n(...t)):e&&e(...t)},Vd=e=>e?nt(e)?e.some(t=>t.length>1):e.length>1:!1;function nw(e){const t={};for(const oe in e)oe in qp||(t[oe]=e[oe]);if(e.css===!1)return t;const{name:n="v",type:r,duration:a,enterFromClass:o=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:h=s,appearToClass:f=l,leaveFromClass:g=`${n}-leave-from`,leaveActiveClass:_=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=e,O=rw(a),H=O&&O[0],ne=O&&O[1],{onBeforeEnter:j,onEnter:D,onEnterCancelled:K,onLeave:X,onLeaveCancelled:ye,onBeforeAppear:de=j,onAppear:be=D,onAppearCancelled:Le=K}=t,G=(oe,Se,Ue,Be)=>{oe._enterCancelled=Be,Wa(oe,Se?f:l),Wa(oe,Se?h:s),Ue&&Ue()},me=(oe,Se)=>{oe._isLeaving=!1,Wa(oe,g),Wa(oe,E),Wa(oe,_),Se&&Se()},ke=oe=>(Se,Ue)=>{const Be=oe?be:D,Ke=()=>G(Se,oe,Ue);Ha(Be,[Se,Ke]),Gd(()=>{Wa(Se,oe?c:o),Xo(Se,oe?f:l),Vd(Be)||Kd(Se,r,H,Ke)})};return En(t,{onBeforeEnter(oe){Ha(j,[oe]),Xo(oe,o),Xo(oe,s)},onBeforeAppear(oe){Ha(de,[oe]),Xo(oe,c),Xo(oe,h)},onEnter:ke(!1),onAppear:ke(!0),onLeave(oe,Se){oe._isLeaving=!0;const Ue=()=>me(oe,Se);Xo(oe,g),oe._enterCancelled?(Xo(oe,_),Jd(oe)):(Jd(oe),Xo(oe,_)),Gd(()=>{oe._isLeaving&&(Wa(oe,g),Xo(oe,E),Vd(X)||Kd(oe,r,ne,Ue))}),Ha(X,[oe,Ue])},onEnterCancelled(oe){G(oe,!1,void 0,!0),Ha(K,[oe])},onAppearCancelled(oe){G(oe,!0,void 0,!0),Ha(Le,[oe])},onLeaveCancelled(oe){me(oe),Ha(ye,[oe])}})}function rw(e){if(e==null)return null;if(Nt(e))return[_u(e.enter),_u(e.leave)];{const t=_u(e);return[t,t]}}function _u(e){return og(e)}function Xo(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ci]||(e[Ci]=new Set)).add(t)}function Wa(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ci];n&&(n.delete(t),n.size||(e[Ci]=void 0))}function Gd(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ow=0;function Kd(e,t,n,r){const a=e._endId=++ow,o=()=>{a===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:s,timeout:l,propCount:c}=aw(e,t);if(!s)return r();const h=s+"end";let f=0;const g=()=>{e.removeEventListener(h,_),o()},_=E=>{E.target===e&&++f>=c&&g()};setTimeout(()=>{f<c&&g()},l+1),e.addEventListener(h,_)}function aw(e,t){const n=window.getComputedStyle(e),r=O=>(n[O]||"").split(", "),a=r(`${_a}Delay`),o=r(`${_a}Duration`),s=Yd(a,o),l=r(`${ri}Delay`),c=r(`${ri}Duration`),h=Yd(l,c);let f=null,g=0,_=0;t===_a?s>0&&(f=_a,g=s,_=o.length):t===ri?h>0&&(f=ri,g=h,_=c.length):(g=Math.max(s,h),f=g>0?s>h?_a:ri:null,_=f?f===_a?o.length:c.length:0);const E=f===_a&&/\b(?:transform|all)(?:,|$)/.test(r(`${_a}Property`).toString());return{type:f,timeout:g,propCount:_,hasTransform:E}}function Yd(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Qd(n)+Qd(e[r])))}function Qd(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Jd(e){return(e?e.ownerDocument:document).body.offsetHeight}function sw(e,t,n){const r=e[Ci];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xd=Symbol("_vod"),iw=Symbol("_vsh"),lw=Symbol(""),uw=/(?:^|;)\s*display\s*:/;function cw(e,t,n){const r=e.style,a=tn(n);let o=!1;if(n&&!a){if(t)if(tn(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();n[l]==null&&fl(r,l,"")}else for(const s in t)n[s]==null&&fl(r,s,"");for(const s in n)s==="display"&&(o=!0),fl(r,s,n[s])}else if(a){if(t!==n){const s=r[lw];s&&(n+=";"+s),r.cssText=n,o=uw.test(n)}}else t&&e.removeAttribute("style");Xd in e&&(e[Xd]=o?r.display:"",e[iw]&&(r.display="none"))}const Zd=/\s*!important$/;function fl(e,t,n){if(nt(n))n.forEach(r=>fl(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=dw(e,t);Zd.test(n)?e.setProperty(Ia(r),n.replace(Zd,""),"important"):e[r]=n}}const ef=["Webkit","Moz","ms"],Tu={};function dw(e,t){const n=Tu[t];if(n)return n;let r=fr(t);if(r!=="filter"&&r in e)return Tu[t]=r;r=Rl(r);for(let a=0;a<ef.length;a++){const o=ef[a]+r;if(o in e)return Tu[t]=o}return t}const tf="http://www.w3.org/1999/xlink";function nf(e,t,n,r,a,o=cg(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(tf,t.slice(6,t.length)):e.setAttributeNS(tf,t,n):n==null||o&&!Nh(n)?e.removeAttribute(t):e.setAttribute(t,o?"":mo(n)?String(n):n)}function rf(e,t,n,r,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Bp(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let s=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Nh(n):n==null&&l==="string"?(n="",s=!0):l==="number"&&(n=0,s=!0)}try{e[t]=n}catch{}s&&e.removeAttribute(a||t)}function Ga(e,t,n,r){e.addEventListener(t,n,r)}function fw(e,t,n,r){e.removeEventListener(t,n,r)}const of=Symbol("_vei");function hw(e,t,n,r,a=null){const o=e[of]||(e[of]={}),s=o[t];if(r&&s)s.value=r;else{const[l,c]=pw(t);if(r){const h=o[t]=gw(r,a);Ga(e,l,h,c)}else s&&(fw(e,l,s,c),o[t]=void 0)}}const af=/(?:Once|Passive|Capture)$/;function pw(e){let t;if(af.test(e)){t={};let r;for(;r=e.match(af);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ia(e.slice(2)),t]}let ku=0;const mw=Promise.resolve(),vw=()=>ku||(mw.then(()=>ku=0),ku=Date.now());function gw(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;go(yw(r,n.value),t,5,[r])};return n.value=e,n.attached=vw(),n}function yw(e,t){if(nt(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>a=>!a._stopped&&r&&r(a))}else return t}const sf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ww=(e,t,n,r,a,o)=>{const s=a==="svg";t==="class"?sw(e,r,s):t==="style"?cw(e,n,r):xl(t)?Al(t)||hw(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):bw(e,t,r,s))?(rf(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&nf(e,t,r,s,o,t!=="value")):e._isVueCE&&(_w(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!tn(r)))?rf(e,fr(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),nf(e,t,r,s))};function bw(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&sf(t)&&ct(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return sf(t)&&tn(n)?!1:t in e}function _w(e,t){const n=e._def.props;if(!n)return!1;const r=fr(t);return Array.isArray(n)?n.some(a=>fr(a)===r):Object.keys(n).some(a=>fr(a)===r)}const Tl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return nt(t)?n=>ll(t,n):t};function Tw(e){e.target.composing=!0}function lf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Is=Symbol("_assign");function uf(e,t,n){return t&&(e=e.trim()),n&&(e=Cc(e)),e}const un={created(e,{modifiers:{lazy:t,trim:n,number:r}},a){e[Is]=Tl(a);const o=r||a.props&&a.props.type==="number";Ga(e,t?"change":"input",s=>{s.target.composing||e[Is](uf(e.value,n,o))}),(n||o)&&Ga(e,"change",()=>{e.value=uf(e.value,n,o)}),t||(Ga(e,"compositionstart",Tw),Ga(e,"compositionend",lf),Ga(e,"change",lf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:a,number:o}},s){if(e[Is]=Tl(s),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Cc(e.value):e.value,c=t??"";if(l===c)return;const h=e.getRootNode();(h instanceof Document||h instanceof ShadowRoot)&&h.activeElement===e&&e.type!=="range"&&(r&&t===n||a&&e.value.trim()===c)||(e.value=c)}},kw={deep:!0,created(e,t,n){e[Is]=Tl(n),Ga(e,"change",()=>{const r=e._modelValue,a=Cw(e),o=e.checked,s=e[Is];if(nt(r)){const l=Lh(r,a),c=l!==-1;if(o&&!c)s(r.concat(a));else if(!o&&c){const h=[...r];h.splice(l,1),s(h)}}else if(El(r)){const l=new Set(r);o?l.add(a):l.delete(a),s(l)}else s(Wp(e,o))})},mounted:cf,beforeUpdate(e,t,n){e[Is]=Tl(n),cf(e,t,n)}};function cf(e,{value:t,oldValue:n},r){e._modelValue=t;let a;if(nt(t))a=Lh(t,r.props.value)>-1;else if(El(t))a=t.has(r.props.value);else{if(t===n)return;a=Ai(t,Wp(e,!0))}e.checked!==a&&(e.checked=a)}function Cw(e){return"_value"in e?e._value:e.value}function Wp(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Sw=["ctrl","shift","alt","meta"],xw={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Sw.some(n=>e[`${n}Key`]&&!t.includes(n))},Xe=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((a,...o)=>{for(let s=0;s<t.length;s++){const l=xw[t[s]];if(l&&l(a,t))return}return e(a,...o)}))},Aw={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},mn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(a=>{if(!("key"in a))return;const o=Ia(a.key);if(t.some(s=>s===o||Aw[s]===o))return e(a)}))},Ew=En({patchProp:ww},Zy);let df;function Iw(){return df||(df=$y(Ew))}const Rw=((...e)=>{const t=Iw().createApp(...e),{mount:n}=t;return t.mount=r=>{const a=Mw(r);if(!a)return;const o=t._component;!ct(o)&&!o.render&&!o.template&&(o.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=n(a,!1,Pw(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t});function Pw(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Mw(e){return tn(e)?document.querySelector(e):e}const $w="modulepreload",Nw=function(e){return"/"+e},ff={},Zi=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){let s=function(h){return Promise.all(h.map(f=>Promise.resolve(f).then(g=>({status:"fulfilled",value:g}),g=>({status:"rejected",reason:g}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));a=s(n.map(h=>{if(h=Nw(h),h in ff)return;ff[h]=!0;const f=h.endsWith(".css"),g=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${g}`))return;const _=document.createElement("link");if(_.rel=f?"stylesheet":$w,f||(_.as="script"),_.crossOrigin="",_.href=h,c&&_.setAttribute("nonce",c),document.head.appendChild(_),f)return new Promise((E,O)=>{_.addEventListener("load",E),_.addEventListener("error",()=>O(new Error(`Unable to preload CSS for ${h}`)))})}))}function o(s){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=s,window.dispatchEvent(l),!l.defaultPrevented)throw s}return a.then(s=>{for(const l of s||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})};/*!
19
- * vue-router v4.6.4
20
- * (c) 2025 Eduardo San Martin Morote
21
- * @license MIT
22
- */const ys=typeof document<"u";function zp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Lw(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&zp(e.default)}const Mt=Object.assign;function Cu(e,t){const n={};for(const r in t){const a=t[r];n[r]=yo(a)?a.map(e):e(a)}return n}const vi=()=>{},yo=Array.isArray;function hf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Vp=/#/g,Ow=/&/g,jw=/\//g,Dw=/=/g,Fw=/\?/g,Gp=/\+/g,Uw=/%5B/g,Bw=/%5D/g,Kp=/%5E/g,qw=/%60/g,Yp=/%7B/g,Hw=/%7C/g,Qp=/%7D/g,Ww=/%20/g;function Bc(e){return e==null?"":encodeURI(""+e).replace(Hw,"|").replace(Uw,"[").replace(Bw,"]")}function zw(e){return Bc(e).replace(Yp,"{").replace(Qp,"}").replace(Kp,"^")}function oc(e){return Bc(e).replace(Gp,"%2B").replace(Ww,"+").replace(Vp,"%23").replace(Ow,"%26").replace(qw,"`").replace(Yp,"{").replace(Qp,"}").replace(Kp,"^")}function Vw(e){return oc(e).replace(Dw,"%3D")}function Gw(e){return Bc(e).replace(Vp,"%23").replace(Fw,"%3F")}function Kw(e){return Gw(e).replace(jw,"%2F")}function Si(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Yw=/\/$/,Qw=e=>e.replace(Yw,"");function Su(e,t,n="/"){let r,a={},o="",s="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(r=t.slice(0,c),o=t.slice(c,l>0?l:t.length),a=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),s=t.slice(l,t.length)),r=eb(r??t,n),{fullPath:r+o+s,path:r,query:a,hash:Si(s)}}function Jw(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function pf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Xw(e,t,n){const r=t.matched.length-1,a=n.matched.length-1;return r>-1&&r===a&&Ls(t.matched[r],n.matched[a])&&Jp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ls(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Jp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Zw(e[n],t[n]))return!1;return!0}function Zw(e,t){return yo(e)?mf(e,t):yo(t)?mf(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function mf(e,t){return yo(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function eb(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),a=r[r.length-1];(a===".."||a===".")&&r.push("");let o=n.length-1,s,l;for(s=0;s<r.length;s++)if(l=r[s],l!==".")if(l==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(s).join("/")}const Ta={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ac=(function(e){return e.pop="pop",e.push="push",e})({}),xu=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function tb(e){if(!e)if(ys){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Qw(e)}const nb=/^[^#]+#/;function rb(e,t){return e.replace(nb,"#")+t}function ob(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Fl=()=>({left:window.scrollX,top:window.scrollY});function ab(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),a=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!a)return;t=ob(a,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function vf(e,t){return(history.state?history.state.position-t:-1)+e}const sc=new Map;function sb(e,t){sc.set(e,t)}function ib(e){const t=sc.get(e);return sc.delete(e),t}function lb(e){return typeof e=="string"||e&&typeof e=="object"}function Xp(e){return typeof e=="string"||typeof e=="symbol"}let ln=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Zp=Symbol("");ln.MATCHER_NOT_FOUND+"",ln.NAVIGATION_GUARD_REDIRECT+"",ln.NAVIGATION_ABORTED+"",ln.NAVIGATION_CANCELLED+"",ln.NAVIGATION_DUPLICATED+"";function Os(e,t){return Mt(new Error,{type:e,[Zp]:!0},t)}function Zo(e,t){return e instanceof Error&&Zp in e&&(t==null||!!(e.type&t))}const ub=["params","query","hash"];function cb(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of ub)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function db(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;r<n.length;++r){const a=n[r].replace(Gp," "),o=a.indexOf("="),s=Si(o<0?a:a.slice(0,o)),l=o<0?null:Si(a.slice(o+1));if(s in t){let c=t[s];yo(c)||(c=t[s]=[c]),c.push(l)}else t[s]=l}return t}function gf(e){let t="";for(let n in e){const r=e[n];if(n=Vw(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(yo(r)?r.map(a=>a&&oc(a)):[r&&oc(r)]).forEach(a=>{a!==void 0&&(t+=(t.length?"&":"")+n,a!=null&&(t+="="+a))})}return t}function fb(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=yo(r)?r.map(a=>a==null?null:""+a):r==null?r:""+r)}return t}const hb=Symbol(""),yf=Symbol(""),Ul=Symbol(""),qc=Symbol(""),ic=Symbol("");function oi(){let e=[];function t(r){return e.push(r),()=>{const a=e.indexOf(r);a>-1&&e.splice(a,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sa(e,t,n,r,a,o=s=>s()){const s=r&&(r.enterCallbacks[a]=r.enterCallbacks[a]||[]);return()=>new Promise((l,c)=>{const h=_=>{_===!1?c(Os(ln.NAVIGATION_ABORTED,{from:n,to:t})):_ instanceof Error?c(_):lb(_)?c(Os(ln.NAVIGATION_GUARD_REDIRECT,{from:t,to:_})):(s&&r.enterCallbacks[a]===s&&typeof _=="function"&&s.push(_),l())},f=o(()=>e.call(r&&r.instances[a],t,n,h));let g=Promise.resolve(f);e.length<3&&(g=g.then(h)),g.catch(_=>c(_))})}function Au(e,t,n,r,a=o=>o()){const o=[];for(const s of e)for(const l in s.components){let c=s.components[l];if(!(t!=="beforeRouteEnter"&&!s.instances[l]))if(zp(c)){const h=(c.__vccOpts||c)[t];h&&o.push(Sa(h,n,r,s,l,a))}else{let h=c();o.push(()=>h.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${s.path}"`);const g=Lw(f)?f.default:f;s.mods[l]=f,s.components[l]=g;const _=(g.__vccOpts||g)[t];return _&&Sa(_,n,r,s,l,a)()}))}}return o}function pb(e,t){const n=[],r=[],a=[],o=Math.max(t.matched.length,e.matched.length);for(let s=0;s<o;s++){const l=t.matched[s];l&&(e.matched.find(h=>Ls(h,l))?r.push(l):n.push(l));const c=e.matched[s];c&&(t.matched.find(h=>Ls(h,c))||a.push(c))}return[n,r,a]}/*!
23
- * vue-router v4.6.4
24
- * (c) 2025 Eduardo San Martin Morote
25
- * @license MIT
26
- */let mb=()=>location.protocol+"//"+location.host;function em(e,t){const{pathname:n,search:r,hash:a}=t,o=e.indexOf("#");if(o>-1){let s=a.includes(e.slice(o))?e.slice(o).length:1,l=a.slice(s);return l[0]!=="/"&&(l="/"+l),pf(l,"")}return pf(n,e)+r+a}function vb(e,t,n,r){let a=[],o=[],s=null;const l=({state:_})=>{const E=em(e,location),O=n.value,H=t.value;let ne=0;if(_){if(n.value=E,t.value=_,s&&s===O){s=null;return}ne=H?_.position-H.position:0}else r(E);a.forEach(j=>{j(n.value,O,{delta:ne,type:ac.pop,direction:ne?ne>0?xu.forward:xu.back:xu.unknown})})};function c(){s=n.value}function h(_){a.push(_);const E=()=>{const O=a.indexOf(_);O>-1&&a.splice(O,1)};return o.push(E),E}function f(){if(document.visibilityState==="hidden"){const{history:_}=window;if(!_.state)return;_.replaceState(Mt({},_.state,{scroll:Fl()}),"")}}function g(){for(const _ of o)_();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:h,destroy:g}}function wf(e,t,n,r=!1,a=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:a?Fl():null}}function gb(e){const{history:t,location:n}=window,r={value:em(e,n)},a={value:t.state};a.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,h,f){const g=e.indexOf("#"),_=g>-1?(n.host&&document.querySelector("base")?e:e.slice(g))+c:mb()+e+c;try{t[f?"replaceState":"pushState"](h,"",_),a.value=h}catch(E){console.error(E),n[f?"replace":"assign"](_)}}function s(c,h){o(c,Mt({},t.state,wf(a.value.back,c,a.value.forward,!0),h,{position:a.value.position}),!0),r.value=c}function l(c,h){const f=Mt({},a.value,t.state,{forward:c,scroll:Fl()});o(f.current,f,!0),o(c,Mt({},wf(r.value,c,null),{position:f.position+1},h),!1),r.value=c}return{location:r,state:a,push:l,replace:s}}function yb(e){e=tb(e);const t=gb(e),n=vb(e,t.state,t.location,t.replace);function r(o,s=!0){s||n.pauseListeners(),history.go(o)}const a=Mt({location:"",base:e,go:r,createHref:rb.bind(null,e)},t,n);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function wb(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),yb(e)}let Ya=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var xn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(xn||{});const bb={type:Ya.Static,value:""},_b=/[a-zA-Z0-9_]/;function Tb(e){if(!e)return[[]];if(e==="/")return[[bb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(E){throw new Error(`ERR (${n})/"${h}": ${E}`)}let n=xn.Static,r=n;const a=[];let o;function s(){o&&a.push(o),o=[]}let l=0,c,h="",f="";function g(){h&&(n===xn.Static?o.push({type:Ya.Static,value:h}):n===xn.Param||n===xn.ParamRegExp||n===xn.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Ya.Param,value:h,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),h="")}function _(){h+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==xn.ParamRegExp){r=n,n=xn.EscapeNext;continue}switch(n){case xn.Static:c==="/"?(h&&g(),s()):c===":"?(g(),n=xn.Param):_();break;case xn.EscapeNext:_(),n=r;break;case xn.Param:c==="("?n=xn.ParamRegExp:_b.test(c)?_():(g(),n=xn.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case xn.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=xn.ParamRegExpEnd:f+=c;break;case xn.ParamRegExpEnd:g(),n=xn.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===xn.ParamRegExp&&t(`Unfinished custom RegExp for param "${h}"`),g(),s(),a}const bf="[^/]+?",kb={sensitive:!1,strict:!1,start:!0,end:!0};var ur=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(ur||{});const Cb=/[.+*?^${}()[\]/\\]/g;function Sb(e,t){const n=Mt({},kb,t),r=[];let a=n.start?"^":"";const o=[];for(const h of e){const f=h.length?[]:[ur.Root];n.strict&&!h.length&&(a+="/");for(let g=0;g<h.length;g++){const _=h[g];let E=ur.Segment+(n.sensitive?ur.BonusCaseSensitive:0);if(_.type===Ya.Static)g||(a+="/"),a+=_.value.replace(Cb,"\\$&"),E+=ur.Static;else if(_.type===Ya.Param){const{value:O,repeatable:H,optional:ne,regexp:j}=_;o.push({name:O,repeatable:H,optional:ne});const D=j||bf;if(D!==bf){E+=ur.BonusCustomRegExp;try{`${D}`}catch(X){throw new Error(`Invalid custom RegExp for param "${O}" (${D}): `+X.message)}}let K=H?`((?:${D})(?:/(?:${D}))*)`:`(${D})`;g||(K=ne&&h.length<2?`(?:/${K})`:"/"+K),ne&&(K+="?"),a+=K,E+=ur.Dynamic,ne&&(E+=ur.BonusOptional),H&&(E+=ur.BonusRepeatable),D===".*"&&(E+=ur.BonusWildcard)}f.push(E)}r.push(f)}if(n.strict&&n.end){const h=r.length-1;r[h][r[h].length-1]+=ur.BonusStrict}n.strict||(a+="/?"),n.end?a+="$":n.strict&&!a.endsWith("/")&&(a+="(?:/|$)");const s=new RegExp(a,n.sensitive?"":"i");function l(h){const f=h.match(s),g={};if(!f)return null;for(let _=1;_<f.length;_++){const E=f[_]||"",O=o[_-1];g[O.name]=E&&O.repeatable?E.split("/"):E}return g}function c(h){let f="",g=!1;for(const _ of e){(!g||!f.endsWith("/"))&&(f+="/"),g=!1;for(const E of _)if(E.type===Ya.Static)f+=E.value;else if(E.type===Ya.Param){const{value:O,repeatable:H,optional:ne}=E,j=O in h?h[O]:"";if(yo(j)&&!H)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const D=yo(j)?j.join("/"):j;if(!D)if(ne)_.length<2&&(f.endsWith("/")?f=f.slice(0,-1):g=!0);else throw new Error(`Missing required param "${O}"`);f+=D}}return f||"/"}return{re:s,score:r,keys:o,parse:l,stringify:c}}function xb(e,t){let n=0;for(;n<e.length&&n<t.length;){const r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===ur.Static+ur.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ur.Static+ur.Segment?1:-1:0}function tm(e,t){let n=0;const r=e.score,a=t.score;for(;n<r.length&&n<a.length;){const o=xb(r[n],a[n]);if(o)return o;n++}if(Math.abs(a.length-r.length)===1){if(_f(r))return 1;if(_f(a))return-1}return a.length-r.length}function _f(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Ab={strict:!1,end:!0,sensitive:!1};function Eb(e,t,n){const r=Sb(Tb(e.path),n),a=Mt(r,{record:e,parent:t,children:[],alias:[]});return t&&!a.record.aliasOf==!t.record.aliasOf&&t.children.push(a),a}function Ib(e,t){const n=[],r=new Map;t=hf(Ab,t);function a(g){return r.get(g)}function o(g,_,E){const O=!E,H=kf(g);H.aliasOf=E&&E.record;const ne=hf(t,g),j=[H];if("alias"in g){const X=typeof g.alias=="string"?[g.alias]:g.alias;for(const ye of X)j.push(kf(Mt({},H,{components:E?E.record.components:H.components,path:ye,aliasOf:E?E.record:H})))}let D,K;for(const X of j){const{path:ye}=X;if(_&&ye[0]!=="/"){const de=_.record.path,be=de[de.length-1]==="/"?"":"/";X.path=_.record.path+(ye&&be+ye)}if(D=Eb(X,_,ne),E?E.alias.push(D):(K=K||D,K!==D&&K.alias.push(D),O&&g.name&&!Cf(D)&&s(g.name)),nm(D)&&c(D),H.children){const de=H.children;for(let be=0;be<de.length;be++)o(de[be],D,E&&E.children[be])}E=E||D}return K?()=>{s(K)}:vi}function s(g){if(Xp(g)){const _=r.get(g);_&&(r.delete(g),n.splice(n.indexOf(_),1),_.children.forEach(s),_.alias.forEach(s))}else{const _=n.indexOf(g);_>-1&&(n.splice(_,1),g.record.name&&r.delete(g.record.name),g.children.forEach(s),g.alias.forEach(s))}}function l(){return n}function c(g){const _=Mb(g,n);n.splice(_,0,g),g.record.name&&!Cf(g)&&r.set(g.record.name,g)}function h(g,_){let E,O={},H,ne;if("name"in g&&g.name){if(E=r.get(g.name),!E)throw Os(ln.MATCHER_NOT_FOUND,{location:g});ne=E.record.name,O=Mt(Tf(_.params,E.keys.filter(K=>!K.optional).concat(E.parent?E.parent.keys.filter(K=>K.optional):[]).map(K=>K.name)),g.params&&Tf(g.params,E.keys.map(K=>K.name))),H=E.stringify(O)}else if(g.path!=null)H=g.path,E=n.find(K=>K.re.test(H)),E&&(O=E.parse(H),ne=E.record.name);else{if(E=_.name?r.get(_.name):n.find(K=>K.re.test(_.path)),!E)throw Os(ln.MATCHER_NOT_FOUND,{location:g,currentLocation:_});ne=E.record.name,O=Mt({},_.params,g.params),H=E.stringify(O)}const j=[];let D=E;for(;D;)j.unshift(D.record),D=D.parent;return{name:ne,path:H,params:O,matched:j,meta:Pb(j)}}e.forEach(g=>o(g));function f(){n.length=0,r.clear()}return{addRoute:o,resolve:h,removeRoute:s,clearRoutes:f,getRoutes:l,getRecordMatcher:a}}function Tf(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function kf(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Rb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Rb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Cf(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Pb(e){return e.reduce((t,n)=>Mt(t,n.meta),{})}function Mb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;tm(e,t[o])<0?r=o:n=o+1}const a=$b(e);return a&&(r=t.lastIndexOf(a,r-1)),r}function $b(e){let t=e;for(;t=t.parent;)if(nm(t)&&tm(e,t)===0)return t}function nm({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Sf(e){const t=po(Ul),n=po(qc),r=te(()=>{const c=S(e.to);return t.resolve(c)}),a=te(()=>{const{matched:c}=r.value,{length:h}=c,f=c[h-1],g=n.matched;if(!f||!g.length)return-1;const _=g.findIndex(Ls.bind(null,f));if(_>-1)return _;const E=xf(c[h-2]);return h>1&&xf(f)===E&&g[g.length-1].path!==E?g.findIndex(Ls.bind(null,c[h-2])):_}),o=te(()=>a.value>-1&&Db(n.params,r.value.params)),s=te(()=>a.value>-1&&a.value===n.matched.length-1&&Jp(n.params,r.value.params));function l(c={}){if(jb(c)){const h=t[S(e.replace)?"replace":"push"](S(e.to)).catch(vi);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>h),h}return Promise.resolve()}return{route:r,href:te(()=>r.value.href),isActive:o,isExactActive:s,navigate:l}}function Nb(e){return e.length===1?e[0]:e}const Lb=qn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Sf,setup(e,{slots:t}){const n=$l(Sf(e)),{options:r}=po(Ul),a=te(()=>({[Af(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Af(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Nb(t.default(n));return e.custom?o:Uc("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},o)}}}),Ob=Lb;function jb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Db(e,t){for(const n in t){const r=t[n],a=e[n];if(typeof r=="string"){if(r!==a)return!1}else if(!yo(a)||a.length!==r.length||r.some((o,s)=>o.valueOf()!==a[s].valueOf()))return!1}return!0}function xf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Af=(e,t,n)=>e??t??n,Fb=qn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=po(ic),a=te(()=>e.route||r.value),o=po(yf,0),s=te(()=>{let h=S(o);const{matched:f}=a.value;let g;for(;(g=f[h])&&!g.components;)h++;return h}),l=te(()=>a.value.matched[s.value]);ul(yf,te(()=>s.value+1)),ul(hb,l),ul(ic,a);const c=A();return pt(()=>[c.value,l.value,e.name],([h,f,g],[_,E,O])=>{f&&(f.instances[g]=h,E&&E!==f&&h&&h===_&&(f.leaveGuards.size||(f.leaveGuards=E.leaveGuards),f.updateGuards.size||(f.updateGuards=E.updateGuards))),h&&f&&(!E||!Ls(f,E)||!_)&&(f.enterCallbacks[g]||[]).forEach(H=>H(h))},{flush:"post"}),()=>{const h=a.value,f=e.name,g=l.value,_=g&&g.components[f];if(!_)return Ef(n.default,{Component:_,route:h});const E=g.props[f],O=E?E===!0?h.params:typeof E=="function"?E(h):E:null,ne=Uc(_,Mt({},O,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(g.instances[f]=null)},ref:c}));return Ef(n.default,{Component:ne,route:h})||ne}}});function Ef(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ub=Fb;function Bb(e){const t=Ib(e.routes,e),n=e.parseQuery||db,r=e.stringifyQuery||gf,a=e.history,o=oi(),s=oi(),l=oi(),c=$g(Ta);let h=Ta;ys&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Cu.bind(null,Z=>""+Z),g=Cu.bind(null,Kw),_=Cu.bind(null,Si);function E(Z,xe){let Ae,De;return Xp(Z)?(Ae=t.getRecordMatcher(Z),De=xe):De=Z,t.addRoute(De,Ae)}function O(Z){const xe=t.getRecordMatcher(Z);xe&&t.removeRoute(xe)}function H(){return t.getRoutes().map(Z=>Z.record)}function ne(Z){return!!t.getRecordMatcher(Z)}function j(Z,xe){if(xe=Mt({},xe||c.value),typeof Z=="string"){const z=Su(n,Z,xe.path),ae=t.resolve({path:z.path},xe),Q=a.createHref(z.fullPath);return Mt(z,ae,{params:_(ae.params),hash:Si(z.hash),redirectedFrom:void 0,href:Q})}let Ae;if(Z.path!=null)Ae=Mt({},Z,{path:Su(n,Z.path,xe.path).path});else{const z=Mt({},Z.params);for(const ae in z)z[ae]==null&&delete z[ae];Ae=Mt({},Z,{params:g(z)}),xe.params=g(xe.params)}const De=t.resolve(Ae,xe),Ge=Z.hash||"";De.params=f(_(De.params));const x=Jw(r,Mt({},Z,{hash:zw(Ge),path:De.path})),P=a.createHref(x);return Mt({fullPath:x,hash:Ge,query:r===gf?fb(Z.query):Z.query||{}},De,{redirectedFrom:void 0,href:P})}function D(Z){return typeof Z=="string"?Su(n,Z,c.value.path):Mt({},Z)}function K(Z,xe){if(h!==Z)return Os(ln.NAVIGATION_CANCELLED,{from:xe,to:Z})}function X(Z){return be(Z)}function ye(Z){return X(Mt(D(Z),{replace:!0}))}function de(Z,xe){const Ae=Z.matched[Z.matched.length-1];if(Ae&&Ae.redirect){const{redirect:De}=Ae;let Ge=typeof De=="function"?De(Z,xe):De;return typeof Ge=="string"&&(Ge=Ge.includes("?")||Ge.includes("#")?Ge=D(Ge):{path:Ge},Ge.params={}),Mt({query:Z.query,hash:Z.hash,params:Ge.path!=null?{}:Z.params},Ge)}}function be(Z,xe){const Ae=h=j(Z),De=c.value,Ge=Z.state,x=Z.force,P=Z.replace===!0,z=de(Ae,De);if(z)return be(Mt(D(z),{state:typeof z=="object"?Mt({},Ge,z.state):Ge,force:x,replace:P}),xe||Ae);const ae=Ae;ae.redirectedFrom=xe;let Q;return!x&&Xw(r,De,Ae)&&(Q=Os(ln.NAVIGATION_DUPLICATED,{to:ae,from:De}),Fe(De,De,!0,!1)),(Q?Promise.resolve(Q):me(ae,De)).catch(le=>Zo(le)?Zo(le,ln.NAVIGATION_GUARD_REDIRECT)?le:tt(le):Ce(le,ae,De)).then(le=>{if(le){if(Zo(le,ln.NAVIGATION_GUARD_REDIRECT))return be(Mt({replace:P},D(le.to),{state:typeof le.to=="object"?Mt({},Ge,le.to.state):Ge,force:x}),xe||ae)}else le=oe(ae,De,!0,P,Ge);return ke(ae,De,le),le})}function Le(Z,xe){const Ae=K(Z,xe);return Ae?Promise.reject(Ae):Promise.resolve()}function G(Z){const xe=Je.values().next().value;return xe&&typeof xe.runWithContext=="function"?xe.runWithContext(Z):Z()}function me(Z,xe){let Ae;const[De,Ge,x]=pb(Z,xe);Ae=Au(De.reverse(),"beforeRouteLeave",Z,xe);for(const z of De)z.leaveGuards.forEach(ae=>{Ae.push(Sa(ae,Z,xe))});const P=Le.bind(null,Z,xe);return Ae.push(P),Tt(Ae).then(()=>{Ae=[];for(const z of o.list())Ae.push(Sa(z,Z,xe));return Ae.push(P),Tt(Ae)}).then(()=>{Ae=Au(Ge,"beforeRouteUpdate",Z,xe);for(const z of Ge)z.updateGuards.forEach(ae=>{Ae.push(Sa(ae,Z,xe))});return Ae.push(P),Tt(Ae)}).then(()=>{Ae=[];for(const z of x)if(z.beforeEnter)if(yo(z.beforeEnter))for(const ae of z.beforeEnter)Ae.push(Sa(ae,Z,xe));else Ae.push(Sa(z.beforeEnter,Z,xe));return Ae.push(P),Tt(Ae)}).then(()=>(Z.matched.forEach(z=>z.enterCallbacks={}),Ae=Au(x,"beforeRouteEnter",Z,xe,G),Ae.push(P),Tt(Ae))).then(()=>{Ae=[];for(const z of s.list())Ae.push(Sa(z,Z,xe));return Ae.push(P),Tt(Ae)}).catch(z=>Zo(z,ln.NAVIGATION_CANCELLED)?z:Promise.reject(z))}function ke(Z,xe,Ae){l.list().forEach(De=>G(()=>De(Z,xe,Ae)))}function oe(Z,xe,Ae,De,Ge){const x=K(Z,xe);if(x)return x;const P=xe===Ta,z=ys?history.state:{};Ae&&(De||P?a.replace(Z.fullPath,Mt({scroll:P&&z&&z.scroll},Ge)):a.push(Z.fullPath,Ge)),c.value=Z,Fe(Z,xe,Ae,P),tt()}let Se;function Ue(){Se||(Se=a.listen((Z,xe,Ae)=>{if(!We.listening)return;const De=j(Z),Ge=de(De,We.currentRoute.value);if(Ge){be(Mt(Ge,{replace:!0,force:!0}),De).catch(vi);return}h=De;const x=c.value;ys&&sb(vf(x.fullPath,Ae.delta),Fl()),me(De,x).catch(P=>Zo(P,ln.NAVIGATION_ABORTED|ln.NAVIGATION_CANCELLED)?P:Zo(P,ln.NAVIGATION_GUARD_REDIRECT)?(be(Mt(D(P.to),{force:!0}),De).then(z=>{Zo(z,ln.NAVIGATION_ABORTED|ln.NAVIGATION_DUPLICATED)&&!Ae.delta&&Ae.type===ac.pop&&a.go(-1,!1)}).catch(vi),Promise.reject()):(Ae.delta&&a.go(-Ae.delta,!1),Ce(P,De,x))).then(P=>{P=P||oe(De,x,!1),P&&(Ae.delta&&!Zo(P,ln.NAVIGATION_CANCELLED)?a.go(-Ae.delta,!1):Ae.type===ac.pop&&Zo(P,ln.NAVIGATION_ABORTED|ln.NAVIGATION_DUPLICATED)&&a.go(-1,!1)),ke(De,x,P)}).catch(vi)}))}let Be=oi(),Ke=oi(),Ne;function Ce(Z,xe,Ae){tt(Z);const De=Ke.list();return De.length?De.forEach(Ge=>Ge(Z,xe,Ae)):console.error(Z),Promise.reject(Z)}function Qe(){return Ne&&c.value!==Ta?Promise.resolve():new Promise((Z,xe)=>{Be.add([Z,xe])})}function tt(Z){return Ne||(Ne=!Z,Ue(),Be.list().forEach(([xe,Ae])=>Z?Ae(Z):xe()),Be.reset()),Z}function Fe(Z,xe,Ae,De){const{scrollBehavior:Ge}=e;if(!ys||!Ge)return Promise.resolve();const x=!Ae&&ib(vf(Z.fullPath,0))||(De||!Ae)&&history.state&&history.state.scroll||null;return Jt().then(()=>Ge(Z,xe,x)).then(P=>P&&ab(P)).catch(P=>Ce(P,Z,xe))}const He=Z=>a.go(Z);let ft;const Je=new Set,We={currentRoute:c,listening:!0,addRoute:E,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:ne,getRoutes:H,resolve:j,options:e,push:X,replace:ye,go:He,back:()=>He(-1),forward:()=>He(1),beforeEach:o.add,beforeResolve:s.add,afterEach:l.add,onError:Ke.add,isReady:Qe,install(Z){Z.component("RouterLink",Ob),Z.component("RouterView",Ub),Z.config.globalProperties.$router=We,Object.defineProperty(Z.config.globalProperties,"$route",{enumerable:!0,get:()=>S(c)}),ys&&!ft&&c.value===Ta&&(ft=!0,X(a.location).catch(De=>{}));const xe={};for(const De in Ta)Object.defineProperty(xe,De,{get:()=>c.value[De],enumerable:!0});Z.provide(Ul,We),Z.provide(qc,Xh(xe)),Z.provide(ic,c);const Ae=Z.unmount;Je.add(Z),Z.unmount=function(){Je.delete(Z),Je.size<1&&(h=Ta,Se&&Se(),Se=null,c.value=Ta,ft=!1,Ne=!1),Ae()}}};function Tt(Z){return Z.reduce((xe,Ae)=>xe.then(()=>G(Ae)),Promise.resolve())}return We}function qb(){return po(Ul)}function Hb(e){return po(qc)}const If=768;function Hc(){const e=A(typeof window<"u"?window.innerWidth<If:!1);let t=null;function n(r){e.value=r.matches}return ca(()=>{t=window.matchMedia(`(max-width: ${If-1}px)`),e.value=t.matches,t.addEventListener("change",n)}),Ll(()=>{t==null||t.removeEventListener("change",n)}),{isMobile:e}}const Wb={key:0,class:"desktop-sidebar"},zb={class:"desktop-main"},Rf="codex-web-local.sidebar-width.v1",Vb=260,Gb=620,Pf=320,Kb=qn({__name:"DesktopLayout",props:{isSidebarCollapsed:{type:Boolean,default:!1}},emits:["close-sidebar"],setup(e){const t=e,{isMobile:n}=Hc();function r(h){return Math.min(Gb,Math.max(Vb,h))}function a(){if(typeof window>"u")return Pf;const h=window.localStorage.getItem(Rf),f=Number(h);return Number.isFinite(f)?r(f):Pf}const o=A(a()),s=te(()=>n.value||t.isSidebarCollapsed?{"--sidebar-width":"0px","--layout-columns":"minmax(0, 1fr)"}:{"--sidebar-width":`${o.value}px`,"--layout-columns":"var(--sidebar-width) 1px minmax(0, 1fr)"});function l(h){typeof window>"u"||window.localStorage.setItem(Rf,String(h))}function c(h){h.preventDefault();const f=h.clientX,g=o.value,_=O=>{const H=O.clientX-f;o.value=r(g+H)},E=()=>{l(o.value),window.removeEventListener("mousemove",_),window.removeEventListener("mouseup",E)};window.addEventListener("mousemove",_),window.addEventListener("mouseup",E)}return(h,f)=>(k(),R("div",{class:et(["desktop-layout",{"is-mobile":S(n)}]),style:oa(s.value)},[S(n)?(k(),Ze(Ka,{key:0,to:"body"},[Oe(Hp,{name:"drawer"},{default:ht(()=>[e.isSidebarCollapsed?J("",!0):(k(),R("div",{key:0,class:"mobile-drawer-backdrop",onClick:f[1]||(f[1]=g=>h.$emit("close-sidebar"))},[m("aside",{class:"mobile-drawer",onClick:f[0]||(f[0]=Xe(()=>{},["stop"]))},[Lo(h.$slots,"sidebar",{},void 0,!0)])]))]),_:3})])):J("",!0),S(n)?J("",!0):(k(),R(Ye,{key:1},[e.isSidebarCollapsed?J("",!0):(k(),R("aside",Wb,[Lo(h.$slots,"sidebar",{},void 0)])),e.isSidebarCollapsed?J("",!0):(k(),R("button",{key:1,class:"desktop-resize-handle",type:"button","aria-label":"Resize sidebar",onMousedown:c},null,32))],64)),m("section",zb,[Lo(h.$slots,"content",{},void 0)])],6))}}),It=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},Yb=It(Kb,[["__scopeId","data-v-4c6dbcd7"]]);function Mf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}class jo extends Error{constructor(t,n){super(t),this.name="CodexApiError",this.code=n.code,this.method=n.method,this.status=n.status}}function da(e,t){if(typeof e=="string"&&e.length>0)return e;const n=Mf(e);if(!n)return t;const r=n.error;if(typeof r=="string"&&r.length>0)return r;const a=Mf(r);return a&&typeof a.message=="string"&&a.message.length>0?a.message:typeof n.message=="string"&&n.message.length>0?n.message:typeof n.detail=="string"&&n.detail.length>0?n.detail:t}function la(e,t,n){return e instanceof jo?e:e instanceof Error?new jo(e.message||t,{code:"unknown_error",method:n}):new jo(t,{code:"unknown_error",method:n})}function rm(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}async function Qb(e,t){const n={method:e,params:t??null};let r;try{r=await fetch("/codex-api/rpc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}catch(l){throw new jo(l instanceof Error?l.message:`RPC ${e} failed before request was sent`,{code:"network_error",method:e})}let a=null,o=null;try{o=await r.text(),a=JSON.parse(o)}catch{a=null}if(!r.ok){const l=da(a,"")||(o==null?void 0:o.slice(0,500))||"",c=`RPC ${e} failed with HTTP ${r.status}`;throw new jo(l?`${c}: ${l}`:c,{code:"http_error",method:e,status:r.status})}const s=a;if(!s||typeof s!="object"||!("result"in s))throw new jo(`RPC ${e} returned malformed envelope`,{code:"invalid_response",method:e,status:r.status});return s.result}async function Jb(){const e=await fetch("/codex-api/meta/methods");let t=null;try{t=await e.json()}catch{t=null}if(!e.ok)throw new jo(da(t,`Method catalog failed with HTTP ${e.status}`),{code:"http_error",method:"meta/methods",status:e.status});const n=t;return Array.isArray(n.data)?n.data:[]}function Xb(e){const t=rm(e);if(!t||typeof t.method!="string"||t.method.length===0)return null;const n=typeof t.atIso=="string"&&t.atIso.length>0?t.atIso:new Date().toISOString();return{method:t.method,params:t.params??null,atIso:n}}function $f(e,t={ok:!0}){e({method:"ready",params:t,atIso:new Date().toISOString()})}function Zb(e){if(typeof window>"u")return()=>{};let t=null,n=!1,r=null;const a=()=>{r!==null&&(window.clearTimeout(r),r=null)},o=(h,f)=>{if(n||r!==null)return;const g=Math.min(1e3*2**f,1e4);r=window.setTimeout(()=>{r=null,!n&&h()},g)},s=h=>{const f=Xb(h);f&&e(f)},l=(h=0)=>{if(typeof EventSource>"u"||n)return;t==null||t();const f=new EventSource("/codex-api/events");let g=!1;f.onmessage=_=>{try{s(JSON.parse(_.data))}catch{}},f.addEventListener("ready",_=>{try{const E=_.data?JSON.parse(_.data):{ok:!0};$f(e,E)}catch{$f(e)}}),f.onerror=()=>{n||g||f.readyState===EventSource.CLOSED&&(g=!0,f.close(),o(()=>l(h+1),h))},t=()=>{g=!0,f.close()}},c=(h=0)=>{if(typeof WebSocket>"u"||n){l();return}t==null||t();const f=window.location.protocol==="https:"?"wss:":"ws:",g=new WebSocket(`${f}//${window.location.host}/codex-api/ws`);let _=!1,E=!1,O=window.setTimeout(()=>{_||n||E||(E=!0,g.close(),l())},2500);g.onopen=()=>{_=!0,a(),O!==null&&(window.clearTimeout(O),O=null)},g.onmessage=H=>{try{s(JSON.parse(String(H.data)))}catch{}},g.onerror=()=>{},g.onclose=()=>{if(O!==null&&(window.clearTimeout(O),O=null),!(n||E)){if(!_){l();return}o(()=>c(h+1),h)}},t=()=>{E=!0,O!==null&&(window.clearTimeout(O),O=null),g.close()}};return typeof WebSocket<"u"?c():l(),()=>{n=!0,a(),t==null||t()}}async function e0(e){let t;try{t=await fetch("/codex-api/server-requests/respond",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}catch(r){throw new jo(r instanceof Error?r.message:"Failed to reply to server request",{code:"network_error",method:"server-requests/respond"})}let n=null;try{n=await t.json()}catch{n=null}if(!t.ok)throw new jo(da(n,`Server request reply failed with HTTP ${t.status}`),{code:"http_error",method:"server-requests/respond",status:t.status})}async function t0(){const e=await fetch("/codex-api/server-requests/pending");let t=null;try{t=await e.json()}catch{t=null}if(!e.ok)throw new jo(da(t,`Pending server requests failed with HTTP ${e.status}`),{code:"http_error",method:"server-requests/pending",status:e.status});const n=rm(t),r=n==null?void 0:n.data;return Array.isArray(r)?r:[]}function n0(e){const t=e.trim();return t?t.startsWith("\\\\?\\UNC\\")?`\\\\${t.slice(8)}`:t.startsWith("\\\\?\\")?t.slice(4):t:""}function rt(e){return n0(e)}function r0(e){return/^[a-z]:[\\/]/iu.test(e)||e.startsWith("\\\\")}function o0(e){const t=rt(e).replace(/[\\/]+/gu,"/");return r0(t)?t.toLowerCase():t}function Nr(e){const t=rt(e).replace(/[\\/]+$/u,"");if(!t)return"";const n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n<0?t:t.slice(n+1)}function Rs(e){const t=rt(e).replace(/[\\/]+$/u,"");if(!t)return"";const n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n<=0?"":t.slice(0,n)}function Qr(e){return Nr(e)||rt(e)||"Projectless"}function kl(e){const t=rt(e).replace(/[\\/]+/gu,"/");return t?/(?:^|\/)Documents\/Codex\/\d{4}-\d{2}-\d{2}\/[^/]+$/u.test(t):!1}function Nf(e){return new Date(e*1e3).toISOString()}function a0(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}const s0=/^##\s+(.+?):\s+(.+?)\s*$/,i0=/^#\s*files mentioned by the user\s*:?\s*$/i;function l0(e){var a,o;const t=e.split(`
27
- `).findIndex(s=>i0.test(s.trim()));if(t<0)return[];const n=e.split(`
28
- `).slice(t+1),r=[];for(const s of n){const l=s.trim();if(!l)continue;const c=l.match(s0);if(!c)break;const h=(a=c[1])==null?void 0:a.trim(),f=(o=c[2])==null?void 0:o.trim().replace(/\s+\((?:lines?\s+\d+(?:-\d+)?)\)\s*$/,"");h&&f&&r.push({label:h,path:f})}return r}function u0(e){const t=/(?:^|\n)\s{0,3}#{0,6}\s*my request for codex\s*:?\s*/giu,n=Array.from(e.matchAll(t));if(n.length===0)return e.trim();const r=n.at(-1);if(!r||typeof r.index!="number")return e.trim();const a=r.index+r[0].length;return e.slice(a).trim()}function om(e){return`/codex-local-image?path=${encodeURIComponent(e)}`}function c0(e){const t=e.trim();if(!t)return"";if(t.startsWith("data:")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("/codex-local-image?"))return t;const n=t.replace(/\s+/gu,"");return/^[A-Za-z0-9+/]+={0,2}$/u.test(n)?`data:image/png;base64,${n}`:""}function d0(e){return e.replace(/&lt;/giu,"<").replace(/&gt;/giu,">").replace(/&amp;/giu,"&")}function Eu(e,t){const n=new RegExp(`<${t}>\\s*([\\s\\S]*?)\\s*</${t}>`,"iu").exec(e);return n!=null&&n[1]?d0(n[1].trim()):""}function f0(e){const t=e.trim();if(!t.startsWith("<heartbeat>")||!t.endsWith("</heartbeat>"))return null;const n=Eu(t,"current_time_iso"),r=Eu(t,"instructions");return!n||!r?null:{automationId:Eu(t,"automation_id"),currentTimeIso:n,instructions:r}}function h0(e,t){if(!Array.isArray(t))return{text:"",images:[],skills:[],fileAttachments:[],rawBlocks:[],isAutomationRun:!1,automationDisplayName:null};const n=[],r=[],a=[],o=[];for(const[h,f]of t.entries()){if(f.type==="text"&&typeof f.text=="string"&&f.text.length>0&&n.push(f.text),f.type==="image"&&typeof f.url=="string"&&f.url.trim().length>0&&r.push(f.url.trim()),f.type==="localImage"&&typeof f.path=="string"&&f.path.trim().length>0&&r.push(om(f.path.trim())),f.type==="skill"){const g=typeof f.name=="string"?f.name.trim():"",_=typeof f.path=="string"?f.path.trim():"";g&&_&&a.push({name:g,path:_})}f.type!=="text"&&f.type!=="image"&&f.type!=="localImage"&&f.type!=="skill"&&o.push({id:`${e}:user-content:${h}`,role:"user",text:"",messageType:`userContent.${f.type}`,rawPayload:a0(f),isUnhandled:!0})}const s=n.join(`
29
- `),l=l0(s),c=f0(s);return{text:(c==null?void 0:c.instructions)??u0(s),images:r,skills:a,fileAttachments:l,rawBlocks:o,isAutomationRun:c!==null,automationDisplayName:(c==null?void 0:c.automationId)||null}}function p0(e){var o;const t=e.replace(/\r\n/g,`
30
- `).trim();if(!t)return null;const n=t.split(`
31
- `),r=[],a=[];for(const s of n){const l=s.trim();if(!l){r.length===0&&a.push("");continue}const c=l.match(/^[-*]\s+\[([ xX~>|-])\]\s+(.+)$/);if(c){const h=(c[1]??" ").toLowerCase(),f=(o=c[2])==null?void 0:o.trim();if(!f)continue;let g="pending";h==="x"&&(g="completed"),(h==="~"||h===">"||h==="-")&&(g="inProgress"),r.push({step:f,status:g});continue}a.push(l)}return r.length===0?null:{explanation:a.join(`
32
- `).trim()||void 0,steps:r}}function Lf(e){if(!e)return 0;const t=e.replace(/\r\n/g,`
33
- `),n=t.endsWith(`
34
- `)?t.slice(0,-1):t;return n?n.split(`
35
- `).length:0}function m0(e){let t=0,n=0;for(const r of e.replace(/\r\n/g,`
36
- `).split(`
37
- `))if(r&&!(r.startsWith("+++")||r.startsWith("---")||r.startsWith("@@"))){if(r.startsWith("+")){t+=1;continue}r.startsWith("-")&&(n+=1)}return{addedLineCount:t,removedLineCount:n}}function am(e){return e==="failed"||e==="declined"||e==="completed"?e:"inProgress"}function sm(e){const t=Array.isArray(e)?e:[],n=[];for(const r of t){const a=r,o=typeof a.path=="string"?a.path:"",s=typeof a.diff=="string"?a.diff:"",l=a.kind,c=l==null?void 0:l.type;if(!o||c!=="add"&&c!=="delete"&&c!=="update")continue;const h=c==="update"&&typeof(l==null?void 0:l.move_path)=="string"?l.move_path:null,f=c==="update"?m0(s):c==="add"?{addedLineCount:Lf(s),removedLineCount:0}:{addedLineCount:0,removedLineCount:Lf(s)};n.push({path:o,operation:c,movedToPath:h,diff:s,...f})}return n}function v0(e){if(e.type==="agentMessage")return[{id:e.id,role:"assistant",text:e.text,messageType:e.type}];if(e.type==="userMessage"){const t=h0(e.id,e.content),n=[];return(t.text.length>0||t.images.length>0||t.fileAttachments.length>0||t.skills.length>0)&&n.push({id:e.id,role:"user",text:t.text,images:t.images,skills:t.skills.length>0?t.skills:void 0,fileAttachments:t.fileAttachments.length>0?t.fileAttachments:void 0,messageType:e.type,isAutomationRun:t.isAutomationRun,automationDisplayName:t.automationDisplayName}),n.push(...t.rawBlocks),n.length===0?[]:n}if(e.type==="imageView"){const t=typeof e.path=="string"?e.path.trim():"";return t?[{id:e.id,role:"assistant",text:"",images:[om(t)],messageType:"imageView"}]:[]}{const t=e;if(t.type==="imageGeneration"||t.type==="image_generation"){const n=typeof t.result=="string"?c0(t.result):"";return n?[{id:e.id,role:"assistant",text:"",images:[n],messageType:"imageView"}]:[]}}if(e.type==="reasoning")return[];if(e.type==="plan"){const t=typeof e.text=="string"?e.text:"";return[{id:e.id,role:"assistant",text:t,messageType:"plan",plan:p0(t)??void 0}]}if(e.type==="commandExecution"){const t=e,n=g0(t.status),r=typeof t.command=="string"?t.command:"",a=typeof t.cwd=="string"?t.cwd:null,o=typeof t.aggregatedOutput=="string"?t.aggregatedOutput:"",s=typeof t.exitCode=="number"?t.exitCode:null;return[{id:e.id,role:"system",text:r,messageType:"commandExecution",commandExecution:{command:r,cwd:a,status:n,aggregatedOutput:o,exitCode:s}}]}if(e.type==="fileChange"){const t=sm(e.changes),n=am(e.status);return t.length===0||n!=="completed"?[]:[{id:e.id,role:"system",text:"",messageType:"fileChange",fileChangeStatus:n,fileChanges:t}]}return[]}function g0(e){return e==="completed"||e==="failed"||e==="declined"||e==="interrupted"?e:e==="inProgress"||e==="in_progress"?"inProgress":"completed"}function y0(e){const t=e,n=[t.name,t.title,e.preview];for(const r of n)if(typeof r=="string"&&r.trim().length>0)return r.trim();return""}function w0(e){const t=y0(e);return t.length>0?t:"Untitled thread"}function Wc(e){return(e==null?void 0:e.status)==="inProgress"}function b0(e){const t=e;if(t.inProgress===!0||t.status==="inProgress"||t.turnStatus==="inProgress")return!0;const r=(Array.isArray(e.turns)?e.turns:[]).at(-1);return Wc(r)}function _0(e){const t=e,n=rt(typeof t.cwd=="string"?t.cwd:e.cwd),r=o0(n),a=t.isWorktree===!0||t.worktree===!0||t.worktreeId!==void 0||t.worktreePath!==void 0||r.includes("/.codex/worktrees/")||r.includes("/.git/worktrees/");return{id:e.id,title:w0(e),projectName:Qr(n),cwd:n,hasWorktree:a,createdAtIso:Nf(e.createdAt),updatedAtIso:Nf(e.updatedAt),preview:e.preview,unread:!1,inProgress:b0(e)}}function T0(e){const t=new Map;for(const n of e){const r=t.get(n.projectName);r?r.push(n):t.set(n.projectName,[n])}return Array.from(t.entries()).map(([n,r])=>({projectName:n,threads:r.sort((a,o)=>new Date(o.updatedAtIso).getTime()-new Date(a.updatedAtIso).getTime())})).sort((n,r)=>{var s,l;const a=new Date(((s=n.threads[0])==null?void 0:s.updatedAtIso)??0).getTime();return new Date(((l=r.threads[0])==null?void 0:l.updatedAtIso)??0).getTime()-a})}function k0(e){const t=e.data.map(_0);return T0(t)}function Bl(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[],n=[];for(let r=0;r<t.length;r++){const a=t[r],o=typeof(a==null?void 0:a.id)=="string"?a.id:void 0,s=Array.isArray(a.items)?a.items:[];for(const l of s)for(const c of v0(l))n.push({...c,turnId:o,turnIndex:r})}return n}function im(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[];return Wc(t.at(-1))}function lm(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[];for(let n=t.length-1;n>=0;n-=1){const r=t[n];if(Wc(r)&&typeof r.id=="string"&&r.id.trim().length>0)return r.id.trim()}return""}const C0=5e3;function Iu(e){return e&&e.length>0?e:null}function Ru(e){return e&&e.length>0?e:null}let el=null,gi=null;const Of=[{value:"default",label:"Default"},{value:"plan",label:"Plan"}];function it(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function ce(e){return typeof e=="string"&&e.length>0?e:null}function An(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Jr(e){return typeof e=="boolean"?e:null}function _s(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function S0(e){return e==="payment_required"?e:null}function x0(e){if(!e)return!1;const t=e.toLowerCase();return t.includes("payment required")||/\b402\b/.test(t)}function jf(e){const t=it(e);if(!t)return null;const n=An(t.usedPercent??t.used_percent);if(n===null)return null;const r=An(t.windowDurationMins??t.window_minutes);return{usedPercent:n,windowDurationMins:r,windowMinutes:r,resetsAt:An(t.resetsAt??t.resets_at)}}function A0(e){const t=it(e);if(!t)return null;const n=Jr(t.hasCredits??t.has_credits),r=Jr(t.unlimited);return n===null||r===null?null:{hasCredits:n,unlimited:r,balance:ce(t.balance)}}function lc(e){const t=it(e);if(!t)return null;const n=jf(t.primary),r=jf(t.secondary),a=A0(t.credits);return!n&&!r&&!a?null:{limitId:ce(t.limitId??t.limit_id),limitName:ce(t.limitName??t.limit_name),primary:n,secondary:r,credits:a,planType:ce(t.planType??t.plan_type)}}function um(e,t=null){const n=it(e);if(!n)return null;const r=ce(n.accountId),a=ce(n.quotaStatus),o=a==="loading"||a==="ready"||a==="error"?a:"idle";return r?{accountId:r,authMode:ce(n.authMode),email:ce(n.email),planType:ce(n.planType),lastRefreshedAtIso:ce(n.lastRefreshedAtIso)??"",lastActivatedAtIso:ce(n.lastActivatedAtIso),quotaSnapshot:lc(n.quotaSnapshot),quotaUpdatedAtIso:ce(n.quotaUpdatedAtIso),quotaStatus:o,quotaError:ce(n.quotaError),unavailableReason:S0(n.unavailableReason)??(x0(ce(n.quotaError))?"payment_required":null),isActive:Jr(n.isActive)??r===t}:null}function cm(e){const t=it(e);if(!t)return null;const n=it(t.rateLimitsByLimitId??t.rate_limits_by_limit_id),r=lc(n==null?void 0:n.codex);return r||lc(t.rateLimits??t.rate_limits)}async function Lt(e,t){try{return await Qb(e,t)}catch(n){throw la(n,`RPC ${e} failed`,e)}}function dm(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[],n={};for(let r=0;r<t.length;r+=1){const a=t[r];typeof(a==null?void 0:a.id)!="string"||a.id.length===0||(n[a.id]=r)}return n}function E0(e){return typeof e=="string"&&["none","minimal","low","medium","high","xhigh"].includes(e)?e:""}function I0(e){return typeof e=="string"&&e.trim().toLowerCase()==="fast"?"fast":"standard"}const R0=50,P0=100;async function M0(e,t){const n=await Lt("thread/list",{archived:!1,limit:t,sortKey:"updated_at",modelProviders:[],cursor:e});return{groups:k0(n),nextCursor:typeof n.nextCursor=="string"&&n.nextCursor.length>0?n.nextCursor:null}}async function $0(e){const t=await Lt("thread/read",{threadId:e,includeTurns:!0});return{messages:Bl(t),inProgress:im(t),activeTurnId:lm(t),turnIndexByTurnId:dm(t)}}async function Df(e=null,t=R0){try{return await M0(e,t)}catch(n){throw la(n,"Failed to load thread groups","thread/list")}}function N0(){return P0}async function Ff(e){try{return await $0(e)}catch(t){throw la(t,`Failed to load thread ${e}`,"thread/read")}}function L0(e){const t=it(e);if(!t)return null;const n=ce(t.key),r=typeof t.text=="string"?t.text:"",a=ce(t.kind);return!n||!a||a!=="meta"&&a!=="hunk"&&a!=="add"&&a!=="remove"&&a!=="context"?null:{key:n,kind:a,text:r,oldLine:An(t.oldLine),newLine:An(t.newLine)}}function O0(e){const t=it(e);if(!t)return null;const n=ce(t.id),r=typeof t.header=="string"?t.header:"",a=typeof t.patch=="string"?t.patch:"";return n?{id:n,header:r,patch:a,addedLineCount:An(t.addedLineCount)??0,removedLineCount:An(t.removedLineCount)??0,oldStart:An(t.oldStart),oldLineCount:An(t.oldLineCount)??0,newStart:An(t.newStart),newLineCount:An(t.newLineCount)??0,lines:Array.isArray(t.lines)?t.lines.map(o=>L0(o)).filter(o=>o!==null):[]}:null}function j0(e){const t=it(e);if(!t)return null;const n=ce(t.id),r=ce(t.path),a=ce(t.absolutePath),o=ce(t.operation);return!n||!r||!a||!o||o!=="add"&&o!=="delete"&&o!=="update"&&o!=="rename"?null:{id:n,path:r,absolutePath:a,previousPath:ce(t.previousPath),previousAbsolutePath:ce(t.previousAbsolutePath),operation:o,addedLineCount:An(t.addedLineCount)??0,removedLineCount:An(t.removedLineCount)??0,diff:typeof t.diff=="string"?t.diff:"",hunks:Array.isArray(t.hunks)?t.hunks.map(s=>O0(s)).filter(s=>s!==null):[]}}function fm(e){const t=it(e),n=it(t==null?void 0:t.data),r=it(n==null?void 0:n.summary),a=ce(n==null?void 0:n.scope)==="baseBranch"?"baseBranch":"workspace",o=ce(n==null?void 0:n.workspaceView)==="staged"?"staged":"unstaged";return{cwd:ce(n==null?void 0:n.cwd)??"",gitRoot:ce(n==null?void 0:n.gitRoot),isGitRepo:Jr(n==null?void 0:n.isGitRepo)??!1,scope:a,workspaceView:o,baseBranch:ce(n==null?void 0:n.baseBranch),baseBranchOptions:Array.isArray(n==null?void 0:n.baseBranchOptions)?n.baseBranchOptions.map(s=>ce(s)).filter(s=>typeof s=="string"&&s.length>0):[],headBranch:ce(n==null?void 0:n.headBranch),mergeBaseSha:ce(n==null?void 0:n.mergeBaseSha),generatedAtIso:ce(n==null?void 0:n.generatedAtIso)??"",summary:{fileCount:An(r==null?void 0:r.fileCount)??0,addedLineCount:An(r==null?void 0:r.addedLineCount)??0,removedLineCount:An(r==null?void 0:r.removedLineCount)??0},files:Array.isArray(n==null?void 0:n.files)?n.files.map(s=>j0(s)).filter(s=>s!==null):[]}}function D0(e){var r;const t=e.trim();if(!t)return{absolutePath:null,startLine:null,endLine:null};const n=t.match(/^(.*?):(\d+)-(\d+)$/u);return n?{absolutePath:((r=n[1])==null?void 0:r.trim())||null,startLine:Number(n[2]),endLine:Number(n[3])}:{absolutePath:t||null,startLine:null,endLine:null}}function F0(e){var s;const t=e.replace(/\r\n/g,`
38
- `).trim();if(!t)return{reviewText:"",summary:"",findings:[]};const n=t.search(/\n(?:Full review comments|Review comment):\n/iu),r=n>=0?t.slice(0,n).trim():t,a=n>=0?t.slice(n).trim():"",o=[];if(a){const c=a.replace(/^(?:Full review comments|Review comment):\n*/iu,"").trim().matchAll(/^- (.+?) — (.+)\n?((?: .*(?:\n|$))*)/gmu);let h=0;for(const f of c){const g=((s=f[1])==null?void 0:s.trim())??"",_=D0(f[2]??""),E=(f[0]??"").trim(),O=(f[3]??"").split(`
39
- `).map(H=>H.replace(/^ /u,"")).join(`
40
- `).trim();o.push({id:`finding:${h}`,title:g||`Finding ${h+1}`,body:O,path:_.absolutePath?_.absolutePath.split("/").filter(Boolean).slice(-1)[0]??_.absolutePath:null,absolutePath:_.absolutePath,startLine:_.startLine,endLine:_.endLine,rawText:E}),h+=1}}return{reviewText:t,summary:r,findings:o}}function Uf(e,t){const n=Array.isArray(e.thread.turns)?e.thread.turns:[];for(let r=n.length-1;r>=0;r-=1){const a=n[r],o=Array.isArray(a==null?void 0:a.items)?a.items:[];for(let s=o.length-1;s>=0;s-=1){const l=o[s];if((l==null?void 0:l.type)!==t)continue;const c=typeof l.review=="string"?l.review.trim():"";if(c)return c}}return null}async function CM(e){const t=await Lt("thread/read",{threadId:e,includeTurns:!0}),n=Uf(t,"exitedReviewMode");return{enteredReviewLabel:Uf(t,"enteredReviewMode"),result:n?F0(n):null}}async function SM(){return Jb()}function uc(e){const t=it(e);if(!t)return null;const n=ce(t.id),r=ce(t.kind),a=ce(t.name),o=ce(t.prompt),s=ce(t.rrule),l=ce(t.status);return!n||!a||!o||!s||r!=="heartbeat"&&r!=="cron"||l!=="ACTIVE"&&l!=="PAUSED"?null:{id:n,kind:r,name:a,prompt:o,rrule:s,status:l,targetThreadId:ce(t.targetThreadId),createdAtMs:An(t.createdAtMs),updatedAtMs:An(t.updatedAtMs),nextRunAtMs:An(t.nextRunAtMs)}}function U0(e){if(Array.isArray(e))return e.flatMap(n=>{const r=uc(n);return r?[r]:[]});const t=uc(e);return t?[t]:[]}async function B0(){var a;const e=await fetch("/codex-api/thread-automations"),t=await e.json().catch(()=>null);if(!e.ok)throw new Error(da(t,"Failed to load thread automations"));const n=it((a=it(t))==null?void 0:a.data),r={};if(!n)return r;for(const[o,s]of Object.entries(n)){const l=U0(s);l.length>0&&(r[o]=l)}return r}async function q0(e){var a;const t=await fetch("/codex-api/thread-automation",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json().catch(()=>null);if(!t.ok)throw new Error(da(n,"Failed to save thread automation"));const r=uc((a=it(n))==null?void 0:a.data);if(!r)throw new Error("Thread automation response was malformed");return r}async function Bf(e,t){const n=new URLSearchParams({threadId:e});t&&n.set("automationId",t);const r=await fetch(`/codex-api/thread-automation?${n.toString()}`,{method:"DELETE"}),a=await r.json().catch(()=>null);if(!r.ok)throw new Error(da(a,"Failed to delete thread automation"))}async function H0(e,t){const n=await fetch("/codex-api/thread-automation/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e,automationId:t})}),r=await n.json().catch(()=>null);if(!n.ok)throw new Error(da(r,"Failed to run thread automation"))}function W0(e){return Zb(e)}function z0(e){const t=it(e);if(!t)return null;const n=ce(t.id),r=ce(t.threadId),a=ce(t.cwd),o=ce(t.shell);return!n||!r||!a||!o?null:{id:n,threadId:r,cwd:a,shell:o,buffer:typeof t.buffer=="string"?t.buffer:"",truncated:Jr(t.truncated)??!1}}async function Fs(e,t){const n=await fetch(e,t),r=await n.json().catch(()=>null);if(!n.ok)throw new Error(da(r,`Terminal request failed with HTTP ${n.status}`));return r}async function xM(e){var r;const t=await Fs("/codex-api/thread-terminal/attach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=z0((r=it(t))==null?void 0:r.session);if(!n)throw new Error("Terminal attach response was malformed");return n}async function V0(){const e=await Fs("/codex-api/thread-terminal/status"),t=it(e);return{available:Jr(t==null?void 0:t.available)??!1,reason:ce(t==null?void 0:t.reason)||null}}async function G0(e){const t=await Fs(`/codex-api/thread-terminal/quick-commands?cwd=${encodeURIComponent(e)}`),n=it(t);return(Array.isArray(n==null?void 0:n.commands)?n.commands:[]).flatMap(a=>{const o=it(a),s=ce(o==null?void 0:o.label),l=ce(o==null?void 0:o.value),c=ce(o==null?void 0:o.source);return!s||!l||c!=="package"&&c!=="script"&&c!=="make"?[]:[{label:s,value:l,source:c}]})}async function AM(e,t){await Fs("/codex-api/thread-terminal/input",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,data:t})})}async function EM(e,t,n){await Fs("/codex-api/thread-terminal/resize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,cols:t,rows:n})})}async function IM(e){await Fs("/codex-api/thread-terminal/close",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})})}async function K0(e,t){await e0({id:e,...t})}async function Y0(){return t0()}async function Q0(){try{const e=await Lt("account/rateLimits/read");return cm(e)}catch(e){throw la(e,"Failed to load account rate limits","account/rateLimits/read")}}function ql(e){const t=it(e),n=ce(t==null?void 0:t.activeAccountId),r=Array.isArray(t==null?void 0:t.accounts)?t==null?void 0:t.accounts:[];return{activeAccountId:n,importedAccountId:ce(t==null?void 0:t.importedAccountId)??void 0,accounts:r.map(a=>um(a,n)).filter(a=>a!==null)}}async function J0(){const e=await fetch("/codex-api/accounts"),t=await e.json();if(!e.ok)throw new Error(Nn(t,"Failed to load accounts"));const n=it(t);return ql(n==null?void 0:n.data)}async function X0(){const e=await fetch("/codex-api/accounts/refresh",{method:"POST"}),t=await e.json();if(!e.ok)throw new Error(Nn(t,"Failed to refresh accounts"));const n=it(t);return ql(n==null?void 0:n.data)}async function Z0(){const e=await fetch("/codex-api/accounts/login/start",{method:"POST"}),t=await e.json();if(!e.ok)throw new Error(Nn(t,"Failed to start Codex login"));const n=it(t),r=it(n==null?void 0:n.data),a=ce(r==null?void 0:r.loginUrl);if(!a)throw new Error("Failed to start Codex login");return a}async function e_(e){const t=await fetch("/codex-api/accounts/login/complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({callbackUrl:e})}),n=await t.json();if(!t.ok)throw new Error(Nn(n,"Failed to complete Codex login"));const r=it(n);return ql(r==null?void 0:r.data)}async function t_(e){const t=await fetch("/codex-api/accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accountId:e})}),n=await t.json();if(!t.ok)throw new Error(Nn(n,"Failed to switch account"));const r=it(n),a=it(r==null?void 0:r.data),o=um(a==null?void 0:a.account,ce(a==null?void 0:a.activeAccountId));if(!o)throw new Error("Failed to switch account");return o}async function n_(e){const t=await fetch("/codex-api/accounts/remove",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({accountId:e})}),n=await t.json();if(!t.ok)throw new Error(Nn(n,"Failed to remove account"));const r=it(n);return ql(r==null?void 0:r.data)}async function Pu(e){const t=await Lt("thread/resume",{threadId:e});return{model:Cl(t),messages:Bl(t),inProgress:im(t),activeTurnId:lm(t),turnIndexByTurnId:dm(t)}}async function r_(e){await Lt("thread/archive",{threadId:e})}async function o_(e,t){await Lt("thread/name/set",{threadId:e,name:t})}async function Mu(e,t){const n=await Lt("thread/rollback",{threadId:e,numTurns:t});return Bl(n)}async function a_(e,t,n){try{const r=await fetch("/codex-api/thread/rollback-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e,turnId:t,cwd:n})});return r.ok?await r.json():{reverted:0,errors:["Server error"]}}catch{return{reverted:0,errors:["Network error"]}}}function cc(e){if(!e||typeof e!="object")return"";const n=e.thread;if(n&&typeof n=="object"){const r=n.id;if(typeof r=="string"&&r.length>0)return r}return""}function s_(e){if(!e||typeof e!="object")return"";const n=e.thread;if(n&&typeof n=="object"){const r=n.cwd;if(typeof r=="string"&&r.length>0)return r}return""}function Cl(e){if(!e||typeof e!="object")return"";const t=e.model;return typeof t=="string"?t.trim():""}async function qf(e,t){try{const n={};typeof e=="string"&&e.trim().length>0&&(n.cwd=e.trim()),typeof t=="string"&&t.trim().length>0&&(n.model=t.trim());const r=await Lt("thread/start",n),a=cc(r);if(!a)throw new Error("thread/start did not return a thread id");return{threadId:a,model:Cl(r)}}catch(n){throw la(n,"Failed to start a new thread","thread/start")}}async function Hf(e,t,n){if(arguments.length<=1)try{const r=await Lt("thread/fork",{threadId:e,persistExtendedHistory:!0}),a=cc(r);if(!a)throw new Error("thread/fork did not return a thread id");return{threadId:a,cwd:s_(r),model:Cl(r),messages:Bl(r)}}catch(r){throw la(r,`Failed to fork thread ${e}`,"thread/fork")}try{const r=e.trim();if(!r)throw new Error("thread/fork requires threadId");const a={threadId:r};typeof t=="string"&&t.trim().length>0&&(a.cwd=t.trim()),typeof n=="string"&&n.trim().length>0&&(a.model=n.trim());const o=await Lt("thread/fork",a),s=cc(o);if(!s)throw new Error("thread/fork did not return a thread id");return{threadId:s,model:Cl(o)}}catch(r){throw la(r,`Failed to fork thread ${e}`,"thread/fork")}}function Wf(e){var t;if(!e)return null;try{const n=new URL(e,"http://localhost");if(n.pathname!=="/codex-local-image")return null;const r=((t=n.searchParams.get("path"))==null?void 0:t.trim())??"";return r.length>0?r:null}catch{return null}}function i_(e,t){if(t.length===0)return e;let n=`# Files mentioned by the user:
41
- `;for(const r of t)n+=`
42
- ## ${r.label}: ${r.path}
43
- `;return`${n}
44
- ## My request for Codex:
45
-
46
- ${e}
47
- `}function l_(e){const t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).at(-1)??t}async function u_(e,t,n){var c;const r=(t==null?void 0:t.trim())??"";if(r)return{model:r,reasoningEffort:e==="plan"?Iu(n):Ru(n)};let a=null;try{a=await pm()}catch{a=null}const o=(a==null?void 0:a.model.trim())??"";if(o)return{model:o,reasoningEffort:e==="plan"?Iu(n??(a==null?void 0:a.reasoningEffort)):Ru(n??(a==null?void 0:a.reasoningEffort))};let s=[];try{s=await hm()}catch{s=[]}const l=((c=s.find(h=>h.trim().length>0))==null?void 0:c.trim())??"";if(l)return{model:l,reasoningEffort:e==="plan"?Iu(n??(a==null?void 0:a.reasoningEffort)):Ru(n??(a==null?void 0:a.reasoningEffort))};throw new Error(`${e==="plan"?"Plan":"Default"} mode requires an available model. Wait for models to load and try again.`)}async function $u(e,t,n=[],r,a,o,s=[],l){var c;try{const h=(r==null?void 0:r.trim())??"",f=[];for(const D of n){const K=Wf(D.trim());K&&f.push({label:l_(K),path:K,fsPath:K})}const g=[...s,...f],_=g.filter((D,K)=>g.findIndex(X=>X.fsPath===D.fsPath)===K),O=[{type:"text",text:i_(t,_)}];for(const D of n){const K=D.trim();if(!K)continue;const X=Wf(K);if(X){O.push({type:"localImage",path:X});continue}O.push({type:"image",url:K,image_url:K})}if(o)for(const D of o)O.push({type:"skill",name:D.name,path:D.path});const H=_.map(D=>({label:D.label,path:D.path,fsPath:D.fsPath})),ne={threadId:e,input:O};if(H.length>0&&(ne.attachments=H),h&&(ne.model=h),typeof a=="string"&&a.length>0&&(ne.effort=a),l){const D=await u_(l,h,a);ne.collaborationMode={mode:l,settings:{model:D.model,reasoning_effort:D.reasoningEffort,developer_instructions:null}}}const j=await Lt("turn/start",ne);return typeof((c=j==null?void 0:j.turn)==null?void 0:c.id)=="string"?j.turn.id.trim():""}catch(h){throw la(h,`Failed to start turn for thread ${e}`,"turn/start")}}async function c_(e,t){const n=e.trim(),r=(t==null?void 0:t.trim())||"";if(n)try{if(!r)throw new Error("turn/interrupt requires turnId");await Lt("turn/interrupt",{threadId:n,turnId:r})}catch(a){throw la(a,`Failed to interrupt turn for thread ${n}`,"turn/interrupt")}}async function d_(e){const t=e==="fast"?"fast":"standard";await Lt("config/batchWrite",{edits:[{keyPath:"features.fast_mode",value:!0,mergeStrategy:"upsert"},{keyPath:"service_tier",value:t==="fast"?"fast":null,mergeStrategy:t==="fast"?"upsert":"replace"}],filePath:null,expectedVersion:null})}async function f_(){return await(await fetch("/codex-api/free-mode/status")).json()}async function zf(e){return await(await fetch("/codex-api/free-mode",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enable:e})})).json()}async function Vf(e){return await(await fetch("/codex-api/free-mode/custom-key",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e})})).json()}async function hs(e,t,n){return await(await fetch("/codex-api/free-mode/custom-provider",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({baseUrl:e,apiKey:t,wireApi:n==null?void 0:n.wireApi,provider:n==null?void 0:n.provider})})).json()}async function hm(e={}){const t=await Lt("model/list",{}),n=[];for(const r of t.data){const a=r.id||r.model;!a||n.includes(a)||n.push(a)}if(e.includeProviderModels===!1)return n;try{const r=await fetch("/codex-api/provider-models",{signal:AbortSignal.timeout(C0)});let a=null;try{a=await r.json()}catch{a=null}if(r.ok&&Array.isArray(a==null?void 0:a.data)){if(a.exclusive)return a.data.filter(o=>typeof o=="string"&&o.trim().length>0);for(const o of a.data){if(typeof o!="string")continue;const s=o.trim();!s||n.includes(s)||n.push(s)}}}catch{}return n}async function pm(){const e=await Lt("config/read",{}),t=e.config.model??"",n=typeof e.config.model_provider=="string"?e.config.model_provider:"",r=E0(e.config.model_reasoning_effort),a=I0(e.config.service_tier);return{model:t,providerId:n,reasoningEffort:r,speedMode:a}}function mm(e){const t=it(e);if(!t)return null;const n=ce(t.id),r=ce(t.name);return!n||!r?null:{id:n,name:r,description:ce(t.description)??"",installUrl:ce(t.installUrl??t.install_url)??"",needsAuth:Jr(t.needsAuth??t.needs_auth)??!1}}function h_(e){const t=it(e);if(!t)return null;const n=ce(t.name),r=ce(t.path);if(!n||!r)return null;const a=it(t.interface);return{name:n,path:r,description:ce(t.description)??"",enabled:Jr(t.enabled)??!0,displayName:ce((a==null?void 0:a.displayName)??(a==null?void 0:a.display_name))??n,shortDescription:ce(t.shortDescription??t.short_description)??""}}function vm(e,t={}){const n=it(e);if(!n)return null;const r=ce(n.id),a=ce(n.name);if(!r||!a)return null;const o=it(n.interface),s=it(n.source),l=ce(s==null?void 0:s.type)??"",c=ce(s==null?void 0:s.path),h=ce(s==null?void 0:s.url)??"",f=l==="remote"?t.name??null:null,g=t.path??(l==="local"?c:null),_=ce((o==null?void 0:o.displayName)??(o==null?void 0:o.display_name))??a,E=ce((o==null?void 0:o.shortDescription)??(o==null?void 0:o.short_description)),O=ce((o==null?void 0:o.longDescription)??(o==null?void 0:o.long_description))??"";return{id:r,name:a,displayName:_,description:E??O,longDescription:O,developerName:ce((o==null?void 0:o.developerName)??(o==null?void 0:o.developer_name))??"",category:ce(o==null?void 0:o.category)??"",marketplaceName:t.name??"",marketplaceDisplayName:t.displayName??t.name??"",marketplacePath:g,remoteMarketplaceName:f,sourceType:l,sourceUrl:h,installed:Jr(n.installed)??!1,enabled:Jr(n.enabled)??!0,installPolicy:ce(n.installPolicy??n.install_policy)??"",authPolicy:ce(n.authPolicy??n.auth_policy)??"",logoUrl:ce((o==null?void 0:o.logoUrl)??(o==null?void 0:o.logo_url))??"",logoPath:ce(o==null?void 0:o.logo)??"",composerIconUrl:ce((o==null?void 0:o.composerIconUrl)??(o==null?void 0:o.composer_icon_url))??"",composerIconPath:ce((o==null?void 0:o.composerIcon)??(o==null?void 0:o.composer_icon))??"",brandColor:ce((o==null?void 0:o.brandColor)??(o==null?void 0:o.brand_color))??"",capabilities:_s(o==null?void 0:o.capabilities),defaultPrompt:_s((o==null?void 0:o.defaultPrompt)??(o==null?void 0:o.default_prompt)),screenshotUrls:_s((o==null?void 0:o.screenshotUrls)??(o==null?void 0:o.screenshot_urls)),screenshots:_s(o==null?void 0:o.screenshots),websiteUrl:ce((o==null?void 0:o.websiteUrl)??(o==null?void 0:o.website_url))??"",privacyPolicyUrl:ce((o==null?void 0:o.privacyPolicyUrl)??(o==null?void 0:o.privacy_policy_url))??"",termsOfServiceUrl:ce((o==null?void 0:o.termsOfServiceUrl)??(o==null?void 0:o.terms_of_service_url))??""}}function p_(e,t=0){const n=it(e);if(!n)return null;const r=ce(n.id),a=ce(n.name);if(!r||!a)return null;const o=it(n.branding),s=it(n.appMetadata??n.app_metadata);return{id:r,name:a,description:ce(n.description)??ce((s==null?void 0:s.seoDescription)??(s==null?void 0:s.seo_description))??"",logoUrl:ce(n.logoUrl??n.logo_url)??"",logoUrlDark:ce(n.logoUrlDark??n.logo_url_dark)??"",distributionChannel:ce(n.distributionChannel??n.distribution_channel)??"",installUrl:ce(n.installUrl??n.install_url)??"",isAccessible:Jr(n.isAccessible??n.is_accessible)??!1,isEnabled:Jr(n.isEnabled??n.is_enabled)??!0,pluginDisplayNames:_s(n.pluginDisplayNames??n.plugin_display_names),category:ce(o==null?void 0:o.category)??"",developer:ce(o==null?void 0:o.developer)??ce(s==null?void 0:s.developer)??"",website:ce(o==null?void 0:o.website)??"",privacyPolicy:ce((o==null?void 0:o.privacyPolicy)??(o==null?void 0:o.privacy_policy))??"",termsOfService:ce((o==null?void 0:o.termsOfService)??(o==null?void 0:o.terms_of_service))??"",catalogRank:t}}function m_(e){const t=it(e);if(!t)return null;const n=ce(t.name);if(!n)return null;const r=it(t.tools)??{},a=Object.entries(r).map(([c,h])=>{const f=it(h);return{name:ce(f==null?void 0:f.name)??c,title:ce(f==null?void 0:f.title)??"",description:ce(f==null?void 0:f.description)??""}}),o=Array.isArray(t.resources)?t.resources.map(c=>{const h=it(c);return{name:ce(h==null?void 0:h.name)??"",title:ce(h==null?void 0:h.title)??"",uri:ce(h==null?void 0:h.uri)??"",description:ce(h==null?void 0:h.description)??""}}).filter(c=>c.name||c.uri):[],s=t.resourceTemplates??t.resource_templates,l=Array.isArray(s)?s.map(c=>{const h=it(c);return{name:ce(h==null?void 0:h.name)??"",title:ce(h==null?void 0:h.title)??"",uriTemplate:ce((h==null?void 0:h.uriTemplate)??(h==null?void 0:h.uri_template))??"",description:ce(h==null?void 0:h.description)??""}}).filter(c=>c.name||c.uriTemplate):[];return{name:n,authStatus:ce(t.authStatus??t.auth_status)??"unsupported",tools:a,resources:o,resourceTemplates:l}}async function RM(e){const t={};e&&e.length>0&&(t.cwds=e);const n=await Lt("plugin/list",t),r=[];for(const a of n.marketplaces??[]){const o=it(a);if(!o)continue;const s=it(o.interface),l={name:ce(o.name)??"",displayName:ce((s==null?void 0:s.displayName)??(s==null?void 0:s.display_name))??"",path:ce(o.path)},c=Array.isArray(o.plugins)?o.plugins:[];for(const h of c){const f=vm(h,l);f&&r.push(f)}}return r}async function PM(e){const t={pluginName:e.name};e.marketplacePath&&(t.marketplacePath=e.marketplacePath),e.remoteMarketplaceName&&(t.remoteMarketplaceName=e.remoteMarketplaceName);const n=await Lt("plugin/read",t),r=it(n.plugin);if(!r)throw new Error("Plugin detail response is empty");const a=vm(r.summary,{name:ce(r.marketplaceName)??e.marketplaceName,displayName:e.marketplaceDisplayName,path:ce(r.marketplacePath)??e.marketplacePath})??e;return{summary:a,description:ce(r.description)??a.longDescription,apps:Array.isArray(r.apps)?r.apps.map(mm).filter(o=>o!==null):[],skills:Array.isArray(r.skills)?r.skills.map(h_).filter(o=>o!==null):[],mcpServers:_s(r.mcpServers??r.mcp_servers)}}async function MM(e){const t={pluginName:e.name};e.marketplacePath&&(t.marketplacePath=e.marketplacePath),e.remoteMarketplaceName&&(t.remoteMarketplaceName=e.remoteMarketplaceName);const n=await Lt("plugin/install",t),r=n.appsNeedingAuth??n.apps_needing_auth??[];return{authPolicy:ce(n.authPolicy??n.auth_policy)??"",appsNeedingAuth:r.map(mm).filter(a=>a!==null)}}async function $M(e){await Lt("plugin/uninstall",{pluginId:e})}async function NM(e,t){await Lt("config/batchWrite",{edits:[{keyPath:`plugins.${e}.enabled`,value:t,mergeStrategy:"upsert"}],filePath:null,expectedVersion:null,reloadUserConfig:!0})}async function LM(e){const t=[];let n=null,r=0;do{const a={limit:100};n&&(a.cursor=n),e&&(a.threadId=e);const o=await Lt("app/list",a);for(const s of o.data??[]){const l=p_(s,r);l&&t.push(l),r+=1}n=ce(o.nextCursor??o.next_cursor)}while(n);return t}async function OM(e,t){await Lt("config/batchWrite",{edits:[{keyPath:`apps.${e}.enabled`,value:t,mergeStrategy:"upsert"}],filePath:null,expectedVersion:null,reloadUserConfig:!0})}async function jM(){const e=[];let t=null;do{const n={};t&&(n.cursor=t);const r=await Lt("mcpServerStatus/list",n);for(const a of r.data??[]){const o=m_(a);o&&e.push(o)}t=ce(r.nextCursor??r.next_cursor)}while(t);return e}async function DM(){await Lt("config/mcpServer/reload",{})}async function FM(e){const t=await Lt("mcpServer/oauth/login",{name:e});return{authorizationUrl:ce(t.authorizationUrl??t.authorization_url)??""}}async function UM(){const e=await fetch("/codex-api/composio/status");if(!e.ok)throw new Error(`Failed to load Composio status (${e.status})`);return await e.json()}async function BM(e="",t=null,n=50){const r=new URLSearchParams;e.trim()&&r.set("query",e.trim()),t&&r.set("cursor",t),n&&Number.isFinite(n)&&r.set("limit",String(Math.max(1,Math.floor(n))));const a=r.toString(),o=await fetch(`/codex-api/composio/connectors${a?`?${a}`:""}`);if(!o.ok)throw new Error(`Failed to list Composio connectors (${o.status})`);const s=await o.json();return{data:Array.isArray(s.data)?s.data:[],nextCursor:typeof s.nextCursor=="string"&&s.nextCursor.length>0?s.nextCursor:null,total:typeof s.total=="number"&&Number.isFinite(s.total)?Math.max(0,Math.floor(s.total)):0}}async function qM(e){const t=await fetch(`/codex-api/composio/connector?slug=${encodeURIComponent(e)}`);if(!t.ok)throw new Error(`Failed to load Composio connector (${t.status})`);return await t.json()}async function HM(e){const t=await fetch("/codex-api/composio/link",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e})});if(!t.ok)throw new Error(`Failed to start Composio login (${t.status})`);return await t.json()}async function WM(){const e=await fetch("/codex-api/composio/login",{method:"POST"});if(!e.ok)throw new Error(`Failed to start Composio CLI login (${e.status})`);return await e.json()}async function zM(){const e=await fetch("/codex-api/composio/install",{method:"POST"});if(!e.ok)throw new Error(`Failed to install Composio CLI (${e.status})`);return await e.json()}function v_(e){const t=e.trim();return t?t.replace(/[_-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}async function g_(){try{const e=await Lt("collaborationMode/list",{}),t=new Set,n=[];for(const r of e.data){const a=r.mode;a!=="default"&&a!=="plan"||t.has(a)||(t.add(a),n.push({value:a,label:v_(r.name||a)||(a==="plan"?"Plan":"Default")}))}if(n.length>0){for(const r of Of)t.has(r.value)||n.push(r);return n.sort((r,a)=>r.value===a.value?0:r.value==="default"?-1:1)}}catch{}return Of}function y_(e){const t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=o=>{if(!Array.isArray(o))return[];const s=[];for(const l of o)typeof l=="string"&&l.length>0&&!s.includes(l)&&s.push(l);return s},r=t.labels,a={};if(r&&typeof r=="object"&&!Array.isArray(r))for(const[o,s]of Object.entries(r)){const l=typeof o=="string"?rt(o):"";l.length>0&&typeof s=="string"&&(a[l]=s)}return{order:n(t.order).map(o=>rt(o)),labels:a,active:n(t.active).map(o=>rt(o)),projectOrder:n(t.projectOrder).map(o=>rt(o)),remoteProjects:Array.isArray(t.remoteProjects)?t.remoteProjects.flatMap(o=>{if(!o||typeof o!="object"||Array.isArray(o))return[];const s=o,l=typeof s.id=="string"?s.id.trim():"";return l?[{id:l,hostId:typeof s.hostId=="string"?s.hostId.trim():"",remotePath:typeof s.remotePath=="string"?rt(s.remotePath):"",label:typeof s.label=="string"?s.label.trim():""}]:[]}):[]}}function w_(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,n=typeof t.id=="string"?t.id.trim():"";if(!n)return null;const r=Array.isArray(t.imageUrls)?t.imageUrls.filter(s=>typeof s=="string"&&s.trim().length>0):[],a=Array.isArray(t.skills)?t.skills.flatMap(s=>{if(!s||typeof s!="object"||Array.isArray(s))return[];const l=s,c=typeof l.name=="string"?l.name.trim():"",h=typeof l.path=="string"?l.path.trim():"";return c&&h?[{name:c,path:h}]:[]}):[],o=Array.isArray(t.fileAttachments)?t.fileAttachments.flatMap(s=>{if(!s||typeof s!="object"||Array.isArray(s))return[];const l=s,c=typeof l.label=="string"?l.label.trim():"",h=typeof l.path=="string"?l.path.trim():"",f=typeof l.fsPath=="string"?l.fsPath.trim():"";return c&&h&&f?[{label:c,path:h,fsPath:f}]:[]}):[];return{id:n,text:typeof t.text=="string"?t.text:"",imageUrls:r,skills:a,fileAttachments:o,collaborationMode:t.collaborationMode==="plan"?"plan":"default"}}function gm(e){if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};for(const[n,r]of Object.entries(e)){const a=n.trim();if(!a||!Array.isArray(r))continue;const o=r.flatMap(s=>{const l=w_(s);return l?[l]:[]});o.length>0&&(t[a]=o)}return t}async function ws(){return gi?dc(gi):(el||(el=b_().then(e=>(gi=e,e)).finally(()=>{el=null})),dc(await el))}async function b_(){const e=await fetch("/codex-api/workspace-roots-state"),t=await e.json();if(!e.ok)throw new Error("Failed to load workspace roots state");const n=t&&typeof t=="object"&&!Array.isArray(t)?t:{};return y_(n.data)}function dc(e){var t;return{order:[...e.order],labels:{...e.labels},active:[...e.active],projectOrder:[...e.projectOrder],remoteProjects:((t=e.remoteProjects)==null?void 0:t.map(n=>({...n})))??[]}}function __(){gi=null}async function Gf(){const e=await fetch("/codex-api/thread-queue-state"),t=await e.json();if(!e.ok)throw new Error("Failed to load thread queue state");const n=t&&typeof t=="object"&&!Array.isArray(t)?t:{};return gm(n.data)}async function T_(e){if(!(await fetch("/codex-api/thread-queue-state",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(gm(e))})).ok)throw new Error("Failed to save thread queue state")}async function k_(e,t){const n=(t??"").trim(),r=await fetch("/codex-api/worktree/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourceCwd:e,baseBranch:n||void 0})}),a=await r.json();if(!r.ok||!a.data)throw new Error(a.error||"Failed to create worktree");return{...a.data,cwd:rt(a.data.cwd),gitRoot:rt(a.data.gitRoot)}}async function C_(e,t){const n=await fetch("/codex-api/worktree/create-permanent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourceCwd:e,worktreeName:t})}),r=await n.json();if(!n.ok||!r.data)throw new Error(r.error||"Failed to create worktree");return{...r.data,cwd:rt(r.data.cwd),gitRoot:rt(r.data.gitRoot)}}async function S_(e){const t=e.trim();if(!t)return[];const n=new URLSearchParams({sourceCwd:t}),r=await fetch(`/codex-api/worktree/branches?${n.toString()}`),a=await r.json();if(!r.ok)throw new Error(a.error||"Failed to load branches");const o=Array.isArray(a.data)?a.data:[],s=[],l=new Set;for(const c of o){if(!c||typeof c!="object"||Array.isArray(c))continue;const h=c,f=typeof h.value=="string"?h.value.trim():"",g=typeof h.label=="string"?h.label.trim():"";!f||l.has(f)||(l.add(f),s.push({value:f,label:g||f}))}return s}async function x_(e){const t=e.trim();if(!t)return{currentBranch:null,headSha:null,headSubject:null,headDate:null,detached:!1,dirty:!1,gitRoot:"",options:[]};const n=new URLSearchParams({cwd:t}),r=await fetch(`/codex-api/git/branches?${n.toString()}`),a=await r.json();if(!r.ok)throw new Error(a.error||"Failed to load Git branch state");const o=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:{},s=o.currentBranch,l=typeof s=="string"&&s.trim()?s.trim():null,c=Array.isArray(o.options)?o.options:[],h=[],f=new Set;for(const H of c){if(!H||typeof H!="object"||Array.isArray(H))continue;const ne=H,j=typeof ne.value=="string"?ne.value.trim():"",D=typeof ne.label=="string"?ne.label.trim():"";!j||f.has(j)||(f.add(j),h.push({value:j,label:D||j,isCurrent:ne.isCurrent===!0,isRemote:ne.isRemote===!0}))}l&&!f.has(l)&&h.unshift({value:l,label:l,isCurrent:!0});const g=o.headSha,_=o.headSubject,E=o.headDate,O=o.gitRoot;return{currentBranch:l,headSha:typeof g=="string"&&g.trim()?g.trim():null,headSubject:typeof _=="string"&&_.trim()?_.trim():null,headDate:typeof E=="string"&&E.trim()?E.trim():null,detached:o.detached===!0,dirty:o.dirty===!0,gitRoot:typeof O=="string"?rt(O):"",options:h}}async function A_(e){const t=e.trim();if(!t)return{isGitRepo:!1,gitRoot:""};const n=new URLSearchParams({cwd:t}),r=await fetch(`/codex-api/git/repository-status?${n.toString()}`),a=await r.json();if(!r.ok)throw new Error(a.error||"Failed to read Git repository status");const o=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:{};return{isGitRepo:o.isGitRepo===!0,gitRoot:typeof o.gitRoot=="string"?rt(o.gitRoot):""}}async function E_(e,t){var o;const n=await fetch("/codex-api/git/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e.trim(),branch:t.trim()})}),r=await n.json();if(!n.ok)throw new Error(r.error||"Failed to switch branch");const a=(o=r.data)==null?void 0:o.currentBranch;return typeof a=="string"&&a.trim()?a.trim():null}async function I_(e,t){const n=e.trim(),r=t.trim();if(!n||!r)return[];const a=new URLSearchParams({cwd:n,branch:r}),o=await fetch(`/codex-api/git/branch-commits?${a.toString()}`),s=await o.json();if(!o.ok)throw new Error(s.error||"Failed to load branch commits");return(Array.isArray(s.data)?s.data:[]).flatMap(c=>{if(!c||typeof c!="object"||Array.isArray(c))return[];const h=c,f=typeof h.sha=="string"?h.sha.trim():"",g=typeof h.shortSha=="string"?h.shortSha.trim():"",_=typeof h.subject=="string"?h.subject.trim():"",E=typeof h.date=="string"?h.date.trim():"";return!f||!g?[]:[{sha:f,shortSha:g,subject:_||g,date:E}]})}async function R_(e,t,n){const r=await fetch("/codex-api/git/reset-to-commit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e.trim(),branch:t.trim(),sha:n.trim()})}),a=await r.json();if(!r.ok)throw new Error(a.error||"Failed to reset branch to commit");const o=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:{};return{currentBranch:typeof o.currentBranch=="string"&&o.currentBranch.trim()?o.currentBranch.trim():null,headSha:typeof o.headSha=="string"&&o.headSha.trim()?o.headSha.trim():null,headSubject:typeof o.headSubject=="string"&&o.headSubject.trim()?o.headSubject.trim():null,headDate:typeof o.headDate=="string"&&o.headDate.trim()?o.headDate.trim():null,detached:o.detached===!0,dirty:o.dirty===!0,gitRoot:typeof o.gitRoot=="string"?rt(o.gitRoot):"",options:[]}}async function VM(e,t,n,r){const a=new URLSearchParams({cwd:e,scope:t,workspaceView:n});r&&r.trim()&&a.set("baseBranch",r.trim());const o=await fetch(`/codex-api/review/snapshot?${a.toString()}`),s=await o.json();if(!o.ok)throw new Error(Nn(s,"Failed to load review snapshot"));return fm(s)}async function GM(e){const t=await fetch("/codex-api/review/action",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json();if(!t.ok)throw new Error(Nn(n,"Failed to apply review action"));return fm(n)}async function KM(e){const t=await fetch("/codex-api/review/git/init",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})}),n=await t.json();if(!t.ok)throw new Error(Nn(n,"Failed to initialize Git"))}async function YM(e,t,n,r){const a=t==="baseBranch"?{type:"baseBranch",branch:(r??"").trim()}:{type:"uncommittedChanges"};if(a.type==="baseBranch"&&!a.branch)throw new Error("Base branch is unavailable");await Lt("review/start",{threadId:e,target:a,delivery:"inline"})}async function Kf(){const e=await fetch("/codex-api/home-directory"),t=await e.json();if(!e.ok)throw new Error("Failed to load home directory");const n=t&&typeof t=="object"&&!Array.isArray(t)?t:{},r=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:{};return typeof r.path=="string"?r.path.trim():""}async function P_(e,t){const n=new URLSearchParams({path:e});(t==null?void 0:t.showHidden)===!0&&n.set("showHidden","1");const r=await fetch(`/codex-local-directories?${n.toString()}`),a=await zc(r);if(!r.ok){const c=Nn(a,"Failed to load local directories");throw new Error(c)}const o=a&&typeof a=="object"&&!Array.isArray(a)?a:{},s=o.data&&typeof o.data=="object"&&!Array.isArray(o.data)?o.data:{},l=Array.isArray(s.entries)?s.entries:[];return{path:typeof s.path=="string"?rt(s.path):"",parentPath:typeof s.parentPath=="string"?rt(s.parentPath):"",entries:l.flatMap(c=>{if(!c||typeof c!="object"||Array.isArray(c))return[];const h=c,f=typeof h.name=="string"?h.name.trim():"",g=typeof h.path=="string"?rt(h.path):"";return f&&g?[{name:f,path:g}]:[]})}}async function zc(e){const t=await e.text();if(!t)return{};try{return JSON.parse(t)}catch{throw new Error(`Expected JSON response from ${e.url||"request"}`)}}async function Nu(e){if(!(await fetch("/codex-api/workspace-roots-state",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok)throw new Error("Failed to save workspace roots state");gi=dc(e)}async function tl(e,t){const n=await fetch("/codex-api/project-root",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,createIfMissing:(t==null?void 0:t.createIfMissing)===!0,label:(t==null?void 0:t.label)??""})}),r=await n.json();if(!n.ok){const l=Nn(r,"Failed to open project root");throw new Error(l)}const a=r&&typeof r=="object"&&!Array.isArray(r)?r:{},o=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:{},s=typeof o.path=="string"?rt(o.path):"";return __(),s}async function M_(e){const t=await fetch("/codex-api/local-directory",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),n=await zc(t);if(!t.ok){const o=Nn(n,"Failed to create local directory");throw new Error(o)}const r=n&&typeof n=="object"&&!Array.isArray(n)?n:{},a=r.data&&typeof r.data=="object"&&!Array.isArray(r.data)?r.data:{};return typeof a.path=="string"?rt(a.path):""}async function $_(e){const t=await fetch("/codex-api/projectless-thread-cwd",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e??null})}),n=await zc(t);if(!t.ok){const s=Nn(n,"Failed to create new chat folder");throw new Error(s)}const r=n&&typeof n=="object"&&!Array.isArray(n)?n:{},a=r.data&&typeof r.data=="object"&&!Array.isArray(r.data)?r.data:{},o=typeof a.cwd=="string"?rt(a.cwd):"";if(!o)throw new Error("Failed to create new chat folder");return{cwd:o,outputDirectory:typeof a.outputDirectory=="string"?rt(a.outputDirectory):o,workspaceRoot:typeof a.workspaceRoot=="string"?rt(a.workspaceRoot):""}}async function N_(e){const t=new URLSearchParams({basePath:e}),n=await fetch(`/codex-api/project-root-suggestion?${t.toString()}`),r=await n.json();if(!n.ok){const s=Nn(r,"Failed to suggest project name");throw new Error(s)}const a=r&&typeof r=="object"&&!Array.isArray(r)?r:{},o=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:{};return{name:typeof o.name=="string"?o.name.trim():"",path:typeof o.path=="string"?rt(o.path):""}}async function L_(e,t,n=20){const r=e.trim();if(!r)return[];const a=await fetch("/codex-api/composer-file-search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:r,query:t.trim(),limit:n})}),o=await a.json();if(!a.ok){const h=Nn(o,"Failed to search files");throw new Error(h)}const s=o&&typeof o=="object"&&!Array.isArray(o)?o:{},l=Array.isArray(s.data)?s.data:[],c=[];for(const h of l){if(!h||typeof h!="object"||Array.isArray(h))continue;const g=h.path,_=typeof g=="string"?g.trim():"";_&&c.push({path:_})}return c}async function O_(e,t=200){const n=await fetch("/codex-api/thread-search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,limit:t})}),r=await n.json();if(!n.ok)throw new Error(r.error||"Failed to search threads");return r.data??{threadIds:[],indexedThreadCount:0}}async function j_(e,t){const n=await fetch("/codex-api/telegram/configure-bot",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({botToken:e,allowedUserIds:t})}),r=await n.json();if(!n.ok){const a=Nn(r,"Failed to connect Telegram bot");throw new Error(a)}}async function D_(){const e=await fetch("/codex-api/telegram/config"),t=await e.json();if(!e.ok){const s=Nn(t,"Failed to load Telegram configuration");throw new Error(s)}const n=t&&typeof t=="object"&&!Array.isArray(t)?t:{},r=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:{},a=Array.isArray(r.allowedUserIds)?r.allowedUserIds:[],o=[];for(const s of a){if(s==="*"){o.push("*");continue}typeof s=="number"&&Number.isFinite(s)&&o.push(Math.trunc(s))}return{botToken:typeof r.botToken=="string"?r.botToken:"",allowedUserIds:o}}async function F_(){const e=await fetch("/codex-api/telegram/status"),t=await e.json();if(!e.ok){const a=Nn(t,"Failed to load Telegram status");throw new Error(a)}const n=t&&typeof t=="object"&&!Array.isArray(t)?t:{},r=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:{};return{configured:r.configured===!0,active:r.active===!0,mappedChats:typeof r.mappedChats=="number"?r.mappedChats:0,mappedThreads:typeof r.mappedThreads=="number"?r.mappedThreads:0,allowedUsers:typeof r.allowedUsers=="number"?r.allowedUsers:0,allowAllUsers:r.allowAllUsers===!0,lastError:typeof r.lastError=="string"?r.lastError:""}}function Nn(e,t){const n=e&&typeof e=="object"&&!Array.isArray(e)?e:{},r=n.message;if(typeof r=="string"&&r.trim().length>0)return r;const a=n.error;return typeof a=="string"&&a.trim().length>0?a:t}async function U_(){try{const e=await fetch("/codex-api/thread-titles");return e.ok?(await e.json()).data??{titles:{},order:[]}:{titles:{},order:[]}}catch{return{titles:{},order:[]}}}async function Lu(e,t){try{await fetch("/codex-api/thread-titles",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,title:t})})}catch{}}async function B_(){try{const e=await fetch("/codex-api/thread-pins");return e.ok?(await e.json()).data??{threadIds:[]}:{threadIds:[]}}catch{return{threadIds:[]}}}async function q_(e){try{await fetch("/codex-api/thread-pins",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadIds:e})})}catch{}}async function H_(){var e;try{const t=await fetch("/codex-api/preferences/first-launch-plugins-card");return t.ok?{dismissed:((e=(await t.json()).data)==null?void 0:e.dismissed)===!0}:{dismissed:!1}}catch{return{dismissed:!1}}}async function W_(e){try{await fetch("/codex-api/preferences/first-launch-plugins-card",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({dismissed:e})})}catch{}}async function z_(e,t){var n;try{return((n=(await Lt("generate-thread-title",{prompt:e,cwd:t})).title)==null?void 0:n.trim())??""}catch{return""}}function fc(e){return e?e.endsWith("/SKILL.md")?e:`${e}/SKILL.md`:""}function V_(e,t){const n=fc(e),r=n.split("/").filter(Boolean);if(r.length<2)return null;const a=r.lastIndexOf("skills");if(a>=2){const c=r[a-2]??"";if(c){const h=`/${[...r.slice(0,a+1),c,"SKILL.md"].join("/")}`;if(t.has(h))return{rootPath:h,rootName:c,isNested:h!==n}}}const o=r.indexOf("skills");if(o<0||o+1>=r.length-1)return null;const s=r[o+1]??"";if(!s)return null;const l=`/${[...r.slice(0,o+2),"SKILL.md"].join("/")}`;return t.has(l)?{rootPath:l,rootName:s,isNested:l!==n}:{rootPath:l,rootName:s,isNested:l!==n}}async function G_(e){try{const t={};e&&e.length>0&&(t.cwds=e);const n=await Lt("skills/list",t),r=n.data.flatMap(s=>s.skills),a=new Set(r.map(s=>fc(s.path)).filter(Boolean)),o=new Map;for(const s of n.data)for(const l of s.skills){if(!l.name)continue;const c=V_(l.path,a),h=fc(l.path),g=!!(c!=null&&c.isNested&&a.has(c.rootPath))?c.rootPath:h,_=h===g,E=o.get(g),O={name:l.name,displayName:c&&g===c.rootPath?c.rootName:void 0,description:l.shortDescription||l.description||"",path:g,scope:l.scope,enabled:l.enabled,__hasRoot:_};if(!E){o.set(g,O);continue}if(E.enabled=E.enabled||l.enabled,!E.__hasRoot&&_){o.set(g,O);continue}!E.displayName&&O.displayName&&(E.displayName=O.displayName),!E.description&&O.description&&(E.description=O.description)}return Array.from(o.values()).map(({__hasRoot:s,...l})=>l)}catch{return[]}}async function K_(){try{const e=await fetch("/codex-api/prompts");if(!e.ok)return[];const t=await e.json();return Array.isArray(t.data)?t.data:[]}catch{return[]}}async function Y_(e,t){try{const n=await fetch("/codex-api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,content:t})});return n.ok?(await n.json()).data??null:null}catch{return null}}async function Q_(e){try{const t=new URLSearchParams({path:e});return(await fetch(`/codex-api/prompts?${t.toString()}`,{method:"DELETE"})).ok}catch{return!1}}const J_=6e4;async function Ou(e){const t=new AbortController,n=setTimeout(()=>t.abort(),J_);try{const r=new FormData;r.append("file",e);const a=await fetch("/codex-api/upload-file",{method:"POST",body:r,signal:t.signal});return a.ok?(await a.json()).path??null:null}catch{return null}finally{clearTimeout(n)}}const X_={},Z_={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function eT(e,t){return k(),R("svg",Z_,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m6 9l6 6l6-6"},null,-1)])])}const Qa=It(X_,[["render",eT]]),tT={},nT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function rT(e,t){return k(),R("svg",nT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 6l6 6l-6 6"},null,-1)])])}const ii=It(tT,[["render",rT]]),oT={},aT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function sT(e,t){return k(),R("svg",aT,[...t[0]||(t[0]=[m("path",{fill:"currentColor",d:"M6 12a2 2 0 1 0 0-4a2 2 0 0 0 0 4m6 0a2 2 0 1 0 0-4a2 2 0 0 0 0 4m6 0a2 2 0 1 0 0-4a2 2 0 0 0 0 4"},null,-1)])])}const ps=It(oT,[["render",sT]]),iT={},lT={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function uT(e,t){return k(),R("svg",lT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 20h4L18.5 9.5a2.828 2.828 0 1 0-4-4L4 16zm9.5-13.5l4 4"},null,-1)])])}const js=It(iT,[["render",uT]]),cT={},dT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function fT(e,t){return k(),R("svg",dT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2"},null,-1)])])}const Vc=It(cT,[["render",fT]]),hT={},pT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function mT(e,t){return k(),R("svg",pT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m5 19l2.757-7.351A1 1 0 0 1 8.693 11H21a1 1 0 0 1 .986 1.164l-.996 5.211A2 2 0 0 1 19.026 19za2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4l3 3h7a2 2 0 0 1 2 2v2"},null,-1)])])}const vT=It(hT,[["render",mT]]),gT={},yT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function wT(e,t){return k(),R("svg",yT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 18v-6m0 0a4 4 0 0 1 4-4h2m-6 4a4 4 0 0 0-4-4H6m0-4a2 2 0 1 0 0 4a2 2 0 0 0 0-4m12 0a2 2 0 1 0 0 4a2 2 0 0 0 0-4m-6 14a2 2 0 1 0 0 4a2 2 0 0 0 0-4"},null,-1)])])}const Ts=It(gT,[["render",wT]]),bT={},_T={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function TT(e,t){return k(),R("svg",_T,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"},null,-1)])])}const nl=It(bT,[["render",TT]]),ym="codex-web-local.ui-language.v1",kT={English:"English","Simplified Chinese":"简体中文","Search threads":"搜索线程","Filter threads...":"筛选线程...","Clear search":"清除搜索",Chats:"聊天",Projects:"项目",Pinned:"已固定","Chats first":"聊天优先","Sort by":"排序",Created:"创建时间",Updated:"更新时间","New chat":"新聊天","No chats":"没有聊天","Skills Hub":"技能中心","Expand accounts":"展开账户","Collapse accounts":"折叠账户",Accounts:"账户","Reloading…":"重新加载中…",Reload:"重新加载","Run `codex login`, then click reload.":"先运行 `codex login`,然后点击重新加载。",Account:"账户",Workspace:"工作区","Require ⌘ + enter to send":"需要 ⌘ + Enter 才发送","When busy, send as":"忙碌时发送方式",Steer:"引导",Queue:"排队",Appearance:"外观",System:"跟随系统",Dark:"深色",Light:"浅色","Chat width":"聊天宽度","Click to toggle dictation":"点击切换语音输入","Auto send dictation":"语音输入后自动发送",Provider:"提供方","Choose the API provider for the Codex backend":"选择 Codex 后端使用的 API 提供方","OpenRouter API key":"OpenRouter API Key","Get API key":"获取 API Key","Remove custom key, use community keys":"移除自定义 key,改用社区 key",Set:"设置",Save:"保存","API format":"API 格式","OpenRouter API format":"OpenRouter API 格式",Responses:"Responses",Completions:"Completions","OpenCode Zen API key":"OpenCode Zen API Key","Custom endpoint URL":"自定义端点 URL","API key":"API Key","Custom endpoint API format":"自定义端点 API 格式","UI language":"界面语言","Choose the interface language for the app.":"选择应用界面语言。","Dictation language":"听写语言","Auto-detect":"自动检测","Search language...":"搜索语言...",Telegram:"Telegram","Bot token":"Bot Token","Allowed Telegram user IDs":"允许的 Telegram 用户 ID","Put one Telegram user ID per line or separate them with commas. Use `*` to allow all Telegram users. Unauthorized users will see their own ID in the rejection message so they can copy it here.":"每行填写一个 Telegram 用户 ID,或用逗号分隔。使用 `*` 可允许所有 Telegram 用户。未授权用户会在拒绝消息中看到自己的 ID,方便复制到这里。","Saving…":"保存中…","Save Telegram config":"保存 Telegram 配置",Context:"上下文","Worktree name and version":"工作树名称和版本",Settings:"设置","Toggle terminal":"切换终端","Open terminal":"打开终端","Terminal command":"终端命令","No commands":"没有命令","Search branches...":"搜索分支...","Let's build":"开始构建","Choose folder":"选择文件夹","Quick search project":"快速搜索项目","Selected folder":"已选文件夹","Select folder":"选择文件夹","Create Project":"创建项目","Current folder":"当前文件夹",Unavailable:"不可用","Opening…":"打开中…",Open:"打开","Show hidden folders":"显示隐藏文件夹","New folder":"新建文件夹","Folder name":"文件夹名称","Filter folders...":"筛选文件夹...",Retry:"重试","Loading folders…":"加载文件夹中…","No folders match this filter.":"没有匹配此筛选条件的文件夹。","No subfolders found here.":"这里没有子文件夹。","Base branch":"基础分支","Select branch":"选择分支","Loading branches…":"加载分支中…","No Git branches found for this folder.":"此文件夹未找到 Git 分支。","Local project":"本地项目","New worktree":"新工作树","Service worker registration failed.":"Service Worker 注册失败。","No matching files":"没有匹配的文件","Add photos & files":"添加图片和文件","Add folder":"添加文件夹","Take photo":"拍照","In-progress send":"执行中发送","Fast mode":"快速模式","Plan mode":"规划模式","Agent proposes a plan before acting":"代理在执行前先提出计划",Model:"模型","Search models...":"搜索模型...",Skills:"技能","Search skills...":"搜索技能...","Search skills and prompts...":"搜索技能和提示词...",Thinking:"思考强度","Saving thread before stop is available":"线程保存后才能停止",Stop:"停止","Queue message":"加入队列","Send message":"发送消息",Send:"发送","Drop images or files":"拖放图片或文件","Selected image":"已选图片","Loading messages...":"加载消息中...",Plan:"计划",Updating:"更新中","Edit this message":"编辑此消息","Edit message":"编辑消息","Fork thread from this response":"从此回复分叉线程",Fork:"分叉","Response copied":"回复已复制","Copy response":"复制回复","Jump to latest":"跳转到最新","Jump to latest output":"跳转到最新输出","Close image preview":"关闭图片预览","Expanded message image":"放大消息图片","Changed files":"已更改文件","Close diff viewer":"关闭 diff 查看器","No diff available":"没有可用 diff","This summary was restored from the final answer text, but the thread history does not include patch diff content for this file.":"此摘要是从最终回答文本恢复的,但线程历史中不包含该文件的补丁 diff 内容。",Review:"审查","Close review pane":"关闭审查面板",Compare:"比较",Branch:"分支",Changes:"更改","Reviewing…":"审查中…","Run review":"运行审查","Loading review state":"加载审查状态中","This folder is not a Git repository":"此文件夹不是 Git 仓库","Initialize Git to review local changes and run Codex review.":"初始化 Git 后即可审查本地更改并运行 Codex review。","Initializing…":"初始化中…","Initialize Git":"初始化 Git","Base branch unavailable":"基础分支不可用","Could not resolve `origin/HEAD`, `main`, or `master` for this repository.":"无法为此仓库解析 `origin/HEAD`、`main` 或 `master`。","No changes in this scope":"此范围内没有更改","Your current workspace is clean.":"当前工作区很干净。","No merge diff found against the base branch.":"未找到相对基础分支的合并 diff。","No unified diff available.":"没有可用的统一 diff。",Summary:"摘要","No structured findings yet":"暂时没有结构化发现","The latest review only returned summary text.":"最近一次审查仅返回了摘要文本。","Run review to populate this pane.":"运行审查后会填充此面板。",Findings:"发现",Added:"新增",Deleted:"删除",Renamed:"重命名",Modified:"修改","Repository review":"仓库审查","Staged changes":"已暂存更改","Workspace changes":"工作区更改","Unstage all":"全部取消暂存","Stage all":"全部暂存","Revert all":"全部还原","Unstage file":"取消暂存文件","Stage file":"暂存文件","Revert file":"还原文件","Unstage hunk":"取消暂存代码块","Stage hunk":"暂存代码块","Revert hunk":"还原代码块","Failed to load review snapshot":"加载审查快照失败","Failed to apply review action":"应用审查操作失败","Failed to initialize Git":"初始化 Git 失败","Reviewing current changes":"正在审查当前更改","Failed to start review":"启动审查失败","Review in progress":"审查进行中","Failed to load review result":"加载审查结果失败",pin:"固定","Worktree thread":"工作树线程",Threads:"线程","Organize threads":"整理线程",Organize:"整理","By project":"按项目","Chronological list":"按时间顺序","No matching threads":"没有匹配的线程","Loading threads...":"加载线程中...","Edit name":"编辑名称",Remove:"移除","Project name":"项目名称","No threads":"没有线程","Thread title":"线程标题","Rename thread":"重命名线程","Make it short and recognizable.":"尽量简短且易识别。","Add title...":"输入标题...",Cancel:"取消","Delete thread":"删除线程","Thread automation":"线程自动化","This creates a heartbeat automation attached to the selected thread.":"这会创建一个附加到所选线程的心跳自动化。",Name:"名称","Automation name":"自动化名称",Prompt:"提示词","Search prompt...":"搜索提示词...","Describe what the automation should do":"描述自动化需要执行的内容","Schedule (RRULE)":"计划(RRULE)",Status:"状态",Active:"启用",Paused:"暂停","Expand sidebar":"展开侧边栏","Collapse sidebar":"折叠侧边栏","Start new thread":"新建线程","No skills found":"未找到技能","No results":"没有结果","Approval choices":"审批选项","No, and tell Codex what to do differently":"不允许,并告诉 Codex 应如何调整",Skip:"跳过",Server:"服务器","Open authorization link":"打开授权链接",Value:"值",Choice:"选项","Select true or false":"选择 true 或 false",True:"True",False:"False","Select an option":"选择一个选项",Decline:"拒绝",Continue:"继续","Other answer":"其他答案","Fail Tool Call":"使工具调用失败","Success (Empty)":"成功(空结果)","Return Empty Result":"返回空结果","New terminal":"新终端","Hide terminal":"隐藏终端",Close:"关闭","Edit queued message":"编辑排队消息","Send now without interrupting work":"立即发送且不中断当前工作","Delete queued message":"删除排队消息","AppServer API":"AppServer API","Loading method catalog...":"加载方法目录中...",Disabled:"已禁用",Installed:"已安装","Browse files":"浏览文件","Loading skill contents...":"加载技能内容中...","View on GitHub":"在 GitHub 查看","Show all":"显示全部","Hide all":"隐藏全部","No types yet":"还没有类型","Manage installed skills on this machine":"管理此机器上已安装的技能","Skills Sync (GitHub)":"技能同步(GitHub)",Connected:"已连接","Logged in as":"已登录为","Not connected":"未连接",Startup:"启动",Action:"动作","Manual sync":"手动同步","GitHub device login":"GitHub 设备登录","and enter code:":"并输入代码:","Login with GitHub":"使用 GitHub 登录","Device Login":"设备登录","Logout GitHub":"退出 GitHub","Syncing...":"同步中...","Startup Sync":"启动同步","Pulling...":"拉取中...",Pull:"拉取","Pushing...":"推送中...",Push:"推送","Installed ({count})":"已安装({count})","Find skills":"查找技能","Search the Skills registry with npx skills find.":"使用 npx skills find 搜索 Skills 注册表。","Searching...":"搜索中...","Search results ({count})":"搜索结果({count})","No matching skills found.":"未找到匹配的技能。","No installed skills found.":"未找到已安装的技能。","Continue in":"运行方式","Search daily":"搜索(日)","Search weekly":"搜索(周)","Search monthly":"搜索(月)","Trending daily":"热门(日)","Trending weekly":"热门(周)","Trending monthly":"热门(月)",Newest:"最新","A-Z":"A-Z","Loading skills...":"加载技能中...","Choose a thread":"选择一个线程","New worktree branch will start from {branch}.":"新工作树分支将从 {branch} 开始。","Local project uses the selected folder directly. New worktree creates an isolated Git worktree before the first prompt.":"本地项目会直接使用所选文件夹。新工作树会在第一次提问前创建一个隔离的 Git worktree。","Not configured":"未配置",Online:"在线","Configured (offline)":"已配置(离线)","allow all users":"允许所有用户","allowed user(s)":"个允许用户","chat(s)":"个聊天","thread(s)":"个线程",error:"错误",unknown:"未知","Switching…":"切换中…",Switch:"切换","Removing…":"移除中…","Click again to remove":"再次点击以移除","402 Payment Required":"402 需要付费","weekly remaining":"周剩余额度","Unlimited credits":"无限额度",credits:"额度","Loading quota…":"加载额度中…","Quota unavailable":"额度不可用","Fetching account details…":"获取账户详情中…","Unavailable account":"不可用账户","Waiting for Codex thread/tokenUsage/updated events for this thread.":"等待此线程的 Codex tokenUsage 更新事件。","Current context usage":"当前上下文使用量","Cumulative thread usage":"累计线程使用量","Model context window":"模型上下文窗口","Remaining context":"剩余上下文",tokens:"tokens","Model context window is unavailable in the latest usage event.":"最新使用事件中未提供模型上下文窗口。","Awaiting data":"等待数据中",left:"剩余",used:"已用","Updates after the next token usage event":"下次 token 使用事件后更新","Window size unavailable":"窗口大小不可用","Telegram bot token is required.":"需要填写 Telegram Bot Token。","At least one allowed Telegram user ID or * is required.":"至少需要一个允许的 Telegram 用户 ID 或 `*`。","Telegram bot configured. Only allowlisted Telegram users can use the bridge.":"Telegram 机器人已配置。只有白名单中的 Telegram 用户可以使用桥接。","Failed to connect Telegram bot":"连接 Telegram 机器人失败","Failed to load accounts":"加载账户失败","Failed to refresh accounts":"刷新账户失败",Login:"登录","Starting login…":"正在启动登录…","Open login URL":"打开登录链接","Paste localhost callback URL":"粘贴 localhost 回调 URL","Complete Codex login":"完成 Codex 登录","Finish login in the browser, then paste the localhost callback URL here.":"在浏览器中完成登录,然后在这里粘贴 localhost 回调 URL。",Complete:"完成","Completing…":"正在完成…","Failed to start Codex login":"启动 Codex 登录失败","Failed to complete Codex login":"完成 Codex 登录失败","Click Login, or run `codex login`, then click reload.":"点击登录,或运行 `codex login`,然后点击重新加载。","Finish the current turn and pending requests before switching accounts.":"请先完成当前轮次并处理待处理请求后再切换账户。","Failed to switch account":"切换账户失败","Finish the current turn and pending requests before removing the active account.":"请先完成当前轮次并处理待处理请求后再移除当前活动账户。","Failed to remove account":"移除账户失败",enabled:"已启用",disabled:"已禁用","Saving speed setting...":"保存速度设置中...","About 1.5x faster, with credits used at 2x":"速度约提升 1.5 倍,额度消耗为 2 倍","Default speed with normal credit usage":"默认速度,按正常额度消耗","Stop dictation":"停止听写","Click to dictate":"点击开始听写","Hold to dictate":"按住听写",failed:"失败",attaching:"正在附加",Attaching:"正在附加","Attaching file...":"正在附加文件...","files...":"个文件...",attached:"已附加","Could not attach file.":"无法附加文件。","Could not attach":"无法附加","files.":"个文件。","Select a thread to send a message":"选择一个线程后才能发送消息","Loading models for plan mode...":"正在为规划模式加载模型...","Type a message... (@ for files)":"输入消息...(@ 选择文件)",Hide:"隐藏",Terminal:"终端","Terminal input failed":"终端输入失败","Terminal attach failed":"终端附加失败","Creating worktree":"创建工作树","Creating a worktree and running setup.":"正在创建工作树并执行初始化。","Worktree setup failed":"工作树初始化失败","Unable to create worktree. Try again or switch to Local project.":"无法创建工作树。请重试,或切换到本地项目。",Edit:"编辑",image:"图片",images:"图片",file:"文件",files:"文件",skill:"技能",skills:"技能","(empty queued message)":"(空的排队消息)",Files:"文件",Unstaged:"未暂存",Staged:"已暂存",Refresh:"刷新",Against:"对比",selected:"已选","Reject Request":"拒绝请求","Uninstalling...":"卸载中...",Uninstall:"卸载","Installing...":"安装中...",Install:"安装",Disable:"禁用",Enable:"启用","When enabled, press Enter to send. When disabled, use Command+Enter to send.":"启用时按 Enter 发送;禁用时使用 Command+Enter 发送。","If a turn is still running, choose whether a new prompt should steer the current turn or be queued.":"如果当前轮次仍在运行,选择新提示是引导当前轮次还是加入队列。","Switch between system theme, light mode, and dark mode.":"在跟随系统、浅色和深色主题之间切换。","Choose how wide the conversation column and composer can grow on desktop screens.":"选择桌面端会话列和输入框的最大宽度。","Use click-to-start and click-to-stop dictation instead of hold-to-talk.":"使用点击开始/停止听写,而不是按住说话。","Automatically send transcribed dictation when recording stops.":"录音停止后自动发送转写结果。","Show or hide GitHub trending project cards on the new thread screen.":"显示或隐藏新线程页面上的 GitHub 热门项目卡片。","Choose transcription language or keep auto-detect.":"选择转写语言,或保持自动检测。",Standard:"标准",Wide:"宽","Extra wide":"超宽"},Yf={en:"English","zh-CN":"简体中文"};function CT(){var t;return typeof window>"u"?"en":((t=window.localStorage.getItem(ym))==null?void 0:t.trim())==="zh-CN"?"zh-CN":"en"}const Hl=A(CT());function wm(e){typeof document>"u"||(document.documentElement.lang=e==="zh-CN"?"zh-CN":"en",document.documentElement.dataset.uiLanguage=e)}wm(Hl.value);function ST(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>String(t[r]??"")):e}function xT(e){Hl.value=e,wm(e),typeof window<"u"&&window.localStorage.setItem(ym,e)}function bm(e,t){const n=Hl.value==="zh-CN"?kT[e]??e:e;return ST(n,t)}function Pa(){return{uiLanguage:Hl,uiLanguageOptions:[{value:"en",label:Yf.en},{value:"zh-CN",label:Yf["zh-CN"]}],t:bm,setUiLanguage:xT}}const AT={key:0,class:"sidebar-menu-row-left"},ET={class:"sidebar-menu-row-main"},IT={key:1,class:"sidebar-menu-row-right"},RT={key:0,class:"sidebar-menu-row-right-default"},PT={key:1,class:"sidebar-menu-row-right-hover"},MT=qn({inheritAttrs:!1,__name:"SidebarMenuRow",props:{as:{default:"div"},forceRightHover:{type:Boolean,default:!1}},setup(e){const t=e,n=dy(),r=te(()=>!!n.left),a=te(()=>!!n.right),o=te(()=>!!n["right-hover"]),s=te(()=>a.value||o.value);return(l,c)=>(k(),Ze(Nc(t.as),jp({class:"sidebar-menu-row","data-has-left":r.value,"data-has-right":s.value,"data-has-right-hover":o.value,"data-force-right-hover":t.forceRightHover},l.$attrs),{default:ht(()=>[r.value?(k(),R("span",AT,[Lo(l.$slots,"left",{},void 0,!0)])):J("",!0),m("span",ET,[Lo(l.$slots,"default",{},void 0,!0)]),s.value?(k(),R("span",IT,[a.value?(k(),R("span",RT,[Lo(l.$slots,"right",{},void 0,!0)])):J("",!0),o.value?(k(),R("span",PT,[Lo(l.$slots,"right-hover",{},void 0,!0)])):J("",!0)])):J("",!0)]),_:3},16,["data-has-left","data-has-right","data-has-right-hover","data-force-right-hover"]))}}),lo=It(MT,[["__scopeId","data-v-36239f39"]]),$T=["title","aria-label","disabled"],NT={key:1,class:"composer-dropdown-value"},LT={class:"composer-dropdown-menu"},OT={key:0,class:"composer-dropdown-search-wrap"},jT=["placeholder","onKeydown"],DT={class:"composer-dropdown-options",role:"listbox"},FT=["onClick"],UT={key:0,class:"composer-dropdown-empty"},BT=qn({__name:"ComposerDropdown",props:{modelValue:{},options:{},placeholder:{},disabled:{type:Boolean},selectedPrefixIcon:{},iconOnly:{type:Boolean},openDirection:{},enableSearch:{type:Boolean},searchPlaceholder:{},emptyLabel:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,a=A(null),o=A(null),s=A(!1),l=A(""),c=te(()=>{var ye;const X=n.options.find(de=>de.value===n.modelValue);return X?X.label:((ye=n.placeholder)==null?void 0:ye.trim())||""}),h=te(()=>n.openDirection??"down"),f=te(()=>n.iconOnly===!0),g=te(()=>n.enableSearch===!0),_=te(()=>{var X;return((X=n.searchPlaceholder)==null?void 0:X.trim())||"Quick search projects"}),E=te(()=>{var X;return((X=n.emptyLabel)==null?void 0:X.trim())||"No results"}),O=te(()=>{var X;return c.value||((X=n.placeholder)==null?void 0:X.trim())||"Select option"}),H=te(()=>{const X=l.value.trim().toLowerCase();return X?n.options.filter(ye=>ye.label.toLowerCase().includes(X)||ye.value.toLowerCase().includes(X)):n.options});function ne(){n.disabled||(s.value=!s.value)}function j(X){r("update:modelValue",X),s.value=!1,l.value=""}function D(){if(l.value.length>0){l.value="";return}s.value=!1}function K(X){if(!s.value)return;const ye=a.value;if(!ye)return;const de=X.target;de instanceof Node&&(ye.contains(de)||(s.value=!1,l.value=""))}return pt(s,X=>{X&&g.value&&Jt(()=>{var ye;return(ye=o.value)==null?void 0:ye.focus()})}),ca(()=>{window.addEventListener("pointerdown",K)}),Ra(()=>{window.removeEventListener("pointerdown",K)}),(X,ye)=>(k(),R("div",{ref_key:"rootRef",ref:a,class:"composer-dropdown"},[m("button",{class:"composer-dropdown-trigger",type:"button",title:O.value,"aria-label":O.value,disabled:e.disabled,onClick:ne},[e.selectedPrefixIcon?(k(),Ze(Nc(e.selectedPrefixIcon),{key:0,class:"composer-dropdown-prefix-icon"})):J("",!0),f.value?J("",!0):(k(),R("span",NT,$(c.value),1)),Oe(Qa,{class:"composer-dropdown-chevron"})],8,$T),s.value?(k(),R("div",{key:0,class:et(["composer-dropdown-menu-wrap",{"composer-dropdown-menu-wrap-up":h.value==="up","composer-dropdown-menu-wrap-down":h.value==="down"}])},[m("div",LT,[g.value?(k(),R("div",OT,[en(m("input",{ref_key:"searchInputRef",ref:o,"onUpdate:modelValue":ye[0]||(ye[0]=de=>l.value=de),class:"composer-dropdown-search-input",type:"text",placeholder:_.value,onKeydown:mn(Xe(D,["prevent"]),["esc"])},null,40,jT),[[un,l.value]])])):J("",!0),m("ul",DT,[(k(!0),R(Ye,null,Kt(H.value,de=>(k(),R("li",{key:de.value},[m("button",{class:et(["composer-dropdown-option",{"is-selected":de.value===e.modelValue}]),type:"button",onClick:be=>j(de.value)},$(de.label),11,FT)]))),128)),H.value.length===0?(k(),R("li",UT,$(E.value),1)):J("",!0)])])],2)):J("",!0)],512))}}),Lr=It(BT,[["__scopeId","data-v-5243a93d"]]),qT={key:0,class:"pinned-section"},HT={class:"thread-tree-header"},WT={key:0,class:"thread-list"},zT=["data-menu-open"],VT={class:"thread-left-stack"},GT=["data-state"],KT=["data-confirming","title","onClick"],YT={key:0,class:"thread-delete-confirm-label"},QT=["onClick"],JT={class:"thread-row-title-wrap"},XT={class:"thread-row-title-line"},ZT={class:"thread-row-title"},ek=["title"],tk=["data-state"],nk={class:"thread-row-time"},rk=["onClick"],ok={class:"projects-section"},ak={class:"thread-tree-header"},sk=["aria-expanded","aria-label","title"],ik={class:"organize-menu-title"},lk=["data-active"],uk={key:0},ck=["data-active"],dk={key:0},fk=["data-active"],hk={key:0},pk={class:"organize-menu-title"},mk=["data-active"],vk={key:0},gk=["data-active"],yk={key:0},wk={key:0,class:"thread-tree-no-results"},bk={key:1,class:"thread-tree-loading"},_k={key:2,class:"thread-list thread-list-global"},Tk=["data-menu-open"],kk={class:"thread-left-stack"},Ck=["data-state"],Sk=["data-confirming","title","onClick"],xk={key:0,class:"thread-delete-confirm-label"},Ak=["onClick"],Ek={class:"thread-row-title-wrap"},Ik={class:"thread-row-title-line"},Rk={class:"thread-row-title"},Pk=["title"],Mk=["data-state"],$k={class:"thread-row-time"},Nk=["onClick"],Lk=["data-project-name","data-expanded","data-dragging"],Ok={class:"project-icon-stack"},jk={class:"project-icon-folder"},Dk={class:"project-icon-chevron"},Fk=["data-dragging-handle","onMousedown"],Uk=["title"],Bk={class:"project-hover-controls"},qk=["onClick"],Hk=["data-open-direction"],Wk=["onClick"],zk=["onClick"],Vk=["onClick"],Gk=["onClick"],Kk={class:"project-menu-label"},Yk=["onInput"],Qk=["aria-label","title","onClick"],Jk={key:0,class:"thread-list"},Xk=["data-menu-open"],Zk={class:"thread-left-stack"},e1=["data-state"],t1=["data-confirming","title","onClick"],n1={key:0,class:"thread-delete-confirm-label"},r1=["onClick"],o1={class:"thread-row-title-wrap"},a1={class:"thread-row-title-line"},s1={class:"thread-row-title"},i1=["title"],l1=["data-state"],u1={class:"thread-row-time"},c1=["onClick"],d1={class:"project-empty"},f1=["onClick"],h1={class:"chats-section"},p1={class:"thread-tree-header"},m1={class:"chats-section-actions"},v1=["aria-label","title"],g1={key:0,class:"thread-tree-no-results"},y1={key:1,class:"thread-list thread-list-global"},w1=["data-menu-open"],b1={class:"thread-left-stack"},_1=["data-state"],T1=["data-confirming","title","onClick"],k1={key:0,class:"thread-delete-confirm-label"},C1=["onClick"],S1={class:"thread-row-title-wrap"},x1={class:"thread-row-title-line"},A1={class:"thread-row-title"},E1=["title"],I1=["data-state"],R1={class:"thread-row-time"},P1=["onClick"],M1=["data-open-direction"],$1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread title"},N1={class:"rename-thread-title"},L1=["onKeydown"],O1={class:"rename-thread-actions"},j1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Delete thread"},D1={class:"rename-thread-title"},F1={class:"rename-thread-subtitle"},U1={class:"rename-thread-actions"},B1={class:"rename-thread-panel automation-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread automation"},q1={class:"rename-thread-title"},H1={key:0,class:"automation-thread-list","aria-label":"Thread automations"},W1=["onClick"],z1={class:"automation-thread-field"},V1={class:"automation-thread-field"},G1={class:"automation-thread-field"},K1={class:"automation-schedule-mode-group",role:"radiogroup","aria-label":"Automation schedule type"},Y1={key:0,class:"automation-schedule-row"},Q1={key:1,class:"automation-schedule-row"},J1={class:"automation-schedule-preview"},X1={class:"automation-thread-field"},Z1={key:1,class:"rename-thread-subtitle automation-thread-error"},eC={key:2,class:"rename-thread-subtitle automation-thread-notice"},tC={class:"rename-thread-actions"},nC=["disabled"],rC=["disabled"],oC=["disabled"],aC=["disabled"],sC=4,Qf=6,Jf="codex-web-local.sidebar-section-expansion.v1",Xf="codex-web-local.sidebar-chats-first.v1",Zf="codex-web-local.sidebar-chat-sort-mode.v1",eh="codex-web-local.thread-view-mode.v1",th="codex-web-local.collapsed-projects.v1",iC=qn({__name:"SidebarThreadTree",props:{groups:{},projectDisplayNameById:{},projectGitRepoByName:{},selectedThreadId:{},isLoading:{type:Boolean},searchQuery:{},searchMatchedThreadIds:{}},emits:["select","archive","start-new-thread","browse-thread-files","browse-project-files","request-project-git-status","create-project-worktree","rename-project","rename-thread","remove-project","reorder-project","export-thread","fork-thread","start-new-chat"],setup(e,{emit:t}){const n=e,{t:r}=Pa(),a=t,o=A({}),s=A({}),l=A(!0),c=A(!0),h=A(!0),f=A(!1),g=A(lt(Xf,!1)),_=A(gt());let E=!1;const O=A([]),H=A(""),ne=A([]),j=A(""),D=A(""),K=A({}),X=A({}),ye=A({}),de=A("actions"),be=A(""),Le=A(!1),G=A(""),me=A(""),ke=A(null),oe=A(!1),Se=A(""),Ue=A(""),Be=A({}),Ke=A(!1),Ne=A(""),Ce=A(""),Qe=A("create"),tt=A(""),Fe=A(""),He=A(!1),ft=A(!1),Je=A({name:"",prompt:"",rrule:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",status:"ACTIVE"}),We=A({mode:"daily",dailyTime:"09:00",interval:1,intervalUnit:"hours"}),Tt=[{value:"minutes",label:"minutes"},{value:"hours",label:"hours"},{value:"days",label:"days"}],Z=te(()=>[{value:"ACTIVE",label:r("Active")},{value:"PAUSED",label:r("Paused")}]),xe=te(()=>{const y=Ne.value;return y?Be.value[y]??[]:[]}),Ae=te(()=>Sr(Je.value.rrule)),De=A(null),Ge=A(null),x=A(null);let P=null,z=null;const ae=A(""),Q=A({}),le=new Map,fe=new Map,ge=new Map,we=new WeakMap,he=A(null),je=A(null),pe=A(!1),Pe=A(dt()),Ie=typeof window<"u"?new ResizeObserver(y=>{for(const b of y){const w=b.target,L=we.get(w);L&&oo(L,w)}}):null;function at(){if(typeof window>"u")return{};try{const y=window.localStorage.getItem(th);if(!y)return{};const b=JSON.parse(y);return!b||typeof b!="object"||Array.isArray(b)?{}:b}catch{return{}}}function dt(){return typeof window>"u"?"project":window.localStorage.getItem(eh)==="chronological"?"chronological":"project"}function lt(y,b){if(typeof window>"u")return b;const w=window.localStorage.getItem(y);return w==="true"?!0:w==="false"?!1:b}function gt(){return typeof window>"u"?"updated":window.localStorage.getItem(Zf)==="created"?"created":"updated"}s.value=at();function kt(){if(!(typeof window>"u"))try{const y=JSON.parse(window.localStorage.getItem(Jf)||"{}");typeof y.pinned=="boolean"&&(l.value=y.pinned),typeof y.projects=="boolean"&&(c.value=y.projects),typeof y.chats=="boolean"&&(h.value=y.chats)}catch{}}function q(){typeof window>"u"||window.localStorage.setItem(Jf,JSON.stringify({pinned:l.value,projects:c.value,chats:h.value}))}kt(),pt(s,y=>{typeof window>"u"||window.localStorage.setItem(th,JSON.stringify(y))},{deep:!0}),pt(Pe,y=>{typeof window>"u"||window.localStorage.setItem(eh,y)}),pt(g,y=>{typeof window>"u"||window.localStorage.setItem(Xf,String(y))}),pt(_,y=>{typeof window>"u"||window.localStorage.setItem(Zf,y)}),pt([l,c,h],q);const U=te(()=>n.searchQuery.trim().toLowerCase()),F=te(()=>U.value.length>0),se=te(()=>n.searchMatchedThreadIds?new Set(n.searchMatchedThreadIds):null),Te=te(()=>new Set(O.value)),$e=te(()=>new Set(ne.value));function ze(y){if($e.value.has(y.id))return!1;if(!F.value)return!0;if(se.value)return se.value.has(y.id);const b=U.value;return y.title.toLowerCase().includes(b)||y.preview.toLowerCase().includes(b)}const xt=te(()=>n.groups.flatMap(y=>{const b=y.threads.filter(w=>!kl(w.cwd)&&ze(w));return b.length>0?[{...y,threads:b}]:!F.value&&y.threads.length===0?[{...y,threads:b}]:[]})),Bt=te(()=>Pe.value==="chronological"),Wt=te(()=>{const y=[];for(const b of n.groups)for(const w of b.threads)Te.value.has(w.id)||ze(w)&&y.push(w);return y.sort((b,w)=>{const L=new Date(b.updatedAtIso||b.createdAtIso).getTime();return new Date(w.updatedAtIso||w.createdAtIso).getTime()-L})}),Hn=te(()=>{const y=Wt.value.filter(w=>kl(w.cwd)),b=_.value==="created"?"createdAtIso":"updatedAtIso";return y.sort((w,L)=>{const Ee=new Date(w[b]||w.updatedAtIso||w.createdAtIso).getTime();return new Date(L[b]||L.updatedAtIso||L.createdAtIso).getTime()-Ee})}),hr=te(()=>F.value||f.value?Hn.value:Hn.value.slice(0,10)),Xr=te(()=>F.value?!1:Hn.value.length>10),Ln=te(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads)$e.value.has(w.id)||y.set(w.id,w);return y});pt(O,y=>{E&&q_(y)}),pt(Ln,y=>{const b=O.value.filter(w=>y.has(w));b.length!==O.value.length&&(O.value=b)}),ca(async()=>{const{threadIds:y}=await B_(),b=Array.isArray(y)?y.filter(w=>typeof w=="string").map(w=>w.trim()).filter((w,L,Ee)=>w.length>0&&Ee.indexOf(w)===L):[];b.length>0&&(O.value=b);try{Be.value=await B0()}catch{Be.value={}}E=!0});const Cr=te(()=>In(Se.value)),fa=te(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads)y.set(w.id,b.projectName);return y}),Do=te(()=>{const y=new Map;for(const b of n.groups){const w=b.threads.filter(L=>!Te.value.has(L.id)&&!$e.value.has(L.id));y.set(b.projectName,w)}return y}),vn=te(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads){const L=new Date(w.updatedAtIso||w.createdAtIso).getTime();y.set(w.id,L)}return y}),Xt=te(()=>{const y=D.value;return y?Ln.value.get(y)??null:null}),wo=te(()=>O.value.map(y=>Ln.value.get(y)??null).filter(y=>y!==null).filter(ze));function Fo(){l.value=!l.value}function ot(){c.value=!c.value}function cn(){h.value=!h.value}const zt=te(()=>{const y=x.value;if(!y||y.dropTargetIndexFull===null||n.groups.length===0)return null;const b=Math.max(0,Math.min(y.dropTargetIndexFull,n.groups.length)),w=b>y.fromIndex?b-1:b,L=Math.max(0,Math.min(w,n.groups.length-1));return L===y.fromIndex?null:L}),Or=te(()=>{const b=(F.value?xt.value:n.groups).map(Pt=>Pt.projectName),w=x.value,L=zt.value;if(!w||L===null)return b;const Ee=[...b],[ut]=Ee.splice(w.fromIndex,1);return ut?(Ee.splice(L,0,ut),Ee):b}),nn=te(()=>{const y={};let b=0;for(const w of Or.value)y[w]=b,b+=wr(w);return y}),Wn=te(()=>{let y=0;for(const b of Or.value)y+=wr(b);return{height:`${Math.max(0,y)}px`}});function Zr(y){if(Number.isNaN(y))return"n/a";const b=Math.abs(Date.now()-y);if(b<6e4)return"now";const w=Math.floor(b/6e4);if(w<60)return`${w}m`;const L=Math.floor(w/60);return L<24?`${L}h`:`${Math.floor(L/24)}d`}function dn(y){const b=vn.value.get(y.id);return Zr(typeof b=="number"?b:new Date(y.updatedAtIso||y.createdAtIso).getTime())}function Dt(y){return Te.value.has(y)}function rn(y){if(Dt(y)){O.value=O.value.filter(b=>b!==y);return}O.value=[y,...O.value]}function wn(y){rn(y),yt()}function on(y){H.value="",a("select",y)}function In(y){var b;return(((b=Be.value[y])==null?void 0:b.length)??0)>0}function eo(y){const b=Be.value[y]??[];if(b.length===0)return"";if(b.length>1){const Ee=b.filter(ut=>ut.status==="ACTIVE").length;return`${b.length} automations • ${Ee} active`}const[w]=b,L=w.status==="PAUSED"?"-":w.nextRunAtMs?new Date(w.nextRunAtMs).toLocaleString():"Not scheduled";return`${w.name} • Next run: ${L}`}function On(y){return String(Math.max(0,y)).padStart(2,"0")}function to(y,b){const w=typeof y=="number"?y:Number(y);return Number.isFinite(w)?Math.max(1,Math.floor(w)):b}function bo(y){const[b,w]=y.split(":"),L=Math.min(23,Math.max(0,Number(b)||0)),Ee=Math.min(59,Math.max(0,Number(w)||0));return`FREQ=DAILY;BYHOUR=${L};BYMINUTE=${Ee}`}function Zn(y,b){const w=to(y,1);return b==="minutes"?`FREQ=MINUTELY;INTERVAL=${w}`:b==="hours"?`FREQ=HOURLY;INTERVAL=${w}`:`FREQ=DAILY;INTERVAL=${w}`}function jr(y){return Object.fromEntries(y.split(";").map(b=>b.trim()).filter(Boolean).map(b=>{const[w,...L]=b.split("=");return[w.toUpperCase(),L.join("=").trim()]}).filter(([b,w])=>b&&w))}function er(y){var Ee;const b=jr(y),w=(Ee=b.FREQ)==null?void 0:Ee.toUpperCase(),L=to(b.INTERVAL,1);if(w==="DAILY"&&b.BYHOUR!==void 0&&b.BYMINUTE!==void 0&&L===1){const ut=Math.min(23,Math.max(0,Number(b.BYHOUR)||0)),Pt=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return{mode:"daily",dailyTime:`${On(ut)}:${On(Pt)}`,interval:1,intervalUnit:"hours"}}return w==="MINUTELY"||w==="HOURLY"||w==="DAILY"&&b.INTERVAL!==void 0?{mode:"interval",dailyTime:"09:00",interval:L,intervalUnit:w==="MINUTELY"?"minutes":w==="HOURLY"?"hours":"days"}:{mode:"advanced",dailyTime:"09:00",interval:1,intervalUnit:"hours"}}function Sr(y){var Ee;const b=jr(y),w=(Ee=b.FREQ)==null?void 0:Ee.toUpperCase(),L=to(b.INTERVAL,1);if(w==="DAILY"&&b.BYHOUR!==void 0&&b.BYMINUTE!==void 0&&L===1){const ut=Math.min(23,Math.max(0,Number(b.BYHOUR)||0)),Pt=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return`RRULE: ${y} · runs daily at ${On(ut)}:${On(Pt)}`}return w==="MINUTELY"?`RRULE: ${y} · runs every ${L} minute${L===1?"":"s"}`:w==="HOURLY"?`RRULE: ${y} · runs every ${L} hour${L===1?"":"s"}`:w==="DAILY"&&b.INTERVAL!==void 0?`RRULE: ${y} · runs every ${L} day${L===1?"":"s"}`:y?`RRULE: ${y}`:"RRULE is required."}function bn(){const y=We.value;y.mode==="daily"?Je.value.rrule=bo(y.dailyTime):y.mode==="interval"&&(Je.value.rrule=Zn(y.interval,y.intervalUnit))}function Dr(){We.value=er(Je.value.rrule)}function jn(y){y!=="minutes"&&y!=="hours"&&y!=="days"||(We.value.intervalUnit=y,bn())}function tr(y){We.value={...We.value,mode:y},bn()}function zn(y){a("export-thread",y),yt()}function _o(y){a("fork-thread",y),yt()}function Ft(y){return`start new thread ${Pn(y)}`}function pr(y){a("start-new-thread",y)}function xr(y){a("browse-thread-files",y),yt()}async function Ar(y){var w,L;const b=((L=(w=Ln.value.get(y))==null?void 0:w.cwd)==null?void 0:L.trim())??"";if(yt(),!(!b||typeof navigator>"u"||!navigator.clipboard))try{await navigator.clipboard.writeText(b)}catch{}}function fn(y,b){if(D.value===y){if(b){const w=b.relatedTarget,L=je.value;if(w instanceof Node&&L&&L.contains(w))return}yt()}}function Ct(y){return D.value===y}function yt(){D.value="",ye.value={}}function nr(y){if(H.value="",D.value===y){yt();return}Re(),pe.value=!1,D.value=y,Jt(()=>{ro(y)})}function Rn(y,b){y.preventDefault(),H.value="",D.value=b}function Fr(y,b){G.value=y,me.value=b,Le.value=!0,yt(),Jt(()=>{var w,L;(w=ke.value)==null||w.focus(),(L=ke.value)==null||L.select()})}function gn(){Le.value=!1,G.value="",me.value=""}function mr(){const y=G.value,b=me.value.trim();!y||!b||(a("rename-thread",{threadId:y,title:b}),gn())}function To(y,b){H.value="",Se.value=y,Ue.value=b,oe.value=!0,yt()}function wt(){oe.value=!1,Se.value="",Ue.value=""}async function Et(){const y=Se.value;y&&(Yt(y),wt())}function Ot(y){return H.value===y}function hn(y){if(H.value!==y){H.value=y,yt();return}Yt(y),H.value=""}function Yt(y){$e.value.has(y)||(ne.value=[y,...ne.value]),H.value="",yt(),O.value=O.value.filter(b=>b!==y),a("archive",y),In(y)&&(Bf(y).catch(()=>{}),Be.value=rr(Be.value,y))}function Ur(y){var w;Ne.value=y,tt.value="",Fe.value="";const b=(w=Be.value[y])==null?void 0:w[0];b?yn(b.id):vr(),Ke.value=!0,yt()}function vr(){Ce.value="",Qe.value="create",tt.value="",Fe.value="",Je.value={name:"Thread automation",prompt:"",rrule:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",status:"ACTIVE"},We.value=er(Je.value.rrule)}function yn(y){const b=xe.value.find(w=>w.id===y);b&&(Ce.value=b.id,Qe.value="edit",tt.value="",Fe.value="",Je.value={name:b.name,prompt:b.prompt,rrule:b.rrule,status:b.status},We.value=er(b.rrule))}function Er(){Ke.value=!1,Ne.value="",Ce.value="",tt.value="",Fe.value="",He.value=!1,ft.value=!1}function rr(y,b){return Object.fromEntries(Object.entries(y).filter(([w])=>w!==b))}function Dn(y,b,w){const L=y[b]??[],Ee=L.findIndex(Pt=>Pt.id===w.id),ut=[...L];return Ee>=0?ut.splice(Ee,1,w):ut.push(w),{...y,[b]:ut}}function Vn(y,b,w){const L=(y[b]??[]).filter(Ee=>Ee.id!==w);return L.length>0?{...y,[b]:L}:rr(y,b)}async function Vt(){const y=Ne.value;if(y){He.value=!0,tt.value="",Fe.value="";try{bn();const b=await q0({threadId:y,id:Ce.value||void 0,name:Je.value.name,prompt:Je.value.prompt,rrule:Je.value.rrule,status:Je.value.status});Be.value=Dn(Be.value,y,b),yn(b.id),Fe.value="Automation saved.",He.value=!1}catch(b){tt.value=b instanceof Error?b.message:"Failed to save automation",He.value=!1}}}async function gr(){var w;const y=Ne.value,b=Ce.value;if(!(!y||!b)){He.value=!0,tt.value="",Fe.value="";try{await Bf(y,b),Be.value=Vn(Be.value,y,b);const L=(w=Be.value[y])==null?void 0:w[0];L?yn(L.id):vr(),He.value=!1}catch(L){tt.value=L instanceof Error?L.message:"Failed to remove automation",He.value=!1}}}async function Br(){const y=Ne.value,b=Ce.value;if(!(!y||!b)){ft.value=!0,tt.value="",Fe.value="";try{await H0(y,b),Fe.value="Automation run queued."}catch(w){tt.value=w instanceof Error?w.message:"Failed to run automation"}finally{ft.value=!1}}}function Pn(y){return n.projectDisplayNameById[y]??y}function yr(y){return y.includes("/")||y.includes("\\")}function Mn(y){return yr(y)?y:Pn(y)}function I(y){const b=Nr(y);if(!b)return!1;let w=0;for(const L of n.groups)if(yr(L.projectName)&&Nr(L.projectName)===b&&(w+=1,w>1))return!0;return!1}function B(y){const b=n.projectDisplayNameById[y.projectName],w=Pn(y.projectName),L=y.projectName;if(b&&!yr(L)&&L!==w)return w.includes(L)||/^[0-9a-f]{8}-[0-9a-f-]{27,}$/iu.test(L)?w:`${w} ${L}`;if(b&&yr(L)){const Pt=Nr(L),Cn=Nr(Rs(L)),an=I(L)?Cn:Pt;return an&&an!==w?`${w} ${an}`:w}if(!w.includes("/")&&!w.includes("\\"))return w;const Ee=Nr(w)||w,ut=Nr(Rs(w));return ut.startsWith(".")&&ut!==Ee?`${Ee} ${ut}`:y.threads.length>0||!I(L)?Ee:ut?`${Ee} ${ut}`:Ee}function re(y){return j.value===y}function Re(){j.value="",de.value="actions",be.value=""}function vt(){const y=!pe.value;y&&(Re(),yt()),pe.value=y}function Qt(y){Pe.value=y,pe.value=!1}function pn(){g.value=!g.value}function Me(y){_.value=y}function _e(y){a("request-project-git-status",y),Jt(()=>{Pr(y)})}function mt(y){if(j.value===y){Re();return}yt(),pe.value=!1,j.value=y,de.value="actions",be.value=Pn(y),_e(y)}function _n(y){yt(),pe.value=!1,j.value=y,de.value="actions",be.value=Pn(y),_e(y)}function Gn(y){return n.projectDisplayNameById[y.projectName]??B(y)}function Us(y){yt();const b=y.projectName;j.value=b,de.value="rename",be.value=Gn(y),Jt(()=>{Pr(b)})}function Zt(y){a("browse-project-files",y),Re()}function Uo(y){a("create-project-worktree",y),Re()}function no(y){a("rename-project",{projectName:y,displayName:be.value})}function Ir(y){a("remove-project",y),Re()}function Bo(y,b){if(!y.altKey||y.key!=="ArrowUp"&&y.key!=="ArrowDown")return;const w=n.groups.findIndex(ut=>ut.projectName===b);if(w<0)return;const L=y.key==="ArrowUp"?-1:1,Ee=Math.max(0,Math.min(w+L,n.groups.length-1));Ee!==w&&(y.preventDefault(),a("reorder-project",{projectName:b,toIndex:Ee}))}function qo(y){return o.value[y]===!0}function or(y){return s.value[y]===!0}function Ho(y){o.value={...o.value,[y]:!qo(y)}}function qr(){f.value=!f.value}function ko(y){if(ae.value===y){ae.value="";return}s.value={...s.value,[y]:!or(y)}}function wr(y){const b=Q.value[y]??0,w=x.value,Ee=((w==null?void 0:w.projectName)===y?w.groupHeight:null)??b,ut=or(y)?0:Qf;return Math.max(0,Ee+ut)}function Co(y,b){const w=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(w){fe.set(y,w);return}fe.delete(y)}function Tn(y,b){const w=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(w){ge.set(y,w);return}ge.delete(y)}function Hr(y){let b=y.parentElement;for(;b;){const w=window.getComputedStyle(b),L=w.overflowY||w.overflow;if(L==="auto"||L==="scroll"||L==="hidden"||L==="clip")return b.getBoundingClientRect();b=b.parentElement}return new DOMRect(0,0,window.innerWidth,window.innerHeight)}function Rr(y,b){const w=y.getBoundingClientRect(),L=Hr(y),Ee=6,ut=L.bottom-w.bottom,Pt=w.top-L.top;return ut>=b+Ee?"down":Pt>ut?"up":"down"}function ts(y,b){const w=ge.get(y);if(!w)return"down";const L=Rr(w,b);return X.value={...X.value,[y]:L},L}function ns(y){return X.value[y]??"down"}function Pr(y){const b=fe.get(y);if(!b)return;const w=b.querySelector(".project-menu-panel"),L=(w==null?void 0:w.getBoundingClientRect().height)??0;K.value={...K.value,[y]:Rr(b,L)}}function Kn(y,b,w){return Math.min(Math.max(y,b),w)}function ro(y){const b=ge.get(y);if(!b)return;const w=je.value,L=w==null?void 0:w.getBoundingClientRect(),Ee=(L==null?void 0:L.height)||(w==null?void 0:w.offsetHeight)||112,ut=(L==null?void 0:L.width)||(w==null?void 0:w.offsetWidth)||160,Pt=ts(y,Ee),Cn=b.getBoundingClientRect(),an=8,Fn=4,so=Math.max(an,window.innerWidth-ut-an),ga=Kn(Cn.right-ut,an,so),Ko=Kn(Pt==="up"?Cn.top-Ee-Fn:Cn.bottom+Fn,an,Math.max(an,window.innerHeight-Ee-an));ye.value={left:`${Math.round(ga)}px`,top:`${Math.round(Ko)}px`}}function Wr(){const y=D.value;y&&ro(y)}function kn(){window.addEventListener("resize",Wr),document.addEventListener("scroll",Wr,!0)}function $n(){window.removeEventListener("resize",Wr),document.removeEventListener("scroll",Wr,!0)}function ar(y){const b=j.value;if(!b)return!1;const w=fe.get(b);if(!w)return!1;if((typeof y.composedPath=="function"?y.composedPath():[]).includes(w))return!0;const Ee=y.target;return Ee instanceof Node?w.contains(Ee):!1}function ha(y){const b=D.value;if(!b)return!1;const w=ge.get(b);if(!w)return!1;const L=typeof y.composedPath=="function"?y.composedPath():[];if(L.includes(w))return!0;const Ee=je.value;if(Ee&&L.includes(Ee))return!0;const ut=y.target;return ut instanceof Node?!!(w.contains(ut)||Ee&&Ee.contains(ut)):!1}function br(y){if(pe.value){const b=he.value,w=typeof y.composedPath=="function"?y.composedPath():[];!!b&&(w.includes(b)||y.target instanceof Node&&b.contains(y.target))||(pe.value=!1)}j.value&&(ar(y)||Re(),D.value&&(ha(y)||yt()))}function sr(y){j.value&&!ar(y)&&Re(),D.value&&!ha(y)&&yt()}function Wo(){pe.value&&(pe.value=!1),j.value&&Re(),D.value&&yt()}function Ma(){window.addEventListener("pointerdown",br,{capture:!0}),window.addEventListener("focusin",sr,{capture:!0}),window.addEventListener("blur",Wo)}function pa(){window.removeEventListener("pointerdown",br,{capture:!0}),window.removeEventListener("focusin",sr,{capture:!0}),window.removeEventListener("blur",Wo)}function oo(y,b){const w=b.getBoundingClientRect().height;if(!Number.isFinite(w)||w<=0)return;const L=Q.value[y];L!==void 0&&Math.abs(L-w)<.5||(Q.value={...Q.value,[y]:w})}function $a(y,b){const w=le.get(y);w&&w!==b&&Ie&&Ie.unobserve(w);const L=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(L){le.set(y,L),we.set(L,y),oo(y,L),Ie==null||Ie.observe(L);return}w&&(Ie==null||Ie.unobserve(w)),le.delete(y)}function zo(y,b){if(y.button!==0||F.value||Ge.value||x.value)return;const w=n.groups.findIndex(Pt=>Pt.projectName===b),L=le.get(b);if(w<0||!L)return;const Ee=L.getBoundingClientRect(),ut=or(b)?0:Qf;Ge.value={projectName:b,fromIndex:w,startClientX:y.clientX,startClientY:y.clientY,pointerOffsetY:y.clientY-Ee.top,groupLeft:Ee.left,groupWidth:Ee.width,groupHeight:Ee.height,groupOuterHeight:Ee.height+ut},y.preventDefault(),zr()}function zr(){window.addEventListener("mousemove",So),window.addEventListener("mouseup",Vr),window.addEventListener("keydown",jt)}function Na(){window.removeEventListener("mousemove",So),window.removeEventListener("mouseup",Vr),window.removeEventListener("keydown",jt)}function So(y){P={clientX:y.clientX,clientY:y.clientY},La()}function Vr(y){rs({clientX:y.clientX,clientY:y.clientY});const b=x.value;if(b&&zt.value!==null){const w=n.groups.findIndex(L=>L.projectName===b.projectName);if(w>=0){const L=zt.value;L!==w&&a("reorder-project",{projectName:b.projectName,toIndex:L})}}ir({preserveToggleSuppression:!!b})}function jt(y){y.key==="Escape"&&(!Ge.value&&!x.value||(y.preventDefault(),ir()))}function ir(y={}){z!==null&&(window.cancelAnimationFrame(z),z=null),P=null,Ge.value=null,x.value=null,y.preserveToggleSuppression||(ae.value=""),Na()}function La(){z===null&&(z=window.requestAnimationFrame(()=>{if(z=null,!P)return;const y=P;P=null,rs(y)}))}function rs(y){const b=Ge.value;if(!x.value&&b){const w=y.clientX-b.startClientX,L=y.clientY-b.startClientY;if(Math.hypot(w,L)<sC)return;Re(),ae.value=b.projectName,x.value={projectName:b.projectName,fromIndex:b.fromIndex,pointerOffsetY:b.pointerOffsetY,groupLeft:b.groupLeft,groupWidth:b.groupWidth,groupHeight:b.groupHeight,groupOuterHeight:b.groupOuterHeight,ghostTop:y.clientY-b.pointerOffsetY,dropTargetIndexFull:null}}x.value&&Bs(y)}function Bs(y){const b=x.value;if(!b)return;if(b.ghostTop=y.clientY-b.pointerOffsetY,!ma(y)){b.dropTargetIndexFull=null;return}const w=y.clientY,L=De.value;if(!L){b.dropTargetIndexFull=null;return}const Ee=L.getBoundingClientRect(),ut=new Map(n.groups.map((Fn,so)=>[Fn.projectName,so])),Pt=n.groups.map(Fn=>Fn.projectName).filter(Fn=>Fn!==b.projectName);let Cn=0,an=n.groups.length;for(const Fn of Pt){const so=ut.get(Fn);if(so===void 0)continue;const ga=wr(Fn),Ko=Ee.top+Cn+ga/2;if(w<Ko){an=so;break}Cn+=ga}b.dropTargetIndexFull=an}function ma(y){const b=De.value;if(!b)return!1;const w=b.getBoundingClientRect(),L=y.clientX>=w.left&&y.clientX<=w.right,Ee=y.clientY>=w.top-32&&y.clientY<=w.bottom+32;return L&&Ee}function os(y){var b;return((b=x.value)==null?void 0:b.projectName)===y}function xo(y){const b=x.value,w=nn.value[y]??0,L=D.value?fa.value.get(D.value)??"":"",Ee=j.value===y||L===y;return!b||b.projectName!==y?{position:"absolute",top:"0",left:"0",right:"0",zIndex:Ee?"40":"1",transform:`translate3d(0, ${w}px, 0)`,willChange:"transform",transition:"transform 180ms ease"}:{position:"fixed",top:"0",left:`${b.groupLeft}px`,width:`${b.groupWidth}px`,height:`${b.groupHeight}px`,zIndex:"50",pointerEvents:"none",transform:`translate3d(0, ${b.ghostTop}px, 0)`,willChange:"transform",transition:"transform 0ms linear"}}function Vo(y){return Do.value.get(y.projectName)??[]}function as(y){if(F.value)return Vo(y);if(or(y.projectName))return[];const b=Vo(y);return qo(y.projectName)?b:b.slice(0,10)}function qt(y){return F.value?!1:!or(y.projectName)&&Vo(y).length>10}function qs(y){return Vo(y).length>0}function va(y){return!!y.pendingRequestState||y.inProgress||y.unread}function Mr(y){return y.pendingRequestState==="approval"?"Awaiting approval":"Awaiting response"}function ao(y){return y.pendingRequestState==="approval"?"awaiting-approval":y.pendingRequestState==="response"?"awaiting-response":y.inProgress?"working":y.unread?"unread":"idle"}pt(()=>n.groups.map(y=>y.projectName),y=>{var Ee,ut;const b=((Ee=x.value)==null?void 0:Ee.projectName)??((ut=Ge.value)==null?void 0:ut.projectName)??"";b&&!n.groups.some(Pt=>Pt.projectName===b)&&ir();const w=new Set(y),L=Object.fromEntries(Object.entries(Q.value).filter(([Pt])=>w.has(Pt)));Object.keys(L).length!==Object.keys(Q.value).length&&(Q.value=L)}),pt(()=>{const y=j.value;return y?n.projectGitRepoByName[y]:void 0},()=>{const y=j.value;y&&Jt(()=>{j.value===y&&Pr(y)})});const Go=te(()=>pe.value||j.value!==""||D.value!=="");return pt(Go,y=>{if(y){Ma();return}pa()}),pt(D,y=>{if(!y){$n();return}kn(),Jt(()=>{ro(y)})}),Ra(()=>{for(const y of le.values())Ie==null||Ie.unobserve(y);le.clear(),fe.clear(),$n(),pa(),ir()}),(y,b)=>(k(),R("section",{class:et(["thread-tree-root",{"chats-first":g.value}])},[wo.value.length>0?(k(),R("section",qT,[Oe(lo,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":l.value,onClick:Fo},{left:ht(()=>[l.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(ii,{key:0,class:"thread-icon"}))]),default:ht(()=>[m("span",HT,$(S(r)("Pinned")),1)]),_:1},8,["aria-expanded"]),l.value?(k(),R("ul",WT,[(k(!0),R(Ye,null,Kt(wo.value,w=>(k(),R("li",{key:w.id,class:"thread-row-item","data-menu-open":Ct(w.id)?"true":"false"},[Oe(lo,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":Dt(w.id),"data-menu-open":Ct(w.id)?"true":"false","force-right-hover":Ct(w.id),onClick:L=>on(w.id),onMouseleave:L=>fn(w.id,L),onContextmenu:L=>Rn(L,w.id)},{left:ht(()=>[m("span",VT,[va(w)?(k(),R("span",{key:0,class:"thread-status-indicator","data-state":ao(w)},null,8,GT)):J("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":Ot(w.id),title:Ot(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>hn(w.id),["stop"])},[Ot(w.id)?(k(),R("span",YT,"Confirm")):(k(),Ze(nl,{key:1,class:"thread-icon"}))],8,KT)])]),right:ht(()=>[m("span",nk,$(dn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>Tn(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>nr(w.id),["stop"])},[Oe(ps,{class:"thread-icon"})],8,rk)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>on(w.id),["stop"])},[m("span",JT,[m("span",XT,[m("span",ZT,$(w.title),1),w.hasWorktree?(k(),Ze(Ts,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):J("",!0),In(w.id)?(k(),R("span",{key:1,class:"thread-row-automation-chip",title:eo(w.id)}," Auto ",8,ek)):J("",!0),w.pendingRequestState?(k(),R("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},$(Mr(w)),9,tk)):J("",!0)])])],8,QT)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,zT))),128))])):J("",!0)])):J("",!0),m("section",ok,[Oe(lo,{as:"button",class:"thread-tree-header-row section-toggle-row",type:"button","aria-expanded":c.value,onClick:ot},{left:ht(()=>[c.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(ii,{key:0,class:"thread-icon"}))]),right:ht(()=>[m("div",{ref_key:"organizeMenuWrapRef",ref:he,class:"organize-menu-wrap"},[m("button",{class:"organize-menu-trigger",type:"button","aria-expanded":pe.value,"aria-label":S(r)("Organize threads"),title:S(r)("Organize threads"),onClick:Xe(vt,["stop"])},[Oe(ps,{class:"thread-icon"})],8,sk),pe.value?(k(),R("div",{key:0,class:"organize-menu-panel",onClick:b[4]||(b[4]=Xe(()=>{},["stop"]))},[m("p",ik,$(S(r)("Organize")),1),m("button",{class:"organize-menu-item","data-active":Pe.value==="project",type:"button",onClick:b[0]||(b[0]=w=>Qt("project"))},[m("span",null,$(S(r)("By project")),1),Pe.value==="project"?(k(),R("span",uk,"✓")):J("",!0)],8,lk),m("button",{class:"organize-menu-item","data-active":Pe.value==="chronological",type:"button",onClick:b[1]||(b[1]=w=>Qt("chronological"))},[m("span",null,$(S(r)("Chronological list")),1),Pe.value==="chronological"?(k(),R("span",dk,"✓")):J("",!0)],8,ck),m("button",{class:"organize-menu-item","data-active":g.value,type:"button",onClick:pn},[m("span",null,$(S(r)("Chats first")),1),g.value?(k(),R("span",hk,"✓")):J("",!0)],8,fk),b[27]||(b[27]=m("div",{class:"organize-menu-separator"},null,-1)),m("p",pk,$(S(r)("Sort by")),1),m("button",{class:"organize-menu-item","data-active":_.value==="created",type:"button",onClick:b[2]||(b[2]=w=>Me("created"))},[m("span",null,$(S(r)("Created")),1),_.value==="created"?(k(),R("span",vk,"✓")):J("",!0)],8,mk),m("button",{class:"organize-menu-item","data-active":_.value==="updated",type:"button",onClick:b[3]||(b[3]=w=>Me("updated"))},[m("span",null,$(S(r)("Updated")),1),_.value==="updated"?(k(),R("span",yk,"✓")):J("",!0)],8,gk)])):J("",!0)],512)]),default:ht(()=>[m("span",ak,$(S(r)("Projects")),1)]),_:1},8,["aria-expanded"]),c.value?(k(),R(Ye,{key:0},[F.value&&xt.value.length===0?(k(),R("p",wk,$(S(r)("No matching threads")),1)):e.isLoading&&e.groups.length===0?(k(),R("p",bk,$(S(r)("Loading threads...")),1)):Bt.value?(k(),R("ul",_k,[(k(!0),R(Ye,null,Kt(Wt.value,w=>(k(),R("li",{key:w.id,class:"thread-row-item","data-menu-open":Ct(w.id)?"true":"false"},[Oe(lo,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":Dt(w.id),"data-menu-open":Ct(w.id)?"true":"false","force-right-hover":Ct(w.id),onClick:L=>on(w.id),onMouseleave:L=>fn(w.id,L),onContextmenu:L=>Rn(L,w.id)},{left:ht(()=>[m("span",kk,[va(w)?(k(),R("span",{key:0,class:"thread-status-indicator","data-state":ao(w)},null,8,Ck)):J("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":Ot(w.id),title:Ot(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>hn(w.id),["stop"])},[Ot(w.id)?(k(),R("span",xk,"Confirm")):(k(),Ze(nl,{key:1,class:"thread-icon"}))],8,Sk)])]),right:ht(()=>[m("span",$k,$(dn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>Tn(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>nr(w.id),["stop"])},[Oe(ps,{class:"thread-icon"})],8,Nk)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>on(w.id),["stop"])},[m("span",Ek,[m("span",Ik,[m("span",Rk,$(w.title),1),w.hasWorktree?(k(),Ze(Ts,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):J("",!0),In(w.id)?(k(),R("span",{key:1,class:"thread-row-automation-chip",title:eo(w.id)}," Auto ",8,Pk)):J("",!0),w.pendingRequestState?(k(),R("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},$(Mr(w)),9,Mk)):J("",!0)])])],8,Ak)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,Tk))),128))])):(k(),R("div",{key:3,ref_key:"groupsContainerRef",ref:De,class:"thread-tree-groups",style:oa(Wn.value)},[(k(!0),R(Ye,null,Kt(xt.value,w=>(k(),R("article",{key:w.projectName,ref_for:!0,ref:L=>$a(w.projectName,L),class:"project-group","data-project-name":w.projectName,"data-expanded":!or(w.projectName),"data-dragging":os(w.projectName),style:oa(xo(w.projectName))},[Oe(lo,{as:"div",class:"project-header-row",role:"button",tabindex:"0",onClick:L=>ko(w.projectName),onContextmenu:Xe(L=>_n(w.projectName),["prevent"]),onKeydown:[L=>Bo(L,w.projectName),mn(Xe(L=>ko(w.projectName),["prevent"]),["enter"]),mn(Xe(L=>ko(w.projectName),["prevent"]),["space"])]},{left:ht(()=>[m("span",Ok,[m("span",jk,[or(w.projectName)?(k(),Ze(Vc,{key:0,class:"thread-icon"})):(k(),Ze(vT,{key:1,class:"thread-icon"}))]),m("span",Dk,[or(w.projectName)?(k(),Ze(ii,{key:0,class:"thread-icon"})):(k(),Ze(Qa,{key:1,class:"thread-icon"}))])])]),right:ht(()=>[m("div",Bk,[m("div",{ref_for:!0,ref:L=>Co(w.projectName,L),class:"project-menu-wrap"},[m("button",{class:"project-menu-trigger",type:"button",title:"project_menu",onClick:Xe(L=>mt(w.projectName),["stop"])},[Oe(ps,{class:"thread-icon"})],8,qk),re(w.projectName)?(k(),R("div",{key:0,class:"project-menu-panel","data-open-direction":K.value[w.projectName]??"down",onClick:b[6]||(b[6]=Xe(()=>{},["stop"]))},[de.value==="actions"?(k(),R(Ye,{key:0},[m("button",{class:"project-menu-item",type:"button",onClick:L=>Zt(w.projectName)}," Browse files ",8,Wk),e.projectGitRepoByName[w.projectName]?(k(),R("button",{key:0,class:"project-menu-item",type:"button",onClick:L=>Uo(w.projectName)}," New worktree ",8,zk)):J("",!0),m("button",{class:"project-menu-item",type:"button",onClick:L=>Us(w)}," Rename project ",8,Vk),m("button",{class:"project-menu-item project-menu-item-danger",type:"button",onClick:L=>Ir(w.projectName)}," Remove ",8,Gk)],64)):(k(),R(Ye,{key:1},[m("label",Kk,$(S(r)("Project name")),1),en(m("input",{"onUpdate:modelValue":b[5]||(b[5]=L=>be.value=L),class:"project-menu-input",type:"text",onInput:L=>no(w.projectName)},null,40,Yk),[[un,be.value]])],64))],8,Hk)):J("",!0)],512),m("button",{class:"thread-start-button",type:"button","aria-label":Ft(w.projectName),title:Ft(w.projectName),onClick:Xe(L=>pr(w.projectName),["stop"])},[Oe(js,{class:"thread-icon"})],8,Qk)])]),default:ht(()=>[m("span",{class:"project-main-button","data-dragging-handle":os(w.projectName),onMousedown:Xe(L=>zo(L,w.projectName),["left"])},[m("span",{class:"project-title",title:Mn(w.projectName)},$(B(w)),9,Uk)],40,Fk)]),_:2},1032,["onClick","onContextmenu","onKeydown"]),qs(w)?(k(),R("ul",Jk,[(k(!0),R(Ye,null,Kt(as(w),L=>(k(),R("li",{key:L.id,class:"thread-row-item","data-menu-open":Ct(L.id)?"true":"false"},[Oe(lo,{class:"thread-row","data-active":L.id===e.selectedThreadId,"data-pinned":Dt(L.id),"data-menu-open":Ct(L.id)?"true":"false","force-right-hover":Ct(L.id),onClick:Ee=>on(L.id),onMouseleave:Ee=>fn(L.id,Ee),onContextmenu:Ee=>Rn(Ee,L.id)},{left:ht(()=>[m("span",Zk,[va(L)?(k(),R("span",{key:0,class:"thread-status-indicator","data-state":ao(L)},null,8,e1)):J("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":Ot(L.id),title:Ot(L.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(Ee=>hn(L.id),["stop"])},[Ot(L.id)?(k(),R("span",n1,"Confirm")):(k(),Ze(nl,{key:1,class:"thread-icon"}))],8,t1)])]),right:ht(()=>[m("span",u1,$(dn(L)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:Ee=>Tn(L.id,Ee),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(Ee=>nr(L.id),["stop"])},[Oe(ps,{class:"thread-icon"})],8,c1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(Ee=>on(L.id),["stop"])},[m("span",o1,[m("span",a1,[m("span",s1,$(L.title),1),L.hasWorktree?(k(),Ze(Ts,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):J("",!0),In(L.id)?(k(),R("span",{key:1,class:"thread-row-automation-chip",title:eo(L.id)}," Auto ",8,i1)):J("",!0),L.pendingRequestState?(k(),R("span",{key:2,class:"thread-row-request-chip","data-state":L.pendingRequestState},$(Mr(L)),9,l1)):J("",!0)])])],8,r1)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,Xk))),128))])):(k(),Ze(lo,{key:1,as:"p",class:"project-empty-row"},{left:ht(()=>[...b[28]||(b[28]=[m("span",{class:"project-empty-spacer"},null,-1)])]),default:ht(()=>[m("span",d1,$(S(r)("No threads")),1)]),_:1})),qt(w)?(k(),Ze(lo,{key:2,class:"thread-show-more-row"},{left:ht(()=>[...b[29]||(b[29]=[m("span",{class:"thread-show-more-spacer"},null,-1)])]),default:ht(()=>[m("button",{class:"thread-show-more-button",type:"button",onClick:L=>Ho(w.projectName)},$(qo(w.projectName)?"Show less":"Show more"),9,f1)]),_:2},1024)):J("",!0)],12,Lk))),128))],4))],64)):J("",!0)]),m("section",h1,[Oe(lo,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":h.value,onClick:cn},{left:ht(()=>[h.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(ii,{key:0,class:"thread-icon"}))]),right:ht(()=>[m("div",m1,[m("button",{class:"chats-section-action",type:"button","aria-label":S(r)("New chat"),title:S(r)("New chat"),onClick:b[7]||(b[7]=Xe(w=>y.$emit("start-new-chat"),["stop"]))},[Oe(js,{class:"thread-icon"})],8,v1)])]),default:ht(()=>[m("span",p1,$(S(r)("Chats")),1)]),_:1},8,["aria-expanded"]),h.value&&Hn.value.length===0?(k(),R("p",g1,$(S(r)("No chats")),1)):h.value?(k(),R("ul",y1,[(k(!0),R(Ye,null,Kt(hr.value,w=>(k(),R("li",{key:w.id,class:"thread-row-item","data-menu-open":Ct(w.id)?"true":"false"},[Oe(lo,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":Dt(w.id),"data-menu-open":Ct(w.id)?"true":"false","force-right-hover":Ct(w.id),onClick:L=>on(w.id),onMouseleave:L=>fn(w.id,L),onContextmenu:L=>Rn(L,w.id)},{left:ht(()=>[m("span",b1,[va(w)?(k(),R("span",{key:0,class:"thread-status-indicator","data-state":ao(w)},null,8,_1)):J("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":Ot(w.id),title:Ot(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>hn(w.id),["stop"])},[Ot(w.id)?(k(),R("span",k1,"Confirm")):(k(),Ze(nl,{key:1,class:"thread-icon"}))],8,T1)])]),right:ht(()=>[m("span",R1,$(dn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>Tn(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>nr(w.id),["stop"])},[Oe(ps,{class:"thread-icon"})],8,P1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>on(w.id),["stop"])},[m("span",S1,[m("span",x1,[m("span",A1,$(w.title),1),w.hasWorktree?(k(),Ze(Ts,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):J("",!0),In(w.id)?(k(),R("span",{key:1,class:"thread-row-automation-chip",title:eo(w.id)}," Auto ",8,E1)):J("",!0),w.pendingRequestState?(k(),R("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},$(Mr(w)),9,I1)):J("",!0)])])],8,C1)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,w1))),128))])):J("",!0),h.value&&Xr.value?(k(),Ze(lo,{key:2,class:"thread-show-more-row"},{left:ht(()=>[...b[30]||(b[30]=[m("span",{class:"thread-show-more-spacer"},null,-1)])]),default:ht(()=>[m("button",{class:"thread-show-more-button",type:"button",onClick:qr},$(f.value?"Show less":"Show more"),1)]),_:1})):J("",!0)]),(k(),Ze(Ka,{to:"body"},[Xt.value?(k(),R("div",{key:0,ref_key:"openThreadMenuPanelRef",ref:je,class:"thread-menu-panel thread-menu-panel-fixed",style:oa(ye.value),"data-open-direction":ns(Xt.value.id),onClick:b[16]||(b[16]=Xe(()=>{},["stop"]))},[m("button",{class:"thread-menu-item",type:"button",onClick:b[8]||(b[8]=w=>Ur(Xt.value.id))},$(In(Xt.value.id)?"Manage automations…":"Add automation…"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[9]||(b[9]=w=>xr(Xt.value.id))}," Browse files "),m("button",{class:"thread-menu-item",type:"button",onClick:b[10]||(b[10]=w=>Ar(Xt.value.id))}," Copy path "),m("button",{class:"thread-menu-item",type:"button",onClick:b[11]||(b[11]=w=>zn(Xt.value.id))}," Export chat "),m("button",{class:"thread-menu-item",type:"button",onClick:b[12]||(b[12]=w=>_o(Xt.value.id))}," Create chat fork "),m("button",{class:"thread-menu-item",type:"button",onClick:b[13]||(b[13]=w=>wn(Xt.value.id))},$(Dt(Xt.value.id)?"Unpin thread":"Pin thread"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[14]||(b[14]=w=>Fr(Xt.value.id,Xt.value.title))},$(S(r)("Rename thread")),1),m("button",{class:"thread-menu-item thread-menu-item-danger",type:"button",onClick:b[15]||(b[15]=w=>To(Xt.value.id,Xt.value.title))},$(S(r)("Delete thread")),1)],12,M1)):J("",!0)])),(k(),Ze(Ka,{to:"body"},[Le.value?(k(),R("div",{key:0,class:"rename-thread-overlay",onClick:Xe(gn,["self"])},[m("div",$1,[m("h3",N1,$(S(r)("Rename thread")),1),b[31]||(b[31]=m("p",{class:"rename-thread-subtitle"},"Make it short and recognizable.",-1)),en(m("input",{ref_key:"renameThreadInputRef",ref:ke,"onUpdate:modelValue":b[17]||(b[17]=w=>me.value=w),class:"rename-thread-input",type:"text",placeholder:"Add title...",onKeydown:[mn(Xe(mr,["prevent"]),["enter"]),mn(Xe(gn,["prevent"]),["esc"])]},null,40,L1),[[un,me.value]]),m("div",O1,[m("button",{class:"rename-thread-button",type:"button",onClick:gn},$(S(r)("Cancel")),1),m("button",{class:"rename-thread-button rename-thread-button-primary",type:"button",onClick:mr},$(S(r)("Save")),1)])])])):J("",!0)])),(k(),Ze(Ka,{to:"body"},[oe.value?(k(),R("div",{key:0,class:"rename-thread-overlay",onClick:Xe(wt,["self"])},[m("div",j1,[m("h3",D1,$(Cr.value?"Archive chat and remove automations?":"Delete thread?"),1),m("p",F1,[Cr.value?(k(),R(Ye,{key:0},[es(' This will archive the thread "'+$(Ue.value)+'" and remove the attached heartbeat automations. ',1)],64)):(k(),R(Ye,{key:1},[es(' This will archive the thread "'+$(Ue.value)+'". You can find it later in archived threads. ',1)],64))]),m("div",U1,[m("button",{class:"rename-thread-button",type:"button",onClick:wt},"Cancel"),m("button",{class:"rename-thread-button rename-thread-button-danger",type:"button",onClick:Et},$(Cr.value?"Archive and remove":"Delete"),1)])])])):J("",!0)])),(k(),Ze(Ka,{to:"body"},[Ke.value?(k(),R("div",{key:0,class:"rename-thread-overlay",onClick:Xe(Er,["self"])},[m("div",B1,[m("h3",q1,$(Qe.value==="edit"?"Edit automation":"Add automation"),1),b[38]||(b[38]=m("p",{class:"rename-thread-subtitle"},"This creates heartbeat automations attached to the selected thread.",-1)),xe.value.length>0?(k(),R("div",H1,[(k(!0),R(Ye,null,Kt(xe.value,w=>(k(),R("button",{key:w.id,class:et(["automation-thread-list-item",{"is-active":w.id===Ce.value}]),type:"button",onClick:L=>yn(w.id)},[m("span",null,$(w.name),1),m("small",null,$(w.status==="PAUSED"?"Paused":"Active"),1)],10,W1))),128)),m("button",{class:"automation-thread-list-item automation-thread-list-add",type:"button",onClick:vr}," Add another automation ")])):J("",!0),m("label",z1,[b[32]||(b[32]=m("span",{class:"automation-thread-label"},"Name",-1)),en(m("input",{"onUpdate:modelValue":b[18]||(b[18]=w=>Je.value.name=w),class:"rename-thread-input",type:"text",placeholder:"Automation name"},null,512),[[un,Je.value.name]])]),m("label",V1,[b[33]||(b[33]=m("span",{class:"automation-thread-label"},"Prompt",-1)),en(m("textarea",{"onUpdate:modelValue":b[19]||(b[19]=w=>Je.value.prompt=w),class:"automation-thread-textarea",rows:"6",placeholder:"Describe what the automation should do"},null,512),[[un,Je.value.prompt]])]),m("div",G1,[b[36]||(b[36]=m("span",{class:"automation-thread-label"},"Schedule",-1)),m("div",K1,[m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="daily"}]),type:"button",onClick:b[20]||(b[20]=w=>tr("daily"))}," Daily ",2),m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="interval"}]),type:"button",onClick:b[21]||(b[21]=w=>tr("interval"))}," Interval ",2),m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="advanced"}]),type:"button",onClick:b[22]||(b[22]=w=>tr("advanced"))}," RRULE ",2)]),We.value.mode==="daily"?(k(),R("div",Y1,[b[34]||(b[34]=m("span",{class:"automation-schedule-copy"},"Run every day at",-1)),en(m("input",{"onUpdate:modelValue":b[23]||(b[23]=w=>We.value.dailyTime=w),class:"automation-schedule-time",type:"time",onInput:bn},null,544),[[un,We.value.dailyTime]])])):We.value.mode==="interval"?(k(),R("div",Q1,[b[35]||(b[35]=m("span",{class:"automation-schedule-copy"},"Run every",-1)),en(m("input",{"onUpdate:modelValue":b[24]||(b[24]=w=>We.value.interval=w),class:"automation-schedule-number",type:"number",min:"1",step:"1",onInput:bn},null,544),[[un,We.value.interval,void 0,{number:!0}]]),Oe(Lr,{class:"automation-schedule-unit","model-value":We.value.intervalUnit,options:Tt,"onUpdate:modelValue":jn},null,8,["model-value"])])):J("",!0),We.value.mode==="advanced"?en((k(),R("input",{key:2,"onUpdate:modelValue":b[25]||(b[25]=w=>Je.value.rrule=w),class:"rename-thread-input",type:"text",placeholder:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",onInput:Dr},null,544)),[[un,Je.value.rrule]]):J("",!0),m("p",J1,$(Ae.value),1)]),m("label",X1,[b[37]||(b[37]=m("span",{class:"automation-thread-label"},"Status",-1)),Oe(Lr,{class:"automation-thread-select","model-value":Je.value.status,options:Z.value,"onUpdate:modelValue":b[26]||(b[26]=w=>Je.value.status=w)},null,8,["model-value","options"])]),tt.value?(k(),R("p",Z1,$(tt.value),1)):Fe.value?(k(),R("p",eC,$(Fe.value),1)):J("",!0),m("div",tC,[Qe.value==="edit"?(k(),R("button",{key:0,class:"rename-thread-button",type:"button",disabled:He.value||ft.value,onClick:Br},$(ft.value?"Running…":"Run now"),9,nC)):J("",!0),Qe.value==="edit"?(k(),R("button",{key:1,class:"rename-thread-button rename-thread-button-danger",type:"button",disabled:He.value||ft.value,onClick:gr}," Remove ",8,rC)):J("",!0),m("button",{class:"rename-thread-button",type:"button",disabled:He.value||ft.value,onClick:Er},$(S(r)("Cancel")),9,oC),m("button",{class:"rename-thread-button rename-thread-button-primary",type:"button",disabled:He.value||ft.value,onClick:Vt},$(He.value?"Saving…":"Save"),9,aC)])])])):J("",!0)]))],2))}}),lC=It(iC,[["__scopeId","data-v-3c34356c"]]),uC={class:"content-header"},cC=["title"],dC={class:"content-actions"},fC=qn({__name:"ContentHeader",props:{title:{},accent:{type:Boolean}},setup(e){return(t,n)=>(k(),R("header",uC,[m("div",{class:et(["content-leading",{"is-accent":e.accent}])},[Lo(t.$slots,"leading",{},void 0)],2),m("h1",{class:et(["content-title",{"is-accent":e.accent}]),title:e.title},$(e.title),11,cC),m("div",dC,[Lo(t.$slots,"actions",{},void 0)])]))}}),hC=It(fC,[["__scopeId","data-v-f96f7210"]]),nh=.0025,ju=3,rh=2,pC=256;function mC(e){var ke;const t=A("idle"),n=A(typeof navigator<"u"&&!!((ke=navigator.mediaDevices)!=null&&ke.getUserMedia)),r=A(0),a=A(null);let o=null,s=null,l=[],c=null,h=null,f=null,g=null,_=[],E=!1,O=!1,H=null;function ne(){H&&(H.abort(),H=null),t.value==="transcribing"&&(t.value="idle")}function j(){const oe=a.value;if(!oe||typeof window>"u")return;const Se=oe.getContext("2d");if(!Se)return;const Ue=Math.max(1,Math.floor(oe.clientWidth)),Be=Math.max(1,Math.floor(oe.clientHeight||36)),Ke=window.devicePixelRatio||1,Ne=Math.max(1,Math.floor(Ue*Ke)),Ce=Math.max(1,Math.floor(Be*Ke));(oe.width!==Ne||oe.height!==Ce)&&(oe.width=Ne,oe.height=Ce),Se.setTransform(Ke,0,0,Ke,0,0),Se.clearRect(0,0,Ue,Be);const Qe=Math.max(12,Math.floor(Ue/(ju+rh))),tt=_.slice(-Qe),Fe=Math.max(0,Qe-tt.length),He=Be/2,ft=getComputedStyle(oe).color||"#000000";for(let Je=0;Je<Qe;Je+=1){const We=tt[Je-Fe]??0,Z=Math.max(.08,Math.min(1,We*18))*He,xe=Je*(ju+rh);Se.globalAlpha=We<=nh?.35:1,Se.fillStyle=ft,Se.fillRect(xe,He-Z,ju,Z*2)}Se.globalAlpha=1}function D(){_=[],r.value=0,j()}function K(){f&&(f.disconnect(),f.onaudioprocess=null,f=null),h&&(h.disconnect(),h=null),c&&(c.close(),c=null),g=null}function X(oe){if(typeof window>"u")return;const Se=window.webkitAudioContext,Ue=window.AudioContext??Se;Ue&&(K(),D(),c=new Ue,h=c.createMediaStreamSource(oe),f=c.createScriptProcessor(2048,1,1),g=performance.now(),f.onaudioprocess=Be=>{const Ke=Be.inputBuffer.getChannelData(0);let Ne=0;for(let Ce=0;Ce<Ke.length;Ce+=1){const Qe=Math.abs(Ke[Ce]??0);Ne+=Qe<nh?0:Qe}_.push(Ne/Ke.length),_.length>pC&&_.shift(),g!==null&&(r.value=Math.max(0,performance.now()-g)),j()},h.connect(f),f.connect(c.destination),j())}async function ye(){var oe;if(t.value==="transcribing"&&ne(),!(t.value!=="idle"||!n.value||E)){E=!0,O=!1;try{s=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1}}),l=[],o=new MediaRecorder(s),o.ondataavailable=Se=>{Se.data.size>0&&l.push(Se.data)},o.onstop=()=>{var Be;const Se=l,Ue=(o==null?void 0:o.mimeType)||((Be=Se[0])==null?void 0:Be.type)||"audio/webm";G(),Le(Se,Ue)},X(s),o.start(250),t.value="recording",O&&de()}catch(Se){G(),t.value="idle",(oe=e.onError)==null||oe.call(e,Se)}finally{E=!1}}}function de(){if(E&&t.value==="idle"){O=!0;return}if(!(t.value!=="recording"||!o)&&o.state!=="inactive"){t.value="transcribing";try{o.requestData()}catch{}o.stop()}}function be(){O=!1,ne(),G(),t.value="idle"}async function Le(oe,Se){var Ke,Ne,Ce,Qe,tt;if(oe.length===0){(Ke=e.onEmpty)==null||Ke.call(e),t.value="idle";return}const Ue=new Blob(oe,{type:Se});t.value="transcribing";let Be=null;try{const Fe=Se.split(/[/;]/)[1]??"webm",He=new FormData;He.append("file",Ue,`codex.${Fe}`);const ft=((Ne=e.getLanguage)==null?void 0:Ne.call(e).trim())??"";ft&&ft.toLowerCase()!=="auto"&&He.append("language",ft),Be=new AbortController,H=Be;const Je=await fetch("/codex-api/transcribe",{method:"POST",body:He,signal:Be.signal}),We=await Je.text();let Tt=null;try{Tt=We.trim()?JSON.parse(We):null}catch{Tt=null}if(!Je.ok){const xe=(Ce=Tt==null?void 0:Tt.error)==null?void 0:Ce.trim(),Ae=We.trim();throw new Error(xe||Ae||`Transcription failed: ${Je.status}`)}const Z=((Tt==null?void 0:Tt.text)??"").trim();Z.length>0?e.onTranscript(Z):(Qe=e.onEmpty)==null||Qe.call(e)}catch(Fe){if(Fe instanceof DOMException&&Fe.name==="AbortError")return;(tt=e.onError)==null||tt.call(e,Fe)}finally{Be&&H===Be&&(H=null),t.value==="transcribing"&&(t.value="idle")}}function G(){K(),D(),o&&(o.ondataavailable=null,o.onstop=null,o=null),s&&(s.getTracks().forEach(oe=>oe.stop()),s=null),l=[]}Ra(()=>{be()});function me(){if(t.value==="recording"){de();return}(t.value==="idle"||t.value==="transcribing")&&ye()}return{state:t,isSupported:n,recordingDurationMs:r,waveformCanvasRef:a,startRecording:ye,stopRecording:de,toggleRecording:me,cancel:be}}const vC={},gC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function yC(e,t){return k(),R("svg",gC,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m12 5l0 14m-6-8l6-6l6 6"},null,-1)])])}const wC=It(vC,[["render",yC]]),bC={},_C={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function TC(e,t){return k(),R("svg",_C,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 3L4 14h6l-1 7l9-11h-6z"},null,-1)])])}const hl=It(bC,[["render",TC]]),kC={},CC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function SC(e,t){return k(),R("svg",CC,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 2m0 3a3 3 0 0 1 3-3h0a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3h0a3 3 0 0 1-3-3zM5 10a7 7 0 0 0 14 0M8 21h8M12 17v4"},null,-1)])])}const xC=It(kC,[["render",SC]]),AC={},EC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function IC(e,t){return k(),R("svg",EC,[...t[0]||(t[0]=[m("path",{stroke:"none",fill:"none",d:"M0 0h24v24H0z"},null,-1),m("path",{fill:"currentColor",d:"M8 5a3 3 0 0 0 -3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3 -3v-8a3 3 0 0 0 -3 -3h-8z"},null,-1)])])}const oh=It(AC,[["render",IC]]),RC=["disabled"],PC={class:"search-dropdown-value"},MC={class:"search-dropdown-search-wrap"},$C={class:"search-dropdown-search-row"},NC=["placeholder","onKeydown"],LC=["aria-label","title"],OC={key:0,class:"search-dropdown-list",role:"listbox"},jC=["onPointerenter"],DC=["onClick"],FC={class:"search-dropdown-option-check"},UC=["title"],BC={class:"search-dropdown-option-copy"},qC={class:"search-dropdown-option-label-row"},HC={class:"search-dropdown-option-label"},WC={key:0,class:"search-dropdown-option-type"},zC={key:0,class:"search-dropdown-option-desc"},VC=["aria-label","title","onClick"],GC={key:1,class:"search-dropdown-empty"},KC=qn({__name:"ComposerSearchDropdown",props:{options:{},selectedValues:{},placeholder:{},searchPlaceholder:{},disabled:{type:Boolean},openDirection:{},createLabel:{},allowRemove:{type:Boolean},removeLabel:{},displayLabelOverride:{}},emits:["toggle","create","remove"],setup(e,{emit:t}){const n=e,r=t,a=A(null),o=A(null),s=A(null),l=A(!1),c=A(""),h=A(0),f=A({}),{t:g}=Pa(),_=te(()=>n.openDirection??"down"),E=te(()=>new Set(n.selectedValues)),O=te(()=>{var be;if((be=n.displayLabelOverride)!=null&&be.trim())return n.displayLabelOverride.trim();if(n.selectedValues.length===0)return n.placeholder||g("Select...");if(n.selectedValues.length===1){const Le=n.options.find(G=>G.value===n.selectedValues[0]);return(Le==null?void 0:Le.label)||n.placeholder||g("Select...")}return`${n.selectedValues.length} ${g("selected")}`}),H=te(()=>{const be=c.value.toLowerCase().trim();return be?n.options.filter(Le=>{var G;return Le.label.toLowerCase().includes(be)||(((G=Le.description)==null?void 0:G.toLowerCase().includes(be))??!1)}):n.options});function ne(){const be=o.value,Le=a.value;if(!be||!Le)return;const G=Le.getBoundingClientRect(),me=window.innerWidth,ke=window.innerHeight,oe=Math.min(384,me-16),Se=Math.max(8,Math.min(G.right-oe,me-oe-8));if(me<640){f.value={position:"fixed",left:"0.5rem",right:"0.5rem",width:"auto",top:_.value==="up"?"auto":`${G.bottom+8}px`,bottom:_.value==="up"?`${ke-G.top+8}px`:"auto",zIndex:"120"};return}f.value={position:"fixed",width:`${oe}px`,left:`${Se}px`,top:_.value==="up"?"auto":`${G.bottom+8}px`,bottom:_.value==="up"?`${ke-G.top+8}px`:"auto",zIndex:"120"}}function j(){n.disabled||(l.value=!l.value,l.value&&(c.value="",h.value=0,Jt(()=>{var be;Jt(()=>{ne()}),(be=s.value)==null||be.focus()})))}function D(be){r("toggle",be.value,!E.value.has(be.value)),l.value=!1}function K(be){H.value.length!==0&&(h.value=(h.value+be+H.value.length)%H.value.length)}function X(){const be=H.value[h.value];be&&D(be)}function ye(be){if(!l.value)return;const Le=a.value,G=o.value;if(!Le)return;const me=be.target;me instanceof Node&&(Le.contains(me)||G!=null&&G.contains(me)||(l.value=!1))}pt(c,()=>{h.value=0});function de(){l.value&&ne()}return ca(()=>{window.addEventListener("pointerdown",ye),window.addEventListener("resize",de),window.addEventListener("scroll",de,!0)}),Ra(()=>{window.removeEventListener("pointerdown",ye),window.removeEventListener("resize",de),window.removeEventListener("scroll",de,!0)}),(be,Le)=>(k(),R("div",{ref_key:"rootRef",ref:a,class:"search-dropdown"},[m("button",{class:"search-dropdown-trigger",type:"button",disabled:e.disabled,onClick:j},[m("span",PC,$(O.value),1),Oe(Qa,{class:"search-dropdown-chevron"})],8,RC),(k(),Ze(Ka,{to:"body"},[l.value?(k(),R("div",{key:0,ref_key:"menuRef",ref:o,class:et(["search-dropdown-menu-wrap",{"search-dropdown-menu-wrap-up":_.value==="up","search-dropdown-menu-wrap-down":_.value==="down"}]),style:oa(f.value)},[m("div",MC,[m("div",$C,[en(m("input",{ref_key:"searchRef",ref:s,"onUpdate:modelValue":Le[0]||(Le[0]=G=>c.value=G),class:"search-dropdown-search",type:"text",placeholder:e.searchPlaceholder,onKeydown:[Le[1]||(Le[1]=mn(Xe(G=>l.value=!1,["prevent"]),["escape"])),mn(Xe(X,["prevent"]),["enter"]),Le[2]||(Le[2]=mn(Xe(G=>K(1),["prevent"]),["arrow-down"])),Le[3]||(Le[3]=mn(Xe(G=>K(-1),["prevent"]),["arrow-up"]))]},null,40,NC),[[un,c.value]]),e.createLabel?(k(),R("button",{key:0,class:"search-dropdown-create-icon",type:"button","aria-label":e.createLabel,title:e.createLabel,onClick:Le[4]||(Le[4]=G=>r("create"))}," + ",8,LC)):J("",!0)]),e.createLabel?(k(),R("button",{key:0,class:"search-dropdown-create",type:"button",onClick:Le[5]||(Le[5]=G=>r("create"))},$(e.createLabel),1)):J("",!0)]),H.value.length>0?(k(),R("ul",OC,[(k(!0),R(Ye,null,Kt(H.value,(G,me)=>(k(),R("li",{key:G.value},[m("div",{class:et(["search-dropdown-option",{"is-selected":E.value.has(G.value),"is-highlighted":me===h.value}]),onPointerenter:ke=>h.value=me},[m("button",{class:"search-dropdown-option-main",type:"button",onClick:ke=>D(G)},[m("span",FC,$(E.value.has(G.value)?"✓":""),1),G.badge?(k(),R("span",{key:0,class:et(["search-dropdown-option-badge",G.badgeTone?`is-${G.badgeTone}`:""]),title:G.badgeLabel||G.badge,"aria-hidden":"true"},$(G.badge),11,UC)):J("",!0),m("span",BC,[m("span",qC,[m("span",HC,$(G.label),1),G.badgeLabel?(k(),R("span",WC,$(G.badgeLabel),1)):J("",!0)]),G.description?(k(),R("span",zC,$(G.description),1)):J("",!0)])],8,DC),e.allowRemove&&G.removable?(k(),R("button",{key:0,class:"search-dropdown-option-remove",type:"button","aria-label":`${e.removeLabel} ${G.label}`,title:`${e.removeLabel} ${G.label}`,onClick:Xe(ke=>r("remove",G.value),["stop"])}," × ",8,VC)):J("",!0)],42,jC)]))),128))])):(k(),R("div",GC,$(S(g)("No results")),1))],6)):J("",!0)]))],512))}}),YC=It(KC,[["__scopeId","data-v-65ed7fdf"]]),QC={key:0,class:"thread-composer-dictation-error"},JC={key:0,class:"thread-composer-attachments"},XC=["src","alt"],ZC=["aria-label","disabled","onClick"],eS={key:1,class:"thread-composer-folder-chips"},tS=["title"],nS={class:"thread-composer-folder-chip-meta"},rS=["aria-label","disabled","onClick"],oS={key:2,class:"thread-composer-file-chips"},aS=["title"],sS=["aria-label","disabled","onClick"],iS={key:3,class:"thread-composer-skill-chips"},lS=["title","aria-label","onClick"],uS=["aria-label","onClick"],cS={key:0,class:"thread-composer-drop-overlay","aria-hidden":"true"},dS={key:1,class:"thread-composer-file-mentions"},fS=["onMousedown"],hS={key:1,class:"thread-composer-file-mention-icon-markdown"},pS={class:"thread-composer-file-mention-text"},mS={class:"thread-composer-file-mention-name"},vS={key:0,class:"thread-composer-file-mention-dir"},gS={key:1,class:"thread-composer-file-mention-empty"},yS=["placeholder","disabled"],wS=["aria-label","disabled"],bS={key:0,class:"thread-composer-attach-menu"},_S=["disabled"],TS=["disabled"],kS=["disabled"],CS={class:"thread-composer-attach-mode"},SS={class:"thread-composer-attach-mode-label"},xS={class:"thread-composer-attach-mode-buttons"},AS=["disabled"],ES=["disabled"],IS=["aria-checked","aria-label","disabled"],RS={class:"thread-composer-attach-setting-copy"},PS={class:"thread-composer-attach-setting-label"},MS={class:"thread-composer-attach-setting-description"},$S=["aria-checked","aria-label","disabled"],NS={class:"thread-composer-attach-setting-copy"},LS={class:"thread-composer-attach-setting-label"},OS={class:"thread-composer-attach-setting-description"},jS={key:0,class:"thread-composer-dictation-waveform-wrap","aria-hidden":"true"},DS={key:1,class:"thread-composer-dictation-timer"},FS=["aria-label","title","disabled"],US=["aria-label","title","disabled"],BS={key:0,class:"thread-composer-stop-spinner","aria-hidden":"true"},qS=["aria-label","title","disabled"],HS=["disabled"],WS=["disabled"],zS=["disabled"],VS=2e3,Du="prompt:",GS="codex-web-local.thread-draft.v1.",KS=qn({__name:"ThreadComposer",props:{activeThreadId:{},cwd:{},collaborationModes:{},selectedCollaborationMode:{},models:{},selectedModel:{},selectedReasoningEffort:{},selectedSpeedMode:{},skills:{},threadTokenUsage:{},codexQuota:{},isTurnInProgress:{type:Boolean},isStopPending:{type:Boolean},isInterruptingTurn:{type:Boolean},isUpdatingSpeedMode:{type:Boolean},disabled:{type:Boolean},hasQueueAbove:{type:Boolean},sendWithEnter:{type:Boolean},inProgressSubmitMode:{},dictationClickToToggle:{type:Boolean},dictationAutoSend:{type:Boolean},dictationLanguage:{}},emits:["submit","interrupt","update:selected-collaboration-mode","update:selected-model","update:selected-reasoning-effort","update:selected-speed-mode"],setup(e,{expose:t,emit:n}){const r=e,a=n,{t:o}=Pa(),s=A(""),l=A([]),c=A([]),h=A([]),f=A([]),g=A([]),_=A(""),E=A(0),O=A(null),H=A(!1),{state:ne,isSupported:j,recordingDurationMs:D,waveformCanvasRef:K,startRecording:X,stopRecording:ye,toggleRecording:de,cancel:be}=mC({getLanguage:()=>r.dictationLanguage??"auto",onTranscript:I=>{if(s.value=s.value?`${s.value}
48
- ${I}`:I,_.value="",r.dictationAutoSend!==!1){const B=r.isTurnInProgress?Ie.value:"steer";U(B);return}Jt(()=>{var B;return(B=oe.value)==null?void 0:B.focus()})},onEmpty:()=>{_.value=r.dictationClickToToggle?"No speech detected. Click again after speaking.":"No speech detected. Hold the mic and speak."},onError:I=>{if(I instanceof DOMException&&I.name==="NotAllowedError"){_.value="Microphone access was denied.";return}_.value=I instanceof Error?I.message:"Dictation failed."}}),Le=A(null),G=A(null),me=A(null),ke=A(null),oe=A(null),{isMobile:Se}=Hc(),Ue=A(!1),Be=A(null),Ke=A(""),Ne=A([]),Ce=A(!1),Qe=A(0),tt=A(0);let Fe=0,He=null,ft=!1,Je=0,We=0;const Tt=typeof navigator<"u"&&/Android/i.test(navigator.userAgent);let Z="";const xe=[{value:"none",label:"None"},{value:"minimal",label:"Minimal"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"xhigh",label:"Extra high"}];function Ae(I){return I.trim().replace(/^gpt/i,"GPT")}const De=te(()=>r.models.map(I=>({value:I,label:Ae(I)}))),Ge=te(()=>r.selectedCollaborationMode==="plan"),x=te(()=>r.selectedCollaborationMode==="plan"&&r.selectedModel.trim().length===0),P=te(()=>c.value.map(I=>I.path)),z=te(()=>[...(r.skills??[]).map(I=>{const B=Pn(I);return{value:I.path,label:I.name,description:I.description,badge:B.badge,badgeLabel:B.badgeLabel,badgeTone:B.badgeTone,removable:!1}}),...h.value.map(I=>({value:Yt(I.path),label:I.name,description:I.description,badge:"T",badgeLabel:"Prompt",badgeTone:"prompt",removable:!0}))]),ae=te(()=>r.disabled||r.isUpdatingSpeedMode||!r.activeThreadId||x.value||E.value>0?!1:s.value.trim().length>0||l.value.length>0||f.value.length>0),Q=te(()=>s.value.trim().length>0||l.value.length>0||c.value.length>0||f.value.length>0||g.value.length>0),le=te(()=>{const I=new Set;for(const B of g.value)for(const re of B.filePaths)I.add(re);return f.value.filter(B=>!I.has(B.fsPath))}),fe=te(()=>r.disabled||!r.activeThreadId),ge=te(()=>r.disabled||!r.activeThreadId),we=te(()=>/^gpt-5\.(?:4|5)(?:$|-)/.test(r.selectedModel.trim())),he=te(()=>r.selectedSpeedMode==="fast"&&we.value),je=te(()=>fe.value||r.isUpdatingSpeedMode===!0),pe=te(()=>r.isUpdatingSpeedMode?o("Saving speed setting..."):r.selectedSpeedMode==="fast"?o("About 1.5x faster, with credits used at 2x"):o("Default speed with normal credit usage")),Pe=te(()=>r.inProgressSubmitMode==="steer"?"steer":"queue"),Ie=A(Pe.value),at=te(()=>ne.value==="recording"),dt=te(()=>ne.value==="recording"?o("Stop dictation"):r.dictationClickToToggle?o("Click to dictate"):o("Hold to dictate")),lt=te(()=>ne.value==="idle"?_.value.trim():""),gt=te(()=>{const I=Math.max(0,Math.floor(D.value/1e3)),B=Math.floor(I/60),re=I%60;return`${B}:${String(re).padStart(2,"0")}`}),kt=te(()=>r.activeThreadId?x.value?o("Loading models for plan mode..."):o("Type a message... (@ for files)"):o("Select a thread to send a message")),q=te(()=>s.value.trim().length>0||l.value.length>0||f.value.length>0);function U(I="steer"){var re;const B=s.value.trim();if(ae.value){if(a("submit",{text:B,imageUrls:l.value.map(Re=>Re.url),fileAttachments:[...f.value],skills:c.value.map(Re=>({name:Re.name,path:Re.path})),mode:I}),Bt(r.activeThreadId),Te(),g.value=[],Ue.value=!1,gn(),Tt||Se.value){(re=oe.value)==null||re.blur();return}Jt(()=>{var Re;return(Re=oe.value)==null?void 0:Re.focus()})}}function F(I){Ie.value=I}function se(I){tt.value+=1,s.value=I.text,l.value=I.imageUrls.map((B,re)=>({id:`queued-${Date.now()}-${re}-${Math.random().toString(36).slice(2,8)}`,name:`Image ${re+1}`,url:B})),c.value=I.skills.map(B=>(r.skills??[]).find(re=>re.path===B.path)??{name:B.name,displayName:void 0,description:"",path:B.path}),f.value=I.fileAttachments.map(B=>({...B})),g.value=[],_.value="",O.value=null,E.value=0,Ue.value=!1,gn(),We+=1}function Te(){se({text:"",imageUrls:[],fileAttachments:[],skills:[]})}function $e(I){return`${GS}${I}`}function ze(I){if(typeof window>"u")return null;const B=I.trim();if(!B)return null;try{const re=window.localStorage.getItem($e(B));if(!re)return null;const Re=JSON.parse(re);return typeof Re=="string"?{text:Re,imageUrls:[],fileAttachments:[],skills:[]}:{text:typeof Re.text=="string"?Re.text:"",imageUrls:Array.isArray(Re.imageUrls)?Re.imageUrls.filter(vt=>typeof vt=="string"):[],fileAttachments:Array.isArray(Re.fileAttachments)?Re.fileAttachments.filter(vt=>!!vt&&typeof vt.label=="string"&&typeof vt.path=="string"&&typeof vt.fsPath=="string"):[],skills:Array.isArray(Re.skills)?Re.skills.filter(vt=>!!vt&&typeof vt.name=="string"&&typeof vt.path=="string"):[]}}catch{return null}}function xt(I,B){if(typeof window>"u")return;const re=I.trim();if(re)try{if(B.text.trim().length>0||B.imageUrls.length>0||B.fileAttachments.length>0||B.skills.length>0){window.localStorage.setItem($e(re),JSON.stringify(B));return}window.localStorage.removeItem($e(re))}catch{}}function Bt(I){xt(I,{text:"",imageUrls:[],fileAttachments:[],skills:[]})}function Wt(){return{text:s.value,imageUrls:l.value.map(I=>I.url),fileAttachments:f.value.map(I=>({...I})),skills:c.value.map(I=>({name:I.name,path:I.path}))}}function Hn(){a("interrupt")}function hr(I){a("update:selected-model",I)}function Xr(){a("update:selected-collaboration-mode",Ge.value?"default":"plan")}function Ln(I){a("update:selected-reasoning-effort",I)}function Cr(){je.value||a("update:selected-speed-mode",r.selectedSpeedMode==="fast"?"standard":"fast")}function fa(){r.dictationClickToToggle&&(_.value&&(_.value=""),de())}function Do(I){if(r.dictationClickToToggle||(I.preventDefault(),ft))return;ft=!0;const B=I.currentTarget;if(B)try{B.setPointerCapture(I.pointerId)}catch{}_.value&&(_.value=""),window.addEventListener("pointerup",vn),window.addEventListener("pointercancel",vn),window.addEventListener("blur",vn),X()}function vn(){r.dictationClickToToggle||ft&&(ft=!1,window.removeEventListener("pointerup",vn),window.removeEventListener("pointercancel",vn),window.removeEventListener("blur",vn),ye())}function Xt(){fe.value||(Ue.value=!Ue.value)}function wo(){var I;(I=G.value)==null||I.click()}function Fo(){var I;(I=me.value)==null||I.click()}function ot(){var I;(I=ke.value)==null||I.click()}function cn(I){l.value=l.value.filter(B=>B.id!==I)}function zt(I){c.value=c.value.filter(B=>B.path!==I)}function Or(I){const B=I.trim();return B?B.endsWith("/SKILL.md")?B:`${B.replace(/\/+$/,"")}/SKILL.md`:""}function nn(I){const B=Or(I.path);!B||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(B)}`,"_blank","noopener,noreferrer")}function Wn(I){f.value=f.value.filter(B=>B.fsPath!==I)}function Zr(I){const B=g.value.find(Re=>Re.id===I);if(!B)return;const re=new Set(B.filePaths);f.value=f.value.filter(Re=>!re.has(Re.fsPath)),g.value=g.value.filter(Re=>Re.id!==I)}function dn(I){return I.total<=0?0:Math.round(I.processed/I.total*100)}function Dt(I,B){const re=I.replace(/\\/g,"/");if(f.value.some(Qt=>Qt.fsPath===re))return;const Re=re.split("/").filter(Boolean),vt=(B==null?void 0:B.trim())||Re[Re.length-1]||re;f.value=[...f.value,{label:vt,path:re,fsPath:re}]}function rn(I){return I.type.startsWith("image/")?!0:/\.(png|jpe?g|gif|webp)$/i.test(I.name)}function wn(I){return I?Array.from(I):[]}function on(I){return I!==We?!1:(E.value+=1,!0)}function In(I){I===We&&(E.value=Math.max(0,E.value-1))}function eo(I){if(I<=0)return;const B=O.value,re=B?B.succeeded+B.failed:0;if(!B||re>=B.total){O.value={total:I,succeeded:0,failed:0};return}O.value={...B,total:B.total+I}}function On(I){const B=O.value;B&&(O.value={...B,succeeded:B.succeeded+(I==="success"?1:0),failed:B.failed+(I==="failure"?1:0)})}function to(){return`${Date.now()}-${Math.random().toString(36).slice(2)}`}function bo(I){const B=new Date,re=[B.getFullYear(),String(B.getMonth()+1).padStart(2,"0"),String(B.getDate()).padStart(2,"0"),String(B.getHours()).padStart(2,"0"),String(B.getMinutes()).padStart(2,"0"),String(B.getSeconds()).padStart(2,"0")].join("-"),Re=I.type.startsWith("image/")&&I.type.slice(6).replace(/[^a-z0-9]+/gi,"")||"png";return`pasted-image-${re}.${Re}`}function Zn(){const I=new Date;return`pasted-text-${[I.getFullYear(),String(I.getMonth()+1).padStart(2,"0"),String(I.getDate()).padStart(2,"0"),String(I.getHours()).padStart(2,"0"),String(I.getMinutes()).padStart(2,"0"),String(I.getSeconds()).padStart(2,"0")].join("-")}.txt`}function jr(I){return I.name.trim()?I:new File([I],bo(I),{type:I.type||"image/png",lastModified:Date.now()})}async function er(I,B){if(on(B))try{const re=jr(I),Re=await Ou(re);if(B!==We)return;if(!Re){On("failure");return}l.value=[...l.value,{id:to(),name:re.name,url:`/codex-local-image?path=${encodeURIComponent(Re)}`}],On("success")}catch{B===We&&On("failure")}finally{In(B)}}async function Sr(I,B){if(on(B))try{const re=await Ou(I);if(B!==We)return;if(!re){On("failure");return}Dt(re),On("success")}catch{B===We&&On("failure")}finally{In(B)}}function bn(I){const B=wn(I);if(B.length===0)return;eo(B.length),Ue.value=!1,gn();const re=We;for(const Re of B)rn(Re)?er(Re,re):Sr(Re,re)}function Dr(){Je=0,H.value=!1}function jn(I){return I?Array.from(I.types??[]).includes("Files"):!1}async function tr(I){if(!I||I.length===0)return;const B=tt.value,re=Array.from(I),vt=(re[0].webkitRelativePath||re[0].name).split("/").filter(Boolean)[0]||"Folder",Qt=`${Date.now()}-${Math.random().toString(36).slice(2)}`;g.value=[...g.value,{id:Qt,name:vt,total:re.length,processed:0,filePaths:[],isUploading:!0}];const pn=Me=>{B===tt.value&&(g.value=g.value.map(_e=>_e.id===Qt?Me(_e):_e))};for(const Me of re)try{const _e=await Ou(Me);if(B!==tt.value)return;if(_e){const mt=Me.webkitRelativePath||Me.name;Dt(_e,mt),pn(_n=>({..._n,processed:_n.processed+1,filePaths:[..._n.filePaths,_e]}));continue}pn(mt=>({...mt,processed:mt.processed+1}))}catch{pn(_e=>({..._e,processed:_e.processed+1}))}pn(Me=>({...Me,isUploading:!1}))}function zn(I){I&&(I.value="")}function _o(I){const B=I.target;bn((B==null?void 0:B.files)??null),zn(B),Ue.value=!1}function Ft(I){const B=I.target;bn((B==null?void 0:B.files)??null),zn(B),Ue.value=!1}function pr(I){const B=I.target;tr((B==null?void 0:B.files)??null),zn(B),Ue.value=!1}function xr(I){fe.value||!jn(I.dataTransfer)||(I.preventDefault(),Je+=1,H.value=!0)}function Ar(I){fe.value||!jn(I.dataTransfer)||(I.preventDefault(),I.dataTransfer&&(I.dataTransfer.dropEffect="copy"),H.value=!0)}function fn(I){H.value&&(I.preventDefault(),Je=Math.max(0,Je-1),Je===0&&Dr())}function Ct(I){var B;fe.value||!jn(I.dataTransfer)||(I.preventDefault(),Dr(),bn(((B=I.dataTransfer)==null?void 0:B.files)??null))}function yt(){!H.value&&Je===0||Dr()}function nr(I){var Qt,pn;if(fe.value)return;const B=((Qt=I.clipboardData)==null?void 0:Qt.getData("text/plain"))??"";if(B.length>=VS){I.preventDefault();const Me=new File([B],Zn(),{type:"text/plain",lastModified:Date.now()});bn([Me]);return}const re=Array.from(((pn=I.clipboardData)==null?void 0:pn.items)??[]);if(re.length===0)return;const Re=B.length>0,vt=re.filter(Me=>Me.kind==="file"&&Me.type.startsWith("image/")).map(Me=>Me.getAsFile()).filter(Me=>Me instanceof File);vt.length!==0&&(Re||I.preventDefault(),bn(vt))}function Rn(){_.value&&(_.value=""),mr()}function Fr(I){if(Ce.value){if(I.key==="Escape"){I.preventDefault(),gn();return}if(I.key==="ArrowDown"){I.preventDefault(),Ne.value.length>0&&(Qe.value=(Qe.value+1)%Ne.value.length);return}if(I.key==="ArrowUp"){if(I.preventDefault(),Ne.value.length>0){const re=Ne.value.length;Qe.value=(Qe.value+re-1)%re}return}if(I.key==="Enter"||I.key==="Tab"){I.preventDefault();const re=Ne.value[Qe.value];re?wt(re):gn();return}}if(r.sendWithEnter!==!1?I.key==="Enter"&&!I.shiftKey:I.key==="Enter"&&(I.metaKey||I.ctrlKey)){I.preventDefault(),U(r.isTurnInProgress?Ie.value:"steer");return}}function gn(){Ce.value=!1,Be.value=null,Ke.value="",Ne.value=[],Qe.value=0}function mr(){const I=oe.value;if(!I){gn();return}const B=I.selectionStart??s.value.length,Re=s.value.slice(0,B).match(/(^|\s)(@[^\s@]*)$/);if(!Re){gn();return}const vt=Re[2]??"",Qt=vt.length,pn=B-Qt;Be.value=pn,Ke.value=vt.slice(1),Ce.value=!0,To()}async function To(){if(!Ce.value)return;const I=(r.cwd??"").trim();if(!I){Ne.value=[];return}He&&clearTimeout(He);const B=++Fe;He=setTimeout(async()=>{try{const re=await L_(I,Ke.value,20);if(!Ce.value||B!==Fe)return;Ne.value=re,Qe.value=0}catch{if(!Ce.value||B!==Fe)return;Ne.value=[]}},120)}function wt(I){const B=oe.value,re=Be.value;if(re!==null&&B){const Re=B.selectionStart??s.value.length;s.value=`${s.value.slice(0,re)}${s.value.slice(Re)}`.trimEnd()}Dt(I.path),gn(),Jt(()=>B==null?void 0:B.focus())}function Et(I){be(),se(I),Jt(()=>{var B;return(B=oe.value)==null?void 0:B.focus()})}function Ot(I){const B=I.trim();B&&(be(),s.value.trim().length>0?s.value=`${s.value.trimEnd()}
49
- ${B}`:s.value=B,Jt(()=>{var re;return(re=oe.value)==null?void 0:re.focus()}))}async function hn(){h.value=await K_()}function Yt(I){return`${Du}${I}`}function Ur(I){return I.startsWith(Du)?I.slice(Du.length):null}async function vr(){var Re;const I=((Re=window.prompt(o("Prompt name")))==null?void 0:Re.trim())??"";if(!I)return;const B=window.prompt(o("Prompt content"))??"";if(!B.trim())return;const re=await Y_(I,B);re&&(await hn(),Ot(re.content))}async function yn(I){const B=Ur(I)??I,re=h.value.find(Qt=>Qt.path===B);!window.confirm(re?`${o("Remove prompt")} "${re.name}"?`:o("Remove prompt"))||!await Q_(B)||await hn()}function Er(I){const B=h.value.find(re=>re.path===I);B&&Ot(B.content)}function rr(I){const B=I.lastIndexOf("/");return B<0?I:I.slice(B+1)}function Dn(I){const B=I.lastIndexOf("/");return B<=0?"":I.slice(0,B)}function Vn(I){const B=rr(I),re=B.lastIndexOf(".");return re<=0?"":B.slice(re+1).toLowerCase()}function Vt(I){const B=Vn(I);return B==="ts"?"TS":B==="tsx"?"TSX":B==="js"?"JS":B==="jsx"?"JSX":B==="json"?"{}":""}function gr(I){const B=Vn(I);return B.startsWith("ts")?"ts":B.startsWith("js")?"js":B==="json"?"json":"default"}function Br(I){const B=Vn(I);return B==="md"||B==="mdx"}function Pn(I){return I.path.toLowerCase().includes("/plugins/cache/")?{badge:"P",badgeLabel:"Plugin",badgeTone:"plugin"}:I.scope==="repo"?{badge:"R",badgeLabel:"Repo",badgeTone:"repo"}:I.scope==="system"?{badge:"S",badgeLabel:"System",badgeTone:"system"}:{badge:"U",badgeLabel:"User",badgeTone:"user"}}function yr(I,B){const re=Ur(I);if(re){Er(re);return}if(B){const Re=(r.skills??[]).find(vt=>vt.path===I);Re&&!c.value.some(vt=>vt.path===I)&&(c.value=[...c.value,Re])}else c.value=c.value.filter(Re=>Re.path!==I)}function Mn(I){if(!Ue.value)return;const B=Le.value;if(!B)return;const re=I.target;!re||B.contains(re)||(Ue.value=!1)}return ca(()=>{document.addEventListener("click",Mn),window.addEventListener("drop",yt),window.addEventListener("dragend",yt),window.addEventListener("blur",yt),hn()}),t({hydrateDraft:Et,appendTextToDraft:Ot,hasUnsavedDraft:()=>Q.value}),Ra(()=>{document.removeEventListener("click",Mn),window.removeEventListener("drop",yt),window.removeEventListener("dragend",yt),window.removeEventListener("blur",yt),window.removeEventListener("pointerup",vn),window.removeEventListener("pointercancel",vn),window.removeEventListener("blur",vn),He&&clearTimeout(He)}),pt(()=>r.activeThreadId,I=>{be(),Z&&xt(Z,Wt()),Te();const B=ze(I);B&&(se(B),Rn()),Z=I.trim()},{immediate:!0}),pt([s,l,f,c],()=>{Z&&xt(Z,Wt())},{deep:!0}),pt(()=>r.cwd,()=>{Ce.value&&To()}),pt(Pe,I=>{Ie.value=I}),(I,B)=>(k(),R("form",{class:"thread-composer",onSubmit:B[4]||(B[4]=Xe(re=>U(e.isTurnInProgress?Ie.value:"steer"),["prevent"]))},[lt.value?(k(),R("p",QC,$(lt.value),1)):J("",!0),m("div",{class:et(["thread-composer-shell",{"thread-composer-shell--no-top-radius":e.hasQueueAbove,"thread-composer-shell--drag-active":H.value}])},[l.value.length>0?(k(),R("div",JC,[(k(!0),R(Ye,null,Kt(l.value,re=>(k(),R("div",{key:re.id,class:"thread-composer-attachment"},[m("img",{class:"thread-composer-attachment-image",src:re.url,alt:re.name||"Selected image"},null,8,XC),m("button",{class:"thread-composer-attachment-remove",type:"button","aria-label":`Remove ${re.name||"image"}`,disabled:fe.value,onClick:Re=>cn(re.id)}," x ",8,ZC)]))),128))])):J("",!0),g.value.length>0?(k(),R("div",eS,[(k(!0),R(Ye,null,Kt(g.value,re=>(k(),R("span",{key:re.id,class:"thread-composer-folder-chip"},[Oe(Vc,{class:"thread-composer-folder-chip-icon"}),m("span",{class:"thread-composer-folder-chip-name",title:re.name},$(re.name),9,tS),m("span",nS,[re.isUploading?(k(),R(Ye,{key:0},[es($(dn(re))+"% uploading ("+$(re.processed)+"/"+$(re.total)+") ",1)],64)):(k(),R(Ye,{key:1},[es($(re.filePaths.length)+" file"+$(re.filePaths.length===1?"":"s"),1)],64))]),m("button",{class:"thread-composer-folder-chip-remove",type:"button","aria-label":`Remove folder ${re.name}`,disabled:fe.value,onClick:Re=>Zr(re.id)},"×",8,rS)]))),128))])):J("",!0),le.value.length>0?(k(),R("div",oS,[(k(!0),R(Ye,null,Kt(le.value,re=>(k(),R("span",{key:re.fsPath,class:"thread-composer-file-chip"},[Oe(js,{class:"thread-composer-file-chip-icon"}),m("span",{class:"thread-composer-file-chip-name",title:re.fsPath},$(re.label),9,aS),m("button",{class:"thread-composer-file-chip-remove",type:"button","aria-label":`Remove ${re.label}`,disabled:fe.value,onClick:Re=>Wn(re.fsPath)},"×",8,sS)]))),128))])):J("",!0),c.value.length>0?(k(),R("div",iS,[(k(!0),R(Ye,null,Kt(c.value,re=>(k(),R("span",{key:re.path,class:"thread-composer-skill-chip"},[m("button",{class:"thread-composer-skill-chip-name",type:"button",title:Or(re.path),"aria-label":`Open ${re.displayName||re.name} SKILL.md`,onClick:Re=>nn(re)},$(re.displayName||re.name),9,lS),m("button",{class:"thread-composer-skill-chip-remove",type:"button","aria-label":`Remove skill ${re.displayName||re.name}`,onClick:Re=>zt(re.path)},"×",8,uS)]))),128))])):J("",!0),m("div",{class:et(["thread-composer-input-wrap",{"thread-composer-input-wrap--drag-active":H.value}]),onDragenter:xr,onDragover:Ar,onDragleave:fn,onDrop:Ct},[H.value?(k(),R("div",cS,[...B[5]||(B[5]=[m("span",{class:"thread-composer-drop-overlay-copy"},"Drop images or files",-1)])])):J("",!0),Ce.value?(k(),R("div",dS,[Ne.value.length>0?(k(!0),R(Ye,{key:0},Kt(Ne.value,(re,Re)=>(k(),R("button",{key:re.path,class:et(["thread-composer-file-mention-row",{"is-active":Re===Qe.value}]),type:"button",onMousedown:Xe(vt=>wt(re),["prevent"])},[Vt(re.path)?(k(),R("span",{key:0,class:et(["thread-composer-file-mention-icon-badge",`is-${gr(re.path)}`])},$(Vt(re.path)),3)):Br(re.path)?(k(),R("span",hS,"↓")):(k(),Ze(js,{key:2,class:"thread-composer-file-mention-icon-file"})),m("span",pS,[m("span",mS,$(rr(re.path)),1),Dn(re.path)?(k(),R("span",vS,$(Dn(re.path)),1)):J("",!0)])],42,fS))),128)):(k(),R("div",gS,$(S(o)("No matching files")),1))])):J("",!0),en(m("textarea",{ref_key:"inputRef",ref:oe,"onUpdate:modelValue":B[0]||(B[0]=re=>s.value=re),class:"thread-composer-input",placeholder:kt.value,disabled:fe.value,onInput:Rn,onKeydown:Fr,onPaste:nr},null,40,yS),[[un,s.value]])],34),m("div",{class:et(["thread-composer-controls",{"thread-composer-controls--recording":at.value}])},[m("div",{ref_key:"attachMenuRootRef",ref:Le,class:"thread-composer-attach"},[m("button",{class:"thread-composer-attach-trigger",type:"button","aria-label":S(o)("Add photos & files"),disabled:fe.value,onClick:Xt}," + ",8,wS),Ue.value?(k(),R("div",bS,[m("button",{class:"thread-composer-attach-item",type:"button",disabled:fe.value,onClick:wo},$(S(o)("Add photos & files")),9,_S),m("button",{class:"thread-composer-attach-item",type:"button",disabled:fe.value,onClick:ot},$(S(o)("Add folder")),9,TS),m("button",{class:"thread-composer-attach-item",type:"button",disabled:fe.value,onClick:Fo},$(S(o)("Take photo")),9,kS),B[6]||(B[6]=m("div",{class:"thread-composer-attach-separator"},null,-1)),m("div",CS,[m("span",SS,$(S(o)("In-progress send")),1),m("div",xS,[m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Ie.value==="steer"}]),type:"button",disabled:fe.value,onClick:B[1]||(B[1]=re=>F("steer"))},$(S(o)("Steer")),11,AS),m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Ie.value==="queue"}]),type:"button",disabled:fe.value,onClick:B[2]||(B[2]=re=>F("queue"))},$(S(o)("Queue")),11,ES)])]),B[7]||(B[7]=m("div",{class:"thread-composer-attach-separator"},null,-1)),we.value?(k(),R("button",{key:0,class:"thread-composer-attach-setting",type:"button",role:"switch","aria-checked":e.selectedSpeedMode==="fast","aria-label":`${S(o)("Fast mode")} ${e.selectedSpeedMode==="fast"?S(o)("enabled"):S(o)("disabled")}`,disabled:je.value,onClick:Cr},[m("span",RS,[m("span",PS,$(S(o)("Fast mode")),1),m("span",MS,$(pe.value),1)]),m("span",{class:et(["thread-composer-attach-switch",{"is-on":e.selectedSpeedMode==="fast","is-busy":e.isUpdatingSpeedMode,"is-disabled":je.value}])},null,2)],8,IS)):J("",!0),m("button",{class:"thread-composer-attach-setting",type:"button",role:"switch","aria-checked":Ge.value,"aria-label":Ge.value?S(o)("Disable plan mode"):S(o)("Enable plan mode"),disabled:ge.value,onClick:Xr},[m("span",NS,[m("span",LS,$(S(o)("Plan mode")),1),m("span",OS,$(S(o)("Agent proposes a plan before acting")),1)]),m("span",{class:et(["thread-composer-attach-switch",{"is-on":Ge.value}])},null,2)],8,$S)])):J("",!0)],512),at.value?J("",!0):(k(),R(Ye,{key:0},[Oe(Lr,{class:"thread-composer-control","model-value":e.selectedModel,options:De.value,"selected-prefix-icon":he.value?hl:null,placeholder:S(o)("Model"),"open-direction":"up",disabled:ge.value||e.models.length===0,"enable-search":"","search-placeholder":S(o)("Search models..."),"onUpdate:modelValue":hr},null,8,["model-value","options","selected-prefix-icon","placeholder","disabled","search-placeholder"]),Oe(YC,{class:"thread-composer-control",options:z.value,"selected-values":P.value,placeholder:S(o)("Skills"),"search-placeholder":S(o)("Search skills and prompts..."),"create-label":S(o)("Add new prompt"),"allow-remove":!0,"remove-label":S(o)("Remove prompt"),"open-direction":"up",disabled:ge.value,onToggle:yr,onCreate:vr,onRemove:yn},null,8,["options","selected-values","placeholder","search-placeholder","create-label","remove-label","disabled"]),Oe(Lr,{class:"thread-composer-control","model-value":e.selectedReasoningEffort,options:xe,placeholder:S(o)("Thinking"),"open-direction":"up",disabled:ge.value,"onUpdate:modelValue":Ln},null,8,["model-value","placeholder","disabled"])],64)),m("div",{class:et(["thread-composer-actions",{"thread-composer-actions--recording":at.value}])},[S(ne)==="recording"?(k(),R("div",jS,[m("canvas",{ref_key:"dictationWaveformCanvasRef",ref:K,class:"thread-composer-dictation-waveform"},null,512)])):J("",!0),S(ne)==="recording"?(k(),R("span",DS,$(gt.value),1)):J("",!0),S(j)?(k(),R("button",{key:2,class:et(["thread-composer-mic",{"thread-composer-mic--active":S(ne)==="recording"}]),type:"button","aria-label":dt.value,title:dt.value,disabled:fe.value,onClick:fa,onPointerdown:Do,onPointerup:vn,onPointercancel:vn},[S(ne)==="recording"?(k(),Ze(oh,{key:0,class:"thread-composer-mic-icon thread-composer-mic-icon--stop"})):(k(),Ze(xC,{key:1,class:"thread-composer-mic-icon"}))],42,FS)):J("",!0),e.isTurnInProgress&&!q.value?(k(),R("button",{key:3,class:"thread-composer-stop",type:"button","aria-label":e.isStopPending?S(o)("Saving thread before stop is available"):S(o)("Stop"),title:e.isStopPending?S(o)("Saving thread before stop is available"):S(o)("Stop"),disabled:e.disabled||!e.activeThreadId||e.isInterruptingTurn||e.isStopPending,onClick:Hn},[e.isStopPending?(k(),R("span",BS)):(k(),Ze(oh,{key:1,class:"thread-composer-stop-icon"}))],8,US)):(k(),R("button",{key:4,class:et(["thread-composer-submit",{"thread-composer-submit--queue":e.isTurnInProgress&&Ie.value==="queue"}]),type:"button","aria-label":e.isTurnInProgress&&Ie.value==="queue"?S(o)("Queue message"):S(o)("Send message"),title:e.isTurnInProgress?`${S(o)("Send")} ${Ie.value==="queue"?S(o)("Queue"):S(o)("Steer")}`:S(o)("Send"),disabled:!ae.value,onClick:B[3]||(B[3]=re=>U(e.isTurnInProgress?Ie.value:"steer"))},[Oe(wC,{class:"thread-composer-submit-icon"})],10,qS))],2)],2)],2),m("input",{ref_key:"photoLibraryInputRef",ref:G,class:"thread-composer-hidden-input",type:"file",multiple:"",disabled:fe.value,onChange:_o},null,40,HS),m("input",{ref_key:"cameraCaptureInputRef",ref:me,class:"thread-composer-hidden-input",type:"file",accept:"image/*",capture:"environment",disabled:fe.value,onChange:Ft},null,40,WS),m("input",{ref_key:"folderPickerInputRef",ref:ke,class:"thread-composer-hidden-input",type:"file",multiple:"",webkitdirectory:"",directory:"",disabled:fe.value,onChange:pr},null,40,zS)],32))}}),ah=It(KS,[["__scopeId","data-v-9f6b9876"]]),YS={key:0,class:"thread-pending-request"},QS={class:"thread-pending-request-title"},JS=["title"],XS={class:"thread-pending-request-approval"},ZS=["aria-label"],ex=["aria-pressed","onClick"],tx={class:"thread-pending-request-option-index"},nx={class:"thread-pending-request-option-label"},rx={class:"thread-pending-request-footer thread-pending-request-footer--approval"},ox=["value","placeholder"],ax={class:"thread-pending-request-header"},sx={class:"thread-pending-request-heading"},ix={class:"thread-pending-request-eyebrow"},lx={class:"thread-pending-request-title"},ux={key:0,class:"thread-pending-request-counter"},cx={key:0,class:"thread-pending-request-preview"},dx={class:"thread-pending-request-preview-code"},fx={key:1,class:"thread-pending-request-user-input"},hx={key:0,class:"thread-pending-request-question-description"},px=["href"],mx={class:"thread-pending-request-question-title"},vx={key:0},gx={key:0,class:"thread-pending-request-question-text"},yx={key:1,class:"thread-pending-request-input-wrap"},wx={class:"thread-pending-request-select-label"},bx=["type","value","onInput"],_x={key:2,class:"thread-pending-request-select-wrap"},Tx={class:"thread-pending-request-select-label"},kx={key:3,class:"thread-pending-request-select-wrap"},Cx={class:"thread-pending-request-select-label"},Sx={key:4,class:"thread-pending-request-question-options"},xx=["checked","onChange"],Ax={class:"thread-pending-request-checkbox-label"},Ex={key:2,class:"thread-pending-request-validation-error"},Ix={class:"thread-pending-request-footer"},Rx={key:2,class:"thread-pending-request-user-input"},Px={class:"thread-pending-request-question-title"},Mx={key:0,class:"thread-pending-request-question-text"},$x={key:1,class:"thread-pending-request-question-options"},Nx={class:"thread-pending-request-select-wrap"},Lx={class:"thread-pending-request-select-label"},Ox={key:0,class:"thread-pending-request-question-description"},jx={key:2,class:"thread-pending-request-input-wrap"},Dx={class:"thread-pending-request-select-label"},Fx=["value","placeholder","onInput"],Ux={class:"thread-pending-request-footer"},Bx={key:3,class:"thread-pending-request-actions"},qx={key:4,class:"thread-pending-request-actions"},Hx=qn({__name:"ThreadPendingRequestPanel",props:{request:{},requestCount:{},hasQueueAbove:{type:Boolean}},emits:["respondServerRequest"],setup(e,{emit:t}){const n=e,r=t,a=A("accept"),o=A(""),s=A({}),l=A({}),c=A({}),h=A(""),{t:f}=Pa();function g(q){return q!==null&&typeof q=="object"&&!Array.isArray(q)?q:null}function _(q){return typeof q=="string"?q.trim():""}function E(q){return typeof q=="string"?q:null}function O(q){return/^[A-Za-z0-9_./:@%+=,-]+$/.test(q)?q:JSON.stringify(q)}function H(q){const F=(Array.isArray(q.commandActions)?q.commandActions:[]).map(se=>g(se)).map(se=>_(se==null?void 0:se.command)).find(se=>se.length>0);if(F)return F.replace(/\s+/g," ").trim();if(Array.isArray(q.command)){const se=q.command.filter(Te=>typeof Te=="string").map(Te=>Te.trim()).filter(Te=>Te.length>0);if(se.length>0)return se.map(Te=>O(Te)).join(" ")}return Le(_(q.command))}function ne(q){return q.method==="item/commandExecution/requestApproval"||q.method==="execCommandApproval"}function j(q){return q.method==="item/fileChange/requestApproval"||q.method==="applyPatchApproval"}function D(q){return q.method==="item/permissions/requestApproval"}function K(q){return ne(q)||j(q)||D(q)}function X(q){return q.method==="mcpServer/elicitation/request"}function ye(q){const U=g(q.params);return _(U==null?void 0:U.reason)||_(U==null?void 0:U.prompt)||_(U==null?void 0:U.message)}function de(q){return K(q)?"Awaiting approval":X(q)?"MCP server input required":q.method==="item/tool/requestUserInput"?"Awaiting response":q.method==="item/tool/call"?"Tool call waiting for response":q.method}function be(q){const U=ye(q);return U||(ne(q)?"Do you want to run this command?":j(q)?"Do you want to make these changes?":D(q)?"Do you want to grant these permissions?":X(q)?"An MCP server needs your input before Codex can continue.":q.method==="item/tool/requestUserInput"?"Codex needs your answer before it can continue.":"Codex is waiting for a response before it can continue.")}function Le(q){var $e;const U=q.trim();if(!U)return"";const F=U.match(/-Command\s+(.+)$/i),se=(($e=F==null?void 0:F[1])==null?void 0:$e.trim())??U;return(se.startsWith('"')&&se.endsWith('"')?se.slice(1,-1):se).replace(/\\"/g,'"').replace(/`"/g,'"').replace(/""/g,'"').replace(/\s+/g," ").trim()}function G(q){const U=g(q.params);if(!U)return"";if(ne(q))return H(U);if(j(q)){const F=_(U.grantRoot)||_(U.grant_root);if(F)return F.replace(/\s+/g," ").trim();const se=g(U.fileChanges)??g(U.changes);if(!se)return"";const Te=Object.keys(se).map($e=>$e.trim()).filter($e=>$e.length>0);return Te.length===0?"":Te.slice(0,3).join(", ")}return D(q)?me(U.permissions):X(q)?_(U.serverName)||_(U.url):""}function me(q){const U=g(q);if(!U)return"";const F=[],se=g(U.fileSystem),Te=g(U.network),$e=Array.isArray(se==null?void 0:se.read)?se.read.filter(xt=>typeof xt=="string"):[],ze=Array.isArray(se==null?void 0:se.write)?se.write.filter(xt=>typeof xt=="string"):[];return $e.length>0&&F.push(`Read: ${$e.join(", ")}`),ze.length>0&&F.push(`Write: ${ze.join(", ")}`),(Te==null?void 0:Te.enabled)===!0&&F.push("Network access"),F.join(" • ")}function ke(q){return!q||!K(q)?[]:[{id:"accept",label:"Yes"},{id:"acceptForSession",label:"Yes for Session"}]}const oe=te(()=>ke(n.request));pt(()=>{var q;return((q=n.request)==null?void 0:q.id)??0},()=>{var q;o.value="",s.value={},l.value={},c.value={},h.value="",a.value=((q=oe.value[0])==null?void 0:q.id)??"accept"},{immediate:!0}),pt(oe,q=>{var U;a.value!=="decline"&&(q.some(F=>F.id===a.value)||(a.value=((U=q[0])==null?void 0:U.id)??"accept"))},{immediate:!0});function Se(q,U){return`${String(q)}:${U}`}function Ue(q){const U=g(q.params),F=Array.isArray(U==null?void 0:U.questions)?U.questions:[],se=[];for(const Te of F){const $e=g(Te);if(!$e)continue;const ze=_($e.id);if(!ze)continue;const xt=Array.isArray($e.options)?$e.options.map(Bt=>g(Bt)).map(Bt=>({label:_(Bt==null?void 0:Bt.label),description:_(Bt==null?void 0:Bt.description)})).filter(Bt=>Bt.label.length>0):[];se.push({id:ze,header:_($e.header),question:_($e.question),isOther:$e.isOther===!0,options:xt})}return se}function Be(q,U,F){const se=Se(q,U),Te=s.value[se];return typeof Te=="string"&&Te.length>0?Te:F}function Ke(q){return q.map(U=>({value:U.label,label:U.label}))}function Ne(q,U){return l.value[Se(q,U)]??""}function Ce(q,U,F){const se=Se(q,U);s.value={...s.value,[se]:F}}function Qe(q,U,F){const se=F.target;if(!(se instanceof HTMLInputElement))return;const Te=Se(q,U);l.value={...l.value,[Te]:se.value}}function tt(q,U,F){var Te,$e;const se=Be(q,U,((Te=F[0])==null?void 0:Te.label)||"");return(($e=F.find(ze=>ze.label===se))==null?void 0:$e.description)??""}function Fe(q,U){return`${String(q)}:${U}`}function He(q){var U;return _((U=g(q.params))==null?void 0:U.serverName)}function ft(q){var F;const U=_((F=g(q.params))==null?void 0:F.url);if(!U)return"";try{const se=new URL(U),Te=se.protocol.toLowerCase();return Te==="https:"||Te==="http:"?se.toString():""}catch{return""}}function Je(q){const U=g(q.params),F=g(U==null?void 0:U.requestedSchema),se=g(F==null?void 0:F.properties);if(!se)return[];const Te=new Set(Array.isArray(F==null?void 0:F.required)?F.required.filter($e=>typeof $e=="string"):[]);return Object.entries(se).map(([$e,ze])=>We($e,g(ze),Te.has($e))).filter($e=>$e!==null)}function We(q,U,F){if(!U)return null;const se=_(U.title)||q,Te=_(U.description),$e=_(U.type);if($e==="boolean")return{key:q,label:se,description:Te,required:F,kind:"boolean",inputType:"checkbox",options:[],defaultValue:typeof U.default=="boolean"?U.default:null,hasExplicitDefault:typeof U.default=="boolean"};if($e==="number"||$e==="integer")return{key:q,label:se,description:Te,required:F,kind:"number",inputType:"number",options:[],defaultValue:typeof U.default=="number"?U.default:null,hasExplicitDefault:typeof U.default=="number"};const ze=Tt(U);if($e==="array")return{key:q,label:se,description:Te,required:F,kind:"multiEnum",inputType:"checkbox",options:ze,defaultValue:Array.isArray(U.default)?U.default.filter(Bt=>typeof Bt=="string"):[],hasExplicitDefault:Array.isArray(U.default)};const xt=E(U.default);return ze.length>0?{key:q,label:se,description:Te,required:F,kind:"singleEnum",inputType:"select",options:ze,defaultValue:xt,hasExplicitDefault:xt!==null}:{key:q,label:se,description:Te,required:F,kind:"string",inputType:Z(U),options:[],defaultValue:xt,hasExplicitDefault:xt!==null}}function Tt(q){const F=(Array.isArray(q.oneOf)?q.oneOf:Array.isArray(q.anyOf)?q.anyOf:[]).map(ze=>g(ze)).map(ze=>({value:_(ze==null?void 0:ze.const),label:_(ze==null?void 0:ze.title)||_(ze==null?void 0:ze.const)})).filter(ze=>ze.value.length>0);if(F.length>0)return F;const se=g(q.items);if(se){const ze=Tt(se);if(ze.length>0)return ze}const Te=Array.isArray(q.enum)?q.enum.filter(ze=>typeof ze=="string"):[],$e=Array.isArray(q.enumNames)?q.enumNames.filter(ze=>typeof ze=="string"):[];return Te.map((ze,xt)=>({value:ze,label:$e[xt]||ze}))}function Z(q){const U=_(q.format);return U==="email"?"email":U==="uri"?"url":U==="date"?"date":U==="date-time"?"datetime-local":"text"}function xe(q,U){const F=c.value[Fe(q,U.key)];return F!==void 0?F:U.defaultValue}function Ae(q,U){const F=xe(q,U);return Array.isArray(F)?F.filter(se=>typeof se=="string"):[]}function De(q,U,F){const se=F.target;!(se instanceof HTMLInputElement)&&!(se instanceof HTMLSelectElement)||Ge(q,U,se.value)}function Ge(q,U,F){const se=(U.kind==="number",F);c.value={...c.value,[Fe(q,U.key)]:F.length>0?se:null},h.value=""}function x(q,U,F){let se=null;F==="true"?se=!0:F==="false"&&(se=!1),c.value={...c.value,[Fe(q,U.key)]:se},h.value=""}function P(q){return[...q.hasExplicitDefault?[]:[{value:"",label:f("Select true or false")}],{value:"true",label:f("True")},{value:"false",label:f("False")}]}function z(q){return[...q.hasExplicitDefault?[]:[{value:"",label:f("Select an option")}],...q.options]}function ae(q,U,F,se){const Te=se.target;if(!(Te instanceof HTMLInputElement))return;const $e=new Set(Ae(q,U));Te.checked?$e.add(F):$e.delete(F),c.value={...c.value,[Fe(q,U.key)]:Array.from($e)},h.value=""}function Q(q){return q===!0?"true":q===!1?"false":""}function le(q,U){const F=xe(q,U);return U.kind==="multiEnum"?Array.isArray(F)&&F.length>0:U.kind==="boolean"?typeof F=="boolean":U.kind==="number"&&typeof F=="number"?!0:typeof F=="string"&&F.trim().length>0}function fe(q){const U=Je(q).filter(F=>F.required&&!le(q.id,F)).map(F=>F.label);return U.length===0?"":U.length===1?`Answer the required field: ${U[0]}.`:`Answer the required fields: ${U.join(", ")}.`}function ge(q){const U={};for(const F of Je(q)){const se=xe(q.id,F);if(F.kind==="multiEnum"){const $e=Array.isArray(se)?se:[];($e.length>0||F.required)&&(U[F.key]=$e);continue}if(F.kind==="boolean"){typeof se=="boolean"&&(U[F.key]=se);continue}if(F.kind==="number"){const $e=typeof se=="number"?se:Number(String(se).trim());Number.isNaN($e)||(U[F.key]=$e);continue}const Te=String(se??"").trim();(Te.length>0||F.required)&&(U[F.key]=Te)}return U}function we(q){a.value=q}function he(){a.value="decline"}function je(q){const U=q.target;U instanceof HTMLInputElement&&(o.value=U.value,a.value="decline")}function pe(q,U){var F;if(D(q)){if(U==="decline"||U==="cancel"){r("respondServerRequest",{id:q.id,error:{code:-32e3,message:U==="cancel"?"Cancelled from CodexUI.":"Declined from CodexUI."}});return}const se=g((F=g(q.params))==null?void 0:F.permissions)??{};r("respondServerRequest",{id:q.id,result:{permissions:se,scope:U==="acceptForSession"?"session":"turn"}});return}r("respondServerRequest",{id:q.id,result:{decision:U}})}function Pe(q){const U=o.value.trim(),F=U.length>0?"decline":a.value;if(D(q)){pe(q,F);return}r("respondServerRequest",{id:q.id,result:{decision:F},followUpMessageText:U||void 0})}function Ie(q,U){const F=g(q.params),se={action:U};if(U==="accept"&&_(F==null?void 0:F.mode)==="form"){const Te=fe(q);if(Te){h.value=Te;return}se.content=ge(q)}r("respondServerRequest",{id:q.id,result:se})}function at(q){var se;const U=Ue(q),F={};for(const Te of U){const $e=Be(q.id,Te.id,((se=Te.options[0])==null?void 0:se.label)||""),ze=Ne(q.id,Te.id).trim(),xt=[$e,ze].map(Bt=>Bt.trim()).filter(Bt=>Bt.length>0);F[Te.id]={answers:xt}}r("respondServerRequest",{id:q.id,result:{answers:F}})}function dt(q){r("respondServerRequest",{id:q.id,result:{success:!1,contentItems:[{type:"inputText",text:"Tool call rejected from CodexUI."}]}})}function lt(q){r("respondServerRequest",{id:q.id,result:{success:!0,contentItems:[]}})}function gt(q){r("respondServerRequest",{id:q.id,result:{}})}function kt(q){r("respondServerRequest",{id:q.id,error:{code:-32e3,message:"Rejected from CodexUI."}})}return(q,U)=>e.request?(k(),R("section",YS,[m("article",{class:et(["thread-pending-request-shell",{"thread-pending-request-shell--no-top-radius":e.hasQueueAbove}])},[K(e.request)?(k(),R(Ye,{key:0},[m("p",QS,$(be(e.request)),1),G(e.request)?(k(),R("p",{key:0,class:"thread-pending-request-command-line",title:G(e.request)},$(G(e.request)),9,JS)):J("",!0),m("section",XS,[m("div",{class:"thread-pending-request-options",role:"radiogroup","aria-label":S(f)("Approval choices")},[(k(!0),R(Ye,null,Kt(oe.value,(F,se)=>(k(),R("button",{key:F.id,type:"button",class:et(["thread-pending-request-option",{"is-selected":a.value===F.id}]),"aria-pressed":a.value===F.id,onClick:Te=>we(F.id)},[m("span",tx,$(se+1)+".",1),m("span",nx,$(F.label),1)],10,ex))),128))],8,ZS),m("footer",rx,[m("label",{class:et(["thread-pending-request-inline-input",{"is-active":a.value==="decline"||o.value.length>0}])},[U[11]||(U[11]=m("span",{class:"thread-pending-request-option-index"},"3.",-1)),m("input",{class:"thread-pending-request-inline-control",type:"text",value:o.value,placeholder:S(f)("No, and tell Codex what to do differently"),onFocus:he,onInput:je,onKeydown:U[0]||(U[0]=mn(Xe(F=>Pe(e.request),["prevent"]),["enter"]))},null,40,ox)],2),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:U[1]||(U[1]=F=>pe(e.request,"cancel"))},$(S(f)("Skip")),1),m("button",{type:"button",class:"thread-pending-request-primary",onClick:U[2]||(U[2]=F=>Pe(e.request))},$(S(f)("Send")),1)])])],64)):(k(),R(Ye,{key:1},[m("header",ax,[m("div",sx,[m("p",ix,$(de(e.request)),1),m("p",lx,$(be(e.request)),1)]),(e.requestCount??0)>1?(k(),R("span",ux,$(e.requestCount??0)+" pending",1)):J("",!0)]),G(e.request)?(k(),R("div",cx,[m("code",dx,$(G(e.request)),1)])):J("",!0),e.request.method==="mcpServer/elicitation/request"?(k(),R("section",fx,[He(e.request)?(k(),R("p",hx,$(S(f)("Server"))+": "+$(He(e.request)),1)):J("",!0),ft(e.request)?(k(),R("a",{key:1,class:"thread-pending-request-link",href:ft(e.request),target:"_blank",rel:"noopener noreferrer"},$(S(f)("Open authorization link")),9,px)):J("",!0),(k(!0),R(Ye,null,Kt(Je(e.request),F=>(k(),R("div",{key:`${e.request.id}:${F.key}`,class:"thread-pending-request-question"},[m("p",mx,[es($(F.label),1),F.required?(k(),R("span",vx," *")):J("",!0)]),F.description?(k(),R("p",gx,$(F.description),1)):J("",!0),F.kind==="string"||F.kind==="number"?(k(),R("label",yx,[m("span",wx,$(S(f)("Value")),1),m("input",{class:"thread-pending-request-input",type:F.inputType,value:String(xe(e.request.id,F)??""),onInput:se=>De(e.request.id,F,se)},null,40,bx)])):F.kind==="boolean"?(k(),R("label",_x,[m("span",Tx,$(S(f)("Choice")),1),Oe(Lr,{class:"thread-pending-request-select","model-value":Q(xe(e.request.id,F)),options:P(F),placeholder:S(f)("Select true or false"),"onUpdate:modelValue":se=>x(e.request.id,F,se)},null,8,["model-value","options","placeholder","onUpdate:modelValue"])])):F.kind==="singleEnum"?(k(),R("label",kx,[m("span",Cx,$(S(f)("Choice")),1),Oe(Lr,{class:"thread-pending-request-select","model-value":String(xe(e.request.id,F)??""),options:z(F),placeholder:S(f)("Select an option"),"onUpdate:modelValue":se=>Ge(e.request.id,F,se)},null,8,["model-value","options","placeholder","onUpdate:modelValue"])])):(k(),R("div",Sx,[(k(!0),R(Ye,null,Kt(F.options,se=>(k(),R("label",{key:`${e.request.id}:${F.key}:${se.value}`,class:"thread-pending-request-checkbox-row"},[m("input",{class:"thread-pending-request-checkbox",type:"checkbox",checked:Ae(e.request.id,F).includes(se.value),onChange:Te=>ae(e.request.id,F,se.value,Te)},null,40,xx),m("span",Ax,$(se.label),1)]))),128))]))]))),128)),h.value?(k(),R("p",Ex,$(h.value),1)):J("",!0),m("footer",Ix,[m("button",{type:"button",class:"thread-pending-request-secondary",onClick:U[3]||(U[3]=F=>Ie(e.request,"cancel"))},$(S(f)("Cancel")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:U[4]||(U[4]=F=>Ie(e.request,"decline"))},$(S(f)("Decline")),1),m("button",{type:"button",class:"thread-pending-request-primary",onClick:U[5]||(U[5]=F=>Ie(e.request,"accept"))},$(S(f)("Continue")),1)])])):e.request.method==="item/tool/requestUserInput"?(k(),R("section",Rx,[(k(!0),R(Ye,null,Kt(Ue(e.request),F=>{var se;return k(),R("div",{key:`${e.request.id}:${F.id}`,class:"thread-pending-request-question"},[m("p",Px,$(F.header||F.question),1),F.question?(k(),R("p",Mx,$(F.question),1)):J("",!0),F.options.length>0?(k(),R("div",$x,[m("label",Nx,[m("span",Lx,$(S(f)("Choice")),1),Oe(Lr,{class:"thread-pending-request-select","model-value":Be(e.request.id,F.id,((se=F.options[0])==null?void 0:se.label)||""),options:Ke(F.options),"onUpdate:modelValue":Te=>Ce(e.request.id,F.id,Te)},null,8,["model-value","options","onUpdate:modelValue"])]),tt(e.request.id,F.id,F.options)?(k(),R("p",Ox,$(tt(e.request.id,F.id,F.options)),1)):J("",!0)])):J("",!0),F.isOther?(k(),R("label",jx,[m("span",Dx,$(S(f)("Other answer")),1),m("input",{class:"thread-pending-request-input",type:"text",value:Ne(e.request.id,F.id),placeholder:S(f)("Other answer"),onInput:Te=>Qe(e.request.id,F.id,Te)},null,40,Fx)])):J("",!0)])}),128)),m("footer",Ux,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:U[6]||(U[6]=F=>at(e.request))},$(S(f)("Send")),1)])])):e.request.method==="item/tool/call"?(k(),R("section",Bx,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:U[7]||(U[7]=F=>dt(e.request))},$(S(f)("Fail Tool Call")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:U[8]||(U[8]=F=>lt(e.request))},$(S(f)("Success (Empty)")),1)])):(k(),R("section",qx,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:U[9]||(U[9]=F=>gt(e.request))},$(S(f)("Return Empty Result")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:U[10]||(U[10]=F=>kt(e.request))},$(S(f)("Reject Request")),1)]))],64))],2)])):J("",!0)}}),Wx=It(Hx,[["__scopeId","data-v-7c342c87"]]),zx={key:0,class:"queued-messages"},Vx={class:"queued-messages-inner"},Gx=["onDragstart","onDragover","onDragleave","onDrop"],Kx=["aria-label","title"],Yx={class:"queued-row-text"},Qx={class:"queued-row-actions"},Jx=["title","onClick"],Xx=["title","onClick"],Zx=["aria-label","title","onClick"],eA=qn({__name:"QueuedMessages",props:{messages:{}},emits:["edit","steer","delete","reorder"],setup(e,{emit:t}){const n=t,{t:r}=Pa(),a=A(""),o=A("");function s(_,E){var O;a.value=E,o.value="",(O=_.dataTransfer)==null||O.setData("text/plain",E),_.dataTransfer&&(_.dataTransfer.effectAllowed="move")}function l(_){!a.value||a.value===_||(o.value=_)}function c(_){o.value===_&&(o.value="")}function h(_){const E=a.value;f(),!(!E||E===_)&&n("reorder",{draggedId:E,targetId:_})}function f(){a.value="",o.value=""}function g(_){var D,K,X;const E=_.text.trim();if(E)return E;const O=[],H=((D=_.imageUrls)==null?void 0:D.length)??0,ne=((K=_.fileAttachments)==null?void 0:K.length)??0,j=((X=_.skills)==null?void 0:X.length)??0;return H>0&&O.push(`${H} ${r(H===1?"image":"images")}`),ne>0&&O.push(`${ne} ${r(ne===1?"file":"files")}`),j>0&&O.push(`${j} ${r(j===1?"skill":"skills")}`),O.join(", ")||r("(empty queued message)")}return(_,E)=>e.messages.length>0?(k(),R("div",zx,[m("div",Vx,[(k(!0),R(Ye,null,Kt(e.messages,O=>(k(),R("div",{key:O.id,class:et(["queued-row",{"is-dragging":a.value===O.id,"is-drop-target":o.value===O.id&&a.value!==O.id}]),draggable:"true",onDragstart:H=>s(H,O.id),onDragover:Xe(H=>l(O.id),["prevent"]),onDragleave:H=>c(O.id),onDrop:Xe(H=>h(O.id),["prevent"]),onDragend:f},[m("button",{class:"queued-row-drag",type:"button","aria-label":S(r)("Drag to reorder queued message"),title:S(r)("Drag to reorder queued message")},[...E[0]||(E[0]=[m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[m("path",{fill:"currentColor",d:"M9 5.5A1.5 1.5 0 1 1 6 5.5a1.5 1.5 0 0 1 3 0m0 6.5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8A1.5 1.5 0 1 0 7.5 17a1.5 1.5 0 0 0 0 3m10-13A1.5 1.5 0 1 0 17.5 4a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"})],-1)])],8,Kx),E[2]||(E[2]=m("svg",{class:"queued-row-icon",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)),m("span",Yx,$(g(O)),1),m("div",Qx,[m("button",{class:"queued-row-edit",type:"button",title:S(r)("Edit queued message"),onClick:H=>_.$emit("edit",O.id)},$(S(r)("Edit")),9,Jx),m("button",{class:"queued-row-steer",type:"button",title:S(r)("Send now without interrupting work"),onClick:H=>_.$emit("steer",O.id)},$(S(r)("Steer")),9,Xx),m("button",{class:"queued-row-delete",type:"button","aria-label":S(r)("Delete queued message"),title:S(r)("Delete queued message"),onClick:H=>_.$emit("delete",O.id)},[...E[1]||(E[1]=[m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"})],-1)])],8,Zx)])],42,Gx))),128))])])):J("",!0)}}),tA=It(eA,[["__scopeId","data-v-b7a3edb8"]]),nA={key:0,class:"rate-limit-status","aria-live":"polite"},rA=["title"],oA={class:"rate-limit-card-header"},aA={class:"rate-limit-card-title"},sA={key:0,class:"rate-limit-card-plan"},iA={class:"rate-limit-card-metrics"},lA={key:0,class:"rate-limit-card-footer"},uA=qn({__name:"RateLimitStatus",props:{snapshots:{}},setup(e){function t(j){var D,K;return((D=j.limitId)==null?void 0:D.trim())||((K=j.limitName)==null?void 0:K.trim())||"__default__"}function n(j){var D,K;return((D=j.limitName)==null?void 0:D.trim())||((K=j.limitId)==null?void 0:K.trim())||"Rate limits"}function r(j){const D=j.trim();return D?D.replace(/[_-]+/g," ").replace(/\b\w/g,K=>K.toUpperCase()):""}function a(j){return!j||j<=0?"Window":j%1440===0?`${j/1440}d`:j%60===0?`${j/60}h`:j<60?`${j}m`:`${Math.round(j/60*10)/10}h`}function o(j){const D=Math.max(0,Math.min(100,100-j));return`${Math.round(D)}% left`}function s(j){return`${Math.round(j)}%`}function l(j,D){return{key:D,label:`${a(j.windowDurationMins)} ${o(j.usedPercent)}`}}function c(j){const D=[];return j.primary&&D.push(l(j.primary,"primary")),j.secondary&&D.push(l(j.secondary,"secondary")),D}function h(j){if(!j)return"";const D=new Date(j*1e3),K=D.getMonth()+1,X=String(D.getDate()).padStart(2,"0"),ye=String(D.getHours()).padStart(2,"0"),de=String(D.getMinutes()).padStart(2,"0");return`${K}.${X} ${ye}:${de}`}function f(j){if(!(j!=null&&j.resetsAt))return"";const D=j.resetsAt*1e3-Date.now();if(D<=0)return"Resetting now";const K=Math.round(D/6e4);if(K<60)return`Resets in ${K}m`;const X=Math.round(K/60);return X<24?`Resets in ${X}h`:`Resets in ${Math.round(X/24)}d`}function g(j){return[j.primary,j.secondary].filter(D=>D!==null)}function _(j){const D=g(j);return D.length===0?null:[...D].sort((K,X)=>{const ye=K.windowDurationMins??Number.MAX_SAFE_INTEGER,de=X.windowDurationMins??Number.MAX_SAFE_INTEGER;return ye!==de?ye-de:(K.resetsAt??Number.MAX_SAFE_INTEGER)-(X.resetsAt??Number.MAX_SAFE_INTEGER)})[0]}function E(j){const D=g(j);if(D.length===0)return"";const K=[...D].sort((ye,de)=>{const be=ye.windowDurationMins??-1,Le=de.windowDurationMins??-1;return be!==Le?Le-be:(de.resetsAt??-1)-(ye.resetsAt??-1)})[0],X=h(K.resetsAt);return X||""}function O(j){const D=j.credits;return D?D.unlimited?"Unlimited credits":D.balance?`Credits ${D.balance}`:D.hasCredits?"Credits available":"":""}function H(j){return[f(_(j)),E(j),O(j)].filter(D=>D.length>0)}function ne(j){const D=[n(j)];for(const K of c(j))D.push(K.label);for(const K of g(j))D.push(`${a(K.windowDurationMins)} used ${s(K.usedPercent)}`);for(const K of H(j))D.push(K);return D.join(`
50
- `)}return(j,D)=>e.snapshots.length>0?(k(),R("aside",nA,[(k(!0),R(Ye,null,Kt(e.snapshots,K=>(k(),R("div",{key:t(K),class:"rate-limit-card",title:ne(K)},[m("div",oA,[m("span",aA,$(n(K)),1),K.planType?(k(),R("span",sA,$(r(K.planType)),1)):J("",!0)]),m("div",iA,[(k(!0),R(Ye,null,Kt(c(K),X=>(k(),R("span",{key:X.key,class:"rate-limit-card-metric"},$(X.label),1))),128))]),H(K).length>0?(k(),R("div",lA,$(H(K).join(" | ")),1)):J("",!0)],8,rA))),128))])):J("",!0)}}),cA=It(uA,[["__scopeId","data-v-df88906b"]]),dA=["disabled","title","aria-label"],fA={class:"header-git-trigger-label"},hA={key:0,class:"header-git-dirty-dot","aria-label":"Uncommitted changes"},pA={key:0,class:"header-git-menu-wrap"},mA={class:"header-git-menu"},vA={class:"header-git-state"},gA={class:"header-git-state-label"},yA={class:"header-git-state-value"},wA={key:0,class:"header-git-state-meta"},bA={class:"header-git-search-wrap"},_A=["onKeydown"],TA={class:"header-git-branches",role:"listbox"},kA={class:"header-git-branch-row"},CA=["aria-label","onClick"],SA=["disabled","onClick"],xA={class:"header-git-branch-name"},AA={key:0,class:"header-git-branch-meta"},EA={key:1,class:"header-git-branch-meta"},IA={key:0,class:"header-git-commits"},RA={key:0,class:"header-git-commits-empty"},PA={key:1,class:"header-git-commits-empty is-error"},MA=["disabled","title","onClick"],$A={class:"header-git-commit-top"},NA={class:"header-git-commit-meta"},LA={key:0,class:"header-git-branch-meta"},OA={class:"header-git-commit-subject"},jA={key:2,class:"header-git-commits-empty"},DA={key:0,class:"header-git-empty"},FA=qn({__name:"HeaderGitBranchDropdown",props:{currentBranch:{},headSha:{},headSubject:{},headDate:{},detached:{type:Boolean},dirty:{type:Boolean},branches:{},commitsByBranch:{},commitsLoadingFor:{},commitsError:{},loading:{type:Boolean},busy:{type:Boolean},error:{},reviewOpen:{type:Boolean},showReview:{type:Boolean}},emits:["toggleReview","checkoutBranch","resetBranchToCommit","loadCommits"],setup(e,{emit:t}){const n=e,r=t,a=A(null),o=A(null),s=A(!1),l=A(""),c=A(""),h=te(()=>n.showReview!==!1),f=te(()=>n.currentBranch?n.currentBranch:n.headSubject?n.headSubject:n.headSha?`Detached ${n.headSha}`:n.loading?"Loading branch...":"Detached HEAD"),g=te(()=>n.detached?[n.headSha,n.headDate].filter(Boolean).join(" · "):""),_=te(()=>`Git branch: ${f.value}`),E=te(()=>n.loading&&n.branches.length===0),O=te(()=>n.busy||n.loading),H=te(()=>n.error||(n.dirty?"Tracked changes must be committed, stashed, or discarded before switching or resetting. Untracked files are allowed unless Git would overwrite them.":"")),ne=te(()=>n.error?"error":"info"),j=te(()=>{const G=l.value.trim().toLowerCase(),me=n.branches;return G?me.filter(ke=>ke.label.toLowerCase().includes(G)||ke.value.toLowerCase().includes(G)):me});function D(){E.value||(s.value=!s.value)}function K(G){c.value=c.value===G?"":G,c.value&&r("loadCommits",G)}function X(G){var ke;const me=((ke=n.headSha)==null?void 0:ke.trim())??"";return me?G.sha===me||G.shortSha===me||G.sha.startsWith(me):!1}function ye(G,me){return G.isRemote?"Remote branches cannot be reset from this menu":`Reset ${G.value} to ${me.shortSha}`}function de(G,me){G.isRemote||r("resetBranchToCommit",{branch:G.value,sha:me.sha})}function be(){if(l.value){l.value="";return}s.value=!1}function Le(G){if(!s.value)return;const me=a.value,ke=G.target;!me||!(ke instanceof Node)||me.contains(ke)||(s.value=!1,l.value="")}return pt(s,G=>{G&&Jt(()=>{var me;return(me=o.value)==null?void 0:me.focus()})}),ca(()=>window.addEventListener("pointerdown",Le)),Ra(()=>window.removeEventListener("pointerdown",Le)),(G,me)=>(k(),R("div",{ref_key:"rootRef",ref:a,class:et(["header-git-dropdown",{"is-review-open":e.reviewOpen}])},[m("button",{class:"header-git-trigger",type:"button",disabled:E.value,title:_.value,"aria-label":_.value,onClick:D},[Oe(Ts,{class:"header-git-trigger-icon"}),m("span",fA,$(f.value),1),e.dirty?(k(),R("span",hA)):J("",!0),Oe(Qa,{class:"header-git-trigger-chevron"})],8,dA),s.value?(k(),R("div",pA,[m("div",mA,[h.value?(k(),R("button",{key:0,class:"header-git-review-row",type:"button",onClick:me[0]||(me[0]=ke=>r("toggleReview"))},[Oe(js,{class:"header-git-row-icon"}),m("span",null,$(e.reviewOpen?"Review (Open)":"Review"),1)])):J("",!0),m("div",vA,[m("span",gA,$(e.detached?"Detached HEAD":"Current branch"),1),m("span",yA,$(f.value),1),g.value?(k(),R("span",wA,$(g.value),1)):J("",!0)]),H.value?(k(),R("div",{key:1,class:et(["header-git-status",{"is-error":ne.value==="error"}])},$(H.value),3)):J("",!0),m("div",bA,[en(m("input",{ref_key:"searchInputRef",ref:o,"onUpdate:modelValue":me[1]||(me[1]=ke=>l.value=ke),class:"header-git-search",type:"text",placeholder:"Search branches...",onKeydown:mn(Xe(be,["prevent"]),["esc"])},null,40,_A),[[un,l.value]])]),m("ul",TA,[(k(!0),R(Ye,null,Kt(j.value,ke=>(k(),R("li",{key:ke.value,class:"header-git-branch-item"},[m("div",kA,[m("button",{class:"header-git-branch-expand",type:"button","aria-label":c.value===ke.value?"Hide commits":"Show commits",onClick:oe=>K(ke.value)},[Oe(ii,{class:et(["header-git-expand-icon",{"is-expanded":c.value===ke.value}])},null,8,["class"])],8,CA),m("button",{class:et(["header-git-branch-button",{"is-current":ke.value===e.currentBranch}]),type:"button",disabled:O.value,onClick:oe=>r("checkoutBranch",ke.value)},[m("span",xA,$(ke.label),1),ke.value===e.currentBranch?(k(),R("span",AA,"current")):ke.isRemote?(k(),R("span",EA,"remote")):J("",!0)],10,SA)]),c.value===ke.value?(k(),R("div",IA,[e.commitsLoadingFor===ke.value?(k(),R("div",RA,"Loading commits...")):e.commitsError?(k(),R("div",PA,$(e.commitsError),1)):J("",!0),(k(!0),R(Ye,null,Kt(e.commitsByBranch[ke.value]||[],oe=>(k(),R("button",{key:oe.sha,class:et(["header-git-commit",{"is-current":X(oe)}]),type:"button",disabled:O.value||ke.isRemote,title:ye(ke,oe),onClick:Se=>de(ke,oe)},[m("span",$A,[m("code",null,$(oe.shortSha),1),m("span",NA,[X(oe)?(k(),R("span",LA,"current")):J("",!0),m("span",null,$(oe.date),1)])]),m("span",OA,$(oe.subject),1)],10,MA))),128)),e.commitsLoadingFor!==ke.value&&!e.commitsError&&(e.commitsByBranch[ke.value]||[]).length===0?(k(),R("div",jA," No commits found. ")):J("",!0)])):J("",!0)]))),128)),j.value.length===0?(k(),R("li",DA,"No branches found.")):J("",!0)])])])):J("",!0)],2))}}),UA=It(FA,[["__scopeId","data-v-5f4121b3"]]),BA=["aria-label"],qA=["aria-checked","onClick"],HA={class:"runtime-toggle-option-label"},WA=qn({__name:"ComposerRuntimeDropdown",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,{t:r}=Pa(),a=[{value:"local",label:r("Local project"),icon:Vc},{value:"worktree",label:r("New worktree"),icon:Ts}];function o(s){n("update:modelValue",s)}return(s,l)=>(k(),R("div",{class:"runtime-toggle",role:"radiogroup","aria-label":S(r)("Continue in")},[(k(),R(Ye,null,Kt(a,c=>m("button",{key:c.value,class:et(["runtime-toggle-option",{"is-selected":e.modelValue===c.value}]),type:"button",role:"radio","aria-checked":e.modelValue===c.value,onClick:h=>o(c.value)},[(k(),Ze(Nc(c.icon),{class:"runtime-toggle-option-icon"})),m("span",HA,$(c.label),1)],10,qA)),64))],8,BA))}}),zA=It(WA,[["__scopeId","data-v-0f175c28"]]),VA={},GA={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"};function KA(e,t){return k(),R("svg",GA,[...t[0]||(t[0]=[m("path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12"},null,-1),m("path",{d:"M9 4l0 16"},null,-1)])])}const YA=It(VA,[["render",KA]]),QA={},JA={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"};function XA(e,t){return k(),R("svg",JA,[...t[0]||(t[0]=[m("path",{d:"M6 21a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3zm12 -16h-8v14h8a1 1 0 0 0 1 -1v-12a1 1 0 0 0 -1 -1"},null,-1)])])}const ZA=It(QA,[["render",XA]]),eE={class:"sidebar-thread-controls"},tE=["aria-label","title"],nE=["aria-label","title"],rE=qn({__name:"SidebarThreadControls",props:{isSidebarCollapsed:{type:Boolean},showNewThreadButton:{type:Boolean}},emits:["toggle-sidebar","start-new-thread"],setup(e){const{t}=Pa();return(n,r)=>(k(),R("div",eE,[m("button",{class:"sidebar-thread-controls-button",type:"button","aria-label":e.isSidebarCollapsed?S(t)("Expand sidebar"):S(t)("Collapse sidebar"),title:e.isSidebarCollapsed?S(t)("Expand sidebar"):S(t)("Collapse sidebar"),onClick:r[0]||(r[0]=a=>n.$emit("toggle-sidebar"))},[e.isSidebarCollapsed?(k(),Ze(ZA,{key:0,class:"sidebar-thread-controls-icon"})):(k(),Ze(YA,{key:1,class:"sidebar-thread-controls-icon"}))],8,tE),Lo(n.$slots,"default",{},void 0),e.showNewThreadButton?(k(),R("button",{key:0,class:"sidebar-thread-controls-button",type:"button","aria-label":S(t)("Start new thread"),title:S(t)("Start new thread"),onClick:r[1]||(r[1]=a=>n.$emit("start-new-thread"))},[Oe(js,{class:"sidebar-thread-controls-icon"})],8,nE)):J("",!0)]))}}),sh=It(rE,[["__scopeId","data-v-2369affb"]]),oE={},aE={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"};function sE(e,t){return k(),R("svg",aE,[...t[0]||(t[0]=[m("circle",{cx:"11",cy:"11",r:"8"},null,-1),m("path",{d:"m21 21-4.35-4.35"},null,-1)])])}const ih=It(oE,[["render",sE]]),iE={},lE={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function uE(e,t){return k(),R("svg",lE,[...t[0]||(t[0]=[m("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[m("path",{d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 0 0-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 0 0-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 0 0-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 0 0-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 0 0 1.066-2.573c-.94-1.543.826-3.31 2.37-2.37c1 .608 2.296.07 2.572-1.065"}),m("path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0-6 0"})],-1)])])}const cE=It(iE,[["render",uE]]),dE={},fE={viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"};function hE(e,t){return k(),R("svg",fE,[...t[0]||(t[0]=[m("path",{d:"M5 7l5 5-5 5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),m("path",{d:"M12 17h7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)])])}const pE=It(dE,[["render",hE]]),mE={},vE={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function gE(e,t){return k(),R("svg",vE,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18 6L6 18M6 6l12 12"},null,-1)])])}const yE=It(mE,[["render",gE]]);function Tr(e){return e.flatMap(t=>t.threads)}function wE(e,t){var r,a;const n=e.findIndex(o=>o.id===t);return n<0?"":((r=e[n+1])==null?void 0:r.id)??((a=e[n-1])==null?void 0:a.id)??""}const _m="codex-web-local.thread-read-state.v1",lh="codex-web-local.thread-unread-cutoff.v1",Tm="codex-web-local.thread-token-usage.v1",km="codex-web-local.thread-terminal-open.v1",hc="codex-web-local.selected-thread-id.v1",pc="codex-web-local.selected-model-by-context.v1",Cm="codex-web-local.selected-model-id.v1",Sm="codex-web-local.project-order.v1",xm="codex-web-local.project-display-name.v1",mc="codex-web-local.collaboration-mode-by-context.v1",bE="codex-web-local.collaboration-mode.v1",Aa="__new-thread__",Am="__new-thread-provider__::",Fu=220,_E=1e4,TE=500,kE=3e3,CE=2e3,uh=["none","minimal","low","medium","high","xhigh"],ms="__global__",uo="gpt-5.4-mini";function SE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(_m);if(!e)return{};const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?{}:t}catch{return{}}}function ch(e){typeof window>"u"||window.localStorage.setItem(_m,JSON.stringify(e))}function xE(){if(typeof window>"u")return"";const e=window.localStorage.getItem(lh);if(e)return e;const t=new Date().toISOString();return window.localStorage.setItem(lh,t),t}function AE(e,t){if(!e||!t)return!1;const n=new Date(e).getTime(),r=new Date(t).getTime();return!Number.isFinite(n)||!Number.isFinite(r)?!1:n>r}function EE(e,t,n){return AE(e,t??n)}function Em(e){return e==="plan"?"plan":"default"}function Ds(e){return typeof e=="string"?e.trim():""}function fo(){return Object.create(null)}function li(e){const t=fo();for(const[n,r]of Object.entries(e))t[n]=r;return t}function yi(e,t){if(!(t in e))return e;const n=fo();for(const[r,a]of Object.entries(e))r!==t&&(n[r]=a);return n}function dh(e,t){let n=!1;const r=fo();for(const[a,o]of Object.entries(e)){if(a===Aa||a.startsWith(Am)||t.has(a)){r[a]=o;continue}n=!0}return n?r:e}function Im(e){return e.trim().toLowerCase()||"codex"}function IE(e){return e===Aa}function Uu(e){const t=Im(e);return`${Am}${t}`}function Ps(e){return e.trim()||Aa}function RE(){if(typeof window>"u")return fo();try{const n=window.localStorage.getItem(pc);if(n){const r=JSON.parse(n);if(!r||typeof r!="object"||Array.isArray(r))return fo();const a=fo();for(const[o,s]of Object.entries(r)){if(typeof o!="string"||o.length===0)continue;const l=Ds(s);l&&(a[o]=l)}return a}}catch{}const e=Ds(window.localStorage.getItem(Cm)),t=fo();return e&&(t[Aa]=e),t}function fh(e,t){const n=Ps(t),r=Ds(e[n]);return r||Ds(e[Aa])}function rl(e){if(!(typeof window>"u"))try{Object.keys(e).length===0?window.localStorage.removeItem(pc):window.localStorage.setItem(pc,JSON.stringify(e)),window.localStorage.removeItem(Cm)}catch{}}function PE(){if(typeof window>"u")return fo();try{const e=window.localStorage.getItem(mc);if(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return fo();const n=fo();for(const[r,a]of Object.entries(t)){if(typeof r!="string"||r.length===0)continue;const o=Em(a);o==="plan"&&(n[r]=o)}return n}}catch{}return fo()}function ol(e,t){const n=Ps(t);return Em(e[n])}function hh(e,t,n){const r=Ps(t);if(IE(r))return yi(e,r);if(n==="plan"){const a=li(e);return a[r]="plan",a}return yi(e,r)}function Bu(e){if(!(typeof window>"u"))try{Object.keys(e).length===0?window.localStorage.removeItem(mc):window.localStorage.setItem(mc,JSON.stringify(e)),window.localStorage.removeItem(bE)}catch{}}function Rm(e,t,n){return Math.min(Math.max(e,t),n)}function bs(e){if(typeof e=="number"&&Number.isFinite(e))return Math.max(0,Math.trunc(e));if(typeof e=="string"&&e.trim().length>0){const t=Number(e);if(Number.isFinite(t))return Math.max(0,Math.trunc(t))}return null}function ph(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;return{totalTokens:bs(t.totalTokens)??0,inputTokens:bs(t.inputTokens)??0,cachedInputTokens:bs(t.cachedInputTokens)??0,outputTokens:bs(t.outputTokens)??0,reasoningOutputTokens:bs(t.reasoningOutputTokens)??0}}function ME(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,n=ph(t.total),r=ph(t.last);if(!n||!r)return null;const a=bs(t.modelContextWindow),o=r.totalTokens,s=typeof a=="number"?Math.max(a-o,0):null,l=typeof a=="number"&&a>0?Rm(Math.round((s??0)/a*100),0,100):null;return{total:n,last:r,modelContextWindow:a,currentContextTokens:o,remainingContextTokens:s,remainingContextPercent:l}}function $E(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Tm);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};const n={};for(const[r,a]of Object.entries(t)){if(!r)continue;const o=ME(a);o&&(n[r]=o)}return n}catch{return{}}}function mh(e){typeof window>"u"||window.localStorage.setItem(Tm,JSON.stringify(e))}function NE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(km);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};const n={};for(const[r,a]of Object.entries(t))r&&typeof a=="boolean"&&(n[r]=a);return n}catch{return{}}}function LE(e){typeof window>"u"||window.localStorage.setItem(km,JSON.stringify(e))}function OE(){return typeof window>"u"?"":window.localStorage.getItem(hc)??""}function jE(e){if(!(typeof window>"u")){if(!e){window.localStorage.removeItem(hc);return}window.localStorage.setItem(hc,e)}}function DE(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(Sm);if(!e)return[];const t=JSON.parse(e);if(!Array.isArray(t))return[];const n=[];for(const r of t){if(typeof r!="string"||r.length===0)continue;const a=Qr(r);a.length>0&&!n.includes(a)&&n.push(a)}return n}catch{return[]}}function ai(e){typeof window>"u"||window.localStorage.setItem(Sm,JSON.stringify(e))}function FE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(xm);if(!e)return{};const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};const n={};for(const[r,a]of Object.entries(t)){const o=typeof r=="string"?Qr(r):"";o.length>0&&typeof a=="string"&&(n[o]=a)}return n}catch{return{}}}function vh(e){typeof window>"u"||window.localStorage.setItem(xm,JSON.stringify(e))}function vs(e,t){const n=[];for(const r of e)n.includes(r)||n.push(r);for(const r of t)n.includes(r.projectName)||n.push(r.projectName);return xa(e,n)?e:n}function qu(e,t){const n=new Map(e.map(a=>[a.projectName,a])),r=t.map(a=>n.get(a)??null).filter(a=>a!==null);for(const a of e)t.includes(a.projectName)||r.push(a);return r}function xa(e,t){const n=Array.isArray(e)?e:[],r=Array.isArray(t)?t:[];if(n.length!==r.length)return!1;for(let a=0;a<n.length;a+=1)if(n[a]!==r[a])return!1;return!0}function UE(e,t,n){if(t<0||t>=e.length||n<0||n>=e.length||t===n)return e;const r=[...e],[a]=r.splice(t,1);return r.splice(n,0,a),r}function BE(e,t){return!e&&!t?!0:!e||!t?!1:e.status===t.status&&e.aggregatedOutput===t.aggregatedOutput&&e.exitCode===t.exitCode}function qE(e=[],t=[]){var n,r,a,o;if(e.length!==t.length)return!1;for(let s=0;s<e.length;s+=1)if(((n=e[s])==null?void 0:n.step)!==((r=t[s])==null?void 0:r.step)||((a=e[s])==null?void 0:a.status)!==((o=t[s])==null?void 0:o.status))return!1;return!0}function HE(e,t){return!e&&!t?!0:!e||!t?!1:e.explanation===t.explanation&&e.isStreaming===t.isStreaming&&qE(e.steps,t.steps)}function al(e){if(!(e instanceof Error))return!1;const t=e.message.toLowerCase();return t.includes("not supported when using codex with a chatgpt account")||t.includes("model is not supported")||t.includes("requires a newer version of codex")}function vc(e,t){return e.id===t.id&&e.role===t.role&&e.text===t.text&&xa(e.images,t.images)&&zE(e.fileChanges,t.fileChanges)&&e.fileChangeStatus===t.fileChangeStatus&&e.messageType===t.messageType&&e.rawPayload===t.rawPayload&&e.isUnhandled===t.isUnhandled&&BE(e.commandExecution,t.commandExecution)&&HE(e.plan,t.plan)&&e.turnId===t.turnId&&e.turnIndex===t.turnIndex&&e.isAutomationRun===t.isAutomationRun&&e.automationDisplayName===t.automationDisplayName}function ks(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function WE(e,t,n={}){const r=new Map(e.map(f=>[f.id,f])),a=new Map(t.map(f=>[f.id,f])),o=t.map(f=>{const g=r.get(f.id);return g&&vc(g,f)?g:f});if(n.preserveMissing!==!0)return ks(e,o)?e:o;const s=e.map(f=>{const g=a.get(f.id);return!g||vc(f,g)?f:g}),l=new Set(e.map(f=>f.id)),c=o.filter(f=>!l.has(f.id)),h=[...s,...c];return ks(e,h)?e:h}function zE(e,t){if(!e&&!t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){const r=e[n],a=t[n];if(r.path!==a.path||r.operation!==a.operation||r.movedToPath!==a.movedToPath||r.diff!==a.diff||r.addedLineCount!==a.addedLineCount||r.removedLineCount!==a.removedLineCount)return!1}return!0}function gc(e){return e.replace(/\s+/gu," ").trim()}function VE(e,t){const n=new Set(t.map(o=>o.id)),r=new Set(t.filter(o=>o.role==="assistant").map(o=>gc(o.text)).filter(o=>o.length>0));if(r.size===0)return e;const a=e.filter(o=>{if(o.messageType!=="agentMessage.live")return!0;if(n.has(o.id))return!1;const s=gc(o.text);return s.length===0?!1:!r.has(s)});return a.length===e.length?e:a}function sl(e,t){const n=e.findIndex(o=>o.id===t.id);if(n<0)return[...e,t];const r=e[n];if(vc(r,t))return e;const a=[...e];return a.splice(n,1,t),a}const Pm="worked";function ka(e){if(!e)return null;const t=new Date(e).getTime();return Number.isNaN(t)?null:t}function GE(e){if(!Number.isFinite(e)||e<=0)return"<1s";const t=Math.max(1,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),a=t%60,o=[];n>0&&o.push(`${n}h`),(r>0||n>0)&&o.push(`${r}m`);const s=a>0||o.length===0?a:0;return o.push(`${s}s`),o.join(" ")}function KE(e,t){return!e&&!t?!0:!e||!t?!1:e.turnId===t.turnId&&e.durationMs===t.durationMs}function YE(e,t){if(!e&&!t)return!0;if(!e||!t||e.label!==t.label||e.details.length!==t.details.length)return!1;for(let n=0;n<e.details.length;n+=1)if(e.details[n]!==t.details[n])return!1;return!0}function QE(e){return{id:`turn-summary:${e.turnId}`,role:"system",text:`Worked for ${GE(e.durationMs)}`,messageType:Pm,turnId:e.turnId}}function JE(e){for(let t=e.length-1;t>=0;t-=1)if(e[t].role==="assistant")return t;return-1}function XE(e,t){const n=QE(t),r=e.filter(s=>s.messageType!==Pm),a=JE(r);if(a<0)return[...r,n];const o=[...r];return o.splice(a,0,n),o}function At(e,t){if(!(t in e))return e;const n={...e};return delete n[t],n}function ZE(e,t){if(t.size===0)return e;let n=!1;const r={};for(const[a,o]of Object.entries(e)){if(t.has(a)){n=!0;continue}r[a]=o}return n?r:e}function eI(e,t){return e.id===t.id&&e.title===t.title&&e.projectName===t.projectName&&e.cwd===t.cwd&&e.createdAtIso===t.createdAtIso&&e.updatedAtIso===t.updatedAtIso&&e.preview===t.preview&&e.unread===t.unread&&e.inProgress===t.inProgress&&e.pendingRequestState===t.pendingRequestState}function tI(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function nI(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function sn(e,t){const n=Object.entries(e).filter(([r])=>t.has(r));return n.length===Object.keys(e).length?e:Object.fromEntries(n)}function gh(e,t){const n=t.trim();if(!n)return e;let r=!1;const a=[];for(const o of e){const s=o.threads.filter(c=>c.id!==n),l=s.length!==o.threads.length;l&&(r=!0),s.length>0?a.push(l?{...o,threads:s}:o):o.threads.length===0&&a.push(o)}return r?a:e}function il(e,t){const n=new Map(e.map(a=>[a.projectName,a])),r=t.map(a=>{const o=n.get(a.projectName),s=new Map((o==null?void 0:o.threads.map(c=>[c.id,c]))??[]),l=a.threads.map(c=>{const h=s.get(c.id);return h&&eI(h,c)?h:c});return o&&o.projectName===a.projectName&&tI(o.threads,l)?o:{projectName:a.projectName,threads:l}});return nI(e,r)?e:r}function rI(e,t,n){const r=new Set(Tr(t).map(l=>l.id)),a=Tr(e).filter(l=>n[l.id]===!0&&!r.has(l.id));if(a.length===0)return t;const o=new Map(t.map(l=>[l.projectName,l])),s=t.map(l=>({projectName:l.projectName,threads:[...l.threads]}));for(const l of a){if(o.get(l.projectName)){const h=s.findIndex(f=>f.projectName===l.projectName);h>=0&&(s[h]={projectName:s[h].projectName,threads:[l,...s[h].threads]});continue}s.push({projectName:l.projectName,threads:[l]})}return s}function Za(e){return Qr(e)}function oI(e){const t=e.trim();if(!t)return"";const n=t.lastIndexOf(":");return n>=0?t.slice(n+1):t}function aI(e){const t=e.label||Qr(e.remotePath),n=oI(e.hostId);return n?`${t} ${n}`:t}function Mm(e){const t=(e==null?void 0:e.remoteProjects)??[];return new Map(t.map(n=>[n.id,n]))}function Wl(e){if(!e)return[];const t=new Set(e.order),n=new Set((e.remoteProjects??[]).map(a=>a.id)),r=e.projectOrder.filter(a=>t.has(a)||n.has(a));for(const a of e.order)r.includes(a)||r.push(a);for(const a of n)r.includes(a)||r.push(a);return r}function yc(e,t){const n=Mm(e);return Wl(e).map(r=>{if(n.has(r))return r;const a=rt(r).trim(),o=Za(a);return t.has(o)?a:o})}function pl(e,t){return rt(e).trim()===t||Za(e)===t}function sI(e,t){const n=new Set;for(const r of e.order)pl(r,t)&&n.add(r);for(const r of e.active)pl(r,t)&&n.add(r);for(const r of Object.keys(e.labels))pl(r,t)&&n.add(r);return n}function iI(e,t,n){var h,f;const r=new Set((e.remoteProjects??[]).map(g=>g.id)),a=new Map;for(const g of e.order){const _=Za(g);a.has(_)||a.set(_,g)}for(const g of n){const _=((f=(h=g.threads[0])==null?void 0:h.cwd)==null?void 0:f.trim())??"";_&&a.set(g.projectName,_)}const o=[],s=g=>{g&&!o.includes(g)&&o.push(g)};for(const g of t){if(r.has(g)){s(g);continue}const _=a.get(g);_&&s(_)}for(const g of Wl(e))s(g);const l=o.filter(g=>e.order.includes(g));for(const g of e.order)l.includes(g)||l.push(g);const c=e.active.filter(g=>l.includes(g));return c.length===0&&l.length>0&&c.push(l[0]),{order:l,active:c,projectOrder:o}}function lI(e,t,n){const r=yc(t,n);if(r.length===0)return e;const a=new Map(r.map((o,s)=>[o,s]));return[...e].sort((o,s)=>{if(bc(o)||bc(s))return 0;const l=a.get(o.projectName)??Number.POSITIVE_INFINITY,c=a.get(s.projectName)??Number.POSITIVE_INFINITY;return l===c?0:l-c})}function wc(e,t){const n=new Map,r=new Map,a=s=>{const l=rt(s).trim();if(!l)return;const c=Qr(l),h=n.get(c)??new Set;h.add(l),n.set(c,h)};for(const s of(t==null?void 0:t.order)??[]){const l=rt(s).trim();if(!l)continue;const c=Qr(l);Sl(l)||r.set(c,(r.get(c)??0)+1),a(s)}for(const s of e)for(const l of s.threads){const c=rt(l.cwd).trim(),h=Qr(c),f=(t==null?void 0:t.order.some(g=>rt(g).trim()===c))===!0;Sl(c)&&!f&&r.get(h)===1||a(l.cwd)}const o=new Set;for(const[s,l]of n.entries())l.size>1&&o.add(s);return o}function Sl(e){return e.includes("/.codex/worktrees/")}function uI(e,t){const n=wc(e,t);if(n.size===0)return e;const r=new Set,a=new Set,o=new Map,s=new Set;for(const h of(t==null?void 0:t.order)??[]){const f=rt(h).trim();if(!f||(s.add(f),Sl(f)))continue;const g=Qr(f);r.has(g)?(r.delete(g),a.add(g),o.delete(g)):a.has(g)||(r.add(g),o.set(g,f))}const l=[],c=new Map;for(const h of e)for(const f of h.threads){const g=rt(f.cwd).trim(),_=Qr(g),E=s.has(g),O=Sl(g)&&!E&&r.has(_);let H=h.projectName;O&&n.has(_)?H=o.get(_)??h.projectName:g&&n.has(_)&&(H=g);const ne=f.projectName===H?f:{...f,projectName:H},j=c.get(H);if(j)j.threads.push(ne);else{const D={projectName:H,threads:[ne]};c.set(H,D),l.push(D)}}return l}function cI(e,t,n){if(!t||t.order.length===0&&(t.remoteProjects??[]).length===0)return e;const r=new Set(e.map(s=>s.projectName)),a=[...e],o=Mm(t);for(const s of Wl(t)){if(o.has(s)){if(r.has(s))continue;a.push({projectName:s,threads:[]}),r.add(s);continue}const l=rt(s).trim();if(!l)continue;const c=Za(l),h=n.has(c)?l:c;r.has(h)||(a.push({projectName:h,threads:[]}),r.add(h))}return a}function dI(e){const t=e.split(`
51
- `).map(n=>n.trim()).find(n=>n.length>0);return t?t.slice(0,80):"Untitled thread"}function fI(e){const t=e.trim()||"Untitled thread";return/^fork:\s+/iu.test(t)?t:`Fork: ${t}`}function bc(e){return e.threads.some(t=>t.cwd.trim().length===0||kl(t.cwd))}function hI(){const e=A([]),t=A([]),n=A(OE()),r=A({}),a=A({}),o=A({}),s=A({}),l=A({}),c=A({}),h=A({}),f=A({}),g=A({});let _=!1;const E=A({}),O=A([]),H=A([{value:"default",label:"Default"},{value:"plan",label:"Plan"}]),ne=A(PE()),j=A(RE()),D=A(ol(ne.value,n.value)),K=A(fh(j.value,n.value)),X=A("medium"),ye=A("standard"),de=A(""),be=A(SE()),Le=A(xE()),G=A(DE()),me=A(FE()),ke=A({}),oe=A({}),Se=A({}),Ue=A({}),Be=A({}),Ke=A({}),Ne=A({}),Ce=A({}),Qe=A({}),tt=A({}),Fe=A({}),He=A({}),ft=A({}),Je=A(null),We=A($E()),Tt=A(NE()),Z=A({}),xe=A([]),Ae=A([]),De=A(!1),Ge=A(!1),x=A(!1),P=A(!1),z=A(!1),ae=A(!1),Q=A(""),le=A(!1),fe=A(!1);function ge(i){var d;try{const v=new URL(i,"http://localhost");return v.pathname!=="/codex-local-image"?"":((d=v.searchParams.get("path"))==null?void 0:d.trim())??""}catch{return""}}function we(i){const d=i.trim().toLowerCase();return d?/\b(attached image|attached screenshot|save the attached|copy (the )?screenshot|save screenshot)\b/i.test(d):!1}function he(i){var v;const d=r.value[i]??[];for(let T=d.length-1;T>=0;T-=1){const M=d[T];if(!(M.role!=="user"||!Array.isArray(M.images)||M.images.length===0))for(let N=M.images.length-1;N>=0;N-=1){const W=((v=M.images[N])==null?void 0:v.trim())??"";if(W&&ge(W))return W}}return""}let je=null,pe=null,Pe=null;const Ie=new Map;let at=null;const dt=new Map;let lt=null,gt=null,kt=!1;const q=new Set,U=new Map;let F=null,se=null,Te=!1,$e=!1,ze=[],xt=null,Bt=!1,Wt=!1;const Hn=new Map,hr=new Set,Xr=te(()=>Tr(e.value)),Ln=te(()=>Xr.value.find(i=>i.id===n.value)??null),Cr=te(()=>{const i=n.value;return!!(i&&Tt.value[i]===!0)}),fa=te(()=>{const i=n.value;return i?Qe.value[i]===!0:!1}),Do=te(()=>{const i=[],d=n.value;return d&&Array.isArray(He.value[d])&&i.push(...He.value[d]),Array.isArray(He.value[ms])&&i.push(...He.value[ms]),i.sort((v,T)=>v.receivedAtIso.localeCompare(T.receivedAtIso))}),vn=te(()=>{var N;const i=n.value;if(!i)return null;const d=h.value[i]===!0,v=d?Ke.value[i]:void 0,T=d?(s.value[i]??"").trim():"",M=(((N=Ne.value[i])==null?void 0:N.message)??"").trim();return!v&&!T&&!M?null:{activityLabel:(v==null?void 0:v.label)||"Thinking",activityDetails:(v==null?void 0:v.details)??[],reasoningText:T,errorText:M}}),Xt=te(()=>Je.value),wo=te(()=>{const i=n.value;return i?We.value[i]??null:null}),Fo=te(()=>{const i=n.value;if(!i)return[];const d=r.value[i]??[],v=a.value[i]??[],T=o.value[i]??[],M=l.value[i]??[],N=c.value[i]??[],W=[...d,...v,...M,...N,...T],Y=Be.value[i];return Y?XE(W,Y):W});function ot(i){if(Ps(i)===Aa){const v=Uu(de.value),T=v?Ds(j.value[v]):"";if(T)return T}return fh(j.value,i).trim()}function cn(...i){const d=[...O.value];for(const v of i){const T=v.trim();T&&!d.includes(T)&&d.push(T)}xa(O.value,d)||(O.value=d)}function zt(i){n.value!==i&&(n.value=i,jE(i),K.value=ot(i),cn(K.value),D.value=ol(ne.value,i),Wt=!1)}function Or(i,d){const v=d.trim(),T=Ps(i);if(v){const M=li(j.value);M[T]=v,j.value=M}else j.value=yi(j.value,T);if(i.trim()===n.value?(K.value=ot(n.value),cn(K.value)):cn(v),T===Aa){const M=Uu(de.value);if(M)if(v){const N=li(j.value);N[M]=v,j.value=N}else j.value=yi(j.value,M)}rl(j.value)}function nn(i){Or(n.value,i)}function Wn(i,d){const v=i.trim();if(!v)return;const T=d.trim();if(T){const M=li(j.value);M[v]=T,j.value=M}else j.value=yi(j.value,v);cn(T),n.value===v&&(K.value=ot(n.value)),rl(j.value)}function Zr(i,d){const v=i.trim();if(!v)return;if(!d){if(!(v in We.value))return;We.value=At(We.value,v),mh(We.value);return}const T=We.value[v];T&&JSON.stringify(T)===JSON.stringify(d)||(We.value={...We.value,[v]:d},mh(We.value))}function dn(i){const d=i==="plan"?"plan":"default",v=Ps(n.value);ol(ne.value,n.value)===d&&D.value===d||(D.value=d,ne.value=hh(ne.value,v,d),Bu(ne.value))}function Dt(i,d){const v=d==="plan"?"plan":"default";ne.value=hh(ne.value,i,v),i.trim()===n.value&&(D.value=v),Bu(ne.value)}function rn(i){Je.value=i}async function wn(i=n.value){i.trim()?Wn(i,uo):nn(uo),cn(uo)}function on(i,d){ft.value={...ft.value,[i]:d}}function In(i){ft.value[i]&&(ft.value=At(ft.value,i))}async function eo(i){if(hr.has(i))return;const d=ft.value[i];if(!(!d||d.fallbackRetried)){hr.add(i),on(i,{...d,fallbackRetried:!0});try{await wn(i);try{const v=await Mu(i,1);yn(i,v),I(i),Er(i,[]),Mn(i),l.value[i]&&(l.value=At(l.value,i))}catch{}Et(i,null),Q.value="",fn(i,null),wt(i,{label:"Thinking",details:Zn(uo,d.effort,d.collaborationMode)}),Ct(i,!0),Se.value[i]!==!0&&await Pu(i),await $u(i,d.text,d.imageUrls,uo,d.effort||void 0,d.skills.length>0?d.skills:void 0,d.fileAttachments,d.collaborationMode),Se.value={...Se.value,[i]:!0},Sr(),q.add(i),await io()}catch(v){const T=v instanceof Error?v.message:"Unknown application error";Et(i,T),Q.value=T,Ct(i,!1),wt(i,null)}finally{hr.delete(i)}}}function On(i){i&&!uh.includes(i)||(X.value=i)}async function to(i){const d=i==="fast"?"fast":"standard";if(z.value||ye.value===d)return;const v=ye.value;ye.value=d,z.value=!0,Q.value="";try{await d_(d)}catch(T){ye.value=v,Q.value=T instanceof Error?T.message:"Failed to update Fast mode"}finally{z.value=!1}}async function bo(){try{const i=await g_();H.value=i,i.some(d=>d.value===D.value)||dn("default")}catch{}}function Zn(i,d,v=D.value){const T=i.trim()||"default",M=d||"default",N=v==="plan"?"Plan":"Default",W=ye.value==="fast"?"Fast":"Standard";return[`Mode: ${N}`,`Model: ${T}`,`Thinking: ${M}`,`Speed: ${W}`]}async function jr(i){try{const[d,v]=await Promise.all([hm({includeProviderModels:(i==null?void 0:i.includeProviderModels)!==!1}),pm()]),T=ot(n.value),M=v.model.trim(),N=Im(v.providerId);de.value=N;const W=Uu(N),Y=W?Ds(j.value[W]):"",ie=[...d];if(!(i!=null&&i.providerChanged))for(const Ve of[T,M])Ve&&!ie.includes(Ve)&&ie.push(Ve);O.value=ie;const ve=T&&d.includes(T);if((!T||!ve||i!=null&&i.providerChanged)&&(i!=null&&i.providerChanged&&ie.length>0?Y&&ie.includes(Y)?nn(Y):M&&ie.includes(M)?nn(M):nn(ie[0]):M&&ie.includes(M)?nn(v.model):ie.length>0?nn(ie[0]):nn("")),W&&K.value.trim().length>0){const Ve=li(j.value);Ve[W]=K.value.trim(),j.value=Ve,rl(j.value)}v.reasoningEffort&&uh.includes(v.reasoningEffort)&&(X.value=v.reasoningEffort),ye.value=v.speedMode}catch{}}async function er(){if(gt){await gt;return}gt=(async()=>{try{const i=await Q0();rn(i),Ae.value=i?[i]:[]}catch{}finally{gt=null}})(),await gt}function Sr(){if(typeof window>"u"){er();return}Pe!==null&&window.clearTimeout(Pe),Pe=window.setTimeout(()=>{Pe=null,er()},TE)}function bn(i){if(!i||typeof window>"u")return;const d=Ie.get(i);d!==void 0&&(window.clearTimeout(d),Ie.delete(i))}function Dr(i){if(!i||typeof window>"u")return;bn(i);const d=window.setTimeout(()=>{Ie.delete(i),q.add(i),io()},kE);Ie.set(i,d)}function jn(i){const d=Z.value;return Object.keys(d).length===0?i:i.map(v=>({projectName:v.projectName,threads:v.threads.map(T=>{const M=d[T.id];return M?{...T,title:M}:T})}))}function tr(i){return i?Array.isArray(He.value[i])?He.value[i]:[]:[]}function zn(i){return i==="item/commandExecution/requestApproval"||i==="item/fileChange/requestApproval"||i==="item/permissions/requestApproval"||i==="execCommandApproval"||i==="applyPatchApproval"}function _o(i){return i.some(d=>zn(d.method))?"approval":i.length>0?"response":null}function Ft(){const d=jn(t.value).map(v=>({projectName:v.projectName,threads:v.threads.map(T=>{const M=h.value[T.id]===!0,N=_o(tr(T.id)),W=n.value===T.id,Y=E.value[T.id]===!0,ie=EE(T.updatedAtIso,be.value[T.id],Le.value);return{...T,inProgress:M,unread:!W&&!M&&(Y||ie),pendingRequestState:N}})}));e.value=il(e.value,d)}function pr(i,d,v){const T=new Date().toISOString(),M=rt(d),N=Qr(M),W={id:i,title:dI(v),projectName:N,cwd:M,hasWorktree:M.includes("/.codex/worktrees/")||M.includes("/.git/worktrees/"),createdAtIso:T,updatedAtIso:T,preview:v,unread:!1,inProgress:!1},Y=t.value.findIndex(ve=>ve.projectName===N);if(Y>=0){const Ve=t.value[Y].threads.filter(St=>St.id!==i),bt={projectName:N,threads:[W,...Ve]},_t=[...t.value];_t.splice(Y,1,bt),t.value=_t}else t.value=[{projectName:N,threads:[W]},...t.value];const ie=vs(G.value,t.value);xa(G.value,ie)||(G.value=ie,ai(G.value)),Ft()}function xr(i){const d=new Set(i.map(ie=>ie.id)),v=n.value.trim();v&&d.add(v);const T=dh(j.value,d);T!==j.value&&(j.value=T,K.value=ot(n.value),cn(K.value),rl(T));const M=dh(ne.value,d);M!==ne.value&&(ne.value=M,D.value=ol(M,n.value),Bu(M));const N=sn(be.value,d);N!==be.value&&(be.value=N,ch(N)),oe.value=sn(oe.value,d),ke.value=sn(ke.value,d),Se.value=sn(Se.value,d),Ue.value=sn(Ue.value,d),r.value=sn(r.value,d),o.value=sn(o.value,d),s.value=sn(s.value,d),l.value=sn(l.value,d),c.value=sn(c.value,d),Be.value=sn(Be.value,d),Ke.value=sn(Ke.value,d),Ne.value=sn(Ne.value,d),Ce.value=sn(Ce.value,d),Qe.value=sn(Qe.value,d),tt.value=sn(tt.value,d),Fe.value=sn(Fe.value,d);const W=sn(f.value,d);W!==f.value&&(f.value=W,Go()),We.value=sn(We.value,d),E.value=sn(E.value,d),h.value=sn(h.value,d);const Y={};for(const[ie,ve]of Object.entries(He.value))(ie===ms||d.has(ie))&&(Y[ie]=ve);He.value=Y}function Ar(i){const d=Tr(t.value).find(v=>v.id===i);d&&(be.value={...be.value,[i]:d.updatedAtIso},ch(be.value),E.value[i]&&(E.value=At(E.value,i)),Ft())}function fn(i,d){if(!i)return;const v=Be.value[i];if(d){if(KE(v,d))return;Be.value={...Be.value,[i]:d}}else v&&(Be.value=At(Be.value,i))}function Ct(i,d){!i||h.value[i]===!0===d||(d?h.value={...h.value,[i]:!0}:(h.value=At(h.value,i),re(i),yt(i)),Ft(),!d&&!L()&&F&&Ee())}function yt(i){i&&(Qe.value[i]&&(Qe.value=At(Qe.value,i)),tt.value[i]&&(tt.value=At(tt.value,i)),Fe.value[i]&&(Fe.value=At(Fe.value,i)))}function nr(i){i&&(Qe.value={...Qe.value,[i]:!0},tt.value[i]&&(tt.value=At(tt.value,i)),Fe.value[i]&&(Fe.value=At(Fe.value,i)))}function Rn(i){i&&Qe.value[i]===!0&&tt.value[i]===!0&&Fe.value[i]===!0&&yt(i)}function Fr(i,d){!i||!d||Qe.value[i]===!0&&yt(i)}function gn(i){const d=Object.keys(Qe.value);if(d.length===0)return;let v=tt.value,T=!1;for(const M of d)!i.has(M)||v[M]===!0||(v={...v,[M]:!0},T=!0);if(T){tt.value=v;for(const M of d)Rn(M)}}function mr(i,d){i&&Qe.value[i]===!0&&d.some(v=>v.role==="user")&&(Fe.value[i]!==!0&&(Fe.value={...Fe.value,[i]:!0}),Rn(i))}function To(i){i&&i!==n.value&&E.value[i]!==!0&&(E.value={...E.value,[i]:!0},Ft())}function wt(i,d){if(!i)return;const v=Ke.value[i];if(!d){v&&(Ke.value=At(Ke.value,i));return}const T=ns(d.label)||"Thinking",M=d.details.map(Y=>ns(Y)).filter(Y=>Y.length>0&&Y!==T),N=Array.from(new Set([...(v==null?void 0:v.details)??[],...M])).slice(-3),W={label:T,details:N};YE(v,W)||(Ke.value={...Ke.value,[i]:W})}function Et(i,d,v={}){if(!i)return;const T=Ne.value[i],M=d?gc(d):"";if(!M){T&&(Ne.value=At(Ne.value,i));return}const N=v.transient===!0;(T==null?void 0:T.message)===M&&T.transient===N||(Ne.value={...Ne.value,[i]:{message:M,transient:N}})}function Ot(i){var d;i&&(d=Ne.value[i])!=null&&d.transient&&Et(i,null)}function hn(){const i=Object.entries(Ne.value).filter(([,v])=>v==null?void 0:v.transient).map(([v])=>v);if(i.length===0)return;let d=Ne.value;for(const v of i)d=At(d,v);Ne.value=d}function Yt(i){const d=Tr(t.value).find(v=>v.id===i);return(d==null?void 0:d.updatedAtIso)??""}function Ur(i,d){if(!i)return;const v={...Tt.value};d?v[i]=!0:delete v[i],Tt.value=v,LE(v)}function vr(){const i=n.value;i&&Ur(i,!Cr.value)}function yn(i,d){const v=r.value[i]??[];ks(v,d)||(r.value={...r.value,[i]:d})}function Er(i,d){const v=o.value[i]??[];ks(v,d)||(o.value={...o.value,[i]:d})}function rr(i){i&&i in o.value&&(o.value=At(o.value,i))}function Dn(i,d){const v=c.value[i]??[];ks(v,d)||(c.value={...c.value,[i]:d})}function Vn(i,d){const v=a.value[i]??[];ks(v,d)||(a.value={...a.value,[i]:d})}function Vt(i,d){const v=a.value[i]??[],T=sl(v,d);Vn(i,T)}function gr(i,d){const v=o.value[i]??[],T=sl(v,d);Er(i,T)}function Br(i,d){const v=c.value[i]??[],T=sl(v,d);Dn(i,T)}function Pn(i,d){if(!i)return;const v=d.trim(),T=s.value[i]??"";if(v.length===0){if(!T)return;s.value=At(s.value,i);return}T!==v&&(s.value={...s.value,[i]:v})}function yr(i,d){if(!i)return;const v=s.value[i]??"";Pn(i,`${v}${d}`)}function Mn(i){i&&i in s.value&&(s.value=At(s.value,i))}function I(i){i&&i in a.value&&(a.value=At(a.value,i))}function B(i){i&&i in c.value&&(c.value=At(c.value,i))}function re(i){i&&(I(i),Mn(i),wt(i,null),n.value,l.value[i]&&(l.value=At(l.value,i)),Ce.value[i]&&(Ce.value=At(Ce.value,i)),In(i))}function Re(i){return i==="completed"?"completed":i==="inProgress"||i==="in_progress"?"inProgress":"pending"}function vt(i){var v;const d=[];(v=i.explanation)!=null&&v.trim()&&d.push(i.explanation.trim());for(const T of i.steps){const M=T.status==="completed"?"x":T.status==="inProgress"?"~":" ";d.push(`- [${M}] ${T.step}`)}return d.join(`
52
- `).trim()}function Qt(i){if(i.method!=="turn/plan/updated")return null;const d=Me(i.params),v=Zt(i),T=_e(d==null?void 0:d.turnId)||_e(d==null?void 0:d.turn_id),N=(Array.isArray(d==null?void 0:d.plan)?d==null?void 0:d.plan:[]).map(ie=>Me(ie)).map(ie=>({step:_e(ie==null?void 0:ie.step),status:Re(ie==null?void 0:ie.status)})).filter(ie=>ie.step.length>0);if(!v||!T)return null;const Y={explanation:_e(d==null?void 0:d.explanation).trim()||void 0,steps:N,isStreaming:!0};return{threadId:v,message:{id:`${T}:plan`,role:"assistant",text:vt(Y),messageType:"plan.live",plan:Y}}}function pn(i){if(i.method!=="item/plan/delta")return null;const d=Me(i.params),v=Zt(i),T=_e(d==null?void 0:d.turnId)||_e(d==null?void 0:d.turn_id),M=_e(d==null?void 0:d.delta);if(!v||!T||!M)return null;const N=`${T}:plan`,W=(a.value[v]??[]).find(ve=>ve.id===N),Y=`${(W==null?void 0:W.text)??""}${M}`,ie=W!=null&&W.plan?{...W.plan,isStreaming:!0}:void 0;return{threadId:v,message:{id:N,role:"assistant",text:Y,messageType:"plan.live",plan:ie}}}function Me(i){return i!==null&&typeof i=="object"&&!Array.isArray(i)?i:null}function _e(i){return typeof i=="string"?i:""}function mt(i){return typeof i=="number"&&Number.isFinite(i)?i:null}function _n(i){const d=Me(i);if(!d)return null;const v=mt(d.totalTokens??d.total_tokens),T=mt(d.inputTokens??d.input_tokens),M=mt(d.cachedInputTokens??d.cached_input_tokens),N=mt(d.outputTokens??d.output_tokens),W=mt(d.reasoningOutputTokens??d.reasoning_output_tokens);return v===null||T===null||M===null||N===null||W===null?null:{totalTokens:v,inputTokens:T,cachedInputTokens:M,outputTokens:N,reasoningOutputTokens:W}}function Gn(i){const d=Me(i);if(!d)return null;const v=_n(d.total),T=_n(d.last);if(!v||!T)return null;const M=mt(d.modelContextWindow??d.model_context_window),N=T.totalTokens,W=typeof M=="number"?Math.max(M-N,0):null,Y=typeof M=="number"&&M>0?Rm(Math.round((W??0)/M*100),0,100):null;return{total:v,last:T,modelContextWindow:M,currentContextTokens:N,remainingContextTokens:W,remainingContextPercent:Y}}function Us(i){if(i.method!=="thread/tokenUsage/updated")return null;const d=Me(i.params),v=Zt(i),T=Gn((d==null?void 0:d.tokenUsage)??(d==null?void 0:d.token_usage));return!v||!T?null:{threadId:v,usage:T}}function Zt(i){const d=Me(i.params);if(!d)return"";const v=_e(d.threadId);if(v)return v;const T=_e(d.thread_id);if(T)return T;const M=_e(d.conversationId);if(M)return M;const N=_e(d.conversation_id);if(N)return N;const W=Me(d.thread),Y=_e(W==null?void 0:W.id);if(Y)return Y;const ie=Me(d.turn),ve=_e(ie==null?void 0:ie.threadId);if(ve)return ve;const Ve=_e(ie==null?void 0:ie.thread_id);return Ve||""}function Uo(i){if(i.method!=="turn/completed")return"";const d=Me(i.params),v=Me(d==null?void 0:d.turn);if(!v||v.status!=="failed")return"";const T=Me(v.error);return _e(T==null?void 0:T.message)}function no(i){var T;if(i.method!=="error")return null;const d=Me(i.params),v=_e(d==null?void 0:d.message)||_e((T=Me(d==null?void 0:d.error))==null?void 0:T.message);return v?{message:v,transient:(d==null?void 0:d.willRetry)===!0}:null}function Ir(i){const d=Me(i);if(!d)return null;const v=d.id,T=_e(d.method),M=d.params;if(typeof v!="number"||!Number.isInteger(v)||!T)return null;const N=Me(M),W=Bo(T,N),Y=_e(N==null?void 0:N.threadId)||_e(N==null?void 0:N.thread_id)||_e(N==null?void 0:N.conversationId)||_e(N==null?void 0:N.conversation_id)||ms,ie=_e(N==null?void 0:N.turnId)||_e(N==null?void 0:N.turn_id),ve=_e(N==null?void 0:N.itemId)||_e(N==null?void 0:N.item_id)||_e(N==null?void 0:N.callId)||_e(N==null?void 0:N.call_id),Ve=_e(d.receivedAtIso)||new Date().toISOString();return{id:v,method:W,threadId:Y,turnId:ie,itemId:ve,receivedAtIso:Ve,params:M??null}}function Bo(i,d){const v=i.trim();return v&&(v==="item/commandExecution/requestApproval"||v==="execCommandApproval"||v==="exec_approval_request"||qo(d)?"item/commandExecution/requestApproval":v==="item/fileChange/requestApproval"||v==="applyPatchApproval"||v==="apply_patch_approval_request"||or(d)?"item/fileChange/requestApproval":v==="item/tool/requestUserInput"||v==="request_user_input"||Ho(d)?"item/tool/requestUserInput":v==="mcpServer/elicitation/request"||v==="elicitation_request"||ko(d)?"mcpServer/elicitation/request":v==="item/permissions/requestApproval"||wr(d)?"item/permissions/requestApproval":v==="item/tool/call"||v==="dynamic_tool_call_request"||qr(d)?"item/tool/call":v)}function qo(i){if(!i)return!1;const d=i.command;return Array.isArray(d)&&d.some(v=>typeof v=="string"&&v.trim().length>0)||typeof d=="string"&&d.trim().length>0?!0:Array.isArray(i.commandActions)}function or(i){return i?typeof i.grantRoot=="string"&&i.grantRoot.trim().length>0||typeof i.grant_root=="string"&&i.grant_root.trim().length>0||Me(i.fileChanges)?!0:Me(i.changes)!==null:!1}function Ho(i){return!!(i&&Array.isArray(i.questions))}function qr(i){return i?typeof i.toolName=="string"||typeof i.tool_name=="string"||typeof i.name=="string"||Array.isArray(i.arguments):!1}function ko(i){if(!i)return!1;const d=_e(i.mode);return typeof i.serverName=="string"&&typeof i.threadId=="string"&&typeof i.message=="string"&&(d==="form"||d==="url")}function wr(i){return i?typeof i.threadId=="string"&&typeof i.turnId=="string"&&typeof i.itemId=="string"&&Me(i.permissions)!==null:!1}function Co(i){if(i.method!=="item/tool/requestUserInput")return[];const d=Me(i.params),v=Array.isArray(d==null?void 0:d.questions)?d.questions:[],T=[];for(const M of v){const N=Me(M),W=_e(N==null?void 0:N.id).trim();W&&T.push(W)}return T}function Tn(i){const d=i.threadId||ms,v=He.value[d]??[],T=v.findIndex(N=>N.id===i.id),M=[...v];T>=0?M.splice(T,1,i):M.push(i),He.value={...He.value,[d]:M.sort((N,W)=>N.receivedAtIso.localeCompare(W.receivedAtIso))},Ft()}function Hr(i){const d={};for(const[v,T]of Object.entries(He.value)){const M=T.filter(N=>N.id!==i);M.length>0&&(d[v]=M)}He.value=d,Ft()}function Rr(i){const d={};for(const v of i){const T=v.threadId||ms,M=d[T]??[];M.push(v),d[T]=M}for(const v of Object.values(d))v.sort((T,M)=>T.receivedAtIso.localeCompare(M.receivedAtIso));He.value=d}function ts(i){if(i.method==="server/request"){const d=Ir(i.params);return d&&Tn(d),!0}if(i.method==="server/request/resolved"){const d=Me(i.params),v=d==null?void 0:d.id;return typeof v=="number"&&Number.isInteger(v)&&Hr(v),!0}return!1}function ns(i){return i.replace(/\s+/gu," ").trim()}function Pr(i){const d=Zt(i);if(!d)return null;if(i.method==="turn/started")return{threadId:d,activity:{label:"Thinking",details:[]}};if(i.method==="item/started"){const v=Me(i.params),T=Me(v==null?void 0:v.item),M=_e(T==null?void 0:T.type).toLowerCase();if(M==="reasoning")return{threadId:d,activity:{label:"Thinking",details:[]}};if(M==="agentmessage")return{threadId:d,activity:{label:"Writing response",details:[]}};if(M==="commandexecution"){const N=_e(T==null?void 0:T.command);return{threadId:d,activity:{label:"Running command",details:N?[N]:[]}}}if(M==="filechange"){const W=(Array.isArray(T==null?void 0:T.changes)?T.changes:[])[0],Y=_e(W==null?void 0:W.path);return{threadId:d,activity:{label:"Applying changes",details:Y?[Y]:[]}}}}return i.method==="item/commandExecution/outputDelta"?{threadId:d,activity:{label:"Running command",details:[]}}:i.method==="item/fileChange/outputDelta"?{threadId:d,activity:{label:"Applying changes",details:[]}}:i.method==="item/reasoning/summaryTextDelta"||i.method==="item/reasoning/summaryPartAdded"?{threadId:d,activity:{label:"Thinking",details:[]}}:i.method==="item/agentMessage/delta"?{threadId:d,activity:{label:"Writing response",details:[]}}:null}function Kn(i){if(i.method!=="turn/started")return null;const d=Me(i.params);if(!d)return null;const v=Zt(i);if(!v)return null;const T=Me(d.turn),M=_e(T==null?void 0:T.id)||_e(d.turnId)||`${v}:unknown`;if(!M)return null;const N=ka(_e(T==null?void 0:T.startedAt))??ka(_e(d.startedAt))??ka(i.atIso)??Date.now();return{threadId:v,turnId:M,startedAtMs:N}}function ro(i){if(i.method!=="turn/completed")return null;const d=Me(i.params);if(!d)return null;const v=Zt(i);if(!v)return null;const T=Me(d.turn),M=_e(T==null?void 0:T.id)||_e(d.turnId)||`${v}:unknown`;if(!M)return null;const N=ka(_e(T==null?void 0:T.completedAt))??ka(_e(d.completedAt))??ka(i.atIso)??Date.now(),W=ka(_e(T==null?void 0:T.startedAt))??ka(_e(d.startedAt))??void 0;return{threadId:v,turnId:M,completedAtMs:N,startedAtMs:W}}function Wr(i){return`${i}:live-reasoning`}function kn(i){const d=r.value[i]??[];let v=-1;for(const T of d)typeof T.turnIndex=="number"&&Number.isFinite(T.turnIndex)&&(v=Math.max(v,T.turnIndex));return v+1}function $n(i,d,v){if(!i||!d||!Number.isInteger(v)||v<0)return;const T=Ue.value[i]??{};T[d]!==v&&(Ue.value={...Ue.value,[i]:{...T,[d]:v}})}function ar(i,d){const v=Ue.value[i]??{},T=Object.entries(v),M=Object.entries(d);T.length===M.length&&T.every(([N,W])=>d[N]===W)||(Ue.value={...Ue.value,[i]:{...d}})}function ha(i){const d=c.value[i];if(!d||d.length===0)return;const v=Ue.value[i]??{};let T=!1;const M=d.map(N=>{if(typeof N.turnIndex=="number"||!N.turnId)return N;const W=v[N.turnId];return typeof W!="number"?N:(T=!0,{...N,turnIndex:W})});T&&(c.value={...c.value,[i]:M})}function br(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/started"){const v=Me(d.item);return!v||v.type!=="reasoning"?"":_e(v.id)}return""}function sr(i){const d=Me(i.params);if(!d)return null;if(i.method==="item/reasoning/summaryTextDelta"){const v=_e(d.itemId),T=_e(d.delta);return!v||!T?null:{messageId:Wr(v),delta:T}}return null}function Wo(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/reasoning/summaryPartAdded"){const v=_e(d.itemId);return v?Wr(v):""}return""}function Ma(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/completed"){const v=Me(d.item);return!v||v.type!=="reasoning"?"":Wr(_e(v.id))}return""}function pa(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/started"){const v=Me(d.item);return!v||v.type!=="agentMessage"?"":_e(v.id)}return""}function oo(i){const d=Me(i.params);if(!d)return null;if(i.method==="item/agentMessage/delta"){const v=_e(d.itemId),T=_e(d.delta);return!v||!T?null:{messageId:v,delta:T}}return null}function $a(i){const d=Me(i.params);if(!d)return null;if(i.method==="item/completed"){const v=Me(d.item);if(!v||v.type!=="agentMessage")return null;const T=_e(v.id),M=_e(v.text);return!T||!M?null:{id:T,role:"assistant",text:M,messageType:"agentMessage.live"}}return null}function zo(i){return`/codex-local-image?path=${encodeURIComponent(i)}`}function zr(i){const d=i.trim();if(!d)return"";if(d.startsWith("data:")||d.startsWith("http://")||d.startsWith("https://")||d.startsWith("/codex-local-image?"))return d;const v=d.replace(/\s+/gu,"");return/^[A-Za-z0-9+/]+={0,2}$/u.test(v)?`data:image/png;base64,${v}`:""}function Na(i){if(i.method!=="item/completed")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v)return null;const T=_e(v.id);if(!T)return null;if(v.type==="imageView"){const W=_e(v.path);return W?{id:T,role:"assistant",text:"",images:[zo(W)],messageType:"imageView"}:null}if(v.type!=="imageGeneration"&&v.type!=="image_generation")return null;const M=_e(v.result),N=M?zr(M):"";return N?{id:T,role:"assistant",text:"",images:[N],messageType:"imageView"}:null}function So(i){var ve;if(i.method!=="item/started")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v||v.type!=="commandExecution")return null;const T=_e(v.id),M=_e(v.command);if(!T)return null;const N=typeof v.cwd=="string"?v.cwd:null,W=Zt(i),Y=_e(d==null?void 0:d.turnId)||_e(d==null?void 0:d.turn_id),ie=W&&Y?(ve=Ue.value[W])==null?void 0:ve[Y]:void 0;return{id:T,role:"system",text:M,messageType:"commandExecution",commandExecution:{command:M,cwd:N,status:"inProgress",aggregatedOutput:"",exitCode:null},turnId:Y||void 0,turnIndex:typeof ie=="number"?ie:void 0}}function Vr(i){if(i.method!=="item/commandExecution/outputDelta")return null;const d=Me(i.params);if(!d)return null;const v=_e(d.itemId),T=_e(d.delta);return!v||!T?null:{itemId:v,delta:T}}function jt(i){var St;if(i.method!=="item/completed")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v||v.type!=="commandExecution")return null;const T=_e(v.id),M=_e(v.command);if(!T)return null;const N=typeof v.cwd=="string"?v.cwd:null,W=_e(v.status),Y=W==="failed"?"failed":W==="declined"?"declined":W==="interrupted"?"interrupted":"completed",ie=typeof v.aggregatedOutput=="string"?v.aggregatedOutput:"",ve=typeof v.exitCode=="number"?v.exitCode:null,Ve=Zt(i),bt=_e(d==null?void 0:d.turnId)||_e(d==null?void 0:d.turn_id),_t=Ve&&bt?(St=Ue.value[Ve])==null?void 0:St[bt]:void 0;return{id:T,role:"system",text:M,messageType:"commandExecution",commandExecution:{command:M,cwd:N,status:Y,aggregatedOutput:ie,exitCode:ve},turnId:bt||void 0,turnIndex:typeof _t=="number"?_t:void 0}}function ir(i){var ve;if(i.method!=="item/completed")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v||v.type!=="fileChange")return null;const T=_e(v.id);if(!T)return null;const M=_e(d==null?void 0:d.threadId),N=_e(d==null?void 0:d.turnId),W=M&&N?(ve=Ue.value[M])==null?void 0:ve[N]:void 0,Y=sm(v.changes),ie=am(v.status);return Y.length===0||ie!=="completed"?null:{id:T,role:"system",text:"",messageType:"fileChange",fileChangeStatus:ie,fileChanges:Y,turnId:N||void 0,turnIndex:typeof W=="number"?W:void 0}}function La(i,d){const v=l.value[i]??[],T=sl(v,d);T!==v&&(l.value={...l.value,[i]:T})}function rs(i,d){const v=l.value[i];if(!v||v.length===0)return;const T=new Set(d.map(N=>N.id)),M=v.filter(N=>!T.has(N.id));M.length!==v.length&&(M.length===0?l.value=At(l.value,i):l.value={...l.value,[i]:M})}function Bs(i,d){const v=c.value[i];if(!v||v.length===0)return;const T=new Set(d.map(Y=>Y.id)),M=new Set(d.filter(Y=>Y.messageType==="fileChange"&&typeof Y.turnId=="string"&&Y.turnId.length>0).map(Y=>Y.turnId)),N=new Set(d.filter(Y=>Y.messageType==="fileChange"&&typeof Y.turnIndex=="number").map(Y=>Y.turnIndex)),W=v.filter(Y=>!T.has(Y.id)&&!(Y.turnId&&M.has(Y.turnId))&&!(typeof Y.turnIndex=="number"&&N.has(Y.turnIndex)));W.length!==v.length&&(W.length===0?c.value=At(c.value,i):c.value={...c.value,[i]:W})}function ma(i){if(i.method==="item/agentMessage/delta")return!0;const d=Me(i.params);if(!d)return!1;if(i.method==="item/completed"){const v=Me(d.item);return(v==null?void 0:v.type)==="agentMessage"}return!1}function os(i){var Di,cs,Fi,Ui,Bi;if(ts(i))return;if(i.method==="account/rateLimits/updated"&&Sr(),i.method==="thread/name/updated"){const st=Me(i.params),_r=_e(st==null?void 0:st.threadId),Qo=_e(st==null?void 0:st.threadName);_r&&Qo&&(Z.value={...Z.value,[_r]:Qo},Ft(),Lu(_r,Qo))}if(i.method==="account/rateLimits/updated"){rn(cm(i.params));return}const d=Us(i);if(d){Zr(d.threadId,d.usage);return}const v=Pr(i);v&&wt(v.threadId,v.activity);const T=Zt(i),M=no(i);!M&&T&&Ot(T);const N=Kn(i);N&&(Hn.set(N.turnId,N),$n(N.threadId,N.turnId,kn(N.threadId)),Ce.value={...Ce.value,[N.threadId]:N.turnId},Fr(N.threadId,N.turnId),I(N.threadId),B(N.threadId),fn(N.threadId,null),Et(N.threadId,null),Ct(N.threadId,!0),is(N.threadId),E.value[N.threadId]&&(E.value=At(E.value,N.threadId)));const W=ro(i),Y=Uo(i),ie=(W==null?void 0:W.threadId)??Zt(i),ve=ie?ot(ie):"",Ve=!!ie&&!!Y&&ve!==uo&&al(new Error(Y));if(W){ft.value[W.threadId];const st=Hn.get(W.turnId);st&&Hn.delete(W.turnId);const _r=mt((Di=Me(i.params))==null?void 0:Di.durationMs)??mt((Fi=Me((cs=Me(i.params))==null?void 0:cs.turn))==null?void 0:Fi.durationMs)??(typeof W.startedAtMs=="number"?W.completedAtMs-W.startedAtMs:null)??(st?W.completedAtMs-st.startedAtMs:null),Qo=typeof _r=="number"?Math.max(0,_r):0;fn(W.threadId,{turnId:W.turnId,durationMs:Qo}),Ce.value[W.threadId]&&(Ce.value=At(Ce.value,W.threadId)),Ct(W.threadId,!1),wt(W.threadId,null),To(W.threadId),Ve||(In(W.threadId),is(W.threadId))}if(Y){const st=(W==null?void 0:W.threadId)||Zt(i);st&&Et(st,Y),Q.value=Y,st&&Ve&&eo(st)}else W&&Et(W.threadId,null);if(M){const st=T,_r=st?ot(st):K.value.trim();st&&Et(st,M.message,{transient:M.transient}),Q.value=M.message,_r!==uo&&al(new Error(M.message))&&(st?eo(st):wn())}const bt=Qt(i);bt&&(Vt(bt.threadId,bt.message),wt(bt.threadId,{label:"Planning",details:((Ui=bt.message.plan)==null?void 0:Ui.steps.map(st=>st.step).slice(0,2))??[]}));const _t=pn(i);if(_t&&(Vt(_t.threadId,_t.message),wt(_t.threadId,{label:"Planning",details:[]})),!T||T!==n.value)return;pa(i);const St=oo(i);if(St){const st=(o.value[T]??[]).find(Qo=>Qo.id===St.messageId),_r=`${(st==null?void 0:st.text)??""}${St.delta}`;gr(T,{id:St.messageId,role:"assistant",text:_r,messageType:"agentMessage.live"})}const Sn=$a(i);Sn&&gr(T,Sn);const Da=Na(i);Da&&gr(T,Da),br(i);const us=sr(i);if(us&&yr(T,us.delta),Wo(i)){const st=s.value[T]??"";st.trim().length>0&&!st.endsWith(`
53
-
54
- `)&&Pn(T,`${st}
55
-
56
- `)}Ma(i);const wa=So(i);wa&&(La(T,wa),wt(T,{label:"Running command",details:[((Bi=wa.commandExecution)==null?void 0:Bi.command)??""]}));const Fa=Vr(i);if(Fa){const st=(l.value[T]??[]).find(_r=>_r.id===Fa.itemId);st!=null&&st.commandExecution&&La(T,{...st,commandExecution:{...st.commandExecution,aggregatedOutput:`${st.commandExecution.aggregatedOutput}${Fa.delta}`}})}const Yo=jt(i);Yo&&La(T,Yo);const ji=ir(i);if(ji&&Br(T,ji),ma(i)&&Mn(T),i.method==="turn/completed"){Wt=!1,Mn(T),l.value[T]&&(l.value=At(l.value,T));const st=Zt(i);st&&(Ct(st,!1),wt(st,null),To(st),Ve||(In(st),is(st)))}}function xo(i){if(i.method==="thread/tokenUsage/updated")return;const d=i.method,v=d==="turn/started"||d==="turn/completed"||d==="error",T=d.startsWith("thread/")||d==="turn/completed";if(!v&&!T)return;const M=Zt(i);M&&v&&q.add(M),T&&(kt=!0),!(pe!==null||typeof window>"u")&&(pe=window.setTimeout(()=>{pe=null,io()},Fu))}async function Vo(i,d){if(!Bt){Bt=!0;try{if(!d)return;const v=[];for(const T of Wl(d)){const M=Za(T);v.includes(M)||v.push(M)}if(v.length>0){const T=d.projectOrder.length>0?vs(v,i):vs(G.value,i);xa(G.value,T)||(G.value=T)}if(Object.keys(d.labels).length>0||(d.remoteProjects??[]).length>0){const T={...me.value};let M=!1;for(const[N,W]of Object.entries(d.labels)){const Y=rt(N).trim(),ie=[Za(N)];Y&&ie.push(Y);for(const ve of ie)T[ve]!==W&&(T[ve]=W,M=!0)}for(const N of d.order){const W=Za(N),Y=Qr(Rs(N));if(!Y.startsWith(".")||Y===W)continue;const ie=`${W} ${Y}`;T[W]!==void 0||T[W]===ie||(T[W]=ie,M=!0)}for(const N of d.remoteProjects??[]){const W=aI(N);T[N.id]!==W&&(T[N.id]=W,M=!0)}M&&(me.value=T)}}catch{}}}async function as(){if(!(Object.keys(Z.value).length>0))try{const i=await U_();Object.keys(i.titles).length>0&&(Z.value=i.titles)}catch{}}async function qt(){try{return await ws()}catch{return null}}async function qs(i,d,v){if(Z.value[i])return;const T=d.trim();if(!T)return;const M=T.length>300?T.slice(0,300):T;try{const N=await z_(M,v);if(!N||Z.value[i])return;Z.value={...Z.value,[i]:N},Ft(),Lu(i,N)}catch{}}function va(i,d){const v=wc(i,d),T=uI(i,d),M=cI(T,d,v);if(!d||d.order.length===0&&(d.remoteProjects??[]).length===0)return M;const N=new Set;for(const Y of yc(d,v))N.add(Y);const W=M.filter(Y=>N.has(Y.projectName)?!0:bc(Y));return lI(W,d,v)}function Mr(i,d){const v=va(i,d),T=!!(d&&(d.order.length>0||d.projectOrder.length>0||(d.remoteProjects??[]).length>0)),M=d!=null&&d.projectOrder.length?vs(yc(d,wc(i,d)),v):vs(G.value,v);xa(G.value,M)||(G.value=M,T||ai(G.value));const N=qu(v,G.value);gn(new Set(Tr(N).map(Y=>Y.id)));const W=rI(t.value,N,h.value);t.value=il(t.value,W),h.value=sn(h.value,new Set(Tr(t.value).map(Y=>Y.id))),Ft()}function ao(i){const d={};for(const[v,T]of Object.entries(i)){const M=v.trim();!M||T.length===0||(d[M]=T.map(N=>({id:N.id,text:N.text,imageUrls:[...N.imageUrls],skills:N.skills.map(W=>({name:W.name,path:W.path})),fileAttachments:N.fileAttachments.map(W=>({label:W.label,path:W.path,fsPath:W.fsPath})),collaborationMode:N.collaborationMode})))}return d}function Go(){T_(ao(f.value)).catch(()=>{})}async function y(){if(!_){_=!0;try{f.value=await Gf()}catch{}}}function b(i){ze=gh(ze,i),t.value=gh(t.value,i),h.value=At(h.value,i),Ft()}function w(i,d){if(i.length===0)return d;if(d.length===0)return i;const v=new Map;for(const M of Tr(i))v.set(M.id,M);for(const M of Tr(d))v.set(M.id,M);const T=new Map;for(const M of v.values()){const N=T.get(M.projectName);N?N.push(M):T.set(M.projectName,[M])}return Array.from(T.entries()).map(([M,N])=>({projectName:M,threads:N.sort((W,Y)=>new Date(Y.updatedAtIso).getTime()-new Date(W.updatedAtIso).getTime())})).sort((M,N)=>{var ie,ve;const W=new Date(((ie=M.threads[0])==null?void 0:ie.updatedAtIso)??0).getTime();return new Date(((ve=N.threads[0])==null?void 0:ve.updatedAtIso)??0).getTime()-W})}function L(){return Object.values(h.value).some(i=>i===!0)}function Ee(i=xt){if(!(!F||Te||L())){if(xt=i,typeof window>"u"){ut(i);return}se!==null&&window.clearTimeout(se),se=window.setTimeout(()=>{se=null,!(!F||L())&&ut(xt)},_E)}}async function ut(i){if(!(Te||!F||L())){Te=!0;try{const d=await Df(F,N0());F=d.nextCursor,$e=d.nextCursor===null,ze=w(ze,d.groups),Mr(ze,i)}catch{}finally{Te=!1,F&&!L()&&Ee(i)}}}async function Pt(){if(at){await at;return}at=(async()=>{var i;fe.value||(De.value=!0);try{const[d,v]=await Promise.all([Df(),qt(),as()]);xt=v;const T=d.groups;ze=fe.value?w(ze,T):T,F=fe.value&&!$e?F:d.nextCursor,$e=d.nextCursor===null,await Vo(T,v),Mr(ze,v),fe.value=!0,$e||Ee(v);const M=Tr(e.value);xr(M),!M.some(W=>W.id===n.value)&&!n.value&&zt(((i=M[0])==null?void 0:i.id)??"")}finally{De.value=!1}})().finally(()=>{at=null}),await at}async function Cn(i,d={}){if(!i)return;const v=dt.get(i);if(v){await v;return}const T=oe.value[i]===!0,M=d.silent!==!0&&!T;M&&(Ge.value=!0);const N=(async()=>{try{const W=Yt(i),Y=ke.value[i]??"",ie=Date.now()-(U.get(i)??0)<CE;if(T&&(ie||(W.length===0||Y===W)&&h.value[i]!==!0)){Ar(i);return}const bt=Se.value[i]!==!0?await Pu(i):null,_t=bt??await Ff(i);bt&&(Wn(i,bt.model),Se.value={...Se.value,[i]:!0});const{messages:St,inProgress:Sn,activeTurnId:Da,turnIndexByTurnId:us}=_t;mr(i,St),ar(i,us),ha(i);const Oi=r.value[i]??[],wa=WE(Oi,St,{preserveMissing:d.silent===!0});yn(i,wa);const Fa=o.value[i]??[];if(Sn){const Yo=VE(Fa,St);Er(i,Yo)}else rr(i);rs(i,St),Bs(i,St),oe.value={...oe.value,[i]:!0},U.set(i,Date.now()),W&&(ke.value={...ke.value,[i]:W}),Ct(i,Sn),Da?Ce.value={...Ce.value,[i]:Da}:Ce.value[i]&&(Ce.value=At(Ce.value,i)),Sn||re(i),Ar(i)}finally{M&&(Ge.value=!1)}})().finally(()=>{dt.delete(i)});dt.set(i,N),await N}async function an(i,d={}){i&&oe.value[i]!==!0&&await Cn(i,d)}async function Fn(){if(lt){await lt;return}lt=(async()=>{var i,d;try{const v=((d=(i=Ln.value)==null?void 0:i.cwd)==null?void 0:d.trim())??"";xe.value=await G_(v?[v]:void 0)}catch{}finally{lt=null}})(),await lt}async function so(i={}){await Promise.allSettled([jr({providerChanged:i.providerChanged,includeProviderModels:i.includeProviderModels}),er(),bo(),Fn()])}function ga(i={}){const d=()=>{so(i)};if(typeof window>"u"){d();return}window.setTimeout(d,0)}async function Ko(i={}){Q.value="";const d=i.includeSelectedThreadMessages!==!1,v=i.awaitAncillaryRefreshes===!0;try{await y(),await Pt(),d&&await Cn(n.value),v?await so({providerChanged:i.providerChanged,includeProviderModels:i.providerChanged===!0||v}):ga({providerChanged:i.providerChanged,includeProviderModels:!1})}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Hs(i){zt(i);try{await Cn(i),Fn()}catch(d){Q.value=d instanceof Error?d.message:"Unknown application error"}}async function zl(i){const d=n.value===i,v=d?wE(Tr(e.value),i):"";d&&(zt(v),v&&Cn(v,{silent:!0}));try{await r_(i),b(i),await Pt(),d&&v&&n.value===v&&await an(v,{silent:!0})}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Oa(i,d){const v=d.trim();if(!(!i||!v))try{await o_(i,v),Z.value={...Z.value,[i]:v},Ft(),Lu(i,v)}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Mi(i){var W,Y;const d=i.trim();if(!d)return"";const v=Tr(t.value).find(ie=>ie.id===d),T=((W=v==null?void 0:v.cwd)==null?void 0:W.trim())??"",M=((Y=v==null?void 0:v.title)==null?void 0:Y.trim())??"Forked chat",N=ot(d);Q.value="";try{const ie=await Hf(d,T||void 0,N||void 0),ve=ie.threadId.trim();return ve?(pr(ve,T,M),Wn(ve,ie.model),Se.value={...Se.value,[ve]:!0},zt(ve),await Pt(),await Cn(ve),ve):""}catch(ie){return Q.value=ie instanceof Error?ie.message:"Unknown application error",""}}async function Ws(i,d){var W;const v=i.trim();if(!v||!Number.isInteger(d)||d<0)return"";if(h.value[v]===!0)return Q.value="Finish the current turn before forking from a response.","";if(oe.value[v]!==!0)try{await Cn(v)}catch(Y){return Q.value=Y instanceof Error?Y.message:"Unknown application error",""}const T=r.value[v]??[];let M=-1;for(const Y of T)typeof Y.turnIndex=="number"&&Number.isFinite(Y.turnIndex)&&(M=Math.max(M,Y.turnIndex));if(M>=0&&d>M)return"";const N=Tr(t.value).find(Y=>Y.id===v)??null;try{Q.value="";const Y=await Hf(v),ie=Y.threadId.trim();if(!ie)return"";const ve=Y.cwd.trim()||((W=N==null?void 0:N.cwd)==null?void 0:W.trim())||"",Ve=fI((N==null?void 0:N.title)||(N==null?void 0:N.preview)||"Untitled thread");pr(ie,ve,Ve),Wn(ie,Y.model),yn(ie,Y.messages),oe.value={...oe.value,[ie]:!0},Se.value={...Se.value,[ie]:!0},I(ie),Er(ie,[]),Mn(ie),l.value[ie]&&(l.value=At(l.value,ie)),fn(ie,null),wt(ie,null),Et(ie,null),Ct(ie,!1);const bt=M-d;if(bt>0){const _t=await Mu(ie,bt);yn(ie,_t)}return await Oa(ie,Ve),zt(ie),Pt().catch(()=>{}),ie}catch(Y){return Q.value=Y instanceof Error?Y.message:"Unknown application error",""}}async function Ao(i,d,v=[],T=[],M=[]){if(!i||!d.trim()||v.length>0||T.length>0||M.length>0)return!1;const W=(He.value[i]??[]).filter(ve=>ve.method==="item/tool/requestUserInput");if(W.length!==1)return!1;const[Y]=W,ie=Co(Y);return ie.length!==1?!1:Eo({id:Y.id,result:{answers:{[ie[0]]:{answers:[d.trim()]}}}})}async function $i(i,d=[],v=[],T="steer",M=[],N,W){if(z.value)return;const Y=n.value,ie=i.trim();if(!Y||!ie&&d.length===0&&M.length===0||await Ao(Y,ie,d,v,M))return;const ve=h.value[Y]===!0;if(ve&&T==="queue"){const Ve=f.value[Y]??[],bt=`q-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,_t=[...Ve],St=typeof N=="number"?Math.max(0,Math.min(N,_t.length)):_t.length;_t.splice(St,0,{id:bt,text:ie,imageUrls:d,skills:v,fileAttachments:M,collaborationMode:W==="plan"?"plan":W==="default"?"default":D.value}),f.value={...f.value,[Y]:_t},Go();return}if(ve){Wt=!0,ss(Y,ie,d,v,M,W).catch(Ve=>{const bt=Ve instanceof Error?Ve.message:"Unknown application error";Et(Y,bt),Q.value=bt});return}Q.value="",Wt=!0,fn(Y,null),wt(Y,{label:"Thinking",details:Zn(ot(Y),X.value,W==="plan"?"plan":W==="default"?"default":D.value)}),Et(Y,null),Ct(Y,!0);try{await ss(Y,ie,d,v,M,W)}catch(Ve){Wt=!1,Ct(Y,!1),wt(Y,null);const bt=Ve instanceof Error?Ve.message:"Unknown application error";throw Et(Y,bt),Q.value=bt,Ve}}async function zs(i,d,v=[],T=[],M=[]){if(z.value)return"";const N=i.trim(),W=d.trim(),Y=ot(Aa).trim(),ie=D.value;if(!N&&v.length===0&&M.length===0)return"";x.value=!0,Q.value="";let ve="";try{try{const St=await qf(W||void 0,Y||void 0);ve=St.threadId,Wn(ve,St.model),Dt(ve,ie)}catch(St){if(Y&&Y!==uo&&al(St)){await wn();const Sn=await qf(W||void 0,uo);ve=Sn.threadId,Wn(ve,Sn.model),Dt(ve,ie)}else throw St}if(!ve)return"";pr(ve,W,N||"[Image]"),nr(ve),Se.value={...Se.value,[ve]:!0},zt(ve),Wt=!0,fn(ve,null),wt(ve,{label:"Thinking",details:Zn(ot(ve),X.value,ie)}),Et(ve,null),Ct(ve,!0);const Ve=ve,bt=W||null,_t=N;return ss(ve,N,v,T,M,ie).catch(St=>{Wt=!1,Ct(ve,!1),wt(ve,null);const Sn=St instanceof Error?St.message:"Unknown application error";Et(ve,Sn),Q.value=Sn}).finally(()=>{x.value=!1}),qs(Ve,_t,bt),ve}catch(Ve){Wt=!1,ve&&(Ct(ve,!1),wt(ve,null));const bt=Ve instanceof Error?Ve.message:"Unknown application error";throw ve&&Et(ve,bt),Q.value=bt,x.value=!1,Ve}}async function ss(i,d,v=[],T=[],M=[],N){const W=X.value,Y=N==="plan"?"plan":N==="default"?"default":D.value,ie=d.trim(),ve=[...v];if(ve.length===0&&we(ie)){const _t=he(i);_t&&ve.push(_t)}const Ve=T.map(_t=>({name:_t.name,path:_t.path})),bt=M.map(_t=>({..._t}));on(i,{text:ie,imageUrls:[...ve],skills:Ve,fileAttachments:bt,effort:W,collaborationMode:Y,fallbackRetried:!1});try{if(Se.value[i]!==!0){const Sn=await Pu(i);Wn(i,Sn.model)}const _t=ot(i);let St="";try{St=await $u(i,d,ve,_t||void 0,W||void 0,T.length>0?T:void 0,M,Y)}catch(Sn){if(_t&&_t!==uo&&al(Sn))await wn(i),on(i,{text:ie,imageUrls:[...ve],skills:Ve,fileAttachments:bt,effort:W,collaborationMode:Y,fallbackRetried:!0}),St=await $u(i,d,ve,uo,W||void 0,T.length>0?T:void 0,M,Y);else throw Sn}St&&(Ce.value={...Ce.value,[i]:St},Fr(i,St)),Se.value={...Se.value,[i]:!0},q.add(i),await io(),Dr(i)}catch(_t){throw _t}}async function Vs(i){if(g.value[i]!==!0){g.value={...g.value,[i]:!0};try{f.value=await Gf()}catch{}finally{g.value=At(g.value,i)}}}function is(i){Vs(i),!(typeof window>"u")&&window.setTimeout(()=>{Vs(i)},650)}async function Vl(){const i=n.value;if(!i||h.value[i]!==!0||Qe.value[i]===!0)return;let d=Ce.value[i];if(!d){const{activeTurnId:v}=await Ff(i);d=v,d&&(Ce.value={...Ce.value,[i]:d})}if(!d)throw new Error("Could not determine active turn id for interrupt");P.value=!0,Q.value="";try{await c_(i,d),Ct(i,!1),wt(i,null),Et(i,null),Ce.value[i]&&(Ce.value=At(Ce.value,i)),q.add(i),kt=!0,await io()}catch(v){const T=v instanceof Error?v.message:"Failed to interrupt active turn";Et(i,T),Q.value=T}finally{P.value=!1}}async function ja(i){var Y,ie;const d=n.value;if(!d||ae.value||!i.trim())return;const v=r.value[d]??[],T=v.find(ve=>ve.turnId===i),M=typeof(T==null?void 0:T.turnIndex)=="number"?T.turnIndex:-1;if(M<0)return;const N=v.reduce((ve,Ve)=>typeof Ve.turnIndex=="number"&&Ve.turnIndex>ve?Ve.turnIndex:ve,-1);if(N<0||M>N)return;const W=N-M+1;if(!(W<1)){ae.value=!0,Q.value="";try{const ve=((ie=(Y=Ln.value)==null?void 0:Y.cwd)==null?void 0:ie.trim())??"";ve&&await a_(d,i,ve);const Ve=await Mu(d,W);yn(d,Ve),Er(d,[]),Mn(d),l.value[d]&&(l.value=At(l.value,d)),fn(d,null),wt(d,null),Et(d,null),kt=!0,await io()}catch(ve){Q.value=ve instanceof Error?ve.message:"Failed to rollback thread"}finally{ae.value=!1}}}let ls=null;async function Gl(i,d){try{const v=await ws(),T={...v.labels};let M=!1;for(const N of v.order){if(!pl(N,i))continue;const W=d.trim();W.length===0?T[N]!==void 0&&(delete T[N],M=!0):T[N]!==W&&(T[N]=W,M=!0)}M&&await Nu({order:v.order,labels:T,active:v.active,projectOrder:v.projectOrder})}catch{}}function Ni(i,d){i.length===0||(me.value[i]??"")===d||(me.value={...me.value,[i]:d},vh(me.value),ls!==null&&clearTimeout(ls),ls=setTimeout(()=>{ls=null,Gl(i,d)},500))}async function Gs(i){var N;if(i.length===0)return;const d=G.value.filter(W=>W!==i);if(xa(G.value,d)||(G.value=d,ai(G.value)),t.value=t.value.filter(W=>W.projectName!==i),me.value[i]!==void 0){const W={...me.value};delete W[i],me.value=W,vh(W)}Ft();const v=Tr(e.value);xr(v),v.some(W=>W.id===n.value)||zt(((N=v[0])==null?void 0:N.id)??"");const M=new Set;try{const W=await ws();sI(W,i).forEach(Y=>{M.add(Y)})}catch{}if(M.size>0)try{const W=await ws(),Y=W.order.filter(Ve=>!M.has(Ve)),ie=W.active.filter(Ve=>!M.has(Ve)),ve=ie.length===0&&Y.length>0?[Y[0]]:ie;await Nu({order:Y,labels:ZE(W.labels,M),active:ve,projectOrder:W.projectOrder.filter(Ve=>Ve!==i&&!M.has(Ve))});return}catch{}await Ks()}function ya(i,d){if(i.length===0||t.value.length===0)return;const v=t.value.map(ie=>ie.projectName),T=v.indexOf(i);if(T===-1)return;const M=Math.max(0,Math.min(d,v.length-1)),N=UE(v,T,M);if(N===v)return;const W=vs(N,t.value);G.value=W,ai(G.value);const Y=qu(t.value,G.value);t.value=il(t.value,Y),Ft(),Ks()}function Kl(i){const d=i.trim();if(!d)return;const v=[d,...G.value.filter(M=>M!==d)];if(xa(G.value,v))return;G.value=v,ai(G.value);const T=qu(t.value,G.value);t.value=il(t.value,T),Ft(),Ks()}async function Ks(){try{const i=await ws(),d=iI(i,G.value,t.value);await Nu({order:d.order,labels:i.labels,active:d.active,projectOrder:d.projectOrder})}catch{}}async function io(){if(le.value){typeof window<"u"&&pe===null&&(pe=window.setTimeout(()=>{pe=null,io()},Fu));return}le.value=!0;const i=kt,d=new Set(q);kt=!1,q.clear();try{i&&await Pt();const v=n.value;if(!v)return;const T=d.has(v),M=h.value[v]===!0,N=Yt(v),W=ke.value[v]??"";(N.length>0&&N!==W||M&&oe.value[v]!==!0||T&&oe.value[v]!==!0||i&&oe.value[v]!==!0)&&await Cn(v,{silent:!0})}catch{}finally{le.value=!1,(kt||q.size>0)&&typeof window<"u"&&pe===null&&(pe=window.setTimeout(()=>{pe=null,io()},Fu))}}async function Yl(){await Li(),kt=!fe.value,n.value&&oe.value[n.value]!==!0&&q.add(n.value),await io()}function Ql(){typeof window>"u"||je||(Li(),je=W0(i=>{if(i.method==="ready"){hn(),Yl();return}os(i),xo(i)}))}async function Li(){try{const d=(await Y0()).map(v=>Ir(v)).filter(v=>v!==null);Rr(d)}catch{}}async function Eo(i){try{return await K0(i.id,{result:i.result,error:i.error}),Hr(i.id),!0}catch(d){return Q.value=d instanceof Error?d.message:"Failed to reply to server request",!1}}function Jl(){if(je&&(je(),je=null),kt=!1,q.clear(),Hn.clear(),pe!==null&&typeof window<"u"&&(window.clearTimeout(pe),pe=null),Pe!==null&&typeof window<"u"&&(window.clearTimeout(Pe),Pe=null),se!==null&&typeof window<"u"&&(window.clearTimeout(se),se=null),typeof window<"u")for(const i of Ie.values())window.clearTimeout(i);Ie.clear(),Wt=!1,r.value={},a.value={},o.value={},s.value={},l.value={},c.value={},Ue.value={},Ke.value={},Be.value={},Ne.value={},Ce.value={},Qe.value={},tt.value={},Fe.value={},f.value={},g.value={},Go(),Je.value=null,We.value={}}const Ys=te(()=>{const i=n.value;return i?f.value[i]??[]:[]});function Qs(i){const d=n.value;if(!d)return;const v=f.value[d];if(!v)return;const T=v.filter(M=>M.id!==i);f.value=T.length>0?{...f.value,[d]:T}:At(f.value,d),Go()}function Xl(i,d){const v=n.value;if(!v)return;const T=f.value[v];if(!T)return;const M=T.findIndex(ie=>ie.id===i),N=T.findIndex(ie=>ie.id===d);if(M<0||N<0||M===N)return;const W=[...T],[Y]=W.splice(M,1);W.splice(N,0,Y),f.value={...f.value,[v]:W},Go()}function Zl(i){const d=n.value;if(!d)return;const v=f.value[d];if(!v)return;const T=v.find(M=>M.id===i);T&&(Qs(i),dn(T.collaborationMode),$i(T.text,T.imageUrls,T.skills,"steer",T.fileAttachments))}function eu(i){zt(i)}return{projectGroups:e,projectDisplayNameById:me,selectedThread:Ln,selectedThreadTokenUsage:wo,selectedThreadTerminalOpen:Cr,isSelectedThreadInterruptPending:fa,selectedThreadServerRequests:Do,selectedLiveOverlay:vn,codexQuota:Xt,selectedThreadId:n,availableCollaborationModes:H,availableModelIds:O,selectedCollaborationMode:D,selectedModelId:K,selectedReasoningEffort:X,selectedSpeedMode:ye,installedSkills:xe,accountRateLimitSnapshots:Ae,messages:Fo,isLoadingThreads:De,isLoadingMessages:Ge,isSendingMessage:x,isInterruptingTurn:P,isUpdatingSpeedMode:z,isRollingBack:ae,error:Q,refreshAll:Ko,refreshSkills:Fn,selectThread:Hs,loadMessages:Cn,ensureThreadMessagesLoaded:an,setThreadTerminalOpen:Ur,toggleSelectedThreadTerminal:vr,archiveThreadById:zl,renameThreadById:Oa,forkThreadById:Mi,forkThreadFromTurn:Ws,rollbackSelectedThread:ja,sendMessageToSelectedThread:$i,sendMessageToNewThread:zs,interruptSelectedThreadTurn:Vl,selectedThreadQueuedMessages:Ys,removeQueuedMessage:Qs,reorderQueuedMessage:Xl,steerQueuedMessage:Zl,setSelectedCollaborationMode:dn,readModelIdForThread:ot,setSelectedModelIdForThread:Or,setSelectedModelId:nn,setSelectedReasoningEffort:On,updateSelectedSpeedMode:to,respondToPendingServerRequest:Eo,renameProject:Ni,removeProject:Gs,reorderProject:ya,pinProjectToTop:Kl,startPolling:Ql,stopPolling:Jl,primeSelectedThread:eu}}const pI={class:"sidebar-root"},mI={class:"sidebar-scrollable"},vI=["aria-pressed","aria-label","title"],gI={key:1,class:"sidebar-search-bar"},yI=["placeholder"],wI=["aria-label"],bI={class:"sidebar-skills-link-icon","aria-hidden":"true"},_I={class:"sidebar-skills-link-copy"},TI={class:"sidebar-skills-link-title"},kI={class:"sidebar-skills-link-subtitle"},CI={class:"sidebar-settings-account-section"},SI={class:"sidebar-settings-account-header"},xI={class:"sidebar-settings-account-header-main"},AI=["aria-expanded","title"],EI={class:"sidebar-settings-account-collapse-icon"},II={class:"sidebar-settings-account-title"},RI={class:"sidebar-settings-account-count"},PI=["disabled"],MI={key:0,class:"sidebar-settings-account-error"},$I={class:"sidebar-settings-account-login"},NI=["disabled"],LI=["href"],OI={key:1,class:"sidebar-settings-account-empty"},jI={key:2,class:"sidebar-settings-account-list"},DI=["title","onMouseenter","onMouseleave"],FI={class:"sidebar-settings-account-main"},UI={class:"sidebar-settings-account-email"},BI={class:"sidebar-settings-account-meta"},qI={class:"sidebar-settings-account-quota"},HI={class:"sidebar-settings-account-id"},WI={class:"sidebar-settings-account-actions"},zI=["disabled","onClick"],VI=["disabled","onClick"],GI=["title"],KI={class:"sidebar-settings-label"},YI=["title"],QI={class:"sidebar-settings-label"},JI={class:"sidebar-settings-value"},XI=["title"],ZI={class:"sidebar-settings-label"},eR={class:"sidebar-settings-value"},tR=["title"],nR={class:"sidebar-settings-label"},rR=["title"],oR={class:"sidebar-settings-label"},aR={class:"sidebar-settings-value"},sR=["title"],iR={class:"sidebar-settings-label"},lR=["title"],uR={class:"sidebar-settings-label"},cR=["title"],dR={class:"sidebar-settings-label"},fR={key:0,class:"sidebar-settings-row sidebar-settings-error"},hR={key:1,class:"sidebar-settings-row sidebar-settings-row--input"},pR={class:"sidebar-settings-provider-info"},mR={class:"sidebar-settings-label"},vR={class:"sidebar-settings-provider-link",href:"https://openrouter.ai/keys",target:"_blank",rel:"noopener noreferrer"},gR={class:"sidebar-settings-key-group"},yR={class:"sidebar-settings-key-masked"},wR=["disabled","title"],bR=["placeholder"],_R=["disabled"],TR={class:"sidebar-settings-row sidebar-settings-row--select",style:{"margin-top":"4px",padding:"0"}},kR={class:"sidebar-settings-label"},CR=["aria-label"],SR=["disabled"],xR=["disabled"],AR={key:2,class:"sidebar-settings-row sidebar-settings-row--input"},ER={class:"sidebar-settings-provider-info"},IR={class:"sidebar-settings-label"},RR={class:"sidebar-settings-provider-link",href:"https://opencode.ai/auth",target:"_blank",rel:"noopener noreferrer"},PR={class:"sidebar-settings-key-group"},MR=["placeholder"],$R=["disabled"],NR={key:3,class:"sidebar-settings-row sidebar-settings-row--input"},LR={class:"sidebar-settings-label"},OR={class:"sidebar-settings-key-group"},jR=["placeholder"],DR={class:"sidebar-settings-label",style:{"margin-top":"4px"}},FR={class:"sidebar-settings-key-group"},UR=["placeholder"],BR=["disabled"],qR={class:"sidebar-settings-row sidebar-settings-row--select",style:{"margin-top":"4px",padding:"0"}},HR={class:"sidebar-settings-label"},WR=["aria-label"],zR=["title"],VR={class:"sidebar-settings-label"},GR={class:"sidebar-settings-label"},KR={class:"sidebar-settings-value"},YR={key:4,class:"sidebar-settings-telegram-panel"},QR={class:"sidebar-settings-field"},JR={class:"sidebar-settings-field-label"},XR={class:"sidebar-settings-field"},ZR={class:"sidebar-settings-field-label"},eP={class:"sidebar-settings-field-help"},tP={key:0,class:"sidebar-settings-telegram-error"},nP={class:"sidebar-settings-telegram-actions"},rP=["disabled"],oP=["data-state","title"],aP={class:"sidebar-settings-label"},sP=["data-state"],iP={class:"sidebar-settings-context-meta"},lP={class:"sidebar-settings-rate-limits"},uP=["aria-label"],cP={class:"sidebar-settings-button-version"},dP={key:0,class:"content-keyboard-spacer","aria-hidden":"true"},fP={key:1,class:"skills-route-header-icon","aria-hidden":"true"},hP={class:"content-body"},pP={key:1,class:"content-grid content-grid-home"},mP={class:"new-thread-empty"},vP={class:"new-thread-hero"},gP=["title"],yP={class:"new-thread-folder-actions"},wP={key:1,class:"new-thread-launch-card","aria-label":"Plugins and Apps announcement"},bP={class:"new-thread-launch-card-copy"},_P={class:"new-thread-launch-card-topline"},TP={class:"new-thread-launch-card-badge","aria-hidden":"true"},kP={class:"new-thread-launch-card-eyebrow"},CP={class:"new-thread-launch-card-title"},SP={class:"new-thread-launch-card-text"},xP={class:"new-thread-launch-card-actions"},AP=["aria-label","onKeydown"],EP={class:"new-thread-open-folder-header"},IP={class:"new-thread-open-folder-title"},RP={class:"new-thread-open-folder-label"},PP={class:"new-thread-open-folder-current"},MP=["placeholder","title","disabled","onKeydown"],$P=["disabled"],NP={class:"new-thread-open-folder-actions"},LP={class:"new-thread-open-folder-toggle"},OP=["aria-pressed","disabled"],jP={key:0,class:"new-thread-open-folder-create"},DP={class:"new-thread-open-folder-create-composer"},FP=["placeholder","onKeydown"],UP=["disabled"],BP={key:0,class:"new-thread-open-folder-error"},qP=["placeholder","onKeydown"],HP={key:1,class:"new-thread-open-folder-error-actions"},WP={class:"new-thread-open-folder-error"},zP=["disabled"],VP={key:2,class:"new-thread-open-folder-status"},GP={key:3,class:"new-thread-open-folder-status"},KP={key:4,class:"new-thread-open-folder-list"},YP=["title","disabled","onClick"],QP={class:"new-thread-open-folder-item-name"},JP=["disabled","onClick"],XP={key:3,class:"new-thread-branch-select"},ZP={class:"new-thread-branch-select-label"},eM={class:"new-thread-branch-select-help"},tM={key:4,class:"new-thread-runtime-help"},nM={class:"worktree-init-status-title"},rM={class:"worktree-init-status-message"},oM={class:"composer-with-queue"},aM={key:2,class:"content-grid"},sM={class:"content-thread"},iM={class:"composer-with-queue"},lM=["aria-label"],uM={class:"codex-login-modal-header"},cM={class:"codex-login-modal-title"},dM=["aria-label","disabled"],fM={class:"codex-login-modal-copy"},hM=["href"],pM=["placeholder","disabled"],mM={key:1,class:"codex-login-modal-error"},vM={class:"codex-login-modal-actions"},gM=["disabled"],yM=["disabled"],yh="codex-web-local.sidebar-collapsed.v1",wh="codex-web-local.accounts-section-collapsed.v1",bh="codex-web-local.terminal-quick-commands.v1",_h="__toggle_terminal__",Th="codex-web-local.send-with-enter.v1",kh="codex-web-local.in-progress-send-mode.v1",Ch="codex-web-local.dark-mode.v1",Sh="codex-web-local.dictation-click-to-toggle.v1",xh="codex-web-local.dictation-auto-send.v1",Ah="codex-web-local.dictation-language.v1",Eh="codex-web-local.chat-width.v1",wM=400,bM=qn({__name:"App",setup(e){var bd,_d;const t=Ji(()=>Zi(()=>import("./ThreadConversation-hYPN5iOC.js"),__vite__mapDeps([0,1]))),n=Ji(()=>Zi(()=>import("./ThreadTerminalPanel-CJwoNQG-.js"),__vite__mapDeps([2,3]))),r=Ji(()=>Zi(()=>import("./ReviewPane-Daugh319.js"),__vite__mapDeps([4,5]))),a=Ji(()=>Zi(()=>import("./DirectoryHub-mhcULdfw.js"),__vite__mapDeps([6,7]))),{t:o,uiLanguage:s,uiLanguageOptions:l,setUiLanguage:c}=Pa(),h="44cd",f="0.1.87",g={sendWithEnter:o("When enabled, press Enter to send. When disabled, use Command+Enter to send."),inProgressSendMode:o("If a turn is still running, choose whether a new prompt should steer the current turn or be queued."),appearance:o("Switch between system theme, light mode, and dark mode."),chatWidth:o("Choose how wide the conversation column and composer can grow on desktop screens."),dictationClickToToggle:o("Use click-to-start and click-to-stop dictation instead of hold-to-talk."),dictationAutoSend:o("Automatically send transcribed dictation when recording stops."),dictationLanguage:o("Choose transcription language or keep auto-detect.")},_={standard:{label:"Standard",columnMax:"45rem",cardMax:"76ch"},wide:{label:"Wide",columnMax:"72rem",cardMax:"88ch"},"extra-wide":{label:"Extra wide",columnMax:"96rem",cardMax:"96ch"}},E={en:"english",zh:"chinese",de:"german",es:"spanish",ru:"russian",ko:"korean",fr:"french",ja:"japanese",pt:"portuguese",tr:"turkish",pl:"polish",ca:"catalan",nl:"dutch",ar:"arabic",sv:"swedish",it:"italian",id:"indonesian",hi:"hindi",fi:"finnish",vi:"vietnamese",he:"hebrew",uk:"ukrainian",el:"greek",ms:"malay",cs:"czech",ro:"romanian",da:"danish",hu:"hungarian",ta:"tamil",no:"norwegian",th:"thai",ur:"urdu",hr:"croatian",bg:"bulgarian",lt:"lithuanian",la:"latin",mi:"maori",ml:"malayalam",cy:"welsh",sk:"slovak",te:"telugu",fa:"persian",lv:"latvian",bn:"bengali",sr:"serbian",az:"azerbaijani",sl:"slovenian",kn:"kannada",et:"estonian",mk:"macedonian",br:"breton",eu:"basque",is:"icelandic",hy:"armenian",ne:"nepali",mn:"mongolian",bs:"bosnian",kk:"kazakh",sq:"albanian",sw:"swahili",gl:"galician",mr:"marathi",pa:"punjabi",si:"sinhala",km:"khmer",sn:"shona",yo:"yoruba",so:"somali",af:"afrikaans",oc:"occitan",ka:"georgian",be:"belarusian",tg:"tajik",sd:"sindhi",gu:"gujarati",am:"amharic",yi:"yiddish",lo:"lao",uz:"uzbek",fo:"faroese",ht:"haitian creole",ps:"pashto",tk:"turkmen",nn:"nynorsk",mt:"maltese",sa:"sanskrit",lb:"luxembourgish",my:"myanmar",bo:"tibetan",tl:"tagalog",mg:"malagasy",as:"assamese",tt:"tatar",haw:"hawaiian",ln:"lingala",ha:"hausa",ba:"bashkir",jw:"javanese",su:"sundanese",yue:"cantonese"},{projectGroups:O,projectDisplayNameById:H,selectedThread:ne,selectedThreadTokenUsage:j,selectedThreadTerminalOpen:D,selectedThreadServerRequests:K,selectedLiveOverlay:X,codexQuota:ye,selectedThreadId:de,availableCollaborationModes:be,availableModelIds:Le,selectedCollaborationMode:G,selectedReasoningEffort:me,selectedSpeedMode:ke,installedSkills:oe,accountRateLimitSnapshots:Se,messages:Ue,isLoadingThreads:Be,isLoadingMessages:Ke,isSendingMessage:Ne,isInterruptingTurn:Ce,isSelectedThreadInterruptPending:Qe,isUpdatingSpeedMode:tt,refreshAll:Fe,refreshSkills:He,selectThread:ft,ensureThreadMessagesLoaded:Je,setThreadTerminalOpen:We,toggleSelectedThreadTerminal:Tt,archiveThreadById:Z,forkThreadById:xe,renameThreadById:Ae,forkThreadFromTurn:De,sendMessageToSelectedThread:Ge,sendMessageToNewThread:x,interruptSelectedThreadTurn:P,selectedThreadQueuedMessages:z,removeQueuedMessage:ae,reorderQueuedMessage:Q,steerQueuedMessage:le,setSelectedCollaborationMode:fe,readModelIdForThread:ge,setSelectedModelIdForThread:we,setSelectedReasoningEffort:he,updateSelectedSpeedMode:je,respondToPendingServerRequest:pe,renameProject:Pe,removeProject:Ie,reorderProject:at,pinProjectToTop:dt,startPolling:lt,stopPolling:gt,primeSelectedThread:kt,rollbackSelectedThread:q}=hI(),U=Hb(),F=qb(),{isMobile:se}=Hc(),Te=A(null),$e=A(null),ze=A(null),xt=A(null),Bt=A(null),Wt=A(!1),Hn=A(!1),hr=A(!1),Xr=A(!0),Ln=A([]),Cr=A(Jm()),fa=A(""),Do=A(null),vn=A(!1),Xt=A("");let wo=!1;const Fo=A(!1),ot=A(""),cn=A("local"),zt=A({}),Or=new Map,nn=A(""),Wn=A([]),Zr=A(!1),dn=A({order:[],labels:{},projectOrder:[]}),Dt=A({phase:"idle",title:"",message:""}),rn=A(Hv()),wn=A(""),on=A(!1),In=A(null),eo=A(null),On=A(null),to=A(null),bo=A(null);let Zn=null,jr=null,er=0,Sr=0;const bn=A("New Project (1)"),Dr=A(""),jn=A(!1),tr=A(zv()),zn=A(!1),_o=A([]),Ft=A(null),pr=A(null),xr=A(null),Ar=A(null),fn=A(!1),Ct=A(!1),yt=A(""),nr=A({}),Rn=A(""),Fr=A(""),gn=A(!1),mr=A(!1),To=A(null),wt=A([]),Et=A(!1),Ot=A(!1),hn=A(!1),Yt=A(!1),Ur=A(!1),vr=A(""),yn=A(""),Er=A(null),rr=A(""),Dn=A(""),Vn=A(""),Vt=A(""),gr=A(iu(Th,!0)),Br=A(Rv()),Pn=A(Iv()),yr=A(Pv()),Mn=A(iu(Sh,!1)),I=A(iu(xh,!0)),B=A(Bv()),re=te(()=>qv()),Re=A(!1),vt=A(!1),Qt=A(!1),pn=A(""),Me=A(!1),_e=A(null),mt=A(!1),_n=A(""),Gn=A("codex"),Us=te(()=>[{value:"codex",label:"Codex"},{value:"openrouter",label:"OpenRouter"},{value:"opencode-zen",label:"OpenCode Zen"},{value:"custom",label:o("Custom endpoint")}]),Zt=A(""),Uo=A(""),no=A("responses"),Ir=A("responses"),Bo=A(""),qo=A(!1),or=A(""),Ho=A(""),qr=A(""),ko=A(!1),wr=A(!1),Co=A(""),Tn=A(""),Hr=A(!1),Rr=A(!1),ts=A(null),ns=A(null),Pr=A(""),Kn=A(""),ro=A(""),Wr=A([]),kn=A(""),$n=A(!1),ar=A(!1),ha=A(!1),br=A(""),sr=A({configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:""}),Wo=A(null),Ma=A(!1),pa=A(!1),oo=A(typeof window<"u"?((bd=window.visualViewport)==null?void 0:bd.height)??window.innerHeight:0),$a=A(typeof window<"u"?((_d=window.visualViewport)==null?void 0:_d.offsetTop)??0:0),zo=A(typeof window<"u"?window.innerHeight:0);let zr=null,Na=!1,So=0;const Vr=te(()=>{const u=U.params.threadId;return typeof u=="string"?u:""}),jt=te(()=>U.name==="home"),ir=te(()=>U.name==="skills"),La=te(()=>{var u;return ir.value?o("Skills"):jt.value?o("Start new thread"):((u=ne.value)==null?void 0:u.title)??o("Choose a thread")}),rs=typeof window<"u"&&(window.location.hostname||window.location.host)||"codexui",Bs=te(()=>{var p,C;return(((C=(p=ne.value)==null?void 0:p.title)==null?void 0:C.trim())??"")||rs}),ma=te(()=>Ue.value.filter(u=>{const p=Gv(u.messageType,u.role);return p==="worked"?!0:!(p==="turnActivity.live"||p==="turnError.live"||p==="agentReasoning.live")})),os=te(()=>X.value),xo=te(()=>jt.value?"__new-thread__":de.value),Vo=te(()=>ge(xo.value)),as=te(()=>{const u=K.value;return u.length>0?u[u.length-1]:null}),qt=te(()=>{var u,p;return jt.value?ot.value.trim():((p=(u=ne.value)==null?void 0:u.cwd)==null?void 0:p.trim())??""}),qs=te(()=>Xr.value&&(jt.value&&qt.value.length>0||U.name==="thread"&&de.value.length>0)),va=te(()=>U.name==="thread"&&de.value.length>0||jt.value&&Ao.value),Mr=te(()=>jt.value?Wt.value:D.value),ao=te(()=>!se.value||oo.value<=0||zo.value<=0?!1:zo.value-oo.value>120),Go=te(()=>ao.value||Mr.value&&hr.value),y=te(()=>{var u,p;return((p=(u=ne.value)==null?void 0:u.cwd)==null?void 0:p.trim())??ot.value.trim()}),b=te(()=>{var u;return!jt.value&&((u=ne.value)==null?void 0:u.inProgress)===!0}),w=te(()=>!jt.value&&!ir.value&&de.value.trim().length>0),L=te(()=>Ne.value||Ce.value||b.value||K.value.length>0);function Ee(u){return Number.isFinite(u)?new Intl.NumberFormat("en-US",{notation:u>=1e3?"compact":"standard",maximumFractionDigits:u>=1e5?0:1}).format(Math.max(0,Math.trunc(u))):"0"}function ut(u){if(!u)return o("Waiting for Codex thread/tokenUsage/updated events for this thread.");const p=[`${o("Current context usage")}: ${u.currentContextTokens.toLocaleString()} ${o("tokens")}`,`${o("Cumulative thread usage")}: ${u.total.totalTokens.toLocaleString()} ${o("tokens")}`];return typeof u.modelContextWindow=="number"?(p.unshift(`${o("Model context window")}: ${u.modelContextWindow.toLocaleString()} ${o("tokens")}`),p.push(`${o("Remaining context")}: ${(u.remainingContextTokens??0).toLocaleString()} ${o("tokens")}`)):p.push(o("Model context window is unavailable in the latest usage event.")),p.join(`
57
- `)}function Pt(){Re.value&&(Re.value=!1,W_(!0))}function Cn(){Pt(),F.push({name:"skills",query:{tab:"plugins"}})}const an=te(()=>{var p;const u=(p=j.value)==null?void 0:p.remainingContextPercent;return u===null||typeof u!="number"?"pending":u<=10?"danger":u<=25?"warning":"ok"}),Fn=te(()=>{const u=j.value;return u?typeof u.remainingContextTokens=="number"?`${Ee(u.remainingContextTokens)} ${o("left")}`:`${Ee(u.currentContextTokens)} ${o("used")}`:o("Awaiting data")}),so=te(()=>{const u=j.value;return u?typeof u.modelContextWindow=="number"?`${Ee(u.currentContextTokens)} ${o("used")} / ${Ee(u.modelContextWindow)}`:o("Window size unavailable"):o("Updates after the next token usage event")}),ga=te(()=>ut(j.value));function Ko(u,p){const C=rt(u).trim(),V=Nr(C);return!C||!V?!1:p.some(ee=>{const ue=rt(ee).trim();return ue!==C&&Nr(ue)===V})}function Hs(u,p=""){const C=rt(u).trim(),V=p.trim();if(V)return V;const ee=Nr(C),ue=[...dn.value.order,...O.value.map(qe=>{var Gt,$r;return(($r=(Gt=qe.threads[0])==null?void 0:Gt.cwd)==null?void 0:$r.trim())??""}).filter(Boolean)];return Ko(C,ue)?C:ee}function zl(){const u=new Set(dn.value.order),p=dn.value.projectOrder.filter(C=>u.has(C));for(const C of dn.value.order)p.includes(C)||p.push(C);return p}function Oa(u){const p=rt(u).trim(),C=[...dn.value.order,...O.value.map(V=>{var ee,ue;return((ue=(ee=V.threads[0])==null?void 0:ee.cwd)==null?void 0:ue.trim())??""}).filter(Boolean)];return Ko(p,C)?p:Nr(p)}function Mi(u){const p=rt(u).trim();if(!p)return"";const C=[...dn.value.order,...O.value.map(V=>{var ee,ue;return((ue=(ee=V.threads[0])==null?void 0:ee.cwd)==null?void 0:ue.trim())??""}).filter(Boolean)];for(const V of dn.value.order){const ee=rt(V).trim();if(!ee)continue;const ue=Nr(ee),qe=Ko(ee,C)?ee:ue;if(ee===p||qe===p||ue===p)return ee}return""}const Ws=te(()=>{var V,ee;const u=[],p=new Set;for(const ue of zl()){const qe=ue.trim();!qe||p.has(qe)||(p.add(qe),u.push({value:qe,label:Hs(qe,dn.value.labels[qe])}))}for(const ue of O.value){const qe=((ee=(V=ue.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"";!qe||p.has(qe)||kl(qe)||(p.add(qe),u.push({value:qe,label:Hs(qe,H.value[ue.projectName])}))}const C=ot.value.trim();return C&&!p.has(C)&&u.unshift({value:C,label:Hs(C)}),u}),Ao=te(()=>{const u=ot.value.trim();return u?zt.value[u]===!0:!1}),$i=te(()=>{var p,C;const u={};for(const V of O.value){const ee=Js(V.projectName,((C=(p=V.threads[0])==null?void 0:p.cwd)==null?void 0:C.trim())??"");u[V.projectName]=ee?zt.value[ee]===!0:!1}return u}),zs=te(()=>{const u=nn.value.trim(),p=[...Wn.value];return u&&!p.some(C=>C.value===u)&&p.unshift({value:u,label:u}),p}),ss=te(()=>{const u=nn.value.trim();if(!u)return"";const p=zs.value.find(C=>C.value===u);return(p==null?void 0:p.label)??u}),Vs=te(()=>Kn.value.trim()),is=te(()=>{const u=Co.value.trim();return!u||u==="."||u===".."?!1:!/[\\/]/u.test(u)}),Vl=te(()=>is.value&&Vs.value.trim().length>0&&!kn.value),ja=te(()=>{const u=rt(Pr.value).trim();return u||Kn.value.trim()}),ls=te(()=>Hr.value?"Creating…":"Create"),Gl=te(()=>{const u=Kn.value.trim(),p=ro.value.trim();return!!(u&&p&&u!==p)}),Ni=te(()=>{const u=[];Gl.value&&u.push({key:`parent:${ro.value}`,name:"..",path:ro.value,kind:"parent"});for(const p of Wr.value)u.push({key:`directory:${p.path}`,name:p.name,path:p.path,kind:"directory"});return u}),Gs=te(()=>{const u=br.value.trim().toLowerCase();return u?Ni.value.filter(p=>p.kind==="parent"||p.name.toLowerCase().includes(u)):Ni.value}),ya=typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)"):null,Kl=te(()=>o(_[yr.value].label)),Ks=te(()=>Mr.value?o("Terminal"):o("Open terminal")),io=te(()=>{const u=new Map(Cr.value.map(C=>[C.value,C]));return[...Ln.value.map((C,V)=>({label:C.label,value:C.value,usageCount:0,lastUsedAt:0,...u.get(C.value)??{},custom:!1,sourceIndex:V}))].sort(Qm)}),Yl=te(()=>[{label:Mr.value?o("Hide terminal"):o("Open terminal"),value:_h},...io.value.map(u=>({label:u.label,value:u.value}))]),Ql=te(()=>{const u=_[yr.value],p=Math.max(0,zo.value-oo.value-$a.value);return{"--chat-column-max":u.columnMax,"--chat-card-max":u.cardMax,"--visual-viewport-height":oo.value>0?`${oo.value}px`:"100dvh","--visual-viewport-offset-top":`${Math.max(0,$a.value)}px`,"--virtual-keyboard-inset":`${p}px`}}),Li=te(()=>{if(!sr.value.configured)return o("Not configured");const u=sr.value.active?o("Online"):o("Configured (offline)"),p=sr.value.allowAllUsers?o("allow all users"):`${sr.value.allowedUsers} ${o("allowed user(s)")}`,C=`${sr.value.mappedChats} ${o("chat(s)")}, ${sr.value.mappedThreads} ${o("thread(s)")}, ${p}`,V=sr.value.lastError?`, ${o("error")}: ${sr.value.lastError}`:"";return`${u}, ${C}${V}`});ca(()=>{var u,p;document.addEventListener("pointerdown",nd),window.addEventListener("keydown",Qc),document.addEventListener("visibilitychange",rd),window.addEventListener("pageshow",od),window.addEventListener("focus",ad),window.addEventListener("resize",Eo),(u=window.visualViewport)==null||u.addEventListener("resize",Eo),(p=window.visualViewport)==null||p.addEventListener("scroll",Eo),Eo(),Vi(),ya==null||ya.addEventListener("change",Vi),Kv(),bv(),Xl(),Ua(),Io(),Qs(),Ys(),uu(),tv(),Jc()}),Ll(()=>{var u,p;document.removeEventListener("pointerdown",nd),window.removeEventListener("keydown",Qc),document.removeEventListener("visibilitychange",rd),window.removeEventListener("pageshow",od),window.removeEventListener("focus",ad),window.removeEventListener("resize",Eo),(u=window.visualViewport)==null||u.removeEventListener("resize",Eo),(p=window.visualViewport)==null||p.removeEventListener("scroll",Eo),ya==null||ya.removeEventListener("change",Vi),zr!==null&&(window.clearInterval(zr),zr=null),Zn&&(clearTimeout(Zn),Zn=null),Hi(),gt()});function Eo(){var u,p;typeof window>"u"||(zo.value=Math.max(zo.value,window.innerHeight),oo.value=((u=window.visualViewport)==null?void 0:u.height)??window.innerHeight,$a.value=((p=window.visualViewport)==null?void 0:p.offsetTop)??0)}pt(wn,u=>{const p=u.trim();if(Zn&&(clearTimeout(Zn),Zn=null),!p){bo.value=null;return}Zn=setTimeout(()=>{O_(p,1e3).then(C=>{wn.value.trim()===p&&(bo.value=C.threadIds)}).catch(()=>{wn.value.trim()===p&&(bo.value=null)})},220)}),pt(ao,u=>{u||(hr.value=!1)}),pt(wt,()=>{if(typeof window>"u")return;if(!wt.value.some(p=>p.quotaStatus==="loading")){zr!==null&&(window.clearInterval(zr),zr=null);return}zr===null&&(zr=window.setInterval(()=>{Na||(Na=!0,Yo({silent:!0}).finally(()=>{Na=!1}))},1500))},{deep:!0});function Jl(){He()}async function Ys(){try{sr.value=await F_()}catch(u){const p=u instanceof Error?u.message:"Failed to load Telegram status";sr.value={configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:p}}}async function Qs(){try{const u=await D_();or.value=u.botToken,Ho.value=u.allowedUserIds.map(p=>String(p)).join(`
58
- `),qr.value=""}catch(u){qr.value=u instanceof Error?u.message:"Failed to load Telegram configuration"}}async function Xl(){const u=await H_();Re.value=u.dismissed!==!0}function Zl(u){const p=u.split(/[\n,]/).map(ee=>ee.trim().replace(/^(telegram|tg):/i,"").trim()).filter(Boolean),C=p.includes("*"),V=Array.from(new Set(p.filter(ee=>/^-?\d+$/.test(ee)).map(ee=>Number.parseInt(ee,10))));return C?["*",...V]:V}async function eu(){const u=or.value.trim(),p=Zl(Ho.value);if(!u){qr.value=o("Telegram bot token is required.");return}if(p.length===0){qr.value=o("At least one allowed Telegram user ID or * is required.");return}ko.value=!0,qr.value="";try{await j_(u,p),Ho.value=p.map(C=>String(C)).join(`
59
- `),await Promise.all([Qs(),Ys()]),window.alert(o("Telegram bot configured. Only allowlisted Telegram users can use the bridge."))}catch(C){qr.value=C instanceof Error?C.message:o("Failed to connect Telegram bot"),Ys()}finally{ko.value=!1}}function i(){on.value=!on.value,on.value?Jt(()=>{var u;return(u=In.value)==null?void 0:u.focus()}):wn.value=""}function d(){var u;wn.value="",(u=In.value)==null||u.focus()}function v(u){u.key==="Escape"&&(on.value=!1,wn.value="")}function T(u){u&&(U.name==="thread"&&Vr.value===u||(F.push({name:"thread",params:{threadId:u}}),se.value&&Gr(!0)))}async function M(u){u&&(de.value!==u&&(await ft(u),await F.push({name:"thread",params:{threadId:u}})),await Jt(),Sv())}function N(u){return u.length>8?u.slice(-8):u}function W(u){const p=[u.planType||o("unknown")];return u.authMode&&p.unshift(u.authMode),p.join(" · ")}function Y(u){if(!u)return!1;const p=u.toLowerCase();return p.includes("payment required")||/\b402\b/.test(p)}function ie(u){return u.unavailableReason==="payment_required"||Y(u.quotaError)}function ve(u){return Et.value||Ot.value||hn.value||Yt.value||rr.value.length>0||u.isActive&&rr.value!==u.accountId&&L.value}function Ve(u){return Dn.value===u.accountId}function bt(u){return Vn.value===u.accountId||Ve(u)}function _t(u){return ie(u)?o("Unavailable"):u.isActive?o("Active"):Ot.value?o("Switching…"):o("Switch")}function St(u){return rr.value===u.accountId?o("Removing…"):Ve(u)?o("Click again to remove"):o("Remove")}function Sn(u){Vn.value=u}function Da(u){Vn.value===u&&(Vn.value=""),rr.value!==u&&Dn.value===u&&(Dn.value="")}function us(u){const p=u.quotaSnapshot;if(!p)return null;const C=[p==null?void 0:p.primary,p==null?void 0:p.secondary].filter(ue=>ue!==null),V=C.find(ue=>ue.windowMinutes===10080);if(V)return V;const ee=C.filter(ue=>typeof ue.windowMinutes=="number"&&ue.windowMinutes>=10080).sort((ue,qe)=>(ue.windowMinutes??0)-(qe.windowMinutes??0))[0]??null;return ee||(p.secondary??null)}function Oi(u){if(typeof u!="number"||!Number.isFinite(u))return"";const p=new Date(u*1e3);return`${p.getMonth()+1}月${p.getDate()}日`}function wa(u){var ue,qe;if(ie(u))return u.quotaError||o("402 Payment Required");const p=u.quotaSnapshot,C=us(u),V=(p==null?void 0:p.primary)??(p==null?void 0:p.secondary)??null,ee=C??V;if(ee){const Gt=Math.max(0,Math.min(100,100-Math.round(ee.usedPercent))),$r=Oi(ee.resetsAt);return $r?`${Gt}% ${o("weekly remaining")} · ${$r}`:`${Gt}% ${o("weekly remaining")}`}return(ue=p==null?void 0:p.credits)!=null&&ue.unlimited?o("Unlimited credits"):(qe=p==null?void 0:p.credits)!=null&&qe.hasCredits&&p.credits.balance?`${p.credits.balance} ${o("credits")}`:u.quotaStatus==="loading"?o("Loading quota…"):u.quotaStatus==="error"?u.quotaError||o("Quota unavailable"):u.quotaStatus==="ready"||u.quotaStatus==="idle"?o("Quota unavailable"):o("Fetching account details…")}function Fa(u){return[u.email||o("Account"),W(u),ie(u)?o("Unavailable account"):null,wa(u),`${o("Workspace")} ${u.accountId}`].filter(Boolean).join(`
60
- `)}async function Yo(u={}){try{const p=await J0();wt.value=p.accounts,p.accounts.some(C=>C.accountId===Vn.value)||(Vn.value=""),p.accounts.some(C=>C.accountId===Dn.value)||(Dn.value="")}catch(p){if(u.silent===!0)return;Vt.value=p instanceof Error?p.message:o("Failed to load accounts")}}async function ji(){if(!(Et.value||Ot.value||hn.value||Yt.value)){Vt.value="",Vn.value="",Dn.value="",Et.value=!0;try{const u=await X0();wt.value=u.accounts,gt(),lt(),Fe({includeSelectedThreadMessages:!0})}catch(u){Vt.value=u instanceof Error?u.message:o("Failed to refresh accounts")}finally{Et.value=!1}}}async function Di(){var u;if(!(Et.value||Ot.value||hn.value||Yt.value)){Vt.value="",yn.value="",hn.value=!0;try{const p=await Z0();vr.value=p,Ur.value=!0,window.open(p,"_blank","noopener,noreferrer"),await Jt(),(u=Er.value)==null||u.focus()}catch(p){Vt.value=p instanceof Error?p.message:o("Failed to start Codex login")}finally{hn.value=!1}}}function cs(){Yt.value||(Ur.value=!1,yn.value="")}async function Fi(){const u=yn.value.trim();u&&await Ui(u)}async function Ui(u){if(!(Yt.value||u.length===0)){Vt.value="",Yt.value=!0;try{const p=await e_(u);wt.value=p.accounts,vr.value="",yn.value="",Ur.value=!1,gt(),lt(),Fe({includeSelectedThreadMessages:!0})}catch(p){Vt.value=p instanceof Error?p.message:o("Failed to complete Codex login")}finally{Yt.value=!1}}}async function Bi(u){if(!(Ot.value||Et.value||hn.value||Yt.value)){if(L.value){Vt.value=o("Finish the current turn and pending requests before switching accounts.");return}Vt.value="",Vn.value="",Dn.value="",Ot.value=!0;try{const p=await t_(u);wt.value=wt.value.map(C=>C.accountId===u?p:{...C,isActive:!1}),gt(),lt(),Fe({includeSelectedThreadMessages:!0}),Yo({silent:!0})}catch(p){Vt.value=p instanceof Error?p.message:o("Failed to switch account")}finally{Ot.value=!1}}}async function st(u){if(Et.value||Ot.value||hn.value||Yt.value||rr.value.length>0)return;const p=wt.value.find(V=>V.accountId===u)??null;if(!p)return;if(Dn.value!==u){Dn.value=u;return}if(p.isActive&&L.value){Vt.value=o("Finish the current turn and pending requests before removing the active account.");return}const C=p.isActive;Vt.value="",Dn.value="",rr.value=u;try{const V=await n_(u);wt.value=V.accounts,gt(),lt(),C&&Fe({includeSelectedThreadMessages:!0}),Yo({silent:!0})}catch(V){Vt.value=V instanceof Error?V.message:o("Failed to remove account")}finally{rr.value=""}}function _r(u){Z(u)}async function Qo(u){const p=await xe(u);p&&(jt.value?await F.replace({name:"thread",params:{threadId:p}}):await F.push({name:"thread",params:{threadId:p}}),se.value&&Gr(!0))}function Gc(u){const p=u.trim().replace(/\\/gu,"/");return p?p.includes("/.codex/worktrees/")||p.includes("/.git/worktrees/"):!1}function Js(u,p=""){var ue,qe,Gt;const C=O.value.find($r=>$r.projectName===u);if(!C)return Mi(u)||p.trim();const V=C.threads.find($r=>!Gc($r.cwd));return(((ue=V==null?void 0:V.cwd)==null?void 0:ue.trim())??((Gt=(qe=C.threads[0])==null?void 0:qe.cwd)==null?void 0:Gt.trim())??"")||Mi(u)||p.trim()}function $m(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Js(u,((ee=(V=p==null?void 0:p.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"");C&&(ot.value=C),se.value&&Gr(!0),!jt.value&&F.push({name:"home"})}function Nm(u){var C;let p="";for(const V of O.value){const ee=V.threads.find(ue=>ue.id===u);if((C=ee==null?void 0:ee.cwd)!=null&&C.trim()){p=ee.cwd.trim();break}}!p||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(p)}`,"_blank","noopener,noreferrer")}function Kc(u){var C,V;const p=O.value.find(ee=>ee.projectName===u);return Js(u,((V=(C=p==null?void 0:p.threads[0])==null?void 0:C.cwd)==null?void 0:V.trim())??"")}function Lm(u){return(H.value[u]??u).trim()||u}function Om(u){return Lm(u).replace(/[\\/]+/gu,"-").replace(/[\u0000-\u001f]+/gu,"").trim()||"worktree"}function jm(u){const p=Kc(u);!p||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(p)}`,"_blank","noopener,noreferrer")}async function Dm(u){const p=Kc(u);if(!p||typeof window>"u"||(await qi(p),zt.value[p]!==!0))return;const C=`${Om(u)}-`,V=window.prompt("New worktree folder name",C);if(V===null)return;const ee=V.trim();if(ee){if(ee.includes("/")||ee.includes("\\")||ee==="."||ee===".."){window.alert("Worktree name must be a single folder name.");return}try{const ue=await C_(p,ee),qe=await tl(ue.cwd,{createIfMissing:!1,label:""});if(!qe)return;ot.value=qe,cn.value="local",dt(Oa(qe)),await Ua(),await Io(),se.value&&Gr(!0),jt.value||await F.push({name:"home"})}catch(ue){const qe=ue instanceof Error?ue.message:"Failed to create worktree.";window.alert(qe)}}}function tu(){ot.value="",cn.value="local",se.value&&Gr(!0),!jt.value&&F.push({name:"home"})}async function qi(u){const p=u.trim();if(!p||Object.prototype.hasOwnProperty.call(zt.value,p))return;const C=Or.get(p);if(C){const ue=await C;Object.prototype.hasOwnProperty.call(zt.value,p)||(zt.value={...zt.value,[p]:ue});return}const V=A_(p).then(ue=>ue.isGitRepo).catch(()=>!1).finally(()=>{Or.delete(p)});Or.set(p,V);const ee=await V;Object.prototype.hasOwnProperty.call(zt.value,p)||(zt.value={...zt.value,[p]:ee})}function Fm(u){Pe(u.projectName,u.displayName)}function Um(u){Ae(u.threadId,u.title)}async function Bm(u){await Ie(u),await Ua(),Io()}function qm(u){at(u.projectName,u.toIndex)}function Hm(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Js(u,((ee=(V=p==null?void 0:p.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"");qi(C)}function Yc(u){Wm(u)}async function Wm(u){var V;const p=await pe(u),C=((V=u.followUpMessageText)==null?void 0:V.trim())??"";if(!(!p||!C||jt.value))try{await Ge(C,[],[],"steer",[])}catch{}}async function zm(u){const p=await De(u.threadId,u.turnIndex);p&&(await F.push({name:"thread",params:{threadId:p}}),de.value!==p&&await ft(p),se.value&&Gr(!0))}function Gr(u){rn.value!==u&&(rn.value=u,Wv(u))}function Qc(u){if(u.defaultPrevented)return;if(u.key==="Escape"&&jn.value){jn.value=!1;return}if(!u.ctrlKey&&!u.metaKey||u.shiftKey||u.altKey)return;const p=u.key.toLowerCase();if(p==="b"){u.preventDefault(),Gr(!rn.value);return}if(p==="j"&&U.name==="thread"&&de.value){u.preventDefault(),nu();return}p==="j"&&jt.value&&qt.value&&(u.preventDefault(),nu())}function nu(){if(Xr.value){if(jt.value){if(!qt.value)return;Wt.value=!Wt.value,Wt.value||Xs();return}Tt(),D.value||Xs()}}function Vm(u){if(fa.value="",!!u){if(u===_h){nu();return}Gm(u)}}async function Gm(u){if(!Xr.value||!qt.value)return;if(jt.value)Wt.value=!0;else if(de.value)We(de.value,!0);else return;const p=await Km();if(p)try{await p.runQuickCommand(u),Ym(u)}catch{}}async function Km(){for(let u=0;u<20;u+=1){await Jt();const p=jt.value?xt.value:Bt.value;if(p)return p;await new Promise(C=>window.setTimeout(C,25))}return null}async function Jc(){const u=qt.value.trim();if(!u){Ln.value=[];return}try{Ln.value=await G0(u)}catch{Ln.value=[]}}function Ym(u){const p=Xc(u);if(!p)return;const C=Cr.value.find(Gt=>Gt.value===p),V=Ln.value.findIndex(Gt=>Gt.value===p),ee=V>=0?Ln.value[V]:null;if(!ee)return;const ue={label:(C==null?void 0:C.label)||(ee==null?void 0:ee.label)||p,value:p,custom:!1,usageCount:((C==null?void 0:C.usageCount)??0)+1,lastUsedAt:Date.now(),sourceIndex:V>=0?V:void 0},qe=[...Cr.value.filter(Gt=>Gt.value!==p),ue];Cr.value=qe,Xm(qe)}function Xc(u){return u.trim().replace(/\s+/g," ")}function Qm(u,p){if(p.usageCount!==u.usageCount)return p.usageCount-u.usageCount;if(p.lastUsedAt!==u.lastUsedAt)return p.lastUsedAt-u.lastUsedAt;const C=typeof u.sourceIndex=="number"?u.sourceIndex:Number.MAX_SAFE_INTEGER,V=typeof p.sourceIndex=="number"?p.sourceIndex:Number.MAX_SAFE_INTEGER;return C-V}function Jm(){if(typeof window>"u")return[];try{const u=window.localStorage.getItem(bh);if(!u)return[];const p=JSON.parse(u);if(!Array.isArray(p))return[];const C=new Set,V=[];for(const ee of p){const ue=ee!==null&&typeof ee=="object"&&!Array.isArray(ee)?ee:null,qe=Xc(Zc(ue==null?void 0:ue.value));!qe||C.has(qe)||(C.add(qe),V.push({label:Zc(ue==null?void 0:ue.label)||qe,value:qe,custom:(ue==null?void 0:ue.custom)!==!1,usageCount:ed(ue==null?void 0:ue.usageCount),lastUsedAt:ed(ue==null?void 0:ue.lastUsedAt)}))}return V}catch{return[]}}function Xm(u){typeof window>"u"||window.localStorage.setItem(bh,JSON.stringify(u.map(p=>({label:p.label,value:p.value,custom:p.custom===!0,usageCount:p.usageCount,lastUsedAt:p.lastUsedAt}))))}function Zc(u){return typeof u=="string"?u:""}function ed(u){if(typeof u=="number"&&Number.isFinite(u))return Math.max(0,Math.trunc(u));if(typeof u=="string"){const p=Number(u);if(Number.isFinite(p))return Math.max(0,Math.trunc(p))}return 0}function td(u){if(Hn.value=u,!u){hr.value=!1,Hi();return}hr.value=!0,Hi(),jr=setTimeout(()=>{jr=null,ao.value||(hr.value=!1)},1500)}function Zm(){Wt.value=!1,Xs()}function ev(){de.value&&We(de.value,!1),Xs()}function Xs(){Hn.value=!1,hr.value=!1,Hi()}function Hi(){jr&&(clearTimeout(jr),jr=null)}async function tv(){try{const u=await V0();Xr.value=u.available,u.available||(Wt.value=!1,de.value&&We(de.value,!1))}catch{Xr.value=!1,Wt.value=!1}}function nd(u){var C,V;const p=u.target;if(p instanceof Node){if(Hn.value){const ee=p instanceof Element?p:p.parentElement;ee!=null&&ee.closest(".thread-terminal-panel")||Xs()}jn.value&&((C=On.value)!=null&&C.contains(p)||(V=to.value)!=null&&V.contains(p)||(jn.value=!1))}}function nv(u){var C,V;if(!jn.value)return;const p=u.target;p instanceof Node&&((C=On.value)!=null&&C.contains(p)||(V=to.value)!=null&&V.contains(p)||(jn.value=!1))}function rd(){if(!(typeof document>"u")&&se.value){if(document.visibilityState==="hidden"){Wo.value=Date.now(),Ma.value=!1;return}ru()}}function od(u){u.persisted&&ru()}function ad(){U.name==="home"&&(Ua(),Io()),ru()}function ru(){typeof window>"u"||typeof document>"u"||!se.value||document.visibilityState!=="visible"||Ma.value||Wo.value===null||Date.now()-Wo.value<wM||(Ma.value=!0,Wo.value=null,rv())}async function rv(){if(!pa.value){pa.value=!0;try{await Fe({includeSelectedThreadMessages:!0,awaitAncillaryRefreshes:!0}),await du()}finally{pa.value=!1}}}function sd(u){const p=u.text;Wi();const C=Do.value,V=u.mode==="queue"&&C&&C.threadId===de.value?C.queueIndex:void 0;if(Do.value=null,jt.value){Qv(p,u.imageUrls,u.skills,u.fileAttachments);return}Ge(p,u.imageUrls,u.skills,u.mode,u.fileAttachments,V)}function ov(u){const p=z.value.findIndex(ue=>ue.id===u),C=p>=0?z.value[p]:void 0,V=$e.value;if(!C||!V||V.hasUnsavedDraft()&&!window.confirm("Replace the current draft with this queued message for editing?"))return;Do.value=de.value?{threadId:de.value,queueIndex:p}:null;const ee={text:C.text,imageUrls:[...C.imageUrls],fileAttachments:C.fileAttachments.map(ue=>({...ue})),skills:C.skills.map(ue=>({...ue}))};V.hydrateDraft(ee),ae(u)}function Wi(){if(!se.value||jt.value)return;const u=()=>{var p;(p=ze.value)==null||p.jumpToLatest()};u(),Jt(()=>{u(),!(typeof window>"u")&&window.requestAnimationFrame(()=>{u(),window.requestAnimationFrame(u)})})}function av(u){ot.value=u.trim(),Tn.value=""}function sv(u){nn.value=u.trim()}function zi(u){const p=qt.value.trim();return!u||p!==u?!1:U.name==="thread"||U.name==="home"&&Ao.value}function id(){er+=1,Sr+=1,_o.value=[],Ft.value=null,pr.value=null,xr.value=null,Ar.value=null,fn.value=!1,Ct.value=!1,nr.value={},Rn.value="",Fr.value="",yt.value="",gn.value=!1}async function Zs(u){const p=u.trim();if(!p){id();return}const C=++er;gn.value=!0,yt.value="";try{const V=await x_(p);if(C!==er||!zi(p))return;_o.value=V.options,Ft.value=V.currentBranch,pr.value=V.headSha,xr.value=V.headSubject,Ar.value=V.headDate,fn.value=V.detached,Ct.value=V.dirty}catch{if(C!==er||!zi(p))return;_o.value=[],Ft.value=null,pr.value=null,xr.value=null,Ar.value=null,fn.value=!1,Ct.value=!1}finally{C===er&&(gn.value=!1)}}function iv(u){Ft.value=u.currentBranch,pr.value=u.headSha,xr.value=u.headSubject,Ar.value=u.headDate,fn.value=u.detached,Ct.value=u.dirty}function lv(u){if(mr.value)return;const p=u.trim();if(!p||p===(Ft.value??""))return;const C=qt.value.trim();C&&(mr.value=!0,yt.value="",E_(C,p).then(V=>(Ft.value=V||p,pr.value=null,xr.value=null,Ar.value=null,fn.value=!1,zn.value=!1,Zs(C))).catch(V=>{const ee=V instanceof Error?V.message:"Failed to switch branch";Zs(C).finally(()=>{yt.value=ee})}).finally(()=>{mr.value=!1}))}function uv(u){if(mr.value)return;const p=u.branch.trim(),C=u.sha.trim(),V=qt.value.trim();!p||!C||!V||(mr.value=!0,yt.value="",R_(V,p,C).then(ee=>(iv(ee),zn.value=!1,Zs(V))).catch(ee=>{const ue=ee instanceof Error?ee.message:"Failed to reset branch to commit";Zs(V).finally(()=>{yt.value=ue})}).finally(()=>{mr.value=!1}))}function cv(u){const p=u.trim(),C=qt.value.trim();if(!p||!C||Rn.value===p||nr.value[p])return;const V=++Sr;Rn.value=p,Fr.value="",I_(C,p).then(ee=>{V!==Sr||!zi(C)||(nr.value={...nr.value,[p]:ee})}).catch(ee=>{V!==Sr||!zi(C)||(Fr.value=ee instanceof Error?ee.message:"Failed to load branch commits")}).finally(()=>{V===Sr&&Rn.value===p&&(Rn.value="")})}async function dv(){const u=await au();if(!u)return;await Io();const p=bn.value.trim()||"New Project (1)",C=window.prompt(`Create project in ${u}`,p);if(C===null)return;const V=C.trim();if(!V)return;const ee=dd(cd(u,V));if(ee)try{const ue=await tl(ee,{createIfMissing:!0,label:""});if(!ue)return;ot.value=ue,dt(Oa(ue)),await Ua(),await Io()}catch(ue){const qe=ue instanceof Error?ue.message:"Failed to create the project.";window.alert(qe)}}async function fv(){const u=ot.value.trim()||await au();u&&(wr.value=!1,Rr.value=!0,br.value="",await ba(u),kn.value||Jt(()=>{var p;return(p=ts.value)==null?void 0:p.focus()}))}function ds(){So+=1,Rr.value=!1,$n.value=!1,kn.value="",br.value="",Pr.value="",ei()}async function hv(u){!u||$n.value||(br.value="",await ba(u))}function pv(){const u=Kn.value.trim();!Rr.value||!u||ba(u)}function mv(){const u=ja.value;!Rr.value||!u||$n.value||ba(u)}function vv(){if(!Rr.value||$n.value||ar.value)return;const u=ja.value,p=Kn.value.trim();!u||u===p||ba(u)}function gv(){const u=ja.value,p=Kn.value.trim();if(u){if(u!==p){ba(u);return}ou(u)}}async function ou(u=ja.value){const p=rt(u).trim();if(p){kn.value="",ar.value=!0;try{const C=await tl(p,{createIfMissing:!1,label:""});if(!C){kn.value="Failed to open the selected folder.";return}ot.value=C,dt(Oa(C)),await Ua(),await Io(),ds()}catch(C){kn.value=C instanceof Error?C.message:"Failed to open the selected folder."}finally{ar.value=!1}}}async function yv(){if(Tn.value="",wr.value){ei();return}if(!Rr.value){const u=ot.value.trim()||await au();if(!u||(Rr.value=!0,br.value="",await ba(u),kn.value))return}kn.value||(Co.value=bn.value,wr.value=!0,Jt(()=>{var u;return(u=To.value)==null?void 0:u.focus()}))}function ei(){Tn.value="",Co.value="",wr.value=!1}async function ld(){const u=Co.value.trim();if(!u)return;if(Tn.value="",kn.value){Tn.value="Reload the current folder before creating a new one.";return}Hr.value=!0;const p=Vs.value.trim(),C=dd(cd(p,u));if(!C){Tn.value="Unable to determine where the new folder should be created.",Hr.value=!1;return}if(!is.value){Tn.value="Enter a single folder name.",Hr.value=!1;return}try{const V=await M_(C);if(!V){Tn.value="Failed to create the folder.";return}Tn.value="",br.value="",await ba(V),ei()}catch(V){Tn.value=V instanceof Error?V.message:"Failed to create folder."}finally{Hr.value=!1}}async function wv(){var p;if(typeof window>"u")return!1;const u=((p=new URLSearchParams(window.location.search).get("openProjectPath"))==null?void 0:p.trim())??"";if(!u)return!1;try{const C=await tl(u,{createIfMissing:!1,label:""});if(!C)return!1;ot.value=C,dt(Oa(C)),await F.replace({name:"home"}),await Ua();const V=new URL(window.location.href);return V.searchParams.delete("openProjectPath"),window.history.replaceState({},"",V.toString()),!0}catch{return!1}}async function au(){const u=ud();if(u)return u;try{const p=await Kf();if(p)return Dr.value=p,p}catch{}return""}async function Io(){const u=ud();if(!u){bn.value="New Project (1)";return}try{const p=await N_(u);bn.value=p.name||"New Project (1)"}catch{bn.value="New Project (1)"}}function ud(){var C,V;const u=ot.value.trim();if(u)return Rs(u);const p=((V=(C=Ws.value[0])==null?void 0:C.value)==null?void 0:V.trim())??"";return p?Rs(p):Dr.value.trim()}async function bv(){try{Dr.value=await Kf()}catch{Dr.value=""}}async function Ua(){try{const u=await ws();dn.value={order:[...u.order],labels:{...u.labels},projectOrder:[...u.projectOrder]}}catch{dn.value={order:[],labels:{},projectOrder:[]}}}async function ba(u){const p=++So,C=rt(u).trim();Pr.value=C,Kn.value=C,kn.value="",$n.value=!0;try{const V=await P_(u,{showHidden:ha.value});if(p!==So)return;Pr.value=V.path,Kn.value=V.path,ro.value=V.parentPath,Wr.value=V.entries}catch(V){if(p!==So)return;kn.value=V instanceof Error?V.message:"Failed to load local folders.",ro.value=Rs(Kn.value),Wr.value=[],ei()}finally{p===So&&($n.value=!1)}}function cd(u,p){const C=rt(u).trim(),V=rt(p).trim().replace(/^[\\/]+/u,"");if(!C||!V)return"";const ee=C.includes("\\")&&!C.includes("/")?"\\":"/";if(/^[a-zA-Z]:[\\/]?$/u.test(C))return`${C.slice(0,2)}${ee}${V}`;if(/^\/+$/u.test(C))return`/${V}`;const ue=C.replace(/[\\/]+$/u,"");return ue?`${ue}${ee}${V}`:""}function dd(u){const p=rt(u).trim();if(!p)return"";const C=p.match(/^\\\\([^\\/]+)[\\/]+([^\\/]+)([\\/].*)?$/u);if(C){const[,ee,ue,qe=""]=C,Gt=su(qe.split(/[\\/]+/u));return Gt.length>0?`\\\\${ee}\\${ue}\\${Gt.join("\\")}`:`\\\\${ee}\\${ue}`}const V=p.match(/^([a-zA-Z]:)([\\/].*)?$/u);if(V){const[,ee,ue=""]=V,qe=p.includes("\\")&&!p.includes("/")?"\\":"/",Gt=su(ue.split(/[\\/]+/u));return Gt.length>0?`${ee}${qe}${Gt.join(qe)}`:`${ee}${qe}`}if(p.startsWith("/")){const ee=su(p.split("/"));return ee.length>0?`/${ee.join("/")}`:"/"}return p}function su(u){const p=[];for(const C of u){const V=C.trim();if(!(!V||V===".")){if(V===".."){p.length>0&&p.pop();continue}p.push(V)}}return p}function _v(u){Q(u.draggedId,u.targetId)}function fd(u){we(xo.value,u)}function hd(u){he(u)}function pd(u){je(u)}function Tv(){P()}function kv(u){const p=u.turnId.trim();if(p.length>0){const C=[...ma.value].reverse().find(V=>{var ee;return V.role==="user"&&(((ee=V.turnId)==null?void 0:ee.trim())??"")===p&&V.text.trim().length>0});C!=null&&C.text&&$e.value&&$e.value.appendTextToDraft(C.text)}q(u.turnId)}function Cv(u){jt.value||!de.value||(fe("default"),Wi(),Ge("Implement",[],[],"steer",[],void 0,"default"))}function Sv(){if(jt.value||ir.value||typeof document>"u"||!ne.value||ma.value.length===0)return;const u=xv(),p=Av(),C=new Blob([u],{type:"text/markdown;charset=utf-8"}),V=URL.createObjectURL(C),ee=document.createElement("a");ee.href=V,ee.download=p,document.body.appendChild(ee),ee.click(),document.body.removeChild(ee),window.setTimeout(()=>URL.revokeObjectURL(V),0)}function xv(){var C,V,ee;const u=[],p=((V=(C=ne.value)==null?void 0:C.title)==null?void 0:V.trim())||"Untitled thread";u.push(`# ${Ev(p)}`),u.push(""),u.push(`- Exported: ${new Date().toISOString()}`),u.push(`- Thread ID: ${((ee=ne.value)==null?void 0:ee.id)??""}`),u.push(""),u.push("---"),u.push("");for(const ue of ma.value){const qe=ue.role?ue.role.toUpperCase():"MESSAGE";u.push(`## ${qe}`),u.push("");const Gt=ue.text.trim();if(Gt&&(u.push(Gt),u.push("")),ue.commandExecution&&(u.push("```text"),u.push(`command: ${ue.commandExecution.command}`),u.push(`status: ${ue.commandExecution.status}`),ue.commandExecution.cwd&&u.push(`cwd: ${ue.commandExecution.cwd}`),ue.commandExecution.exitCode!==null&&u.push(`exitCode: ${ue.commandExecution.exitCode}`),u.push(ue.commandExecution.aggregatedOutput||"(no output)"),u.push("```"),u.push("")),ue.fileAttachments&&ue.fileAttachments.length>0){u.push("Attachments:");for(const $r of ue.fileAttachments)u.push(`- ${$r.path}`);u.push("")}if(ue.images&&ue.images.length>0){u.push("Images:");for(const $r of ue.images)u.push(`- ${$r}`);u.push("")}}return`${u.join(`
61
- `).trimEnd()}
62
- `}function Av(){var ee,ue;const C=(((ue=(ee=ne.value)==null?void 0:ee.title)==null?void 0:ue.trim())||"chat").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"chat",V=new Date().toISOString().replace(/[:.]/g,"-");return`${C}-${V}.md`}function Ev(u){return u.replace(/([\\`*_{}\[\]()#+\-.!])/g,"\\$1")}function iu(u,p){if(typeof window>"u")return p;const C=window.localStorage.getItem(u);return C===null?p:C==="1"}function Iv(){if(typeof window>"u")return"system";const u=window.localStorage.getItem(Ch);return u==="light"||u==="dark"?u:"system"}function Rv(){if(typeof window>"u")return"steer";const u=window.localStorage.getItem(kh);return u==="steer"||u==="queue"?u:"queue"}function Pv(){if(typeof window>"u")return"standard";const u=window.localStorage.getItem(Eh);return u==="standard"||u==="wide"||u==="extra-wide"?u:"standard"}function Mv(){gr.value=!gr.value,window.localStorage.setItem(Th,gr.value?"1":"0")}function $v(){Br.value=Br.value==="steer"?"queue":"steer",window.localStorage.setItem(kh,Br.value)}function Nv(){const u=["system","light","dark"],p=u.indexOf(Pn.value);Pn.value=u[(p+1)%u.length],window.localStorage.setItem(Ch,Pn.value),Vi()}function Lv(){const u=["standard","wide","extra-wide"],p=u.indexOf(yr.value);yr.value=u[(p+1)%u.length],window.localStorage.setItem(Eh,yr.value)}function Ov(){Mn.value=!Mn.value,window.localStorage.setItem(Sh,Mn.value?"1":"0")}function jv(){I.value=!I.value,window.localStorage.setItem(xh,I.value?"1":"0")}async function Dv(u){if(!Qt.value){Qt.value=!0;try{if(u==="codex"){Gn.value="codex";const p=await zf(!1);vt.value=p.enabled}else if(u==="openrouter"){Gn.value="openrouter";const p=await zf(!0);vt.value=p.enabled,await hs("","",{wireApi:Ir.value,provider:"openrouter"})}else u==="opencode-zen"?(Gn.value="opencode-zen",await hs("",Bo.value.trim(),{wireApi:"chat",provider:"opencode-zen"}),vt.value=!0):u==="custom"&&(Gn.value="custom",Zt.value.trim()&&Uo.value.trim()&&(await hs(Zt.value.trim(),Uo.value.trim(),{wireApi:no.value}),vt.value=!0));_n.value="",await Fe({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0}),U.name==="thread"&&F.push({name:"home"})}catch(p){_n.value=p instanceof Error?p.message:"Failed to switch provider"}finally{Qt.value=!1}}}async function lu(){if(mt.value)return;const u=Zt.value.trim();if(u){mt.value=!0;try{_n.value="",await hs(u,Uo.value.trim(),{wireApi:no.value}),vt.value=!0,await Fe({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){_n.value=p instanceof Error?p.message:"Failed to save custom endpoint"}finally{mt.value=!1}}}async function md(u){if(mt.value||Qt.value||Ir.value===u)return;const p=Ir.value;Ir.value=u,mt.value=!0;try{_n.value="",await hs("","",{wireApi:u,provider:"openrouter"}),vt.value=!0,await Fe({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(C){Ir.value=p,_n.value=C instanceof Error?C.message:"Failed to save OpenRouter API format"}finally{mt.value=!1}}async function vd(){if(mt.value)return;const u=Bo.value.trim();if(u){mt.value=!0;try{_n.value="",await hs("",u,{wireApi:"chat",provider:"opencode-zen"}),vt.value=!0,await Fe({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){_n.value=p instanceof Error?p.message:"Failed to save OpenCode Zen config"}finally{mt.value=!1}}}async function gd(){if(!mt.value){mt.value=!0;try{const u=pn.value.trim();await Vf(u),pn.value="",await uu(),await Fe({includeSelectedThreadMessages:!1})}catch{}finally{mt.value=!1}}}async function Fv(){if(!mt.value){mt.value=!0;try{await Vf(""),pn.value="",await uu(),await Fe({includeSelectedThreadMessages:!1})}catch{}finally{mt.value=!1}}}async function uu(){try{const u=await f_();vt.value=u.enabled,Me.value=u.customKey??!1,_e.value=u.maskedKey??null,u.enabled?u.provider==="opencode-zen"?Gn.value="opencode-zen":u.provider==="custom"?(Gn.value="custom",Zt.value=u.customBaseUrl??"",no.value=u.wireApi==="chat"?"chat":"responses"):(Gn.value="openrouter",Ir.value=u.wireApi==="chat"?"chat":"responses"):Gn.value="codex"}catch{}}function Uv(u){const C=cu(u.trim())||"auto";B.value=C,window.localStorage.setItem(Ah,C)}function Bv(){var C;if(typeof window>"u")return"auto";const u=((C=window.localStorage.getItem(Ah))==null?void 0:C.trim())||"auto";return cu(u)||"auto"}function qv(){const u=[{value:"auto",label:o("Auto-detect")}],p=new Set(["auto"]);function C(ee){const ue=E[ee]||ee;return`${ue.charAt(0).toUpperCase()+ue.slice(1)} (${ee})`}for(const ee of typeof navigator<"u"?navigator.languages??[]:[]){const ue=cu(ee);!ue||p.has(ue)||(p.add(ue),u.push({value:ue,label:`Preferred: ${C(ue)}`}))}for(const ee of Object.keys(E))p.has(ee)||(p.add(ee),u.push({value:ee,label:C(ee)}));const V=B.value.trim();return V&&!p.has(V)&&u.push({value:V,label:C(V)}),u}function cu(u){const p=u.trim().toLowerCase();if(!p||p==="auto")return"";if(p in E)return p;const C=p.split("-")[0]??p;return C in E?C:""}function Vi(){const u=document.documentElement;if(Pn.value==="dark")u.classList.add("dark");else if(Pn.value==="light")u.classList.remove("dark");else{const p=window.matchMedia("(prefers-color-scheme: dark)").matches;u.classList.toggle("dark",p)}}function Hv(){return typeof window>"u"?!1:window.localStorage.getItem(yh)==="1"}function Wv(u){typeof window>"u"||window.localStorage.setItem(yh,u?"1":"0")}function zv(){if(typeof window>"u")return!0;const u=window.localStorage.getItem(wh);return u===null?!0:u==="1"}function Vv(){tr.value=!tr.value,!(typeof window>"u")&&window.localStorage.setItem(wh,tr.value?"1":"0")}function Gv(u,p){const C=(u??"").trim();return C.length>0?C:p.trim()||"message"}function yd(u){fe(u)}async function Kv(){await F.isReady(),U.name==="thread"&&Vr.value&&kt(Vr.value),await Fe({includeSelectedThreadMessages:U.name==="thread"}),Yo({silent:!0}),await wv(),Fo.value=!0,await du(),lt()}function Yv(u){return u?O.value.some(p=>p.threads.some(C=>C.id===u)):!1}async function du(){if(vn.value){wo=!0;return}vn.value=!0;try{do{if(wo=!1,U.name==="home"||U.name==="skills"){de.value!==""&&await ft("");continue}if(U.name==="thread"){const u=Vr.value;if(!u)continue;if(de.value!==u){if(!Yv(u)){de.value?await F.replace({name:"thread",params:{threadId:de.value}}):await F.replace({name:"home"});continue}await ft(u)}else Je(u,{silent:!0})}}while(wo)}finally{vn.value=!1}}pt(()=>[U.name,Vr.value,Be.value,de.value],async()=>{Fo.value&&await du()}),pt(()=>qt.value,()=>{Jc()}),pt(()=>[U.name,qt.value],([u,p])=>{u==="thread"&&qi(p)},{immediate:!0}),pt(()=>de.value,async u=>{if(Fo.value&&!vn.value&&!(jt.value||ir.value)){if(!u){U.name!=="home"&&await F.replace({name:"home"});return}U.name==="thread"&&Vr.value===u||await F.replace({name:"thread",params:{threadId:u}})}}),pt(()=>Ws.value,u=>{if(u.length===0){ot.value="",Io();return}const p=ot.value.trim();p&&(u.some(V=>V.value===p)||(ot.value="")),Io()},{immediate:!0}),pt(()=>ot.value,()=>{Dt.value={phase:"idle",title:"",message:""},Io()}),pt(()=>[U.name,ot.value],([u,p])=>{u==="home"&&qi(p)},{immediate:!0}),pt(Ao,u=>{!u&&cn.value==="worktree"&&(cn.value="local")},{immediate:!0}),pt(()=>[cn.value,ot.value],([u,p])=>{u!=="worktree"||!Ao.value||wd(p)},{immediate:!0}),pt(()=>cn.value,u=>{var p;if(u==="local"){Dt.value={phase:"idle",title:"",message:""};const C=ot.value.trim();if(C&&Gc(C)){const V=((p=ne.value)==null?void 0:p.projectName)??Nr(C),ee=Js(V,"");ee&&(ot.value=ee)}return}Ao.value&&wd(ot.value)}),pt(()=>U.name,u=>{u!=="home"&&(Dt.value={phase:"idle",title:"",message:""}),u!=="thread"&&(zn.value=!1)}),pt(()=>de.value,()=>{Dt.value={phase:"idle",title:"",message:""}}),pt(()=>[U.name,qt.value,Ao.value],([u,p,C])=>{if(!(u==="thread"||u==="home"&&C)){id();return}Sr+=1,nr.value={},Rn.value="",Fr.value="",Zs(p)},{immediate:!0}),pt(Bs,u=>{typeof document>"u"||(document.title=u)},{immediate:!0}),pt(se,u=>{u&&!rn.value&&Gr(!0)},{immediate:!0});async function Qv(u,p=[],C=[],V=[]){try{Dt.value={phase:"idle",title:"",message:""};let ee=ot.value;if(cn.value==="worktree"){Dt.value={phase:"running",title:o("Creating worktree"),message:o("Creating a worktree and running setup.")};try{const qe=await k_(ot.value,nn.value);ee=qe.cwd,ot.value=qe.cwd,Dt.value={phase:"idle",title:"",message:""}}catch{Dt.value={phase:"error",title:o("Worktree setup failed"),message:o("Unable to create worktree. Try again or switch to Local project.")};return}}else if(!ee.trim()){const qe=await $_(u);ee=qe.cwd,ot.value=qe.cwd}const ue=await x(u,ee,p,C,V);if(!ue)return;await F.replace({name:"thread",params:{threadId:ue}}),Wi()}catch{}}function Jv(u){var V;if((V=u.prompt)!=null&&V.trim())return u.prompt.trim();const p=u.displayName.trim()||u.name.trim(),C=u.kind==="skill"?"skill":u.kind==="plugin"?"plugin":u.kind==="composio"?"Composio connector":"app";return`Test ${p} ${C}. Give me a list of what it can do and one useful example.`}function Xv(u){return`${u.kind}:${u.name}:${u.skillPath??""}`}async function Zv(u){var V;if(Xt.value)return;Xt.value=Xv(u);const p=Jv(u),C=(V=u.attachedSkills)!=null&&V.length?u.attachedSkills:u.kind==="skill"&&u.skillPath?[{name:u.name,path:u.skillPath}]:[];try{const ee=y.value.trim()||qt.value.trim(),ue=await x(p,ee,[],C,[]);if(!ue)return;await F.replace({name:"thread",params:{threadId:ue}}),Wi()}catch{}finally{Xt.value=""}}async function wd(u){var C;const p=u.trim();if(!p){Wn.value=[],nn.value="";return}Zr.value=!0;try{const V=await S_(p);Wn.value=V;const ee=nn.value.trim();if(!(ee.length>0&&V.some(qe=>qe.value===ee))){const qe=V.find(Gt=>Gt.value.trim()==="main");nn.value=(qe==null?void 0:qe.value)??((C=V[0])==null?void 0:C.value)??""}}catch{Wn.value=[],nn.value=""}finally{Zr.value=!1}}return(u,p)=>(k(),R(Ye,null,[Oe(Yb,{"is-sidebar-collapsed":rn.value,onCloseSidebar:p[26]||(p[26]=C=>Gr(!0))},{sidebar:ht(()=>[m("section",pI,[m("div",mI,[rn.value?J("",!0):(k(),Ze(sh,{key:0,class:"sidebar-thread-controls-host","is-sidebar-collapsed":rn.value,"show-new-thread-button":!0,onToggleSidebar:p[0]||(p[0]=C=>Gr(!rn.value)),onStartNewThread:tu},{default:ht(()=>[m("button",{class:"sidebar-search-toggle",type:"button","aria-pressed":on.value,"aria-label":S(o)("Search threads"),title:S(o)("Search threads"),onClick:i},[Oe(ih,{class:"sidebar-search-toggle-icon"})],8,vI)]),_:1},8,["is-sidebar-collapsed"])),!rn.value&&on.value?(k(),R("div",gI,[Oe(ih,{class:"sidebar-search-bar-icon"}),en(m("input",{ref_key:"sidebarSearchInputRef",ref:In,"onUpdate:modelValue":p[1]||(p[1]=C=>wn.value=C),class:"sidebar-search-input",type:"text",placeholder:S(o)("Filter threads..."),onKeydown:v},null,40,yI),[[un,wn.value]]),wn.value.length>0?(k(),R("button",{key:0,class:"sidebar-search-clear",type:"button","aria-label":S(o)("Clear search"),onClick:d},[Oe(yE,{class:"sidebar-search-clear-icon"})],8,wI)):J("",!0)])):J("",!0),rn.value?J("",!0):(k(),R("button",{key:2,class:et(["sidebar-skills-link",{"is-active":ir.value}]),type:"button",onClick:p[2]||(p[2]=C=>{S(F).push({name:"skills"}),S(se)&&Gr(!0)})},[m("span",bI,[Oe(hl)]),m("span",_I,[m("span",TI,$(S(o)("Skills")),1),m("span",kI,$(S(o)("Plugins, apps, MCPs")),1)])],2)),rn.value?J("",!0):(k(),Ze(lC,{key:3,groups:S(O),"project-display-name-by-id":S(H),"project-git-repo-by-name":$i.value,"selected-thread-id":S(de),"is-loading":S(Be),"search-query":wn.value,"search-matched-thread-ids":bo.value,onSelect:T,onArchive:_r,onStartNewThread:$m,onRenameProject:Fm,onBrowseThreadFiles:Nm,onBrowseProjectFiles:jm,onRequestProjectGitStatus:Hm,onCreateProjectWorktree:Dm,onRenameThread:Um,onForkThread:Qo,onRemoveProject:Bm,onReorderProject:qm,onExportThread:M,onStartNewChat:tu},null,8,["groups","project-display-name-by-id","project-git-repo-by-name","selected-thread-id","is-loading","search-query","search-matched-thread-ids"]))]),rn.value?J("",!0):(k(),R("div",{key:0,ref_key:"settingsAreaRef",ref:eo,class:"sidebar-settings-area",onClick:nv},[Oe(Hp,{name:"settings-panel"},{default:ht(()=>[jn.value?(k(),R("div",{key:0,ref_key:"settingsPanelRef",ref:On,class:"sidebar-settings-panel",onClick:p[15]||(p[15]=Xe(()=>{},["stop"]))},[m("div",CI,[m("div",SI,[m("div",xI,[m("button",{class:"sidebar-settings-account-collapse",type:"button","aria-expanded":!tr.value,title:tr.value?S(o)("Expand accounts"):S(o)("Collapse accounts"),onClick:Vv},[m("span",EI,$(tr.value?"▸":"▾"),1)],8,AI),m("span",II,$(S(o)("Accounts")),1),m("span",RI,$(wt.value.length),1)]),m("button",{class:"sidebar-settings-account-refresh",type:"button",disabled:Et.value||Ot.value||hn.value||Yt.value,onClick:ji},$(Et.value?S(o)("Reloading…"):S(o)("Reload")),9,PI)]),tr.value?J("",!0):(k(),R(Ye,{key:0},[Vt.value?(k(),R("p",MI,$(Vt.value),1)):J("",!0),m("div",$I,[m("button",{class:"sidebar-settings-account-login-button",type:"button",disabled:Et.value||Ot.value||hn.value||Yt.value,onClick:Di},$(hn.value?S(o)("Starting login…"):S(o)("Login")),9,NI),vr.value?(k(),R("a",{key:0,class:"sidebar-settings-account-login-link",href:vr.value,target:"_blank",rel:"noreferrer"},$(S(o)("Open login URL")),9,LI)):J("",!0)]),wt.value.length===0?(k(),R("p",OI,$(S(o)("Click Login, or run `codex login`, then click reload.")),1)):(k(),R("div",jI,[(k(!0),R(Ye,null,Kt(wt.value,C=>(k(),R("article",{key:C.accountId,class:et(["sidebar-settings-account-item",{"is-active":C.isActive,"is-unavailable":ie(C),"is-confirming-remove":Ve(C),"is-remove-visible":bt(C)}]),title:Fa(C),onMouseenter:V=>Sn(C.accountId),onMouseleave:V=>Da(C.accountId)},[m("div",FI,[m("p",UI,$(C.email||S(o)("Account")),1),m("p",BI,$(W(C)),1),m("p",qI,$(wa(C)),1),m("p",HI," Workspace "+$(N(C.accountId)),1)]),m("div",WI,[m("button",{class:"sidebar-settings-account-switch",type:"button",disabled:ve(C)||C.isActive||ie(C),onClick:V=>Bi(C.accountId)},$(_t(C)),9,zI),m("button",{class:et(["sidebar-settings-account-remove",{"is-visible":bt(C),"is-confirming":Ve(C)}]),type:"button",disabled:ve(C),onClick:V=>st(C.accountId)},$(St(C)),11,VI)])],42,DI))),128))]))],64))]),m("button",{class:"sidebar-settings-row",type:"button",title:g.sendWithEnter,onClick:Mv},[m("span",KI,$(S(o)("Require ⌘ + enter to send")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":!gr.value}])},null,2)],8,GI),m("button",{class:"sidebar-settings-row",type:"button",title:g.inProgressSendMode,onClick:$v},[m("span",QI,$(S(o)("When busy, send as")),1),m("span",JI,$(Br.value==="steer"?S(o)("Steer"):S(o)("Queue")),1)],8,YI),m("button",{class:"sidebar-settings-row",type:"button",title:g.appearance,onClick:Nv},[m("span",ZI,$(S(o)("Appearance")),1),m("span",eR,$(Pn.value==="system"?S(o)("System"):Pn.value==="dark"?S(o)("Dark"):S(o)("Light")),1)],8,XI),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the interface language for the app.")},[m("span",nR,$(S(o)("UI language")),1),Oe(Lr,{class:"sidebar-settings-language-dropdown","model-value":S(s),options:S(l),"open-direction":"up","onUpdate:modelValue":p[3]||(p[3]=C=>S(c)(C))},null,8,["model-value","options"])],8,tR),m("button",{class:"sidebar-settings-row",type:"button",title:g.chatWidth,onClick:Lv},[m("span",oR,$(S(o)("Chat width")),1),m("span",aR,$(Kl.value),1)],8,rR),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationClickToToggle,onClick:Ov},[m("span",iR,$(S(o)("Click to toggle dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":Mn.value}])},null,2)],8,sR),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationAutoSend,onClick:jv},[m("span",uR,$(S(o)("Auto send dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":I.value}])},null,2)],8,lR),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the API provider for the Codex backend")},[m("span",dR,$(S(o)("Provider")),1),Oe(Lr,{class:"sidebar-settings-provider-dropdown","model-value":Gn.value,options:Us.value,disabled:Qt.value,placeholder:S(o)("Provider"),"open-direction":"up","onUpdate:modelValue":Dv},null,8,["model-value","options","disabled","placeholder"])],8,cR),_n.value?(k(),R("div",fR,$(_n.value),1)):J("",!0),Gn.value==="openrouter"?(k(),R("div",hR,[m("div",pR,[m("span",mR,$(S(o)("OpenRouter API key")),1),m("a",vR,$(S(o)("Get API key")),1)]),m("div",gR,[Me.value&&!pn.value?(k(),R(Ye,{key:0},[m("span",yR,$(_e.value),1),m("button",{class:"sidebar-settings-key-clear",type:"button",disabled:mt.value,title:S(o)("Remove custom key, use community keys"),onClick:Fv},"✕",8,wR)],64)):(k(),R(Ye,{key:1},[en(m("input",{"onUpdate:modelValue":p[4]||(p[4]=C=>pn.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-or-v1-... (optional, uses free keys if empty)"),onKeydown:mn(gd,["enter"])},null,40,bR),[[un,pn.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:mt.value||!pn.value.trim(),onClick:gd},$(mt.value?"...":S(o)("Set")),9,_R)],64))]),m("div",TR,[m("span",kR,$(S(o)("API format")),1),m("div",{class:"sidebar-settings-segmented",role:"group","aria-label":S(o)("OpenRouter API format")},[m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":Ir.value==="responses"}]),disabled:mt.value||Qt.value,onClick:p[5]||(p[5]=C=>md("responses"))}," Responses ",10,SR),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":Ir.value==="chat"}]),disabled:mt.value||Qt.value,onClick:p[6]||(p[6]=C=>md("chat"))}," Completions ",10,xR)],8,CR)])])):J("",!0),Gn.value==="opencode-zen"?(k(),R("div",AR,[m("div",ER,[m("span",IR,$(S(o)("OpenCode Zen API key")),1),m("a",RR,$(S(o)("Get API key")),1)]),m("div",PR,[en(m("input",{"onUpdate:modelValue":p[7]||(p[7]=C=>Bo.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-..."),onKeydown:mn(vd,["enter"])},null,40,MR),[[un,Bo.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:mt.value||!Bo.value.trim(),onClick:vd},$(mt.value?"...":S(o)("Save")),9,$R)])])):J("",!0),Gn.value==="custom"?(k(),R("div",NR,[m("span",LR,$(S(o)("Custom endpoint URL")),1),m("div",OR,[en(m("input",{"onUpdate:modelValue":p[8]||(p[8]=C=>Zt.value=C),class:"sidebar-settings-key-input",type:"url",placeholder:S(o)("https://api.example.com/v1"),onKeydown:mn(lu,["enter"])},null,40,jR),[[un,Zt.value]])]),m("span",DR,$(S(o)("API key")),1),m("div",FR,[en(m("input",{"onUpdate:modelValue":p[9]||(p[9]=C=>Uo.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("Bearer token (optional)"),onKeydown:mn(lu,["enter"])},null,40,UR),[[un,Uo.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:mt.value||!Zt.value.trim(),onClick:lu},$(mt.value?"...":S(o)("Save")),9,BR)]),m("div",qR,[m("span",HR,$(S(o)("API format")),1),m("div",{class:"sidebar-settings-segmented",role:"group","aria-label":S(o)("Custom endpoint API format")},[m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":no.value==="responses"}]),onClick:p[10]||(p[10]=C=>no.value="responses")}," Responses ",2),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":no.value==="chat"}]),onClick:p[11]||(p[11]=C=>no.value="chat")}," Completions ",2)],8,WR)])])):J("",!0),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:g.dictationLanguage},[m("span",VR,$(S(o)("Dictation language")),1),Oe(Lr,{class:"sidebar-settings-language-dropdown","model-value":B.value,options:re.value,placeholder:S(o)("Auto-detect"),"open-direction":"up","enable-search":!0,"search-placeholder":S(o)("Search language..."),"onUpdate:modelValue":Uv},null,8,["model-value","options","placeholder","search-placeholder"])],8,zR),m("button",{class:"sidebar-settings-row",type:"button","aria-live":"polite",onClick:p[12]||(p[12]=C=>qo.value=!qo.value)},[m("span",GR,$(S(o)("Telegram")),1),m("span",KR,$(Li.value),1)]),qo.value?(k(),R("div",YR,[m("label",QR,[m("span",JR,$(S(o)("Bot token")),1),en(m("input",{"onUpdate:modelValue":p[13]||(p[13]=C=>or.value=C),class:"sidebar-settings-input",type:"password",placeholder:"123456:ABCDEF",autocomplete:"off",spellcheck:"false"},null,512),[[un,or.value]])]),m("label",XR,[m("span",ZR,$(S(o)("Allowed Telegram user IDs")),1),en(m("textarea",{"onUpdate:modelValue":p[14]||(p[14]=C=>Ho.value=C),class:"sidebar-settings-textarea",rows:"3",placeholder:`123456789
63
- 987654321`,spellcheck:"false"},null,512),[[un,Ho.value]])]),m("div",eP,$(S(o)("Put one Telegram user ID per line or separate them with commas. Use `*` to allow all Telegram users. Unauthorized users will see their own ID in the rejection message so they can copy it here.")),1),qr.value?(k(),R("div",tP,$(qr.value),1)):J("",!0),m("div",nP,[m("button",{class:"sidebar-settings-telegram-save",type:"button",disabled:ko.value,onClick:eu},$(ko.value?S(o)("Saving…"):S(o)("Save Telegram config")),9,rP)])])):J("",!0),w.value?(k(),R("div",{key:5,class:"sidebar-settings-row sidebar-settings-context-row","data-state":an.value,title:ga.value},[m("span",aP,$(S(o)("Context")),1),m("span",{class:"sidebar-settings-context-value","data-state":an.value},[es($(Fn.value)+" ",1),m("span",iP,$(so.value),1)],8,sP)],8,oP)):J("",!0),m("div",lP,[Oe(cA,{snapshots:S(Se)},null,8,["snapshots"])]),m("div",{class:"sidebar-settings-build-label","aria-label":S(o)("Worktree name and version")}," WT "+$(S(h))+" · v"+$(S(f)),9,uP)],512)):J("",!0)]),_:1}),m("button",{ref_key:"settingsButtonRef",ref:to,class:"sidebar-settings-button",type:"button",onClick:p[16]||(p[16]=Xe(C=>jn.value=!jn.value,["stop"]))},[Oe(cE,{class:"sidebar-settings-icon"}),m("span",null,$(S(o)("Settings")),1),m("span",cP,$(S(h))+" · v"+$(S(f)),1)],512)],512))])]),content:ht(()=>[m("section",{class:et(["content-root",{"is-virtual-keyboard-open":Go.value,"is-terminal-open":Mr.value}]),style:oa(Ql.value)},[ao.value?(k(),R("span",dP)):J("",!0),Oe(hC,{title:La.value,accent:ir.value},{leading:ht(()=>[rn.value||S(se)?(k(),Ze(sh,{key:0,class:"sidebar-thread-controls-header-host","is-sidebar-collapsed":rn.value,"show-new-thread-button":!0,onToggleSidebar:p[17]||(p[17]=C=>Gr(!rn.value)),onStartNewThread:tu},null,8,["is-sidebar-collapsed"])):J("",!0),ir.value?(k(),R("span",fP,[Oe(hl)])):J("",!0)]),actions:ht(()=>[qs.value?(k(),Ze(Lr,{key:0,class:et(["content-header-terminal-command",{"is-open":Mr.value}]),"model-value":fa.value,options:Yl.value,placeholder:Ks.value,"selected-prefix-icon":pE,"icon-only":!0,"empty-label":S(o)("No commands"),"onUpdate:modelValue":Vm},null,8,["class","model-value","options","placeholder","empty-label"])):J("",!0),va.value?(k(),Ze(UA,{key:1,class:"content-header-branch-dropdown","current-branch":Ft.value,"head-sha":pr.value,"head-subject":xr.value,"head-date":Ar.value,detached:fn.value,dirty:Ct.value,branches:_o.value,"commits-by-branch":nr.value,"commits-loading-for":Rn.value,"commits-error":Fr.value,loading:gn.value,busy:mr.value,error:yt.value,"review-open":zn.value,"show-review":S(U).name==="thread"&&S(de).length>0,onToggleReview:p[18]||(p[18]=C=>zn.value=!zn.value),onCheckoutBranch:lv,onResetBranchToCommit:uv,onLoadCommits:cv},null,8,["current-branch","head-sha","head-subject","head-date","detached","dirty","branches","commits-by-branch","commits-loading-for","commits-error","loading","busy","error","review-open","show-review"])):J("",!0)]),_:1},8,["title","accent"]),m("section",hP,[ir.value?(k(),Ze(S(a),{key:0,cwd:y.value,"thread-id":Vr.value,"try-in-flight-key":Xt.value,onSkillsChanged:Jl,onTryItem:Zv},null,8,["cwd","thread-id","try-in-flight-key"])):jt.value?(k(),R("div",pP,[m("div",mP,[m("p",vP,$(S(o)("Let's build")),1),Oe(Lr,{class:"new-thread-folder-dropdown","model-value":ot.value,options:Ws.value,placeholder:S(o)("Choose folder"),"enable-search":!0,"search-placeholder":S(o)("Quick search project"),disabled:!1,"onUpdate:modelValue":av},null,8,["model-value","options","placeholder","search-placeholder"]),ot.value?(k(),R("p",{key:0,class:"new-thread-folder-selected",title:ot.value},$(S(o)("Selected folder"))+": "+$(ot.value),9,gP)):J("",!0),m("div",yP,[m("button",{class:"new-thread-folder-action new-thread-folder-action-primary",type:"button",onClick:fv},$(S(o)("Select folder")),1),m("button",{class:"new-thread-folder-action",type:"button",onClick:dv},$(S(o)("Create Project")),1)]),Re.value?(k(),R("section",wP,[m("div",bP,[m("div",_P,[m("span",TP,[Oe(hl)]),m("p",kP,$(S(o)("New in Codex")),1)]),m("h2",CP,$(S(o)("Plugins are here")),1),m("p",SP,$(S(o)("Hook Codex up to Gmail, Calendar, GitHub, Slack, Browser Use, and more so it can actually help with real work right away.")),1),p[29]||(p[29]=m("div",{class:"new-thread-launch-card-pills","aria-label":"Example integrations"},[m("span",{class:"new-thread-launch-card-pill"},"Gmail"),m("span",{class:"new-thread-launch-card-pill"},"Calendar"),m("span",{class:"new-thread-launch-card-pill"},"GitHub"),m("span",{class:"new-thread-launch-card-pill"},"Slack"),m("span",{class:"new-thread-launch-card-pill"},"Browser Use")],-1))]),m("div",xP,[m("button",{class:"new-thread-launch-card-button new-thread-launch-card-button-primary",type:"button",onClick:Cn},$(S(o)("Explore Plugins & Apps")),1),m("button",{class:"new-thread-launch-card-button",type:"button",onClick:Pt},$(S(o)("Dismiss")),1)])])):J("",!0),(k(),Ze(Ka,{to:"body"},[Rr.value?(k(),R("div",{key:0,class:"new-thread-open-folder-overlay",onClick:Xe(ds,["self"])},[m("div",{class:"new-thread-open-folder",role:"dialog","aria-modal":"true","aria-label":S(o)("Select folder"),onKeydown:mn(Xe(ds,["prevent"]),["esc"])},[m("div",EP,[m("p",IP,$(S(o)("Select folder")),1),m("button",{class:"new-thread-open-folder-close",type:"button",onClick:ds},$(S(o)("Cancel")),1)]),m("p",RP,$(S(o)("Current folder")),1),m("div",PP,[en(m("input",{ref_key:"existingFolderPathInputRef",ref:ts,"onUpdate:modelValue":p[19]||(p[19]=C=>Pr.value=C),class:"new-thread-open-folder-path",type:"text",placeholder:S(o)("Current folder"),title:Pr.value||S(o)("Unavailable"),disabled:$n.value||ar.value,onBlur:vv,onKeydown:[mn(Xe(gv,["prevent"]),["enter"]),mn(Xe(ds,["prevent"]),["esc"])]},null,40,MP),[[un,Pr.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary",type:"button",disabled:!ja.value||$n.value||ar.value,onClick:p[20]||(p[20]=C=>ou())},$(ar.value?S(o)("Opening…"):S(o)("Open")),9,$P)]),m("div",NP,[m("label",LP,[en(m("input",{"onUpdate:modelValue":p[21]||(p[21]=C=>ha.value=C),class:"new-thread-open-folder-toggle-input",type:"checkbox",onChange:pv},null,544),[[kw,ha.value]]),m("span",null,$(S(o)("Show hidden folders")),1)]),m("button",{class:et(["new-thread-folder-action",{"new-thread-folder-action-primary":wr.value}]),type:"button","aria-pressed":wr.value,disabled:!Kn.value||$n.value||ar.value||Hr.value||!!kn.value&&!wr.value,onClick:yv},$(S(o)("New folder")),11,OP)]),wr.value?(k(),R("div",jP,[m("div",DP,[en(m("input",{ref_key:"createFolderInputRef",ref:To,"onUpdate:modelValue":p[22]||(p[22]=C=>Co.value=C),class:"new-thread-open-folder-create-input",type:"text",placeholder:S(o)("Folder name"),onKeydown:[mn(Xe(ld,["prevent"]),["enter"]),mn(Xe(ei,["prevent"]),["esc"])]},null,40,FP),[[un,Co.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary new-thread-open-folder-create-submit",type:"button",disabled:!Vl.value||Hr.value,onClick:ld},$(ls.value),9,UP)]),Tn.value?(k(),R("p",BP,$(Tn.value),1)):J("",!0)])):J("",!0),en(m("input",{ref_key:"existingFolderFilterInputRef",ref:ns,"onUpdate:modelValue":p[23]||(p[23]=C=>br.value=C),class:"new-thread-open-folder-filter",type:"text",placeholder:S(o)("Filter folders..."),onKeydown:mn(Xe(ds,["prevent"]),["esc"])},null,40,qP),[[un,br.value]]),kn.value?(k(),R("div",HP,[m("p",WP,$(kn.value),1),m("button",{class:"new-thread-folder-action",type:"button",disabled:$n.value||ar.value,onClick:mv},$(S(o)("Retry")),9,zP)])):J("",!0),$n.value?(k(),R("p",VP,$(S(o)("Loading folders…")),1)):!kn.value&&Gs.value.length===0?(k(),R("p",GP,$(br.value.trim()?S(o)("No folders match this filter."):S(o)("No subfolders found here.")),1)):Gs.value.length>0?(k(),R("ul",KP,[(k(!0),R(Ye,null,Kt(Gs.value,C=>(k(),R("li",{key:C.key,class:"new-thread-open-folder-item"},[m("button",{class:"new-thread-open-folder-item-main",type:"button",title:C.path,disabled:$n.value||ar.value,onClick:V=>hv(C.path)},[m("span",QP,$(C.name),1)],8,YP),C.kind==="directory"?(k(),R("button",{key:0,class:"new-thread-open-folder-item-open",type:"button",disabled:$n.value||ar.value,onClick:V=>ou(C.path)},$(S(o)("Open")),9,JP)):J("",!0)]))),128))])):J("",!0)],40,AP)])):J("",!0)])),Ao.value?(k(),Ze(zA,{key:2,class:"new-thread-runtime-dropdown",modelValue:cn.value,"onUpdate:modelValue":p[24]||(p[24]=C=>cn.value=C)},null,8,["modelValue"])):J("",!0),cn.value==="worktree"?(k(),R("div",XP,[m("p",ZP,$(S(o)("Base branch")),1),Oe(Lr,{class:"new-thread-branch-dropdown","model-value":nn.value,options:zs.value,placeholder:S(o)("Select branch"),"enable-search":!0,"search-placeholder":S(o)("Search branches..."),disabled:Zr.value||zs.value.length===0,"onUpdate:modelValue":sv},null,8,["model-value","options","placeholder","search-placeholder","disabled"]),m("p",eM,$(Zr.value?S(o)("Loading branches…"):ss.value?S(o)("New worktree branch will start from {branch}.",{branch:ss.value}):S(o)("No Git branches found for this folder.")),1)])):J("",!0),Ao.value?(k(),R("p",tM,$(S(o)("Local project uses the selected folder directly. New worktree creates an isolated Git worktree before the first prompt.")),1)):J("",!0),Dt.value.phase!=="idle"?(k(),R("div",{key:5,class:et(["worktree-init-status",{"is-running":Dt.value.phase==="running","is-error":Dt.value.phase==="error"}])},[m("strong",nM,$(Dt.value.title),1),m("span",rM,$(Dt.value.message),1)],2)):J("",!0)]),m("div",oM,[Wt.value&&qt.value?(k(),Ze(S(n),{key:0,ref_key:"homeTerminalPanelRef",ref:xt,class:"content-thread-terminal-panel","thread-id":xo.value,cwd:qt.value,onHide:Zm,onTerminalFocusChange:td},null,8,["thread-id","cwd"])):J("",!0),Oe(ah,{ref_key:"homeThreadComposerRef",ref:Te,"active-thread-id":xo.value,cwd:qt.value,"collaboration-modes":S(be),"selected-collaboration-mode":S(G),models:S(Le),"selected-model":Vo.value,"selected-reasoning-effort":S(me),"selected-speed-mode":S(ke),"is-updating-speed-mode":S(tt),skills:S(oe),"thread-token-usage":S(j),"codex-quota":S(ye),"is-turn-in-progress":!1,"is-stop-pending":!1,"is-interrupting-turn":!1,"send-with-enter":gr.value,"in-progress-submit-mode":Br.value,"dictation-click-to-toggle":Mn.value,"dictation-auto-send":I.value,"dictation-language":B.value,onSubmit:sd,"onUpdate:selectedCollaborationMode":yd,"onUpdate:selectedModel":fd,"onUpdate:selectedReasoningEffort":hd,"onUpdate:selectedSpeedMode":pd},null,8,["active-thread-id","cwd","collaboration-modes","selected-collaboration-mode","models","selected-model","selected-reasoning-effort","selected-speed-mode","is-updating-speed-mode","skills","thread-token-usage","codex-quota","send-with-enter","in-progress-submit-mode","dictation-click-to-toggle","dictation-auto-send","dictation-language"])])])):(k(),R("div",aM,[zn.value&&S(de)&&qt.value?(k(),Ze(S(r),{key:0,"thread-id":S(de),cwd:qt.value,"is-thread-in-progress":b.value,onClose:p[25]||(p[25]=C=>zn.value=!1)},null,8,["thread-id","cwd","is-thread-in-progress"])):(k(),R(Ye,{key:1},[m("div",sM,[Oe(S(t),{ref_key:"threadConversationRef",ref:ze,messages:ma.value,"is-loading":S(Ke),"active-thread-id":xo.value,cwd:qt.value,"live-overlay":os.value,"pending-requests":S(K),onForkThread:zm,onRollback:kv,onImplementPlan:Cv,onRespondServerRequest:Yc},null,8,["messages","is-loading","active-thread-id","cwd","live-overlay","pending-requests"])]),m("div",iM,[Oe(tA,{messages:S(z),onEdit:ov,onSteer:S(le),onDelete:S(ae),onReorder:_v},null,8,["messages","onSteer","onDelete"]),S(D)&&S(de)&&qt.value?(k(),Ze(S(n),{key:0,ref_key:"threadTerminalPanelRef",ref:Bt,class:"content-thread-terminal-panel","thread-id":S(de),cwd:qt.value,onHide:ev,onTerminalFocusChange:td},null,8,["thread-id","cwd"])):J("",!0),as.value?(k(),Ze(Wx,{key:1,request:as.value,"request-count":S(K).length,"has-queue-above":S(z).length>0,onRespondServerRequest:Yc},null,8,["request","request-count","has-queue-above"])):(k(),Ze(ah,{key:2,ref_key:"threadComposerRef",ref:$e,"active-thread-id":xo.value,cwd:qt.value,"collaboration-modes":S(be),"selected-collaboration-mode":S(G),models:S(Le),"selected-model":Vo.value,"selected-reasoning-effort":S(me),"selected-speed-mode":S(ke),"is-updating-speed-mode":S(tt),skills:S(oe),"thread-token-usage":S(j),"codex-quota":S(ye),"is-turn-in-progress":b.value,"is-stop-pending":S(Qe),"is-interrupting-turn":S(Ce),"has-queue-above":S(z).length>0,"send-with-enter":gr.value,"in-progress-submit-mode":Br.value,"dictation-click-to-toggle":Mn.value,"dictation-auto-send":I.value,"dictation-language":B.value,"onUpdate:selectedCollaborationMode":yd,onSubmit:sd,"onUpdate:selectedModel":fd,"onUpdate:selectedReasoningEffort":hd,"onUpdate:selectedSpeedMode":pd,onInterrupt:Tv},null,8,["active-thread-id","cwd","collaboration-modes","selected-collaboration-mode","models","selected-model","selected-reasoning-effort","selected-speed-mode","is-updating-speed-mode","skills","thread-token-usage","codex-quota","is-turn-in-progress","is-stop-pending","is-interrupting-turn","has-queue-above","send-with-enter","in-progress-submit-mode","dictation-click-to-toggle","dictation-auto-send","dictation-language"]))])],64))]))])],6)]),_:1},8,["is-sidebar-collapsed"]),Ur.value?(k(),R("div",{key:0,class:"codex-login-modal-backdrop",role:"presentation",onClick:cs},[m("form",{class:"codex-login-modal",role:"dialog","aria-modal":"true","aria-label":S(o)("Complete Codex login"),onSubmit:Xe(Fi,["prevent"]),onClick:p[28]||(p[28]=Xe(()=>{},["stop"]))},[m("div",uM,[m("h2",cM,$(S(o)("Complete Codex login")),1),m("button",{class:"codex-login-modal-close",type:"button","aria-label":S(o)("Close"),disabled:Yt.value,onClick:cs}," × ",8,dM)]),m("p",fM,$(S(o)("Finish login in the browser, then paste the localhost callback URL here.")),1),vr.value?(k(),R("a",{key:0,class:"codex-login-modal-link",href:vr.value,target:"_blank",rel:"noreferrer"},$(S(o)("Open login URL")),9,hM)):J("",!0),en(m("input",{ref_key:"codexLoginCallbackInputRef",ref:Er,"onUpdate:modelValue":p[27]||(p[27]=C=>yn.value=C),class:"codex-login-modal-input",type:"url",inputmode:"url",placeholder:S(o)("Paste localhost callback URL"),disabled:Yt.value},null,8,pM),[[un,yn.value]]),Vt.value?(k(),R("p",mM,$(Vt.value),1)):J("",!0),m("div",vM,[m("button",{class:"codex-login-modal-cancel",type:"button",disabled:Yt.value,onClick:cs},$(S(o)("Cancel")),9,gM),m("button",{class:"codex-login-modal-submit",type:"submit",disabled:Yt.value||yn.value.trim().length===0},$(Yt.value?S(o)("Completing…"):S(o)("Complete")),9,yM)])],40,lM)])):J("",!0)],64))}}),_M=It(bM,[["__scopeId","data-v-26a47e33"]]),Hu={render:()=>null},TM=Bb({history:wb(),routes:[{path:"/",name:"home",component:Hu},{path:"/thread/:threadId",name:"thread",component:Hu},{path:"/skills",name:"skills",component:Hu},{path:"/new-thread",redirect:{name:"home"}},{path:"/:pathMatch(.*)*",redirect:{name:"home"}}]});console.log("Welcome to codexui. github: https://github.com/friuns2/codexUI");Rw(_M).use(TM).mount("#app");"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(e=>{console.error(bm("Service worker registration failed."),e)})});export{SM as $,Ze as A,Nc as B,W0 as C,AM as D,xM as E,Ye as F,EM as G,G0 as H,js as I,Pa as J,IM as K,Lr as L,VM as M,KM as N,YM as O,CM as P,GM as Q,Vc as R,Ka as S,Hp as T,en as U,un as V,ii as W,Lo as X,Hb as Y,qb as Z,It as _,m as a,RM as a0,LM as a1,UM as a2,BM as a3,PM as a4,FM as a5,qM as a6,WM as a7,zM as a8,MM as a9,$M as aa,NM as ab,OM as ac,DM as ad,jM as ae,HM as af,ca as b,R as c,qn as d,Ra as e,J as f,et as g,kM as h,Oe as i,Ts as j,wC as k,yE as l,Xe as m,Jt as n,k as o,oa as p,S as q,Kt as r,es as s,$ as t,Hc as u,ht as v,pt as w,A as x,te as y,Zi as z};