@x-otto/tui 0.0.1-alpha.4 → 0.0.1-alpha.6-debug

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,109 +1,109 @@
1
- import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Ct as s,D as c,Dt as l,E as u,Et as d,F as f,Ft as p,G as m,Gt as h,H as g,Ht as _,I as v,It as y,J as b,Jt as x,K as S,Kt as C,L as w,Lt as T,M as E,Mt as ee,N as D,O as te,Ot as ne,P as O,Pt as k,Q as re,Qt as A,R as ie,Rt as j,S as ae,St as oe,T as M,Tt as se,U as ce,Ut as N,V as le,Vt as ue,W as P,Wt as F,X as de,Xt as fe,Y as pe,Yt as me,Z as he,Zt as ge,_ as _e,a as ve,an as ye,at as be,b as xe,c as Se,cn as Ce,ct as we,d as I,dn as Te,dt as Ee,en as De,et as Oe,f as ke,fn as Ae,ft as je,g as Me,gn as Ne,gt as Pe,h as Fe,hn as Ie,ht as Le,i as Re,in as ze,it as Be,j as Ve,jt as He,k as Ue,kt as We,l as Ge,ln as Ke,lt as qe,m as Je,mn as L,mt as Ye,n as Xe,nn as R,nt as Ze,o as Qe,on as $e,ot as et,p as tt,pn as nt,pt as rt,q as it,qt as at,r as ot,rn as st,rt as ct,s as lt,sn as ut,st as dt,t as ft,tn as pt,tt as mt,u as z,un as ht,ut as gt,v as _t,vt,w as yt,wt as bt,x as xt,y as St,zt as Ct}from"./WizardDialog-sc1iSYHB.js";import{i as wt,n as B,r as Tt,t as Et}from"./i18n-Dju4J1Q-.js";import{CommandRegistry as Dt,createBuiltinCommands as Ot,showCommandPalette as kt}from"./compat.js";import{createRequire as At}from"node:module";import jt from"wrap-ansi";import V,{createContext as Mt,createElement as H,useCallback as Nt,useContext as Pt,useEffect as U,useMemo as W,useRef as G,useState as K}from"react";import{Fragment as Ft,jsx as q,jsxs as J}from"react/jsx-runtime";import*as It from"ink";import{Box as Y,Static as Lt,Text as X,render as Rt,useBoxMetrics as zt,useInput as Bt,usePaste as Vt,useStdin as Ht,useStdout as Ut}from"ink";import{I18nextProvider as Wt}from"react-i18next";import{createStore as Gt}from"zustand/vanilla";import{useStore as Kt}from"zustand";import{LARGE_FILE_BYTE_THRESHOLD as qt,matchSubsequence as Jt,matchesGlobPattern as Yt,positionsToHighlightRanges as Xt,rankCandidates as Zt,rankLabeledItems as Qt,rankNamedItems as $t,readFileCapped as en,scoreSubsequence as tn}from"@x-otto/shared";import{readdirSync as nn,statSync as rn}from"node:fs";import{adjustDismissedSigil as an,applySigilCompletion as on,applySigilReplacement as sn,evaluateSigilTrigger as cn,extractSigilPrefix as ln}from"@x-otto/interchange";import{basename as un,dirname as dn,join as fn,resolve as pn}from"node:path";import{execSync as mn,spawn as hn}from"node:child_process";import gn from"chalk";import{DEFAULT_DELEGATION_TOOLS as _n,SESSION_MAX_PER_SESSION_BYTES as vn,SESSION_RESUME_WINDOW_MESSAGES as yn}from"@x-otto/session-contract";import{marked as bn}from"marked";import{PassThrough as xn}from"node:stream";const Sn=[`trust`,`readonly`,`exit`];function Cn({root:e,onChoice:t}){let n=[{key:`trust`,label:B.t(`trust.optTrust`),color:L.success},{key:`readonly`,label:B.t(`trust.optReadonly`),color:L.accent},{key:`exit`,label:B.t(`trust.optExit`),color:L.inactive}];return J(T,{header:q(y,{color:L.warning,children:B.t(`trust.title`)}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[`1/2/3`,B.t(`hint.quick`)],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.exit`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{wrap:`truncate-end`,children:B.t(`trust.body`,{path:e})})}),q(Y,{marginTop:A.tight,children:q(Pe.Root,{id:`trust-prompt-dialog`,onPick:e=>t(Sn[e]??`exit`),escapeIndex:Sn.indexOf(`exit`),children:n.map(e=>q(Pe.Item,{label:e.label,color:e.color},e.key))})})]})}function wn(e){return Tt(e.language===`zh`?`zh`:e.language===`en`?`en`:Et()),new Promise(t=>{let n=!1,r=Rt(V.createElement(Cn,{root:e.root,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),N(),t(e))}}),{exitOnCtrlC:!1})})}const Tn=[`use_parent`,`create_new`,`exit`];function En({parentRoot:e,currentRoot:t,onChoice:n}){let r=[{key:`use_parent`,label:B.t(`parent.optUseParent`),color:L.success},{key:`create_new`,label:B.t(`parent.optCreateNew`),color:L.accent},{key:`exit`,label:B.t(`parent.optExit`),color:L.inactive}];return J(T,{header:q(y,{color:L.warning,children:B.t(`parent.title`)}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[`1/2/3`,B.t(`hint.quick`)],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.exit`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{wrap:`truncate-end`,children:B.t(`parent.body`,{parentRoot:e,currentRoot:t})})}),q(Y,{marginTop:A.tight,children:q(Pe.Root,{id:`parent-workspace-dialog`,onPick:e=>n(Tn[e]??`exit`),escapeIndex:Tn.indexOf(`exit`),children:r.map(e=>q(Pe.Item,{label:e.label,color:e.color},e.key))})})]})}function Dn(e){return Tt(e.language===`zh`?`zh`:e.language===`en`?`en`:Et()),new Promise(t=>{let n=!1,r=Rt(V.createElement(En,{parentRoot:e.parentRoot,currentRoot:e.currentRoot,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),N(),t(e))}}),{exitOnCtrlC:!1})})}const On={five_hour:`5h`,seven_day:`7d`,seven_day_opus:`7d-opus`,seven_day_sonnet:`7d-sonnet`,seven_day_overage_included:`7d`},kn={five_hour:`5-hour`,seven_day:`7-day`,seven_day_opus:`7-day (Opus)`,seven_day_sonnet:`7-day (Sonnet)`,seven_day_overage_included:`7-day`};function An(e){return kn[e]??e}function jn(e,t){let n=Math.max(0,Math.round(e-t/1e3)),r=Math.floor(n/3600),i=Math.floor(n%3600/60);return r>0?`${r}h${i>0?`${i}m`:``}`:i>0?`${i}m`:`<1m`}function Mn(e,t){return e===`rejected`&&(t===`allowed`||t===`allowed_warning`)}function Nn(e,t){let n=e.limitType?On[e.limitType]??e.limitType:``,r=e.usedPercent===void 0?``:` ${Math.round(e.usedPercent)}%`,i=!!(n||r);if(Mn(e.status,e.overageStatus)&&e.overageResetsAt!==void 0)return`${n}${r} +${jn(e.overageResetsAt,t)}`.trim();let a=i?` → `:``;return`${n}${r}${e.resetsAt===void 0?``:`${a}${jn(e.resetsAt,t)}`}`.trim()}const Pn={five_hour:300*60,seven_day:10080*60,seven_day_opus:10080*60,seven_day_sonnet:10080*60,seven_day_overage_included:10080*60};function Fn(e,t,n,r){if(!e||t===void 0||n===void 0)return null;let i=Pn[e];if(!i)return null;let a=r/1e3,o=n-i,s=Math.max(0,Math.min(100,Math.round((a-o)/i*100)));return(e===`five_hour`?[[90,72]]:[[75,60],[50,35],[25,15]]).some(([e,n])=>t>=e&&s<=n)?{usedPct:t,timePct:s}:null}function In(e,t,n,r,i,a){return Mn(e,a)||e===`allowed_warning`||e===`allowed`&&i!==void 0&&Fn(t,n,r,i)?`warning`:`inactive`}function Z(e,t){return Kt(e.zustand,t)}function Ln(e){let t=Gt()(()=>e);return{getState:()=>t.getState(),setState:e=>{let n=t.getState(),r=typeof e==`function`?e(n):e,i=!1;for(let e of Object.keys(r))if(!Object.is(n[e],r[e])){i=!0;break}i&&t.setState(r)},subscribe:e=>t.subscribe(()=>e()),zustand:t}}var Rn=class{buffer=``;active=!1;timer=null;timeoutMs;onEmptyPaste;constructor(e={}){this.timeoutMs=e.timeoutMs??100,this.onEmptyPaste=e.onEmptyPaste}get isPasting(){return this.active}get currentBuffer(){return this.active?this.buffer:``}feed(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(`\x1B[200~`,n),i=e.indexOf(`\x1B[201~`,n),a=r>=0&&i>=0&&i<r;if(this.active){if(r>=0&&!a){this.buffer+=e.slice(n,r),this.clearTimer(),t.push(this.flushPasteEnd()),n=r+6,this.active=!0,this.resetTimer(),t.push({type:`paste_start`});continue}if(i>=0){this.buffer+=e.slice(n,i),this.clearTimer(),t.push(this.flushPasteEnd()),n=i+6;continue}this.buffer+=e.slice(n),this.resetTimer();break}if(r>=0){this.active=!0,this.resetTimer(),t.push({type:`paste_start`}),n=r+6;continue}if(i>=0){n=i+6;continue}break}return t}forceEnd(){if(!this.active)return null;this.clearTimer();let e=this.buffer;return this.buffer=``,this.active=!1,{type:`paste_timeout`,partialText:e}}reset(){this.clearTimer(),this.buffer=``,this.active=!1}destroy(){this.reset()}resetTimer(){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>this.forceEnd(),this.timeoutMs)}clearTimer(){this.timer&&=(clearTimeout(this.timer),null)}flushPasteEnd(){let e=this.buffer,t=e.length===0;return this.buffer=``,this.active=!1,t&&this.onEmptyPaste?.(),{type:`paste_end`,text:e,isEmpty:t}}};const zn=/^\x1b\[(\d+)(?:;(\d+))?u$/,Bn=/^\x1b\[27;(\d+);(\d+)~$/,Vn=/^\x1b\[(\d+)~$/;function Hn(e){if(!e.startsWith(`\x1B[`)&&!e.startsWith(`\x1BO`))return null;let t=e.match(zn);if(t){let n=parseInt(t[1],10),r=t[2]?parseInt(t[2],10):1,i=r>0?r-1:0;return{name:Un(n),ctrl:!!(i&4),alt:!!(i&2),shift:!!(i&1),meta:!!(i&8),sequence:e}}let n=e.match(Bn);if(n){let t=parseInt(n[1],10),r=parseInt(n[2],10),i=!!(t&8);return{name:Un(r),ctrl:!!(t&4),alt:i,shift:!!(t&2),meta:i,sequence:e}}if(e.startsWith(`\x1BO`)){let t=e[2],n={A:`up`,B:`down`,C:`right`,D:`left`,H:`home`,F:`end`,P:`f1`,Q:`f2`,R:`f3`,S:`f4`};return t&&t in n?{name:n[t],shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}let r=e.match(/^\x1b\[(?:\d+;)?(\d+)?([ABCD])$/);if(r){let t={A:`up`,B:`down`,C:`right`,D:`left`},n=r[1]?parseInt(r[1],10):1;return{name:t[r[2]],ctrl:!!(n&4),alt:!!(n&8),shift:!!(n&2),meta:!!(n&8),sequence:e}}let i=e.match(Vn);return i?{name:Wn(parseInt(i[1],10)),shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}function Un(e){return e>=97&&e<=122?String.fromCharCode(e):e>=65&&e<=90?String.fromCharCode(e+32):e===13?`return`:e===9?`tab`:e===27?`escape`:e===32?`space`:e===127||e===8?`backspace`:String.fromCharCode(e)}function Wn(e){switch(e){case 1:case 7:return`home`;case 2:return`insert`;case 3:return`delete`;case 4:case 8:return`end`;case 5:return`pageup`;case 6:return`pagedown`;case 11:return`f1`;case 12:return`f2`;case 13:return`f3`;case 14:return`f4`;case 15:return`f5`;case 17:return`f6`;case 18:return`f7`;case 19:return`f8`;case 20:return`f9`;case 21:return`f10`;case 23:return`f11`;case 24:return`f12`;default:return`f${e}`}}function Gn(e){if(!process.stdout.isTTY)return;let t=Kn(e);t&&process.stdout.write(`\x1b]0;${t}\x07`)}function Kn(e){let t=e.replace(/[\x00-\x1f\x7f-\x9f]/g,``).replace(/[\u200b\u200c\u200e\u200f\u202a-\u202e\u2060-\u206f\ufeff]/g,``).replace(/\s+/g,` `).trim();return t.length>240?t.slice(0,240):t}function qn(e,t,n){return t?`\x1b]8;${n?`id=${encodeURIComponent(n)}`:``};${encodeURIComponent(t)}\x1b\\${e}\x1b]8;;\x1b\\`:e}function Jn(e,t,n,r){let i=t.startsWith(`file://`)?t:`file://${t}`;return n!==void 0&&(i+=`#L${n}`),r!==void 0&&(i+=`:${r}`),qn(e,i)}function Yn(e,t=`c`){let n=Buffer.from(e,`utf-8`).toString(`base64`);process.stdout.write(`\x1b]52;${t};${n}\x07`)}function Xn(e=`c`){return`\x1b]52;${e};?\x07`}function Zn(){process.stdout.write(`\x1BP=1s\x1B\\`)}function Qn(){process.stdout.write(`\x1BP=2s\x1B\\`)}function $n(e){Zn();try{return e()}finally{Qn()}}const er=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function tr(e){return e.includes(`\x1B[?2026`)?e.replace(er,``):e}function nr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?tr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function rr(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const ir=RegExp(`\x1B\\[3J`,`g`);function ar(e){return e.includes(`\x1B[3J`)?e.replace(ir,``):e}function or(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?ar(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function sr(e=50){let t=[],n=0;return{snapshot(r){let i=Date.now();if(i-n<1e3)return;n=i;let a=t[t.length-1];a&&a.text===r.text&&a.offset===r.offset||(t.push({text:r.text,offset:r.offset,timestamp:i}),t.length>e&&t.splice(0,t.length-e))},undo(){return t.length===0?null:(n=0,t.pop())},get depth(){return t.length},reset(){t.length=0,n=0}}}function cr(e,t){if(!e)return[];let n=[];for(let r=t.length-1;r>=0;r--){let i=t[r],a=Jt(e,i);a&&n.push({entry:i,index:r,score:a.score,highlightRanges:Xt(a.positions)})}return n.sort((e,t)=>t.score-e.score||t.index-e.index),n.map(({entry:e,highlightRanges:t})=>{let n=t[0],r=t.at(-1);return{entry:e,matchStart:n?.start??0,matchEnd:r?.end??0,highlightRanges:t}})}function lr(e={}){let t=e.maxSize??100,n=e.initialEntries?[...e.initialEntries]:[];n.length>t&&n.splice(0,n.length-t);let r=-1,i=``,a=!1,o=[],s=``;return{push(e){e.length!==0&&(n.length>0&&n[n.length-1]===e||(n.push(e),n.length>t&&n.shift()))},navigateUp(e){return n.length===0?null:r===-1?(i=e,r=n.length-1,n[r]):r<=0?null:(r--,n[r])},navigateDown(){return r===-1?null:(r++,r>=n.length?(r=-1,i):n[r])},resetNavigation(){r=-1,i=``},beginSearch(e){s=e,a=!0,o=[],r===-1&&(i=e)},search(e){return!a||!e?[]:(o=cr(e,n),o)},acceptSearch(e){if(e<0||e>=o.length)return null;let t=o[e].entry;return a=!1,r=n.indexOf(t),t},cancelSearch(){return a=!1,o=[],s},get size(){return n.length},get navState(){return r===-1?null:{position:n.length-r,total:n.length}},getAll(){return n},clear(){n.length=0,r=-1,i=``,a=!1,o=[]}}}function ur(e,t){let n=process.env[e];if(!n)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:t}const dr=ur(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),fr=ur(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),pr=ur(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),mr={healthy:1,warning:2,critical:4},hr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function gr(e){let t=[];hr.lastIndex=0;let n;for(;(n=hr.exec(e))!==null;)t.push({start:n.index,end:n.index+n[0].length,id:Number.parseInt(n[1],10)});return t}function _r(e){return Buffer.byteLength(e,`utf-8`)}function vr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function yr(e={}){let{residencyGovernor:t}=e,n=new Map,r=1,i=0,a=0;function o(){return t?.currentLevel??`healthy`}function s(){return Math.max(1,Math.floor(dr/mr[o()]))}function c(){return Math.max(1,Math.floor(fr/mr[o()]))}function l(e){let t=s(),r=c();for(;n.size>0&&(n.size>=t||i+e>r);){let e=n.keys().next().value;if(e===void 0)break;let t=n.get(e);t&&(i-=t.byteLength),n.delete(e),a++}}return{foldIfLarge(e){let t=e.split(`
2
- `);if(e.length<=800&&t.length<=20)return e;let a=_r(e);l(a);let o=r++;return n.set(o,{text:e,byteLength:a}),i+=a,t.length>1?`[@paste:#${o} +${t.length} lines]`:`[@paste:#${o}]`},expandAll(e){let t=gr(e);if(t.length===0)return{text:e,missingIds:[]};let r=[],s=o(),c=[...t].sort((e,t)=>t.start-e.start),l=e;for(let e of c){let t=n.get(e.id);if(t===void 0){r.push(e.id);continue}l=l.slice(0,e.start)+t.text+l.slice(e.end),s===`healthy`?(n.delete(e.id),n.set(e.id,t)):(n.delete(e.id),i-=t.byteLength,a++)}return{text:l,missingIds:r.sort((e,t)=>e-t)}},findMissingIds(e){let t=gr(e),r=[];for(let e of t)n.has(e.id)||r.push(e.id);return[...new Set(r)].sort((e,t)=>e-t)},peek(e){return n.get(e)?.text},truncateIfNeeded(e){return e.length<=1e4?e:e.slice(0,500)+`\n[...Truncated ${e.length-500-500} chars...]\n`+e.slice(e.length-500)},addImageRef(){return`[@paste:image #${r++}]`},afterSubmit(e){if(o()!==`healthy`)for(let t of gr(e)){let e=n.get(t.id);e!==void 0&&(n.delete(t.id),i-=e.byteLength,a++)}},toSnapshot(){let e=[...n.entries()].map(([e,t])=>({id:e,text:t.text,byteLength:t.byteLength})),t=e.reduce((e,t)=>e+t.byteLength,0),i=0;for(;i<e.length&&t>pr;)t-=e[i].byteLength,i++;return{entries:i>0?e.slice(i):e,nextId:r}},hydrate(e){n.clear(),i=0;let t=Math.max(1,Math.floor(vr(e?.nextId)??0));for(let n of e?.entries??[]){let e=vr(n?.id);e!==void 0&&(t=Math.max(t,e+1))}r=Math.max(r,t);for(let t of e?.entries??[]){let e=vr(t?.id);if(e===void 0||typeof t?.text!=`string`||n.has(e))continue;let r=_r(t.text);n.set(e,{text:t.text,byteLength:r}),i+=r}},get size(){return n.size},get bytesUsed(){return i},get evictionCount(){return a},clear(){n.clear(),i=0}}}function br(e){let t=e?[...e]:[],n=new Map;return{register(e){for(let n of e)t.some(e=>e.name===n.name)||t.push(n);t.sort((e,t)=>(e.sortKey??e.name).localeCompare(t.sortKey??t.name))},search(e,n=50){return Zt(t.map(e=>({text:e.name,aliases:[...e.aliases??[],...e.description?[e.description]:[]],payload:e,sortKey:e.sortKey})),e,{maxResults:n}).map(e=>e.item.payload)},getAll:()=>t,find:e=>t.find(t=>t.name===e),registerArgumentSuggester(e,t){n.set(e,t)},getArgumentSuggester(e){return n.get(e)}}}function xr(e,t){let n=e.slice(0,t).trimStart();if(!n.startsWith(`/`))return null;let r=n.match(/^\/(.*)$/);return r?r[1]??``:null}function Sr(e,t,n){let r=xr(e,t);if(r===null)return null;let i=r.indexOf(` `);if(i>0){let e=r.slice(0,i),t=r.slice(i+1),a=n.getArgumentSuggester(e);if(a){let n=$t(a(t),t);if(n.length>0)return{suggestions:n,selectedIndex:0,prefix:`/${r}`,panelOpen:!0,argCommand:e}}return null}let a=n.search(r);return a.length===0?null:{suggestions:a,selectedIndex:0,prefix:`/${r}`,panelOpen:!0}}function Cr(e,t){switch(t){case`prev`:return{...e,selectedIndex:(e.selectedIndex-1+e.suggestions.length)%e.suggestions.length};case`next`:return{...e,selectedIndex:(e.selectedIndex+1)%e.suggestions.length};case`accept`:return`accept`;case`dismiss`:return`dismiss`}}function wr(e,t,n){let r=e.slice(0,t),i=r.lastIndexOf(`/`);if(i<0)return{text:e,offset:t};let a=r.slice(i+1),o=a.indexOf(` `),s=o>=0?a.slice(o):` `,c=`/${n.name}${s}`;return{text:e.slice(0,i)+c+e.slice(t),offset:i+c.length}}function Tr(e){return{text:e,offset:e.length}}function Er(e,t,n,r){if(!e)return null;let i=t.slice(0,n),a=i.lastIndexOf(`
3
- `)+1;return Le(i.slice(a)+(t.slice(n).split(`
4
- `)[0]??``))+Le(e)>r?null:e}function Dr(e){return e.startsWith(`!!`)?{prefix:`!!`,body:e.slice(2)}:e.startsWith(`!`)?{prefix:`!`,body:e.slice(1)}:{prefix:``,body:e}}function Or(e){return e.startsWith(`!!`)?e.slice(2):e.startsWith(`!`)?e.slice(1):e}function kr(e,t,n){let{prefix:r,body:i}=Dr(e);if(r.length>0){if(i.length===0)return null;let e=i.toLowerCase();for(let a=n.length-1;a>=0;a--){let o=Or(n[a]);if(o.length<=i.length||!o.toLowerCase().startsWith(e))continue;let s=r+o;return{fullText:s,suffix:s.slice(t),kind:`history`}}return null}let a=e.toLowerCase();for(let r=n.length-1;r>=0;r--){let i=n[r];if(!(i.length<=e.length)&&i.toLowerCase().startsWith(a))return{fullText:i,suffix:i.slice(t),kind:`history`}}return null}function Ar(e,t,n){let r=xr(e,t);if(r===null||r.length===0)return null;let i=r.indexOf(` `);if(i>0){let a=r.slice(0,i),o=r.slice(i+1),s=n.getArgumentSuggester(a);if(!s)return null;let c=$t(s(o),o,{maxResults:1});if(c.length===0)return null;let l=Mr(e,t,a,c[0].name);return{fullText:l.text,suffix:l.text.slice(t),kind:`slash-arg`}}let a=n.search(r,1);if(a.length===0)return null;let o=wr(e,t,a[0]);return{fullText:o.text,suffix:o.text.slice(t),kind:`slash-command`}}function jr(e){let{text:t,offset:n,dismissedPrefix:r,history:i,registry:a}=e;if(n!==t.length||t.length===0||r!==void 0&&r===t)return null;if(a&&t.trimStart().startsWith(`/`)){let e=xr(t,n);if(e!==null&&e.length===0)return null;let r=Ar(t,n,a);if(r)return r}return kr(t,n,i)}function Mr(e,t,n,r){let i=e.slice(0,t),a=i.lastIndexOf(`/`);if(a<0)return{text:e,offset:t};let o=i.slice(a+1).indexOf(` `);if(o<0)return{text:e,offset:t};let s=a+1+o+1;return{text:e.slice(0,s)+r+e.slice(t),offset:s+r.length}}function Nr(e){return(e.VISUAL||e.EDITOR||``).trim()||(process.platform===`win32`?`notepad`:`vi`)}function Pr(e,t){let n=Nr(t.env),r=null;try{r=t.mkdtempSync(t.join(t.tmpdir(),`otto-edit-`));let i=t.join(r,`prompt.md`);t.writeFileSync(i,e);let a=n.split(/\s+/).filter(Boolean),o=a[0],s=[...a.slice(1),i],c=t.spawnSync(o,s,{stdio:`inherit`});return c.error?{ok:!1,error:`cannot launch editor "${n}": ${c.error.message}`}:c.status!=null&&c.status!==0?{ok:!1,error:`editor exited with code ${c.status}`}:{ok:!0,text:t.readFileSync(i).replace(/\n$/,``)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}finally{if(r)try{t.rmSync(r,{recursive:!0,force:!0})}catch{}}}function Fr(){let e=Ne(`fs`),t=Ne(`os`),n=Ne(`path`),r=Ne(`child_process`);return{env:process.env,tmpdir:()=>t.tmpdir(),join:(...e)=>n.join(...e),mkdtempSync:t=>e.mkdtempSync(t),writeFileSync:(t,n)=>e.writeFileSync(t,n),readFileSync:t=>e.readFileSync(t,`utf8`),rmSync:(t,n)=>e.rmSync(t,n),spawnSync:(e,t,n)=>{let i=r.spawnSync(e,t,n);return{status:i.status,error:i.error}}}}const Ir=`/overlay/toast`,Lr=`/overlay/pause`,Rr=`/overlay/retry`,zr=`/overlay/error-retry`,Br=`/overlay/pulse-survey`,Vr=`/overlay/forced-upgrade`,Hr=`/overlay/paste-confirm`,Ur=`/overlay/services`,Wr=`/overlay/chip-viewer`,Gr=[Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr];function Kr(e){return e.startsWith(`/overlay/`)}function qr(e,t,n){e&&(n?e.ensure(t):e.dismiss(t))}const Jr=[/\bpassword\s*=/i,/\btoken\s*=/i,/export\s+\w*key\w*\s*=/i,/\bsecret\s*=/i];function Yr(e,t=Jr){return t.some(t=>t.test(e))}const Xr=`zsh-histfile`,Zr=/^: (\d+):(\d+);(.*)$/s;function Qr(e){let t=[],n;for(let r of e){let e=n===void 0?r:`${n}\n${r}`;if($r(r)){n=e.slice(0,-1);continue}t.push(e),n=void 0}return n!==void 0&&t.push(n),t}function $r(e){let t=0;for(let n=e.length-1;n>=0&&e[n]===`\\`;n--)t++;return t%2==1}function ei(e,t={}){let{source:n=Xr,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o=0;for(let t of Qr(e.split(`
5
- `))){if(!t)continue;let e=t.match(Zr);if(e){let t=e[3]??``;if(!t||i&&Yr(t,r))continue;a.push({command:t,timestamp:Number(e[1])*1e3,source:n});continue}if(t.startsWith(`:`))continue;let s=t.trim();s&&(i&&Yr(s,r)||(a.push({command:s,timestamp:o,source:n}),o++))}return ti(a)}function ti(e){let t=new Map;for(let n of e){let e=ri(n.command),r=t.get(e);(!r||ni(n)>=ni(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>ni(e)-ni(t))}function ni(e){return e.timestamp??0}function ri(e){return e.trim().replace(/\s+/g,` `)}const ii=`bash-histfile`;function ai(e,t={}){let{source:n=ii,sensitivePatterns:r,filterSensitive:i=!0}=t,a=e.split(`
6
- `),o=[],s=0;for(let e=0;e<a.length;e++){let t=a[e];if(!t)continue;let c=t.match(/^#(\d+)$/);if(c){let t=a[e+1]?.trim();if(!t)continue;if(i&&Yr(t,r)){e++;continue}o.push({command:t,timestamp:Number(c[1])*1e3,source:n}),e++;continue}if(t.startsWith(`#`))continue;let l=t.trim();l&&(i&&Yr(l,r)||(o.push({command:l,timestamp:s,source:n}),s++))}return oi(o)}function oi(e){let t=new Map;for(let n of e){let e=ri(n.command),r=t.get(e);(!r||si(n)>=si(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>si(e)-si(t))}function si(e){return e.timestamp??0}const ci=`fish-histfile`;function li(e,t={}){let{source:n=ci,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o,s,c=0,l=()=>{if(o){if(i&&Yr(o,r)){o=void 0,s=void 0;return}a.push({command:o,timestamp:s??c++,source:n}),o=void 0,s=void 0}};for(let t of e.split(`
7
- `)){let e=t.match(/^\s*-\s*cmd:\s*(.+)$/);if(e){l(),o=ui(e[1].trim());continue}let n=t.match(/^\s*when:\s*(\d+)\s*$/);if(n&&o){s=Number(n[1])*1e3;continue}!t.trim()&&!t.startsWith(`-`)&&l()}return l(),di(a)}function ui(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function di(e){let t=new Map;for(let n of e){let e=ri(n.command),r=t.get(e);(!r||fi(n)>=fi(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>fi(e)-fi(t))}function fi(e){return e.timestamp??0}const pi=`otto-session`,mi={[pi]:2};function hi(e,t,n={}){let r=t.reduce((e,t)=>Math.max(e,vi(t)),0),i=Math.max(n.ottoTimestampBase??0,r+1),a=e.map((e,t)=>({command:e,source:pi,timestamp:i+t})),o=[...t,...a],s=new Map;for(let e of o){let t=ri(e.command);if(!t)continue;let n=s.get(t);if(!n){s.set(t,e);continue}s.set(t,gi(n,e))}return[...s.values()].sort((e,t)=>vi(e)-vi(t))}function gi(e,t){let n=_i(e.source),r=_i(t.source);return n===r?vi(e)>=vi(t)?e:t:n>r?e:t}function _i(e){return mi[e]??1}function vi(e){return e.timestamp??0}function yi(e){return e.map(e=>e.command)}function bi(e,t,n){let r=hi(e,t,n);return{getCommands:()=>yi(r),getEntries:()=>r}}function xi(e,t){let n=e.startsWith(`!!`)?2:e.startsWith(`!`)?1:0;if(n===0)return null;let r=e.slice(n),i=t-n;if(i<=0)return{word:``,start:n,source:`command`};let a=r.slice(0,i),o=r.slice(i),s=a.lastIndexOf(` `)+1,c=a.slice(s),l=o.search(/\s/),u=c+(l===-1?o:o.slice(0,l)),d=r.slice(0,s).trim()===``?`command`:`path`;return{word:u,start:s+n,source:d}}let Si=null;function Ci(){if(Si)return Si;let e=(process.env.PATH??`/usr/local/bin:/usr/bin:/bin`).split(`:`).filter(Boolean),t=new Set,n=[];for(let r of e)try{let e=nn(r);for(let r of e)t.has(r)||(t.add(r),n.push(r))}catch{}return n.sort(),Si=n,n}function wi(e){let t=e.toLowerCase();return Ci().filter(e=>e.toLowerCase().startsWith(t))}function Ti(e,t){let n=pn(t,e),r=e.endsWith(`/`)||e===``?n:dn(n),i=e.endsWith(`/`)||e===``?``:un(n),a;try{a=nn(r)}catch{return[]}let o=i.toLowerCase(),s=[];for(let e of a){if(!e.toLowerCase().startsWith(o)||e.startsWith(`.`))continue;let t=pn(r,e),n;try{n=rn(t)}catch{continue}n.isDirectory()?s.push(e+`/`):s.push(e)}return s.sort(),s}function Ei(e){if(e.length===0)return``;if(e.length===1)return e[0];let t=0,n=e[0];for(;t<n.length;){let r=n[t];for(let i of e)if(t>=i.length||i[t]!==r)return n.slice(0,t);t++}return n}function Di(e,t){switch(t){case`prev`:return{...e,selectedIndex:(e.selectedIndex-1+e.completions.length)%e.completions.length};case`next`:return{...e,selectedIndex:(e.selectedIndex+1)%e.completions.length};case`accept`:return`accept`;case`dismiss`:return`dismiss`}}function Oi(e,t,n){let r=n.completions[n.selectedIndex];if(!r)return{text:e,offset:t};let{wordStart:i,prefix:a}=n,o=i+a.length+(e.slice(i+a.length).search(/\s|$/)===-1?e.length-i-a.length:Math.max(0,e.slice(i+a.length).search(/\s/))),s=e.slice(0,i),c=e.slice(o),l=r,u=i===1?` `:``;return{text:s+l+u+c,offset:i+l.length+u.length}}function ki(e,t){let n=Ei(t.completions);if(n.length<=t.prefix.length)return{text:e,offset:e.length};let r=e.slice(0,t.wordStart),i=e.slice(t.wordStart+t.prefix.length);return{text:r+n+i,offset:t.wordStart+n.length}}function Ai(e){return e.startsWith(`!!`)?`bash_async`:e.startsWith(`!`)?`bash`:e.startsWith(`#`)?`memory`:`send`}function ji(e,t){return t===`bash_async`&&e.startsWith(`!!`)?e.slice(2):t===`bash`&&e.startsWith(`!`)||t===`memory`&&e.startsWith(`#`)?e.slice(1):e}const Mi={send:`> `,bash:`! `,bash_async:`!! `,memory:`# `};function Ni({columns:t=80,placeholder:n=``,disabled:r=!1,reviewing:i=!1,commands:a=[],onSubmit:o,onInterrupt:c,onClear:l,onEscape:u,onHistorySearch:d,historySearchOpen:p=!1,sigilEnabled:m=!1,onSigilTrigger:h,onSigilClose:g,onChipReopen:_,onChipViewPaste:y,onToast:b,onDraftSave:x,keybindingOverrides:S,onPasteConfirm:w,cwd:T,historyInsertRef:E,pasteBridgeRef:ee,initialHistory:D,externalHistoryCommands:te,onHistoryPush:ne,onHistoryNavChange:O,residencyGovernor:re,registryRef:ie,shellBackendRef:ae}){let oe=C(),[M,se]=K(``),[N,le]=K(0),[ue,P]=K(`send`),[F,fe]=K(null),pe=G(null),me=pe.current??=lr({initialEntries:D}),[he,ge]=K(0),_e=W(()=>te?.length?te.map(e=>({command:e,source:`external-shell`})):[],[te]),ve=W(()=>{let e=me.getAll();return _e.length?yi(hi(e,_e)):e},[me,he,_e]);E&&(E.current={fill:e=>Ke(e,e.length),append:e=>{let t=M+e;Ke(t,t.length)}});let xe=G(null),Se=xe.current??=sr(),Ce=G(null),we=Ce.current??=yr({residencyGovernor:re});ee&&(ee.current={hydrate:e=>we.hydrate(e),export:()=>we.toSnapshot()});let I=W(()=>br(a),[a]);ie&&(ie.current=I);let{setRawMode:Te}=Ht(),Ee=G(0),ke=G(null),Ae=G(null),[Me,Ne]=K(null),Pe=G(!1),Fe=G(M),Ie=G(N);Fe.current=M,Ie.current=N;let[Re,Be]=K(void 0),Ve=W(()=>p||Me?.visible||ke.current!==null?null:jr({text:M,offset:N,dismissedPrefix:Re,history:ve,registry:I}),[M,N,Re,p,Me,ue,F,I,ve]),He=W(()=>{if(!Ve)return;let e=Math.max(20,t-Le(Mi[ue]));return Er(Ve.suffix,M,N,e)??void 0},[Ve,M,N,t,ue]),Ue=W(()=>new Set(we.findMissingIds(M)),[M,we]),We=Nt((e,t,n,r)=>{e!==M&&Be(void 0),!r?.fromHistoryRecall&&me.navState!==null&&(me.resetNavigation(),O?.(null)),Se.snapshot({text:M,offset:N});let i=Math.max(0,Math.min(t,e.length));if(se(e),le(i),P(Ai(e)),fe(Sr(e,t,I)),Ne(null),!m||!h){Ae.current=an(Ae.current,M,e),ke.current=null;return}let a=cn({source:n,oldText:M,newText:e,cursorOffset:i,dismissed:Ae.current});if(Ae.current=a.dismissed,a.action!==`open`){ke.current=null,a.action===`close`&&g?.();return}let o=a.trigger;ke.current={sigil:o.sigil,anchor:o.anchor,cursor:i},h(o.sigil,o.query,{select:t=>{let n=ke.current;if(ke.current=null,!n)return;let r=on(e,n.cursor,n.anchor,t);We(r.text,r.offset,`completion`)},cancel:t=>{let n=ke.current;if(ke.current=null,n){if(!t){Ae.current={sigil:n.sigil,anchor:n.anchor,tokenLength:n.cursor-n.anchor};return}We(e.slice(0,n.anchor)+e.slice(n.cursor),n.anchor,`completion`)}}})},[me,I,M,N,m,h,g,O]),Ge=Nt((e,t)=>{We(e,t,`typing`)},[We]),Ke=Nt((e,t)=>{We(e,t,`programmatic`)},[We]),qe=Nt((e,t)=>{We(e,t,`programmatic`,{fromHistoryRecall:!0})},[We]),Je=Nt((e,t)=>{let n=we.findMissingIds(e);if(n.length>0){b?.(B.t(`paste.titlePasteExpired`),B.t(`paste.expiredToast`,{count:n.length}));let t=n[0],r=/\[@paste:#(\d+)(?:\s+\+\d+\s+lines)?\]/g,i,a;for(;(i=r.exec(e))!==null;)if(Number.parseInt(i[1],10)===t){a=i.index;break}a!==void 0&&We(e,a,`programmatic`);return}let{text:r}=we.expandAll(e),i=Ai(r),a=ji(r,i);if(!a.trim()){se(``),le(0),P(`send`),fe(null),Ne(null);return}e.trim()&&(me.push(e),ge(e=>e+1),ne?.(me.getAll())),me.resetNavigation(),O?.(null),we.afterSubmit(e),Se.reset(),o?.(a,i,t)!==`rejected`&&(se(``),le(0),P(`send`),fe(null),Ne(null))},[o,we,b,We]),L=Nt(e=>{Ee.current=Date.now();let t=dt(e);if(!t)return;let n=t.split(`
8
- `);if((t.length>800||n.length>20)&&w)w(t,{confirm:()=>{let e=we.foldIfLarge(t);We(M.slice(0,N)+e+M.slice(N),N+e.length,`paste`)},cancel:()=>{}});else{let e=we.foldIfLarge(t);We(M.slice(0,N)+e+M.slice(N),N+e.length,`paste`)}},[M,N,we,We,w]),{currentPath:Xe}=ce(),Ze=Xe===`/`||Xe===`/home`,Qe=G(null),$e=(Ze||Xe===`/overlay/toast`)&&!r&&ue===`send`,et=G(0);return Vt(L,{isActive:Ze&&!r}),s(`prompt-input`,Nt((n,i)=>{if(i.ctrl&&n===`c`){c?.();return}if(i.ctrl&&n===`l`){l?.();return}if(de(e,`prompt`,n,i,S)===`save-draft`)return M.trim()?(x?.(M),b?.(B.t(`draft.sLabel`),B.t(`draft.saved`)),!0):(b?.(B.t(`draft.sLabel`),B.t(`draft.saveEmpty`)),!0);if(r)return;if(i.tab&&He&&Ve){let e=Tr(Ve.fullText);return We(e.text,e.offset,`completion`),!0}if(i.tab&&F&&!F.panelOpen&&F.suggestions.length>0&&ue!==`bash`&&ue!==`bash_async`)return fe({...F,panelOpen:!0}),!0;if(i.ctrl&&n===`r`){d?.();return}if(i.ctrl&&n===`x`){try{Te?.(!1)}catch{}let e=Pr(M,Fr());try{Te?.(!0)}catch{}e.ok&&e.text!=null?Ke(e.text,e.text.length):e.error&&b?.(B.t(`toast.editorError`),e.error);return}if(i.ctrl&&(n===`_`||n===``||n===`-`)){let e=Se.undo();e&&(We(e.text,e.offset,`programmatic`),fe(null),Ne(null));return}if(He&&i.escape){Be(M);return}if(F&&F.panelOpen){if(i.escape){fe({...F,panelOpen:!1});return}if(i.upArrow||i.downArrow||i.tab||i.return){let e=Cr(F,i.upArrow?`prev`:i.downArrow?`next`:`accept`);if(e===`accept`){let e=F.suggestions[F.selectedIndex];if(e&&!e.disabled){let t=F.argCommand?Mr(M,N,F.argCommand,e.name):wr(M,N,e);return i.return?(Je(t.text,!1),!0):(We(t.text,t.offset,`completion`),!0)}return fe(null),!0}return e===`dismiss`?(fe({...F,panelOpen:!1}),!0):(fe(e),!0)}}let a=ue===`bash`||ue===`bash_async`;if(i.tab&&a&&ae?.current){let e=ae.current;if(Me&&Me.visible){let e=Di(Me,`next`);if(e===`accept`){let e=Oi(M,N,Me);return We(e.text,e.offset,`completion`),Ne(null),!0}return e===`dismiss`?(Ne(null),!0):(Ne(e),!0)}if(Pe.current)return!0;let t=M,n=N;return Pe.current=!0,(async()=>{let r=await e.getCompletions({text:t,cursorOffset:n,cwd:T??process.cwd()});if(Pe.current=!1,Fe.current!==t||Ie.current!==n)return;let i=xi(t,n);if(!i||r.length===0)return;let{word:a,start:o}=i;if(r.length===1){let e=Oi(t,n,{completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1});We(e.text,e.offset,`completion`);return}let s=Ei(r);if(s.length>a.length){let e={completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1},n=ki(t,e);We(n.text,n.offset,`completion`),Ne({...e,prefix:s,commonPrefixApplied:!0});return}Ne({completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1})})(),!0}if(i.escape&&M.length===0){u?.();return}if(n.length>1&&!i.ctrl&&!i.meta&&!i.return&&!i.escape&&!i.backspace&&!i.delete&&!i.tab&&!i.upArrow&&!i.downArrow&&!i.leftArrow&&!i.rightArrow){let e=dt(n);if(e){let t=we.foldIfLarge(e);Ge(M.slice(0,N)+t+M.slice(N),N+t.length)}return}let o=me.navState!==null,s=M.trimStart().startsWith(`/`);if(i.downArrow&&s&&F&&F.suggestions.length>0&&!o&&!M.includes(`
9
- `)){Be(M),fe({...F,panelOpen:!0});return}let f=gt.fromText(M,t,N),p=f.up().offset!==f.offset,m=f.down().offset!==f.offset;if(i.upArrow&&(!p||o)){let e=me.navigateUp(M);if(e!==null){qe(e,e.length);let t=me.navState;t&&O?.({...t,entry:e})}return}if(i.downArrow&&(!m||o)){let e=me.navigateDown();if(e!==null){qe(e,e.length);let t=me.navState;O?.(t?{...t,entry:e}:null)}return}if(i.upArrow||i.downArrow){let e=gt.fromText(M,t,N),n=i.upArrow?e.up():e.down();Ge(n.text,n.offset);return}if(i.leftArrow){let e=gt.fromText(M,t,N).left();Ge(e.text,e.offset);return}if(i.rightArrow||i.end){if(He&&Ve){let e=Tr(Ve.fullText);We(e.text,e.offset,`completion`);return}if(i.end){Ge(M,M.length);return}let e=gt.fromText(M,t,N).right();Ge(e.text,e.offset);return}if(i.return&&Date.now()-Ee.current<50)return;if(i.return){let e=je(M,N);if(e){let t=rt(e.text);if(t===`paste`){let t=Ye(e.text);if(t===void 0)return;let n=we.peek(t);n!==void 0&&y?y(e.text,n):b&&b(B.t(`paste.titlePasteExpired`),B.t(`paste.expiredToast`,{count:1}));return}if(_){let n={start:e.start,end:e.end};_(t,n,{select:e=>{let t=sn(M,n.start,n.end,e);We(t.text,t.offset,`completion`)},cancel:()=>{}});return}}}(i.backspace||i.delete)&&(et.current=Date.now());let h={name:i.return?`return`:i.escape?`escape`:i.backspace?`backspace`:i.delete?`delete`:i.tab?`tab`:n||`unknown`,ctrl:i.ctrl??!1,shift:i.shift??!1,alt:i.meta??!1,meta:i.meta??!1},g=be(gt.fromText(M,t,N),h);if(g){if(g.action===`submit`){Je(M,!1);return}if(g.action===`submit_force`){Je(M,!0);return}if(g.action===`clear_text`){Ge(g.cursor.text,g.cursor.offset);return}Ge(g.cursor.text,g.cursor.offset)}},[M,N,t,r,F,Me,ae,ue,T,c,l,u,b,x,S,_,y,we,We,Je,Ge,Ke,qe,He,Ve]),{isActive:Ze&&!r&&!i}),J(Y,{flexDirection:`column`,children:[F&&F.panelOpen&&F.suggestions.length>0&&(()=>{let e=F.suggestions.length,t=F.selectedIndex,n=e<=10?0:Math.min(Math.max(0,t-5),e-10),r=F.suggestions.slice(n,n+10);return J(Y,{flexDirection:`column`,...De,borderColor:oe.panelBorder,children:[q(Y,{height:1,children:q(f,{hasMore:n>0,count:n})}),r.map((e,r)=>{let i=n+r;return J(X,{color:i===t?oe.selection:void 0,dimColor:i!==t||!!e.disabled,bold:i===t,children:[i===t?ye():ze(),`/`,e.name,e.aliases?.length?` (${e.aliases.join(`, `)})`:``,e.description?` — ${e.description}`:``]},e.name)}),q(Y,{height:1,children:q(v,{hasMore:n+10<e,count:e-n-10})}),q(Y,{marginTop:A.tight}),q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.close`)]]})]})})(),Me&&Me.visible&&Me.completions.length>0&&(()=>{let e=Me.completions.length,t=Me.selectedIndex,n=e<=10?0:Math.min(Math.max(0,t-5),e-10),r=Me.completions.slice(n,n+10);return J(Y,{flexDirection:`column`,...De,borderColor:oe.panelBorder,children:[q(Y,{height:1,children:q(f,{hasMore:n>0,count:n})}),r.map((e,r)=>{let i=n+r;return J(X,{color:i===t?oe.selection:void 0,dimColor:i!==t,bold:i===t,children:[i===t?ye():ze(),e]},e)}),q(Y,{height:1,children:q(v,{hasMore:n+10<e,count:e-n-10})})]})})(),r&&q(X,{dimColor:!0,children:n||R.ellipsis}),!r&&q(Oe,{value:M,offset:N,columns:t,mode:ue,placeholder:i?B.t(`prompt.reviewingPlaceholder`):Ze?n||B.t(`prompt.fallback`):B.t(`prompt.unfocused`),focused:Ze&&!i,ghostSuffix:He,invalidPasteIds:Ue,containerRef:Qe,physicalCursor:$e,deleteKeyAt:et.current})]})}function Pi({items:e}){let t=C();return e.length===0?null:J(Y,{children:[q(X,{color:t.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`queue.label`)}),J(O,{type:`secondary`,children:[` `,e.length]}),J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`q`)]})]})}function Fi(e){return`'`+e.replace(/'/g,`'\\''`)+`'`}function Ii(e,t,n){let r=Object.entries(t).map(([e,t])=>e+`=`+Fi(t)).join(` `);try{return mn(r+` `+e,{timeout:n,maxBuffer:100*1024}).toString(`utf-8`).split(`
10
- `).filter(Boolean)}catch{return[]}}var Li=class{name=`bash`;commandCache=null;async getCommands(e){if(this.commandCache&&e){let t=e.toLowerCase(),n=[];for(let[,e]of this.commandCache)for(let r of e)r.toLowerCase().startsWith(t)&&n.push(r);return n.map(e=>({value:e,type:`command`}))}let t=Ii(`bash -c 'compgen -ac'`,{},200),n=new Map;for(let e of t){let t=e.charAt(0).toLowerCase(),r=n.get(t)??[];r.push(e),n.set(t,r)}if(this.commandCache=n,!e)return t.map(e=>({value:e,type:`command`}));let r=e.toLowerCase();return t.filter(e=>e.toLowerCase().startsWith(r)).map(e=>({value:e,type:`command`}))}buildCompreplyScript(){return[`for compfile in /usr/share/bash-completion/bash_completion \\`,` /usr/local/share/bash-completion/bash_completion \\`,` "$HOME/.bash_completion"; do`,` [ -f "$compfile" ] && source "$compfile" 2>/dev/null && break`,`done`,`_init_completion -s 2>/dev/null || true`,`COMP_WORDS=($words)`,`COMP_CWORD=$cword`,`COMPREPLY=()`,`_command_completion 2>/dev/null`,'printf "%s\\n" "${COMPREPLY[@]}"'].join(`
11
- `)}buildCompgenFileScript(e){return`bash -c 'compgen -A file -- `+Fi(e)+` 2>/dev/null; compgen -A directory -- `+Fi(e)+` 2>/dev/null'`}async getCompletions(e){let{words:t,wordIndex:n,cwd:r}=e;if(t.length===0)return[];let i=t[0]?.word??``,a=Ii(`bash -c '`+this.buildCompreplyScript()+`'`,{words:t.map(e=>e.word).join(` `),cword:String(n),cmd:i},500);if(a.length>0)return a.map(e=>({value:e,type:`arg`}));let o=t[n]?.word??``,s=Ii(this.buildCompgenFileScript(o),{},200);return s.length>0?s.map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`})):Ti(o,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){this.commandCache=null}},Ri=class{name=`zsh`;commandCache=null;async getCommands(e){if(this.commandCache&&e){let t=e.toLowerCase(),n=[];for(let[,e]of this.commandCache)for(let r of e)r.toLowerCase().startsWith(t)&&n.push(r);return n.map(e=>({value:e,type:`command`}))}let t=Ii("zsh -c 'autoload -Uz compinit; compinit -i 2>/dev/null; print -l ${(k)_comps}'",{},300),n=new Map;for(let e of t){let t=e.charAt(0).toLowerCase(),r=n.get(t)??[];r.push(e),n.set(t,r)}if(this.commandCache=n,!e)return t.map(e=>({value:e,type:`command`}));let r=e.toLowerCase();return t.filter(e=>e.toLowerCase().startsWith(r)).map(e=>({value:e,type:`command`}))}async getCompletions(e){let{words:t,wordIndex:n}=e,r=t[0]?.word??``,i=t[n]?.word??``,a=Ii("zsh -c 'autoload -Uz compinit; compinit -i 2>/dev/null; _comps[$cmd] $cmd ${(q)prefix}'",{cmd:r,prefix:i},500);if(a.length>0)return a.map(e=>({value:e,type:`arg`}));let o=Ii("zsh -c 'print -l ${(k)_commands} 2>/dev/null'",{},200);if(o.length>0){let e=i.toLowerCase();return o.filter(t=>t.toLowerCase().startsWith(e)).map(e=>({value:e,type:`command`}))}return[]}destroy(){this.commandCache=null}},zi=class{name=`builtin`;async getCommands(e){if(!e)return Ci().map(e=>({value:e,type:`command`}));let t=e.toLowerCase();return Ci().filter(e=>e.toLowerCase().startsWith(t)).map(e=>({value:e,type:`command`}))}async getCompletions(e){let{words:t,wordIndex:n,cwd:r}=e,i=t[n]?.word??``;return n===0?this.getCommands(i):Ti(i,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){}};const Bi={enabled:!0,backend:`auto`,commandTimeoutMs:200,argTimeoutMs:500,maxResults:100};function Vi(){let e=process.env.SHELL??``;return e.includes(`zsh`)?`zsh`:e.includes(`bash`)||e.includes(`sh`)?`bash`:`other`}function Hi(e){let t={...Bi,...e};if(!t.enabled||t.backend===`disabled`)return null;let n=t.backend;switch(n===`auto`&&(n=Vi()===`zsh`?`zsh`:`bash`),n){case`bash`:return new Li;case`zsh`:return new Ri;case`builtin`:return new zi;default:return new zi}}const Ui={commandTimeoutMs:200,argTimeoutMs:500,maxResults:100,commandCacheTtlMs:3e4,argCacheTtlMs:3e4,maxCacheEntries:50};function Wi(e){return Date.now()>e.expiresAt}function Gi(e,t){return e.slice(0,t).map(e=>e.value)}function Ki(e,t){let n=new Set,r=[];for(let i of[...e,...t])n.has(i)||(n.add(i),r.push(i));return r}var qi=class{backend;opts;commandCache=null;argCache=new Map;abortController=null;constructor(e,t){this.backend=e,this.opts={...Ui,...t}}cancelPending(){this.abortController&&=(this.abortController.abort(),null)}getCommands(e){if(this.commandCache&&!Wi(this.commandCache)&&e){let t=e.toLowerCase();return Promise.resolve(this.commandCache.data.filter(e=>e.toLowerCase().startsWith(t)))}if(!this.backend){let t=wi(e);return this.commandCache={data:[...t],expiresAt:Date.now()+this.opts.commandCacheTtlMs},Promise.resolve(t)}return Promise.race([this.backend.getCommands(e).then(t=>{let n=Gi(t,this.opts.maxResults);return this.commandCache={data:[...n],expiresAt:Date.now()+this.opts.commandCacheTtlMs},Ki(n,wi(e))}).catch(()=>wi(e)),new Promise(t=>{setTimeout(()=>t(wi(e)),this.opts.commandTimeoutMs)})])}getCompletions(e){let{text:t,cursorOffset:n,cwd:r}=e,i=xi(t,n);if(!i)return Promise.resolve([]);let{word:a,source:o}=i;if(o===`command`)return this.getCommands(a);if(!this.backend)return Promise.resolve(Ti(a,r));let s=t.startsWith(`!!`)?t.slice(2):t.startsWith(`!`)?t.slice(1):t,c=s.split(` `).filter(Boolean),l=n-(t.length-s.length),u=Math.max(0,s.slice(0,l).split(` `).filter(Boolean).length-1),d=c[0]??``,f=r+`|`+d+`|`+a,p=this.argCache.get(f);if(p&&!Wi(p))return Promise.resolve(p.data);let m={text:s,cursorOffset:l,words:c.map(e=>({word:e,offset:0})),wordIndex:u,cwd:r,signal:void 0};return Promise.race([this.backend.getCompletions(m).then(e=>{let t=Ki(Gi(e,this.opts.maxResults),Ti(a,r));return this.setArgCache(f,t),t}).catch(()=>Ti(a,r)),new Promise(e=>{setTimeout(()=>e(Ti(a,r)),this.opts.argTimeoutMs)})])}setArgCache(e,t){if(this.argCache.size>=this.opts.maxCacheEntries){let e=[...this.argCache.entries()],t=Math.ceil(this.opts.maxCacheEntries/3);for(let n=0;n<t&&n<e.length;n++)this.argCache.delete(e[n][0])}this.argCache.set(e,{data:t,expiresAt:Date.now()+this.opts.argCacheTtlMs})}makeShellCompletion(e,t,n){return{completions:e,selectedIndex:0,prefix:n,wordStart:t,visible:!0,commonPrefixApplied:!1}}destroy(){this.cancelPending(),this.backend&&=(this.backend.destroy(),null),this.commandCache=null,this.argCache.clear()}};function Ji(e,t){if(t!==`send`)return``;let n=e.trimStart();return n.startsWith(`/`)?(n.slice(1).split(/\s+/)[0]??``).toLowerCase():``}function Yi(e,t){return e?.()??t}function Xi(e,t){return e||t}function Zi(e,t){return e||t}function Qi(e,t){return e||t}function $i(e,t,n,r){let i=Ji(e,t);return i&&r.isInterruptCommand?.(i)||i&&r.isImmediateCommand(i)?`command`:r.processing?n||t!==`send`||i?`queue`:`steer`:`send`}let ea=null;function ta(){return ea||=Ln({indices:{}}),ea}function na(e,t){let n=ta(),r=Z(n,t=>t.indices[e]??0),i=t>0?Math.min(r,Math.max(0,t-1)):r,a=G(e);a.current=e;let o=G(t);return o.current=t,U(()=>{i!==r&&n.setState(e=>({indices:{...e.indices,[a.current]:i}}))},[i,r,n]),[i,e=>{let t=n.getState().indices[a.current]??0,r=typeof e==`function`?e(t):e,i=Math.max(0,o.current-1),s=o.current>0?Math.min(r,i):r;s!==t&&n.setState(e=>({indices:{...e.indices,[a.current]:s}}))}]}function ra(e,t,n){let r=Math.max(1,Math.floor(t)),i=Math.max(0,e-r),a=Math.min(Math.max(0,Math.floor(n)),i),o=Math.min(e,a+r);return{offset:a,start:a,end:o,above:a,below:Math.max(0,e-o)}}function ia(){let e=Ln({offset:0,totalLines:0}),t=new Set;return{store:e,scrollBy(t){let n=e.getState();if(n.totalLines<=0)return;let r=n.totalLines-1;e.setState({offset:Math.min(r,Math.max(0,n.offset+t))})},page(t,n){let r=Math.max(1,Math.floor(n)-2),i=e.getState();if(i.totalLines<=0)return;let a=i.totalLines-1;e.setState({offset:Math.min(a,Math.max(0,i.offset+t*r))})},toTop(){e.setState({offset:2**53-1})},toBottom(){e.setState({offset:0})},setOffset(t){let n=e.getState();if(n.totalLines<=0)return;let r=n.totalLines-1;e.setState({offset:Math.min(r,Math.max(0,Math.floor(t)))})},setTotalLines(t){e.setState({totalLines:Math.max(0,Math.floor(t))})},registerWheel(e){return t.add(e),()=>{t.delete(e)}},dispatchWheel(e){if(t.size===0)return!1;let n=[...t];return n[n.length-1](e),!0}}}function aa(e,t,n,r){let i=Math.max(0,n-Math.max(1,Math.floor(r)));return Math.min(i,Math.max(0,Math.floor(e)-t*3))}const oa=Mt(void 0),sa=oa.Provider;function ca(){return Pt(oa)}function la(e,t,n){if(e<=t||t<=0)return null;let r=Math.max(1,Math.round(t/e*t)),i=e-t,a=t-r;return{start:Math.round(Math.min(Math.max(0,n),i)/i*a),size:r}}function ua(e,t,n){let r=la(e,t,n),i=[];for(let e=0;e<t;e++)i.push(r&&e>=r.start&&e<r.start+r.size?R.scrollThumb:` `);return i}function da(e,t){if(t<=0||e.length===0)return``;let n=R.sparkline,r=e.slice(-t),i=r.filter(e=>Number.isFinite(e));if(i.length===0)return n[0].repeat(r.length);let a=Math.min(...i),o=Math.max(...i),s=o-a,c=Math.max(Math.abs(a),Math.abs(o)),l=c===0||s/c<.05;return r.map(e=>Number.isFinite(e)?l?n[3]:n[Math.min(n.length-1,Math.floor((e-a)/s*n.length))]:n[0]).join(``)}function fa(e,t){if(t<=0)return``;let n=Math.round(Math.min(1,Math.max(0,e))*t),r=yt(R.gaugeFilled,n);return r+yt(R.gaugeRest,Math.max(0,t-$e(r)))}const pa=`\x1B[43m`,ma=`\x1B[49m`,ha=`\x1B[48;5;208m`,ga=`\x1B[49m`;function _a(e,t,n){if(t.length===0||e===``)return e;let r=[];for(let e of t){if(!e)continue;let[t,n]=e,i=r[r.length-1];i&&t<=i[1]?i[1]=Math.max(i[1],n):r.push([t,n])}let i;n&&n[0]!==void 0&&n[1]!==void 0&&(i=[n[0],n[1]]);let a=e=>i!==void 0&&e>=i[0]&&e<i[1],o=e=>r.some(([t,n])=>e>=t&&e<n),s=``,c=0,l=!1,u=!1,d=0,f=!1,p=``,m=()=>{let e=a(c),t=o(c);!l&&t?(s+=e?ha:pa,l=!0,u=e):l&&!t?(s+=u?ga:ma,l=!1):l&&t&&e!==u&&(s+=u?ga:ma,s+=e?ha:pa,u=e)};for(let t=0;t<e.length;t++){let n=e.charAt(t);if(n===`\x1B`&&t+1<e.length&&e.charAt(t+1)===`]`){let n=t+2;for(;n<e.length;){if(e.charAt(n)===`\x07`){n++;break}if(e.charAt(n)===`\x1B`&&n+1<e.length&&e.charAt(n+1)===`\\`){n+=2;break}n++}s+=e.slice(t,n),t=n-1;continue}if(n===`\x1B`&&t+1<e.length&&e.charAt(t+1)===`[`&&(d++,f=!1,p=``),!d)m(),s+=n,c++;else{if(m(),s+=n,f)f=!1;else{let e=n.charCodeAt(0);e>=64&&e<=126?(l&&n===`m`&&/^(?:0|0;.*|.*;0(?:;.*)?)$/.test(p)&&(s+=u?ha:pa),d=0,p=``):e>=32&&(p+=n)}n===`\x1B`&&d>0&&(f=!0)}}return l&&(s+=u?ga:ma),s}function va(e,t,n={}){if(!t)return[];if(n.regex){let r;try{r=new RegExp(t,n.caseSensitive?`g`:`gi`)}catch{return[]}let i=[],a;for(;(a=r.exec(e))!==null;)i.push([a.index,a.index+a[0].length]),a[0].length===0&&r.lastIndex++;return i}if(n.wholeWord){let r;try{let e=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);r=RegExp(`\\b${e}\\b`,n.caseSensitive?`g`:`gi`)}catch{return[]}let i=[],a;for(;(a=r.exec(e))!==null;)i.push([a.index,a.index+a[0].length]);return i}let r=n.caseSensitive?e:e.toLowerCase(),i=n.caseSensitive?t:t.toLowerCase(),a=[],o=0;for(;;){let e=r.indexOf(i,o);if(e===-1)break;a.push([e,e+t.length]),o=e+1}return a}const ya={keyword:`#C678DD`,built_in:`#56B6C2`,type:`#56B6C2`,literal:`#D19A66`,number:`#D19A66`,regexp:`#98C379`,string:`#98C379`,class:`#E5C07B`,function:`#61AFEF`,comment:`#5C6370`,doctag:`#5C6370`,meta:`#5C6370`,tag:`#E06C75`,name:`#E06C75`,attr:`#56B6C2`,addition:`#98C379`,deletion:`#E06C75`};let ba=null;function xa(){if(!ba)return;let e={};for(let[t,n]of Object.entries(ya))e[t]=ba.hex(n);return e}let Sa=null,Ca=null,wa=null;function Ta(){return wa||(wa=Promise.all([import(`cli-highlight`),import(`chalk`)]).then(([e,t])=>{Sa=e.highlight,Ca=e.supportsLanguage,ba=t.default}).catch(()=>{}),wa)}function Ea(){return Sa!==null}function Da(e,t){if(!Sa)return Ta(),null;if(!t||e.length>524288||Ca&&!Ca(t))return null;try{let n=xa();return n?Sa(e,{language:t,ignoreIllegals:!0,theme:n}):Sa(e,{language:t,ignoreIllegals:!0})}catch{return null}}const Oa=[`∙`,`◦`,`▪`,`-`];function ka(e){return e.every(e=>$e(e)===1)}function Aa(e,t,n){let r=e[t??n];if(typeof r==`string`&&r.length>0)return r;let i=e[n];return typeof i==`string`?i:``}function ja(e=L,t,n){let r={...t,...n},i=r.listMarkers&&ka(r.listMarkers)?r.listMarkers:Oa,a=r.listIndent===3?3:2;return{heading1:Aa(e,r.heading1,`accent`),heading2:Aa(e,r.heading2,`secondary`),headingWeak:Aa(e,r.headingWeak,`inactive`),listMarkerPrimary:Aa(e,r.listMarker,`secondary`),listMarkerMuted:Aa(e,r.listMarkerMuted,`inactive`),quoteBar:Aa(e,r.quoteBar,`accentDim`),quoteText:Aa(e,r.quoteText,`secondary`),link:Aa(e,r.link,`accentBright`),inlineCode:Aa(e,r.inlineCode,`codeText`),codeFenceDivider:Aa(e,r.codeFence,`inactive`),tableHeader:Aa(e,r.tableHeader,`secondary`),tableDivider:Aa(e,r.tableDivider,`inactive`),listIndent:a,listMarkers:i,codeBlockDivider:r.codeBlockDivider===`none`?`none`:`hr`,h1Divider:e.inactive,hr:e.inactive,codeGutter:e.inactive,codeLabel:e.suggestion,tableBody:e.text,taskChecked:e.success}}let Ma;function Na(e){Ma=e}function Pa(){return Ma}function Fa(){return ja(L,void 0,Ma)}function Ia(){return Fa()}function Q(e,t){if(!t||!e)return e;try{if(t.startsWith(`#`))return gn.hex(t)(e);let n=gn[t];return typeof n==`function`?n(e):e}catch{return e}}function La(e,t,n){return qn(gn.underline(Q(e,n.link)),t)}const Ra=e=>e.replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#(?:39|x27);/gi,`'`);function za(e,t=!1,n=Ia()){return Ba(bn.Lexer.lexInline(e),t,n)}function Ba(e,t,n){if(!e)return``;let r=``;for(let i of e)switch(i.type){case`text`:{let e=i;r+=e.tokens?Ba(e.tokens,t,n):Ra(e.text);break}case`escape`:r+=i.text;break;case`codespan`:{let e=Ra(i.text);r+=t?e:Q(e,n.inlineCode);break}case`strong`:{let e=Ba(i.tokens,t,n);r+=t?e:`\x1b[1m${e}\x1b[22m`;break}case`em`:{let e=Ba(i.tokens,t,n);r+=t?e:`\x1b[3m${e}\x1b[23m`;break}case`del`:{let e=Ba(i.tokens,t,n);r+=t?e:`\x1b[9m${e}\x1b[29m`;break}case`link`:{let e=i,a=Ba(e.tokens,t,n);r+=t?a:La(a,e.href,n);break}case`image`:r+=i.text||i.href;break;case`br`:r+=`
12
- `;break;default:r+=Ra(i.text??``)}return r}function Va(e,t,n=``){let r=jt(e,Math.max(1,t),{hard:!1,trim:!1}),i=r.length===0?[``]:r.split(`
13
- `);return n?i.map((e,t)=>t===0?e:n+e):i}const Ha=/\b(const|let|var|function|return|if|else|for|while|class|interface|type|export|import|from|async|await|try|catch|throw|new|this|super|extends|implements|static|public|private|readonly|enum|switch|case|break|default|continue|do|in|of|instanceof|typeof|void|delete)\b/g,Ua=/(\b\d+\b)/g,Wa=/("[^"]*"|'[^']*'|`[^`]*`)/g,Ga=/(\/\/.*)/g;function Ka(e){let t=[],n=(n,r)=>{n.lastIndex=0;let i;for(;(i=n.exec(e))!==null;)t.push([i.index,i.index+i[0].length,r])};if(n(Ua,L.warning),n(Ha,L.codeText),n(Wa,L.success),n(Ga,L.inactive),t.length===0)return e;t.sort((e,t)=>e[0]-t[0]||t[1]-e[1]);let r=[];for(let e of t){if(r.length===0){r.push(e);continue}let t=r[r.length-1];e[0]<t[1]?r[r.length-1]=e:r.push(e)}let i=``,a=0;for(let[t,n,o]of r)t>a&&(i+=e.slice(a,t)),i+=Q(e.slice(t,n),o),a=n;return a<e.length&&(i+=e.slice(a)),i}function qa(e,t,n,r){let i=Da(e,t),a=(i??e).split(`
14
- `),o=String(a.length).length,s=[];t&&(s.push(Q(` ${t}`,r.codeLabel)),r.codeBlockDivider!==`none`&&s.push(Q(yt(R.hr,Math.min(40,Math.max(3,n))),r.codeFenceDivider)));for(let e=0;e<a.length;e++){let t=Q(String(e+1).padStart(o)+` `,r.codeGutter),n=`\x1b]9;cw=${o+1}\x07`,c=i?a[e]??``:Ka(a[e]);s.push(n+t+(c||` `))}return s}function Ja(e,t){if($e(e)<=t)return[e];let n=jt(e,Math.max(1,t),{hard:!0,trim:!1});return n?n.split(`
15
- `):[``]}const Ya=(e,t)=>e+` `.repeat(Math.max(0,t-$e(e)));function Xa(e,t,n,r){if(e.length===0)return[];let i=[e,...t],a=Math.max(...i.map(e=>e.length)),o=[];for(let e=0;e<a;e++)o[e]=Math.max(6,...i.map(t=>$e(t[e]??``)));let s=[];if(a*6+(a-1)*2>n){let o=Math.max(6,...e.map(e=>$e(e))),c=Math.max(6,n-o-2);return(t.length>0?t:i).forEach((t,n)=>{n>0&&s.push(``);for(let n=0;n<a;n++){let i=Q(gn.bold(Ya(e[n]??``,o)),r.tableHeader),a=Ja(t[n]??``,c);s.push(i+` `.repeat(2)+Q(a[0]??``,r.tableBody));for(let e=1;e<a.length;e++)s.push(` `.repeat(o+2)+Q(a[e],r.tableBody))}}),s}let c=Math.max(a*6,n-(a-1)*2),l=o.reduce((e,t)=>e+t,0),u=l>c?o.map(e=>Math.max(6,Math.floor(c/l*e))):o,d=` `.repeat(2),f=(e,t)=>{let n=u.map((t,n)=>Ja(e[n]??``,t)),i=Math.max(...n.map(e=>e.length));for(let e=0;e<i;e++){let i=u.map((i,a)=>{let o=Ya(n[a][e]??``,i);return t?Q(gn.bold(o),r.tableHeader):Q(o,r.tableBody)});s.push(i.join(d))}};f(e,!0);let p=u.reduce((e,t)=>e+t,0)+(a-1)*2;s.push(Q(yt(R.hr,p),r.tableDivider));for(let e of t)f(e,!1);return s}function Za(e){let t=e=>e.replace(/\x1b\[[0-9;]*m/g,``).trim().length===0,n=0,r=e.length;for(;n<r&&t(e[n]);)n++;for(;r>n&&t(e[r-1]);)r--;return e.slice(n,r)}function Qa(e){let t=e.split(`
1
+ import{$ as e,$t as t,A as n,At as r,Bt as i,C as a,Ct as o,D as s,Dt as c,E as l,Et as u,F as d,Ft as f,G as p,Gt as m,H as h,Ht as g,I as _,It as v,J as y,Jt as b,K as x,Kt as S,L as C,Lt as w,M as T,Mt as E,N as D,Nt as O,O as k,Ot as ee,P as te,Q as A,Qt as ne,R as j,Rt as M,S as re,T as N,Tt as ie,U as P,Ut as ae,V as oe,Vt as se,W as ce,Wt as le,X as ue,Xt as de,Y as fe,Yt as pe,Z as me,Zt as he,_ as ge,_n as _e,_t as ve,a as ye,an as be,at as xe,b as Se,c as Ce,cn as we,ct as Te,d as F,dn as Ee,dt as De,en as Oe,et as ke,f as Ae,fn as je,ft as Me,g as Ne,gn as Pe,gt as Fe,h as Ie,hn as I,ht as Le,i as Re,in as ze,it as Be,j as Ve,jt as He,k as Ue,kt as We,l as Ge,ln as Ke,lt as qe,m as Je,mn as Ye,mt as Xe,n as Ze,nn as Qe,nt as $e,o as et,on as tt,ot as nt,p as rt,pn as it,pt as at,q as ot,qt as L,r as st,rn as R,rt as ct,s as lt,sn as ut,st as dt,t as ft,tn as pt,tt as mt,u as z,un as ht,ut as gt,v as _t,w as vt,wt as yt,x as bt,y as xt,yt as St,z as Ct,zt as B}from"./WizardDialog-DTypQTfU.js";import{i as wt,n as V,r as Tt,t as Et}from"./i18n-BREWHEWk.js";import{CommandRegistry as Dt,createBuiltinCommands as Ot,showCommandPalette as kt}from"./compat.js";import{createRequire as At}from"node:module";import jt from"wrap-ansi";import H,{createContext as Mt,createElement as U,useCallback as Nt,useContext as Pt,useEffect as W,useMemo as Ft,useRef as G,useState as K}from"react";import{Fragment as It,jsx as q,jsxs as J}from"react/jsx-runtime";import*as Lt from"ink";import{Box as Y,Static as Rt,Text as X,render as zt,useBoxMetrics as Bt,useInput as Vt,usePaste as Ht,useStdin as Ut,useStdout as Wt}from"ink";import{I18nextProvider as Gt}from"react-i18next";import{createStore as Kt}from"zustand/vanilla";import{useStore as qt}from"zustand";import{LARGE_FILE_BYTE_THRESHOLD as Jt,matchSubsequence as Yt,matchesGlobPattern as Xt,positionsToHighlightRanges as Zt,rankCandidates as Qt,rankLabeledItems as $t,rankNamedItems as en,readFileCapped as tn,scoreSubsequence as nn}from"@x-otto/shared";import{readdirSync as rn,statSync as an}from"node:fs";import{adjustDismissedSigil as on,applySigilCompletion as sn,applySigilReplacement as cn,evaluateSigilTrigger as ln,extractSigilPrefix as un}from"@x-otto/interchange";import{basename as dn,dirname as fn,join as pn,resolve as mn}from"node:path";import{execSync as hn,spawn as gn}from"node:child_process";import _n from"chalk";import{DEFAULT_DELEGATION_TOOLS as vn,SESSION_MAX_PER_SESSION_BYTES as yn,SESSION_RESUME_WINDOW_MESSAGES as bn}from"@x-otto/session-contract";import{marked as xn}from"marked";import{PassThrough as Sn}from"node:stream";const Cn=[`trust`,`readonly`,`exit`];function wn({root:e,onChoice:n}){let r=[{key:`trust`,label:V.t(`trust.optTrust`),color:I.success},{key:`readonly`,label:V.t(`trust.optReadonly`),color:I.accent},{key:`exit`,label:V.t(`trust.optExit`),color:I.inactive}];return J(M,{header:q(w,{color:I.warning,children:V.t(`trust.title`)}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`hint.quick`)],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.exit`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{wrap:`truncate-end`,children:V.t(`trust.body`,{path:e})})}),q(Y,{marginTop:t.tight,children:q(ve.Root,{id:`trust-prompt-dialog`,onPick:e=>n(Cn[e]??`exit`),escapeIndex:Cn.indexOf(`exit`),children:r.map(e=>q(ve.Item,{label:e.label,color:e.color},e.key))})})]})}function Tn(e){return Tt(e.language===`zh`?`zh`:e.language===`en`?`en`:Et()),new Promise(t=>{let n=!1,r=zt(H.createElement(wn,{root:e.root,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),le(),t(e))}}),{exitOnCtrlC:!1})})}const En=[`use_parent`,`create_new`,`exit`];function Dn({parentRoot:e,currentRoot:n,onChoice:r}){let i=[{key:`use_parent`,label:V.t(`parent.optUseParent`),color:I.success},{key:`create_new`,label:V.t(`parent.optCreateNew`),color:I.accent},{key:`exit`,label:V.t(`parent.optExit`),color:I.inactive}];return J(M,{header:q(w,{color:I.warning,children:V.t(`parent.title`)}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`hint.quick`)],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.exit`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{wrap:`truncate-end`,children:V.t(`parent.body`,{parentRoot:e,currentRoot:n})})}),q(Y,{marginTop:t.tight,children:q(ve.Root,{id:`parent-workspace-dialog`,onPick:e=>r(En[e]??`exit`),escapeIndex:En.indexOf(`exit`),children:i.map(e=>q(ve.Item,{label:e.label,color:e.color},e.key))})})]})}function On(e){return Tt(e.language===`zh`?`zh`:e.language===`en`?`en`:Et()),new Promise(t=>{let n=!1,r=zt(H.createElement(Dn,{parentRoot:e.parentRoot,currentRoot:e.currentRoot,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),le(),t(e))}}),{exitOnCtrlC:!1})})}const kn={five_hour:`5h`,seven_day:`7d`,seven_day_opus:`7d-opus`,seven_day_sonnet:`7d-sonnet`,seven_day_overage_included:`7d`},An={five_hour:`5-hour`,seven_day:`7-day`,seven_day_opus:`7-day (Opus)`,seven_day_sonnet:`7-day (Sonnet)`,seven_day_overage_included:`7-day`};function jn(e){return An[e]??e}function Mn(e,t){let n=Math.max(0,Math.round(e-t/1e3)),r=Math.floor(n/3600),i=Math.floor(n%3600/60);return r>0?`${r}h${i>0?`${i}m`:``}`:i>0?`${i}m`:`<1m`}function Nn(e,t){return e===`rejected`&&(t===`allowed`||t===`allowed_warning`)}function Pn(e,t){let n=e.limitType?kn[e.limitType]??e.limitType:``,r=e.usedPercent===void 0?``:` ${Math.round(e.usedPercent)}%`,i=!!(n||r);if(Nn(e.status,e.overageStatus)&&e.overageResetsAt!==void 0)return`${n}${r} +${Mn(e.overageResetsAt,t)}`.trim();let a=i?` → `:``;return`${n}${r}${e.resetsAt===void 0?``:`${a}${Mn(e.resetsAt,t)}`}`.trim()}const Fn={five_hour:300*60,seven_day:10080*60,seven_day_opus:10080*60,seven_day_sonnet:10080*60,seven_day_overage_included:10080*60};function In(e,t,n,r){if(!e||t===void 0||n===void 0)return null;let i=Fn[e];if(!i)return null;let a=r/1e3,o=n-i,s=Math.max(0,Math.min(100,Math.round((a-o)/i*100)));return(e===`five_hour`?[[90,72]]:[[75,60],[50,35],[25,15]]).some(([e,n])=>t>=e&&s<=n)?{usedPct:t,timePct:s}:null}function Ln(e,t,n,r,i,a){return Nn(e,a)||e===`allowed_warning`||e===`allowed`&&i!==void 0&&In(t,n,r,i)?`warning`:`inactive`}function Z(e,t){return qt(e.zustand,t)}function Rn(e){let t=Kt()(()=>e);return{getState:()=>t.getState(),setState:e=>{let n=t.getState(),r=typeof e==`function`?e(n):e,i=!1;for(let e of Object.keys(r))if(!Object.is(n[e],r[e])){i=!0;break}i&&t.setState(r)},subscribe:e=>t.subscribe(()=>e()),zustand:t}}var zn=class{buffer=``;active=!1;timer=null;timeoutMs;onEmptyPaste;constructor(e={}){this.timeoutMs=e.timeoutMs??100,this.onEmptyPaste=e.onEmptyPaste}get isPasting(){return this.active}get currentBuffer(){return this.active?this.buffer:``}feed(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(`\x1B[200~`,n),i=e.indexOf(`\x1B[201~`,n),a=r>=0&&i>=0&&i<r;if(this.active){if(r>=0&&!a){this.buffer+=e.slice(n,r),this.clearTimer(),t.push(this.flushPasteEnd()),n=r+6,this.active=!0,this.resetTimer(),t.push({type:`paste_start`});continue}if(i>=0){this.buffer+=e.slice(n,i),this.clearTimer(),t.push(this.flushPasteEnd()),n=i+6;continue}this.buffer+=e.slice(n),this.resetTimer();break}if(r>=0){this.active=!0,this.resetTimer(),t.push({type:`paste_start`}),n=r+6;continue}if(i>=0){n=i+6;continue}break}return t}forceEnd(){if(!this.active)return null;this.clearTimer();let e=this.buffer;return this.buffer=``,this.active=!1,{type:`paste_timeout`,partialText:e}}reset(){this.clearTimer(),this.buffer=``,this.active=!1}destroy(){this.reset()}resetTimer(){this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>this.forceEnd(),this.timeoutMs)}clearTimer(){this.timer&&=(clearTimeout(this.timer),null)}flushPasteEnd(){let e=this.buffer,t=e.length===0;return this.buffer=``,this.active=!1,t&&this.onEmptyPaste?.(),{type:`paste_end`,text:e,isEmpty:t}}};const Bn=/^\x1b\[(\d+)(?:;(\d+))?u$/,Vn=/^\x1b\[27;(\d+);(\d+)~$/,Hn=/^\x1b\[(\d+)~$/;function Un(e){if(!e.startsWith(`\x1B[`)&&!e.startsWith(`\x1BO`))return null;let t=e.match(Bn);if(t){let n=parseInt(t[1],10),r=t[2]?parseInt(t[2],10):1,i=r>0?r-1:0;return{name:Wn(n),ctrl:!!(i&4),alt:!!(i&2),shift:!!(i&1),meta:!!(i&8),sequence:e}}let n=e.match(Vn);if(n){let t=parseInt(n[1],10),r=parseInt(n[2],10),i=!!(t&8);return{name:Wn(r),ctrl:!!(t&4),alt:i,shift:!!(t&2),meta:i,sequence:e}}if(e.startsWith(`\x1BO`)){let t=e[2],n={A:`up`,B:`down`,C:`right`,D:`left`,H:`home`,F:`end`,P:`f1`,Q:`f2`,R:`f3`,S:`f4`};return t&&t in n?{name:n[t],shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}let r=e.match(/^\x1b\[(?:\d+;)?(\d+)?([ABCD])$/);if(r){let t={A:`up`,B:`down`,C:`right`,D:`left`},n=r[1]?parseInt(r[1],10):1;return{name:t[r[2]],ctrl:!!(n&4),alt:!!(n&8),shift:!!(n&2),meta:!!(n&8),sequence:e}}let i=e.match(Hn);return i?{name:Gn(parseInt(i[1],10)),shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}function Wn(e){return e>=97&&e<=122?String.fromCharCode(e):e>=65&&e<=90?String.fromCharCode(e+32):e===13?`return`:e===9?`tab`:e===27?`escape`:e===32?`space`:e===127||e===8?`backspace`:String.fromCharCode(e)}function Gn(e){switch(e){case 1:case 7:return`home`;case 2:return`insert`;case 3:return`delete`;case 4:case 8:return`end`;case 5:return`pageup`;case 6:return`pagedown`;case 11:return`f1`;case 12:return`f2`;case 13:return`f3`;case 14:return`f4`;case 15:return`f5`;case 17:return`f6`;case 18:return`f7`;case 19:return`f8`;case 20:return`f9`;case 21:return`f10`;case 23:return`f11`;case 24:return`f12`;default:return`f${e}`}}function Kn(e){if(!process.stdout.isTTY)return;let t=qn(e);t&&process.stdout.write(`\x1b]0;${t}\x07`)}function qn(e){let t=e.replace(/[\x00-\x1f\x7f-\x9f]/g,``).replace(/[\u200b\u200c\u200e\u200f\u202a-\u202e\u2060-\u206f\ufeff]/g,``).replace(/\s+/g,` `).trim();return t.length>240?t.slice(0,240):t}function Jn(e,t,n){return t?`\x1b]8;${n?`id=${encodeURIComponent(n)}`:``};${encodeURIComponent(t)}\x1b\\${e}\x1b]8;;\x1b\\`:e}function Yn(e,t,n,r){let i=t.startsWith(`file://`)?t:`file://${t}`;return n!==void 0&&(i+=`#L${n}`),r!==void 0&&(i+=`:${r}`),Jn(e,i)}function Xn(e,t=`c`){let n=Buffer.from(e,`utf-8`).toString(`base64`);process.stdout.write(`\x1b]52;${t};${n}\x07`)}function Zn(e=`c`){return`\x1b]52;${e};?\x07`}function Qn(){process.stdout.write(`\x1BP=1s\x1B\\`)}function $n(){process.stdout.write(`\x1BP=2s\x1B\\`)}function er(e){Qn();try{return e()}finally{$n()}}const tr=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function nr(e){return e.includes(`\x1B[?2026`)?e.replace(tr,``):e}function rr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?nr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function ir(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const ar=RegExp(`\x1B\\[3J`,`g`);function or(e){return e.includes(`\x1B[3J`)?e.replace(ar,``):e}function sr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?or(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function cr(e=50){let t=[],n=0;return{snapshot(r){let i=Date.now();if(i-n<1e3)return;n=i;let a=t[t.length-1];a&&a.text===r.text&&a.offset===r.offset||(t.push({text:r.text,offset:r.offset,timestamp:i}),t.length>e&&t.splice(0,t.length-e))},undo(){return t.length===0?null:(n=0,t.pop())},get depth(){return t.length},reset(){t.length=0,n=0}}}function lr(e,t){if(!e)return[];let n=[];for(let r=t.length-1;r>=0;r--){let i=t[r],a=Yt(e,i);a&&n.push({entry:i,index:r,score:a.score,highlightRanges:Zt(a.positions)})}return n.sort((e,t)=>t.score-e.score||t.index-e.index),n.map(({entry:e,highlightRanges:t})=>{let n=t[0],r=t.at(-1);return{entry:e,matchStart:n?.start??0,matchEnd:r?.end??0,highlightRanges:t}})}function ur(e={}){let t=e.maxSize??100,n=e.initialEntries?[...e.initialEntries]:[];n.length>t&&n.splice(0,n.length-t);let r=-1,i=``,a=!1,o=[],s=``;return{push(e){e.length!==0&&(n.length>0&&n[n.length-1]===e||(n.push(e),n.length>t&&n.shift()))},navigateUp(e){return n.length===0?null:r===-1?(i=e,r=n.length-1,n[r]):r<=0?null:(r--,n[r])},navigateDown(){return r===-1?null:(r++,r>=n.length?(r=-1,i):n[r])},resetNavigation(){r=-1,i=``},beginSearch(e){s=e,a=!0,o=[],r===-1&&(i=e)},search(e){return!a||!e?[]:(o=lr(e,n),o)},acceptSearch(e){if(e<0||e>=o.length)return null;let t=o[e].entry;return a=!1,r=n.indexOf(t),t},cancelSearch(){return a=!1,o=[],s},get size(){return n.length},get navState(){return r===-1?null:{position:n.length-r,total:n.length}},getAll(){return n},clear(){n.length=0,r=-1,i=``,a=!1,o=[]}}}function dr(e,t){let n=process.env[e];if(!n)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:t}const fr=dr(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),pr=dr(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),mr=dr(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),hr={healthy:1,warning:2,critical:4},gr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function _r(e){let t=[];gr.lastIndex=0;let n;for(;(n=gr.exec(e))!==null;)t.push({start:n.index,end:n.index+n[0].length,id:Number.parseInt(n[1],10)});return t}function vr(e){return Buffer.byteLength(e,`utf-8`)}function yr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function br(e={}){let{residencyGovernor:t}=e,n=new Map,r=1,i=0,a=0;function o(){return t?.currentLevel??`healthy`}function s(){return Math.max(1,Math.floor(fr/hr[o()]))}function c(){return Math.max(1,Math.floor(pr/hr[o()]))}function l(e){let t=s(),r=c();for(;n.size>0&&(n.size>=t||i+e>r);){let e=n.keys().next().value;if(e===void 0)break;let t=n.get(e);t&&(i-=t.byteLength),n.delete(e),a++}}return{foldIfLarge(e){let t=e.split(`
2
+ `);if(e.length<=800&&t.length<=20)return e;let a=vr(e);l(a);let o=r++;return n.set(o,{text:e,byteLength:a}),i+=a,t.length>1?`[@paste:#${o} +${t.length} lines]`:`[@paste:#${o}]`},expandAll(e){let t=_r(e);if(t.length===0)return{text:e,missingIds:[]};let r=[],s=o(),c=[...t].sort((e,t)=>t.start-e.start),l=e;for(let e of c){let t=n.get(e.id);if(t===void 0){r.push(e.id);continue}l=l.slice(0,e.start)+t.text+l.slice(e.end),s===`healthy`?(n.delete(e.id),n.set(e.id,t)):(n.delete(e.id),i-=t.byteLength,a++)}return{text:l,missingIds:r.sort((e,t)=>e-t)}},findMissingIds(e){let t=_r(e),r=[];for(let e of t)n.has(e.id)||r.push(e.id);return[...new Set(r)].sort((e,t)=>e-t)},peek(e){return n.get(e)?.text},truncateIfNeeded(e){return e.length<=1e4?e:e.slice(0,500)+`\n[...Truncated ${e.length-500-500} chars...]\n`+e.slice(e.length-500)},addImageRef(){return`[@paste:image #${r++}]`},afterSubmit(e){if(o()!==`healthy`)for(let t of _r(e)){let e=n.get(t.id);e!==void 0&&(n.delete(t.id),i-=e.byteLength,a++)}},toSnapshot(){let e=[...n.entries()].map(([e,t])=>({id:e,text:t.text,byteLength:t.byteLength})),t=e.reduce((e,t)=>e+t.byteLength,0),i=0;for(;i<e.length&&t>mr;)t-=e[i].byteLength,i++;return{entries:i>0?e.slice(i):e,nextId:r}},hydrate(e){n.clear(),i=0;let t=Math.max(1,Math.floor(yr(e?.nextId)??0));for(let n of e?.entries??[]){let e=yr(n?.id);e!==void 0&&(t=Math.max(t,e+1))}r=Math.max(r,t);for(let t of e?.entries??[]){let e=yr(t?.id);if(e===void 0||typeof t?.text!=`string`||n.has(e))continue;let r=vr(t.text);n.set(e,{text:t.text,byteLength:r}),i+=r}},get size(){return n.size},get bytesUsed(){return i},get evictionCount(){return a},clear(){n.clear(),i=0}}}function xr(e){let t=e?[...e]:[],n=new Map;return{register(e){for(let n of e)t.some(e=>e.name===n.name)||t.push(n);t.sort((e,t)=>(e.sortKey??e.name).localeCompare(t.sortKey??t.name))},search(e,n=50){return Qt(t.map(e=>({text:e.name,aliases:[...e.aliases??[],...e.description?[e.description]:[]],payload:e,sortKey:e.sortKey})),e,{maxResults:n}).map(e=>e.item.payload)},getAll:()=>t,find:e=>t.find(t=>t.name===e),registerArgumentSuggester(e,t){n.set(e,t)},getArgumentSuggester(e){return n.get(e)}}}function Sr(e,t){let n=e.slice(0,t).trimStart();if(!n.startsWith(`/`))return null;let r=n.match(/^\/(.*)$/);return r?r[1]??``:null}function Cr(e,t,n){let r=Sr(e,t);if(r===null)return null;let i=r.indexOf(` `);if(i>0){let e=r.slice(0,i),t=r.slice(i+1),a=n.getArgumentSuggester(e);if(a){let n=en(a(t),t);if(n.length>0)return{suggestions:n,selectedIndex:0,prefix:`/${r}`,panelOpen:!0,argCommand:e}}return null}let a=n.search(r);return a.length===0?null:{suggestions:a,selectedIndex:0,prefix:`/${r}`,panelOpen:!0}}function wr(e,t){switch(t){case`prev`:return{...e,selectedIndex:(e.selectedIndex-1+e.suggestions.length)%e.suggestions.length};case`next`:return{...e,selectedIndex:(e.selectedIndex+1)%e.suggestions.length};case`accept`:return`accept`;case`dismiss`:return`dismiss`}}function Tr(e,t,n){let r=e.slice(0,t),i=r.lastIndexOf(`/`);if(i<0)return{text:e,offset:t};let a=r.slice(i+1),o=a.indexOf(` `),s=o>=0?a.slice(o):` `,c=`/${n.name}${s}`;return{text:e.slice(0,i)+c+e.slice(t),offset:i+c.length}}function Er(e){return{text:e,offset:e.length}}function Dr(e,t,n,r){if(!e)return null;let i=t.slice(0,n),a=i.lastIndexOf(`
3
+ `)+1;return Fe(i.slice(a)+(t.slice(n).split(`
4
+ `)[0]??``))+Fe(e)>r?null:e}function Or(e){return e.startsWith(`!!`)?{prefix:`!!`,body:e.slice(2)}:e.startsWith(`!`)?{prefix:`!`,body:e.slice(1)}:{prefix:``,body:e}}function kr(e){return e.startsWith(`!!`)?e.slice(2):e.startsWith(`!`)?e.slice(1):e}function Ar(e,t,n){let{prefix:r,body:i}=Or(e);if(r.length>0){if(i.length===0)return null;let e=i.toLowerCase();for(let a=n.length-1;a>=0;a--){let o=kr(n[a]);if(o.length<=i.length||!o.toLowerCase().startsWith(e))continue;let s=r+o;return{fullText:s,suffix:s.slice(t),kind:`history`}}return null}let a=e.toLowerCase();for(let r=n.length-1;r>=0;r--){let i=n[r];if(!(i.length<=e.length)&&i.toLowerCase().startsWith(a))return{fullText:i,suffix:i.slice(t),kind:`history`}}return null}function jr(e,t,n){let r=Sr(e,t);if(r===null||r.length===0)return null;let i=r.indexOf(` `);if(i>0){let a=r.slice(0,i),o=r.slice(i+1),s=n.getArgumentSuggester(a);if(!s)return null;let c=en(s(o),o,{maxResults:1});if(c.length===0)return null;let l=Nr(e,t,a,c[0].name);return{fullText:l.text,suffix:l.text.slice(t),kind:`slash-arg`}}let a=n.search(r,1);if(a.length===0)return null;let o=Tr(e,t,a[0]);return{fullText:o.text,suffix:o.text.slice(t),kind:`slash-command`}}function Mr(e){let{text:t,offset:n,dismissedPrefix:r,history:i,registry:a}=e;if(n!==t.length||t.length===0||r!==void 0&&r===t)return null;if(a&&t.trimStart().startsWith(`/`)){let e=Sr(t,n);if(e!==null&&e.length===0)return null;let r=jr(t,n,a);if(r)return r}return Ar(t,n,i)}function Nr(e,t,n,r){let i=e.slice(0,t),a=i.lastIndexOf(`/`);if(a<0)return{text:e,offset:t};let o=i.slice(a+1).indexOf(` `);if(o<0)return{text:e,offset:t};let s=a+1+o+1;return{text:e.slice(0,s)+r+e.slice(t),offset:s+r.length}}function Pr(e){return(e.VISUAL||e.EDITOR||``).trim()||(process.platform===`win32`?`notepad`:`vi`)}function Fr(e,t){let n=Pr(t.env),r=null;try{r=t.mkdtempSync(t.join(t.tmpdir(),`otto-edit-`));let i=t.join(r,`prompt.md`);t.writeFileSync(i,e);let a=n.split(/\s+/).filter(Boolean),o=a[0],s=[...a.slice(1),i],c=t.spawnSync(o,s,{stdio:`inherit`});return c.error?{ok:!1,error:`cannot launch editor "${n}": ${c.error.message}`}:c.status!=null&&c.status!==0?{ok:!1,error:`editor exited with code ${c.status}`}:{ok:!0,text:t.readFileSync(i).replace(/\n$/,``)}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}finally{if(r)try{t.rmSync(r,{recursive:!0,force:!0})}catch{}}}function Ir(){let e=_e(`fs`),t=_e(`os`),n=_e(`path`),r=_e(`child_process`);return{env:process.env,tmpdir:()=>t.tmpdir(),join:(...e)=>n.join(...e),mkdtempSync:t=>e.mkdtempSync(t),writeFileSync:(t,n)=>e.writeFileSync(t,n),readFileSync:t=>e.readFileSync(t,`utf8`),rmSync:(t,n)=>e.rmSync(t,n),spawnSync:(e,t,n)=>{let i=r.spawnSync(e,t,n);return{status:i.status,error:i.error}}}}const Lr=`/overlay/toast`,Rr=`/overlay/pause`,zr=`/overlay/retry`,Br=`/overlay/error-retry`,Vr=`/overlay/pulse-survey`,Hr=`/overlay/forced-upgrade`,Ur=`/overlay/paste-confirm`,Wr=`/overlay/services`,Gr=`/overlay/chip-viewer`,Kr=[Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr];function qr(e){return e.startsWith(`/overlay/`)}function Jr(e,t,n){e&&(n?e.ensure(t):e.dismiss(t))}const Yr=[/\bpassword\s*=/i,/\btoken\s*=/i,/export\s+\w*key\w*\s*=/i,/\bsecret\s*=/i];function Xr(e,t=Yr){return t.some(t=>t.test(e))}const Zr=`zsh-histfile`,Qr=/^: (\d+):(\d+);(.*)$/s;function $r(e){let t=[],n;for(let r of e){let e=n===void 0?r:`${n}\n${r}`;if(ei(r)){n=e.slice(0,-1);continue}t.push(e),n=void 0}return n!==void 0&&t.push(n),t}function ei(e){let t=0;for(let n=e.length-1;n>=0&&e[n]===`\\`;n--)t++;return t%2==1}function ti(e,t={}){let{source:n=Zr,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o=0;for(let t of $r(e.split(`
5
+ `))){if(!t)continue;let e=t.match(Qr);if(e){let t=e[3]??``;if(!t||i&&Xr(t,r))continue;a.push({command:t,timestamp:Number(e[1])*1e3,source:n});continue}if(t.startsWith(`:`))continue;let s=t.trim();s&&(i&&Xr(s,r)||(a.push({command:s,timestamp:o,source:n}),o++))}return ni(a)}function ni(e){let t=new Map;for(let n of e){let e=ii(n.command),r=t.get(e);(!r||ri(n)>=ri(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>ri(e)-ri(t))}function ri(e){return e.timestamp??0}function ii(e){return e.trim().replace(/\s+/g,` `)}const ai=`bash-histfile`;function oi(e,t={}){let{source:n=ai,sensitivePatterns:r,filterSensitive:i=!0}=t,a=e.split(`
6
+ `),o=[],s=0;for(let e=0;e<a.length;e++){let t=a[e];if(!t)continue;let c=t.match(/^#(\d+)$/);if(c){let t=a[e+1]?.trim();if(!t)continue;if(i&&Xr(t,r)){e++;continue}o.push({command:t,timestamp:Number(c[1])*1e3,source:n}),e++;continue}if(t.startsWith(`#`))continue;let l=t.trim();l&&(i&&Xr(l,r)||(o.push({command:l,timestamp:s,source:n}),s++))}return si(o)}function si(e){let t=new Map;for(let n of e){let e=ii(n.command),r=t.get(e);(!r||ci(n)>=ci(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>ci(e)-ci(t))}function ci(e){return e.timestamp??0}const li=`fish-histfile`;function ui(e,t={}){let{source:n=li,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o,s,c=0,l=()=>{if(o){if(i&&Xr(o,r)){o=void 0,s=void 0;return}a.push({command:o,timestamp:s??c++,source:n}),o=void 0,s=void 0}};for(let t of e.split(`
7
+ `)){let e=t.match(/^\s*-\s*cmd:\s*(.+)$/);if(e){l(),o=di(e[1].trim());continue}let n=t.match(/^\s*when:\s*(\d+)\s*$/);if(n&&o){s=Number(n[1])*1e3;continue}!t.trim()&&!t.startsWith(`-`)&&l()}return l(),fi(a)}function di(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function fi(e){let t=new Map;for(let n of e){let e=ii(n.command),r=t.get(e);(!r||pi(n)>=pi(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>pi(e)-pi(t))}function pi(e){return e.timestamp??0}const mi=`otto-session`,hi={[mi]:2};function gi(e,t,n={}){let r=t.reduce((e,t)=>Math.max(e,yi(t)),0),i=Math.max(n.ottoTimestampBase??0,r+1),a=e.map((e,t)=>({command:e,source:mi,timestamp:i+t})),o=[...t,...a],s=new Map;for(let e of o){let t=ii(e.command);if(!t)continue;let n=s.get(t);if(!n){s.set(t,e);continue}s.set(t,_i(n,e))}return[...s.values()].sort((e,t)=>yi(e)-yi(t))}function _i(e,t){let n=vi(e.source),r=vi(t.source);return n===r?yi(e)>=yi(t)?e:t:n>r?e:t}function vi(e){return hi[e]??1}function yi(e){return e.timestamp??0}function bi(e){return e.map(e=>e.command)}function xi(e,t,n){let r=gi(e,t,n);return{getCommands:()=>bi(r),getEntries:()=>r}}function Si(e,t){let n=e.startsWith(`!!`)?2:e.startsWith(`!`)?1:0;if(n===0)return null;let r=e.slice(n),i=t-n;if(i<=0)return{word:``,start:n,source:`command`};let a=r.slice(0,i),o=r.slice(i),s=a.lastIndexOf(` `)+1,c=a.slice(s),l=o.search(/\s/),u=c+(l===-1?o:o.slice(0,l)),d=r.slice(0,s).trim()===``?`command`:`path`;return{word:u,start:s+n,source:d}}let Ci=null;function wi(){if(Ci)return Ci;let e=(process.env.PATH??`/usr/local/bin:/usr/bin:/bin`).split(`:`).filter(Boolean),t=new Set,n=[];for(let r of e)try{let e=rn(r);for(let r of e)t.has(r)||(t.add(r),n.push(r))}catch{}return n.sort(),Ci=n,n}function Ti(e){let t=e.toLowerCase();return wi().filter(e=>e.toLowerCase().startsWith(t))}function Ei(e,t){let n=mn(t,e),r=e.endsWith(`/`)||e===``?n:fn(n),i=e.endsWith(`/`)||e===``?``:dn(n),a;try{a=rn(r)}catch{return[]}let o=i.toLowerCase(),s=[];for(let e of a){if(!e.toLowerCase().startsWith(o)||e.startsWith(`.`))continue;let t=mn(r,e),n;try{n=an(t)}catch{continue}n.isDirectory()?s.push(e+`/`):s.push(e)}return s.sort(),s}function Di(e){if(e.length===0)return``;if(e.length===1)return e[0];let t=0,n=e[0];for(;t<n.length;){let r=n[t];for(let i of e)if(t>=i.length||i[t]!==r)return n.slice(0,t);t++}return n}function Oi(e,t){switch(t){case`prev`:return{...e,selectedIndex:(e.selectedIndex-1+e.completions.length)%e.completions.length};case`next`:return{...e,selectedIndex:(e.selectedIndex+1)%e.completions.length};case`accept`:return`accept`;case`dismiss`:return`dismiss`}}function ki(e,t,n){let r=n.completions[n.selectedIndex];if(!r)return{text:e,offset:t};let{wordStart:i,prefix:a}=n,o=i+a.length+(e.slice(i+a.length).search(/\s|$/)===-1?e.length-i-a.length:Math.max(0,e.slice(i+a.length).search(/\s/))),s=e.slice(0,i),c=e.slice(o),l=r,u=i===1?` `:``;return{text:s+l+u+c,offset:i+l.length+u.length}}function Ai(e,t){let n=Di(t.completions);if(n.length<=t.prefix.length)return{text:e,offset:e.length};let r=e.slice(0,t.wordStart),i=e.slice(t.wordStart+t.prefix.length);return{text:r+n+i,offset:t.wordStart+n.length}}function ji(e){return e.startsWith(`!!`)?`bash_async`:e.startsWith(`!`)?`bash`:e.startsWith(`#`)?`memory`:`send`}function Mi(e,t){return t===`bash_async`&&e.startsWith(`!!`)?e.slice(2):t===`bash`&&e.startsWith(`!`)||t===`memory`&&e.startsWith(`#`)?e.slice(1):e}const Ni={send:`> `,bash:`! `,bash_async:`!! `,memory:`# `};function Pi({columns:e=80,placeholder:n=``,disabled:r=!1,reviewing:i=!1,commands:a=[],onSubmit:o,onInterrupt:s,onClear:c,onEscape:l,onHistorySearch:u,historySearchOpen:d=!1,sigilEnabled:p=!1,onSigilTrigger:m,onSigilClose:h,onChipReopen:g,onChipViewPaste:v,onToast:y,onDraftSave:b,keybindingOverrides:x,onPasteConfirm:S,cwd:w,historyInsertRef:T,pasteBridgeRef:E,initialHistory:D,externalHistoryCommands:O,onHistoryPush:k,onHistoryNavChange:ee,residencyGovernor:te,registryRef:A,shellBackendRef:ne}){let j=L(),[M,re]=K(``),[N,ie]=K(0),[P,ae]=K(`send`),[oe,se]=K(null),le=G(null),ue=le.current??=ur({initialEntries:D}),[de,fe]=K(0),pe=Ft(()=>O?.length?O.map(e=>({command:e,source:`external-shell`})):[],[O]),he=Ft(()=>{let e=ue.getAll();return pe.length?bi(gi(e,pe)):e},[ue,de,pe]);T&&(T.current={fill:e=>Ve(e,e.length),append:e=>{let t=M+e;Ve(t,t.length)}});let ge=G(null),_e=ge.current??=cr(),ve=G(null),ye=ve.current??=br({residencyGovernor:te});E&&(E.current={hydrate:e=>ye.hydrate(e),export:()=>ye.toSnapshot()});let xe=Ft(()=>xr(a),[a]);A&&(A.current=xe);let{setRawMode:Se}=Ut(),Ce=G(0),we=G(null),F=G(null),[Ee,Oe]=K(null),Ae=G(!1),je=G(M),Me=G(N);je.current=M,Me.current=N;let[Ne,Pe]=K(void 0),Ie=Ft(()=>d||Ee?.visible||we.current!==null?null:Mr({text:M,offset:N,dismissedPrefix:Ne,history:he,registry:xe}),[M,N,Ne,d,Ee,P,oe,xe,he]),I=Ft(()=>{if(!Ie)return;let t=Math.max(20,e-Fe(Ni[P]));return Dr(Ie.suffix,M,N,t)??void 0},[Ie,M,N,e,P]),Re=Ft(()=>new Set(ye.findMissingIds(M)),[M,ye]),ze=Nt((e,t,n,r)=>{e!==M&&Pe(void 0),!r?.fromHistoryRecall&&ue.navState!==null&&(ue.resetNavigation(),ee?.(null)),_e.snapshot({text:M,offset:N});let i=Math.max(0,Math.min(t,e.length));if(re(e),ie(i),ae(ji(e)),se(Cr(e,t,xe)),Oe(null),!p||!m){F.current=on(F.current,M,e),we.current=null;return}let a=ln({source:n,oldText:M,newText:e,cursorOffset:i,dismissed:F.current});if(F.current=a.dismissed,a.action!==`open`){we.current=null,a.action===`close`&&h?.();return}let o=a.trigger;we.current={sigil:o.sigil,anchor:o.anchor,cursor:i},m(o.sigil,o.query,{select:t=>{let n=we.current;if(we.current=null,!n)return;let r=sn(e,n.cursor,n.anchor,t);ze(r.text,r.offset,`completion`)},cancel:t=>{let n=we.current;if(we.current=null,n){if(!t){F.current={sigil:n.sigil,anchor:n.anchor,tokenLength:n.cursor-n.anchor};return}ze(e.slice(0,n.anchor)+e.slice(n.cursor),n.anchor,`completion`)}}})},[ue,xe,M,N,p,m,h,ee]),Be=Nt((e,t)=>{ze(e,t,`typing`)},[ze]),Ve=Nt((e,t)=>{ze(e,t,`programmatic`)},[ze]),He=Nt((e,t)=>{ze(e,t,`programmatic`,{fromHistoryRecall:!0})},[ze]),Ue=Nt((e,t)=>{let n=ye.findMissingIds(e);if(n.length>0){y?.(V.t(`paste.titlePasteExpired`),V.t(`paste.expiredToast`,{count:n.length}));let t=n[0],r=/\[@paste:#(\d+)(?:\s+\+\d+\s+lines)?\]/g,i,a;for(;(i=r.exec(e))!==null;)if(Number.parseInt(i[1],10)===t){a=i.index;break}a!==void 0&&ze(e,a,`programmatic`);return}let{text:r}=ye.expandAll(e),i=ji(r),a=Mi(r,i);if(!a.trim()){re(``),ie(0),ae(`send`),se(null),Oe(null);return}e.trim()&&(ue.push(e),fe(e=>e+1),k?.(ue.getAll())),ue.resetNavigation(),ee?.(null),ye.afterSubmit(e),_e.reset(),o?.(a,i,t)!==`rejected`&&(re(``),ie(0),ae(`send`),se(null),Oe(null))},[o,ye,y,ze]),We=Nt(e=>{Ce.current=Date.now();let t=Te(e);if(!t)return;let n=t.split(`
8
+ `);if((t.length>800||n.length>20)&&S)S(t,{confirm:()=>{let e=ye.foldIfLarge(t);ze(M.slice(0,N)+e+M.slice(N),N+e.length,`paste`)},cancel:()=>{}});else{let e=ye.foldIfLarge(t);ze(M.slice(0,N)+e+M.slice(N),N+e.length,`paste`)}},[M,N,ye,ze,S]),{currentPath:Ge}=ce(),Ke=Ge===`/`||Ge===`/home`,qe=G(null),Je=(Ke||Ge===`/overlay/toast`)&&!r&&P===`send`,Ye=G(0);return Ht(We,{isActive:Ke&&!r}),yt(`prompt-input`,Nt((t,n)=>{if(n.ctrl&&t===`c`){s?.();return}if(n.ctrl&&t===`l`){c?.();return}if(me(ke,`prompt`,t,n,x)===`save-draft`)return M.trim()?(b?.(M),y?.(V.t(`draft.sLabel`),V.t(`draft.saved`)),!0):(y?.(V.t(`draft.sLabel`),V.t(`draft.saveEmpty`)),!0);if(r)return;if(n.tab&&I&&Ie){let e=Er(Ie.fullText);return ze(e.text,e.offset,`completion`),!0}if(n.tab&&oe&&!oe.panelOpen&&oe.suggestions.length>0&&P!==`bash`&&P!==`bash_async`)return se({...oe,panelOpen:!0}),!0;if(n.ctrl&&t===`r`){u?.();return}if(n.ctrl&&t===`x`){try{Se?.(!1)}catch{}let e=Fr(M,Ir());try{Se?.(!0)}catch{}e.ok&&e.text!=null?Ve(e.text,e.text.length):e.error&&y?.(V.t(`toast.editorError`),e.error);return}if(n.ctrl&&(t===`_`||t===``||t===`-`)){let e=_e.undo();e&&(ze(e.text,e.offset,`programmatic`),se(null),Oe(null));return}if(I&&n.escape){Pe(M);return}if(oe&&oe.panelOpen){if(n.escape){se({...oe,panelOpen:!1});return}if(n.upArrow||n.downArrow||n.tab||n.return){let e=wr(oe,n.upArrow?`prev`:n.downArrow?`next`:`accept`);if(e===`accept`){let e=oe.suggestions[oe.selectedIndex];if(e&&!e.disabled){let t=oe.argCommand?Nr(M,N,oe.argCommand,e.name):Tr(M,N,e);return n.return?(Ue(t.text,!1),!0):(ze(t.text,t.offset,`completion`),!0)}return se(null),!0}return e===`dismiss`?(se({...oe,panelOpen:!1}),!0):(se(e),!0)}}let i=P===`bash`||P===`bash_async`;if(n.tab&&i&&ne?.current){let e=ne.current;if(Ee&&Ee.visible){let e=Oi(Ee,`next`);if(e===`accept`){let e=ki(M,N,Ee);return ze(e.text,e.offset,`completion`),Oe(null),!0}return e===`dismiss`?(Oe(null),!0):(Oe(e),!0)}if(Ae.current)return!0;let t=M,n=N;return Ae.current=!0,(async()=>{let r=await e.getCompletions({text:t,cursorOffset:n,cwd:w??process.cwd()});if(Ae.current=!1,je.current!==t||Me.current!==n)return;let i=Si(t,n);if(!i||r.length===0)return;let{word:a,start:o}=i;if(r.length===1){let e=ki(t,n,{completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1});ze(e.text,e.offset,`completion`);return}let s=Di(r);if(s.length>a.length){let e={completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1},n=Ai(t,e);ze(n.text,n.offset,`completion`),Oe({...e,prefix:s,commonPrefixApplied:!0});return}Oe({completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1})})(),!0}if(n.escape&&M.length===0){l?.();return}if(t.length>1&&!n.ctrl&&!n.meta&&!n.return&&!n.escape&&!n.backspace&&!n.delete&&!n.tab&&!n.upArrow&&!n.downArrow&&!n.leftArrow&&!n.rightArrow){let e=Te(t);if(e){let t=ye.foldIfLarge(e);Be(M.slice(0,N)+t+M.slice(N),N+t.length)}return}let a=ue.navState!==null,o=M.trimStart().startsWith(`/`);if(n.downArrow&&o&&oe&&oe.suggestions.length>0&&!a&&!M.includes(`
9
+ `)){Pe(M),se({...oe,panelOpen:!0});return}let d=De.fromText(M,e,N),f=d.up().offset!==d.offset,p=d.down().offset!==d.offset;if(n.upArrow&&(!f||a)){let e=ue.navigateUp(M);if(e!==null){He(e,e.length);let t=ue.navState;t&&ee?.({...t,entry:e})}return}if(n.downArrow&&(!p||a)){let e=ue.navigateDown();if(e!==null){He(e,e.length);let t=ue.navState;ee?.(t?{...t,entry:e}:null)}return}if(n.upArrow||n.downArrow){let t=De.fromText(M,e,N),r=n.upArrow?t.up():t.down();Be(r.text,r.offset);return}if(n.leftArrow){let t=De.fromText(M,e,N).left();Be(t.text,t.offset);return}if(n.rightArrow||n.end){if(I&&Ie){let e=Er(Ie.fullText);ze(e.text,e.offset,`completion`);return}if(n.end){Be(M,M.length);return}let t=De.fromText(M,e,N).right();Be(t.text,t.offset);return}if(n.return&&Date.now()-Ce.current<50)return;if(n.return){let e=at(M,N);if(e){let t=Xe(e.text);if(t===`paste`){let t=Le(e.text);if(t===void 0)return;let n=ye.peek(t);n!==void 0&&v?v(e.text,n):y&&y(V.t(`paste.titlePasteExpired`),V.t(`paste.expiredToast`,{count:1}));return}if(g){let n={start:e.start,end:e.end};g(t,n,{select:e=>{let t=cn(M,n.start,n.end,e);ze(t.text,t.offset,`completion`)},cancel:()=>{}});return}}}(n.backspace||n.delete)&&(Ye.current=Date.now());let m={name:n.return?`return`:n.escape?`escape`:n.backspace?`backspace`:n.delete?`delete`:n.tab?`tab`:t||`unknown`,ctrl:n.ctrl??!1,shift:n.shift??!1,alt:n.meta??!1,meta:n.meta??!1},h=nt(De.fromText(M,e,N),m);if(h){if(h.action===`submit`){Ue(M,!1);return}if(h.action===`submit_force`){Ue(M,!0);return}if(h.action===`clear_text`){Be(h.cursor.text,h.cursor.offset);return}Be(h.cursor.text,h.cursor.offset)}},[M,N,e,r,oe,Ee,ne,P,w,s,c,l,y,b,x,g,v,ye,ze,Ue,Be,Ve,He,I,Ie]),{isActive:Ke&&!r&&!i}),J(Y,{flexDirection:`column`,children:[oe&&oe.panelOpen&&oe.suggestions.length>0&&(()=>{let e=oe.suggestions.length,n=oe.selectedIndex,r=e<=10?0:Math.min(Math.max(0,n-5),e-10),i=oe.suggestions.slice(r,r+10);return J(Y,{flexDirection:`column`,...pt,borderColor:j.panelBorder,children:[q(Y,{height:1,children:q(_,{hasMore:r>0,count:r})}),i.map((e,t)=>{let i=r+t;return J(X,{color:i===n?j.selection:void 0,dimColor:i!==n||!!e.disabled,bold:i===n,children:[i===n?tt():be(),`/`,e.name,e.aliases?.length?` (${e.aliases.join(`, `)})`:``,e.description?` — ${e.description}`:``]},e.name)}),q(Y,{height:1,children:q(C,{hasMore:r+10<e,count:e-r-10})}),q(Y,{marginTop:t.tight}),q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.close`)]]})]})})(),Ee&&Ee.visible&&Ee.completions.length>0&&(()=>{let e=Ee.completions.length,t=Ee.selectedIndex,n=e<=10?0:Math.min(Math.max(0,t-5),e-10),r=Ee.completions.slice(n,n+10);return J(Y,{flexDirection:`column`,...pt,borderColor:j.panelBorder,children:[q(Y,{height:1,children:q(_,{hasMore:n>0,count:n})}),r.map((e,r)=>{let i=n+r;return J(X,{color:i===t?j.selection:void 0,dimColor:i!==t,bold:i===t,children:[i===t?tt():be(),e]},e)}),q(Y,{height:1,children:q(C,{hasMore:n+10<e,count:e-n-10})})]})})(),r&&q(X,{dimColor:!0,children:n||R.ellipsis}),!r&&q(mt,{value:M,offset:N,columns:e,mode:P,placeholder:i?V.t(`prompt.reviewingPlaceholder`):Ke?n||V.t(`prompt.fallback`):V.t(`prompt.unfocused`),focused:Ke&&!i,ghostSuffix:I,invalidPasteIds:Re,containerRef:qe,physicalCursor:Je,deleteKeyAt:Ye.current})]})}function Fi({items:e}){let t=L();return e.length===0?null:J(Y,{children:[q(X,{color:t.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`queue.label`)}),J(d,{type:`secondary`,children:[` `,e.length]}),J(d,{type:`secondary`,dim:!0,children:[` `,i(`q`)]})]})}function Ii(e){return`'`+e.replace(/'/g,`'\\''`)+`'`}function Li(e,t,n){let r=Object.entries(t).map(([e,t])=>e+`=`+Ii(t)).join(` `);try{return hn(r+` `+e,{timeout:n,maxBuffer:100*1024}).toString(`utf-8`).split(`
10
+ `).filter(Boolean)}catch{return[]}}var Ri=class{name=`bash`;commandCache=null;async getCommands(e){if(this.commandCache&&e){let t=e.toLowerCase(),n=[];for(let[,e]of this.commandCache)for(let r of e)r.toLowerCase().startsWith(t)&&n.push(r);return n.map(e=>({value:e,type:`command`}))}let t=Li(`bash -c 'compgen -ac'`,{},200),n=new Map;for(let e of t){let t=e.charAt(0).toLowerCase(),r=n.get(t)??[];r.push(e),n.set(t,r)}if(this.commandCache=n,!e)return t.map(e=>({value:e,type:`command`}));let r=e.toLowerCase();return t.filter(e=>e.toLowerCase().startsWith(r)).map(e=>({value:e,type:`command`}))}buildCompreplyScript(){return[`for compfile in /usr/share/bash-completion/bash_completion \\`,` /usr/local/share/bash-completion/bash_completion \\`,` "$HOME/.bash_completion"; do`,` [ -f "$compfile" ] && source "$compfile" 2>/dev/null && break`,`done`,`_init_completion -s 2>/dev/null || true`,`COMP_WORDS=($words)`,`COMP_CWORD=$cword`,`COMPREPLY=()`,`_command_completion 2>/dev/null`,'printf "%s\\n" "${COMPREPLY[@]}"'].join(`
11
+ `)}buildCompgenFileScript(e){return`bash -c 'compgen -A file -- `+Ii(e)+` 2>/dev/null; compgen -A directory -- `+Ii(e)+` 2>/dev/null'`}async getCompletions(e){let{words:t,wordIndex:n,cwd:r}=e;if(t.length===0)return[];let i=t[0]?.word??``,a=Li(`bash -c '`+this.buildCompreplyScript()+`'`,{words:t.map(e=>e.word).join(` `),cword:String(n),cmd:i},500);if(a.length>0)return a.map(e=>({value:e,type:`arg`}));let o=t[n]?.word??``,s=Li(this.buildCompgenFileScript(o),{},200);return s.length>0?s.map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`})):Ei(o,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){this.commandCache=null}},zi=class{name=`zsh`;commandCache=null;async getCommands(e){if(this.commandCache&&e){let t=e.toLowerCase(),n=[];for(let[,e]of this.commandCache)for(let r of e)r.toLowerCase().startsWith(t)&&n.push(r);return n.map(e=>({value:e,type:`command`}))}let t=Li("zsh -c 'autoload -Uz compinit; compinit -i 2>/dev/null; print -l ${(k)_comps}'",{},300),n=new Map;for(let e of t){let t=e.charAt(0).toLowerCase(),r=n.get(t)??[];r.push(e),n.set(t,r)}if(this.commandCache=n,!e)return t.map(e=>({value:e,type:`command`}));let r=e.toLowerCase();return t.filter(e=>e.toLowerCase().startsWith(r)).map(e=>({value:e,type:`command`}))}async getCompletions(e){let{words:t,wordIndex:n}=e,r=t[0]?.word??``,i=t[n]?.word??``,a=Li("zsh -c 'autoload -Uz compinit; compinit -i 2>/dev/null; _comps[$cmd] $cmd ${(q)prefix}'",{cmd:r,prefix:i},500);if(a.length>0)return a.map(e=>({value:e,type:`arg`}));let o=Li("zsh -c 'print -l ${(k)_commands} 2>/dev/null'",{},200);if(o.length>0){let e=i.toLowerCase();return o.filter(t=>t.toLowerCase().startsWith(e)).map(e=>({value:e,type:`command`}))}return[]}destroy(){this.commandCache=null}},Bi=class{name=`builtin`;async getCommands(e){if(!e)return wi().map(e=>({value:e,type:`command`}));let t=e.toLowerCase();return wi().filter(e=>e.toLowerCase().startsWith(t)).map(e=>({value:e,type:`command`}))}async getCompletions(e){let{words:t,wordIndex:n,cwd:r}=e,i=t[n]?.word??``;return n===0?this.getCommands(i):Ei(i,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){}};const Vi={enabled:!0,backend:`auto`,commandTimeoutMs:200,argTimeoutMs:500,maxResults:100};function Hi(){let e=process.env.SHELL??``;return e.includes(`zsh`)?`zsh`:e.includes(`bash`)||e.includes(`sh`)?`bash`:`other`}function Ui(e){let t={...Vi,...e};if(!t.enabled||t.backend===`disabled`)return null;let n=t.backend;switch(n===`auto`&&(n=Hi()===`zsh`?`zsh`:`bash`),n){case`bash`:return new Ri;case`zsh`:return new zi;case`builtin`:return new Bi;default:return new Bi}}const Wi={commandTimeoutMs:200,argTimeoutMs:500,maxResults:100,commandCacheTtlMs:3e4,argCacheTtlMs:3e4,maxCacheEntries:50};function Gi(e){return Date.now()>e.expiresAt}function Ki(e,t){return e.slice(0,t).map(e=>e.value)}function qi(e,t){let n=new Set,r=[];for(let i of[...e,...t])n.has(i)||(n.add(i),r.push(i));return r}var Ji=class{backend;opts;commandCache=null;argCache=new Map;abortController=null;constructor(e,t){this.backend=e,this.opts={...Wi,...t}}cancelPending(){this.abortController&&=(this.abortController.abort(),null)}getCommands(e){if(this.commandCache&&!Gi(this.commandCache)&&e){let t=e.toLowerCase();return Promise.resolve(this.commandCache.data.filter(e=>e.toLowerCase().startsWith(t)))}if(!this.backend){let t=Ti(e);return this.commandCache={data:[...t],expiresAt:Date.now()+this.opts.commandCacheTtlMs},Promise.resolve(t)}return Promise.race([this.backend.getCommands(e).then(t=>{let n=Ki(t,this.opts.maxResults);return this.commandCache={data:[...n],expiresAt:Date.now()+this.opts.commandCacheTtlMs},qi(n,Ti(e))}).catch(()=>Ti(e)),new Promise(t=>{setTimeout(()=>t(Ti(e)),this.opts.commandTimeoutMs)})])}getCompletions(e){let{text:t,cursorOffset:n,cwd:r}=e,i=Si(t,n);if(!i)return Promise.resolve([]);let{word:a,source:o}=i;if(o===`command`)return this.getCommands(a);if(!this.backend)return Promise.resolve(Ei(a,r));let s=t.startsWith(`!!`)?t.slice(2):t.startsWith(`!`)?t.slice(1):t,c=s.split(` `).filter(Boolean),l=n-(t.length-s.length),u=Math.max(0,s.slice(0,l).split(` `).filter(Boolean).length-1),d=c[0]??``,f=r+`|`+d+`|`+a,p=this.argCache.get(f);if(p&&!Gi(p))return Promise.resolve(p.data);let m={text:s,cursorOffset:l,words:c.map(e=>({word:e,offset:0})),wordIndex:u,cwd:r,signal:void 0};return Promise.race([this.backend.getCompletions(m).then(e=>{let t=qi(Ki(e,this.opts.maxResults),Ei(a,r));return this.setArgCache(f,t),t}).catch(()=>Ei(a,r)),new Promise(e=>{setTimeout(()=>e(Ei(a,r)),this.opts.argTimeoutMs)})])}setArgCache(e,t){if(this.argCache.size>=this.opts.maxCacheEntries){let e=[...this.argCache.entries()],t=Math.ceil(this.opts.maxCacheEntries/3);for(let n=0;n<t&&n<e.length;n++)this.argCache.delete(e[n][0])}this.argCache.set(e,{data:t,expiresAt:Date.now()+this.opts.argCacheTtlMs})}makeShellCompletion(e,t,n){return{completions:e,selectedIndex:0,prefix:n,wordStart:t,visible:!0,commonPrefixApplied:!1}}destroy(){this.cancelPending(),this.backend&&=(this.backend.destroy(),null),this.commandCache=null,this.argCache.clear()}};function Yi(e,t){if(t!==`send`)return``;let n=e.trimStart();return n.startsWith(`/`)?(n.slice(1).split(/\s+/)[0]??``).toLowerCase():``}function Xi(e,t){return e?.()??t}function Zi(e,t){return e||t}function Qi(e,t){return e||t}function $i(e,t){return e||t}function ea(e,t,n,r){let i=Yi(e,t);return i&&r.isInterruptCommand?.(i)||i&&r.isImmediateCommand(i)?`command`:r.processing?n||t!==`send`||i?`queue`:`steer`:`send`}let ta=null;function na(){return ta||=Rn({indices:{}}),ta}function ra(e,t){let n=na(),r=Z(n,t=>t.indices[e]??0),i=t>0?Math.min(r,Math.max(0,t-1)):r,a=G(e);a.current=e;let o=G(t);return o.current=t,W(()=>{i!==r&&n.setState(e=>({indices:{...e.indices,[a.current]:i}}))},[i,r,n]),[i,e=>{let t=n.getState().indices[a.current]??0,r=typeof e==`function`?e(t):e,i=Math.max(0,o.current-1),s=o.current>0?Math.min(r,i):r;s!==t&&n.setState(e=>({indices:{...e.indices,[a.current]:s}}))}]}function ia(e,t,n){let r=Math.max(1,Math.floor(t)),i=Math.max(0,e-r),a=Math.min(Math.max(0,Math.floor(n)),i),o=Math.min(e,a+r);return{offset:a,start:a,end:o,above:a,below:Math.max(0,e-o)}}function aa(){let e=Rn({offset:0,totalLines:0,atTranscriptTop:!1}),t=new Set;return{store:e,scrollBy(t){let n=e.getState();if(n.totalLines<=0)return;let r=n.totalLines-1;e.setState({offset:Math.min(r,Math.max(0,n.offset+t))})},page(t,n){let r=Math.max(1,Math.floor(n)-2),i=e.getState();if(i.totalLines<=0)return;let a=i.totalLines-1;e.setState({offset:Math.min(a,Math.max(0,i.offset+t*r))})},toTop(){e.setState({offset:2**53-1})},toBottom(){e.setState({offset:0})},setOffset(t){let n=e.getState();if(n.totalLines<=0)return;let r=n.totalLines-1;e.setState({offset:Math.min(r,Math.max(0,Math.floor(t)))})},setTotalLines(t){e.setState({totalLines:Math.max(0,Math.floor(t))})},setAtTranscriptTop(t){e.getState().atTranscriptTop!==t&&e.setState({atTranscriptTop:t})},registerWheel(e){return t.add(e),()=>{t.delete(e)}},dispatchWheel(e){if(t.size===0)return!1;let n=[...t];return n[n.length-1](e),!0}}}function oa(e,t,n,r){let i=Math.max(0,n-Math.max(1,Math.floor(r)));return Math.min(i,Math.max(0,Math.floor(e)-t*3))}const sa=Mt(void 0),ca=sa.Provider;function la(){return Pt(sa)}function ua(e,t,n){if(e<=t||t<=0)return null;let r=Math.max(1,Math.round(t/e*t)),i=e-t,a=t-r;return{start:Math.round(Math.min(Math.max(0,n),i)/i*a),size:r}}function da(e,t,n){let r=ua(e,t,n),i=[];for(let e=0;e<t;e++)i.push(r&&e>=r.start&&e<r.start+r.size?R.scrollThumb:` `);return i}function fa(e,t){if(t<=0||e.length===0)return``;let n=R.sparkline,r=e.slice(-t),i=r.filter(e=>Number.isFinite(e));if(i.length===0)return n[0].repeat(r.length);let a=Math.min(...i),o=Math.max(...i),s=o-a,c=Math.max(Math.abs(a),Math.abs(o)),l=c===0||s/c<.05;return r.map(e=>Number.isFinite(e)?l?n[3]:n[Math.min(n.length-1,Math.floor((e-a)/s*n.length))]:n[0]).join(``)}function pa(e,t){if(t<=0)return``;let n=Math.round(Math.min(1,Math.max(0,e))*t),r=N(R.gaugeFilled,n);return r+N(R.gaugeRest,Math.max(0,t-ut(r)))}const ma=`\x1B[43m`,ha=`\x1B[49m`,ga=`\x1B[48;5;208m`,_a=`\x1B[49m`;function va(e,t,n){if(t.length===0||e===``)return e;let r=[];for(let e of t){if(!e)continue;let[t,n]=e,i=r[r.length-1];i&&t<=i[1]?i[1]=Math.max(i[1],n):r.push([t,n])}let i;n&&n[0]!==void 0&&n[1]!==void 0&&(i=[n[0],n[1]]);let a=e=>i!==void 0&&e>=i[0]&&e<i[1],o=e=>r.some(([t,n])=>e>=t&&e<n),s=``,c=0,l=!1,u=!1,d=0,f=!1,p=``,m=()=>{let e=a(c),t=o(c);!l&&t?(s+=e?ga:ma,l=!0,u=e):l&&!t?(s+=u?_a:ha,l=!1):l&&t&&e!==u&&(s+=u?_a:ha,s+=e?ga:ma,u=e)};for(let t=0;t<e.length;t++){let n=e.charAt(t);if(n===`\x1B`&&t+1<e.length&&e.charAt(t+1)===`]`){let n=t+2;for(;n<e.length;){if(e.charAt(n)===`\x07`){n++;break}if(e.charAt(n)===`\x1B`&&n+1<e.length&&e.charAt(n+1)===`\\`){n+=2;break}n++}s+=e.slice(t,n),t=n-1;continue}if(n===`\x1B`&&t+1<e.length&&e.charAt(t+1)===`[`&&(d++,f=!1,p=``),!d)m(),s+=n,c++;else{if(m(),s+=n,f)f=!1;else{let e=n.charCodeAt(0);e>=64&&e<=126?(l&&n===`m`&&/^(?:0|0;.*|.*;0(?:;.*)?)$/.test(p)&&(s+=u?ga:ma),d=0,p=``):e>=32&&(p+=n)}n===`\x1B`&&d>0&&(f=!0)}}return l&&(s+=u?_a:ha),s}function ya(e,t,n={}){if(!t)return[];if(n.regex){let r;try{r=new RegExp(t,n.caseSensitive?`g`:`gi`)}catch{return[]}let i=[],a;for(;(a=r.exec(e))!==null;)i.push([a.index,a.index+a[0].length]),a[0].length===0&&r.lastIndex++;return i}if(n.wholeWord){let r;try{let e=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);r=RegExp(`\\b${e}\\b`,n.caseSensitive?`g`:`gi`)}catch{return[]}let i=[],a;for(;(a=r.exec(e))!==null;)i.push([a.index,a.index+a[0].length]);return i}let r=n.caseSensitive?e:e.toLowerCase(),i=n.caseSensitive?t:t.toLowerCase(),a=[],o=0;for(;;){let e=r.indexOf(i,o);if(e===-1)break;a.push([e,e+t.length]),o=e+1}return a}const ba={keyword:`#C678DD`,built_in:`#56B6C2`,type:`#56B6C2`,literal:`#D19A66`,number:`#D19A66`,regexp:`#98C379`,string:`#98C379`,class:`#E5C07B`,function:`#61AFEF`,comment:`#5C6370`,doctag:`#5C6370`,meta:`#5C6370`,tag:`#E06C75`,name:`#E06C75`,attr:`#56B6C2`,addition:`#98C379`,deletion:`#E06C75`};let xa=null;function Sa(){if(!xa)return;let e={};for(let[t,n]of Object.entries(ba))e[t]=xa.hex(n);return e}let Ca=null,wa=null,Ta=null;function Ea(){return Ta||(Ta=Promise.all([import(`cli-highlight`),import(`chalk`)]).then(([e,t])=>{Ca=e.highlight,wa=e.supportsLanguage,xa=t.default}).catch(()=>{}),Ta)}function Da(){return Ca!==null}function Oa(e,t){if(!Ca)return Ea(),null;if(!t||e.length>524288||wa&&!wa(t))return null;try{let n=Sa();return n?Ca(e,{language:t,ignoreIllegals:!0,theme:n}):Ca(e,{language:t,ignoreIllegals:!0})}catch{return null}}const ka=[`∙`,`◦`,`▪`,`-`];function Aa(e){return e.every(e=>ut(e)===1)}function ja(e,t,n){let r=e[t??n];if(typeof r==`string`&&r.length>0)return r;let i=e[n];return typeof i==`string`?i:``}function Ma(e=I,t,n){let r={...t,...n},i=r.listMarkers&&Aa(r.listMarkers)?r.listMarkers:ka,a=r.listIndent===3?3:2;return{heading1:ja(e,r.heading1,`accent`),heading2:ja(e,r.heading2,`secondary`),headingWeak:ja(e,r.headingWeak,`inactive`),listMarkerPrimary:ja(e,r.listMarker,`secondary`),listMarkerMuted:ja(e,r.listMarkerMuted,`inactive`),quoteBar:ja(e,r.quoteBar,`accentDim`),quoteText:ja(e,r.quoteText,`secondary`),link:ja(e,r.link,`accentBright`),inlineCode:ja(e,r.inlineCode,`codeText`),codeFenceDivider:ja(e,r.codeFence,`inactive`),tableHeader:ja(e,r.tableHeader,`secondary`),tableDivider:ja(e,r.tableDivider,`inactive`),listIndent:a,listMarkers:i,codeBlockDivider:r.codeBlockDivider===`none`?`none`:`hr`,h1Divider:e.inactive,hr:e.inactive,codeGutter:e.inactive,codeLabel:e.suggestion,tableBody:e.text,taskChecked:e.success}}let Na;function Pa(e){Na=e}function Fa(){return Na}function Ia(){return Ma(I,void 0,Na)}function La(){return Ia()}function Q(e,t){if(!t||!e)return e;try{if(t.startsWith(`#`))return _n.hex(t)(e);let n=_n[t];return typeof n==`function`?n(e):e}catch{return e}}function Ra(e,t,n){return Jn(_n.underline(Q(e,n.link)),t)}const za=e=>e.replace(/&amp;/g,`&`).replace(/&lt;/g,`<`).replace(/&gt;/g,`>`).replace(/&quot;/g,`"`).replace(/&#(?:39|x27);/gi,`'`);function Ba(e,t=!1,n=La()){return Va(xn.Lexer.lexInline(e),t,n)}function Va(e,t,n){if(!e)return``;let r=``;for(let i of e)switch(i.type){case`text`:{let e=i;r+=e.tokens?Va(e.tokens,t,n):za(e.text);break}case`escape`:r+=i.text;break;case`codespan`:{let e=za(i.text);r+=t?e:Q(e,n.inlineCode);break}case`strong`:{let e=Va(i.tokens,t,n);r+=t?e:`\x1b[1m${e}\x1b[22m`;break}case`em`:{let e=Va(i.tokens,t,n);r+=t?e:`\x1b[3m${e}\x1b[23m`;break}case`del`:{let e=Va(i.tokens,t,n);r+=t?e:`\x1b[9m${e}\x1b[29m`;break}case`link`:{let e=i,a=Va(e.tokens,t,n);r+=t?a:Ra(a,e.href,n);break}case`image`:r+=i.text||i.href;break;case`br`:r+=`
12
+ `;break;default:r+=za(i.text??``)}return r}function Ha(e,t,n=``){let r=jt(e,Math.max(1,t),{hard:!1,trim:!1}),i=r.length===0?[``]:r.split(`
13
+ `);return n?i.map((e,t)=>t===0?e:n+e):i}const Ua=/\b(const|let|var|function|return|if|else|for|while|class|interface|type|export|import|from|async|await|try|catch|throw|new|this|super|extends|implements|static|public|private|readonly|enum|switch|case|break|default|continue|do|in|of|instanceof|typeof|void|delete)\b/g,Wa=/(\b\d+\b)/g,Ga=/("[^"]*"|'[^']*'|`[^`]*`)/g,Ka=/(\/\/.*)/g;function qa(e){let t=[],n=(n,r)=>{n.lastIndex=0;let i;for(;(i=n.exec(e))!==null;)t.push([i.index,i.index+i[0].length,r])};if(n(Wa,I.warning),n(Ua,I.codeText),n(Ga,I.success),n(Ka,I.inactive),t.length===0)return e;t.sort((e,t)=>e[0]-t[0]||t[1]-e[1]);let r=[];for(let e of t){if(r.length===0){r.push(e);continue}let t=r[r.length-1];e[0]<t[1]?r[r.length-1]=e:r.push(e)}let i=``,a=0;for(let[t,n,o]of r)t>a&&(i+=e.slice(a,t)),i+=Q(e.slice(t,n),o),a=n;return a<e.length&&(i+=e.slice(a)),i}function Ja(e,t,n,r){let i=Oa(e,t),a=(i??e).split(`
14
+ `),o=String(a.length).length,s=[];t&&(s.push(Q(` ${t}`,r.codeLabel)),r.codeBlockDivider!==`none`&&s.push(Q(N(R.hr,Math.min(40,Math.max(3,n))),r.codeFenceDivider)));for(let e=0;e<a.length;e++){let t=Q(String(e+1).padStart(o)+` `,r.codeGutter),n=`\x1b]9;cw=${o+1}\x07`,c=i?a[e]??``:qa(a[e]);s.push(n+t+(c||` `))}return s}function Ya(e,t){if(ut(e)<=t)return[e];let n=jt(e,Math.max(1,t),{hard:!0,trim:!1});return n?n.split(`
15
+ `):[``]}const Xa=(e,t)=>e+` `.repeat(Math.max(0,t-ut(e)));function Za(e,t,n,r){if(e.length===0)return[];let i=[e,...t],a=Math.max(...i.map(e=>e.length)),o=[];for(let e=0;e<a;e++)o[e]=Math.max(6,...i.map(t=>ut(t[e]??``)));let s=[];if(a*6+(a-1)*2>n){let o=Math.max(6,...e.map(e=>ut(e))),c=Math.max(6,n-o-2);return(t.length>0?t:i).forEach((t,n)=>{n>0&&s.push(``);for(let n=0;n<a;n++){let i=Q(_n.bold(Xa(e[n]??``,o)),r.tableHeader),a=Ya(t[n]??``,c);s.push(i+` `.repeat(2)+Q(a[0]??``,r.tableBody));for(let e=1;e<a.length;e++)s.push(` `.repeat(o+2)+Q(a[e],r.tableBody))}}),s}let c=Math.max(a*6,n-(a-1)*2),l=o.reduce((e,t)=>e+t,0),u=l>c?o.map(e=>Math.max(6,Math.floor(c/l*e))):o,d=` `.repeat(2),f=(e,t)=>{let n=u.map((t,n)=>Ya(e[n]??``,t)),i=Math.max(...n.map(e=>e.length));for(let e=0;e<i;e++){let i=u.map((i,a)=>{let o=Xa(n[a][e]??``,i);return t?Q(_n.bold(o),r.tableHeader):Q(o,r.tableBody)});s.push(i.join(d))}};f(e,!0);let p=u.reduce((e,t)=>e+t,0)+(a-1)*2;s.push(Q(N(R.hr,p),r.tableDivider));for(let e of t)f(e,!1);return s}function Qa(e){let t=e=>e.replace(/\x1b\[[0-9;]*m/g,``).trim().length===0,n=0,r=e.length;for(;n<r&&t(e[n]);)n++;for(;r>n&&t(e[r-1]);)r--;return e.slice(n,r)}function $a(e){let t=e.split(`
16
16
  `),n=[],r=0;for(;r<t.length;){let e=/^\/\*\*/.test(t[r]),i=[];for(e&&(i.push(t[r]),r++);r<t.length&&/^ {0,3}\* /.test(t[r]);)i.push(t[r]),r++;i.length>0&&r<t.length&&/^ {0,3}\*\//.test(t[r])&&(i.push(t[r]),r++),i.length>=2?(n.push("```"),n.push(...i),n.push("```")):(e&&i.length,n.push(...i)),r<t.length&&!e&&i.length===0&&(n.push(t[r]),r++)}return n.join(`
17
- `)}function $a(e,t=80,n=Ia()){let r=Math.max(1,t),i=Qa(e);return Za(eo(bn.lexer(i),r,0,n))}function eo(e,t,n,r){let i=[];for(let a of e){if(a.type===`space`)continue;let e=to(a,t,n,r);e.length!==0&&(i.length>0&&i[i.length-1]!==``&&i.push(``),i.push(...e))}return i}function to(e,t,n,r){switch(e.type){case`heading`:{let n=e,i=Ba(n.tokens,!1,r),a=Ba(n.tokens,!0,r),o=Va(n.depth===1?gn.bold(Q(i,r.heading1)):n.depth===2?gn.bold(Q(i,r.heading2)):n.depth<=4?gn.bold(i):Q(gn.dim(gn.bold(i)),r.headingWeak),t);if(n.depth!==1)return o;let s=Math.max(3,Math.min(t,$e(a)));return[...o,Q(yt(R.hr,s),r.h1Divider)]}case`paragraph`:return Va(Ba(e.tokens,!1,r),t);case`text`:{let n=e;return Va(n.tokens?Ba(n.tokens,!1,r):Ra(n.text),t)}case`code`:return qa(e.text,e.lang??``,t,r);case`hr`:return[Q(yt(R.hr,Math.min(40,t)),r.hr)];case`blockquote`:{let i=eo(e.tokens,Math.max(1,t-2),n,r),a=Q(gn.italic(R.quoteBar),r.quoteBar);return i.map(e=>e===``?a:`${a} ${Q(gn.italic(e),r.quoteText)}`)}case`list`:return io(e,t,n,r);case`table`:{let n=e;return Xa(n.header.map(e=>Ba(e.tokens,!1,r)),n.rows.map(e=>e.map(e=>Ba(e.tokens,!1,r))),t,r)}case`html`:return Va(Q(Ra(e.text).replace(/\n+$/,``),L.inactive),t);default:return[]}}function no(e,t){return t.listMarkers[Math.min(e,t.listMarkers.length-1)]}function ro(e,t){return e===0?t.listMarkerPrimary:t.listMarkerMuted}function io(e,t,n,r){let i=[],a=typeof e.start==`number`&&e.start>0?e.start:1;return e.items.forEach((o,s)=>{e.loose&&s>0&&i[i.length-1]!==``&&i.push(``);let c=o.task?o.checked?R.checkboxOn:R.checkboxOff:e.ordered?`${a+s}.`:no(n,r),l=o.task?o.checked?r.taskChecked:r.listMarkerMuted:ro(n,r),u=`${Q(c,l)} `,d=$e(c)+1,f=` `.repeat(d),p=eo(o.tokens,Math.max(1,t-d),n+1,r),m=o.loose?p:p.filter(e=>e!==``);if(m.length===0){i.push(Q(c,l));return}m.forEach((e,t)=>{i.push(t===0?u+e:e===``?``:f+e)})}),i}function ao(e,t){let{filled:n,empty:r}=xt(e.chars),i=ae(e),a=i.cells.map(e=>e.filled?n:r).join(``),o=`${i.pct}%`,s=e.labelPosition??`suffix`,c=e.color?t(a,e.color):a;return s===`none`?c:s===`prefix`?`${o} ${c}`:`${c} ${o}`}function oo(e,t){let n=/(\s+|\w+|[^\s\w]+)/g,r=e.match(n)??[e],i=t.match(n)??[t],a=[],o=0,s=0;for(;o<r.length||s<i.length;)o<r.length&&s<i.length&&r[o]===i[s]?(a.push({text:r[o],removed:!1,added:!1}),o++,s++):o<r.length&&(s>=i.length||r[o]!==i[s])?(a.push({text:r[o],removed:!0,added:!1}),o++):s<i.length&&(a.push({text:i[s],removed:!1,added:!0}),s++);return a}function so(e,t){let n=Math.max(e.length,t.length);return n===0?0:(e.length+t.length-2*co(e,t))/n}function co(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;let r=0;for(;r<e.length-n-1&&r<t.length-n-1&&e[e.length-1-r]===t[t.length-1-r];)r++;return n+r}function lo(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.type===`remove`&&n+1<e.length&&e[n+1].type===`add`){let i=r,a=e[n+1];if(so(i.content,a.content)<=.4){let e=oo(i.content,a.content);t.push({...i,wordSegments:e.filter(e=>!e.added).map(e=>({text:e.text,changed:e.removed}))}),t.push({...a,wordSegments:e.filter(e=>!e.removed).map(e=>({text:e.text,changed:e.added}))})}else t.push(i),t.push(a);n+=2}else t.push(r),n++}return t}function uo(e,t,n=12,r=2){let i=e.split(`
17
+ `)}function eo(e,t=80,n=La()){let r=Math.max(1,t),i=$a(e);return Qa(to(xn.lexer(i),r,0,n))}function to(e,t,n,r){let i=[];for(let a of e){if(a.type===`space`)continue;let e=no(a,t,n,r);e.length!==0&&(i.length>0&&i[i.length-1]!==``&&i.push(``),i.push(...e))}return i}function no(e,t,n,r){switch(e.type){case`heading`:{let n=e,i=Va(n.tokens,!1,r),a=Va(n.tokens,!0,r),o=Ha(n.depth===1?_n.bold(Q(i,r.heading1)):n.depth===2?_n.bold(Q(i,r.heading2)):n.depth<=4?_n.bold(i):Q(_n.dim(_n.bold(i)),r.headingWeak),t);if(n.depth!==1)return o;let s=Math.max(3,Math.min(t,ut(a)));return[...o,Q(N(R.hr,s),r.h1Divider)]}case`paragraph`:return Ha(Va(e.tokens,!1,r),t);case`text`:{let n=e;return Ha(n.tokens?Va(n.tokens,!1,r):za(n.text),t)}case`code`:return Ja(e.text,e.lang??``,t,r);case`hr`:return[Q(N(R.hr,Math.min(40,t)),r.hr)];case`blockquote`:{let i=to(e.tokens,Math.max(1,t-2),n,r),a=Q(_n.italic(R.quoteBar),r.quoteBar);return i.map(e=>e===``?a:`${a} ${Q(_n.italic(e),r.quoteText)}`)}case`list`:return ao(e,t,n,r);case`table`:{let n=e;return Za(n.header.map(e=>Va(e.tokens,!1,r)),n.rows.map(e=>e.map(e=>Va(e.tokens,!1,r))),t,r)}case`html`:return Ha(Q(za(e.text).replace(/\n+$/,``),I.inactive),t);default:return[]}}function ro(e,t){return t.listMarkers[Math.min(e,t.listMarkers.length-1)]}function io(e,t){return e===0?t.listMarkerPrimary:t.listMarkerMuted}function ao(e,t,n,r){let i=[],a=typeof e.start==`number`&&e.start>0?e.start:1;return e.items.forEach((o,s)=>{e.loose&&s>0&&i[i.length-1]!==``&&i.push(``);let c=o.task?o.checked?R.checkboxOn:R.checkboxOff:e.ordered?`${a+s}.`:ro(n,r),l=o.task?o.checked?r.taskChecked:r.listMarkerMuted:io(n,r),u=`${Q(c,l)} `,d=ut(c)+1,f=` `.repeat(d),p=to(o.tokens,Math.max(1,t-d),n+1,r),m=o.loose?p:p.filter(e=>e!==``);if(m.length===0){i.push(Q(c,l));return}m.forEach((e,t)=>{i.push(t===0?u+e:e===``?``:f+e)})}),i}function oo(e,t){let{filled:n,empty:r}=re(e.chars),i=a(e),o=i.cells.map(e=>e.filled?n:r).join(``),s=`${i.pct}%`,c=e.labelPosition??`suffix`,l=e.color?t(o,e.color):o;return c===`none`?l:c===`prefix`?`${s} ${l}`:`${l} ${s}`}function so(e,t){let n=/(\s+|\w+|[^\s\w]+)/g,r=e.match(n)??[e],i=t.match(n)??[t],a=[],o=0,s=0;for(;o<r.length||s<i.length;)o<r.length&&s<i.length&&r[o]===i[s]?(a.push({text:r[o],removed:!1,added:!1}),o++,s++):o<r.length&&(s>=i.length||r[o]!==i[s])?(a.push({text:r[o],removed:!0,added:!1}),o++):s<i.length&&(a.push({text:i[s],removed:!1,added:!0}),s++);return a}function co(e,t){let n=Math.max(e.length,t.length);return n===0?0:(e.length+t.length-2*lo(e,t))/n}function lo(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;let r=0;for(;r<e.length-n-1&&r<t.length-n-1&&e[e.length-1-r]===t[t.length-1-r];)r++;return n+r}function uo(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.type===`remove`&&n+1<e.length&&e[n+1].type===`add`){let i=r,a=e[n+1];if(co(i.content,a.content)<=.4){let e=so(i.content,a.content);t.push({...i,wordSegments:e.filter(e=>!e.added).map(e=>({text:e.text,changed:e.removed}))}),t.push({...a,wordSegments:e.filter(e=>!e.removed).map(e=>({text:e.text,changed:e.added}))})}else t.push(i),t.push(a);n+=2}else t.push(r),n++}return t}function fo(e,t,n=12,r=2){let i=e.split(`
18
18
  `),a=t.split(`
19
- `),o=0;for(;o<i.length&&o<a.length&&i[o]===a[o];)o++;let s=i.length,c=a.length;for(;s>o&&c>o&&i[s-1]===a[c-1];)s--,c--;let l=[],u=c-s,d=Math.min(r,o),f=Math.min(r,i.length-s);for(let e=o-d;e<o;e++)l.push({type:`context`,content:i[e],oldLine:e+1,newLine:e+1});for(let e=o;e<s;e++)l.push({type:`remove`,content:i[e],oldLine:e+1});for(let e=o;e<c;e++)l.push({type:`add`,content:a[e],newLine:e+1});for(let e=s;e<s+f;e++)l.push({type:`context`,content:i[e],oldLine:e+1,newLine:e+1+u});return l.every(e=>e.type===`context`)?[]:[{header:``,lines:l.slice(0,n)}]}function fo(e){let t=0,n=0;for(let r of e)for(let e of r.lines)e.type===`add`?t++:e.type===`remove`&&n++;return{added:t,removed:n}}const po=`__compacting__`;function mo(e,t){if(t)return t;let n=/^mcp__(.+?)__(.+)$/.exec(e);return n?`${n[1]} / ${n[2]}`:e.split(/[_-]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const ho=[`job`,`bash`,`subagent`];function go(e){return(e.type??`process`)===`agent-session`?(e.origin??`user`)===`user`?`job`:`subagent`:`bash`}function _o(e){return e.map((e,t)=>({t:e,i:t})).sort((e,t)=>{let n=ho.indexOf(go(e.t))-ho.indexOf(go(t.t));return n===0?e.i-t.i:n}).map(e=>e.t)}function vo(e){return(e.type??`process`)===`agent-session`?e.agentStatus===`running`||e.agentStatus===`ready`||e.agentStatus===`needs_input`:e.status===`running`}function yo(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n===0?`${t}m`:`${t}m ${n}s`}function bo(e,t){let n=e.filter(vo);if(n.length===0)return null;let r=n.reduce((e,t)=>e.startedAt<=t.startedAt?e:t),i=yo(Math.max(0,Math.floor((t-r.startedAt)/1e3))),a=`${R.pointer} ${B.t(`bg.jobsLabel`,{n:n.length})} · ${i}`,o=e.filter(e=>e.type===`agent-session`&&e.agentStatus===`ready`).length,s=e.filter(e=>e.type===`agent-session`&&e.agentStatus===`needs_input`).length;return o>0&&(a+=` · ${B.t(`prompt.readySuffix`,{n:o})}`),s>0&&(a+=` · ${B.t(`bg.needInputSuffix`,{n:s})}`),a}function xo(e){let t=e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService);if(t.length===0)return null;let n=t.length;return`${R.service} ${n} ${B.t(`service.countLabel`,{count:n})}`}function So(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function Co(e){let t=[];return e.toolUseCount&&t.push(`${e.toolUseCount} ${e.toolUseCount===1?`tool`:`tools`}`),e.tokenCount&&t.push(`${So(e.tokenCount)} tokens`),t.length?` · ${t.join(` · `)}`:``}function wo(e,t){if((e.type??`process`)===`agent-session`){let n=e.agentStatus??`running`;if(n===`running`){let n=yo(Math.max(0,Math.floor((t-e.startedAt)/1e3)));if(e.stall===`stalled`||e.stall===`warn`){let t=e.idleMs===void 0?`?`:yo(Math.floor(e.idleMs/1e3));return`${n} · ${R.warn} idle ${t}${e.blockedOn?` (${e.blockedOn})`:``}`}return`${n}${Co(e)}`}return n===`ready`?e.diffStat?`${B.t(`bg.metaReady`)} · ${e.diffStat}`:B.t(`bg.metaReady`):n===`needs_input`?B.t(`bg.metaNeedsInput`):B.t(`bg.agentStatusLabel`,{st:n})}if(e.status===`running`){let n=[];return e.port&&n.push(`:${e.port}`),n.push(yo(Math.max(0,Math.floor((t-e.startedAt)/1e3)))),n.join(` `)}return e.status===`exited`?e.exitCode===void 0?B.t(`bg.metaExited`):B.t(`bg.metaExited`,{context:`code`,code:e.exitCode}):B.t(`bg.procStatusLabel`,{s:e.status})}function To(e){let t=e.agentStatus;return t===`ready`||t===`applied`?`done`:t===`failed`?`error`:t===`canceled`?`killed`:t===`running`||t===`needs_input`?`running`:e.status===`exited`?`done`:e.status===`failed`?`error`:e.status===`killed`?`killed`:`running`}function Eo(e){switch(e){case`done`:return{agentStatus:`applied`,status:`exited`};case`error`:return{agentStatus:`failed`,status:`failed`};case`killed`:return{agentStatus:`canceled`,status:`killed`};default:return{agentStatus:`running`,status:`running`}}}function Do(e){return{turnIndex:e.turnIndex,toolUseCount:e.toolUseCount,filesEdited:e.filesEdited,tokenCount:e.tokenCount,lastActivity:e.lastActivity,stall:e.stall,idleMs:e.idleMs,blockedOn:e.blockedOn,abortable:e.abortable,prompt:e.prompt,model:e.model,modelDecidedBy:e.modelDecidedBy}}function Oo(e){return e===`awaiting_gate`?`needs_input`:e===`done`?`applied`:e===`error`||e===`aborted`?`failed`:`running`}function ko(e){return{id:e.id,command:`@${e.agentName}`,type:`agent-session`,origin:e.origin,status:`running`,agentStatus:Oo(e.status),startedAt:e.startedAt,...Do(e)}}function Ao(e){let t=e/1e3;return t<60?`${t.toFixed(1)}s`:yo(Math.floor(t))}function jo(e,t){return e.map(e=>{let n=Ao((e.endedAt??t)-e.startedAt),r=e.tools&&e.tools.length>0?e.tools.length<=3?e.tools.join(`, `):`${e.tools.slice(0,3).join(`, `)} +${e.tools.length-3}`:`${e.toolCount} ${e.toolCount===1?`tool`:`tools`}`;return e.endedAt===void 0?`▸ turn ${e.index} … (${r}, ${n})`:` turn ${e.index} ${R.check} (${r}, ${n})`})}function Mo(e,t){if((e.type??`process`)!==`agent-session`||e.turnIndex===void 0&&e.toolUseCount===void 0&&e.tokenCount===void 0&&e.lastActivity===void 0&&e.stall===void 0)return null;let n=yo(Math.max(0,Math.floor((t-e.startedAt)/1e3))),r=e.stall===`stalled`||e.stall===`warn`,i=e.idleMs===void 0?`?`:yo(Math.floor(e.idleMs/1e3)),a=[{label:`activity`,value:e.lastActivity??`-`},{label:`blocked`,value:e.blockedOn??`-`,warn:r},{label:`last event`,value:r?`idle ${i}`:`live`,warn:r},{label:`tokens`,value:`${So(e.tokenCount??0)} out · ${e.toolUseCount??0} tools · ${n}`},{label:`abortable`,value:e.abortable===!1?`NO (drops signal)`:`yes`,warn:e.abortable===!1}];return{header:`${e.command} · turn ${e.turnIndex??`-`} · ${e.agentStatus??`running`}`,rows:a}}function No(e,t){let n=Mo(e,t);return n?[n.header,...n.rows.map(e=>` ${e.warn?`! `:` `}${e.label.padEnd(11)} ${e.value}`)]:[]}function Po(e,t,n){let r=Math.max(1,Math.floor(t));if(e<=r)return{start:0,end:e,above:0,below:0};let i=e-r,a=e-Math.min(Math.max(0,Math.floor(n)),i),o=a-r;return{start:o,end:a,above:o,below:e-a}}const Fo=new Map;let Io=null,Lo=null,Ro=null,zo=null,Bo=null,Vo=null;function Ho(){Io=null,Lo=null,Ro=null,Bo=null,zo=null,Vo=null}function Uo(){if(Io===null){let e=[];for(let t of Fo.values())t.renderers&&e.push(...t.renderers);Io=e}if(Lo===null){let e=[];for(let t of Fo.values())t.statusItems&&e.push(...t.statusItems);Lo=e}if(Ro===null){let e=[];for(let t of Fo.values())t.panels&&e.push(...t.panels);Ro=e}if(Bo===null){let e=new Map;for(let t of Fo.values())if(t.a2uiComponents)for(let n of t.a2uiComponents)e.has(n.type)||e.set(n.type,n.render);Bo=e}if(zo===null){let e=[];for(let t of Fo.values())t.statusWidgets&&e.push(...t.statusWidgets);zo=e}if(Vo===null){let e=[];for(let t of Fo.values())t.fileViewers&&e.push(...t.fileViewers);Vo=e}}function Wo(e,t){Fo.set(e,t),Ho()}function Go(e){Fo.delete(e),Ho()}function Ko(){Fo.clear(),Ho()}function qo(){return Fo}const Jo=new Set([`cli-commands`,`cli-status`,`cli`]);function Yo(e,t){let n=[];for(let[r,i]of t)Jo.has(i.pluginId)||e.has(r)||n.push(r);return n}function Xo(){return Uo(),Io??[]}function Zo(){return Uo(),Lo??[]}function Qo(){return Uo(),Bo??new Map}function $o(){return Uo(),zo??[]}function es(){return Uo(),Vo??[]}function ts(e){Wo(`cli`,{pluginId:`cli`,renderers:[...e]})}function ns(){Go(`cli`)}function rs(e,t){let n=t;if(!n||typeof n!=`object`||e.role!=null&&n.role!==e.role||e.toolName!=null&&(n.name??n.toolName)!==e.toolName)return!1;if(e.contentType!=null){let t=n.content;if(!(Array.isArray(t)&&t.some(t=>t&&typeof t==`object`&&t.type===e.contentType)))return!1}return!0}function is(e,t){for(let n of Xo())if(rs(n.matcher,e))try{let r=n.render(e,t);if(Array.isArray(r)&&r.length>0)return r}catch{}return null}function as({innerWidth:e,title:t,paint:n=e=>e}){if(!t)return n(`┌${`─`.repeat(e)}┐`);let r=M(t,e-4),i=$e(r),a=Math.max(0,e-i-3);return n(`┌─ ${r} ─${`─`.repeat(a)}┐`)}function os({innerWidth:e,paint:t=e=>e}){return t(`└${`─`.repeat(e)}┘`)}function ss(e,t=e=>e){return t(`│ `)+e}function cs(e){switch(e){case`accent`:return L.accent;case`green`:return L.success;case`amber`:return L.warning;case`red`:return L.error;case`gray`:return L.inactive;default:return`#888888`}}function ls(e,t){let n=cs(t);if(n.startsWith(`#`))return gn.hex(n)(e);let r=gn[n];return typeof r==`function`?r(e):e}const us=e=>ls(e,`accent`),ds=e=>ls(e,`gray`);function fs(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=new Set;for(let t of e){for(let e of t.children??[])n.add(e);for(let e of t.items??[])n.add(e)}let r=e.map(e=>e.id).filter(e=>!n.has(e));return r.length===0&&e.length>0&&r.push(e[0].id),{byId:t,roots:r}}function ps(e,t,n,r,i,a){if(i.has(e.id))return[];switch(i.add(e.id),e.type){case`Text`:return hs(e);case`Card`:return gs(e,t,n,r,i,a);case`List`:return _s(e,t,n,r,i,a);case`Progress`:return vs(e,n);case`Chip`:return ys(e);case`Button`:return xs(e,a);case`Form`:return Es(e,a);default:return ms(e,t,n,r,i,a)}}function ms(e,t,n,r,i,a){let o=Qo().get(e.type);if(!o)return Ss(e);let s=e=>{if(i.has(e))return[];let o=t.byId.get(e);return o?ps(o,t,n,r+1,i,a):[]};try{let t=o(e,n,s);return!Array.isArray(t)||!t.every(e=>typeof e==`string`)?Ss(e):t}catch{return Ss(e)}}function hs(e){let t=e.text??``;return t?t.split(`
20
- `):[]}function gs(e,t,n,r,i,a){let o=Math.max(1,n-4),s=[];s.push(as({innerWidth:o,title:e.title,paint:us}));for(let n of e.children??[]){let e=t.byId.get(n);if(!e)continue;let c=ps(e,t,o,r+1,i,a);for(let e of c)s.push(ss(e,ds))}return s.push(os({innerWidth:o,paint:us})),s}function _s(e,t,n,r,i,a){let o=[],s=e.items??[];for(let c=0;c<s.length;c++){let l=t.byId.get(s[c]);if(!l)continue;let u=e.ordered?` ${c+1}. `:` • `,d=ps(l,t,n-u.length,r+1,i,a);if(d.length>0){o.push(u+d[0]);for(let e=1;e<d.length;e++)o.push(` `+d[e])}}return o}function vs(e,t){let n=Math.min(20,Math.max(4,t-20)),r=Math.max(0,Math.min(100,e.value??0)),i=e.max??100,a=i>0?Math.round(r/i*100):0,o=e.label==null?``:`${e.label} `,s=a>=100?`green`:a>0?`accent`:`gray`,c=ao({percent:a,width:n,chars:`block`,color:s},ls);return[ls(o,s)+c]}function ys(e){let t=e.color??`accent`;return[ls(`[${e.text??``}]`,t)]}let bs=0;function xs(e,t){bs++;let n=e.text??e.action??e.id,r=String(bs),i=`${n}`;return t.push({key:r,label:i,componentId:e.id,action:e.action??`click`}),[us(`[${r}] [ ${i} ]`)]}function Ss(e){return[ds(e.text??`[${e.type}:${e.id}]`)]}function Cs(e,t=80,n=0){if(!Array.isArray(e)||e.length===0)return{lines:[],buttons:[]};try{bs=n,Ts=0;let r=fs(e),i=[],a=[],o=new Set;for(let e of r.roots){let n=r.byId.get(e);n&&i.push(...ps(n,r,t,0,o,a))}return{lines:i,buttons:a}}catch{return{lines:[],buttons:[]}}}function ws(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=fs(e),n=[],r=0,i=new Set,a=e=>{if(!i.has(e.id)){i.add(e.id),e.type===`Button`&&(r++,n.push({key:String(r),label:e.text??e.action??e.id,componentId:e.id,action:e.action??`click`}));for(let n of e.children??[]){let e=t.byId.get(n);e&&a(e)}for(let n of e.items??[]){let e=t.byId.get(n);e&&a(e)}}};for(let e of t.roots){let n=t.byId.get(e);n&&a(n)}return n}catch{return[]}}let Ts=0;function Es(e,t){let n=e.fields??[],r=[],i=e.formTitle??`表单`,a=Math.max($e(i)+4,30);r.push(as({innerWidth:a,title:i,paint:us}));for(let e of n){let t=e.required?` (必填)`:``;switch(e.type){case`text`:r.push(ss(`${e.label}: ${e.defaultValue?String(e.defaultValue):`___________`}${t}`,ds));break;case`select`:{let n=e.options??[],i=e.defaultValue,a=n.find(e=>e.id===i)?.label??n[0]?.label??``;r.push(ss(`${e.label}: ${a}${t}`,ds));break}case`toggle`:r.push(ss(`${e.label}: ${e.defaultValue===!0?R.toggleOn:R.toggleOff}${t}`,ds));break;default:r.push(ss(`${e.label}: ?${t}`,ds))}}Ts++;let o=e.action??`submit`;return t.push({key:String(Ts),label:`填写表单`,componentId:e.id,action:o}),r.push(ss(`[${Ts}] 填写表单`,us)),r.push(os({innerWidth:a,paint:us})),r}function Ds(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=e,n=[],r=ws(e).length;for(let e of t)e.type===`Form`&&(r++,n.push({key:String(r),label:`表单: ${e.formTitle??`表单`}`,componentId:e.id,action:e.action??`submit`}));return n}catch{return[]}}function Os(e){return e.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,``).replace(/\x1b\[[\d;?]*[@-~]/g,``).replace(/\x1b\[[\d;?]*(?![\d;@-~])/g,``).replace(/(?:3[89]|4[0-9]);2;\d{1,3};\d{1,3};\d{1,3}m/g,``).replace(/(?:3[89]|4[0-9]);5;\d{1,3}m/g,``).replace(/(?:^|(?<=[\s;m]))(?:\d{1,3}(?:;\d{1,3})+|;\d{1,3})m/gi,``)}function ks(e){switch(e){case`file`:return L.suggestion;case`agent`:return L.accent;case`skill`:case`mcp`:case`plugin`:return L.special;case`person`:return L.success;default:return L.inactive}}function As(e){qe.lastIndex=0;let t=``,n=0,r;for(;(r=qe.exec(e))!==null;)r.index>n&&(t+=e.slice(n,r.index)),t+=Q(r[0],ks(rt(r[0]))),n=r.index+r[0].length;return n<e.length&&(t+=e.slice(n)),t}const js=(e,t=A.section)=>e.map(e=>{let n=/^\x1b]9;cw=(\d+)\x07/.exec(e);return n?`\x1b]9;cw=${parseInt(n[1],10)+t}\x07`+` `.repeat(t)+e.slice(n[0].length):` `.repeat(t)+e});function Ms(e,t){let n=e>0?Math.max(0,Math.min(1,t/e)):0,r=Math.round(n*100),i=n>0?Math.max(1,Math.round(n*10)):0;return ao({percent:r,width:10,segments:i>0?[{key:`ratio`,width:i}]:[],chars:`dot`,color:L.inactive},Q)}function Ns(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`} ${`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}`}const Ps=/^[\s]*(❌|✗|⛔|🔴|🚫|❎)\s*/u,Fs=/^[\s]*(✅|✓|🟢|✔️?|☑️?)\s*/u;function Is(e){return Ps.test(e)?{cleaned:e.replace(Ps,``)}:Fs.test(e)?{cleaned:e.replace(Fs,``)}:{cleaned:e}}function Ls(e,t){return e.length<=t?e:[...e.slice(0,t),B.t(`common.moreLinesLabel`,{n:e.length-t})]}function Rs(e,t){return Ls(Os(e).split(`
21
- `),t).map(e=>Q(e,L.toolText))}function zs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Bs(e){let t=process.env.HOME,n=t?e.replace(t,`~`):e,r=n.split(`/`);return r.length>3?`…/${r.slice(-2).join(`/`)}`:n}const Vs=new Set([`edit`,`Edit`,`str_replace`]),Hs=new Set([`write`,`Write`,`create`]),Us=new Set([`read`,`Read`,`view`,`cat`,`open`]),Ws=new Set([`write_todos`,`TodoWrite`]),Gs=new Set([..._n,`Task`]);function Ks({name:e,argPreview:t,added:n,removed:r,isError:i,status:a}){let o=a??(i?`error`:`ok`),s=o===`error`?R.cross:o===`warn`?R.warn:R.check,c=o===`error`?L.error:o===`warn`?L.warning:L.success,l=Q(s+` `,c)+Q(zs(e),L.toolText),u=t!=null||n!=null||r!=null;return u&&(l+=Q(`(`,L.toolText)),t!=null&&(l+=Q(t,L.toolText)),n!=null&&(l+=Q((t==null?``:` `)+`+`+n,L.diffAdd)),r!=null&&(l+=Q(` -`+r,L.diffRemove)),u&&(l+=Q(`)`,L.toolText)),l}const qs=()=>process.env.OTTO_TUI_DIFF_BG!==`0`;function Js(e,t){if(!t||!qs())return e;try{return gn.bgHex(t)(e)}catch{return e}}const Ys={ts:`typescript`,tsx:`typescript`,mts:`typescript`,cts:`typescript`,js:`javascript`,jsx:`javascript`,mjs:`javascript`,cjs:`javascript`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,c:`c`,h:`c`,cc:`cpp`,cpp:`cpp`,hpp:`cpp`,cs:`csharp`,swift:`swift`,php:`php`,sh:`bash`,bash:`bash`,zsh:`bash`,json:`json`,yaml:`yaml`,yml:`yaml`,toml:`ini`,ini:`ini`,xml:`xml`,html:`xml`,css:`css`,scss:`scss`,sql:`sql`,md:`markdown`,dockerfile:`dockerfile`,lua:`lua`};function Xs(e){if(!e)return``;let t=e.split(`/`).pop()??``;return t.toLowerCase()===`dockerfile`?`dockerfile`:Ys[t.includes(`.`)?t.split(`.`).pop().toLowerCase():``]??``}function Zs(e,t,n,r=2e3){let i=Xs(t),a=e.split(`
22
- `),o=((n&&i!==``&&a.length<=r?Da(e,i):null)??e).split(`
23
- `),s=Math.max(2,String(o.length).length);return o.map((e,t)=>Qs(s+1)+Q(String(t+1).padStart(s)+` `,L.inactive)+(e||` `))}const Qs=e=>`\x1b]9;cw=${e}\x07`;function $s(e,t={}){let n=e.reduce((e,t)=>e+t.lines.length,0)>200?void 0:t.highlight,r=t.lang??``,i=0;for(let t of e)for(let e of t.lines){let t=e.type===`remove`?e.oldLine:e.newLine??e.oldLine;t!=null&&t>i&&(i=t)}let a=Math.max(2,String(i).length),o=[];return e.forEach((e,t)=>{t>0&&o.push(Q(`⋮`.padStart(a),L.inactive));for(let t of lo(e.lines)){let e=t.type===`remove`?t.oldLine:t.newLine??t.oldLine,i=String(e??``).padStart(a),s=t.type===`add`?`+`:t.type===`remove`?`-`:` `,c=t.type===`add`?L.diffAdd:t.type===`remove`?L.diffRemove:void 0,l=c??L.inactive,u=t.type===`add`?L.diffAddBg:t.type===`remove`?L.diffRemoveBg:``,d=n&&r?n(t.content,r):null,f;if(d!=null)f=Q(i+` `,l)+Q(s+` `,c)+d;else if(t.wordSegments&&(t.type===`add`||t.type===`remove`)){let e=t.wordSegments.map(e=>Q(e.changed?gn.bold(e.text):e.text,c)).join(``);f=Q(i+` `,l)+Q(s+` `,c)+e}else f=Q(i+` `,l)+Q(s+` `+t.content,c);o.push(Qs(a+2)+Js(f,u))}}),o}function ec(e){let t=String(e.name??``),n=e.args==null?void 0:String(e.args),r=e.argsObj==null?{}:e.argsObj,i=e.result==null?void 0:String(e.result),a=e.isError==null?void 0:!!e.isError;if(Vs.has(t)&&typeof r.oldContent==`string`&&typeof r.newContent==`string`){let e=typeof r.path==`string`?r.path:``,t=e?Bs(e):``,n=uo(r.oldContent,r.newContent),{added:i,removed:o}=fo(n),s={highlight:Da,lang:Xs(e)};return[Ks({name:B.t(`tool.edit`),argPreview:t,added:i,removed:o,isError:a}),...js($s(n,s))]}if(Hs.has(t)&&typeof r.content==`string`){let e=typeof r.path==`string`?r.path:``,t=e?Bs(e):``,n=r.content.split(`
24
- `),i=[{header:``,lines:n.map((e,t)=>({type:`add`,content:e,newLine:t+1})).slice(0,12)}],o={highlight:Da,lang:Xs(e)};return[Ks({name:B.t(`tool.write`),argPreview:t,added:n.length,isError:a}),...js($s(i,o))]}if(Us.has(t)){let e=typeof r.path==`string`?r.path:n?n.trim():``;return[Ks({name:B.t(`tool.read`),argPreview:e,isError:a})]}if(Ws.has(t)&&Array.isArray(r.todos)){let e=r.todos,t=r.title;return[Ks({name:t??B.t(`tool.tasks`),argPreview:B.t(`welcome.itemCountLabel`,{count:e.length}),isError:a}),...js(e.map(e=>{let t=e.status===`done`?R.todoDone:e.status===`in_progress`?R.todoActive:R.todoPending,n=e.status===`done`?L.success:e.status===`in_progress`?L.accent:L.inactive,r=e.status===`done`||e.status===`skipped`,i=r?gn.strikethrough(e.title??``):e.title??``;return Q(t+` `,n)+Q(i,r?L.inactive:L.text)}))]}if(Gs.has(t)){let e=r.subagent??r.agent??r.category??r.team,t=typeof r.prompt==`string`?r.prompt.replace(/\n/g,` `):``,n=Q((a?R.cross:R.check)+` `,a?L.error:L.success)+Q(B.t(`tool.subagent`),L.toolText)+(e?Q(`(${e})`,L.special):``),o=[];return t&&o.push(...js([Q(t,L.toolText)])),i&&o.push(...js(Rs(i,5))),[n,...o]}return[Ks({name:mo(t),argPreview:n?n.replace(/\n/g,` `):void 0,isError:a}),...i?js(Rs(i,5)):[]]}function tc(e){let t=[];for(let n of e){let e=n.function,r=e?.arguments?String(e.arguments).replace(/\n/g,` `):void 0;t.push(Ks({name:e?.name?mo(e.name):B.t(`tool.unknown`),argPreview:r}))}return t}function nc(e,t=80){let n=is(e,t);if(n)return n;let r=e,i=r.role??`unknown`,a=r.content,o=Array.isArray(a)?a:[],s=Array.isArray(a)?o.filter(e=>e.type===`text`).map(e=>Os(String(e.text??``))).join(`
25
- `):Os(String(a??``)),c=r.tool_calls,l=Array.isArray(c)?c:[],u=Math.max(1,t-2),d=e=>$a(e,u),f=0,p=[];for(let e of o){if(e.type!==`a2ui`)continue;let t=Cs(e.components,u,f);p.push(...t.lines),f+=t.buttons.length}if(i===`summary`){let e=r.status===`error`?R.cross:r.status===`interrupted`?`⏹`:r.status===`incomplete`?`⏸`:R.check,t=r.status===`error`?L.error:r.status===`interrupted`||r.status===`incomplete`?L.warning:L.success,n=r.status===`error`?B.t(`status.failed`):r.status===`interrupted`?B.t(`status.interrupted`):r.status===`incomplete`?B.t(`status.stopped`):B.t(`status.done`),i=Math.floor(Number(r.elapsedMs??0)/1e3),a=i<60?`${i}s`:`${Math.floor(i/60)}m ${i%60}s`,o=Q(`${e} ${n}`,t)+Q(` · ${B.t(`tool.countLabel`,{count:Number(r.toolCount??0)})} · ${a}`,L.inactive),s=r.cacheHitRatio,c=typeof s==`number`?`(${Math.round(s*100)}%)`:``;if(r.tokensUsed==null?c&&(o+=Q(` · cache${c}`,L.inactive)):o+=Q(` · ${So(Number(r.tokensUsed))} tokens${c}`,L.inactive),r.status===`incomplete`&&r.tasksTotal!=null){let e=Number(r.tasksDone??0),t=Number(r.tasksTotal),n=Number.isFinite(e)?e:0,i=Number.isFinite(t)?t:0,a=Math.max(0,i-n);o+=Q(` · ${B.t(`task.leftLabel`,{done:n,total:i,left:a})}`,L.warning)}if(r.model!=null){let e=r.effort==null?``:String(r.effort),t=e?e.toLowerCase()===`xhigh`?`XHigh`:e.charAt(0).toUpperCase()+e.slice(1):``,n=t?`${String(r.model)}·${t}`:String(r.model);o+=Q(` · ${n}`,L.inactive)}return r.completedAt!=null&&(o+=Q(` · ${Ns(Number(r.completedAt))}`,L.inactive)),p.length>0?[o,``,...p]:[o]}if(i===`assistant_stream`){let{cleaned:e}=Is(Os(String(r.text??``)));if(!e)return[];let t=r.lead===!0;return d(e).map((e,n)=>t&&n===0?`${Q(R.bullet,L.replyPrefix)} ${e}`:Os(e).trim()===``?``:` ${e}`)}if(i===`tool`){let e=Za(ec(r));return p.length>0?[...e,``,...p]:e}if(i===`system`){let e=[Q(s,L.inactive)];return p.length>0?[...e,``,...p]:e}if(i===`panel`){let e=r.language==null?``:String(r.language),t=r.code==null?``:String(r.code),n=r.title==null?``:String(r.title),i="```"+e+`
26
- `+t+"\n```",a=[];return n&&a.push(Q(gn.bold(n),L.accent)),a.push(...d(i)),p.length>0?[...a,``,...p]:a}if(i===`user`){let e=s.split(`
27
- `),t=r.streaming===!0,n=e.map((e,n)=>{let r=As(e),i=t?gn.dim(r):r;return n===0?Q(`${R.userPrompt} `,L.inactive)+i:` `+i});return p.length>0?[...n,``,...p]:n}if(i===`tool_result`||r.type===`tool_result`){let e=Ls(s.split(`
28
- `),5).map((e,t)=>Q((t===0?`${R.toolResult} `:` `)+e,L.inactive));return p.length>0?[...e,``,...p]:e}if(i===`command_echo`||r.type===`command_echo`){let e=r.command==null?``:String(r.command),t=r.status===`warn`||r.status===`error`?r.status:`ok`,n=t===`error`?R.cross:t===`warn`?R.warn:R.check,i=t===`error`?L.error:t===`warn`?L.warning:L.success,a=[Q(`${R.commandPrompt} `,L.inactive)+Q(e,L.inactive)],o=r.summary==null?void 0:String(r.summary);o!=null&&a.push(...js([Q(`${n} `,i)+Q(o,L.toolText)]));let s=r.detail==null?void 0:String(r.detail);return s&&a.push(...js(Os(s).split(`
29
- `).map(e=>Q(e,L.toolText)))),a}if(i===`compact_boundary`||r.type===`compact_boundary`){let e=r.before==null?void 0:Number(r.before),t=r.after==null?void 0:Number(r.after);if(!(e!=null&&t!=null&&!Number.isNaN(e)&&!Number.isNaN(t)))return[Ks({name:B.t(`tool.compact`),argPreview:B.t(`compact.ed`)})];let n=`${e} → ${t} ${Ms(e,t)}`;return[Ks({name:B.t(`tool.compact`),argPreview:n})]}if(i===`prune_boundary`||r.type===`prune_boundary`)return[Ks({name:B.t(`tool.prune`),argPreview:B.t(`compact.pruned`)})];if(i===`history_capped`||r.type===`history_capped`){let e=r.removedCount==null?0:Number(r.removedCount),t=typeof r.trigger==`string`?r.trigger:`count`;if(r.lossy===!0)return[Ks({name:B.t(`tool.history`),argPreview:B.t(`history.cappedLossy`,{count:e}),status:`warn`})];let n=t===`bytes`?B.t(`history.cappedBytes`,{count:e}):t===`memory-pressure`?B.t(`history.cappedMemoryPressure`,{count:e}):B.t(`history.capped`,{count:e});return[Ks({name:B.t(`tool.history`),argPreview:n})]}if(i===`write_lease_denied`||r.type===`write_lease_denied`)return[Ks({name:B.t(`tool.session`),argPreview:B.t(`lease.denied`),status:`warn`})];if(i===`write_lease_restored`||r.type===`write_lease_restored`)return[Ks({name:B.t(`tool.session`),argPreview:B.t(`lease.restored`)})];if(i===`run_paused`||r.type===`run_paused`){let e=r.toolCount==null?void 0:Number(r.toolCount),t=e==null?B.t(`run.messageBody`):B.t(`run.messageBody`,{context:`n`,n:e});return[Ks({name:B.t(`tool.run`),argPreview:t}),...js([Q(B.t(`run.messageFooter`),L.inactive)])]}if(i===`run_resumed`||r.type===`run_resumed`)return[Ks({name:B.t(`tool.run`),argPreview:B.t(`run.resumedMessageBody`)})];if(i===`run_pause_cancelled`||r.type===`run_pause_cancelled`)return[Ks({name:B.t(`tool.run`),argPreview:B.t(`run.pauseCancelledMessageBody`)})];if(i===`tool_completion`||r.type===`tool_completion`){let e=r.isError===!0;return[Q(`${R.toolResult} ${s}`,e?L.error:L.inactive)]}if(i===`model_switch`||r.type===`model_switch`){let e=r.label==null?``:String(r.label);return[Ks({name:B.t(`tool.model`),argPreview:B.t(`model.switchedTo`,{label:e})})]}if(i===`effort_switch`||r.type===`effort_switch`){let e=r.label==null?``:String(r.label);return[Ks({name:B.t(`tool.effort`),argPreview:B.t(`model.switchedTo`,{label:e})})]}if(i===`model_fallback`||r.type===`model_fallback`){let e=r.configured==null?``:String(r.configured),t=r.active==null?``:String(r.active);return[Ks({name:B.t(`tool.model`),argPreview:`${B.t(`model.title`)}: ${e} → ${t}`,status:`warn`}),...js([Q(B.t(`model.hint`),L.inactive)])]}let m=Array.isArray(a)&&o.some(e=>e.type===`thinking`);if(i===`assistant`&&m){let e=o.filter(e=>e.type===`thinking`).map(e=>String(e.thinking??``)).join(`
19
+ `),o=0;for(;o<i.length&&o<a.length&&i[o]===a[o];)o++;let s=i.length,c=a.length;for(;s>o&&c>o&&i[s-1]===a[c-1];)s--,c--;let l=[],u=c-s,d=Math.min(r,o),f=Math.min(r,i.length-s);for(let e=o-d;e<o;e++)l.push({type:`context`,content:i[e],oldLine:e+1,newLine:e+1});for(let e=o;e<s;e++)l.push({type:`remove`,content:i[e],oldLine:e+1});for(let e=o;e<c;e++)l.push({type:`add`,content:a[e],newLine:e+1});for(let e=s;e<s+f;e++)l.push({type:`context`,content:i[e],oldLine:e+1,newLine:e+1+u});return l.every(e=>e.type===`context`)?[]:[{header:``,lines:l.slice(0,n)}]}function po(e){let t=0,n=0;for(let r of e)for(let e of r.lines)e.type===`add`?t++:e.type===`remove`&&n++;return{added:t,removed:n}}const mo=`__compacting__`;function ho(e,t){if(t)return t;let n=/^mcp__(.+?)__(.+)$/.exec(e);return n?`${n[1]} / ${n[2]}`:e.split(/[_-]+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}const go=[`job`,`bash`,`subagent`];function _o(e){return(e.type??`process`)===`agent-session`?(e.origin??`user`)===`user`?`job`:`subagent`:`bash`}function vo(e){return e.map((e,t)=>({t:e,i:t})).sort((e,t)=>{let n=go.indexOf(_o(e.t))-go.indexOf(_o(t.t));return n===0?e.i-t.i:n}).map(e=>e.t)}function yo(e){return(e.type??`process`)===`agent-session`?e.agentStatus===`running`||e.agentStatus===`ready`||e.agentStatus===`needs_input`:e.status===`running`}function bo(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n===0?`${t}m`:`${t}m ${n}s`}function xo(e,t){let n=e.filter(yo);if(n.length===0)return null;let r=n.reduce((e,t)=>e.startedAt<=t.startedAt?e:t),i=bo(Math.max(0,Math.floor((t-r.startedAt)/1e3))),a=`${R.pointer} ${V.t(`bg.jobsLabel`,{n:n.length})} · ${i}`,o=e.filter(e=>e.type===`agent-session`&&e.agentStatus===`ready`).length,s=e.filter(e=>e.type===`agent-session`&&e.agentStatus===`needs_input`).length;return o>0&&(a+=` · ${V.t(`prompt.readySuffix`,{n:o})}`),s>0&&(a+=` · ${V.t(`bg.needInputSuffix`,{n:s})}`),a}function So(e){let t=e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService);if(t.length===0)return null;let n=t.length;return`${R.service} ${n} ${V.t(`service.countLabel`,{count:n})}`}function Co(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function wo(e){let t=[];return e.toolUseCount&&t.push(`${e.toolUseCount} ${e.toolUseCount===1?`tool`:`tools`}`),e.tokenCount&&t.push(`${Co(e.tokenCount)} tokens`),t.length?` · ${t.join(` · `)}`:``}function To(e,t){if((e.type??`process`)===`agent-session`){let n=e.agentStatus??`running`;if(n===`running`){let n=bo(Math.max(0,Math.floor((t-e.startedAt)/1e3)));if(e.stall===`stalled`||e.stall===`warn`){let t=e.idleMs===void 0?`?`:bo(Math.floor(e.idleMs/1e3));return`${n} · ${R.warn} idle ${t}${e.blockedOn?` (${e.blockedOn})`:``}`}return`${n}${wo(e)}`}return n===`ready`?e.diffStat?`${V.t(`bg.metaReady`)} · ${e.diffStat}`:V.t(`bg.metaReady`):n===`needs_input`?V.t(`bg.metaNeedsInput`):V.t(`bg.agentStatusLabel`,{st:n})}if(e.status===`running`){let n=[];return e.port&&n.push(`:${e.port}`),n.push(bo(Math.max(0,Math.floor((t-e.startedAt)/1e3)))),n.join(` `)}return e.status===`exited`?e.exitCode===void 0?V.t(`bg.metaExited`):V.t(`bg.metaExited`,{context:`code`,code:e.exitCode}):V.t(`bg.procStatusLabel`,{s:e.status})}function Eo(e){let t=e.agentStatus;return t===`ready`||t===`applied`?`done`:t===`failed`?`error`:t===`canceled`?`killed`:t===`running`||t===`needs_input`?`running`:e.status===`exited`?`done`:e.status===`failed`?`error`:e.status===`killed`?`killed`:`running`}function Do(e){switch(e){case`done`:return{agentStatus:`applied`,status:`exited`};case`error`:return{agentStatus:`failed`,status:`failed`};case`killed`:return{agentStatus:`canceled`,status:`killed`};default:return{agentStatus:`running`,status:`running`}}}function Oo(e){return{turnIndex:e.turnIndex,toolUseCount:e.toolUseCount,filesEdited:e.filesEdited,tokenCount:e.tokenCount,lastActivity:e.lastActivity,stall:e.stall,idleMs:e.idleMs,blockedOn:e.blockedOn,abortable:e.abortable,prompt:e.prompt,model:e.model,modelDecidedBy:e.modelDecidedBy}}function ko(e){return e===`awaiting_gate`?`needs_input`:e===`done`?`applied`:e===`error`||e===`aborted`?`failed`:`running`}function Ao(e){return{id:e.id,command:`@${e.agentName}`,type:`agent-session`,origin:e.origin,status:`running`,agentStatus:ko(e.status),startedAt:e.startedAt,...Oo(e)}}function jo(e){let t=e/1e3;return t<60?`${t.toFixed(1)}s`:bo(Math.floor(t))}function Mo(e,t){return e.map(e=>{let n=jo((e.endedAt??t)-e.startedAt),r=e.tools&&e.tools.length>0?e.tools.length<=3?e.tools.join(`, `):`${e.tools.slice(0,3).join(`, `)} +${e.tools.length-3}`:`${e.toolCount} ${e.toolCount===1?`tool`:`tools`}`;return e.endedAt===void 0?`▸ turn ${e.index} … (${r}, ${n})`:` turn ${e.index} ${R.check} (${r}, ${n})`})}function No(e,t){if((e.type??`process`)!==`agent-session`||e.turnIndex===void 0&&e.toolUseCount===void 0&&e.tokenCount===void 0&&e.lastActivity===void 0&&e.stall===void 0)return null;let n=bo(Math.max(0,Math.floor((t-e.startedAt)/1e3))),r=e.stall===`stalled`||e.stall===`warn`,i=e.idleMs===void 0?`?`:bo(Math.floor(e.idleMs/1e3)),a=[{label:`activity`,value:e.lastActivity??`-`},{label:`blocked`,value:e.blockedOn??`-`,warn:r},{label:`last event`,value:r?`idle ${i}`:`live`,warn:r},{label:`tokens`,value:`${Co(e.tokenCount??0)} out · ${e.toolUseCount??0} tools · ${n}`},{label:`abortable`,value:e.abortable===!1?`NO (drops signal)`:`yes`,warn:e.abortable===!1}];return{header:`${e.command} · turn ${e.turnIndex??`-`} · ${e.agentStatus??`running`}`,rows:a}}function Po(e,t){let n=No(e,t);return n?[n.header,...n.rows.map(e=>` ${e.warn?`! `:` `}${e.label.padEnd(11)} ${e.value}`)]:[]}function Fo(e,t,n){let r=Math.max(1,Math.floor(t));if(e<=r)return{start:0,end:e,above:0,below:0};let i=e-r,a=e-Math.min(Math.max(0,Math.floor(n)),i),o=a-r;return{start:o,end:a,above:o,below:e-a}}const Io=new Map;let Lo=null,Ro=null,zo=null,Bo=null,Vo=null,Ho=null;function Uo(){Lo=null,Ro=null,zo=null,Vo=null,Bo=null,Ho=null}function Wo(){if(Lo===null){let e=[];for(let t of Io.values())t.renderers&&e.push(...t.renderers);Lo=e}if(Ro===null){let e=[];for(let t of Io.values())t.statusItems&&e.push(...t.statusItems);Ro=e}if(zo===null){let e=[];for(let t of Io.values())t.panels&&e.push(...t.panels);zo=e}if(Vo===null){let e=new Map;for(let t of Io.values())if(t.a2uiComponents)for(let n of t.a2uiComponents)e.has(n.type)||e.set(n.type,n.render);Vo=e}if(Bo===null){let e=[];for(let t of Io.values())t.statusWidgets&&e.push(...t.statusWidgets);Bo=e}if(Ho===null){let e=[];for(let t of Io.values())t.fileViewers&&e.push(...t.fileViewers);Ho=e}}function Go(e,t){Io.set(e,t),Uo()}function Ko(e){Io.delete(e),Uo()}function qo(){Io.clear(),Uo()}function Jo(){return Io}const Yo=new Set([`cli-commands`,`cli-status`,`cli`]);function Xo(e,t){let n=[];for(let[r,i]of t)Yo.has(i.pluginId)||e.has(r)||n.push(r);return n}function Zo(){return Wo(),Lo??[]}function Qo(){return Wo(),Ro??[]}function $o(){return Wo(),Vo??new Map}function es(){return Wo(),Bo??[]}function ts(){return Wo(),Ho??[]}function ns(e){Go(`cli`,{pluginId:`cli`,renderers:[...e]})}function rs(){Ko(`cli`)}function is(e,t){let n=t;if(!n||typeof n!=`object`||e.role!=null&&n.role!==e.role||e.toolName!=null&&(n.name??n.toolName)!==e.toolName)return!1;if(e.contentType!=null){let t=n.content;if(!(Array.isArray(t)&&t.some(t=>t&&typeof t==`object`&&t.type===e.contentType)))return!1}return!0}function as(e,t){for(let n of Zo())if(is(n.matcher,e))try{let r=n.render(e,t);if(Array.isArray(r)&&r.length>0)return r}catch{}return null}function os({innerWidth:e,title:t,paint:n=e=>e}){if(!t)return n(`┌${`─`.repeat(e)}┐`);let r=l(t,e-4),i=ut(r),a=Math.max(0,e-i-3);return n(`┌─ ${r} ─${`─`.repeat(a)}┐`)}function ss({innerWidth:e,paint:t=e=>e}){return t(`└${`─`.repeat(e)}┘`)}function cs(e,t=e=>e){return t(`│ `)+e}function ls(e){switch(e){case`accent`:return I.accent;case`green`:return I.success;case`amber`:return I.warning;case`red`:return I.error;case`gray`:return I.inactive;default:return`#888888`}}function us(e,t){let n=ls(t);if(n.startsWith(`#`))return _n.hex(n)(e);let r=_n[n];return typeof r==`function`?r(e):e}const ds=e=>us(e,`accent`),fs=e=>us(e,`gray`);function ps(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=new Set;for(let t of e){for(let e of t.children??[])n.add(e);for(let e of t.items??[])n.add(e)}let r=e.map(e=>e.id).filter(e=>!n.has(e));return r.length===0&&e.length>0&&r.push(e[0].id),{byId:t,roots:r}}function ms(e,t,n,r,i,a){if(i.has(e.id))return[];switch(i.add(e.id),e.type){case`Text`:return gs(e);case`Card`:return _s(e,t,n,r,i,a);case`List`:return vs(e,t,n,r,i,a);case`Progress`:return ys(e,n);case`Chip`:return bs(e);case`Button`:return Ss(e,a);case`Form`:return Ds(e,a);default:return hs(e,t,n,r,i,a)}}function hs(e,t,n,r,i,a){let o=$o().get(e.type);if(!o)return Cs(e);let s=e=>{if(i.has(e))return[];let o=t.byId.get(e);return o?ms(o,t,n,r+1,i,a):[]};try{let t=o(e,n,s);return!Array.isArray(t)||!t.every(e=>typeof e==`string`)?Cs(e):t}catch{return Cs(e)}}function gs(e){let t=e.text??``;return t?t.split(`
20
+ `):[]}function _s(e,t,n,r,i,a){let o=Math.max(1,n-4),s=[];s.push(os({innerWidth:o,title:e.title,paint:ds}));for(let n of e.children??[]){let e=t.byId.get(n);if(!e)continue;let c=ms(e,t,o,r+1,i,a);for(let e of c)s.push(cs(e,fs))}return s.push(ss({innerWidth:o,paint:ds})),s}function vs(e,t,n,r,i,a){let o=[],s=e.items??[];for(let c=0;c<s.length;c++){let l=t.byId.get(s[c]);if(!l)continue;let u=e.ordered?` ${c+1}. `:` • `,d=ms(l,t,n-u.length,r+1,i,a);if(d.length>0){o.push(u+d[0]);for(let e=1;e<d.length;e++)o.push(` `+d[e])}}return o}function ys(e,t){let n=Math.min(20,Math.max(4,t-20)),r=Math.max(0,Math.min(100,e.value??0)),i=e.max??100,a=i>0?Math.round(r/i*100):0,o=e.label==null?``:`${e.label} `,s=a>=100?`green`:a>0?`accent`:`gray`,c=oo({percent:a,width:n,chars:`block`,color:s},us);return[us(o,s)+c]}function bs(e){let t=e.color??`accent`;return[us(`[${e.text??``}]`,t)]}let xs=0;function Ss(e,t){xs++;let n=e.text??e.action??e.id,r=String(xs),i=`${n}`;return t.push({key:r,label:i,componentId:e.id,action:e.action??`click`}),[ds(`[${r}] [ ${i} ]`)]}function Cs(e){return[fs(e.text??`[${e.type}:${e.id}]`)]}function ws(e,t=80,n=0){if(!Array.isArray(e)||e.length===0)return{lines:[],buttons:[]};try{xs=n,Es=0;let r=ps(e),i=[],a=[],o=new Set;for(let e of r.roots){let n=r.byId.get(e);n&&i.push(...ms(n,r,t,0,o,a))}return{lines:i,buttons:a}}catch{return{lines:[],buttons:[]}}}function Ts(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=ps(e),n=[],r=0,i=new Set,a=e=>{if(!i.has(e.id)){i.add(e.id),e.type===`Button`&&(r++,n.push({key:String(r),label:e.text??e.action??e.id,componentId:e.id,action:e.action??`click`}));for(let n of e.children??[]){let e=t.byId.get(n);e&&a(e)}for(let n of e.items??[]){let e=t.byId.get(n);e&&a(e)}}};for(let e of t.roots){let n=t.byId.get(e);n&&a(n)}return n}catch{return[]}}let Es=0;function Ds(e,t){let n=e.fields??[],r=[],i=e.formTitle??`表单`,a=Math.max(ut(i)+4,30);r.push(os({innerWidth:a,title:i,paint:ds}));for(let e of n){let t=e.required?` (必填)`:``;switch(e.type){case`text`:r.push(cs(`${e.label}: ${e.defaultValue?String(e.defaultValue):`___________`}${t}`,fs));break;case`select`:{let n=e.options??[],i=e.defaultValue,a=n.find(e=>e.id===i)?.label??n[0]?.label??``;r.push(cs(`${e.label}: ${a}${t}`,fs));break}case`toggle`:r.push(cs(`${e.label}: ${e.defaultValue===!0?R.toggleOn:R.toggleOff}${t}`,fs));break;default:r.push(cs(`${e.label}: ?${t}`,fs))}}Es++;let o=e.action??`submit`;return t.push({key:String(Es),label:`填写表单`,componentId:e.id,action:o}),r.push(cs(`[${Es}] 填写表单`,ds)),r.push(ss({innerWidth:a,paint:ds})),r}function Os(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=e,n=[],r=Ts(e).length;for(let e of t)e.type===`Form`&&(r++,n.push({key:String(r),label:`表单: ${e.formTitle??`表单`}`,componentId:e.id,action:e.action??`submit`}));return n}catch{return[]}}function ks(e){return e.replace(/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g,``).replace(/\x1b\[[\d;?]*[@-~]/g,``).replace(/\x1b\[[\d;?]*(?![\d;@-~])/g,``).replace(/(?:3[89]|4[0-9]);2;\d{1,3};\d{1,3};\d{1,3}m/g,``).replace(/(?:3[89]|4[0-9]);5;\d{1,3}m/g,``).replace(/(?:^|(?<=[\s;m]))(?:\d{1,3}(?:;\d{1,3})+|;\d{1,3})m/gi,``)}function As(e){switch(e){case`file`:return I.suggestion;case`agent`:return I.accent;case`skill`:case`mcp`:case`plugin`:return I.special;case`person`:return I.success;default:return I.inactive}}function js(e){gt.lastIndex=0;let t=``,n=0,r;for(;(r=gt.exec(e))!==null;)r.index>n&&(t+=e.slice(n,r.index)),t+=Q(r[0],As(Xe(r[0]))),n=r.index+r[0].length;return n<e.length&&(t+=e.slice(n)),t}const Ms=(e,n=t.section)=>e.map(e=>{let t=/^\x1b]9;cw=(\d+)\x07/.exec(e);return t?`\x1b]9;cw=${parseInt(t[1],10)+n}\x07`+` `.repeat(n)+e.slice(t[0].length):` `.repeat(n)+e});function Ns(e,t){let n=e>0?Math.max(0,Math.min(1,t/e)):0,r=Math.round(n*100),i=n>0?Math.max(1,Math.round(n*10)):0;return oo({percent:r,width:10,segments:i>0?[{key:`ratio`,width:i}]:[],chars:`dot`,color:I.inactive},Q)}function Ps(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`} ${`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}`}const Fs=/^[\s]*(❌|✗|⛔|🔴|🚫|❎)\s*/u,Is=/^[\s]*(✅|✓|🟢|✔️?|☑️?)\s*/u;function Ls(e){return Fs.test(e)?{cleaned:e.replace(Fs,``)}:Is.test(e)?{cleaned:e.replace(Is,``)}:{cleaned:e}}function Rs(e,t){return e.length<=t?e:[...e.slice(0,t),V.t(`common.moreLinesLabel`,{n:e.length-t})]}function zs(e,t){return Rs(ks(e).split(`
21
+ `),t).map(e=>Q(e,I.toolText))}function Bs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function Vs(e){let t=process.env.HOME,n=t?e.replace(t,`~`):e,r=n.split(`/`);return r.length>3?`…/${r.slice(-2).join(`/`)}`:n}const Hs=new Set([`edit`,`Edit`,`str_replace`]),Us=new Set([`write`,`Write`,`create`]),Ws=new Set([`read`,`Read`,`view`,`cat`,`open`]),Gs=new Set([`write_todos`,`TodoWrite`]),Ks=new Set([...vn,`Task`]);function qs({name:e,argPreview:t,added:n,removed:r,isError:i,status:a}){let o=a??(i?`error`:`ok`),s=o===`error`?R.cross:o===`warn`?R.warn:R.check,c=o===`error`?I.error:o===`warn`?I.warning:I.success,l=Q(s+` `,c)+Q(Bs(e),I.toolText),u=t!=null||n!=null||r!=null;return u&&(l+=Q(`(`,I.toolText)),t!=null&&(l+=Q(t,I.toolText)),n!=null&&(l+=Q((t==null?``:` `)+`+`+n,I.diffAdd)),r!=null&&(l+=Q(` -`+r,I.diffRemove)),u&&(l+=Q(`)`,I.toolText)),l}const Js=()=>process.env.OTTO_TUI_DIFF_BG!==`0`;function Ys(e,t){if(!t||!Js())return e;try{return _n.bgHex(t)(e)}catch{return e}}const Xs={ts:`typescript`,tsx:`typescript`,mts:`typescript`,cts:`typescript`,js:`javascript`,jsx:`javascript`,mjs:`javascript`,cjs:`javascript`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,c:`c`,h:`c`,cc:`cpp`,cpp:`cpp`,hpp:`cpp`,cs:`csharp`,swift:`swift`,php:`php`,sh:`bash`,bash:`bash`,zsh:`bash`,json:`json`,yaml:`yaml`,yml:`yaml`,toml:`ini`,ini:`ini`,xml:`xml`,html:`xml`,css:`css`,scss:`scss`,sql:`sql`,md:`markdown`,dockerfile:`dockerfile`,lua:`lua`};function Zs(e){if(!e)return``;let t=e.split(`/`).pop()??``;return t.toLowerCase()===`dockerfile`?`dockerfile`:Xs[t.includes(`.`)?t.split(`.`).pop().toLowerCase():``]??``}function Qs(e,t,n,r=2e3){let i=Zs(t),a=e.split(`
22
+ `),o=((n&&i!==``&&a.length<=r?Oa(e,i):null)??e).split(`
23
+ `),s=Math.max(2,String(o.length).length);return o.map((e,t)=>$s(s+1)+Q(String(t+1).padStart(s)+` `,I.inactive)+(e||` `))}const $s=e=>`\x1b]9;cw=${e}\x07`;function ec(e,t={}){let n=e.reduce((e,t)=>e+t.lines.length,0)>200?void 0:t.highlight,r=t.lang??``,i=0;for(let t of e)for(let e of t.lines){let t=e.type===`remove`?e.oldLine:e.newLine??e.oldLine;t!=null&&t>i&&(i=t)}let a=Math.max(2,String(i).length),o=[];return e.forEach((e,t)=>{t>0&&o.push(Q(`⋮`.padStart(a),I.inactive));for(let t of uo(e.lines)){let e=t.type===`remove`?t.oldLine:t.newLine??t.oldLine,i=String(e??``).padStart(a),s=t.type===`add`?`+`:t.type===`remove`?`-`:` `,c=t.type===`add`?I.diffAdd:t.type===`remove`?I.diffRemove:void 0,l=c??I.inactive,u=t.type===`add`?I.diffAddBg:t.type===`remove`?I.diffRemoveBg:``,d=n&&r?n(t.content,r):null,f;if(d!=null)f=Q(i+` `,l)+Q(s+` `,c)+d;else if(t.wordSegments&&(t.type===`add`||t.type===`remove`)){let e=t.wordSegments.map(e=>Q(e.changed?_n.bold(e.text):e.text,c)).join(``);f=Q(i+` `,l)+Q(s+` `,c)+e}else f=Q(i+` `,l)+Q(s+` `+t.content,c);o.push($s(a+2)+Ys(f,u))}}),o}function tc(e){let t=String(e.name??``),n=e.args==null?void 0:String(e.args),r=e.argsObj==null?{}:e.argsObj,i=e.result==null?void 0:String(e.result),a=e.isError==null?void 0:!!e.isError;if(Hs.has(t)&&typeof r.oldContent==`string`&&typeof r.newContent==`string`){let e=typeof r.path==`string`?r.path:``,t=e?Vs(e):``,n=fo(r.oldContent,r.newContent),{added:i,removed:o}=po(n),s={highlight:Oa,lang:Zs(e)};return[qs({name:V.t(`tool.edit`),argPreview:t,added:i,removed:o,isError:a}),...Ms(ec(n,s))]}if(Us.has(t)&&typeof r.content==`string`){let e=typeof r.path==`string`?r.path:``,t=e?Vs(e):``,n=r.content.split(`
24
+ `),i=[{header:``,lines:n.map((e,t)=>({type:`add`,content:e,newLine:t+1})).slice(0,12)}],o={highlight:Oa,lang:Zs(e)};return[qs({name:V.t(`tool.write`),argPreview:t,added:n.length,isError:a}),...Ms(ec(i,o))]}if(Ws.has(t)){let e=typeof r.path==`string`?r.path:n?n.trim():``;return[qs({name:V.t(`tool.read`),argPreview:e,isError:a})]}if(Gs.has(t)&&Array.isArray(r.todos)){let e=r.todos,t=r.title;return[qs({name:t??V.t(`tool.tasks`),argPreview:V.t(`welcome.itemCountLabel`,{count:e.length}),isError:a}),...Ms(e.map(e=>{let t=e.status===`done`?R.todoDone:e.status===`in_progress`?R.todoActive:R.todoPending,n=e.status===`done`?I.success:e.status===`in_progress`?I.accent:I.inactive,r=e.status===`done`||e.status===`skipped`,i=r?_n.strikethrough(e.title??``):e.title??``;return Q(t+` `,n)+Q(i,r?I.inactive:I.text)}))]}if(Ks.has(t)){let e=r.subagent??r.agent??r.category??r.team,t=typeof r.prompt==`string`?r.prompt.replace(/\n/g,` `):``,n=Q((a?R.cross:R.check)+` `,a?I.error:I.success)+Q(V.t(`tool.subagent`),I.toolText)+(e?Q(`(${e})`,I.special):``),o=[];return t&&o.push(...Ms([Q(t,I.toolText)])),i&&o.push(...Ms(zs(i,5))),[n,...o]}return[qs({name:ho(t),argPreview:n?n.replace(/\n/g,` `):void 0,isError:a}),...i?Ms(zs(i,5)):[]]}function nc(e){let t=[];for(let n of e){let e=n.function,r=e?.arguments?String(e.arguments).replace(/\n/g,` `):void 0;t.push(qs({name:e?.name?ho(e.name):V.t(`tool.unknown`),argPreview:r}))}return t}function rc(e,t=80){let n=as(e,t);if(n)return n;let r=e,i=r.role??`unknown`,a=r.content,o=Array.isArray(a)?a:[],s=Array.isArray(a)?o.filter(e=>e.type===`text`).map(e=>ks(String(e.text??``))).join(`
25
+ `):ks(String(a??``)),c=r.tool_calls,l=Array.isArray(c)?c:[],u=Math.max(1,t-2),d=e=>eo(e,u),f=0,p=[];for(let e of o){if(e.type!==`a2ui`)continue;let t=ws(e.components,u,f);p.push(...t.lines),f+=t.buttons.length}if(i===`summary`){let e=r.status===`error`?R.cross:r.status===`interrupted`?`⏹`:r.status===`incomplete`?`⏸`:R.check,t=r.status===`error`?I.error:r.status===`interrupted`||r.status===`incomplete`?I.warning:I.success,n=r.status===`error`?V.t(`status.failed`):r.status===`interrupted`?V.t(`status.interrupted`):r.status===`incomplete`?V.t(`status.stopped`):V.t(`status.done`),i=Math.floor(Number(r.elapsedMs??0)/1e3),a=i<60?`${i}s`:`${Math.floor(i/60)}m ${i%60}s`,o=Q(`${e} ${n}`,t)+Q(` · ${V.t(`tool.countLabel`,{count:Number(r.toolCount??0)})} · ${a}`,I.inactive),s=r.cacheHitRatio,c=typeof s==`number`?`(${Math.round(s*100)}%)`:``;if(r.tokensUsed==null?c&&(o+=Q(` · cache${c}`,I.inactive)):o+=Q(` · ${Co(Number(r.tokensUsed))} tokens${c}`,I.inactive),r.status===`incomplete`&&r.tasksTotal!=null){let e=Number(r.tasksDone??0),t=Number(r.tasksTotal),n=Number.isFinite(e)?e:0,i=Number.isFinite(t)?t:0,a=Math.max(0,i-n);o+=Q(` · ${V.t(`task.leftLabel`,{done:n,total:i,left:a})}`,I.warning)}if(r.model!=null){let e=r.effort==null?``:String(r.effort),t=e?e.toLowerCase()===`xhigh`?`XHigh`:e.charAt(0).toUpperCase()+e.slice(1):``,n=t?`${String(r.model)}·${t}`:String(r.model);o+=Q(` · ${n}`,I.inactive)}return r.completedAt!=null&&(o+=Q(` · ${Ps(Number(r.completedAt))}`,I.inactive)),p.length>0?[o,``,...p]:[o]}if(i===`assistant_stream`){let{cleaned:e}=Ls(ks(String(r.text??``)));if(!e)return[];let t=r.lead===!0;return d(e).map((e,n)=>t&&n===0?`${Q(R.bullet,I.replyPrefix)} ${e}`:ks(e).trim()===``?``:` ${e}`)}if(i===`tool`){let e=Qa(tc(r));return p.length>0?[...e,``,...p]:e}if(i===`system`){let e=[Q(s,I.inactive)];return p.length>0?[...e,``,...p]:e}if(i===`panel`){let e=r.language==null?``:String(r.language),t=r.code==null?``:String(r.code),n=r.title==null?``:String(r.title),i="```"+e+`
26
+ `+t+"\n```",a=[];return n&&a.push(Q(_n.bold(n),I.accent)),a.push(...d(i)),p.length>0?[...a,``,...p]:a}if(i===`user`){let e=s.split(`
27
+ `),t=r.streaming===!0,n=e.map((e,n)=>{let r=js(e),i=t?_n.dim(r):r;return n===0?Q(`${R.userPrompt} `,I.inactive)+i:` `+i});return p.length>0?[...n,``,...p]:n}if(i===`tool_result`||r.type===`tool_result`){let e=Rs(s.split(`
28
+ `),5).map((e,t)=>Q((t===0?`${R.toolResult} `:` `)+e,I.inactive));return p.length>0?[...e,``,...p]:e}if(i===`command_echo`||r.type===`command_echo`){let e=r.command==null?``:String(r.command),t=r.status===`warn`||r.status===`error`?r.status:`ok`,n=t===`error`?R.cross:t===`warn`?R.warn:R.check,i=t===`error`?I.error:t===`warn`?I.warning:I.success,a=[Q(`${R.commandPrompt} `,I.inactive)+Q(e,I.inactive)],o=r.summary==null?void 0:String(r.summary);o!=null&&a.push(...Ms([Q(`${n} `,i)+Q(o,I.toolText)]));let s=r.detail==null?void 0:String(r.detail);return s&&a.push(...Ms(ks(s).split(`
29
+ `).map(e=>Q(e,I.toolText)))),a}if(i===`compact_boundary`||r.type===`compact_boundary`){let e=r.before==null?void 0:Number(r.before),t=r.after==null?void 0:Number(r.after);if(!(e!=null&&t!=null&&!Number.isNaN(e)&&!Number.isNaN(t)))return[qs({name:V.t(`tool.compact`),argPreview:V.t(`compact.ed`)})];let n=`${e} → ${t} ${Ns(e,t)}`;return[qs({name:V.t(`tool.compact`),argPreview:n})]}if(i===`prune_boundary`||r.type===`prune_boundary`)return[qs({name:V.t(`tool.prune`),argPreview:V.t(`compact.pruned`)})];if(i===`history_capped`||r.type===`history_capped`){let e=r.removedCount==null?0:Number(r.removedCount),t=typeof r.trigger==`string`?r.trigger:`count`;if(r.lossy===!0)return[qs({name:V.t(`tool.history`),argPreview:V.t(`history.cappedLossy`,{count:e}),status:`warn`})];let n=t===`bytes`?V.t(`history.cappedBytes`,{count:e}):t===`memory-pressure`?V.t(`history.cappedMemoryPressure`,{count:e}):V.t(`history.capped`,{count:e});return[qs({name:V.t(`tool.history`),argPreview:n})]}if(i===`write_lease_denied`||r.type===`write_lease_denied`)return[qs({name:V.t(`tool.session`),argPreview:V.t(`lease.denied`),status:`warn`})];if(i===`write_lease_restored`||r.type===`write_lease_restored`)return[qs({name:V.t(`tool.session`),argPreview:V.t(`lease.restored`)})];if(i===`run_paused`||r.type===`run_paused`){let e=r.toolCount==null?void 0:Number(r.toolCount),t=e==null?V.t(`run.messageBody`):V.t(`run.messageBody`,{context:`n`,n:e});return[qs({name:V.t(`tool.run`),argPreview:t}),...Ms([Q(V.t(`run.messageFooter`),I.inactive)])]}if(i===`run_resumed`||r.type===`run_resumed`)return[qs({name:V.t(`tool.run`),argPreview:V.t(`run.resumedMessageBody`)})];if(i===`run_pause_cancelled`||r.type===`run_pause_cancelled`)return[qs({name:V.t(`tool.run`),argPreview:V.t(`run.pauseCancelledMessageBody`)})];if(i===`tool_completion`||r.type===`tool_completion`){let e=r.isError===!0;return[Q(`${R.toolResult} ${s}`,e?I.error:I.inactive)]}if(i===`model_switch`||r.type===`model_switch`){let e=r.label==null?``:String(r.label);return[qs({name:V.t(`tool.model`),argPreview:V.t(`model.switchedTo`,{label:e})})]}if(i===`effort_switch`||r.type===`effort_switch`){let e=r.label==null?``:String(r.label);return[qs({name:V.t(`tool.effort`),argPreview:V.t(`model.switchedTo`,{label:e})})]}if(i===`model_fallback`||r.type===`model_fallback`){let e=r.configured==null?``:String(r.configured),t=r.active==null?``:String(r.active);return[qs({name:V.t(`tool.model`),argPreview:`${V.t(`model.title`)}: ${e} → ${t}`,status:`warn`}),...Ms([Q(V.t(`model.hint`),I.inactive)])]}let m=Array.isArray(a)&&o.some(e=>e.type===`thinking`);if(i===`assistant`&&m){let e=o.filter(e=>e.type===`thinking`).map(e=>String(e.thinking??``)).join(`
30
30
  `).split(`
31
- `),t=e.slice(0,30),n=e.length-t.length,r=[];if(r.push(Q(R.thinking,L.toolText)+Q(` `+B.t(`common.thoughtLines`,{n:e.length}),L.toolText)),r.push(...js(t.map(e=>Q(gn.italic(e),L.toolText)))),n>0&&r.push(...js([Q(B.t(`common.moreLinesLabel`,{n}),L.toolText)])),s){let{cleaned:e}=Is(s);r.push(``,...js(d(e)))}return l.length>0&&r.push(``,...tc(l)),p.length>0?[...Za(r),``,...p]:Za(r)}let{cleaned:h}=Is(s),g=[];return s&&g.push(...js(d(h))),l.length>0&&(g.length&&g.push(``),g.push(...tc(l))),p.length>0?[...Za(g),``,...p]:Za(g)}const rc=[`Aa`,`Ab`,`.*`],ic=[`input`,...rc],ac={input:``,Aa:`Aa`,Ab:`Ab|`,".*":`.*`};function oc({lines:e,rows:t,header:n,onDismiss:r,onKey:i,dismissOnEsc:a=!0,internalChromeRows:o=9,initialScroll:c=`bottom`,emptyMessage:l,active:u=!0,contentKey:d,columns:p=80,wrapMode:m=`pre-wrap`,extraHints:h,findActive:g,onFindModeChange:_,scrollStore:y}){let b=C(),x=ca(),S=y??x,[w,E]=K(c===`bottom`?2**53-1:0),[ee,te]=K(!1),ne=g??ee,O=e=>{let t=typeof e==`function`?e(ne):e;te(t),_?.(t)},[re,A]=K(``),ie=G(null),ae=Le(B.t(`find.inputLabel`))+1,[oe,M]=K(0),[se,ce]=K(!1),[N,le]=K(!1),[ue,P]=K(!1),[F,de]=K(`input`);mt({active:ne&&F===`input`,containerRef:ie,text:re,inline:{column:ae+Le(re),lineOffset:0},deleteKeyAt:0});let fe=Math.max(10,p-ge.contentInset),pe=W(()=>m===`truncate`?e:Te(e,fe),[e,fe,m]);U(()=>{if(S)return S.registerWheel(e=>{u&&E(n=>aa(n,e,pe.length,t))})},[S,u,t,pe.length]);let me=W(()=>({caseSensitive:se,wholeWord:N,regex:ue}),[se,N,ue]),he=W(()=>{if(!ne||!re)return{byPhys:new Map,count:0,flat:[]};let e=new Map,t=[];for(let n=0;n<pe.length;n++){let r=va(Os(pe[n]),re,me);if(r.length>0){e.set(n,r);for(let e of r)t.push({physIdx:n,range:e})}}return{byPhys:e,count:t.length,flat:t}},[ne,re,me,pe]);U(()=>{M(0)},[re,me]);let _e=d??`${e.length}:${e[0]??``}:${e[e.length-1]??``}`,ve=G(_e);U(()=>{ve.current!==_e&&(E(c===`bottom`?2**53-1:0),ve.current=_e)},[_e,c]);let ye=o+(ne?2:0),be=Math.max(3,Ue(pe.length+ye,t)-ye),xe=ra(pe.length,be,w),Se=Math.max(0,pe.length-be),Ce=xe.offset,we=pe.slice(xe.start,xe.end),I=Ct(`f`),Ee=Nt(e=>{de(t=>ic[(ic.indexOf(t)+e+ic.length)%ic.length])},[]),De=Nt(e=>{switch(e){case`Aa`:ce(e=>!e);break;case`Ab`:le(e=>!e);break;case`.*`:P(e=>!e);break;default:break}},[]);s(`file-content-viewer`,(e,t)=>{if(!u)return!1;if(t.escape)return ne?re?(A(``),M(0),!0):(O(!1),!0):(a&&r(),!0);if(t.ctrl&&e===`f`)return O(e=>!e),ne&&(A(``),M(0),ce(!1),le(!1),P(!1),de(`input`)),!0;if(ne){if(t.tab)return Ee(t.shift?-1:1),!0;let n=D(t);if(n!==0)return Ee(n),!0;if(t.upArrow||t.downArrow)return he.count>0&&M(e=>t.upArrow?(e-1+he.count)%he.count:(e+1)%he.count),!0;if(t.return)return F===`input`?he.count>0&&M(e=>(e+1)%he.count):De(F),!0;if(e===` `)return F===`input`?(A(e=>e+` `),!0):(De(F),!0);if(t.backspace||t.delete)return A(e=>e.slice(0,-1)),!0;if(e&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab){let t=dt(e);return t&&(F!==`input`&&de(`input`),A(e=>e+t)),!0}return e&&e.length===1&&e>=` `&&!t.ctrl&&!t.meta?(F!==`input`&&de(`input`),A(t=>t+e),!0):!0}if(!i?.(e,t))return t.upArrow?(E(e=>Math.max(0,e-1)),!0):t.downArrow?(E(e=>Math.min(Se,e+1)),!0):t.pageUp?(E(e=>Math.max(0,e-be)),!0):t.pageDown?(E(e=>Math.min(Se,e+be)),!0):e===`g`?(E(0),!0):e===`G`?(E(Se),!0):!1}),U(()=>{if(!ne||he.count===0)return;let e=he.flat[oe];if(!e)return;let t=e.physIdx;t<Ce?E(t):t>=Ce+be&&E(t-be+1)},[oe,ne]);let Oe=he.flat[oe]??null,ke=e=>{let t=e===`Aa`&&se||e===`Ab`&&N||e===`.*`&&ue,n=F===e,r=ac[e];return n&&t?J(X,{inverse:!0,bold:!0,color:b.selection,children:[` `,r,` `]},e):n?J(X,{inverse:!0,children:[` `,r,` `]},e):t?J(X,{children:[` `,r,` `]},e):J(X,{dimColor:!0,children:[` `,r,` `]},e)};return J(T,{header:n,footer:ne?q(k,{items:[...F===`input`?[[`${j.up}${j.down}`,`match`]]:[],[j.enter,F===`input`?`next`:`toggle`],[j.tab,`mode`],[j.esc,re?`clear`:`close`],[I,`find`]]}):q(k,{items:[...h??[],[`${j.up}${j.down}/g/G`,B.t(`hint.scroll`)],[j.esc,B.t(`hint.close`)],[I,B.t(`hint.find`)]]}),children:[q(X,{children:` `}),ne&&J(Ft,{children:[J(Y,{ref:ie,children:[J(X,{children:[B.t(`find.inputLabel`),` `]}),F===`input`?q(X,{inverse:!0,children:re?re+` `:` `}):q(X,{children:re?re+` `:` `}),rc.map(ke),he.count>0?J(X,{children:[` `,B.t(`find.matchCount`,{current:oe+1,total:he.count})]}):re?q(X,{dimColor:!0,children:` 0/0`}):null]}),q(X,{children:` `})]}),e.length===0?q(X,{color:b.inactive,dimColor:!0,children:l??B.t(`common.noContentAvailable`)}):J(Y,{flexDirection:`row`,children:[q(Y,{flexDirection:`column`,flexGrow:1,children:we.map((e,t)=>{let n=Ce+t,r=he.byPhys.get(n),i=Oe?.physIdx===n?Oe.range:void 0,a=r?_a(e,r,i):e;return q(X,{wrap:`truncate-end`,children:a===``?` `:a},`${Ce+t}`)})}),q(Y,{flexDirection:`column`,width:1,children:ua(pe.length,we.length,Ce).map((e,t)=>q(X,{color:b.panelBorder,children:e},t))})]}),q(X,{children:` `}),J(Y,{flexDirection:`row`,height:1,children:[q(f,{hasMore:xe.above>0,count:xe.above}),q(v,{hasMore:xe.below>0,count:xe.below})]})]})}function sc(e){let t=[];for(let n of e.extensions??[])t.push(`*.${n}`);for(let n of e.filenames??[])t.push(n);for(let n of e.glob??[])t.push(n);return t}function cc(e){let t=e.split(`/`).pop()??e;return es().filter(n=>sc(n.matcher).some(n=>Yt(n,t)||Yt(n,e)))}const lc=5e4;function uc(e){let t=1,n=-1;for(;(n=e.indexOf(`
32
- `,n+1))!==-1;)t++;return t}function dc(e,t){let n=-1,r=0;for(;r<2e3;){let t=e.indexOf(`
33
- `,n+1);if(t===-1)break;n=t,r++}let i=n===-1?e:e.slice(0,n),a=t===`byte`?`[文件过大(超过 ${qt/1024/1024}MB),仅显示前 ${r} 行]`:`[文件行数过多(超过 ${lc} 行),仅显示前 ${r} 行]`;return{id:`truncated`,label:`Truncated`,lines:[...i.split(`
34
- `),``,a],wrapMode:`truncate`}}function fc(e,t,n,r){if(n.length>524288)return e;let i=cc(t);if(i.length===0)return e;let a=[];for(let e of i)try{let i=e.render(n,t,r);if(!i||!Array.isArray(i.lines))continue;a.push({id:e.id,label:e.label,lines:i.lines,wrapMode:i.wrapMode??`pre-wrap`})}catch{}return[...e,...a]}function pc(e){return(e.split(`/`).pop()??``).toLowerCase().endsWith(`.md`)}function mc(e,t,n){return{id:`plain`,label:`Plain`,lines:Zs(e,t,n),wrapMode:`truncate`}}function hc(e,t,n,r){let i=[];try{i.push({id:`rendered`,label:`Rendered`,lines:$a(e,n),wrapMode:`pre-wrap`})}catch{}let a=r?Da(e,`markdown`):null;return i.push({id:`raw`,label:`Raw`,lines:(a??e).split(`
35
- `),wrapMode:`truncate`}),i}function gc(e,t,n,r,i=!1){if(i||t.length>qt)return fc([dc(t,`byte`)],e,t,n);if(uc(t)>lc)return fc([dc(t,`line`)],e,t,n);let a;if(pc(e)){let i=hc(t,e,n,r);a=i.length>0?i:[mc(t,e,r)]}else a=Xs(e)===``?[mc(t,e,r)]:[{id:`code`,label:`Code`,lines:Zs(t,e,r),wrapMode:`truncate`}];return fc(a,e,t,n)}const _c=[`recent`,`shortcut`,`resource`,`extension`,`agent`,`person`,`file`,`hashtag`,`model`];function vc(e){switch(e){case`recent`:return B.t(`sigil.catRecent`);case`shortcut`:return B.t(`sigil.catShortcut`);case`resource`:return B.t(`sigil.catResource`);case`extension`:return B.t(`sigil.catExtension`);case`file`:return B.t(`sigil.catFile`);case`agent`:return B.t(`sigil.catAgent`);case`person`:return B.t(`sigil.catPerson`);case`hashtag`:return B.t(`sigil.catHashtag`);case`skill`:return B.t(`sigil.catSkill`);case`mcp`:return`MCP`;case`plugin`:return B.t(`sigil.catPlugin`);case`model`:return B.t(`sigil.catModel`);default:return String(e)}}function yc(e){let t=_c.indexOf(e);return t<0?_c.length:t}const bc=new Set([`skill`,`mcp`,`plugin`]);function xc(e){return bc.has(e.kind)?`extension`:e.kind}function Sc(e){switch(e){case`hashtag`:return B.t(`sigil.catHashtag`);case`file`:return B.t(`sigil.catFile`);case`person`:return B.t(`sigil.catPerson`);case`agent`:return B.t(`sigil.catAgent`);case`skill`:return B.t(`sigil.catSkill`);case`mcp`:return`MCP`;case`plugin`:return B.t(`sigil.catPlugin`);case`model`:return B.t(`sigil.catModel`);case`resource`:return B.t(`sigil.catResource`);case`shortcut`:return B.t(`sigil.catShortcut`);default:return String(e)}}function Cc(e,t=64){return M(e.replace(/\s+/g,` `).trim(),t)}function wc({sigil:e,initialQuery:n,registry:r,active:i,rows:a,columns:o=60,viewerColumns:c=80,onSelect:l,onClose:u,onQueryChange:d,readFileContent:m,recentEntries:h,title:g}){let _=C(),b=G(i);U(()=>{b.current&&!i&&u({deleteSigil:!1}),b.current=i},[i,u]);let[x,S]=K(n),[w,T]=K(n.length),[E,ee]=na(`sigil`,0),[D,te]=K(null),[ne,k]=K(()=>r.search(x,e,50)),re=G(0),[ie,ae]=K(null),[oe,M]=K(!1),[se,ce]=K(!1),[N,le]=K(Ea()),[ue,P]=K(0),[F,de]=K(`filter`);U(()=>{if(N)return;let e=!0;return Ta().then(()=>{e&&le(Ea())}),()=>{e=!1}},[N]);let fe=G(!0);U(()=>()=>{fe.current=!1},[]),U(()=>{ae(null),M(!1),P(0)},[D]);let me=Nt(()=>{!D||D.kind!==`file`||!m||(ce(!0),m(D.label).then(e=>{fe.current&&(ae(e.content),M(e.truncated),ce(!1))}).catch(()=>{fe.current&&(ae(null),M(!1),ce(!1))}))},[D,m]),[he,ge]=K(!!r.searchAsync);U(()=>{let t=!0,n=r.searchAsync?r.searchAsync(x,e,50):Promise.resolve(r.search(x,e,50));return r.searchAsync&&ge(!0),n.then(e=>{t&&(k(e),ge(!1))}).catch(()=>{t&&(k([]),ge(!1))}),()=>{t=!1}},[r,x,e]);let _e=W(()=>x===``&&h&&h.length>0?h.slice(0,5):[],[x,h]),ve=W(()=>{let e=[...ne].sort((e,t)=>yc(xc(e))-yc(xc(t)));return _e.length>0?[..._e,...e]:e},[ne,_e]),Se=ve.length===0?0:Math.min(E,ve.length-1),Ce=W(()=>{let e=[],t=null,n=0;return ve.forEach((r,i)=>{let a=i<_e.length?`recent`:xc(r);a!==t&&(n>0&&e.push({type:`spacer`}),e.push({type:`header`,kind:a}),n++,t=a),e.push({type:`entry`,entry:r,index:i})}),e},[ve,_e]),we=D?.kind===`file`&&ie!==null,I=W(()=>!D||!ie?[]:gc(D.label,ie,c,N,oe),[D,ie,N,c,oe]),Te=I[Math.min(ue,Math.max(0,I.length-1))],Ee=Te?.lines??[],De=Nt(()=>{te(null),ae(null)},[]),ke=Nt((e,t)=>{S(e),T(t),ee(0),d?.(e)},[d]);s(`sigil-pane`,(e,t)=>{if(we)return;if(D){if(t.escape){te(null);return}if(t.return){l(D),te(null);return}if(e===`r`&&D.kind===`file`&&m&&!se){me();return}return}if(t.tab){de(e=>e===`filter`?`list`:`filter`);return}if(F===`filter`&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=dt(e);t&&ke(x.slice(0,w)+t+x.slice(w),w+t.length);return}if(t.leftArrow){let e=gt.fromText(x,o,w).left();ke(e.text,e.offset);return}if(t.rightArrow){let e=gt.fromText(x,o,w).right();ke(e.text,e.offset);return}if(pe(`list-nav-up`,e,t,`sigilPane`)){if(F===`list`&&Se===0){de(`filter`);return}ee(e=>Math.max(0,e-1));return}if(pe(`list-nav-down`,e,t,`sigilPane`)){if(F===`filter`){de(`list`),ee(0);return}ee(e=>ve.length===0?0:Math.min(ve.length-1,e+1));return}if(t.escape){if(x.length>0){ke(``,0);return}u({deleteSigil:!1});return}if(t.return){let e=ve[Se];if(!e)return;if(e.preview){te(e);return}l(e);return}if(F===`list`)return;if((t.backspace||t.delete)&&x.length===0){u({deleteSigil:!0});return}let n={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=be(gt.fromText(x,o,w),n);if(r){if(r.action===`clear_text`){ke(``,0);return}r.action===`submit`||r.action===`submit_force`||ke(r.cursor.text,r.cursor.offset)}},{isActive:i});let[Ae,je]=K(12),Me=G(!0);U(()=>{Me.current&&(Me.current=!1,je(Ue(Ce.length+8,a)-8))},[Ce.length,a]);let Ne=_t(Ce,Ce.findIndex(e=>e.type===`entry`&&e.index===Se),Ae,re.current);re.current=Ne.scrollTop;let Pe=Ne.rows;return we?q(oc,{lines:Ee,rows:a,columns:c,wrapMode:Te?.wrapMode??`truncate`,header:J(Y,{children:[q(X,{color:_.selection,children:D.label}),I.length>1&&Te?q(Ve,{leadingSpace:!0,children:Te.label}):null,J(O,{type:`secondary`,children:[` `,B.t(`diff.linesTotalLabel`,{count:Ee.length})]})]}),onDismiss:De,onKey:(e,t)=>e===`]`&&I.length>1?(P(e=>(e+1)%I.length),!0):!1,extraHints:I.length>1?[[`]`,B.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,active:i,contentKey:`${D.label}:${Te?.id??``}`}):J(Y,{flexDirection:`column`,...t,borderColor:_.panelBorder,backgroundColor:_.overlayBg,paddingX:A.tight,marginTop:A.tight,children:[q(y,{children:g??B.t(e===`@`?`sigil.titleMention`:`sigil.titleHashtag`)}),q(Y,{marginTop:A.tight}),se&&D&&J(Y,{flexDirection:`column`,children:[q(X,{color:_.selection,children:D.label}),J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`sigil.loadingFile`)]})]}),!se&&D&&!we&&J(Y,{flexDirection:`column`,children:[q(X,{color:_.selection,children:D.label}),q(O,{type:`secondary`,children:yt(R.hr,60)}),q(Y,{flexDirection:`column`,children:(D.preview||``).split(`
36
- `).map((e,t)=>q(X,{color:_.secondary,children:e},t))}),q(O,{type:`secondary`,children:yt(R.hr,60)}),D.kind===`file`&&m&&J(Y,{flexDirection:`row`,children:[q(X,{color:_.suggestion,children:`r `}),q(O,{type:`secondary`,dim:!0,children:B.t(`sigil.readFullFile`)})]}),J(Y,{flexDirection:`row`,children:[J(p,{children:[j.enter,` `]}),q(X,{children:B.t(`hint.confirm`)}),q(X,{children:` `}),J(p,{children:[j.esc,` `]}),q(X,{children:B.t(`hint.cancel`)})]})]}),!D&&J(Ft,{children:[q(Y,{marginBottom:A.tight,flexDirection:`row`,children:q(Oe,{value:x,offset:w,columns:o,mode:`dialog`,placeholder:B.t(`sigil.filterPlaceholder`),focused:i&&F===`filter`,physicalCursor:i&&F===`filter`})}),ve.length===0&&!he&&J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`sigil.noMatches`)]}),he&&J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`sigil.searching`)]}),q(Y,{height:1,children:q(f,{hasMore:Ne.hasMoreAbove,indent:` `})}),Pe.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(Y,{flexDirection:`column`,children:q(xe,{label:vc(e.kind)})},`h:${e.kind}`);let n=e.index===Se,r=e.index<_e.length;return J(Y,{flexDirection:`row`,children:[J(X,{color:n&&F===`list`?_.selection:_.inactive,bold:n&&F===`list`,dimColor:n&&F!==`list`,children:[n?ye():ze(),String(e.index+1).padStart(2),`. `,e.entry.label]}),r&&J(O,{type:`secondary`,dim:!0,children:[` [`,Sc(e.entry.kind),`]`]}),e.entry.description&&J(O,{type:`secondary`,dim:!0,children:[` — `,Cc(e.entry.description)]})]},`row:${e.index}`)}),Array.from({length:Ne.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),q(Y,{height:1,children:q(v,{hasMore:Ne.hasMoreBelow,indent:` `})}),q(Y,{marginTop:A.tight,children:J(O,{type:`secondary`,children:[j.up,j.down,` `,B.t(`hint.select`),` · `,j.enter,` `,B.t(`hint.confirm`),` · `,j.tab,` `,B.t(`hint.tabZone`),` · `,j.esc,` `,B.t(`hint.cancel`)]})})]})]})}function Tc(e){let t=e.length;for(;t>0;){let n=e.lastIndexOf(`
31
+ `),t=e.slice(0,30),n=e.length-t.length,r=[];if(r.push(Q(R.thinking,I.toolText)+Q(` `+V.t(`common.thoughtLines`,{n:e.length}),I.toolText)),r.push(...Ms(t.map(e=>Q(_n.italic(e),I.toolText)))),n>0&&r.push(...Ms([Q(V.t(`common.moreLinesLabel`,{n}),I.toolText)])),s){let{cleaned:e}=Ls(s);r.push(``,...Ms(d(e)))}return l.length>0&&r.push(``,...nc(l)),p.length>0?[...Qa(r),``,...p]:Qa(r)}let{cleaned:h}=Ls(s),g=[];return s&&g.push(...Ms(d(h))),l.length>0&&(g.length&&g.push(``),g.push(...nc(l))),p.length>0?[...Qa(g),``,...p]:Qa(g)}const ic=[`Aa`,`Ab`,`.*`],ac=[`input`,...ic],oc={input:``,Aa:`Aa`,Ab:`Ab|`,".*":`.*`};function sc({lines:e,rows:t,header:r,onDismiss:a,onKey:o,dismissOnEsc:s=!0,internalChromeRows:c=9,initialScroll:l=`bottom`,emptyMessage:u,active:d=!0,contentKey:p,columns:m=80,wrapMode:h=`pre-wrap`,extraHints:g,findActive:v,onFindModeChange:y,scrollStore:b}){let x=L(),S=la(),w=b??S,[T,E]=K(l===`bottom`?2**53-1:0),[D,O]=K(!1),k=v??D,ee=e=>{let t=typeof e==`function`?e(k):e;O(t),y?.(t)},[A,j]=K(``),re=G(null),N=Fe(V.t(`find.inputLabel`))+1,[ie,P]=K(0),[ae,oe]=K(!1),[se,ce]=K(!1),[le,ue]=K(!1),[de,fe]=K(`input`);$e({active:k&&de===`input`,containerRef:re,text:A,inline:{column:N+Fe(A),lineOffset:0},deleteKeyAt:0});let pe=Math.max(10,m-ne.contentInset),me=Ft(()=>h===`truncate`?e:je(e,pe),[e,pe,h]);W(()=>{if(w)return w.registerWheel(e=>{d&&E(n=>oa(n,e,me.length,t))})},[w,d,t,me.length]);let he=Ft(()=>({caseSensitive:ae,wholeWord:se,regex:le}),[ae,se,le]),ge=Ft(()=>{if(!k||!A)return{byPhys:new Map,count:0,flat:[]};let e=new Map,t=[];for(let n=0;n<me.length;n++){let r=ya(ks(me[n]),A,he);if(r.length>0){e.set(n,r);for(let e of r)t.push({physIdx:n,range:e})}}return{byPhys:e,count:t.length,flat:t}},[k,A,he,me]);W(()=>{P(0)},[A,he]);let _e=p??`${e.length}:${e[0]??``}:${e[e.length-1]??``}`,ve=G(_e);W(()=>{ve.current!==_e&&(E(l===`bottom`?2**53-1:0),ve.current=_e)},[_e,l]);let ye=c+(k?2:0),be=Math.max(3,n(me.length+ye,t)-ye),xe=ia(me.length,be,T),Se=Math.max(0,me.length-be),Ce=xe.offset,we=me.slice(xe.start,xe.end),F=i(`f`),Ee=Nt(e=>{fe(t=>ac[(ac.indexOf(t)+e+ac.length)%ac.length])},[]),De=Nt(e=>{switch(e){case`Aa`:oe(e=>!e);break;case`Ab`:ce(e=>!e);break;case`.*`:ue(e=>!e);break;default:break}},[]);yt(`file-content-viewer`,(e,t)=>{if(!d)return!1;if(t.escape)return k?A?(j(``),P(0),!0):(ee(!1),!0):(s&&a(),!0);if(t.ctrl&&e===`f`)return ee(e=>!e),k&&(j(``),P(0),oe(!1),ce(!1),ue(!1),fe(`input`)),!0;if(k){if(t.tab)return Ee(t.shift?-1:1),!0;let n=te(t);if(n!==0)return Ee(n),!0;if(t.upArrow||t.downArrow)return ge.count>0&&P(e=>t.upArrow?(e-1+ge.count)%ge.count:(e+1)%ge.count),!0;if(t.return)return de===`input`?ge.count>0&&P(e=>(e+1)%ge.count):De(de),!0;if(e===` `)return de===`input`?(j(e=>e+` `),!0):(De(de),!0);if(t.backspace||t.delete)return j(e=>e.slice(0,-1)),!0;if(e&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab){let t=Te(e);return t&&(de!==`input`&&fe(`input`),j(e=>e+t)),!0}return e&&e.length===1&&e>=` `&&!t.ctrl&&!t.meta?(de!==`input`&&fe(`input`),j(t=>t+e),!0):!0}if(!o?.(e,t))return t.upArrow?(E(e=>Math.max(0,e-1)),!0):t.downArrow?(E(e=>Math.min(Se,e+1)),!0):t.pageUp?(E(e=>Math.max(0,e-be)),!0):t.pageDown?(E(e=>Math.min(Se,e+be)),!0):e===`g`?(E(0),!0):e===`G`?(E(Se),!0):!1}),W(()=>{if(!k||ge.count===0)return;let e=ge.flat[ie];if(!e)return;let t=e.physIdx;t<Ce?E(t):t>=Ce+be&&E(t-be+1)},[ie,k]);let Oe=ge.flat[ie]??null,ke=e=>{let t=e===`Aa`&&ae||e===`Ab`&&se||e===`.*`&&le,n=de===e,r=oc[e];return n&&t?J(X,{inverse:!0,bold:!0,color:x.selection,children:[` `,r,` `]},e):n?J(X,{inverse:!0,children:[` `,r,` `]},e):t?J(X,{children:[` `,r,` `]},e):J(X,{dimColor:!0,children:[` `,r,` `]},e)};return J(M,{header:r,footer:k?q(f,{items:[...de===`input`?[[`${B.up}${B.down}`,`match`]]:[],[B.enter,de===`input`?`next`:`toggle`],[B.tab,`mode`],[B.esc,A?`clear`:`close`],[F,`find`]]}):q(f,{items:[...g??[],[`${B.up}${B.down}/g/G`,V.t(`hint.scroll`)],[B.esc,V.t(`hint.close`)],[F,V.t(`hint.find`)]]}),children:[q(X,{children:` `}),k&&J(It,{children:[J(Y,{ref:re,children:[J(X,{children:[V.t(`find.inputLabel`),` `]}),de===`input`?q(X,{inverse:!0,children:A?A+` `:` `}):q(X,{children:A?A+` `:` `}),ic.map(ke),ge.count>0?J(X,{children:[` `,V.t(`find.matchCount`,{current:ie+1,total:ge.count})]}):A?q(X,{dimColor:!0,children:` 0/0`}):null]}),q(X,{children:` `})]}),e.length===0?q(X,{color:x.inactive,dimColor:!0,children:u??V.t(`common.noContentAvailable`)}):J(Y,{flexDirection:`row`,children:[q(Y,{flexDirection:`column`,flexGrow:1,children:we.map((e,t)=>{let n=Ce+t,r=ge.byPhys.get(n),i=Oe?.physIdx===n?Oe.range:void 0,a=r?va(e,r,i):e;return q(X,{wrap:`truncate-end`,children:a===``?` `:a},`${Ce+t}`)})}),q(Y,{flexDirection:`column`,width:1,children:da(me.length,we.length,Ce).map((e,t)=>q(X,{color:x.panelBorder,children:e},t))})]}),q(X,{children:` `}),J(Y,{flexDirection:`row`,height:1,children:[q(_,{hasMore:xe.above>0,count:xe.above}),q(C,{hasMore:xe.below>0,count:xe.below})]})]})}function cc(e){let t=[];for(let n of e.extensions??[])t.push(`*.${n}`);for(let n of e.filenames??[])t.push(n);for(let n of e.glob??[])t.push(n);return t}function lc(e){let t=e.split(`/`).pop()??e;return ts().filter(n=>cc(n.matcher).some(n=>Xt(n,t)||Xt(n,e)))}const uc=5e4;function dc(e){let t=1,n=-1;for(;(n=e.indexOf(`
32
+ `,n+1))!==-1;)t++;return t}function fc(e,t){let n=-1,r=0;for(;r<2e3;){let t=e.indexOf(`
33
+ `,n+1);if(t===-1)break;n=t,r++}let i=n===-1?e:e.slice(0,n),a=t===`byte`?`[文件过大(超过 ${Jt/1024/1024}MB),仅显示前 ${r} 行]`:`[文件行数过多(超过 ${uc} 行),仅显示前 ${r} 行]`;return{id:`truncated`,label:`Truncated`,lines:[...i.split(`
34
+ `),``,a],wrapMode:`truncate`}}function pc(e,t,n,r){if(n.length>524288)return e;let i=lc(t);if(i.length===0)return e;let a=[];for(let e of i)try{let i=e.render(n,t,r);if(!i||!Array.isArray(i.lines))continue;a.push({id:e.id,label:e.label,lines:i.lines,wrapMode:i.wrapMode??`pre-wrap`})}catch{}return[...e,...a]}function mc(e){return(e.split(`/`).pop()??``).toLowerCase().endsWith(`.md`)}function hc(e,t,n){return{id:`plain`,label:`Plain`,lines:Qs(e,t,n),wrapMode:`truncate`}}function gc(e,t,n,r){let i=[];try{i.push({id:`rendered`,label:`Rendered`,lines:eo(e,n),wrapMode:`pre-wrap`})}catch{}let a=r?Oa(e,`markdown`):null;return i.push({id:`raw`,label:`Raw`,lines:(a??e).split(`
35
+ `),wrapMode:`truncate`}),i}function _c(e,t,n,r,i=!1){if(i||t.length>Jt)return pc([fc(t,`byte`)],e,t,n);if(dc(t)>uc)return pc([fc(t,`line`)],e,t,n);let a;if(mc(e)){let i=gc(t,e,n,r);a=i.length>0?i:[hc(t,e,r)]}else a=Zs(e)===``?[hc(t,e,r)]:[{id:`code`,label:`Code`,lines:Qs(t,e,r),wrapMode:`truncate`}];return pc(a,e,t,n)}const vc=[`recent`,`shortcut`,`resource`,`extension`,`agent`,`person`,`file`,`hashtag`,`model`];function yc(e){switch(e){case`recent`:return V.t(`sigil.catRecent`);case`shortcut`:return V.t(`sigil.catShortcut`);case`resource`:return V.t(`sigil.catResource`);case`extension`:return V.t(`sigil.catExtension`);case`file`:return V.t(`sigil.catFile`);case`agent`:return V.t(`sigil.catAgent`);case`person`:return V.t(`sigil.catPerson`);case`hashtag`:return V.t(`sigil.catHashtag`);case`skill`:return V.t(`sigil.catSkill`);case`mcp`:return`MCP`;case`plugin`:return V.t(`sigil.catPlugin`);case`model`:return V.t(`sigil.catModel`);default:return String(e)}}function bc(e){let t=vc.indexOf(e);return t<0?vc.length:t}const xc=new Set([`skill`,`mcp`,`plugin`]);function Sc(e){return xc.has(e.kind)?`extension`:e.kind}function Cc(e){switch(e){case`hashtag`:return V.t(`sigil.catHashtag`);case`file`:return V.t(`sigil.catFile`);case`person`:return V.t(`sigil.catPerson`);case`agent`:return V.t(`sigil.catAgent`);case`skill`:return V.t(`sigil.catSkill`);case`mcp`:return`MCP`;case`plugin`:return V.t(`sigil.catPlugin`);case`model`:return V.t(`sigil.catModel`);case`resource`:return V.t(`sigil.catResource`);case`shortcut`:return V.t(`sigil.catShortcut`);default:return String(e)}}function wc(e,t=64){return l(e.replace(/\s+/g,` `).trim(),t)}function Tc({sigil:e,initialQuery:r,registry:i,active:a,rows:o,columns:s=60,viewerColumns:c=80,onSelect:l,onClose:u,onQueryChange:f,readFileContent:p,recentEntries:m,title:h}){let g=L(),y=G(a);W(()=>{y.current&&!a&&u({deleteSigil:!1}),y.current=a},[a,u]);let[b,x]=K(r),[S,E]=K(r.length),[D,O]=ra(`sigil`,0),[k,ee]=K(null),[te,A]=K(()=>i.search(b,e,50)),ne=G(0),[j,M]=K(null),[re,ie]=K(!1),[P,ae]=K(!1),[oe,se]=K(Da()),[ce,le]=K(0),[de,fe]=K(`filter`);W(()=>{if(oe)return;let e=!0;return Ea().then(()=>{e&&se(Da())}),()=>{e=!1}},[oe]);let pe=G(!0);W(()=>()=>{pe.current=!1},[]),W(()=>{M(null),ie(!1),le(0)},[k]);let me=Nt(()=>{!k||k.kind!==`file`||!p||(ae(!0),p(k.label).then(e=>{pe.current&&(M(e.content),ie(e.truncated),ae(!1))}).catch(()=>{pe.current&&(M(null),ie(!1),ae(!1))}))},[k,p]),[he,ge]=K(!!i.searchAsync);W(()=>{let t=!0,n=i.searchAsync?i.searchAsync(b,e,50):Promise.resolve(i.search(b,e,50));return i.searchAsync&&ge(!0),n.then(e=>{t&&(A(e),ge(!1))}).catch(()=>{t&&(A([]),ge(!1))}),()=>{t=!1}},[i,b,e]);let _e=Ft(()=>b===``&&m&&m.length>0?m.slice(0,5):[],[b,m]),ve=Ft(()=>{let e=[...te].sort((e,t)=>bc(Sc(e))-bc(Sc(t)));return _e.length>0?[..._e,...e]:e},[te,_e]),ye=ve.length===0?0:Math.min(D,ve.length-1),xe=Ft(()=>{let e=[],t=null,n=0;return ve.forEach((r,i)=>{let a=i<_e.length?`recent`:Sc(r);a!==t&&(n>0&&e.push({type:`spacer`}),e.push({type:`header`,kind:a}),n++,t=a),e.push({type:`entry`,entry:r,index:i})}),e},[ve,_e]),Se=k?.kind===`file`&&j!==null,Ce=Ft(()=>!k||!j?[]:_c(k.label,j,c,oe,re),[k,j,oe,c,re]),we=Ce[Math.min(ce,Math.max(0,Ce.length-1))],F=we?.lines??[],Ee=Nt(()=>{ee(null),M(null)},[]),ke=Nt((e,t)=>{x(e),E(t),O(0),f?.(e)},[f]);yt(`sigil-pane`,(e,t)=>{if(Se)return;if(k){if(t.escape){ee(null);return}if(t.return){l(k),ee(null);return}if(e===`r`&&k.kind===`file`&&p&&!P){me();return}return}if(t.tab){fe(e=>e===`filter`?`list`:`filter`);return}if(de===`filter`&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=Te(e);t&&ke(b.slice(0,S)+t+b.slice(S),S+t.length);return}if(t.leftArrow){let e=De.fromText(b,s,S).left();ke(e.text,e.offset);return}if(t.rightArrow){let e=De.fromText(b,s,S).right();ke(e.text,e.offset);return}if(ue(`list-nav-up`,e,t,`sigilPane`)){if(de===`list`&&ye===0){fe(`filter`);return}O(e=>Math.max(0,e-1));return}if(ue(`list-nav-down`,e,t,`sigilPane`)){if(de===`filter`){fe(`list`),O(0);return}O(e=>ve.length===0?0:Math.min(ve.length-1,e+1));return}if(t.escape){if(b.length>0){ke(``,0);return}u({deleteSigil:!1});return}if(t.return){let e=ve[ye];if(!e)return;if(e.preview){ee(e);return}l(e);return}if(de===`list`)return;if((t.backspace||t.delete)&&b.length===0){u({deleteSigil:!0});return}let n={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=nt(De.fromText(b,s,S),n);if(r){if(r.action===`clear_text`){ke(``,0);return}r.action===`submit`||r.action===`submit_force`||ke(r.cursor.text,r.cursor.offset)}},{isActive:a});let[Ae,je]=K(12),Me=G(!0);W(()=>{Me.current&&(Me.current=!1,je(n(xe.length+8,o)-8))},[xe.length,o]);let Ne=xt(xe,xe.findIndex(e=>e.type===`entry`&&e.index===ye),Ae,ne.current);ne.current=Ne.scrollTop;let Pe=Ne.rows;return Se?q(sc,{lines:F,rows:o,columns:c,wrapMode:we?.wrapMode??`truncate`,header:J(Y,{children:[q(X,{color:g.selection,children:k.label}),Ce.length>1&&we?q(T,{leadingSpace:!0,children:we.label}):null,J(d,{type:`secondary`,children:[` `,V.t(`diff.linesTotalLabel`,{count:F.length})]})]}),onDismiss:Ee,onKey:(e,t)=>e===`]`&&Ce.length>1?(le(e=>(e+1)%Ce.length),!0):!1,extraHints:Ce.length>1?[[`]`,V.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,active:a,contentKey:`${k.label}:${we?.id??``}`}):J(Y,{flexDirection:`column`,...Oe,borderColor:g.panelBorder,backgroundColor:g.overlayBg,paddingX:t.tight,marginTop:t.tight,children:[q(w,{children:h??V.t(e===`@`?`sigil.titleMention`:`sigil.titleHashtag`)}),q(Y,{marginTop:t.tight}),P&&k&&J(Y,{flexDirection:`column`,children:[q(X,{color:g.selection,children:k.label}),J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.loadingFile`)]})]}),!P&&k&&!Se&&J(Y,{flexDirection:`column`,children:[q(X,{color:g.selection,children:k.label}),q(d,{type:`secondary`,children:N(R.hr,60)}),q(Y,{flexDirection:`column`,children:(k.preview||``).split(`
36
+ `).map((e,t)=>q(X,{color:g.secondary,children:e},t))}),q(d,{type:`secondary`,children:N(R.hr,60)}),k.kind===`file`&&p&&J(Y,{flexDirection:`row`,children:[q(X,{color:g.suggestion,children:`r `}),q(d,{type:`secondary`,dim:!0,children:V.t(`sigil.readFullFile`)})]}),J(Y,{flexDirection:`row`,children:[J(v,{children:[B.enter,` `]}),q(X,{children:V.t(`hint.confirm`)}),q(X,{children:` `}),J(v,{children:[B.esc,` `]}),q(X,{children:V.t(`hint.cancel`)})]})]}),!k&&J(It,{children:[q(Y,{marginBottom:t.tight,flexDirection:`row`,children:q(mt,{value:b,offset:S,columns:s,mode:`dialog`,placeholder:V.t(`sigil.filterPlaceholder`),focused:a&&de===`filter`,physicalCursor:a&&de===`filter`})}),ve.length===0&&!he&&J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.noMatches`)]}),he&&J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.searching`)]}),q(Y,{height:1,children:q(_,{hasMore:Ne.hasMoreAbove,indent:` `})}),Pe.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(Y,{flexDirection:`column`,children:q(bt,{label:yc(e.kind)})},`h:${e.kind}`);let n=e.index===ye,r=e.index<_e.length;return J(Y,{flexDirection:`row`,children:[J(X,{color:n&&de===`list`?g.selection:g.inactive,bold:n&&de===`list`,dimColor:n&&de!==`list`,children:[n?tt():be(),String(e.index+1).padStart(2),`. `,e.entry.label]}),r&&J(d,{type:`secondary`,dim:!0,children:[` [`,Cc(e.entry.kind),`]`]}),e.entry.description&&J(d,{type:`secondary`,dim:!0,children:[` — `,wc(e.entry.description)]})]},`row:${e.index}`)}),Array.from({length:Ne.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),q(Y,{height:1,children:q(C,{hasMore:Ne.hasMoreBelow,indent:` `})}),q(Y,{marginTop:t.tight,children:J(d,{type:`secondary`,children:[B.up,B.down,` `,V.t(`hint.select`),` · `,B.enter,` `,V.t(`hint.confirm`),` · `,B.tab,` `,V.t(`hint.tabZone`),` · `,B.esc,` `,V.t(`hint.cancel`)]})})]})]})}function Ec(e){let t=e.length;for(;t>0;){let n=e.lastIndexOf(`
37
37
 
38
- `,t);if(n<0)return 0;let r=n+2;if((e.slice(0,r).match(/```/g)??[]).length%2==0)return r;t=n-1}return 0}function Ec(){return{prev:``,committedLen:0,led:!1}}function Dc(e,t){let{prev:n,committedLen:r,led:i}=e,a=[],o=e=>{let t=e.replace(/\s+$/,``);t.trim()&&(a.push({text:t,lead:!i}),i=!0)},s=()=>{n.length>r&&o(n.slice(r)),n=``,r=0,i=!1};if(t===``)return s(),{chunks:a,tail:``,state:{prev:n,committedLen:r,led:i}};let c=n.slice(0,r);t.startsWith(c)||s(),n=t;let l=Tc(t);return l>r&&(o(t.slice(r,l)),r=l),{chunks:a,tail:t.slice(r),state:{prev:n,committedLen:r,led:i}}}function Oc(e){return e>0?Math.max(1,Math.ceil(1e3/e)):1}const kc=Oc(30);function Ac(e,t=kc){let n=null,r=null,i=0,a=()=>{if(r===null)return;let t=r;r=null,i=Date.now(),e(t)};return{push(o,s){if(s){n&&=(clearTimeout(n),null),a(),i=Date.now(),e(o);return}r=o;let c=Date.now()-i;c>=t?(n&&=(clearTimeout(n),null),a()):n||=setTimeout(()=>{n=null,a()},t-c)},cancel(){n&&=(clearTimeout(n),null),r=null}}}function jc(e){let{listener:t,intervalMs:n}=e,r=null,i=!1,a={coalescedCalls:0,coalescedFires:0,immediateCalls:0,flushFires:0},o=()=>{i=!1,a.coalescedFires++,t()};return{coalesced(){a.coalescedCalls++,!i&&(i=!0,r=setTimeout(()=>{r=null,o()},n))},immediate(){a.immediateCalls++,r&&=(clearTimeout(r),null),i=!1,t()},flush(){i&&(r&&=(clearTimeout(r),null),a.flushFires++,o())},cancel(){r&&=(clearTimeout(r),null),i=!1},getStats(){return{...a}}}}function Mc(){let e=`idle`,t=0,n=new Set,r=()=>{for(let e of n)e()};return{reserve(){return e===`idle`?(e=`dispatching`,r(),!0):!1},tryStart(){return e===`dispatching`?(e=`running`,t++,r(),t):-1},end(n,i){n===t&&(e=`idle`,i?.(),r())},cancelReservation(){e===`dispatching`&&(e=`idle`,r())},forceEnd(){e!==`idle`&&(e=`idle`,r())},get state(){return e},get generation(){return t},get isRunning(){return e===`running`},subscribe(e){return n.add(e),()=>{n.delete(e)}},reset(){e=`idle`,t=0,n.clear()}}}function Nc(e){let t=e.tool_calls;return Array.isArray(t)&&t.length>0}function Pc(e,t=3){let n=[],r=0;for(;r<e.length;){let i=e[r];if(Nc(i)){let a=[i],o=r+1;for(;o<e.length&&Nc(e[o]);)a.push(e[o]),o++;if(a.length>=t){let e=a.flatMap(e=>(e.tool_calls??[]).map(e=>e.function?.name).filter(Boolean));n.push({type:`collapsed`,messages:a,summary:B.t(`tool.chainSummary`,{count:a.length,names:e.join(`, `)}),collapsed:!0}),r=o;continue}}n.push(i),r++}return n}function Fc(e){return{...e,collapsed:!e.collapsed}}function Ic(e){return e.flatMap(e=>e.type===`collapsed`?e.messages:[e])}function Lc({message:e,columns:t=80}){let n=nc(e,t);return n.length===0?q(Ft,{}):q(Y,{marginTop:A.tight,flexDirection:`column`,children:q(X,{children:n.join(`
39
- `)})})}const Rc=V.memo(Lc),zc=new Set([`tool`,`tool_result`,`compact_boundary`,`prune_boundary`,`history_capped`,`write_lease_denied`,`write_lease_restored`,`run_paused`,`run_resumed`,`run_pause_cancelled`,`model_switch`,`effort_switch`,`model_fallback`,`command_echo`]);function Bc(e,t){return t?!1:!zc.has(e)}function Vc(e,t){let n=``,r=t;for(let{role:t,lines:i}of e){if(i.length===0)continue;let e=!r;r=!0,n+=(Bc(t,e)?`
38
+ `,t);if(n<0)return 0;let r=n+2;if((e.slice(0,r).match(/```/g)??[]).length%2==0)return r;t=n-1}return 0}function Dc(){return{prev:``,committedLen:0,led:!1}}function Oc(e,t){let{prev:n,committedLen:r,led:i}=e,a=[],o=e=>{let t=e.replace(/\s+$/,``);t.trim()&&(a.push({text:t,lead:!i}),i=!0)},s=()=>{n.length>r&&o(n.slice(r)),n=``,r=0,i=!1};if(t===``)return s(),{chunks:a,tail:``,state:{prev:n,committedLen:r,led:i}};let c=n.slice(0,r);t.startsWith(c)||s(),n=t;let l=Ec(t);return l>r&&(o(t.slice(r,l)),r=l),{chunks:a,tail:t.slice(r),state:{prev:n,committedLen:r,led:i}}}function kc(e){return e>0?Math.max(1,Math.ceil(1e3/e)):1}const Ac=kc(30);function jc(e,t=Ac){let n=null,r=null,i=0,a=()=>{if(r===null)return;let t=r;r=null,i=Date.now(),e(t)};return{push(o,s){if(s){n&&=(clearTimeout(n),null),a(),i=Date.now(),e(o);return}r=o;let c=Date.now()-i;c>=t?(n&&=(clearTimeout(n),null),a()):n||=setTimeout(()=>{n=null,a()},t-c)},cancel(){n&&=(clearTimeout(n),null),r=null}}}function Mc(e){let{listener:t,intervalMs:n}=e,r=null,i=!1,a={coalescedCalls:0,coalescedFires:0,immediateCalls:0,flushFires:0},o=()=>{i=!1,a.coalescedFires++,t()};return{coalesced(){a.coalescedCalls++,!i&&(i=!0,r=setTimeout(()=>{r=null,o()},n))},immediate(){a.immediateCalls++,r&&=(clearTimeout(r),null),i=!1,t()},flush(){i&&(r&&=(clearTimeout(r),null),a.flushFires++,o())},cancel(){r&&=(clearTimeout(r),null),i=!1},getStats(){return{...a}}}}function Nc(){let e=`idle`,t=0,n=new Set,r=()=>{for(let e of n)e()};return{reserve(){return e===`idle`?(e=`dispatching`,r(),!0):!1},tryStart(){return e===`dispatching`?(e=`running`,t++,r(),t):-1},end(n,i){n===t&&(e=`idle`,i?.(),r())},cancelReservation(){e===`dispatching`&&(e=`idle`,r())},forceEnd(){e!==`idle`&&(e=`idle`,r())},get state(){return e},get generation(){return t},get isRunning(){return e===`running`},subscribe(e){return n.add(e),()=>{n.delete(e)}},reset(){e=`idle`,t=0,n.clear()}}}function Pc(e){let t=e.tool_calls;return Array.isArray(t)&&t.length>0}function Fc(e,t=3){let n=[],r=0;for(;r<e.length;){let i=e[r];if(Pc(i)){let a=[i],o=r+1;for(;o<e.length&&Pc(e[o]);)a.push(e[o]),o++;if(a.length>=t){let e=a.flatMap(e=>(e.tool_calls??[]).map(e=>e.function?.name).filter(Boolean));n.push({type:`collapsed`,messages:a,summary:V.t(`tool.chainSummary`,{count:a.length,names:e.join(`, `)}),collapsed:!0}),r=o;continue}}n.push(i),r++}return n}function Ic(e){return{...e,collapsed:!e.collapsed}}function Lc(e){return e.flatMap(e=>e.type===`collapsed`?e.messages:[e])}function Rc({message:e,columns:n=80}){let r=rc(e,n);return r.length===0?q(It,{}):q(Y,{marginTop:t.tight,flexDirection:`column`,children:q(X,{children:r.join(`
39
+ `)})})}const zc=H.memo(Rc),Bc=new Set([`tool`,`tool_result`,`compact_boundary`,`prune_boundary`,`history_capped`,`write_lease_denied`,`write_lease_restored`,`run_paused`,`run_resumed`,`run_pause_cancelled`,`model_switch`,`effort_switch`,`model_fallback`,`command_echo`]);function Vc(e,t){return t?!1:!Bc.has(e)}function Hc(e,t){let n=``,r=t;for(let{role:t,lines:i}of e){if(i.length===0)continue;let e=!r;r=!0,n+=(Vc(t,e)?`
40
40
  `:``)+i.join(`
41
41
  `)+`
42
- `}return{text:n,hasHistory:r}}const Hc=ia();function Uc(e){return`… ${e} 行更早历史(回看加载)`}const Wc=V.memo(function({content:e}){return q(X,{wrap:`truncate-end`,children:e===``?` `:e})}),Gc=new WeakMap;function Kc(e,t){let n=e,r=B.language??``;if(typeof n==`object`&&n){let i=Gc.get(n);if(i&&i.columns===t&&i.lang===r)return i.lines;let a=nc(e,t);return Gc.set(n,{columns:t,lang:r,lines:a}),a}return nc(e,t)}function qc(e,t,n=2e4,r=!1){let i=Math.max(1,t),a=[],o=r;for(let t of e){let e=Kc(t,i);e.length!==0&&(Bc(String(t.role??`unknown`),!o)&&a.push(``),a.push(...e),o=!0)}if(a.length<=n)return{lines:a,folded:0};let s=a.length-n,c=a.slice(s);return c[0]=Uc(s),{lines:c,folded:s}}function Jc({messages:e,columns:t,rows:n,scroll:r=0,scrollStore:i,frozenNewCount:a=0,earlierLoading:o=!1,earlierEnded:s=!1,onNeedEarlier:c,onPrepend:l,findQuery:u,findActiveMatch:d,onFindNavigateTo:f,onFindCountChange:p,onReviewHintChange:m,renderReviewHint:h=!0,maxLines:g}){let _=V.useRef(null),v=V.useRef(0),y=V.useMemo(()=>{let n=_.current,r=g??2e4;if(n&&n.columns===t&&e.length>=n.len&&(n.len===0||e[n.len-1]===n.lastMsg)){let i=qc(e.slice(n.len),t,1/0,n.lines.length>0),a=[...n.lines,...i.lines],o=a.length>r?a.length-r:0;if(o>0){let r=a.slice(o),i=n.folded+o-1;return r[0]=Uc(i),_.current={len:e.length,columns:t,lines:r,lastMsg:e[e.length-1],firstMsg:e[0],folded:i},{lines:r,folded:i}}return _.current={len:e.length,columns:t,lines:a,lastMsg:e[e.length-1],firstMsg:e[0],folded:n.folded},{lines:a,folded:n.folded}}let i=qc(e,t,1/0),a=0,o=i.lines;return i.lines.length>r&&(a=i.lines.length-r,o=[Uc(a),...i.lines.slice(a)]),n!==null&&n.firstMsg!==void 0&&e[0]!==n.firstMsg&&e.length>n.len&&(v.current=Math.max(0,i.lines.length-n.lines.length)),_.current={len:e.length,columns:t,lines:o,lastMsg:e[e.length-1],firstMsg:e[0],folded:a},{lines:o,folded:a}},[e,t,g,l]),b=Z((i??Hc).store,e=>e.offset),x=i?b:r,S=Math.max(1,Math.floor(n)-((u?1:0)+(x>0?1:0)+(h?1:0))),C=Po(y.lines.length,S,x),w=y.lines.slice(C.start,C.end);y.folded>0&&C.start===0&&w.length>0&&(s?w=w.slice(1):o&&(w=[B.t(`transcript.loadingEarlier`),...w.slice(1)]));let T=C.above===0&&x>0;V.useEffect(()=>{T&&!o&&!s&&c&&c()},[T,o,s,c]),V.useEffect(()=>{i?.setTotalLines(y.lines.length)},[y.lines.length,i]);let E=s&&C.above===0&&x>0,ee=C.above>0&&x>0;V.useEffect(()=>{if(v.current>0&&l){let e=v.current;v.current=0,l(e)}},[y,l]);let D=V.useMemo(()=>{if(!u)return{byLine:new Map,flat:[]};let e=new Map,t=[];for(let n=0;n<y.lines.length;n++){let r=va(Os(y.lines[n]),u);if(r.length>0){e.set(n,r);for(let e of r)t.push({line:n,range:e})}}return{byLine:e,flat:t}},[u,y]);V.useEffect(()=>{p?.(D.flat.length)},[D,p]),V.useEffect(()=>{if(!f||d==null||d<0)return;let e=D.flat[d];if(!e)return;let t=Math.max(1,Math.floor(n)),r=Math.max(0,y.lines.length-t);f(Math.min(r,Math.max(0,y.lines.length-e.line-Math.floor(t/2))))},[d,D]);let te=y.folded>0&&C.start===0&&w.length>0&&(s||o),ne=w.map((e,t)=>{let n=te&&s?C.start+t+1:C.start+t;if(te&&o&&t===0)return e;let r=D.byLine.get(n);if(!r||r.length===0)return e;let i;if(d!=null&&d>=0){let e=D.flat[d];e&&e.line===n&&(i=e.range)}return _a(e,r,i)}),O=x>0||C.above>0||a>0,k=a>0?C.below>0?`⏸ ${a} ${B.t(`transcript.frozenNew`)} · ↓ ${C.below} ${B.t(`transcript.escToLive`)}`:`⏸ ${a} ${B.t(`transcript.frozenNew`)} · ${B.t(`transcript.escToLive`)}`:C.below>0?`↓ ${C.below} · ${B.t(`transcript.escToLive`)}`:null;return V.useEffect(()=>{m?.(O&&k?k:null)},[O,k,m]),J(Y,{flexDirection:`column`,children:[u&&q(X,{bold:!0,children:B.t(`transcript.findBar`,{query:u,count:D.flat.length})}),ee&&q(X,{dimColor:!0,children:`↑ ${C.above}`}),E&&q(X,{dimColor:!0,children:B.t(`transcript.emptyEarlier`)}),ne.map((e,t)=>q(Wc,{content:e},C.start+t)),h&&O&&k&&q(X,{dimColor:!0,children:k})]})}function Yc(e,t){let n=Math.max(1,t);if($e(e)<=n)return e;let r=n-$e(R.ellipsis),i=``,a=0;for(;a<e.length&&r>0;){if(e.charCodeAt(a)===27&&a+1<e.length&&e[a+1]===`[`){let t=a+2;for(;t<e.length&&e.charCodeAt(t)>=32&&e.charCodeAt(t)<=63;)t++;for(;t<e.length&&e.charCodeAt(t)>=32&&e.charCodeAt(t)<=47;)t++;t<e.length&&e.charCodeAt(t)>=64&&e.charCodeAt(t)<=126&&t++,i+=e.slice(a,t),a=t;continue}if(e.charCodeAt(a)===27&&a+1<e.length&&e[a+1]===`]`){let t=a+2;for(;t<e.length&&e[t]!==`\x07`&&!(e[t]===`\x1B`&&e[t+1]===`\\`);)t++;t<e.length&&e[t]===`\x07`?t++:t+1<e.length&&e[t]===`\x1B`&&e[t+1]===`\\`&&(t+=2),i+=e.slice(a,t),a=t;continue}let t=e[a],n=$e(t);if(n>r)break;i+=t,r-=n,a++}return i+R.ellipsis}function Xc(e){let t=e.split(`
42
+ `}return{text:n,hasHistory:r}}const Uc=aa();function Wc(e){return`… ${e} 行更早历史(回看加载)`}const Gc=H.memo(function({content:e}){return q(X,{wrap:`truncate-end`,children:e===``?` `:e})}),Kc=new WeakMap;function qc(e,t){let n=e,r=V.language??``;if(typeof n==`object`&&n){let i=Kc.get(n);if(i&&i.columns===t&&i.lang===r)return i.lines;let a=rc(e,t);return Kc.set(n,{columns:t,lang:r,lines:a}),a}return rc(e,t)}function Jc(e,t,n=2e4,r=!1){let i=Math.max(1,t),a=[],o=r;for(let t of e){let e=qc(t,i);e.length!==0&&(Vc(String(t.role??`unknown`),!o)&&a.push(``),a.push(...e),o=!0)}if(a.length<=n)return{lines:a,folded:0};let s=a.length-n,c=a.slice(s);return c[0]=Wc(s),{lines:c,folded:s}}function Yc({messages:e,columns:t,rows:n,scroll:r=0,scrollStore:i,frozenNewCount:a=0,earlierLoading:o=!1,earlierEnded:s=!1,onNeedEarlier:c,onPrepend:l,findQuery:u,findActiveMatch:d,onFindNavigateTo:f,onFindCountChange:p,onReviewHintChange:m,renderReviewHint:h=!0,maxLines:g}){let _=H.useRef(null),v=H.useRef(0),y=H.useMemo(()=>{let n=_.current,r=g??2e4;if(n&&n.columns===t&&e.length>=n.len&&(n.len===0||e[n.len-1]===n.lastMsg)){let i=Jc(e.slice(n.len),t,1/0,n.lines.length>0),a=[...n.lines,...i.lines],o=a.length>r?a.length-r:0;if(o>0){let r=a.slice(o),i=n.folded+o-1;return r[0]=Wc(i),_.current={len:e.length,columns:t,lines:r,lastMsg:e[e.length-1],firstMsg:e[0],folded:i},{lines:r,folded:i}}return _.current={len:e.length,columns:t,lines:a,lastMsg:e[e.length-1],firstMsg:e[0],folded:n.folded},{lines:a,folded:n.folded}}let i=Jc(e,t,1/0),a=0,o=i.lines;return i.lines.length>r&&(a=i.lines.length-r,o=[Wc(a),...i.lines.slice(a)]),n!==null&&n.firstMsg!==void 0&&e[0]!==n.firstMsg&&e.length>n.len&&(v.current=Math.max(0,i.lines.length-n.lines.length)),_.current={len:e.length,columns:t,lines:o,lastMsg:e[e.length-1],firstMsg:e[0],folded:a},{lines:o,folded:a}},[e,t,g,l]),b=Z((i??Uc).store,e=>e.offset),x=i?b:r,S=Math.max(1,Math.floor(n)-((u?1:0)+(x>0?1:0)+(h?1:0))),C=Fo(y.lines.length,S,x),w=y.lines.slice(C.start,C.end);y.folded>0&&C.start===0&&w.length>0&&(s?w=w.slice(1):o&&(w=[V.t(`transcript.loadingEarlier`),...w.slice(1)]));let T=C.above===0&&x>0;H.useEffect(()=>{T&&!o&&!s&&c&&c()},[T,o,s,c]),H.useEffect(()=>{i?.setTotalLines(y.lines.length)},[y.lines.length,i]),H.useEffect(()=>{i?.setAtTranscriptTop(C.start===0)},[C.start,i]);let E=s&&C.above===0&&x>0,D=C.above>0&&x>0;H.useEffect(()=>{if(v.current>0&&l){let e=v.current;v.current=0,l(e)}},[y,l]);let O=H.useMemo(()=>{if(!u)return{byLine:new Map,flat:[]};let e=new Map,t=[];for(let n=0;n<y.lines.length;n++){let r=ya(ks(y.lines[n]),u);if(r.length>0){e.set(n,r);for(let e of r)t.push({line:n,range:e})}}return{byLine:e,flat:t}},[u,y]);H.useEffect(()=>{p?.(O.flat.length)},[O,p]),H.useEffect(()=>{if(!f||d==null||d<0)return;let e=O.flat[d];if(!e)return;let t=Math.max(1,Math.floor(n)),r=Math.max(0,y.lines.length-t);f(Math.min(r,Math.max(0,y.lines.length-e.line-Math.floor(t/2))))},[d,O]);let k=y.folded>0&&C.start===0&&w.length>0&&(s||o),ee=w.map((e,t)=>{let n=k&&s?C.start+t+1:C.start+t;if(k&&o&&t===0)return e;let r=O.byLine.get(n);if(!r||r.length===0)return e;let i;if(d!=null&&d>=0){let e=O.flat[d];e&&e.line===n&&(i=e.range)}return va(e,r,i)}),te=x>0||C.above>0||a>0,A=a>0?C.below>0?`⏸ ${a} ${V.t(`transcript.frozenNew`)} · ↓ ${C.below} ${V.t(`transcript.escToLive`)}`:`⏸ ${a} ${V.t(`transcript.frozenNew`)} · ${V.t(`transcript.escToLive`)}`:C.below>0?`↓ ${C.below} · ${V.t(`transcript.escToLive`)}`:null;return H.useEffect(()=>{m?.(te&&A?A:null)},[te,A,m]),J(Y,{flexDirection:`column`,children:[u&&q(X,{bold:!0,children:V.t(`transcript.findBar`,{query:u,count:O.flat.length})}),D&&q(X,{dimColor:!0,children:`↑ ${C.above}`}),E&&q(X,{dimColor:!0,children:V.t(`transcript.emptyEarlier`)}),ee.map((e,t)=>q(Gc,{content:e},C.start+t)),h&&te&&A&&q(X,{dimColor:!0,children:A})]})}function Xc(e,t){let n=Math.max(1,t);if(ut(e)<=n)return e;let r=n-ut(R.ellipsis),i=``,a=0;for(;a<e.length&&r>0;){if(e.charCodeAt(a)===27&&a+1<e.length&&e[a+1]===`[`){let t=a+2;for(;t<e.length&&e.charCodeAt(t)>=32&&e.charCodeAt(t)<=63;)t++;for(;t<e.length&&e.charCodeAt(t)>=32&&e.charCodeAt(t)<=47;)t++;t<e.length&&e.charCodeAt(t)>=64&&e.charCodeAt(t)<=126&&t++,i+=e.slice(a,t),a=t;continue}if(e.charCodeAt(a)===27&&a+1<e.length&&e[a+1]===`]`){let t=a+2;for(;t<e.length&&e[t]!==`\x07`&&!(e[t]===`\x1B`&&e[t+1]===`\\`);)t++;t<e.length&&e[t]===`\x07`?t++:t+1<e.length&&e[t]===`\x1B`&&e[t+1]===`\\`&&(t+=2),i+=e.slice(a,t),a=t;continue}let t=e[a],n=ut(t);if(n>r)break;i+=t,r-=n,a++}return i+R.ellipsis}function Zc(e){let t=e.split(`
43
43
  `);if(t.length<=120)return e;let n=t.length-120,r=(t.slice(0,n).join(`
44
44
  `).match(/```/g)??[]).length,i=t.slice(n).join(`
45
- `);return r%2==1?"```\n"+i:i}function Zc(e,t,n){if(!e)return[];let r=e.split(`
46
- `),i=r.length;for(;i>0&&r[i-1].trim()===``;)i--;if(i===0)return[];let a=Math.max(0,i-Math.max(1,n));return r.slice(a,i).map(e=>Yc(e,t))}function Qc(e,t,n=1){let r=[],i=``,a=null;for(let o=0;o<e.length;o++){let s=Math.abs(o-t)<=n;a===null||s===a?(i+=e[o],a=s):(r.push({text:i,bright:a}),i=e[o],a=s)}return i&&r.push({text:i,bright:a??!1}),r}function $c(e,t){return e%Math.max(1,t+4)}function el(e,t){if(!(t>0))return L.inactive;let n=e/t;return n>=.9?L.error:n>=.8?L.warning:L.inactive}function tl(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`}function nl({tokens:e=0,toolTurnCount:t=0,maxToolTurns:n=0,promptOutputTokens:r=0,promptOutputTokenBudget:i=0}){let a=C(),[o,s]=K(0),[c,l]=K(0),u=G(Date.now()),d=G(-1),f=Me();Fe(160,e=>s(e%st.length)),U(()=>{let e=setInterval(()=>{let e=Date.now()-u.current,t=Math.floor(e/1e3);t!==d.current&&(d.current=t,l(e))},1e3);return()=>clearInterval(e)},[]);let p=[{text:yo(Math.floor(c/1e3))}];e>0&&p.push({text:`↓ ${B.t(`budget.tokensLabel`,{count:e})}`}),n>0&&p.push({text:B.t(`tool.budgetLabel`,{used:t,max:n}),color:el(t,n)}),i>0&&p.push({text:B.t(`budget.tokenBudgetLabel`,{used:tl(r),budget:tl(i)})});let m=B.t(`inspText.thinkingLabel`),h=f?null:Qc(m,$c(o,m.length));return J(Y,{flexDirection:`row`,children:[q(X,{color:a.secondary,children:st[o]}),q(X,{children:` `}),h?h.map((e,t)=>q(X,{italic:!0,color:e.bright?a.secondary:a.inactive,children:e.text},t)):q(X,{italic:!0,color:a.secondary,children:m}),q(X,{color:a.inactive,children:` (`}),p.map((e,t)=>J(V.Fragment,{children:[t>0&&q(X,{color:a.inactive,children:` · `}),q(X,{color:e.color??a.inactive,children:e.text})]},t)),q(X,{color:a.inactive,children:`)`})]})}function rl(e){return[{color:e.accentBright,ch:R.breatheBright},{color:e.accentDim,ch:R.breatheDim}]}function il({name:e}){let t=C(),[n,r]=K(0),i=rl(t).length;Fe(500,e=>r(e%i));let a=rl(t)[n];return J(Y,{flexDirection:`row`,children:[J(X,{color:a.color,children:[a.ch,` `]}),J(X,{color:t.text,children:[e,`…`]})]})}function al(){return{streamingText:``,streamingThinking:``,streamCommit:Ec(),lastTail:void 0,spinnerMode:null,outputTokensThisTurn:0,maxOutputTokens:void 0,toolTurnCount:0,maxToolTurns:0,promptOutputTokens:0,promptOutputTokenBudget:0,processing:!1,activeTool:null}}function ol(){let e=Ln(al());return{store:e,reset(){e.setState(al())}}}function sl(e,t){let n=null,r=null,i=0,a=()=>{if(r===null)return;let t=r;r=null,i=Date.now(),e.setState({outputTokensThisTurn:t})};return{push(e){r=e;let o=Date.now()-i;o>=t?(n&&=(clearTimeout(n),null),a()):n||=setTimeout(()=>{n=null,a()},t-o)},cancel(){n&&=(clearTimeout(n),null),r=null}}}function cl(e){return e.spinnerMode===`responding`&&e.maxOutputTokens!==void 0&&e.maxOutputTokens>0?Math.min(100,e.outputTokensThisTurn/e.maxOutputTokens*100):void 0}function ll(e){return Math.floor((e.streamingText.length+e.streamingThinking.length)/4)}function ul({streamStore:e,completedMessages:t,columns:n=80,rows:r,maxPreviewRows:i,suppressLive:a=!1,pendingEcho:o=null,scrollbackMode:s=!1,pendingSteers:c=[],windowMode:l=!1,scrollStore:u,earlierLoading:d=!1,earlierEnded:f=!1,onNeedEarlier:p,onPrepend:m,findQuery:h,findActiveMatch:g,onFindNavigateTo:_,onFindCountChange:v,onReviewHintChange:y,renderReviewHint:b=!0}){let x=C(),S=Z(e.store,e=>e.streamingText),w=Z(e.store,e=>e.streamingThinking),T=Z(e.store,e=>e.processing),E=Z(e.store,e=>e.streamCommit.led),ee=Z(e.store,e=>e.activeTool),D=Z(e.store,e=>e.toolTurnCount),te=Z(e.store,e=>e.maxToolTurns),ne=Z(e.store,e=>e.promptOutputTokens),O=Z(e.store,e=>e.promptOutputTokenBudget),k=Z(e.store,ll),re=S,ie=w,j=i??1,ae=j>0?Zc(re,n-ge.borderInset,j):[],oe=j>0?Zc(ie,n-5,j):[],M=Z(u.store,e=>e.offset>0),se=V.useRef(null);M&&se.current===null&&(se.current=t),M||(se.current=null);let ce=M?se.current??t:t,N=M?Math.max(0,t.length-(se.current?.length??t.length)):0,le=o&&!a&&s,ue=!a&&s,P=(le?1:0)+(ue?c.length:0)+(T&&!a?(ie?2:0)+(ee?1:0)+ae.length:0),F=Math.max(1,(r??0)-P);return J(Y,{flexDirection:`column`,children:[l?q(Jc,{messages:ce,columns:n,rows:F,scrollStore:u,frozenNewCount:N,earlierLoading:d,earlierEnded:f,onNeedEarlier:p,onPrepend:m,findQuery:h,findActiveMatch:g,onFindNavigateTo:_,onFindCountChange:v,onReviewHintChange:y,renderReviewHint:b}):q(Lt,{items:t,children:e=>q(Rc,{message:e,columns:n},e.id??`m-${JSON.stringify(e).slice(0,16)}`)}),le&&J(X,{dimColor:!0,children:[`> `,o.text]}),ue&&c.map(e=>J(X,{dimColor:!0,children:[`> `,e.text]},e.id)),T&&!a&&J(Y,{flexDirection:`column`,children:[ie&&J(Y,{flexDirection:`column`,marginTop:A.tight,children:[q(nl,{tokens:k,toolTurnCount:D,maxToolTurns:te,promptOutputTokens:ne,promptOutputTokenBudget:O}),oe.length>0&&q(Y,{marginLeft:A.section,flexDirection:`column`,children:oe.map((e,t)=>J(X,{color:x.inactive,italic:!0,children:[` `,e]},t))})]}),ee&&q(il,{name:mo(ee)}),ae.length>0&&q(Y,{flexDirection:`column`,children:ae.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:x.replyPrefix,children:t===0&&!E?`${R.bullet} `:` `}),q(X,{children:e})]},t))})]})]})}function dl(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(1)}M`}function fl(e){switch(e){case`done`:return B.t(`status.done`);case`failed`:return B.t(`status.failed`);case`interrupted`:return B.t(`status.interrupted`);default:return e}}function pl(e){return e.split(`
45
+ `);return r%2==1?"```\n"+i:i}function Qc(e,t,n){if(!e)return[];let r=e.split(`
46
+ `),i=r.length;for(;i>0&&r[i-1].trim()===``;)i--;if(i===0)return[];let a=Math.max(0,i-Math.max(1,n));return r.slice(a,i).map(e=>Xc(e,t))}function $c(e,t,n=1){let r=[],i=``,a=null;for(let o=0;o<e.length;o++){let s=Math.abs(o-t)<=n;a===null||s===a?(i+=e[o],a=s):(r.push({text:i,bright:a}),i=e[o],a=s)}return i&&r.push({text:i,bright:a??!1}),r}function el(e,t){return e%Math.max(1,t+4)}function tl(e,t){if(!(t>0))return I.inactive;let n=e/t;return n>=.9?I.error:n>=.8?I.warning:I.inactive}function nl(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`}function rl({tokens:e=0,toolTurnCount:t=0,maxToolTurns:n=0,promptOutputTokens:r=0,promptOutputTokenBudget:i=0}){let a=L(),[o,s]=K(0),[c,l]=K(0),u=G(Date.now()),d=G(-1),f=ge();Ne(160,e=>s(e%ze.length)),W(()=>{let e=setInterval(()=>{let e=Date.now()-u.current,t=Math.floor(e/1e3);t!==d.current&&(d.current=t,l(e))},1e3);return()=>clearInterval(e)},[]);let p=[{text:bo(Math.floor(c/1e3))}];e>0&&p.push({text:`↓ ${V.t(`budget.tokensLabel`,{count:e})}`}),n>0&&p.push({text:V.t(`tool.budgetLabel`,{used:t,max:n}),color:tl(t,n)}),i>0&&p.push({text:V.t(`budget.tokenBudgetLabel`,{used:nl(r),budget:nl(i)})});let m=V.t(`inspText.thinkingLabel`),h=f?null:$c(m,el(o,m.length));return J(Y,{flexDirection:`row`,children:[q(X,{color:a.secondary,children:ze[o]}),q(X,{children:` `}),h?h.map((e,t)=>q(X,{italic:!0,color:e.bright?a.secondary:a.inactive,children:e.text},t)):q(X,{italic:!0,color:a.secondary,children:m}),q(X,{color:a.inactive,children:` (`}),p.map((e,t)=>J(H.Fragment,{children:[t>0&&q(X,{color:a.inactive,children:` · `}),q(X,{color:e.color??a.inactive,children:e.text})]},t)),q(X,{color:a.inactive,children:`)`})]})}function il(e){return[{color:e.accentBright,ch:R.breatheBright},{color:e.accentDim,ch:R.breatheDim}]}function al({name:e}){let t=L(),[n,r]=K(0),i=il(t).length;Ne(500,e=>r(e%i));let a=il(t)[n];return J(Y,{flexDirection:`row`,children:[J(X,{color:a.color,children:[a.ch,` `]}),J(X,{color:t.text,children:[e,`…`]})]})}function ol(){return{streamingText:``,streamingThinking:``,streamCommit:Dc(),lastTail:void 0,spinnerMode:null,outputTokensThisTurn:0,maxOutputTokens:void 0,toolTurnCount:0,maxToolTurns:0,promptOutputTokens:0,promptOutputTokenBudget:0,processing:!1,activeTool:null}}function sl(){let e=Rn(ol());return{store:e,reset(){e.setState(ol())}}}function cl(e,t){let n=null,r=null,i=0,a=()=>{if(r===null)return;let t=r;r=null,i=Date.now(),e.setState({outputTokensThisTurn:t})};return{push(e){r=e;let o=Date.now()-i;o>=t?(n&&=(clearTimeout(n),null),a()):n||=setTimeout(()=>{n=null,a()},t-o)},cancel(){n&&=(clearTimeout(n),null),r=null}}}function ll(e){return e.spinnerMode===`responding`&&e.maxOutputTokens!==void 0&&e.maxOutputTokens>0?Math.min(100,e.outputTokensThisTurn/e.maxOutputTokens*100):void 0}function ul(e){return Math.floor((e.streamingText.length+e.streamingThinking.length)/4)}function dl({streamStore:e,completedMessages:n,columns:r=80,rows:i,maxPreviewRows:a,suppressLive:o=!1,pendingEcho:s=null,scrollbackMode:c=!1,pendingSteers:l=[],windowMode:u=!1,scrollStore:d,earlierLoading:f=!1,earlierEnded:p=!1,onNeedEarlier:m,onPrepend:h,findQuery:g,findActiveMatch:_,onFindNavigateTo:v,onFindCountChange:y,onReviewHintChange:b,renderReviewHint:x=!0}){let S=L(),C=Z(e.store,e=>e.streamingText),w=Z(e.store,e=>e.streamingThinking),T=Z(e.store,e=>e.processing),E=Z(e.store,e=>e.streamCommit.led),D=Z(e.store,e=>e.activeTool),O=Z(e.store,e=>e.toolTurnCount),k=Z(e.store,e=>e.maxToolTurns),ee=Z(e.store,e=>e.promptOutputTokens),te=Z(e.store,e=>e.promptOutputTokenBudget),A=Z(e.store,ul),j=C,M=w,re=a??1,N=re>0?Qc(j,r-ne.borderInset,re):[],ie=re>0?Qc(M,r-5,re):[],P=Z(d.store,e=>e.offset>0),ae=H.useRef(null);P&&ae.current===null&&(ae.current=n),P||(ae.current=null);let oe=P?ae.current??n:n,se=P?Math.max(0,n.length-(ae.current?.length??n.length)):0,ce=s&&!o&&c,le=!o&&c,ue=(ce?1:0)+(le?l.length:0)+(T&&!o?(M?2:0)+(D?1:0)+N.length:0),de=Math.max(1,(i??0)-ue);return J(Y,{flexDirection:`column`,children:[u?q(Yc,{messages:oe,columns:r,rows:de,scrollStore:d,frozenNewCount:se,earlierLoading:f,earlierEnded:p,onNeedEarlier:m,onPrepend:h,findQuery:g,findActiveMatch:_,onFindNavigateTo:v,onFindCountChange:y,onReviewHintChange:b,renderReviewHint:x}):q(Rt,{items:n,children:e=>q(zc,{message:e,columns:r},e.id??`m-${JSON.stringify(e).slice(0,16)}`)}),ce&&J(X,{dimColor:!0,children:[`> `,s.text]}),le&&l.map(e=>J(X,{dimColor:!0,children:[`> `,e.text]},e.id)),T&&!o&&J(Y,{flexDirection:`column`,children:[M&&J(Y,{flexDirection:`column`,marginTop:t.tight,children:[q(rl,{tokens:A,toolTurnCount:O,maxToolTurns:k,promptOutputTokens:ee,promptOutputTokenBudget:te}),ie.length>0&&q(Y,{marginLeft:t.section,flexDirection:`column`,children:ie.map((e,t)=>J(X,{color:S.inactive,italic:!0,children:[` `,e]},t))})]}),D&&q(al,{name:ho(D)}),N.length>0&&q(Y,{flexDirection:`column`,children:N.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:S.replyPrefix,children:t===0&&!E?`${R.bullet} `:` `}),q(X,{children:e})]},t))})]})]})}function fl(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}K`:`${(e/1e6).toFixed(1)}M`}function pl(e){switch(e){case`done`:return V.t(`status.done`);case`failed`:return V.t(`status.failed`);case`interrupted`:return V.t(`status.interrupted`);default:return e}}function ml(e){return e.split(`
47
47
  `).map(e=>` ${e}`).join(`
48
- `)}function ml(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function hl(e,t=``){let n=[];for(let t of e)switch(t.role){case`user`:t.content.trim()&&n.push(`▸ ${B.t(`transcript.you`)}\n${pl(t.content)}`);break;case`assistant`:{let e=t.content.map(e=>e.type===`thinking`?`${R.thinking} ${e.thinking}`:e.type===`a2ui`?`[a2ui: ${e.components.length} component(s)]`:e.text).filter(e=>e.trim());e.length&&n.push(`⏺ ${B.t(`transcript.assistant`)}\n${pl(e.join(`
49
- `))}`);break}case`assistant_stream`:t.text.trim()&&n.push(`⏺ ${B.t(`transcript.assistant`)}\n${pl(t.text)}`);break;case`tool`:{let e=t.args?`${t.name}(${ml(t.args,60)})`:t.name,r=t.result?` → ${t.isError?`${R.cross} `:``}${ml(t.result,200)}`:t.isError?` → ${R.cross}`:``;n.push(` ${R.toolResult} ${e}${r}`);break}case`summary`:{let e=t.status===`incomplete`?B.t(`status.stopped`):fl(t.status),r=Number(t.tasksDone??0),i=Number(t.tasksTotal??0),a=Number.isFinite(r)?r:0,o=Number.isFinite(i)?i:0,s=t.status===`incomplete`&&t.tasksTotal!=null?` · ${B.t(`task.leftLabel`,{done:a,total:o,left:Math.max(0,o-a)})}`:``,c=typeof t.cacheHitRatio==`number`?`(${Math.round(t.cacheHitRatio*100)}%)`:``,l=t.tokensUsed==null?c?` · cache${c}`:``:` · ${dl(t.tokensUsed)}${c}`;n.push(`— ${e} · ${B.t(`tool.countLabel`,{count:t.toolCount})} · ${Math.round(t.elapsedMs/1e3)}s${l}${s}`);break}}return t.trim()&&n.push(`⏺ ${B.t(`transcript.assistant`)} (${B.t(`prompt.streaming`)})\n${pl(t)}`),n.join(`
48
+ `)}function hl(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function gl(e,t=``){let n=[];for(let t of e)switch(t.role){case`user`:t.content.trim()&&n.push(`▸ ${V.t(`transcript.you`)}\n${ml(t.content)}`);break;case`assistant`:{let e=t.content.map(e=>e.type===`thinking`?`${R.thinking} ${e.thinking}`:e.type===`a2ui`?`[a2ui: ${e.components.length} component(s)]`:e.text).filter(e=>e.trim());e.length&&n.push(`⏺ ${V.t(`transcript.assistant`)}\n${ml(e.join(`
49
+ `))}`);break}case`assistant_stream`:t.text.trim()&&n.push(`⏺ ${V.t(`transcript.assistant`)}\n${ml(t.text)}`);break;case`tool`:{let e=t.args?`${t.name}(${hl(t.args,60)})`:t.name,r=t.result?` → ${t.isError?`${R.cross} `:``}${hl(t.result,200)}`:t.isError?` → ${R.cross}`:``;n.push(` ${R.toolResult} ${e}${r}`);break}case`summary`:{let e=t.status===`incomplete`?V.t(`status.stopped`):pl(t.status),r=Number(t.tasksDone??0),i=Number(t.tasksTotal??0),a=Number.isFinite(r)?r:0,o=Number.isFinite(i)?i:0,s=t.status===`incomplete`&&t.tasksTotal!=null?` · ${V.t(`task.leftLabel`,{done:a,total:o,left:Math.max(0,o-a)})}`:``,c=typeof t.cacheHitRatio==`number`?`(${Math.round(t.cacheHitRatio*100)}%)`:``,l=t.tokensUsed==null?c?` · cache${c}`:``:` · ${fl(t.tokensUsed)}${c}`;n.push(`— ${e} · ${V.t(`tool.countLabel`,{count:t.toolCount})} · ${Math.round(t.elapsedMs/1e3)}s${l}${s}`);break}}return t.trim()&&n.push(`⏺ ${V.t(`transcript.assistant`)} (${V.t(`prompt.streaming`)})\n${ml(t)}`),n.join(`
50
50
 
51
- `)}function gl(e){let t=e.filter(e=>e!==null),n=Math.max(0,...t.map(e=>$e(e.label)));return e.map(e=>{if(e===null)return``;let t=` `.repeat(Math.max(0,n-$e(e.label))+1);return`${e.label}:${t}${e.value}`})}function _l(e,t){let n=/^- \[(.+?)\]\(memory\/(.+?)\.md\)(?: — (.+))?$/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({name:i[1]??``,slug:i[2]??``,description:(i[3]??``).trim(),source:t});return r}function vl({projectIndex:e,userIndex:t,onViewEntry:n,onForget:r,onDismiss:i,rows:a=24,columns:o=80}){let[s,c]=K(()=>_l(e,`project`)),[l,u]=K(()=>_l(t,`user`)),[d,f]=K({mode:`list`}),[p,m]=K(void 0),h=s.length>0||l.length>0;function g(e){e.source===`project`?c(t=>t.filter(t=>t.slug!==e.slug)):u(t=>t.filter(t=>t.slug!==e.slug))}function _(e){m(`${e.source}:${e.slug}`),f({mode:`detail`,entry:e,content:null,loading:!0}),n(e).then(t=>{f(n=>n.mode===`detail`&&n.entry.slug===e.slug?{...n,content:t,loading:!1}:n)})}async function v(e){await r(e),g(e),f({mode:`list`})}return d.mode===`confirm-forget`?q(Sl,{entry:d.entry,onConfirm:()=>void v(d.entry),onCancel:()=>f({mode:`list`})}):d.mode===`detail`?q(bl,{entry:d.entry,content:d.content,loading:d.loading,onForget:()=>f({mode:`confirm-forget`,entry:d.entry}),onBack:()=>f({mode:`list`}),rows:a,columns:o}):q(yl,{projEntries:s,userEntries:l,hasAny:h,defaultValue:p,onView:_,onForget:e=>f({mode:`confirm-forget`,entry:e}),onDismiss:i,rows:a})}function yl({projEntries:e,userEntries:t,hasAny:n,defaultValue:r,onView:i,onForget:a,onDismiss:o,rows:s}){let c=new Map;for(let n of[...e,...t])c.set(`${n.source}:${n.slug}`,n);return n?q(z.Root,{rows:s,title:B.t(`cmd.titleMemory`),defaultValue:r,onCancel:o,onKey:(e,t,n)=>{if(e===`d`&&n){let e=c.get(n.value);return e&&a(e),!0}return!1},onValueChange:e=>{let t=c.get(e);t&&i(t)},footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`cmd.memoryDialogHintView`)],[`d`,B.t(`cmd.memoryDialogHintForget`)],[j.esc,B.t(`hint.close`)]]}),children:J(z.Content,{children:[J(z.Group,{children:[q(z.Label,{children:B.t(`cmd.memoryDialogProjGroup`,{count:e.length})}),e.map(e=>q(z.Item,{value:`project:${e.slug}`,detail:e.description||void 0,marker:`number`,children:e.name},`project:${e.slug}`))]}),q(z.Separator,{}),J(z.Group,{children:[q(z.Label,{children:B.t(`cmd.memoryDialogUserGroup`,{count:t.length})}),t.map(e=>q(z.Item,{value:`user:${e.slug}`,detail:e.description||void 0,marker:`number`,children:e.name},`user:${e.slug}`))]})]})}):q(T,{header:q(y,{children:B.t(`cmd.titleMemory`)}),footer:q(k,{items:[[j.esc,B.t(`hint.close`)]]}),children:q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:B.t(`cmd.memoryDialogEmptyHint`)})})})}function bl({entry:e,content:t,loading:n,onForget:r,onBack:i,rows:a,columns:o}){let s=C(),c=e.source===`project`?B.t(`cmd.memoryDialogDetailSourceProject`):B.t(`cmd.memoryDialogDetailSourceUser`),l=B.t(`cmd.memoryDialogDetailTitle`,{name:e.name,source:c}),u=W(()=>(t??``).split(`
52
- `),[t]);return n?q(xl,{title:l,onForget:r,onBack:i}):q(oc,{lines:u,rows:a,columns:o,wrapMode:`pre-wrap`,header:q(Y,{children:q(X,{color:s.selection,children:l})}),onDismiss:i,initialScroll:`top`,contentKey:e.slug,emptyMessage:B.t(`cmd.memoryDialogDetailEmpty`),onKey:e=>e===`d`?(r(),!0):!1,extraHints:[[`d`,B.t(`cmd.memoryDialogHintForget`)]]})}function xl({title:e,onForget:t,onBack:n}){return s(`memory-dialog-detail-loading`,(e,r)=>{if(r.escape){n();return}e===`d`&&t()}),q(T,{header:q(y,{children:e}),footer:q(k,{items:[[j.esc,B.t(`cmd.memoryDialogHintBack`)]]}),children:q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:`…`})})})}function Sl({entry:e,onConfirm:t,onCancel:n}){let r=C(),[i,a]=K(0);return s(`memory-dialog`,(e,r)=>{if(r.escape){n();return}if(r.leftArrow||r.rightArrow||r.tab){let e=D(r);e!==0&&a(t=>E(t,e,2));return}r.return&&(i===1?t():n())}),q(T,{header:q(y,{children:B.t(`cmd.memoryDialogConfirmForgetTitle`)}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(X,{color:r.warning,children:B.t(`cmd.memoryDialogConfirmForgetMessage`,{name:e.name})}),J(Y,{marginTop:A.section,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:i===0,color:`gray`}),q(I,{variant:`solid`,brackets:!0,label:B.t(`hint.delete`),focused:i===1,color:`red`})]})]})})}function Cl(e,t=80){return M(e.replace(/\s+/g,` `).trim(),t)}function wl({req:e,rows:t=24}){let{entries:n,menuContributions:r=[],onSelect:i,onCancel:a}=e,o=n.filter(e=>e.enabled).length,s=n.length>0?B.t(`cmd.extListTitle`,{enabled:o,total:n.length}):B.t(`cmd.extListEmptyTitle`),c=r.find(e=>e.id===`__discover__`),l=r.filter(e=>e.id!==`__discover__`),u=c?{hint:B.t(`cmd.extDiscoverHint`),label:B.t(`cmd.extDiscoverButton`),onPress:()=>i(`contrib:${c.id}`)}:void 0;if(n.length===0)return q(z.Root,{title:s,headerAction:u,onCancel:a,rows:t,extensionHeightBudget:!0,children:q(z.Content,{children:q(z.Item,{value:``,children:B.t(`cmd.extListEmptyOption`)})})});let d=new Map;for(let e of n){let t=B.t(`cmd.extCategoryLabel`,{category:e.category}),n=d.get(t);n?n.push(e):d.set(t,[e])}return q(z.Root,{title:s,headerAction:u,onValueChange:i,onCancel:a,rows:t,extensionHeightBudget:!0,defaultValue:e.lastSelectedValue,children:J(z.Content,{children:[[...d.entries()].map(([e,t])=>J(z.Group,{children:[q(z.Label,{children:e}),t.map(e=>{let t=[];e.description&&t.push(e.description),e.applies&&e.applies!==`live`&&t.push(e.applies);let n=t.length>0?Cl(t.join(` · `)):void 0;return q(z.Item,{value:`${e.category}:${e.id}`,detail:n,children:e.enabled?e.name:`${R.toggleOff} ${e.name}`},`${e.category}:${e.id}`)})]},e)),l.length>0&&J(z.Group,{children:[q(z.Label,{children:B.t(`cmd.extCategoryLabel`,{category:`plugin`})}),l.map(e=>q(z.Item,{value:`contrib:${e.id}`,children:e.title},`contrib:${e.id}`))]},`contrib`)]})})}const Tl={y:0,n:1,a:2};function El({tool:e,input:t,risk:n,onApprove:r,onDeny:i}){let a=C(),[o,c]=K(0),l=Ie(n),u=e=>{e===0?r(`once`):e===1?i():r(`always`)};return s(`permission-dialog-buttons`,(e,t)=>{if(t.escape)return i(),!0;let n=D(t);if(n!==0)return c(e=>E(e,n,3)),!0;if(t.return)return c(e=>(u(e),e)),!0;let r=Tl[e.toLowerCase()];return r===void 0?!1:(u(r),!0)}),J(T,{header:J(y,{children:[B.t(`permission.allowTool`),` `,q(X,{color:a.permission,children:e}),` `,J(X,{color:l,children:[`(`,B.t(`permission.riskLabel`,{context:n}),`)`]})]}),footer:q(k,{items:[[`${j.left}${j.right}`,B.t(`hint.switch`)],[j.enter,B.t(`hint.confirm`)],[`y/n/a`,B.t(`hint.shortcut`)],[j.esc,B.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:M(t,200)})}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`permission.approve`),focused:o===0}),q(I,{variant:`solid`,brackets:!0,color:`red`,label:B.t(`permission.deny`),focused:o===1}),q(I,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`permission.alwaysAllow`),focused:o===2})]})]})}function Dl(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const Ol={y:0,n:1,a:2},kl={y:0,n:1};function Al({command:e,risk:t,description:n,alwaysAllowLabel:r,onApprove:i,onDeny:a}){let o=C(),[c,l]=K(0),u=Ie(t),d=r!=null,f=d?3:2,p=d?Ol:kl,m=e=>{e===0?i(`once`):e===1?a():i(`always`)};s(`bash-permission-dialog-buttons`,(e,t)=>{if(t.escape)return a(),!0;let n=D(t);if(n!==0)return l(e=>E(e,n,f)),!0;if(t.return)return l(e=>(m(e),e)),!0;let r=p[e.toLowerCase()];return r===void 0?!1:(m(r),!0)});let{workDir:h}=Dl(e),g=M(e,500);return J(T,{header:J(y,{children:[B.t(`permission.bashCommand`),` `,J(X,{color:u,children:[`(`,B.t(`permission.riskLabel`,{context:t}),`)`]})]}),footer:q(k,{items:[[`${j.left}${j.right}`,B.t(`hint.switch`)],[j.enter,B.t(`hint.confirm`)],[d?`y/n/a`:`y/n`,B.t(`hint.shortcut`)],[j.esc,B.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{color:o.suggestion,children:g})}),(h||n)&&J(Y,{marginTop:A.tight,flexDirection:`column`,children:[h&&q(X,{dimColor:!0,children:h}),n&&q(X,{dimColor:!0,children:n})]}),r&&J(Y,{marginTop:A.tight,children:[J(X,{dimColor:!0,children:[B.t(`permission.alwaysAllow`),`: `]}),q(X,{color:o.suggestion,children:r})]}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`permission.approve`),focused:c===0}),q(I,{variant:`solid`,brackets:!0,color:`red`,label:B.t(`permission.deny`),focused:c===1}),d&&q(I,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`permission.alwaysAllow`),focused:c===2})]})]})}function jl({title:e,message:t,okLabel:n,onOk:r}){let i=Array.isArray(t)?t:[t];return ee({tabIndex:0,id:`alert-ok`,onAction:()=>(r(),!0),onEscape:()=>(r(),!0)}),s(`alert-dialog`,(e,t)=>t.return||t.escape?(r(),!0):!1),J(T,{header:q(y,{children:e}),footer:q(k,{items:[[`${j.enter}/${j.esc}`,B.t(`hint.close`)]]}),children:[q(Y,{marginTop:A.tight,flexDirection:`column`,children:i.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:A.tight,children:q(I,{variant:`solid`,brackets:!0,color:`accent`,label:n??B.t(`common.okButton`),focused:!0})})]})}function Ml({title:e,message:t,placeholder:n,initialValue:r=``,submitLabel:i,cancelLabel:a,columns:o=60,onSubmit:c,onCancel:l}){let[u,d]=K(r),[f,p]=K(r.length),[m,h]=K(`input`),g=t?Array.isArray(t)?t:[t]:[],_=(e,t)=>{d(e),p(t)};return s(`prompt-dialog`,(e,t)=>{if(t.escape){l();return}if(t.return&&m===`input`){u.trim()!==``&&h(`submit`);return}if(t.return){m===`submit`&&u.trim()!==``?c(u):l();return}if(t.tab||t.ctrl&&e===`n`){h(e=>e===`input`?`submit`:e===`submit`?`cancel`:`input`);return}if(t.leftArrow&&m!==`input`){h(e=>`submit`);return}if(t.rightArrow&&m!==`input`){h(e=>`cancel`);return}if(m!==`input`)return;if(e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=dt(e);t&&_(u.slice(0,f)+t+u.slice(f),f+t.length);return}if(t.leftArrow){let e=gt.fromText(u,o,f).left();_(e.text,e.offset);return}if(t.rightArrow){let e=gt.fromText(u,o,f).right();_(e.text,e.offset);return}let n={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=be(gt.fromText(u,o,f),n);if(r){if(r.action===`clear_text`){_(``,0);return}r.action===`submit`||r.action===`submit_force`||_(r.cursor.text,r.cursor.offset)}}),J(T,{header:q(y,{children:e??B.t(`prompt.defaultTitle`)}),footer:q(k,{items:[[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]}),children:[g.length>0&&q(Y,{marginTop:A.tight,flexDirection:`column`,children:g.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:A.tight,flexDirection:`row`,children:q(Oe,{value:u,offset:f,columns:o,mode:`dialog`,placeholder:n,focused:m===`input`,physicalCursor:m===`input`})}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:i??B.t(`prompt.submitButton`),focused:m===`submit`,disabled:u.trim()===``}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:a??B.t(`common.genericCancelButton`),focused:m===`cancel`})]})]})}function Nl(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function Pl(){let e=Ln(Nl()),t,n={};return{store:e,reset(){e.setState(Nl())},setNotify(e){t=e},setEffects(e){n=e},setProviderUsage(n){e.setState({providerUsage:n}),t?.()},setPausePending(n){e.setState({pausePending:n}),t?.()},setPaused(r){e.setState({paused:r}),r||n.drainQueueOnResume?.(),t?.()},setPulseSurvey(r){e.setState({pulseSurvey:r}),n.syncPulseSurveyRoute?.(r!==null),t?.()}}}function Fl(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const Il=e=>{try{return JSON.stringify(e).length}catch{return 0}};function Ll(e,t=yn,n=vn){let r=e.filter(e=>e.role!==`history_capped`);if(r.length===0)return e;let i=0,a=null;r.length>t&&(i+=r.length-t,r.splice(0,i),a=`count`);let o=r.map(Il),s=o.reduce((e,t)=>e+t,0);if(s>n){let e=0;for(;e<o.length-1&&s>n;)s-=o[e],e++,i++;r.splice(0,e),a=`bytes`}return i===0?e:[...r,Fl(i,a??`count`)]}function Rl(){let e=Ln({messages:[]}),t=t=>{e.setState({messages:Ll(t)})};return{store:e,append(n,r,i){t([...e.getState().messages,{...n,id:n.id??r,...i==null?{}:{seq:i}}])},appendMany(n,r){n.length!==0&&t([...e.getState().messages,...n.map(e=>({...e,id:e.id??r()}))])},prependMany(n){if(n.length===0)return;let r=e.getState();t([...n.map(e=>({...e})),...r.messages])},patchLast(n){let r=e.getState();if(r.messages.length===0)return;let i=r.messages[r.messages.length-1];t([...r.messages.slice(0,-1),{...i,...n}])},patchById(n,r){let i=e.getState(),a=i.messages.findIndex(e=>e.id===n);if(a===-1)return;let o=i.messages[a],s=[...i.messages];s[a]={...o,...r},t(s)},removeLast(){let n=e.getState();n.messages.length!==0&&t(n.messages.slice(0,-1))},removeById(n){let r=e.getState(),i=r.messages.findIndex(e=>e.id===n);if(i===-1)return;let a=[...r.messages];a.splice(i,1),t(a)},reset(){e.setState({messages:[]})}}}const zl=[{label:`Tool guidance`,lane:`stable`,priority:20},{label:`Environment`,lane:`stable`,priority:25},{label:`Memory index`,lane:`stable`,priority:35},{label:`Skill catalog`,lane:`stable`,priority:38},{label:`Lesson`,lane:`stable`,priority:40},{label:`Memory delta`,lane:`volatile`,priority:60},{label:`TODO reminder`,lane:`volatile`,priority:62}];function Bl(e){let t=zl.length,n=Math.round(e/t);return zl.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function Vl(){let e=Ln({open:!1,conversationTurns:[],systemSections:[],modelName:``,contextWindow:0,contextPercent:0,totalUsed:0,free:0});return{store:e,toggle(t){e.setState({open:t??!e.getState().open})},reset(){e.setState({open:!1,conversationTurns:[],systemSections:[],modelName:``,contextWindow:0,contextPercent:0,totalUsed:0,free:0})},addTurn(t){let n=[...e.getState().conversationTurns,t];e.setState({conversationTurns:n.length>yn?n.slice(n.length-yn):n})},markTurns(t){let{turnIndex:n,...r}=t,i=e.getState().conversationTurns.map(e=>e.turnIndex===n?{...e,...r}:e);e.setState({conversationTurns:i})},setBudget(t){e.setState({modelName:t.modelName,contextWindow:t.contextWindow,contextPercent:t.contextPercent,totalUsed:t.totalUsed,free:t.free,systemSections:Bl(t.overheadTokens)})}}}const Hl=Mt(void 0),Ul=Hl.Provider;function Wl(){let e=Pt(Hl);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}function Gl(){let{currentPath:e}=ce();return e===`/`?`prompt`:e===`/home`?`home`:e===`/pane/delegates`||e===`/pane/delegates/output`?`background`:e===`/pane/edited-files`?`editedFiles`:e.startsWith(`/pane/edited-files/`)?`editedFileFull`:e===`/subagent`?`subagentContext`:e===`/pane/subagents`?`subagents`:e===`/pane/clipboard`?`clipboard`:e===`/pane/schedule`?`schedule`:e===`/pane/tasks`?`taskFocus`:e.startsWith(`/pane/tasks/`)?`taskDetail`:e===`/pane/draft`?`draft`:e===`/pane/queue`?`queue`:e.startsWith(`/pane/queue/`)?`queueEdit`:e===`/pane/shell`?`shell`:e===`/pane/sigil`?`sigilPane`:e===`/pane/perf`?`perf`:e===`/pane/cache`?`cacheStats`:e===`/pane/compaction-log`?`compactionLog`:e===`/pane/gallery`?`gallery`:e===`/pane/notifications`?`notifications`:e===`/pane/proxy`?`proxy`:e===`/pane/prompts`?`prompts`:e===`/pane/context`?`info`:(e.startsWith(`/dialog/`)||e.startsWith(`/viewer/`),`prompt`)}const Kl=`onA2uiAction.onAlertResolve.onBackToContextPane.onBackgroundApply.onBackgroundClose.onBackgroundDelete.onBackgroundKill.onBackgroundOutputClose.onBackgroundSwitch.onBackgroundViewOutput.onCacheDismiss.onCancelUpgrade.onCloseNotifications.onCompactionLogDismiss.onContextDismiss.onConfirmResolve.onCyclePermissionMode.onDelegateSupply.onDismissNotification.onDismissToast.onDraftDelete.onDraftDeleteMany.onDraftSave.onErrorRetryFocusChange.onExitSubagentContext.onFocusOwnerChange.onScrollActiveChange.onGalleryDismiss.onHistoryPush.onInfoDismiss.onInputAction.onInputResolve.onOnboardingResolve.onInterrupt.onKeybindingPanelDismiss.onMemoryDismiss.onPaneOwnsViewportChange.onPerfDismiss.onPerfRefresh.onPermissionDecision.onPopQueued.onPromptResolve.onProxyClear.onProxyTest.onProxyDismiss.onProxyOpenModal.onProxySubmitUrl.onProxyToggleEnabled.onPulseSurveyChange.onQuestionsResolve.onQueueDelete.onQueueEditText.onQueueMove.onQueueSendNow.onSelectResolve.onSessionSelect.onShellAbort.onShellAskAi.onShellCopyOutput.onShellDismiss.onShortcutsDialogDismiss.onSigilSelect.onSubmit.onToast.onToggleDelegates.onToggleDraftPane.onToggleEditedFiles.onToggleNotifications.onToggleQueuePane.onTogglePrompts.onToggleSchedule.onToggleSubagents.onUpgrade.onViewDetails.onWithdrawPending.onWithdrawSteer`.split(`.`);function ql(e){let t={};for(let n of Kl)t[n]=e[n];return t}const Jl=Mt(null),Yl=Jl.Provider;function Xl(){let e=Pt(Jl);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function Zl(e){let{editedFilesLength:t,queuedItemsLength:n,subagentContext:r,backgroundOutput:i}=e,{onPaneOwnsViewportChange:a}=Xl(),{currentPath:o}=ce(),[s,c]=K(null),[l,u]=K(null),[d,f]=K(null),p=Nt(e=>{f(e),e?P()?.navigate(`/viewer/shell-output`):P()?.goBack()},[]),[m,h]=K(null),[g,_]=K(!1),[v,y]=K(!1),[b,x]=K(!1),[S,C]=K(!1),[w,T]=K(``),E=!!r||s!==null||!!i||l!=null,ee=Nt(e=>{a?.(!0),c(e),P()?.navigate(`/pane/edited-files/${e}`)},[a]),D=Nt(()=>{a?.(l!=null),c(null),P()?.goBack()},[a,l]),te=Nt(e=>{a?.(!0),u(e),P()?.navigate(`/pane/tasks/${e}`)},[a]),ne=Nt(()=>{a?.(s!==null),u(null),P()?.goBack()},[a,s]);return U(()=>{let e=o.startsWith(`/pane/edited-files/`)?s:null,t=o.startsWith(`/pane/tasks/`)?l:null;e!==s&&c(e),t!==l&&u(t),(e!==s||t!==l)&&a?.(e!==null||t!=null),m!==null&&o!==`/pane/queue/edit`&&(h(null),_(!1),y(!1)),d&&!o.startsWith(`/viewer/shell-output`)&&f(null)},[o,s,a,m,d,l]),U(()=>{s!==null&&s>=t&&(a?.(l!=null),c(null),P()?.goBack())},[s,t,l,a]),U(()=>{m!==null&&m>=n&&(h(null),_(!1),y(!1),o===`/pane/queue/edit`&&P()?.goBack())},[o,m,n]),{editedFileFullIndex:s,openEditedFileFull:ee,closeEditedFileFull:D,taskDetailTurn:l,openTaskDetail:te,closeTaskDetail:ne,shellFullOutput:d,setShellFullOutput:p,queueEditIndex:m,setQueueEditIndex:h,queueCloseConfirm:g,setQueueCloseConfirm:_,queueEscSuppress:v,setQueueEscSuppress:y,interruptConfirm:b,setInterruptConfirm:x,popQueuedConfirm:S,setPopQueuedConfirm:C,supplyDraft:w,setSupplyDraft:T,fullScreenPaneActive:E}}function Ql(){P()?.navigate(`/`,{reset:!0})}let $l=null;function eu(e){$l=e}function tu(){let e=$l;return e?.hasSelection()?(e.clear(),!0):!1}function nu(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function ru(t){let{showHome:n,tasksLength:r,backgroundTasksLength:i,editedFilesLength:a,subagentsLength:o,draftsLength:s,draftOpen:c,queuedItemsLength:u,queueOpen:d,clipboardHasContent:f,shellExecutionRunning:p,routeDerivedOwner:m,currentPath:h,backgroundOutput:g,a2uiButtons:_,scrollOffset:v,editedFilesOpen:y,subagentsOpen:b,setTasksCollapsed:x,keybindingOverrides:S}=t,{onToggleDelegates:C,onToggleEditedFiles:w,onToggleSubagents:T,onToggleDraftPane:E,onToggleQueuePane:ee,onShellAbort:D,onInterrupt:te,onA2uiAction:ne,onCyclePermissionMode:O,onToggleNotifications:k,onSubmit:re}=Xl(),A=Nt(()=>{let e=P();e&&e.currentPath!==`/`&&e.navigate(`/`,{reset:!0})},[]),ie=Nt(e=>{let t=P();if(!t)return!1;let s=[{path:`/`,activate:()=>A()},...n?[{path:`/home`,activate:()=>t.navigate(`/home`,{replace:!0})}]:[],...r>0?[{path:`/pane/tasks`,activate:()=>t.navigate(`/pane/tasks`,{replace:!0})}]:[],...i>0?[{path:`/pane/delegates`,activate:()=>{C?.()}}]:[],...a>0?[{path:`/pane/edited-files`,activate:()=>{w?.()}}]:[],...o>0?[{path:`/pane/subagents`,activate:()=>{T?.()}}]:[],...f?[{path:`/pane/clipboard`,activate:()=>{t.navigate(`/pane/clipboard`,{replace:!0})}}]:[]];return s.length<=1?!1:(s[(Math.max(0,s.findIndex(e=>t.currentPath===e.path||t.currentPath.startsWith(e.path+`/`)))+e+s.length)%s.length]?.activate(),!0)},[i,A,c,s,a,C,E,w,ee,T,d,u,n,o,r,f]);se(`app-global-prelude`,(e,t)=>t.ctrl&&e===`c`?p?(D?.(),!0):(te?.(),!0):!1),l(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:tu()),oe(`app-prompt-global`,(t,n)=>{if(n.tab&&!n.ctrl&&!n.meta&&!n.shift)return h.startsWith(`/dialog/`)||h.startsWith(`/viewer/`)||Kr(h)||![`prompt`,`home`,`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`draft`,`queue`].includes(m)||h===`/pane/delegates`&&g?!1:ie(n.shift?-1:1);if(v===0&&_&&_.length>0&&t>=`1`&&t<=`9`&&!n.ctrl&&!n.meta){let e=_.find(e=>e.key===t);if(e&&ne)return ne(e.componentId,e.action,e.payload),!0}if(h===`/`&&n.ctrl&&t===`k`)return!1;let i=de(e,m,t,n,S);if(i===`smart-close`)return h===`/pane/tasks`?(Ql(),!0):y?(w?.(),!0):b?(T?.(),!0):(r>0?(x(()=>!1),P()?.navigate(`/pane/tasks`,{replace:!0})):x(e=>!e),!0);let a={"cycle-permission-mode":()=>{O?.()},"toggle-notifications":()=>{k?.()},"toggle-edited-files":()=>{w?.()},"toggle-subagents":()=>{T?.()},"toggle-delegates":()=>{C?.()},"toggle-draft-pane":()=>{E?.()},"toggle-queue-pane":()=>{ee?.()},"open-keybinding-panel":()=>{re?.(`/keybindings`,`send`)}};return i&&a[i]?(a[i](),!0):!1});let j=bt();Bt((e,t)=>{j.dispatch(e,t)})}function iu(e){let t=e>=60,n=e>=76,r=e>=100;return{modelName:!0,occupancyBar:!0,hintText:!0,permissionMode:t,perfIndicator:t,notificationBell:t,backgroundTaskIndicator:t,scheduleIndicator:t,serviceIndicator:t,cost:n,providerUsage:n,language:n,pluginStatusItems:r,liveClock:r}}const au={narrow:0,medium:1,low:2};function ou(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=au[e.entry.tier]-au[t.entry.tier];if(n!==0)return n;if(e.entry.isHost!==t.entry.isHost)return e.entry.isHost?-1:1;let r=(e.entry.order??0)-(t.entry.order??0);return r===0?e.index-t.index:r}).map(e=>e.entry)}const su=new Map;function cu(e){let t=su.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},su.set(e,t)),t}function lu(){su.clear()}function uu(e,t){let n=cu(e.id);if(n.tripped)return null;let r=Date.now(),i=null;try{i=e.render(t)}catch{i=null}if(Date.now()-r>5){if(n.consecutiveSlowCalls+=1,n.consecutiveSlowCalls>=3)return n.tripped=!0,null}else n.consecutiveSlowCalls=0;return i}function du(e){let t;for(let n of e){if(n.tickMs===void 0)continue;let e=Math.max(1e3,n.tickMs);(t===void 0||e<t)&&(t=e)}return t}function fu(e){let{columns:t,permissionMode:n,cost:r,providerUsage:i,pluginStatusItems:a,statusWidgets:o,modelName:s}=e,[c,l]=K(0);U(()=>{if(!i)return;let e=setInterval(()=>l(e=>e+1),3e4);return()=>clearInterval(e)},[i]);let[u,d]=K(0);U(()=>{let e=du(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=W(()=>iu(t),[t]);return{footerVisible:f,badgeEntries:W(()=>{let e=[];if(f.permissionMode&&n&&e.push({id:`host:permission-mode`,text:B.t(`pref.permModeLabel`,{context:n}),color:n===`bypass`?`warning`:`inactive`,separator:`dot`,tier:`narrow`,isHost:!0}),f.cost&&r&&e.push({id:`host:cost`,text:r,separator:`space`,tier:`medium`,isHost:!0}),f.providerUsage&&i){let t=Date.now(),n=Nn(i,t);n&&e.push({id:`host:provider-usage`,text:n,color:In(i.status,i.limitType,i.usedPercent,i.resetsAt,t,i.overageStatus),separator:`dot`,tier:`medium`,isHost:!0})}if(f.pluginStatusItems&&a)for(let t of a)e.push({id:t.id,text:t.text,separator:`space`,tier:`low`,isHost:!1});if(f.pluginStatusItems&&o.length>0){let n={nowMs:Date.now(),model:s,providerUsage:i,columns:t};for(let t of o){let r=uu(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return ou(e)},[f,n,r,i,c,a,o,u,s,t])}}function pu(e){let{shellExecution:t,subagentContext:n,agentProcessing:r,queuedItems:i,pendingEcho:a,pendingSteers:o,onRequestPopQueuedConfirm:s}=e,{onExitSubagentContext:c,onPopQueued:l,onInterrupt:u,onWithdrawPending:d,onWithdrawSteer:f}=Xl();return Nt(()=>{if(!t){if(n){c?.();return}if(r){if(i.length>0){s?s():l?.();return}if(o&&o.length>0){let e=o[o.length-1];e&&f?.(e.id);return}if(a){d?.(a.text,a.mode);return}u?.();return}}},[t,n,c,r,i,a,o,l,u,d,f,s])}let mu=null;function hu(e){mu=e}function gu(){return mu}function _u(){let[e,t]=K(null),n=G(null),r=Nt(e=>{n.current=e,t(e),!e&&P()?.currentPath===`/pane/sigil`&&P()?.goBack()},[]),i=G(null),[a,o]=K(null),s=G(!1),[c,l]=K(null),u=G(null),d=Nt((e,t,n)=>{i.current=n,r({sigil:e,query:t,mode:`sigil`}),P()?.navigate(`/pane/sigil`)},[]),f=Nt(()=>{if(n.current?.mode===`history`){r(null);return}i.current=null,r({sigil:`#`,query:``,mode:`history`}),P()?.navigate(`/pane/sigil`)},[]);return U(()=>(hu(f),()=>hu(null)),[f]),{sigilState:e,setSigilState:r,sigilApplyRef:i,hadSigilFocusRef:s,chipContentViewerRequest:a,pasteContent:c,handleSigilTrigger:d,handleHistorySearch:f,handleChipReopen:Nt((e,n,r)=>{i.current={select:r.select,cancel:()=>r.cancel()},t({sigil:`@`,query:``}),P()?.navigate(`/pane/sigil`)},[]),handleChipViewPaste:Nt((e,t)=>{qr(P(),Wr,!0),o({label:e,content:t,onDismiss:()=>{o(null),qr(P(),Wr,!1)}})},[]),handleSigilClose:Nt(()=>{r(null)},[]),handlePasteConfirmRequest:Nt((e,t)=>{u.current=t,l(e),qr(P(),Hr,!0)},[]),handlePasteConfirm:Nt(()=>{u.current?.confirm(),u.current=null,l(null),qr(P(),Hr,!1)},[]),handlePasteCancel:Nt(()=>{u.current?.cancel(),u.current=null,l(null),qr(P(),Hr,!1)},[])}}function vu(e){let{sigilState:t,setSigilState:n,sigilApplyRef:r,hadSigilFocusRef:i,focusOwner:a,preempted:o}=e;U(()=>{if(!t){i.current=!1;return}if(a===`sigilPane`&&!o){i.current=!0;return}i.current&&=(n(null),r.current?.cancel(!1),!1)},[t,a,o])}function yu(){let e=Ln({budget:null});return{store:e,setBudget(t){e.setState({budget:t})},reset(){e.setState({budget:null})}}}function bu(e,t){return e.toolCallId&&t.toolCallId&&e.toolCallId===t.toolCallId?{...e,...t}:{...e,...t,oldContent:e.oldContent??t.oldContent,newContent:t.newContent??e.newContent,addedLines:e.addedLines+t.addedLines,removedLines:e.removedLines+t.removedLines,timestamp:Math.max(e.timestamp,t.timestamp),turnId:t.turnId??e.turnId,toolCallId:t.toolCallId??e.toolCallId}}function xu(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function Su(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function Cu(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function wu({files:e,focused:t,onDismiss:r,onOpenFileFull:i,fullOpenIndex:a=null,rows:o=24}){let c=C(),[l,u]=na(`editedFiles`,e.length),d=G(0);if(s(`edited-files-pane`,(t,n)=>n.escape?a===null?(P()?.navigate(`/`,{reset:!0}),r?.(),!0):!0:pe(`list-nav-up`,t,n,`editedFiles`)?(u(e=>Math.max(0,e-1)),!0):pe(`list-nav-down`,t,n,`editedFiles`)?(u(t=>Math.min(e.length-1,t+1)),!0):n.return?(i?.(l),!0):!1,{isActive:t}),e.length===0)return null;let f=e.reduce((e,t)=>e+t.addedLines,0),p=e.reduce((e,t)=>e+t.removedLines,0),m=Math.min(l,e.length-1),h=_t(e,m,n(e.length,o,3),d.current);return d.current=h.scrollTop,J(Y,{flexDirection:`column`,marginTop:A.tight,children:[J(Y,{children:[q(X,{color:c.special,children:`▸ `}),q(X,{color:t?c.text:c.inactive,children:B.t(`panelTitle.editedFilesTitle`)}),J(O,{type:`secondary`,children:[` `,B.t(`diff.fileCountLabel`,{count:e.length})]}),f>0&&J(X,{color:c.diffAdd,children:[` +`,f]}),p>0&&J(X,{color:c.diffRemove,children:[` -`,p]}),!t&&J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`v`)]}),t&&q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.view`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:A.section,flexDirection:`column`,children:[h.hasMoreAbove&&q(X,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),h.rows.map((e,n)=>{let r=h.scrollTop+n===m,i=r&&t?c.selection:c.inactive;return J(Y,{flexDirection:`row`,children:[q(X,{color:i,children:r?ye():ze()}),J(X,{color:Cu(e.operation,c),children:[Su(e.operation),` `]}),q(X,{color:i,children:xu(e.path)}),e.addedLines>0&&J(X,{color:c.diffAdd,children:[` +`,e.addedLines]}),e.removedLines>0&&J(X,{color:c.diffRemove,children:[` -`,e.removedLines]})]},`${e.path}-${e.timestamp}`)}),h.hasMoreBelow&&q(X,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function Tu(e={}){return{tasks:[],tasksTitle:void 0,turnBoundaries:[],editedFiles:[],backgroundTasks:[],subagentsAccum:new Map,scheduleTasks:[],drafts:e.drafts??[],queued:[],pendingPermission:null,clipboardChars:0,clipboardText:``,clipboardFailed:!1,backgroundOutput:null,subagentContext:null,forcedUpgrade:null,pendingEcho:null,pendingSteers:[],modelName:e.modelName??``,pluginStatusItems:[],statusWidgets:[],needsSetup:e.needsSetup??!1,permissionMode:e.permissionMode??`auto`,commands:e.commands??[],paneOwnsViewportFlag:!1,shellExecution:null,recentMentions:e.recentMentions??[],sessionList:[],sessionTitle:``}}function Eu(e={}){let t=Ln(Tu(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(Tu(e))},setNotify(e){n=e},setEffects(e){r=e},actions:{setTasks(e,n){t.setState({tasks:e}),t.setState({tasksTitle:n}),i()},setEditedFiles(e){t.setState({editedFiles:e.sort((e,t)=>t.timestamp-e.timestamp)}),i()},addEditedFile(e){let n=[...t.getState().editedFiles],r=n.findIndex(t=>t.path===e.path);r>=0?n[r]=bu(n[r],e):n.push(e),n.sort((e,t)=>t.timestamp-e.timestamp),t.setState({editedFiles:n}),i()},setBackgroundTasks(e){if(t.setState({backgroundTasks:e}),e.some(e=>e.type===`agent-session`)){let n=new Map(t.getState().subagentsAccum);for(let t of e)t.type===`agent-session`&&n.set(t.id,t);t.setState({subagentsAccum:n})}i()},setTurnBoundaries(e){t.setState({turnBoundaries:[...e]})},addTurnBoundary(e){t.setState({turnBoundaries:[...t.getState().turnBoundaries,e]})},setDrafts(e){t.setState({drafts:e}),i()},setScheduleTasks(e){t.setState({scheduleTasks:e}),i()},setRecentMentions(e){t.setState({recentMentions:e}),i()},setModelName(e){t.setState({modelName:e}),i()},setSessionList(e){t.setState({sessionList:e}),i()},setSessionTitle(e){t.setState({sessionTitle:e}),i()},setNeedsSetup(e){t.getState().needsSetup!==e&&(t.setState({needsSetup:e}),i())},setPermissionMode(e){t.setState({permissionMode:e}),i()},setForcedUpgrade(e){t.setState({forcedUpgrade:e}),r.syncForcedUpgradeRoute?.(!!e),i()},setPluginStatusItems(e){t.setState({pluginStatusItems:e}),r.registerStatusItems?.(e),i()},setBackgroundOutput(e){t.setState({backgroundOutput:e}),r.backgroundOutputRoute?.(e!==null),r.flushScrollbackIfIdle?.(),i()}}}}function Du(){let e=Ln({memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]});return{store:e,reset(){e.setState({memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]})},setMemory(t){let n=[...e.getState().memoryHistory,t.heapUsed].slice(-32);e.setState({memory:t,memoryHistory:n})},setNotify(t){e.setState({notify:t})},setIndicatorLevel(t){e.setState({indicatorLevel:t})},setPluginMetrics(t){e.setState({pluginMetrics:t})}}}function Ou(){let e=Ln({view:null});return{store:e,setView(t){e.setState({view:t})}}}function ku(){return{view:{configPath:`~/.otto/config.json`}}}function Au(){let e=Ln(ku());return{store:e,setView(t){e.setState({view:t})}}}function ju(e=Date.now){let t=Ln({entries:[]}),n=1,r=r=>{let i=[{...r,id:n++,timestamp:e()},...t.getState().entries].slice(0,20);t.setState({entries:i})};return{store:t,recordCompaction(e,t,n){r({kind:`compact`,before:e,after:t,summary:n})},recordPrune(e,t){r({kind:`prune`,tokensSaved:e,prunedCount:t})},recordHistoryCapped(e){r({kind:`history_capped`,removedCount:e})}}}const Mu={categoryIndex:0,itemIndex:0,variantIndex:0};function Nu(){let e=Ln({...Mu});return{store:e,reset(){e.setState({...Mu})},setCategoryIndex(t){e.setState({categoryIndex:t,itemIndex:0,variantIndex:0})},setItemIndex(t){e.setState({itemIndex:t,variantIndex:0})},setVariantIndex(t){e.setState({variantIndex:t})}}}function Pu(e){let{taskStore:t,budgetStore:n,perfStore:r,cacheStore:i,proxyStore:a,compactionLogStore:o,galleryStore:s,streamStore:c}=e;return{taskStore:W(()=>t??Eu(),[t]),budgetStore:W(()=>n??yu(),[n]),perfStore:W(()=>r??Du(),[r]),cacheStore:W(()=>i??Ou(),[i]),proxyStore:W(()=>a??Au(),[a]),compactionLogStore:W(()=>o??ju(),[o]),galleryStore:W(()=>s??Nu(),[s]),streamStore:W(()=>c??ol(),[c])}}const Fu=[{en:`Use ↑/↓ for input history; Ctrl+R opens fuzzy history search.`,zh:`输入框里按 ↑/↓ 浏览历史输入,Ctrl+R 模糊搜索历史。`},{en:`Use /feedback to report a bug or request a feature via GitHub.`,zh:`输入 /feedback 可通过 GitHub 提交 bug 或功能建议。`},{en:`During a run, press Esc on an empty prompt to interrupt and steer.`,zh:`运行时输入框为空按 Esc 可中断,otto 停下来让你接管方向。`},{en:`During a run, Shift+Enter queues a follow-up; Ctrl+Q manages it.`,zh:`运行中按 Shift+Enter 排队追加消息(本回合后执行),Ctrl+Q 管理队列。`},{en:`While otto works, plain Enter steers the current turn.`,zh:`otto 工作中按普通 Enter 可注入引导消息到当前回合。`},{en:`Type /model then Tab to pick a model and switch mid-session.`,zh:`输入 /model 后按 Tab 自动补全可用模型,会话中途即可切换。`},{en:`Use /install for skills/plugins/MCP; manage them in /extension.`,zh:`/install 从文件或 URL 安装技能/插件/MCP,/extension 面板管理。`},{en:`Reasoning streams inline; /effort changes its intensity.`,zh:`推理过程实时内联在对话流中生成,/effort 调节推理强度。`},{en:`Type /open then Tab to browse and open files in the viewer.`,zh:`输入 /open 按 Tab 浏览目录,在内置查看器打开文件。`},{en:`Ctrl+S saves the current input as a draft; Ctrl+O lists and loads drafts.`,zh:`Ctrl+S 把当前输入存为草稿,Ctrl+O 打开草稿面板选择载入。`},{en:`Ctrl+R or /history searches session and shell history.`,zh:`Ctrl+R(或 /history)搜索会话与 shell 历史,选中即回填。`},{en:`Large pastes become chips; press Enter on a chip to view it.`,zh:`大段粘贴自动折叠成占位标记,光标停在标记上按 Enter 查看原文。`},{en:`Use /compact to free context; /compact log shows pruned items.`,zh:`长会话用 /compact 释放上下文,/compact log 查看裁剪明细。`},{en:"Run `otto doctor` in another terminal for a full health check.",zh:"在另一个终端运行 `otto doctor` 做完整环境健康诊断。"},{en:`Otto can fall back to another model after failure or rate limits.`,zh:`当前模型失败或限流时,otto 自动回退到已配置的其他模型。`},{en:`Use /schedule add with cron syntax for recurring tasks.`,zh:`/schedule add 用 cron 表达式设定期任务(如日报)。`},{en:`Use /queue to reorder or remove queued follow-ups.`,zh:`/queue 面板管理排队消息,move 调顺序,remove 删除。`},{en:`Tab completes slash commands and arguments: /model gpt<Tab>.`,zh:`Tab 补全斜杠命令及其参数(试试 /model gpt<Tab>)。`},{en:`Ctrl+P opens Delegates; press Enter to view job output.`,zh:`Ctrl+P 打开委派面板查看后台任务,Enter 实时查看其输出。`},{en:`Use /job <directive> to run work in a background worktree.`,zh:`/job <指令> 在后台 worktree 跑任务,不阻塞当前会话。`},{en:`Language, model, and permission mode persist across sessions.`,zh:`语言、模型、权限模式跨会话自动持久化。`},{en:`Ctrl+V lists edited files; Enter opens a full-screen diff.`,zh:`Ctrl+V 列出本会话修改的文件及 +/- 统计,Enter 打开全屏 diff。`},{en:`Scroll with Alt+↑/↓ or PgUp/PgDn; press / in review to search.`,zh:`Alt+↑/↓ 或 PageUp/PageDown 滚动对话流,回看态按 / 搜索。`},{en:`Use /perf for memory and rendering health; /diagnose for failures.`,zh:`/perf 查看内存占用与渲染健康度,/diagnose 汇总反复出现的失败并给改进建议。`},{en:`Use /preference to switch theme or language.`,zh:`/preference theme 切 dark/light/system 主题,/preference lang 切中英文。`},{en:`Wheel scrolling works by default; drag to select, release to copy.`,zh:`滚轮/触控板开箱即用,拖拽即选中、松手自动复制。`},{en:`Use /upgrade for otto updates; /upgrade --check checks extensions.`,zh:`/upgrade 检查 otto 更新,/upgrade --check 检查扩展更新。`},{en:`Use /resume for recent sessions; /pin keeps favorites on top.`,zh:`/resume 切换最近会话,/pin 把常用会话置顶。`}];function Iu({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,o]=K(!1),[s,c]=K(()=>Lu()),l=G(e);l.current=e;let u=G(0),[f,p]=K(0);if(d(`idle-tip-activity`,()=>{u.current+=1,p(u.current)},{isActive:e}),U(()=>{if(!e){o(!1);return}o(!1);let t=setTimeout(()=>{l.current&&o(!0)},r);return()=>{clearTimeout(t)}},[e,t,r,f]),U(()=>{if(!a)return;let e=setInterval(()=>{c(e=>(e+1)%Fu.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let m=Fu[s%Fu.length];return m?n?m.zh:m.en:null}function Lu(){let e=new Date,t=`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return Math.abs(n)%Fu.length}function Ru(){return q(Y,{children:q(X,{color:C().warning,children:`🕶 ${B.t(`welcome.shadowChip`)}`})})}function zu(){let e=C();return J(Y,{flexDirection:`column`,marginBottom:1,children:[q(X,{bold:!0,color:e.warning,children:`🕶 ${B.t(`welcome.shadowBannerTitle`)}`}),q(X,{color:e.suggestion,children:B.t(`welcome.shadowGuarantee`)}),J(Y,{marginTop:1,flexDirection:`column`,children:[q(X,{color:e.inactive,children:B.t(`welcome.shadowNotGuaranteedTitle`)}),q(X,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg1`)}`}),q(X,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg2`)}`}),q(X,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg3`)}`}),q(X,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg4`)}`})]})]})}const Bu=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],Vu=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function Hu(e){let t=2*e;return 375+t+188+t}function Uu(e){return 2*e}function Wu(e,t){return Math.min(t,Math.floor(e/2)+1)}function Gu(e,t){let n=Uu(t),r=e%Hu(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:Wu(i,t),t:i};let a=i-n;if(a<188)return{phase:`hold`,progress:t,t:a};let o=a-188;return o<n?{phase:`exiting`,progress:Wu(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function Ku(e){let t=e%16;return t<=8?t/8:(16-t)/8}function qu(e){return Math.floor(e/3)%Bu.length}function Ju(e,t,n){let r=n===`light`?Vu:Bu,i=qu(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function Yu(e,t){let n=parseInt(e.slice(1),16),r=n>>16&255,i=n>>8&255,a=n&255,o=e=>Math.round(e+(255-e)*t),s=e=>e.toString(16).padStart(2,`0`).toUpperCase();return`#${s(o(r))}${s(o(i))}${s(o(a))}`}function Xu(e,t,n,r,i,a,o){let s=i===`light`?Vu:Bu,c=a.phase===`hold`?Ku(a.t):0,l=[];for(let i=0;i<e.length;i++){let u=a.phase===`hold`||a.phase===`entering`&&i<a.progress||a.phase===`exiting`&&i>=a.progress,d=Math.abs(i-t)<=n,f;if(u){let e=s[(i+r)%s.length];f=Yu(e,d?.5+.25*c:.5*c)}else f=d?o.brandShimmer:o.brand;let p=l[l.length-1];p&&p.color===f?p.text+=e[i]:l.push({text:e[i],color:f})}return l}const Zu=[`✦`,`✧`,`·`,`⋆`],Qu=[`~`,`°`,`·`,`˘`,`∼`],$u=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],ed=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],td=[{left:1,phase:16}],nd=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],rd=[{left:3,phase:15},{left:10,phase:35}];function id(e,t){let n=(e+t)%32,r=n<=16?n/16:(32-n)/16;return r<.15?0:r<.5?1:r<.85?2:3}function ad(e,t){let n=(e+t)%70,r=(Math.sin(n/70*Math.PI*2)+1)/2;return r<.1?0:r<.4?1:r<.75?2:3}function od(e,t){return Qu[Math.floor((e+t)/8)%Qu.length]}function sd({isNight:e=!1}){let t=C(),{resolvedTheme:n}=at(),[r,i]=V.useState(0),a=Me();Fe(80,i);let o=e&&!a,s=!e&&!a,c=a?null:Gu(r,$u[0].length),l=qu(r),u={brand:t.brand,brandShimmer:t.brandShimmer},d=e=>e===1?t.accentDim:e===3?t.accentBright:t.accent,f=(e,t,n)=>{let i=id(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Zu[n%Zu.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=ad(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:od(r,e.phase)})},`ripple-${n}`)};return J(Y,{position:`relative`,flexDirection:`column`,children:[$u.map((e,i)=>{let a=$c(r+i*3,e.length);return q(Y,{flexDirection:`row`,children:c&&c.phase!==`brand`?Xu(e,a,2,l,n,c,u).map((e,t)=>q(X,{bold:!0,color:e.color,children:e.text},t)):Qc(e,a,2).map((e,n)=>q(X,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&ed.map((e,t)=>f(e,-1,t)),o&&td.map((e,t)=>f(e,$u.length,t)),s&&nd.map((e,t)=>p(e,-1,t)),s&&rd.map((e,t)=>p(e,$u.length,t))]})}const cd=[`provider`,`authentication`,`model`],ld={provider:{titleKey:`recovery.titleProvider`,ctaKey:`recovery.ctaProvider`,hintKey:`recovery.hintProvider`},authentication:{titleKey:`recovery.titleAuth`,ctaKey:`recovery.ctaAuth`,hintKey:`recovery.hintAuth`},model:{titleKey:`recovery.titleModel`,ctaKey:`recovery.ctaModel`,hintKey:`recovery.hintModel`}};function ud(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=ld[e],r=cd.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:cd.length}}function dd({version:e=`0.1.0`,buildId:t,cwd:n,width:r,nickname:i,updateAvailable:a,weather:s,ftueStage:c,shadow:l=!1}){let u=C(),d=n?n.replace(process.env.HOME??`~`,`~`):void 0,f=r??process.stdout.columns??80,p=f>=60,m=V.useMemo(()=>{let e=new Date().getHours();return e<5?`late`:e<9?`earlyMorning`:e<12?`morning`:e<18?`afternoon`:e<22?`evening`:`night`},[]),h=m===`night`||m===`late`,[g]=V.useState(()=>{let e=new Date,t=B.language===`zh`?[`日`,`一`,`二`,`三`,`四`,`五`,`六`]:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],n=t[e.getDay()]??t[0],r=i?B.language===`zh`?`,${i}`:`, ${i}`:``;return B.t(`welcome.greeting`,{context:m,wday:n,who:r})}),_=g,v=B.t(`welcome.version`),y=B.t(`welcome.workspace`),b=Math.max($e(v),$e(y))+4,x=$u.map(e=>$e(e)),S=Math.max(...x),w=e=>` `.repeat(Math.max(0,S-(x[e]??S))),T=c?ud(c,f):null;return q(Y,{flexDirection:`column`,children:J(Y,{flexDirection:`column`,paddingX:A.tight,paddingTop:A.section,...pt,borderColor:u.panelBorder,children:[p&&J(Y,{marginBottom:A.tight,flexDirection:`row`,children:[q(sd,{isNight:h}),J(Y,{flexDirection:`column`,marginLeft:A.loose,children:[J(Y,{flexDirection:`row`,children:[J(O,{type:`secondary`,children:[w(0),o(v,b)]}),J(O,{type:`secondary`,children:[`v`,e]}),t!=null&&J(O,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]}),a&&a.newer&&J(X,{color:a.forced?u.warning:u.accent,children:[` `,a.forced?B.t(`update.forcedBanner`,{latest:a.latest}):B.t(`update.availableBanner`,{latest:a.latest})]})]}),d&&J(Y,{flexDirection:`row`,children:[J(O,{type:`secondary`,children:[w(1),o(y,b)]}),q(O,{type:`secondary`,children:d})]})]})]}),!p&&J(Y,{flexDirection:`column`,marginBottom:A.tight,children:[J(Y,{flexDirection:`row`,children:[Qc(`otto`,1).map((e,t)=>q(X,{bold:!0,color:e.bright?u.brandShimmer:u.brand,children:e.text},t)),q(O,{type:`secondary`,children:` ${o(v,b)}`}),J(O,{type:`secondary`,children:[`v`,e]}),t!=null&&J(O,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]})]}),d&&J(Y,{flexDirection:`row`,children:[q(O,{type:`secondary`,children:` ${o(y,b)}`}),q(O,{type:`secondary`,children:d})]})]}),q(Y,{marginBottom:A.tight,children:i&&_.includes(i)?J(X,{color:u.text,bold:!0,children:[_.slice(0,_.indexOf(i)),q(X,{color:u.accent,children:i}),_.slice(_.indexOf(i)+i.length)]}):q(X,{color:u.text,bold:!0,children:_})}),T&&J(Y,{flexDirection:`column`,marginBottom:A.tight,children:[J(Y,{children:[q(X,{color:u.warning,bold:!0,children:B.t(T.titleKey)}),q(O,{type:`secondary`,children:` ${T.step}/${T.totalSteps}`})]}),T.hintKey&&q(O,{type:`secondary`,children:B.t(T.hintKey)}),q(X,{color:u.accent,children:B.t(T.ctaKey)})]}),l&&q(zu,{}),s&&J(Y,{marginBottom:A.tight,children:[J(X,{color:u.accent,children:[s.condition,` `,s.temp,`°C`]}),J(O,{type:`secondary`,children:[` `,s.location]})]})]})})}function fd(e,t){let n=ca();U(()=>{if(n)return n.registerWheel(e)},[n,...t])}function pd({title:e,status:t,messages:n,streamText:r=``,rows:a=24,columns:o=80,onDismiss:l}){let u=C(),d=i();s(`subagent-context-view`,(e,t)=>t.escape?(l?.(),!0):t.upArrow?(h(e=>x(e+1)),!0):t.downArrow?(h(e=>x(e-1)),!0):t.pageUp?(h(e=>x(e+y)),!0):t.pageDown?(h(e=>x(e-y)),!0):e===`g`&&!t.ctrl&&!t.meta?(h(b),!0):e===`G`&&!t.ctrl&&!t.meta?(h(0),!0):!1,{isActive:d?d.currentPath===`/subagent`:!0});let f=[];for(let e of n){let t=nc(e,o);t.length>0&&f.push(t)}let p=[];for(let e=0;e<f.length;e++)e>0&&p.push(``),p.push(...f[e]);let[m,h]=K(0),g=m===0,_=Zc(r,o-ge.borderInset,3);if(g&&_.length>0){p.length>0&&p.push(``),p.push(`⏺ assistant (streaming)`);for(let e of _)p.push(` ${e}`)}let v=c(a),y=Math.max(1,v-7),b=Math.max(0,p.length-y),x=e=>Math.min(b,Math.max(0,e)),S=b-x(m),w=p.slice(S,S+y);return fd(e=>h(t=>x(t+e*3)),[b]),J(T,{maxHeight:v,header:J(Y,{flexDirection:`column`,children:[q(X,{color:u.secondary,italic:!0,children:B.t(`subagent.header`,{title:e,status:t})}),q(X,{children:` `})]}),footer:q(k,{items:[...b>0?[[`${j.up}${j.down}`,B.t(`hint.scroll`)]]:[],[j.esc,B.t(`hint.back`)]]}),children:[q(Y,{height:1,children:S>0&&q(O,{type:`secondary`,dim:!0,children:B.t(`subagent.contextEarlierLines`,{n:S})})}),q(Y,{flexDirection:`column`,children:w.map((e,t)=>q(X,{children:e},`${S+t}`))})]})}const md=[{thresholdSec:0,stage:{labelKey:`analyze`,capPercent:30}},{thresholdSec:3,stage:{labelKey:`summarize`,capPercent:80}},{thresholdSec:8,stage:{labelKey:`finalize`,capPercent:92}}];function hd(e){let t=Number.isFinite(e)?e:0,n=md[0].stage;for(let{thresholdSec:e,stage:r}of md)if(t>=e)n=r;else break;return n}const gd=st,_d=3e3;function vd(e){let t=100*(1-Math.exp(-Math.max(0,e)/8));return Math.min(92,Math.round(t))}function yd({verb:e,elapsed:t=!0,paused:n=!1,responseLength:r=0,hasActiveTools:i=!1,tokens:a=0,mode:o,progressPercent:s,toolTurnCount:c=0,maxToolTurns:l=0,estimatedProgress:u=!1}){let d=C(),[f,p]=K(0),[m,h]=K(0),[g,_]=K(0),v=G(Date.now()),y=G(0),b=G(r),x=G(null),S=G(-1),w=G(e??(()=>{let e=B.t(`spinner.verbs`,{returnObjects:!0});return e[Math.floor(Math.random()*e.length)]})()),T=G(r),E=G(i);T.current=r,E.current=i;let ee=Me(),D=G(n);D.current=n,Fe(160,()=>{if(D.current)return;let e=Date.now()-v.current-y.current;p(Math.floor(e/160)%gd.length)}),U(()=>{let e=setInterval(()=>{if(n)return;let e=Date.now()-v.current-y.current,t=Math.floor(e/1e3);t!==S.current&&(S.current=t,h(e));let r=T.current,i=b.current;if(i>0&&i===r&&!E.current)if(x.current===null)x.current=Date.now();else{let e=Date.now()-x.current;e>=_d&&_(Math.min(1,(e-_d)/2e3))}else b.current=r,x.current=null,_(0)},160);return()=>clearInterval(e)},[n]),U(()=>{n?y.current=Date.now()-v.current:(v.current=Date.now()-y.current,y.current=0)},[n]);let te=g>0,ne=gd[f],O=Math.floor(m/1e3),k=[];if(t&&k.push({text:yo(O)}),a>0&&k.push({text:`↓ ${B.t(`budget.tokensLabel`,{count:a})}`}),o===`responding`&&s!==void 0&&Number.isFinite(s)){let e=Math.max(0,Math.min(100,Math.round(s)));k.push({text:B.t(`spinner.outputPercent`,{pct:e})})}let re=u?hd(O):null;if(re){let e=Math.min(re.capPercent,vd(O));k.push({text:B.t(`spinner.estimatedPercent`,{pct:e})})}l>0&&k.push({text:B.t(`tool.budgetLabel`,{used:c,max:l}),color:el(c,l)});let ie=te?d.error:d.accent,j=re?`${B.t(`compact.ionStageLabel`,{context:re.labelKey})}…`:`${e??w.current}…`,ae=te||ee?null:Qc(j,$c(f,j.length)),oe=o===`requesting`?R.requesting:o===`responding`?R.responding:null;return J(Y,{flexDirection:`row`,marginTop:A.tight,children:[q(X,{color:ie,children:ne}),q(X,{children:` `}),oe&&J(Ft,{children:[q(X,{dimColor:!0,color:d.inactive,children:oe}),q(X,{children:` `})]}),ae?ae.map((e,t)=>q(X,{color:e.bright?d.text:d.inactive,bold:e.bright,children:e.text},t)):q(X,{color:te?d.error:d.text,children:j}),k.length>0&&J(Ft,{children:[q(X,{color:d.inactive,children:` (`}),k.map((e,t)=>J(V.Fragment,{children:[t>0&&q(X,{color:d.inactive,children:` · `}),q(X,{color:e.color??d.inactive,children:e.text})]},t)),q(X,{color:d.inactive,children:`)`})]})]})}function bd({streamStore:e,pendingPermission:t}){let n=Z(e.store,e=>e.streamingText),r=Z(e.store,e=>e.streamingThinking),i=Z(e.store,e=>e.spinnerMode),a=Z(e.store,e=>e.toolTurnCount),o=Z(e.store,e=>e.maxToolTurns),s=Z(e.store,e=>e.processing),c=Z(e.store,e=>e.activeTool),l=Z(e.store,ll),u=Z(e.store,cl);if(!s||t||r)return null;let d=c===po,f=d?B.t(`compact.ingVerb`):c?B.t(`bg.runningVerb`,{tool:c}):void 0;return q(yd,{hasActiveTools:!!c,responseLength:n.length,tokens:l,verb:f,mode:i??void 0,progressPercent:u,toolTurnCount:a,maxToolTurns:o,estimatedProgress:d})}function xd(e,t,n=60){if(e.length===0)return null;let r=Math.max(0,Math.min(t,e.length-1));for(let t=r;t>=0;t--){let r=e[t];if(!r||r.role!==`user`)continue;let i=Sd(r.content);if(i)return wd(i,n)}return null}function Sd(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:Cd(e)?e.text:``).filter(Boolean).join(` `).trim():Cd(e)?String(e.text).trim():``}function Cd(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function wd(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function Td(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:M(n,t)}function Ed({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:Td(i,r)}function Dd(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function Od(e){let t=Xl(),{taskStore:n}=Wl(),r=Z(n.store,e=>e.sessionTitle),i=Z(n.store,e=>e.sessionList),a=Z(n.store,e=>e.needsSetup),o=Z(n.store,e=>e.pendingPermission),s=Z(n.store,e=>e.subagentContext),c=Z(n.store,e=>e.pendingEcho),l=Z(n.store,e=>e.pendingSteers),u=Z(e.scrollStore.store,e=>e.offset>0),[d,f]=V.useState(null);V.useEffect(()=>{s&&f(null)},[s]);let p=Z(e.scrollStore.store,e=>e.offset),m=Z(e.scrollStore.store,e=>e.totalLines),h=V.useMemo(()=>{if(!u)return null;let t=Math.max(0,e.messages.length-1-Math.floor(p/3));return xd(e.messages,t)},[u,p,e.messages]),g=a?`model`:void 0;if(e.welcome&&e.showHome)return q(dd,{version:e.welcome.version,buildId:e.welcome.buildId,cwd:e.welcome.cwd,width:e.columns,nickname:e.welcome.nickname,updateAvailable:e.welcome.updateAvailable,weather:e.welcome.weather,sessionList:i,onSessionSelect:t.onSessionSelect,ftueStage:g,shadow:e.shadow});let _=Ed({sessionTitle:r,reviewing:u,turnPrompt:h,maxWidth:Math.max(1,e.columns-2)}),v=m>0&&m<=Math.max(1,e.rows),y=_.length>0&&!Dd(_)&&!v,b=Math.max(1,e.rows-(y?1:0)-(d?1:0));return J(Y,{flexDirection:`column`,flexGrow:1,justifyContent:`flex-end`,children:[y&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:`${R.userPrompt} ${_}`})}),s?(()=>{let n=s;return q(pd,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:b,columns:e.columns,onDismiss:t.onExitSubagentContext})})():J(Ft,{children:[q(ul,{streamStore:e.streamStore,completedMessages:e.messages,columns:e.columns,rows:b,maxPreviewRows:e.fullScreenPaneActive?0:e.maxPreviewRows,suppressLive:e.fullScreenPaneActive||u,pendingEcho:c??null,scrollbackMode:e.scrollbackMode??!1,pendingSteers:l??[],windowMode:e.windowMode,scrollStore:e.scrollStore,earlierLoading:e.earlierLoading,earlierEnded:e.earlierEnded,onNeedEarlier:e.onNeedEarlier,onPrepend:e.onPrepend,findQuery:e.findQuery,findActiveMatch:e.findActiveMatch,onFindNavigateTo:e.onFindNavigateTo,onFindCountChange:e.onFindCountChange,onReviewHintChange:f,renderReviewHint:!1}),!e.fullScreenPaneActive&&q(bd,{streamStore:e.streamStore,pendingPermission:o??null})]}),d&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:d})})]})}const kd=$e(` · `),Ad=$e(`←`)+4;function jd(e,t,n,r){let i=e.map((e,n)=>({item:e,index:n,label:t(e)}));if(e.length===0)return{items:[],hiddenLeft:0,hiddenRight:0};if(r===void 0||!Number.isFinite(r)||r<=0)return{items:i,hiddenLeft:0,hiddenRight:0};let a=Math.max(0,Math.min(n,e.length-1)),o=e=>$e(i[e].label)+2;if(i.reduce((e,t,n)=>e+o(n),0)+(i.length-1)*kd<=r)return{items:i,hiddenLeft:0,hiddenRight:0};let s=Math.max(6,r-Ad*2),c=a,l=a+1,u=Math.min(o(a),s);for(;;){let e=l<i.length,t=c>0;if(!e&&!t)break;let n=!1;if(e){let e=o(l)+kd;u+e<=s&&(u+=e,l++,n=!0)}if(t){let e=o(c-1)+kd;u+e<=s&&(u+=e,c--,n=!0)}if(!n)break}return{items:i.slice(c,l).map(e=>{let t=Math.max(1,s-2);return $e(e.label)>t?{...e,label:M(e.label,t)}:e}),hiddenLeft:c,hiddenRight:i.length-l}}function Md({label:e,active:t,disabled:n,color:r=`accent`}){return q(I,{variant:`ghost`,color:r,label:e,focused:t,disabled:n})}function Nd({items:e,activeKey:t,color:n=`accent`,tabIndex:r=-1,onSelect:i,availableWidth:a,enableDigitAccess:o=!1}){let c=C(),{focused:l}=ee({tabIndex:r,disabled:r<0}),u=(n,r)=>{if(!i||e.length===0)return!1;let a=e.findIndex(e=>e.key===t);if(r.leftArrow||r.rightArrow)return i(e[(a+(r.leftArrow?-1:1)+e.length)%e.length].key),!0;if(o&&n>=`1`&&n<=`9`){let t=n.charCodeAt(0)-49;return t<e.length&&!e[t].disabled?(i(e[t].key),!0):!1}return!1};ne(l,u),s(`segmented-${e.map(e=>e.key).join(`-`)}`,u,{isActive:!!i&&!l});let d=jd(e,e=>e.label,e.findIndex(e=>e.key===t),a);return J(Y,{flexDirection:`row`,gap:A.tight,children:[d.hiddenLeft>0&&q(X,{color:c.inactive,children:`←${d.hiddenLeft}`}),d.items.map((e,r)=>J(V.Fragment,{children:[r>0&&q(X,{color:c.inactive,children:`·`}),q(Md,{label:e.label,active:e.item.key===t,disabled:e.item.disabled,color:n})]},e.item.key)),d.hiddenRight>0&&q(X,{color:c.inactive,children:`→${d.hiddenRight}`})]})}const Pd={running:R.todoActive,exited:R.check,killed:R.cross,failed:R.cross};function Fd(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function Id(e){if((e.type??`process`)===`agent-session`)switch(e.agentStatus){case`running`:return R.todoActive;case`ready`:return R.attention;case`needs_input`:return R.attention;case`applied`:return R.check;default:return R.cross}return Pd[e.status]}function Ld(e,t){if((e.type??`process`)===`agent-session`){if(e.stall===`stalled`)return t.error;if(e.stall===`warn`)return t.warning;switch(e.agentStatus){case`running`:return t.special;case`ready`:return t.selection;case`needs_input`:return t.warning;case`applied`:return t.success;default:return t.error}}return Fd(e.status,t)}function Rd({tasks:e,columns:t=80,onClose:r,onKill:i,onViewOutput:a,onApply:o,onSwitch:c,onDelete:l,active:u=!0,rows:d=24}){let f=C(),[p,m]=na(`delegates`,e.length),h=G(0),g=e.some(e=>(e.type??`process`)===`agent-session`?e.agentStatus===`running`:e.status===`running`),[,_]=K(0);U(()=>{if(!g)return;let e=setInterval(()=>_(e=>(e+1)%1e6),1e3);return()=>clearInterval(e)},[g]),s(`delegates-pane`,(t,n)=>{if(n.escape||t===`q`)return r?.(),!0;if(pe(`list-nav-up`,t,n,`background`))return m(e=>Math.max(0,e-1)),!0;if(pe(`list-nav-down`,t,n,`background`))return m(t=>Math.max(0,Math.min(e.length-1,t+1))),!0;let s=e[p],u=s?vo(s):!1;return t===`k`&&u&&s?(i?.(s.id),!0):(t===`o`||n.return)&&s?(a?.(s.id),!0):t===`a`&&s?.type===`agent-session`&&s.agentStatus===`ready`&&s.diffStat?(o?.(s.id),!0):t===`s`&&s?.type===`agent-session`?(c?.(s.id),!0):t===`d`&&s&&!u?(l?.(s.id),!0):!1},{isActive:u,ignoreRoute:!0});let v=e.filter(vo).length,y=Date.now(),b=Math.max(12,Math.min(48,t-28));if(!u){if(e.length===0)return null;let t=e[Math.min(p,e.length-1)];return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:f.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`bg.tasksTitle`)}),J(O,{type:`secondary`,children:[` `,e.length]}),v>0&&J(O,{type:`secondary`,children:[` · `,B.t(`bg.runningSuffix`,{n:v})]}),J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`p`)]})]}),t&&J(Y,{flexDirection:`row`,children:[q(X,{color:f.inactive,children:`${R.pointer} `}),q(X,{color:f.inactive,children:M(t.command,b).padEnd(b)}),J(O,{type:`secondary`,dim:!0,children:[` `,wo(t,y)]})]})]})}let x=e[Math.min(p,e.length-1)],S=(x?.type??`process`)===`agent-session`&&x?.agentStatus===`ready`&&!!x?.diffStat,w=!!x&&!vo(x),T=Math.min(p,e.length-1),E=[],ee,D=0;e.forEach((e,t)=>{let n=go(e);n!==ee&&(D>0&&E.push({type:`spacer`}),E.push({type:`header`,category:n}),D++,ee=n),E.push({type:`entry`,task:e,index:t})});let te=_t(E,E.findIndex(e=>e.type===`entry`&&e.index===T),n(E.length,d,3),h.current);return h.current=te.scrollTop,J(Y,{flexDirection:`column`,marginTop:A.tight,children:[J(Y,{children:[q(X,{color:f.special,children:`▸ `}),q(X,{color:f.text,children:B.t(`bg.tasksTitle`)}),J(O,{type:`secondary`,children:[` `,v>0?B.t(`bg.runningSuffix`,{n:v}):`${e.length} total`,e.length>v?` · ${B.t(`bg.doneSuffix`,{n:e.length-v})}`:``]}),q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[`k`,B.t(`hint.kill`)],[`o`,B.t(`hint.output`)],...S?[[`a`,B.t(`hint.apply`)]]:[],...w?[[`d`,B.t(`hint.delete`)]]:[],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),q(Y,{marginLeft:A.section,flexDirection:`column`,children:e.length===0?q(O,{type:`secondary`,dim:!0,children:B.t(`bg.empty`)}):J(Ft,{children:[te.hasMoreAbove&&q(X,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),te.rows.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(O,{type:`secondary`,dim:!0,children:B.t(`bg.categoryLabel`,{context:e.category})},`h-${t}`);let n=e.task,r=e.index===p;return J(Y,{flexDirection:`row`,children:[q(X,{color:r?f.selection:f.inactive,children:r?ye():ze()}),J(X,{color:Ld(n,f),children:[Id(n),` `]}),q(X,{color:r?f.selection:f.inactive,children:M(n.command,b).padEnd(b)}),(n.type??`process`)===`agent-session`&&n.model&&J(O,{type:`secondary`,dim:!0,children:[` `,String(n.model)]}),J(O,{type:`secondary`,dim:!0,children:[` `,wo(n,y)]})]},n.id)}),te.hasMoreBelow&&q(X,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})})]})}function zd({view:e,columns:t=80,rows:n,active:r=!0,onDismiss:i}){let a=C(),o=e.prompt!==void 0,c=e.messages!==void 0&&e.messages.length>0,l=!!e.diff?.trim(),u=(o?1:0)+(c?1:0)+(l?1:0)>=2,[d,f]=K(l?`diff`:c?`conversation`:`prompt`),[p,m]=K(0),[h,g]=K(!1),[_,v]=K(``),[y,b]=K(-1),x=n?te(n,12):18;U(()=>m(0),[e.id,d]);let S=Math.max(8,t-ge.contentInset),w=[],E=[];if(d===`diff`)w=(e.diff??``).split(`
53
- `);else if(d===`prompt`)w=$a(e.prompt??``,S);else if(e.messages&&e.messages.length>0){let t=[];for(let n=0;n<e.messages.length;n++){let r=e.messages[n],i=nc(r,S);i.length!==0&&(t.length>0&&t.push(``),t.push(...i))}w=t,E=e.streamText?Zc(e.streamText,S-ge.borderInset,3):[]}let ee=d===`prompt`,D=d===`diff`,ne=e=>e.startsWith(`+`)&&!e.startsWith(`+++`)?a.diffAdd:e.startsWith(`-`)&&!e.startsWith(`---`)?a.diffRemove:e.startsWith(`@@`)||e.startsWith(`diff --git`)?a.special:a.secondary,re=e.status===`running`,ie=V.useMemo(()=>{if(!_)return{flat:[],byLine:new Map};let e=[],t=new Map;for(let n=0;n<w.length;n++){let r=va(Os(w[n]),_);if(r.length!==0){t.set(n,r);for(let t of r)e.push({line:n,range:t})}}return{flat:e,byLine:t}},[_,w]),ae=Po(w.length,x,p),oe=w.slice(ae.start,ae.end),se=_?oe.map((e,t)=>{let n=ae.start+t,r=ie.byLine.get(n);if(!r||r.length===0)return e;let i=y>=0?ie.flat[y]:void 0;return _a(e,r,i&&i.line===n?i.range:void 0)}):oe,ce=e.responseText?.split(`
54
- `)[0],[N,le]=K(!1);fd(e=>m(t=>Math.max(0,t+e)),[]),s(`delegates-pane-2`,(t,n)=>{if(h){if(n.escape)return g(!1),v(``),b(-1),!0;if(n.backspace)return v(e=>e.slice(0,-1)),b(-1),!0;if((t===`n`||t===`N`)&&_.length>0){let e=t===`n`?1:-1;return b(t=>ie.flat.length>0?(t+e+ie.flat.length)%ie.flat.length:-1),!0}return t.length===1?(v(e=>e+t),b(-1),!0):!0}return t===`/`&&!n.ctrl&&!n.meta?(g(!0),v(``),b(-1),!0):n.escape?(i?.(),!0):t===`]`&&u?(f(e=>{let t=[...l?[`diff`]:[],...c?[`conversation`]:[],...o?[`prompt`]:[]];return t[(t.indexOf(e)+1)%t.length]??e}),!0):t===`d`&&e.responseText?(le(e=>!e),!0):n.upArrow?(m(e=>e+1),!0):n.downArrow?(m(e=>Math.max(0,e-1)),!0):n.pageUp?(m(e=>e+x),!0):n.pageDown?(m(e=>Math.max(0,e-x)),!0):!1},{isActive:r,ignoreRoute:!0});let ue=J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[J(X,{color:Fd(e.status,a),children:[Pd[e.status],` `]}),q(X,{color:a.secondary,bold:!0,children:M(e.command,Math.max(12,t-12))}),q(O,{type:`secondary`,children:re?` ${R.statusDot} ${B.t(`bg.live`)}`:` ${B.t(`status.done`)}`})]}),ce&&J(Y,{flexDirection:`column`,children:[J(O,{type:`secondary`,dim:!0,children:[` `,ce,` `,q(X,{color:a.suggestion,children:`[d] ${N?B.t(`hint.collapse`):B.t(`find.tabDiagnostics`)}`})]}),N&&e.responseText&&q(Y,{flexDirection:`column`,marginTop:A.tight,children:e.responseText.split(`
55
- `).slice(1).map((e,t)=>q(X,{color:a.secondary,dimColor:!0,wrap:`truncate-end`,children:e===``?` `:e},t))})]}),q(X,{children:` `})]}),P=[...l?[{key:`diff`,label:B.t(`find.tabDiff`)}]:[],...c?[{key:`conversation`,label:B.t(`find.tabConversation`)}]:[],...o?[{key:`prompt`,label:B.t(`find.tabPrompt`)}]:[]];return J(T,{header:ue,footer:q(k,{dim:!0,items:[...u?[[`]`,B.t(`hint.switch`)]]:[],...e.responseText?[[`d`,N?B.t(`hint.collapse`):B.t(`find.tabDiagnostics`)]]:[],...w.length>x?[[`${j.up}${j.down}`,B.t(`hint.scroll`)]]:[],[j.esc,B.t(`hint.back`)]]}),children:[u&&q(Y,{marginBottom:A.tight,children:q(Nd,{items:P.map(e=>({key:e.key,label:e.label})),activeKey:d,availableWidth:t-4,onSelect:e=>f(e)})}),J(Y,{flexDirection:`column`,children:[h&&q(Y,{height:1,children:q(X,{color:a.selection,children:B.t(`transcript.findBar`,{query:_,count:ie.flat.length})})}),q(X,{color:a.special,dimColor:!0,children:ae.above>0?`↑ ${ae.above}`:` `}),w.length===0?q(O,{type:`secondary`,dim:!0,children:B.t(`bg.noOutput`)}):se.map((e,t)=>D?q(X,{color:ne(e),wrap:`truncate-end`,children:e===``?` `:e},ae.start+t):ee?q(X,{color:a.secondary,wrap:`truncate-end`,children:e===``?` `:e},ae.start+t):q(X,{wrap:`truncate-end`,children:e===``?` `:e},ae.start+t)),E.length>0&&q(Y,{flexDirection:`column`,children:E.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:a.replyPrefix,children:t===0?`${R.bullet} `:` `}),q(X,{children:e})]},t))}),q(X,{color:a.special,dimColor:!0,children:ae.below>0?`↓ ${ae.below}`:` `})]})]})}function Bd(e){let t=e.agentStatus??`running`;return t===`running`||t===`ready`||t===`needs_input`}function Vd(e,t){if(e.stall===`stalled`)return{ch:R.statusDot,color:t.error};if(e.stall===`warn`)return{ch:R.statusDot,color:t.warning};switch(e.agentStatus??`running`){case`running`:return{ch:R.statusDot,color:t.accent};case`needs_input`:return{ch:R.needsInput,color:t.warning};case`ready`:return{ch:R.check,color:t.success};case`applied`:return{ch:R.check,color:t.success};case`failed`:return{ch:R.cross,color:t.error};case`canceled`:return{ch:R.cross,color:t.inactive};default:return{ch:R.statusDot,color:t.inactive}}}function Hd(e){return M(e,44)}function Ud({tasks:e,focused:t,now:r,onDismiss:i,onSwitch:a,onViewOutput:o,rows:c=24}){let l=C(),[u,d]=na(`subagents`,e.length),f=G(0);if(s(`subagents-pane`,(t,n)=>{if(n.escape)return P()?.navigate(`/`,{reset:!0}),i?.(),!0;if(pe(`list-nav-up`,t,n,`subagents`))return d(e=>Math.max(0,e-1)),!0;if(pe(`list-nav-down`,t,n,`subagents`))return d(t=>Math.min(e.length-1,t+1)),!0;let r=e[Math.max(0,Math.min(u,e.length-1))];return n.return?(r&&a?.(r.id),!0):t===`s`?(r&&o?.(r.id),!0):!1},{isActive:t}),e.length===0)return null;let p=r??Date.now(),m=e.filter(Bd).length;if(!t)return J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`subagent.sTitle`)}),J(O,{type:`secondary`,children:[` `,e.length,m>0?` · ${B.t(`subagent.sRunning`,{n:m})}`:``]}),J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`t`)]})]});let h=Math.min(u,e.length-1),g=_t(e,h,n(e.length,c,3),f.current);return f.current=g.scrollTop,J(Y,{flexDirection:`column`,marginTop:A.tight,children:[J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(X,{color:l.text,children:B.t(`subagent.sTitle`)}),J(O,{type:`secondary`,children:[` `,e.length,m>0?` · ${B.t(`subagent.sRunning`,{n:m})}`:``]}),q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.switch`)],[`s`,B.t(`hint.view`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:A.section,flexDirection:`column`,children:[g.hasMoreAbove&&q(X,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),g.rows.map((e,t)=>{let n=g.scrollTop+t===h,r=Vd(e,l),i=n?l.selection:void 0;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?l.selection:l.inactive,children:n?ye():ze()}),J(X,{color:r.color,children:[r.ch,` `]}),q(X,{color:i??l.inactive,children:Hd(e.command)}),e.model&&J(O,{type:`secondary`,children:[` `,e.model,e.modelDecidedBy?` (${e.modelDecidedBy})`:``]}),J(O,{type:`secondary`,children:[` `,wo(e,p)]})]},e.id)}),g.hasMoreBelow&&q(X,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function Wd(e,t){return t===0?0:Math.max(0,Math.min(e,t-1))}function Gd(e,t,n){let r=globalThis;r[`__ottoSchedule${e===`run`?`Run`:e===`toggle`?`Toggle`:`Remove`}Request`]=e===`toggle`?{taskId:t,...n}:t}function Kd({tasks:e,focused:t,onDismiss:r,rows:i=24}){let a=C(),[c,l]=na(`schedule`,e.length),u=G(0);if(s(`schedule-pane`,(t,n)=>{if(n.escape)return P()?.navigate(`/`,{reset:!0}),r?.(),!0;if(pe(`list-nav-up`,t,n,`schedule`))return l(e=>Math.max(0,e-1)),!0;if(pe(`list-nav-down`,t,n,`schedule`))return l(t=>Math.min(e.length-1,t+1)),!0;let i=e[Math.max(0,Math.min(c,e.length-1))];return i?n.return||t===`r`?(Gd(`run`,i.id),!0):t===` `||t===`t`?(Gd(`toggle`,i.id,{enabled:!i.enabled}),!0):t===`d`?(Gd(`remove`,i.id),!0):!1:!1},{isActive:t}),e.length===0&&!t)return null;if(!t)return J(Y,{children:[q(X,{color:a.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`schedule.sLabel`)}),J(O,{type:`secondary`,children:[` `,e.length]}),J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`s`)]})]});let d=Wd(c,e.length),f=Math.min(32,Math.max(0,...e.map(e=>$e(e.name)))),p=_t(e,d,n(e.length,i,3),u.current);return u.current=p.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:a.special,children:`▸ `}),q(X,{color:a.text,children:B.t(`schedule.sLabel`)}),J(O,{type:`secondary`,children:[` `,e.length]}),q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[`↵/r`,B.t(`hint.execute`)],[`t`,B.t(`hint.toggle`)],[`d`,B.t(`hint.delete`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:A.section,flexDirection:`column`,children:[e.length===0&&q(O,{type:`secondary`,children:B.t(`schedule.sEmpty`)}),p.hasMoreAbove&&q(X,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),p.rows.map((e,t)=>{let n=p.scrollTop+t===d,r=e.lastFireFailed===!0,i=r?`!`:e.enabled?R.toggleOn:R.toggleOff,s=r?a.error:e.enabled?a.accent:a.inactive,c=n?a.selection:void 0,l=new Date(e.nextFireAt).toLocaleString(),u=e.recurring?e.cronExpression:B.t(`schedule.oneShot`),m=r&&e.lastFireError?` (failed: ${e.lastFireError})`:``;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?a.selection:a.inactive,children:n?ye():ze()}),J(X,{color:s,children:[i,` `]}),q(X,{color:c??a.inactive,children:o(e.name,f)}),J(O,{type:`secondary`,children:[` `,u,` `,B.t(`schedule.next`),l]}),m&&q(X,{color:a.error,children:m})]},e.id)}),p.hasMoreBelow&&q(X,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function qd({text:e,focused:t,columns:n=80,onDismiss:r,onOpenViewer:i}){let a=C();if(s(`clipboard-pane`,(e,t)=>t.escape?(P()?.navigate(`/`,{reset:!0}),r?.(),!0):t.return?(i?.(),!0):!1,{isActive:t}),e.length===0)return null;let o=Array.from(e).length;if(!t)return J(Y,{children:[q(X,{color:a.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`clipboard.paneTitle`)}),J(O,{type:`secondary`,children:[` `,B.t(`clipboard.charsLabel`,{count:o})]})]});let c=Math.max(10,n-A.section-2),l=e.split(`
56
- `),u=l.slice(0,5),d=l.length-u.length;return J(Y,{flexDirection:`column`,marginTop:A.tight,children:[J(Y,{children:[q(X,{color:a.special,children:`▸ `}),q(X,{color:a.text,children:B.t(`clipboard.paneTitle`)}),J(O,{type:`secondary`,children:[` `,B.t(`clipboard.charsLabel`,{count:o})]}),q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[j.enter,B.t(`clipboard.openHint`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:A.section,flexDirection:`column`,children:[u.map((e,t)=>q(X,{color:a.inactive,wrap:`truncate-end`,children:M(e===``?` `:e,c)},t)),d>0&&q(O,{type:`secondary`,dim:!0,children:` ${R.ellipsis} ${d} more`})]})]})}const Jd={pending:R.todoPending,in_progress:R.todoActive,done:R.check,skipped:R.todoPending,failed:R.cross};function Yd(e,t){switch(e){case`done`:return t.success;case`in_progress`:return t.accent;case`failed`:return t.error;case`skipped`:return t.warning;default:return t.inactive}}function Xd({tasks:e,title:t,collapsed:r=!1,selectedIndex:i,focused:a=!1,rows:o,onDismiss:c,onSelectIndex:l}){let u=C();s(`task-pane`,(t,n)=>n.escape?(c?.(),!0):pe(`list-nav-up`,t,n,`taskFocus`)?(l?.(e=>Math.max(0,e-1)),!0):pe(`list-nav-down`,t,n,`taskFocus`)?(l?.(t=>Math.min(e.length-1,t+1)),!0):!1,{isActive:a,ignoreRoute:!0});let d=G(0);if(e.length===0)return null;let f=e.filter(e=>e.status===`done`).length,p=e.filter(e=>e.status===`failed`).length,m=p>0?`${f}/${e.length}!`:`${f}/${e.length}`;return J(Y,{flexDirection:`column`,marginTop:A.tight,children:[J(Y,{children:[q(X,{color:u.special,children:`▸ `}),q(X,{color:u.text,children:t??B.t(`task.title`)}),J(X,{color:p>0?u.error:u.inactive,children:[` `,m]}),J(O,{type:`secondary`,children:[` `,fa(e.filter(e=>e.status===`done`||e.status===`skipped`).length/e.length,8)]}),r&&J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`task.collapsedHint`)]}),a&&!r&&q(Y,{marginLeft:A.tight,children:q(k,{dim:!0,items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]})})]}),!r&&q(Y,{marginLeft:A.section,flexDirection:`column`,children:(()=>{let t=Math.max(0,...e.map(e=>$e(e.title??``))),r=n(e.length,o??24,3),s=_t(e,Math.min(i??0,e.length-1),r,d.current);d.current=s.scrollTop;let c=s.rows.map((e,n)=>{let r=s.scrollTop+n,o=e.status===`done`||e.status===`skipped`,c=a&&r===(i??0),l=e.title??``,d=` `.repeat(Math.max(0,t-$e(l))),f=B.t(`task.statusLabel`,{context:e.status??`pending`});return J(Y,{flexDirection:`row`,children:[q(X,{color:c?u.accent:Yd(e.status,u),children:c?`${R.pointer} `:`${Jd[e.status??`pending`]} `}),q(X,{color:c?u.accent:e.status===`skipped`?u.warning:o?u.inactive:u.text,strikethrough:o,italic:e.status===`skipped`,children:l}),q(X,{children:d}),J(X,{color:c?u.accent:Yd(e.status,u),dimColor:!0,children:[` `,f]})]},e.id??r)});return J(Ft,{children:[s.hasMoreAbove&&q(X,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),c,s.hasMoreBelow&&q(X,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})})()})]})}const Zd={tasks:R.itemActive,delegates:R.service,edited:R.edited,subagents:R.attention,clipboard:R.clipboard},Qd={tasks:`/pane/tasks`,delegates:`/pane/delegates`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function $d({counts:e,labels:t,currentPath:n=``}){let r=[{id:`tasks`,count:e.tasks,label:t.tasks},{id:`delegates`,count:e.delegates,label:t.delegates},{id:`edited`,count:e.edited,label:t.edited},{id:`subagents`,count:e.subagents,label:t.subagents},{id:`clipboard`,count:e.clipboard,label:t.clipboard}].map(e=>{let t=Qd[e.id],r=t!==``&&(n===t||n.startsWith(`${t}/`));return{id:e.id,icon:Zd[e.id],label:e.label,count:e.count,active:r}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:Zd.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,tone:`warning`}),e}return r}function ef(e){return e.length>0}const tf=V.memo(function({counts:e,labels:t,currentPath:n=``,tabHint:r}){let i=$d({counts:e,labels:t,currentPath:n});return i.length===0?q(Y,{flexDirection:`row`,height:1}):q(Y,{flexDirection:`row`,height:1,children:J(Ft,{children:[i.map((e,t)=>J(O,{type:e.tone===`warning`?`warning`:e.active?`accent`:`secondary`,wrap:`truncate-end`,children:[t>0?` · `:``,e.hideCount?`${e.icon} ${e.label}`:`${e.icon} ${e.label} ${e.count}`]},e.id)),r&&ef(i)&&q(O,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:` · ${r}`})]})})});function nf(e=process.env,t=process.platform){let n=e.TERM_PROGRAM;return n===`Apple_Terminal`?`Fn`:n===`iTerm.app`||e.LC_TERMINAL===`iTerm2`?`Option`:n===`vscode`||n===`ghostty`||n===`WarpTerminal`||n===`Hyper`?t===`darwin`?`Option`:`Shift`:n===`tmux`||e.TMUX?`Shift`:`Shift/Option/Fn`}function rf(e=process.env,t=process.platform){let n=nf(e,t);return n===`Shift/Option/Fn`?`Shift (Option in iTerm2, Fn in Terminal.app)`:n}const af=V.memo(function(e){let{fullScreenPaneActive:t,taskPaneRendered:n,tipVisible:r,tasksCollapsed:i,taskSelIndex:a,setTaskSelIndex:o,backgroundTasksOrdered:s,columns:c,openEditedFileFull:l,editedFileFullIndex:u,subagents:d}=e,{taskStore:f}=Wl(),p=Z(f.store,e=>e.tasks),m=Z(f.store,e=>e.tasksTitle),h=Z(f.store,e=>e.editedFiles),g=Z(f.store,e=>e.scheduleTasks),_=Z(f.store,e=>e.clipboardChars),v=Z(f.store,e=>e.clipboardFailed),y=Z(f.store,e=>e.clipboardText),b=Z(f.store,e=>e.subagentContext),x=Z(f.store,e=>e.backgroundTasks.length),{onBackgroundClose:S,onBackgroundKill:C,onBackgroundViewOutput:w,onBackgroundApply:T,onBackgroundSwitch:E,onBackgroundDelete:ee,onToggleEditedFiles:D,onToggleSubagents:te,onToggleSchedule:ne}=Xl(),{currentPath:O}=ce(),k=O===`/pane/tasks`&&p.length>0,re=O===`/pane/delegates`&&x>0,ie=O===`/pane/edited-files`,j=O===`/pane/subagents`,ae=O===`/pane/schedule`,oe=O===`/pane/clipboard`&&y.length>0;return t||b?null:J(Y,{flexDirection:`column`,marginTop:n||r?A.none:A.tight,children:[k&&q(Xd,{tasks:p,title:m,collapsed:i,focused:!0,selectedIndex:a,onDismiss:Ql,onSelectIndex:o}),re&&x>0&&q(Rd,{tasks:s,columns:c,onClose:S,onKill:C,onViewOutput:w,onApply:T,onSwitch:E,onDelete:ee,active:!0}),ie&&q(wu,{files:h,focused:!0,onDismiss:D,onOpenFileFull:l,fullOpenIndex:u}),j&&q(Ud,{tasks:d,focused:!0,onDismiss:te,onSwitch:E,onViewOutput:w}),ae&&q(Kd,{tasks:g,focused:!0,onDismiss:ne}),oe&&q(qd,{text:y,focused:!0,columns:c,onDismiss:Ql,onOpenViewer:()=>P()?.navigate(`/viewer/clipboard`,{state:{content:y}})}),q(Y,{height:1,flexShrink:0}),q(tf,{currentPath:O,tabHint:B.t(`signalBar.tabHint`),counts:{tasks:p.length,delegates:x,edited:h.length,subagents:d.length,clipboard:_,clipboardFailed:v},labels:{tasks:m??B.t(`task.title`),delegates:B.t(`bg.tasksTitle`),edited:B.t(`panelTitle.editedFilesTitle`),subagents:B.t(`hint.subagents`),clipboard:B.t(`signalBar.clipboard`),clipboardFailed:B.t(`signalBar.clipboardFailed`,{modifier:rf()})}})]})});function of({items:e,focused:t,onDismiss:r,onLoad:i,onDelete:a,onDeleteMany:o,rows:c=24}){let l=C(),[u,d]=na(`drafts`,e.length),f=G(0),[p,m]=K(new Set);if(s(`draft-pane`,(t,n)=>{if(n.escape)return p.size>0&&m(new Set),r?.(),!0;if(pe(`list-nav-up`,t,n,`draft`))return d(e=>Math.max(0,e-1)),!0;if(pe(`list-nav-down`,t,n,`draft`))return d(t=>Math.min(e.length-1,t+1)),!0;if(n.return)return i?.(u),!0;if(t===` `){let t=e[Math.max(0,Math.min(u,e.length-1))];return t&&m(e=>{let n=new Set(e);return n.has(t.id)?n.delete(t.id):n.add(t.id),n}),!0}return t===`d`?(p.size>0?(o?.([...p]),m(new Set)):a?.(u),!0):!1},{isActive:t}),e.length===0&&!t)return null;if(!t)return J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(O,{type:`secondary`,children:B.t(`draft.sLabel`)}),J(O,{type:`secondary`,children:[` `,e.length]}),J(O,{type:`secondary`,dim:!0,children:[` `,Ct(`o`)]})]});let h=Wd(u,e.length),g=_t(e,h,n(e.length,c,7),f.current);return f.current=g.scrollTop,q(T,{header:J(Y,{children:[q(X,{color:l.secondary,bold:!0,children:B.t(`draft.sLabel`)}),J(O,{type:`secondary`,children:[` `,e.length]})]}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.load`)],[`space`,B.t(`hint.check`)],[`d`,B.t(`hint.delete`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[e.length===0&&q(O,{type:`secondary`,children:B.t(`draft.sEmpty`)}),g.rows.map((e,t)=>{let n=g.scrollTop+t,r=n===h,i=p?.has(e.id)??!1,a=r?l.selection:l.text,o=M(e.text,51),s=new Date(e.savedAt).toLocaleString();return J(Y,{flexDirection:`row`,children:[q(X,{color:r?l.selection:l.inactive,children:r?ye():ze()}),q(O,{type:`secondary`,children:`${n+1}. `}),q(X,{color:i?l.accent:l.inactive,children:i?`${R.bullet} `:`${R.todoPending} `}),q(X,{color:a,bold:!0,children:e.name}),J(X,{dimColor:!0,children:[` `,o]}),J(X,{dimColor:!0,children:[` `,s]})]},e.id)}),g.fillerCount>0&&Array.from({length:g.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function sf({items:e,focused:t,rows:r=24,onDismiss:i,closeConfirmOpen:a=!1,editOpen:o=!1,onDelete:c,onMove:l,onEditOpen:u}){let d=C(),[f,p]=na(`queue`,e.length),[m,h]=K(!1),g=G(0);if(!t&&m&&h(!1),s(`queue-pane`,(t,n)=>m?t===` `||n.escape?(h(!1),!0):n.upArrow||n.tab&&n.shift?(l?.(f,-1),p(e=>Math.max(0,e-1)),!0):n.downArrow||n.tab&&!n.shift?(l?.(f,1),p(t=>Math.min(e.length-1,t+1)),!0):!0:n.escape?(i?.(),!0):pe(`list-nav-up`,t,n,`queue`)?(p(e=>Math.max(0,e-1)),!0):pe(`list-nav-down`,t,n,`queue`)?(p(t=>Math.min(e.length-1,t+1)),!0):n.tab&&!n.ctrl&&!n.meta?(p(t=>n.shift?Math.max(0,t-1):Math.min(e.length-1,t+1)),!0):t===` `?(e.length>0&&h(!0),!0):n.return?(e.length>0&&u?.(f),!0):t===`d`?(c?.(f),!0):!1,{isActive:t&&!a&&!o}),!t)return null;let _=Wd(f,e.length),v=_t(e,_,n(e.length,r,7),g.current);return g.current=v.scrollTop,q(T,{header:J(Y,{children:[q(X,{color:d.secondary,bold:!0,children:B.t(`queue.label`)}),J(O,{type:`secondary`,children:[` `,e.length]})]}),footer:q(k,{items:m?[[`${j.up}${j.down}`,B.t(`hint.move`)],[`space/Esc`,B.t(`hint.drop`)]]:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.edit`)],[`space`,B.t(`hint.grab`)],[`d`,B.t(`hint.delete`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.select`)]]}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[e.length===0&&q(O,{type:`secondary`,children:B.t(`queue.empty`)}),v.rows.map((e,t)=>{let n=v.scrollTop+t,r=n===_,i=r&&m,a=i?d.accent:r?d.selection:d.text,o=i?`⇅ `:r?ye():ze(),s=e.mode===`bash_async`?`!! `:e.mode===`bash`?`! `:e.mode===`memory`?`# `:` `,c=e.text.length>60?M(e.text,61):e.text;return J(Y,{flexDirection:`row`,children:[q(O,{type:`secondary`,children:`${n+1}. `}),q(X,{color:a,bold:r,children:o}),q(X,{color:a,bold:r,children:s}),q(X,{color:a,bold:r,children:c})]},n)}),Array.from({length:v.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function cf(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];r.role===`user`&&typeof r.content==`string`&&r.content.trim().length>0&&t.push({text:r.content,index:n})}return t}function lf(e){return Math.max(1,c(e)-5-2)}function uf(e,t){let n=Math.max(20,t-12);return e.map((e,t)=>({value:String(e.index),label:`${t+1}. ${M(e.text.replace(/\s+/g,` `),n)}`}))}function df({messageStore:e,focused:t,rows:n=24,columns:r=80,onDismiss:i}){let a=cf(Z(e.store,e=>e.messages));if(s(`prompt-log-pane`,(e,t)=>t.escape?(i?.(),!0):!1,{isActive:t,ignoreRoute:!0}),!t)return null;let o=c(n),l=lf(n),u=uf(a,r);return q(T,{maxHeight:o,header:J(Y,{children:[q(O,{type:`secondary`,bold:!0,children:B.t(`prompts.label`)}),J(O,{type:`secondary`,children:[` `,a.length]})]}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.esc,B.t(`hint.close`)]]}),children:a.length===0?q(O,{type:`secondary`,children:B.t(`prompts.empty`)}):q(lt,{id:`prompt-log-list`,tabIndex:0,autoFocus:!0,options:u,maxVisible:l,compact:!0,onSelect:()=>{}})})}function ff(e={}){let{columns:t=120,onEmptyBackspace:n,onClearText:r,onCommit:i}=e,[a,o]=K(``),[s,c]=K(0),l=Nt((e,t)=>{o(e),c(t)},[]);return{text:a,offset:s,update:Nt((e,t)=>{o(e),c(t)},[]),handleEditing:Nt((e,o)=>{if(e.length>1&&!o.ctrl&&!o.meta&&!o.return&&!o.escape&&!o.backspace&&!o.delete&&!o.tab&&!o.upArrow&&!o.downArrow&&!o.leftArrow&&!o.rightArrow){let t=dt(e);return t&&l(a.slice(0,s)+t+a.slice(s),s+t.length),!0}if(o.leftArrow){let e=gt.fromText(a,t,s).left();return l(e.text,e.offset),!0}if(o.rightArrow){let e=gt.fromText(a,t,s).right();return l(e.text,e.offset),!0}if((o.backspace||o.delete)&&a.length===0)return n?.(),!0;let c={name:o.backspace?`backspace`:o.delete?`delete`:o.tab?`tab`:o.escape?`escape`:o.return?`return`:e||`unknown`,ctrl:o.ctrl??!1,shift:!1,alt:o.meta??!1,meta:o.meta??!1},u=be(gt.fromText(a,t,s),c);return u?u.action===`clear_text`?(l(``,0),r?.(),!0):u.action===`submit`||u.action===`submit_force`?(i?.(),!0):(l(u.cursor.text,u.cursor.offset),!0):!1},[a,s,t,n,r,l])}}const pf={send:`dialog`,bash:`bash`,bash_async:`bash_async`,memory:`memory`},mf=[`input`,`sendNow`,`confirm`,`cancel`];function hf({index:e,total:t,initialValue:n,mode:r,busy:i,columns:a=60,onSendNow:o,onConfirm:c,onCancel:l}){let[u,d]=K(`input`),{text:f,offset:p,update:m,handleEditing:h}=ff({columns:a});V.useEffect(()=>{n&&m(n,n.length)},[]);let g=f.trim()===``,_=e=>{d(mf[(mf.indexOf(u)+e+mf.length)%mf.length])},v=()=>{if(u===`sendNow`){g||o(f);return}if(u===`confirm`){g||c(f);return}if(u===`cancel`){l();return}};s(`queue-edit-dialog`,(e,t)=>{if(t.return&&t.meta){g||o(f);return}if(t.escape){if(u===`input`&&f.length>0){m(``,0);return}l();return}if(t.tab||t.ctrl&&e===`n`){_(1);return}if(u!==`input`){if(t.leftArrow){_(-1);return}if(t.rightArrow){_(1);return}if(t.upArrow){d(`input`);return}if(t.downArrow){_(1);return}if(t.return){v();return}return}if(t.downArrow){_(1);return}if(t.upArrow){_(-1);return}if(t.return){g||d(`confirm`);return}return h(e,t)});let b=i?B.t(`queue.editSendNowHintBusy`):B.t(`queue.editSendNowHintIdle`);return J(T,{header:q(y,{children:B.t(`queue.editTitle`,{index:e,total:t})}),footer:q(k,{items:[[j.tab,B.t(`hint.quick`)],[`${j.up}${j.down}`,B.t(`hint.switch`)],[j.enter,B.t(`hint.confirm`)],[ue(),B.t(`queue.editSendNowButton`)],[j.esc,B.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:A.tight,flexDirection:`row`,children:q(Oe,{value:f,offset:p,columns:a,mode:pf[r],focused:u===`input`})}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`green`,label:B.t(`queue.editSendNowButton`),focused:u===`sendNow`,disabled:g}),q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`queue.editConfirmButton`),focused:u===`confirm`,disabled:g}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:u===`cancel`})]}),q(Y,{marginTop:A.tight,children:q(O,{type:`secondary`,dim:!0,children:b})})]})}function gf(e,t){let n=t?.length?[...e,...t]:[...e];return{search:(e,t,r=50)=>(e?cr(e,n).map(e=>e.entry):[...n].reverse()).slice(0,r).map(e=>({label:e,value:e,kind:`shortcut`}))}}function _f({showHome:e,agentProcessing:t,hasTip:n}){return e||t||!n?0:3}function vf(e){let t=Xl(),{currentPath:n,stack:r,navigate:i,goBack:a}=ce(),o=r.some(e=>e.path===`/pane/queue`),{columns:s,rows:c,agentProcessing:l,handlePromptEscape:u,pluginInput:d,handleSigilTrigger:f,handleSigilClose:p,handleHistorySearch:m,handleChipReopen:h,handleChipViewPaste:g,handlePasteConfirmRequest:_,welcome:v,historyInsertRef:y,pasteBridgeRef:b,initialHistory:x,externalHistoryCommands:S,residencyGovernor:C,registryRef:w,shellBackendRef:T,sigilState:E,setSigilState:ee,sigilApplyRef:D,readFileContent:te,handleDraftLoad:ne,onQueueEscConfirm:O,queueEscSuppress:k,queueCloseConfirm:re,setQueueCloseConfirm:ie,interruptConfirm:j,popQueuedConfirm:ae,queueEditIndex:oe,setQueueEditIndex:M,scrollStore:se,messageStore:N}=e,{taskStore:le}=Wl(),ue=Z(le.store,e=>e.forcedUpgrade),P=Z(le.store,e=>e.commands),F=Z(le.store,e=>e.needsSetup),de=Z(le.store,e=>e.recentMentions),fe=Z(le.store,e=>e.drafts),pe=Z(le.store,e=>e.queued),me=Z(se.store,e=>e.offset>0),[he,_e]=K(x??[]),ve=Nt(e=>{_e(e),t.onHistoryPush?.(e)},[t]),ye=W(()=>gf(he,S),[he,S]),be=()=>{M(null),n===`/pane/queue/edit`&&a()},xe=Nt((e,n,r)=>{t.onSubmit?.(e,n,r);let i=e.trimStart().startsWith(`/`);if(F&&!i)return`rejected`},[t,F]);return J(Ft,{children:[e.shadow&&q(Ru,{}),E&&d&&q(Y,{flexDirection:`column`,marginTop:A.tight,children:q(wc,{sigil:E.sigil,initialQuery:E.query,registry:E.mode===`history`?ye:d,active:n===`/pane/sigil`,rows:c,columns:Math.min(60,s-ge.borderInset),viewerColumns:s,readFileContent:te,recentEntries:E.sigil===`@`?de:void 0,title:E.mode===`history`?B.t(`history.label`):void 0,onSelect:e=>{if(ee(null),E.mode===`history`){y.current?.fill(e.value);return}D.current?.select(e),E.sigil===`@`&&t.onSigilSelect?.(e)},onClose:({deleteSigil:e})=>{ee(null),D.current?.cancel(e)}})}),q(Ni,{columns:s-ge.borderInset,rows:c,disabled:!!ue||re||j||ae,reviewing:me,idleTipVisible:!!e.idleTip,commands:P,placeholder:ue?B.t(`prompt.upgradeRequired`):l?B.t(`prompt.working`):F?B.t(`prompt.setup`):B.t(`prompt.default`),onSubmit:xe,onInterrupt:t.onInterrupt,onEscape:u,sigilEnabled:!!d,onSigilTrigger:f,onSigilClose:p,onChipReopen:h,onChipViewPaste:g,onToast:t.onToast,onDraftSave:t.onDraftSave,keybindingOverrides:e.keybindingOverrides,onPasteConfirm:_,cwd:v?.cwd,historyInsertRef:y,pasteBridgeRef:b,initialHistory:x,externalHistoryCommands:S,onHistoryPush:ve,onHistorySearch:m,historySearchOpen:E?.mode===`history`,residencyGovernor:C,registryRef:w,shellBackendRef:T}),q(of,{items:fe,focused:n===`/pane/draft`,onDismiss:t.onToggleDraftPane,onLoad:ne,onDelete:t.onDraftDelete,onDeleteMany:t.onDraftDeleteMany}),N&&n===`/pane/prompts`&&q(Y,{flexDirection:`column`,marginTop:A.tight,children:q(df,{messageStore:N,focused:!0,rows:c,columns:s,onDismiss:()=>t.onTogglePrompts?.()})}),o&&n===`/pane/queue`&&q(Y,{flexDirection:`column`,marginTop:A.tight,children:q(sf,{items:pe,focused:!0,rows:c,onDismiss:()=>{re&&ie(!1),t.onToggleQueuePane?.()},onEscConfirm:O,escSuppress:k,closeConfirmOpen:re,editOpen:oe!==null,onDelete:t.onQueueDelete,onMove:t.onQueueMove,onEditOpen:e=>{M(e),i(`/pane/queue/edit`)}})}),n===`/pane/queue/edit`&&oe!==null&&pe[oe]&&q(hf,{index:oe+1,total:pe.length,initialValue:pe[oe].text,mode:pe[oe].mode,busy:l,onSendNow:e=>{t.onQueueSendNow?.(oe,e),be()},onConfirm:e=>{t.onQueueEditText?.(oe,e),be()},onCancel:be}),n!==`/pane/queue`&&!n.startsWith(`/pane/queue/`)&&q(Pi,{items:pe})]})}function yf(e,t){let n=B.language===`zh`,r=n?`行`:e===1?`line`:`lines`,i=n?`字符`:t===1?`char`:`chars`;return B.t(`paste.previewSummary`,{context:`body`,lines:e,lineWord:r,chars:t,charWord:i})}function bf(e){let t=e.replace(/\n/g,`↵`);return t.length<=16?`[@${t}:]`:`[@${t.slice(0,5)}…${t.slice(-5)}:]`}function xf(e,t){let n=e.split(`
51
+ `)}function _l(e){let t=e.filter(e=>e!==null),n=Math.max(0,...t.map(e=>ut(e.label)));return e.map(e=>{if(e===null)return``;let t=` `.repeat(Math.max(0,n-ut(e.label))+1);return`${e.label}:${t}${e.value}`})}function vl(e,t){let n=/^- \[(.+?)\]\(memory\/(.+?)\.md\)(?: — (.+))?$/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({name:i[1]??``,slug:i[2]??``,description:(i[3]??``).trim(),source:t});return r}function yl({projectIndex:e,userIndex:t,onViewEntry:n,onForget:r,onDismiss:i,rows:a=24,columns:o=80}){let[s,c]=K(()=>vl(e,`project`)),[l,u]=K(()=>vl(t,`user`)),[d,f]=K({mode:`list`}),[p,m]=K(void 0),h=s.length>0||l.length>0;function g(e){e.source===`project`?c(t=>t.filter(t=>t.slug!==e.slug)):u(t=>t.filter(t=>t.slug!==e.slug))}function _(e){m(`${e.source}:${e.slug}`),f({mode:`detail`,entry:e,content:null,loading:!0}),n(e).then(t=>{f(n=>n.mode===`detail`&&n.entry.slug===e.slug?{...n,content:t,loading:!1}:n)})}async function v(e){await r(e),g(e),f({mode:`list`})}return d.mode===`confirm-forget`?q(Cl,{entry:d.entry,onConfirm:()=>void v(d.entry),onCancel:()=>f({mode:`list`})}):d.mode===`detail`?q(xl,{entry:d.entry,content:d.content,loading:d.loading,onForget:()=>f({mode:`confirm-forget`,entry:d.entry}),onBack:()=>f({mode:`list`}),rows:a,columns:o}):q(bl,{projEntries:s,userEntries:l,hasAny:h,defaultValue:p,onView:_,onForget:e=>f({mode:`confirm-forget`,entry:e}),onDismiss:i,rows:a})}function bl({projEntries:e,userEntries:n,hasAny:r,defaultValue:i,onView:a,onForget:o,onDismiss:s,rows:c}){let l=new Map;for(let t of[...e,...n])l.set(`${t.source}:${t.slug}`,t);return r?q(z.Root,{rows:c,title:V.t(`cmd.titleMemory`),defaultValue:i,onCancel:s,onKey:(e,t,n)=>{if(e===`d`&&n){let e=l.get(n.value);return e&&o(e),!0}return!1},onValueChange:e=>{let t=l.get(e);t&&a(t)},footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`cmd.memoryDialogHintView`)],[`d`,V.t(`cmd.memoryDialogHintForget`)],[B.esc,V.t(`hint.close`)]]}),children:J(z.Content,{children:[J(z.Group,{children:[q(z.Label,{children:V.t(`cmd.memoryDialogProjGroup`,{count:e.length})}),e.map(e=>q(z.Item,{value:`project:${e.slug}`,detail:e.description||void 0,marker:`number`,children:e.name},`project:${e.slug}`))]}),q(z.Separator,{}),J(z.Group,{children:[q(z.Label,{children:V.t(`cmd.memoryDialogUserGroup`,{count:n.length})}),n.map(e=>q(z.Item,{value:`user:${e.slug}`,detail:e.description||void 0,marker:`number`,children:e.name},`user:${e.slug}`))]})]})}):q(M,{header:q(w,{children:V.t(`cmd.titleMemory`)}),footer:q(f,{items:[[B.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.memoryDialogEmptyHint`)})})})}function xl({entry:e,content:t,loading:n,onForget:r,onBack:i,rows:a,columns:o}){let s=L(),c=e.source===`project`?V.t(`cmd.memoryDialogDetailSourceProject`):V.t(`cmd.memoryDialogDetailSourceUser`),l=V.t(`cmd.memoryDialogDetailTitle`,{name:e.name,source:c}),u=Ft(()=>(t??``).split(`
52
+ `),[t]);return n?q(Sl,{title:l,onForget:r,onBack:i}):q(sc,{lines:u,rows:a,columns:o,wrapMode:`pre-wrap`,header:q(Y,{children:q(X,{color:s.selection,children:l})}),onDismiss:i,initialScroll:`top`,contentKey:e.slug,emptyMessage:V.t(`cmd.memoryDialogDetailEmpty`),onKey:e=>e===`d`?(r(),!0):!1,extraHints:[[`d`,V.t(`cmd.memoryDialogHintForget`)]]})}function Sl({title:e,onForget:n,onBack:r}){return yt(`memory-dialog-detail-loading`,(e,t)=>{if(t.escape){r();return}e===`d`&&n()}),q(M,{header:q(w,{children:e}),footer:q(f,{items:[[B.esc,V.t(`cmd.memoryDialogHintBack`)]]}),children:q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:`…`})})})}function Cl({entry:e,onConfirm:n,onCancel:r}){let i=L(),[a,o]=K(0);return yt(`memory-dialog`,(e,t)=>{if(t.escape){r();return}if(t.leftArrow||t.rightArrow||t.tab){let e=te(t);e!==0&&o(t=>D(t,e,2));return}t.return&&(a===1?n():r())}),q(M,{header:q(w,{children:V.t(`cmd.memoryDialogConfirmForgetTitle`)}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(X,{color:i.warning,children:V.t(`cmd.memoryDialogConfirmForgetMessage`,{name:e.name})}),J(Y,{marginTop:t.section,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,label:V.t(`common.genericCancelButton`),focused:a===0,color:`gray`}),q(F,{variant:`solid`,brackets:!0,label:V.t(`hint.delete`),focused:a===1,color:`red`})]})]})})}function wl(e,t=80){return l(e.replace(/\s+/g,` `).trim(),t)}function Tl({req:e,rows:t=24}){let{entries:n,menuContributions:r=[],onSelect:i,onCancel:a}=e,o=n.filter(e=>e.enabled).length,s=n.length>0?V.t(`cmd.extListTitle`,{enabled:o,total:n.length}):V.t(`cmd.extListEmptyTitle`),c=r.find(e=>e.id===`__discover__`),l=r.filter(e=>e.id!==`__discover__`),u=c?{hint:V.t(`cmd.extDiscoverHint`),label:V.t(`cmd.extDiscoverButton`),onPress:()=>i(`contrib:${c.id}`)}:void 0;if(n.length===0)return q(z.Root,{title:s,headerAction:u,onCancel:a,rows:t,extensionHeightBudget:!0,children:q(z.Content,{children:q(z.Item,{value:``,children:V.t(`cmd.extListEmptyOption`)})})});let d=new Map;for(let e of n){let t=V.t(`cmd.extCategoryLabel`,{category:e.category}),n=d.get(t);n?n.push(e):d.set(t,[e])}return q(z.Root,{title:s,headerAction:u,onValueChange:i,onCancel:a,rows:t,extensionHeightBudget:!0,defaultValue:e.lastSelectedValue,children:J(z.Content,{children:[[...d.entries()].map(([e,t])=>J(z.Group,{children:[q(z.Label,{children:e}),t.map(e=>{let t=[];e.description&&t.push(e.description),e.applies&&e.applies!==`live`&&t.push(V.t(`cmd.extAppliesNextTurn`));let n=t.length>0?wl(t.join(` · `)):void 0;return q(z.Item,{value:`${e.category}:${e.id}`,detail:n,children:e.enabled?e.name:`${R.toggleOff} ${e.name}`},`${e.category}:${e.id}`)})]},e)),l.length>0&&J(z.Group,{children:[q(z.Label,{children:V.t(`cmd.extCategoryLabel`,{category:`plugin`})}),l.map(e=>q(z.Item,{value:`contrib:${e.id}`,children:e.title},`contrib:${e.id}`))]},`contrib`)]})})}const El={y:0,n:1,a:2};function Dl({tool:e,input:n,risk:r,onApprove:i,onDeny:a}){let o=L(),[s,c]=K(0),u=Pe(r),d=e=>{e===0?i(`once`):e===1?a():i(`always`)};return yt(`permission-dialog-buttons`,(e,t)=>{if(t.escape)return a(),!0;let n=te(t);if(n!==0)return c(e=>D(e,n,3)),!0;if(t.return)return c(e=>(d(e),e)),!0;let r=El[e.toLowerCase()];return r===void 0?!1:(d(r),!0)}),J(M,{header:J(w,{children:[V.t(`permission.allowTool`),` `,q(X,{color:o.permission,children:e}),` `,J(X,{color:u,children:[`(`,V.t(`permission.riskLabel`,{context:r}),`)`]})]}),footer:q(f,{items:[[`${B.left}${B.right}`,V.t(`hint.switch`)],[B.enter,V.t(`hint.confirm`)],[`y/n/a`,V.t(`hint.shortcut`)],[B.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:l(n,200)})}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`permission.approve`),focused:s===0}),q(F,{variant:`solid`,brackets:!0,color:`red`,label:V.t(`permission.deny`),focused:s===1}),q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`permission.alwaysAllow`),focused:s===2})]})]})}function Ol(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const kl={y:0,n:1,a:2},Al={y:0,n:1};function jl({command:e,risk:n,description:r,alwaysAllowLabel:i,onApprove:a,onDeny:o}){let s=L(),[c,u]=K(0),d=Pe(n),p=i!=null,m=p?3:2,h=p?kl:Al,g=e=>{e===0?a(`once`):e===1?o():a(`always`)};yt(`bash-permission-dialog-buttons`,(e,t)=>{if(t.escape)return o(),!0;let n=te(t);if(n!==0)return u(e=>D(e,n,m)),!0;if(t.return)return u(e=>(g(e),e)),!0;let r=h[e.toLowerCase()];return r===void 0?!1:(g(r),!0)});let{workDir:_}=Ol(e),v=l(e,500);return J(M,{header:J(w,{children:[V.t(`permission.bashCommand`),` `,J(X,{color:d,children:[`(`,V.t(`permission.riskLabel`,{context:n}),`)`]})]}),footer:q(f,{items:[[`${B.left}${B.right}`,V.t(`hint.switch`)],[B.enter,V.t(`hint.confirm`)],[p?`y/n/a`:`y/n`,V.t(`hint.shortcut`)],[B.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{color:s.suggestion,children:v})}),(_||r)&&J(Y,{marginTop:t.tight,flexDirection:`column`,children:[_&&q(X,{dimColor:!0,children:_}),r&&q(X,{dimColor:!0,children:r})]}),i&&J(Y,{marginTop:t.tight,children:[J(X,{dimColor:!0,children:[V.t(`permission.alwaysAllow`),`: `]}),q(X,{color:s.suggestion,children:i})]}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`permission.approve`),focused:c===0}),q(F,{variant:`solid`,brackets:!0,color:`red`,label:V.t(`permission.deny`),focused:c===1}),p&&q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`permission.alwaysAllow`),focused:c===2})]})]})}function Ml({title:e,message:n,okLabel:r,onOk:i}){let a=Array.isArray(n)?n:[n];return O({tabIndex:0,id:`alert-ok`,onAction:()=>(i(),!0),onEscape:()=>(i(),!0)}),yt(`alert-dialog`,(e,t)=>t.return||t.escape?(i(),!0):!1),J(M,{header:q(w,{children:e}),footer:q(f,{items:[[`${B.enter}/${B.esc}`,V.t(`hint.close`)]]}),children:[q(Y,{marginTop:t.tight,flexDirection:`column`,children:a.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:t.tight,children:q(F,{variant:`solid`,brackets:!0,color:`accent`,label:r??V.t(`common.okButton`),focused:!0})})]})}function Nl({title:e,message:n,placeholder:r,initialValue:i=``,submitLabel:a,cancelLabel:o,columns:s=60,onSubmit:c,onCancel:l}){let[u,d]=K(i),[p,m]=K(i.length),[h,g]=K(`input`),_=n?Array.isArray(n)?n:[n]:[],v=(e,t)=>{d(e),m(t)};return yt(`prompt-dialog`,(e,t)=>{if(t.escape){l();return}if(t.return&&h===`input`){u.trim()!==``&&g(`submit`);return}if(t.return){h===`submit`&&u.trim()!==``?c(u):l();return}if(t.tab||t.ctrl&&e===`n`){g(e=>e===`input`?`submit`:e===`submit`?`cancel`:`input`);return}if(t.leftArrow&&h!==`input`){g(e=>`submit`);return}if(t.rightArrow&&h!==`input`){g(e=>`cancel`);return}if(h!==`input`)return;if(e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=Te(e);t&&v(u.slice(0,p)+t+u.slice(p),p+t.length);return}if(t.leftArrow){let e=De.fromText(u,s,p).left();v(e.text,e.offset);return}if(t.rightArrow){let e=De.fromText(u,s,p).right();v(e.text,e.offset);return}let n={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=nt(De.fromText(u,s,p),n);if(r){if(r.action===`clear_text`){v(``,0);return}r.action===`submit`||r.action===`submit_force`||v(r.cursor.text,r.cursor.offset)}}),J(M,{header:q(w,{children:e??V.t(`prompt.defaultTitle`)}),footer:q(f,{items:[[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]}),children:[_.length>0&&q(Y,{marginTop:t.tight,flexDirection:`column`,children:_.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:t.tight,flexDirection:`row`,children:q(mt,{value:u,offset:p,columns:s,mode:`dialog`,placeholder:r,focused:h===`input`,physicalCursor:h===`input`})}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:a??V.t(`prompt.submitButton`),focused:h===`submit`,disabled:u.trim()===``}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:o??V.t(`common.genericCancelButton`),focused:h===`cancel`})]})]})}function Pl(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function Fl(){let e=Rn(Pl()),t,n={};return{store:e,reset(){e.setState(Pl())},setNotify(e){t=e},setEffects(e){n=e},setProviderUsage(n){e.setState({providerUsage:n}),t?.()},setPausePending(n){e.setState({pausePending:n}),t?.()},setPaused(r){e.setState({paused:r}),r||n.drainQueueOnResume?.(),t?.()},setPulseSurvey(r){e.setState({pulseSurvey:r}),n.syncPulseSurveyRoute?.(r!==null),t?.()}}}function Il(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const Ll=e=>{try{return JSON.stringify(e).length}catch{return 0}};function Rl(e,t=bn,n=yn){let r=e.filter(e=>e.role!==`history_capped`);if(r.length===0)return e;let i=0,a=null;r.length>t&&(i+=r.length-t,r.splice(0,i),a=`count`);let o=r.map(Ll),s=o.reduce((e,t)=>e+t,0);if(s>n){let e=0;for(;e<o.length-1&&s>n;)s-=o[e],e++,i++;r.splice(0,e),a=`bytes`}return i===0?e:[...r,Il(i,a??`count`)]}function zl(){let e=Rn({messages:[]}),t=t=>{e.setState({messages:Rl(t)})};return{store:e,append(n,r,i){t([...e.getState().messages,{...n,id:n.id??r,...i==null?{}:{seq:i}}])},appendMany(n,r){n.length!==0&&t([...e.getState().messages,...n.map(e=>({...e,id:e.id??r()}))])},prependMany(n){if(n.length===0)return;let r=e.getState();t([...n.map(e=>({...e})),...r.messages])},patchLast(n){let r=e.getState();if(r.messages.length===0)return;let i=r.messages[r.messages.length-1];t([...r.messages.slice(0,-1),{...i,...n}])},patchById(n,r){let i=e.getState(),a=i.messages.findIndex(e=>e.id===n);if(a===-1)return;let o=i.messages[a],s=[...i.messages];s[a]={...o,...r},t(s)},removeLast(){let n=e.getState();n.messages.length!==0&&t(n.messages.slice(0,-1))},removeById(n){let r=e.getState(),i=r.messages.findIndex(e=>e.id===n);if(i===-1)return;let a=[...r.messages];a.splice(i,1),t(a)},reset(){e.setState({messages:[]})}}}const Bl=[{label:`Tool guidance`,lane:`stable`,priority:20},{label:`Environment`,lane:`stable`,priority:25},{label:`Memory index`,lane:`stable`,priority:35},{label:`Skill catalog`,lane:`stable`,priority:38},{label:`Lesson`,lane:`stable`,priority:40},{label:`Memory delta`,lane:`volatile`,priority:60},{label:`TODO reminder`,lane:`volatile`,priority:62}];function Vl(e){let t=Bl.length,n=Math.round(e/t);return Bl.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function Hl(){let e=Rn({open:!1,conversationTurns:[],systemSections:[],modelName:``,contextWindow:0,contextPercent:0,totalUsed:0,free:0});return{store:e,toggle(t){e.setState({open:t??!e.getState().open})},reset(){e.setState({open:!1,conversationTurns:[],systemSections:[],modelName:``,contextWindow:0,contextPercent:0,totalUsed:0,free:0})},addTurn(t){let n=[...e.getState().conversationTurns,t];e.setState({conversationTurns:n.length>bn?n.slice(n.length-bn):n})},markTurns(t){let{turnIndex:n,...r}=t,i=e.getState().conversationTurns.map(e=>e.turnIndex===n?{...e,...r}:e);e.setState({conversationTurns:i})},setBudget(t){e.setState({modelName:t.modelName,contextWindow:t.contextWindow,contextPercent:t.contextPercent,totalUsed:t.totalUsed,free:t.free,systemSections:Vl(t.overheadTokens)})}}}const Ul=Mt(void 0),Wl=Ul.Provider;function Gl(){let e=Pt(Ul);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}function Kl(){let{currentPath:e}=ce();return e===`/`?`prompt`:e===`/home`?`home`:e===`/pane/delegates`||e===`/pane/delegates/output`?`background`:e===`/pane/edited-files`?`editedFiles`:e.startsWith(`/pane/edited-files/`)?`editedFileFull`:e===`/subagent`?`subagentContext`:e===`/pane/subagents`?`subagents`:e===`/pane/clipboard`?`clipboard`:e===`/pane/schedule`?`schedule`:e===`/pane/tasks`?`taskFocus`:e.startsWith(`/pane/tasks/`)?`taskDetail`:e===`/pane/draft`?`draft`:e===`/pane/queue`?`queue`:e.startsWith(`/pane/queue/`)?`queueEdit`:e===`/pane/shell`?`shell`:e===`/pane/sigil`?`sigilPane`:e===`/pane/perf`?`perf`:e===`/pane/cache`?`cacheStats`:e===`/pane/compaction-log`?`compactionLog`:e===`/pane/gallery`?`gallery`:e===`/pane/notifications`?`notifications`:e===`/pane/proxy`?`proxy`:e===`/pane/prompts`?`prompts`:e===`/pane/context`?`info`:(e.startsWith(`/dialog/`)||e.startsWith(`/viewer/`),`prompt`)}const ql=`onA2uiAction.onAlertResolve.onBackToContextPane.onBackgroundApply.onBackgroundClose.onBackgroundDelete.onBackgroundKill.onBackgroundOutputClose.onBackgroundSwitch.onBackgroundViewOutput.onCacheDismiss.onCancelUpgrade.onCloseNotifications.onCompactionLogDismiss.onContextDismiss.onConfirmResolve.onCyclePermissionMode.onDelegateSupply.onDismissNotification.onDismissToast.onDraftDelete.onDraftDeleteMany.onDraftSave.onErrorRetryFocusChange.onExitSubagentContext.onFocusOwnerChange.onScrollActiveChange.onGalleryDismiss.onHistoryPush.onInfoDismiss.onInputAction.onInputResolve.onOnboardingResolve.onInterrupt.onKeybindingPanelDismiss.onMemoryDismiss.onPaneOwnsViewportChange.onPerfDismiss.onPerfRefresh.onPermissionDecision.onPopQueued.onPromptResolve.onProxyClear.onProxyTest.onProxyDismiss.onProxyOpenModal.onProxySubmitUrl.onProxyToggleEnabled.onPulseSurveyChange.onQuestionsResolve.onQueueDelete.onQueueEditText.onQueueMove.onQueueSendNow.onSelectResolve.onSessionSelect.onShellAbort.onShellAskAi.onShellCopyOutput.onShellDismiss.onShortcutsDialogDismiss.onSigilSelect.onSubmit.onToast.onToggleDelegates.onToggleDraftPane.onToggleEditedFiles.onToggleNotifications.onToggleQueuePane.onTogglePrompts.onToggleSchedule.onToggleSubagents.onUpgrade.onViewDetails.onWithdrawPending.onWithdrawSteer`.split(`.`);function Jl(e){let t={};for(let n of ql)t[n]=e[n];return t}const Yl=Mt(null),Xl=Yl.Provider;function Zl(){let e=Pt(Yl);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function Ql(e){let{editedFilesLength:t,queuedItemsLength:n,subagentContext:r,backgroundOutput:i}=e,{onPaneOwnsViewportChange:a}=Zl(),{currentPath:o}=ce(),[s,c]=K(null),[l,u]=K(null),[d,f]=K(null),m=Nt(e=>{f(e),e?p()?.navigate(`/viewer/shell-output`):p()?.goBack()},[]),[h,g]=K(null),[_,v]=K(!1),[y,b]=K(!1),[x,S]=K(!1),[C,w]=K(!1),[T,E]=K(``),D=!!r||s!==null||!!i||l!=null,O=Nt(e=>{a?.(!0),c(e),p()?.navigate(`/pane/edited-files/${e}`)},[a]),k=Nt(()=>{a?.(l!=null),c(null),p()?.goBack()},[a,l]),ee=Nt(e=>{a?.(!0),u(e),p()?.navigate(`/pane/tasks/${e}`)},[a]),te=Nt(()=>{a?.(s!==null),u(null),p()?.goBack()},[a,s]);return W(()=>{let e=o.startsWith(`/pane/edited-files/`)?s:null,t=o.startsWith(`/pane/tasks/`)?l:null;e!==s&&c(e),t!==l&&u(t),(e!==s||t!==l)&&a?.(e!==null||t!=null),h!==null&&o!==`/pane/queue/edit`&&(g(null),v(!1),b(!1)),d&&!o.startsWith(`/viewer/shell-output`)&&f(null)},[o,s,a,h,d,l]),W(()=>{s!==null&&s>=t&&(a?.(l!=null),c(null),p()?.goBack())},[s,t,l,a]),W(()=>{h!==null&&h>=n&&(g(null),v(!1),b(!1),o===`/pane/queue/edit`&&p()?.goBack())},[o,h,n]),{editedFileFullIndex:s,openEditedFileFull:O,closeEditedFileFull:k,taskDetailTurn:l,openTaskDetail:ee,closeTaskDetail:te,shellFullOutput:d,setShellFullOutput:m,queueEditIndex:h,setQueueEditIndex:g,queueCloseConfirm:_,setQueueCloseConfirm:v,queueEscSuppress:y,setQueueEscSuppress:b,interruptConfirm:x,setInterruptConfirm:S,popQueuedConfirm:C,setPopQueuedConfirm:w,supplyDraft:T,setSupplyDraft:E,fullScreenPaneActive:D}}function $l(){p()?.navigate(`/`,{reset:!0})}let eu=null;function tu(e){eu=e}function nu(){let e=eu;return e?.hasSelection()?(e.clear(),!0):!1}function ru(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function iu(e){let{showHome:t,tasksLength:n,backgroundTasksLength:r,editedFilesLength:i,subagentsLength:a,draftsLength:s,draftOpen:c,queuedItemsLength:l,queueOpen:d,clipboardHasContent:f,shellExecutionRunning:m,routeDerivedOwner:h,currentPath:g,backgroundOutput:_,a2uiButtons:v,scrollOffset:y,editedFilesOpen:b,subagentsOpen:x,setTasksCollapsed:S,keybindingOverrides:C}=e,{onToggleDelegates:w,onToggleEditedFiles:T,onToggleSubagents:E,onToggleDraftPane:D,onToggleQueuePane:O,onShellAbort:k,onInterrupt:te,onA2uiAction:A,onCyclePermissionMode:ne,onToggleNotifications:j,onSubmit:M}=Zl(),re=Nt(()=>{let e=p();e&&e.currentPath!==`/`&&e.navigate(`/`,{reset:!0})},[]),N=Nt(e=>{let o=p();if(!o)return!1;let s=[{path:`/`,activate:()=>re()},...t?[{path:`/home`,activate:()=>o.navigate(`/home`,{replace:!0})}]:[],...n>0?[{path:`/pane/tasks`,activate:()=>o.navigate(`/pane/tasks`,{replace:!0})}]:[],...r>0?[{path:`/pane/delegates`,activate:()=>{w?.()}}]:[],...i>0?[{path:`/pane/edited-files`,activate:()=>{T?.()}}]:[],...a>0?[{path:`/pane/subagents`,activate:()=>{E?.()}}]:[],...f?[{path:`/pane/clipboard`,activate:()=>{o.navigate(`/pane/clipboard`,{replace:!0})}}]:[]];return s.length<=1?!1:(s[(Math.max(0,s.findIndex(e=>o.currentPath===e.path||o.currentPath.startsWith(e.path+`/`)))+e+s.length)%s.length]?.activate(),!0)},[r,re,c,s,i,w,D,T,O,E,d,l,t,a,n,f]);u(`app-global-prelude`,(e,t)=>t.ctrl&&e===`c`?m?(k?.(),!0):(te?.(),!0):!1),ee(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:nu()),o(`app-prompt-global`,(e,t)=>{if(t.tab&&!t.ctrl&&!t.meta&&!t.shift)return g.startsWith(`/dialog/`)||g.startsWith(`/viewer/`)||qr(g)||![`prompt`,`home`,`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`draft`,`queue`].includes(h)||g===`/pane/delegates`&&_?!1:N(t.shift?-1:1);if(y===0&&v&&v.length>0&&e>=`1`&&e<=`9`&&!t.ctrl&&!t.meta){let t=v.find(t=>t.key===e);if(t&&A)return A(t.componentId,t.action,t.payload),!0}if(g===`/`&&t.ctrl&&e===`k`)return!1;let r=me(ke,h,e,t,C);if(r===`smart-close`)return g===`/pane/tasks`?($l(),!0):b?(T?.(),!0):x?(E?.(),!0):(n>0?(S(()=>!1),p()?.navigate(`/pane/tasks`,{replace:!0})):S(e=>!e),!0);let i={"cycle-permission-mode":()=>{ne?.()},"toggle-notifications":()=>{j?.()},"toggle-edited-files":()=>{T?.()},"toggle-subagents":()=>{E?.()},"toggle-delegates":()=>{w?.()},"toggle-draft-pane":()=>{D?.()},"toggle-queue-pane":()=>{O?.()},"open-keybinding-panel":()=>{M?.(`/keybindings`,`send`)}};return r&&i[r]?(i[r](),!0):!1});let P=ie();Vt((e,t)=>{P.dispatch(e,t)})}function au(e){let t=e>=60,n=e>=76,r=e>=100;return{modelName:!0,occupancyBar:!0,hintText:!0,permissionMode:t,perfIndicator:t,notificationBell:t,backgroundTaskIndicator:t,scheduleIndicator:t,serviceIndicator:t,cost:n,providerUsage:n,language:n,pluginStatusItems:r,liveClock:r}}const ou={narrow:0,medium:1,low:2};function su(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=ou[e.entry.tier]-ou[t.entry.tier];if(n!==0)return n;if(e.entry.isHost!==t.entry.isHost)return e.entry.isHost?-1:1;let r=(e.entry.order??0)-(t.entry.order??0);return r===0?e.index-t.index:r}).map(e=>e.entry)}const cu=new Map;function lu(e){let t=cu.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},cu.set(e,t)),t}function uu(){cu.clear()}function du(e,t){let n=lu(e.id);if(n.tripped)return null;let r=Date.now(),i=null;try{i=e.render(t)}catch{i=null}if(Date.now()-r>5){if(n.consecutiveSlowCalls+=1,n.consecutiveSlowCalls>=3)return n.tripped=!0,null}else n.consecutiveSlowCalls=0;return i}function fu(e){let t;for(let n of e){if(n.tickMs===void 0)continue;let e=Math.max(1e3,n.tickMs);(t===void 0||e<t)&&(t=e)}return t}function pu(e){let{columns:t,permissionMode:n,cost:r,providerUsage:i,pluginStatusItems:a,statusWidgets:o,modelName:s}=e,[c,l]=K(0);W(()=>{if(!i)return;let e=setInterval(()=>l(e=>e+1),3e4);return()=>clearInterval(e)},[i]);let[u,d]=K(0);W(()=>{let e=fu(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=Ft(()=>au(t),[t]);return{footerVisible:f,badgeEntries:Ft(()=>{let e=[];if(f.permissionMode&&n&&e.push({id:`host:permission-mode`,text:V.t(`pref.permModeLabel`,{context:n}),color:n===`bypass`?`warning`:`inactive`,separator:`dot`,tier:`narrow`,isHost:!0}),f.cost&&r&&e.push({id:`host:cost`,text:r,separator:`space`,tier:`medium`,isHost:!0}),f.providerUsage&&i){let t=Date.now(),n=Pn(i,t);n&&e.push({id:`host:provider-usage`,text:n,color:Ln(i.status,i.limitType,i.usedPercent,i.resetsAt,t,i.overageStatus),separator:`dot`,tier:`medium`,isHost:!0})}if(f.pluginStatusItems&&a)for(let t of a)e.push({id:t.id,text:t.text,separator:`space`,tier:`low`,isHost:!1});if(f.pluginStatusItems&&o.length>0){let n={nowMs:Date.now(),model:s,providerUsage:i,columns:t};for(let t of o){let r=du(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return su(e)},[f,n,r,i,c,a,o,u,s,t])}}function mu(e){let{shellExecution:t,subagentContext:n,agentProcessing:r,queuedItems:i,pendingEcho:a,pendingSteers:o,onRequestPopQueuedConfirm:s}=e,{onExitSubagentContext:c,onPopQueued:l,onInterrupt:u,onWithdrawPending:d,onWithdrawSteer:f}=Zl();return Nt(()=>{if(!t){if(n){c?.();return}if(r){if(i.length>0){s?s():l?.();return}if(o&&o.length>0){let e=o[o.length-1];e&&f?.(e.id);return}if(a){d?.(a.text,a.mode);return}u?.();return}}},[t,n,c,r,i,a,o,l,u,d,f,s])}let hu=null;function gu(e){hu=e}function _u(){return hu}function vu(){let[e,t]=K(null),n=G(null),r=Nt(e=>{n.current=e,t(e),!e&&p()?.currentPath===`/pane/sigil`&&p()?.goBack()},[]),i=G(null),[a,o]=K(null),s=G(!1),[c,l]=K(null),u=G(null),d=Nt((e,t,n)=>{i.current=n,r({sigil:e,query:t,mode:`sigil`}),p()?.navigate(`/pane/sigil`)},[]),f=Nt(()=>{if(n.current?.mode===`history`){r(null);return}i.current=null,r({sigil:`#`,query:``,mode:`history`}),p()?.navigate(`/pane/sigil`)},[]);return W(()=>(gu(f),()=>gu(null)),[f]),{sigilState:e,setSigilState:r,sigilApplyRef:i,hadSigilFocusRef:s,chipContentViewerRequest:a,pasteContent:c,handleSigilTrigger:d,handleHistorySearch:f,handleChipReopen:Nt((e,n,r)=>{i.current={select:r.select,cancel:()=>r.cancel()},t({sigil:`@`,query:``}),p()?.navigate(`/pane/sigil`)},[]),handleChipViewPaste:Nt((e,t)=>{Jr(p(),Gr,!0),o({label:e,content:t,onDismiss:()=>{o(null),Jr(p(),Gr,!1)}})},[]),handleSigilClose:Nt(()=>{r(null)},[]),handlePasteConfirmRequest:Nt((e,t)=>{u.current=t,l(e),Jr(p(),Ur,!0)},[]),handlePasteConfirm:Nt(()=>{u.current?.confirm(),u.current=null,l(null),Jr(p(),Ur,!1)},[]),handlePasteCancel:Nt(()=>{u.current?.cancel(),u.current=null,l(null),Jr(p(),Ur,!1)},[])}}function yu(e){let{sigilState:t,setSigilState:n,sigilApplyRef:r,hadSigilFocusRef:i,focusOwner:a,preempted:o}=e;W(()=>{if(!t){i.current=!1;return}if(a===`sigilPane`&&!o){i.current=!0;return}i.current&&=(n(null),r.current?.cancel(!1),!1)},[t,a,o])}function bu(){let e=Rn({budget:null});return{store:e,setBudget(t){e.setState({budget:t})},reset(){e.setState({budget:null})}}}function xu(e,t){return e.toolCallId&&t.toolCallId&&e.toolCallId===t.toolCallId?{...e,...t}:{...e,...t,oldContent:e.oldContent??t.oldContent,newContent:t.newContent??e.newContent,addedLines:e.addedLines+t.addedLines,removedLines:e.removedLines+t.removedLines,timestamp:Math.max(e.timestamp,t.timestamp),turnId:t.turnId??e.turnId,toolCallId:t.toolCallId??e.toolCallId}}function Su(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function Cu(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function wu(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function Tu({files:e,focused:n,onDismiss:r,onOpenFileFull:a,fullOpenIndex:o=null,rows:s=24}){let c=L(),[l,u]=ra(`editedFiles`,e.length),m=G(0);if(yt(`edited-files-pane`,(t,n)=>n.escape?o===null?(p()?.navigate(`/`,{reset:!0}),r?.(),!0):!0:ue(`list-nav-up`,t,n,`editedFiles`)?(u(e=>Math.max(0,e-1)),!0):ue(`list-nav-down`,t,n,`editedFiles`)?(u(t=>Math.min(e.length-1,t+1)),!0):n.return?(a?.(l),!0):!1,{isActive:n}),e.length===0)return null;let h=e.reduce((e,t)=>e+t.addedLines,0),g=e.reduce((e,t)=>e+t.removedLines,0),_=Math.min(l,e.length-1),v=xt(e,_,Ve(e.length,s,3),m.current);return m.current=v.scrollTop,J(Y,{flexDirection:`column`,marginTop:t.tight,children:[J(Y,{children:[q(X,{color:c.special,children:`▸ `}),q(X,{color:n?c.text:c.inactive,children:V.t(`panelTitle.editedFilesTitle`)}),J(d,{type:`secondary`,children:[` `,V.t(`diff.fileCountLabel`,{count:e.length})]}),h>0&&J(X,{color:c.diffAdd,children:[` +`,h]}),g>0&&J(X,{color:c.diffRemove,children:[` -`,g]}),!n&&J(d,{type:`secondary`,dim:!0,children:[` `,i(`v`)]}),n&&q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.view`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:t.section,flexDirection:`column`,children:[v.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),v.rows.map((e,t)=>{let r=v.scrollTop+t===_,i=r&&n?c.selection:c.inactive;return J(Y,{flexDirection:`row`,children:[q(X,{color:i,children:r?tt():be()}),J(X,{color:wu(e.operation,c),children:[Cu(e.operation),` `]}),q(X,{color:i,children:Su(e.path)}),e.addedLines>0&&J(X,{color:c.diffAdd,children:[` +`,e.addedLines]}),e.removedLines>0&&J(X,{color:c.diffRemove,children:[` -`,e.removedLines]})]},`${e.path}-${e.timestamp}`)}),v.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Eu(e={}){return{tasks:[],tasksTitle:void 0,turnBoundaries:[],editedFiles:[],backgroundTasks:[],subagentsAccum:new Map,scheduleTasks:[],drafts:e.drafts??[],queued:[],pendingPermission:null,clipboardChars:0,clipboardText:``,clipboardFailed:!1,clipboardJustCopied:!1,backgroundOutput:null,subagentContext:null,forcedUpgrade:null,pendingEcho:null,pendingSteers:[],modelName:e.modelName??``,pluginStatusItems:[],statusWidgets:[],needsSetup:e.needsSetup??!1,permissionMode:e.permissionMode??`auto`,commands:e.commands??[],paneOwnsViewportFlag:!1,shellExecution:null,recentMentions:e.recentMentions??[],sessionList:[],sessionTitle:``}}function Du(e={}){let t=Rn(Eu(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(Eu(e))},setNotify(e){n=e},setEffects(e){r=e},actions:{setTasks(e,n){t.setState({tasks:e}),t.setState({tasksTitle:n}),i()},setEditedFiles(e){t.setState({editedFiles:e.sort((e,t)=>t.timestamp-e.timestamp)}),i()},addEditedFile(e){let n=[...t.getState().editedFiles],r=n.findIndex(t=>t.path===e.path);r>=0?n[r]=xu(n[r],e):n.push(e),n.sort((e,t)=>t.timestamp-e.timestamp),t.setState({editedFiles:n}),i()},setBackgroundTasks(e){if(t.setState({backgroundTasks:e}),e.some(e=>e.type===`agent-session`)){let n=new Map(t.getState().subagentsAccum);for(let t of e)t.type===`agent-session`&&n.set(t.id,t);t.setState({subagentsAccum:n})}i()},setTurnBoundaries(e){t.setState({turnBoundaries:[...e]})},addTurnBoundary(e){t.setState({turnBoundaries:[...t.getState().turnBoundaries,e]})},setDrafts(e){t.setState({drafts:e}),i()},setScheduleTasks(e){t.setState({scheduleTasks:e}),i()},setRecentMentions(e){t.setState({recentMentions:e}),i()},setModelName(e){t.setState({modelName:e}),i()},setSessionList(e){t.setState({sessionList:e}),i()},setSessionTitle(e){t.setState({sessionTitle:e}),i()},setNeedsSetup(e){t.getState().needsSetup!==e&&(t.setState({needsSetup:e}),i())},setPermissionMode(e){t.setState({permissionMode:e}),i()},setForcedUpgrade(e){t.setState({forcedUpgrade:e}),r.syncForcedUpgradeRoute?.(!!e),i()},setPluginStatusItems(e){t.setState({pluginStatusItems:e}),r.registerStatusItems?.(e),i()},setBackgroundOutput(e){t.setState({backgroundOutput:e}),r.backgroundOutputRoute?.(e!==null),r.flushScrollbackIfIdle?.(),i()}}}}function Ou(){let e=Rn({memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]});return{store:e,reset(){e.setState({memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]})},setMemory(t){let n=[...e.getState().memoryHistory,t.heapUsed].slice(-32);e.setState({memory:t,memoryHistory:n})},setNotify(t){e.setState({notify:t})},setIndicatorLevel(t){e.setState({indicatorLevel:t})},setPluginMetrics(t){e.setState({pluginMetrics:t})}}}function ku(){let e=Rn({view:null});return{store:e,setView(t){e.setState({view:t})}}}function Au(){return{view:{configPath:`~/.otto/config.json`}}}function ju(){let e=Rn(Au());return{store:e,setView(t){e.setState({view:t})}}}function Mu(e=Date.now){let t=Rn({entries:[]}),n=1,r=r=>{let i=[{...r,id:n++,timestamp:e()},...t.getState().entries].slice(0,20);t.setState({entries:i})};return{store:t,recordCompaction(e,t,n){r({kind:`compact`,before:e,after:t,summary:n})},recordPrune(e,t){r({kind:`prune`,tokensSaved:e,prunedCount:t})},recordHistoryCapped(e){r({kind:`history_capped`,removedCount:e})}}}const Nu={categoryIndex:0,itemIndex:0,variantIndex:0};function Pu(){let e=Rn({...Nu});return{store:e,reset(){e.setState({...Nu})},setCategoryIndex(t){e.setState({categoryIndex:t,itemIndex:0,variantIndex:0})},setItemIndex(t){e.setState({itemIndex:t,variantIndex:0})},setVariantIndex(t){e.setState({variantIndex:t})}}}function Fu(e){let{taskStore:t,budgetStore:n,perfStore:r,cacheStore:i,proxyStore:a,compactionLogStore:o,galleryStore:s,streamStore:c}=e;return{taskStore:Ft(()=>t??Du(),[t]),budgetStore:Ft(()=>n??bu(),[n]),perfStore:Ft(()=>r??Ou(),[r]),cacheStore:Ft(()=>i??ku(),[i]),proxyStore:Ft(()=>a??ju(),[a]),compactionLogStore:Ft(()=>o??Mu(),[o]),galleryStore:Ft(()=>s??Pu(),[s]),streamStore:Ft(()=>c??sl(),[c])}}const Iu=[{en:`Use ↑/↓ for input history; Ctrl+R opens fuzzy history search.`,zh:`输入框里按 ↑/↓ 浏览历史输入,Ctrl+R 模糊搜索历史。`},{en:`Use /feedback to report a bug or request a feature via GitHub.`,zh:`输入 /feedback 可通过 GitHub 提交 bug 或功能建议。`},{en:`During a run, press Esc on an empty prompt to interrupt and steer.`,zh:`运行时输入框为空按 Esc 可中断,otto 停下来让你接管方向。`},{en:`During a run, Shift+Enter queues a follow-up; Ctrl+Q manages it.`,zh:`运行中按 Shift+Enter 排队追加消息(本回合后执行),Ctrl+Q 管理队列。`},{en:`While otto works, plain Enter steers the current turn.`,zh:`otto 工作中按普通 Enter 可注入引导消息到当前回合。`},{en:`Type /model then Tab to pick a model and switch mid-session.`,zh:`输入 /model 后按 Tab 自动补全可用模型,会话中途即可切换。`},{en:`Use /install for skills/plugins/MCP; manage them in /extension.`,zh:`/install 从文件或 URL 安装技能/插件/MCP,/extension 面板管理。`},{en:`Reasoning streams inline; /effort changes its intensity.`,zh:`推理过程实时内联在对话流中生成,/effort 调节推理强度。`},{en:`Type /open then Tab to browse and open files in the viewer.`,zh:`输入 /open 按 Tab 浏览目录,在内置查看器打开文件。`},{en:`Ctrl+S saves the current input as a draft; Ctrl+O lists and loads drafts.`,zh:`Ctrl+S 把当前输入存为草稿,Ctrl+O 打开草稿面板选择载入。`},{en:`Ctrl+R or /history searches session and shell history.`,zh:`Ctrl+R(或 /history)搜索会话与 shell 历史,选中即回填。`},{en:`Large pastes become chips; press Enter on a chip to view it.`,zh:`大段粘贴自动折叠成占位标记,光标停在标记上按 Enter 查看原文。`},{en:`Use /compact to free context; /compact log shows pruned items.`,zh:`长会话用 /compact 释放上下文,/compact log 查看裁剪明细。`},{en:"Run `otto doctor` in another terminal for a full health check.",zh:"在另一个终端运行 `otto doctor` 做完整环境健康诊断。"},{en:`Otto can fall back to another model after failure or rate limits.`,zh:`当前模型失败或限流时,otto 自动回退到已配置的其他模型。`},{en:`Use /schedule add with cron syntax for recurring tasks.`,zh:`/schedule add 用 cron 表达式设定期任务(如日报)。`},{en:`Use /queue to reorder or remove queued follow-ups.`,zh:`/queue 面板管理排队消息,move 调顺序,remove 删除。`},{en:`Tab completes slash commands and arguments: /model gpt<Tab>.`,zh:`Tab 补全斜杠命令及其参数(试试 /model gpt<Tab>)。`},{en:`Ctrl+P opens Delegates; press Enter to view job output.`,zh:`Ctrl+P 打开委派面板查看后台任务,Enter 实时查看其输出。`},{en:`Use /job <directive> to run work in a background worktree.`,zh:`/job <指令> 在后台 worktree 跑任务,不阻塞当前会话。`},{en:`Language, model, and permission mode persist across sessions.`,zh:`语言、模型、权限模式跨会话自动持久化。`},{en:`Ctrl+V lists edited files; Enter opens a full-screen diff.`,zh:`Ctrl+V 列出本会话修改的文件及 +/- 统计,Enter 打开全屏 diff。`},{en:`Scroll with Alt+↑/↓ or PgUp/PgDn; press / in review to search.`,zh:`Alt+↑/↓ 或 PageUp/PageDown 滚动对话流,回看态按 / 搜索。`},{en:`Use /perf for memory and rendering health; /diagnose for failures.`,zh:`/perf 查看内存占用与渲染健康度,/diagnose 汇总反复出现的失败并给改进建议。`},{en:`Use /preference to switch theme or language.`,zh:`/preference theme 切 dark/light/system 主题,/preference lang 切中英文。`},{en:`Wheel scrolling works by default; drag to select, release to copy.`,zh:`滚轮/触控板开箱即用,拖拽即选中、松手自动复制。`},{en:`Use /upgrade for otto updates; /upgrade --check checks extensions.`,zh:`/upgrade 检查 otto 更新,/upgrade --check 检查扩展更新。`},{en:`Use /resume for recent sessions; /pin keeps favorites on top.`,zh:`/resume 切换最近会话,/pin 把常用会话置顶。`}];function Lu({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,o]=K(!1),[s,l]=K(()=>Ru()),u=G(e);u.current=e;let d=G(0),[f,p]=K(0);if(c(`idle-tip-activity`,()=>{d.current+=1,p(d.current)},{isActive:e}),W(()=>{if(!e){o(!1);return}o(!1);let t=setTimeout(()=>{u.current&&o(!0)},r);return()=>{clearTimeout(t)}},[e,t,r,f]),W(()=>{if(!a)return;let e=setInterval(()=>{l(e=>(e+1)%Iu.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let m=Iu[s%Iu.length];return m?n?m.zh:m.en:null}function Ru(){let e=new Date,t=`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`,n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e)|0;return Math.abs(n)%Iu.length}function zu(){return q(Y,{children:q(X,{color:L().warning,children:`🕶 ${V.t(`welcome.shadowChip`)}`})})}function Bu(){let e=L();return J(Y,{flexDirection:`column`,marginBottom:1,children:[q(X,{bold:!0,color:e.warning,children:`🕶 ${V.t(`welcome.shadowBannerTitle`)}`}),q(X,{color:e.suggestion,children:V.t(`welcome.shadowGuarantee`)}),J(Y,{marginTop:1,flexDirection:`column`,children:[q(X,{color:e.inactive,children:V.t(`welcome.shadowNotGuaranteedTitle`)}),q(X,{color:e.inactive,children:` • ${V.t(`welcome.shadowNg1`)}`}),q(X,{color:e.inactive,children:` • ${V.t(`welcome.shadowNg2`)}`}),q(X,{color:e.inactive,children:` • ${V.t(`welcome.shadowNg3`)}`}),q(X,{color:e.inactive,children:` • ${V.t(`welcome.shadowNg4`)}`})]})]})}const Vu=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],Hu=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function Uu(e){let t=2*e;return 375+t+188+t}function Wu(e){return 2*e}function Gu(e,t){return Math.min(t,Math.floor(e/2)+1)}function Ku(e,t){let n=Wu(t),r=e%Uu(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:Gu(i,t),t:i};let a=i-n;if(a<188)return{phase:`hold`,progress:t,t:a};let o=a-188;return o<n?{phase:`exiting`,progress:Gu(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function qu(e){let t=e%16;return t<=8?t/8:(16-t)/8}function Ju(e){return Math.floor(e/3)%Vu.length}function Yu(e,t,n){let r=n===`light`?Hu:Vu,i=Ju(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function Xu(e,t){let n=parseInt(e.slice(1),16),r=n>>16&255,i=n>>8&255,a=n&255,o=e=>Math.round(e+(255-e)*t),s=e=>e.toString(16).padStart(2,`0`).toUpperCase();return`#${s(o(r))}${s(o(i))}${s(o(a))}`}function Zu(e,t,n,r,i,a,o){let s=i===`light`?Hu:Vu,c=a.phase===`hold`?qu(a.t):0,l=[];for(let i=0;i<e.length;i++){let u=a.phase===`hold`||a.phase===`entering`&&i<a.progress||a.phase===`exiting`&&i>=a.progress,d=Math.abs(i-t)<=n,f;if(u){let e=s[(i+r)%s.length];f=Xu(e,d?.5+.25*c:.5*c)}else f=d?o.brandShimmer:o.brand;let p=l[l.length-1];p&&p.color===f?p.text+=e[i]:l.push({text:e[i],color:f})}return l}const Qu=[`✦`,`✧`,`·`,`⋆`],$u=[`~`,`°`,`·`,`˘`,`∼`],ed=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],td=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],nd=[{left:1,phase:16}],rd=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],id=[{left:3,phase:15},{left:10,phase:35}];function ad(e,t){let n=(e+t)%32,r=n<=16?n/16:(32-n)/16;return r<.15?0:r<.5?1:r<.85?2:3}function od(e,t){let n=(e+t)%70,r=(Math.sin(n/70*Math.PI*2)+1)/2;return r<.1?0:r<.4?1:r<.75?2:3}function sd(e,t){return $u[Math.floor((e+t)/8)%$u.length]}function cd({isNight:e=!1}){let t=L(),{resolvedTheme:n}=b(),[r,i]=H.useState(0),a=ge();Ne(80,i);let o=e&&!a,s=!e&&!a,c=a?null:Ku(r,ed[0].length),l=Ju(r),u={brand:t.brand,brandShimmer:t.brandShimmer},d=e=>e===1?t.accentDim:e===3?t.accentBright:t.accent,f=(e,t,n)=>{let i=ad(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Qu[n%Qu.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=od(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:sd(r,e.phase)})},`ripple-${n}`)};return J(Y,{position:`relative`,flexDirection:`column`,children:[ed.map((e,i)=>{let a=el(r+i*3,e.length);return q(Y,{flexDirection:`row`,children:c&&c.phase!==`brand`?Zu(e,a,2,l,n,c,u).map((e,t)=>q(X,{bold:!0,color:e.color,children:e.text},t)):$c(e,a,2).map((e,n)=>q(X,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&td.map((e,t)=>f(e,-1,t)),o&&nd.map((e,t)=>f(e,ed.length,t)),s&&rd.map((e,t)=>p(e,-1,t)),s&&id.map((e,t)=>p(e,ed.length,t))]})}const ld=[`provider`,`authentication`,`model`],ud={provider:{titleKey:`recovery.titleProvider`,ctaKey:`recovery.ctaProvider`,hintKey:`recovery.hintProvider`},authentication:{titleKey:`recovery.titleAuth`,ctaKey:`recovery.ctaAuth`,hintKey:`recovery.hintAuth`},model:{titleKey:`recovery.titleModel`,ctaKey:`recovery.ctaModel`,hintKey:`recovery.hintModel`}};function dd(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=ud[e],r=ld.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:ld.length}}function fd({version:e=`0.1.0`,buildId:n,cwd:r,width:i,nickname:a,updateAvailable:o,weather:s,ftueStage:c,shadow:l=!1}){let u=L(),f=r?r.replace(process.env.HOME??`~`,`~`):void 0,p=i??process.stdout.columns??80,m=p>=60,h=H.useMemo(()=>{let e=new Date().getHours();return e<5?`late`:e<9?`earlyMorning`:e<12?`morning`:e<18?`afternoon`:e<22?`evening`:`night`},[]),g=h===`night`||h===`late`,[_]=H.useState(()=>{let e=new Date,t=V.language===`zh`?[`日`,`一`,`二`,`三`,`四`,`五`,`六`]:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],n=t[e.getDay()]??t[0],r=a?V.language===`zh`?`,${a}`:`, ${a}`:``;return V.t(`welcome.greeting`,{context:h,wday:n,who:r})}),v=_,y=V.t(`welcome.version`),b=V.t(`welcome.workspace`),x=Math.max(ut(y),ut(b))+4,S=ed.map(e=>ut(e)),C=Math.max(...S),w=e=>` `.repeat(Math.max(0,C-(S[e]??C))),T=c?dd(c,p):null;return q(Y,{flexDirection:`column`,children:J(Y,{flexDirection:`column`,paddingX:t.tight,paddingTop:t.section,...Qe,borderColor:u.panelBorder,children:[m&&J(Y,{marginBottom:t.tight,flexDirection:`row`,children:[q(cd,{isNight:g}),J(Y,{flexDirection:`column`,marginLeft:t.loose,children:[J(Y,{flexDirection:`row`,children:[J(d,{type:`secondary`,children:[w(0),vt(y,x)]}),J(d,{type:`secondary`,children:[`v`,e]}),n!=null&&J(d,{type:`secondary`,dim:!0,children:[` `,`(build `,n,`)`]}),o&&o.newer&&J(X,{color:o.forced?u.warning:u.accent,children:[` `,o.forced?V.t(`update.forcedBanner`,{latest:o.latest}):V.t(`update.availableBanner`,{latest:o.latest})]})]}),f&&J(Y,{flexDirection:`row`,children:[J(d,{type:`secondary`,children:[w(1),vt(b,x)]}),q(d,{type:`secondary`,children:f})]})]})]}),!m&&J(Y,{flexDirection:`column`,marginBottom:t.tight,children:[J(Y,{flexDirection:`row`,children:[$c(`otto`,1).map((e,t)=>q(X,{bold:!0,color:e.bright?u.brandShimmer:u.brand,children:e.text},t)),q(d,{type:`secondary`,children:` ${vt(y,x)}`}),J(d,{type:`secondary`,children:[`v`,e]}),n!=null&&J(d,{type:`secondary`,dim:!0,children:[` `,`(build `,n,`)`]})]}),f&&J(Y,{flexDirection:`row`,children:[q(d,{type:`secondary`,children:` ${vt(b,x)}`}),q(d,{type:`secondary`,children:f})]})]}),q(Y,{marginBottom:t.tight,children:a&&v.includes(a)?J(X,{color:u.text,bold:!0,children:[v.slice(0,v.indexOf(a)),q(X,{color:u.accent,children:a}),v.slice(v.indexOf(a)+a.length)]}):q(X,{color:u.text,bold:!0,children:v})}),T&&J(Y,{flexDirection:`column`,marginBottom:t.tight,children:[J(Y,{children:[q(X,{color:u.warning,bold:!0,children:V.t(T.titleKey)}),q(d,{type:`secondary`,children:` ${T.step}/${T.totalSteps}`})]}),T.hintKey&&q(d,{type:`secondary`,children:V.t(T.hintKey)}),q(X,{color:u.accent,children:V.t(T.ctaKey)})]}),l&&q(Bu,{}),s&&J(Y,{marginBottom:t.tight,children:[J(X,{color:u.accent,children:[s.condition,` `,s.temp,`°C`]}),J(d,{type:`secondary`,children:[` `,s.location]})]})]})})}function pd(e,t){let n=la();W(()=>{if(n)return n.registerWheel(e)},[n,...t])}function md({title:e,status:t,messages:n,streamText:r=``,rows:i=24,columns:a=80,onDismiss:o}){let s=L(),c=oe();yt(`subagent-context-view`,(e,t)=>t.escape?(o?.(),!0):t.upArrow?(m(e=>b(e+1)),!0):t.downArrow?(m(e=>b(e-1)),!0):t.pageUp?(m(e=>b(e+v)),!0):t.pageDown?(m(e=>b(e-v)),!0):e===`g`&&!t.ctrl&&!t.meta?(m(y),!0):e===`G`&&!t.ctrl&&!t.meta?(m(0),!0):!1,{isActive:c?c.currentPath===`/subagent`:!0});let l=[];for(let e of n){let t=rc(e,a);t.length>0&&l.push(t)}let u=[];for(let e=0;e<l.length;e++)e>0&&u.push(``),u.push(...l[e]);let[p,m]=K(0),h=p===0,g=Qc(r,a-ne.borderInset,3);if(h&&g.length>0){u.length>0&&u.push(``),u.push(`⏺ assistant (streaming)`);for(let e of g)u.push(` ${e}`)}let _=k(i),v=Math.max(1,_-7),y=Math.max(0,u.length-v),b=e=>Math.min(y,Math.max(0,e)),x=y-b(p),S=u.slice(x,x+v);return pd(e=>m(t=>b(t+e*3)),[y]),J(M,{maxHeight:_,header:J(Y,{flexDirection:`column`,children:[q(X,{color:s.secondary,italic:!0,children:V.t(`subagent.header`,{title:e,status:t})}),q(X,{children:` `})]}),footer:q(f,{items:[...y>0?[[`${B.up}${B.down}`,V.t(`hint.scroll`)]]:[],[B.esc,V.t(`hint.back`)]]}),children:[q(Y,{height:1,children:x>0&&q(d,{type:`secondary`,dim:!0,children:V.t(`subagent.contextEarlierLines`,{n:x})})}),q(Y,{flexDirection:`column`,children:S.map((e,t)=>q(X,{children:e},`${x+t}`))})]})}const hd=[{thresholdSec:0,stage:{labelKey:`analyze`,capPercent:30}},{thresholdSec:3,stage:{labelKey:`summarize`,capPercent:80}},{thresholdSec:8,stage:{labelKey:`finalize`,capPercent:92}}];function gd(e){let t=Number.isFinite(e)?e:0,n=hd[0].stage;for(let{thresholdSec:e,stage:r}of hd)if(t>=e)n=r;else break;return n}const _d=ze,vd=3e3;function yd(e){let t=100*(1-Math.exp(-Math.max(0,e)/8));return Math.min(92,Math.round(t))}function bd({verb:e,elapsed:n=!0,paused:r=!1,responseLength:i=0,hasActiveTools:a=!1,tokens:o=0,mode:s,progressPercent:c,toolTurnCount:l=0,maxToolTurns:u=0,estimatedProgress:d=!1}){let f=L(),[p,m]=K(0),[h,g]=K(0),[_,v]=K(0),y=G(Date.now()),b=G(0),x=G(i),S=G(null),C=G(-1),w=G(e??(()=>{let e=V.t(`spinner.verbs`,{returnObjects:!0});return e[Math.floor(Math.random()*e.length)]})()),T=G(i),E=G(a);T.current=i,E.current=a;let D=ge(),O=G(r);O.current=r,Ne(160,()=>{if(O.current)return;let e=Date.now()-y.current-b.current;m(Math.floor(e/160)%_d.length)}),W(()=>{let e=setInterval(()=>{if(r)return;let e=Date.now()-y.current-b.current,t=Math.floor(e/1e3);t!==C.current&&(C.current=t,g(e));let n=T.current,i=x.current;if(i>0&&i===n&&!E.current)if(S.current===null)S.current=Date.now();else{let e=Date.now()-S.current;e>=vd&&v(Math.min(1,(e-vd)/2e3))}else x.current=n,S.current=null,v(0)},160);return()=>clearInterval(e)},[r]),W(()=>{r?b.current=Date.now()-y.current:(y.current=Date.now()-b.current,b.current=0)},[r]);let k=_>0,ee=_d[p],te=Math.floor(h/1e3),A=[];if(n&&A.push({text:bo(te)}),o>0&&A.push({text:`↓ ${V.t(`budget.tokensLabel`,{count:o})}`}),s===`responding`&&c!==void 0&&Number.isFinite(c)){let e=Math.max(0,Math.min(100,Math.round(c)));A.push({text:V.t(`spinner.outputPercent`,{pct:e})})}let ne=d?gd(te):null;if(ne){let e=Math.min(ne.capPercent,yd(te));A.push({text:V.t(`spinner.estimatedPercent`,{pct:e})})}u>0&&A.push({text:V.t(`tool.budgetLabel`,{used:l,max:u}),color:tl(l,u)});let j=k?f.error:f.accent,M=ne?`${V.t(`compact.ionStageLabel`,{context:ne.labelKey})}…`:`${e??w.current}…`,re=k||D?null:$c(M,el(p,M.length)),N=s===`requesting`?R.requesting:s===`responding`?R.responding:null;return J(Y,{flexDirection:`row`,marginTop:t.tight,children:[q(X,{color:j,children:ee}),q(X,{children:` `}),N&&J(It,{children:[q(X,{dimColor:!0,color:f.inactive,children:N}),q(X,{children:` `})]}),re?re.map((e,t)=>q(X,{color:e.bright?f.text:f.inactive,bold:e.bright,children:e.text},t)):q(X,{color:k?f.error:f.text,children:M}),A.length>0&&J(It,{children:[q(X,{color:f.inactive,children:` (`}),A.map((e,t)=>J(H.Fragment,{children:[t>0&&q(X,{color:f.inactive,children:` · `}),q(X,{color:e.color??f.inactive,children:e.text})]},t)),q(X,{color:f.inactive,children:`)`})]})]})}function xd({streamStore:e,pendingPermission:t}){let n=Z(e.store,e=>e.streamingText),r=Z(e.store,e=>e.streamingThinking),i=Z(e.store,e=>e.spinnerMode),a=Z(e.store,e=>e.toolTurnCount),o=Z(e.store,e=>e.maxToolTurns),s=Z(e.store,e=>e.processing),c=Z(e.store,e=>e.activeTool),l=Z(e.store,ul),u=Z(e.store,ll);if(!s||t||r)return null;let d=c===mo,f=d?V.t(`compact.ingVerb`):c?V.t(`bg.runningVerb`,{tool:c}):void 0;return q(bd,{hasActiveTools:!!c,responseLength:n.length,tokens:l,verb:f,mode:i??void 0,progressPercent:u,toolTurnCount:a,maxToolTurns:o,estimatedProgress:d})}function Sd(e,t,n=60){if(e.length===0)return null;let r=Math.max(0,Math.min(t,e.length-1));for(let t=r;t>=0;t--){let r=e[t];if(!r||r.role!==`user`)continue;let i=Cd(r.content);if(i)return Td(i,n)}return null}function Cd(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:wd(e)?e.text:``).filter(Boolean).join(` `).trim():wd(e)?String(e.text).trim():``}function wd(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function Td(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function Ed(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:l(n,t)}function Dd({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:Ed(i,r)}function Od(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function kd(e){let t=Zl(),{taskStore:n}=Gl(),r=Z(n.store,e=>e.sessionTitle),i=Z(n.store,e=>e.sessionList),a=Z(n.store,e=>e.needsSetup),o=Z(n.store,e=>e.pendingPermission),s=Z(n.store,e=>e.subagentContext),c=Z(n.store,e=>e.pendingEcho),l=Z(n.store,e=>e.pendingSteers),u=Z(e.scrollStore.store,e=>e.offset>0),[d,f]=H.useState(null);H.useEffect(()=>{s&&f(null)},[s]);let p=Z(e.scrollStore.store,e=>e.offset),m=Z(e.scrollStore.store,e=>e.atTranscriptTop),h=H.useMemo(()=>{if(!u)return null;let t=Math.max(0,e.messages.length-1-Math.floor(p/3));return Sd(e.messages,t)},[u,p,e.messages]),g=a?`model`:void 0;if(e.welcome&&e.showHome)return q(fd,{version:e.welcome.version,buildId:e.welcome.buildId,cwd:e.welcome.cwd,width:e.columns,nickname:e.welcome.nickname,updateAvailable:e.welcome.updateAvailable,weather:e.welcome.weather,sessionList:i,onSessionSelect:t.onSessionSelect,ftueStage:g,shadow:e.shadow});let _=Dd({sessionTitle:r,reviewing:u,turnPrompt:h,maxWidth:Math.max(1,e.columns-2)}),v=_.length>0&&!Od(_)&&!m,y=Math.max(1,e.rows-(v?1:0)-(d?1:0));return J(Y,{flexDirection:`column`,flexGrow:1,justifyContent:`flex-end`,children:[v&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:`${R.userPrompt} ${_}`})}),s?(()=>{let n=s;return q(md,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:y,columns:e.columns,onDismiss:t.onExitSubagentContext})})():J(It,{children:[q(dl,{streamStore:e.streamStore,completedMessages:e.messages,columns:e.columns,rows:y,maxPreviewRows:e.fullScreenPaneActive?0:e.maxPreviewRows,suppressLive:e.fullScreenPaneActive||u,pendingEcho:c??null,scrollbackMode:e.scrollbackMode??!1,pendingSteers:l??[],windowMode:e.windowMode,scrollStore:e.scrollStore,earlierLoading:e.earlierLoading,earlierEnded:e.earlierEnded,onNeedEarlier:e.onNeedEarlier,onPrepend:e.onPrepend,findQuery:e.findQuery,findActiveMatch:e.findActiveMatch,onFindNavigateTo:e.onFindNavigateTo,onFindCountChange:e.onFindCountChange,onReviewHintChange:f,renderReviewHint:!1}),!e.fullScreenPaneActive&&q(xd,{streamStore:e.streamStore,pendingPermission:o??null})]}),d&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:d})})]})}const Ad=ut(` · `),jd=ut(`←`)+4;function Md(e,t,n,r){let i=e.map((e,n)=>({item:e,index:n,label:t(e)}));if(e.length===0)return{items:[],hiddenLeft:0,hiddenRight:0};if(r===void 0||!Number.isFinite(r)||r<=0)return{items:i,hiddenLeft:0,hiddenRight:0};let a=Math.max(0,Math.min(n,e.length-1)),o=e=>ut(i[e].label)+2;if(i.reduce((e,t,n)=>e+o(n),0)+(i.length-1)*Ad<=r)return{items:i,hiddenLeft:0,hiddenRight:0};let s=Math.max(6,r-jd*2),c=a,u=a+1,d=Math.min(o(a),s);for(;;){let e=u<i.length,t=c>0;if(!e&&!t)break;let n=!1;if(e){let e=o(u)+Ad;d+e<=s&&(d+=e,u++,n=!0)}if(t){let e=o(c-1)+Ad;d+e<=s&&(d+=e,c--,n=!0)}if(!n)break}return{items:i.slice(c,u).map(e=>{let t=Math.max(1,s-2);return ut(e.label)>t?{...e,label:l(e.label,t)}:e}),hiddenLeft:c,hiddenRight:i.length-u}}function Nd({label:e,active:t,disabled:n,color:r=`accent`}){return q(F,{variant:`ghost`,color:r,label:e,focused:t,disabled:n})}function Pd({items:e,activeKey:n,color:r=`accent`,tabIndex:i=-1,onSelect:a,availableWidth:o,enableDigitAccess:s=!1}){let c=L(),{focused:l}=O({tabIndex:i,disabled:i<0}),u=(t,r)=>{if(!a||e.length===0)return!1;let i=e.findIndex(e=>e.key===n);if(r.leftArrow||r.rightArrow)return a(e[(i+(r.leftArrow?-1:1)+e.length)%e.length].key),!0;if(s&&t>=`1`&&t<=`9`){let n=t.charCodeAt(0)-49;return n<e.length&&!e[n].disabled?(a(e[n].key),!0):!1}return!1};We(l,u),yt(`segmented-${e.map(e=>e.key).join(`-`)}`,u,{isActive:!!a&&!l});let d=Md(e,e=>e.label,e.findIndex(e=>e.key===n),o);return J(Y,{flexDirection:`row`,gap:t.tight,children:[d.hiddenLeft>0&&q(X,{color:c.inactive,children:`←${d.hiddenLeft}`}),d.items.map((e,t)=>J(H.Fragment,{children:[t>0&&q(X,{color:c.inactive,children:`·`}),q(Nd,{label:e.label,active:e.item.key===n,disabled:e.item.disabled,color:r})]},e.item.key)),d.hiddenRight>0&&q(X,{color:c.inactive,children:`→${d.hiddenRight}`})]})}const Fd={running:R.todoActive,exited:R.check,killed:R.cross,failed:R.cross};function Id(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function Ld(e){if((e.type??`process`)===`agent-session`)switch(e.agentStatus){case`running`:return R.todoActive;case`ready`:return R.attention;case`needs_input`:return R.attention;case`applied`:return R.check;default:return R.cross}return Fd[e.status]}function Rd(e,t){if((e.type??`process`)===`agent-session`){if(e.stall===`stalled`)return t.error;if(e.stall===`warn`)return t.warning;switch(e.agentStatus){case`running`:return t.special;case`ready`:return t.selection;case`needs_input`:return t.warning;case`applied`:return t.success;default:return t.error}}return Id(e.status,t)}function zd({tasks:e,columns:n=80,onClose:r,onKill:a,onViewOutput:o,onApply:s,onSwitch:c,onDelete:u,active:p=!0,rows:m=24}){let h=L(),[g,_]=ra(`delegates`,e.length),v=G(0),y=e.some(e=>(e.type??`process`)===`agent-session`?e.agentStatus===`running`:e.status===`running`),[,b]=K(0);W(()=>{if(!y)return;let e=setInterval(()=>b(e=>(e+1)%1e6),1e3);return()=>clearInterval(e)},[y]),yt(`delegates-pane`,(t,n)=>{if(n.escape||t===`q`)return r?.(),!0;if(ue(`list-nav-up`,t,n,`background`))return _(e=>Math.max(0,e-1)),!0;if(ue(`list-nav-down`,t,n,`background`))return _(t=>Math.max(0,Math.min(e.length-1,t+1))),!0;let i=e[g],l=i?yo(i):!1;return t===`k`&&l&&i?(a?.(i.id),!0):(t===`o`||n.return)&&i?(o?.(i.id),!0):t===`a`&&i?.type===`agent-session`&&i.agentStatus===`ready`&&i.diffStat?(s?.(i.id),!0):t===`s`&&i?.type===`agent-session`?(c?.(i.id),!0):t===`d`&&i&&!l?(u?.(i.id),!0):!1},{isActive:p,ignoreRoute:!0});let x=e.filter(yo).length,S=Date.now(),C=Math.max(12,Math.min(48,n-28));if(!p){if(e.length===0)return null;let t=e[Math.min(g,e.length-1)];return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:h.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`bg.tasksTitle`)}),J(d,{type:`secondary`,children:[` `,e.length]}),x>0&&J(d,{type:`secondary`,children:[` · `,V.t(`bg.runningSuffix`,{n:x})]}),J(d,{type:`secondary`,dim:!0,children:[` `,i(`p`)]})]}),t&&J(Y,{flexDirection:`row`,children:[q(X,{color:h.inactive,children:`${R.pointer} `}),q(X,{color:h.inactive,children:l(t.command,C).padEnd(C)}),J(d,{type:`secondary`,dim:!0,children:[` `,To(t,S)]})]})]})}let w=e[Math.min(g,e.length-1)],T=(w?.type??`process`)===`agent-session`&&w?.agentStatus===`ready`&&!!w?.diffStat,E=!!w&&!yo(w),D=Math.min(g,e.length-1),O=[],k,ee=0;e.forEach((e,t)=>{let n=_o(e);n!==k&&(ee>0&&O.push({type:`spacer`}),O.push({type:`header`,category:n}),ee++,k=n),O.push({type:`entry`,task:e,index:t})});let te=xt(O,O.findIndex(e=>e.type===`entry`&&e.index===D),Ve(O.length,m,3),v.current);return v.current=te.scrollTop,J(Y,{flexDirection:`column`,marginTop:t.tight,children:[J(Y,{children:[q(X,{color:h.special,children:`▸ `}),q(X,{color:h.text,children:V.t(`bg.tasksTitle`)}),J(d,{type:`secondary`,children:[` `,x>0?V.t(`bg.runningSuffix`,{n:x}):`${e.length} total`,e.length>x?` · ${V.t(`bg.doneSuffix`,{n:e.length-x})}`:``]}),q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[`k`,V.t(`hint.kill`)],[`o`,V.t(`hint.output`)],...T?[[`a`,V.t(`hint.apply`)]]:[],...E?[[`d`,V.t(`hint.delete`)]]:[],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),q(Y,{marginLeft:t.section,flexDirection:`column`,children:e.length===0?q(d,{type:`secondary`,dim:!0,children:V.t(`bg.empty`)}):J(It,{children:[te.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),te.rows.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(d,{type:`secondary`,dim:!0,children:V.t(`bg.categoryLabel`,{context:e.category})},`h-${t}`);let n=e.task,r=e.index===g;return J(Y,{flexDirection:`row`,children:[q(X,{color:r?h.selection:h.inactive,children:r?tt():be()}),J(X,{color:Rd(n,h),children:[Ld(n),` `]}),q(X,{color:r?h.selection:h.inactive,children:l(n.command,C).padEnd(C)}),(n.type??`process`)===`agent-session`&&n.model&&J(d,{type:`secondary`,dim:!0,children:[` `,String(n.model)]}),J(d,{type:`secondary`,dim:!0,children:[` `,To(n,S)]})]},n.id)}),te.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})]})}function Bd({view:e,columns:n=80,rows:r,active:i=!0,onDismiss:a}){let o=L(),s=e.prompt!==void 0,c=e.messages!==void 0&&e.messages.length>0,u=!!e.diff?.trim(),p=(s?1:0)+(c?1:0)+(u?1:0)>=2,[m,h]=K(u?`diff`:c?`conversation`:`prompt`),[g,_]=K(0),[v,y]=K(!1),[b,x]=K(``),[S,C]=K(-1),w=r?Ue(r,12):18;W(()=>_(0),[e.id,m]);let T=Math.max(8,n-ne.contentInset),E=[],D=[];if(m===`diff`)E=(e.diff??``).split(`
53
+ `);else if(m===`prompt`)E=eo(e.prompt??``,T);else if(e.messages&&e.messages.length>0){let t=[];for(let n=0;n<e.messages.length;n++){let r=e.messages[n],i=rc(r,T);i.length!==0&&(t.length>0&&t.push(``),t.push(...i))}E=t,D=e.streamText?Qc(e.streamText,T-ne.borderInset,3):[]}let O=m===`prompt`,k=m===`diff`,ee=e=>e.startsWith(`+`)&&!e.startsWith(`+++`)?o.diffAdd:e.startsWith(`-`)&&!e.startsWith(`---`)?o.diffRemove:e.startsWith(`@@`)||e.startsWith(`diff --git`)?o.special:o.secondary,te=e.status===`running`,A=H.useMemo(()=>{if(!b)return{flat:[],byLine:new Map};let e=[],t=new Map;for(let n=0;n<E.length;n++){let r=ya(ks(E[n]),b);if(r.length!==0){t.set(n,r);for(let t of r)e.push({line:n,range:t})}}return{flat:e,byLine:t}},[b,E]),j=Fo(E.length,w,g),re=E.slice(j.start,j.end),N=b?re.map((e,t)=>{let n=j.start+t,r=A.byLine.get(n);if(!r||r.length===0)return e;let i=S>=0?A.flat[S]:void 0;return va(e,r,i&&i.line===n?i.range:void 0)}):re,ie=e.responseText?.split(`
54
+ `)[0],[P,ae]=K(!1);pd(e=>_(t=>Math.max(0,t+e)),[]),yt(`delegates-pane-2`,(t,n)=>{if(v){if(n.escape)return y(!1),x(``),C(-1),!0;if(n.backspace)return x(e=>e.slice(0,-1)),C(-1),!0;if((t===`n`||t===`N`)&&b.length>0){let e=t===`n`?1:-1;return C(t=>A.flat.length>0?(t+e+A.flat.length)%A.flat.length:-1),!0}return t.length===1?(x(e=>e+t),C(-1),!0):!0}return t===`/`&&!n.ctrl&&!n.meta?(y(!0),x(``),C(-1),!0):n.escape?(a?.(),!0):t===`]`&&p?(h(e=>{let t=[...u?[`diff`]:[],...c?[`conversation`]:[],...s?[`prompt`]:[]];return t[(t.indexOf(e)+1)%t.length]??e}),!0):t===`d`&&e.responseText?(ae(e=>!e),!0):n.upArrow?(_(e=>e+1),!0):n.downArrow?(_(e=>Math.max(0,e-1)),!0):n.pageUp?(_(e=>e+w),!0):n.pageDown?(_(e=>Math.max(0,e-w)),!0):!1},{isActive:i,ignoreRoute:!0});let oe=J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[J(X,{color:Id(e.status,o),children:[Fd[e.status],` `]}),q(X,{color:o.secondary,bold:!0,children:l(e.command,Math.max(12,n-12))}),q(d,{type:`secondary`,children:te?` ${R.statusDot} ${V.t(`bg.live`)}`:` ${V.t(`status.done`)}`})]}),ie&&J(Y,{flexDirection:`column`,children:[J(d,{type:`secondary`,dim:!0,children:[` `,ie,` `,q(X,{color:o.suggestion,children:`[d] ${P?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)}`})]}),P&&e.responseText&&q(Y,{flexDirection:`column`,marginTop:t.tight,children:e.responseText.split(`
55
+ `).slice(1).map((e,t)=>q(X,{color:o.secondary,dimColor:!0,wrap:`truncate-end`,children:e===``?` `:e},t))})]}),q(X,{children:` `})]}),se=[...u?[{key:`diff`,label:V.t(`find.tabDiff`)}]:[],...c?[{key:`conversation`,label:V.t(`find.tabConversation`)}]:[],...s?[{key:`prompt`,label:V.t(`find.tabPrompt`)}]:[]];return J(M,{header:oe,footer:q(f,{dim:!0,items:[...p?[[`]`,V.t(`hint.switch`)]]:[],...e.responseText?[[`d`,P?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)]]:[],...E.length>w?[[`${B.up}${B.down}`,V.t(`hint.scroll`)]]:[],[B.esc,V.t(`hint.back`)]]}),children:[p&&q(Y,{marginBottom:t.tight,children:q(Pd,{items:se.map(e=>({key:e.key,label:e.label})),activeKey:m,availableWidth:n-4,onSelect:e=>h(e)})}),J(Y,{flexDirection:`column`,children:[v&&q(Y,{height:1,children:q(X,{color:o.selection,children:V.t(`transcript.findBar`,{query:b,count:A.flat.length})})}),q(X,{color:o.special,dimColor:!0,children:j.above>0?`↑ ${j.above}`:` `}),E.length===0?q(d,{type:`secondary`,dim:!0,children:V.t(`bg.noOutput`)}):N.map((e,t)=>k?q(X,{color:ee(e),wrap:`truncate-end`,children:e===``?` `:e},j.start+t):O?q(X,{color:o.secondary,wrap:`truncate-end`,children:e===``?` `:e},j.start+t):q(X,{wrap:`truncate-end`,children:e===``?` `:e},j.start+t)),D.length>0&&q(Y,{flexDirection:`column`,children:D.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:o.replyPrefix,children:t===0?`${R.bullet} `:` `}),q(X,{children:e})]},t))}),q(X,{color:o.special,dimColor:!0,children:j.below>0?`↓ ${j.below}`:` `})]})]})}function Vd(e){let t=e.agentStatus??`running`;return t===`running`||t===`ready`||t===`needs_input`}function Hd(e,t){if(e.stall===`stalled`)return{ch:R.statusDot,color:t.error};if(e.stall===`warn`)return{ch:R.statusDot,color:t.warning};switch(e.agentStatus??`running`){case`running`:return{ch:R.statusDot,color:t.accent};case`needs_input`:return{ch:R.needsInput,color:t.warning};case`ready`:return{ch:R.check,color:t.success};case`applied`:return{ch:R.check,color:t.success};case`failed`:return{ch:R.cross,color:t.error};case`canceled`:return{ch:R.cross,color:t.inactive};default:return{ch:R.statusDot,color:t.inactive}}}function Ud(e){return l(e,44)}function Wd({tasks:e,focused:n,now:r,onDismiss:a,onSwitch:o,onViewOutput:s,rows:c=24}){let l=L(),[u,m]=ra(`subagents`,e.length),h=G(0);if(yt(`subagents-pane`,(t,n)=>{if(n.escape)return p()?.navigate(`/`,{reset:!0}),a?.(),!0;if(ue(`list-nav-up`,t,n,`subagents`))return m(e=>Math.max(0,e-1)),!0;if(ue(`list-nav-down`,t,n,`subagents`))return m(t=>Math.min(e.length-1,t+1)),!0;let r=e[Math.max(0,Math.min(u,e.length-1))];return n.return?(r&&o?.(r.id),!0):t===`s`?(r&&s?.(r.id),!0):!1},{isActive:n}),e.length===0)return null;let g=r??Date.now(),_=e.filter(Vd).length;if(!n)return J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`subagent.sTitle`)}),J(d,{type:`secondary`,children:[` `,e.length,_>0?` · ${V.t(`subagent.sRunning`,{n:_})}`:``]}),J(d,{type:`secondary`,dim:!0,children:[` `,i(`t`)]})]});let v=Math.min(u,e.length-1),y=xt(e,v,Ve(e.length,c,3),h.current);return h.current=y.scrollTop,J(Y,{flexDirection:`column`,marginTop:t.tight,children:[J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(X,{color:l.text,children:V.t(`subagent.sTitle`)}),J(d,{type:`secondary`,children:[` `,e.length,_>0?` · ${V.t(`subagent.sRunning`,{n:_})}`:``]}),q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.switch`)],[`s`,V.t(`hint.view`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:t.section,flexDirection:`column`,children:[y.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),y.rows.map((e,t)=>{let n=y.scrollTop+t===v,r=Hd(e,l),i=n?l.selection:void 0;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?l.selection:l.inactive,children:n?tt():be()}),J(X,{color:r.color,children:[r.ch,` `]}),q(X,{color:i??l.inactive,children:Ud(e.command)}),e.model&&J(d,{type:`secondary`,children:[` `,e.model,e.modelDecidedBy?` (${e.modelDecidedBy})`:``]}),J(d,{type:`secondary`,children:[` `,To(e,g)]})]},e.id)}),y.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Gd(e,t){return t===0?0:Math.max(0,Math.min(e,t-1))}function Kd(e,t,n){let r=globalThis;r[`__ottoSchedule${e===`run`?`Run`:e===`toggle`?`Toggle`:`Remove`}Request`]=e===`toggle`?{taskId:t,...n}:t}function qd({tasks:e,focused:n,onDismiss:r,rows:a=24}){let o=L(),[s,c]=ra(`schedule`,e.length),l=G(0);if(yt(`schedule-pane`,(t,n)=>{if(n.escape)return p()?.navigate(`/`,{reset:!0}),r?.(),!0;if(ue(`list-nav-up`,t,n,`schedule`))return c(e=>Math.max(0,e-1)),!0;if(ue(`list-nav-down`,t,n,`schedule`))return c(t=>Math.min(e.length-1,t+1)),!0;let i=e[Math.max(0,Math.min(s,e.length-1))];return i?n.return||t===`r`?(Kd(`run`,i.id),!0):t===` `||t===`t`?(Kd(`toggle`,i.id,{enabled:!i.enabled}),!0):t===`d`?(Kd(`remove`,i.id),!0):!1:!1},{isActive:n}),e.length===0&&!n)return null;if(!n)return J(Y,{children:[q(X,{color:o.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`schedule.sLabel`)}),J(d,{type:`secondary`,children:[` `,e.length]}),J(d,{type:`secondary`,dim:!0,children:[` `,i(`s`)]})]});let u=Gd(s,e.length),m=Math.min(32,Math.max(0,...e.map(e=>ut(e.name)))),h=xt(e,u,Ve(e.length,a,3),l.current);return l.current=h.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:o.special,children:`▸ `}),q(X,{color:o.text,children:V.t(`schedule.sLabel`)}),J(d,{type:`secondary`,children:[` `,e.length]}),q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[`↵/r`,V.t(`hint.execute`)],[`t`,V.t(`hint.toggle`)],[`d`,V.t(`hint.delete`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:t.section,flexDirection:`column`,children:[e.length===0&&q(d,{type:`secondary`,children:V.t(`schedule.sEmpty`)}),h.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),h.rows.map((e,t)=>{let n=h.scrollTop+t===u,r=e.lastFireFailed===!0,i=r?`!`:e.enabled?R.toggleOn:R.toggleOff,a=r?o.error:e.enabled?o.accent:o.inactive,s=n?o.selection:void 0,c=new Date(e.nextFireAt).toLocaleString(),l=e.recurring?e.cronExpression:V.t(`schedule.oneShot`),f=r&&e.lastFireError?` (failed: ${e.lastFireError})`:``;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?o.selection:o.inactive,children:n?tt():be()}),J(X,{color:a,children:[i,` `]}),q(X,{color:s??o.inactive,children:vt(e.name,m)}),J(d,{type:`secondary`,children:[` `,l,` `,V.t(`schedule.next`),c]}),f&&q(X,{color:o.error,children:f})]},e.id)}),h.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Jd({text:e,focused:n,columns:r=80,onDismiss:i,onOpenViewer:a}){let o=L();if(yt(`clipboard-pane`,(e,t)=>t.escape?(p()?.navigate(`/`,{reset:!0}),i?.(),!0):t.return?(a?.(),!0):!1,{isActive:n}),e.length===0)return null;let s=Array.from(e).length;if(!n)return J(Y,{children:[q(X,{color:o.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`clipboard.paneTitle`)}),J(d,{type:`secondary`,children:[` `,V.t(`clipboard.charsLabel`,{count:s})]})]});let c=Math.max(10,r-t.section-2),u=e.split(`
56
+ `),m=u.slice(0,5),h=u.length-m.length;return J(Y,{flexDirection:`column`,marginTop:t.tight,children:[J(Y,{children:[q(X,{color:o.special,children:`▸ `}),q(X,{color:o.text,children:V.t(`clipboard.paneTitle`)}),J(d,{type:`secondary`,children:[` `,V.t(`clipboard.charsLabel`,{count:s})]}),q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[B.enter,V.t(`clipboard.openHint`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:t.section,flexDirection:`column`,children:[m.map((e,t)=>q(X,{color:o.inactive,wrap:`truncate-end`,children:l(e===``?` `:e,c)},t)),h>0&&q(d,{type:`secondary`,dim:!0,children:` ${R.ellipsis} ${h} more`})]})]})}const Yd={pending:R.todoPending,in_progress:R.todoActive,done:R.check,skipped:R.todoPending,failed:R.cross};function Xd(e,t){switch(e){case`done`:return t.success;case`in_progress`:return t.accent;case`failed`:return t.error;case`skipped`:return t.warning;default:return t.inactive}}function Zd({tasks:e,title:n,collapsed:r=!1,selectedIndex:i,focused:a=!1,rows:o,onDismiss:s,onSelectIndex:c}){let l=L();yt(`task-pane`,(t,n)=>n.escape?(s?.(),!0):ue(`list-nav-up`,t,n,`taskFocus`)?(c?.(e=>Math.max(0,e-1)),!0):ue(`list-nav-down`,t,n,`taskFocus`)?(c?.(t=>Math.min(e.length-1,t+1)),!0):!1,{isActive:a,ignoreRoute:!0});let u=G(0);if(e.length===0)return null;let p=e.filter(e=>e.status===`done`).length,m=e.filter(e=>e.status===`failed`).length,h=m>0?`${p}/${e.length}!`:`${p}/${e.length}`;return J(Y,{flexDirection:`column`,marginTop:t.tight,children:[J(Y,{children:[q(X,{color:l.special,children:`▸ `}),q(X,{color:l.text,children:n??V.t(`task.title`)}),J(X,{color:m>0?l.error:l.inactive,children:[` `,h]}),J(d,{type:`secondary`,children:[` `,pa(e.filter(e=>e.status===`done`||e.status===`skipped`).length/e.length,8)]}),r&&J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`task.collapsedHint`)]}),a&&!r&&q(Y,{marginLeft:t.tight,children:q(f,{dim:!0,items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]})})]}),!r&&q(Y,{marginLeft:t.section,flexDirection:`column`,children:(()=>{let t=Math.max(0,...e.map(e=>ut(e.title??``))),n=Ve(e.length,o??24,3),r=xt(e,Math.min(i??0,e.length-1),n,u.current);u.current=r.scrollTop;let s=r.rows.map((e,n)=>{let o=r.scrollTop+n,s=e.status===`done`||e.status===`skipped`,c=a&&o===(i??0),u=e.title??``,d=` `.repeat(Math.max(0,t-ut(u))),f=V.t(`task.statusLabel`,{context:e.status??`pending`});return J(Y,{flexDirection:`row`,children:[q(X,{color:c?l.accent:Xd(e.status,l),children:c?`${R.pointer} `:`${Yd[e.status??`pending`]} `}),q(X,{color:c?l.accent:e.status===`skipped`?l.warning:s?l.inactive:l.text,strikethrough:s,italic:e.status===`skipped`,children:u}),q(X,{children:d}),J(X,{color:c?l.accent:Xd(e.status,l),dimColor:!0,children:[` `,f]})]},e.id??o)});return J(It,{children:[r.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),s,r.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})()})]})}const Qd={tasks:R.itemActive,delegates:R.service,edited:R.edited,subagents:R.attention,clipboard:R.clipboard},$d=R.clipboard,ef={tasks:`/pane/tasks`,delegates:`/pane/delegates`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function tf({counts:e,labels:t,currentPath:n=``}){let r=[{id:`tasks`,count:e.tasks,label:t.tasks},{id:`delegates`,count:e.delegates,label:t.delegates},{id:`edited`,count:e.edited,label:t.edited},{id:`subagents`,count:e.subagents,label:t.subagents},{id:`clipboard`,count:e.clipboard,label:t.clipboard}].map(t=>{let r=ef[t.id],i=r!==``&&(n===r||n.startsWith(`${r}/`));return t.id===`clipboard`&&e.clipboardJustCopied?{id:t.id,icon:$d,label:t.label,count:t.count,active:i,tone:`success`}:{id:t.id,icon:Qd[t.id],label:t.label,count:t.count,active:i}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:Qd.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,tone:`warning`}),e}return r}function nf(e){return e.length>0}const rf=H.memo(function({counts:e,labels:t,currentPath:n=``,tabHint:r}){let i=L(),a=tf({counts:e,labels:t,currentPath:n});return a.length===0?q(Y,{flexDirection:`row`,height:1}):q(Y,{flexDirection:`row`,height:1,children:J(It,{children:[a.map((e,t)=>{let n=e.hideCount?`${e.icon} ${e.label}`:`${e.icon} ${e.label} ${e.count}`;return e.tone===`success`?J(X,{wrap:`truncate-end`,children:[t>0?` · `:``,q(X,{backgroundColor:i.success,color:Ae(i.success),bold:!0,children:` ${n} `})]},e.id):J(d,{type:e.tone===`warning`?`warning`:e.active?`accent`:`secondary`,wrap:`truncate-end`,children:[t>0?` · `:``,n]},e.id)}),r&&nf(a)&&q(d,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:` · ${r}`})]})})});function af(e=process.env,t=process.platform){let n=e.TERM_PROGRAM;return n===`Apple_Terminal`?`Fn`:n===`iTerm.app`||e.LC_TERMINAL===`iTerm2`?`Option`:n===`vscode`||n===`ghostty`||n===`WarpTerminal`||n===`Hyper`?t===`darwin`?`Option`:`Shift`:n===`tmux`||e.TMUX?`Shift`:`Shift/Option/Fn`}function of(e=process.env,t=process.platform){let n=af(e,t);return n===`Shift/Option/Fn`?`Shift (Option in iTerm2, Fn in Terminal.app)`:n}const sf=H.memo(function(e){let{fullScreenPaneActive:n,taskPaneRendered:r,tipVisible:i,tasksCollapsed:a,taskSelIndex:o,setTaskSelIndex:s,backgroundTasksOrdered:c,columns:l,openEditedFileFull:u,editedFileFullIndex:d,subagents:f}=e,{taskStore:m}=Gl(),h=Z(m.store,e=>e.tasks),g=Z(m.store,e=>e.tasksTitle),_=Z(m.store,e=>e.editedFiles),v=Z(m.store,e=>e.scheduleTasks),y=Z(m.store,e=>e.clipboardChars),b=Z(m.store,e=>e.clipboardFailed),x=Z(m.store,e=>e.clipboardText),S=Z(m.store,e=>e.clipboardJustCopied),C=Z(m.store,e=>e.subagentContext),w=Z(m.store,e=>e.backgroundTasks.length),{onBackgroundClose:T,onBackgroundKill:E,onBackgroundViewOutput:D,onBackgroundApply:O,onBackgroundSwitch:k,onBackgroundDelete:ee,onToggleEditedFiles:te,onToggleSubagents:A,onToggleSchedule:ne}=Zl(),{currentPath:j}=ce(),M=j===`/pane/tasks`&&h.length>0,re=j===`/pane/delegates`&&w>0,N=j===`/pane/edited-files`,ie=j===`/pane/subagents`,P=j===`/pane/schedule`,ae=j===`/pane/clipboard`&&x.length>0;return n||C?null:J(Y,{flexDirection:`column`,marginTop:r||i?t.none:t.tight,children:[M&&q(Zd,{tasks:h,title:g,collapsed:a,focused:!0,selectedIndex:o,onDismiss:$l,onSelectIndex:s}),re&&w>0&&q(zd,{tasks:c,columns:l,onClose:T,onKill:E,onViewOutput:D,onApply:O,onSwitch:k,onDelete:ee,active:!0}),N&&q(Tu,{files:_,focused:!0,onDismiss:te,onOpenFileFull:u,fullOpenIndex:d}),ie&&q(Wd,{tasks:f,focused:!0,onDismiss:A,onSwitch:k,onViewOutput:D}),P&&q(qd,{tasks:v,focused:!0,onDismiss:ne}),ae&&q(Jd,{text:x,focused:!0,columns:l,onDismiss:$l,onOpenViewer:()=>p()?.navigate(`/viewer/clipboard`,{state:{content:x}})}),q(Y,{height:1,flexShrink:0}),q(rf,{currentPath:j,tabHint:V.t(`signalBar.tabHint`),counts:{tasks:h.length,delegates:w,edited:_.length,subagents:f.length,clipboard:y,clipboardFailed:b,clipboardJustCopied:S},labels:{tasks:g??V.t(`task.title`),delegates:V.t(`bg.tasksTitle`),edited:V.t(`panelTitle.editedFilesTitle`),subagents:V.t(`hint.subagents`),clipboard:V.t(`signalBar.clipboard`),clipboardFailed:V.t(`signalBar.clipboardFailed`,{modifier:of()})}})]})});function cf({items:e,focused:n,onDismiss:r,onLoad:a,onDelete:o,onDeleteMany:s,rows:c=24}){let u=L(),[p,m]=ra(`drafts`,e.length),h=G(0),[g,_]=K(new Set);if(yt(`draft-pane`,(t,n)=>{if(n.escape)return g.size>0&&_(new Set),r?.(),!0;if(ue(`list-nav-up`,t,n,`draft`))return m(e=>Math.max(0,e-1)),!0;if(ue(`list-nav-down`,t,n,`draft`))return m(t=>Math.min(e.length-1,t+1)),!0;if(n.return)return a?.(p),!0;if(t===` `){let t=e[Math.max(0,Math.min(p,e.length-1))];return t&&_(e=>{let n=new Set(e);return n.has(t.id)?n.delete(t.id):n.add(t.id),n}),!0}return t===`d`?(g.size>0?(s?.([...g]),_(new Set)):o?.(p),!0):!1},{isActive:n}),e.length===0&&!n)return null;if(!n)return J(Y,{children:[q(X,{color:u.special,children:`▸ `}),q(d,{type:`secondary`,children:V.t(`draft.sLabel`)}),J(d,{type:`secondary`,children:[` `,e.length]}),J(d,{type:`secondary`,dim:!0,children:[` `,i(`o`)]})]});let v=Gd(p,e.length),y=xt(e,v,Ve(e.length,c,7),h.current);return h.current=y.scrollTop,q(M,{header:J(Y,{children:[q(X,{color:u.secondary,bold:!0,children:V.t(`draft.sLabel`)}),J(d,{type:`secondary`,children:[` `,e.length]})]}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.load`)],[`space`,V.t(`hint.check`)],[`d`,V.t(`hint.delete`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[e.length===0&&q(d,{type:`secondary`,children:V.t(`draft.sEmpty`)}),y.rows.map((e,t)=>{let n=y.scrollTop+t,r=n===v,i=g?.has(e.id)??!1,a=r?u.selection:u.text,o=l(e.text,51),s=new Date(e.savedAt).toLocaleString();return J(Y,{flexDirection:`row`,children:[q(X,{color:r?u.selection:u.inactive,children:r?tt():be()}),q(d,{type:`secondary`,children:`${n+1}. `}),q(X,{color:i?u.accent:u.inactive,children:i?`${R.bullet} `:`${R.todoPending} `}),q(X,{color:a,bold:!0,children:e.name}),J(X,{dimColor:!0,children:[` `,o]}),J(X,{dimColor:!0,children:[` `,s]})]},e.id)}),y.fillerCount>0&&Array.from({length:y.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function lf({items:e,focused:n,rows:r=24,onDismiss:i,closeConfirmOpen:a=!1,editOpen:o=!1,onDelete:s,onMove:c,onEditOpen:u}){let p=L(),[m,h]=ra(`queue`,e.length),[g,_]=K(!1),v=G(0);if(!n&&g&&_(!1),yt(`queue-pane`,(t,n)=>g?t===` `||n.escape?(_(!1),!0):n.upArrow||n.tab&&n.shift?(c?.(m,-1),h(e=>Math.max(0,e-1)),!0):n.downArrow||n.tab&&!n.shift?(c?.(m,1),h(t=>Math.min(e.length-1,t+1)),!0):!0:n.escape?(i?.(),!0):ue(`list-nav-up`,t,n,`queue`)?(h(e=>Math.max(0,e-1)),!0):ue(`list-nav-down`,t,n,`queue`)?(h(t=>Math.min(e.length-1,t+1)),!0):n.tab&&!n.ctrl&&!n.meta?(h(t=>n.shift?Math.max(0,t-1):Math.min(e.length-1,t+1)),!0):t===` `?(e.length>0&&_(!0),!0):n.return?(e.length>0&&u?.(m),!0):t===`d`?(s?.(m),!0):!1,{isActive:n&&!a&&!o}),!n)return null;let y=Gd(m,e.length),b=xt(e,y,Ve(e.length,r,7),v.current);return v.current=b.scrollTop,q(M,{header:J(Y,{children:[q(X,{color:p.secondary,bold:!0,children:V.t(`queue.label`)}),J(d,{type:`secondary`,children:[` `,e.length]})]}),footer:q(f,{items:g?[[`${B.up}${B.down}`,V.t(`hint.move`)],[`space/Esc`,V.t(`hint.drop`)]]:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.edit`)],[`space`,V.t(`hint.grab`)],[`d`,V.t(`hint.delete`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.select`)]]}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[e.length===0&&q(d,{type:`secondary`,children:V.t(`queue.empty`)}),b.rows.map((e,t)=>{let n=b.scrollTop+t,r=n===y,i=r&&g,a=i?p.accent:r?p.selection:p.text,o=i?`⇅ `:r?tt():be(),s=e.mode===`bash_async`?`!! `:e.mode===`bash`?`! `:e.mode===`memory`?`# `:` `,c=e.text.length>60?l(e.text,61):e.text;return J(Y,{flexDirection:`row`,children:[q(d,{type:`secondary`,children:`${n+1}. `}),q(X,{color:a,bold:r,children:o}),q(X,{color:a,bold:r,children:s}),q(X,{color:a,bold:r,children:c})]},n)}),Array.from({length:b.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function uf(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];r.role===`user`&&typeof r.content==`string`&&r.content.trim().length>0&&t.push({text:r.content,index:n})}return t}function df(e){return Math.max(1,k(e)-5-2)}function ff(e,t){let n=Math.max(20,t-12);return e.map((e,t)=>({value:String(e.index),label:`${t+1}. ${l(e.text.replace(/\s+/g,` `),n)}`}))}function pf({messageStore:e,focused:t,rows:n=24,columns:r=80,onDismiss:i}){let a=uf(Z(e.store,e=>e.messages));if(yt(`prompt-log-pane`,(e,t)=>t.escape?(i?.(),!0):!1,{isActive:t,ignoreRoute:!0}),!t)return null;let o=k(n),s=df(n),c=ff(a,r);return q(M,{maxHeight:o,header:J(Y,{children:[q(d,{type:`secondary`,bold:!0,children:V.t(`prompts.label`)}),J(d,{type:`secondary`,children:[` `,a.length]})]}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.esc,V.t(`hint.close`)]]}),children:a.length===0?q(d,{type:`secondary`,children:V.t(`prompts.empty`)}):q(lt,{id:`prompt-log-list`,tabIndex:0,autoFocus:!0,options:c,maxVisible:s,compact:!0,onSelect:()=>{}})})}function mf(e={}){let{columns:t=120,onEmptyBackspace:n,onClearText:r,onCommit:i}=e,[a,o]=K(``),[s,c]=K(0),l=Nt((e,t)=>{o(e),c(t)},[]);return{text:a,offset:s,update:Nt((e,t)=>{o(e),c(t)},[]),handleEditing:Nt((e,o)=>{if(e.length>1&&!o.ctrl&&!o.meta&&!o.return&&!o.escape&&!o.backspace&&!o.delete&&!o.tab&&!o.upArrow&&!o.downArrow&&!o.leftArrow&&!o.rightArrow){let t=Te(e);return t&&l(a.slice(0,s)+t+a.slice(s),s+t.length),!0}if(o.leftArrow){let e=De.fromText(a,t,s).left();return l(e.text,e.offset),!0}if(o.rightArrow){let e=De.fromText(a,t,s).right();return l(e.text,e.offset),!0}if((o.backspace||o.delete)&&a.length===0)return n?.(),!0;let c={name:o.backspace?`backspace`:o.delete?`delete`:o.tab?`tab`:o.escape?`escape`:o.return?`return`:e||`unknown`,ctrl:o.ctrl??!1,shift:!1,alt:o.meta??!1,meta:o.meta??!1},u=nt(De.fromText(a,t,s),c);return u?u.action===`clear_text`?(l(``,0),r?.(),!0):u.action===`submit`||u.action===`submit_force`?(i?.(),!0):(l(u.cursor.text,u.cursor.offset),!0):!1},[a,s,t,n,r,l])}}const hf={send:`dialog`,bash:`bash`,bash_async:`bash_async`,memory:`memory`},gf=[`input`,`sendNow`,`confirm`,`cancel`];function _f({index:e,total:n,initialValue:r,mode:i,busy:a,columns:o=60,onSendNow:s,onConfirm:c,onCancel:l}){let[u,p]=K(`input`),{text:m,offset:h,update:_,handleEditing:v}=mf({columns:o});H.useEffect(()=>{r&&_(r,r.length)},[]);let y=m.trim()===``,b=e=>{p(gf[(gf.indexOf(u)+e+gf.length)%gf.length])},x=()=>{if(u===`sendNow`){y||s(m);return}if(u===`confirm`){y||c(m);return}if(u===`cancel`){l();return}};yt(`queue-edit-dialog`,(e,t)=>{if(t.return&&t.meta){y||s(m);return}if(t.escape){if(u===`input`&&m.length>0){_(``,0);return}l();return}if(t.tab||t.ctrl&&e===`n`){b(1);return}if(u!==`input`){if(t.leftArrow){b(-1);return}if(t.rightArrow){b(1);return}if(t.upArrow){p(`input`);return}if(t.downArrow){b(1);return}if(t.return){x();return}return}if(t.downArrow){b(1);return}if(t.upArrow){b(-1);return}if(t.return){y||p(`confirm`);return}return v(e,t)});let S=a?V.t(`queue.editSendNowHintBusy`):V.t(`queue.editSendNowHintIdle`);return J(M,{header:q(w,{children:V.t(`queue.editTitle`,{index:e,total:n})}),footer:q(f,{items:[[B.tab,V.t(`hint.quick`)],[`${B.up}${B.down}`,V.t(`hint.switch`)],[B.enter,V.t(`hint.confirm`)],[g(),V.t(`queue.editSendNowButton`)],[B.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:t.tight,flexDirection:`row`,children:q(mt,{value:m,offset:h,columns:o,mode:hf[i],focused:u===`input`})}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`green`,label:V.t(`queue.editSendNowButton`),focused:u===`sendNow`,disabled:y}),q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`queue.editConfirmButton`),focused:u===`confirm`,disabled:y}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:u===`cancel`})]}),q(Y,{marginTop:t.tight,children:q(d,{type:`secondary`,dim:!0,children:S})})]})}function vf(e,t){let n=t?.length?[...e,...t]:[...e];return{search:(e,t,r=50)=>(e?lr(e,n).map(e=>e.entry):[...n].reverse()).slice(0,r).map(e=>({label:e,value:e,kind:`shortcut`}))}}function yf({showHome:e,agentProcessing:t,hasTip:n}){return e||t||!n?0:3}function bf(e){let n=Zl(),{currentPath:r,stack:i,navigate:a,goBack:o}=ce(),s=i.some(e=>e.path===`/pane/queue`),{columns:c,rows:l,agentProcessing:u,handlePromptEscape:d,pluginInput:f,handleSigilTrigger:p,handleSigilClose:m,handleHistorySearch:h,handleChipReopen:g,handleChipViewPaste:_,handlePasteConfirmRequest:v,welcome:y,historyInsertRef:b,pasteBridgeRef:x,initialHistory:S,externalHistoryCommands:C,residencyGovernor:w,registryRef:T,shellBackendRef:E,sigilState:D,setSigilState:O,sigilApplyRef:k,readFileContent:ee,handleDraftLoad:te,onQueueEscConfirm:A,queueEscSuppress:j,queueCloseConfirm:M,setQueueCloseConfirm:re,interruptConfirm:N,popQueuedConfirm:ie,queueEditIndex:P,setQueueEditIndex:ae,scrollStore:oe,messageStore:se}=e,{taskStore:le}=Gl(),ue=Z(le.store,e=>e.forcedUpgrade),de=Z(le.store,e=>e.commands),fe=Z(le.store,e=>e.needsSetup),pe=Z(le.store,e=>e.recentMentions),me=Z(le.store,e=>e.drafts),he=Z(le.store,e=>e.queued),ge=Z(oe.store,e=>e.offset>0),[_e,ve]=K(S??[]),ye=Nt(e=>{ve(e),n.onHistoryPush?.(e)},[n]),be=Ft(()=>vf(_e,C),[_e,C]),xe=()=>{ae(null),r===`/pane/queue/edit`&&o()},Se=Nt((e,t,r)=>{n.onSubmit?.(e,t,r);let i=e.trimStart().startsWith(`/`);if(fe&&!i)return`rejected`},[n,fe]);return J(It,{children:[e.shadow&&q(zu,{}),D&&f&&q(Y,{flexDirection:`column`,marginTop:t.tight,children:q(Tc,{sigil:D.sigil,initialQuery:D.query,registry:D.mode===`history`?be:f,active:r===`/pane/sigil`,rows:l,columns:Math.min(60,c-ne.borderInset),viewerColumns:c,readFileContent:ee,recentEntries:D.sigil===`@`?pe:void 0,title:D.mode===`history`?V.t(`history.label`):void 0,onSelect:e=>{if(O(null),D.mode===`history`){b.current?.fill(e.value);return}k.current?.select(e),D.sigil===`@`&&n.onSigilSelect?.(e)},onClose:({deleteSigil:e})=>{O(null),k.current?.cancel(e)}})}),q(Pi,{columns:c-ne.borderInset,rows:l,disabled:!!ue||M||N||ie,reviewing:ge,idleTipVisible:!!e.idleTip,commands:de,placeholder:ue?V.t(`prompt.upgradeRequired`):u?V.t(`prompt.working`):fe?V.t(`prompt.setup`):V.t(`prompt.default`),onSubmit:Se,onInterrupt:n.onInterrupt,onEscape:d,sigilEnabled:!!f,onSigilTrigger:p,onSigilClose:m,onChipReopen:g,onChipViewPaste:_,onToast:n.onToast,onDraftSave:n.onDraftSave,keybindingOverrides:e.keybindingOverrides,onPasteConfirm:v,cwd:y?.cwd,historyInsertRef:b,pasteBridgeRef:x,initialHistory:S,externalHistoryCommands:C,onHistoryPush:ye,onHistorySearch:h,historySearchOpen:D?.mode===`history`,residencyGovernor:w,registryRef:T,shellBackendRef:E}),q(cf,{items:me,focused:r===`/pane/draft`,onDismiss:n.onToggleDraftPane,onLoad:te,onDelete:n.onDraftDelete,onDeleteMany:n.onDraftDeleteMany}),se&&r===`/pane/prompts`&&q(Y,{flexDirection:`column`,marginTop:t.tight,children:q(pf,{messageStore:se,focused:!0,rows:l,columns:c,onDismiss:()=>n.onTogglePrompts?.()})}),s&&r===`/pane/queue`&&q(Y,{flexDirection:`column`,marginTop:t.tight,children:q(lf,{items:he,focused:!0,rows:l,onDismiss:()=>{M&&re(!1),n.onToggleQueuePane?.()},onEscConfirm:A,escSuppress:j,closeConfirmOpen:M,editOpen:P!==null,onDelete:n.onQueueDelete,onMove:n.onQueueMove,onEditOpen:e=>{ae(e),a(`/pane/queue/edit`)}})}),r===`/pane/queue/edit`&&P!==null&&he[P]&&q(_f,{index:P+1,total:he.length,initialValue:he[P].text,mode:he[P].mode,busy:u,onSendNow:e=>{n.onQueueSendNow?.(P,e),xe()},onConfirm:e=>{n.onQueueEditText?.(P,e),xe()},onCancel:xe}),r!==`/pane/queue`&&!r.startsWith(`/pane/queue/`)&&q(Fi,{items:he})]})}function xf(e,t){let n=V.language===`zh`,r=n?`行`:e===1?`line`:`lines`,i=n?`字符`:t===1?`char`:`chars`;return V.t(`paste.previewSummary`,{context:`body`,lines:e,lineWord:r,chars:t,charWord:i})}function Sf(e){let t=e.replace(/\n/g,`↵`);return t.length<=16?`[@${t}:]`:`[@${t.slice(0,5)}…${t.slice(-5)}:]`}function Cf(e,t){let n=e.split(`
57
57
  `);return n.length<=t?e:`${n.slice(0,t).join(`
58
- `)}\n${yf(n.length,e.length)}`}function Sf({content:e,previewLines:t=10,rows:n=24,columns:r=80,onConfirm:i,onCancel:a}){let o=C(),[c,l]=K(0),[u,d]=K(!1),f=G(0);f.current=c;let p=G(!1);U(()=>{let e=setTimeout(()=>{p.current=!0},0);return()=>{clearTimeout(e)}},[]);let m=xf(e,t),h=bf(e),g=W(()=>e.split(`
59
- `),[e]);return s(`paste-confirm-dialog-buttons`,(e,t)=>{if(u)return!1;if(t.escape)return p.current&&a(),!0;if(t.leftArrow||t.rightArrow||t.tab){if(p.current){let e=D(t);e!==0&&l(t=>E(t,e,3))}return!0}return t.return?(p.current&&l(e=>(e===0?i():e===1?d(!0):a(),e)),!0):!1}),u?q(oc,{lines:g,rows:n,columns:r,header:J(Y,{children:[q(X,{color:o.selection,children:B.t(`paste.viewTitle`)}),J(O,{type:`secondary`,children:[` `,yf(g.length,e.length)]})]}),onDismiss:()=>d(!1),initialScroll:`top`,contentKey:e}):J(T,{header:q(y,{children:B.t(`paste.confirmTitle`)}),footer:q(k,{items:[[`${j.left}${j.right}`,B.t(`hint.switch`)],[j.enter,`${B.t(`hint.confirm`)}/${B.t(`paste.view`)}`],[j.esc,B.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:A.tight,flexDirection:`column`,children:q(O,{type:`secondary`,children:m})}),J(Y,{marginTop:A.tight,children:[q(X,{dimColor:!0,children:B.t(`paste.collapseLabel`)}),q(X,{color:o.selection,children:h})]}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`paste.confirm`),focused:c===0}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`paste.view`),focused:c===1}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`paste.cancel`),focused:c===2})]})]})}function Cf(e,t){let n=Math.floor((t-e)/1e3);return n<60?B.t(`time.justNow`):n<3600?B.t(`time.minAgo`,{min:Math.floor(n/60)}):n<86400?B.t(`time.hourAgo`,{hr:Math.floor(n/3600)}):B.t(`time.dayAgo`,{day:Math.floor(n/86400)})}function wf(e,t){return e===`error`?t.error:e===`warning`?t.warning:t.inactive}function Tf({notifications:e,onClose:t,rows:n=24}){let r=C();s(`notification-center`,(e,n)=>n.escape?(t(),!0):!1);let[i,a]=K(()=>Date.now()),o=G(0);U(()=>{let e=setInterval(()=>a(Date.now()),3e4);return()=>clearInterval(e)},[]);let c=e.filter(e=>!e.read),l=e.filter(e=>e.read),u=[...c,...l];if(u.length===0)return null;let d=_t(u,-1,Ue(u.length+6,n)-6,o.current);return o.current=d.scrollTop,q(T,{header:J(Y,{marginBottom:A.tight,children:[q(X,{color:r.secondary,bold:!0,children:B.t(`notif.title`)}),c.length>0&&J(X,{color:r.accent,children:[` `,c.length]})]}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.scroll`)],[j.enter,B.t(`hint.dismiss`)],[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:d.rows.map((e,t)=>J(Y,{flexDirection:`column`,children:[d.scrollTop+t===c.length&&l.length>0&&c.length>0&&q(Y,{marginY:A.tight,children:q(O,{type:`secondary`,dim:!0,children:B.t(`notif.readDivider`)})}),J(Y,{flexDirection:`row`,children:[q(X,{color:wf(e.level,r),children:e.level===`error`?R.cross:e.level===`warning`?R.warn:`i`}),q(O,{type:`secondary`,children:` `}),J(X,{color:e.read?r.inactive:r.secondary,dimColor:e.read,wrap:`truncate-end`,children:[`[`,e.source,`] `,e.title,` · `,e.message]}),J(O,{type:`secondary`,dim:!0,children:[` `,`(`,Cf(e.timestamp,i),`)`]})]})]},e.id))})}function Ef({focusOwner:e,pasteContent:t,onPasteConfirm:n,onPasteCancel:r,notifications:i,rows:a,columns:o}){let{onDismissNotification:s,onCloseNotifications:c}=Xl();return J(Ft,{children:[t!=null&&q(w,{path:`/overlay/paste-confirm`,inStack:!0,element:q(Sf,{content:t,rows:a,columns:o,onConfirm:n,onCancel:r})}),e===`notifications`&&q(Tf,{notifications:i,onDismiss:e=>s?.(e),onClose:()=>c?.()})]})}function Df({component:e,columns:t=60,onAction:n,onDismiss:r}){let i=C(),a=e.fields??[],o=e.formTitle??`表单`,[c,l]=K(Nt(()=>{let e={},t={},n={};for(let r of a)if(r.type===`toggle`)t[r.id]=r.defaultValue===!0;else{let t=r.defaultValue==null?``:String(r.defaultValue);e[r.id]=t,n[r.id]=t.length}return{strings:e,toggles:t,offsets:n}},[a])),[u,d]=K({kind:`field`,index:0}),f=u.kind===`field`?u.index:-1,p=a.length,m=f>=0&&f<p?a[f]:void 0,h=(e,t,n)=>{l(r=>({strings:{...r.strings,[e]:t},toggles:r.toggles,offsets:{...r.offsets,[e]:n}}))},g=e=>{l(t=>({strings:t.strings,toggles:{...t.toggles,[e]:!(t.toggles[e]??!1)},offsets:t.offsets}))},_=()=>{u.kind===`field`&&u.index<p-1?d({kind:`field`,index:u.index+1}):d({kind:`submit`})},v=()=>{u.kind===`submit`?d({kind:`field`,index:Math.max(0,p-1)}):u.kind===`cancel`?d({kind:`submit`}):u.kind===`field`&&u.index>0&&d({kind:`field`,index:u.index-1})},b=()=>{let t={};for(let e of a)e.type===`toggle`?t[e.id]=c.toggles[e.id]??!1:t[e.id]=c.strings[e.id]??``;let r=e.action??`submit`;n(e.id,r,t)};s(`a2ui-form-dialog`,(e,n)=>{if(n.escape){if(u.kind===`field`){if(m?.type===`text`&&(c.strings[m.id]??``).length>0){h(m.id,``,0);return}v();return}r();return}if(n.tab||n.ctrl&&e===`n`){_();return}if(n.return&&n.meta){b();return}if(u.kind!==`field`){if(n.leftArrow){v();return}if(n.rightArrow){_();return}if(n.return&&u.kind===`submit`){b();return}if(n.return&&u.kind===`cancel`){r();return}return}if(m){if(n.upArrow){v();return}if(n.downArrow){_();return}if(n.return){f>=p-1?b():_();return}if(m.type===`text`){let r=m.id,i=c.strings[r]??``,a=c.offsets[r]??0;if(n.leftArrow){let e=gt.fromText(i,t,a).left();h(r,e.text,e.offset);return}if(n.rightArrow){let e=gt.fromText(i,t,a).right();h(r,e.text,e.offset);return}if(e.length>1&&!n.ctrl&&!n.meta&&!n.return&&!n.escape&&!n.backspace&&!n.delete&&!n.tab&&!n.upArrow&&!n.downArrow&&!n.leftArrow&&!n.rightArrow){let t=dt(e);t&&h(r,i.slice(0,a)+t+i.slice(a),a+t.length);return}let o={name:n.backspace?`backspace`:n.delete?`delete`:n.tab?`tab`:e||`unknown`,ctrl:n.ctrl??!1,shift:n.shift??!1,alt:n.meta??!1,meta:n.meta??!1},s=be(gt.fromText(i,t,a),o);if(!s)return;if(s.action===`clear_text`){h(r,``,0);return}h(r,s.cursor.text,s.cursor.offset);return}if(m.type===`select`){n.leftArrow?v():n.rightArrow&&_();return}if(m.type===`toggle`&&e===` `){g(m.id);return}}});let x=a.map(e=>e.label).join(` · `);return J(T,{header:q(y,{children:o}),footer:q(k,{items:[[j.tab,`next`],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]}),children:[q(Y,{flexDirection:`column`,marginTop:A.tight,children:q(O,{type:`secondary`,dim:!0,children:x})}),q(Y,{flexDirection:`column`,marginTop:A.tight,children:a.map((e,n)=>{let r=u.kind===`field`&&u.index===n,a=e.required?` *`:``;return J(Y,{flexDirection:`column`,marginBottom:A.tight,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:r?i.selection:i.inactive,children:r?ye():ze()}),J(X,{bold:r,color:r?i.selection:void 0,children:[e.label,a]})]}),e.type===`text`&&q(Y,{flexDirection:`row`,marginLeft:A.section,children:q(Oe,{value:c.strings[e.id]??``,offset:c.offsets[e.id]??0,columns:t-4,mode:`dialog`,focused:r,placeholder:e.placeholder})}),e.type===`select`&&q(Y,{flexDirection:`row`,gap:A.tight,marginLeft:A.section,children:q(X,{dimColor:!r,color:r?i.selection:i.inactive,children:(e.options??[]).map((t,n)=>J(V.Fragment,{children:[r?J(X,{color:c.strings[e.id]===t.id?i.selection:i.inactive,children:[c.strings[e.id]===t.id?`${R.toggleOn} `:`${R.toggleOff} `,t.label]}):q(O,{type:`secondary`,children:t.label}),n<(e.options??[]).length-1&&q(O,{type:`secondary`,children:` · `})]},t.id))})}),e.type===`toggle`&&q(Y,{flexDirection:`row`,marginLeft:A.section,children:J(X,{color:r?i.selection:i.inactive,children:[c.toggles[e.id]?R.check:R.cross,` `,c.toggles[e.id]?`enabled`:`disabled`]})}),![`text`,`select`,`toggle`].includes(e.type)&&q(Y,{flexDirection:`row`,marginLeft:A.section,children:q(O,{type:`secondary`,dim:!0,children:String(c.strings[e.id]??``)||`?`})})]},e.id)})}),J(Y,{flexDirection:`row`,gap:A.tight,marginTop:A.tight,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`prompt.submit`),focused:u.kind===`submit`}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:u.kind===`cancel`})]})]})}function Of({columns:e}){let{state:t}=g(),n=t;return n?q(Df,{component:n.component,columns:e,onAction:n.onAction,onDismiss:n.onDismiss}):null}function kf({onOk:e}){let{state:t}=g(),n=t;return n?q(jl,{title:n.title,message:n.message,okLabel:n.okLabel,onOk:e}):null}function Af({onConfirm:e,onCancel:t,onExtra:n}){let{state:r}=g(),i=r,a=G(t);return a.current=t,U(()=>()=>{a.current()},[]),i?q(Ge,{title:i.title,message:i.message,confirmLabel:i.confirmLabel,cancelLabel:i.cancelLabel,confirmColor:i.confirmColor,dangerous:i.dangerous,extraLabel:i.extraLabel,extraColor:i.extraColor,onConfirm:e,onCancel:t,onExtra:i.extraLabel?n:void 0}):null}function jf(e,t){switch(e){case`warn`:return t.warning;case`error`:return t.error;default:return}}function Mf(e){let t=Date.now()-e,n=Math.floor(t/1e3);if(n<60)return`${n}s ago`;let r=Math.floor(n/60);return r<60?`${r}m ago`:`${Math.floor(r/60)}h ago`}function Nf({req:e,rows:t=24,columns:n=80}){let r=C(),[a,o]=K(0),c=(i()?.currentPath??`/`)===`/dialog/extension/full-text`,l=e=>{let t=P();t&&(e&&t.currentPath===`/dialog/extension`?t.navigate(`/dialog/extension/full-text`):!e&&t.currentPath===`/dialog/extension/full-text`&&t.goBack())},[u,d]=K(0),[f,p]=K(Ea());U(()=>{l(!1),d(0)},[e.fullText]),U(()=>{if(f)return;let e=!0;return Ta().then(()=>{e&&p(Ea())}),()=>{e=!1}},[f]);let m=W(()=>e.fullText?e.fullText.kind===`plain`?[{id:`plain`,label:`Plain`,lines:e.fullText.content.split(`
60
- `),wrapMode:`pre-wrap`}]:gc(`${e.fullText.title}.md`,e.fullText.content,n,f):[],[e.fullText,n,f]),h=m[Math.min(u,Math.max(0,m.length-1))],g=h?.lines??[],_=e.panelInfo&&e.onOpenPanel?[...e.actions,{label:B.t(`cmd.extPluginOpenPanelLabel`,{title:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?B.t(t):t})()}),value:`open-panel`,color:`accent`}]:e.actions,v=_.length;s(`extension-detail-dialog`,(t,n)=>{if(n.escape)return e.onClose(),!0;if(t===`r`&&e.onRefresh)return e.onRefresh(),!0;if(v===0)return!1;if(n.leftArrow)return o(e=>(e-1+v)%v),!0;if(n.rightArrow)return o(e=>(e+1)%v),!0;if(n.return){let t=_[a];return t?t.value===`open-panel`?(e.onOpenPanel?.(),!0):t.value===`view-full-text`?(e.fullText&&l(!0),!0):(e.onAction(t.value),!0):!1}return!1},{isActive:!c});let b=e.healthStats,x=b&&(b.hookTimeouts>0||b.toolTimeouts>0||b.lastError!==void 0),S=[[`← →`,B.t(`hint.select`)],[`Enter`,B.t(`hint.execute`)]];return e.onRefresh&&S.push([`r`,B.t(`cmd.extRefreshHint`)]),S.push([`Esc`,B.t(`hint.close`)]),c&&e.fullText?q(oc,{lines:g,rows:t,columns:n,wrapMode:h?.wrapMode??`pre-wrap`,header:J(Y,{children:[q(X,{color:r.selection,children:e.fullText.title}),m.length>1&&h?q(Ve,{leadingSpace:!0,children:h.label}):null]}),onDismiss:()=>l(!1),onKey:(e,t)=>e===`]`&&m.length>1?(d(e=>(e+1)%m.length),!0):!1,extraHints:m.length>1?[[`]`,B.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,contentKey:`${e.fullText.title}:${h?.id??``}`}):q(T,{header:q(y,{children:e.title}),footer:q(k,{items:S}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[e.meta||e.metaStatus?J(X,{children:[e.meta?q(X,{dimColor:!0,children:e.meta}):null,e.metaStatus?J(Ft,{children:[q(X,{dimColor:!0,children:e.meta?` · `:``}),q(X,{color:e.metaStatus.enabled?r.success:r.error,children:e.metaStatus.label})]}):null,e.metaSuffix?J(X,{dimColor:!0,children:[` · `,e.metaSuffix]}):null]}):null,v>0?q(Y,{marginTop:A.tight,children:_.map((e,t)=>q(Y,{marginRight:A.tight,children:q(I,{variant:`solid`,brackets:!0,label:e.label,focused:t===a,color:e.color??`accent`})},e.value))}):null,q(Y,{marginTop:A.tight,flexDirection:`column`,children:e.dataListEntries&&e.dataListEntries.length>0?q(Qe,{entries:e.dataListEntries}):e.info&&e.info.length>0?e.info.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t)):q(X,{dimColor:!0,children:`(无详情视图)`})}),x&&q(Y,{marginTop:A.tight,children:q(X,{color:r.warning,children:b.lastError?.message?B.t(`cmd.extHealthSummary`,{context:`err`,hookTimeouts:b.hookTimeouts,toolTimeouts:b.toolTimeouts,lastError:b.lastError.message}):B.t(`cmd.extHealthSummary`,{hookTimeouts:b.hookTimeouts,toolTimeouts:b.toolTimeouts})})}),e.logEntries!==void 0&&J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(X,{dimColor:!0,bold:!0,children:B.t(`cmd.extLogSectionTitle`)}),e.logEntries.length===0?q(O,{type:`secondary`,dim:!0,children:B.t(`cmd.extNoLogs`)}):e.logEntries.map((e,t)=>q(X,{color:jf(e.level,r),wrap:`truncate-end`,children:` ${Mf(e.ts)} ${e.msg}`},t))]})]})})}function Pf({rows:e,columns:t}){let{state:n}=g(),r=n;return r?q(Nf,{req:r,rows:u(e??24),columns:t}):null}function Ff({rows:e}){let{state:t}=g(),n=t;return n?q(wl,{req:n,rows:e}):null}function If({req:e,rows:t,columns:n,active:r=!0,findActive:i,onFindModeChange:a}){let o=C(),[s,c]=K(0),[l,u]=K(Ea());U(()=>{if(l)return;let e=!0;return Ta().then(()=>{e&&u(Ea())}),()=>{e=!1}},[l]),U(()=>{c(0)},[e.path]);let d=W(()=>gc(e.path,e.content,n,l,e.preTruncated),[e.path,e.content,n,l,e.preTruncated]),f=d[Math.min(s,Math.max(0,d.length-1))];return q(oc,{lines:f?.lines??[],rows:t,columns:n,wrapMode:f?.wrapMode??`pre-wrap`,header:J(Y,{children:[q(X,{color:o.selection,children:e.path}),d.length>1&&f?q(Ve,{leadingSpace:!0,children:f.label}):null]}),onDismiss:e.onDismiss,onKey:(e,t)=>e===`]`&&d.length>1?(c(e=>(e+1)%d.length),!0):!1,extraHints:d.length>1?[[`]`,B.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,active:r,contentKey:`${e.path}:${f?.id??``}`,findActive:i,onFindModeChange:a})}function Lf({rows:e,columns:t}){let{goBack:n,currentPath:r}=ce(),i=le(`/viewer/file`),a=G(!1),o=G(i?.onDismiss);if(o.current=i?.onDismiss,U(()=>()=>{a.current||(a.current=!0,o.current?.())},[]),!i)return null;let s=r===`/viewer/file/find`,c=e=>{let t=P();t&&(e&&t.currentPath===`/viewer/file`?t.navigate(`/viewer/file/find`):!e&&t.currentPath===`/viewer/file/find`&&t.goBack())},l=()=>{a.current=!0,n(),i.onDismiss?.()};return q(If,{req:{...i,onDismiss:l},rows:e,columns:t,active:!0,findActive:s,onFindModeChange:c})}function Rf({rows:e,columns:t}){let{goBack:n,currentPath:r}=ce(),i=le(`/viewer/clipboard`)?.content??``,a=V.useMemo(()=>i.split(`
61
- `),[i]),o=r===`/viewer/clipboard/find`;return q(oc,{lines:a,rows:e,columns:t,wrapMode:`pre-wrap`,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(y,{children:B.t(`clipboard.viewerTitle`)}),q(X,{dimColor:!0,children:B.t(`clipboard.charsLabel`,{count:Array.from(i).length})})]}),onDismiss:n,initialScroll:`top`,active:!0,contentKey:`clipboard`,emptyMessage:B.t(`clipboard.empty`),findActive:o,onFindModeChange:e=>{let t=P();t&&(e&&t.currentPath===`/viewer/clipboard`?t.navigate(`/viewer/clipboard/find`):!e&&t.currentPath===`/viewer/clipboard/find`&&t.goBack())}})}function zf({req:e,rows:t,columns:n,active:r=!0}){let a=C(),o=(i()?.currentPath??`/`)===`/viewer/help/find`;return q(oc,{lines:e.lines,rows:t,columns:n,wrapMode:`truncate`,header:q(Y,{children:q(X,{color:a.selection,children:e.title})}),onDismiss:e.onDismiss,initialScroll:`top`,active:r,contentKey:e.title,findActive:o,onFindModeChange:e=>{let t=P();t&&(e&&t.currentPath===`/viewer/help`?t.navigate(`/viewer/help/find`):!e&&t.currentPath===`/viewer/help/find`&&t.goBack())}})}function Bf({rows:e,columns:t}){let{goBack:n}=ce(),r=le(`/viewer/help`),i=G(!1),a=G(r?.onDismiss);if(a.current=r?.onDismiss,U(()=>()=>{i.current||(i.current=!0,a.current?.())},[]),!r)return null;let o=()=>{i.current=!0,n(),r.onDismiss?.()};return q(zf,{req:{...r,onDismiss:o},rows:e,columns:t,active:!0})}function Vf({onDismiss:e}){let{state:t}=g(),n=t;return n?q(ve,{title:n.title,lines:n.lines,onDismiss:e,action:n.action,lineTones:n.lineTones,dataListEntries:n.dataListEntries}):null}function Hf({title:e,description:t,placeholder:n,mask:r,defaultValue:i,onSubmit:a,onCancel:o,columns:c=60,actionButton:l,onActionButton:u}){let d=C(),{text:f,offset:p,update:m,handleEditing:h}=ff({columns:c,onCommit:()=>a(f)});return U(()=>{i&&m(i,i.length)},[]),ee({tabIndex:0,id:`input-field`,onAction:()=>(a(f),!0),onEscape:()=>f.length===0?(o?.(),!0):(m(``,0),!0)}),s(`input-dialog`,(e,t)=>{if(t.ctrl&&e===`o`&&l&&u){u();return}if(t.escape&&f.length===0){o?.();return}return h(e,t)}),J(T,{header:e?q(y,{children:e}):void 0,footer:q(k,{items:l?[[`Ctrl+O`,l.label],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]:[[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]}),children:[e&&q(Y,{marginTop:A.tight}),t&&t.length>0&&q(Y,{flexDirection:`column`,marginBottom:A.tight,children:t.map((e,t)=>q(X,{color:d.text,wrap:`wrap`,children:e},t))}),q(Y,{flexDirection:`row`,children:q(Oe,{value:f,offset:p,columns:c,mode:`dialog`,placeholder:n,mask:r,focused:!0,physicalCursor:!0})}),l&&J(Y,{marginTop:A.tight,flexDirection:`row`,children:[q(O,{type:`secondary`,children:` `}),q(I,{variant:`solid`,brackets:!0,color:`accent`,label:l.label,focused:!1})]})]})}function Uf({onSubmit:e,onCancel:t,onAction:n,columns:r}){let{state:i}=g(),a=i,o=G(t);return o.current=t,U(()=>()=>{o.current()},[]),a?q(Hf,{title:a.title,description:a.description,placeholder:a.placeholder,mask:a.mask,defaultValue:a.defaultValue,columns:Math.min(60,r-ge.borderInset),onSubmit:e,onCancel:t,actionButton:a.actionButton,onActionButton:n}):null}const Wf=[{commandId:`inspector-continue`,description:`Inspector:继续执行`,keyLabel:`c`},{commandId:`inspector-step`,description:`Inspector:单步执行`,keyLabel:`s`},{commandId:`inspector-next`,description:`Inspector:下一节点`,keyLabel:`n`},{commandId:`inspector-out`,description:`Inspector:跳出当前`,keyLabel:`o`},{commandId:`inspector-exit`,description:`Inspector:退出调试`,keyLabel:`x`},{commandId:`background-kill`,description:`后台:终止任务`,keyLabel:`k`},{commandId:`background-view-output`,description:`后台:查看输出`,keyLabel:`o`},{commandId:`background-apply`,description:`后台:应用更改`,keyLabel:`a`},{commandId:`background-switch`,description:`后台:切换面板`,keyLabel:`s`},{commandId:`background-delete`,description:`后台:删除任务`,keyLabel:`d`}];function Gf(t){let n=new Map;function r(e,r){for(let i of e){if(n.has(i.commandId))continue;let e=re(i.commandId,i.predicate,t);n.set(i.commandId,{commandId:i.commandId,description:i.description,group:r,defaultPredicate:i.predicate,effectivePredicate:e,isOverridden:!Kf(e,i.predicate),isUnassigned:he(e)})}}return r(e,`global`),r(b,`navigation`),[...n.values()]}function Kf(e,t){return e.ctrl===t.ctrl&&e.shift===t.shift&&e.meta===t.meta&&e.input===t.input&&e.key===t.key&&e.upArrow===t.upArrow&&e.downArrow===t.downArrow}function qf(e,t){if(!t.trim())return[...e];let n=t.toLowerCase();return e.filter(e=>e.commandId.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))}function Jf(e=`project`){return{mode:`list`,searchQuery:``,selectedIndex:0,writeTarget:e}}function Yf(e,t,n,r){let i={state:e,effects:[]};switch(t.type){case`moveUp`:{if(e.mode!==`list`)return i;let t=Math.max(0,e.selectedIndex-1);return{state:{...e,selectedIndex:t},effects:[]}}case`moveDown`:{if(e.mode!==`list`)return i;let t=Math.max(0,n.length-1),r=Math.min(t,e.selectedIndex+1);return{state:{...e,selectedIndex:r},effects:[]}}case`setSearch`:return e.mode===`list`?{state:{...e,searchQuery:t.query,selectedIndex:0},effects:[]}:i;case`startRecording`:{if(e.mode!==`list`)return i;let t=n[e.selectedIndex];return!t||t.group===`reserved`?i:{state:{...e,mode:`recording`,recordingCommandId:t.commandId,pendingConflict:void 0},effects:[]}}case`cancelRecording`:return e.mode===`recording`?{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[]}:i;case`recordKey`:{if(e.mode!==`recording`||!e.recordingCommandId||t.escape)return i;let n=Xf(t);if(!n)return i;let a=it(e.recordingCommandId,n,`*`,r);return a?{state:{...e,pendingConflict:{conflictsWith:a.conflictsWith,newPredicate:n}},effects:[]}:{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[{type:`saveKeybinding`,commandId:e.recordingCommandId,predicate:n}]}}case`confirmConflict`:return e.mode!==`recording`||!e.pendingConflict||!e.recordingCommandId?i:{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[{type:`saveReplaceKeybinding`,actions:[{commandId:e.pendingConflict.conflictsWith,predicate:{}},{commandId:e.recordingCommandId,predicate:e.pendingConflict.newPredicate}]}]};case`cancelConflict`:return e.mode===`recording`?{state:{...e,pendingConflict:void 0},effects:[]}:i;case`close`:return e.mode===`recording`?{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[]}:{state:e,effects:[{type:`closePanel`}]};case`resetSingle`:{if(e.mode!==`list`)return i;let t=n[e.selectedIndex];return!t||!t.isOverridden?i:{state:e,effects:[{type:`resetKeybinding`,commandId:t.commandId}]}}case`resetAll`:return e.mode===`list`?{state:e,effects:[{type:`resetAllKeybindings`}]}:i;case`toggleWriteTarget`:return{state:{...e,writeTarget:e.writeTarget===`global`?`project`:`global`},effects:[]};default:return i}}function Xf(e){let t={};if(e.ctrl&&(t.ctrl=!0),e.shift&&(t.shift=!0),e.meta&&(t.meta=!0),e.upArrow)t.upArrow=!0;else if(e.downArrow)t.downArrow=!0;else if(e.return)t.key=`return`;else if(e.tab)t.key=`tab`;else if(e.escape)t.key=`escape`;else if(e.input&&e.input.length>0)t.input=e.input;else return null;return t}function Zf(e){if(he(e))return`(未分配)`;let t=[];return e.ctrl&&t.push(`Ctrl`),e.shift&&t.push(`Shift`),e.meta&&t.push(`Meta`),e.upArrow?t.push(`↑`):e.downArrow?t.push(`↓`):e.key===`return`?t.push(`↵`):e.key===`tab`?t.push(`Tab`):e.key===`escape`?t.push(`Esc`):e.input!==void 0&&t.push(e.input.toUpperCase()),t.join(`+`)||`(未分配)`}function Qf(e,t){if(!t.upArrow&&!t.downArrow)return[];let n=[];for(let t of b)t.commandId===e&&(t.predicate.upArrow||t.predicate.downArrow||(t.predicate.input?n.push(t.predicate.input):t.predicate.key===`tab`&&n.push(Zf(t.predicate))));return n}function $f(e,t){if(e.isOverridden&&!e.isUnassigned)return Zf(e.effectivePredicate);let n=Qf(e.commandId,e.defaultPredicate);return n.length>0?[Zf(e.defaultPredicate),...n].join(` / `):Zf(e.defaultPredicate)}function ep({overrides:e,onSave:t,onSaveReplace:n,onReset:r,onResetAll:i,onDismiss:a}){let o=C(),[c,l]=K(()=>Jf(`project`)),[u,d]=K(!1),f=W(()=>Gf(e),[e]),p=W(()=>qf(f,c.searchQuery),[f,c.searchQuery]),m=Nt(o=>{l(s=>{let c=Yf(s,o,p,e);for(let e of c.effects)switch(e.type){case`closePanel`:a();break;case`saveKeybinding`:t(e.commandId,e.predicate,s.writeTarget);break;case`saveReplaceKeybinding`:n(e.actions,s.writeTarget);break;case`resetKeybinding`:r(e.commandId);break;case`resetAllKeybindings`:i();break}return c.state})},[p,e,a,t,n,r,i]);return s(`keybinding-panel-dialog`,(e,t)=>{if(u){if(t.escape){d(!1);return}if(t.return){m({type:`resetAll`}),d(!1);return}return}if(c.mode===`recording`&&c.pendingConflict){if(t.escape){m({type:`cancelConflict`});return}if(t.return){m({type:`confirmConflict`});return}return}if(c.mode===`recording`){if(t.escape){m({type:`cancelRecording`});return}m({type:`recordKey`,input:e,ctrl:t.ctrl,shift:t.shift,meta:t.meta,upArrow:t.upArrow,downArrow:t.downArrow,return:t.return,escape:t.escape,tab:t.tab});return}if(c.mode===`list`){if(t.escape){c.searchQuery?m({type:`setSearch`,query:``}):m({type:`close`});return}if(t.ctrl&&e===`r`){d(!0);return}if(e===`r`&&!t.ctrl&&!t.meta){m({type:`resetSingle`});return}if(e&&e.length===1&&!t.ctrl&&!t.meta&&/^[a-zA-Z0-9]$/.test(e)){m({type:`setSearch`,query:c.searchQuery+e});return}if(t.delete||e===``&&t.backspace){c.searchQuery.length>0&&m({type:`setSearch`,query:c.searchQuery.slice(0,-1)});return}}}),u?q(T,{header:q(y,{children:`快捷键设置`}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(X,{color:o.warning,children:`确认清空全部快捷键覆盖设置,恢复为默认值?`}),J(Y,{marginTop:A.section,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:!1,color:`gray`}),q(I,{variant:`solid`,brackets:!0,label:B.t(`confirm.reset`),focused:!0,color:`red`})]})]})}):c.mode===`recording`?q(np,{entries:p,selectedIndex:c.selectedIndex,recordingCommandId:c.recordingCommandId,pendingConflict:c.pendingConflict,searchQuery:c.searchQuery,writeTarget:c.writeTarget}):q(tp,{entries:p,searchQuery:c.searchQuery,writeTarget:c.writeTarget,onEnterRecording:()=>m({type:`startRecording`}),onMoveUp:()=>m({type:`moveUp`}),onMoveDown:()=>m({type:`moveDown`}),onDismiss:a})}function tp({entries:e,searchQuery:t,writeTarget:n,onEnterRecording:r,onDismiss:i}){let a=C(),o=[{group:`global`,label:`全局命令(${e.filter(e=>e.group===`global`).length})`,items:e.filter(e=>e.group===`global`)},{group:`navigation`,label:`列表导航(${e.filter(e=>e.group===`navigation`).length})`,items:e.filter(e=>e.group===`navigation`)},{group:`reserved`,label:`系统保留(${Wf.length})`,items:Wf.map(e=>({commandId:e.commandId,description:e.description,group:`reserved`,defaultPredicate:{},effectivePredicate:{},isOverridden:!1,isUnassigned:!1}))}],s=n===`global`?`全局配置`:`项目配置`;return q(z.Root,{title:`快捷键设置 写入:${s}`,subtitle:t?`搜索:"${t}"`:void 0,onCancel:i,onValueChange:()=>{r()},onKey:(e,t,n)=>!1,footer:J(Ft,{children:[q(k,{items:[[`${j.up}${j.down}`,`选择`],[j.enter,`修改键位`],[`r`,`重置当前`],[`Ctrl+R`,`全部重置`],[j.esc,`关闭`]]}),`
62
- `,J(O,{type:`secondary`,dim:!0,children:[`搜索:直接输入字符筛选 · 写入目标:`,s,`(按 t 切换)`]})]}),children:q(z.Content,{children:o.map(e=>J(z.Group,{children:[q(z.Label,{children:e.label}),e.group===`reserved`?Wf.map(e=>q(z.Item,{value:e.commandId,disabled:!0,trailingLabel:e.keyLabel,trailingColor:a.inactive,children:e.description},e.commandId)):e.items.map(e=>{let t=$f(e,void 0),n=e.isOverridden&&!e.isUnassigned,r=e.isUnassigned;return q(z.Item,{value:e.commandId,trailingLabel:r?`(未分配)`:t,trailingColor:n?a.warning:void 0,labelColor:n?a.warning:void 0,children:e.description},e.commandId)})]},e.group))})})}function np({entries:e,selectedIndex:t,recordingCommandId:n,pendingConflict:r,searchQuery:i,writeTarget:a}){let o=C(),s=a===`global`?`全局配置`:`项目配置`,c=r?e.find(e=>e.commandId===r.conflictsWith):void 0;return q(T,{header:q(y,{children:`快捷键设置 写入:${s}`}),footer:q(k,{items:r?[[j.enter,`确认替换`],[j.esc,`取消`]]:[[j.esc,`取消录制`]]}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[i&&J(O,{type:`secondary`,dim:!0,children:[`搜索:"`,i,`"`]}),r&&J(Y,{marginBottom:A.tight,children:[J(X,{color:o.error,children:[`与『`,c?.description??r.conflictsWith,`』冲突——替换后该命令将无键位,需手动重新分配`]}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,label:B.t(`confirm.replace`),focused:!0,color:`red`}),q(I,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:!1,color:`gray`})]})]}),e.map((e,r)=>{let i=e.commandId===n,a=$f(e,void 0),s=e.isOverridden&&!e.isUnassigned,c=r===t,l=c?ye():ze();return q(Y,{flexDirection:`column`,children:J(Y,{flexDirection:`row`,children:[J(X,{color:i?o.accent:c?o.selection:s?o.warning:void 0,bold:c,children:[l,e.description]}),q(O,{type:`secondary`,children:` `}),q(X,{color:i?o.accent:s?o.warning:o.inactive,children:i?`按下新键位…(Esc 取消)`:e.isUnassigned?`(未分配)`:a})]})},e.commandId)}),q(Y,{marginTop:A.section,children:J(O,{bold:!0,type:`secondary`,children:[`系统保留(`,Wf.length,`,不可修改)`]})}),Wf.map(e=>J(Y,{flexDirection:`row`,children:[J(O,{type:`secondary`,dim:!0,children:[` `,e.description]}),q(O,{type:`secondary`,children:` `}),q(O,{type:`secondary`,dim:!0,children:e.keyLabel})]},e.commandId))]})})}function rp({onDismiss:e}){let{state:t}=g(),n=t;return n?q(ep,{overrides:n.overrides,onSave:n.onSave,onSaveReplace:n.onSaveReplace,onReset:n.onReset,onResetAll:n.onResetAll,onDismiss:e}):null}function ip({onDismiss:e,rows:t,columns:n}){let{state:r}=g(),i=r;return i?q(vl,{projectIndex:i.projectIndex,userIndex:i.userIndex,onViewEntry:i.onViewEntry,onForget:i.onForget,onDismiss:e,rows:t,columns:n}):null}const ap=new class{closeListeners=new Set;crashedListeners=new Set;hintListeners=new Set;requestClose(){for(let e of this.closeListeners)e()}onCloseRequest(e){return this.closeListeners.add(e),()=>{this.closeListeners.delete(e)}}reportCrashed(){for(let e of this.crashedListeners)e()}onCrashed(e){return this.crashedListeners.add(e),()=>{this.crashedListeners.delete(e)}}setHint(e){for(let t of this.hintListeners)t(e)}onHintChange(e){return this.hintListeners.add(e),()=>{this.hintListeners.delete(e)}}};function op(){return!0}var sp=class extends V.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){ap.reportCrashed()}render(){return this.state.error?J(X,{color:L.error,children:[`Panel crashed: `,this.state.error.message]}):this.props.children}};function cp(){let[e,t]=V.useState(null),n=V.useRef(!0);return V.useEffect(()=>{n.current=!0;let e=e=>{n.current&&(t(e instanceof Error?e.message:String(e)),ap.reportCrashed())};return process.on(`unhandledRejection`,e),()=>{n.current=!1,process.removeListener(`unhandledRejection`,e)}},[]),{asyncError:e}}function lp({panelInfo:e}){let t=C(),[n,r]=V.useState(null),[i,a]=V.useState(null),{asyncError:o}=cp();return V.useEffect(()=>(globalThis.__ottoCurrentPanelPluginId=e.pluginId,()=>{delete globalThis.__ottoCurrentPanelPluginId}),[e.pluginId]),V.useEffect(()=>{let t=!1;return import(e.modulePath).then(n=>{if(t)return;let i=e.exportName===`default`?n.default||n:n[e.exportName];if(!i||typeof i!=`function`){a(`Panel export "${e.exportName}" not found or not a component`),ap.reportCrashed();return}r(()=>i)}).catch(e=>{t||(a(e instanceof Error?e.message:String(e)),ap.reportCrashed())}),()=>{t=!0}},[e.modulePath,e.exportName]),i?J(X,{color:t.error,children:[`Panel error: `,i]}):o?J(X,{color:t.error,children:[`Panel crashed (possibly related async error): `,o]}):n?q(sp,{children:q(n,{})}):q(X,{dimColor:!0,children:`Loading…`})}function up({req:e}){U(()=>ap.onCloseRequest(()=>e.onClose()),[]);let[t,n]=K(void 0);U(()=>(n(void 0),ap.onHintChange(e=>n(e))),[e.panelInfo.modulePath]);let[r,i]=K(!1);U(()=>(i(!1),ap.onCrashed(()=>i(!0))),[e.panelInfo.modulePath]),s(`plugin-panel-dialog`,(t,n)=>{n.escape&&e.onClose()},{isActive:r});let a=Array.isArray(t)?q(k,{items:t}):t??q(k,{items:[[`Esc`,B.t(`hint.close`)]]});return q(T,{header:q(y,{children:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?B.t(t):t})()}),footer:a,children:q(Y,{marginTop:A.tight,flexDirection:`column`,children:q(lp,{panelInfo:e.panelInfo})})})}function dp(){let{state:e}=g(),t=e;return t?q(up,{req:t}):null}const fp=/^(bash|shell|run_command|execute|exec)/i;function pp(){let{state:e}=g(),t=Xl(),n=e;return n?fp.test(n.tool)?q(Al,{command:n.input,risk:n.risk??`medium`,description:n.description,alwaysAllowLabel:n.alwaysAllowLabel,onApprove:e=>t.onPermissionDecision?.(n.id,!0,e),onDeny:()=>t.onPermissionDecision?.(n.id,!1)}):q(El,{tool:n.tool,input:n.input,risk:n.risk??`medium`,onApprove:e=>t.onPermissionDecision?.(n.id,!0,e),onDeny:()=>t.onPermissionDecision?.(n.id,!1)}):null}function mp(){let{state:e}=g(),{navigate:t}=ce(),n=e;return n?q(ot,{title:n.title,phases:n.stages??n.phases,phaseIndex:n.phaseIndex??0,phaseStatuses:n.phaseStatuses??[],percent:n.percent??0,detail:n.detail??``,status:n.status??`running`,errorMessage:n.errorMessage,subProgress:n.subProgress,nextStep:n.nextStep,onDismiss:()=>{n.onDismiss?.(),t(`/`,{reset:!0})}}):null}function hp({onSubmit:e,onCancel:t}){let{state:n}=g(),r=n;return r?q(Ml,{title:r.title,message:r.message,placeholder:r.placeholder,initialValue:r.initialValue,submitLabel:r.submitLabel,cancelLabel:r.cancelLabel,onSubmit:e,onCancel:t}):null}function gp({onSubmit:e,onCancel:t,columns:n}){let{state:r}=g(),i=r,a=G(t);return a.current=t,U(()=>()=>{a.current()},[]),i?q(Xe,{title:i.title,questions:i.questions,columns:Math.min(60,n-ge.borderInset),onSubmit:e,onCancel:t}):null}function _p({title:e,subtitle:n,subtitleTone:r=`default`,options:a,maxVisible:c=10,searchable:l=!1,layout:u=`list`,onSelect:d,onCancel:p,subtitleActions:m,columns:h=60,rows:g=24,detailPlacement:_=`below`,initialFilter:b=``,onFilterChange:x,onHighlight:S,defaultSelectedValue:w}){let E=C(),D=u===`buttons`,te=u===`tabs`,ne=!!m&&m.length>0&&!D&&!te,re=i(),[ie,ae]=K(b),[oe,M]=K(b.length),se=(e,t)=>{ae(e),M(t),x?.(e)},[ce,N]=K(()=>ne&&!a.some(e=>!e.disabled)?0:null),[le,ue]=K(l?`search`:`list`),P=W(()=>l?ie===``?a:Qt(a,ie):a,[l,ie,a]),F=G(null);if(!F.current||F.current.options!==P){let e=tt(P,{maxVisible:c});if(w){let t=P.findIndex(e=>e.value===w);t>=0&&e.selectByIndex(t)}F.current={options:P,state:e}}let de=F.current.state,[,fe]=K(0),pe=()=>{fe(e=>e+1);let e=de.getSelected();e&&S?.(e.value)};V.useEffect(()=>{let e=de.getSelected();e&&S?.(e.value)},[]);let me=()=>{ue(`list`),N(null),re?.focus(`select-list`)},he=()=>{ue(`search`),N(null),re?.focus(`select-search`)},ge=e=>{ue(`list`),N(e)},{focused:ve}=ee({tabIndex:0,id:`select-search`,disabled:!l,onAction:()=>{if(ie)me();else{let e=de.accept();e&&!e.disabled&&d(e.value)}return!0}}),{focused:Se}=ee({tabIndex:1,id:`select-list`,onAction:()=>{if(ce!==null&&ne)d(m[ce].value);else{let e=de.accept();e&&!e.disabled&&d(e.value)}return!0}}),Ce=G(null),we=G(!0);V.useEffect(()=>{let e=ve?`search`:Se?`list`:null;e!==null&&e!==Ce.current&&(we.current?we.current=!1:(ue(e),N(null))),Ce.current=e},[ve,Se]);let Te=()=>{for(let e=P.length-1;e>=0;e--)if(!P[e]?.disabled){de.selectByIndex(e);return}},Ee=()=>{for(let e=0;e<P.length;e++)if(!P[e]?.disabled){de.selectByIndex(e);return}};s(`select-dialog`,(e,t)=>{if(l&&le===`search`&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=dt(e);t&&se(ie.slice(0,oe)+t+ie.slice(oe),oe+t.length);return}if(l&&ce===null&&le===`search`){if(t.upArrow){ne?ge(m.length-1):(me(),Te(),pe());return}if(t.downArrow){me(),Ee(),pe();return}if(t.leftArrow){let e=gt.fromText(ie,h,oe).left();se(e.text,e.offset);return}if(t.rightArrow){let e=gt.fromText(ie,h,oe).right();se(e.text,e.offset);return}if(!t.return&&!t.tab){let n={name:t.return?`return`:t.escape?`escape`:t.backspace?`backspace`:t.delete?`delete`:t.tab?`tab`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=be(gt.fromText(ie,h,oe),n);if(r){if(r.action===`clear_text`){se(``,0);return}if(!(r.action===`submit`||r.action===`submit_force`)){se(r.cursor.text,r.cursor.offset);return}}}}if((D||te)&&(t.leftArrow||t.rightArrow)){t.leftArrow?de.moveUp():de.moveDown(),pe();return}if(ne&&ce!==null&&(t.leftArrow||t.rightArrow)){let e=m.length-1;N(t.leftArrow?Math.max(0,ce-1):Math.min(e,ce+1));return}if(l&&ce===null&&le===`search`&&(t.upArrow||t.downArrow))return;let n=ke(e,t);if(n)switch(n.type){case`cancel`:p?.();return;case`up`:if(l&&le===`search`)return;if(ce!==null){if(ce>0){N(ce-1);return}l&&he();return}{let e=de.selectedIndex;if(de.moveUp(),de.selectedIndex===e){if(l){he();return}if(ne){ge(m.length-1);return}}}pe();return;case`down`:if(l&&le===`search`)return;if(ce!==null){if(ce<m.length-1){N(ce+1);return}l?he():(me(),Ee(),pe());return}{let e=de.selectedIndex;if(de.moveDown(),de.selectedIndex===e&&l){he();return}}pe();return;case`index`:{ce!==null&&N(null),de.selectByIndex(n.index);let e=de.getSelected();e&&!e.disabled&&d(e.value);return}case`accept`:{let e=de.accept();e&&!e.disabled&&d(e.value);return}}});let De=G(0),Ae=W(()=>_e(P,_),[P,_]),je=W(()=>_===`inline`?Math.max(0,...P.map(e=>$e(e.label))):0,[_,P]),Me=W(()=>_===`inline`?Math.max(0,...P.map(e=>$e(e.trailingLabel??``))):0,[_,P]),Ne=D||te?1/0:l?Ue(c+9,g)-9:Ue(Ae.length+9,g)-9,Pe=St(Ae,de.selectedIndex,Ne,De.current);De.current=Pe.scrollTop;let Fe=P[de.selectedIndex]??null;return J(T,{header:J(Ft,{children:[e&&q(y,{children:e}),e&&n&&q(Y,{marginTop:A.tight}),n&&ne?J(Y,{flexDirection:`row`,alignSelf:`flex-start`,...t,borderColor:E.accent,paddingX:A.tight,children:[J(X,{color:r===`warning`?E.warning:E.accent,children:[n,` `]}),m.map((e,t)=>J(V.Fragment,{children:[t>0&&J(O,{type:`secondary`,children:[` `,B.t(`common.wordOr`),` `]}),q(I,{variant:`ghost`,brackets:!0,color:r===`warning`?`amber`:`accent`,label:e.label,focused:ce===t,tabIndex:-1})]},e.value))]}):n&&q(X,{color:r===`warning`?E.warning:E.inactive,children:n})]}),footer:q(k,{items:D||te?[[`${j.left}${j.right}`,B.t(`hint.select`)],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.confirm`)],[j.esc,`${l?B.t(`select.clearHint`):``}${B.t(`hint.cancel`)}`],...l?[[`Tab`,B.t(`hint.switch`)]]:[]]}),children:[e&&!n&&q(Y,{marginTop:A.tight}),l&&J(Y,{flexDirection:`row`,marginBottom:A.tight,marginTop:n?A.tight:A.none,children:[q(O,{type:`secondary`,children:`/ `}),q(Oe,{value:ie,offset:oe,columns:h,mode:`dialog`,noPrefix:!0,placeholder:B.t(`select.filterPlaceholder`),focused:ce===null&&le===`search`,tabIndex:-1})]}),l&&ie!==``&&P.length===0&&q(Y,{marginBottom:A.tight,children:J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`select.noMatches`)]})}),l&&ie!==``&&P.length>0&&q(Y,{children:J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`select.matchCount`,{count:P.length})]})}),D&&q(Y,{flexDirection:`row`,gap:A.section,marginTop:A.tight,children:P.map((e,t)=>q(I,{variant:`solid`,brackets:!0,color:e.color??(t===0?`accent`:`gray`),label:e.label,focused:e===Fe&&(l?le===`list`:!0),disabled:e.disabled},e.value))}),te&&J(Y,{flexDirection:`column`,marginTop:A.tight,children:[q(Nd,{items:P.map(e=>({key:e.value,label:e.label,disabled:e.disabled})),activeKey:Fe?.value??``,availableWidth:h-4}),Fe&&J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(X,{color:E.text,children:Fe.label}),Fe.detail&&q(Y,{marginTop:Math.floor(A.tight/2),children:q(O,{type:`secondary`,dim:!0,children:Fe.detail})})]})]}),!D&&!te&&q(Y,{height:1,children:q(f,{hasMore:Pe.hasMoreAbove})}),!D&&!te&&Pe.rows.map((e,t)=>{if(e.kind===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.kind===`divider`)return q(Y,{flexDirection:`column`,children:q(xe,{label:e.label,indent:` `})},`div-${t}`);let n=e.option;if(e.kind===`detail`)return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(O,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:[` `,n.detail]})]},`detail-${e.optionIndex}`);let r=n===Fe,i=ce===null&&(l?le===`list`:!0),a=r&&i,s=_===`inline`&&(n.detail||n.trailingLabel),c=s?`${o(n.label,je)} ${o(n.trailingLabel??``,Me)}${n.detail?` ${n.detail}`:``}`:n.label;return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(X,{color:n.disabled?E.inactive:a?E.selection:E.inactive,dimColor:n.disabled||r&&!i,bold:a&&!n.disabled,children:[r&&!n.disabled?ye():ze(),c,n.disabled?` (${B.t(`common.disabled`)})`:``]}),n.trailingLabel&&!s&&J(Ft,{children:[q(O,{type:`secondary`,children:` `}),q(X,{color:n.trailingColor??E.inactive,dimColor:!n.trailingColor,children:n.trailingLabel})]})]},`item-${e.optionIndex}`)}),!D&&!te&&Array.from({length:Pe.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),!D&&!te&&q(Y,{height:1,children:q(v,{hasMore:Pe.hasMoreBelow})})]})}function vp({onSelect:e,onCancel:t,rows:n}){let{state:r}=g(),i=r;return i?q(_p,{title:i.title,subtitle:i.subtitle,options:i.options??[],maxVisible:i.maxVisible,searchable:i.searchable,rows:n,layout:i.layout,subtitleActions:i.subtitleActions,detailPlacement:i.detailPlacement,initialFilter:i.initialFilter,onFilterChange:i.onFilterChange,onHighlight:i.onHighlight,defaultSelectedValue:i.defaultSelectedValue,onSelect:e,onCancel:t}):null}const yp=/^[A-Za-z0-9_-]+$/;function bp({shortcuts:e,onSave:t,onDelete:n,onDismiss:r}){let[i,a]=K(e),[o,s]=K({mode:`list`});return o.mode===`confirm-delete`?q(Ep,{entry:o.entry,onConfirm:()=>{let e=o.entry.name;n(e),a(t=>t.filter(t=>t.name!==e)),s({mode:`list`})},onCancel:()=>s({mode:`list`})}):o.mode===`form`?q(Tp,{editing:o.editing,existingNames:i.map(e=>e.name),onSave:(e,n)=>{let r=o.editing?.name;t(e,n,r),a(t=>[...(r?t.filter(e=>e.name!==r):t).filter(t=>t.name!==e),{name:e,text:n}]),s({mode:`list`})},onCancel:()=>s({mode:`list`})}):q(xp,{shortcuts:i,onNew:()=>s({mode:`form`}),onEdit:e=>s({mode:`form`,editing:e}),onDeleteRequest:e=>s({mode:`confirm-delete`,entry:e}),onDismiss:r})}function xp({shortcuts:e,onNew:t,onEdit:n,onDeleteRequest:r,onDismiss:i}){let a=new Map(e.map(e=>[e.name,e]));return e.length===0?J(T,{header:q(y,{children:B.t(`cmd.titleShortcuts`)}),footer:q(k,{items:[[`n`,B.t(`cmd.shortcutsPanelHintNew`)],[j.esc,B.t(`hint.close`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:B.t(`cmd.shortcutsPanelEmptyHint`)})}),q(Sp,{onNew:t,onDismiss:i})]}):q(z.Root,{title:`${B.t(`cmd.titleShortcuts`)} ${B.t(`cmd.shortcutsPanelListHint`)}(${e.length})`,onCancel:i,onKey:(e,n,i)=>{if(e===`n`)return t(),!0;if(e===`d`&&i){let e=a.get(i.value);return e&&r(e),!0}return!1},onValueChange:e=>{let t=a.get(e);t&&n(t)},footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`cmd.shortcutsPanelHintEdit`)],[`n`,B.t(`cmd.shortcutsPanelHintNew`)],[`d`,B.t(`cmd.shortcutsPanelHintDelete`)],[j.esc,B.t(`hint.close`)]]}),children:q(z.Content,{children:q(z.Group,{children:e.map(e=>q(z.Item,{value:e.name,detail:Cp(e.text),marker:`number`,children:`@${e.name}`},e.name))})})})}function Sp({onNew:e,onDismiss:t}){return s(`shortcuts-panel`,(n,r)=>{if(r.escape){t();return}n===`n`&&e()}),null}function Cp(e,t=40){let n=e.trim().split(`
63
- `)[0].replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}const wp=[`name`,`text`,`save`,`cancel`];function Tp({editing:e,existingNames:t,onSave:n,onCancel:r}){let i=C(),[a,o]=K(e?.name??``),[c,l]=K(a.length),[u,d]=K(e?.text??``),[f,p]=K(u.length),[m,h]=K(`name`),[g,_]=K(null),v=e=>{h(wp[(wp.indexOf(m)+e+wp.length)%wp.length])},b=()=>{let n=a.trim();return!n||!yp.test(n)?B.t(`cmd.shortcutsPanelNameInvalid`):t.some(t=>t===n&&t!==e?.name)?B.t(`cmd.shortcutsPanelNameDuplicate`):u.trim()?null:B.t(`cmd.shortcutsPanelTextEmpty`)},x=()=>{let e=b();if(e){_(e);return}n(a.trim(),u)};return s(`shortcuts-panel-2`,(e,t)=>{if(t.escape){r();return}if(t.tab){v(t.shift?-1:1);return}if(m===`save`||m===`cancel`){if(t.leftArrow||t.rightArrow){let e=D(t);e!==0&&v(e);return}if(t.return){m===`save`?x():r();return}return}let n=m===`name`,i=n?a:u,s=n?c:f,g=(e,t)=>{_(null),n?(o(e),l(t)):(d(e),p(t))};if(t.return&&n){h(`text`);return}if(t.leftArrow){let e=gt.fromText(i,60,s).left();g(e.text,e.offset);return}if(t.rightArrow){let e=gt.fromText(i,60,s).right();g(e.text,e.offset);return}if(e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=dt(e);t&&g(i.slice(0,s)+t+i.slice(s),s+t.length);return}let y={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:t.shift??!1,alt:t.meta??!1,meta:t.meta??!1},b=be(gt.fromText(i,60,s),y);if(b){if(b.action===`clear_text`){g(``,0);return}if(b.action===`submit`||b.action===`submit_force`){n||x();return}g(b.cursor.text,b.cursor.offset)}}),J(T,{header:q(y,{children:e?B.t(`cmd.shortcutsPanelEditTitle`,{name:e.name}):B.t(`cmd.shortcutsPanelNewTitle`)}),footer:q(k,{items:[[j.tab,B.t(`hint.quick`)],[j.enter,B.t(`hint.confirm`)],[j.esc,B.t(`hint.cancel`)]]}),children:[J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(O,{type:`secondary`,children:B.t(`cmd.shortcutsPanelNameLabel`)}),J(Y,{flexDirection:`row`,children:[q(O,{type:`secondary`,children:`@`}),q(Oe,{value:a,offset:c,columns:60,mode:`dialog`,focused:m===`name`})]})]}),J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(O,{type:`secondary`,children:B.t(`cmd.shortcutsPanelTextLabel`)}),q(Oe,{value:u,offset:f,columns:60,mode:`dialog`,maxVisibleLines:6,focused:m===`text`})]}),g&&q(Y,{marginTop:A.tight,children:q(X,{color:i.error,children:g})}),J(Y,{marginTop:A.section,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`hint.confirm`),focused:m===`save`}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:m===`cancel`})]})]})}function Ep({entry:e,onConfirm:t,onCancel:n}){let r=C(),[i,a]=K(0);return s(`shortcuts-panel-3`,(e,r)=>{if(r.escape){n();return}if(r.leftArrow||r.rightArrow||r.tab){let e=D(r);e!==0&&a(t=>E(t,e,2));return}r.return&&(i===1?t():n())}),q(T,{header:q(y,{children:B.t(`cmd.shortcutsPanelConfirmDeleteTitle`)}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(X,{color:r.warning,children:B.t(`cmd.shortcutsPanelConfirmDeleteMessage`,{name:e.name})}),J(Y,{marginTop:A.section,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:i===0,color:`gray`}),q(I,{variant:`solid`,brackets:!0,label:B.t(`hint.delete`),focused:i===1,color:`red`})]})]})})}function Dp({onDismiss:e}){let{state:t}=g(),n=t;return n?q(bp,{shortcuts:n.bindings,onSave:n.onSave,onDelete:n.onDelete,onDismiss:e}):null}const Op=[`en`,`zh`,`auto`];function kp({step:e}){let t=[B.t(`onboarding.stepName`),B.t(`onboarding.stepLang`)];return J(Y,{flexDirection:`row`,marginBottom:A.tight,children:[t.map((t,n)=>J(V.Fragment,{children:[n>0&&q(O,{type:`secondary`,children:` · `}),n<e?q(O,{type:`success`,children:`${R.check} ${t}`}):n===e?q(O,{type:`accent`,bold:!0,children:`${R.statusDot} ${t}`}):q(O,{type:`secondary`,children:`${R.todoPending} ${t}`})]},n)),q(Y,{marginLeft:A.section,children:q(O,{type:`secondary`,children:B.t(`onboarding.stepCounter`,{current:e+1,total:2})})})]})}function Ap({columns:e,onComplete:t,onLanguagePreview:n}){let[r,i]=K(0),[a,o]=K(``),[c,l]=K(0),[u,d]=K(2),[f,p]=K({}),m=Nt(e=>{let n={...f,...e};if(p(n),r>=1){t(n);return}i(r+1)},[r,f,t]),h=Nt(()=>{r>0&&i(r-1)},[r]);s(`onboarding-dialog`,(t,n)=>{if(n.escape)return m({}),!0;if(r>0&&n.leftArrow)return h(),!0;if(r!==0)return!1;if(n.return)return m(a.trim()?{nickname:a.trim()}:{}),!0;if(t.length>1&&!n.ctrl&&!n.meta&&!n.return&&!n.escape&&!n.backspace&&!n.delete&&!n.tab&&!n.upArrow&&!n.downArrow&&!n.leftArrow&&!n.rightArrow){let e=dt(t);return e&&(o(a.slice(0,c)+e+a.slice(c)),l(c+e.length)),!0}let i={name:n.return?`return`:n.backspace?`backspace`:n.delete?`delete`:n.tab?`tab`:t||`unknown`,ctrl:n.ctrl??!1,shift:!1,alt:n.meta??!1,meta:n.meta??!1},s=be(gt.fromText(a,e,c),i);return s?s.action===`submit`||s.action===`submit_force`?(m(a.trim()?{nickname:a.trim()}:{}),!0):(o(s.cursor.text),l(s.cursor.offset),!0):!1});let g=()=>r===0?J(Ft,{children:[q(y,{children:B.t(`onboarding.nameQuestion`)}),q(O,{type:`secondary`,children:B.t(`onboarding.nameDesc`)}),q(Y,{marginTop:A.tight,flexDirection:`row`,children:q(Oe,{value:a,offset:c,columns:e,mode:`dialog`,placeholder:B.t(`onboarding.namePlaceholder`),focused:!0,physicalCursor:!0})})]}):J(Ft,{children:[q(y,{children:B.t(`onboarding.langQuestion`)}),q(O,{type:`secondary`,children:B.t(`onboarding.langFootnote`)}),q(Y,{marginTop:A.tight,children:J(Pe.Root,{activeIndex:u,onActiveChange:d,onPick:e=>{let t=Op[e];n?.(t),m({language:t})},children:[q(Pe.Item,{label:`English (en)`}),q(Pe.Item,{label:`中文 (zh)`}),q(Pe.Item,{label:B.t(`onboarding.langAuto`)})]})})]}),_=r===0?[[j.enter,B.t(`onboarding.hintNext`)],[j.esc,B.t(`onboarding.hintSkip`)]]:[[`${j.up}${j.down}`,B.t(`hint.select`)],[`1/2/3`,B.t(`onboarding.hintQuick`)],[j.enter,r>=1?B.t(`onboarding.hintDone`):B.t(`onboarding.hintNext`)],[j.left,B.t(`onboarding.hintBack`)],[j.esc,B.t(`onboarding.hintSkip`)]];return q(T,{header:q(kp,{step:r}),footer:q(k,{items:_}),children:g()})}function jp({onComplete:e,columns:t}){let{state:n}=g(),r=n,i=G(e);return i.current=e,U(()=>()=>{i.current({})},[]),q(Ap,{columns:Math.min(60,t-ge.borderInset),onComplete:e,onLanguagePreview:r?.onLanguagePreview})}function Mp(){let{state:e}=g();return e?q(ft,{request:e}):null}function Np(e){let{onAlertResolve:t,onConfirmResolve:n,onPromptResolve:r,onInputResolve:i,onInputAction:a,onQuestionsResolve:o,onOnboardingResolve:s,onSelectResolve:c,onInfoDismiss:l,onMemoryDismiss:u,onKeybindingPanelDismiss:d,onShortcutsDialogDismiss:f}=Xl();return J(Ft,{children:[q(w,{path:`/dialog/alert`,element:q(kf,{onOk:()=>t?.()})}),q(w,{path:`/dialog/confirm`,element:q(Af,{onConfirm:()=>n?.(!0),onCancel:()=>n?.(!1),onExtra:()=>n?.(!1,!0)})}),q(w,{path:`/dialog/prompt`,element:q(hp,{onSubmit:e=>r?.(e),onCancel:()=>r?.(null)})}),q(w,{path:`/dialog/input`,element:q(Uf,{onSubmit:e=>i?.(e),onCancel:()=>i?.(null),onAction:a,columns:e.columns})}),q(w,{path:`/dialog/questions`,element:q(gp,{onSubmit:(e,t)=>o?.(e,t),onCancel:()=>o?.(null),columns:e.columns})}),q(w,{path:`/dialog/info`,element:q(Vf,{onDismiss:()=>l?.()})}),q(w,{path:`/dialog/memory`,element:q(ip,{onDismiss:()=>u?.(),rows:e.rows,columns:e.columns})}),q(w,{path:`/dialog/select`,element:q(vp,{onSelect:e=>c?.(e),onCancel:()=>c?.(null),rows:e.rows})}),q(w,{path:`/dialog/wizard`,element:q(Mp,{})}),q(w,{path:`/dialog/onboarding`,element:q(jp,{onComplete:e=>s?.(e),columns:e.columns})}),q(w,{path:`/dialog/a2ui-form`,element:q(Of,{columns:e.columns})}),q(w,{path:`/dialog/progress`,element:q(mp,{})}),q(w,{path:`/dialog/keybindings`,element:q(rp,{onDismiss:()=>d?.()})}),q(w,{path:`/dialog/shortcuts`,element:q(Dp,{onDismiss:()=>f?.()})}),q(w,{path:`/viewer/file`,prefix:!0,element:q(Lf,{rows:e.rows,columns:e.columns})}),q(w,{path:`/viewer/clipboard`,prefix:!0,element:q(Rf,{rows:e.rows,columns:e.columns})}),q(w,{path:`/viewer/help`,prefix:!0,element:q(Bf,{rows:e.rows,columns:e.columns})}),q(w,{path:`/dialog/extension`,prefix:!0,element:q(Pf,{rows:e.rows,columns:e.columns})}),q(w,{path:`/dialog/extensions`,element:q(Ff,{rows:e.rows})}),q(w,{path:`/dialog/plugin-panel`,element:q(dp,{})}),q(w,{path:`/dialog/permission`,element:q(pp,{})})]})}function Pp({req:e,rows:t,columns:n,active:r=!0}){let i=C();return q(oc,{lines:W(()=>e.content.split(`
64
- `),[e.content]),rows:t,columns:n,wrapMode:`pre-wrap`,header:q(Y,{children:q(X,{color:i.selection,children:e.label})}),onDismiss:e.onDismiss,initialScroll:`top`,active:r,contentKey:e.label})}function Fp(e){let t=Xl(),{stdout:n}=Ut(),{taskStore:r,notificationStore:i}=Wl(),a=Z(i.store,e=>e.notifications),o=Z(r.store,e=>e.queued),{stack:s}=ce(),c=e=>s.some(t=>t.path===e);return J(Ft,{children:[q(Ef,{focusOwner:e.routeDerivedOwner,pasteContent:c(`/overlay/paste-confirm`)?e.pasteContent:null,onPasteConfirm:e.handlePasteConfirm,onPasteCancel:e.handlePasteCancel,notifications:a,rows:e.rows,columns:e.columns}),q(Np,{columns:e.columns,rows:e.rows}),e.chipContentViewerRequest&&c(`/overlay/chip-viewer`)&&q(w,{path:`/overlay/chip-viewer`,inStack:!0,element:q(Pp,{req:e.chipContentViewerRequest,rows:n?.rows??e.rows,columns:e.columns,active:c(`/overlay/chip-viewer`)})}),e.queueCloseConfirm&&q(Ge,{title:B.t(`queue.exitTitle`),message:B.t(`queue.exitMessage`).replace(`%d`,String(o.length)),confirmLabel:B.t(`queue.exitConfirm`),checkLabel:B.t(`common.dontRemind`),checked:e.queueEscSuppress,onCheckChange:e.setQueueEscSuppress,onConfirm:()=>{e.setQueueCloseConfirm(!1),t.onToggleQueuePane?.()},onCancel:()=>e.setQueueCloseConfirm(!1)}),e.interruptConfirm&&q(Ge,{title:B.t(`agent.interruptTitle`),message:B.t(`agent.interruptMessage`),confirmLabel:B.t(`agent.interruptConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{e.setInterruptConfirm(!1),t.onInterrupt?.()},onCancel:()=>e.setInterruptConfirm(!1)}),e.popQueuedConfirm&&q(Ge,{title:B.t(`queue.popTitle`),message:B.t(`queue.popMessage`),confirmLabel:B.t(`queue.popConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{e.setPopQueuedConfirm(!1),t.onPopQueued?.()},onCancel:()=>e.setPopQueuedConfirm(!1)})]})}function Ip({exec:e,maxLines:t=8,totalLines:n,onCopyOutput:r,onAskAi:i,onAbort:a,onDismiss:o,onViewFullOutput:c,active:l=!0}){let u=C(),d=e.status===`running`,f=e.terminated||e.exitCode===null,p=!d&&(e.terminated===!0||e.exitCode!==0);s(`shell-pane`,(t,n)=>n.escape?(d&&a?.(),o?.(),!0):t===`v`&&!n.ctrl&&!n.meta&&!d?(c?.({command:e.command,output:e.output,isError:e.terminated===!0||e.exitCode!==0}),!0):t===`c`&&!n.ctrl&&!n.meta&&!d?(r?.(),!0):t===`a`&&!n.ctrl&&!n.meta&&p?(i?.(),o?.(),!0):!1,{isActive:l});let m=G(l);U(()=>{m.current&&!l&&(d&&a?.(),o?.()),m.current=l},[l,d,a,o]);let h=d?u.accent:f?u.error:e.exitCode===0?u.success:u.error,g=d?B.t(`shell.running`):e.terminated?B.t(`shell.terminated`):e.exitCode===null?B.t(`shell.errored`):B.t(`shell.exit`,{code:e.exitCode}),_=d?R.todoActive:f?R.cross:e.exitCode===0?R.check:R.cross,v=e.output.split(`
65
- `),y=n??v.length,b=v.slice(-t),x=d&&b.length<t?[...b,...Array.from({length:t-b.length},()=>``)]:b,S=Math.max(0,v.length-t),w=d?B.t(`hint.toInterrupt`):B.t(`hint.close`),E=q(k,{items:[...!d&&y>t?[[`v`,B.t(`shell.viewAll`,{count:y})]]:[],...!d&&r?[[`c`,B.t(`shell.copyHint`)]]:[],...!d&&p&&i?[[`a`,B.t(`shell.hint`)]]:[],[j.esc,w]]});return J(T,{header:J(X,{children:[J(O,{type:`secondary`,children:[`>`,` `]}),q(X,{color:u.secondary,children:e.command}),q(X,{children:` `}),J(X,{color:h,children:[_,` `,g]})]}),footer:E,children:[(d||S>0)&&q(Y,{flexDirection:`row`,height:1,children:S>0?J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`shell.moreLines`,{count:S})]}):q(X,{children:` `})}),x.map((e,t)=>q(Y,{flexDirection:`row`,children:q(X,{wrap:`truncate-end`,children:e===``?` `:e})},t))]})}function Lp(e){if(e.operation===`edit`){if(e.oldContent!=null&&e.newContent!=null)return uo(e.oldContent,e.newContent,2**53-1)}else if(e.operation===`delete`){if(e.oldContent!=null)return[{header:``,lines:e.oldContent.split(`
58
+ `)}\n${xf(n.length,e.length)}`}function wf({content:e,previewLines:n=10,rows:r=24,columns:i=80,onConfirm:a,onCancel:o}){let s=L(),[c,l]=K(0),[u,p]=K(!1),m=G(0);m.current=c;let h=G(!1);W(()=>{let e=setTimeout(()=>{h.current=!0},0);return()=>{clearTimeout(e)}},[]);let g=Cf(e,n),_=Sf(e),v=Ft(()=>e.split(`
59
+ `),[e]);return yt(`paste-confirm-dialog-buttons`,(e,t)=>{if(u)return!1;if(t.escape)return h.current&&o(),!0;if(t.leftArrow||t.rightArrow||t.tab){if(h.current){let e=te(t);e!==0&&l(t=>D(t,e,3))}return!0}return t.return?(h.current&&l(e=>(e===0?a():e===1?p(!0):o(),e)),!0):!1}),u?q(sc,{lines:v,rows:r,columns:i,header:J(Y,{children:[q(X,{color:s.selection,children:V.t(`paste.viewTitle`)}),J(d,{type:`secondary`,children:[` `,xf(v.length,e.length)]})]}),onDismiss:()=>p(!1),initialScroll:`top`,contentKey:e}):J(M,{header:q(w,{children:V.t(`paste.confirmTitle`)}),footer:q(f,{items:[[`${B.left}${B.right}`,V.t(`hint.switch`)],[B.enter,`${V.t(`hint.confirm`)}/${V.t(`paste.view`)}`],[B.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:t.tight,flexDirection:`column`,children:q(d,{type:`secondary`,children:g})}),J(Y,{marginTop:t.tight,children:[q(X,{dimColor:!0,children:V.t(`paste.collapseLabel`)}),q(X,{color:s.selection,children:_})]}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`paste.confirm`),focused:c===0}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`paste.view`),focused:c===1}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`paste.cancel`),focused:c===2})]})]})}function Tf(e,t){let n=Math.floor((t-e)/1e3);return n<60?V.t(`time.justNow`):n<3600?V.t(`time.minAgo`,{min:Math.floor(n/60)}):n<86400?V.t(`time.hourAgo`,{hr:Math.floor(n/3600)}):V.t(`time.dayAgo`,{day:Math.floor(n/86400)})}function Ef(e,t){return e===`error`?t.error:e===`warning`?t.warning:t.inactive}function Df({notifications:e,onClose:r,rows:i=24}){let a=L();yt(`notification-center`,(e,t)=>t.escape?(r(),!0):!1);let[o,s]=K(()=>Date.now()),c=G(0);W(()=>{let e=setInterval(()=>s(Date.now()),3e4);return()=>clearInterval(e)},[]);let l=e.filter(e=>!e.read),u=e.filter(e=>e.read),p=[...l,...u];if(p.length===0)return null;let m=xt(p,-1,n(p.length+6,i)-6,c.current);return c.current=m.scrollTop,q(M,{header:J(Y,{marginBottom:t.tight,children:[q(X,{color:a.secondary,bold:!0,children:V.t(`notif.title`)}),l.length>0&&J(X,{color:a.accent,children:[` `,l.length]})]}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.scroll`)],[B.enter,V.t(`hint.dismiss`)],[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:m.rows.map((e,n)=>J(Y,{flexDirection:`column`,children:[m.scrollTop+n===l.length&&u.length>0&&l.length>0&&q(Y,{marginY:t.tight,children:q(d,{type:`secondary`,dim:!0,children:V.t(`notif.readDivider`)})}),J(Y,{flexDirection:`row`,children:[q(X,{color:Ef(e.level,a),children:e.level===`error`?R.cross:e.level===`warning`?R.warn:`i`}),q(d,{type:`secondary`,children:` `}),J(X,{color:e.read?a.inactive:a.secondary,dimColor:e.read,wrap:`truncate-end`,children:[`[`,e.source,`] `,e.title,` · `,e.message]}),J(d,{type:`secondary`,dim:!0,children:[` `,`(`,Tf(e.timestamp,o),`)`]})]})]},e.id))})}function Of({focusOwner:e,pasteContent:t,onPasteConfirm:n,onPasteCancel:r,notifications:i,rows:a,columns:o}){let{onDismissNotification:s,onCloseNotifications:c}=Zl();return J(It,{children:[t!=null&&q(j,{path:`/overlay/paste-confirm`,inStack:!0,element:q(wf,{content:t,rows:a,columns:o,onConfirm:n,onCancel:r})}),e===`notifications`&&q(Df,{notifications:i,onDismiss:e=>s?.(e),onClose:()=>c?.()})]})}function kf({component:e,columns:n=60,onAction:r,onDismiss:i}){let a=L(),o=e.fields??[],s=e.formTitle??`表单`,[c,l]=K(Nt(()=>{let e={},t={},n={};for(let r of o)if(r.type===`toggle`)t[r.id]=r.defaultValue===!0;else{let t=r.defaultValue==null?``:String(r.defaultValue);e[r.id]=t,n[r.id]=t.length}return{strings:e,toggles:t,offsets:n}},[o])),[u,p]=K({kind:`field`,index:0}),m=u.kind===`field`?u.index:-1,h=o.length,g=m>=0&&m<h?o[m]:void 0,_=(e,t,n)=>{l(r=>({strings:{...r.strings,[e]:t},toggles:r.toggles,offsets:{...r.offsets,[e]:n}}))},v=e=>{l(t=>({strings:t.strings,toggles:{...t.toggles,[e]:!(t.toggles[e]??!1)},offsets:t.offsets}))},y=()=>{u.kind===`field`&&u.index<h-1?p({kind:`field`,index:u.index+1}):p({kind:`submit`})},b=()=>{u.kind===`submit`?p({kind:`field`,index:Math.max(0,h-1)}):u.kind===`cancel`?p({kind:`submit`}):u.kind===`field`&&u.index>0&&p({kind:`field`,index:u.index-1})},x=()=>{let t={};for(let e of o)e.type===`toggle`?t[e.id]=c.toggles[e.id]??!1:t[e.id]=c.strings[e.id]??``;let n=e.action??`submit`;r(e.id,n,t)};yt(`a2ui-form-dialog`,(e,t)=>{if(t.escape){if(u.kind===`field`){if(g?.type===`text`&&(c.strings[g.id]??``).length>0){_(g.id,``,0);return}b();return}i();return}if(t.tab||t.ctrl&&e===`n`){y();return}if(t.return&&t.meta){x();return}if(u.kind!==`field`){if(t.leftArrow){b();return}if(t.rightArrow){y();return}if(t.return&&u.kind===`submit`){x();return}if(t.return&&u.kind===`cancel`){i();return}return}if(g){if(t.upArrow){b();return}if(t.downArrow){y();return}if(t.return){m>=h-1?x():y();return}if(g.type===`text`){let r=g.id,i=c.strings[r]??``,a=c.offsets[r]??0;if(t.leftArrow){let e=De.fromText(i,n,a).left();_(r,e.text,e.offset);return}if(t.rightArrow){let e=De.fromText(i,n,a).right();_(r,e.text,e.offset);return}if(e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=Te(e);t&&_(r,i.slice(0,a)+t+i.slice(a),a+t.length);return}let o={name:t.backspace?`backspace`:t.delete?`delete`:t.tab?`tab`:e||`unknown`,ctrl:t.ctrl??!1,shift:t.shift??!1,alt:t.meta??!1,meta:t.meta??!1},s=nt(De.fromText(i,n,a),o);if(!s)return;if(s.action===`clear_text`){_(r,``,0);return}_(r,s.cursor.text,s.cursor.offset);return}if(g.type===`select`){t.leftArrow?b():t.rightArrow&&y();return}if(g.type===`toggle`&&e===` `){v(g.id);return}}});let S=o.map(e=>e.label).join(` · `);return J(M,{header:q(w,{children:s}),footer:q(f,{items:[[B.tab,`next`],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{flexDirection:`column`,marginTop:t.tight,children:q(d,{type:`secondary`,dim:!0,children:S})}),q(Y,{flexDirection:`column`,marginTop:t.tight,children:o.map((e,r)=>{let i=u.kind===`field`&&u.index===r,o=e.required?` *`:``;return J(Y,{flexDirection:`column`,marginBottom:t.tight,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:i?a.selection:a.inactive,children:i?tt():be()}),J(X,{bold:i,color:i?a.selection:void 0,children:[e.label,o]})]}),e.type===`text`&&q(Y,{flexDirection:`row`,marginLeft:t.section,children:q(mt,{value:c.strings[e.id]??``,offset:c.offsets[e.id]??0,columns:n-4,mode:`dialog`,focused:i,placeholder:e.placeholder})}),e.type===`select`&&q(Y,{flexDirection:`row`,gap:t.tight,marginLeft:t.section,children:q(X,{dimColor:!i,color:i?a.selection:a.inactive,children:(e.options??[]).map((t,n)=>J(H.Fragment,{children:[i?J(X,{color:c.strings[e.id]===t.id?a.selection:a.inactive,children:[c.strings[e.id]===t.id?`${R.toggleOn} `:`${R.toggleOff} `,t.label]}):q(d,{type:`secondary`,children:t.label}),n<(e.options??[]).length-1&&q(d,{type:`secondary`,children:` · `})]},t.id))})}),e.type===`toggle`&&q(Y,{flexDirection:`row`,marginLeft:t.section,children:J(X,{color:i?a.selection:a.inactive,children:[c.toggles[e.id]?R.check:R.cross,` `,c.toggles[e.id]?`enabled`:`disabled`]})}),![`text`,`select`,`toggle`].includes(e.type)&&q(Y,{flexDirection:`row`,marginLeft:t.section,children:q(d,{type:`secondary`,dim:!0,children:String(c.strings[e.id]??``)||`?`})})]},e.id)})}),J(Y,{flexDirection:`row`,gap:t.tight,marginTop:t.tight,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`prompt.submit`),focused:u.kind===`submit`}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:u.kind===`cancel`})]})]})}function Af({columns:e}){let{state:t}=P(),n=t;return n?q(kf,{component:n.component,columns:e,onAction:n.onAction,onDismiss:n.onDismiss}):null}function jf({onOk:e}){let{state:t}=P(),n=t;return n?q(Ml,{title:n.title,message:n.message,okLabel:n.okLabel,onOk:e}):null}function Mf({onConfirm:e,onCancel:t,onExtra:n}){let{state:r}=P(),i=r,a=G(t);return a.current=t,W(()=>()=>{a.current()},[]),i?q(Ge,{title:i.title,message:i.message,confirmLabel:i.confirmLabel,cancelLabel:i.cancelLabel,confirmColor:i.confirmColor,dangerous:i.dangerous,extraLabel:i.extraLabel,extraColor:i.extraColor,onConfirm:e,onCancel:t,onExtra:i.extraLabel?n:void 0}):null}function Nf(e,t){switch(e){case`warn`:return t.warning;case`error`:return t.error;default:return}}function Pf(e){let t=Date.now()-e,n=Math.floor(t/1e3);if(n<60)return`${n}s ago`;let r=Math.floor(n/60);return r<60?`${r}m ago`:`${Math.floor(r/60)}h ago`}function Ff({req:e,rows:n=24,columns:r=80}){let i=L(),[a,o]=K(0),s=(oe()?.currentPath??`/`)===`/dialog/extension/full-text`,c=e=>{let t=p();t&&(e&&t.currentPath===`/dialog/extension`?t.navigate(`/dialog/extension/full-text`):!e&&t.currentPath===`/dialog/extension/full-text`&&t.goBack())},[l,u]=K(0),[m,h]=K(Da());W(()=>{c(!1),u(0)},[e.fullText]),W(()=>{if(m)return;let e=!0;return Ea().then(()=>{e&&h(Da())}),()=>{e=!1}},[m]);let g=Ft(()=>e.fullText?e.fullText.kind===`plain`?[{id:`plain`,label:`Plain`,lines:e.fullText.content.split(`
60
+ `),wrapMode:`pre-wrap`}]:_c(`${e.fullText.title}.md`,e.fullText.content,r,m):[],[e.fullText,r,m]),_=g[Math.min(l,Math.max(0,g.length-1))],v=_?.lines??[],y=e.panelInfo&&e.onOpenPanel?[...e.actions,{label:V.t(`cmd.extPluginOpenPanelLabel`,{title:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?V.t(t):t})()}),value:`open-panel`,color:`accent`}]:e.actions,b=y.length;yt(`extension-detail-dialog`,(t,n)=>{if(n.escape)return e.onClose(),!0;if(t===`r`&&e.onRefresh)return e.onRefresh(),!0;if(b===0)return!1;if(n.leftArrow)return o(e=>(e-1+b)%b),!0;if(n.rightArrow)return o(e=>(e+1)%b),!0;if(n.return){let t=y[a];return t?t.value===`open-panel`?(e.onOpenPanel?.(),!0):t.value===`view-full-text`?(e.fullText&&c(!0),!0):(e.onAction(t.value),!0):!1}return!1},{isActive:!s});let x=e.healthStats,S=x&&(x.hookTimeouts>0||x.toolTimeouts>0||x.lastError!==void 0),C=[[`← →`,V.t(`hint.select`)],[`Enter`,V.t(`hint.execute`)]];return e.onRefresh&&C.push([`r`,V.t(`cmd.extRefreshHint`)]),C.push([`Esc`,V.t(`hint.close`)]),s&&e.fullText?q(sc,{lines:v,rows:n,columns:r,wrapMode:_?.wrapMode??`pre-wrap`,header:J(Y,{children:[q(X,{color:i.selection,children:e.fullText.title}),g.length>1&&_?q(T,{leadingSpace:!0,children:_.label}):null]}),onDismiss:()=>c(!1),onKey:(e,t)=>e===`]`&&g.length>1?(u(e=>(e+1)%g.length),!0):!1,extraHints:g.length>1?[[`]`,V.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,contentKey:`${e.fullText.title}:${_?.id??``}`}):q(M,{header:q(w,{children:e.title}),footer:q(f,{items:C}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[e.meta||e.metaStatus?J(X,{children:[e.meta?q(X,{dimColor:!0,children:e.meta}):null,e.metaStatus?J(It,{children:[q(X,{dimColor:!0,children:e.meta?` · `:``}),q(X,{color:e.metaStatus.enabled?i.success:i.error,children:e.metaStatus.label})]}):null,e.metaSuffix?J(X,{dimColor:!0,children:[` · `,e.metaSuffix]}):null]}):null,b>0?q(Y,{marginTop:t.tight,children:y.map((e,n)=>q(Y,{marginRight:t.tight,children:q(F,{variant:`solid`,brackets:!0,label:e.label,focused:n===a,color:e.color??`accent`})},e.value))}):null,q(Y,{marginTop:t.tight,flexDirection:`column`,children:e.dataListEntries&&e.dataListEntries.length>0?q(et,{entries:e.dataListEntries}):e.info&&e.info.length>0?e.info.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t)):q(X,{dimColor:!0,children:`(无详情视图)`})}),S&&q(Y,{marginTop:t.tight,children:q(X,{color:i.warning,children:x.lastError?.message?V.t(`cmd.extHealthSummary`,{context:`err`,hookTimeouts:x.hookTimeouts,toolTimeouts:x.toolTimeouts,lastError:x.lastError.message}):V.t(`cmd.extHealthSummary`,{hookTimeouts:x.hookTimeouts,toolTimeouts:x.toolTimeouts})})}),e.logEntries!==void 0&&J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(X,{dimColor:!0,bold:!0,children:V.t(`cmd.extLogSectionTitle`)}),e.logEntries.length===0?q(d,{type:`secondary`,dim:!0,children:V.t(`cmd.extNoLogs`)}):e.logEntries.map((e,t)=>q(X,{color:Nf(e.level,i),wrap:`truncate-end`,children:` ${Pf(e.ts)} ${e.msg}`},t))]})]})})}function If({rows:e,columns:t}){let{state:n}=P(),r=n;return r?q(Ff,{req:r,rows:s(e??24),columns:t}):null}function Lf({rows:e}){let{state:t}=P(),n=t;return n?q(Tl,{req:n,rows:e}):null}function Rf({req:e,rows:t,columns:n,active:r=!0,findActive:i,onFindModeChange:a}){let o=L(),[s,c]=K(0),[l,u]=K(Da());W(()=>{if(l)return;let e=!0;return Ea().then(()=>{e&&u(Da())}),()=>{e=!1}},[l]),W(()=>{c(0)},[e.path]);let d=Ft(()=>_c(e.path,e.content,n,l,e.preTruncated),[e.path,e.content,n,l,e.preTruncated]),f=d[Math.min(s,Math.max(0,d.length-1))];return q(sc,{lines:f?.lines??[],rows:t,columns:n,wrapMode:f?.wrapMode??`pre-wrap`,header:J(Y,{children:[q(X,{color:o.selection,children:e.path}),d.length>1&&f?q(T,{leadingSpace:!0,children:f.label}):null]}),onDismiss:e.onDismiss,onKey:(e,t)=>e===`]`&&d.length>1?(c(e=>(e+1)%d.length),!0):!1,extraHints:d.length>1?[[`]`,V.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,active:r,contentKey:`${e.path}:${f?.id??``}`,findActive:i,onFindModeChange:a})}function zf({rows:e,columns:t}){let{goBack:n,currentPath:r}=ce(),i=h(`/viewer/file`),a=G(!1),o=G(i?.onDismiss);if(o.current=i?.onDismiss,W(()=>()=>{a.current||(a.current=!0,o.current?.())},[]),!i)return null;let s=r===`/viewer/file/find`,c=e=>{let t=p();t&&(e&&t.currentPath===`/viewer/file`?t.navigate(`/viewer/file/find`):!e&&t.currentPath===`/viewer/file/find`&&t.goBack())},l=()=>{a.current=!0,n(),i.onDismiss?.()};return q(Rf,{req:{...i,onDismiss:l},rows:e,columns:t,active:!0,findActive:s,onFindModeChange:c})}function Bf({rows:e,columns:t}){let{goBack:n,currentPath:r}=ce(),i=h(`/viewer/clipboard`)?.content??``,a=H.useMemo(()=>i.split(`
61
+ `),[i]),o=r===`/viewer/clipboard/find`;return q(sc,{lines:a,rows:e,columns:t,wrapMode:`pre-wrap`,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(w,{children:V.t(`clipboard.viewerTitle`)}),q(X,{dimColor:!0,children:V.t(`clipboard.charsLabel`,{count:Array.from(i).length})})]}),onDismiss:n,initialScroll:`top`,active:!0,contentKey:`clipboard`,emptyMessage:V.t(`clipboard.empty`),findActive:o,onFindModeChange:e=>{let t=p();t&&(e&&t.currentPath===`/viewer/clipboard`?t.navigate(`/viewer/clipboard/find`):!e&&t.currentPath===`/viewer/clipboard/find`&&t.goBack())}})}function Vf({req:e,rows:t,columns:n,active:r=!0}){let i=L(),a=(oe()?.currentPath??`/`)===`/viewer/help/find`;return q(sc,{lines:e.lines,rows:t,columns:n,wrapMode:`truncate`,header:q(Y,{children:q(X,{color:i.selection,children:e.title})}),onDismiss:e.onDismiss,initialScroll:`top`,active:r,contentKey:e.title,findActive:a,onFindModeChange:e=>{let t=p();t&&(e&&t.currentPath===`/viewer/help`?t.navigate(`/viewer/help/find`):!e&&t.currentPath===`/viewer/help/find`&&t.goBack())}})}function Hf({rows:e,columns:t}){let{goBack:n}=ce(),r=h(`/viewer/help`),i=G(!1),a=G(r?.onDismiss);if(a.current=r?.onDismiss,W(()=>()=>{i.current||(i.current=!0,a.current?.())},[]),!r)return null;let o=()=>{i.current=!0,n(),r.onDismiss?.()};return q(Vf,{req:{...r,onDismiss:o},rows:e,columns:t,active:!0})}function Uf({onDismiss:e}){let{state:t}=P(),n=t;return n?q(ye,{title:n.title,lines:n.lines,onDismiss:e,action:n.action,lineTones:n.lineTones,dataListEntries:n.dataListEntries}):null}function Wf({title:e,description:n,placeholder:r,mask:i,defaultValue:a,onSubmit:o,onCancel:s,columns:c=60,actionButton:l,onActionButton:u}){let p=L(),{text:m,offset:h,update:g,handleEditing:_}=mf({columns:c,onCommit:()=>o(m)});return W(()=>{a&&g(a,a.length)},[]),O({tabIndex:0,id:`input-field`,onAction:()=>(o(m),!0),onEscape:()=>m.length===0?(s?.(),!0):(g(``,0),!0)}),yt(`input-dialog`,(e,t)=>{if(t.ctrl&&e===`o`&&l&&u){u();return}if(t.escape&&m.length===0){s?.();return}return _(e,t)}),J(M,{header:e?q(w,{children:e}):void 0,footer:q(f,{items:l?[[`Ctrl+O`,l.label],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]:[[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]}),children:[e&&q(Y,{marginTop:t.tight}),n&&n.length>0&&q(Y,{flexDirection:`column`,marginBottom:t.tight,children:n.map((e,t)=>q(X,{color:p.text,wrap:`wrap`,children:e},t))}),q(Y,{flexDirection:`row`,children:q(mt,{value:m,offset:h,columns:c,mode:`dialog`,placeholder:r,mask:i,focused:!0,physicalCursor:!0})}),l&&J(Y,{marginTop:t.tight,flexDirection:`row`,children:[q(d,{type:`secondary`,children:` `}),q(F,{variant:`solid`,brackets:!0,color:`accent`,label:l.label,focused:!1})]})]})}function Gf({onSubmit:e,onCancel:t,onAction:n,columns:r}){let{state:i}=P(),a=i,o=G(t);return o.current=t,W(()=>()=>{o.current()},[]),a?q(Wf,{title:a.title,description:a.description,placeholder:a.placeholder,mask:a.mask,defaultValue:a.defaultValue,columns:Math.min(60,r-ne.borderInset),onSubmit:e,onCancel:t,actionButton:a.actionButton,onActionButton:n}):null}const Kf=[{commandId:`inspector-continue`,description:`Inspector:继续执行`,keyLabel:`c`},{commandId:`inspector-step`,description:`Inspector:单步执行`,keyLabel:`s`},{commandId:`inspector-next`,description:`Inspector:下一节点`,keyLabel:`n`},{commandId:`inspector-out`,description:`Inspector:跳出当前`,keyLabel:`o`},{commandId:`inspector-exit`,description:`Inspector:退出调试`,keyLabel:`x`},{commandId:`background-kill`,description:`后台:终止任务`,keyLabel:`k`},{commandId:`background-view-output`,description:`后台:查看输出`,keyLabel:`o`},{commandId:`background-apply`,description:`后台:应用更改`,keyLabel:`a`},{commandId:`background-switch`,description:`后台:切换面板`,keyLabel:`s`},{commandId:`background-delete`,description:`后台:删除任务`,keyLabel:`d`}];function qf(t){let n=new Map;function r(r,i){for(let a of r){if(n.has(a.commandId))continue;let r=e(a.commandId,a.predicate,t);n.set(a.commandId,{commandId:a.commandId,description:a.description,group:i,defaultPredicate:a.predicate,effectivePredicate:r,isOverridden:!Jf(r,a.predicate),isUnassigned:A(r)})}}return r(ke,`global`),r(fe,`navigation`),[...n.values()]}function Jf(e,t){return e.ctrl===t.ctrl&&e.shift===t.shift&&e.meta===t.meta&&e.input===t.input&&e.key===t.key&&e.upArrow===t.upArrow&&e.downArrow===t.downArrow}function Yf(e,t){if(!t.trim())return[...e];let n=t.toLowerCase();return e.filter(e=>e.commandId.toLowerCase().includes(n)||e.description.toLowerCase().includes(n))}function Xf(e=`project`){return{mode:`list`,searchQuery:``,selectedIndex:0,writeTarget:e}}function Zf(e,t,n,r){let i={state:e,effects:[]};switch(t.type){case`moveUp`:{if(e.mode!==`list`)return i;let t=Math.max(0,e.selectedIndex-1);return{state:{...e,selectedIndex:t},effects:[]}}case`moveDown`:{if(e.mode!==`list`)return i;let t=Math.max(0,n.length-1),r=Math.min(t,e.selectedIndex+1);return{state:{...e,selectedIndex:r},effects:[]}}case`setSearch`:return e.mode===`list`?{state:{...e,searchQuery:t.query,selectedIndex:0},effects:[]}:i;case`startRecording`:{if(e.mode!==`list`)return i;let t=n[e.selectedIndex];return!t||t.group===`reserved`?i:{state:{...e,mode:`recording`,recordingCommandId:t.commandId,pendingConflict:void 0},effects:[]}}case`cancelRecording`:return e.mode===`recording`?{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[]}:i;case`recordKey`:{if(e.mode!==`recording`||!e.recordingCommandId||t.escape)return i;let n=Qf(t);if(!n)return i;let a=y(e.recordingCommandId,n,`*`,r);return a?{state:{...e,pendingConflict:{conflictsWith:a.conflictsWith,newPredicate:n}},effects:[]}:{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[{type:`saveKeybinding`,commandId:e.recordingCommandId,predicate:n}]}}case`confirmConflict`:return e.mode!==`recording`||!e.pendingConflict||!e.recordingCommandId?i:{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[{type:`saveReplaceKeybinding`,actions:[{commandId:e.pendingConflict.conflictsWith,predicate:{}},{commandId:e.recordingCommandId,predicate:e.pendingConflict.newPredicate}]}]};case`cancelConflict`:return e.mode===`recording`?{state:{...e,pendingConflict:void 0},effects:[]}:i;case`close`:return e.mode===`recording`?{state:{...e,mode:`list`,recordingCommandId:void 0,pendingConflict:void 0},effects:[]}:{state:e,effects:[{type:`closePanel`}]};case`resetSingle`:{if(e.mode!==`list`)return i;let t=n[e.selectedIndex];return!t||!t.isOverridden?i:{state:e,effects:[{type:`resetKeybinding`,commandId:t.commandId}]}}case`resetAll`:return e.mode===`list`?{state:e,effects:[{type:`resetAllKeybindings`}]}:i;case`toggleWriteTarget`:return{state:{...e,writeTarget:e.writeTarget===`global`?`project`:`global`},effects:[]};default:return i}}function Qf(e){let t={};if(e.ctrl&&(t.ctrl=!0),e.shift&&(t.shift=!0),e.meta&&(t.meta=!0),e.upArrow)t.upArrow=!0;else if(e.downArrow)t.downArrow=!0;else if(e.return)t.key=`return`;else if(e.tab)t.key=`tab`;else if(e.escape)t.key=`escape`;else if(e.input&&e.input.length>0)t.input=e.input;else return null;return t}function $f(e){if(A(e))return`(未分配)`;let t=[];return e.ctrl&&t.push(`Ctrl`),e.shift&&t.push(`Shift`),e.meta&&t.push(`Meta`),e.upArrow?t.push(`↑`):e.downArrow?t.push(`↓`):e.key===`return`?t.push(`↵`):e.key===`tab`?t.push(`Tab`):e.key===`escape`?t.push(`Esc`):e.input!==void 0&&t.push(e.input.toUpperCase()),t.join(`+`)||`(未分配)`}function ep(e,t){if(!t.upArrow&&!t.downArrow)return[];let n=[];for(let t of fe)t.commandId===e&&(t.predicate.upArrow||t.predicate.downArrow||(t.predicate.input?n.push(t.predicate.input):t.predicate.key===`tab`&&n.push($f(t.predicate))));return n}function tp(e,t){if(e.isOverridden&&!e.isUnassigned)return $f(e.effectivePredicate);let n=ep(e.commandId,e.defaultPredicate);return n.length>0?[$f(e.defaultPredicate),...n].join(` / `):$f(e.defaultPredicate)}function np({overrides:e,onSave:n,onSaveReplace:r,onReset:i,onResetAll:a,onDismiss:o}){let s=L(),[c,l]=K(()=>Xf(`project`)),[u,d]=K(!1),f=Ft(()=>qf(e),[e]),p=Ft(()=>Yf(f,c.searchQuery),[f,c.searchQuery]),m=Nt(t=>{l(s=>{let c=Zf(s,t,p,e);for(let e of c.effects)switch(e.type){case`closePanel`:o();break;case`saveKeybinding`:n(e.commandId,e.predicate,s.writeTarget);break;case`saveReplaceKeybinding`:r(e.actions,s.writeTarget);break;case`resetKeybinding`:i(e.commandId);break;case`resetAllKeybindings`:a();break}return c.state})},[p,e,o,n,r,i,a]);return yt(`keybinding-panel-dialog`,(e,t)=>{if(u){if(t.escape){d(!1);return}if(t.return){m({type:`resetAll`}),d(!1);return}return}if(c.mode===`recording`&&c.pendingConflict){if(t.escape){m({type:`cancelConflict`});return}if(t.return){m({type:`confirmConflict`});return}return}if(c.mode===`recording`){if(t.escape){m({type:`cancelRecording`});return}m({type:`recordKey`,input:e,ctrl:t.ctrl,shift:t.shift,meta:t.meta,upArrow:t.upArrow,downArrow:t.downArrow,return:t.return,escape:t.escape,tab:t.tab});return}if(c.mode===`list`){if(t.escape){c.searchQuery?m({type:`setSearch`,query:``}):m({type:`close`});return}if(t.ctrl&&e===`r`){d(!0);return}if(e===`r`&&!t.ctrl&&!t.meta){m({type:`resetSingle`});return}if(e&&e.length===1&&!t.ctrl&&!t.meta&&/^[a-zA-Z0-9]$/.test(e)){m({type:`setSearch`,query:c.searchQuery+e});return}if(t.delete||e===``&&t.backspace){c.searchQuery.length>0&&m({type:`setSearch`,query:c.searchQuery.slice(0,-1)});return}}}),u?q(M,{header:q(w,{children:`快捷键设置`}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(X,{color:s.warning,children:`确认清空全部快捷键覆盖设置,恢复为默认值?`}),J(Y,{marginTop:t.section,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,label:V.t(`common.genericCancelButton`),focused:!1,color:`gray`}),q(F,{variant:`solid`,brackets:!0,label:V.t(`confirm.reset`),focused:!0,color:`red`})]})]})}):c.mode===`recording`?q(ip,{entries:p,selectedIndex:c.selectedIndex,recordingCommandId:c.recordingCommandId,pendingConflict:c.pendingConflict,searchQuery:c.searchQuery,writeTarget:c.writeTarget}):q(rp,{entries:p,searchQuery:c.searchQuery,writeTarget:c.writeTarget,onEnterRecording:()=>m({type:`startRecording`}),onMoveUp:()=>m({type:`moveUp`}),onMoveDown:()=>m({type:`moveDown`}),onDismiss:o})}function rp({entries:e,searchQuery:t,writeTarget:n,onEnterRecording:r,onDismiss:i}){let a=L(),o=[{group:`global`,label:`全局命令(${e.filter(e=>e.group===`global`).length})`,items:e.filter(e=>e.group===`global`)},{group:`navigation`,label:`列表导航(${e.filter(e=>e.group===`navigation`).length})`,items:e.filter(e=>e.group===`navigation`)},{group:`reserved`,label:`系统保留(${Kf.length})`,items:Kf.map(e=>({commandId:e.commandId,description:e.description,group:`reserved`,defaultPredicate:{},effectivePredicate:{},isOverridden:!1,isUnassigned:!1}))}],s=n===`global`?`全局配置`:`项目配置`;return q(z.Root,{title:`快捷键设置 写入:${s}`,subtitle:t?`搜索:"${t}"`:void 0,onCancel:i,onValueChange:()=>{r()},onKey:(e,t,n)=>!1,footer:J(It,{children:[q(f,{items:[[`${B.up}${B.down}`,`选择`],[B.enter,`修改键位`],[`r`,`重置当前`],[`Ctrl+R`,`全部重置`],[B.esc,`关闭`]]}),`
62
+ `,J(d,{type:`secondary`,dim:!0,children:[`搜索:直接输入字符筛选 · 写入目标:`,s,`(按 t 切换)`]})]}),children:q(z.Content,{children:o.map(e=>J(z.Group,{children:[q(z.Label,{children:e.label}),e.group===`reserved`?Kf.map(e=>q(z.Item,{value:e.commandId,disabled:!0,trailingLabel:e.keyLabel,trailingColor:a.inactive,children:e.description},e.commandId)):e.items.map(e=>{let t=tp(e,void 0),n=e.isOverridden&&!e.isUnassigned,r=e.isUnassigned;return q(z.Item,{value:e.commandId,trailingLabel:r?`(未分配)`:t,trailingColor:n?a.warning:void 0,labelColor:n?a.warning:void 0,children:e.description},e.commandId)})]},e.group))})})}function ip({entries:e,selectedIndex:n,recordingCommandId:r,pendingConflict:i,searchQuery:a,writeTarget:o}){let s=L(),c=o===`global`?`全局配置`:`项目配置`,l=i?e.find(e=>e.commandId===i.conflictsWith):void 0;return q(M,{header:q(w,{children:`快捷键设置 写入:${c}`}),footer:q(f,{items:i?[[B.enter,`确认替换`],[B.esc,`取消`]]:[[B.esc,`取消录制`]]}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[a&&J(d,{type:`secondary`,dim:!0,children:[`搜索:"`,a,`"`]}),i&&J(Y,{marginBottom:t.tight,children:[J(X,{color:s.error,children:[`与『`,l?.description??i.conflictsWith,`』冲突——替换后该命令将无键位,需手动重新分配`]}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,label:V.t(`confirm.replace`),focused:!0,color:`red`}),q(F,{variant:`solid`,brackets:!0,label:V.t(`common.genericCancelButton`),focused:!1,color:`gray`})]})]}),e.map((e,t)=>{let i=e.commandId===r,a=tp(e,void 0),o=e.isOverridden&&!e.isUnassigned,c=t===n,l=c?tt():be();return q(Y,{flexDirection:`column`,children:J(Y,{flexDirection:`row`,children:[J(X,{color:i?s.accent:c?s.selection:o?s.warning:void 0,bold:c,children:[l,e.description]}),q(d,{type:`secondary`,children:` `}),q(X,{color:i?s.accent:o?s.warning:s.inactive,children:i?`按下新键位…(Esc 取消)`:e.isUnassigned?`(未分配)`:a})]})},e.commandId)}),q(Y,{marginTop:t.section,children:J(d,{bold:!0,type:`secondary`,children:[`系统保留(`,Kf.length,`,不可修改)`]})}),Kf.map(e=>J(Y,{flexDirection:`row`,children:[J(d,{type:`secondary`,dim:!0,children:[` `,e.description]}),q(d,{type:`secondary`,children:` `}),q(d,{type:`secondary`,dim:!0,children:e.keyLabel})]},e.commandId))]})})}function ap({onDismiss:e}){let{state:t}=P(),n=t;return n?q(np,{overrides:n.overrides,onSave:n.onSave,onSaveReplace:n.onSaveReplace,onReset:n.onReset,onResetAll:n.onResetAll,onDismiss:e}):null}function op({onDismiss:e,rows:t,columns:n}){let{state:r}=P(),i=r;return i?q(yl,{projectIndex:i.projectIndex,userIndex:i.userIndex,onViewEntry:i.onViewEntry,onForget:i.onForget,onDismiss:e,rows:t,columns:n}):null}const sp=new class{closeListeners=new Set;crashedListeners=new Set;hintListeners=new Set;requestClose(){for(let e of this.closeListeners)e()}onCloseRequest(e){return this.closeListeners.add(e),()=>{this.closeListeners.delete(e)}}reportCrashed(){for(let e of this.crashedListeners)e()}onCrashed(e){return this.crashedListeners.add(e),()=>{this.crashedListeners.delete(e)}}setHint(e){for(let t of this.hintListeners)t(e)}onHintChange(e){return this.hintListeners.add(e),()=>{this.hintListeners.delete(e)}}};function cp(){return!0}var lp=class extends H.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){sp.reportCrashed()}render(){return this.state.error?J(X,{color:I.error,children:[`Panel crashed: `,this.state.error.message]}):this.props.children}};function up(){let[e,t]=H.useState(null),n=H.useRef(!0);return H.useEffect(()=>{n.current=!0;let e=e=>{n.current&&(t(e instanceof Error?e.message:String(e)),sp.reportCrashed())};return process.on(`unhandledRejection`,e),()=>{n.current=!1,process.removeListener(`unhandledRejection`,e)}},[]),{asyncError:e}}function dp({panelInfo:e}){let t=L(),[n,r]=H.useState(null),[i,a]=H.useState(null),{asyncError:o}=up();return H.useEffect(()=>(globalThis.__ottoCurrentPanelPluginId=e.pluginId,()=>{delete globalThis.__ottoCurrentPanelPluginId}),[e.pluginId]),H.useEffect(()=>{let t=!1;return import(e.modulePath).then(n=>{if(t)return;let i=e.exportName===`default`?n.default||n:n[e.exportName];if(!i||typeof i!=`function`){a(`Panel export "${e.exportName}" not found or not a component`),sp.reportCrashed();return}r(()=>i)}).catch(e=>{t||(a(e instanceof Error?e.message:String(e)),sp.reportCrashed())}),()=>{t=!0}},[e.modulePath,e.exportName]),i?J(X,{color:t.error,children:[`Panel error: `,i]}):o?J(X,{color:t.error,children:[`Panel crashed (possibly related async error): `,o]}):n?q(lp,{children:q(n,{})}):q(X,{dimColor:!0,children:`Loading…`})}function fp({req:e}){W(()=>sp.onCloseRequest(()=>e.onClose()),[]);let[n,r]=K(void 0);W(()=>(r(void 0),sp.onHintChange(e=>r(e))),[e.panelInfo.modulePath]);let[i,a]=K(!1);W(()=>(a(!1),sp.onCrashed(()=>a(!0))),[e.panelInfo.modulePath]),yt(`plugin-panel-dialog`,(t,n)=>{n.escape&&e.onClose()},{isActive:i});let o=Array.isArray(n)?q(f,{items:n}):n??q(f,{items:[[`Esc`,V.t(`hint.close`)]]});return q(M,{header:q(w,{children:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?V.t(t):t})()}),footer:o,children:q(Y,{marginTop:t.tight,flexDirection:`column`,children:q(dp,{panelInfo:e.panelInfo})})})}function pp(){let{state:e}=P(),t=e;return t?q(fp,{req:t}):null}const mp=/^(bash|shell|run_command|execute|exec)/i;function hp(){let{state:e}=P(),t=Zl(),n=e;return n?mp.test(n.tool)?q(jl,{command:n.input,risk:n.risk??`medium`,description:n.description,alwaysAllowLabel:n.alwaysAllowLabel,onApprove:e=>t.onPermissionDecision?.(n.id,!0,e),onDeny:()=>t.onPermissionDecision?.(n.id,!1)}):q(Dl,{tool:n.tool,input:n.input,risk:n.risk??`medium`,onApprove:e=>t.onPermissionDecision?.(n.id,!0,e),onDeny:()=>t.onPermissionDecision?.(n.id,!1)}):null}function gp(){let{state:e}=P(),{navigate:t}=ce(),n=e;return n?q(st,{title:n.title,phases:n.stages??n.phases,phaseIndex:n.phaseIndex??0,phaseStatuses:n.phaseStatuses??[],percent:n.percent??0,detail:n.detail??``,status:n.status??`running`,errorMessage:n.errorMessage,subProgress:n.subProgress,nextStep:n.nextStep,onDismiss:()=>{n.onDismiss?.(),t(`/`,{reset:!0})}}):null}function _p({onSubmit:e,onCancel:t}){let{state:n}=P(),r=n;return r?q(Nl,{title:r.title,message:r.message,placeholder:r.placeholder,initialValue:r.initialValue,submitLabel:r.submitLabel,cancelLabel:r.cancelLabel,onSubmit:e,onCancel:t}):null}function vp({onSubmit:e,onCancel:t,columns:n}){let{state:r}=P(),i=r,a=G(t);return a.current=t,W(()=>()=>{a.current()},[]),i?q(Ze,{title:i.title,questions:i.questions,columns:Math.min(60,n-ne.borderInset),onSubmit:e,onCancel:t}):null}function yp({title:e,subtitle:r,subtitleTone:i=`default`,options:a,maxVisible:o=10,searchable:s=!1,layout:c=`list`,onSelect:l,onCancel:u,subtitleActions:p,columns:m=60,rows:h=24,detailPlacement:g=`below`,initialFilter:v=``,onFilterChange:y,onHighlight:b,defaultSelectedValue:x}){let S=L(),T=c===`buttons`,E=c===`tabs`,D=!!p&&p.length>0&&!T&&!E,k=oe(),[ee,te]=K(v),[A,ne]=K(v.length),j=(e,t)=>{te(e),ne(t),y?.(e)},[re,N]=K(()=>D&&!a.some(e=>!e.disabled)?0:null),[ie,P]=K(s?`search`:`list`),ae=Ft(()=>s?ee===``?a:$t(a,ee):a,[s,ee,a]),se=G(null);if(!se.current||se.current.options!==ae){let e=Je(ae,{maxVisible:o});if(x){let t=ae.findIndex(e=>e.value===x);t>=0&&e.selectByIndex(t)}se.current={options:ae,state:e}}let ce=se.current.state,[,le]=K(0),ue=()=>{le(e=>e+1);let e=ce.getSelected();e&&b?.(e.value)};H.useEffect(()=>{let e=ce.getSelected();e&&b?.(e.value)},[]);let de=()=>{P(`list`),N(null),k?.focus(`select-list`)},fe=()=>{P(`search`),N(null),k?.focus(`select-search`)},pe=e=>{P(`list`),N(e)},{focused:me}=O({tabIndex:0,id:`select-search`,disabled:!s,onAction:()=>{if(ee)de();else{let e=ce.accept();e&&!e.disabled&&l(e.value)}return!0}}),{focused:he}=O({tabIndex:1,id:`select-list`,onAction:()=>{if(re!==null&&D)l(p[re].value);else{let e=ce.accept();e&&!e.disabled&&l(e.value)}return!0}}),ge=G(null),_e=G(!0);H.useEffect(()=>{let e=me?`search`:he?`list`:null;e!==null&&e!==ge.current&&(_e.current?_e.current=!1:(P(e),N(null))),ge.current=e},[me,he]);let ve=()=>{for(let e=ae.length-1;e>=0;e--)if(!ae[e]?.disabled){ce.selectByIndex(e);return}},ye=()=>{for(let e=0;e<ae.length;e++)if(!ae[e]?.disabled){ce.selectByIndex(e);return}};yt(`select-dialog`,(e,t)=>{if(s&&ie===`search`&&e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=Te(e);t&&j(ee.slice(0,A)+t+ee.slice(A),A+t.length);return}if(s&&re===null&&ie===`search`){if(t.upArrow){D?pe(p.length-1):(de(),ve(),ue());return}if(t.downArrow){de(),ye(),ue();return}if(t.leftArrow){let e=De.fromText(ee,m,A).left();j(e.text,e.offset);return}if(t.rightArrow){let e=De.fromText(ee,m,A).right();j(e.text,e.offset);return}if(!t.return&&!t.tab){let n={name:t.return?`return`:t.escape?`escape`:t.backspace?`backspace`:t.delete?`delete`:t.tab?`tab`:e||`unknown`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},r=nt(De.fromText(ee,m,A),n);if(r){if(r.action===`clear_text`){j(``,0);return}if(!(r.action===`submit`||r.action===`submit_force`)){j(r.cursor.text,r.cursor.offset);return}}}}if((T||E)&&(t.leftArrow||t.rightArrow)){t.leftArrow?ce.moveUp():ce.moveDown(),ue();return}if(D&&re!==null&&(t.leftArrow||t.rightArrow)){let e=p.length-1;N(t.leftArrow?Math.max(0,re-1):Math.min(e,re+1));return}if(s&&re===null&&ie===`search`&&(t.upArrow||t.downArrow))return;let n=rt(e,t);if(n)switch(n.type){case`cancel`:u?.();return;case`up`:if(s&&ie===`search`)return;if(re!==null){if(re>0){N(re-1);return}s&&fe();return}{let e=ce.selectedIndex;if(ce.moveUp(),ce.selectedIndex===e){if(s){fe();return}if(D){pe(p.length-1);return}}}ue();return;case`down`:if(s&&ie===`search`)return;if(re!==null){if(re<p.length-1){N(re+1);return}s?fe():(de(),ye(),ue());return}{let e=ce.selectedIndex;if(ce.moveDown(),ce.selectedIndex===e&&s){fe();return}}ue();return;case`index`:{re!==null&&N(null),ce.selectByIndex(n.index);let e=ce.getSelected();e&&!e.disabled&&l(e.value);return}case`accept`:{let e=ce.accept();e&&!e.disabled&&l(e.value);return}}});let xe=G(0),Ce=Ft(()=>_t(ae,g),[ae,g]),we=Ft(()=>g===`inline`?Math.max(0,...ae.map(e=>ut(e.label))):0,[g,ae]),Ee=Ft(()=>g===`inline`?Math.max(0,...ae.map(e=>ut(e.trailingLabel??``))):0,[g,ae]),ke=T||E?1/0:s?n(o+9,h)-9:n(Ce.length+9,h)-9,Ae=Se(Ce,ce.selectedIndex,ke,xe.current);xe.current=Ae.scrollTop;let je=ae[ce.selectedIndex]??null;return J(M,{header:J(It,{children:[e&&q(w,{children:e}),e&&r&&q(Y,{marginTop:t.tight}),r&&D?J(Y,{flexDirection:`row`,alignSelf:`flex-start`,...Oe,borderColor:S.accent,paddingX:t.tight,children:[J(X,{color:i===`warning`?S.warning:S.accent,children:[r,` `]}),p.map((e,t)=>J(H.Fragment,{children:[t>0&&J(d,{type:`secondary`,children:[` `,V.t(`common.wordOr`),` `]}),q(F,{variant:`ghost`,brackets:!0,color:i===`warning`?`amber`:`accent`,label:e.label,focused:re===t,tabIndex:-1})]},e.value))]}):r&&q(X,{color:i===`warning`?S.warning:S.inactive,children:r})]}),footer:q(f,{items:T||E?[[`${B.left}${B.right}`,V.t(`hint.select`)],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.confirm`)],[B.esc,`${s?V.t(`select.clearHint`):``}${V.t(`hint.cancel`)}`],...s?[[`Tab`,V.t(`hint.switch`)]]:[]]}),children:[e&&!r&&q(Y,{marginTop:t.tight}),s&&J(Y,{flexDirection:`row`,marginBottom:t.tight,marginTop:r?t.tight:t.none,children:[q(d,{type:`secondary`,children:`/ `}),q(mt,{value:ee,offset:A,columns:m,mode:`dialog`,noPrefix:!0,placeholder:V.t(`select.filterPlaceholder`),focused:re===null&&ie===`search`,tabIndex:-1})]}),s&&ee!==``&&ae.length===0&&q(Y,{marginBottom:t.tight,children:J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`select.noMatches`)]})}),s&&ee!==``&&ae.length>0&&q(Y,{children:J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`select.matchCount`,{count:ae.length})]})}),T&&q(Y,{flexDirection:`row`,gap:t.section,marginTop:t.tight,children:ae.map((e,t)=>q(F,{variant:`solid`,brackets:!0,color:e.color??(t===0?`accent`:`gray`),label:e.label,focused:e===je&&(s?ie===`list`:!0),disabled:e.disabled},e.value))}),E&&J(Y,{flexDirection:`column`,marginTop:t.tight,children:[q(Pd,{items:ae.map(e=>({key:e.value,label:e.label,disabled:e.disabled})),activeKey:je?.value??``,availableWidth:m-4}),je&&J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(X,{color:S.text,children:je.label}),je.detail&&q(Y,{marginTop:Math.floor(t.tight/2),children:q(d,{type:`secondary`,dim:!0,children:je.detail})})]})]}),!T&&!E&&q(Y,{height:1,children:q(_,{hasMore:Ae.hasMoreAbove})}),!T&&!E&&Ae.rows.map((e,t)=>{if(e.kind===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.kind===`divider`)return q(Y,{flexDirection:`column`,children:q(bt,{label:e.label,indent:` `})},`div-${t}`);let n=e.option;if(e.kind===`detail`)return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(d,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:[` `,n.detail]})]},`detail-${e.optionIndex}`);let r=n===je,i=re===null&&(s?ie===`list`:!0),a=r&&i,o=g===`inline`&&(n.detail||n.trailingLabel),c=o?`${vt(n.label,we)} ${vt(n.trailingLabel??``,Ee)}${n.detail?` ${n.detail}`:``}`:n.label;return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(X,{color:n.disabled?S.inactive:a?S.selection:S.inactive,dimColor:n.disabled||r&&!i,bold:a&&!n.disabled,children:[r&&!n.disabled?tt():be(),c,n.disabled?` (${V.t(`common.disabled`)})`:``]}),n.trailingLabel&&!o&&J(It,{children:[q(d,{type:`secondary`,children:` `}),q(X,{color:n.trailingColor??S.inactive,dimColor:!n.trailingColor,children:n.trailingLabel})]})]},`item-${e.optionIndex}`)}),!T&&!E&&Array.from({length:Ae.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),!T&&!E&&q(Y,{height:1,children:q(C,{hasMore:Ae.hasMoreBelow})})]})}function bp({onSelect:e,onCancel:t,rows:n}){let{state:r}=P(),i=r;return i?q(yp,{title:i.title,subtitle:i.subtitle,options:i.options??[],maxVisible:i.maxVisible,searchable:i.searchable,rows:n,layout:i.layout,subtitleActions:i.subtitleActions,detailPlacement:i.detailPlacement,initialFilter:i.initialFilter,onFilterChange:i.onFilterChange,onHighlight:i.onHighlight,defaultSelectedValue:i.defaultSelectedValue,onSelect:e,onCancel:t}):null}const xp=/^[A-Za-z0-9_-]+$/;function Sp({shortcuts:e,onSave:t,onDelete:n,onDismiss:r}){let[i,a]=K(e),[o,s]=K({mode:`list`});return o.mode===`confirm-delete`?q(Op,{entry:o.entry,onConfirm:()=>{let e=o.entry.name;n(e),a(t=>t.filter(t=>t.name!==e)),s({mode:`list`})},onCancel:()=>s({mode:`list`})}):o.mode===`form`?q(Dp,{editing:o.editing,existingNames:i.map(e=>e.name),onSave:(e,n)=>{let r=o.editing?.name;t(e,n,r),a(t=>[...(r?t.filter(e=>e.name!==r):t).filter(t=>t.name!==e),{name:e,text:n}]),s({mode:`list`})},onCancel:()=>s({mode:`list`})}):q(Cp,{shortcuts:i,onNew:()=>s({mode:`form`}),onEdit:e=>s({mode:`form`,editing:e}),onDeleteRequest:e=>s({mode:`confirm-delete`,entry:e}),onDismiss:r})}function Cp({shortcuts:e,onNew:n,onEdit:r,onDeleteRequest:i,onDismiss:a}){let o=new Map(e.map(e=>[e.name,e]));return e.length===0?J(M,{header:q(w,{children:V.t(`cmd.titleShortcuts`)}),footer:q(f,{items:[[`n`,V.t(`cmd.shortcutsPanelHintNew`)],[B.esc,V.t(`hint.close`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.shortcutsPanelEmptyHint`)})}),q(wp,{onNew:n,onDismiss:a})]}):q(z.Root,{title:`${V.t(`cmd.titleShortcuts`)} ${V.t(`cmd.shortcutsPanelListHint`)}(${e.length})`,onCancel:a,onKey:(e,t,r)=>{if(e===`n`)return n(),!0;if(e===`d`&&r){let e=o.get(r.value);return e&&i(e),!0}return!1},onValueChange:e=>{let t=o.get(e);t&&r(t)},footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`cmd.shortcutsPanelHintEdit`)],[`n`,V.t(`cmd.shortcutsPanelHintNew`)],[`d`,V.t(`cmd.shortcutsPanelHintDelete`)],[B.esc,V.t(`hint.close`)]]}),children:q(z.Content,{children:q(z.Group,{children:e.map(e=>q(z.Item,{value:e.name,detail:Tp(e.text),marker:`number`,children:`@${e.name}`},e.name))})})})}function wp({onNew:e,onDismiss:t}){return yt(`shortcuts-panel`,(n,r)=>{if(r.escape){t();return}n===`n`&&e()}),null}function Tp(e,t=40){let n=e.trim().split(`
63
+ `)[0].replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}const Ep=[`name`,`text`,`save`,`cancel`];function Dp({editing:e,existingNames:n,onSave:r,onCancel:i}){let a=L(),[o,s]=K(e?.name??``),[c,l]=K(o.length),[u,p]=K(e?.text??``),[m,h]=K(u.length),[g,_]=K(`name`),[v,y]=K(null),b=e=>{_(Ep[(Ep.indexOf(g)+e+Ep.length)%Ep.length])},x=()=>{let t=o.trim();return!t||!xp.test(t)?V.t(`cmd.shortcutsPanelNameInvalid`):n.some(n=>n===t&&n!==e?.name)?V.t(`cmd.shortcutsPanelNameDuplicate`):u.trim()?null:V.t(`cmd.shortcutsPanelTextEmpty`)},S=()=>{let e=x();if(e){y(e);return}r(o.trim(),u)};return yt(`shortcuts-panel-2`,(e,t)=>{if(t.escape){i();return}if(t.tab){b(t.shift?-1:1);return}if(g===`save`||g===`cancel`){if(t.leftArrow||t.rightArrow){let e=te(t);e!==0&&b(e);return}if(t.return){g===`save`?S():i();return}return}let n=g===`name`,r=n?o:u,a=n?c:m,d=(e,t)=>{y(null),n?(s(e),l(t)):(p(e),h(t))};if(t.return&&n){_(`text`);return}if(t.leftArrow){let e=De.fromText(r,60,a).left();d(e.text,e.offset);return}if(t.rightArrow){let e=De.fromText(r,60,a).right();d(e.text,e.offset);return}if(e.length>1&&!t.ctrl&&!t.meta&&!t.return&&!t.escape&&!t.backspace&&!t.delete&&!t.tab&&!t.upArrow&&!t.downArrow&&!t.leftArrow&&!t.rightArrow){let t=Te(e);t&&d(r.slice(0,a)+t+r.slice(a),a+t.length);return}let f={name:t.backspace?`backspace`:t.delete?`delete`:e||`unknown`,ctrl:t.ctrl??!1,shift:t.shift??!1,alt:t.meta??!1,meta:t.meta??!1},v=nt(De.fromText(r,60,a),f);if(v){if(v.action===`clear_text`){d(``,0);return}if(v.action===`submit`||v.action===`submit_force`){n||S();return}d(v.cursor.text,v.cursor.offset)}}),J(M,{header:q(w,{children:e?V.t(`cmd.shortcutsPanelEditTitle`,{name:e.name}):V.t(`cmd.shortcutsPanelNewTitle`)}),footer:q(f,{items:[[B.tab,V.t(`hint.quick`)],[B.enter,V.t(`hint.confirm`)],[B.esc,V.t(`hint.cancel`)]]}),children:[J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(d,{type:`secondary`,children:V.t(`cmd.shortcutsPanelNameLabel`)}),J(Y,{flexDirection:`row`,children:[q(d,{type:`secondary`,children:`@`}),q(mt,{value:o,offset:c,columns:60,mode:`dialog`,focused:g===`name`})]})]}),J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(d,{type:`secondary`,children:V.t(`cmd.shortcutsPanelTextLabel`)}),q(mt,{value:u,offset:m,columns:60,mode:`dialog`,maxVisibleLines:6,focused:g===`text`})]}),v&&q(Y,{marginTop:t.tight,children:q(X,{color:a.error,children:v})}),J(Y,{marginTop:t.section,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`hint.confirm`),focused:g===`save`}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:g===`cancel`})]})]})}function Op({entry:e,onConfirm:n,onCancel:r}){let i=L(),[a,o]=K(0);return yt(`shortcuts-panel-3`,(e,t)=>{if(t.escape){r();return}if(t.leftArrow||t.rightArrow||t.tab){let e=te(t);e!==0&&o(t=>D(t,e,2));return}t.return&&(a===1?n():r())}),q(M,{header:q(w,{children:V.t(`cmd.shortcutsPanelConfirmDeleteTitle`)}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(X,{color:i.warning,children:V.t(`cmd.shortcutsPanelConfirmDeleteMessage`,{name:e.name})}),J(Y,{marginTop:t.section,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,label:V.t(`common.genericCancelButton`),focused:a===0,color:`gray`}),q(F,{variant:`solid`,brackets:!0,label:V.t(`hint.delete`),focused:a===1,color:`red`})]})]})})}function kp({onDismiss:e}){let{state:t}=P(),n=t;return n?q(Sp,{shortcuts:n.bindings,onSave:n.onSave,onDelete:n.onDelete,onDismiss:e}):null}const Ap=[`en`,`zh`,`auto`];function jp({step:e}){let n=[V.t(`onboarding.stepName`),V.t(`onboarding.stepLang`)];return J(Y,{flexDirection:`row`,marginBottom:t.tight,children:[n.map((t,n)=>J(H.Fragment,{children:[n>0&&q(d,{type:`secondary`,children:` · `}),n<e?q(d,{type:`success`,children:`${R.check} ${t}`}):n===e?q(d,{type:`accent`,bold:!0,children:`${R.statusDot} ${t}`}):q(d,{type:`secondary`,children:`${R.todoPending} ${t}`})]},n)),q(Y,{marginLeft:t.section,children:q(d,{type:`secondary`,children:V.t(`onboarding.stepCounter`,{current:e+1,total:2})})})]})}function Mp({columns:e,onComplete:n,onLanguagePreview:r}){let[i,a]=K(0),[o,s]=K(``),[c,l]=K(0),[u,p]=K(2),[m,h]=K({}),g=Nt(e=>{let t={...m,...e};if(h(t),i>=1){n(t);return}a(i+1)},[i,m,n]),_=Nt(()=>{i>0&&a(i-1)},[i]);yt(`onboarding-dialog`,(t,n)=>{if(n.escape)return g({}),!0;if(i>0&&n.leftArrow)return _(),!0;if(i!==0)return!1;if(n.return)return g(o.trim()?{nickname:o.trim()}:{}),!0;if(t.length>1&&!n.ctrl&&!n.meta&&!n.return&&!n.escape&&!n.backspace&&!n.delete&&!n.tab&&!n.upArrow&&!n.downArrow&&!n.leftArrow&&!n.rightArrow){let e=Te(t);return e&&(s(o.slice(0,c)+e+o.slice(c)),l(c+e.length)),!0}let r={name:n.return?`return`:n.backspace?`backspace`:n.delete?`delete`:n.tab?`tab`:t||`unknown`,ctrl:n.ctrl??!1,shift:!1,alt:n.meta??!1,meta:n.meta??!1},a=nt(De.fromText(o,e,c),r);return a?a.action===`submit`||a.action===`submit_force`?(g(o.trim()?{nickname:o.trim()}:{}),!0):(s(a.cursor.text),l(a.cursor.offset),!0):!1});let v=()=>i===0?J(It,{children:[q(w,{children:V.t(`onboarding.nameQuestion`)}),q(d,{type:`secondary`,children:V.t(`onboarding.nameDesc`)}),q(Y,{marginTop:t.tight,flexDirection:`row`,children:q(mt,{value:o,offset:c,columns:e,mode:`dialog`,placeholder:V.t(`onboarding.namePlaceholder`),focused:!0,physicalCursor:!0})})]}):J(It,{children:[q(w,{children:V.t(`onboarding.langQuestion`)}),q(d,{type:`secondary`,children:V.t(`onboarding.langFootnote`)}),q(Y,{marginTop:t.tight,children:J(ve.Root,{activeIndex:u,onActiveChange:p,onPick:e=>{let t=Ap[e];r?.(t),g({language:t})},children:[q(ve.Item,{label:`English (en)`}),q(ve.Item,{label:`中文 (zh)`}),q(ve.Item,{label:V.t(`onboarding.langAuto`)})]})})]}),y=i===0?[[B.enter,V.t(`onboarding.hintNext`)],[B.esc,V.t(`onboarding.hintSkip`)]]:[[`${B.up}${B.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`onboarding.hintQuick`)],[B.enter,i>=1?V.t(`onboarding.hintDone`):V.t(`onboarding.hintNext`)],[B.left,V.t(`onboarding.hintBack`)],[B.esc,V.t(`onboarding.hintSkip`)]];return q(M,{header:q(jp,{step:i}),footer:q(f,{items:y}),children:v()})}function Np({onComplete:e,columns:t}){let{state:n}=P(),r=n,i=G(e);return i.current=e,W(()=>()=>{i.current({})},[]),q(Mp,{columns:Math.min(60,t-ne.borderInset),onComplete:e,onLanguagePreview:r?.onLanguagePreview})}function Pp(){let{state:e}=P();return e?q(ft,{request:e}):null}function Fp(e){let{onAlertResolve:t,onConfirmResolve:n,onPromptResolve:r,onInputResolve:i,onInputAction:a,onQuestionsResolve:o,onOnboardingResolve:s,onSelectResolve:c,onInfoDismiss:l,onMemoryDismiss:u,onKeybindingPanelDismiss:d,onShortcutsDialogDismiss:f}=Zl();return J(It,{children:[q(j,{path:`/dialog/alert`,element:q(jf,{onOk:()=>t?.()})}),q(j,{path:`/dialog/confirm`,element:q(Mf,{onConfirm:()=>n?.(!0),onCancel:()=>n?.(!1),onExtra:()=>n?.(!1,!0)})}),q(j,{path:`/dialog/prompt`,element:q(_p,{onSubmit:e=>r?.(e),onCancel:()=>r?.(null)})}),q(j,{path:`/dialog/input`,element:q(Gf,{onSubmit:e=>i?.(e),onCancel:()=>i?.(null),onAction:a,columns:e.columns})}),q(j,{path:`/dialog/questions`,element:q(vp,{onSubmit:(e,t)=>o?.(e,t),onCancel:()=>o?.(null),columns:e.columns})}),q(j,{path:`/dialog/info`,element:q(Uf,{onDismiss:()=>l?.()})}),q(j,{path:`/dialog/memory`,element:q(op,{onDismiss:()=>u?.(),rows:e.rows,columns:e.columns})}),q(j,{path:`/dialog/select`,element:q(bp,{onSelect:e=>c?.(e),onCancel:()=>c?.(null),rows:e.rows})}),q(j,{path:`/dialog/wizard`,element:q(Pp,{})}),q(j,{path:`/dialog/onboarding`,element:q(Np,{onComplete:e=>s?.(e),columns:e.columns})}),q(j,{path:`/dialog/a2ui-form`,element:q(Af,{columns:e.columns})}),q(j,{path:`/dialog/progress`,element:q(gp,{})}),q(j,{path:`/dialog/keybindings`,element:q(ap,{onDismiss:()=>d?.()})}),q(j,{path:`/dialog/shortcuts`,element:q(kp,{onDismiss:()=>f?.()})}),q(j,{path:`/viewer/file`,prefix:!0,element:q(zf,{rows:e.rows,columns:e.columns})}),q(j,{path:`/viewer/clipboard`,prefix:!0,element:q(Bf,{rows:e.rows,columns:e.columns})}),q(j,{path:`/viewer/help`,prefix:!0,element:q(Hf,{rows:e.rows,columns:e.columns})}),q(j,{path:`/dialog/extension`,prefix:!0,element:q(If,{rows:e.rows,columns:e.columns})}),q(j,{path:`/dialog/extensions`,element:q(Lf,{rows:e.rows})}),q(j,{path:`/dialog/plugin-panel`,element:q(pp,{})}),q(j,{path:`/dialog/permission`,element:q(hp,{})})]})}function Ip({req:e,rows:t,columns:n,active:r=!0}){let i=L();return q(sc,{lines:Ft(()=>e.content.split(`
64
+ `),[e.content]),rows:t,columns:n,wrapMode:`pre-wrap`,header:q(Y,{children:q(X,{color:i.selection,children:e.label})}),onDismiss:e.onDismiss,initialScroll:`top`,active:r,contentKey:e.label})}function Lp(e){let t=Zl(),{stdout:n}=Wt(),{taskStore:r,notificationStore:i}=Gl(),a=Z(i.store,e=>e.notifications),o=Z(r.store,e=>e.queued),{stack:s}=ce(),c=e=>s.some(t=>t.path===e);return J(It,{children:[q(Of,{focusOwner:e.routeDerivedOwner,pasteContent:c(`/overlay/paste-confirm`)?e.pasteContent:null,onPasteConfirm:e.handlePasteConfirm,onPasteCancel:e.handlePasteCancel,notifications:a,rows:e.rows,columns:e.columns}),q(Fp,{columns:e.columns,rows:e.rows}),e.chipContentViewerRequest&&c(`/overlay/chip-viewer`)&&q(j,{path:`/overlay/chip-viewer`,inStack:!0,element:q(Ip,{req:e.chipContentViewerRequest,rows:n?.rows??e.rows,columns:e.columns,active:c(`/overlay/chip-viewer`)})}),e.queueCloseConfirm&&q(Ge,{title:V.t(`queue.exitTitle`),message:V.t(`queue.exitMessage`).replace(`%d`,String(o.length)),confirmLabel:V.t(`queue.exitConfirm`),checkLabel:V.t(`common.dontRemind`),checked:e.queueEscSuppress,onCheckChange:e.setQueueEscSuppress,onConfirm:()=>{e.setQueueCloseConfirm(!1),t.onToggleQueuePane?.()},onCancel:()=>e.setQueueCloseConfirm(!1)}),e.interruptConfirm&&q(Ge,{title:V.t(`agent.interruptTitle`),message:V.t(`agent.interruptMessage`),confirmLabel:V.t(`agent.interruptConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{e.setInterruptConfirm(!1),t.onInterrupt?.()},onCancel:()=>e.setInterruptConfirm(!1)}),e.popQueuedConfirm&&q(Ge,{title:V.t(`queue.popTitle`),message:V.t(`queue.popMessage`),confirmLabel:V.t(`queue.popConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{e.setPopQueuedConfirm(!1),t.onPopQueued?.()},onCancel:()=>e.setPopQueuedConfirm(!1)})]})}function Rp({exec:e,maxLines:t=8,totalLines:n,onCopyOutput:r,onAskAi:i,onAbort:a,onDismiss:o,onViewFullOutput:s,active:c=!0}){let l=L(),u=e.status===`running`,p=e.terminated||e.exitCode===null,m=!u&&(e.terminated===!0||e.exitCode!==0);yt(`shell-pane`,(t,n)=>n.escape?(u&&a?.(),o?.(),!0):t===`v`&&!n.ctrl&&!n.meta&&!u?(s?.({command:e.command,output:e.output,isError:e.terminated===!0||e.exitCode!==0}),!0):t===`c`&&!n.ctrl&&!n.meta&&!u?(r?.(),!0):t===`a`&&!n.ctrl&&!n.meta&&m?(i?.(),o?.(),!0):!1,{isActive:c});let h=G(c);W(()=>{h.current&&!c&&(u&&a?.(),o?.()),h.current=c},[c,u,a,o]);let g=u?l.accent:p?l.error:e.exitCode===0?l.success:l.error,_=u?V.t(`shell.running`):e.terminated?V.t(`shell.terminated`):e.exitCode===null?V.t(`shell.errored`):V.t(`shell.exit`,{code:e.exitCode}),v=u?R.todoActive:p?R.cross:e.exitCode===0?R.check:R.cross,y=e.output.split(`
65
+ `),b=n??y.length,x=y.slice(-t),S=u&&x.length<t?[...x,...Array.from({length:t-x.length},()=>``)]:x,C=Math.max(0,y.length-t),w=u?V.t(`hint.toInterrupt`):V.t(`hint.close`),T=q(f,{items:[...!u&&b>t?[[`v`,V.t(`shell.viewAll`,{count:b})]]:[],...!u&&r?[[`c`,V.t(`shell.copyHint`)]]:[],...!u&&m&&i?[[`a`,V.t(`shell.hint`)]]:[],[B.esc,w]]});return J(M,{header:J(X,{children:[J(d,{type:`secondary`,children:[`>`,` `]}),q(X,{color:l.secondary,children:e.command}),q(X,{children:` `}),J(X,{color:g,children:[v,` `,_]})]}),footer:T,children:[(u||C>0)&&q(Y,{flexDirection:`row`,height:1,children:C>0?J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`shell.moreLines`,{count:C})]}):q(X,{children:` `})}),S.map((e,t)=>q(Y,{flexDirection:`row`,children:q(X,{wrap:`truncate-end`,children:e===``?` `:e})},t))]})}function zp(e){if(e.operation===`edit`){if(e.oldContent!=null&&e.newContent!=null)return fo(e.oldContent,e.newContent,2**53-1)}else if(e.operation===`delete`){if(e.oldContent!=null)return[{header:``,lines:e.oldContent.split(`
66
66
  `).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]}else if(e.operation===`write`&&e.newContent!=null)return[{header:``,lines:e.newContent.split(`
67
- `).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}];return[]}function Rp({file:e,rows:t,columns:n=80,onDismiss:r,active:a=!0,resolveWholeFileDiff:o}){let s=C(),[c,l]=K(`diff`),[u,d]=K(0),[f,p]=K(Ea()),m=G(a);U(()=>{m.current&&!a&&r(),m.current=a},[a,r]);let[h,g]=K({status:`idle`});U(()=>{if(f)return;let e=!0;return Ta().then(()=>{e&&p(Ea())}),()=>{e=!1}},[f]),U(()=>{d(0)},[c,e.path]),U(()=>{g({status:`idle`})},[e.path]);let _=V.useRef(!1);U(()=>{_.current=!1},[e.path]),U(()=>{if(c!==`wholeFileDiff`||!o||_.current)return;_.current=!0;let t=!0;return g({status:`loading`}),o(e.path,e.operation).then(e=>{t&&g(e.error?{status:`error`,message:e.error}:{status:`ready`,oldContent:e.oldContent,newContent:e.newContent})}).catch(e=>{t&&g({status:`error`,message:e instanceof Error?e.message:String(e)})}),()=>{t=!1}},[c,e.path,e.operation,o]);let v=W(()=>{if(c!==`full`)return[];let t=e.operation===`delete`?e.oldContent:e.newContent;return t==null?[]:gc(e.path,t,n,f)},[e,f,c,n]),y=v[Math.min(u,Math.max(0,v.length-1))],b=W(()=>{if(c!==`wholeFileDiff`||h.status!==`ready`)return[];let{oldContent:e,newContent:t}=h;return e!=null&&t!=null?uo(e,t,2**53-1,2**53-1):e==null&&t!=null?[{header:``,lines:t.split(`
67
+ `).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}];return[]}function Bp({file:e,rows:t,columns:n=80,onDismiss:r,active:i=!0,resolveWholeFileDiff:a}){let o=L(),[s,c]=K(`diff`),[l,u]=K(0),[f,m]=K(Da()),h=G(i);W(()=>{h.current&&!i&&r(),h.current=i},[i,r]);let[g,_]=K({status:`idle`});W(()=>{if(f)return;let e=!0;return Ea().then(()=>{e&&m(Da())}),()=>{e=!1}},[f]),W(()=>{u(0)},[s,e.path]),W(()=>{_({status:`idle`})},[e.path]);let v=H.useRef(!1);W(()=>{v.current=!1},[e.path]),W(()=>{if(s!==`wholeFileDiff`||!a||v.current)return;v.current=!0;let t=!0;return _({status:`loading`}),a(e.path,e.operation).then(e=>{t&&_(e.error?{status:`error`,message:e.error}:{status:`ready`,oldContent:e.oldContent,newContent:e.newContent})}).catch(e=>{t&&_({status:`error`,message:e instanceof Error?e.message:String(e)})}),()=>{t=!1}},[s,e.path,e.operation,a]);let y=Ft(()=>{if(s!==`full`)return[];let t=e.operation===`delete`?e.oldContent:e.newContent;return t==null?[]:_c(e.path,t,n,f)},[e,f,s,n]),b=y[Math.min(l,Math.max(0,y.length-1))],x=Ft(()=>{if(s!==`wholeFileDiff`||g.status!==`ready`)return[];let{oldContent:e,newContent:t}=g;return e!=null&&t!=null?fo(e,t,2**53-1,2**53-1):e==null&&t!=null?[{header:``,lines:t.split(`
68
68
  `).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}]:e!=null&&t==null?[{header:``,lines:e.split(`
69
- `).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]:[]},[c,h]),x=W(()=>{if(c===`full`)return y?.lines??[];if(c===`wholeFileDiff`){let t=b.reduce((e,t)=>e+t.lines.length,0),n=Xs(e.path);return $s(b,f&&n!==``&&t<=2e3?{highlight:Da,lang:n}:{})}let t=Lp(e),n=t.reduce((e,t)=>e+t.lines.length,0),r=Xs(e.path);return $s(t,f&&r!==``&&n<=2e3?{highlight:Da,lang:r}:{})},[e,f,c,y,b]),S=c===`full`?y?.wrapMode??`truncate`:`truncate`,w=(e.operation===`delete`?e.oldContent:e.newContent)!=null,T=o!=null,E=Nt(()=>{l(e=>e===`diff`?T?`wholeFileDiff`:w?`full`:`diff`:e===`wholeFileDiff`&&w?`full`:`diff`)},[T,w]),ee=T||w,D=B.t(`diff.fileOpLabel`,{context:e.operation}),te=e.operation===`edit`?s.accent:e.operation===`write`?s.success:s.error,ne=c===`wholeFileDiff`?h.status===`loading`?B.t(`diff.loading`):h.status===`error`?B.t(`diff.error`,{message:h.message}):void 0:e.oldContent==null&&e.newContent==null&&(e.addedLines>0||e.removedLines>0)?B.t(`common.contentUnavailable`):void 0,k=W(()=>c!==`wholeFileDiff`||h.status!==`ready`?null:fo(b),[c,h.status,b]),re=(i()?.currentPath??`/`).endsWith(`/find`),A=e=>{let t=P();t&&(e&&!t.currentPath.endsWith(`/find`)?t.navigate(t.currentPath+`/find`):!e&&t.currentPath.endsWith(`/find`)&&t.goBack())};return q(oc,{lines:x,rows:t,header:J(Y,{children:[q(X,{color:te,bold:!0,children:D}),J(X,{color:s.text,children:[` `,e.path]}),c===`wholeFileDiff`?q(Ve,{leadingSpace:!0,children:B.t(`diff.modeLabel`)}):c===`full`&&v.length>1&&y?q(Ve,{leadingSpace:!0,children:y.label}):null,J(O,{type:`secondary`,children:[` `,B.t(`diff.linesTotalLabel`,{count:x.length}),c===`wholeFileDiff`&&k?J(Ft,{children:[k.added>0&&` +${k.added}`,k.removed>0&&` -${k.removed}`,` `,`(`,B.t(`diff.modeLabel`),`)`]}):J(Ft,{children:[e.addedLines>0&&` +${e.addedLines}`,e.removedLines>0&&` -${e.removedLines}`]})]})]}),onDismiss:r,onKey:(e,t)=>e===`f`&&ee?(E(),!0):e===`]`&&c===`full`&&v.length>1?(d(e=>(e+1)%v.length),!0):!1,initialScroll:`bottom`,emptyMessage:ne,active:a,contentKey:`${e.path}:${c}:${y?.id??``}:${h.status}`,columns:n,wrapMode:c===`full`?S:`truncate`,extraHints:[...ee?[[`f`,B.t(`hint.switch`)]]:[],...c===`full`&&v.length>1?[[`]`,B.t(`hint.tabSwitchOutput`)]]:[],[j.tab,B.t(`hint.tabFocus`)]],findActive:re,onFindModeChange:A})}function zp({tasks:e,rows:t,onDismiss:n}){let r=C(),i=W(()=>e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService),[e]),[a,o]=K(0),c=Math.max(3,t-6),l=Math.max(0,i.length-c),u=Math.min(a,l),d=i.slice(u,u+c),p=i.length===0;return ee({tabIndex:0,id:`services-dialog`,onEscape:()=>(n(),!0)}),fd(e=>o(t=>Math.min(l,Math.max(0,t-e))),[l]),s(`services-dialog`,(e,t)=>t.escape?(n(),!0):t.upArrow?(o(e=>Math.max(0,e-1)),!0):t.downArrow?(o(e=>Math.min(l,e+1)),!0):t.pageUp?(o(e=>Math.max(0,e-c)),!0):t.pageDown?(o(e=>Math.min(l,e+c)),!0):e===`g`&&!t.ctrl&&!t.meta?(o(0),!0):e===`G`&&!t.ctrl&&!t.meta?(o(l),!0):!1),q(T,{header:q(y,{children:B.t(`service.sTitle`)}),footer:q(k,{items:[[`${j.up}${j.down}/g/G`,B.t(`hint.scroll`)],[j.esc,B.t(`hint.close`)]]}),children:p?q(Y,{marginTop:A.tight,children:q(O,{type:`secondary`,dim:!0,children:B.t(`service.sEmpty`)})}):J(Y,{flexDirection:`column`,children:[q(Y,{height:1,children:u>0?q(f,{hasMore:!0,count:u}):q(X,{children:` `})}),d.map((e,t)=>{let n=e.detectedService,i=n.url?n.url.replace(/^https?:\/\//,``).replace(/^wss?:\/\//,``).replace(/\/$/,``):`:${n.port}`,a=n.protocol===`ws`?`ws`:n.protocol===`tcp`?`tcp`:`http`;return J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:r.accent,children:`↕ `}),q(X,{color:r.selection,children:i})]}),q(Y,{marginLeft:A.section,children:J(O,{type:`secondary`,dim:!0,children:[e.command,` · `,a,n.port?` · :${n.port}`:``]})})]},u+t)}),q(Y,{height:1,children:u+c<i.length?q(v,{hasMore:!0,count:i.length-u-c}):q(X,{children:` `})})]})})}function Bp({command:e,output:t,rows:n,columns:r,onDismiss:a,active:o=!0,isError:s=!1,onCopyOutput:c,onAskAi:l,scrollStore:u}){let d=G(o);U(()=>{d.current&&!o&&a(),d.current=o},[o,a]);let f=W(()=>t.split(`
70
- `),[t]),p=(e,t)=>e===`c`&&!t.ctrl&&!t.meta&&c?(c(),!0):e===`a`&&!t.ctrl&&!t.meta&&s&&l?(l(),!0):!1,m=[...c?[[`c`,B.t(`shell.copyHint`)]]:[],...s&&l?[[`a`,B.t(`shell.hint`)]]:[]],h=(i()?.currentPath??`/`)===`/viewer/shell-output/find`;return q(oc,{lines:f,rows:n,columns:r,wrapMode:`truncate`,scrollStore:u,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[J(y,{children:[`>`,` `,e]}),q(X,{dimColor:!0,children:B.t(`diff.linesTotalLabel`,{count:f.length})})]}),onDismiss:a,onKey:p,extraHints:m.length>0?m:void 0,initialScroll:`top`,active:o,contentKey:e,findActive:h,onFindModeChange:e=>{let t=P();t&&(e&&t.currentPath===`/viewer/shell-output`?t.navigate(`/viewer/shell-output/find`):!e&&t.currentPath===`/viewer/shell-output/find`&&t.goBack())}})}function Vp(e){let t=Xl(),{stdout:n}=Ut(),{currentPath:r,stack:i,dismiss:a}=ce(),o=e=>i.some(t=>t.path===e),{taskStore:s}=Wl(),c=Z(s.store,e=>e.backgroundOutput),l=Z(s.store,e=>e.editedFiles),u=Z(s.store,e=>e.backgroundTasks),{columns:d,rows:f,fullScreenPaneActive:p,shellFullOutput:m,shellExecution:h,setShellFullOutput:g,editedFileFullIndex:_,closeEditedFileFull:v,resolveWholeFileDiff:y}=e;return J(Ft,{children:[!p&&!m&&h&&q(Ip,{exec:h,totalLines:h.output.split(`
71
- `).length,columns:d,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi,onAbort:t.onShellAbort,onDismiss:t.onShellDismiss,onViewFullOutput:g,active:r===`/pane/shell`}),c&&q(zd,{view:c,columns:d,rows:n?.rows,active:r===`/pane/delegates/output`,onDismiss:t.onBackgroundOutputClose}),_!==null&&_<l.length&&q(Rp,{file:l[_],rows:n?.rows??f,columns:d,onDismiss:v,active:r.startsWith(`/pane/edited-files/`),resolveWholeFileDiff:y}),o(`/overlay/services`)&&q(w,{path:`/overlay/services`,inStack:!0,element:q(zp,{tasks:u,columns:d,rows:n?.rows??f,onDismiss:()=>{a(`/overlay/services`)}})}),m&&q(Bp,{command:m.command,output:m.output,rows:n?.rows??f,columns:d,onDismiss:()=>g(null),active:r===`/viewer/shell-output`,scrollStore:e.scrollStore,isError:m.isError,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi?()=>{t.onShellAskAi?.(),g(null),t.onShellDismiss?.()}:void 0})]})}function Hp(e,t){switch(e){case`healthy`:return t.accent;case`warning`:return t.warning;case`critical`:return t.error}}function Up(e){return`${(e/1024/1024).toFixed(1)}MB`}function Wp({memory:e,history:t}){let n=C();return e?J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:Hp(e.level,n),bold:!0,children:e.level}),J(O,{type:`secondary`,children:[` `,e.usedPct.toFixed(1),`%`]}),t.length>=2&&J(O,{type:`secondary`,children:[` `,da(t,20)]})]}),J(O,{type:`secondary`,children:[Up(e.heapUsed),` / `,Up(e.heapSizeLimit),` heap`]})]}):q(O,{type:`secondary`,children:`collecting…`})}function Gp({notify:e}){let t=C();if(!e)return q(O,{type:`secondary`,dim:!0,children:`渲染数据将在 M2 接入`});let n=e.coalescedCalls===0,r=n?`idle`:e.alert;return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:n?t.inactive:e.alert===`warning`?t.warning:t.accent,bold:!0,children:r}),J(O,{type:`secondary`,children:[` `,e.coalesceRatio.toFixed(1),`x merge`]})]}),J(O,{type:`secondary`,children:[`coalesced `,e.coalescedCalls,`→`,e.coalescedFires,` · direct `,e.immediateCalls,` · flush `,e.flushFires]})]})}function Kp(e){let t=typeof e==`string`?e:JSON.stringify(e);return t===void 0?`undefined`:M(t,121)}function qp({metrics:e,maxRows:t=1/0}){let n=C();if(e.length===0)return null;let r=e.slice(0,t),i=e.length-r.length;return J(Y,{flexDirection:`column`,children:[q(Y,{marginTop:A.loose,marginBottom:A.tight,children:q(O,{type:`secondary`,bold:!0,children:`Plugins`})}),r.map(e=>J(Y,{flexDirection:`row`,children:[q(X,{color:n.suggestion,children:e.label}),q(O,{type:`secondary`,children:` `}),e.error?J(X,{color:n.error,children:[`error: `,e.error]}):q(O,{type:`secondary`,children:Kp(e.value)})]},e.id)),i>0&&J(O,{type:`secondary`,dim:!0,children:[` `,i,` more`]})]})}function Jp({perfStore:e,onDismiss:t,onRefresh:n,rows:r=24}){let a=C(),o=Z(e.store,e=>e),c=i();return s(`perf-panel`,(e,r)=>{if(r.escape){t();return}e===`r`&&n()},{isActive:c?c.currentPath===`/pane/perf`:!0}),q(T,{header:q(X,{color:a.secondary,bold:!0,children:`Performance`}),footer:q(k,{items:[[j.esc,B.t(`hint.close`)],[`r`,B.t(`hint.refresh`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[q(Y,{marginBottom:A.tight,children:q(O,{type:`secondary`,bold:!0,children:`Memory`})}),q(Wp,{memory:o.memory,history:o.memoryHistory}),q(Y,{marginTop:A.loose,marginBottom:A.tight,children:q(O,{type:`secondary`,bold:!0,children:`Rendering`})}),q(Gp,{notify:o.notify}),q(qp,{metrics:o.pluginMetrics,maxRows:Ue(9+o.pluginMetrics.length+7,r)-9-7})]})})}function Yp(e,t,n,r){let i=Math.max(0,n-r);return e.upArrow?Math.max(0,t-1):e.downArrow?Math.min(i,t+1):e.pageUp?Math.max(0,t-r):e.pageDown?Math.min(i,t+r):null}function Xp({children:e,visibleRows:t,offset:n,showHint:r=!0,onScroll:i}){let a=W(()=>V.Children.toArray(e),[e]),o=ca();U(()=>{if(!(!o||!i))return o.registerWheel(e=>{i(aa(n,e,a.length,t))})},[o,i,a.length,t]);let s=a.length>t,c=s&&r?Math.max(1,t-1):t,l=ra(a.length,c,n);return J(Y,{flexDirection:`column`,children:[a.slice(l.start,l.end),s&&r&&q(O,{type:`secondary`,children:l.below>0?` ↓ ${l.below} more${l.above>0?` · ↑ ${l.above}`:``}`:` ↑ ${l.above} above`})]})}function Zp(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}m`}function Qp(e,t){return e>=80?t.accent:e>=40?t.warning:t.error}function $p({ratio:e,width:t}){let n=C(),r=Math.max(0,Math.min(100,Math.round(e*100))),i=Math.min(24,Math.max(8,t-20)),a=Qp(r,n);return J(Y,{children:[J(X,{color:a,bold:!0,children:[String(r).padStart(3),`%`,` `]}),q(Re,{percent:r,width:i,chars:`block`,color:a,labelPosition:`none`})]})}function em({label:e}){return J(O,{type:`secondary`,dim:!0,children:[e,`: n/a(供应商未报告缓存数据)`]})}function tm({row:e,width:t}){let n=C(),r=e.cacheReadTokens+e.cacheWriteTokens+e.inputTokens,i=e.hitRatio===null?`n/a`:`${Math.round(e.hitRatio*100)}%`,a=e.hitRatio===null?n.inactive:Qp(Math.round(e.hitRatio*100),n),o=`${e.modelName} read ${Zp(e.cacheReadTokens)} · write ${Zp(e.cacheWriteTokens)} · total ${Zp(r)}`;return J(Y,{justifyContent:`space-between`,children:[q(X,{color:n.suggestion,children:M(o,t-8)}),q(X,{color:a,bold:e.hitRatio!==null,children:i})]})}function nm({view:e,width:t,colors:n}){if(!e)return[q(O,{type:`secondary`,children:`collecting…`},`collecting`)];if(!(e.totalCacheReadTokens+e.totalCacheWriteTokens+e.totalInputTokens>0))return[q(O,{type:`secondary`,children:`本会话暂无缓存用量数据`},`nodata`)];let r=[];if(r.push(q(O,{type:`secondary`,bold:!0,children:`Session hit rate`},`h-session`)),r.push(e.sessionHitRatio===null?q(em,{label:B.t(`cache.sessionLabel`)},`v-session`):q($p,{ratio:e.sessionHitRatio,width:t},`v-session`)),r.push(q(Y,{},`gap-1`)),r.push(q(O,{type:`secondary`,bold:!0,children:`Last turn`},`h-last`)),r.push(e.lastTurnHitRatio===null?q(em,{label:B.t(`cache.lastTurnLabel`)},`v-last`):q($p,{ratio:e.lastTurnHitRatio,width:t},`v-last`)),r.push(q(Y,{},`gap-2`)),r.push(q(O,{type:`secondary`,children:`cache read ${Zp(e.totalCacheReadTokens)} · cache write ${Zp(e.totalCacheWriteTokens)} · input ${Zp(e.totalInputTokens)}`},`totals`)),e.totalCostUSD!==void 0&&e.totalCostUSD>0&&r.push(q(X,{color:n.suggestion,children:`~$${e.totalCostUSD.toFixed(4)}`},`cost`)),e.perModel.length>1){r.push(q(Y,{},`gap-3`)),r.push(q(O,{type:`secondary`,bold:!0,children:`By model`},`h-model`));for(let n of e.perModel)r.push(q(tm,{row:n,width:t},n.modelId))}return r}function rm({cacheStore:e,onDismiss:t,rows:n=24}){let r=C(),a=Z(e.store,e=>e),[o,l]=K(0),u=nm({view:a.view,width:60,colors:r}),d=Math.max(1,c(n)-7),f=i();return s(`cache-panel`,(e,n)=>{if(n.escape){t();return}let r=Yp(n,o,u.length,d);r!==null&&l(r)},{isActive:f?f.currentPath===`/pane/cache`:!0}),q(T,{header:q(X,{color:r.secondary,bold:!0,children:`Cache`}),footer:q(k,{items:[[j.esc,B.t(`hint.close`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:q(Y,{marginTop:A.tight,flexDirection:`column`,children:q(Xp,{visibleRows:d,offset:o,onScroll:l,children:u})})})}function im(e,t,n,r=[],i){let[a,o]=K(0),[s,c]=K(!1),l=e.length+r.length,u=l>0?Math.min(a,l-1):0,d=u>=e.length,f=e=>{if(e.kind===`input`){c(!0),t({kind:`input`,title:e.title??e.label,placeholder:e.placeholder,mask:e.mask}).then(t=>{t!=null&&t.trim()&&n(e.id,t.trim())}).finally(()=>c(!1));return}if(e.kind===`switch`){n(e.id,!e.value);return}if(e.kind===`select`){c(!0),t({kind:`select`,title:e.title??e.label,options:e.options,onSelect:t=>{c(!1),n(e.id,t)},onCancel:()=>c(!1)});return}};return{selectedIndex:u,editing:s,handleKey:(t,n)=>{if(s||l===0)return!1;if(pe(`list-nav-up`,t,n))return o(e=>(e-1+l)%l),!0;if(pe(`list-nav-down`,t,n))return o(e=>(e+1)%l),!0;if(n.return){if(d){let t=r[u-e.length];return t&&i?.(t.id),!0}let t=e[u];return t&&f(t),!0}return!1},isTrailingSelected:d}}function am({field:e,selected:t,emptyLabel:n=`未设置`}){let r=C(),i=t?ye():ze(),a=t?r.selection:void 0;if(e.kind===`switch`){let n=e.value?R.statusDot:R.toggleOff,o=e.value?e.onLabel??`已启用`:e.offLabel??`已停用`,s=e.value?r.accent:r.inactive;return J(X,{children:[J(X,{color:a,bold:t,children:[i,e.label]}),q(X,{color:r.inactive,children:` `}),J(X,{color:s,children:[n,` `,o]})]})}let o=e.value?e.value:n;return J(X,{children:[J(X,{color:a,bold:t,children:[i,e.label]}),q(X,{color:r.inactive,children:` `}),q(X,{color:r.inactive,dimColor:!e.value,children:o})]})}function om(e){try{let t=new URL(e);return t.password?e.replace(`:${t.password}@`,`:••••@`):e}catch{return e}}function sm({view:e,onDismiss:t,onOpenModal:n,onSubmitUrl:r,onToggleEnabled:i,onClear:a,onTest:o,rows:l=24}){let u=C(),d=e.url?e.enabled===!1?`disabled`:`enabled`:`unconfigured`,f=e.url?[{kind:`input`,id:`url`,label:B.t(`proxy.fieldUrl`),value:om(e.url),title:B.t(`proxy.dialogEditUrl`),placeholder:B.t(`proxy.urlPlaceholder`)},{kind:`switch`,id:`enabled`,label:B.t(`proxy.fieldEnabled`),value:d===`enabled`,onLabel:B.t(`proxy.stateEnabled`),offLabel:B.t(`proxy.stateDisabled`)}]:[{kind:`input`,id:`url`,label:B.t(`proxy.fieldUrl`),value:``,title:B.t(`proxy.dialogSetUrl`),placeholder:B.t(`proxy.urlPlaceholder`)}],p=(e,t)=>{e===`url`&&typeof t==`string`&&r(t),e===`enabled`&&typeof t==`boolean`&&i()},m=d!==`unconfigured`,h=d===`unconfigured`?e.detectedEnvProxy:void 0,g=[...h?[{id:`adopt-env`,label:B.t(`proxy.actionAdoptEnv`,{value:om(h.value),source:h.source})}]:[],...m&&o?[{id:`test`,label:B.t(`proxy.actionTest`)}]:[],...m?[{id:`clear`,label:B.t(`proxy.actionClear`)}]:[]],[_,v]=K(!1),y=()=>{v(!0),n({kind:`confirm`,title:B.t(`proxy.clearTitle`),message:B.t(`proxy.clearMessage`,{url:e.url??``}),confirmLabel:B.t(`proxy.clearConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{v(!1),a()},onCancel:()=>v(!1)})},{selectedIndex:b,editing:x,handleKey:S,isTrailingSelected:w}=im(f,n,p,g,e=>{e===`clear`&&y(),e===`test`&&o?.(),e===`adopt-env`&&h&&r(h.value)}),E=x||_,ee=Math.max(1,c(l)-7),D=1+(w?f.length:b),te=Math.max(0,D-ee+2),ne=e.url&&e.enabled!==!1?e.url:void 0,re=e.effectiveUrl!==ne,ie=e.probe,ae=null;ie&&ie.status!==`idle`?ae=ie.status===`probing`?q(O,{type:`secondary`,children:B.t(`proxy.probeProbing`)},`note`):ie.status===`ok`?J(X,{color:u.success,children:[R.check,` `,B.t(`proxy.probeOk`,{latency:ie.latencyMs,target:ie.target})]},`note`):J(X,{color:ie.blamesProxy?u.error:u.warning,children:[R.cross,` `,B.t(ie.blamesProxy?`proxy.probeFailedProxy`:`proxy.probeFailedTarget`,{reason:ie.reason})]},`note`):d!==`unconfigured`&&re&&(ae=J(X,{color:u.warning,children:[R.warn,` `,e.effectiveUrl?B.t(`proxy.effectiveMismatch`,{effective:om(e.effectiveUrl)}):B.t(`proxy.effectiveNotApplied`)]},`note`));let oe=ca();return U(()=>{if(oe)return oe.registerWheel(e=>{if(E)return;let t=Math.abs(e)*3,n={upArrow:e>0,downArrow:e<0};for(let e=0;e<t;e++)S(``,n)})},[oe,E,S]),s(`proxy-pane`,(e,n)=>{if(n.escape){t();return}S(e,n)},{isActive:!E}),q(T,{header:q(X,{color:u.secondary,bold:!0,children:B.t(`proxy.title`)}),footer:E?void 0:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`hint.execute`)],[j.esc,B.t(`hint.close`)]]}),children:q(Y,{marginTop:A.tight,flexDirection:`column`,children:J(Xp,{visibleRows:ee,offset:te,children:[q(xe,{label:B.t(`proxy.groupConfig`),indent:``},`h-config`),f.map((e,t)=>q(am,{field:e,selected:!E&&t===b,emptyLabel:B.t(`proxy.urlEmpty`)},e.id)),g.map((e,t)=>{let n=w&&!E&&b-f.length===t,r=e.id===`clear`?u.error:void 0;return J(X,{color:n?u.selection:r,bold:n,children:[n?ye():ze(),e.label]},e.id)}),ae,q(X,{children:` `},`gap`),q(xe,{label:B.t(`proxy.groupAbout`),indent:``},`h-about`),q(O,{type:`secondary`,children:B.t(`proxy.aboutScope`)},`d1`),q(O,{type:`secondary`,children:B.t(`proxy.aboutLoopback`)},`d2`),q(O,{type:`secondary`,children:B.t(`proxy.aboutStorage`,{path:e.configPath})},`d3`),q(O,{type:`secondary`,dim:!0,children:B.t(`proxy.aboutCommand`)},`d4`)]})})})}function cm(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function lm(e){switch(e.kind){case`compact`:{let t=e.before&&e.before>0?Math.round((e.after??0)/e.before*100):0;return B.t(`compact.logCompactRow`,{before:e.before??0,after:e.after??0,pct:t})}case`prune`:return e.prunedCount===void 0?B.t(`compact.logPruneRow`,{tokensSaved:e.tokensSaved??0}):B.t(`compact.logPruneRow`,{context:`pruned`,count:e.prunedCount,tokensSaved:e.tokensSaved??0});case`history_capped`:return B.t(`compact.logHistoryCappedRow`,{count:e.removedCount??0})}}const um={compact:`compact`,prune:`prune`,history_capped:`history`};function dm({entry:e}){return e.kind===`compact`?J(Y,{flexDirection:`column`,children:[q(O,{type:`secondary`,children:lm(e)}),q(Y,{marginTop:A.tight,children:e.summary?q(X,{children:e.summary}):q(O,{type:`secondary`,dim:!0,children:B.t(`compact.logNoSummary`)})})]}):q(O,{type:`secondary`,children:lm(e)})}function fm({entries:e,onClose:t,rows:n=24}){let r=C(),[a,o]=na(`compactionLog`,e.length),c=i(),l=c?.currentPath??`/`,u=c?l.startsWith(`/pane/compaction-log`):!0,d=l.match(/^\/pane\/compaction-log\/(\d+)$/),f=d?Number(d[1]):null,p=e=>{let t=P();t&&(e==null?t.currentPath.startsWith(`/pane/compaction-log/`)&&t.goBack():t.navigate(`/pane/compaction-log/${e}`))},m=e.length===0?0:Math.min(a,e.length-1),h=f==null?void 0:e.find(e=>e.id===f),g=G(0),_=_t(e,m,Ue(e.length+7,n)-7,g.current);return g.current=_.scrollTop,s(`compaction-log-dialog`,Nt((n,r)=>{if(r.escape){h?p(null):t();return}if(!h){if(pe(`list-nav-up`,n,r)){o(t=>e.length===0?0:(t-1+e.length)%e.length);return}if(pe(`list-nav-down`,n,r)){o(t=>e.length===0?0:(t+1)%e.length);return}if(r.return){let t=e[m];t&&p(t.id)}}},[h,e,m,t]),{isActive:u}),h?q(T,{header:q(X,{color:r.secondary,bold:!0,children:B.t(`compact.logDetailTitle`,{kind:um[h.kind],time:cm(h.timestamp)})}),footer:q(k,{items:[[j.esc,B.t(`hint.cancel`)]]}),children:q(Y,{marginTop:A.tight,flexDirection:`column`,children:q(dm,{entry:h})})}):q(T,{header:q(X,{color:r.secondary,bold:!0,children:B.t(`compact.logTitle`)}),footer:q(k,{items:[[`${j.up}${j.down}`,B.t(`hint.select`)],[j.enter,B.t(`compact.logViewSummary`)],[j.esc,B.t(`hint.cancel`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:A.tight,flexDirection:`column`,children:[e.length===0?q(O,{type:`secondary`,dim:!0,children:B.t(`compact.logEmpty`)}):_.rows.map((e,t)=>{let n=_.scrollTop+t===m;return q(Y,{flexDirection:`row`,children:J(X,{color:n?r.selection:r.inactive,bold:n,children:[n?ye():ze(),cm(e.timestamp),` `,um[e.kind].padEnd(8),` `,lm(e)]})},e.id)}),_.fillerCount>0&&Array.from({length:_.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function pm({checked:e,onChange:t,label:n,tabIndex:r=0,disabled:i=!1}){let a=C(),{focused:o}=ee({tabIndex:r,disabled:i});ne(o,(n,r)=>n===` `?(t(!e),!0):!1);let s=e?R.check:R.todoPending;return J(X,{color:o?a.selection:e?a.success:a.inactive,children:[o?ye():ze(),s,` `,n]})}function mm({options:e,selected:t,onSelect:n,onPick:r,escapeIndex:i,tabIndex:a=0}){return H(Pe.Root,{onPick:r,activeIndex:t,onActiveChange:n,escapeIndex:i,tabIndex:a,id:`choices-${e.map(e=>e.key).join(`-`)}`},...e.map(e=>H(Pe.Item,{key:e.key,label:e.label,color:e.color,shortcut:e.shortcut})))}const hm=[`good`,`neutral`,`bad`];function gm(e){switch(e){case`good`:return B.t(`pulse.ratingGood`);case`neutral`:return B.t(`pulse.ratingNeutral`);case`bad`:return B.t(`pulse.ratingBad`)}}function _m({item:e,columns:t=60,onChange:n}){if(ee({tabIndex:0,id:`pulse-survey-overlay`,onEscape:()=>{if(e.phase===`rating`)return!1;let t=e.rating??`good`,n=e.commentText.length>0?e.commentText:void 0;return e.onSubmit(t,n),e.onClose(),!0}}),s(`pulse-survey-overlay`,(r,i)=>{if(e.phase===`rating`)return i.escape?(e.onClose(),!0):!1;let a=e.rating??`good`,o=()=>{let t=e.commentText.length>0?e.commentText:void 0;e.onSubmit(a,t),e.onClose()};if(i.return||i.escape)return o(),!0;if(i.leftArrow){let r=gt.fromText(e.commentText,t,e.commentOffset).left();return n?.({commentText:r.text,commentOffset:r.offset}),!0}if(i.rightArrow){let r=gt.fromText(e.commentText,t,e.commentOffset).right();return n?.({commentText:r.text,commentOffset:r.offset}),!0}if(r.length>1&&!i.ctrl&&!i.meta&&!i.backspace&&!i.delete&&!i.tab&&!i.upArrow&&!i.downArrow){let t=dt(r);return t&&n?.({commentText:e.commentText.slice(0,e.commentOffset)+t+e.commentText.slice(e.commentOffset),commentOffset:e.commentOffset+t.length}),!0}let s={name:i.backspace?`backspace`:i.delete?`delete`:i.tab?`tab`:r||`unknown`,ctrl:i.ctrl??!1,shift:!1,alt:i.meta??!1,meta:i.meta??!1},c=be(gt.fromText(e.commentText,t,e.commentOffset),s);return c?c.action===`submit`||c.action===`submit_force`?(o(),!0):(n?.({commentText:c.cursor.text,commentOffset:c.cursor.offset}),!0):!1}),e.phase===`rating`){let t=hm.map(e=>({key:e,label:gm(e)}));return q(T,{header:q(y,{children:B.t(`pulse.title`)}),footer:q(X,{children:B.t(`pulse.hintRating`)}),children:q(Y,{marginTop:A.tight,children:q(mm,{options:t,selected:e.selectedIndex,onSelect:e=>n?.({selectedIndex:e}),onPick:r=>{if(r>=t.length){e.onClose();return}n?.({phase:`comment`,rating:hm[r]??`good`})},escapeIndex:t.length})})})}return q(T,{header:q(y,{children:e.rating?B.t(`pulse.commentTitle`,{ratingLabel:gm(e.rating)}):B.t(`pulse.title`)}),footer:q(X,{children:B.t(`pulse.hintComment`)}),children:q(Y,{marginTop:A.tight,flexDirection:`row`,children:q(Oe,{value:e.commentText,offset:e.commentOffset,columns:t,mode:`dialog`,placeholder:B.t(`pulse.commentPlaceholder`),focused:!0,physicalCursor:!0})})})}function vm({enabledCount:e}){let t=C();return e===0?null:q(X,{color:t.accent,children:` * ${e} scheduled`})}function ym({title:e,indent:t=A.section,titleIndent:n,children:r}){return J(Y,{flexDirection:`column`,children:[e!=null&&q(xe,{label:e,indent:n}),q(Y,{marginLeft:t,flexDirection:`column`,children:r})]})}const bm=Math.max(...Fu.map(e=>Math.max($e(e.en),$e(e.zh))));function xm({tip:e}){let{resolvedTheme:t}=at();if(!e)return null;let n=B.t(`welcome.tipLabel`),r=$e(n)+1+bm+A.tight*2,i=$e(e),a=i<bm?e+` `.repeat(bm-i):e,o=(t===`light`?Vu:Bu)[qu(0)],s=Ju(r,0,t);return J(Y,{flexDirection:`column`,alignSelf:`flex-start`,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:o,children:`╭`}),s.map((e,t)=>q(X,{color:e,children:`─`},t)),q(X,{color:o,children:`╮`})]}),J(Y,{flexDirection:`row`,children:[q(X,{color:o,children:`│`}),J(Y,{flexDirection:`row`,paddingX:A.tight,children:[J(O,{type:`accent`,children:[n,` `]}),q(O,{type:`secondary`,children:a})]}),q(X,{color:o,children:`│`})]}),J(Y,{flexDirection:`row`,children:[q(X,{color:o,children:`╰`}),s.map((e,t)=>q(X,{color:e,children:`─`},t)),q(X,{color:o,children:`╯`})]})]})}const Sm={pointer:R.pointer,check:R.check,cross:R.cross,bullet:R.bullet,todoPending:R.todoPending,todoActive:R.todoActive,todoDone:R.todoDone,toggleOn:R.toggleOn,toggleOff:R.toggleOff,statusDot:R.statusDot,warn:R.warn,ellipsis:R.ellipsis};function Cm(e,t){if(e)return t[e]}function wm({name:e,color:t,bold:n,dim:r,trailingSpace:i}){return J(X,{color:Cm(t,C()),bold:n,dimColor:r,children:[Sm[e],i?` `:``]})}function Tm(e){let t=new Date,n=e=>String(e).padStart(2,`0`),r=`${n(t.getHours())}:${n(t.getMinutes())}`;return e?`${r}:${n(t.getSeconds())}`:r}function Em({color:e,dimColor:t=!0,showSeconds:n=!1}){let r=C(),[i,a]=K(()=>Tm(n));return U(()=>{let e=setInterval(()=>{a(Tm(n))},n?1e3:3e4);return()=>clearInterval(e)},[n]),q(X,{color:e??r.inactive,dimColor:t,children:i})}function Dm({level:e,usedPct:t}){let n=C();return e===`healthy`?q(Y,{}):q(Y,{flexDirection:`row`,children:J(X,{color:e===`critical`?n.error:n.warning,children:[` `,`<mem`,e===`critical`?`!!`:`!`,t===void 0?``:` ${Math.round(t)}%`,`> `]})})}function Om({count:e,hasUrgent:t}){let n=C();return e===0?q(Y,{}):q(Y,{flexDirection:`row`,children:J(X,{color:t?n.warning:n.accent,children:[` [`,e,`!]`]})})}const km=3500;function Am({toast:e,onDismiss:t}){return ee({tabIndex:0,id:`toast`,onEscape:()=>(t?.(),!0),onAction:()=>(t?.(),!0)}),s(`toast`,(e,n)=>n.ctrl?!1:(t?.(),!0)),q(T,{header:q(y,{children:e.title}),footer:q(k,{items:[[j.esc,B.t(`hint.close`)]]}),children:q(Y,{marginTop:A.tight,children:q(X,{children:e.content})})})}function jm(e,t=10,n){let r=Math.max(1,Math.floor(t)),i=ae({percent:e,width:r}),a=i.pct,o=i.filledCount,s=a>=90?L.error:a>=80?L.warning:L.suggestion,c=n?.prune!==void 0&&Number.isFinite(n.prune)?Math.max(0,Math.min(r-1,Math.round(n.prune/100*r))):null,l=n?.compact!==void 0&&Number.isFinite(n.compact)?Math.max(0,Math.min(r-1,Math.round(n.compact/100*r))):null,u=i.cells.map(e=>e.filled?`▰`:`▱`),d=u.join(``),f=u.map((e,t)=>({char:e,isPrune:c===t,isCompact:l===t}));return{pct:a,filled:o,total:r,color:s,bar:d,label:`${d} ${a}%`,segments:f}}function Mm({tasks:e=[]}){let t=C(),n=e.filter(e=>e.status===`running`).length,[r,i]=K(()=>Date.now());U(()=>{if(n===0)return;i(Date.now());let e=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(e)},[n]);let a=bo(e,r);return a?q(X,{color:t.accent,children:` · ${a}`}):null}function Nm({tasks:e=[]}){let t=C(),n=xo(e);return n?q(X,{color:t.accent,children:` · ${n}`}):null}function Pm({columns:e,footerVisible:t,perfIndicatorLevel:n,perfIndicatorUsedPct:r,modelName:i,budget:o,badgeEntries:s,fullScreenPaneActive:c,backgroundTasks:l,scheduleEnabledCount:u,agentProcessing:d,queuedItems:f,notifications:p,language:m,welcome:h,messages:g,hasHistory:_,paused:v=!1,pausePending:y=null,shadow:b=!1}){let x=C();return J(Y,{flexDirection:`row`,justifyContent:`space-between`,width:e,height:1,overflow:`hidden`,children:[J(Y,{flexDirection:`row`,children:[b&&q(X,{bold:!0,color:x.warning,children:`🕶 ${B.t(`welcome.shadowBadge`)} `}),t.perfIndicator&&q(Dm,{level:n,usedPct:r}),t.modelName&&i&&q(X,{color:x.suggestion,children:i}),t.occupancyBar&&o&&o.contextWindow>0&&(()=>{let e={prune:o.pruneLine>0?o.pruneLine/o.contextWindow*100:void 0,compact:o.compactLine>0?o.compactLine/o.contextWindow*100:void 0},t=jm(o.contextPercent,10,e),n={},r=t.segments.findIndex(e=>e.isPrune),i=t.segments.findIndex(e=>e.isCompact);return r>=0&&(n.prune={pos:r,color:x.warning}),i>=0&&(n.compact={pos:i,color:x.error}),J(X,{children:[` `,q(Re,{percent:t.pct,width:t.total,chars:`dot`,color:t.color,markers:n,labelPosition:`suffix`,labelPrefix:o.live?`~`:``})]})})(),s.map(e=>J(X,{color:e.color===`warning`?x.warning:x.inactive,children:[e.separator===`dot`?` · `:` `,e.text]},e.id)),t.backgroundTaskIndicator&&!c&&q(Mm,{tasks:l}),t.scheduleIndicator&&!c&&q(vm,{enabledCount:u}),t.serviceIndicator&&q(Nm,{tasks:l})]}),J(Y,{flexDirection:`row`,children:[t.hintText&&q(X,{color:v||y?x.warning:x.inactive,children:y?`${B.t(`pause.toolCount`,{n:y.toolCount,s:y.elapsedSec})} /continue ${B.t(`pause.btnCancel`)}`:v?`${B.t(`cmd.titlePaused`)} · ${B.t(`hint.pausedContinue`)}`:d?e>=76?`${j.enter} ${B.t(`hint.steer`)} · ${a()} ${B.t(`hint.queue`)} · ${j.esc} ${f.length>0?B.t(`hint.delOne`):B.t(`hint.toInterrupt`)}`:`${j.esc}${f.length>0?` ${B.t(`hint.delOne`)}`:`/${Ct(`c`)} ${B.t(`hint.toInterrupt`)}`}`:e>=76?`${j.right} ${B.t(`hint.autosuggestAccept`)} · Tab ${B.t(`hint.autosuggestMenu`)} · ${Ct(`r`)} ${B.t(`hint.history`)} · /help`:`/help`}),t.notificationBell&&p.some(e=>!e.read)&&q(O,{type:`secondary`,children:` · `}),t.notificationBell&&q(Om,{count:p.filter(e=>!e.read).length,hasUrgent:p.some(e=>e.level===`error`&&!e.read)}),(()=>{let e=t.language&&!!m,n=t.liveClock&&!c&&(!h||g.length>0||_);return!e&&!n?null:J(O,{type:`secondary`,children:[` `,e&&(m===`zh`?`中`:`EN`),e&&n&&` `,n&&q(Em,{color:x.inactive,dimColor:!1})]})})()]})]})}const Fm=()=>{},Im=[{id:`Button`,category:`components`,title:`Button`,variants:[{name:`solid/accent`,render:()=>H(I,{variant:`solid`,color:`accent`,label:`Approve`,focused:!0})},{name:`solid/amber`,render:()=>H(I,{variant:`solid`,color:`amber`,label:`Upgrade`,focused:!0})},{name:`solid/red`,render:()=>H(I,{variant:`solid`,color:`red`,label:`Delete`,focused:!0})},{name:`solid/green`,render:()=>H(I,{variant:`solid`,color:`green`,label:`Confirm`,focused:!0})},{name:`outline/accent`,render:()=>H(I,{variant:`outline`,color:`accent`,label:`Select`,focused:!0})},{name:`outline/gray`,render:()=>H(I,{variant:`outline`,color:`gray`,label:`Cancel`,focused:!1})},{name:`ghost/accent`,render:()=>H(I,{variant:`ghost`,color:`accent`,label:`Escape`,focused:!0})},{name:`ghost/gray`,render:()=>H(I,{variant:`ghost`,color:`gray`,label:`Dismiss`,focused:!1})},{name:`disabled`,render:()=>H(I,{variant:`solid`,color:`accent`,label:`Unavailable`,disabled:!0})}]},{id:`Segmented`,category:`components`,title:`Segmented`,variants:[{name:`three-tabs`,render:()=>H(Nd,{items:[{key:`events`,label:`Events`},{key:`tools`,label:`Tools`},{key:`budget`,label:`Budget`}],activeKey:`tools`})},{name:`with-disabled`,render:()=>H(Nd,{items:[{key:`events`,label:`Events`},{key:`stats`,label:`Stats`,disabled:!0}],activeKey:`events`,color:`amber`})}]},{id:`SegmentItem`,category:`components`,title:`SegmentItem`,variants:[{name:`active`,render:()=>H(Md,{label:`Events`,active:!0})},{name:`inactive`,render:()=>H(Md,{label:`Tools`,active:!1})}]},{id:`GroupDivider`,category:`components`,title:`GroupDivider`,variants:[{name:`default`,render:()=>H(xe,{label:`File`})}]},{id:`ScrollIndicatorAbove`,category:`components`,title:`ScrollIndicatorAbove`,variants:[{name:`with-count`,render:()=>H(f,{hasMore:!0,count:12})},{name:`no-count`,render:()=>H(f,{hasMore:!0})}]},{id:`ScrollIndicatorBelow`,category:`components`,title:`ScrollIndicatorBelow`,variants:[{name:`with-count`,render:()=>H(v,{hasMore:!0,count:7})},{name:`no-count`,render:()=>H(v,{hasMore:!0})}]},{id:`Group`,category:`components`,title:`Group`,variants:[{name:`with-title`,render:()=>H(ym,{title:`Settings`,children:H(X,{},`Auto-indented content`)})},{name:`no-title`,render:()=>H(ym,{children:H(X,{},`Indent only, no title divider`)})},{name:`custom-indent=4`,render:()=>H(ym,{title:`Wide indent`,indent:4,children:H(X,{},`Indented by 4 columns`)})}]},{id:`Choices`,category:`components`,title:`Choices`,variants:[{name:`vertical-numbered`,render:()=>H(mm,{options:[{key:`approve`,label:`Approve`,color:`green`,shortcut:`y`},{key:`deny`,label:`Deny`,color:`red`,shortcut:`n`},{key:`always`,label:`Always`,color:`accent`,shortcut:`a`}],selected:0,onSelect:Fm,onPick:Fm,escapeIndex:1})}]},{id:`Menu`,category:`components`,title:`Menu (RFC-268 竖排编号原语)`,variants:[{name:`composite-api`,render:()=>H(Pe.Root,{onPick:Fm},H(Pe.Item,{label:`Trust — full access`,color:`green`}),H(Pe.Item,{label:`Read-only this session`,color:`accent`}),H(Pe.Item,{label:`No, exit`,color:`gray`}))}]},{id:`Typography`,category:`components`,title:`Typography (RFC-269 文字层级)`,variants:[{name:`type-scale`,render:()=>H(Y,{flexDirection:`column`},H(O,{type:`primary`},`primary — 正文(终端默认前景)`),H(O,{type:`secondary`},`secondary — 次级/说明文字`),H(O,{type:`danger`},`danger — 错误态`),H(O,{type:`success`},`success — 成功态`),H(O,{type:`warning`},`warning — 警示态`),H(O,{type:`accent`},`accent — 品牌强调(守恒 ≤5%)`))}]},{id:`Tag`,category:`components`,title:`Tag (RFC-269 内联标签)`,variants:[{name:`view-label`,render:()=>H(Ve,{leadingSpace:!0},`Rendered`)},{name:`counter`,render:()=>H(Ve,null,`2/5`)}]},{id:`Kbd`,category:`components`,title:`Kbd (RFC-269 键位标签)`,variants:[{name:`single-key`,render:()=>H(p,null,`↵`)},{name:`chord`,render:()=>H(p,null,`⇧+↵`)}]},{id:`ProgressBar`,category:`components`,title:`ProgressBar (RFC-279)`,variants:[{name:`simple/ascii`,render:()=>H(Re,{percent:45,width:30,chars:`ascii`,color:L.accent})},{name:`simple/block`,render:()=>H(Re,{percent:68,width:24,chars:`block`,color:L.warning})},{name:`simple/dot`,render:()=>H(Re,{percent:30,width:10,chars:`dot`,color:L.suggestion})},{name:`segments`,render:()=>H(Re,{percent:0,width:30,chars:`block`,labelPosition:`prefix`,segments:[{key:`overhead`,width:4,color:L.accent},{key:`messages`,width:18,color:L.success},{key:`free`,width:8,color:L.inactive,dimColor:!0}]})},{name:`markers`,render:()=>H(Re,{percent:90,width:10,chars:`dot`,color:L.suggestion,markers:{prune:{pos:7,color:L.warning},compact:{pos:9,color:L.error}}})}]},{id:`ScrollableBody`,category:`components`,title:`ScrollableBody (RFC-271 滚动容器)`,variants:[{name:`overflow-with-hint`,render:()=>H(Xp,{visibleRows:5,offset:0},...Array.from({length:8},(e,t)=>H(X,{key:t},`row ${t+1}`)))},{name:`fits-no-scroll`,render:()=>H(Xp,{visibleRows:5,offset:0},...Array.from({length:3},(e,t)=>H(X,{key:t},`row ${t+1}`)))}]},{id:`IdleTipCard`,category:`components`,title:`IdleTipCard (空闲技巧卡片)`,variants:[{name:`with-tip`,render:()=>H(xm,{tip:`Ctrl+R 搜索历史命令`})}]},{id:`Icon`,category:`components`,title:`Icon (RFC-273 具名图标)`,variants:[{name:`named-icons`,render:()=>H(Y,{flexDirection:`column`},H(wm,{name:`pointer`,color:`selection`,trailingSpace:!0}),H(wm,{name:`check`,color:`success`}),H(wm,{name:`cross`,color:`error`}),H(wm,{name:`statusDot`,color:`accent`}))}]},{id:`DialogFrame`,category:`components`,title:`DialogFrame`,variants:[{name:`default`,render:()=>H(T,{header:H(y,{children:`Confirm action`}),children:H(I,{variant:`ghost`,color:`gray`,label:`Body content goes here`}),footer:`Enter confirm · Esc cancel`})}]},{id:`DialogTitle`,category:`components`,title:`DialogTitle`,variants:[{name:`default`,render:()=>H(y,{children:`Settings`})},{name:`warning-color`,render:()=>H(y,{color:L.warning,children:`Forced upgrade`})}]},{id:`HintBar`,category:`components`,title:`HintBar`,variants:[{name:`multi-hint`,render:()=>H(k,{items:[[`← →`,`select`],[`Enter`,`confirm`],[`y/n/a`,`shortcut`],[`Esc`,`cancel`]]})}]},{id:`LiveClock`,category:`components`,title:`LiveClock`,variants:[{name:`default`,render:()=>H(Em,{})}]},{id:`Spinner`,category:`components`,title:`Spinner`,variants:[{name:`responding`,render:()=>H(yd,{verb:`Thinking`,mode:`responding`,responseLength:128,tokens:6800,progressPercent:42})},{name:`requesting`,render:()=>H(yd,{verb:`Reticulating`,mode:`requesting`})},{name:`stalled`,render:()=>H(yd,{verb:`Waiting`,responseLength:64,hasActiveTools:!1,toolTurnCount:8,maxToolTurns:10})}]},{id:`StreamingSpinner`,category:`components`,title:`StreamingSpinner`,variants:[{name:`streaming`,render:()=>{let e=ol();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,outputTokensThisTurn:512,maxOutputTokens:4096,toolTurnCount:3,maxToolTurns:12,activeTool:null}),H(bd,{streamStore:e,pendingPermission:null})}}]},{id:`BreathingTool`,category:`components`,title:`BreathingTool`,variants:[{name:`default`,render:()=>H(il,{name:`grep`})}]},{id:`ThinkingLine`,category:`components`,title:`ThinkingLine`,variants:[{name:`default`,render:()=>H(nl,{tokens:6800,toolTurnCount:2,maxToolTurns:12,promptOutputTokens:1200,promptOutputTokenBudget:8e3})}]},{id:`PerfIndicator`,category:`components`,title:`PerfIndicator`,variants:[{name:`warning`,render:()=>H(Dm,{level:`warning`,usedPct:72.4})},{name:`critical`,render:()=>H(Dm,{level:`critical`,usedPct:91.2})},{name:`warning (no usedPct)`,render:()=>H(Dm,{level:`warning`})}]},{id:`NotificationBell`,category:`components`,title:`NotificationBell`,variants:[{name:`normal`,render:()=>H(Om,{count:3,hasUrgent:!1})},{name:`urgent`,render:()=>H(Om,{count:1,hasUrgent:!0})}]},{id:`Toast`,category:`components`,title:`Toast`,variants:[{name:`default`,render:()=>H(Am,{toast:{id:1,title:`Theme changed`,content:`Switched to dark theme`}})}]},{id:`Home`,category:`components`,title:`Home`,variants:[{name:`default`,render:()=>H(dd,{version:`0.1.0`,buildId:1234,cwd:`/home/user/project`})}]},{id:`SignalBar`,category:`components`,title:`SignalBar`,variants:[{name:`all counts (delegates active)`,render:()=>H(tf,{counts:{tasks:4,delegates:3,edited:7,subagents:2,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},currentPath:`/pane/delegates`,tabHint:`Tab to switch`})},{name:`partial (only non-zero signals shown)`,render:()=>H(tf,{counts:{tasks:0,delegates:0,edited:2,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},tabHint:`Tab to switch`})},{name:`clipboard copied (success)`,render:()=>H(tf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:128},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag`}})},{name:`clipboard failed (warning, no count)`,render:()=>H(tf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:0,clipboardFailed:!0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag for native copy`}})},{name:`empty (blank 1-row placeholder)`,render:()=>H(tf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`}})}]},{id:`StatusBar`,category:`components`,title:`StatusBar`,variants:[{name:`wide (full visibility)`,render:()=>H(Pm,{columns:120,footerVisible:iu(120),perfIndicatorLevel:`healthy`,perfIndicatorUsedPct:void 0,modelName:`claude-sonnet-4-5`,budget:{modelName:`claude-sonnet-4-5`,contextWindow:2e5,contextPercent:42,overheadTokens:2e3,messageTokens:82e3,pruneLine:16e4,compactLine:18e4},badgeEntries:[{id:`host:permission-mode`,text:`Auto`,separator:`dot`,tier:`narrow`,isHost:!0},{id:`host:cost`,text:`$0.12`,separator:`space`,tier:`medium`,isHost:!0},{id:`demo:status`,text:`demo-plugin ready`,separator:`space`,tier:`low`,isHost:!1}],fullScreenPaneActive:!1,backgroundTasks:[],scheduleEnabledCount:0,agentProcessing:!1,queuedItems:[],notifications:[],language:`en`,welcome:void 0,messages:[],hasHistory:!0})},{name:`narrow (agent processing)`,render:()=>H(Pm,{columns:60,footerVisible:iu(60),perfIndicatorLevel:`warning`,perfIndicatorUsedPct:78.5,modelName:`deepseek-v4`,budget:null,badgeEntries:[{id:`host:permission-mode`,text:`Autopilot`,color:`warning`,separator:`dot`,tier:`narrow`,isHost:!0}],fullScreenPaneActive:!1,backgroundTasks:[],scheduleEnabledCount:2,agentProcessing:!0,queuedItems:[],notifications:[],language:`zh`,welcome:void 0,messages:[],hasHistory:!0})}]},{id:`Checkbox`,category:`components`,title:`Checkbox`,variants:[{name:`checked`,render:()=>H(pm,{checked:!0,label:`Enable telemetry`,onChange:()=>{}})},{name:`unchecked`,render:()=>H(pm,{checked:!1,label:`Enable telemetry`,onChange:()=>{}})}]},{id:`List`,category:`components`,title:`List`,variants:[{name:`three-options`,render:()=>H(lt,{options:[{value:`a`,label:`model-a`,detail:`fast`},{value:`b`,label:`model-b`,detail:`balanced`},{value:`c`,label:`model-c`,detail:`deep`,disabled:!0}],onSelect:()=>{}})}]},{id:`ListItem`,category:`components`,title:`ListItem`,variants:[{name:`label-detail`,render:()=>H(Se,{label:`model-a`,detail:`fast · 200k ctx`})},{name:`disabled`,render:()=>H(Se,{label:`model-x`,detail:`unavailable`,disabled:!0})}]},{id:`Wordmark`,category:`components`,title:`Wordmark`,variants:[{name:`default`,render:()=>H(sd)}]},{id:`ScheduleIndicator`,category:`components`,title:`ScheduleIndicator`,variants:[{name:`two-scheduled`,render:()=>H(vm,{enabledCount:2})}]},{id:`PulseSurveyOverlay`,category:`components`,title:`PulseSurveyOverlay`,variants:[{name:`rating`,render:()=>H(_m,{item:{phase:`rating`,rating:null,selectedIndex:0,commentText:``,commentOffset:0,onSubmit:()=>{},onClose:()=>{}},columns:60})}]}],Lm=()=>{},Rm=Date.UTC(2026,6,10,12,0,0),zm=[{id:`t1`,title:`Read type contract`,status:`done`,turn:1},{id:`t2`,title:`Implement pane examples`,status:`in_progress`,turn:3},{id:`t3`,title:`Wire registry aggregation`,status:`pending`},{id:`t4`,title:`Skip redundant EditedFilesPane`,status:`skipped`,turn:2},{id:`t5`,title:`Run typecheck gate`,status:`failed`,turn:4}],Bm=[{id:`d1`,command:`refactor error handling in run-modes.ts`,type:`agent-session`,origin:`user`,status:`running`,agentStatus:`ready`,startedAt:Rm-92e3,diffStat:`+42/-18`,turnIndex:4,toolUseCount:11,tokenCount:8400,model:`claude-sonnet-4`,modelDecidedBy:`category`},{id:`d2`,command:`npm run build`,type:`process`,status:`running`,startedAt:Rm-45e3,port:5173},{id:`d3`,command:`grep -rn TODO packages/`,type:`process`,status:`exited`,startedAt:Rm-3e5,exitCode:0},{id:`d4`,command:`audit security surface`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`needs_input`,startedAt:Rm-15e3,turnIndex:2,toolUseCount:3,model:`deepseek-v4`}],Vm={id:`d1`,command:`refactor error handling in run-modes.ts`,status:`running`,prompt:`Refactor the error handling in run-modes.ts to use the shared classifier.`,responseText:`turn 4 ${R.check} 3 tools 2.1s\n activity editing run-modes.ts\n tokens 8.4k out · 11 tools`,text:`applying edit to run-modes.ts …
69
+ `).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]:[]},[s,g]),S=Ft(()=>{if(s===`full`)return b?.lines??[];if(s===`wholeFileDiff`){let t=x.reduce((e,t)=>e+t.lines.length,0),n=Zs(e.path);return ec(x,f&&n!==``&&t<=2e3?{highlight:Oa,lang:n}:{})}let t=zp(e),n=t.reduce((e,t)=>e+t.lines.length,0),r=Zs(e.path);return ec(t,f&&r!==``&&n<=2e3?{highlight:Oa,lang:r}:{})},[e,f,s,b,x]),C=s===`full`?b?.wrapMode??`truncate`:`truncate`,w=(e.operation===`delete`?e.oldContent:e.newContent)!=null,E=a!=null,D=Nt(()=>{c(e=>e===`diff`?E?`wholeFileDiff`:w?`full`:`diff`:e===`wholeFileDiff`&&w?`full`:`diff`)},[E,w]),O=E||w,k=V.t(`diff.fileOpLabel`,{context:e.operation}),ee=e.operation===`edit`?o.accent:e.operation===`write`?o.success:o.error,te=s===`wholeFileDiff`?g.status===`loading`?V.t(`diff.loading`):g.status===`error`?V.t(`diff.error`,{message:g.message}):void 0:e.oldContent==null&&e.newContent==null&&(e.addedLines>0||e.removedLines>0)?V.t(`common.contentUnavailable`):void 0,A=Ft(()=>s!==`wholeFileDiff`||g.status!==`ready`?null:po(x),[s,g.status,x]),ne=(oe()?.currentPath??`/`).endsWith(`/find`),j=e=>{let t=p();t&&(e&&!t.currentPath.endsWith(`/find`)?t.navigate(t.currentPath+`/find`):!e&&t.currentPath.endsWith(`/find`)&&t.goBack())};return q(sc,{lines:S,rows:t,header:J(Y,{children:[q(X,{color:ee,bold:!0,children:k}),J(X,{color:o.text,children:[` `,e.path]}),s===`wholeFileDiff`?q(T,{leadingSpace:!0,children:V.t(`diff.modeLabel`)}):s===`full`&&y.length>1&&b?q(T,{leadingSpace:!0,children:b.label}):null,J(d,{type:`secondary`,children:[` `,V.t(`diff.linesTotalLabel`,{count:S.length}),s===`wholeFileDiff`&&A?J(It,{children:[A.added>0&&` +${A.added}`,A.removed>0&&` -${A.removed}`,` `,`(`,V.t(`diff.modeLabel`),`)`]}):J(It,{children:[e.addedLines>0&&` +${e.addedLines}`,e.removedLines>0&&` -${e.removedLines}`]})]})]}),onDismiss:r,onKey:(e,t)=>e===`f`&&O?(D(),!0):e===`]`&&s===`full`&&y.length>1?(u(e=>(e+1)%y.length),!0):!1,initialScroll:`bottom`,emptyMessage:te,active:i,contentKey:`${e.path}:${s}:${b?.id??``}:${g.status}`,columns:n,wrapMode:s===`full`?C:`truncate`,extraHints:[...O?[[`f`,V.t(`hint.switch`)]]:[],...s===`full`&&y.length>1?[[`]`,V.t(`hint.tabSwitchOutput`)]]:[],[B.tab,V.t(`hint.tabFocus`)]],findActive:ne,onFindModeChange:j})}function Vp({tasks:e,rows:n,onDismiss:r}){let i=L(),a=Ft(()=>e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService),[e]),[o,s]=K(0),c=Math.max(3,n-6),l=Math.max(0,a.length-c),u=Math.min(o,l),p=a.slice(u,u+c),m=a.length===0;return O({tabIndex:0,id:`services-dialog`,onEscape:()=>(r(),!0)}),pd(e=>s(t=>Math.min(l,Math.max(0,t-e))),[l]),yt(`services-dialog`,(e,t)=>t.escape?(r(),!0):t.upArrow?(s(e=>Math.max(0,e-1)),!0):t.downArrow?(s(e=>Math.min(l,e+1)),!0):t.pageUp?(s(e=>Math.max(0,e-c)),!0):t.pageDown?(s(e=>Math.min(l,e+c)),!0):e===`g`&&!t.ctrl&&!t.meta?(s(0),!0):e===`G`&&!t.ctrl&&!t.meta?(s(l),!0):!1),q(M,{header:q(w,{children:V.t(`service.sTitle`)}),footer:q(f,{items:[[`${B.up}${B.down}/g/G`,V.t(`hint.scroll`)],[B.esc,V.t(`hint.close`)]]}),children:m?q(Y,{marginTop:t.tight,children:q(d,{type:`secondary`,dim:!0,children:V.t(`service.sEmpty`)})}):J(Y,{flexDirection:`column`,children:[q(Y,{height:1,children:u>0?q(_,{hasMore:!0,count:u}):q(X,{children:` `})}),p.map((e,n)=>{let r=e.detectedService,a=r.url?r.url.replace(/^https?:\/\//,``).replace(/^wss?:\/\//,``).replace(/\/$/,``):`:${r.port}`,o=r.protocol===`ws`?`ws`:r.protocol===`tcp`?`tcp`:`http`;return J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:i.accent,children:`↕ `}),q(X,{color:i.selection,children:a})]}),q(Y,{marginLeft:t.section,children:J(d,{type:`secondary`,dim:!0,children:[e.command,` · `,o,r.port?` · :${r.port}`:``]})})]},u+n)}),q(Y,{height:1,children:u+c<a.length?q(C,{hasMore:!0,count:a.length-u-c}):q(X,{children:` `})})]})})}function Hp({command:e,output:t,rows:n,columns:r,onDismiss:i,active:a=!0,isError:o=!1,onCopyOutput:s,onAskAi:c,scrollStore:l}){let u=G(a);W(()=>{u.current&&!a&&i(),u.current=a},[a,i]);let d=Ft(()=>t.split(`
70
+ `),[t]),f=(e,t)=>e===`c`&&!t.ctrl&&!t.meta&&s?(s(),!0):e===`a`&&!t.ctrl&&!t.meta&&o&&c?(c(),!0):!1,m=[...s?[[`c`,V.t(`shell.copyHint`)]]:[],...o&&c?[[`a`,V.t(`shell.hint`)]]:[]],h=(oe()?.currentPath??`/`)===`/viewer/shell-output/find`;return q(sc,{lines:d,rows:n,columns:r,wrapMode:`truncate`,scrollStore:l,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[J(w,{children:[`>`,` `,e]}),q(X,{dimColor:!0,children:V.t(`diff.linesTotalLabel`,{count:d.length})})]}),onDismiss:i,onKey:f,extraHints:m.length>0?m:void 0,initialScroll:`top`,active:a,contentKey:e,findActive:h,onFindModeChange:e=>{let t=p();t&&(e&&t.currentPath===`/viewer/shell-output`?t.navigate(`/viewer/shell-output/find`):!e&&t.currentPath===`/viewer/shell-output/find`&&t.goBack())}})}function Up(e){let t=Zl(),{stdout:n}=Wt(),{currentPath:r,stack:i,dismiss:a}=ce(),o=e=>i.some(t=>t.path===e),{taskStore:s}=Gl(),c=Z(s.store,e=>e.backgroundOutput),l=Z(s.store,e=>e.editedFiles),u=Z(s.store,e=>e.backgroundTasks),{columns:d,rows:f,fullScreenPaneActive:p,shellFullOutput:m,shellExecution:h,setShellFullOutput:g,editedFileFullIndex:_,closeEditedFileFull:v,resolveWholeFileDiff:y}=e;return J(It,{children:[!p&&!m&&h&&q(Rp,{exec:h,totalLines:h.output.split(`
71
+ `).length,columns:d,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi,onAbort:t.onShellAbort,onDismiss:t.onShellDismiss,onViewFullOutput:g,active:r===`/pane/shell`}),c&&q(Bd,{view:c,columns:d,rows:n?.rows,active:r===`/pane/delegates/output`,onDismiss:t.onBackgroundOutputClose}),_!==null&&_<l.length&&q(Bp,{file:l[_],rows:n?.rows??f,columns:d,onDismiss:v,active:r.startsWith(`/pane/edited-files/`),resolveWholeFileDiff:y}),o(`/overlay/services`)&&q(j,{path:`/overlay/services`,inStack:!0,element:q(Vp,{tasks:u,columns:d,rows:n?.rows??f,onDismiss:()=>{a(`/overlay/services`)}})}),m&&q(Hp,{command:m.command,output:m.output,rows:n?.rows??f,columns:d,onDismiss:()=>g(null),active:r===`/viewer/shell-output`,scrollStore:e.scrollStore,isError:m.isError,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi?()=>{t.onShellAskAi?.(),g(null),t.onShellDismiss?.()}:void 0})]})}function Wp(e,t){switch(e){case`healthy`:return t.accent;case`warning`:return t.warning;case`critical`:return t.error}}function Gp(e){return`${(e/1024/1024).toFixed(1)}MB`}function Kp({memory:e,history:t}){let n=L();return e?J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:Wp(e.level,n),bold:!0,children:e.level}),J(d,{type:`secondary`,children:[` `,e.usedPct.toFixed(1),`%`]}),t.length>=2&&J(d,{type:`secondary`,children:[` `,fa(t,20)]})]}),J(d,{type:`secondary`,children:[Gp(e.heapUsed),` / `,Gp(e.heapSizeLimit),` heap`]})]}):q(d,{type:`secondary`,children:`collecting…`})}function qp({notify:e}){let t=L();if(!e)return q(d,{type:`secondary`,dim:!0,children:`渲染数据将在 M2 接入`});let n=e.coalescedCalls===0,r=n?`idle`:e.alert;return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:n?t.inactive:e.alert===`warning`?t.warning:t.accent,bold:!0,children:r}),J(d,{type:`secondary`,children:[` `,e.coalesceRatio.toFixed(1),`x merge`]})]}),J(d,{type:`secondary`,children:[`coalesced `,e.coalescedCalls,`→`,e.coalescedFires,` · direct `,e.immediateCalls,` · flush `,e.flushFires]})]})}function Jp(e){let t=typeof e==`string`?e:JSON.stringify(e);return t===void 0?`undefined`:l(t,121)}function Yp({metrics:e,maxRows:n=1/0}){let r=L();if(e.length===0)return null;let i=e.slice(0,n),a=e.length-i.length;return J(Y,{flexDirection:`column`,children:[q(Y,{marginTop:t.loose,marginBottom:t.tight,children:q(d,{type:`secondary`,bold:!0,children:`Plugins`})}),i.map(e=>J(Y,{flexDirection:`row`,children:[q(X,{color:r.suggestion,children:e.label}),q(d,{type:`secondary`,children:` `}),e.error?J(X,{color:r.error,children:[`error: `,e.error]}):q(d,{type:`secondary`,children:Jp(e.value)})]},e.id)),a>0&&J(d,{type:`secondary`,dim:!0,children:[` `,a,` more`]})]})}function Xp({perfStore:e,onDismiss:r,onRefresh:i,rows:a=24}){let o=L(),s=Z(e.store,e=>e),c=oe();return yt(`perf-panel`,(e,t)=>{if(t.escape){r();return}e===`r`&&i()},{isActive:c?c.currentPath===`/pane/perf`:!0}),q(M,{header:q(X,{color:o.secondary,bold:!0,children:`Performance`}),footer:q(f,{items:[[B.esc,V.t(`hint.close`)],[`r`,V.t(`hint.refresh`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[q(Y,{marginBottom:t.tight,children:q(d,{type:`secondary`,bold:!0,children:`Memory`})}),q(Kp,{memory:s.memory,history:s.memoryHistory}),q(Y,{marginTop:t.loose,marginBottom:t.tight,children:q(d,{type:`secondary`,bold:!0,children:`Rendering`})}),q(qp,{notify:s.notify}),q(Yp,{metrics:s.pluginMetrics,maxRows:n(9+s.pluginMetrics.length+7,a)-9-7})]})})}function Zp(e,t,n,r){let i=Math.max(0,n-r);return e.upArrow?Math.max(0,t-1):e.downArrow?Math.min(i,t+1):e.pageUp?Math.max(0,t-r):e.pageDown?Math.min(i,t+r):null}function Qp({children:e,visibleRows:t,offset:n,showHint:r=!0,onScroll:i}){let a=Ft(()=>H.Children.toArray(e),[e]),o=la();W(()=>{if(!(!o||!i))return o.registerWheel(e=>{i(oa(n,e,a.length,t))})},[o,i,a.length,t]);let s=a.length>t,c=s&&r?Math.max(1,t-1):t,l=ia(a.length,c,n);return J(Y,{flexDirection:`column`,children:[a.slice(l.start,l.end),s&&r&&q(d,{type:`secondary`,children:l.below>0?` ↓ ${l.below} more${l.above>0?` · ↑ ${l.above}`:``}`:` ↑ ${l.above} above`})]})}function $p(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}m`}function em(e,t){return e>=80?t.accent:e>=40?t.warning:t.error}function tm({ratio:e,width:t}){let n=L(),r=Math.max(0,Math.min(100,Math.round(e*100))),i=Math.min(24,Math.max(8,t-20)),a=em(r,n);return J(Y,{children:[J(X,{color:a,bold:!0,children:[String(r).padStart(3),`%`,` `]}),q(Re,{percent:r,width:i,chars:`block`,color:a,labelPosition:`none`})]})}function nm({label:e}){return J(d,{type:`secondary`,dim:!0,children:[e,`: n/a(供应商未报告缓存数据)`]})}function rm({row:e,width:t}){let n=L(),r=e.cacheReadTokens+e.cacheWriteTokens+e.inputTokens,i=e.hitRatio===null?`n/a`:`${Math.round(e.hitRatio*100)}%`,a=e.hitRatio===null?n.inactive:em(Math.round(e.hitRatio*100),n),o=`${e.modelName} read ${$p(e.cacheReadTokens)} · write ${$p(e.cacheWriteTokens)} · total ${$p(r)}`;return J(Y,{justifyContent:`space-between`,children:[q(X,{color:n.suggestion,children:l(o,t-8)}),q(X,{color:a,bold:e.hitRatio!==null,children:i})]})}function im({view:e,width:t,colors:n}){if(!e)return[q(d,{type:`secondary`,children:`collecting…`},`collecting`)];if(!(e.totalCacheReadTokens+e.totalCacheWriteTokens+e.totalInputTokens>0))return[q(d,{type:`secondary`,children:`本会话暂无缓存用量数据`},`nodata`)];let r=[];if(r.push(q(d,{type:`secondary`,bold:!0,children:`Session hit rate`},`h-session`)),r.push(e.sessionHitRatio===null?q(nm,{label:V.t(`cache.sessionLabel`)},`v-session`):q(tm,{ratio:e.sessionHitRatio,width:t},`v-session`)),r.push(q(Y,{},`gap-1`)),r.push(q(d,{type:`secondary`,bold:!0,children:`Last turn`},`h-last`)),r.push(e.lastTurnHitRatio===null?q(nm,{label:V.t(`cache.lastTurnLabel`)},`v-last`):q(tm,{ratio:e.lastTurnHitRatio,width:t},`v-last`)),r.push(q(Y,{},`gap-2`)),r.push(q(d,{type:`secondary`,children:`cache read ${$p(e.totalCacheReadTokens)} · cache write ${$p(e.totalCacheWriteTokens)} · input ${$p(e.totalInputTokens)}`},`totals`)),e.totalCostUSD!==void 0&&e.totalCostUSD>0&&r.push(q(X,{color:n.suggestion,children:`~$${e.totalCostUSD.toFixed(4)}`},`cost`)),e.perModel.length>1){r.push(q(Y,{},`gap-3`)),r.push(q(d,{type:`secondary`,bold:!0,children:`By model`},`h-model`));for(let n of e.perModel)r.push(q(rm,{row:n,width:t},n.modelId))}return r}function am({cacheStore:e,onDismiss:n,rows:r=24}){let i=L(),a=Z(e.store,e=>e),[o,s]=K(0),c=im({view:a.view,width:60,colors:i}),l=Math.max(1,k(r)-7),u=oe();return yt(`cache-panel`,(e,t)=>{if(t.escape){n();return}let r=Zp(t,o,c.length,l);r!==null&&s(r)},{isActive:u?u.currentPath===`/pane/cache`:!0}),q(M,{header:q(X,{color:i.secondary,bold:!0,children:`Cache`}),footer:q(f,{items:[[B.esc,V.t(`hint.close`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:q(Y,{marginTop:t.tight,flexDirection:`column`,children:q(Qp,{visibleRows:l,offset:o,onScroll:s,children:c})})})}function om(e,t,n,r=[],i){let[a,o]=K(0),[s,c]=K(!1),l=e.length+r.length,u=l>0?Math.min(a,l-1):0,d=u>=e.length,f=e=>{if(e.kind===`input`){c(!0),t({kind:`input`,title:e.title??e.label,placeholder:e.placeholder,mask:e.mask}).then(t=>{t!=null&&t.trim()&&n(e.id,t.trim())}).finally(()=>c(!1));return}if(e.kind===`switch`){n(e.id,!e.value);return}if(e.kind===`select`){c(!0),t({kind:`select`,title:e.title??e.label,options:e.options,onSelect:t=>{c(!1),n(e.id,t)},onCancel:()=>c(!1)});return}};return{selectedIndex:u,editing:s,handleKey:(t,n)=>{if(s||l===0)return!1;if(ue(`list-nav-up`,t,n))return o(e=>(e-1+l)%l),!0;if(ue(`list-nav-down`,t,n))return o(e=>(e+1)%l),!0;if(n.return){if(d){let t=r[u-e.length];return t&&i?.(t.id),!0}let t=e[u];return t&&f(t),!0}return!1},isTrailingSelected:d}}function sm({field:e,selected:t,emptyLabel:n=`未设置`}){let r=L(),i=t?tt():be(),a=t?r.selection:void 0;if(e.kind===`switch`){let n=e.value?R.statusDot:R.toggleOff,o=e.value?e.onLabel??`已启用`:e.offLabel??`已停用`,s=e.value?r.accent:r.inactive;return J(X,{children:[J(X,{color:a,bold:t,children:[i,e.label]}),q(X,{color:r.inactive,children:` `}),J(X,{color:s,children:[n,` `,o]})]})}let o=e.value?e.value:n;return J(X,{children:[J(X,{color:a,bold:t,children:[i,e.label]}),q(X,{color:r.inactive,children:` `}),q(X,{color:r.inactive,dimColor:!e.value,children:o})]})}function cm(e){try{let t=new URL(e);return t.password?e.replace(`:${t.password}@`,`:••••@`):e}catch{return e}}function lm({view:e,onDismiss:n,onOpenModal:r,onSubmitUrl:i,onToggleEnabled:a,onClear:o,onTest:s,rows:c=24}){let l=L(),u=e.url?e.enabled===!1?`disabled`:`enabled`:`unconfigured`,p=e.url?[{kind:`input`,id:`url`,label:V.t(`proxy.fieldUrl`),value:cm(e.url),title:V.t(`proxy.dialogEditUrl`),placeholder:V.t(`proxy.urlPlaceholder`)},{kind:`switch`,id:`enabled`,label:V.t(`proxy.fieldEnabled`),value:u===`enabled`,onLabel:V.t(`proxy.stateEnabled`),offLabel:V.t(`proxy.stateDisabled`)}]:[{kind:`input`,id:`url`,label:V.t(`proxy.fieldUrl`),value:``,title:V.t(`proxy.dialogSetUrl`),placeholder:V.t(`proxy.urlPlaceholder`)}],m=(e,t)=>{e===`url`&&typeof t==`string`&&i(t),e===`enabled`&&typeof t==`boolean`&&a()},h=u!==`unconfigured`,g=u===`unconfigured`?e.detectedEnvProxy:void 0,_=[...g?[{id:`adopt-env`,label:V.t(`proxy.actionAdoptEnv`,{value:cm(g.value),source:g.source})}]:[],...h&&s?[{id:`test`,label:V.t(`proxy.actionTest`)}]:[],...h?[{id:`clear`,label:V.t(`proxy.actionClear`)}]:[]],[v,y]=K(!1),b=()=>{y(!0),r({kind:`confirm`,title:V.t(`proxy.clearTitle`),message:V.t(`proxy.clearMessage`,{url:e.url??``}),confirmLabel:V.t(`proxy.clearConfirm`),confirmColor:`red`,dangerous:!0,onConfirm:()=>{y(!1),o()},onCancel:()=>y(!1)})},{selectedIndex:x,editing:S,handleKey:C,isTrailingSelected:w}=om(p,r,m,_,e=>{e===`clear`&&b(),e===`test`&&s?.(),e===`adopt-env`&&g&&i(g.value)}),T=S||v,E=Math.max(1,k(c)-7),D=1+(w?p.length:x),O=Math.max(0,D-E+2),ee=e.url&&e.enabled!==!1?e.url:void 0,te=e.effectiveUrl!==ee,A=e.probe,ne=null;A&&A.status!==`idle`?ne=A.status===`probing`?q(d,{type:`secondary`,children:V.t(`proxy.probeProbing`)},`note`):A.status===`ok`?J(X,{color:l.success,children:[R.check,` `,V.t(`proxy.probeOk`,{latency:A.latencyMs,target:A.target})]},`note`):J(X,{color:A.blamesProxy?l.error:l.warning,children:[R.cross,` `,V.t(A.blamesProxy?`proxy.probeFailedProxy`:`proxy.probeFailedTarget`,{reason:A.reason})]},`note`):u!==`unconfigured`&&te&&(ne=J(X,{color:l.warning,children:[R.warn,` `,e.effectiveUrl?V.t(`proxy.effectiveMismatch`,{effective:cm(e.effectiveUrl)}):V.t(`proxy.effectiveNotApplied`)]},`note`));let j=la();return W(()=>{if(j)return j.registerWheel(e=>{if(T)return;let t=Math.abs(e)*3,n={upArrow:e>0,downArrow:e<0};for(let e=0;e<t;e++)C(``,n)})},[j,T,C]),yt(`proxy-pane`,(e,t)=>{if(t.escape){n();return}C(e,t)},{isActive:!T}),q(M,{header:q(X,{color:l.secondary,bold:!0,children:V.t(`proxy.title`)}),footer:T?void 0:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`hint.execute`)],[B.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:t.tight,flexDirection:`column`,children:J(Qp,{visibleRows:E,offset:O,children:[q(bt,{label:V.t(`proxy.groupConfig`),indent:``},`h-config`),p.map((e,t)=>q(sm,{field:e,selected:!T&&t===x,emptyLabel:V.t(`proxy.urlEmpty`)},e.id)),_.map((e,t)=>{let n=w&&!T&&x-p.length===t,r=e.id===`clear`?l.error:void 0;return J(X,{color:n?l.selection:r,bold:n,children:[n?tt():be(),e.label]},e.id)}),ne,q(X,{children:` `},`gap`),q(bt,{label:V.t(`proxy.groupAbout`),indent:``},`h-about`),q(d,{type:`secondary`,children:V.t(`proxy.aboutScope`)},`d1`),q(d,{type:`secondary`,children:V.t(`proxy.aboutLoopback`)},`d2`),q(d,{type:`secondary`,children:V.t(`proxy.aboutStorage`,{path:e.configPath})},`d3`),q(d,{type:`secondary`,dim:!0,children:V.t(`proxy.aboutCommand`)},`d4`)]})})})}function um(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function dm(e){switch(e.kind){case`compact`:{let t=e.before&&e.before>0?Math.round((e.after??0)/e.before*100):0;return V.t(`compact.logCompactRow`,{before:e.before??0,after:e.after??0,pct:t})}case`prune`:return e.prunedCount===void 0?V.t(`compact.logPruneRow`,{tokensSaved:e.tokensSaved??0}):V.t(`compact.logPruneRow`,{context:`pruned`,count:e.prunedCount,tokensSaved:e.tokensSaved??0});case`history_capped`:return V.t(`compact.logHistoryCappedRow`,{count:e.removedCount??0})}}const fm={compact:`compact`,prune:`prune`,history_capped:`history`};function pm({entry:e}){return e.kind===`compact`?J(Y,{flexDirection:`column`,children:[q(d,{type:`secondary`,children:dm(e)}),q(Y,{marginTop:t.tight,children:e.summary?q(X,{children:e.summary}):q(d,{type:`secondary`,dim:!0,children:V.t(`compact.logNoSummary`)})})]}):q(d,{type:`secondary`,children:dm(e)})}function mm({entries:e,onClose:r,rows:i=24}){let a=L(),[o,s]=ra(`compactionLog`,e.length),c=oe(),l=c?.currentPath??`/`,u=c?l.startsWith(`/pane/compaction-log`):!0,m=l.match(/^\/pane\/compaction-log\/(\d+)$/),h=m?Number(m[1]):null,g=e=>{let t=p();t&&(e==null?t.currentPath.startsWith(`/pane/compaction-log/`)&&t.goBack():t.navigate(`/pane/compaction-log/${e}`))},_=e.length===0?0:Math.min(o,e.length-1),v=h==null?void 0:e.find(e=>e.id===h),y=G(0),b=xt(e,_,n(e.length+7,i)-7,y.current);return y.current=b.scrollTop,yt(`compaction-log-dialog`,Nt((t,n)=>{if(n.escape){v?g(null):r();return}if(!v){if(ue(`list-nav-up`,t,n)){s(t=>e.length===0?0:(t-1+e.length)%e.length);return}if(ue(`list-nav-down`,t,n)){s(t=>e.length===0?0:(t+1)%e.length);return}if(n.return){let t=e[_];t&&g(t.id)}}},[v,e,_,r]),{isActive:u}),v?q(M,{header:q(X,{color:a.secondary,bold:!0,children:V.t(`compact.logDetailTitle`,{kind:fm[v.kind],time:um(v.timestamp)})}),footer:q(f,{items:[[B.esc,V.t(`hint.cancel`)]]}),children:q(Y,{marginTop:t.tight,flexDirection:`column`,children:q(pm,{entry:v})})}):q(M,{header:q(X,{color:a.secondary,bold:!0,children:V.t(`compact.logTitle`)}),footer:q(f,{items:[[`${B.up}${B.down}`,V.t(`hint.select`)],[B.enter,V.t(`compact.logViewSummary`)],[B.esc,V.t(`hint.cancel`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:t.tight,flexDirection:`column`,children:[e.length===0?q(d,{type:`secondary`,dim:!0,children:V.t(`compact.logEmpty`)}):b.rows.map((e,t)=>{let n=b.scrollTop+t===_;return q(Y,{flexDirection:`row`,children:J(X,{color:n?a.selection:a.inactive,bold:n,children:[n?tt():be(),um(e.timestamp),` `,fm[e.kind].padEnd(8),` `,dm(e)]})},e.id)}),b.fillerCount>0&&Array.from({length:b.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function hm({checked:e,onChange:t,label:n,tabIndex:r=0,disabled:i=!1}){let a=L(),{focused:o}=O({tabIndex:r,disabled:i});We(o,(n,r)=>n===` `?(t(!e),!0):!1);let s=e?R.check:R.todoPending;return J(X,{color:o?a.selection:e?a.success:a.inactive,children:[o?tt():be(),s,` `,n]})}function gm({options:e,selected:t,onSelect:n,onPick:r,escapeIndex:i,tabIndex:a=0}){return U(ve.Root,{onPick:r,activeIndex:t,onActiveChange:n,escapeIndex:i,tabIndex:a,id:`choices-${e.map(e=>e.key).join(`-`)}`},...e.map(e=>U(ve.Item,{key:e.key,label:e.label,color:e.color,shortcut:e.shortcut})))}const _m=[`good`,`neutral`,`bad`];function vm(e){switch(e){case`good`:return V.t(`pulse.ratingGood`);case`neutral`:return V.t(`pulse.ratingNeutral`);case`bad`:return V.t(`pulse.ratingBad`)}}function ym({item:e,columns:n=60,onChange:r}){if(O({tabIndex:0,id:`pulse-survey-overlay`,onEscape:()=>{if(e.phase===`rating`)return!1;let t=e.rating??`good`,n=e.commentText.length>0?e.commentText:void 0;return e.onSubmit(t,n),e.onClose(),!0}}),yt(`pulse-survey-overlay`,(t,i)=>{if(e.phase===`rating`)return i.escape?(e.onClose(),!0):!1;let a=e.rating??`good`,o=()=>{let t=e.commentText.length>0?e.commentText:void 0;e.onSubmit(a,t),e.onClose()};if(i.return||i.escape)return o(),!0;if(i.leftArrow){let t=De.fromText(e.commentText,n,e.commentOffset).left();return r?.({commentText:t.text,commentOffset:t.offset}),!0}if(i.rightArrow){let t=De.fromText(e.commentText,n,e.commentOffset).right();return r?.({commentText:t.text,commentOffset:t.offset}),!0}if(t.length>1&&!i.ctrl&&!i.meta&&!i.backspace&&!i.delete&&!i.tab&&!i.upArrow&&!i.downArrow){let n=Te(t);return n&&r?.({commentText:e.commentText.slice(0,e.commentOffset)+n+e.commentText.slice(e.commentOffset),commentOffset:e.commentOffset+n.length}),!0}let s={name:i.backspace?`backspace`:i.delete?`delete`:i.tab?`tab`:t||`unknown`,ctrl:i.ctrl??!1,shift:!1,alt:i.meta??!1,meta:i.meta??!1},c=nt(De.fromText(e.commentText,n,e.commentOffset),s);return c?c.action===`submit`||c.action===`submit_force`?(o(),!0):(r?.({commentText:c.cursor.text,commentOffset:c.cursor.offset}),!0):!1}),e.phase===`rating`){let n=_m.map(e=>({key:e,label:vm(e)}));return q(M,{header:q(w,{children:V.t(`pulse.title`)}),footer:q(X,{children:V.t(`pulse.hintRating`)}),children:q(Y,{marginTop:t.tight,children:q(gm,{options:n,selected:e.selectedIndex,onSelect:e=>r?.({selectedIndex:e}),onPick:t=>{if(t>=n.length){e.onClose();return}r?.({phase:`comment`,rating:_m[t]??`good`})},escapeIndex:n.length})})})}return q(M,{header:q(w,{children:e.rating?V.t(`pulse.commentTitle`,{ratingLabel:vm(e.rating)}):V.t(`pulse.title`)}),footer:q(X,{children:V.t(`pulse.hintComment`)}),children:q(Y,{marginTop:t.tight,flexDirection:`row`,children:q(mt,{value:e.commentText,offset:e.commentOffset,columns:n,mode:`dialog`,placeholder:V.t(`pulse.commentPlaceholder`),focused:!0,physicalCursor:!0})})})}function bm({enabledCount:e}){let t=L();return e===0?null:q(X,{color:t.accent,children:` * ${e} scheduled`})}function xm({title:e,indent:n=t.section,titleIndent:r,children:i}){return J(Y,{flexDirection:`column`,children:[e!=null&&q(bt,{label:e,indent:r}),q(Y,{marginLeft:n,flexDirection:`column`,children:i})]})}const Sm=Math.max(...Iu.map(e=>Math.max(ut(e.en),ut(e.zh))));function Cm({tip:e}){let{resolvedTheme:n}=b();if(!e)return null;let r=V.t(`welcome.tipLabel`),i=ut(r)+1+Sm+t.tight*2,a=ut(e),o=a<Sm?e+` `.repeat(Sm-a):e,s=(n===`light`?Hu:Vu)[Ju(0)],c=Yu(i,0,n);return J(Y,{flexDirection:`column`,alignSelf:`flex-start`,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:s,children:`╭`}),c.map((e,t)=>q(X,{color:e,children:`─`},t)),q(X,{color:s,children:`╮`})]}),J(Y,{flexDirection:`row`,children:[q(X,{color:s,children:`│`}),J(Y,{flexDirection:`row`,paddingX:t.tight,children:[J(d,{type:`accent`,children:[r,` `]}),q(d,{type:`secondary`,children:o})]}),q(X,{color:s,children:`│`})]}),J(Y,{flexDirection:`row`,children:[q(X,{color:s,children:`╰`}),c.map((e,t)=>q(X,{color:e,children:`─`},t)),q(X,{color:s,children:`╯`})]})]})}const wm={pointer:R.pointer,check:R.check,cross:R.cross,bullet:R.bullet,todoPending:R.todoPending,todoActive:R.todoActive,todoDone:R.todoDone,toggleOn:R.toggleOn,toggleOff:R.toggleOff,statusDot:R.statusDot,warn:R.warn,ellipsis:R.ellipsis};function Tm(e,t){if(e)return t[e]}function Em({name:e,color:t,bold:n,dim:r,trailingSpace:i}){return J(X,{color:Tm(t,L()),bold:n,dimColor:r,children:[wm[e],i?` `:``]})}function Dm(e){let t=new Date,n=e=>String(e).padStart(2,`0`),r=`${n(t.getHours())}:${n(t.getMinutes())}`;return e?`${r}:${n(t.getSeconds())}`:r}function Om({color:e,dimColor:t=!0,showSeconds:n=!1}){let r=L(),[i,a]=K(()=>Dm(n));return W(()=>{let e=setInterval(()=>{a(Dm(n))},n?1e3:3e4);return()=>clearInterval(e)},[n]),q(X,{color:e??r.inactive,dimColor:t,children:i})}function km({level:e,usedPct:t}){let n=L();return e===`healthy`?q(Y,{}):q(Y,{flexDirection:`row`,children:J(X,{color:e===`critical`?n.error:n.warning,children:[` `,`<mem`,e===`critical`?`!!`:`!`,t===void 0?``:` ${Math.round(t)}%`,`> `]})})}function Am({count:e,hasUrgent:t}){let n=L();return e===0?q(Y,{}):q(Y,{flexDirection:`row`,children:J(X,{color:t?n.warning:n.accent,children:[` [`,e,`!]`]})})}const jm=3500;function Mm({toast:e,onDismiss:n}){return O({tabIndex:0,id:`toast`,onEscape:()=>(n?.(),!0),onAction:()=>(n?.(),!0)}),yt(`toast`,(e,t)=>t.ctrl?!1:(n?.(),!0)),q(M,{header:q(w,{children:e.title}),footer:q(f,{items:[[B.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:t.tight,children:q(X,{children:e.content})})})}function Nm(e,t=10,n){let r=Math.max(1,Math.floor(t)),i=a({percent:e,width:r}),o=i.pct,s=i.filledCount,c=o>=90?I.error:o>=80?I.warning:I.suggestion,l=n?.prune!==void 0&&Number.isFinite(n.prune)?Math.max(0,Math.min(r-1,Math.round(n.prune/100*r))):null,u=n?.compact!==void 0&&Number.isFinite(n.compact)?Math.max(0,Math.min(r-1,Math.round(n.compact/100*r))):null,d=i.cells.map(e=>e.filled?`▰`:`▱`),f=d.join(``),p=d.map((e,t)=>({char:e,isPrune:l===t,isCompact:u===t}));return{pct:o,filled:s,total:r,color:c,bar:f,label:`${f} ${o}%`,segments:p}}function Pm({tasks:e=[]}){let t=L(),n=e.filter(e=>e.status===`running`).length,[r,i]=K(()=>Date.now());W(()=>{if(n===0)return;i(Date.now());let e=setInterval(()=>i(Date.now()),1e3);return()=>clearInterval(e)},[n]);let a=xo(e,r);return a?q(X,{color:t.accent,children:` · ${a}`}):null}function Fm({tasks:e=[]}){let t=L(),n=So(e);return n?q(X,{color:t.accent,children:` · ${n}`}):null}function Im({columns:e,footerVisible:t,perfIndicatorLevel:n,perfIndicatorUsedPct:r,modelName:a,budget:o,badgeEntries:s,fullScreenPaneActive:c,backgroundTasks:l,scheduleEnabledCount:u,agentProcessing:f,queuedItems:p,notifications:m,language:h,welcome:g,messages:_,hasHistory:v,paused:y=!1,pausePending:b=null,shadow:x=!1}){let S=L();return J(Y,{flexDirection:`row`,justifyContent:`space-between`,width:e,height:1,overflow:`hidden`,children:[J(Y,{flexDirection:`row`,children:[x&&q(X,{bold:!0,color:S.warning,children:`🕶 ${V.t(`welcome.shadowBadge`)} `}),t.perfIndicator&&q(km,{level:n,usedPct:r}),t.modelName&&a&&q(X,{color:S.suggestion,children:a}),t.occupancyBar&&o&&o.contextWindow>0&&(()=>{let e={prune:o.pruneLine>0?o.pruneLine/o.contextWindow*100:void 0,compact:o.compactLine>0?o.compactLine/o.contextWindow*100:void 0},t=Nm(o.contextPercent,10,e),n={},r=t.segments.findIndex(e=>e.isPrune),i=t.segments.findIndex(e=>e.isCompact);return r>=0&&(n.prune={pos:r,color:S.warning}),i>=0&&(n.compact={pos:i,color:S.error}),J(X,{children:[` `,q(Re,{percent:t.pct,width:t.total,chars:`dot`,color:t.color,markers:n,labelPosition:`suffix`,labelPrefix:o.live?`~`:``})]})})(),s.map(e=>J(X,{color:e.color===`warning`?S.warning:S.inactive,children:[e.separator===`dot`?` · `:` `,e.text]},e.id)),t.backgroundTaskIndicator&&!c&&q(Pm,{tasks:l}),t.scheduleIndicator&&!c&&q(bm,{enabledCount:u}),t.serviceIndicator&&q(Fm,{tasks:l})]}),J(Y,{flexDirection:`row`,children:[t.hintText&&q(X,{color:y||b?S.warning:S.inactive,children:b?`${V.t(`pause.toolCount`,{n:b.toolCount,s:b.elapsedSec})} /continue ${V.t(`pause.btnCancel`)}`:y?`${V.t(`cmd.titlePaused`)} · ${V.t(`hint.pausedContinue`)}`:f?e>=76?`${B.enter} ${V.t(`hint.steer`)} · ${se()} ${V.t(`hint.queue`)} · ${B.esc} ${p.length>0?V.t(`hint.delOne`):V.t(`hint.toInterrupt`)}`:`${B.esc}${p.length>0?` ${V.t(`hint.delOne`)}`:`/${i(`c`)} ${V.t(`hint.toInterrupt`)}`}`:e>=76?`${B.right} ${V.t(`hint.autosuggestAccept`)} · Tab ${V.t(`hint.autosuggestMenu`)} · ${i(`r`)} ${V.t(`hint.history`)} · /help`:`/help`}),t.notificationBell&&m.some(e=>!e.read)&&q(d,{type:`secondary`,children:` · `}),t.notificationBell&&q(Am,{count:m.filter(e=>!e.read).length,hasUrgent:m.some(e=>e.level===`error`&&!e.read)}),(()=>{let e=t.language&&!!h,n=t.liveClock&&!c&&(!g||_.length>0||v);return!e&&!n?null:J(d,{type:`secondary`,children:[` `,e&&(h===`zh`?`中`:`EN`),e&&n&&` `,n&&q(Om,{color:S.inactive,dimColor:!1})]})})()]})]})}const Lm=()=>{},Rm=[{id:`Button`,category:`components`,title:`Button`,variants:[{name:`solid/accent`,render:()=>U(F,{variant:`solid`,color:`accent`,label:`Approve`,focused:!0})},{name:`solid/amber`,render:()=>U(F,{variant:`solid`,color:`amber`,label:`Upgrade`,focused:!0})},{name:`solid/red`,render:()=>U(F,{variant:`solid`,color:`red`,label:`Delete`,focused:!0})},{name:`solid/green`,render:()=>U(F,{variant:`solid`,color:`green`,label:`Confirm`,focused:!0})},{name:`outline/accent`,render:()=>U(F,{variant:`outline`,color:`accent`,label:`Select`,focused:!0})},{name:`outline/gray`,render:()=>U(F,{variant:`outline`,color:`gray`,label:`Cancel`,focused:!1})},{name:`ghost/accent`,render:()=>U(F,{variant:`ghost`,color:`accent`,label:`Escape`,focused:!0})},{name:`ghost/gray`,render:()=>U(F,{variant:`ghost`,color:`gray`,label:`Dismiss`,focused:!1})},{name:`disabled`,render:()=>U(F,{variant:`solid`,color:`accent`,label:`Unavailable`,disabled:!0})}]},{id:`Segmented`,category:`components`,title:`Segmented`,variants:[{name:`three-tabs`,render:()=>U(Pd,{items:[{key:`events`,label:`Events`},{key:`tools`,label:`Tools`},{key:`budget`,label:`Budget`}],activeKey:`tools`})},{name:`with-disabled`,render:()=>U(Pd,{items:[{key:`events`,label:`Events`},{key:`stats`,label:`Stats`,disabled:!0}],activeKey:`events`,color:`amber`})}]},{id:`SegmentItem`,category:`components`,title:`SegmentItem`,variants:[{name:`active`,render:()=>U(Nd,{label:`Events`,active:!0})},{name:`inactive`,render:()=>U(Nd,{label:`Tools`,active:!1})}]},{id:`GroupDivider`,category:`components`,title:`GroupDivider`,variants:[{name:`default`,render:()=>U(bt,{label:`File`})}]},{id:`ScrollIndicatorAbove`,category:`components`,title:`ScrollIndicatorAbove`,variants:[{name:`with-count`,render:()=>U(_,{hasMore:!0,count:12})},{name:`no-count`,render:()=>U(_,{hasMore:!0})}]},{id:`ScrollIndicatorBelow`,category:`components`,title:`ScrollIndicatorBelow`,variants:[{name:`with-count`,render:()=>U(C,{hasMore:!0,count:7})},{name:`no-count`,render:()=>U(C,{hasMore:!0})}]},{id:`Group`,category:`components`,title:`Group`,variants:[{name:`with-title`,render:()=>U(xm,{title:`Settings`,children:U(X,{},`Auto-indented content`)})},{name:`no-title`,render:()=>U(xm,{children:U(X,{},`Indent only, no title divider`)})},{name:`custom-indent=4`,render:()=>U(xm,{title:`Wide indent`,indent:4,children:U(X,{},`Indented by 4 columns`)})}]},{id:`Choices`,category:`components`,title:`Choices`,variants:[{name:`vertical-numbered`,render:()=>U(gm,{options:[{key:`approve`,label:`Approve`,color:`green`,shortcut:`y`},{key:`deny`,label:`Deny`,color:`red`,shortcut:`n`},{key:`always`,label:`Always`,color:`accent`,shortcut:`a`}],selected:0,onSelect:Lm,onPick:Lm,escapeIndex:1})}]},{id:`Menu`,category:`components`,title:`Menu (RFC-268 竖排编号原语)`,variants:[{name:`composite-api`,render:()=>U(ve.Root,{onPick:Lm},U(ve.Item,{label:`Trust — full access`,color:`green`}),U(ve.Item,{label:`Read-only this session`,color:`accent`}),U(ve.Item,{label:`No, exit`,color:`gray`}))}]},{id:`Typography`,category:`components`,title:`Typography (RFC-269 文字层级)`,variants:[{name:`type-scale`,render:()=>U(Y,{flexDirection:`column`},U(d,{type:`primary`},`primary — 正文(终端默认前景)`),U(d,{type:`secondary`},`secondary — 次级/说明文字`),U(d,{type:`danger`},`danger — 错误态`),U(d,{type:`success`},`success — 成功态`),U(d,{type:`warning`},`warning — 警示态`),U(d,{type:`accent`},`accent — 品牌强调(守恒 ≤5%)`))}]},{id:`Tag`,category:`components`,title:`Tag (RFC-269 内联标签)`,variants:[{name:`view-label`,render:()=>U(T,{leadingSpace:!0},`Rendered`)},{name:`counter`,render:()=>U(T,null,`2/5`)}]},{id:`Kbd`,category:`components`,title:`Kbd (RFC-269 键位标签)`,variants:[{name:`single-key`,render:()=>U(v,null,`↵`)},{name:`chord`,render:()=>U(v,null,`⇧+↵`)}]},{id:`ProgressBar`,category:`components`,title:`ProgressBar (RFC-279)`,variants:[{name:`simple/ascii`,render:()=>U(Re,{percent:45,width:30,chars:`ascii`,color:I.accent})},{name:`simple/block`,render:()=>U(Re,{percent:68,width:24,chars:`block`,color:I.warning})},{name:`simple/dot`,render:()=>U(Re,{percent:30,width:10,chars:`dot`,color:I.suggestion})},{name:`segments`,render:()=>U(Re,{percent:0,width:30,chars:`block`,labelPosition:`prefix`,segments:[{key:`overhead`,width:4,color:I.accent},{key:`messages`,width:18,color:I.success},{key:`free`,width:8,color:I.inactive,dimColor:!0}]})},{name:`markers`,render:()=>U(Re,{percent:90,width:10,chars:`dot`,color:I.suggestion,markers:{prune:{pos:7,color:I.warning},compact:{pos:9,color:I.error}}})}]},{id:`ScrollableBody`,category:`components`,title:`ScrollableBody (RFC-271 滚动容器)`,variants:[{name:`overflow-with-hint`,render:()=>U(Qp,{visibleRows:5,offset:0},...Array.from({length:8},(e,t)=>U(X,{key:t},`row ${t+1}`)))},{name:`fits-no-scroll`,render:()=>U(Qp,{visibleRows:5,offset:0},...Array.from({length:3},(e,t)=>U(X,{key:t},`row ${t+1}`)))}]},{id:`IdleTipCard`,category:`components`,title:`IdleTipCard (空闲技巧卡片)`,variants:[{name:`with-tip`,render:()=>U(Cm,{tip:`Ctrl+R 搜索历史命令`})}]},{id:`Icon`,category:`components`,title:`Icon (RFC-273 具名图标)`,variants:[{name:`named-icons`,render:()=>U(Y,{flexDirection:`column`},U(Em,{name:`pointer`,color:`selection`,trailingSpace:!0}),U(Em,{name:`check`,color:`success`}),U(Em,{name:`cross`,color:`error`}),U(Em,{name:`statusDot`,color:`accent`}))}]},{id:`DialogFrame`,category:`components`,title:`DialogFrame`,variants:[{name:`default`,render:()=>U(M,{header:U(w,{children:`Confirm action`}),children:U(F,{variant:`ghost`,color:`gray`,label:`Body content goes here`}),footer:`Enter confirm · Esc cancel`})}]},{id:`DialogTitle`,category:`components`,title:`DialogTitle`,variants:[{name:`default`,render:()=>U(w,{children:`Settings`})},{name:`warning-color`,render:()=>U(w,{color:I.warning,children:`Forced upgrade`})}]},{id:`HintBar`,category:`components`,title:`HintBar`,variants:[{name:`multi-hint`,render:()=>U(f,{items:[[`← →`,`select`],[`Enter`,`confirm`],[`y/n/a`,`shortcut`],[`Esc`,`cancel`]]})}]},{id:`LiveClock`,category:`components`,title:`LiveClock`,variants:[{name:`default`,render:()=>U(Om,{})}]},{id:`Spinner`,category:`components`,title:`Spinner`,variants:[{name:`responding`,render:()=>U(bd,{verb:`Thinking`,mode:`responding`,responseLength:128,tokens:6800,progressPercent:42})},{name:`requesting`,render:()=>U(bd,{verb:`Reticulating`,mode:`requesting`})},{name:`stalled`,render:()=>U(bd,{verb:`Waiting`,responseLength:64,hasActiveTools:!1,toolTurnCount:8,maxToolTurns:10})}]},{id:`StreamingSpinner`,category:`components`,title:`StreamingSpinner`,variants:[{name:`streaming`,render:()=>{let e=sl();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,outputTokensThisTurn:512,maxOutputTokens:4096,toolTurnCount:3,maxToolTurns:12,activeTool:null}),U(xd,{streamStore:e,pendingPermission:null})}}]},{id:`BreathingTool`,category:`components`,title:`BreathingTool`,variants:[{name:`default`,render:()=>U(al,{name:`grep`})}]},{id:`ThinkingLine`,category:`components`,title:`ThinkingLine`,variants:[{name:`default`,render:()=>U(rl,{tokens:6800,toolTurnCount:2,maxToolTurns:12,promptOutputTokens:1200,promptOutputTokenBudget:8e3})}]},{id:`PerfIndicator`,category:`components`,title:`PerfIndicator`,variants:[{name:`warning`,render:()=>U(km,{level:`warning`,usedPct:72.4})},{name:`critical`,render:()=>U(km,{level:`critical`,usedPct:91.2})},{name:`warning (no usedPct)`,render:()=>U(km,{level:`warning`})}]},{id:`NotificationBell`,category:`components`,title:`NotificationBell`,variants:[{name:`normal`,render:()=>U(Am,{count:3,hasUrgent:!1})},{name:`urgent`,render:()=>U(Am,{count:1,hasUrgent:!0})}]},{id:`Toast`,category:`components`,title:`Toast`,variants:[{name:`default`,render:()=>U(Mm,{toast:{id:1,title:`Theme changed`,content:`Switched to dark theme`}})}]},{id:`Home`,category:`components`,title:`Home`,variants:[{name:`default`,render:()=>U(fd,{version:`0.1.0`,buildId:1234,cwd:`/home/user/project`})}]},{id:`SignalBar`,category:`components`,title:`SignalBar`,variants:[{name:`all counts (delegates active)`,render:()=>U(rf,{counts:{tasks:4,delegates:3,edited:7,subagents:2,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},currentPath:`/pane/delegates`,tabHint:`Tab to switch`})},{name:`partial (only non-zero signals shown)`,render:()=>U(rf,{counts:{tasks:0,delegates:0,edited:2,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},tabHint:`Tab to switch`})},{name:`clipboard copied (success)`,render:()=>U(rf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:128},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag`}})},{name:`clipboard failed (warning, no count)`,render:()=>U(rf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:0,clipboardFailed:!0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag for native copy`}})},{name:`empty (blank 1-row placeholder)`,render:()=>U(rf,{counts:{tasks:0,delegates:0,edited:0,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`}})}]},{id:`StatusBar`,category:`components`,title:`StatusBar`,variants:[{name:`wide (full visibility)`,render:()=>U(Im,{columns:120,footerVisible:au(120),perfIndicatorLevel:`healthy`,perfIndicatorUsedPct:void 0,modelName:`claude-sonnet-4-5`,budget:{modelName:`claude-sonnet-4-5`,contextWindow:2e5,contextPercent:42,overheadTokens:2e3,messageTokens:82e3,pruneLine:16e4,compactLine:18e4},badgeEntries:[{id:`host:permission-mode`,text:`Auto`,separator:`dot`,tier:`narrow`,isHost:!0},{id:`host:cost`,text:`$0.12`,separator:`space`,tier:`medium`,isHost:!0},{id:`demo:status`,text:`demo-plugin ready`,separator:`space`,tier:`low`,isHost:!1}],fullScreenPaneActive:!1,backgroundTasks:[],scheduleEnabledCount:0,agentProcessing:!1,queuedItems:[],notifications:[],language:`en`,welcome:void 0,messages:[],hasHistory:!0})},{name:`narrow (agent processing)`,render:()=>U(Im,{columns:60,footerVisible:au(60),perfIndicatorLevel:`warning`,perfIndicatorUsedPct:78.5,modelName:`deepseek-v4`,budget:null,badgeEntries:[{id:`host:permission-mode`,text:`Autopilot`,color:`warning`,separator:`dot`,tier:`narrow`,isHost:!0}],fullScreenPaneActive:!1,backgroundTasks:[],scheduleEnabledCount:2,agentProcessing:!0,queuedItems:[],notifications:[],language:`zh`,welcome:void 0,messages:[],hasHistory:!0})}]},{id:`Checkbox`,category:`components`,title:`Checkbox`,variants:[{name:`checked`,render:()=>U(hm,{checked:!0,label:`Enable telemetry`,onChange:()=>{}})},{name:`unchecked`,render:()=>U(hm,{checked:!1,label:`Enable telemetry`,onChange:()=>{}})}]},{id:`List`,category:`components`,title:`List`,variants:[{name:`three-options`,render:()=>U(lt,{options:[{value:`a`,label:`model-a`,detail:`fast`},{value:`b`,label:`model-b`,detail:`balanced`},{value:`c`,label:`model-c`,detail:`deep`,disabled:!0}],onSelect:()=>{}})}]},{id:`ListItem`,category:`components`,title:`ListItem`,variants:[{name:`label-detail`,render:()=>U(Ce,{label:`model-a`,detail:`fast · 200k ctx`})},{name:`disabled`,render:()=>U(Ce,{label:`model-x`,detail:`unavailable`,disabled:!0})}]},{id:`Wordmark`,category:`components`,title:`Wordmark`,variants:[{name:`default`,render:()=>U(cd)}]},{id:`ScheduleIndicator`,category:`components`,title:`ScheduleIndicator`,variants:[{name:`two-scheduled`,render:()=>U(bm,{enabledCount:2})}]},{id:`PulseSurveyOverlay`,category:`components`,title:`PulseSurveyOverlay`,variants:[{name:`rating`,render:()=>U(ym,{item:{phase:`rating`,rating:null,selectedIndex:0,commentText:``,commentOffset:0,onSubmit:()=>{},onClose:()=>{}},columns:60})}]}],zm=()=>{},Bm=Date.UTC(2026,6,10,12,0,0),Vm=[{id:`t1`,title:`Read type contract`,status:`done`,turn:1},{id:`t2`,title:`Implement pane examples`,status:`in_progress`,turn:3},{id:`t3`,title:`Wire registry aggregation`,status:`pending`},{id:`t4`,title:`Skip redundant EditedFilesPane`,status:`skipped`,turn:2},{id:`t5`,title:`Run typecheck gate`,status:`failed`,turn:4}],Hm=[{id:`d1`,command:`refactor error handling in run-modes.ts`,type:`agent-session`,origin:`user`,status:`running`,agentStatus:`ready`,startedAt:Bm-92e3,diffStat:`+42/-18`,turnIndex:4,toolUseCount:11,tokenCount:8400,model:`claude-sonnet-4`,modelDecidedBy:`category`},{id:`d2`,command:`npm run build`,type:`process`,status:`running`,startedAt:Bm-45e3,port:5173},{id:`d3`,command:`grep -rn TODO packages/`,type:`process`,status:`exited`,startedAt:Bm-3e5,exitCode:0},{id:`d4`,command:`audit security surface`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`needs_input`,startedAt:Bm-15e3,turnIndex:2,toolUseCount:3,model:`deepseek-v4`}],Um={id:`d1`,command:`refactor error handling in run-modes.ts`,status:`running`,prompt:`Refactor the error handling in run-modes.ts to use the shared classifier.`,responseText:`turn 4 ${R.check} 3 tools 2.1s\n activity editing run-modes.ts\n tokens 8.4k out · 11 tools`,text:`applying edit to run-modes.ts …
72
72
  + import { classify } from "./classify"
73
- `},Hm=[{id:`s1`,command:`@explore survey the compiler pipeline`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Rm-12e4,stall:`none`,turnIndex:6,toolUseCount:14,filesEdited:2,tokenCount:12300,model:`claude-sonnet-4`,modelDecidedBy:`slot`,lastActivity:`using grep`},{id:`s2`,command:`@librarian cross-check RFC references`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Rm-8e4,stall:`warn`,idleMs:6e3,blockedOn:`model_io`,turnIndex:3,toolUseCount:5,tokenCount:4100,model:`deepseek-v4`,lastActivity:`awaiting model`},{id:`s3`,command:`@reviewer critique integration wiring`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Rm-2e5,stall:`stalled`,idleMs:34e3,blockedOn:`approval`,abortable:!1,turnIndex:8,toolUseCount:9,tokenCount:7800,model:`claude-sonnet-4`,lastActivity:`awaiting approval`},{id:`s4`,command:`@explore locate dead code`,type:`agent-session`,origin:`main`,status:`exited`,agentStatus:`applied`,startedAt:Rm-4e5,turnIndex:5,toolUseCount:7}],Um=[{id:`sc1`,name:`Daily standup digest`,cronExpression:`0 9 * * 1-5`,enabled:!0,recurring:!0,nextFireAt:Rm+36e5,lastFiredAt:Rm-828e5},{id:`sc2`,name:`One-shot release reminder`,cronExpression:``,enabled:!1,recurring:!1,nextFireAt:Rm+72e5}],Wm=[{text:`implement the pane gallery entries`,mode:`send`},{text:`pnpm --filter @x-otto/tui typecheck`,mode:`bash`},{text:`run the build in the background`,mode:`bash_async`},{text:`remember: gallery entries live under examples/`,mode:`memory`}],Gm=[{id:`df1`,name:`rfc-outline`,text:`Draft the RFC outline covering the pluginization endgame audit and adoption assessment.`,savedAt:Rm-36e5},{id:`df2`,name:`commit-message`,text:`feat(tui): add pane gallery example registry`,savedAt:Rm-6e5}],Km=[{id:1,source:`job`,level:`info`,title:`Delegate ready`,message:`refactor job produced a diff (+42/-18)`,timestamp:Rm-3e4,read:!1,action:`/delegates`},{id:2,source:`version`,level:`warning`,title:`Update available`,message:`a newer build (1300) is available`,timestamp:Rm-6e5,read:!1},{id:3,source:`system`,level:`error`,title:`MCP server crashed`,message:`filesystem server exited unexpectedly`,timestamp:Rm-36e5,read:!0}],qm=[{id:`TaskPane`,category:`components`,title:`TaskPane`,variants:[{name:`default`,render:()=>H(Xd,{tasks:zm,title:`Feature implementation`})},{name:`focused`,render:()=>H(Xd,{tasks:zm,title:`Feature implementation`,focused:!0})}]},{id:`DelegatesPane`,category:`components`,title:`DelegatesPane`,variants:[{name:`focused`,render:()=>H(Rd,{tasks:Bm,columns:80,active:!0,onClose:Lm})},{name:`summary`,render:()=>H(Rd,{tasks:Bm,columns:80,active:!1,onClose:Lm})}]},{id:`DelegateOutputPane`,category:`components`,title:`DelegateOutputPane`,variants:[{name:`running`,render:()=>H(zd,{view:Vm,columns:80,rows:24,active:!0})}]},{id:`SubagentsPane`,category:`components`,title:`SubagentsPane`,variants:[{name:`focused`,render:()=>H(Ud,{tasks:Hm,focused:!0,now:Rm})},{name:`summary`,render:()=>H(Ud,{tasks:Hm,focused:!1,now:Rm})}]},{id:`SchedulePane`,category:`components`,title:`SchedulePane`,variants:[{name:`focused`,render:()=>H(Kd,{tasks:Um,focused:!0})}]},{id:`QueuePane`,category:`components`,title:`QueuePane`,variants:[{name:`focused`,render:()=>H(sf,{items:Wm,focused:!0})},{name:`grabbed`,render:()=>H(sf,{items:Wm,focused:!0})}]},{id:`DraftPane`,category:`components`,title:`DraftPane`,variants:[{name:`focused`,render:()=>H(of,{items:Gm,focused:!0})}]},{id:`NotificationsPane`,category:`components`,title:`NotificationsPane`,variants:[{name:`default`,render:()=>H(Tf,{notifications:Km,onDismiss:Lm,onClose:Lm})}]}];function Jm({taskTitle:e,turn:t,messages:n,rows:r,columns:i,onDismiss:a}){let o=C();s(`task-detail-pane`,(e,t)=>t.escape?(a(),!0):!1);let c=n.reduce((e,t)=>e+nc(t,i).length,0),l=Math.max(3,Ue(c+4,r)-4),u=[],d=l;for(let e of n){let t=nc(e,i);if(d-t.length<0&&u.length>0||(u.push({m:e,lines:t}),d-=t.length,d<=0))break}return q(T,{header:J(Y,{flexDirection:`row`,children:[J(X,{color:o.replyPrefix,children:[R.bullet,` `]}),J(X,{color:o.secondary,bold:!0,children:[B.t(`task.detailTitle`),`:`,` `]}),q(X,{color:o.accent,children:e}),J(O,{type:`secondary`,dim:!0,children:[` `,B.t(`task.turnInfo`,{turn:t,shown:u.length,total:n.length})]})]}),footer:q(k,{items:[[j.esc,B.t(`hint.back`)],[j.tab,B.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:A.tight,paddingLeft:A.section,flexDirection:`column`,children:[u.map(({lines:e},t)=>q(Y,{flexDirection:`column`,children:e.map((e,t)=>q(Y,{flexDirection:`row`,children:q(X,{children:e})},t))},t)),u.length<n.length&&q(Y,{children:q(O,{type:`secondary`,dim:!0,children:B.t(`task.truncated`,{n:n.length-u.length})})})]})})}function Ym(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}m`}function Xm(e,t){switch(e){case`overhead`:return t.accent;case`messages`:return t.success;case`free`:return t.inactive}}function Zm(e,t){let n=[{kind:`overhead`,tokens:e.overheadTokens,label:B.t(`insp.budgetOverhead`)},{kind:`messages`,tokens:e.messageTokens,label:B.t(`insp.budgetMessages`)},{kind:`free`,tokens:e.free,label:B.t(`insp.budgetFree`)}].filter(e=>e.tokens>0);if(n.length===0)return[];let r=n.reduce((e,t)=>e+t.tokens,0),i=[],a=0;for(let e=0;e<n.length;e++){let o=n[e],s=e===n.length-1?t-a:Math.max(1,Math.round(o.tokens/r*t));i.push({kind:o.kind,width:s,tokens:o.tokens,label:o.label}),a+=s}return i}function Qm({budget:e,width:t}){let n=C(),r=Math.min(40,Math.max(20,t-16)),i=Zm(e,r),a=Math.max(0,Math.min(100,Math.round(e.contextPercent))),o=a>=90?n.error:a>=80?n.warning:n.accent,s=t<80,c=t<60,l=e.pruneLine>0?Math.round(e.pruneLine/e.contextWindow*r):-1,u=e.compactLine>0?Math.round(e.compactLine/e.contextWindow*r):-1;return J(Y,{flexDirection:`column`,children:[e.modelName?J(Y,{children:[q(X,{color:n.suggestion,children:e.modelName}),q(O,{type:`secondary`,children:` · `}),q(O,{type:`secondary`,children:B.t(`context.tokensLabel`,{formatted:Ym(e.contextWindow)})})]}):q(O,{type:`secondary`,children:B.t(`context.tokensLabel`,{formatted:Ym(e.contextWindow)})}),(l>=0||u>=0)&&q(Y,{children:(()=>{let e=[];l>=0&&e.push({pos:5+l,color:n.warning}),u>=0&&e.push({pos:5+u,color:n.error}),e.sort((e,t)=>e.pos-t.pos);let t=0;return e.map((e,n)=>{let r=Math.max(0,e.pos-t);return t=e.pos+1,J(X,{color:e.color,children:[` `.repeat(r),`▼`]},n)})})()}),J(Y,{children:[J(X,{color:o,bold:!0,children:[String(a).padStart(3),`%`,` `]}),q(Re,{percent:a,width:r,chars:`block`,segments:i.map(e=>({key:e.kind,width:e.width,color:Xm(e.kind,n),dimColor:e.kind===`free`})),labelPosition:`none`}),J(O,{type:`secondary`,children:[` `,Ym(e.totalUsed),`/`,Ym(e.contextWindow)]})]}),!c&&q(Y,{children:i.map((t,r)=>J(V.Fragment,{children:[J(X,{color:Xm(t.kind,n),dimColor:t.kind===`free`,children:[`█`,` `]}),q(O,{type:`secondary`,children:(()=>{let n=s?t.label.slice(0,3):t.label,r=t.kind===`messages`&&e.messageCount>0?`(${e.messageCount})`:``;return`${n} ${Ym(t.tokens)}${r}`})()}),r<i.length-1&&q(O,{type:`secondary`,children:` `})]},r))})]})}function $m({budget:e,columns:n,onDismiss:r,onViewDetails:i}){let a=C();return s(`context-pane`,(e,t)=>{t.escape?r():t.return&&i()}),J(Y,{flexDirection:`column`,...t,borderColor:a.panelBorder,backgroundColor:a.overlayBg,paddingX:A.tight,children:[q(X,{color:a.secondary,bold:!0,children:B.t(`context.title`)}),q(Y,{marginTop:A.tight,flexDirection:`column`,children:e?q(Qm,{budget:e,width:n-ge.contentInset}):q(X,{dimColor:!0,children:B.t(`context.noData`)})}),q(Y,{marginTop:A.tight,children:J(X,{dimColor:!0,children:[B.t(`context.viewDetails`),` · `,B.t(`common.escClose`)]})})]})}function eh(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function th({owned:e,total:t,width:n}){let r=C(),i=t>0?Math.min(1,e/t):0,a=Math.max(3,n-12);return q(Re,{percent:Math.round(i*100),width:a,chars:`dot`,color:i>=.85?r.warning:i>=.7?r.accent:r.secondary})}function nh({s:e}){let t=e.lane===`volatile`?B.t(`context.laneVolatile`):B.t(`context.laneCache`);return J(O,{type:e.lane===`volatile`?`secondary`:`primary`,children:[` `,t,` `,e.label,` (`,eh(e.estimatedTokens),`t)`]})}function rh({t:e,inProgress:t}){let n=e.role===`user`?R.pointer:R.bullet,r=[];e.pruned&&r.push(B.t(`context.tagPruned`)),e.compacted&&r.push(B.t(`context.tagCompacted`)),e.truncated&&r.push(B.t(`context.tagTruncated`));let i=e.pruned||e.compacted?`secondary`:`primary`;return J(Y,{flexDirection:`row`,children:[t?q(wm,{name:`pointer`,color:`accent`,trailingSpace:!0}):q(O,{type:`secondary`,children:` `}),J(O,{type:i,bold:t,children:[n,` `,B.t(`context.turnRow`,{index:e.turnIndex,messages:e.messageCount,tokens:eh(e.estimatedTokens)})]}),r.map(e=>q(Ve,{leadingSpace:!0,children:e},e))]})}function ih({ctxStore:e,columns:t,onBack:n}){let r=Z(e.store,e=>e.conversationTurns),i=Z(e.store,e=>e.systemSections),a=Z(e.store,e=>e.modelName),o=Z(e.store,e=>e.contextWindow),c=Z(e.store,e=>e.contextPercent),l=Z(e.store,e=>e.totalUsed),u=Z(e.store,e=>e.free),d=i.filter(e=>e.lane===`stable`).length,f=i.length-d,p=i.reduce((e,t)=>e+t.estimatedTokens,0),m=Math.max(0,l-p),h=Math.max(0,r.length-5),g=W(()=>r.slice(h),[r,h]),_=W(()=>r.slice(0,h).reduce((e,t)=>e+t.estimatedTokens,0),[r,h]);s(`context-panel`,Nt((e,t)=>{t.escape&&n()},[n]));let v=Math.max(40,t-ge.contentInset);return J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(O,{type:`secondary`,bold:!0,children:B.t(`context.title`)}),a&&q(O,{type:`secondary`,children:a})]}),q(Y,{marginY:A.tight,children:q(th,{owned:l,total:o,width:v})}),i.length>0&&J(Ft,{children:[J(O,{type:`secondary`,children:[B.t(`context.systemHeading`),` (`,B.t(`context.systemMeta`,{tokens:eh(p),stable:d,volatile:f}),`)`]}),i.map(e=>q(nh,{s:e},e.label)),q(Y,{marginY:A.tight,children:q(O,{type:`secondary`,children:yt(R.hr,v-4)})})]}),J(O,{type:`secondary`,children:[B.t(`context.conversationHeading`),` (`,B.t(`context.conversationMeta`,{tokens:eh(m),turns:r.length}),`)`]}),q(Y,{height:1,children:h>0&&J(O,{type:`secondary`,children:[` `,R.bullet,` `,B.t(`context.earlierTurns`,{count:h,tokens:eh(_)})]})}),g.map(e=>q(rh,{t:e,inProgress:!1},e.turnIndex)),q(Y,{marginTop:A.tight,children:q(O,{type:`secondary`,children:B.t(`context.totalLine`,{used:eh(l),window:eh(o),percent:Math.round(c),free:eh(u)})})})]})}function ah({message:e,onUpgrade:t,onCancel:n}){let r=C(),[i,a]=K(0),o=V.useRef(0);return o.current=i,ee({tabIndex:0,id:`forced-upgrade`,onEscape:()=>!0}),s(`forced-upgrade-buttons`,(e,r)=>{if(r.escape)return!0;let i=D(r);return i===0?r.return?(a(e=>(e===0?t?.():n?.(),e)),!0):!1:(a(e=>E(e,i,2)),!0)}),J(T,{header:q(y,{color:r.warning,children:B.t(`model.forcedUpgradeTitle`)}),footer:q(k,{items:[[`${j.left}${j.right}`,B.t(`hint.switch`)],[j.enter,B.t(`hint.confirm`)]]}),children:[q(Y,{marginTop:A.tight,children:q(X,{children:e})}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`common.upgradeButton`),focused:i===0}),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.cancelButton`),focused:i===1})]})]})}const oh=()=>{},sh=Date.UTC(2026,6,10,12,0,0),ch=`export function greet(name: string) {
73
+ `},Wm=[{id:`s1`,command:`@explore survey the compiler pipeline`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Bm-12e4,stall:`none`,turnIndex:6,toolUseCount:14,filesEdited:2,tokenCount:12300,model:`claude-sonnet-4`,modelDecidedBy:`slot`,lastActivity:`using grep`},{id:`s2`,command:`@librarian cross-check RFC references`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Bm-8e4,stall:`warn`,idleMs:6e3,blockedOn:`model_io`,turnIndex:3,toolUseCount:5,tokenCount:4100,model:`deepseek-v4`,lastActivity:`awaiting model`},{id:`s3`,command:`@reviewer critique integration wiring`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:Bm-2e5,stall:`stalled`,idleMs:34e3,blockedOn:`approval`,abortable:!1,turnIndex:8,toolUseCount:9,tokenCount:7800,model:`claude-sonnet-4`,lastActivity:`awaiting approval`},{id:`s4`,command:`@explore locate dead code`,type:`agent-session`,origin:`main`,status:`exited`,agentStatus:`applied`,startedAt:Bm-4e5,turnIndex:5,toolUseCount:7}],Gm=[{id:`sc1`,name:`Daily standup digest`,cronExpression:`0 9 * * 1-5`,enabled:!0,recurring:!0,nextFireAt:Bm+36e5,lastFiredAt:Bm-828e5},{id:`sc2`,name:`One-shot release reminder`,cronExpression:``,enabled:!1,recurring:!1,nextFireAt:Bm+72e5}],Km=[{text:`implement the pane gallery entries`,mode:`send`},{text:`pnpm --filter @x-otto/tui typecheck`,mode:`bash`},{text:`run the build in the background`,mode:`bash_async`},{text:`remember: gallery entries live under examples/`,mode:`memory`}],qm=[{id:`df1`,name:`rfc-outline`,text:`Draft the RFC outline covering the pluginization endgame audit and adoption assessment.`,savedAt:Bm-36e5},{id:`df2`,name:`commit-message`,text:`feat(tui): add pane gallery example registry`,savedAt:Bm-6e5}],Jm=[{id:1,source:`job`,level:`info`,title:`Delegate ready`,message:`refactor job produced a diff (+42/-18)`,timestamp:Bm-3e4,read:!1,action:`/delegates`},{id:2,source:`version`,level:`warning`,title:`Update available`,message:`a newer build (1300) is available`,timestamp:Bm-6e5,read:!1},{id:3,source:`system`,level:`error`,title:`MCP server crashed`,message:`filesystem server exited unexpectedly`,timestamp:Bm-36e5,read:!0}],Ym=[{id:`TaskPane`,category:`components`,title:`TaskPane`,variants:[{name:`default`,render:()=>U(Zd,{tasks:Vm,title:`Feature implementation`})},{name:`focused`,render:()=>U(Zd,{tasks:Vm,title:`Feature implementation`,focused:!0})}]},{id:`DelegatesPane`,category:`components`,title:`DelegatesPane`,variants:[{name:`focused`,render:()=>U(zd,{tasks:Hm,columns:80,active:!0,onClose:zm})},{name:`summary`,render:()=>U(zd,{tasks:Hm,columns:80,active:!1,onClose:zm})}]},{id:`DelegateOutputPane`,category:`components`,title:`DelegateOutputPane`,variants:[{name:`running`,render:()=>U(Bd,{view:Um,columns:80,rows:24,active:!0})}]},{id:`SubagentsPane`,category:`components`,title:`SubagentsPane`,variants:[{name:`focused`,render:()=>U(Wd,{tasks:Wm,focused:!0,now:Bm})},{name:`summary`,render:()=>U(Wd,{tasks:Wm,focused:!1,now:Bm})}]},{id:`SchedulePane`,category:`components`,title:`SchedulePane`,variants:[{name:`focused`,render:()=>U(qd,{tasks:Gm,focused:!0})}]},{id:`QueuePane`,category:`components`,title:`QueuePane`,variants:[{name:`focused`,render:()=>U(lf,{items:Km,focused:!0})},{name:`grabbed`,render:()=>U(lf,{items:Km,focused:!0})}]},{id:`DraftPane`,category:`components`,title:`DraftPane`,variants:[{name:`focused`,render:()=>U(cf,{items:qm,focused:!0})}]},{id:`NotificationsPane`,category:`components`,title:`NotificationsPane`,variants:[{name:`default`,render:()=>U(Df,{notifications:Jm,onDismiss:zm,onClose:zm})}]}];function Xm({taskTitle:e,turn:r,messages:i,rows:a,columns:o,onDismiss:s}){let c=L();yt(`task-detail-pane`,(e,t)=>t.escape?(s(),!0):!1);let l=i.reduce((e,t)=>e+rc(t,o).length,0),u=Math.max(3,n(l+4,a)-4),p=[],m=u;for(let e of i){let t=rc(e,o);if(m-t.length<0&&p.length>0||(p.push({m:e,lines:t}),m-=t.length,m<=0))break}return q(M,{header:J(Y,{flexDirection:`row`,children:[J(X,{color:c.replyPrefix,children:[R.bullet,` `]}),J(X,{color:c.secondary,bold:!0,children:[V.t(`task.detailTitle`),`:`,` `]}),q(X,{color:c.accent,children:e}),J(d,{type:`secondary`,dim:!0,children:[` `,V.t(`task.turnInfo`,{turn:r,shown:p.length,total:i.length})]})]}),footer:q(f,{items:[[B.esc,V.t(`hint.back`)],[B.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:t.tight,paddingLeft:t.section,flexDirection:`column`,children:[p.map(({lines:e},t)=>q(Y,{flexDirection:`column`,children:e.map((e,t)=>q(Y,{flexDirection:`row`,children:q(X,{children:e})},t))},t)),p.length<i.length&&q(Y,{children:q(d,{type:`secondary`,dim:!0,children:V.t(`task.truncated`,{n:i.length-p.length})})})]})})}function Zm(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}m`}function Qm(e,t){switch(e){case`overhead`:return t.accent;case`messages`:return t.success;case`free`:return t.inactive}}function $m(e,t){let n=[{kind:`overhead`,tokens:e.overheadTokens,label:V.t(`insp.budgetOverhead`)},{kind:`messages`,tokens:e.messageTokens,label:V.t(`insp.budgetMessages`)},{kind:`free`,tokens:e.free,label:V.t(`insp.budgetFree`)}].filter(e=>e.tokens>0);if(n.length===0)return[];let r=n.reduce((e,t)=>e+t.tokens,0),i=[],a=0;for(let e=0;e<n.length;e++){let o=n[e],s=e===n.length-1?t-a:Math.max(1,Math.round(o.tokens/r*t));i.push({kind:o.kind,width:s,tokens:o.tokens,label:o.label}),a+=s}return i}function eh({budget:e,width:t}){let n=L(),r=Math.min(40,Math.max(20,t-16)),i=$m(e,r),a=Math.max(0,Math.min(100,Math.round(e.contextPercent))),o=a>=90?n.error:a>=80?n.warning:n.accent,s=t<80,c=t<60,l=e.pruneLine>0?Math.round(e.pruneLine/e.contextWindow*r):-1,u=e.compactLine>0?Math.round(e.compactLine/e.contextWindow*r):-1;return J(Y,{flexDirection:`column`,children:[e.modelName?J(Y,{children:[q(X,{color:n.suggestion,children:e.modelName}),q(d,{type:`secondary`,children:` · `}),q(d,{type:`secondary`,children:V.t(`context.tokensLabel`,{formatted:Zm(e.contextWindow)})})]}):q(d,{type:`secondary`,children:V.t(`context.tokensLabel`,{formatted:Zm(e.contextWindow)})}),(l>=0||u>=0)&&q(Y,{children:(()=>{let e=[];l>=0&&e.push({pos:5+l,color:n.warning}),u>=0&&e.push({pos:5+u,color:n.error}),e.sort((e,t)=>e.pos-t.pos);let t=0;return e.map((e,n)=>{let r=Math.max(0,e.pos-t);return t=e.pos+1,J(X,{color:e.color,children:[` `.repeat(r),`▼`]},n)})})()}),J(Y,{children:[J(X,{color:o,bold:!0,children:[String(a).padStart(3),`%`,` `]}),q(Re,{percent:a,width:r,chars:`block`,segments:i.map(e=>({key:e.kind,width:e.width,color:Qm(e.kind,n),dimColor:e.kind===`free`})),labelPosition:`none`}),J(d,{type:`secondary`,children:[` `,Zm(e.totalUsed),`/`,Zm(e.contextWindow)]})]}),!c&&q(Y,{children:i.map((t,r)=>J(H.Fragment,{children:[J(X,{color:Qm(t.kind,n),dimColor:t.kind===`free`,children:[`█`,` `]}),q(d,{type:`secondary`,children:(()=>{let n=s?t.label.slice(0,3):t.label,r=t.kind===`messages`&&e.messageCount>0?`(${e.messageCount})`:``;return`${n} ${Zm(t.tokens)}${r}`})()}),r<i.length-1&&q(d,{type:`secondary`,children:` `})]},r))})]})}function th({budget:e,columns:n,onDismiss:r,onViewDetails:i}){let a=L();return yt(`context-pane`,(e,t)=>{t.escape?r():t.return&&i()}),J(Y,{flexDirection:`column`,...Oe,borderColor:a.panelBorder,backgroundColor:a.overlayBg,paddingX:t.tight,children:[q(X,{color:a.secondary,bold:!0,children:V.t(`context.title`)}),q(Y,{marginTop:t.tight,flexDirection:`column`,children:e?q(eh,{budget:e,width:n-ne.contentInset}):q(X,{dimColor:!0,children:V.t(`context.noData`)})}),q(Y,{marginTop:t.tight,children:J(X,{dimColor:!0,children:[V.t(`context.viewDetails`),` · `,V.t(`common.escClose`)]})})]})}function nh(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function rh({owned:e,total:t,width:n}){let r=L(),i=t>0?Math.min(1,e/t):0,a=Math.max(3,n-12);return q(Re,{percent:Math.round(i*100),width:a,chars:`dot`,color:i>=.85?r.warning:i>=.7?r.accent:r.secondary})}function ih({s:e}){let t=e.lane===`volatile`?V.t(`context.laneVolatile`):V.t(`context.laneCache`);return J(d,{type:e.lane===`volatile`?`secondary`:`primary`,children:[` `,t,` `,e.label,` (`,nh(e.estimatedTokens),`t)`]})}function ah({t:e,inProgress:t}){let n=e.role===`user`?R.pointer:R.bullet,r=[];e.pruned&&r.push(V.t(`context.tagPruned`)),e.compacted&&r.push(V.t(`context.tagCompacted`)),e.truncated&&r.push(V.t(`context.tagTruncated`));let i=e.pruned||e.compacted?`secondary`:`primary`;return J(Y,{flexDirection:`row`,children:[t?q(Em,{name:`pointer`,color:`accent`,trailingSpace:!0}):q(d,{type:`secondary`,children:` `}),J(d,{type:i,bold:t,children:[n,` `,V.t(`context.turnRow`,{index:e.turnIndex,messages:e.messageCount,tokens:nh(e.estimatedTokens)})]}),r.map(e=>q(T,{leadingSpace:!0,children:e},e))]})}function oh({ctxStore:e,columns:n,onBack:r}){let i=Z(e.store,e=>e.conversationTurns),a=Z(e.store,e=>e.systemSections),o=Z(e.store,e=>e.modelName),s=Z(e.store,e=>e.contextWindow),c=Z(e.store,e=>e.contextPercent),l=Z(e.store,e=>e.totalUsed),u=Z(e.store,e=>e.free),f=a.filter(e=>e.lane===`stable`).length,p=a.length-f,m=a.reduce((e,t)=>e+t.estimatedTokens,0),h=Math.max(0,l-m),g=Math.max(0,i.length-5),_=Ft(()=>i.slice(g),[i,g]),v=Ft(()=>i.slice(0,g).reduce((e,t)=>e+t.estimatedTokens,0),[i,g]);yt(`context-panel`,Nt((e,t)=>{t.escape&&r()},[r]));let y=Math.max(40,n-ne.contentInset);return J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(d,{type:`secondary`,bold:!0,children:V.t(`context.title`)}),o&&q(d,{type:`secondary`,children:o})]}),q(Y,{marginY:t.tight,children:q(rh,{owned:l,total:s,width:y})}),a.length>0&&J(It,{children:[J(d,{type:`secondary`,children:[V.t(`context.systemHeading`),` (`,V.t(`context.systemMeta`,{tokens:nh(m),stable:f,volatile:p}),`)`]}),a.map(e=>q(ih,{s:e},e.label)),q(Y,{marginY:t.tight,children:q(d,{type:`secondary`,children:N(R.hr,y-4)})})]}),J(d,{type:`secondary`,children:[V.t(`context.conversationHeading`),` (`,V.t(`context.conversationMeta`,{tokens:nh(h),turns:i.length}),`)`]}),q(Y,{height:1,children:g>0&&J(d,{type:`secondary`,children:[` `,R.bullet,` `,V.t(`context.earlierTurns`,{count:g,tokens:nh(v)})]})}),_.map(e=>q(ah,{t:e,inProgress:!1},e.turnIndex)),q(Y,{marginTop:t.tight,children:q(d,{type:`secondary`,children:V.t(`context.totalLine`,{used:nh(l),window:nh(s),percent:Math.round(c),free:nh(u)})})})]})}function sh({message:e,onUpgrade:n,onCancel:r}){let i=L(),[a,o]=K(0),s=H.useRef(0);return s.current=a,O({tabIndex:0,id:`forced-upgrade`,onEscape:()=>!0}),yt(`forced-upgrade-buttons`,(e,t)=>{if(t.escape)return!0;let i=te(t);return i===0?t.return?(o(e=>(e===0?n?.():r?.(),e)),!0):!1:(o(e=>D(e,i,2)),!0)}),J(M,{header:q(w,{color:i.warning,children:V.t(`model.forcedUpgradeTitle`)}),footer:q(f,{items:[[`${B.left}${B.right}`,V.t(`hint.switch`)],[B.enter,V.t(`hint.confirm`)]]}),children:[q(Y,{marginTop:t.tight,children:q(X,{children:e})}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`common.upgradeButton`),focused:a===0}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.cancelButton`),focused:a===1})]})]})}const ch=()=>{},lh=Date.UTC(2026,6,10,12,0,0),uh=`export function greet(name: string) {
74
74
  return \`Hi \${name}\`
75
75
  }
76
- `,lh=`export function greet(name: string): string {
76
+ `,dh=`export function greet(name: string): string {
77
77
  return \`Hello, \${name}!\`
78
78
  }
79
- `,uh=[{path:`packages/tui/src/components/gallery/examples/components-panes-viewers.ts`,operation:`write`,newContent:lh,addedLines:3,removedLines:0,timestamp:sh-5e3},{path:`packages/tui/src/components/Button.tsx`,operation:`edit`,oldContent:ch,newContent:lh,addedLines:2,removedLines:2,timestamp:sh-2e4},{path:`packages/tui/src/legacy/old-helper.ts`,operation:`delete`,oldContent:ch,addedLines:0,removedLines:3,timestamp:sh-4e4}],dh=[{role:`assistant`,content:[{type:`text`,text:`Reading the type contract before editing the registry.`}]},{role:`tool`,name:`read`,args:`gallery/types.ts`,result:`export interface GalleryEntry { ... }`},{role:`assistant`,content:[{type:`text`,text:`The contract is clear — constructing static mock props now.`}]}],fh={modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,overheadTokens:14e3,messageTokens:62e3,messageCount:42,totalUsed:76e3,free:124e3,pruneLine:14e4,compactLine:17e4,lastInput:3200,lastOutput:640,totalInput:58e3,totalOutput:18e3,cost:.42},ph={command:`pnpm --filter @x-otto/tui build`,output:`> @x-otto/tui build
79
+ `,fh=[{path:`packages/tui/src/components/gallery/examples/components-panes-viewers.ts`,operation:`write`,newContent:dh,addedLines:3,removedLines:0,timestamp:lh-5e3},{path:`packages/tui/src/components/Button.tsx`,operation:`edit`,oldContent:uh,newContent:dh,addedLines:2,removedLines:2,timestamp:lh-2e4},{path:`packages/tui/src/legacy/old-helper.ts`,operation:`delete`,oldContent:uh,addedLines:0,removedLines:3,timestamp:lh-4e4}],ph=[{role:`assistant`,content:[{type:`text`,text:`Reading the type contract before editing the registry.`}]},{role:`tool`,name:`read`,args:`gallery/types.ts`,result:`export interface GalleryEntry { ... }`},{role:`assistant`,content:[{type:`text`,text:`The contract is clear — constructing static mock props now.`}]}],mh={modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,overheadTokens:14e3,messageTokens:62e3,messageCount:42,totalUsed:76e3,free:124e3,pruneLine:14e4,compactLine:17e4,lastInput:3200,lastOutput:640,totalInput:58e3,totalOutput:18e3,cost:.42},hh={command:`pnpm --filter @x-otto/tui build`,output:`> @x-otto/tui build
80
80
  > tsc -p tsconfig.json
81
81
  Compiling…
82
- src/components/gallery/examples`,status:`running`,exitCode:null},mh={command:`git status --short`,output:` M packages/tui/src/components/gallery/examples/components-panes.ts
83
- ?? /tmp/scratch.ts`,status:`done`,exitCode:0},hh=Array.from({length:40},(e,t)=>`line ${t+1}: build step output`).join(`
84
- `);function gh(){let e=Du();return e.setMemory({level:`warning`,heapUsed:512*1024*1024,heapSizeLimit:700*1024*1024,usedPct:73.1}),e.setNotify({coalescedCalls:1200,coalescedFires:340,immediateCalls:88,flushFires:12,coalesceRatio:3.5,alert:`healthy`}),e}function _h(){let e=Ou();return e.setView({lastTurnHitRatio:.82,sessionHitRatio:.71,totalCacheReadTokens:128e3,totalCacheWriteTokens:24e3,totalInputTokens:56e3,totalCostUSD:.18,perModel:[{modelId:`claude-sonnet-4`,modelName:`claude-sonnet-4`,cacheReadTokens:96e3,cacheWriteTokens:18e3,inputTokens:4e4,hitRatio:.75},{modelId:`deepseek-v4`,modelName:`deepseek-v4`,cacheReadTokens:32e3,cacheWriteTokens:6e3,inputTokens:16e3,hitRatio:null}]}),e}const vh=[{id:3,timestamp:Date.UTC(2026,6,13,14,32,7),kind:`compact`,before:1566,after:395,summary:`User asked to refactor the auth module. Assistant read auth-store.ts, extracted the token refresh logic into a separate helper, and added regression tests. All tests pass.`},{id:2,timestamp:Date.UTC(2026,6,13,14,10,2),kind:`prune`,tokensSaved:4200,prunedCount:12},{id:1,timestamp:Date.UTC(2026,6,13,13,58,41),kind:`history_capped`,removedCount:137}];function yh(){let e=Vl();return e.setBudget({modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,totalUsed:76e3,free:124e3,overheadTokens:14e3}),e.addTurn({turnIndex:1,role:`user`,messageCount:1,estimatedTokens:320,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:2,role:`assistant`,messageCount:4,estimatedTokens:5200,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:3,role:`assistant`,messageCount:6,estimatedTokens:8800,compacted:!0,truncated:!1,pruned:!1}),e.addTurn({turnIndex:4,role:`user`,messageCount:1,estimatedTokens:210,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:5,role:`assistant`,messageCount:3,estimatedTokens:3400,compacted:!1,truncated:!0,pruned:!1}),e}const bh={title:`Broken plugin panel`,modulePath:`/nonexistent/plugin/panel-module.js`,exportName:`default`},xh=[{id:`EditedFilesPane`,category:`components`,title:`EditedFilesPane`,variants:[{name:`focused`,render:()=>H(wu,{files:uh,focused:!0,onDismiss:oh})}]},{id:`EditedFileFullPane`,category:`components`,title:`EditedFileFullPane`,variants:[{name:`diff`,render:()=>H(Rp,{file:uh[1],rows:24,onDismiss:oh,active:!0})}]},{id:`FileContentViewer`,category:`components`,title:`FileContentViewer`,variants:[{name:`default`,render:()=>H(oc,{lines:lh.split(`
85
- `),rows:24,header:H(X,{bold:!0},`greet.ts`),onDismiss:oh,active:!0})}]},{id:`TaskDetailPane`,category:`components`,title:`TaskDetailPane`,variants:[{name:`default`,render:()=>H(Jm,{taskTitle:`Implement pane examples`,turn:3,messages:dh,rows:24,columns:80,onDismiss:oh})}]},{id:`SubagentContextView`,category:`components`,title:`SubagentContextView`,variants:[{name:`streaming`,render:()=>H(pd,{title:`@explore survey the compiler pipeline`,status:`running`,messages:dh,streamText:`Scanning packages/tui for pane components…`,rows:24,columns:80})}]},{id:`ShellPane`,category:`components`,title:`ShellPane`,variants:[{name:`running`,render:()=>H(Ip,{exec:ph,maxLines:8,columns:80})},{name:`done`,render:()=>H(Ip,{exec:mh,maxLines:8,columns:80,totalLines:2})}]},{id:`ShellFullOutputDialog`,category:`components`,title:`ShellFullOutputDialog`,variants:[{name:`default`,render:()=>H(Bp,{command:`pnpm --filter @x-otto/tui build`,output:hh,rows:24,columns:80,onDismiss:()=>{}})}]},{id:`ContextPane`,category:`components`,title:`ContextPane`,variants:[{name:`default`,render:()=>H($m,{budget:fh,columns:80,onDismiss:oh,onViewDetails:oh})}]},{id:`ContextDetailPane`,category:`components`,title:`ContextDetailPane`,variants:[{name:`default`,render:()=>H(ih,{ctxStore:yh(),columns:80,onBack:oh})}]},{id:`PerfPane`,category:`components`,title:`PerfPane`,variants:[{name:`default`,render:()=>H(Jp,{perfStore:gh(),onDismiss:oh,onRefresh:oh})}]},{id:`CachePane`,category:`components`,title:`CachePane`,variants:[{name:`default`,render:()=>H(rm,{cacheStore:_h(),onDismiss:oh})}]},{id:`CompactionLogPane`,category:`components`,title:`CompactionLogPane`,variants:[{name:`default`,render:()=>H(fm,{entries:vh,onClose:oh})}]},{id:`BackgroundTaskIndicator`,category:`components`,title:`BackgroundTaskIndicator`,variants:[{name:`default`,render:()=>H(Mm,{tasks:Bm})}]},{id:`ServiceIndicator`,category:`components`,title:`ServiceIndicator`,variants:[{name:`default`,render:()=>H(Nm,{tasks:Bm.map(e=>e.id===`d2`?{...e,detectedService:{url:`http://localhost:5173/`,port:5173,protocol:`http`}}:e)})}]},{id:`ForcedUpgradeOverlay`,category:`components`,title:`ForcedUpgradeOverlay`,variants:[{name:`default`,render:()=>H(ah,{message:`Your CLI is below the minimum supported version. Upgrade to continue.`,onUpgrade:oh,onCancel:oh})}]},{id:`TrustPromptDialog`,category:`components`,title:`TrustPromptDialog`,variants:[{name:`default`,render:()=>H(Cn,{root:`/home/user/untrusted-project`,onChoice:oh})}]},{id:`PluginPane`,category:`components`,title:`PluginPane`,variants:[{name:`error`,render:()=>H(lp,{panelInfo:bh})}]}];function Sh({item:e}){let t=C(),{phase:n,requestedAt:r,toolCount:i,totalToolCount:a,onCancel:o,onResume:c,onDismiss:l}=e,[u,d]=K(Math.floor((Date.now()-r)/1e3));return U(()=>{if(n!==`requested`)return;let e=setInterval(()=>{d(Math.floor((Date.now()-r)/1e3))},1e3);return()=>clearInterval(e)},[n,r]),ee({tabIndex:0,id:`pause-dialog`,onEscape:()=>(l?.(),!0),onAction:()=>(n===`requested`?o?.():c?.(),!0)}),s(`pause-dialog`,(e,t)=>t.escape?(l?.(),!0):t.return?(n===`requested`?o?.():c?.(),!0):!1),J(T,{header:q(y,{color:n===`active`?t.accent:void 0,children:n===`requested`?B.t(`pause.titleRequested`):B.t(`pause.titleActive`)}),paddingY:A.tight,children:[q(X,{children:n===`requested`?B.t(`pause.bodyRequested`):B.t(`pause.bodyActive`)}),q(Y,{marginTop:A.tight,children:q(X,{children:n===`requested`?B.t(`pause.toolCount`,{n:i,s:u}):a==null?``:B.t(`pause.toolTotal`,{n:a})})}),q(Y,{marginTop:A.tight,children:q(I,{variant:`solid`,brackets:!0,color:`accent`,focused:!0,label:n===`requested`?B.t(`pause.btnCancel`):B.t(`pause.btnResume`)})}),q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:n===`requested`?B.t(`pause.footerDismiss`):B.t(`pause.footerActive`)})})]})}const Ch=()=>{},wh=(()=>Promise.resolve(null)),Th=[{id:`DataList`,category:`components`,title:`DataList`,variants:[{name:`groups+rows+text`,render:()=>H(Qe,{entries:[{kind:`group`,title:`连接`},{kind:`row`,label:`地址`,value:`http://127.0.0.1:7890`},{kind:`row`,label:`状态`,value:`已启用`,tone:`success`},{kind:`blank`},{kind:`group`,title:`其他`},{kind:`row`,label:`配置文件`,value:`~/.otto/config.json`,tone:`muted`},{kind:`text`,value:`提示:修改后需重启生效`,tone:`muted`}]})}]},{id:`EditableFieldRow`,category:`components`,title:`EditableFieldRow`,variants:[{name:`input/selected`,render:()=>H(am,{field:{kind:`input`,id:`url`,label:`代理地址`,value:`http://127.0.0.1:7890`},selected:!0})},{name:`input/empty`,render:()=>H(am,{field:{kind:`input`,id:`token`,label:`API Key`,value:``,mask:!0},selected:!1})},{name:`switch/on`,render:()=>H(am,{field:{kind:`switch`,id:`enabled`,label:`启用`,value:!0},selected:!1})}]},{id:`ParentWorkspaceDialog`,category:`dialogs`,title:`ParentWorkspaceDialog`,variants:[{name:`default`,render:()=>H(En,{parentRoot:`/Users/dev/projects/monorepo`,currentRoot:`/Users/dev/projects/monorepo/packages/app`,onChoice:Ch})}]},{id:`PauseDialog`,category:`components`,title:`PauseDialog`,variants:[{name:`requested`,render:()=>H(Sh,{item:{phase:`requested`,requestedAt:Date.now()-3e3,toolCount:2,totalToolCount:5}})},{name:`active`,render:()=>H(Sh,{item:{phase:`active`,requestedAt:Date.now()-8e3,toolCount:0}})}]},{id:`ProxyPane`,category:`components`,title:`ProxyPane`,variants:[{name:`enabled`,render:()=>H(sm,{view:{url:`http://127.0.0.1:7890`,enabled:!0,configPath:`~/.otto/config.json`},onDismiss:Ch,onOpenModal:wh,onSubmitUrl:Ch,onToggleEnabled:Ch,onClear:Ch})},{name:`unconfigured`,render:()=>H(sm,{view:{configPath:`~/.otto/config.json`},onDismiss:Ch,onOpenModal:wh,onSubmitUrl:Ch,onToggleEnabled:Ch,onClear:Ch})}]},{id:`KeybindingsDialog`,category:`dialogs`,title:`KeybindingsDialog`,variants:[{name:`default`,render:()=>H(ep,{overrides:void 0,onSave:Ch,onSaveReplace:Ch,onReset:Ch,onResetAll:Ch,onDismiss:Ch})}]}],$=()=>{},Eh=[{id:`svc-1`,command:`npm run dev`,status:`running`,type:`process`,startedAt:Date.now()-42e3,detectedService:{url:`http://localhost:3000`,port:3e3,protocol:`http`}}],Dh={kind:`wizard`,title:`Setup`,stepNames:[`Provider`,`Trust`,`Login`,`Model`,`Start`],stepSubtitles:[`Pick a provider`,`Trust workspace`,`Authenticate`,`Choose model`,`Ready`],initialCompleted:[],initialCurrent:0,welcomeTitle:`Welcome to otto`,welcomeGreeting:`Hello`,welcomeDescription:`Let’s get you set up.`,welcomeDontShowAgainLabel:`Don’t show again`,welcomeStartLabel:`Start`,welcomeCancelLabel:`Cancel`,providerOptions:[{label:`Anthropic`,value:`anthropic`},{label:`DeepSeek`,value:`deepseek`}],providerAuthOptions:()=>[{label:`OAuth`,value:`oauth`},{label:`API key`,value:`key`}],modelOptions:[{label:`claude-sonnet`,value:`anthropic/claude-sonnet-5`}],examplePrompts:[`Explain this repo`,`Fix the failing test`],onInstallProvider:async()=>({ok:!0}),onSelectModel:async()=>{},onComplete:$,onDismiss:$,onDontShowAgain:$},Oh=[{id:`AlertDialog`,category:`dialogs`,title:`AlertDialog`,variants:[{name:`single-line`,render:()=>H(jl,{title:`Update available`,message:`A new version (0.2.0) is ready to install.`,onOk:$})},{name:`multi-line`,render:()=>H(jl,{title:`Migration complete`,message:[`Moved 42 sessions to the new store.`,`Old data was archived under .otto/backup.`],okLabel:`Got it`,onOk:$})}]},{id:`BashPermissionDialog`,category:`dialogs`,title:`BashPermissionDialog`,variants:[{name:`risk=low`,render:()=>H(Al,{command:`git status`,risk:`low`,description:`Show the working tree status.`,alwaysAllowLabel:`git status`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>H(Al,{command:`cd /home/user/project && npm run build`,risk:`medium`,description:`Build the project via the npm build script.`,onApprove:$,onDeny:$})},{name:`risk=high`,render:()=>H(Al,{command:`rm -rf ./dist && curl https://example.com/install.sh | sh`,risk:`high`,description:`Remove the dist directory and run a remote install script.`,onApprove:$,onDeny:$})}]},{id:`ConfirmDialog`,category:`dialogs`,title:`ConfirmDialog`,variants:[{name:`default`,render:()=>H(Ge,{title:`Discard changes?`,message:`Any unsaved edits will be lost.`,onConfirm:$,onCancel:$})},{name:`dangerous`,render:()=>H(Ge,{title:`Abort current turn?`,message:`The model is still responding.`,confirmLabel:`Abort`,confirmColor:`red`,dangerous:!0,onConfirm:$,onCancel:$})},{name:`threeBtn`,render:()=>H(Ge,{title:`Budget exceeded`,message:`This request would exceed the configured token budget.`,confirmLabel:`Continue`,extraLabel:`Log in`,extraColor:`amber`,cancelLabel:`Stop`,onConfirm:$,onExtra:$,onCancel:$})}]},{id:`ExtensionDetailDialog`,category:`dialogs`,title:`ExtensionDetailDialog`,variants:[{name:`plugin-with-actions`,render:()=>H(Nf,{req:{title:`legacy-plugin`,meta:`plugin · user · enabled · trusted`,actions:[{label:`Disable`,value:`disable`,color:`amber`},{label:`Reload`,value:`reload`},{label:`Untrust`,value:`untrust`,color:`red`}],info:[`command: node ./legacy-plugin/index.js`,`version: 1.4.2`],onAction:$,onClose:$}})},{name:`mcp-info-only`,render:()=>H(Nf,{req:{title:`filesystem`,meta:`mcp · user · connected`,actions:[{label:`Reconnect`,value:`reconnect`}],info:[`url: stdio://filesystem`,`tools: read_file, write_file, list_dir`],onAction:$,onClose:$}})}]},{id:`ExtensionsListDialog`,category:`dialogs`,title:`ExtensionsListDialog`,variants:[{name:`grouped-with-details`,render:()=>H(wl,{req:{entries:[{category:`mcp`,id:`filesystem`,name:`filesystem`,enabled:!0,description:`stdio://filesystem`},{category:`skill`,id:`rfc-to-todos`,name:`rfc-to-todos`,enabled:!0,description:`Turn a fuzzy request into an RFC + TODO tracker + milestone doc.`},{category:`plugin`,id:`legacy-plugin`,name:`legacy-plugin`,enabled:!1,description:`command: node ./legacy-plugin/index.js`,applies:`next-turn`}],menuContributions:[{id:`open-config`,title:`Open plugin config →`}],onSelect:$,onCancel:$}})},{name:`empty`,render:()=>H(wl,{req:{entries:[],onSelect:$,onCancel:$}})}]},{id:`FileViewerDialog`,category:`dialogs`,title:`FileViewerDialog`,variants:[{name:`markdown-rendered`,render:()=>H(If,{req:{path:`README.md`,content:[`# 安装指南`,``,`## 前置要求`,``,`### Node 版本`,`正文:需要 Node 18 以上,查看 [文档](https://example.com/docs)。`,``,`- 检查版本`," - 运行 `node -v`",` - 应显示 v18+`,`- [x] 安装依赖`,``,`> 注意:不要使用 sudo。`,``,"```bash",`pnpm build`,`pnpm test`,"```",``,`| Name | Status |`,`|---|---|`,`| Queue | Ready |`].join(`
86
- `),onDismiss:$},rows:24,columns:80})},{name:`code-file`,render:()=>H(If,{req:{path:`index.ts`,content:`export function add(a: number, b: number): number {
82
+ src/components/gallery/examples`,status:`running`,exitCode:null},gh={command:`git status --short`,output:` M packages/tui/src/components/gallery/examples/components-panes.ts
83
+ ?? /tmp/scratch.ts`,status:`done`,exitCode:0},_h=Array.from({length:40},(e,t)=>`line ${t+1}: build step output`).join(`
84
+ `);function vh(){let e=Ou();return e.setMemory({level:`warning`,heapUsed:512*1024*1024,heapSizeLimit:700*1024*1024,usedPct:73.1}),e.setNotify({coalescedCalls:1200,coalescedFires:340,immediateCalls:88,flushFires:12,coalesceRatio:3.5,alert:`healthy`}),e}function yh(){let e=ku();return e.setView({lastTurnHitRatio:.82,sessionHitRatio:.71,totalCacheReadTokens:128e3,totalCacheWriteTokens:24e3,totalInputTokens:56e3,totalCostUSD:.18,perModel:[{modelId:`claude-sonnet-4`,modelName:`claude-sonnet-4`,cacheReadTokens:96e3,cacheWriteTokens:18e3,inputTokens:4e4,hitRatio:.75},{modelId:`deepseek-v4`,modelName:`deepseek-v4`,cacheReadTokens:32e3,cacheWriteTokens:6e3,inputTokens:16e3,hitRatio:null}]}),e}const bh=[{id:3,timestamp:Date.UTC(2026,6,13,14,32,7),kind:`compact`,before:1566,after:395,summary:`User asked to refactor the auth module. Assistant read auth-store.ts, extracted the token refresh logic into a separate helper, and added regression tests. All tests pass.`},{id:2,timestamp:Date.UTC(2026,6,13,14,10,2),kind:`prune`,tokensSaved:4200,prunedCount:12},{id:1,timestamp:Date.UTC(2026,6,13,13,58,41),kind:`history_capped`,removedCount:137}];function xh(){let e=Hl();return e.setBudget({modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,totalUsed:76e3,free:124e3,overheadTokens:14e3}),e.addTurn({turnIndex:1,role:`user`,messageCount:1,estimatedTokens:320,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:2,role:`assistant`,messageCount:4,estimatedTokens:5200,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:3,role:`assistant`,messageCount:6,estimatedTokens:8800,compacted:!0,truncated:!1,pruned:!1}),e.addTurn({turnIndex:4,role:`user`,messageCount:1,estimatedTokens:210,compacted:!1,truncated:!1,pruned:!1}),e.addTurn({turnIndex:5,role:`assistant`,messageCount:3,estimatedTokens:3400,compacted:!1,truncated:!0,pruned:!1}),e}const Sh={title:`Broken plugin panel`,modulePath:`/nonexistent/plugin/panel-module.js`,exportName:`default`},Ch=[{id:`EditedFilesPane`,category:`components`,title:`EditedFilesPane`,variants:[{name:`focused`,render:()=>U(Tu,{files:fh,focused:!0,onDismiss:ch})}]},{id:`EditedFileFullPane`,category:`components`,title:`EditedFileFullPane`,variants:[{name:`diff`,render:()=>U(Bp,{file:fh[1],rows:24,onDismiss:ch,active:!0})}]},{id:`FileContentViewer`,category:`components`,title:`FileContentViewer`,variants:[{name:`default`,render:()=>U(sc,{lines:dh.split(`
85
+ `),rows:24,header:U(X,{bold:!0},`greet.ts`),onDismiss:ch,active:!0})}]},{id:`TaskDetailPane`,category:`components`,title:`TaskDetailPane`,variants:[{name:`default`,render:()=>U(Xm,{taskTitle:`Implement pane examples`,turn:3,messages:ph,rows:24,columns:80,onDismiss:ch})}]},{id:`SubagentContextView`,category:`components`,title:`SubagentContextView`,variants:[{name:`streaming`,render:()=>U(md,{title:`@explore survey the compiler pipeline`,status:`running`,messages:ph,streamText:`Scanning packages/tui for pane components…`,rows:24,columns:80})}]},{id:`ShellPane`,category:`components`,title:`ShellPane`,variants:[{name:`running`,render:()=>U(Rp,{exec:hh,maxLines:8,columns:80})},{name:`done`,render:()=>U(Rp,{exec:gh,maxLines:8,columns:80,totalLines:2})}]},{id:`ShellFullOutputDialog`,category:`components`,title:`ShellFullOutputDialog`,variants:[{name:`default`,render:()=>U(Hp,{command:`pnpm --filter @x-otto/tui build`,output:_h,rows:24,columns:80,onDismiss:()=>{}})}]},{id:`ContextPane`,category:`components`,title:`ContextPane`,variants:[{name:`default`,render:()=>U(th,{budget:mh,columns:80,onDismiss:ch,onViewDetails:ch})}]},{id:`ContextDetailPane`,category:`components`,title:`ContextDetailPane`,variants:[{name:`default`,render:()=>U(oh,{ctxStore:xh(),columns:80,onBack:ch})}]},{id:`PerfPane`,category:`components`,title:`PerfPane`,variants:[{name:`default`,render:()=>U(Xp,{perfStore:vh(),onDismiss:ch,onRefresh:ch})}]},{id:`CachePane`,category:`components`,title:`CachePane`,variants:[{name:`default`,render:()=>U(am,{cacheStore:yh(),onDismiss:ch})}]},{id:`CompactionLogPane`,category:`components`,title:`CompactionLogPane`,variants:[{name:`default`,render:()=>U(mm,{entries:bh,onClose:ch})}]},{id:`BackgroundTaskIndicator`,category:`components`,title:`BackgroundTaskIndicator`,variants:[{name:`default`,render:()=>U(Pm,{tasks:Hm})}]},{id:`ServiceIndicator`,category:`components`,title:`ServiceIndicator`,variants:[{name:`default`,render:()=>U(Fm,{tasks:Hm.map(e=>e.id===`d2`?{...e,detectedService:{url:`http://localhost:5173/`,port:5173,protocol:`http`}}:e)})}]},{id:`ForcedUpgradeOverlay`,category:`components`,title:`ForcedUpgradeOverlay`,variants:[{name:`default`,render:()=>U(sh,{message:`Your CLI is below the minimum supported version. Upgrade to continue.`,onUpgrade:ch,onCancel:ch})}]},{id:`TrustPromptDialog`,category:`components`,title:`TrustPromptDialog`,variants:[{name:`default`,render:()=>U(wn,{root:`/home/user/untrusted-project`,onChoice:ch})}]},{id:`PluginPane`,category:`components`,title:`PluginPane`,variants:[{name:`error`,render:()=>U(dp,{panelInfo:Sh})}]}];function wh({item:e}){let n=L(),{phase:r,requestedAt:i,toolCount:a,totalToolCount:o,onCancel:s,onResume:c,onDismiss:l}=e,[u,d]=K(Math.floor((Date.now()-i)/1e3));return W(()=>{if(r!==`requested`)return;let e=setInterval(()=>{d(Math.floor((Date.now()-i)/1e3))},1e3);return()=>clearInterval(e)},[r,i]),O({tabIndex:0,id:`pause-dialog`,onEscape:()=>(l?.(),!0),onAction:()=>(r===`requested`?s?.():c?.(),!0)}),yt(`pause-dialog`,(e,t)=>t.escape?(l?.(),!0):t.return?(r===`requested`?s?.():c?.(),!0):!1),J(M,{header:q(w,{color:r===`active`?n.accent:void 0,children:r===`requested`?V.t(`pause.titleRequested`):V.t(`pause.titleActive`)}),paddingY:t.tight,children:[q(X,{children:r===`requested`?V.t(`pause.bodyRequested`):V.t(`pause.bodyActive`)}),q(Y,{marginTop:t.tight,children:q(X,{children:r===`requested`?V.t(`pause.toolCount`,{n:a,s:u}):o==null?``:V.t(`pause.toolTotal`,{n:o})})}),q(Y,{marginTop:t.tight,children:q(F,{variant:`solid`,brackets:!0,color:`accent`,focused:!0,label:r===`requested`?V.t(`pause.btnCancel`):V.t(`pause.btnResume`)})}),q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:r===`requested`?V.t(`pause.footerDismiss`):V.t(`pause.footerActive`)})})]})}const Th=()=>{},Eh=(()=>Promise.resolve(null)),Dh=[{id:`DataList`,category:`components`,title:`DataList`,variants:[{name:`groups+rows+text`,render:()=>U(et,{entries:[{kind:`group`,title:`连接`},{kind:`row`,label:`地址`,value:`http://127.0.0.1:7890`},{kind:`row`,label:`状态`,value:`已启用`,tone:`success`},{kind:`blank`},{kind:`group`,title:`其他`},{kind:`row`,label:`配置文件`,value:`~/.otto/config.json`,tone:`muted`},{kind:`text`,value:`提示:修改后需重启生效`,tone:`muted`}]})}]},{id:`EditableFieldRow`,category:`components`,title:`EditableFieldRow`,variants:[{name:`input/selected`,render:()=>U(sm,{field:{kind:`input`,id:`url`,label:`代理地址`,value:`http://127.0.0.1:7890`},selected:!0})},{name:`input/empty`,render:()=>U(sm,{field:{kind:`input`,id:`token`,label:`API Key`,value:``,mask:!0},selected:!1})},{name:`switch/on`,render:()=>U(sm,{field:{kind:`switch`,id:`enabled`,label:`启用`,value:!0},selected:!1})}]},{id:`ParentWorkspaceDialog`,category:`dialogs`,title:`ParentWorkspaceDialog`,variants:[{name:`default`,render:()=>U(Dn,{parentRoot:`/Users/dev/projects/monorepo`,currentRoot:`/Users/dev/projects/monorepo/packages/app`,onChoice:Th})}]},{id:`PauseDialog`,category:`components`,title:`PauseDialog`,variants:[{name:`requested`,render:()=>U(wh,{item:{phase:`requested`,requestedAt:Date.now()-3e3,toolCount:2,totalToolCount:5}})},{name:`active`,render:()=>U(wh,{item:{phase:`active`,requestedAt:Date.now()-8e3,toolCount:0}})}]},{id:`ProxyPane`,category:`components`,title:`ProxyPane`,variants:[{name:`enabled`,render:()=>U(lm,{view:{url:`http://127.0.0.1:7890`,enabled:!0,configPath:`~/.otto/config.json`},onDismiss:Th,onOpenModal:Eh,onSubmitUrl:Th,onToggleEnabled:Th,onClear:Th})},{name:`unconfigured`,render:()=>U(lm,{view:{configPath:`~/.otto/config.json`},onDismiss:Th,onOpenModal:Eh,onSubmitUrl:Th,onToggleEnabled:Th,onClear:Th})}]},{id:`KeybindingsDialog`,category:`dialogs`,title:`KeybindingsDialog`,variants:[{name:`default`,render:()=>U(np,{overrides:void 0,onSave:Th,onSaveReplace:Th,onReset:Th,onResetAll:Th,onDismiss:Th})}]}],$=()=>{},Oh=[{id:`svc-1`,command:`npm run dev`,status:`running`,type:`process`,startedAt:Date.now()-42e3,detectedService:{url:`http://localhost:3000`,port:3e3,protocol:`http`}}],kh={kind:`wizard`,title:`Setup`,stepNames:[`Provider`,`Trust`,`Login`,`Model`,`Start`],stepSubtitles:[`Pick a provider`,`Trust workspace`,`Authenticate`,`Choose model`,`Ready`],initialCompleted:[],initialCurrent:0,welcomeTitle:`Welcome to otto`,welcomeGreeting:`Hello`,welcomeDescription:`Let’s get you set up.`,welcomeDontShowAgainLabel:`Don’t show again`,welcomeStartLabel:`Start`,welcomeCancelLabel:`Cancel`,providerOptions:[{label:`Anthropic`,value:`anthropic`},{label:`DeepSeek`,value:`deepseek`}],providerAuthOptions:()=>[{label:`OAuth`,value:`oauth`},{label:`API key`,value:`key`}],modelOptions:[{label:`claude-sonnet`,value:`anthropic/claude-sonnet-5`}],examplePrompts:[`Explain this repo`,`Fix the failing test`],onInstallProvider:async()=>({ok:!0}),onSelectModel:async()=>{},onComplete:$,onDismiss:$,onDontShowAgain:$},Ah=[{id:`AlertDialog`,category:`dialogs`,title:`AlertDialog`,variants:[{name:`single-line`,render:()=>U(Ml,{title:`Update available`,message:`A new version (0.2.0) is ready to install.`,onOk:$})},{name:`multi-line`,render:()=>U(Ml,{title:`Migration complete`,message:[`Moved 42 sessions to the new store.`,`Old data was archived under .otto/backup.`],okLabel:`Got it`,onOk:$})}]},{id:`BashPermissionDialog`,category:`dialogs`,title:`BashPermissionDialog`,variants:[{name:`risk=low`,render:()=>U(jl,{command:`git status`,risk:`low`,description:`Show the working tree status.`,alwaysAllowLabel:`git status`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>U(jl,{command:`cd /home/user/project && npm run build`,risk:`medium`,description:`Build the project via the npm build script.`,onApprove:$,onDeny:$})},{name:`risk=high`,render:()=>U(jl,{command:`rm -rf ./dist && curl https://example.com/install.sh | sh`,risk:`high`,description:`Remove the dist directory and run a remote install script.`,onApprove:$,onDeny:$})}]},{id:`ConfirmDialog`,category:`dialogs`,title:`ConfirmDialog`,variants:[{name:`default`,render:()=>U(Ge,{title:`Discard changes?`,message:`Any unsaved edits will be lost.`,onConfirm:$,onCancel:$})},{name:`dangerous`,render:()=>U(Ge,{title:`Abort current turn?`,message:`The model is still responding.`,confirmLabel:`Abort`,confirmColor:`red`,dangerous:!0,onConfirm:$,onCancel:$})},{name:`threeBtn`,render:()=>U(Ge,{title:`Budget exceeded`,message:`This request would exceed the configured token budget.`,confirmLabel:`Continue`,extraLabel:`Log in`,extraColor:`amber`,cancelLabel:`Stop`,onConfirm:$,onExtra:$,onCancel:$})}]},{id:`ExtensionDetailDialog`,category:`dialogs`,title:`ExtensionDetailDialog`,variants:[{name:`plugin-with-actions`,render:()=>U(Ff,{req:{title:`legacy-plugin`,meta:`plugin · user · enabled · trusted`,actions:[{label:`Disable`,value:`disable`,color:`amber`},{label:`Reload`,value:`reload`},{label:`Untrust`,value:`untrust`,color:`red`}],info:[`command: node ./legacy-plugin/index.js`,`version: 1.4.2`],onAction:$,onClose:$}})},{name:`mcp-info-only`,render:()=>U(Ff,{req:{title:`filesystem`,meta:`mcp · user · connected`,actions:[{label:`Reconnect`,value:`reconnect`}],info:[`url: stdio://filesystem`,`tools: read_file, write_file, list_dir`],onAction:$,onClose:$}})}]},{id:`ExtensionsListDialog`,category:`dialogs`,title:`ExtensionsListDialog`,variants:[{name:`grouped-with-details`,render:()=>U(Tl,{req:{entries:[{category:`mcp`,id:`filesystem`,name:`filesystem`,enabled:!0,description:`stdio://filesystem`},{category:`skill`,id:`rfc-to-todos`,name:`rfc-to-todos`,enabled:!0,description:`Turn a fuzzy request into an RFC + TODO tracker + milestone doc.`},{category:`plugin`,id:`legacy-plugin`,name:`legacy-plugin`,enabled:!1,description:`command: node ./legacy-plugin/index.js`,applies:`next-turn`}],menuContributions:[{id:`open-config`,title:`Open plugin config →`}],onSelect:$,onCancel:$}})},{name:`empty`,render:()=>U(Tl,{req:{entries:[],onSelect:$,onCancel:$}})}]},{id:`FileViewerDialog`,category:`dialogs`,title:`FileViewerDialog`,variants:[{name:`markdown-rendered`,render:()=>U(Rf,{req:{path:`README.md`,content:[`# 安装指南`,``,`## 前置要求`,``,`### Node 版本`,`正文:需要 Node 18 以上,查看 [文档](https://example.com/docs)。`,``,`- 检查版本`," - 运行 `node -v`",` - 应显示 v18+`,`- [x] 安装依赖`,``,`> 注意:不要使用 sudo。`,``,"```bash",`pnpm build`,`pnpm test`,"```",``,`| Name | Status |`,`|---|---|`,`| Queue | Ready |`].join(`
86
+ `),onDismiss:$},rows:24,columns:80})},{name:`code-file`,render:()=>U(Rf,{req:{path:`index.ts`,content:`export function add(a: number, b: number): number {
87
87
  return a + b
88
- }`,onDismiss:$},rows:24,columns:80})}]},{id:`HelpViewerDialog`,category:`dialogs`,title:`HelpViewerDialog`,variants:[{name:`command-list`,render:()=>{let e=e=>`\x1b[38;2;162;142;249m${e}\x1b[39m`,t=e=>`\x1b[38;2;148;152;184m${e}\x1b[39m`,n=e=>`\x1b[38;2;255;201;102m${e}\x1b[39m`,r=e=>`\x1b[1m\x1b[38;2;162;142;249m${e}\x1b[39m\x1b[22m`;return H(zf,{req:{title:`Help`,lines:[r(`Session`),` ${e(`/clear`)} ${t(`Clear screen and reset interface state`)}`,` ${e(`/compact`)} ${t(`Compact context now`)}`,``,r(`Model & auth`),` ${e(`/model`)} ${t(`Switch model`)}`,` ${e(`/auth`)} ${t(`Log in to a provider`)}`,``,r(`Prefixes`),` ${n(`!<cmd>`)} ${t(`Run as shell command`)}`,` ${n(`@<file>`)} ${t(`Read file into context`)}`],onDismiss:$},rows:24,columns:80})}}]},{id:`PluginDialog`,category:`dialogs`,title:`PluginDialog`,variants:[{name:`panel-loading`,render:()=>H(up,{req:{panelInfo:{title:`Miniprogram Use`,modulePath:`/nonexistent/config.mjs`,exportName:`default`},onClose:$}})}]},{id:`InfoDialog`,category:`dialogs`,title:`InfoDialog`,variants:[{name:`no-action`,render:()=>H(ve,{title:`Permissions`,lines:[`Bash: ask each time`,`Edit: auto-approve within project`,`WebFetch: ask each time`],onDismiss:$})},{name:`with-action`,render:()=>H(ve,{title:`Authentication expired`,lines:[`Your session token is no longer valid.`,`Log in again to continue.`],lineTones:{0:`warning`},action:{kind:`login`,run:$},onDismiss:$})},{name:`key-value/about`,render:()=>H(ve,{title:`About otto`,lines:gl([{label:`Version`,value:`0.0.1 (build 2709)`},{label:`Branch`,value:`dev`},{label:`Commit`,value:`525e96a8`},null,{label:`Runtime`,value:`Node.js v22.22.1 · darwin arm64`},{label:`CPU`,value:`12 cores`},{label:`Memory`,value:`48 GB total / 88 MB free`}]),onDismiss:$})},{name:`key-value/about-zh`,render:()=>H(ve,{title:`关于 otto`,lines:gl([{label:`版本`,value:`0.0.1 (build 2709)`},{label:`分支`,value:`dev`},{label:`提交`,value:`525e96a8`},null,{label:`运行时`,value:`Node.js v22.22.1 · darwin arm64`},{label:`当前模型`,value:`anthropic/claude-sonnet-5`}]),onDismiss:$})}]},{id:`InputDialog`,category:`dialogs`,title:`InputDialog`,variants:[{name:`plain`,render:()=>H(Hf,{title:`Rename session`,placeholder:`New session name`,onSubmit:$,onCancel:$})},{name:`masked-with-action`,render:()=>H(Hf,{title:`Enter API key`,description:[`Paste your provider API key below.`,`It is stored locally and never logged.`],placeholder:`sk-...`,mask:!0,actionButton:{label:`Open browser`},onActionButton:$,onSubmit:$,onCancel:$})}]},{id:`MemoryDialog`,category:`dialogs`,title:`MemoryDialog`,variants:[{name:`default`,render:()=>H(vl,{projectIndex:[`- [build-commands](memory/build-commands.md) — how to build and test this repo`,`- [api-endpoints](memory/api-endpoints.md) — non-sensitive service endpoints`].join(`
89
- `),userIndex:`- [editor-prefs](memory/editor-prefs.md) — preferred editor and formatting`,onViewEntry:async()=>`sample entry content`,onForget:async()=>{},onDismiss:$})},{name:`empty`,render:()=>H(vl,{projectIndex:``,userIndex:``,onViewEntry:async()=>null,onForget:async()=>{},onDismiss:$})}]},{id:`PasteConfirmDialog`,category:`dialogs`,title:`PasteConfirmDialog`,variants:[{name:`default`,render:()=>H(Sf,{content:Array.from({length:24},(e,t)=>`line ${t+1}: pasted content goes here`).join(`
90
- `),onConfirm:$,onCancel:$})}]},{id:`PermissionDialog`,category:`dialogs`,title:`PermissionDialog`,variants:[{name:`risk=low`,render:()=>H(El,{tool:`read`,input:`{ "path": "src/index.ts" }`,risk:`low`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>H(El,{tool:`edit`,input:`{ "path": "src/app.ts", "oldContent": "...", "newContent": "..." }`,risk:`medium`,onApprove:$,onDeny:$})},{name:`risk=high`,render:()=>H(El,{tool:`web_fetch`,input:`{ "url": "https://external.example.com/data" }`,risk:`high`,onApprove:$,onDeny:$})}]},{id:`PromptDialog`,category:`dialogs`,title:`PromptDialog`,variants:[{name:`default`,render:()=>H(Ml,{title:`Name this branch`,message:`Enter a short, descriptive branch name.`,placeholder:`feature/...`,onSubmit:$,onCancel:$})},{name:`with-initial-value`,render:()=>H(Ml,{title:`Edit commit message`,message:[`Update the message below.`,`Use conventional commit format.`],initialValue:`feat: add gallery dialogs`,submitLabel:`Save`,onSubmit:$,onCancel:$})}]},{id:`QuestionsDialog`,category:`dialogs`,title:`QuestionsDialog`,variants:[{name:`single-question`,render:()=>H(Xe,{title:`Pick a deployment target`,questions:[{header:`Target`,question:`Which environment should we deploy to?`,multiSelect:!1,options:[{label:`Staging`,description:`Safe, non-production sandbox`},{label:`Production`,description:`Live user traffic`}]}],onSubmit:$,onCancel:$})},{name:`multi-question`,render:()=>H(Xe,{title:`Configure the run`,questions:[{header:`Scope`,question:`Which packages should the task cover?`,multiSelect:!0,options:[{label:`tui`},{label:`agent`},{label:`coding`}]},{header:`Mode`,question:`How should it run?`,multiSelect:!1,options:[{label:`Fast`},{label:`Thorough`}],freeformInput:!0,freeformPlaceholder:`Any extra notes…`}],onSubmit:$,onCancel:$})}]},{id:`SelectDialog`,category:`dialogs`,title:`SelectDialog`,variants:[{name:`list`,render:()=>H(_p,{title:`Select a model`,subtitle:`Choose the model for this session`,options:[{label:`claude-sonnet`,value:`sonnet`,detail:`balanced · 200k context`},{label:`claude-opus`,value:`opus`,detail:`strongest reasoning`},{label:`claude-haiku`,value:`haiku`,detail:`fast · cheap`}],onSelect:$,onCancel:$})},{name:`searchable`,render:()=>H(_p,{title:`Resume a session`,searchable:!0,options:[{label:`Refactor gallery registry`,value:`s1`,detail:`2 hours ago`},{label:`Fix dialog typecheck`,value:`s2`,detail:`yesterday`},{label:`RFC-147 planning`,value:`s3`,detail:`3 days ago`}],onSelect:$,onCancel:$})}]},{id:`SelectRoot`,category:`dialogs`,title:`Select.Root`,variants:[{name:`grouped`,render:()=>H(z.Root,{title:`Fruits & Vegetables`,children:H(z.Content,{children:[H(z.Group,{key:`fruits`,children:[H(z.Label,{key:`label`,children:`Fruits`}),H(z.Item,{key:`orange`,value:`orange`,children:`Orange`}),H(z.Item,{key:`apple`,value:`apple`,children:`Apple`}),H(z.Item,{key:`grape`,value:`grape`,disabled:!0,children:`Grape`})]}),H(z.Separator,{key:`sep`}),H(z.Group,{key:`vegetables`,children:[H(z.Label,{key:`label`,children:`Vegetables`}),H(z.Item,{key:`carrot`,value:`carrot`,children:`Carrot`}),H(z.Item,{key:`potato`,value:`potato`,detail:`starchy`,children:`Potato`})]})]})})}]},{id:`SelectItem`,category:`dialogs`,title:`Select.Item`,variants:[{name:`default`,render:()=>H(z.Root,{children:[H(z.Item,{key:`a`,value:`a`,children:`Item A`}),H(z.Item,{key:`b`,value:`b`,detail:`with detail text`,children:`Item B`}),H(z.Item,{key:`c`,value:`c`,disabled:!0,children:`Item C (disabled)`})]})}]},{id:`SelectGroup`,category:`dialogs`,title:`Select.Group`,variants:[{name:`default`,render:()=>H(z.Root,{children:H(z.Group,{children:[H(z.Label,{key:`label`,children:`Group A`}),H(z.Item,{key:`a1`,value:`a1`,children:`A1`})]})})}]},{id:`SelectLabel`,category:`dialogs`,title:`Select.Label`,variants:[{name:`default`,render:()=>H(z.Root,{children:H(z.Group,{children:[H(z.Label,{key:`label`,children:`A Group Label`}),H(z.Item,{key:`x`,value:`x`,children:`X`})]})})}]},{id:`SelectSeparator`,category:`dialogs`,title:`Select.Separator`,variants:[{name:`default`,render:()=>H(z.Root,{children:[H(z.Group,{key:`top`,children:[H(z.Label,{key:`label`,children:`Top`}),H(z.Item,{key:`t1`,value:`t1`,children:`T1`})]}),H(z.Separator,{key:`sep`}),H(z.Group,{key:`bottom`,children:[H(z.Label,{key:`label`,children:`Bottom`}),H(z.Item,{key:`b1`,value:`b1`,children:`B1`})]})]})}]},{id:`SelectContent`,category:`dialogs`,title:`Select.Content`,variants:[{name:`default`,render:()=>H(z.Root,{children:H(z.Content,{children:H(z.Item,{value:`only`,children:`Only Item`})})})}]},{id:`SelectTrigger`,category:`dialogs`,title:`Select.Trigger`,variants:[{name:`no-op-placeholder`,render:()=>H(z.Root,{children:[H(z.Trigger,{key:`trigger`}),H(z.Item,{key:`only`,value:`only`,children:`Only Item`})]})}]},{id:`Select`,category:`dialogs`,title:`Select (namespace)`,variants:[{name:`namespace-access`,render:()=>H(z.Root,{children:H(z.Item,{value:`a`,children:`Accessed via Select.Root`})})}]},{id:`ProgressDialog`,category:`dialogs`,title:`ProgressDialog`,variants:[{name:`running`,render:()=>H(ot,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`active`,`pending`],percent:45,detail:`Extracting archive…`,status:`running`,onDismiss:$})},{name:`success`,render:()=>H(ot,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:2,phaseStatuses:[`done`,`done`,`done`],percent:100,detail:``,status:`success`,onDismiss:$})},{name:`partial`,render:()=>H(ot,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`error`,`done`],percent:100,detail:``,status:`partial`,errorMessage:`1 installed, 1 failed:demo-skill —— already exists`,nextStep:{kind:`force`,label:`Tip: add --force to overwrite the existing item`},onDismiss:$})},{name:`error`,render:()=>H(ot,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`error`,`pending`],percent:100,detail:``,status:`error`,errorMessage:`2/2 failed:demo-skill —— already exists;other-skill —— already exists`,nextStep:{kind:`force`,label:`Tip: add --force to overwrite the existing item`},onDismiss:$})}]},{id:`ServicesDialog`,category:`dialogs`,title:`ServicesDialog`,variants:[{name:`one-service`,render:()=>H(zp,{tasks:Eh,columns:80,rows:24,onDismiss:$})}]},{id:`ShortcutsDialog`,category:`dialogs`,title:`ShortcutsDialog`,variants:[{name:`list`,render:()=>H(bp,{shortcuts:[{name:`deploy`,text:`run the deploy script`}],onSave:$,onDelete:$,onDismiss:$})}]},{id:`QueueEditDialog`,category:`dialogs`,title:`QueueEditDialog`,variants:[{name:`edit-send`,render:()=>H(hf,{index:2,total:4,initialValue:`add unit tests for the parser`,mode:`send`,busy:!1,columns:80,onSendNow:$,onConfirm:$,onCancel:$})}]},{id:`ChipContentViewerDialog`,category:`dialogs`,title:`ChipContentViewerDialog`,variants:[{name:`paste-content`,render:()=>H(Pp,{req:{label:`Pasted content #3`,content:`line one
88
+ }`,onDismiss:$},rows:24,columns:80})}]},{id:`HelpViewerDialog`,category:`dialogs`,title:`HelpViewerDialog`,variants:[{name:`command-list`,render:()=>{let e=e=>`\x1b[38;2;162;142;249m${e}\x1b[39m`,t=e=>`\x1b[38;2;148;152;184m${e}\x1b[39m`,n=e=>`\x1b[38;2;255;201;102m${e}\x1b[39m`,r=e=>`\x1b[1m\x1b[38;2;162;142;249m${e}\x1b[39m\x1b[22m`;return U(Vf,{req:{title:`Help`,lines:[r(`Session`),` ${e(`/clear`)} ${t(`Clear screen and reset interface state`)}`,` ${e(`/compact`)} ${t(`Compact context now`)}`,``,r(`Model & auth`),` ${e(`/model`)} ${t(`Switch model`)}`,` ${e(`/auth`)} ${t(`Log in to a provider`)}`,``,r(`Prefixes`),` ${n(`!<cmd>`)} ${t(`Run as shell command`)}`,` ${n(`@<file>`)} ${t(`Read file into context`)}`],onDismiss:$},rows:24,columns:80})}}]},{id:`PluginDialog`,category:`dialogs`,title:`PluginDialog`,variants:[{name:`panel-loading`,render:()=>U(fp,{req:{panelInfo:{title:`Miniprogram Use`,modulePath:`/nonexistent/config.mjs`,exportName:`default`},onClose:$}})}]},{id:`InfoDialog`,category:`dialogs`,title:`InfoDialog`,variants:[{name:`no-action`,render:()=>U(ye,{title:`Permissions`,lines:[`Bash: ask each time`,`Edit: auto-approve within project`,`WebFetch: ask each time`],onDismiss:$})},{name:`with-action`,render:()=>U(ye,{title:`Authentication expired`,lines:[`Your session token is no longer valid.`,`Log in again to continue.`],lineTones:{0:`warning`},action:{kind:`login`,run:$},onDismiss:$})},{name:`key-value/about`,render:()=>U(ye,{title:`About otto`,lines:_l([{label:`Version`,value:`0.0.1 (build 2709)`},{label:`Branch`,value:`dev`},{label:`Commit`,value:`525e96a8`},null,{label:`Runtime`,value:`Node.js v22.22.1 · darwin arm64`},{label:`CPU`,value:`12 cores`},{label:`Memory`,value:`48 GB total / 88 MB free`}]),onDismiss:$})},{name:`key-value/about-zh`,render:()=>U(ye,{title:`关于 otto`,lines:_l([{label:`版本`,value:`0.0.1 (build 2709)`},{label:`分支`,value:`dev`},{label:`提交`,value:`525e96a8`},null,{label:`运行时`,value:`Node.js v22.22.1 · darwin arm64`},{label:`当前模型`,value:`anthropic/claude-sonnet-5`}]),onDismiss:$})}]},{id:`InputDialog`,category:`dialogs`,title:`InputDialog`,variants:[{name:`plain`,render:()=>U(Wf,{title:`Rename session`,placeholder:`New session name`,onSubmit:$,onCancel:$})},{name:`masked-with-action`,render:()=>U(Wf,{title:`Enter API key`,description:[`Paste your provider API key below.`,`It is stored locally and never logged.`],placeholder:`sk-...`,mask:!0,actionButton:{label:`Open browser`},onActionButton:$,onSubmit:$,onCancel:$})}]},{id:`MemoryDialog`,category:`dialogs`,title:`MemoryDialog`,variants:[{name:`default`,render:()=>U(yl,{projectIndex:[`- [build-commands](memory/build-commands.md) — how to build and test this repo`,`- [api-endpoints](memory/api-endpoints.md) — non-sensitive service endpoints`].join(`
89
+ `),userIndex:`- [editor-prefs](memory/editor-prefs.md) — preferred editor and formatting`,onViewEntry:async()=>`sample entry content`,onForget:async()=>{},onDismiss:$})},{name:`empty`,render:()=>U(yl,{projectIndex:``,userIndex:``,onViewEntry:async()=>null,onForget:async()=>{},onDismiss:$})}]},{id:`PasteConfirmDialog`,category:`dialogs`,title:`PasteConfirmDialog`,variants:[{name:`default`,render:()=>U(wf,{content:Array.from({length:24},(e,t)=>`line ${t+1}: pasted content goes here`).join(`
90
+ `),onConfirm:$,onCancel:$})}]},{id:`PermissionDialog`,category:`dialogs`,title:`PermissionDialog`,variants:[{name:`risk=low`,render:()=>U(Dl,{tool:`read`,input:`{ "path": "src/index.ts" }`,risk:`low`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>U(Dl,{tool:`edit`,input:`{ "path": "src/app.ts", "oldContent": "...", "newContent": "..." }`,risk:`medium`,onApprove:$,onDeny:$})},{name:`risk=high`,render:()=>U(Dl,{tool:`web_fetch`,input:`{ "url": "https://external.example.com/data" }`,risk:`high`,onApprove:$,onDeny:$})}]},{id:`PromptDialog`,category:`dialogs`,title:`PromptDialog`,variants:[{name:`default`,render:()=>U(Nl,{title:`Name this branch`,message:`Enter a short, descriptive branch name.`,placeholder:`feature/...`,onSubmit:$,onCancel:$})},{name:`with-initial-value`,render:()=>U(Nl,{title:`Edit commit message`,message:[`Update the message below.`,`Use conventional commit format.`],initialValue:`feat: add gallery dialogs`,submitLabel:`Save`,onSubmit:$,onCancel:$})}]},{id:`QuestionsDialog`,category:`dialogs`,title:`QuestionsDialog`,variants:[{name:`single-question`,render:()=>U(Ze,{title:`Pick a deployment target`,questions:[{header:`Target`,question:`Which environment should we deploy to?`,multiSelect:!1,options:[{label:`Staging`,description:`Safe, non-production sandbox`},{label:`Production`,description:`Live user traffic`}]}],onSubmit:$,onCancel:$})},{name:`multi-question`,render:()=>U(Ze,{title:`Configure the run`,questions:[{header:`Scope`,question:`Which packages should the task cover?`,multiSelect:!0,options:[{label:`tui`},{label:`agent`},{label:`coding`}]},{header:`Mode`,question:`How should it run?`,multiSelect:!1,options:[{label:`Fast`},{label:`Thorough`}],freeformInput:!0,freeformPlaceholder:`Any extra notes…`}],onSubmit:$,onCancel:$})}]},{id:`SelectDialog`,category:`dialogs`,title:`SelectDialog`,variants:[{name:`list`,render:()=>U(yp,{title:`Select a model`,subtitle:`Choose the model for this session`,options:[{label:`claude-sonnet`,value:`sonnet`,detail:`balanced · 200k context`},{label:`claude-opus`,value:`opus`,detail:`strongest reasoning`},{label:`claude-haiku`,value:`haiku`,detail:`fast · cheap`}],onSelect:$,onCancel:$})},{name:`searchable`,render:()=>U(yp,{title:`Resume a session`,searchable:!0,options:[{label:`Refactor gallery registry`,value:`s1`,detail:`2 hours ago`},{label:`Fix dialog typecheck`,value:`s2`,detail:`yesterday`},{label:`RFC-147 planning`,value:`s3`,detail:`3 days ago`}],onSelect:$,onCancel:$})}]},{id:`SelectRoot`,category:`dialogs`,title:`Select.Root`,variants:[{name:`grouped`,render:()=>U(z.Root,{title:`Fruits & Vegetables`,children:U(z.Content,{children:[U(z.Group,{key:`fruits`,children:[U(z.Label,{key:`label`,children:`Fruits`}),U(z.Item,{key:`orange`,value:`orange`,children:`Orange`}),U(z.Item,{key:`apple`,value:`apple`,children:`Apple`}),U(z.Item,{key:`grape`,value:`grape`,disabled:!0,children:`Grape`})]}),U(z.Separator,{key:`sep`}),U(z.Group,{key:`vegetables`,children:[U(z.Label,{key:`label`,children:`Vegetables`}),U(z.Item,{key:`carrot`,value:`carrot`,children:`Carrot`}),U(z.Item,{key:`potato`,value:`potato`,detail:`starchy`,children:`Potato`})]})]})})}]},{id:`SelectItem`,category:`dialogs`,title:`Select.Item`,variants:[{name:`default`,render:()=>U(z.Root,{children:[U(z.Item,{key:`a`,value:`a`,children:`Item A`}),U(z.Item,{key:`b`,value:`b`,detail:`with detail text`,children:`Item B`}),U(z.Item,{key:`c`,value:`c`,disabled:!0,children:`Item C (disabled)`})]})}]},{id:`SelectGroup`,category:`dialogs`,title:`Select.Group`,variants:[{name:`default`,render:()=>U(z.Root,{children:U(z.Group,{children:[U(z.Label,{key:`label`,children:`Group A`}),U(z.Item,{key:`a1`,value:`a1`,children:`A1`})]})})}]},{id:`SelectLabel`,category:`dialogs`,title:`Select.Label`,variants:[{name:`default`,render:()=>U(z.Root,{children:U(z.Group,{children:[U(z.Label,{key:`label`,children:`A Group Label`}),U(z.Item,{key:`x`,value:`x`,children:`X`})]})})}]},{id:`SelectSeparator`,category:`dialogs`,title:`Select.Separator`,variants:[{name:`default`,render:()=>U(z.Root,{children:[U(z.Group,{key:`top`,children:[U(z.Label,{key:`label`,children:`Top`}),U(z.Item,{key:`t1`,value:`t1`,children:`T1`})]}),U(z.Separator,{key:`sep`}),U(z.Group,{key:`bottom`,children:[U(z.Label,{key:`label`,children:`Bottom`}),U(z.Item,{key:`b1`,value:`b1`,children:`B1`})]})]})}]},{id:`SelectContent`,category:`dialogs`,title:`Select.Content`,variants:[{name:`default`,render:()=>U(z.Root,{children:U(z.Content,{children:U(z.Item,{value:`only`,children:`Only Item`})})})}]},{id:`SelectTrigger`,category:`dialogs`,title:`Select.Trigger`,variants:[{name:`no-op-placeholder`,render:()=>U(z.Root,{children:[U(z.Trigger,{key:`trigger`}),U(z.Item,{key:`only`,value:`only`,children:`Only Item`})]})}]},{id:`Select`,category:`dialogs`,title:`Select (namespace)`,variants:[{name:`namespace-access`,render:()=>U(z.Root,{children:U(z.Item,{value:`a`,children:`Accessed via Select.Root`})})}]},{id:`ProgressDialog`,category:`dialogs`,title:`ProgressDialog`,variants:[{name:`running`,render:()=>U(st,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`active`,`pending`],percent:45,detail:`Extracting archive…`,status:`running`,onDismiss:$})},{name:`success`,render:()=>U(st,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:2,phaseStatuses:[`done`,`done`,`done`],percent:100,detail:``,status:`success`,onDismiss:$})},{name:`partial`,render:()=>U(st,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`error`,`done`],percent:100,detail:``,status:`partial`,errorMessage:`1 installed, 1 failed:demo-skill —— already exists`,nextStep:{kind:`force`,label:`Tip: add --force to overwrite the existing item`},onDismiss:$})},{name:`error`,render:()=>U(st,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:1,phaseStatuses:[`done`,`error`,`pending`],percent:100,detail:``,status:`error`,errorMessage:`2/2 failed:demo-skill —— already exists;other-skill —— already exists`,nextStep:{kind:`force`,label:`Tip: add --force to overwrite the existing item`},onDismiss:$})}]},{id:`ServicesDialog`,category:`dialogs`,title:`ServicesDialog`,variants:[{name:`one-service`,render:()=>U(Vp,{tasks:Oh,columns:80,rows:24,onDismiss:$})}]},{id:`ShortcutsDialog`,category:`dialogs`,title:`ShortcutsDialog`,variants:[{name:`list`,render:()=>U(Sp,{shortcuts:[{name:`deploy`,text:`run the deploy script`}],onSave:$,onDelete:$,onDismiss:$})}]},{id:`QueueEditDialog`,category:`dialogs`,title:`QueueEditDialog`,variants:[{name:`edit-send`,render:()=>U(_f,{index:2,total:4,initialValue:`add unit tests for the parser`,mode:`send`,busy:!1,columns:80,onSendNow:$,onConfirm:$,onCancel:$})}]},{id:`ChipContentViewerDialog`,category:`dialogs`,title:`ChipContentViewerDialog`,variants:[{name:`paste-content`,render:()=>U(Ip,{req:{label:`Pasted content #3`,content:`line one
91
91
  line two
92
- line three`,onDismiss:$},rows:24,columns:80})}]},{id:`A2uiFormDialog`,category:`dialogs`,title:`A2uiFormDialog`,variants:[{name:`form`,render:()=>H(Df,{component:{id:`form-1`,type:`Form`,formTitle:`Feedback`,fields:[{id:`name`,type:`text`,label:`Name`},{id:`subscribe`,type:`toggle`,label:`Subscribe`}]},columns:80,onAction:$,onDismiss:$})}]},{id:`OnboardingDialog`,category:`dialogs`,title:`OnboardingDialog`,variants:[{name:`step-0-nickname`,render:()=>H(Ap,{columns:80,onComplete:$})}]},{id:`WizardDialog`,category:`dialogs`,title:`WizardDialog`,variants:[{name:`step-0-provider`,render:()=>H(ft,{request:Dh})}]}];function kh(e,t=72){return M(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function Ah(e,t){let[n,r]=K(e);return U(()=>{if(n<=0){t();return}let e=setTimeout(()=>r(e=>e-1),1e3);return()=>clearTimeout(e)},[n,t]),n}function jh({item:e}){let t=C(),{attempt:n,max:r,delayMs:i,onExpired:a,reason:o,onStop:c,accelerate:l}=e,u=Ah(Math.ceil(i/1e3),a),[d,f]=K(0),p=c!==void 0,m=p?2:1,h=()=>{l.skip=!0,a()},g=()=>{c?.()};return ee({tabIndex:0,id:`retry-countdown`,onAction:()=>(d===1&&p?g():h(),!0),onEscape:p?()=>(g(),!0):void 0}),s(`retry-countdown`,(e,t)=>{if(t.escape)return p?(g(),!0):!1;if(t.return)return d===1&&p?g():h(),!0;if(p&&(t.leftArrow||t.rightArrow||t.tab)){let e=D(t);return e!==0&&f(t=>E(t,e,m)),!0}return e===`r`||e===`R`?(h(),!0):!1}),J(T,{header:q(y,{color:t.error,children:o?B.t(`retry.reason`,{reason:kh(o)}):B.t(`retry.defaultTitle`)}),children:[q(X,{children:` `}),J(X,{children:[B.t(`retry.attempt`,{attempt:n,max:r}),B.t(`retry.progressSep`),B.t(`retry.countdown`,{s:u})]}),q(X,{children:` `}),J(Y,{flexDirection:`row`,gap:A.section,children:[q(I,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`retry.nowButton`),focused:d===0}),p&&q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`retry.stopButton`),focused:d===1})]}),q(X,{children:` `}),q(X,{dimColor:!0,children:p?B.t(`retry.hintWithStop`):B.t(`retry.hint`)})]})}function Mh(e,t=72){return M(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function Nh(e,t=72){let n=e.replace(/\s+/g,` `).trim().split(` `),r=[],i=``;for(let e of n)i?(i+` `+e).length<=t?i+=` `+e:(r.push(i),i=e):i=e;return i&&r.push(i),r.length>0?r:[``]}function Ph(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}`}function Fh(e,t,n=30){let[r,i]=K(n);return U(()=>{i(n)},[n]),U(()=>{if(!e)return;if(r<=0){t();return}let n=setTimeout(()=>i(e=>e-1),1e3);return()=>clearTimeout(n)},[e,r,t]),r}function Ih(e,t,n,r){let[i,a]=K(t===void 0?null:Math.max(0,Math.round(t-r()/1e3)));return U(()=>{if(!e||t===void 0){a(null);return}let i=()=>{let e=Math.max(0,Math.round(t-r()/1e3));a(e),e<=0&&n()};i();let o=setInterval(i,1e3);return()=>clearInterval(o)},[e,t]),i}function Lh({item:e,now:t=Date.now,rows:n,onFocusChange:r}){let i=C(),{reason:a,attempt:o,max:c,mode:l,resetsAt:u,limitType:d,actions:f,focusIndex:p,exhausted:m,pluginSource:h}=e,g=Fh(l===`auto`&&!m,e.onExpired,e.intervalSeconds??30),_=Ih(l===`resetsAt`,u,e.onExpired,t),v=m?B.t(`error.exhaustedTitle`):a?B.t(`error.title`,{reason:Mh(a)}):B.t(`error.defaultTitle`),b=n==null?10:Math.min(10,Math.max(3,Math.floor(n/3))),x=(()=>{if(m||!a||a.length<=72)return null;let e=Nh(a,72);if(e.length<=b)return e;let t=e.slice(0,b-1),n=e.length-t.length;return[...t,B.t(`common.moreLinesLabel`,{n})]})(),S;S=m?B.t(`error.exhaustedBody`,{max:c}):l===`resetsAt`?_===null?B.t(`error.unknownReset`):B.t(`error.resetsIn`,{hms:Ph(_)}):l===`auto`?B.t(`error.autoCountdown`,{attempt:o,max:c,seconds:g}):d?B.t(`error.unknownReset`):B.t(`error.manualBody`,{attempt:o,max:c});let w=f.length+1,ee=f.length,te=t=>{t<f.length?f[t].run():e.onCancel()};s(`error-retry-buttons`,(t,n)=>{if(n.escape)return r?.(ee),e.onCancel(),!0;if(n.leftArrow||n.rightArrow||n.tab){let e=D(n);return e!==0&&r?.(E(p,e,w)),!0}if(n.return)return te(p),!0;if(t.toLowerCase()===`r`){let e=f.findIndex(e=>e.kind===`retryNow`);if(e>=0)return r?.(e),f[e].run(),!0}return!1});let ne=e=>e===`retryNow`?`accent`:e===`login`?`amber`:`accent`;return J(T,{header:J(Y,{flexDirection:`column`,children:[J(y,{color:i.error,children:[R.cross,` `,v]}),x&&x.length>0&&J(Ft,{children:[q(X,{children:` `}),x.map((e,t)=>q(X,{dimColor:!0,children:e},t))]})]}),children:[d&&q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:B.t(`error.typeLabel`,{type:d.replace(/_/g,`-`)})})}),q(Y,{marginTop:A.tight,children:q(X,{color:l===`auto`&&!m?void 0:i.inactive,children:S})}),h&&q(Y,{marginTop:A.tight,children:q(X,{dimColor:!0,children:B.t(`cmd.errorRetryPluginSource`,{pluginId:h})})}),J(Y,{marginTop:A.tight,flexDirection:`row`,gap:A.section,flexWrap:`wrap`,children:[f.map((e,t)=>q(I,{variant:`solid`,brackets:!0,color:ne(e.kind),label:e.label,focused:p===t},e.kind)),q(I,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:p===ee})]}),q(Y,{marginTop:A.tight,children:J(X,{dimColor:!0,children:[B.t(`error.hint`),f.some(e=>e.kind===`retryNow`)?` ${j.left}${j.right} ${B.t(`hint.switch`)} · r ${B.t(`hint.shortcut`)}`:``]})})]})}const Rh=()=>{};function zh(){let e=[{label:`packages/tui/src/App.tsx`,value:`@packages/tui/src/App.tsx`,description:`TUI 根组件`,kind:`file`},{label:`packages/agent/src/agent.ts`,value:`@packages/agent/src/agent.ts`,description:`Agent 引擎入口`,kind:`file`},{label:`explore`,value:`@explore`,description:`代码探索子代理`,kind:`agent`},{label:`rfc-to-todos`,value:`@rfc-to-todos`,description:`RFC → TODO 工作流`,kind:`skill`,source:`extension`}];return{search:()=>e}}const Bh={role:`assistant`,content:[{type:`text`,text:`I found the relevant module. Here is a summary of what it does and how to use it.`}],tool_calls:[{id:`call_1`,type:`function`,function:{name:`read`,arguments:`{"path":"src/index.ts"}`}}],id:`msg_1`},Vh={role:`user`,content:`How does the retry backoff work in the stream error handler?`},Hh={role:`tool`,name:`read`,args:`src/index.ts`,result:`export function main() { ... }`},Uh={role:`compact_boundary`,before:1566,after:395},Wh={role:`prune_boundary`},Gh={role:`model_switch`,label:`claude-haiku-4-5-20251001 (200K)`},Kh={role:`model_fallback`,configured:`anthropic/claude-haiku-4-5-20251001`,active:`deepseek-v4-pro (1M)`},qh={role:`tool_completion`,content:`Background job "refactor-auth" completed successfully.`},Jh={role:`summary`,status:`done`,toolCount:6,elapsedMs:42e3,tokensUsed:18400,cacheHitRatio:.72,model:`claude-sonnet-4`},Yh=[{id:`PromptInput`,category:`input`,title:`PromptInput (simplified)`,variants:[{name:`empty-placeholder`,render:()=>H(Ni,{columns:80,placeholder:`Type a message…`,disabled:!0})}]},{id:`QueuedCommands`,category:`input`,title:`QueuedCommands`,variants:[{name:`three-queued`,render:()=>H(Pi,{items:[{text:`review the PR`,mode:`send`},{text:`pnpm build`,mode:`bash`},{text:`remember to update the RFC`,mode:`memory`}]})}]},{id:`TextInput`,category:`input`,title:`TextInput`,variants:[{name:`send-mode`,render:()=>H(Oe,{value:`Hello, this is a sample message`,offset:31,columns:80,mode:`send`})},{name:`bash-mode`,render:()=>H(Oe,{value:`pnpm --filter @x-otto/tui typecheck`,offset:33,columns:80,mode:`bash`})},{name:`placeholder`,render:()=>H(Oe,{value:``,offset:0,columns:80,mode:`send`,placeholder:`Ask anything…`})},{name:`masked`,render:()=>H(Oe,{value:`sk-secret-api-key-value`,offset:23,columns:80,mode:`dialog`,mask:!0})}]},{id:`Message`,category:`messages`,title:`Message`,variants:[{name:`assistant`,render:()=>H(Rc,{message:Bh,columns:80})},{name:`user`,render:()=>H(Rc,{message:Vh,columns:80})},{name:`tool`,render:()=>H(Rc,{message:Hh,columns:80})},{name:`compact_boundary`,render:()=>H(Rc,{message:Uh,columns:80})},{name:`prune_boundary`,render:()=>H(Rc,{message:Wh,columns:80})},{name:`model_switch`,render:()=>H(Rc,{message:Gh,columns:80})},{name:`model_fallback`,render:()=>H(Rc,{message:Kh,columns:80})},{name:`tool_completion`,render:()=>H(Rc,{message:qh,columns:80})},{name:`summary`,render:()=>H(Rc,{message:Jh,columns:80})}]},{id:`ScrollableTranscript`,category:`messages`,title:`ScrollableTranscript`,variants:[{name:`bottom (live tail)`,render:()=>H(Jc,{messages:[Vh,Bh],columns:80,rows:12,scroll:0})},{name:`scrolled back (review hint)`,render:()=>H(Jc,{messages:[Vh,Bh],columns:80,rows:12,scroll:2,frozenNewCount:3})}]},{id:`REPLRegion`,category:`messages`,title:`REPLRegion (simplified)`,variants:[{name:`streaming`,render:()=>{let e=ol();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,toolTurnCount:2,maxToolTurns:12,activeTool:null}),H(ul,{streamStore:e,completedMessages:[Bh],columns:80,scrollStore:ia()})}}]},{id:`ContextBar`,category:`inspector`,title:`ContextBar (budget bar)`,variants:[{name:`default`,render:()=>H(Qm,{budget:{modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,overheadTokens:14e3,messageTokens:62e3,messageCount:42,totalUsed:76e3,free:124e3,pruneLine:14e4,compactLine:17e4,lastInput:3200,lastOutput:640,totalInput:58e3,totalOutput:18e3,cost:.42},width:80})}]},{id:`SigilPane`,category:`sigil`,title:`SigilPane`,variants:[{name:`at-file-agent`,render:()=>H(wc,{sigil:`@`,initialQuery:``,registry:zh(),active:!1,rows:24,onSelect:Rh,onClose:Rh})}]},{id:`RetryDialog`,category:`components`,title:`RetryDialog`,variants:[{name:`with-reason`,render:()=>H(jh,{item:{attempt:2,max:5,delayMs:8e3,accelerate:{skip:!1},onExpired:Rh,reason:`socket hang up`}})}]},{id:`ErrorRetryDialog`,category:`components`,title:`ErrorRetryDialog`,variants:[{name:`auto-30s`,render:()=>H(Lh,{item:{reason:`socket hang up`,attempt:2,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:Rh}],focusIndex:0,exhausted:!1,onExpired:Rh,onCancel:Rh}})},{name:`resetsAt-known`,render:()=>H(Lh,{item:{reason:`quota exhausted`,attempt:0,max:5,mode:`resetsAt`,resetsAt:Math.floor(Date.now()/1e3)+3*3600,limitType:`five_hour`,actions:[{kind:`retryNow`,label:`Retry now`,run:Rh},{kind:`switchModel`,label:`Switch model`,run:Rh}],focusIndex:0,exhausted:!1,onExpired:Rh,onCancel:Rh},now:()=>17e11})},{name:`manual-auth`,render:()=>H(Lh,{item:{reason:`unauthorized (401)`,attempt:0,max:5,mode:`manual`,actions:[{kind:`login`,label:`Go to login`,run:Rh}],focusIndex:0,exhausted:!1,onExpired:Rh,onCancel:Rh}})},{name:`exhausted`,render:()=>H(Lh,{item:{reason:`connection refused`,attempt:5,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:Rh}],focusIndex:0,exhausted:!0,onExpired:Rh,onCancel:Rh}})}]}],Xh=[...Im,...qm,...xh,...Th,...Oh,...Yh],Zh=[`components`,`dialogs`,`input`,`messages`,`inspector`,`sigil`];function Qh(){let e=new Map;for(let t of Zh)e.set(t,[]);for(let t of Xh)e.get(t.category)?.push(t);return e}function $h({galleryStore:e,onDismiss:t,rows:n=24}){let r=C(),a=Z(e.store,e=>e),o=W(Qh,[]),l=W(()=>Zh.filter(e=>(o.get(e)?.length??0)>0),[o]),u=c(n),d=Math.max(3,u-12),f=l[a.categoryIndex%Math.max(1,l.length)],p=f?o.get(f)??[]:[],m=p[a.itemIndex],h=m?.variants[a.variantIndex],g=W(()=>{let e=Math.max(1,d-1);if(p.length<=e)return{items:p.map((e,t)=>({it:e,i:t})),end:p.length,hasMore:!1};let t=Math.floor(e/2),n=Math.min(Math.max(0,a.itemIndex-t),p.length-e),r=n+e;return{items:p.slice(n,r).map((e,t)=>({it:e,i:n+t})),end:r,hasMore:r<p.length}},[p,a.itemIndex,d]),_=Math.max(1,d-1),v=i();return s(`gallery-pane`,(n,r)=>{if(r.escape){t();return}if(r.leftArrow||r.rightArrow){if(l.length===0)return;let t=r.leftArrow?-1:1,n=(a.categoryIndex+t+l.length)%l.length;e.setCategoryIndex(n);return}if(r.upArrow||r.downArrow){if(p.length===0)return;let t=r.upArrow?-1:1,n=(a.itemIndex+t+p.length)%p.length;e.setItemIndex(n);return}if(n===`[`||n===`]`||r.pageUp||r.pageDown){let t=m?.variants??[];if(t.length===0)return;let i=n===`[`||r.pageUp?-1:1,o=(a.variantIndex+i+t.length)%t.length;e.setVariantIndex(o)}},{isActive:v?v.currentPath===`/pane/gallery`:!0}),q(T,{header:J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:r.secondary,bold:!0,children:`Component Gallery`}),J(O,{type:`secondary`,children:[` `,Xh.length,` components`]})]}),q(Y,{marginTop:A.tight,children:l.map((e,t)=>q(X,{color:t===a.categoryIndex?r.selection:r.inactive,bold:t===a.categoryIndex,children:t===a.categoryIndex?`[${e}] `:`${e} `},e))})]}),footer:q(Ft,{children:`↑↓ component · ←→ category · [ ] variant · Esc close`}),children:J(Y,{marginTop:A.tight,flexDirection:`row`,children:[J(Y,{flexDirection:`column`,width:28,marginRight:A.section,children:[g.items.map(({it:e,i:t})=>J(X,{color:t===a.itemIndex?r.selection:r.text,bold:t===a.itemIndex,children:[t===a.itemIndex?ye():ze(),e.title]},e.id)),g.hasMore&&q(O,{type:`secondary`,children:` ↓ ${p.length-g.end} more`}),p.length===0&&q(O,{type:`secondary`,children:`no components in this category`})]}),J(Y,{flexDirection:`column`,flexGrow:1,children:[m&&q(Y,{marginBottom:A.tight,children:J(O,{type:`secondary`,children:[m.title,m.variants.length>1?` · ${h?.name} (${a.variantIndex+1}/${m.variants.length})`:``]})}),q(Y,{height:_,overflow:`hidden`,flexDirection:`column`,children:q(Y,{flexShrink:0,flexDirection:`column`,children:q(sp,{children:h?h.render():q(O,{type:`secondary`,children:`no variant selected`})},`${m?.id}-${a.variantIndex}`)})})]})]})})}const eg=V.memo(function(e){let{perfOpen:t,perfStore:n,cacheStatsOpen:r,cacheStore:i,proxyOpen:a,proxyView:o,compactionLogOpen:s,compactionLogEntries:c,galleryOpen:l,galleryStore:u,columns:d,budget:f,contextStore:p,toast:m,subagentContext:h,retryCountdown:g,errorRetry:_,rows:v,pauseDialog:y,pulseSurvey:b,forcedUpgrade:x}=e,{onPerfDismiss:S,onPerfRefresh:C,onCacheDismiss:T,onProxyDismiss:E,onProxyOpenModal:ee,onProxySubmitUrl:D,onProxyToggleEnabled:te,onProxyClear:ne,onProxyTest:O,onCompactionLogDismiss:k,onGalleryDismiss:re,onContextDismiss:A,onViewDetails:ie,onBackToContextPane:j,onDismissToast:ae,onErrorRetryFocusChange:oe,onPulseSurveyChange:M,onUpgrade:se,onCancelUpgrade:ce}=Xl();return J(Ft,{children:[t&&q(Jp,{perfStore:n,onDismiss:S??(()=>{}),onRefresh:C??(()=>{})}),r&&q(rm,{cacheStore:i,onDismiss:T??(()=>{})}),a&&q(sm,{view:o,onDismiss:E??(()=>{}),onOpenModal:ee??tg,onSubmitUrl:D??(()=>{}),onToggleEnabled:te??(()=>{}),onClear:ne??(()=>{}),onTest:O}),s&&q(fm,{entries:c,onClose:k??(()=>{})}),l&&q($h,{galleryStore:u,onDismiss:re??(()=>{}),rows:v??24}),p&&J(Ft,{children:[q(w,{path:`/pane/context`,element:q($m,{budget:f??null,columns:d,onDismiss:A??(()=>{}),onViewDetails:ie??(()=>{})})}),q(w,{path:`/pane/context/detail`,element:q(ih,{ctxStore:p,columns:d,onBack:j??(()=>{})})})]}),m&&q(w,{path:`/overlay/toast`,inStack:!0,element:q(Am,{toast:m,onDismiss:ae})}),!h&&g&&q(w,{path:`/overlay/retry`,inStack:!0,element:q(jh,{item:g})}),!h&&_&&q(w,{path:`/overlay/error-retry`,inStack:!0,element:q(Lh,{item:_,rows:v??24,onFocusChange:oe})}),y&&q(w,{path:`/overlay/pause`,inStack:!0,element:q(Sh,{item:y})}),b&&q(w,{path:`/overlay/pulse-survey`,inStack:!0,element:q(_m,{item:b,onChange:M})}),x&&q(w,{path:`/overlay/forced-upgrade`,inStack:!0,element:q(ah,{message:x,onUpgrade:se,onCancel:ce})})]})});function tg(e){if(e&&typeof e==`object`&&`kind`in e&&e.kind===`input`)return Promise.resolve(null)}function ng(e){return J(Ft,{children:[q(rg,{...e}),q(ig,{...e}),q(ag,{...e})]})}function rg(e){return q(Vp,{...e,routeDerivedOwner:e.routeDerivedOwner})}function ig(e){return q(Fp,{...e,routeDerivedOwner:e.routeDerivedOwner})}function ag(e){let{stdout:t}=Ut(),{stack:n}=ce(),r=e=>n.some(t=>t.path===e),{notificationStore:i,taskStore:a,budgetStore:o,proxyStore:s}=Wl(),c=Z(i.store,e=>e.toast),l=Z(i.store,e=>e.retryCountdown),u=Z(i.store,e=>e.errorRetry),d=Z(i.store,e=>e.pauseDialog),f=Z(i.store,e=>e.pulseSurvey),p=Z(a.store,e=>e.subagentContext),m=Z(a.store,e=>e.forcedUpgrade),h=Z(o.store,e=>e.budget),g=Z(s.store,e=>e.view);return q(eg,{perfOpen:e.perfOpen,perfStore:e.perfStore,cacheStatsOpen:e.cacheStatsOpen,cacheStore:e.cacheStore,proxyOpen:r(`/pane/proxy`),proxyView:g,compactionLogOpen:e.compactionLogOpen,compactionLogEntries:e.compactionLogEntries,galleryOpen:e.galleryOpen,galleryStore:e.galleryStore,columns:e.columns,budget:h,contextStore:e.contextStore,toast:r(`/overlay/toast`)?c:null,subagentContext:!!p,retryCountdown:r(`/overlay/retry`)?l:null,errorRetry:r(`/overlay/error-retry`)?u:null,rows:t?.rows??e.rows,pauseDialog:r(`/overlay/pause`)?d:null,pulseSurvey:r(`/overlay/pulse-survey`)?f:null,focusOwner:e.routeDerivedOwner,forcedUpgrade:r(`/overlay/forced-upgrade`)?m:null})}function og(e){let{taskStore:t,budgetStore:n,perfStore:r,notificationStore:i}=Wl(),a=Z(r.store,e=>e.indicatorLevel),o=Z(t.store,e=>e.modelName),s=Z(n.store,e=>e.budget),c=Z(t.store,e=>e.backgroundTasks),l=Z(t.store,e=>e.scheduleTasks),u=Z(t.store,e=>e.queued),d=Z(i.store,e=>e.notifications),f=Z(i.store,e=>e.paused),p=Z(i.store,e=>e.pausePending);return q(Pm,{columns:e.columns,footerVisible:e.footerVisible,perfIndicatorLevel:a,perfIndicatorUsedPct:e.perfIndicatorUsedPct,modelName:o,budget:s,badgeEntries:e.badgeEntries,fullScreenPaneActive:e.fullScreenPaneActive,backgroundTasks:c,scheduleEnabledCount:l.filter(e=>e.enabled).length,agentProcessing:e.agentProcessing,queuedItems:u,notifications:d,language:e.language,welcome:e.welcome,messages:e.messages,hasHistory:e.hasHistory,paused:f,pausePending:p,shadow:e.shadow})}function sg(e){let t=_f({showHome:!!e.showHome,agentProcessing:!!e.agentProcessing,hasTip:!!e.idleTip});return t<=0?null:q(Y,{flexDirection:`column`,height:t,overflow:`hidden`,flexShrink:0,children:e.idleTip?q(xm,{tip:e.idleTip}):null})}function cg(e){return J(Ft,{children:[q(ng,{...e,routeDerivedOwner:e.routeDerivedOwner}),q(sg,{...e}),J(Y,{ref:e.inputChromeRef,flexDirection:`column`,flexShrink:0,children:[q(af,{fullScreenPaneActive:e.fullScreenPaneActive,taskPaneRendered:e.taskPaneRendered,tipVisible:!!e.idleTip,tasksCollapsed:e.tasksCollapsed,taskSelIndex:e.taskSelIndex,setTaskSelIndex:e.setTaskSelIndex,backgroundTasksOrdered:e.backgroundTasksOrdered,columns:e.columns,openEditedFileFull:e.openEditedFileFull,editedFileFullIndex:e.editedFileFullIndex,subagents:e.subagents}),q(vf,{...e}),q(og,{...e})]})]})}function lg(e){let t=Gl(),n=V.useRef(null),r=zt(n),i=r.hasMeasured?Math.max(1,Math.ceil(r.height)):15,a=Math.max(1,e.rows-1),o=Math.max(1,a-i);return q(sa,{value:e.scrollStore,children:J(Y,{flexDirection:`column`,width:e.columns,height:a,position:`relative`,overflow:`hidden`,children:[q(Y,{flexGrow:1,flexShrink:1,flexDirection:`column`,overflow:`hidden`,justifyContent:`flex-end`,children:q(Od,{...e,rows:o})}),q(Y,{flexShrink:0,flexDirection:`column`,children:q(cg,{...e,routeDerivedOwner:t,inputChromeRef:n})})]})})}const ug=V.memo(function({columns:e=80,rows:t=24,registerWrite:n,maxPreviewRows:r,hasHistory:i=!1,messages:a=[],windowMode:o=!1,scrollbackMode:c=!1,shadow:l=!1,scrollStore:u,loadHistory:d,messageStore:f,language:p,cost:m,pluginInput:h,readFileContent:g,resolveWholeFileDiff:_,getTurnMessages:v,initialHistory:y,externalHistoryCommands:b,residencyGovernor:x,welcome:S,contextStore:C,budgetStore:w,notificationStore:T,perfStore:E,cacheStore:ee,proxyStore:D,compactionLogStore:te,galleryStore:ne,streamStore:O,taskStore:k,registryRef:re,shellBackendRef:A,shellExecution:ie=null,a2uiButtons:j,keybindingOverrides:ae}){let{write:oe}=Ut(),M=Xl();U(()=>{n?.(oe)},[oe,n]);let{taskStore:se,budgetStore:N,perfStore:le,cacheStore:ue,proxyStore:P,compactionLogStore:F,galleryStore:de,streamStore:fe}=Pu({taskStore:k,budgetStore:w,perfStore:E,cacheStore:ee,proxyStore:D,compactionLogStore:te,galleryStore:ne,streamStore:O}),pe=Z(se.store,e=>e.tasks),me=Z(se.store,e=>e.pendingEcho),he=Z(se.store,e=>e.pendingSteers),ge=Z(se.store,e=>e.editedFiles),_e=Z(se.store,e=>e.backgroundTasks),ve=Z(se.store,e=>e.subagentsAccum),ye=Z(se.store,e=>e.scheduleTasks),be=Z(se.store,e=>e.clipboardText),xe=Z(se.store,e=>e.drafts),Se=Z(se.store,e=>e.queued),Ce=Z(se.store,e=>e.pendingPermission),we=Z(se.store,e=>e.backgroundOutput),I=Z(se.store,e=>e.subagentContext),Te=Z(se.store,e=>e.forcedUpgrade),Ee=Z(se.store,e=>e.modelName),De=Z(se.store,e=>e.pluginStatusItems),Oe=Z(se.store,e=>e.statusWidgets),ke=Z(se.store,e=>e.needsSetup),Ae=Z(se.store,e=>e.permissionMode),je=W(()=>_o(_e),[_e]),{editedFileFullIndex:Me,openEditedFileFull:Ne,closeEditedFileFull:Pe,taskDetailTurn:Fe,openTaskDetail:Ie,closeTaskDetail:Le,shellFullOutput:Re,setShellFullOutput:ze,queueEditIndex:Be,setQueueEditIndex:Ve,queueCloseConfirm:He,setQueueCloseConfirm:Ue,queueEscSuppress:We,setQueueEscSuppress:Ge,interruptConfirm:Ke,setInterruptConfirm:qe,popQueuedConfirm:Je,setPopQueuedConfirm:L,fullScreenPaneActive:Ye}=Zl({editedFilesLength:ge.length,queuedItemsLength:Se.length,subagentContext:I,backgroundOutput:we}),[Xe,R]=K(0),[Ze,Qe]=K(!1),{sigilState:$e,setSigilState:et,sigilApplyRef:tt,hadSigilFocusRef:nt,chipContentViewerRequest:rt,pasteContent:it,handleSigilTrigger:at,handleHistorySearch:ot,handleChipReopen:st,handleChipViewPaste:ct,handleSigilClose:lt,handlePasteConfirmRequest:ut,handlePasteConfirm:dt,handlePasteCancel:ft}=_u(),pt=G(null),mt=G(null),z=Nt(e=>{let t=Math.max(0,Math.min(e,xe.length-1)),n=xe[t];n&&(pt.current?.fill(n.text),M.onDraftDelete?.(t)),M.onToggleDraftPane?.()},[xe,M.onToggleDraftPane,M.onDraftDelete]),ht=G(null),gt=re??ht,_t=Z(le.store,e=>e.indicatorLevel),vt=Z(le.store,e=>e.memory?.usedPct),yt=Z(P.store,e=>e.view),bt=Z(F.store,e=>e.entries),{stack:xt,currentPath:St}=ce(),Ct=e=>xt.some(t=>t.path===e),wt=Ct(`/pane/perf`),Tt=Ct(`/pane/cache`),Et=St.startsWith(`/pane/compaction-log`),Dt=Ct(`/pane/gallery`),Ot=u??V.useMemo(()=>ia(),[]),kt=T??V.useMemo(()=>Pl(),[]),At=Z(kt.store,e=>e.providerUsage),jt=f??V.useMemo(()=>Rl(),[]),Mt=C??V.useMemo(()=>Vl(),[]),H=V.useMemo(()=>({taskStore:se,budgetStore:N,perfStore:le,cacheStore:ue,proxyStore:P,compactionLogStore:F,galleryStore:de,streamStore:fe,notificationStore:kt,contextStore:Mt,messageStore:jt,scrollStore:Ot}),[se,N,le,ue,P,F,de,fe,kt,Mt,jt,Ot]),Pt=Z(Ot.store,e=>e.offset),Ft=Z(Ot.store,e=>e.totalLines>0),[J,It]=V.useState(!1),[Y,Lt]=V.useState(!1),X=V.useRef(!1),Rt=V.useCallback(()=>{X.current||Y||!d||!f||(X.current=!0,It(!0),d({limit:500}).then(e=>{e&&e.length>0?f.prependMany(e):Lt(!0)}).catch(()=>Lt(!0)).finally(()=>{X.current=!1,It(!1)}))},[Y,d,f]),zt=V.useCallback(e=>{Ot.scrollBy(e)},[Ot]),[Bt,Vt]=V.useState(!1),[Ht,Wt]=V.useState(``),[Gt,Kt]=V.useState(-1),[qt,Jt]=V.useState(0),Yt=V.useCallback(e=>Jt(e),[]),Xt=V.useCallback(e=>Ot.setOffset(e),[Ot]),Zt=St===`/`&&!Te&&!He&&!Ke&&!Je;s(`repl-scroll`,(e,n)=>{if(!Ft)return!1;if(n.pageUp)return Ot.page(1,t),!0;if(n.pageDown)return Ot.page(-1,t),!0;if((n.upArrow||n.downArrow)&&(n.alt||n.meta))return Ot.scrollBy(n.upArrow?1:-1),!0;if(Pt===0)return!1;if(Bt){if(n.escape)return Vt(!1),Wt(``),Kt(-1),!0;if(n.return)return Vt(!1),Wt(``),Kt(-1),Ot.toBottom(),!0;if(n.backspace)return Wt(e=>e.slice(0,-1)),Kt(-1),!0;if((e===`n`||e===`N`)&&Ht.length>0){let t=e===`n`?1:-1;return Kt(e=>qt>0?(e+t+qt)%qt:-1),!0}return e.length===1?(Wt(t=>t+e),Kt(-1),!0):!0}if(e===`/`)return Vt(!0),Wt(``),Kt(-1),!0;if(n.upArrow)return Ot.scrollBy(1),!0;if(n.downArrow)return Ot.scrollBy(-1),!0;if(e===`g`)return Ot.toTop(),!0;if(e===`G`||n.escape||n.return)return Ot.toBottom(),!0;if(e.length>0){Ot.toBottom();let t=pt.current;return t?.append?t.append(e):t?.fill(e),!0}return!1},{isActive:Zt});let Qt=Ct(`/pane/edited-files`),$t=Ct(`/pane/subagents`),en=Ct(`/pane/schedule`),tn=Ct(`/pane/draft`),nn=Ct(`/pane/queue`),rn=Nt(()=>{Ue(!0)},[]),an=Nt(()=>{qe(!0)},[]),on=Nt(()=>{L(!0)},[]),sn=St.startsWith(`/pane/context/detail`),cn=Z(fe.store,e=>e.processing),ln=Z(N.store,e=>e.budget),{footerVisible:un,badgeEntries:dn}=fu({columns:e,permissionMode:Ae,cost:m,providerUsage:At,pluginStatusItems:De,statusWidgets:Oe,modelName:Ee}),fn=W(()=>[...ve.values()],[ve]),pn=Gl(),mn=Ct(`/home`)&&!St.startsWith(`/dialog/`);U(()=>{M.onFocusOwnerChange?.(pn)},[pn,M.onFocusOwnerChange]),U(()=>{M.onScrollActiveChange?.(Zt)},[Zt,M.onScrollActiveChange]);let hn=Fe==null&&!Ye&&!I&&pe.length>0;vu({sigilState:$e,setSigilState:et,sigilApplyRef:tt,hadSigilFocusRef:nt,focusOwner:pn,preempted:!!Ce});let gn=pu({shellExecution:ie,subagentContext:I,agentProcessing:cn,queuedItems:Se,pendingEcho:me,pendingSteers:he,onRequestInterruptConfirm:an,onRequestPopQueuedConfirm:on});return ru({scrollOffset:Pt,showHome:mn,tasksLength:pe.length,backgroundTasksLength:_e.length,editedFilesLength:ge.length,subagentsLength:fn.length,scheduleTasksLength:ye.length,scheduleOpen:en,draftsLength:xe.length,draftOpen:tn,queuedItemsLength:Se.length,queueOpen:nn,clipboardHasContent:be.length>0,shellExecutionRunning:ie?.status===`running`,pendingEcho:me,pasteContent:it,forcedUpgrade:Te,queueCloseConfirm:He,interruptConfirm:Ke,popQueuedConfirm:Je,routeDerivedOwner:pn,currentPath:St,backgroundOutput:we,a2uiButtons:j,editedFilesOpen:Qt,subagentsOpen:$t,tasksCollapsed:Ze,setTasksCollapsed:Qe,keybindingOverrides:ae}),q(Ul,{value:H,children:q(lg,{columns:e,rows:t,welcome:S,idleTip:Iu({active:St===`/`&&!Te&&!cn&&!ke,resetKey:`${St}|${cn?1:0}`,isZh:B.language?.startsWith(`zh`)??!1}),showHome:mn,messages:a,hasHistory:i,maxPreviewRows:r,windowMode:o,scrollbackMode:c,shadow:l,keybindingOverrides:ae,scrollStore:Ot,loadHistory:d,messageStore:f,earlierLoading:J,earlierEnded:Y,onNeedEarlier:Rt,onPrepend:zt,findQuery:Bt?Ht:void 0,findActiveMatch:Gt,onFindNavigateTo:Xt,onFindCountChange:Yt,fullScreenPaneActive:Ye,streamStore:fe,pasteContent:it,handlePasteConfirm:dt,handlePasteCancel:ft,queueCloseConfirm:He,queueEscSuppress:We,setQueueEscSuppress:Ge,setQueueCloseConfirm:Ue,interruptConfirm:Ke,setInterruptConfirm:qe,popQueuedConfirm:Je,setPopQueuedConfirm:L,onQueueEscConfirm:rn,contextDetail:sn,contextStore:C,shellExecution:ie,taskDetailTurn:Fe,taskSelIndex:Xe,openTaskDetail:Ie,closeTaskDetail:Le,tasksCollapsed:Ze,taskPaneRendered:hn,backgroundTasksOrdered:je,openEditedFileFull:Ne,editedFileFullIndex:Me,closeEditedFileFull:Pe,subagents:fn,shellFullOutput:Re,setShellFullOutput:ze,perfOpen:wt,perfStore:le,cacheStatsOpen:Tt,cacheStore:ue,proxyView:yt,compactionLogOpen:Et,compactionLogEntries:bt,galleryOpen:Dt,galleryStore:de,agentProcessing:cn,needsSetup:ke,handlePromptEscape:gn,handleSigilTrigger:at,handleSigilClose:lt,handleHistorySearch:ot,handleChipReopen:st,handleChipViewPaste:ct,handlePasteConfirmRequest:ut,pluginInput:h,historyInsertRef:pt,pasteBridgeRef:mt,initialHistory:y,externalHistoryCommands:b,residencyGovernor:x,registryRef:gt,shellBackendRef:A,sigilState:$e,setSigilState:et,sigilApplyRef:tt,readFileContent:g,handleDraftLoad:z,queueEditIndex:Be,setQueueEditIndex:Ve,footerVisible:un,perfIndicatorLevel:_t,perfIndicatorUsedPct:vt,modelName:Ee,budget:ln,badgeEntries:dn,language:p,getTurnMessages:v,resolveWholeFileDiff:_,setTaskSelIndex:R,chipContentViewerRequest:rt,cost:m,statusWidgets:Oe,pluginStatusItems:De})})}),dg=V.memo(function(e){let t=W(()=>ql(e),[]);return Tt(e.language??Et()),q(Wt,{i18n:B,children:q(h,{systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,children:q(Yl,{value:t,children:q(vt,{children:q(ie,{initialPath:e.initialPath??`/home`,children:q(ug,{...e})})})})})})}),fg=Mt(null);function pg(){let e=Pt(fg);if(!e)throw Error(`useTabScope() must be used inside <TabScope>`);return e}function mg({scopeId:e,children:t}){let n=W(()=>new He,[]),[r,i]=K(null),a=G(null);a.current=r;let o=Nt((t,r)=>{m(n,a.current,r)||S(n,a.current,e,i,r)},[n,e]);Bt((e,t)=>{o(e,t)}),U(()=>{let t=n.getInitialFocus(e);t&&!a.current&&i(t)},[e,n]);let s=W(()=>({routePath:e,currentPath:e,activeId:r,registry:n,hasRouter:!1}),[e,r,n]),c=W(()=>({activeId:r,registry:n}),[r,n]);return q(fg.Provider,{value:c,children:q(We.Provider,{value:s,children:t})})}const hg=globalThis;hg.React=V,hg.__ottoPanelInk=It,hg.__ottoPanelTui={Segmented:Nd,Tabs:Nd,DataList:Qe,Button:I,GroupDivider:xe,ScrollIndicatorAbove:f,ScrollIndicatorBelow:v,Tabable:r,useTabable:ee,TabScope:mg},hg.__ottoPanelFocusBridge={claim:()=>{},release:()=>{},usePanelFocusClaimed:op,requestClose:()=>ap.requestClose(),setHint:e=>ap.setHint(e)},hg.__ottoPanelTheme={getTheme:()=>L,getFigures:()=>R},hg.__ottoPanelSpacing={SPACING:A,LAYOUT:ge},hg.__ottoPanelI18n={t:wt,i18next:B};function gg(e,t){let n={current:[]};return{a2uiButtonsRef:n,a2uiActionRef:{current:t},scanA2uiButtons:()=>{let t=[],r=0;for(let n of e.messageStore.getState().messages){let e=n.content;if(Array.isArray(e)){for(let n of e)if(n.type===`a2ui`){let e=Cs(n.components,80,r);for(let n of e.buttons){if(r++,r>9)break;t.push({...n,key:String(r)})}let i=Ds(n.components);for(let e of i){if(r++,r>9)break;t.push({...e,key:String(r)})}}if(r>=9)break}}n.current=t}}}function _g(e){let t=ol(),n=t.store,r=Pl(),i=r.store,a=Eu({modelName:e.modelName,needsSetup:e.needsSetup,commands:e.commands,permissionMode:e.permissionMode,drafts:e.initialDrafts,recentMentions:e.initialRecentMentions}),o=a.store,s=Rl(),c=s.store,l=ia(),u=l.store,d=yu(),f=Vl(),p=Du(),m=Ou(),h=Au(),g=ju(),_=Nu(),v=Hi(),y=v?new qi(v):null,b={current:y},{a2uiButtonsRef:x,a2uiActionRef:S,scanA2uiButtons:C}=gg({messageStore:c},e.onA2uiAction);return{streamStoreHandle:t,streamStore:n,notificationStoreHandle:r,notificationStore:i,taskStoreHandle:a,taskStore:o,messageStoreHandle:s,messageStore:c,scrollStoreHandle:l,scrollStore:u,budgetStore:d,contextStore:f,perfStore:p,cacheStore:m,proxyStore:h,compactionLogStore:g,galleryStore:_,completer:y,shellBackendRef:b,a2uiButtonsRef:x,a2uiActionRef:S,scanA2uiButtons:C}}function vg({paneOwnsViewport:e,realWrite:t}){let n=[];return{write:r=>{if(r.includes(`\x1B[2J`)){n=[],t(r);return}if(e()){n.push(r);return}t(r)},flush:()=>{if(n.length===0)return;let e=n.join(``);n=[],t(e)},pending:()=>n.length}}function yg(e){if(e<=0)return`\x1B[2K\r`;let t=`\x1B[2K\r`;for(let n=0;n<e;n++)t+=`\x1B[1A\x1B[2K`;return t}function bg(e){let t=!1,n=t=>{if(e.isTTY)try{e.write(t)}catch{}};return{enter(){t||(t=!0,n(`\x1B[?1049h`))},exit(){t&&(t=!1,n(`\x1B[?1049l`))},active(){return t}}}async function xg(e){let t;try{let e=await import(At(import.meta.url).resolve(`ink`).replace(/index\.js$/,`log-update.js`));if(!e.default||typeof e.default.create!=`function`)return null;t=e.default}catch{return null}let n,r=t.create;return t.create=(t,i)=>{let a=r(t,i),o=(t=>e(t)?a(t):!0);for(let e of Object.keys(a)){let t=a[e];o[e]=typeof t==`function`?t.bind(a):t}let s=a.setCursorPosition;return o.setCursorPosition=e=>{n=e,s?.call(a,e)},o},{dispose(){t.create=r},cursorIntent:()=>n}}const Sg=new Set(`+.-.|.←.↑.→.↓.↖.↗.↘.↙.─.━.│.┃.┌.┏.┐.┓.└.┗.┘.┛.═.║.╒.╓.╔.╕.╖.╗.╘.╙.╚.╛.╜.╝.╭.╮.╯.╰.▶.●.○.⋮`.split(`.`));function Cg(e){if(e.length===0)return!1;let t=!1;for(let n of e)if(n.width!==0&&!(n.ch===` `||n.ch===``)){if(!Sg.has(n.ch))return!1;t=!0}return t}const wg=`\x1B[27m`;function Tg(e){return e===void 0||!Number.isFinite(e)?200:Math.max(200,Math.ceil(e*2.5))}const Eg=/\x1b\[[0-9;]*m/y;var Dg=class{minAnimationPeriod;constructor(e={}){this.minAnimationPeriod=e.minAnimationPeriod??(()=>Je.minPeriodMs())}burstQuietMs(){return Tg(this.minAnimationPeriod())}rows=[];selectionQuery;chromeWidths=null;damageTop=null;damageBottom=null;get height(){return this.rows.length}lineAt(e){return this.rows[e]}takeDamage(){if(this.damageTop===null||this.damageBottom===null)return null;let e={top:this.damageTop,bottom:this.damageBottom};return this.damageTop=null,this.damageBottom=null,e}markDirty(e){(this.damageTop===null||e<this.damageTop)&&(this.damageTop=e),(this.damageBottom===null||e>this.damageBottom)&&(this.damageBottom=e)}maxLineWidth=0;setMaxLineWidth(e){let t=Math.max(0,Math.floor(e));if(t!==this.maxLineWidth){this.maxLineWidth=t;for(let e=0;e<this.rows.length;e++)this.markDirty(e)}}ingest(e){let t=e.split(`
92
+ line three`,onDismiss:$},rows:24,columns:80})}]},{id:`A2uiFormDialog`,category:`dialogs`,title:`A2uiFormDialog`,variants:[{name:`form`,render:()=>U(kf,{component:{id:`form-1`,type:`Form`,formTitle:`Feedback`,fields:[{id:`name`,type:`text`,label:`Name`},{id:`subscribe`,type:`toggle`,label:`Subscribe`}]},columns:80,onAction:$,onDismiss:$})}]},{id:`OnboardingDialog`,category:`dialogs`,title:`OnboardingDialog`,variants:[{name:`step-0-nickname`,render:()=>U(Mp,{columns:80,onComplete:$})}]},{id:`WizardDialog`,category:`dialogs`,title:`WizardDialog`,variants:[{name:`step-0-provider`,render:()=>U(ft,{request:kh})}]}];function jh(e,t=72){return l(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function Mh(e,t){let[n,r]=K(e);return W(()=>{if(n<=0){t();return}let e=setTimeout(()=>r(e=>e-1),1e3);return()=>clearTimeout(e)},[n,t]),n}function Nh({item:e}){let n=L(),{attempt:r,max:i,delayMs:a,onExpired:o,reason:s,onStop:c,accelerate:l}=e,u=Mh(Math.ceil(a/1e3),o),[d,f]=K(0),p=c!==void 0,m=p?2:1,h=()=>{l.skip=!0,o()},g=()=>{c?.()};return O({tabIndex:0,id:`retry-countdown`,onAction:()=>(d===1&&p?g():h(),!0),onEscape:p?()=>(g(),!0):void 0}),yt(`retry-countdown`,(e,t)=>{if(t.escape)return p?(g(),!0):!1;if(t.return)return d===1&&p?g():h(),!0;if(p&&(t.leftArrow||t.rightArrow||t.tab)){let e=te(t);return e!==0&&f(t=>D(t,e,m)),!0}return e===`r`||e===`R`?(h(),!0):!1}),J(M,{header:q(w,{color:n.error,children:s?V.t(`retry.reason`,{reason:jh(s)}):V.t(`retry.defaultTitle`)}),children:[q(X,{children:` `}),J(X,{children:[V.t(`retry.attempt`,{attempt:r,max:i}),V.t(`retry.progressSep`),V.t(`retry.countdown`,{s:u})]}),q(X,{children:` `}),J(Y,{flexDirection:`row`,gap:t.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`retry.nowButton`),focused:d===0}),p&&q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`retry.stopButton`),focused:d===1})]}),q(X,{children:` `}),q(X,{dimColor:!0,children:p?V.t(`retry.hintWithStop`):V.t(`retry.hint`)})]})}function Ph(e,t=72){return l(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function Fh(e,t=72){let n=e.replace(/\s+/g,` `).trim().split(` `),r=[],i=``;for(let e of n)i?(i+` `+e).length<=t?i+=` `+e:(r.push(i),i=e):i=e;return i&&r.push(i),r.length>0?r:[``]}function Ih(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}`}function Lh(e,t,n=30){let[r,i]=K(n);return W(()=>{i(n)},[n]),W(()=>{if(!e)return;if(r<=0){t();return}let n=setTimeout(()=>i(e=>e-1),1e3);return()=>clearTimeout(n)},[e,r,t]),r}function Rh(e,t,n,r){let[i,a]=K(t===void 0?null:Math.max(0,Math.round(t-r()/1e3)));return W(()=>{if(!e||t===void 0){a(null);return}let i=()=>{let e=Math.max(0,Math.round(t-r()/1e3));a(e),e<=0&&n()};i();let o=setInterval(i,1e3);return()=>clearInterval(o)},[e,t]),i}function zh({item:e,now:n=Date.now,rows:r,onFocusChange:i}){let a=L(),{reason:o,attempt:s,max:c,mode:l,resetsAt:u,limitType:d,actions:f,focusIndex:p,exhausted:m,pluginSource:h}=e,g=Lh(l===`auto`&&!m,e.onExpired,e.intervalSeconds??30),_=Rh(l===`resetsAt`,u,e.onExpired,n),v=m?V.t(`error.exhaustedTitle`):o?V.t(`error.title`,{reason:Ph(o)}):V.t(`error.defaultTitle`),y=r==null?10:Math.min(10,Math.max(3,Math.floor(r/3))),b=(()=>{if(m||!o||o.length<=72)return null;let e=Fh(o,72);if(e.length<=y)return e;let t=e.slice(0,y-1),n=e.length-t.length;return[...t,V.t(`common.moreLinesLabel`,{n})]})(),x;x=m?V.t(`error.exhaustedBody`,{max:c}):l===`resetsAt`?_===null?V.t(`error.unknownReset`):V.t(`error.resetsIn`,{hms:Ih(_)}):l===`auto`?V.t(`error.autoCountdown`,{attempt:s,max:c,seconds:g}):d?V.t(`error.unknownReset`):V.t(`error.manualBody`,{attempt:s,max:c});let S=f.length+1,C=f.length,T=t=>{t<f.length?f[t].run():e.onCancel()};yt(`error-retry-buttons`,(t,n)=>{if(n.escape)return i?.(C),e.onCancel(),!0;if(n.leftArrow||n.rightArrow||n.tab){let e=te(n);return e!==0&&i?.(D(p,e,S)),!0}if(n.return)return T(p),!0;if(t.toLowerCase()===`r`){let e=f.findIndex(e=>e.kind===`retryNow`);if(e>=0)return i?.(e),f[e].run(),!0}return!1});let E=e=>e===`retryNow`?`accent`:e===`login`?`amber`:`accent`;return J(M,{header:J(Y,{flexDirection:`column`,children:[J(w,{color:a.error,children:[R.cross,` `,v]}),b&&b.length>0&&J(It,{children:[q(X,{children:` `}),b.map((e,t)=>q(X,{dimColor:!0,children:e},t))]})]}),children:[d&&q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:V.t(`error.typeLabel`,{type:d.replace(/_/g,`-`)})})}),q(Y,{marginTop:t.tight,children:q(X,{color:l===`auto`&&!m?void 0:a.inactive,children:x})}),h&&q(Y,{marginTop:t.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.errorRetryPluginSource`,{pluginId:h})})}),J(Y,{marginTop:t.tight,flexDirection:`row`,gap:t.section,flexWrap:`wrap`,children:[f.map((e,t)=>q(F,{variant:`solid`,brackets:!0,color:E(e.kind),label:e.label,focused:p===t},e.kind)),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:p===C})]}),q(Y,{marginTop:t.tight,children:J(X,{dimColor:!0,children:[V.t(`error.hint`),f.some(e=>e.kind===`retryNow`)?` ${B.left}${B.right} ${V.t(`hint.switch`)} · r ${V.t(`hint.shortcut`)}`:``]})})]})}const Bh=()=>{};function Vh(){let e=[{label:`packages/tui/src/App.tsx`,value:`@packages/tui/src/App.tsx`,description:`TUI 根组件`,kind:`file`},{label:`packages/agent/src/agent.ts`,value:`@packages/agent/src/agent.ts`,description:`Agent 引擎入口`,kind:`file`},{label:`explore`,value:`@explore`,description:`代码探索子代理`,kind:`agent`},{label:`rfc-to-todos`,value:`@rfc-to-todos`,description:`RFC → TODO 工作流`,kind:`skill`,source:`extension`}];return{search:()=>e}}const Hh={role:`assistant`,content:[{type:`text`,text:`I found the relevant module. Here is a summary of what it does and how to use it.`}],tool_calls:[{id:`call_1`,type:`function`,function:{name:`read`,arguments:`{"path":"src/index.ts"}`}}],id:`msg_1`},Uh={role:`user`,content:`How does the retry backoff work in the stream error handler?`},Wh={role:`tool`,name:`read`,args:`src/index.ts`,result:`export function main() { ... }`},Gh={role:`compact_boundary`,before:1566,after:395},Kh={role:`prune_boundary`},qh={role:`model_switch`,label:`claude-haiku-4-5-20251001 (200K)`},Jh={role:`model_fallback`,configured:`anthropic/claude-haiku-4-5-20251001`,active:`deepseek-v4-pro (1M)`},Yh={role:`tool_completion`,content:`Background job "refactor-auth" completed successfully.`},Xh={role:`summary`,status:`done`,toolCount:6,elapsedMs:42e3,tokensUsed:18400,cacheHitRatio:.72,model:`claude-sonnet-4`},Zh=[{id:`PromptInput`,category:`input`,title:`PromptInput (simplified)`,variants:[{name:`empty-placeholder`,render:()=>U(Pi,{columns:80,placeholder:`Type a message…`,disabled:!0})}]},{id:`QueuedCommands`,category:`input`,title:`QueuedCommands`,variants:[{name:`three-queued`,render:()=>U(Fi,{items:[{text:`review the PR`,mode:`send`},{text:`pnpm build`,mode:`bash`},{text:`remember to update the RFC`,mode:`memory`}]})}]},{id:`TextInput`,category:`input`,title:`TextInput`,variants:[{name:`send-mode`,render:()=>U(mt,{value:`Hello, this is a sample message`,offset:31,columns:80,mode:`send`})},{name:`bash-mode`,render:()=>U(mt,{value:`pnpm --filter @x-otto/tui typecheck`,offset:33,columns:80,mode:`bash`})},{name:`placeholder`,render:()=>U(mt,{value:``,offset:0,columns:80,mode:`send`,placeholder:`Ask anything…`})},{name:`masked`,render:()=>U(mt,{value:`sk-secret-api-key-value`,offset:23,columns:80,mode:`dialog`,mask:!0})}]},{id:`Message`,category:`messages`,title:`Message`,variants:[{name:`assistant`,render:()=>U(zc,{message:Hh,columns:80})},{name:`user`,render:()=>U(zc,{message:Uh,columns:80})},{name:`tool`,render:()=>U(zc,{message:Wh,columns:80})},{name:`compact_boundary`,render:()=>U(zc,{message:Gh,columns:80})},{name:`prune_boundary`,render:()=>U(zc,{message:Kh,columns:80})},{name:`model_switch`,render:()=>U(zc,{message:qh,columns:80})},{name:`model_fallback`,render:()=>U(zc,{message:Jh,columns:80})},{name:`tool_completion`,render:()=>U(zc,{message:Yh,columns:80})},{name:`summary`,render:()=>U(zc,{message:Xh,columns:80})}]},{id:`ScrollableTranscript`,category:`messages`,title:`ScrollableTranscript`,variants:[{name:`bottom (live tail)`,render:()=>U(Yc,{messages:[Uh,Hh],columns:80,rows:12,scroll:0})},{name:`scrolled back (review hint)`,render:()=>U(Yc,{messages:[Uh,Hh],columns:80,rows:12,scroll:2,frozenNewCount:3})}]},{id:`REPLRegion`,category:`messages`,title:`REPLRegion (simplified)`,variants:[{name:`streaming`,render:()=>{let e=sl();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,toolTurnCount:2,maxToolTurns:12,activeTool:null}),U(dl,{streamStore:e,completedMessages:[Hh],columns:80,scrollStore:aa()})}}]},{id:`ContextBar`,category:`inspector`,title:`ContextBar (budget bar)`,variants:[{name:`default`,render:()=>U(eh,{budget:{modelName:`claude-sonnet-4 (200K)`,contextWindow:2e5,contextPercent:38,overheadTokens:14e3,messageTokens:62e3,messageCount:42,totalUsed:76e3,free:124e3,pruneLine:14e4,compactLine:17e4,lastInput:3200,lastOutput:640,totalInput:58e3,totalOutput:18e3,cost:.42},width:80})}]},{id:`SigilPane`,category:`sigil`,title:`SigilPane`,variants:[{name:`at-file-agent`,render:()=>U(Tc,{sigil:`@`,initialQuery:``,registry:Vh(),active:!1,rows:24,onSelect:Bh,onClose:Bh})}]},{id:`RetryDialog`,category:`components`,title:`RetryDialog`,variants:[{name:`with-reason`,render:()=>U(Nh,{item:{attempt:2,max:5,delayMs:8e3,accelerate:{skip:!1},onExpired:Bh,reason:`socket hang up`}})}]},{id:`ErrorRetryDialog`,category:`components`,title:`ErrorRetryDialog`,variants:[{name:`auto-30s`,render:()=>U(zh,{item:{reason:`socket hang up`,attempt:2,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:Bh}],focusIndex:0,exhausted:!1,onExpired:Bh,onCancel:Bh}})},{name:`resetsAt-known`,render:()=>U(zh,{item:{reason:`quota exhausted`,attempt:0,max:5,mode:`resetsAt`,resetsAt:Math.floor(Date.now()/1e3)+3*3600,limitType:`five_hour`,actions:[{kind:`retryNow`,label:`Retry now`,run:Bh},{kind:`switchModel`,label:`Switch model`,run:Bh}],focusIndex:0,exhausted:!1,onExpired:Bh,onCancel:Bh},now:()=>17e11})},{name:`manual-auth`,render:()=>U(zh,{item:{reason:`unauthorized (401)`,attempt:0,max:5,mode:`manual`,actions:[{kind:`login`,label:`Go to login`,run:Bh}],focusIndex:0,exhausted:!1,onExpired:Bh,onCancel:Bh}})},{name:`exhausted`,render:()=>U(zh,{item:{reason:`connection refused`,attempt:5,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:Bh}],focusIndex:0,exhausted:!0,onExpired:Bh,onCancel:Bh}})}]}],Qh=[...Rm,...Ym,...Ch,...Dh,...Ah,...Zh],$h=[`components`,`dialogs`,`input`,`messages`,`inspector`,`sigil`];function eg(){let e=new Map;for(let t of $h)e.set(t,[]);for(let t of Qh)e.get(t.category)?.push(t);return e}function tg({galleryStore:e,onDismiss:n,rows:r=24}){let i=L(),a=Z(e.store,e=>e),o=Ft(eg,[]),s=Ft(()=>$h.filter(e=>(o.get(e)?.length??0)>0),[o]),c=k(r),l=Math.max(3,c-12),u=s[a.categoryIndex%Math.max(1,s.length)],f=u?o.get(u)??[]:[],p=f[a.itemIndex],m=p?.variants[a.variantIndex],h=Ft(()=>{let e=Math.max(1,l-1);if(f.length<=e)return{items:f.map((e,t)=>({it:e,i:t})),end:f.length,hasMore:!1};let t=Math.floor(e/2),n=Math.min(Math.max(0,a.itemIndex-t),f.length-e),r=n+e;return{items:f.slice(n,r).map((e,t)=>({it:e,i:n+t})),end:r,hasMore:r<f.length}},[f,a.itemIndex,l]),g=Math.max(1,l-1),_=oe();return yt(`gallery-pane`,(t,r)=>{if(r.escape){n();return}if(r.leftArrow||r.rightArrow){if(s.length===0)return;let t=r.leftArrow?-1:1,n=(a.categoryIndex+t+s.length)%s.length;e.setCategoryIndex(n);return}if(r.upArrow||r.downArrow){if(f.length===0)return;let t=r.upArrow?-1:1,n=(a.itemIndex+t+f.length)%f.length;e.setItemIndex(n);return}if(t===`[`||t===`]`||r.pageUp||r.pageDown){let n=p?.variants??[];if(n.length===0)return;let i=t===`[`||r.pageUp?-1:1,o=(a.variantIndex+i+n.length)%n.length;e.setVariantIndex(o)}},{isActive:_?_.currentPath===`/pane/gallery`:!0}),q(M,{header:J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:i.secondary,bold:!0,children:`Component Gallery`}),J(d,{type:`secondary`,children:[` `,Qh.length,` components`]})]}),q(Y,{marginTop:t.tight,children:s.map((e,t)=>q(X,{color:t===a.categoryIndex?i.selection:i.inactive,bold:t===a.categoryIndex,children:t===a.categoryIndex?`[${e}] `:`${e} `},e))})]}),footer:q(It,{children:`↑↓ component · ←→ category · [ ] variant · Esc close`}),children:J(Y,{marginTop:t.tight,flexDirection:`row`,children:[J(Y,{flexDirection:`column`,width:28,marginRight:t.section,children:[h.items.map(({it:e,i:t})=>J(X,{color:t===a.itemIndex?i.selection:i.text,bold:t===a.itemIndex,children:[t===a.itemIndex?tt():be(),e.title]},e.id)),h.hasMore&&q(d,{type:`secondary`,children:` ↓ ${f.length-h.end} more`}),f.length===0&&q(d,{type:`secondary`,children:`no components in this category`})]}),J(Y,{flexDirection:`column`,flexGrow:1,children:[p&&q(Y,{marginBottom:t.tight,children:J(d,{type:`secondary`,children:[p.title,p.variants.length>1?` · ${m?.name} (${a.variantIndex+1}/${p.variants.length})`:``]})}),q(Y,{height:g,overflow:`hidden`,flexDirection:`column`,children:q(Y,{flexShrink:0,flexDirection:`column`,children:q(lp,{children:m?m.render():q(d,{type:`secondary`,children:`no variant selected`})},`${p?.id}-${a.variantIndex}`)})})]})]})})}const ng=H.memo(function(e){let{perfOpen:t,perfStore:n,cacheStatsOpen:r,cacheStore:i,proxyOpen:a,proxyView:o,compactionLogOpen:s,compactionLogEntries:c,galleryOpen:l,galleryStore:u,columns:d,budget:f,contextStore:p,toast:m,subagentContext:h,retryCountdown:g,errorRetry:_,rows:v,pauseDialog:y,pulseSurvey:b,forcedUpgrade:x}=e,{onPerfDismiss:S,onPerfRefresh:C,onCacheDismiss:w,onProxyDismiss:T,onProxyOpenModal:E,onProxySubmitUrl:D,onProxyToggleEnabled:O,onProxyClear:k,onProxyTest:ee,onCompactionLogDismiss:te,onGalleryDismiss:A,onContextDismiss:ne,onViewDetails:M,onBackToContextPane:re,onDismissToast:N,onErrorRetryFocusChange:ie,onPulseSurveyChange:P,onUpgrade:ae,onCancelUpgrade:oe}=Zl();return J(It,{children:[t&&q(Xp,{perfStore:n,onDismiss:S??(()=>{}),onRefresh:C??(()=>{})}),r&&q(am,{cacheStore:i,onDismiss:w??(()=>{})}),a&&q(lm,{view:o,onDismiss:T??(()=>{}),onOpenModal:E??rg,onSubmitUrl:D??(()=>{}),onToggleEnabled:O??(()=>{}),onClear:k??(()=>{}),onTest:ee}),s&&q(mm,{entries:c,onClose:te??(()=>{})}),l&&q(tg,{galleryStore:u,onDismiss:A??(()=>{}),rows:v??24}),p&&J(It,{children:[q(j,{path:`/pane/context`,element:q(th,{budget:f??null,columns:d,onDismiss:ne??(()=>{}),onViewDetails:M??(()=>{})})}),q(j,{path:`/pane/context/detail`,element:q(oh,{ctxStore:p,columns:d,onBack:re??(()=>{})})})]}),m&&q(j,{path:`/overlay/toast`,inStack:!0,element:q(Mm,{toast:m,onDismiss:N})}),!h&&g&&q(j,{path:`/overlay/retry`,inStack:!0,element:q(Nh,{item:g})}),!h&&_&&q(j,{path:`/overlay/error-retry`,inStack:!0,element:q(zh,{item:_,rows:v??24,onFocusChange:ie})}),y&&q(j,{path:`/overlay/pause`,inStack:!0,element:q(wh,{item:y})}),b&&q(j,{path:`/overlay/pulse-survey`,inStack:!0,element:q(ym,{item:b,onChange:P})}),x&&q(j,{path:`/overlay/forced-upgrade`,inStack:!0,element:q(sh,{message:x,onUpgrade:ae,onCancel:oe})})]})});function rg(e){if(e&&typeof e==`object`&&`kind`in e&&e.kind===`input`)return Promise.resolve(null)}function ig(e){return J(It,{children:[q(ag,{...e}),q(og,{...e}),q(sg,{...e})]})}function ag(e){return q(Up,{...e,routeDerivedOwner:e.routeDerivedOwner})}function og(e){return q(Lp,{...e,routeDerivedOwner:e.routeDerivedOwner})}function sg(e){let{stdout:t}=Wt(),{stack:n}=ce(),r=e=>n.some(t=>t.path===e),{notificationStore:i,taskStore:a,budgetStore:o,proxyStore:s}=Gl(),c=Z(i.store,e=>e.toast),l=Z(i.store,e=>e.retryCountdown),u=Z(i.store,e=>e.errorRetry),d=Z(i.store,e=>e.pauseDialog),f=Z(i.store,e=>e.pulseSurvey),p=Z(a.store,e=>e.subagentContext),m=Z(a.store,e=>e.forcedUpgrade),h=Z(o.store,e=>e.budget),g=Z(s.store,e=>e.view);return q(ng,{perfOpen:e.perfOpen,perfStore:e.perfStore,cacheStatsOpen:e.cacheStatsOpen,cacheStore:e.cacheStore,proxyOpen:r(`/pane/proxy`),proxyView:g,compactionLogOpen:e.compactionLogOpen,compactionLogEntries:e.compactionLogEntries,galleryOpen:e.galleryOpen,galleryStore:e.galleryStore,columns:e.columns,budget:h,contextStore:e.contextStore,toast:r(`/overlay/toast`)?c:null,subagentContext:!!p,retryCountdown:r(`/overlay/retry`)?l:null,errorRetry:r(`/overlay/error-retry`)?u:null,rows:t?.rows??e.rows,pauseDialog:r(`/overlay/pause`)?d:null,pulseSurvey:r(`/overlay/pulse-survey`)?f:null,focusOwner:e.routeDerivedOwner,forcedUpgrade:r(`/overlay/forced-upgrade`)?m:null})}function cg(e){let{taskStore:t,budgetStore:n,perfStore:r,notificationStore:i}=Gl(),a=Z(r.store,e=>e.indicatorLevel),o=Z(t.store,e=>e.modelName),s=Z(n.store,e=>e.budget),c=Z(t.store,e=>e.backgroundTasks),l=Z(t.store,e=>e.scheduleTasks),u=Z(t.store,e=>e.queued),d=Z(i.store,e=>e.notifications),f=Z(i.store,e=>e.paused),p=Z(i.store,e=>e.pausePending);return q(Im,{columns:e.columns,footerVisible:e.footerVisible,perfIndicatorLevel:a,perfIndicatorUsedPct:e.perfIndicatorUsedPct,modelName:o,budget:s,badgeEntries:e.badgeEntries,fullScreenPaneActive:e.fullScreenPaneActive,backgroundTasks:c,scheduleEnabledCount:l.filter(e=>e.enabled).length,agentProcessing:e.agentProcessing,queuedItems:u,notifications:d,language:e.language,welcome:e.welcome,messages:e.messages,hasHistory:e.hasHistory,paused:f,pausePending:p,shadow:e.shadow})}function lg(e){let t=yf({showHome:!!e.showHome,agentProcessing:!!e.agentProcessing,hasTip:!!e.idleTip});return t<=0?null:q(Y,{flexDirection:`column`,height:t,overflow:`hidden`,flexShrink:0,children:e.idleTip?q(Cm,{tip:e.idleTip}):null})}function ug(e){return J(It,{children:[q(ig,{...e,routeDerivedOwner:e.routeDerivedOwner}),q(lg,{...e}),J(Y,{ref:e.inputChromeRef,flexDirection:`column`,flexShrink:0,children:[q(sf,{fullScreenPaneActive:e.fullScreenPaneActive,taskPaneRendered:e.taskPaneRendered,tipVisible:!!e.idleTip,tasksCollapsed:e.tasksCollapsed,taskSelIndex:e.taskSelIndex,setTaskSelIndex:e.setTaskSelIndex,backgroundTasksOrdered:e.backgroundTasksOrdered,columns:e.columns,openEditedFileFull:e.openEditedFileFull,editedFileFullIndex:e.editedFileFullIndex,subagents:e.subagents}),q(bf,{...e}),q(cg,{...e})]})]})}function dg(e){let t=Kl(),n=H.useRef(null),r=Bt(n),i=r.hasMeasured?Math.max(1,Math.ceil(r.height)):15,a=Math.max(1,e.rows-1),o=Math.max(1,a-i);return q(ca,{value:e.scrollStore,children:J(Y,{flexDirection:`column`,width:e.columns,height:a,position:`relative`,overflow:`hidden`,children:[q(Y,{flexGrow:1,flexShrink:1,flexDirection:`column`,overflow:`hidden`,justifyContent:`flex-end`,children:q(kd,{...e,rows:o})}),q(Y,{flexShrink:0,flexDirection:`column`,children:q(ug,{...e,routeDerivedOwner:t,inputChromeRef:n})})]})})}const fg=H.memo(function({columns:e=80,rows:t=24,registerWrite:n,maxPreviewRows:r,hasHistory:i=!1,messages:a=[],windowMode:o=!1,scrollbackMode:s=!1,shadow:c=!1,scrollStore:l,loadHistory:u,messageStore:d,language:f,cost:p,pluginInput:m,readFileContent:h,resolveWholeFileDiff:g,getTurnMessages:_,initialHistory:v,externalHistoryCommands:y,residencyGovernor:b,welcome:x,contextStore:S,budgetStore:C,notificationStore:w,perfStore:T,cacheStore:E,proxyStore:D,compactionLogStore:O,galleryStore:k,streamStore:ee,taskStore:te,registryRef:A,shellBackendRef:ne,shellExecution:j=null,a2uiButtons:M,keybindingOverrides:re}){let{write:N}=Wt(),ie=Zl();W(()=>{n?.(N)},[N,n]);let{taskStore:P,budgetStore:ae,perfStore:oe,cacheStore:se,proxyStore:le,compactionLogStore:ue,galleryStore:de,streamStore:fe}=Fu({taskStore:te,budgetStore:C,perfStore:T,cacheStore:E,proxyStore:D,compactionLogStore:O,galleryStore:k,streamStore:ee}),pe=Z(P.store,e=>e.tasks),me=Z(P.store,e=>e.pendingEcho),he=Z(P.store,e=>e.pendingSteers),ge=Z(P.store,e=>e.editedFiles),_e=Z(P.store,e=>e.backgroundTasks),ve=Z(P.store,e=>e.subagentsAccum),ye=Z(P.store,e=>e.scheduleTasks),be=Z(P.store,e=>e.clipboardText),xe=Z(P.store,e=>e.drafts),Se=Z(P.store,e=>e.queued),Ce=Z(P.store,e=>e.pendingPermission),we=Z(P.store,e=>e.backgroundOutput),Te=Z(P.store,e=>e.subagentContext),F=Z(P.store,e=>e.forcedUpgrade),Ee=Z(P.store,e=>e.modelName),De=Z(P.store,e=>e.pluginStatusItems),Oe=Z(P.store,e=>e.statusWidgets),ke=Z(P.store,e=>e.needsSetup),Ae=Z(P.store,e=>e.permissionMode),je=Ft(()=>vo(_e),[_e]),{editedFileFullIndex:Me,openEditedFileFull:Ne,closeEditedFileFull:Pe,taskDetailTurn:Fe,openTaskDetail:Ie,closeTaskDetail:I,shellFullOutput:Le,setShellFullOutput:Re,queueEditIndex:ze,setQueueEditIndex:Be,queueCloseConfirm:Ve,setQueueCloseConfirm:He,queueEscSuppress:Ue,setQueueEscSuppress:We,interruptConfirm:Ge,setInterruptConfirm:Ke,popQueuedConfirm:qe,setPopQueuedConfirm:Je,fullScreenPaneActive:Ye}=Ql({editedFilesLength:ge.length,queuedItemsLength:Se.length,subagentContext:Te,backgroundOutput:we}),[Xe,Ze]=K(0),[Qe,$e]=K(!1),{sigilState:et,setSigilState:tt,sigilApplyRef:nt,hadSigilFocusRef:rt,chipContentViewerRequest:it,pasteContent:at,handleSigilTrigger:ot,handleHistorySearch:L,handleChipReopen:st,handleChipViewPaste:R,handleSigilClose:ct,handlePasteConfirmRequest:lt,handlePasteConfirm:ut,handlePasteCancel:dt}=vu(),ft=G(null),pt=G(null),mt=Nt(e=>{let t=Math.max(0,Math.min(e,xe.length-1)),n=xe[t];n&&(ft.current?.fill(n.text),ie.onDraftDelete?.(t)),ie.onToggleDraftPane?.()},[xe,ie.onToggleDraftPane,ie.onDraftDelete]),z=G(null),ht=A??z,gt=Z(oe.store,e=>e.indicatorLevel),_t=Z(oe.store,e=>e.memory?.usedPct),vt=Z(le.store,e=>e.view),bt=Z(ue.store,e=>e.entries),{stack:xt,currentPath:St}=ce(),Ct=e=>xt.some(t=>t.path===e),B=Ct(`/pane/perf`),wt=Ct(`/pane/cache`),Tt=St.startsWith(`/pane/compaction-log`),Et=Ct(`/pane/gallery`),Dt=l??H.useMemo(()=>aa(),[]),Ot=w??H.useMemo(()=>Fl(),[]),kt=Z(Ot.store,e=>e.providerUsage),At=d??H.useMemo(()=>zl(),[]),jt=S??H.useMemo(()=>Hl(),[]),Mt=H.useMemo(()=>({taskStore:P,budgetStore:ae,perfStore:oe,cacheStore:se,proxyStore:le,compactionLogStore:ue,galleryStore:de,streamStore:fe,notificationStore:Ot,contextStore:jt,messageStore:At,scrollStore:Dt}),[P,ae,oe,se,le,ue,de,fe,Ot,jt,At,Dt]),U=Z(Dt.store,e=>e.offset),Pt=Z(Dt.store,e=>e.totalLines>0),[It,J]=H.useState(!1),[Lt,Y]=H.useState(!1),Rt=H.useRef(!1),X=H.useCallback(()=>{Rt.current||Lt||!u||!d||(Rt.current=!0,J(!0),u({limit:500}).then(e=>{e&&e.length>0?d.prependMany(e):Y(!0)}).catch(()=>Y(!0)).finally(()=>{Rt.current=!1,J(!1)}))},[Lt,u,d]),zt=H.useCallback(e=>{Dt.scrollBy(e)},[Dt]),[Bt,Vt]=H.useState(!1),[Ht,Ut]=H.useState(``),[Gt,Kt]=H.useState(-1),[qt,Jt]=H.useState(0),Yt=H.useCallback(e=>Jt(e),[]),Xt=H.useCallback(e=>Dt.setOffset(e),[Dt]),Zt=St===`/`&&!F&&!Ve&&!Ge&&!qe;yt(`repl-scroll`,(e,n)=>{if(!Pt)return!1;if(n.pageUp)return Dt.page(1,t),!0;if(n.pageDown)return Dt.page(-1,t),!0;if((n.upArrow||n.downArrow)&&(n.alt||n.meta))return Dt.scrollBy(n.upArrow?1:-1),!0;if(U===0)return!1;if(Bt){if(n.escape)return Vt(!1),Ut(``),Kt(-1),!0;if(n.return)return Vt(!1),Ut(``),Kt(-1),Dt.toBottom(),!0;if(n.backspace)return Ut(e=>e.slice(0,-1)),Kt(-1),!0;if((e===`n`||e===`N`)&&Ht.length>0){let t=e===`n`?1:-1;return Kt(e=>qt>0?(e+t+qt)%qt:-1),!0}return e.length===1?(Ut(t=>t+e),Kt(-1),!0):!0}if(e===`/`)return Vt(!0),Ut(``),Kt(-1),!0;if(n.upArrow)return Dt.scrollBy(1),!0;if(n.downArrow)return Dt.scrollBy(-1),!0;if(e===`g`)return Dt.toTop(),!0;if(e===`G`||n.escape||n.return)return Dt.toBottom(),!0;if(e.length>0){Dt.toBottom();let t=ft.current;return t?.append?t.append(e):t?.fill(e),!0}return!1},{isActive:Zt});let Qt=Ct(`/pane/edited-files`),$t=Ct(`/pane/subagents`),en=Ct(`/pane/schedule`),tn=Ct(`/pane/draft`),nn=Ct(`/pane/queue`),rn=Nt(()=>{He(!0)},[]),an=Nt(()=>{Ke(!0)},[]),on=Nt(()=>{Je(!0)},[]),sn=St.startsWith(`/pane/context/detail`),cn=Z(fe.store,e=>e.processing),ln=Z(ae.store,e=>e.budget),{footerVisible:un,badgeEntries:dn}=pu({columns:e,permissionMode:Ae,cost:p,providerUsage:kt,pluginStatusItems:De,statusWidgets:Oe,modelName:Ee}),fn=Ft(()=>[...ve.values()],[ve]),pn=Kl(),mn=Ct(`/home`)&&!St.startsWith(`/dialog/`);W(()=>{ie.onFocusOwnerChange?.(pn)},[pn,ie.onFocusOwnerChange]),W(()=>{ie.onScrollActiveChange?.(Zt)},[Zt,ie.onScrollActiveChange]);let hn=Fe==null&&!Ye&&!Te&&pe.length>0;yu({sigilState:et,setSigilState:tt,sigilApplyRef:nt,hadSigilFocusRef:rt,focusOwner:pn,preempted:!!Ce});let gn=mu({shellExecution:j,subagentContext:Te,agentProcessing:cn,queuedItems:Se,pendingEcho:me,pendingSteers:he,onRequestInterruptConfirm:an,onRequestPopQueuedConfirm:on});return iu({scrollOffset:U,showHome:mn,tasksLength:pe.length,backgroundTasksLength:_e.length,editedFilesLength:ge.length,subagentsLength:fn.length,scheduleTasksLength:ye.length,scheduleOpen:en,draftsLength:xe.length,draftOpen:tn,queuedItemsLength:Se.length,queueOpen:nn,clipboardHasContent:be.length>0,shellExecutionRunning:j?.status===`running`,pendingEcho:me,pasteContent:at,forcedUpgrade:F,queueCloseConfirm:Ve,interruptConfirm:Ge,popQueuedConfirm:qe,routeDerivedOwner:pn,currentPath:St,backgroundOutput:we,a2uiButtons:M,editedFilesOpen:Qt,subagentsOpen:$t,tasksCollapsed:Qe,setTasksCollapsed:$e,keybindingOverrides:re}),q(Wl,{value:Mt,children:q(dg,{columns:e,rows:t,welcome:x,idleTip:Lu({active:St===`/`&&!F&&!cn&&!ke,resetKey:`${St}|${cn?1:0}`,isZh:V.language?.startsWith(`zh`)??!1}),showHome:mn,messages:a,hasHistory:i,maxPreviewRows:r,windowMode:o,scrollbackMode:s,shadow:c,keybindingOverrides:re,scrollStore:Dt,loadHistory:u,messageStore:d,earlierLoading:It,earlierEnded:Lt,onNeedEarlier:X,onPrepend:zt,findQuery:Bt?Ht:void 0,findActiveMatch:Gt,onFindNavigateTo:Xt,onFindCountChange:Yt,fullScreenPaneActive:Ye,streamStore:fe,pasteContent:at,handlePasteConfirm:ut,handlePasteCancel:dt,queueCloseConfirm:Ve,queueEscSuppress:Ue,setQueueEscSuppress:We,setQueueCloseConfirm:He,interruptConfirm:Ge,setInterruptConfirm:Ke,popQueuedConfirm:qe,setPopQueuedConfirm:Je,onQueueEscConfirm:rn,contextDetail:sn,contextStore:S,shellExecution:j,taskDetailTurn:Fe,taskSelIndex:Xe,openTaskDetail:Ie,closeTaskDetail:I,tasksCollapsed:Qe,taskPaneRendered:hn,backgroundTasksOrdered:je,openEditedFileFull:Ne,editedFileFullIndex:Me,closeEditedFileFull:Pe,subagents:fn,shellFullOutput:Le,setShellFullOutput:Re,perfOpen:B,perfStore:oe,cacheStatsOpen:wt,cacheStore:se,proxyView:vt,compactionLogOpen:Tt,compactionLogEntries:bt,galleryOpen:Et,galleryStore:de,agentProcessing:cn,needsSetup:ke,handlePromptEscape:gn,handleSigilTrigger:ot,handleSigilClose:ct,handleHistorySearch:L,handleChipReopen:st,handleChipViewPaste:R,handlePasteConfirmRequest:lt,pluginInput:m,historyInsertRef:ft,pasteBridgeRef:pt,initialHistory:v,externalHistoryCommands:y,residencyGovernor:b,registryRef:ht,shellBackendRef:ne,sigilState:et,setSigilState:tt,sigilApplyRef:nt,readFileContent:h,handleDraftLoad:mt,queueEditIndex:ze,setQueueEditIndex:Be,footerVisible:un,perfIndicatorLevel:gt,perfIndicatorUsedPct:_t,modelName:Ee,budget:ln,badgeEntries:dn,language:f,getTurnMessages:_,resolveWholeFileDiff:g,setTaskSelIndex:Ze,chipContentViewerRequest:it,cost:p,statusWidgets:Oe,pluginStatusItems:De})})}),pg=H.memo(function(e){let t=Ft(()=>Jl(e),[]);return Tt(e.language??Et()),q(Gt,{i18n:V,children:q(S,{systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,children:q(Xl,{value:t,children:q(St,{children:q(Ct,{initialPath:e.initialPath??`/home`,children:q(fg,{...e})})})})})})}),mg=Mt(null);function hg(){let e=Pt(mg);if(!e)throw Error(`useTabScope() must be used inside <TabScope>`);return e}function gg({scopeId:e,children:t}){let n=Ft(()=>new E,[]),[i,a]=K(null),o=G(null);o.current=i;let s=Nt((t,r)=>{x(n,o.current,r)||ot(n,o.current,e,a,r)},[n,e]);Vt((e,t)=>{s(e,t)}),W(()=>{let t=n.getInitialFocus(e);t&&!o.current&&a(t)},[e,n]);let c=Ft(()=>({routePath:e,currentPath:e,activeId:i,registry:n,hasRouter:!1}),[e,i,n]),l=Ft(()=>({activeId:i,registry:n}),[i,n]);return q(mg.Provider,{value:l,children:q(r.Provider,{value:c,children:t})})}const _g=globalThis;_g.React=H,_g.__ottoPanelInk=Lt,_g.__ottoPanelTui={Segmented:Pd,Tabs:Pd,DataList:et,Button:F,GroupDivider:bt,ScrollIndicatorAbove:_,ScrollIndicatorBelow:C,Tabable:He,useTabable:O,TabScope:gg},_g.__ottoPanelFocusBridge={claim:()=>{},release:()=>{},usePanelFocusClaimed:cp,requestClose:()=>sp.requestClose(),setHint:e=>sp.setHint(e)},_g.__ottoPanelTheme={getTheme:()=>I,getFigures:()=>R},_g.__ottoPanelSpacing={SPACING:t,LAYOUT:ne},_g.__ottoPanelI18n={t:wt,i18next:V};function vg(e,t){let n={current:[]};return{a2uiButtonsRef:n,a2uiActionRef:{current:t},scanA2uiButtons:()=>{let t=[],r=0;for(let n of e.messageStore.getState().messages){let e=n.content;if(Array.isArray(e)){for(let n of e)if(n.type===`a2ui`){let e=ws(n.components,80,r);for(let n of e.buttons){if(r++,r>9)break;t.push({...n,key:String(r)})}let i=Os(n.components);for(let e of i){if(r++,r>9)break;t.push({...e,key:String(r)})}}if(r>=9)break}}n.current=t}}}function yg(e){let t=sl(),n=t.store,r=Fl(),i=r.store,a=Du({modelName:e.modelName,needsSetup:e.needsSetup,commands:e.commands,permissionMode:e.permissionMode,drafts:e.initialDrafts,recentMentions:e.initialRecentMentions}),o=a.store,s=zl(),c=s.store,l=aa(),u=l.store,d=bu(),f=Hl(),p=Ou(),m=ku(),h=ju(),g=Mu(),_=Pu(),v=Ui(),y=v?new Ji(v):null,b={current:y},{a2uiButtonsRef:x,a2uiActionRef:S,scanA2uiButtons:C}=vg({messageStore:c},e.onA2uiAction);return{streamStoreHandle:t,streamStore:n,notificationStoreHandle:r,notificationStore:i,taskStoreHandle:a,taskStore:o,messageStoreHandle:s,messageStore:c,scrollStoreHandle:l,scrollStore:u,budgetStore:d,contextStore:f,perfStore:p,cacheStore:m,proxyStore:h,compactionLogStore:g,galleryStore:_,completer:y,shellBackendRef:b,a2uiButtonsRef:x,a2uiActionRef:S,scanA2uiButtons:C}}function bg({paneOwnsViewport:e,realWrite:t}){let n=[];return{write:r=>{if(r.includes(`\x1B[2J`)){n=[],t(r);return}if(e()){n.push(r);return}t(r)},flush:()=>{if(n.length===0)return;let e=n.join(``);n=[],t(e)},pending:()=>n.length}}function xg(e){if(e<=0)return`\x1B[2K\r`;let t=`\x1B[2K\r`;for(let n=0;n<e;n++)t+=`\x1B[1A\x1B[2K`;return t}function Sg(e){let t=!1,n=t=>{if(e.isTTY)try{e.write(t)}catch{}};return{enter(){t||(t=!0,n(`\x1B[?1049h`))},exit(){t&&(t=!1,n(`\x1B[?1049l`))},active(){return t}}}async function Cg(e){let t;try{let e=await import(At(import.meta.url).resolve(`ink`).replace(/index\.js$/,`log-update.js`));if(!e.default||typeof e.default.create!=`function`)return null;t=e.default}catch{return null}let n,r=t.create;return t.create=(t,i)=>{let a=r(t,i),o=(t=>e(t)?a(t):!0);for(let e of Object.keys(a)){let t=a[e];o[e]=typeof t==`function`?t.bind(a):t}let s=a.setCursorPosition;return o.setCursorPosition=e=>{n=e,s?.call(a,e)},o},{dispose(){t.create=r},cursorIntent:()=>n}}const wg=new Set(`+.-.|.←.↑.→.↓.↖.↗.↘.↙.─.━.│.┃.┌.┏.┐.┓.└.┗.┘.┛.═.║.╒.╓.╔.╕.╖.╗.╘.╙.╚.╛.╜.╝.╭.╮.╯.╰.▶.●.○.⋮`.split(`.`));function Tg(e){if(e.length===0)return!1;let t=!1;for(let n of e)if(n.width!==0&&!(n.ch===` `||n.ch===``)){if(!wg.has(n.ch))return!1;t=!0}return t}const Eg=`\x1B[27m`;function Dg(e){return e===void 0||!Number.isFinite(e)?200:Math.max(200,Math.ceil(e*2.5))}const Og=/\x1b\[[0-9;]*m/y;var kg=class{minAnimationPeriod;constructor(e={}){this.minAnimationPeriod=e.minAnimationPeriod??(()=>Ie.minPeriodMs())}burstQuietMs(){return Dg(this.minAnimationPeriod())}rows=[];selectionQuery;chromeWidths=null;damageTop=null;damageBottom=null;get height(){return this.rows.length}lineAt(e){return this.rows[e]}takeDamage(){if(this.damageTop===null||this.damageBottom===null)return null;let e={top:this.damageTop,bottom:this.damageBottom};return this.damageTop=null,this.damageBottom=null,e}markDirty(e){(this.damageTop===null||e<this.damageTop)&&(this.damageTop=e),(this.damageBottom===null||e>this.damageBottom)&&(this.damageBottom=e)}maxLineWidth=0;setMaxLineWidth(e){let t=Math.max(0,Math.floor(e));if(t!==this.maxLineWidth){this.maxLineWidth=t;for(let e=0;e<this.rows.length;e++)this.markDirty(e)}}ingest(e){let t=e.split(`
93
93
  `),n=e.endsWith(`
94
- `)?t.slice(0,-1):t;if(n.length<this.rows.length){for(let e=n.length;e<this.rows.length;e++)this.markDirty(e);this.rows.length=n.length}for(let e=0;e<n.length;e++){let t=this.clampToMaxWidth(kg(n[e]??``)),r=kg._lastChromeWidth??0;(r>0||this.chromeWidths)&&(this.chromeWidths||=new Int32Array(Math.max(n.length,this.rows.length)),e<this.chromeWidths.length&&(this.chromeWidths[e]=r)),!r&&Cg(t)&&(this.chromeWidths||=new Int32Array(Math.max(n.length,this.rows.length)),e<this.chromeWidths.length&&(this.chromeWidths[e]=t.length));let i=this.rows[e];i&&Og(i,t)||(this.rows[e]=t,this.markDirty(e))}}prevLineCount=0;prevCursor;cursorShown=!1;lastRedrawAt=0;cursorRow(){return this.prevCursor?this.prevCursor.y:Math.max(0,this.prevLineCount-1)}bookkeeping(){return{prevLineCount:this.prevLineCount,prevCursor:this.prevCursor,cursorShown:this.cursorShown}}buildCursorOnlySequence(e,t=Date.now()){let n=e===void 0&&this.prevCursor===void 0||e!==void 0&&this.prevCursor!==void 0&&e.x===this.prevCursor.x&&e.y===this.prevCursor.y,r=e!==void 0&&!this.cursorShown&&t-this.lastRedrawAt>=this.burstQuietMs();return n&&!r?``:this.buildFlushSequence({top:0,bottom:-1},e,t)}buildFlushSequence(e,t,n=Date.now()){let r=Math.max(this.rows.length,1),i=Math.max(r,this.prevLineCount),a=i-1,o=r-1,s=``;if(this.prevCursor){s+=`\x1B[?25l`;let e=Math.max(0,this.prevLineCount-1)-this.prevCursor.y;e>0&&(s+=`[${e}B`),s+=`\r`}else s+=`\x1B[?25l`;if(e.bottom>=e.top){let t=Math.max(0,this.prevLineCount-1)-e.top;t>0?s+=`[${t}A`:t<0&&(s+=`[${-t}B`),s+=`\r`;let n=Math.min(e.bottom,a);for(let t=e.top;t<=n;t++)s+=`\x1B[2K`,t<this.rows.length&&(s+=this.renderLine(t)),t<n&&(s+=`
94
+ `)?t.slice(0,-1):t;if(n.length<this.rows.length){for(let e=n.length;e<this.rows.length;e++)this.markDirty(e);this.rows.length=n.length}for(let e=0;e<n.length;e++){let t=this.clampToMaxWidth(jg(n[e]??``)),r=jg._lastChromeWidth??0;(r>0||this.chromeWidths)&&(this.chromeWidths||=new Int32Array(Math.max(n.length,this.rows.length)),e<this.chromeWidths.length&&(this.chromeWidths[e]=r)),!r&&Tg(t)&&(this.chromeWidths||=new Int32Array(Math.max(n.length,this.rows.length)),e<this.chromeWidths.length&&(this.chromeWidths[e]=t.length));let i=this.rows[e];i&&Ag(i,t)||(this.rows[e]=t,this.markDirty(e))}}prevLineCount=0;prevCursor;cursorShown=!1;lastRedrawAt=0;cursorRow(){return this.prevCursor?this.prevCursor.y:Math.max(0,this.prevLineCount-1)}bookkeeping(){return{prevLineCount:this.prevLineCount,prevCursor:this.prevCursor,cursorShown:this.cursorShown}}buildCursorOnlySequence(e,t=Date.now()){let n=e===void 0&&this.prevCursor===void 0||e!==void 0&&this.prevCursor!==void 0&&e.x===this.prevCursor.x&&e.y===this.prevCursor.y,r=e!==void 0&&!this.cursorShown&&t-this.lastRedrawAt>=this.burstQuietMs();return n&&!r?``:this.buildFlushSequence({top:0,bottom:-1},e,t)}buildFlushSequence(e,t,n=Date.now()){let r=Math.max(this.rows.length,1),i=Math.max(r,this.prevLineCount),a=i-1,o=r-1,s=``;if(this.prevCursor){s+=`\x1B[?25l`;let e=Math.max(0,this.prevLineCount-1)-this.prevCursor.y;e>0&&(s+=`[${e}B`),s+=`\r`}else s+=`\x1B[?25l`;if(e.bottom>=e.top){let t=Math.max(0,this.prevLineCount-1)-e.top;t>0?s+=`[${t}A`:t<0&&(s+=`[${-t}B`),s+=`\r`;let n=Math.min(e.bottom,a);for(let t=e.top;t<=n;t++)s+=`\x1B[2K`,t<this.rows.length&&(s+=this.renderLine(t)),t<n&&(s+=`
95
95
  \r`);let r=o-n;r>0?s+=`[${r}B`:r<0&&(s+=`[${-r}A`),s+=`\r`}let c=e.bottom>=e.top&&n-this.lastRedrawAt<this.burstQuietMs();e.bottom>=e.top&&(this.lastRedrawAt=n);let l=t!==void 0&&this.prevCursor!==void 0&&t.x===this.prevCursor.x&&t.y===this.prevCursor.y,u=e.bottom>=e.top&&t!==void 0&&t.y>=e.top&&t.y<=e.bottom;if(l&&!u&&e.bottom>=e.top){let n=`\x1B7`,a=t.y-e.top;a>0?n+=`[${a}A`:a<0&&(n+=`[${-a}B`),n+=`\r`;let o=Math.min(e.bottom,i-1);for(let t=e.top;t<=o;t++)n+=`\x1B[2K`,t<this.rows.length&&(n+=this.renderLine(t)),t<o&&(n+=`
96
- \r`);return n+=`\x1B8`,this.prevLineCount=r,n}if(t){let e=o-Math.max(0,Math.min(t.y,o));e>0&&(s+=`[${e}A`),t.x>0?s+=`[${t.x+1}G`:s+=`\r`,c||(s+=`\x1B[?25h`)}return this.prevLineCount=r,this.prevCursor=t?{...t}:void 0,this.cursorShown=t!==void 0&&!c,s}clampToMaxWidth(e){let t=this.maxLineWidth;if(t<=0)return e;let n=0;for(let r=0;r<e.length;r++){let i=e[r].width;if(n+i>t)return e.slice(0,r);n+=i}return e}renderLine(e){let t=this.rows[e];if(!t)return``;let n=this.selectionQuery,r=``,i=``,a=!1;for(let o=0;o<t.length;o++){let s=t[o];if(s.width===0)continue;s.style!==i&&(i&&(r+=`\x1B[0m`),r+=s.style,i=s.style,a=!1);let c=n?.(e,o)??!1;c!==a&&(r+=c?`\x1B[7m`:wg,a=c),r+=s.ch}return a&&(r+=wg),i&&(r+=`\x1B[0m`),r}setChromeWidths(e){if(!e||e.length===0){this.chromeWidths=null;return}this.chromeWidths=Int32Array.from(e)}chromeWidth(e){return!this.chromeWidths||e<0||e>=this.chromeWidths.length?0:this.chromeWidths[e]}setSelectionQuery(e){this.selectionQuery=e??void 0}buildSelectionRepaint(e,t){let n=Math.max(0,Math.min(e,t)),r=Math.min(this.rows.length-1,Math.max(e,t));if(r<n||this.rows.length===0)return``;let i=this.cursorRow(),a=`\x1B7`,o=i-n;o>0?a+=`[${o}A`:o<0&&(a+=`[${-o}B`),a+=`\r`;for(let e=n;e<=r;e++)a+=`${this.renderLine(e)}`,e<r&&(a+=`
97
- \r`);return a+=`\x1B8`,a}markRowDirty(e){e>=0&&e<this.rows.length&&this.markDirty(e)}markAllDirty(){for(let e=0;e<this.rows.length;e++)this.markDirty(e)}};function Og(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.ch!==i.ch||r.style!==i.style||r.width!==i.width)return!1}return!0}function kg(e){let t=[],n=``,r=0,i=0,a=/^\x1b\]9;cw=(\d+)\x07/.exec(e);for(a&&(i=parseInt(a[1],10),r=a[0].length),kg._lastChromeWidth=i;r<e.length;){if(e.charCodeAt(r)===27){Eg.lastIndex=r;let t=Eg.exec(e);if(t){let e=t[0];n=/\x1b\[0?m/.test(e)?``:n+e,r=Eg.lastIndex;continue}r++;continue}let i=String.fromCodePoint(e.codePointAt(r));r+=i.length,Le(i)===2?(t.push({ch:i,style:n,width:2}),t.push({ch:``,style:n,width:0})):t.push({ch:i,style:n,width:1})}return t}function Ag(e=process.env){return e.OTTO_TUI_CELL_BUFFER!==`0`}async function jg(e,t=process.env){if(!Ag(t)||!e.isTTY)return null;let n=new Dg,r=0,i=0,a=null,o,s=()=>{a&&clearTimeout(a),a=setTimeout(()=>{if(a=null,o)try{let t=n.buildCursorOnlySequence(o);t&&e.write(t)}catch{}},210),a.unref?.()},c=null,l=null;return c=await xg(t=>{r++,n.ingest(t);let a=n.takeDamage();l?.(a);let u=c?.cursorIntent();if(o=u,!a)return i++,u&&e.write(n.buildCursorOnlySequence(u)),!1;try{e.write(n.buildFlushSequence(a,u)),s()}catch{return!0}return!1}),c?{buffer:n,dispose:()=>{a&&clearTimeout(a),l=null,c.dispose()},stats:()=>({frames:r,skipped:i}),onDamage:e=>{l=e}}:null}function Mg({anchor:e,focus:t}){return t.row<e.row||t.row===e.row&&t.col<e.col?{start:t,end:e}:{start:e,end:t}}function Ng(e){return e.anchor.row===e.focus.row&&e.anchor.col===e.focus.col}function Pg(e,t,n,r){return!(t<e.start.row||t>e.end.row||r?.(t,n)||t===e.start.row&&n<e.start.col||t===e.end.row&&n>=e.end.col)}function Fg(e,t,n){if(!n)return 0;for(let r=0;r<e.length;r++)if(!n(t,r))return r;return e.length}function Ig({selection:e,lineAt:t,noSelect:n}){if(Ng(e))return``;let r=Mg(e),i=[];for(let e=r.start.row;e<=r.end.row;e++){let a=t(e);if(!a||Fg(a,e,n)>=a.length)continue;let o=``;for(let t=0;t<a.length;t++){let i=a[t];i.width!==0&&Pg(r,e,t,n)&&(o+=i.ch)}i.push(o.replace(/\s+$/,``))}return i.join(`
98
- `)}var Lg=class{range=null;dragging=!1;begin(e){this.range={anchor:e,focus:e},this.dragging=!0}extend(e){!this.dragging||!this.range||(this.range={anchor:this.range.anchor,focus:e})}commit(){this.dragging=!1}clear(){this.range=null,this.dragging=!1}current(){return!this.range||Ng(this.range)?null:this.range}isDragging(){return this.dragging}};function Rg(e){let{buffer:t,terminalRows:n,writeSelectionRepaint:r,writeClipboard:i,onCopied:a}=e,o=e.noSelect??((e,n)=>n<t.chromeWidth(e)),s=(e,r)=>{let i=Math.max(0,r-1),a=Math.max(0,n()-t.height);return{row:Math.max(0,i-a),col:Math.max(0,e-1)}},c=new Lg,l=null,u=()=>{let e=c.current(),n=null;if(!e)t.setSelectionQuery(null);else{let r=Mg(e);t.setSelectionQuery((e,t)=>Pg(r,e,t,o)),n={top:r.start.row,bottom:r.end.row}}let i=Math.min(n?.top??1/0,l?.top??1/0),a=Math.max(n?.bottom??-1,l?.bottom??-1);l=n,!(a<i)&&r(t.buildSelectionRepaint(i,a))},d=({clearAfter:e})=>{let n=c.current();if(!n)return!1;let r=Ig({selection:n,lineAt:e=>t.lineAt(e),noSelect:o});if(r.length===0)return!1;let s=i(r);return a?.(r,s),e&&(c.clear(),u()),s};return{handleDrag(e){let t=s(e.x,e.y);switch(e.type){case`down`:c.begin(t),u();break;case`move`:if(!c.isDragging())return;c.extend(t),u();break;case`up`:c.extend(s(e.x,e.y)),c.commit(),u(),d({clearAfter:!1});break}},copySelection(){return d({clearAfter:!0})},onFrameDamage(e){if(!e)return!1;let t=c.current();if(!t||c.isDragging())return!1;let{start:n,end:r}=Mg(t);return e.bottom<n.row||e.top>r.row?!1:(c.clear(),u(),!0)},clear(){!c.current()&&!c.isDragging()||(c.clear(),u())},hasSelection(){return c.current()!==null}}}function zg(e){return Array.from(e).length}const Bg=`\x1B[?1006h\x1B[?1002h`,Vg=`\x1B[?1002l\x1B[?1006l`;function Hg(e,t){let n=t;if(n>=e.length)return`pending`;let r=[],i=0,a=!1;for(;n<e.length;n++){let t=e[n];if(t>=48&&t<=57)i=i*10+(t-48),a=!0;else if(t===59){if(!a)return null;r.push(i),i=0,a=!1}else if(t===77||t===109)return!a||(r.push(i),r.length<3)?null:{b:r[0],x:r[1],y:r[2],final:t,end:n+1};else return null}return a||r.length>0?`pending`:null}function Ug(e,t){return e[t]!==27||e[t+1]!==91||e[t+2]!==60?null:Hg(e,t+3)}function Wg(e,t){return e.length<=t?`pending`:e[t]===91?e.length<=t+1?`pending`:e[t+1]===60?Hg(e,t+2):null:null}function Gg(e,t,n){let{b:r,x:i,y:a,final:o}=e,s=e=>r===e||r===e+4||r===e+8||r===e+16;if(o===77&&(s(64)||s(65))){let e=s(64)?64:65;return r&4||t.push({kind:`wheel`,delta:e===64?1:-1,x:i,y:a,shift:!1,ctrl:!!(r&16)}),{kind:`wheel-consumed`}}let c=!!(r&4),l=r&-29,u=o===77&&l===0,d=o===77&&l===32;return!c&&(u||d||o===109)?(n.push({kind:`drag`,type:u?`down`:d?`move`:`up`,x:i,y:a,ctrl:!!(r&16)}),{kind:`drag-consumed`}):c?{kind:`shift-passthrough`}:{kind:`swallowed`}}function Kg(){let e=Buffer.alloc(0),t=!1,n=!1,r=!1;return i=>{let a=F(i),o=e.length?Buffer.concat([e,a]):a;e=Buffer.alloc(0);let s=r;r=!1;let c=n;n=!1;let l=[],u=[],d=[];if(s||c){let t=Wg(o,0);if(t===`pending`)return e=o,r=!0,{wheels:[],drags:[],rest:Buffer.alloc(0)};if(t!==null){if(Gg(t,l,u).kind===`shift-passthrough`)for(let e=0;e<t.end;e++)d.push(o[e]);o=o.subarray(t.end)}}let f=0;f=((n,r)=>{let i=n;for(;i<o.length;){if(t){let e=o.indexOf(`\x1B[201~`,i);if(e===-1){r.push(...o.subarray(i)),i=o.length;break}r.push(...o.subarray(i,e+6)),i=e+6,t=!1;continue}let n=o.indexOf(`\x1B[200~`,i),a=o[i]===27&&o[i+1]===91&&o[i+2]===60?i:-1;if(n!==-1&&(a===-1||n<a)){r.push(...o.subarray(i,n+6)),i=n+6,t=!0;continue}if(a===-1&&i+2===o.length&&o[i]===27&&o[i+1]===91)return e=Buffer.from(o.subarray(i)),i;if(a!==-1){let t=Ug(o,a);if(t===`pending`)return e=Buffer.from(o.subarray(a)),i;if(t!==null){if(Gg(t,l,u).kind===`shift-passthrough`)for(let e=a;e<t.end;e++)r.push(o[e]);i=t.end;continue}r.push(o[i]),i++;continue}r.push(o[i]),i++}return i})(f,d);let p=Buffer.from(d);return n=p.length>0&&p[p.length-1]===27,{wheels:l,drags:u,rest:p}}}function qg(e,t=16){let n=0,r=null,i=()=>{if(r!==null&&(clearTimeout(r),r=null),n!==0){let t=n;n=0,e(t)}};return{push(e){n+=e,r===null&&(r=setTimeout(i,t))},flushNow:i}}function Jg(e=process.platform,t=process.env){if(e===`darwin`)return{command:`pbcopy`,args:[]};if(e===`win32`)return{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,`$input | Set-Clipboard`]};if(e===`linux`){if(t.WSL_DISTRO_NAME||t.WSLENV)return{command:`powershell.exe`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,`$input | Set-Clipboard`]};if(t.WAYLAND_DISPLAY)return{command:`wl-copy`,args:[]};if(t.DISPLAY)return{command:`xclip`,args:[`-selection`,`clipboard`]}}return null}function Yg(e,t=process.platform,n=process.env){let r=Jg(t,n);if(!r)return!1;try{let t=hn(r.command,r.args,{stdio:[`pipe`,`ignore`,`ignore`],detached:!1});return t.on(`error`,()=>{}),t.stdin.on(`error`,()=>{}),t.stdin.end(e,`utf8`),!0}catch{return!1}}const Xg=`\x1B[<u`,Zg=/\x1b\[(\d+)(?:;(\d+))?u/g;function Qg(e,t){let n=t>0?t-1:0,r=!!(n&1),i=!!(n&2),a=!!(n&4),o=!!(n&8),s=i||o?`\x1B`:``;if(e===13)return a||i||o||r?`\x1B\r`:`\r`;if(e===9)return s+` `;if(e===27)return`\x1B`;if(e===127||e===8)return s+``;if(e>=65&&e<=90||e>=97&&e<=122){let t=e>=65&&e<=90?e+32:e;return a?s+String.fromCharCode(t&31):s+String.fromCharCode(r?t-32:t)}return e>=32?a?``:s+String.fromCodePoint(e):``}function $g(e){let t=e.lastIndexOf(`\x1B`);if(t<0)return-1;let n=e.slice(t);return/^\x1b\[[\d;:]*[A-Za-z~]/.test(n)||/^\x1b[NO]./.test(n)||/^\x1b[^[NO]/.test(n)&&n.length>=2?-1:t}function e_(){let e=``;return t=>{let n=e+(typeof t==`string`?t:t.toString(`latin1`));e=``;let r=$g(n);r>=0&&(e=n.slice(r),n=n.slice(0,r));let i=n.replace(Zg,(e,t,n)=>Qg(parseInt(t,10),n?parseInt(n,10):1));return Buffer.from(i,`latin1`)}}function t_(e){let{stdin:t,renderStdout:n,kittyOn:r,kittyExitHandler:i,focusOn:a,focusExitHandler:o,mouseOn:s,mouseExitHandler:c,onInterrupt:l,terminalInputCleanup:u}=e,d=!1,f=e=>{let t=F(e);t.length>=1&&t[0]===3&&l?.()},p=()=>l?.();return{setupRawInput:()=>{try{t.isTTY&&(t.on(`data`,f),d=!0)}catch{}process.on(`SIGINT`,p)},cleanup:()=>{if(r){try{n.write(Xg)}catch{}i&&process.removeListener(`exit`,i)}if(a&&o&&process.removeListener(`exit`,o),s){try{n.write(Vg)}catch{}c&&process.removeListener(`exit`,c)}d&&t.removeListener(`data`,f),process.removeListener(`SIGINT`,p),u();try{t.isTTY&&t.pause()}catch{}try{t.isTTY&&t.setRawMode(!1)}catch{}}}}const n_=/\x1b\[[0-9;]*m/g;function r_(e){let t=``,n=0,r=0,i=!1,a=()=>Math.max(1,e.getColumns()-ge.borderInset),o=t=>{if(t.length===0)return;e.setHasHistory(!0);let n=!i,r=t.map((e,t)=>n&&t===0?`${Q(R.bullet,L.replyPrefix)} ${e}`:e.replace(n_,``).trim()===``?``:` ${e}`);i=!0,e.scrollbackBuffer.write((n?`
96
+ \r`);return n+=`\x1B8`,this.prevLineCount=r,n}if(t){let e=o-Math.max(0,Math.min(t.y,o));e>0&&(s+=`[${e}A`),t.x>0?s+=`[${t.x+1}G`:s+=`\r`,c||(s+=`\x1B[?25h`)}return this.prevLineCount=r,this.prevCursor=t?{...t}:void 0,this.cursorShown=t!==void 0&&!c,s}clampToMaxWidth(e){let t=this.maxLineWidth;if(t<=0)return e;let n=0;for(let r=0;r<e.length;r++){let i=e[r].width;if(n+i>t)return e.slice(0,r);n+=i}return e}renderLine(e){let t=this.rows[e];if(!t)return``;let n=this.selectionQuery,r=``,i=``,a=!1;for(let o=0;o<t.length;o++){let s=t[o];if(s.width===0)continue;s.style!==i&&(i&&(r+=`\x1B[0m`),r+=s.style,i=s.style,a=!1);let c=n?.(e,o)??!1;c!==a&&(r+=c?`\x1B[7m`:Eg,a=c),r+=s.ch}return a&&(r+=Eg),i&&(r+=`\x1B[0m`),r}setChromeWidths(e){if(!e||e.length===0){this.chromeWidths=null;return}this.chromeWidths=Int32Array.from(e)}chromeWidth(e){return!this.chromeWidths||e<0||e>=this.chromeWidths.length?0:this.chromeWidths[e]}setSelectionQuery(e){this.selectionQuery=e??void 0}buildSelectionRepaint(e,t){let n=Math.max(0,Math.min(e,t)),r=Math.min(this.rows.length-1,Math.max(e,t));if(r<n||this.rows.length===0)return``;let i=this.cursorRow(),a=`\x1B7`,o=i-n;o>0?a+=`[${o}A`:o<0&&(a+=`[${-o}B`),a+=`\r`;for(let e=n;e<=r;e++)a+=`${this.renderLine(e)}`,e<r&&(a+=`
97
+ \r`);return a+=`\x1B8`,a}markRowDirty(e){e>=0&&e<this.rows.length&&this.markDirty(e)}markAllDirty(){for(let e=0;e<this.rows.length;e++)this.markDirty(e)}};function Ag(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r.ch!==i.ch||r.style!==i.style||r.width!==i.width)return!1}return!0}function jg(e){let t=[],n=``,r=0,i=0,a=/^\x1b\]9;cw=(\d+)\x07/.exec(e);for(a&&(i=parseInt(a[1],10),r=a[0].length),jg._lastChromeWidth=i;r<e.length;){if(e.charCodeAt(r)===27){Og.lastIndex=r;let t=Og.exec(e);if(t){let e=t[0];n=/\x1b\[0?m/.test(e)?``:n+e,r=Og.lastIndex;continue}r++;continue}let i=String.fromCodePoint(e.codePointAt(r));r+=i.length,Fe(i)===2?(t.push({ch:i,style:n,width:2}),t.push({ch:``,style:n,width:0})):t.push({ch:i,style:n,width:1})}return t}function Mg(e=process.env){return e.OTTO_TUI_CELL_BUFFER!==`0`}async function Ng(e,t=process.env){if(!Mg(t)||!e.isTTY)return null;let n=new kg,r=0,i=0,a=null,o,s=()=>{a&&clearTimeout(a),a=setTimeout(()=>{if(a=null,o)try{let t=n.buildCursorOnlySequence(o);t&&e.write(t)}catch{}},210),a.unref?.()},c=null,l=null;return c=await Cg(t=>{r++,n.ingest(t);let a=n.takeDamage();l?.(a);let u=c?.cursorIntent();if(o=u,!a)return i++,u&&e.write(n.buildCursorOnlySequence(u)),!1;try{e.write(n.buildFlushSequence(a,u)),s()}catch{return!0}return!1}),c?{buffer:n,dispose:()=>{a&&clearTimeout(a),l=null,c.dispose()},stats:()=>({frames:r,skipped:i}),onDamage:e=>{l=e}}:null}const Pg=new Intl.Segmenter(`en`,{granularity:`word`});function Fg({anchor:e,focus:t}){return t.row<e.row||t.row===e.row&&t.col<e.col?{start:t,end:e}:{start:e,end:t}}function Ig(e){return e.anchor.row===e.focus.row&&e.anchor.col===e.focus.col}function Lg(e,t,n,r){return!(t<e.start.row||t>e.end.row||r?.(t,n)||t===e.start.row&&n<e.start.col||t===e.end.row&&n>=e.end.col)}function Rg(e,t,n){if(!n)return 0;for(let r=0;r<e.length;r++)if(!n(t,r))return r;return e.length}function zg({selection:e,lineAt:t,noSelect:n}){if(Ig(e))return``;let r=Fg(e),i=[];for(let e=r.start.row;e<=r.end.row;e++){let a=t(e);if(!a||Rg(a,e,n)>=a.length)continue;let o=``;for(let t=0;t<a.length;t++){let i=a[t];i.width!==0&&Lg(r,e,t,n)&&(o+=i.ch)}i.push(o.replace(/\s+$/,``))}return i.join(`
98
+ `)}function Bg(e,t,n){let r=``,i=[];for(let a=0;a<e.length;a++){let o=e[a];if(o.width!==0&&!n?.(t,a)){for(let e=0;e<o.ch.length;e++)i.push(a);r+=o.ch}}return{text:r,colAt:i}}function Vg(e,t,n,r){let i=n>0&&e[n]?.width===0?n-1:n,{text:a,colAt:o}=Bg(e,t,r);if(a.length===0)return null;let s=o.indexOf(i);if(s===-1)return null;for(let n of Pg.segment(a)){let r=n.index,i=n.index+n.segment.length;if(s>=r&&s<i){if(!n.isWordLike)return null;let a=o[r],s=o[i-1],c=s+(e[s]?.width||1);return{start:{row:t,col:a},end:{row:t,col:c}}}}return null}function Hg(e,t,n){let r=Rg(e,t,n);return r>=e.length?null:{start:{row:t,col:r},end:{row:t,col:e.length}}}var Ug=class{range=null;dragging=!1;begin(e){this.range={anchor:e,focus:e},this.dragging=!0}selectSpan(e){this.range={anchor:e.start,focus:e.end},this.dragging=!1}extend(e){!this.dragging||!this.range||(this.range={anchor:this.range.anchor,focus:e})}commit(){this.dragging=!1}clear(){this.range=null,this.dragging=!1}current(){return!this.range||Ig(this.range)?null:this.range}isDragging(){return this.dragging}};function Wg(e){let{buffer:t,terminalRows:n,writeSelectionRepaint:r,writeClipboard:i,onCopied:a}=e,o=e.now??(()=>Date.now()),s=e.noSelect??((e,n)=>n<t.chromeWidth(e)),c=(e,r)=>{let i=Math.max(0,r-1),a=Math.max(0,n()-t.height);return{row:Math.max(0,i-a),col:Math.max(0,e-1)}},l=new Ug,u=null,d=e=>{let t=o(),n=u!==null&&t-u.time<=500,r=u!==null&&u.row===e.row&&u.col===e.col,i=n&&r?u.count%3+1:1;return u={row:e.row,col:e.col,time:t,count:i},i},f=null,p=()=>{let e=l.current(),n=null;if(!e)t.setSelectionQuery(null);else{let r=Fg(e);t.setSelectionQuery((e,t)=>Lg(r,e,t,s)),n={top:r.start.row,bottom:r.end.row}}let i=Math.min(n?.top??1/0,f?.top??1/0),a=Math.max(n?.bottom??-1,f?.bottom??-1);f=n,!(a<i)&&r(t.buildSelectionRepaint(i,a))},m=({clearAfter:e})=>{let n=l.current();if(!n)return!1;let r=zg({selection:n,lineAt:e=>t.lineAt(e),noSelect:s});if(r.length===0)return!1;let o=i(r);return a?.(r,o),e&&(l.clear(),p()),o};return{handleDrag(e){let n=c(e.x,e.y);switch(e.type){case`down`:{let e=d(n);if(e===2){let e=Vg(t.lineAt(n.row)??[],n.row,n.col,s);if(e){l.selectSpan(e),p();break}}else if(e===3){let e=Hg(t.lineAt(n.row)??[],n.row,s);if(e){l.selectSpan(e),p();break}}l.begin(n),p();break}case`move`:if(!l.isDragging())return;l.extend(n),p();break;case`up`:l.extend(c(e.x,e.y)),l.commit(),p(),m({clearAfter:!1});break}},copySelection(){return m({clearAfter:!0})},onFrameDamage(e){if(!e)return!1;let t=l.current();if(!t||l.isDragging())return!1;let{start:n,end:r}=Fg(t);return e.bottom<n.row||e.top>r.row?!1:(l.clear(),p(),!0)},clear(){!l.current()&&!l.isDragging()||(l.clear(),p())},hasSelection(){return l.current()!==null}}}function Gg(e){return Array.from(e).length}const Kg=`\x1B[?1006h\x1B[?1002h`,qg=`\x1B[?1002l\x1B[?1006l`;function Jg(e,t){let n=t;if(n>=e.length)return`pending`;let r=[],i=0,a=!1;for(;n<e.length;n++){let t=e[n];if(t>=48&&t<=57)i=i*10+(t-48),a=!0;else if(t===59){if(!a)return null;r.push(i),i=0,a=!1}else if(t===77||t===109)return!a||(r.push(i),r.length<3)?null:{b:r[0],x:r[1],y:r[2],final:t,end:n+1};else return null}return a||r.length>0?`pending`:null}function Yg(e,t){return e[t]!==27||e[t+1]!==91||e[t+2]!==60?null:Jg(e,t+3)}function Xg(e,t){return e.length<=t?`pending`:e[t]===91?e.length<=t+1?`pending`:e[t+1]===60?Jg(e,t+2):null:null}function Zg(e,t,n){let{b:r,x:i,y:a,final:o}=e,s=e=>r===e||r===e+4||r===e+8||r===e+16;if(o===77&&(s(64)||s(65))){let e=s(64)?64:65;return r&4||t.push({kind:`wheel`,delta:e===64?1:-1,x:i,y:a,shift:!1,ctrl:!!(r&16)}),{kind:`wheel-consumed`}}let c=!!(r&4),l=r&-29,u=o===77&&l===0,d=o===77&&l===32;return!c&&(u||d||o===109)?(n.push({kind:`drag`,type:u?`down`:d?`move`:`up`,x:i,y:a,ctrl:!!(r&16)}),{kind:`drag-consumed`}):c?{kind:`shift-passthrough`}:{kind:`swallowed`}}function Qg(){let e=Buffer.alloc(0),t=!1,n=!1,r=!1;return i=>{let a=m(i),o=e.length?Buffer.concat([e,a]):a;e=Buffer.alloc(0);let s=r;r=!1;let c=n;n=!1;let l=[],u=[],d=[];if(s||c){let t=Xg(o,0);if(t===`pending`)return e=o,r=!0,{wheels:[],drags:[],rest:Buffer.alloc(0)};if(t!==null){if(Zg(t,l,u).kind===`shift-passthrough`)for(let e=0;e<t.end;e++)d.push(o[e]);o=o.subarray(t.end)}}let f=0;f=((n,r)=>{let i=n;for(;i<o.length;){if(t){let e=o.indexOf(`\x1B[201~`,i);if(e===-1){r.push(...o.subarray(i)),i=o.length;break}r.push(...o.subarray(i,e+6)),i=e+6,t=!1;continue}let n=o.indexOf(`\x1B[200~`,i),a=o[i]===27&&o[i+1]===91&&o[i+2]===60?i:-1;if(n!==-1&&(a===-1||n<a)){r.push(...o.subarray(i,n+6)),i=n+6,t=!0;continue}if(a===-1&&i+2===o.length&&o[i]===27&&o[i+1]===91)return e=Buffer.from(o.subarray(i)),i;if(a!==-1){let t=Yg(o,a);if(t===`pending`)return e=Buffer.from(o.subarray(a)),i;if(t!==null){if(Zg(t,l,u).kind===`shift-passthrough`)for(let e=a;e<t.end;e++)r.push(o[e]);i=t.end;continue}r.push(o[i]),i++;continue}r.push(o[i]),i++}return i})(f,d);let p=Buffer.from(d);return n=p.length>0&&p[p.length-1]===27,{wheels:l,drags:u,rest:p}}}function $g(e,t=16){let n=0,r=null,i=()=>{if(r!==null&&(clearTimeout(r),r=null),n!==0){let t=n;n=0,e(t)}};return{push(e){n+=e,r===null&&(r=setTimeout(i,t))},flushNow:i}}function e_(e=process.platform,t=process.env){if(e===`darwin`)return{command:`pbcopy`,args:[]};if(e===`win32`)return{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,`$input | Set-Clipboard`]};if(e===`linux`){if(t.WSL_DISTRO_NAME||t.WSLENV)return{command:`powershell.exe`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,`$input | Set-Clipboard`]};if(t.WAYLAND_DISPLAY)return{command:`wl-copy`,args:[]};if(t.DISPLAY)return{command:`xclip`,args:[`-selection`,`clipboard`]}}return null}function t_(e,t=process.platform,n=process.env){let r=e_(t,n);if(!r)return!1;try{let t=gn(r.command,r.args,{stdio:[`pipe`,`ignore`,`ignore`],detached:!1});return t.on(`error`,()=>{}),t.stdin.on(`error`,()=>{}),t.stdin.end(e,`utf8`),!0}catch{return!1}}const n_=`\x1B[<u`,r_=/\x1b\[(\d+)(?:;(\d+))?u/g;function i_(e,t){let n=t>0?t-1:0,r=!!(n&1),i=!!(n&2),a=!!(n&4),o=!!(n&8),s=i||o?`\x1B`:``;if(e===13)return a||i||o||r?`\x1B\r`:`\r`;if(e===9)return s+` `;if(e===27)return`\x1B`;if(e===127||e===8)return s+``;if(e>=65&&e<=90||e>=97&&e<=122){let t=e>=65&&e<=90?e+32:e;return a?s+String.fromCharCode(t&31):s+String.fromCharCode(r?t-32:t)}return e>=32?a?``:s+String.fromCodePoint(e):``}function a_(e){let t=e.lastIndexOf(`\x1B`);if(t<0)return-1;let n=e.slice(t);return/^\x1b\[[\d;:]*[A-Za-z~]/.test(n)||/^\x1b[NO]./.test(n)||/^\x1b[^[NO]/.test(n)&&n.length>=2?-1:t}function o_(){let e=``;return t=>{let n=e+(typeof t==`string`?t:t.toString(`latin1`));e=``;let r=a_(n);r>=0&&(e=n.slice(r),n=n.slice(0,r));let i=n.replace(r_,(e,t,n)=>i_(parseInt(t,10),n?parseInt(n,10):1));return Buffer.from(i,`latin1`)}}function s_(e){let{stdin:t,renderStdout:n,kittyOn:r,kittyExitHandler:i,focusOn:a,focusExitHandler:o,mouseOn:s,mouseExitHandler:c,onInterrupt:l,terminalInputCleanup:u}=e,d=!1,f=e=>{let t=m(e);t.length>=1&&t[0]===3&&l?.()},p=()=>l?.();return{setupRawInput:()=>{try{t.isTTY&&(t.on(`data`,f),d=!0)}catch{}process.on(`SIGINT`,p)},cleanup:()=>{if(r){try{n.write(n_)}catch{}i&&process.removeListener(`exit`,i)}if(a&&o&&process.removeListener(`exit`,o),s){try{n.write(qg)}catch{}c&&process.removeListener(`exit`,c)}d&&t.removeListener(`data`,f),process.removeListener(`SIGINT`,p),u();try{t.isTTY&&t.pause()}catch{}try{t.isTTY&&t.setRawMode(!1)}catch{}}}}const c_=/\x1b\[[0-9;]*m/g;function l_(e){let t=``,n=0,r=0,i=!1,a=()=>Math.max(1,e.getColumns()-ne.borderInset),o=t=>{if(t.length===0)return;e.setHasHistory(!0);let n=!i,r=t.map((e,t)=>n&&t===0?`${Q(R.bullet,I.replyPrefix)} ${e}`:e.replace(c_,``).trim()===``?``:` ${e}`);i=!0,e.scrollbackBuffer.write((n?`
99
99
  `:``)+r.join(`
100
100
  `)+`
101
- `)},s=()=>{t=``,n=0,r=0,i=!1,e.streamStore.setState({lastTail:void 0})},c=e=>{let t=$a(Os(e),a());if(t.length===0)return;let n=r===0?t:[``,...t];o(n),r+=n.length},l=(e,n)=>{if(n<=e)return;let r=t.slice(e,n);if((r.match(/\n/g)??[]).length+1>60){let e=r.split(`
101
+ `)},s=()=>{t=``,n=0,r=0,i=!1,e.streamStore.setState({lastTail:void 0})},c=e=>{let t=eo(ks(e),a());if(t.length===0)return;let n=r===0?t:[``,...t];o(n),r+=n.length},l=(e,n)=>{if(n<=e)return;let r=t.slice(e,n);if((r.match(/\n/g)??[]).length+1>60){let e=r.split(`
102
102
  `);for(let t=0;t<e.length;t+=60)c(e.slice(t,t+60).join(`
103
103
  `));return}c(r)},u=(n,r,i)=>{if(r<=n){i();return}let a=t.slice(n,r);if((a.match(/\n/g)??[]).length+1<=60){c(a),i();return}let o=a.split(`
104
104
  `),s=0;c(o.slice(0,60).join(`
105
105
  `)),s=60;let l=()=>{if(s>=o.length){i();return}c(o.slice(s,s+60).join(`
106
- `)),s+=60,e.notify(),setImmediate(l)};setImmediate(l)},d=r=>{if(r===``){u(n,t.length,()=>{s(),e.streamStore.setState({streamingText:``})});return}t=r;let i=Tc(r);i>n&&(l(n,i),n=i);let o=r.slice(n);o!==e.streamStore.getState().lastTail&&e.streamStore.setState({streamingText:o.trim()?$a(Os(Xc(o)),a()).join(`
107
- `):``,lastTail:o})},f=t=>{if(e.scrollbackMode){d(t);return}let{chunks:n,tail:r,state:i}=Dc(e.streamStore.getState().streamCommit,t);if(n.length>0){let t=n.map(t=>{let n=e.incMsgCounter();return{role:`assistant_stream`,text:t.text,lead:t.lead,id:`s-${n}`}});e.messageStoreHandle.appendMany(t,()=>`s-${e.incMsgCounter()}`)}e.streamStore.setState({streamCommit:i,streamingText:r}),(t===``||n.length>0)&&e.notify()},p=t=>{e.streamStore.setState({streamingThinking:t})};return{applyStreamText:f,applyStreamThinking:p,streamTextCoalescer:Ac(f,e.coalesceMs),streamThinkingCoalescer:Ac(p,e.coalesceMs),outputTokensThrottle:sl(e.streamStore,e.coalesceMs),resetController:()=>{t=``,n=0,r=0,i=!1}}}function i_(e,t){if(e.length===0)return[];let n=Math.max(1,t);return e.map(e=>nc(e,n))}function a_(e){let t=t=>{let n=i_(t,e.getColumns()),{text:r,hasHistory:i}=Vc(t.map((e,t)=>({role:e.role??``,lines:n[t]??[]})),e.getHasHistory());return e.setHasHistory(i),r},n=null,r=r=>{let i=t(r);if(i){if(n){n.push(i);return}e.scrollbackBuffer.write(i)}},i=i=>{if(i.length<=60&&!n){r(i);return}if(n){let e=t(i);e&&n.push(e);return}n=[t(i.slice(0,60))];let a=60,o=()=>{if(a>=i.length){let t=(n??[]).join(``);n=null,t&&e.scrollbackBuffer.write(t),e.notify();return}let r=i.slice(a,a+60);a+=60,n?.push(t(r)),setImmediate(o)};setImmediate(o)};return{commitToHistory:e=>i([e]),commitManyToHistory:i}}function o_(e){let{taskStore:t,notificationStore:n,resolvers:r,flushScrollbackIfIdle:i,paneOwnsViewport:a,setPaneOwnsViewport:o,getRouter:s=P}=e,c=null,l={},u=(e,t)=>{let n=s();n.navigate(`/dialog/plugin-panel`,{state:{panelInfo:e,onClose:()=>{n.goBack(),t?.()}}})};return{openModal:(e=>{switch(e.kind){case`select`:{let t=s();if(e.async){let n=!1;t.navigate(`/dialog/select`,{state:{title:e.title,subtitle:`Probing, please wait…`,options:[],layout:e.layout??`buttons`}}),r.select=e=>{if(e==null){n=!0;return}},(async()=>{try{let i=await e.async;if(n)return;r.select=t=>{t==null?e.onCancel?.():e.onSelect(t)},t.navigate(`/dialog/select`,{replace:!0,state:{title:i.title??e.title,subtitle:i.subtitle??e.subtitle,subtitleTone:e.subtitleTone,options:i.options,maxVisible:e.maxVisible,layout:e.layout,searchable:e.searchable,subtitleActions:e.subtitleActions,detailPlacement:e.detailPlacement,onHighlight:e.onHighlight}})}catch(i){if(n)return;r.select=()=>{},t.navigate(`/dialog/select`,{replace:!0,state:{title:e.title,subtitle:`Error: ${i instanceof Error?i.message:String(i)}`,options:[{label:`Close`,value:`close`,color:`gray`}],layout:`buttons`}})}})();return}process.env.NODE_ENV!==`production`&&t.currentPath===`/dialog/select`&&e.replace!==!0&&console.warn('[openModal] Detected re-entrant openModal({ kind: "select" }) — this pushes a new dialog stack entry instead of replacing the current one. Use the `async` field for loading→content transitions, or close the current dialog before opening a new one. See RFC-285 D2.');let n=e.replace===!0&&t.currentPath===`/dialog/select`;t.navigate(`/dialog/select`,{replace:n,state:{title:e.title,subtitle:e.subtitle,subtitleTone:e.subtitleTone,options:e.options,maxVisible:e.maxVisible,searchable:e.searchable,layout:e.layout,subtitleActions:e.subtitleActions,detailPlacement:e.detailPlacement,initialFilter:e.initialFilter,onFilterChange:e.onFilterChange,onHighlight:e.onHighlight,defaultSelectedValue:e.defaultSelectedValue}}),r.select=t=>{t==null?e.onCancel?.():e.onSelect(t)};return}case`extensionDetail`:{let t=s(),n=()=>{t.goBack()};t.navigate(`/dialog/extension`,{state:{title:e.title,meta:e.meta,metaStatus:e.metaStatus,metaSuffix:e.metaSuffix,actions:e.actions,panelInfo:e.panelInfo,info:e.info,healthStats:e.healthStats,logEntries:e.logEntries,onRefresh:e.onRefresh,dataListEntries:e.dataListEntries,fullText:e.fullText,onOpenPanel:e.panelInfo?()=>u(e.panelInfo):void 0,onAction:t=>{n(),e.onAction(t)},onClose:()=>{let r=t.stack,i=r.length>=2?r[r.length-2]?.path:void 0;n(),i!==`/dialog/extensions`&&e.onClose?.()}}});return}case`pluginPanel`:u(e.panelInfo,e.onClose);return;case`extensionsList`:{let t=s();t.navigate(`/dialog/extensions`,{state:{entries:e.entries,menuContributions:e.menuContributions,lastSelectedValue:l.value,onSelect:n=>{l.value=n,n.startsWith(`contrib:`)&&t.goBack(),e.onSelect(n)},onCancel:()=>{t.goBack(),e.onCancel?.()}}});return}case`input`:return new Promise(t=>{if(e.signal?.aborted){t(null);return}let n=!1,i=e=>{n||(n=!0,r.input===i&&(s()?.goBack(),r.input=null,r.inputAction=null),t(e))};r.input=i,e.actionButton?.onPress&&(r.inputAction=e.actionButton.onPress),e.signal?.addEventListener(`abort`,()=>i(null),{once:!0}),s().navigate(`/dialog/input`,{state:{title:e.title,description:e.description,placeholder:e.placeholder,defaultValue:e.defaultValue,mask:e.mask,actionButton:e.actionButton?{label:e.actionButton.label}:void 0}})});case`onboarding`:return new Promise(t=>{let n=!1,i=e=>{n||(n=!0,r.onboarding===i&&(s()?.navigate(`/`,{reset:!0}),r.onboarding=null),t(e))};r.onboarding=i,s().navigate(`/dialog/onboarding`,{state:{onLanguagePreview:e.onLanguagePreview}})});case`questions`:return new Promise(t=>{o(!0),r.questions=(e,n)=>{t(e?{answers:e,freeformText:n}:null)},s().navigate(`/dialog/questions`,{state:{title:e.title,questions:e.questions}})});case`confirm`:{let t=s();r.confirm=()=>e.onConfirm(),r.cancel=()=>e.onCancel?.(),r.extra=e.onExtra??null;let n=t.currentPath===`/dialog/confirm`;t.navigate(`/dialog/confirm`,{replace:n,state:{title:e.title,message:e.message,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,confirmColor:e.confirmColor,dangerous:e.dangerous,extraLabel:e.extraLabel,extraColor:e.extraColor}});return}case`permissions`:s().navigate(`/dialog/info`,{state:{title:`Permissions`,lines:e.lines}});return;case`info`:s().navigate(`/dialog/info`,{state:{title:e.title,lines:e.lines,action:e.action,lineTones:e.lineTones,dataListEntries:e.dataListEntries}});return;case`context`:s().navigate(`/pane/context`);return;case`memory`:s().navigate(`/dialog/memory`,{state:{projectIndex:e.projectIndex,userIndex:e.userIndex,onViewEntry:e.onViewEntry,onForget:e.onForget}});return;case`keybindingPanel`:s().navigate(`/dialog/keybindings`,{state:{overrides:e.overrides,onSave:e.onSave,onSaveReplace:e.onSaveReplace,onReset:e.onReset,onResetAll:e.onResetAll}});return;case`shortcutsPanel`:s().navigate(`/dialog/shortcuts`,{state:{bindings:e.shortcuts,onSave:e.onSave,onDelete:e.onDelete}});return;case`fileViewer`:s().navigate(`/viewer/file`,{state:{path:e.path,content:e.content,preTruncated:e.preTruncated,onDismiss:e.onDismiss}});return;case`helpViewer`:s().navigate(`/viewer/help`,{state:{title:e.title,lines:e.lines,onDismiss:e.onDismiss}});return;case`progress`:{let t=s();c={title:e.title,phases:e.phases,phaseIndex:0,phaseStatuses:[`active`,`pending`,`pending`,`pending`],percent:0,detail:e.phases[0]??``,status:`running`,onDismiss:()=>{c=null}},t.navigate(`/dialog/progress`,{state:c});return}case`wizard`:{let t=s();if(t?.currentPath===`/dialog/wizard`)return;t?.navigate(`/dialog/wizard`,{state:{...e,onDismiss:()=>{t.navigate(`/`,{reset:!0}),e.onDismiss?.()},onComplete:()=>{t.navigate(`/`,{reset:!0}),e.onComplete?.()}}});return}case`a2uiForm`:{let t=s();t.navigate(`/dialog/a2ui-form`,{state:{component:e.component,onAction:(n,r,i)=>{t.goBack(),e.onAction(n,r,i)},onDismiss:()=>{t.goBack()}}});return}default:return e}}),togglePane:(e,r)=>{let a=s();if(!a)return;let o=e=>a.currentPath===e||a.currentPath.startsWith(e+`/`),c=e=>{a.currentPath===e?a.goBack():a.navigate(`/`,{reset:!0})};switch(e){case`history`:gu()?.();return;case`backgroundTasks`:{let e=`/pane/delegates`;r??!o(e)?a.navigate(e):(c(e),t.setState({backgroundOutput:null}),i());return}case`draftPane`:{let e=`/pane/draft`;r??!o(e)?a.navigate(e):c(e);return}case`queuePane`:{let e=`/pane/queue`;r??!o(e)?a.navigate(e):c(e);return}case`notifications`:r??a.currentPath!==`/pane/notifications`?a.navigate(`/pane/notifications`):(a.goBack(),n.setState({notifications:n.getState().notifications.map(e=>({...e,read:!0}))}));return;case`schedulePane`:r??a.currentPath!==`/pane/schedule`?a.navigate(`/pane/schedule`):a.goBack();return;case`perf`:r??a.currentPath!==`/pane/perf`?a.navigate(`/pane/perf`):a.goBack();return;case`cacheStats`:r??a.currentPath!==`/pane/cache`?a.navigate(`/pane/cache`):a.goBack();return;case`compactionLog`:{let e=`/pane/compaction-log`;r??!o(e)?a.navigate(e):c(e);return}case`gallery`:r??a.currentPath!==`/pane/gallery`?a.navigate(`/pane/gallery`):a.goBack();return;case`proxy`:r??a.currentPath!==`/pane/proxy`?a.navigate(`/pane/proxy`):a.goBack();return;case`prompts`:{let e=`/pane/prompts`;r??!o(e)?a.navigate(e):c(e);return}default:return e}},getNotifyStats:e.getNotifyStats,isFullScreenPaneActive:()=>a(),getCurrentPath:()=>s()?.currentPath??`/`,isForcedUpgradeActive:()=>e.taskStore.getState().forcedUpgrade!==null,openAlert:e=>{r.alert=()=>e.onOk?.(),s().navigate(`/dialog/alert`,{state:{title:e.title,message:e.message,okLabel:e.okLabel}})},openPrompt:e=>new Promise(t=>{r.prompt=t,s().navigate(`/dialog/prompt`,{state:{title:e.title,message:e.message,placeholder:e.placeholder,initialValue:e.initialValue,submitLabel:e.submitLabel,cancelLabel:e.cancelLabel}})}),updateProgress(e){if(!c)return;let t=s();if(!t){c=null;return}c={...c,...e},t.navigate(`/dialog/progress`,{replace:!0,state:c})}}}function s_(e){let{taskStore:t,state:n,notify:r,showToast:i,getRouter:a=P}=e;return{startShellExecution:e=>{n.shellTimer&&clearTimeout(n.shellTimer),t.setState({shellExecution:{command:e,output:``,status:`running`,exitCode:null}}),a()?.navigate(`/pane/shell`),r()},appendShellOutput:e=>{t.getState().shellExecution&&(t.setState({shellExecution:{...t.getState().shellExecution,output:t.getState().shellExecution.output+e}}),r())},finishShellExecution:(e,n,i)=>{t.getState().shellExecution&&(t.setState({shellExecution:{...t.getState().shellExecution,status:e===null?`error`:`done`,exitCode:e,terminated:i,output:n?t.getState().shellExecution.output+n:t.getState().shellExecution.output}}),r())},dismissShellExecution:()=>{n.shellTimer&&clearTimeout(n.shellTimer),t.setState({shellExecution:null}),a()?.currentPath===`/pane/shell`&&a()?.goBack(),n.shellTimer=null,r()},copyShellOutput:()=>{let e=t.getState().shellExecution;e&&(Yn(e.output),i(B.t(`shell.copiedTitle`),B.t(`shell.copiedBody`)))},getShellExecutionSnapshot:()=>{let e=t.getState().shellExecution;return e?{command:e.command,output:e.output,exitCode:e.exitCode,terminated:e.terminated}:null}}}function c_(e){let{notificationStore:t,state:n,counters:r,notify:i,getRouter:a=P}=e;return{showToast:(e,o)=>{n.toastTimer&&clearTimeout(n.toastTimer);let s={id:++r.toast,title:e,content:o};t.setState({toast:s}),qr(a(),Ir,!0),n.toastTimer=setTimeout(()=>{t.setState({toast:null}),n.toastTimer=null,qr(a(),Ir,!1),i()},km),i()},showRetryDialog:(e,n,r,o,s,c,l)=>{t.setState({retryCountdown:{attempt:e,max:n,delayMs:r,accelerate:o,reason:c,onExpired:()=>{t.setState({retryCountdown:null}),qr(a(),Rr,!1),i(),s()},onStop:l?()=>{t.setState({retryCountdown:null}),qr(a(),Rr,!1),i(),l()}:void 0}}),qr(a(),Rr,!0),i()},clearRetryDialog:()=>{t.setState({retryCountdown:null}),qr(a(),Rr,!1),i()},showErrorRetry:e=>{let n=e=>()=>{t.setState({errorRetry:null}),qr(a(),zr,!1),i(),e()};t.setState({errorRetry:{...e,actions:e.actions.map(e=>({...e,run:n(e.run)})),focusIndex:0,exhausted:e.exhausted??!1,onExpired:n(e.onExpired),onCancel:n(e.onCancel)}}),qr(a(),zr,!0),i()},clearErrorRetry:()=>{t.setState({errorRetry:null}),qr(a(),zr,!1),i()},pushNotification:(e,n,a=`system`,o=`info`)=>{t.setState({notifications:[{id:++r.notify,source:a,level:o,title:e,message:n,timestamp:Date.now(),read:!1},...t.getState().notifications.slice(0,49)]}),i()},dismissNotification:e=>{t.setState({notifications:t.getState().notifications.filter(t=>t.id!==e)}),t.getState().notifications.length===0&&a()?.goBack(),i()},markAllNotificationsRead:()=>{t.setState({notifications:t.getState().notifications.map(e=>({...e,read:!0}))}),i()}}}function l_(e){let{taskStore:t,messageStoreHandle:n,counters:r,pendingSteerMsgIds:i,scrollbackMode:a,commitToHistory:o,scanA2uiButtons:s,notify:c}=e;return{setPendingEcho:(e,r)=>{if(t.setState({pendingEcho:{text:e,mode:r}}),!a){let e=n.store.getState().messages.at(-1);e?.id?n.patchById(e.id,{streaming:!0}):n.patchLast({streaming:!0})}c()},clearPendingEcho:()=>{let e=t.getState().pendingEcho;if(e){if(a&&(o({role:`user`,content:e.text}),s()),t.setState({pendingEcho:null}),!a){let e=n.store.getState().messages.at(-1);e?.id?n.patchById(e.id,{streaming:!1}):n.patchLast({streaming:!1})}c()}},withdrawPendingEcho:()=>{if(t.getState().pendingEcho){if(t.setState({pendingEcho:null}),!a){let e=`u-${r.msg}`,t=n.store.getState().messages.findLastIndex(t=>t.id===e);if(t!==-1){let e=[...n.store.getState().messages];e.splice(t,1),n.store.setState({messages:e})}else n.removeLast()}c()}},setPendingSteer:(e,o)=>{if(t.setState({pendingSteers:[...t.getState().pendingSteers,{text:e,id:o}]}),!a){r.msg++;let t=`u-${r.msg}`;i.set(o,t),n.append({role:`user`,content:e,streaming:!0,id:t},t)}c()},commitPendingSteer:e=>{let r=t.getState().pendingSteers,l=r.find(t=>t.id===e);if(l){if(a)o({role:`user`,content:l.text}),s();else{let t=i.get(e);t&&(n.patchById(t,{streaming:!1}),i.delete(e))}t.setState({pendingSteers:r.filter(t=>t.id!==e)}),c()}},withdrawPendingSteer:e=>{let r=t.getState().pendingSteers;if(r.some(t=>t.id===e)){if(t.setState({pendingSteers:r.filter(t=>t.id!==e)}),!a){let t=i.get(e);if(t){let r=n.store.getState().messages.filter(e=>e.id!==t);n.store.setState({messages:r}),i.delete(e)}}c()}},clearPendingSteers:()=>{let e=t.getState().pendingSteers;if(e.length!==0){if(a){for(let t of e)o({role:`user`,content:t.text});s()}else for(let t of e){let e=i.get(t.id);e&&(n.patchById(e,{streaming:!1}),i.delete(t.id))}t.setState({pendingSteers:[]}),c()}}}}function u_(e){let{streamStore:t,streamTextCoalescer:n,streamThinkingCoalescer:r,outputTokensThrottle:i,perfStore:a,compactionLogStore:o,drainQueue:s,getRouterRef:c,notify:l}=e;return{pushEngineEvent:e=>{switch(e.kind){case`agentProcessing`:t.setState({processing:e.value}),e.value||s();break;case`streamingText`:n.push(e.text,e.text===``);break;case`streamingThinking`:r.push(e.text,e.text===``);break;case`activeTool`:t.setState({activeTool:e.name});break;case`spinnerMode`:t.setState(e.mode===`requesting`?{spinnerMode:e.mode,outputTokensThisTurn:0}:{spinnerMode:e.mode});break;case`outputTokensThisTurn`:i.push(e.n);break;case`maxOutputTokens`:t.setState({maxOutputTokens:e.n});break;case`toolBudget`:t.setState({toolTurnCount:e.toolTurnCount,maxToolTurns:e.maxToolTurns,promptOutputTokens:e.outputTokens??0,promptOutputTokenBudget:e.outputTokenBudget??0});break;case`perf`:{let t=!1;e.memory&&(a.setMemory(e.memory),t=!0),e.notify&&(a.setNotify(e.notify),t=!0),e.pluginMetrics&&(a.setPluginMetrics(e.pluginMetrics),t=!0),e.indicatorLevel&&a.setIndicatorLevel(e.indicatorLevel),t&&l();break}case`compactionLog`:switch(e.entryKind){case`compact`:o.recordCompaction(e.before,e.after,e.summary);break;case`prune`:o.recordPrune(e.tokensSaved,e.prunedCount??0);break;case`history_capped`:o.recordHistoryCapped(e.removedCount);break}c()?.currentPath.startsWith(`/pane/compaction-log`)&&l();break}}}}function d_(e){let{modalHandleMethods:t,permResolvers:n,counters:r,taskStore:i,getRouterRef:a,notify:o,onConfirmResolve:s}=e;return{...t,resolveConfirm:e=>{s(e)},requestPermission:e=>{let t=`perm-${++r.perm}`;return new Promise(r=>{n.set(t,r);let s={id:t,tool:e.tool,input:e.input,risk:e.risk,description:e.description,alwaysAllowLabel:e.alwaysAllowLabel};i.setState({pendingPermission:s}),o(),a()?.navigate(`/dialog/permission`,{state:s})})}}}function f_(e){let{pendingMethods:t,restoreInputRef:n,pasteBridgeRef:r}=e;return{...t,restoreInputText:e=>{n.current?.fill(e)},hydratePaste:e=>{r.current?.hydrate(e)},exportPaste:()=>r.current?.export()??null}}function p_(e){let{lifecycleFlags:t,scrollbackBuffer:n,streamTextCoalescer:r,streamThinkingCoalescer:i,notifyScheduler:a,state:o,registryUnregisterAll:s,unmount:c,windowMode:l,scopedViewport:u,hasHistoryRef:d,resetStreamController:f,messageStoreHandle:p,scrollStoreHandle:m,streamStoreHandle:h,taskStoreHandle:g,notificationStoreHandle:_,perfStore:v,contextStore:y,budgetStore:b,taskStore:x,notificationStore:S,a2uiButtonsRef:C,resetStatusWidgetBreakers:w,getRouterRef:T,overlayPaths:E,syncOverlayRoute:ee,notify:D,i18next:te,detectLanguage:ne,setLanguage:O,getThemeRef:k,setTerminalTitle:re}=e;return{stop:()=>{if(!t.stopped){t.stopped=!0,t.unmounted=!0,e.detachSessionSource?.(),s();try{n.flush()}catch{}r.cancel(),i.cancel(),a.cancel(),o.toastTimer&&=(clearTimeout(o.toastTimer),null),c(),e.onStop?.()}},clearSession:()=>{l||n.write(u?`\x1B[2J\x1B[H`:`\x1B[2J\x1B[3J\x1B[H`),d.set(!1),f(),p.reset(),m.toBottom(),h.reset(),g.reset(),_.reset(),v.reset(),y.reset(),b.reset(),x.setState({tasks:[]}),x.setState({tasksTitle:void 0}),x.setState({turnBoundaries:[]}),x.setState({editedFiles:[]}),x.setState({subagentsAccum:new Map}),S.setState({toast:null}),S.setState({retryCountdown:null}),S.setState({errorRetry:null});let e=T();if(e)for(let t of E)ee(e,t,!1);S.setState({providerUsage:null}),o.toastTimer&&=(clearTimeout(o.toastTimer),null),C.current=[],s(),w(),e?.currentPath!==`/home`&&e?.navigate(`/home`,{reset:!0}),D()},setLanguage:e=>{let t=e===`auto`?ne():e;return te.changeLanguage(t),O(t),D(),t},setPresetSelection:e=>{k()?.setPresetSelection(e)},setTerminalTitle:e=>re(e)}}function m_(e){let{messageStoreHandle:t,notify:n}=e,r=null,i=()=>{let e=r;e&&(r=null,e.stop())};return{attachSessionSource:async e=>{if(r)throw Error(`attachSessionSource: a session data source is already attached`);return r={stop:await e.start({messageStore:{setState:e=>t.store.setState(e)}})},n(),i},detachSessionSource:i}}function h_(e){let{scrollbackMode:t,commitToHistory:n,commitManyToHistory:r,messageStoreHandle:i,counters:a,getTurnMessagesFor:o,taskStore:s,notify:c,scanA2uiButtons:l}=e;return{pushMessage:e=>{if(t){n(e),c(),l();return}a.msg++,i.append(e,`m-${a.msg}`),c(),l()},pushMessages:e=>{if(e.length!==0){if(t){r(e),c(),l();return}i.appendMany(e,()=>(a.msg++,`m-${a.msg}`)),c(),l()}},echoUserInput:(e,r)=>{let o=r?.pending===!0;if(t){if(o)return;n({role:`user`,content:e}),l();return}a.msg++;let s=`u-${a.msg}`;i.append({role:`user`,content:e,streaming:o,id:s},s),c(),l()},getTurnMessages:o,getTurnBoundaries:()=>s.getState().turnBoundaries,getEditedFiles:()=>s.getState().editedFiles}}function g_(e){let{streamMethods:t,taskStore:n,notificationStore:r,notificationMethods:i,getRouterRef:a,syncOverlayRoute:o,overlayPause:s,drainQueue:c,notify:l}=e;return{pushEngineEvent:t.pushEngineEvent,hasQueuedFollowUp:()=>n.getState().queued.length>0,takeLastQueuedFollowUp:()=>{let e=n.getState().queued,t=e.at(-1);if(t)return n.setState({queued:e.slice(0,-1)}),l(),t},enqueueFollowUp:(e,t=`send`)=>{n.setState({queued:[...n.getState().queued,{text:e,mode:t}]}),l(),c()},setPauseDialog:e=>{r.setState({pauseDialog:e}),o(a(),s,!!e),l()},showRetryDialog:i.showRetryDialog,clearRetryDialog:i.clearRetryDialog,showErrorRetry:i.showErrorRetry,clearErrorRetry:i.clearErrorRetry}}function __(e){let{modalHandleMethods:t,taskStore:n,getRouterRef:r,syncOverlayRoute:i,overlayServices:a,flushScrollbackIfIdle:o,notify:s}=e;return{togglePane:t.togglePane,setServices:e=>{i(r(),a,e),s()},switchToSubagentContext:e=>{n.setState({subagentContext:e});let t=r();e&&t?.currentPath!==`/subagent`&&t?.navigate(`/subagent`),o(),s()},toggleEditedFiles:e=>{if(n.getState().editedFiles.length===0)return;let t=r();if(!t)return;let i=`/pane/edited-files`,a=t.currentPath===i||t.currentPath.startsWith(i+`/`),o=e??!a;o&&!a?t.navigate(i):!o&&a&&t.currentPath===i&&t.goBack()},clearEditedFiles:()=>{n.setState({editedFiles:[]}),s()},removeQueuedAt:e=>{n.setState({queued:n.getState().queued.filter((t,n)=>n!==e)}),s()},clearQueue:()=>{n.setState({queued:[]}),s()},moveQueuedItem:(e,t)=>{let r=e,i=e+t;if(i<0||i>=n.getState().queued.length||r<0||r>=n.getState().queued.length)return;let a=[...n.getState().queued],[o]=a.splice(r,1);o&&a.splice(i,0,o),n.setState({queued:a}),s()}}}function v_(e){let{taskStore:t,taskStoreHandle:n,registerPlugin:r,registryUnregister:i,computeStalePluginIds:a,getRegistrySnapshot:o,getStatusItems:s,getStatusWidgets:c,resetStatusWidgetBreakers:l,registryRef:u,a2uiButtonsRef:d,subagentRestoreFields:f,notify:p}=e;return{setPluginRegistrations:e=>{let n=new Set;for(let t of e)n.add(t.pluginId),r(t.pluginId,t);for(let e of a(n,o()))i(e);l(),t.setState({pluginStatusItems:s(),statusWidgets:c()}),p()},unregisterPluginSource:e=>{i(e),l(),t.setState({pluginStatusItems:s(),statusWidgets:c()}),p()},setPluginStatusItems:e=>{n.actions.setPluginStatusItems(e.map(e=>({id:e.icon,text:e.text})))},setCommands:e=>{t.setState({commands:e}),r(`cli-commands`,{pluginId:`cli-commands`,commands:[...e]})},registerArgumentSuggester:(e,t)=>{u?.current&&u.current.registerArgumentSuggester(e,t)},setA2uiButtons:e=>{d.current=e},addSubagent:e=>{let n=new Map(t.getState().subagentsAccum);n.set(e.id,{id:e.id,command:e.name,type:`agent-session`,startedAt:e.startedAt??Date.now(),...f(e.status)}),t.setState({subagentsAccum:n}),p()},getSubagents:()=>t.getState().subagentsAccum,clearSubagents:()=>{t.setState({subagentsAccum:new Map}),p()}}}function y_(e){let{notificationMethods:t,notifyScheduler:n,taskStore:r,modalHandleMethods:i,shellMethods:a,contextStore:o,getRouterRef:s,scrollStoreHandle:c}=e;return{pushNotification:t.pushNotification,dismissNotification:t.dismissNotification,markAllNotificationsRead:t.markAllNotificationsRead,getNotifyStats:()=>n.getStats(),getCurrentPath:()=>s()?.currentPath??`/`,isForcedUpgradeActive:()=>r.getState().forcedUpgrade!==null,isFullScreenPaneActive:()=>i.isFullScreenPaneActive(),getShellExecutionSnapshot:a.getShellExecutionSnapshot,addContextTurn:e=>o.addTurn(e),markContextTurns:e=>o.markTurns(e),showToast:t.showToast,setTopView:e=>{s()?.navigate(`/`,{reset:!0}),c.toBottom(),c.setTotalLines(0)}}}function b_(e){let t=e.intervalMs??5e3,n=e.minIntervalMs??2e3,{stdout:r,enabled:i}=e,a=null,o=0,s=()=>{try{r.write(`\x1B]11;?\x07`),o=Date.now()}catch{}};return{start:()=>{i&&r.isTTY&&(a||(s(),a=setInterval(s,t),a.unref?.()))},stop:()=>{a&&=(clearInterval(a),null)},pollNow:()=>{i&&r.isTTY&&(Date.now()-o<n||s())}}}function x_(e,t,n,r,i){return{onPermissionDecision:(e,n,i)=>{let a=t.get(e);t.delete(e),r.setState({pendingPermission:null}),P()?.goBack(),a?.({approved:n,mode:i})},onSelectResolve:e=>{let t=n.select;n.select=null,P()?.goBack(),t?.(e)},onInputResolve:e=>{let t=n.input;t&&(n.input=null,P()?.currentPath===`/dialog/input`&&P()?.goBack(),t(e))},onOnboardingResolve:e=>{n.onboarding?.(e)},onInputAction:()=>{let e=n.inputAction;e?.()},onQuestionsResolve:(e,t)=>{let r=n.questions;r&&(i?.(!1),n.questions=null,P()?.currentPath===`/dialog/questions`&&P()?.goBack(),r(e,t))},onConfirmResolve:(e,t)=>{let r=n.confirm,i=n.cancel,a=n.extra;n.confirm=null,n.cancel=null,n.extra=null,P()?.currentPath===`/dialog/confirm`&&P()?.goBack(),!(!r&&!i&&!a)&&(t?a?.():e?r?.():i?.())},onAlertResolve:()=>{let e=n.alert;n.alert=null,P()?.goBack(),e?.()},onPromptResolve:e=>{let t=n.prompt;n.prompt=null,P()?.goBack(),t?.(e)},getTurnMessagesFor:t=>{let n=r.getState().turnBoundaries,i=e.getMessages(),a=t>1?n[t-2]??0:0,o=n[t-1]??i.length;return i.slice(a,o)}}}function S_(e,t,n,r,i){return()=>{if(t()||i.getState().queued.length===0)return;let[e,...a]=i.getState().queued;i.setState({queued:a}),n(),queueMicrotask(()=>r?.(e.text,e.mode))}}function C_(e){let[,t]=K(0);V.useEffect(()=>{let n=()=>t(e=>e+1);return e.state.listener=n,()=>{e.state.listener===n&&(e.state.listener=null)}},[]);let n=V.useCallback(()=>{Ql(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),r=V.useCallback(()=>{P()?.goBack(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),i=V.useCallback(()=>{P()?.currentPath===`/subagent`&&P()?.goBack(),e.opts.onSubagentExit?.(),e.taskStore.setState({subagentContext:null}),e.flushScrollbackIfIdle(),e.notify()},[]),a=V.useCallback(()=>{e.taskStore.getState().queued.length!==0&&(e.taskStore.setState({queued:e.taskStore.getState().queued.slice(0,-1)}),e.notify())},[]),o=V.useCallback(()=>{P()?.currentPath===`/dialog/info`&&P()?.goBack(),e.notify()},[]),s=V.useCallback(()=>{P()?.currentPath===`/dialog/memory`&&P()?.goBack(),e.notify()},[]),c=V.useCallback(()=>{P()?.currentPath===`/dialog/keybindings`&&P()?.goBack(),e.notify()},[]),l=V.useCallback(()=>{P()?.currentPath===`/dialog/shortcuts`&&P()?.goBack(),e.notify()},[]),u=V.useCallback(()=>{P()?.navigate(`/pane/context/detail`)},[]),d=V.useCallback(()=>{P()?.currentPath===`/pane/context/detail`&&P()?.goBack()},[]),f=V.useCallback(()=>{let e=P();e?.currentPath.startsWith(`/pane/context`)&&e.navigate(`/`,{reset:!0})},[]),p=V.useCallback(()=>{let e=P();e&&(e.currentPath===`/pane/notifications`?e.goBack():e.navigate(`/pane/notifications`))},[]),m=V.useCallback(t=>{e.notificationStore.setState({notifications:e.notificationStore.getState().notifications.filter(e=>e.id!==t)}),e.notificationStore.getState().notifications.length===0&&P()?.goBack()},[]),h=V.useCallback(()=>{e.notificationStore.setState({notifications:e.notificationStore.getState().notifications.map(e=>({...e,read:!0}))}),P()?.goBack()},[]),g=V.useCallback(()=>{e.opts.onSubmit?.(`/upgrade`,`send`)},[]),_=V.useCallback(()=>{e.stopRef.current?.()},[]),v=V.useCallback((t,n)=>{e.state.toastTimer&&clearTimeout(e.state.toastTimer);let r={id:++e.toastCounterRef.current,title:t,content:n};e.notificationStore.setState({toast:r}),qr(P(),Ir,!0),e.state.toastTimer=setTimeout(()=>{e.notificationStore.setState({toast:null}),e.state.toastTimer=null,qr(P(),Ir,!1),e.notify()},km),e.notify()},[]),y=V.useCallback(()=>{e.state.toastTimer&&(clearTimeout(e.state.toastTimer),e.state.toastTimer=null),e.notificationStore.getState().toast&&(e.notificationStore.setState({toast:null}),qr(P(),Ir,!1),e.notify())},[]),b=e.scrollbackMode?V.useCallback(t=>{e.inkWriteRef.current=t},[]):void 0,x=e.opts.welcome?.cwd?V.useCallback(async t=>{let{content:n,truncated:r}=await en(fn(e.opts.welcome.cwd,t));return{content:n,truncated:r}},[]):void 0,S=V.useCallback(()=>{if(e.taskStore.getState().editedFiles.length===0)return;let t=P();if(!t)return;let n=`/pane/edited-files`;t.currentPath===n||t.currentPath.startsWith(n+`/`)?t.navigate(`/`,{reset:!0}):t.navigate(n,{replace:!0})},[]),C=V.useCallback(()=>{if(e.taskStore.getState().subagentsAccum.size===0)return;let t=P();t&&(t.currentPath===`/pane/subagents`?t.navigate(`/`,{reset:!0}):t.navigate(`/pane/subagents`,{replace:!0}))},[]),w=V.useCallback(()=>{if(e.taskStore.getState().scheduleTasks.length===0)return;let t=P();t&&(t.currentPath===`/pane/schedule`?t.navigate(`/`,{reset:!0}):t.navigate(`/pane/schedule`,{replace:!0}))},[]),T=V.useCallback(e=>{let t=P();if(!t)return;let n=`/pane/draft`,r=t.currentPath===n||t.currentPath.startsWith(n+`/`),i=e??!r;i&&!r?t.navigate(n,{replace:!0}):!i&&r&&t.navigate(`/`,{reset:!0})},[]),E=V.useCallback(e=>{let t=P();if(!t)return;let n=`/pane/queue`,r=t.currentPath===n||t.currentPath.startsWith(n+`/`),i=e??!r;i&&!r?t.navigate(n,{replace:!0}):!i&&r&&t.navigate(`/`,{reset:!0})},[]),ee=V.useCallback(()=>{let e=P();if(!e)return;let t=`/pane/prompts`;e.currentPath===t||e.currentPath.startsWith(t+`/`)?Ql():e.navigate(t,{replace:!0})},[]),D=V.useCallback(t=>{e.opts.onDraftSave?.(t)},[]),te=V.useCallback(t=>{let n=e.taskStore.getState().drafts[t];n&&e.opts.onDraftDelete?.(n.id)},[]),ne=V.useCallback(t=>{e.opts.onDraftDeleteMany?.(t)},[]),O=V.useCallback(t=>{e.taskStore.setState({queued:e.taskStore.getState().queued.filter((e,n)=>n!==t)}),e.notify()},[]),k=V.useCallback((t,n)=>{let r=t,i=t+n;if(i<0||i>=e.taskStore.getState().queued.length||r<0||r>=e.taskStore.getState().queued.length)return;let a=[...e.taskStore.getState().queued],[o]=a.splice(r,1);o&&a.splice(i,0,o),e.taskStore.setState({queued:a}),e.notify()},[]),re=V.useCallback((t,n)=>{let r=e.taskStore.getState().queued;if(t<0||t>=r.length)return;let i=[...r],a=i[t];a&&(i[t]={...a,text:n}),e.taskStore.setState({queued:i}),e.notify()},[]),A=V.useCallback((t,n)=>{let r=e.taskStore.getState().queued;if(t<0||t>=r.length)return;let i=r[t].mode;e.taskStore.setState({queued:r.filter((e,n)=>n!==t)}),e.notify(),e.opts.onQueueSendNow?.(n,i)},[]),ie=V.useCallback(t=>{let n=e.notificationStore.getState().errorRetry;n&&(e.notificationStore.setState({errorRetry:{...n,focusIndex:t}}),e.notify())},[]),j=V.useCallback(t=>{let n=e.notificationStore.getState().pulseSurvey;n&&(e.notificationStore.setState({pulseSurvey:{...n,...t}}),e.notify())},[]),ae=V.useCallback(()=>{if(e.taskStore.getState().backgroundTasks.length===0)return;let t=P();if(!t)return;let n=`/pane/delegates`;t.currentPath===n||t.currentPath.startsWith(n+`/`)?(t.navigate(`/`,{reset:!0}),e.taskStore.setState({backgroundOutput:null}),e.flushScrollbackIfIdle()):t.navigate(n,{replace:!0})},[]),oe=V.useCallback(()=>{e.state.shellTimer&&clearTimeout(e.state.shellTimer),e.taskStore.setState({shellExecution:null}),e.state.shellTimer=null,P()?.currentPath===`/pane/shell`&&P()?.goBack(),e.notify()},[]),M=V.useCallback(()=>{let t=e.taskStore.getState().shellExecution;t&&(Yn(t.output),v(B.t(`shell.copiedTitle`),B.t(`shell.copiedBody`)))},[]);return V.useEffect(()=>{let t=null,n=()=>{t&&clearTimeout(t),t=setTimeout(()=>{let t=e.opts.columns||(e.stdout.columns>0?e.stdout.columns:process.stdout.columns>0?process.stdout.columns:80),n=e.opts.rows||(e.stdout.rows>0?e.stdout.rows:process.stdout.rows>0?process.stdout.rows:24);(t!==e.columnsRef.current||n!==e.rowsRef.current)&&(e.columnsRef.current=t,e.rowsRef.current=n,e.notify())},100)};return e.stdout.on(`resize`,n),()=>{t&&clearTimeout(t),e.stdout.off(`resize`,n)}},[]),V.createElement(dg,{columns:e.columnsRef.current,rows:e.rowsRef.current,registerWrite:e.scrollbackMode?b:void 0,maxPreviewRows:e.scrollbackMode?1:void 0,hasHistory:e.hasHistoryRef.current,messages:e.messageStore.getState().messages,scrollStore:e.scrollStore,loadHistory:e.opts.loadHistory,messageStore:e.messageStoreHandle,windowMode:e.windowMode,scrollbackMode:e.scrollbackMode,shadow:e.opts.shadow??!1,language:e.languageRef.current,systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,keybindingOverrides:e.opts.keybindingOverrides,onCyclePermissionMode:e.opts.onCyclePermissionMode,pluginInput:e.opts.pluginInput,readFileContent:x,getTurnMessages:e.getTurnMessagesFor,editedFilesOpen:!1,onToggleEditedFiles:S,subagentsOpen:!1,onToggleSubagents:C,onToggleSchedule:w,initialHistory:e.opts.initialHistory,externalHistoryCommands:e.opts.externalHistoryCommands,onHistoryPush:e.opts.onHistoryPush,residencyGovernor:e.opts.residencyGovernor,resolveWholeFileDiff:e.opts.resolveWholeFileDiff,restoreInputRef:e.restoreInputRef,pasteBridgeRef:e.pasteBridgeRef,scheduleOpen:!1,draftOpen:!1,onToggleDraftPane:T,onDraftSave:D,onDraftDelete:te,onDraftDeleteMany:ne,onSigilSelect:e.opts.onSigilSelect,queueOpen:!1,onToggleQueuePane:E,onTogglePrompts:ee,onQueueDelete:O,onQueueMove:k,onQueueEditText:re,onQueueSendNow:A,pendingEcho:e.taskStore.getState().pendingEcho,onErrorRetryFocusChange:ie,onPulseSurveyChange:j,backgroundTasksOpen:!1,onToggleDelegates:ae,onBackgroundClose:n,onBackgroundKill:e.opts.onBackgroundKill,onBackgroundViewOutput:e.opts.onBackgroundViewOutput,onBackgroundOutputClose:r,onBackgroundApply:e.opts.onBackgroundApply,onBackgroundSwitch:e.opts.onBackgroundSwitch,onBackgroundDelete:e.opts.onBackgroundDelete,onExitSubagentContext:i,onPaneOwnsViewportChange:e.scrollbackMode?e.setPaneOwnsViewport:void 0,onFocusOwnerChange:e.scrollbackMode?e.setFocusOwnerForBuffer:void 0,onScrollActiveChange:e.setScrollActive,onDelegateSupply:e.opts.onDelegateSupply,welcome:e.opts.welcome,onSessionSelect:e.opts.onSessionSelect,budgetStore:e.budgetStore,contextStore:e.contextStore,notificationStore:e.notificationStoreHandle,perfStore:e.perfStore,onPerfDismiss:()=>{P()?.currentPath===`/pane/perf`&&P()?.goBack()},cacheStore:e.cacheStore,onCacheDismiss:()=>{P()?.currentPath===`/pane/cache`&&P()?.goBack()},proxyStore:e.proxyStore,proxyOpen:!1,onProxyDismiss:()=>{P()?.goBack()},onProxyOpenModal:e.proxyOpenModal,onProxySubmitUrl:e.opts.onProxySubmitUrl,onProxyToggleEnabled:e.opts.onProxyToggleEnabled,onProxyClear:e.opts.onProxyClear,compactionLogStore:e.compactionLogStore,onCompactionLogDismiss:()=>{let e=P();e?.currentPath.startsWith(`/pane/compaction-log`)&&e.navigate(`/`,{reset:!0})},galleryStore:e.galleryStore,onGalleryDismiss:()=>{P()?.currentPath===`/pane/gallery`&&P()?.goBack()},streamStore:e.streamStoreHandle,taskStore:e.taskStoreHandle,initialPath:e.opts.initialPath,onPerfRefresh:e.opts.onPerfRefresh,onSubmit:e.submitOrQueue,onInterrupt:e.opts.onInterrupt,onWithdrawPending:e.opts.onWithdrawPending,onWithdrawSteer:e.opts.onWithdrawSteer,onPopQueued:a,onPermissionDecision:e.onPermissionDecision,onSelectResolve:e.onSelectResolve,onInputResolve:e.onInputResolve,onOnboardingResolve:e.onOnboardingResolve,onInputAction:e.onInputAction,onQuestionsResolve:e.onQuestionsResolve,onConfirmResolve:e.onConfirmResolve,onAlertResolve:e.onAlertResolve,onPromptResolve:e.onPromptResolve,onInfoDismiss:o,onMemoryDismiss:s,onKeybindingPanelDismiss:c,onShortcutsDialogDismiss:l,onViewDetails:u,onBackToContextPane:d,onContextDismiss:f,notificationsOpen:!1,onToggleNotifications:p,onDismissNotification:m,onCloseNotifications:h,onUpgrade:g,onCancelUpgrade:_,onToast:v,onDismissToast:y,registryRef:e.registryRef,shellBackendRef:e.shellBackendRef,shellExecution:e.taskStore.getState().shellExecution,onShellAbort:e.opts.onInterrupt,onShellDismiss:oe,onShellCopyOutput:M,onShellAskAi:e.opts.onShellAskAi,a2uiButtons:e.a2uiButtonsRef.current,onA2uiAction:e.a2uiActionRef.current})}function w_(){let e=Buffer.alloc(0);return t=>{let n=F(t),r=e.length?Buffer.concat([e,n]):n;e=Buffer.alloc(0);let i=r.length;i>=2&&r[i-2]===27&&r[i-1]===91&&(e=Buffer.from(r.subarray(i-2)),i-=2);let a,o=[],s=0;for(;s<i;){if(r[s]===27&&r[s+1]===91&&(r[s+2]===73||r[s+2]===79)){a=r[s+2]===73,s+=3;continue}o.push(r[s]),s++}return{focused:a,rest:Buffer.from(o)}}}var T_=class{pending=null;feed(e){let t=F(e),n=this.pending?Buffer.concat([this.pending,t]):t;this.pending=null;let r=[],i=null,a=0;for(;a<n.length;){let e=n.indexOf(`\x1B]`,a,`latin1`);if(e<0){a<n.length&&r.push(n.slice(a));break}e>a&&r.push(n.slice(a,e));let t=n.indexOf(7,e),o=n.indexOf(`\x1B\\`,e,`latin1`),s=-1,c=0;if(t>=0&&(o<0||t<o)?(s=t,c=1):o>=0&&(s=o,c=2),s<0){let t=n.slice(e);t.length>64?r.push(t):this.pending=t;break}let l=E_(n.slice(e,s).toString(`latin1`));l&&(i=l),a=s+c}return{keys:r.length>0?Buffer.concat(r):Buffer.alloc(0),osc11:i}}};function E_(e){let t=e.match(/\]11;rgb:([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)/);if(!t)return null;let n=parseInt(t[1].slice(0,2),16),r=parseInt(t[2].slice(0,2),16),i=parseInt(t[3].slice(0,2),16);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)?null:{r:n,g:r,b:i}}function D_(e,t,n){return .2126*e+.7152*t+.0722*n<128?`dark`:`light`}function O_(e){let{stdin:t,renderStdout:n,onInterrupt:r,onFocusChange:i,onTerminalBgDetected:a,onMouseWheel:o,onMouseDrag:s}=e,c=[],l=process.env.OTTO_TUI_MOUSE===`0`,u=(typeof o==`function`||typeof s==`function`)&&!!t.isTTY,d=u&&!l,f=u?Kg():null,p=d,m;if(d)try{n.write(Bg)}catch{}u&&(m=()=>{try{n.write(Vg)}catch{}},process.once(`exit`,m));let h=e=>{if(!u)return!1;if(e===p)return p;p=e;try{n.write(e?Bg:Vg)}catch{}return p},g=new T_,_=e=>{if(!a)return F(e);let{keys:t,osc11:n}=g.feed(e);return n&&a(D_(n.r,n.g,n.b)),t},v=e=>{if(!f)return _(e);let{wheels:t,drags:n,rest:r}=f(e);if(p){for(let e of t)o?.(e.delta);for(let e of n)s?.(e)}return _(r)},y=process.env.OTTO_TUI_KITTY===`1`&&!!t.isTTY,b,x=t;if(y){try{n.write(`\x1B[>1u`)}catch{}b=()=>{try{n.write(Xg)}catch{}},process.once(`exit`,b);let e=e_(),i=new xn;Object.assign(i,{isTTY:!0,setRawMode:e=>{try{t.setRawMode?.(e)}catch{}return i},ref:()=>{try{t.ref?.()}catch{}return i},unref:()=>{try{t.unref?.()}catch{}return i}});let a=t=>{let n=v(t);if(n.length===0)return;let a=e(n);a.includes(3)&&r?.(),i.write(a)};t.on(`data`,a),c.push({stream:t,fn:a}),x=i}let S=process.env.OTTO_TUI_FOCUS===`1`&&!!t.isTTY&&typeof i==`function`,C;if(S){try{n.write(`\x1B[?1004h`)}catch{}C=()=>{try{n.write(`\x1B[?1004l`)}catch{}},process.once(`exit`,C);let e=x,t=w_(),r=new xn;Object.assign(r,{isTTY:!0,setRawMode:t=>{try{e.setRawMode?.(t)}catch{}return r},ref:()=>{try{e.ref?.()}catch{}return r},unref:()=>{try{e.unref?.()}catch{}return r}});let a=e=>{let n=v(e);if(n.length===0)return;let{focused:a,rest:o}=t(n);a!==void 0&&i?.(a),o.length&&r.write(o)};e.on(`data`,a),c.push({stream:e,fn:a}),x=r}if(!y&&!S&&(a||d)){let e=x,t=new xn;Object.assign(t,{isTTY:!0,setRawMode:n=>(e.setRawMode?.(n),t),ref:()=>(e.ref?.(),t),unref:()=>(e.unref?.(),t)});let n=e=>{let n=v(e);n.length>0&&t.write(n)};e.on(`data`,n),c.push({stream:e,fn:n}),e.resume(),x=t}return{renderStdin:x,kittyOn:y,focusOn:S,mouseOn:d,kittyExitHandler:b,focusExitHandler:C,mouseExitHandler:m,setMouseEnabled:h,isMouseEnabled:()=>p,cleanup:()=>{for(let{stream:e,fn:t}of c)e.removeListener(`data`,t);c.length=0}}}const k_=12e3;async function A_(e){let{stdin:t,stdout:n,onStop:r}=e,i=Oc(e.maxFps??30),a=e.renderMaxFps??90;Ta();let o=e.columns||(n.columns>0?n.columns:process.stdout.columns>0?process.stdout.columns:80),s=e.rows||(n.rows>0?n.rows:process.stdout.rows>0?process.stdout.rows:24),c=e.language&&e.language!==`auto`?e.language:Et();Tt(c);let l=await _(),u=e.themeRegistry,d=e.presetSelection,f=process.env.OTTO_TUI_SCOPED_VIEWPORT!==`0`,p=bg(n),m=()=>Math.max(1,s-1);process.once(`exit`,()=>p.exit());let h=e.scrollback===!0||process.env.OTTO_TUI_SCROLLBACK===`1`,g=e.scrollback===!1||process.env.OTTO_TUI_SCROLLBACK===`0`,v=!h&&!g,y=rr()?nr(n):n;h&&!f&&(y=or(y));let b=e=>{y.write(e)},S=!1,{streamStoreHandle:C,streamStore:w,notificationStoreHandle:T,notificationStore:E,taskStoreHandle:ee,taskStore:D,messageStoreHandle:te,messageStore:ne,scrollStoreHandle:O,budgetStore:k,contextStore:re,perfStore:A,cacheStore:ie,proxyStore:j,compactionLogStore:ae,galleryStore:oe,completer:M,shellBackendRef:se,a2uiButtonsRef:ce,a2uiActionRef:N,scanA2uiButtons:le}=_g(e),ue={toastTimer:null,listener:null,shellTimer:null},F={current:null},de={current:null},fe=process.env.OTTO_TUI_PANE_BUFFER!==`0`,pe=`prompt`,me=()=>fe&&(D.getState().subagentContext!=null||D.getState().backgroundOutput!=null||D.getState().paneOwnsViewportFlag||pe!==`prompt`),he=vg({paneOwnsViewport:me,realWrite:e=>b(e)}),ge=()=>{me()||he.flush()},_e=e=>{let t=pe===`prompt`;pe=e,e===`prompt`&&!t&&ge()},ve=!0,ye=e=>{ve=e},be=e=>{D.setState({paneOwnsViewportFlag:e}),e||ge()},xe={msg:0,perm:0,toast:0,notify:0},Se=new Map,Ce=new Map,we={select:null,input:null,inputAction:null,questions:null,confirm:null,cancel:null,extra:null,alert:null,prompt:null,onboarding:null},I={current:null},Te={current:null},Ee=(e=>Te.current?Te.current.openModal(e):e.kind===`input`?Promise.resolve(null):void 0),De=jc({listener:()=>ue.listener?.(),intervalMs:i}),Oe=()=>De.immediate();ee.setNotify(Oe),T.setNotify(Oe);let{commitToHistory:ke,commitManyToHistory:Ae}=a_({scrollbackBuffer:he,getColumns:()=>o,getHasHistory:()=>S,setHasHistory:e=>{S=e},notify:Oe}),{streamTextCoalescer:je,streamThinkingCoalescer:Me,outputTokensThrottle:Ne,resetController:Pe}=r_({streamStore:w,messageStore:ne,messageStoreHandle:te,scrollbackBuffer:he,scrollbackMode:h,coalesceMs:i,getColumns:()=>o,getHasHistory:()=>S,setHasHistory:e=>{S=e},getMsgCounter:()=>xe.msg,incMsgCounter:()=>++xe.msg,notify:Oe}),Fe=()=>Qi(Zi(Yi(e.isAgentBusy,w.getState().processing),!!E.getState().errorRetry),!!e.isPaused?.()),Ie=(t,n,r)=>{let i=$i(t,n,r??!1,{processing:Fe(),isImmediateCommand:t=>e.isImmediateCommand?.(t)??!1,isInterruptCommand:t=>e.isInterruptCommand?.(t)??!1});if(i===`queue`){D.setState({queued:[...D.getState().queued,{text:t,mode:n}]}),Oe();return}e.onSubmit?.(t,n,i===`steer`?`steer`:`send`)},Le=S_(ue,Fe,Oe,e.onSubmit,D);ee.setEffects({syncForcedUpgradeRoute:e=>qr(P(),Vr,e),backgroundOutputRoute:e=>{e?P()?.navigate(`/pane/delegates/output`):P()?.currentPath===`/pane/delegates/output`&&P()?.goBack()},flushScrollbackIfIdle:ge,registerStatusItems:e=>Wo(`cli-status`,{pluginId:`cli-status`,statusItems:[...e]})}),T.setEffects({drainQueueOnResume:()=>Le(),syncPulseSurveyRoute:e=>qr(P(),Br,e)});let{onPermissionDecision:Re,onSelectResolve:ze,onInputResolve:Be,onOnboardingResolve:Ve,onInputAction:He,onQuestionsResolve:Ue,onConfirmResolve:We,onAlertResolve:Ge,onPromptResolve:Ke,getTurnMessagesFor:qe}=x_({getMessages:()=>ne.getState().messages},Ce,we,D,be),Je={state:ue,columnsRef:{get current(){return o},set current(e){o=e}},rowsRef:{get current(){return s},set current(e){s=e}},hasHistoryRef:{get current(){return S},set current(e){S=e}},inkWriteRef:{get current(){return b},set current(e){b=e}},toastCounterRef:{get current(){return xe.toast},set current(e){xe.toast=e}},languageRef:{get current(){return c},set current(e){c=e}},systemTheme:l,themeRegistry:u,presetSelection:d,stopRef:{},taskStore:D,notificationStore:E,messageStore:ne,streamStoreHandle:C,taskStoreHandle:ee,notificationStoreHandle:T,messageStoreHandle:te,budgetStore:k,contextStore:re,perfStore:A,cacheStore:ie,proxyStore:j,compactionLogStore:ae,galleryStore:oe,opts:e,notify:Oe,flushScrollbackIfIdle:ge,setPaneOwnsViewport:be,setFocusOwnerForBuffer:_e,setScrollActive:ye,getTurnMessagesFor:qe,submitOrQueue:Ie,onPermissionDecision:Re,onSelectResolve:ze,onInputResolve:Be,onOnboardingResolve:Ve,onInputAction:He,onQuestionsResolve:Ue,onConfirmResolve:We,onAlertResolve:Ge,onPromptResolve:Ke,proxyOpenModal:Ee,restoreInputRef:F,pasteBridgeRef:de,registryRef:I,shellBackendRef:se,a2uiButtonsRef:ce,a2uiActionRef:N,scrollbackMode:h,windowMode:v,scrollStore:O,stdout:n},L=()=>C_(Je),Ye=b_({stdout:y,enabled:!0}),Xe=qg(e=>{O.dispatchWheel(e)||pe===`prompt`&&ve&&O.scrollBy(e*3)}),R={current:null};nu(O.store,()=>R.current?.clear());let{renderStdin:Ze,kittyOn:Qe,focusOn:$e,mouseOn:et,kittyExitHandler:tt,focusExitHandler:nt,mouseExitHandler:rt,setMouseEnabled:it,isMouseEnabled:at,cleanup:ot}=O_({stdin:t,renderStdout:y,onInterrupt:e.onInterrupt,onFocusChange:e.onFocusChange,onMouseWheel:e=>Xe.push(e),onMouseDrag:e=>{R.current?.handleDrag(e)},onTerminalBgDetected:e=>{process.env.OTTO_DEBUG_THEME&&process.stderr.write(`[RFC-282] OSC detected: ${e} themeRef=${!!x()}\n`),x()?.setSystemTheme(e)}}),st=e.concurrent??process.env.OTTO_TUI_CONCURRENT===`1`;f&&p.enter();let ct=await jg(y);ct?.buffer.setMaxLineWidth(o),ct&&(R.current=Rg({buffer:ct.buffer,terminalRows:()=>m(),writeSelectionRepaint:e=>{if(e)try{y.write(e)}catch{}},writeClipboard:e=>{let t=Yg(e),n=!1;try{Yn(e),n=!0}catch{n=!1}return t||n},onCopied:(e,t)=>{let n=zg(e);t?(D.setState({clipboardChars:n,clipboardText:e,clipboardFailed:!1}),setTimeout(()=>{D.getState().clipboardChars===n&&D.setState({clipboardChars:0})},k_)):(D.setState({clipboardFailed:!0,clipboardChars:0}),setTimeout(()=>{D.getState().clipboardFailed&&D.setState({clipboardFailed:!1})},k_))}}),eu(R.current),ct.onDamage(e=>{R.current?.onFrameDamage(e)}));let{waitUntilExit:lt,unmount:ut}=Rt(V.createElement(L),{stdout:y,stdin:Ze,exitOnCtrlC:!1,maxFps:a,concurrent:st});st&&await new Promise(e=>{let t=Date.now()+1e3,n=()=>{ue.listener||Date.now()>t?e():setImmediate(n)};n()});let dt=t_({stdin:t,stdout:n,renderStdout:y,kittyOn:Qe,kittyExitHandler:tt,focusOn:$e,focusExitHandler:nt,mouseOn:et,mouseExitHandler:rt,onInterrupt:e.onInterrupt,unmount:()=>ut(),terminalInputCleanup:ot});dt.setupRawInput(),Ye.start();let ft=()=>{Ye.pollNow();let e=n.columns>0?n.columns:o;ct?.buffer.setMaxLineWidth(e)};n.on(`resize`,ft),process.once(`exit`,()=>{n.removeListener(`resize`,ft),Ye.stop()});let pt={stopped:!1,unmounted:!1},mt=o_({taskStore:D,notificationStore:E,cacheStore:ie,proxyStore:j,resolvers:we,getNotifyStats:()=>De.getStats(),flushScrollbackIfIdle:ge,paneOwnsViewport:me,setPaneOwnsViewport:be});Te.current=mt;let z=s_({taskStore:D,state:ue,notify:Oe,showToast:(...e)=>wt.info.showToast(...e)}),ht=c_({notificationStore:E,state:ue,counters:xe,notify:Oe}),gt=f_({pendingMethods:l_({taskStore:D,messageStoreHandle:te,counters:xe,pendingSteerMsgIds:Se,scrollbackMode:h,commitToHistory:ke,scanA2uiButtons:le,notify:Oe}),restoreInputRef:F,pasteBridgeRef:de}),_t=m_({messageStoreHandle:te,notify:Oe}),vt=p_({lifecycleFlags:pt,scrollbackBuffer:he,streamTextCoalescer:je,streamThinkingCoalescer:Me,notifyScheduler:De,state:ue,registryUnregisterAll:Ko,unmount:ut,windowMode:v,scopedViewport:f,hasHistoryRef:{set:e=>{S=e}},resetStreamController:Pe,messageStoreHandle:te,scrollStoreHandle:O,streamStoreHandle:C,taskStoreHandle:ee,notificationStoreHandle:T,perfStore:A,contextStore:re,budgetStore:k,taskStore:D,notificationStore:E,a2uiButtonsRef:ce,resetStatusWidgetBreakers:lu,getRouterRef:P,overlayPaths:Gr,syncOverlayRoute:qr,notify:Oe,i18next:B,detectLanguage:Et,setLanguage:e=>{c=e},getThemeRef:x,setTerminalTitle:Gn,onStop:r,detachSessionSource:_t.detachSessionSource}),yt=__({modalHandleMethods:mt,taskStore:D,getRouterRef:P,syncOverlayRoute:qr,overlayServices:Ur,flushScrollbackIfIdle:ge,notify:Oe}),bt=v_({taskStore:D,taskStoreHandle:ee,registerPlugin:Wo,registryUnregister:Go,computeStalePluginIds:Yo,getRegistrySnapshot:qo,getStatusItems:Zo,getStatusWidgets:$o,resetStatusWidgetBreakers:lu,registryRef:I,a2uiButtonsRef:ce,subagentRestoreFields:Eo,notify:Oe}),xt=y_({notificationMethods:ht,notifyScheduler:De,taskStore:D,modalHandleMethods:mt,shellMethods:z,contextStore:re,getRouterRef:P,scrollStoreHandle:O}),St=g_({streamMethods:u_({streamStore:w,streamTextCoalescer:je,streamThinkingCoalescer:Me,outputTokensThrottle:Ne,perfStore:A,compactionLogStore:ae,drainQueue:Le,getRouterRef:P,notify:Oe}),taskStore:D,notificationStore:E,notificationMethods:ht,getRouterRef:P,syncOverlayRoute:qr,overlayPause:Lr,drainQueue:Le,notify:Oe}),Ct=h_({scrollbackMode:h,commitToHistory:ke,commitManyToHistory:Ae,messageStoreHandle:te,counters:xe,getTurnMessagesFor:qe,taskStore:D,notify:Oe,scanA2uiButtons:le}),wt={modal:d_({modalHandleMethods:mt,permResolvers:Ce,counters:xe,taskStore:D,getRouterRef:P,notify:Oe,onConfirmResolve:We}),pending:gt,lifecycle:{...vt,..._t,toggleMouse:()=>{let e=it(!at());return wt.info.showToast(B.t(`mouse.toggleTitle`),e?B.t(`mouse.enabledBody`,{modifier:rf()}):B.t(`mouse.disabledBody`)),e}},messages:Ct,engine:St,panes:yt,plugins:bt,info:xt,shell:z,stores:{tasks:ee.actions,budget:{setBudget:k.setBudget},context:{setBudget:re.setBudget,addTurn:re.addTurn,markTurns:re.markTurns},cache:{setView:ie.setView},proxy:{setView:j.setView},notification:{setProviderUsage:T.setProviderUsage,setPausePending:T.setPausePending,setPaused:T.setPaused,setPulseSurvey:T.setPulseSurvey}}};return Je.stopRef.current=()=>wt.lifecycle.stop(),lt().then(()=>{pt.unmounted||(pt.unmounted=!0,dt.cleanup(),ct?.dispose(),ut(),p.active()||n.write(yg(m())),n.write(`\x1B[?25h`),p.exit())}),wt}function j_(){return{streamBuf:``,thinkBuf:``,turnStart:0,turnToolCount:0,lastTasks:[],messageIndex:0}}function M_(e,t){let n=[];e.forEach((e,t)=>{e?.role===`user`&&n.push(t)});let r=n.length,i=Math.max(t,r);if(r===0||i<=1)return[];let a=n[0],o=Array(i-1).fill(a);for(let e=0;e<r;e++){let t=i-r-1+e;t>=0&&t<o.length&&(o[t]=n[e])}return o}function N_(e){return e.filter(e=>e.status!==`done`&&e.status!==`skipped`&&e.status!==`failed`).length}function P_(e,t,n){if(t.length===0)return[...e];let r=[];e.forEach((e,t)=>{e?.role===`user`&&r.push(t)});let i=r.length,a=Math.max(n,i);if(i===0||a<=0)return[...e];let o=a-i+1,s=new Map;for(let e of t)s.set(e.turn,e);let c=new Map;for(let t of s.values()){if(t.turn<o||t.turn>a)continue;let n=t.turn-o,s=n+1<i?r[n+1]:e.length,{turn:l,...u}=t,d={role:`summary`,...u},f=c.get(s);f?f.push(d):c.set(s,[d])}if(c.size===0)return[...e];let l=[];for(let t=0;t<e.length;t++){l.push(e[t]);let n=c.get(t+1);n&&l.push(...n)}return l}function F_(e,t){let n=N_(t.lastTasks),r=e.stopReason??`completed`,i=r===`error`?`error`:r===`interrupted`?`interrupted`:n>0?`incomplete`:`done`,a={toolCount:t.turnToolCount,elapsedMs:t.turnStart>0?performance.now()-t.turnStart:0,tokensUsed:e.tokens??void 0,model:e.model||void 0,effort:e.effort||void 0,cacheHitRatio:e.cacheHitRatio??void 0};return i===`incomplete`?{...a,status:i,tasksDone:t.lastTasks.length-n,tasksTotal:t.lastTasks.length}:{...a,status:i}}function I_(e,t,n){let r=()=>{n.thinkBuf.trim()&&(t.pushMessage({role:`assistant`,content:[{type:`thinking`,thinking:n.thinkBuf}]}),n.messageIndex++),n.thinkBuf=``,t.pushEngineEvent({kind:`streamingThinking`,text:``})};switch(e.kind){case`prompt.start`:n.turnStart=performance.now(),n.turnToolCount=0,t.addTurnBoundary?.(n.messageIndex);return;case`prompt.end`:{n.thinkBuf.trim()&&(t.pushMessage({role:`assistant`,content:[{type:`thinking`,thinking:n.thinkBuf}]}),n.messageIndex++),n.streamBuf=``,n.thinkBuf=``,t.pushEngineEvent({kind:`streamingText`,text:``}),t.pushEngineEvent({kind:`streamingThinking`,text:``});let r={role:`summary`,...F_(e,n)};t.pushMessage(r),n.messageIndex++;return}case`stream.text.delta`:n.streamBuf+=e.delta,t.pushEngineEvent({kind:`streamingText`,text:n.streamBuf});return;case`stream.thinking.delta`:n.thinkBuf+=e.delta,t.pushEngineEvent({kind:`streamingThinking`,text:n.thinkBuf});return;case`stream.text.start`:r(),n.streamBuf=``;return;case`stream.text.end`:t.pushEngineEvent({kind:`streamingText`,text:``}),n.streamBuf=``;return;case`stream.thinking.start`:n.thinkBuf=``;return;case`stream.thinking.end`:r();return;case`tool.start`:t.pushEngineEvent({kind:`activeTool`,name:e.call.name});return;case`tool.end`:{if(t.pushEngineEvent({kind:`activeTool`,name:null}),n.turnToolCount++,e.suppressMessage)return;let r=e.call.arguments??{},i=r,a=i.command??i.path??i.file_path??i.pattern??i.query??JSON.stringify(r);t.pushMessage({role:`tool`,name:e.call.name,args:typeof a==`string`?a:JSON.stringify(a),argsObj:r,result:e.resultText,isError:e.isError}),n.messageIndex++;return}case`tasks.update`:n.lastTasks=e.tasks,t.setTasks(e.tasks,e.title);return;case`turn.budget`:t.pushEngineEvent({kind:`toolBudget`,toolTurnCount:e.toolTurnCount,maxToolTurns:e.maxToolTurns,outputTokens:e.outputTokens,outputTokenBudget:e.outputTokenBudget});return;case`delegate.update`:return}}function L_(e,t={}){for(let t of e){let e=t.role??`unknown`,n=t.content??[],r=Array.isArray(n)?n.filter(e=>e.type===`text`).map(e=>String(e.text??``)).join(`
108
- `):String(n);if(e===`user`)process.stdout.write(`\x1b[34m▸ ${r}\x1b[0m\n`);else if(e===`assistant`){process.stdout.write(`${r}\n`);let e=t.tool_calls??[];for(let t of e){let e=t.function;process.stdout.write(`\x1b[33m ⚙ ${e?.name??`unknown`}\x1b[0m\n`)}}else e===`system`?process.stdout.write(`\x1b[2m${r}\x1b[0m\n`):process.stdout.write(`${r}\n`)}}function R_(e,t){return{search:n=>Zt(e,n,t)}}function z_(e){let{transport:t,sessionId:n,onSessionEvent:r,hydrateMessages:i,onGap:a}=e;return{async start(e){let o=null,s=!1,c=!1,l=0,u=1,d=new Map,f=e=>{s||(o?.(),l=e,u=e+1,d.clear(),o=t.subscribe(n,e,e=>{if(!(s||e.seq<u||d.has(e.seq)))for(d.set(e.seq,e);d.has(u);){let e=d.get(u);d.delete(u),r(e),l=u,u+=1}},e=>{s||c||(a(e),p())}))},p=async()=>{if(!c){c=!0;try{let r=await t.fetchSnapshot(n);if(s)return;i(e,r.session.messages),f(r.cursor)}catch{a({reason:`gap`,oldestAvailable:l})}finally{c=!1}}};try{let r=await t.fetchSnapshot(n);if(s)return()=>{};i(e,r.session.messages),f(r.cursor)}catch(e){throw s=!0,e}return()=>{s=!0,o?.(),o=null}}}}function B_(e){let t=j_();return{handle(n){I_(n.payload,e,t)},reset(e=0){t={...j_(),messageIndex:e}}}}function V_(e){return{pushMessage:e.pushMessage,echoUserInput:e.echoUserInput,pushEngineEvent:e.pushEngineEvent,getNotifyStats:e.getNotifyStats,setTasks:e.setTasks,addTurnBoundary:e.addTurnBoundary}}export{jl as AlertDialog,dg as App,ii as BASH_HISTFILE_SOURCE,Al as BashPermissionDialog,Rn as BracketedPasteHandler,I as Button,po as COMPACTING_SENTINEL,Dt as CommandRegistry,Ge as ConfirmDialog,gt as Cursor,Jr as DEFAULT_SENSITIVE_PATTERNS,t as DIALOG_BORDER,Qe as DataList,R as FIGURES,ci as FISH_HISTFILE_SOURCE,xe as GroupDivider,dd as Home,ge as LAYOUT,Ee as MeasuredText,vl as MemoryDialog,Rc as Message,pi as OTTO_SESSION_SOURCE,Ae as PALETTE,De as PANEL_BORDER,El as PermissionDialogDialog,Ml as PromptDialog,Ni as PromptInput,Pi as QueuedCommands,ul as REPLRegion,A as SPACING,nt as STATUS,kc as STREAM_COALESCE_MS,f as ScrollIndicatorAbove,v as ScrollIndicatorBelow,Nd as Segmented,Nd as Tabs,z as Select,wc as SigilPane,yd as Spinner,L as THEME,mg as TabScope,r as Tabable,Oe as TextInput,me as ThemeRegistry,Xr as ZSH_HISTFILE_SOURCE,on as applySigilCompletion,wr as applySlashCompletion,Zn as beginSyncFrame,F_ as buildTurnSummary,ns as clearPluginRenderers,Pc as collapseMessages,z_ as createAttachSessionDataSource,yu as createBudgetStore,Ot as createBuiltinCommands,fe as createBuiltinThemeRegistry,br as createCommandRegistry,R_ as createIncrementalSearcher,sr as createInputBuffer,lr as createInputHistory,bi as createMergedHistoryProvider,yr as createPasteStore,Mc as createQueryGuard,j_ as createReducerState,tt as createSelectState,B_ as createSessionEventReduceBridge,V_ as createStoreTuiSink,E as cycleIndex,M_ as deriveTurnBoundaries,Et as detectLanguage,$e as displayWidth,Xi as effectiveBusy,Qn as endSyncFrame,yi as entriesToCommands,Ic as expandCollapsed,ln as extractSigilPrefix,xr as extractSlashPrefix,No as formatAgentDiagnosticsText,gl as formatKeyValueLines,An as formatProviderUsageLimitTypeFull,hl as formatTranscriptText,jo as formatTurnTimeline,Sr as getCommandSuggestions,Ze as getInputViewport,ct as getKillRingEntries,Pa as getMarkdownThemeUserOverrides,or as guardScrollbackStdout,Be as handleEditingKey,be as handleEditingKeyExtended,B as i18next,Tt as initI18n,Ec as initStreamCommit,ut as insertHistory,Ce as insertHistorySequence,P_ as insertTurnSummaries,Yr as isSensitiveCommand,Mn as isUsingOverage,Ac as makeCoalescer,jc as makeNotifyScheduler,Jt as matchSubsequence,hi as mergeHistoryEntries,Cr as navigateSuggestions,ri as normalizeCommand,Do as observationLiveFields,ko as observationRow,Xn as osc52QuerySequence,Yn as osc52Write,Jn as osc8FilePath,qn as osc8Hyperlink,ai as parseBashHistory,Hn as parseExtendedKey,li as parseFishHistory,ei as parseZshHistory,Ke as pickInsertMode,Xt as positionsToHighlightRanges,ht as preWrapLine,Te as preWrapLines,L_ as printMessages,Dn as promptParentWorkspaceChoice,wn as promptWorkspaceTrust,Zt as rankCandidates,Qt as rankLabeledItems,$t as rankNamedItems,I_ as reduceToTui,ts as registerPluginRenderers,za as renderInline,$a as renderMarkdownToLines,nc as renderMessageLines,et as resetKillRing,D as resolveHorizontalStep,$i as routeSubmit,Tc as safeCommitBoundary,tn as scoreSubsequence,Na as setMarkdownThemeUserOverrides,rr as shouldStripSyncOutput,we as shouldUseViewport,kt as showCommandPalette,Ji as slashCommandName,A_ as startTui,Dc as streamCommitStep,Le as stringWidth,ar as stripScrollbackClear,tr as stripSyncSequences,nr as stripSyncStdout,To as subagentEntryStatus,Eo as subagentRestoreFields,wt as t,Fc as toggleCollapse,Z as useAppState,pg as useTabScope,ee as useTabable,$n as withSyncFrame};
106
+ `)),s+=60,e.notify(),setImmediate(l)};setImmediate(l)},d=r=>{if(r===``){u(n,t.length,()=>{s(),e.streamStore.setState({streamingText:``})});return}t=r;let i=Ec(r);i>n&&(l(n,i),n=i);let o=r.slice(n);o!==e.streamStore.getState().lastTail&&e.streamStore.setState({streamingText:o.trim()?eo(ks(Zc(o)),a()).join(`
107
+ `):``,lastTail:o})},f=t=>{if(e.scrollbackMode){d(t);return}let{chunks:n,tail:r,state:i}=Oc(e.streamStore.getState().streamCommit,t);if(n.length>0){let t=n.map(t=>{let n=e.incMsgCounter();return{role:`assistant_stream`,text:t.text,lead:t.lead,id:`s-${n}`}});e.messageStoreHandle.appendMany(t,()=>`s-${e.incMsgCounter()}`)}e.streamStore.setState({streamCommit:i,streamingText:r}),(t===``||n.length>0)&&e.notify()},p=t=>{e.streamStore.setState({streamingThinking:t})};return{applyStreamText:f,applyStreamThinking:p,streamTextCoalescer:jc(f,e.coalesceMs),streamThinkingCoalescer:jc(p,e.coalesceMs),outputTokensThrottle:cl(e.streamStore,e.coalesceMs),resetController:()=>{t=``,n=0,r=0,i=!1}}}function u_(e,t){if(e.length===0)return[];let n=Math.max(1,t);return e.map(e=>rc(e,n))}function d_(e){let t=t=>{let n=u_(t,e.getColumns()),{text:r,hasHistory:i}=Hc(t.map((e,t)=>({role:e.role??``,lines:n[t]??[]})),e.getHasHistory());return e.setHasHistory(i),r},n=null,r=r=>{let i=t(r);if(i){if(n){n.push(i);return}e.scrollbackBuffer.write(i)}},i=i=>{if(i.length<=60&&!n){r(i);return}if(n){let e=t(i);e&&n.push(e);return}n=[t(i.slice(0,60))];let a=60,o=()=>{if(a>=i.length){let t=(n??[]).join(``);n=null,t&&e.scrollbackBuffer.write(t),e.notify();return}let r=i.slice(a,a+60);a+=60,n?.push(t(r)),setImmediate(o)};setImmediate(o)};return{commitToHistory:e=>i([e]),commitManyToHistory:i}}function f_(e){let{taskStore:t,notificationStore:n,resolvers:r,flushScrollbackIfIdle:i,paneOwnsViewport:a,setPaneOwnsViewport:o,getRouter:s=p}=e,c=null,l={},u=(e,t)=>{let n=s();n.navigate(`/dialog/plugin-panel`,{state:{panelInfo:e,onClose:()=>{n.goBack(),t?.()}}})};return{openModal:(e=>{switch(e.kind){case`select`:{let t=s();if(e.async){let n=!1;t.navigate(`/dialog/select`,{state:{title:e.title,subtitle:`Probing, please wait…`,options:[],layout:e.layout??`buttons`}}),r.select=e=>{if(e==null){n=!0;return}},(async()=>{try{let i=await e.async;if(n)return;r.select=t=>{t==null?e.onCancel?.():e.onSelect(t)},t.navigate(`/dialog/select`,{replace:!0,state:{title:i.title??e.title,subtitle:i.subtitle??e.subtitle,subtitleTone:e.subtitleTone,options:i.options,maxVisible:e.maxVisible,layout:e.layout,searchable:e.searchable,subtitleActions:e.subtitleActions,detailPlacement:e.detailPlacement,onHighlight:e.onHighlight}})}catch(i){if(n)return;r.select=()=>{},t.navigate(`/dialog/select`,{replace:!0,state:{title:e.title,subtitle:`Error: ${i instanceof Error?i.message:String(i)}`,options:[{label:`Close`,value:`close`,color:`gray`}],layout:`buttons`}})}})();return}process.env.NODE_ENV!==`production`&&t.currentPath===`/dialog/select`&&e.replace!==!0&&console.warn('[openModal] Detected re-entrant openModal({ kind: "select" }) — this pushes a new dialog stack entry instead of replacing the current one. Use the `async` field for loading→content transitions, or close the current dialog before opening a new one. See RFC-285 D2.');let n=e.replace===!0&&t.currentPath===`/dialog/select`;t.navigate(`/dialog/select`,{replace:n,state:{title:e.title,subtitle:e.subtitle,subtitleTone:e.subtitleTone,options:e.options,maxVisible:e.maxVisible,searchable:e.searchable,layout:e.layout,subtitleActions:e.subtitleActions,detailPlacement:e.detailPlacement,initialFilter:e.initialFilter,onFilterChange:e.onFilterChange,onHighlight:e.onHighlight,defaultSelectedValue:e.defaultSelectedValue}}),r.select=t=>{t==null?e.onCancel?.():e.onSelect(t)};return}case`extensionDetail`:{let t=s(),n=()=>{t.goBack()};t.navigate(`/dialog/extension`,{state:{title:e.title,meta:e.meta,metaStatus:e.metaStatus,metaSuffix:e.metaSuffix,actions:e.actions,panelInfo:e.panelInfo,info:e.info,healthStats:e.healthStats,logEntries:e.logEntries,onRefresh:e.onRefresh,dataListEntries:e.dataListEntries,fullText:e.fullText,onOpenPanel:e.panelInfo?()=>u(e.panelInfo):void 0,onAction:t=>{n(),e.onAction(t)},onClose:()=>{let r=t.stack,i=r.length>=2?r[r.length-2]?.path:void 0;n(),i!==`/dialog/extensions`&&e.onClose?.()}}});return}case`pluginPanel`:u(e.panelInfo,e.onClose);return;case`extensionsList`:{let t=s();t.navigate(`/dialog/extensions`,{state:{entries:e.entries,menuContributions:e.menuContributions,lastSelectedValue:l.value,onSelect:n=>{l.value=n,n.startsWith(`contrib:`)&&t.goBack(),e.onSelect(n)},onCancel:()=>{t.goBack(),e.onCancel?.()}}});return}case`input`:return new Promise(t=>{if(e.signal?.aborted){t(null);return}let n=!1,i=e=>{n||(n=!0,r.input===i&&(s()?.goBack(),r.input=null,r.inputAction=null),t(e))};r.input=i,e.actionButton?.onPress&&(r.inputAction=e.actionButton.onPress),e.signal?.addEventListener(`abort`,()=>i(null),{once:!0}),s().navigate(`/dialog/input`,{state:{title:e.title,description:e.description,placeholder:e.placeholder,defaultValue:e.defaultValue,mask:e.mask,actionButton:e.actionButton?{label:e.actionButton.label}:void 0}})});case`onboarding`:return new Promise(t=>{let n=!1,i=e=>{n||(n=!0,r.onboarding===i&&(s()?.navigate(`/`,{reset:!0}),r.onboarding=null),t(e))};r.onboarding=i,s().navigate(`/dialog/onboarding`,{state:{onLanguagePreview:e.onLanguagePreview}})});case`questions`:return new Promise(t=>{o(!0),r.questions=(e,n)=>{t(e?{answers:e,freeformText:n}:null)},s().navigate(`/dialog/questions`,{state:{title:e.title,questions:e.questions}})});case`confirm`:{let t=s();r.confirm=()=>e.onConfirm(),r.cancel=()=>e.onCancel?.(),r.extra=e.onExtra??null;let n=t.currentPath===`/dialog/confirm`;t.navigate(`/dialog/confirm`,{replace:n,state:{title:e.title,message:e.message,confirmLabel:e.confirmLabel,cancelLabel:e.cancelLabel,confirmColor:e.confirmColor,dangerous:e.dangerous,extraLabel:e.extraLabel,extraColor:e.extraColor}});return}case`permissions`:s().navigate(`/dialog/info`,{state:{title:`Permissions`,lines:e.lines}});return;case`info`:s().navigate(`/dialog/info`,{state:{title:e.title,lines:e.lines,action:e.action,lineTones:e.lineTones,dataListEntries:e.dataListEntries}});return;case`context`:s().navigate(`/pane/context`);return;case`memory`:s().navigate(`/dialog/memory`,{state:{projectIndex:e.projectIndex,userIndex:e.userIndex,onViewEntry:e.onViewEntry,onForget:e.onForget}});return;case`keybindingPanel`:s().navigate(`/dialog/keybindings`,{state:{overrides:e.overrides,onSave:e.onSave,onSaveReplace:e.onSaveReplace,onReset:e.onReset,onResetAll:e.onResetAll}});return;case`shortcutsPanel`:s().navigate(`/dialog/shortcuts`,{state:{bindings:e.shortcuts,onSave:e.onSave,onDelete:e.onDelete}});return;case`fileViewer`:s().navigate(`/viewer/file`,{state:{path:e.path,content:e.content,preTruncated:e.preTruncated,onDismiss:e.onDismiss}});return;case`helpViewer`:s().navigate(`/viewer/help`,{state:{title:e.title,lines:e.lines,onDismiss:e.onDismiss}});return;case`progress`:{let t=s();c={title:e.title,phases:e.phases,phaseIndex:0,phaseStatuses:[`active`,`pending`,`pending`,`pending`],percent:0,detail:e.phases[0]??``,status:`running`,onDismiss:()=>{c=null}},t.navigate(`/dialog/progress`,{state:c});return}case`wizard`:{let t=s();if(t?.currentPath===`/dialog/wizard`)return;t?.navigate(`/dialog/wizard`,{state:{...e,onDismiss:()=>{t.navigate(`/`,{reset:!0}),e.onDismiss?.()},onComplete:()=>{t.navigate(`/`,{reset:!0}),e.onComplete?.()}}});return}case`a2uiForm`:{let t=s();t.navigate(`/dialog/a2ui-form`,{state:{component:e.component,onAction:(n,r,i)=>{t.goBack(),e.onAction(n,r,i)},onDismiss:()=>{t.goBack()}}});return}default:return e}}),togglePane:(e,r)=>{let a=s();if(!a)return;let o=e=>a.currentPath===e||a.currentPath.startsWith(e+`/`),c=e=>{a.currentPath===e?a.goBack():a.navigate(`/`,{reset:!0})};switch(e){case`history`:_u()?.();return;case`backgroundTasks`:{let e=`/pane/delegates`;r??!o(e)?a.navigate(e):(c(e),t.setState({backgroundOutput:null}),i());return}case`draftPane`:{let e=`/pane/draft`;r??!o(e)?a.navigate(e):c(e);return}case`queuePane`:{let e=`/pane/queue`;r??!o(e)?a.navigate(e):c(e);return}case`notifications`:r??a.currentPath!==`/pane/notifications`?a.navigate(`/pane/notifications`):(a.goBack(),n.setState({notifications:n.getState().notifications.map(e=>({...e,read:!0}))}));return;case`schedulePane`:r??a.currentPath!==`/pane/schedule`?a.navigate(`/pane/schedule`):a.goBack();return;case`perf`:r??a.currentPath!==`/pane/perf`?a.navigate(`/pane/perf`):a.goBack();return;case`cacheStats`:r??a.currentPath!==`/pane/cache`?a.navigate(`/pane/cache`):a.goBack();return;case`compactionLog`:{let e=`/pane/compaction-log`;r??!o(e)?a.navigate(e):c(e);return}case`gallery`:r??a.currentPath!==`/pane/gallery`?a.navigate(`/pane/gallery`):a.goBack();return;case`proxy`:r??a.currentPath!==`/pane/proxy`?a.navigate(`/pane/proxy`):a.goBack();return;case`prompts`:{let e=`/pane/prompts`;r??!o(e)?a.navigate(e):c(e);return}default:return e}},getNotifyStats:e.getNotifyStats,isFullScreenPaneActive:()=>a(),getCurrentPath:()=>s()?.currentPath??`/`,isForcedUpgradeActive:()=>e.taskStore.getState().forcedUpgrade!==null,openAlert:e=>{r.alert=()=>e.onOk?.(),s().navigate(`/dialog/alert`,{state:{title:e.title,message:e.message,okLabel:e.okLabel}})},openPrompt:e=>new Promise(t=>{r.prompt=t,s().navigate(`/dialog/prompt`,{state:{title:e.title,message:e.message,placeholder:e.placeholder,initialValue:e.initialValue,submitLabel:e.submitLabel,cancelLabel:e.cancelLabel}})}),updateProgress(e){if(!c)return;let t=s();if(!t){c=null;return}c={...c,...e},t.navigate(`/dialog/progress`,{replace:!0,state:c})}}}function p_(e){let{taskStore:t,state:n,notify:r,showToast:i,getRouter:a=p}=e;return{startShellExecution:e=>{n.shellTimer&&clearTimeout(n.shellTimer),t.setState({shellExecution:{command:e,output:``,status:`running`,exitCode:null}}),a()?.navigate(`/pane/shell`),r()},appendShellOutput:e=>{t.getState().shellExecution&&(t.setState({shellExecution:{...t.getState().shellExecution,output:t.getState().shellExecution.output+e}}),r())},finishShellExecution:(e,n,i)=>{t.getState().shellExecution&&(t.setState({shellExecution:{...t.getState().shellExecution,status:e===null?`error`:`done`,exitCode:e,terminated:i,output:n?t.getState().shellExecution.output+n:t.getState().shellExecution.output}}),r())},dismissShellExecution:()=>{n.shellTimer&&clearTimeout(n.shellTimer),t.setState({shellExecution:null}),a()?.currentPath===`/pane/shell`&&a()?.goBack(),n.shellTimer=null,r()},copyShellOutput:()=>{let e=t.getState().shellExecution;e&&(Xn(e.output),i(V.t(`shell.copiedTitle`),V.t(`shell.copiedBody`)))},getShellExecutionSnapshot:()=>{let e=t.getState().shellExecution;return e?{command:e.command,output:e.output,exitCode:e.exitCode,terminated:e.terminated}:null}}}function m_(e){let{notificationStore:t,state:n,counters:r,notify:i,getRouter:a=p}=e;return{showToast:(e,o)=>{n.toastTimer&&clearTimeout(n.toastTimer);let s={id:++r.toast,title:e,content:o};t.setState({toast:s}),Jr(a(),Lr,!0),n.toastTimer=setTimeout(()=>{t.setState({toast:null}),n.toastTimer=null,Jr(a(),Lr,!1),i()},jm),i()},showRetryDialog:(e,n,r,o,s,c,l)=>{t.setState({retryCountdown:{attempt:e,max:n,delayMs:r,accelerate:o,reason:c,onExpired:()=>{t.setState({retryCountdown:null}),Jr(a(),zr,!1),i(),s()},onStop:l?()=>{t.setState({retryCountdown:null}),Jr(a(),zr,!1),i(),l()}:void 0}}),Jr(a(),zr,!0),i()},clearRetryDialog:()=>{t.setState({retryCountdown:null}),Jr(a(),zr,!1),i()},showErrorRetry:e=>{let n=e=>()=>{t.setState({errorRetry:null}),Jr(a(),Br,!1),i(),e()};t.setState({errorRetry:{...e,actions:e.actions.map(e=>({...e,run:n(e.run)})),focusIndex:0,exhausted:e.exhausted??!1,onExpired:n(e.onExpired),onCancel:n(e.onCancel)}}),Jr(a(),Br,!0),i()},clearErrorRetry:()=>{t.setState({errorRetry:null}),Jr(a(),Br,!1),i()},pushNotification:(e,n,a=`system`,o=`info`)=>{t.setState({notifications:[{id:++r.notify,source:a,level:o,title:e,message:n,timestamp:Date.now(),read:!1},...t.getState().notifications.slice(0,49)]}),i()},dismissNotification:e=>{t.setState({notifications:t.getState().notifications.filter(t=>t.id!==e)}),t.getState().notifications.length===0&&a()?.goBack(),i()},markAllNotificationsRead:()=>{t.setState({notifications:t.getState().notifications.map(e=>({...e,read:!0}))}),i()}}}function h_(e){let{taskStore:t,messageStoreHandle:n,counters:r,pendingSteerMsgIds:i,scrollbackMode:a,commitToHistory:o,scanA2uiButtons:s,notify:c}=e;return{setPendingEcho:(e,r)=>{if(t.setState({pendingEcho:{text:e,mode:r}}),!a){let e=n.store.getState().messages.at(-1);e?.id?n.patchById(e.id,{streaming:!0}):n.patchLast({streaming:!0})}c()},clearPendingEcho:()=>{let e=t.getState().pendingEcho;if(e){if(a&&(o({role:`user`,content:e.text}),s()),t.setState({pendingEcho:null}),!a){let e=n.store.getState().messages.at(-1);e?.id?n.patchById(e.id,{streaming:!1}):n.patchLast({streaming:!1})}c()}},withdrawPendingEcho:()=>{if(t.getState().pendingEcho){if(t.setState({pendingEcho:null}),!a){let e=`u-${r.msg}`,t=n.store.getState().messages.findLastIndex(t=>t.id===e);if(t!==-1){let e=[...n.store.getState().messages];e.splice(t,1),n.store.setState({messages:e})}else n.removeLast()}c()}},setPendingSteer:(e,o)=>{if(t.setState({pendingSteers:[...t.getState().pendingSteers,{text:e,id:o}]}),!a){r.msg++;let t=`u-${r.msg}`;i.set(o,t),n.append({role:`user`,content:e,streaming:!0,id:t},t)}c()},commitPendingSteer:e=>{let r=t.getState().pendingSteers,l=r.find(t=>t.id===e);if(l){if(a)o({role:`user`,content:l.text}),s();else{let t=i.get(e);t&&(n.patchById(t,{streaming:!1}),i.delete(e))}t.setState({pendingSteers:r.filter(t=>t.id!==e)}),c()}},withdrawPendingSteer:e=>{let r=t.getState().pendingSteers;if(r.some(t=>t.id===e)){if(t.setState({pendingSteers:r.filter(t=>t.id!==e)}),!a){let t=i.get(e);if(t){let r=n.store.getState().messages.filter(e=>e.id!==t);n.store.setState({messages:r}),i.delete(e)}}c()}},clearPendingSteers:()=>{let e=t.getState().pendingSteers;if(e.length!==0){if(a){for(let t of e)o({role:`user`,content:t.text});s()}else for(let t of e){let e=i.get(t.id);e&&(n.patchById(e,{streaming:!1}),i.delete(t.id))}t.setState({pendingSteers:[]}),c()}}}}function g_(e){let{streamStore:t,streamTextCoalescer:n,streamThinkingCoalescer:r,outputTokensThrottle:i,perfStore:a,compactionLogStore:o,drainQueue:s,getRouterRef:c,notify:l}=e;return{pushEngineEvent:e=>{switch(e.kind){case`agentProcessing`:t.setState({processing:e.value}),e.value||s();break;case`streamingText`:n.push(e.text,e.text===``);break;case`streamingThinking`:r.push(e.text,e.text===``);break;case`activeTool`:t.setState({activeTool:e.name});break;case`spinnerMode`:t.setState(e.mode===`requesting`?{spinnerMode:e.mode,outputTokensThisTurn:0}:{spinnerMode:e.mode});break;case`outputTokensThisTurn`:i.push(e.n);break;case`maxOutputTokens`:t.setState({maxOutputTokens:e.n});break;case`toolBudget`:t.setState({toolTurnCount:e.toolTurnCount,maxToolTurns:e.maxToolTurns,promptOutputTokens:e.outputTokens??0,promptOutputTokenBudget:e.outputTokenBudget??0});break;case`perf`:{let t=!1;e.memory&&(a.setMemory(e.memory),t=!0),e.notify&&(a.setNotify(e.notify),t=!0),e.pluginMetrics&&(a.setPluginMetrics(e.pluginMetrics),t=!0),e.indicatorLevel&&a.setIndicatorLevel(e.indicatorLevel),t&&l();break}case`compactionLog`:switch(e.entryKind){case`compact`:o.recordCompaction(e.before,e.after,e.summary);break;case`prune`:o.recordPrune(e.tokensSaved,e.prunedCount??0);break;case`history_capped`:o.recordHistoryCapped(e.removedCount);break}c()?.currentPath.startsWith(`/pane/compaction-log`)&&l();break}}}}function __(e){let{modalHandleMethods:t,permResolvers:n,counters:r,taskStore:i,getRouterRef:a,notify:o,onConfirmResolve:s}=e;return{...t,resolveConfirm:e=>{s(e)},requestPermission:e=>{let t=`perm-${++r.perm}`;return new Promise(r=>{n.set(t,r);let s={id:t,tool:e.tool,input:e.input,risk:e.risk,description:e.description,alwaysAllowLabel:e.alwaysAllowLabel};i.setState({pendingPermission:s}),o(),a()?.navigate(`/dialog/permission`,{state:s})})}}}function v_(e){let{pendingMethods:t,restoreInputRef:n,pasteBridgeRef:r}=e;return{...t,restoreInputText:e=>{n.current?.fill(e)},hydratePaste:e=>{r.current?.hydrate(e)},exportPaste:()=>r.current?.export()??null}}function y_(e){let{lifecycleFlags:t,scrollbackBuffer:n,streamTextCoalescer:r,streamThinkingCoalescer:i,notifyScheduler:a,state:o,registryUnregisterAll:s,unmount:c,windowMode:l,scopedViewport:u,hasHistoryRef:d,resetStreamController:f,messageStoreHandle:p,scrollStoreHandle:m,streamStoreHandle:h,taskStoreHandle:g,notificationStoreHandle:_,perfStore:v,contextStore:y,budgetStore:b,taskStore:x,notificationStore:S,a2uiButtonsRef:C,resetStatusWidgetBreakers:w,getRouterRef:T,overlayPaths:E,syncOverlayRoute:D,notify:O,i18next:k,detectLanguage:ee,setLanguage:te,getThemeRef:A,setTerminalTitle:ne}=e;return{stop:()=>{if(!t.stopped){t.stopped=!0,t.unmounted=!0,e.detachSessionSource?.(),s();try{n.flush()}catch{}r.cancel(),i.cancel(),a.cancel(),o.toastTimer&&=(clearTimeout(o.toastTimer),null),c(),e.teardownTerminal?.(),e.onStop?.()}},clearSession:()=>{l||n.write(u?`\x1B[2J\x1B[H`:`\x1B[2J\x1B[3J\x1B[H`),d.set(!1),f(),p.reset(),m.toBottom(),h.reset(),g.reset(),_.reset(),v.reset(),y.reset(),b.reset(),x.setState({tasks:[]}),x.setState({tasksTitle:void 0}),x.setState({turnBoundaries:[]}),x.setState({editedFiles:[]}),x.setState({subagentsAccum:new Map}),S.setState({toast:null}),S.setState({retryCountdown:null}),S.setState({errorRetry:null});let e=T();if(e)for(let t of E)D(e,t,!1);S.setState({providerUsage:null}),o.toastTimer&&=(clearTimeout(o.toastTimer),null),C.current=[],s(),w(),e?.currentPath!==`/home`&&e?.navigate(`/home`,{reset:!0}),O()},setLanguage:e=>{let t=e===`auto`?ee():e;return k.changeLanguage(t),te(t),O(),t},setPresetSelection:e=>{A()?.setPresetSelection(e)},setTerminalTitle:e=>ne(e)}}function b_(e){let{messageStoreHandle:t,notify:n}=e,r=null,i=()=>{let e=r;e&&(r=null,e.stop())};return{attachSessionSource:async e=>{if(r)throw Error(`attachSessionSource: a session data source is already attached`);return r={stop:await e.start({messageStore:{setState:e=>t.store.setState(e)}})},n(),i},detachSessionSource:i}}function x_(e){let{scrollbackMode:t,commitToHistory:n,commitManyToHistory:r,messageStoreHandle:i,counters:a,getTurnMessagesFor:o,taskStore:s,notify:c,scanA2uiButtons:l}=e;return{pushMessage:e=>{if(t){n(e),c(),l();return}a.msg++,i.append(e,`m-${a.msg}`),c(),l()},pushMessages:e=>{if(e.length!==0){if(t){r(e),c(),l();return}i.appendMany(e,()=>(a.msg++,`m-${a.msg}`)),c(),l()}},echoUserInput:(e,r)=>{let o=r?.pending===!0;if(t){if(o)return;n({role:`user`,content:e}),l();return}a.msg++;let s=`u-${a.msg}`;i.append({role:`user`,content:e,streaming:o,id:s},s),c(),l()},getTurnMessages:o,getTurnBoundaries:()=>s.getState().turnBoundaries,getEditedFiles:()=>s.getState().editedFiles}}function S_(e){let{streamMethods:t,taskStore:n,notificationStore:r,notificationMethods:i,getRouterRef:a,syncOverlayRoute:o,overlayPause:s,drainQueue:c,notify:l}=e;return{pushEngineEvent:t.pushEngineEvent,hasQueuedFollowUp:()=>n.getState().queued.length>0,takeLastQueuedFollowUp:()=>{let e=n.getState().queued,t=e.at(-1);if(t)return n.setState({queued:e.slice(0,-1)}),l(),t},enqueueFollowUp:(e,t=`send`)=>{n.setState({queued:[...n.getState().queued,{text:e,mode:t}]}),l(),c()},setPauseDialog:e=>{r.setState({pauseDialog:e}),o(a(),s,!!e),l()},showRetryDialog:i.showRetryDialog,clearRetryDialog:i.clearRetryDialog,showErrorRetry:i.showErrorRetry,clearErrorRetry:i.clearErrorRetry}}function C_(e){let{modalHandleMethods:t,taskStore:n,getRouterRef:r,syncOverlayRoute:i,overlayServices:a,flushScrollbackIfIdle:o,notify:s}=e;return{togglePane:t.togglePane,setServices:e=>{i(r(),a,e),s()},switchToSubagentContext:e=>{n.setState({subagentContext:e});let t=r();e&&t?.currentPath!==`/subagent`&&t?.navigate(`/subagent`),o(),s()},toggleEditedFiles:e=>{if(n.getState().editedFiles.length===0)return;let t=r();if(!t)return;let i=`/pane/edited-files`,a=t.currentPath===i||t.currentPath.startsWith(i+`/`),o=e??!a;o&&!a?t.navigate(i):!o&&a&&t.currentPath===i&&t.goBack()},clearEditedFiles:()=>{n.setState({editedFiles:[]}),s()},removeQueuedAt:e=>{n.setState({queued:n.getState().queued.filter((t,n)=>n!==e)}),s()},clearQueue:()=>{n.setState({queued:[]}),s()},moveQueuedItem:(e,t)=>{let r=e,i=e+t;if(i<0||i>=n.getState().queued.length||r<0||r>=n.getState().queued.length)return;let a=[...n.getState().queued],[o]=a.splice(r,1);o&&a.splice(i,0,o),n.setState({queued:a}),s()}}}function w_(e){let{taskStore:t,taskStoreHandle:n,registerPlugin:r,registryUnregister:i,computeStalePluginIds:a,getRegistrySnapshot:o,getStatusItems:s,getStatusWidgets:c,resetStatusWidgetBreakers:l,registryRef:u,a2uiButtonsRef:d,subagentRestoreFields:f,notify:p}=e;return{setPluginRegistrations:e=>{let n=new Set;for(let t of e)n.add(t.pluginId),r(t.pluginId,t);for(let e of a(n,o()))i(e);l(),t.setState({pluginStatusItems:s(),statusWidgets:c()}),p()},unregisterPluginSource:e=>{i(e),l(),t.setState({pluginStatusItems:s(),statusWidgets:c()}),p()},setPluginStatusItems:e=>{n.actions.setPluginStatusItems(e.map(e=>({id:e.icon,text:e.text})))},setCommands:e=>{t.setState({commands:e}),r(`cli-commands`,{pluginId:`cli-commands`,commands:[...e]})},registerArgumentSuggester:(e,t)=>{u?.current&&u.current.registerArgumentSuggester(e,t)},setA2uiButtons:e=>{d.current=e},addSubagent:e=>{let n=new Map(t.getState().subagentsAccum);n.set(e.id,{id:e.id,command:e.name,type:`agent-session`,startedAt:e.startedAt??Date.now(),...f(e.status)}),t.setState({subagentsAccum:n}),p()},getSubagents:()=>t.getState().subagentsAccum,clearSubagents:()=>{t.setState({subagentsAccum:new Map}),p()}}}function T_(e){let{notificationMethods:t,notifyScheduler:n,taskStore:r,modalHandleMethods:i,shellMethods:a,contextStore:o,getRouterRef:s,scrollStoreHandle:c}=e;return{pushNotification:t.pushNotification,dismissNotification:t.dismissNotification,markAllNotificationsRead:t.markAllNotificationsRead,getNotifyStats:()=>n.getStats(),getCurrentPath:()=>s()?.currentPath??`/`,isForcedUpgradeActive:()=>r.getState().forcedUpgrade!==null,isFullScreenPaneActive:()=>i.isFullScreenPaneActive(),getShellExecutionSnapshot:a.getShellExecutionSnapshot,addContextTurn:e=>o.addTurn(e),markContextTurns:e=>o.markTurns(e),showToast:t.showToast,setTopView:e=>{s()?.navigate(`/`,{reset:!0}),c.toBottom(),c.setTotalLines(0)}}}function E_(e){let t=e.intervalMs??5e3,n=e.minIntervalMs??2e3,{stdout:r,enabled:i}=e,a=null,o=0,s=()=>{try{r.write(`\x1B]11;?\x07`),o=Date.now()}catch{}};return{start:()=>{i&&r.isTTY&&(a||(s(),a=setInterval(s,t),a.unref?.()))},stop:()=>{a&&=(clearInterval(a),null)},pollNow:()=>{i&&r.isTTY&&(Date.now()-o<n||s())}}}function D_(e,t,n,r,i){return{onPermissionDecision:(e,n,i)=>{let a=t.get(e);t.delete(e),r.setState({pendingPermission:null}),p()?.goBack(),a?.({approved:n,mode:i})},onSelectResolve:e=>{let t=n.select;n.select=null,p()?.goBack(),t?.(e)},onInputResolve:e=>{let t=n.input;t&&(n.input=null,p()?.currentPath===`/dialog/input`&&p()?.goBack(),t(e))},onOnboardingResolve:e=>{n.onboarding?.(e)},onInputAction:()=>{let e=n.inputAction;e?.()},onQuestionsResolve:(e,t)=>{let r=n.questions;r&&(i?.(!1),n.questions=null,p()?.currentPath===`/dialog/questions`&&p()?.goBack(),r(e,t))},onConfirmResolve:(e,t)=>{let r=n.confirm,i=n.cancel,a=n.extra;n.confirm=null,n.cancel=null,n.extra=null,p()?.currentPath===`/dialog/confirm`&&p()?.goBack(),!(!r&&!i&&!a)&&(t?a?.():e?r?.():i?.())},onAlertResolve:()=>{let e=n.alert;n.alert=null,p()?.goBack(),e?.()},onPromptResolve:e=>{let t=n.prompt;n.prompt=null,p()?.goBack(),t?.(e)},getTurnMessagesFor:t=>{let n=r.getState().turnBoundaries,i=e.getMessages(),a=t>1?n[t-2]??0:0,o=n[t-1]??i.length;return i.slice(a,o)}}}function O_(e,t,n,r,i){return()=>{if(t()||i.getState().queued.length===0)return;let[e,...a]=i.getState().queued;i.setState({queued:a}),n(),queueMicrotask(()=>r?.(e.text,e.mode))}}function k_(e){let[,t]=K(0);H.useEffect(()=>{let n=()=>t(e=>e+1);return e.state.listener=n,()=>{e.state.listener===n&&(e.state.listener=null)}},[]);let n=H.useCallback(()=>{$l(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),r=H.useCallback(()=>{p()?.goBack(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),i=H.useCallback(()=>{p()?.currentPath===`/subagent`&&p()?.goBack(),e.opts.onSubagentExit?.(),e.taskStore.setState({subagentContext:null}),e.flushScrollbackIfIdle(),e.notify()},[]),a=H.useCallback(()=>{e.taskStore.getState().queued.length!==0&&(e.taskStore.setState({queued:e.taskStore.getState().queued.slice(0,-1)}),e.notify())},[]),o=H.useCallback(()=>{p()?.currentPath===`/dialog/info`&&p()?.goBack(),e.notify()},[]),s=H.useCallback(()=>{p()?.currentPath===`/dialog/memory`&&p()?.goBack(),e.notify()},[]),c=H.useCallback(()=>{p()?.currentPath===`/dialog/keybindings`&&p()?.goBack(),e.notify()},[]),l=H.useCallback(()=>{p()?.currentPath===`/dialog/shortcuts`&&p()?.goBack(),e.notify()},[]),u=H.useCallback(()=>{p()?.navigate(`/pane/context/detail`)},[]),d=H.useCallback(()=>{p()?.currentPath===`/pane/context/detail`&&p()?.goBack()},[]),f=H.useCallback(()=>{let e=p();e?.currentPath.startsWith(`/pane/context`)&&e.navigate(`/`,{reset:!0})},[]),m=H.useCallback(()=>{let e=p();e&&(e.currentPath===`/pane/notifications`?e.goBack():e.navigate(`/pane/notifications`))},[]),h=H.useCallback(t=>{e.notificationStore.setState({notifications:e.notificationStore.getState().notifications.filter(e=>e.id!==t)}),e.notificationStore.getState().notifications.length===0&&p()?.goBack()},[]),g=H.useCallback(()=>{e.notificationStore.setState({notifications:e.notificationStore.getState().notifications.map(e=>({...e,read:!0}))}),p()?.goBack()},[]),_=H.useCallback(()=>{e.opts.onSubmit?.(`/upgrade`,`send`)},[]),v=H.useCallback(()=>{e.stopRef.current?.()},[]),y=H.useCallback((t,n)=>{e.state.toastTimer&&clearTimeout(e.state.toastTimer);let r={id:++e.toastCounterRef.current,title:t,content:n};e.notificationStore.setState({toast:r}),Jr(p(),Lr,!0),e.state.toastTimer=setTimeout(()=>{e.notificationStore.setState({toast:null}),e.state.toastTimer=null,Jr(p(),Lr,!1),e.notify()},jm),e.notify()},[]),b=H.useCallback(()=>{e.state.toastTimer&&(clearTimeout(e.state.toastTimer),e.state.toastTimer=null),e.notificationStore.getState().toast&&(e.notificationStore.setState({toast:null}),Jr(p(),Lr,!1),e.notify())},[]),x=e.scrollbackMode?H.useCallback(t=>{e.inkWriteRef.current=t},[]):void 0,S=e.opts.welcome?.cwd?H.useCallback(async t=>{let{content:n,truncated:r}=await tn(pn(e.opts.welcome.cwd,t));return{content:n,truncated:r}},[]):void 0,C=H.useCallback(()=>{if(e.taskStore.getState().editedFiles.length===0)return;let t=p();if(!t)return;let n=`/pane/edited-files`;t.currentPath===n||t.currentPath.startsWith(n+`/`)?t.navigate(`/`,{reset:!0}):t.navigate(n,{replace:!0})},[]),w=H.useCallback(()=>{if(e.taskStore.getState().subagentsAccum.size===0)return;let t=p();t&&(t.currentPath===`/pane/subagents`?t.navigate(`/`,{reset:!0}):t.navigate(`/pane/subagents`,{replace:!0}))},[]),T=H.useCallback(()=>{if(e.taskStore.getState().scheduleTasks.length===0)return;let t=p();t&&(t.currentPath===`/pane/schedule`?t.navigate(`/`,{reset:!0}):t.navigate(`/pane/schedule`,{replace:!0}))},[]),E=H.useCallback(e=>{let t=p();if(!t)return;let n=`/pane/draft`,r=t.currentPath===n||t.currentPath.startsWith(n+`/`),i=e??!r;i&&!r?t.navigate(n,{replace:!0}):!i&&r&&t.navigate(`/`,{reset:!0})},[]),D=H.useCallback(e=>{let t=p();if(!t)return;let n=`/pane/queue`,r=t.currentPath===n||t.currentPath.startsWith(n+`/`),i=e??!r;i&&!r?t.navigate(n,{replace:!0}):!i&&r&&t.navigate(`/`,{reset:!0})},[]),O=H.useCallback(()=>{let e=p();if(!e)return;let t=`/pane/prompts`;e.currentPath===t||e.currentPath.startsWith(t+`/`)?$l():e.navigate(t,{replace:!0})},[]),k=H.useCallback(t=>{e.opts.onDraftSave?.(t)},[]),ee=H.useCallback(t=>{let n=e.taskStore.getState().drafts[t];n&&e.opts.onDraftDelete?.(n.id)},[]),te=H.useCallback(t=>{e.opts.onDraftDeleteMany?.(t)},[]),A=H.useCallback(t=>{e.taskStore.setState({queued:e.taskStore.getState().queued.filter((e,n)=>n!==t)}),e.notify()},[]),ne=H.useCallback((t,n)=>{let r=t,i=t+n;if(i<0||i>=e.taskStore.getState().queued.length||r<0||r>=e.taskStore.getState().queued.length)return;let a=[...e.taskStore.getState().queued],[o]=a.splice(r,1);o&&a.splice(i,0,o),e.taskStore.setState({queued:a}),e.notify()},[]),j=H.useCallback((t,n)=>{let r=e.taskStore.getState().queued;if(t<0||t>=r.length)return;let i=[...r],a=i[t];a&&(i[t]={...a,text:n}),e.taskStore.setState({queued:i}),e.notify()},[]),M=H.useCallback((t,n)=>{let r=e.taskStore.getState().queued;if(t<0||t>=r.length)return;let i=r[t].mode;e.taskStore.setState({queued:r.filter((e,n)=>n!==t)}),e.notify(),e.opts.onQueueSendNow?.(n,i)},[]),re=H.useCallback(t=>{let n=e.notificationStore.getState().errorRetry;n&&(e.notificationStore.setState({errorRetry:{...n,focusIndex:t}}),e.notify())},[]),N=H.useCallback(t=>{let n=e.notificationStore.getState().pulseSurvey;n&&(e.notificationStore.setState({pulseSurvey:{...n,...t}}),e.notify())},[]),ie=H.useCallback(()=>{if(e.taskStore.getState().backgroundTasks.length===0)return;let t=p();if(!t)return;let n=`/pane/delegates`;t.currentPath===n||t.currentPath.startsWith(n+`/`)?(t.navigate(`/`,{reset:!0}),e.taskStore.setState({backgroundOutput:null}),e.flushScrollbackIfIdle()):t.navigate(n,{replace:!0})},[]),P=H.useCallback(()=>{e.state.shellTimer&&clearTimeout(e.state.shellTimer),e.taskStore.setState({shellExecution:null}),e.state.shellTimer=null,p()?.currentPath===`/pane/shell`&&p()?.goBack(),e.notify()},[]),ae=H.useCallback(()=>{let t=e.taskStore.getState().shellExecution;t&&(Xn(t.output),y(V.t(`shell.copiedTitle`),V.t(`shell.copiedBody`)))},[]);return H.useEffect(()=>{let t=null,n=()=>{t&&clearTimeout(t),t=setTimeout(()=>{let t=e.opts.columns||(e.stdout.columns>0?e.stdout.columns:process.stdout.columns>0?process.stdout.columns:80),n=e.opts.rows||(e.stdout.rows>0?e.stdout.rows:process.stdout.rows>0?process.stdout.rows:24);(t!==e.columnsRef.current||n!==e.rowsRef.current)&&(e.columnsRef.current=t,e.rowsRef.current=n,e.notify())},100)};return e.stdout.on(`resize`,n),()=>{t&&clearTimeout(t),e.stdout.off(`resize`,n)}},[]),H.createElement(pg,{columns:e.columnsRef.current,rows:e.rowsRef.current,registerWrite:e.scrollbackMode?x:void 0,maxPreviewRows:e.scrollbackMode?1:void 0,hasHistory:e.hasHistoryRef.current,messages:e.messageStore.getState().messages,scrollStore:e.scrollStore,loadHistory:e.opts.loadHistory,messageStore:e.messageStoreHandle,windowMode:e.windowMode,scrollbackMode:e.scrollbackMode,shadow:e.opts.shadow??!1,language:e.languageRef.current,systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,keybindingOverrides:e.opts.keybindingOverrides,onCyclePermissionMode:e.opts.onCyclePermissionMode,pluginInput:e.opts.pluginInput,readFileContent:S,getTurnMessages:e.getTurnMessagesFor,editedFilesOpen:!1,onToggleEditedFiles:C,subagentsOpen:!1,onToggleSubagents:w,onToggleSchedule:T,initialHistory:e.opts.initialHistory,externalHistoryCommands:e.opts.externalHistoryCommands,onHistoryPush:e.opts.onHistoryPush,residencyGovernor:e.opts.residencyGovernor,resolveWholeFileDiff:e.opts.resolveWholeFileDiff,restoreInputRef:e.restoreInputRef,pasteBridgeRef:e.pasteBridgeRef,scheduleOpen:!1,draftOpen:!1,onToggleDraftPane:E,onDraftSave:k,onDraftDelete:ee,onDraftDeleteMany:te,onSigilSelect:e.opts.onSigilSelect,queueOpen:!1,onToggleQueuePane:D,onTogglePrompts:O,onQueueDelete:A,onQueueMove:ne,onQueueEditText:j,onQueueSendNow:M,pendingEcho:e.taskStore.getState().pendingEcho,onErrorRetryFocusChange:re,onPulseSurveyChange:N,backgroundTasksOpen:!1,onToggleDelegates:ie,onBackgroundClose:n,onBackgroundKill:e.opts.onBackgroundKill,onBackgroundViewOutput:e.opts.onBackgroundViewOutput,onBackgroundOutputClose:r,onBackgroundApply:e.opts.onBackgroundApply,onBackgroundSwitch:e.opts.onBackgroundSwitch,onBackgroundDelete:e.opts.onBackgroundDelete,onExitSubagentContext:i,onPaneOwnsViewportChange:e.scrollbackMode?e.setPaneOwnsViewport:void 0,onFocusOwnerChange:e.scrollbackMode?e.setFocusOwnerForBuffer:void 0,onScrollActiveChange:e.setScrollActive,onDelegateSupply:e.opts.onDelegateSupply,welcome:e.opts.welcome,onSessionSelect:e.opts.onSessionSelect,budgetStore:e.budgetStore,contextStore:e.contextStore,notificationStore:e.notificationStoreHandle,perfStore:e.perfStore,onPerfDismiss:()=>{p()?.currentPath===`/pane/perf`&&p()?.goBack()},cacheStore:e.cacheStore,onCacheDismiss:()=>{p()?.currentPath===`/pane/cache`&&p()?.goBack()},proxyStore:e.proxyStore,proxyOpen:!1,onProxyDismiss:()=>{p()?.goBack()},onProxyOpenModal:e.proxyOpenModal,onProxySubmitUrl:e.opts.onProxySubmitUrl,onProxyToggleEnabled:e.opts.onProxyToggleEnabled,onProxyClear:e.opts.onProxyClear,compactionLogStore:e.compactionLogStore,onCompactionLogDismiss:()=>{let e=p();e?.currentPath.startsWith(`/pane/compaction-log`)&&e.navigate(`/`,{reset:!0})},galleryStore:e.galleryStore,onGalleryDismiss:()=>{p()?.currentPath===`/pane/gallery`&&p()?.goBack()},streamStore:e.streamStoreHandle,taskStore:e.taskStoreHandle,initialPath:e.opts.initialPath,onPerfRefresh:e.opts.onPerfRefresh,onSubmit:e.submitOrQueue,onInterrupt:e.opts.onInterrupt,onWithdrawPending:e.opts.onWithdrawPending,onWithdrawSteer:e.opts.onWithdrawSteer,onPopQueued:a,onPermissionDecision:e.onPermissionDecision,onSelectResolve:e.onSelectResolve,onInputResolve:e.onInputResolve,onOnboardingResolve:e.onOnboardingResolve,onInputAction:e.onInputAction,onQuestionsResolve:e.onQuestionsResolve,onConfirmResolve:e.onConfirmResolve,onAlertResolve:e.onAlertResolve,onPromptResolve:e.onPromptResolve,onInfoDismiss:o,onMemoryDismiss:s,onKeybindingPanelDismiss:c,onShortcutsDialogDismiss:l,onViewDetails:u,onBackToContextPane:d,onContextDismiss:f,notificationsOpen:!1,onToggleNotifications:m,onDismissNotification:h,onCloseNotifications:g,onUpgrade:_,onCancelUpgrade:v,onToast:y,onDismissToast:b,registryRef:e.registryRef,shellBackendRef:e.shellBackendRef,shellExecution:e.taskStore.getState().shellExecution,onShellAbort:e.opts.onInterrupt,onShellDismiss:P,onShellCopyOutput:ae,onShellAskAi:e.opts.onShellAskAi,a2uiButtons:e.a2uiButtonsRef.current,onA2uiAction:e.a2uiActionRef.current})}function A_(){let e=Buffer.alloc(0);return t=>{let n=m(t),r=e.length?Buffer.concat([e,n]):n;e=Buffer.alloc(0);let i=r.length;i>=2&&r[i-2]===27&&r[i-1]===91&&(e=Buffer.from(r.subarray(i-2)),i-=2);let a,o=[],s=0;for(;s<i;){if(r[s]===27&&r[s+1]===91&&(r[s+2]===73||r[s+2]===79)){a=r[s+2]===73,s+=3;continue}o.push(r[s]),s++}return{focused:a,rest:Buffer.from(o)}}}var j_=class{pending=null;feed(e){let t=m(e),n=this.pending?Buffer.concat([this.pending,t]):t;this.pending=null;let r=[],i=null,a=0;for(;a<n.length;){let e=n.indexOf(`\x1B]`,a,`latin1`);if(e<0){a<n.length&&r.push(n.slice(a));break}e>a&&r.push(n.slice(a,e));let t=n.indexOf(7,e),o=n.indexOf(`\x1B\\`,e,`latin1`),s=-1,c=0;if(t>=0&&(o<0||t<o)?(s=t,c=1):o>=0&&(s=o,c=2),s<0){let t=n.slice(e);t.length>64?r.push(t):this.pending=t;break}let l=M_(n.slice(e,s).toString(`latin1`));l&&(i=l),a=s+c}return{keys:r.length>0?Buffer.concat(r):Buffer.alloc(0),osc11:i}}};function M_(e){let t=e.match(/\]11;rgb:([0-9a-fA-F]+)\/([0-9a-fA-F]+)\/([0-9a-fA-F]+)/);if(!t)return null;let n=parseInt(t[1].slice(0,2),16),r=parseInt(t[2].slice(0,2),16),i=parseInt(t[3].slice(0,2),16);return Number.isNaN(n)||Number.isNaN(r)||Number.isNaN(i)?null:{r:n,g:r,b:i}}function N_(e,t,n){return .2126*e+.7152*t+.0722*n<128?`dark`:`light`}function P_(e){let{stdin:t,renderStdout:n,onInterrupt:r,onFocusChange:i,onTerminalBgDetected:a,onMouseWheel:o,onMouseDrag:s}=e,c=[],l=process.env.OTTO_TUI_MOUSE===`0`,u=(typeof o==`function`||typeof s==`function`)&&!!t.isTTY,d=u&&!l,f=u?Qg():null,p=d,h;if(d)try{n.write(Kg)}catch{}u&&(h=()=>{try{n.write(qg)}catch{}},process.once(`exit`,h));let g=e=>{if(!u)return!1;if(e===p)return p;p=e;try{n.write(e?Kg:qg)}catch{}return p},_=new j_,v=e=>{if(!a)return m(e);let{keys:t,osc11:n}=_.feed(e);return n&&a(N_(n.r,n.g,n.b)),t},y=e=>{if(!f)return v(e);let{wheels:t,drags:n,rest:r}=f(e);if(p){for(let e of t)o?.(e.delta);for(let e of n)s?.(e)}return v(r)},b=process.env.OTTO_TUI_KITTY===`1`&&!!t.isTTY,x,S=t;if(b){try{n.write(`\x1B[>1u`)}catch{}x=()=>{try{n.write(n_)}catch{}},process.once(`exit`,x);let e=o_(),i=new Sn;Object.assign(i,{isTTY:!0,setRawMode:e=>{try{t.setRawMode?.(e)}catch{}return i},ref:()=>{try{t.ref?.()}catch{}return i},unref:()=>{try{t.unref?.()}catch{}return i}});let a=t=>{let n=y(t);if(n.length===0)return;let a=e(n);a.includes(3)&&r?.(),i.write(a)};t.on(`data`,a),c.push({stream:t,fn:a}),S=i}let C=process.env.OTTO_TUI_FOCUS===`1`&&!!t.isTTY&&typeof i==`function`,w;if(C){try{n.write(`\x1B[?1004h`)}catch{}w=()=>{try{n.write(`\x1B[?1004l`)}catch{}},process.once(`exit`,w);let e=S,t=A_(),r=new Sn;Object.assign(r,{isTTY:!0,setRawMode:t=>{try{e.setRawMode?.(t)}catch{}return r},ref:()=>{try{e.ref?.()}catch{}return r},unref:()=>{try{e.unref?.()}catch{}return r}});let a=e=>{let n=y(e);if(n.length===0)return;let{focused:a,rest:o}=t(n);a!==void 0&&i?.(a),o.length&&r.write(o)};e.on(`data`,a),c.push({stream:e,fn:a}),S=r}if(!b&&!C&&(a||d)){let e=S,t=new Sn;Object.assign(t,{isTTY:!0,setRawMode:n=>(e.setRawMode?.(n),t),ref:()=>(e.ref?.(),t),unref:()=>(e.unref?.(),t)});let n=e=>{let n=y(e);n.length>0&&t.write(n)};e.on(`data`,n),c.push({stream:e,fn:n}),e.resume(),S=t}return{renderStdin:S,kittyOn:b,focusOn:C,mouseOn:d,kittyExitHandler:x,focusExitHandler:w,mouseExitHandler:h,setMouseEnabled:g,isMouseEnabled:()=>p,cleanup:()=>{for(let{stream:e,fn:t}of c)e.removeListener(`data`,t);c.length=0}}}const F_=12e3;async function I_(e){let{stdin:t,stdout:n,onStop:r}=e,i=kc(e.maxFps??30),a=e.renderMaxFps??90;Ea();let o=e.columns||(n.columns>0?n.columns:process.stdout.columns>0?process.stdout.columns:80),s=e.rows||(n.rows>0?n.rows:process.stdout.rows>0?process.stdout.rows:24),c=e.language&&e.language!==`auto`?e.language:Et();Tt(c);let l=await ae(),u=e.themeRegistry,d=e.presetSelection,f=process.env.OTTO_TUI_SCOPED_VIEWPORT!==`0`,m=Sg(n),h=()=>Math.max(1,s-1);process.once(`exit`,()=>m.exit());let g=e.scrollback===!0||process.env.OTTO_TUI_SCROLLBACK===`1`,_=e.scrollback===!1||process.env.OTTO_TUI_SCROLLBACK===`0`,v=!g&&!_,y=ir()?rr(n):n;g&&!f&&(y=sr(y));let b=e=>{y.write(e)},x=!1,{streamStoreHandle:S,streamStore:C,notificationStoreHandle:w,notificationStore:T,taskStoreHandle:E,taskStore:D,messageStoreHandle:O,messageStore:k,scrollStoreHandle:ee,budgetStore:te,contextStore:A,perfStore:ne,cacheStore:j,proxyStore:M,compactionLogStore:re,galleryStore:N,completer:ie,shellBackendRef:P,a2uiButtonsRef:oe,a2uiActionRef:se,scanA2uiButtons:ce}=yg(e),le={toastTimer:null,listener:null,shellTimer:null},ue={current:null},de={current:null},fe=process.env.OTTO_TUI_PANE_BUFFER!==`0`,me=`prompt`,he=()=>fe&&(D.getState().subagentContext!=null||D.getState().backgroundOutput!=null||D.getState().paneOwnsViewportFlag||me!==`prompt`),ge=bg({paneOwnsViewport:he,realWrite:e=>b(e)}),_e=()=>{he()||ge.flush()},ve=e=>{let t=me===`prompt`;me=e,e===`prompt`&&!t&&_e()},ye=!0,be=e=>{ye=e},xe=e=>{D.setState({paneOwnsViewportFlag:e}),e||_e()},Se={msg:0,perm:0,toast:0,notify:0},Ce=new Map,we=new Map,Te={select:null,input:null,inputAction:null,questions:null,confirm:null,cancel:null,extra:null,alert:null,prompt:null,onboarding:null},F={current:null},Ee={current:null},De=(e=>Ee.current?Ee.current.openModal(e):e.kind===`input`?Promise.resolve(null):void 0),Oe=Mc({listener:()=>le.listener?.(),intervalMs:i}),ke=()=>Oe.immediate();E.setNotify(ke),w.setNotify(ke);let{commitToHistory:Ae,commitManyToHistory:je}=d_({scrollbackBuffer:ge,getColumns:()=>o,getHasHistory:()=>x,setHasHistory:e=>{x=e},notify:ke}),{streamTextCoalescer:Me,streamThinkingCoalescer:Ne,outputTokensThrottle:Pe,resetController:Fe}=l_({streamStore:C,messageStore:k,messageStoreHandle:O,scrollbackBuffer:ge,scrollbackMode:g,coalesceMs:i,getColumns:()=>o,getHasHistory:()=>x,setHasHistory:e=>{x=e},getMsgCounter:()=>Se.msg,incMsgCounter:()=>++Se.msg,notify:ke}),Ie=()=>$i(Qi(Xi(e.isAgentBusy,C.getState().processing),!!T.getState().errorRetry),!!e.isPaused?.()),I=(t,n,r)=>{let i=ea(t,n,r??!1,{processing:Ie(),isImmediateCommand:t=>e.isImmediateCommand?.(t)??!1,isInterruptCommand:t=>e.isInterruptCommand?.(t)??!1});if(i===`queue`){D.setState({queued:[...D.getState().queued,{text:t,mode:n}]}),ke();return}e.onSubmit?.(t,n,i===`steer`?`steer`:`send`)},Le=O_(le,Ie,ke,e.onSubmit,D);E.setEffects({syncForcedUpgradeRoute:e=>Jr(p(),Hr,e),backgroundOutputRoute:e=>{e?p()?.navigate(`/pane/delegates/output`):p()?.currentPath===`/pane/delegates/output`&&p()?.goBack()},flushScrollbackIfIdle:_e,registerStatusItems:e=>Go(`cli-status`,{pluginId:`cli-status`,statusItems:[...e]})}),w.setEffects({drainQueueOnResume:()=>Le(),syncPulseSurveyRoute:e=>Jr(p(),Vr,e)});let{onPermissionDecision:Re,onSelectResolve:ze,onInputResolve:Be,onOnboardingResolve:Ve,onInputAction:He,onQuestionsResolve:Ue,onConfirmResolve:We,onAlertResolve:Ge,onPromptResolve:Ke,getTurnMessagesFor:qe}=D_({getMessages:()=>k.getState().messages},we,Te,D,xe),Je={state:le,columnsRef:{get current(){return o},set current(e){o=e}},rowsRef:{get current(){return s},set current(e){s=e}},hasHistoryRef:{get current(){return x},set current(e){x=e}},inkWriteRef:{get current(){return b},set current(e){b=e}},toastCounterRef:{get current(){return Se.toast},set current(e){Se.toast=e}},languageRef:{get current(){return c},set current(e){c=e}},systemTheme:l,themeRegistry:u,presetSelection:d,stopRef:{},taskStore:D,notificationStore:T,messageStore:k,streamStoreHandle:S,taskStoreHandle:E,notificationStoreHandle:w,messageStoreHandle:O,budgetStore:te,contextStore:A,perfStore:ne,cacheStore:j,proxyStore:M,compactionLogStore:re,galleryStore:N,opts:e,notify:ke,flushScrollbackIfIdle:_e,setPaneOwnsViewport:xe,setFocusOwnerForBuffer:ve,setScrollActive:be,getTurnMessagesFor:qe,submitOrQueue:I,onPermissionDecision:Re,onSelectResolve:ze,onInputResolve:Be,onOnboardingResolve:Ve,onInputAction:He,onQuestionsResolve:Ue,onConfirmResolve:We,onAlertResolve:Ge,onPromptResolve:Ke,proxyOpenModal:De,restoreInputRef:ue,pasteBridgeRef:de,registryRef:F,shellBackendRef:P,a2uiButtonsRef:oe,a2uiActionRef:se,scrollbackMode:g,windowMode:v,scrollStore:ee,stdout:n},Ye=()=>k_(Je),Xe=E_({stdout:y,enabled:!0}),Ze=$g(e=>{ee.dispatchWheel(e)||me===`prompt`&&ye&&ee.scrollBy(e*3)}),Qe={current:null},$e=0;ru(ee.store,()=>Qe.current?.clear());let{renderStdin:et,kittyOn:tt,focusOn:nt,mouseOn:rt,kittyExitHandler:it,focusExitHandler:at,mouseExitHandler:ot,setMouseEnabled:L,isMouseEnabled:st,cleanup:R}=P_({stdin:t,renderStdout:y,onInterrupt:e.onInterrupt,onFocusChange:e.onFocusChange,onMouseWheel:e=>Ze.push(e),onMouseDrag:e=>{Qe.current?.handleDrag(e)},onTerminalBgDetected:e=>{process.env.OTTO_DEBUG_THEME&&process.stderr.write(`[RFC-282] OSC detected: ${e} themeRef=${!!pe()}\n`),pe()?.setSystemTheme(e)}}),ct=e.concurrent??process.env.OTTO_TUI_CONCURRENT===`1`;f&&m.enter();let lt=await Ng(y);lt?.buffer.setMaxLineWidth(o),lt&&(Qe.current=Wg({buffer:lt.buffer,terminalRows:()=>h(),writeSelectionRepaint:e=>{if(e)try{y.write(e)}catch{}},writeClipboard:e=>{let t=t_(e),n=!1;try{Xn(e),n=!0}catch{n=!1}return t||n},onCopied:(e,t)=>{let n=Gg(e);if(t){$e+=1;let t=$e;D.setState({clipboardChars:n,clipboardText:e,clipboardFailed:!1,clipboardJustCopied:!0}),setTimeout(()=>{D.getState().clipboardChars===n&&D.setState({clipboardChars:0})},F_),setTimeout(()=>{$e===t&&D.setState({clipboardJustCopied:!1})},1500)}else D.setState({clipboardFailed:!0,clipboardChars:0}),setTimeout(()=>{D.getState().clipboardFailed&&D.setState({clipboardFailed:!1})},F_)}}),tu(Qe.current),lt.onDamage(e=>{Qe.current?.onFrameDamage(e)}));let{waitUntilExit:ut,unmount:dt}=zt(H.createElement(Ye),{stdout:y,stdin:et,exitOnCtrlC:!1,maxFps:a,concurrent:ct});ct&&await new Promise(e=>{let t=Date.now()+1e3,n=()=>{le.listener||Date.now()>t?e():setImmediate(n)};n()});let ft=s_({stdin:t,stdout:n,renderStdout:y,kittyOn:tt,kittyExitHandler:it,focusOn:nt,focusExitHandler:at,mouseOn:rt,mouseExitHandler:ot,onInterrupt:e.onInterrupt,unmount:()=>dt(),terminalInputCleanup:R});ft.setupRawInput(),Xe.start();let pt=()=>{Xe.pollNow();let e=n.columns>0?n.columns:o;lt?.buffer.setMaxLineWidth(e)};n.on(`resize`,pt),process.once(`exit`,()=>{n.removeListener(`resize`,pt),Xe.stop()});let mt={stopped:!1,unmounted:!1},z=!1,ht=()=>{if(z)return;z=!0;let e=e=>{try{e()}catch{}};e(()=>ft.cleanup()),e(()=>lt?.dispose()),e(()=>{m.active()||n.write(xg(h()))}),e(()=>{n.write(`\x1B[?25h`)}),e(()=>m.exit())},gt=f_({taskStore:D,notificationStore:T,cacheStore:j,proxyStore:M,resolvers:Te,getNotifyStats:()=>Oe.getStats(),flushScrollbackIfIdle:_e,paneOwnsViewport:he,setPaneOwnsViewport:xe});Ee.current=gt;let _t=p_({taskStore:D,state:le,notify:ke,showToast:(...e)=>Ot.info.showToast(...e)}),vt=m_({notificationStore:T,state:le,counters:Se,notify:ke}),yt=v_({pendingMethods:h_({taskStore:D,messageStoreHandle:O,counters:Se,pendingSteerMsgIds:Ce,scrollbackMode:g,commitToHistory:Ae,scanA2uiButtons:ce,notify:ke}),restoreInputRef:ue,pasteBridgeRef:de}),bt=b_({messageStoreHandle:O,notify:ke}),xt=y_({lifecycleFlags:mt,scrollbackBuffer:ge,streamTextCoalescer:Me,streamThinkingCoalescer:Ne,notifyScheduler:Oe,state:le,registryUnregisterAll:qo,unmount:dt,windowMode:v,scopedViewport:f,hasHistoryRef:{set:e=>{x=e}},resetStreamController:Fe,messageStoreHandle:O,scrollStoreHandle:ee,streamStoreHandle:S,taskStoreHandle:E,notificationStoreHandle:w,perfStore:ne,contextStore:A,budgetStore:te,taskStore:D,notificationStore:T,a2uiButtonsRef:oe,resetStatusWidgetBreakers:uu,getRouterRef:p,overlayPaths:Kr,syncOverlayRoute:Jr,notify:ke,i18next:V,detectLanguage:Et,setLanguage:e=>{c=e},getThemeRef:pe,setTerminalTitle:Kn,onStop:r,detachSessionSource:bt.detachSessionSource,teardownTerminal:ht}),St=C_({modalHandleMethods:gt,taskStore:D,getRouterRef:p,syncOverlayRoute:Jr,overlayServices:Wr,flushScrollbackIfIdle:_e,notify:ke}),Ct=w_({taskStore:D,taskStoreHandle:E,registerPlugin:Go,registryUnregister:Ko,computeStalePluginIds:Xo,getRegistrySnapshot:Jo,getStatusItems:Qo,getStatusWidgets:es,resetStatusWidgetBreakers:uu,registryRef:F,a2uiButtonsRef:oe,subagentRestoreFields:Do,notify:ke}),B=T_({notificationMethods:vt,notifyScheduler:Oe,taskStore:D,modalHandleMethods:gt,shellMethods:_t,contextStore:A,getRouterRef:p,scrollStoreHandle:ee}),wt=S_({streamMethods:g_({streamStore:C,streamTextCoalescer:Me,streamThinkingCoalescer:Ne,outputTokensThrottle:Pe,perfStore:ne,compactionLogStore:re,drainQueue:Le,getRouterRef:p,notify:ke}),taskStore:D,notificationStore:T,notificationMethods:vt,getRouterRef:p,syncOverlayRoute:Jr,overlayPause:Rr,drainQueue:Le,notify:ke}),Dt=x_({scrollbackMode:g,commitToHistory:Ae,commitManyToHistory:je,messageStoreHandle:O,counters:Se,getTurnMessagesFor:qe,taskStore:D,notify:ke,scanA2uiButtons:ce}),Ot={modal:__({modalHandleMethods:gt,permResolvers:we,counters:Se,taskStore:D,getRouterRef:p,notify:ke,onConfirmResolve:We}),pending:yt,lifecycle:{...xt,...bt,toggleMouse:()=>{let e=L(!st());return Ot.info.showToast(V.t(`mouse.toggleTitle`),e?V.t(`mouse.enabledBody`,{modifier:of()}):V.t(`mouse.disabledBody`)),e}},messages:Dt,engine:wt,panes:St,plugins:Ct,info:B,shell:_t,stores:{tasks:E.actions,budget:{setBudget:te.setBudget},context:{setBudget:A.setBudget,addTurn:A.addTurn,markTurns:A.markTurns},cache:{setView:j.setView},proxy:{setView:M.setView},notification:{setProviderUsage:w.setProviderUsage,setPausePending:w.setPausePending,setPaused:w.setPaused,setPulseSurvey:w.setPulseSurvey}}};return Je.stopRef.current=()=>Ot.lifecycle.stop(),ut().then(()=>{mt.unmounted||(mt.unmounted=!0,dt()),ht()}),Ot}function L_(){return{streamBuf:``,thinkBuf:``,turnStart:0,turnToolCount:0,lastTasks:[],messageIndex:0}}function R_(e,t){let n=[];e.forEach((e,t)=>{e?.role===`user`&&n.push(t)});let r=n.length,i=Math.max(t,r);if(r===0||i<=1)return[];let a=n[0],o=Array(i-1).fill(a);for(let e=0;e<r;e++){let t=i-r-1+e;t>=0&&t<o.length&&(o[t]=n[e])}return o}function z_(e){return e.filter(e=>e.status!==`done`&&e.status!==`skipped`&&e.status!==`failed`).length}function B_(e,t,n){if(t.length===0)return[...e];let r=[];e.forEach((e,t)=>{e?.role===`user`&&r.push(t)});let i=r.length,a=Math.max(n,i);if(i===0||a<=0)return[...e];let o=a-i+1,s=new Map;for(let e of t)s.set(e.turn,e);let c=new Map;for(let t of s.values()){if(t.turn<o||t.turn>a)continue;let n=t.turn-o,s=n+1<i?r[n+1]:e.length,{turn:l,...u}=t,d={role:`summary`,...u},f=c.get(s);f?f.push(d):c.set(s,[d])}if(c.size===0)return[...e];let l=[];for(let t=0;t<e.length;t++){l.push(e[t]);let n=c.get(t+1);n&&l.push(...n)}return l}function V_(e,t){let n=z_(t.lastTasks),r=e.stopReason??`completed`,i=r===`error`?`error`:r===`interrupted`?`interrupted`:n>0?`incomplete`:`done`,a={toolCount:t.turnToolCount,elapsedMs:t.turnStart>0?performance.now()-t.turnStart:0,tokensUsed:e.tokens??void 0,model:e.model||void 0,effort:e.effort||void 0,cacheHitRatio:e.cacheHitRatio??void 0};return i===`incomplete`?{...a,status:i,tasksDone:t.lastTasks.length-n,tasksTotal:t.lastTasks.length}:{...a,status:i}}function H_(e,t,n){let r=()=>{n.thinkBuf.trim()&&(t.pushMessage({role:`assistant`,content:[{type:`thinking`,thinking:n.thinkBuf}]}),n.messageIndex++),n.thinkBuf=``,t.pushEngineEvent({kind:`streamingThinking`,text:``})};switch(e.kind){case`prompt.start`:n.turnStart=performance.now(),n.turnToolCount=0,t.addTurnBoundary?.(n.messageIndex);return;case`prompt.end`:{n.thinkBuf.trim()&&(t.pushMessage({role:`assistant`,content:[{type:`thinking`,thinking:n.thinkBuf}]}),n.messageIndex++),n.streamBuf=``,n.thinkBuf=``,t.pushEngineEvent({kind:`streamingText`,text:``}),t.pushEngineEvent({kind:`streamingThinking`,text:``});let r={role:`summary`,...V_(e,n)};t.pushMessage(r),n.messageIndex++;return}case`stream.text.delta`:n.streamBuf+=e.delta,t.pushEngineEvent({kind:`streamingText`,text:n.streamBuf});return;case`stream.thinking.delta`:n.thinkBuf+=e.delta,t.pushEngineEvent({kind:`streamingThinking`,text:n.thinkBuf});return;case`stream.text.start`:r(),n.streamBuf=``;return;case`stream.text.end`:t.pushEngineEvent({kind:`streamingText`,text:``}),n.streamBuf=``;return;case`stream.thinking.start`:n.thinkBuf=``;return;case`stream.thinking.end`:r();return;case`tool.start`:t.pushEngineEvent({kind:`activeTool`,name:e.call.name});return;case`tool.end`:{if(t.pushEngineEvent({kind:`activeTool`,name:null}),n.turnToolCount++,e.suppressMessage)return;let r=e.call.arguments??{},i=r,a=i.command??i.path??i.file_path??i.pattern??i.query??JSON.stringify(r);t.pushMessage({role:`tool`,name:e.call.name,args:typeof a==`string`?a:JSON.stringify(a),argsObj:r,result:e.resultText,isError:e.isError}),n.messageIndex++;return}case`tasks.update`:n.lastTasks=e.tasks,t.setTasks(e.tasks,e.title);return;case`turn.budget`:t.pushEngineEvent({kind:`toolBudget`,toolTurnCount:e.toolTurnCount,maxToolTurns:e.maxToolTurns,outputTokens:e.outputTokens,outputTokenBudget:e.outputTokenBudget});return;case`delegate.update`:return}}function U_(e,t={}){for(let t of e){let e=t.role??`unknown`,n=t.content??[],r=Array.isArray(n)?n.filter(e=>e.type===`text`).map(e=>String(e.text??``)).join(`
108
+ `):String(n);if(e===`user`)process.stdout.write(`\x1b[34m▸ ${r}\x1b[0m\n`);else if(e===`assistant`){process.stdout.write(`${r}\n`);let e=t.tool_calls??[];for(let t of e){let e=t.function;process.stdout.write(`\x1b[33m ⚙ ${e?.name??`unknown`}\x1b[0m\n`)}}else e===`system`?process.stdout.write(`\x1b[2m${r}\x1b[0m\n`):process.stdout.write(`${r}\n`)}}function W_(e,t){return{search:n=>Qt(e,n,t)}}function G_(e){let{transport:t,sessionId:n,onSessionEvent:r,hydrateMessages:i,onGap:a}=e;return{async start(e){let o=null,s=!1,c=!1,l=0,u=1,d=new Map,f=e=>{s||(o?.(),l=e,u=e+1,d.clear(),o=t.subscribe(n,e,e=>{if(!(s||e.seq<u||d.has(e.seq)))for(d.set(e.seq,e);d.has(u);){let e=d.get(u);d.delete(u),r(e),l=u,u+=1}},e=>{s||c||(a(e),p())}))},p=async()=>{if(!c){c=!0;try{let r=await t.fetchSnapshot(n);if(s)return;i(e,r.session.messages),f(r.cursor)}catch{a({reason:`gap`,oldestAvailable:l})}finally{c=!1}}};try{let r=await t.fetchSnapshot(n);if(s)return()=>{};i(e,r.session.messages),f(r.cursor)}catch(e){throw s=!0,e}return()=>{s=!0,o?.(),o=null}}}}function K_(e){let t=L_();return{handle(n){H_(n.payload,e,t)},reset(e=0){t={...L_(),messageIndex:e}}}}function q_(e){return{pushMessage:e.pushMessage,echoUserInput:e.echoUserInput,pushEngineEvent:e.pushEngineEvent,getNotifyStats:e.getNotifyStats,setTasks:e.setTasks,addTurnBoundary:e.addTurnBoundary}}export{Ml as AlertDialog,pg as App,ai as BASH_HISTFILE_SOURCE,jl as BashPermissionDialog,zn as BracketedPasteHandler,F as Button,mo as COMPACTING_SENTINEL,Dt as CommandRegistry,Ge as ConfirmDialog,De as Cursor,Yr as DEFAULT_SENSITIVE_PATTERNS,Oe as DIALOG_BORDER,et as DataList,R as FIGURES,li as FISH_HISTFILE_SOURCE,bt as GroupDivider,fd as Home,ne as LAYOUT,Me as MeasuredText,yl as MemoryDialog,zc as Message,mi as OTTO_SESSION_SOURCE,it as PALETTE,pt as PANEL_BORDER,Dl as PermissionDialogDialog,Nl as PromptDialog,Pi as PromptInput,Fi as QueuedCommands,dl as REPLRegion,t as SPACING,Ye as STATUS,Ac as STREAM_COALESCE_MS,_ as ScrollIndicatorAbove,C as ScrollIndicatorBelow,Pd as Segmented,Pd as Tabs,z as Select,Tc as SigilPane,bd as Spinner,I as THEME,gg as TabScope,He as Tabable,mt as TextInput,de as ThemeRegistry,Zr as ZSH_HISTFILE_SOURCE,sn as applySigilCompletion,Tr as applySlashCompletion,Qn as beginSyncFrame,V_ as buildTurnSummary,rs as clearPluginRenderers,Fc as collapseMessages,G_ as createAttachSessionDataSource,bu as createBudgetStore,Ot as createBuiltinCommands,he as createBuiltinThemeRegistry,xr as createCommandRegistry,W_ as createIncrementalSearcher,cr as createInputBuffer,ur as createInputHistory,xi as createMergedHistoryProvider,br as createPasteStore,Nc as createQueryGuard,L_ as createReducerState,Je as createSelectState,K_ as createSessionEventReduceBridge,q_ as createStoreTuiSink,D as cycleIndex,R_ as deriveTurnBoundaries,Et as detectLanguage,ut as displayWidth,Zi as effectiveBusy,$n as endSyncFrame,bi as entriesToCommands,Lc as expandCollapsed,un as extractSigilPrefix,Sr as extractSlashPrefix,Po as formatAgentDiagnosticsText,_l as formatKeyValueLines,jn as formatProviderUsageLimitTypeFull,gl as formatTranscriptText,Mo as formatTurnTimeline,Cr as getCommandSuggestions,ct as getInputViewport,Be as getKillRingEntries,Fa as getMarkdownThemeUserOverrides,sr as guardScrollbackStdout,xe as handleEditingKey,nt as handleEditingKeyExtended,V as i18next,Tt as initI18n,Dc as initStreamCommit,we as insertHistory,Ke as insertHistorySequence,B_ as insertTurnSummaries,Xr as isSensitiveCommand,Nn as isUsingOverage,jc as makeCoalescer,Mc as makeNotifyScheduler,Yt as matchSubsequence,gi as mergeHistoryEntries,wr as navigateSuggestions,ii as normalizeCommand,Oo as observationLiveFields,Ao as observationRow,Zn as osc52QuerySequence,Xn as osc52Write,Yn as osc8FilePath,Jn as osc8Hyperlink,oi as parseBashHistory,Un as parseExtendedKey,ui as parseFishHistory,ti as parseZshHistory,ht as pickInsertMode,Zt as positionsToHighlightRanges,Ee as preWrapLine,je as preWrapLines,U_ as printMessages,On as promptParentWorkspaceChoice,Tn as promptWorkspaceTrust,Qt as rankCandidates,$t as rankLabeledItems,en as rankNamedItems,H_ as reduceToTui,ns as registerPluginRenderers,Ba as renderInline,eo as renderMarkdownToLines,rc as renderMessageLines,dt as resetKillRing,te as resolveHorizontalStep,ea as routeSubmit,Ec as safeCommitBoundary,nn as scoreSubsequence,Pa as setMarkdownThemeUserOverrides,ir as shouldStripSyncOutput,qe as shouldUseViewport,kt as showCommandPalette,Yi as slashCommandName,I_ as startTui,Oc as streamCommitStep,Fe as stringWidth,or as stripScrollbackClear,nr as stripSyncSequences,rr as stripSyncStdout,Eo as subagentEntryStatus,Do as subagentRestoreFields,wt as t,Ic as toggleCollapse,Z as useAppState,hg as useTabScope,O as useTabable,er as withSyncFrame};
109
109
  //# sourceMappingURL=index.js.map