codexui-android 0.1.104 → 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-BptqFdFB.js","assets/ThreadConversation-DEwOuZ3c.css","assets/ThreadTerminalPanel-DMMkfF3u.js","assets/ThreadTerminalPanel-BcVTRuCH.css","assets/ReviewPane-D97Q2j2l.js","assets/ReviewPane-AzgWKh85.css","assets/DirectoryHub-R8Bjp_S3.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 kc(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Dt={},_s=[],Oo=()=>{},$h=()=>!1,Al=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),El=e=>e.startsWith("onUpdate:"),Cn=Object.assign,Cc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},rg=Object.prototype.hasOwnProperty,It=(e,t)=>rg.call(e,t),tt=Array.isArray,Ts=e=>Ei(e)==="[object Map]",Os=e=>Ei(e)==="[object Set]",Cd=e=>Ei(e)==="[object Date]",ct=e=>typeof e=="function",Zt=e=>typeof e=="string",ho=e=>typeof e=="symbol",Rt=e=>e!==null&&typeof e=="object",Nh=e=>(Rt(e)||ct(e))&&ct(e.then)&&ct(e.catch),Lh=Object.prototype.toString,Ei=e=>Lh.call(e),og=e=>Ei(e).slice(8,-1),Oh=e=>Ei(e)==="[object Object]",Sc=e=>Zt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ci=kc(",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)))},ag=/-\w/g,fr=Il(e=>e.replace(ag,t=>t.slice(1).toUpperCase())),sg=/\B([A-Z])/g,Ea=Il(e=>e.replace(sg,"-$1").toLowerCase()),Rl=Il(e=>e.charAt(0).toUpperCase()+e.slice(1)),pu=Il(e=>e?`on${Rl(e)}`:""),lo=(e,t)=>!Object.is(e,t),cl=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},jh=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Pl=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ig=e=>{const t=Zt(e)?Number(e):NaN;return isNaN(t)?e:t};let Sd;const Ml=()=>Sd||(Sd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ta(e){if(tt(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],a=Zt(r)?dg(r):ta(r);if(a)for(const o in a)t[o]=a[o]}return t}else if(Zt(e)||Rt(e))return e}const lg=/;(?![^(]*\))/g,ug=/:([^]+)/,cg=/\/\*[^]*?\*\//g;function dg(e){const t={};return e.replace(cg,"").split(lg).forEach(n=>{if(n){const r=n.split(ug);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function et(e){let t="";if(Zt(e))t=e;else if(tt(e))for(let n=0;n<e.length;n++){const r=et(e[n]);r&&(t+=r+" ")}else if(Rt(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const fg="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",hg=kc(fg);function Dh(e){return!!e||e===""}function pg(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=js(e[r],t[r]);return n}function js(e,t){if(e===t)return!0;let n=Cd(e),r=Cd(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=ho(e),r=ho(t),n||r)return e===t;if(n=tt(e),r=tt(t),n||r)return n&&r?pg(e,t):!1;if(n=Rt(e),r=Rt(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||!js(e[s],t[s]))return!1}}return String(e)===String(t)}function xc(e,t){return e.findIndex(n=>js(n,t))}const Fh=e=>!!(e&&e.__v_isRef===!0),P=e=>Zt(e)?e:e==null?"":tt(e)||Rt(e)&&(e.toString===Lh||!ct(e.toString))?Fh(e)?P(e.value):JSON.stringify(e,Uh,2):String(e),Uh=(e,t)=>Fh(t)?Uh(e,t.value):Ts(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,a],o)=>(n[mu(r,o)+" =>"]=a,n),{})}:Os(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>mu(n))}:ho(t)?mu(t):Rt(t)&&!tt(t)&&!Oh(t)?String(t):t,mu=(e,t="")=>{var n;return ho(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 Tr;class mg{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=Tr,!t&&Tr&&(this.index=(Tr.scopes||(Tr.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=Tr;try{return Tr=this,t()}finally{Tr=n}}}on(){++this._on===1&&(this.prevScope=Tr,Tr=this)}off(){this._on>0&&--this._on===0&&(Tr=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 vg(){return Tr}let qt;const vu=new WeakSet;class Bh{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,Tr&&Tr.active&&Tr.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,vu.has(this)&&(vu.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Hh(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,xd(this),Wh(this);const t=qt,n=co;qt=this,co=!0;try{return this.fn()}finally{zh(this),qt=t,co=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ic(t);this.deps=this.depsTail=void 0,xd(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?vu.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Vu(this)&&this.run()}get dirty(){return Vu(this)}}let qh=0,di,fi;function Hh(e,t=!1){if(e.flags|=8,t){e.next=fi,fi=e;return}e.next=di,di=e}function Ac(){qh++}function Ec(){if(--qh>0)return;if(fi){let t=fi;for(fi=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;di;){let t=di;for(di=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 Wh(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zh(e){let t,n=e.depsTail,r=n;for(;r;){const a=r.prevDep;r.version===-1?(r===n&&(n=a),Ic(r),gg(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=a}e.deps=t,e.depsTail=n}function Vu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vh(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vh(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bi)||(e.globalVersion=bi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Vu(e))))return;e.flags|=2;const t=e.dep,n=qt,r=co;qt=e,co=!0;try{Wh(e);const a=e.fn(e._value);(t.version===0||lo(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{qt=n,co=r,zh(e),e.flags&=-3}}function Ic(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)Ic(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function gg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let co=!0;const Gh=[];function ra(){Gh.push(co),co=!1}function oa(){const e=Gh.pop();co=e===void 0?!0:e}function xd(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=qt;qt=void 0;try{t()}finally{qt=n}}}let bi=0;class yg{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 Rc{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(!qt||!co||qt===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==qt)n=this.activeLink=new yg(qt,this),qt.deps?(n.prevDep=qt.depsTail,qt.depsTail.nextDep=n,qt.depsTail=n):qt.deps=qt.depsTail=n,Kh(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=qt.depsTail,n.nextDep=void 0,qt.depsTail.nextDep=n,qt.depsTail=n,qt.deps===n&&(qt.deps=r)}return n}trigger(t){this.version++,bi++,this.notify(t)}notify(t){Ac();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ec()}}}function Kh(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)Kh(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gu=new WeakMap,Ja=Symbol(""),Ku=Symbol(""),_i=Symbol("");function Zn(e,t,n){if(co&&qt){let r=Gu.get(e);r||Gu.set(e,r=new Map);let a=r.get(n);a||(r.set(n,a=new Rc),a.map=r,a.key=n),a.track()}}function Zo(e,t,n,r,a,o){const s=Gu.get(e);if(!s){bi++;return}const l=c=>{c&&c.trigger()};if(Ac(),t==="clear")s.forEach(l);else{const c=tt(e),h=c&&Sc(n);if(c&&n==="length"){const f=Number(r);s.forEach((g,_)=>{(_==="length"||_===_i||!ho(_)&&_>=f)&&l(g)})}else switch((n!==void 0||s.has(void 0))&&l(s.get(n)),h&&l(s.get(_i)),t){case"add":c?h&&l(s.get("length")):(l(s.get(Ja)),Ts(e)&&l(s.get(Ku)));break;case"delete":c||(l(s.get(Ja)),Ts(e)&&l(s.get(Ku)));break;case"set":Ts(e)&&l(s.get(Ja));break}}Ec()}function us(e){const t=At(e);return t===e?t:(Zn(t,"iterate",_i),Gr(e)?t:t.map(po))}function $l(e){return Zn(e=At(e),"iterate",_i),e}function $o(e,t){return aa(e)?Es(Xa(e)?po(t):t):po(t)}const wg={__proto__:null,[Symbol.iterator](){return gu(this,Symbol.iterator,e=>$o(this,e))},concat(...e){return us(this).concat(...e.map(t=>tt(t)?us(t):t))},entries(){return gu(this,"entries",e=>(e[1]=$o(this,e[1]),e))},every(e,t){return Ko(this,"every",e,t,void 0,arguments)},filter(e,t){return Ko(this,"filter",e,t,n=>n.map(r=>$o(this,r)),arguments)},find(e,t){return Ko(this,"find",e,t,n=>$o(this,n),arguments)},findIndex(e,t){return Ko(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ko(this,"findLast",e,t,n=>$o(this,n),arguments)},findLastIndex(e,t){return Ko(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ko(this,"forEach",e,t,void 0,arguments)},includes(...e){return yu(this,"includes",e)},indexOf(...e){return yu(this,"indexOf",e)},join(e){return us(this).join(e)},lastIndexOf(...e){return yu(this,"lastIndexOf",e)},map(e,t){return Ko(this,"map",e,t,void 0,arguments)},pop(){return ni(this,"pop")},push(...e){return ni(this,"push",e)},reduce(e,...t){return Ad(this,"reduce",e,t)},reduceRight(e,...t){return Ad(this,"reduceRight",e,t)},shift(){return ni(this,"shift")},some(e,t){return Ko(this,"some",e,t,void 0,arguments)},splice(...e){return ni(this,"splice",e)},toReversed(){return us(this).toReversed()},toSorted(e){return us(this).toSorted(e)},toSpliced(...e){return us(this).toSpliced(...e)},unshift(...e){return ni(this,"unshift",e)},values(){return gu(this,"values",e=>$o(this,e))}};function gu(e,t,n){const r=$l(e),a=r[t]();return r!==e&&!Gr(e)&&(a._next=a.next,a.next=()=>{const o=a._next();return o.done||(o.value=n(o.value)),o}),a}const bg=Array.prototype;function Ko(e,t,n,r,a,o){const s=$l(e),l=s!==e&&!Gr(e),c=s[t];if(c!==bg[t]){const g=c.apply(e,o);return l?po(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 Ad(e,t,n,r){const a=$l(e),o=a!==e&&!Gr(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 yu(e,t,n){const r=At(e);Zn(r,"iterate",_i);const a=r[t](...n);return(a===-1||a===!1)&&$c(n[0])?(n[0]=At(n[0]),r[t](...n)):a}function ni(e,t,n=[]){ra(),Ac();const r=At(e)[t].apply(e,n);return Ec(),oa(),r}const _g=kc("__proto__,__v_isRef,__isVue"),Yh=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ho));function Tg(e){ho(e)||(e=String(e));const t=At(this);return Zn(t,"has",e),t.hasOwnProperty(e)}class Qh{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?Mg:ep:o?Zh:Xh).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=tt(t);if(!a){let c;if(s&&(c=wg[n]))return c;if(n==="hasOwnProperty")return Tg}const l=Reflect.get(t,n,tr(t)?t:r);if((ho(n)?Yh.has(n):_g(n))||(a||Zn(t,"get",n),o))return l;if(tr(l)){const c=s&&Sc(n)?l:l.value;return a&&Rt(c)?Qu(c):c}return Rt(l)?a?Qu(l):Nl(l):l}}class Jh extends Qh{constructor(t=!1){super(!1,t)}set(t,n,r,a){let o=t[n];const s=tt(t)&&Sc(n);if(!this._isShallow){const h=aa(o);if(!Gr(r)&&!aa(r)&&(o=At(o),r=At(r)),!s&&tr(o)&&!tr(r))return h||(o.value=r),!0}const l=s?Number(n)<t.length:It(t,n),c=Reflect.set(t,n,r,tr(t)?t:a);return t===At(a)&&(l?lo(r,o)&&Zo(t,"set",n,r):Zo(t,"add",n,r)),c}deleteProperty(t,n){const r=It(t,n);t[n];const a=Reflect.deleteProperty(t,n);return a&&r&&Zo(t,"delete",n,void 0),a}has(t,n){const r=Reflect.has(t,n);return(!ho(n)||!Yh.has(n))&&Zn(t,"has",n),r}ownKeys(t){return Zn(t,"iterate",tt(t)?"length":Ja),Reflect.ownKeys(t)}}class kg extends Qh{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Cg=new Jh,Sg=new kg,xg=new Jh(!0);const Yu=e=>e,Yi=e=>Reflect.getPrototypeOf(e);function Ag(e,t,n){return function(...r){const a=this.__v_raw,o=At(a),s=Ts(o),l=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,h=a[e](...r),f=n?Yu:t?Es:po;return!t&&Zn(o,"iterate",c?Ku:Ja),Cn(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 Qi(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Eg(e,t){const n={get(a){const o=this.__v_raw,s=At(o),l=At(a);e||(lo(a,l)&&Zn(s,"get",a),Zn(s,"get",l));const{has:c}=Yi(s),h=t?Yu:e?Es:po;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&&Zn(At(a),"iterate",Ja),a.size},has(a){const o=this.__v_raw,s=At(o),l=At(a);return e||(lo(a,l)&&Zn(s,"has",a),Zn(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=At(l),h=t?Yu:e?Es:po;return!e&&Zn(c,"iterate",Ja),l.forEach((f,g)=>a.call(o,h(f),h(g),s))}};return Cn(n,e?{add:Qi("add"),set:Qi("set"),delete:Qi("delete"),clear:Qi("clear")}:{add(a){const o=At(this),s=Yi(o),l=At(a),c=!t&&!Gr(a)&&!aa(a)?l:a;return s.has.call(o,c)||lo(a,c)&&s.has.call(o,a)||lo(l,c)&&s.has.call(o,l)||(o.add(c),Zo(o,"add",c,c)),this},set(a,o){!t&&!Gr(o)&&!aa(o)&&(o=At(o));const s=At(this),{has:l,get:c}=Yi(s);let h=l.call(s,a);h||(a=At(a),h=l.call(s,a));const f=c.call(s,a);return s.set(a,o),h?lo(o,f)&&Zo(s,"set",a,o):Zo(s,"add",a,o),this},delete(a){const o=At(this),{has:s,get:l}=Yi(o);let c=s.call(o,a);c||(a=At(a),c=s.call(o,a)),l&&l.call(o,a);const h=o.delete(a);return c&&Zo(o,"delete",a,void 0),h},clear(){const a=At(this),o=a.size!==0,s=a.clear();return o&&Zo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Ag(a,e,t)}),n}function Pc(e,t){const n=Eg(e,t);return(r,a,o)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?r:Reflect.get(It(n,a)&&a in r?n:r,a,o)}const Ig={get:Pc(!1,!1)},Rg={get:Pc(!1,!0)},Pg={get:Pc(!0,!1)};const Xh=new WeakMap,Zh=new WeakMap,ep=new WeakMap,Mg=new WeakMap;function $g(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ng(e){return e.__v_skip||!Object.isExtensible(e)?0:$g(og(e))}function Nl(e){return aa(e)?e:Mc(e,!1,Cg,Ig,Xh)}function tp(e){return Mc(e,!1,xg,Rg,Zh)}function Qu(e){return Mc(e,!0,Sg,Pg,ep)}function Mc(e,t,n,r,a){if(!Rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=Ng(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 aa(e)?Xa(e.__v_raw):!!(e&&e.__v_isReactive)}function aa(e){return!!(e&&e.__v_isReadonly)}function Gr(e){return!!(e&&e.__v_isShallow)}function $c(e){return e?!!e.__v_raw:!1}function At(e){const t=e&&e.__v_raw;return t?At(t):e}function Lg(e){return!It(e,"__v_skip")&&Object.isExtensible(e)&&jh(e,"__v_skip",!0),e}const po=e=>Rt(e)?Nl(e):e,Es=e=>Rt(e)?Qu(e):e;function tr(e){return e?e.__v_isRef===!0:!1}function x(e){return np(e,!1)}function Og(e){return np(e,!0)}function np(e,t){return tr(e)?e:new jg(e,t)}class jg{constructor(t,n){this.dep=new Rc,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:At(t),this._value=n?t:po(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Gr(t)||aa(t);t=r?t:At(t),lo(t,n)&&(this._rawValue=t,this._value=r?t:po(t),this.dep.trigger())}}function S(e){return tr(e)?e.value:e}const Dg={get:(e,t,n)=>t==="__v_raw"?e:S(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const a=e[t];return tr(a)&&!tr(n)?(a.value=n,!0):Reflect.set(e,t,n,r)}};function rp(e){return Xa(e)?e:new Proxy(e,Dg)}class Fg{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Rc(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&qt!==this)return Hh(this,!0),!0}get value(){const t=this.dep.track();return Vh(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ug(e,t,n=!1){let r,a;return ct(e)?r=e:(r=e.get,a=e.set),new Fg(r,a,n)}const Ji={},gl=new WeakMap;let za;function Bg(e,t=!1,n=za){if(n){let r=gl.get(n);r||gl.set(n,r=[]),r.push(e)}}function qg(e,t,n=Dt){const{immediate:r,deep:a,once:o,scheduler:s,augmentJob:l,call:c}=n,h=Z=>a?Z:Gr(Z)||a===!1||a===0?ea(Z,1):ea(Z);let f,g,_,R,O=!1,B=!1;if(tr(e)?(g=()=>e.value,O=Gr(e)):Xa(e)?(g=()=>h(e),O=!0):tt(e)?(B=!0,O=e.some(Z=>Xa(Z)||Gr(Z)),g=()=>e.map(Z=>{if(tr(Z))return Z.value;if(Xa(Z))return h(Z);if(ct(Z))return c?c(Z,2):Z()})):ct(e)?t?g=c?()=>c(e,2):e:g=()=>{if(_){ra();try{_()}finally{oa()}}const Z=za;za=f;try{return c?c(e,3,[R]):e(R)}finally{za=Z}}:g=Oo,t&&a){const Z=g,be=a===!0?1/0:a;g=()=>ea(Z(),be)}const te=vg(),j=()=>{f.stop(),te&&te.active&&Cc(te.effects,f)};if(o&&t){const Z=t;t=(...be)=>{Z(...be),j()}}let D=B?new Array(e.length).fill(Ji):Ji;const K=Z=>{if(!(!(f.flags&1)||!f.dirty&&!Z))if(t){const be=f.run();if(a||O||(B?be.some((fe,_e)=>lo(fe,D[_e])):lo(be,D))){_&&_();const fe=za;za=f;try{const _e=[be,D===Ji?void 0:B&&D[0]===Ji?[]:D,R];D=be,c?c(t,3,_e):t(..._e)}finally{za=fe}}}else f.run()};return l&&l(K),f=new Bh(g),f.scheduler=s?()=>s(K,!1):K,R=Z=>Bg(Z,!1,f),_=f.onStop=()=>{const Z=gl.get(f);if(Z){if(c)c(Z,4);else for(const be of Z)be();gl.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 ea(e,t=1/0,n){if(t<=0||!Rt(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,tr(e))ea(e.value,t,n);else if(tt(e))for(let r=0;r<e.length;r++)ea(e[r],t,n);else if(Os(e)||Ts(e))e.forEach(r=>{ea(r,t,n)});else if(Oh(e)){for(const r in e)ea(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ea(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 Ii(e,t,n,r){try{return r?e(...r):e()}catch(a){Ri(a,t,n)}}function mo(e,t,n,r){if(ct(e)){const a=Ii(e,t,n,r);return a&&Nh(a)&&a.catch(o=>{Ri(o,t,n)}),a}if(tt(e)){const a=[];for(let o=0;o<e.length;o++)a.push(mo(e[o],t,n,r));return a}}function Ri(e,t,n,r=!0){const a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||Dt;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){ra(),Ii(o,null,10,[e,c,h]),oa();return}}Hg(e,n,a,r,s)}function Hg(e,t,n,r=!0,a=!1){if(a)throw e;console.error(e)}const cr=[];let Po=-1;const ks=[];let Ta=null,ps=0;const op=Promise.resolve();let yl=null;function Vt(e){const t=yl||op;return e?t.then(this?e.bind(this):e):t}function Wg(e){let t=Po+1,n=cr.length;for(;t<n;){const r=t+n>>>1,a=cr[r],o=Ti(a);o<e||o===e&&a.flags&2?t=r+1:n=r}return t}function Nc(e){if(!(e.flags&1)){const t=Ti(e),n=cr[cr.length-1];!n||!(e.flags&2)&&t>=Ti(n)?cr.push(e):cr.splice(Wg(t),0,e),e.flags|=1,ap()}}function ap(){yl||(yl=op.then(ip))}function zg(e){tt(e)?ks.push(...e):Ta&&e.id===-1?Ta.splice(ps+1,0,e):e.flags&1||(ks.push(e),e.flags|=1),ap()}function Ed(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 sp(e){if(ks.length){const t=[...new Set(ks)].sort((n,r)=>Ti(n)-Ti(r));if(ks.length=0,Ta){Ta.push(...t);return}for(Ta=t,ps=0;ps<Ta.length;ps++){const n=Ta[ps];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Ta=null,ps=0}}const Ti=e=>e.id==null?e.flags&2?-1:1/0:e.id;function ip(e){try{for(Po=0;Po<cr.length;Po++){const t=cr[Po];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ii(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,sp(),yl=null,(cr.length||ks.length)&&ip()}}let zn=null,lp=null;function wl(e){const t=zn;return zn=e,lp=e&&e.type.__scopeId||null,t}function ht(e,t=zn,n){if(!t||e._n)return e;const r=(...a)=>{r._d&&Tl(-1);const o=wl(t);let s;try{s=e(...a)}finally{wl(o),r._d&&Tl(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function zt(e,t){if(zn===null)return e;const n=Fl(zn),r=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[o,s,l,c=Dt]=t[a];o&&(ct(o)&&(o={mounted:o,updated:o}),o.deep&&ea(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&&(ra(),mo(c,n,8,[e.el,l,e,t]),oa())}}function dl(e,t){if(Wn){let n=Wn.provides;const r=Wn.parent&&Wn.parent.provides;r===n&&(n=Wn.provides=Object.create(r)),n[e]=t}}function fo(e,t,n=!1){const r=Bc();if(r||Ss){let a=Ss?Ss._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 Vg=Symbol.for("v-scx"),Gg=()=>fo(Vg);function pt(e,t,n){return up(e,t,n)}function up(e,t,n=Dt){const{immediate:r,deep:a,flush:o,once:s}=n,l=Cn({},n),c=t&&r||!t&&o!=="post";let h;if(Rs){if(o==="sync"){const R=Gg();h=R.__watcherHandles||(R.__watcherHandles=[])}else if(!c){const R=()=>{};return R.stop=Oo,R.resume=Oo,R.pause=Oo,R}}const f=Wn;l.call=(R,O,B)=>mo(R,f,O,B);let g=!1;o==="post"?l.scheduler=R=>{Xn(R,f&&f.suspense)}:o!=="sync"&&(g=!0,l.scheduler=(R,O)=>{O?R():Nc(R)}),l.augmentJob=R=>{t&&(R.flags|=4),g&&(R.flags|=2,f&&(R.id=f.uid,R.i=f))};const _=qg(e,t,l);return Rs&&(h?h.push(_):c&&_()),_}function Kg(e,t,n){const r=this.proxy,a=Zt(e)?e.includes(".")?cp(r,e):()=>r[e]:e.bind(r,r);let o;ct(t)?o=t:(o=t.handler,n=t);const s=Mi(this),l=up(a,o.bind(r),n);return s(),l}function cp(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 dp=Symbol("_vte"),fp=e=>e.__isTeleport,hi=e=>e&&(e.disabled||e.disabled===""),Yg=e=>e&&(e.defer||e.defer===""),Id=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Rd=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ju=(e,t)=>{const n=e&&e.to;return Zt(n)?t?t(n):null:n},hp={name:"Teleport",__isTeleport:!0,process(e,t,n,r,a,o,s,l,c,h){const{mc:f,pc:g,pbc:_,o:{insert:R,querySelector:O,createText:B,createComment:te}}=h,j=hi(t.props);let{shapeFlag:D,children:K,dynamicChildren:Z}=t;if(e==null){const be=t.el=B(""),fe=t.anchor=B("");R(be,n,r),R(fe,n,r);const _e=(G,ve)=>{D&16&&f(K,G,ve,a,o,s,l,c)},Ne=()=>{const G=t.target=Ju(t.props,O),ve=Xu(G,t,B,R);G&&(s!=="svg"&&Id(G)?s="svg":s!=="mathml"&&Rd(G)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(G),j||(_e(G,ve),fl(t,!1)))};j&&(_e(n,fe),fl(t,!0)),Yg(t.props)||o&&o.pendingBranch?(t.el.__isMounted=!1,Xn(()=>{t.el.__isMounted===!1&&(Ne(),delete t.el.__isMounted)},o)):Ne()}else{t.el=e.el,t.targetStart=e.targetStart;const be=t.anchor=e.anchor,fe=t.target=e.target,_e=t.targetAnchor=e.targetAnchor;if(e.el.__isMounted===!1){Xn(()=>{hp.process(e,t,n,r,a,o,s,l,c,h)},o);return}const Ne=hi(e.props),G=Ne?n:fe,ve=Ne?be:_e;if(s==="svg"||Id(fe)?s="svg":(s==="mathml"||Rd(fe))&&(s="mathml"),Z?(_(e.dynamicChildren,Z,G,a,o,s,l),Fc(e,t,!0)):c||g(e,t,G,ve,a,o,s,l,!1),j)Ne?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Xi(t,n,be,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Se=t.target=Ju(t.props,O);Se&&Xi(t,Se,null,h,0)}else Ne&&Xi(t,fe,_e,h,1);fl(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 R=o||!hi(_);for(let O=0;O<l.length;O++){const B=l[O];r(B,t,n,R,!!B.dynamicChildren)}}},move:Xi,hydrate:Qg};function Xi(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||hi(f))&&c&16)for(let _=0;_<h.length;_++)a(h[_],t,n,2);g&&r(l,t,n)}function Qg(e,t,n,r,a,o,{o:{nextSibling:s,parentNode:l,querySelector:c,insert:h,createText:f}},g){function _(te,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,te._lpa=t.targetAnchor&&s(t.targetAnchor);break}}D=s(D)}}function R(te,j){j.anchor=g(s(te),j,l(te),n,r,a,o)}const O=t.target=Ju(t.props,c),B=hi(t.props);if(O){const te=O._lpa||O.firstChild;t.shapeFlag&16&&(B?(R(e,t),_(O,te),t.targetAnchor||Xu(O,t,f,h,l(e)===O?e:null)):(t.anchor=s(e),_(O,te),t.targetAnchor||Xu(O,t,f,h),g(te&&s(te),t,O,n,r,a,o))),fl(t,B)}else B&&t.shapeFlag&16&&(R(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const Ka=hp;function fl(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 Xu(e,t,n,r,a=null){const o=t.targetStart=n(""),s=t.targetAnchor=n("");return o[dp]=s,e&&(r(o,e,a),r(s,e,a)),s}const Mo=Symbol("_leaveCb"),ri=Symbol("_enterCb");function Jg(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return la(()=>{e.isMounted=!0}),Ia(()=>{e.isUnmounting=!0}),e}const Vr=[Function,Array],pp={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Vr,onEnter:Vr,onAfterEnter:Vr,onEnterCancelled:Vr,onBeforeLeave:Vr,onLeave:Vr,onAfterLeave:Vr,onLeaveCancelled:Vr,onBeforeAppear:Vr,onAppear:Vr,onAfterAppear:Vr,onAppearCancelled:Vr},mp=e=>{const t=e.subTree;return t.component?mp(t.component):t},Xg={name:"BaseTransition",props:pp,setup(e,{slots:t}){const n=Bc(),r=Jg();return()=>{const a=t.default&&yp(t.default(),!0);if(!a||!a.length)return;const o=vp(a),s=At(e),{mode:l}=s;if(r.isLeaving)return wu(o);const c=Pd(o);if(!c)return wu(o);let h=Zu(c,s,r,n,g=>h=g);c.type!==er&&ki(c,h);let f=n.subTree&&Pd(n.subTree);if(f&&f.type!==er&&!Va(f,c)&&mp(n).type!==er){let g=Zu(f,s,r,n);if(ki(f,g),l==="out-in"&&c.type!==er)return r.isLeaving=!0,g.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete g.afterLeave,f=void 0},wu(o);l==="in-out"&&c.type!==er?g.delayLeave=(_,R,O)=>{const B=gp(r,f);B[String(f.key)]=f,_[Mo]=()=>{R(),_[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 vp(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==er){t=n;break}}return t}const Zg=Xg;function gp(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 Zu(e,t,n,r,a){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:h,onAfterEnter:f,onEnterCancelled:g,onBeforeLeave:_,onLeave:R,onAfterLeave:O,onLeaveCancelled:B,onBeforeAppear:te,onAppear:j,onAfterAppear:D,onAppearCancelled:K}=t,Z=String(e.key),be=gp(n,e),fe=(G,ve)=>{G&&mo(G,r,9,ve)},_e=(G,ve)=>{const Se=ve[1];fe(G,ve),tt(G)?G.every(se=>se.length<=1)&&Se():G.length<=1&&Se()},Ne={mode:s,persisted:l,beforeEnter(G){let ve=c;if(!n.isMounted)if(o)ve=te||c;else return;G[Mo]&&G[Mo](!0);const Se=be[Z];Se&&Va(e,Se)&&Se.el[Mo]&&Se.el[Mo](),fe(ve,[G])},enter(G){if(be[Z]===e)return;let ve=h,Se=f,se=g;if(!n.isMounted)if(o)ve=j||h,Se=D||f,se=K||g;else return;let Ae=!1;G[ri]=qe=>{Ae||(Ae=!0,qe?fe(se,[G]):fe(Se,[G]),Ne.delayedLeave&&Ne.delayedLeave(),G[ri]=void 0)};const Fe=G[ri].bind(null,!1);ve?_e(ve,[G,Fe]):Fe()},leave(G,ve){const Se=String(e.key);if(G[ri]&&G[ri](!0),n.isUnmounting)return ve();fe(_,[G]);let se=!1;G[Mo]=Fe=>{se||(se=!0,ve(),Fe?fe(B,[G]):fe(O,[G]),G[Mo]=void 0,be[Se]===e&&delete be[Se])};const Ae=G[Mo].bind(null,!1);be[Se]=e,R?_e(R,[G,Ae]):Ae()},clone(G){const ve=Zu(G,t,n,r,a);return a&&a(ve),ve}};return Ne}function wu(e){if(Pi(e))return e=Aa(e),e.children=null,e}function Pd(e){if(!Pi(e))return fp(e.type)&&e.children?vp(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 ki(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ki(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 yp(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===Ge?(s.patchFlag&128&&a++,r=r.concat(yp(s.children,t,l))):(t||s.type!==er)&&r.push(l!=null?Aa(s,{key:l}):s)}if(a>1)for(let o=0;o<r.length;o++)r[o].patchFlag=-2;return r}function Vn(e,t){return ct(e)?Cn({name:e.name},t,{setup:e}):e}function Lc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Md(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const bl=new WeakMap;function pi(e,t,n,r,a=!1){if(tt(e)){e.forEach((B,te)=>pi(B,t&&(tt(t)?t[te]:t),n,r,a));return}if(Cs(r)&&!a){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&pi(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Fl(r.component):r.el,s=a?null:o,{i:l,r:c}=e,h=t&&t.r,f=l.refs===Dt?l.refs={}:l.refs,g=l.setupState,_=At(g),R=g===Dt?$h:B=>Md(f,B)?!1:It(_,B),O=(B,te)=>!(te&&Md(f,te));if(h!=null&&h!==c){if($d(t),Zt(h))f[h]=null,R(h)&&(g[h]=null);else if(tr(h)){const B=t;O(h,B.k)&&(h.value=null),B.k&&(f[B.k]=null)}}if(ct(c))Ii(c,l,12,[s,f]);else{const B=Zt(c),te=tr(c);if(B||te){const j=()=>{if(e.f){const D=B?R(c)?g[c]:f[c]:O()||!e.k?c.value:f[e.k];if(a)tt(D)&&Cc(D,o);else if(tt(D))D.includes(o)||D.push(o);else if(B)f[c]=[o],R(c)&&(g[c]=f[c]);else{const K=[o];O(c,e.k)&&(c.value=K),e.k&&(f[e.k]=K)}}else B?(f[c]=s,R(c)&&(g[c]=s)):te&&(O(c,e.k)&&(c.value=s),e.k&&(f[e.k]=s))};if(s){const D=()=>{j(),bl.delete(e)};D.id=-1,bl.set(e,D),Xn(D,n)}else $d(e),j()}}}function $d(e){const t=bl.get(e);t&&(t.flags|=8,bl.delete(e))}const Nd=e=>e.nodeType===8;Ml().requestIdleCallback;Ml().cancelIdleCallback;function ey(e,t){if(Nd(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Nd(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Cs=e=>!!e.type.__asyncLoader;function Zi(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,R()),R=()=>{let O;return h||(O=h=t().catch(B=>{if(B=B instanceof Error?B:new Error(String(B)),c)return new Promise((te,j)=>{c(B,()=>te(_()),()=>j(B),g+1)});throw B}).then(B=>O!==h&&h?h:(B&&(B.__esModule||B[Symbol.toStringTag]==="Module")&&(B=B.default),f=B,B)))};return Vn({name:"AsyncComponentWrapper",__asyncLoader:R,__asyncHydrate(O,B,te){let j=!1;(B.bu||(B.bu=[])).push(()=>j=!0);const D=()=>{j||te()},K=o?()=>{const Z=o(D,be=>ey(O,be));Z&&(B.bum||(B.bum=[])).push(Z)}:D;f?K():R().then(()=>!B.isUnmounted&&K())},get __asyncResolved(){return f},setup(){const O=Wn;if(Lc(O),f)return()=>el(f,O);const B=K=>{h=null,Ri(K,O,13,!r)};if(l&&O.suspense||Rs)return R().then(K=>()=>el(K,O)).catch(K=>(B(K),()=>r?Ue(r,{error:K}):null));const te=x(!1),j=x(),D=x(!!a);return a&&setTimeout(()=>{D.value=!1},a),s!=null&&setTimeout(()=>{if(!te.value&&!j.value){const K=new Error(`Async component timed out after ${s}ms.`);B(K),j.value=K}},s),R().then(()=>{te.value=!0,O.parent&&Pi(O.parent.vnode)&&O.parent.update()}).catch(K=>{B(K),j.value=K}),()=>{if(te.value&&f)return el(f,O);if(j.value&&r)return Ue(r,{error:j.value});if(n&&!D.value)return el(n,O)}}})}function el(e,t){const{ref:n,props:r,children:a,ce:o}=t.vnode,s=Ue(e,r,a);return s.ref=n,s.ce=o,delete t.vnode.ce,s}const Pi=e=>e.type.__isKeepAlive;function ty(e,t){wp(e,"a",t)}function ny(e,t){wp(e,"da",t)}function wp(e,t,n=Wn){const r=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ll(t,r,n),n){let a=n.parent;for(;a&&a.parent;)Pi(a.parent.vnode)&&ry(r,t,n,a),a=a.parent}}function ry(e,t,n,r){const a=Ll(t,e,r,!0);Ol(()=>{Cc(r[t],a)},n)}function Ll(e,t,n=Wn,r=!1){if(n){const a=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{ra();const l=Mi(n),c=mo(t,n,e,s);return l(),oa(),c});return r?a.unshift(o):a.push(o),o}}const ia=e=>(t,n=Wn)=>{(!Rs||e==="sp")&&Ll(e,(...r)=>t(...r),n)},oy=ia("bm"),la=ia("m"),ay=ia("bu"),sy=ia("u"),Ia=ia("bum"),Ol=ia("um"),iy=ia("sp"),ly=ia("rtg"),uy=ia("rtc");function cy(e,t=Wn){Ll("ec",e,t)}const dy="components",bp=Symbol.for("v-ndc");function Oc(e){return Zt(e)?fy(dy,e,!1)||e:e||bp}function fy(e,t,n=!0,r=!1){const a=zn||Wn;if(a){const o=a.type;{const l=Qy(o,!1);if(l&&(l===t||l===fr(t)||l===Rl(fr(t))))return o}const s=Ld(a[e]||o[e],t)||Ld(a.appContext[e],t);return!s&&r?o:s}}function Ld(e,t){return e&&(e[t]||e[fr(t)]||e[Rl(fr(t))])}function jt(e,t,n,r){let a;const o=n,s=tt(e);if(s||Zt(e)){const l=s&&Xa(e);let c=!1,h=!1;l&&(c=!Gr(e),h=aa(e),e=$l(e)),a=new Array(e.length);for(let f=0,g=e.length;f<g;f++)a[f]=t(c?h?Es(po(e[f])):po(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(Rt(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(zn.ce||zn.parent&&Cs(zn.parent)&&zn.parent.ce){const h=Object.keys(n).length>0;return t!=="default"&&(n.name=t),k(),Ze(Ge,null,[Ue("slot",n,r)],h?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),k();const s=o&&_p(o(n)),l=n.key||s&&s.key,c=Ze(Ge,{key:(l&&!ho(l)?l:`_${t}`)+(!s&&r?"_fb":"")},s||[],s&&e._===1?64:-2);return o&&o._c&&(o._d=!0),c}function _p(e){return e.some(t=>Ci(t)?!(t.type===er||t.type===Ge&&!_p(t.children)):!0)?e:null}const ec=e=>e?Bp(e)?Fl(e):ec(e.parent):null,mi=Cn(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=>ec(e.parent),$root:e=>ec(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>kp(e),$forceUpdate:e=>e.f||(e.f=()=>{Nc(e.update)}),$nextTick:e=>e.n||(e.n=Vt.bind(e.proxy)),$watch:e=>Kg.bind(e)}),bu=(e,t)=>e!==Dt&&!e.__isScriptSetup&&It(e,t),hy={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(bu(r,t))return s[t]=1,r[t];if(a!==Dt&&It(a,t))return s[t]=2,a[t];if(It(o,t))return s[t]=3,o[t];if(n!==Dt&&It(n,t))return s[t]=4,n[t];tc&&(s[t]=0)}}const h=mi[t];let f,g;if(h)return t==="$attrs"&&Zn(e.attrs,"get",""),h(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==Dt&&It(n,t))return s[t]=4,n[t];if(g=c.config.globalProperties,It(g,t))return g[t]},set({_:e},t,n){const{data:r,setupState:a,ctx:o}=e;return bu(a,t)?(a[t]=n,!0):r!==Dt&&It(r,t)?(r[t]=n,!0):It(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!==Dt&&l[0]!=="$"&&It(e,l)||bu(t,l)||It(o,l)||It(r,l)||It(mi,l)||It(a.config.globalProperties,l)||(c=s.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:It(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function py(){return my().slots}function my(e){const t=Bc();return t.setupContext||(t.setupContext=Hp(t))}function Od(e){return tt(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let tc=!0;function vy(e){const t=kp(e),n=e.proxy,r=e.ctx;tc=!1,t.beforeCreate&&jd(t.beforeCreate,e,"bc");const{data:a,computed:o,methods:s,watch:l,provide:c,inject:h,created:f,beforeMount:g,mounted:_,beforeUpdate:R,updated:O,activated:B,deactivated:te,beforeDestroy:j,beforeUnmount:D,destroyed:K,unmounted:Z,render:be,renderTracked:fe,renderTriggered:_e,errorCaptured:Ne,serverPrefetch:G,expose:ve,inheritAttrs:Se,components:se,directives:Ae,filters:Fe}=t;if(h&&gy(h,r,null),s)for(const $e in s){const xe=s[$e];ct(xe)&&(r[$e]=xe.bind(n))}if(a){const $e=a.call(n,n);Rt($e)&&(e.data=Nl($e))}if(tc=!0,o)for(const $e in o){const xe=o[$e],Qe=ct(xe)?xe.bind(n,n):ct(xe.get)?xe.get.bind(n,n):Oo,Je=!ct(xe)&&ct(xe.set)?xe.set.bind(n):Oo,Be=ne({get:Qe,set:Je});Object.defineProperty(r,$e,{enumerable:!0,configurable:!0,get:()=>Be.value,set:ze=>Be.value=ze})}if(l)for(const $e in l)Tp(l[$e],r,n,$e);if(c){const $e=ct(c)?c.call(n):c;Reflect.ownKeys($e).forEach(xe=>{dl(xe,$e[xe])})}f&&jd(f,e,"c");function Ke($e,xe){tt(xe)?xe.forEach(Qe=>$e(Qe.bind(n))):xe&&$e(xe.bind(n))}if(Ke(oy,g),Ke(la,_),Ke(ay,R),Ke(sy,O),Ke(ty,B),Ke(ny,te),Ke(cy,Ne),Ke(uy,fe),Ke(ly,_e),Ke(Ia,D),Ke(Ol,Z),Ke(iy,G),tt(ve))if(ve.length){const $e=e.exposed||(e.exposed={});ve.forEach(xe=>{Object.defineProperty($e,xe,{get:()=>n[xe],set:Qe=>n[xe]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});be&&e.render===Oo&&(e.render=be),Se!=null&&(e.inheritAttrs=Se),se&&(e.components=se),Ae&&(e.directives=Ae),G&&Lc(e)}function gy(e,t,n=Oo){tt(e)&&(e=nc(e));for(const r in e){const a=e[r];let o;Rt(a)?"default"in a?o=fo(a.from||r,a.default,!0):o=fo(a.from||r):o=fo(a),tr(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:s=>o.value=s}):t[r]=o}}function jd(e,t,n){mo(tt(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Tp(e,t,n,r){let a=r.includes(".")?cp(n,r):()=>n[r];if(Zt(e)){const o=t[e];ct(o)&&pt(a,o)}else if(ct(e))pt(a,e.bind(n));else if(Rt(e))if(tt(e))e.forEach(o=>Tp(o,t,n,r));else{const o=ct(e.handler)?e.handler.bind(n):t[e.handler];ct(o)&&pt(a,o,e)}}function kp(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=>_l(c,h,s,!0)),_l(c,t,s)),Rt(t)&&o.set(t,c),c}function _l(e,t,n,r=!1){const{mixins:a,extends:o}=t;o&&_l(e,o,n,!0),a&&a.forEach(s=>_l(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const l=yy[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const yy={data:Dd,props:Fd,emits:Fd,methods:ii,computed:ii,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:ii,directives:ii,watch:by,provide:Dd,inject:wy};function Dd(e,t){return t?e?function(){return Cn(ct(e)?e.call(this,this):e,ct(t)?t.call(this,this):t)}:t:e}function wy(e,t){return ii(nc(e),nc(t))}function nc(e){if(tt(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 ii(e,t){return e?Cn(Object.create(null),e,t):t}function Fd(e,t){return e?tt(e)&&tt(t)?[...new Set([...e,...t])]:Cn(Object.create(null),Od(e),Od(t??{})):t}function by(e,t){if(!e)return t;if(!t)return e;const n=Cn(Object.create(null),e);for(const r in t)n[r]=lr(e[r],t[r]);return n}function Cp(){return{app:null,config:{isNativeTag:$h,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 _y=0;function Ty(e,t){return function(r,a=null){ct(r)||(r=Cn({},r)),a!=null&&!Rt(a)&&(a=null);const o=Cp(),s=new WeakSet,l=[];let c=!1;const h=o.app={_uid:_y++,_component:r,_props:a,_container:null,_context:o,_instance:null,version:Zy,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 R=h._ceVNode||Ue(r,a);return R.appContext=o,_===!0?_="svg":_===!1&&(_=void 0),e(R,f,_),c=!0,h._container=f,f.__vue_app__=h,Fl(R.component)}},onUnmount(f){l.push(f)},unmount(){c&&(mo(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=Ss;Ss=h;try{return f()}finally{Ss=g}}};return h}}let Ss=null;const ky=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${fr(t)}Modifiers`]||e[`${Ea(t)}Modifiers`];function Cy(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Dt;let a=n;const o=t.startsWith("update:"),s=o&&ky(r,t.slice(7));s&&(s.trim&&(a=n.map(f=>Zt(f)?f.trim():f)),s.number&&(a=n.map(Pl)));let l,c=r[l=pu(t)]||r[l=pu(fr(t))];!c&&o&&(c=r[l=pu(Ea(t))]),c&&mo(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,mo(h,e,6,a)}}const Sy=new WeakMap;function Sp(e,t,n=!1){const r=n?Sy: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=Sp(h,t,!0);f&&(l=!0,Cn(s,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(Rt(e)&&r.set(e,null),null):(tt(o)?o.forEach(c=>s[c]=null):Cn(s,o),Rt(e)&&r.set(e,s),s)}function jl(e,t){return!e||!Al(t)?!1:(t=t.slice(2).replace(/Once$/,""),It(e,t[0].toLowerCase()+t.slice(1))||It(e,Ea(t))||It(e,t))}function Ud(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:R,ctx:O,inheritAttrs:B}=e,te=wl(e);let j,D;try{if(n.shapeFlag&4){const Z=a||r,be=Z;j=No(h.call(be,Z,f,g,R,_,O)),D=l}else{const Z=t;j=No(Z.length>1?Z(g,{attrs:l,slots:s,emit:c}):Z(g,null)),D=t.props?l:xy(l)}}catch(Z){vi.length=0,Ri(Z,e,1),j=Ue(er)}let K=j;if(D&&B!==!1){const Z=Object.keys(D),{shapeFlag:be}=K;Z.length&&be&7&&(o&&Z.some(El)&&(D=Ay(D,o)),K=Aa(K,D,!1,!0))}return n.dirs&&(K=Aa(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition&&ki(K,n.transition),j=K,wl(te),j}const xy=e=>{let t;for(const n in e)(n==="class"||n==="style"||Al(n))&&((t||(t={}))[n]=e[n]);return t},Ay=(e,t)=>{const n={};for(const r in e)(!El(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ey(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?Bd(r,s,h):!!s;if(c&8){const f=t.dynamicProps;for(let g=0;g<f.length;g++){const _=f[g];if(xp(s,r,_)&&!jl(h,_))return!0}}}else return(a||l)&&(!l||!l.$stable)?!0:r===s?!1:r?s?Bd(r,s,h):!0:!!s;return!1}function Bd(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(xp(t,e,o)&&!jl(n,o))return!0}return!1}function xp(e,t,n){const r=e[n],a=t[n];return n==="style"&&Rt(r)&&Rt(a)?!js(r,a):r!==a}function Iy({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 Ap={},Ep=()=>Object.create(Ap),Ip=e=>Object.getPrototypeOf(e)===Ap;function Ry(e,t,n,r=!1){const a={},o=Ep();e.propsDefaults=Object.create(null),Rp(e,t,a,o);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);n?e.props=r?a:tp(a):e.type.props?e.props=a:e.props=o,e.attrs=o}function Py(e,t,n,r){const{props:a,attrs:o,vnode:{patchFlag:s}}=e,l=At(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(jl(e.emitsOptions,_))continue;const R=t[_];if(c)if(It(o,_))R!==o[_]&&(o[_]=R,h=!0);else{const O=fr(_);a[O]=rc(c,l,O,R,e,!1)}else R!==o[_]&&(o[_]=R,h=!0)}}}else{Rp(e,t,a,o)&&(h=!0);let f;for(const g in l)(!t||!It(t,g)&&((f=Ea(g))===g||!It(t,f)))&&(c?n&&(n[g]!==void 0||n[f]!==void 0)&&(a[g]=rc(c,l,g,void 0,e,!0)):delete a[g]);if(o!==l)for(const g in o)(!t||!It(t,g))&&(delete o[g],h=!0)}h&&Zo(e.attrs,"set","")}function Rp(e,t,n,r){const[a,o]=e.propsOptions;let s=!1,l;if(t)for(let c in t){if(ci(c))continue;const h=t[c];let f;a&&It(a,f=fr(c))?!o||!o.includes(f)?n[f]=h:(l||(l={}))[f]=h:jl(e.emitsOptions,c)||(!(c in r)||h!==r[c])&&(r[c]=h,s=!0)}if(o){const c=At(n),h=l||Dt;for(let f=0;f<o.length;f++){const g=o[f];n[g]=rc(a,c,g,h[g],e,!It(h,g))}}return s}function rc(e,t,n,r,a,o){const s=e[n];if(s!=null){const l=It(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=Mi(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===Ea(n))&&(r=!0))}return r}const My=new WeakMap;function Pp(e,t,n=!1){const r=n?My: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[_,R]=Pp(g,t,!0);Cn(s,_),R&&l.push(...R)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!c)return Rt(e)&&r.set(e,_s),_s;if(tt(o))for(let f=0;f<o.length;f++){const g=fr(o[f]);qd(g)&&(s[g]=Dt)}else if(o)for(const f in o){const g=fr(f);if(qd(g)){const _=o[f],R=s[g]=tt(_)||ct(_)?{type:_}:Cn({},_),O=R.type;let B=!1,te=!0;if(tt(O))for(let j=0;j<O.length;++j){const D=O[j],K=ct(D)&&D.name;if(K==="Boolean"){B=!0;break}else K==="String"&&(te=!1)}else B=ct(O)&&O.name==="Boolean";R[0]=B,R[1]=te,(B||It(R,"default"))&&l.push(g)}}const h=[s,l];return Rt(e)&&r.set(e,h),h}function qd(e){return e[0]!=="$"&&!ci(e)}const jc=e=>e==="_"||e==="_ctx"||e==="$stable",Dc=e=>tt(e)?e.map(No):[No(e)],$y=(e,t,n)=>{if(t._n)return t;const r=ht((...a)=>Dc(t(...a)),n);return r._c=!1,r},Mp=(e,t,n)=>{const r=e._ctx;for(const a in e){if(jc(a))continue;const o=e[a];if(ct(o))t[a]=$y(a,o,r);else if(o!=null){const s=Dc(o);t[a]=()=>s}}},$p=(e,t)=>{const n=Dc(t);e.slots.default=()=>n},Np=(e,t,n)=>{for(const r in t)(n||!jc(r))&&(e[r]=t[r])},Ny=(e,t,n)=>{const r=e.slots=Ep();if(e.vnode.shapeFlag&32){const a=t._;a?(Np(r,t,n),n&&jh(r,"_",a,!0)):Mp(t,r)}else t&&$p(e,t)},Ly=(e,t,n)=>{const{vnode:r,slots:a}=e;let o=!0,s=Dt;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Np(a,t,n):(o=!t.$stable,Mp(t,a)),s=t}else t&&($p(e,t),s={default:1});if(o)for(const l in a)!jc(l)&&s[l]==null&&delete a[l]},Xn=Uy;function Oy(e){return jy(e)}function jy(e,t){const n=Ml();n.__VUE__=!0;const{insert:r,remove:a,patchProp:o,createElement:s,createText:l,createComment:c,setText:h,setElementText:f,parentNode:g,nextSibling:_,setScopeId:R=Oo,insertStaticContent:O}=e,B=(A,$,z,ae=null,Q=null,le=null,pe=void 0,Te=null,ye=!!$.dynamicChildren)=>{if(A===$)return;A&&!Va(A,$)&&(ae=J(A),ze(A,Q,le,!0),A=null),$.patchFlag===-2&&(ye=!1,$.dynamicChildren=null);const{type:ce,ref:Le,shapeFlag:me}=$;switch(ce){case Dl:te(A,$,z,ae);break;case er:j(A,$,z,ae);break;case Tu:A==null&&D($,z,ae,pe);break;case Ge:se(A,$,z,ae,Q,le,pe,Te,ye);break;default:me&1?be(A,$,z,ae,Q,le,pe,Te,ye):me&6?Ae(A,$,z,ae,Q,le,pe,Te,ye):(me&64||me&128)&&ce.process(A,$,z,ae,Q,le,pe,Te,ye,Pe)}Le!=null&&Q?pi(Le,A&&A.ref,le,$||A,!$):Le==null&&A&&A.ref!=null&&pi(A.ref,null,le,A,!0)},te=(A,$,z,ae)=>{if(A==null)r($.el=l($.children),z,ae);else{const Q=$.el=A.el;$.children!==A.children&&h(Q,$.children)}},j=(A,$,z,ae)=>{A==null?r($.el=c($.children||""),z,ae):$.el=A.el},D=(A,$,z,ae)=>{[A.el,A.anchor]=O(A.children,$,z,ae,A.el,A.anchor)},K=({el:A,anchor:$},z,ae)=>{let Q;for(;A&&A!==$;)Q=_(A),r(A,z,ae),A=Q;r($,z,ae)},Z=({el:A,anchor:$})=>{let z;for(;A&&A!==$;)z=_(A),a(A),A=z;a($)},be=(A,$,z,ae,Q,le,pe,Te,ye)=>{if($.type==="svg"?pe="svg":$.type==="math"&&(pe="mathml"),A==null)fe($,z,ae,Q,le,pe,Te,ye);else{const ce=A.el&&A.el._isVueCE?A.el:null;try{ce&&ce._beginPatch(),G(A,$,Q,le,pe,Te,ye)}finally{ce&&ce._endPatch()}}},fe=(A,$,z,ae,Q,le,pe,Te)=>{let ye,ce;const{props:Le,shapeFlag:me,transition:je,dirs:Oe}=A;if(ye=A.el=s(A.type,le,Le&&Le.is,Le),me&8?f(ye,A.children):me&16&&Ne(A.children,ye,null,ae,Q,_u(A,le),pe,Te),Oe&&Ba(A,null,ae,"created"),_e(ye,A,A.scopeId,pe,ae),Le){for(const F in Le)F!=="value"&&!ci(F)&&o(ye,F,null,Le[F],le,ae);"value"in Le&&o(ye,"value",null,Le.value,le),(ce=Le.onVnodeBeforeMount)&&Ro(ce,ae,A)}Oe&&Ba(A,null,ae,"beforeMount");const at=Dy(Q,je);at&&je.beforeEnter(ye),r(ye,$,z),((ce=Le&&Le.onVnodeMounted)||at||Oe)&&Xn(()=>{try{ce&&Ro(ce,ae,A),at&&je.enter(ye),Oe&&Ba(A,null,ae,"mounted")}finally{}},Q)},_e=(A,$,z,ae,Q)=>{if(z&&R(A,z),ae)for(let le=0;le<ae.length;le++)R(A,ae[le]);if(Q){let le=Q.subTree;if($===le||jp(le.type)&&(le.ssContent===$||le.ssFallback===$)){const pe=Q.vnode;_e(A,pe,pe.scopeId,pe.slotScopeIds,Q.parent)}}},Ne=(A,$,z,ae,Q,le,pe,Te,ye=0)=>{for(let ce=ye;ce<A.length;ce++){const Le=A[ce]=Te?Xo(A[ce]):No(A[ce]);B(null,Le,$,z,ae,Q,le,pe,Te)}},G=(A,$,z,ae,Q,le,pe)=>{const Te=$.el=A.el;let{patchFlag:ye,dynamicChildren:ce,dirs:Le}=$;ye|=A.patchFlag&16;const me=A.props||Dt,je=$.props||Dt;let Oe;if(z&&qa(z,!1),(Oe=je.onVnodeBeforeUpdate)&&Ro(Oe,z,$,A),Le&&Ba($,A,z,"beforeUpdate"),z&&qa(z,!0),(me.innerHTML&&je.innerHTML==null||me.textContent&&je.textContent==null)&&f(Te,""),ce?ve(A.dynamicChildren,ce,Te,z,ae,_u($,Q),le):pe||xe(A,$,Te,null,z,ae,_u($,Q),le,!1),ye>0){if(ye&16)Se(Te,me,je,z,Q);else if(ye&2&&me.class!==je.class&&o(Te,"class",null,je.class,Q),ye&4&&o(Te,"style",me.style,je.style,Q),ye&8){const at=$.dynamicProps;for(let F=0;F<at.length;F++){const q=at[F],W=me[q],re=je[q];(re!==W||q==="value")&&o(Te,q,W,re,Q,z)}}ye&1&&A.children!==$.children&&f(Te,$.children)}else!pe&&ce==null&&Se(Te,me,je,z,Q);((Oe=je.onVnodeUpdated)||Le)&&Xn(()=>{Oe&&Ro(Oe,z,$,A),Le&&Ba($,A,z,"updated")},ae)},ve=(A,$,z,ae,Q,le,pe)=>{for(let Te=0;Te<$.length;Te++){const ye=A[Te],ce=$[Te],Le=ye.el&&(ye.type===Ge||!Va(ye,ce)||ye.shapeFlag&198)?g(ye.el):z;B(ye,ce,Le,null,ae,Q,le,pe,!0)}},Se=(A,$,z,ae,Q)=>{if($!==z){if($!==Dt)for(const le in $)!ci(le)&&!(le in z)&&o(A,le,$[le],null,Q,ae);for(const le in z){if(ci(le))continue;const pe=z[le],Te=$[le];pe!==Te&&le!=="value"&&o(A,le,Te,pe,Q,ae)}"value"in z&&o(A,"value",$.value,z.value,Q)}},se=(A,$,z,ae,Q,le,pe,Te,ye)=>{const ce=$.el=A?A.el:l(""),Le=$.anchor=A?A.anchor:l("");let{patchFlag:me,dynamicChildren:je,slotScopeIds:Oe}=$;Oe&&(Te=Te?Te.concat(Oe):Oe),A==null?(r(ce,z,ae),r(Le,z,ae),Ne($.children||[],z,Le,Q,le,pe,Te,ye)):me>0&&me&64&&je&&A.dynamicChildren&&A.dynamicChildren.length===je.length?(ve(A.dynamicChildren,je,z,Q,le,pe,Te),($.key!=null||Q&&$===Q.subTree)&&Fc(A,$,!0)):xe(A,$,z,Le,Q,le,pe,Te,ye)},Ae=(A,$,z,ae,Q,le,pe,Te,ye)=>{$.slotScopeIds=Te,A==null?$.shapeFlag&512?Q.ctx.activate($,z,ae,pe,ye):Fe($,z,ae,Q,le,pe,ye):qe(A,$,ye)},Fe=(A,$,z,ae,Q,le,pe)=>{const Te=A.component=Vy(A,ae,Q);if(Pi(A)&&(Te.ctx.renderer=Pe),Gy(Te,!1,pe),Te.asyncDep){if(Q&&Q.registerDep(Te,Ke,pe),!A.el){const ye=Te.subTree=Ue(er);j(null,ye,$,z),A.placeholder=ye.el}}else Ke(Te,A,$,z,Q,le,pe)},qe=(A,$,z)=>{const ae=$.component=A.component;if(Ey(A,$,z))if(ae.asyncDep&&!ae.asyncResolved){$e(ae,$,z);return}else ae.next=$,ae.update();else $.el=A.el,ae.vnode=$},Ke=(A,$,z,ae,Q,le,pe)=>{const Te=()=>{if(A.isMounted){let{next:me,bu:je,u:Oe,parent:at,vnode:F}=A;{const we=Lp(A);if(we){me&&(me.el=F.el,$e(A,me,pe)),we.asyncDep.then(()=>{Xn(()=>{A.isUnmounted||ce()},Q)});return}}let q=me,W;qa(A,!1),me?(me.el=F.el,$e(A,me,pe)):me=F,je&&cl(je),(W=me.props&&me.props.onVnodeBeforeUpdate)&&Ro(W,at,me,F),qa(A,!0);const re=Ud(A),he=A.subTree;A.subTree=re,B(he,re,g(he.el),J(he),A,Q,le),me.el=re.el,q===null&&Iy(A,re.el),Oe&&Xn(Oe,Q),(W=me.props&&me.props.onVnodeUpdated)&&Xn(()=>Ro(W,at,me,F),Q)}else{let me;const{el:je,props:Oe}=$,{bm:at,m:F,parent:q,root:W,type:re}=A,he=Cs($);qa(A,!1),at&&cl(at),!he&&(me=Oe&&Oe.onVnodeBeforeMount)&&Ro(me,q,$),qa(A,!0);{W.ce&&W.ce._hasShadowRoot()&&W.ce._injectChildStyle(re,A.parent?A.parent.type:void 0);const we=A.subTree=Ud(A);B(null,we,z,ae,A,Q,le),$.el=we.el}if(F&&Xn(F,Q),!he&&(me=Oe&&Oe.onVnodeMounted)){const we=$;Xn(()=>Ro(me,q,we),Q)}($.shapeFlag&256||q&&Cs(q.vnode)&&q.vnode.shapeFlag&256)&&A.a&&Xn(A.a,Q),A.isMounted=!0,$=z=ae=null}};A.scope.on();const ye=A.effect=new Bh(Te);A.scope.off();const ce=A.update=ye.run.bind(ye),Le=A.job=ye.runIfDirty.bind(ye);Le.i=A,Le.id=A.uid,ye.scheduler=()=>Nc(Le),qa(A,!0),ce()},$e=(A,$,z)=>{$.component=A;const ae=A.vnode.props;A.vnode=$,A.next=null,Py(A,$.props,ae,z),Ly(A,$.children,z),ra(),Ed(A),oa()},xe=(A,$,z,ae,Q,le,pe,Te,ye=!1)=>{const ce=A&&A.children,Le=A?A.shapeFlag:0,me=$.children,{patchFlag:je,shapeFlag:Oe}=$;if(je>0){if(je&128){Je(ce,me,z,ae,Q,le,pe,Te,ye);return}else if(je&256){Qe(ce,me,z,ae,Q,le,pe,Te,ye);return}}Oe&8?(Le&16&&bt(ce,Q,le),me!==ce&&f(z,me)):Le&16?Oe&16?Je(ce,me,z,ae,Q,le,pe,Te,ye):bt(ce,Q,le,!0):(Le&8&&f(z,""),Oe&16&&Ne(me,z,ae,Q,le,pe,Te,ye))},Qe=(A,$,z,ae,Q,le,pe,Te,ye)=>{A=A||_s,$=$||_s;const ce=A.length,Le=$.length,me=Math.min(ce,Le);let je;for(je=0;je<me;je++){const Oe=$[je]=ye?Xo($[je]):No($[je]);B(A[je],Oe,z,null,Q,le,pe,Te,ye)}ce>Le?bt(A,Q,le,!0,!1,me):Ne($,z,ae,Q,le,pe,Te,ye,me)},Je=(A,$,z,ae,Q,le,pe,Te,ye)=>{let ce=0;const Le=$.length;let me=A.length-1,je=Le-1;for(;ce<=me&&ce<=je;){const Oe=A[ce],at=$[ce]=ye?Xo($[ce]):No($[ce]);if(Va(Oe,at))B(Oe,at,z,null,Q,le,pe,Te,ye);else break;ce++}for(;ce<=me&&ce<=je;){const Oe=A[me],at=$[je]=ye?Xo($[je]):No($[je]);if(Va(Oe,at))B(Oe,at,z,null,Q,le,pe,Te,ye);else break;me--,je--}if(ce>me){if(ce<=je){const Oe=je+1,at=Oe<Le?$[Oe].el:ae;for(;ce<=je;)B(null,$[ce]=ye?Xo($[ce]):No($[ce]),z,at,Q,le,pe,Te,ye),ce++}}else if(ce>je)for(;ce<=me;)ze(A[ce],Q,le,!0),ce++;else{const Oe=ce,at=ce,F=new Map;for(ce=at;ce<=je;ce++){const dt=$[ce]=ye?Xo($[ce]):No($[ce]);dt.key!=null&&F.set(dt.key,ce)}let q,W=0;const re=je-at+1;let he=!1,we=0;const Ie=new Array(re);for(ce=0;ce<re;ce++)Ie[ce]=0;for(ce=Oe;ce<=me;ce++){const dt=A[ce];if(W>=re){ze(dt,Q,le,!0);continue}let Lt;if(dt.key!=null)Lt=F.get(dt.key);else for(q=at;q<=je;q++)if(Ie[q-at]===0&&Va(dt,$[q])){Lt=q;break}Lt===void 0?ze(dt,Q,le,!0):(Ie[Lt-at]=ce+1,Lt>=we?we=Lt:he=!0,B(dt,$[Lt],z,null,Q,le,pe,Te,ye),W++)}const st=he?Fy(Ie):_s;for(q=st.length-1,ce=re-1;ce>=0;ce--){const dt=at+ce,Lt=$[dt],Sn=$[dt+1],Mn=dt+1<Le?Sn.el||Op(Sn):ae;Ie[ce]===0?B(null,Lt,z,Mn,Q,le,pe,Te,ye):he&&(q<0||ce!==st[q]?Be(Lt,z,Mn,2):q--)}}},Be=(A,$,z,ae,Q=null)=>{const{el:le,type:pe,transition:Te,children:ye,shapeFlag:ce}=A;if(ce&6){Be(A.component.subTree,$,z,ae);return}if(ce&128){A.suspense.move($,z,ae);return}if(ce&64){pe.move(A,$,z,Pe);return}if(pe===Ge){r(le,$,z);for(let me=0;me<ye.length;me++)Be(ye[me],$,z,ae);r(A.anchor,$,z);return}if(pe===Tu){K(A,$,z);return}if(ae!==2&&ce&1&&Te)if(ae===0)Te.beforeEnter(le),r(le,$,z),Xn(()=>Te.enter(le),Q);else{const{leave:me,delayLeave:je,afterLeave:Oe}=Te,at=()=>{A.ctx.isUnmounted?a(le):r(le,$,z)},F=()=>{le._isLeaving&&le[Mo](!0),me(le,()=>{at(),Oe&&Oe()})};je?je(le,at,F):F()}else r(le,$,z)},ze=(A,$,z,ae=!1,Q=!1)=>{const{type:le,props:pe,ref:Te,children:ye,dynamicChildren:ce,shapeFlag:Le,patchFlag:me,dirs:je,cacheIndex:Oe,memo:at}=A;if(me===-2&&(Q=!1),Te!=null&&(ra(),pi(Te,null,z,A,!0),oa()),Oe!=null&&($.renderCache[Oe]=void 0),Le&256){$.ctx.deactivate(A);return}const F=Le&1&&je,q=!Cs(A);let W;if(q&&(W=pe&&pe.onVnodeBeforeUnmount)&&Ro(W,$,A),Le&6)We(A.component,z,ae);else{if(Le&128){A.suspense.unmount(z,ae);return}F&&Ba(A,null,$,"beforeUnmount"),Le&64?A.type.remove(A,$,z,Pe,ae):ce&&!ce.hasOnce&&(le!==Ge||me>0&&me&64)?bt(ce,$,z,!1,!0):(le===Ge&&me&384||!Q&&Le&16)&&bt(ye,$,z),ae&&ft(A)}const re=at!=null&&Oe==null;(q&&(W=pe&&pe.onVnodeUnmounted)||F||re)&&Xn(()=>{W&&Ro(W,$,A),F&&Ba(A,null,$,"unmounted"),re&&(A.el=null)},z)},ft=A=>{const{type:$,el:z,anchor:ae,transition:Q}=A;if($===Ge){rt(z,ae);return}if($===Tu){Z(A);return}const le=()=>{a(z),Q&&!Q.persisted&&Q.afterLeave&&Q.afterLeave()};if(A.shapeFlag&1&&Q&&!Q.persisted){const{leave:pe,delayLeave:Te}=Q,ye=()=>pe(z,le);Te?Te(A.el,le,ye):ye()}else le()},rt=(A,$)=>{let z;for(;A!==$;)z=_(A),a(A),A=z;a($)},We=(A,$,z)=>{const{bum:ae,scope:Q,job:le,subTree:pe,um:Te,m:ye,a:ce}=A;Hd(ye),Hd(ce),ae&&cl(ae),Q.stop(),le&&(le.flags|=8,ze(pe,A,$,z)),Te&&Xn(Te,$),Xn(()=>{A.isUnmounted=!0},$)},bt=(A,$,z,ae=!1,Q=!1,le=0)=>{for(let pe=le;pe<A.length;pe++)ze(A[pe],$,z,ae,Q)},J=A=>{if(A.shapeFlag&6)return J(A.component.subTree);if(A.shapeFlag&128)return A.suspense.next();const $=_(A.anchor||A.el),z=$&&$[dp];return z?_(z):$};let Ee=!1;const ke=(A,$,z)=>{let ae;A==null?$._vnode&&(ze($._vnode,null,null,!0),ae=$._vnode.component):B($._vnode||null,A,$,null,null,null,z),$._vnode=A,Ee||(Ee=!0,Ed(ae),sp(),Ee=!1)},Pe={p:B,um:ze,m:Be,r:ft,mt:Fe,mc:Ne,pc:xe,pbc:ve,n:J,o:e};return{render:ke,hydrate:void 0,createApp:Ty(ke)}}function _u({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 Dy(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Fc(e,t,n=!1){const r=e.children,a=t.children;if(tt(r)&&tt(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]=Xo(a[o]),l.el=s.el),!n&&l.patchFlag!==-2&&Fc(s,l)),l.type===Dl&&(l.patchFlag===-1&&(l=a[o]=Xo(l)),l.el=s.el),l.type===er&&!l.el&&(l.el=s.el)}}function Fy(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 Lp(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Lp(t)}function Hd(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Op(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Op(t.subTree):null}const jp=e=>e.__isSuspense;function Uy(e,t){t&&t.pendingBranch?tt(e)?t.effects.push(...e):t.effects.push(e):zg(e)}const Ge=Symbol.for("v-fgt"),Dl=Symbol.for("v-txt"),er=Symbol.for("v-cmt"),Tu=Symbol.for("v-stc"),vi=[];let dr=null;function k(e=!1){vi.push(dr=e?null:[])}function By(){vi.pop(),dr=vi[vi.length-1]||null}let Is=1;function Tl(e,t=!1){Is+=e,e<0&&dr&&t&&(dr.hasOnce=!0)}function Dp(e){return e.dynamicChildren=Is>0?dr||_s:null,By(),Is>0&&dr&&dr.push(e),e}function I(e,t,n,r,a,o){return Dp(m(e,t,n,r,a,o,!0))}function Ze(e,t,n,r,a){return Dp(Ue(e,t,n,r,a,!0))}function Ci(e){return e?e.__v_isVNode===!0:!1}function Va(e,t){return e.type===t.type&&e.key===t.key}const Fp=({key:e})=>e??null,hl=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Zt(e)||tr(e)||ct(e)?{i:zn,r:e,k:t,f:!!n}:e:null);function m(e,t=null,n=null,r=0,a=null,o=e===Ge?0:1,s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fp(t),ref:t&&hl(t),scopeId:lp,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:zn};return l?(Uc(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Zt(n)?8:16),Is>0&&!s&&dr&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&dr.push(c),c}const Ue=qy;function qy(e,t=null,n=null,r=0,a=null,o=!1){if((!e||e===bp)&&(e=er),Ci(e)){const l=Aa(e,t,!0);return n&&Uc(l,n),Is>0&&!o&&dr&&(l.shapeFlag&6?dr[dr.indexOf(e)]=l:dr.push(l)),l.patchFlag=-2,l}if(Jy(e)&&(e=e.__vccOpts),t){t=Hy(t);let{class:l,style:c}=t;l&&!Zt(l)&&(t.class=et(l)),Rt(c)&&($c(c)&&!tt(c)&&(c=Cn({},c)),t.style=ta(c))}const s=Zt(e)?1:jp(e)?128:fp(e)?64:Rt(e)?4:ct(e)?2:0;return m(e,t,n,r,a,s,o,!0)}function Hy(e){return e?$c(e)||Ip(e)?Cn({},e):e:null}function Aa(e,t,n=!1,r=!1){const{props:a,ref:o,patchFlag:s,children:l,transition:c}=e,h=t?Up(a||{},t):a,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Fp(h),ref:t&&t.ref?n&&o?tt(o)?o.concat(hl(t)):[o,hl(t)]:hl(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!==Ge?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&&Aa(e.ssContent),ssFallback:e.ssFallback&&Aa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&ki(f,c.clone(f)),f}function es(e=" ",t=0){return Ue(Dl,null,e,t)}function X(e="",t=!1){return t?(k(),Ze(er,null,e)):Ue(er,null,e)}function No(e){return e==null||typeof e=="boolean"?Ue(er):tt(e)?Ue(Ge,null,e.slice()):Ci(e)?Xo(e):Ue(Dl,null,String(e))}function Xo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Aa(e)}function Uc(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(tt(t))n=16;else if(typeof t=="object")if(r&65){const a=t.default;a&&(a._c&&(a._d=!1),Uc(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Ip(t)?t._ctx=zn:a===3&&zn&&(zn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ct(t)?(t={default:t,_ctx:zn},n=32):(t=String(t),r&64?(n=16,t=[es(t)]):n=8);e.children=t,e.shapeFlag|=n}function Up(...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=ta([t.style,r.style]);else if(Al(a)){const o=t[a],s=r[a];s&&o!==s&&!(tt(o)&&o.includes(s))?t[a]=o?[].concat(o,s):s:s==null&&o==null&&!El(a)&&(t[a]=s)}else a!==""&&(t[a]=r[a])}return t}function Ro(e,t,n,r=null){mo(e,t,7,[n,r])}const Wy=Cp();let zy=0;function Vy(e,t,n){const r=e.type,a=(t?t.appContext:e.appContext)||Wy,o={uid:zy++,vnode:e,type:r,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new mg(!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:Pp(r,a),emitsOptions:Sp(r,a),emit:null,emitted:null,propsDefaults:Dt,inheritAttrs:r.inheritAttrs,ctx:Dt,data:Dt,props:Dt,attrs:Dt,slots:Dt,refs:Dt,setupState:Dt,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=Cy.bind(null,o),e.ce&&e.ce(o),o}let Wn=null;const Bc=()=>Wn||zn;let kl,oc;{const e=Ml(),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)}};kl=t("__VUE_INSTANCE_SETTERS__",n=>Wn=n),oc=t("__VUE_SSR_SETTERS__",n=>Rs=n)}const Mi=e=>{const t=Wn;return kl(e),e.scope.on(),()=>{e.scope.off(),kl(t)}},Wd=()=>{Wn&&Wn.scope.off(),kl(null)};function Bp(e){return e.vnode.shapeFlag&4}let Rs=!1;function Gy(e,t=!1,n=!1){t&&oc(t);const{props:r,children:a}=e.vnode,o=Bp(e);Ry(e,r,o,t),Ny(e,a,n||t);const s=o?Ky(e,t):void 0;return t&&oc(!1),s}function Ky(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,hy);const{setup:r}=n;if(r){ra();const a=e.setupContext=r.length>1?Hp(e):null,o=Mi(e),s=Ii(r,e,0,[e.props,a]),l=Nh(s);if(oa(),o(),(l||e.sp)&&!Cs(e)&&Lc(e),l){if(s.then(Wd,Wd),t)return s.then(c=>{zd(e,c)}).catch(c=>{Ri(c,e,0)});e.asyncDep=s}else zd(e,s)}else qp(e)}function zd(e,t,n){ct(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Rt(t)&&(e.setupState=rp(t)),qp(e)}function qp(e,t,n){const r=e.type;e.render||(e.render=r.render||Oo);{const a=Mi(e);ra();try{vy(e)}finally{oa(),a()}}}const Yy={get(e,t){return Zn(e,"get",""),e[t]}};function Hp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Yy),slots:e.slots,emit:e.emit,expose:t}}function Fl(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(rp(Lg(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in mi)return mi[n](e)},has(t,n){return n in t||n in mi}})):e.proxy}function Qy(e,t=!0){return ct(e)?e.displayName||e.name:e.name||t&&e.__name}function Jy(e){return ct(e)&&"__vccOpts"in e}const ne=(e,t)=>Ug(e,t,Rs);function qc(e,t,n){try{Tl(-1);const r=arguments.length;return r===2?Rt(t)&&!tt(t)?Ci(t)?Ue(e,null,[t]):Ue(e,t):Ue(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ci(n)&&(n=[n]),Ue(e,t,n))}finally{Tl(1)}}function DM(e,t,n,r){const a=n[r];if(a&&Xy(a,e))return a;const o=t();return o.memo=e.slice(),o.cacheIndex=r,n[r]=o}function Xy(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r<n.length;r++)if(lo(n[r],t[r]))return!1;return Is>0&&dr&&dr.push(e),!0}const Zy="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 ac;const Vd=typeof window<"u"&&window.trustedTypes;if(Vd)try{ac=Vd.createPolicy("vue",{createHTML:e=>e})}catch{}const Wp=ac?e=>ac.createHTML(e):e=>e,ew="http://www.w3.org/2000/svg",tw="http://www.w3.org/1998/Math/MathML",Jo=typeof document<"u"?document:null,Gd=Jo&&Jo.createElement("template"),nw={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"?Jo.createElementNS(ew,e):t==="mathml"?Jo.createElementNS(tw,e):n?Jo.createElement(e,{is:n}):Jo.createElement(e);return e==="select"&&r&&r.multiple!=null&&a.setAttribute("multiple",r.multiple),a},createText:e=>Jo.createTextNode(e),createComment:e=>Jo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Jo.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{Gd.innerHTML=Wp(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=Gd.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]}},wa="transition",oi="animation",Si=Symbol("_vtc"),zp={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},rw=Cn({},pp,zp),ow=e=>(e.displayName="Transition",e.props=rw,e),Vp=ow((e,{slots:t})=>qc(Zg,aw(e),t)),Ha=(e,t=[])=>{tt(e)?e.forEach(n=>n(...t)):e&&e(...t)},Kd=e=>e?tt(e)?e.some(t=>t.length>1):e.length>1:!1;function aw(e){const t={};for(const se in e)se in zp||(t[se]=e[se]);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:R=`${n}-leave-to`}=e,O=sw(a),B=O&&O[0],te=O&&O[1],{onBeforeEnter:j,onEnter:D,onEnterCancelled:K,onLeave:Z,onLeaveCancelled:be,onBeforeAppear:fe=j,onAppear:_e=D,onAppearCancelled:Ne=K}=t,G=(se,Ae,Fe,qe)=>{se._enterCancelled=qe,Wa(se,Ae?f:l),Wa(se,Ae?h:s),Fe&&Fe()},ve=(se,Ae)=>{se._isLeaving=!1,Wa(se,g),Wa(se,R),Wa(se,_),Ae&&Ae()},Se=se=>(Ae,Fe)=>{const qe=se?_e:D,Ke=()=>G(Ae,se,Fe);Ha(qe,[Ae,Ke]),Yd(()=>{Wa(Ae,se?c:o),Yo(Ae,se?f:l),Kd(qe)||Qd(Ae,r,B,Ke)})};return Cn(t,{onBeforeEnter(se){Ha(j,[se]),Yo(se,o),Yo(se,s)},onBeforeAppear(se){Ha(fe,[se]),Yo(se,c),Yo(se,h)},onEnter:Se(!1),onAppear:Se(!0),onLeave(se,Ae){se._isLeaving=!0;const Fe=()=>ve(se,Ae);Yo(se,g),se._enterCancelled?(Yo(se,_),Zd(se)):(Zd(se),Yo(se,_)),Yd(()=>{se._isLeaving&&(Wa(se,g),Yo(se,R),Kd(Z)||Qd(se,r,te,Fe))}),Ha(Z,[se,Fe])},onEnterCancelled(se){G(se,!1,void 0,!0),Ha(K,[se])},onAppearCancelled(se){G(se,!0,void 0,!0),Ha(Ne,[se])},onLeaveCancelled(se){ve(se),Ha(be,[se])}})}function sw(e){if(e==null)return null;if(Rt(e))return[ku(e.enter),ku(e.leave)];{const t=ku(e);return[t,t]}}function ku(e){return ig(e)}function Yo(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Si]||(e[Si]=new Set)).add(t)}function Wa(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Si];n&&(n.delete(t),n.size||(e[Si]=void 0))}function Yd(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let iw=0;function Qd(e,t,n,r){const a=e._endId=++iw,o=()=>{a===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:s,timeout:l,propCount:c}=lw(e,t);if(!s)return r();const h=s+"end";let f=0;const g=()=>{e.removeEventListener(h,_),o()},_=R=>{R.target===e&&++f>=c&&g()};setTimeout(()=>{f<c&&g()},l+1),e.addEventListener(h,_)}function lw(e,t){const n=window.getComputedStyle(e),r=O=>(n[O]||"").split(", "),a=r(`${wa}Delay`),o=r(`${wa}Duration`),s=Jd(a,o),l=r(`${oi}Delay`),c=r(`${oi}Duration`),h=Jd(l,c);let f=null,g=0,_=0;t===wa?s>0&&(f=wa,g=s,_=o.length):t===oi?h>0&&(f=oi,g=h,_=c.length):(g=Math.max(s,h),f=g>0?s>h?wa:oi:null,_=f?f===wa?o.length:c.length:0);const R=f===wa&&/\b(?:transform|all)(?:,|$)/.test(r(`${wa}Property`).toString());return{type:f,timeout:g,propCount:_,hasTransform:R}}function Jd(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Xd(n)+Xd(e[r])))}function Xd(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Zd(e){return(e?e.ownerDocument:document).body.offsetHeight}function uw(e,t,n){const r=e[Si];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ef=Symbol("_vod"),cw=Symbol("_vsh"),dw=Symbol(""),fw=/(?:^|;)\s*display\s*:/;function hw(e,t,n){const r=e.style,a=Zt(n);let o=!1;if(n&&!a){if(t)if(Zt(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();n[l]==null&&pl(r,l,"")}else for(const s in t)n[s]==null&&pl(r,s,"");for(const s in n)s==="display"&&(o=!0),pl(r,s,n[s])}else if(a){if(t!==n){const s=r[dw];s&&(n+=";"+s),r.cssText=n,o=fw.test(n)}}else t&&e.removeAttribute("style");ef in e&&(e[ef]=o?r.display:"",e[cw]&&(r.display="none"))}const tf=/\s*!important$/;function pl(e,t,n){if(tt(n))n.forEach(r=>pl(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=pw(e,t);tf.test(n)?e.setProperty(Ea(r),n.replace(tf,""),"important"):e[r]=n}}const nf=["Webkit","Moz","ms"],Cu={};function pw(e,t){const n=Cu[t];if(n)return n;let r=fr(t);if(r!=="filter"&&r in e)return Cu[t]=r;r=Rl(r);for(let a=0;a<nf.length;a++){const o=nf[a]+r;if(o in e)return Cu[t]=o}return t}const rf="http://www.w3.org/1999/xlink";function of(e,t,n,r,a,o=hg(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(rf,t.slice(6,t.length)):e.setAttributeNS(rf,t,n):n==null||o&&!Dh(n)?e.removeAttribute(t):e.setAttribute(t,o?"":ho(n)?String(n):n)}function af(e,t,n,r,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Wp(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=Dh(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 Sa(e,t,n,r){e.addEventListener(t,n,r)}function mw(e,t,n,r){e.removeEventListener(t,n,r)}const sf=Symbol("_vei");function vw(e,t,n,r,a=null){const o=e[sf]||(e[sf]={}),s=o[t];if(r&&s)s.value=r;else{const[l,c]=gw(t);if(r){const h=o[t]=bw(r,a);Sa(e,l,h,c)}else s&&(mw(e,l,s,c),o[t]=void 0)}}const lf=/(?:Once|Passive|Capture)$/;function gw(e){let t;if(lf.test(e)){t={};let r;for(;r=e.match(lf);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ea(e.slice(2)),t]}let Su=0;const yw=Promise.resolve(),ww=()=>Su||(yw.then(()=>Su=0),Su=Date.now());function bw(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;mo(_w(r,n.value),t,5,[r])};return n.value=e,n.attached=ww(),n}function _w(e,t){if(tt(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 uf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Tw=(e,t,n,r,a,o)=>{const s=a==="svg";t==="class"?uw(e,r,s):t==="style"?hw(e,n,r):Al(t)?El(t)||vw(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kw(e,t,r,s))?(af(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&of(e,t,r,s,o,t!=="value")):e._isVueCE&&(Cw(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Zt(r)))?af(e,fr(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),of(e,t,r,s))};function kw(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&uf(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 uf(t)&&Zt(n)?!1:t in e}function Cw(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 Ps=e=>{const t=e.props["onUpdate:modelValue"]||!1;return tt(t)?n=>cl(t,n):t};function Sw(e){e.target.composing=!0}function cf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const na=Symbol("_assign");function df(e,t,n){return t&&(e=e.trim()),n&&(e=Pl(e)),e}const an={created(e,{modifiers:{lazy:t,trim:n,number:r}},a){e[na]=Ps(a);const o=r||a.props&&a.props.type==="number";Sa(e,t?"change":"input",s=>{s.target.composing||e[na](df(e.value,n,o))}),(n||o)&&Sa(e,"change",()=>{e.value=df(e.value,n,o)}),t||(Sa(e,"compositionstart",Sw),Sa(e,"compositionend",cf),Sa(e,"change",cf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:a,number:o}},s){if(e[na]=Ps(s),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Pl(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)}},xw={deep:!0,created(e,t,n){e[na]=Ps(n),Sa(e,"change",()=>{const r=e._modelValue,a=xi(e),o=e.checked,s=e[na];if(tt(r)){const l=xc(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(Os(r)){const l=new Set(r);o?l.add(a):l.delete(a),s(l)}else s(Gp(e,o))})},mounted:ff,beforeUpdate(e,t,n){e[na]=Ps(n),ff(e,t,n)}};function ff(e,{value:t,oldValue:n},r){e._modelValue=t;let a;if(tt(t))a=xc(t,r.props.value)>-1;else if(Os(t))a=t.has(r.props.value);else{if(t===n)return;a=js(t,Gp(e,!0))}e.checked!==a&&(e.checked=a)}const hf={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const a=Os(t);Sa(e,"change",()=>{const o=Array.prototype.filter.call(e.options,s=>s.selected).map(s=>n?Pl(xi(s)):xi(s));e[na](e.multiple?a?new Set(o):o:o[0]),e._assigning=!0,Vt(()=>{e._assigning=!1})}),e[na]=Ps(r)},mounted(e,{value:t}){pf(e,t)},beforeUpdate(e,t,n){e[na]=Ps(n)},updated(e,{value:t}){e._assigning||pf(e,t)}};function pf(e,t){const n=e.multiple,r=tt(t);if(!(n&&!r&&!Os(t))){for(let a=0,o=e.options.length;a<o;a++){const s=e.options[a],l=xi(s);if(n)if(r){const c=typeof l;c==="string"||c==="number"?s.selected=t.some(h=>String(h)===String(l)):s.selected=xc(t,l)>-1}else s.selected=t.has(l);else if(js(xi(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function xi(e){return"_value"in e?e._value:e.value}function Gp(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Aw=["ctrl","shift","alt","meta"],Ew={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)=>Aw.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=Ew[t[s]];if(l&&l(a,t))return}return e(a,...o)}))},Iw={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},fn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(a=>{if(!("key"in a))return;const o=Ea(a.key);if(t.some(s=>s===o||Iw[s]===o))return e(a)}))},Rw=Cn({patchProp:Tw},nw);let mf;function Pw(){return mf||(mf=Oy(Rw))}const Mw=((...e)=>{const t=Pw().createApp(...e),{mount:n}=t;return t.mount=r=>{const a=Nw(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,$w(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t});function $w(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Nw(e){return Zt(e)?document.querySelector(e):e}const Lw="modulepreload",Ow=function(e){return"/"+e},vf={},tl=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=Ow(h),h in vf)return;vf[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":Lw,f||(_.as="script"),_.crossOrigin="",_.href=h,c&&_.setAttribute("nonce",c),document.head.appendChild(_),f)return new Promise((R,O)=>{_.addEventListener("load",R),_.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 ms=typeof document<"u";function Kp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function jw(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Kp(e.default)}const Et=Object.assign;function xu(e,t){const n={};for(const r in t){const a=t[r];n[r]=vo(a)?a.map(e):e(a)}return n}const gi=()=>{},vo=Array.isArray;function gf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Yp=/#/g,Dw=/&/g,Fw=/\//g,Uw=/=/g,Bw=/\?/g,Qp=/\+/g,qw=/%5B/g,Hw=/%5D/g,Jp=/%5E/g,Ww=/%60/g,Xp=/%7B/g,zw=/%7C/g,Zp=/%7D/g,Vw=/%20/g;function Hc(e){return e==null?"":encodeURI(""+e).replace(zw,"|").replace(qw,"[").replace(Hw,"]")}function Gw(e){return Hc(e).replace(Xp,"{").replace(Zp,"}").replace(Jp,"^")}function sc(e){return Hc(e).replace(Qp,"%2B").replace(Vw,"+").replace(Yp,"%23").replace(Dw,"%26").replace(Ww,"`").replace(Xp,"{").replace(Zp,"}").replace(Jp,"^")}function Kw(e){return sc(e).replace(Uw,"%3D")}function Yw(e){return Hc(e).replace(Yp,"%23").replace(Bw,"%3F")}function Qw(e){return Yw(e).replace(Fw,"%2F")}function Ai(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Jw=/\/$/,Xw=e=>e.replace(Jw,"");function Au(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=nb(r??t,n),{fullPath:r+o+s,path:r,query:a,hash:Ai(s)}}function Zw(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function yf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function eb(e,t,n){const r=t.matched.length-1,a=n.matched.length-1;return r>-1&&r===a&&Ms(t.matched[r],n.matched[a])&&em(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ms(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function em(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!tb(e[n],t[n]))return!1;return!0}function tb(e,t){return vo(e)?wf(e,t):vo(t)?wf(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function wf(e,t){return vo(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function nb(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 ba={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ic=(function(e){return e.pop="pop",e.push="push",e})({}),Eu=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function rb(e){if(!e)if(ms){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Xw(e)}const ob=/^[^#]+#/;function ab(e,t){return e.replace(ob,"#")+t}function sb(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 Ul=()=>({left:window.scrollX,top:window.scrollY});function ib(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=sb(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 bf(e,t){return(history.state?history.state.position-t:-1)+e}const lc=new Map;function lb(e,t){lc.set(e,t)}function ub(e){const t=lc.get(e);return lc.delete(e),t}function cb(e){return typeof e=="string"||e&&typeof e=="object"}function tm(e){return typeof e=="string"||typeof e=="symbol"}let on=(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 nm=Symbol("");on.MATCHER_NOT_FOUND+"",on.NAVIGATION_GUARD_REDIRECT+"",on.NAVIGATION_ABORTED+"",on.NAVIGATION_CANCELLED+"",on.NAVIGATION_DUPLICATED+"";function $s(e,t){return Et(new Error,{type:e,[nm]:!0},t)}function Qo(e,t){return e instanceof Error&&nm in e&&(t==null||!!(e.type&t))}const db=["params","query","hash"];function fb(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of db)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function hb(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(Qp," "),o=a.indexOf("="),s=Ai(o<0?a:a.slice(0,o)),l=o<0?null:Ai(a.slice(o+1));if(s in t){let c=t[s];vo(c)||(c=t[s]=[c]),c.push(l)}else t[s]=l}return t}function _f(e){let t="";for(let n in e){const r=e[n];if(n=Kw(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(vo(r)?r.map(a=>a&&sc(a)):[r&&sc(r)]).forEach(a=>{a!==void 0&&(t+=(t.length?"&":"")+n,a!=null&&(t+="="+a))})}return t}function pb(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=vo(r)?r.map(a=>a==null?null:""+a):r==null?r:""+r)}return t}const mb=Symbol(""),Tf=Symbol(""),Bl=Symbol(""),Wc=Symbol(""),uc=Symbol("");function ai(){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 ka(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($s(on.NAVIGATION_ABORTED,{from:n,to:t})):_ instanceof Error?c(_):cb(_)?c($s(on.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 Iu(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(Kp(c)){const h=(c.__vccOpts||c)[t];h&&o.push(ka(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=jw(f)?f.default:f;s.mods[l]=f,s.components[l]=g;const _=(g.__vccOpts||g)[t];return _&&ka(_,n,r,s,l,a)()}))}}return o}function vb(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=>Ms(h,l))?r.push(l):n.push(l));const c=e.matched[s];c&&(t.matched.find(h=>Ms(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 gb=()=>location.protocol+"//"+location.host;function rm(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),yf(l,"")}return yf(n,e)+r+a}function yb(e,t,n,r){let a=[],o=[],s=null;const l=({state:_})=>{const R=rm(e,location),O=n.value,B=t.value;let te=0;if(_){if(n.value=R,t.value=_,s&&s===O){s=null;return}te=B?_.position-B.position:0}else r(R);a.forEach(j=>{j(n.value,O,{delta:te,type:ic.pop,direction:te?te>0?Eu.forward:Eu.back:Eu.unknown})})};function c(){s=n.value}function h(_){a.push(_);const R=()=>{const O=a.indexOf(_);O>-1&&a.splice(O,1)};return o.push(R),R}function f(){if(document.visibilityState==="hidden"){const{history:_}=window;if(!_.state)return;_.replaceState(Et({},_.state,{scroll:Ul()}),"")}}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 kf(e,t,n,r=!1,a=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:a?Ul():null}}function wb(e){const{history:t,location:n}=window,r={value:rm(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:gb()+e+c;try{t[f?"replaceState":"pushState"](h,"",_),a.value=h}catch(R){console.error(R),n[f?"replace":"assign"](_)}}function s(c,h){o(c,Et({},t.state,kf(a.value.back,c,a.value.forward,!0),h,{position:a.value.position}),!0),r.value=c}function l(c,h){const f=Et({},a.value,t.state,{forward:c,scroll:Ul()});o(f.current,f,!0),o(c,Et({},kf(r.value,c,null),{position:f.position+1},h),!1),r.value=c}return{location:r,state:a,push:l,replace:s}}function bb(e){e=rb(e);const t=wb(e),n=yb(e,t.state,t.location,t.replace);function r(o,s=!0){s||n.pauseListeners(),history.go(o)}const a=Et({location:"",base:e,go:r,createHref:ab.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 _b(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),bb(e)}let Ya=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Tn=(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})(Tn||{});const Tb={type:Ya.Static,value:""},kb=/[a-zA-Z0-9_]/;function Cb(e){if(!e)return[[]];if(e==="/")return[[Tb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(R){throw new Error(`ERR (${n})/"${h}": ${R}`)}let n=Tn.Static,r=n;const a=[];let o;function s(){o&&a.push(o),o=[]}let l=0,c,h="",f="";function g(){h&&(n===Tn.Static?o.push({type:Ya.Static,value:h}):n===Tn.Param||n===Tn.ParamRegExp||n===Tn.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!==Tn.ParamRegExp){r=n,n=Tn.EscapeNext;continue}switch(n){case Tn.Static:c==="/"?(h&&g(),s()):c===":"?(g(),n=Tn.Param):_();break;case Tn.EscapeNext:_(),n=r;break;case Tn.Param:c==="("?n=Tn.ParamRegExp:kb.test(c)?_():(g(),n=Tn.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case Tn.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=Tn.ParamRegExpEnd:f+=c;break;case Tn.ParamRegExpEnd:g(),n=Tn.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===Tn.ParamRegExp&&t(`Unfinished custom RegExp for param "${h}"`),g(),s(),a}const Cf="[^/]+?",Sb={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 xb=/[.+*?^${}()[\]/\\]/g;function Ab(e,t){const n=Et({},Sb,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 R=ur.Segment+(n.sensitive?ur.BonusCaseSensitive:0);if(_.type===Ya.Static)g||(a+="/"),a+=_.value.replace(xb,"\\$&"),R+=ur.Static;else if(_.type===Ya.Param){const{value:O,repeatable:B,optional:te,regexp:j}=_;o.push({name:O,repeatable:B,optional:te});const D=j||Cf;if(D!==Cf){R+=ur.BonusCustomRegExp;try{`${D}`}catch(Z){throw new Error(`Invalid custom RegExp for param "${O}" (${D}): `+Z.message)}}let K=B?`((?:${D})(?:/(?:${D}))*)`:`(${D})`;g||(K=te&&h.length<2?`(?:/${K})`:"/"+K),te&&(K+="?"),a+=K,R+=ur.Dynamic,te&&(R+=ur.BonusOptional),B&&(R+=ur.BonusRepeatable),D===".*"&&(R+=ur.BonusWildcard)}f.push(R)}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 R=f[_]||"",O=o[_-1];g[O.name]=R&&O.repeatable?R.split("/"):R}return g}function c(h){let f="",g=!1;for(const _ of e){(!g||!f.endsWith("/"))&&(f+="/"),g=!1;for(const R of _)if(R.type===Ya.Static)f+=R.value;else if(R.type===Ya.Param){const{value:O,repeatable:B,optional:te}=R,j=O in h?h[O]:"";if(vo(j)&&!B)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const D=vo(j)?j.join("/"):j;if(!D)if(te)_.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 Eb(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 om(e,t){let n=0;const r=e.score,a=t.score;for(;n<r.length&&n<a.length;){const o=Eb(r[n],a[n]);if(o)return o;n++}if(Math.abs(a.length-r.length)===1){if(Sf(r))return 1;if(Sf(a))return-1}return a.length-r.length}function Sf(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Ib={strict:!1,end:!0,sensitive:!1};function Rb(e,t,n){const r=Ab(Cb(e.path),n),a=Et(r,{record:e,parent:t,children:[],alias:[]});return t&&!a.record.aliasOf==!t.record.aliasOf&&t.children.push(a),a}function Pb(e,t){const n=[],r=new Map;t=gf(Ib,t);function a(g){return r.get(g)}function o(g,_,R){const O=!R,B=Af(g);B.aliasOf=R&&R.record;const te=gf(t,g),j=[B];if("alias"in g){const Z=typeof g.alias=="string"?[g.alias]:g.alias;for(const be of Z)j.push(Af(Et({},B,{components:R?R.record.components:B.components,path:be,aliasOf:R?R.record:B})))}let D,K;for(const Z of j){const{path:be}=Z;if(_&&be[0]!=="/"){const fe=_.record.path,_e=fe[fe.length-1]==="/"?"":"/";Z.path=_.record.path+(be&&_e+be)}if(D=Rb(Z,_,te),R?R.alias.push(D):(K=K||D,K!==D&&K.alias.push(D),O&&g.name&&!Ef(D)&&s(g.name)),am(D)&&c(D),B.children){const fe=B.children;for(let _e=0;_e<fe.length;_e++)o(fe[_e],D,R&&R.children[_e])}R=R||D}return K?()=>{s(K)}:gi}function s(g){if(tm(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 _=Nb(g,n);n.splice(_,0,g),g.record.name&&!Ef(g)&&r.set(g.record.name,g)}function h(g,_){let R,O={},B,te;if("name"in g&&g.name){if(R=r.get(g.name),!R)throw $s(on.MATCHER_NOT_FOUND,{location:g});te=R.record.name,O=Et(xf(_.params,R.keys.filter(K=>!K.optional).concat(R.parent?R.parent.keys.filter(K=>K.optional):[]).map(K=>K.name)),g.params&&xf(g.params,R.keys.map(K=>K.name))),B=R.stringify(O)}else if(g.path!=null)B=g.path,R=n.find(K=>K.re.test(B)),R&&(O=R.parse(B),te=R.record.name);else{if(R=_.name?r.get(_.name):n.find(K=>K.re.test(_.path)),!R)throw $s(on.MATCHER_NOT_FOUND,{location:g,currentLocation:_});te=R.record.name,O=Et({},_.params,g.params),B=R.stringify(O)}const j=[];let D=R;for(;D;)j.unshift(D.record),D=D.parent;return{name:te,path:B,params:O,matched:j,meta:$b(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 xf(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Af(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Mb(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 Mb(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 Ef(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function $b(e){return e.reduce((t,n)=>Et(t,n.meta),{})}function Nb(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;om(e,t[o])<0?r=o:n=o+1}const a=Lb(e);return a&&(r=t.lastIndexOf(a,r-1)),r}function Lb(e){let t=e;for(;t=t.parent;)if(am(t)&&om(e,t)===0)return t}function am({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function If(e){const t=fo(Bl),n=fo(Wc),r=ne(()=>{const c=S(e.to);return t.resolve(c)}),a=ne(()=>{const{matched:c}=r.value,{length:h}=c,f=c[h-1],g=n.matched;if(!f||!g.length)return-1;const _=g.findIndex(Ms.bind(null,f));if(_>-1)return _;const R=Rf(c[h-2]);return h>1&&Rf(f)===R&&g[g.length-1].path!==R?g.findIndex(Ms.bind(null,c[h-2])):_}),o=ne(()=>a.value>-1&&Ub(n.params,r.value.params)),s=ne(()=>a.value>-1&&a.value===n.matched.length-1&&em(n.params,r.value.params));function l(c={}){if(Fb(c)){const h=t[S(e.replace)?"replace":"push"](S(e.to)).catch(gi);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>h),h}return Promise.resolve()}return{route:r,href:ne(()=>r.value.href),isActive:o,isExactActive:s,navigate:l}}function Ob(e){return e.length===1?e[0]:e}const jb=Vn({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:If,setup(e,{slots:t}){const n=Nl(If(e)),{options:r}=fo(Bl),a=ne(()=>({[Pf(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Pf(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ob(t.default(n));return e.custom?o:qc("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},o)}}}),Db=jb;function Fb(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 Ub(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(!vo(a)||a.length!==r.length||r.some((o,s)=>o.valueOf()!==a[s].valueOf()))return!1}return!0}function Rf(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Pf=(e,t,n)=>e??t??n,Bb=Vn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=fo(uc),a=ne(()=>e.route||r.value),o=fo(Tf,0),s=ne(()=>{let h=S(o);const{matched:f}=a.value;let g;for(;(g=f[h])&&!g.components;)h++;return h}),l=ne(()=>a.value.matched[s.value]);dl(Tf,ne(()=>s.value+1)),dl(mb,l),dl(uc,a);const c=x();return pt(()=>[c.value,l.value,e.name],([h,f,g],[_,R,O])=>{f&&(f.instances[g]=h,R&&R!==f&&h&&h===_&&(f.leaveGuards.size||(f.leaveGuards=R.leaveGuards),f.updateGuards.size||(f.updateGuards=R.updateGuards))),h&&f&&(!R||!Ms(f,R)||!_)&&(f.enterCallbacks[g]||[]).forEach(B=>B(h))},{flush:"post"}),()=>{const h=a.value,f=e.name,g=l.value,_=g&&g.components[f];if(!_)return Mf(n.default,{Component:_,route:h});const R=g.props[f],O=R?R===!0?h.params:typeof R=="function"?R(h):R:null,te=qc(_,Et({},O,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(g.instances[f]=null)},ref:c}));return Mf(n.default,{Component:te,route:h})||te}}});function Mf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qb=Bb;function Hb(e){const t=Pb(e.routes,e),n=e.parseQuery||hb,r=e.stringifyQuery||_f,a=e.history,o=ai(),s=ai(),l=ai(),c=Og(ba);let h=ba;ms&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=xu.bind(null,J=>""+J),g=xu.bind(null,Qw),_=xu.bind(null,Ai);function R(J,Ee){let ke,Pe;return tm(J)?(ke=t.getRecordMatcher(J),Pe=Ee):Pe=J,t.addRoute(Pe,ke)}function O(J){const Ee=t.getRecordMatcher(J);Ee&&t.removeRoute(Ee)}function B(){return t.getRoutes().map(J=>J.record)}function te(J){return!!t.getRecordMatcher(J)}function j(J,Ee){if(Ee=Et({},Ee||c.value),typeof J=="string"){const z=Au(n,J,Ee.path),ae=t.resolve({path:z.path},Ee),Q=a.createHref(z.fullPath);return Et(z,ae,{params:_(ae.params),hash:Ai(z.hash),redirectedFrom:void 0,href:Q})}let ke;if(J.path!=null)ke=Et({},J,{path:Au(n,J.path,Ee.path).path});else{const z=Et({},J.params);for(const ae in z)z[ae]==null&&delete z[ae];ke=Et({},J,{params:g(z)}),Ee.params=g(Ee.params)}const Pe=t.resolve(ke,Ee),Ye=J.hash||"";Pe.params=f(_(Pe.params));const A=Zw(r,Et({},J,{hash:Gw(Ye),path:Pe.path})),$=a.createHref(A);return Et({fullPath:A,hash:Ye,query:r===_f?pb(J.query):J.query||{}},Pe,{redirectedFrom:void 0,href:$})}function D(J){return typeof J=="string"?Au(n,J,c.value.path):Et({},J)}function K(J,Ee){if(h!==J)return $s(on.NAVIGATION_CANCELLED,{from:Ee,to:J})}function Z(J){return _e(J)}function be(J){return Z(Et(D(J),{replace:!0}))}function fe(J,Ee){const ke=J.matched[J.matched.length-1];if(ke&&ke.redirect){const{redirect:Pe}=ke;let Ye=typeof Pe=="function"?Pe(J,Ee):Pe;return typeof Ye=="string"&&(Ye=Ye.includes("?")||Ye.includes("#")?Ye=D(Ye):{path:Ye},Ye.params={}),Et({query:J.query,hash:J.hash,params:Ye.path!=null?{}:J.params},Ye)}}function _e(J,Ee){const ke=h=j(J),Pe=c.value,Ye=J.state,A=J.force,$=J.replace===!0,z=fe(ke,Pe);if(z)return _e(Et(D(z),{state:typeof z=="object"?Et({},Ye,z.state):Ye,force:A,replace:$}),Ee||ke);const ae=ke;ae.redirectedFrom=Ee;let Q;return!A&&eb(r,Pe,ke)&&(Q=$s(on.NAVIGATION_DUPLICATED,{to:ae,from:Pe}),Be(Pe,Pe,!0,!1)),(Q?Promise.resolve(Q):ve(ae,Pe)).catch(le=>Qo(le)?Qo(le,on.NAVIGATION_GUARD_REDIRECT)?le:Je(le):xe(le,ae,Pe)).then(le=>{if(le){if(Qo(le,on.NAVIGATION_GUARD_REDIRECT))return _e(Et({replace:$},D(le.to),{state:typeof le.to=="object"?Et({},Ye,le.to.state):Ye,force:A}),Ee||ae)}else le=se(ae,Pe,!0,$,Ye);return Se(ae,Pe,le),le})}function Ne(J,Ee){const ke=K(J,Ee);return ke?Promise.reject(ke):Promise.resolve()}function G(J){const Ee=rt.values().next().value;return Ee&&typeof Ee.runWithContext=="function"?Ee.runWithContext(J):J()}function ve(J,Ee){let ke;const[Pe,Ye,A]=vb(J,Ee);ke=Iu(Pe.reverse(),"beforeRouteLeave",J,Ee);for(const z of Pe)z.leaveGuards.forEach(ae=>{ke.push(ka(ae,J,Ee))});const $=Ne.bind(null,J,Ee);return ke.push($),bt(ke).then(()=>{ke=[];for(const z of o.list())ke.push(ka(z,J,Ee));return ke.push($),bt(ke)}).then(()=>{ke=Iu(Ye,"beforeRouteUpdate",J,Ee);for(const z of Ye)z.updateGuards.forEach(ae=>{ke.push(ka(ae,J,Ee))});return ke.push($),bt(ke)}).then(()=>{ke=[];for(const z of A)if(z.beforeEnter)if(vo(z.beforeEnter))for(const ae of z.beforeEnter)ke.push(ka(ae,J,Ee));else ke.push(ka(z.beforeEnter,J,Ee));return ke.push($),bt(ke)}).then(()=>(J.matched.forEach(z=>z.enterCallbacks={}),ke=Iu(A,"beforeRouteEnter",J,Ee,G),ke.push($),bt(ke))).then(()=>{ke=[];for(const z of s.list())ke.push(ka(z,J,Ee));return ke.push($),bt(ke)}).catch(z=>Qo(z,on.NAVIGATION_CANCELLED)?z:Promise.reject(z))}function Se(J,Ee,ke){l.list().forEach(Pe=>G(()=>Pe(J,Ee,ke)))}function se(J,Ee,ke,Pe,Ye){const A=K(J,Ee);if(A)return A;const $=Ee===ba,z=ms?history.state:{};ke&&(Pe||$?a.replace(J.fullPath,Et({scroll:$&&z&&z.scroll},Ye)):a.push(J.fullPath,Ye)),c.value=J,Be(J,Ee,ke,$),Je()}let Ae;function Fe(){Ae||(Ae=a.listen((J,Ee,ke)=>{if(!We.listening)return;const Pe=j(J),Ye=fe(Pe,We.currentRoute.value);if(Ye){_e(Et(Ye,{replace:!0,force:!0}),Pe).catch(gi);return}h=Pe;const A=c.value;ms&&lb(bf(A.fullPath,ke.delta),Ul()),ve(Pe,A).catch($=>Qo($,on.NAVIGATION_ABORTED|on.NAVIGATION_CANCELLED)?$:Qo($,on.NAVIGATION_GUARD_REDIRECT)?(_e(Et(D($.to),{force:!0}),Pe).then(z=>{Qo(z,on.NAVIGATION_ABORTED|on.NAVIGATION_DUPLICATED)&&!ke.delta&&ke.type===ic.pop&&a.go(-1,!1)}).catch(gi),Promise.reject()):(ke.delta&&a.go(-ke.delta,!1),xe($,Pe,A))).then($=>{$=$||se(Pe,A,!1),$&&(ke.delta&&!Qo($,on.NAVIGATION_CANCELLED)?a.go(-ke.delta,!1):ke.type===ic.pop&&Qo($,on.NAVIGATION_ABORTED|on.NAVIGATION_DUPLICATED)&&a.go(-1,!1)),Se(Pe,A,$)}).catch(gi)}))}let qe=ai(),Ke=ai(),$e;function xe(J,Ee,ke){Je(J);const Pe=Ke.list();return Pe.length?Pe.forEach(Ye=>Ye(J,Ee,ke)):console.error(J),Promise.reject(J)}function Qe(){return $e&&c.value!==ba?Promise.resolve():new Promise((J,Ee)=>{qe.add([J,Ee])})}function Je(J){return $e||($e=!J,Fe(),qe.list().forEach(([Ee,ke])=>J?ke(J):Ee()),qe.reset()),J}function Be(J,Ee,ke,Pe){const{scrollBehavior:Ye}=e;if(!ms||!Ye)return Promise.resolve();const A=!ke&&ub(bf(J.fullPath,0))||(Pe||!ke)&&history.state&&history.state.scroll||null;return Vt().then(()=>Ye(J,Ee,A)).then($=>$&&ib($)).catch($=>xe($,J,Ee))}const ze=J=>a.go(J);let ft;const rt=new Set,We={currentRoute:c,listening:!0,addRoute:R,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:te,getRoutes:B,resolve:j,options:e,push:Z,replace:be,go:ze,back:()=>ze(-1),forward:()=>ze(1),beforeEach:o.add,beforeResolve:s.add,afterEach:l.add,onError:Ke.add,isReady:Qe,install(J){J.component("RouterLink",Db),J.component("RouterView",qb),J.config.globalProperties.$router=We,Object.defineProperty(J.config.globalProperties,"$route",{enumerable:!0,get:()=>S(c)}),ms&&!ft&&c.value===ba&&(ft=!0,Z(a.location).catch(Pe=>{}));const Ee={};for(const Pe in ba)Object.defineProperty(Ee,Pe,{get:()=>c.value[Pe],enumerable:!0});J.provide(Bl,We),J.provide(Wc,tp(Ee)),J.provide(uc,c);const ke=J.unmount;rt.add(J),J.unmount=function(){rt.delete(J),rt.size<1&&(h=ba,Ae&&Ae(),Ae=null,c.value=ba,ft=!1,$e=!1),ke()}}};function bt(J){return J.reduce((Ee,ke)=>Ee.then(()=>G(ke)),Promise.resolve())}return We}function Wb(){return fo(Bl)}function zb(e){return fo(Wc)}const $f=768;function zc(){const e=x(typeof window<"u"?window.innerWidth<$f:!1);let t=null;function n(r){e.value=r.matches}return la(()=>{t=window.matchMedia(`(max-width: ${$f-1}px)`),e.value=t.matches,t.addEventListener("change",n)}),Ol(()=>{t==null||t.removeEventListener("change",n)}),{isMobile:e}}const Vb={key:0,class:"desktop-sidebar"},Gb={class:"desktop-main"},Nf="codex-web-local.sidebar-width.v1",Kb=260,Yb=620,Lf=320,Qb=Vn({__name:"DesktopLayout",props:{isSidebarCollapsed:{type:Boolean,default:!1}},emits:["close-sidebar"],setup(e){const t=e,{isMobile:n}=zc();function r(h){return Math.min(Yb,Math.max(Kb,h))}function a(){if(typeof window>"u")return Lf;const h=window.localStorage.getItem(Nf),f=Number(h);return Number.isFinite(f)?r(f):Lf}const o=x(a()),s=ne(()=>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(Nf,String(h))}function c(h){h.preventDefault();const f=h.clientX,g=o.value,_=O=>{const B=O.clientX-f;o.value=r(g+B)},R=()=>{l(o.value),window.removeEventListener("mousemove",_),window.removeEventListener("mouseup",R)};window.addEventListener("mousemove",_),window.addEventListener("mouseup",R)}return(h,f)=>(k(),I("div",{class:et(["desktop-layout",{"is-mobile":S(n)}]),style:ta(s.value)},[S(n)?(k(),Ze(Ka,{key:0,to:"body"},[Ue(Vp,{name:"drawer"},{default:ht(()=>[e.isSidebarCollapsed?X("",!0):(k(),I("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})])):X("",!0),S(n)?X("",!0):(k(),I(Ge,{key:1},[e.isSidebarCollapsed?X("",!0):(k(),I("aside",Vb,[Lo(h.$slots,"sidebar",{},void 0)])),e.isSidebarCollapsed?X("",!0):(k(),I("button",{key:1,class:"desktop-resize-handle",type:"button","aria-label":"Resize sidebar",onMousedown:c},null,32))],64)),m("section",Gb,[Lo(h.$slots,"content",{},void 0)])],6))}}),Ct=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},Jb=Ct(Qb,[["__scopeId","data-v-4c6dbcd7"]]);function Of(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 ua(e,t){if(typeof e=="string"&&e.length>0)return e;const n=Of(e);if(!n)return t;const r=n.error;if(typeof r=="string"&&r.length>0)return r;const a=Of(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 sa(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 sm(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}async function Xb(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=ua(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 Zb(){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(ua(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 e0(e){const t=sm(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 jf(e,t={ok:!0}){e({method:"ready",params:t,atIso:new Date().toISOString()})}function t0(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=e0(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 R=_.data?JSON.parse(_.data):{ok:!0};jf(e,R)}catch{jf(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,R=!1,O=window.setTimeout(()=>{_||n||R||(R=!0,g.close(),l())},2500);g.onopen=()=>{_=!0,a(),O!==null&&(window.clearTimeout(O),O=null)},g.onmessage=B=>{try{s(JSON.parse(String(B.data)))}catch{}},g.onerror=()=>{},g.onclose=()=>{if(O!==null&&(window.clearTimeout(O),O=null),!(n||R)){if(!_){l();return}o(()=>c(h+1),h)}},t=()=>{R=!0,O!==null&&(window.clearTimeout(O),O=null),g.close()}};return typeof WebSocket<"u"?c():l(),()=>{n=!0,a(),t==null||t()}}async function n0(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(ua(n,`Server request reply failed with HTTP ${t.status}`),{code:"http_error",method:"server-requests/respond",status:t.status})}async function r0(){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(ua(t,`Pending server requests failed with HTTP ${e.status}`),{code:"http_error",method:"server-requests/pending",status:e.status});const n=sm(t),r=n==null?void 0:n.data;return Array.isArray(r)?r:[]}function o0(e){const t=e.trim();return t?t.startsWith("\\\\?\\UNC\\")?`\\\\${t.slice(8)}`:t.startsWith("\\\\?\\")?t.slice(4):t:""}function ot(e){return o0(e)}function a0(e){return/^[a-z]:[\\/]/iu.test(e)||e.startsWith("\\\\")}function s0(e){const t=ot(e).replace(/[\\/]+/gu,"/");return a0(t)?t.toLowerCase():t}function $r(e){const t=ot(e).replace(/[\\/]+$/u,"");if(!t)return"";const n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n<0?t:t.slice(n+1)}function xs(e){const t=ot(e).replace(/[\\/]+$/u,"");if(!t)return"";const n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n<=0?"":t.slice(0,n)}function Kr(e){return $r(e)||ot(e)||"Projectless"}function Cl(e){const t=ot(e).replace(/[\\/]+/gu,"/");return t?/(?:^|\/)Documents\/Codex\/\d{4}-\d{2}-\d{2}\/[^/]+$/u.test(t):!1}function Df(e){return new Date(e*1e3).toISOString()}function i0(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}const l0=/^##\s+(.+?):\s+(.+?)\s*$/,u0=/^#\s*files mentioned by the user\s*:?\s*$/i;function c0(e){var a,o;const t=e.split(`
27
- `).findIndex(s=>u0.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(l0);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 d0(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 im(e){return`/codex-local-image?path=${encodeURIComponent(e)}`}function f0(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 h0(e){return e.replace(/&lt;/giu,"<").replace(/&gt;/giu,">").replace(/&amp;/giu,"&")}function Ru(e,t){const n=new RegExp(`<${t}>\\s*([\\s\\S]*?)\\s*</${t}>`,"iu").exec(e);return n!=null&&n[1]?h0(n[1].trim()):""}function p0(e){const t=e.trim();if(!t.startsWith("<heartbeat>")||!t.endsWith("</heartbeat>"))return null;const n=Ru(t,"current_time_iso"),r=Ru(t,"instructions");return!n||!r?null:{automationId:Ru(t,"automation_id"),currentTimeIso:n,instructions:r}}function m0(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(im(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:i0(f),isUnhandled:!0})}const s=n.join(`
29
- `),l=c0(s),c=p0(s);return{text:(c==null?void 0:c.instructions)??d0(s),images:r,skills:a,fileAttachments:l,rawBlocks:o,isAutomationRun:c!==null,automationDisplayName:(c==null?void 0:c.automationId)||null}}function v0(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 Ff(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 g0(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 lm(e){return e==="failed"||e==="declined"||e==="completed"?e:"inProgress"}function um(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"?g0(s):c==="add"?{addedLineCount:Ff(s),removedLineCount:0}:{addedLineCount:0,removedLineCount:Ff(s)};n.push({path:o,operation:c,movedToPath:h,diff:s,...f})}return n}function y0(e){if(e.type==="agentMessage")return[{id:e.id,role:"assistant",text:e.text,messageType:e.type}];if(e.type==="userMessage"){const t=m0(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:[im(t)],messageType:"imageView"}]:[]}{const t=e;if(t.type==="imageGeneration"||t.type==="image_generation"){const n=typeof t.result=="string"?f0(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:v0(t)??void 0}]}if(e.type==="commandExecution"){const t=e,n=w0(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=um(e.changes),n=lm(e.status);return t.length===0||n!=="completed"?[]:[{id:e.id,role:"system",text:"",messageType:"fileChange",fileChangeStatus:n,fileChanges:t}]}return[]}function w0(e){return e==="completed"||e==="failed"||e==="declined"||e==="interrupted"?e:e==="inProgress"||e==="in_progress"?"inProgress":"completed"}function b0(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 _0(e){const t=b0(e);return t.length>0?t:"Untitled thread"}function Vc(e){return(e==null?void 0:e.status)==="inProgress"}function T0(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 Vc(r)}function k0(e){const t=e,n=ot(typeof t.cwd=="string"?t.cwd:e.cwd),r=s0(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:_0(e),projectName:Kr(n),cwd:n,hasWorktree:a,createdAtIso:Df(e.createdAt),updatedAtIso:Df(e.updatedAt),preview:e.preview,unread:!1,inProgress:T0(e)}}function C0(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 S0(e){const t=e.data.map(k0);return C0(t)}function ql(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 y0(l))n.push({...c,turnId:o,turnIndex:r})}return n}function cm(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[];return Vc(t.at(-1))}function dm(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(Vc(r)&&typeof r.id=="string"&&r.id.trim().length>0)return r.id.trim()}return""}const x0=5e3;function Pu(e){return e&&e.length>0?e:null}function Mu(e){return e&&e.length>0?e:null}let nl=null,yi=null;const Uf=[{value:"default",label:"Default"},{value:"plan",label:"Plan"}];function lt(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function de(e){return typeof e=="string"&&e.length>0?e:null}function kn(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Yr(e){return typeof e=="boolean"?e:null}function ys(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function A0(e){return e==="payment_required"?e:null}function E0(e){if(!e)return!1;const t=e.toLowerCase();return t.includes("payment required")||/\b402\b/.test(t)}function Bf(e){const t=lt(e);if(!t)return null;const n=kn(t.usedPercent??t.used_percent);if(n===null)return null;const r=kn(t.windowDurationMins??t.window_minutes);return{usedPercent:n,windowDurationMins:r,windowMinutes:r,resetsAt:kn(t.resetsAt??t.resets_at)}}function I0(e){const t=lt(e);if(!t)return null;const n=Yr(t.hasCredits??t.has_credits),r=Yr(t.unlimited);return n===null||r===null?null:{hasCredits:n,unlimited:r,balance:de(t.balance)}}function cc(e){const t=lt(e);if(!t)return null;const n=Bf(t.primary),r=Bf(t.secondary),a=I0(t.credits);return!n&&!r&&!a?null:{limitId:de(t.limitId??t.limit_id),limitName:de(t.limitName??t.limit_name),primary:n,secondary:r,credits:a,planType:de(t.planType??t.plan_type)}}function fm(e,t=null){const n=lt(e);if(!n)return null;const r=de(n.accountId),a=de(n.quotaStatus),o=a==="loading"||a==="ready"||a==="error"?a:"idle";return r?{accountId:r,authMode:de(n.authMode),email:de(n.email),planType:de(n.planType),lastRefreshedAtIso:de(n.lastRefreshedAtIso)??"",lastActivatedAtIso:de(n.lastActivatedAtIso),quotaSnapshot:cc(n.quotaSnapshot),quotaUpdatedAtIso:de(n.quotaUpdatedAtIso),quotaStatus:o,quotaError:de(n.quotaError),unavailableReason:A0(n.unavailableReason)??(E0(de(n.quotaError))?"payment_required":null),isActive:Yr(n.isActive)??r===t}:null}function hm(e){const t=lt(e);if(!t)return null;const n=lt(t.rateLimitsByLimitId??t.rate_limits_by_limit_id),r=cc(n==null?void 0:n.codex);return r||cc(t.rateLimits??t.rate_limits)}async function Pt(e,t){try{return await Xb(e,t)}catch(n){throw sa(n,`RPC ${e} failed`,e)}}function pm(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 R0(e){return typeof e=="string"&&["none","minimal","low","medium","high","xhigh"].includes(e)?e:""}function P0(e){return typeof e=="string"&&e.trim().toLowerCase()==="fast"?"fast":"standard"}const M0=50,$0=100;async function N0(e,t){const n=await Pt("thread/list",{archived:!1,limit:t,sortKey:"updated_at",modelProviders:[],cursor:e});return{groups:S0(n),nextCursor:typeof n.nextCursor=="string"&&n.nextCursor.length>0?n.nextCursor:null}}async function L0(e){const t=await Pt("thread/read",{threadId:e,includeTurns:!0});return{messages:ql(t),inProgress:cm(t),activeTurnId:dm(t),turnIndexByTurnId:pm(t)}}async function qf(e=null,t=M0){try{return await N0(e,t)}catch(n){throw sa(n,"Failed to load thread groups","thread/list")}}function O0(){return $0}async function Hf(e){try{return await L0(e)}catch(t){throw sa(t,`Failed to load thread ${e}`,"thread/read")}}function j0(e){const t=lt(e);if(!t)return null;const n=de(t.key),r=typeof t.text=="string"?t.text:"",a=de(t.kind);return!n||!a||a!=="meta"&&a!=="hunk"&&a!=="add"&&a!=="remove"&&a!=="context"?null:{key:n,kind:a,text:r,oldLine:kn(t.oldLine),newLine:kn(t.newLine)}}function D0(e){const t=lt(e);if(!t)return null;const n=de(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:kn(t.addedLineCount)??0,removedLineCount:kn(t.removedLineCount)??0,oldStart:kn(t.oldStart),oldLineCount:kn(t.oldLineCount)??0,newStart:kn(t.newStart),newLineCount:kn(t.newLineCount)??0,lines:Array.isArray(t.lines)?t.lines.map(o=>j0(o)).filter(o=>o!==null):[]}:null}function F0(e){const t=lt(e);if(!t)return null;const n=de(t.id),r=de(t.path),a=de(t.absolutePath),o=de(t.operation);return!n||!r||!a||!o||o!=="add"&&o!=="delete"&&o!=="update"&&o!=="rename"?null:{id:n,path:r,absolutePath:a,previousPath:de(t.previousPath),previousAbsolutePath:de(t.previousAbsolutePath),operation:o,addedLineCount:kn(t.addedLineCount)??0,removedLineCount:kn(t.removedLineCount)??0,diff:typeof t.diff=="string"?t.diff:"",hunks:Array.isArray(t.hunks)?t.hunks.map(s=>D0(s)).filter(s=>s!==null):[]}}function mm(e){const t=lt(e),n=lt(t==null?void 0:t.data),r=lt(n==null?void 0:n.summary),a=de(n==null?void 0:n.scope)==="baseBranch"?"baseBranch":"workspace",o=de(n==null?void 0:n.workspaceView)==="staged"?"staged":"unstaged";return{cwd:de(n==null?void 0:n.cwd)??"",gitRoot:de(n==null?void 0:n.gitRoot),isGitRepo:Yr(n==null?void 0:n.isGitRepo)??!1,scope:a,workspaceView:o,baseBranch:de(n==null?void 0:n.baseBranch),baseBranchOptions:Array.isArray(n==null?void 0:n.baseBranchOptions)?n.baseBranchOptions.map(s=>de(s)).filter(s=>typeof s=="string"&&s.length>0):[],headBranch:de(n==null?void 0:n.headBranch),mergeBaseSha:de(n==null?void 0:n.mergeBaseSha),generatedAtIso:de(n==null?void 0:n.generatedAtIso)??"",summary:{fileCount:kn(r==null?void 0:r.fileCount)??0,addedLineCount:kn(r==null?void 0:r.addedLineCount)??0,removedLineCount:kn(r==null?void 0:r.removedLineCount)??0},files:Array.isArray(n==null?void 0:n.files)?n.files.map(s=>F0(s)).filter(s=>s!==null):[]}}function U0(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 B0(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())??"",_=U0(f[2]??""),R=(f[0]??"").trim(),O=(f[3]??"").split(`
39
- `).map(B=>B.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:R}),h+=1}}return{reviewText:t,summary:r,findings:o}}function Wf(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 FM(e){const t=await Pt("thread/read",{threadId:e,includeTurns:!0}),n=Wf(t,"exitedReviewMode");return{enteredReviewLabel:Wf(t,"enteredReviewMode"),result:n?B0(n):null}}async function UM(){return Zb()}function dc(e){const t=lt(e);if(!t)return null;const n=de(t.id),r=de(t.kind),a=de(t.name),o=de(t.prompt),s=de(t.rrule),l=de(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:de(t.targetThreadId),createdAtMs:kn(t.createdAtMs),updatedAtMs:kn(t.updatedAtMs),nextRunAtMs:kn(t.nextRunAtMs)}}function q0(e){if(Array.isArray(e))return e.flatMap(n=>{const r=dc(n);return r?[r]:[]});const t=dc(e);return t?[t]:[]}async function H0(){var a;const e=await fetch("/codex-api/thread-automations"),t=await e.json().catch(()=>null);if(!e.ok)throw new Error(ua(t,"Failed to load thread automations"));const n=lt((a=lt(t))==null?void 0:a.data),r={};if(!n)return r;for(const[o,s]of Object.entries(n)){const l=q0(s);l.length>0&&(r[o]=l)}return r}async function W0(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(ua(n,"Failed to save thread automation"));const r=dc((a=lt(n))==null?void 0:a.data);if(!r)throw new Error("Thread automation response was malformed");return r}async function zf(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(ua(a,"Failed to delete thread automation"))}async function z0(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(ua(r,"Failed to run thread automation"))}function V0(e){return t0(e)}function G0(e){const t=lt(e);if(!t)return null;const n=de(t.id),r=de(t.threadId),a=de(t.cwd),o=de(t.shell);return!n||!r||!a||!o?null:{id:n,threadId:r,cwd:a,shell:o,buffer:typeof t.buffer=="string"?t.buffer:"",truncated:Yr(t.truncated)??!1}}async function Ds(e,t){const n=await fetch(e,t),r=await n.json().catch(()=>null);if(!n.ok)throw new Error(ua(r,`Terminal request failed with HTTP ${n.status}`));return r}async function BM(e){var r;const t=await Ds("/codex-api/thread-terminal/attach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=G0((r=lt(t))==null?void 0:r.session);if(!n)throw new Error("Terminal attach response was malformed");return n}async function K0(){const e=await Ds("/codex-api/thread-terminal/status"),t=lt(e);return{available:Yr(t==null?void 0:t.available)??!1,reason:de(t==null?void 0:t.reason)||null}}async function Y0(e){const t=await Ds(`/codex-api/thread-terminal/quick-commands?cwd=${encodeURIComponent(e)}`),n=lt(t);return(Array.isArray(n==null?void 0:n.commands)?n.commands:[]).flatMap(a=>{const o=lt(a),s=de(o==null?void 0:o.label),l=de(o==null?void 0:o.value),c=de(o==null?void 0:o.source);return!s||!l||c!=="package"&&c!=="script"&&c!=="make"?[]:[{label:s,value:l,source:c}]})}async function qM(e,t){await Ds("/codex-api/thread-terminal/input",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,data:t})})}async function HM(e,t,n){await Ds("/codex-api/thread-terminal/resize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,cols:t,rows:n})})}async function WM(e){await Ds("/codex-api/thread-terminal/close",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})})}async function Q0(e,t){await n0({id:e,...t})}async function J0(){return r0()}async function X0(){try{const e=await Pt("account/rateLimits/read");return hm(e)}catch(e){throw sa(e,"Failed to load account rate limits","account/rateLimits/read")}}function Hl(e){const t=lt(e),n=de(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:de(t==null?void 0:t.importedAccountId)??void 0,accounts:r.map(a=>fm(a,n)).filter(a=>a!==null)}}async function Z0(){const e=await fetch("/codex-api/accounts"),t=await e.json();if(!e.ok)throw new Error(Pn(t,"Failed to load accounts"));const n=lt(t);return Hl(n==null?void 0:n.data)}async function e_(){const e=await fetch("/codex-api/accounts/refresh",{method:"POST"}),t=await e.json();if(!e.ok)throw new Error(Pn(t,"Failed to refresh accounts"));const n=lt(t);return Hl(n==null?void 0:n.data)}async function t_(){const e=await fetch("/codex-api/accounts/login/start",{method:"POST"}),t=await e.json();if(!e.ok)throw new Error(Pn(t,"Failed to start Codex login"));const n=lt(t),r=lt(n==null?void 0:n.data),a=de(r==null?void 0:r.loginUrl);if(!a)throw new Error("Failed to start Codex login");return a}async function n_(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(Pn(n,"Failed to complete Codex login"));const r=lt(n);return Hl(r==null?void 0:r.data)}async function r_(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(Pn(n,"Failed to switch account"));const r=lt(n),a=lt(r==null?void 0:r.data),o=fm(a==null?void 0:a.account,de(a==null?void 0:a.activeAccountId));if(!o)throw new Error("Failed to switch account");return o}async function o_(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(Pn(n,"Failed to remove account"));const r=lt(n);return Hl(r==null?void 0:r.data)}async function $u(e){const t=await Pt("thread/resume",{threadId:e});return{model:Sl(t),messages:ql(t),inProgress:cm(t),activeTurnId:dm(t),turnIndexByTurnId:pm(t)}}async function a_(e){await Pt("thread/archive",{threadId:e})}async function s_(e,t){await Pt("thread/name/set",{threadId:e,name:t})}async function Nu(e,t){const n=await Pt("thread/rollback",{threadId:e,numTurns:t});return ql(n)}async function i_(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 fc(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 l_(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 Sl(e){if(!e||typeof e!="object")return"";const t=e.model;return typeof t=="string"?t.trim():""}async function Vf(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 Pt("thread/start",n),a=fc(r);if(!a)throw new Error("thread/start did not return a thread id");return{threadId:a,model:Sl(r)}}catch(n){throw sa(n,"Failed to start a new thread","thread/start")}}async function Gf(e,t,n){if(arguments.length<=1)try{const r=await Pt("thread/fork",{threadId:e,persistExtendedHistory:!0}),a=fc(r);if(!a)throw new Error("thread/fork did not return a thread id");return{threadId:a,cwd:l_(r),model:Sl(r),messages:ql(r)}}catch(r){throw sa(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 Pt("thread/fork",a),s=fc(o);if(!s)throw new Error("thread/fork did not return a thread id");return{threadId:s,model:Sl(o)}}catch(r){throw sa(r,`Failed to fork thread ${e}`,"thread/fork")}}function Kf(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 u_(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 c_(e){const t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).at(-1)??t}async function d_(e,t,n){var c;const r=(t==null?void 0:t.trim())??"";if(r)return{model:r,reasoningEffort:e==="plan"?Pu(n):Mu(n)};let a=null;try{a=await gm()}catch{a=null}const o=(a==null?void 0:a.model.trim())??"";if(o)return{model:o,reasoningEffort:e==="plan"?Pu(n??(a==null?void 0:a.reasoningEffort)):Mu(n??(a==null?void 0:a.reasoningEffort))};let s=[];try{s=await vm()}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"?Pu(n??(a==null?void 0:a.reasoningEffort)):Mu(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 Lu(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=Kf(D.trim());K&&f.push({label:c_(K),path:K,fsPath:K})}const g=[...s,...f],_=g.filter((D,K)=>g.findIndex(Z=>Z.fsPath===D.fsPath)===K),O=[{type:"text",text:u_(t,_)}];for(const D of n){const K=D.trim();if(!K)continue;const Z=Kf(K);if(Z){O.push({type:"localImage",path:Z});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 B=_.map(D=>({label:D.label,path:D.path,fsPath:D.fsPath})),te={threadId:e,input:O};if(B.length>0&&(te.attachments=B),h&&(te.model=h),typeof a=="string"&&a.length>0&&(te.effort=a),l){const D=await d_(l,h,a);te.collaborationMode={mode:l,settings:{model:D.model,reasoning_effort:D.reasoningEffort,developer_instructions:null}}}const j=await Pt("turn/start",te);return typeof((c=j==null?void 0:j.turn)==null?void 0:c.id)=="string"?j.turn.id.trim():""}catch(h){throw sa(h,`Failed to start turn for thread ${e}`,"turn/start")}}async function f_(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 Pt("turn/interrupt",{threadId:n,turnId:r})}catch(a){throw sa(a,`Failed to interrupt turn for thread ${n}`,"turn/interrupt")}}async function h_(e){const t=e==="fast"?"fast":"standard";await Pt("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 p_(){return await(await fetch("/codex-api/free-mode/status")).json()}async function Yf(e){return await(await fetch("/codex-api/free-mode",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enable:e})})).json()}async function Qf(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 cs(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 vm(e={}){const t=await Pt("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(x0)});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 gm(){const e=await Pt("config/read",{}),t=e.config.model??"",n=typeof e.config.model_provider=="string"?e.config.model_provider:"",r=R0(e.config.model_reasoning_effort),a=P0(e.config.service_tier);return{model:t,providerId:n,reasoningEffort:r,speedMode:a}}function ym(e){const t=lt(e);if(!t)return null;const n=de(t.id),r=de(t.name);return!n||!r?null:{id:n,name:r,description:de(t.description)??"",installUrl:de(t.installUrl??t.install_url)??"",needsAuth:Yr(t.needsAuth??t.needs_auth)??!1}}function m_(e){const t=lt(e);if(!t)return null;const n=de(t.name),r=de(t.path);if(!n||!r)return null;const a=lt(t.interface);return{name:n,path:r,description:de(t.description)??"",enabled:Yr(t.enabled)??!0,displayName:de((a==null?void 0:a.displayName)??(a==null?void 0:a.display_name))??n,shortDescription:de(t.shortDescription??t.short_description)??""}}function wm(e,t={}){const n=lt(e);if(!n)return null;const r=de(n.id),a=de(n.name);if(!r||!a)return null;const o=lt(n.interface),s=lt(n.source),l=de(s==null?void 0:s.type)??"",c=de(s==null?void 0:s.path),h=de(s==null?void 0:s.url)??"",f=l==="remote"?t.name??null:null,g=t.path??(l==="local"?c:null),_=de((o==null?void 0:o.displayName)??(o==null?void 0:o.display_name))??a,R=de((o==null?void 0:o.shortDescription)??(o==null?void 0:o.short_description)),O=de((o==null?void 0:o.longDescription)??(o==null?void 0:o.long_description))??"";return{id:r,name:a,displayName:_,description:R??O,longDescription:O,developerName:de((o==null?void 0:o.developerName)??(o==null?void 0:o.developer_name))??"",category:de(o==null?void 0:o.category)??"",marketplaceName:t.name??"",marketplaceDisplayName:t.displayName??t.name??"",marketplacePath:g,remoteMarketplaceName:f,sourceType:l,sourceUrl:h,installed:Yr(n.installed)??!1,enabled:Yr(n.enabled)??!0,installPolicy:de(n.installPolicy??n.install_policy)??"",authPolicy:de(n.authPolicy??n.auth_policy)??"",logoUrl:de((o==null?void 0:o.logoUrl)??(o==null?void 0:o.logo_url))??"",logoPath:de(o==null?void 0:o.logo)??"",composerIconUrl:de((o==null?void 0:o.composerIconUrl)??(o==null?void 0:o.composer_icon_url))??"",composerIconPath:de((o==null?void 0:o.composerIcon)??(o==null?void 0:o.composer_icon))??"",brandColor:de((o==null?void 0:o.brandColor)??(o==null?void 0:o.brand_color))??"",capabilities:ys(o==null?void 0:o.capabilities),defaultPrompt:ys((o==null?void 0:o.defaultPrompt)??(o==null?void 0:o.default_prompt)),screenshotUrls:ys((o==null?void 0:o.screenshotUrls)??(o==null?void 0:o.screenshot_urls)),screenshots:ys(o==null?void 0:o.screenshots),websiteUrl:de((o==null?void 0:o.websiteUrl)??(o==null?void 0:o.website_url))??"",privacyPolicyUrl:de((o==null?void 0:o.privacyPolicyUrl)??(o==null?void 0:o.privacy_policy_url))??"",termsOfServiceUrl:de((o==null?void 0:o.termsOfServiceUrl)??(o==null?void 0:o.terms_of_service_url))??""}}function v_(e,t=0){const n=lt(e);if(!n)return null;const r=de(n.id),a=de(n.name);if(!r||!a)return null;const o=lt(n.branding),s=lt(n.appMetadata??n.app_metadata);return{id:r,name:a,description:de(n.description)??de((s==null?void 0:s.seoDescription)??(s==null?void 0:s.seo_description))??"",logoUrl:de(n.logoUrl??n.logo_url)??"",logoUrlDark:de(n.logoUrlDark??n.logo_url_dark)??"",distributionChannel:de(n.distributionChannel??n.distribution_channel)??"",installUrl:de(n.installUrl??n.install_url)??"",isAccessible:Yr(n.isAccessible??n.is_accessible)??!1,isEnabled:Yr(n.isEnabled??n.is_enabled)??!0,pluginDisplayNames:ys(n.pluginDisplayNames??n.plugin_display_names),category:de(o==null?void 0:o.category)??"",developer:de(o==null?void 0:o.developer)??de(s==null?void 0:s.developer)??"",website:de(o==null?void 0:o.website)??"",privacyPolicy:de((o==null?void 0:o.privacyPolicy)??(o==null?void 0:o.privacy_policy))??"",termsOfService:de((o==null?void 0:o.termsOfService)??(o==null?void 0:o.terms_of_service))??"",catalogRank:t}}function g_(e){const t=lt(e);if(!t)return null;const n=de(t.name);if(!n)return null;const r=lt(t.tools)??{},a=Object.entries(r).map(([c,h])=>{const f=lt(h);return{name:de(f==null?void 0:f.name)??c,title:de(f==null?void 0:f.title)??"",description:de(f==null?void 0:f.description)??""}}),o=Array.isArray(t.resources)?t.resources.map(c=>{const h=lt(c);return{name:de(h==null?void 0:h.name)??"",title:de(h==null?void 0:h.title)??"",uri:de(h==null?void 0:h.uri)??"",description:de(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=lt(c);return{name:de(h==null?void 0:h.name)??"",title:de(h==null?void 0:h.title)??"",uriTemplate:de((h==null?void 0:h.uriTemplate)??(h==null?void 0:h.uri_template))??"",description:de(h==null?void 0:h.description)??""}}).filter(c=>c.name||c.uriTemplate):[];return{name:n,authStatus:de(t.authStatus??t.auth_status)??"unsupported",tools:a,resources:o,resourceTemplates:l}}async function zM(e){const t={};e&&e.length>0&&(t.cwds=e);const n=await Pt("plugin/list",t),r=[];for(const a of n.marketplaces??[]){const o=lt(a);if(!o)continue;const s=lt(o.interface),l={name:de(o.name)??"",displayName:de((s==null?void 0:s.displayName)??(s==null?void 0:s.display_name))??"",path:de(o.path)},c=Array.isArray(o.plugins)?o.plugins:[];for(const h of c){const f=wm(h,l);f&&r.push(f)}}return r}async function VM(e){const t={pluginName:e.name};e.marketplacePath&&(t.marketplacePath=e.marketplacePath),e.remoteMarketplaceName&&(t.remoteMarketplaceName=e.remoteMarketplaceName);const n=await Pt("plugin/read",t),r=lt(n.plugin);if(!r)throw new Error("Plugin detail response is empty");const a=wm(r.summary,{name:de(r.marketplaceName)??e.marketplaceName,displayName:e.marketplaceDisplayName,path:de(r.marketplacePath)??e.marketplacePath})??e;return{summary:a,description:de(r.description)??a.longDescription,apps:Array.isArray(r.apps)?r.apps.map(ym).filter(o=>o!==null):[],skills:Array.isArray(r.skills)?r.skills.map(m_).filter(o=>o!==null):[],mcpServers:ys(r.mcpServers??r.mcp_servers)}}async function GM(e){const t={pluginName:e.name};e.marketplacePath&&(t.marketplacePath=e.marketplacePath),e.remoteMarketplaceName&&(t.remoteMarketplaceName=e.remoteMarketplaceName);const n=await Pt("plugin/install",t),r=n.appsNeedingAuth??n.apps_needing_auth??[];return{authPolicy:de(n.authPolicy??n.auth_policy)??"",appsNeedingAuth:r.map(ym).filter(a=>a!==null)}}async function KM(e){await Pt("plugin/uninstall",{pluginId:e})}async function YM(e,t){await Pt("config/batchWrite",{edits:[{keyPath:`plugins.${e}.enabled`,value:t,mergeStrategy:"upsert"}],filePath:null,expectedVersion:null,reloadUserConfig:!0})}async function QM(e){const t=[];let n=null,r=0;do{const a={limit:100};n&&(a.cursor=n),e&&(a.threadId=e);const o=await Pt("app/list",a);for(const s of o.data??[]){const l=v_(s,r);l&&t.push(l),r+=1}n=de(o.nextCursor??o.next_cursor)}while(n);return t}async function JM(e,t){await Pt("config/batchWrite",{edits:[{keyPath:`apps.${e}.enabled`,value:t,mergeStrategy:"upsert"}],filePath:null,expectedVersion:null,reloadUserConfig:!0})}async function XM(){const e=[];let t=null;do{const n={};t&&(n.cursor=t);const r=await Pt("mcpServerStatus/list",n);for(const a of r.data??[]){const o=g_(a);o&&e.push(o)}t=de(r.nextCursor??r.next_cursor)}while(t);return e}async function ZM(){await Pt("config/mcpServer/reload",{})}async function e$(e){const t=await Pt("mcpServer/oauth/login",{name:e});return{authorizationUrl:de(t.authorizationUrl??t.authorization_url)??""}}async function t$(){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 n$(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 r$(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 o$(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 a$(){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 s$(){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 y_(e){const t=e.trim();return t?t.replace(/[_-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}async function w_(){try{const e=await Pt("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:y_(r.name||a)||(a==="plan"?"Plan":"Default")}))}if(n.length>0){for(const r of Uf)t.has(r.value)||n.push(r);return n.sort((r,a)=>r.value===a.value?0:r.value==="default"?-1:1)}}catch{}return Uf}function b_(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"?ot(o):"";l.length>0&&typeof s=="string"&&(a[l]=s)}return{order:n(t.order).map(o=>ot(o)),labels:a,active:n(t.active).map(o=>ot(o)),projectOrder:n(t.projectOrder).map(o=>ot(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"?ot(s.remotePath):"",label:typeof s.label=="string"?s.label.trim():""}]:[]}):[]}}function __(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 bm(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=__(s);return l?[l]:[]});o.length>0&&(t[a]=o)}return t}async function vs(){return yi?hc(yi):(nl||(nl=T_().then(e=>(yi=e,e)).finally(()=>{nl=null})),hc(await nl))}async function T_(){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 b_(n.data)}function hc(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 k_(){yi=null}async function Jf(){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 bm(n.data)}async function C_(e){if(!(await fetch("/codex-api/thread-queue-state",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(bm(e))})).ok)throw new Error("Failed to save thread queue state")}async function S_(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:ot(a.data.cwd),gitRoot:ot(a.data.gitRoot)}}async function x_(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:ot(r.data.cwd),gitRoot:ot(r.data.gitRoot)}}async function A_(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 E_(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 B of c){if(!B||typeof B!="object"||Array.isArray(B))continue;const te=B,j=typeof te.value=="string"?te.value.trim():"",D=typeof te.label=="string"?te.label.trim():"";!j||f.has(j)||(f.add(j),h.push({value:j,label:D||j,isCurrent:te.isCurrent===!0,isRemote:te.isRemote===!0}))}l&&!f.has(l)&&h.unshift({value:l,label:l,isCurrent:!0});const g=o.headSha,_=o.headSubject,R=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 R=="string"&&R.trim()?R.trim():null,detached:o.detached===!0,dirty:o.dirty===!0,gitRoot:typeof O=="string"?ot(O):"",options:h}}async function I_(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"?ot(o.gitRoot):""}}async function R_(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 P_(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():"",R=typeof h.date=="string"?h.date.trim():"";return!f||!g?[]:[{sha:f,shortSha:g,subject:_||g,date:R}]})}async function M_(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"?ot(o.gitRoot):"",options:[]}}async function i$(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(Pn(s,"Failed to load review snapshot"));return mm(s)}async function l$(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(Pn(n,"Failed to apply review action"));return mm(n)}async function u$(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(Pn(n,"Failed to initialize Git"))}async function c$(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 Pt("review/start",{threadId:e,target:a,delivery:"inline"})}async function Xf(){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 $_(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 Gc(r);if(!r.ok){const c=Pn(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"?ot(s.path):"",parentPath:typeof s.parentPath=="string"?ot(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"?ot(h.path):"";return f&&g?[{name:f,path:g}]:[]})}}async function Gc(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 Ou(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");yi=hc(e)}async function rl(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=Pn(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"?ot(o.path):"";return k_(),s}async function N_(e){const t=await fetch("/codex-api/local-directory",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),n=await Gc(t);if(!t.ok){const o=Pn(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"?ot(a.path):""}async function L_(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 Gc(t);if(!t.ok){const s=Pn(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"?ot(a.cwd):"";if(!o)throw new Error("Failed to create new chat folder");return{cwd:o,outputDirectory:typeof a.outputDirectory=="string"?ot(a.outputDirectory):o,workspaceRoot:typeof a.workspaceRoot=="string"?ot(a.workspaceRoot):""}}async function O_(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=Pn(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"?ot(o.path):""}}async function j_(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=Pn(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 D_(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 F_(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=Pn(r,"Failed to connect Telegram bot");throw new Error(a)}}async function U_(){const e=await fetch("/codex-api/telegram/config"),t=await e.json();if(!e.ok){const s=Pn(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 B_(){const e=await fetch("/codex-api/telegram/status"),t=await e.json();if(!e.ok){const a=Pn(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 Pn(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 q_(){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 ju(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 H_(){try{const e=await fetch("/codex-api/thread-pins");return e.ok?(await e.json()).data??{threadIds:[]}:{threadIds:[]}}catch{return{threadIds:[]}}}async function W_(e){try{await fetch("/codex-api/thread-pins",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadIds:e})})}catch{}}async function z_(){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 V_(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 G_(e,t){var n;try{return((n=(await Pt("generate-thread-title",{prompt:e,cwd:t})).title)==null?void 0:n.trim())??""}catch{return""}}function pc(e){return e?e.endsWith("/SKILL.md")?e:`${e}/SKILL.md`:""}function K_(e,t){const n=pc(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 Y_(e){try{const t={};e&&e.length>0&&(t.cwds=e);const n=await Pt("skills/list",t),r=n.data.flatMap(s=>s.skills),a=new Set(r.map(s=>pc(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=K_(l.path,a),h=pc(l.path),g=!!(c!=null&&c.isNested&&a.has(c.rootPath))?c.rootPath:h,_=h===g,R=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(!R){o.set(g,O);continue}if(R.enabled=R.enabled||l.enabled,!R.__hasRoot&&_){o.set(g,O);continue}!R.displayName&&O.displayName&&(R.displayName=O.displayName),!R.description&&O.description&&(R.description=O.description)}return Array.from(o.values()).map(({__hasRoot:s,...l})=>l)}catch{return[]}}async function Q_(){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 J_(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 X_(e){try{const t=new URLSearchParams({path:e});return(await fetch(`/codex-api/prompts?${t.toString()}`,{method:"DELETE"})).ok}catch{return!1}}const Z_=6e4;async function Du(e){const t=new AbortController,n=setTimeout(()=>t.abort(),Z_);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 eT={},tT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function nT(e,t){return k(),I("svg",tT,[...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=Ct(eT,[["render",nT]]),rT={},oT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function aT(e,t){return k(),I("svg",oT,[...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 li=Ct(rT,[["render",aT]]),sT={},iT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function lT(e,t){return k(),I("svg",iT,[...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 ds=Ct(sT,[["render",lT]]),uT={},cT={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function dT(e,t){return k(),I("svg",cT,[...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 Ns=Ct(uT,[["render",dT]]),fT={},hT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function pT(e,t){return k(),I("svg",hT,[...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 Kc=Ct(fT,[["render",pT]]),mT={},vT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function gT(e,t){return k(),I("svg",vT,[...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 yT=Ct(mT,[["render",gT]]),wT={},bT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function _T(e,t){return k(),I("svg",bT,[...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 ws=Ct(wT,[["render",_T]]),TT={},kT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function CT(e,t){return k(),I("svg",kT,[...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 ol=Ct(TT,[["render",CT]]),_m="codex-web-local.ui-language.v1",ST={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":"超宽"},Zf={en:"English","zh-CN":"简体中文"};function xT(){var t;return typeof window>"u"?"en":((t=window.localStorage.getItem(_m))==null?void 0:t.trim())==="zh-CN"?"zh-CN":"en"}const Wl=x(xT());function Tm(e){typeof document>"u"||(document.documentElement.lang=e==="zh-CN"?"zh-CN":"en",document.documentElement.dataset.uiLanguage=e)}Tm(Wl.value);function AT(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>String(t[r]??"")):e}function ET(e){Wl.value=e,Tm(e),typeof window<"u"&&window.localStorage.setItem(_m,e)}function km(e,t){const n=Wl.value==="zh-CN"?ST[e]??e:e;return AT(n,t)}function Ra(){return{uiLanguage:Wl,uiLanguageOptions:[{value:"en",label:Zf.en},{value:"zh-CN",label:Zf["zh-CN"]}],t:km,setUiLanguage:ET}}const IT={key:0,class:"sidebar-menu-row-left"},RT={class:"sidebar-menu-row-main"},PT={key:1,class:"sidebar-menu-row-right"},MT={key:0,class:"sidebar-menu-row-right-default"},$T={key:1,class:"sidebar-menu-row-right-hover"},NT=Vn({inheritAttrs:!1,__name:"SidebarMenuRow",props:{as:{default:"div"},forceRightHover:{type:Boolean,default:!1}},setup(e){const t=e,n=py(),r=ne(()=>!!n.left),a=ne(()=>!!n.right),o=ne(()=>!!n["right-hover"]),s=ne(()=>a.value||o.value);return(l,c)=>(k(),Ze(Oc(t.as),Up({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(),I("span",IT,[Lo(l.$slots,"left",{},void 0,!0)])):X("",!0),m("span",RT,[Lo(l.$slots,"default",{},void 0,!0)]),s.value?(k(),I("span",PT,[a.value?(k(),I("span",MT,[Lo(l.$slots,"right",{},void 0,!0)])):X("",!0),o.value?(k(),I("span",$T,[Lo(l.$slots,"right-hover",{},void 0,!0)])):X("",!0)])):X("",!0)]),_:3},16,["data-has-left","data-has-right","data-has-right-hover","data-force-right-hover"]))}}),so=Ct(NT,[["__scopeId","data-v-36239f39"]]),LT={key:0,class:"pinned-section"},OT={class:"thread-tree-header"},jT={key:0,class:"thread-list"},DT=["data-menu-open"],FT={class:"thread-left-stack"},UT=["data-state"],BT=["data-confirming","title","onClick"],qT={key:0,class:"thread-delete-confirm-label"},HT=["onClick"],WT={class:"thread-row-title-wrap"},zT={class:"thread-row-title-line"},VT={class:"thread-row-title"},GT=["title"],KT=["data-state"],YT={class:"thread-row-time"},QT=["onClick"],JT={class:"projects-section"},XT={class:"thread-tree-header"},ZT=["aria-expanded","aria-label","title"],ek={class:"organize-menu-title"},tk=["data-active"],nk={key:0},rk=["data-active"],ok={key:0},ak=["data-active"],sk={key:0},ik={class:"organize-menu-title"},lk=["data-active"],uk={key:0},ck=["data-active"],dk={key:0},fk={key:0,class:"thread-tree-no-results"},hk={key:1,class:"thread-tree-loading"},pk={key:2,class:"thread-list thread-list-global"},mk=["data-menu-open"],vk={class:"thread-left-stack"},gk=["data-state"],yk=["data-confirming","title","onClick"],wk={key:0,class:"thread-delete-confirm-label"},bk=["onClick"],_k={class:"thread-row-title-wrap"},Tk={class:"thread-row-title-line"},kk={class:"thread-row-title"},Ck=["title"],Sk=["data-state"],xk={class:"thread-row-time"},Ak=["onClick"],Ek=["data-project-name","data-expanded","data-dragging"],Ik={class:"project-icon-stack"},Rk={class:"project-icon-folder"},Pk={class:"project-icon-chevron"},Mk=["data-dragging-handle","onMousedown"],$k=["title"],Nk={class:"project-hover-controls"},Lk=["onClick"],Ok=["data-open-direction"],jk=["onClick"],Dk=["onClick"],Fk=["onClick"],Uk=["onClick"],Bk={class:"project-menu-label"},qk=["onInput"],Hk=["aria-label","title","onClick"],Wk={key:0,class:"thread-list"},zk=["data-menu-open"],Vk={class:"thread-left-stack"},Gk=["data-state"],Kk=["data-confirming","title","onClick"],Yk={key:0,class:"thread-delete-confirm-label"},Qk=["onClick"],Jk={class:"thread-row-title-wrap"},Xk={class:"thread-row-title-line"},Zk={class:"thread-row-title"},e1=["title"],t1=["data-state"],n1={class:"thread-row-time"},r1=["onClick"],o1={class:"project-empty"},a1=["onClick"],s1={class:"chats-section"},i1={class:"thread-tree-header"},l1={class:"chats-section-actions"},u1=["aria-label","title"],c1={key:0,class:"thread-tree-no-results"},d1={key:1,class:"thread-list thread-list-global"},f1=["data-menu-open"],h1={class:"thread-left-stack"},p1=["data-state"],m1=["data-confirming","title","onClick"],v1={key:0,class:"thread-delete-confirm-label"},g1=["onClick"],y1={class:"thread-row-title-wrap"},w1={class:"thread-row-title-line"},b1={class:"thread-row-title"},_1=["title"],T1=["data-state"],k1={class:"thread-row-time"},C1=["onClick"],S1=["data-open-direction"],x1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread title"},A1={class:"rename-thread-title"},E1=["onKeydown"],I1={class:"rename-thread-actions"},R1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Delete thread"},P1={class:"rename-thread-title"},M1={class:"rename-thread-subtitle"},$1={class:"rename-thread-actions"},N1={class:"rename-thread-panel automation-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread automation"},L1={class:"rename-thread-title"},O1={key:0,class:"automation-thread-list","aria-label":"Thread automations"},j1=["onClick"],D1={class:"automation-thread-field"},F1={class:"automation-thread-field"},U1={class:"automation-thread-field"},B1={class:"automation-schedule-mode-group",role:"radiogroup","aria-label":"Automation schedule type"},q1={key:0,class:"automation-schedule-row"},H1={key:1,class:"automation-schedule-row"},W1={class:"automation-schedule-preview"},z1={class:"automation-thread-field"},V1={value:"ACTIVE"},G1={value:"PAUSED"},K1={key:1,class:"rename-thread-subtitle automation-thread-error"},Y1={key:2,class:"rename-thread-subtitle automation-thread-notice"},Q1={class:"rename-thread-actions"},J1=["disabled"],X1=["disabled"],Z1=["disabled"],eC=["disabled"],tC=4,eh=6,th="codex-web-local.sidebar-section-expansion.v1",nh="codex-web-local.sidebar-chats-first.v1",rh="codex-web-local.sidebar-chat-sort-mode.v1",oh="codex-web-local.thread-view-mode.v1",ah="codex-web-local.collapsed-projects.v1",nC=Vn({__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}=Ra(),a=t,o=x({}),s=x({}),l=x(!0),c=x(!0),h=x(!0),f=x(!1),g=x(at(nh,!1)),_=x(F());let R=!1;const O=x([]),B=x(""),te=x([]),j=x(""),D=x(""),K=x({}),Z=x({}),be=x({}),fe=x("actions"),_e=x(""),Ne=x(!1),G=x(""),ve=x(""),Se=x(null),se=x(!1),Ae=x(""),Fe=x(""),qe=x({}),Ke=x(!1),$e=x(""),xe=x(""),Qe=x("create"),Je=x(""),Be=x(""),ze=x(!1),ft=x(!1),rt=x({name:"",prompt:"",rrule:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",status:"ACTIVE"}),We=x({mode:"daily",dailyTime:"09:00",interval:1,intervalUnit:"hours"}),bt=ne(()=>{const y=$e.value;return y?qe.value[y]??[]:[]}),J=ne(()=>Zr(rt.value.rrule)),Ee=x(null),ke=x(null),Pe=x(null);let Ye=null,A=null;const $=x(""),z=x({}),ae=new Map,Q=new Map,le=new Map,pe=new WeakMap,Te=x(null),ye=x(null),ce=x(!1),Le=x(Oe()),me=typeof window<"u"?new ResizeObserver(y=>{for(const b of y){const w=b.target,L=pe.get(w);L&&Ho(L,w)}}):null;function je(){if(typeof window>"u")return{};try{const y=window.localStorage.getItem(ah);if(!y)return{};const b=JSON.parse(y);return!b||typeof b!="object"||Array.isArray(b)?{}:b}catch{return{}}}function Oe(){return typeof window>"u"?"project":window.localStorage.getItem(oh)==="chronological"?"chronological":"project"}function at(y,b){if(typeof window>"u")return b;const w=window.localStorage.getItem(y);return w==="true"?!0:w==="false"?!1:b}function F(){return typeof window>"u"?"updated":window.localStorage.getItem(rh)==="created"?"created":"updated"}s.value=je();function q(){if(!(typeof window>"u"))try{const y=JSON.parse(window.localStorage.getItem(th)||"{}");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 W(){typeof window>"u"||window.localStorage.setItem(th,JSON.stringify({pinned:l.value,projects:c.value,chats:h.value}))}q(),pt(s,y=>{typeof window>"u"||window.localStorage.setItem(ah,JSON.stringify(y))},{deep:!0}),pt(Le,y=>{typeof window>"u"||window.localStorage.setItem(oh,y)}),pt(g,y=>{typeof window>"u"||window.localStorage.setItem(nh,String(y))}),pt(_,y=>{typeof window>"u"||window.localStorage.setItem(rh,y)}),pt([l,c,h],W);const re=ne(()=>n.searchQuery.trim().toLowerCase()),he=ne(()=>re.value.length>0),we=ne(()=>n.searchMatchedThreadIds?new Set(n.searchMatchedThreadIds):null),Ie=ne(()=>new Set(O.value)),st=ne(()=>new Set(te.value));function dt(y){if(st.value.has(y.id))return!1;if(!he.value)return!0;if(we.value)return we.value.has(y.id);const b=re.value;return y.title.toLowerCase().includes(b)||y.preview.toLowerCase().includes(b)}const Lt=ne(()=>n.groups.flatMap(y=>{const b=y.threads.filter(w=>!Cl(w.cwd)&&dt(w));return b.length>0?[{...y,threads:b}]:!he.value&&y.threads.length===0?[{...y,threads:b}]:[]})),Sn=ne(()=>Le.value==="chronological"),Mn=ne(()=>{const y=[];for(const b of n.groups)for(const w of b.threads)Ie.value.has(w.id)||dt(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})}),kr=ne(()=>{const y=Mn.value.filter(w=>Cl(w.cwd)),b=_.value==="created"?"createdAtIso":"updatedAtIso";return y.sort((w,L)=>{const Re=new Date(w[b]||w.updatedAtIso||w.createdAtIso).getTime();return new Date(L[b]||L.updatedAtIso||L.createdAtIso).getTime()-Re})}),Gt=ne(()=>he.value||f.value?kr.value:kr.value.slice(0,10)),Nr=ne(()=>he.value?!1:kr.value.length>10),$n=ne(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads)st.value.has(w.id)||y.set(w.id,w);return y});pt(O,y=>{R&&W_(y)}),pt($n,y=>{const b=O.value.filter(w=>y.has(w));b.length!==O.value.length&&(O.value=b)}),la(async()=>{const{threadIds:y}=await H_(),b=Array.isArray(y)?y.filter(w=>typeof w=="string").map(w=>w.trim()).filter((w,L,Re)=>w.length>0&&Re.indexOf(w)===L):[];b.length>0&&(O.value=b);try{qe.value=await H0()}catch{qe.value={}}R=!0});const Cr=ne(()=>Ht(Ae.value)),hr=ne(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads)y.set(w.id,b.projectName);return y}),Qr=ne(()=>{const y=new Map;for(const b of n.groups){const w=b.threads.filter(L=>!Ie.value.has(L.id)&&!st.value.has(L.id));y.set(b.projectName,w)}return y}),ca=ne(()=>{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}),en=ne(()=>{const y=D.value;return y?$n.value.get(y)??null:null}),sn=ne(()=>O.value.map(y=>$n.value.get(y)??null).filter(y=>y!==null).filter(dt));function go(){l.value=!l.value}function Do(){c.value=!c.value}function Fo(){h.value=!h.value}const nt=ne(()=>{const y=Pe.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}),tn=ne(()=>{const b=(he.value?Lt.value:n.groups).map(xt=>xt.projectName),w=Pe.value,L=nt.value;if(!w||L===null)return b;const Re=[...b],[ut]=Re.splice(w.fromIndex,1);return ut?(Re.splice(L,0,ut),Re):b}),Qt=ne(()=>{const y={};let b=0;for(const w of tn.value)y[w]=b,b+=eo(w);return y}),Jr=ne(()=>{let y=0;for(const b of tn.value)y+=eo(b);return{height:`${Math.max(0,y)}px`}});function Jt(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 yn(y){const b=ca.value.get(y.id);return Jt(typeof b=="number"?b:new Date(y.updatedAtIso||y.createdAtIso).getTime())}function nr(y){return Ie.value.has(y)}function xn(y){if(nr(y)){O.value=O.value.filter(b=>b!==y);return}O.value=[y,...O.value]}function nn(y){xn(y),St()}function Mt(y){B.value="",a("select",y)}function Ht(y){var b;return(((b=qe.value[y])==null?void 0:b.length)??0)>0}function An(y){const b=qe.value[y]??[];if(b.length===0)return"";if(b.length>1){const Re=b.filter(ut=>ut.status==="ACTIVE").length;return`${b.length} automations • ${Re} active`}const[w]=b,L=w.status==="PAUSED"?"-":w.nextRunAtMs?new Date(w.nextRunAtMs).toLocaleString():"Not scheduled";return`${w.name} • Next run: ${L}`}function rr(y){return String(Math.max(0,y)).padStart(2,"0")}function yo(y,b){const w=typeof y=="number"?y:Number(y);return Number.isFinite(w)?Math.max(1,Math.floor(w)):b}function pr(y){const[b,w]=y.split(":"),L=Math.min(23,Math.max(0,Number(b)||0)),Re=Math.min(59,Math.max(0,Number(w)||0));return`FREQ=DAILY;BYHOUR=${L};BYMINUTE=${Re}`}function Uo(y,b){const w=yo(y,1);return b==="minutes"?`FREQ=MINUTELY;INTERVAL=${w}`:b==="hours"?`FREQ=HOURLY;INTERVAL=${w}`:`FREQ=DAILY;INTERVAL=${w}`}function Xr(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 Nn(y){var Re;const b=Xr(y),w=(Re=b.FREQ)==null?void 0:Re.toUpperCase(),L=yo(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)),xt=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return{mode:"daily",dailyTime:`${rr(ut)}:${rr(xt)}`,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 Zr(y){var Re;const b=Xr(y),w=(Re=b.FREQ)==null?void 0:Re.toUpperCase(),L=yo(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)),xt=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return`RRULE: ${y} · runs daily at ${rr(ut)}:${rr(xt)}`}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 Ln(){const y=We.value;y.mode==="daily"?rt.value.rrule=pr(y.dailyTime):y.mode==="interval"&&(rt.value.rrule=Uo(y.interval,y.intervalUnit))}function Sr(){We.value=Nn(rt.value.rrule)}function On(y){We.value={...We.value,mode:y},Ln()}function Lr(y){a("export-thread",y),St()}function jn(y){a("fork-thread",y),St()}function mr(y){return`start new thread ${$t(y)}`}function Gn(y){a("start-new-thread",y)}function wo(y){a("browse-thread-files",y),St()}async function Ft(y){var w,L;const b=((L=(w=$n.value.get(y))==null?void 0:w.cwd)==null?void 0:L.trim())??"";if(St(),!(!b||typeof navigator>"u"||!navigator.clipboard))try{await navigator.clipboard.writeText(b)}catch{}}function Dn(y,b){if(D.value===y){if(b){const w=b.relatedTarget,L=ye.value;if(w instanceof Node&&L&&L.contains(w))return}St()}}function Kt(y){return D.value===y}function St(){D.value="",be.value={}}function ln(y){if(B.value="",D.value===y){St();return}E(),ce.value=!1,D.value=y,Vt(()=>{fa(y)})}function Ut(y,b){y.preventDefault(),B.value="",D.value=b}function hn(y,b){G.value=y,ve.value=b,Ne.value=!0,St(),Vt(()=>{var w,L;(w=Se.value)==null||w.focus(),(L=Se.value)==null||L.select()})}function or(){Ne.value=!1,G.value="",ve.value=""}function Kn(){const y=G.value,b=ve.value.trim();!y||!b||(a("rename-thread",{threadId:y,title:b}),or())}function Or(y,b){B.value="",Ae.value=y,Fe.value=b,se.value=!0,St()}function wn(){se.value=!1,Ae.value="",Fe.value=""}async function xr(){const y=Ae.value;y&&(Tt(y),wn())}function un(y){return B.value===y}function gt(y){if(B.value!==y){B.value=y,St();return}Tt(y),B.value=""}function Tt(y){st.value.has(y)||(te.value=[y,...te.value]),B.value="",St(),O.value=O.value.filter(b=>b!==y),a("archive",y),Ht(y)&&(zf(y).catch(()=>{}),qe.value=Er(qe.value,y))}function En(y){var w;$e.value=y,Je.value="",Be.value="";const b=(w=qe.value[y])==null?void 0:w[0];b?Bt(b.id):pn(),Ke.value=!0,St()}function pn(){xe.value="",Qe.value="create",Je.value="",Be.value="",rt.value={name:"Thread automation",prompt:"",rrule:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",status:"ACTIVE"},We.value=Nn(rt.value.rrule)}function Bt(y){const b=bt.value.find(w=>w.id===y);b&&(xe.value=b.id,Qe.value="edit",Je.value="",Be.value="",rt.value={name:b.name,prompt:b.prompt,rrule:b.rrule,status:b.status},We.value=Nn(b.rrule))}function Ar(){Ke.value=!1,$e.value="",xe.value="",Je.value="",Be.value="",ze.value=!1,ft.value=!1}function Er(y,b){return Object.fromEntries(Object.entries(y).filter(([w])=>w!==b))}function Fn(y,b,w){const L=y[b]??[],Re=L.findIndex(xt=>xt.id===w.id),ut=[...L];return Re>=0?ut.splice(Re,1,w):ut.push(w),{...y,[b]:ut}}function jr(y,b,w){const L=(y[b]??[]).filter(Re=>Re.id!==w);return L.length>0?{...y,[b]:L}:Er(y,b)}async function vr(){const y=$e.value;if(y){ze.value=!0,Je.value="",Be.value="";try{Ln();const b=await W0({threadId:y,id:xe.value||void 0,name:rt.value.name,prompt:rt.value.prompt,rrule:rt.value.rrule,status:rt.value.status});qe.value=Fn(qe.value,y,b),Bt(b.id),Be.value="Automation saved.",ze.value=!1}catch(b){Je.value=b instanceof Error?b.message:"Failed to save automation",ze.value=!1}}}async function Un(){var w;const y=$e.value,b=xe.value;if(!(!y||!b)){ze.value=!0,Je.value="",Be.value="";try{await zf(y,b),qe.value=jr(qe.value,y,b);const L=(w=qe.value[y])==null?void 0:w[0];L?Bt(L.id):pn(),ze.value=!1}catch(L){Je.value=L instanceof Error?L.message:"Failed to remove automation",ze.value=!1}}}async function Yn(){const y=$e.value,b=xe.value;if(!(!y||!b)){ft.value=!0,Je.value="",Be.value="";try{await z0(y,b),Be.value="Automation run queued."}catch(w){Je.value=w instanceof Error?w.message:"Failed to run automation"}finally{ft.value=!1}}}function $t(y){return n.projectDisplayNameById[y]??y}function Bn(y){return y.includes("/")||y.includes("\\")}function Dr(y){return Bn(y)?y:$t(y)}function ar(y){const b=$r(y);if(!b)return!1;let w=0;for(const L of n.groups)if(Bn(L.projectName)&&$r(L.projectName)===b&&(w+=1,w>1))return!0;return!1}function Fr(y){const b=n.projectDisplayNameById[y.projectName],w=$t(y.projectName),L=y.projectName;if(b&&!Bn(L)&&L!==w)return w.includes(L)||/^[0-9a-f]{8}-[0-9a-f-]{27,}$/iu.test(L)?w:`${w} ${L}`;if(b&&Bn(L)){const xt=$r(L),qn=$r(xs(L)),dn=ar(L)?qn:xt;return dn&&dn!==w?`${w} ${dn}`:w}if(!w.includes("/")&&!w.includes("\\"))return w;const Re=$r(w)||w,ut=$r(xs(w));return ut.startsWith(".")&&ut!==Re?`${Re} ${ut}`:y.threads.length>0||!ar(L)?Re:ut?`${Re} ${ut}`:Re}function In(y){return j.value===y}function E(){j.value="",fe.value="actions",_e.value=""}function U(){const y=!ce.value;y&&(E(),St()),ce.value=y}function oe(y){Le.value=y,ce.value=!1}function De(){g.value=!g.value}function mt(y){_.value=y}function Yt(y){a("request-project-git-status",y),Vt(()=>{gr(y)})}function cn(y){if(j.value===y){E();return}St(),ce.value=!1,j.value=y,fe.value="actions",_e.value=$t(y),Yt(y)}function Me(y){St(),ce.value=!1,j.value=y,fe.value="actions",_e.value=$t(y),Yt(y)}function Ce(y){return n.projectDisplayNameById[y.projectName]??Fr(y)}function vt(y){St();const b=y.projectName;j.value=b,fe.value="rename",_e.value=Ce(y),Vt(()=>{gr(b)})}function bn(y){a("browse-project-files",y),E()}function Qn(y){a("create-project-worktree",y),E()}function Fs(y){a("rename-project",{projectName:y,displayName:_e.value})}function Xt(y){a("remove-project",y),E()}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,Re=Math.max(0,Math.min(w+L,n.groups.length-1));Re!==w&&(y.preventDefault(),a("reorder-project",{projectName:b,toIndex:Re}))}function Ir(y){return o.value[y]===!0}function mn(y){return s.value[y]===!0}function qo(y){o.value={...o.value,[y]:!Ir(y)}}function Pa(){f.value=!f.value}function bo(y){if($.value===y){$.value="";return}s.value={...s.value,[y]:!mn(y)}}function eo(y){const b=z.value[y]??0,w=Pe.value,Re=((w==null?void 0:w.projectName)===y?w.groupHeight:null)??b,ut=mn(y)?0:eh;return Math.max(0,Re+ut)}function Ur(y,b){const w=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(w){Q.set(y,w);return}Q.delete(y)}function to(y,b){const w=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(w){le.set(y,w);return}le.delete(y)}function Br(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 no(y,b){const w=y.getBoundingClientRect(),L=Br(y),Re=6,ut=L.bottom-w.bottom,xt=w.top-L.top;return ut>=b+Re?"down":xt>ut?"up":"down"}function Jn(y,b){const w=le.get(y);if(!w)return"down";const L=no(w,b);return Z.value={...Z.value,[y]:L},L}function qr(y){return Z.value[y]??"down"}function gr(y){const b=Q.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]:no(b,L)}}function da(y,b,w){return Math.min(Math.max(y,b),w)}function fa(y){const b=le.get(y);if(!b)return;const w=ye.value,L=w==null?void 0:w.getBoundingClientRect(),Re=(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,xt=Jn(y,Re),qn=b.getBoundingClientRect(),dn=8,gn=4,Hn=Math.max(dn,window.innerWidth-ut-dn),xo=da(qn.right-ut,dn,Hn),zo=da(xt==="up"?qn.top-Re-gn:qn.bottom+gn,dn,Math.max(dn,window.innerHeight-Re-dn));be.value={left:`${Math.round(xo)}px`,top:`${Math.round(zo)}px`}}function yr(){const y=D.value;y&&fa(y)}function wr(){window.addEventListener("resize",yr),document.addEventListener("scroll",yr,!0)}function _o(){window.removeEventListener("resize",yr),document.removeEventListener("scroll",yr,!0)}function To(y){const b=j.value;if(!b)return!1;const w=Q.get(b);if(!w)return!1;if((typeof y.composedPath=="function"?y.composedPath():[]).includes(w))return!0;const Re=y.target;return Re instanceof Node?w.contains(Re):!1}function vn(y){const b=D.value;if(!b)return!1;const w=le.get(b);if(!w)return!1;const L=typeof y.composedPath=="function"?y.composedPath():[];if(L.includes(w))return!0;const Re=ye.value;if(Re&&L.includes(Re))return!0;const ut=y.target;return ut instanceof Node?!!(w.contains(ut)||Re&&Re.contains(ut)):!1}function Rn(y){if(ce.value){const b=Te.value,w=typeof y.composedPath=="function"?y.composedPath():[];!!b&&(w.includes(b)||y.target instanceof Node&&b.contains(y.target))||(ce.value=!1)}j.value&&(To(y)||E(),D.value&&(vn(y)||St()))}function sr(y){j.value&&!To(y)&&E(),D.value&&!vn(y)&&St()}function ha(){ce.value&&(ce.value=!1),j.value&&E(),D.value&&St()}function Rr(){window.addEventListener("pointerdown",Rn,{capture:!0}),window.addEventListener("focusin",sr,{capture:!0}),window.addEventListener("blur",ha)}function ir(){window.removeEventListener("pointerdown",Rn,{capture:!0}),window.removeEventListener("focusin",sr,{capture:!0}),window.removeEventListener("blur",ha)}function Ho(y,b){const w=b.getBoundingClientRect().height;if(!Number.isFinite(w)||w<=0)return;const L=z.value[y];L!==void 0&&Math.abs(L-w)<.5||(z.value={...z.value,[y]:w})}function Ma(y,b){const w=ae.get(y);w&&w!==b&&me&&me.unobserve(w);const L=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(L){ae.set(y,L),pe.set(L,y),Ho(y,L),me==null||me.observe(L);return}w&&(me==null||me.unobserve(w)),ae.delete(y)}function $a(y,b){if(y.button!==0||he.value||ke.value||Pe.value)return;const w=n.groups.findIndex(xt=>xt.projectName===b),L=ae.get(b);if(w<0||!L)return;const Re=L.getBoundingClientRect(),ut=mn(b)?0:eh;ke.value={projectName:b,fromIndex:w,startClientX:y.clientX,startClientY:y.clientY,pointerOffsetY:y.clientY-Re.top,groupLeft:Re.left,groupWidth:Re.width,groupHeight:Re.height,groupOuterHeight:Re.height+ut},y.preventDefault(),ko()}function ko(){window.addEventListener("mousemove",Co),window.addEventListener("mouseup",Pr),window.addEventListener("keydown",pa)}function Na(){window.removeEventListener("mousemove",Co),window.removeEventListener("mouseup",Pr),window.removeEventListener("keydown",pa)}function Co(y){Ye={clientX:y.clientX,clientY:y.clientY},ro()}function Pr(y){Ot({clientX:y.clientX,clientY:y.clientY});const b=Pe.value;if(b&&nt.value!==null){const w=n.groups.findIndex(L=>L.projectName===b.projectName);if(w>=0){const L=nt.value;L!==w&&a("reorder-project",{projectName:b.projectName,toIndex:L})}}Hr({preserveToggleSuppression:!!b})}function pa(y){y.key==="Escape"&&(!ke.value&&!Pe.value||(y.preventDefault(),Hr()))}function Hr(y={}){A!==null&&(window.cancelAnimationFrame(A),A=null),Ye=null,ke.value=null,Pe.value=null,y.preserveToggleSuppression||($.value=""),Na()}function ro(){A===null&&(A=window.requestAnimationFrame(()=>{if(A=null,!Ye)return;const y=Ye;Ye=null,Ot(y)}))}function Ot(y){const b=ke.value;if(!Pe.value&&b){const w=y.clientX-b.startClientX,L=y.clientY-b.startClientY;if(Math.hypot(w,L)<tC)return;E(),$.value=b.projectName,Pe.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}}Pe.value&&Wr(y)}function Wr(y){const b=Pe.value;if(!b)return;if(b.ghostTop=y.clientY-b.pointerOffsetY,!La(y)){b.dropTargetIndexFull=null;return}const w=y.clientY,L=Ee.value;if(!L){b.dropTargetIndexFull=null;return}const Re=L.getBoundingClientRect(),ut=new Map(n.groups.map((gn,Hn)=>[gn.projectName,Hn])),xt=n.groups.map(gn=>gn.projectName).filter(gn=>gn!==b.projectName);let qn=0,dn=n.groups.length;for(const gn of xt){const Hn=ut.get(gn);if(Hn===void 0)continue;const xo=eo(gn),zo=Re.top+qn+xo/2;if(w<zo){dn=Hn;break}qn+=xo}b.dropTargetIndexFull=dn}function La(y){const b=Ee.value;if(!b)return!1;const w=b.getBoundingClientRect(),L=y.clientX>=w.left&&y.clientX<=w.right,Re=y.clientY>=w.top-32&&y.clientY<=w.bottom+32;return L&&Re}function ts(y){var b;return((b=Pe.value)==null?void 0:b.projectName)===y}function Us(y){const b=Pe.value,w=Qt.value[y]??0,L=D.value?hr.value.get(D.value)??"":"",Re=j.value===y||L===y;return!b||b.projectName!==y?{position:"absolute",top:"0",left:"0",right:"0",zIndex:Re?"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 oo(y){return Qr.value.get(y.projectName)??[]}function Bs(y){if(he.value)return oo(y);if(mn(y.projectName))return[];const b=oo(y);return Ir(y.projectName)?b:b.slice(0,10)}function So(y){return he.value?!1:!mn(y.projectName)&&oo(y).length>10}function ns(y){return oo(y).length>0}function Wo(y){return!!y.pendingRequestState||y.inProgress||y.unread}function Nt(y){return y.pendingRequestState==="approval"?"Awaiting approval":"Awaiting response"}function ma(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 Re,ut;const b=((Re=Pe.value)==null?void 0:Re.projectName)??((ut=ke.value)==null?void 0:ut.projectName)??"";b&&!n.groups.some(xt=>xt.projectName===b)&&Hr();const w=new Set(y),L=Object.fromEntries(Object.entries(z.value).filter(([xt])=>w.has(xt)));Object.keys(L).length!==Object.keys(z.value).length&&(z.value=L)}),pt(()=>{const y=j.value;return y?n.projectGitRepoByName[y]:void 0},()=>{const y=j.value;y&&Vt(()=>{j.value===y&&gr(y)})});const qs=ne(()=>ce.value||j.value!==""||D.value!=="");return pt(qs,y=>{if(y){Rr();return}ir()}),pt(D,y=>{if(!y){_o();return}wr(),Vt(()=>{fa(y)})}),Ia(()=>{for(const y of ae.values())me==null||me.unobserve(y);ae.clear(),Q.clear(),_o(),ir(),Hr()}),(y,b)=>(k(),I("section",{class:et(["thread-tree-root",{"chats-first":g.value}])},[sn.value.length>0?(k(),I("section",LT,[Ue(so,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":l.value,onClick:go},{left:ht(()=>[l.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(li,{key:0,class:"thread-icon"}))]),default:ht(()=>[m("span",OT,P(S(r)("Pinned")),1)]),_:1},8,["aria-expanded"]),l.value?(k(),I("ul",jT,[(k(!0),I(Ge,null,jt(sn.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Ue(so,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":nr(w.id),"data-menu-open":Kt(w.id)?"true":"false","force-right-hover":Kt(w.id),onClick:L=>Mt(w.id),onMouseleave:L=>Dn(w.id,L),onContextmenu:L=>Ut(L,w.id)},{left:ht(()=>[m("span",FT,[Wo(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ma(w)},null,8,UT)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":un(w.id),title:un(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[un(w.id)?(k(),I("span",qT,"Confirm")):(k(),Ze(ol,{key:1,class:"thread-icon"}))],8,BT)])]),right:ht(()=>[m("span",YT,P(yn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>to(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>ln(w.id),["stop"])},[Ue(ds,{class:"thread-icon"})],8,QT)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",WT,[m("span",zT,[m("span",VT,P(w.title),1),w.hasWorktree?(k(),Ze(ws,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):X("",!0),Ht(w.id)?(k(),I("span",{key:1,class:"thread-row-automation-chip",title:An(w.id)}," Auto ",8,GT)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(Nt(w)),9,KT)):X("",!0)])])],8,HT)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,DT))),128))])):X("",!0)])):X("",!0),m("section",JT,[Ue(so,{as:"button",class:"thread-tree-header-row section-toggle-row",type:"button","aria-expanded":c.value,onClick:Do},{left:ht(()=>[c.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(li,{key:0,class:"thread-icon"}))]),right:ht(()=>[m("div",{ref_key:"organizeMenuWrapRef",ref:Te,class:"organize-menu-wrap"},[m("button",{class:"organize-menu-trigger",type:"button","aria-expanded":ce.value,"aria-label":S(r)("Organize threads"),title:S(r)("Organize threads"),onClick:Xe(U,["stop"])},[Ue(ds,{class:"thread-icon"})],8,ZT),ce.value?(k(),I("div",{key:0,class:"organize-menu-panel",onClick:b[4]||(b[4]=Xe(()=>{},["stop"]))},[m("p",ek,P(S(r)("Organize")),1),m("button",{class:"organize-menu-item","data-active":Le.value==="project",type:"button",onClick:b[0]||(b[0]=w=>oe("project"))},[m("span",null,P(S(r)("By project")),1),Le.value==="project"?(k(),I("span",nk,"✓")):X("",!0)],8,tk),m("button",{class:"organize-menu-item","data-active":Le.value==="chronological",type:"button",onClick:b[1]||(b[1]=w=>oe("chronological"))},[m("span",null,P(S(r)("Chronological list")),1),Le.value==="chronological"?(k(),I("span",ok,"✓")):X("",!0)],8,rk),m("button",{class:"organize-menu-item","data-active":g.value,type:"button",onClick:De},[m("span",null,P(S(r)("Chats first")),1),g.value?(k(),I("span",sk,"✓")):X("",!0)],8,ak),b[28]||(b[28]=m("div",{class:"organize-menu-separator"},null,-1)),m("p",ik,P(S(r)("Sort by")),1),m("button",{class:"organize-menu-item","data-active":_.value==="created",type:"button",onClick:b[2]||(b[2]=w=>mt("created"))},[m("span",null,P(S(r)("Created")),1),_.value==="created"?(k(),I("span",uk,"✓")):X("",!0)],8,lk),m("button",{class:"organize-menu-item","data-active":_.value==="updated",type:"button",onClick:b[3]||(b[3]=w=>mt("updated"))},[m("span",null,P(S(r)("Updated")),1),_.value==="updated"?(k(),I("span",dk,"✓")):X("",!0)],8,ck)])):X("",!0)],512)]),default:ht(()=>[m("span",XT,P(S(r)("Projects")),1)]),_:1},8,["aria-expanded"]),c.value?(k(),I(Ge,{key:0},[he.value&&Lt.value.length===0?(k(),I("p",fk,P(S(r)("No matching threads")),1)):e.isLoading&&e.groups.length===0?(k(),I("p",hk,P(S(r)("Loading threads...")),1)):Sn.value?(k(),I("ul",pk,[(k(!0),I(Ge,null,jt(Mn.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Ue(so,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":nr(w.id),"data-menu-open":Kt(w.id)?"true":"false","force-right-hover":Kt(w.id),onClick:L=>Mt(w.id),onMouseleave:L=>Dn(w.id,L),onContextmenu:L=>Ut(L,w.id)},{left:ht(()=>[m("span",vk,[Wo(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ma(w)},null,8,gk)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":un(w.id),title:un(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[un(w.id)?(k(),I("span",wk,"Confirm")):(k(),Ze(ol,{key:1,class:"thread-icon"}))],8,yk)])]),right:ht(()=>[m("span",xk,P(yn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>to(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>ln(w.id),["stop"])},[Ue(ds,{class:"thread-icon"})],8,Ak)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",_k,[m("span",Tk,[m("span",kk,P(w.title),1),w.hasWorktree?(k(),Ze(ws,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):X("",!0),Ht(w.id)?(k(),I("span",{key:1,class:"thread-row-automation-chip",title:An(w.id)}," Auto ",8,Ck)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(Nt(w)),9,Sk)):X("",!0)])])],8,bk)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,mk))),128))])):(k(),I("div",{key:3,ref_key:"groupsContainerRef",ref:Ee,class:"thread-tree-groups",style:ta(Jr.value)},[(k(!0),I(Ge,null,jt(Lt.value,w=>(k(),I("article",{key:w.projectName,ref_for:!0,ref:L=>Ma(w.projectName,L),class:"project-group","data-project-name":w.projectName,"data-expanded":!mn(w.projectName),"data-dragging":ts(w.projectName),style:ta(Us(w.projectName))},[Ue(so,{as:"div",class:"project-header-row",role:"button",tabindex:"0",onClick:L=>bo(w.projectName),onContextmenu:Xe(L=>Me(w.projectName),["prevent"]),onKeydown:[L=>Bo(L,w.projectName),fn(Xe(L=>bo(w.projectName),["prevent"]),["enter"]),fn(Xe(L=>bo(w.projectName),["prevent"]),["space"])]},{left:ht(()=>[m("span",Ik,[m("span",Rk,[mn(w.projectName)?(k(),Ze(Kc,{key:0,class:"thread-icon"})):(k(),Ze(yT,{key:1,class:"thread-icon"}))]),m("span",Pk,[mn(w.projectName)?(k(),Ze(li,{key:0,class:"thread-icon"})):(k(),Ze(Qa,{key:1,class:"thread-icon"}))])])]),right:ht(()=>[m("div",Nk,[m("div",{ref_for:!0,ref:L=>Ur(w.projectName,L),class:"project-menu-wrap"},[m("button",{class:"project-menu-trigger",type:"button",title:"project_menu",onClick:Xe(L=>cn(w.projectName),["stop"])},[Ue(ds,{class:"thread-icon"})],8,Lk),In(w.projectName)?(k(),I("div",{key:0,class:"project-menu-panel","data-open-direction":K.value[w.projectName]??"down",onClick:b[6]||(b[6]=Xe(()=>{},["stop"]))},[fe.value==="actions"?(k(),I(Ge,{key:0},[m("button",{class:"project-menu-item",type:"button",onClick:L=>bn(w.projectName)}," Browse files ",8,jk),e.projectGitRepoByName[w.projectName]?(k(),I("button",{key:0,class:"project-menu-item",type:"button",onClick:L=>Qn(w.projectName)}," New worktree ",8,Dk)):X("",!0),m("button",{class:"project-menu-item",type:"button",onClick:L=>vt(w)}," Rename project ",8,Fk),m("button",{class:"project-menu-item project-menu-item-danger",type:"button",onClick:L=>Xt(w.projectName)}," Remove ",8,Uk)],64)):(k(),I(Ge,{key:1},[m("label",Bk,P(S(r)("Project name")),1),zt(m("input",{"onUpdate:modelValue":b[5]||(b[5]=L=>_e.value=L),class:"project-menu-input",type:"text",onInput:L=>Fs(w.projectName)},null,40,qk),[[an,_e.value]])],64))],8,Ok)):X("",!0)],512),m("button",{class:"thread-start-button",type:"button","aria-label":mr(w.projectName),title:mr(w.projectName),onClick:Xe(L=>Gn(w.projectName),["stop"])},[Ue(Ns,{class:"thread-icon"})],8,Hk)])]),default:ht(()=>[m("span",{class:"project-main-button","data-dragging-handle":ts(w.projectName),onMousedown:Xe(L=>$a(L,w.projectName),["left"])},[m("span",{class:"project-title",title:Dr(w.projectName)},P(Fr(w)),9,$k)],40,Mk)]),_:2},1032,["onClick","onContextmenu","onKeydown"]),ns(w)?(k(),I("ul",Wk,[(k(!0),I(Ge,null,jt(Bs(w),L=>(k(),I("li",{key:L.id,class:"thread-row-item","data-menu-open":Kt(L.id)?"true":"false"},[Ue(so,{class:"thread-row","data-active":L.id===e.selectedThreadId,"data-pinned":nr(L.id),"data-menu-open":Kt(L.id)?"true":"false","force-right-hover":Kt(L.id),onClick:Re=>Mt(L.id),onMouseleave:Re=>Dn(L.id,Re),onContextmenu:Re=>Ut(Re,L.id)},{left:ht(()=>[m("span",Vk,[Wo(L)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ma(L)},null,8,Gk)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":un(L.id),title:un(L.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(Re=>gt(L.id),["stop"])},[un(L.id)?(k(),I("span",Yk,"Confirm")):(k(),Ze(ol,{key:1,class:"thread-icon"}))],8,Kk)])]),right:ht(()=>[m("span",n1,P(yn(L)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:Re=>to(L.id,Re),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(Re=>ln(L.id),["stop"])},[Ue(ds,{class:"thread-icon"})],8,r1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(Re=>Mt(L.id),["stop"])},[m("span",Jk,[m("span",Xk,[m("span",Zk,P(L.title),1),L.hasWorktree?(k(),Ze(ws,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):X("",!0),Ht(L.id)?(k(),I("span",{key:1,class:"thread-row-automation-chip",title:An(L.id)}," Auto ",8,e1)):X("",!0),L.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":L.pendingRequestState},P(Nt(L)),9,t1)):X("",!0)])])],8,Qk)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,zk))),128))])):(k(),Ze(so,{key:1,as:"p",class:"project-empty-row"},{left:ht(()=>[...b[29]||(b[29]=[m("span",{class:"project-empty-spacer"},null,-1)])]),default:ht(()=>[m("span",o1,P(S(r)("No threads")),1)]),_:1})),So(w)?(k(),Ze(so,{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:L=>qo(w.projectName)},P(Ir(w.projectName)?"Show less":"Show more"),9,a1)]),_:2},1024)):X("",!0)],12,Ek))),128))],4))],64)):X("",!0)]),m("section",s1,[Ue(so,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":h.value,onClick:Fo},{left:ht(()=>[h.value?(k(),Ze(Qa,{key:1,class:"thread-icon"})):(k(),Ze(li,{key:0,class:"thread-icon"}))]),right:ht(()=>[m("div",l1,[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"]))},[Ue(Ns,{class:"thread-icon"})],8,u1)])]),default:ht(()=>[m("span",i1,P(S(r)("Chats")),1)]),_:1},8,["aria-expanded"]),h.value&&kr.value.length===0?(k(),I("p",c1,P(S(r)("No chats")),1)):h.value?(k(),I("ul",d1,[(k(!0),I(Ge,null,jt(Gt.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Ue(so,{class:"thread-row","data-active":w.id===e.selectedThreadId,"data-pinned":nr(w.id),"data-menu-open":Kt(w.id)?"true":"false","force-right-hover":Kt(w.id),onClick:L=>Mt(w.id),onMouseleave:L=>Dn(w.id,L),onContextmenu:L=>Ut(L,w.id)},{left:ht(()=>[m("span",h1,[Wo(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ma(w)},null,8,p1)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":un(w.id),title:un(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[un(w.id)?(k(),I("span",v1,"Confirm")):(k(),Ze(ol,{key:1,class:"thread-icon"}))],8,m1)])]),right:ht(()=>[m("span",k1,P(yn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>to(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>ln(w.id),["stop"])},[Ue(ds,{class:"thread-icon"})],8,C1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",y1,[m("span",w1,[m("span",b1,P(w.title),1),w.hasWorktree?(k(),Ze(ws,{key:0,class:"thread-row-worktree-icon",title:S(r)("Worktree thread")},null,8,["title"])):X("",!0),Ht(w.id)?(k(),I("span",{key:1,class:"thread-row-automation-chip",title:An(w.id)}," Auto ",8,_1)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(Nt(w)),9,T1)):X("",!0)])])],8,g1)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,f1))),128))])):X("",!0),h.value&&Nr.value?(k(),Ze(so,{key:2,class:"thread-show-more-row"},{left:ht(()=>[...b[31]||(b[31]=[m("span",{class:"thread-show-more-spacer"},null,-1)])]),default:ht(()=>[m("button",{class:"thread-show-more-button",type:"button",onClick:Pa},P(f.value?"Show less":"Show more"),1)]),_:1})):X("",!0)]),(k(),Ze(Ka,{to:"body"},[en.value?(k(),I("div",{key:0,ref_key:"openThreadMenuPanelRef",ref:ye,class:"thread-menu-panel thread-menu-panel-fixed",style:ta(be.value),"data-open-direction":qr(en.value.id),onClick:b[16]||(b[16]=Xe(()=>{},["stop"]))},[m("button",{class:"thread-menu-item",type:"button",onClick:b[8]||(b[8]=w=>En(en.value.id))},P(Ht(en.value.id)?"Manage automations…":"Add automation…"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[9]||(b[9]=w=>wo(en.value.id))}," Browse files "),m("button",{class:"thread-menu-item",type:"button",onClick:b[10]||(b[10]=w=>Ft(en.value.id))}," Copy path "),m("button",{class:"thread-menu-item",type:"button",onClick:b[11]||(b[11]=w=>Lr(en.value.id))}," Export chat "),m("button",{class:"thread-menu-item",type:"button",onClick:b[12]||(b[12]=w=>jn(en.value.id))}," Create chat fork "),m("button",{class:"thread-menu-item",type:"button",onClick:b[13]||(b[13]=w=>nn(en.value.id))},P(nr(en.value.id)?"Unpin thread":"Pin thread"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[14]||(b[14]=w=>hn(en.value.id,en.value.title))},P(S(r)("Rename thread")),1),m("button",{class:"thread-menu-item thread-menu-item-danger",type:"button",onClick:b[15]||(b[15]=w=>Or(en.value.id,en.value.title))},P(S(r)("Delete thread")),1)],12,S1)):X("",!0)])),(k(),Ze(Ka,{to:"body"},[Ne.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(or,["self"])},[m("div",x1,[m("h3",A1,P(S(r)("Rename thread")),1),b[32]||(b[32]=m("p",{class:"rename-thread-subtitle"},"Make it short and recognizable.",-1)),zt(m("input",{ref_key:"renameThreadInputRef",ref:Se,"onUpdate:modelValue":b[17]||(b[17]=w=>ve.value=w),class:"rename-thread-input",type:"text",placeholder:"Add title...",onKeydown:[fn(Xe(Kn,["prevent"]),["enter"]),fn(Xe(or,["prevent"]),["esc"])]},null,40,E1),[[an,ve.value]]),m("div",I1,[m("button",{class:"rename-thread-button",type:"button",onClick:or},P(S(r)("Cancel")),1),m("button",{class:"rename-thread-button rename-thread-button-primary",type:"button",onClick:Kn},P(S(r)("Save")),1)])])])):X("",!0)])),(k(),Ze(Ka,{to:"body"},[se.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(wn,["self"])},[m("div",R1,[m("h3",P1,P(Cr.value?"Archive chat and remove automations?":"Delete thread?"),1),m("p",M1,[Cr.value?(k(),I(Ge,{key:0},[es(' This will archive the thread "'+P(Fe.value)+'" and remove the attached heartbeat automations. ',1)],64)):(k(),I(Ge,{key:1},[es(' This will archive the thread "'+P(Fe.value)+'". You can find it later in archived threads. ',1)],64))]),m("div",$1,[m("button",{class:"rename-thread-button",type:"button",onClick:wn},"Cancel"),m("button",{class:"rename-thread-button rename-thread-button-danger",type:"button",onClick:xr},P(Cr.value?"Archive and remove":"Delete"),1)])])])):X("",!0)])),(k(),Ze(Ka,{to:"body"},[Ke.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(Ar,["self"])},[m("div",N1,[m("h3",L1,P(Qe.value==="edit"?"Edit automation":"Add automation"),1),b[40]||(b[40]=m("p",{class:"rename-thread-subtitle"},"This creates heartbeat automations attached to the selected thread.",-1)),bt.value.length>0?(k(),I("div",O1,[(k(!0),I(Ge,null,jt(bt.value,w=>(k(),I("button",{key:w.id,class:et(["automation-thread-list-item",{"is-active":w.id===xe.value}]),type:"button",onClick:L=>Bt(w.id)},[m("span",null,P(w.name),1),m("small",null,P(w.status==="PAUSED"?"Paused":"Active"),1)],10,j1))),128)),m("button",{class:"automation-thread-list-item automation-thread-list-add",type:"button",onClick:pn}," Add another automation ")])):X("",!0),m("label",D1,[b[33]||(b[33]=m("span",{class:"automation-thread-label"},"Name",-1)),zt(m("input",{"onUpdate:modelValue":b[18]||(b[18]=w=>rt.value.name=w),class:"rename-thread-input",type:"text",placeholder:"Automation name"},null,512),[[an,rt.value.name]])]),m("label",F1,[b[34]||(b[34]=m("span",{class:"automation-thread-label"},"Prompt",-1)),zt(m("textarea",{"onUpdate:modelValue":b[19]||(b[19]=w=>rt.value.prompt=w),class:"automation-thread-textarea",rows:"6",placeholder:"Describe what the automation should do"},null,512),[[an,rt.value.prompt]])]),m("div",U1,[b[38]||(b[38]=m("span",{class:"automation-thread-label"},"Schedule",-1)),m("div",B1,[m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="daily"}]),type:"button",onClick:b[20]||(b[20]=w=>On("daily"))}," Daily ",2),m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="interval"}]),type:"button",onClick:b[21]||(b[21]=w=>On("interval"))}," Interval ",2),m("button",{class:et(["automation-schedule-mode",{"is-active":We.value.mode==="advanced"}]),type:"button",onClick:b[22]||(b[22]=w=>On("advanced"))}," RRULE ",2)]),We.value.mode==="daily"?(k(),I("div",q1,[b[35]||(b[35]=m("span",{class:"automation-schedule-copy"},"Run every day at",-1)),zt(m("input",{"onUpdate:modelValue":b[23]||(b[23]=w=>We.value.dailyTime=w),class:"automation-schedule-time",type:"time",onInput:Ln},null,544),[[an,We.value.dailyTime]])])):We.value.mode==="interval"?(k(),I("div",H1,[b[37]||(b[37]=m("span",{class:"automation-schedule-copy"},"Run every",-1)),zt(m("input",{"onUpdate:modelValue":b[24]||(b[24]=w=>We.value.interval=w),class:"automation-schedule-number",type:"number",min:"1",step:"1",onInput:Ln},null,544),[[an,We.value.interval,void 0,{number:!0}]]),zt(m("select",{"onUpdate:modelValue":b[25]||(b[25]=w=>We.value.intervalUnit=w),class:"automation-schedule-unit",onChange:Ln},[...b[36]||(b[36]=[m("option",{value:"minutes"},"minutes",-1),m("option",{value:"hours"},"hours",-1),m("option",{value:"days"},"days",-1)])],544),[[hf,We.value.intervalUnit]])])):X("",!0),We.value.mode==="advanced"?zt((k(),I("input",{key:2,"onUpdate:modelValue":b[26]||(b[26]=w=>rt.value.rrule=w),class:"rename-thread-input",type:"text",placeholder:"FREQ=DAILY;BYHOUR=9;BYMINUTE=0",onInput:Sr},null,544)),[[an,rt.value.rrule]]):X("",!0),m("p",W1,P(J.value),1)]),m("label",z1,[b[39]||(b[39]=m("span",{class:"automation-thread-label"},"Status",-1)),zt(m("select",{"onUpdate:modelValue":b[27]||(b[27]=w=>rt.value.status=w),class:"automation-thread-select"},[m("option",V1,P(S(r)("Active")),1),m("option",G1,P(S(r)("Paused")),1)],512),[[hf,rt.value.status]])]),Je.value?(k(),I("p",K1,P(Je.value),1)):Be.value?(k(),I("p",Y1,P(Be.value),1)):X("",!0),m("div",Q1,[Qe.value==="edit"?(k(),I("button",{key:0,class:"rename-thread-button",type:"button",disabled:ze.value||ft.value,onClick:Yn},P(ft.value?"Running…":"Run now"),9,J1)):X("",!0),Qe.value==="edit"?(k(),I("button",{key:1,class:"rename-thread-button rename-thread-button-danger",type:"button",disabled:ze.value||ft.value,onClick:Un}," Remove ",8,X1)):X("",!0),m("button",{class:"rename-thread-button",type:"button",disabled:ze.value||ft.value,onClick:Ar},P(S(r)("Cancel")),9,Z1),m("button",{class:"rename-thread-button rename-thread-button-primary",type:"button",disabled:ze.value||ft.value,onClick:vr},P(ze.value?"Saving…":"Save"),9,eC)])])])):X("",!0)]))],2))}}),rC=Ct(nC,[["__scopeId","data-v-26b01493"]]),oC={class:"content-header"},aC=["title"],sC={class:"content-actions"},iC=Vn({__name:"ContentHeader",props:{title:{},accent:{type:Boolean}},setup(e){return(t,n)=>(k(),I("header",oC,[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},P(e.title),11,aC),m("div",sC,[Lo(t.$slots,"actions",{},void 0)])]))}}),lC=Ct(iC,[["__scopeId","data-v-f96f7210"]]),sh=.0025,Fu=3,ih=2,uC=256;function cC(e){var Se;const t=x("idle"),n=x(typeof navigator<"u"&&!!((Se=navigator.mediaDevices)!=null&&Se.getUserMedia)),r=x(0),a=x(null);let o=null,s=null,l=[],c=null,h=null,f=null,g=null,_=[],R=!1,O=!1,B=null;function te(){B&&(B.abort(),B=null),t.value==="transcribing"&&(t.value="idle")}function j(){const se=a.value;if(!se||typeof window>"u")return;const Ae=se.getContext("2d");if(!Ae)return;const Fe=Math.max(1,Math.floor(se.clientWidth)),qe=Math.max(1,Math.floor(se.clientHeight||36)),Ke=window.devicePixelRatio||1,$e=Math.max(1,Math.floor(Fe*Ke)),xe=Math.max(1,Math.floor(qe*Ke));(se.width!==$e||se.height!==xe)&&(se.width=$e,se.height=xe),Ae.setTransform(Ke,0,0,Ke,0,0),Ae.clearRect(0,0,Fe,qe);const Qe=Math.max(12,Math.floor(Fe/(Fu+ih))),Je=_.slice(-Qe),Be=Math.max(0,Qe-Je.length),ze=qe/2,ft=getComputedStyle(se).color||"#000000";for(let rt=0;rt<Qe;rt+=1){const We=Je[rt-Be]??0,J=Math.max(.08,Math.min(1,We*18))*ze,Ee=rt*(Fu+ih);Ae.globalAlpha=We<=sh?.35:1,Ae.fillStyle=ft,Ae.fillRect(Ee,ze-J,Fu,J*2)}Ae.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 Z(se){if(typeof window>"u")return;const Ae=window.webkitAudioContext,Fe=window.AudioContext??Ae;Fe&&(K(),D(),c=new Fe,h=c.createMediaStreamSource(se),f=c.createScriptProcessor(2048,1,1),g=performance.now(),f.onaudioprocess=qe=>{const Ke=qe.inputBuffer.getChannelData(0);let $e=0;for(let xe=0;xe<Ke.length;xe+=1){const Qe=Math.abs(Ke[xe]??0);$e+=Qe<sh?0:Qe}_.push($e/Ke.length),_.length>uC&&_.shift(),g!==null&&(r.value=Math.max(0,performance.now()-g)),j()},h.connect(f),f.connect(c.destination),j())}async function be(){var se;if(t.value==="transcribing"&&te(),!(t.value!=="idle"||!n.value||R)){R=!0,O=!1;try{s=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1}}),l=[],o=new MediaRecorder(s),o.ondataavailable=Ae=>{Ae.data.size>0&&l.push(Ae.data)},o.onstop=()=>{var qe;const Ae=l,Fe=(o==null?void 0:o.mimeType)||((qe=Ae[0])==null?void 0:qe.type)||"audio/webm";G(),Ne(Ae,Fe)},Z(s),o.start(250),t.value="recording",O&&fe()}catch(Ae){G(),t.value="idle",(se=e.onError)==null||se.call(e,Ae)}finally{R=!1}}}function fe(){if(R&&t.value==="idle"){O=!0;return}if(!(t.value!=="recording"||!o)&&o.state!=="inactive"){t.value="transcribing";try{o.requestData()}catch{}o.stop()}}function _e(){O=!1,te(),G(),t.value="idle"}async function Ne(se,Ae){var Ke,$e,xe,Qe,Je;if(se.length===0){(Ke=e.onEmpty)==null||Ke.call(e),t.value="idle";return}const Fe=new Blob(se,{type:Ae});t.value="transcribing";let qe=null;try{const Be=Ae.split(/[/;]/)[1]??"webm",ze=new FormData;ze.append("file",Fe,`codex.${Be}`);const ft=(($e=e.getLanguage)==null?void 0:$e.call(e).trim())??"";ft&&ft.toLowerCase()!=="auto"&&ze.append("language",ft),qe=new AbortController,B=qe;const rt=await fetch("/codex-api/transcribe",{method:"POST",body:ze,signal:qe.signal}),We=await rt.text();let bt=null;try{bt=We.trim()?JSON.parse(We):null}catch{bt=null}if(!rt.ok){const Ee=(xe=bt==null?void 0:bt.error)==null?void 0:xe.trim(),ke=We.trim();throw new Error(Ee||ke||`Transcription failed: ${rt.status}`)}const J=((bt==null?void 0:bt.text)??"").trim();J.length>0?e.onTranscript(J):(Qe=e.onEmpty)==null||Qe.call(e)}catch(Be){if(Be instanceof DOMException&&Be.name==="AbortError")return;(Je=e.onError)==null||Je.call(e,Be)}finally{qe&&B===qe&&(B=null),t.value==="transcribing"&&(t.value="idle")}}function G(){K(),D(),o&&(o.ondataavailable=null,o.onstop=null,o=null),s&&(s.getTracks().forEach(se=>se.stop()),s=null),l=[]}Ia(()=>{_e()});function ve(){if(t.value==="recording"){fe();return}(t.value==="idle"||t.value==="transcribing")&&be()}return{state:t,isSupported:n,recordingDurationMs:r,waveformCanvasRef:a,startRecording:be,stopRecording:fe,toggleRecording:ve,cancel:_e}}const dC={},fC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function hC(e,t){return k(),I("svg",fC,[...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 pC=Ct(dC,[["render",hC]]),mC={},vC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function gC(e,t){return k(),I("svg",vC,[...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 ml=Ct(mC,[["render",gC]]),yC={},wC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function bC(e,t){return k(),I("svg",wC,[...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 _C=Ct(yC,[["render",bC]]),TC={},kC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function CC(e,t){return k(),I("svg",kC,[...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 lh=Ct(TC,[["render",CC]]),SC=["title","aria-label","disabled"],xC={key:1,class:"composer-dropdown-value"},AC={class:"composer-dropdown-menu"},EC={key:0,class:"composer-dropdown-search-wrap"},IC=["placeholder","onKeydown"],RC={class:"composer-dropdown-options",role:"listbox"},PC=["onClick"],MC={key:0,class:"composer-dropdown-empty"},$C=Vn({__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=x(null),o=x(null),s=x(!1),l=x(""),c=ne(()=>{var be;const Z=n.options.find(fe=>fe.value===n.modelValue);return Z?Z.label:((be=n.placeholder)==null?void 0:be.trim())||""}),h=ne(()=>n.openDirection??"down"),f=ne(()=>n.iconOnly===!0),g=ne(()=>n.enableSearch===!0),_=ne(()=>{var Z;return((Z=n.searchPlaceholder)==null?void 0:Z.trim())||"Quick search projects"}),R=ne(()=>{var Z;return((Z=n.emptyLabel)==null?void 0:Z.trim())||"No results"}),O=ne(()=>{var Z;return c.value||((Z=n.placeholder)==null?void 0:Z.trim())||"Select option"}),B=ne(()=>{const Z=l.value.trim().toLowerCase();return Z?n.options.filter(be=>be.label.toLowerCase().includes(Z)||be.value.toLowerCase().includes(Z)):n.options});function te(){n.disabled||(s.value=!s.value)}function j(Z){r("update:modelValue",Z),s.value=!1,l.value=""}function D(){if(l.value.length>0){l.value="";return}s.value=!1}function K(Z){if(!s.value)return;const be=a.value;if(!be)return;const fe=Z.target;fe instanceof Node&&(be.contains(fe)||(s.value=!1,l.value=""))}return pt(s,Z=>{Z&&g.value&&Vt(()=>{var be;return(be=o.value)==null?void 0:be.focus()})}),la(()=>{window.addEventListener("pointerdown",K)}),Ia(()=>{window.removeEventListener("pointerdown",K)}),(Z,be)=>(k(),I("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:te},[e.selectedPrefixIcon?(k(),Ze(Oc(e.selectedPrefixIcon),{key:0,class:"composer-dropdown-prefix-icon"})):X("",!0),f.value?X("",!0):(k(),I("span",xC,P(c.value),1)),Ue(Qa,{class:"composer-dropdown-chevron"})],8,SC),s.value?(k(),I("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",AC,[g.value?(k(),I("div",EC,[zt(m("input",{ref_key:"searchInputRef",ref:o,"onUpdate:modelValue":be[0]||(be[0]=fe=>l.value=fe),class:"composer-dropdown-search-input",type:"text",placeholder:_.value,onKeydown:fn(Xe(D,["prevent"]),["esc"])},null,40,IC),[[an,l.value]])])):X("",!0),m("ul",RC,[(k(!0),I(Ge,null,jt(B.value,fe=>(k(),I("li",{key:fe.value},[m("button",{class:et(["composer-dropdown-option",{"is-selected":fe.value===e.modelValue}]),type:"button",onClick:_e=>j(fe.value)},P(fe.label),11,PC)]))),128)),B.value.length===0?(k(),I("li",MC,P(R.value),1)):X("",!0)])])],2)):X("",!0)],512))}}),Ga=Ct($C,[["__scopeId","data-v-5243a93d"]]),NC=["disabled"],LC={class:"search-dropdown-value"},OC={class:"search-dropdown-search-wrap"},jC={class:"search-dropdown-search-row"},DC=["placeholder","onKeydown"],FC=["aria-label","title"],UC={key:0,class:"search-dropdown-list",role:"listbox"},BC=["onPointerenter"],qC=["onClick"],HC={class:"search-dropdown-option-check"},WC=["title"],zC={class:"search-dropdown-option-copy"},VC={class:"search-dropdown-option-label-row"},GC={class:"search-dropdown-option-label"},KC={key:0,class:"search-dropdown-option-type"},YC={key:0,class:"search-dropdown-option-desc"},QC=["aria-label","title","onClick"],JC={key:1,class:"search-dropdown-empty"},XC=Vn({__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=x(null),o=x(null),s=x(null),l=x(!1),c=x(""),h=x(0),f=x({}),{t:g}=Ra(),_=ne(()=>n.openDirection??"down"),R=ne(()=>new Set(n.selectedValues)),O=ne(()=>{var _e;if((_e=n.displayLabelOverride)!=null&&_e.trim())return n.displayLabelOverride.trim();if(n.selectedValues.length===0)return n.placeholder||g("Select...");if(n.selectedValues.length===1){const Ne=n.options.find(G=>G.value===n.selectedValues[0]);return(Ne==null?void 0:Ne.label)||n.placeholder||g("Select...")}return`${n.selectedValues.length} ${g("selected")}`}),B=ne(()=>{const _e=c.value.toLowerCase().trim();return _e?n.options.filter(Ne=>{var G;return Ne.label.toLowerCase().includes(_e)||(((G=Ne.description)==null?void 0:G.toLowerCase().includes(_e))??!1)}):n.options});function te(){const _e=o.value,Ne=a.value;if(!_e||!Ne)return;const G=Ne.getBoundingClientRect(),ve=window.innerWidth,Se=window.innerHeight,se=Math.min(384,ve-16),Ae=Math.max(8,Math.min(G.right-se,ve-se-8));if(ve<640){f.value={position:"fixed",left:"0.5rem",right:"0.5rem",width:"auto",top:_.value==="up"?"auto":`${G.bottom+8}px`,bottom:_.value==="up"?`${Se-G.top+8}px`:"auto",zIndex:"120"};return}f.value={position:"fixed",width:`${se}px`,left:`${Ae}px`,top:_.value==="up"?"auto":`${G.bottom+8}px`,bottom:_.value==="up"?`${Se-G.top+8}px`:"auto",zIndex:"120"}}function j(){n.disabled||(l.value=!l.value,l.value&&(c.value="",h.value=0,Vt(()=>{var _e;Vt(()=>{te()}),(_e=s.value)==null||_e.focus()})))}function D(_e){r("toggle",_e.value,!R.value.has(_e.value)),l.value=!1}function K(_e){B.value.length!==0&&(h.value=(h.value+_e+B.value.length)%B.value.length)}function Z(){const _e=B.value[h.value];_e&&D(_e)}function be(_e){if(!l.value)return;const Ne=a.value,G=o.value;if(!Ne)return;const ve=_e.target;ve instanceof Node&&(Ne.contains(ve)||G!=null&&G.contains(ve)||(l.value=!1))}pt(c,()=>{h.value=0});function fe(){l.value&&te()}return la(()=>{window.addEventListener("pointerdown",be),window.addEventListener("resize",fe),window.addEventListener("scroll",fe,!0)}),Ia(()=>{window.removeEventListener("pointerdown",be),window.removeEventListener("resize",fe),window.removeEventListener("scroll",fe,!0)}),(_e,Ne)=>(k(),I("div",{ref_key:"rootRef",ref:a,class:"search-dropdown"},[m("button",{class:"search-dropdown-trigger",type:"button",disabled:e.disabled,onClick:j},[m("span",LC,P(O.value),1),Ue(Qa,{class:"search-dropdown-chevron"})],8,NC),(k(),Ze(Ka,{to:"body"},[l.value?(k(),I("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:ta(f.value)},[m("div",OC,[m("div",jC,[zt(m("input",{ref_key:"searchRef",ref:s,"onUpdate:modelValue":Ne[0]||(Ne[0]=G=>c.value=G),class:"search-dropdown-search",type:"text",placeholder:e.searchPlaceholder,onKeydown:[Ne[1]||(Ne[1]=fn(Xe(G=>l.value=!1,["prevent"]),["escape"])),fn(Xe(Z,["prevent"]),["enter"]),Ne[2]||(Ne[2]=fn(Xe(G=>K(1),["prevent"]),["arrow-down"])),Ne[3]||(Ne[3]=fn(Xe(G=>K(-1),["prevent"]),["arrow-up"]))]},null,40,DC),[[an,c.value]]),e.createLabel?(k(),I("button",{key:0,class:"search-dropdown-create-icon",type:"button","aria-label":e.createLabel,title:e.createLabel,onClick:Ne[4]||(Ne[4]=G=>r("create"))}," + ",8,FC)):X("",!0)]),e.createLabel?(k(),I("button",{key:0,class:"search-dropdown-create",type:"button",onClick:Ne[5]||(Ne[5]=G=>r("create"))},P(e.createLabel),1)):X("",!0)]),B.value.length>0?(k(),I("ul",UC,[(k(!0),I(Ge,null,jt(B.value,(G,ve)=>(k(),I("li",{key:G.value},[m("div",{class:et(["search-dropdown-option",{"is-selected":R.value.has(G.value),"is-highlighted":ve===h.value}]),onPointerenter:Se=>h.value=ve},[m("button",{class:"search-dropdown-option-main",type:"button",onClick:Se=>D(G)},[m("span",HC,P(R.value.has(G.value)?"✓":""),1),G.badge?(k(),I("span",{key:0,class:et(["search-dropdown-option-badge",G.badgeTone?`is-${G.badgeTone}`:""]),title:G.badgeLabel||G.badge,"aria-hidden":"true"},P(G.badge),11,WC)):X("",!0),m("span",zC,[m("span",VC,[m("span",GC,P(G.label),1),G.badgeLabel?(k(),I("span",KC,P(G.badgeLabel),1)):X("",!0)]),G.description?(k(),I("span",YC,P(G.description),1)):X("",!0)])],8,qC),e.allowRemove&&G.removable?(k(),I("button",{key:0,class:"search-dropdown-option-remove",type:"button","aria-label":`${e.removeLabel} ${G.label}`,title:`${e.removeLabel} ${G.label}`,onClick:Xe(Se=>r("remove",G.value),["stop"])}," × ",8,QC)):X("",!0)],42,BC)]))),128))])):(k(),I("div",JC,P(S(g)("No results")),1))],6)):X("",!0)]))],512))}}),ZC=Ct(XC,[["__scopeId","data-v-65ed7fdf"]]),eS={key:0,class:"thread-composer-dictation-error"},tS={key:0,class:"thread-composer-attachments"},nS=["src","alt"],rS=["aria-label","disabled","onClick"],oS={key:1,class:"thread-composer-folder-chips"},aS=["title"],sS={class:"thread-composer-folder-chip-meta"},iS=["aria-label","disabled","onClick"],lS={key:2,class:"thread-composer-file-chips"},uS=["title"],cS=["aria-label","disabled","onClick"],dS={key:3,class:"thread-composer-skill-chips"},fS=["title","aria-label","onClick"],hS=["aria-label","onClick"],pS={key:0,class:"thread-composer-drop-overlay","aria-hidden":"true"},mS={key:1,class:"thread-composer-file-mentions"},vS=["onMousedown"],gS={key:1,class:"thread-composer-file-mention-icon-markdown"},yS={class:"thread-composer-file-mention-text"},wS={class:"thread-composer-file-mention-name"},bS={key:0,class:"thread-composer-file-mention-dir"},_S={key:1,class:"thread-composer-file-mention-empty"},TS=["placeholder","disabled"],kS=["aria-label","disabled"],CS={key:0,class:"thread-composer-attach-menu"},SS=["disabled"],xS=["disabled"],AS=["disabled"],ES={class:"thread-composer-attach-mode"},IS={class:"thread-composer-attach-mode-label"},RS={class:"thread-composer-attach-mode-buttons"},PS=["disabled"],MS=["disabled"],$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=["aria-checked","aria-label","disabled"],DS={class:"thread-composer-attach-setting-copy"},FS={class:"thread-composer-attach-setting-label"},US={class:"thread-composer-attach-setting-description"},BS={key:0,class:"thread-composer-dictation-waveform-wrap","aria-hidden":"true"},qS={key:1,class:"thread-composer-dictation-timer"},HS=["aria-label","title","disabled"],WS=["aria-label","title","disabled"],zS={key:0,class:"thread-composer-stop-spinner","aria-hidden":"true"},VS=["aria-label","title","disabled"],GS=["disabled"],KS=["disabled"],YS=["disabled"],QS=2e3,Uu="prompt:",JS="codex-web-local.thread-draft.v1.",XS=Vn({__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}=Ra(),s=x(""),l=x([]),c=x([]),h=x([]),f=x([]),g=x([]),_=x(""),R=x(0),O=x(null),B=x(!1),{state:te,isSupported:j,recordingDurationMs:D,waveformCanvasRef:K,startRecording:Z,stopRecording:be,toggleRecording:fe,cancel:_e}=cC({getLanguage:()=>r.dictationLanguage??"auto",onTranscript:E=>{if(s.value=s.value?`${s.value}
48
- ${E}`:E,_.value="",r.dictationAutoSend!==!1){const U=r.isTurnInProgress?Oe.value:"steer";we(U);return}Vt(()=>{var U;return(U=se.value)==null?void 0:U.focus()})},onEmpty:()=>{_.value=r.dictationClickToToggle?"No speech detected. Click again after speaking.":"No speech detected. Hold the mic and speak."},onError:E=>{if(E instanceof DOMException&&E.name==="NotAllowedError"){_.value="Microphone access was denied.";return}_.value=E instanceof Error?E.message:"Dictation failed."}}),Ne=x(null),G=x(null),ve=x(null),Se=x(null),se=x(null),{isMobile:Ae}=zc(),Fe=x(!1),qe=x(null),Ke=x(""),$e=x([]),xe=x(!1),Qe=x(0),Je=x(0);let Be=0,ze=null,ft=!1,rt=0,We=0;const bt=typeof navigator<"u"&&/Android/i.test(navigator.userAgent);let J="";const Ee=[{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 ke(E){return E.trim().replace(/^gpt/i,"GPT")}const Pe=ne(()=>r.models.map(E=>({value:E,label:ke(E)}))),Ye=ne(()=>r.selectedCollaborationMode==="plan"),A=ne(()=>r.selectedCollaborationMode==="plan"&&r.selectedModel.trim().length===0),$=ne(()=>c.value.map(E=>E.path)),z=ne(()=>[...(r.skills??[]).map(E=>{const U=ar(E);return{value:E.path,label:E.name,description:E.description,badge:U.badge,badgeLabel:U.badgeLabel,badgeTone:U.badgeTone,removable:!1}}),...h.value.map(E=>({value:Bt(E.path),label:E.name,description:E.description,badge:"T",badgeLabel:"Prompt",badgeTone:"prompt",removable:!0}))]),ae=ne(()=>r.disabled||r.isUpdatingSpeedMode||!r.activeThreadId||A.value||R.value>0?!1:s.value.trim().length>0||l.value.length>0||f.value.length>0),Q=ne(()=>s.value.trim().length>0||l.value.length>0||c.value.length>0||f.value.length>0||g.value.length>0),le=ne(()=>{const E=new Set;for(const U of g.value)for(const oe of U.filePaths)E.add(oe);return f.value.filter(U=>!E.has(U.fsPath))}),pe=ne(()=>r.disabled||!r.activeThreadId),Te=ne(()=>r.disabled||!r.activeThreadId),ye=ne(()=>/^gpt-5\.(?:4|5)(?:$|-)/.test(r.selectedModel.trim())),ce=ne(()=>r.selectedSpeedMode==="fast"&&ye.value),Le=ne(()=>pe.value||r.isUpdatingSpeedMode===!0),me=ne(()=>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")),je=ne(()=>r.inProgressSubmitMode==="steer"?"steer":"queue"),Oe=x(je.value),at=ne(()=>te.value==="recording"),F=ne(()=>te.value==="recording"?o("Stop dictation"):r.dictationClickToToggle?o("Click to dictate"):o("Hold to dictate")),q=ne(()=>te.value==="idle"?_.value.trim():""),W=ne(()=>{const E=Math.max(0,Math.floor(D.value/1e3)),U=Math.floor(E/60),oe=E%60;return`${U}:${String(oe).padStart(2,"0")}`}),re=ne(()=>r.activeThreadId?A.value?o("Loading models for plan mode..."):o("Type a message... (@ for files)"):o("Select a thread to send a message")),he=ne(()=>s.value.trim().length>0||l.value.length>0||f.value.length>0);function we(E="steer"){var oe;const U=s.value.trim();if(ae.value){if(a("submit",{text:U,imageUrls:l.value.map(De=>De.url),fileAttachments:[...f.value],skills:c.value.map(De=>({name:De.name,path:De.path})),mode:E}),kr(r.activeThreadId),dt(),g.value=[],Fe.value=!1,wn(),bt||Ae.value){(oe=se.value)==null||oe.blur();return}Vt(()=>{var De;return(De=se.value)==null?void 0:De.focus()})}}function Ie(E){Oe.value=E}function st(E){Je.value+=1,s.value=E.text,l.value=E.imageUrls.map((U,oe)=>({id:`queued-${Date.now()}-${oe}-${Math.random().toString(36).slice(2,8)}`,name:`Image ${oe+1}`,url:U})),c.value=E.skills.map(U=>(r.skills??[]).find(oe=>oe.path===U.path)??{name:U.name,displayName:void 0,description:"",path:U.path}),f.value=E.fileAttachments.map(U=>({...U})),g.value=[],_.value="",O.value=null,R.value=0,Fe.value=!1,wn(),We+=1}function dt(){st({text:"",imageUrls:[],fileAttachments:[],skills:[]})}function Lt(E){return`${JS}${E}`}function Sn(E){if(typeof window>"u")return null;const U=E.trim();if(!U)return null;try{const oe=window.localStorage.getItem(Lt(U));if(!oe)return null;const De=JSON.parse(oe);return typeof De=="string"?{text:De,imageUrls:[],fileAttachments:[],skills:[]}:{text:typeof De.text=="string"?De.text:"",imageUrls:Array.isArray(De.imageUrls)?De.imageUrls.filter(mt=>typeof mt=="string"):[],fileAttachments:Array.isArray(De.fileAttachments)?De.fileAttachments.filter(mt=>!!mt&&typeof mt.label=="string"&&typeof mt.path=="string"&&typeof mt.fsPath=="string"):[],skills:Array.isArray(De.skills)?De.skills.filter(mt=>!!mt&&typeof mt.name=="string"&&typeof mt.path=="string"):[]}}catch{return null}}function Mn(E,U){if(typeof window>"u")return;const oe=E.trim();if(oe)try{if(U.text.trim().length>0||U.imageUrls.length>0||U.fileAttachments.length>0||U.skills.length>0){window.localStorage.setItem(Lt(oe),JSON.stringify(U));return}window.localStorage.removeItem(Lt(oe))}catch{}}function kr(E){Mn(E,{text:"",imageUrls:[],fileAttachments:[],skills:[]})}function Gt(){return{text:s.value,imageUrls:l.value.map(E=>E.url),fileAttachments:f.value.map(E=>({...E})),skills:c.value.map(E=>({name:E.name,path:E.path}))}}function Nr(){a("interrupt")}function $n(E){a("update:selected-model",E)}function Cr(){a("update:selected-collaboration-mode",Ye.value?"default":"plan")}function hr(E){a("update:selected-reasoning-effort",E)}function Qr(){Le.value||a("update:selected-speed-mode",r.selectedSpeedMode==="fast"?"standard":"fast")}function ca(){r.dictationClickToToggle&&(_.value&&(_.value=""),fe())}function en(E){if(r.dictationClickToToggle||(E.preventDefault(),ft))return;ft=!0;const U=E.currentTarget;if(U)try{U.setPointerCapture(E.pointerId)}catch{}_.value&&(_.value=""),window.addEventListener("pointerup",sn),window.addEventListener("pointercancel",sn),window.addEventListener("blur",sn),Z()}function sn(){r.dictationClickToToggle||ft&&(ft=!1,window.removeEventListener("pointerup",sn),window.removeEventListener("pointercancel",sn),window.removeEventListener("blur",sn),be())}function go(){pe.value||(Fe.value=!Fe.value)}function Do(){var E;(E=G.value)==null||E.click()}function Fo(){var E;(E=ve.value)==null||E.click()}function nt(){var E;(E=Se.value)==null||E.click()}function tn(E){l.value=l.value.filter(U=>U.id!==E)}function Qt(E){c.value=c.value.filter(U=>U.path!==E)}function Jr(E){const U=E.trim();return U?U.endsWith("/SKILL.md")?U:`${U.replace(/\/+$/,"")}/SKILL.md`:""}function Jt(E){const U=Jr(E.path);!U||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(U)}`,"_blank","noopener,noreferrer")}function yn(E){f.value=f.value.filter(U=>U.fsPath!==E)}function nr(E){const U=g.value.find(De=>De.id===E);if(!U)return;const oe=new Set(U.filePaths);f.value=f.value.filter(De=>!oe.has(De.fsPath)),g.value=g.value.filter(De=>De.id!==E)}function xn(E){return E.total<=0?0:Math.round(E.processed/E.total*100)}function nn(E,U){const oe=E.replace(/\\/g,"/");if(f.value.some(Yt=>Yt.fsPath===oe))return;const De=oe.split("/").filter(Boolean),mt=(U==null?void 0:U.trim())||De[De.length-1]||oe;f.value=[...f.value,{label:mt,path:oe,fsPath:oe}]}function Mt(E){return E.type.startsWith("image/")?!0:/\.(png|jpe?g|gif|webp)$/i.test(E.name)}function Ht(E){return E?Array.from(E):[]}function An(E){return E!==We?!1:(R.value+=1,!0)}function rr(E){E===We&&(R.value=Math.max(0,R.value-1))}function yo(E){if(E<=0)return;const U=O.value,oe=U?U.succeeded+U.failed:0;if(!U||oe>=U.total){O.value={total:E,succeeded:0,failed:0};return}O.value={...U,total:U.total+E}}function pr(E){const U=O.value;U&&(O.value={...U,succeeded:U.succeeded+(E==="success"?1:0),failed:U.failed+(E==="failure"?1:0)})}function Uo(){return`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Xr(E){const U=new Date,oe=[U.getFullYear(),String(U.getMonth()+1).padStart(2,"0"),String(U.getDate()).padStart(2,"0"),String(U.getHours()).padStart(2,"0"),String(U.getMinutes()).padStart(2,"0"),String(U.getSeconds()).padStart(2,"0")].join("-"),De=E.type.startsWith("image/")&&E.type.slice(6).replace(/[^a-z0-9]+/gi,"")||"png";return`pasted-image-${oe}.${De}`}function Nn(){const E=new Date;return`pasted-text-${[E.getFullYear(),String(E.getMonth()+1).padStart(2,"0"),String(E.getDate()).padStart(2,"0"),String(E.getHours()).padStart(2,"0"),String(E.getMinutes()).padStart(2,"0"),String(E.getSeconds()).padStart(2,"0")].join("-")}.txt`}function Zr(E){return E.name.trim()?E:new File([E],Xr(E),{type:E.type||"image/png",lastModified:Date.now()})}async function Ln(E,U){if(An(U))try{const oe=Zr(E),De=await Du(oe);if(U!==We)return;if(!De){pr("failure");return}l.value=[...l.value,{id:Uo(),name:oe.name,url:`/codex-local-image?path=${encodeURIComponent(De)}`}],pr("success")}catch{U===We&&pr("failure")}finally{rr(U)}}async function Sr(E,U){if(An(U))try{const oe=await Du(E);if(U!==We)return;if(!oe){pr("failure");return}nn(oe),pr("success")}catch{U===We&&pr("failure")}finally{rr(U)}}function On(E){const U=Ht(E);if(U.length===0)return;yo(U.length),Fe.value=!1,wn();const oe=We;for(const De of U)Mt(De)?Ln(De,oe):Sr(De,oe)}function Lr(){rt=0,B.value=!1}function jn(E){return E?Array.from(E.types??[]).includes("Files"):!1}async function mr(E){if(!E||E.length===0)return;const U=Je.value,oe=Array.from(E),mt=(oe[0].webkitRelativePath||oe[0].name).split("/").filter(Boolean)[0]||"Folder",Yt=`${Date.now()}-${Math.random().toString(36).slice(2)}`;g.value=[...g.value,{id:Yt,name:mt,total:oe.length,processed:0,filePaths:[],isUploading:!0}];const cn=Me=>{U===Je.value&&(g.value=g.value.map(Ce=>Ce.id===Yt?Me(Ce):Ce))};for(const Me of oe)try{const Ce=await Du(Me);if(U!==Je.value)return;if(Ce){const vt=Me.webkitRelativePath||Me.name;nn(Ce,vt),cn(bn=>({...bn,processed:bn.processed+1,filePaths:[...bn.filePaths,Ce]}));continue}cn(vt=>({...vt,processed:vt.processed+1}))}catch{cn(Ce=>({...Ce,processed:Ce.processed+1}))}cn(Me=>({...Me,isUploading:!1}))}function Gn(E){E&&(E.value="")}function wo(E){const U=E.target;On((U==null?void 0:U.files)??null),Gn(U),Fe.value=!1}function Ft(E){const U=E.target;On((U==null?void 0:U.files)??null),Gn(U),Fe.value=!1}function Dn(E){const U=E.target;mr((U==null?void 0:U.files)??null),Gn(U),Fe.value=!1}function Kt(E){pe.value||!jn(E.dataTransfer)||(E.preventDefault(),rt+=1,B.value=!0)}function St(E){pe.value||!jn(E.dataTransfer)||(E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect="copy"),B.value=!0)}function ln(E){B.value&&(E.preventDefault(),rt=Math.max(0,rt-1),rt===0&&Lr())}function Ut(E){var U;pe.value||!jn(E.dataTransfer)||(E.preventDefault(),Lr(),On(((U=E.dataTransfer)==null?void 0:U.files)??null))}function hn(){!B.value&&rt===0||Lr()}function or(E){var Yt,cn;if(pe.value)return;const U=((Yt=E.clipboardData)==null?void 0:Yt.getData("text/plain"))??"";if(U.length>=QS){E.preventDefault();const Me=new File([U],Nn(),{type:"text/plain",lastModified:Date.now()});On([Me]);return}const oe=Array.from(((cn=E.clipboardData)==null?void 0:cn.items)??[]);if(oe.length===0)return;const De=U.length>0,mt=oe.filter(Me=>Me.kind==="file"&&Me.type.startsWith("image/")).map(Me=>Me.getAsFile()).filter(Me=>Me instanceof File);mt.length!==0&&(De||E.preventDefault(),On(mt))}function Kn(){_.value&&(_.value=""),xr()}function Or(E){if(xe.value){if(E.key==="Escape"){E.preventDefault(),wn();return}if(E.key==="ArrowDown"){E.preventDefault(),$e.value.length>0&&(Qe.value=(Qe.value+1)%$e.value.length);return}if(E.key==="ArrowUp"){if(E.preventDefault(),$e.value.length>0){const oe=$e.value.length;Qe.value=(Qe.value+oe-1)%oe}return}if(E.key==="Enter"||E.key==="Tab"){E.preventDefault();const oe=$e.value[Qe.value];oe?gt(oe):wn();return}}if(r.sendWithEnter!==!1?E.key==="Enter"&&!E.shiftKey:E.key==="Enter"&&(E.metaKey||E.ctrlKey)){E.preventDefault(),we(r.isTurnInProgress?Oe.value:"steer");return}}function wn(){xe.value=!1,qe.value=null,Ke.value="",$e.value=[],Qe.value=0}function xr(){const E=se.value;if(!E){wn();return}const U=E.selectionStart??s.value.length,De=s.value.slice(0,U).match(/(^|\s)(@[^\s@]*)$/);if(!De){wn();return}const mt=De[2]??"",Yt=mt.length,cn=U-Yt;qe.value=cn,Ke.value=mt.slice(1),xe.value=!0,un()}async function un(){if(!xe.value)return;const E=(r.cwd??"").trim();if(!E){$e.value=[];return}ze&&clearTimeout(ze);const U=++Be;ze=setTimeout(async()=>{try{const oe=await j_(E,Ke.value,20);if(!xe.value||U!==Be)return;$e.value=oe,Qe.value=0}catch{if(!xe.value||U!==Be)return;$e.value=[]}},120)}function gt(E){const U=se.value,oe=qe.value;if(oe!==null&&U){const De=U.selectionStart??s.value.length;s.value=`${s.value.slice(0,oe)}${s.value.slice(De)}`.trimEnd()}nn(E.path),wn(),Vt(()=>U==null?void 0:U.focus())}function Tt(E){_e(),st(E),Vt(()=>{var U;return(U=se.value)==null?void 0:U.focus()})}function En(E){const U=E.trim();U&&(_e(),s.value.trim().length>0?s.value=`${s.value.trimEnd()}
49
- ${U}`:s.value=U,Vt(()=>{var oe;return(oe=se.value)==null?void 0:oe.focus()}))}async function pn(){h.value=await Q_()}function Bt(E){return`${Uu}${E}`}function Ar(E){return E.startsWith(Uu)?E.slice(Uu.length):null}async function Er(){var De;const E=((De=window.prompt(o("Prompt name")))==null?void 0:De.trim())??"";if(!E)return;const U=window.prompt(o("Prompt content"))??"";if(!U.trim())return;const oe=await J_(E,U);oe&&(await pn(),En(oe.content))}async function Fn(E){const U=Ar(E)??E,oe=h.value.find(Yt=>Yt.path===U);!window.confirm(oe?`${o("Remove prompt")} "${oe.name}"?`:o("Remove prompt"))||!await X_(U)||await pn()}function jr(E){const U=h.value.find(oe=>oe.path===E);U&&En(U.content)}function vr(E){const U=E.lastIndexOf("/");return U<0?E:E.slice(U+1)}function Un(E){const U=E.lastIndexOf("/");return U<=0?"":E.slice(0,U)}function Yn(E){const U=vr(E),oe=U.lastIndexOf(".");return oe<=0?"":U.slice(oe+1).toLowerCase()}function $t(E){const U=Yn(E);return U==="ts"?"TS":U==="tsx"?"TSX":U==="js"?"JS":U==="jsx"?"JSX":U==="json"?"{}":""}function Bn(E){const U=Yn(E);return U.startsWith("ts")?"ts":U.startsWith("js")?"js":U==="json"?"json":"default"}function Dr(E){const U=Yn(E);return U==="md"||U==="mdx"}function ar(E){return E.path.toLowerCase().includes("/plugins/cache/")?{badge:"P",badgeLabel:"Plugin",badgeTone:"plugin"}:E.scope==="repo"?{badge:"R",badgeLabel:"Repo",badgeTone:"repo"}:E.scope==="system"?{badge:"S",badgeLabel:"System",badgeTone:"system"}:{badge:"U",badgeLabel:"User",badgeTone:"user"}}function Fr(E,U){const oe=Ar(E);if(oe){jr(oe);return}if(U){const De=(r.skills??[]).find(mt=>mt.path===E);De&&!c.value.some(mt=>mt.path===E)&&(c.value=[...c.value,De])}else c.value=c.value.filter(De=>De.path!==E)}function In(E){if(!Fe.value)return;const U=Ne.value;if(!U)return;const oe=E.target;!oe||U.contains(oe)||(Fe.value=!1)}return la(()=>{document.addEventListener("click",In),window.addEventListener("drop",hn),window.addEventListener("dragend",hn),window.addEventListener("blur",hn),pn()}),t({hydrateDraft:Tt,appendTextToDraft:En,hasUnsavedDraft:()=>Q.value}),Ia(()=>{document.removeEventListener("click",In),window.removeEventListener("drop",hn),window.removeEventListener("dragend",hn),window.removeEventListener("blur",hn),window.removeEventListener("pointerup",sn),window.removeEventListener("pointercancel",sn),window.removeEventListener("blur",sn),ze&&clearTimeout(ze)}),pt(()=>r.activeThreadId,E=>{_e(),J&&Mn(J,Gt()),dt();const U=Sn(E);U&&(st(U),Kn()),J=E.trim()},{immediate:!0}),pt([s,l,f,c],()=>{J&&Mn(J,Gt())},{deep:!0}),pt(()=>r.cwd,()=>{xe.value&&un()}),pt(je,E=>{Oe.value=E}),(E,U)=>(k(),I("form",{class:"thread-composer",onSubmit:U[4]||(U[4]=Xe(oe=>we(e.isTurnInProgress?Oe.value:"steer"),["prevent"]))},[q.value?(k(),I("p",eS,P(q.value),1)):X("",!0),m("div",{class:et(["thread-composer-shell",{"thread-composer-shell--no-top-radius":e.hasQueueAbove,"thread-composer-shell--drag-active":B.value}])},[l.value.length>0?(k(),I("div",tS,[(k(!0),I(Ge,null,jt(l.value,oe=>(k(),I("div",{key:oe.id,class:"thread-composer-attachment"},[m("img",{class:"thread-composer-attachment-image",src:oe.url,alt:oe.name||"Selected image"},null,8,nS),m("button",{class:"thread-composer-attachment-remove",type:"button","aria-label":`Remove ${oe.name||"image"}`,disabled:pe.value,onClick:De=>tn(oe.id)}," x ",8,rS)]))),128))])):X("",!0),g.value.length>0?(k(),I("div",oS,[(k(!0),I(Ge,null,jt(g.value,oe=>(k(),I("span",{key:oe.id,class:"thread-composer-folder-chip"},[Ue(Kc,{class:"thread-composer-folder-chip-icon"}),m("span",{class:"thread-composer-folder-chip-name",title:oe.name},P(oe.name),9,aS),m("span",sS,[oe.isUploading?(k(),I(Ge,{key:0},[es(P(xn(oe))+"% uploading ("+P(oe.processed)+"/"+P(oe.total)+") ",1)],64)):(k(),I(Ge,{key:1},[es(P(oe.filePaths.length)+" file"+P(oe.filePaths.length===1?"":"s"),1)],64))]),m("button",{class:"thread-composer-folder-chip-remove",type:"button","aria-label":`Remove folder ${oe.name}`,disabled:pe.value,onClick:De=>nr(oe.id)},"×",8,iS)]))),128))])):X("",!0),le.value.length>0?(k(),I("div",lS,[(k(!0),I(Ge,null,jt(le.value,oe=>(k(),I("span",{key:oe.fsPath,class:"thread-composer-file-chip"},[Ue(Ns,{class:"thread-composer-file-chip-icon"}),m("span",{class:"thread-composer-file-chip-name",title:oe.fsPath},P(oe.label),9,uS),m("button",{class:"thread-composer-file-chip-remove",type:"button","aria-label":`Remove ${oe.label}`,disabled:pe.value,onClick:De=>yn(oe.fsPath)},"×",8,cS)]))),128))])):X("",!0),c.value.length>0?(k(),I("div",dS,[(k(!0),I(Ge,null,jt(c.value,oe=>(k(),I("span",{key:oe.path,class:"thread-composer-skill-chip"},[m("button",{class:"thread-composer-skill-chip-name",type:"button",title:Jr(oe.path),"aria-label":`Open ${oe.displayName||oe.name} SKILL.md`,onClick:De=>Jt(oe)},P(oe.displayName||oe.name),9,fS),m("button",{class:"thread-composer-skill-chip-remove",type:"button","aria-label":`Remove skill ${oe.displayName||oe.name}`,onClick:De=>Qt(oe.path)},"×",8,hS)]))),128))])):X("",!0),m("div",{class:et(["thread-composer-input-wrap",{"thread-composer-input-wrap--drag-active":B.value}]),onDragenter:Kt,onDragover:St,onDragleave:ln,onDrop:Ut},[B.value?(k(),I("div",pS,[...U[5]||(U[5]=[m("span",{class:"thread-composer-drop-overlay-copy"},"Drop images or files",-1)])])):X("",!0),xe.value?(k(),I("div",mS,[$e.value.length>0?(k(!0),I(Ge,{key:0},jt($e.value,(oe,De)=>(k(),I("button",{key:oe.path,class:et(["thread-composer-file-mention-row",{"is-active":De===Qe.value}]),type:"button",onMousedown:Xe(mt=>gt(oe),["prevent"])},[$t(oe.path)?(k(),I("span",{key:0,class:et(["thread-composer-file-mention-icon-badge",`is-${Bn(oe.path)}`])},P($t(oe.path)),3)):Dr(oe.path)?(k(),I("span",gS,"↓")):(k(),Ze(Ns,{key:2,class:"thread-composer-file-mention-icon-file"})),m("span",yS,[m("span",wS,P(vr(oe.path)),1),Un(oe.path)?(k(),I("span",bS,P(Un(oe.path)),1)):X("",!0)])],42,vS))),128)):(k(),I("div",_S,P(S(o)("No matching files")),1))])):X("",!0),zt(m("textarea",{ref_key:"inputRef",ref:se,"onUpdate:modelValue":U[0]||(U[0]=oe=>s.value=oe),class:"thread-composer-input",placeholder:re.value,disabled:pe.value,onInput:Kn,onKeydown:Or,onPaste:or},null,40,TS),[[an,s.value]])],34),m("div",{class:et(["thread-composer-controls",{"thread-composer-controls--recording":at.value}])},[m("div",{ref_key:"attachMenuRootRef",ref:Ne,class:"thread-composer-attach"},[m("button",{class:"thread-composer-attach-trigger",type:"button","aria-label":S(o)("Add photos & files"),disabled:pe.value,onClick:go}," + ",8,kS),Fe.value?(k(),I("div",CS,[m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:Do},P(S(o)("Add photos & files")),9,SS),m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:nt},P(S(o)("Add folder")),9,xS),m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:Fo},P(S(o)("Take photo")),9,AS),U[6]||(U[6]=m("div",{class:"thread-composer-attach-separator"},null,-1)),m("div",ES,[m("span",IS,P(S(o)("In-progress send")),1),m("div",RS,[m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Oe.value==="steer"}]),type:"button",disabled:pe.value,onClick:U[1]||(U[1]=oe=>Ie("steer"))},P(S(o)("Steer")),11,PS),m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Oe.value==="queue"}]),type:"button",disabled:pe.value,onClick:U[2]||(U[2]=oe=>Ie("queue"))},P(S(o)("Queue")),11,MS)])]),U[7]||(U[7]=m("div",{class:"thread-composer-attach-separator"},null,-1)),ye.value?(k(),I("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:Le.value,onClick:Qr},[m("span",NS,[m("span",LS,P(S(o)("Fast mode")),1),m("span",OS,P(me.value),1)]),m("span",{class:et(["thread-composer-attach-switch",{"is-on":e.selectedSpeedMode==="fast","is-busy":e.isUpdatingSpeedMode,"is-disabled":Le.value}])},null,2)],8,$S)):X("",!0),m("button",{class:"thread-composer-attach-setting",type:"button",role:"switch","aria-checked":Ye.value,"aria-label":Ye.value?S(o)("Disable plan mode"):S(o)("Enable plan mode"),disabled:Te.value,onClick:Cr},[m("span",DS,[m("span",FS,P(S(o)("Plan mode")),1),m("span",US,P(S(o)("Agent proposes a plan before acting")),1)]),m("span",{class:et(["thread-composer-attach-switch",{"is-on":Ye.value}])},null,2)],8,jS)])):X("",!0)],512),at.value?X("",!0):(k(),I(Ge,{key:0},[Ue(Ga,{class:"thread-composer-control","model-value":e.selectedModel,options:Pe.value,"selected-prefix-icon":ce.value?ml:null,placeholder:S(o)("Model"),"open-direction":"up",disabled:Te.value||e.models.length===0,"enable-search":"","search-placeholder":S(o)("Search models..."),"onUpdate:modelValue":$n},null,8,["model-value","options","selected-prefix-icon","placeholder","disabled","search-placeholder"]),Ue(ZC,{class:"thread-composer-control",options:z.value,"selected-values":$.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:Te.value,onToggle:Fr,onCreate:Er,onRemove:Fn},null,8,["options","selected-values","placeholder","search-placeholder","create-label","remove-label","disabled"]),Ue(Ga,{class:"thread-composer-control","model-value":e.selectedReasoningEffort,options:Ee,placeholder:S(o)("Thinking"),"open-direction":"up",disabled:Te.value,"onUpdate:modelValue":hr},null,8,["model-value","placeholder","disabled"])],64)),m("div",{class:et(["thread-composer-actions",{"thread-composer-actions--recording":at.value}])},[S(te)==="recording"?(k(),I("div",BS,[m("canvas",{ref_key:"dictationWaveformCanvasRef",ref:K,class:"thread-composer-dictation-waveform"},null,512)])):X("",!0),S(te)==="recording"?(k(),I("span",qS,P(W.value),1)):X("",!0),S(j)?(k(),I("button",{key:2,class:et(["thread-composer-mic",{"thread-composer-mic--active":S(te)==="recording"}]),type:"button","aria-label":F.value,title:F.value,disabled:pe.value,onClick:ca,onPointerdown:en,onPointerup:sn,onPointercancel:sn},[S(te)==="recording"?(k(),Ze(lh,{key:0,class:"thread-composer-mic-icon thread-composer-mic-icon--stop"})):(k(),Ze(_C,{key:1,class:"thread-composer-mic-icon"}))],42,HS)):X("",!0),e.isTurnInProgress&&!he.value?(k(),I("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:Nr},[e.isStopPending?(k(),I("span",zS)):(k(),Ze(lh,{key:1,class:"thread-composer-stop-icon"}))],8,WS)):(k(),I("button",{key:4,class:et(["thread-composer-submit",{"thread-composer-submit--queue":e.isTurnInProgress&&Oe.value==="queue"}]),type:"button","aria-label":e.isTurnInProgress&&Oe.value==="queue"?S(o)("Queue message"):S(o)("Send message"),title:e.isTurnInProgress?`${S(o)("Send")} ${Oe.value==="queue"?S(o)("Queue"):S(o)("Steer")}`:S(o)("Send"),disabled:!ae.value,onClick:U[3]||(U[3]=oe=>we(e.isTurnInProgress?Oe.value:"steer"))},[Ue(pC,{class:"thread-composer-submit-icon"})],10,VS))],2)],2)],2),m("input",{ref_key:"photoLibraryInputRef",ref:G,class:"thread-composer-hidden-input",type:"file",multiple:"",disabled:pe.value,onChange:wo},null,40,GS),m("input",{ref_key:"cameraCaptureInputRef",ref:ve,class:"thread-composer-hidden-input",type:"file",accept:"image/*",capture:"environment",disabled:pe.value,onChange:Ft},null,40,KS),m("input",{ref_key:"folderPickerInputRef",ref:Se,class:"thread-composer-hidden-input",type:"file",multiple:"",webkitdirectory:"",directory:"",disabled:pe.value,onChange:Dn},null,40,YS)],32))}}),uh=Ct(XS,[["__scopeId","data-v-9f6b9876"]]),ZS={key:0,class:"thread-pending-request"},ex={class:"thread-pending-request-title"},tx=["title"],nx={class:"thread-pending-request-approval"},rx=["aria-label"],ox=["aria-pressed","onClick"],ax={class:"thread-pending-request-option-index"},sx={class:"thread-pending-request-option-label"},ix={class:"thread-pending-request-footer thread-pending-request-footer--approval"},lx=["value","placeholder"],ux={class:"thread-pending-request-header"},cx={class:"thread-pending-request-heading"},dx={class:"thread-pending-request-eyebrow"},fx={class:"thread-pending-request-title"},hx={key:0,class:"thread-pending-request-counter"},px={key:0,class:"thread-pending-request-preview"},mx={class:"thread-pending-request-preview-code"},vx={key:1,class:"thread-pending-request-user-input"},gx={key:0,class:"thread-pending-request-question-description"},yx=["href"],wx={class:"thread-pending-request-question-title"},bx={key:0},_x={key:0,class:"thread-pending-request-question-text"},Tx={key:1,class:"thread-pending-request-input-wrap"},kx={class:"thread-pending-request-select-label"},Cx=["type","value","onInput"],Sx={key:2,class:"thread-pending-request-select-wrap"},xx={class:"thread-pending-request-select-label"},Ax=["value","onChange"],Ex={key:0,value:""},Ix={value:"true"},Rx={value:"false"},Px={key:3,class:"thread-pending-request-select-wrap"},Mx={class:"thread-pending-request-select-label"},$x=["value","onChange"],Nx={key:0,value:""},Lx=["value"],Ox={key:4,class:"thread-pending-request-question-options"},jx=["checked","onChange"],Dx={class:"thread-pending-request-checkbox-label"},Fx={key:2,class:"thread-pending-request-validation-error"},Ux={class:"thread-pending-request-footer"},Bx={key:2,class:"thread-pending-request-user-input"},qx={class:"thread-pending-request-question-title"},Hx={key:0,class:"thread-pending-request-question-text"},Wx={key:1,class:"thread-pending-request-question-options"},zx={class:"thread-pending-request-select-wrap"},Vx={class:"thread-pending-request-select-label"},Gx=["value","onChange"],Kx=["value"],Yx={key:0,class:"thread-pending-request-question-description"},Qx={key:2,class:"thread-pending-request-input-wrap"},Jx={class:"thread-pending-request-select-label"},Xx=["value","placeholder","onInput"],Zx={class:"thread-pending-request-footer"},eA={key:3,class:"thread-pending-request-actions"},tA={key:4,class:"thread-pending-request-actions"},nA=Vn({__name:"ThreadPendingRequestPanel",props:{request:{},requestCount:{},hasQueueAbove:{type:Boolean}},emits:["respondServerRequest"],setup(e,{emit:t}){const n=e,r=t,a=x("accept"),o=x(""),s=x({}),l=x({}),c=x({}),h=x(""),{t:f}=Ra();function g(F){return F!==null&&typeof F=="object"&&!Array.isArray(F)?F:null}function _(F){return typeof F=="string"?F.trim():""}function R(F){return typeof F=="string"?F:null}function O(F){return/^[A-Za-z0-9_./:@%+=,-]+$/.test(F)?F:JSON.stringify(F)}function B(F){const W=(Array.isArray(F.commandActions)?F.commandActions:[]).map(re=>g(re)).map(re=>_(re==null?void 0:re.command)).find(re=>re.length>0);if(W)return W.replace(/\s+/g," ").trim();if(Array.isArray(F.command)){const re=F.command.filter(he=>typeof he=="string").map(he=>he.trim()).filter(he=>he.length>0);if(re.length>0)return re.map(he=>O(he)).join(" ")}return Ne(_(F.command))}function te(F){return F.method==="item/commandExecution/requestApproval"||F.method==="execCommandApproval"}function j(F){return F.method==="item/fileChange/requestApproval"||F.method==="applyPatchApproval"}function D(F){return F.method==="item/permissions/requestApproval"}function K(F){return te(F)||j(F)||D(F)}function Z(F){return F.method==="mcpServer/elicitation/request"}function be(F){const q=g(F.params);return _(q==null?void 0:q.reason)||_(q==null?void 0:q.prompt)||_(q==null?void 0:q.message)}function fe(F){return K(F)?"Awaiting approval":Z(F)?"MCP server input required":F.method==="item/tool/requestUserInput"?"Awaiting response":F.method==="item/tool/call"?"Tool call waiting for response":F.method}function _e(F){const q=be(F);return q||(te(F)?"Do you want to run this command?":j(F)?"Do you want to make these changes?":D(F)?"Do you want to grant these permissions?":Z(F)?"An MCP server needs your input before Codex can continue.":F.method==="item/tool/requestUserInput"?"Codex needs your answer before it can continue.":"Codex is waiting for a response before it can continue.")}function Ne(F){var we;const q=F.trim();if(!q)return"";const W=q.match(/-Command\s+(.+)$/i),re=((we=W==null?void 0:W[1])==null?void 0:we.trim())??q;return(re.startsWith('"')&&re.endsWith('"')?re.slice(1,-1):re).replace(/\\"/g,'"').replace(/`"/g,'"').replace(/""/g,'"').replace(/\s+/g," ").trim()}function G(F){const q=g(F.params);if(!q)return"";if(te(F))return B(q);if(j(F)){const W=_(q.grantRoot)||_(q.grant_root);if(W)return W.replace(/\s+/g," ").trim();const re=g(q.fileChanges)??g(q.changes);if(!re)return"";const he=Object.keys(re).map(we=>we.trim()).filter(we=>we.length>0);return he.length===0?"":he.slice(0,3).join(", ")}return D(F)?ve(q.permissions):Z(F)?_(q.serverName)||_(q.url):""}function ve(F){const q=g(F);if(!q)return"";const W=[],re=g(q.fileSystem),he=g(q.network),we=Array.isArray(re==null?void 0:re.read)?re.read.filter(st=>typeof st=="string"):[],Ie=Array.isArray(re==null?void 0:re.write)?re.write.filter(st=>typeof st=="string"):[];return we.length>0&&W.push(`Read: ${we.join(", ")}`),Ie.length>0&&W.push(`Write: ${Ie.join(", ")}`),(he==null?void 0:he.enabled)===!0&&W.push("Network access"),W.join(" • ")}function Se(F){return!F||!K(F)?[]:[{id:"accept",label:"Yes"},{id:"acceptForSession",label:"Yes for Session"}]}const se=ne(()=>Se(n.request));pt(()=>{var F;return((F=n.request)==null?void 0:F.id)??0},()=>{var F;o.value="",s.value={},l.value={},c.value={},h.value="",a.value=((F=se.value[0])==null?void 0:F.id)??"accept"},{immediate:!0}),pt(se,F=>{var q;a.value!=="decline"&&(F.some(W=>W.id===a.value)||(a.value=((q=F[0])==null?void 0:q.id)??"accept"))},{immediate:!0});function Ae(F,q){return`${String(F)}:${q}`}function Fe(F){const q=g(F.params),W=Array.isArray(q==null?void 0:q.questions)?q.questions:[],re=[];for(const he of W){const we=g(he);if(!we)continue;const Ie=_(we.id);if(!Ie)continue;const st=Array.isArray(we.options)?we.options.map(dt=>g(dt)).map(dt=>({label:_(dt==null?void 0:dt.label),description:_(dt==null?void 0:dt.description)})).filter(dt=>dt.label.length>0):[];re.push({id:Ie,header:_(we.header),question:_(we.question),isOther:we.isOther===!0,options:st})}return re}function qe(F,q,W){const re=Ae(F,q),he=s.value[re];return typeof he=="string"&&he.length>0?he:W}function Ke(F,q){return l.value[Ae(F,q)]??""}function $e(F,q,W){const re=W.target;if(!(re instanceof HTMLSelectElement))return;const he=Ae(F,q);s.value={...s.value,[he]:re.value}}function xe(F,q,W){const re=W.target;if(!(re instanceof HTMLInputElement))return;const he=Ae(F,q);l.value={...l.value,[he]:re.value}}function Qe(F,q,W){var he,we;const re=qe(F,q,((he=W[0])==null?void 0:he.label)||"");return((we=W.find(Ie=>Ie.label===re))==null?void 0:we.description)??""}function Je(F,q){return`${String(F)}:${q}`}function Be(F){var q;return _((q=g(F.params))==null?void 0:q.serverName)}function ze(F){var W;const q=_((W=g(F.params))==null?void 0:W.url);if(!q)return"";try{const re=new URL(q),he=re.protocol.toLowerCase();return he==="https:"||he==="http:"?re.toString():""}catch{return""}}function ft(F){const q=g(F.params),W=g(q==null?void 0:q.requestedSchema),re=g(W==null?void 0:W.properties);if(!re)return[];const he=new Set(Array.isArray(W==null?void 0:W.required)?W.required.filter(we=>typeof we=="string"):[]);return Object.entries(re).map(([we,Ie])=>rt(we,g(Ie),he.has(we))).filter(we=>we!==null)}function rt(F,q,W){if(!q)return null;const re=_(q.title)||F,he=_(q.description),we=_(q.type);if(we==="boolean")return{key:F,label:re,description:he,required:W,kind:"boolean",inputType:"checkbox",options:[],defaultValue:typeof q.default=="boolean"?q.default:null,hasExplicitDefault:typeof q.default=="boolean"};if(we==="number"||we==="integer")return{key:F,label:re,description:he,required:W,kind:"number",inputType:"number",options:[],defaultValue:typeof q.default=="number"?q.default:null,hasExplicitDefault:typeof q.default=="number"};const Ie=We(q);if(we==="array")return{key:F,label:re,description:he,required:W,kind:"multiEnum",inputType:"checkbox",options:Ie,defaultValue:Array.isArray(q.default)?q.default.filter(dt=>typeof dt=="string"):[],hasExplicitDefault:Array.isArray(q.default)};const st=R(q.default);return Ie.length>0?{key:F,label:re,description:he,required:W,kind:"singleEnum",inputType:"select",options:Ie,defaultValue:st,hasExplicitDefault:st!==null}:{key:F,label:re,description:he,required:W,kind:"string",inputType:bt(q),options:[],defaultValue:st,hasExplicitDefault:st!==null}}function We(F){const W=(Array.isArray(F.oneOf)?F.oneOf:Array.isArray(F.anyOf)?F.anyOf:[]).map(Ie=>g(Ie)).map(Ie=>({value:_(Ie==null?void 0:Ie.const),label:_(Ie==null?void 0:Ie.title)||_(Ie==null?void 0:Ie.const)})).filter(Ie=>Ie.value.length>0);if(W.length>0)return W;const re=g(F.items);if(re){const Ie=We(re);if(Ie.length>0)return Ie}const he=Array.isArray(F.enum)?F.enum.filter(Ie=>typeof Ie=="string"):[],we=Array.isArray(F.enumNames)?F.enumNames.filter(Ie=>typeof Ie=="string"):[];return he.map((Ie,st)=>({value:Ie,label:we[st]||Ie}))}function bt(F){const q=_(F.format);return q==="email"?"email":q==="uri"?"url":q==="date"?"date":q==="date-time"?"datetime-local":"text"}function J(F,q){const W=c.value[Je(F,q.key)];return W!==void 0?W:q.defaultValue}function Ee(F,q){const W=J(F,q);return Array.isArray(W)?W.filter(re=>typeof re=="string"):[]}function ke(F,q,W){const re=W.target;if(!(re instanceof HTMLInputElement)&&!(re instanceof HTMLSelectElement))return;const he=re.value,we=(q.kind==="number",he);c.value={...c.value,[Je(F,q.key)]:he.length>0?we:null},h.value=""}function Pe(F,q,W){const re=W.target;if(!(re instanceof HTMLSelectElement))return;let he=null;re.value==="true"?he=!0:re.value==="false"&&(he=!1),c.value={...c.value,[Je(F,q.key)]:he},h.value=""}function Ye(F,q,W,re){const he=re.target;if(!(he instanceof HTMLInputElement))return;const we=new Set(Ee(F,q));he.checked?we.add(W):we.delete(W),c.value={...c.value,[Je(F,q.key)]:Array.from(we)},h.value=""}function A(F){return F===!0?"true":F===!1?"false":""}function $(F,q){const W=J(F,q);return q.kind==="multiEnum"?Array.isArray(W)&&W.length>0:q.kind==="boolean"?typeof W=="boolean":q.kind==="number"&&typeof W=="number"?!0:typeof W=="string"&&W.trim().length>0}function z(F){const q=ft(F).filter(W=>W.required&&!$(F.id,W)).map(W=>W.label);return q.length===0?"":q.length===1?`Answer the required field: ${q[0]}.`:`Answer the required fields: ${q.join(", ")}.`}function ae(F){const q={};for(const W of ft(F)){const re=J(F.id,W);if(W.kind==="multiEnum"){const we=Array.isArray(re)?re:[];(we.length>0||W.required)&&(q[W.key]=we);continue}if(W.kind==="boolean"){typeof re=="boolean"&&(q[W.key]=re);continue}if(W.kind==="number"){const we=typeof re=="number"?re:Number(String(re).trim());Number.isNaN(we)||(q[W.key]=we);continue}const he=String(re??"").trim();(he.length>0||W.required)&&(q[W.key]=he)}return q}function Q(F){a.value=F}function le(){a.value="decline"}function pe(F){const q=F.target;q instanceof HTMLInputElement&&(o.value=q.value,a.value="decline")}function Te(F,q){var W;if(D(F)){if(q==="decline"||q==="cancel"){r("respondServerRequest",{id:F.id,error:{code:-32e3,message:q==="cancel"?"Cancelled from CodexUI.":"Declined from CodexUI."}});return}const re=g((W=g(F.params))==null?void 0:W.permissions)??{};r("respondServerRequest",{id:F.id,result:{permissions:re,scope:q==="acceptForSession"?"session":"turn"}});return}r("respondServerRequest",{id:F.id,result:{decision:q}})}function ye(F){const q=o.value.trim(),W=q.length>0?"decline":a.value;if(D(F)){Te(F,W);return}r("respondServerRequest",{id:F.id,result:{decision:W},followUpMessageText:q||void 0})}function ce(F,q){const W=g(F.params),re={action:q};if(q==="accept"&&_(W==null?void 0:W.mode)==="form"){const he=z(F);if(he){h.value=he;return}re.content=ae(F)}r("respondServerRequest",{id:F.id,result:re})}function Le(F){var re;const q=Fe(F),W={};for(const he of q){const we=qe(F.id,he.id,((re=he.options[0])==null?void 0:re.label)||""),Ie=Ke(F.id,he.id).trim(),st=[we,Ie].map(dt=>dt.trim()).filter(dt=>dt.length>0);W[he.id]={answers:st}}r("respondServerRequest",{id:F.id,result:{answers:W}})}function me(F){r("respondServerRequest",{id:F.id,result:{success:!1,contentItems:[{type:"inputText",text:"Tool call rejected from CodexUI."}]}})}function je(F){r("respondServerRequest",{id:F.id,result:{success:!0,contentItems:[]}})}function Oe(F){r("respondServerRequest",{id:F.id,result:{}})}function at(F){r("respondServerRequest",{id:F.id,error:{code:-32e3,message:"Rejected from CodexUI."}})}return(F,q)=>e.request?(k(),I("section",ZS,[m("article",{class:et(["thread-pending-request-shell",{"thread-pending-request-shell--no-top-radius":e.hasQueueAbove}])},[K(e.request)?(k(),I(Ge,{key:0},[m("p",ex,P(_e(e.request)),1),G(e.request)?(k(),I("p",{key:0,class:"thread-pending-request-command-line",title:G(e.request)},P(G(e.request)),9,tx)):X("",!0),m("section",nx,[m("div",{class:"thread-pending-request-options",role:"radiogroup","aria-label":S(f)("Approval choices")},[(k(!0),I(Ge,null,jt(se.value,(W,re)=>(k(),I("button",{key:W.id,type:"button",class:et(["thread-pending-request-option",{"is-selected":a.value===W.id}]),"aria-pressed":a.value===W.id,onClick:he=>Q(W.id)},[m("span",ax,P(re+1)+".",1),m("span",sx,P(W.label),1)],10,ox))),128))],8,rx),m("footer",ix,[m("label",{class:et(["thread-pending-request-inline-input",{"is-active":a.value==="decline"||o.value.length>0}])},[q[11]||(q[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:le,onInput:pe,onKeydown:q[0]||(q[0]=fn(Xe(W=>ye(e.request),["prevent"]),["enter"]))},null,40,lx)],2),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:q[1]||(q[1]=W=>Te(e.request,"cancel"))},P(S(f)("Skip")),1),m("button",{type:"button",class:"thread-pending-request-primary",onClick:q[2]||(q[2]=W=>ye(e.request))},P(S(f)("Send")),1)])])],64)):(k(),I(Ge,{key:1},[m("header",ux,[m("div",cx,[m("p",dx,P(fe(e.request)),1),m("p",fx,P(_e(e.request)),1)]),(e.requestCount??0)>1?(k(),I("span",hx,P(e.requestCount??0)+" pending",1)):X("",!0)]),G(e.request)?(k(),I("div",px,[m("code",mx,P(G(e.request)),1)])):X("",!0),e.request.method==="mcpServer/elicitation/request"?(k(),I("section",vx,[Be(e.request)?(k(),I("p",gx,P(S(f)("Server"))+": "+P(Be(e.request)),1)):X("",!0),ze(e.request)?(k(),I("a",{key:1,class:"thread-pending-request-link",href:ze(e.request),target:"_blank",rel:"noopener noreferrer"},P(S(f)("Open authorization link")),9,yx)):X("",!0),(k(!0),I(Ge,null,jt(ft(e.request),W=>(k(),I("div",{key:`${e.request.id}:${W.key}`,class:"thread-pending-request-question"},[m("p",wx,[es(P(W.label),1),W.required?(k(),I("span",bx," *")):X("",!0)]),W.description?(k(),I("p",_x,P(W.description),1)):X("",!0),W.kind==="string"||W.kind==="number"?(k(),I("label",Tx,[m("span",kx,P(S(f)("Value")),1),m("input",{class:"thread-pending-request-input",type:W.inputType,value:String(J(e.request.id,W)??""),onInput:re=>ke(e.request.id,W,re)},null,40,Cx)])):W.kind==="boolean"?(k(),I("label",Sx,[m("span",xx,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:A(J(e.request.id,W)),onChange:re=>Pe(e.request.id,W,re)},[W.hasExplicitDefault?X("",!0):(k(),I("option",Ex,P(S(f)("Select true or false")),1)),m("option",Ix,P(S(f)("True")),1),m("option",Rx,P(S(f)("False")),1)],40,Ax)])):W.kind==="singleEnum"?(k(),I("label",Px,[m("span",Mx,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:String(J(e.request.id,W)??""),onChange:re=>ke(e.request.id,W,re)},[W.hasExplicitDefault?X("",!0):(k(),I("option",Nx,P(S(f)("Select an option")),1)),(k(!0),I(Ge,null,jt(W.options,re=>(k(),I("option",{key:`${e.request.id}:${W.key}:${re.value}`,value:re.value},P(re.label),9,Lx))),128))],40,$x)])):(k(),I("div",Ox,[(k(!0),I(Ge,null,jt(W.options,re=>(k(),I("label",{key:`${e.request.id}:${W.key}:${re.value}`,class:"thread-pending-request-checkbox-row"},[m("input",{class:"thread-pending-request-checkbox",type:"checkbox",checked:Ee(e.request.id,W).includes(re.value),onChange:he=>Ye(e.request.id,W,re.value,he)},null,40,jx),m("span",Dx,P(re.label),1)]))),128))]))]))),128)),h.value?(k(),I("p",Fx,P(h.value),1)):X("",!0),m("footer",Ux,[m("button",{type:"button",class:"thread-pending-request-secondary",onClick:q[3]||(q[3]=W=>ce(e.request,"cancel"))},P(S(f)("Cancel")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:q[4]||(q[4]=W=>ce(e.request,"decline"))},P(S(f)("Decline")),1),m("button",{type:"button",class:"thread-pending-request-primary",onClick:q[5]||(q[5]=W=>ce(e.request,"accept"))},P(S(f)("Continue")),1)])])):e.request.method==="item/tool/requestUserInput"?(k(),I("section",Bx,[(k(!0),I(Ge,null,jt(Fe(e.request),W=>{var re;return k(),I("div",{key:`${e.request.id}:${W.id}`,class:"thread-pending-request-question"},[m("p",qx,P(W.header||W.question),1),W.question?(k(),I("p",Hx,P(W.question),1)):X("",!0),W.options.length>0?(k(),I("div",Wx,[m("label",zx,[m("span",Vx,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:qe(e.request.id,W.id,((re=W.options[0])==null?void 0:re.label)||""),onChange:he=>$e(e.request.id,W.id,he)},[(k(!0),I(Ge,null,jt(W.options,he=>(k(),I("option",{key:`${e.request.id}:${W.id}:${he.label}`,value:he.label},P(he.label),9,Kx))),128))],40,Gx)]),Qe(e.request.id,W.id,W.options)?(k(),I("p",Yx,P(Qe(e.request.id,W.id,W.options)),1)):X("",!0)])):X("",!0),W.isOther?(k(),I("label",Qx,[m("span",Jx,P(S(f)("Other answer")),1),m("input",{class:"thread-pending-request-input",type:"text",value:Ke(e.request.id,W.id),placeholder:S(f)("Other answer"),onInput:he=>xe(e.request.id,W.id,he)},null,40,Xx)])):X("",!0)])}),128)),m("footer",Zx,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:q[6]||(q[6]=W=>Le(e.request))},P(S(f)("Send")),1)])])):e.request.method==="item/tool/call"?(k(),I("section",eA,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:q[7]||(q[7]=W=>me(e.request))},P(S(f)("Fail Tool Call")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:q[8]||(q[8]=W=>je(e.request))},P(S(f)("Success (Empty)")),1)])):(k(),I("section",tA,[m("button",{type:"button",class:"thread-pending-request-primary",onClick:q[9]||(q[9]=W=>Oe(e.request))},P(S(f)("Return Empty Result")),1),m("button",{type:"button",class:"thread-pending-request-secondary",onClick:q[10]||(q[10]=W=>at(e.request))},P(S(f)("Reject Request")),1)]))],64))],2)])):X("",!0)}}),rA=Ct(nA,[["__scopeId","data-v-72a9d2d9"]]),oA={key:0,class:"queued-messages"},aA={class:"queued-messages-inner"},sA=["onDragstart","onDragover","onDragleave","onDrop"],iA=["aria-label","title"],lA={class:"queued-row-text"},uA={class:"queued-row-actions"},cA=["title","onClick"],dA=["title","onClick"],fA=["aria-label","title","onClick"],hA=Vn({__name:"QueuedMessages",props:{messages:{}},emits:["edit","steer","delete","reorder"],setup(e,{emit:t}){const n=t,{t:r}=Ra(),a=x(""),o=x("");function s(_,R){var O;a.value=R,o.value="",(O=_.dataTransfer)==null||O.setData("text/plain",R),_.dataTransfer&&(_.dataTransfer.effectAllowed="move")}function l(_){!a.value||a.value===_||(o.value=_)}function c(_){o.value===_&&(o.value="")}function h(_){const R=a.value;f(),!(!R||R===_)&&n("reorder",{draggedId:R,targetId:_})}function f(){a.value="",o.value=""}function g(_){var D,K,Z;const R=_.text.trim();if(R)return R;const O=[],B=((D=_.imageUrls)==null?void 0:D.length)??0,te=((K=_.fileAttachments)==null?void 0:K.length)??0,j=((Z=_.skills)==null?void 0:Z.length)??0;return B>0&&O.push(`${B} ${r(B===1?"image":"images")}`),te>0&&O.push(`${te} ${r(te===1?"file":"files")}`),j>0&&O.push(`${j} ${r(j===1?"skill":"skills")}`),O.join(", ")||r("(empty queued message)")}return(_,R)=>e.messages.length>0?(k(),I("div",oA,[m("div",aA,[(k(!0),I(Ge,null,jt(e.messages,O=>(k(),I("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:B=>s(B,O.id),onDragover:Xe(B=>l(O.id),["prevent"]),onDragleave:B=>c(O.id),onDrop:Xe(B=>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")},[...R[0]||(R[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,iA),R[2]||(R[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",lA,P(g(O)),1),m("div",uA,[m("button",{class:"queued-row-edit",type:"button",title:S(r)("Edit queued message"),onClick:B=>_.$emit("edit",O.id)},P(S(r)("Edit")),9,cA),m("button",{class:"queued-row-steer",type:"button",title:S(r)("Send now without interrupting work"),onClick:B=>_.$emit("steer",O.id)},P(S(r)("Steer")),9,dA),m("button",{class:"queued-row-delete",type:"button","aria-label":S(r)("Delete queued message"),title:S(r)("Delete queued message"),onClick:B=>_.$emit("delete",O.id)},[...R[1]||(R[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,fA)])],42,sA))),128))])])):X("",!0)}}),pA=Ct(hA,[["__scopeId","data-v-b7a3edb8"]]),mA={key:0,class:"rate-limit-status","aria-live":"polite"},vA=["title"],gA={class:"rate-limit-card-header"},yA={class:"rate-limit-card-title"},wA={key:0,class:"rate-limit-card-plan"},bA={class:"rate-limit-card-metrics"},_A={key:0,class:"rate-limit-card-footer"},TA=Vn({__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,Z=String(D.getDate()).padStart(2,"0"),be=String(D.getHours()).padStart(2,"0"),fe=String(D.getMinutes()).padStart(2,"0");return`${K}.${Z} ${be}:${fe}`}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 Z=Math.round(K/60);return Z<24?`Resets in ${Z}h`:`Resets in ${Math.round(Z/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,Z)=>{const be=K.windowDurationMins??Number.MAX_SAFE_INTEGER,fe=Z.windowDurationMins??Number.MAX_SAFE_INTEGER;return be!==fe?be-fe:(K.resetsAt??Number.MAX_SAFE_INTEGER)-(Z.resetsAt??Number.MAX_SAFE_INTEGER)})[0]}function R(j){const D=g(j);if(D.length===0)return"";const K=[...D].sort((be,fe)=>{const _e=be.windowDurationMins??-1,Ne=fe.windowDurationMins??-1;return _e!==Ne?Ne-_e:(fe.resetsAt??-1)-(be.resetsAt??-1)})[0],Z=h(K.resetsAt);return Z||""}function O(j){const D=j.credits;return D?D.unlimited?"Unlimited credits":D.balance?`Credits ${D.balance}`:D.hasCredits?"Credits available":"":""}function B(j){return[f(_(j)),R(j),O(j)].filter(D=>D.length>0)}function te(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 B(j))D.push(K);return D.join(`
50
- `)}return(j,D)=>e.snapshots.length>0?(k(),I("aside",mA,[(k(!0),I(Ge,null,jt(e.snapshots,K=>(k(),I("div",{key:t(K),class:"rate-limit-card",title:te(K)},[m("div",gA,[m("span",yA,P(n(K)),1),K.planType?(k(),I("span",wA,P(r(K.planType)),1)):X("",!0)]),m("div",bA,[(k(!0),I(Ge,null,jt(c(K),Z=>(k(),I("span",{key:Z.key,class:"rate-limit-card-metric"},P(Z.label),1))),128))]),B(K).length>0?(k(),I("div",_A,P(B(K).join(" | ")),1)):X("",!0)],8,vA))),128))])):X("",!0)}}),kA=Ct(TA,[["__scopeId","data-v-df88906b"]]),CA=["disabled","title","aria-label"],SA={class:"header-git-trigger-label"},xA={key:0,class:"header-git-dirty-dot","aria-label":"Uncommitted changes"},AA={key:0,class:"header-git-menu-wrap"},EA={class:"header-git-menu"},IA={class:"header-git-state"},RA={class:"header-git-state-label"},PA={class:"header-git-state-value"},MA={key:0,class:"header-git-state-meta"},$A={class:"header-git-search-wrap"},NA=["onKeydown"],LA={class:"header-git-branches",role:"listbox"},OA={class:"header-git-branch-row"},jA=["aria-label","onClick"],DA=["disabled","onClick"],FA={class:"header-git-branch-name"},UA={key:0,class:"header-git-branch-meta"},BA={key:1,class:"header-git-branch-meta"},qA={key:0,class:"header-git-commits"},HA={key:0,class:"header-git-commits-empty"},WA={key:1,class:"header-git-commits-empty is-error"},zA=["disabled","title","onClick"],VA={class:"header-git-commit-top"},GA={class:"header-git-commit-meta"},KA={key:0,class:"header-git-branch-meta"},YA={class:"header-git-commit-subject"},QA={key:2,class:"header-git-commits-empty"},JA={key:0,class:"header-git-empty"},XA=Vn({__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=x(null),o=x(null),s=x(!1),l=x(""),c=x(""),h=ne(()=>n.showReview!==!1),f=ne(()=>n.currentBranch?n.currentBranch:n.headSubject?n.headSubject:n.headSha?`Detached ${n.headSha}`:n.loading?"Loading branch...":"Detached HEAD"),g=ne(()=>n.detached?[n.headSha,n.headDate].filter(Boolean).join(" · "):""),_=ne(()=>`Git branch: ${f.value}`),R=ne(()=>n.loading&&n.branches.length===0),O=ne(()=>n.busy||n.loading),B=ne(()=>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.":"")),te=ne(()=>n.error?"error":"info"),j=ne(()=>{const G=l.value.trim().toLowerCase(),ve=n.branches;return G?ve.filter(Se=>Se.label.toLowerCase().includes(G)||Se.value.toLowerCase().includes(G)):ve});function D(){R.value||(s.value=!s.value)}function K(G){c.value=c.value===G?"":G,c.value&&r("loadCommits",G)}function Z(G){var Se;const ve=((Se=n.headSha)==null?void 0:Se.trim())??"";return ve?G.sha===ve||G.shortSha===ve||G.sha.startsWith(ve):!1}function be(G,ve){return G.isRemote?"Remote branches cannot be reset from this menu":`Reset ${G.value} to ${ve.shortSha}`}function fe(G,ve){G.isRemote||r("resetBranchToCommit",{branch:G.value,sha:ve.sha})}function _e(){if(l.value){l.value="";return}s.value=!1}function Ne(G){if(!s.value)return;const ve=a.value,Se=G.target;!ve||!(Se instanceof Node)||ve.contains(Se)||(s.value=!1,l.value="")}return pt(s,G=>{G&&Vt(()=>{var ve;return(ve=o.value)==null?void 0:ve.focus()})}),la(()=>window.addEventListener("pointerdown",Ne)),Ia(()=>window.removeEventListener("pointerdown",Ne)),(G,ve)=>(k(),I("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:R.value,title:_.value,"aria-label":_.value,onClick:D},[Ue(ws,{class:"header-git-trigger-icon"}),m("span",SA,P(f.value),1),e.dirty?(k(),I("span",xA)):X("",!0),Ue(Qa,{class:"header-git-trigger-chevron"})],8,CA),s.value?(k(),I("div",AA,[m("div",EA,[h.value?(k(),I("button",{key:0,class:"header-git-review-row",type:"button",onClick:ve[0]||(ve[0]=Se=>r("toggleReview"))},[Ue(Ns,{class:"header-git-row-icon"}),m("span",null,P(e.reviewOpen?"Review (Open)":"Review"),1)])):X("",!0),m("div",IA,[m("span",RA,P(e.detached?"Detached HEAD":"Current branch"),1),m("span",PA,P(f.value),1),g.value?(k(),I("span",MA,P(g.value),1)):X("",!0)]),B.value?(k(),I("div",{key:1,class:et(["header-git-status",{"is-error":te.value==="error"}])},P(B.value),3)):X("",!0),m("div",$A,[zt(m("input",{ref_key:"searchInputRef",ref:o,"onUpdate:modelValue":ve[1]||(ve[1]=Se=>l.value=Se),class:"header-git-search",type:"text",placeholder:"Search branches...",onKeydown:fn(Xe(_e,["prevent"]),["esc"])},null,40,NA),[[an,l.value]])]),m("ul",LA,[(k(!0),I(Ge,null,jt(j.value,Se=>(k(),I("li",{key:Se.value,class:"header-git-branch-item"},[m("div",OA,[m("button",{class:"header-git-branch-expand",type:"button","aria-label":c.value===Se.value?"Hide commits":"Show commits",onClick:se=>K(Se.value)},[Ue(li,{class:et(["header-git-expand-icon",{"is-expanded":c.value===Se.value}])},null,8,["class"])],8,jA),m("button",{class:et(["header-git-branch-button",{"is-current":Se.value===e.currentBranch}]),type:"button",disabled:O.value,onClick:se=>r("checkoutBranch",Se.value)},[m("span",FA,P(Se.label),1),Se.value===e.currentBranch?(k(),I("span",UA,"current")):Se.isRemote?(k(),I("span",BA,"remote")):X("",!0)],10,DA)]),c.value===Se.value?(k(),I("div",qA,[e.commitsLoadingFor===Se.value?(k(),I("div",HA,"Loading commits...")):e.commitsError?(k(),I("div",WA,P(e.commitsError),1)):X("",!0),(k(!0),I(Ge,null,jt(e.commitsByBranch[Se.value]||[],se=>(k(),I("button",{key:se.sha,class:et(["header-git-commit",{"is-current":Z(se)}]),type:"button",disabled:O.value||Se.isRemote,title:be(Se,se),onClick:Ae=>fe(Se,se)},[m("span",VA,[m("code",null,P(se.shortSha),1),m("span",GA,[Z(se)?(k(),I("span",KA,"current")):X("",!0),m("span",null,P(se.date),1)])]),m("span",YA,P(se.subject),1)],10,zA))),128)),e.commitsLoadingFor!==Se.value&&!e.commitsError&&(e.commitsByBranch[Se.value]||[]).length===0?(k(),I("div",QA," No commits found. ")):X("",!0)])):X("",!0)]))),128)),j.value.length===0?(k(),I("li",JA,"No branches found.")):X("",!0)])])])):X("",!0)],2))}}),ZA=Ct(XA,[["__scopeId","data-v-5f4121b3"]]),eE=["aria-label"],tE=["aria-checked","onClick"],nE={class:"runtime-toggle-option-label"},rE=Vn({__name:"ComposerRuntimeDropdown",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,{t:r}=Ra(),a=[{value:"local",label:r("Local project"),icon:Kc},{value:"worktree",label:r("New worktree"),icon:ws}];function o(s){n("update:modelValue",s)}return(s,l)=>(k(),I("div",{class:"runtime-toggle",role:"radiogroup","aria-label":S(r)("Continue in")},[(k(),I(Ge,null,jt(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(Oc(c.icon),{class:"runtime-toggle-option-icon"})),m("span",nE,P(c.label),1)],10,tE)),64))],8,eE))}}),oE=Ct(rE,[["__scopeId","data-v-0f175c28"]]),aE={},sE={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 iE(e,t){return k(),I("svg",sE,[...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 lE=Ct(aE,[["render",iE]]),uE={},cE={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"};function dE(e,t){return k(),I("svg",cE,[...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 fE=Ct(uE,[["render",dE]]),hE={class:"sidebar-thread-controls"},pE=["aria-label","title"],mE=["aria-label","title"],vE=Vn({__name:"SidebarThreadControls",props:{isSidebarCollapsed:{type:Boolean},showNewThreadButton:{type:Boolean}},emits:["toggle-sidebar","start-new-thread"],setup(e){const{t}=Ra();return(n,r)=>(k(),I("div",hE,[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(fE,{key:0,class:"sidebar-thread-controls-icon"})):(k(),Ze(lE,{key:1,class:"sidebar-thread-controls-icon"}))],8,pE),Lo(n.$slots,"default",{},void 0),e.showNewThreadButton?(k(),I("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"))},[Ue(Ns,{class:"sidebar-thread-controls-icon"})],8,mE)):X("",!0)]))}}),ch=Ct(vE,[["__scopeId","data-v-2369affb"]]),gE={},yE={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"};function wE(e,t){return k(),I("svg",yE,[...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 dh=Ct(gE,[["render",wE]]),bE={},_E={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function TE(e,t){return k(),I("svg",_E,[...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 kE=Ct(bE,[["render",TE]]),CE={},SE={viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"};function xE(e,t){return k(),I("svg",SE,[...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 AE=Ct(CE,[["render",xE]]),EE={},IE={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function RE(e,t){return k(),I("svg",IE,[...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 PE=Ct(EE,[["render",RE]]);function _r(e){return e.flatMap(t=>t.threads)}function ME(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 Cm="codex-web-local.thread-read-state.v1",fh="codex-web-local.thread-unread-cutoff.v1",Sm="codex-web-local.thread-token-usage.v1",xm="codex-web-local.thread-terminal-open.v1",mc="codex-web-local.selected-thread-id.v1",vc="codex-web-local.selected-model-by-context.v1",Am="codex-web-local.selected-model-id.v1",Em="codex-web-local.project-order.v1",Im="codex-web-local.project-display-name.v1",gc="codex-web-local.collaboration-mode-by-context.v1",$E="codex-web-local.collaboration-mode.v1",xa="__new-thread__",Rm="__new-thread-provider__::",Bu=220,NE=1e4,LE=500,OE=3e3,jE=2e3,hh=["none","minimal","low","medium","high","xhigh"],fs="__global__",io="gpt-5.4-mini";function DE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Cm);if(!e)return{};const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?{}:t}catch{return{}}}function ph(e){typeof window>"u"||window.localStorage.setItem(Cm,JSON.stringify(e))}function FE(){if(typeof window>"u")return"";const e=window.localStorage.getItem(fh);if(e)return e;const t=new Date().toISOString();return window.localStorage.setItem(fh,t),t}function UE(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 BE(e,t,n){return UE(e,t??n)}function Pm(e){return e==="plan"?"plan":"default"}function Ls(e){return typeof e=="string"?e.trim():""}function uo(){return Object.create(null)}function ui(e){const t=uo();for(const[n,r]of Object.entries(e))t[n]=r;return t}function wi(e,t){if(!(t in e))return e;const n=uo();for(const[r,a]of Object.entries(e))r!==t&&(n[r]=a);return n}function mh(e,t){let n=!1;const r=uo();for(const[a,o]of Object.entries(e)){if(a===xa||a.startsWith(Rm)||t.has(a)){r[a]=o;continue}n=!0}return n?r:e}function Mm(e){return e.trim().toLowerCase()||"codex"}function qE(e){return e===xa}function qu(e){const t=Mm(e);return`${Rm}${t}`}function As(e){return e.trim()||xa}function HE(){if(typeof window>"u")return uo();try{const n=window.localStorage.getItem(vc);if(n){const r=JSON.parse(n);if(!r||typeof r!="object"||Array.isArray(r))return uo();const a=uo();for(const[o,s]of Object.entries(r)){if(typeof o!="string"||o.length===0)continue;const l=Ls(s);l&&(a[o]=l)}return a}}catch{}const e=Ls(window.localStorage.getItem(Am)),t=uo();return e&&(t[xa]=e),t}function vh(e,t){const n=As(t),r=Ls(e[n]);return r||Ls(e[xa])}function al(e){if(!(typeof window>"u"))try{Object.keys(e).length===0?window.localStorage.removeItem(vc):window.localStorage.setItem(vc,JSON.stringify(e)),window.localStorage.removeItem(Am)}catch{}}function WE(){if(typeof window>"u")return uo();try{const e=window.localStorage.getItem(gc);if(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return uo();const n=uo();for(const[r,a]of Object.entries(t)){if(typeof r!="string"||r.length===0)continue;const o=Pm(a);o==="plan"&&(n[r]=o)}return n}}catch{}return uo()}function sl(e,t){const n=As(t);return Pm(e[n])}function gh(e,t,n){const r=As(t);if(qE(r))return wi(e,r);if(n==="plan"){const a=ui(e);return a[r]="plan",a}return wi(e,r)}function Hu(e){if(!(typeof window>"u"))try{Object.keys(e).length===0?window.localStorage.removeItem(gc):window.localStorage.setItem(gc,JSON.stringify(e)),window.localStorage.removeItem($E)}catch{}}function $m(e,t,n){return Math.min(Math.max(e,t),n)}function gs(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 yh(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;return{totalTokens:gs(t.totalTokens)??0,inputTokens:gs(t.inputTokens)??0,cachedInputTokens:gs(t.cachedInputTokens)??0,outputTokens:gs(t.outputTokens)??0,reasoningOutputTokens:gs(t.reasoningOutputTokens)??0}}function zE(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,n=yh(t.total),r=yh(t.last);if(!n||!r)return null;const a=gs(t.modelContextWindow),o=r.totalTokens,s=typeof a=="number"?Math.max(a-o,0):null,l=typeof a=="number"&&a>0?$m(Math.round((s??0)/a*100),0,100):null;return{total:n,last:r,modelContextWindow:a,currentContextTokens:o,remainingContextTokens:s,remainingContextPercent:l}}function VE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Sm);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=zE(a);o&&(n[r]=o)}return n}catch{return{}}}function wh(e){typeof window>"u"||window.localStorage.setItem(Sm,JSON.stringify(e))}function GE(){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))r&&typeof a=="boolean"&&(n[r]=a);return n}catch{return{}}}function KE(e){typeof window>"u"||window.localStorage.setItem(xm,JSON.stringify(e))}function YE(){return typeof window>"u"?"":window.localStorage.getItem(mc)??""}function QE(e){if(!(typeof window>"u")){if(!e){window.localStorage.removeItem(mc);return}window.localStorage.setItem(mc,e)}}function JE(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(Em);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=Kr(r);a.length>0&&!n.includes(a)&&n.push(a)}return n}catch{return[]}}function si(e){typeof window>"u"||window.localStorage.setItem(Em,JSON.stringify(e))}function XE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Im);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"?Kr(r):"";o.length>0&&typeof a=="string"&&(n[o]=a)}return n}catch{return{}}}function bh(e){typeof window>"u"||window.localStorage.setItem(Im,JSON.stringify(e))}function hs(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 Ca(e,n)?e:n}function Wu(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 Ca(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 ZE(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 eI(e,t){return!e&&!t?!0:!e||!t?!1:e.status===t.status&&e.aggregatedOutput===t.aggregatedOutput&&e.exitCode===t.exitCode}function tI(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 nI(e,t){return!e&&!t?!0:!e||!t?!1:e.explanation===t.explanation&&e.isStreaming===t.isStreaming&&tI(e.steps,t.steps)}function il(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 yc(e,t){return e.id===t.id&&e.role===t.role&&e.text===t.text&&Ca(e.images,t.images)&&oI(e.fileChanges,t.fileChanges)&&e.fileChangeStatus===t.fileChangeStatus&&e.messageType===t.messageType&&e.rawPayload===t.rawPayload&&e.isUnhandled===t.isUnhandled&&eI(e.commandExecution,t.commandExecution)&&nI(e.plan,t.plan)&&e.turnId===t.turnId&&e.turnIndex===t.turnIndex&&e.isAutomationRun===t.isAutomationRun&&e.automationDisplayName===t.automationDisplayName}function bs(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 rI(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&&yc(g,f)?g:f});if(n.preserveMissing!==!0)return bs(e,o)?e:o;const s=e.map(f=>{const g=a.get(f.id);return!g||yc(f,g)?f:g}),l=new Set(e.map(f=>f.id)),c=o.filter(f=>!l.has(f.id)),h=[...s,...c];return bs(e,h)?e:h}function oI(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 wc(e){return e.replace(/\s+/gu," ").trim()}function aI(e,t){const n=new Set(t.map(o=>o.id)),r=new Set(t.filter(o=>o.role==="assistant").map(o=>wc(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=wc(o.text);return s.length===0?!1:!r.has(s)});return a.length===e.length?e:a}function ll(e,t){const n=e.findIndex(o=>o.id===t.id);if(n<0)return[...e,t];const r=e[n];if(yc(r,t))return e;const a=[...e];return a.splice(n,1,t),a}const Nm="worked";function _a(e){if(!e)return null;const t=new Date(e).getTime();return Number.isNaN(t)?null:t}function sI(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 iI(e,t){return!e&&!t?!0:!e||!t?!1:e.turnId===t.turnId&&e.durationMs===t.durationMs}function lI(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 uI(e){return{id:`turn-summary:${e.turnId}`,role:"system",text:`Worked for ${sI(e.durationMs)}`,messageType:Nm,turnId:e.turnId}}function cI(e){for(let t=e.length-1;t>=0;t-=1)if(e[t].role==="assistant")return t;return-1}function dI(e,t){const n=uI(t),r=e.filter(s=>s.messageType!==Nm),a=cI(r);if(a<0)return[...r,n];const o=[...r];return o.splice(a,0,n),o}function kt(e,t){if(!(t in e))return e;const n={...e};return delete n[t],n}function fI(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 hI(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 pI(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 mI(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 rn(e,t){const n=Object.entries(e).filter(([r])=>t.has(r));return n.length===Object.keys(e).length?e:Object.fromEntries(n)}function _h(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 ul(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&&hI(h,c)?h:c});return o&&o.projectName===a.projectName&&pI(o.threads,l)?o:{projectName:a.projectName,threads:l}});return mI(e,r)?e:r}function vI(e,t,n){const r=new Set(_r(t).map(l=>l.id)),a=_r(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 Kr(e)}function gI(e){const t=e.trim();if(!t)return"";const n=t.lastIndexOf(":");return n>=0?t.slice(n+1):t}function yI(e){const t=e.label||Kr(e.remotePath),n=gI(e.hostId);return n?`${t} ${n}`:t}function Lm(e){const t=(e==null?void 0:e.remoteProjects)??[];return new Map(t.map(n=>[n.id,n]))}function zl(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 bc(e,t){const n=Lm(e);return zl(e).map(r=>{if(n.has(r))return r;const a=ot(r).trim(),o=Za(a);return t.has(o)?a:o})}function vl(e,t){return ot(e).trim()===t||Za(e)===t}function wI(e,t){const n=new Set;for(const r of e.order)vl(r,t)&&n.add(r);for(const r of e.active)vl(r,t)&&n.add(r);for(const r of Object.keys(e.labels))vl(r,t)&&n.add(r);return n}function bI(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 zl(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 _I(e,t,n){const r=bc(t,n);if(r.length===0)return e;const a=new Map(r.map((o,s)=>[o,s]));return[...e].sort((o,s)=>{if(Tc(o)||Tc(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 _c(e,t){const n=new Map,r=new Map,a=s=>{const l=ot(s).trim();if(!l)return;const c=Kr(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=ot(s).trim();if(!l)continue;const c=Kr(l);xl(l)||r.set(c,(r.get(c)??0)+1),a(s)}for(const s of e)for(const l of s.threads){const c=ot(l.cwd).trim(),h=Kr(c),f=(t==null?void 0:t.order.some(g=>ot(g).trim()===c))===!0;xl(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 xl(e){return e.includes("/.codex/worktrees/")}function TI(e,t){const n=_c(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=ot(h).trim();if(!f||(s.add(f),xl(f)))continue;const g=Kr(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=ot(f.cwd).trim(),_=Kr(g),R=s.has(g),O=xl(g)&&!R&&r.has(_);let B=h.projectName;O&&n.has(_)?B=o.get(_)??h.projectName:g&&n.has(_)&&(B=g);const te=f.projectName===B?f:{...f,projectName:B},j=c.get(B);if(j)j.threads.push(te);else{const D={projectName:B,threads:[te]};c.set(B,D),l.push(D)}}return l}function kI(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=Lm(t);for(const s of zl(t)){if(o.has(s)){if(r.has(s))continue;a.push({projectName:s,threads:[]}),r.add(s);continue}const l=ot(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 CI(e){const t=e.split(`
51
- `).map(n=>n.trim()).find(n=>n.length>0);return t?t.slice(0,80):"Untitled thread"}function SI(e){const t=e.trim()||"Untitled thread";return/^fork:\s+/iu.test(t)?t:`Fork: ${t}`}function Tc(e){return e.threads.some(t=>t.cwd.trim().length===0||Cl(t.cwd))}function xI(){const e=x([]),t=x([]),n=x(YE()),r=x({}),a=x({}),o=x({}),s=x({}),l=x({}),c=x({}),h=x({}),f=x({}),g=x({});let _=!1;const R=x({}),O=x([]),B=x([{value:"default",label:"Default"},{value:"plan",label:"Plan"}]),te=x(WE()),j=x(HE()),D=x(sl(te.value,n.value)),K=x(vh(j.value,n.value)),Z=x("medium"),be=x("standard"),fe=x(""),_e=x(DE()),Ne=x(FE()),G=x(JE()),ve=x(XE()),Se=x({}),se=x({}),Ae=x({}),Fe=x({}),qe=x({}),Ke=x({}),$e=x({}),xe=x({}),Qe=x({}),Je=x({}),Be=x({}),ze=x({}),ft=x({}),rt=x(null),We=x(VE()),bt=x(GE()),J=x({}),Ee=x([]),ke=x([]),Pe=x(!1),Ye=x(!1),A=x(!1),$=x(!1),z=x(!1),ae=x(!1),Q=x(""),le=x(!1),pe=x(!1);function Te(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 ye(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 ce(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 H=((v=M.images[N])==null?void 0:v.trim())??"";if(H&&Te(H))return H}}return""}let Le=null,me=null,je=null;const Oe=new Map;let at=null;const F=new Map;let q=null,W=null,re=!1;const he=new Set,we=new Map;let Ie=null,st=null,dt=!1,Lt=!1,Sn=[],Mn=null,kr=!1,Gt=!1;const Nr=new Map,$n=new Set,Cr=ne(()=>_r(e.value)),hr=ne(()=>Cr.value.find(i=>i.id===n.value)??null),Qr=ne(()=>{const i=n.value;return!!(i&&bt.value[i]===!0)}),ca=ne(()=>{const i=n.value;return i?Qe.value[i]===!0:!1}),en=ne(()=>{const i=[],d=n.value;return d&&Array.isArray(ze.value[d])&&i.push(...ze.value[d]),Array.isArray(ze.value[fs])&&i.push(...ze.value[fs]),i.sort((v,T)=>v.receivedAtIso.localeCompare(T.receivedAtIso))}),sn=ne(()=>{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=$e.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}}),go=ne(()=>rt.value),Do=ne(()=>{const i=n.value;return i?We.value[i]??null:null}),Fo=ne(()=>{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]??[],H=[...d,...v,...M,...N,...T],Y=qe.value[i];return Y?dI(H,Y):H});function nt(i){if(As(i)===xa){const v=qu(fe.value),T=v?Ls(j.value[v]):"";if(T)return T}return vh(j.value,i).trim()}function tn(...i){const d=[...O.value];for(const v of i){const T=v.trim();T&&!d.includes(T)&&d.push(T)}Ca(O.value,d)||(O.value=d)}function Qt(i){n.value!==i&&(n.value=i,QE(i),K.value=nt(i),tn(K.value),D.value=sl(te.value,i),Gt=!1)}function Jr(i,d){const v=d.trim(),T=As(i);if(v){const M=ui(j.value);M[T]=v,j.value=M}else j.value=wi(j.value,T);if(i.trim()===n.value?(K.value=nt(n.value),tn(K.value)):tn(v),T===xa){const M=qu(fe.value);if(M)if(v){const N=ui(j.value);N[M]=v,j.value=N}else j.value=wi(j.value,M)}al(j.value)}function Jt(i){Jr(n.value,i)}function yn(i,d){const v=i.trim();if(!v)return;const T=d.trim();if(T){const M=ui(j.value);M[v]=T,j.value=M}else j.value=wi(j.value,v);tn(T),n.value===v&&(K.value=nt(n.value)),al(j.value)}function nr(i,d){const v=i.trim();if(!v)return;if(!d){if(!(v in We.value))return;We.value=kt(We.value,v),wh(We.value);return}const T=We.value[v];T&&JSON.stringify(T)===JSON.stringify(d)||(We.value={...We.value,[v]:d},wh(We.value))}function xn(i){const d=i==="plan"?"plan":"default",v=As(n.value);sl(te.value,n.value)===d&&D.value===d||(D.value=d,te.value=gh(te.value,v,d),Hu(te.value))}function nn(i,d){const v=d==="plan"?"plan":"default";te.value=gh(te.value,i,v),i.trim()===n.value&&(D.value=v),Hu(te.value)}function Mt(i){rt.value=i}async function Ht(i=n.value){i.trim()?yn(i,io):Jt(io),tn(io)}function An(i,d){ft.value={...ft.value,[i]:d}}function rr(i){ft.value[i]&&(ft.value=kt(ft.value,i))}async function yo(i){if($n.has(i))return;const d=ft.value[i];if(!(!d||d.fallbackRetried)){$n.add(i),An(i,{...d,fallbackRetried:!0});try{await Ht(i);try{const v=await Nu(i,1);Fn(i,v),E(i),jr(i,[]),In(i),l.value[i]&&(l.value=kt(l.value,i))}catch{}Tt(i,null),Q.value="",ln(i,null),gt(i,{label:"Thinking",details:Nn(io,d.effort,d.collaborationMode)}),Ut(i,!0),Ae.value[i]!==!0&&await $u(i),await Lu(i,d.text,d.imageUrls,io,d.effort||void 0,d.skills.length>0?d.skills:void 0,d.fileAttachments,d.collaborationMode),Ae.value={...Ae.value,[i]:!0},Sr(),he.add(i),await ao()}catch(v){const T=v instanceof Error?v.message:"Unknown application error";Tt(i,T),Q.value=T,Ut(i,!1),gt(i,null)}finally{$n.delete(i)}}}function pr(i){i&&!hh.includes(i)||(Z.value=i)}async function Uo(i){const d=i==="fast"?"fast":"standard";if(z.value||be.value===d)return;const v=be.value;be.value=d,z.value=!0,Q.value="";try{await h_(d)}catch(T){be.value=v,Q.value=T instanceof Error?T.message:"Failed to update Fast mode"}finally{z.value=!1}}async function Xr(){try{const i=await w_();B.value=i,i.some(d=>d.value===D.value)||xn("default")}catch{}}function Nn(i,d,v=D.value){const T=i.trim()||"default",M=d||"default",N=v==="plan"?"Plan":"Default",H=be.value==="fast"?"Fast":"Standard";return[`Mode: ${N}`,`Model: ${T}`,`Thinking: ${M}`,`Speed: ${H}`]}async function Zr(i){try{const[d,v]=await Promise.all([vm({includeProviderModels:(i==null?void 0:i.includeProviderModels)!==!1}),gm()]),T=nt(n.value),M=v.model.trim(),N=Mm(v.providerId);fe.value=N;const H=qu(N),Y=H?Ls(j.value[H]):"",ie=[...d];if(!(i!=null&&i.providerChanged))for(const Ve of[T,M])Ve&&!ie.includes(Ve)&&ie.push(Ve);O.value=ie;const ge=T&&d.includes(T);if((!T||!ge||i!=null&&i.providerChanged)&&(i!=null&&i.providerChanged&&ie.length>0?Y&&ie.includes(Y)?Jt(Y):M&&ie.includes(M)?Jt(M):Jt(ie[0]):M&&ie.includes(M)?Jt(v.model):ie.length>0?Jt(ie[0]):Jt("")),H&&K.value.trim().length>0){const Ve=ui(j.value);Ve[H]=K.value.trim(),j.value=Ve,al(j.value)}v.reasoningEffort&&hh.includes(v.reasoningEffort)&&(Z.value=v.reasoningEffort),be.value=v.speedMode}catch{}}async function Ln(){if(W){await W;return}W=(async()=>{try{const i=await X0();Mt(i),ke.value=i?[i]:[]}catch{}finally{W=null}})(),await W}function Sr(){if(typeof window>"u"){Ln();return}je!==null&&window.clearTimeout(je),je=window.setTimeout(()=>{je=null,Ln()},LE)}function On(i){if(!i||typeof window>"u")return;const d=Oe.get(i);d!==void 0&&(window.clearTimeout(d),Oe.delete(i))}function Lr(i){if(!i||typeof window>"u")return;On(i);const d=window.setTimeout(()=>{Oe.delete(i),he.add(i),ao()},OE);Oe.set(i,d)}function jn(i){const d=J.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 mr(i){return i?Array.isArray(ze.value[i])?ze.value[i]:[]:[]}function Gn(i){return i==="item/commandExecution/requestApproval"||i==="item/fileChange/requestApproval"||i==="item/permissions/requestApproval"||i==="execCommandApproval"||i==="applyPatchApproval"}function wo(i){return i.some(d=>Gn(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=wo(mr(T.id)),H=n.value===T.id,Y=R.value[T.id]===!0,ie=BE(T.updatedAtIso,_e.value[T.id],Ne.value);return{...T,inProgress:M,unread:!H&&!M&&(Y||ie),pendingRequestState:N}})}));e.value=ul(e.value,d)}function Dn(i,d,v){const T=new Date().toISOString(),M=ot(d),N=Kr(M),H={id:i,title:CI(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(ge=>ge.projectName===N);if(Y>=0){const Ve=t.value[Y].threads.filter(_t=>_t.id!==i),yt={projectName:N,threads:[H,...Ve]},wt=[...t.value];wt.splice(Y,1,yt),t.value=wt}else t.value=[{projectName:N,threads:[H]},...t.value];const ie=hs(G.value,t.value);Ca(G.value,ie)||(G.value=ie,si(G.value)),Ft()}function Kt(i){const d=new Set(i.map(ie=>ie.id)),v=n.value.trim();v&&d.add(v);const T=mh(j.value,d);T!==j.value&&(j.value=T,K.value=nt(n.value),tn(K.value),al(T));const M=mh(te.value,d);M!==te.value&&(te.value=M,D.value=sl(M,n.value),Hu(M));const N=rn(_e.value,d);N!==_e.value&&(_e.value=N,ph(N)),se.value=rn(se.value,d),Se.value=rn(Se.value,d),Ae.value=rn(Ae.value,d),Fe.value=rn(Fe.value,d),r.value=rn(r.value,d),o.value=rn(o.value,d),s.value=rn(s.value,d),l.value=rn(l.value,d),c.value=rn(c.value,d),qe.value=rn(qe.value,d),Ke.value=rn(Ke.value,d),$e.value=rn($e.value,d),xe.value=rn(xe.value,d),Qe.value=rn(Qe.value,d),Je.value=rn(Je.value,d),Be.value=rn(Be.value,d);const H=rn(f.value,d);H!==f.value&&(f.value=H,w()),We.value=rn(We.value,d),R.value=rn(R.value,d),h.value=rn(h.value,d);const Y={};for(const[ie,ge]of Object.entries(ze.value))(ie===fs||d.has(ie))&&(Y[ie]=ge);ze.value=Y}function St(i){const d=_r(t.value).find(v=>v.id===i);d&&(_e.value={..._e.value,[i]:d.updatedAtIso},ph(_e.value),R.value[i]&&(R.value=kt(R.value,i)),Ft())}function ln(i,d){if(!i)return;const v=qe.value[i];if(d){if(iI(v,d))return;qe.value={...qe.value,[i]:d}}else v&&(qe.value=kt(qe.value,i))}function Ut(i,d){!i||h.value[i]===!0===d||(d?h.value={...h.value,[i]:!0}:(h.value=kt(h.value,i),oe(i),hn(i)),Ft(),!d&&!xt()&&Ie&&qn())}function hn(i){i&&(Qe.value[i]&&(Qe.value=kt(Qe.value,i)),Je.value[i]&&(Je.value=kt(Je.value,i)),Be.value[i]&&(Be.value=kt(Be.value,i)))}function or(i){i&&(Qe.value={...Qe.value,[i]:!0},Je.value[i]&&(Je.value=kt(Je.value,i)),Be.value[i]&&(Be.value=kt(Be.value,i)))}function Kn(i){i&&Qe.value[i]===!0&&Je.value[i]===!0&&Be.value[i]===!0&&hn(i)}function Or(i,d){!i||!d||Qe.value[i]===!0&&hn(i)}function wn(i){const d=Object.keys(Qe.value);if(d.length===0)return;let v=Je.value,T=!1;for(const M of d)!i.has(M)||v[M]===!0||(v={...v,[M]:!0},T=!0);if(T){Je.value=v;for(const M of d)Kn(M)}}function xr(i,d){i&&Qe.value[i]===!0&&d.some(v=>v.role==="user")&&(Be.value[i]!==!0&&(Be.value={...Be.value,[i]:!0}),Kn(i))}function un(i){i&&i!==n.value&&R.value[i]!==!0&&(R.value={...R.value,[i]:!0},Ft())}function gt(i,d){if(!i)return;const v=Ke.value[i];if(!d){v&&(Ke.value=kt(Ke.value,i));return}const T=fa(d.label)||"Thinking",M=d.details.map(Y=>fa(Y)).filter(Y=>Y.length>0&&Y!==T),N=Array.from(new Set([...(v==null?void 0:v.details)??[],...M])).slice(-3),H={label:T,details:N};lI(v,H)||(Ke.value={...Ke.value,[i]:H})}function Tt(i,d,v={}){if(!i)return;const T=$e.value[i],M=d?wc(d):"";if(!M){T&&($e.value=kt($e.value,i));return}const N=v.transient===!0;(T==null?void 0:T.message)===M&&T.transient===N||($e.value={...$e.value,[i]:{message:M,transient:N}})}function En(i){var d;i&&(d=$e.value[i])!=null&&d.transient&&Tt(i,null)}function pn(){const i=Object.entries($e.value).filter(([,v])=>v==null?void 0:v.transient).map(([v])=>v);if(i.length===0)return;let d=$e.value;for(const v of i)d=kt(d,v);$e.value=d}function Bt(i){const d=_r(t.value).find(v=>v.id===i);return(d==null?void 0:d.updatedAtIso)??""}function Ar(i,d){if(!i)return;const v={...bt.value};d?v[i]=!0:delete v[i],bt.value=v,KE(v)}function Er(){const i=n.value;i&&Ar(i,!Qr.value)}function Fn(i,d){const v=r.value[i]??[];bs(v,d)||(r.value={...r.value,[i]:d})}function jr(i,d){const v=o.value[i]??[];bs(v,d)||(o.value={...o.value,[i]:d})}function vr(i){i&&i in o.value&&(o.value=kt(o.value,i))}function Un(i,d){const v=c.value[i]??[];bs(v,d)||(c.value={...c.value,[i]:d})}function Yn(i,d){const v=a.value[i]??[];bs(v,d)||(a.value={...a.value,[i]:d})}function $t(i,d){const v=a.value[i]??[],T=ll(v,d);Yn(i,T)}function Bn(i,d){const v=o.value[i]??[],T=ll(v,d);jr(i,T)}function Dr(i,d){const v=c.value[i]??[],T=ll(v,d);Un(i,T)}function ar(i,d){if(!i)return;const v=d.trim(),T=s.value[i]??"";if(v.length===0){if(!T)return;s.value=kt(s.value,i);return}T!==v&&(s.value={...s.value,[i]:v})}function Fr(i,d){if(!i)return;const v=s.value[i]??"";ar(i,`${v}${d}`)}function In(i){i&&i in s.value&&(s.value=kt(s.value,i))}function E(i){i&&i in a.value&&(a.value=kt(a.value,i))}function U(i){i&&i in c.value&&(c.value=kt(c.value,i))}function oe(i){i&&(E(i),In(i),gt(i,null),n.value,l.value[i]&&(l.value=kt(l.value,i)),xe.value[i]&&(xe.value=kt(xe.value,i)),rr(i))}function De(i){return i==="completed"?"completed":i==="inProgress"||i==="in_progress"?"inProgress":"pending"}function mt(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 Yt(i){if(i.method!=="turn/plan/updated")return null;const d=Me(i.params),v=Xt(i),T=Ce(d==null?void 0:d.turnId)||Ce(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:Ce(ie==null?void 0:ie.step),status:De(ie==null?void 0:ie.status)})).filter(ie=>ie.step.length>0);if(!v||!T)return null;const Y={explanation:Ce(d==null?void 0:d.explanation).trim()||void 0,steps:N,isStreaming:!0};return{threadId:v,message:{id:`${T}:plan`,role:"assistant",text:mt(Y),messageType:"plan.live",plan:Y}}}function cn(i){if(i.method!=="item/plan/delta")return null;const d=Me(i.params),v=Xt(i),T=Ce(d==null?void 0:d.turnId)||Ce(d==null?void 0:d.turn_id),M=Ce(d==null?void 0:d.delta);if(!v||!T||!M)return null;const N=`${T}:plan`,H=(a.value[v]??[]).find(ge=>ge.id===N),Y=`${(H==null?void 0:H.text)??""}${M}`,ie=H!=null&&H.plan?{...H.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 Ce(i){return typeof i=="string"?i:""}function vt(i){return typeof i=="number"&&Number.isFinite(i)?i:null}function bn(i){const d=Me(i);if(!d)return null;const v=vt(d.totalTokens??d.total_tokens),T=vt(d.inputTokens??d.input_tokens),M=vt(d.cachedInputTokens??d.cached_input_tokens),N=vt(d.outputTokens??d.output_tokens),H=vt(d.reasoningOutputTokens??d.reasoning_output_tokens);return v===null||T===null||M===null||N===null||H===null?null:{totalTokens:v,inputTokens:T,cachedInputTokens:M,outputTokens:N,reasoningOutputTokens:H}}function Qn(i){const d=Me(i);if(!d)return null;const v=bn(d.total),T=bn(d.last);if(!v||!T)return null;const M=vt(d.modelContextWindow??d.model_context_window),N=T.totalTokens,H=typeof M=="number"?Math.max(M-N,0):null,Y=typeof M=="number"&&M>0?$m(Math.round((H??0)/M*100),0,100):null;return{total:v,last:T,modelContextWindow:M,currentContextTokens:N,remainingContextTokens:H,remainingContextPercent:Y}}function Fs(i){if(i.method!=="thread/tokenUsage/updated")return null;const d=Me(i.params),v=Xt(i),T=Qn((d==null?void 0:d.tokenUsage)??(d==null?void 0:d.token_usage));return!v||!T?null:{threadId:v,usage:T}}function Xt(i){const d=Me(i.params);if(!d)return"";const v=Ce(d.threadId);if(v)return v;const T=Ce(d.thread_id);if(T)return T;const M=Ce(d.conversationId);if(M)return M;const N=Ce(d.conversation_id);if(N)return N;const H=Me(d.thread),Y=Ce(H==null?void 0:H.id);if(Y)return Y;const ie=Me(d.turn),ge=Ce(ie==null?void 0:ie.threadId);if(ge)return ge;const Ve=Ce(ie==null?void 0:ie.thread_id);return Ve||""}function Bo(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 Ce(T==null?void 0:T.message)}function Ir(i){var T;if(i.method!=="error")return null;const d=Me(i.params),v=Ce(d==null?void 0:d.message)||Ce((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 mn(i){const d=Me(i);if(!d)return null;const v=d.id,T=Ce(d.method),M=d.params;if(typeof v!="number"||!Number.isInteger(v)||!T)return null;const N=Me(M),H=qo(T,N),Y=Ce(N==null?void 0:N.threadId)||Ce(N==null?void 0:N.thread_id)||Ce(N==null?void 0:N.conversationId)||Ce(N==null?void 0:N.conversation_id)||fs,ie=Ce(N==null?void 0:N.turnId)||Ce(N==null?void 0:N.turn_id),ge=Ce(N==null?void 0:N.itemId)||Ce(N==null?void 0:N.item_id)||Ce(N==null?void 0:N.callId)||Ce(N==null?void 0:N.call_id),Ve=Ce(d.receivedAtIso)||new Date().toISOString();return{id:v,method:H,threadId:Y,turnId:ie,itemId:ge,receivedAtIso:Ve,params:M??null}}function qo(i,d){const v=i.trim();return v&&(v==="item/commandExecution/requestApproval"||v==="execCommandApproval"||v==="exec_approval_request"||Pa(d)?"item/commandExecution/requestApproval":v==="item/fileChange/requestApproval"||v==="applyPatchApproval"||v==="apply_patch_approval_request"||bo(d)?"item/fileChange/requestApproval":v==="item/tool/requestUserInput"||v==="request_user_input"||eo(d)?"item/tool/requestUserInput":v==="mcpServer/elicitation/request"||v==="elicitation_request"||to(d)?"mcpServer/elicitation/request":v==="item/permissions/requestApproval"||Br(d)?"item/permissions/requestApproval":v==="item/tool/call"||v==="dynamic_tool_call_request"||Ur(d)?"item/tool/call":v)}function Pa(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 bo(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 eo(i){return!!(i&&Array.isArray(i.questions))}function Ur(i){return i?typeof i.toolName=="string"||typeof i.tool_name=="string"||typeof i.name=="string"||Array.isArray(i.arguments):!1}function to(i){if(!i)return!1;const d=Ce(i.mode);return typeof i.serverName=="string"&&typeof i.threadId=="string"&&typeof i.message=="string"&&(d==="form"||d==="url")}function Br(i){return i?typeof i.threadId=="string"&&typeof i.turnId=="string"&&typeof i.itemId=="string"&&Me(i.permissions)!==null:!1}function no(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),H=Ce(N==null?void 0:N.id).trim();H&&T.push(H)}return T}function Jn(i){const d=i.threadId||fs,v=ze.value[d]??[],T=v.findIndex(N=>N.id===i.id),M=[...v];T>=0?M.splice(T,1,i):M.push(i),ze.value={...ze.value,[d]:M.sort((N,H)=>N.receivedAtIso.localeCompare(H.receivedAtIso))},Ft()}function qr(i){const d={};for(const[v,T]of Object.entries(ze.value)){const M=T.filter(N=>N.id!==i);M.length>0&&(d[v]=M)}ze.value=d,Ft()}function gr(i){const d={};for(const v of i){const T=v.threadId||fs,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));ze.value=d}function da(i){if(i.method==="server/request"){const d=mn(i.params);return d&&Jn(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)&&qr(v),!0}return!1}function fa(i){return i.replace(/\s+/gu," ").trim()}function yr(i){const d=Xt(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=Ce(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=Ce(T==null?void 0:T.command);return{threadId:d,activity:{label:"Running command",details:N?[N]:[]}}}if(M==="filechange"){const H=(Array.isArray(T==null?void 0:T.changes)?T.changes:[])[0],Y=Ce(H==null?void 0:H.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 wr(i){if(i.method!=="turn/started")return null;const d=Me(i.params);if(!d)return null;const v=Xt(i);if(!v)return null;const T=Me(d.turn),M=Ce(T==null?void 0:T.id)||Ce(d.turnId)||`${v}:unknown`;if(!M)return null;const N=_a(Ce(T==null?void 0:T.startedAt))??_a(Ce(d.startedAt))??_a(i.atIso)??Date.now();return{threadId:v,turnId:M,startedAtMs:N}}function _o(i){if(i.method!=="turn/completed")return null;const d=Me(i.params);if(!d)return null;const v=Xt(i);if(!v)return null;const T=Me(d.turn),M=Ce(T==null?void 0:T.id)||Ce(d.turnId)||`${v}:unknown`;if(!M)return null;const N=_a(Ce(T==null?void 0:T.completedAt))??_a(Ce(d.completedAt))??_a(i.atIso)??Date.now(),H=_a(Ce(T==null?void 0:T.startedAt))??_a(Ce(d.startedAt))??void 0;return{threadId:v,turnId:M,completedAtMs:N,startedAtMs:H}}function To(i){return`${i}:live-reasoning`}function vn(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 Rn(i,d,v){if(!i||!d||!Number.isInteger(v)||v<0)return;const T=Fe.value[i]??{};T[d]!==v&&(Fe.value={...Fe.value,[i]:{...T,[d]:v}})}function sr(i,d){const v=Fe.value[i]??{},T=Object.entries(v),M=Object.entries(d);T.length===M.length&&T.every(([N,H])=>d[N]===H)||(Fe.value={...Fe.value,[i]:{...d}})}function ha(i){const d=c.value[i];if(!d||d.length===0)return;const v=Fe.value[i]??{};let T=!1;const M=d.map(N=>{if(typeof N.turnIndex=="number"||!N.turnId)return N;const H=v[N.turnId];return typeof H!="number"?N:(T=!0,{...N,turnIndex:H})});T&&(c.value={...c.value,[i]:M})}function Rr(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/started"){const v=Me(d.item);return!v||v.type!=="reasoning"?"":Ce(v.id)}return""}function ir(i){const d=Me(i.params);if(!d)return null;if(i.method==="item/reasoning/summaryTextDelta"){const v=Ce(d.itemId),T=Ce(d.delta);return!v||!T?null:{messageId:To(v),delta:T}}return null}function Ho(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/reasoning/summaryPartAdded"){const v=Ce(d.itemId);return v?To(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"?"":To(Ce(v.id))}return""}function $a(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/started"){const v=Me(d.item);return!v||v.type!=="agentMessage"?"":Ce(v.id)}return""}function ko(i){const d=Me(i.params);if(!d)return null;if(i.method==="item/agentMessage/delta"){const v=Ce(d.itemId),T=Ce(d.delta);return!v||!T?null:{messageId:v,delta:T}}return null}function Na(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=Ce(v.id),M=Ce(v.text);return!T||!M?null:{id:T,role:"assistant",text:M,messageType:"agentMessage.live"}}return null}function Co(i){return`/codex-local-image?path=${encodeURIComponent(i)}`}function Pr(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 pa(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=Ce(v.id);if(!T)return null;if(v.type==="imageView"){const H=Ce(v.path);return H?{id:T,role:"assistant",text:"",images:[Co(H)],messageType:"imageView"}:null}if(v.type!=="imageGeneration"&&v.type!=="image_generation")return null;const M=Ce(v.result),N=M?Pr(M):"";return N?{id:T,role:"assistant",text:"",images:[N],messageType:"imageView"}:null}function Hr(i){var ge;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=Ce(v.id),M=Ce(v.command);if(!T)return null;const N=typeof v.cwd=="string"?v.cwd:null,H=Xt(i),Y=Ce(d==null?void 0:d.turnId)||Ce(d==null?void 0:d.turn_id),ie=H&&Y?(ge=Fe.value[H])==null?void 0:ge[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 ro(i){if(i.method!=="item/commandExecution/outputDelta")return null;const d=Me(i.params);if(!d)return null;const v=Ce(d.itemId),T=Ce(d.delta);return!v||!T?null:{itemId:v,delta:T}}function Ot(i){var _t;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=Ce(v.id),M=Ce(v.command);if(!T)return null;const N=typeof v.cwd=="string"?v.cwd:null,H=Ce(v.status),Y=H==="failed"?"failed":H==="declined"?"declined":H==="interrupted"?"interrupted":"completed",ie=typeof v.aggregatedOutput=="string"?v.aggregatedOutput:"",ge=typeof v.exitCode=="number"?v.exitCode:null,Ve=Xt(i),yt=Ce(d==null?void 0:d.turnId)||Ce(d==null?void 0:d.turn_id),wt=Ve&&yt?(_t=Fe.value[Ve])==null?void 0:_t[yt]:void 0;return{id:T,role:"system",text:M,messageType:"commandExecution",commandExecution:{command:M,cwd:N,status:Y,aggregatedOutput:ie,exitCode:ge},turnId:yt||void 0,turnIndex:typeof wt=="number"?wt:void 0}}function Wr(i){var ge;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=Ce(v.id);if(!T)return null;const M=Ce(d==null?void 0:d.threadId),N=Ce(d==null?void 0:d.turnId),H=M&&N?(ge=Fe.value[M])==null?void 0:ge[N]:void 0,Y=um(v.changes),ie=lm(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 H=="number"?H:void 0}}function La(i,d){const v=l.value[i]??[],T=ll(v,d);T!==v&&(l.value={...l.value,[i]:T})}function ts(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=kt(l.value,i):l.value={...l.value,[i]:M})}function Us(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)),H=v.filter(Y=>!T.has(Y.id)&&!(Y.turnId&&M.has(Y.turnId))&&!(typeof Y.turnIndex=="number"&&N.has(Y.turnIndex)));H.length!==v.length&&(H.length===0?c.value=kt(c.value,i):c.value={...c.value,[i]:H})}function oo(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 Bs(i){var Ui,is,Bi,qi,Hi;if(da(i))return;if(i.method==="account/rateLimits/updated"&&Sr(),i.method==="thread/name/updated"){const it=Me(i.params),br=Ce(it==null?void 0:it.threadId),Go=Ce(it==null?void 0:it.threadName);br&&Go&&(J.value={...J.value,[br]:Go},Ft(),ju(br,Go))}if(i.method==="account/rateLimits/updated"){Mt(hm(i.params));return}const d=Fs(i);if(d){nr(d.threadId,d.usage);return}const v=yr(i);v&&gt(v.threadId,v.activity);const T=Xt(i),M=Ir(i);!M&&T&&En(T);const N=wr(i);N&&(Nr.set(N.turnId,N),Rn(N.threadId,N.turnId,vn(N.threadId)),xe.value={...xe.value,[N.threadId]:N.turnId},Or(N.threadId,N.turnId),E(N.threadId),U(N.threadId),ln(N.threadId,null),Tt(N.threadId,null),Ut(N.threadId,!0),os(N.threadId),R.value[N.threadId]&&(R.value=kt(R.value,N.threadId)));const H=_o(i),Y=Bo(i),ie=(H==null?void 0:H.threadId)??Xt(i),ge=ie?nt(ie):"",Ve=!!ie&&!!Y&&ge!==io&&il(new Error(Y));if(H){ft.value[H.threadId];const it=Nr.get(H.turnId);it&&Nr.delete(H.turnId);const br=vt((Ui=Me(i.params))==null?void 0:Ui.durationMs)??vt((Bi=Me((is=Me(i.params))==null?void 0:is.turn))==null?void 0:Bi.durationMs)??(typeof H.startedAtMs=="number"?H.completedAtMs-H.startedAtMs:null)??(it?H.completedAtMs-it.startedAtMs:null),Go=typeof br=="number"?Math.max(0,br):0;ln(H.threadId,{turnId:H.turnId,durationMs:Go}),xe.value[H.threadId]&&(xe.value=kt(xe.value,H.threadId)),Ut(H.threadId,!1),gt(H.threadId,null),un(H.threadId),Ve||(rr(H.threadId),os(H.threadId))}if(Y){const it=(H==null?void 0:H.threadId)||Xt(i);it&&Tt(it,Y),Q.value=Y,it&&Ve&&yo(it)}else H&&Tt(H.threadId,null);if(M){const it=T,br=it?nt(it):K.value.trim();it&&Tt(it,M.message,{transient:M.transient}),Q.value=M.message,br!==io&&il(new Error(M.message))&&(it?yo(it):Ht())}const yt=Yt(i);yt&&($t(yt.threadId,yt.message),gt(yt.threadId,{label:"Planning",details:((qi=yt.message.plan)==null?void 0:qi.steps.map(it=>it.step).slice(0,2))??[]}));const wt=cn(i);if(wt&&($t(wt.threadId,wt.message),gt(wt.threadId,{label:"Planning",details:[]})),!T||T!==n.value)return;$a(i);const _t=ko(i);if(_t){const it=(o.value[T]??[]).find(Go=>Go.id===_t.messageId),br=`${(it==null?void 0:it.text)??""}${_t.delta}`;Bn(T,{id:_t.messageId,role:"assistant",text:br,messageType:"agentMessage.live"})}const _n=Na(i);_n&&Bn(T,_n);const Da=pa(i);Da&&Bn(T,Da),Rr(i);const ss=ir(i);if(ss&&Fr(T,ss.delta),Ho(i)){const it=s.value[T]??"";it.trim().length>0&&!it.endsWith(`
53
-
54
- `)&&ar(T,`${it}
55
-
56
- `)}Ma(i);const ga=Hr(i);ga&&(La(T,ga),gt(T,{label:"Running command",details:[((Hi=ga.commandExecution)==null?void 0:Hi.command)??""]}));const Fa=ro(i);if(Fa){const it=(l.value[T]??[]).find(br=>br.id===Fa.itemId);it!=null&&it.commandExecution&&La(T,{...it,commandExecution:{...it.commandExecution,aggregatedOutput:`${it.commandExecution.aggregatedOutput}${Fa.delta}`}})}const Vo=Ot(i);Vo&&La(T,Vo);const Fi=Wr(i);if(Fi&&Dr(T,Fi),oo(i)&&In(T),i.method==="turn/completed"){Gt=!1,In(T),l.value[T]&&(l.value=kt(l.value,T));const it=Xt(i);it&&(Ut(it,!1),gt(it,null),un(it),Ve||(rr(it),os(it)))}}function So(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=Xt(i);M&&v&&he.add(M),T&&(re=!0),!(me!==null||typeof window>"u")&&(me=window.setTimeout(()=>{me=null,ao()},Bu))}async function ns(i,d){if(!kr){kr=!0;try{if(!d)return;const v=[];for(const T of zl(d)){const M=Za(T);v.includes(M)||v.push(M)}if(v.length>0){const T=d.projectOrder.length>0?hs(v,i):hs(G.value,i);Ca(G.value,T)||(G.value=T)}if(Object.keys(d.labels).length>0||(d.remoteProjects??[]).length>0){const T={...ve.value};let M=!1;for(const[N,H]of Object.entries(d.labels)){const Y=ot(N).trim(),ie=[Za(N)];Y&&ie.push(Y);for(const ge of ie)T[ge]!==H&&(T[ge]=H,M=!0)}for(const N of d.order){const H=Za(N),Y=Kr(xs(N));if(!Y.startsWith(".")||Y===H)continue;const ie=`${H} ${Y}`;T[H]!==void 0||T[H]===ie||(T[H]=ie,M=!0)}for(const N of d.remoteProjects??[]){const H=yI(N);T[N.id]!==H&&(T[N.id]=H,M=!0)}M&&(ve.value=T)}}catch{}}}async function Wo(){if(!(Object.keys(J.value).length>0))try{const i=await q_();Object.keys(i.titles).length>0&&(J.value=i.titles)}catch{}}async function Nt(){try{return await vs()}catch{return null}}async function ma(i,d,v){if(J.value[i])return;const T=d.trim();if(!T)return;const M=T.length>300?T.slice(0,300):T;try{const N=await G_(M,v);if(!N||J.value[i])return;J.value={...J.value,[i]:N},Ft(),ju(i,N)}catch{}}function qs(i,d){const v=_c(i,d),T=TI(i,d),M=kI(T,d,v);if(!d||d.order.length===0&&(d.remoteProjects??[]).length===0)return M;const N=new Set;for(const Y of bc(d,v))N.add(Y);const H=M.filter(Y=>N.has(Y.projectName)?!0:Tc(Y));return _I(H,d,v)}function y(i,d){const v=qs(i,d),T=!!(d&&(d.order.length>0||d.projectOrder.length>0||(d.remoteProjects??[]).length>0)),M=d!=null&&d.projectOrder.length?hs(bc(d,_c(i,d)),v):hs(G.value,v);Ca(G.value,M)||(G.value=M,T||si(G.value));const N=Wu(v,G.value);wn(new Set(_r(N).map(Y=>Y.id)));const H=vI(t.value,N,h.value);t.value=ul(t.value,H),h.value=rn(h.value,new Set(_r(t.value).map(Y=>Y.id))),Ft()}function b(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(H=>({name:H.name,path:H.path})),fileAttachments:N.fileAttachments.map(H=>({label:H.label,path:H.path,fsPath:H.fsPath})),collaborationMode:N.collaborationMode})))}return d}function w(){C_(b(f.value)).catch(()=>{})}async function L(){if(!_){_=!0;try{f.value=await Jf()}catch{}}}function Re(i){Sn=_h(Sn,i),t.value=_h(t.value,i),h.value=kt(h.value,i),Ft()}function ut(i,d){if(i.length===0)return d;if(d.length===0)return i;const v=new Map;for(const M of _r(i))v.set(M.id,M);for(const M of _r(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((H,Y)=>new Date(Y.updatedAtIso).getTime()-new Date(H.updatedAtIso).getTime())})).sort((M,N)=>{var ie,ge;const H=new Date(((ie=M.threads[0])==null?void 0:ie.updatedAtIso)??0).getTime();return new Date(((ge=N.threads[0])==null?void 0:ge.updatedAtIso)??0).getTime()-H})}function xt(){return Object.values(h.value).some(i=>i===!0)}function qn(i=Mn){if(!(!Ie||dt||xt())){if(Mn=i,typeof window>"u"){dn(i);return}st!==null&&window.clearTimeout(st),st=window.setTimeout(()=>{st=null,!(!Ie||xt())&&dn(Mn)},NE)}}async function dn(i){if(!(dt||!Ie||xt())){dt=!0;try{const d=await qf(Ie,O0());Ie=d.nextCursor,Lt=d.nextCursor===null,Sn=ut(Sn,d.groups),y(Sn,i)}catch{}finally{dt=!1,Ie&&!xt()&&qn(i)}}}async function gn(){if(at){await at;return}at=(async()=>{var i;pe.value||(Pe.value=!0);try{const[d,v]=await Promise.all([qf(),Nt(),Wo()]);Mn=v;const T=d.groups;Sn=pe.value?ut(Sn,T):T,Ie=pe.value&&!Lt?Ie:d.nextCursor,Lt=d.nextCursor===null,await ns(T,v),y(Sn,v),pe.value=!0,Lt||qn(v);const M=_r(e.value);Kt(M),!M.some(H=>H.id===n.value)&&!n.value&&Qt(((i=M[0])==null?void 0:i.id)??"")}finally{Pe.value=!1}})().finally(()=>{at=null}),await at}async function Hn(i,d={}){if(!i)return;const v=F.get(i);if(v){await v;return}const T=se.value[i]===!0,M=d.silent!==!0&&!T;M&&(Ye.value=!0);const N=(async()=>{try{const H=Bt(i),Y=Se.value[i]??"",ie=Date.now()-(we.get(i)??0)<jE;if(T&&(ie||(H.length===0||Y===H)&&h.value[i]!==!0)){St(i);return}const yt=Ae.value[i]!==!0?await $u(i):null,wt=yt??await Hf(i);yt&&(yn(i,yt.model),Ae.value={...Ae.value,[i]:!0});const{messages:_t,inProgress:_n,activeTurnId:Da,turnIndexByTurnId:ss}=wt;xr(i,_t),sr(i,ss),ha(i);const Di=r.value[i]??[],ga=rI(Di,_t,{preserveMissing:d.silent===!0});Fn(i,ga);const Fa=o.value[i]??[];if(_n){const Vo=aI(Fa,_t);jr(i,Vo)}else vr(i);ts(i,_t),Us(i,_t),se.value={...se.value,[i]:!0},we.set(i,Date.now()),H&&(Se.value={...Se.value,[i]:H}),Ut(i,_n),Da?xe.value={...xe.value,[i]:Da}:xe.value[i]&&(xe.value=kt(xe.value,i)),_n||oe(i),St(i)}finally{M&&(Ye.value=!1)}})().finally(()=>{F.delete(i)});F.set(i,N),await N}async function xo(i,d={}){i&&se.value[i]!==!0&&await Hn(i,d)}async function zo(){if(q){await q;return}q=(async()=>{var i,d;try{const v=((d=(i=hr.value)==null?void 0:i.cwd)==null?void 0:d.trim())??"";Ee.value=await Y_(v?[v]:void 0)}catch{}finally{q=null}})(),await q}async function $i(i={}){await Promise.allSettled([Zr({providerChanged:i.providerChanged,includeProviderModels:i.includeProviderModels}),Ln(),Xr(),zo()])}function Vl(i={}){const d=()=>{$i(i)};if(typeof window>"u"){d();return}window.setTimeout(d,0)}async function Hs(i={}){Q.value="";const d=i.includeSelectedThreadMessages!==!1,v=i.awaitAncillaryRefreshes===!0;try{await L(),await gn(),d&&await Hn(n.value),v?await $i({providerChanged:i.providerChanged,includeProviderModels:i.providerChanged===!0||v}):Vl({providerChanged:i.providerChanged,includeProviderModels:!1})}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Ws(i){Qt(i);try{await Hn(i),zo()}catch(d){Q.value=d instanceof Error?d.message:"Unknown application error"}}async function Gl(i){const d=n.value===i,v=d?ME(_r(e.value),i):"";d&&(Qt(v),v&&Hn(v,{silent:!0}));try{await a_(i),Re(i),await gn(),d&&v&&n.value===v&&await xo(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 s_(i,v),J.value={...J.value,[i]:v},Ft(),ju(i,v)}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Ni(i){var H,Y;const d=i.trim();if(!d)return"";const v=_r(t.value).find(ie=>ie.id===d),T=((H=v==null?void 0:v.cwd)==null?void 0:H.trim())??"",M=((Y=v==null?void 0:v.title)==null?void 0:Y.trim())??"Forked chat",N=nt(d);Q.value="";try{const ie=await Gf(d,T||void 0,N||void 0),ge=ie.threadId.trim();return ge?(Dn(ge,T,M),yn(ge,ie.model),Ae.value={...Ae.value,[ge]:!0},Qt(ge),await gn(),await Hn(ge),ge):""}catch(ie){return Q.value=ie instanceof Error?ie.message:"Unknown application error",""}}async function zs(i,d){var H;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(se.value[v]!==!0)try{await Hn(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=_r(t.value).find(Y=>Y.id===v)??null;try{Q.value="";const Y=await Gf(v),ie=Y.threadId.trim();if(!ie)return"";const ge=Y.cwd.trim()||((H=N==null?void 0:N.cwd)==null?void 0:H.trim())||"",Ve=SI((N==null?void 0:N.title)||(N==null?void 0:N.preview)||"Untitled thread");Dn(ie,ge,Ve),yn(ie,Y.model),Fn(ie,Y.messages),se.value={...se.value,[ie]:!0},Ae.value={...Ae.value,[ie]:!0},E(ie),jr(ie,[]),In(ie),l.value[ie]&&(l.value=kt(l.value,ie)),ln(ie,null),gt(ie,null),Tt(ie,null),Ut(ie,!1);const yt=M-d;if(yt>0){const wt=await Nu(ie,yt);Fn(ie,wt)}return await Oa(ie,Ve),Qt(ie),gn().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 H=(ze.value[i]??[]).filter(ge=>ge.method==="item/tool/requestUserInput");if(H.length!==1)return!1;const[Y]=H,ie=no(Y);return ie.length!==1?!1:Eo({id:Y.id,result:{answers:{[ie[0]]:{answers:[d.trim()]}}}})}async function Li(i,d=[],v=[],T="steer",M=[],N,H){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 ge=h.value[Y]===!0;if(ge&&T==="queue"){const Ve=f.value[Y]??[],yt=`q-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,wt=[...Ve],_t=typeof N=="number"?Math.max(0,Math.min(N,wt.length)):wt.length;wt.splice(_t,0,{id:yt,text:ie,imageUrls:d,skills:v,fileAttachments:M,collaborationMode:H==="plan"?"plan":H==="default"?"default":D.value}),f.value={...f.value,[Y]:wt},w();return}if(ge){Gt=!0,rs(Y,ie,d,v,M,H).catch(Ve=>{const yt=Ve instanceof Error?Ve.message:"Unknown application error";Tt(Y,yt),Q.value=yt});return}Q.value="",Gt=!0,ln(Y,null),gt(Y,{label:"Thinking",details:Nn(nt(Y),Z.value,H==="plan"?"plan":H==="default"?"default":D.value)}),Tt(Y,null),Ut(Y,!0);try{await rs(Y,ie,d,v,M,H)}catch(Ve){Gt=!1,Ut(Y,!1),gt(Y,null);const yt=Ve instanceof Error?Ve.message:"Unknown application error";throw Tt(Y,yt),Q.value=yt,Ve}}async function Vs(i,d,v=[],T=[],M=[]){if(z.value)return"";const N=i.trim(),H=d.trim(),Y=nt(xa).trim(),ie=D.value;if(!N&&v.length===0&&M.length===0)return"";A.value=!0,Q.value="";let ge="";try{try{const _t=await Vf(H||void 0,Y||void 0);ge=_t.threadId,yn(ge,_t.model),nn(ge,ie)}catch(_t){if(Y&&Y!==io&&il(_t)){await Ht();const _n=await Vf(H||void 0,io);ge=_n.threadId,yn(ge,_n.model),nn(ge,ie)}else throw _t}if(!ge)return"";Dn(ge,H,N||"[Image]"),or(ge),Ae.value={...Ae.value,[ge]:!0},Qt(ge),Gt=!0,ln(ge,null),gt(ge,{label:"Thinking",details:Nn(nt(ge),Z.value,ie)}),Tt(ge,null),Ut(ge,!0);const Ve=ge,yt=H||null,wt=N;return rs(ge,N,v,T,M,ie).catch(_t=>{Gt=!1,Ut(ge,!1),gt(ge,null);const _n=_t instanceof Error?_t.message:"Unknown application error";Tt(ge,_n),Q.value=_n}).finally(()=>{A.value=!1}),ma(Ve,wt,yt),ge}catch(Ve){Gt=!1,ge&&(Ut(ge,!1),gt(ge,null));const yt=Ve instanceof Error?Ve.message:"Unknown application error";throw ge&&Tt(ge,yt),Q.value=yt,A.value=!1,Ve}}async function rs(i,d,v=[],T=[],M=[],N){const H=Z.value,Y=N==="plan"?"plan":N==="default"?"default":D.value,ie=d.trim(),ge=[...v];if(ge.length===0&&ye(ie)){const wt=ce(i);wt&&ge.push(wt)}const Ve=T.map(wt=>({name:wt.name,path:wt.path})),yt=M.map(wt=>({...wt}));An(i,{text:ie,imageUrls:[...ge],skills:Ve,fileAttachments:yt,effort:H,collaborationMode:Y,fallbackRetried:!1});try{if(Ae.value[i]!==!0){const _n=await $u(i);yn(i,_n.model)}const wt=nt(i);let _t="";try{_t=await Lu(i,d,ge,wt||void 0,H||void 0,T.length>0?T:void 0,M,Y)}catch(_n){if(wt&&wt!==io&&il(_n))await Ht(i),An(i,{text:ie,imageUrls:[...ge],skills:Ve,fileAttachments:yt,effort:H,collaborationMode:Y,fallbackRetried:!0}),_t=await Lu(i,d,ge,io,H||void 0,T.length>0?T:void 0,M,Y);else throw _n}_t&&(xe.value={...xe.value,[i]:_t},Or(i,_t)),Ae.value={...Ae.value,[i]:!0},he.add(i),await ao(),Lr(i)}catch(wt){throw wt}}async function Gs(i){if(g.value[i]!==!0){g.value={...g.value,[i]:!0};try{f.value=await Jf()}catch{}finally{g.value=kt(g.value,i)}}}function os(i){Gs(i),!(typeof window>"u")&&window.setTimeout(()=>{Gs(i)},650)}async function Kl(){const i=n.value;if(!i||h.value[i]!==!0||Qe.value[i]===!0)return;let d=xe.value[i];if(!d){const{activeTurnId:v}=await Hf(i);d=v,d&&(xe.value={...xe.value,[i]:d})}if(!d)throw new Error("Could not determine active turn id for interrupt");$.value=!0,Q.value="";try{await f_(i,d),Ut(i,!1),gt(i,null),Tt(i,null),xe.value[i]&&(xe.value=kt(xe.value,i)),he.add(i),re=!0,await ao()}catch(v){const T=v instanceof Error?v.message:"Failed to interrupt active turn";Tt(i,T),Q.value=T}finally{$.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(ge=>ge.turnId===i),M=typeof(T==null?void 0:T.turnIndex)=="number"?T.turnIndex:-1;if(M<0)return;const N=v.reduce((ge,Ve)=>typeof Ve.turnIndex=="number"&&Ve.turnIndex>ge?Ve.turnIndex:ge,-1);if(N<0||M>N)return;const H=N-M+1;if(!(H<1)){ae.value=!0,Q.value="";try{const ge=((ie=(Y=hr.value)==null?void 0:Y.cwd)==null?void 0:ie.trim())??"";ge&&await i_(d,i,ge);const Ve=await Nu(d,H);Fn(d,Ve),jr(d,[]),In(d),l.value[d]&&(l.value=kt(l.value,d)),ln(d,null),gt(d,null),Tt(d,null),re=!0,await ao()}catch(ge){Q.value=ge instanceof Error?ge.message:"Failed to rollback thread"}finally{ae.value=!1}}}let as=null;async function Yl(i,d){try{const v=await vs(),T={...v.labels};let M=!1;for(const N of v.order){if(!vl(N,i))continue;const H=d.trim();H.length===0?T[N]!==void 0&&(delete T[N],M=!0):T[N]!==H&&(T[N]=H,M=!0)}M&&await Ou({order:v.order,labels:T,active:v.active,projectOrder:v.projectOrder})}catch{}}function Oi(i,d){i.length===0||(ve.value[i]??"")===d||(ve.value={...ve.value,[i]:d},bh(ve.value),as!==null&&clearTimeout(as),as=setTimeout(()=>{as=null,Yl(i,d)},500))}async function Ks(i){var N;if(i.length===0)return;const d=G.value.filter(H=>H!==i);if(Ca(G.value,d)||(G.value=d,si(G.value)),t.value=t.value.filter(H=>H.projectName!==i),ve.value[i]!==void 0){const H={...ve.value};delete H[i],ve.value=H,bh(H)}Ft();const v=_r(e.value);Kt(v),v.some(H=>H.id===n.value)||Qt(((N=v[0])==null?void 0:N.id)??"");const M=new Set;try{const H=await vs();wI(H,i).forEach(Y=>{M.add(Y)})}catch{}if(M.size>0)try{const H=await vs(),Y=H.order.filter(Ve=>!M.has(Ve)),ie=H.active.filter(Ve=>!M.has(Ve)),ge=ie.length===0&&Y.length>0?[Y[0]]:ie;await Ou({order:Y,labels:fI(H.labels,M),active:ge,projectOrder:H.projectOrder.filter(Ve=>Ve!==i&&!M.has(Ve))});return}catch{}await Ys()}function va(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=ZE(v,T,M);if(N===v)return;const H=hs(N,t.value);G.value=H,si(G.value);const Y=Wu(t.value,G.value);t.value=ul(t.value,Y),Ft(),Ys()}function Ql(i){const d=i.trim();if(!d)return;const v=[d,...G.value.filter(M=>M!==d)];if(Ca(G.value,v))return;G.value=v,si(G.value);const T=Wu(t.value,G.value);t.value=ul(t.value,T),Ft(),Ys()}async function Ys(){try{const i=await vs(),d=bI(i,G.value,t.value);await Ou({order:d.order,labels:i.labels,active:d.active,projectOrder:d.projectOrder})}catch{}}async function ao(){if(le.value){typeof window<"u"&&me===null&&(me=window.setTimeout(()=>{me=null,ao()},Bu));return}le.value=!0;const i=re,d=new Set(he);re=!1,he.clear();try{i&&await gn();const v=n.value;if(!v)return;const T=d.has(v),M=h.value[v]===!0,N=Bt(v),H=Se.value[v]??"";(N.length>0&&N!==H||M&&se.value[v]!==!0||T&&se.value[v]!==!0||i&&se.value[v]!==!0)&&await Hn(v,{silent:!0})}catch{}finally{le.value=!1,(re||he.size>0)&&typeof window<"u"&&me===null&&(me=window.setTimeout(()=>{me=null,ao()},Bu))}}async function Jl(){await ji(),re=!pe.value,n.value&&se.value[n.value]!==!0&&he.add(n.value),await ao()}function Xl(){typeof window>"u"||Le||(ji(),Le=V0(i=>{if(i.method==="ready"){pn(),Jl();return}Bs(i),So(i)}))}async function ji(){try{const d=(await J0()).map(v=>mn(v)).filter(v=>v!==null);gr(d)}catch{}}async function Eo(i){try{return await Q0(i.id,{result:i.result,error:i.error}),qr(i.id),!0}catch(d){return Q.value=d instanceof Error?d.message:"Failed to reply to server request",!1}}function Zl(){if(Le&&(Le(),Le=null),re=!1,he.clear(),Nr.clear(),me!==null&&typeof window<"u"&&(window.clearTimeout(me),me=null),je!==null&&typeof window<"u"&&(window.clearTimeout(je),je=null),st!==null&&typeof window<"u"&&(window.clearTimeout(st),st=null),typeof window<"u")for(const i of Oe.values())window.clearTimeout(i);Oe.clear(),Gt=!1,r.value={},a.value={},o.value={},s.value={},l.value={},c.value={},Fe.value={},Ke.value={},qe.value={},$e.value={},xe.value={},Qe.value={},Je.value={},Be.value={},f.value={},g.value={},w(),rt.value=null,We.value={}}const Qs=ne(()=>{const i=n.value;return i?f.value[i]??[]:[]});function Js(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}:kt(f.value,d),w()}function eu(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 H=[...T],[Y]=H.splice(M,1);H.splice(N,0,Y),f.value={...f.value,[v]:H},w()}function tu(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&&(Js(i),xn(T.collaborationMode),Li(T.text,T.imageUrls,T.skills,"steer",T.fileAttachments))}function nu(i){Qt(i)}return{projectGroups:e,projectDisplayNameById:ve,selectedThread:hr,selectedThreadTokenUsage:Do,selectedThreadTerminalOpen:Qr,isSelectedThreadInterruptPending:ca,selectedThreadServerRequests:en,selectedLiveOverlay:sn,codexQuota:go,selectedThreadId:n,availableCollaborationModes:B,availableModelIds:O,selectedCollaborationMode:D,selectedModelId:K,selectedReasoningEffort:Z,selectedSpeedMode:be,installedSkills:Ee,accountRateLimitSnapshots:ke,messages:Fo,isLoadingThreads:Pe,isLoadingMessages:Ye,isSendingMessage:A,isInterruptingTurn:$,isUpdatingSpeedMode:z,isRollingBack:ae,error:Q,refreshAll:Hs,refreshSkills:zo,selectThread:Ws,loadMessages:Hn,ensureThreadMessagesLoaded:xo,setThreadTerminalOpen:Ar,toggleSelectedThreadTerminal:Er,archiveThreadById:Gl,renameThreadById:Oa,forkThreadById:Ni,forkThreadFromTurn:zs,rollbackSelectedThread:ja,sendMessageToSelectedThread:Li,sendMessageToNewThread:Vs,interruptSelectedThreadTurn:Kl,selectedThreadQueuedMessages:Qs,removeQueuedMessage:Js,reorderQueuedMessage:eu,steerQueuedMessage:tu,setSelectedCollaborationMode:xn,readModelIdForThread:nt,setSelectedModelIdForThread:Jr,setSelectedModelId:Jt,setSelectedReasoningEffort:pr,updateSelectedSpeedMode:Uo,respondToPendingServerRequest:Eo,renameProject:Oi,removeProject:Ks,reorderProject:va,pinProjectToTop:Ql,startPolling:Xl,stopPolling:Zl,primeSelectedThread:nu}}const AI={class:"sidebar-root"},EI={class:"sidebar-scrollable"},II=["aria-pressed","aria-label","title"],RI={key:1,class:"sidebar-search-bar"},PI=["placeholder"],MI=["aria-label"],$I={class:"sidebar-skills-link-icon","aria-hidden":"true"},NI={class:"sidebar-skills-link-copy"},LI={class:"sidebar-skills-link-title"},OI={class:"sidebar-skills-link-subtitle"},jI={class:"sidebar-settings-account-section"},DI={class:"sidebar-settings-account-header"},FI={class:"sidebar-settings-account-header-main"},UI=["aria-expanded","title"],BI={class:"sidebar-settings-account-collapse-icon"},qI={class:"sidebar-settings-account-title"},HI={class:"sidebar-settings-account-count"},WI=["disabled"],zI={key:0,class:"sidebar-settings-account-error"},VI={class:"sidebar-settings-account-login"},GI=["disabled"],KI=["href"],YI={key:1,class:"sidebar-settings-account-empty"},QI={key:2,class:"sidebar-settings-account-list"},JI=["title","onMouseenter","onMouseleave"],XI={class:"sidebar-settings-account-main"},ZI={class:"sidebar-settings-account-email"},eR={class:"sidebar-settings-account-meta"},tR={class:"sidebar-settings-account-quota"},nR={class:"sidebar-settings-account-id"},rR={class:"sidebar-settings-account-actions"},oR=["disabled","onClick"],aR=["disabled","onClick"],sR=["title"],iR={class:"sidebar-settings-label"},lR=["title"],uR={class:"sidebar-settings-label"},cR={class:"sidebar-settings-value"},dR=["title"],fR={class:"sidebar-settings-label"},hR={class:"sidebar-settings-value"},pR=["title"],mR={class:"sidebar-settings-label"},vR=["value"],gR=["value"],yR=["title"],wR={class:"sidebar-settings-label"},bR={class:"sidebar-settings-value"},_R=["title"],TR={class:"sidebar-settings-label"},kR=["title"],CR={class:"sidebar-settings-label"},SR=["title"],xR={class:"sidebar-settings-label"},AR={key:0,class:"sidebar-settings-row sidebar-settings-error"},ER={key:1,class:"sidebar-settings-row sidebar-settings-row--input"},IR={class:"sidebar-settings-provider-info"},RR={class:"sidebar-settings-label"},PR={class:"sidebar-settings-provider-link",href:"https://openrouter.ai/keys",target:"_blank",rel:"noopener noreferrer"},MR={class:"sidebar-settings-key-group"},$R={class:"sidebar-settings-key-masked"},NR=["disabled","title"],LR=["placeholder"],OR=["disabled"],jR={class:"sidebar-settings-row sidebar-settings-row--select",style:{"margin-top":"4px",padding:"0"}},DR={class:"sidebar-settings-label"},FR=["aria-label"],UR=["disabled"],BR=["disabled"],qR={key:2,class:"sidebar-settings-row sidebar-settings-row--input"},HR={class:"sidebar-settings-provider-info"},WR={class:"sidebar-settings-label"},zR={class:"sidebar-settings-provider-link",href:"https://opencode.ai/auth",target:"_blank",rel:"noopener noreferrer"},VR={class:"sidebar-settings-key-group"},GR=["placeholder"],KR=["disabled"],YR={key:3,class:"sidebar-settings-row sidebar-settings-row--input"},QR={class:"sidebar-settings-label"},JR={class:"sidebar-settings-key-group"},XR=["placeholder"],ZR={class:"sidebar-settings-label",style:{"margin-top":"4px"}},eP={class:"sidebar-settings-key-group"},tP=["placeholder"],nP=["disabled"],rP={class:"sidebar-settings-row sidebar-settings-row--select",style:{"margin-top":"4px",padding:"0"}},oP={class:"sidebar-settings-label"},aP=["aria-label"],sP=["title"],iP={class:"sidebar-settings-label"},lP={class:"sidebar-settings-label"},uP={class:"sidebar-settings-value"},cP={key:4,class:"sidebar-settings-telegram-panel"},dP={class:"sidebar-settings-field"},fP={class:"sidebar-settings-field-label"},hP={class:"sidebar-settings-field"},pP={class:"sidebar-settings-field-label"},mP={class:"sidebar-settings-field-help"},vP={key:0,class:"sidebar-settings-telegram-error"},gP={class:"sidebar-settings-telegram-actions"},yP=["disabled"],wP=["data-state","title"],bP={class:"sidebar-settings-label"},_P=["data-state"],TP={class:"sidebar-settings-context-meta"},kP={class:"sidebar-settings-rate-limits"},CP=["aria-label"],SP={class:"sidebar-settings-button-version"},xP={key:0,class:"content-keyboard-spacer","aria-hidden":"true"},AP={key:1,class:"skills-route-header-icon","aria-hidden":"true"},EP={class:"content-body"},IP={key:1,class:"content-grid content-grid-home"},RP={class:"new-thread-empty"},PP={class:"new-thread-hero"},MP=["title"],$P={class:"new-thread-folder-actions"},NP={key:1,class:"new-thread-launch-card","aria-label":"Plugins and Apps announcement"},LP={class:"new-thread-launch-card-copy"},OP={class:"new-thread-launch-card-topline"},jP={class:"new-thread-launch-card-badge","aria-hidden":"true"},DP={class:"new-thread-launch-card-eyebrow"},FP={class:"new-thread-launch-card-title"},UP={class:"new-thread-launch-card-text"},BP={class:"new-thread-launch-card-actions"},qP=["aria-label","onKeydown"],HP={class:"new-thread-open-folder-header"},WP={class:"new-thread-open-folder-title"},zP={class:"new-thread-open-folder-label"},VP={class:"new-thread-open-folder-current"},GP=["placeholder","title","disabled","onKeydown"],KP=["disabled"],YP={class:"new-thread-open-folder-actions"},QP={class:"new-thread-open-folder-toggle"},JP=["aria-pressed","disabled"],XP={key:0,class:"new-thread-open-folder-create"},ZP={class:"new-thread-open-folder-create-composer"},eM=["placeholder","onKeydown"],tM=["disabled"],nM={key:0,class:"new-thread-open-folder-error"},rM=["placeholder","onKeydown"],oM={key:1,class:"new-thread-open-folder-error-actions"},aM={class:"new-thread-open-folder-error"},sM=["disabled"],iM={key:2,class:"new-thread-open-folder-status"},lM={key:3,class:"new-thread-open-folder-status"},uM={key:4,class:"new-thread-open-folder-list"},cM=["title","disabled","onClick"],dM={class:"new-thread-open-folder-item-name"},fM=["disabled","onClick"],hM={key:3,class:"new-thread-branch-select"},pM={class:"new-thread-branch-select-label"},mM={class:"new-thread-branch-select-help"},vM={key:4,class:"new-thread-runtime-help"},gM={class:"worktree-init-status-title"},yM={class:"worktree-init-status-message"},wM={class:"composer-with-queue"},bM={key:2,class:"content-grid"},_M={class:"content-thread"},TM={class:"composer-with-queue"},kM=["aria-label"],CM={class:"codex-login-modal-header"},SM={class:"codex-login-modal-title"},xM=["aria-label","disabled"],AM={class:"codex-login-modal-copy"},EM=["href"],IM=["placeholder","disabled"],RM={key:1,class:"codex-login-modal-error"},PM={class:"codex-login-modal-actions"},MM=["disabled"],$M=["disabled"],Th="codex-web-local.sidebar-collapsed.v1",kh="codex-web-local.accounts-section-collapsed.v1",Ch="codex-web-local.terminal-quick-commands.v1",Sh="__toggle_terminal__",xh="codex-web-local.send-with-enter.v1",Ah="codex-web-local.in-progress-send-mode.v1",Eh="codex-web-local.dark-mode.v1",Ih="codex-web-local.dictation-click-to-toggle.v1",Rh="codex-web-local.dictation-auto-send.v1",Ph="codex-web-local.dictation-language.v1",Mh="codex-web-local.chat-width.v1",NM=400,LM=Vn({__name:"App",setup(e){var Td,kd;const t=Zi(()=>tl(()=>import("./ThreadConversation-BptqFdFB.js"),__vite__mapDeps([0,1]))),n=Zi(()=>tl(()=>import("./ThreadTerminalPanel-DMMkfF3u.js"),__vite__mapDeps([2,3]))),r=Zi(()=>tl(()=>import("./ReviewPane-D97Q2j2l.js"),__vite__mapDeps([4,5]))),a=Zi(()=>tl(()=>import("./DirectoryHub-R8Bjp_S3.js"),__vite__mapDeps([6,7]))),{t:o,uiLanguage:s,uiLanguageOptions:l,setUiLanguage:c}=Ra(),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"}},R={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:B,selectedThread:te,selectedThreadTokenUsage:j,selectedThreadTerminalOpen:D,selectedThreadServerRequests:K,selectedLiveOverlay:Z,codexQuota:be,selectedThreadId:fe,availableCollaborationModes:_e,availableModelIds:Ne,selectedCollaborationMode:G,selectedReasoningEffort:ve,selectedSpeedMode:Se,installedSkills:se,accountRateLimitSnapshots:Ae,messages:Fe,isLoadingThreads:qe,isLoadingMessages:Ke,isSendingMessage:$e,isInterruptingTurn:xe,isSelectedThreadInterruptPending:Qe,isUpdatingSpeedMode:Je,refreshAll:Be,refreshSkills:ze,selectThread:ft,ensureThreadMessagesLoaded:rt,setThreadTerminalOpen:We,toggleSelectedThreadTerminal:bt,archiveThreadById:J,forkThreadById:Ee,renameThreadById:ke,forkThreadFromTurn:Pe,sendMessageToSelectedThread:Ye,sendMessageToNewThread:A,interruptSelectedThreadTurn:$,selectedThreadQueuedMessages:z,removeQueuedMessage:ae,reorderQueuedMessage:Q,steerQueuedMessage:le,setSelectedCollaborationMode:pe,readModelIdForThread:Te,setSelectedModelIdForThread:ye,setSelectedReasoningEffort:ce,updateSelectedSpeedMode:Le,respondToPendingServerRequest:me,renameProject:je,removeProject:Oe,reorderProject:at,pinProjectToTop:F,startPolling:q,stopPolling:W,primeSelectedThread:re,rollbackSelectedThread:he}=xI(),we=zb(),Ie=Wb(),{isMobile:st}=zc(),dt=x(null),Lt=x(null),Sn=x(null),Mn=x(null),kr=x(null),Gt=x(!1),Nr=x(!1),$n=x(!1),Cr=x(!0),hr=x([]),Qr=x(ev()),ca=x(""),en=x(null),sn=x(!1),go=x("");let Do=!1;const Fo=x(!1),nt=x(""),tn=x("local"),Qt=x({}),Jr=new Map,Jt=x(""),yn=x([]),nr=x(!1),xn=x({order:[],labels:{},projectOrder:[]}),nn=x({phase:"idle",title:"",message:""}),Mt=x(Vv()),Ht=x(""),An=x(!1),rr=x(null),yo=x(null),pr=x(null),Uo=x(null),Xr=x(null);let Nn=null,Zr=null,Ln=0,Sr=0;const On=x("New Project (1)"),Lr=x(""),jn=x(!1),mr=x(Kv()),Gn=x(!1),wo=x([]),Ft=x(null),Dn=x(null),Kt=x(null),St=x(null),ln=x(!1),Ut=x(!1),hn=x(""),or=x({}),Kn=x(""),Or=x(""),wn=x(!1),xr=x(!1),un=x(null),gt=x([]),Tt=x(!1),En=x(!1),pn=x(!1),Bt=x(!1),Ar=x(!1),Er=x(""),Fn=x(""),jr=x(null),vr=x(""),Un=x(""),Yn=x(""),$t=x(""),Bn=x(uu(xh,!0)),Dr=x($v()),ar=x(Mv()),Fr=x(Nv()),In=x(uu(Ih,!1)),E=x(uu(Rh,!0)),U=x(Wv()),oe=ne(()=>zv()),De=x(!1),mt=x(!1),Yt=x(!1),cn=x(""),Me=x(!1),Ce=x(null),vt=x(!1),bn=x(""),Qn=x("codex"),Fs=ne(()=>[{value:"codex",label:"Codex"},{value:"openrouter",label:"OpenRouter"},{value:"opencode-zen",label:"OpenCode Zen"},{value:"custom",label:o("Custom endpoint")}]),Xt=x(""),Bo=x(""),Ir=x("responses"),mn=x("responses"),qo=x(""),Pa=x(!1),bo=x(""),eo=x(""),Ur=x(""),to=x(!1),Br=x(!1),no=x(""),Jn=x(""),qr=x(!1),gr=x(!1),da=x(null),fa=x(null),yr=x(""),wr=x(""),_o=x(""),To=x([]),vn=x(""),Rn=x(!1),sr=x(!1),ha=x(!1),Rr=x(""),ir=x({configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:""}),Ho=x(null),Ma=x(!1),$a=x(!1),ko=x(typeof window<"u"?((Td=window.visualViewport)==null?void 0:Td.height)??window.innerHeight:0),Na=x(typeof window<"u"?((kd=window.visualViewport)==null?void 0:kd.offsetTop)??0:0),Co=x(typeof window<"u"?window.innerHeight:0);let Pr=null,pa=!1,Hr=0;const ro=ne(()=>{const u=we.params.threadId;return typeof u=="string"?u:""}),Ot=ne(()=>we.name==="home"),Wr=ne(()=>we.name==="skills"),La=ne(()=>{var u;return Wr.value?o("Skills"):Ot.value?o("Start new thread"):((u=te.value)==null?void 0:u.title)??o("Choose a thread")}),ts=typeof window<"u"&&(window.location.hostname||window.location.host)||"codexui",Us=ne(()=>{var p,C;return(((C=(p=te.value)==null?void 0:p.title)==null?void 0:C.trim())??"")||ts}),oo=ne(()=>Fe.value.filter(u=>{const p=Qv(u.messageType,u.role);return p==="worked"?!0:!(p==="turnActivity.live"||p==="turnError.live"||p==="agentReasoning.live")})),Bs=ne(()=>Z.value),So=ne(()=>Ot.value?"__new-thread__":fe.value),ns=ne(()=>Te(So.value)),Wo=ne(()=>{const u=K.value;return u.length>0?u[u.length-1]:null}),Nt=ne(()=>{var u,p;return Ot.value?nt.value.trim():((p=(u=te.value)==null?void 0:u.cwd)==null?void 0:p.trim())??""}),ma=ne(()=>Cr.value&&(Ot.value&&Nt.value.length>0||we.name==="thread"&&fe.value.length>0)),qs=ne(()=>we.name==="thread"&&fe.value.length>0||Ot.value&&Ao.value),y=ne(()=>Ot.value?Gt.value:D.value),b=ne(()=>!st.value||ko.value<=0||Co.value<=0?!1:Co.value-ko.value>120),w=ne(()=>b.value||y.value&&$n.value),L=ne(()=>{var u,p;return((p=(u=te.value)==null?void 0:u.cwd)==null?void 0:p.trim())??nt.value.trim()}),Re=ne(()=>{var u;return!Ot.value&&((u=te.value)==null?void 0:u.inProgress)===!0}),ut=ne(()=>!Ot.value&&!Wr.value&&fe.value.trim().length>0),xt=ne(()=>$e.value||xe.value||Re.value||K.value.length>0);function qn(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 dn(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 gn(){De.value&&(De.value=!1,V_(!0))}function Hn(){gn(),Ie.push({name:"skills",query:{tab:"plugins"}})}const xo=ne(()=>{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"}),zo=ne(()=>{const u=j.value;return u?typeof u.remainingContextTokens=="number"?`${qn(u.remainingContextTokens)} ${o("left")}`:`${qn(u.currentContextTokens)} ${o("used")}`:o("Awaiting data")}),$i=ne(()=>{const u=j.value;return u?typeof u.modelContextWindow=="number"?`${qn(u.currentContextTokens)} ${o("used")} / ${qn(u.modelContextWindow)}`:o("Window size unavailable"):o("Updates after the next token usage event")}),Vl=ne(()=>dn(j.value));function Hs(u,p){const C=ot(u).trim(),V=$r(C);return!C||!V?!1:p.some(ee=>{const ue=ot(ee).trim();return ue!==C&&$r(ue)===V})}function Ws(u,p=""){const C=ot(u).trim(),V=p.trim();if(V)return V;const ee=$r(C),ue=[...xn.value.order,...O.value.map(He=>{var Wt,Mr;return((Mr=(Wt=He.threads[0])==null?void 0:Wt.cwd)==null?void 0:Mr.trim())??""}).filter(Boolean)];return Hs(C,ue)?C:ee}function Gl(){const u=new Set(xn.value.order),p=xn.value.projectOrder.filter(C=>u.has(C));for(const C of xn.value.order)p.includes(C)||p.push(C);return p}function Oa(u){const p=ot(u).trim(),C=[...xn.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 Hs(p,C)?p:$r(p)}function Ni(u){const p=ot(u).trim();if(!p)return"";const C=[...xn.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 xn.value.order){const ee=ot(V).trim();if(!ee)continue;const ue=$r(ee),He=Hs(ee,C)?ee:ue;if(ee===p||He===p||ue===p)return ee}return""}const zs=ne(()=>{var V,ee;const u=[],p=new Set;for(const ue of Gl()){const He=ue.trim();!He||p.has(He)||(p.add(He),u.push({value:He,label:Ws(He,xn.value.labels[He])}))}for(const ue of O.value){const He=((ee=(V=ue.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"";!He||p.has(He)||Cl(He)||(p.add(He),u.push({value:He,label:Ws(He,B.value[ue.projectName])}))}const C=nt.value.trim();return C&&!p.has(C)&&u.unshift({value:C,label:Ws(C)}),u}),Ao=ne(()=>{const u=nt.value.trim();return u?Qt.value[u]===!0:!1}),Li=ne(()=>{var p,C;const u={};for(const V of O.value){const ee=Xs(V.projectName,((C=(p=V.threads[0])==null?void 0:p.cwd)==null?void 0:C.trim())??"");u[V.projectName]=ee?Qt.value[ee]===!0:!1}return u}),Vs=ne(()=>{const u=Jt.value.trim(),p=[...yn.value];return u&&!p.some(C=>C.value===u)&&p.unshift({value:u,label:u}),p}),rs=ne(()=>{const u=Jt.value.trim();if(!u)return"";const p=Vs.value.find(C=>C.value===u);return(p==null?void 0:p.label)??u}),Gs=ne(()=>wr.value.trim()),os=ne(()=>{const u=no.value.trim();return!u||u==="."||u===".."?!1:!/[\\/]/u.test(u)}),Kl=ne(()=>os.value&&Gs.value.trim().length>0&&!vn.value),ja=ne(()=>{const u=ot(yr.value).trim();return u||wr.value.trim()}),as=ne(()=>qr.value?"Creating…":"Create"),Yl=ne(()=>{const u=wr.value.trim(),p=_o.value.trim();return!!(u&&p&&u!==p)}),Oi=ne(()=>{const u=[];Yl.value&&u.push({key:`parent:${_o.value}`,name:"..",path:_o.value,kind:"parent"});for(const p of To.value)u.push({key:`directory:${p.path}`,name:p.name,path:p.path,kind:"directory"});return u}),Ks=ne(()=>{const u=Rr.value.trim().toLowerCase();return u?Oi.value.filter(p=>p.kind==="parent"||p.name.toLowerCase().includes(u)):Oi.value}),va=typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)"):null,Ql=ne(()=>o(_[Fr.value].label)),Ys=ne(()=>y.value?o("Terminal"):o("Open terminal")),ao=ne(()=>{const u=new Map(Qr.value.map(C=>[C.value,C]));return[...hr.value.map((C,V)=>({label:C.label,value:C.value,usageCount:0,lastUsedAt:0,...u.get(C.value)??{},custom:!1,sourceIndex:V}))].sort(Zm)}),Jl=ne(()=>[{label:y.value?o("Hide terminal"):o("Open terminal"),value:Sh},...ao.value.map(u=>({label:u.label,value:u.value}))]),Xl=ne(()=>{const u=_[Fr.value],p=Math.max(0,Co.value-ko.value-Na.value);return{"--chat-column-max":u.columnMax,"--chat-card-max":u.cardMax,"--visual-viewport-height":ko.value>0?`${ko.value}px`:"100dvh","--visual-viewport-offset-top":`${Math.max(0,Na.value)}px`,"--virtual-keyboard-inset":`${p}px`}}),ji=ne(()=>{if(!ir.value.configured)return o("Not configured");const u=ir.value.active?o("Online"):o("Configured (offline)"),p=ir.value.allowAllUsers?o("allow all users"):`${ir.value.allowedUsers} ${o("allowed user(s)")}`,C=`${ir.value.mappedChats} ${o("chat(s)")}, ${ir.value.mappedThreads} ${o("thread(s)")}, ${p}`,V=ir.value.lastError?`, ${o("error")}: ${ir.value.lastError}`:"";return`${u}, ${C}${V}`});la(()=>{var u,p;document.addEventListener("pointerdown",od),window.addEventListener("keydown",Xc),document.addEventListener("visibilitychange",ad),window.addEventListener("pageshow",sd),window.addEventListener("focus",id),window.addEventListener("resize",Eo),(u=window.visualViewport)==null||u.addEventListener("resize",Eo),(p=window.visualViewport)==null||p.addEventListener("scroll",Eo),Eo(),Ki(),va==null||va.addEventListener("change",Ki),Jv(),kv(),eu(),Ua(),Io(),Js(),Qs(),du(),ov(),Zc()}),Ol(()=>{var u,p;document.removeEventListener("pointerdown",od),window.removeEventListener("keydown",Xc),document.removeEventListener("visibilitychange",ad),window.removeEventListener("pageshow",sd),window.removeEventListener("focus",id),window.removeEventListener("resize",Eo),(u=window.visualViewport)==null||u.removeEventListener("resize",Eo),(p=window.visualViewport)==null||p.removeEventListener("scroll",Eo),va==null||va.removeEventListener("change",Ki),Pr!==null&&(window.clearInterval(Pr),Pr=null),Nn&&(clearTimeout(Nn),Nn=null),zi(),W()});function Eo(){var u,p;typeof window>"u"||(Co.value=Math.max(Co.value,window.innerHeight),ko.value=((u=window.visualViewport)==null?void 0:u.height)??window.innerHeight,Na.value=((p=window.visualViewport)==null?void 0:p.offsetTop)??0)}pt(Ht,u=>{const p=u.trim();if(Nn&&(clearTimeout(Nn),Nn=null),!p){Xr.value=null;return}Nn=setTimeout(()=>{D_(p,1e3).then(C=>{Ht.value.trim()===p&&(Xr.value=C.threadIds)}).catch(()=>{Ht.value.trim()===p&&(Xr.value=null)})},220)}),pt(b,u=>{u||($n.value=!1)}),pt(gt,()=>{if(typeof window>"u")return;if(!gt.value.some(p=>p.quotaStatus==="loading")){Pr!==null&&(window.clearInterval(Pr),Pr=null);return}Pr===null&&(Pr=window.setInterval(()=>{pa||(pa=!0,Vo({silent:!0}).finally(()=>{pa=!1}))},1500))},{deep:!0});function Zl(){ze()}async function Qs(){try{ir.value=await B_()}catch(u){const p=u instanceof Error?u.message:"Failed to load Telegram status";ir.value={configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:p}}}async function Js(){try{const u=await U_();bo.value=u.botToken,eo.value=u.allowedUserIds.map(p=>String(p)).join(`
58
- `),Ur.value=""}catch(u){Ur.value=u instanceof Error?u.message:"Failed to load Telegram configuration"}}async function eu(){const u=await z_();De.value=u.dismissed!==!0}function tu(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 nu(){const u=bo.value.trim(),p=tu(eo.value);if(!u){Ur.value=o("Telegram bot token is required.");return}if(p.length===0){Ur.value=o("At least one allowed Telegram user ID or * is required.");return}to.value=!0,Ur.value="";try{await F_(u,p),eo.value=p.map(C=>String(C)).join(`
59
- `),await Promise.all([Js(),Qs()]),window.alert(o("Telegram bot configured. Only allowlisted Telegram users can use the bridge."))}catch(C){Ur.value=C instanceof Error?C.message:o("Failed to connect Telegram bot"),Qs()}finally{to.value=!1}}function i(){An.value=!An.value,An.value?Vt(()=>{var u;return(u=rr.value)==null?void 0:u.focus()}):Ht.value=""}function d(){var u;Ht.value="",(u=rr.value)==null||u.focus()}function v(u){u.key==="Escape"&&(An.value=!1,Ht.value="")}function T(u){u&&(we.name==="thread"&&ro.value===u||(Ie.push({name:"thread",params:{threadId:u}}),st.value&&zr(!0)))}async function M(u){u&&(fe.value!==u&&(await ft(u),await Ie.push({name:"thread",params:{threadId:u}})),await Vt(),Ev())}function N(u){return u.length>8?u.slice(-8):u}function H(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 ge(u){return Tt.value||En.value||pn.value||Bt.value||vr.value.length>0||u.isActive&&vr.value!==u.accountId&&xt.value}function Ve(u){return Un.value===u.accountId}function yt(u){return Yn.value===u.accountId||Ve(u)}function wt(u){return ie(u)?o("Unavailable"):u.isActive?o("Active"):En.value?o("Switching…"):o("Switch")}function _t(u){return vr.value===u.accountId?o("Removing…"):Ve(u)?o("Click again to remove"):o("Remove")}function _n(u){Yn.value=u}function Da(u){Yn.value===u&&(Yn.value=""),vr.value!==u&&Un.value===u&&(Un.value="")}function ss(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,He)=>(ue.windowMinutes??0)-(He.windowMinutes??0))[0]??null;return ee||(p.secondary??null)}function Di(u){if(typeof u!="number"||!Number.isFinite(u))return"";const p=new Date(u*1e3);return`${p.getMonth()+1}月${p.getDate()}日`}function ga(u){var ue,He;if(ie(u))return u.quotaError||o("402 Payment Required");const p=u.quotaSnapshot,C=ss(u),V=(p==null?void 0:p.primary)??(p==null?void 0:p.secondary)??null,ee=C??V;if(ee){const Wt=Math.max(0,Math.min(100,100-Math.round(ee.usedPercent))),Mr=Di(ee.resetsAt);return Mr?`${Wt}% ${o("weekly remaining")} · ${Mr}`:`${Wt}% ${o("weekly remaining")}`}return(ue=p==null?void 0:p.credits)!=null&&ue.unlimited?o("Unlimited credits"):(He=p==null?void 0:p.credits)!=null&&He.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"),H(u),ie(u)?o("Unavailable account"):null,ga(u),`${o("Workspace")} ${u.accountId}`].filter(Boolean).join(`
60
- `)}async function Vo(u={}){try{const p=await Z0();gt.value=p.accounts,p.accounts.some(C=>C.accountId===Yn.value)||(Yn.value=""),p.accounts.some(C=>C.accountId===Un.value)||(Un.value="")}catch(p){if(u.silent===!0)return;$t.value=p instanceof Error?p.message:o("Failed to load accounts")}}async function Fi(){if(!(Tt.value||En.value||pn.value||Bt.value)){$t.value="",Yn.value="",Un.value="",Tt.value=!0;try{const u=await e_();gt.value=u.accounts,W(),q(),Be({includeSelectedThreadMessages:!0})}catch(u){$t.value=u instanceof Error?u.message:o("Failed to refresh accounts")}finally{Tt.value=!1}}}async function Ui(){var u;if(!(Tt.value||En.value||pn.value||Bt.value)){$t.value="",Fn.value="",pn.value=!0;try{const p=await t_();Er.value=p,Ar.value=!0,window.open(p,"_blank","noopener,noreferrer"),await Vt(),(u=jr.value)==null||u.focus()}catch(p){$t.value=p instanceof Error?p.message:o("Failed to start Codex login")}finally{pn.value=!1}}}function is(){Bt.value||(Ar.value=!1,Fn.value="")}async function Bi(){const u=Fn.value.trim();u&&await qi(u)}async function qi(u){if(!(Bt.value||u.length===0)){$t.value="",Bt.value=!0;try{const p=await n_(u);gt.value=p.accounts,Er.value="",Fn.value="",Ar.value=!1,W(),q(),Be({includeSelectedThreadMessages:!0})}catch(p){$t.value=p instanceof Error?p.message:o("Failed to complete Codex login")}finally{Bt.value=!1}}}async function Hi(u){if(!(En.value||Tt.value||pn.value||Bt.value)){if(xt.value){$t.value=o("Finish the current turn and pending requests before switching accounts.");return}$t.value="",Yn.value="",Un.value="",En.value=!0;try{const p=await r_(u);gt.value=gt.value.map(C=>C.accountId===u?p:{...C,isActive:!1}),W(),q(),Be({includeSelectedThreadMessages:!0}),Vo({silent:!0})}catch(p){$t.value=p instanceof Error?p.message:o("Failed to switch account")}finally{En.value=!1}}}async function it(u){if(Tt.value||En.value||pn.value||Bt.value||vr.value.length>0)return;const p=gt.value.find(V=>V.accountId===u)??null;if(!p)return;if(Un.value!==u){Un.value=u;return}if(p.isActive&&xt.value){$t.value=o("Finish the current turn and pending requests before removing the active account.");return}const C=p.isActive;$t.value="",Un.value="",vr.value=u;try{const V=await o_(u);gt.value=V.accounts,W(),q(),C&&Be({includeSelectedThreadMessages:!0}),Vo({silent:!0})}catch(V){$t.value=V instanceof Error?V.message:o("Failed to remove account")}finally{vr.value=""}}function br(u){J(u)}async function Go(u){const p=await Ee(u);p&&(Ot.value?await Ie.replace({name:"thread",params:{threadId:p}}):await Ie.push({name:"thread",params:{threadId:p}}),st.value&&zr(!0))}function Yc(u){const p=u.trim().replace(/\\/gu,"/");return p?p.includes("/.codex/worktrees/")||p.includes("/.git/worktrees/"):!1}function Xs(u,p=""){var ue,He,Wt;const C=O.value.find(Mr=>Mr.projectName===u);if(!C)return Ni(u)||p.trim();const V=C.threads.find(Mr=>!Yc(Mr.cwd));return(((ue=V==null?void 0:V.cwd)==null?void 0:ue.trim())??((Wt=(He=C.threads[0])==null?void 0:He.cwd)==null?void 0:Wt.trim())??"")||Ni(u)||p.trim()}function Om(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Xs(u,((ee=(V=p==null?void 0:p.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"");C&&(nt.value=C),st.value&&zr(!0),!Ot.value&&Ie.push({name:"home"})}function jm(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 Qc(u){var C,V;const p=O.value.find(ee=>ee.projectName===u);return Xs(u,((V=(C=p==null?void 0:p.threads[0])==null?void 0:C.cwd)==null?void 0:V.trim())??"")}function Dm(u){return(B.value[u]??u).trim()||u}function Fm(u){return Dm(u).replace(/[\\/]+/gu,"-").replace(/[\u0000-\u001f]+/gu,"").trim()||"worktree"}function Um(u){const p=Qc(u);!p||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(p)}`,"_blank","noopener,noreferrer")}async function Bm(u){const p=Qc(u);if(!p||typeof window>"u"||(await Wi(p),Qt.value[p]!==!0))return;const C=`${Fm(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 x_(p,ee),He=await rl(ue.cwd,{createIfMissing:!1,label:""});if(!He)return;nt.value=He,tn.value="local",F(Oa(He)),await Ua(),await Io(),st.value&&zr(!0),Ot.value||await Ie.push({name:"home"})}catch(ue){const He=ue instanceof Error?ue.message:"Failed to create worktree.";window.alert(He)}}}function ru(){nt.value="",tn.value="local",st.value&&zr(!0),!Ot.value&&Ie.push({name:"home"})}async function Wi(u){const p=u.trim();if(!p||Object.prototype.hasOwnProperty.call(Qt.value,p))return;const C=Jr.get(p);if(C){const ue=await C;Object.prototype.hasOwnProperty.call(Qt.value,p)||(Qt.value={...Qt.value,[p]:ue});return}const V=I_(p).then(ue=>ue.isGitRepo).catch(()=>!1).finally(()=>{Jr.delete(p)});Jr.set(p,V);const ee=await V;Object.prototype.hasOwnProperty.call(Qt.value,p)||(Qt.value={...Qt.value,[p]:ee})}function qm(u){je(u.projectName,u.displayName)}function Hm(u){ke(u.threadId,u.title)}async function Wm(u){await Oe(u),await Ua(),Io()}function zm(u){at(u.projectName,u.toIndex)}function Vm(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Xs(u,((ee=(V=p==null?void 0:p.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"");Wi(C)}function Jc(u){Gm(u)}async function Gm(u){var V;const p=await me(u),C=((V=u.followUpMessageText)==null?void 0:V.trim())??"";if(!(!p||!C||Ot.value))try{await Ye(C,[],[],"steer",[])}catch{}}async function Km(u){const p=await Pe(u.threadId,u.turnIndex);p&&(await Ie.push({name:"thread",params:{threadId:p}}),fe.value!==p&&await ft(p),st.value&&zr(!0))}function zr(u){Mt.value!==u&&(Mt.value=u,Gv(u))}function Xc(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(),zr(!Mt.value);return}if(p==="j"&&we.name==="thread"&&fe.value){u.preventDefault(),ou();return}p==="j"&&Ot.value&&Nt.value&&(u.preventDefault(),ou())}function ou(){if(Cr.value){if(Ot.value){if(!Nt.value)return;Gt.value=!Gt.value,Gt.value||Zs();return}bt(),D.value||Zs()}}function Ym(u){if(ca.value="",!!u){if(u===Sh){ou();return}Qm(u)}}async function Qm(u){if(!Cr.value||!Nt.value)return;if(Ot.value)Gt.value=!0;else if(fe.value)We(fe.value,!0);else return;const p=await Jm();if(p)try{await p.runQuickCommand(u),Xm(u)}catch{}}async function Jm(){for(let u=0;u<20;u+=1){await Vt();const p=Ot.value?Mn.value:kr.value;if(p)return p;await new Promise(C=>window.setTimeout(C,25))}return null}async function Zc(){const u=Nt.value.trim();if(!u){hr.value=[];return}try{hr.value=await Y0(u)}catch{hr.value=[]}}function Xm(u){const p=ed(u);if(!p)return;const C=Qr.value.find(Wt=>Wt.value===p),V=hr.value.findIndex(Wt=>Wt.value===p),ee=V>=0?hr.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},He=[...Qr.value.filter(Wt=>Wt.value!==p),ue];Qr.value=He,tv(He)}function ed(u){return u.trim().replace(/\s+/g," ")}function Zm(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 ev(){if(typeof window>"u")return[];try{const u=window.localStorage.getItem(Ch);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,He=ed(td(ue==null?void 0:ue.value));!He||C.has(He)||(C.add(He),V.push({label:td(ue==null?void 0:ue.label)||He,value:He,custom:(ue==null?void 0:ue.custom)!==!1,usageCount:nd(ue==null?void 0:ue.usageCount),lastUsedAt:nd(ue==null?void 0:ue.lastUsedAt)}))}return V}catch{return[]}}function tv(u){typeof window>"u"||window.localStorage.setItem(Ch,JSON.stringify(u.map(p=>({label:p.label,value:p.value,custom:p.custom===!0,usageCount:p.usageCount,lastUsedAt:p.lastUsedAt}))))}function td(u){return typeof u=="string"?u:""}function nd(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 rd(u){if(Nr.value=u,!u){$n.value=!1,zi();return}$n.value=!0,zi(),Zr=setTimeout(()=>{Zr=null,b.value||($n.value=!1)},1500)}function nv(){Gt.value=!1,Zs()}function rv(){fe.value&&We(fe.value,!1),Zs()}function Zs(){Nr.value=!1,$n.value=!1,zi()}function zi(){Zr&&(clearTimeout(Zr),Zr=null)}async function ov(){try{const u=await K0();Cr.value=u.available,u.available||(Gt.value=!1,fe.value&&We(fe.value,!1))}catch{Cr.value=!1,Gt.value=!1}}function od(u){var C,V;const p=u.target;if(p instanceof Node){if(Nr.value){const ee=p instanceof Element?p:p.parentElement;ee!=null&&ee.closest(".thread-terminal-panel")||Zs()}jn.value&&((C=pr.value)!=null&&C.contains(p)||(V=Uo.value)!=null&&V.contains(p)||(jn.value=!1))}}function av(u){var C,V;if(!jn.value)return;const p=u.target;p instanceof Node&&((C=pr.value)!=null&&C.contains(p)||(V=Uo.value)!=null&&V.contains(p)||(jn.value=!1))}function ad(){if(!(typeof document>"u")&&st.value){if(document.visibilityState==="hidden"){Ho.value=Date.now(),Ma.value=!1;return}au()}}function sd(u){u.persisted&&au()}function id(){we.name==="home"&&(Ua(),Io()),au()}function au(){typeof window>"u"||typeof document>"u"||!st.value||document.visibilityState!=="visible"||Ma.value||Ho.value===null||Date.now()-Ho.value<NM||(Ma.value=!0,Ho.value=null,sv())}async function sv(){if(!$a.value){$a.value=!0;try{await Be({includeSelectedThreadMessages:!0,awaitAncillaryRefreshes:!0}),await hu()}finally{$a.value=!1}}}function ld(u){const p=u.text;Vi();const C=en.value,V=u.mode==="queue"&&C&&C.threadId===fe.value?C.queueIndex:void 0;if(en.value=null,Ot.value){Zv(p,u.imageUrls,u.skills,u.fileAttachments);return}Ye(p,u.imageUrls,u.skills,u.mode,u.fileAttachments,V)}function iv(u){const p=z.value.findIndex(ue=>ue.id===u),C=p>=0?z.value[p]:void 0,V=Lt.value;if(!C||!V||V.hasUnsavedDraft()&&!window.confirm("Replace the current draft with this queued message for editing?"))return;en.value=fe.value?{threadId:fe.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 Vi(){if(!st.value||Ot.value)return;const u=()=>{var p;(p=Sn.value)==null||p.jumpToLatest()};u(),Vt(()=>{u(),!(typeof window>"u")&&window.requestAnimationFrame(()=>{u(),window.requestAnimationFrame(u)})})}function lv(u){nt.value=u.trim(),Jn.value=""}function uv(u){Jt.value=u.trim()}function Gi(u){const p=Nt.value.trim();return!u||p!==u?!1:we.name==="thread"||we.name==="home"&&Ao.value}function ud(){Ln+=1,Sr+=1,wo.value=[],Ft.value=null,Dn.value=null,Kt.value=null,St.value=null,ln.value=!1,Ut.value=!1,or.value={},Kn.value="",Or.value="",hn.value="",wn.value=!1}async function ei(u){const p=u.trim();if(!p){ud();return}const C=++Ln;wn.value=!0,hn.value="";try{const V=await E_(p);if(C!==Ln||!Gi(p))return;wo.value=V.options,Ft.value=V.currentBranch,Dn.value=V.headSha,Kt.value=V.headSubject,St.value=V.headDate,ln.value=V.detached,Ut.value=V.dirty}catch{if(C!==Ln||!Gi(p))return;wo.value=[],Ft.value=null,Dn.value=null,Kt.value=null,St.value=null,ln.value=!1,Ut.value=!1}finally{C===Ln&&(wn.value=!1)}}function cv(u){Ft.value=u.currentBranch,Dn.value=u.headSha,Kt.value=u.headSubject,St.value=u.headDate,ln.value=u.detached,Ut.value=u.dirty}function dv(u){if(xr.value)return;const p=u.trim();if(!p||p===(Ft.value??""))return;const C=Nt.value.trim();C&&(xr.value=!0,hn.value="",R_(C,p).then(V=>(Ft.value=V||p,Dn.value=null,Kt.value=null,St.value=null,ln.value=!1,Gn.value=!1,ei(C))).catch(V=>{const ee=V instanceof Error?V.message:"Failed to switch branch";ei(C).finally(()=>{hn.value=ee})}).finally(()=>{xr.value=!1}))}function fv(u){if(xr.value)return;const p=u.branch.trim(),C=u.sha.trim(),V=Nt.value.trim();!p||!C||!V||(xr.value=!0,hn.value="",M_(V,p,C).then(ee=>(cv(ee),Gn.value=!1,ei(V))).catch(ee=>{const ue=ee instanceof Error?ee.message:"Failed to reset branch to commit";ei(V).finally(()=>{hn.value=ue})}).finally(()=>{xr.value=!1}))}function hv(u){const p=u.trim(),C=Nt.value.trim();if(!p||!C||Kn.value===p||or.value[p])return;const V=++Sr;Kn.value=p,Or.value="",P_(C,p).then(ee=>{V!==Sr||!Gi(C)||(or.value={...or.value,[p]:ee})}).catch(ee=>{V!==Sr||!Gi(C)||(Or.value=ee instanceof Error?ee.message:"Failed to load branch commits")}).finally(()=>{V===Sr&&Kn.value===p&&(Kn.value="")})}async function pv(){const u=await iu();if(!u)return;await Io();const p=On.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=hd(fd(u,V));if(ee)try{const ue=await rl(ee,{createIfMissing:!0,label:""});if(!ue)return;nt.value=ue,F(Oa(ue)),await Ua(),await Io()}catch(ue){const He=ue instanceof Error?ue.message:"Failed to create the project.";window.alert(He)}}async function mv(){const u=nt.value.trim()||await iu();u&&(Br.value=!1,gr.value=!0,Rr.value="",await ya(u),vn.value||Vt(()=>{var p;return(p=da.value)==null?void 0:p.focus()}))}function ls(){Hr+=1,gr.value=!1,Rn.value=!1,vn.value="",Rr.value="",yr.value="",ti()}async function vv(u){!u||Rn.value||(Rr.value="",await ya(u))}function gv(){const u=wr.value.trim();!gr.value||!u||ya(u)}function yv(){const u=ja.value;!gr.value||!u||Rn.value||ya(u)}function wv(){if(!gr.value||Rn.value||sr.value)return;const u=ja.value,p=wr.value.trim();!u||u===p||ya(u)}function bv(){const u=ja.value,p=wr.value.trim();if(u){if(u!==p){ya(u);return}su(u)}}async function su(u=ja.value){const p=ot(u).trim();if(p){vn.value="",sr.value=!0;try{const C=await rl(p,{createIfMissing:!1,label:""});if(!C){vn.value="Failed to open the selected folder.";return}nt.value=C,F(Oa(C)),await Ua(),await Io(),ls()}catch(C){vn.value=C instanceof Error?C.message:"Failed to open the selected folder."}finally{sr.value=!1}}}async function _v(){if(Jn.value="",Br.value){ti();return}if(!gr.value){const u=nt.value.trim()||await iu();if(!u||(gr.value=!0,Rr.value="",await ya(u),vn.value))return}vn.value||(no.value=On.value,Br.value=!0,Vt(()=>{var u;return(u=un.value)==null?void 0:u.focus()}))}function ti(){Jn.value="",no.value="",Br.value=!1}async function cd(){const u=no.value.trim();if(!u)return;if(Jn.value="",vn.value){Jn.value="Reload the current folder before creating a new one.";return}qr.value=!0;const p=Gs.value.trim(),C=hd(fd(p,u));if(!C){Jn.value="Unable to determine where the new folder should be created.",qr.value=!1;return}if(!os.value){Jn.value="Enter a single folder name.",qr.value=!1;return}try{const V=await N_(C);if(!V){Jn.value="Failed to create the folder.";return}Jn.value="",Rr.value="",await ya(V),ti()}catch(V){Jn.value=V instanceof Error?V.message:"Failed to create folder."}finally{qr.value=!1}}async function Tv(){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 rl(u,{createIfMissing:!1,label:""});if(!C)return!1;nt.value=C,F(Oa(C)),await Ie.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 iu(){const u=dd();if(u)return u;try{const p=await Xf();if(p)return Lr.value=p,p}catch{}return""}async function Io(){const u=dd();if(!u){On.value="New Project (1)";return}try{const p=await O_(u);On.value=p.name||"New Project (1)"}catch{On.value="New Project (1)"}}function dd(){var C,V;const u=nt.value.trim();if(u)return xs(u);const p=((V=(C=zs.value[0])==null?void 0:C.value)==null?void 0:V.trim())??"";return p?xs(p):Lr.value.trim()}async function kv(){try{Lr.value=await Xf()}catch{Lr.value=""}}async function Ua(){try{const u=await vs();xn.value={order:[...u.order],labels:{...u.labels},projectOrder:[...u.projectOrder]}}catch{xn.value={order:[],labels:{},projectOrder:[]}}}async function ya(u){const p=++Hr,C=ot(u).trim();yr.value=C,wr.value=C,vn.value="",Rn.value=!0;try{const V=await $_(u,{showHidden:ha.value});if(p!==Hr)return;yr.value=V.path,wr.value=V.path,_o.value=V.parentPath,To.value=V.entries}catch(V){if(p!==Hr)return;vn.value=V instanceof Error?V.message:"Failed to load local folders.",_o.value=xs(wr.value),To.value=[],ti()}finally{p===Hr&&(Rn.value=!1)}}function fd(u,p){const C=ot(u).trim(),V=ot(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 hd(u){const p=ot(u).trim();if(!p)return"";const C=p.match(/^\\\\([^\\/]+)[\\/]+([^\\/]+)([\\/].*)?$/u);if(C){const[,ee,ue,He=""]=C,Wt=lu(He.split(/[\\/]+/u));return Wt.length>0?`\\\\${ee}\\${ue}\\${Wt.join("\\")}`:`\\\\${ee}\\${ue}`}const V=p.match(/^([a-zA-Z]:)([\\/].*)?$/u);if(V){const[,ee,ue=""]=V,He=p.includes("\\")&&!p.includes("/")?"\\":"/",Wt=lu(ue.split(/[\\/]+/u));return Wt.length>0?`${ee}${He}${Wt.join(He)}`:`${ee}${He}`}if(p.startsWith("/")){const ee=lu(p.split("/"));return ee.length>0?`/${ee.join("/")}`:"/"}return p}function lu(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 Cv(u){Q(u.draggedId,u.targetId)}function pd(u){ye(So.value,u)}function md(u){ce(u)}function vd(u){Le(u)}function Sv(){$()}function xv(u){const p=u.turnId.trim();if(p.length>0){const C=[...oo.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&&Lt.value&&Lt.value.appendTextToDraft(C.text)}he(u.turnId)}function Av(u){Ot.value||!fe.value||(pe("default"),Vi(),Ye("Implement",[],[],"steer",[],void 0,"default"))}function Ev(){if(Ot.value||Wr.value||typeof document>"u"||!te.value||oo.value.length===0)return;const u=Iv(),p=Rv(),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 Iv(){var C,V,ee;const u=[],p=((V=(C=te.value)==null?void 0:C.title)==null?void 0:V.trim())||"Untitled thread";u.push(`# ${Pv(p)}`),u.push(""),u.push(`- Exported: ${new Date().toISOString()}`),u.push(`- Thread ID: ${((ee=te.value)==null?void 0:ee.id)??""}`),u.push(""),u.push("---"),u.push("");for(const ue of oo.value){const He=ue.role?ue.role.toUpperCase():"MESSAGE";u.push(`## ${He}`),u.push("");const Wt=ue.text.trim();if(Wt&&(u.push(Wt),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 Mr of ue.fileAttachments)u.push(`- ${Mr.path}`);u.push("")}if(ue.images&&ue.images.length>0){u.push("Images:");for(const Mr of ue.images)u.push(`- ${Mr}`);u.push("")}}return`${u.join(`
61
- `).trimEnd()}
62
- `}function Rv(){var ee,ue;const C=(((ue=(ee=te.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 Pv(u){return u.replace(/([\\`*_{}\[\]()#+\-.!])/g,"\\$1")}function uu(u,p){if(typeof window>"u")return p;const C=window.localStorage.getItem(u);return C===null?p:C==="1"}function Mv(){if(typeof window>"u")return"system";const u=window.localStorage.getItem(Eh);return u==="light"||u==="dark"?u:"system"}function $v(){if(typeof window>"u")return"steer";const u=window.localStorage.getItem(Ah);return u==="steer"||u==="queue"?u:"queue"}function Nv(){if(typeof window>"u")return"standard";const u=window.localStorage.getItem(Mh);return u==="standard"||u==="wide"||u==="extra-wide"?u:"standard"}function Lv(){Bn.value=!Bn.value,window.localStorage.setItem(xh,Bn.value?"1":"0")}function Ov(){Dr.value=Dr.value==="steer"?"queue":"steer",window.localStorage.setItem(Ah,Dr.value)}function jv(){const u=["system","light","dark"],p=u.indexOf(ar.value);ar.value=u[(p+1)%u.length],window.localStorage.setItem(Eh,ar.value),Ki()}function Dv(){const u=["standard","wide","extra-wide"],p=u.indexOf(Fr.value);Fr.value=u[(p+1)%u.length],window.localStorage.setItem(Mh,Fr.value)}function Fv(){In.value=!In.value,window.localStorage.setItem(Ih,In.value?"1":"0")}function Uv(){E.value=!E.value,window.localStorage.setItem(Rh,E.value?"1":"0")}async function Bv(u){if(!Yt.value){Yt.value=!0;try{if(u==="codex"){Qn.value="codex";const p=await Yf(!1);mt.value=p.enabled}else if(u==="openrouter"){Qn.value="openrouter";const p=await Yf(!0);mt.value=p.enabled,await cs("","",{wireApi:mn.value,provider:"openrouter"})}else u==="opencode-zen"?(Qn.value="opencode-zen",await cs("",qo.value.trim(),{wireApi:"chat",provider:"opencode-zen"}),mt.value=!0):u==="custom"&&(Qn.value="custom",Xt.value.trim()&&Bo.value.trim()&&(await cs(Xt.value.trim(),Bo.value.trim(),{wireApi:Ir.value}),mt.value=!0));bn.value="",await Be({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0}),we.name==="thread"&&Ie.push({name:"home"})}catch(p){bn.value=p instanceof Error?p.message:"Failed to switch provider"}finally{Yt.value=!1}}}async function cu(){if(vt.value)return;const u=Xt.value.trim();if(u){vt.value=!0;try{bn.value="",await cs(u,Bo.value.trim(),{wireApi:Ir.value}),mt.value=!0,await Be({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){bn.value=p instanceof Error?p.message:"Failed to save custom endpoint"}finally{vt.value=!1}}}async function gd(u){if(vt.value||Yt.value||mn.value===u)return;const p=mn.value;mn.value=u,vt.value=!0;try{bn.value="",await cs("","",{wireApi:u,provider:"openrouter"}),mt.value=!0,await Be({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(C){mn.value=p,bn.value=C instanceof Error?C.message:"Failed to save OpenRouter API format"}finally{vt.value=!1}}async function yd(){if(vt.value)return;const u=qo.value.trim();if(u){vt.value=!0;try{bn.value="",await cs("",u,{wireApi:"chat",provider:"opencode-zen"}),mt.value=!0,await Be({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){bn.value=p instanceof Error?p.message:"Failed to save OpenCode Zen config"}finally{vt.value=!1}}}async function wd(){if(!vt.value){vt.value=!0;try{const u=cn.value.trim();await Qf(u),cn.value="",await du(),await Be({includeSelectedThreadMessages:!1})}catch{}finally{vt.value=!1}}}async function qv(){if(!vt.value){vt.value=!0;try{await Qf(""),cn.value="",await du(),await Be({includeSelectedThreadMessages:!1})}catch{}finally{vt.value=!1}}}async function du(){try{const u=await p_();mt.value=u.enabled,Me.value=u.customKey??!1,Ce.value=u.maskedKey??null,u.enabled?u.provider==="opencode-zen"?Qn.value="opencode-zen":u.provider==="custom"?(Qn.value="custom",Xt.value=u.customBaseUrl??"",Ir.value=u.wireApi==="chat"?"chat":"responses"):(Qn.value="openrouter",mn.value=u.wireApi==="chat"?"chat":"responses"):Qn.value="codex"}catch{}}function Hv(u){const C=fu(u.trim())||"auto";U.value=C,window.localStorage.setItem(Ph,C)}function Wv(){var C;if(typeof window>"u")return"auto";const u=((C=window.localStorage.getItem(Ph))==null?void 0:C.trim())||"auto";return fu(u)||"auto"}function zv(){const u=[{value:"auto",label:o("Auto-detect")}],p=new Set(["auto"]);function C(ee){const ue=R[ee]||ee;return`${ue.charAt(0).toUpperCase()+ue.slice(1)} (${ee})`}for(const ee of typeof navigator<"u"?navigator.languages??[]:[]){const ue=fu(ee);!ue||p.has(ue)||(p.add(ue),u.push({value:ue,label:`Preferred: ${C(ue)}`}))}for(const ee of Object.keys(R))p.has(ee)||(p.add(ee),u.push({value:ee,label:C(ee)}));const V=U.value.trim();return V&&!p.has(V)&&u.push({value:V,label:C(V)}),u}function fu(u){const p=u.trim().toLowerCase();if(!p||p==="auto")return"";if(p in R)return p;const C=p.split("-")[0]??p;return C in R?C:""}function Ki(){const u=document.documentElement;if(ar.value==="dark")u.classList.add("dark");else if(ar.value==="light")u.classList.remove("dark");else{const p=window.matchMedia("(prefers-color-scheme: dark)").matches;u.classList.toggle("dark",p)}}function Vv(){return typeof window>"u"?!1:window.localStorage.getItem(Th)==="1"}function Gv(u){typeof window>"u"||window.localStorage.setItem(Th,u?"1":"0")}function Kv(){if(typeof window>"u")return!0;const u=window.localStorage.getItem(kh);return u===null?!0:u==="1"}function Yv(){mr.value=!mr.value,!(typeof window>"u")&&window.localStorage.setItem(kh,mr.value?"1":"0")}function Qv(u,p){const C=(u??"").trim();return C.length>0?C:p.trim()||"message"}function bd(u){pe(u)}async function Jv(){await Ie.isReady(),we.name==="thread"&&ro.value&&re(ro.value),await Be({includeSelectedThreadMessages:we.name==="thread"}),Vo({silent:!0}),await Tv(),Fo.value=!0,await hu(),q()}function Xv(u){return u?O.value.some(p=>p.threads.some(C=>C.id===u)):!1}async function hu(){if(sn.value){Do=!0;return}sn.value=!0;try{do{if(Do=!1,we.name==="home"||we.name==="skills"){fe.value!==""&&await ft("");continue}if(we.name==="thread"){const u=ro.value;if(!u)continue;if(fe.value!==u){if(!Xv(u)){fe.value?await Ie.replace({name:"thread",params:{threadId:fe.value}}):await Ie.replace({name:"home"});continue}await ft(u)}else rt(u,{silent:!0})}}while(Do)}finally{sn.value=!1}}pt(()=>[we.name,ro.value,qe.value,fe.value],async()=>{Fo.value&&await hu()}),pt(()=>Nt.value,()=>{Zc()}),pt(()=>[we.name,Nt.value],([u,p])=>{u==="thread"&&Wi(p)},{immediate:!0}),pt(()=>fe.value,async u=>{if(Fo.value&&!sn.value&&!(Ot.value||Wr.value)){if(!u){we.name!=="home"&&await Ie.replace({name:"home"});return}we.name==="thread"&&ro.value===u||await Ie.replace({name:"thread",params:{threadId:u}})}}),pt(()=>zs.value,u=>{if(u.length===0){nt.value="",Io();return}const p=nt.value.trim();p&&(u.some(V=>V.value===p)||(nt.value="")),Io()},{immediate:!0}),pt(()=>nt.value,()=>{nn.value={phase:"idle",title:"",message:""},Io()}),pt(()=>[we.name,nt.value],([u,p])=>{u==="home"&&Wi(p)},{immediate:!0}),pt(Ao,u=>{!u&&tn.value==="worktree"&&(tn.value="local")},{immediate:!0}),pt(()=>[tn.value,nt.value],([u,p])=>{u!=="worktree"||!Ao.value||_d(p)},{immediate:!0}),pt(()=>tn.value,u=>{var p;if(u==="local"){nn.value={phase:"idle",title:"",message:""};const C=nt.value.trim();if(C&&Yc(C)){const V=((p=te.value)==null?void 0:p.projectName)??$r(C),ee=Xs(V,"");ee&&(nt.value=ee)}return}Ao.value&&_d(nt.value)}),pt(()=>we.name,u=>{u!=="home"&&(nn.value={phase:"idle",title:"",message:""}),u!=="thread"&&(Gn.value=!1)}),pt(()=>fe.value,()=>{nn.value={phase:"idle",title:"",message:""}}),pt(()=>[we.name,Nt.value,Ao.value],([u,p,C])=>{if(!(u==="thread"||u==="home"&&C)){ud();return}Sr+=1,or.value={},Kn.value="",Or.value="",ei(p)},{immediate:!0}),pt(Us,u=>{typeof document>"u"||(document.title=u)},{immediate:!0}),pt(st,u=>{u&&!Mt.value&&zr(!0)},{immediate:!0});async function Zv(u,p=[],C=[],V=[]){try{nn.value={phase:"idle",title:"",message:""};let ee=nt.value;if(tn.value==="worktree"){nn.value={phase:"running",title:o("Creating worktree"),message:o("Creating a worktree and running setup.")};try{const He=await S_(nt.value,Jt.value);ee=He.cwd,nt.value=He.cwd,nn.value={phase:"idle",title:"",message:""}}catch{nn.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 He=await L_(u);ee=He.cwd,nt.value=He.cwd}const ue=await A(u,ee,p,C,V);if(!ue)return;await Ie.replace({name:"thread",params:{threadId:ue}}),Vi()}catch{}}function eg(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 tg(u){return`${u.kind}:${u.name}:${u.skillPath??""}`}async function ng(u){var V;if(go.value)return;go.value=tg(u);const p=eg(u),C=(V=u.attachedSkills)!=null&&V.length?u.attachedSkills:u.kind==="skill"&&u.skillPath?[{name:u.name,path:u.skillPath}]:[];try{const ee=L.value.trim()||Nt.value.trim(),ue=await A(p,ee,[],C,[]);if(!ue)return;await Ie.replace({name:"thread",params:{threadId:ue}}),Vi()}catch{}finally{go.value=""}}async function _d(u){var C;const p=u.trim();if(!p){yn.value=[],Jt.value="";return}nr.value=!0;try{const V=await A_(p);yn.value=V;const ee=Jt.value.trim();if(!(ee.length>0&&V.some(He=>He.value===ee))){const He=V.find(Wt=>Wt.value.trim()==="main");Jt.value=(He==null?void 0:He.value)??((C=V[0])==null?void 0:C.value)??""}}catch{yn.value=[],Jt.value=""}finally{nr.value=!1}}return(u,p)=>(k(),I(Ge,null,[Ue(Jb,{"is-sidebar-collapsed":Mt.value,onCloseSidebar:p[26]||(p[26]=C=>zr(!0))},{sidebar:ht(()=>[m("section",AI,[m("div",EI,[Mt.value?X("",!0):(k(),Ze(ch,{key:0,class:"sidebar-thread-controls-host","is-sidebar-collapsed":Mt.value,"show-new-thread-button":!0,onToggleSidebar:p[0]||(p[0]=C=>zr(!Mt.value)),onStartNewThread:ru},{default:ht(()=>[m("button",{class:"sidebar-search-toggle",type:"button","aria-pressed":An.value,"aria-label":S(o)("Search threads"),title:S(o)("Search threads"),onClick:i},[Ue(dh,{class:"sidebar-search-toggle-icon"})],8,II)]),_:1},8,["is-sidebar-collapsed"])),!Mt.value&&An.value?(k(),I("div",RI,[Ue(dh,{class:"sidebar-search-bar-icon"}),zt(m("input",{ref_key:"sidebarSearchInputRef",ref:rr,"onUpdate:modelValue":p[1]||(p[1]=C=>Ht.value=C),class:"sidebar-search-input",type:"text",placeholder:S(o)("Filter threads..."),onKeydown:v},null,40,PI),[[an,Ht.value]]),Ht.value.length>0?(k(),I("button",{key:0,class:"sidebar-search-clear",type:"button","aria-label":S(o)("Clear search"),onClick:d},[Ue(PE,{class:"sidebar-search-clear-icon"})],8,MI)):X("",!0)])):X("",!0),Mt.value?X("",!0):(k(),I("button",{key:2,class:et(["sidebar-skills-link",{"is-active":Wr.value}]),type:"button",onClick:p[2]||(p[2]=C=>{S(Ie).push({name:"skills"}),S(st)&&zr(!0)})},[m("span",$I,[Ue(ml)]),m("span",NI,[m("span",LI,P(S(o)("Skills")),1),m("span",OI,P(S(o)("Plugins, apps, MCPs")),1)])],2)),Mt.value?X("",!0):(k(),Ze(rC,{key:3,groups:S(O),"project-display-name-by-id":S(B),"project-git-repo-by-name":Li.value,"selected-thread-id":S(fe),"is-loading":S(qe),"search-query":Ht.value,"search-matched-thread-ids":Xr.value,onSelect:T,onArchive:br,onStartNewThread:Om,onRenameProject:qm,onBrowseThreadFiles:jm,onBrowseProjectFiles:Um,onRequestProjectGitStatus:Vm,onCreateProjectWorktree:Bm,onRenameThread:Hm,onForkThread:Go,onRemoveProject:Wm,onReorderProject:zm,onExportThread:M,onStartNewChat:ru},null,8,["groups","project-display-name-by-id","project-git-repo-by-name","selected-thread-id","is-loading","search-query","search-matched-thread-ids"]))]),Mt.value?X("",!0):(k(),I("div",{key:0,ref_key:"settingsAreaRef",ref:yo,class:"sidebar-settings-area",onClick:av},[Ue(Vp,{name:"settings-panel"},{default:ht(()=>[jn.value?(k(),I("div",{key:0,ref_key:"settingsPanelRef",ref:pr,class:"sidebar-settings-panel",onClick:p[15]||(p[15]=Xe(()=>{},["stop"]))},[m("div",jI,[m("div",DI,[m("div",FI,[m("button",{class:"sidebar-settings-account-collapse",type:"button","aria-expanded":!mr.value,title:mr.value?S(o)("Expand accounts"):S(o)("Collapse accounts"),onClick:Yv},[m("span",BI,P(mr.value?"▸":"▾"),1)],8,UI),m("span",qI,P(S(o)("Accounts")),1),m("span",HI,P(gt.value.length),1)]),m("button",{class:"sidebar-settings-account-refresh",type:"button",disabled:Tt.value||En.value||pn.value||Bt.value,onClick:Fi},P(Tt.value?S(o)("Reloading…"):S(o)("Reload")),9,WI)]),mr.value?X("",!0):(k(),I(Ge,{key:0},[$t.value?(k(),I("p",zI,P($t.value),1)):X("",!0),m("div",VI,[m("button",{class:"sidebar-settings-account-login-button",type:"button",disabled:Tt.value||En.value||pn.value||Bt.value,onClick:Ui},P(pn.value?S(o)("Starting login…"):S(o)("Login")),9,GI),Er.value?(k(),I("a",{key:0,class:"sidebar-settings-account-login-link",href:Er.value,target:"_blank",rel:"noreferrer"},P(S(o)("Open login URL")),9,KI)):X("",!0)]),gt.value.length===0?(k(),I("p",YI,P(S(o)("Click Login, or run `codex login`, then click reload.")),1)):(k(),I("div",QI,[(k(!0),I(Ge,null,jt(gt.value,C=>(k(),I("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":yt(C)}]),title:Fa(C),onMouseenter:V=>_n(C.accountId),onMouseleave:V=>Da(C.accountId)},[m("div",XI,[m("p",ZI,P(C.email||S(o)("Account")),1),m("p",eR,P(H(C)),1),m("p",tR,P(ga(C)),1),m("p",nR," Workspace "+P(N(C.accountId)),1)]),m("div",rR,[m("button",{class:"sidebar-settings-account-switch",type:"button",disabled:ge(C)||C.isActive||ie(C),onClick:V=>Hi(C.accountId)},P(wt(C)),9,oR),m("button",{class:et(["sidebar-settings-account-remove",{"is-visible":yt(C),"is-confirming":Ve(C)}]),type:"button",disabled:ge(C),onClick:V=>it(C.accountId)},P(_t(C)),11,aR)])],42,JI))),128))]))],64))]),m("button",{class:"sidebar-settings-row",type:"button",title:g.sendWithEnter,onClick:Lv},[m("span",iR,P(S(o)("Require ⌘ + enter to send")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":!Bn.value}])},null,2)],8,sR),m("button",{class:"sidebar-settings-row",type:"button",title:g.inProgressSendMode,onClick:Ov},[m("span",uR,P(S(o)("When busy, send as")),1),m("span",cR,P(Dr.value==="steer"?S(o)("Steer"):S(o)("Queue")),1)],8,lR),m("button",{class:"sidebar-settings-row",type:"button",title:g.appearance,onClick:jv},[m("span",fR,P(S(o)("Appearance")),1),m("span",hR,P(ar.value==="system"?S(o)("System"):ar.value==="dark"?S(o)("Dark"):S(o)("Light")),1)],8,dR),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the interface language for the app.")},[m("span",mR,P(S(o)("UI language")),1),m("select",{class:"sidebar-settings-provider-select",value:S(s),onChange:p[3]||(p[3]=C=>S(c)(C.target.value))},[(k(!0),I(Ge,null,jt(S(l),C=>(k(),I("option",{key:C.value,value:C.value},P(C.label),9,gR))),128))],40,vR)],8,pR),m("button",{class:"sidebar-settings-row",type:"button",title:g.chatWidth,onClick:Dv},[m("span",wR,P(S(o)("Chat width")),1),m("span",bR,P(Ql.value),1)],8,yR),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationClickToToggle,onClick:Fv},[m("span",TR,P(S(o)("Click to toggle dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":In.value}])},null,2)],8,_R),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationAutoSend,onClick:Uv},[m("span",CR,P(S(o)("Auto send dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":E.value}])},null,2)],8,kR),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the API provider for the Codex backend")},[m("span",xR,P(S(o)("Provider")),1),Ue(Ga,{class:"sidebar-settings-provider-dropdown","model-value":Qn.value,options:Fs.value,disabled:Yt.value,placeholder:S(o)("Provider"),"open-direction":"up","onUpdate:modelValue":Bv},null,8,["model-value","options","disabled","placeholder"])],8,SR),bn.value?(k(),I("div",AR,P(bn.value),1)):X("",!0),Qn.value==="openrouter"?(k(),I("div",ER,[m("div",IR,[m("span",RR,P(S(o)("OpenRouter API key")),1),m("a",PR,P(S(o)("Get API key")),1)]),m("div",MR,[Me.value&&!cn.value?(k(),I(Ge,{key:0},[m("span",$R,P(Ce.value),1),m("button",{class:"sidebar-settings-key-clear",type:"button",disabled:vt.value,title:S(o)("Remove custom key, use community keys"),onClick:qv},"✕",8,NR)],64)):(k(),I(Ge,{key:1},[zt(m("input",{"onUpdate:modelValue":p[4]||(p[4]=C=>cn.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-or-v1-... (optional, uses free keys if empty)"),onKeydown:fn(wd,["enter"])},null,40,LR),[[an,cn.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!cn.value.trim(),onClick:wd},P(vt.value?"...":S(o)("Set")),9,OR)],64))]),m("div",jR,[m("span",DR,P(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":mn.value==="responses"}]),disabled:vt.value||Yt.value,onClick:p[5]||(p[5]=C=>gd("responses"))}," Responses ",10,UR),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":mn.value==="chat"}]),disabled:vt.value||Yt.value,onClick:p[6]||(p[6]=C=>gd("chat"))}," Completions ",10,BR)],8,FR)])])):X("",!0),Qn.value==="opencode-zen"?(k(),I("div",qR,[m("div",HR,[m("span",WR,P(S(o)("OpenCode Zen API key")),1),m("a",zR,P(S(o)("Get API key")),1)]),m("div",VR,[zt(m("input",{"onUpdate:modelValue":p[7]||(p[7]=C=>qo.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-..."),onKeydown:fn(yd,["enter"])},null,40,GR),[[an,qo.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!qo.value.trim(),onClick:yd},P(vt.value?"...":S(o)("Save")),9,KR)])])):X("",!0),Qn.value==="custom"?(k(),I("div",YR,[m("span",QR,P(S(o)("Custom endpoint URL")),1),m("div",JR,[zt(m("input",{"onUpdate:modelValue":p[8]||(p[8]=C=>Xt.value=C),class:"sidebar-settings-key-input",type:"url",placeholder:S(o)("https://api.example.com/v1"),onKeydown:fn(cu,["enter"])},null,40,XR),[[an,Xt.value]])]),m("span",ZR,P(S(o)("API key")),1),m("div",eP,[zt(m("input",{"onUpdate:modelValue":p[9]||(p[9]=C=>Bo.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("Bearer token (optional)"),onKeydown:fn(cu,["enter"])},null,40,tP),[[an,Bo.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!Xt.value.trim(),onClick:cu},P(vt.value?"...":S(o)("Save")),9,nP)]),m("div",rP,[m("span",oP,P(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":Ir.value==="responses"}]),onClick:p[10]||(p[10]=C=>Ir.value="responses")}," Responses ",2),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":Ir.value==="chat"}]),onClick:p[11]||(p[11]=C=>Ir.value="chat")}," Completions ",2)],8,aP)])])):X("",!0),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:g.dictationLanguage},[m("span",iP,P(S(o)("Dictation language")),1),Ue(Ga,{class:"sidebar-settings-language-dropdown","model-value":U.value,options:oe.value,placeholder:S(o)("Auto-detect"),"open-direction":"up","enable-search":!0,"search-placeholder":S(o)("Search language..."),"onUpdate:modelValue":Hv},null,8,["model-value","options","placeholder","search-placeholder"])],8,sP),m("button",{class:"sidebar-settings-row",type:"button","aria-live":"polite",onClick:p[12]||(p[12]=C=>Pa.value=!Pa.value)},[m("span",lP,P(S(o)("Telegram")),1),m("span",uP,P(ji.value),1)]),Pa.value?(k(),I("div",cP,[m("label",dP,[m("span",fP,P(S(o)("Bot token")),1),zt(m("input",{"onUpdate:modelValue":p[13]||(p[13]=C=>bo.value=C),class:"sidebar-settings-input",type:"password",placeholder:"123456:ABCDEF",autocomplete:"off",spellcheck:"false"},null,512),[[an,bo.value]])]),m("label",hP,[m("span",pP,P(S(o)("Allowed Telegram user IDs")),1),zt(m("textarea",{"onUpdate:modelValue":p[14]||(p[14]=C=>eo.value=C),class:"sidebar-settings-textarea",rows:"3",placeholder:`123456789
63
- 987654321`,spellcheck:"false"},null,512),[[an,eo.value]])]),m("div",mP,P(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),Ur.value?(k(),I("div",vP,P(Ur.value),1)):X("",!0),m("div",gP,[m("button",{class:"sidebar-settings-telegram-save",type:"button",disabled:to.value,onClick:nu},P(to.value?S(o)("Saving…"):S(o)("Save Telegram config")),9,yP)])])):X("",!0),ut.value?(k(),I("div",{key:5,class:"sidebar-settings-row sidebar-settings-context-row","data-state":xo.value,title:Vl.value},[m("span",bP,P(S(o)("Context")),1),m("span",{class:"sidebar-settings-context-value","data-state":xo.value},[es(P(zo.value)+" ",1),m("span",TP,P($i.value),1)],8,_P)],8,wP)):X("",!0),m("div",kP,[Ue(kA,{snapshots:S(Ae)},null,8,["snapshots"])]),m("div",{class:"sidebar-settings-build-label","aria-label":S(o)("Worktree name and version")}," WT "+P(S(h))+" · v"+P(S(f)),9,CP)],512)):X("",!0)]),_:1}),m("button",{ref_key:"settingsButtonRef",ref:Uo,class:"sidebar-settings-button",type:"button",onClick:p[16]||(p[16]=Xe(C=>jn.value=!jn.value,["stop"]))},[Ue(kE,{class:"sidebar-settings-icon"}),m("span",null,P(S(o)("Settings")),1),m("span",SP,P(S(h))+" · v"+P(S(f)),1)],512)],512))])]),content:ht(()=>[m("section",{class:et(["content-root",{"is-virtual-keyboard-open":w.value,"is-terminal-open":y.value}]),style:ta(Xl.value)},[b.value?(k(),I("span",xP)):X("",!0),Ue(lC,{title:La.value,accent:Wr.value},{leading:ht(()=>[Mt.value||S(st)?(k(),Ze(ch,{key:0,class:"sidebar-thread-controls-header-host","is-sidebar-collapsed":Mt.value,"show-new-thread-button":!0,onToggleSidebar:p[17]||(p[17]=C=>zr(!Mt.value)),onStartNewThread:ru},null,8,["is-sidebar-collapsed"])):X("",!0),Wr.value?(k(),I("span",AP,[Ue(ml)])):X("",!0)]),actions:ht(()=>[ma.value?(k(),Ze(Ga,{key:0,class:et(["content-header-terminal-command",{"is-open":y.value}]),"model-value":ca.value,options:Jl.value,placeholder:Ys.value,"selected-prefix-icon":AE,"icon-only":!0,"empty-label":S(o)("No commands"),"onUpdate:modelValue":Ym},null,8,["class","model-value","options","placeholder","empty-label"])):X("",!0),qs.value?(k(),Ze(ZA,{key:1,class:"content-header-branch-dropdown","current-branch":Ft.value,"head-sha":Dn.value,"head-subject":Kt.value,"head-date":St.value,detached:ln.value,dirty:Ut.value,branches:wo.value,"commits-by-branch":or.value,"commits-loading-for":Kn.value,"commits-error":Or.value,loading:wn.value,busy:xr.value,error:hn.value,"review-open":Gn.value,"show-review":S(we).name==="thread"&&S(fe).length>0,onToggleReview:p[18]||(p[18]=C=>Gn.value=!Gn.value),onCheckoutBranch:dv,onResetBranchToCommit:fv,onLoadCommits:hv},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"])):X("",!0)]),_:1},8,["title","accent"]),m("section",EP,[Wr.value?(k(),Ze(S(a),{key:0,cwd:L.value,"thread-id":ro.value,"try-in-flight-key":go.value,onSkillsChanged:Zl,onTryItem:ng},null,8,["cwd","thread-id","try-in-flight-key"])):Ot.value?(k(),I("div",IP,[m("div",RP,[m("p",PP,P(S(o)("Let's build")),1),Ue(Ga,{class:"new-thread-folder-dropdown","model-value":nt.value,options:zs.value,placeholder:S(o)("Choose folder"),"enable-search":!0,"search-placeholder":S(o)("Quick search project"),disabled:!1,"onUpdate:modelValue":lv},null,8,["model-value","options","placeholder","search-placeholder"]),nt.value?(k(),I("p",{key:0,class:"new-thread-folder-selected",title:nt.value},P(S(o)("Selected folder"))+": "+P(nt.value),9,MP)):X("",!0),m("div",$P,[m("button",{class:"new-thread-folder-action new-thread-folder-action-primary",type:"button",onClick:mv},P(S(o)("Select folder")),1),m("button",{class:"new-thread-folder-action",type:"button",onClick:pv},P(S(o)("Create Project")),1)]),De.value?(k(),I("section",NP,[m("div",LP,[m("div",OP,[m("span",jP,[Ue(ml)]),m("p",DP,P(S(o)("New in Codex")),1)]),m("h2",FP,P(S(o)("Plugins are here")),1),m("p",UP,P(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",BP,[m("button",{class:"new-thread-launch-card-button new-thread-launch-card-button-primary",type:"button",onClick:Hn},P(S(o)("Explore Plugins & Apps")),1),m("button",{class:"new-thread-launch-card-button",type:"button",onClick:gn},P(S(o)("Dismiss")),1)])])):X("",!0),(k(),Ze(Ka,{to:"body"},[gr.value?(k(),I("div",{key:0,class:"new-thread-open-folder-overlay",onClick:Xe(ls,["self"])},[m("div",{class:"new-thread-open-folder",role:"dialog","aria-modal":"true","aria-label":S(o)("Select folder"),onKeydown:fn(Xe(ls,["prevent"]),["esc"])},[m("div",HP,[m("p",WP,P(S(o)("Select folder")),1),m("button",{class:"new-thread-open-folder-close",type:"button",onClick:ls},P(S(o)("Cancel")),1)]),m("p",zP,P(S(o)("Current folder")),1),m("div",VP,[zt(m("input",{ref_key:"existingFolderPathInputRef",ref:da,"onUpdate:modelValue":p[19]||(p[19]=C=>yr.value=C),class:"new-thread-open-folder-path",type:"text",placeholder:S(o)("Current folder"),title:yr.value||S(o)("Unavailable"),disabled:Rn.value||sr.value,onBlur:wv,onKeydown:[fn(Xe(bv,["prevent"]),["enter"]),fn(Xe(ls,["prevent"]),["esc"])]},null,40,GP),[[an,yr.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary",type:"button",disabled:!ja.value||Rn.value||sr.value,onClick:p[20]||(p[20]=C=>su())},P(sr.value?S(o)("Opening…"):S(o)("Open")),9,KP)]),m("div",YP,[m("label",QP,[zt(m("input",{"onUpdate:modelValue":p[21]||(p[21]=C=>ha.value=C),class:"new-thread-open-folder-toggle-input",type:"checkbox",onChange:gv},null,544),[[xw,ha.value]]),m("span",null,P(S(o)("Show hidden folders")),1)]),m("button",{class:et(["new-thread-folder-action",{"new-thread-folder-action-primary":Br.value}]),type:"button","aria-pressed":Br.value,disabled:!wr.value||Rn.value||sr.value||qr.value||!!vn.value&&!Br.value,onClick:_v},P(S(o)("New folder")),11,JP)]),Br.value?(k(),I("div",XP,[m("div",ZP,[zt(m("input",{ref_key:"createFolderInputRef",ref:un,"onUpdate:modelValue":p[22]||(p[22]=C=>no.value=C),class:"new-thread-open-folder-create-input",type:"text",placeholder:S(o)("Folder name"),onKeydown:[fn(Xe(cd,["prevent"]),["enter"]),fn(Xe(ti,["prevent"]),["esc"])]},null,40,eM),[[an,no.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary new-thread-open-folder-create-submit",type:"button",disabled:!Kl.value||qr.value,onClick:cd},P(as.value),9,tM)]),Jn.value?(k(),I("p",nM,P(Jn.value),1)):X("",!0)])):X("",!0),zt(m("input",{ref_key:"existingFolderFilterInputRef",ref:fa,"onUpdate:modelValue":p[23]||(p[23]=C=>Rr.value=C),class:"new-thread-open-folder-filter",type:"text",placeholder:S(o)("Filter folders..."),onKeydown:fn(Xe(ls,["prevent"]),["esc"])},null,40,rM),[[an,Rr.value]]),vn.value?(k(),I("div",oM,[m("p",aM,P(vn.value),1),m("button",{class:"new-thread-folder-action",type:"button",disabled:Rn.value||sr.value,onClick:yv},P(S(o)("Retry")),9,sM)])):X("",!0),Rn.value?(k(),I("p",iM,P(S(o)("Loading folders…")),1)):!vn.value&&Ks.value.length===0?(k(),I("p",lM,P(Rr.value.trim()?S(o)("No folders match this filter."):S(o)("No subfolders found here.")),1)):Ks.value.length>0?(k(),I("ul",uM,[(k(!0),I(Ge,null,jt(Ks.value,C=>(k(),I("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:Rn.value||sr.value,onClick:V=>vv(C.path)},[m("span",dM,P(C.name),1)],8,cM),C.kind==="directory"?(k(),I("button",{key:0,class:"new-thread-open-folder-item-open",type:"button",disabled:Rn.value||sr.value,onClick:V=>su(C.path)},P(S(o)("Open")),9,fM)):X("",!0)]))),128))])):X("",!0)],40,qP)])):X("",!0)])),Ao.value?(k(),Ze(oE,{key:2,class:"new-thread-runtime-dropdown",modelValue:tn.value,"onUpdate:modelValue":p[24]||(p[24]=C=>tn.value=C)},null,8,["modelValue"])):X("",!0),tn.value==="worktree"?(k(),I("div",hM,[m("p",pM,P(S(o)("Base branch")),1),Ue(Ga,{class:"new-thread-branch-dropdown","model-value":Jt.value,options:Vs.value,placeholder:S(o)("Select branch"),"enable-search":!0,"search-placeholder":S(o)("Search branches..."),disabled:nr.value||Vs.value.length===0,"onUpdate:modelValue":uv},null,8,["model-value","options","placeholder","search-placeholder","disabled"]),m("p",mM,P(nr.value?S(o)("Loading branches…"):rs.value?S(o)("New worktree branch will start from {branch}.",{branch:rs.value}):S(o)("No Git branches found for this folder.")),1)])):X("",!0),Ao.value?(k(),I("p",vM,P(S(o)("Local project uses the selected folder directly. New worktree creates an isolated Git worktree before the first prompt.")),1)):X("",!0),nn.value.phase!=="idle"?(k(),I("div",{key:5,class:et(["worktree-init-status",{"is-running":nn.value.phase==="running","is-error":nn.value.phase==="error"}])},[m("strong",gM,P(nn.value.title),1),m("span",yM,P(nn.value.message),1)],2)):X("",!0)]),m("div",wM,[Gt.value&&Nt.value?(k(),Ze(S(n),{key:0,ref_key:"homeTerminalPanelRef",ref:Mn,class:"content-thread-terminal-panel","thread-id":So.value,cwd:Nt.value,onHide:nv,onTerminalFocusChange:rd},null,8,["thread-id","cwd"])):X("",!0),Ue(uh,{ref_key:"homeThreadComposerRef",ref:dt,"active-thread-id":So.value,cwd:Nt.value,"collaboration-modes":S(_e),"selected-collaboration-mode":S(G),models:S(Ne),"selected-model":ns.value,"selected-reasoning-effort":S(ve),"selected-speed-mode":S(Se),"is-updating-speed-mode":S(Je),skills:S(se),"thread-token-usage":S(j),"codex-quota":S(be),"is-turn-in-progress":!1,"is-stop-pending":!1,"is-interrupting-turn":!1,"send-with-enter":Bn.value,"in-progress-submit-mode":Dr.value,"dictation-click-to-toggle":In.value,"dictation-auto-send":E.value,"dictation-language":U.value,onSubmit:ld,"onUpdate:selectedCollaborationMode":bd,"onUpdate:selectedModel":pd,"onUpdate:selectedReasoningEffort":md,"onUpdate:selectedSpeedMode":vd},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(),I("div",bM,[Gn.value&&S(fe)&&Nt.value?(k(),Ze(S(r),{key:0,"thread-id":S(fe),cwd:Nt.value,"is-thread-in-progress":Re.value,onClose:p[25]||(p[25]=C=>Gn.value=!1)},null,8,["thread-id","cwd","is-thread-in-progress"])):(k(),I(Ge,{key:1},[m("div",_M,[Ue(S(t),{ref_key:"threadConversationRef",ref:Sn,messages:oo.value,"is-loading":S(Ke),"active-thread-id":So.value,cwd:Nt.value,"live-overlay":Bs.value,"pending-requests":S(K),onForkThread:Km,onRollback:xv,onImplementPlan:Av,onRespondServerRequest:Jc},null,8,["messages","is-loading","active-thread-id","cwd","live-overlay","pending-requests"])]),m("div",TM,[Ue(pA,{messages:S(z),onEdit:iv,onSteer:S(le),onDelete:S(ae),onReorder:Cv},null,8,["messages","onSteer","onDelete"]),S(D)&&S(fe)&&Nt.value?(k(),Ze(S(n),{key:0,ref_key:"threadTerminalPanelRef",ref:kr,class:"content-thread-terminal-panel","thread-id":S(fe),cwd:Nt.value,onHide:rv,onTerminalFocusChange:rd},null,8,["thread-id","cwd"])):X("",!0),Wo.value?(k(),Ze(rA,{key:1,request:Wo.value,"request-count":S(K).length,"has-queue-above":S(z).length>0,onRespondServerRequest:Jc},null,8,["request","request-count","has-queue-above"])):(k(),Ze(uh,{key:2,ref_key:"threadComposerRef",ref:Lt,"active-thread-id":So.value,cwd:Nt.value,"collaboration-modes":S(_e),"selected-collaboration-mode":S(G),models:S(Ne),"selected-model":ns.value,"selected-reasoning-effort":S(ve),"selected-speed-mode":S(Se),"is-updating-speed-mode":S(Je),skills:S(se),"thread-token-usage":S(j),"codex-quota":S(be),"is-turn-in-progress":Re.value,"is-stop-pending":S(Qe),"is-interrupting-turn":S(xe),"has-queue-above":S(z).length>0,"send-with-enter":Bn.value,"in-progress-submit-mode":Dr.value,"dictation-click-to-toggle":In.value,"dictation-auto-send":E.value,"dictation-language":U.value,"onUpdate:selectedCollaborationMode":bd,onSubmit:ld,"onUpdate:selectedModel":pd,"onUpdate:selectedReasoningEffort":md,"onUpdate:selectedSpeedMode":vd,onInterrupt:Sv},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"]),Ar.value?(k(),I("div",{key:0,class:"codex-login-modal-backdrop",role:"presentation",onClick:is},[m("form",{class:"codex-login-modal",role:"dialog","aria-modal":"true","aria-label":S(o)("Complete Codex login"),onSubmit:Xe(Bi,["prevent"]),onClick:p[28]||(p[28]=Xe(()=>{},["stop"]))},[m("div",CM,[m("h2",SM,P(S(o)("Complete Codex login")),1),m("button",{class:"codex-login-modal-close",type:"button","aria-label":S(o)("Close"),disabled:Bt.value,onClick:is}," × ",8,xM)]),m("p",AM,P(S(o)("Finish login in the browser, then paste the localhost callback URL here.")),1),Er.value?(k(),I("a",{key:0,class:"codex-login-modal-link",href:Er.value,target:"_blank",rel:"noreferrer"},P(S(o)("Open login URL")),9,EM)):X("",!0),zt(m("input",{ref_key:"codexLoginCallbackInputRef",ref:jr,"onUpdate:modelValue":p[27]||(p[27]=C=>Fn.value=C),class:"codex-login-modal-input",type:"url",inputmode:"url",placeholder:S(o)("Paste localhost callback URL"),disabled:Bt.value},null,8,IM),[[an,Fn.value]]),$t.value?(k(),I("p",RM,P($t.value),1)):X("",!0),m("div",PM,[m("button",{class:"codex-login-modal-cancel",type:"button",disabled:Bt.value,onClick:is},P(S(o)("Cancel")),9,MM),m("button",{class:"codex-login-modal-submit",type:"submit",disabled:Bt.value||Fn.value.trim().length===0},P(Bt.value?S(o)("Completing…"):S(o)("Complete")),9,$M)])],40,kM)])):X("",!0)],64))}}),OM=Ct(LM,[["__scopeId","data-v-477d7749"]]),zu={render:()=>null},jM=Hb({history:_b(),routes:[{path:"/",name:"home",component:zu},{path:"/thread/:threadId",name:"thread",component:zu},{path:"/skills",name:"skills",component:zu},{path:"/new-thread",redirect:{name:"home"}},{path:"/:pathMatch(.*)*",redirect:{name:"home"}}]});console.log("Welcome to codexui. github: https://github.com/friuns2/codexUI");Mw(OM).use(jM).mount("#app");"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(e=>{console.error(km("Service worker registration failed."),e)})});export{UM as $,Ze as A,Oc as B,V0 as C,qM as D,BM as E,Ge as F,HM as G,Y0 as H,Ns as I,Ra as J,WM as K,zt as L,hf as M,i$ as N,u$ as O,c$ as P,FM as Q,l$ as R,Kc as S,Vp as T,Ka as U,an as V,li as W,Lo as X,zb as Y,Wb as Z,Ct as _,m as a,zM as a0,QM as a1,t$ as a2,n$ as a3,VM as a4,e$ as a5,r$ as a6,a$ as a7,s$ as a8,GM as a9,KM as aa,YM as ab,JM as ac,ZM as ad,XM as ae,o$ as af,la as b,I as c,Vn as d,Ia as e,X as f,et as g,DM as h,Ue as i,ws as j,pC as k,PE as l,Xe as m,Vt as n,k as o,ta as p,S as q,jt as r,es as s,P as t,zc as u,ht as v,pt as w,x,ne as y,tl as z};