codexui-android 0.1.103 → 0.1.104

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-CWqez-yM.js","assets/ThreadConversation-DEwOuZ3c.css","assets/ThreadTerminalPanel-BEyQ2ISH.js","assets/ThreadTerminalPanel-BcVTRuCH.css","assets/ReviewPane-DDBDehxi.js","assets/ReviewPane-AzgWKh85.css","assets/DirectoryHub-wFeYwLJR.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={},Cs=[],$o=()=>{},Mh=()=>!1,El=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Il=e=>e.startsWith("onUpdate:"),kn=Object.assign,Cc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ng=Object.prototype.hasOwnProperty,It=(e,t)=>ng.call(e,t),tt=Array.isArray,Ss=e=>Ii(e)==="[object Map]",Fs=e=>Ii(e)==="[object Set]",kd=e=>Ii(e)==="[object Date]",ct=e=>typeof e=="function",Xt=e=>typeof e=="string",co=e=>typeof e=="symbol",Rt=e=>e!==null&&typeof e=="object",$h=e=>(Rt(e)||ct(e))&&ct(e.then)&&ct(e.catch),Nh=Object.prototype.toString,Ii=e=>Nh.call(e),rg=e=>Ii(e).slice(8,-1),Lh=e=>Ii(e)==="[object Object]",Sc=e=>Xt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,di=kc(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Rl=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},og=/-\w/g,fr=Rl(e=>e.replace(og,t=>t.slice(1).toUpperCase())),ag=/\B([A-Z])/g,Ia=Rl(e=>e.replace(ag,"-$1").toLowerCase()),Pl=Rl(e=>e.charAt(0).toUpperCase()+e.slice(1)),pu=Rl(e=>e?`on${Pl(e)}`:""),so=(e,t)=>!Object.is(e,t),dl=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Oh=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ml=e=>{const t=parseFloat(e);return isNaN(t)?e:t},sg=e=>{const t=Xt(e)?Number(e):NaN;return isNaN(t)?e:t};let Cd;const $l=()=>Cd||(Cd=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Jo(e){if(tt(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],a=Xt(r)?cg(r):Jo(r);if(a)for(const o in a)t[o]=a[o]}return t}else if(Xt(e)||Rt(e))return e}const ig=/;(?![^(]*\))/g,lg=/:([^]+)/,ug=/\/\*[^]*?\*\//g;function cg(e){const t={};return e.replace(ug,"").split(ig).forEach(n=>{if(n){const r=n.split(lg);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function et(e){let t="";if(Xt(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 dg="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",fg=kc(dg);function jh(e){return!!e||e===""}function hg(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Us(e[r],t[r]);return n}function Us(e,t){if(e===t)return!0;let n=kd(e),r=kd(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=co(e),r=co(t),n||r)return e===t;if(n=tt(e),r=tt(t),n||r)return n&&r?hg(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||!Us(e[s],t[s]))return!1}}return String(e)===String(t)}function xc(e,t){return e.findIndex(n=>Us(n,t))}const Dh=e=>!!(e&&e.__v_isRef===!0),P=e=>Xt(e)?e:e==null?"":tt(e)||Rt(e)&&(e.toString===Nh||!ct(e.toString))?Dh(e)?P(e.value):JSON.stringify(e,Fh,2):String(e),Fh=(e,t)=>Dh(t)?Fh(e,t.value):Ss(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,a],o)=>(n[mu(r,o)+" =>"]=a,n),{})}:Fs(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>mu(n))}:co(t)?mu(t):Rt(t)&&!tt(t)&&!Lh(t)?String(t):t,mu=(e,t="")=>{var n;return co(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 xr;class pg{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=xr,!t&&xr&&(this.index=(xr.scopes||(xr.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=xr;try{return xr=this,t()}finally{xr=n}}}on(){++this._on===1&&(this.prevScope=xr,xr=this)}off(){this._on>0&&--this._on===0&&(xr=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 mg(){return xr}let qt;const vu=new WeakSet;class Uh{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,xr&&xr.active&&xr.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||qh(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Sd(this),Hh(this);const t=qt,n=lo;qt=this,lo=!0;try{return this.fn()}finally{Wh(this),qt=t,lo=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,Sd(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 Bh=0,fi,hi;function qh(e,t=!1){if(e.flags|=8,t){e.next=hi,hi=e;return}e.next=fi,fi=e}function Ac(){Bh++}function Ec(){if(--Bh>0)return;if(hi){let t=hi;for(hi=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;fi;){let t=fi;for(fi=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 Hh(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Wh(e){let t,n=e.depsTail,r=n;for(;r;){const a=r.prevDep;r.version===-1?(r===n&&(n=a),Ic(r),vg(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&&(zh(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function zh(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===_i)||(e.globalVersion=_i,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Vu(e))))return;e.flags|=2;const t=e.dep,n=qt,r=lo;qt=e,lo=!0;try{Hh(e);const a=e.fn(e._value);(t.version===0||so(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{qt=n,lo=r,Wh(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 vg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let lo=!0;const Vh=[];function Zo(){Vh.push(lo),lo=!1}function ea(){const e=Vh.pop();lo=e===void 0?!0:e}function Sd(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=qt;qt=void 0;try{t()}finally{qt=n}}}let _i=0;class gg{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||!lo||qt===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==qt)n=this.activeLink=new gg(qt,this),qt.deps?(n.prevDep=qt.depsTail,qt.depsTail.nextDep=n,qt.depsTail=n):qt.deps=qt.depsTail=n,Gh(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++,_i++,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 Gh(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)Gh(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gu=new WeakMap,Qa=Symbol(""),Ku=Symbol(""),Ti=Symbol("");function Zn(e,t,n){if(lo&&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 Yo(e,t,n,r,a,o){const s=Gu.get(e);if(!s){_i++;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"||_===Ti||!co(_)&&_>=f)&&l(g)})}else switch((n!==void 0||s.has(void 0))&&l(s.get(n)),h&&l(s.get(Ti)),t){case"add":c?h&&l(s.get("length")):(l(s.get(Qa)),Ss(e)&&l(s.get(Ku)));break;case"delete":c||(l(s.get(Qa)),Ss(e)&&l(s.get(Ku)));break;case"set":Ss(e)&&l(s.get(Qa));break}}Ec()}function ds(e){const t=At(e);return t===e?t:(Zn(t,"iterate",Ti),Vr(e)?t:t.map(fo))}function Nl(e){return Zn(e=At(e),"iterate",Ti),e}function Ro(e,t){return ta(e)?Ps(Ja(e)?fo(t):t):fo(t)}const yg={__proto__:null,[Symbol.iterator](){return gu(this,Symbol.iterator,e=>Ro(this,e))},concat(...e){return ds(this).concat(...e.map(t=>tt(t)?ds(t):t))},entries(){return gu(this,"entries",e=>(e[1]=Ro(this,e[1]),e))},every(e,t){return Wo(this,"every",e,t,void 0,arguments)},filter(e,t){return Wo(this,"filter",e,t,n=>n.map(r=>Ro(this,r)),arguments)},find(e,t){return Wo(this,"find",e,t,n=>Ro(this,n),arguments)},findIndex(e,t){return Wo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Wo(this,"findLast",e,t,n=>Ro(this,n),arguments)},findLastIndex(e,t){return Wo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Wo(this,"forEach",e,t,void 0,arguments)},includes(...e){return yu(this,"includes",e)},indexOf(...e){return yu(this,"indexOf",e)},join(e){return ds(this).join(e)},lastIndexOf(...e){return yu(this,"lastIndexOf",e)},map(e,t){return Wo(this,"map",e,t,void 0,arguments)},pop(){return ri(this,"pop")},push(...e){return ri(this,"push",e)},reduce(e,...t){return xd(this,"reduce",e,t)},reduceRight(e,...t){return xd(this,"reduceRight",e,t)},shift(){return ri(this,"shift")},some(e,t){return Wo(this,"some",e,t,void 0,arguments)},splice(...e){return ri(this,"splice",e)},toReversed(){return ds(this).toReversed()},toSorted(e){return ds(this).toSorted(e)},toSpliced(...e){return ds(this).toSpliced(...e)},unshift(...e){return ri(this,"unshift",e)},values(){return gu(this,"values",e=>Ro(this,e))}};function gu(e,t,n){const r=Nl(e),a=r[t]();return r!==e&&!Vr(e)&&(a._next=a.next,a.next=()=>{const o=a._next();return o.done||(o.value=n(o.value)),o}),a}const wg=Array.prototype;function Wo(e,t,n,r,a,o){const s=Nl(e),l=s!==e&&!Vr(e),c=s[t];if(c!==wg[t]){const g=c.apply(e,o);return l?fo(g):g}let h=n;s!==e&&(l?h=function(g,_){return n.call(this,Ro(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 xd(e,t,n,r){const a=Nl(e),o=a!==e&&!Vr(e);let s=n,l=!1;a!==e&&(o?(l=r.length===0,s=function(h,f,g){return l&&(l=!1,h=Ro(e,h)),n.call(this,h,Ro(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?Ro(e,c):c}function yu(e,t,n){const r=At(e);Zn(r,"iterate",Ti);const a=r[t](...n);return(a===-1||a===!1)&&$c(n[0])?(n[0]=At(n[0]),r[t](...n)):a}function ri(e,t,n=[]){Zo(),Ac();const r=At(e)[t].apply(e,n);return Ec(),ea(),r}const bg=kc("__proto__,__v_isRef,__isVue"),Kh=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(co));function _g(e){co(e)||(e=String(e));const t=At(this);return Zn(t,"has",e),t.hasOwnProperty(e)}class Yh{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?Pg:Zh:o?Xh:Jh).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const s=tt(t);if(!a){let c;if(s&&(c=yg[n]))return c;if(n==="hasOwnProperty")return _g}const l=Reflect.get(t,n,tr(t)?t:r);if((co(n)?Kh.has(n):bg(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):Ll(l):l}}class Qh extends Yh{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=ta(o);if(!Vr(r)&&!ta(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?so(r,o)&&Yo(t,"set",n,r):Yo(t,"add",n,r)),c}deleteProperty(t,n){const r=It(t,n);t[n];const a=Reflect.deleteProperty(t,n);return a&&r&&Yo(t,"delete",n,void 0),a}has(t,n){const r=Reflect.has(t,n);return(!co(n)||!Kh.has(n))&&Zn(t,"has",n),r}ownKeys(t){return Zn(t,"iterate",tt(t)?"length":Qa),Reflect.ownKeys(t)}}class Tg extends Yh{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const kg=new Qh,Cg=new Tg,Sg=new Qh(!0);const Yu=e=>e,Qi=e=>Reflect.getPrototypeOf(e);function xg(e,t,n){return function(...r){const a=this.__v_raw,o=At(a),s=Ss(o),l=e==="entries"||e===Symbol.iterator&&s,c=e==="keys"&&s,h=a[e](...r),f=n?Yu:t?Ps:fo;return!t&&Zn(o,"iterate",c?Ku:Qa),kn(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 Ji(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ag(e,t){const n={get(a){const o=this.__v_raw,s=At(o),l=At(a);e||(so(a,l)&&Zn(s,"get",a),Zn(s,"get",l));const{has:c}=Qi(s),h=t?Yu:e?Ps:fo;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",Qa),a.size},has(a){const o=this.__v_raw,s=At(o),l=At(a);return e||(so(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?Ps:fo;return!e&&Zn(c,"iterate",Qa),l.forEach((f,g)=>a.call(o,h(f),h(g),s))}};return kn(n,e?{add:Ji("add"),set:Ji("set"),delete:Ji("delete"),clear:Ji("clear")}:{add(a){const o=At(this),s=Qi(o),l=At(a),c=!t&&!Vr(a)&&!ta(a)?l:a;return s.has.call(o,c)||so(a,c)&&s.has.call(o,a)||so(l,c)&&s.has.call(o,l)||(o.add(c),Yo(o,"add",c,c)),this},set(a,o){!t&&!Vr(o)&&!ta(o)&&(o=At(o));const s=At(this),{has:l,get:c}=Qi(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?so(o,f)&&Yo(s,"set",a,o):Yo(s,"add",a,o),this},delete(a){const o=At(this),{has:s,get:l}=Qi(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&&Yo(o,"delete",a,void 0),h},clear(){const a=At(this),o=a.size!==0,s=a.clear();return o&&Yo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=xg(a,e,t)}),n}function Pc(e,t){const n=Ag(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 Eg={get:Pc(!1,!1)},Ig={get:Pc(!1,!0)},Rg={get:Pc(!0,!1)};const Jh=new WeakMap,Xh=new WeakMap,Zh=new WeakMap,Pg=new WeakMap;function Mg(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function $g(e){return e.__v_skip||!Object.isExtensible(e)?0:Mg(rg(e))}function Ll(e){return ta(e)?e:Mc(e,!1,kg,Eg,Jh)}function ep(e){return Mc(e,!1,Sg,Ig,Xh)}function Qu(e){return Mc(e,!0,Cg,Rg,Zh)}function Mc(e,t,n,r,a){if(!Rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=$g(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 Ja(e){return ta(e)?Ja(e.__v_raw):!!(e&&e.__v_isReactive)}function ta(e){return!!(e&&e.__v_isReadonly)}function Vr(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 Ng(e){return!It(e,"__v_skip")&&Object.isExtensible(e)&&Oh(e,"__v_skip",!0),e}const fo=e=>Rt(e)?Ll(e):e,Ps=e=>Rt(e)?Qu(e):e;function tr(e){return e?e.__v_isRef===!0:!1}function x(e){return tp(e,!1)}function Lg(e){return tp(e,!0)}function tp(e,t){return tr(e)?e:new Og(e,t)}class Og{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:fo(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Vr(t)||ta(t);t=r?t:At(t),so(t,n)&&(this._rawValue=t,this._value=r?t:fo(t),this.dep.trigger())}}function S(e){return tr(e)?e.value:e}const jg={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 np(e){return Ja(e)?e:new Proxy(e,jg)}class Dg{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=_i-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 qh(this,!0),!0}get value(){const t=this.dep.track();return zh(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Fg(e,t,n=!1){let r,a;return ct(e)?r=e:(r=e.get,a=e.set),new Dg(r,a,n)}const Xi={},yl=new WeakMap;let za;function Ug(e,t=!1,n=za){if(n){let r=yl.get(n);r||yl.set(n,r=[]),r.push(e)}}function Bg(e,t,n=Dt){const{immediate:r,deep:a,once:o,scheduler:s,augmentJob:l,call:c}=n,h=Z=>a?Z:Vr(Z)||a===!1||a===0?Qo(Z,1):Qo(Z);let f,g,_,R,O=!1,B=!1;if(tr(e)?(g=()=>e.value,O=Vr(e)):Ja(e)?(g=()=>h(e),O=!0):tt(e)?(B=!0,O=e.some(Z=>Ja(Z)||Vr(Z)),g=()=>e.map(Z=>{if(tr(Z))return Z.value;if(Ja(Z))return h(Z);if(ct(Z))return c?c(Z,2):Z()})):ct(e)?t?g=c?()=>c(e,2):e:g=()=>{if(_){Zo();try{_()}finally{ea()}}const Z=za;za=f;try{return c?c(e,3,[R]):e(R)}finally{za=Z}}:g=$o,t&&a){const Z=g,be=a===!0?1/0:a;g=()=>Qo(Z(),be)}const te=mg(),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(Xi):Xi;const K=Z=>{if(!(!(f.flags&1)||!f.dirty&&!Z))if(t){const be=f.run();if(a||O||(B?be.some((fe,_e)=>so(fe,D[_e])):so(be,D))){_&&_();const fe=za;za=f;try{const _e=[be,D===Xi?void 0:B&&D[0]===Xi?[]:D,R];D=be,c?c(t,3,_e):t(..._e)}finally{za=fe}}}else f.run()};return l&&l(K),f=new Uh(g),f.scheduler=s?()=>s(K,!1):K,R=Z=>Ug(Z,!1,f),_=f.onStop=()=>{const Z=yl.get(f);if(Z){if(c)c(Z,4);else for(const be of Z)be();yl.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 Qo(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))Qo(e.value,t,n);else if(tt(e))for(let r=0;r<e.length;r++)Qo(e[r],t,n);else if(Fs(e)||Ss(e))e.forEach(r=>{Qo(r,t,n)});else if(Lh(e)){for(const r in e)Qo(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Qo(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 Ri(e,t,n,r){try{return r?e(...r):e()}catch(a){Pi(a,t,n)}}function ho(e,t,n,r){if(ct(e)){const a=Ri(e,t,n,r);return a&&$h(a)&&a.catch(o=>{Pi(o,t,n)}),a}if(tt(e)){const a=[];for(let o=0;o<e.length;o++)a.push(ho(e[o],t,n,r));return a}}function Pi(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){Zo(),Ri(o,null,10,[e,c,h]),ea();return}}qg(e,n,a,r,s)}function qg(e,t,n,r=!0,a=!1){if(a)throw e;console.error(e)}const cr=[];let Eo=-1;const xs=[];let ka=null,vs=0;const rp=Promise.resolve();let wl=null;function Vt(e){const t=wl||rp;return e?t.then(this?e.bind(this):e):t}function Hg(e){let t=Eo+1,n=cr.length;for(;t<n;){const r=t+n>>>1,a=cr[r],o=ki(a);o<e||o===e&&a.flags&2?t=r+1:n=r}return t}function Nc(e){if(!(e.flags&1)){const t=ki(e),n=cr[cr.length-1];!n||!(e.flags&2)&&t>=ki(n)?cr.push(e):cr.splice(Hg(t),0,e),e.flags|=1,op()}}function op(){wl||(wl=rp.then(sp))}function Wg(e){tt(e)?xs.push(...e):ka&&e.id===-1?ka.splice(vs+1,0,e):e.flags&1||(xs.push(e),e.flags|=1),op()}function Ad(e,t,n=Eo+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 ap(e){if(xs.length){const t=[...new Set(xs)].sort((n,r)=>ki(n)-ki(r));if(xs.length=0,ka){ka.push(...t);return}for(ka=t,vs=0;vs<ka.length;vs++){const n=ka[vs];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ka=null,vs=0}}const ki=e=>e.id==null?e.flags&2?-1:1/0:e.id;function sp(e){try{for(Eo=0;Eo<cr.length;Eo++){const t=cr[Eo];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ri(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Eo<cr.length;Eo++){const t=cr[Eo];t&&(t.flags&=-2)}Eo=-1,cr.length=0,ap(),wl=null,(cr.length||xs.length)&&sp()}}let Vn=null,ip=null;function bl(e){const t=Vn;return Vn=e,ip=e&&e.type.__scopeId||null,t}function ht(e,t=Vn,n){if(!t||e._n)return e;const r=(...a)=>{r._d&&kl(-1);const o=bl(t);let s;try{s=e(...a)}finally{bl(o),r._d&&kl(1)}return s};return r._n=!0,r._c=!0,r._d=!0,r}function zt(e,t){if(Vn===null)return e;const n=Ul(Vn),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&&Qo(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&&(Zo(),ho(c,n,8,[e.el,l,e,t]),ea())}}function fl(e,t){if(zn){let n=zn.provides;const r=zn.parent&&zn.parent.provides;r===n&&(n=zn.provides=Object.create(r)),n[e]=t}}function uo(e,t,n=!1){const r=Bc();if(r||Es){let a=Es?Es._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(a&&e in a)return a[e];if(arguments.length>1)return n&&ct(t)?t.call(r&&r.proxy):t}}const zg=Symbol.for("v-scx"),Vg=()=>uo(zg);function pt(e,t,n){return lp(e,t,n)}function lp(e,t,n=Dt){const{immediate:r,deep:a,flush:o,once:s}=n,l=kn({},n),c=t&&r||!t&&o!=="post";let h;if($s){if(o==="sync"){const R=Vg();h=R.__watcherHandles||(R.__watcherHandles=[])}else if(!c){const R=()=>{};return R.stop=$o,R.resume=$o,R.pause=$o,R}}const f=zn;l.call=(R,O,B)=>ho(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 _=Bg(e,t,l);return $s&&(h?h.push(_):c&&_()),_}function Gg(e,t,n){const r=this.proxy,a=Xt(e)?e.includes(".")?up(r,e):()=>r[e]:e.bind(r,r);let o;ct(t)?o=t:(o=t.handler,n=t);const s=$i(this),l=lp(a,o.bind(r),n);return s(),l}function up(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 cp=Symbol("_vte"),dp=e=>e.__isTeleport,pi=e=>e&&(e.disabled||e.disabled===""),Kg=e=>e&&(e.defer||e.defer===""),Ed=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Id=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ju=(e,t)=>{const n=e&&e.to;return Xt(n)?t?t(n):null:n},fp={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=pi(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,ge)=>{D&16&&f(K,G,ge,a,o,s,l,c)},Ne=()=>{const G=t.target=Ju(t.props,O),ge=Xu(G,t,B,R);G&&(s!=="svg"&&Ed(G)?s="svg":s!=="mathml"&&Id(G)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(G),j||(_e(G,ge),hl(t,!1)))};j&&(_e(n,fe),hl(t,!0)),Kg(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(()=>{fp.process(e,t,n,r,a,o,s,l,c,h)},o);return}const Ne=pi(e.props),G=Ne?n:fe,ge=Ne?be:_e;if(s==="svg"||Ed(fe)?s="svg":(s==="mathml"||Id(fe))&&(s="mathml"),Z?(_(e.dynamicChildren,Z,G,a,o,s,l),Fc(e,t,!0)):c||g(e,t,G,ge,a,o,s,l,!1),j)Ne?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Zi(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&&Zi(t,Se,null,h,0)}else Ne&&Zi(t,fe,_e,h,1);hl(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||!pi(_);for(let O=0;O<l.length;O++){const B=l[O];r(B,t,n,R,!!B.dynamicChildren)}}},move:Zi,hydrate:Yg};function Zi(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||pi(f))&&c&16)for(let _=0;_<h.length;_++)a(h[_],t,n,2);g&&r(l,t,n)}function Yg(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=pi(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))),hl(t,B)}else B&&t.shapeFlag&16&&(R(e,t),t.targetStart=e,t.targetAnchor=s(e));return t.anchor&&s(t.anchor)}const Ga=fp;function hl(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[cp]=s,e&&(r(o,e,a),r(s,e,a)),s}const Io=Symbol("_leaveCb"),oi=Symbol("_enterCb");function Qg(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return oa(()=>{e.isMounted=!0}),Ra(()=>{e.isUnmounting=!0}),e}const zr=[Function,Array],hp={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:zr,onEnter:zr,onAfterEnter:zr,onEnterCancelled:zr,onBeforeLeave:zr,onLeave:zr,onAfterLeave:zr,onLeaveCancelled:zr,onBeforeAppear:zr,onAppear:zr,onAfterAppear:zr,onAppearCancelled:zr},pp=e=>{const t=e.subTree;return t.component?pp(t.component):t},Jg={name:"BaseTransition",props:hp,setup(e,{slots:t}){const n=Bc(),r=Qg();return()=>{const a=t.default&&gp(t.default(),!0);if(!a||!a.length)return;const o=mp(a),s=At(e),{mode:l}=s;if(r.isLeaving)return wu(o);const c=Rd(o);if(!c)return wu(o);let h=Zu(c,s,r,n,g=>h=g);c.type!==er&&Ci(c,h);let f=n.subTree&&Rd(n.subTree);if(f&&f.type!==er&&!Va(f,c)&&pp(n).type!==er){let g=Zu(f,s,r,n);if(Ci(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=vp(r,f);B[String(f.key)]=f,_[Io]=()=>{R(),_[Io]=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 mp(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==er){t=n;break}}return t}const Xg=Jg;function vp(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=vp(n,e),fe=(G,ge)=>{G&&ho(G,r,9,ge)},_e=(G,ge)=>{const Se=ge[1];fe(G,ge),tt(G)?G.every(se=>se.length<=1)&&Se():G.length<=1&&Se()},Ne={mode:s,persisted:l,beforeEnter(G){let ge=c;if(!n.isMounted)if(o)ge=te||c;else return;G[Io]&&G[Io](!0);const Se=be[Z];Se&&Va(e,Se)&&Se.el[Io]&&Se.el[Io](),fe(ge,[G])},enter(G){if(be[Z]===e)return;let ge=h,Se=f,se=g;if(!n.isMounted)if(o)ge=j||h,Se=D||f,se=K||g;else return;let Ae=!1;G[oi]=qe=>{Ae||(Ae=!0,qe?fe(se,[G]):fe(Se,[G]),Ne.delayedLeave&&Ne.delayedLeave(),G[oi]=void 0)};const Fe=G[oi].bind(null,!1);ge?_e(ge,[G,Fe]):Fe()},leave(G,ge){const Se=String(e.key);if(G[oi]&&G[oi](!0),n.isUnmounting)return ge();fe(_,[G]);let se=!1;G[Io]=Fe=>{se||(se=!0,ge(),Fe?fe(B,[G]):fe(O,[G]),G[Io]=void 0,be[Se]===e&&delete be[Se])};const Ae=G[Io].bind(null,!1);be[Se]=e,R?_e(R,[G,Ae]):Ae()},clone(G){const ge=Zu(G,t,n,r,a);return a&&a(ge),ge}};return Ne}function wu(e){if(Mi(e))return e=Ea(e),e.children=null,e}function Rd(e){if(!Mi(e))return dp(e.type)&&e.children?mp(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 Ci(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ci(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 gp(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(gp(s.children,t,l))):(t||s.type!==er)&&r.push(l!=null?Ea(s,{key:l}):s)}if(a>1)for(let o=0;o<r.length;o++)r[o].patchFlag=-2;return r}function Gn(e,t){return ct(e)?kn({name:e.name},t,{setup:e}):e}function Lc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Pd(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const _l=new WeakMap;function mi(e,t,n,r,a=!1){if(tt(e)){e.forEach((B,te)=>mi(B,t&&(tt(t)?t[te]:t),n,r,a));return}if(As(r)&&!a){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&mi(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Ul(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?Mh:B=>Pd(f,B)?!1:It(_,B),O=(B,te)=>!(te&&Pd(f,te));if(h!=null&&h!==c){if(Md(t),Xt(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))Ri(c,l,12,[s,f]);else{const B=Xt(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(),_l.delete(e)};D.id=-1,_l.set(e,D),Xn(D,n)}else Md(e),j()}}}function Md(e){const t=_l.get(e);t&&(t.flags|=8,_l.delete(e))}const $d=e=>e.nodeType===8;$l().requestIdleCallback;$l().cancelIdleCallback;function Zg(e,t){if($d(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if($d(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const As=e=>!!e.type.__asyncLoader;function el(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 Gn({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=>Zg(O,be));Z&&(B.bum||(B.bum=[])).push(Z)}:D;f?K():R().then(()=>!B.isUnmounted&&K())},get __asyncResolved(){return f},setup(){const O=zn;if(Lc(O),f)return()=>tl(f,O);const B=K=>{h=null,Pi(K,O,13,!r)};if(l&&O.suspense||$s)return R().then(K=>()=>tl(K,O)).catch(K=>(B(K),()=>r?Be(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&&Mi(O.parent.vnode)&&O.parent.update()}).catch(K=>{B(K),j.value=K}),()=>{if(te.value&&f)return tl(f,O);if(j.value&&r)return Be(r,{error:j.value});if(n&&!D.value)return tl(n,O)}}})}function tl(e,t){const{ref:n,props:r,children:a,ce:o}=t.vnode,s=Be(e,r,a);return s.ref=n,s.ce=o,delete t.vnode.ce,s}const Mi=e=>e.type.__isKeepAlive;function ey(e,t){yp(e,"a",t)}function ty(e,t){yp(e,"da",t)}function yp(e,t,n=zn){const r=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ol(t,r,n),n){let a=n.parent;for(;a&&a.parent;)Mi(a.parent.vnode)&&ny(r,t,n,a),a=a.parent}}function ny(e,t,n,r){const a=Ol(t,e,r,!0);jl(()=>{Cc(r[t],a)},n)}function Ol(e,t,n=zn,r=!1){if(n){const a=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{Zo();const l=$i(n),c=ho(t,n,e,s);return l(),ea(),c});return r?a.unshift(o):a.push(o),o}}const ra=e=>(t,n=zn)=>{(!$s||e==="sp")&&Ol(e,(...r)=>t(...r),n)},ry=ra("bm"),oa=ra("m"),oy=ra("bu"),ay=ra("u"),Ra=ra("bum"),jl=ra("um"),sy=ra("sp"),iy=ra("rtg"),ly=ra("rtc");function uy(e,t=zn){Ol("ec",e,t)}const cy="components",wp=Symbol.for("v-ndc");function Oc(e){return Xt(e)?dy(cy,e,!1)||e:e||wp}function dy(e,t,n=!0,r=!1){const a=Vn||zn;if(a){const o=a.type;{const l=Yy(o,!1);if(l&&(l===t||l===fr(t)||l===Pl(fr(t))))return o}const s=Nd(a[e]||o[e],t)||Nd(a.appContext[e],t);return!s&&r?o:s}}function Nd(e,t){return e&&(e[t]||e[fr(t)]||e[Pl(fr(t))])}function Ot(e,t,n,r){let a;const o=n,s=tt(e);if(s||Xt(e)){const l=s&&Ja(e);let c=!1,h=!1;l&&(c=!Vr(e),h=ta(e),e=Nl(e)),a=new Array(e.length);for(let f=0,g=e.length;f<g;f++)a[f]=t(c?h?Ps(fo(e[f])):fo(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 Mo(e,t,n={},r,a){if(Vn.ce||Vn.parent&&As(Vn.parent)&&Vn.parent.ce){const h=Object.keys(n).length>0;return t!=="default"&&(n.name=t),k(),Ze(Ge,null,[Be("slot",n,r)],h?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),k();const s=o&&bp(o(n)),l=n.key||s&&s.key,c=Ze(Ge,{key:(l&&!co(l)?l:`_${t}`)+(!s&&r?"_fb":"")},s||[],s&&e._===1?64:-2);return o&&o._c&&(o._d=!0),c}function bp(e){return e.some(t=>Si(t)?!(t.type===er||t.type===Ge&&!bp(t.children)):!0)?e:null}const ec=e=>e?Up(e)?Ul(e):ec(e.parent):null,vi=kn(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=>Tp(e),$forceUpdate:e=>e.f||(e.f=()=>{Nc(e.update)}),$nextTick:e=>e.n||(e.n=Vt.bind(e.proxy)),$watch:e=>Gg.bind(e)}),bu=(e,t)=>e!==Dt&&!e.__isScriptSetup&&It(e,t),fy={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=vi[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(vi,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 hy(){return py().slots}function py(e){const t=Bc();return t.setupContext||(t.setupContext=qp(t))}function Ld(e){return tt(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let tc=!0;function my(e){const t=Tp(e),n=e.proxy,r=e.ctx;tc=!1,t.beforeCreate&&Od(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:ge,inheritAttrs:Se,components:se,directives:Ae,filters:Fe}=t;if(h&&vy(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=Ll($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):$o,Je=!ct(xe)&&ct(xe.set)?xe.set.bind(n):$o,Ue=oe({get:Qe,set:Je});Object.defineProperty(r,$e,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:ze=>Ue.value=ze})}if(l)for(const $e in l)_p(l[$e],r,n,$e);if(c){const $e=ct(c)?c.call(n):c;Reflect.ownKeys($e).forEach(xe=>{fl(xe,$e[xe])})}f&&Od(f,e,"c");function Ke($e,xe){tt(xe)?xe.forEach(Qe=>$e(Qe.bind(n))):xe&&$e(xe.bind(n))}if(Ke(ry,g),Ke(oa,_),Ke(oy,R),Ke(ay,O),Ke(ey,B),Ke(ty,te),Ke(uy,Ne),Ke(ly,fe),Ke(iy,_e),Ke(Ra,D),Ke(jl,Z),Ke(sy,G),tt(ge))if(ge.length){const $e=e.exposed||(e.exposed={});ge.forEach(xe=>{Object.defineProperty($e,xe,{get:()=>n[xe],set:Qe=>n[xe]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});be&&e.render===$o&&(e.render=be),Se!=null&&(e.inheritAttrs=Se),se&&(e.components=se),Ae&&(e.directives=Ae),G&&Lc(e)}function vy(e,t,n=$o){tt(e)&&(e=nc(e));for(const r in e){const a=e[r];let o;Rt(a)?"default"in a?o=uo(a.from||r,a.default,!0):o=uo(a.from||r):o=uo(a),tr(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:s=>o.value=s}):t[r]=o}}function Od(e,t,n){ho(tt(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function _p(e,t,n,r){let a=r.includes(".")?up(n,r):()=>n[r];if(Xt(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=>_p(o,t,n,r));else{const o=ct(e.handler)?e.handler.bind(n):t[e.handler];ct(o)&&pt(a,o,e)}}function Tp(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=>Tl(c,h,s,!0)),Tl(c,t,s)),Rt(t)&&o.set(t,c),c}function Tl(e,t,n,r=!1){const{mixins:a,extends:o}=t;o&&Tl(e,o,n,!0),a&&a.forEach(s=>Tl(e,s,n,!0));for(const s in t)if(!(r&&s==="expose")){const l=gy[s]||n&&n[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const gy={data:jd,props:Dd,emits:Dd,methods:li,computed:li,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:li,directives:li,watch:wy,provide:jd,inject:yy};function jd(e,t){return t?e?function(){return kn(ct(e)?e.call(this,this):e,ct(t)?t.call(this,this):t)}:t:e}function yy(e,t){return li(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 li(e,t){return e?kn(Object.create(null),e,t):t}function Dd(e,t){return e?tt(e)&&tt(t)?[...new Set([...e,...t])]:kn(Object.create(null),Ld(e),Ld(t??{})):t}function wy(e,t){if(!e)return t;if(!t)return e;const n=kn(Object.create(null),e);for(const r in t)n[r]=lr(e[r],t[r]);return n}function kp(){return{app:null,config:{isNativeTag:Mh,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 by=0;function _y(e,t){return function(r,a=null){ct(r)||(r=kn({},r)),a!=null&&!Rt(a)&&(a=null);const o=kp(),s=new WeakSet,l=[];let c=!1;const h=o.app={_uid:by++,_component:r,_props:a,_container:null,_context:o,_instance:null,version:Xy,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||Be(r,a);return R.appContext=o,_===!0?_="svg":_===!1&&(_=void 0),e(R,f,_),c=!0,h._container=f,f.__vue_app__=h,Ul(R.component)}},onUnmount(f){l.push(f)},unmount(){c&&(ho(l,h._instance,16),e(null,h._container),delete h._container.__vue_app__)},provide(f,g){return o.provides[f]=g,h},runWithContext(f){const g=Es;Es=h;try{return f()}finally{Es=g}}};return h}}let Es=null;const Ty=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${fr(t)}Modifiers`]||e[`${Ia(t)}Modifiers`];function ky(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Dt;let a=n;const o=t.startsWith("update:"),s=o&&Ty(r,t.slice(7));s&&(s.trim&&(a=n.map(f=>Xt(f)?f.trim():f)),s.number&&(a=n.map(Ml)));let l,c=r[l=pu(t)]||r[l=pu(fr(t))];!c&&o&&(c=r[l=pu(Ia(t))]),c&&ho(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,ho(h,e,6,a)}}const Cy=new WeakMap;function Cp(e,t,n=!1){const r=n?Cy: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=Cp(h,t,!0);f&&(l=!0,kn(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):kn(s,o),Rt(e)&&r.set(e,s),s)}function Dl(e,t){return!e||!El(t)?!1:(t=t.slice(2).replace(/Once$/,""),It(e,t[0].toLowerCase()+t.slice(1))||It(e,Ia(t))||It(e,t))}function Fd(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=bl(e);let j,D;try{if(n.shapeFlag&4){const Z=a||r,be=Z;j=Po(h.call(be,Z,f,g,R,_,O)),D=l}else{const Z=t;j=Po(Z.length>1?Z(g,{attrs:l,slots:s,emit:c}):Z(g,null)),D=t.props?l:Sy(l)}}catch(Z){gi.length=0,Pi(Z,e,1),j=Be(er)}let K=j;if(D&&B!==!1){const Z=Object.keys(D),{shapeFlag:be}=K;Z.length&&be&7&&(o&&Z.some(Il)&&(D=xy(D,o)),K=Ea(K,D,!1,!0))}return n.dirs&&(K=Ea(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition&&Ci(K,n.transition),j=K,bl(te),j}const Sy=e=>{let t;for(const n in e)(n==="class"||n==="style"||El(n))&&((t||(t={}))[n]=e[n]);return t},xy=(e,t)=>{const n={};for(const r in e)(!Il(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ay(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?Ud(r,s,h):!!s;if(c&8){const f=t.dynamicProps;for(let g=0;g<f.length;g++){const _=f[g];if(Sp(s,r,_)&&!Dl(h,_))return!0}}}else return(a||l)&&(!l||!l.$stable)?!0:r===s?!1:r?s?Ud(r,s,h):!0:!!s;return!1}function Ud(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(Sp(t,e,o)&&!Dl(n,o))return!0}return!1}function Sp(e,t,n){const r=e[n],a=t[n];return n==="style"&&Rt(r)&&Rt(a)?!Us(r,a):r!==a}function Ey({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 xp={},Ap=()=>Object.create(xp),Ep=e=>Object.getPrototypeOf(e)===xp;function Iy(e,t,n,r=!1){const a={},o=Ap();e.propsDefaults=Object.create(null),Ip(e,t,a,o);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);n?e.props=r?a:ep(a):e.type.props?e.props=a:e.props=o,e.attrs=o}function Ry(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(Dl(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{Ip(e,t,a,o)&&(h=!0);let f;for(const g in l)(!t||!It(t,g)&&((f=Ia(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&&Yo(e.attrs,"set","")}function Ip(e,t,n,r){const[a,o]=e.propsOptions;let s=!1,l;if(t)for(let c in t){if(di(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:Dl(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=$i(a);r=h[n]=c.call(null,t),f()}}else r=c;a.ce&&a.ce._setProp(n,r)}s[0]&&(o&&!l?r=!1:s[1]&&(r===""||r===Ia(n))&&(r=!0))}return r}const Py=new WeakMap;function Rp(e,t,n=!1){const r=n?Py: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]=Rp(g,t,!0);kn(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,Cs),Cs;if(tt(o))for(let f=0;f<o.length;f++){const g=fr(o[f]);Bd(g)&&(s[g]=Dt)}else if(o)for(const f in o){const g=fr(f);if(Bd(g)){const _=o[f],R=s[g]=tt(_)||ct(_)?{type:_}:kn({},_),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 Bd(e){return e[0]!=="$"&&!di(e)}const jc=e=>e==="_"||e==="_ctx"||e==="$stable",Dc=e=>tt(e)?e.map(Po):[Po(e)],My=(e,t,n)=>{if(t._n)return t;const r=ht((...a)=>Dc(t(...a)),n);return r._c=!1,r},Pp=(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]=My(a,o,r);else if(o!=null){const s=Dc(o);t[a]=()=>s}}},Mp=(e,t)=>{const n=Dc(t);e.slots.default=()=>n},$p=(e,t,n)=>{for(const r in t)(n||!jc(r))&&(e[r]=t[r])},$y=(e,t,n)=>{const r=e.slots=Ap();if(e.vnode.shapeFlag&32){const a=t._;a?($p(r,t,n),n&&Oh(r,"_",a,!0)):Pp(t,r)}else t&&Mp(e,t)},Ny=(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:$p(a,t,n):(o=!t.$stable,Pp(t,a)),s=t}else t&&(Mp(e,t),s={default:1});if(o)for(const l in a)!jc(l)&&s[l]==null&&delete a[l]},Xn=Fy;function Ly(e){return Oy(e)}function Oy(e,t){const n=$l();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=$o,insertStaticContent:O}=e,B=(A,$,z,ae=null,Q=null,ie=null,pe=void 0,Te=null,ye=!!$.dynamicChildren)=>{if(A===$)return;A&&!Va(A,$)&&(ae=J(A),ze(A,Q,ie,!0),A=null),$.patchFlag===-2&&(ye=!1,$.dynamicChildren=null);const{type:ce,ref:Le,shapeFlag:me}=$;switch(ce){case Fl: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,ie,pe,Te,ye);break;default:me&1?be(A,$,z,ae,Q,ie,pe,Te,ye):me&6?Ae(A,$,z,ae,Q,ie,pe,Te,ye):(me&64||me&128)&&ce.process(A,$,z,ae,Q,ie,pe,Te,ye,Pe)}Le!=null&&Q?mi(Le,A&&A.ref,ie,$||A,!$):Le==null&&A&&A.ref!=null&&mi(A.ref,null,ie,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,ie,pe,Te,ye)=>{if($.type==="svg"?pe="svg":$.type==="math"&&(pe="mathml"),A==null)fe($,z,ae,Q,ie,pe,Te,ye);else{const ce=A.el&&A.el._isVueCE?A.el:null;try{ce&&ce._beginPatch(),G(A,$,Q,ie,pe,Te,ye)}finally{ce&&ce._endPatch()}}},fe=(A,$,z,ae,Q,ie,pe,Te)=>{let ye,ce;const{props:Le,shapeFlag:me,transition:je,dirs:Oe}=A;if(ye=A.el=s(A.type,ie,Le&&Le.is,Le),me&8?f(ye,A.children):me&16&&Ne(A.children,ye,null,ae,Q,_u(A,ie),pe,Te),Oe&&Ba(A,null,ae,"created"),_e(ye,A,A.scopeId,pe,ae),Le){for(const F in Le)F!=="value"&&!di(F)&&o(ye,F,null,Le[F],ie,ae);"value"in Le&&o(ye,"value",null,Le.value,ie),(ce=Le.onVnodeBeforeMount)&&Ao(ce,ae,A)}Oe&&Ba(A,null,ae,"beforeMount");const at=jy(Q,je);at&&je.beforeEnter(ye),r(ye,$,z),((ce=Le&&Le.onVnodeMounted)||at||Oe)&&Xn(()=>{try{ce&&Ao(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 ie=0;ie<ae.length;ie++)R(A,ae[ie]);if(Q){let ie=Q.subTree;if($===ie||Op(ie.type)&&(ie.ssContent===$||ie.ssFallback===$)){const pe=Q.vnode;_e(A,pe,pe.scopeId,pe.slotScopeIds,Q.parent)}}},Ne=(A,$,z,ae,Q,ie,pe,Te,ye=0)=>{for(let ce=ye;ce<A.length;ce++){const Le=A[ce]=Te?Ko(A[ce]):Po(A[ce]);B(null,Le,$,z,ae,Q,ie,pe,Te)}},G=(A,$,z,ae,Q,ie,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)&&Ao(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?ge(A.dynamicChildren,ce,Te,z,ae,_u($,Q),ie):pe||xe(A,$,Te,null,z,ae,_u($,Q),ie,!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],ne=je[q];(ne!==W||q==="value")&&o(Te,q,W,ne,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&&Ao(Oe,z,$,A),Le&&Ba($,A,z,"updated")},ae)},ge=(A,$,z,ae,Q,ie,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,ie,pe,!0)}},Se=(A,$,z,ae,Q)=>{if($!==z){if($!==Dt)for(const ie in $)!di(ie)&&!(ie in z)&&o(A,ie,$[ie],null,Q,ae);for(const ie in z){if(di(ie))continue;const pe=z[ie],Te=$[ie];pe!==Te&&ie!=="value"&&o(A,ie,Te,pe,Q,ae)}"value"in z&&o(A,"value",$.value,z.value,Q)}},se=(A,$,z,ae,Q,ie,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,ie,pe,Te,ye)):me>0&&me&64&&je&&A.dynamicChildren&&A.dynamicChildren.length===je.length?(ge(A.dynamicChildren,je,z,Q,ie,pe,Te),($.key!=null||Q&&$===Q.subTree)&&Fc(A,$,!0)):xe(A,$,z,Le,Q,ie,pe,Te,ye)},Ae=(A,$,z,ae,Q,ie,pe,Te,ye)=>{$.slotScopeIds=Te,A==null?$.shapeFlag&512?Q.ctx.activate($,z,ae,pe,ye):Fe($,z,ae,Q,ie,pe,ye):qe(A,$,ye)},Fe=(A,$,z,ae,Q,ie,pe)=>{const Te=A.component=zy(A,ae,Q);if(Mi(A)&&(Te.ctx.renderer=Pe),Vy(Te,!1,pe),Te.asyncDep){if(Q&&Q.registerDep(Te,Ke,pe),!A.el){const ye=Te.subTree=Be(er);j(null,ye,$,z),A.placeholder=ye.el}}else Ke(Te,A,$,z,Q,ie,pe)},qe=(A,$,z)=>{const ae=$.component=A.component;if(Ay(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,ie,pe)=>{const Te=()=>{if(A.isMounted){let{next:me,bu:je,u:Oe,parent:at,vnode:F}=A;{const we=Np(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&&dl(je),(W=me.props&&me.props.onVnodeBeforeUpdate)&&Ao(W,at,me,F),qa(A,!0);const ne=Fd(A),he=A.subTree;A.subTree=ne,B(he,ne,g(he.el),J(he),A,Q,ie),me.el=ne.el,q===null&&Ey(A,ne.el),Oe&&Xn(Oe,Q),(W=me.props&&me.props.onVnodeUpdated)&&Xn(()=>Ao(W,at,me,F),Q)}else{let me;const{el:je,props:Oe}=$,{bm:at,m:F,parent:q,root:W,type:ne}=A,he=As($);qa(A,!1),at&&dl(at),!he&&(me=Oe&&Oe.onVnodeBeforeMount)&&Ao(me,q,$),qa(A,!0);{W.ce&&W.ce._hasShadowRoot()&&W.ce._injectChildStyle(ne,A.parent?A.parent.type:void 0);const we=A.subTree=Fd(A);B(null,we,z,ae,A,Q,ie),$.el=we.el}if(F&&Xn(F,Q),!he&&(me=Oe&&Oe.onVnodeMounted)){const we=$;Xn(()=>Ao(me,q,we),Q)}($.shapeFlag&256||q&&As(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 Uh(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,Ry(A,$.props,ae,z),Ny(A,$.children,z),Zo(),Ad(A),ea()},xe=(A,$,z,ae,Q,ie,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,ie,pe,Te,ye);return}else if(je&256){Qe(ce,me,z,ae,Q,ie,pe,Te,ye);return}}Oe&8?(Le&16&&wt(ce,Q,ie),me!==ce&&f(z,me)):Le&16?Oe&16?Je(ce,me,z,ae,Q,ie,pe,Te,ye):wt(ce,Q,ie,!0):(Le&8&&f(z,""),Oe&16&&Ne(me,z,ae,Q,ie,pe,Te,ye))},Qe=(A,$,z,ae,Q,ie,pe,Te,ye)=>{A=A||Cs,$=$||Cs;const ce=A.length,Le=$.length,me=Math.min(ce,Le);let je;for(je=0;je<me;je++){const Oe=$[je]=ye?Ko($[je]):Po($[je]);B(A[je],Oe,z,null,Q,ie,pe,Te,ye)}ce>Le?wt(A,Q,ie,!0,!1,me):Ne($,z,ae,Q,ie,pe,Te,ye,me)},Je=(A,$,z,ae,Q,ie,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?Ko($[ce]):Po($[ce]);if(Va(Oe,at))B(Oe,at,z,null,Q,ie,pe,Te,ye);else break;ce++}for(;ce<=me&&ce<=je;){const Oe=A[me],at=$[je]=ye?Ko($[je]):Po($[je]);if(Va(Oe,at))B(Oe,at,z,null,Q,ie,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?Ko($[ce]):Po($[ce]),z,at,Q,ie,pe,Te,ye),ce++}}else if(ce>je)for(;ce<=me;)ze(A[ce],Q,ie,!0),ce++;else{const Oe=ce,at=ce,F=new Map;for(ce=at;ce<=je;ce++){const dt=$[ce]=ye?Ko($[ce]):Po($[ce]);dt.key!=null&&F.set(dt.key,ce)}let q,W=0;const ne=je-at+1;let he=!1,we=0;const Ie=new Array(ne);for(ce=0;ce<ne;ce++)Ie[ce]=0;for(ce=Oe;ce<=me;ce++){const dt=A[ce];if(W>=ne){ze(dt,Q,ie,!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,ie,!0):(Ie[Lt-at]=ce+1,Lt>=we?we=Lt:he=!0,B(dt,$[Lt],z,null,Q,ie,pe,Te,ye),W++)}const st=he?Dy(Ie):Cs;for(q=st.length-1,ce=ne-1;ce>=0;ce--){const dt=at+ce,Lt=$[dt],Cn=$[dt+1],Mn=dt+1<Le?Cn.el||Lp(Cn):ae;Ie[ce]===0?B(null,Lt,z,Mn,Q,ie,pe,Te,ye):he&&(q<0||ce!==st[q]?Ue(Lt,z,Mn,2):q--)}}},Ue=(A,$,z,ae,Q=null)=>{const{el:ie,type:pe,transition:Te,children:ye,shapeFlag:ce}=A;if(ce&6){Ue(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(ie,$,z);for(let me=0;me<ye.length;me++)Ue(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(ie),r(ie,$,z),Xn(()=>Te.enter(ie),Q);else{const{leave:me,delayLeave:je,afterLeave:Oe}=Te,at=()=>{A.ctx.isUnmounted?a(ie):r(ie,$,z)},F=()=>{ie._isLeaving&&ie[Io](!0),me(ie,()=>{at(),Oe&&Oe()})};je?je(ie,at,F):F()}else r(ie,$,z)},ze=(A,$,z,ae=!1,Q=!1)=>{const{type:ie,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&&(Zo(),mi(Te,null,z,A,!0),ea()),Oe!=null&&($.renderCache[Oe]=void 0),Le&256){$.ctx.deactivate(A);return}const F=Le&1&&je,q=!As(A);let W;if(q&&(W=pe&&pe.onVnodeBeforeUnmount)&&Ao(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&&(ie!==Ge||me>0&&me&64)?wt(ce,$,z,!1,!0):(ie===Ge&&me&384||!Q&&Le&16)&&wt(ye,$,z),ae&&ft(A)}const ne=at!=null&&Oe==null;(q&&(W=pe&&pe.onVnodeUnmounted)||F||ne)&&Xn(()=>{W&&Ao(W,$,A),F&&Ba(A,null,$,"unmounted"),ne&&(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 ie=()=>{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,ie);Te?Te(A.el,ie,ye):ye()}else ie()},rt=(A,$)=>{let z;for(;A!==$;)z=_(A),a(A),A=z;a($)},We=(A,$,z)=>{const{bum:ae,scope:Q,job:ie,subTree:pe,um:Te,m:ye,a:ce}=A;qd(ye),qd(ce),ae&&dl(ae),Q.stop(),ie&&(ie.flags|=8,ze(pe,A,$,z)),Te&&Xn(Te,$),Xn(()=>{A.isUnmounted=!0},$)},wt=(A,$,z,ae=!1,Q=!1,ie=0)=>{for(let pe=ie;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=$&&$[cp];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,Ad(ae),ap(),Ee=!1)},Pe={p:B,um:ze,m:Ue,r:ft,mt:Fe,mc:Ne,pc:xe,pbc:ge,n:J,o:e};return{render:ke,hydrate:void 0,createApp:_y(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 jy(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]=Ko(a[o]),l.el=s.el),!n&&l.patchFlag!==-2&&Fc(s,l)),l.type===Fl&&(l.patchFlag===-1&&(l=a[o]=Ko(l)),l.el=s.el),l.type===er&&!l.el&&(l.el=s.el)}}function Dy(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 Np(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Np(t)}function qd(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Lp(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Lp(t.subTree):null}const Op=e=>e.__isSuspense;function Fy(e,t){t&&t.pendingBranch?tt(e)?t.effects.push(...e):t.effects.push(e):Wg(e)}const Ge=Symbol.for("v-fgt"),Fl=Symbol.for("v-txt"),er=Symbol.for("v-cmt"),Tu=Symbol.for("v-stc"),gi=[];let dr=null;function k(e=!1){gi.push(dr=e?null:[])}function Uy(){gi.pop(),dr=gi[gi.length-1]||null}let Ms=1;function kl(e,t=!1){Ms+=e,e<0&&dr&&t&&(dr.hasOnce=!0)}function jp(e){return e.dynamicChildren=Ms>0?dr||Cs:null,Uy(),Ms>0&&dr&&dr.push(e),e}function I(e,t,n,r,a,o){return jp(m(e,t,n,r,a,o,!0))}function Ze(e,t,n,r,a){return jp(Be(e,t,n,r,a,!0))}function Si(e){return e?e.__v_isVNode===!0:!1}function Va(e,t){return e.type===t.type&&e.key===t.key}const Dp=({key:e})=>e??null,pl=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Xt(e)||tr(e)||ct(e)?{i:Vn,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&&Dp(t),ref:t&&pl(t),scopeId:ip,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:Vn};return l?(Uc(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Xt(n)?8:16),Ms>0&&!s&&dr&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&dr.push(c),c}const Be=By;function By(e,t=null,n=null,r=0,a=null,o=!1){if((!e||e===wp)&&(e=er),Si(e)){const l=Ea(e,t,!0);return n&&Uc(l,n),Ms>0&&!o&&dr&&(l.shapeFlag&6?dr[dr.indexOf(e)]=l:dr.push(l)),l.patchFlag=-2,l}if(Qy(e)&&(e=e.__vccOpts),t){t=qy(t);let{class:l,style:c}=t;l&&!Xt(l)&&(t.class=et(l)),Rt(c)&&($c(c)&&!tt(c)&&(c=kn({},c)),t.style=Jo(c))}const s=Xt(e)?1:Op(e)?128:dp(e)?64:Rt(e)?4:ct(e)?2:0;return m(e,t,n,r,a,s,o,!0)}function qy(e){return e?$c(e)||Ep(e)?kn({},e):e:null}function Ea(e,t,n=!1,r=!1){const{props:a,ref:o,patchFlag:s,children:l,transition:c}=e,h=t?Fp(a||{},t):a,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Dp(h),ref:t&&t.ref?n&&o?tt(o)?o.concat(pl(t)):[o,pl(t)]:pl(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&&Ea(e.ssContent),ssFallback:e.ssFallback&&Ea(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Ci(f,c.clone(f)),f}function Za(e=" ",t=0){return Be(Fl,null,e,t)}function X(e="",t=!1){return t?(k(),Ze(er,null,e)):Be(er,null,e)}function Po(e){return e==null||typeof e=="boolean"?Be(er):tt(e)?Be(Ge,null,e.slice()):Si(e)?Ko(e):Be(Fl,null,String(e))}function Ko(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ea(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&&!Ep(t)?t._ctx=Vn:a===3&&Vn&&(Vn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ct(t)?(t={default:t,_ctx:Vn},n=32):(t=String(t),r&64?(n=16,t=[Za(t)]):n=8);e.children=t,e.shapeFlag|=n}function Fp(...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=Jo([t.style,r.style]);else if(El(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&&!Il(a)&&(t[a]=s)}else a!==""&&(t[a]=r[a])}return t}function Ao(e,t,n,r=null){ho(e,t,7,[n,r])}const Hy=kp();let Wy=0;function zy(e,t,n){const r=e.type,a=(t?t.appContext:e.appContext)||Hy,o={uid:Wy++,vnode:e,type:r,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new pg(!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:Rp(r,a),emitsOptions:Cp(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=ky.bind(null,o),e.ce&&e.ce(o),o}let zn=null;const Bc=()=>zn||Vn;let Cl,oc;{const e=$l(),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)}};Cl=t("__VUE_INSTANCE_SETTERS__",n=>zn=n),oc=t("__VUE_SSR_SETTERS__",n=>$s=n)}const $i=e=>{const t=zn;return Cl(e),e.scope.on(),()=>{e.scope.off(),Cl(t)}},Hd=()=>{zn&&zn.scope.off(),Cl(null)};function Up(e){return e.vnode.shapeFlag&4}let $s=!1;function Vy(e,t=!1,n=!1){t&&oc(t);const{props:r,children:a}=e.vnode,o=Up(e);Iy(e,r,o,t),$y(e,a,n||t);const s=o?Gy(e,t):void 0;return t&&oc(!1),s}function Gy(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fy);const{setup:r}=n;if(r){Zo();const a=e.setupContext=r.length>1?qp(e):null,o=$i(e),s=Ri(r,e,0,[e.props,a]),l=$h(s);if(ea(),o(),(l||e.sp)&&!As(e)&&Lc(e),l){if(s.then(Hd,Hd),t)return s.then(c=>{Wd(e,c)}).catch(c=>{Pi(c,e,0)});e.asyncDep=s}else Wd(e,s)}else Bp(e)}function Wd(e,t,n){ct(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Rt(t)&&(e.setupState=np(t)),Bp(e)}function Bp(e,t,n){const r=e.type;e.render||(e.render=r.render||$o);{const a=$i(e);Zo();try{my(e)}finally{ea(),a()}}}const Ky={get(e,t){return Zn(e,"get",""),e[t]}};function qp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ky),slots:e.slots,emit:e.emit,expose:t}}function Ul(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(np(Ng(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vi)return vi[n](e)},has(t,n){return n in t||n in vi}})):e.proxy}function Yy(e,t=!0){return ct(e)?e.displayName||e.name:e.name||t&&e.__name}function Qy(e){return ct(e)&&"__vccOpts"in e}const oe=(e,t)=>Fg(e,t,$s);function qc(e,t,n){try{kl(-1);const r=arguments.length;return r===2?Rt(t)&&!tt(t)?Si(t)?Be(e,null,[t]):Be(e,t):Be(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Si(n)&&(n=[n]),Be(e,t,n))}finally{kl(1)}}function DM(e,t,n,r){const a=n[r];if(a&&Jy(a,e))return a;const o=t();return o.memo=e.slice(),o.cacheIndex=r,n[r]=o}function Jy(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r<n.length;r++)if(so(n[r],t[r]))return!1;return Ms>0&&dr&&dr.push(e),!0}const Xy="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 zd=typeof window<"u"&&window.trustedTypes;if(zd)try{ac=zd.createPolicy("vue",{createHTML:e=>e})}catch{}const Hp=ac?e=>ac.createHTML(e):e=>e,Zy="http://www.w3.org/2000/svg",ew="http://www.w3.org/1998/Math/MathML",Go=typeof document<"u"?document:null,Vd=Go&&Go.createElement("template"),tw={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"?Go.createElementNS(Zy,e):t==="mathml"?Go.createElementNS(ew,e):n?Go.createElement(e,{is:n}):Go.createElement(e);return e==="select"&&r&&r.multiple!=null&&a.setAttribute("multiple",r.multiple),a},createText:e=>Go.createTextNode(e),createComment:e=>Go.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Go.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{Vd.innerHTML=Hp(r==="svg"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`:e);const l=Vd.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]}},ba="transition",ai="animation",xi=Symbol("_vtc"),Wp={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},nw=kn({},hp,Wp),rw=e=>(e.displayName="Transition",e.props=nw,e),zp=rw((e,{slots:t})=>qc(Xg,ow(e),t)),Ha=(e,t=[])=>{tt(e)?e.forEach(n=>n(...t)):e&&e(...t)},Gd=e=>e?tt(e)?e.some(t=>t.length>1):e.length>1:!1;function ow(e){const t={};for(const se in e)se in Wp||(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=aw(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()},ge=(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]),Kd(()=>{Wa(Ae,se?c:o),zo(Ae,se?f:l),Gd(qe)||Yd(Ae,r,B,Ke)})};return kn(t,{onBeforeEnter(se){Ha(j,[se]),zo(se,o),zo(se,s)},onBeforeAppear(se){Ha(fe,[se]),zo(se,c),zo(se,h)},onEnter:Se(!1),onAppear:Se(!0),onLeave(se,Ae){se._isLeaving=!0;const Fe=()=>ge(se,Ae);zo(se,g),se._enterCancelled?(zo(se,_),Xd(se)):(Xd(se),zo(se,_)),Kd(()=>{se._isLeaving&&(Wa(se,g),zo(se,R),Gd(Z)||Yd(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){ge(se),Ha(be,[se])}})}function aw(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 sg(e)}function zo(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[xi]||(e[xi]=new Set)).add(t)}function Wa(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[xi];n&&(n.delete(t),n.size||(e[xi]=void 0))}function Kd(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let sw=0;function Yd(e,t,n,r){const a=e._endId=++sw,o=()=>{a===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:s,timeout:l,propCount:c}=iw(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 iw(e,t){const n=window.getComputedStyle(e),r=O=>(n[O]||"").split(", "),a=r(`${ba}Delay`),o=r(`${ba}Duration`),s=Qd(a,o),l=r(`${ai}Delay`),c=r(`${ai}Duration`),h=Qd(l,c);let f=null,g=0,_=0;t===ba?s>0&&(f=ba,g=s,_=o.length):t===ai?h>0&&(f=ai,g=h,_=c.length):(g=Math.max(s,h),f=g>0?s>h?ba:ai:null,_=f?f===ba?o.length:c.length:0);const R=f===ba&&/\b(?:transform|all)(?:,|$)/.test(r(`${ba}Property`).toString());return{type:f,timeout:g,propCount:_,hasTransform:R}}function Qd(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Jd(n)+Jd(e[r])))}function Jd(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Xd(e){return(e?e.ownerDocument:document).body.offsetHeight}function lw(e,t,n){const r=e[xi];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Zd=Symbol("_vod"),uw=Symbol("_vsh"),cw=Symbol(""),dw=/(?:^|;)\s*display\s*:/;function fw(e,t,n){const r=e.style,a=Xt(n);let o=!1;if(n&&!a){if(t)if(Xt(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();n[l]==null&&ml(r,l,"")}else for(const s in t)n[s]==null&&ml(r,s,"");for(const s in n)s==="display"&&(o=!0),ml(r,s,n[s])}else if(a){if(t!==n){const s=r[cw];s&&(n+=";"+s),r.cssText=n,o=dw.test(n)}}else t&&e.removeAttribute("style");Zd in e&&(e[Zd]=o?r.display:"",e[uw]&&(r.display="none"))}const ef=/\s*!important$/;function ml(e,t,n){if(tt(n))n.forEach(r=>ml(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=hw(e,t);ef.test(n)?e.setProperty(Ia(r),n.replace(ef,""),"important"):e[r]=n}}const tf=["Webkit","Moz","ms"],Cu={};function hw(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=Pl(r);for(let a=0;a<tf.length;a++){const o=tf[a]+r;if(o in e)return Cu[t]=o}return t}const nf="http://www.w3.org/1999/xlink";function rf(e,t,n,r,a,o=fg(t)){r&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(nf,t.slice(6,t.length)):e.setAttributeNS(nf,t,n):n==null||o&&!jh(n)?e.removeAttribute(t):e.setAttribute(t,o?"":co(n)?String(n):n)}function of(e,t,n,r,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Hp(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=jh(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 xa(e,t,n,r){e.addEventListener(t,n,r)}function pw(e,t,n,r){e.removeEventListener(t,n,r)}const af=Symbol("_vei");function mw(e,t,n,r,a=null){const o=e[af]||(e[af]={}),s=o[t];if(r&&s)s.value=r;else{const[l,c]=vw(t);if(r){const h=o[t]=ww(r,a);xa(e,l,h,c)}else s&&(pw(e,l,s,c),o[t]=void 0)}}const sf=/(?:Once|Passive|Capture)$/;function vw(e){let t;if(sf.test(e)){t={};let r;for(;r=e.match(sf);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ia(e.slice(2)),t]}let Su=0;const gw=Promise.resolve(),yw=()=>Su||(gw.then(()=>Su=0),Su=Date.now());function ww(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ho(bw(r,n.value),t,5,[r])};return n.value=e,n.attached=yw(),n}function bw(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 lf=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,_w=(e,t,n,r,a,o)=>{const s=a==="svg";t==="class"?lw(e,r,s):t==="style"?fw(e,n,r):El(t)?Il(t)||mw(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tw(e,t,r,s))?(of(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&rf(e,t,r,s,o,t!=="value")):e._isVueCE&&(kw(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Xt(r)))?of(e,fr(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),rf(e,t,r,s))};function Tw(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&lf(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 lf(t)&&Xt(n)?!1:t in e}function kw(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 Ns=e=>{const t=e.props["onUpdate:modelValue"]||!1;return tt(t)?n=>dl(t,n):t};function Cw(e){e.target.composing=!0}function uf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Xo=Symbol("_assign");function cf(e,t,n){return t&&(e=e.trim()),n&&(e=Ml(e)),e}const sn={created(e,{modifiers:{lazy:t,trim:n,number:r}},a){e[Xo]=Ns(a);const o=r||a.props&&a.props.type==="number";xa(e,t?"change":"input",s=>{s.target.composing||e[Xo](cf(e.value,n,o))}),(n||o)&&xa(e,"change",()=>{e.value=cf(e.value,n,o)}),t||(xa(e,"compositionstart",Cw),xa(e,"compositionend",uf),xa(e,"change",uf))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:a,number:o}},s){if(e[Xo]=Ns(s),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ml(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)}},Sw={deep:!0,created(e,t,n){e[Xo]=Ns(n),xa(e,"change",()=>{const r=e._modelValue,a=Ai(e),o=e.checked,s=e[Xo];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(Fs(r)){const l=new Set(r);o?l.add(a):l.delete(a),s(l)}else s(Vp(e,o))})},mounted:df,beforeUpdate(e,t,n){e[Xo]=Ns(n),df(e,t,n)}};function df(e,{value:t,oldValue:n},r){e._modelValue=t;let a;if(tt(t))a=xc(t,r.props.value)>-1;else if(Fs(t))a=t.has(r.props.value);else{if(t===n)return;a=Us(t,Vp(e,!0))}e.checked!==a&&(e.checked=a)}const ff={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const a=Fs(t);xa(e,"change",()=>{const o=Array.prototype.filter.call(e.options,s=>s.selected).map(s=>n?Ml(Ai(s)):Ai(s));e[Xo](e.multiple?a?new Set(o):o:o[0]),e._assigning=!0,Vt(()=>{e._assigning=!1})}),e[Xo]=Ns(r)},mounted(e,{value:t}){hf(e,t)},beforeUpdate(e,t,n){e[Xo]=Ns(n)},updated(e,{value:t}){e._assigning||hf(e,t)}};function hf(e,t){const n=e.multiple,r=tt(t);if(!(n&&!r&&!Fs(t))){for(let a=0,o=e.options.length;a<o;a++){const s=e.options[a],l=Ai(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(Us(Ai(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ai(e){return"_value"in e?e._value:e.value}function Vp(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const xw=["ctrl","shift","alt","meta"],Aw={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)=>xw.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=Aw[t[s]];if(l&&l(a,t))return}return e(a,...o)}))},Ew={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},hn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(a=>{if(!("key"in a))return;const o=Ia(a.key);if(t.some(s=>s===o||Ew[s]===o))return e(a)}))},Iw=kn({patchProp:_w},tw);let pf;function Rw(){return pf||(pf=Ly(Iw))}const Pw=((...e)=>{const t=Rw().createApp(...e),{mount:n}=t;return t.mount=r=>{const a=$w(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,Mw(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t});function Mw(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $w(e){return Xt(e)?document.querySelector(e):e}const Nw="modulepreload",Lw=function(e){return"/"+e},mf={},nl=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=Lw(h),h in mf)return;mf[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":Nw,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 gs=typeof document<"u";function Gp(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ow(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Gp(e.default)}const Et=Object.assign;function xu(e,t){const n={};for(const r in t){const a=t[r];n[r]=po(a)?a.map(e):e(a)}return n}const yi=()=>{},po=Array.isArray;function vf(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Kp=/#/g,jw=/&/g,Dw=/\//g,Fw=/=/g,Uw=/\?/g,Yp=/\+/g,Bw=/%5B/g,qw=/%5D/g,Qp=/%5E/g,Hw=/%60/g,Jp=/%7B/g,Ww=/%7C/g,Xp=/%7D/g,zw=/%20/g;function Hc(e){return e==null?"":encodeURI(""+e).replace(Ww,"|").replace(Bw,"[").replace(qw,"]")}function Vw(e){return Hc(e).replace(Jp,"{").replace(Xp,"}").replace(Qp,"^")}function sc(e){return Hc(e).replace(Yp,"%2B").replace(zw,"+").replace(Kp,"%23").replace(jw,"%26").replace(Hw,"`").replace(Jp,"{").replace(Xp,"}").replace(Qp,"^")}function Gw(e){return sc(e).replace(Fw,"%3D")}function Kw(e){return Hc(e).replace(Kp,"%23").replace(Uw,"%3F")}function Yw(e){return Kw(e).replace(Dw,"%2F")}function Ei(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Qw=/\/$/,Jw=e=>e.replace(Qw,"");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=tb(r??t,n),{fullPath:r+o+s,path:r,query:a,hash:Ei(s)}}function Xw(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function gf(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Zw(e,t,n){const r=t.matched.length-1,a=n.matched.length-1;return r>-1&&r===a&&Ls(t.matched[r],n.matched[a])&&Zp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Ls(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Zp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!eb(e[n],t[n]))return!1;return!0}function eb(e,t){return po(e)?yf(e,t):po(t)?yf(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function yf(e,t){return po(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function tb(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 _a={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 nb(e){if(!e)if(gs){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Jw(e)}const rb=/^[^#]+#/;function ob(e,t){return e.replace(rb,"#")+t}function ab(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 Bl=()=>({left:window.scrollX,top:window.scrollY});function sb(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=ab(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 wf(e,t){return(history.state?history.state.position-t:-1)+e}const lc=new Map;function ib(e,t){lc.set(e,t)}function lb(e){const t=lc.get(e);return lc.delete(e),t}function ub(e){return typeof e=="string"||e&&typeof e=="object"}function em(e){return typeof e=="string"||typeof e=="symbol"}let an=(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 tm=Symbol("");an.MATCHER_NOT_FOUND+"",an.NAVIGATION_GUARD_REDIRECT+"",an.NAVIGATION_ABORTED+"",an.NAVIGATION_CANCELLED+"",an.NAVIGATION_DUPLICATED+"";function Os(e,t){return Et(new Error,{type:e,[tm]:!0},t)}function Vo(e,t){return e instanceof Error&&tm in e&&(t==null||!!(e.type&t))}const cb=["params","query","hash"];function db(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of cb)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function fb(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(Yp," "),o=a.indexOf("="),s=Ei(o<0?a:a.slice(0,o)),l=o<0?null:Ei(a.slice(o+1));if(s in t){let c=t[s];po(c)||(c=t[s]=[c]),c.push(l)}else t[s]=l}return t}function bf(e){let t="";for(let n in e){const r=e[n];if(n=Gw(n),r==null){r!==void 0&&(t+=(t.length?"&":"")+n);continue}(po(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 hb(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=po(r)?r.map(a=>a==null?null:""+a):r==null?r:""+r)}return t}const pb=Symbol(""),_f=Symbol(""),ql=Symbol(""),Wc=Symbol(""),uc=Symbol("");function si(){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 Ca(e,t,n,r,a,o=s=>s()){const s=r&&(r.enterCallbacks[a]=r.enterCallbacks[a]||[]);return()=>new Promise((l,c)=>{const h=_=>{_===!1?c(Os(an.NAVIGATION_ABORTED,{from:n,to:t})):_ instanceof Error?c(_):ub(_)?c(Os(an.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(Gp(c)){const h=(c.__vccOpts||c)[t];h&&o.push(Ca(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=Ow(f)?f.default:f;s.mods[l]=f,s.components[l]=g;const _=(g.__vccOpts||g)[t];return _&&Ca(_,n,r,s,l,a)()}))}}return o}function mb(e,t){const n=[],r=[],a=[],o=Math.max(t.matched.length,e.matched.length);for(let s=0;s<o;s++){const l=t.matched[s];l&&(e.matched.find(h=>Ls(h,l))?r.push(l):n.push(l));const c=e.matched[s];c&&(t.matched.find(h=>Ls(h,c))||a.push(c))}return[n,r,a]}/*!
23
- * vue-router v4.6.4
24
- * (c) 2025 Eduardo San Martin Morote
25
- * @license MIT
26
- */let vb=()=>location.protocol+"//"+location.host;function nm(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),gf(l,"")}return gf(n,e)+r+a}function gb(e,t,n,r){let a=[],o=[],s=null;const l=({state:_})=>{const R=nm(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:Bl()}),"")}}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 Tf(e,t,n,r=!1,a=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:a?Bl():null}}function yb(e){const{history:t,location:n}=window,r={value:nm(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:vb()+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,Tf(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:Bl()});o(f.current,f,!0),o(c,Et({},Tf(r.value,c,null),{position:f.position+1},h),!1),r.value=c}return{location:r,state:a,push:l,replace:s}}function wb(e){e=nb(e);const t=yb(e),n=gb(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:ob.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 bb(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),wb(e)}let Ka=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var _n=(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})(_n||{});const _b={type:Ka.Static,value:""},Tb=/[a-zA-Z0-9_]/;function kb(e){if(!e)return[[]];if(e==="/")return[[_b]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(R){throw new Error(`ERR (${n})/"${h}": ${R}`)}let n=_n.Static,r=n;const a=[];let o;function s(){o&&a.push(o),o=[]}let l=0,c,h="",f="";function g(){h&&(n===_n.Static?o.push({type:Ka.Static,value:h}):n===_n.Param||n===_n.ParamRegExp||n===_n.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Ka.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!==_n.ParamRegExp){r=n,n=_n.EscapeNext;continue}switch(n){case _n.Static:c==="/"?(h&&g(),s()):c===":"?(g(),n=_n.Param):_();break;case _n.EscapeNext:_(),n=r;break;case _n.Param:c==="("?n=_n.ParamRegExp:Tb.test(c)?_():(g(),n=_n.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case _n.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=_n.ParamRegExpEnd:f+=c;break;case _n.ParamRegExpEnd:g(),n=_n.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===_n.ParamRegExp&&t(`Unfinished custom RegExp for param "${h}"`),g(),s(),a}const kf="[^/]+?",Cb={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 Sb=/[.+*?^${}()[\]/\\]/g;function xb(e,t){const n=Et({},Cb,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===Ka.Static)g||(a+="/"),a+=_.value.replace(Sb,"\\$&"),R+=ur.Static;else if(_.type===Ka.Param){const{value:O,repeatable:B,optional:te,regexp:j}=_;o.push({name:O,repeatable:B,optional:te});const D=j||kf;if(D!==kf){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===Ka.Static)f+=R.value;else if(R.type===Ka.Param){const{value:O,repeatable:B,optional:te}=R,j=O in h?h[O]:"";if(po(j)&&!B)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const D=po(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 Ab(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 rm(e,t){let n=0;const r=e.score,a=t.score;for(;n<r.length&&n<a.length;){const o=Ab(r[n],a[n]);if(o)return o;n++}if(Math.abs(a.length-r.length)===1){if(Cf(r))return 1;if(Cf(a))return-1}return a.length-r.length}function Cf(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Eb={strict:!1,end:!0,sensitive:!1};function Ib(e,t,n){const r=xb(kb(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 Rb(e,t){const n=[],r=new Map;t=vf(Eb,t);function a(g){return r.get(g)}function o(g,_,R){const O=!R,B=xf(g);B.aliasOf=R&&R.record;const te=vf(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(xf(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=Ib(Z,_,te),R?R.alias.push(D):(K=K||D,K!==D&&K.alias.push(D),O&&g.name&&!Af(D)&&s(g.name)),om(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)}:yi}function s(g){if(em(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 _=$b(g,n);n.splice(_,0,g),g.record.name&&!Af(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 Os(an.MATCHER_NOT_FOUND,{location:g});te=R.record.name,O=Et(Sf(_.params,R.keys.filter(K=>!K.optional).concat(R.parent?R.parent.keys.filter(K=>K.optional):[]).map(K=>K.name)),g.params&&Sf(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 Os(an.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:Mb(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 Sf(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function xf(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Pb(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 Pb(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 Af(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Mb(e){return e.reduce((t,n)=>Et(t,n.meta),{})}function $b(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;rm(e,t[o])<0?r=o:n=o+1}const a=Nb(e);return a&&(r=t.lastIndexOf(a,r-1)),r}function Nb(e){let t=e;for(;t=t.parent;)if(om(t)&&rm(e,t)===0)return t}function om({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ef(e){const t=uo(ql),n=uo(Wc),r=oe(()=>{const c=S(e.to);return t.resolve(c)}),a=oe(()=>{const{matched:c}=r.value,{length:h}=c,f=c[h-1],g=n.matched;if(!f||!g.length)return-1;const _=g.findIndex(Ls.bind(null,f));if(_>-1)return _;const R=If(c[h-2]);return h>1&&If(f)===R&&g[g.length-1].path!==R?g.findIndex(Ls.bind(null,c[h-2])):_}),o=oe(()=>a.value>-1&&Fb(n.params,r.value.params)),s=oe(()=>a.value>-1&&a.value===n.matched.length-1&&Zp(n.params,r.value.params));function l(c={}){if(Db(c)){const h=t[S(e.replace)?"replace":"push"](S(e.to)).catch(yi);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>h),h}return Promise.resolve()}return{route:r,href:oe(()=>r.value.href),isActive:o,isExactActive:s,navigate:l}}function Lb(e){return e.length===1?e[0]:e}const Ob=Gn({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:Ef,setup(e,{slots:t}){const n=Ll(Ef(e)),{options:r}=uo(ql),a=oe(()=>({[Rf(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Rf(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Lb(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)}}}),jb=Ob;function Db(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 Fb(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(!po(a)||a.length!==r.length||r.some((o,s)=>o.valueOf()!==a[s].valueOf()))return!1}return!0}function If(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Rf=(e,t,n)=>e??t??n,Ub=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=uo(uc),a=oe(()=>e.route||r.value),o=uo(_f,0),s=oe(()=>{let h=S(o);const{matched:f}=a.value;let g;for(;(g=f[h])&&!g.components;)h++;return h}),l=oe(()=>a.value.matched[s.value]);fl(_f,oe(()=>s.value+1)),fl(pb,l),fl(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||!Ls(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 Pf(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 Pf(n.default,{Component:te,route:h})||te}}});function Pf(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Bb=Ub;function qb(e){const t=Rb(e.routes,e),n=e.parseQuery||fb,r=e.stringifyQuery||bf,a=e.history,o=si(),s=si(),l=si(),c=Lg(_a);let h=_a;gs&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=xu.bind(null,J=>""+J),g=xu.bind(null,Yw),_=xu.bind(null,Ei);function R(J,Ee){let ke,Pe;return em(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:Ei(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=Xw(r,Et({},J,{hash:Vw(Ye),path:Pe.path})),$=a.createHref(A);return Et({fullPath:A,hash:Ye,query:r===bf?hb(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 Os(an.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&&Zw(r,Pe,ke)&&(Q=Os(an.NAVIGATION_DUPLICATED,{to:ae,from:Pe}),Ue(Pe,Pe,!0,!1)),(Q?Promise.resolve(Q):ge(ae,Pe)).catch(ie=>Vo(ie)?Vo(ie,an.NAVIGATION_GUARD_REDIRECT)?ie:Je(ie):xe(ie,ae,Pe)).then(ie=>{if(ie){if(Vo(ie,an.NAVIGATION_GUARD_REDIRECT))return _e(Et({replace:$},D(ie.to),{state:typeof ie.to=="object"?Et({},Ye,ie.to.state):Ye,force:A}),Ee||ae)}else ie=se(ae,Pe,!0,$,Ye);return Se(ae,Pe,ie),ie})}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 ge(J,Ee){let ke;const[Pe,Ye,A]=mb(J,Ee);ke=Iu(Pe.reverse(),"beforeRouteLeave",J,Ee);for(const z of Pe)z.leaveGuards.forEach(ae=>{ke.push(Ca(ae,J,Ee))});const $=Ne.bind(null,J,Ee);return ke.push($),wt(ke).then(()=>{ke=[];for(const z of o.list())ke.push(Ca(z,J,Ee));return ke.push($),wt(ke)}).then(()=>{ke=Iu(Ye,"beforeRouteUpdate",J,Ee);for(const z of Ye)z.updateGuards.forEach(ae=>{ke.push(Ca(ae,J,Ee))});return ke.push($),wt(ke)}).then(()=>{ke=[];for(const z of A)if(z.beforeEnter)if(po(z.beforeEnter))for(const ae of z.beforeEnter)ke.push(Ca(ae,J,Ee));else ke.push(Ca(z.beforeEnter,J,Ee));return ke.push($),wt(ke)}).then(()=>(J.matched.forEach(z=>z.enterCallbacks={}),ke=Iu(A,"beforeRouteEnter",J,Ee,G),ke.push($),wt(ke))).then(()=>{ke=[];for(const z of s.list())ke.push(Ca(z,J,Ee));return ke.push($),wt(ke)}).catch(z=>Vo(z,an.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===_a,z=gs?history.state:{};ke&&(Pe||$?a.replace(J.fullPath,Et({scroll:$&&z&&z.scroll},Ye)):a.push(J.fullPath,Ye)),c.value=J,Ue(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(yi);return}h=Pe;const A=c.value;gs&&ib(wf(A.fullPath,ke.delta),Bl()),ge(Pe,A).catch($=>Vo($,an.NAVIGATION_ABORTED|an.NAVIGATION_CANCELLED)?$:Vo($,an.NAVIGATION_GUARD_REDIRECT)?(_e(Et(D($.to),{force:!0}),Pe).then(z=>{Vo(z,an.NAVIGATION_ABORTED|an.NAVIGATION_DUPLICATED)&&!ke.delta&&ke.type===ic.pop&&a.go(-1,!1)}).catch(yi),Promise.reject()):(ke.delta&&a.go(-ke.delta,!1),xe($,Pe,A))).then($=>{$=$||se(Pe,A,!1),$&&(ke.delta&&!Vo($,an.NAVIGATION_CANCELLED)?a.go(-ke.delta,!1):ke.type===ic.pop&&Vo($,an.NAVIGATION_ABORTED|an.NAVIGATION_DUPLICATED)&&a.go(-1,!1)),Se(Pe,A,$)}).catch(yi)}))}let qe=si(),Ke=si(),$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!==_a?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 Ue(J,Ee,ke,Pe){const{scrollBehavior:Ye}=e;if(!gs||!Ye)return Promise.resolve();const A=!ke&&lb(wf(J.fullPath,0))||(Pe||!ke)&&history.state&&history.state.scroll||null;return Vt().then(()=>Ye(J,Ee,A)).then($=>$&&sb($)).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",jb),J.component("RouterView",Bb),J.config.globalProperties.$router=We,Object.defineProperty(J.config.globalProperties,"$route",{enumerable:!0,get:()=>S(c)}),gs&&!ft&&c.value===_a&&(ft=!0,Z(a.location).catch(Pe=>{}));const Ee={};for(const Pe in _a)Object.defineProperty(Ee,Pe,{get:()=>c.value[Pe],enumerable:!0});J.provide(ql,We),J.provide(Wc,ep(Ee)),J.provide(uc,c);const ke=J.unmount;rt.add(J),J.unmount=function(){rt.delete(J),rt.size<1&&(h=_a,Ae&&Ae(),Ae=null,c.value=_a,ft=!1,$e=!1),ke()}}};function wt(J){return J.reduce((Ee,ke)=>Ee.then(()=>G(ke)),Promise.resolve())}return We}function Hb(){return uo(ql)}function Wb(e){return uo(Wc)}const Mf=768;function zc(){const e=x(typeof window<"u"?window.innerWidth<Mf:!1);let t=null;function n(r){e.value=r.matches}return oa(()=>{t=window.matchMedia(`(max-width: ${Mf-1}px)`),e.value=t.matches,t.addEventListener("change",n)}),jl(()=>{t==null||t.removeEventListener("change",n)}),{isMobile:e}}const zb={key:0,class:"desktop-sidebar"},Vb={class:"desktop-main"},$f="codex-web-local.sidebar-width.v1",Gb=260,Kb=620,Nf=320,Yb=Gn({__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(Kb,Math.max(Gb,h))}function a(){if(typeof window>"u")return Nf;const h=window.localStorage.getItem($f),f=Number(h);return Number.isFinite(f)?r(f):Nf}const o=x(a()),s=oe(()=>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($f,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:Jo(s.value)},[S(n)?(k(),Ze(Ga,{key:0,to:"body"},[Be(zp,{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"]))},[Mo(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",zb,[Mo(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",Vb,[Mo(h.$slots,"content",{},void 0)])],6))}}),St=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n},Qb=St(Yb,[["__scopeId","data-v-4c6dbcd7"]]);function Lf(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}class No extends Error{constructor(t,n){super(t),this.name="CodexApiError",this.code=n.code,this.method=n.method,this.status=n.status}}function aa(e,t){if(typeof e=="string"&&e.length>0)return e;const n=Lf(e);if(!n)return t;const r=n.error;if(typeof r=="string"&&r.length>0)return r;const a=Lf(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 na(e,t,n){return e instanceof No?e:e instanceof Error?new No(e.message||t,{code:"unknown_error",method:n}):new No(t,{code:"unknown_error",method:n})}function am(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}async function Jb(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 No(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=aa(a,"")||(o==null?void 0:o.slice(0,500))||"",c=`RPC ${e} failed with HTTP ${r.status}`;throw new No(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 No(`RPC ${e} returned malformed envelope`,{code:"invalid_response",method:e,status:r.status});return s.result}async function Xb(){const e=await fetch("/codex-api/meta/methods");let t=null;try{t=await e.json()}catch{t=null}if(!e.ok)throw new No(aa(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 Zb(e){const t=am(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 Of(e,t={ok:!0}){e({method:"ready",params:t,atIso:new Date().toISOString()})}function e0(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=Zb(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};Of(e,R)}catch{Of(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 t0(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 No(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 No(aa(n,`Server request reply failed with HTTP ${t.status}`),{code:"http_error",method:"server-requests/respond",status:t.status})}async function n0(){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 No(aa(t,`Pending server requests failed with HTTP ${e.status}`),{code:"http_error",method:"server-requests/pending",status:e.status});const n=am(t),r=n==null?void 0:n.data;return Array.isArray(r)?r:[]}function r0(e){const t=e.trim();return t?t.startsWith("\\\\?\\UNC\\")?`\\\\${t.slice(8)}`:t.startsWith("\\\\?\\")?t.slice(4):t:""}function ot(e){return r0(e)}function o0(e){return/^[a-z]:[\\/]/iu.test(e)||e.startsWith("\\\\")}function a0(e){const t=ot(e).replace(/[\\/]+/gu,"/");return o0(t)?t.toLowerCase():t}function jr(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 Is(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 Gr(e){return jr(e)||ot(e)||"Projectless"}function Sl(e){const t=ot(e).replace(/[\\/]+/gu,"/");return t?/(?:^|\/)Documents\/Codex\/\d{4}-\d{2}-\d{2}\/[^/]+$/u.test(t):!1}function jf(e){return new Date(e*1e3).toISOString()}function s0(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}const i0=/^##\s+(.+?):\s+(.+?)\s*$/,l0=/^#\s*files mentioned by the user\s*:?\s*$/i;function u0(e){var a,o;const t=e.split(`
27
- `).findIndex(s=>l0.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(i0);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 c0(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 sm(e){return`/codex-local-image?path=${encodeURIComponent(e)}`}function d0(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 f0(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]?f0(n[1].trim()):""}function h0(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 p0(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(sm(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:s0(f),isUnhandled:!0})}const s=n.join(`
29
- `),l=u0(s),c=h0(s);return{text:(c==null?void 0:c.instructions)??c0(s),images:r,skills:a,fileAttachments:l,rawBlocks:o,isAutomationRun:c!==null,automationDisplayName:(c==null?void 0:c.automationId)||null}}function m0(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 Df(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 v0(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 im(e){return e==="failed"||e==="declined"||e==="completed"?e:"inProgress"}function lm(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"?v0(s):c==="add"?{addedLineCount:Df(s),removedLineCount:0}:{addedLineCount:0,removedLineCount:Df(s)};n.push({path:o,operation:c,movedToPath:h,diff:s,...f})}return n}function g0(e){if(e.type==="agentMessage")return[{id:e.id,role:"assistant",text:e.text,messageType:e.type}];if(e.type==="userMessage"){const t=p0(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:[sm(t)],messageType:"imageView"}]:[]}{const t=e;if(t.type==="imageGeneration"||t.type==="image_generation"){const n=typeof t.result=="string"?d0(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:m0(t)??void 0}]}if(e.type==="commandExecution"){const t=e,n=y0(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=lm(e.changes),n=im(e.status);return t.length===0||n!=="completed"?[]:[{id:e.id,role:"system",text:"",messageType:"fileChange",fileChangeStatus:n,fileChanges:t}]}return[]}function y0(e){return e==="completed"||e==="failed"||e==="declined"||e==="interrupted"?e:e==="inProgress"||e==="in_progress"?"inProgress":"completed"}function w0(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 b0(e){const t=w0(e);return t.length>0?t:"Untitled thread"}function Vc(e){return(e==null?void 0:e.status)==="inProgress"}function _0(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 T0(e){const t=e,n=ot(typeof t.cwd=="string"?t.cwd:e.cwd),r=a0(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:b0(e),projectName:Gr(n),cwd:n,hasWorktree:a,createdAtIso:jf(e.createdAt),updatedAtIso:jf(e.updatedAt),preview:e.preview,unread:!1,inProgress:_0(e)}}function k0(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 C0(e){const t=e.data.map(T0);return k0(t)}function Hl(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 g0(l))n.push({...c,turnId:o,turnIndex:r})}return n}function um(e){const t=Array.isArray(e.thread.turns)?e.thread.turns:[];return Vc(t.at(-1))}function cm(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 S0=5e3;function Pu(e){return e&&e.length>0?e:null}function Mu(e){return e&&e.length>0?e:null}let rl=null,wi=null;const Ff=[{value:"default",label:"Default"},{value:"plan",label:"Plan"}];function ut(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 Tn(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function Kr(e){return typeof e=="boolean"?e:null}function bs(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function x0(e){return e==="payment_required"?e:null}function A0(e){if(!e)return!1;const t=e.toLowerCase();return t.includes("payment required")||/\b402\b/.test(t)}function Uf(e){const t=ut(e);if(!t)return null;const n=Tn(t.usedPercent??t.used_percent);if(n===null)return null;const r=Tn(t.windowDurationMins??t.window_minutes);return{usedPercent:n,windowDurationMins:r,windowMinutes:r,resetsAt:Tn(t.resetsAt??t.resets_at)}}function E0(e){const t=ut(e);if(!t)return null;const n=Kr(t.hasCredits??t.has_credits),r=Kr(t.unlimited);return n===null||r===null?null:{hasCredits:n,unlimited:r,balance:de(t.balance)}}function cc(e){const t=ut(e);if(!t)return null;const n=Uf(t.primary),r=Uf(t.secondary),a=E0(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 dm(e,t=null){const n=ut(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:x0(n.unavailableReason)??(A0(de(n.quotaError))?"payment_required":null),isActive:Kr(n.isActive)??r===t}:null}function fm(e){const t=ut(e);if(!t)return null;const n=ut(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 Jb(e,t)}catch(n){throw na(n,`RPC ${e} failed`,e)}}function hm(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 I0(e){return typeof e=="string"&&["none","minimal","low","medium","high","xhigh"].includes(e)?e:""}function R0(e){return typeof e=="string"&&e.trim().toLowerCase()==="fast"?"fast":"standard"}const P0=50,M0=100;async function $0(e,t){const n=await Pt("thread/list",{archived:!1,limit:t,sortKey:"updated_at",modelProviders:[],cursor:e});return{groups:C0(n),nextCursor:typeof n.nextCursor=="string"&&n.nextCursor.length>0?n.nextCursor:null}}async function N0(e){const t=await Pt("thread/read",{threadId:e,includeTurns:!0});return{messages:Hl(t),inProgress:um(t),activeTurnId:cm(t),turnIndexByTurnId:hm(t)}}async function Bf(e=null,t=P0){try{return await $0(e,t)}catch(n){throw na(n,"Failed to load thread groups","thread/list")}}function L0(){return M0}async function qf(e){try{return await N0(e)}catch(t){throw na(t,`Failed to load thread ${e}`,"thread/read")}}function O0(e){const t=ut(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:Tn(t.oldLine),newLine:Tn(t.newLine)}}function j0(e){const t=ut(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:Tn(t.addedLineCount)??0,removedLineCount:Tn(t.removedLineCount)??0,oldStart:Tn(t.oldStart),oldLineCount:Tn(t.oldLineCount)??0,newStart:Tn(t.newStart),newLineCount:Tn(t.newLineCount)??0,lines:Array.isArray(t.lines)?t.lines.map(o=>O0(o)).filter(o=>o!==null):[]}:null}function D0(e){const t=ut(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:Tn(t.addedLineCount)??0,removedLineCount:Tn(t.removedLineCount)??0,diff:typeof t.diff=="string"?t.diff:"",hunks:Array.isArray(t.hunks)?t.hunks.map(s=>j0(s)).filter(s=>s!==null):[]}}function pm(e){const t=ut(e),n=ut(t==null?void 0:t.data),r=ut(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:Kr(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:Tn(r==null?void 0:r.fileCount)??0,addedLineCount:Tn(r==null?void 0:r.addedLineCount)??0,removedLineCount:Tn(r==null?void 0:r.removedLineCount)??0},files:Array.isArray(n==null?void 0:n.files)?n.files.map(s=>D0(s)).filter(s=>s!==null):[]}}function F0(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 U0(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())??"",_=F0(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 Hf(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=Hf(t,"exitedReviewMode");return{enteredReviewLabel:Hf(t,"enteredReviewMode"),result:n?U0(n):null}}async function UM(){return Xb()}function dc(e){const t=ut(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:Tn(t.createdAtMs),updatedAtMs:Tn(t.updatedAtMs),nextRunAtMs:Tn(t.nextRunAtMs)}}function B0(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 q0(){var a;const e=await fetch("/codex-api/thread-automations"),t=await e.json().catch(()=>null);if(!e.ok)throw new Error(aa(t,"Failed to load thread automations"));const n=ut((a=ut(t))==null?void 0:a.data),r={};if(!n)return r;for(const[o,s]of Object.entries(n)){const l=B0(s);l.length>0&&(r[o]=l)}return r}async function H0(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(aa(n,"Failed to save thread automation"));const r=dc((a=ut(n))==null?void 0:a.data);if(!r)throw new Error("Thread automation response was malformed");return r}async function Wf(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(aa(a,"Failed to delete thread automation"))}async function W0(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(aa(r,"Failed to run thread automation"))}function z0(e){return e0(e)}function V0(e){const t=ut(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:Kr(t.truncated)??!1}}async function Bs(e,t){const n=await fetch(e,t),r=await n.json().catch(()=>null);if(!n.ok)throw new Error(aa(r,`Terminal request failed with HTTP ${n.status}`));return r}async function BM(e){var r;const t=await Bs("/codex-api/thread-terminal/attach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=V0((r=ut(t))==null?void 0:r.session);if(!n)throw new Error("Terminal attach response was malformed");return n}async function G0(){const e=await Bs("/codex-api/thread-terminal/status"),t=ut(e);return{available:Kr(t==null?void 0:t.available)??!1,reason:de(t==null?void 0:t.reason)||null}}async function K0(e){const t=await Bs(`/codex-api/thread-terminal/quick-commands?cwd=${encodeURIComponent(e)}`),n=ut(t);return(Array.isArray(n==null?void 0:n.commands)?n.commands:[]).flatMap(a=>{const o=ut(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 Bs("/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 Bs("/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 Bs("/codex-api/thread-terminal/close",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})})}async function Y0(e,t){await t0({id:e,...t})}async function Q0(){return n0()}async function J0(){try{const e=await Pt("account/rateLimits/read");return fm(e)}catch(e){throw na(e,"Failed to load account rate limits","account/rateLimits/read")}}function Wl(e){const t=ut(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=>dm(a,n)).filter(a=>a!==null)}}async function X0(){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=ut(t);return Wl(n==null?void 0:n.data)}async function Z0(){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=ut(t);return Wl(n==null?void 0:n.data)}async function e_(){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=ut(t),r=ut(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 t_(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=ut(n);return Wl(r==null?void 0:r.data)}async function n_(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=ut(n),a=ut(r==null?void 0:r.data),o=dm(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 r_(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=ut(n);return Wl(r==null?void 0:r.data)}async function $u(e){const t=await Pt("thread/resume",{threadId:e});return{model:xl(t),messages:Hl(t),inProgress:um(t),activeTurnId:cm(t),turnIndexByTurnId:hm(t)}}async function o_(e){await Pt("thread/archive",{threadId:e})}async function a_(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 Hl(n)}async function s_(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 i_(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 xl(e){if(!e||typeof e!="object")return"";const t=e.model;return typeof t=="string"?t.trim():""}async function zf(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:xl(r)}}catch(n){throw na(n,"Failed to start a new thread","thread/start")}}async function Vf(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:i_(r),model:xl(r),messages:Hl(r)}}catch(r){throw na(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:xl(o)}}catch(r){throw na(r,`Failed to fork thread ${e}`,"thread/fork")}}function Gf(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 l_(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 u_(e){const t=e.replace(/\\/g,"/");return t.split("/").filter(Boolean).at(-1)??t}async function c_(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 vm()}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 mm()}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=Gf(D.trim());K&&f.push({label:u_(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:l_(t,_)}];for(const D of n){const K=D.trim();if(!K)continue;const Z=Gf(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 c_(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 na(h,`Failed to start turn for thread ${e}`,"turn/start")}}async function d_(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 na(a,`Failed to interrupt turn for thread ${n}`,"turn/interrupt")}}async function f_(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 h_(){return await(await fetch("/codex-api/free-mode/status")).json()}async function Kf(e){return await(await fetch("/codex-api/free-mode",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enable:e})})).json()}async function Yf(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 fs(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 mm(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(S0)});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 vm(){const e=await Pt("config/read",{}),t=e.config.model??"",n=typeof e.config.model_provider=="string"?e.config.model_provider:"",r=I0(e.config.model_reasoning_effort),a=R0(e.config.service_tier);return{model:t,providerId:n,reasoningEffort:r,speedMode:a}}function gm(e){const t=ut(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:Kr(t.needsAuth??t.needs_auth)??!1}}function p_(e){const t=ut(e);if(!t)return null;const n=de(t.name),r=de(t.path);if(!n||!r)return null;const a=ut(t.interface);return{name:n,path:r,description:de(t.description)??"",enabled:Kr(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 ym(e,t={}){const n=ut(e);if(!n)return null;const r=de(n.id),a=de(n.name);if(!r||!a)return null;const o=ut(n.interface),s=ut(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:Kr(n.installed)??!1,enabled:Kr(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:bs(o==null?void 0:o.capabilities),defaultPrompt:bs((o==null?void 0:o.defaultPrompt)??(o==null?void 0:o.default_prompt)),screenshotUrls:bs((o==null?void 0:o.screenshotUrls)??(o==null?void 0:o.screenshot_urls)),screenshots:bs(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 m_(e,t=0){const n=ut(e);if(!n)return null;const r=de(n.id),a=de(n.name);if(!r||!a)return null;const o=ut(n.branding),s=ut(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:Kr(n.isAccessible??n.is_accessible)??!1,isEnabled:Kr(n.isEnabled??n.is_enabled)??!0,pluginDisplayNames:bs(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 v_(e){const t=ut(e);if(!t)return null;const n=de(t.name);if(!n)return null;const r=ut(t.tools)??{},a=Object.entries(r).map(([c,h])=>{const f=ut(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=ut(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=ut(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=ut(a);if(!o)continue;const s=ut(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=ym(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=ut(n.plugin);if(!r)throw new Error("Plugin detail response is empty");const a=ym(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(gm).filter(o=>o!==null):[],skills:Array.isArray(r.skills)?r.skills.map(p_).filter(o=>o!==null):[],mcpServers:bs(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(gm).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=m_(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=v_(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 g_(e){const t=e.trim();return t?t.replace(/[_-]+/g," ").replace(/\b\w/g,n=>n.toUpperCase()):""}async function y_(){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:g_(r.name||a)||(a==="plan"?"Plan":"Default")}))}if(n.length>0){for(const r of Ff)t.has(r.value)||n.push(r);return n.sort((r,a)=>r.value===a.value?0:r.value==="default"?-1:1)}}catch{}return Ff}function w_(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 b_(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 wm(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=b_(s);return l?[l]:[]});o.length>0&&(t[a]=o)}return t}async function ys(){return wi?hc(wi):(rl||(rl=__().then(e=>(wi=e,e)).finally(()=>{rl=null})),hc(await rl))}async function __(){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 w_(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 T_(){wi=null}async function Qf(){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 wm(n.data)}async function k_(e){if(!(await fetch("/codex-api/thread-queue-state",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(wm(e))})).ok)throw new Error("Failed to save thread queue state")}async function C_(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 S_(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 x_(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 A_(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 E_(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 I_(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 R_(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 P_(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 pm(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 pm(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 Jf(){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 M_(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");wi=hc(e)}async function ol(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 T_(),s}async function $_(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 N_(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 L_(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 O_(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 j_(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 D_(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 F_(){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 U_(){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 B_(){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 q_(){try{const e=await fetch("/codex-api/thread-pins");return e.ok?(await e.json()).data??{threadIds:[]}:{threadIds:[]}}catch{return{threadIds:[]}}}async function H_(e){try{await fetch("/codex-api/thread-pins",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadIds:e})})}catch{}}async function W_(){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 z_(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 V_(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 G_(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 K_(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=G_(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 Y_(){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 Q_(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 J_(e){try{const t=new URLSearchParams({path:e});return(await fetch(`/codex-api/prompts?${t.toString()}`,{method:"DELETE"})).ok}catch{return!1}}const X_=6e4;async function Du(e){const t=new AbortController,n=setTimeout(()=>t.abort(),X_);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 Z_={},eT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function tT(e,t){return k(),I("svg",eT,[...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 Ya=St(Z_,[["render",tT]]),nT={},rT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function oT(e,t){return k(),I("svg",rT,[...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 ui=St(nT,[["render",oT]]),aT={},sT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function iT(e,t){return k(),I("svg",sT,[...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 hs=St(aT,[["render",iT]]),lT={},uT={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function cT(e,t){return k(),I("svg",uT,[...t[0]||(t[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 20h4L18.5 9.5a2.828 2.828 0 1 0-4-4L4 16zm9.5-13.5l4 4"},null,-1)])])}const js=St(lT,[["render",cT]]),dT={},fT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function hT(e,t){return k(),I("svg",fT,[...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=St(dT,[["render",hT]]),pT={},mT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function vT(e,t){return k(),I("svg",mT,[...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 gT=St(pT,[["render",vT]]),yT={},wT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function bT(e,t){return k(),I("svg",wT,[...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 _s=St(yT,[["render",bT]]),_T={},TT={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function kT(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:"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 al=St(_T,[["render",kT]]),bm="codex-web-local.ui-language.v1",CT={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":"超宽"},Xf={en:"English","zh-CN":"简体中文"};function ST(){var t;return typeof window>"u"?"en":((t=window.localStorage.getItem(bm))==null?void 0:t.trim())==="zh-CN"?"zh-CN":"en"}const zl=x(ST());function _m(e){typeof document>"u"||(document.documentElement.lang=e==="zh-CN"?"zh-CN":"en",document.documentElement.dataset.uiLanguage=e)}_m(zl.value);function xT(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>String(t[r]??"")):e}function AT(e){zl.value=e,_m(e),typeof window<"u"&&window.localStorage.setItem(bm,e)}function Tm(e,t){const n=zl.value==="zh-CN"?CT[e]??e:e;return xT(n,t)}function Pa(){return{uiLanguage:zl,uiLanguageOptions:[{value:"en",label:Xf.en},{value:"zh-CN",label:Xf["zh-CN"]}],t:Tm,setUiLanguage:AT}}const ET={key:0,class:"sidebar-menu-row-left"},IT={class:"sidebar-menu-row-main"},RT={key:1,class:"sidebar-menu-row-right"},PT={key:0,class:"sidebar-menu-row-right-default"},MT={key:1,class:"sidebar-menu-row-right-hover"},$T=Gn({inheritAttrs:!1,__name:"SidebarMenuRow",props:{as:{default:"div"},forceRightHover:{type:Boolean,default:!1}},setup(e){const t=e,n=hy(),r=oe(()=>!!n.left),a=oe(()=>!!n.right),o=oe(()=>!!n["right-hover"]),s=oe(()=>a.value||o.value);return(l,c)=>(k(),Ze(Oc(t.as),Fp({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",ET,[Mo(l.$slots,"left",{},void 0,!0)])):X("",!0),m("span",IT,[Mo(l.$slots,"default",{},void 0,!0)]),s.value?(k(),I("span",RT,[a.value?(k(),I("span",PT,[Mo(l.$slots,"right",{},void 0,!0)])):X("",!0),o.value?(k(),I("span",MT,[Mo(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"]))}}),oo=St($T,[["__scopeId","data-v-36239f39"]]),NT={key:0,class:"pinned-section"},LT={class:"thread-tree-header"},OT={key:0,class:"thread-list"},jT=["data-menu-open"],DT={class:"thread-left-stack"},FT=["data-state"],UT=["data-confirming","title","onClick"],BT={key:0,class:"thread-delete-confirm-label"},qT=["onClick"],HT={class:"thread-row-title-wrap"},WT={class:"thread-row-title-line"},zT={class:"thread-row-title"},VT=["title"],GT=["data-state"],KT={class:"thread-row-time"},YT=["onClick"],QT={class:"projects-section"},JT={class:"thread-tree-header"},XT=["aria-expanded","aria-label","title"],ZT={class:"organize-menu-title"},ek=["data-active"],tk={key:0},nk=["data-active"],rk={key:0},ok=["data-active"],ak={key:0},sk={class:"organize-menu-title"},ik=["data-active"],lk={key:0},uk=["data-active"],ck={key:0},dk={key:0,class:"thread-tree-no-results"},fk={key:1,class:"thread-tree-loading"},hk={key:2,class:"thread-list thread-list-global"},pk=["data-menu-open"],mk={class:"thread-left-stack"},vk=["data-state"],gk=["data-confirming","title","onClick"],yk={key:0,class:"thread-delete-confirm-label"},wk=["onClick"],bk={class:"thread-row-title-wrap"},_k={class:"thread-row-title-line"},Tk={class:"thread-row-title"},kk=["title"],Ck=["data-state"],Sk={class:"thread-row-time"},xk=["onClick"],Ak=["data-project-name","data-expanded","data-dragging"],Ek={class:"project-icon-stack"},Ik={class:"project-icon-folder"},Rk={class:"project-icon-chevron"},Pk=["data-dragging-handle","onMousedown"],Mk=["title"],$k={class:"project-hover-controls"},Nk=["onClick"],Lk=["data-open-direction"],Ok=["onClick"],jk=["onClick"],Dk=["onClick"],Fk=["onClick"],Uk={class:"project-menu-label"},Bk=["onInput"],qk=["aria-label","title","onClick"],Hk={key:0,class:"thread-list"},Wk=["data-menu-open"],zk={class:"thread-left-stack"},Vk=["data-state"],Gk=["data-confirming","title","onClick"],Kk={key:0,class:"thread-delete-confirm-label"},Yk=["onClick"],Qk={class:"thread-row-title-wrap"},Jk={class:"thread-row-title-line"},Xk={class:"thread-row-title"},Zk=["title"],e1=["data-state"],t1={class:"thread-row-time"},n1=["onClick"],r1={class:"project-empty"},o1=["onClick"],a1={class:"chats-section"},s1={class:"thread-tree-header"},i1={class:"chats-section-actions"},l1=["aria-label","title"],u1={key:0,class:"thread-tree-no-results"},c1={key:1,class:"thread-list thread-list-global"},d1=["data-menu-open"],f1={class:"thread-left-stack"},h1=["data-state"],p1=["data-confirming","title","onClick"],m1={key:0,class:"thread-delete-confirm-label"},v1=["onClick"],g1={class:"thread-row-title-wrap"},y1={class:"thread-row-title-line"},w1={class:"thread-row-title"},b1=["title"],_1=["data-state"],T1={class:"thread-row-time"},k1=["onClick"],C1=["data-open-direction"],S1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread title"},x1={class:"rename-thread-title"},A1=["onKeydown"],E1={class:"rename-thread-actions"},I1={class:"rename-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Delete thread"},R1={class:"rename-thread-title"},P1={class:"rename-thread-subtitle"},M1={class:"rename-thread-actions"},$1={class:"rename-thread-panel automation-thread-panel",role:"dialog","aria-modal":"true","aria-label":"Thread automation"},N1={class:"rename-thread-title"},L1={key:0,class:"automation-thread-list","aria-label":"Thread automations"},O1=["onClick"],j1={class:"automation-thread-field"},D1={class:"automation-thread-field"},F1={class:"automation-thread-field"},U1={class:"automation-schedule-mode-group",role:"radiogroup","aria-label":"Automation schedule type"},B1={key:0,class:"automation-schedule-row"},q1={key:1,class:"automation-schedule-row"},H1={class:"automation-schedule-preview"},W1={class:"automation-thread-field"},z1={value:"ACTIVE"},V1={value:"PAUSED"},G1={key:1,class:"rename-thread-subtitle automation-thread-error"},K1={key:2,class:"rename-thread-subtitle automation-thread-notice"},Y1={class:"rename-thread-actions"},Q1=["disabled"],J1=["disabled"],X1=["disabled"],Z1=["disabled"],eC=4,Zf=6,eh="codex-web-local.sidebar-section-expansion.v1",th="codex-web-local.sidebar-chats-first.v1",nh="codex-web-local.sidebar-chat-sort-mode.v1",rh="codex-web-local.thread-view-mode.v1",oh="codex-web-local.collapsed-projects.v1",tC=Gn({__name:"SidebarThreadTree",props:{groups:{},projectDisplayNameById:{},projectGitRepoByName:{},selectedThreadId:{},isLoading:{type:Boolean},searchQuery:{},searchMatchedThreadIds:{}},emits:["select","archive","start-new-thread","browse-thread-files","browse-project-files","request-project-git-status","create-project-worktree","rename-project","rename-thread","remove-project","reorder-project","export-thread","fork-thread","start-new-chat"],setup(e,{emit:t}){const n=e,{t:r}=Pa(),a=t,o=x({}),s=x({}),l=x(!0),c=x(!0),h=x(!0),f=x(!1),g=x(at(th,!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(""),ge=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(""),Ue=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"}),wt=oe(()=>{const y=$e.value;return y?qe.value[y]??[]:[]}),J=oe(()=>Xr(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,ie=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&&fa(L,w)}}):null;function je(){if(typeof window>"u")return{};try{const y=window.localStorage.getItem(oh);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(rh)==="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(nh)==="created"?"created":"updated"}s.value=je();function q(){if(!(typeof window>"u"))try{const y=JSON.parse(window.localStorage.getItem(eh)||"{}");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(eh,JSON.stringify({pinned:l.value,projects:c.value,chats:h.value}))}q(),pt(s,y=>{typeof window>"u"||window.localStorage.setItem(oh,JSON.stringify(y))},{deep:!0}),pt(Le,y=>{typeof window>"u"||window.localStorage.setItem(rh,y)}),pt(g,y=>{typeof window>"u"||window.localStorage.setItem(th,String(y))}),pt(_,y=>{typeof window>"u"||window.localStorage.setItem(nh,y)}),pt([l,c,h],W);const ne=oe(()=>n.searchQuery.trim().toLowerCase()),he=oe(()=>ne.value.length>0),we=oe(()=>n.searchMatchedThreadIds?new Set(n.searchMatchedThreadIds):null),Ie=oe(()=>new Set(O.value)),st=oe(()=>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=ne.value;return y.title.toLowerCase().includes(b)||y.preview.toLowerCase().includes(b)}const Lt=oe(()=>n.groups.flatMap(y=>{const b=y.threads.filter(w=>!Sl(w.cwd)&&dt(w));return b.length>0?[{...y,threads:b}]:!he.value&&y.threads.length===0?[{...y,threads:b}]:[]})),Cn=oe(()=>Le.value==="chronological"),Mn=oe(()=>{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})}),Ar=oe(()=>{const y=Mn.value.filter(w=>Sl(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=oe(()=>he.value||f.value?Ar.value:Ar.value.slice(0,10)),Dr=oe(()=>he.value?!1:Ar.value.length>10),$n=oe(()=>{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&&H_(y)}),pt($n,y=>{const b=O.value.filter(w=>y.has(w));b.length!==O.value.length&&(O.value=b)}),oa(async()=>{const{threadIds:y}=await q_(),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 q0()}catch{qe.value={}}R=!0});const Er=oe(()=>Ht(Ae.value)),hr=oe(()=>{const y=new Map;for(const b of n.groups)for(const w of b.threads)y.set(w.id,b.projectName);return y}),Yr=oe(()=>{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}),sa=oe(()=>{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}),Zt=oe(()=>{const y=D.value;return y?$n.value.get(y)??null:null}),ln=oe(()=>O.value.map(y=>$n.value.get(y)??null).filter(y=>y!==null).filter(dt));function mo(){l.value=!l.value}function Lo(){c.value=!c.value}function Oo(){h.value=!h.value}const nt=oe(()=>{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}),en=oe(()=>{const b=(he.value?Lt.value:n.groups).map(Ct=>Ct.projectName),w=Pe.value,L=nt.value;if(!w||L===null)return b;const Re=[...b],[lt]=Re.splice(w.fromIndex,1);return lt?(Re.splice(L,0,lt),Re):b}),Qt=oe(()=>{const y={};let b=0;for(const w of en.value)y[w]=b,b+=yr(w);return y}),Qr=oe(()=>{let y=0;for(const b of en.value)y+=yr(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 vn(y){const b=sa.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 Sn(y){if(nr(y)){O.value=O.value.filter(b=>b!==y);return}O.value=[y,...O.value]}function tn(y){Sn(y),xt()}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 xn(y){const b=qe.value[y]??[];if(b.length===0)return"";if(b.length>1){const Re=b.filter(lt=>lt.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 vo(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 jo(y,b){const w=vo(y,1);return b==="minutes"?`FREQ=MINUTELY;INTERVAL=${w}`:b==="hours"?`FREQ=HOURLY;INTERVAL=${w}`:`FREQ=DAILY;INTERVAL=${w}`}function Jr(y){return Object.fromEntries(y.split(";").map(b=>b.trim()).filter(Boolean).map(b=>{const[w,...L]=b.split("=");return[w.toUpperCase(),L.join("=").trim()]}).filter(([b,w])=>b&&w))}function Nn(y){var Re;const b=Jr(y),w=(Re=b.FREQ)==null?void 0:Re.toUpperCase(),L=vo(b.INTERVAL,1);if(w==="DAILY"&&b.BYHOUR!==void 0&&b.BYMINUTE!==void 0&&L===1){const lt=Math.min(23,Math.max(0,Number(b.BYHOUR)||0)),Ct=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return{mode:"daily",dailyTime:`${rr(lt)}:${rr(Ct)}`,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 Xr(y){var Re;const b=Jr(y),w=(Re=b.FREQ)==null?void 0:Re.toUpperCase(),L=vo(b.INTERVAL,1);if(w==="DAILY"&&b.BYHOUR!==void 0&&b.BYMINUTE!==void 0&&L===1){const lt=Math.min(23,Math.max(0,Number(b.BYHOUR)||0)),Ct=Math.min(59,Math.max(0,Number(b.BYMINUTE)||0));return`RRULE: ${y} · runs daily at ${rr(lt)}:${rr(Ct)}`}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=jo(y.interval,y.intervalUnit))}function Ir(){We.value=Nn(rt.value.rrule)}function On(y){We.value={...We.value,mode:y},Ln()}function Fr(y){a("export-thread",y),xt()}function jn(y){a("fork-thread",y),xt()}function mr(y){return`start new thread ${$t(y)}`}function Kn(y){a("start-new-thread",y)}function go(y){a("browse-thread-files",y),xt()}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(xt(),!(!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}xt()}}function Kt(y){return D.value===y}function xt(){D.value="",be.value={}}function un(y){if(B.value="",D.value===y){xt();return}E(),ce.value=!1,D.value=y,Vt(()=>{wr(y)})}function Ut(y,b){y.preventDefault(),B.value="",D.value=b}function pn(y,b){G.value=y,ge.value=b,Ne.value=!0,xt(),Vt(()=>{var w,L;(w=Se.value)==null||w.focus(),(L=Se.value)==null||L.select()})}function or(){Ne.value=!1,G.value="",ge.value=""}function Yn(){const y=G.value,b=ge.value.trim();!y||!b||(a("rename-thread",{threadId:y,title:b}),or())}function Ur(y,b){B.value="",Ae.value=y,Fe.value=b,se.value=!0,xt()}function gn(){se.value=!1,Ae.value="",Fe.value=""}async function Rr(){const y=Ae.value;y&&(Tt(y),gn())}function cn(y){return B.value===y}function gt(y){if(B.value!==y){B.value=y,xt();return}Tt(y),B.value=""}function Tt(y){st.value.has(y)||(te.value=[y,...te.value]),B.value="",xt(),O.value=O.value.filter(b=>b!==y),a("archive",y),Ht(y)&&(Wf(y).catch(()=>{}),qe.value=Mr(qe.value,y))}function An(y){var w;$e.value=y,Je.value="",Ue.value="";const b=(w=qe.value[y])==null?void 0:w[0];b?Bt(b.id):mn(),Ke.value=!0,xt()}function mn(){xe.value="",Qe.value="create",Je.value="",Ue.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=wt.value.find(w=>w.id===y);b&&(xe.value=b.id,Qe.value="edit",Je.value="",Ue.value="",rt.value={name:b.name,prompt:b.prompt,rrule:b.rrule,status:b.status},We.value=Nn(b.rrule))}function Pr(){Ke.value=!1,$e.value="",xe.value="",Je.value="",Ue.value="",ze.value=!1,ft.value=!1}function Mr(y,b){return Object.fromEntries(Object.entries(y).filter(([w])=>w!==b))}function Fn(y,b,w){const L=y[b]??[],Re=L.findIndex(Ct=>Ct.id===w.id),lt=[...L];return Re>=0?lt.splice(Re,1,w):lt.push(w),{...y,[b]:lt}}function Br(y,b,w){const L=(y[b]??[]).filter(Re=>Re.id!==w);return L.length>0?{...y,[b]:L}:Mr(y,b)}async function vr(){const y=$e.value;if(y){ze.value=!0,Je.value="",Ue.value="";try{Ln();const b=await H0({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),Ue.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="",Ue.value="";try{await Wf(y,b),qe.value=Br(qe.value,y,b);const L=(w=qe.value[y])==null?void 0:w[0];L?Bt(L.id):mn(),ze.value=!1}catch(L){Je.value=L instanceof Error?L.message:"Failed to remove automation",ze.value=!1}}}async function Qn(){const y=$e.value,b=xe.value;if(!(!y||!b)){ft.value=!0,Je.value="",Ue.value="";try{await W0(y,b),Ue.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 qr(y){return Bn(y)?y:$t(y)}function ar(y){const b=jr(y);if(!b)return!1;let w=0;for(const L of n.groups)if(Bn(L.projectName)&&jr(L.projectName)===b&&(w+=1,w>1))return!0;return!1}function Hr(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 Ct=jr(L),kr=jr(Is(L)),rn=ar(L)?kr:Ct;return rn&&rn!==w?`${w} ${rn}`:w}if(!w.includes("/")&&!w.includes("\\"))return w;const Re=jr(w)||w,lt=jr(Is(w));return lt.startsWith(".")&&lt!==Re?`${Re} ${lt}`:y.threads.length>0||!ar(L)?Re:lt?`${Re} ${lt}`:Re}function En(y){return j.value===y}function E(){j.value="",fe.value="actions",_e.value=""}function U(){const y=!ce.value;y&&(E(),xt()),ce.value=y}function re(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(()=>{ua(y)})}function dn(y){if(j.value===y){E();return}xt(),ce.value=!1,j.value=y,fe.value="actions",_e.value=$t(y),Yt(y)}function Me(y){xt(),ce.value=!1,j.value=y,fe.value="actions",_e.value=$t(y),Yt(y)}function Ce(y){return n.projectDisplayNameById[y.projectName]??Hr(y)}function vt(y){xt();const b=y.projectName;j.value=b,fe.value="rename",_e.value=Ce(y),Vt(()=>{ua(b)})}function yn(y){a("browse-project-files",y),E()}function Jn(y){a("create-project-worktree",y),E()}function Zr(y){a("rename-project",{projectName:y,displayName:_e.value})}function fn(y){a("remove-project",y),E()}function eo(y,b){if(!y.altKey||y.key!=="ArrowUp"&&y.key!=="ArrowDown")return;const w=n.groups.findIndex(lt=>lt.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 gr(y){return o.value[y]===!0}function qn(y){return s.value[y]===!0}function Ma(y){o.value={...o.value,[y]:!gr(y)}}function ia(){f.value=!f.value}function to(y){if($.value===y){$.value="";return}s.value={...s.value,[y]:!qn(y)}}function yr(y){const b=z.value[y]??0,w=Pe.value,Re=((w==null?void 0:w.projectName)===y?w.groupHeight:null)??b,lt=qn(y)?0:Zf;return Math.max(0,Re+lt)}function la(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 sr(y,b){const w=b instanceof HTMLElement?b:b&&"$el"in b&&b.$el instanceof HTMLElement?b.$el:null;if(w){ie.set(y,w);return}ie.delete(y)}function yo(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 Hn(y,b){const w=y.getBoundingClientRect(),L=yo(y),Re=6,lt=L.bottom-w.bottom,Ct=w.top-L.top;return lt>=b+Re?"down":Ct>lt?"up":"down"}function no(y,b){const w=ie.get(y);if(!w)return"down";const L=Hn(w,b);return Z.value={...Z.value,[y]:L},L}function $r(y){return Z.value[y]??"down"}function ua(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]:Hn(b,L)}}function $a(y,b,w){return Math.min(Math.max(y,b),w)}function wr(y){const b=ie.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,lt=(L==null?void 0:L.width)||(w==null?void 0:w.offsetWidth)||160,Ct=no(y,Re),kr=b.getBoundingClientRect(),rn=8,wn=4,Rn=Math.max(rn,window.innerWidth-lt-rn),qo=$a(kr.right-lt,rn,Rn),Ho=$a(Ct==="up"?kr.top-Re-wn:kr.bottom+wn,rn,Math.max(rn,window.innerHeight-Re-rn));be.value={left:`${Math.round(qo)}px`,top:`${Math.round(Ho)}px`}}function Wn(){const y=D.value;y&&wr(y)}function Do(){window.addEventListener("resize",Wn),document.addEventListener("scroll",Wn,!0)}function ca(){window.removeEventListener("resize",Wn),document.removeEventListener("scroll",Wn,!0)}function nn(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 In(y){const b=D.value;if(!b)return!1;const w=ie.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 lt=y.target;return lt instanceof Node?!!(w.contains(lt)||Re&&Re.contains(lt)):!1}function ir(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&&(nn(y)||E(),D.value&&(In(y)||xt()))}function da(y){j.value&&!nn(y)&&E(),D.value&&!In(y)&&xt()}function br(){ce.value&&(ce.value=!1),j.value&&E(),D.value&&xt()}function _r(){window.addEventListener("pointerdown",ir,{capture:!0}),window.addEventListener("focusin",da,{capture:!0}),window.addEventListener("blur",br)}function Fo(){window.removeEventListener("pointerdown",ir,{capture:!0}),window.removeEventListener("focusin",da,{capture:!0}),window.removeEventListener("blur",br)}function fa(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 Na(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),fa(y,L),me==null||me.observe(L);return}w&&(me==null||me.unobserve(w)),ae.delete(y)}function wo(y,b){if(y.button!==0||he.value||ke.value||Pe.value)return;const w=n.groups.findIndex(Ct=>Ct.projectName===b),L=ae.get(b);if(w<0||!L)return;const Re=L.getBoundingClientRect(),lt=qn(b)?0:Zf;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+lt},y.preventDefault(),La()}function La(){window.addEventListener("mousemove",Nr),window.addEventListener("mouseup",ha),window.addEventListener("keydown",bo)}function Uo(){window.removeEventListener("mousemove",Nr),window.removeEventListener("mouseup",ha),window.removeEventListener("keydown",bo)}function Nr(y){Ye={clientX:y.clientX,clientY:y.clientY},jt()}function ha(y){Lr({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})}}Tr({preserveToggleSuppression:!!b})}function bo(y){y.key==="Escape"&&(!ke.value&&!Pe.value||(y.preventDefault(),Tr()))}function Tr(y={}){A!==null&&(window.cancelAnimationFrame(A),A=null),Ye=null,ke.value=null,Pe.value=null,y.preserveToggleSuppression||($.value=""),Uo()}function jt(){A===null&&(A=window.requestAnimationFrame(()=>{if(A=null,!Ye)return;const y=Ye;Ye=null,Lr(y)}))}function Lr(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)<eC)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&&qs(y)}function qs(y){const b=Pe.value;if(!b)return;if(b.ghostTop=y.clientY-b.pointerOffsetY,!Oa(y)){b.dropTargetIndexFull=null;return}const w=y.clientY,L=Ee.value;if(!L){b.dropTargetIndexFull=null;return}const Re=L.getBoundingClientRect(),lt=new Map(n.groups.map((wn,Rn)=>[wn.projectName,Rn])),Ct=n.groups.map(wn=>wn.projectName).filter(wn=>wn!==b.projectName);let kr=0,rn=n.groups.length;for(const wn of Ct){const Rn=lt.get(wn);if(Rn===void 0)continue;const qo=yr(wn),Ho=Re.top+kr+qo/2;if(w<Ho){rn=Rn;break}kr+=qo}b.dropTargetIndexFull=rn}function Oa(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 es(y){var b;return((b=Pe.value)==null?void 0:b.projectName)===y}function pa(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 ma(y){return Yr.value.get(y.projectName)??[]}function _o(y){if(he.value)return ma(y);if(qn(y.projectName))return[];const b=ma(y);return gr(y.projectName)?b:b.slice(0,10)}function ts(y){return he.value?!1:!qn(y.projectName)&&ma(y).length>10}function ns(y){return ma(y).length>0}function Nt(y){return!!y.pendingRequestState||y.inProgress||y.unread}function va(y){return y.pendingRequestState==="approval"?"Awaiting approval":"Awaiting response"}function ga(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,lt;const b=((Re=Pe.value)==null?void 0:Re.projectName)??((lt=ke.value)==null?void 0:lt.projectName)??"";b&&!n.groups.some(Ct=>Ct.projectName===b)&&Tr();const w=new Set(y),L=Object.fromEntries(Object.entries(z.value).filter(([Ct])=>w.has(Ct)));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&&ua(y)})});const Bo=oe(()=>ce.value||j.value!==""||D.value!=="");return pt(Bo,y=>{if(y){_r();return}Fo()}),pt(D,y=>{if(!y){ca();return}Do(),Vt(()=>{wr(y)})}),Ra(()=>{for(const y of ae.values())me==null||me.unobserve(y);ae.clear(),Q.clear(),ca(),Fo(),Tr()}),(y,b)=>(k(),I("section",{class:et(["thread-tree-root",{"chats-first":g.value}])},[ln.value.length>0?(k(),I("section",NT,[Be(oo,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":l.value,onClick:mo},{left:ht(()=>[l.value?(k(),Ze(Ya,{key:1,class:"thread-icon"})):(k(),Ze(ui,{key:0,class:"thread-icon"}))]),default:ht(()=>[m("span",LT,P(S(r)("Pinned")),1)]),_:1},8,["aria-expanded"]),l.value?(k(),I("ul",OT,[(k(!0),I(Ge,null,Ot(ln.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Be(oo,{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",DT,[Nt(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ga(w)},null,8,FT)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":cn(w.id),title:cn(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[cn(w.id)?(k(),I("span",BT,"Confirm")):(k(),Ze(al,{key:1,class:"thread-icon"}))],8,UT)])]),right:ht(()=>[m("span",KT,P(vn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>sr(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>un(w.id),["stop"])},[Be(hs,{class:"thread-icon"})],8,YT)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",HT,[m("span",WT,[m("span",zT,P(w.title),1),w.hasWorktree?(k(),Ze(_s,{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:xn(w.id)}," Auto ",8,VT)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(va(w)),9,GT)):X("",!0)])])],8,qT)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,jT))),128))])):X("",!0)])):X("",!0),m("section",QT,[Be(oo,{as:"button",class:"thread-tree-header-row section-toggle-row",type:"button","aria-expanded":c.value,onClick:Lo},{left:ht(()=>[c.value?(k(),Ze(Ya,{key:1,class:"thread-icon"})):(k(),Ze(ui,{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"])},[Be(hs,{class:"thread-icon"})],8,XT),ce.value?(k(),I("div",{key:0,class:"organize-menu-panel",onClick:b[4]||(b[4]=Xe(()=>{},["stop"]))},[m("p",ZT,P(S(r)("Organize")),1),m("button",{class:"organize-menu-item","data-active":Le.value==="project",type:"button",onClick:b[0]||(b[0]=w=>re("project"))},[m("span",null,P(S(r)("By project")),1),Le.value==="project"?(k(),I("span",tk,"✓")):X("",!0)],8,ek),m("button",{class:"organize-menu-item","data-active":Le.value==="chronological",type:"button",onClick:b[1]||(b[1]=w=>re("chronological"))},[m("span",null,P(S(r)("Chronological list")),1),Le.value==="chronological"?(k(),I("span",rk,"✓")):X("",!0)],8,nk),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",ak,"✓")):X("",!0)],8,ok),b[28]||(b[28]=m("div",{class:"organize-menu-separator"},null,-1)),m("p",sk,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",lk,"✓")):X("",!0)],8,ik),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",ck,"✓")):X("",!0)],8,uk)])):X("",!0)],512)]),default:ht(()=>[m("span",JT,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",dk,P(S(r)("No matching threads")),1)):e.isLoading&&e.groups.length===0?(k(),I("p",fk,P(S(r)("Loading threads...")),1)):Cn.value?(k(),I("ul",hk,[(k(!0),I(Ge,null,Ot(Mn.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Be(oo,{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",mk,[Nt(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ga(w)},null,8,vk)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":cn(w.id),title:cn(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[cn(w.id)?(k(),I("span",yk,"Confirm")):(k(),Ze(al,{key:1,class:"thread-icon"}))],8,gk)])]),right:ht(()=>[m("span",Sk,P(vn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>sr(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>un(w.id),["stop"])},[Be(hs,{class:"thread-icon"})],8,xk)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",bk,[m("span",_k,[m("span",Tk,P(w.title),1),w.hasWorktree?(k(),Ze(_s,{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:xn(w.id)}," Auto ",8,kk)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(va(w)),9,Ck)):X("",!0)])])],8,wk)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,pk))),128))])):(k(),I("div",{key:3,ref_key:"groupsContainerRef",ref:Ee,class:"thread-tree-groups",style:Jo(Qr.value)},[(k(!0),I(Ge,null,Ot(Lt.value,w=>(k(),I("article",{key:w.projectName,ref_for:!0,ref:L=>Na(w.projectName,L),class:"project-group","data-project-name":w.projectName,"data-expanded":!qn(w.projectName),"data-dragging":es(w.projectName),style:Jo(pa(w.projectName))},[Be(oo,{as:"div",class:"project-header-row",role:"button",tabindex:"0",onClick:L=>to(w.projectName),onContextmenu:Xe(L=>Me(w.projectName),["prevent"]),onKeydown:[L=>eo(L,w.projectName),hn(Xe(L=>to(w.projectName),["prevent"]),["enter"]),hn(Xe(L=>to(w.projectName),["prevent"]),["space"])]},{left:ht(()=>[m("span",Ek,[m("span",Ik,[qn(w.projectName)?(k(),Ze(Kc,{key:0,class:"thread-icon"})):(k(),Ze(gT,{key:1,class:"thread-icon"}))]),m("span",Rk,[qn(w.projectName)?(k(),Ze(ui,{key:0,class:"thread-icon"})):(k(),Ze(Ya,{key:1,class:"thread-icon"}))])])]),right:ht(()=>[m("div",$k,[m("div",{ref_for:!0,ref:L=>la(w.projectName,L),class:"project-menu-wrap"},[m("button",{class:"project-menu-trigger",type:"button",title:"project_menu",onClick:Xe(L=>dn(w.projectName),["stop"])},[Be(hs,{class:"thread-icon"})],8,Nk),En(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=>yn(w.projectName)}," Browse files ",8,Ok),e.projectGitRepoByName[w.projectName]?(k(),I("button",{key:0,class:"project-menu-item",type:"button",onClick:L=>Jn(w.projectName)}," New worktree ",8,jk)):X("",!0),m("button",{class:"project-menu-item",type:"button",onClick:L=>vt(w)}," Rename project ",8,Dk),m("button",{class:"project-menu-item project-menu-item-danger",type:"button",onClick:L=>fn(w.projectName)}," Remove ",8,Fk)],64)):(k(),I(Ge,{key:1},[m("label",Uk,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=>Zr(w.projectName)},null,40,Bk),[[sn,_e.value]])],64))],8,Lk)):X("",!0)],512),m("button",{class:"thread-start-button",type:"button","aria-label":mr(w.projectName),title:mr(w.projectName),onClick:Xe(L=>Kn(w.projectName),["stop"])},[Be(js,{class:"thread-icon"})],8,qk)])]),default:ht(()=>[m("span",{class:"project-main-button","data-dragging-handle":es(w.projectName),onMousedown:Xe(L=>wo(L,w.projectName),["left"])},[m("span",{class:"project-title",title:qr(w.projectName)},P(Hr(w)),9,Mk)],40,Pk)]),_:2},1032,["onClick","onContextmenu","onKeydown"]),ns(w)?(k(),I("ul",Hk,[(k(!0),I(Ge,null,Ot(_o(w),L=>(k(),I("li",{key:L.id,class:"thread-row-item","data-menu-open":Kt(L.id)?"true":"false"},[Be(oo,{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",zk,[Nt(L)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ga(L)},null,8,Vk)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":cn(L.id),title:cn(L.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(Re=>gt(L.id),["stop"])},[cn(L.id)?(k(),I("span",Kk,"Confirm")):(k(),Ze(al,{key:1,class:"thread-icon"}))],8,Gk)])]),right:ht(()=>[m("span",t1,P(vn(L)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:Re=>sr(L.id,Re),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(Re=>un(L.id),["stop"])},[Be(hs,{class:"thread-icon"})],8,n1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(Re=>Mt(L.id),["stop"])},[m("span",Qk,[m("span",Jk,[m("span",Xk,P(L.title),1),L.hasWorktree?(k(),Ze(_s,{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:xn(L.id)}," Auto ",8,Zk)):X("",!0),L.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":L.pendingRequestState},P(va(L)),9,e1)):X("",!0)])])],8,Yk)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,Wk))),128))])):(k(),Ze(oo,{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",r1,P(S(r)("No threads")),1)]),_:1})),ts(w)?(k(),Ze(oo,{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=>Ma(w.projectName)},P(gr(w.projectName)?"Show less":"Show more"),9,o1)]),_:2},1024)):X("",!0)],12,Ak))),128))],4))],64)):X("",!0)]),m("section",a1,[Be(oo,{as:"button",class:"section-toggle-row",type:"button","aria-expanded":h.value,onClick:Oo},{left:ht(()=>[h.value?(k(),Ze(Ya,{key:1,class:"thread-icon"})):(k(),Ze(ui,{key:0,class:"thread-icon"}))]),right:ht(()=>[m("div",i1,[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"]))},[Be(js,{class:"thread-icon"})],8,l1)])]),default:ht(()=>[m("span",s1,P(S(r)("Chats")),1)]),_:1},8,["aria-expanded"]),h.value&&Ar.value.length===0?(k(),I("p",u1,P(S(r)("No chats")),1)):h.value?(k(),I("ul",c1,[(k(!0),I(Ge,null,Ot(Gt.value,w=>(k(),I("li",{key:w.id,class:"thread-row-item","data-menu-open":Kt(w.id)?"true":"false"},[Be(oo,{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",f1,[Nt(w)?(k(),I("span",{key:0,class:"thread-status-indicator","data-state":ga(w)},null,8,h1)):X("",!0),m("button",{class:"thread-delete-button",type:"button","data-confirming":cn(w.id),title:cn(w.id)?"Confirm delete":S(r)("Delete thread"),onClick:Xe(L=>gt(w.id),["stop"])},[cn(w.id)?(k(),I("span",m1,"Confirm")):(k(),Ze(al,{key:1,class:"thread-icon"}))],8,p1)])]),right:ht(()=>[m("span",T1,P(vn(w)),1)]),"right-hover":ht(()=>[m("div",{ref_for:!0,ref:L=>sr(w.id,L),class:"thread-menu-wrap"},[m("button",{class:"thread-menu-trigger",type:"button",title:"thread_menu",onClick:Xe(L=>un(w.id),["stop"])},[Be(hs,{class:"thread-icon"})],8,k1)],512)]),default:ht(()=>[m("button",{class:"thread-main-button",type:"button",onClick:Xe(L=>Mt(w.id),["stop"])},[m("span",g1,[m("span",y1,[m("span",w1,P(w.title),1),w.hasWorktree?(k(),Ze(_s,{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:xn(w.id)}," Auto ",8,b1)):X("",!0),w.pendingRequestState?(k(),I("span",{key:2,class:"thread-row-request-chip","data-state":w.pendingRequestState},P(va(w)),9,_1)):X("",!0)])])],8,v1)]),_:2},1032,["data-active","data-pinned","data-menu-open","force-right-hover","onClick","onMouseleave","onContextmenu"])],8,d1))),128))])):X("",!0),h.value&&Dr.value?(k(),Ze(oo,{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:ia},P(f.value?"Show less":"Show more"),1)]),_:1})):X("",!0)]),(k(),Ze(Ga,{to:"body"},[Zt.value?(k(),I("div",{key:0,ref_key:"openThreadMenuPanelRef",ref:ye,class:"thread-menu-panel thread-menu-panel-fixed",style:Jo(be.value),"data-open-direction":$r(Zt.value.id),onClick:b[16]||(b[16]=Xe(()=>{},["stop"]))},[m("button",{class:"thread-menu-item",type:"button",onClick:b[8]||(b[8]=w=>An(Zt.value.id))},P(Ht(Zt.value.id)?"Manage automations…":"Add automation…"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[9]||(b[9]=w=>go(Zt.value.id))}," Browse files "),m("button",{class:"thread-menu-item",type:"button",onClick:b[10]||(b[10]=w=>Ft(Zt.value.id))}," Copy path "),m("button",{class:"thread-menu-item",type:"button",onClick:b[11]||(b[11]=w=>Fr(Zt.value.id))}," Export chat "),m("button",{class:"thread-menu-item",type:"button",onClick:b[12]||(b[12]=w=>jn(Zt.value.id))}," Create chat fork "),m("button",{class:"thread-menu-item",type:"button",onClick:b[13]||(b[13]=w=>tn(Zt.value.id))},P(nr(Zt.value.id)?"Unpin thread":"Pin thread"),1),m("button",{class:"thread-menu-item",type:"button",onClick:b[14]||(b[14]=w=>pn(Zt.value.id,Zt.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=>Ur(Zt.value.id,Zt.value.title))},P(S(r)("Delete thread")),1)],12,C1)):X("",!0)])),(k(),Ze(Ga,{to:"body"},[Ne.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(or,["self"])},[m("div",S1,[m("h3",x1,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=>ge.value=w),class:"rename-thread-input",type:"text",placeholder:"Add title...",onKeydown:[hn(Xe(Yn,["prevent"]),["enter"]),hn(Xe(or,["prevent"]),["esc"])]},null,40,A1),[[sn,ge.value]]),m("div",E1,[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:Yn},P(S(r)("Save")),1)])])])):X("",!0)])),(k(),Ze(Ga,{to:"body"},[se.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(gn,["self"])},[m("div",I1,[m("h3",R1,P(Er.value?"Archive chat and remove automations?":"Delete thread?"),1),m("p",P1,[Er.value?(k(),I(Ge,{key:0},[Za(' This will archive the thread "'+P(Fe.value)+'" and remove the attached heartbeat automations. ',1)],64)):(k(),I(Ge,{key:1},[Za(' This will archive the thread "'+P(Fe.value)+'". You can find it later in archived threads. ',1)],64))]),m("div",M1,[m("button",{class:"rename-thread-button",type:"button",onClick:gn},"Cancel"),m("button",{class:"rename-thread-button rename-thread-button-danger",type:"button",onClick:Rr},P(Er.value?"Archive and remove":"Delete"),1)])])])):X("",!0)])),(k(),Ze(Ga,{to:"body"},[Ke.value?(k(),I("div",{key:0,class:"rename-thread-overlay",onClick:Xe(Pr,["self"])},[m("div",$1,[m("h3",N1,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)),wt.value.length>0?(k(),I("div",L1,[(k(!0),I(Ge,null,Ot(wt.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,O1))),128)),m("button",{class:"automation-thread-list-item automation-thread-list-add",type:"button",onClick:mn}," Add another automation ")])):X("",!0),m("label",j1,[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),[[sn,rt.value.name]])]),m("label",D1,[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),[[sn,rt.value.prompt]])]),m("div",F1,[b[38]||(b[38]=m("span",{class:"automation-thread-label"},"Schedule",-1)),m("div",U1,[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",B1,[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),[[sn,We.value.dailyTime]])])):We.value.mode==="interval"?(k(),I("div",q1,[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),[[sn,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),[[ff,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:Ir},null,544)),[[sn,rt.value.rrule]]):X("",!0),m("p",H1,P(J.value),1)]),m("label",W1,[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",z1,P(S(r)("Active")),1),m("option",V1,P(S(r)("Paused")),1)],512),[[ff,rt.value.status]])]),Je.value?(k(),I("p",G1,P(Je.value),1)):Ue.value?(k(),I("p",K1,P(Ue.value),1)):X("",!0),m("div",Y1,[Qe.value==="edit"?(k(),I("button",{key:0,class:"rename-thread-button",type:"button",disabled:ze.value||ft.value,onClick:Qn},P(ft.value?"Running…":"Run now"),9,Q1)):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,J1)):X("",!0),m("button",{class:"rename-thread-button",type:"button",disabled:ze.value||ft.value,onClick:Pr},P(S(r)("Cancel")),9,X1),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,Z1)])])])):X("",!0)]))],2))}}),nC=St(tC,[["__scopeId","data-v-26b01493"]]),rC={class:"content-header"},oC=["title"],aC={class:"content-actions"},sC=Gn({__name:"ContentHeader",props:{title:{},accent:{type:Boolean}},setup(e){return(t,n)=>(k(),I("header",rC,[m("div",{class:et(["content-leading",{"is-accent":e.accent}])},[Mo(t.$slots,"leading",{},void 0)],2),m("h1",{class:et(["content-title",{"is-accent":e.accent}]),title:e.title},P(e.title),11,oC),m("div",aC,[Mo(t.$slots,"actions",{},void 0)])]))}}),iC=St(sC,[["__scopeId","data-v-f96f7210"]]),ah=.0025,Fu=3,sh=2,lC=256;function uC(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+sh))),Je=_.slice(-Qe),Ue=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-Ue]??0,J=Math.max(.08,Math.min(1,We*18))*ze,Ee=rt*(Fu+sh);Ae.globalAlpha=We<=ah?.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<ah?0:Qe}_.push($e/Ke.length),_.length>lC&&_.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 Ue=Ae.split(/[/;]/)[1]??"webm",ze=new FormData;ze.append("file",Fe,`codex.${Ue}`);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 wt=null;try{wt=We.trim()?JSON.parse(We):null}catch{wt=null}if(!rt.ok){const Ee=(xe=wt==null?void 0:wt.error)==null?void 0:xe.trim(),ke=We.trim();throw new Error(Ee||ke||`Transcription failed: ${rt.status}`)}const J=((wt==null?void 0:wt.text)??"").trim();J.length>0?e.onTranscript(J):(Qe=e.onEmpty)==null||Qe.call(e)}catch(Ue){if(Ue instanceof DOMException&&Ue.name==="AbortError")return;(Je=e.onError)==null||Je.call(e,Ue)}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=[]}Ra(()=>{_e()});function ge(){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:ge,cancel:_e}}const cC={},dC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function fC(e,t){return k(),I("svg",dC,[...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 hC=St(cC,[["render",fC]]),pC={},mC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function vC(e,t){return k(),I("svg",mC,[...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 vl=St(pC,[["render",vC]]),gC={},yC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function wC(e,t){return k(),I("svg",yC,[...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 bC=St(gC,[["render",wC]]),_C={},TC={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function kC(e,t){return k(),I("svg",TC,[...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 ih=St(_C,[["render",kC]]),CC=["title","aria-label","disabled"],SC={key:1,class:"composer-dropdown-value"},xC={class:"composer-dropdown-menu"},AC={key:0,class:"composer-dropdown-search-wrap"},EC=["placeholder","onKeydown"],IC={class:"composer-dropdown-options",role:"listbox"},RC=["onClick"],PC={key:0,class:"composer-dropdown-empty"},MC=Gn({__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=oe(()=>{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=oe(()=>n.openDirection??"down"),f=oe(()=>n.iconOnly===!0),g=oe(()=>n.enableSearch===!0),_=oe(()=>{var Z;return((Z=n.searchPlaceholder)==null?void 0:Z.trim())||"Quick search projects"}),R=oe(()=>{var Z;return((Z=n.emptyLabel)==null?void 0:Z.trim())||"No results"}),O=oe(()=>{var Z;return c.value||((Z=n.placeholder)==null?void 0:Z.trim())||"Select option"}),B=oe(()=>{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()})}),oa(()=>{window.addEventListener("pointerdown",K)}),Ra(()=>{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",SC,P(c.value),1)),Be(Ya,{class:"composer-dropdown-chevron"})],8,CC),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",xC,[g.value?(k(),I("div",AC,[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:hn(Xe(D,["prevent"]),["esc"])},null,40,EC),[[sn,l.value]])])):X("",!0),m("ul",IC,[(k(!0),I(Ge,null,Ot(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,RC)]))),128)),B.value.length===0?(k(),I("li",PC,P(R.value),1)):X("",!0)])])],2)):X("",!0)],512))}}),Ts=St(MC,[["__scopeId","data-v-5243a93d"]]),$C=["disabled"],NC={class:"search-dropdown-value"},LC={class:"search-dropdown-search-wrap"},OC={class:"search-dropdown-search-row"},jC=["placeholder","onKeydown"],DC=["aria-label","title"],FC={key:0,class:"search-dropdown-list",role:"listbox"},UC=["onPointerenter"],BC=["onClick"],qC={class:"search-dropdown-option-check"},HC=["title"],WC={class:"search-dropdown-option-copy"},zC={class:"search-dropdown-option-label-row"},VC={class:"search-dropdown-option-label"},GC={key:0,class:"search-dropdown-option-type"},KC={key:0,class:"search-dropdown-option-desc"},YC=["aria-label","title","onClick"],QC={key:1,class:"search-dropdown-empty"},JC=Gn({__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}=Pa(),_=oe(()=>n.openDirection??"down"),R=oe(()=>new Set(n.selectedValues)),O=oe(()=>{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=oe(()=>{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(),ge=window.innerWidth,Se=window.innerHeight,se=Math.min(384,ge-16),Ae=Math.max(8,Math.min(G.right-se,ge-se-8));if(ge<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 ge=_e.target;ge instanceof Node&&(Ne.contains(ge)||G!=null&&G.contains(ge)||(l.value=!1))}pt(c,()=>{h.value=0});function fe(){l.value&&te()}return oa(()=>{window.addEventListener("pointerdown",be),window.addEventListener("resize",fe),window.addEventListener("scroll",fe,!0)}),Ra(()=>{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",NC,P(O.value),1),Be(Ya,{class:"search-dropdown-chevron"})],8,$C),(k(),Ze(Ga,{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:Jo(f.value)},[m("div",LC,[m("div",OC,[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]=hn(Xe(G=>l.value=!1,["prevent"]),["escape"])),hn(Xe(Z,["prevent"]),["enter"]),Ne[2]||(Ne[2]=hn(Xe(G=>K(1),["prevent"]),["arrow-down"])),Ne[3]||(Ne[3]=hn(Xe(G=>K(-1),["prevent"]),["arrow-up"]))]},null,40,jC),[[sn,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,DC)):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",FC,[(k(!0),I(Ge,null,Ot(B.value,(G,ge)=>(k(),I("li",{key:G.value},[m("div",{class:et(["search-dropdown-option",{"is-selected":R.value.has(G.value),"is-highlighted":ge===h.value}]),onPointerenter:Se=>h.value=ge},[m("button",{class:"search-dropdown-option-main",type:"button",onClick:Se=>D(G)},[m("span",qC,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,HC)):X("",!0),m("span",WC,[m("span",zC,[m("span",VC,P(G.label),1),G.badgeLabel?(k(),I("span",GC,P(G.badgeLabel),1)):X("",!0)]),G.description?(k(),I("span",KC,P(G.description),1)):X("",!0)])],8,BC),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,YC)):X("",!0)],42,UC)]))),128))])):(k(),I("div",QC,P(S(g)("No results")),1))],6)):X("",!0)]))],512))}}),XC=St(JC,[["__scopeId","data-v-65ed7fdf"]]),ZC={key:0,class:"thread-composer-dictation-error"},eS={key:0,class:"thread-composer-attachments"},tS=["src","alt"],nS=["aria-label","disabled","onClick"],rS={key:1,class:"thread-composer-folder-chips"},oS=["title"],aS={class:"thread-composer-folder-chip-meta"},sS=["aria-label","disabled","onClick"],iS={key:2,class:"thread-composer-file-chips"},lS=["title"],uS=["aria-label","disabled","onClick"],cS={key:3,class:"thread-composer-skill-chips"},dS=["title","aria-label","onClick"],fS=["aria-label","onClick"],hS={key:0,class:"thread-composer-drop-overlay","aria-hidden":"true"},pS={key:1,class:"thread-composer-file-mentions"},mS=["onMousedown"],vS={key:1,class:"thread-composer-file-mention-icon-markdown"},gS={class:"thread-composer-file-mention-text"},yS={class:"thread-composer-file-mention-name"},wS={key:0,class:"thread-composer-file-mention-dir"},bS={key:1,class:"thread-composer-file-mention-empty"},_S=["placeholder","disabled"],TS=["aria-label","disabled"],kS={key:0,class:"thread-composer-attach-menu"},CS=["disabled"],SS=["disabled"],xS=["disabled"],AS={class:"thread-composer-attach-mode"},ES={class:"thread-composer-attach-mode-label"},IS={class:"thread-composer-attach-mode-buttons"},RS=["disabled"],PS=["disabled"],MS=["aria-checked","aria-label","disabled"],$S={class:"thread-composer-attach-setting-copy"},NS={class:"thread-composer-attach-setting-label"},LS={class:"thread-composer-attach-setting-description"},OS=["aria-checked","aria-label","disabled"],jS={class:"thread-composer-attach-setting-copy"},DS={class:"thread-composer-attach-setting-label"},FS={class:"thread-composer-attach-setting-description"},US={key:0,class:"thread-composer-dictation-waveform-wrap","aria-hidden":"true"},BS={key:1,class:"thread-composer-dictation-timer"},qS=["aria-label","title","disabled"],HS=["aria-label","title","disabled"],WS={key:0,class:"thread-composer-stop-spinner","aria-hidden":"true"},zS=["aria-label","title","disabled"],VS=["disabled"],GS=["disabled"],KS=["disabled"],YS=2e3,Uu="prompt:",QS="codex-web-local.thread-draft.v1.",JS=Gn({__name:"ThreadComposer",props:{activeThreadId:{},cwd:{},collaborationModes:{},selectedCollaborationMode:{},models:{},selectedModel:{},selectedReasoningEffort:{},selectedSpeedMode:{},skills:{},threadTokenUsage:{},codexQuota:{},isTurnInProgress:{type:Boolean},isStopPending:{type:Boolean},isInterruptingTurn:{type:Boolean},isUpdatingSpeedMode:{type:Boolean},disabled:{type:Boolean},hasQueueAbove:{type:Boolean},sendWithEnter:{type:Boolean},inProgressSubmitMode:{},dictationClickToToggle:{type:Boolean},dictationAutoSend:{type:Boolean},dictationLanguage:{}},emits:["submit","interrupt","update:selected-collaboration-mode","update:selected-model","update:selected-reasoning-effort","update:selected-speed-mode"],setup(e,{expose:t,emit:n}){const r=e,a=n,{t:o}=Pa(),s=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}=uC({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),ge=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 Ue=0,ze=null,ft=!1,rt=0,We=0;const wt=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=oe(()=>r.models.map(E=>({value:E,label:ke(E)}))),Ye=oe(()=>r.selectedCollaborationMode==="plan"),A=oe(()=>r.selectedCollaborationMode==="plan"&&r.selectedModel.trim().length===0),$=oe(()=>c.value.map(E=>E.path)),z=oe(()=>[...(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=oe(()=>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=oe(()=>s.value.trim().length>0||l.value.length>0||c.value.length>0||f.value.length>0||g.value.length>0),ie=oe(()=>{const E=new Set;for(const U of g.value)for(const re of U.filePaths)E.add(re);return f.value.filter(U=>!E.has(U.fsPath))}),pe=oe(()=>r.disabled||!r.activeThreadId),Te=oe(()=>r.disabled||!r.activeThreadId),ye=oe(()=>/^gpt-5\.(?:4|5)(?:$|-)/.test(r.selectedModel.trim())),ce=oe(()=>r.selectedSpeedMode==="fast"&&ye.value),Le=oe(()=>pe.value||r.isUpdatingSpeedMode===!0),me=oe(()=>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=oe(()=>r.inProgressSubmitMode==="steer"?"steer":"queue"),Oe=x(je.value),at=oe(()=>te.value==="recording"),F=oe(()=>te.value==="recording"?o("Stop dictation"):r.dictationClickToToggle?o("Click to dictate"):o("Hold to dictate")),q=oe(()=>te.value==="idle"?_.value.trim():""),W=oe(()=>{const E=Math.max(0,Math.floor(D.value/1e3)),U=Math.floor(E/60),re=E%60;return`${U}:${String(re).padStart(2,"0")}`}),ne=oe(()=>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=oe(()=>s.value.trim().length>0||l.value.length>0||f.value.length>0);function we(E="steer"){var re;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}),Ar(r.activeThreadId),dt(),g.value=[],Fe.value=!1,gn(),wt||Ae.value){(re=se.value)==null||re.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,re)=>({id:`queued-${Date.now()}-${re}-${Math.random().toString(36).slice(2,8)}`,name:`Image ${re+1}`,url:U})),c.value=E.skills.map(U=>(r.skills??[]).find(re=>re.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,gn(),We+=1}function dt(){st({text:"",imageUrls:[],fileAttachments:[],skills:[]})}function Lt(E){return`${QS}${E}`}function Cn(E){if(typeof window>"u")return null;const U=E.trim();if(!U)return null;try{const re=window.localStorage.getItem(Lt(U));if(!re)return null;const De=JSON.parse(re);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 re=E.trim();if(re)try{if(U.text.trim().length>0||U.imageUrls.length>0||U.fileAttachments.length>0||U.skills.length>0){window.localStorage.setItem(Lt(re),JSON.stringify(U));return}window.localStorage.removeItem(Lt(re))}catch{}}function Ar(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 Dr(){a("interrupt")}function $n(E){a("update:selected-model",E)}function Er(){a("update:selected-collaboration-mode",Ye.value?"default":"plan")}function hr(E){a("update:selected-reasoning-effort",E)}function Yr(){Le.value||a("update:selected-speed-mode",r.selectedSpeedMode==="fast"?"standard":"fast")}function sa(){r.dictationClickToToggle&&(_.value&&(_.value=""),fe())}function Zt(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",ln),window.addEventListener("pointercancel",ln),window.addEventListener("blur",ln),Z()}function ln(){r.dictationClickToToggle||ft&&(ft=!1,window.removeEventListener("pointerup",ln),window.removeEventListener("pointercancel",ln),window.removeEventListener("blur",ln),be())}function mo(){pe.value||(Fe.value=!Fe.value)}function Lo(){var E;(E=G.value)==null||E.click()}function Oo(){var E;(E=ge.value)==null||E.click()}function nt(){var E;(E=Se.value)==null||E.click()}function en(E){l.value=l.value.filter(U=>U.id!==E)}function Qt(E){c.value=c.value.filter(U=>U.path!==E)}function Qr(E){const U=E.trim();return U?U.endsWith("/SKILL.md")?U:`${U.replace(/\/+$/,"")}/SKILL.md`:""}function Jt(E){const U=Qr(E.path);!U||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(U)}`,"_blank","noopener,noreferrer")}function vn(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 re=new Set(U.filePaths);f.value=f.value.filter(De=>!re.has(De.fsPath)),g.value=g.value.filter(De=>De.id!==E)}function Sn(E){return E.total<=0?0:Math.round(E.processed/E.total*100)}function tn(E,U){const re=E.replace(/\\/g,"/");if(f.value.some(Yt=>Yt.fsPath===re))return;const De=re.split("/").filter(Boolean),mt=(U==null?void 0:U.trim())||De[De.length-1]||re;f.value=[...f.value,{label:mt,path:re,fsPath:re}]}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 xn(E){return E!==We?!1:(R.value+=1,!0)}function rr(E){E===We&&(R.value=Math.max(0,R.value-1))}function vo(E){if(E<=0)return;const U=O.value,re=U?U.succeeded+U.failed:0;if(!U||re>=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 jo(){return`${Date.now()}-${Math.random().toString(36).slice(2)}`}function Jr(E){const U=new Date,re=[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-${re}.${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 Xr(E){return E.name.trim()?E:new File([E],Jr(E),{type:E.type||"image/png",lastModified:Date.now()})}async function Ln(E,U){if(xn(U))try{const re=Xr(E),De=await Du(re);if(U!==We)return;if(!De){pr("failure");return}l.value=[...l.value,{id:jo(),name:re.name,url:`/codex-local-image?path=${encodeURIComponent(De)}`}],pr("success")}catch{U===We&&pr("failure")}finally{rr(U)}}async function Ir(E,U){if(xn(U))try{const re=await Du(E);if(U!==We)return;if(!re){pr("failure");return}tn(re),pr("success")}catch{U===We&&pr("failure")}finally{rr(U)}}function On(E){const U=Ht(E);if(U.length===0)return;vo(U.length),Fe.value=!1,gn();const re=We;for(const De of U)Mt(De)?Ln(De,re):Ir(De,re)}function Fr(){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,re=Array.from(E),mt=(re[0].webkitRelativePath||re[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:re.length,processed:0,filePaths:[],isUploading:!0}];const dn=Me=>{U===Je.value&&(g.value=g.value.map(Ce=>Ce.id===Yt?Me(Ce):Ce))};for(const Me of re)try{const Ce=await Du(Me);if(U!==Je.value)return;if(Ce){const vt=Me.webkitRelativePath||Me.name;tn(Ce,vt),dn(yn=>({...yn,processed:yn.processed+1,filePaths:[...yn.filePaths,Ce]}));continue}dn(vt=>({...vt,processed:vt.processed+1}))}catch{dn(Ce=>({...Ce,processed:Ce.processed+1}))}dn(Me=>({...Me,isUploading:!1}))}function Kn(E){E&&(E.value="")}function go(E){const U=E.target;On((U==null?void 0:U.files)??null),Kn(U),Fe.value=!1}function Ft(E){const U=E.target;On((U==null?void 0:U.files)??null),Kn(U),Fe.value=!1}function Dn(E){const U=E.target;mr((U==null?void 0:U.files)??null),Kn(U),Fe.value=!1}function Kt(E){pe.value||!jn(E.dataTransfer)||(E.preventDefault(),rt+=1,B.value=!0)}function xt(E){pe.value||!jn(E.dataTransfer)||(E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect="copy"),B.value=!0)}function un(E){B.value&&(E.preventDefault(),rt=Math.max(0,rt-1),rt===0&&Fr())}function Ut(E){var U;pe.value||!jn(E.dataTransfer)||(E.preventDefault(),Fr(),On(((U=E.dataTransfer)==null?void 0:U.files)??null))}function pn(){!B.value&&rt===0||Fr()}function or(E){var Yt,dn;if(pe.value)return;const U=((Yt=E.clipboardData)==null?void 0:Yt.getData("text/plain"))??"";if(U.length>=YS){E.preventDefault();const Me=new File([U],Nn(),{type:"text/plain",lastModified:Date.now()});On([Me]);return}const re=Array.from(((dn=E.clipboardData)==null?void 0:dn.items)??[]);if(re.length===0)return;const De=U.length>0,mt=re.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 Yn(){_.value&&(_.value=""),Rr()}function Ur(E){if(xe.value){if(E.key==="Escape"){E.preventDefault(),gn();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 re=$e.value.length;Qe.value=(Qe.value+re-1)%re}return}if(E.key==="Enter"||E.key==="Tab"){E.preventDefault();const re=$e.value[Qe.value];re?gt(re):gn();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 gn(){xe.value=!1,qe.value=null,Ke.value="",$e.value=[],Qe.value=0}function Rr(){const E=se.value;if(!E){gn();return}const U=E.selectionStart??s.value.length,De=s.value.slice(0,U).match(/(^|\s)(@[^\s@]*)$/);if(!De){gn();return}const mt=De[2]??"",Yt=mt.length,dn=U-Yt;qe.value=dn,Ke.value=mt.slice(1),xe.value=!0,cn()}async function cn(){if(!xe.value)return;const E=(r.cwd??"").trim();if(!E){$e.value=[];return}ze&&clearTimeout(ze);const U=++Ue;ze=setTimeout(async()=>{try{const re=await O_(E,Ke.value,20);if(!xe.value||U!==Ue)return;$e.value=re,Qe.value=0}catch{if(!xe.value||U!==Ue)return;$e.value=[]}},120)}function gt(E){const U=se.value,re=qe.value;if(re!==null&&U){const De=U.selectionStart??s.value.length;s.value=`${s.value.slice(0,re)}${s.value.slice(De)}`.trimEnd()}tn(E.path),gn(),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 An(E){const U=E.trim();U&&(_e(),s.value.trim().length>0?s.value=`${s.value.trimEnd()}
49
- ${U}`:s.value=U,Vt(()=>{var re;return(re=se.value)==null?void 0:re.focus()}))}async function mn(){h.value=await Y_()}function Bt(E){return`${Uu}${E}`}function Pr(E){return E.startsWith(Uu)?E.slice(Uu.length):null}async function Mr(){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 re=await Q_(E,U);re&&(await mn(),An(re.content))}async function Fn(E){const U=Pr(E)??E,re=h.value.find(Yt=>Yt.path===U);!window.confirm(re?`${o("Remove prompt")} "${re.name}"?`:o("Remove prompt"))||!await J_(U)||await mn()}function Br(E){const U=h.value.find(re=>re.path===E);U&&An(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 Qn(E){const U=vr(E),re=U.lastIndexOf(".");return re<=0?"":U.slice(re+1).toLowerCase()}function $t(E){const U=Qn(E);return U==="ts"?"TS":U==="tsx"?"TSX":U==="js"?"JS":U==="jsx"?"JSX":U==="json"?"{}":""}function Bn(E){const U=Qn(E);return U.startsWith("ts")?"ts":U.startsWith("js")?"js":U==="json"?"json":"default"}function qr(E){const U=Qn(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 Hr(E,U){const re=Pr(E);if(re){Br(re);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 En(E){if(!Fe.value)return;const U=Ne.value;if(!U)return;const re=E.target;!re||U.contains(re)||(Fe.value=!1)}return oa(()=>{document.addEventListener("click",En),window.addEventListener("drop",pn),window.addEventListener("dragend",pn),window.addEventListener("blur",pn),mn()}),t({hydrateDraft:Tt,appendTextToDraft:An,hasUnsavedDraft:()=>Q.value}),Ra(()=>{document.removeEventListener("click",En),window.removeEventListener("drop",pn),window.removeEventListener("dragend",pn),window.removeEventListener("blur",pn),window.removeEventListener("pointerup",ln),window.removeEventListener("pointercancel",ln),window.removeEventListener("blur",ln),ze&&clearTimeout(ze)}),pt(()=>r.activeThreadId,E=>{_e(),J&&Mn(J,Gt()),dt();const U=Cn(E);U&&(st(U),Yn()),J=E.trim()},{immediate:!0}),pt([s,l,f,c],()=>{J&&Mn(J,Gt())},{deep:!0}),pt(()=>r.cwd,()=>{xe.value&&cn()}),pt(je,E=>{Oe.value=E}),(E,U)=>(k(),I("form",{class:"thread-composer",onSubmit:U[4]||(U[4]=Xe(re=>we(e.isTurnInProgress?Oe.value:"steer"),["prevent"]))},[q.value?(k(),I("p",ZC,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",eS,[(k(!0),I(Ge,null,Ot(l.value,re=>(k(),I("div",{key:re.id,class:"thread-composer-attachment"},[m("img",{class:"thread-composer-attachment-image",src:re.url,alt:re.name||"Selected image"},null,8,tS),m("button",{class:"thread-composer-attachment-remove",type:"button","aria-label":`Remove ${re.name||"image"}`,disabled:pe.value,onClick:De=>en(re.id)}," x ",8,nS)]))),128))])):X("",!0),g.value.length>0?(k(),I("div",rS,[(k(!0),I(Ge,null,Ot(g.value,re=>(k(),I("span",{key:re.id,class:"thread-composer-folder-chip"},[Be(Kc,{class:"thread-composer-folder-chip-icon"}),m("span",{class:"thread-composer-folder-chip-name",title:re.name},P(re.name),9,oS),m("span",aS,[re.isUploading?(k(),I(Ge,{key:0},[Za(P(Sn(re))+"% uploading ("+P(re.processed)+"/"+P(re.total)+") ",1)],64)):(k(),I(Ge,{key:1},[Za(P(re.filePaths.length)+" file"+P(re.filePaths.length===1?"":"s"),1)],64))]),m("button",{class:"thread-composer-folder-chip-remove",type:"button","aria-label":`Remove folder ${re.name}`,disabled:pe.value,onClick:De=>nr(re.id)},"×",8,sS)]))),128))])):X("",!0),ie.value.length>0?(k(),I("div",iS,[(k(!0),I(Ge,null,Ot(ie.value,re=>(k(),I("span",{key:re.fsPath,class:"thread-composer-file-chip"},[Be(js,{class:"thread-composer-file-chip-icon"}),m("span",{class:"thread-composer-file-chip-name",title:re.fsPath},P(re.label),9,lS),m("button",{class:"thread-composer-file-chip-remove",type:"button","aria-label":`Remove ${re.label}`,disabled:pe.value,onClick:De=>vn(re.fsPath)},"×",8,uS)]))),128))])):X("",!0),c.value.length>0?(k(),I("div",cS,[(k(!0),I(Ge,null,Ot(c.value,re=>(k(),I("span",{key:re.path,class:"thread-composer-skill-chip"},[m("button",{class:"thread-composer-skill-chip-name",type:"button",title:Qr(re.path),"aria-label":`Open ${re.displayName||re.name} SKILL.md`,onClick:De=>Jt(re)},P(re.displayName||re.name),9,dS),m("button",{class:"thread-composer-skill-chip-remove",type:"button","aria-label":`Remove skill ${re.displayName||re.name}`,onClick:De=>Qt(re.path)},"×",8,fS)]))),128))])):X("",!0),m("div",{class:et(["thread-composer-input-wrap",{"thread-composer-input-wrap--drag-active":B.value}]),onDragenter:Kt,onDragover:xt,onDragleave:un,onDrop:Ut},[B.value?(k(),I("div",hS,[...U[5]||(U[5]=[m("span",{class:"thread-composer-drop-overlay-copy"},"Drop images or files",-1)])])):X("",!0),xe.value?(k(),I("div",pS,[$e.value.length>0?(k(!0),I(Ge,{key:0},Ot($e.value,(re,De)=>(k(),I("button",{key:re.path,class:et(["thread-composer-file-mention-row",{"is-active":De===Qe.value}]),type:"button",onMousedown:Xe(mt=>gt(re),["prevent"])},[$t(re.path)?(k(),I("span",{key:0,class:et(["thread-composer-file-mention-icon-badge",`is-${Bn(re.path)}`])},P($t(re.path)),3)):qr(re.path)?(k(),I("span",vS,"↓")):(k(),Ze(js,{key:2,class:"thread-composer-file-mention-icon-file"})),m("span",gS,[m("span",yS,P(vr(re.path)),1),Un(re.path)?(k(),I("span",wS,P(Un(re.path)),1)):X("",!0)])],42,mS))),128)):(k(),I("div",bS,P(S(o)("No matching files")),1))])):X("",!0),zt(m("textarea",{ref_key:"inputRef",ref:se,"onUpdate:modelValue":U[0]||(U[0]=re=>s.value=re),class:"thread-composer-input",placeholder:ne.value,disabled:pe.value,onInput:Yn,onKeydown:Ur,onPaste:or},null,40,_S),[[sn,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:mo}," + ",8,TS),Fe.value?(k(),I("div",kS,[m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:Lo},P(S(o)("Add photos & files")),9,CS),m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:nt},P(S(o)("Add folder")),9,SS),m("button",{class:"thread-composer-attach-item",type:"button",disabled:pe.value,onClick:Oo},P(S(o)("Take photo")),9,xS),U[6]||(U[6]=m("div",{class:"thread-composer-attach-separator"},null,-1)),m("div",AS,[m("span",ES,P(S(o)("In-progress send")),1),m("div",IS,[m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Oe.value==="steer"}]),type:"button",disabled:pe.value,onClick:U[1]||(U[1]=re=>Ie("steer"))},P(S(o)("Steer")),11,RS),m("button",{class:et(["thread-composer-attach-mode-button",{"is-active":Oe.value==="queue"}]),type:"button",disabled:pe.value,onClick:U[2]||(U[2]=re=>Ie("queue"))},P(S(o)("Queue")),11,PS)])]),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:Yr},[m("span",$S,[m("span",NS,P(S(o)("Fast mode")),1),m("span",LS,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,MS)):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:Er},[m("span",jS,[m("span",DS,P(S(o)("Plan mode")),1),m("span",FS,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,OS)])):X("",!0)],512),at.value?X("",!0):(k(),I(Ge,{key:0},[Be(Ts,{class:"thread-composer-control","model-value":e.selectedModel,options:Pe.value,"selected-prefix-icon":ce.value?vl: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"]),Be(XC,{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:Hr,onCreate:Mr,onRemove:Fn},null,8,["options","selected-values","placeholder","search-placeholder","create-label","remove-label","disabled"]),Be(Ts,{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",US,[m("canvas",{ref_key:"dictationWaveformCanvasRef",ref:K,class:"thread-composer-dictation-waveform"},null,512)])):X("",!0),S(te)==="recording"?(k(),I("span",BS,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:sa,onPointerdown:Zt,onPointerup:ln,onPointercancel:ln},[S(te)==="recording"?(k(),Ze(ih,{key:0,class:"thread-composer-mic-icon thread-composer-mic-icon--stop"})):(k(),Ze(bC,{key:1,class:"thread-composer-mic-icon"}))],42,qS)):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:Dr},[e.isStopPending?(k(),I("span",WS)):(k(),Ze(ih,{key:1,class:"thread-composer-stop-icon"}))],8,HS)):(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]=re=>we(e.isTurnInProgress?Oe.value:"steer"))},[Be(hC,{class:"thread-composer-submit-icon"})],10,zS))],2)],2)],2),m("input",{ref_key:"photoLibraryInputRef",ref:G,class:"thread-composer-hidden-input",type:"file",multiple:"",disabled:pe.value,onChange:go},null,40,VS),m("input",{ref_key:"cameraCaptureInputRef",ref:ge,class:"thread-composer-hidden-input",type:"file",accept:"image/*",capture:"environment",disabled:pe.value,onChange:Ft},null,40,GS),m("input",{ref_key:"folderPickerInputRef",ref:Se,class:"thread-composer-hidden-input",type:"file",multiple:"",webkitdirectory:"",directory:"",disabled:pe.value,onChange:Dn},null,40,KS)],32))}}),lh=St(JS,[["__scopeId","data-v-9f6b9876"]]),XS={key:0,class:"thread-pending-request"},ZS={class:"thread-pending-request-title"},ex=["title"],tx={class:"thread-pending-request-approval"},nx=["aria-label"],rx=["aria-pressed","onClick"],ox={class:"thread-pending-request-option-index"},ax={class:"thread-pending-request-option-label"},sx={class:"thread-pending-request-footer thread-pending-request-footer--approval"},ix=["value","placeholder"],lx={class:"thread-pending-request-header"},ux={class:"thread-pending-request-heading"},cx={class:"thread-pending-request-eyebrow"},dx={class:"thread-pending-request-title"},fx={key:0,class:"thread-pending-request-counter"},hx={key:0,class:"thread-pending-request-preview"},px={class:"thread-pending-request-preview-code"},mx={key:1,class:"thread-pending-request-user-input"},vx={key:0,class:"thread-pending-request-question-description"},gx=["href"],yx={class:"thread-pending-request-question-title"},wx={key:0},bx={key:0,class:"thread-pending-request-question-text"},_x={key:1,class:"thread-pending-request-input-wrap"},Tx={class:"thread-pending-request-select-label"},kx=["type","value","onInput"],Cx={key:2,class:"thread-pending-request-select-wrap"},Sx={class:"thread-pending-request-select-label"},xx=["value","onChange"],Ax={key:0,value:""},Ex={value:"true"},Ix={value:"false"},Rx={key:3,class:"thread-pending-request-select-wrap"},Px={class:"thread-pending-request-select-label"},Mx=["value","onChange"],$x={key:0,value:""},Nx=["value"],Lx={key:4,class:"thread-pending-request-question-options"},Ox=["checked","onChange"],jx={class:"thread-pending-request-checkbox-label"},Dx={key:2,class:"thread-pending-request-validation-error"},Fx={class:"thread-pending-request-footer"},Ux={key:2,class:"thread-pending-request-user-input"},Bx={class:"thread-pending-request-question-title"},qx={key:0,class:"thread-pending-request-question-text"},Hx={key:1,class:"thread-pending-request-question-options"},Wx={class:"thread-pending-request-select-wrap"},zx={class:"thread-pending-request-select-label"},Vx=["value","onChange"],Gx=["value"],Kx={key:0,class:"thread-pending-request-question-description"},Yx={key:2,class:"thread-pending-request-input-wrap"},Qx={class:"thread-pending-request-select-label"},Jx=["value","placeholder","onInput"],Xx={class:"thread-pending-request-footer"},Zx={key:3,class:"thread-pending-request-actions"},eA={key:4,class:"thread-pending-request-actions"},tA=Gn({__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}=Pa();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(ne=>g(ne)).map(ne=>_(ne==null?void 0:ne.command)).find(ne=>ne.length>0);if(W)return W.replace(/\s+/g," ").trim();if(Array.isArray(F.command)){const ne=F.command.filter(he=>typeof he=="string").map(he=>he.trim()).filter(he=>he.length>0);if(ne.length>0)return ne.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),ne=((we=W==null?void 0:W[1])==null?void 0:we.trim())??q;return(ne.startsWith('"')&&ne.endsWith('"')?ne.slice(1,-1):ne).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 ne=g(q.fileChanges)??g(q.changes);if(!ne)return"";const he=Object.keys(ne).map(we=>we.trim()).filter(we=>we.length>0);return he.length===0?"":he.slice(0,3).join(", ")}return D(F)?ge(q.permissions):Z(F)?_(q.serverName)||_(q.url):""}function ge(F){const q=g(F);if(!q)return"";const W=[],ne=g(q.fileSystem),he=g(q.network),we=Array.isArray(ne==null?void 0:ne.read)?ne.read.filter(st=>typeof st=="string"):[],Ie=Array.isArray(ne==null?void 0:ne.write)?ne.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=oe(()=>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:[],ne=[];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):[];ne.push({id:Ie,header:_(we.header),question:_(we.question),isOther:we.isOther===!0,options:st})}return ne}function qe(F,q,W){const ne=Ae(F,q),he=s.value[ne];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 ne=W.target;if(!(ne instanceof HTMLSelectElement))return;const he=Ae(F,q);s.value={...s.value,[he]:ne.value}}function xe(F,q,W){const ne=W.target;if(!(ne instanceof HTMLInputElement))return;const he=Ae(F,q);l.value={...l.value,[he]:ne.value}}function Qe(F,q,W){var he,we;const ne=qe(F,q,((he=W[0])==null?void 0:he.label)||"");return((we=W.find(Ie=>Ie.label===ne))==null?void 0:we.description)??""}function Je(F,q){return`${String(F)}:${q}`}function Ue(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 ne=new URL(q),he=ne.protocol.toLowerCase();return he==="https:"||he==="http:"?ne.toString():""}catch{return""}}function ft(F){const q=g(F.params),W=g(q==null?void 0:q.requestedSchema),ne=g(W==null?void 0:W.properties);if(!ne)return[];const he=new Set(Array.isArray(W==null?void 0:W.required)?W.required.filter(we=>typeof we=="string"):[]);return Object.entries(ne).map(([we,Ie])=>rt(we,g(Ie),he.has(we))).filter(we=>we!==null)}function rt(F,q,W){if(!q)return null;const ne=_(q.title)||F,he=_(q.description),we=_(q.type);if(we==="boolean")return{key:F,label:ne,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:ne,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:ne,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:ne,description:he,required:W,kind:"singleEnum",inputType:"select",options:Ie,defaultValue:st,hasExplicitDefault:st!==null}:{key:F,label:ne,description:he,required:W,kind:"string",inputType:wt(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 ne=g(F.items);if(ne){const Ie=We(ne);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 wt(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(ne=>typeof ne=="string"):[]}function ke(F,q,W){const ne=W.target;if(!(ne instanceof HTMLInputElement)&&!(ne instanceof HTMLSelectElement))return;const he=ne.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 ne=W.target;if(!(ne instanceof HTMLSelectElement))return;let he=null;ne.value==="true"?he=!0:ne.value==="false"&&(he=!1),c.value={...c.value,[Je(F,q.key)]:he},h.value=""}function Ye(F,q,W,ne){const he=ne.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 ne=J(F.id,W);if(W.kind==="multiEnum"){const we=Array.isArray(ne)?ne:[];(we.length>0||W.required)&&(q[W.key]=we);continue}if(W.kind==="boolean"){typeof ne=="boolean"&&(q[W.key]=ne);continue}if(W.kind==="number"){const we=typeof ne=="number"?ne:Number(String(ne).trim());Number.isNaN(we)||(q[W.key]=we);continue}const he=String(ne??"").trim();(he.length>0||W.required)&&(q[W.key]=he)}return q}function Q(F){a.value=F}function ie(){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 ne=g((W=g(F.params))==null?void 0:W.permissions)??{};r("respondServerRequest",{id:F.id,result:{permissions:ne,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),ne={action:q};if(q==="accept"&&_(W==null?void 0:W.mode)==="form"){const he=z(F);if(he){h.value=he;return}ne.content=ae(F)}r("respondServerRequest",{id:F.id,result:ne})}function Le(F){var ne;const q=Fe(F),W={};for(const he of q){const we=qe(F.id,he.id,((ne=he.options[0])==null?void 0:ne.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",XS,[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",ZS,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,ex)):X("",!0),m("section",tx,[m("div",{class:"thread-pending-request-options",role:"radiogroup","aria-label":S(f)("Approval choices")},[(k(!0),I(Ge,null,Ot(se.value,(W,ne)=>(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",ox,P(ne+1)+".",1),m("span",ax,P(W.label),1)],10,rx))),128))],8,nx),m("footer",sx,[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:ie,onInput:pe,onKeydown:q[0]||(q[0]=hn(Xe(W=>ye(e.request),["prevent"]),["enter"]))},null,40,ix)],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",lx,[m("div",ux,[m("p",cx,P(fe(e.request)),1),m("p",dx,P(_e(e.request)),1)]),(e.requestCount??0)>1?(k(),I("span",fx,P(e.requestCount??0)+" pending",1)):X("",!0)]),G(e.request)?(k(),I("div",hx,[m("code",px,P(G(e.request)),1)])):X("",!0),e.request.method==="mcpServer/elicitation/request"?(k(),I("section",mx,[Ue(e.request)?(k(),I("p",vx,P(S(f)("Server"))+": "+P(Ue(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,gx)):X("",!0),(k(!0),I(Ge,null,Ot(ft(e.request),W=>(k(),I("div",{key:`${e.request.id}:${W.key}`,class:"thread-pending-request-question"},[m("p",yx,[Za(P(W.label),1),W.required?(k(),I("span",wx," *")):X("",!0)]),W.description?(k(),I("p",bx,P(W.description),1)):X("",!0),W.kind==="string"||W.kind==="number"?(k(),I("label",_x,[m("span",Tx,P(S(f)("Value")),1),m("input",{class:"thread-pending-request-input",type:W.inputType,value:String(J(e.request.id,W)??""),onInput:ne=>ke(e.request.id,W,ne)},null,40,kx)])):W.kind==="boolean"?(k(),I("label",Cx,[m("span",Sx,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:A(J(e.request.id,W)),onChange:ne=>Pe(e.request.id,W,ne)},[W.hasExplicitDefault?X("",!0):(k(),I("option",Ax,P(S(f)("Select true or false")),1)),m("option",Ex,P(S(f)("True")),1),m("option",Ix,P(S(f)("False")),1)],40,xx)])):W.kind==="singleEnum"?(k(),I("label",Rx,[m("span",Px,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:String(J(e.request.id,W)??""),onChange:ne=>ke(e.request.id,W,ne)},[W.hasExplicitDefault?X("",!0):(k(),I("option",$x,P(S(f)("Select an option")),1)),(k(!0),I(Ge,null,Ot(W.options,ne=>(k(),I("option",{key:`${e.request.id}:${W.key}:${ne.value}`,value:ne.value},P(ne.label),9,Nx))),128))],40,Mx)])):(k(),I("div",Lx,[(k(!0),I(Ge,null,Ot(W.options,ne=>(k(),I("label",{key:`${e.request.id}:${W.key}:${ne.value}`,class:"thread-pending-request-checkbox-row"},[m("input",{class:"thread-pending-request-checkbox",type:"checkbox",checked:Ee(e.request.id,W).includes(ne.value),onChange:he=>Ye(e.request.id,W,ne.value,he)},null,40,Ox),m("span",jx,P(ne.label),1)]))),128))]))]))),128)),h.value?(k(),I("p",Dx,P(h.value),1)):X("",!0),m("footer",Fx,[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",Ux,[(k(!0),I(Ge,null,Ot(Fe(e.request),W=>{var ne;return k(),I("div",{key:`${e.request.id}:${W.id}`,class:"thread-pending-request-question"},[m("p",Bx,P(W.header||W.question),1),W.question?(k(),I("p",qx,P(W.question),1)):X("",!0),W.options.length>0?(k(),I("div",Hx,[m("label",Wx,[m("span",zx,P(S(f)("Choice")),1),m("select",{class:"thread-pending-request-select",value:qe(e.request.id,W.id,((ne=W.options[0])==null?void 0:ne.label)||""),onChange:he=>$e(e.request.id,W.id,he)},[(k(!0),I(Ge,null,Ot(W.options,he=>(k(),I("option",{key:`${e.request.id}:${W.id}:${he.label}`,value:he.label},P(he.label),9,Gx))),128))],40,Vx)]),Qe(e.request.id,W.id,W.options)?(k(),I("p",Kx,P(Qe(e.request.id,W.id,W.options)),1)):X("",!0)])):X("",!0),W.isOther?(k(),I("label",Yx,[m("span",Qx,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,Jx)])):X("",!0)])}),128)),m("footer",Xx,[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",Zx,[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",eA,[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)}}),nA=St(tA,[["__scopeId","data-v-72a9d2d9"]]),rA={key:0,class:"queued-messages"},oA={class:"queued-messages-inner"},aA=["onDragstart","onDragover","onDragleave","onDrop"],sA=["aria-label","title"],iA={class:"queued-row-text"},lA={class:"queued-row-actions"},uA=["title","onClick"],cA=["title","onClick"],dA=["aria-label","title","onClick"],fA=Gn({__name:"QueuedMessages",props:{messages:{}},emits:["edit","steer","delete","reorder"],setup(e,{emit:t}){const n=t,{t:r}=Pa(),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",rA,[m("div",oA,[(k(!0),I(Ge,null,Ot(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,sA),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",iA,P(g(O)),1),m("div",lA,[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,uA),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,cA),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,dA)])],42,aA))),128))])])):X("",!0)}}),hA=St(fA,[["__scopeId","data-v-b7a3edb8"]]),pA={key:0,class:"rate-limit-status","aria-live":"polite"},mA=["title"],vA={class:"rate-limit-card-header"},gA={class:"rate-limit-card-title"},yA={key:0,class:"rate-limit-card-plan"},wA={class:"rate-limit-card-metrics"},bA={key:0,class:"rate-limit-card-footer"},_A=Gn({__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",pA,[(k(!0),I(Ge,null,Ot(e.snapshots,K=>(k(),I("div",{key:t(K),class:"rate-limit-card",title:te(K)},[m("div",vA,[m("span",gA,P(n(K)),1),K.planType?(k(),I("span",yA,P(r(K.planType)),1)):X("",!0)]),m("div",wA,[(k(!0),I(Ge,null,Ot(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",bA,P(B(K).join(" | ")),1)):X("",!0)],8,mA))),128))])):X("",!0)}}),TA=St(_A,[["__scopeId","data-v-df88906b"]]),kA=["disabled","title","aria-label"],CA={class:"header-git-trigger-label"},SA={key:0,class:"header-git-dirty-dot","aria-label":"Uncommitted changes"},xA={key:0,class:"header-git-menu-wrap"},AA={class:"header-git-menu"},EA={class:"header-git-state"},IA={class:"header-git-state-label"},RA={class:"header-git-state-value"},PA={key:0,class:"header-git-state-meta"},MA={class:"header-git-search-wrap"},$A=["onKeydown"],NA={class:"header-git-branches",role:"listbox"},LA={class:"header-git-branch-row"},OA=["aria-label","onClick"],jA=["disabled","onClick"],DA={class:"header-git-branch-name"},FA={key:0,class:"header-git-branch-meta"},UA={key:1,class:"header-git-branch-meta"},BA={key:0,class:"header-git-commits"},qA={key:0,class:"header-git-commits-empty"},HA={key:1,class:"header-git-commits-empty is-error"},WA=["disabled","title","onClick"],zA={class:"header-git-commit-top"},VA={class:"header-git-commit-meta"},GA={key:0,class:"header-git-branch-meta"},KA={class:"header-git-commit-subject"},YA={key:2,class:"header-git-commits-empty"},QA={key:0,class:"header-git-empty"},JA=Gn({__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=oe(()=>n.showReview!==!1),f=oe(()=>n.currentBranch?n.currentBranch:n.headSubject?n.headSubject:n.headSha?`Detached ${n.headSha}`:n.loading?"Loading branch...":"Detached HEAD"),g=oe(()=>n.detached?[n.headSha,n.headDate].filter(Boolean).join(" · "):""),_=oe(()=>`Git branch: ${f.value}`),R=oe(()=>n.loading&&n.branches.length===0),O=oe(()=>n.busy||n.loading),B=oe(()=>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=oe(()=>n.error?"error":"info"),j=oe(()=>{const G=l.value.trim().toLowerCase(),ge=n.branches;return G?ge.filter(Se=>Se.label.toLowerCase().includes(G)||Se.value.toLowerCase().includes(G)):ge});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 ge=((Se=n.headSha)==null?void 0:Se.trim())??"";return ge?G.sha===ge||G.shortSha===ge||G.sha.startsWith(ge):!1}function be(G,ge){return G.isRemote?"Remote branches cannot be reset from this menu":`Reset ${G.value} to ${ge.shortSha}`}function fe(G,ge){G.isRemote||r("resetBranchToCommit",{branch:G.value,sha:ge.sha})}function _e(){if(l.value){l.value="";return}s.value=!1}function Ne(G){if(!s.value)return;const ge=a.value,Se=G.target;!ge||!(Se instanceof Node)||ge.contains(Se)||(s.value=!1,l.value="")}return pt(s,G=>{G&&Vt(()=>{var ge;return(ge=o.value)==null?void 0:ge.focus()})}),oa(()=>window.addEventListener("pointerdown",Ne)),Ra(()=>window.removeEventListener("pointerdown",Ne)),(G,ge)=>(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},[Be(_s,{class:"header-git-trigger-icon"}),m("span",CA,P(f.value),1),e.dirty?(k(),I("span",SA)):X("",!0),Be(Ya,{class:"header-git-trigger-chevron"})],8,kA),s.value?(k(),I("div",xA,[m("div",AA,[h.value?(k(),I("button",{key:0,class:"header-git-review-row",type:"button",onClick:ge[0]||(ge[0]=Se=>r("toggleReview"))},[Be(js,{class:"header-git-row-icon"}),m("span",null,P(e.reviewOpen?"Review (Open)":"Review"),1)])):X("",!0),m("div",EA,[m("span",IA,P(e.detached?"Detached HEAD":"Current branch"),1),m("span",RA,P(f.value),1),g.value?(k(),I("span",PA,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",MA,[zt(m("input",{ref_key:"searchInputRef",ref:o,"onUpdate:modelValue":ge[1]||(ge[1]=Se=>l.value=Se),class:"header-git-search",type:"text",placeholder:"Search branches...",onKeydown:hn(Xe(_e,["prevent"]),["esc"])},null,40,$A),[[sn,l.value]])]),m("ul",NA,[(k(!0),I(Ge,null,Ot(j.value,Se=>(k(),I("li",{key:Se.value,class:"header-git-branch-item"},[m("div",LA,[m("button",{class:"header-git-branch-expand",type:"button","aria-label":c.value===Se.value?"Hide commits":"Show commits",onClick:se=>K(Se.value)},[Be(ui,{class:et(["header-git-expand-icon",{"is-expanded":c.value===Se.value}])},null,8,["class"])],8,OA),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",DA,P(Se.label),1),Se.value===e.currentBranch?(k(),I("span",FA,"current")):Se.isRemote?(k(),I("span",UA,"remote")):X("",!0)],10,jA)]),c.value===Se.value?(k(),I("div",BA,[e.commitsLoadingFor===Se.value?(k(),I("div",qA,"Loading commits...")):e.commitsError?(k(),I("div",HA,P(e.commitsError),1)):X("",!0),(k(!0),I(Ge,null,Ot(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",zA,[m("code",null,P(se.shortSha),1),m("span",VA,[Z(se)?(k(),I("span",GA,"current")):X("",!0),m("span",null,P(se.date),1)])]),m("span",KA,P(se.subject),1)],10,WA))),128)),e.commitsLoadingFor!==Se.value&&!e.commitsError&&(e.commitsByBranch[Se.value]||[]).length===0?(k(),I("div",YA," No commits found. ")):X("",!0)])):X("",!0)]))),128)),j.value.length===0?(k(),I("li",QA,"No branches found.")):X("",!0)])])])):X("",!0)],2))}}),XA=St(JA,[["__scopeId","data-v-5f4121b3"]]),ZA=["aria-label"],eE=["aria-checked","onClick"],tE={class:"runtime-toggle-option-label"},nE=Gn({__name:"ComposerRuntimeDropdown",props:{modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,{t:r}=Pa(),a=[{value:"local",label:r("Local project"),icon:Kc},{value:"worktree",label:r("New worktree"),icon:_s}];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,Ot(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",tE,P(c.label),1)],10,eE)),64))],8,ZA))}}),rE=St(nE,[["__scopeId","data-v-0f175c28"]]),oE={},aE={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 sE(e,t){return k(),I("svg",aE,[...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 iE=St(oE,[["render",sE]]),lE={},uE={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true"};function cE(e,t){return k(),I("svg",uE,[...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 dE=St(lE,[["render",cE]]),fE={class:"sidebar-thread-controls"},hE=["aria-label","title"],pE=["aria-label","title"],mE=Gn({__name:"SidebarThreadControls",props:{isSidebarCollapsed:{type:Boolean},showNewThreadButton:{type:Boolean}},emits:["toggle-sidebar","start-new-thread"],setup(e){const{t}=Pa();return(n,r)=>(k(),I("div",fE,[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(dE,{key:0,class:"sidebar-thread-controls-icon"})):(k(),Ze(iE,{key:1,class:"sidebar-thread-controls-icon"}))],8,hE),Mo(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"))},[Be(js,{class:"sidebar-thread-controls-icon"})],8,pE)):X("",!0)]))}}),uh=St(mE,[["__scopeId","data-v-2369affb"]]),vE={},gE={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"};function yE(e,t){return k(),I("svg",gE,[...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 ch=St(vE,[["render",yE]]),wE={},bE={xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 24 24"};function _E(e,t){return k(),I("svg",bE,[...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 TE=St(wE,[["render",_E]]),kE={},CE={viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"};function SE(e,t){return k(),I("svg",CE,[...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 xE=St(kE,[["render",SE]]),AE={},EE={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function IE(e,t){return k(),I("svg",EE,[...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 RE=St(AE,[["render",IE]]);function Sr(e){return e.flatMap(t=>t.threads)}function PE(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 km="codex-web-local.thread-read-state.v1",dh="codex-web-local.thread-unread-cutoff.v1",Cm="codex-web-local.thread-token-usage.v1",Sm="codex-web-local.thread-terminal-open.v1",mc="codex-web-local.selected-thread-id.v1",vc="codex-web-local.selected-model-by-context.v1",xm="codex-web-local.selected-model-id.v1",Am="codex-web-local.project-order.v1",Em="codex-web-local.project-display-name.v1",gc="codex-web-local.collaboration-mode-by-context.v1",ME="codex-web-local.collaboration-mode.v1",Aa="__new-thread__",Im="__new-thread-provider__::",Bu=220,$E=1e4,NE=500,LE=3e3,OE=2e3,fh=["none","minimal","low","medium","high","xhigh"],ps="__global__",ao="gpt-5.4-mini";function jE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(km);if(!e)return{};const t=JSON.parse(e);return!t||typeof t!="object"||Array.isArray(t)?{}:t}catch{return{}}}function hh(e){typeof window>"u"||window.localStorage.setItem(km,JSON.stringify(e))}function DE(){if(typeof window>"u")return"";const e=window.localStorage.getItem(dh);if(e)return e;const t=new Date().toISOString();return window.localStorage.setItem(dh,t),t}function FE(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 UE(e,t,n){return FE(e,t??n)}function Rm(e){return e==="plan"?"plan":"default"}function Ds(e){return typeof e=="string"?e.trim():""}function io(){return Object.create(null)}function ci(e){const t=io();for(const[n,r]of Object.entries(e))t[n]=r;return t}function bi(e,t){if(!(t in e))return e;const n=io();for(const[r,a]of Object.entries(e))r!==t&&(n[r]=a);return n}function ph(e,t){let n=!1;const r=io();for(const[a,o]of Object.entries(e)){if(a===Aa||a.startsWith(Im)||t.has(a)){r[a]=o;continue}n=!0}return n?r:e}function Pm(e){return e.trim().toLowerCase()||"codex"}function BE(e){return e===Aa}function qu(e){const t=Pm(e);return`${Im}${t}`}function Rs(e){return e.trim()||Aa}function qE(){if(typeof window>"u")return io();try{const n=window.localStorage.getItem(vc);if(n){const r=JSON.parse(n);if(!r||typeof r!="object"||Array.isArray(r))return io();const a=io();for(const[o,s]of Object.entries(r)){if(typeof o!="string"||o.length===0)continue;const l=Ds(s);l&&(a[o]=l)}return a}}catch{}const e=Ds(window.localStorage.getItem(xm)),t=io();return e&&(t[Aa]=e),t}function mh(e,t){const n=Rs(t),r=Ds(e[n]);return r||Ds(e[Aa])}function sl(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(xm)}catch{}}function HE(){if(typeof window>"u")return io();try{const e=window.localStorage.getItem(gc);if(e){const t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return io();const n=io();for(const[r,a]of Object.entries(t)){if(typeof r!="string"||r.length===0)continue;const o=Rm(a);o==="plan"&&(n[r]=o)}return n}}catch{}return io()}function il(e,t){const n=Rs(t);return Rm(e[n])}function vh(e,t,n){const r=Rs(t);if(BE(r))return bi(e,r);if(n==="plan"){const a=ci(e);return a[r]="plan",a}return bi(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(ME)}catch{}}function Mm(e,t,n){return Math.min(Math.max(e,t),n)}function ws(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 gh(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e;return{totalTokens:ws(t.totalTokens)??0,inputTokens:ws(t.inputTokens)??0,cachedInputTokens:ws(t.cachedInputTokens)??0,outputTokens:ws(t.outputTokens)??0,reasoningOutputTokens:ws(t.reasoningOutputTokens)??0}}function WE(e){if(!e||typeof e!="object"||Array.isArray(e))return null;const t=e,n=gh(t.total),r=gh(t.last);if(!n||!r)return null;const a=ws(t.modelContextWindow),o=r.totalTokens,s=typeof a=="number"?Math.max(a-o,0):null,l=typeof a=="number"&&a>0?Mm(Math.round((s??0)/a*100),0,100):null;return{total:n,last:r,modelContextWindow:a,currentContextTokens:o,remainingContextTokens:s,remainingContextPercent:l}}function zE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Cm);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=WE(a);o&&(n[r]=o)}return n}catch{return{}}}function yh(e){typeof window>"u"||window.localStorage.setItem(Cm,JSON.stringify(e))}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))r&&typeof a=="boolean"&&(n[r]=a);return n}catch{return{}}}function GE(e){typeof window>"u"||window.localStorage.setItem(Sm,JSON.stringify(e))}function KE(){return typeof window>"u"?"":window.localStorage.getItem(mc)??""}function YE(e){if(!(typeof window>"u")){if(!e){window.localStorage.removeItem(mc);return}window.localStorage.setItem(mc,e)}}function QE(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(Am);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=Gr(r);a.length>0&&!n.includes(a)&&n.push(a)}return n}catch{return[]}}function ii(e){typeof window>"u"||window.localStorage.setItem(Am,JSON.stringify(e))}function JE(){if(typeof window>"u")return{};try{const e=window.localStorage.getItem(Em);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"?Gr(r):"";o.length>0&&typeof a=="string"&&(n[o]=a)}return n}catch{return{}}}function wh(e){typeof window>"u"||window.localStorage.setItem(Em,JSON.stringify(e))}function ms(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 Sa(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 Sa(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 XE(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 ZE(e,t){return!e&&!t?!0:!e||!t?!1:e.status===t.status&&e.aggregatedOutput===t.aggregatedOutput&&e.exitCode===t.exitCode}function eI(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 tI(e,t){return!e&&!t?!0:!e||!t?!1:e.explanation===t.explanation&&e.isStreaming===t.isStreaming&&eI(e.steps,t.steps)}function ll(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&&Sa(e.images,t.images)&&rI(e.fileChanges,t.fileChanges)&&e.fileChangeStatus===t.fileChangeStatus&&e.messageType===t.messageType&&e.rawPayload===t.rawPayload&&e.isUnhandled===t.isUnhandled&&ZE(e.commandExecution,t.commandExecution)&&tI(e.plan,t.plan)&&e.turnId===t.turnId&&e.turnIndex===t.turnIndex&&e.isAutomationRun===t.isAutomationRun&&e.automationDisplayName===t.automationDisplayName}function ks(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function nI(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 ks(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 ks(e,h)?e:h}function rI(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 oI(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 ul(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 $m="worked";function Ta(e){if(!e)return null;const t=new Date(e).getTime();return Number.isNaN(t)?null:t}function aI(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 sI(e,t){return!e&&!t?!0:!e||!t?!1:e.turnId===t.turnId&&e.durationMs===t.durationMs}function iI(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 lI(e){return{id:`turn-summary:${e.turnId}`,role:"system",text:`Worked for ${aI(e.durationMs)}`,messageType:$m,turnId:e.turnId}}function uI(e){for(let t=e.length-1;t>=0;t-=1)if(e[t].role==="assistant")return t;return-1}function cI(e,t){const n=lI(t),r=e.filter(s=>s.messageType!==$m),a=uI(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 dI(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 fI(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 hI(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 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 on(e,t){const n=Object.entries(e).filter(([r])=>t.has(r));return n.length===Object.keys(e).length?e:Object.fromEntries(n)}function bh(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 cl(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&&fI(h,c)?h:c});return o&&o.projectName===a.projectName&&hI(o.threads,l)?o:{projectName:a.projectName,threads:l}});return pI(e,r)?e:r}function mI(e,t,n){const r=new Set(Sr(t).map(l=>l.id)),a=Sr(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 Xa(e){return Gr(e)}function vI(e){const t=e.trim();if(!t)return"";const n=t.lastIndexOf(":");return n>=0?t.slice(n+1):t}function gI(e){const t=e.label||Gr(e.remotePath),n=vI(e.hostId);return n?`${t} ${n}`:t}function Nm(e){const t=(e==null?void 0:e.remoteProjects)??[];return new Map(t.map(n=>[n.id,n]))}function Vl(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=Nm(e);return Vl(e).map(r=>{if(n.has(r))return r;const a=ot(r).trim(),o=Xa(a);return t.has(o)?a:o})}function gl(e,t){return ot(e).trim()===t||Xa(e)===t}function yI(e,t){const n=new Set;for(const r of e.order)gl(r,t)&&n.add(r);for(const r of e.active)gl(r,t)&&n.add(r);for(const r of Object.keys(e.labels))gl(r,t)&&n.add(r);return n}function wI(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 _=Xa(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 Vl(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 bI(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=Gr(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=Gr(l);Al(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=Gr(c),f=(t==null?void 0:t.order.some(g=>ot(g).trim()===c))===!0;Al(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 Al(e){return e.includes("/.codex/worktrees/")}function _I(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),Al(f)))continue;const g=Gr(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(),_=Gr(g),R=s.has(g),O=Al(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 TI(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=Nm(t);for(const s of Vl(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=Xa(l),h=n.has(c)?l:c;r.has(h)||(a.push({projectName:h,threads:[]}),r.add(h))}return a}function kI(e){const t=e.split(`
51
- `).map(n=>n.trim()).find(n=>n.length>0);return t?t.slice(0,80):"Untitled thread"}function CI(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||Sl(t.cwd))}function SI(){const e=x([]),t=x([]),n=x(KE()),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(HE()),j=x(qE()),D=x(il(te.value,n.value)),K=x(mh(j.value,n.value)),Z=x("medium"),be=x("standard"),fe=x(""),_e=x(jE()),Ne=x(DE()),G=x(QE()),ge=x(JE()),Se=x({}),se=x({}),Ae=x({}),Fe=x({}),qe=x({}),Ke=x({}),$e=x({}),xe=x({}),Qe=x({}),Je=x({}),Ue=x({}),ze=x({}),ft=x({}),rt=x(null),We=x(zE()),wt=x(VE()),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(""),ie=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,ne=!1;const he=new Set,we=new Map;let Ie=null,st=null,dt=!1,Lt=!1,Cn=[],Mn=null,Ar=!1,Gt=!1;const Dr=new Map,$n=new Set,Er=oe(()=>Sr(e.value)),hr=oe(()=>Er.value.find(i=>i.id===n.value)??null),Yr=oe(()=>{const i=n.value;return!!(i&&wt.value[i]===!0)}),sa=oe(()=>{const i=n.value;return i?Qe.value[i]===!0:!1}),Zt=oe(()=>{const i=[],d=n.value;return d&&Array.isArray(ze.value[d])&&i.push(...ze.value[d]),Array.isArray(ze.value[ps])&&i.push(...ze.value[ps]),i.sort((v,T)=>v.receivedAtIso.localeCompare(T.receivedAtIso))}),ln=oe(()=>{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}}),mo=oe(()=>rt.value),Lo=oe(()=>{const i=n.value;return i?We.value[i]??null:null}),Oo=oe(()=>{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?cI(H,Y):H});function nt(i){if(Rs(i)===Aa){const v=qu(fe.value),T=v?Ds(j.value[v]):"";if(T)return T}return mh(j.value,i).trim()}function en(...i){const d=[...O.value];for(const v of i){const T=v.trim();T&&!d.includes(T)&&d.push(T)}Sa(O.value,d)||(O.value=d)}function Qt(i){n.value!==i&&(n.value=i,YE(i),K.value=nt(i),en(K.value),D.value=il(te.value,i),Gt=!1)}function Qr(i,d){const v=d.trim(),T=Rs(i);if(v){const M=ci(j.value);M[T]=v,j.value=M}else j.value=bi(j.value,T);if(i.trim()===n.value?(K.value=nt(n.value),en(K.value)):en(v),T===Aa){const M=qu(fe.value);if(M)if(v){const N=ci(j.value);N[M]=v,j.value=N}else j.value=bi(j.value,M)}sl(j.value)}function Jt(i){Qr(n.value,i)}function vn(i,d){const v=i.trim();if(!v)return;const T=d.trim();if(T){const M=ci(j.value);M[v]=T,j.value=M}else j.value=bi(j.value,v);en(T),n.value===v&&(K.value=nt(n.value)),sl(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),yh(We.value);return}const T=We.value[v];T&&JSON.stringify(T)===JSON.stringify(d)||(We.value={...We.value,[v]:d},yh(We.value))}function Sn(i){const d=i==="plan"?"plan":"default",v=Rs(n.value);il(te.value,n.value)===d&&D.value===d||(D.value=d,te.value=vh(te.value,v,d),Hu(te.value))}function tn(i,d){const v=d==="plan"?"plan":"default";te.value=vh(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()?vn(i,ao):Jt(ao),en(ao)}function xn(i,d){ft.value={...ft.value,[i]:d}}function rr(i){ft.value[i]&&(ft.value=kt(ft.value,i))}async function vo(i){if($n.has(i))return;const d=ft.value[i];if(!(!d||d.fallbackRetried)){$n.add(i),xn(i,{...d,fallbackRetried:!0});try{await Ht(i);try{const v=await Nu(i,1);Fn(i,v),E(i),Br(i,[]),En(i),l.value[i]&&(l.value=kt(l.value,i))}catch{}Tt(i,null),Q.value="",un(i,null),gt(i,{label:"Thinking",details:Nn(ao,d.effort,d.collaborationMode)}),Ut(i,!0),Ae.value[i]!==!0&&await $u(i),await Lu(i,d.text,d.imageUrls,ao,d.effort||void 0,d.skills.length>0?d.skills:void 0,d.fileAttachments,d.collaborationMode),Ae.value={...Ae.value,[i]:!0},Ir(),he.add(i),await ro()}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&&!fh.includes(i)||(Z.value=i)}async function jo(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 f_(d)}catch(T){be.value=v,Q.value=T instanceof Error?T.message:"Failed to update Fast mode"}finally{z.value=!1}}async function Jr(){try{const i=await y_();B.value=i,i.some(d=>d.value===D.value)||Sn("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 Xr(i){try{const[d,v]=await Promise.all([mm({includeProviderModels:(i==null?void 0:i.includeProviderModels)!==!1}),vm()]),T=nt(n.value),M=v.model.trim(),N=Pm(v.providerId);fe.value=N;const H=qu(N),Y=H?Ds(j.value[H]):"",le=[...d];if(!(i!=null&&i.providerChanged))for(const Ve of[T,M])Ve&&!le.includes(Ve)&&le.push(Ve);O.value=le;const ve=T&&d.includes(T);if((!T||!ve||i!=null&&i.providerChanged)&&(i!=null&&i.providerChanged&&le.length>0?Y&&le.includes(Y)?Jt(Y):M&&le.includes(M)?Jt(M):Jt(le[0]):M&&le.includes(M)?Jt(v.model):le.length>0?Jt(le[0]):Jt("")),H&&K.value.trim().length>0){const Ve=ci(j.value);Ve[H]=K.value.trim(),j.value=Ve,sl(j.value)}v.reasoningEffort&&fh.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 J0();Mt(i),ke.value=i?[i]:[]}catch{}finally{W=null}})(),await W}function Ir(){if(typeof window>"u"){Ln();return}je!==null&&window.clearTimeout(je),je=window.setTimeout(()=>{je=null,Ln()},NE)}function On(i){if(!i||typeof window>"u")return;const d=Oe.get(i);d!==void 0&&(window.clearTimeout(d),Oe.delete(i))}function Fr(i){if(!i||typeof window>"u")return;On(i);const d=window.setTimeout(()=>{Oe.delete(i),he.add(i),ro()},LE);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 Kn(i){return i==="item/commandExecution/requestApproval"||i==="item/fileChange/requestApproval"||i==="item/permissions/requestApproval"||i==="execCommandApproval"||i==="applyPatchApproval"}function go(i){return i.some(d=>Kn(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=go(mr(T.id)),H=n.value===T.id,Y=R.value[T.id]===!0,le=UE(T.updatedAtIso,_e.value[T.id],Ne.value);return{...T,inProgress:M,unread:!H&&!M&&(Y||le),pendingRequestState:N}})}));e.value=cl(e.value,d)}function Dn(i,d,v){const T=new Date().toISOString(),M=ot(d),N=Gr(M),H={id:i,title:kI(v),projectName:N,cwd:M,hasWorktree:M.includes("/.codex/worktrees/")||M.includes("/.git/worktrees/"),createdAtIso:T,updatedAtIso:T,preview:v,unread:!1,inProgress:!1},Y=t.value.findIndex(ve=>ve.projectName===N);if(Y>=0){const Ve=t.value[Y].threads.filter(_t=>_t.id!==i),bt={projectName:N,threads:[H,...Ve]},yt=[...t.value];yt.splice(Y,1,bt),t.value=yt}else t.value=[{projectName:N,threads:[H]},...t.value];const le=ms(G.value,t.value);Sa(G.value,le)||(G.value=le,ii(G.value)),Ft()}function Kt(i){const d=new Set(i.map(le=>le.id)),v=n.value.trim();v&&d.add(v);const T=ph(j.value,d);T!==j.value&&(j.value=T,K.value=nt(n.value),en(K.value),sl(T));const M=ph(te.value,d);M!==te.value&&(te.value=M,D.value=il(M,n.value),Hu(M));const N=on(_e.value,d);N!==_e.value&&(_e.value=N,hh(N)),se.value=on(se.value,d),Se.value=on(Se.value,d),Ae.value=on(Ae.value,d),Fe.value=on(Fe.value,d),r.value=on(r.value,d),o.value=on(o.value,d),s.value=on(s.value,d),l.value=on(l.value,d),c.value=on(c.value,d),qe.value=on(qe.value,d),Ke.value=on(Ke.value,d),$e.value=on($e.value,d),xe.value=on(xe.value,d),Qe.value=on(Qe.value,d),Je.value=on(Je.value,d),Ue.value=on(Ue.value,d);const H=on(f.value,d);H!==f.value&&(f.value=H,w()),We.value=on(We.value,d),R.value=on(R.value,d),h.value=on(h.value,d);const Y={};for(const[le,ve]of Object.entries(ze.value))(le===ps||d.has(le))&&(Y[le]=ve);ze.value=Y}function xt(i){const d=Sr(t.value).find(v=>v.id===i);d&&(_e.value={..._e.value,[i]:d.updatedAtIso},hh(_e.value),R.value[i]&&(R.value=kt(R.value,i)),Ft())}function un(i,d){if(!i)return;const v=qe.value[i];if(d){if(sI(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),re(i),pn(i)),Ft(),!d&&!Ct()&&Ie&&kr())}function pn(i){i&&(Qe.value[i]&&(Qe.value=kt(Qe.value,i)),Je.value[i]&&(Je.value=kt(Je.value,i)),Ue.value[i]&&(Ue.value=kt(Ue.value,i)))}function or(i){i&&(Qe.value={...Qe.value,[i]:!0},Je.value[i]&&(Je.value=kt(Je.value,i)),Ue.value[i]&&(Ue.value=kt(Ue.value,i)))}function Yn(i){i&&Qe.value[i]===!0&&Je.value[i]===!0&&Ue.value[i]===!0&&pn(i)}function Ur(i,d){!i||!d||Qe.value[i]===!0&&pn(i)}function gn(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)Yn(M)}}function Rr(i,d){i&&Qe.value[i]===!0&&d.some(v=>v.role==="user")&&(Ue.value[i]!==!0&&(Ue.value={...Ue.value,[i]:!0}),Yn(i))}function cn(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=wr(d.label)||"Thinking",M=d.details.map(Y=>wr(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};iI(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 An(i){var d;i&&(d=$e.value[i])!=null&&d.transient&&Tt(i,null)}function mn(){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=Sr(t.value).find(v=>v.id===i);return(d==null?void 0:d.updatedAtIso)??""}function Pr(i,d){if(!i)return;const v={...wt.value};d?v[i]=!0:delete v[i],wt.value=v,GE(v)}function Mr(){const i=n.value;i&&Pr(i,!Yr.value)}function Fn(i,d){const v=r.value[i]??[];ks(v,d)||(r.value={...r.value,[i]:d})}function Br(i,d){const v=o.value[i]??[];ks(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]??[];ks(v,d)||(c.value={...c.value,[i]:d})}function Qn(i,d){const v=a.value[i]??[];ks(v,d)||(a.value={...a.value,[i]:d})}function $t(i,d){const v=a.value[i]??[],T=ul(v,d);Qn(i,T)}function Bn(i,d){const v=o.value[i]??[],T=ul(v,d);Br(i,T)}function qr(i,d){const v=c.value[i]??[],T=ul(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 Hr(i,d){if(!i)return;const v=s.value[i]??"";ar(i,`${v}${d}`)}function En(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 re(i){i&&(E(i),En(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=fn(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(le=>Me(le)).map(le=>({step:Ce(le==null?void 0:le.step),status:De(le==null?void 0:le.status)})).filter(le=>le.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 dn(i){if(i.method!=="item/plan/delta")return null;const d=Me(i.params),v=fn(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(ve=>ve.id===N),Y=`${(H==null?void 0:H.text)??""}${M}`,le=H!=null&&H.plan?{...H.plan,isStreaming:!0}:void 0;return{threadId:v,message:{id:N,role:"assistant",text:Y,messageType:"plan.live",plan:le}}}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 yn(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 Jn(i){const d=Me(i);if(!d)return null;const v=yn(d.total),T=yn(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?Mm(Math.round((H??0)/M*100),0,100):null;return{total:v,last:T,modelContextWindow:M,currentContextTokens:N,remainingContextTokens:H,remainingContextPercent:Y}}function Zr(i){if(i.method!=="thread/tokenUsage/updated")return null;const d=Me(i.params),v=fn(i),T=Jn((d==null?void 0:d.tokenUsage)??(d==null?void 0:d.token_usage));return!v||!T?null:{threadId:v,usage:T}}function fn(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 le=Me(d.turn),ve=Ce(le==null?void 0:le.threadId);if(ve)return ve;const Ve=Ce(le==null?void 0:le.thread_id);return Ve||""}function eo(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 gr(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 qn(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=Ma(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)||ps,le=Ce(N==null?void 0:N.turnId)||Ce(N==null?void 0:N.turn_id),ve=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:le,itemId:ve,receivedAtIso:Ve,params:M??null}}function Ma(i,d){const v=i.trim();return v&&(v==="item/commandExecution/requestApproval"||v==="execCommandApproval"||v==="exec_approval_request"||ia(d)?"item/commandExecution/requestApproval":v==="item/fileChange/requestApproval"||v==="applyPatchApproval"||v==="apply_patch_approval_request"||to(d)?"item/fileChange/requestApproval":v==="item/tool/requestUserInput"||v==="request_user_input"||yr(d)?"item/tool/requestUserInput":v==="mcpServer/elicitation/request"||v==="elicitation_request"||sr(d)?"mcpServer/elicitation/request":v==="item/permissions/requestApproval"||yo(d)?"item/permissions/requestApproval":v==="item/tool/call"||v==="dynamic_tool_call_request"||la(d)?"item/tool/call":v)}function ia(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 to(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 yr(i){return!!(i&&Array.isArray(i.questions))}function la(i){return i?typeof i.toolName=="string"||typeof i.tool_name=="string"||typeof i.name=="string"||Array.isArray(i.arguments):!1}function sr(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 yo(i){return i?typeof i.threadId=="string"&&typeof i.turnId=="string"&&typeof i.itemId=="string"&&Me(i.permissions)!==null:!1}function Hn(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 no(i){const d=i.threadId||ps,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 $r(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 ua(i){const d={};for(const v of i){const T=v.threadId||ps,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 $a(i){if(i.method==="server/request"){const d=qn(i.params);return d&&no(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)&&$r(v),!0}return!1}function wr(i){return i.replace(/\s+/gu," ").trim()}function Wn(i){const d=fn(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 Do(i){if(i.method!=="turn/started")return null;const d=Me(i.params);if(!d)return null;const v=fn(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=Ta(Ce(T==null?void 0:T.startedAt))??Ta(Ce(d.startedAt))??Ta(i.atIso)??Date.now();return{threadId:v,turnId:M,startedAtMs:N}}function ca(i){if(i.method!=="turn/completed")return null;const d=Me(i.params);if(!d)return null;const v=fn(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=Ta(Ce(T==null?void 0:T.completedAt))??Ta(Ce(d.completedAt))??Ta(i.atIso)??Date.now(),H=Ta(Ce(T==null?void 0:T.startedAt))??Ta(Ce(d.startedAt))??void 0;return{threadId:v,turnId:M,completedAtMs:N,startedAtMs:H}}function nn(i){return`${i}:live-reasoning`}function In(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 ir(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 da(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 br(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 _r(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 Fo(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:nn(v),delta:T}}return null}function fa(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/reasoning/summaryPartAdded"){const v=Ce(d.itemId);return v?nn(v):""}return""}function Na(i){const d=Me(i.params);if(!d)return"";if(i.method==="item/completed"){const v=Me(d.item);return!v||v.type!=="reasoning"?"":nn(Ce(v.id))}return""}function wo(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 La(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 Uo(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 Nr(i){return`/codex-local-image?path=${encodeURIComponent(i)}`}function ha(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 bo(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:[Nr(H)],messageType:"imageView"}:null}if(v.type!=="imageGeneration"&&v.type!=="image_generation")return null;const M=Ce(v.result),N=M?ha(M):"";return N?{id:T,role:"assistant",text:"",images:[N],messageType:"imageView"}:null}function Tr(i){var ve;if(i.method!=="item/started")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v||v.type!=="commandExecution")return null;const T=Ce(v.id),M=Ce(v.command);if(!T)return null;const N=typeof v.cwd=="string"?v.cwd:null,H=fn(i),Y=Ce(d==null?void 0:d.turnId)||Ce(d==null?void 0:d.turn_id),le=H&&Y?(ve=Fe.value[H])==null?void 0:ve[Y]:void 0;return{id:T,role:"system",text:M,messageType:"commandExecution",commandExecution:{command:M,cwd:N,status:"inProgress",aggregatedOutput:"",exitCode:null},turnId:Y||void 0,turnIndex:typeof le=="number"?le:void 0}}function jt(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 Lr(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",le=typeof v.aggregatedOutput=="string"?v.aggregatedOutput:"",ve=typeof v.exitCode=="number"?v.exitCode:null,Ve=fn(i),bt=Ce(d==null?void 0:d.turnId)||Ce(d==null?void 0:d.turn_id),yt=Ve&&bt?(_t=Fe.value[Ve])==null?void 0:_t[bt]:void 0;return{id:T,role:"system",text:M,messageType:"commandExecution",commandExecution:{command:M,cwd:N,status:Y,aggregatedOutput:le,exitCode:ve},turnId:bt||void 0,turnIndex:typeof yt=="number"?yt:void 0}}function qs(i){var ve;if(i.method!=="item/completed")return null;const d=Me(i.params),v=Me(d==null?void 0:d.item);if(!v||v.type!=="fileChange")return null;const T=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?(ve=Fe.value[M])==null?void 0:ve[N]:void 0,Y=lm(v.changes),le=im(v.status);return Y.length===0||le!=="completed"?null:{id:T,role:"system",text:"",messageType:"fileChange",fileChangeStatus:le,fileChanges:Y,turnId:N||void 0,turnIndex:typeof H=="number"?H:void 0}}function Oa(i,d){const v=l.value[i]??[],T=ul(v,d);T!==v&&(l.value={...l.value,[i]:T})}function es(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 pa(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 ma(i){if(i.method==="item/agentMessage/delta")return!0;const d=Me(i.params);if(!d)return!1;if(i.method==="item/completed"){const v=Me(d.item);return(v==null?void 0:v.type)==="agentMessage"}return!1}function _o(i){var us,Bi,qi,Hi,Wi;if($a(i))return;if(i.method==="account/rateLimits/updated"&&Ir(),i.method==="thread/name/updated"){const it=Me(i.params),Cr=Ce(it==null?void 0:it.threadId),So=Ce(it==null?void 0:it.threadName);Cr&&So&&(J.value={...J.value,[Cr]:So},Ft(),ju(Cr,So))}if(i.method==="account/rateLimits/updated"){Mt(fm(i.params));return}const d=Zr(i);if(d){nr(d.threadId,d.usage);return}const v=Wn(i);v&&gt(v.threadId,v.activity);const T=fn(i),M=gr(i);!M&&T&&An(T);const N=Do(i);N&&(Dr.set(N.turnId,N),ir(N.threadId,N.turnId,In(N.threadId)),xe.value={...xe.value,[N.threadId]:N.turnId},Ur(N.threadId,N.turnId),E(N.threadId),U(N.threadId),un(N.threadId,null),Tt(N.threadId,null),Ut(N.threadId,!0),Ks(N.threadId),R.value[N.threadId]&&(R.value=kt(R.value,N.threadId)));const H=ca(i),Y=eo(i),le=(H==null?void 0:H.threadId)??fn(i),ve=le?nt(le):"",Ve=!!le&&!!Y&&ve!==ao&&ll(new Error(Y));if(H){ft.value[H.threadId];const it=Dr.get(H.turnId);it&&Dr.delete(H.turnId);const Cr=vt((us=Me(i.params))==null?void 0:us.durationMs)??vt((qi=Me((Bi=Me(i.params))==null?void 0:Bi.turn))==null?void 0:qi.durationMs)??(typeof H.startedAtMs=="number"?H.completedAtMs-H.startedAtMs:null)??(it?H.completedAtMs-it.startedAtMs:null),So=typeof Cr=="number"?Math.max(0,Cr):0;un(H.threadId,{turnId:H.turnId,durationMs:So}),xe.value[H.threadId]&&(xe.value=kt(xe.value,H.threadId)),Ut(H.threadId,!1),gt(H.threadId,null),cn(H.threadId),Ve||(rr(H.threadId),Ks(H.threadId))}if(Y){const it=(H==null?void 0:H.threadId)||fn(i);it&&Tt(it,Y),Q.value=Y,it&&Ve&&vo(it)}else H&&Tt(H.threadId,null);if(M){const it=T,Cr=it?nt(it):K.value.trim();it&&Tt(it,M.message,{transient:M.transient}),Q.value=M.message,Cr!==ao&&ll(new Error(M.message))&&(it?vo(it):Ht())}const bt=Yt(i);bt&&($t(bt.threadId,bt.message),gt(bt.threadId,{label:"Planning",details:((Hi=bt.message.plan)==null?void 0:Hi.steps.map(it=>it.step).slice(0,2))??[]}));const yt=dn(i);if(yt&&($t(yt.threadId,yt.message),gt(yt.threadId,{label:"Planning",details:[]})),!T||T!==n.value)return;wo(i);const _t=La(i);if(_t){const it=(o.value[T]??[]).find(So=>So.id===_t.messageId),Cr=`${(it==null?void 0:it.text)??""}${_t.delta}`;Bn(T,{id:_t.messageId,role:"assistant",text:Cr,messageType:"agentMessage.live"})}const bn=Uo(i);bn&&Bn(T,bn);const Da=bo(i);Da&&Bn(T,Da),_r(i);const is=Fo(i);if(is&&Hr(T,is.delta),fa(i)){const it=s.value[T]??"";it.trim().length>0&&!it.endsWith(`
53
-
54
- `)&&ar(T,`${it}
55
-
56
- `)}Na(i);const Fa=Tr(i);Fa&&(Oa(T,Fa),gt(T,{label:"Running command",details:[((Wi=Fa.commandExecution)==null?void 0:Wi.command)??""]}));const Co=jt(i);if(Co){const it=(l.value[T]??[]).find(Cr=>Cr.id===Co.itemId);it!=null&&it.commandExecution&&Oa(T,{...it,commandExecution:{...it.commandExecution,aggregatedOutput:`${it.commandExecution.aggregatedOutput}${Co.delta}`}})}const ls=Lr(i);ls&&Oa(T,ls);const Ui=qs(i);if(Ui&&qr(T,Ui),ma(i)&&En(T),i.method==="turn/completed"){Gt=!1,En(T),l.value[T]&&(l.value=kt(l.value,T));const it=fn(i);it&&(Ut(it,!1),gt(it,null),cn(it),Ve||(rr(it),Ks(it)))}}function ts(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=fn(i);M&&v&&he.add(M),T&&(ne=!0),!(me!==null||typeof window>"u")&&(me=window.setTimeout(()=>{me=null,ro()},Bu))}async function ns(i,d){if(!Ar){Ar=!0;try{if(!d)return;const v=[];for(const T of Vl(d)){const M=Xa(T);v.includes(M)||v.push(M)}if(v.length>0){const T=d.projectOrder.length>0?ms(v,i):ms(G.value,i);Sa(G.value,T)||(G.value=T)}if(Object.keys(d.labels).length>0||(d.remoteProjects??[]).length>0){const T={...ge.value};let M=!1;for(const[N,H]of Object.entries(d.labels)){const Y=ot(N).trim(),le=[Xa(N)];Y&&le.push(Y);for(const ve of le)T[ve]!==H&&(T[ve]=H,M=!0)}for(const N of d.order){const H=Xa(N),Y=Gr(Is(N));if(!Y.startsWith(".")||Y===H)continue;const le=`${H} ${Y}`;T[H]!==void 0||T[H]===le||(T[H]=le,M=!0)}for(const N of d.remoteProjects??[]){const H=gI(N);T[N.id]!==H&&(T[N.id]=H,M=!0)}M&&(ge.value=T)}}catch{}}}async function Nt(){if(!(Object.keys(J.value).length>0))try{const i=await B_();Object.keys(i.titles).length>0&&(J.value=i.titles)}catch{}}async function va(){try{return await ys()}catch{return null}}async function ga(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 V_(M,v);if(!N||J.value[i])return;J.value={...J.value,[i]:N},Ft(),ju(i,N)}catch{}}function Bo(i,d){const v=_c(i,d),T=_I(i,d),M=TI(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 bI(H,d,v)}function y(i,d){const v=Bo(i,d),T=!!(d&&(d.order.length>0||d.projectOrder.length>0||(d.remoteProjects??[]).length>0)),M=d!=null&&d.projectOrder.length?ms(bc(d,_c(i,d)),v):ms(G.value,v);Sa(G.value,M)||(G.value=M,T||ii(G.value));const N=Wu(v,G.value);gn(new Set(Sr(N).map(Y=>Y.id)));const H=mI(t.value,N,h.value);t.value=cl(t.value,H),h.value=on(h.value,new Set(Sr(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(){k_(b(f.value)).catch(()=>{})}async function L(){if(!_){_=!0;try{f.value=await Qf()}catch{}}}function Re(i){Cn=bh(Cn,i),t.value=bh(t.value,i),h.value=kt(h.value,i),Ft()}function lt(i,d){if(i.length===0)return d;if(d.length===0)return i;const v=new Map;for(const M of Sr(i))v.set(M.id,M);for(const M of Sr(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 le,ve;const H=new Date(((le=M.threads[0])==null?void 0:le.updatedAtIso)??0).getTime();return new Date(((ve=N.threads[0])==null?void 0:ve.updatedAtIso)??0).getTime()-H})}function Ct(){return Object.values(h.value).some(i=>i===!0)}function kr(i=Mn){if(!(!Ie||dt||Ct())){if(Mn=i,typeof window>"u"){rn(i);return}st!==null&&window.clearTimeout(st),st=window.setTimeout(()=>{st=null,!(!Ie||Ct())&&rn(Mn)},$E)}}async function rn(i){if(!(dt||!Ie||Ct())){dt=!0;try{const d=await Bf(Ie,L0());Ie=d.nextCursor,Lt=d.nextCursor===null,Cn=lt(Cn,d.groups),y(Cn,i)}catch{}finally{dt=!1,Ie&&!Ct()&&kr(i)}}}async function wn(){if(at){await at;return}at=(async()=>{var i;pe.value||(Pe.value=!0);try{const[d,v]=await Promise.all([Bf(),va(),Nt()]);Mn=v;const T=d.groups;Cn=pe.value?lt(Cn,T):T,Ie=pe.value&&!Lt?Ie:d.nextCursor,Lt=d.nextCursor===null,await ns(T,v),y(Cn,v),pe.value=!0,Lt||kr(v);const M=Sr(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 Rn(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]??"",le=Date.now()-(we.get(i)??0)<OE;if(T&&(le||(H.length===0||Y===H)&&h.value[i]!==!0)){xt(i);return}const bt=Ae.value[i]!==!0?await $u(i):null,yt=bt??await qf(i);bt&&(vn(i,bt.model),Ae.value={...Ae.value,[i]:!0});const{messages:_t,inProgress:bn,activeTurnId:Da,turnIndexByTurnId:is}=yt;Rr(i,_t),da(i,is),br(i);const Xs=r.value[i]??[],Fa=nI(Xs,_t,{preserveMissing:d.silent===!0});Fn(i,Fa);const Co=o.value[i]??[];if(bn){const ls=oI(Co,_t);Br(i,ls)}else vr(i);es(i,_t),pa(i,_t),se.value={...se.value,[i]:!0},we.set(i,Date.now()),H&&(Se.value={...Se.value,[i]:H}),Ut(i,bn),Da?xe.value={...xe.value,[i]:Da}:xe.value[i]&&(xe.value=kt(xe.value,i)),bn||re(i),xt(i)}finally{M&&(Ye.value=!1)}})().finally(()=>{F.delete(i)});F.set(i,N),await N}async function qo(i,d={}){i&&se.value[i]!==!0&&await Rn(i,d)}async function Ho(){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 K_(v?[v]:void 0)}catch{}finally{q=null}})(),await q}async function Ni(i={}){await Promise.allSettled([Xr({providerChanged:i.providerChanged,includeProviderModels:i.includeProviderModels}),Ln(),Jr(),Ho()])}function Hs(i={}){const d=()=>{Ni(i)};if(typeof window>"u"){d();return}window.setTimeout(d,0)}async function Ws(i={}){Q.value="";const d=i.includeSelectedThreadMessages!==!1,v=i.awaitAncillaryRefreshes===!0;try{await L(),await wn(),d&&await Rn(n.value),v?await Ni({providerChanged:i.providerChanged,includeProviderModels:i.providerChanged===!0||v}):Hs({providerChanged:i.providerChanged,includeProviderModels:!1})}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function Gl(i){Qt(i);try{await Rn(i),Ho()}catch(d){Q.value=d instanceof Error?d.message:"Unknown application error"}}async function rs(i){const d=n.value===i,v=d?PE(Sr(e.value),i):"";d&&(Qt(v),v&&Rn(v,{silent:!0}));try{await o_(i),Re(i),await wn(),d&&v&&n.value===v&&await qo(v,{silent:!0})}catch(T){Q.value=T instanceof Error?T.message:"Unknown application error"}}async function zs(i,d){const v=d.trim();if(!(!i||!v))try{await a_(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 Vs(i){var H,Y;const d=i.trim();if(!d)return"";const v=Sr(t.value).find(le=>le.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 le=await Vf(d,T||void 0,N||void 0),ve=le.threadId.trim();return ve?(Dn(ve,T,M),vn(ve,le.model),Ae.value={...Ae.value,[ve]:!0},Qt(ve),await wn(),await Rn(ve),ve):""}catch(le){return Q.value=le instanceof Error?le.message:"Unknown application error",""}}async function To(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 Rn(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=Sr(t.value).find(Y=>Y.id===v)??null;try{Q.value="";const Y=await Vf(v),le=Y.threadId.trim();if(!le)return"";const ve=Y.cwd.trim()||((H=N==null?void 0:N.cwd)==null?void 0:H.trim())||"",Ve=CI((N==null?void 0:N.title)||(N==null?void 0:N.preview)||"Untitled thread");Dn(le,ve,Ve),vn(le,Y.model),Fn(le,Y.messages),se.value={...se.value,[le]:!0},Ae.value={...Ae.value,[le]:!0},E(le),Br(le,[]),En(le),l.value[le]&&(l.value=kt(l.value,le)),un(le,null),gt(le,null),Tt(le,null),Ut(le,!1);const bt=M-d;if(bt>0){const yt=await Nu(le,bt);Fn(le,yt)}return await zs(le,Ve),Qt(le),wn().catch(()=>{}),le}catch(Y){return Q.value=Y instanceof Error?Y.message:"Unknown application error",""}}async function Kl(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(ve=>ve.method==="item/tool/requestUserInput");if(H.length!==1)return!1;const[Y]=H,le=Hn(Y);return le.length!==1?!1:ji({id:Y.id,result:{answers:{[le[0]]:{answers:[d.trim()]}}}})}async function os(i,d=[],v=[],T="steer",M=[],N,H){if(z.value)return;const Y=n.value,le=i.trim();if(!Y||!le&&d.length===0&&M.length===0||await Kl(Y,le,d,v,M))return;const ve=h.value[Y]===!0;if(ve&&T==="queue"){const Ve=f.value[Y]??[],bt=`q-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,yt=[...Ve],_t=typeof N=="number"?Math.max(0,Math.min(N,yt.length)):yt.length;yt.splice(_t,0,{id:bt,text:le,imageUrls:d,skills:v,fileAttachments:M,collaborationMode:H==="plan"?"plan":H==="default"?"default":D.value}),f.value={...f.value,[Y]:yt},w();return}if(ve){Gt=!0,as(Y,le,d,v,M,H).catch(Ve=>{const bt=Ve instanceof Error?Ve.message:"Unknown application error";Tt(Y,bt),Q.value=bt});return}Q.value="",Gt=!0,un(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 as(Y,le,d,v,M,H)}catch(Ve){Gt=!1,Ut(Y,!1),gt(Y,null);const bt=Ve instanceof Error?Ve.message:"Unknown application error";throw Tt(Y,bt),Q.value=bt,Ve}}async function Li(i,d,v=[],T=[],M=[]){if(z.value)return"";const N=i.trim(),H=d.trim(),Y=nt(Aa).trim(),le=D.value;if(!N&&v.length===0&&M.length===0)return"";A.value=!0,Q.value="";let ve="";try{try{const _t=await zf(H||void 0,Y||void 0);ve=_t.threadId,vn(ve,_t.model),tn(ve,le)}catch(_t){if(Y&&Y!==ao&&ll(_t)){await Ht();const bn=await zf(H||void 0,ao);ve=bn.threadId,vn(ve,bn.model),tn(ve,le)}else throw _t}if(!ve)return"";Dn(ve,H,N||"[Image]"),or(ve),Ae.value={...Ae.value,[ve]:!0},Qt(ve),Gt=!0,un(ve,null),gt(ve,{label:"Thinking",details:Nn(nt(ve),Z.value,le)}),Tt(ve,null),Ut(ve,!0);const Ve=ve,bt=H||null,yt=N;return as(ve,N,v,T,M,le).catch(_t=>{Gt=!1,Ut(ve,!1),gt(ve,null);const bn=_t instanceof Error?_t.message:"Unknown application error";Tt(ve,bn),Q.value=bn}).finally(()=>{A.value=!1}),ga(Ve,yt,bt),ve}catch(Ve){Gt=!1,ve&&(Ut(ve,!1),gt(ve,null));const bt=Ve instanceof Error?Ve.message:"Unknown application error";throw ve&&Tt(ve,bt),Q.value=bt,A.value=!1,Ve}}async function as(i,d,v=[],T=[],M=[],N){const H=Z.value,Y=N==="plan"?"plan":N==="default"?"default":D.value,le=d.trim(),ve=[...v];if(ve.length===0&&ye(le)){const yt=ce(i);yt&&ve.push(yt)}const Ve=T.map(yt=>({name:yt.name,path:yt.path})),bt=M.map(yt=>({...yt}));xn(i,{text:le,imageUrls:[...ve],skills:Ve,fileAttachments:bt,effort:H,collaborationMode:Y,fallbackRetried:!1});try{if(Ae.value[i]!==!0){const bn=await $u(i);vn(i,bn.model)}const yt=nt(i);let _t="";try{_t=await Lu(i,d,ve,yt||void 0,H||void 0,T.length>0?T:void 0,M,Y)}catch(bn){if(yt&&yt!==ao&&ll(bn))await Ht(i),xn(i,{text:le,imageUrls:[...ve],skills:Ve,fileAttachments:bt,effort:H,collaborationMode:Y,fallbackRetried:!0}),_t=await Lu(i,d,ve,ao,H||void 0,T.length>0?T:void 0,M,Y);else throw bn}_t&&(xe.value={...xe.value,[i]:_t},Ur(i,_t)),Ae.value={...Ae.value,[i]:!0},he.add(i),await ro(),Fr(i)}catch(yt){throw yt}}async function Gs(i){if(g.value[i]!==!0){g.value={...g.value,[i]:!0};try{f.value=await Qf()}catch{}finally{g.value=kt(g.value,i)}}}function Ks(i){Gs(i),!(typeof window>"u")&&window.setTimeout(()=>{Gs(i)},650)}async function ja(){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 qf(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 d_(i,d),Ut(i,!1),gt(i,null),Tt(i,null),xe.value[i]&&(xe.value=kt(xe.value,i)),he.add(i),ne=!0,await ro()}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 Yl(i){var Y,le;const d=n.value;if(!d||ae.value||!i.trim())return;const v=r.value[d]??[],T=v.find(ve=>ve.turnId===i),M=typeof(T==null?void 0:T.turnIndex)=="number"?T.turnIndex:-1;if(M<0)return;const N=v.reduce((ve,Ve)=>typeof Ve.turnIndex=="number"&&Ve.turnIndex>ve?Ve.turnIndex:ve,-1);if(N<0||M>N)return;const H=N-M+1;if(!(H<1)){ae.value=!0,Q.value="";try{const ve=((le=(Y=hr.value)==null?void 0:Y.cwd)==null?void 0:le.trim())??"";ve&&await s_(d,i,ve);const Ve=await Nu(d,H);Fn(d,Ve),Br(d,[]),En(d),l.value[d]&&(l.value=kt(l.value,d)),un(d,null),gt(d,null),Tt(d,null),ne=!0,await ro()}catch(ve){Q.value=ve instanceof Error?ve.message:"Failed to rollback thread"}finally{ae.value=!1}}}let ss=null;async function Oi(i,d){try{const v=await ys(),T={...v.labels};let M=!1;for(const N of v.order){if(!gl(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 Ys(i,d){i.length===0||(ge.value[i]??"")===d||(ge.value={...ge.value,[i]:d},wh(ge.value),ss!==null&&clearTimeout(ss),ss=setTimeout(()=>{ss=null,Oi(i,d)},500))}async function ya(i){var N;if(i.length===0)return;const d=G.value.filter(H=>H!==i);if(Sa(G.value,d)||(G.value=d,ii(G.value)),t.value=t.value.filter(H=>H.projectName!==i),ge.value[i]!==void 0){const H={...ge.value};delete H[i],ge.value=H,wh(H)}Ft();const v=Sr(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 ys();yI(H,i).forEach(Y=>{M.add(Y)})}catch{}if(M.size>0)try{const H=await ys(),Y=H.order.filter(Ve=>!M.has(Ve)),le=H.active.filter(Ve=>!M.has(Ve)),ve=le.length===0&&Y.length>0?[Y[0]]:le;await Ou({order:Y,labels:dI(H.labels,M),active:ve,projectOrder:H.projectOrder.filter(Ve=>Ve!==i&&!M.has(Ve))});return}catch{}await Qs()}function Ql(i,d){if(i.length===0||t.value.length===0)return;const v=t.value.map(le=>le.projectName),T=v.indexOf(i);if(T===-1)return;const M=Math.max(0,Math.min(d,v.length-1)),N=XE(v,T,M);if(N===v)return;const H=ms(N,t.value);G.value=H,ii(G.value);const Y=Wu(t.value,G.value);t.value=cl(t.value,Y),Ft(),Qs()}function Jl(i){const d=i.trim();if(!d)return;const v=[d,...G.value.filter(M=>M!==d)];if(Sa(G.value,v))return;G.value=v,ii(G.value);const T=Wu(t.value,G.value);t.value=cl(t.value,T),Ft(),Qs()}async function Qs(){try{const i=await ys(),d=wI(i,G.value,t.value);await Ou({order:d.order,labels:i.labels,active:d.active,projectOrder:d.projectOrder})}catch{}}async function ro(){if(ie.value){typeof window<"u"&&me===null&&(me=window.setTimeout(()=>{me=null,ro()},Bu));return}ie.value=!0;const i=ne,d=new Set(he);ne=!1,he.clear();try{i&&await wn();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 Rn(v,{silent:!0})}catch{}finally{ie.value=!1,(ne||he.size>0)&&typeof window<"u"&&me===null&&(me=window.setTimeout(()=>{me=null,ro()},Bu))}}async function Xl(){await ko(),ne=!pe.value,n.value&&se.value[n.value]!==!0&&he.add(n.value),await ro()}function Zl(){typeof window>"u"||Le||(ko(),Le=z0(i=>{if(i.method==="ready"){mn(),Xl();return}_o(i),ts(i)}))}async function ko(){try{const d=(await Q0()).map(v=>qn(v)).filter(v=>v!==null);ua(d)}catch{}}async function ji(i){try{return await Y0(i.id,{result:i.result,error:i.error}),$r(i.id),!0}catch(d){return Q.value=d instanceof Error?d.message:"Failed to reply to server request",!1}}function Js(){if(Le&&(Le(),Le=null),ne=!1,he.clear(),Dr.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={},Ue.value={},f.value={},g.value={},w(),rt.value=null,We.value={}}const Di=oe(()=>{const i=n.value;return i?f.value[i]??[]:[]});function Fi(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(le=>le.id===i),N=T.findIndex(le=>le.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&&(Fi(i),Sn(T.collaborationMode),os(T.text,T.imageUrls,T.skills,"steer",T.fileAttachments))}function nu(i){Qt(i)}return{projectGroups:e,projectDisplayNameById:ge,selectedThread:hr,selectedThreadTokenUsage:Lo,selectedThreadTerminalOpen:Yr,isSelectedThreadInterruptPending:sa,selectedThreadServerRequests:Zt,selectedLiveOverlay:ln,codexQuota:mo,selectedThreadId:n,availableCollaborationModes:B,availableModelIds:O,selectedCollaborationMode:D,selectedModelId:K,selectedReasoningEffort:Z,selectedSpeedMode:be,installedSkills:Ee,accountRateLimitSnapshots:ke,messages:Oo,isLoadingThreads:Pe,isLoadingMessages:Ye,isSendingMessage:A,isInterruptingTurn:$,isUpdatingSpeedMode:z,isRollingBack:ae,error:Q,refreshAll:Ws,refreshSkills:Ho,selectThread:Gl,loadMessages:Rn,ensureThreadMessagesLoaded:qo,setThreadTerminalOpen:Pr,toggleSelectedThreadTerminal:Mr,archiveThreadById:rs,renameThreadById:zs,forkThreadById:Vs,forkThreadFromTurn:To,rollbackSelectedThread:Yl,sendMessageToSelectedThread:os,sendMessageToNewThread:Li,interruptSelectedThreadTurn:ja,selectedThreadQueuedMessages:Di,removeQueuedMessage:Fi,reorderQueuedMessage:eu,steerQueuedMessage:tu,setSelectedCollaborationMode:Sn,readModelIdForThread:nt,setSelectedModelIdForThread:Qr,setSelectedModelId:Jt,setSelectedReasoningEffort:pr,updateSelectedSpeedMode:jo,respondToPendingServerRequest:ji,renameProject:Ys,removeProject:ya,reorderProject:Ql,pinProjectToTop:Jl,startPolling:Zl,stopPolling:Js,primeSelectedThread:nu}}const xI={class:"sidebar-root"},AI={class:"sidebar-scrollable"},EI=["aria-pressed","aria-label","title"],II={key:1,class:"sidebar-search-bar"},RI=["placeholder"],PI=["aria-label"],MI={class:"sidebar-skills-link-icon","aria-hidden":"true"},$I={class:"sidebar-skills-link-copy"},NI={class:"sidebar-skills-link-title"},LI={class:"sidebar-skills-link-subtitle"},OI={class:"sidebar-settings-account-section"},jI={class:"sidebar-settings-account-header"},DI={class:"sidebar-settings-account-header-main"},FI=["aria-expanded","title"],UI={class:"sidebar-settings-account-collapse-icon"},BI={class:"sidebar-settings-account-title"},qI={class:"sidebar-settings-account-count"},HI=["disabled"],WI={key:0,class:"sidebar-settings-account-error"},zI={class:"sidebar-settings-account-login"},VI=["disabled"],GI=["href"],KI={key:1,class:"sidebar-settings-account-empty"},YI={key:2,class:"sidebar-settings-account-list"},QI=["title","onMouseenter","onMouseleave"],JI={class:"sidebar-settings-account-main"},XI={class:"sidebar-settings-account-email"},ZI={class:"sidebar-settings-account-meta"},eR={class:"sidebar-settings-account-quota"},tR={class:"sidebar-settings-account-id"},nR={class:"sidebar-settings-account-actions"},rR=["disabled","onClick"],oR=["disabled","onClick"],aR=["title"],sR={class:"sidebar-settings-label"},iR=["title"],lR={class:"sidebar-settings-label"},uR={class:"sidebar-settings-value"},cR=["title"],dR={class:"sidebar-settings-label"},fR={class:"sidebar-settings-value"},hR=["title"],pR={class:"sidebar-settings-label"},mR=["value"],vR=["value"],gR=["title"],yR={class:"sidebar-settings-label"},wR={class:"sidebar-settings-value"},bR=["title"],_R={class:"sidebar-settings-label"},TR=["title"],kR={class:"sidebar-settings-label"},CR=["title"],SR={class:"sidebar-settings-label"},xR=["value","disabled"],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"],_h="codex-web-local.sidebar-collapsed.v1",Th="codex-web-local.accounts-section-collapsed.v1",kh="codex-web-local.terminal-quick-commands.v1",Ch="__toggle_terminal__",Sh="codex-web-local.send-with-enter.v1",xh="codex-web-local.in-progress-send-mode.v1",Ah="codex-web-local.dark-mode.v1",Eh="codex-web-local.dictation-click-to-toggle.v1",Ih="codex-web-local.dictation-auto-send.v1",Rh="codex-web-local.dictation-language.v1",Ph="codex-web-local.chat-width.v1",NM=400,LM=Gn({__name:"App",setup(e){var _d,Td;const t=el(()=>nl(()=>import("./ThreadConversation-CWqez-yM.js"),__vite__mapDeps([0,1]))),n=el(()=>nl(()=>import("./ThreadTerminalPanel-BEyQ2ISH.js"),__vite__mapDeps([2,3]))),r=el(()=>nl(()=>import("./ReviewPane-DDBDehxi.js"),__vite__mapDeps([4,5]))),a=el(()=>nl(()=>import("./DirectoryHub-wFeYwLJR.js"),__vite__mapDeps([6,7]))),{t:o,uiLanguage:s,uiLanguageOptions:l,setUiLanguage:c}=Pa(),h="codex-web-local",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:ge,selectedSpeedMode:Se,installedSkills:se,accountRateLimitSnapshots:Ae,messages:Fe,isLoadingThreads:qe,isLoadingMessages:Ke,isSendingMessage:$e,isInterruptingTurn:xe,isSelectedThreadInterruptPending:Qe,isUpdatingSpeedMode:Je,refreshAll:Ue,refreshSkills:ze,selectThread:ft,ensureThreadMessagesLoaded:rt,setThreadTerminalOpen:We,toggleSelectedThreadTerminal:wt,archiveThreadById:J,forkThreadById:Ee,renameThreadById:ke,forkThreadFromTurn:Pe,sendMessageToSelectedThread:Ye,sendMessageToNewThread:A,interruptSelectedThreadTurn:$,selectedThreadQueuedMessages:z,removeQueuedMessage:ae,reorderQueuedMessage:Q,steerQueuedMessage:ie,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:ne,rollbackSelectedThread:he}=SI(),we=Wb(),Ie=Hb(),{isMobile:st}=zc(),dt=x(null),Lt=x(null),Cn=x(null),Mn=x(null),Ar=x(null),Gt=x(!1),Dr=x(!1),$n=x(!1),Er=x(!0),hr=x([]),Yr=x(Zm()),sa=x(""),Zt=x(null),ln=x(!1),mo=x("");let Lo=!1;const Oo=x(!1),nt=x(""),en=x("local"),Qt=x({}),Qr=new Map,Jt=x(""),vn=x([]),nr=x(!1),Sn=x({order:[],labels:{},projectOrder:[]}),tn=x({phase:"idle",title:"",message:""}),Mt=x(zv()),Ht=x(""),xn=x(!1),rr=x(null),vo=x(null),pr=x(null),jo=x(null),Jr=x(null);let Nn=null,Xr=null,Ln=0,Ir=0;const On=x("New Project (1)"),Fr=x(""),jn=x(!1),mr=x(Gv()),Kn=x(!1),go=x([]),Ft=x(null),Dn=x(null),Kt=x(null),xt=x(null),un=x(!1),Ut=x(!1),pn=x(""),or=x({}),Yn=x(""),Ur=x(""),gn=x(!1),Rr=x(!1),cn=x(null),gt=x([]),Tt=x(!1),An=x(!1),mn=x(!1),Bt=x(!1),Pr=x(!1),Mr=x(""),Fn=x(""),Br=x(null),vr=x(""),Un=x(""),Qn=x(""),$t=x(""),Bn=x(uu(Sh,!0)),qr=x(Mv()),ar=x(Pv()),Hr=x($v()),En=x(uu(Eh,!1)),E=x(uu(Ih,!0)),U=x(Hv()),re=oe(()=>Wv()),De=x(!1),mt=x(!1),Yt=x(!1),dn=x(""),Me=x(!1),Ce=x(null),vt=x(!1),yn=x(""),Jn=x("codex"),Zr=x(""),fn=x(""),eo=x("responses"),gr=x("responses"),qn=x(""),Ma=x(!1),ia=x(""),to=x(""),yr=x(""),la=x(!1),sr=x(!1),yo=x(""),Hn=x(""),no=x(!1),$r=x(!1),ua=x(null),$a=x(null),wr=x(""),Wn=x(""),Do=x(""),ca=x([]),nn=x(""),In=x(!1),ir=x(!1),da=x(!1),br=x(""),_r=x({configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:""}),Fo=x(null),fa=x(!1),Na=x(!1),wo=x(typeof window<"u"?((_d=window.visualViewport)==null?void 0:_d.height)??window.innerHeight:0),La=x(typeof window<"u"?((Td=window.visualViewport)==null?void 0:Td.offsetTop)??0:0),Uo=x(typeof window<"u"?window.innerHeight:0);let Nr=null,ha=!1,bo=0;const Tr=oe(()=>{const u=we.params.threadId;return typeof u=="string"?u:""}),jt=oe(()=>we.name==="home"),Lr=oe(()=>we.name==="skills"),qs=oe(()=>{var u;return Lr.value?o("Skills"):jt.value?o("Start new thread"):((u=te.value)==null?void 0:u.title)??o("Choose a thread")}),Oa=typeof window<"u"&&(window.location.hostname||window.location.host)||"codexui",es=oe(()=>{var p,C;return(((C=(p=te.value)==null?void 0:p.title)==null?void 0:C.trim())??"")||Oa}),pa=oe(()=>Fe.value.filter(u=>{const p=Yv(u.messageType,u.role);return p==="worked"?!0:!(p==="turnActivity.live"||p==="turnError.live"||p==="agentReasoning.live")})),ma=oe(()=>Z.value),_o=oe(()=>jt.value?"__new-thread__":fe.value),ts=oe(()=>Te(_o.value)),ns=oe(()=>{const u=K.value;return u.length>0?u[u.length-1]:null}),Nt=oe(()=>{var u,p;return jt.value?nt.value.trim():((p=(u=te.value)==null?void 0:u.cwd)==null?void 0:p.trim())??""}),va=oe(()=>Er.value&&(jt.value&&Nt.value.length>0||we.name==="thread"&&fe.value.length>0)),ga=oe(()=>we.name==="thread"&&fe.value.length>0||jt.value&&To.value),Bo=oe(()=>jt.value?Gt.value:D.value),y=oe(()=>!st.value||wo.value<=0||Uo.value<=0?!1:Uo.value-wo.value>120),b=oe(()=>y.value||Bo.value&&$n.value),w=oe(()=>{var u,p;return((p=(u=te.value)==null?void 0:u.cwd)==null?void 0:p.trim())??nt.value.trim()}),L=oe(()=>{var u;return!jt.value&&((u=te.value)==null?void 0:u.inProgress)===!0}),Re=oe(()=>!jt.value&&!Lr.value&&fe.value.trim().length>0),lt=oe(()=>$e.value||xe.value||L.value||K.value.length>0);function Ct(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 kr(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 rn(){De.value&&(De.value=!1,z_(!0))}function wn(){rn(),Ie.push({name:"skills",query:{tab:"plugins"}})}const Rn=oe(()=>{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"}),qo=oe(()=>{const u=j.value;return u?typeof u.remainingContextTokens=="number"?`${Ct(u.remainingContextTokens)} ${o("left")}`:`${Ct(u.currentContextTokens)} ${o("used")}`:o("Awaiting data")}),Ho=oe(()=>{const u=j.value;return u?typeof u.modelContextWindow=="number"?`${Ct(u.currentContextTokens)} ${o("used")} / ${Ct(u.modelContextWindow)}`:o("Window size unavailable"):o("Updates after the next token usage event")}),Ni=oe(()=>kr(j.value));function Hs(u,p){const C=ot(u).trim(),V=jr(C);return!C||!V?!1:p.some(ee=>{const ue=ot(ee).trim();return ue!==C&&jr(ue)===V})}function Ws(u,p=""){const C=ot(u).trim(),V=p.trim();if(V)return V;const ee=jr(C),ue=[...Sn.value.order,...O.value.map(He=>{var Wt,Or;return((Or=(Wt=He.threads[0])==null?void 0:Wt.cwd)==null?void 0:Or.trim())??""}).filter(Boolean)];return Hs(C,ue)?C:ee}function Gl(){const u=new Set(Sn.value.order),p=Sn.value.projectOrder.filter(C=>u.has(C));for(const C of Sn.value.order)p.includes(C)||p.push(C);return p}function rs(u){const p=ot(u).trim(),C=[...Sn.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:jr(p)}function zs(u){const p=ot(u).trim();if(!p)return"";const C=[...Sn.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 Sn.value.order){const ee=ot(V).trim();if(!ee)continue;const ue=jr(ee),He=Hs(ee,C)?ee:ue;if(ee===p||He===p||ue===p)return ee}return""}const Vs=oe(()=>{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,Sn.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)||Sl(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}),To=oe(()=>{const u=nt.value.trim();return u?Qt.value[u]===!0:!1}),Kl=oe(()=>{var p,C;const u={};for(const V of O.value){const ee=Zs(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}),os=oe(()=>{const u=Jt.value.trim(),p=[...vn.value];return u&&!p.some(C=>C.value===u)&&p.unshift({value:u,label:u}),p}),Li=oe(()=>{const u=Jt.value.trim();if(!u)return"";const p=os.value.find(C=>C.value===u);return(p==null?void 0:p.label)??u}),as=oe(()=>Wn.value.trim()),Gs=oe(()=>{const u=yo.value.trim();return!u||u==="."||u===".."?!1:!/[\\/]/u.test(u)}),Ks=oe(()=>Gs.value&&as.value.trim().length>0&&!nn.value),ja=oe(()=>{const u=ot(wr.value).trim();return u||Wn.value.trim()}),Yl=oe(()=>no.value?"Creating…":"Create"),ss=oe(()=>{const u=Wn.value.trim(),p=Do.value.trim();return!!(u&&p&&u!==p)}),Oi=oe(()=>{const u=[];ss.value&&u.push({key:`parent:${Do.value}`,name:"..",path:Do.value,kind:"parent"});for(const p of ca.value)u.push({key:`directory:${p.path}`,name:p.name,path:p.path,kind:"directory"});return u}),Ys=oe(()=>{const u=br.value.trim().toLowerCase();return u?Oi.value.filter(p=>p.kind==="parent"||p.name.toLowerCase().includes(u)):Oi.value}),ya=typeof window<"u"?window.matchMedia("(prefers-color-scheme: dark)"):null,Ql=oe(()=>o(_[Hr.value].label)),Jl=oe(()=>Bo.value?o("Terminal"):o("Open terminal")),Qs=oe(()=>{const u=new Map(Yr.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(Xm)}),ro=oe(()=>[{label:Bo.value?o("Hide terminal"):o("Open terminal"),value:Ch},...Qs.value.map(u=>({label:u.label,value:u.value}))]),Xl=oe(()=>{const u=_[Hr.value],p=Math.max(0,Uo.value-wo.value-La.value);return{"--chat-column-max":u.columnMax,"--chat-card-max":u.cardMax,"--visual-viewport-height":wo.value>0?`${wo.value}px`:"100dvh","--visual-viewport-offset-top":`${Math.max(0,La.value)}px`,"--virtual-keyboard-inset":`${p}px`}}),Zl=oe(()=>{if(!_r.value.configured)return o("Not configured");const u=_r.value.active?o("Online"):o("Configured (offline)"),p=_r.value.allowAllUsers?o("allow all users"):`${_r.value.allowedUsers} ${o("allowed user(s)")}`,C=`${_r.value.mappedChats} ${o("chat(s)")}, ${_r.value.mappedThreads} ${o("thread(s)")}, ${p}`,V=_r.value.lastError?`, ${o("error")}: ${_r.value.lastError}`:"";return`${u}, ${C}${V}`});oa(()=>{var u,p;document.addEventListener("pointerdown",rd),window.addEventListener("keydown",Jc),document.addEventListener("visibilitychange",od),window.addEventListener("pageshow",ad),window.addEventListener("focus",sd),window.addEventListener("resize",ko),(u=window.visualViewport)==null||u.addEventListener("resize",ko),(p=window.visualViewport)==null||p.addEventListener("scroll",ko),ko(),Yi(),ya==null||ya.addEventListener("change",Yi),Qv(),Tv(),Fi(),Ua(),xo(),Di(),Js(),du(),rv(),Xc()}),jl(()=>{var u,p;document.removeEventListener("pointerdown",rd),window.removeEventListener("keydown",Jc),document.removeEventListener("visibilitychange",od),window.removeEventListener("pageshow",ad),window.removeEventListener("focus",sd),window.removeEventListener("resize",ko),(u=window.visualViewport)==null||u.removeEventListener("resize",ko),(p=window.visualViewport)==null||p.removeEventListener("scroll",ko),ya==null||ya.removeEventListener("change",Yi),Nr!==null&&(window.clearInterval(Nr),Nr=null),Nn&&(clearTimeout(Nn),Nn=null),Vi(),W()});function ko(){var u,p;typeof window>"u"||(Uo.value=Math.max(Uo.value,window.innerHeight),wo.value=((u=window.visualViewport)==null?void 0:u.height)??window.innerHeight,La.value=((p=window.visualViewport)==null?void 0:p.offsetTop)??0)}pt(Ht,u=>{const p=u.trim();if(Nn&&(clearTimeout(Nn),Nn=null),!p){Jr.value=null;return}Nn=setTimeout(()=>{j_(p,1e3).then(C=>{Ht.value.trim()===p&&(Jr.value=C.threadIds)}).catch(()=>{Ht.value.trim()===p&&(Jr.value=null)})},220)}),pt(y,u=>{u||($n.value=!1)}),pt(gt,()=>{if(typeof window>"u")return;if(!gt.value.some(p=>p.quotaStatus==="loading")){Nr!==null&&(window.clearInterval(Nr),Nr=null);return}Nr===null&&(Nr=window.setInterval(()=>{ha||(ha=!0,Co({silent:!0}).finally(()=>{ha=!1}))},1500))},{deep:!0});function ji(){ze()}async function Js(){try{_r.value=await U_()}catch(u){const p=u instanceof Error?u.message:"Failed to load Telegram status";_r.value={configured:!1,active:!1,mappedChats:0,mappedThreads:0,allowedUsers:0,allowAllUsers:!1,lastError:p}}}async function Di(){try{const u=await F_();ia.value=u.botToken,to.value=u.allowedUserIds.map(p=>String(p)).join(`
58
- `),yr.value=""}catch(u){yr.value=u instanceof Error?u.message:"Failed to load Telegram configuration"}}async function Fi(){const u=await W_();De.value=u.dismissed!==!0}function eu(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 tu(){const u=ia.value.trim(),p=eu(to.value);if(!u){yr.value=o("Telegram bot token is required.");return}if(p.length===0){yr.value=o("At least one allowed Telegram user ID or * is required.");return}la.value=!0,yr.value="";try{await D_(u,p),to.value=p.map(C=>String(C)).join(`
59
- `),await Promise.all([Di(),Js()]),window.alert(o("Telegram bot configured. Only allowlisted Telegram users can use the bridge."))}catch(C){yr.value=C instanceof Error?C.message:o("Failed to connect Telegram bot"),Js()}finally{la.value=!1}}function nu(){xn.value=!xn.value,xn.value?Vt(()=>{var u;return(u=rr.value)==null?void 0:u.focus()}):Ht.value=""}function i(){var u;Ht.value="",(u=rr.value)==null||u.focus()}function d(u){u.key==="Escape"&&(xn.value=!1,Ht.value="")}function v(u){u&&(we.name==="thread"&&Tr.value===u||(Ie.push({name:"thread",params:{threadId:u}}),st.value&&Wr(!0)))}async function T(u){u&&(fe.value!==u&&(await ft(u),await Ie.push({name:"thread",params:{threadId:u}})),await Vt(),Av())}function M(u){return u.length>8?u.slice(-8):u}function N(u){const p=[u.planType||o("unknown")];return u.authMode&&p.unshift(u.authMode),p.join(" · ")}function H(u){if(!u)return!1;const p=u.toLowerCase();return p.includes("payment required")||/\b402\b/.test(p)}function Y(u){return u.unavailableReason==="payment_required"||H(u.quotaError)}function le(u){return Tt.value||An.value||mn.value||Bt.value||vr.value.length>0||u.isActive&&vr.value!==u.accountId&&lt.value}function ve(u){return Un.value===u.accountId}function Ve(u){return Qn.value===u.accountId||ve(u)}function bt(u){return Y(u)?o("Unavailable"):u.isActive?o("Active"):An.value?o("Switching…"):o("Switch")}function yt(u){return vr.value===u.accountId?o("Removing…"):ve(u)?o("Click again to remove"):o("Remove")}function _t(u){Qn.value=u}function bn(u){Qn.value===u&&(Qn.value=""),vr.value!==u&&Un.value===u&&(Un.value="")}function Da(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 is(u){if(typeof u!="number"||!Number.isFinite(u))return"";const p=new Date(u*1e3);return`${p.getMonth()+1}月${p.getDate()}日`}function Xs(u){var ue,He;if(Y(u))return u.quotaError||o("402 Payment Required");const p=u.quotaSnapshot,C=Da(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))),Or=is(ee.resetsAt);return Or?`${Wt}% ${o("weekly remaining")} · ${Or}`:`${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"),N(u),Y(u)?o("Unavailable account"):null,Xs(u),`${o("Workspace")} ${u.accountId}`].filter(Boolean).join(`
60
- `)}async function Co(u={}){try{const p=await X0();gt.value=p.accounts,p.accounts.some(C=>C.accountId===Qn.value)||(Qn.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 ls(){if(!(Tt.value||An.value||mn.value||Bt.value)){$t.value="",Qn.value="",Un.value="",Tt.value=!0;try{const u=await Z0();gt.value=u.accounts,W(),q(),Ue({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||An.value||mn.value||Bt.value)){$t.value="",Fn.value="",mn.value=!0;try{const p=await e_();Mr.value=p,Pr.value=!0,window.open(p,"_blank","noopener,noreferrer"),await Vt(),(u=Br.value)==null||u.focus()}catch(p){$t.value=p instanceof Error?p.message:o("Failed to start Codex login")}finally{mn.value=!1}}}function us(){Bt.value||(Pr.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 t_(u);gt.value=p.accounts,Mr.value="",Fn.value="",Pr.value=!1,W(),q(),Ue({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(!(An.value||Tt.value||mn.value||Bt.value)){if(lt.value){$t.value=o("Finish the current turn and pending requests before switching accounts.");return}$t.value="",Qn.value="",Un.value="",An.value=!0;try{const p=await n_(u);gt.value=gt.value.map(C=>C.accountId===u?p:{...C,isActive:!1}),W(),q(),Ue({includeSelectedThreadMessages:!0}),Co({silent:!0})}catch(p){$t.value=p instanceof Error?p.message:o("Failed to switch account")}finally{An.value=!1}}}async function Wi(u){if(Tt.value||An.value||mn.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&&lt.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 r_(u);gt.value=V.accounts,W(),q(),C&&Ue({includeSelectedThreadMessages:!0}),Co({silent:!0})}catch(V){$t.value=V instanceof Error?V.message:o("Failed to remove account")}finally{vr.value=""}}function it(u){J(u)}async function Cr(u){const p=await Ee(u);p&&(jt.value?await Ie.replace({name:"thread",params:{threadId:p}}):await Ie.push({name:"thread",params:{threadId:p}}),st.value&&Wr(!0))}function So(u){const p=u.trim().replace(/\\/gu,"/");return p?p.includes("/.codex/worktrees/")||p.includes("/.git/worktrees/"):!1}function Zs(u,p=""){var ue,He,Wt;const C=O.value.find(Or=>Or.projectName===u);if(!C)return zs(u)||p.trim();const V=C.threads.find(Or=>!So(Or.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())??"")||zs(u)||p.trim()}function Lm(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Zs(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&&Wr(!0),!jt.value&&Ie.push({name:"home"})}function Om(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 Yc(u){var C,V;const p=O.value.find(ee=>ee.projectName===u);return Zs(u,((V=(C=p==null?void 0:p.threads[0])==null?void 0:C.cwd)==null?void 0:V.trim())??"")}function jm(u){return(B.value[u]??u).trim()||u}function Dm(u){return jm(u).replace(/[\\/]+/gu,"-").replace(/[\u0000-\u001f]+/gu,"").trim()||"worktree"}function Fm(u){const p=Yc(u);!p||typeof window>"u"||window.open(`/codex-local-browse${encodeURI(p)}`,"_blank","noopener,noreferrer")}async function Um(u){const p=Yc(u);if(!p||typeof window>"u"||(await zi(p),Qt.value[p]!==!0))return;const C=`${Dm(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 S_(p,ee),He=await ol(ue.cwd,{createIfMissing:!1,label:""});if(!He)return;nt.value=He,en.value="local",F(rs(He)),await Ua(),await xo(),st.value&&Wr(!0),jt.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="",en.value="local",st.value&&Wr(!0),!jt.value&&Ie.push({name:"home"})}async function zi(u){const p=u.trim();if(!p||Object.prototype.hasOwnProperty.call(Qt.value,p))return;const C=Qr.get(p);if(C){const ue=await C;Object.prototype.hasOwnProperty.call(Qt.value,p)||(Qt.value={...Qt.value,[p]:ue});return}const V=E_(p).then(ue=>ue.isGitRepo).catch(()=>!1).finally(()=>{Qr.delete(p)});Qr.set(p,V);const ee=await V;Object.prototype.hasOwnProperty.call(Qt.value,p)||(Qt.value={...Qt.value,[p]:ee})}function Bm(u){je(u.projectName,u.displayName)}function qm(u){ke(u.threadId,u.title)}async function Hm(u){await Oe(u),await Ua(),xo()}function Wm(u){at(u.projectName,u.toIndex)}function zm(u){var V,ee;const p=O.value.find(ue=>ue.projectName===u),C=Zs(u,((ee=(V=p==null?void 0:p.threads[0])==null?void 0:V.cwd)==null?void 0:ee.trim())??"");zi(C)}function Qc(u){Vm(u)}async function Vm(u){var V;const p=await me(u),C=((V=u.followUpMessageText)==null?void 0:V.trim())??"";if(!(!p||!C||jt.value))try{await Ye(C,[],[],"steer",[])}catch{}}async function Gm(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&&Wr(!0))}function Wr(u){Mt.value!==u&&(Mt.value=u,Vv(u))}function Jc(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(),Wr(!Mt.value);return}if(p==="j"&&we.name==="thread"&&fe.value){u.preventDefault(),ou();return}p==="j"&&jt.value&&Nt.value&&(u.preventDefault(),ou())}function ou(){if(Er.value){if(jt.value){if(!Nt.value)return;Gt.value=!Gt.value,Gt.value||ei();return}wt(),D.value||ei()}}function Km(u){if(sa.value="",!!u){if(u===Ch){ou();return}Ym(u)}}async function Ym(u){if(!Er.value||!Nt.value)return;if(jt.value)Gt.value=!0;else if(fe.value)We(fe.value,!0);else return;const p=await Qm();if(p)try{await p.runQuickCommand(u),Jm(u)}catch{}}async function Qm(){for(let u=0;u<20;u+=1){await Vt();const p=jt.value?Mn.value:Ar.value;if(p)return p;await new Promise(C=>window.setTimeout(C,25))}return null}async function Xc(){const u=Nt.value.trim();if(!u){hr.value=[];return}try{hr.value=await K0(u)}catch{hr.value=[]}}function Jm(u){const p=Zc(u);if(!p)return;const C=Yr.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=[...Yr.value.filter(Wt=>Wt.value!==p),ue];Yr.value=He,ev(He)}function Zc(u){return u.trim().replace(/\s+/g," ")}function Xm(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 Zm(){if(typeof window>"u")return[];try{const u=window.localStorage.getItem(kh);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=Zc(ed(ue==null?void 0:ue.value));!He||C.has(He)||(C.add(He),V.push({label:ed(ue==null?void 0:ue.label)||He,value:He,custom:(ue==null?void 0:ue.custom)!==!1,usageCount:td(ue==null?void 0:ue.usageCount),lastUsedAt:td(ue==null?void 0:ue.lastUsedAt)}))}return V}catch{return[]}}function ev(u){typeof window>"u"||window.localStorage.setItem(kh,JSON.stringify(u.map(p=>({label:p.label,value:p.value,custom:p.custom===!0,usageCount:p.usageCount,lastUsedAt:p.lastUsedAt}))))}function ed(u){return typeof u=="string"?u:""}function td(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 nd(u){if(Dr.value=u,!u){$n.value=!1,Vi();return}$n.value=!0,Vi(),Xr=setTimeout(()=>{Xr=null,y.value||($n.value=!1)},1500)}function tv(){Gt.value=!1,ei()}function nv(){fe.value&&We(fe.value,!1),ei()}function ei(){Dr.value=!1,$n.value=!1,Vi()}function Vi(){Xr&&(clearTimeout(Xr),Xr=null)}async function rv(){try{const u=await G0();Er.value=u.available,u.available||(Gt.value=!1,fe.value&&We(fe.value,!1))}catch{Er.value=!1,Gt.value=!1}}function rd(u){var C,V;const p=u.target;if(p instanceof Node){if(Dr.value){const ee=p instanceof Element?p:p.parentElement;ee!=null&&ee.closest(".thread-terminal-panel")||ei()}jn.value&&((C=pr.value)!=null&&C.contains(p)||(V=jo.value)!=null&&V.contains(p)||(jn.value=!1))}}function ov(u){var C,V;if(!jn.value)return;const p=u.target;p instanceof Node&&((C=pr.value)!=null&&C.contains(p)||(V=jo.value)!=null&&V.contains(p)||(jn.value=!1))}function od(){if(!(typeof document>"u")&&st.value){if(document.visibilityState==="hidden"){Fo.value=Date.now(),fa.value=!1;return}au()}}function ad(u){u.persisted&&au()}function sd(){we.name==="home"&&(Ua(),xo()),au()}function au(){typeof window>"u"||typeof document>"u"||!st.value||document.visibilityState!=="visible"||fa.value||Fo.value===null||Date.now()-Fo.value<NM||(fa.value=!0,Fo.value=null,av())}async function av(){if(!Na.value){Na.value=!0;try{await Ue({includeSelectedThreadMessages:!0,awaitAncillaryRefreshes:!0}),await hu()}finally{Na.value=!1}}}function id(u){const p=u.text;Gi();const C=Zt.value,V=u.mode==="queue"&&C&&C.threadId===fe.value?C.queueIndex:void 0;if(Zt.value=null,jt.value){Xv(p,u.imageUrls,u.skills,u.fileAttachments);return}Ye(p,u.imageUrls,u.skills,u.mode,u.fileAttachments,V)}function sv(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;Zt.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 Gi(){if(!st.value||jt.value)return;const u=()=>{var p;(p=Cn.value)==null||p.jumpToLatest()};u(),Vt(()=>{u(),!(typeof window>"u")&&window.requestAnimationFrame(()=>{u(),window.requestAnimationFrame(u)})})}function iv(u){nt.value=u.trim(),Hn.value=""}function lv(u){Jt.value=u.trim()}function Ki(u){const p=Nt.value.trim();return!u||p!==u?!1:we.name==="thread"||we.name==="home"&&To.value}function ld(){Ln+=1,Ir+=1,go.value=[],Ft.value=null,Dn.value=null,Kt.value=null,xt.value=null,un.value=!1,Ut.value=!1,or.value={},Yn.value="",Ur.value="",pn.value="",gn.value=!1}async function ti(u){const p=u.trim();if(!p){ld();return}const C=++Ln;gn.value=!0,pn.value="";try{const V=await A_(p);if(C!==Ln||!Ki(p))return;go.value=V.options,Ft.value=V.currentBranch,Dn.value=V.headSha,Kt.value=V.headSubject,xt.value=V.headDate,un.value=V.detached,Ut.value=V.dirty}catch{if(C!==Ln||!Ki(p))return;go.value=[],Ft.value=null,Dn.value=null,Kt.value=null,xt.value=null,un.value=!1,Ut.value=!1}finally{C===Ln&&(gn.value=!1)}}function uv(u){Ft.value=u.currentBranch,Dn.value=u.headSha,Kt.value=u.headSubject,xt.value=u.headDate,un.value=u.detached,Ut.value=u.dirty}function cv(u){if(Rr.value)return;const p=u.trim();if(!p||p===(Ft.value??""))return;const C=Nt.value.trim();C&&(Rr.value=!0,pn.value="",I_(C,p).then(V=>(Ft.value=V||p,Dn.value=null,Kt.value=null,xt.value=null,un.value=!1,Kn.value=!1,ti(C))).catch(V=>{const ee=V instanceof Error?V.message:"Failed to switch branch";ti(C).finally(()=>{pn.value=ee})}).finally(()=>{Rr.value=!1}))}function dv(u){if(Rr.value)return;const p=u.branch.trim(),C=u.sha.trim(),V=Nt.value.trim();!p||!C||!V||(Rr.value=!0,pn.value="",P_(V,p,C).then(ee=>(uv(ee),Kn.value=!1,ti(V))).catch(ee=>{const ue=ee instanceof Error?ee.message:"Failed to reset branch to commit";ti(V).finally(()=>{pn.value=ue})}).finally(()=>{Rr.value=!1}))}function fv(u){const p=u.trim(),C=Nt.value.trim();if(!p||!C||Yn.value===p||or.value[p])return;const V=++Ir;Yn.value=p,Ur.value="",R_(C,p).then(ee=>{V!==Ir||!Ki(C)||(or.value={...or.value,[p]:ee})}).catch(ee=>{V!==Ir||!Ki(C)||(Ur.value=ee instanceof Error?ee.message:"Failed to load branch commits")}).finally(()=>{V===Ir&&Yn.value===p&&(Yn.value="")})}async function hv(){const u=await iu();if(!u)return;await xo();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=fd(dd(u,V));if(ee)try{const ue=await ol(ee,{createIfMissing:!0,label:""});if(!ue)return;nt.value=ue,F(rs(ue)),await Ua(),await xo()}catch(ue){const He=ue instanceof Error?ue.message:"Failed to create the project.";window.alert(He)}}async function pv(){const u=nt.value.trim()||await iu();u&&(sr.value=!1,$r.value=!0,br.value="",await wa(u),nn.value||Vt(()=>{var p;return(p=ua.value)==null?void 0:p.focus()}))}function cs(){bo+=1,$r.value=!1,In.value=!1,nn.value="",br.value="",wr.value="",ni()}async function mv(u){!u||In.value||(br.value="",await wa(u))}function vv(){const u=Wn.value.trim();!$r.value||!u||wa(u)}function gv(){const u=ja.value;!$r.value||!u||In.value||wa(u)}function yv(){if(!$r.value||In.value||ir.value)return;const u=ja.value,p=Wn.value.trim();!u||u===p||wa(u)}function wv(){const u=ja.value,p=Wn.value.trim();if(u){if(u!==p){wa(u);return}su(u)}}async function su(u=ja.value){const p=ot(u).trim();if(p){nn.value="",ir.value=!0;try{const C=await ol(p,{createIfMissing:!1,label:""});if(!C){nn.value="Failed to open the selected folder.";return}nt.value=C,F(rs(C)),await Ua(),await xo(),cs()}catch(C){nn.value=C instanceof Error?C.message:"Failed to open the selected folder."}finally{ir.value=!1}}}async function bv(){if(Hn.value="",sr.value){ni();return}if(!$r.value){const u=nt.value.trim()||await iu();if(!u||($r.value=!0,br.value="",await wa(u),nn.value))return}nn.value||(yo.value=On.value,sr.value=!0,Vt(()=>{var u;return(u=cn.value)==null?void 0:u.focus()}))}function ni(){Hn.value="",yo.value="",sr.value=!1}async function ud(){const u=yo.value.trim();if(!u)return;if(Hn.value="",nn.value){Hn.value="Reload the current folder before creating a new one.";return}no.value=!0;const p=as.value.trim(),C=fd(dd(p,u));if(!C){Hn.value="Unable to determine where the new folder should be created.",no.value=!1;return}if(!Gs.value){Hn.value="Enter a single folder name.",no.value=!1;return}try{const V=await $_(C);if(!V){Hn.value="Failed to create the folder.";return}Hn.value="",br.value="",await wa(V),ni()}catch(V){Hn.value=V instanceof Error?V.message:"Failed to create folder."}finally{no.value=!1}}async function _v(){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 ol(u,{createIfMissing:!1,label:""});if(!C)return!1;nt.value=C,F(rs(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=cd();if(u)return u;try{const p=await Jf();if(p)return Fr.value=p,p}catch{}return""}async function xo(){const u=cd();if(!u){On.value="New Project (1)";return}try{const p=await L_(u);On.value=p.name||"New Project (1)"}catch{On.value="New Project (1)"}}function cd(){var C,V;const u=nt.value.trim();if(u)return Is(u);const p=((V=(C=Vs.value[0])==null?void 0:C.value)==null?void 0:V.trim())??"";return p?Is(p):Fr.value.trim()}async function Tv(){try{Fr.value=await Jf()}catch{Fr.value=""}}async function Ua(){try{const u=await ys();Sn.value={order:[...u.order],labels:{...u.labels},projectOrder:[...u.projectOrder]}}catch{Sn.value={order:[],labels:{},projectOrder:[]}}}async function wa(u){const p=++bo,C=ot(u).trim();wr.value=C,Wn.value=C,nn.value="",In.value=!0;try{const V=await M_(u,{showHidden:da.value});if(p!==bo)return;wr.value=V.path,Wn.value=V.path,Do.value=V.parentPath,ca.value=V.entries}catch(V){if(p!==bo)return;nn.value=V instanceof Error?V.message:"Failed to load local folders.",Do.value=Is(Wn.value),ca.value=[],ni()}finally{p===bo&&(In.value=!1)}}function dd(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 fd(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 kv(u){Q(u.draggedId,u.targetId)}function hd(u){ye(_o.value,u)}function pd(u){ce(u)}function md(u){Le(u)}function Cv(){$()}function Sv(u){const p=u.turnId.trim();if(p.length>0){const C=[...pa.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 xv(u){jt.value||!fe.value||(pe("default"),Gi(),Ye("Implement",[],[],"steer",[],void 0,"default"))}function Av(){if(jt.value||Lr.value||typeof document>"u"||!te.value||pa.value.length===0)return;const u=Ev(),p=Iv(),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 Ev(){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(`# ${Rv(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 pa.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 Or of ue.fileAttachments)u.push(`- ${Or.path}`);u.push("")}if(ue.images&&ue.images.length>0){u.push("Images:");for(const Or of ue.images)u.push(`- ${Or}`);u.push("")}}return`${u.join(`
61
- `).trimEnd()}
62
- `}function Iv(){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 Rv(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 Pv(){if(typeof window>"u")return"system";const u=window.localStorage.getItem(Ah);return u==="light"||u==="dark"?u:"system"}function Mv(){if(typeof window>"u")return"steer";const u=window.localStorage.getItem(xh);return u==="steer"||u==="queue"?u:"queue"}function $v(){if(typeof window>"u")return"standard";const u=window.localStorage.getItem(Ph);return u==="standard"||u==="wide"||u==="extra-wide"?u:"standard"}function Nv(){Bn.value=!Bn.value,window.localStorage.setItem(Sh,Bn.value?"1":"0")}function Lv(){qr.value=qr.value==="steer"?"queue":"steer",window.localStorage.setItem(xh,qr.value)}function Ov(){const u=["system","light","dark"],p=u.indexOf(ar.value);ar.value=u[(p+1)%u.length],window.localStorage.setItem(Ah,ar.value),Yi()}function jv(){const u=["standard","wide","extra-wide"],p=u.indexOf(Hr.value);Hr.value=u[(p+1)%u.length],window.localStorage.setItem(Ph,Hr.value)}function Dv(){En.value=!En.value,window.localStorage.setItem(Eh,En.value?"1":"0")}function Fv(){E.value=!E.value,window.localStorage.setItem(Ih,E.value?"1":"0")}async function Uv(u){if(!Yt.value){Yt.value=!0;try{if(u==="codex"){Jn.value="codex";const p=await Kf(!1);mt.value=p.enabled}else if(u==="openrouter"){Jn.value="openrouter";const p=await Kf(!0);mt.value=p.enabled,await fs("","",{wireApi:gr.value,provider:"openrouter"})}else u==="opencode-zen"?(Jn.value="opencode-zen",await fs("",qn.value.trim(),{wireApi:"chat",provider:"opencode-zen"}),mt.value=!0):u==="custom"&&(Jn.value="custom",Zr.value.trim()&&fn.value.trim()&&(await fs(Zr.value.trim(),fn.value.trim(),{wireApi:eo.value}),mt.value=!0));yn.value="",await Ue({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0}),we.name==="thread"&&Ie.push({name:"home"})}catch(p){yn.value=p instanceof Error?p.message:"Failed to switch provider"}finally{Yt.value=!1}}}async function cu(){if(vt.value)return;const u=Zr.value.trim();if(u){vt.value=!0;try{yn.value="",await fs(u,fn.value.trim(),{wireApi:eo.value}),mt.value=!0,await Ue({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){yn.value=p instanceof Error?p.message:"Failed to save custom endpoint"}finally{vt.value=!1}}}async function vd(u){if(vt.value||Yt.value||gr.value===u)return;const p=gr.value;gr.value=u,vt.value=!0;try{yn.value="",await fs("","",{wireApi:u,provider:"openrouter"}),mt.value=!0,await Ue({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(C){gr.value=p,yn.value=C instanceof Error?C.message:"Failed to save OpenRouter API format"}finally{vt.value=!1}}async function gd(){if(vt.value)return;const u=qn.value.trim();if(u){vt.value=!0;try{yn.value="",await fs("",u,{wireApi:"chat",provider:"opencode-zen"}),mt.value=!0,await Ue({includeSelectedThreadMessages:!1,providerChanged:!0,awaitAncillaryRefreshes:!0})}catch(p){yn.value=p instanceof Error?p.message:"Failed to save OpenCode Zen config"}finally{vt.value=!1}}}async function yd(){if(!vt.value){vt.value=!0;try{const u=dn.value.trim();await Yf(u),dn.value="",await du(),await Ue({includeSelectedThreadMessages:!1})}catch{}finally{vt.value=!1}}}async function Bv(){if(!vt.value){vt.value=!0;try{await Yf(""),dn.value="",await du(),await Ue({includeSelectedThreadMessages:!1})}catch{}finally{vt.value=!1}}}async function du(){try{const u=await h_();mt.value=u.enabled,Me.value=u.customKey??!1,Ce.value=u.maskedKey??null,u.enabled?u.provider==="opencode-zen"?Jn.value="opencode-zen":u.provider==="custom"?(Jn.value="custom",Zr.value=u.customBaseUrl??"",eo.value=u.wireApi==="chat"?"chat":"responses"):(Jn.value="openrouter",gr.value=u.wireApi==="chat"?"chat":"responses"):Jn.value="codex"}catch{}}function qv(u){const C=fu(u.trim())||"auto";U.value=C,window.localStorage.setItem(Rh,C)}function Hv(){var C;if(typeof window>"u")return"auto";const u=((C=window.localStorage.getItem(Rh))==null?void 0:C.trim())||"auto";return fu(u)||"auto"}function Wv(){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 Yi(){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 zv(){return typeof window>"u"?!1:window.localStorage.getItem(_h)==="1"}function Vv(u){typeof window>"u"||window.localStorage.setItem(_h,u?"1":"0")}function Gv(){if(typeof window>"u")return!0;const u=window.localStorage.getItem(Th);return u===null?!0:u==="1"}function Kv(){mr.value=!mr.value,!(typeof window>"u")&&window.localStorage.setItem(Th,mr.value?"1":"0")}function Yv(u,p){const C=(u??"").trim();return C.length>0?C:p.trim()||"message"}function wd(u){pe(u)}async function Qv(){await Ie.isReady(),we.name==="thread"&&Tr.value&&ne(Tr.value),await Ue({includeSelectedThreadMessages:we.name==="thread"}),Co({silent:!0}),await _v(),Oo.value=!0,await hu(),q()}function Jv(u){return u?O.value.some(p=>p.threads.some(C=>C.id===u)):!1}async function hu(){if(ln.value){Lo=!0;return}ln.value=!0;try{do{if(Lo=!1,we.name==="home"||we.name==="skills"){fe.value!==""&&await ft("");continue}if(we.name==="thread"){const u=Tr.value;if(!u)continue;if(fe.value!==u){if(!Jv(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(Lo)}finally{ln.value=!1}}pt(()=>[we.name,Tr.value,qe.value,fe.value],async()=>{Oo.value&&await hu()}),pt(()=>Nt.value,()=>{Xc()}),pt(()=>[we.name,Nt.value],([u,p])=>{u==="thread"&&zi(p)},{immediate:!0}),pt(()=>fe.value,async u=>{if(Oo.value&&!ln.value&&!(jt.value||Lr.value)){if(!u){we.name!=="home"&&await Ie.replace({name:"home"});return}we.name==="thread"&&Tr.value===u||await Ie.replace({name:"thread",params:{threadId:u}})}}),pt(()=>Vs.value,u=>{if(u.length===0){nt.value="",xo();return}const p=nt.value.trim();p&&(u.some(V=>V.value===p)||(nt.value="")),xo()},{immediate:!0}),pt(()=>nt.value,()=>{tn.value={phase:"idle",title:"",message:""},xo()}),pt(()=>[we.name,nt.value],([u,p])=>{u==="home"&&zi(p)},{immediate:!0}),pt(To,u=>{!u&&en.value==="worktree"&&(en.value="local")},{immediate:!0}),pt(()=>[en.value,nt.value],([u,p])=>{u!=="worktree"||!To.value||bd(p)},{immediate:!0}),pt(()=>en.value,u=>{var p;if(u==="local"){tn.value={phase:"idle",title:"",message:""};const C=nt.value.trim();if(C&&So(C)){const V=((p=te.value)==null?void 0:p.projectName)??jr(C),ee=Zs(V,"");ee&&(nt.value=ee)}return}To.value&&bd(nt.value)}),pt(()=>we.name,u=>{u!=="home"&&(tn.value={phase:"idle",title:"",message:""}),u!=="thread"&&(Kn.value=!1)}),pt(()=>fe.value,()=>{tn.value={phase:"idle",title:"",message:""}}),pt(()=>[we.name,Nt.value,To.value],([u,p,C])=>{if(!(u==="thread"||u==="home"&&C)){ld();return}Ir+=1,or.value={},Yn.value="",Ur.value="",ti(p)},{immediate:!0}),pt(es,u=>{typeof document>"u"||(document.title=u)},{immediate:!0}),pt(st,u=>{u&&!Mt.value&&Wr(!0)},{immediate:!0});async function Xv(u,p=[],C=[],V=[]){try{tn.value={phase:"idle",title:"",message:""};let ee=nt.value;if(en.value==="worktree"){tn.value={phase:"running",title:o("Creating worktree"),message:o("Creating a worktree and running setup.")};try{const He=await C_(nt.value,Jt.value);ee=He.cwd,nt.value=He.cwd,tn.value={phase:"idle",title:"",message:""}}catch{tn.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 N_(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}}),Gi()}catch{}}function Zv(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 eg(u){return`${u.kind}:${u.name}:${u.skillPath??""}`}async function tg(u){var V;if(mo.value)return;mo.value=eg(u);const p=Zv(u),C=(V=u.attachedSkills)!=null&&V.length?u.attachedSkills:u.kind==="skill"&&u.skillPath?[{name:u.name,path:u.skillPath}]:[];try{const ee=w.value.trim()||Nt.value.trim(),ue=await A(p,ee,[],C,[]);if(!ue)return;await Ie.replace({name:"thread",params:{threadId:ue}}),Gi()}catch{}finally{mo.value=""}}async function bd(u){var C;const p=u.trim();if(!p){vn.value=[],Jt.value="";return}nr.value=!0;try{const V=await x_(p);vn.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{vn.value=[],Jt.value=""}finally{nr.value=!1}}return(u,p)=>(k(),I(Ge,null,[Be(Qb,{"is-sidebar-collapsed":Mt.value,onCloseSidebar:p[27]||(p[27]=C=>Wr(!0))},{sidebar:ht(()=>[m("section",xI,[m("div",AI,[Mt.value?X("",!0):(k(),Ze(uh,{key:0,class:"sidebar-thread-controls-host","is-sidebar-collapsed":Mt.value,"show-new-thread-button":!0,onToggleSidebar:p[0]||(p[0]=C=>Wr(!Mt.value)),onStartNewThread:ru},{default:ht(()=>[m("button",{class:"sidebar-search-toggle",type:"button","aria-pressed":xn.value,"aria-label":S(o)("Search threads"),title:S(o)("Search threads"),onClick:nu},[Be(ch,{class:"sidebar-search-toggle-icon"})],8,EI)]),_:1},8,["is-sidebar-collapsed"])),!Mt.value&&xn.value?(k(),I("div",II,[Be(ch,{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:d},null,40,RI),[[sn,Ht.value]]),Ht.value.length>0?(k(),I("button",{key:0,class:"sidebar-search-clear",type:"button","aria-label":S(o)("Clear search"),onClick:i},[Be(RE,{class:"sidebar-search-clear-icon"})],8,PI)):X("",!0)])):X("",!0),Mt.value?X("",!0):(k(),I("button",{key:2,class:et(["sidebar-skills-link",{"is-active":Lr.value}]),type:"button",onClick:p[2]||(p[2]=C=>{S(Ie).push({name:"skills"}),S(st)&&Wr(!0)})},[m("span",MI,[Be(vl)]),m("span",$I,[m("span",NI,P(S(o)("Skills")),1),m("span",LI,P(S(o)("Plugins, apps, MCPs")),1)])],2)),Mt.value?X("",!0):(k(),Ze(nC,{key:3,groups:S(O),"project-display-name-by-id":S(B),"project-git-repo-by-name":Kl.value,"selected-thread-id":S(fe),"is-loading":S(qe),"search-query":Ht.value,"search-matched-thread-ids":Jr.value,onSelect:v,onArchive:it,onStartNewThread:Lm,onRenameProject:Bm,onBrowseThreadFiles:Om,onBrowseProjectFiles:Fm,onRequestProjectGitStatus:zm,onCreateProjectWorktree:Um,onRenameThread:qm,onForkThread:Cr,onRemoveProject:Hm,onReorderProject:Wm,onExportThread:T,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:vo,class:"sidebar-settings-area",onClick:ov},[Be(zp,{name:"settings-panel"},{default:ht(()=>[jn.value?(k(),I("div",{key:0,ref_key:"settingsPanelRef",ref:pr,class:"sidebar-settings-panel",onClick:p[16]||(p[16]=Xe(()=>{},["stop"]))},[m("div",OI,[m("div",jI,[m("div",DI,[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:Kv},[m("span",UI,P(mr.value?"▸":"▾"),1)],8,FI),m("span",BI,P(S(o)("Accounts")),1),m("span",qI,P(gt.value.length),1)]),m("button",{class:"sidebar-settings-account-refresh",type:"button",disabled:Tt.value||An.value||mn.value||Bt.value,onClick:ls},P(Tt.value?S(o)("Reloading…"):S(o)("Reload")),9,HI)]),mr.value?X("",!0):(k(),I(Ge,{key:0},[$t.value?(k(),I("p",WI,P($t.value),1)):X("",!0),m("div",zI,[m("button",{class:"sidebar-settings-account-login-button",type:"button",disabled:Tt.value||An.value||mn.value||Bt.value,onClick:Ui},P(mn.value?S(o)("Starting login…"):S(o)("Login")),9,VI),Mr.value?(k(),I("a",{key:0,class:"sidebar-settings-account-login-link",href:Mr.value,target:"_blank",rel:"noreferrer"},P(S(o)("Open login URL")),9,GI)):X("",!0)]),gt.value.length===0?(k(),I("p",KI,P(S(o)("Click Login, or run `codex login`, then click reload.")),1)):(k(),I("div",YI,[(k(!0),I(Ge,null,Ot(gt.value,C=>(k(),I("article",{key:C.accountId,class:et(["sidebar-settings-account-item",{"is-active":C.isActive,"is-unavailable":Y(C),"is-confirming-remove":ve(C),"is-remove-visible":Ve(C)}]),title:Fa(C),onMouseenter:V=>_t(C.accountId),onMouseleave:V=>bn(C.accountId)},[m("div",JI,[m("p",XI,P(C.email||S(o)("Account")),1),m("p",ZI,P(N(C)),1),m("p",eR,P(Xs(C)),1),m("p",tR," Workspace "+P(M(C.accountId)),1)]),m("div",nR,[m("button",{class:"sidebar-settings-account-switch",type:"button",disabled:le(C)||C.isActive||Y(C),onClick:V=>Hi(C.accountId)},P(bt(C)),9,rR),m("button",{class:et(["sidebar-settings-account-remove",{"is-visible":Ve(C),"is-confirming":ve(C)}]),type:"button",disabled:le(C),onClick:V=>Wi(C.accountId)},P(yt(C)),11,oR)])],42,QI))),128))]))],64))]),m("button",{class:"sidebar-settings-row",type:"button",title:g.sendWithEnter,onClick:Nv},[m("span",sR,P(S(o)("Require ⌘ + enter to send")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":!Bn.value}])},null,2)],8,aR),m("button",{class:"sidebar-settings-row",type:"button",title:g.inProgressSendMode,onClick:Lv},[m("span",lR,P(S(o)("When busy, send as")),1),m("span",uR,P(qr.value==="steer"?S(o)("Steer"):S(o)("Queue")),1)],8,iR),m("button",{class:"sidebar-settings-row",type:"button",title:g.appearance,onClick:Ov},[m("span",dR,P(S(o)("Appearance")),1),m("span",fR,P(ar.value==="system"?S(o)("System"):ar.value==="dark"?S(o)("Dark"):S(o)("Light")),1)],8,cR),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the interface language for the app.")},[m("span",pR,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,Ot(S(l),C=>(k(),I("option",{key:C.value,value:C.value},P(C.label),9,vR))),128))],40,mR)],8,hR),m("button",{class:"sidebar-settings-row",type:"button",title:g.chatWidth,onClick:jv},[m("span",yR,P(S(o)("Chat width")),1),m("span",wR,P(Ql.value),1)],8,gR),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationClickToToggle,onClick:Dv},[m("span",_R,P(S(o)("Click to toggle dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":En.value}])},null,2)],8,bR),m("button",{class:"sidebar-settings-row",type:"button",title:g.dictationAutoSend,onClick:Fv},[m("span",kR,P(S(o)("Auto send dictation")),1),m("span",{class:et(["sidebar-settings-toggle",{"is-on":E.value}])},null,2)],8,TR),m("div",{class:"sidebar-settings-row sidebar-settings-row--select",title:S(o)("Choose the API provider for the Codex backend")},[m("span",SR,P(S(o)("Provider")),1),m("select",{class:"sidebar-settings-provider-select",value:Jn.value,disabled:Yt.value,onChange:p[4]||(p[4]=C=>Uv(C.target.value))},[...p[30]||(p[30]=[m("option",{value:"codex"},"Codex",-1),m("option",{value:"openrouter"},"OpenRouter",-1),m("option",{value:"opencode-zen"},"OpenCode Zen",-1),m("option",{value:"custom"},"Custom endpoint",-1)])],40,xR)],8,CR),yn.value?(k(),I("div",AR,P(yn.value),1)):X("",!0),Jn.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&&!dn.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:Bv},"✕",8,NR)],64)):(k(),I(Ge,{key:1},[zt(m("input",{"onUpdate:modelValue":p[5]||(p[5]=C=>dn.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-or-v1-... (optional, uses free keys if empty)"),onKeydown:hn(yd,["enter"])},null,40,LR),[[sn,dn.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!dn.value.trim(),onClick:yd},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":gr.value==="responses"}]),disabled:vt.value||Yt.value,onClick:p[6]||(p[6]=C=>vd("responses"))}," Responses ",10,UR),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":gr.value==="chat"}]),disabled:vt.value||Yt.value,onClick:p[7]||(p[7]=C=>vd("chat"))}," Completions ",10,BR)],8,FR)])])):X("",!0),Jn.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[8]||(p[8]=C=>qn.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("sk-..."),onKeydown:hn(gd,["enter"])},null,40,GR),[[sn,qn.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!qn.value.trim(),onClick:gd},P(vt.value?"...":S(o)("Save")),9,KR)])])):X("",!0),Jn.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[9]||(p[9]=C=>Zr.value=C),class:"sidebar-settings-key-input",type:"url",placeholder:S(o)("https://api.example.com/v1"),onKeydown:hn(cu,["enter"])},null,40,XR),[[sn,Zr.value]])]),m("span",ZR,P(S(o)("API key")),1),m("div",eP,[zt(m("input",{"onUpdate:modelValue":p[10]||(p[10]=C=>fn.value=C),class:"sidebar-settings-key-input",type:"password",placeholder:S(o)("Bearer token (optional)"),onKeydown:hn(cu,["enter"])},null,40,tP),[[sn,fn.value]]),m("button",{class:"sidebar-settings-key-save",type:"button",disabled:vt.value||!Zr.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":eo.value==="responses"}]),onClick:p[11]||(p[11]=C=>eo.value="responses")}," Responses ",2),m("button",{type:"button",class:et(["sidebar-settings-segmented-option",{"is-active":eo.value==="chat"}]),onClick:p[12]||(p[12]=C=>eo.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),Be(Ts,{class:"sidebar-settings-language-dropdown","model-value":U.value,options:re.value,placeholder:S(o)("Auto-detect"),"open-direction":"up","enable-search":!0,"search-placeholder":S(o)("Search language..."),"onUpdate:modelValue":qv},null,8,["model-value","options","placeholder","search-placeholder"])],8,sP),m("button",{class:"sidebar-settings-row",type:"button","aria-live":"polite",onClick:p[13]||(p[13]=C=>Ma.value=!Ma.value)},[m("span",lP,P(S(o)("Telegram")),1),m("span",uP,P(Zl.value),1)]),Ma.value?(k(),I("div",cP,[m("label",dP,[m("span",fP,P(S(o)("Bot token")),1),zt(m("input",{"onUpdate:modelValue":p[14]||(p[14]=C=>ia.value=C),class:"sidebar-settings-input",type:"password",placeholder:"123456:ABCDEF",autocomplete:"off",spellcheck:"false"},null,512),[[sn,ia.value]])]),m("label",hP,[m("span",pP,P(S(o)("Allowed Telegram user IDs")),1),zt(m("textarea",{"onUpdate:modelValue":p[15]||(p[15]=C=>to.value=C),class:"sidebar-settings-textarea",rows:"3",placeholder:`123456789
63
- 987654321`,spellcheck:"false"},null,512),[[sn,to.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),yr.value?(k(),I("div",vP,P(yr.value),1)):X("",!0),m("div",gP,[m("button",{class:"sidebar-settings-telegram-save",type:"button",disabled:la.value,onClick:tu},P(la.value?S(o)("Saving…"):S(o)("Save Telegram config")),9,yP)])])):X("",!0),Re.value?(k(),I("div",{key:5,class:"sidebar-settings-row sidebar-settings-context-row","data-state":Rn.value,title:Ni.value},[m("span",bP,P(S(o)("Context")),1),m("span",{class:"sidebar-settings-context-value","data-state":Rn.value},[Za(P(qo.value)+" ",1),m("span",TP,P(Ho.value),1)],8,_P)],8,wP)):X("",!0),m("div",kP,[Be(TA,{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:jo,class:"sidebar-settings-button",type:"button",onClick:p[17]||(p[17]=Xe(C=>jn.value=!jn.value,["stop"]))},[Be(TE,{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":b.value,"is-terminal-open":Bo.value}]),style:Jo(Xl.value)},[y.value?(k(),I("span",xP)):X("",!0),Be(iC,{title:qs.value,accent:Lr.value},{leading:ht(()=>[Mt.value||S(st)?(k(),Ze(uh,{key:0,class:"sidebar-thread-controls-header-host","is-sidebar-collapsed":Mt.value,"show-new-thread-button":!0,onToggleSidebar:p[18]||(p[18]=C=>Wr(!Mt.value)),onStartNewThread:ru},null,8,["is-sidebar-collapsed"])):X("",!0),Lr.value?(k(),I("span",AP,[Be(vl)])):X("",!0)]),actions:ht(()=>[va.value?(k(),Ze(Ts,{key:0,class:et(["content-header-terminal-command",{"is-open":Bo.value}]),"model-value":sa.value,options:ro.value,placeholder:Jl.value,"selected-prefix-icon":xE,"icon-only":!0,"empty-label":S(o)("No commands"),"onUpdate:modelValue":Km},null,8,["class","model-value","options","placeholder","empty-label"])):X("",!0),ga.value?(k(),Ze(XA,{key:1,class:"content-header-branch-dropdown","current-branch":Ft.value,"head-sha":Dn.value,"head-subject":Kt.value,"head-date":xt.value,detached:un.value,dirty:Ut.value,branches:go.value,"commits-by-branch":or.value,"commits-loading-for":Yn.value,"commits-error":Ur.value,loading:gn.value,busy:Rr.value,error:pn.value,"review-open":Kn.value,"show-review":S(we).name==="thread"&&S(fe).length>0,onToggleReview:p[19]||(p[19]=C=>Kn.value=!Kn.value),onCheckoutBranch:cv,onResetBranchToCommit:dv,onLoadCommits:fv},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,[Lr.value?(k(),Ze(S(a),{key:0,cwd:w.value,"thread-id":Tr.value,"try-in-flight-key":mo.value,onSkillsChanged:ji,onTryItem:tg},null,8,["cwd","thread-id","try-in-flight-key"])):jt.value?(k(),I("div",IP,[m("div",RP,[m("p",PP,P(S(o)("Let's build")),1),Be(Ts,{class:"new-thread-folder-dropdown","model-value":nt.value,options:Vs.value,placeholder:S(o)("Choose folder"),"enable-search":!0,"search-placeholder":S(o)("Quick search project"),disabled:!1,"onUpdate:modelValue":iv},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:pv},P(S(o)("Select folder")),1),m("button",{class:"new-thread-folder-action",type:"button",onClick:hv},P(S(o)("Create Project")),1)]),De.value?(k(),I("section",NP,[m("div",LP,[m("div",OP,[m("span",jP,[Be(vl)]),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[31]||(p[31]=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:wn},P(S(o)("Explore Plugins & Apps")),1),m("button",{class:"new-thread-launch-card-button",type:"button",onClick:rn},P(S(o)("Dismiss")),1)])])):X("",!0),(k(),Ze(Ga,{to:"body"},[$r.value?(k(),I("div",{key:0,class:"new-thread-open-folder-overlay",onClick:Xe(cs,["self"])},[m("div",{class:"new-thread-open-folder",role:"dialog","aria-modal":"true","aria-label":S(o)("Select folder"),onKeydown:hn(Xe(cs,["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:cs},P(S(o)("Cancel")),1)]),m("p",zP,P(S(o)("Current folder")),1),m("div",VP,[zt(m("input",{ref_key:"existingFolderPathInputRef",ref:ua,"onUpdate:modelValue":p[20]||(p[20]=C=>wr.value=C),class:"new-thread-open-folder-path",type:"text",placeholder:S(o)("Current folder"),title:wr.value||S(o)("Unavailable"),disabled:In.value||ir.value,onBlur:yv,onKeydown:[hn(Xe(wv,["prevent"]),["enter"]),hn(Xe(cs,["prevent"]),["esc"])]},null,40,GP),[[sn,wr.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary",type:"button",disabled:!ja.value||In.value||ir.value,onClick:p[21]||(p[21]=C=>su())},P(ir.value?S(o)("Opening…"):S(o)("Open")),9,KP)]),m("div",YP,[m("label",QP,[zt(m("input",{"onUpdate:modelValue":p[22]||(p[22]=C=>da.value=C),class:"new-thread-open-folder-toggle-input",type:"checkbox",onChange:vv},null,544),[[Sw,da.value]]),m("span",null,P(S(o)("Show hidden folders")),1)]),m("button",{class:et(["new-thread-folder-action",{"new-thread-folder-action-primary":sr.value}]),type:"button","aria-pressed":sr.value,disabled:!Wn.value||In.value||ir.value||no.value||!!nn.value&&!sr.value,onClick:bv},P(S(o)("New folder")),11,JP)]),sr.value?(k(),I("div",XP,[m("div",ZP,[zt(m("input",{ref_key:"createFolderInputRef",ref:cn,"onUpdate:modelValue":p[23]||(p[23]=C=>yo.value=C),class:"new-thread-open-folder-create-input",type:"text",placeholder:S(o)("Folder name"),onKeydown:[hn(Xe(ud,["prevent"]),["enter"]),hn(Xe(ni,["prevent"]),["esc"])]},null,40,eM),[[sn,yo.value]]),m("button",{class:"new-thread-folder-action new-thread-folder-action-primary new-thread-open-folder-create-submit",type:"button",disabled:!Ks.value||no.value,onClick:ud},P(Yl.value),9,tM)]),Hn.value?(k(),I("p",nM,P(Hn.value),1)):X("",!0)])):X("",!0),zt(m("input",{ref_key:"existingFolderFilterInputRef",ref:$a,"onUpdate:modelValue":p[24]||(p[24]=C=>br.value=C),class:"new-thread-open-folder-filter",type:"text",placeholder:S(o)("Filter folders..."),onKeydown:hn(Xe(cs,["prevent"]),["esc"])},null,40,rM),[[sn,br.value]]),nn.value?(k(),I("div",oM,[m("p",aM,P(nn.value),1),m("button",{class:"new-thread-folder-action",type:"button",disabled:In.value||ir.value,onClick:gv},P(S(o)("Retry")),9,sM)])):X("",!0),In.value?(k(),I("p",iM,P(S(o)("Loading folders…")),1)):!nn.value&&Ys.value.length===0?(k(),I("p",lM,P(br.value.trim()?S(o)("No folders match this filter."):S(o)("No subfolders found here.")),1)):Ys.value.length>0?(k(),I("ul",uM,[(k(!0),I(Ge,null,Ot(Ys.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:In.value||ir.value,onClick:V=>mv(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:In.value||ir.value,onClick:V=>su(C.path)},P(S(o)("Open")),9,fM)):X("",!0)]))),128))])):X("",!0)],40,qP)])):X("",!0)])),To.value?(k(),Ze(rE,{key:2,class:"new-thread-runtime-dropdown",modelValue:en.value,"onUpdate:modelValue":p[25]||(p[25]=C=>en.value=C)},null,8,["modelValue"])):X("",!0),en.value==="worktree"?(k(),I("div",hM,[m("p",pM,P(S(o)("Base branch")),1),Be(Ts,{class:"new-thread-branch-dropdown","model-value":Jt.value,options:os.value,placeholder:S(o)("Select branch"),"enable-search":!0,"search-placeholder":S(o)("Search branches..."),disabled:nr.value||os.value.length===0,"onUpdate:modelValue":lv},null,8,["model-value","options","placeholder","search-placeholder","disabled"]),m("p",mM,P(nr.value?S(o)("Loading branches…"):Li.value?S(o)("New worktree branch will start from {branch}.",{branch:Li.value}):S(o)("No Git branches found for this folder.")),1)])):X("",!0),To.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),tn.value.phase!=="idle"?(k(),I("div",{key:5,class:et(["worktree-init-status",{"is-running":tn.value.phase==="running","is-error":tn.value.phase==="error"}])},[m("strong",gM,P(tn.value.title),1),m("span",yM,P(tn.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":_o.value,cwd:Nt.value,onHide:tv,onTerminalFocusChange:nd},null,8,["thread-id","cwd"])):X("",!0),Be(lh,{ref_key:"homeThreadComposerRef",ref:dt,"active-thread-id":_o.value,cwd:Nt.value,"collaboration-modes":S(_e),"selected-collaboration-mode":S(G),models:S(Ne),"selected-model":ts.value,"selected-reasoning-effort":S(ge),"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":qr.value,"dictation-click-to-toggle":En.value,"dictation-auto-send":E.value,"dictation-language":U.value,onSubmit:id,"onUpdate:selectedCollaborationMode":wd,"onUpdate:selectedModel":hd,"onUpdate:selectedReasoningEffort":pd,"onUpdate:selectedSpeedMode":md},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,[Kn.value&&S(fe)&&Nt.value?(k(),Ze(S(r),{key:0,"thread-id":S(fe),cwd:Nt.value,"is-thread-in-progress":L.value,onClose:p[26]||(p[26]=C=>Kn.value=!1)},null,8,["thread-id","cwd","is-thread-in-progress"])):(k(),I(Ge,{key:1},[m("div",_M,[Be(S(t),{ref_key:"threadConversationRef",ref:Cn,messages:pa.value,"is-loading":S(Ke),"active-thread-id":_o.value,cwd:Nt.value,"live-overlay":ma.value,"pending-requests":S(K),onForkThread:Gm,onRollback:Sv,onImplementPlan:xv,onRespondServerRequest:Qc},null,8,["messages","is-loading","active-thread-id","cwd","live-overlay","pending-requests"])]),m("div",TM,[Be(hA,{messages:S(z),onEdit:sv,onSteer:S(ie),onDelete:S(ae),onReorder:kv},null,8,["messages","onSteer","onDelete"]),S(D)&&S(fe)&&Nt.value?(k(),Ze(S(n),{key:0,ref_key:"threadTerminalPanelRef",ref:Ar,class:"content-thread-terminal-panel","thread-id":S(fe),cwd:Nt.value,onHide:nv,onTerminalFocusChange:nd},null,8,["thread-id","cwd"])):X("",!0),ns.value?(k(),Ze(nA,{key:1,request:ns.value,"request-count":S(K).length,"has-queue-above":S(z).length>0,onRespondServerRequest:Qc},null,8,["request","request-count","has-queue-above"])):(k(),Ze(lh,{key:2,ref_key:"threadComposerRef",ref:Lt,"active-thread-id":_o.value,cwd:Nt.value,"collaboration-modes":S(_e),"selected-collaboration-mode":S(G),models:S(Ne),"selected-model":ts.value,"selected-reasoning-effort":S(ge),"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":L.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":qr.value,"dictation-click-to-toggle":En.value,"dictation-auto-send":E.value,"dictation-language":U.value,"onUpdate:selectedCollaborationMode":wd,onSubmit:id,"onUpdate:selectedModel":hd,"onUpdate:selectedReasoningEffort":pd,"onUpdate:selectedSpeedMode":md,onInterrupt:Cv},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"]),Pr.value?(k(),I("div",{key:0,class:"codex-login-modal-backdrop",role:"presentation",onClick:us},[m("form",{class:"codex-login-modal",role:"dialog","aria-modal":"true","aria-label":S(o)("Complete Codex login"),onSubmit:Xe(Bi,["prevent"]),onClick:p[29]||(p[29]=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:us}," × ",8,xM)]),m("p",AM,P(S(o)("Finish login in the browser, then paste the localhost callback URL here.")),1),Mr.value?(k(),I("a",{key:0,class:"codex-login-modal-link",href:Mr.value,target:"_blank",rel:"noreferrer"},P(S(o)("Open login URL")),9,EM)):X("",!0),zt(m("input",{ref_key:"codexLoginCallbackInputRef",ref:Br,"onUpdate:modelValue":p[28]||(p[28]=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),[[sn,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:us},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=St(LM,[["__scopeId","data-v-9c949cee"]]),zu={render:()=>null},jM=qb({history:bb(),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");Pw(OM).use(jM).mount("#app");"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(e=>{console.error(Tm("Service worker registration failed."),e)})});export{UM as $,Ze as A,Oc as B,z0 as C,qM as D,BM as E,Ge as F,HM as G,K0 as H,js as I,Pa as J,WM as K,zt as L,ff as M,i$ as N,u$ as O,c$ as P,FM as Q,l$ as R,Kc as S,zp as T,Ga as U,sn as V,ui as W,Mo as X,Wb as Y,Hb as Z,St 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,oa as b,I as c,Gn as d,Ra as e,X as f,et as g,DM as h,Be as i,_s as j,hC as k,RE as l,Xe as m,Vt as n,k as o,Jo as p,S as q,Ot as r,Za as s,P as t,zc as u,ht as v,pt as w,x,oe as y,nl as z};