@x-otto/tui 0.0.1-alpha.20 → 0.0.1-alpha.21
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/{Tabable-Mq_qCBz2.d.ts → Tabable-20oY6m1Y.d.ts} +73 -36
- package/dist/Tabable-20oY6m1Y.d.ts.map +1 -0
- package/dist/WizardDialog-BsgANU-A.js +14 -0
- package/dist/WizardDialog-BsgANU-A.js.map +1 -0
- package/dist/compat.js +1 -1
- package/dist/{i18n-C1EsVod7.js → i18n-8QKYVet8.js} +11 -11
- package/dist/i18n-8QKYVet8.js.map +1 -0
- package/dist/index.d.ts +147 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +83 -124
- package/dist/index.js.map +1 -1
- package/dist/standalone.d.ts +1 -1
- package/dist/standalone.js +1 -1
- package/package.json +6 -6
- package/dist/Tabable-Mq_qCBz2.d.ts.map +0 -1
- package/dist/WizardDialog--TXB-Kkg.js +0 -12
- package/dist/WizardDialog--TXB-Kkg.js.map +0 -1
- package/dist/i18n-C1EsVod7.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,156 +1,115 @@
|
|
|
1
|
-
import{$ as e,$t as t,A as n,An as r,At as i,B as a,Bt as o,C as s,Cn as c,Ct as l,D as u,Dn as d,Dt as f,E as p,En as m,Et as h,F as g,G as _,Gt as v,Ht as y,I as b,It as x,J as S,Jt as C,K as w,Kt as ee,L as T,Lt as E,M as te,Mt as ne,N as re,O as ie,On as ae,Ot as oe,P as D,Q as se,Qt as O,R as ce,Rt as le,S as ue,Sn as k,St as de,T as A,Tn as j,Tt as fe,U as pe,Ut as me,V as he,Vt as ge,W as _e,Wt as ve,X as ye,Xt as be,Y as xe,Yt as Se,Z as Ce,Zt as M,_ as we,_n as N,_t as Te,a as Ee,an as De,at as Oe,b as ke,bn as Ae,bt as je,c as Me,cn as Ne,ct as Pe,d as P,dn as Fe,dt as Ie,en as Le,et as Re,f as ze,fn as Be,ft as Ve,g as He,gn as Ue,gt as We,h as Ge,hn as Ke,ht as qe,i as Je,in as Ye,it as Xe,j as Ze,jn as Qe,k as $e,kn as F,kt as et,l as tt,ln as nt,lt as rt,m as it,mn as at,mt as ot,n as st,nn as ct,nt as lt,o as ut,on as dt,ot as ft,p as pt,pn as I,pt as mt,q as ht,r as gt,rn as _t,rt as L,s as vt,sn as R,st as yt,t as bt,tn as xt,tt as St,u as z,un as Ct,ut as wt,v as Tt,vn as Et,vt as Dt,w as Ot,wn as kt,wt as At,x as jt,xn as Mt,xt as Nt,y as Pt,yn as Ft,yt as It,zt as Lt}from"./WizardDialog--TXB-Kkg.js";import{i as Rt,n as B,r as zt,t as Bt}from"./i18n-C1EsVod7.js";import{CommandRegistry as Vt,createBuiltinCommands as Ht,showCommandPalette as Ut}from"./compat.js";import{createRequire as Wt}from"node:module";import Gt from"wrap-ansi";import V,{createContext as Kt,createElement as H,useCallback as qt,useContext as Jt,useEffect as U,useMemo as Yt,useRef as W,useState as G}from"react";import{Fragment as Xt,jsx as K,jsxs as q}from"react/jsx-runtime";import*as Zt from"ink";import{Box as J,Static as Qt,Text as Y,render as $t,useBoxMetrics as en,useInput as tn,usePaste as nn,useStdin as rn,useStdout as an}from"ink";import{I18nextProvider as on}from"react-i18next";import{createStore as sn}from"zustand/vanilla";import{useStore as cn}from"zustand";import{LARGE_FILE_BYTE_THRESHOLD as ln,TypedEventEmitter as un,buildAllowedEnv as dn,createLogger as fn,matchSubsequence as pn,matchesGlobPattern as mn,positionsToHighlightRanges as hn,rankCandidates as gn,rankLabeledItems as _n,rankNamedItems as vn,readFileCapped as yn,scoreSubsequence as bn}from"@x-otto/shared";import{normalizeEnv as xn}from"@x-otto/env";import{constants as Sn,readdirSync as Cn,statSync as wn}from"node:fs";import{adjustDismissedSigil as Tn,applySigilCompletion as En,applySigilReplacement as Dn,evaluateSigilTrigger as On,extractSigilPrefix as kn}from"@x-otto/interchange";import{basename as An,dirname as jn,join as Mn,resolve as Nn}from"node:path";import{execFileSync as Pn,execSync as Fn,spawn as In,spawnSync as Ln}from"node:child_process";import Rn from"chalk";import{DEFAULT_DELEGATION_TOOLS as zn,SESSION_MAX_PER_SESSION_BYTES as Bn,SESSION_RESUME_WINDOW_MESSAGES as Vn}from"@x-otto/session-contract";import{marked as Hn}from"marked";import"node:fs/promises";import"node:crypto";import{fileURLToPath as Un}from"node:url";import{EventEmitter as Wn}from"node:events";import{PassThrough as Gn}from"node:stream";const Kn=[`trust`,`readonly`,`exit`];function qn({root:e,onChoice:t}){let n=[{key:`trust`,label:B.t(`trust.optTrust`),color:F.success},{key:`readonly`,label:B.t(`trust.optReadonly`),color:F.accent},{key:`exit`,label:B.t(`trust.optExit`),color:F.inactive}];return q(M,{header:K(be,{color:F.warning,children:B.t(`trust.title`)}),footer:K(C,{items:[[`${O.up}${O.down}`,B.t(`hint.select`)],[`1/2/3`,B.t(`hint.quick`)],[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.exit`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{wrap:`truncate-end`,children:B.t(`trust.body`,{path:e})})}),K(J,{marginTop:I.tight,children:K(i.Root,{id:`trust-prompt-dialog`,onPick:e=>t(Kn[e]??`exit`),escapeIndex:Kn.indexOf(`exit`),children:n.map(e=>K(i.Item,{label:e.label,color:e.color},e.key))})})]})}function Jn(e){return zt(e.language===`zh`?`zh`:e.language===`en`?`en`:Bt()),new Promise(t=>{let n=!1,r=$t(V.createElement(qn,{root:e.root,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),Ye(),t(e))}}),{exitOnCtrlC:!1})})}const Yn=[`use_parent`,`create_new`,`exit`];function Xn({parentRoot:e,currentRoot:t,onChoice:n}){let r=[{key:`use_parent`,label:B.t(`parent.optUseParent`),color:F.success},{key:`create_new`,label:B.t(`parent.optCreateNew`),color:F.accent},{key:`exit`,label:B.t(`parent.optExit`),color:F.inactive}];return q(M,{header:K(be,{color:F.warning,children:B.t(`parent.title`)}),footer:K(C,{items:[[`${O.up}${O.down}`,B.t(`hint.select`)],[`1/2/3`,B.t(`hint.quick`)],[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.exit`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{wrap:`truncate-end`,children:B.t(`parent.body`,{parentRoot:e,currentRoot:t})})}),K(J,{marginTop:I.tight,children:K(i.Root,{id:`parent-workspace-dialog`,onPick:e=>n(Yn[e]??`exit`),escapeIndex:Yn.indexOf(`exit`),children:r.map(e=>K(i.Item,{label:e.label,color:e.color},e.key))})})]})}function Zn(e){return zt(e.language===`zh`?`zh`:e.language===`en`?`en`:Bt()),new Promise(t=>{let n=!1,r=$t(V.createElement(Xn,{parentRoot:e.parentRoot,currentRoot:e.currentRoot,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),Ye(),t(e))}}),{exitOnCtrlC:!1})})}const Qn={five_hour:`5h`,seven_day:`7d`,seven_day_opus:`7d-opus`,seven_day_sonnet:`7d-sonnet`,seven_day_overage_included:`7d`},$n={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 er(e){return $n[e]??e}function tr(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 nr(e,t){return e===`rejected`&&(t===`allowed`||t===`allowed_warning`)}function rr(e,t){let n=e.limitType?Qn[e.limitType]??e.limitType:``,r=e.usedPercent===void 0?``:` ${Math.round(e.usedPercent)}%`,i=!!(n||r);if(nr(e.status,e.overageStatus)&&e.overageResetsAt!==void 0)return`${n}${r} +${tr(e.overageResetsAt,t)}`.trim();let a=i?` → `:``;return`${n}${r}${e.resetsAt===void 0?``:`${a}${tr(e.resetsAt,t)}`}`.trim()}const ir={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 ar(e,t,n,r){if(!e||t===void 0||n===void 0)return null;let i=ir[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 or(e,t,n,r,i,a){return nr(e,a)||e===`allowed_warning`||e===`allowed`&&i!==void 0&&ar(t,n,r,i)?`warning`:`inactive`}function X(e,t){return cn(e.zustand,t)}function sr(e){let t=sn()(()=>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 cr=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 lr=/^\x1b\[(\d+)(?:;(\d+))?u$/,ur=/^\x1b\[27;(\d+);(\d+)~$/,dr=/^\x1b\[(\d+)~$/;function fr(e){if(!e.startsWith(`\x1B[`)&&!e.startsWith(`\x1BO`))return null;let t=e.match(lr);if(t){let n=parseInt(t[1],10),r=t[2]?parseInt(t[2],10):1,i=r>0?r-1:0;return{name:pr(n),ctrl:!!(i&4),alt:!!(i&2),shift:!!(i&1),meta:!!(i&8),sequence:e}}let n=e.match(ur);if(n){let t=parseInt(n[1],10),r=parseInt(n[2],10),i=!!(t&8);return{name:pr(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(dr);return i?{name:mr(parseInt(i[1],10)),shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}function pr(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 mr(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 hr(e){if(!process.stdout.isTTY)return;let t=gr(e);t&&process.stdout.write(`\x1b]0;${t}\x07`)}function gr(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 _r(e,t,n){return t?`\x1b]8;${n?`id=${encodeURIComponent(n)}`:``};${encodeURIComponent(t)}\x1b\\${e}\x1b]8;;\x1b\\`:e}function vr(e,t,n,r){let i=t.startsWith(`file://`)?t:`file://${t}`;return n!==void 0&&(i+=`#L${n}`),r!==void 0&&(i+=`:${r}`),_r(e,i)}function yr(e,t=`c`){let n=Buffer.from(e,`utf-8`).toString(`base64`);process.stdout.write(`\x1b]52;${t};${n}\x07`)}function br(e=`c`){return`\x1b]52;${e};?\x07`}function xr(){process.stdout.write(`\x1BP=1s\x1B\\`)}function Sr(){process.stdout.write(`\x1BP=2s\x1B\\`)}function Cr(e){xr();try{return e()}finally{Sr()}}const wr=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function Tr(e){return e.includes(`\x1B[?2026`)?e.replace(wr,``):e}function Er(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 Dr(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const Or=RegExp(`\x1B\\[3J`,`g`);function kr(e){return e.includes(`\x1B[3J`)?e.replace(Or,``):e}function Ar(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?kr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function jr(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 Mr(e,t){if(!e)return[];let n=[];for(let r=t.length-1;r>=0;r--){let i=t[r],a=pn(e,i);a&&n.push({entry:i,index:r,score:a.score,highlightRanges:hn(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 Nr(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=Mr(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 Pr(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=Pr(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),Ir=Pr(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),Lr=Pr(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),Rr={healthy:1,warning:2,critical:4},zr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function Br(e){let t=[];zr.lastIndex=0;let n;for(;(n=zr.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 Hr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function Ur(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/Rr[o()]))}function c(){return Math.max(1,Math.floor(Ir/Rr[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=
|
|
3
|
-
`)+1;return
|
|
4
|
-
`)[0]??``))+
|
|
5
|
-
`))){if(!t)continue;let e=t.match(
|
|
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&&
|
|
7
|
-
`)){let e=t.match(/^\s*-\s*cmd:\s*(.+)$/);if(e){l(),o=
|
|
8
|
-
`+
|
|
9
|
-
`);if((t.length>800||n.length>20)&&
|
|
10
|
-
`)){
|
|
11
|
-
`).filter(Boolean)}catch{return[]}}var
|
|
12
|
-
`)}buildCompgenFileScript(e){return`bash -c 'compgen -A file -- `+qi(e)+` 2>/dev/null; compgen -A directory -- `+qi(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=Ji(`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=Ji(this.buildCompgenFileScript(o),{},200);return s.length>0?s.map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`})):Li(o,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){this.commandCache=null}},Xi=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=Ji("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=Ji("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=Ji("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 Fi().map(e=>({value:e,type:`command`}));let t=e.toLowerCase();return Fi().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):Li(i,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){}};const Qi={enabled:!0,backend:`auto`,commandTimeoutMs:200,argTimeoutMs:500,maxResults:100};function $i(){let e=process.env.SHELL??``;return e.includes(`zsh`)?`zsh`:e.includes(`bash`)||e.includes(`sh`)?`bash`:`other`}function ea(e){let t={...Qi,...e};if(!t.enabled||t.backend===`disabled`)return null;let n=t.backend;switch(n===`auto`&&(n=$i()===`zsh`?`zsh`:`bash`),n){case`bash`:return new Yi;case`zsh`:return new Xi;case`builtin`:return new Zi;default:return new Zi}}const ta={commandTimeoutMs:200,argTimeoutMs:500,maxResults:100,commandCacheTtlMs:3e4,argCacheTtlMs:3e4,maxCacheEntries:50};function na(e){return Date.now()>e.expiresAt}function ra(e,t){return e.slice(0,t).map(e=>e.value)}function ia(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 aa=class{backend;opts;commandCache=null;argCache=new Map;abortController=null;constructor(e,t){this.backend=e,this.opts={...ta,...t}}cancelPending(){this.abortController&&=(this.abortController.abort(),null)}getCommands(e){if(this.commandCache&&!na(this.commandCache)&&e){let t=e.toLowerCase();return Promise.resolve(this.commandCache.data.filter(e=>e.toLowerCase().startsWith(t)))}if(!this.backend){let t=Ii(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=ra(t,this.opts.maxResults);return this.commandCache={data:[...n],expiresAt:Date.now()+this.opts.commandCacheTtlMs},ia(n,Ii(e))}).catch(()=>Ii(e)),new Promise(t=>{setTimeout(()=>t(Ii(e)),this.opts.commandTimeoutMs)})])}getCompletions(e){let{text:t,cursorOffset:n,cwd:r}=e,i=Ni(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(Li(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&&!na(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=ia(ra(e,this.opts.maxResults),Li(a,r));return this.setArgCache(f,t),t}).catch(()=>Li(a,r)),new Promise(e=>{setTimeout(()=>e(Li(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 oa(e,t){if(t!==`send`)return``;let n=e.trimStart();return n.startsWith(`/`)?(n.slice(1).split(/\s+/)[0]??``).toLowerCase():``}function sa(e,t){return t!==`send`||!e.includes(`[@`)?!1:e.replace(/\[@(?:model|effort):[^\]]*\]/g,``).trim().length===0}function ca(e,t,n){return!(!n||e.trimStart().startsWith(`/`)||sa(e,t))}function la(e,t){return e?.()??t}function ua(e,t){return e||t}function da(e,t){return e||t}function fa(e,t){return e||t}function pa(e,t,n,r){let i=oa(e,t);return i&&r.isInterruptCommand?.(i)||i&&r.isImmediateCommand(i)?`command`:sa(e,t)?`action`:r.processing?n||t!==`send`||i?`queue`:`steer`:`send`}let ma=null;function ha(){return ma||=sr({indices:{}}),ma}function ga(e,t){let n=ha(),r=X(n,t=>t.indices[e]??0),i=t>0?Math.min(r,Math.max(0,t-1)):r,a=W(e);a.current=e;let o=W(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 _a(e){let[t,n]=G(!1),r=qt(()=>n(e=>!e),[]),i=qt((e,t)=>e===`+`&&!t.ctrl&&!t.meta?(n(e=>!e),!0):!1,[]);return{expanded:t,toggleExpand:r,maxRows:t?p(e):ie(e),handleExpandKey:i}}function va(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 ya(){let e=sr({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 ba(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 xa=Kt(void 0),Sa=xa.Provider;function Ca(){return Jt(xa)}function wa(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 Ta(e,t,n){let r=wa(e,t,n),i=[];for(let e=0;e<t;e++)i.push(r&&e>=r.start&&e<r.start+r.size?N.scrollThumb:` `);return i}function Ea(e,t){if(t<=0||e.length===0)return``;let n=N.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 Da(e,t){if(t<=0)return``;let n=Math.round(Math.min(1,Math.max(0,e))*t),r=Ot(N.gaugeFilled,n);return r+Ot(N.gaugeRest,Math.max(0,t-Mt(r)))}const Oa=`\x1B[43m`,ka=`\x1B[49m`,Aa=`\x1B[48;5;208m`,ja=`\x1B[49m`;function Ma(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?Aa:Oa,l=!0,u=e):l&&!t?(s+=u?ja:ka,l=!1):l&&t&&e!==u&&(s+=u?ja:ka,s+=e?Aa:Oa,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?Aa:Oa),d=0,p=``):e>=32&&(p+=n)}n===`\x1B`&&d>0&&(f=!0)}}return l&&(s+=u?ja:ka),s}function Na(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 Pa={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 Fa=null;function Ia(){if(!Fa)return;let e={};for(let[t,n]of Object.entries(Pa))e[t]=Fa.hex(n);return e}let La=null,Ra=null,za=null;function Ba(){return za||(za=Promise.all([import(`cli-highlight`),import(`chalk`)]).then(([e,t])=>{La=e.highlight,Ra=e.supportsLanguage,Fa=t.default}).catch(()=>{}),za)}function Va(){return La!==null}function Ha(e,t){if(!La)return Ba(),null;if(!t||e.length>524288||Ra&&!Ra(t))return null;try{let n=Ia();return n?La(e,{language:t,ignoreIllegals:!0,theme:n}):La(e,{language:t,ignoreIllegals:!0})}catch{return null}}const Ua=[`∙`,`◦`,`▪`,`-`];function Wa(e){return e.every(e=>Mt(e)===1)}function Ga(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 Ka(e=F,t,n){let r={...t,...n},i=r.listMarkers&&Wa(r.listMarkers)?r.listMarkers:Ua,a=r.listIndent===3?3:2;return{heading1:Ga(e,r.heading1,`accent`),heading2:Ga(e,r.heading2,`secondary`),headingWeak:Ga(e,r.headingWeak,`inactive`),listMarkerPrimary:Ga(e,r.listMarker,`secondary`),listMarkerMuted:Ga(e,r.listMarkerMuted,`inactive`),quoteBar:Ga(e,r.quoteBar,`accentDim`),quoteText:Ga(e,r.quoteText,`secondary`),link:Ga(e,r.link,`accentBright`),inlineCode:Ga(e,r.inlineCode,`codeText`),codeFenceDivider:Ga(e,r.codeFence,`inactive`),tableHeader:Ga(e,r.tableHeader,`secondary`),tableDivider:Ga(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 qa;function Ja(e){qa=e}function Ya(){return qa}function Xa(){return Ka(F,void 0,qa)}function Za(){return Xa()}function Z(e,t){if(!t||!e)return e;try{if(t.startsWith(`#`))return Rn.hex(t)(e);let n=Rn[t];return typeof n==`function`?n(e):e}catch{return e}}function Qa(e,t,n){return _r(Rn.underline(Z(e,n.link)),t)}const $a=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/&#(?:39|x27);/gi,`'`);function eo(e,t=!1,n=Za()){return to(Hn.Lexer.lexInline(e),t,n)}function to(e,t,n){if(!e)return``;let r=``;for(let i of e)switch(i.type){case`text`:{let e=i;r+=e.tokens?to(e.tokens,t,n):$a(e.text);break}case`escape`:r+=i.text;break;case`codespan`:{let e=$a(i.text);r+=t?e:Z(e,n.inlineCode);break}case`strong`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[1m${e}\x1b[22m`;break}case`em`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[3m${e}\x1b[23m`;break}case`del`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[9m${e}\x1b[29m`;break}case`link`:{let e=i,a=to(e.tokens,t,n);r+=t?a:Qa(a,e.href,n);break}case`image`:r+=i.text||i.href;break;case`br`:r+=`
|
|
1
|
+
import{$ as e,$t as t,A as n,An as r,At as i,B as a,Bt as o,C as s,Cn as c,Ct as l,D as u,Dn as d,Dt as f,E as p,En as m,Et as h,F as g,G as _,Gt as v,H as y,Ht as b,J as x,K as S,Kt as C,L as ee,Lt as te,M as w,Mn as ne,N as re,Nt as ie,O as T,On as ae,Ot as E,P as D,Q as oe,Qt as O,R as se,Rt as k,S as A,Sn as j,St as M,T as ce,Tn as le,Tt as ue,U as de,Ut as fe,V as pe,Vt as me,W as he,Wt as ge,X as _e,Xt as ve,Y as ye,Yt as N,Z as be,Zt as xe,_ as Se,_n as Ce,_t as we,a as Te,an as Ee,at as De,b as Oe,bn as ke,bt as Ae,c as je,cn as P,ct as Me,d as F,dn as Ne,dt as Pe,en as Fe,et as I,f as Ie,fn as Le,ft as Re,g as ze,gn as Be,gt as Ve,h as He,hn as Ue,ht as We,i as Ge,in as Ke,it as qe,j as L,jn as Je,jt as Ye,k as Xe,kn as Ze,kt as Qe,l as $e,ln as et,lt as tt,m as nt,mn as R,mt as rt,n as it,nn as at,nt as ot,o as st,on as ct,ot as lt,p as ut,pn as dt,pt as ft,q as pt,qt as mt,r as ht,rn as gt,rt as _t,s as vt,sn as yt,st as bt,t as xt,tn as St,tt as Ct,u as z,un as wt,ut as Tt,v as Et,vn as B,vt as Dt,w as Ot,wn as kt,wt as At,x as jt,xn as Mt,xt as Nt,y as Pt,yn as Ft,yt as It,zt as Lt}from"./WizardDialog-BsgANU-A.js";import{i as Rt,n as V,r as zt,t as Bt}from"./i18n-8QKYVet8.js";import{CommandRegistry as Vt,createBuiltinCommands as Ht,showCommandPalette as Ut}from"./compat.js";import{createRequire as Wt}from"node:module";import Gt from"wrap-ansi";import H,{createContext as Kt,createElement as U,useCallback as qt,useContext as Jt,useEffect as W,useMemo as Yt,useRef as G,useState as K}from"react";import{Fragment as Xt,jsx as q,jsxs as J}from"react/jsx-runtime";import*as Zt from"ink";import{Box as Y,Static as Qt,Text as X,render as $t,useBoxMetrics as en,useInput as tn,usePaste as nn,useStdin as rn,useStdout as an}from"ink";import{I18nextProvider as on}from"react-i18next";import{createStore as sn}from"zustand/vanilla";import{useStore as cn}from"zustand";import{LARGE_FILE_BYTE_THRESHOLD as ln,matchSubsequence as un,matchesGlobPattern as dn,positionsToHighlightRanges as fn,rankCandidates as pn,rankLabeledItems as mn,rankNamedItems as hn,readFileCapped as gn,scoreSubsequence as _n}from"@x-otto/shared";import{readdirSync as vn,statSync as yn}from"node:fs";import{SYSTEM_PROMPT_SECTIONS as bn,adjustDismissedSigil as xn,applySigilCompletion as Sn,applySigilReplacement as Cn,evaluateSigilTrigger as wn,extractSigilPrefix as Tn}from"@x-otto/interchange";import{basename as En,dirname as Dn,join as On,resolve as kn}from"node:path";import{execSync as An,spawn as jn}from"node:child_process";import Mn from"chalk";import{DEFAULT_DELEGATION_TOOLS as Nn,SESSION_MAX_PER_SESSION_BYTES as Pn,SESSION_RESUME_WINDOW_MESSAGES as Fn}from"@x-otto/session-contract";import{marked as In}from"marked";import{PassThrough as Ln}from"node:stream";const Rn=[`trust`,`readonly`,`exit`];function zn({root:e,onChoice:n}){let i=[{key:`trust`,label:V.t(`trust.optTrust`),color:r.success},{key:`readonly`,label:V.t(`trust.optReadonly`),color:r.accent},{key:`exit`,label:V.t(`trust.optExit`),color:r.inactive}];return J(O,{header:q(xe,{color:r.warning,children:V.t(`trust.title`)}),footer:q(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`hint.quick`)],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.exit`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{wrap:`truncate-end`,children:V.t(`trust.body`,{path:e})})}),q(Y,{marginTop:R.tight,children:q(Ye.Root,{id:`trust-prompt-dialog`,onPick:e=>n(Rn[e]??`exit`),escapeIndex:Rn.indexOf(`exit`),children:i.map(e=>q(Ye.Item,{label:e.label,color:e.color},e.key))})})]})}function Bn(e){return zt(e.language===`zh`?`zh`:e.language===`en`?`en`:Bt()),new Promise(t=>{let n=!1,r=$t(H.createElement(zn,{root:e.root,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),Ee(),t(e))}}),{exitOnCtrlC:!1})})}const Vn=[`use_parent`,`create_new`,`exit`];function Hn({parentRoot:e,currentRoot:n,onChoice:i}){let a=[{key:`use_parent`,label:V.t(`parent.optUseParent`),color:r.success},{key:`create_new`,label:V.t(`parent.optCreateNew`),color:r.accent},{key:`exit`,label:V.t(`parent.optExit`),color:r.inactive}];return J(O,{header:q(xe,{color:r.warning,children:V.t(`parent.title`)}),footer:q(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`hint.quick`)],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.exit`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{wrap:`truncate-end`,children:V.t(`parent.body`,{parentRoot:e,currentRoot:n})})}),q(Y,{marginTop:R.tight,children:q(Ye.Root,{id:`parent-workspace-dialog`,onPick:e=>i(Vn[e]??`exit`),escapeIndex:Vn.indexOf(`exit`),children:a.map(e=>q(Ye.Item,{label:e.label,color:e.color},e.key))})})]})}function Un(e){return zt(e.language===`zh`?`zh`:e.language===`en`?`en`:Bt()),new Promise(t=>{let n=!1,r=$t(H.createElement(Hn,{parentRoot:e.parentRoot,currentRoot:e.currentRoot,onChoice:e=>{n||(n=!0,r.clear(),r.unmount(),Ee(),t(e))}}),{exitOnCtrlC:!1})})}const Wn={five_hour:`5h`,seven_day:`7d`,seven_day_opus:`7d-opus`,seven_day_sonnet:`7d-sonnet`,seven_day_overage_included:`7d`},Gn={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 Kn(e){return Gn[e]??e}function qn(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 Jn(e,t){return e===`rejected`&&(t===`allowed`||t===`allowed_warning`)}function Yn(e,t){let n=e.limitType?Wn[e.limitType]??e.limitType:``,r=e.usedPercent===void 0?``:` ${Math.round(e.usedPercent)}%`,i=!!(n||r);if(Jn(e.status,e.overageStatus)&&e.overageResetsAt!==void 0)return`${n}${r} +${qn(e.overageResetsAt,t)}`.trim();let a=i?` → `:``;return`${n}${r}${e.resetsAt===void 0?``:`${a}${qn(e.resetsAt,t)}`}`.trim()}const Xn={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 Zn(e,t,n,r){if(!e||t===void 0||n===void 0)return null;let i=Xn[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 Qn(e,t,n,r,i,a){return Jn(e,a)||e===`allowed_warning`||e===`allowed`&&i!==void 0&&Zn(t,n,r,i)?`warning`:`inactive`}function Z(e,t){return cn(e.zustand,t)}function $n(e){let t=sn()(()=>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 er=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 tr=/^\x1b\[(\d+)(?:;(\d+))?u$/,nr=/^\x1b\[27;(\d+);(\d+)~$/,rr=/^\x1b\[(\d+)~$/;function ir(e){if(!e.startsWith(`\x1B[`)&&!e.startsWith(`\x1BO`))return null;let t=e.match(tr);if(t){let n=parseInt(t[1],10),r=t[2]?parseInt(t[2],10):1,i=r>0?r-1:0;return{name:ar(n),ctrl:!!(i&4),alt:!!(i&2),shift:!!(i&1),meta:!!(i&8),sequence:e}}let n=e.match(nr);if(n){let t=parseInt(n[1],10),r=parseInt(n[2],10),i=!!(t&8);return{name:ar(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(rr);return i?{name:or(parseInt(i[1],10)),shift:!1,alt:!1,ctrl:!1,meta:!1,sequence:e}:null}function ar(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 or(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 sr(e){if(!process.stdout.isTTY)return;let t=cr(e);t&&process.stdout.write(`\x1b]0;${t}\x07`)}function cr(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 lr(e,t,n){return t?`\x1b]8;${n?`id=${encodeURIComponent(n)}`:``};${encodeURIComponent(t)}\x1b\\${e}\x1b]8;;\x1b\\`:e}function ur(e,t,n,r){let i=t.startsWith(`file://`)?t:`file://${t}`;return n!==void 0&&(i+=`#L${n}`),r!==void 0&&(i+=`:${r}`),lr(e,i)}function dr(e,t=`c`){let n=Buffer.from(e,`utf-8`).toString(`base64`);process.stdout.write(`\x1b]52;${t};${n}\x07`)}function fr(e=`c`){return`\x1b]52;${e};?\x07`}function pr(){process.stdout.write(`\x1BP=1s\x1B\\`)}function mr(){process.stdout.write(`\x1BP=2s\x1B\\`)}function hr(e){pr();try{return e()}finally{mr()}}const gr=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function _r(e){return e.includes(`\x1B[?2026`)?e.replace(gr,``):e}function vr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?_r(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function yr(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const br=RegExp(`\x1B\\[3J`,`g`);function xr(e){return e.includes(`\x1B[3J`)?e.replace(br,``):e}function Sr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?xr(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 wr(e,t){if(!e)return[];let n=[];for(let r=t.length-1;r>=0;r--){let i=t[r],a=un(e,i);a&&n.push({entry:i,index:r,score:a.score,highlightRanges:fn(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 Tr(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=wr(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 Er(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=Er(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),Or=Er(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),kr=Er(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),Ar={healthy:1,warning:2,critical:4},jr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function Mr(e){let t=[];jr.lastIndex=0;let n;for(;(n=jr.exec(e))!==null;)t.push({start:n.index,end:n.index+n[0].length,id:Number.parseInt(n[1],10)});return t}function Nr(e){return Buffer.byteLength(e,`utf-8`)}function Pr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function Fr(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/Ar[o()]))}function c(){return Math.max(1,Math.floor(Or/Ar[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=Nr(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=Mr(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=Mr(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 Mr(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>kr;)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(Pr(e?.nextId)??0));for(let n of e?.entries??[]){let e=Pr(n?.id);e!==void 0&&(t=Math.max(t,e+1))}r=Math.max(r,t);for(let t of e?.entries??[]){let e=Pr(t?.id);if(e===void 0||typeof t?.text!=`string`||n.has(e))continue;let r=Nr(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 Ir(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 pn(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 Lr(e,t){let n=e.slice(0,t).trimStart();if(!n.startsWith(`/`))return null;let r=n.match(/^\/(.*)$/);return r?r[1]??``:null}function Rr(e,t,n){let r=Lr(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=hn(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 zr(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 Br(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 Vr(e){return{text:e,offset:e.length}}function Hr(e,t,n,r){if(!e)return null;let i=t.slice(0,n),a=i.lastIndexOf(`
|
|
3
|
+
`)+1;return Qe(i.slice(a)+(t.slice(n).split(`
|
|
4
|
+
`)[0]??``))+Qe(e)>r?null:e}function Ur(e){return e.startsWith(`!!`)?{prefix:`!!`,body:e.slice(2)}:e.startsWith(`!`)?{prefix:`!`,body:e.slice(1)}:{prefix:``,body:e}}function Wr(e){return e.startsWith(`!!`)?e.slice(2):e.startsWith(`!`)?e.slice(1):e}function Gr(e,t,n){let{prefix:r,body:i}=Ur(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=Wr(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 Kr(e,t,n){let r=Lr(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=hn(s(o),o,{maxResults:1});if(c.length===0)return null;let l=Jr(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=Br(e,t,a[0]);return{fullText:o.text,suffix:o.text.slice(t),kind:`slash-command`}}function qr(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=Lr(t,n);if(e!==null&&e.length===0)return null;let r=Kr(t,n,a);if(r)return r}return Gr(t,n,i)}function Jr(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 Yr(e){return(e.VISUAL||e.EDITOR||``).trim()||(process.platform===`win32`?`notepad`:`vi`)}function Xr(e,t){let n=Yr(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 Zr(){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}}}}let Qr=null,$r=null;function ei(e){Qr=e}function ti(){return Qr}function ni(){Qr=null,$r?.()}function ri(e){$r=e}const ii=[/\bpassword\s*=/i,/\btoken\s*=/i,/export\s+\w*key\w*\s*=/i,/\bsecret\s*=/i];function ai(e,t=ii){return t.some(t=>t.test(e))}const oi=`zsh-histfile`,si=/^: (\d+):(\d+);(.*)$/s;function ci(e){let t=[],n;for(let r of e){let e=n===void 0?r:`${n}\n${r}`;if(li(r)){n=e.slice(0,-1);continue}t.push(e),n=void 0}return n!==void 0&&t.push(n),t}function li(e){let t=0;for(let n=e.length-1;n>=0&&e[n]===`\\`;n--)t++;return t%2==1}function ui(e,t={}){let{source:n=oi,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o=0;for(let t of ci(e.split(`
|
|
5
|
+
`))){if(!t)continue;let e=t.match(si);if(e){let t=e[3]??``;if(!t||i&&ai(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&&ai(s,r)||(a.push({command:s,timestamp:o,source:n}),o++))}return di(a)}function di(e){let t=new Map;for(let n of e){let e=pi(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}function pi(e){return e.trim().replace(/\s+/g,` `)}const mi=`bash-histfile`;function hi(e,t={}){let{source:n=mi,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&&ai(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&&ai(l,r)||(o.push({command:l,timestamp:s,source:n}),s++))}return gi(o)}function gi(e){let t=new Map;for(let n of e){let e=pi(n.command),r=t.get(e);(!r||_i(n)>=_i(r))&&t.set(e,n)}return[...t.values()].sort((e,t)=>_i(e)-_i(t))}function _i(e){return e.timestamp??0}const vi=`fish-histfile`;function yi(e,t={}){let{source:n=vi,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o,s,c=0,l=()=>{if(o){if(i&&ai(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=bi(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(),xi(a)}function bi(e){return e.startsWith(`'`)&&e.endsWith(`'`)||e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e}function xi(e){let t=new Map;for(let n of e){let e=pi(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=`otto-session`,wi={[Ci]:2};function Ti(e,t,n={}){let r=t.reduce((e,t)=>Math.max(e,Oi(t)),0),i=Math.max(n.ottoTimestampBase??0,r+1),a=e.map((e,t)=>({command:e,source:Ci,timestamp:i+t})),o=[...t,...a],s=new Map;for(let e of o){let t=pi(e.command);if(!t)continue;let n=s.get(t);if(!n){s.set(t,e);continue}s.set(t,Ei(n,e))}return[...s.values()].sort((e,t)=>Oi(e)-Oi(t))}function Ei(e,t){let n=Di(e.source),r=Di(t.source);return n===r?Oi(e)>=Oi(t)?e:t:n>r?e:t}function Di(e){return wi[e]??1}function Oi(e){return e.timestamp??0}function ki(e){return e.map(e=>e.command)}function Ai(e,t,n){let r=Ti(e,t,n);return{getCommands:()=>ki(r),getEntries:()=>r}}function ji(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 Mi=null;function Ni(){if(Mi)return Mi;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=vn(r);for(let r of e)t.has(r)||(t.add(r),n.push(r))}catch{}return n.sort(),Mi=n,n}function Pi(e){let t=e.toLowerCase();return Ni().filter(e=>e.toLowerCase().startsWith(t))}function Fi(e,t){let n=kn(t,e),r=e.endsWith(`/`)||e===``?n:Dn(n),i=e.endsWith(`/`)||e===``?``:En(n),a;try{a=vn(r)}catch{return[]}let o=i.toLowerCase(),s=[];for(let e of a){if(!e.toLowerCase().startsWith(o)||e.startsWith(`.`))continue;let t=kn(r,e),n;try{n=yn(t)}catch{continue}n.isDirectory()?s.push(e+`/`):s.push(e)}return s.sort(),s}function Ii(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 Li(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 Ri(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 zi(e,t){let n=Ii(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 Bi(e){return e.startsWith(`!!`)?`bash_async`:e.startsWith(`!`)?`bash`:e.startsWith(`#`)?`memory`:`send`}function Vi(e,t){return t===`bash_async`&&e.startsWith(`!!`)?e.slice(2):t===`bash`&&e.startsWith(`!`)||t===`memory`&&e.startsWith(`#`)?e.slice(1):e}const Hi={send:`> `,bash:`! `,bash_async:`!! `,memory:`# `};function Ui({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:g,onChipReopen:_,onChipViewPaste:v,onToast:y,onDraftSave:b,keybindingOverrides:x,onPasteConfirm:S,cwd:C,historyInsertRef:ee,pasteBridgeRef:te,initialHistory:ne,externalHistoryCommands:ie,onHistoryPush:T,onHistoryNavChange:ae,residencyGovernor:D,registryRef:oe,shellBackendRef:O}){let se=P(),[A,j]=K(``),[M,ce]=K(0),[le,ue]=K(null);W(()=>{ei(le!==null&&M!==le?{text:A,start:Math.min(le,M),end:Math.max(le,M)}:null)},[A,M,le]),W(()=>(ri(()=>ue(null)),()=>ri(null)),[]);let[de,fe]=K(`send`),[me,he]=K(null),ge=G(null),_e=ge.current??=Tr({initialEntries:ne}),[ve,ye]=K(0),be=Yt(()=>ie?.length?ie.map(e=>({command:e,source:`external-shell`})):[],[ie]),xe=Yt(()=>{let e=_e.getAll();return be.length?ki(Ti(e,be)):e},[_e,ve,be]);ee&&(ee.current={fill:e=>Ue(e,e.length),append:e=>{let t=A+e;Ue(t,t.length)},isEmpty:()=>A.trim().length===0,insertNewline:()=>{He(A.slice(0,M)+`
|
|
8
|
+
`+A.slice(M),M+1)}});let Se=G(null),Ce=Se.current??=Cr(),we=G(null),Te=we.current??=Fr({residencyGovernor:D});te&&(te.current={hydrate:e=>Te.hydrate(e),export:()=>Te.toSnapshot()});let Ee=Yt(()=>Ir(a),[a]);oe&&(oe.current=Ee);let{setRawMode:De}=rn(),Oe=G(0),Ae=G(null),je=G(null),[Me,F]=K(null),Ne=G(!1),Pe=G(A),Fe=G(M);Pe.current=A,Fe.current=M;let[I,Ie]=K(void 0),Le=Yt(()=>d||Me?.visible||Ae.current!==null?null:qr({text:A,offset:M,dismissedPrefix:I,history:xe,registry:Ee}),[A,M,I,d,Me,de,me,Ee,xe]),Re=Yt(()=>{if(!Le)return;let t=Math.max(20,e-Qe(Hi[de]));return Hr(Le.suffix,A,M,t)??void 0},[Le,A,M,e,de]),ze=Yt(()=>new Set(Te.findMissingIds(A)),[A,Te]),Ve=qt((e,t,n,r)=>{e!==A&&Ie(void 0),!r?.fromHistoryRecall&&_e.navState!==null&&(_e.resetNavigation(),ae?.(null)),Ce.snapshot({text:A,offset:M});let i=Math.max(0,Math.min(t,e.length));if(j(e),ce(i),fe(Bi(e)),he(Rr(e,t,Ee)),F(null),!p||!m){je.current=xn(je.current,A,e),Ae.current=null;return}let a=wn({source:n,oldText:A,newText:e,cursorOffset:i,dismissed:je.current});if(je.current=a.dismissed,a.action!==`open`){Ae.current=null,a.action===`close`&&g?.();return}let o=a.trigger;Ae.current={sigil:o.sigil,anchor:o.anchor,cursor:i},m(o.sigil,o.query,{select:t=>{let n=Ae.current;if(Ae.current=null,!n)return;let r=Sn(e,n.cursor,n.anchor,t);Ve(r.text,r.offset,`completion`)},cancel:t=>{let n=Ae.current;if(Ae.current=null,n){if(!t){je.current={sigil:n.sigil,anchor:n.anchor,tokenLength:n.cursor-n.anchor};return}Ve(e.slice(0,n.anchor)+e.slice(n.cursor),n.anchor,`completion`)}}})},[_e,Ee,A,M,p,m,g,ae]),He=qt((e,t,n=null)=>{ue(n),Ve(e,t,`typing`)},[Ve]),Ue=qt((e,t)=>{ue(null),Ve(e,t,`programmatic`)},[Ve]),We=qt((e,t)=>{ue(null),Ve(e,t,`programmatic`,{fromHistoryRecall:!0})},[Ve]),Ge=qt((e,t)=>{let n=Te.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&&Ve(e,a,`programmatic`);return}let{text:r}=Te.expandAll(e),i=Bi(r),a=Vi(r,i);if(!a.trim()){j(``),ce(0),ue(null),fe(`send`),he(null),F(null);return}e.trim()&&(_e.push(e),ye(e=>e+1),T?.(_e.getAll())),_e.resetNavigation(),ae?.(null),Te.afterSubmit(e),Ce.reset(),o?.(a,i,t)!==`rejected`&&(j(``),ce(0),ue(null),fe(`send`),he(null),F(null))},[o,Te,y,Ve]),Ke=qt(e=>{Oe.current=Date.now();let t=Nt(e);if(!t)return;let n=t.split(`
|
|
9
|
+
`);if((t.length>800||n.length>20)&&S)S(t,{confirm:()=>{let e=Te.foldIfLarge(t);Ve(A.slice(0,M)+e+A.slice(M),M+e.length,`paste`)},cancel:()=>{}});else{let e=Te.foldIfLarge(t);Ve(A.slice(0,M)+e+A.slice(M),M+e.length,`paste`)}},[A,M,Te,Ve,S]),{currentPath:qe}=pe(),L=qe===`/`||qe===`/home`||qe===`/overlay/error-retry`||qe===`/overlay/retry`,Je=G(null),Ye=(L||qe===`/overlay/toast`)&&!r&&de===`send`,Xe=G(0);return nn(Ke,{isActive:L&&!r}),k(`prompt-input`,qt((t,n)=>{if(n.ctrl&&t===`c`)return;if(n.ctrl&&t===`l`){c?.();return}if(lt(tt,`prompt`,t,n,x)===`save-draft`)return A.trim()?(b?.(A),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&&Re&&Le){let e=Vr(Le.fullText);return Ve(e.text,e.offset,`completion`),!0}if(n.tab&&me&&!me.panelOpen&&me.suggestions.length>0&&de!==`bash`&&de!==`bash_async`)return he({...me,panelOpen:!0}),!0;if(n.ctrl&&t===`r`){u?.();return}if(n.ctrl&&t===`x`){try{De?.(!1)}catch{}let e=Xr(A,Zr());try{De?.(!0)}catch{}e.ok&&e.text!=null?Ue(e.text,e.text.length):e.error&&y?.(V.t(`toast.editorError`),e.error);return}if(n.ctrl&&(t===`_`||t===``||t===`-`)){let e=Ce.undo();e&&(Ve(e.text,e.offset,`programmatic`),he(null),F(null));return}if(Re&&n.escape){Ie(A);return}if(me&&me.panelOpen){if(n.escape){he({...me,panelOpen:!1});return}if(n.upArrow||n.downArrow||n.tab||n.return){let e=zr(me,n.upArrow?`prev`:n.downArrow?`next`:`accept`);if(e===`accept`){let e=me.suggestions[me.selectedIndex];if(e&&!e.disabled){let t=me.argCommand?Jr(A,M,me.argCommand,e.name):Br(A,M,e);return n.return?(Ge(t.text,!1),!0):(Ve(t.text,t.offset,`completion`),!0)}return he(null),!0}return e===`dismiss`?(he({...me,panelOpen:!1}),!0):(he(e),!0)}}let i=de===`bash`||de===`bash_async`;if(n.tab&&i&&O?.current){let e=O.current;if(Me&&Me.visible){let e=Li(Me,`next`);if(e===`accept`){let e=Ri(A,M,Me);return Ve(e.text,e.offset,`completion`),F(null),!0}return e===`dismiss`?(F(null),!0):(F(e),!0)}if(Ne.current)return!0;let t=A,n=M;return Ne.current=!0,(async()=>{let r=await e.getCompletions({text:t,cursorOffset:n,cwd:C??process.cwd()});if(Ne.current=!1,Pe.current!==t||Fe.current!==n)return;let i=ji(t,n);if(!i||r.length===0)return;let{word:a,start:o}=i;if(r.length===1){let e=Ri(t,n,{completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1});Ve(e.text,e.offset,`completion`);return}let s=Ii(r);if(s.length>a.length){let e={completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1},n=zi(t,e);Ve(n.text,n.offset,`completion`),F({...e,prefix:s,commonPrefixApplied:!0});return}F({completions:r,selectedIndex:0,prefix:a,wordStart:o,visible:!0,commonPrefixApplied:!1})})(),!0}if(n.escape&&A.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=Nt(t);if(e){let t=Te.foldIfLarge(e);He(A.slice(0,M)+t+A.slice(M),M+t.length)}return}let a=_e.navState!==null,o=A.trimStart().startsWith(`/`);if(n.downArrow&&o&&me&&me.suggestions.length>0&&!a&&!A.includes(`
|
|
10
|
+
`)){Ie(A),he({...me,panelOpen:!0});return}let s=At.fromText(A,e,M),d=s.up().offset!==s.offset,p=s.down().offset!==s.offset;if(n.upArrow&&(!d||a)){let e=_e.navigateUp(A);if(e!==null){We(e,e.length);let t=_e.navState;t&&ae?.({...t,entry:e})}return}if(n.downArrow&&(!p||a)){let e=_e.navigateDown();if(e!==null){We(e,e.length);let t=_e.navState;ae?.(t?{...t,entry:e}:null)}return}if(n.upArrow||n.downArrow){let t=At.fromText(A,e,M),r=n.upArrow?t.up():t.down();He(r.text,r.offset);return}if((n.ctrl||n.meta||n.shift)&&(n.leftArrow||n.rightArrow||n.home||n.end)){let t={name:n.home?`home`:n.end?`end`:n.leftArrow?`left`:`right`,ctrl:n.ctrl??!1,shift:n.shift??!1,alt:n.meta??!1,meta:n.meta??!1},r=It(At.fromText(A,e,M,le??void 0),t);if(r){He(r.cursor.text,r.cursor.offset,r.cursor.hasSelection?r.cursor.selection:null);return}return}if(n.home||n.end){let t={name:n.home?`home`:`end`,ctrl:!1,shift:n.shift??!1,alt:!1,meta:!1},r=It(At.fromText(A,e,M,le??void 0),t);if(r){He(r.cursor.text,r.cursor.offset,r.cursor.hasSelection?r.cursor.selection:null);return}return}if(n.leftArrow){let t=At.fromText(A,e,M).left();He(t.text,t.offset);return}if(n.rightArrow){if(Re&&Le){let e=Vr(Le.fullText);Ve(e.text,e.offset,`completion`);return}let t=At.fromText(A,e,M).right();He(t.text,t.offset);return}if(n.return&&Date.now()-Oe.current<50)return;if(n.return){let e=h(A,M);if(e){let t=f(e.text);if(t===`paste`){let t=E(e.text);if(t===void 0)return;let n=Te.peek(t);n!==void 0&&v?v(e.text,n):y&&y(V.t(`paste.titlePasteExpired`),V.t(`paste.expiredToast`,{count:1}));return}if(_){let n={start:e.start,end:e.end};_(t,n,{select:e=>{let t=Cn(A,n.start,n.end,e);Ve(t.text,t.offset,`completion`)},cancel:()=>{}});return}}}(n.backspace||n.delete)&&(Xe.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},g=It(At.fromText(A,e,M,le??void 0),m);if(g){if(g.action===`submit`){Ge(A,!1);return}if(g.action===`submit_force`){Ge(A,!0);return}if(g.action===`clear_text`){He(g.cursor.text,g.cursor.offset);return}He(g.cursor.text,g.cursor.offset)}},[A,M,le,e,r,me,Me,O,de,C,s,c,l,y,b,x,_,v,Te,Ve,Ge,He,Ue,We,Re,Le]),{isActive:L&&!r&&!i}),J(Y,{flexDirection:`column`,children:[me&&me.panelOpen&&me.suggestions.length>0&&(()=>{let e=me.suggestions.length,n=me.selectedIndex,r=e<=10?0:Math.min(Math.max(0,n-5),e-10),i=me.suggestions.slice(r,r+10);return J(Y,{flexDirection:`column`,...Be,borderColor:se.panelBorder,children:[q(Y,{height:1,children:q(w,{hasMore:r>0,count:r})}),i.map((e,t)=>{let i=r+t;return J(X,{color:i===n?se.selection:void 0,dimColor:i!==n||!!e.disabled,bold:i===n,children:[i===n?Mt():ke(),`/`,e.name,e.aliases?.length?` (${e.aliases.join(`, `)})`:``,e.description?` — ${e.description}`:``]},e.name)}),q(Y,{height:1,children:q(re,{hasMore:r+10<e,count:e-r-10})}),q(Y,{marginTop:R.tight}),q(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.confirm`)],[t.esc,V.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`,...Be,borderColor:se.panelBorder,children:[q(Y,{height:1,children:q(w,{hasMore:n>0,count:n})}),r.map((e,r)=>{let i=n+r;return J(X,{color:i===t?se.selection:void 0,dimColor:i!==t,bold:i===t,children:[i===t?Mt():ke(),e]},e)}),q(Y,{height:1,children:q(re,{hasMore:n+10<e,count:e-n-10})})]})})(),r&&q(X,{dimColor:!0,children:n||B.ellipsis}),!r&&q(Tt,{value:A,offset:M,columns:e,mode:de,selection:le,placeholder:i?V.t(`prompt.reviewingPlaceholder`):L?n||V.t(`prompt.fallback`):V.t(`prompt.unfocused`),focused:L&&!i,ghostSuffix:Re,invalidPasteIds:ze,containerRef:Je,physicalCursor:Ye,deleteKeyAt:Xe.current})]})}function Wi({items:e}){let t=P();return e.length===0?null:J(Y,{children:[q(X,{color:t.special,children:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`queue.label`)}),J(L,{type:`secondary`,children:[` `,e.length]}),J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`q`)]})]})}function Gi(e){return`'`+e.replace(/'/g,`'\\''`)+`'`}function Ki(e,t,n){let r=Object.entries(t).map(([e,t])=>e+`=`+Gi(t)).join(` `);try{return An(r+` `+e,{timeout:n,maxBuffer:100*1024}).toString(`utf-8`).split(`
|
|
11
|
+
`).filter(Boolean)}catch{return[]}}var qi=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=Ki(`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(`
|
|
12
|
+
`)}buildCompgenFileScript(e){return`bash -c 'compgen -A file -- `+Gi(e)+` 2>/dev/null; compgen -A directory -- `+Gi(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=Ki(`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=Ki(this.buildCompgenFileScript(o),{},200);return s.length>0?s.map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`})):Fi(o,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){this.commandCache=null}},Ji=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=Ki("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=Ki("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=Ki("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}},Yi=class{name=`builtin`;async getCommands(e){if(!e)return Ni().map(e=>({value:e,type:`command`}));let t=e.toLowerCase();return Ni().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):Fi(i,r).map(e=>({value:e,type:e.endsWith(`/`)?`dir`:`file`}))}destroy(){}};const Xi={enabled:!0,backend:`auto`,commandTimeoutMs:200,argTimeoutMs:500,maxResults:100};function Zi(){let e=process.env.SHELL??``;return e.includes(`zsh`)?`zsh`:e.includes(`bash`)||e.includes(`sh`)?`bash`:`other`}function Qi(e){let t={...Xi,...e};if(!t.enabled||t.backend===`disabled`)return null;let n=t.backend;switch(n===`auto`&&(n=Zi()===`zsh`?`zsh`:`bash`),n){case`bash`:return new qi;case`zsh`:return new Ji;case`builtin`:return new Yi;default:return new Yi}}const $i={commandTimeoutMs:200,argTimeoutMs:500,maxResults:100,commandCacheTtlMs:3e4,argCacheTtlMs:3e4,maxCacheEntries:50};function ea(e){return Date.now()>e.expiresAt}function ta(e,t){return e.slice(0,t).map(e=>e.value)}function na(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 ra=class{backend;opts;commandCache=null;argCache=new Map;abortController=null;constructor(e,t){this.backend=e,this.opts={...$i,...t}}cancelPending(){this.abortController&&=(this.abortController.abort(),null)}getCommands(e){if(this.commandCache&&!ea(this.commandCache)&&e){let t=e.toLowerCase();return Promise.resolve(this.commandCache.data.filter(e=>e.toLowerCase().startsWith(t)))}if(!this.backend){let t=Pi(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=ta(t,this.opts.maxResults);return this.commandCache={data:[...n],expiresAt:Date.now()+this.opts.commandCacheTtlMs},na(n,Pi(e))}).catch(()=>Pi(e)),new Promise(t=>{setTimeout(()=>t(Pi(e)),this.opts.commandTimeoutMs)})])}getCompletions(e){let{text:t,cursorOffset:n,cwd:r}=e,i=ji(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(Fi(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&&!ea(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=na(ta(e,this.opts.maxResults),Fi(a,r));return this.setArgCache(f,t),t}).catch(()=>Fi(a,r)),new Promise(e=>{setTimeout(()=>e(Fi(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 ia(e,t){if(t!==`send`)return``;let n=e.trimStart();return n.startsWith(`/`)?(n.slice(1).split(/\s+/)[0]??``).toLowerCase():``}const aa=String.raw`\[@(?:model|effort):(?:\\\]|[^\]])*\]`,oa=String.raw`(?:\\\]|[^\]])`;function sa(e,t){return t!==`send`||!e.includes(`[@`)?!1:e.replace(new RegExp(aa,`g`),``).trim().length===0}function ca(e,t,n){return!(!n||e.trimStart().startsWith(`/`)||sa(e,t))}function la(e,t){return e?.()??t}function ua(e,t){return e||t}function da(e,t){return e||t}function fa(e,t){return e||t}function pa(e,t,n,r){let i=ia(e,t);return i&&r.isInterruptCommand?.(i)||i&&r.isImmediateCommand(i)?`command`:sa(e,t)?`action`:r.processing?n||t!==`send`||i?`queue`:`steer`:`send`}let ma=null;function ha(){return ma||=$n({indices:{}}),ma}function ga(e,t){let n=ha(),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 _a(e){let[t,n]=K(!1),r=qt(()=>n(!0),[]),i=qt(()=>n(!1),[]),a=qt((e,t)=>t.ctrl||t.meta?!1:e===`+`?(n(!0),!0):e===`_`?(n(!1),!0):!1,[]);return{expanded:t,expand:r,collapse:i,maxRows:t?s(e):ce(e),handleExpandKey:a}}function va(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 ya(){let e=$n({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 ba(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 xa=Kt(void 0),Sa=xa.Provider;function Ca(){return Jt(xa)}function wa(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 Ta(e,t,n){let r=wa(e,t,n),i=[];for(let e=0;e<t;e++)i.push(r&&e>=r.start&&e<r.start+r.size?B.scrollThumb:` `);return i}function Ea(e,t){if(t<=0||e.length===0)return``;let n=B.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 Da(e,t){if(t<=0)return``;let n=Math.round(Math.min(1,Math.max(0,e))*t),r=ft(B.gaugeFilled,n);return r+ft(B.gaugeRest,Math.max(0,t-j(r)))}const Oa=`\x1B[43m`,ka=`\x1B[49m`,Aa=`\x1B[48;5;208m`,ja=`\x1B[49m`;function Ma(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?Aa:Oa,l=!0,u=e):l&&!t?(s+=u?ja:ka,l=!1):l&&t&&e!==u&&(s+=u?ja:ka,s+=e?Aa:Oa,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?Aa:Oa),d=0,p=``):e>=32&&(p+=n)}n===`\x1B`&&d>0&&(f=!0)}}return l&&(s+=u?ja:ka),s}function Na(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 Pa={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 Fa=null;function Ia(){if(!Fa)return;let e={};for(let[t,n]of Object.entries(Pa))e[t]=Fa.hex(n);return e}let La=null,Ra=null,za=null;function Ba(){return za||(za=Promise.all([import(`cli-highlight`),import(`chalk`)]).then(([e,t])=>{La=e.highlight,Ra=e.supportsLanguage,Fa=t.default}).catch(()=>{}),za)}function Va(){return La!==null}function Ha(e,t){if(!La)return Ba(),null;if(!t||e.length>524288||Ra&&!Ra(t))return null;try{let n=Ia();return n?La(e,{language:t,ignoreIllegals:!0,theme:n}):La(e,{language:t,ignoreIllegals:!0})}catch{return null}}const Ua=[`∙`,`◦`,`▪`,`-`];function Wa(e){return e.every(e=>j(e)===1)}function Ga(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 Ka(e=r,t,n){let i={...t,...n},a=i.listMarkers&&Wa(i.listMarkers)?i.listMarkers:Ua,o=i.listIndent===3?3:2;return{heading1:Ga(e,i.heading1,`accent`),heading2:Ga(e,i.heading2,`secondary`),headingWeak:Ga(e,i.headingWeak,`inactive`),listMarkerPrimary:Ga(e,i.listMarker,`secondary`),listMarkerMuted:Ga(e,i.listMarkerMuted,`inactive`),quoteBar:Ga(e,i.quoteBar,`accentDim`),quoteText:Ga(e,i.quoteText,`secondary`),link:Ga(e,i.link,`accentBright`),inlineCode:Ga(e,i.inlineCode,`codeText`),codeFenceDivider:Ga(e,i.codeFence,`inactive`),tableHeader:Ga(e,i.tableHeader,`secondary`),tableDivider:Ga(e,i.tableDivider,`inactive`),listIndent:o,listMarkers:a,codeBlockDivider:i.codeBlockDivider===`none`?`none`:`hr`,h1Divider:e.inactive,hr:e.inactive,codeGutter:e.inactive,codeLabel:e.suggestion,tableBody:e.text,taskChecked:e.success}}let qa;function Ja(e){qa=e}function Ya(){return qa}function Xa(){return Ka(r,void 0,qa)}function Za(){return Xa()}function Q(e,t){if(!t||!e)return e;try{if(t.startsWith(`#`))return Mn.hex(t)(e);let n=Mn[t];return typeof n==`function`?n(e):e}catch{return e}}function Qa(e,t,n){return lr(Mn.underline(Q(e,n.link)),t)}const $a=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/&#(?:39|x27);/gi,`'`);function eo(e,t=!1,n=Za()){return to(In.Lexer.lexInline(e),t,n)}function to(e,t,n){if(!e)return``;let r=``;for(let i of e)switch(i.type){case`text`:{let e=i;r+=e.tokens?to(e.tokens,t,n):$a(e.text);break}case`escape`:r+=i.text;break;case`codespan`:{let e=$a(i.text);r+=t?e:Q(e,n.inlineCode);break}case`strong`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[1m${e}\x1b[22m`;break}case`em`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[3m${e}\x1b[23m`;break}case`del`:{let e=to(i.tokens,t,n);r+=t?e:`\x1b[9m${e}\x1b[29m`;break}case`link`:{let e=i,a=to(e.tokens,t,n);r+=t?a:Qa(a,e.href,n);break}case`image`:r+=i.text||i.href;break;case`br`:r+=`
|
|
13
13
|
`;break;default:r+=$a(i.text??``)}return r}function no(e,t,n=``){let r=Gt(e,Math.max(1,t),{hard:!1,trim:!1}),i=r.length===0?[``]:r.split(`
|
|
14
|
-
`);return n?i.map((e,t)=>t===0?e:n+e):i}const ro=/\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,io=/(\b\d+\b)/g,ao=/("[^"]*"|'[^']*'|`[^`]*`)/g,oo=/(\/\/.*)/g;function so(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(io,
|
|
15
|
-
`),o=String(a.length).length,s=[];t&&(s.push(
|
|
16
|
-
`):[``]}const uo=(e,t)=>e+` `.repeat(Math.max(0,t-
|
|
14
|
+
`);return n?i.map((e,t)=>t===0?e:n+e):i}const ro=/\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,io=/(\b\d+\b)/g,ao=/("[^"]*"|'[^']*'|`[^`]*`)/g,oo=/(\/\/.*)/g;function so(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(io,r.warning),n(ro,r.codeText),n(ao,r.success),n(oo,r.inactive),t.length===0)return e;t.sort((e,t)=>e[0]-t[0]||t[1]-e[1]);let i=[];for(let e of t){if(i.length===0){i.push(e);continue}let t=i[i.length-1];e[0]<t[1]?i[i.length-1]=e:i.push(e)}let a=``,o=0;for(let[t,n,r]of i)t>o&&(a+=e.slice(o,t)),a+=Q(e.slice(t,n),r),o=n;return o<e.length&&(a+=e.slice(o)),a}function co(e,t,n,r){let i=Ha(e,t),a=(i??e).split(`
|
|
15
|
+
`),o=String(a.length).length,s=[];t&&(s.push(Q(` ${t}`,r.codeLabel)),r.codeBlockDivider!==`none`&&s.push(Q(ft(B.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]??``:so(a[e]);s.push(n+t+(c||` `))}return s}function lo(e,t){if(j(e)<=t)return[e];let n=Gt(e,Math.max(1,t),{hard:!0,trim:!1});return n?n.split(`
|
|
16
|
+
`):[``]}const uo=(e,t)=>e+` `.repeat(Math.max(0,t-j(e)));function fo(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=>j(t[e]??``)));let s=[];if(a*6+(a-1)*2>n){let o=Math.max(6,...e.map(e=>j(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(Mn.bold(uo(e[n]??``,o)),r.tableHeader),a=lo(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)=>lo(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=uo(n[a][e]??``,i);return t?Q(Mn.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(ft(B.hr,p),r.tableDivider));for(let e of t)f(e,!1);return s}function po(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 mo(e){let t=e.split(`
|
|
17
17
|
`),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(`
|
|
18
|
-
`)}function ho(e,t=80,n=Za()){let r=Math.max(1,t),i=mo(e);return po(go(
|
|
18
|
+
`)}function ho(e,t=80,n=Za()){let r=Math.max(1,t),i=mo(e);return po(go(In.lexer(i),r,0,n))}function go(e,t,n,r){let i=[];for(let a of e){if(a.type===`space`)continue;let e=_o(a,t,n,r);e.length!==0&&(i.length>0&&i[i.length-1]!==``&&i.push(``),i.push(...e))}return i}function _o(e,t,n,i){switch(e.type){case`heading`:{let n=e,r=to(n.tokens,!1,i),a=to(n.tokens,!0,i),o=no(n.depth===1?Mn.bold(Q(r,i.heading1)):n.depth===2?Mn.bold(Q(r,i.heading2)):n.depth<=4?Mn.bold(r):Q(Mn.dim(Mn.bold(r)),i.headingWeak),t);if(n.depth!==1)return o;let s=Math.max(3,Math.min(t,j(a)));return[...o,Q(ft(B.hr,s),i.h1Divider)]}case`paragraph`:return no(to(e.tokens,!1,i),t);case`text`:{let n=e;return no(n.tokens?to(n.tokens,!1,i):$a(n.text),t)}case`code`:return co(e.text,e.lang??``,t,i);case`hr`:return[Q(ft(B.hr,Math.min(40,t)),i.hr)];case`blockquote`:{let r=go(e.tokens,Math.max(1,t-2),n,i),a=Q(Mn.italic(B.quoteBar),i.quoteBar);return r.map(e=>e===``?a:`${a} ${Q(Mn.italic(e),i.quoteText)}`)}case`list`:return bo(e,t,n,i);case`table`:{let n=e;return fo(n.header.map(e=>to(e.tokens,!1,i)),n.rows.map(e=>e.map(e=>to(e.tokens,!1,i))),t,i)}case`html`:return no(Q($a(e.text).replace(/\n+$/,``),r.inactive),t);default:return[]}}function vo(e,t){return t.listMarkers[Math.min(e,t.listMarkers.length-1)]}function yo(e,t){return e===0?t.listMarkerPrimary:t.listMarkerMuted}function bo(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?B.checkboxOn:B.checkboxOff:e.ordered?`${a+s}.`:vo(n,r),l=o.task?o.checked?r.taskChecked:r.listMarkerMuted:yo(n,r),u=`${Q(c,l)} `,d=j(c)+1,f=` `.repeat(d),p=go(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 xo(e,t){let{filled:n,empty:r}=jt(e.chars),i=A(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 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*wo(e,t))/n}function wo(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 To(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 Eo(e,t,n=12,r=2){let i=e.split(`
|
|
19
19
|
`),a=t.split(`
|
|
20
|
-
`),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 Do(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 Oo=`__compacting__`;function ko(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 Ao=[`job`,`bash`,`subagent`];function jo(e){return(e.type??`process`)===`agent-session`?(e.origin??`user`)===`user`?`job`:`subagent`:`bash`}function Mo(e){return e.map((e,t)=>({t:e,i:t})).sort((e,t)=>{let n=Ao.indexOf(jo(e.t))-Ao.indexOf(jo(t.t));return n===0?e.i-t.i:n}).map(e=>e.t)}function No(e){return(e.type??`process`)===`agent-session`?e.agentStatus===`running`||e.agentStatus===`ready`||e.agentStatus===`needs_input`:e.status===`running`}function Po(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 Fo(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function Io(e){let t=[];return e.toolUseCount&&t.push(`${e.toolUseCount} ${e.toolUseCount===1?`tool`:`tools`}`),e.tokenCount&&t.push(`${Fo(e.tokenCount)} tokens`),t.length?` · ${t.join(` · `)}`:``}function Lo(e,t){if((e.type??`process`)===`agent-session`){let n=e.agentStatus??`running`;if(n===`running`){let n=Po(Math.max(0,Math.floor((t-e.startedAt)/1e3)));if(e.stall===`stalled`||e.stall===`warn`){let t=e.idleMs===void 0?`?`:Po(Math.floor(e.idleMs/1e3));return`${n} · ${
|
|
21
|
-
`):[]}function ks(e,t,n,r,i,a){let o=Math.max(1,n-4),s=[];s.push(vs({innerWidth:o,title:e.title,paint:Cs}));for(let n of e.children??[]){let e=t.byId.get(n);if(!e)continue;let c=Es(e,t,o,r+1,i,a);for(let e of c)s.push(bs(e,ws))}return s.push(ys({innerWidth:o,paint:Cs})),s}function As(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=Es(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 js(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=xo({percent:a,width:n,chars:`block`,color:s},Ss);return[Ss(o,s)+c]}function Ms(e){let t=e.color??`accent`;return[Ss(`[${e.text??``}]`,t)]}let Ns=0;function Ps(e,t){Ns++;let n=e.text??e.action??e.id,r=String(Ns),i=`${n}`;return t.push({key:r,label:i,componentId:e.id,action:e.action??`click`}),[Cs(`[${r}] [ ${i} ]`)]}function Fs(e){return[ws(e.text??`[${e.type}:${e.id}]`)]}function Is(e,t=80,n=0){if(!Array.isArray(e)||e.length===0)return{lines:[],buttons:[]};try{Ns=n,Rs=0;let r=Ts(e),i=[],a=[],o=new Set;for(let e of r.roots){let n=r.byId.get(e);n&&i.push(...Es(n,r,t,0,o,a))}return{lines:i,buttons:a}}catch{return{lines:[],buttons:[]}}}function Ls(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=Ts(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 Rs=0;function zs(e,t){let n=e.fields??[],r=[],i=e.formTitle??`表单`,a=Math.max(
|
|
22
|
-
`),t).map(e=>
|
|
23
|
-
`),
|
|
24
|
-
`),
|
|
25
|
-
`),
|
|
26
|
-
`):Vs(String(
|
|
27
|
-
`+t+"\n```",
|
|
28
|
-
`),t=
|
|
29
|
-
`),5).map((e,t)=>
|
|
30
|
-
`).map(e=>
|
|
20
|
+
`),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 Do(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 Oo=`__compacting__`;function ko(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 Ao=[`job`,`bash`,`subagent`];function jo(e){return(e.type??`process`)===`agent-session`?(e.origin??`user`)===`user`?`job`:`subagent`:`bash`}function Mo(e){return e.map((e,t)=>({t:e,i:t})).sort((e,t)=>{let n=Ao.indexOf(jo(e.t))-Ao.indexOf(jo(t.t));return n===0?e.i-t.i:n}).map(e=>e.t)}function No(e){return(e.type??`process`)===`agent-session`?e.agentStatus===`running`||e.agentStatus===`ready`||e.agentStatus===`needs_input`:e.status===`running`}function Po(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 Fo(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function Io(e){let t=[];return e.toolUseCount&&t.push(`${e.toolUseCount} ${e.toolUseCount===1?`tool`:`tools`}`),e.tokenCount&&t.push(`${Fo(e.tokenCount)} tokens`),t.length?` · ${t.join(` · `)}`:``}function Lo(e,t){if((e.type??`process`)===`agent-session`){let n=e.agentStatus??`running`;if(n===`running`){let n=Po(Math.max(0,Math.floor((t-e.startedAt)/1e3)));if(e.stall===`stalled`||e.stall===`warn`){let t=e.idleMs===void 0?`?`:Po(Math.floor(e.idleMs/1e3));return`${n} · ${B.warn} idle ${t}${e.blockedOn?` (${e.blockedOn})`:``}`}return`${n}${Io(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(Po(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 Ro(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 zo(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 Bo(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 Vo(e){return e===`awaiting_gate`?`needs_input`:e===`done`?`applied`:e===`error`||e===`aborted`?`failed`:`running`}function Ho(e){return{id:e.id,command:`@${e.agentName}`,type:`agent-session`,origin:e.origin,status:`running`,agentStatus:Vo(e.status),startedAt:e.startedAt,...Bo(e)}}function Uo(e){let t=e/1e3;return t<60?`${t.toFixed(1)}s`:Po(Math.floor(t))}function Wo(e,t){return e.map(e=>{let n=Uo((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} ${B.check} (${r}, ${n})`})}function Go(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=Po(Math.max(0,Math.floor((t-e.startedAt)/1e3))),r=e.stall===`stalled`||e.stall===`warn`,i=e.idleMs===void 0?`?`:Po(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:`${Fo(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 Ko(e,t){let n=Go(e,t);return n?[n.header,...n.rows.map(e=>` ${e.warn?`! `:` `}${e.label.padEnd(11)} ${e.value}`)]:[]}function qo(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 Jo=new Map;let Yo=null,Xo=null,Zo=null,Qo=null,$o=null,es=null;function ts(){Yo=null,Xo=null,Zo=null,$o=null,Qo=null,es=null}function ns(){if(Yo===null){let e=[];for(let t of Jo.values())t.renderers&&e.push(...t.renderers);Yo=e}if(Xo===null){let e=[];for(let t of Jo.values())t.statusItems&&e.push(...t.statusItems);Xo=e}if(Zo===null){let e=[];for(let t of Jo.values())t.panels&&e.push(...t.panels);Zo=e}if($o===null){let e=new Map;for(let t of Jo.values())if(t.a2uiComponents)for(let n of t.a2uiComponents)e.has(n.type)||e.set(n.type,n.render);$o=e}if(Qo===null){let e=[];for(let t of Jo.values())t.statusWidgets&&e.push(...t.statusWidgets);Qo=e}if(es===null){let e=[];for(let t of Jo.values())t.fileViewers&&e.push(...t.fileViewers);es=e}}function rs(e,t){Jo.set(e,t),ts()}function is(e){Jo.delete(e),ts()}function as(){Jo.clear(),ts()}function os(){return Jo}const ss=new Set([`cli-commands`,`cli-status`,`cli`]);function cs(e,t){let n=[];for(let[r,i]of t)ss.has(i.pluginId)||e.has(r)||n.push(r);return n}function ls(){return ns(),Yo??[]}function us(){return ns(),Xo??[]}function ds(){return ns(),$o??new Map}function fs(){return ns(),Qo??[]}function ps(){return ns(),es??[]}function ms(e){rs(`cli`,{pluginId:`cli`,renderers:[...e]})}function hs(){is(`cli`)}function gs(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 _s(e,t){for(let n of ls())if(gs(n.matcher,e))try{let r=n.render(e,t);if(Array.isArray(r)&&r.length>0)return r}catch{}return null}function vs({innerWidth:e,title:t,paint:n=e=>e}){if(!t)return n(`┌${ft(`─`,e)}┐`);let r=rt(t,e-4),i=j(r);return n(`┌─ ${r} ─${ft(`─`,Math.max(0,e-i-3))}┐`)}function ys({innerWidth:e,paint:t=e=>e}){return t(`└${ft(`─`,e)}┘`)}function bs(e,t=e=>e){return t(`│ `)+e}function xs(e){switch(e){case`accent`:return r.accent;case`green`:return r.success;case`amber`:return r.warning;case`red`:return r.error;case`gray`:return r.inactive;default:return r.inactive}}function Ss(e,t){let n=xs(t);if(n.startsWith(`#`))return Mn.hex(n)(e);let r=Mn[n];return typeof r==`function`?r(e):e}const Cs=e=>Ss(e,`accent`),ws=e=>Ss(e,`gray`);function Ts(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 Es(e,t,n,r,i,a){if(i.has(e.id))return[];switch(i.add(e.id),e.type){case`Text`:return Os(e);case`Card`:return ks(e,t,n,r,i,a);case`List`:return As(e,t,n,r,i,a);case`Progress`:return js(e,n);case`Chip`:return Ms(e);case`Button`:return Ps(e,a);case`Form`:return zs(e,a);default:return Ds(e,t,n,r,i,a)}}function Ds(e,t,n,r,i,a){let o=ds().get(e.type);if(!o)return Fs(e);let s=e=>{if(i.has(e))return[];let o=t.byId.get(e);return o?Es(o,t,n,r+1,i,a):[]};try{let t=o(e,n,s);return!Array.isArray(t)||!t.every(e=>typeof e==`string`)?Fs(e):t}catch{return Fs(e)}}function Os(e){let t=e.text??``;return t?t.split(`
|
|
21
|
+
`):[]}function ks(e,t,n,r,i,a){let o=Math.max(1,n-4),s=[];s.push(vs({innerWidth:o,title:e.title,paint:Cs}));for(let n of e.children??[]){let e=t.byId.get(n);if(!e)continue;let c=Es(e,t,o,r+1,i,a);for(let e of c)s.push(bs(e,ws))}return s.push(ys({innerWidth:o,paint:Cs})),s}function As(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=Es(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 js(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=xo({percent:a,width:n,chars:`block`,color:s},Ss);return[Ss(o,s)+c]}function Ms(e){let t=e.color??`accent`;return[Ss(`[${e.text??``}]`,t)]}let Ns=0;function Ps(e,t){Ns++;let n=e.text??e.action??e.id,r=String(Ns),i=`${n}`;return t.push({key:r,label:i,componentId:e.id,action:e.action??`click`}),[Cs(`[${r}] [ ${i} ]`)]}function Fs(e){return[ws(e.text??`[${e.type}:${e.id}]`)]}function Is(e,t=80,n=0){if(!Array.isArray(e)||e.length===0)return{lines:[],buttons:[]};try{Ns=n,Rs=0;let r=Ts(e),i=[],a=[],o=new Set;for(let e of r.roots){let n=r.byId.get(e);n&&i.push(...Es(n,r,t,0,o,a))}return{lines:i,buttons:a}}catch{return{lines:[],buttons:[]}}}function Ls(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=Ts(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 Rs=0;function zs(e,t){let n=e.fields??[],r=[],i=e.formTitle??`表单`,a=Math.max(j(i)+4,30);r.push(vs({innerWidth:a,title:i,paint:Cs}));for(let e of n){let t=e.required?` (必填)`:``;switch(e.type){case`text`:r.push(bs(`${e.label}: ${e.defaultValue?String(e.defaultValue):`___________`}${t}`,ws));break;case`select`:{let n=e.options??[],i=e.defaultValue,a=n.find(e=>e.id===i)?.label??n[0]?.label??``;r.push(bs(`${e.label}: ${a}${t}`,ws));break}case`toggle`:r.push(bs(`${e.label}: ${e.defaultValue===!0?B.toggleOn:B.toggleOff}${t}`,ws));break;default:r.push(bs(`${e.label}: ?${t}`,ws))}}Rs++;let o=e.action??`submit`;return t.push({key:String(Rs),label:`填写表单`,componentId:e.id,action:o}),r.push(bs(`[${Rs}] 填写表单`,Cs)),r.push(ys({innerWidth:a,paint:Cs})),r}function Bs(e){if(!Array.isArray(e)||e.length===0)return[];try{let t=e,n=[],r=Ls(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 Vs(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 Hs(e){let t=We(e)?.colorToken;return t?r[t]:r.inactive}function Us(e){l.lastIndex=0;let t=``,n=0,r;for(;(r=l.exec(e))!==null;)r.index>n&&(t+=e.slice(n,r.index)),t+=Q(r[0],Hs(f(r[0]))),n=r.index+r[0].length;return n<e.length&&(t+=e.slice(n)),t}const Ws=(e,t=R.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 Gs(e,t){let n=e>0?Math.max(0,Math.min(1,t/e)):0,i=Math.round(n*100),a=n>0?Math.max(1,Math.round(n*10)):0;return xo({percent:i,width:10,segments:a>0?[{key:`ratio`,width:a}]:[],chars:`dot`,color:r.inactive},Q)}function Ks(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 qs=/^[\s]*(❌|✗|⛔|🔴|🚫|❎)\s*/u,Js=/^[\s]*(✅|✓|🟢|✔️?|☑️?)\s*/u;function Ys(e){return qs.test(e)?{cleaned:e.replace(qs,``)}:Js.test(e)?{cleaned:e.replace(Js,``)}:{cleaned:e}}function Xs(e,t){return e.length<=t?e:[...e.slice(0,t),V.t(`common.moreLinesLabel`,{n:e.length-t})]}function Zs(e,t){return Xs(Vs(e).split(`
|
|
22
|
+
`),t).map(e=>Q(e,r.toolText))}function Qs(e){return e&&e.charAt(0).toUpperCase()+e.slice(1)}function $s(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 ec=new Set([`edit`,`Edit`,`str_replace`]),tc=new Set([`write`,`Write`,`create`]),nc=new Set([`read`,`Read`,`view`,`cat`,`open`]),rc=new Set([`write_todos`,`TodoWrite`]),ic=new Set([...Nn,`Task`]);function ac({name:e,argPreview:t,added:n,removed:i,isError:a,status:o}){let s=o??(a?`error`:`ok`),c=s===`error`?B.cross:s===`warn`?B.warn:B.check,l=s===`error`?r.error:s===`warn`?r.warning:r.success,u=Q(c+` `,l)+Q(Qs(e),r.toolText),d=t!=null||n!=null||i!=null;return d&&(u+=Q(`(`,r.toolText)),t!=null&&(u+=Q(t,r.toolText)),n!=null&&(u+=Q((t==null?``:` `)+`+`+n,r.diffAdd)),i!=null&&(u+=Q(` -`+i,r.diffRemove)),d&&(u+=Q(`)`,r.toolText)),u}const oc=()=>process.env.OTTO_TUI_DIFF_BG!==`0`;function sc(e,t){if(!t||!oc())return e;try{return Mn.bgHex(t)(e)}catch{return e}}const cc={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 lc(e){if(!e)return``;let t=e.split(`/`).pop()??``;return t.toLowerCase()===`dockerfile`?`dockerfile`:cc[t.includes(`.`)?t.split(`.`).pop().toLowerCase():``]??``}function uc(e,t,n,i=2e3){let a=lc(t),o=e.split(`
|
|
23
|
+
`),s=((n&&a!==``&&o.length<=i?Ha(e,a):null)??e).split(`
|
|
24
|
+
`),c=Math.max(2,String(s.length).length);return s.map((e,t)=>dc(c+1)+Q(String(t+1).padStart(c)+` `,r.inactive)+(e||` `))}const dc=e=>`\x1b]9;cw=${e}\x07`;function fc(e,t={}){let n=e.reduce((e,t)=>e+t.lines.length,0)>200?void 0:t.highlight,i=t.lang??``,a=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>a&&(a=t)}let o=Math.max(2,String(a).length),s=[];return e.forEach((e,t)=>{t>0&&s.push(Q(`⋮`.padStart(o),r.inactive));for(let t of To(e.lines)){let e=t.type===`remove`?t.oldLine:t.newLine??t.oldLine,a=String(e??``).padStart(o),c=t.type===`add`?`+`:t.type===`remove`?`-`:` `,l=t.type===`add`?r.diffAdd:t.type===`remove`?r.diffRemove:void 0,u=l??r.inactive,d=t.type===`add`?r.diffAddBg:t.type===`remove`?r.diffRemoveBg:``,f=n&&i?n(t.content,i):null,p;if(f!=null)p=Q(a+` `,u)+Q(c+` `,l)+f;else if(t.wordSegments&&(t.type===`add`||t.type===`remove`)){let e=t.wordSegments.map(e=>Q(e.changed?Mn.bold(e.text):e.text,l)).join(``);p=Q(a+` `,u)+Q(c+` `,l)+e}else p=Q(a+` `,u)+Q(c+` `+t.content,l);s.push(dc(o+2)+sc(p,d))}}),s}function pc(e){let t=String(e.name??``),n=e.args==null?void 0:String(e.args),i=e.argsObj==null?{}:e.argsObj,a=e.result==null?void 0:String(e.result),o=e.isError==null?void 0:!!e.isError;if(ec.has(t)&&typeof i.oldContent==`string`&&typeof i.newContent==`string`){let e=typeof i.path==`string`?i.path:``,t=e?$s(e):``,n=Eo(i.oldContent,i.newContent),{added:r,removed:a}=Do(n),s={highlight:Ha,lang:lc(e)};return[ac({name:V.t(`tool.edit`),argPreview:t,added:r,removed:a,isError:o}),...Ws(fc(n,s))]}if(tc.has(t)&&typeof i.content==`string`){let e=typeof i.path==`string`?i.path:``,t=e?$s(e):``,n=i.content.split(`
|
|
25
|
+
`),r=[{header:``,lines:n.map((e,t)=>({type:`add`,content:e,newLine:t+1})).slice(0,12)}],a={highlight:Ha,lang:lc(e)};return[ac({name:V.t(`tool.write`),argPreview:t,added:n.length,isError:o}),...Ws(fc(r,a))]}if(nc.has(t)){let e=typeof i.path==`string`?i.path:n?n.trim():``;return[ac({name:V.t(`tool.read`),argPreview:e,isError:o})]}if(rc.has(t)&&Array.isArray(i.todos)){let e=i.todos,t=i.title;return[ac({name:t??V.t(`tool.tasks`),argPreview:V.t(`welcome.itemCountLabel`,{count:e.length}),isError:o}),...Ws(e.map(e=>{let t=e.status===`done`?B.todoDone:e.status===`in_progress`?B.todoActive:B.todoPending,n=e.status===`done`?r.success:e.status===`in_progress`?r.accent:r.inactive,i=e.status===`done`||e.status===`skipped`,a=i?Mn.strikethrough(e.title??``):e.title??``;return Q(t+` `,n)+Q(a,i?r.inactive:r.text)}))]}if(ic.has(t)){let e=i.subagent??i.agent??i.category??i.team,t=typeof i.prompt==`string`?i.prompt.replace(/\n/g,` `):``,n=Q((o?B.cross:B.check)+` `,o?r.error:r.success)+Q(V.t(`tool.subagent`),r.toolText)+(e?Q(`(${e})`,r.special):``),s=[];return t&&s.push(...Ws([Q(t,r.toolText)])),a&&s.push(...Ws(Zs(a,5))),[n,...s]}return[ac({name:ko(t),argPreview:n?n.replace(/\n/g,` `):void 0,isError:o}),...a?Ws(Zs(a,5)):[]]}function mc(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(ac({name:e?.name?ko(e.name):V.t(`tool.unknown`),argPreview:r}))}return t}function hc(e,t=80){let n=_s(e,t);if(n)return n;let i=e,a=i.role??`unknown`,o=i.content,s=Array.isArray(o)?o:[],c=Array.isArray(o)?s.filter(e=>e.type===`text`).map(e=>Vs(String(e.text??``))).join(`
|
|
26
|
+
`):Vs(String(o??``)),l=i.tool_calls,u=Array.isArray(l)?l:[],d=Math.max(1,t-2),f=e=>ho(e,d),p=0,m=[];for(let e of s){if(e.type!==`a2ui`)continue;let t=Is(e.components,d,p);m.push(...t.lines),p+=t.buttons.length}if(a===`summary`){let e=i.status===`error`?B.cross:i.status===`interrupted`?`⏹`:i.status===`incomplete`?`⏸`:B.check,t=i.status===`error`?r.error:i.status===`interrupted`||i.status===`incomplete`?r.warning:r.success,n=i.status===`error`?V.t(`status.failed`):i.status===`interrupted`?V.t(`status.interrupted`):i.status===`incomplete`?V.t(`status.stopped`):V.t(`status.done`),a=Math.floor(Number(i.elapsedMs??0)/1e3),o=a<60?`${a}s`:`${Math.floor(a/60)}m ${a%60}s`,s=Q(`${e} ${n}`,t)+Q(` · ${V.t(`tool.countLabel`,{count:Number(i.toolCount??0)})} · ${o}`,r.inactive),c=i.cacheHitRatio,l=typeof c==`number`?`(${Math.round(c*100)}%)`:``;if(i.tokensUsed==null?l&&(s+=Q(` · cache${l}`,r.inactive)):s+=Q(` · ${Fo(Number(i.tokensUsed))} tokens${l}`,r.inactive),i.status===`incomplete`&&i.tasksTotal!=null){let e=Number(i.tasksDone??0),t=Number(i.tasksTotal),n=Number.isFinite(e)?e:0,a=Number.isFinite(t)?t:0,o=Math.max(0,a-n);s+=Q(` · ${V.t(`task.leftLabel`,{done:n,total:a,left:o})}`,r.warning)}if(i.model!=null){let e=i.effort==null?``:String(i.effort),t=e?e.toLowerCase()===`xhigh`?`XHigh`:e.charAt(0).toUpperCase()+e.slice(1):``,n=t?`${String(i.model)}·${t}`:String(i.model);s+=Q(` · ${n}`,r.inactive)}if(i.completedAt!=null&&(s+=Q(` · ${Ks(Number(i.completedAt))}`,r.inactive)),i.status===`error`&&i.errorMessage){let e=Q(String(i.errorMessage),r.error);return m.length>0?[s,``,e,``,...m]:[s,``,e]}return m.length>0?[s,``,...m]:[s]}if(a===`assistant_stream`){let{cleaned:e}=Ys(Vs(String(i.text??``)));if(!e)return[];let t=i.lead===!0;return f(e).map((e,n)=>t&&n===0?`${Q(B.bullet,r.replyPrefix)} ${e}`:Vs(e).trim()===``?``:` ${e}`)}if(a===`tool`){let e=po(pc(i));return m.length>0?[...e,``,...m]:e}if(a===`system`){let e=[Q(c,r.inactive)];return m.length>0?[...e,``,...m]:e}if(a===`panel`){let e=i.language==null?``:String(i.language),t=i.code==null?``:String(i.code),n=i.title==null?``:String(i.title),a="```"+e+`
|
|
27
|
+
`+t+"\n```",o=[];return n&&o.push(Q(Mn.bold(n),r.accent)),o.push(...f(a)),m.length>0?[...o,``,...m]:o}if(a===`user`){let e=c.split(`
|
|
28
|
+
`),t=i.streaming===!0,n=e.map((e,n)=>{let i=Us(e),a=t?Mn.dim(i):i;return n===0?Q(`${B.userPrompt} `,r.inactive)+a:` `+a});return m.length>0?[...n,``,...m]:n}if(a===`tool_result`||i.type===`tool_result`){let e=Xs(c.split(`
|
|
29
|
+
`),5).map((e,t)=>Q((t===0?`${B.toolResult} `:` `)+e,r.inactive));return m.length>0?[...e,``,...m]:e}if(a===`command_echo`||i.type===`command_echo`){let e=i.command==null?``:String(i.command),t=i.status===`warn`||i.status===`error`?i.status:`ok`,n=t===`error`?B.cross:t===`warn`?B.warn:B.check,a=t===`error`?r.error:t===`warn`?r.warning:r.success,o=[Q(`${B.commandPrompt} `,r.inactive)+Q(e,r.inactive)],s=i.summary==null?void 0:String(i.summary);s!=null&&o.push(...Ws([Q(`${n} `,a)+Q(s,r.toolText)]));let c=i.detail==null?void 0:String(i.detail);return c&&o.push(...Ws(Vs(c).split(`
|
|
30
|
+
`).map(e=>Q(e,r.toolText)))),o}if(a===`compact_boundary`||i.type===`compact_boundary`){let e=i.before==null?void 0:Number(i.before),t=i.after==null?void 0:Number(i.after);if(!(e!=null&&t!=null&&!Number.isNaN(e)&&!Number.isNaN(t)))return[ac({name:V.t(`tool.compact`),argPreview:V.t(`compact.ed`)})];let n=`${e} → ${t} ${Gs(e,t)}`;return[ac({name:V.t(`tool.compact`),argPreview:n})]}if(a===`prune_boundary`||i.type===`prune_boundary`)return[ac({name:V.t(`tool.prune`),argPreview:V.t(`compact.pruned`)})];if(a===`history_capped`||i.type===`history_capped`){let e=i.removedCount==null?0:Number(i.removedCount),t=typeof i.trigger==`string`?i.trigger:`count`;if(i.lossy===!0)return[ac({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[ac({name:V.t(`tool.history`),argPreview:n})]}if(a===`write_lease_denied`||i.type===`write_lease_denied`)return[ac({name:V.t(`tool.session`),argPreview:V.t(`lease.denied`),status:`warn`})];if(a===`write_lease_restored`||i.type===`write_lease_restored`)return[ac({name:V.t(`tool.session`),argPreview:V.t(`lease.restored`)})];if(a===`run_paused`||i.type===`run_paused`){let e=i.toolCount==null?void 0:Number(i.toolCount),t=e==null?V.t(`run.messageBody`):V.t(`run.messageBody`,{context:`n`,n:e});return[ac({name:V.t(`tool.run`),argPreview:t}),...Ws([Q(V.t(`run.messageFooter`),r.inactive)])]}if(a===`run_resumed`||i.type===`run_resumed`)return[ac({name:V.t(`tool.run`),argPreview:V.t(`run.resumedMessageBody`)})];if(a===`run_pause_cancelled`||i.type===`run_pause_cancelled`)return[ac({name:V.t(`tool.run`),argPreview:V.t(`run.pauseCancelledMessageBody`)})];if(a===`tool_completion`||i.type===`tool_completion`){let e=i.isError===!0;return[Q(`${B.toolResult} ${c}`,e?r.error:r.inactive)]}if(a===`model_switch`||i.type===`model_switch`){let e=i.label==null?``:String(i.label);return[ac({name:V.t(`tool.model`),argPreview:V.t(`model.switchedTo`,{label:e})})]}if(a===`effort_switch`||i.type===`effort_switch`){let e=i.label==null?``:String(i.label);return[ac({name:V.t(`tool.effort`),argPreview:V.t(`model.switchedTo`,{label:e})})]}if(a===`model_fallback`||i.type===`model_fallback`){let e=i.configured==null?``:String(i.configured),t=i.active==null?``:String(i.active);return[ac({name:V.t(`tool.model`),argPreview:`${V.t(`model.title`)}: ${e} → ${t}`,status:`warn`}),...Ws([Q(V.t(`model.hint`),r.inactive)])]}let h=Array.isArray(o)&&s.some(e=>e.type===`thinking`);if(a===`assistant`&&h){let e=s.filter(e=>e.type===`thinking`).map(e=>String(e.thinking??``)).join(`
|
|
31
31
|
`).split(`
|
|
32
|
-
`),t=e.slice(0,30),n=e.length-t.length,
|
|
32
|
+
`),t=e.slice(0,30),n=e.length-t.length,i=[];if(i.push(Q(B.thinking,r.toolText)+Q(` `+V.t(`common.thoughtLines`,{n:e.length}),r.toolText)),i.push(...Ws(t.map(e=>Q(Mn.italic(e),r.toolText)))),n>0&&i.push(...Ws([Q(V.t(`common.moreLinesLabel`,{n}),r.toolText)])),c){let{cleaned:e}=Ys(c);i.push(``,...Ws(f(e)))}return u.length>0&&i.push(``,...mc(u)),m.length>0?[...po(i),``,...m]:po(i)}let{cleaned:g}=Ys(c),_=[];return c&&_.push(...Ws(f(g))),u.length>0&&(_.length&&_.push(``),_.push(...mc(u))),m.length>0?[...po(_),``,...m]:po(_)}const gc=[`Aa`,`Ab`,`.*`],_c=[`input`,...gc],vc={input:``,Aa:`Aa`,Ab:`Ab|`,".*":`.*`};function yc({lines:e,rows:r,header:i,onDismiss:a,onKey:o,dismissOnEsc:s=!0,internalChromeRows:c=9,initialScroll:l=`bottom`,emptyMessage:u,active:f=!0,contentKey:m,columns:h=80,wrapMode:g=`pre-wrap`,extraHints:_,findActive:v,onFindModeChange:y,scrollStore:b}){let x=P(),S=Ca(),C=b??S,[ee,te]=K(l===`bottom`?2**53-1:0),[ne,ie]=K(!1),T=v??ne,ae=e=>{let t=typeof e==`function`?e(T):e;ie(t),y?.(t)},[E,D]=K(``),oe=G(null),se=Qe(V.t(`find.inputLabel`))+1,[A,j]=K(0),[M,ce]=K(!1),[le,ue]=K(!1),[de,fe]=K(!1),[pe,me]=K(`input`);Pe({active:T&&pe===`input`,containerRef:oe,text:E,inline:{column:se+Qe(E),lineOffset:0},deleteKeyAt:0});let he=Math.max(10,h-dt.contentInset),ge=Yt(()=>g===`truncate`?e:d(e,he),[e,he,g]);W(()=>{if(C)return C.registerWheel(e=>{f&&te(t=>ba(t,e,ge.length,r))})},[C,f,r,ge.length]);let _e=Yt(()=>({caseSensitive:M,wholeWord:le,regex:de}),[M,le,de]),ve=Yt(()=>{if(!T||!E)return{byPhys:new Map,count:0,flat:[]};let e=new Map,t=[];for(let n=0;n<ge.length;n++){let r=Na(Vs(ge[n]),E,_e);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}},[T,E,_e,ge]);W(()=>{j(0)},[E,_e]);let ye=m??`${e.length}:${e[0]??``}:${e[e.length-1]??``}`,be=G(ye);W(()=>{be.current!==ye&&(te(l===`bottom`?2**53-1:0),be.current=ye)},[ye,l]);let xe=c+(T?2:0),{maxRows:Se,expanded:Ce,handleExpandKey:we}=_a(r),Te=Math.max(3,p(ge.length+xe,r,Se)-xe),Ee=va(ge.length,Te,ee),De=Math.max(0,ge.length-Te),Oe=Ee.offset,ke=ge.slice(Ee.start,Ee.end),Ae=Fe(`f`),je=qt(e=>{me(t=>_c[(_c.indexOf(t)+e+_c.length)%_c.length])},[]),Me=qt(e=>{switch(e){case`Aa`:ce(e=>!e);break;case`Ab`:ue(e=>!e);break;case`.*`:fe(e=>!e);break;default:break}},[]);k(`file-content-viewer`,(e,t)=>{if(!f)return!1;if(t.escape)return T?E?(D(``),j(0),!0):(ae(!1),!0):(s&&a(),!0);if(t.ctrl&&e===`f`)return ae(e=>!e),T&&(D(``),j(0),ce(!1),ue(!1),fe(!1),me(`input`)),!0;if(T){if(t.tab)return je(t.shift?-1:1),!0;let r=n(t);if(r!==0)return je(r),!0;if(t.upArrow||t.downArrow)return ve.count>0&&j(e=>t.upArrow?(e-1+ve.count)%ve.count:(e+1)%ve.count),!0;if(t.return)return pe===`input`?ve.count>0&&j(e=>(e+1)%ve.count):Me(pe),!0;if(e===` `)return pe===`input`?(D(e=>e+` `),!0):(Me(pe),!0);if(t.backspace||t.delete)return D(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=Nt(e);return t&&(pe!==`input`&&me(`input`),D(e=>e+t)),!0}return e&&e.length===1&&e>=` `&&!t.ctrl&&!t.meta?(pe!==`input`&&me(`input`),D(t=>t+e),!0):!0}if(!o?.(e,t)&&!we(e,t))return t.upArrow?(te(e=>Math.max(0,e-1)),!0):t.downArrow?(te(e=>Math.min(De,e+1)),!0):t.pageUp?(te(e=>Math.max(0,e-Te)),!0):t.pageDown?(te(e=>Math.min(De,e+Te)),!0):e===`g`&&!t.ctrl?(te(0),!0):e===`G`&&!t.ctrl?(te(De),!0):!1}),W(()=>{if(!T||ve.count===0)return;let e=ve.flat[A];if(!e)return;let t=e.physIdx;t<Oe?te(t):t>=Oe+Te&&te(t-Te+1)},[A,T]);let F=ve.flat[A]??null,Ne=e=>{let t=e===`Aa`&&M||e===`Ab`&&le||e===`.*`&&de,n=pe===e,r=vc[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(O,{header:i,footer:T?q(N,{items:[...pe===`input`?[[`${t.up}${t.down}`,`match`]]:[],[t.enter,pe===`input`?`next`:`toggle`],[t.tab,`mode`],[t.esc,E?`clear`:`close`],[Ae,`find`]]}):q(N,{items:[..._??[],[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}/g/G`,V.t(`hint.scroll`)],[t.esc,V.t(`hint.close`)],[Ae,V.t(`hint.find`)]]}),children:[q(X,{children:` `}),T&&J(Xt,{children:[J(Y,{ref:oe,children:[J(X,{children:[V.t(`find.inputLabel`),` `]}),pe===`input`?q(X,{inverse:!0,children:E?E+` `:` `}):q(X,{children:E?E+` `:` `}),gc.map(Ne),ve.count>0?J(X,{children:[` `,V.t(`find.matchCount`,{current:A+1,total:ve.count})]}):E?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`,height:Ce?Math.max(1,Se-c):void 0,children:[q(Y,{flexDirection:`column`,flexGrow:1,children:ke.map((e,t)=>{let n=Oe+t,r=ve.byPhys.get(n),i=F?.physIdx===n?F.range:void 0,a=r?Ma(e,r,i):e;return q(X,{wrap:`truncate-end`,children:a===``?` `:a},`${Oe+t}`)})}),q(Y,{flexDirection:`column`,width:1,children:Ta(ge.length,ke.length,Oe).map((e,t)=>q(X,{color:x.panelBorder,children:e},t))})]}),q(X,{children:` `}),J(Y,{flexDirection:`row`,height:1,children:[q(w,{hasMore:Ee.above>0,count:Ee.above}),q(re,{hasMore:Ee.below>0,count:Ee.below})]})]})}function bc(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 xc(e){let t=e.split(`/`).pop()??e;return ps().filter(n=>bc(n.matcher).some(n=>dn(n,t)||dn(n,e)))}const Sc=5e4;function Cc(e){let t=1,n=-1;for(;(n=e.indexOf(`
|
|
33
33
|
`,n+1))!==-1;)t++;return t}function wc(e,t){let n=-1,r=0;for(;r<2e3;){let t=e.indexOf(`
|
|
34
34
|
`,n+1);if(t===-1)break;n=t,r++}let i=n===-1?e:e.slice(0,n),a=t===`byte`?`[文件过大(超过 ${ln/1024/1024}MB),仅显示前 ${r} 行]`:`[文件行数过多(超过 ${Sc} 行),仅显示前 ${r} 行]`;return{id:`truncated`,label:`Truncated`,lines:[...i.split(`
|
|
35
35
|
`),``,a],wrapMode:`truncate`}}function Tc(e,t,n,r){if(n.length>524288)return e;let i=xc(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 Ec(e){return(e.split(`/`).pop()??``).toLowerCase().endsWith(`.md`)}function Dc(e,t,n){return{id:`plain`,label:`Plain`,lines:uc(e,t,n),wrapMode:`truncate`}}function Oc(e,t,n,r){let i=[];try{i.push({id:`rendered`,label:`Rendered`,lines:ho(e,n),wrapMode:`pre-wrap`})}catch{}let a=r?Ha(e,`markdown`):null;return i.push({id:`raw`,label:`Raw`,lines:(a??e).split(`
|
|
36
|
-
`),wrapMode:`truncate`}),i}function kc(e,t,n,r,i=!1){if(i||t.length>ln)return Tc([wc(t,`byte`)],e,t,n);if(Cc(t)>Sc)return Tc([wc(t,`line`)],e,t,n);let a;if(Ec(e)){let i=Oc(t,e,n,r);a=i.length>0?i:[Dc(t,e,r)]}else a=lc(e)===``?[Dc(t,e,r)]:[{id:`code`,label:`Code`,lines:uc(t,e,r),wrapMode:`truncate`}];return Tc(a,e,t,n)}const Ac=[`recent`,`shortcut`,`resource`,`extension`,`agent`,`person`,`file`,`hashtag`,`model`,`effort`];function jc(e){
|
|
37
|
-
`).map((e,t)=>
|
|
36
|
+
`),wrapMode:`truncate`}),i}function kc(e,t,n,r,i=!1){if(i||t.length>ln)return Tc([wc(t,`byte`)],e,t,n);if(Cc(t)>Sc)return Tc([wc(t,`line`)],e,t,n);let a;if(Ec(e)){let i=Oc(t,e,n,r);a=i.length>0?i:[Dc(t,e,r)]}else a=lc(e)===``?[Dc(t,e,r)]:[{id:`code`,label:`Code`,lines:uc(t,e,r),wrapMode:`truncate`}];return Tc(a,e,t,n)}const Ac=[`recent`,`shortcut`,`resource`,`extension`,`agent`,`person`,`file`,`hashtag`,`model`,`effort`];function jc(e){if(e===`recent`)return V.t(`sigil.catRecent`);if(e===`extension`)return V.t(`sigil.catExtension`);let t=We(e);return t?t.categoryLabelKey===null?t.categoryLabelLiteral??String(e):V.t(t.categoryLabelKey):String(e)}function Mc(e){let t=Ac.indexOf(e);return t<0?Ac.length:t}const Nc=new Set([`skill`,`mcp`,`plugin`]);function Pc(e){return Nc.has(e.kind)?`extension`:e.kind}function Fc(e){let t=We(e);return t?t.categoryLabelKey===null?t.categoryLabelLiteral??String(e):V.t(t.categoryLabelKey):String(e)}function Ic(e,t=64){return rt(e.replace(/\s+/g,` `).trim(),t)}function Lc({sigil:e,initialQuery:n,registry:r,active:i,rows:a,columns:o=60,viewerColumns:s=80,onSelect:c,onClose:l,onQueryChange:u,readFileContent:d,recentEntries:f,title:m}){let h=P(),g=G(i);W(()=>{g.current&&!i&&l({deleteSigil:!1}),g.current=i},[i,l]);let[_,v]=K(n),[y,b]=K(n.length),[x,S]=ga(`sigil`,0),[C,ee]=K(null),[te,ne]=K(()=>r.search(_,e,50)),ie=G(0),[ae,E]=K(null),[D,oe]=K(!1),[O,se]=K(!1),[A,j]=K(Va()),[M,ce]=K(0),[le,ue]=K(`filter`);W(()=>{if(A)return;let e=!0;return Ba().then(()=>{e&&j(Va())}),()=>{e=!1}},[A]);let de=G(!0);W(()=>()=>{de.current=!1},[]),W(()=>{E(null),oe(!1),ce(0)},[C]);let fe=qt(()=>{!C||C.kind!==`file`||!d||(se(!0),d(C.label).then(e=>{de.current&&(E(e.content),oe(e.truncated),se(!1))}).catch(()=>{de.current&&(E(null),oe(!1),se(!1))}))},[C,d]),[pe,me]=K(!!r.searchAsync);W(()=>{let t=!0,n=r.searchAsync?r.searchAsync(_,e,50):Promise.resolve(r.search(_,e,50));return r.searchAsync&&me(!0),n.then(e=>{t&&(ne(e),me(!1))}).catch(()=>{t&&(ne([]),me(!1))}),()=>{t=!1}},[r,_,e]);let he=Yt(()=>_===``&&f&&f.length>0?f.slice(0,5):[],[_,f]),ge=Yt(()=>{let e=[...te].sort((e,t)=>Mc(Pc(e))-Mc(Pc(t)));return he.length>0?[...he,...e]:e},[te,he]),_e=ge.length===0?0:Math.min(x,ge.length-1),ye=Yt(()=>{let e=[],t=null,n=0;return ge.forEach((r,i)=>{let a=i<he.length?`recent`:Pc(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},[ge,he]),N=C?.kind===`file`&&ae!==null,be=Yt(()=>!C||!ae?[]:kc(C.label,ae,s,A,D),[C,ae,A,s,D]),Se=be[Math.min(M,Math.max(0,be.length-1))],Ce=Se?.lines??[],we=qt(()=>{ee(null),E(null)},[]),Te=qt((e,t)=>{v(e),b(t),S(0),u?.(e)},[u]);k(`sigil-pane`,(e,t)=>{if(N)return;if(C){if(t.escape){ee(null);return}if(t.return){c(C),ee(null);return}if(e===`r`&&C.kind===`file`&&d&&!O){fe();return}return}if(t.tab){ue(e=>e===`filter`?`list`:`filter`);return}if(le===`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=Nt(e);t&&Te(_.slice(0,y)+t+_.slice(y),y+t.length);return}if(le===`filter`&&(t.ctrl||t.meta)&&(t.leftArrow||t.rightArrow||t.home||t.end)){let e={name:t.home?`home`:t.end?`end`:t.leftArrow?`left`:`right`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},n=It(At.fromText(_,o,y),e);n&&Te(n.cursor.text,n.cursor.offset);return}if(le===`filter`&&(t.home||t.end)){let e={name:t.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},n=It(At.fromText(_,o,y),e);n&&Te(n.cursor.text,n.cursor.offset);return}if(t.leftArrow){let e=At.fromText(_,o,y).left();Te(e.text,e.offset);return}if(t.rightArrow){let e=At.fromText(_,o,y).right();Te(e.text,e.offset);return}if(De(`list-nav-up`,e,t,`sigilPane`)){if(le===`list`&&_e===0){ue(`filter`);return}S(e=>Math.max(0,e-1));return}if(De(`list-nav-down`,e,t,`sigilPane`)){if(le===`filter`){ue(`list`),S(0);return}S(e=>ge.length===0?0:Math.min(ge.length-1,e+1));return}if(t.escape){if(_.length>0){Te(``,0);return}l({deleteSigil:!1});return}if(t.return){let e=ge[_e];if(!e)return;if(e.preview){ee(e);return}c(e);return}if(le===`list`)return;if((t.backspace||t.delete)&&_.length===0){l({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=It(At.fromText(_,o,y),n);if(r){if(r.action===`clear_text`){Te(``,0);return}r.action===`submit`||r.action===`submit_force`||Te(r.cursor.text,r.cursor.offset)}},{isActive:i});let[Ee,Ae]=K(12),je=G(!0);W(()=>{je.current&&(je.current=!1,Ae(p(ye.length+8,a)-8))},[ye.length,a]);let Me=Et(ye,ye.findIndex(e=>e.type===`entry`&&e.index===_e),Ee,ie.current);ie.current=Me.scrollTop;let F=Me.rows;return N?q(yc,{lines:Ce,rows:a,columns:s,wrapMode:Se?.wrapMode??`truncate`,header:J(Y,{children:[q(X,{color:h.selection,children:C.label}),be.length>1&&Se?q(T,{leadingSpace:!0,children:Se.label}):null,J(L,{type:`secondary`,children:[` `,V.t(`diff.linesTotalLabel`,{count:Ce.length})]})]}),onDismiss:we,onKey:(e,t)=>{if((e===`[`||e===`]`)&&be.length>1){let t=e===`[`?-1:1;return ce(e=>(e+t+be.length)%be.length),!0}return!1},extraHints:be.length>1?[[`[ ]`,V.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,active:i,contentKey:`${C.label}:${Se?.id??``}`}):J(Y,{flexDirection:`column`,...Ue,borderColor:h.panelBorder,backgroundColor:h.overlayBg,paddingX:R.tight,marginTop:R.tight,children:[q(xe,{children:m??V.t(e===`@`?`sigil.titleMention`:`sigil.titleHashtag`)}),q(Y,{marginTop:R.tight}),O&&C&&J(Y,{flexDirection:`column`,children:[q(X,{color:h.selection,children:C.label}),J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.loadingFile`)]})]}),!O&&C&&!N&&J(Y,{flexDirection:`column`,children:[q(X,{color:h.selection,children:C.label}),q(L,{type:`secondary`,children:ft(B.hr,60)}),q(Y,{flexDirection:`column`,children:(C.preview||``).split(`
|
|
37
|
+
`).map((e,t)=>q(X,{color:h.secondary,children:e},t))}),q(L,{type:`secondary`,children:ft(B.hr,60)}),C.kind===`file`&&d&&J(Y,{flexDirection:`row`,children:[q(X,{color:h.suggestion,children:`r `}),q(L,{type:`secondary`,dim:!0,children:V.t(`sigil.readFullFile`)})]}),J(Y,{flexDirection:`row`,children:[J(ve,{children:[t.enter,` `]}),q(X,{children:V.t(`hint.confirm`)}),q(X,{children:` `}),J(ve,{children:[t.esc,` `]}),q(X,{children:V.t(`hint.cancel`)})]})]}),!C&&J(Xt,{children:[q(Y,{marginBottom:R.tight,flexDirection:`row`,children:q(Tt,{value:_,offset:y,columns:o,mode:`dialog`,placeholder:V.t(`sigil.filterPlaceholder`),focused:i&&le===`filter`,physicalCursor:i&&le===`filter`})}),ge.length===0&&!pe&&J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.noMatches`)]}),pe&&J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`sigil.searching`)]}),q(Y,{height:1,children:q(w,{hasMore:Me.hasMoreAbove,indent:` `})}),F.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(Y,{flexDirection:`column`,children:q(Oe,{label:jc(e.kind)})},`h:${e.kind}`);let n=e.index===_e,r=e.index<he.length;return J(Y,{flexDirection:`row`,children:[J(X,{color:n&&le===`list`?h.selection:h.inactive,bold:n&&le===`list`,dimColor:n&&le!==`list`,children:[n?Mt():ke(),String(e.index+1).padStart(2),`. `,e.entry.label]}),r&&J(L,{type:`secondary`,dim:!0,children:[` [`,Fc(e.entry.kind),`]`]}),e.entry.description&&J(L,{type:`secondary`,dim:!0,children:[` — `,Ic(e.entry.description)]})]},`row:${e.index}`)}),Array.from({length:Me.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),q(Y,{height:1,children:q(re,{hasMore:Me.hasMoreBelow,indent:` `})}),q(Y,{marginTop:R.tight,children:J(L,{type:`secondary`,children:[t.up,t.down,` `,V.t(`hint.select`),` · `,t.enter,` `,V.t(`hint.confirm`),` · `,t.tab,` `,V.t(`hint.tabZone`),` · `,t.esc,` `,V.t(`hint.cancel`)]})})]})]})}function Rc(e){let t=e.length;for(;t>0;){let n=e.lastIndexOf(`
|
|
38
38
|
|
|
39
|
-
`,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 zc(){return{prev:``,committedLen:0,led:!1}}function Bc(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=Rc(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 Vc(e){return e>0?Math.max(1,Math.ceil(1e3/e)):1}const Hc=Vc(30);function Uc(e,t=Hc){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 Wc(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 Gc(){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 Kc(e){let t=e.tool_calls;return Array.isArray(t)&&t.length>0}function qc(e,t=3){let n=[],r=0;for(;r<e.length;){let i=e[r];if(Kc(i)){let a=[i],o=r+1;for(;o<e.length&&Kc(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:
|
|
40
|
-
`)})})}const Zc=
|
|
39
|
+
`,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 zc(){return{prev:``,committedLen:0,led:!1}}function Bc(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=Rc(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 Vc(e){return e>0?Math.max(1,Math.ceil(1e3/e)):1}const Hc=Vc(30);function Uc(e,t=Hc){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 Wc(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 Gc(){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 Kc(e){let t=e.tool_calls;return Array.isArray(t)&&t.length>0}function qc(e,t=3){let n=[],r=0;for(;r<e.length;){let i=e[r];if(Kc(i)){let a=[i],o=r+1;for(;o<e.length&&Kc(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 Jc(e){return{...e,collapsed:!e.collapsed}}function Yc(e){return e.flatMap(e=>e.type===`collapsed`?e.messages:[e])}function Xc({message:e,columns:t=80}){let n=hc(e,t);return n.length===0?q(Xt,{}):q(Y,{marginTop:R.tight,flexDirection:`column`,children:q(X,{children:n.join(`
|
|
40
|
+
`)})})}const Zc=H.memo(Xc),Qc=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 $c(e,t){return t?!1:!Qc.has(e)}function el(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+=($c(t,e)?`
|
|
41
41
|
`:``)+i.join(`
|
|
42
42
|
`)+`
|
|
43
|
-
`}return{text:n,hasHistory:r}}const tl=ya();function nl(e){return`… ${e} 行更早历史(回看加载)`}const rl=
|
|
43
|
+
`}return{text:n,hasHistory:r}}const tl=ya();function nl(e){return`… ${e} 行更早历史(回看加载)`}const rl=H.memo(function({content:e}){return q(X,{wrap:`truncate-end`,children:e===``?` `:e})}),il=new WeakMap;function al(e,t){let n=e,r=V.language??``;if(typeof n==`object`&&n){let i=il.get(n);if(i&&i.columns===t&&i.lang===r)return i.lines;let a=hc(e,t);return il.set(n,{columns:t,lang:r,lines:a}),a}return hc(e,t)}function ol(e,t,n=2e4,r=!1){let i=Math.max(1,t),a=[],o=r;for(let t of e){let e=al(t,i);e.length!==0&&($c(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]=nl(s),{lines:c,folded:s}}function sl({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,topbarReserved:_=!1}){let v=H.useRef(null),y=H.useRef(0),b=H.useMemo(()=>{let n=v.current,r=g??2e4;if(n&&n.columns===t&&e.length>=n.len&&(n.len===0||e[n.len-1]===n.lastMsg)){let i=ol(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]=nl(i),v.current={len:e.length,columns:t,lines:r,lastMsg:e[e.length-1],firstMsg:e[0],folded:i},{lines:r,folded:i}}return v.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=ol(e,t,1/0),a=0,o=i.lines;return i.lines.length>r&&(a=i.lines.length-r,o=[nl(a),...i.lines.slice(a)]),n!==null&&n.firstMsg!==void 0&&e[0]!==n.firstMsg&&e.length>n.len&&(y.current=Math.max(0,i.lines.length-n.lines.length)),v.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]),x=Z((i??tl).store,e=>e.offset),S=i?x:r,C=S>0,ee=h&&(S>0||a>0),te=Math.max(1,Math.floor(n)-((u?1:0)+(C?1:0)+(ee?1:0))),w=qo(b.lines.length,te,S),ne=b.lines.slice(w.start,w.end);b.folded>0&&w.start===0&&ne.length>0&&(s?ne=ne.slice(1):o&&(ne=[V.t(`transcript.loadingEarlier`),...ne.slice(1)]));let re=w.above===0&&S>0;H.useEffect(()=>{re&&!o&&!s&&c&&c()},[re,o,s,c]),H.useEffect(()=>{i?.setTotalLines(b.lines.length)},[b.lines.length,i]);let ie=te+(_?1:0),T=qo(b.lines.length,ie,S);H.useEffect(()=>{i?.setAtTranscriptTop(T.start===0)},[T.start,i]);let ae=s&&w.above===0&&S>0,E=w.above>0&&S>0;H.useEffect(()=>{if(y.current>0&&l){let e=y.current;y.current=0,l(e)}},[b,l]);let D=H.useMemo(()=>{if(!u)return{byLine:new Map,flat:[]};let e=new Map,t=[];for(let n=0;n<b.lines.length;n++){let r=Na(Vs(b.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,b]);H.useEffect(()=>{p?.(D.flat.length)},[D,p]),H.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,b.lines.length-t);f(Math.min(r,Math.max(0,b.lines.length-e.line-Math.floor(t/2))))},[d,D]);let oe=b.folded>0&&w.start===0&&ne.length>0&&(s||o),O=ne.map((e,t)=>{let n=oe&&s?w.start+t+1:w.start+t;if(oe&&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 Ma(e,r,i)}),se=S>0||w.above>0||a>0,k=a>0?w.below>0?`⏸ ${a} ${V.t(`transcript.frozenNew`)} · ↓ ${w.below} ${V.t(`transcript.escToLive`)}`:`⏸ ${a} ${V.t(`transcript.frozenNew`)} · ${V.t(`transcript.escToLive`)}`:w.below>0?`↓ ${w.below} · ${V.t(`transcript.escToLive`)}`:null;return process.env.NODE_ENV!==`production`&&ee&&!(h&&se&&k!==null)&&console.error(`[chromeBudget] reviewHint reserved but not rendered`),H.useEffect(()=>{m?.(se&&k?k:null)},[se,k,m]),J(Y,{flexDirection:`column`,children:[u&&q(X,{bold:!0,children:V.t(`transcript.findBar`,{query:u,count:D.flat.length})}),E&&q(X,{dimColor:!0,children:`↑ ${w.above}`}),ae&&q(X,{dimColor:!0,children:V.t(`transcript.emptyEarlier`)}),O.map((e,t)=>q(rl,{content:e},w.start+t)),h&&se&&k&&q(X,{dimColor:!0,children:k})]})}function cl(e,t){let n=Math.max(1,t);if(j(e)<=n)return e;let r=n-j(B.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=j(t);if(n>r)break;i+=t,r-=n,a++}return i+B.ellipsis}function ll(e){let t=e.split(`
|
|
44
44
|
`);if(t.length<=120)return e;let n=t.length-120,r=(t.slice(0,n).join(`
|
|
45
45
|
`).match(/```/g)??[]).length,i=t.slice(n).join(`
|
|
46
46
|
`);return r%2==1?"```\n"+i:i}function ul(e,t,n){if(!e)return[];let r=e.split(`
|
|
47
|
-
`),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=>cl(e,t))}function dl(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 fl(e,t){return e%Math.max(1,t+4)}function pl(e,t){if(!(t>0))return
|
|
47
|
+
`),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=>cl(e,t))}function dl(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 fl(e,t){return e%Math.max(1,t+4)}function pl(e,t){if(!(t>0))return r.inactive;let n=e/t;return n>=.9?r.error:n>=.8?r.warning:r.inactive}function ml(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`}function hl({tokens:e=0,toolTurnCount:t=0,maxToolTurns:n=0,promptOutputTokens:r=0,promptOutputTokenBudget:i=0}){let a=P(),[o,s]=K(0),[c,l]=K(0),u=G(Date.now()),d=G(-1),f=ze();He(160,e=>s(e%Ft.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:Po(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:pl(t,n)}),i>0&&p.push({text:V.t(`budget.tokenBudgetLabel`,{used:ml(r),budget:ml(i)})});let m=V.t(`inspText.thinkingLabel`),h=f?null:dl(m,fl(o,m.length));return J(Y,{flexDirection:`row`,children:[q(X,{color:a.secondary,children:Ft[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 gl(e){return[{color:e.accentBright,ch:B.breatheBright},{color:e.accentDim,ch:B.breatheDim}]}function _l({name:e}){let t=P(),[n,r]=K(0),i=gl(t).length;He(500,e=>r(e%i));let a=gl(t)[n];return J(Y,{flexDirection:`row`,children:[J(X,{color:a.color,children:[a.ch,` `]}),J(X,{color:t.text,children:[e,`…`]})]})}const vl=[{thresholdSec:0,stage:{labelKey:`analyze`,capPercent:30}},{thresholdSec:3,stage:{labelKey:`summarize`,capPercent:80}},{thresholdSec:8,stage:{labelKey:`finalize`,capPercent:92}}];function yl(e){let t=Number.isFinite(e)?e:0,n=vl[0].stage;for(let{thresholdSec:e,stage:r}of vl)if(t>=e)n=r;else break;return n}const bl=Ft,xl=3e3;function Sl(e){let t=100*(1-Math.exp(-Math.max(0,e)/8));return Math.min(92,Math.round(t))}function Cl({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=P(),[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),C=G(e??(()=>{let e=V.t(`spinner.verbs`,{returnObjects:!0});return e[Math.floor(Math.random()*e.length)]})()),ee=G(r),te=G(i);ee.current=r,te.current=i;let w=ze(),ne=G(n);ne.current=n,He(160,()=>{if(ne.current)return;let e=Date.now()-v.current-y.current;p(Math.floor(e/160)%bl.length)}),W(()=>{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=ee.current,i=b.current;if(i>0&&i===r&&!te.current)if(x.current===null)x.current=Date.now();else{let e=Date.now()-x.current;e>=xl&&_(Math.min(1,(e-xl)/2e3))}else b.current=r,x.current=null,_(0)},160);return()=>clearInterval(e)},[n]),W(()=>{n?y.current=Date.now()-v.current:(v.current=Date.now()-y.current,y.current=0)},[n]);let re=g>0,ie=bl[f],T=Math.floor(m/1e3),ae=[];if(t&&ae.push({text:Po(T)}),a>0&&ae.push({text:`↓ ${V.t(`budget.tokensLabel`,{count:a})}`}),o===`responding`&&s!==void 0&&Number.isFinite(s)){let e=Math.max(0,Math.min(100,Math.round(s)));ae.push({text:V.t(`spinner.outputPercent`,{pct:e})})}let E=u?yl(T):null;if(E){let e=Math.min(E.capPercent,Sl(T));ae.push({text:V.t(`spinner.estimatedPercent`,{pct:e})})}l>0&&ae.push({text:V.t(`tool.budgetLabel`,{used:c,max:l}),color:pl(c,l)});let D=re?d.error:d.accent,oe=E?`${V.t(`compact.ionStageLabel`,{context:E.labelKey})}…`:`${e??C.current}…`,O=re||w?null:dl(oe,fl(f,oe.length)),se=o===`requesting`?B.requesting:o===`responding`?B.responding:null;return J(Y,{flexDirection:`row`,marginTop:R.tight,children:[q(X,{color:D,children:ie}),q(X,{children:` `}),se&&J(Xt,{children:[q(X,{dimColor:!0,color:d.inactive,children:se}),q(X,{children:` `})]}),O?O.map((e,t)=>q(X,{color:e.bright?d.text:d.inactive,bold:e.bright,children:e.text},t)):q(X,{color:re?d.error:d.text,children:oe}),ae.length>0&&J(Xt,{children:[q(X,{color:d.inactive,children:` (`}),ae.map((e,t)=>J(H.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 wl(){return{streamingText:``,streamingThinking:``,streamCommit:zc(),lastTail:void 0,spinnerMode:null,outputTokensThisTurn:0,maxOutputTokens:void 0,toolTurnCount:0,maxToolTurns:0,promptOutputTokens:0,promptOutputTokenBudget:0,processing:!1,activeTool:null}}function Tl(){let e=$n(wl());return{store:e,reset(){e.setState(wl())}}}function El(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 Dl(e){return e.spinnerMode===`responding`&&e.maxOutputTokens!==void 0&&e.maxOutputTokens>0?Math.min(100,e.outputTokensThisTurn/e.maxOutputTokens*100):void 0}function Ol(e){return Math.floor((e.streamingText.length+e.streamingThinking.length)/4)}function kl(e,t){return!!e.processing&&!t&&!e.streamingThinking}function Al({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,Ol),u=Z(e.store,Dl);if(!kl({processing:s,streamingThinking:r},t))return null;let d=c===Oo,f=d?V.t(`compact.ingVerb`):c?V.t(`bg.runningVerb`,{tool:c}):void 0;return q(Cl,{hasActiveTools:!!c,responseLength:n.length,tokens:l,verb:f,mode:i??void 0,progressPercent:u,toolTurnCount:a,maxToolTurns:o,estimatedProgress:d})}function jl(e){let t=0;return e.pendingEchoVisible&&(t+=1),t+=e.pendingSteersCount,e.streaming&&!e.suppressLive&&(e.thinking&&(t+=2+e.thinkingBodyRows),e.activeTool&&(t+=1),t+=e.previewRows),e.showSpinner&&(t+=2),t}function Ml({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,pendingPermission:x=null,suppressSpinner:S=!1,topbarReserved:C=!1}){let ee=P(),te=Z(e.store,e=>e.streamingText),w=Z(e.store,e=>e.streamingThinking),ne=Z(e.store,e=>e.processing),re=Z(e.store,e=>e.streamCommit.led),ie=Z(e.store,e=>e.activeTool),T=Z(e.store,e=>e.toolTurnCount),ae=Z(e.store,e=>e.maxToolTurns),E=Z(e.store,e=>e.promptOutputTokens),D=Z(e.store,e=>e.promptOutputTokenBudget),oe=Z(e.store,Ol),O=te,se=w,k=i??1,A=k>0?ul(O,n-dt.borderInset,k):[],j=k>0?ul(se,n-5,k):[],M=Z(u.store,e=>e.offset>0),ce=H.useRef(null);M&&ce.current===null&&(ce.current=t),M||(ce.current=null);let le=M?ce.current??t:t,ue=M?Math.max(0,t.length-(ce.current?.length??t.length)):0,de=o&&!a&&s,fe=!a&&s,pe=kl({processing:ne,streamingThinking:se},x)&&!S,me=jl({pendingEchoVisible:!!de,pendingSteersCount:fe?c.length:0,streaming:ne,suppressLive:a,thinking:!!se,thinkingBodyRows:j.length,activeTool:!!ie,previewRows:A.length,showSpinner:pe}),he=Math.max(1,(r??0)-me);return J(Y,{flexDirection:`column`,children:[l?q(sl,{messages:le,columns:n,rows:he,scrollStore:u,frozenNewCount:ue,earlierLoading:d,earlierEnded:f,onNeedEarlier:p,onPrepend:m,findQuery:h,findActiveMatch:g,onFindNavigateTo:_,onFindCountChange:v,onReviewHintChange:y,renderReviewHint:b,topbarReserved:C}):q(Qt,{items:t,children:e=>q(Zc,{message:e,columns:n},e.id??`m-${JSON.stringify(e).slice(0,16)}`)}),de&&J(X,{dimColor:!0,children:[`> `,o.text]}),fe&&c.map(e=>J(X,{dimColor:!0,children:[`> `,e.text]},e.id)),ne&&!a&&J(Y,{flexDirection:`column`,children:[se&&J(Y,{flexDirection:`column`,marginTop:R.tight,children:[q(hl,{tokens:oe,toolTurnCount:T,maxToolTurns:ae,promptOutputTokens:E,promptOutputTokenBudget:D}),j.length>0&&q(Y,{marginLeft:R.section,flexDirection:`column`,children:j.map((e,t)=>J(X,{color:ee.inactive,italic:!0,children:[` `,e]},t))})]}),ie&&q(_l,{name:ko(ie)}),A.length>0&&q(Y,{flexDirection:`column`,children:A.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:ee.replyPrefix,children:t===0&&!re?`${B.bullet} `:` `}),q(X,{children:e})]},t))})]}),pe&&q(Al,{streamStore:e,pendingPermission:x??null})]})}function Nl(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 Fl(e){return e.split(`
|
|
48
48
|
`).map(e=>` ${e}`).join(`
|
|
49
|
-
`)}function Il(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Ll(e,t=``){let n=[];for(let t of e)switch(t.role){case`user`:t.content.trim()&&n.push(`▸ ${
|
|
50
|
-
`))}`);break}case`assistant_stream`:t.text.trim()&&n.push(
|
|
49
|
+
`)}function Il(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function Ll(e,t=``){let n=[];for(let t of e)switch(t.role){case`user`:t.content.trim()&&n.push(`▸ ${V.t(`transcript.you`)}\n${Fl(t.content)}`);break;case`assistant`:{let e=t.content.map(e=>e.type===`thinking`?`${B.thinking} ${e.thinking}`:e.type===`a2ui`?`[a2ui: ${e.components.length} component(s)]`:e.text).filter(e=>e.trim());e.length&&n.push(`${B.bullet} ${V.t(`transcript.assistant`)}\n${Fl(e.join(`
|
|
50
|
+
`))}`);break}case`assistant_stream`:t.text.trim()&&n.push(`${B.bullet} ${V.t(`transcript.assistant`)}\n${Fl(t.text)}`);break;case`tool`:{let e=t.args?`${t.name}(${Il(t.args,60)})`:t.name,r=t.result?` → ${t.isError?`${B.cross} `:``}${Il(t.result,200)}`:t.isError?` → ${B.cross}`:``;n.push(` ${B.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}`:``:` · ${Nl(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(`${B.bullet} ${V.t(`transcript.assistant`)} (${V.t(`prompt.streaming`)})\n${Fl(t)}`),n.join(`
|
|
51
51
|
|
|
52
|
-
`)}function Rl(e){let t=e.filter(e=>e!==null),n=Math.max(0,...t.map(e=>
|
|
53
|
-
`),[t]);return n?K(Ul,{title:l,onForget:r,onBack:i}):K(yc,{lines:u,rows:a,columns:o,wrapMode:`pre-wrap`,header:K(J,{children:K(Y,{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 Ul({title:e,onForget:t,onBack:n}){return E(`memory-dialog-detail-loading`,(e,r)=>{if(r.escape){n();return}e===`d`&&t()}),K(M,{header:K(be,{children:e}),footer:K(C,{items:[[O.esc,B.t(`cmd.memoryDialogHintBack`)]]}),children:K(J,{marginTop:I.tight,children:K(Y,{dimColor:!0,children:`…`})})})}function Wl({entry:e,onConfirm:t,onCancel:n}){let r=R(),[i,a]=G(0);return E(`memory-dialog`,(e,r)=>{if(r.escape){n();return}if(r.leftArrow||r.rightArrow||r.tab){let e=re(r);e!==0&&a(t=>te(t,e,2));return}r.return&&(i===1?t():n())}),K(M,{header:K(be,{children:B.t(`cmd.memoryDialogConfirmForgetTitle`)}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[K(Y,{color:r.warning,children:B.t(`cmd.memoryDialogConfirmForgetMessage`,{name:e.name})}),q(J,{marginTop:I.section,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:i===0,color:`gray`}),K(P,{variant:`solid`,brackets:!0,label:B.t(`hint.delete`),focused:i===1,color:`red`})]})]})})}function Gl(e){return e.replace(/\s+/g,` `).trim()}function Kl({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 K(z.Root,{title:s,headerAction:u,onCancel:a,rows:t,extensionHeightBudget:!0,children:K(z.Content,{children:K(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])}let f=e=>e.name;return K(z.Root,{title:s,headerAction:u,onValueChange:i,onCancel:a,rows:t,extensionHeightBudget:!0,defaultValue:e.lastSelectedValue,detailPlacement:`inline`,children:q(z.Content,{children:[[...d.entries()].map(([e,t])=>q(z.Group,{children:[K(z.Label,{children:e}),t.map(e=>{let t=[];e.enabled||t.push(B.t(`cmd.extStateDisabled`)),e.description&&t.push(e.description),e.applies&&e.applies!==`live`&&t.push(B.t(`cmd.extAppliesNextTurn`));let n=t.length>0?Gl(t.join(` · `)):void 0;return K(z.Item,{value:`${e.category}:${e.id}`,detail:n,children:f(e)},`${e.category}:${e.id}`)})]},e)),l.length>0&&q(z.Group,{children:[K(z.Label,{children:B.t(`cmd.extCategoryLabel`,{category:`plugin`})}),l.map(e=>K(z.Item,{value:`contrib:${e.id}`,children:e.title},`contrib:${e.id}`))]},`contrib`)]})})}const ql={y:0,n:1,a:2};function Jl({tool:e,input:t,risk:n,onApprove:i,onDeny:a}){let o=R(),[s,c]=G(0),l=r(n),u=e=>{e===0?i(`once`):e===1?a():i(`always`)};return E(`permission-dialog-buttons`,(e,t)=>{if(t.escape)return a(),!0;let n=re(t);if(n!==0)return c(e=>te(e,n,3)),!0;if(t.return)return c(e=>(u(e),e)),!0;let r=ql[e.toLowerCase()];return r===void 0?!1:(u(r),!0)}),q(M,{header:q(be,{children:[B.t(`permission.allowTool`),` `,K(Y,{color:o.permission,children:e}),` `,q(Y,{color:l,children:[`(`,B.t(`permission.riskLabel`,{context:n}),`)`]})]}),footer:K(C,{items:[[`${O.left}${O.right}`,B.t(`hint.switch`)],[O.enter,B.t(`hint.confirm`)],[`y/n/a`,B.t(`hint.shortcut`)],[O.esc,B.t(`hint.cancel`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{dimColor:!0,children:A(t,200)})}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`permission.approve`),focused:s===0}),K(P,{variant:`solid`,brackets:!0,color:`red`,label:B.t(`permission.deny`),focused:s===1}),K(P,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`permission.alwaysAllow`),focused:s===2})]})]})}function Yl(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const Xl={y:0,n:1,a:2},Zl={y:0,n:1};function Ql({command:e,risk:t,description:n,alwaysAllowLabel:i,onApprove:a,onDeny:o}){let s=R(),[c,l]=G(0),u=r(t),d=i!=null,f=d?3:2,p=d?Xl:Zl,m=e=>{e===0?a(`once`):e===1?o():a(`always`)};E(`bash-permission-dialog-buttons`,(e,t)=>{if(t.escape)return o(),!0;let n=re(t);if(n!==0)return l(e=>te(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}=Yl(e),g=A(e,500);return q(M,{header:q(be,{children:[B.t(`permission.bashCommand`),` `,q(Y,{color:u,children:[`(`,B.t(`permission.riskLabel`,{context:t}),`)`]})]}),footer:K(C,{items:[[`${O.left}${O.right}`,B.t(`hint.switch`)],[O.enter,B.t(`hint.confirm`)],[d?`y/n/a`:`y/n`,B.t(`hint.shortcut`)],[O.esc,B.t(`hint.cancel`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{color:s.suggestion,children:g})}),(h||n)&&q(J,{marginTop:I.tight,flexDirection:`column`,children:[h&&K(Y,{dimColor:!0,children:h}),n&&K(Y,{dimColor:!0,children:n})]}),i&&q(J,{marginTop:I.tight,children:[q(Y,{dimColor:!0,children:[B.t(`permission.alwaysAllow`),`: `]}),K(Y,{color:s.suggestion,children:i})]}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`permission.approve`),focused:c===0}),K(P,{variant:`solid`,brackets:!0,color:`red`,label:B.t(`permission.deny`),focused:c===1}),d&&K(P,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`permission.alwaysAllow`),focused:c===2})]})]})}function $l({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)}),E(`alert-dialog`,(e,t)=>t.return||t.escape?(r(),!0):!1),q(M,{header:K(be,{children:e}),footer:K(C,{items:[[`${O.enter}/${O.esc}`,B.t(`hint.close`)]]}),children:[K(J,{marginTop:I.tight,flexDirection:`column`,children:i.map((e,t)=>K(Y,{wrap:`truncate-end`,children:e===``?` `:e},t))}),K(J,{marginTop:I.tight,children:K(P,{variant:`solid`,brackets:!0,color:`accent`,label:n??B.t(`common.okButton`),focused:!0})})]})}function eu({title:e,message:t,placeholder:n,initialValue:r=``,submitLabel:i,cancelLabel:a,columns:o=60,onSubmit:s,onCancel:c}){let[u,d]=G(r),[f,p]=G(r.length),[m,h]=G(`input`),g=t?Array.isArray(t)?t:[t]:[],_=(e,t)=>{d(e),p(t)};return E(`prompt-dialog`,(e,t)=>{if(t.escape){c();return}if(t.return&&m===`input`){u.trim()!==``&&h(`submit`);return}if(t.return){m===`submit`&&u.trim()!==``?s(u):c();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=je(e);t&&_(u.slice(0,f)+t+u.slice(f),f+t.length);return}if(t.leftArrow){let e=l.fromText(u,o,f).left();_(e.text,e.offset);return}if(t.rightArrow){let e=l.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=Dt(l.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)}}),q(M,{header:K(be,{children:e??B.t(`prompt.defaultTitle`)}),footer:K(C,{items:[[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.cancel`)]]}),children:[g.length>0&&K(J,{marginTop:I.tight,flexDirection:`column`,children:g.map((e,t)=>K(Y,{wrap:`truncate-end`,children:e===``?` `:e},t))}),K(J,{marginTop:I.tight,flexDirection:`row`,children:K(mt,{value:u,offset:f,columns:o,mode:`dialog`,placeholder:n,focused:m===`input`,physicalCursor:m===`input`})}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`accent`,label:i??B.t(`prompt.submitButton`),focused:m===`submit`,disabled:u.trim()===``}),K(P,{variant:`solid`,brackets:!0,color:`gray`,label:a??B.t(`common.genericCancelButton`),focused:m===`cancel`})]})]})}function tu(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function nu(){let e=sr(tu()),t,n={};return{store:e,reset(){e.setState(tu())},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 ru(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const iu=e=>{try{return JSON.stringify(e).length}catch{return 0}};function au(e,t=Vn,n=Bn){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(iu),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,ru(i,a??`count`)]}function ou(){let e=sr({messages:[]}),t=t=>{e.setState({messages:au(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:[]})}}}Object.freeze({status:`aborted`});function Q(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var su=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},cu=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};const lu={};function uu(e){return e&&Object.assign(lu,e),lu}function du(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function fu(e,t){return typeof t==`bigint`?t.toString():t}function pu(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function mu(e){return e==null}function hu(e){let t=e.startsWith(`^`)?1:0,n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function gu(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}const _u=Symbol(`evaluating`);function vu(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==_u)return r===void 0&&(r=_u,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function yu(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function bu(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function xu(e){return JSON.stringify(e)}function Su(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Cu=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function wu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Tu=pu(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Eu(e){if(wu(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(wu(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Du(e){return Eu(e)?{...e}:Array.isArray(e)?[...e]:e}const Ou=new Set([`string`,`number`,`symbol`]);function ku(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Au(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function ju(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Mu(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const Nu={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Pu(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Au(e,bu(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return yu(this,`shape`,e),e},checks:[]}))}function Fu(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Au(e,bu(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return yu(this,`shape`,r),r},checks:[]}))}function Iu(e,t){if(!Eu(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Au(e,bu(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return yu(this,`shape`,n),n}}))}function Lu(e,t){if(!Eu(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Au(e,bu(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return yu(this,`shape`,n),n}}))}function Ru(e,t){return Au(e,bu(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return yu(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function zu(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return Au(t,bu(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return yu(this,`shape`,i),i},checks:[]}))}function Bu(e,t,n){return Au(t,bu(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return yu(this,`shape`,i),i}}))}function Vu(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Hu(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Uu(e){return typeof e==`string`?e:e?.message}function Wu(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=Uu(e.inst?._zod.def?.error?.(e))??Uu(t?.error?.(e))??Uu(n.customError?.(e))??Uu(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function Gu(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ku(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const qu=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,fu,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Ju=Q(`$ZodError`,qu),Yu=Q(`$ZodError`,qu,{Parent:Error});function Xu(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Zu(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}const Qu=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new su;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>Wu(e,a,uu())));throw Cu(t,i?.callee),t}return o.value},$u=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>Wu(e,a,uu())));throw Cu(t,i?.callee),t}return o.value},ed=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new su;return a.issues.length?{success:!1,error:new(e??Ju)(a.issues.map(e=>Wu(e,i,uu())))}:{success:!0,data:a.value}},td=ed(Yu),nd=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>Wu(e,i,uu())))}:{success:!0,data:a.value}},rd=nd(Yu),id=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Qu(e)(t,n,i)},ad=e=>(t,n,r)=>Qu(e)(t,n,r),od=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return $u(e)(t,n,i)},sd=e=>async(t,n,r)=>$u(e)(t,n,r),cd=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return ed(e)(t,n,i)},ld=e=>(t,n,r)=>ed(e)(t,n,r),ud=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return nd(e)(t,n,i)},dd=e=>async(t,n,r)=>nd(e)(t,n,r),fd=/^[cC][^\s-]{8,}$/,pd=/^[0-9a-z]+$/,md=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,hd=/^[0-9a-vA-V]{20}$/,gd=/^[A-Za-z0-9]{27}$/,_d=/^[a-zA-Z0-9_-]{21}$/,vd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,yd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,bd=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,xd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function Sd(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const Cd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,wd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Td=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ed=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Dd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Od=/^[A-Za-z0-9_-]*$/,kd=/^\+[1-9]\d{6,14}$/,Ad=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,jd=RegExp(`^${Ad}$`);function Md(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Nd(e){return RegExp(`^${Md(e)}$`)}function Pd(e){let t=Md({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Ad}T(?:${r})$`)}const Fd=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Id=/^-?\d+$/,Ld=/^-?\d+(?:\.\d+)?$/,Rd=/^(?:true|false)$/i,zd=/^[^A-Z]*$/,Bd=/^[^a-z]*$/,Vd=Q(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Hd={number:`number`,bigint:`bigint`,object:`date`},Ud=Q(`$ZodCheckLessThan`,(e,t)=>{Vd.init(e,t);let n=Hd[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Wd=Q(`$ZodCheckGreaterThan`,(e,t)=>{Vd.init(e,t);let n=Hd[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gd=Q(`$ZodCheckMultipleOf`,(e,t)=>{Vd.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):gu(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Kd=Q(`$ZodCheckNumberFormat`,(e,t)=>{Vd.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Nu[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Id)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),qd=Q(`$ZodCheckMaxLength`,(e,t)=>{var n;Vd.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!mu(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Gu(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Jd=Q(`$ZodCheckMinLength`,(e,t)=>{var n;Vd.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!mu(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Gu(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Yd=Q(`$ZodCheckLengthEquals`,(e,t)=>{var n;Vd.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!mu(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Gu(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Xd=Q(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Vd.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Zd=Q(`$ZodCheckRegex`,(e,t)=>{Xd.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Qd=Q(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=zd,Xd.init(e,t)}),$d=Q(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Bd,Xd.init(e,t)}),ef=Q(`$ZodCheckIncludes`,(e,t)=>{Vd.init(e,t);let n=ku(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),tf=Q(`$ZodCheckStartsWith`,(e,t)=>{Vd.init(e,t);let n=RegExp(`^${ku(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),nf=Q(`$ZodCheckEndsWith`,(e,t)=>{Vd.init(e,t);let n=RegExp(`.*${ku(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),rf=Q(`$ZodCheckOverwrite`,(e,t)=>{Vd.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var af=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
54
|
-
`).
|
|
55
|
-
`)
|
|
56
|
-
|
|
57
|
-
if (${o} in input) {
|
|
58
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
59
|
-
...iss,
|
|
60
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
61
|
-
})));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (${n}.value === undefined) {
|
|
66
|
-
if (${o} in input) {
|
|
67
|
-
newResult[${o}] = undefined;
|
|
68
|
-
}
|
|
69
|
-
} else {
|
|
70
|
-
newResult[${o}] = ${n}.value;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
`):t.write(`
|
|
74
|
-
if (${n}.issues.length) {
|
|
75
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
76
|
-
...iss,
|
|
77
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
78
|
-
})));
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (${n}.value === undefined) {
|
|
82
|
-
if (${o} in input) {
|
|
83
|
-
newResult[${o}] = undefined;
|
|
84
|
-
}
|
|
85
|
-
} else {
|
|
86
|
-
newResult[${o}] = ${n}.value;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=wu,s=!lu.jitless,c=s&&Tu.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Gf([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Jf(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Vu(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Wu(e,r,uu())))}),t)}const Yf=Q(`$ZodUnion`,(e,t)=>{sf.init(e,t),vu(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),vu(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),vu(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),vu(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>hu(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Jf(t,i,e,a)):Jf(s,i,e,a)}}),Xf=Q(`$ZodIntersection`,(e,t)=>{sf.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Qf(e,t,n)):Qf(e,i,a)}});function Zf(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Eu(e)&&Eu(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Zf(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Zf(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Qf(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Vu(e))return e;let o=Zf(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const $f=Q(`$ZodEnum`,(e,t)=>{sf.init(e,t);let n=du(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Ou.has(typeof e)).map(e=>typeof e==`string`?ku(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),ep=Q(`$ZodTransform`,(e,t)=>{sf.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new cu(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new su;return n.value=i,n}});function tp(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const np=Q(`$ZodOptional`,(e,t)=>{sf.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,vu(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),vu(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${hu(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>tp(t,e.value)):tp(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),rp=Q(`$ZodExactOptional`,(e,t)=>{np.init(e,t),vu(e._zod,`values`,()=>t.innerType._zod.values),vu(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ip=Q(`$ZodNullable`,(e,t)=>{sf.init(e,t),vu(e._zod,`optin`,()=>t.innerType._zod.optin),vu(e._zod,`optout`,()=>t.innerType._zod.optout),vu(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${hu(e.source)}|null)$`):void 0}),vu(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),ap=Q(`$ZodDefault`,(e,t)=>{sf.init(e,t),e._zod.optin=`optional`,vu(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>op(e,t)):op(r,t)}});function op(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const sp=Q(`$ZodPrefault`,(e,t)=>{sf.init(e,t),e._zod.optin=`optional`,vu(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),cp=Q(`$ZodNonOptional`,(e,t)=>{sf.init(e,t),vu(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>lp(t,e)):lp(i,e)}});function lp(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const up=Q(`$ZodCatch`,(e,t)=>{sf.init(e,t),vu(e._zod,`optin`,()=>t.innerType._zod.optin),vu(e._zod,`optout`,()=>t.innerType._zod.optout),vu(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Wu(e,n,uu()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Wu(e,n,uu()))},input:e.value}),e.issues=[]),e)}}),dp=Q(`$ZodPipe`,(e,t)=>{sf.init(e,t),vu(e._zod,`values`,()=>t.in._zod.values),vu(e._zod,`optin`,()=>t.in._zod.optin),vu(e._zod,`optout`,()=>t.out._zod.optout),vu(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>fp(e,t.in,n)):fp(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>fp(e,t.out,n)):fp(r,t.out,n)}});function fp(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const pp=Q(`$ZodReadonly`,(e,t)=>{sf.init(e,t),vu(e._zod,`propValues`,()=>t.innerType._zod.propValues),vu(e._zod,`values`,()=>t.innerType._zod.values),vu(e._zod,`optin`,()=>t.innerType?._zod?.optin),vu(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(mp):mp(r)}});function mp(e){return e.value=Object.freeze(e.value),e}const hp=Q(`$ZodCustom`,(e,t)=>{Vd.init(e,t),sf.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>gp(t,n,r,e));gp(i,n,r,e)}});function gp(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Ku(e))}}var _p,vp=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function yp(){return new vp}(_p=globalThis).__zod_globalRegistry??(_p.__zod_globalRegistry=yp());const bp=globalThis.__zod_globalRegistry;function xp(e,t){return new e({type:`string`,...ju(t)})}function Sp(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...ju(t)})}function Cp(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...ju(t)})}function wp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...ju(t)})}function Tp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...ju(t)})}function Ep(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...ju(t)})}function Dp(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...ju(t)})}function Op(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...ju(t)})}function kp(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...ju(t)})}function Ap(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...ju(t)})}function jp(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...ju(t)})}function Mp(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...ju(t)})}function Np(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...ju(t)})}function Pp(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...ju(t)})}function Fp(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...ju(t)})}function Ip(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...ju(t)})}function Lp(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...ju(t)})}function Rp(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...ju(t)})}function zp(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...ju(t)})}function Bp(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...ju(t)})}function Vp(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...ju(t)})}function Hp(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...ju(t)})}function Up(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...ju(t)})}function Wp(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...ju(t)})}function Gp(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...ju(t)})}function Kp(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...ju(t)})}function qp(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...ju(t)})}function Jp(e,t){return new e({type:`number`,checks:[],...ju(t)})}function Yp(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...ju(t)})}function Xp(e,t){return new e({type:`boolean`,...ju(t)})}function Zp(e){return new e({type:`unknown`})}function Qp(e,t){return new e({type:`never`,...ju(t)})}function $p(e,t){return new Ud({check:`less_than`,...ju(t),value:e,inclusive:!1})}function em(e,t){return new Ud({check:`less_than`,...ju(t),value:e,inclusive:!0})}function tm(e,t){return new Wd({check:`greater_than`,...ju(t),value:e,inclusive:!1})}function nm(e,t){return new Wd({check:`greater_than`,...ju(t),value:e,inclusive:!0})}function rm(e,t){return new Gd({check:`multiple_of`,...ju(t),value:e})}function im(e,t){return new qd({check:`max_length`,...ju(t),maximum:e})}function am(e,t){return new Jd({check:`min_length`,...ju(t),minimum:e})}function om(e,t){return new Yd({check:`length_equals`,...ju(t),length:e})}function sm(e,t){return new Zd({check:`string_format`,format:`regex`,...ju(t),pattern:e})}function cm(e){return new Qd({check:`string_format`,format:`lowercase`,...ju(e)})}function lm(e){return new $d({check:`string_format`,format:`uppercase`,...ju(e)})}function um(e,t){return new ef({check:`string_format`,format:`includes`,...ju(t),includes:e})}function dm(e,t){return new tf({check:`string_format`,format:`starts_with`,...ju(t),prefix:e})}function fm(e,t){return new nf({check:`string_format`,format:`ends_with`,...ju(t),suffix:e})}function pm(e){return new rf({check:`overwrite`,tx:e})}function mm(e){return pm(t=>t.normalize(e))}function hm(){return pm(e=>e.trim())}function gm(){return pm(e=>e.toLowerCase())}function _m(){return pm(e=>e.toUpperCase())}function vm(){return pm(e=>Su(e))}function ym(e,t,n){return new e({type:`array`,element:t,...ju(n)})}function bm(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...ju(n)})}function xm(e){let t=Sm(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(Ku(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(Ku(r))}},e(n.value,n)));return t}function Sm(e,t){let n=new Vd({check:`custom`,...ju(t)});return n._zod.check=e,n}function Cm(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??bp,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function wm(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,wm(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&Dm(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function Tm(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
90
|
-
|
|
91
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Em(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:km(t,`input`,e.processors),output:km(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Dm(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Dm(r.element,n);if(r.type===`set`)return Dm(r.valueType,n);if(r.type===`lazy`)return Dm(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return Dm(r.innerType,n);if(r.type===`intersection`)return Dm(r.left,n)||Dm(r.right,n);if(r.type===`record`||r.type===`map`)return Dm(r.keyType,n)||Dm(r.valueType,n);if(r.type===`pipe`)return Dm(r.in,n)||Dm(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Dm(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Dm(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Dm(e,n))return!0;return!!(r.rest&&Dm(r.rest,n))}return!1}const Om=(e,t={})=>n=>{let r=Cm({...n,processors:t});return wm(e,r),Tm(r,e),Em(r,e)},km=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Cm({...i??{},target:a,io:t,processors:n});return wm(e,o),Tm(o,e),Em(o,e)},Am={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},jm=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Am[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Mm=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},Nm=(e,t,n,r)=>{n.type=`boolean`},Pm=(e,t,n,r)=>{n.not={}},Fm=(e,t,n,r)=>{let i=e._zod.def,a=du(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Im=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Lm=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Rm=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=wm(a.element,t,{...r,path:[...r.path,`items`]})},zm=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=wm(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=wm(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Bm=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>wm(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Vm=(e,t,n,r)=>{let i=e._zod.def,a=wm(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=wm(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Hm=(e,t,n,r)=>{let i=e._zod.def,a=wm(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Um=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wm=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Gm=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Km=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},qm=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;wm(a,t,r);let o=t.seen.get(e);o.ref=a},Jm=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ym=(e,t,n,r)=>{let i=e._zod.def;wm(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Xm=Q(`ZodISODateTime`,(e,t)=>{xf.init(e,t),Sh.init(e,t)});function Zm(e){return Wp(Xm,e)}const Qm=Q(`ZodISODate`,(e,t)=>{Sf.init(e,t),Sh.init(e,t)});function $m(e){return Gp(Qm,e)}const eh=Q(`ZodISOTime`,(e,t)=>{Cf.init(e,t),Sh.init(e,t)});function th(e){return Kp(eh,e)}const nh=Q(`ZodISODuration`,(e,t)=>{wf.init(e,t),Sh.init(e,t)});function rh(e){return qp(nh,e)}const ih=(e,t)=>{Ju.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Zu(e,t)},flatten:{value:t=>Xu(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,fu,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,fu,2)}},isEmpty:{get(){return e.issues.length===0}}})};Q(`ZodError`,ih);const ah=Q(`ZodError`,ih,{Parent:Error}),oh=Qu(ah),sh=$u(ah),ch=ed(ah),lh=nd(ah),uh=id(ah),dh=ad(ah),fh=od(ah),ph=sd(ah),mh=cd(ah),hh=ld(ah),gh=ud(ah),_h=dd(ah),vh=Q(`ZodType`,(e,t)=>(sf.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:km(e,`input`),output:km(e,`output`)}}),e.toJSONSchema=Om(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(bu(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>Au(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>oh(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>ch(e,t,n),e.parseAsync=async(t,n)=>sh(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>lh(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>uh(e,t,n),e.decode=(t,n)=>dh(e,t,n),e.encodeAsync=async(t,n)=>fh(e,t,n),e.decodeAsync=async(t,n)=>ph(e,t,n),e.safeEncode=(t,n)=>mh(e,t,n),e.safeDecode=(t,n)=>hh(e,t,n),e.safeEncodeAsync=async(t,n)=>gh(e,t,n),e.safeDecodeAsync=async(t,n)=>_h(e,t,n),e.refine=(t,n)=>e.check(kg(t,n)),e.superRefine=t=>e.check(Ag(t)),e.overwrite=t=>e.check(pm(t)),e.optional=()=>dg(e),e.exactOptional=()=>pg(e),e.nullable=()=>hg(e),e.nullish=()=>dg(hg(e)),e.nonoptional=t=>xg(e,t),e.array=()=>$h(e),e.or=t=>rg([e,t]),e.and=t=>ag(e,t),e.transform=t=>Tg(e,lg(t)),e.default=t=>_g(e,t),e.prefault=t=>yg(e,t),e.catch=t=>Cg(e,t),e.pipe=t=>Tg(e,t),e.readonly=()=>Dg(e),e.describe=t=>{let n=e.clone();return bp.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return bp.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return bp.get(e);let n=e.clone();return bp.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),yh=Q(`_ZodString`,(e,t)=>{cf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jm(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(sm(...t)),e.includes=(...t)=>e.check(um(...t)),e.startsWith=(...t)=>e.check(dm(...t)),e.endsWith=(...t)=>e.check(fm(...t)),e.min=(...t)=>e.check(am(...t)),e.max=(...t)=>e.check(im(...t)),e.length=(...t)=>e.check(om(...t)),e.nonempty=(...t)=>e.check(am(1,...t)),e.lowercase=t=>e.check(cm(t)),e.uppercase=t=>e.check(lm(t)),e.trim=()=>e.check(hm()),e.normalize=(...t)=>e.check(mm(...t)),e.toLowerCase=()=>e.check(gm()),e.toUpperCase=()=>e.check(_m()),e.slugify=()=>e.check(vm())}),bh=Q(`ZodString`,(e,t)=>{cf.init(e,t),yh.init(e,t),e.email=t=>e.check(Sp(Ch,t)),e.url=t=>e.check(Op(Eh,t)),e.jwt=t=>e.check(Up(Vh,t)),e.emoji=t=>e.check(kp(Dh,t)),e.guid=t=>e.check(Cp(wh,t)),e.uuid=t=>e.check(wp(Th,t)),e.uuidv4=t=>e.check(Tp(Th,t)),e.uuidv6=t=>e.check(Ep(Th,t)),e.uuidv7=t=>e.check(Dp(Th,t)),e.nanoid=t=>e.check(Ap(Oh,t)),e.guid=t=>e.check(Cp(wh,t)),e.cuid=t=>e.check(jp(kh,t)),e.cuid2=t=>e.check(Mp(Ah,t)),e.ulid=t=>e.check(Np(jh,t)),e.base64=t=>e.check(Bp(Rh,t)),e.base64url=t=>e.check(Vp(zh,t)),e.xid=t=>e.check(Pp(Mh,t)),e.ksuid=t=>e.check(Fp(Nh,t)),e.ipv4=t=>e.check(Ip(Ph,t)),e.ipv6=t=>e.check(Lp(Fh,t)),e.cidrv4=t=>e.check(Rp(Ih,t)),e.cidrv6=t=>e.check(zp(Lh,t)),e.e164=t=>e.check(Hp(Bh,t)),e.datetime=t=>e.check(Zm(t)),e.date=t=>e.check($m(t)),e.time=t=>e.check(th(t)),e.duration=t=>e.check(rh(t))});function xh(e){return xp(bh,e)}const Sh=Q(`ZodStringFormat`,(e,t)=>{lf.init(e,t),yh.init(e,t)}),Ch=Q(`ZodEmail`,(e,t)=>{ff.init(e,t),Sh.init(e,t)}),wh=Q(`ZodGUID`,(e,t)=>{uf.init(e,t),Sh.init(e,t)}),Th=Q(`ZodUUID`,(e,t)=>{df.init(e,t),Sh.init(e,t)}),Eh=Q(`ZodURL`,(e,t)=>{pf.init(e,t),Sh.init(e,t)}),Dh=Q(`ZodEmoji`,(e,t)=>{mf.init(e,t),Sh.init(e,t)}),Oh=Q(`ZodNanoID`,(e,t)=>{hf.init(e,t),Sh.init(e,t)}),kh=Q(`ZodCUID`,(e,t)=>{gf.init(e,t),Sh.init(e,t)}),Ah=Q(`ZodCUID2`,(e,t)=>{_f.init(e,t),Sh.init(e,t)}),jh=Q(`ZodULID`,(e,t)=>{vf.init(e,t),Sh.init(e,t)}),Mh=Q(`ZodXID`,(e,t)=>{yf.init(e,t),Sh.init(e,t)}),Nh=Q(`ZodKSUID`,(e,t)=>{bf.init(e,t),Sh.init(e,t)}),Ph=Q(`ZodIPv4`,(e,t)=>{Tf.init(e,t),Sh.init(e,t)}),Fh=Q(`ZodIPv6`,(e,t)=>{Ef.init(e,t),Sh.init(e,t)}),Ih=Q(`ZodCIDRv4`,(e,t)=>{Df.init(e,t),Sh.init(e,t)}),Lh=Q(`ZodCIDRv6`,(e,t)=>{Of.init(e,t),Sh.init(e,t)}),Rh=Q(`ZodBase64`,(e,t)=>{Af.init(e,t),Sh.init(e,t)}),zh=Q(`ZodBase64URL`,(e,t)=>{Mf.init(e,t),Sh.init(e,t)}),Bh=Q(`ZodE164`,(e,t)=>{Nf.init(e,t),Sh.init(e,t)}),Vh=Q(`ZodJWT`,(e,t)=>{Ff.init(e,t),Sh.init(e,t)}),Hh=Q(`ZodNumber`,(e,t)=>{If.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mm(e,t,n,r),e.gt=(t,n)=>e.check(tm(t,n)),e.gte=(t,n)=>e.check(nm(t,n)),e.min=(t,n)=>e.check(nm(t,n)),e.lt=(t,n)=>e.check($p(t,n)),e.lte=(t,n)=>e.check(em(t,n)),e.max=(t,n)=>e.check(em(t,n)),e.int=t=>e.check(Gh(t)),e.safe=t=>e.check(Gh(t)),e.positive=t=>e.check(tm(0,t)),e.nonnegative=t=>e.check(nm(0,t)),e.negative=t=>e.check($p(0,t)),e.nonpositive=t=>e.check(em(0,t)),e.multipleOf=(t,n)=>e.check(rm(t,n)),e.step=(t,n)=>e.check(rm(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Uh(e){return Jp(Hh,e)}const Wh=Q(`ZodNumberFormat`,(e,t)=>{Lf.init(e,t),Hh.init(e,t)});function Gh(e){return Yp(Wh,e)}const Kh=Q(`ZodBoolean`,(e,t)=>{Rf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nm(e,t,n,r)});function qh(e){return Xp(Kh,e)}const Jh=Q(`ZodUnknown`,(e,t)=>{zf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Yh(){return Zp(Jh)}const Xh=Q(`ZodNever`,(e,t)=>{Bf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pm(e,t,n,r)});function Zh(e){return Qp(Xh,e)}const Qh=Q(`ZodArray`,(e,t)=>{Hf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rm(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(am(t,n)),e.nonempty=t=>e.check(am(1,t)),e.max=(t,n)=>e.check(im(t,n)),e.length=(t,n)=>e.check(om(t,n)),e.unwrap=()=>e.element});function $h(e,t){return ym(Qh,e,t)}const eg=Q(`ZodObject`,(e,t)=>{qf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zm(e,t,n,r),vu(e,`shape`,()=>t.shape),e.keyof=()=>sg(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Yh()}),e.loose=()=>e.clone({...e._zod.def,catchall:Yh()}),e.strict=()=>e.clone({...e._zod.def,catchall:Zh()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Iu(e,t),e.safeExtend=t=>Lu(e,t),e.merge=t=>Ru(e,t),e.pick=t=>Pu(e,t),e.omit=t=>Fu(e,t),e.partial=(...t)=>zu(ug,e,t[0]),e.required=(...t)=>Bu(bg,e,t[0])});function tg(e,t){return new eg({type:`object`,shape:e??{},...ju(t)})}const ng=Q(`ZodUnion`,(e,t)=>{Yf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bm(e,t,n,r),e.options=t.options});function rg(e,t){return new ng({type:`union`,options:e,...ju(t)})}const ig=Q(`ZodIntersection`,(e,t)=>{Xf.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vm(e,t,n,r)});function ag(e,t){return new ig({type:`intersection`,left:e,right:t})}const og=Q(`ZodEnum`,(e,t)=>{$f.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fm(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new og({...t,checks:[],...ju(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new og({...t,checks:[],...ju(r),entries:i})}});function sg(e,t){return new og({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...ju(t)})}const cg=Q(`ZodTransform`,(e,t)=>{ep.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lm(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new cu(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ku(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Ku(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function lg(e){return new cg({type:`transform`,transform:e})}const ug=Q(`ZodOptional`,(e,t)=>{np.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ym(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function dg(e){return new ug({type:`optional`,innerType:e})}const fg=Q(`ZodExactOptional`,(e,t)=>{rp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ym(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pg(e){return new fg({type:`optional`,innerType:e})}const mg=Q(`ZodNullable`,(e,t)=>{ip.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hm(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hg(e){return new mg({type:`nullable`,innerType:e})}const gg=Q(`ZodDefault`,(e,t)=>{ap.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wm(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function _g(e,t){return new gg({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Du(t)}})}const vg=Q(`ZodPrefault`,(e,t)=>{sp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gm(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yg(e,t){return new vg({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Du(t)}})}const bg=Q(`ZodNonOptional`,(e,t)=>{cp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Um(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xg(e,t){return new bg({type:`nonoptional`,innerType:e,...ju(t)})}const Sg=Q(`ZodCatch`,(e,t)=>{up.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Km(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Cg(e,t){return new Sg({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const wg=Q(`ZodPipe`,(e,t)=>{dp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qm(e,t,n,r),e.in=t.in,e.out=t.out});function Tg(e,t){return new wg({type:`pipe`,in:e,out:t})}const Eg=Q(`ZodReadonly`,(e,t)=>{pp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jm(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Dg(e){return new Eg({type:`readonly`,innerType:e})}const Og=Q(`ZodCustom`,(e,t)=>{hp.init(e,t),vh.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Im(e,t,n,r)});function kg(e,t={}){return bm(Og,e,t)}function Ag(e){return xm(e)}fn(`@x-otto/provider:tool-roundtrip`),fn(`@x-otto/provider:openai-usage`),fn(`@x-otto/provider:stream-state`),fn(`@x-otto/provider:chat-completions-stream`),fn(`@x-otto/provider:oauth:templates`);var jg=class{entries=new Map;sources=new Map;reserved;constructor(e={}){this.reserved=new Set(e.reserved??[])}register(e,t,n){if(this.reserved.has(e))return!1;let r=this.sources.get(e);return n!==void 0&&this.entries.has(e)&&r!==n?!1:(this.entries.set(e,t),n===void 0?this.sources.delete(e):this.sources.set(e,n),!0)}replace(e,t,n){this.entries.set(e,t),this.sources.set(e,n)}unregister(e){this.entries.delete(e),this.sources.delete(e)}unregisterBySource(e,t){let n=[];for(let[r,i]of[...this.sources.entries()])i===e&&!t?.has(r)&&(this.entries.delete(r),this.sources.delete(r),n.push(r));return n}get(e){return this.entries.get(e)}getSource(e){return this.sources.get(e)}has(e){return this.entries.has(e)}list(){return[...this.entries.keys()]}all(){return[...this.entries.entries()]}getKeysBySource(e){return[...this.sources.entries()].filter(([,t])=>t===e).map(([e])=>e)}markReserved(e){this.reserved.add(e)}isReserved(e){return this.reserved.has(e)}get size(){return this.entries.size}};fn(`@x-otto/ai:model-registry`),tg({id:xh().min(1),name:xh().min(1),api:xh().min(1),provider:xh().min(1),baseUrl:xh().min(1),reasoning:qh(),input:$h(sg([`text`,`image`])).min(1),cost:tg({input:Uh(),output:Uh(),cacheRead:Uh(),cacheWrite:Uh()}).optional(),contextWindow:Uh().int().positive(),maxOutputTokens:Uh().int().positive(),thinkingLevels:$h(sg([`low`,`medium`,`high`,`xhigh`,`max`])).optional(),thinkingMode:sg([`enabled`,`adaptive`]).optional()});const Mg=[];new Map(Mg.map(e=>[e.id,e])),new jg({reserved:new Set(Mg.map(e=>e.id))}),Object.fromEntries(Mg.filter(e=>e.env).map(e=>[e.id,e.env])),Mg.filter(e=>e.oauth).map(e=>e.id),fn(`@x-otto/ai:model-fetch`),xn(process.env.OTTO_MODEL_FETCH_TIMEOUT_MS,1e4),fn(`@x-otto/ai:model-catalog`),fn(`@x-otto/ai:oauth-refresh-coordinator`),fn(`@x-otto/ai:auth-watcher`),fn(`@x-otto/ai:auth-store`);const Ng=[{id:`chat.message.before`,kind:`interceptor`},{id:`chat.message.after`,kind:`interceptor`},{id:`tool.execute.before`,kind:`interceptor`},{id:`tool.execute.after`,kind:`interceptor`},{id:`messages.transform`,kind:`interceptor`},{id:`chat.params`,kind:`interceptor`},{id:`system.prompt.transform`,kind:`interceptor`},{id:`session.created`,kind:`observer`},{id:`session.restored`,kind:`observer`},{id:`session.deleted`,kind:`observer`},{id:`session.idle`,kind:`observer`},{id:`session.error`,kind:`observer`},{id:`stream.start`,kind:`observer`},{id:`stream.end`,kind:`observer`},{id:`compaction.before`,kind:`observer`},{id:`compaction.after`,kind:`observer`},{id:`memory.prune.before`,kind:`interceptor`},{id:`process.spawned`,kind:`observer`},{id:`process.exited`,kind:`observer`},{id:`task.created`,kind:`observer`},{id:`task.started`,kind:`observer`},{id:`task.completed`,kind:`observer`},{id:`task.failed`,kind:`observer`},{id:`task.cancelled`,kind:`observer`},{id:`notification`,kind:`observer`}];Ng.map(e=>e.id),new Set(Ng.filter(e=>e.kind===`interceptor`).map(e=>e.id)),fn(`@x-otto/hooks:stream-metrics`),fn(`@x-otto/hooks:compaction`),fn(`@x-otto/hooks:tool-error-tracker`),fn(`@x-otto/hooks:token-budget`),fn(`@x-otto/hooks`),xn(process.env.OTTO_HOOK_TIMEOUT_MS,5e3),fn(`@x-otto/hooks:permission`);const Pg=process.emitWarning;process.emitWarning=function(e,...t){if(!(typeof e==`string`&&e.includes(`SQLite is an experimental feature`)))return Pg.call(process,e,...t)},Sn.O_DSYNC==null?Sn.O_WRONLY|Sn.O_CREAT|Sn.O_APPEND:Sn.O_WRONLY|Sn.O_CREAT|Sn.O_APPEND|Sn.O_DSYNC,[`You are a sub-agent: do not interact with the user directly; do not expand the task scope; on completion, report your conclusion and any remaining risks.`].join(`
|
|
92
|
-
`);const Fg=`[a-zA-Z0-9][a-zA-Z0-9-]*`;RegExp(`<!--\\s*requires-capability:\\s*(${Fg})\\s*-->([\\s\\S]*?)<!--\\s*/requires-capability\\s*-->`,`g`),RegExp(`<!--\\s*requires-capability:\\s*(${Fg})\\s*-->`,`g`),Nn(jn(Un(import.meta.url)),`..`,`prompts`),xn(process.env.OTTO_SESSION_IDLE_TIMEOUT_MS,1800*1e3),xn(process.env.OTTO_SESSION_MAX,50),xn(process.env.OTTO_SESSION_PAGE_SIZE,20),xn(process.env.OTTO_SESSION_SNAPSHOT_VERSION,1);const Ig=[{id:`loop.start`,category:`agent_work_loop`,label:`Loop Start`,pausable:!0,traceable:!0},{id:`model.before`,category:`agent_work_loop`,label:`Model Before`,pausable:!0},{id:`model.after`,category:`agent_work_loop`,label:`Model After`,pausable:!0},{id:`tool.before`,category:`agent_work_loop`,label:`Tool Before`,pausable:!0},{id:`tool.after`,category:`agent_work_loop`,label:`Tool After`,pausable:!0},{id:`loop.end`,category:`agent_work_loop`,label:`Loop End`,pausable:!0,traceable:!0},{id:`loop.cleanup`,category:`agent_work_loop`,label:`Loop Cleanup`,pausable:!0},{id:`agent.aborted`,category:`agent_work_loop`,label:`Agent Aborted`,pausable:!0,traceable:!0},{id:`agent.error`,category:`agent_work_loop`,label:`Agent Error`,pausable:!0,traceable:!0},{id:`agent.done`,category:`agent_work_loop`,label:`Agent Done`,pausable:!0,traceable:!0},{id:`steering.check`,category:`work_loop_injection`,label:`Steering Check`,pausable:!0},{id:`follow.up.check`,category:`work_loop_injection`,label:`Follow Up Check`,pausable:!0},{id:`context.transform`,category:`work_loop_injection`,label:`Context Transform`,pausable:!0},{id:`tool.resolve`,category:`tool_executor`,label:`Tool Resolve`,pausable:!0},{id:`tool.validate`,category:`tool_executor`,label:`Tool Validate`,pausable:!0},{id:`tool.hook.before`,category:`tool_executor`,label:`Tool Hook Before`,pausable:!0},{id:`tool.hook.after`,category:`tool_executor`,label:`Tool Hook After`,pausable:!0},{id:`prompt.before`,category:`session_prompt_lifecycle`,label:`Prompt Before`,pausable:!0,traceable:!0},{id:`prompt.after`,category:`session_prompt_lifecycle`,label:`Prompt After`,pausable:!0,traceable:!0},{id:`context.build`,category:`session_prompt_lifecycle`,label:`Context Build`,pausable:!0,traceable:!0},{id:`messages.persist`,category:`session_prompt_lifecycle`,label:`Messages Persist`,pausable:!0,traceable:!0},{id:`memory.prune`,category:`work_loop_injection`,label:`Memory Prune`,traceable:!0},{id:`memory.archive`,category:`session_prompt_lifecycle`,label:`Memory Archive`,traceable:!0},{id:`stream.ttft`,category:`agent_work_loop`,label:`Stream First Token Latency`,traceable:!0},{id:`chat.message.before`,category:`lifecycle_hook`,label:`Chat Message Before`,hook:`interceptor`},{id:`chat.message.after`,category:`lifecycle_hook`,label:`Chat Message After`,hook:`interceptor`},{id:`chat.params`,category:`lifecycle_hook`,label:`Chat Params`,hook:`interceptor`},{id:`system.prompt.transform`,category:`lifecycle_hook`,label:`System Prompt Transform`,hook:`interceptor`},{id:`messages.transform`,category:`lifecycle_hook`,label:`Messages Transform`,hook:`interceptor`},{id:`tool.execute.before`,category:`lifecycle_hook`,label:`Tool Execute Before`,hook:`interceptor`},{id:`tool.execute.after`,category:`lifecycle_hook`,label:`Tool Execute After`,hook:`interceptor`},{id:`memory.prune.before`,category:`lifecycle_hook`,label:`Memory Prune Before`,hook:`interceptor`},{id:`session.idle`,category:`lifecycle_hook`,label:`Session Idle`,hook:`observer`},{id:`session.error`,category:`lifecycle_hook`,label:`Session Error`,hook:`observer`},{id:`status.change`,category:`turn_observable`,label:`Status Change`,observable:!0},{id:`turn.start`,category:`turn_observable`,label:`Turn Start`,observable:!0,traceable:!0},{id:`turn.end`,category:`turn_observable`,label:`Turn End`,observable:!0,traceable:!0},{id:`stream.event`,category:`turn_observable`,label:`Stream Event`,observable:!0,traceable:!0},{id:`tool.call.start`,category:`turn_observable`,label:`Tool Call Start`,observable:!0,traceable:!0},{id:`tool.call.end`,category:`turn_observable`,label:`Tool Call End`,observable:!0,traceable:!0},{id:`steering.injected`,category:`turn_observable`,label:`Steering Injected`,observable:!0},{id:`follow.up.start`,category:`turn_observable`,label:`Follow Up Start`,observable:!0},{id:`max.turns`,category:`turn_observable`,label:`Max Tool Turns Reached`,observable:!0,traceable:!0},{id:`progress.stall`,category:`turn_observable`,label:`Progress Stall Detected`,observable:!0,traceable:!0},{id:`tool.call.mismatch`,category:`turn_observable`,label:`Tool Call Protocol Mismatch`,observable:!0,traceable:!0},{id:`prompt.budget`,category:`turn_observable`,label:`Prompt Budget Exceeded`,observable:!0,traceable:!0},{id:`compaction.reactive`,category:`turn_observable`,label:`Reactive Compaction`,observable:!0,traceable:!0},{id:`image.cap`,category:`turn_observable`,label:`Image Cap`,traceable:!0},{id:`image.vision-gate`,category:`turn_observable`,label:`Vision Capability Gate`,traceable:!0},{id:`image.vision-delegate`,category:`turn_observable`,label:`Vision Delegation Result`,observable:!0,traceable:!0},{id:`image.degradation`,category:`turn_observable`,label:`Image Degradation`,observable:!0,traceable:!0},{id:`process.memory.sample`,category:`turn_observable`,label:`Process Memory Sample`,traceable:!0},{id:`stream.retry`,category:`turn_observable`,label:`Stream Retry`,observable:!0,traceable:!0},{id:`stream.retry.accelerated`,category:`turn_observable`,label:`Stream Retry Accelerated`,observable:!0,traceable:!0},{id:`turn.truncated`,category:`turn_observable`,label:`Turn Truncated`,observable:!0,traceable:!0},{id:`rate.limit.exhausted`,category:`turn_observable`,label:`Rate Limit Exhausted`,observable:!0,traceable:!0},{id:`stream.auth-failed`,category:`turn_observable`,label:`Stream Auth Failed`,observable:!0,traceable:!0},{id:`error`,category:`turn_observable`,label:`Error`,observable:!0},{id:`abort`,category:`turn_observable`,label:`Abort`,observable:!0},{id:`lifecycle.tool.completed`,category:`turn_observable`,label:`Lifecycle Tool Completed`,observable:!0},{id:`lifecycle.tool.completed.crossBoundary`,category:`turn_observable`,label:`Lifecycle Tool Completed (Cross Prompt Boundary)`,observable:!0},{id:`lifecycle.tool.timeout`,category:`turn_observable`,label:`Lifecycle Tool Timeout`,observable:!0,traceable:!0},{id:`wire.snapshot.capture`,category:`turn_observable`,label:`Wire Snapshot Capture`,traceable:!0}];Ig.filter(e=>e.hook!==void 0).map(e=>e.id),Ig.filter(e=>e.observable===!0).map(e=>e.id),Ig.filter(e=>e.traceable===!0).map(e=>e.id),Ig.filter(e=>e.pausable===!0).map(e=>({point:e.id,name:e.label,category:e.category}));const Lg={maxToolTurns:120,traceResultMaxChars:512,maxToolResultChars:1e5,minToolResultChars:2e3,promptToolResultFraction:.5,maxToolConcurrency:10,progressDistinctRatio:.5,progressSignatureCap:512,progressSignatureArgsMaxChars:1024,stallWindowTurns:8,stallRepeatThreshold:4};new class{map=new Map;set(e,t){this.map.set(e,t)}get(e){return this.map.get(e)}delete(e){this.map.delete(e)}},fn(`@x-otto/agent:tool-executor`),fn(`@x-otto/agent`);const Rg={toolGuidance:{name:`tool-guidance-injection`,priority:20,lane:`stable`,budgetBytes:2e4},skillLoopGuidance:{name:`skill-loop-guidance-injection`,priority:21,lane:`stable`,budgetBytes:2e3},environment:{name:`runtime:environment`,priority:25,lane:`stable`,budgetBytes:8e3},memoryIndex:{name:`runtime:memory-index`,priority:35,lane:`stable`,budgetBytes:24e3},skillCatalog:{name:`skill-catalog-injection`,priority:38,lane:`stable`,budgetBytes:12e3},lesson:{name:`lesson-injection`,priority:40,lane:`stable`,budgetBytes:1e4},lessonRelevantHints:{name:`lesson-relevant-hints`,priority:41,lane:`volatile`,budgetBytes:4e3},internalize:{name:`internalize-skill-injection`,priority:42,lane:`volatile`,budgetBytes:4e3},memoryDelta:{name:`memory-delta-injection`,priority:60,lane:`volatile`,budgetBytes:8e3},todoReminder:{name:`todo-reminder-injection`,priority:62,lane:`volatile`,budgetBytes:4e3},docSyncReminder:{name:`doc-sync-reminder-injection`,priority:64,lane:`volatile`,budgetBytes:4e3}};Object.values(Rg),fn(`@x-otto/runtime/hooks`),Lg.maxToolTurns;const zg=e=>{try{return process.kill(e,0),!0}catch{return!1}},Bg=(e,t)=>{try{process.kill(-e,t)}catch{try{process.kill(e,t)}catch{}}},Vg=e=>{try{Ln(`taskkill`,[`/F`,`/T`,`/PID`,`${e}`],{stdio:`ignore`,timeout:5e3})}catch{}};new class{entries=new Map;maxProcesses;graceMs;clock;spawnListeners=new Set;exitListeners=new Set;constructor(e={}){this.maxProcesses=e.maxProcesses??64,this.graceMs=e.graceMs??2e3,this.clock=e.clock??(()=>Date.now())}onSpawn(e){return this.spawnListeners.add(e),()=>this.spawnListeners.delete(e)}onExit(e){return this.exitListeners.add(e),()=>this.exitListeners.delete(e)}notify(e,t){for(let n of[...e])try{n(t)}catch{}}register(e){if(this.entries.size>=this.maxProcesses&&this.evictLeastRecent(),this.entries.size>=this.maxProcesses)throw Error(`Background process limit (${this.maxProcesses}) reached; stop one with kill_shell first.`);let t=e.child.pid;if(t===void 0)throw Error(`Cannot register a child process without a pid`);let n=e.now??this.clock(),r={id:e.id,sessionId:e.sessionId,owner:e.owner,pid:t,pgid:t,command:e.command,cwd:e.cwd,port:e.port,url:e.url,logPath:e.logPath,startedAt:n,lastUsed:n,status:`running`,keepAlive:e.keepAlive},i={info:r,child:e.child};return this.entries.set(e.id,i),e.child.once(`exit`,e=>{r.status===`running`?(r.status=`exited`,r.exitCode=e??void 0):r.status===`killing`&&(r.status=`killed`),i.silenced||this.notify(this.exitListeners,r)}),this.notify(this.spawnListeners,r),r}get(e){return this.entries.get(e)?.info}getForSession(e,t){let n=this.entries.get(t);return n&&n.info.sessionId===e?n.info:void 0}list(){return[...this.entries.values()].map(e=>e.info)}listForSession(e){return this.list().filter(t=>t.sessionId===e)}touch(e){let t=this.entries.get(e);t&&(t.info.lastUsed=this.clock())}updateDetectedService(e,t){let n=this.entries.get(e);n&&(n.info.detectedService?.url&&!t.url||(n.info.detectedService=t))}remove(e){let t=this.entries.get(e);t&&(t.silenced=!0,this.entries.delete(e))}size(){return this.entries.size}async kill(e){let t=this.entries.get(e);t&&await this.killEntry(t)}async killAll(){await Promise.all([...this.entries.values()].map(e=>this.killEntry(e)))}async killAllForOwner(e){await Promise.all([...this.entries.values()].filter(t=>t.info.owner===e).map(e=>this.killEntry(e)))}async killAllForSession(e){await Promise.all([...this.entries.values()].filter(t=>t.info.sessionId===e).map(e=>this.killEntry(e)))}killAllSync(){for(let e of this.entries.values())this.killEntrySync(e)}killEntrySync(e){let{info:t}=e;t.status===`exited`||t.status===`killed`||(process.platform===`win32`?Vg(t.pid):Bg(t.pgid,`SIGKILL`),t.status=`killed`)}evictLeastRecent(){let e;for(let t of this.entries.values()){if(t.info.status===`exited`||t.info.status===`killed`){e=t;break}t.info.keepAlive||(!e||t.info.lastUsed<e.info.lastUsed)&&(e=t)}e&&(e.silenced=!0,this.killEntrySync(e),this.entries.delete(e.info.id))}async killEntry(e){let{info:t}=e;if(t.status===`running`){if(t.status=`killing`,process.platform===`win32`){Vg(t.pid),t.status=`killed`;return}Bg(t.pgid,`SIGTERM`),await this.waitForExit(e,this.graceMs)||Bg(t.pgid,`SIGKILL`),t.status=`killed`}}waitForExit(e,t){return new Promise(n=>{let r=!1,i,a=t=>{r||(r=!0,clearTimeout(i),e.child.removeListener(`exit`,o),n(t))},o=()=>a(!0);if(e.child.once(`exit`,o),!zg(e.info.pid)){a(!0);return}i=setTimeout(()=>a(!1),t)})}};let Hg=0;var Ug=class extends Wn{id;child;config;status=`starting`;_clock;_pid;_pgid;_exitResult=null;_exitResolve=null;_stdoutBuf=``;_stderrBuf=``;lastUsed;constructor(e,t,n){if(super(),this._clock=n,this.id=`proc_${++Hg}_${this._clock()}`,this.child=e,this.config=t,this._pid=e.pid,this._pgid=e.pid,this.lastUsed=this._clock(),this.child.on(`spawn`,()=>{this._pid=this.child.pid,this._pgid=this.child.pid,this.status===`starting`&&(this.status=`running`)}),this.child.on(`error`,e=>{this.lastUsed=this._clock(),(this.status===`starting`||this.status===`running`)&&(this.status=`errored`),this.emit(`error`,e)}),this.child.on(`exit`,(e,t)=>{this.lastUsed=this._clock();let n={code:e,signal:t,timedOut:!1};this._exitResult=n,this.status===`running`?this.status=`exited`:this.status===`killing`&&(this.status=`killed`),this.emit(`exit`,n),this._exitResolve&&=(this._exitResolve(n),null)}),this.child.stdout&&this.child.stdout.on(`data`,e=>{this.lastUsed=this._clock();let t=e.toString(`utf-8`);for(this._stdoutBuf+=t;;){let e=this._stdoutBuf.indexOf(`
|
|
93
|
-
`);if(e===-1)break;let t=this._stdoutBuf.slice(0,e).replace(/\r$/,``);this._stdoutBuf=this._stdoutBuf.slice(e+1),this.emit(`stdoutLine`,t)}}),this.child.stderr&&this.child.stderr.on(`data`,e=>{this.lastUsed=this._clock();let t=e.toString(`utf-8`);for(this._stderrBuf+=t;;){let e=this._stderrBuf.indexOf(`
|
|
94
|
-
`);if(e===-1)break;let t=this._stderrBuf.slice(0,e).replace(/\r$/,``);this._stderrBuf=this._stderrBuf.slice(e+1),this.emit(`stderrLine`,t)}}),t.signal){let e=()=>{this.kill({reason:`aborted`})};t.signal.aborted?e():t.signal.addEventListener(`abort`,e,{once:!0})}}get pid(){return this._pid}get pgid(){return this._pgid}get stdin(){return this.child.stdin&&!this.child.stdin.destroyed?this.child.stdin:null}get stdout(){return this.child.stdout&&!this.child.stdout.destroyed?this.child.stdout:null}get stderr(){return this.child.stderr&&!this.child.stderr.destroyed?this.child.stderr:null}onStdoutLine(e){return this.on(`stdoutLine`,e),()=>this.off(`stdoutLine`,e)}onStderrLine(e){return this.on(`stderrLine`,e),()=>this.off(`stderrLine`,e)}onExit(e){return this.on(`exit`,e),()=>this.off(`exit`,e)}onError(e){return this.on(`error`,e),()=>this.off(`error`,e)}async kill(e){if(this.status===`killed`||this.status===`exited`)return;this.status=`killing`,this.lastUsed=this._clock();let t=e?.graceMs??this.config.killGraceMs??2e3,n=this._pid,r=this._pgid;if(!n||!zg(n)){this.status=`killed`;return}if(process.platform===`win32`){Vg(n),this.status=`killed`;return}Bg(r??n,`SIGTERM`),await new Promise(e=>{let r=!1,i=t=>{r||(r=!0,clearTimeout(o),e(t))},a=()=>i(!0);if(this.child.once(`exit`,a),!zg(n)){i(!0);return}let o=setTimeout(()=>{this.child.removeListener(`exit`,a),i(!1)},t)})||Bg(r??n,`SIGKILL`),this.status=`killed`}async waitForExit(e=3e4){return this._exitResult?this._exitResult:new Promise(t=>{if(this._exitResult){t(this._exitResult);return}let n=!1,r=e=>{n||(n=!0,clearTimeout(a),this.off(`exit`,i),t(e))},i=e=>r(e);this.on(`exit`,i);let a=setTimeout(()=>{r({code:null,signal:null,timedOut:!0})},e)})}};new class{_entries=new Map;_maxProcesses;killGraceMs;killTimeoutMs;_clock;_spawnListeners=new Set;_exitListeners=new Set;constructor(e={}){this._maxProcesses=e.maxProcesses??128,this.killGraceMs=e.killGraceMs??2e3,this.killTimeoutMs=e.killTimeoutMs??3e4,this._clock=e.clock??(()=>Date.now())}onSpawn(e){return this._spawnListeners.add(e),()=>this._spawnListeners.delete(e)}onExit(e){return this._exitListeners.add(e),()=>this._exitListeners.delete(e)}onAllExited(e){let t=()=>{this._entries.size===0&&e()},n=()=>t();return this._exitListeners.add(n),t(),()=>this._exitListeners.delete(n)}spawn(e){if(this._entries.size>=this._maxProcesses&&this._evictLeastRecent(),this._entries.size>=this._maxProcesses)throw Error(`Process limit (${this._maxProcesses}) reached. Stop unused processes first.`);let t={...e.options,stdio:e.options?.stdio??[`pipe`,`pipe`,`pipe`],cwd:e.cwd??e.options?.cwd,env:dn(e.env??e.options?.env),...e.keepAlive===!0?{}:{detached:!0}},n=In(e.command,e.args??[],t),r=new Ug(n,e,this._clock);this._entries.set(r.id,{proc:r,child:n}),r.onExit(()=>{if(!this._entries.get(r.id))return;let t=e.lifecycle??`evictable`;e.keepAlive!==!0&&t!==`pinned`&&this._entries.delete(r.id);for(let e of[...this._exitListeners])try{e(r)}catch{}});for(let e of[...this._spawnListeners])try{e(r)}catch{}return r}get(e){return this._entries.get(e)?.proc}list(e){let t=[...this._entries.values()];return e?.owner&&(t=t.filter(t=>t.proc.config.owner.type===e.owner.type&&t.proc.config.owner.id===e.owner.id)),e?.sessionId&&(t=t.filter(t=>t.proc.config.sessionId===e.sessionId)),e?.category&&(t=t.filter(t=>t.proc.config.category===e.category)),t.map(e=>e.proc)}listForSession(e){return this.list({sessionId:e})}listForOwner(e){return this.list({owner:e})}touch(e){let t=this._entries.get(e);t&&(t.proc.lastUsed=this._clock())}remove(e){this._entries.delete(e)}size(){return this._entries.size}async killAll(e,t){let n=this.list(e).filter(e=>!e.config.keepAlive);await Promise.all(n.map(e=>e.kill(t)))}killAllSync(){let e=process.platform===`win32`,t=[];for(let[n,r]of this._entries){let i=r.proc;if(i.config.keepAlive||i.status!==`running`&&i.status!==`starting`)continue;let a=i.pid;a&&(e?t.push(a):Bg(i.pgid??a,`SIGKILL`),this._entries.delete(n))}if(e&&t.length>0)try{Ln(`taskkill`,[`/F`,`/T`,...t.map(String).flatMap(e=>[`/PID`,e])],{stdio:`ignore`,timeout:5e3})}catch{}}async killAllForOwner(e,t){return this.killAll({owner:{type:e,id:t}})}async killAllForSession(e){return this.killAll({sessionId:e})}registerChild(e,t){if(this._entries.size>=this._maxProcesses&&this._evictLeastRecent(),this._entries.size>=this._maxProcesses)throw Error(`Process limit (${this._maxProcesses}) reached. Stop unused processes first.`);let n=new Ug(t,e,this._clock);this._entries.set(n.id,{proc:n,child:t}),n.onExit(()=>{if(!this._entries.get(n.id))return;let t=e.lifecycle??`evictable`;e.keepAlive!==!0&&t!==`pinned`&&this._entries.delete(n.id);for(let e of[...this._exitListeners])try{e(n)}catch{}});for(let e of[...this._spawnListeners])try{e(n)}catch{}return n}_evictLeastRecent(){let e;for(let t of this._entries.values()){let n=t.proc.config,r=n.lifecycle??`evictable`;if(t.proc.status===`exited`||t.proc.status===`killed`||t.proc.status===`errored`){e=t;break}n.keepAlive||r!==`pinned`&&(!e||t.proc.lastUsed<e.proc.lastUsed)&&(e=t)}if(!e)return;let t=e.proc.pid;t&&zg(t)&&(process.platform===`win32`?Vg(t):Bg(e.proc.pgid??t,`SIGKILL`)),this._entries.delete(e.proc.id)}};function Wg(e,t){return Pn(`git`,[`-C`,e,...t],{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`]}).trimEnd()}function Gg(e,t){try{Wg(e.repoRoot,[`worktree`,`remove`,`--force`,e.path])}catch(e){t?.(`worktree remove`,e)}try{Wg(e.repoRoot,[`branch`,`-D`,e.branch])}catch(e){t?.(`branch delete`,e)}try{Wg(e.repoRoot,[`worktree`,`prune`])}catch(e){t?.(`worktree prune`,e)}}const Kg=new Set([`applied`,`failed`,`canceled`]);new class{entries=new Map;maxJobs;clock;onWorktreeCleanupError;spawnListeners=new Set;updateListeners=new Set;exitListeners=new Set;removeListeners=new Set;retained=new Set;constructor(e={}){this.maxJobs=e.maxJobs??16,this.clock=e.clock??(()=>Date.now()),this.onWorktreeCleanupError=e.onWorktreeCleanupError}setWorktreeCleanupErrorHandler(e){this.onWorktreeCleanupError=e}onSpawn(e){return this.spawnListeners.add(e),()=>this.spawnListeners.delete(e)}onUpdate(e){return this.updateListeners.add(e),()=>this.updateListeners.delete(e)}onExit(e){return this.exitListeners.add(e),()=>this.exitListeners.delete(e)}onRemove(e){return this.removeListeners.add(e),()=>this.removeListeners.delete(e)}retain(e,t){t?this.retained.add(e):this.retained.delete(e)}notify(e,t){for(let n of[...e])try{n(t)}catch{}}register(e){if(this.entries.size>=this.maxJobs&&this.evictTerminal(),this.entries.size>=this.maxJobs)throw Error(`Agent job limit (${this.maxJobs}) reached; cancel one with stop first.`);let t=e.now??this.clock(),n={id:e.id,sessionId:e.sessionId,type:`agent-session`,title:e.title,origin:e.origin??`user`,status:`running`,worktree:e.worktree,outputPath:e.outputPath,startedAt:t};return this.entries.set(e.id,{info:n,abort:e.abort}),this.notify(this.spawnListeners,n),n}get(e){return this.entries.get(e)?.info}getForSession(e,t){let n=this.entries.get(t);return n&&n.info.sessionId===e?n.info:void 0}list(){return[...this.entries.values()].map(e=>e.info)}listForSession(e){return this.list().filter(t=>t.sessionId===e)}size(){return this.entries.size}update(e,t){let n=this.entries.get(e);n&&(Kg.has(n.info.status)||(Object.assign(n.info,t),this.notify(this.updateListeners,n.info),Kg.has(n.info.status)&&(n.info.status!==`canceled`&&Gg(n.info.worktree,(t,n)=>this.onWorktreeCleanupError?.(e,t,n)),this.notify(this.exitListeners,n.info))))}cancel(e){let t=this.entries.get(e);if(!(!t||Kg.has(t.info.status))){try{t.abort()}catch{}Gg(t.info.worktree,(t,n)=>this.onWorktreeCleanupError?.(e,t,n)),this.update(e,{status:`canceled`})}}remove(e){let t=this.entries.get(e);t&&Gg(t.info.worktree,(t,n)=>this.onWorktreeCleanupError?.(e,t,n)),this.retained.delete(e),this.entries.delete(e),t&&this.notify(this.removeListeners,t.info)}evictTerminal(){for(let[e,t]of this.entries)if(Kg.has(t.info.status)&&!this.retained.has(e)){this.remove(e);return}}cleanupAll(){for(let[e,t]of this.entries)if(!Kg.has(t.info.status)){try{t.abort()}catch{}Gg(t.info.worktree,(t,n)=>this.onWorktreeCleanupError?.(e,t,n)),t.info.status=`canceled`}}};const qg=new Set([`done`,`error`,`aborted`]),Jg=new Set([`edit`,`write`,`delete`,`edit_file`,`write_file`]);function Yg(e){return Jg.has(e)}new class extends un{observations=new Map;abortFns=new Map;messagesRefs=new Map;streamingTexts=new Map;turns=new Map;evictTimers=new Map;pinned=new Set;now;warnMs;stalledMs;evictMs;constructor(e={}){super(),this.now=e.now??Date.now,this.warnMs=e.warnMs??3e3,this.stalledMs=e.stalledMs??3e4,this.evictMs=e.evictMs??15e3}register(e){let t=this.now(),n=this.evictTimers.get(e.id);n&&(clearTimeout(n),this.evictTimers.delete(e.id)),e.abort&&this.abortFns.set(e.id,e.abort),e.messages&&this.messagesRefs.set(e.id,e.messages),this.streamingTexts.set(e.id,``),this.turns.set(e.id,[]),this.observations.set(e.id,{id:e.id,agentName:e.agentName,title:e.title,prompt:e.prompt,model:e.model,modelDecidedBy:e.modelDecidedBy,origin:e.origin??`main`,depth:e.depth??0,status:`streaming`,turnIndex:0,toolUseCount:0,filesEdited:0,tokenCount:0,inputTokens:0,lastActivity:`starting`,lastEventAt:t,abortable:e.abortable??e.abort!==void 0,startedAt:t}),this.emit(`change`)}abort(e){let t=this.observations.get(e),n=this.abortFns.get(e);return!t||!n||qg.has(t.status)?!1:(n(),!0)}record(e,t){let n=this.observations.get(e);if(!n)return;n.lastEventAt=this.now();let r=!0;switch(t.type){case`turn.start`:n.turnIndex=t.turnIndex,n.status=`streaming`,n.lastActivity=`thinking`,n.blockedOn=`model_io`,n.blockDetail=void 0,this.streamingTexts.set(e,``),this.turns.get(e)?.push({index:t.turnIndex,startedAt:this.now(),toolCount:0,tools:[],outputTokens:0});break;case`stream.event`:{let i=t.event;i.type===`text_delta`?(n.lastActivity=`responding`,n.blockedOn=void 0,this.streamingTexts.set(e,(this.streamingTexts.get(e)??``)+i.delta)):i.type.startsWith(`thinking`)&&(n.lastActivity=`thinking`,n.blockedOn=void 0),r=!1;break}case`tool.call.start`:{n.toolUseCount+=1,n.status=`tool_executing`,n.lastActivity=`using ${t.toolCall.name}`,n.blockedOn=`process`,n.blockDetail=t.toolCall.name;let r=this.turns.get(e);r?.length&&(r[r.length-1].toolCount+=1,r[r.length-1].tools.push(t.toolCall.name));break}case`tool.call.end`:n.status=`streaming`,n.lastActivity=`thinking`,n.blockedOn=`model_io`,n.blockDetail=void 0,Yg(t.toolCall.name)&&(n.filesEdited+=1);break;case`turn.end`:{let r=t.message.usage.outputTokens??0;n.tokenCount+=r,n.inputTokens=t.message.usage.inputTokens??n.inputTokens,this.streamingTexts.set(e,``);let i=this.turns.get(e),a=i?.[i.length-1];a&&a.endedAt===void 0&&(a.endedAt=this.now(),a.outputTokens=r);break}case`stream.retry`:n.lastActivity=`reconnecting ${t.attempt}/${t.maxRetries}`,n.blockedOn=`model_io`;break;case`status.change`:this.applyTerminal(n,t.to);break;case`error`:this.markTerminal(n,`error`);break;case`abort`:this.markTerminal(n,`aborted`);break;case`lifecycle.tool.completed`:n.lastActivity=`${t.toolName} ${t.isError?`failed`:`completed`} (background)`,n.lastEventAt=this.now(),r=!0;break;case`lifecycle.tool.completed.crossBoundary`:n.lastActivity=`${t.toolName} completed in background (result not shown — belongs to a previous prompt)`,n.lastEventAt=this.now(),r=!0;break;default:r=!1;break}r&&this.emit(`change`)}setAwaitingApproval(e,t){let n=this.observations.get(e);n&&(n.status=`awaiting_gate`,n.lastActivity=`awaiting approval`,n.blockedOn=`approval`,n.blockDetail=t,n.lastEventAt=this.now(),this.emit(`change`))}clearAwaitingApproval(e){let t=this.observations.get(e);!t||t.status!==`awaiting_gate`||(t.status=`streaming`,t.lastActivity=`thinking`,t.blockedOn=`model_io`,t.blockDetail=void 0,t.lastEventAt=this.now(),this.emit(`change`))}setToolWaiting(e,t){let n=this.observations.get(e);n&&(n.status=`tool_waiting`,n.lastActivity=t,n.blockedOn=`process`,n.blockDetail=t,n.lastEventAt=this.now(),this.emit(`change`))}clearToolWaiting(e){let t=this.observations.get(e);!t||t.status!==`tool_waiting`||(t.status=`streaming`,t.lastActivity=`thinking`,t.blockedOn=`model_io`,t.blockDetail=void 0,t.lastEventAt=this.now(),this.emit(`change`))}markEnded(e,t=`done`){let n=this.observations.get(e);!n||qg.has(n.status)||(this.markTerminal(n,t),this.emit(`change`))}pin(e){let t=this.evictTimers.get(e);t&&(clearTimeout(t),this.evictTimers.delete(e)),this.pinned.add(e)}unpin(e){this.pinned.delete(e);let t=this.observations.get(e);t&&t.endedAt!==void 0&&this.scheduleEvict(e)}remove(e){let t=this.evictTimers.get(e);t&&(clearTimeout(t),this.evictTimers.delete(e)),this.observations.delete(e),this.abortFns.delete(e),this.messagesRefs.delete(e),this.streamingTexts.delete(e),this.turns.delete(e),this.pinned.delete(e),this.emit(`change`)}get(e){let t=this.observations.get(e);return t?this.toSnapshot(t):void 0}getMessages(e){let t=this.messagesRefs.get(e);if(t)return[...typeof t==`function`?t():t]}setMessages(e,t){this.messagesRefs.has(e)&&this.messagesRefs.set(e,[...t])}getStreamingText(e){return this.streamingTexts.get(e)??``}getTurns(e){let t=this.turns.get(e);return t?t.map(e=>({...e,tools:[...e.tools]})):[]}list(){return[...this.observations.values()].map(e=>this.toSnapshot(e))}listActive(){return this.list().filter(e=>!qg.has(e.status))}subscribe(e){return this.on(`change`,e)}clear(){for(let e of this.evictTimers.values())clearTimeout(e);this.evictTimers.clear(),this.observations.clear(),this.abortFns.clear(),this.messagesRefs.clear(),this.streamingTexts.clear(),this.turns.clear(),this.pinned.clear()}applyTerminal(e,t){t===`completed`?this.markTerminal(e,`done`):t===`error`?this.markTerminal(e,`error`):t===`aborted`&&this.markTerminal(e,`aborted`)}markTerminal(e,t){e.status=t,e.lastActivity=t,e.blockedOn=void 0,e.blockDetail=void 0,e.endedAt=this.now(),this.scheduleEvict(e.id)}scheduleEvict(e){if(this.pinned.has(e))return;let t=this.evictTimers.get(e);t&&clearTimeout(t);let n=setTimeout(()=>{this.observations.delete(e),this.evictTimers.delete(e),this.abortFns.delete(e),this.messagesRefs.delete(e),this.streamingTexts.delete(e),this.turns.delete(e),this.emit(`change`)},this.evictMs);n.unref?.(),this.evictTimers.set(e,n)}toSnapshot(e){let t=e.endedAt!==void 0,n=t?0:Math.max(0,this.now()-e.lastEventAt),r=t?`none`:n>this.stalledMs?`stalled`:n>this.warnMs?`warn`:`none`;return{...e,idleMs:n,stall:r}}};const Xg={"tool-guidance-injection":`Tool guidance`,"skill-loop-guidance-injection":`Skill loop guidance`,"runtime:environment":`Environment`,"runtime:memory-index":`Memory index`,"skill-catalog-injection":`Skill catalog`,"lesson-injection":`Lesson`,"lesson-relevant-hints":`Lesson relevant hints`,"internalize-skill-injection":`Internalize`,"memory-delta-injection":`Memory delta`,"todo-reminder-injection":`TODO reminder`,"doc-sync-reminder-injection":`Doc sync reminder`},Zg=Object.values(Rg).map(e=>({name:e.name,label:Xg[e.name]??e.name,lane:e.lane,priority:e.priority}));function Qg(e){let t=Zg.length,n=Math.round(e/t);return Zg.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function $g(){let e=sr({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>Vn?n.slice(n.length-Vn):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:Qg(t.overheadTokens)})}}}const e_=Kt(void 0),t_=e_.Provider;function n_(){let e=Jt(e_);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}const r_=[`/pane/tasks`,`/pane/delegates`,`/pane/edited-files`,`/pane/subagents`,`/pane/schedule`,`/pane/clipboard`];function i_(e){return r_.includes(e)}const a_=[`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`clipboard`];function o_(e){return i_(e)||e===`/overlay/paste-confirm`}function s_(e){return e===`/`||i_(e)||e===`/overlay/paste-confirm`}function c_(e){return e===`prompt`||a_.includes(e)}function l_(){L()?.navigate(`/`,{reset:!0})}function u_(){let{currentPath:e}=_e();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 d_=`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.onInstallCapability.onDismissCapabilityRecommendations.onShellAbort.onShellAskAi.onShellCopyOutput.onShellDismiss.onShortcutsDialogDismiss.onSigilSelect.onSubmit.onToast.onToggleDelegates.onToggleDraftPane.onToggleEditedFiles.onToggleNotifications.onToggleQueuePane.onTogglePrompts.onToggleSchedule.onToggleSubagents.onUpgrade.onViewDetails.onWithdrawPending.onWithdrawSteer`.split(`.`);function f_(e){let t={};for(let n of d_)t[n]=e[n];return t}const p_=Kt(null),m_=p_.Provider;function h_(){let e=Jt(p_);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function g_(e){let{queuedItemsLength:t,subagentContext:n,backgroundOutput:r}=e,{onPaneOwnsViewportChange:i}=h_(),{currentPath:a}=_e(),[o,s]=G(null),[c,l]=G(null),[u,d]=G(null),[f,p]=G(null),m=qt(e=>{p(e),e?L()?.ensure(`/viewer/shell-output`):L()?.goBack()},[]),[h,g]=G(null),[_,v]=G(!1),[y,b]=G(!1),[x,S]=G(!1),[C,w]=G(!1),[ee,T]=G(``),E=!!n||o!==null||!!r||u!=null,te=qt(e=>{i?.(!0),s(e),l(e.path),L()?.ensure(`/pane/edited-files/full`)},[i]),ne=qt(()=>{i?.(u!=null),s(null),l(null),L()?.goBack()},[i,u]),re=qt(e=>{i?.(!0),d(e),L()?.ensure(`/pane/tasks/${e}`)},[i]),ie=qt(()=>{i?.(o!==null),d(null),L()?.goBack()},[i,o]);return U(()=>{let e=a.startsWith(`/pane/edited-files/`);!e&&o!==null&&(s(null),l(null));let t=a.startsWith(`/pane/tasks/`)?u:null;t!==u&&d(t),t!==u&&i?.(e||t!=null),h!==null&&a!==`/pane/queue/edit`&&(g(null),v(!1),b(!1)),f&&!a.startsWith(`/viewer/shell-output`)&&p(null)},[a,o,i,h,f,u]),U(()=>{h!==null&&h>=t&&(g(null),v(!1),b(!1),a===`/pane/queue/edit`&&L()?.goBack())},[a,h,t]),{editedFileFull:o,editedFileFullPath:c,openEditedFileFull:te,closeEditedFileFull:ne,taskDetailTurn:u,openTaskDetail:re,closeTaskDetail:ie,shellFullOutput:f,setShellFullOutput:m,queueEditIndex:h,setQueueEditIndex:g,queueCloseConfirm:_,setQueueCloseConfirm:v,queueEscSuppress:y,setQueueEscSuppress:b,interruptConfirm:x,setInterruptConfirm:S,popQueuedConfirm:C,setPopQueuedConfirm:w,supplyDraft:ee,setSupplyDraft:T,fullScreenPaneActive:E}}let __=null;function v_(e){__=e}function y_(){let e=__;return e?.hasSelection()?(e.clear(),!0):!1}function b_(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function x_(e){let{showHome:t,tasksLength:n,backgroundTasksLength:r,editedFilesLength:i,subagentsLength:a,servicesCount:o,clipboardHasContent:s,shellExecutionRunning:c,routeDerivedOwner:l,currentPath:u,backgroundOutput:d,a2uiButtons:f,scrollOffset:p,editedFilesOpen:m,subagentsOpen:h,setTasksCollapsed:g,keybindingOverrides:_,promptSuggestions:v,onFillPromptSuggestion:y,isPromptDraftEmpty:b,capabilityCardShown:S,capabilityItemIds:C,onInstallCapability:w,onDismissCapabilityRecommendations:ee}=e,{onToggleDelegates:T,onToggleEditedFiles:E,onToggleSubagents:te,onToggleDraftPane:ne,onToggleQueuePane:re,onShellAbort:ie,onInterrupt:ae,onA2uiAction:oe,onCyclePermissionMode:D,onToggleNotifications:se,onSubmit:O}=h_(),ce=qt(()=>{let e=L();e&&e.currentPath!==`/`&&e.navigate(`/`,{reset:!0})},[]),ue=qt(e=>{let t=L();if(!t)return!1;let c=t.currentPath===`/home`?`/`:t.currentPath,l=[...n>0?[{path:`/pane/tasks`,activate:()=>{g(()=>!1),t.navigate(`/pane/tasks`,{replace:!0})}}]:[],...r>0?[{path:`/pane/delegates`,activate:()=>{T?.()}}]:[],...o>0?[{path:`/overlay/services`,activate:()=>{t.ensure(`/overlay/services`)}}]:[],...i>0?[{path:`/pane/edited-files`,activate:()=>{E?.()}}]:[],...a>0?[{path:`/pane/subagents`,activate:()=>{te?.()}}]:[],...s?[{path:`/pane/clipboard`,activate:()=>{t.navigate(`/pane/clipboard`,{replace:!0})}}]:[],{path:`/`,activate:()=>ce()}];return l.length<=1?!1:(l[(Math.max(0,l.findIndex(e=>c===e.path||c.startsWith(e.path+`/`)))+e+l.length)%l.length]?.activate(),!0)},[r,ce,i,T,E,te,a,n,s,o,g]);Lt(`app-global-prelude`,(e,t)=>t.ctrl&&e===`c`?c?(ie?.(),!0):(ae?.(),!0):!1),ge(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:o_(u)?(y_(),!1):y_()),x(`app-prompt-global`,(e,r)=>{if(r.tab&&!r.ctrl&&!r.meta&&!r.shift)return u.startsWith(`/dialog/`)||u.startsWith(`/viewer/`)||St(u)||![`prompt`,`home`,`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`draft`,`queue`,`clipboard`].includes(l)||u===`/pane/delegates`&&d?!1:ue(r.shift?-1:1);let i=b?.()??!0;if(i&&p===0&&f&&f.length>0&&e>=`1`&&e<=`9`&&!r.ctrl&&!r.meta){let t=f.find(t=>t.key===e);if(t&&oe)return oe(t.componentId,t.action,t.payload),!0}if(i&&t&&v&&v.length>0&&e>=`1`&&e<=`9`&&!r.ctrl&&!r.meta){let t=v[Number(e)-1];if(t&&y)return y(t),!0}if(i&&t&&S&&C&&C.length>0&&!r.ctrl&&!r.meta){if(e===`0`)return ee?.(),!0;if(e>=`1`&&e<=`9`){let t=C[Number(e)-1];if(t&&w)return w(t),!0}}if(u===`/`&&r.ctrl&&e===`k`)return!1;let a=rt(Ve,l,e,r,_);if(a===`smart-close`)return u===`/pane/tasks`?(l_(),!0):m?(E?.(),!0):h?(te?.(),!0):(n>0?(g(()=>!1),L()?.navigate(`/pane/tasks`,{replace:!0})):g(e=>!e),!0);let o={"cycle-permission-mode":()=>{D?.()},"toggle-notifications":()=>{se?.()},"toggle-edited-files":()=>{E?.()},"toggle-subagents":()=>{te?.()},"toggle-delegates":()=>{T?.()},"toggle-clipboard":()=>{if(u===`/pane/clipboard`){l_();return}s&&L()?.navigate(`/pane/clipboard`,{replace:!0})},"toggle-draft-pane":()=>{ne?.()},"toggle-queue-pane":()=>{re?.()},"open-keybinding-panel":()=>{O?.(`/keybindings`,`send`)}};return a&&o[a]?(o[a](),!0):!1});let k=le();tn((e,t)=>{k.dispatch(e,t)})}function S_(e){let t=e>=60,n=e>=76,r=e>=100;return{modelName:!0,occupancyBar:!0,hintText:!0,permissionMode:t,perfIndicator:t,notificationBell:t,scheduleIndicator:t,cost:n,providerUsage:n,language:n,pluginStatusItems:r,liveClock:r}}const C_={narrow:0,medium:1,low:2};function w_(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=C_[e.entry.tier]-C_[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 T_=new Map;function E_(e){let t=T_.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},T_.set(e,t)),t}function D_(){T_.clear()}function O_(e,t){let n=E_(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 k_(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 A_(e){let{columns:t,permissionMode:n,cost:r,providerUsage:i,pluginStatusItems:a,statusWidgets:o,modelName:s}=e,[c,l]=G(0);U(()=>{if(!i)return;let e=setInterval(()=>l(e=>e+1),3e4);return()=>clearInterval(e)},[i]);let[u,d]=G(0);U(()=>{let e=k_(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=Yt(()=>S_(t),[t]);return{footerVisible:f,badgeEntries:Yt(()=>{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=rr(i,t);n&&e.push({id:`host:provider-usage`,text:n,color:or(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=O_(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return w_(e)},[f,n,r,i,c,a,o,u,s,t])}}function j_(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}=h_();return qt(()=>{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 M_=null;function N_(e){M_=e}function P_(){return M_}function F_(){let[e,t]=G(null),n=W(null),r=qt(e=>{n.current=e,t(e),!e&&L()?.currentPath===`/pane/sigil`&&L()?.goBack()},[]),i=W(null),[a,o]=G(null),s=W(!1),[c,l]=G(null),u=W(null),d=qt((e,t,n)=>{i.current=n,r({sigil:e,query:t,mode:`sigil`}),L()?.navigate(`/pane/sigil`)},[]),f=qt(()=>{if(n.current?.mode===`history`){r(null);return}i.current=null,r({sigil:`#`,query:``,mode:`history`}),L()?.navigate(`/pane/sigil`)},[]);return U(()=>(N_(f),()=>N_(null)),[f]),{sigilState:e,setSigilState:r,sigilApplyRef:i,hadSigilFocusRef:s,chipContentViewerRequest:a,pasteContent:c,handleSigilTrigger:d,handleHistorySearch:f,handleChipReopen:qt((e,n,r)=>{i.current={select:r.select,cancel:()=>r.cancel()},t({sigil:`@`,query:``}),L()?.navigate(`/pane/sigil`)},[]),handleChipViewPaste:qt((e,t)=>{lt(L(),_,!0),o({label:e,content:t,onDismiss:()=>{o(null),lt(L(),_,!1)}})},[]),handleSigilClose:qt(()=>{r(null)},[]),handlePasteConfirmRequest:qt((e,t)=>{u.current=t,l(e),lt(L(),S,!0)},[]),handlePasteConfirm:qt(()=>{u.current?.confirm(),u.current=null,l(null),lt(L(),S,!1)},[]),handlePasteCancel:qt(()=>{u.current?.cancel(),u.current=null,l(null),lt(L(),S,!1)},[])}}function I_(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 L_(){let e=sr({budget:null});return{store:e,setBudget(t){e.setState({budget:t})},reset(){e.setState({budget:null})}}}function R_(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 z_(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function B_(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function V_(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function H_({files:e,focused:r,onDismiss:i,onOpenFileFull:a,fullOpenPath:o=null,rows:s=24}){let c=R(),{expanded:l,handleExpandKey:u}=_a(s),[d,f]=ga(`editedFiles`,e.length),p=W(0);if(E(`edited-files-pane`,(t,n)=>{if(n.escape)return o===null?(L()?.navigate(`/`,{reset:!0}),i?.(),!0):!0;if(u(t,n))return!0;if(Pe(`list-nav-up`,t,n,`editedFiles`))return f(e=>Math.max(0,e-1)),!0;if(Pe(`list-nav-down`,t,n,`editedFiles`))return f(t=>Math.min(e.length-1,t+1)),!0;if(n.return){let t=e[d];return t&&a?.(t),!0}return!1},{isActive:r}),e.length===0)return null;let m=e.reduce((e,t)=>e+t.addedLines,0),h=e.reduce((e,t)=>e+t.removedLines,0),g=Math.min(d,e.length-1),_=Tt(e,g,n(e.length,s,3,l?10:5),p.current);return p.current=_.scrollTop,q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:c.special,children:`▸ `}),K(Y,{color:r?c.text:c.inactive,children:B.t(`panelTitle.editedFilesTitle`)}),q(D,{type:`secondary`,children:[` `,B.t(`diff.fileCountLabel`,{count:e.length})]}),m>0&&q(Y,{color:c.diffAdd,children:[` +`,m]}),h>0&&q(Y,{color:c.diffRemove,children:[` -`,h]}),!r&&q(D,{type:`secondary`,dim:!0,children:[` `,t(`v`)]}),r&&K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[`+`,l?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.view`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),q(J,{marginLeft:I.section,flexDirection:`column`,children:[_.hasMoreAbove&&K(Y,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),_.rows.map((e,t)=>{let n=_.scrollTop+t===g,i=n&&r?c.selection:c.inactive;return q(J,{flexDirection:`row`,children:[K(Y,{color:i,children:n?Ae():Ft()}),q(Y,{color:V_(e.operation,c),children:[B_(e.operation),` `]}),K(Y,{color:i,children:z_(e.path)}),e.addedLines>0&&q(Y,{color:c.diffAdd,children:[` +`,e.addedLines]}),e.removedLines>0&&q(Y,{color:c.diffRemove,children:[` -`,e.removedLines]})]},`${e.path}-${e.timestamp}`)}),_.hasMoreBelow&&K(Y,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function U_(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:``,ftueStage:void 0,capabilityRecommendations:[],capabilityDismissed:!1,updateAvailable:void 0}}function W_(e={}){let t=sr(U_(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(U_(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]=R_(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())},setFtueStage(e){t.getState().ftueStage!==e&&(t.setState({ftueStage:e}),i())},setCapabilityRecommendations(e){t.setState({capabilityRecommendations:e}),i()},setUpdateAvailable(e){t.setState({updateAvailable:e}),i()},dismissCapabilityRecommendations(){t.getState().capabilityDismissed||(t.setState({capabilityDismissed:!0}),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 G_(){let e=sr({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 K_(){let e=sr({view:null});return{store:e,setView(t){e.setState({view:t})}}}function q_(){return{view:{configPath:`~/.otto/config.json`}}}function J_(){let e=sr(q_());return{store:e,setView(t){e.setState({view:t})}}}function Y_(e=Date.now){let t=sr({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 X_={categoryIndex:0,itemIndex:0,variantIndex:0};function Z_(){let e=sr({...X_});return{store:e,reset(){e.setState({...X_})},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 Q_(e){let{taskStore:t,budgetStore:n,perfStore:r,cacheStore:i,proxyStore:a,compactionLogStore:o,galleryStore:s,streamStore:c}=e;return{taskStore:Yt(()=>t??W_(),[t]),budgetStore:Yt(()=>n??L_(),[n]),perfStore:Yt(()=>r??G_(),[r]),cacheStore:Yt(()=>i??K_(),[i]),proxyStore:Yt(()=>a??J_(),[a]),compactionLogStore:Yt(()=>o??Y_(),[o]),galleryStore:Yt(()=>s??Z_(),[s]),streamStore:Yt(()=>c??Tl(),[c])}}const $_={tasks:N.itemActive,delegates:N.service,services:N.serviceSignal,edited:N.edited,subagents:N.attention,clipboard:N.clipboard},ev={tasks:`K`,delegates:`P`,edited:`V`,subagents:`T`,clipboard:`G`},tv=N.clipboard,nv={tasks:`/pane/tasks`,delegates:`/pane/delegates`,services:`/overlay/services`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function rv({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:`services`,count:e.services,label:t.services},{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=nv[t.id],i=r!==``&&(n===r||n.startsWith(`${r}/`));return t.id===`clipboard`&&e.clipboardJustCopied?{id:t.id,icon:tv,label:t.label,count:t.count,active:i,keyHint:ev[t.id],tone:`success`}:{id:t.id,icon:$_[t.id],label:t.label,count:t.count,active:i,keyHint:ev[t.id]}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:$_.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,keyHint:ev.clipboard,tone:`warning`}),e}return r}function iv(e){return e.length>0}function av(e){return e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService).length}function ov(e){if(!e)return;let t=process.env.HOME;return t&&(e===t||e.startsWith(t+`/`))?`~`+e.slice(t.length):e}const sv=[{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:`Shift+Enter newline; Option+Enter queues a follow-up (Ctrl+Q manages).`,zh:`Shift+Enter 换行;Option+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 cv({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,s]=G(!1),[c,l]=G(()=>lv()),u=W(e);u.current=e;let d=W(0),[f,p]=G(0);if(o(`idle-tip-activity`,()=>{d.current+=1,p(d.current)},{isActive:e}),U(()=>{if(!e){s(!1);return}s(!1);let t=setTimeout(()=>{u.current&&s(!0)},r);return()=>{clearTimeout(t)}},[e,t,r,f]),U(()=>{if(!a)return;let e=setInterval(()=>{l(e=>(e+1)%sv.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let m=sv[c%sv.length];return m?n?m.zh:m.en:null}function lv(){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)%sv.length}function uv(){return K(J,{children:K(Y,{color:R().warning,children:`🕶 ${B.t(`welcome.shadowChip`)}`})})}function dv(){let e=R();return q(J,{flexDirection:`column`,marginBottom:I.tight,children:[K(Y,{bold:!0,color:e.warning,children:`🕶 ${B.t(`welcome.shadowBannerTitle`)}`}),K(Y,{color:e.suggestion,children:B.t(`welcome.shadowGuarantee`)}),q(J,{marginTop:I.tight,flexDirection:`column`,children:[K(Y,{color:e.inactive,children:B.t(`welcome.shadowNotGuaranteedTitle`)}),K(Y,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg1`)}`}),K(Y,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg2`)}`}),K(Y,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg3`)}`}),K(Y,{color:e.inactive,children:` • ${B.t(`welcome.shadowNg4`)}`})]})]})}const fv=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],pv=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function mv(e){let t=2*e;return 375+t+188+t}function hv(e){return 2*e}function gv(e,t){return Math.min(t,Math.floor(e/2)+1)}function _v(e,t){let n=hv(t),r=e%mv(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:gv(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:gv(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function vv(e){let t=e%16;return t<=8?t/8:(16-t)/8}function yv(e){return Math.floor(e/3)%fv.length}function bv(e,t,n){let r=n===`light`?pv:fv,i=yv(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function xv(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 Sv(e,t,n,r,i,a,o){let s=i===`light`?pv:fv,c=a.phase===`hold`?vv(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=xv(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 Cv=[`✦`,`✧`,`·`,`⋆`],wv=[`~`,`°`,`·`,`˘`,`∼`],Tv=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],Ev=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],Dv=[{left:1,phase:16}],Ov=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],kv=[{left:3,phase:15},{left:10,phase:35}];function Av(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 jv(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 Mv(e,t){return wv[Math.floor((e+t)/8)%wv.length]}function Nv({isNight:e=!1}){let t=R(),{resolvedTheme:n}=Ne(),[r,i]=V.useState(0),a=He();Ge(80,i);let o=e&&!a,s=!e&&!a,c=a?null:_v(r,Tv[0].length),l=yv(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=Av(r,e.phase);return i===0?null:K(J,{position:`absolute`,top:t,left:e.left,children:K(Y,{color:d(i),children:Cv[n%Cv.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=jv(r,e.phase);return i===0?null:K(J,{position:`absolute`,top:t,left:e.left,children:K(Y,{color:d(i),children:Mv(r,e.phase)})},`ripple-${n}`)};return q(J,{position:`relative`,flexDirection:`column`,children:[Tv.map((e,i)=>{let a=fl(r+i*3,e.length);return K(J,{flexDirection:`row`,children:c&&c.phase!==`brand`?Sv(e,a,2,l,n,c,u).map((e,t)=>K(Y,{bold:!0,color:e.color,children:e.text},t)):dl(e,a,2).map((e,n)=>K(Y,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&Ev.map((e,t)=>f(e,-1,t)),o&&Dv.map((e,t)=>f(e,Tv.length,t)),s&&Ov.map((e,t)=>p(e,-1,t)),s&&kv.map((e,t)=>p(e,Tv.length,t))]})}const Pv=[`provider`,`authentication`,`model`],Fv={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 Iv(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=Fv[e],r=Pv.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:Pv.length}}function Lv(e,t){return e||(t?`model`:void 0)}function Rv(e){return!e||e===`ready`||e===`first-prompt`?null:Fv[e].ctaKey}function zv(e,t){return e===void 0?t:!(e===`ready`||e===`first-prompt`)}function Bv(e,t,n){return t!==`first-prompt`||n||e.length===0?null:{items:e.slice(0,3)}}function Vv({version:e=`0.1.0`,buildId:t,cwd:n,width:r,nickname:i,updateAvailable:a,weather:o,ftueStage:c,promptSuggestions:l,capabilityRecommendations:u,capabilityDismissed:d=!1,shadow:f=!1}){let p=R(),m=n?n.replace(process.env.HOME??`~`,`~`):void 0,h=r??process.stdout.columns??80,g=h>=60,_=V.useMemo(()=>{let e=new Date().getHours();return e<5?`late`:e<9?`earlyMorning`:e<12?`morning`:e<18?`afternoon`:e<22?`evening`:`night`},[]),v=_===`night`||_===`late`,[y]=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:_,wday:n,who:r})}),b=y,x=B.t(`welcome.version`),S=B.t(`welcome.workspace`),C=Math.max(Mt(x),Mt(S))+4,w=Tv.map(e=>Mt(e)),ee=Math.max(...w),T=e=>` `.repeat(Math.max(0,ee-(w[e]??ee))),E=c?Iv(c,h):null,te=(c===void 0||c===`ready`)&&l&&l.length>0?l.slice(0,3):[],ne=Bv(u??[],c,d);return K(J,{flexDirection:`column`,children:q(J,{flexDirection:`column`,paddingX:I.tight,paddingTop:I.section,...Ue,borderColor:p.panelBorder,children:[g&&q(J,{marginBottom:I.tight,flexDirection:`row`,children:[K(Nv,{isNight:v}),q(J,{flexDirection:`column`,marginLeft:I.loose,children:[q(J,{flexDirection:`row`,children:[q(D,{type:`secondary`,children:[T(0),s(x,C)]}),q(D,{type:`secondary`,children:[`v`,e]}),t!=null&&q(D,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]})]}),m&&q(J,{flexDirection:`row`,children:[q(D,{type:`secondary`,children:[T(1),s(S,C)]}),K(D,{type:`secondary`,children:m})]})]})]}),!g&&q(J,{flexDirection:`column`,marginBottom:I.tight,children:[q(J,{flexDirection:`row`,children:[dl(`otto`,1).map((e,t)=>K(Y,{bold:!0,color:e.bright?p.brandShimmer:p.brand,children:e.text},t)),K(D,{type:`secondary`,children:` ${s(x,C)}`}),q(D,{type:`secondary`,children:[`v`,e]}),t!=null&&q(D,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]})]}),m&&q(J,{flexDirection:`row`,children:[K(D,{type:`secondary`,children:` ${s(S,C)}`}),K(D,{type:`secondary`,children:m})]})]}),a&&a.newer&&K(J,{marginBottom:I.tight,children:K(Y,{color:a.forced?p.warning:p.accent,children:a.forced?B.t(`update.forcedBanner`,{latest:a.latest}):B.t(`update.availableBanner`,{latest:a.latest})})}),K(J,{marginBottom:I.tight,children:i&&b.includes(i)?q(Y,{color:p.text,bold:!0,children:[b.slice(0,b.indexOf(i)),K(Y,{color:p.accent,children:i}),b.slice(b.indexOf(i)+i.length)]}):K(Y,{color:p.text,bold:!0,children:b})}),E&&q(J,{flexDirection:`column`,marginBottom:I.tight,children:[q(J,{children:[K(Y,{color:p.warning,bold:!0,children:B.t(E.titleKey)}),K(D,{type:`secondary`,children:` ${E.step}/${E.totalSteps}`})]}),E.hintKey&&K(D,{type:`secondary`,children:B.t(E.hintKey)}),K(Y,{color:p.accent,children:B.t(E.ctaKey)})]}),te.length>0&&q(J,{flexDirection:`column`,marginBottom:I.tight,children:[K(D,{type:`secondary`,children:B.t(`welcome.suggestionsLabel`)}),te.map((e,t)=>q(J,{flexDirection:`row`,children:[q(Y,{color:p.accent,children:[` [`,t+1,`] `]}),K(D,{type:`secondary`,children:e})]},t))]}),ne&&q(J,{flexDirection:`column`,marginBottom:I.tight,children:[K(D,{type:`secondary`,children:B.t(`capability.sectionTitle`)}),ne.items.map((e,t)=>q(J,{flexDirection:`row`,children:[q(Y,{color:p.accent,children:[` [`,t+1,`] `]}),K(D,{type:`secondary`,children:B.t(e.reasonKey)})]},e.extensionId)),q(J,{flexDirection:`row`,children:[K(Y,{color:p.accent,children:` [0] `}),K(D,{type:`secondary`,children:B.t(`capability.actionNotNow`)})]})]}),f&&K(dv,{}),o&&q(J,{marginBottom:I.tight,children:[q(Y,{color:p.accent,children:[o.condition,` `,o.temp,`°C`]}),q(D,{type:`secondary`,children:[` `,o.location]})]})]})})}function Hv(e,t){let n=Ca();U(()=>{if(n)return n.registerWheel(e)},[n,...t])}function Uv({title:e,status:t,messages:n,streamText:r=``,rows:i=24,columns:o=80,onDismiss:s}){let c=R(),l=a();E(`subagent-context-view`,(e,t)=>t.escape?(s?.(),!0):v(e,t)?!0:t.upArrow?(p(e=>x(e+1)),!0):t.downArrow?(p(e=>x(e-1)),!0):t.pageUp?(p(e=>x(e+y)),!0):t.pageDown?(p(e=>x(e-y)),!0):e===`g`&&!t.ctrl&&!t.meta?(p(b),!0):e===`G`&&!t.ctrl&&!t.meta?(p(0),!0):!1,{isActive:l?l.currentPath===`/subagent`:!0});let u=[];for(let e of n){let t=hc(e,o);t.length>0&&u.push(t)}let d=[];for(let e=0;e<u.length;e++)e>0&&d.push(``),d.push(...u[e]);let[f,p]=G(0),m=f===0,h=ul(r,o-Be.borderInset,3);if(m&&h.length>0){d.length>0&&d.push(``),d.push(`⏺ assistant (streaming)`);for(let e of h)d.push(` ${e}`)}let{maxRows:g,expanded:_,handleExpandKey:v}=_a(i),y=Math.max(1,g-7),b=Math.max(0,d.length-y),x=e=>Math.min(b,Math.max(0,e)),S=b-x(f),w=d.slice(S,S+y);return Hv(e=>p(t=>x(t+e*3)),[b]),q(M,{maxHeight:g,header:q(J,{flexDirection:`column`,children:[K(Y,{color:c.secondary,italic:!0,children:B.t(`subagent.header`,{title:e,status:t})}),K(Y,{children:` `})]}),footer:K(C,{items:[[`+`,_?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],...b>0?[[`${O.up}${O.down}`,B.t(`hint.scroll`)]]:[],[O.esc,B.t(`hint.back`)]]}),children:[K(J,{height:1,children:S>0&&K(D,{type:`secondary`,dim:!0,children:B.t(`subagent.contextEarlierLines`,{n:S})})}),K(J,{flexDirection:`column`,height:_?Math.max(1,g-7):void 0,children:w.map((e,t)=>K(Y,{children:e},`${S+t}`))})]})}function Wv(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=Gv(r.content);if(i)return qv(i,n)}return null}function Gv(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:Kv(e)?e.text:``).filter(Boolean).join(` `).trim():Kv(e)?String(e.text).trim():``}function Kv(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function qv(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function Jv(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:A(n,t)}function Yv({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:Jv(i,r)}function Xv(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function Zv(e){let t=h_(),{taskStore:n}=n_(),r=X(n.store,e=>e.sessionTitle),i=X(n.store,e=>e.sessionList),a=X(n.store,e=>e.needsSetup),o=X(n.store,e=>e.ftueStage),s=X(n.store,e=>e.updateAvailable),c=X(n.store,e=>e.pendingPermission),l=X(n.store,e=>e.subagentContext),u=X(n.store,e=>e.pendingEcho),d=X(n.store,e=>e.pendingSteers),f=X(e.scrollStore.store,e=>e.offset>0),[p,m]=V.useState(null);V.useEffect(()=>{l&&m(null)},[l]);let h=X(e.scrollStore.store,e=>e.offset),g=X(e.scrollStore.store,e=>e.atTranscriptTop),_=V.useMemo(()=>{if(!f)return null;let t=Math.max(0,e.messages.length-1-Math.floor(h/3));return Wv(e.messages,t)},[f,h,e.messages]),v=Lv(o,a);if(e.welcome&&e.showHome)return K(Vv,{version:e.welcome.version,buildId:e.welcome.buildId,cwd:e.welcome.cwd,width:e.columns,nickname:e.welcome.nickname,updateAvailable:s??e.welcome.updateAvailable,weather:e.welcome.weather,sessionList:i,onSessionSelect:t.onSessionSelect,ftueStage:v,promptSuggestions:e.promptSuggestions,capabilityRecommendations:e.capabilityRecommendations,capabilityDismissed:e.capabilityDismissed,shadow:e.shadow});let y=Yv({sessionTitle:r,reviewing:f,turnPrompt:_,maxWidth:Math.max(1,e.columns-2)}),b=y.length>0&&!Xv(y)&&!g,x=Math.max(1,e.rows-(b?1:0)-(p?1:0));return q(J,{flexDirection:`column`,flexGrow:1,justifyContent:`flex-end`,children:[b&&K(J,{height:1,flexShrink:0,flexDirection:`row`,children:K(Y,{dimColor:!0,children:`${N.userPrompt} ${y}`})}),l?(()=>{let n=l;return K(Uv,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:x,columns:e.columns,onDismiss:t.onExitSubagentContext})})():K(Xt,{children:K(Ml,{streamStore:e.streamStore,completedMessages:e.messages,columns:e.columns,rows:x,maxPreviewRows:e.fullScreenPaneActive?0:e.maxPreviewRows,suppressLive:e.fullScreenPaneActive||f,pendingEcho:u??null,scrollbackMode:e.scrollbackMode??!1,pendingSteers:d??[],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:m,renderReviewHint:!1,topbarReserved:b,pendingPermission:c??null,suppressSpinner:e.fullScreenPaneActive})}),p&&K(J,{height:1,flexShrink:0,flexDirection:`row`,children:K(Y,{dimColor:!0,children:p})})]})}const Qv={running:N.todoActive,exited:N.check,killed:N.cross,failed:N.cross};function $v(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function ey(e){if((e.type??`process`)===`agent-session`)switch(e.agentStatus){case`running`:return N.todoActive;case`ready`:return N.attention;case`needs_input`:return N.attention;case`applied`:return N.check;default:return N.cross}return Qv[e.status]}function ty(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 $v(e.status,t)}function ny({tasks:e,columns:r=80,onClose:i,onKill:a,onViewOutput:o,onApply:s,onSwitch:c,onDelete:l,active:u=!0,rows:d=24}){let f=R(),[p,m]=ga(`delegates`,e.length),h=W(0),{expanded:g,handleExpandKey:_}=_a(d??24),v=e.some(e=>(e.type??`process`)===`agent-session`?e.agentStatus===`running`:e.status===`running`),[,y]=G(0);U(()=>{if(!v)return;let e=setInterval(()=>y(e=>(e+1)%1e6),1e3);return()=>clearInterval(e)},[v]),E(`delegates-pane`,(t,n)=>{if(n.escape||t===`q`)return i?.(),!0;if(_(t,n))return!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 r=e[p],u=r?No(r):!1;return t===`k`&&u&&r?(a?.(r.id),!0):(t===`o`||n.return)&&r?(o?.(r.id),!0):t===`a`&&r?.type===`agent-session`&&r.agentStatus===`ready`&&r.diffStat?(s?.(r.id),!0):t===`s`&&r?.type===`agent-session`?(c?.(r.id),!0):t===`d`&&r&&!u?(l?.(r.id),!0):!1},{isActive:u,ignoreRoute:!0});let b=e.filter(No).length,x=Date.now(),S=Math.max(12,Math.min(48,r-28));if(!u){if(e.length===0)return null;let n=e[Math.min(p,e.length-1)];return q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:f.special,children:`▸ `}),K(D,{type:`secondary`,children:B.t(`bg.tasksTitle`)}),q(D,{type:`secondary`,children:[` `,e.length]}),b>0&&q(D,{type:`secondary`,children:[` · `,B.t(`bg.runningSuffix`,{n:b})]}),q(D,{type:`secondary`,dim:!0,children:[` `,t(`p`)]})]}),n&&q(J,{flexDirection:`row`,children:[K(D,{type:`secondary`,children:`${N.pointer} `}),K(D,{type:`secondary`,children:A(n.command,S).padEnd(S)}),q(D,{type:`secondary`,dim:!0,children:[` `,Lo(n,x)]})]})]})}let w=e[Math.min(p,e.length-1)],ee=(w?.type??`process`)===`agent-session`&&w?.agentStatus===`ready`&&!!w?.diffStat,T=!!w&&!No(w),te=Math.min(p,e.length-1),ne=[],re,ie=0;e.forEach((e,t)=>{let n=jo(e);n!==re&&(ie>0&&ne.push({type:`spacer`}),ne.push({type:`header`,category:n}),ie++,re=n),ne.push({type:`entry`,task:e,index:t})});let ae=Tt(ne,ne.findIndex(e=>e.type===`entry`&&e.index===te),n(ne.length,d,3,g?10:5),h.current);return h.current=ae.scrollTop,q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:f.special,children:`▸ `}),K(Y,{color:f.text,children:B.t(`bg.tasksTitle`)}),q(D,{type:`secondary`,children:[` `,b>0?B.t(`bg.runningSuffix`,{n:b}):`${e.length} total`,e.length>b?` · ${B.t(`bg.doneSuffix`,{n:e.length-b})}`:``]}),K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[`+`,g?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[`k`,B.t(`hint.kill`)],[`o`,B.t(`hint.output`)],...ee?[[`a`,B.t(`hint.apply`)]]:[],...T?[[`d`,B.t(`hint.delete`)]]:[],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),K(J,{marginLeft:I.section,flexDirection:`column`,children:e.length===0?K(D,{type:`secondary`,dim:!0,children:B.t(`bg.empty`)}):q(Xt,{children:[ae.hasMoreAbove&&K(Y,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),ae.rows.map((e,t)=>{if(e.type===`spacer`)return K(Y,{children:` `},`spacer-${t}`);if(e.type===`header`)return K(D,{type:`secondary`,dim:!0,children:B.t(`bg.categoryLabel`,{context:e.category})},`h-${t}`);let n=e.task,r=e.index===p;return q(J,{flexDirection:`row`,children:[K(Y,{color:r?f.selection:f.inactive,children:r?Ae():Ft()}),q(Y,{color:ty(n,f),children:[ey(n),` `]}),K(Y,{color:r?f.selection:f.inactive,children:A(n.command,S).padEnd(S)}),(n.type??`process`)===`agent-session`&&n.model&&q(D,{type:`secondary`,dim:!0,children:[` `,String(n.model)]}),q(D,{type:`secondary`,dim:!0,children:[` `,Lo(n,x)]})]},n.id)}),ae.hasMoreBelow&&K(Y,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})})]})}function ry({view:e,columns:t=80,rows:n,active:r=!0,onDismiss:i}){let a=R(),o=e.prompt!==void 0,s=e.messages!==void 0&&e.messages.length>0,c=!!e.diff?.trim(),l=(o?1:0)+(s?1:0)+(c?1:0)>=2,[u,d]=G(c?`diff`:s?`conversation`:`prompt`),[f,p]=G(0),[m,h]=G(!1),[g,_]=G(``),[v,y]=G(-1),{maxRows:b,expanded:x,handleExpandKey:S}=_a(n??24),w=Math.max(1,b-10);U(()=>p(0),[e.id,u]);let ee=Math.max(8,t-Be.contentInset),T=[],te=[];if(u===`diff`)T=(e.diff??``).split(`
|
|
95
|
-
`);else if(u===`prompt`)T=ho(e.prompt??``,ee);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=hc(r,ee);i.length!==0&&(t.length>0&&t.push(``),t.push(...i))}T=t,te=e.streamText?ul(e.streamText,ee-Be.borderInset,3):[]}let ne=u===`prompt`,re=u===`diff`,ie=e=>e.startsWith(`+`)&&!e.startsWith(`+++`)?a.diffAdd:e.startsWith(`-`)&&!e.startsWith(`---`)?a.diffRemove:e.startsWith(`@@`)||e.startsWith(`diff --git`)?a.special:a.secondary,ae=e.status===`running`,oe=V.useMemo(()=>{if(!g)return{flat:[],byLine:new Map};let e=[],t=new Map;for(let n=0;n<T.length;n++){let r=Na(Vs(T[n]),g);if(r.length!==0){t.set(n,r);for(let t of r)e.push({line:n,range:t})}}return{flat:e,byLine:t}},[g,T]),se=qo(T.length,w,f),ce=T.slice(se.start,se.end),le=g?ce.map((e,t)=>{let n=se.start+t,r=oe.byLine.get(n);if(!r||r.length===0)return e;let i=v>=0?oe.flat[v]:void 0;return Ma(e,r,i&&i.line===n?i.range:void 0)}):ce,ue=e.responseText?.split(`
|
|
96
|
-
`)[0],[k,de]=G(!1);Hv(e=>p(t=>Math.max(0,t+e)),[]),E(`delegates-pane-2`,(t,n)=>{if(m){if(n.escape)return h(!1),_(``),y(-1),!0;if(n.backspace)return _(e=>e.slice(0,-1)),y(-1),!0;if((t===`n`||t===`N`)&&g.length>0){let e=t===`n`?1:-1;return y(t=>oe.flat.length>0?(t+e+oe.flat.length)%oe.flat.length:-1),!0}return t.length===1?(_(e=>e+t),y(-1),!0):!0}if(t===`/`&&!n.ctrl&&!n.meta)return h(!0),_(``),y(-1),!0;if(n.escape)return i?.(),!0;if((t===`[`||t===`]`)&&l&&!n.ctrl&&!n.meta){let e=t===`[`?-1:1;return d(t=>{let n=[...c?[`diff`]:[],...s?[`conversation`]:[],...o?[`prompt`]:[]];return n[(n.indexOf(t)+e+n.length)%n.length]??t}),!0}return S(t,n)?!0:t===`d`&&e.responseText?(de(e=>!e),!0):n.upArrow?(p(e=>e+1),!0):n.downArrow?(p(e=>Math.max(0,e-1)),!0):n.pageUp?(p(e=>e+w),!0):n.pageDown?(p(e=>Math.max(0,e-w)),!0):!1},{isActive:r,ignoreRoute:!0});let j=[...c?[{key:`diff`,label:B.t(`find.tabDiff`)}]:[],...s?[{key:`conversation`,label:B.t(`find.tabConversation`)}]:[],...o?[{key:`prompt`,label:B.t(`find.tabPrompt`)}]:[]],fe=l?j.find(e=>e.key===u)?.label??``:``;return K(M,{header:q(J,{flexDirection:`column`,children:[q(J,{flexDirection:`row`,children:[q(Y,{color:$v(e.status,a),children:[Qv[e.status],` `]}),K(Y,{color:a.secondary,bold:!0,children:A(e.command,Math.max(12,t-12))}),K(D,{type:`secondary`,children:ae?` ${N.statusDot} ${B.t(`bg.live`)}`:` ${B.t(`status.done`)}`}),fe&&q(D,{type:`secondary`,dim:!0,children:[` · `,fe]})]}),ue&&q(J,{flexDirection:`column`,children:[q(D,{type:`secondary`,dim:!0,children:[` `,ue,` `,K(Y,{color:a.suggestion,children:`[d] ${k?B.t(`hint.collapse`):B.t(`find.tabDiagnostics`)}`})]}),k&&e.responseText&&K(J,{flexDirection:`column`,marginTop:I.tight,children:e.responseText.split(`
|
|
97
|
-
`).slice(1).map((e,t)=>K(Y,{color:a.secondary,dimColor:!0,wrap:`truncate-end`,children:e===``?` `:e},t))})]}),K(Y,{children:` `})]}),footer:K(C,{dim:!0,items:[...l?[[`[ ]`,j.map(e=>e.label).join(` / `)]]:[],...e.responseText?[[`d`,k?B.t(`hint.collapse`):B.t(`find.tabDiagnostics`)]]:[],[`+`,x?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],...T.length>w?[[`${O.up}${O.down}`,B.t(`hint.scroll`)]]:[],[O.esc,B.t(`hint.back`)]]}),maxHeight:b,children:q(J,{flexDirection:`column`,height:x?w:void 0,children:[m&&K(J,{height:1,children:K(Y,{color:a.selection,children:B.t(`transcript.findBar`,{query:g,count:oe.flat.length})})}),K(Y,{color:a.special,dimColor:!0,children:se.above>0?`↑ ${se.above}`:` `}),T.length===0?K(D,{type:`secondary`,dim:!0,children:B.t(`bg.noOutput`)}):le.map((e,t)=>re?K(Y,{color:ie(e),wrap:`truncate-end`,children:e===``?` `:e},se.start+t):ne?K(Y,{color:a.secondary,wrap:`truncate-end`,children:e===``?` `:e},se.start+t):K(Y,{wrap:`truncate-end`,children:e===``?` `:e},se.start+t)),te.length>0&&K(J,{flexDirection:`column`,children:te.map((e,t)=>q(J,{flexDirection:`row`,children:[K(Y,{color:a.replyPrefix,children:t===0?`${N.bullet} `:` `}),K(Y,{children:e})]},t))}),K(Y,{color:a.special,dimColor:!0,children:se.below>0?`↓ ${se.below}`:` `})]})})}function iy(e){let t=e.agentStatus??`running`;return t===`running`||t===`ready`||t===`needs_input`}function ay(e,t){if(e.stall===`stalled`)return{ch:N.statusDot,color:t.error};if(e.stall===`warn`)return{ch:N.statusDot,color:t.warning};switch(e.agentStatus??`running`){case`running`:return{ch:N.statusDot,color:t.accent};case`needs_input`:return{ch:N.needsInput,color:t.warning};case`ready`:return{ch:N.check,color:t.success};case`applied`:return{ch:N.check,color:t.success};case`failed`:return{ch:N.cross,color:t.error};case`canceled`:return{ch:N.cross,color:t.inactive};default:return{ch:N.statusDot,color:t.inactive}}}function oy(e){return A(e,44)}function sy({tasks:e,focused:r,now:i,onDismiss:a,onSwitch:o,onViewOutput:s,rows:c=24}){let l=R(),[u,d]=ga(`subagents`,e.length),f=W(0),{expanded:p,handleExpandKey:m}=_a(c);if(E(`subagents-pane`,(t,n)=>{if(n.escape)return L()?.navigate(`/`,{reset:!0}),a?.(),!0;if(m(t,n))return!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&&o?.(r.id),!0):t===`s`?(r&&s?.(r.id),!0):!1},{isActive:r}),e.length===0)return null;let h=i??Date.now(),g=e.filter(iy).length;if(!r)return q(J,{children:[K(Y,{color:l.special,children:`▸ `}),K(D,{type:`secondary`,children:B.t(`subagent.sTitle`)}),q(D,{type:`secondary`,children:[` `,e.length,g>0?` · ${B.t(`subagent.sRunning`,{n:g})}`:``]}),q(D,{type:`secondary`,dim:!0,children:[` `,t(`t`)]})]});let _=Math.min(u,e.length-1),v=Tt(e,_,n(e.length,c,3,p?10:5),f.current);return f.current=v.scrollTop,q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:l.special,children:`▸ `}),K(Y,{color:l.text,children:B.t(`subagent.sTitle`)}),q(D,{type:`secondary`,children:[` `,e.length,g>0?` · ${B.t(`subagent.sRunning`,{n:g})}`:``]}),K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[`+`,p?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.switch`)],[`s`,B.t(`hint.view`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),q(J,{marginLeft:I.section,flexDirection:`column`,children:[v.hasMoreAbove&&K(Y,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),v.rows.map((e,t)=>{let n=v.scrollTop+t===_,r=ay(e,l),i=n?l.selection:void 0;return q(J,{flexDirection:`row`,children:[K(Y,{color:n?l.selection:l.inactive,children:n?Ae():Ft()}),q(Y,{color:r.color,children:[r.ch,` `]}),K(Y,{color:i??l.inactive,children:oy(e.command)}),e.model&&q(D,{type:`secondary`,children:[` `,e.model,e.modelDecidedBy?` (${e.modelDecidedBy})`:``]}),q(D,{type:`secondary`,children:[` `,Lo(e,h)]})]},e.id)}),v.hasMoreBelow&&K(Y,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function cy(e,t){return t===0?0:Math.max(0,Math.min(e,t-1))}function ly(e,t,n){let r=globalThis;r[`__ottoSchedule${e===`run`?`Run`:e===`toggle`?`Toggle`:`Remove`}Request`]=e===`toggle`?{taskId:t,...n}:t}function uy({tasks:e,focused:r,onDismiss:i,rows:a=24}){let o=R(),[c,l]=ga(`schedule`,e.length),u=W(0),{expanded:d,handleExpandKey:f}=_a(a);if(E(`schedule-pane`,(t,n)=>{if(n.escape)return L()?.navigate(`/`,{reset:!0}),i?.(),!0;if(f(t,n))return!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 r=e[Math.max(0,Math.min(c,e.length-1))];return r?n.return||t===`r`?(ly(`run`,r.id),!0):t===` `||t===`t`?(ly(`toggle`,r.id,{enabled:!r.enabled}),!0):t===`d`?(ly(`remove`,r.id),!0):!1:!1},{isActive:r}),e.length===0&&!r)return null;if(!r)return q(J,{children:[K(Y,{color:o.special,children:`▸ `}),K(D,{type:`secondary`,children:B.t(`schedule.sLabel`)}),q(D,{type:`secondary`,children:[` `,e.length]}),q(D,{type:`secondary`,dim:!0,children:[` `,t(`s`)]})]});let p=cy(c,e.length),m=Math.min(32,Math.max(0,...e.map(e=>Mt(e.name)))),h=Tt(e,p,n(e.length,a,3,d?10:5),u.current);return u.current=h.scrollTop,q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:o.special,children:`▸ `}),K(Y,{color:o.text,children:B.t(`schedule.sLabel`)}),q(D,{type:`secondary`,children:[` `,e.length]}),K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[`+`,d?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[`↵/r`,B.t(`hint.execute`)],[`t`,B.t(`hint.toggle`)],[`d`,B.t(`hint.delete`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),q(J,{marginLeft:I.section,flexDirection:`column`,children:[e.length===0&&K(D,{type:`secondary`,children:B.t(`schedule.sEmpty`)}),h.hasMoreAbove&&K(Y,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),h.rows.map((e,t)=>{let n=h.scrollTop+t===p,r=e.lastFireFailed===!0,i=r?`!`:e.enabled?N.toggleOn:N.toggleOff,a=r?o.error:e.enabled?o.accent:o.inactive,c=n?o.selection:void 0,l=new Date(e.nextFireAt).toLocaleString(),u=e.recurring?e.cronExpression:B.t(`schedule.oneShot`),d=r&&e.lastFireError?` (failed: ${e.lastFireError})`:``;return q(J,{flexDirection:`row`,children:[K(Y,{color:n?o.selection:o.inactive,children:n?Ae():Ft()}),q(Y,{color:a,children:[i,` `]}),K(Y,{color:c??o.inactive,children:s(e.name,m)}),q(D,{type:`secondary`,children:[` `,u,` `,B.t(`schedule.next`),l]}),d&&K(Y,{color:o.error,children:d})]},e.id)}),h.hasMoreBelow&&K(Y,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})]})}function dy({text:e,focused:t,columns:n=80,onDismiss:r,onOpenViewer:i}){let a=R();if(E(`clipboard-pane`,(e,t)=>t.escape?(L()?.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 q(J,{children:[K(Y,{color:a.special,children:`▸ `}),K(D,{type:`secondary`,children:B.t(`clipboard.paneTitle`)}),q(D,{type:`secondary`,children:[` `,B.t(`clipboard.charsLabel`,{count:o})]})]});let s=Math.max(10,n-I.section-2),c=e.split(`
|
|
98
|
-
`),l=c.slice(0,5),u=c.length-l.length;return q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:a.special,children:`▸ `}),K(Y,{color:a.text,children:B.t(`clipboard.paneTitle`)}),q(D,{type:`secondary`,children:[` `,B.t(`clipboard.charsLabel`,{count:o})]}),K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[O.enter,B.t(`clipboard.openHint`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),q(J,{marginLeft:I.section,flexDirection:`column`,children:[l.map((e,t)=>K(D,{type:`secondary`,wrap:`truncate-end`,children:A(e===``?` `:e,s)},t)),u>0&&K(D,{type:`secondary`,dim:!0,children:` ${N.ellipsis} ${u} more`})]})]})}const fy={pending:N.todoPending,in_progress:N.todoActive,done:N.check,skipped:N.todoPending,failed:N.cross};function py(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 my({tasks:e,title:t,collapsed:r=!1,selectedIndex:i,focused:a=!1,rows:o,onDismiss:s,onSelectIndex:c}){let l=R(),{expanded:u,handleExpandKey:d}=_a(o??24);E(`task-pane`,(t,n)=>n.escape?(s?.(),!0):d(t,n)?!0:Pe(`list-nav-up`,t,n,`taskFocus`)?(c?.(e=>Math.max(0,e-1)),!0):Pe(`list-nav-down`,t,n,`taskFocus`)?(c?.(t=>Math.min(e.length-1,t+1)),!0):!1,{isActive:a,ignoreRoute:!0});let f=W(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 q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:l.special,children:`▸ `}),K(Y,{color:l.text,children:t??B.t(`task.title`)}),q(Y,{color:m>0?l.error:l.inactive,children:[` `,h]}),q(D,{type:`secondary`,children:[` `,Da(e.filter(e=>e.status===`done`||e.status===`skipped`).length/e.length,8)]}),r&&q(D,{type:`secondary`,dim:!0,children:[` `,B.t(`task.collapsedHint`)]}),a&&!r&&K(J,{marginLeft:I.tight,children:K(C,{dim:!0,items:[[`+`,u?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]})})]}),!r&&K(J,{marginLeft:I.section,flexDirection:`column`,children:(()=>{let t=Math.max(0,...e.map(e=>Mt(e.title??``))),r=n(e.length,o??24,3,u?10:5),s=Tt(e,Math.min(i??0,e.length-1),r,f.current);f.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),u=e.title??``,d=` `.repeat(Math.max(0,t-Mt(u))),f=B.t(`task.statusLabel`,{context:e.status??`pending`});return q(J,{flexDirection:`row`,children:[K(Y,{color:c?l.accent:py(e.status,l),children:c?`${N.pointer} `:`${fy[e.status??`pending`]} `}),K(Y,{color:c?l.accent:e.status===`skipped`?l.warning:o?l.inactive:l.text,strikethrough:o,italic:e.status===`skipped`,children:u}),K(Y,{children:d}),q(Y,{color:c?l.accent:py(e.status,l),dimColor:!0,children:[` `,f]})]},e.id??r)});return q(Xt,{children:[s.hasMoreAbove&&K(Y,{dimColor:!0,children:B.t(`scroll.above`,{n:1})}),c,s.hasMoreBelow&&K(Y,{dimColor:!0,children:B.t(`scroll.below`,{n:1})})]})})()})]})}const hy=V.memo(function({counts:e,labels:t,currentPath:n=``,tabHint:r,cwd:i}){let a=R(),o=rv({counts:e,labels:t,currentPath:n}),s=ov(i),c=s?K(D,{type:`secondary`,dim:!0,wrap:`truncate-start`,children:s}):null;return o.length===0?K(J,{flexDirection:`row`,height:1,children:c&&q(Xt,{children:[K(J,{flexGrow:1}),c]})}):K(J,{flexDirection:`row`,height:1,children:q(Xt,{children:[o.map((e,t)=>{let n=e.hideCount?`${e.icon} ${e.label}`:`${e.icon} ${e.label} ${e.count}`;return e.tone===`success`?q(Y,{wrap:`truncate-end`,children:[t>0?` · `:``,K(Y,{color:a.success,bold:!0,children:n}),e.keyHint&&K(Y,{dimColor:!0,children:` ${e.keyHint}`})]},e.id):q(D,{type:e.tone===`warning`?`warning`:e.active?`accent`:`secondary`,wrap:`truncate-end`,children:[t>0?` · `:``,n,e.keyHint&&K(Y,{dimColor:!0,children:` ${e.keyHint}`})]},e.id)}),r&&iv(o)&&K(D,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:` · ${r}`}),c&&q(Xt,{children:[K(J,{flexGrow:1}),c]})]})})});function gy(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 _y(e=process.env,t=process.platform){let n=gy(e,t);return n===`Shift/Option/Fn`?`Shift (Option in iTerm2, Fn in Terminal.app)`:n}const vy=V.memo(function(e){let t=R(),{fullScreenPaneActive:n,tipVisible:r,tasksCollapsed:i,taskSelIndex:a,setTaskSelIndex:o,backgroundTasksOrdered:s,columns:c,openEditedFileFull:l,editedFileFullPath:u,subagents:d,cwd:f,showHome:p}=e,{taskStore:m}=n_(),h=X(m.store,e=>e.tasks),g=X(m.store,e=>e.tasksTitle),_=X(m.store,e=>e.editedFiles),v=X(m.store,e=>e.scheduleTasks),y=X(m.store,e=>e.clipboardChars),b=X(m.store,e=>e.clipboardFailed),x=X(m.store,e=>e.clipboardText),S=X(m.store,e=>e.clipboardJustCopied),C=X(m.store,e=>e.subagentContext),w=X(m.store,e=>e.backgroundTasks.length),{onBackgroundClose:ee,onBackgroundKill:T,onBackgroundViewOutput:E,onBackgroundApply:te,onBackgroundSwitch:ne,onBackgroundDelete:re,onToggleEditedFiles:ie,onToggleSubagents:ae,onToggleSchedule:oe}=h_(),{currentPath:D}=_e(),se=D===`/pane/tasks`&&h.length>0,O=D===`/pane/delegates`&&w>0,ce=D===`/pane/edited-files`,le=D===`/pane/subagents`,ue=D===`/pane/schedule`,k=D===`/pane/clipboard`&&x.length>0;if(n||C)return null;let de=r?I.none:I.tight,A=se||O||ce||le||ue||k;return q(J,{flexDirection:`column`,marginTop:de,children:[K(hy,{currentPath:D,cwd:p?void 0:f,tabHint:B.t(`signalBar.tabHint`),counts:{tasks:h.length,delegates:w,services:av(s),edited:_.length,subagents:d.length,clipboard:y,clipboardFailed:b,clipboardJustCopied:S},labels:{tasks:g??B.t(`task.title`),delegates:B.t(`bg.tasksTitle`),services:B.t(`signalBar.services`),edited:B.t(`panelTitle.editedFilesTitle`),subagents:B.t(`hint.subagents`),clipboard:B.t(`signalBar.clipboard`),clipboardFailed:B.t(`signalBar.clipboardFailed`,{modifier:_y()})}}),!A&&K(J,{height:1,flexShrink:0}),A&&q(J,{flexDirection:`column`,...Ke,borderColor:t.panelBorder,children:[se&&K(my,{tasks:h,title:g,collapsed:i,focused:!0,selectedIndex:a,onDismiss:l_,onSelectIndex:o}),O&&w>0&&K(ny,{tasks:s,columns:c,onClose:ee,onKill:T,onViewOutput:E,onApply:te,onSwitch:ne,onDelete:re,active:!0}),ce&&K(H_,{files:_,focused:!0,onDismiss:ie,onOpenFileFull:l,fullOpenPath:u}),le&&K(sy,{tasks:d,focused:!0,onDismiss:ae,onSwitch:ne,onViewOutput:E}),ue&&K(uy,{tasks:v,focused:!0,onDismiss:oe}),k&&K(dy,{text:x,focused:!0,columns:c,onDismiss:l_,onOpenViewer:()=>L()?.navigate(`/viewer/clipboard`,{state:{content:x}})})]})]})});function yy({items:e,focused:r,onDismiss:i,onLoad:a,onDelete:o,onDeleteMany:s,rows:c=24}){let l=R(),[u,d]=ga(`drafts`,e.length),f=W(0),[p,m]=G(new Set);if(E(`draft-pane`,(t,n)=>{if(n.escape)return p.size>0&&m(new Set),i?.(),!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 a?.(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?(s?.([...p]),m(new Set)):o?.(u),!0):!1},{isActive:r}),e.length===0&&!r)return null;if(!r)return q(J,{children:[K(Y,{color:l.special,children:`▸ `}),K(D,{type:`secondary`,children:B.t(`draft.sLabel`)}),q(D,{type:`secondary`,children:[` `,e.length]}),q(D,{type:`secondary`,dim:!0,children:[` `,t(`o`)]})]});let h=cy(u,e.length),g=Tt(e,h,n(e.length,c,7),f.current);return f.current=g.scrollTop,K(M,{header:q(J,{children:[K(Y,{color:l.secondary,bold:!0,children:B.t(`draft.sLabel`)}),q(D,{type:`secondary`,children:[` `,e.length]})]}),footer:K(C,{items:[[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.load`)],[`space`,B.t(`hint.check`)],[`d`,B.t(`hint.delete`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[e.length===0&&K(D,{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=A(e.text,51),s=new Date(e.savedAt).toLocaleString();return q(J,{flexDirection:`row`,children:[K(Y,{color:r?l.selection:l.inactive,children:r?Ae():Ft()}),K(D,{type:`secondary`,children:`${n+1}. `}),K(Y,{color:i?l.accent:l.inactive,children:i?`${N.bullet} `:`${N.todoPending} `}),K(Y,{color:a,bold:!0,children:e.name}),q(Y,{dimColor:!0,children:[` `,o]}),q(Y,{dimColor:!0,children:[` `,s]})]},e.id)}),g.fillerCount>0&&Array.from({length:g.fillerCount},(e,t)=>K(Y,{children:` `},`filler-${t}`))]})})}function by({items:e,focused:t,rows:r=24,onDismiss:i,closeConfirmOpen:a=!1,editOpen:o=!1,onDelete:s,onMove:c,onEditOpen:l}){let u=R(),[d,f]=ga(`queue`,e.length),[p,m]=G(!1),h=W(0);if(!t&&p&&m(!1),E(`queue-pane`,(t,n)=>p?t===` `||n.escape?(m(!1),!0):n.upArrow||n.tab&&n.shift?(c?.(d,-1),f(e=>Math.max(0,e-1)),!0):n.downArrow||n.tab&&!n.shift?(c?.(d,1),f(t=>Math.min(e.length-1,t+1)),!0):!0:n.escape?(i?.(),!0):Pe(`list-nav-up`,t,n,`queue`)?(f(e=>Math.max(0,e-1)),!0):Pe(`list-nav-down`,t,n,`queue`)?(f(t=>Math.min(e.length-1,t+1)),!0):n.tab&&!n.ctrl&&!n.meta?(f(t=>n.shift?Math.max(0,t-1):Math.min(e.length-1,t+1)),!0):t===` `?(e.length>0&&m(!0),!0):n.return?(e.length>0&&l?.(d),!0):t===`d`?(s?.(d),!0):!1,{isActive:t&&!a&&!o}),!t)return null;let g=cy(d,e.length),_=Tt(e,g,n(e.length,r,7),h.current);return h.current=_.scrollTop,K(M,{header:q(J,{children:[K(Y,{color:u.secondary,bold:!0,children:B.t(`queue.label`)}),q(D,{type:`secondary`,children:[` `,e.length]})]}),footer:K(C,{items:p?[[`${O.up}${O.down}`,B.t(`hint.move`)],[`space/Esc`,B.t(`hint.drop`)]]:[[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.edit`)],[`space`,B.t(`hint.grab`)],[`d`,B.t(`hint.delete`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.select`)]]}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[e.length===0&&K(D,{type:`secondary`,children:B.t(`queue.empty`)}),_.rows.map((e,t)=>{let n=_.scrollTop+t,r=n===g,i=r&&p,a=i?u.accent:r?u.selection:u.text,o=i?`⇅ `:r?Ae():Ft(),s=e.mode===`bash_async`?`!! `:e.mode===`bash`?`! `:e.mode===`memory`?`# `:` `,c=e.text.length>60?A(e.text,61):e.text;return q(J,{flexDirection:`row`,children:[K(D,{type:`secondary`,children:`${n+1}. `}),K(Y,{color:a,bold:r,children:o}),K(Y,{color:a,bold:r,children:s}),K(Y,{color:a,bold:r,children:c})]},n)}),Array.from({length:_.fillerCount},(e,t)=>K(Y,{children:` `},`filler-${t}`))]})})}function xy(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 Sy(e,t){return Math.max(1,(t??ie(e))-5-2)}function Cy(e,t){let n=Math.max(20,t-12);return e.map((e,t)=>({value:String(e.index),label:`${t+1}. ${A(e.text.replace(/\s+/g,` `),n)}`}))}function wy({messageStore:e,focused:t,rows:n=24,columns:r=80,onDismiss:i}){let a=xy(X(e.store,e=>e.messages));if(E(`prompt-log-pane`,(e,t)=>t.escape?(i?.(),!0):!!c(e,t),{isActive:t,ignoreRoute:!0}),!t)return null;let{maxRows:o,expanded:s,handleExpandKey:c}=_a(n),l=Sy(n,o),u=Cy(a,r);return K(M,{maxHeight:o,header:q(J,{children:[K(D,{type:`secondary`,bold:!0,children:B.t(`prompts.label`)}),q(D,{type:`secondary`,children:[` `,a.length]})]}),footer:K(C,{items:[[`+`,s?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.esc,B.t(`hint.close`)]]}),children:a.length===0?K(D,{type:`secondary`,children:B.t(`prompts.empty`)}):K(vt,{id:`prompt-log-list`,tabIndex:0,autoFocus:!0,options:u,maxVisible:l,compact:!0,onSelect:()=>{}})})}function Ty(e={}){let{columns:t=120,onEmptyBackspace:n,onClearText:r,onCommit:i}=e,[a,o]=G(``),[s,c]=G(0),u=qt((e,t)=>{o(e),c(t)},[]);return{text:a,offset:s,update:qt((e,t)=>{o(e),c(t)},[]),handleEditing:qt((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=je(e);return t&&u(a.slice(0,s)+t+a.slice(s),s+t.length),!0}if(o.leftArrow){let e=l.fromText(a,t,s).left();return u(e.text,e.offset),!0}if(o.rightArrow){let e=l.fromText(a,t,s).right();return u(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},d=Dt(l.fromText(a,t,s),c);return d?d.action===`clear_text`?(u(``,0),r?.(),!0):d.action===`submit`||d.action===`submit_force`?(i?.(),!0):(u(d.cursor.text,d.cursor.offset),!0):!1},[a,s,t,n,r,u])}}const Ey={send:`dialog`,bash:`bash`,bash_async:`bash_async`,memory:`memory`},Dy=[`input`,`sendNow`,`confirm`,`cancel`];function Oy({index:e,total:t,initialValue:n,mode:r,busy:i,columns:a=60,onSendNow:o,onConfirm:s,onCancel:c}){let[l,u]=G(`input`),{text:d,offset:f,update:p,handleEditing:m}=Ty({columns:a});V.useEffect(()=>{n&&p(n,n.length)},[]);let h=d.trim()===``,g=e=>{u(Dy[(Dy.indexOf(l)+e+Dy.length)%Dy.length])},_=()=>{if(l===`sendNow`){h||o(d);return}if(l===`confirm`){h||s(d);return}if(l===`cancel`){c();return}};E(`queue-edit-dialog`,(e,t)=>{if(t.return&&t.meta){h||o(d);return}if(t.escape){if(l===`input`&&d.length>0){p(``,0);return}c();return}if(t.tab||t.ctrl&&e===`n`){g(1);return}if(l!==`input`){if(t.leftArrow){g(-1);return}if(t.rightArrow){g(1);return}if(t.upArrow){u(`input`);return}if(t.downArrow){g(1);return}if(t.return){_();return}return}if(t.downArrow){g(1);return}if(t.upArrow){g(-1);return}if(t.return){h||u(`confirm`);return}return m(e,t)});let v=i?B.t(`queue.editSendNowHintBusy`):B.t(`queue.editSendNowHintIdle`);return q(M,{header:K(be,{children:B.t(`queue.editTitle`,{index:e,total:t})}),footer:K(C,{items:[[O.tab,B.t(`hint.quick`)],[`${O.up}${O.down}`,B.t(`hint.switch`)],[O.enter,B.t(`hint.confirm`)],[ct(),B.t(`queue.editSendNowButton`)],[O.esc,B.t(`hint.cancel`)]]}),children:[K(J,{marginTop:I.tight,flexDirection:`row`,children:K(mt,{value:d,offset:f,columns:a,mode:Ey[r],focused:l===`input`})}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`green`,label:B.t(`queue.editSendNowButton`),focused:l===`sendNow`,disabled:h}),K(P,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`queue.editConfirmButton`),focused:l===`confirm`,disabled:h}),K(P,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:l===`cancel`})]}),K(J,{marginTop:I.tight,children:K(D,{type:`secondary`,dim:!0,children:v})})]})}function ky(e,t){let n=t?.length?[...e,...t]:[...e];return{search:(e,t,r=50)=>(e?Mr(e,n).map(e=>e.entry):[...n].reverse()).slice(0,r).map(e=>({label:e,value:e,kind:`shortcut`}))}}function Ay({showHome:e,agentProcessing:t,hasTip:n}){return e||t||!n?0:3}function jy(e){let t=h_(),{currentPath:n,stack:r,navigate:i,goBack:a}=_e(),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:ee,sigilState:T,setSigilState:E,sigilApplyRef:te,readFileContent:ne,handleDraftLoad:re,onQueueEscConfirm:ie,queueEscSuppress:ae,queueCloseConfirm:oe,setQueueCloseConfirm:D,interruptConfirm:se,popQueuedConfirm:O,queueEditIndex:ce,setQueueEditIndex:le,scrollStore:ue,messageStore:k}=e,{taskStore:de}=n_(),A=X(de.store,e=>e.forcedUpgrade),j=X(de.store,e=>e.commands),fe=X(de.store,e=>e.needsSetup),pe=X(de.store,e=>e.ftueStage),me=X(de.store,e=>e.recentMentions),he=X(de.store,e=>e.drafts),ge=X(de.store,e=>e.queued),ve=zv(pe,fe),ye=Rv(pe),be=X(ue.store,e=>e.offset>0),[xe,Se]=G(x??[]),Ce=qt(e=>{Se(e),t.onHistoryPush?.(e)},[t]),M=Yt(()=>ky(xe,S),[xe,S]),we=()=>{le(null),n===`/pane/queue/edit`&&a()},N=qt((e,n,r)=>{if(t.onSubmit?.(e,n,r),ca(e,n,ve))return`rejected`},[t,ve]);return q(Xt,{children:[e.shadow&&K(uv,{}),T&&d&&K(J,{flexDirection:`column`,marginTop:I.tight,children:K(Lc,{sigil:T.sigil,initialQuery:T.query,registry:T.mode===`history`?M:d,active:n===`/pane/sigil`,rows:c,columns:Math.min(60,s-Be.borderInset),viewerColumns:s,readFileContent:ne,recentEntries:T.sigil===`@`?me:void 0,title:T.mode===`history`?B.t(`history.label`):void 0,onSelect:e=>{if(E(null),T.mode===`history`){y.current?.fill(e.value);return}te.current?.select(e),T.sigil===`@`&&t.onSigilSelect?.(e)},onClose:({deleteSigil:e})=>{E(null),te.current?.cancel(e)}})}),K(Gi,{columns:s-Be.borderInset,rows:c,disabled:!!A||oe||se||O,reviewing:be,idleTipVisible:!!e.idleTip,commands:j,placeholder:A?B.t(`prompt.upgradeRequired`):l?B.t(`prompt.working`):ve?B.t(ye??`prompt.setup`):B.t(`prompt.default`),onSubmit:N,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:Ce,onHistorySearch:m,historySearchOpen:T?.mode===`history`,residencyGovernor:C,registryRef:w,shellBackendRef:ee}),K(yy,{items:he,focused:n===`/pane/draft`,onDismiss:t.onToggleDraftPane,onLoad:re,onDelete:t.onDraftDelete,onDeleteMany:t.onDraftDeleteMany}),k&&n===`/pane/prompts`&&K(J,{flexDirection:`column`,marginTop:I.tight,children:K(wy,{messageStore:k,focused:!0,rows:c,columns:s,onDismiss:()=>t.onTogglePrompts?.()})}),o&&n===`/pane/queue`&&K(J,{flexDirection:`column`,marginTop:I.tight,children:K(by,{items:ge,focused:!0,rows:c,onDismiss:()=>{oe&&D(!1),t.onToggleQueuePane?.()},onEscConfirm:ie,escSuppress:ae,closeConfirmOpen:oe,editOpen:ce!==null,onDelete:t.onQueueDelete,onMove:t.onQueueMove,onEditOpen:e=>{le(e),i(`/pane/queue/edit`)}})}),n===`/pane/queue/edit`&&ce!==null&&ge[ce]&&K(Oy,{index:ce+1,total:ge.length,initialValue:ge[ce].text,mode:ge[ce].mode,busy:l,onSendNow:e=>{t.onQueueSendNow?.(ce,e),we()},onConfirm:e=>{t.onQueueEditText?.(ce,e),we()},onCancel:we}),n!==`/pane/queue`&&!n.startsWith(`/pane/queue/`)&&K(Ki,{items:ge})]})}function My(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 Ny(e){let t=e.replace(/\n/g,`↵`);return t.length<=16?`[@${t}:]`:`[@${t.slice(0,5)}…${t.slice(-5)}:]`}function Py(e,t){let n=e.split(`
|
|
52
|
+
`)}function Rl(e){let t=e.filter(e=>e!==null),n=Math.max(0,...t.map(e=>j(e.label)));return e.map(e=>{if(e===null)return``;let t=` `.repeat(Math.max(0,n-j(e.label))+1);return`${e.label}:${t}${e.value}`})}function zl(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 Bl({projectIndex:e,userIndex:t,onViewEntry:n,onForget:r,onDismiss:i,rows:a=24,columns:o=80}){let[s,c]=K(()=>zl(e,`project`)),[l,u]=K(()=>zl(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(Wl,{entry:d.entry,onConfirm:()=>void v(d.entry),onCancel:()=>f({mode:`list`})}):d.mode===`detail`?q(Hl,{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(Vl,{projEntries:s,userEntries:l,hasAny:h,defaultValue:p,onView:_,onForget:e=>f({mode:`confirm-forget`,entry:e}),onDismiss:i,rows:a})}function Vl({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(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`cmd.memoryDialogHintView`)],[`d`,V.t(`cmd.memoryDialogHintForget`)],[t.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(O,{header:q(xe,{children:V.t(`cmd.titleMemory`)}),footer:q(N,{items:[[t.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.memoryDialogEmptyHint`)})})})}function Hl({entry:e,content:t,loading:n,onForget:r,onBack:i,rows:a,columns:o}){let s=P(),c=e.source===`project`?V.t(`cmd.memoryDialogDetailSourceProject`):V.t(`cmd.memoryDialogDetailSourceUser`),l=V.t(`cmd.memoryDialogDetailTitle`,{name:e.name,source:c}),u=Yt(()=>(t??``).split(`
|
|
53
|
+
`),[t]);return n?q(Ul,{title:l,onForget:r,onBack:i}):q(yc,{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 Ul({title:e,onForget:n,onBack:r}){return k(`memory-dialog-detail-loading`,(e,t)=>{if(t.escape){r();return}e===`d`&&n()}),q(O,{header:q(xe,{children:e}),footer:q(N,{items:[[t.esc,V.t(`cmd.memoryDialogHintBack`)]]}),children:q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:`…`})})})}function Wl({entry:e,onConfirm:t,onCancel:r}){let i=P(),[a,o]=K(0);return k(`memory-dialog`,(e,i)=>{if(i.escape){r();return}if(i.leftArrow||i.rightArrow||i.tab){let e=n(i);e!==0&&o(t=>Xe(t,e,2));return}i.return&&(a===1?t():r())}),q(O,{header:q(xe,{children:V.t(`cmd.memoryDialogConfirmForgetTitle`)}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{color:i.warning,children:V.t(`cmd.memoryDialogConfirmForgetMessage`,{name:e.name})}),J(Y,{marginTop:R.section,flexDirection:`row`,gap:R.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 Gl(e){return e.replace(/\s+/g,` `).trim()}function Kl({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])}let f=e=>e.name;return q(z.Root,{title:s,headerAction:u,onValueChange:i,onCancel:a,rows:t,extensionHeightBudget:!0,defaultValue:e.lastSelectedValue,detailPlacement:`inline`,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.enabled||t.push(V.t(`cmd.extStateDisabled`)),e.description&&t.push(e.description),e.applies&&e.applies!==`live`&&t.push(V.t(`cmd.extAppliesNextTurn`));let n=t.length>0?Gl(t.join(` · `)):void 0;return q(z.Item,{value:`${e.category}:${e.id}`,detail:n,children:f(e)},`${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 ql={y:0,n:1,a:2};function Jl({tool:e,input:r,risk:i,onApprove:a,onDeny:o}){let s=P(),[c,l]=K(0),u=Je(i),d=e=>{e===0?a(`once`):e===1?o():a(`always`)};return k(`permission-dialog-buttons`,(e,t)=>{if(t.escape)return o(),!0;let r=n(t);if(r!==0)return l(e=>Xe(e,r,3)),!0;if(t.return)return l(e=>(d(e),e)),!0;let i=ql[e.toLowerCase()];return i===void 0?!1:(d(i),!0)}),J(O,{header:J(xe,{children:[V.t(`permission.allowTool`),` `,q(X,{color:s.permission,children:e}),` `,J(X,{color:u,children:[`(`,V.t(`permission.riskLabel`,{context:i}),`)`]})]}),footer:q(N,{items:[[`${t.left}${t.right}`,V.t(`hint.switch`)],[t.enter,V.t(`hint.confirm`)],[`y/n/a`,V.t(`hint.shortcut`)],[t.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:rt(r,200)})}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.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}),q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`permission.alwaysAllow`),focused:c===2})]})]})}function Yl(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const Xl={y:0,n:1,a:2},Zl={y:0,n:1};function Ql({command:e,risk:r,description:i,alwaysAllowLabel:a,onApprove:o,onDeny:s}){let c=P(),[l,u]=K(0),d=Je(r),f=a!=null,p=f?3:2,m=f?Xl:Zl,h=e=>{e===0?o(`once`):e===1?s():o(`always`)};k(`bash-permission-dialog-buttons`,(e,t)=>{if(t.escape)return s(),!0;let r=n(t);if(r!==0)return u(e=>Xe(e,r,p)),!0;if(t.return)return u(e=>(h(e),e)),!0;let i=m[e.toLowerCase()];return i===void 0?!1:(h(i),!0)});let{workDir:g}=Yl(e),_=rt(e,500);return J(O,{header:J(xe,{children:[V.t(`permission.bashCommand`),` `,J(X,{color:d,children:[`(`,V.t(`permission.riskLabel`,{context:r}),`)`]})]}),footer:q(N,{items:[[`${t.left}${t.right}`,V.t(`hint.switch`)],[t.enter,V.t(`hint.confirm`)],[f?`y/n/a`:`y/n`,V.t(`hint.shortcut`)],[t.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{color:c.suggestion,children:_})}),(g||i)&&J(Y,{marginTop:R.tight,flexDirection:`column`,children:[g&&q(X,{dimColor:!0,children:g}),i&&q(X,{dimColor:!0,children:i})]}),a&&J(Y,{marginTop:R.tight,children:[J(X,{dimColor:!0,children:[V.t(`permission.alwaysAllow`),`: `]}),q(X,{color:c.suggestion,children:a})]}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`permission.approve`),focused:l===0}),q(F,{variant:`solid`,brackets:!0,color:`red`,label:V.t(`permission.deny`),focused:l===1}),f&&q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`permission.alwaysAllow`),focused:l===2})]})]})}function $l({title:e,message:n,okLabel:r,onOk:i}){let a=Array.isArray(n)?n:[n];return mt({tabIndex:0,id:`alert-ok`,onAction:()=>(i(),!0),onEscape:()=>(i(),!0)}),k(`alert-dialog`,(e,t)=>t.return||t.escape?(i(),!0):!1),J(O,{header:q(xe,{children:e}),footer:q(N,{items:[[`${t.enter}/${t.esc}`,V.t(`hint.close`)]]}),children:[q(Y,{marginTop:R.tight,flexDirection:`column`,children:a.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:R.tight,children:q(F,{variant:`solid`,brackets:!0,color:`accent`,label:r??V.t(`common.okButton`),focused:!0})})]})}function eu({title:e,message:n,placeholder:r,initialValue:i=``,submitLabel:a,cancelLabel:o,columns:s=60,onSubmit:c,onCancel:l}){let[u,d]=K(i),[f,p]=K(i.length),[m,h]=K(`input`),g=n?Array.isArray(n)?n:[n]:[],_=(e,t)=>{d(e),p(t)};return k(`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=Nt(e);t&&_(u.slice(0,f)+t+u.slice(f),f+t.length);return}if((t.ctrl||t.meta)&&(t.leftArrow||t.rightArrow||t.home||t.end)){let e={name:t.home?`home`:t.end?`end`:t.leftArrow?`left`:`right`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},n=It(At.fromText(u,s,f),e);n&&_(n.cursor.text,n.cursor.offset);return}if(t.home||t.end){let e={name:t.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},n=It(At.fromText(u,s,f),e);n&&_(n.cursor.text,n.cursor.offset);return}if(t.leftArrow){let e=At.fromText(u,s,f).left();_(e.text,e.offset);return}if(t.rightArrow){let e=At.fromText(u,s,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=It(At.fromText(u,s,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(O,{header:q(xe,{children:e??V.t(`prompt.defaultTitle`)}),footer:q(N,{items:[[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]}),children:[g.length>0&&q(Y,{marginTop:R.tight,flexDirection:`column`,children:g.map((e,t)=>q(X,{wrap:`truncate-end`,children:e===``?` `:e},t))}),q(Y,{marginTop:R.tight,flexDirection:`row`,children:q(Tt,{value:u,offset:f,columns:s,mode:`dialog`,placeholder:r,focused:m===`input`,physicalCursor:m===`input`})}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:a??V.t(`prompt.submitButton`),focused:m===`submit`,disabled:u.trim()===``}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:o??V.t(`common.genericCancelButton`),focused:m===`cancel`})]})]})}function tu(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function nu(){let e=$n(tu()),t,n={};return{store:e,reset(){e.setState(tu())},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 ru(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const iu=e=>{try{return JSON.stringify(e).length}catch{return 0}};function au(e,t=Fn,n=Pn){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(iu),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,ru(i,a??`count`)]}function ou(){let e=$n({messages:[]}),t=t=>{e.setState({messages:au(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 su={"tool-guidance-injection":`Tool guidance`,"skill-loop-guidance-injection":`Skill loop guidance`,"runtime:environment":`Environment`,"runtime:memory-index":`Memory index`,"skill-catalog-injection":`Skill catalog`,"lesson-injection":`Lesson`,"lesson-relevant-hints":`Lesson relevant hints`,"internalize-skill-injection":`Internalize`,"memory-delta-injection":`Memory delta`,"todo-reminder-injection":`TODO reminder`,"doc-sync-reminder-injection":`Doc sync reminder`},cu=Object.values(bn).map(e=>({name:e.name,label:su[e.name]??e.name,lane:e.lane,priority:e.priority}));function lu(e){let t=cu.length,n=Math.round(e/t);return cu.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function uu(){let e=$n({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>Fn?n.slice(n.length-Fn):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:lu(t.overheadTokens)})}}}const du=Kt(void 0),fu=du.Provider;function pu(){let e=Jt(du);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}const mu=[`/pane/tasks`,`/pane/delegates`,`/pane/edited-files`,`/pane/subagents`,`/pane/schedule`,`/pane/clipboard`];function hu(e){return mu.includes(e)}const gu=[`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`clipboard`];function _u(e){return hu(e)||e===`/overlay/paste-confirm`}function vu(e){return e===`/`||hu(e)||e===`/overlay/paste-confirm`}function yu(e){return e===`prompt`||gu.includes(e)}function bu(){I()?.navigate(`/`,{reset:!0})}function xu(){let{currentPath:e}=pe();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 Su=`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.onStatusDismiss.onStatusRefresh.onPermissionDecision.onPopQueued.onPromptResolve.onProxyClear.onProxyTest.onProxyDismiss.onProxyOpenModal.onProxySubmitUrl.onProxyToggleEnabled.onPulseSurveyChange.onQuestionsResolve.onQueueDelete.onQueueEditText.onQueueMove.onQueueSendNow.onSelectResolve.onSessionSelect.onInstallCapability.onDismissCapabilityRecommendations.onShellAbort.onShellAskAi.onShellCopyOutput.onShellDismiss.onShortcutsDialogDismiss.onSigilSelect.onSubmit.onToast.onToggleDelegates.onToggleDraftPane.onToggleEditedFiles.onToggleNotifications.onToggleQueuePane.onTogglePrompts.onToggleSchedule.onToggleSubagents.onUpgrade.onViewDetails.onWithdrawPending.onWithdrawSteer`.split(`.`);function Cu(e){let t={};for(let n of Su)t[n]=e[n];return t}const wu=Kt(null),Tu=wu.Provider;function Eu(){let e=Jt(wu);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function Du(e){let{queuedItemsLength:t,subagentContext:n,backgroundOutput:r}=e,{onPaneOwnsViewportChange:i}=Eu(),{currentPath:a}=pe(),[o,s]=K(null),[c,l]=K(null),[u,d]=K(null),[f,p]=K(null),m=qt(e=>{p(e),e?I()?.ensure(`/viewer/shell-output`):I()?.goBack()},[]),[h,g]=K(null),[_,v]=K(!1),[y,b]=K(!1),[x,S]=K(!1),[C,ee]=K(!1),[te,w]=K(``),ne=!!n||o!==null||!!r||u!=null,re=qt(e=>{i?.(!0),s(e),l(e.path),I()?.ensure(`/pane/edited-files/full`)},[i]),ie=qt(()=>{i?.(u!=null),s(null),l(null),I()?.goBack()},[i,u]),T=qt(e=>{i?.(!0),d(e),I()?.ensure(`/pane/tasks/${e}`)},[i]),ae=qt(()=>{i?.(o!==null),d(null),I()?.goBack()},[i,o]);return W(()=>{let e=a.startsWith(`/pane/edited-files/`);!e&&o!==null&&(s(null),l(null));let t=a.startsWith(`/pane/tasks/`)?u:null;t!==u&&d(t),t!==u&&i?.(e||t!=null),h!==null&&a!==`/pane/queue/edit`&&(g(null),v(!1),b(!1)),f&&!a.startsWith(`/viewer/shell-output`)&&p(null)},[a,o,i,h,f,u]),W(()=>{h!==null&&h>=t&&(g(null),v(!1),b(!1),a===`/pane/queue/edit`&&I()?.goBack())},[a,h,t]),{editedFileFull:o,editedFileFullPath:c,openEditedFileFull:re,closeEditedFileFull:ie,taskDetailTurn:u,openTaskDetail:T,closeTaskDetail:ae,shellFullOutput:f,setShellFullOutput:m,queueEditIndex:h,setQueueEditIndex:g,queueCloseConfirm:_,setQueueCloseConfirm:v,queueEscSuppress:y,setQueueEscSuppress:b,interruptConfirm:x,setInterruptConfirm:S,popQueuedConfirm:C,setPopQueuedConfirm:ee,supplyDraft:te,setSupplyDraft:w,fullScreenPaneActive:ne}}let Ou=null;function ku(e){Ou=e}function Au(){return Ou}function ju(){let e=Ou;return e?.hasSelection()?(e.clear(),!0):!1}function Mu(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function Nu(e){let{showHome:t,tasksLength:n,backgroundTasksLength:r,editedFilesLength:i,subagentsLength:a,servicesCount:s,clipboardHasContent:c,shellExecutionRunning:l,routeDerivedOwner:u,currentPath:d,backgroundOutput:f,a2uiButtons:p,scrollOffset:m,editedFilesOpen:h,subagentsOpen:g,setTasksCollapsed:_,keybindingOverrides:v,promptSuggestions:y,promptSuggestionsShown:x,onFillPromptSuggestion:S,isPromptDraftEmpty:C,capabilityCardShown:ee,capabilityItemIds:w,onInstallCapability:ne,onDismissCapabilityRecommendations:re}=e,{onToggleDelegates:ie,onToggleEditedFiles:T,onToggleSubagents:ae,onToggleDraftPane:E,onToggleQueuePane:D,onShellAbort:O,onInterrupt:se,onA2uiAction:k,onCyclePermissionMode:A,onToggleNotifications:j,onSubmit:M}=Eu(),ce=qt(()=>{let e=I();e&&e.currentPath!==`/`&&e.navigate(`/`,{reset:!0})},[]),le=qt(e=>{let t=I();if(!t)return!1;let o=t.currentPath===`/home`?`/`:t.currentPath,l=[...n>0?[{path:`/pane/tasks`,activate:()=>{_(()=>!1),t.navigate(`/pane/tasks`,{replace:!0})}}]:[],...r>0?[{path:`/pane/delegates`,activate:()=>{ie?.()}}]:[],...s>0?[{path:`/overlay/services`,activate:()=>{t.ensure(`/overlay/services`)}}]:[],...i>0?[{path:`/pane/edited-files`,activate:()=>{T?.()}}]:[],...a>0?[{path:`/pane/subagents`,activate:()=>{ae?.()}}]:[],...c?[{path:`/pane/clipboard`,activate:()=>{t.navigate(`/pane/clipboard`,{replace:!0})}}]:[],{path:`/`,activate:()=>ce()}];return l.length<=1?!1:(l[(Math.max(0,l.findIndex(e=>o===e.path||o.startsWith(e.path+`/`)))+e+l.length)%l.length]?.activate(),!0)},[r,ce,i,ie,T,ae,a,n,c,s,_]);o(`app-global-prelude`,(e,t)=>{if(t.ctrl&&e===`c`){let e=ti();if(e&&e.text.length>0){let t=e.text.slice(e.start,e.end);return t&&(Au()?.copyText(t),ni()),!0}return l?(O?.(),!0):(se?.(),!0)}return!1}),b(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:_u(d)?(ju(),!1):ju()),te(`app-prompt-global`,(e,r)=>{if(r.tab&&!r.ctrl&&!r.meta&&!r.shift)return d.startsWith(`/dialog/`)||d.startsWith(`/viewer/`)||oe(d)||![`prompt`,`home`,`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`draft`,`queue`,`clipboard`].includes(u)||d===`/pane/delegates`&&f?!1:le(r.shift?-1:1);let i=C?.()??!0;if(i&&m===0&&p&&p.length>0&&e>=`1`&&e<=`9`&&!r.ctrl&&!r.meta){let t=p.find(t=>t.key===e);if(t&&k)return k(t.componentId,t.action,t.payload),!0}if(i&&t&&(x??(y!==void 0&&y.length>0))&&y&&y.length>0&&e>=`1`&&e<=`9`&&!r.ctrl&&!r.meta){let t=y[Number(e)-1];if(t&&S)return S(t),!0}if(i&&t&&ee&&w&&w.length>0&&!r.ctrl&&!r.meta){if(e===`0`)return re?.(),!0;if(e>=`1`&&e<=`9`){let t=w[Number(e)-1];if(t&&ne)return ne(t),!0}}if(d===`/`&&r.ctrl&&e===`k`)return!1;let a=lt(tt,u,e,r,v);if(a===`smart-close`)return d===`/pane/tasks`?(bu(),!0):h?(T?.(),!0):g?(ae?.(),!0):(n>0?(_(()=>!1),I()?.navigate(`/pane/tasks`,{replace:!0})):_(e=>!e),!0);let o={"cycle-permission-mode":()=>{A?.()},"toggle-notifications":()=>{j?.()},"toggle-edited-files":()=>{T?.()},"toggle-subagents":()=>{ae?.()},"toggle-delegates":()=>{ie?.()},"toggle-clipboard":()=>{if(d===`/pane/clipboard`){bu();return}c&&I()?.navigate(`/pane/clipboard`,{replace:!0})},"toggle-draft-pane":()=>{E?.()},"toggle-queue-pane":()=>{D?.()},"open-keybinding-panel":()=>{M?.(`/keybindings`,`send`)}};return a&&o[a]?(o[a](),!0):!1});let ue=Lt();tn((e,t)=>{ue.dispatch(e,t)})}function Pu(e){let t=e>=60,n=e>=76,r=e>=100;return{modelName:!0,occupancyBar:!0,hintText:!0,permissionMode:t,perfIndicator:t,notificationBell:t,scheduleIndicator:t,cost:n,providerUsage:n,language:n,pluginStatusItems:r,liveClock:r}}const Fu={narrow:0,medium:1,low:2};function Iu(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=Fu[e.entry.tier]-Fu[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 Lu=new Map;function Ru(e){let t=Lu.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},Lu.set(e,t)),t}function zu(){Lu.clear()}function Bu(e,t){let n=Ru(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 Vu(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 Hu(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=Vu(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=Yt(()=>Pu(t),[t]);return{footerVisible:f,badgeEntries:Yt(()=>{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=Yn(i,t);n&&e.push({id:`host:provider-usage`,text:n,color:Qn(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=Bu(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return Iu(e)},[f,n,r,i,c,a,o,u,s,t])}}function Uu(e){let{shellExecution:t,subagentContext:n,agentProcessing:r,paused:i,queuedItems:a,pendingEcho:o,pendingSteers:s,onRequestPopQueuedConfirm:c}=e,{onExitSubagentContext:l,onPopQueued:u,onInterrupt:d,onWithdrawPending:f,onWithdrawSteer:p}=Eu();return qt(()=>{if(!t){if(n){l?.();return}if(r||i){if(a.length>0){c?c():u?.();return}if(s&&s.length>0){let e=s[s.length-1];e&&p?.(e.id);return}if(o){f?.(o.text,o.mode);return}d?.();return}}},[t,n,l,r,i,a,o,s,u,d,f,p,c])}let Wu=null;function Gu(e){Wu=e}function Ku(){return Wu}function qu(){let[t,n]=K(null),r=G(null),i=qt(e=>{r.current=e,n(e),!e&&I()?.currentPath===`/pane/sigil`&&I()?.goBack()},[]),a=G(null),[o,s]=K(null),c=G(!1),[l,u]=K(null),d=G(null),f=qt((e,t,n)=>{a.current=n,i({sigil:e,query:t,mode:`sigil`}),I()?.navigate(`/pane/sigil`)},[]),p=qt(()=>{if(r.current?.mode===`history`){i(null);return}a.current=null,i({sigil:`#`,query:``,mode:`history`}),I()?.navigate(`/pane/sigil`)},[]);return W(()=>(Gu(p),()=>Gu(null)),[p]),{sigilState:t,setSigilState:i,sigilApplyRef:a,hadSigilFocusRef:c,chipContentViewerRequest:o,pasteContent:l,handleSigilTrigger:f,handleHistorySearch:p,handleChipReopen:qt((e,t,r)=>{a.current={select:r.select,cancel:()=>r.cancel()},n({sigil:`@`,query:``}),I()?.navigate(`/pane/sigil`)},[]),handleChipViewPaste:qt((t,n)=>{e(I(),y,!0),s({label:t,content:n,onDismiss:()=>{s(null),e(I(),y,!1)}})},[]),handleSigilClose:qt(()=>{i(null)},[]),handlePasteConfirmRequest:qt((t,n)=>{d.current=n,u(t),e(I(),_,!0)},[]),handlePasteConfirm:qt(()=>{d.current?.confirm(),d.current=null,u(null),e(I(),_,!1)},[]),handlePasteCancel:qt(()=>{d.current?.cancel(),d.current=null,u(null),e(I(),_,!1)},[])}}function Ju(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 Yu(){let e=$n({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 Zu(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function Qu(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function $u(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function ed({files:e,focused:n,onDismiss:r,onOpenFileFull:i,fullOpenPath:a=null,rows:o=24}){let s=P(),{expanded:c,handleExpandKey:l}=_a(o),[d,f]=ga(`editedFiles`,e.length),p=G(0);if(k(`edited-files-pane`,(t,n)=>{if(n.escape)return a===null?(I()?.navigate(`/`,{reset:!0}),r?.(),!0):!0;if(l(t,n))return!0;if(De(`list-nav-up`,t,n,`editedFiles`))return f(e=>Math.max(0,e-1)),!0;if(De(`list-nav-down`,t,n,`editedFiles`))return f(t=>Math.min(e.length-1,t+1)),!0;if(n.return){let t=e[d];return t&&i?.(t),!0}return!1},{isActive:n}),e.length===0)return null;let m=e.reduce((e,t)=>e+t.addedLines,0),h=e.reduce((e,t)=>e+t.removedLines,0),g=Math.min(d,e.length-1),_=Et(e,g,u(e.length,o,3,c?10:5),p.current);return p.current=_.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:s.special,children:B.itemActive+` `}),q(X,{color:n?s.text:s.inactive,children:V.t(`panelTitle.editedFilesTitle`)}),J(L,{type:`secondary`,children:[` `,V.t(`diff.fileCountLabel`,{count:e.length})]}),m>0&&J(X,{color:s.diffAdd,children:[` +`,m]}),h>0&&J(X,{color:s.diffRemove,children:[` -`,h]}),!n&&J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`v`)]}),n&&q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.view`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:R.section,flexDirection:`column`,children:[_.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),_.rows.map((e,t)=>{let r=_.scrollTop+t===g,i=r&&n?s.selection:s.inactive;return J(Y,{flexDirection:`row`,children:[q(X,{color:i,children:r?Mt():ke()}),J(X,{color:$u(e.operation,s),children:[Qu(e.operation),` `]}),q(X,{color:i,children:Zu(e.path)}),e.addedLines>0&&J(X,{color:s.diffAdd,children:[` +`,e.addedLines]}),e.removedLines>0&&J(X,{color:s.diffRemove,children:[` -`,e.removedLines]})]},`${e.path}-${e.timestamp}`)}),_.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function td(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:``,ftueStage:void 0,capabilityRecommendations:[],capabilityDismissed:!1,updateAvailable:void 0}}function nd(e={}){let t=$n(td(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(td(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())},setFtueStage(e){t.getState().ftueStage!==e&&(t.setState({ftueStage:e}),i())},setCapabilityRecommendations(e){t.setState({capabilityRecommendations:e}),i()},setUpdateAvailable(e){t.setState({updateAvailable:e}),i()},dismissCapabilityRecommendations(){t.getState().capabilityDismissed||(t.setState({capabilityDismissed:!0}),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 rd(){let e=$n({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 id(){let e=$n({session:void 0,memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]});return{store:e,reset(){e.setState({session:void 0,memory:void 0,memoryHistory:[],notify:void 0,indicatorLevel:`healthy`,pluginMetrics:[]})},setSession(t){e.setState({session:t})},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 ad(){let e=$n({view:null});return{store:e,setView(t){e.setState({view:t})}}}function od(){return{view:{configPath:`~/.otto/config.json`}}}function sd(){let e=$n(od());return{store:e,setView(t){e.setState({view:t})}}}function cd(e=Date.now){let t=$n({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 ld={categoryIndex:0,itemIndex:0,variantIndex:0};function ud(){let e=$n({...ld});return{store:e,reset(){e.setState({...ld})},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 dd(e){let{taskStore:t,budgetStore:n,perfStore:r,statusStore:i,cacheStore:a,proxyStore:o,compactionLogStore:s,galleryStore:c,streamStore:l}=e;return{taskStore:Yt(()=>t??nd(),[t]),budgetStore:Yt(()=>n??Yu(),[n]),perfStore:Yt(()=>r??rd(),[r]),statusStore:Yt(()=>i??id(),[i]),cacheStore:Yt(()=>a??ad(),[a]),proxyStore:Yt(()=>o??sd(),[o]),compactionLogStore:Yt(()=>s??cd(),[s]),galleryStore:Yt(()=>c??ud(),[c]),streamStore:Yt(()=>l??Tl(),[l])}}const fd={tasks:B.itemActive,delegates:B.service,services:B.serviceSignal,edited:B.edited,subagents:B.attention,clipboard:B.clipboard},pd={tasks:`K`,delegates:`P`,edited:`V`,subagents:`T`,clipboard:`G`},md=B.clipboard,hd={tasks:`/pane/tasks`,delegates:`/pane/delegates`,services:`/overlay/services`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function gd({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:`services`,count:e.services,label:t.services},{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=hd[t.id],i=r!==``&&(n===r||n.startsWith(`${r}/`));return t.id===`clipboard`&&e.clipboardJustCopied?{id:t.id,icon:md,label:t.label,count:t.count,active:i,keyHint:pd[t.id],tone:`success`}:{id:t.id,icon:fd[t.id],label:t.label,count:t.count,active:i,keyHint:pd[t.id]}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:fd.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,keyHint:pd.clipboard,tone:`warning`}),e}return r}function _d(e){return e.length>0}function vd(e){return e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService).length}function yd(e){if(!e)return;let t=process.env.HOME;return t&&(e===t||e.startsWith(t+`/`))?`~`+e.slice(t.length):e}const bd=[{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:`Shift+Enter newline; Option+Enter queues a follow-up (Ctrl+Q manages).`,zh:`Shift+Enter 换行;Option+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 /status for memory and rendering health; /diagnose for failures.`,zh:`/status 查看内存占用与渲染健康度,/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 xd({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,o]=K(!1),[s,c]=K(()=>Sd()),l=G(e);l.current=e;let u=G(0),[d,f]=K(0);if(me(`idle-tip-activity`,()=>{u.current+=1,f(u.current)},{isActive:e}),W(()=>{if(!e){o(!1);return}o(!1);let t=setTimeout(()=>{l.current&&o(!0)},r);return()=>{clearTimeout(t)}},[e,t,r,d]),W(()=>{if(!a)return;let e=setInterval(()=>{c(e=>(e+1)%bd.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let p=bd[s%bd.length];return p?n?p.zh:p.en:null}function Sd(){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)%bd.length}function Cd(){return q(Y,{children:q(X,{color:P().warning,children:`🕶 ${V.t(`welcome.shadowChip`)}`})})}function wd(){let e=P();return J(Y,{flexDirection:`column`,marginBottom:R.tight,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:R.tight,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 Td=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],Ed=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function Dd(e){let t=2*e;return 375+t+188+t}function Od(e){return 2*e}function kd(e,t){return Math.min(t,Math.floor(e/2)+1)}function Ad(e,t){let n=Od(t),r=e%Dd(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:kd(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:kd(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function jd(e){let t=e%16;return t<=8?t/8:(16-t)/8}function Md(e){return Math.floor(e/3)%Td.length}function Nd(e,t,n){let r=n===`light`?Ed:Td,i=Md(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function Pd(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 Fd(e,t,n,r,i,a,o){let s=i===`light`?Ed:Td,c=a.phase===`hold`?jd(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=Pd(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 Id=[`✦`,`✧`,`·`,`⋆`],Ld=[`~`,`°`,`·`,`˘`,`∼`],Rd=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],zd=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],Bd=[{left:1,phase:16}],Vd=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],Hd=[{left:3,phase:15},{left:10,phase:35}];function Ud(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 Wd(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 Gd(e,t){return Ld[Math.floor((e+t)/8)%Ld.length]}function Kd({isNight:e=!1}){let t=P(),{resolvedTheme:n}=et(),[r,i]=H.useState(0),a=ze();He(80,i);let o=e&&!a,s=!e&&!a,c=a?null:Ad(r,Rd[0].length),l=Md(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=Ud(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Id[n%Id.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=Wd(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Gd(r,e.phase)})},`ripple-${n}`)};return J(Y,{position:`relative`,flexDirection:`column`,children:[Rd.map((e,i)=>{let a=fl(r+i*3,e.length);return q(Y,{flexDirection:`row`,children:c&&c.phase!==`brand`?Fd(e,a,2,l,n,c,u).map((e,t)=>q(X,{bold:!0,color:e.color,children:e.text},t)):dl(e,a,2).map((e,n)=>q(X,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&zd.map((e,t)=>f(e,-1,t)),o&&Bd.map((e,t)=>f(e,Rd.length,t)),s&&Vd.map((e,t)=>p(e,-1,t)),s&&Hd.map((e,t)=>p(e,Rd.length,t))]})}const qd=[`provider`,`authentication`,`model`],Jd={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 Yd(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=Jd[e],r=qd.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:qd.length}}function Xd(e,t){return e||(t?`model`:void 0)}function Zd(e){return!e||e===`ready`||e===`first-prompt`?null:Jd[e].ctaKey}function Qd(e,t){return e===void 0?t:!(e===`ready`||e===`first-prompt`)}function $d(e,t,n){return t!==`first-prompt`||n||e.length===0?null:{items:e.slice(0,3)}}function ef({version:e=`0.1.0`,buildId:t,cwd:n,width:r,nickname:i,updateAvailable:a,weather:o,ftueStage:s,promptSuggestions:c,capabilityRecommendations:l,capabilityDismissed:u=!1,shadow:d=!1}){let f=P(),p=n?n.replace(process.env.HOME??`~`,`~`):void 0,m=r??process.stdout.columns??80,h=m>=60,g=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===`night`||g===`late`,[v]=H.useState(()=>{let e=new Date,t=V.language===`zh`?[`日`,`一`,`二`,`三`,`四`,`五`,`六`]:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],n=t[e.getDay()]??t[0],r=i?V.language===`zh`?`,${i}`:`, ${i}`:``;return V.t(`welcome.greeting`,{context:g,wday:n,who:r})}),y=v,b=V.t(`welcome.version`),x=V.t(`welcome.workspace`),S=Math.max(j(b),j(x))+4,C=Rd.map(e=>j(e)),ee=Math.max(...C),te=e=>` `.repeat(Math.max(0,ee-(C[e]??ee))),w=s?Yd(s,m):null,ne=(s===void 0||s===`ready`)&&c&&c.length>0?c.slice(0,3):[],re=$d(l??[],s,u);return q(Y,{flexDirection:`column`,children:J(Y,{flexDirection:`column`,paddingX:R.tight,paddingTop:R.section,...Ce,borderColor:f.panelBorder,children:[h&&J(Y,{marginBottom:R.tight,flexDirection:`row`,children:[q(Kd,{isNight:_}),J(Y,{flexDirection:`column`,marginLeft:R.loose,children:[J(Y,{flexDirection:`row`,children:[J(L,{type:`secondary`,children:[te(0),Re(b,S)]}),J(L,{type:`secondary`,children:[`v`,e]}),t!=null&&J(L,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]})]}),p&&J(Y,{flexDirection:`row`,children:[J(L,{type:`secondary`,children:[te(1),Re(x,S)]}),q(L,{type:`secondary`,children:p})]})]})]}),!h&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{flexDirection:`row`,children:[dl(`otto`,1).map((e,t)=>q(X,{bold:!0,color:e.bright?f.brandShimmer:f.brand,children:e.text},t)),q(L,{type:`secondary`,children:` ${Re(b,S)}`}),J(L,{type:`secondary`,children:[`v`,e]}),t!=null&&J(L,{type:`secondary`,dim:!0,children:[` `,`(build `,t,`)`]})]}),p&&J(Y,{flexDirection:`row`,children:[q(L,{type:`secondary`,children:` ${Re(x,S)}`}),q(L,{type:`secondary`,children:p})]})]}),a&&a.newer&&q(Y,{marginBottom:R.tight,children:q(X,{color:a.forced?f.warning:f.accent,children:a.forced?V.t(`update.forcedBanner`,{latest:a.latest}):V.t(`update.availableBanner`,{latest:a.latest})})}),q(Y,{marginBottom:R.tight,children:i&&y.includes(i)?J(X,{color:f.text,bold:!0,children:[y.slice(0,y.indexOf(i)),q(X,{color:f.accent,children:i}),y.slice(y.indexOf(i)+i.length)]}):q(X,{color:f.text,bold:!0,children:y})}),w&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{children:[q(X,{color:f.warning,bold:!0,children:V.t(w.titleKey)}),q(L,{type:`secondary`,children:` ${w.step}/${w.totalSteps}`})]}),w.hintKey&&q(L,{type:`secondary`,children:V.t(w.hintKey)}),q(X,{color:f.accent,children:V.t(w.ctaKey)})]}),ne.length>0&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`welcome.suggestionsLabel`)}),ne.map((e,t)=>J(Y,{flexDirection:`row`,children:[J(X,{color:f.accent,children:[` [`,t+1,`] `]}),q(L,{type:`secondary`,children:e})]},t))]}),re&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`capability.sectionTitle`)}),re.items.map((e,t)=>J(Y,{flexDirection:`row`,children:[J(X,{color:f.accent,children:[` [`,t+1,`] `]}),q(L,{type:`secondary`,children:V.t(e.reasonKey)})]},e.extensionId)),J(Y,{flexDirection:`row`,children:[q(X,{color:f.accent,children:` [0] `}),q(L,{type:`secondary`,children:V.t(`capability.actionNotNow`)})]})]}),d&&q(wd,{}),o&&J(Y,{marginBottom:R.tight,children:[J(X,{color:f.accent,children:[o.condition,` `,o.temp,`°C`]}),J(L,{type:`secondary`,children:[` `,o.location]})]})]})})}function tf(e,t){let n=Ca();W(()=>{if(n)return n.registerWheel(e)},[n,...t])}function nf({title:e,status:n,messages:r,streamText:i=``,rows:a=24,columns:o=80,onDismiss:s}){let c=P(),l=ee();k(`subagent-context-view`,(e,t)=>t.escape?(s?.(),!0):v(e,t)?!0:t.upArrow?(p(e=>x(e+1)),!0):t.downArrow?(p(e=>x(e-1)),!0):t.pageUp?(p(e=>x(e+y)),!0):t.pageDown?(p(e=>x(e-y)),!0):e===`g`&&!t.ctrl&&!t.meta?(p(b),!0):e===`G`&&!t.ctrl&&!t.meta?(p(0),!0):!1,{isActive:l?l.currentPath===`/subagent`:!0});let u=[];for(let e of r){let t=hc(e,o);t.length>0&&u.push(t)}let d=[];for(let e=0;e<u.length;e++)e>0&&d.push(``),d.push(...u[e]);let[f,p]=K(0),m=f===0,h=ul(i,o-dt.borderInset,3);if(m&&h.length>0){d.length>0&&d.push(``),d.push(`${B.bullet} ${V.t(`transcript.assistant`)} (${V.t(`prompt.streaming`)})`);for(let e of h)d.push(` ${e}`)}let{maxRows:g,expanded:_,handleExpandKey:v}=_a(a),y=Math.max(1,g-7),b=Math.max(0,d.length-y),x=e=>Math.min(b,Math.max(0,e)),S=b-x(f),C=d.slice(S,S+y);return tf(e=>p(t=>x(t+e*3)),[b]),J(O,{maxHeight:g,header:J(Y,{flexDirection:`column`,children:[q(X,{color:c.secondary,italic:!0,children:V.t(`subagent.header`,{title:e,status:n})}),q(X,{children:` `})]}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],...b>0?[[`${t.up}${t.down}`,V.t(`hint.scroll`)]]:[],[t.esc,V.t(`hint.back`)]]}),children:[q(Y,{height:1,children:S>0&&q(L,{type:`secondary`,dim:!0,children:V.t(`subagent.contextEarlierLines`,{n:S})})}),q(Y,{flexDirection:`column`,height:_?Math.max(1,g-7):void 0,children:C.map((e,t)=>q(X,{children:e},`${S+t}`))})]})}function rf(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=af(r.content);if(i)return sf(i,n)}return null}function af(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:of(e)?e.text:``).filter(Boolean).join(` `).trim():of(e)?String(e.text).trim():``}function of(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function sf(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function cf(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:rt(n,t)}function lf({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:cf(i,r)}function uf(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function df(e){let t=Eu(),{taskStore:n}=pu(),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.ftueStage),s=Z(n.store,e=>e.updateAvailable),c=Z(n.store,e=>e.pendingPermission),l=Z(n.store,e=>e.subagentContext),u=Z(n.store,e=>e.pendingEcho),d=Z(n.store,e=>e.pendingSteers),f=Z(e.scrollStore.store,e=>e.offset>0),[p,m]=H.useState(null);H.useEffect(()=>{l&&m(null)},[l]);let h=Z(e.scrollStore.store,e=>e.offset),g=Z(e.scrollStore.store,e=>e.atTranscriptTop),_=H.useMemo(()=>{if(!f)return null;let t=Math.max(0,e.messages.length-1-Math.floor(h/3));return rf(e.messages,t)},[f,h,e.messages]),v=Xd(o,a);if(e.welcome&&e.showHome)return q(ef,{version:e.welcome.version,buildId:e.welcome.buildId,cwd:e.welcome.cwd,width:e.columns,nickname:e.welcome.nickname,updateAvailable:s??e.welcome.updateAvailable,weather:e.welcome.weather,sessionList:i,onSessionSelect:t.onSessionSelect,ftueStage:v,promptSuggestions:e.promptSuggestions,capabilityRecommendations:e.capabilityRecommendations,capabilityDismissed:e.capabilityDismissed,shadow:e.shadow});let y=lf({sessionTitle:r,reviewing:f,turnPrompt:_,maxWidth:Math.max(1,e.columns-2)}),b=y.length>0&&!uf(y)&&!g,x=Math.max(1,e.rows-(b?1:0)-(p?1:0));return J(Y,{flexDirection:`column`,flexGrow:1,justifyContent:`flex-end`,children:[b&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:`${B.userPrompt} ${y}`})}),l?(()=>{let n=l;return q(nf,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:x,columns:e.columns,onDismiss:t.onExitSubagentContext})})():q(Xt,{children:q(Ml,{streamStore:e.streamStore,completedMessages:e.messages,columns:e.columns,rows:x,maxPreviewRows:e.fullScreenPaneActive?0:e.maxPreviewRows,suppressLive:e.fullScreenPaneActive||f,pendingEcho:u??null,scrollbackMode:e.scrollbackMode??!1,pendingSteers:d??[],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:m,renderReviewHint:!1,topbarReserved:b,pendingPermission:c??null,suppressSpinner:e.fullScreenPaneActive})}),p&&q(Y,{height:1,flexShrink:0,flexDirection:`row`,children:q(X,{dimColor:!0,children:p})})]})}const ff={running:B.todoActive,exited:B.check,killed:B.cross,failed:B.cross};function pf(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function mf(e){if((e.type??`process`)===`agent-session`)switch(e.agentStatus){case`running`:return B.todoActive;case`ready`:return B.attention;case`needs_input`:return B.attention;case`applied`:return B.check;default:return B.cross}return ff[e.status]}function hf(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 pf(e.status,t)}function gf({tasks:e,columns:n=80,onClose:r,onKill:i,onViewOutput:a,onApply:o,onSwitch:s,onDelete:c,active:l=!0,rows:d=24}){let f=P(),[p,m]=ga(`delegates`,e.length),h=G(0),{expanded:g,handleExpandKey:_}=_a(d??24),v=e.some(e=>(e.type??`process`)===`agent-session`?e.agentStatus===`running`:e.status===`running`),[,y]=K(0);W(()=>{if(!v)return;let e=setInterval(()=>y(e=>(e+1)%1e6),1e3);return()=>clearInterval(e)},[v]),k(`delegates-pane`,(t,n)=>{if(n.escape||t===`q`)return r?.(),!0;if(_(t,n))return!0;if(De(`list-nav-up`,t,n,`background`))return m(e=>Math.max(0,e-1)),!0;if(De(`list-nav-down`,t,n,`background`))return m(t=>Math.max(0,Math.min(e.length-1,t+1))),!0;let l=e[p],u=l?No(l):!1;return t===`k`&&u&&l?(i?.(l.id),!0):(t===`o`||n.return)&&l?(a?.(l.id),!0):t===`a`&&l?.type===`agent-session`&&l.agentStatus===`ready`&&l.diffStat?(o?.(l.id),!0):t===`s`&&l?.type===`agent-session`?(s?.(l.id),!0):t===`d`&&l&&!u?(c?.(l.id),!0):!1},{isActive:l,ignoreRoute:!0});let b=e.filter(No).length,x=Date.now(),S=Math.max(12,Math.min(48,n-28));if(!l){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:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`bg.tasksTitle`)}),J(L,{type:`secondary`,children:[` `,e.length]}),b>0&&J(L,{type:`secondary`,children:[` · `,V.t(`bg.runningSuffix`,{n:b})]}),J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`p`)]})]}),t&&J(Y,{flexDirection:`row`,children:[q(L,{type:`secondary`,children:`${B.pointer} `}),q(L,{type:`secondary`,children:rt(t.command,S).padEnd(S)}),J(L,{type:`secondary`,dim:!0,children:[` `,Lo(t,x)]})]})]})}let C=e[Math.min(p,e.length-1)],ee=(C?.type??`process`)===`agent-session`&&C?.agentStatus===`ready`&&!!C?.diffStat,te=!!C&&!No(C),w=Math.min(p,e.length-1),ne=[],re,ie=0;e.forEach((e,t)=>{let n=jo(e);n!==re&&(ie>0&&ne.push({type:`spacer`}),ne.push({type:`header`,category:n}),ie++,re=n),ne.push({type:`entry`,task:e,index:t})});let T=Et(ne,ne.findIndex(e=>e.type===`entry`&&e.index===w),u(ne.length,d,3,g?10:5),h.current);return h.current=T.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:f.special,children:B.itemActive+` `}),q(X,{color:f.text,children:V.t(`bg.tasksTitle`)}),J(L,{type:`secondary`,children:[` `,b>0?V.t(`bg.runningSuffix`,{n:b}):`${e.length} total`,e.length>b?` · ${V.t(`bg.doneSuffix`,{n:e.length-b})}`:``]}),q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[`k`,V.t(`hint.kill`)],[`o`,V.t(`hint.output`)],...ee?[[`a`,V.t(`hint.apply`)]]:[],...te?[[`d`,V.t(`hint.delete`)]]:[],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),q(Y,{marginLeft:R.section,flexDirection:`column`,children:e.length===0?q(L,{type:`secondary`,dim:!0,children:V.t(`bg.empty`)}):J(Xt,{children:[T.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),T.rows.map((e,t)=>{if(e.type===`spacer`)return q(X,{children:` `},`spacer-${t}`);if(e.type===`header`)return q(L,{type:`secondary`,dim:!0,children:V.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?Mt():ke()}),J(X,{color:hf(n,f),children:[mf(n),` `]}),q(X,{color:r?f.selection:f.inactive,children:rt(n.command,S).padEnd(S)}),(n.type??`process`)===`agent-session`&&n.model&&J(L,{type:`secondary`,dim:!0,children:[` `,String(n.model)]}),J(L,{type:`secondary`,dim:!0,children:[` `,Lo(n,x)]})]},n.id)}),T.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})]})}function _f({view:e,columns:n=80,rows:r,active:i=!0,onDismiss:a}){let o=P(),s=e.prompt!==void 0,c=e.messages!==void 0&&e.messages.length>0,l=!!e.diff?.trim(),u=(s?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),{maxRows:x,expanded:S,handleExpandKey:C}=_a(r??24),ee=Math.max(1,x-10);W(()=>m(0),[e.id,d]);let te=Math.max(8,n-dt.contentInset),w=[],ne=[];if(d===`diff`)w=(e.diff??``).split(`
|
|
54
|
+
`);else if(d===`prompt`)w=ho(e.prompt??``,te);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=hc(r,te);i.length!==0&&(t.length>0&&t.push(``),t.push(...i))}w=t,ne=e.streamText?ul(e.streamText,te-dt.borderInset,3):[]}let re=d===`prompt`,ie=d===`diff`,T=e=>e.startsWith(`+`)&&!e.startsWith(`+++`)?o.diffAdd:e.startsWith(`-`)&&!e.startsWith(`---`)?o.diffRemove:e.startsWith(`@@`)||e.startsWith(`diff --git`)?o.special:o.secondary,ae=e.status===`running`,E=H.useMemo(()=>{if(!_)return{flat:[],byLine:new Map};let e=[],t=new Map;for(let n=0;n<w.length;n++){let r=Na(Vs(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]),D=qo(w.length,ee,p),oe=w.slice(D.start,D.end),se=_?oe.map((e,t)=>{let n=D.start+t,r=E.byLine.get(n);if(!r||r.length===0)return e;let i=y>=0?E.flat[y]:void 0;return Ma(e,r,i&&i.line===n?i.range:void 0)}):oe,A=e.responseText?.split(`
|
|
55
|
+
`)[0],[j,M]=K(!1);tf(e=>m(t=>Math.max(0,t+e)),[]),k(`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=>E.flat.length>0?(t+e+E.flat.length)%E.flat.length:-1),!0}return t.length===1?(v(e=>e+t),b(-1),!0):!0}if(t===`/`&&!n.ctrl&&!n.meta)return g(!0),v(``),b(-1),!0;if(n.escape)return a?.(),!0;if((t===`[`||t===`]`)&&u&&!n.ctrl&&!n.meta){let e=t===`[`?-1:1;return f(t=>{let n=[...l?[`diff`]:[],...c?[`conversation`]:[],...s?[`prompt`]:[]];return n[(n.indexOf(t)+e+n.length)%n.length]??t}),!0}return C(t,n)?!0:t===`d`&&e.responseText?(M(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+ee),!0):n.pageDown?(m(e=>Math.max(0,e-ee)),!0):!1},{isActive:i,ignoreRoute:!0});let ce=[...l?[{key:`diff`,label:V.t(`find.tabDiff`)}]:[],...c?[{key:`conversation`,label:V.t(`find.tabConversation`)}]:[],...s?[{key:`prompt`,label:V.t(`find.tabPrompt`)}]:[]],le=u?ce.find(e=>e.key===d)?.label??``:``;return q(O,{header:J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[J(X,{color:pf(e.status,o),children:[ff[e.status],` `]}),q(X,{color:o.secondary,bold:!0,children:rt(e.command,Math.max(12,n-12))}),q(L,{type:`secondary`,children:ae?` ${B.statusDot} ${V.t(`bg.live`)}`:` ${V.t(`status.done`)}`}),le&&J(L,{type:`secondary`,dim:!0,children:[` · `,le]})]}),A&&J(Y,{flexDirection:`column`,children:[J(L,{type:`secondary`,dim:!0,children:[` `,A,` `,q(X,{color:o.suggestion,children:`[d] ${j?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)}`})]}),j&&e.responseText&&q(Y,{flexDirection:`column`,marginTop:R.tight,children:e.responseText.split(`
|
|
56
|
+
`).slice(1).map((e,t)=>q(X,{color:o.secondary,dimColor:!0,wrap:`truncate-end`,children:e===``?` `:e},t))})]}),q(X,{children:` `})]}),footer:q(N,{dim:!0,items:[...u?[[`[ ]`,ce.map(e=>e.label).join(` / `)]]:[],...e.responseText?[[`d`,j?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)]]:[],[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],...w.length>ee?[[`${t.up}${t.down}`,V.t(`hint.scroll`)]]:[],[t.esc,V.t(`hint.back`)]]}),maxHeight:x,children:J(Y,{flexDirection:`column`,height:S?ee:void 0,children:[h&&q(Y,{height:1,children:q(X,{color:o.selection,children:V.t(`transcript.findBar`,{query:_,count:E.flat.length})})}),q(X,{color:o.special,dimColor:!0,children:D.above>0?`↑ ${D.above}`:` `}),w.length===0?q(L,{type:`secondary`,dim:!0,children:V.t(`bg.noOutput`)}):se.map((e,t)=>ie?q(X,{color:T(e),wrap:`truncate-end`,children:e===``?` `:e},D.start+t):re?q(X,{color:o.secondary,wrap:`truncate-end`,children:e===``?` `:e},D.start+t):q(X,{wrap:`truncate-end`,children:e===``?` `:e},D.start+t)),ne.length>0&&q(Y,{flexDirection:`column`,children:ne.map((e,t)=>J(Y,{flexDirection:`row`,children:[q(X,{color:o.replyPrefix,children:t===0?`${B.bullet} `:` `}),q(X,{children:e})]},t))}),q(X,{color:o.special,dimColor:!0,children:D.below>0?`↓ ${D.below}`:` `})]})})}function vf(e){let t=e.agentStatus??`running`;return t===`running`||t===`ready`||t===`needs_input`}function yf(e,t){if(e.stall===`stalled`)return{ch:B.statusDot,color:t.error};if(e.stall===`warn`)return{ch:B.statusDot,color:t.warning};switch(e.agentStatus??`running`){case`running`:return{ch:B.statusDot,color:t.accent};case`needs_input`:return{ch:B.needsInput,color:t.warning};case`ready`:return{ch:B.check,color:t.success};case`applied`:return{ch:B.check,color:t.success};case`failed`:return{ch:B.cross,color:t.error};case`canceled`:return{ch:B.cross,color:t.inactive};default:return{ch:B.statusDot,color:t.inactive}}}function bf(e,t){return rt(e,Math.max(12,Math.min(48,t-46)))}function xf({tasks:e,focused:n,now:r,onDismiss:i,onSwitch:a,onViewOutput:o,rows:s=24,columns:c=80}){let l=P(),[d,f]=ga(`subagents`,e.length),p=G(0),{expanded:m,handleExpandKey:h}=_a(s);if(k(`subagents-pane`,(t,n)=>{if(n.escape)return I()?.navigate(`/`,{reset:!0}),i?.(),!0;if(h(t,n))return!0;if(De(`list-nav-up`,t,n,`subagents`))return f(e=>Math.max(0,e-1)),!0;if(De(`list-nav-down`,t,n,`subagents`))return f(t=>Math.min(e.length-1,t+1)),!0;let r=e[Math.max(0,Math.min(d,e.length-1))];return n.return?(r&&a?.(r.id),!0):t===`s`?(r&&o?.(r.id),!0):!1},{isActive:n}),e.length===0)return null;let g=r??Date.now(),_=e.filter(vf).length;if(!n)return J(Y,{children:[q(X,{color:l.special,children:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`subagent.sTitle`)}),J(L,{type:`secondary`,children:[` `,e.length,_>0?` · ${V.t(`subagent.sRunning`,{n:_})}`:``]}),J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`t`)]})]});let v=Math.min(d,e.length-1),y=Et(e,v,u(e.length,s,3,m?10:5),p.current);return p.current=y.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:l.special,children:B.itemActive+` `}),q(X,{color:l.text,children:V.t(`subagent.sTitle`)}),J(L,{type:`secondary`,children:[` `,e.length,_>0?` · ${V.t(`subagent.sRunning`,{n:_})}`:``]}),q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.switch`)],[`s`,V.t(`hint.view`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:R.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=yf(e,l),i=n?l.selection:void 0;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?l.selection:l.inactive,children:n?Mt():ke()}),J(X,{color:r.color,children:[r.ch,` `]}),q(X,{color:i??l.inactive,children:bf(e.command,c)}),e.model&&J(L,{type:`secondary`,children:[` `,e.model,e.modelDecidedBy?` (${e.modelDecidedBy})`:``]}),J(L,{type:`secondary`,children:[` `,Lo(e,g)]})]},e.id)}),y.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Sf(e,t){return t===0?0:Math.max(0,Math.min(e,t-1))}function Cf(e,t,n){let r=globalThis;r[`__ottoSchedule${e===`run`?`Run`:e===`toggle`?`Toggle`:`Remove`}Request`]=e===`toggle`?{taskId:t,...n}:t}function wf({tasks:e,focused:n,onDismiss:r,rows:i=24,columns:a=80}){let o=P(),[s,c]=ga(`schedule`,e.length),l=G(0),{expanded:d,handleExpandKey:f}=_a(i);if(k(`schedule-pane`,(t,n)=>{if(n.escape)return I()?.navigate(`/`,{reset:!0}),r?.(),!0;if(f(t,n))return!0;if(De(`list-nav-up`,t,n,`schedule`))return c(e=>Math.max(0,e-1)),!0;if(De(`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`?(Cf(`run`,i.id),!0):t===` `||t===`t`?(Cf(`toggle`,i.id,{enabled:!i.enabled}),!0):t===`d`?(Cf(`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:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`schedule.sLabel`)}),J(L,{type:`secondary`,children:[` `,e.length]}),J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`s`)]})]});let p=Sf(s,e.length),m=Math.min(32,Math.max(0,...e.map(e=>j(e.name))),Math.max(8,a-R.section-2-2-40)),h=Et(e,p,u(e.length,i,3,d?10:5),l.current);return l.current=h.scrollTop,J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:o.special,children:B.itemActive+` `}),q(X,{color:o.text,children:V.t(`schedule.sLabel`)}),J(L,{type:`secondary`,children:[` `,e.length]}),q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[`↵/r`,V.t(`hint.execute`)],[`t`,V.t(`hint.toggle`)],[`d`,V.t(`hint.delete`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:R.section,flexDirection:`column`,children:[e.length===0&&q(L,{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===p,r=e.lastFireFailed===!0,i=r?`!`:e.enabled?B.toggleOn:B.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`),u=r&&e.lastFireError?` (failed: ${e.lastFireError})`:``;return J(Y,{flexDirection:`row`,children:[q(X,{color:n?o.selection:o.inactive,children:n?Mt():ke()}),J(X,{color:a,children:[i,` `]}),q(X,{color:s??o.inactive,children:Re(rt(e.name,m),m)}),J(L,{type:`secondary`,children:[` `,l,` `,V.t(`schedule.next`),c]}),u&&q(X,{color:o.error,children:u})]},e.id)}),h.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Tf({text:e,focused:n,columns:r=80,onDismiss:i,onOpenViewer:a}){let o=P();if(k(`clipboard-pane`,(e,t)=>t.escape?(I()?.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:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`clipboard.paneTitle`)}),J(L,{type:`secondary`,children:[` `,V.t(`clipboard.charsLabel`,{count:s})]})]});let c=Math.max(10,r-R.section-2),l=e.split(`
|
|
57
|
+
`),u=l.slice(0,5),d=l.length-u.length;return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:o.special,children:B.itemActive+` `}),q(X,{color:o.text,children:V.t(`clipboard.paneTitle`)}),J(L,{type:`secondary`,children:[` `,V.t(`clipboard.charsLabel`,{count:s})]}),q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[t.enter,V.t(`clipboard.openHint`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),J(Y,{marginLeft:R.section,flexDirection:`column`,children:[u.map((e,t)=>q(L,{type:`secondary`,wrap:`truncate-end`,children:rt(e===``?` `:e,c)},t)),d>0&&q(L,{type:`secondary`,dim:!0,children:` ${B.ellipsis} ${d} more`})]})]})}const Ef={pending:B.todoPending,in_progress:B.todoActive,done:B.check,skipped:B.todoPending,failed:B.cross};function Df(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 Of({tasks:e,title:n,collapsed:r=!1,selectedIndex:i,focused:a=!1,rows:o,columns:s=80,onDismiss:c,onSelectIndex:l}){let d=P(),{expanded:f,handleExpandKey:p}=_a(o??24);k(`task-pane`,(t,n)=>n.escape?(c?.(),!0):p(t,n)?!0:De(`list-nav-up`,t,n,`taskFocus`)?(l?.(e=>Math.max(0,e-1)),!0):De(`list-nav-down`,t,n,`taskFocus`)?(l?.(t=>Math.min(e.length-1,t+1)),!0):!1,{isActive:a,ignoreRoute:!0});let m=G(0);if(e.length===0)return null;let h=e.filter(e=>e.status===`done`).length,g=e.filter(e=>e.status===`failed`).length,_=g>0?`${h}/${e.length}!`:`${h}/${e.length}`;return J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:d.special,children:B.itemActive+` `}),q(X,{color:d.text,children:n??V.t(`task.title`)}),J(X,{color:g>0?d.error:d.inactive,children:[` `,_]}),J(L,{type:`secondary`,children:[` `,Da(e.filter(e=>e.status===`done`||e.status===`skipped`).length/e.length,8)]}),r&&J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`task.collapsedHint`)]}),a&&!r&&q(Y,{marginLeft:R.tight,children:q(N,{dim:!0,items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]})})]}),!r&&q(Y,{marginLeft:R.section,flexDirection:`column`,children:(()=>{let t=[`pending`,`in_progress`,`done`,`skipped`,`failed`].map(e=>V.t(`task.statusLabel`,{context:e})),n=Math.max(0,...t.map(e=>j(e))),r=Math.max(8,s-R.section-2-2-n),c=Math.min(r,Math.max(0,...e.map(e=>j(e.title??``)))),l=u(e.length,o??24,3,f?10:5),p=Et(e,Math.min(i??0,e.length-1),l,m.current);m.current=p.scrollTop;let h=p.rows.map((e,t)=>{let r=p.scrollTop+t,o=e.status===`done`||e.status===`skipped`,s=a&&r===(i??0),l=Re(rt(e.title??``,c),c),u=V.t(`task.statusLabel`,{context:e.status??`pending`});return J(Y,{flexDirection:`row`,children:[q(X,{color:s?d.accent:Df(e.status,d),children:s?`${B.pointer} `:`${Ef[e.status??`pending`]} `}),q(X,{color:s?d.accent:e.status===`skipped`?d.warning:o?d.inactive:d.text,strikethrough:o,italic:e.status===`skipped`,children:l}),J(X,{color:s?d.accent:Df(e.status,d),dimColor:!0,children:[` `,Re(u,n)]})]},e.id??r)});return J(Xt,{children:[p.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),h,p.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})()})]})}const kf=H.memo(function({counts:e,labels:t,currentPath:n=``,tabHint:r,cwd:i}){let a=P(),o=gd({counts:e,labels:t,currentPath:n}),s=yd(i),c=s?q(L,{type:`secondary`,dim:!0,wrap:`truncate-start`,children:s}):null;return o.length===0?q(Y,{flexDirection:`row`,height:1,children:c&&J(Xt,{children:[q(Y,{flexGrow:1}),c]})}):q(Y,{flexDirection:`row`,height:1,children:J(Xt,{children:[o.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,{color:a.success,bold:!0,children:n}),e.keyHint&&q(X,{dimColor:!0,children:` ${e.keyHint}`})]},e.id):J(L,{type:e.tone===`warning`?`warning`:e.active?`accent`:`secondary`,wrap:`truncate-end`,children:[t>0?` · `:``,n,e.keyHint&&q(X,{dimColor:!0,children:` ${e.keyHint}`})]},e.id)}),r&&_d(o)&&q(L,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:` · ${r}`}),c&&J(Xt,{children:[q(Y,{flexGrow:1}),c]})]})})});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 jf(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 Mf=H.memo(function(e){let t=P(),{fullScreenPaneActive:n,tipVisible:r,tasksCollapsed:i,taskSelIndex:a,setTaskSelIndex:o,backgroundTasksOrdered:s,columns:c,openEditedFileFull:l,editedFileFullPath:u,subagents:d,cwd:f,showHome:p}=e,{taskStore:m}=pu(),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),ee=Z(m.store,e=>e.backgroundTasks.length),{onBackgroundClose:te,onBackgroundKill:w,onBackgroundViewOutput:ne,onBackgroundApply:re,onBackgroundSwitch:ie,onBackgroundDelete:T,onToggleEditedFiles:ae,onToggleSubagents:E,onToggleSchedule:D}=Eu(),{currentPath:oe}=pe(),O=oe===`/pane/tasks`&&h.length>0,se=oe===`/pane/delegates`&&ee>0,k=oe===`/pane/edited-files`,A=oe===`/pane/subagents`,j=oe===`/pane/schedule`,M=oe===`/pane/clipboard`&&x.length>0;if(n||C)return null;let ce=r?R.none:R.tight,le=O||se||k||A||j||M;return J(Y,{flexDirection:`column`,marginTop:ce,children:[q(kf,{currentPath:oe,cwd:p?void 0:f,tabHint:V.t(`signalBar.tabHint`),counts:{tasks:h.length,delegates:ee,services:vd(s),edited:_.length,subagents:d.length,clipboard:y,clipboardFailed:b,clipboardJustCopied:S},labels:{tasks:g??V.t(`task.title`),delegates:V.t(`bg.tasksTitle`),services:V.t(`signalBar.services`),edited:V.t(`panelTitle.editedFilesTitle`),subagents:V.t(`hint.subagents`),clipboard:V.t(`signalBar.clipboard`),clipboardFailed:V.t(`signalBar.clipboardFailed`,{modifier:jf()})}}),!le&&q(Y,{height:1,flexShrink:0}),le&&J(Y,{flexDirection:`column`,...Be,borderColor:t.panelBorder,children:[O&&q(Of,{tasks:h,title:g,collapsed:i,focused:!0,selectedIndex:a,columns:c,onDismiss:bu,onSelectIndex:o}),se&&ee>0&&q(gf,{tasks:s,columns:c,onClose:te,onKill:w,onViewOutput:ne,onApply:re,onSwitch:ie,onDelete:T,active:!0}),k&&q(ed,{files:_,focused:!0,onDismiss:ae,onOpenFileFull:l,fullOpenPath:u}),A&&q(xf,{tasks:d,focused:!0,columns:c,onDismiss:E,onSwitch:ie,onViewOutput:ne}),j&&q(wf,{tasks:v,focused:!0,columns:c,onDismiss:D}),M&&q(Tf,{text:x,focused:!0,columns:c,onDismiss:bu,onOpenViewer:()=>I()?.navigate(`/viewer/clipboard`,{state:{content:x}})})]})]})});function Nf({items:e,focused:n,onDismiss:r,onLoad:i,onDelete:a,onDeleteMany:o,rows:s=24}){let c=P(),[l,d]=ga(`drafts`,e.length),f=G(0),[p,m]=K(new Set);if(k(`draft-pane`,(t,n)=>{if(n.escape)return p.size>0&&m(new Set),r?.(),!0;if(De(`list-nav-up`,t,n,`draft`))return d(e=>Math.max(0,e-1)),!0;if(De(`list-nav-down`,t,n,`draft`))return d(t=>Math.min(e.length-1,t+1)),!0;if(n.return)return i?.(l),!0;if(t===` `){let t=e[Math.max(0,Math.min(l,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?.(l),!0):!1},{isActive:n}),e.length===0&&!n)return null;if(!n)return J(Y,{children:[q(X,{color:c.special,children:B.itemActive+` `}),q(L,{type:`secondary`,children:V.t(`draft.sLabel`)}),J(L,{type:`secondary`,children:[` `,e.length]}),J(L,{type:`secondary`,dim:!0,children:[` `,Fe(`o`)]})]});let h=Sf(l,e.length),g=Et(e,h,u(e.length,s,7),f.current);return f.current=g.scrollTop,q(O,{header:J(Y,{children:[q(X,{color:c.secondary,bold:!0,children:V.t(`draft.sLabel`)}),J(L,{type:`secondary`,children:[` `,e.length]})]}),footer:q(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.load`)],[`space`,V.t(`hint.check`)],[`d`,V.t(`hint.delete`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[e.length===0&&q(L,{type:`secondary`,children:V.t(`draft.sEmpty`)}),g.rows.map((e,t)=>{let n=g.scrollTop+t,r=n===h,i=p?.has(e.id)??!1,a=r?c.selection:c.text,o=rt(e.text,51),s=new Date(e.savedAt).toLocaleString();return J(Y,{flexDirection:`row`,children:[q(X,{color:r?c.selection:c.inactive,children:r?Mt():ke()}),q(L,{type:`secondary`,children:`${n+1}. `}),q(X,{color:i?c.accent:c.inactive,children:i?`${B.bullet} `:`${B.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 Pf({items:e,focused:n,rows:r=24,onDismiss:i,closeConfirmOpen:a=!1,editOpen:o=!1,onDelete:s,onMove:c,onEditOpen:l}){let d=P(),[f,p]=ga(`queue`,e.length),[m,h]=K(!1),g=G(0);if(!n&&m&&h(!1),k(`queue-pane`,(t,n)=>m?t===` `||n.escape?(h(!1),!0):n.upArrow||n.tab&&n.shift?(c?.(f,-1),p(e=>Math.max(0,e-1)),!0):n.downArrow||n.tab&&!n.shift?(c?.(f,1),p(t=>Math.min(e.length-1,t+1)),!0):!0:n.escape?(i?.(),!0):De(`list-nav-up`,t,n,`queue`)?(p(e=>Math.max(0,e-1)),!0):De(`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&&l?.(f),!0):t===`d`?(s?.(f),!0):!1,{isActive:n&&!a&&!o}),!n)return null;let _=Sf(f,e.length),v=Et(e,_,u(e.length,r,7),g.current);return g.current=v.scrollTop,q(O,{header:J(Y,{children:[q(X,{color:d.secondary,bold:!0,children:V.t(`queue.label`)}),J(L,{type:`secondary`,children:[` `,e.length]})]}),footer:q(N,{items:m?[[`${t.up}${t.down}`,V.t(`hint.move`)],[`space/Esc`,V.t(`hint.drop`)]]:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.edit`)],[`space`,V.t(`hint.grab`)],[`d`,V.t(`hint.delete`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.select`)]]}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[e.length===0&&q(L,{type:`secondary`,children:V.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?Mt():ke(),s=e.mode===`bash_async`?`!! `:e.mode===`bash`?`! `:e.mode===`memory`?`# `:` `,c=e.text.length>60?rt(e.text,61):e.text;return J(Y,{flexDirection:`row`,children:[q(L,{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 Ff(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 If(e,t){return Math.max(1,(t??ce(e))-5-2)}function Lf(e,t){let n=Math.max(20,t-12);return e.map((e,t)=>({value:String(e.index),label:`${t+1}. ${rt(e.text.replace(/\s+/g,` `),n)}`}))}function Rf({messageStore:e,focused:n,rows:r=24,columns:i=80,onDismiss:a}){let o=Ff(Z(e.store,e=>e.messages));if(k(`prompt-log-pane`,(e,t)=>t.escape?(a?.(),!0):!!c(e,t),{isActive:n,ignoreRoute:!0}),!n)return null;let{maxRows:s,handleExpandKey:c}=_a(r),l=If(r,s),u=Lf(o,i);return q(O,{maxHeight:s,header:J(Y,{children:[q(L,{type:`secondary`,bold:!0,children:V.t(`prompts.label`)}),J(L,{type:`secondary`,children:[` `,o.length]})]}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.esc,V.t(`hint.close`)]]}),children:o.length===0?q(L,{type:`secondary`,children:V.t(`prompts.empty`)}):q(vt,{id:`prompt-log-list`,tabIndex:0,autoFocus:!0,options:u,maxVisible:l,compact:!0,onSelect:()=>{}})})}function zf(e={}){let{columns:t=120,onEmptyBackspace:n,onClearText:r,onCommit:i}=e,[a,o]=K(``),[s,c]=K(0),[l,u]=K(null),d=qt((e,t,n=null)=>{o(e),c(t),u(n)},[]);return{text:a,offset:s,selection:l,update:qt((e,t)=>{o(e),c(t),u(null)},[]),handleEditing:qt((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 n=Nt(e);if(n){let e=At.fromText(a,t,s,l??void 0),r=e.hasSelection?e.replaceSelection(n):e.insert(n);d(r.text,r.offset)}return!0}if((o.ctrl||o.meta||o.alt||o.shift)&&(o.leftArrow||o.rightArrow||o.home||o.end)){let e={name:o.home?`home`:o.end?`end`:o.leftArrow?`left`:`right`,ctrl:o.ctrl??!1,shift:o.shift??!1,alt:o.meta??!1,meta:o.meta??!1},n=It(At.fromText(a,t,s,l??void 0),e);return n&&d(n.cursor.text,n.cursor.offset,n.cursor.hasSelection?n.cursor.selection:null),!0}if(o.home||o.end){let e={name:o.home?`home`:`end`,ctrl:!1,shift:o.shift??!1,alt:!1,meta:!1},n=It(At.fromText(a,t,s,l??void 0),e);return n&&d(n.cursor.text,n.cursor.offset,n.cursor.hasSelection?n.cursor.selection:null),!0}if(o.leftArrow){let e=At.fromText(a,t,s).left();return d(e.text,e.offset),!0}if(o.rightArrow){let e=At.fromText(a,t,s).right();return d(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:o.shift??!1,alt:o.meta??!1,meta:o.meta??!1},u=It(At.fromText(a,t,s,l??void 0),c);return u?u.action===`clear_text`?(d(``,0),r?.(),!0):u.action===`submit`||u.action===`submit_force`?(i?.(),!0):(d(u.cursor.text,u.cursor.offset,u.cursor.hasSelection?u.cursor.selection:null),!0):!1},[a,s,t,n,r,d])}}const Bf={send:`dialog`,bash:`bash`,bash_async:`bash_async`,memory:`memory`},Vf=[`input`,`sendNow`,`confirm`,`cancel`];function Hf({index:e,total:n,initialValue:r,mode:i,busy:a,columns:o=60,onSendNow:s,onConfirm:c,onCancel:l}){let[u,d]=K(`input`),{text:f,offset:p,selection:m,update:h,handleEditing:g}=zf({columns:o});H.useEffect(()=>{r&&h(r,r.length)},[]);let _=f.trim()===``,v=e=>{d(Vf[(Vf.indexOf(u)+e+Vf.length)%Vf.length])},y=()=>{if(u===`sendNow`){_||s(f);return}if(u===`confirm`){_||c(f);return}if(u===`cancel`){l();return}};k(`queue-edit-dialog`,(e,t)=>{if(t.return&&t.meta){_||s(f);return}if(t.escape){if(u===`input`&&f.length>0){h(``,0);return}l();return}if(t.tab||t.ctrl&&e===`n`){v(1);return}if(u!==`input`){if(t.leftArrow){v(-1);return}if(t.rightArrow){v(1);return}if(t.upArrow){d(`input`);return}if(t.downArrow){v(1);return}if(t.return){y();return}return}if(t.downArrow){v(1);return}if(t.upArrow){v(-1);return}if(t.return){_||d(`confirm`);return}return g(e,t)});let b=a?V.t(`queue.editSendNowHintBusy`):V.t(`queue.editSendNowHintIdle`);return J(O,{header:q(xe,{children:V.t(`queue.editTitle`,{index:e,total:n})}),footer:q(N,{items:[[t.tab,V.t(`hint.quick`)],[`${t.up}${t.down}`,V.t(`hint.switch`)],[t.enter,V.t(`hint.confirm`)],[gt(),V.t(`queue.editSendNowButton`)],[t.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:R.tight,flexDirection:`row`,children:q(Tt,{value:f,offset:p,columns:o,mode:Bf[i],focused:u===`input`,selection:m})}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`green`,label:V.t(`queue.editSendNowButton`),focused:u===`sendNow`,disabled:_}),q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`queue.editConfirmButton`),focused:u===`confirm`,disabled:_}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:u===`cancel`})]}),q(Y,{marginTop:R.tight,children:q(L,{type:`secondary`,dim:!0,children:b})})]})}function Uf(e,t){let n=t?.length?[...e,...t]:[...e];return{search:(e,t,r=50)=>(e?wr(e,n).map(e=>e.entry):[...n].reverse()).slice(0,r).map(e=>({label:e,value:e,kind:`shortcut`}))}}function Wf({showHome:e,agentProcessing:t,hasTip:n}){return e||t||!n?0:3}function Gf(e){let t=Eu(),{currentPath:n,stack:r,navigate:i,goBack:a}=pe(),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:ee,shellBackendRef:te,sigilState:w,setSigilState:ne,sigilApplyRef:re,readFileContent:ie,handleDraftLoad:T,onQueueEscConfirm:ae,queueEscSuppress:E,queueCloseConfirm:D,setQueueCloseConfirm:oe,interruptConfirm:O,popQueuedConfirm:se,queueEditIndex:k,setQueueEditIndex:A,scrollStore:j,messageStore:M}=e,{taskStore:ce}=pu(),le=Z(ce.store,e=>e.forcedUpgrade),ue=Z(ce.store,e=>e.commands),de=Z(ce.store,e=>e.needsSetup),fe=Z(ce.store,e=>e.ftueStage),me=Z(ce.store,e=>e.recentMentions),he=Z(ce.store,e=>e.drafts),ge=Z(ce.store,e=>e.queued),_e=Qd(fe,de),ve=Zd(fe),ye=Z(j.store,e=>e.offset>0),[N,be]=K(x??[]),xe=qt(e=>{be(e),t.onHistoryPush?.(e)},[t]),Se=Yt(()=>Uf(N,S),[N,S]),Ce=()=>{A(null),n===`/pane/queue/edit`&&a()},we=qt((e,n,r)=>{if(t.onSubmit?.(e,n,r),ca(e,n,_e))return`rejected`},[t,_e]);return J(Xt,{children:[e.shadow&&q(Cd,{}),w&&d&&q(Y,{flexDirection:`column`,marginTop:R.tight,children:q(Lc,{sigil:w.sigil,initialQuery:w.query,registry:w.mode===`history`?Se:d,active:n===`/pane/sigil`,rows:c,columns:Math.min(60,s-dt.borderInset),viewerColumns:s,readFileContent:ie,recentEntries:w.sigil===`@`?me:void 0,title:w.mode===`history`?V.t(`history.label`):void 0,onSelect:e=>{if(ne(null),w.mode===`history`){y.current?.fill(e.value);return}re.current?.select(e),w.sigil===`@`&&t.onSigilSelect?.(e)},onClose:({deleteSigil:e})=>{ne(null),re.current?.cancel(e)}})}),q(Ui,{columns:s-dt.borderInset,rows:c,disabled:!!le||D||O||se,reviewing:ye,idleTipVisible:!!e.idleTip,commands:ue,placeholder:le?V.t(`prompt.upgradeRequired`):l?V.t(`prompt.working`):_e?V.t(ve??`prompt.setup`):V.t(`prompt.default`),onSubmit:we,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:xe,onHistorySearch:m,historySearchOpen:w?.mode===`history`,residencyGovernor:C,registryRef:ee,shellBackendRef:te}),q(Nf,{items:he,focused:n===`/pane/draft`,onDismiss:t.onToggleDraftPane,onLoad:T,onDelete:t.onDraftDelete,onDeleteMany:t.onDraftDeleteMany}),M&&n===`/pane/prompts`&&q(Y,{flexDirection:`column`,marginTop:R.tight,children:q(Rf,{messageStore:M,focused:!0,rows:c,columns:s,onDismiss:()=>t.onTogglePrompts?.()})}),o&&n===`/pane/queue`&&q(Y,{flexDirection:`column`,marginTop:R.tight,children:q(Pf,{items:ge,focused:!0,rows:c,onDismiss:()=>{D&&oe(!1),t.onToggleQueuePane?.()},onEscConfirm:ae,escSuppress:E,closeConfirmOpen:D,editOpen:k!==null,onDelete:t.onQueueDelete,onMove:t.onQueueMove,onEditOpen:e=>{A(e),i(`/pane/queue/edit`)}})}),n===`/pane/queue/edit`&&k!==null&&ge[k]&&q(Hf,{index:k+1,total:ge.length,initialValue:ge[k].text,mode:ge[k].mode,busy:l,onSendNow:e=>{t.onQueueSendNow?.(k,e),Ce()},onConfirm:e=>{t.onQueueEditText?.(k,e),Ce()},onCancel:Ce}),n!==`/pane/queue`&&!n.startsWith(`/pane/queue/`)&&q(Wi,{items:ge})]})}function Kf(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 qf(e){let t=e.replace(/\n/g,`↵`);return t.length<=16?`[@${t}:]`:`[@${t.slice(0,5)}…${t.slice(-5)}:]`}function Jf(e,t){let n=e.split(`
|
|
99
58
|
`);return n.length<=t?e:`${n.slice(0,t).join(`
|
|
100
|
-
`)}\n${
|
|
101
|
-
`),[e]);return
|
|
102
|
-
`),wrapMode:`pre-wrap`}]:kc(`${e.fullText.title}.md`,e.fullText.content,n,
|
|
103
|
-
`),[i]),o=r===`/viewer/clipboard/find`;return K(yc,{lines:a,rows:e,columns:t,wrapMode:`pre-wrap`,header:q(J,{flexDirection:`row`,justifyContent:`space-between`,children:[K(be,{children:B.t(`clipboard.viewerTitle`)}),K(Y,{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=L();t&&(e&&t.currentPath===`/viewer/clipboard`?t.navigate(`/viewer/clipboard/find`):!e&&t.currentPath===`/viewer/clipboard/find`&&t.goBack())}})}function Qy({req:e,rows:t,columns:n,active:r=!0}){let i=R(),o=(a()?.currentPath??`/`)===`/viewer/help/find`;return K(yc,{lines:e.lines,rows:t,columns:n,wrapMode:`truncate`,header:K(J,{children:K(Y,{color:i.selection,children:e.title})}),onDismiss:e.onDismiss,initialScroll:`top`,active:r,contentKey:e.title,findActive:o,onFindModeChange:e=>{let t=L();t&&(e&&t.currentPath===`/viewer/help`?t.navigate(`/viewer/help/find`):!e&&t.currentPath===`/viewer/help/find`&&t.goBack())}})}function $y({rows:e,columns:t}){let{goBack:n}=_e(),r=he(`/viewer/help`),i=W(!1),a=W(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 K(Qy,{req:{...r,onDismiss:o},rows:e,columns:t,active:!0})}function eb({onDismiss:e}){let t=pe();return t?K(Ee,{title:t.title,lines:t.lines,onDismiss:e,action:t.action,lineTones:t.lineTones,dataListEntries:t.dataListEntries}):null}function tb({title:e,description:t,placeholder:n,mask:r,defaultValue:i,onSubmit:a,onCancel:o,columns:s=60,actionButton:c,onActionButton:l}){let u=R(),{text:d,offset:f,update:p,handleEditing:m}=Ty({columns:s,onCommit:()=>a(d)});return U(()=>{i&&p(i,i.length)},[]),ee({tabIndex:0,id:`input-field`,onAction:()=>(a(d),!0),onEscape:()=>d.length===0?(o?.(),!0):(p(``,0),!0)}),E(`input-dialog`,(e,t)=>{if(t.ctrl&&e===`o`&&c&&l){l();return}if(t.escape&&d.length===0){o?.();return}return m(e,t)}),q(M,{header:e?K(be,{children:e}):void 0,footer:K(C,{items:c?[[`Ctrl+O`,c.label],[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.cancel`)]]:[[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.cancel`)]]}),children:[e&&K(J,{marginTop:I.tight}),t&&t.length>0&&K(J,{flexDirection:`column`,marginBottom:I.tight,children:t.map((e,t)=>K(Y,{color:u.text,wrap:`wrap`,children:e},t))}),K(J,{flexDirection:`row`,children:K(mt,{value:d,offset:f,columns:s,mode:`dialog`,placeholder:n,mask:r,focused:!0,physicalCursor:!0})}),c&&q(J,{marginTop:I.tight,flexDirection:`row`,children:[K(D,{type:`secondary`,children:` `}),K(P,{variant:`solid`,brackets:!0,color:`accent`,label:c.label,focused:!1})]})]})}function nb({onSubmit:e,onCancel:t,onAction:n,columns:r}){let i=pe(),a=W(t);return a.current=t,U(()=>()=>{a.current()},[]),i?K(tb,{title:i.title,description:i.description,placeholder:i.placeholder,mask:i.mask,defaultValue:i.defaultValue,columns:Math.min(60,r-Be.borderInset),onSubmit:e,onCancel:t,actionButton:i.actionButton,onActionButton:n}):null}const rb=[{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 ib(e){let t=new Map;function n(n,r){for(let i of n){if(t.has(i.commandId))continue;let n=Ie(i.commandId,i.predicate,e);t.set(i.commandId,{commandId:i.commandId,description:i.description,group:r,defaultPredicate:i.predicate,effectivePredicate:n,isOverridden:!ab(n,i.predicate),isUnassigned:wt(n)})}}return n(Ve,`global`),n(yt,`navigation`),[...t.values()]}function ab(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 ob(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 sb(e=`project`){return{mode:`list`,searchQuery:``,selectedIndex:0,writeTarget:e}}function cb(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=lb(t);if(!n)return i;let a=ft(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 lb(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 ub(e){if(wt(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 db(e,t){if(!t.upArrow&&!t.downArrow)return[];let n=[];for(let t of yt)t.commandId===e&&(t.predicate.upArrow||t.predicate.downArrow||(t.predicate.input?n.push(t.predicate.input):t.predicate.key===`tab`&&n.push(ub(t.predicate))));return n}function fb(e,t){if(e.isOverridden&&!e.isUnassigned)return ub(e.effectivePredicate);let n=db(e.commandId,e.defaultPredicate);return n.length>0?[ub(e.defaultPredicate),...n].join(` / `):ub(e.defaultPredicate)}function pb({overrides:e,onSave:t,onSaveReplace:n,onReset:r,onResetAll:i,onDismiss:a}){let o=R(),[s,c]=G(()=>sb(`project`)),[l,u]=G(!1),d=Yt(()=>ib(e),[e]),f=Yt(()=>ob(d,s.searchQuery),[d,s.searchQuery]),p=qt(o=>{c(s=>{let c=cb(s,o,f,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})},[f,e,a,t,n,r,i]);return E(`keybinding-panel-dialog`,(e,t)=>{if(l){if(t.escape){u(!1);return}if(t.return){p({type:`resetAll`}),u(!1);return}return}if(s.mode===`recording`&&s.pendingConflict){if(t.escape){p({type:`cancelConflict`});return}if(t.return){p({type:`confirmConflict`});return}return}if(s.mode===`recording`){if(t.escape){p({type:`cancelRecording`});return}p({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(s.mode===`list`){if(t.escape){s.searchQuery?p({type:`setSearch`,query:``}):p({type:`close`});return}if(t.ctrl&&e===`r`){u(!0);return}if(e===`r`&&!t.ctrl&&!t.meta){p({type:`resetSingle`});return}if(e&&e.length===1&&!t.ctrl&&!t.meta&&/^[a-zA-Z0-9]$/.test(e)){p({type:`setSearch`,query:s.searchQuery+e});return}if(t.delete||e===``&&t.backspace){s.searchQuery.length>0&&p({type:`setSearch`,query:s.searchQuery.slice(0,-1)});return}}}),l?K(M,{header:K(be,{children:`快捷键设置`}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[K(Y,{color:o.warning,children:`确认清空全部快捷键覆盖设置,恢复为默认值?`}),q(J,{marginTop:I.section,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:!1,color:`gray`}),K(P,{variant:`solid`,brackets:!0,label:B.t(`confirm.reset`),focused:!0,color:`red`})]})]})}):s.mode===`recording`?K(hb,{entries:f,selectedIndex:s.selectedIndex,recordingCommandId:s.recordingCommandId,pendingConflict:s.pendingConflict,searchQuery:s.searchQuery,writeTarget:s.writeTarget}):K(mb,{entries:f,searchQuery:s.searchQuery,writeTarget:s.writeTarget,onEnterRecording:()=>p({type:`startRecording`}),onMoveUp:()=>p({type:`moveUp`}),onMoveDown:()=>p({type:`moveDown`}),onDismiss:a})}function mb({entries:e,searchQuery:t,writeTarget:n,onEnterRecording:r,onDismiss:i}){let a=R(),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:`系统保留(${rb.length})`,items:rb.map(e=>({commandId:e.commandId,description:e.description,group:`reserved`,defaultPredicate:{},effectivePredicate:{},isOverridden:!1,isUnassigned:!1}))}],s=n===`global`?`全局配置`:`项目配置`;return K(z.Root,{title:`快捷键设置 写入:${s}`,subtitle:t?`搜索:"${t}"`:void 0,onCancel:i,onValueChange:()=>{r()},onKey:(e,t,n)=>!1,footer:q(Xt,{children:[K(C,{items:[[`${O.up}${O.down}`,`选择`],[O.enter,`修改键位`],[`r`,`重置当前`],[`Ctrl+R`,`全部重置`],[O.esc,`关闭`]]}),`
|
|
104
|
-
`,q(D,{type:`secondary`,dim:!0,children:[`搜索:直接输入字符筛选 · 写入目标:`,s,`(按 t 切换)`]})]}),children:K(z.Content,{children:o.map(e=>q(z.Group,{children:[K(z.Label,{children:e.label}),e.group===`reserved`?rb.map(e=>K(z.Item,{value:e.commandId,disabled:!0,trailingLabel:e.keyLabel,trailingColor:a.inactive,children:e.description},e.commandId)):e.items.map(e=>{let t=fb(e,void 0),n=e.isOverridden&&!e.isUnassigned,r=e.isUnassigned;return K(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 hb({entries:e,selectedIndex:t,recordingCommandId:n,pendingConflict:r,searchQuery:i,writeTarget:a}){let o=R(),s=a===`global`?`全局配置`:`项目配置`,c=r?e.find(e=>e.commandId===r.conflictsWith):void 0;return K(M,{header:K(be,{children:`快捷键设置 写入:${s}`}),footer:K(C,{items:r?[[O.enter,`确认替换`],[O.esc,`取消`]]:[[O.esc,`取消录制`]]}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[i&&q(D,{type:`secondary`,dim:!0,children:[`搜索:"`,i,`"`]}),r&&q(J,{marginBottom:I.tight,children:[q(Y,{color:o.error,children:[`与『`,c?.description??r.conflictsWith,`』冲突——替换后该命令将无键位,需手动重新分配`]}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,label:B.t(`confirm.replace`),focused:!0,color:`red`}),K(P,{variant:`solid`,brackets:!0,label:B.t(`common.genericCancelButton`),focused:!1,color:`gray`})]})]}),e.map((e,r)=>{let i=e.commandId===n,a=fb(e,void 0),s=e.isOverridden&&!e.isUnassigned,c=r===t,l=c?Ae():Ft();return K(J,{flexDirection:`column`,children:q(J,{flexDirection:`row`,children:[q(Y,{color:i?o.accent:c?o.selection:s?o.warning:void 0,bold:c,children:[l,e.description]}),K(D,{type:`secondary`,children:` `}),K(Y,{color:i?o.accent:s?o.warning:o.inactive,children:i?`按下新键位…(Esc 取消)`:e.isUnassigned?`(未分配)`:a})]})},e.commandId)}),K(J,{marginTop:I.section,children:q(D,{bold:!0,type:`secondary`,children:[`系统保留(`,rb.length,`,不可修改)`]})}),rb.map(e=>q(J,{flexDirection:`row`,children:[q(D,{type:`secondary`,dim:!0,children:[` `,e.description]}),K(D,{type:`secondary`,children:` `}),K(D,{type:`secondary`,dim:!0,children:e.keyLabel})]},e.commandId))]})})}function gb({onDismiss:e}){let t=pe();return t?K(pb,{overrides:t.overrides,onSave:t.onSave,onSaveReplace:t.onSaveReplace,onReset:t.onReset,onResetAll:t.onResetAll,onDismiss:e}):null}function _b({onDismiss:e,rows:t,columns:n}){let r=pe();return r?K(Bl,{projectIndex:r.projectIndex,userIndex:r.userIndex,onViewEntry:r.onViewEntry,onForget:r.onForget,onDismiss:e,rows:t,columns:n}):null}const vb=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 yb(){return!0}var bb=class extends V.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){vb.reportCrashed()}render(){return this.state.error?q(Y,{color:F.error,children:[`Panel crashed: `,this.state.error.message]}):this.props.children}};function xb(){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)),vb.reportCrashed())};return process.on(`unhandledRejection`,e),()=>{n.current=!1,process.removeListener(`unhandledRejection`,e)}},[]),{asyncError:e}}function Sb({panelInfo:e}){let t=R(),[n,r]=V.useState(null),[i,a]=V.useState(null),{asyncError:o}=xb();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`),vb.reportCrashed();return}r(()=>i)}).catch(e=>{t||(a(e instanceof Error?e.message:String(e)),vb.reportCrashed())}),()=>{t=!0}},[e.modulePath,e.exportName]),i?q(Y,{color:t.error,children:[`Panel error: `,i]}):o?q(Y,{color:t.error,children:[`Panel crashed (possibly related async error): `,o]}):n?K(bb,{children:K(n,{})}):K(Y,{dimColor:!0,children:`Loading…`})}function Cb({req:e}){U(()=>vb.onCloseRequest(()=>e.onClose()),[]);let[t,n]=G(void 0);U(()=>(n(void 0),vb.onHintChange(e=>n(e))),[e.panelInfo.modulePath]);let[r,i]=G(!1);U(()=>(i(!1),vb.onCrashed(()=>i(!0))),[e.panelInfo.modulePath]),E(`plugin-panel-dialog`,(t,n)=>{n.escape&&e.onClose()},{isActive:r});let a=Array.isArray(t)?K(C,{items:t}):t??K(C,{items:[[`Esc`,B.t(`hint.close`)]]});return K(M,{header:K(be,{children:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?B.t(t):t})()}),footer:a,children:K(J,{marginTop:I.tight,flexDirection:`column`,children:K(Sb,{panelInfo:e.panelInfo})})})}function wb(){let e=pe();return e?K(Cb,{req:e}):null}const Tb=/^(bash|shell|run_command|execute|exec)/i;function Eb(){let e=pe(),t=h_(),n=e;return n?Tb.test(n.tool)?K(Ql,{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)}):K(Jl,{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 Db(){let e=pe(),{dismiss:t}=_e(),n=e;return n?K(gt,{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(`/dialog/progress`)}}):null}function Ob({onSubmit:e,onCancel:t}){let n=pe();return n?K(eu,{title:n.title,message:n.message,placeholder:n.placeholder,initialValue:n.initialValue,submitLabel:n.submitLabel,cancelLabel:n.cancelLabel,onSubmit:e,onCancel:t}):null}function kb({onSubmit:e,onCancel:t,columns:n}){let r=pe(),i=W(t);return i.current=t,U(()=>()=>{i.current()},[]),r?K(st,{title:r.title,questions:r.questions,columns:Math.min(60,n-Be.borderInset),onSubmit:e,onCancel:t}):null}const Ab=Mt(` · `),jb=Mt(`←`)+4;function Mb(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=>Mt(i[e].label)+2;if(i.reduce((e,t,n)=>e+o(n),0)+(i.length-1)*Ab<=r)return{items:i,hiddenLeft:0,hiddenRight:0};let s=Math.max(6,r-jb*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)+Ab;u+e<=s&&(u+=e,l++,n=!0)}if(t){let e=o(c-1)+Ab;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 Mt(e.label)>t?{...e,label:A(e.label,t)}:e}),hiddenLeft:c,hiddenRight:i.length-l}}function Nb({label:e,active:t,disabled:n,color:r=`accent`}){return K(P,{variant:`ghost`,color:r,label:e,focused:t,disabled:n})}function Pb({items:e,activeKey:t,color:n=`accent`,tabIndex:r=-1,onSelect:i,availableWidth:a,enableDigitAccess:o=!1}){let s=R(),{focused:c}=ee({tabIndex:r,disabled:r<0}),l=(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};y(c,l),E(`segmented-${e.map(e=>e.key).join(`-`)}`,l,{isActive:!!i&&!c});let u=Mb(e,e=>e.label,e.findIndex(e=>e.key===t),a);return q(J,{flexDirection:`row`,gap:I.tight,children:[u.hiddenLeft>0&&K(Y,{color:s.inactive,children:`←${u.hiddenLeft}`}),u.items.map((e,r)=>q(V.Fragment,{children:[r>0&&K(Y,{color:s.inactive,children:`·`}),K(Nb,{label:e.label,active:e.item.key===t,disabled:e.item.disabled,color:n})]},e.item.key)),u.hiddenRight>0&&K(Y,{color:s.inactive,children:`→${u.hiddenRight}`})]})}function Fb({title:e,subtitle:t,subtitleTone:n=`default`,options:r,maxVisible:i=10,searchable:o=!1,layout:c=`list`,onSelect:u,onCancel:d,subtitleActions:f,columns:p=60,rows:m=24,detailPlacement:h=`below`,initialFilter:_=``,onFilterChange:v,onHighlight:y,defaultSelectedValue:x}){let S=R(),w=c===`buttons`,T=c===`tabs`,te=!!f&&f.length>0&&!w&&!T,ne=a(),[re,ie]=G(_),[ae,oe]=G(_.length),se=(e,t)=>{ie(e),oe(t),v?.(e)},[ce,le]=G(()=>te&&!r.some(e=>!e.disabled)?0:null),[ue,k]=G(o?`search`:`list`),de=Yt(()=>o?re===``?r:_n(r,re):r,[o,re,r]),A=W(null);if(!A.current||A.current.options!==de){let e=pt(de,{maxVisible:i});if(x){let t=de.findIndex(e=>e.value===x);t>=0&&e.selectByIndex(t)}A.current={options:de,state:e}}let j=A.current.state,[,fe]=G(0),pe=()=>{fe(e=>e+1);let e=j.getSelected();e&&y?.(e.value)};V.useEffect(()=>{let e=j.getSelected();e&&y?.(e.value)},[]);let me=()=>{k(`list`),le(null),ne?.focus(`select-list`)},he=()=>{k(`search`),le(null),ne?.focus(`select-search`)},ge=e=>{k(`list`),le(e)},_e=()=>{if(ce!==null&&te){u(f[ce].value);return}let e=j.accept();e&&!e.disabled&&u(e.value)},{focused:ve}=ee({tabIndex:0,id:`select-search`,disabled:!o,onAction:()=>ce!==null&&te?(_e(),!0):(re?me():_e(),!0)}),{focused:ye}=ee({tabIndex:1,id:`select-list`,onAction:()=>(_e(),!0)}),xe=W(null),Se=W(!0);V.useEffect(()=>{let e=ve?`search`:ye?`list`:null;e!==null&&e!==xe.current&&(Se.current?Se.current=!1:(k(e),le(null))),xe.current=e},[ve,ye]);let Ce=()=>{for(let e=de.length-1;e>=0;e--)if(!de[e]?.disabled){j.selectByIndex(e);return}},N=()=>{for(let e=0;e<de.length;e++)if(!de[e]?.disabled){j.selectByIndex(e);return}};E(`select-dialog`,(e,t)=>{if(o&&ue===`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=je(e);t&&se(re.slice(0,ae)+t+re.slice(ae),ae+t.length);return}if(o&&ce===null&&ue===`search`){if(t.upArrow){te?ge(f.length-1):(me(),Ce(),pe());return}if(t.downArrow){me(),N(),pe();return}if(t.leftArrow){let e=l.fromText(re,p,ae).left();se(e.text,e.offset);return}if(t.rightArrow){let e=l.fromText(re,p,ae).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=Dt(l.fromText(re,p,ae),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((w||T)&&(t.leftArrow||t.rightArrow)){t.leftArrow?j.moveUp():j.moveDown(),pe();return}if(te&&ce!==null&&(t.leftArrow||t.rightArrow)){let e=f.length-1;le(t.leftArrow?Math.max(0,ce-1):Math.min(e,ce+1));return}if(o&&ce===null&&ue===`search`&&(t.upArrow||t.downArrow))return;let n=ze(e,t);if(n)switch(n.type){case`cancel`:d?.();return;case`up`:if(o&&ue===`search`)return;if(ce!==null){if(ce>0){le(ce-1);return}o&&he();return}{let e=j.selectedIndex;if(j.moveUp(),j.selectedIndex===e){if(o){he();return}if(te){ge(f.length-1);return}}}pe();return;case`down`:if(o&&ue===`search`)return;if(ce!==null){if(ce<f.length-1){le(ce+1);return}o?he():(me(),N(),pe());return}{let e=j.selectedIndex;if(j.moveDown(),j.selectedIndex===e&&o){he();return}}pe();return;case`index`:{ce!==null&&le(null),j.selectByIndex(n.index);let e=j.getSelected();e&&!e.disabled&&u(e.value);return}case`accept`:_e();return}});let Te=W(0),Ee=Yt(()=>we(de,h),[de,h]),De=Yt(()=>h===`inline`?Math.max(0,...de.map(e=>Mt(e.label))):0,[h,de]),Oe=Yt(()=>h===`inline`?Math.max(0,...de.map(e=>Mt(e.trailingLabel??``))):0,[h,de]),Me=w||T?1/0:o?$e(i+9,m)-9:$e(Ee.length+9,m)-9,Ne=Pt(Ee,j.selectedIndex,Me,Te.current);Te.current=Ne.scrollTop;let Pe=de[j.selectedIndex]??null;return q(M,{header:q(Xt,{children:[e&&K(be,{children:e}),e&&t&&K(J,{marginTop:I.tight}),t&&te?q(J,{flexDirection:`row`,alignSelf:`flex-start`,...at,borderColor:S.accent,paddingX:I.tight,children:[q(Y,{color:n===`warning`?S.warning:S.accent,children:[t,` `]}),f.map((e,t)=>q(V.Fragment,{children:[t>0&&q(D,{type:`secondary`,children:[` `,B.t(`common.wordOr`),` `]}),K(P,{variant:`ghost`,brackets:!0,color:n===`warning`?`amber`:`accent`,label:e.label,focused:ce===t,tabIndex:-1})]},e.value))]}):t&&K(Y,{color:n===`warning`?S.warning:S.inactive,children:t})]}),footer:K(C,{items:w||T?[[`${O.left}${O.right}`,B.t(`hint.select`)],[O.enter,B.t(`hint.confirm`)],[O.esc,B.t(`hint.cancel`)]]:[[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.confirm`)],[O.esc,`${o?B.t(`select.clearHint`):``}${B.t(`hint.cancel`)}`],...o?[[`Tab`,B.t(`hint.switch`)]]:[]]}),children:[e&&!t&&K(J,{marginTop:I.tight}),o&&q(J,{flexDirection:`row`,marginBottom:I.tight,marginTop:t?I.tight:I.none,children:[K(D,{type:`secondary`,children:`/ `}),K(mt,{value:re,offset:ae,columns:p,mode:`dialog`,noPrefix:!0,placeholder:B.t(`select.filterPlaceholder`),focused:ce===null&&ue===`search`,tabIndex:-1})]}),o&&re!==``&&de.length===0&&K(J,{marginBottom:I.tight,children:q(D,{type:`secondary`,dim:!0,children:[` `,B.t(`select.noMatches`)]})}),o&&re!==``&&de.length>0&&K(J,{children:q(D,{type:`secondary`,dim:!0,children:[` `,B.t(`select.matchCount`,{count:de.length})]})}),w&&K(J,{flexDirection:`row`,gap:I.section,marginTop:I.tight,children:de.map((e,t)=>K(P,{variant:`solid`,brackets:!0,color:e.color??(t===0?`accent`:`gray`),label:e.label,focused:e===Pe&&(o?ue===`list`:!0),disabled:e.disabled},e.value))}),T&&q(J,{flexDirection:`column`,marginTop:I.tight,children:[K(Pb,{items:de.map(e=>({key:e.value,label:e.label,disabled:e.disabled})),activeKey:Pe?.value??``,availableWidth:p-4}),Pe&&q(J,{marginTop:I.tight,flexDirection:`column`,children:[K(Y,{color:S.text,children:Pe.label}),Pe.detail&&K(J,{marginTop:Math.floor(I.tight/2),children:K(D,{type:`secondary`,dim:!0,children:Pe.detail})})]})]}),!w&&!T&&K(J,{height:1,children:K(g,{hasMore:Ne.hasMoreAbove})}),!w&&!T&&Ne.rows.map((e,t)=>{if(e.kind===`spacer`)return K(Y,{children:` `},`spacer-${t}`);if(e.kind===`divider`)return K(J,{flexDirection:`column`,children:K(ke,{label:e.label,indent:` `})},`div-${t}`);let n=e.option;if(e.kind===`detail`)return q(J,{flexDirection:`row`,children:[K(Y,{children:` `}),q(D,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:[` `,n.detail]})]},`detail-${e.optionIndex}`);let r=n===Pe,i=ce===null&&(o?ue===`list`:!0),a=r&&i,c=h===`inline`&&(n.detail||n.trailingLabel),l=c?`${s(n.label,De)} ${s(n.trailingLabel??``,Oe)}${n.detail?` ${n.detail}`:``}`:n.label;return q(J,{flexDirection:`row`,children:[K(Y,{children:` `}),q(Y,{color:n.disabled?S.inactive:a?S.selection:S.inactive,dimColor:n.disabled||r&&!i,bold:a&&!n.disabled,children:[r&&!n.disabled?Ae():Ft(),l,n.disabled?` (${B.t(`common.disabled`)})`:``]}),n.trailingLabel&&!c&&q(Xt,{children:[K(D,{type:`secondary`,children:` `}),K(Y,{color:n.trailingColor??S.inactive,dimColor:!n.trailingColor,children:n.trailingLabel})]})]},`item-${e.optionIndex}`)}),!w&&!T&&Array.from({length:Ne.fillerCount},(e,t)=>K(Y,{children:` `},`filler-${t}`)),!w&&!T&&K(J,{height:1,children:K(b,{hasMore:Ne.hasMoreBelow})})]})}function Ib({onSelect:e,onCancel:t,rows:n}){let r=pe();return r?K(Fb,{title:r.title,subtitle:r.subtitle,options:r.options??[],maxVisible:r.maxVisible,searchable:r.searchable,rows:n,layout:r.layout,subtitleActions:r.subtitleActions,detailPlacement:r.detailPlacement,initialFilter:r.initialFilter,onFilterChange:r.onFilterChange,onHighlight:r.onHighlight,defaultSelectedValue:r.defaultSelectedValue,onSelect:e,onCancel:t}):null}const Lb=/^[A-Za-z0-9_-]+$/;function Rb({shortcuts:e,onSave:t,onDelete:n,onDismiss:r}){let[i,a]=G(e),[o,s]=G({mode:`list`});return o.mode===`confirm-delete`?K(Wb,{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`?K(Ub,{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`})}):K(zb,{shortcuts:i,onNew:()=>s({mode:`form`}),onEdit:e=>s({mode:`form`,editing:e}),onDeleteRequest:e=>s({mode:`confirm-delete`,entry:e}),onDismiss:r})}function zb({shortcuts:e,onNew:t,onEdit:n,onDeleteRequest:r,onDismiss:i}){let a=new Map(e.map(e=>[e.name,e]));return e.length===0?q(M,{header:K(be,{children:B.t(`cmd.titleShortcuts`)}),footer:K(C,{items:[[`n`,B.t(`cmd.shortcutsPanelHintNew`)],[O.esc,B.t(`hint.close`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{dimColor:!0,children:B.t(`cmd.shortcutsPanelEmptyHint`)})}),K(Bb,{onNew:t,onDismiss:i})]}):K(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:K(C,{items:[[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`cmd.shortcutsPanelHintEdit`)],[`n`,B.t(`cmd.shortcutsPanelHintNew`)],[`d`,B.t(`cmd.shortcutsPanelHintDelete`)],[O.esc,B.t(`hint.close`)]]}),children:K(z.Content,{children:K(z.Group,{children:e.map(e=>K(z.Item,{value:e.name,detail:Vb(e.text),marker:`number`,children:`@${e.name}`},e.name))})})})}function Bb({onNew:e,onDismiss:t}){return E(`shortcuts-panel`,(n,r)=>{if(r.escape){t();return}n===`n`&&e()}),null}function Vb(e,t=40){let n=e.trim().split(`
|
|
105
|
-
`)[0].replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}const
|
|
106
|
-
`),[e.content]),rows:t,columns:n,wrapMode:`pre-wrap`,header:
|
|
107
|
-
`),
|
|
59
|
+
`)}\n${Kf(n.length,e.length)}`}function Yf({content:e,previewLines:r=10,rows:i=24,columns:a=80,onConfirm:o,onCancel:s}){let c=P(),[l,u]=K(0),[d,f]=K(!1),p=G(0);p.current=l;let m=G(!1);W(()=>{let e=setTimeout(()=>{m.current=!0},0);return()=>{clearTimeout(e)}},[]);let h=Jf(e,r),g=qf(e),_=Yt(()=>e.split(`
|
|
60
|
+
`),[e]);return k(`paste-confirm-dialog-buttons`,(e,t)=>{if(d)return!1;if(t.escape)return m.current&&s(),!0;if(t.leftArrow||t.rightArrow||t.tab){if(m.current){let e=n(t);e!==0&&u(t=>Xe(t,e,3))}return!0}return t.return?(m.current&&u(e=>(e===0?o():e===1?f(!0):s(),e)),!0):!1}),d?q(yc,{lines:_,rows:i,columns:a,header:J(Y,{children:[q(X,{color:c.selection,children:V.t(`paste.viewTitle`)}),J(L,{type:`secondary`,children:[` `,Kf(_.length,e.length)]})]}),onDismiss:()=>f(!1),initialScroll:`top`,contentKey:e}):J(O,{header:q(xe,{children:V.t(`paste.confirmTitle`)}),footer:q(N,{items:[[`${t.left}${t.right}`,V.t(`hint.switch`)],[t.enter,`${V.t(`hint.confirm`)}/${V.t(`paste.view`)}`],[t.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{marginTop:R.tight,flexDirection:`column`,children:q(L,{type:`secondary`,children:h})}),J(Y,{marginTop:R.tight,children:[q(X,{dimColor:!0,children:V.t(`paste.collapseLabel`)}),q(X,{color:c.selection,children:g})]}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`paste.confirm`),focused:l===0}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`paste.view`),focused:l===1}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`paste.cancel`),focused:l===2})]})]})}function Xf(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 Zf(e,t){return e===`error`?t.error:e===`warning`?t.warning:t.inactive}function Qf({notifications:e,onClose:n,rows:r=24}){let i=P();k(`notification-center`,(e,t)=>t.escape?(n(),!0):!1);let[a,o]=K(()=>Date.now()),s=G(0);W(()=>{let e=setInterval(()=>o(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=Et(u,-1,p(u.length+6,r)-6,s.current);return s.current=d.scrollTop,q(O,{header:J(Y,{marginBottom:R.tight,children:[q(X,{color:i.secondary,bold:!0,children:V.t(`notif.title`)}),c.length>0&&J(X,{color:i.accent,children:[` `,c.length]})]}),footer:q(N,{items:[[`${t.up}${t.down}`,V.t(`hint.scroll`)],[t.enter,V.t(`hint.dismiss`)],[t.esc,V.t(`hint.close`)],[t.tab,V.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:R.tight,children:q(L,{type:`secondary`,dim:!0,children:V.t(`notif.readDivider`)})}),J(Y,{flexDirection:`row`,children:[q(X,{color:Zf(e.level,i),children:e.level===`error`?B.cross:e.level===`warning`?B.warn:`i`}),q(L,{type:`secondary`,children:` `}),J(X,{color:e.read?i.inactive:i.secondary,dimColor:e.read,wrap:`truncate-end`,children:[`[`,e.source,`] `,e.title,` · `,e.message]}),J(L,{type:`secondary`,dim:!0,children:[` `,`(`,Xf(e.timestamp,a),`)`]})]})]},e.id))})}function $f({focusOwner:e,pasteContent:t,onPasteConfirm:n,onPasteCancel:r,notifications:i,rows:a,columns:o}){let{onDismissNotification:s,onCloseNotifications:c}=Eu();return J(Xt,{children:[t!=null&&q(D,{path:`/overlay/paste-confirm`,inStack:!0,element:q(Yf,{content:t,rows:a,columns:o,onConfirm:n,onCancel:r})}),e===`notifications`&&q(Qf,{notifications:i,onDismiss:e=>s?.(e),onClose:()=>c?.()})]})}function ep({component:e,columns:n=60,onAction:r,onDismiss:i}){let a=P(),o=e.fields??[],s=e.formTitle??`表单`,[c,l]=K(qt(()=>{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,d]=K({kind:`field`,index:0}),f=u.kind===`field`?u.index:-1,p=o.length,m=f>=0&&f<p?o[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})},y=()=>{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)};k(`a2ui-form-dialog`,(e,t)=>{if(t.escape){if(u.kind===`field`){if(m?.type===`text`&&(c.strings[m.id]??``).length>0){h(m.id,``,0);return}v();return}i();return}if(t.tab||t.ctrl&&e===`n`){_();return}if(t.return&&t.meta){y();return}if(u.kind!==`field`){if(t.leftArrow){v();return}if(t.rightArrow){_();return}if(t.return&&u.kind===`submit`){y();return}if(t.return&&u.kind===`cancel`){i();return}return}if(m){if(t.upArrow){v();return}if(t.downArrow){_();return}if(t.return){f>=p-1?y():_();return}if(m.type===`text`){let r=m.id,i=c.strings[r]??``,a=c.offsets[r]??0;if((t.ctrl||t.meta)&&(t.leftArrow||t.rightArrow||t.home||t.end)){let e={name:t.home?`home`:t.end?`end`:t.leftArrow?`left`:`right`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},o=It(At.fromText(i,n,a),e);o&&h(r,o.cursor.text,o.cursor.offset);return}if(t.home||t.end){let e={name:t.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},o=It(At.fromText(i,n,a),e);o&&h(r,o.cursor.text,o.cursor.offset);return}if(t.leftArrow){let e=At.fromText(i,n,a).left();h(r,e.text,e.offset);return}if(t.rightArrow){let e=At.fromText(i,n,a).right();h(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=Nt(e);t&&h(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=It(At.fromText(i,n,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`){t.leftArrow?v():t.rightArrow&&_();return}if(m.type===`toggle`&&e===` `){g(m.id);return}}});let b=o.map(e=>e.label).join(` · `);return J(O,{header:q(xe,{children:s}),footer:q(N,{items:[[t.tab,`next`],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]}),children:[q(Y,{flexDirection:`column`,marginTop:R.tight,children:q(L,{type:`secondary`,dim:!0,children:b})}),q(Y,{flexDirection:`column`,marginTop:R.tight,children:o.map((e,t)=>{let r=u.kind===`field`&&u.index===t,i=e.required?` *`:``;return J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{flexDirection:`row`,children:[q(X,{color:r?a.selection:a.inactive,children:r?Mt():ke()}),J(X,{bold:r,color:r?a.selection:void 0,children:[e.label,i]})]}),e.type===`text`&&q(Y,{flexDirection:`row`,marginLeft:R.section,children:q(Tt,{value:c.strings[e.id]??``,offset:c.offsets[e.id]??0,columns:n-4,mode:`dialog`,focused:r,placeholder:e.placeholder})}),e.type===`select`&&q(Y,{flexDirection:`row`,gap:R.tight,marginLeft:R.section,children:q(X,{dimColor:!r,color:r?a.selection:a.inactive,children:(e.options??[]).map((t,n)=>J(H.Fragment,{children:[r?J(X,{color:c.strings[e.id]===t.id?a.selection:a.inactive,children:[c.strings[e.id]===t.id?`${B.toggleOn} `:`${B.toggleOff} `,t.label]}):q(L,{type:`secondary`,children:t.label}),n<(e.options??[]).length-1&&q(L,{type:`secondary`,children:` · `})]},t.id))})}),e.type===`toggle`&&q(Y,{flexDirection:`row`,marginLeft:R.section,children:J(X,{color:r?a.selection:a.inactive,children:[c.toggles[e.id]?B.check:B.cross,` `,c.toggles[e.id]?`enabled`:`disabled`]})}),![`text`,`select`,`toggle`].includes(e.type)&&q(Y,{flexDirection:`row`,marginLeft:R.section,children:q(L,{type:`secondary`,dim:!0,children:String(c.strings[e.id]??``)||`?`})})]},e.id)})}),J(Y,{flexDirection:`row`,gap:R.tight,marginTop:R.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 tp({columns:e}){let t=a();return t?q(ep,{component:t.component,columns:e,onAction:t.onAction,onDismiss:t.onDismiss}):null}function np({onOk:e}){let t=a();return t?q($l,{title:t.title,message:t.message,okLabel:t.okLabel,onOk:e}):null}function rp({onConfirm:e,onCancel:t,onExtra:n}){let r=a(),i=G(t);return i.current=t,W(()=>()=>{i.current()},[]),r?q($e,{title:r.title,message:r.message,confirmLabel:r.confirmLabel,cancelLabel:r.cancelLabel,confirmColor:r.confirmColor,dangerous:r.dangerous,extraLabel:r.extraLabel,extraColor:r.extraColor,onConfirm:e,onCancel:t,onExtra:r.extraLabel?n:void 0}):null}function ip(e,t){switch(e){case`warn`:return t.warning;case`error`:return t.error;default:return}}function ap(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 op({req:e,rows:t=24,columns:n=80}){let r=P(),[i,a]=K(0),o=(ee()?.currentPath??`/`)===`/dialog/extension/full-text`,s=e=>{let t=I();t&&(e&&t.currentPath===`/dialog/extension`?t.navigate(`/dialog/extension/full-text`):!e&&t.currentPath===`/dialog/extension/full-text`&&t.goBack())},[c,l]=K(0),[u,d]=K(Va());W(()=>{s(!1),l(0)},[e.fullText]),W(()=>{if(u)return;let e=!0;return Ba().then(()=>{e&&d(Va())}),()=>{e=!1}},[u]);let f=Yt(()=>e.fullText?e.fullText.kind===`plain`?[{id:`plain`,label:`Plain`,lines:e.fullText.content.split(`
|
|
61
|
+
`),wrapMode:`pre-wrap`}]:kc(`${e.fullText.title}.md`,e.fullText.content,n,u):[],[e.fullText,n,u]),p=f[Math.min(c,Math.max(0,f.length-1))],m=p?.lines??[],h=e.actions;e.panelInfo&&e.onOpenPanel&&(h=[...h,{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.configForm&&e.configForm.onEditConfig&&(h=[...h,{label:`Edit Config`,value:`edit-config`,color:`amber`}]);let g=h.length;k(`extension-detail-dialog`,(t,n)=>{if(n.escape)return e.onClose(),!0;if(t===`r`&&e.onRefresh)return e.onRefresh(),!0;if(g===0)return!1;if(n.leftArrow)return a(e=>(e-1+g)%g),!0;if(n.rightArrow)return a(e=>(e+1)%g),!0;if(n.return){let t=h[i];return t?t.value===`open-panel`?(e.onOpenPanel?.(),!0):t.value===`edit-config`?(e.configForm?.onEditConfig?.(),!0):t.value===`view-full-text`?(e.fullText&&s(!0),!0):(e.onAction(t.value),!0):!1}return!1},{isActive:!o});let _=e.healthStats,v=_&&(_.hookTimeouts>0||_.toolTimeouts>0||_.lastError!==void 0),y=[[`← →`,V.t(`hint.select`)],[`Enter`,V.t(`hint.execute`)]];return e.onRefresh&&y.push([`r`,V.t(`cmd.extRefreshHint`)]),y.push([`Esc`,V.t(`hint.close`)]),o&&e.fullText?q(yc,{lines:m,rows:t,columns:n,wrapMode:p?.wrapMode??`pre-wrap`,header:J(Y,{children:[q(X,{color:r.selection,children:e.fullText.title}),f.length>1&&p?q(T,{leadingSpace:!0,children:p.label}):null]}),onDismiss:()=>s(!1),onKey:(e,t)=>{if((e===`[`||e===`]`)&&f.length>1){let t=e===`[`?-1:1;return l(e=>(e+t+f.length)%f.length),!0}return!1},extraHints:f.length>1?[[`[ ]`,V.t(`hint.tabSwitchOutput`)]]:void 0,initialScroll:`top`,contentKey:`${e.fullText.title}:${p?.id??``}`}):q(O,{header:q(xe,{children:e.title}),footer:q(N,{items:y}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[e.meta||e.metaStatus?J(X,{children:[e.meta?q(X,{dimColor:!0,children:e.meta}):null,e.metaStatus?J(Xt,{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,g>0?q(Y,{marginTop:R.tight,children:h.map((e,t)=>q(Y,{marginRight:R.tight,children:q(F,{variant:`solid`,brackets:!0,label:e.label,focused:t===i,color:e.color??`accent`})},e.value))}):null,q(Y,{marginTop:R.tight,flexDirection:`column`,children:e.dataListEntries&&e.dataListEntries.length>0?q(st,{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:`(无详情视图)`})}),e.configForm&&e.configForm.schema.properties&&J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{dimColor:!0,bold:!0,children:`Configuration`}),Object.entries(e.configForm.schema.properties).map(([t,n])=>{let r=e.configForm.values[t],i=r===void 0?n.default===void 0?`(unset)`:String(n.default):String(r);return J(X,{wrap:`truncate-end`,children:[q(X,{dimColor:!0,children:t}),`: `,i]},t)})]}),v&&q(Y,{marginTop:R.tight,children:q(X,{color:r.warning,children:_.lastError?.message?V.t(`cmd.extHealthSummary`,{context:`err`,hookTimeouts:_.hookTimeouts,toolTimeouts:_.toolTimeouts,lastError:_.lastError.message}):V.t(`cmd.extHealthSummary`,{hookTimeouts:_.hookTimeouts,toolTimeouts:_.toolTimeouts})})}),e.logEntries!==void 0&&J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{dimColor:!0,bold:!0,children:V.t(`cmd.extLogSectionTitle`)}),e.logEntries.length===0?q(L,{type:`secondary`,dim:!0,children:V.t(`cmd.extNoLogs`)}):e.logEntries.map((e,t)=>q(X,{color:ip(e.level,r),wrap:`truncate-end`,children:` ${ap(e.ts)} ${e.msg}`},t))]})]})})}function sp({rows:e,columns:t}){let n=a();return n?q(op,{req:n,rows:Ot(e??24),columns:t}):null}function cp({rows:e}){let t=a();return t?q(Kl,{req:t,rows:e}):null}function lp({req:e,rows:t,columns:n,active:r=!0,findActive:i,onFindModeChange:a}){let o=P(),[s,c]=K(0),[l,u]=K(Va());W(()=>{if(l)return;let e=!0;return Ba().then(()=>{e&&u(Va())}),()=>{e=!1}},[l]),W(()=>{c(0)},[e.path]);let d=Yt(()=>kc(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(yc,{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)=>{if((e===`[`||e===`]`)&&d.length>1){let t=e===`[`?-1:1;return c(e=>(e+t+d.length)%d.length),!0}return!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 up({rows:e,columns:t}){let{goBack:n,currentPath:r}=pe(),i=se(`/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=I();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(lp,{req:{...i,onDismiss:l},rows:e,columns:t,active:!0,findActive:s,onFindModeChange:c})}function dp({rows:e,columns:t}){let{goBack:n,currentPath:r}=pe(),i=se(`/viewer/clipboard`)?.content??``,a=H.useMemo(()=>i.split(`
|
|
62
|
+
`),[i]),o=r===`/viewer/clipboard/find`;return q(yc,{lines:a,rows:e,columns:t,wrapMode:`pre-wrap`,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(xe,{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=I();t&&(e&&t.currentPath===`/viewer/clipboard`?t.navigate(`/viewer/clipboard/find`):!e&&t.currentPath===`/viewer/clipboard/find`&&t.goBack())}})}function fp({req:e,rows:t,columns:n,active:r=!0}){let i=P(),a=(ee()?.currentPath??`/`)===`/viewer/help/find`;return q(yc,{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=I();t&&(e&&t.currentPath===`/viewer/help`?t.navigate(`/viewer/help/find`):!e&&t.currentPath===`/viewer/help/find`&&t.goBack())}})}function pp({rows:e,columns:t}){let{goBack:n}=pe(),r=se(`/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(fp,{req:{...r,onDismiss:o},rows:e,columns:t,active:!0})}function mp({onDismiss:e}){let t=a();return t?q(Te,{title:t.title,lines:t.lines,onDismiss:e,action:t.action,lineTones:t.lineTones,dataListEntries:t.dataListEntries}):null}function hp({title:e,description:n,placeholder:r,mask:i,defaultValue:a,onSubmit:o,onCancel:s,columns:c=60,actionButton:l,onActionButton:u}){let d=P(),{text:f,offset:p,selection:m,update:h,handleEditing:g}=zf({columns:c,onCommit:()=>o(f)});return W(()=>{a&&h(a,a.length)},[]),mt({tabIndex:0,id:`input-field`,onAction:()=>(o(f),!0),onEscape:()=>f.length===0?(s?.(),!0):(h(``,0),!0)}),k(`input-dialog`,(e,t)=>{if(t.ctrl&&e===`o`&&l&&u){u();return}if(t.escape&&f.length===0){s?.();return}return g(e,t)}),J(O,{header:e?q(xe,{children:e}):void 0,footer:q(N,{items:l?[[`Ctrl+O`,l.label],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]:[[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]}),children:[e&&q(Y,{marginTop:R.tight}),n&&n.length>0&&q(Y,{flexDirection:`column`,marginBottom:R.tight,children:n.map((e,t)=>q(X,{color:d.text,wrap:`wrap`,children:e},t))}),q(Y,{flexDirection:`row`,children:q(Tt,{value:f,offset:p,columns:c,mode:`dialog`,placeholder:r,mask:i,selection:m,focused:!0,physicalCursor:!0})}),l&&J(Y,{marginTop:R.tight,flexDirection:`row`,children:[q(L,{type:`secondary`,children:` `}),q(F,{variant:`solid`,brackets:!0,color:`accent`,label:l.label,focused:!1})]})]})}function gp({onSubmit:e,onCancel:t,onAction:n,columns:r}){let i=a(),o=G(t);return o.current=t,W(()=>()=>{o.current()},[]),i?q(hp,{title:i.title,description:i.description,placeholder:i.placeholder,mask:i.mask,defaultValue:i.defaultValue,columns:Math.min(60,r-dt.borderInset),onSubmit:e,onCancel:t,actionButton:i.actionButton,onActionButton:n}):null}const _p=[{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 vp(e){let t=new Map;function n(n,r){for(let i of n){if(t.has(i.commandId))continue;let n=Me(i.commandId,i.predicate,e);t.set(i.commandId,{commandId:i.commandId,description:i.description,group:r,defaultPredicate:i.predicate,effectivePredicate:n,isOverridden:!yp(n,i.predicate),isUnassigned:bt(n)})}}return n(tt,`global`),n(qe,`navigation`),[...t.values()]}function yp(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 bp(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 xp(e=`project`){return{mode:`list`,searchQuery:``,selectedIndex:0,writeTarget:e}}function Sp(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=Cp(t);if(!n)return i;let a=_t(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 Cp(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 wp(e){if(bt(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 Tp(e,t){if(!t.upArrow&&!t.downArrow)return[];let n=[];for(let t of qe)t.commandId===e&&(t.predicate.upArrow||t.predicate.downArrow||(t.predicate.input?n.push(t.predicate.input):t.predicate.key===`tab`&&n.push(wp(t.predicate))));return n}function Ep(e,t){if(e.isOverridden&&!e.isUnassigned)return wp(e.effectivePredicate);let n=Tp(e.commandId,e.defaultPredicate);return n.length>0?[wp(e.defaultPredicate),...n].join(` / `):wp(e.defaultPredicate)}function Dp({overrides:e,onSave:t,onSaveReplace:n,onReset:r,onResetAll:i,onDismiss:a}){let o=P(),[s,c]=K(()=>xp(`project`)),[l,u]=K(!1),d=Yt(()=>vp(e),[e]),f=Yt(()=>bp(d,s.searchQuery),[d,s.searchQuery]),p=qt(o=>{c(s=>{let c=Sp(s,o,f,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})},[f,e,a,t,n,r,i]);return k(`keybinding-panel-dialog`,(e,t)=>{if(l){if(t.escape){u(!1);return}if(t.return){p({type:`resetAll`}),u(!1);return}return}if(s.mode===`recording`&&s.pendingConflict){if(t.escape){p({type:`cancelConflict`});return}if(t.return){p({type:`confirmConflict`});return}return}if(s.mode===`recording`){if(t.escape){p({type:`cancelRecording`});return}p({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(s.mode===`list`){if(t.escape){s.searchQuery?p({type:`setSearch`,query:``}):p({type:`close`});return}if(t.ctrl&&e===`r`){u(!0);return}if(e===`r`&&!t.ctrl&&!t.meta){p({type:`resetSingle`});return}if(e&&e.length===1&&!t.ctrl&&!t.meta&&/^[a-zA-Z0-9]$/.test(e)){p({type:`setSearch`,query:s.searchQuery+e});return}if(t.delete||e===``&&t.backspace){s.searchQuery.length>0&&p({type:`setSearch`,query:s.searchQuery.slice(0,-1)});return}}}),l?q(O,{header:q(xe,{children:`快捷键设置`}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{color:o.warning,children:`确认清空全部快捷键覆盖设置,恢复为默认值?`}),J(Y,{marginTop:R.section,flexDirection:`row`,gap:R.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`})]})]})}):s.mode===`recording`?q(kp,{entries:f,selectedIndex:s.selectedIndex,recordingCommandId:s.recordingCommandId,pendingConflict:s.pendingConflict,searchQuery:s.searchQuery,writeTarget:s.writeTarget}):q(Op,{entries:f,searchQuery:s.searchQuery,writeTarget:s.writeTarget,onEnterRecording:()=>p({type:`startRecording`}),onMoveUp:()=>p({type:`moveUp`}),onMoveDown:()=>p({type:`moveDown`}),onDismiss:a})}function Op({entries:e,searchQuery:n,writeTarget:r,onEnterRecording:i,onDismiss:a}){let o=P(),s=[{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:`系统保留(${_p.length})`,items:_p.map(e=>({commandId:e.commandId,description:e.description,group:`reserved`,defaultPredicate:{},effectivePredicate:{},isOverridden:!1,isUnassigned:!1}))}],c=r===`global`?`全局配置`:`项目配置`;return q(z.Root,{title:`快捷键设置 写入:${c}`,subtitle:n?`搜索:"${n}"`:void 0,onCancel:a,onValueChange:()=>{i()},onKey:(e,t,n)=>!1,footer:J(Xt,{children:[q(N,{items:[[`${t.up}${t.down}`,`选择`],[t.enter,`修改键位`],[`r`,`重置当前`],[`Ctrl+R`,`全部重置`],[t.esc,`关闭`]]}),`
|
|
63
|
+
`,J(L,{type:`secondary`,dim:!0,children:[`搜索:直接输入字符筛选 · 写入目标:`,c,`(按 t 切换)`]})]}),children:q(z.Content,{children:s.map(e=>J(z.Group,{children:[q(z.Label,{children:e.label}),e.group===`reserved`?_p.map(e=>q(z.Item,{value:e.commandId,disabled:!0,trailingLabel:e.keyLabel,trailingColor:o.inactive,children:e.description},e.commandId)):e.items.map(e=>{let t=Ep(e,void 0),n=e.isOverridden&&!e.isUnassigned,r=e.isUnassigned;return q(z.Item,{value:e.commandId,trailingLabel:r?`(未分配)`:t,trailingColor:n?o.warning:void 0,labelColor:n?o.warning:void 0,children:e.description},e.commandId)})]},e.group))})})}function kp({entries:e,selectedIndex:n,recordingCommandId:r,pendingConflict:i,searchQuery:a,writeTarget:o}){let s=P(),c=o===`global`?`全局配置`:`项目配置`,l=i?e.find(e=>e.commandId===i.conflictsWith):void 0;return q(O,{header:q(xe,{children:`快捷键设置 写入:${c}`}),footer:q(N,{items:i?[[t.enter,`确认替换`],[t.esc,`取消`]]:[[t.esc,`取消录制`]]}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[a&&J(L,{type:`secondary`,dim:!0,children:[`搜索:"`,a,`"`]}),i&&J(Y,{marginBottom:R.tight,children:[J(X,{color:s.error,children:[`与『`,l?.description??i.conflictsWith,`』冲突——替换后该命令将无键位,需手动重新分配`]}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.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=Ep(e,void 0),o=e.isOverridden&&!e.isUnassigned,c=t===n,l=c?Mt():ke();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(L,{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:R.section,children:J(L,{bold:!0,type:`secondary`,children:[`系统保留(`,_p.length,`,不可修改)`]})}),_p.map(e=>J(Y,{flexDirection:`row`,children:[J(L,{type:`secondary`,dim:!0,children:[` `,e.description]}),q(L,{type:`secondary`,children:` `}),q(L,{type:`secondary`,dim:!0,children:e.keyLabel})]},e.commandId))]})})}function Ap({onDismiss:e}){let t=a();return t?q(Dp,{overrides:t.overrides,onSave:t.onSave,onSaveReplace:t.onSaveReplace,onReset:t.onReset,onResetAll:t.onResetAll,onDismiss:e}):null}function jp({onDismiss:e,rows:t,columns:n}){let r=a();return r?q(Bl,{projectIndex:r.projectIndex,userIndex:r.userIndex,onViewEntry:r.onViewEntry,onForget:r.onForget,onDismiss:e,rows:t,columns:n}):null}const Mp=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 Np(){return!0}var Pp=class extends H.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(){Mp.reportCrashed()}render(){return this.state.error?J(X,{color:r.error,children:[`Panel crashed: `,this.state.error.message]}):this.props.children}};function Fp(){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)),Mp.reportCrashed())};return process.on(`unhandledRejection`,e),()=>{n.current=!1,process.removeListener(`unhandledRejection`,e)}},[]),{asyncError:e}}function Ip({panelInfo:e}){let t=P(),[n,r]=H.useState(null),[i,a]=H.useState(null),{asyncError:o}=Fp();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`),Mp.reportCrashed();return}r(()=>i)}).catch(e=>{t||(a(e instanceof Error?e.message:String(e)),Mp.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(Pp,{children:q(n,{})}):q(X,{dimColor:!0,children:`Loading…`})}function Lp({req:e}){W(()=>Mp.onCloseRequest(()=>e.onClose()),[]);let[t,n]=K(void 0);W(()=>(n(void 0),Mp.onHintChange(e=>n(e))),[e.panelInfo.modulePath]);let[r,i]=K(!1);W(()=>(i(!1),Mp.onCrashed(()=>i(!0))),[e.panelInfo.modulePath]),k(`plugin-panel-dialog`,(t,n)=>{n.escape&&e.onClose()},{isActive:r});let a=Array.isArray(t)?q(N,{items:t}):t??q(N,{items:[[`Esc`,V.t(`hint.close`)]]});return q(O,{header:q(xe,{children:(()=>{let t=e.panelInfo.title;return t.includes(`.`)&&!t.includes(` `)?V.t(t):t})()}),footer:a,children:q(Y,{marginTop:R.tight,flexDirection:`column`,children:q(Ip,{panelInfo:e.panelInfo})})})}function Rp(){let e=a();return e?q(Lp,{req:e}):null}const zp=/^(bash|shell|run_command|execute|exec)/i;function Bp(){let e=a(),t=Eu(),n=e;return n?zp.test(n.tool)?q(Ql,{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(Jl,{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 Vp(){let e=a(),{dismiss:t}=pe(),n=e;return n?q(ht,{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(`/dialog/progress`)}}):null}function Hp({onSubmit:e,onCancel:t}){let n=a();return n?q(eu,{title:n.title,message:n.message,placeholder:n.placeholder,initialValue:n.initialValue,submitLabel:n.submitLabel,cancelLabel:n.cancelLabel,onSubmit:e,onCancel:t}):null}function Up({onSubmit:e,onCancel:t,columns:n}){let r=a(),i=G(t);return i.current=t,W(()=>()=>{i.current()},[]),r?q(it,{title:r.title,questions:r.questions,columns:Math.min(60,n-dt.borderInset),onSubmit:e,onCancel:t}):null}const Wp=j(` · `),Gp=j(`←`)+4;function Kp(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=>j(i[e].label)+2;if(i.reduce((e,t,n)=>e+o(n),0)+(i.length-1)*Wp<=r)return{items:i,hiddenLeft:0,hiddenRight:0};let s=Math.max(6,r-Gp*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)+Wp;u+e<=s&&(u+=e,l++,n=!0)}if(t){let e=o(c-1)+Wp;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 j(e.label)>t?{...e,label:rt(e.label,t)}:e}),hiddenLeft:c,hiddenRight:i.length-l}}function qp({label:e,active:t,disabled:n,color:r=`accent`}){return q(F,{variant:`ghost`,color:r,label:e,focused:t,disabled:n})}function Jp({items:e,activeKey:t,color:n=`accent`,tabIndex:r=-1,onSelect:i,availableWidth:a,enableDigitAccess:o=!1}){let s=P(),{focused:c}=mt({tabIndex:r,disabled:r<0}),l=(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};fe(c,l),k(`segmented-${e.map(e=>e.key).join(`-`)}`,l,{isActive:!!i&&!c});let u=Kp(e,e=>e.label,e.findIndex(e=>e.key===t),a);return J(Y,{flexDirection:`row`,gap:R.tight,children:[u.hiddenLeft>0&&q(X,{color:s.inactive,children:`←${u.hiddenLeft}`}),u.items.map((e,r)=>J(H.Fragment,{children:[r>0&&q(X,{color:s.inactive,children:`·`}),q(qp,{label:e.label,active:e.item.key===t,disabled:e.item.disabled,color:n})]},e.item.key)),u.hiddenRight>0&&q(X,{color:s.inactive,children:`→${u.hiddenRight}`})]})}function Yp({title:e,subtitle:n,subtitleTone:r=`default`,options:i,maxVisible:a=10,searchable:o=!1,layout:s=`list`,onSelect:c,onCancel:l,subtitleActions:u,columns:d=60,rows:f=24,detailPlacement:m=`below`,initialFilter:h=``,onFilterChange:g,onHighlight:_,defaultSelectedValue:v}){let y=P(),b=s===`buttons`,x=s===`tabs`,S=!!u&&u.length>0&&!b&&!x,C=ee(),[te,ne]=K(h),[ie,T]=K(h.length),ae=(e,t)=>{ne(e),T(t),g?.(e)},[E,D]=K(()=>S&&!i.some(e=>!e.disabled)?0:null),[oe,se]=K(o?`search`:`list`),A=Yt(()=>o?te===``?i:mn(i,te):i,[o,te,i]),M=G(null);if(!M.current||M.current.options!==A){let e=ut(A,{maxVisible:a});if(v){let t=A.findIndex(e=>e.value===v);t>=0&&e.selectByIndex(t)}M.current={options:A,state:e}}let ce=M.current.state,[,le]=K(0),ue=()=>{le(e=>e+1);let e=ce.getSelected();e&&_?.(e.value)};H.useEffect(()=>{let e=ce.getSelected();e&&_?.(e.value)},[]);let de=()=>{se(`list`),D(null),C?.focus(`select-list`)},fe=()=>{se(`search`),D(null),C?.focus(`select-search`)},pe=e=>{se(`list`),D(e)},me=()=>{if(E!==null&&S){c(u[E].value);return}let e=ce.accept();e&&!e.disabled&&c(e.value)},{focused:he}=mt({tabIndex:0,id:`select-search`,disabled:!o,onAction:()=>E!==null&&S?(me(),!0):(te?de():me(),!0)}),{focused:ge}=mt({tabIndex:1,id:`select-list`,onAction:()=>(me(),!0)}),_e=G(null),ve=G(!0);H.useEffect(()=>{let e=he?`search`:ge?`list`:null;e!==null&&e!==_e.current&&(ve.current?ve.current=!1:(se(e),D(null))),_e.current=e},[he,ge]);let ye=()=>{for(let e=A.length-1;e>=0;e--)if(!A[e]?.disabled){ce.selectByIndex(e);return}},be=()=>{for(let e=0;e<A.length;e++)if(!A[e]?.disabled){ce.selectByIndex(e);return}};k(`select-dialog`,(e,t)=>{if(o&&oe===`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=Nt(e);t&&ae(te.slice(0,ie)+t+te.slice(ie),ie+t.length);return}if(o&&E===null&&oe===`search`){if(t.upArrow){S?pe(u.length-1):(de(),ye(),ue());return}if(t.downArrow){de(),be(),ue();return}if((t.ctrl||t.meta)&&(t.leftArrow||t.rightArrow||t.home||t.end)){let e={name:t.home?`home`:t.end?`end`:t.leftArrow?`left`:`right`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},n=It(At.fromText(te,d,ie),e);n&&ae(n.cursor.text,n.cursor.offset);return}if(t.home||t.end){let e={name:t.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},n=It(At.fromText(te,d,ie),e);n&&ae(n.cursor.text,n.cursor.offset);return}if(t.leftArrow){let e=At.fromText(te,d,ie).left();ae(e.text,e.offset);return}if(t.rightArrow){let e=At.fromText(te,d,ie).right();ae(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=It(At.fromText(te,d,ie),n);if(r){if(r.action===`clear_text`){ae(``,0);return}if(!(r.action===`submit`||r.action===`submit_force`)){ae(r.cursor.text,r.cursor.offset);return}}}}if((b||x)&&(t.leftArrow||t.rightArrow)){t.leftArrow?ce.moveUp():ce.moveDown(),ue();return}if(S&&E!==null&&(t.leftArrow||t.rightArrow)){let e=u.length-1;D(t.leftArrow?Math.max(0,E-1):Math.min(e,E+1));return}if(o&&E===null&&oe===`search`&&(t.upArrow||t.downArrow))return;let n=Ie(e,t);if(n)switch(n.type){case`cancel`:l?.();return;case`up`:if(o&&oe===`search`)return;if(E!==null){if(E>0){D(E-1);return}o&&fe();return}{let e=ce.selectedIndex;if(ce.moveUp(),ce.selectedIndex===e){if(o){fe();return}if(S){pe(u.length-1);return}}}ue();return;case`down`:if(o&&oe===`search`)return;if(E!==null){if(E<u.length-1){D(E+1);return}o?fe():(de(),be(),ue());return}{let e=ce.selectedIndex;if(ce.moveDown(),ce.selectedIndex===e&&o){fe();return}}ue();return;case`index`:{E!==null&&D(null),ce.selectByIndex(n.index);let e=ce.getSelected();e&&!e.disabled&&c(e.value);return}case`accept`:me();return}});let Ce=G(0),we=Yt(()=>Se(A,m),[A,m]),Te=Yt(()=>m===`inline`?Math.max(0,...A.map(e=>j(e.label))):0,[m,A]),Ee=Yt(()=>m===`inline`?Math.max(0,...A.map(e=>j(e.trailingLabel??``))):0,[m,A]),De=b||x?1/0:o?p(a+9,f)-9:p(we.length+9,f)-9,Ae=Pt(we,ce.selectedIndex,De,Ce.current);Ce.current=Ae.scrollTop;let je=A[ce.selectedIndex]??null;return J(O,{header:J(Xt,{children:[e&&q(xe,{children:e}),e&&n&&q(Y,{marginTop:R.tight}),n&&S?J(Y,{flexDirection:`row`,alignSelf:`flex-start`,...Ue,borderColor:y.accent,paddingX:R.tight,children:[J(X,{color:r===`warning`?y.warning:y.accent,children:[n,` `]}),u.map((e,t)=>J(H.Fragment,{children:[t>0&&J(L,{type:`secondary`,children:[` `,V.t(`common.wordOr`),` `]}),q(F,{variant:`ghost`,brackets:!0,color:r===`warning`?`amber`:`accent`,label:e.label,focused:E===t,tabIndex:-1})]},e.value))]}):n&&q(X,{color:r===`warning`?y.warning:y.inactive,children:n})]}),footer:q(N,{items:b||x?[[`${t.left}${t.right}`,V.t(`hint.select`)],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.confirm`)],[t.esc,`${o?V.t(`select.clearHint`):``}${V.t(`hint.cancel`)}`],...o?[[`Tab`,V.t(`hint.switch`)]]:[]]}),children:[e&&!n&&q(Y,{marginTop:R.tight}),o&&J(Y,{flexDirection:`row`,marginBottom:R.tight,marginTop:n?R.tight:R.none,children:[q(L,{type:`secondary`,children:`/ `}),q(Tt,{value:te,offset:ie,columns:d,mode:`dialog`,noPrefix:!0,placeholder:V.t(`select.filterPlaceholder`),focused:E===null&&oe===`search`,tabIndex:-1})]}),o&&te!==``&&A.length===0&&q(Y,{marginBottom:R.tight,children:J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`select.noMatches`)]})}),o&&te!==``&&A.length>0&&q(Y,{children:J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`select.matchCount`,{count:A.length})]})}),b&&q(Y,{flexDirection:`row`,gap:R.section,marginTop:R.tight,children:A.map((e,t)=>q(F,{variant:`solid`,brackets:!0,color:e.color??(t===0?`accent`:`gray`),label:e.label,focused:e===je&&(o?oe===`list`:!0),disabled:e.disabled},e.value))}),x&&J(Y,{flexDirection:`column`,marginTop:R.tight,children:[q(Jp,{items:A.map(e=>({key:e.value,label:e.label,disabled:e.disabled})),activeKey:je?.value??``,availableWidth:d-4}),je&&J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{color:y.text,children:je.label}),je.detail&&q(Y,{marginTop:Math.floor(R.tight/2),children:q(L,{type:`secondary`,dim:!0,children:je.detail})})]})]}),!b&&!x&&q(Y,{height:1,children:q(w,{hasMore:Ae.hasMoreAbove})}),!b&&!x&&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(Oe,{label:e.label,indent:` `})},`div-${t}`);let n=e.option;if(e.kind===`detail`)return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(L,{type:`secondary`,dim:!0,wrap:`truncate-end`,children:[` `,n.detail]})]},`detail-${e.optionIndex}`);let r=n===je,i=E===null&&(o?oe===`list`:!0),a=r&&i,s=m===`inline`&&(n.detail||n.trailingLabel),c=s?`${Re(n.label,Te)} ${Re(n.trailingLabel??``,Ee)}${n.detail?` ${n.detail}`:``}`:n.label;return J(Y,{flexDirection:`row`,children:[q(X,{children:` `}),J(X,{color:n.disabled?y.inactive:a?y.selection:y.inactive,dimColor:n.disabled||r&&!i,bold:a&&!n.disabled,children:[r&&!n.disabled?Mt():ke(),c,n.disabled?` (${V.t(`common.disabled`)})`:``]}),n.trailingLabel&&!s&&J(Xt,{children:[q(L,{type:`secondary`,children:` `}),q(X,{color:n.trailingColor??y.inactive,dimColor:!n.trailingColor,children:n.trailingLabel})]})]},`item-${e.optionIndex}`)}),!b&&!x&&Array.from({length:Ae.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`)),!b&&!x&&q(Y,{height:1,children:q(re,{hasMore:Ae.hasMoreBelow})})]})}function Xp({onSelect:e,onCancel:t,rows:n}){let r=a();return r?q(Yp,{title:r.title,subtitle:r.subtitle,options:r.options??[],maxVisible:r.maxVisible,searchable:r.searchable,rows:n,layout:r.layout,subtitleActions:r.subtitleActions,detailPlacement:r.detailPlacement,initialFilter:r.initialFilter,onFilterChange:r.onFilterChange,onHighlight:r.onHighlight,defaultSelectedValue:r.defaultSelectedValue,onSelect:e,onCancel:t}):null}const Zp=/^[A-Za-z0-9_-]+$/;function Qp({shortcuts:e,onSave:t,onDelete:n,onDismiss:r}){let[i,a]=K(e),[o,s]=K({mode:`list`});return o.mode===`confirm-delete`?q(im,{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(rm,{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($p,{shortcuts:i,onNew:()=>s({mode:`form`}),onEdit:e=>s({mode:`form`,editing:e}),onDeleteRequest:e=>s({mode:`confirm-delete`,entry:e}),onDismiss:r})}function $p({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(O,{header:q(xe,{children:V.t(`cmd.titleShortcuts`)}),footer:q(N,{items:[[`n`,V.t(`cmd.shortcutsPanelHintNew`)],[t.esc,V.t(`hint.close`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.shortcutsPanelEmptyHint`)})}),q(em,{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(N,{items:[[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`cmd.shortcutsPanelHintEdit`)],[`n`,V.t(`cmd.shortcutsPanelHintNew`)],[`d`,V.t(`cmd.shortcutsPanelHintDelete`)],[t.esc,V.t(`hint.close`)]]}),children:q(z.Content,{children:q(z.Group,{children:e.map(e=>q(z.Item,{value:e.name,detail:tm(e.text),marker:`number`,children:`@${e.name}`},e.name))})})})}function em({onNew:e,onDismiss:t}){return k(`shortcuts-panel`,(n,r)=>{if(r.escape){t();return}n===`n`&&e()}),null}function tm(e,t=40){let n=e.trim().split(`
|
|
64
|
+
`)[0].replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}const nm=[`name`,`text`,`save`,`cancel`];function rm({editing:e,existingNames:r,onSave:i,onCancel:a}){let o=P(),[s,c]=K(e?.name??``),[l,u]=K(s.length),[d,f]=K(e?.text??``),[p,m]=K(d.length),[h,g]=K(`name`),[_,v]=K(null),y=e=>{g(nm[(nm.indexOf(h)+e+nm.length)%nm.length])},b=()=>{let t=s.trim();return!t||!Zp.test(t)?V.t(`cmd.shortcutsPanelNameInvalid`):r.some(n=>n===t&&n!==e?.name)?V.t(`cmd.shortcutsPanelNameDuplicate`):d.trim()?null:V.t(`cmd.shortcutsPanelTextEmpty`)},x=()=>{let e=b();if(e){v(e);return}i(s.trim(),d)};return k(`shortcuts-panel-2`,(e,t)=>{if(t.escape){a();return}if(t.tab){y(t.shift?-1:1);return}if(h===`save`||h===`cancel`){if(t.leftArrow||t.rightArrow){let e=n(t);e!==0&&y(e);return}if(t.return){h===`save`?x():a();return}return}let r=h===`name`,i=r?s:d,o=r?l:p,_=(e,t)=>{v(null),r?(c(e),u(t)):(f(e),m(t))};if(t.return&&r){g(`text`);return}if((t.ctrl||t.meta)&&(t.leftArrow||t.rightArrow||t.home||t.end)){let e={name:t.home?`home`:t.end?`end`:t.leftArrow?`left`:`right`,ctrl:t.ctrl??!1,shift:!1,alt:t.meta??!1,meta:t.meta??!1},n=It(At.fromText(i,60,o),e);n&&_(n.cursor.text,n.cursor.offset);return}if(t.home||t.end){let e={name:t.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},n=It(At.fromText(i,60,o),e);n&&_(n.cursor.text,n.cursor.offset);return}if(t.leftArrow){let e=At.fromText(i,60,o).left();_(e.text,e.offset);return}if(t.rightArrow){let e=At.fromText(i,60,o).right();_(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=Nt(e);t&&_(i.slice(0,o)+t+i.slice(o),o+t.length);return}let b={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},S=It(At.fromText(i,60,o),b);if(S){if(S.action===`clear_text`){_(``,0);return}if(S.action===`submit`||S.action===`submit_force`){r||x();return}_(S.cursor.text,S.cursor.offset)}}),J(O,{header:q(xe,{children:e?V.t(`cmd.shortcutsPanelEditTitle`,{name:e.name}):V.t(`cmd.shortcutsPanelNewTitle`)}),footer:q(N,{items:[[t.tab,V.t(`hint.quick`)],[t.enter,V.t(`hint.confirm`)],[t.esc,V.t(`hint.cancel`)]]}),children:[J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(L,{type:`secondary`,children:V.t(`cmd.shortcutsPanelNameLabel`)}),J(Y,{flexDirection:`row`,children:[q(L,{type:`secondary`,children:`@`}),q(Tt,{value:s,offset:l,columns:60,mode:`dialog`,focused:h===`name`})]})]}),J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(L,{type:`secondary`,children:V.t(`cmd.shortcutsPanelTextLabel`)}),q(Tt,{value:d,offset:p,columns:60,mode:`dialog`,maxVisibleLines:6,focused:h===`text`})]}),_&&q(Y,{marginTop:R.tight,children:q(X,{color:o.error,children:_})}),J(Y,{marginTop:R.section,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`accent`,label:V.t(`hint.confirm`),focused:h===`save`}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:h===`cancel`})]})]})}function im({entry:e,onConfirm:t,onCancel:r}){let i=P(),[a,o]=K(0);return k(`shortcuts-panel-3`,(e,i)=>{if(i.escape){r();return}if(i.leftArrow||i.rightArrow||i.tab){let e=n(i);e!==0&&o(t=>Xe(t,e,2));return}i.return&&(a===1?t():r())}),q(O,{header:q(xe,{children:V.t(`cmd.shortcutsPanelConfirmDeleteTitle`)}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(X,{color:i.warning,children:V.t(`cmd.shortcutsPanelConfirmDeleteMessage`,{name:e.name})}),J(Y,{marginTop:R.section,flexDirection:`row`,gap:R.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 am({onDismiss:e}){let t=a();return t?q(Qp,{shortcuts:t.bindings,onSave:t.onSave,onDelete:t.onDelete,onDismiss:e}):null}const om=[`en`,`zh`,`auto`];function sm({step:e}){let t=[V.t(`onboarding.stepName`),V.t(`onboarding.stepLang`)];return J(Y,{flexDirection:`row`,marginBottom:R.tight,children:[t.map((t,n)=>J(H.Fragment,{children:[n>0&&q(L,{type:`secondary`,children:` · `}),n<e?q(L,{type:`success`,children:`${B.check} ${t}`}):n===e?q(L,{type:`accent`,bold:!0,children:`${B.statusDot} ${t}`}):q(L,{type:`secondary`,children:`${B.todoPending} ${t}`})]},n)),q(Y,{marginLeft:R.section,children:q(L,{type:`secondary`,children:V.t(`onboarding.stepCounter`,{current:e+1,total:2})})})]})}function cm({columns:e,onComplete:n,onLanguagePreview:r}){let[i,a]=K(0),[o,s]=K(``),[c,l]=K(0),[u,d]=K(2),[f,p]=K({}),m=qt(e=>{let t={...f,...e};if(p(t),i>=1){n(t);return}a(i+1)},[i,f,n]),h=qt(()=>{i>0&&a(i-1)},[i]);k(`onboarding-dialog`,(t,n)=>{if(n.escape)return m({}),!0;if(i>0&&n.leftArrow)return h(),!0;if(i!==0)return!1;if(n.return)return m(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=Nt(t);return e&&(s(o.slice(0,c)+e+o.slice(c)),l(c+e.length)),!0}if((n.ctrl||n.meta)&&(n.leftArrow||n.rightArrow||n.home||n.end)){let t={name:n.home?`home`:n.end?`end`:n.leftArrow?`left`:`right`,ctrl:n.ctrl??!1,shift:!1,alt:n.meta??!1,meta:n.meta??!1},r=It(At.fromText(o,e,c),t);return r&&(s(r.cursor.text),l(r.cursor.offset)),!0}if(n.home||n.end){let t={name:n.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},r=It(At.fromText(o,e,c),t);return r&&(s(r.cursor.text),l(r.cursor.offset)),!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=It(At.fromText(o,e,c),r);return a?a.action===`submit`||a.action===`submit_force`?(m(o.trim()?{nickname:o.trim()}:{}),!0):(s(a.cursor.text),l(a.cursor.offset),!0):!1});let g=()=>i===0?J(Xt,{children:[q(xe,{children:V.t(`onboarding.nameQuestion`)}),q(L,{type:`secondary`,children:V.t(`onboarding.nameDesc`)}),q(Y,{marginTop:R.tight,flexDirection:`row`,children:q(Tt,{value:o,offset:c,columns:e,mode:`dialog`,placeholder:V.t(`onboarding.namePlaceholder`),focused:!0,physicalCursor:!0})})]}):J(Xt,{children:[q(xe,{children:V.t(`onboarding.langQuestion`)}),q(L,{type:`secondary`,children:V.t(`onboarding.langFootnote`)}),q(Y,{marginTop:R.tight,children:J(Ye.Root,{activeIndex:u,onActiveChange:d,onPick:e=>{let t=om[e];r?.(t),m({language:t})},children:[q(Ye.Item,{label:`English (en)`}),q(Ye.Item,{label:`中文 (zh)`}),q(Ye.Item,{label:V.t(`onboarding.langAuto`)})]})})]}),_=i===0?[[t.enter,V.t(`onboarding.hintNext`)],[t.esc,V.t(`onboarding.hintSkip`)]]:[[`${t.up}${t.down}`,V.t(`hint.select`)],[`1/2/3`,V.t(`onboarding.hintQuick`)],[t.enter,i>=1?V.t(`onboarding.hintDone`):V.t(`onboarding.hintNext`)],[t.left,V.t(`onboarding.hintBack`)],[t.esc,V.t(`onboarding.hintSkip`)]];return q(O,{header:q(sm,{step:i}),footer:q(N,{items:_}),children:g()})}function lm({onComplete:e,columns:t}){let n=a(),r=G(e);return r.current=e,W(()=>()=>{r.current({})},[]),q(cm,{columns:Math.min(60,t-dt.borderInset),onComplete:e,onLanguagePreview:n?.onLanguagePreview})}function um(){let e=a();return e?q(xt,{request:e}):null}function dm(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}=Eu();return J(Xt,{children:[q(D,{path:`/dialog/alert`,dismissibleByOverlay:!0,element:q(np,{onOk:()=>t?.()})}),q(D,{path:`/dialog/confirm`,dismissibleByOverlay:!0,element:q(rp,{onConfirm:()=>n?.(!0),onCancel:()=>n?.(!1),onExtra:()=>n?.(!1,!0)})}),q(D,{path:`/dialog/prompt`,dismissibleByOverlay:!0,element:q(Hp,{onSubmit:e=>r?.(e),onCancel:()=>r?.(null)})}),q(D,{path:`/dialog/input`,dismissibleByOverlay:!0,element:q(gp,{onSubmit:e=>i?.(e),onCancel:()=>i?.(null),onAction:a,columns:e.columns})}),q(D,{path:`/dialog/questions`,dismissibleByOverlay:!0,element:q(Up,{onSubmit:(e,t)=>o?.(e,t),onCancel:()=>o?.(null),columns:e.columns})}),q(D,{path:`/dialog/info`,dismissibleByOverlay:!0,element:q(mp,{onDismiss:()=>l?.()})}),q(D,{path:`/dialog/memory`,dismissibleByOverlay:!0,element:q(jp,{onDismiss:()=>u?.(),rows:e.rows,columns:e.columns})}),q(D,{path:`/dialog/select`,dismissibleByOverlay:!0,element:q(Xp,{onSelect:e=>c?.(e),onCancel:()=>c?.(null),rows:e.rows})}),q(D,{path:`/dialog/wizard`,dismissibleByOverlay:!0,element:q(um,{})}),q(D,{path:`/dialog/onboarding`,dismissibleByOverlay:!0,element:q(lm,{onComplete:e=>s?.(e),columns:e.columns})}),q(D,{path:`/dialog/a2ui-form`,dismissibleByOverlay:!0,element:q(tp,{columns:e.columns})}),q(D,{path:`/dialog/progress`,dismissibleByOverlay:!0,element:q(Vp,{})}),q(D,{path:`/dialog/keybindings`,dismissibleByOverlay:!0,element:q(Ap,{onDismiss:()=>d?.()})}),q(D,{path:`/dialog/shortcuts`,dismissibleByOverlay:!0,element:q(am,{onDismiss:()=>f?.()})}),q(D,{path:`/viewer/file`,prefix:!0,dismissibleByOverlay:!0,element:q(up,{rows:e.rows,columns:e.columns})}),q(D,{path:`/viewer/clipboard`,prefix:!0,dismissibleByOverlay:!0,element:q(dp,{rows:e.rows,columns:e.columns})}),q(D,{path:`/viewer/help`,prefix:!0,dismissibleByOverlay:!0,element:q(pp,{rows:e.rows,columns:e.columns})}),q(D,{path:`/dialog/extension`,prefix:!0,dismissibleByOverlay:!0,element:q(sp,{rows:e.rows,columns:e.columns})}),q(D,{path:`/dialog/extensions`,dismissibleByOverlay:!0,element:q(cp,{rows:e.rows})}),q(D,{path:`/dialog/plugin-panel`,dismissibleByOverlay:!0,element:q(Rp,{})}),q(D,{path:`/dialog/permission`,dismissibleByOverlay:!0,element:q(Bp,{})})]})}function fm({req:e,rows:t,columns:n,active:r=!0}){let i=P();return q(yc,{lines:Yt(()=>e.content.split(`
|
|
65
|
+
`),[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 pm(e){let t=Eu(),{stdout:n}=an(),{taskStore:r,notificationStore:i}=pu(),a=Z(i.store,e=>e.notifications),o=Z(r.store,e=>e.queued),{stack:s}=pe(),c=e=>s.some(t=>t.path===e);return J(Xt,{children:[q($f,{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(dm,{columns:e.columns,rows:e.rows}),e.chipContentViewerRequest&&c(`/overlay/chip-viewer`)&&q(D,{path:`/overlay/chip-viewer`,inStack:!0,element:q(fm,{req:e.chipContentViewerRequest,rows:n?.rows??e.rows,columns:e.columns,active:c(`/overlay/chip-viewer`)})}),e.queueCloseConfirm&&q($e,{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($e,{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($e,{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 mm({exec:e,maxLines:n=8,totalLines:r,onCopyOutput:i,onAskAi:a,onAbort:o,onDismiss:s,onViewFullOutput:c,active:l=!0}){let u=P(),d=e.status===`running`,f=e.terminated||e.exitCode===null,p=!d&&(e.terminated===!0||e.exitCode!==0);k(`shell-pane`,(t,n)=>n.escape?(d&&o?.(),s?.(),!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?(i?.(),!0):t===`a`&&!n.ctrl&&!n.meta&&p?(a?.(),s?.(),!0):!1,{isActive:l});let m=G(l);W(()=>{m.current&&!l&&(d&&o?.(),s?.()),m.current=l},[l,d,o,s]);let h=d?u.accent:f?u.error:e.exitCode===0?u.success:u.error,g=d?V.t(`shell.running`):e.terminated?V.t(`shell.terminated`):e.exitCode===null?V.t(`shell.errored`):V.t(`shell.exit`,{code:e.exitCode}),_=d?B.todoActive:f?B.cross:e.exitCode===0?B.check:B.cross,v=e.output.split(`
|
|
66
|
+
`),y=r??v.length,b=v.slice(-n),x=d&&b.length<n?[...b,...Array.from({length:n-b.length},()=>``)]:b,S=Math.max(0,v.length-n),C=d?V.t(`hint.toInterrupt`):V.t(`hint.close`),ee=q(N,{items:[...!d&&y>n?[[`v`,V.t(`shell.viewAll`,{count:y})]]:[],...!d&&i?[[`c`,V.t(`shell.copyHint`)]]:[],...!d&&p&&a?[[`a`,V.t(`shell.hint`)]]:[],[t.esc,C]]});return J(O,{header:J(X,{children:[J(L,{type:`secondary`,children:[`>`,` `]}),q(X,{color:u.secondary,children:e.command}),q(X,{children:` `}),J(X,{color:h,children:[_,` `,g]})]}),footer:ee,children:[(d||S>0)&&q(Y,{flexDirection:`row`,height:1,children:S>0?J(L,{type:`secondary`,dim:!0,children:[` `,V.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 hm(e){if(e.operation===`edit`){if(e.oldContent!=null&&e.newContent!=null)return Eo(e.oldContent,e.newContent,2**53-1)}else if(e.operation===`delete`){if(e.oldContent!=null)return[{header:``,lines:e.oldContent.split(`
|
|
108
67
|
`).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]}else if(e.operation===`write`&&e.newContent!=null)return[{header:``,lines:e.newContent.split(`
|
|
109
|
-
`).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}];return[]}function
|
|
68
|
+
`).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}];return[]}function gm({file:e,rows:n,columns:r=80,onDismiss:i,active:a=!0,resolveWholeFileDiff:o}){let s=P(),[c,l]=K(`diff`),[u,d]=K(0),[f,p]=K(Va()),m=G(a);W(()=>{m.current&&!a&&i(),m.current=a},[a,i]);let[h,g]=K({status:`idle`});W(()=>{if(f)return;let e=!0;return Ba().then(()=>{e&&p(Va())}),()=>{e=!1}},[f]),W(()=>{d(0)},[c,e.path]),W(()=>{g({status:`idle`})},[e.path]);let _=H.useRef(!1);W(()=>{_.current=!1},[e.path]),W(()=>{if(c!==`wholeFileDiff`&&c!==`full`||!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=Yt(()=>{let t=e.operation===`delete`?e.oldContent:e.newContent;return h.status===`ready`?e.operation===`delete`?h.oldContent??t:h.newContent??t:t},[e,h]),y=Yt(()=>c!==`full`||v==null?[]:kc(e.path,v,r,f),[e.path,f,c,r,v]),b=y[Math.min(u,Math.max(0,y.length-1))],x=Yt(()=>{if(c!==`wholeFileDiff`||h.status!==`ready`)return[];let{oldContent:e,newContent:t}=h;return e!=null&&t!=null?Eo(e,t,2**53-1,2**53-1):e==null&&t!=null?[{header:``,lines:t.split(`
|
|
110
69
|
`).map((e,t)=>({type:`add`,content:e,newLine:t+1}))}]:e!=null&&t==null?[{header:``,lines:e.split(`
|
|
111
|
-
`).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]:[]},[c,h]),S=Yt(()=>{if(c===`full`)return b?.lines??[];if(c===`wholeFileDiff`){let t=x.reduce((e,t)=>e+t.lines.length,0),n=lc(e.path);return fc(x,f&&n!==``&&t<=2e3?{highlight:Ha,lang:n}:{})}let t=
|
|
112
|
-
`),[t]),
|
|
113
|
-
`).length,columns:u,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi,onAbort:t.onShellAbort,onDismiss:t.onShellDismiss,onViewFullOutput:h,active:r===`/pane/shell`}),c&&K(ry,{view:c,columns:u,rows:n?.rows,active:r===`/pane/delegates/output`,onDismiss:t.onBackgroundOutputClose}),g!==null&&K(nx,{file:g,rows:n?.rows??d,columns:u,onDismiss:_,active:r.startsWith(`/pane/edited-files/`),resolveWholeFileDiff:v}),o(`/overlay/services`)&&K(T,{path:`/overlay/services`,inStack:!0,element:K(rx,{tasks:l,columns:u,rows:n?.rows??d,onDismiss:()=>{a(`/overlay/services`)}})}),p&&K(ix,{command:p.command,output:p.output,rows:n?.rows??d,columns:u,onDismiss:()=>h(null),active:r===`/viewer/shell-output`,scrollStore:e.scrollStore,isError:p.isError,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi?()=>{t.onShellAskAi?.(),h(null),t.onShellDismiss?.()}:void 0})]})}function ox(e,t){switch(e){case`healthy`:return t.accent;case`warning`:return t.warning;case`critical`:return t.error}}function sx(e){return`${(e/1024/1024).toFixed(1)}MB`}function cx({memory:e,history:t}){let n=R();return e?q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:ox(e.level,n),bold:!0,children:e.level}),q(D,{type:`secondary`,children:[` `,e.usedPct.toFixed(1),`%`]}),t.length>=2&&q(D,{type:`secondary`,children:[` `,Ea(t,20)]})]}),q(D,{type:`secondary`,children:[sx(e.heapUsed),` / `,sx(e.heapSizeLimit),` heap`]})]}):K(D,{type:`secondary`,children:`collecting…`})}function lx({notify:e}){let t=R();if(!e)return K(D,{type:`secondary`,dim:!0,children:`渲染数据将在 M2 接入`});let n=e.coalescedCalls===0,r=n?`idle`:e.alert;return q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:n?t.inactive:e.alert===`warning`?t.warning:t.accent,bold:!0,children:r}),q(D,{type:`secondary`,children:[` `,e.coalesceRatio.toFixed(1),`x merge`]})]}),q(D,{type:`secondary`,children:[`coalesced `,e.coalescedCalls,`→`,e.coalescedFires,` · direct `,e.immediateCalls,` · flush `,e.flushFires]})]})}function ux(e){let t=typeof e==`string`?e:JSON.stringify(e);return t===void 0?`undefined`:A(t,121)}function dx({metrics:e,maxRows:t=1/0}){let n=R();if(e.length===0)return null;let r=e.slice(0,t),i=e.length-r.length;return q(J,{flexDirection:`column`,children:[K(J,{marginTop:I.loose,marginBottom:I.tight,children:K(D,{type:`secondary`,bold:!0,children:`Plugins`})}),r.map(e=>q(J,{flexDirection:`row`,children:[K(Y,{color:n.suggestion,children:e.label}),K(D,{type:`secondary`,children:` `}),e.error?q(Y,{color:n.error,children:[`error: `,e.error]}):K(D,{type:`secondary`,children:ux(e.value)})]},e.id)),i>0&&q(D,{type:`secondary`,dim:!0,children:[` `,i,` more`]})]})}function fx({perfStore:e,onDismiss:t,onRefresh:n,rows:r=24}){let i=R(),o=X(e.store,e=>e),{maxRows:s,expanded:c,handleExpandKey:l}=_a(r),u=a();return E(`perf-panel`,(e,r)=>{if(r.escape){t();return}l(e,r)||e===`r`&&n()},{isActive:u?u.currentPath===`/pane/perf`:!0}),K(M,{header:K(Y,{color:i.secondary,bold:!0,children:`Performance`}),footer:K(C,{items:[[`+`,c?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[O.esc,B.t(`hint.close`)],[`r`,B.t(`hint.refresh`)],[O.tab,B.t(`hint.tabFocus`)]]}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[K(J,{marginBottom:I.tight,children:K(D,{type:`secondary`,bold:!0,children:`Memory`})}),K(cx,{memory:o.memory,history:o.memoryHistory}),K(J,{marginTop:I.loose,marginBottom:I.tight,children:K(D,{type:`secondary`,bold:!0,children:`Rendering`})}),K(lx,{notify:o.notify}),K(dx,{metrics:o.pluginMetrics,maxRows:$e(9+o.pluginMetrics.length+7,r,s)-9-7})]})})}function px(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 mx({children:e,visibleRows:t,offset:n,showHint:r=!0,onScroll:i}){let a=Yt(()=>V.Children.toArray(e),[e]),o=Ca();U(()=>{if(!(!o||!i))return o.registerWheel(e=>{i(ba(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=va(a.length,c,n);return q(J,{flexDirection:`column`,children:[a.slice(l.start,l.end),s&&r&&K(D,{type:`secondary`,children:l.below>0?` ↓ ${l.below} more${l.above>0?` · ↑ ${l.above}`:``}`:` ↑ ${l.above} above`})]})}function hx(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}m`}function gx(e,t){return e>=80?t.accent:e>=40?t.warning:t.error}function _x({ratio:e,width:t}){let n=R(),r=Math.max(0,Math.min(100,Math.round(e*100))),i=Math.min(24,Math.max(8,t-20)),a=gx(r,n);return q(J,{children:[q(Y,{color:a,bold:!0,children:[String(r).padStart(3),`%`,` `]}),K(Je,{percent:r,width:i,chars:`block`,color:a,labelPosition:`none`})]})}function vx({label:e}){return q(D,{type:`secondary`,dim:!0,children:[e,`: n/a(供应商未报告缓存数据)`]})}function yx({row:e,width:t}){let n=R(),r=e.cacheReadTokens+e.cacheWriteTokens+e.inputTokens,i=e.hitRatio===null?`n/a`:`${Math.round(e.hitRatio*100)}%`,a=e.hitRatio===null?n.inactive:gx(Math.round(e.hitRatio*100),n),o=`${e.modelName} read ${hx(e.cacheReadTokens)} · write ${hx(e.cacheWriteTokens)} · total ${hx(r)}`;return q(J,{justifyContent:`space-between`,children:[K(Y,{color:n.suggestion,children:A(o,t-8)}),K(Y,{color:a,bold:e.hitRatio!==null,children:i})]})}function bx({view:e,width:t,colors:n}){if(!e)return[K(D,{type:`secondary`,children:`collecting…`},`collecting`)];if(!(e.totalCacheReadTokens+e.totalCacheWriteTokens+e.totalInputTokens>0))return[K(D,{type:`secondary`,children:`本会话暂无缓存用量数据`},`nodata`)];let r=[];if(r.push(K(D,{type:`secondary`,bold:!0,children:`Session hit rate`},`h-session`)),r.push(e.sessionHitRatio===null?K(vx,{label:B.t(`cache.sessionLabel`)},`v-session`):K(_x,{ratio:e.sessionHitRatio,width:t},`v-session`)),r.push(K(J,{},`gap-1`)),r.push(K(D,{type:`secondary`,bold:!0,children:`Last turn`},`h-last`)),r.push(e.lastTurnHitRatio===null?K(vx,{label:B.t(`cache.lastTurnLabel`)},`v-last`):K(_x,{ratio:e.lastTurnHitRatio,width:t},`v-last`)),r.push(K(J,{},`gap-2`)),r.push(K(D,{type:`secondary`,children:`cache read ${hx(e.totalCacheReadTokens)} · cache write ${hx(e.totalCacheWriteTokens)} · input ${hx(e.totalInputTokens)}`},`totals`)),e.totalCostUSD!==void 0&&e.totalCostUSD>0&&r.push(K(Y,{color:n.suggestion,children:`~$${e.totalCostUSD.toFixed(4)}`},`cost`)),e.perModel.length>1){r.push(K(J,{},`gap-3`)),r.push(K(D,{type:`secondary`,bold:!0,children:`By model`},`h-model`));for(let n of e.perModel)r.push(K(yx,{row:n,width:t},n.modelId))}return r}function xx({cacheStore:e,onDismiss:t,rows:n=24}){let r=R(),i=X(e.store,e=>e),[o,s]=G(0),c=bx({view:i.view,width:60,colors:r}),{maxRows:l,expanded:u,handleExpandKey:d}=_a(n),f=Math.max(1,l-7),p=a();return E(`cache-panel`,(e,n)=>{if(n.escape){t();return}if(d(e,n))return;let r=px(n,o,c.length,f);r!==null&&s(r)},{isActive:p?p.currentPath===`/pane/cache`:!0}),K(M,{header:K(Y,{color:r.secondary,bold:!0,children:`Cache`}),footer:K(C,{items:[[`+`,u?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[O.esc,B.t(`hint.close`)],[O.tab,B.t(`hint.tabFocus`)]]}),children:K(J,{marginTop:I.tight,flexDirection:`column`,children:K(mx,{visibleRows:f,offset:o,onScroll:s,children:c})})})}function Sx(e,t,n,r=[],i){let[a,o]=G(0),[s,c]=G(!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 Cx({field:e,selected:t,emptyLabel:n=`未设置`}){let r=R(),i=t?Ae():Ft(),a=t?r.selection:void 0;if(e.kind===`switch`){let n=e.value?N.statusDot:N.toggleOff,o=e.value?e.onLabel??`已启用`:e.offLabel??`已停用`,s=e.value?r.accent:r.inactive;return q(Y,{children:[q(Y,{color:a,bold:t,children:[i,e.label]}),K(Y,{color:r.inactive,children:` `}),q(Y,{color:s,children:[n,` `,o]})]})}let o=e.value?e.value:n;return q(Y,{children:[q(Y,{color:a,bold:t,children:[i,e.label]}),K(Y,{color:r.inactive,children:` `}),K(Y,{color:r.inactive,dimColor:!e.value,children:o})]})}function wx(e){try{let t=new URL(e);return t.password?e.replace(`:${t.password}@`,`:••••@`):e}catch{return e}}function Tx({view:e,onDismiss:t,onOpenModal:n,onSubmitUrl:r,onToggleEnabled:i,onClear:a,onTest:o,rows:s=24}){let c=R(),l=e.url?e.enabled===!1?`disabled`:`enabled`:`unconfigured`,u=e.url?[{kind:`input`,id:`url`,label:B.t(`proxy.fieldUrl`),value:wx(e.url),title:B.t(`proxy.dialogEditUrl`),placeholder:B.t(`proxy.urlPlaceholder`)},{kind:`switch`,id:`enabled`,label:B.t(`proxy.fieldEnabled`),value:l===`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`)}],d=(e,t)=>{e===`url`&&typeof t==`string`&&r(t),e===`enabled`&&typeof t==`boolean`&&i()},f=l!==`unconfigured`,p=l===`unconfigured`?e.detectedEnvProxy:void 0,m=[...p?[{id:`adopt-env`,label:B.t(`proxy.actionAdoptEnv`,{value:wx(p.value),source:p.source})}]:[],...f&&o?[{id:`test`,label:B.t(`proxy.actionTest`)}]:[],...f?[{id:`clear`,label:B.t(`proxy.actionClear`)}]:[]],[h,g]=G(!1),_=()=>{g(!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:()=>{g(!1),a()},onCancel:()=>g(!1)})},{selectedIndex:v,editing:y,handleKey:b,isTrailingSelected:x}=Sx(u,n,d,m,e=>{e===`clear`&&_(),e===`test`&&o?.(),e===`adopt-env`&&p&&r(p.value)}),S=y||h,{maxRows:w,expanded:ee,handleExpandKey:T}=_a(s),te=Math.max(1,w-7),ne=1+(x?u.length:v),re=Math.max(0,ne-te+2),ie=e.url&&e.enabled!==!1?e.url:void 0,ae=e.effectiveUrl!==ie,oe=e.probe,se=null;oe&&oe.status!==`idle`?se=oe.status===`probing`?K(D,{type:`secondary`,children:B.t(`proxy.probeProbing`)},`note`):oe.status===`ok`?q(Y,{color:c.success,children:[N.check,` `,B.t(`proxy.probeOk`,{latency:oe.latencyMs,target:oe.target})]},`note`):q(Y,{color:oe.blamesProxy?c.error:c.warning,children:[N.cross,` `,B.t(oe.blamesProxy?`proxy.probeFailedProxy`:`proxy.probeFailedTarget`,{reason:oe.reason})]},`note`):l!==`unconfigured`&&ae&&(se=q(Y,{color:c.warning,children:[N.warn,` `,e.effectiveUrl?B.t(`proxy.effectiveMismatch`,{effective:wx(e.effectiveUrl)}):B.t(`proxy.effectiveNotApplied`)]},`note`));let ce=Ca();return U(()=>{if(ce)return ce.registerWheel(e=>{if(S)return;let t=Math.abs(e)*3,n={upArrow:e>0,downArrow:e<0};for(let e=0;e<t;e++)b(``,n)})},[ce,S,b]),E(`proxy-pane`,(e,n)=>{if(n.escape){t();return}T(e,n)||b(e,n)},{isActive:!S}),K(M,{header:K(Y,{color:c.secondary,bold:!0,children:B.t(`proxy.title`)}),footer:S?void 0:K(C,{items:[[`+`,ee?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`hint.execute`)],[O.esc,B.t(`hint.close`)]]}),children:K(J,{marginTop:I.tight,flexDirection:`column`,children:q(mx,{visibleRows:te,offset:re,children:[K(ke,{label:B.t(`proxy.groupConfig`),indent:``},`h-config`),u.map((e,t)=>K(Cx,{field:e,selected:!S&&t===v,emptyLabel:B.t(`proxy.urlEmpty`)},e.id)),m.map((e,t)=>{let n=x&&!S&&v-u.length===t,r=e.id===`clear`?c.error:void 0;return q(Y,{color:n?c.selection:r,bold:n,children:[n?Ae():Ft(),e.label]},e.id)}),se,K(Y,{children:` `},`gap`),K(ke,{label:B.t(`proxy.groupAbout`),indent:``},`h-about`),K(D,{type:`secondary`,children:B.t(`proxy.aboutScope`)},`d1`),K(D,{type:`secondary`,children:B.t(`proxy.aboutLoopback`)},`d2`),K(D,{type:`secondary`,children:B.t(`proxy.aboutStorage`,{path:e.configPath})},`d3`),K(D,{type:`secondary`,dim:!0,children:B.t(`proxy.aboutCommand`)},`d4`)]})})})}function Ex(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 Dx(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 Ox={compact:`compact`,prune:`prune`,history_capped:`history`};function kx({entry:e}){return e.kind===`compact`?q(J,{flexDirection:`column`,children:[K(D,{type:`secondary`,children:Dx(e)}),K(J,{marginTop:I.tight,children:e.summary?K(Y,{children:e.summary}):K(D,{type:`secondary`,dim:!0,children:B.t(`compact.logNoSummary`)})})]}):K(D,{type:`secondary`,children:Dx(e)})}function Ax({entries:e,onClose:t,rows:n=24}){let r=R(),[i,o]=ga(`compactionLog`,e.length),s=a(),c=s?.currentPath??`/`,l=s?c.startsWith(`/pane/compaction-log`):!0,u=c.match(/^\/pane\/compaction-log\/(\d+)$/),d=u?Number(u[1]):null,f=e=>{let t=L();t&&(e==null?t.currentPath.startsWith(`/pane/compaction-log/`)&&t.goBack():t.navigate(`/pane/compaction-log/${e}`))},p=e.length===0?0:Math.min(i,e.length-1),m=d==null?void 0:e.find(e=>e.id===d),{maxRows:h,expanded:g,handleExpandKey:_}=_a(n),v=W(0),y=Tt(e,p,$e(e.length+7,n,h)-7,v.current);return v.current=y.scrollTop,E(`compaction-log-dialog`,qt((n,r)=>{if(r.escape){m?f(null):t();return}if(!m&&!_(n,r)){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[p];t&&f(t.id)}}},[m,e,p,t,_]),{isActive:l}),m?K(M,{header:K(Y,{color:r.secondary,bold:!0,children:B.t(`compact.logDetailTitle`,{kind:Ox[m.kind],time:Ex(m.timestamp)})}),footer:K(C,{items:[[O.esc,B.t(`hint.cancel`)]]}),children:K(J,{marginTop:I.tight,flexDirection:`column`,children:K(kx,{entry:m})})}):K(M,{header:K(Y,{color:r.secondary,bold:!0,children:B.t(`compact.logTitle`)}),footer:K(C,{items:[[`+`,g?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[`${O.up}${O.down}`,B.t(`hint.select`)],[O.enter,B.t(`compact.logViewSummary`)],[O.esc,B.t(`hint.cancel`)],[O.tab,B.t(`hint.tabFocus`)]]}),children:q(J,{marginTop:I.tight,flexDirection:`column`,children:[e.length===0?K(D,{type:`secondary`,dim:!0,children:B.t(`compact.logEmpty`)}):y.rows.map((e,t)=>{let n=y.scrollTop+t===p;return K(J,{flexDirection:`row`,children:q(Y,{color:n?r.selection:r.inactive,bold:n,children:[n?Ae():Ft(),Ex(e.timestamp),` `,Ox[e.kind].padEnd(8),` `,Dx(e)]})},e.id)}),y.fillerCount>0&&Array.from({length:y.fillerCount},(e,t)=>K(Y,{children:` `},`filler-${t}`))]})})}function jx({checked:e,onChange:t,label:n,tabIndex:r=0,disabled:i=!1}){let a=R(),{focused:o}=ee({tabIndex:r,disabled:i});y(o,(n,r)=>n===` `?(t(!e),!0):!1);let s=e?N.check:N.todoPending;return q(Y,{color:o?a.selection:e?a.success:a.inactive,children:[o?Ae():Ft(),s,` `,n]})}function Mx({options:e,selected:t,onSelect:n,onPick:r,escapeIndex:a,tabIndex:o=0}){return H(i.Root,{onPick:r,activeIndex:t,onActiveChange:n,escapeIndex:a,tabIndex:o,id:`choices-${e.map(e=>e.key).join(`-`)}`},...e.map(e=>H(i.Item,{key:e.key,label:e.label,color:e.color,shortcut:e.shortcut})))}const Nx=[`good`,`neutral`,`bad`];function Px(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 Fx({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}}),E(`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=l.fromText(e.commentText,t,e.commentOffset).left();return n?.({commentText:r.text,commentOffset:r.offset}),!0}if(i.rightArrow){let r=l.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=je(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=Dt(l.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=Nx.map(e=>({key:e,label:Px(e)}));return K(M,{header:K(be,{children:B.t(`pulse.title`)}),footer:K(Y,{children:B.t(`pulse.hintRating`)}),children:K(J,{marginTop:I.tight,children:K(Mx,{options:t,selected:e.selectedIndex,onSelect:e=>n?.({selectedIndex:e}),onPick:r=>{if(r>=t.length){e.onClose();return}n?.({phase:`comment`,rating:Nx[r]??`good`})},escapeIndex:t.length})})})}return K(M,{header:K(be,{children:e.rating?B.t(`pulse.commentTitle`,{ratingLabel:Px(e.rating)}):B.t(`pulse.title`)}),footer:K(Y,{children:B.t(`pulse.hintComment`)}),children:K(J,{marginTop:I.tight,flexDirection:`row`,children:K(mt,{value:e.commentText,offset:e.commentOffset,columns:t,mode:`dialog`,placeholder:B.t(`pulse.commentPlaceholder`),focused:!0,physicalCursor:!0})})})}function Ix({enabledCount:e}){let t=R();return e===0?null:K(Y,{color:t.accent,children:` * ${e} scheduled`})}function Lx({title:e,indent:t=I.section,titleIndent:n,children:r}){return q(J,{flexDirection:`column`,children:[e!=null&&K(ke,{label:e,indent:n}),K(J,{marginLeft:t,flexDirection:`column`,children:r})]})}const Rx=Math.max(...sv.map(e=>Math.max(Mt(e.en),Mt(e.zh))));function zx({tip:e}){let{resolvedTheme:t}=Ne();if(!e)return null;let n=B.t(`welcome.tipLabel`),r=Mt(n)+1+Rx+I.tight*2,i=Mt(e),a=i<Rx?e+` `.repeat(Rx-i):e,o=(t===`light`?pv:fv)[yv(0)],s=bv(r,0,t);return q(J,{flexDirection:`column`,alignSelf:`flex-start`,children:[q(J,{flexDirection:`row`,children:[K(Y,{color:o,children:`╭`}),s.map((e,t)=>K(Y,{color:e,children:`─`},t)),K(Y,{color:o,children:`╮`})]}),q(J,{flexDirection:`row`,children:[K(Y,{color:o,children:`│`}),q(J,{flexDirection:`row`,paddingX:I.tight,children:[q(D,{type:`accent`,children:[n,` `]}),K(D,{type:`secondary`,children:a})]}),K(Y,{color:o,children:`│`})]}),q(J,{flexDirection:`row`,children:[K(Y,{color:o,children:`╰`}),s.map((e,t)=>K(Y,{color:e,children:`─`},t)),K(Y,{color:o,children:`╯`})]})]})}const Bx={pointer:N.pointer,check:N.check,cross:N.cross,bullet:N.bullet,todoPending:N.todoPending,todoActive:N.todoActive,todoDone:N.todoDone,toggleOn:N.toggleOn,toggleOff:N.toggleOff,statusDot:N.statusDot,warn:N.warn,ellipsis:N.ellipsis};function Vx(e,t){if(e)return t[e]}function Hx({name:e,color:t,bold:n,dim:r,trailingSpace:i}){return q(Y,{color:Vx(t,R()),bold:n,dimColor:r,children:[Bx[e],i?` `:``]})}function Ux(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 Wx({color:e,dimColor:t=!0,showSeconds:n=!1}){let r=R(),[i,a]=G(()=>Ux(n));return U(()=>{let e=setInterval(()=>{a(Ux(n))},n?1e3:3e4);return()=>clearInterval(e)},[n]),K(Y,{color:e??r.inactive,dimColor:t,children:i})}function Gx({level:e,usedPct:t}){let n=R();return e===`healthy`?K(J,{}):K(J,{flexDirection:`row`,children:q(Y,{color:e===`critical`?n.error:n.warning,children:[` `,`<mem`,e===`critical`?`!!`:`!`,t===void 0?``:` ${Math.round(t)}%`,`> `]})})}function Kx({count:e,hasUrgent:t}){let n=R();return e===0?K(J,{}):K(J,{flexDirection:`row`,children:q(Y,{color:t?n.warning:n.accent,children:[` [`,e,`!]`]})})}const qx=3500;function Jx({toast:e,onDismiss:t}){return ee({tabIndex:0,id:`toast`,onEscape:()=>(t?.(),!0),onAction:()=>(t?.(),!0)}),E(`toast`,(e,n)=>n.ctrl?!1:(t?.(),!0)),K(M,{header:K(be,{children:e.title}),footer:K(C,{items:[[O.esc,B.t(`hint.close`)]]}),children:K(J,{marginTop:I.tight,children:K(Y,{children:e.content})})})}function Yx(e,t=10,n){let r=Math.max(1,Math.floor(t)),i=ue({percent:e,width:r}),a=i.pct,o=i.filledCount,s=a>=90?F.error:a>=80?F.warning:F.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 Xx({columns:e,footerVisible:n,perfIndicatorLevel:r,perfIndicatorUsedPct:i,modelName:a,budget:o,badgeEntries:s,fullScreenPaneActive:c,scheduleEnabledCount:l,agentProcessing:u,queuedItems:d,notifications:f,language:p,welcome:m,messages:h,hasHistory:g,paused:_=!1,pausePending:v=null,shadow:y=!1}){let b=R();return q(J,{flexDirection:`row`,justifyContent:`space-between`,width:e,height:1,overflow:`hidden`,children:[q(J,{flexDirection:`row`,children:[y&&K(Y,{bold:!0,color:b.warning,children:`🕶 ${B.t(`welcome.shadowBadge`)} `}),n.perfIndicator&&K(Gx,{level:r,usedPct:i}),n.modelName&&a&&K(Y,{color:b.suggestion,children:a}),n.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=Yx(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:b.warning}),i>=0&&(n.compact={pos:i,color:b.error}),q(Y,{children:[` `,K(Je,{percent:t.pct,width:t.total,chars:`dot`,color:t.color,markers:n,labelPosition:`suffix`,labelPrefix:o.live?`~`:``})]})})(),s.map(e=>q(Y,{color:e.color===`warning`?b.warning:b.inactive,children:[e.separator===`dot`?` · `:` `,e.text]},e.id)),n.scheduleIndicator&&!c&&K(Ix,{enabledCount:l})]}),q(J,{flexDirection:`row`,children:[n.hintText&&K(Y,{color:_||v?b.warning:b.inactive,children:v?`${B.t(`pause.toolCount`,{n:v.toolCount,s:v.elapsedSec})} /continue ${B.t(`pause.btnCancel`)}`:_?`${B.t(`cmd.titlePaused`)} · ${B.t(`hint.pausedContinue`)}`:u?e>=76?`${O.enter} ${B.t(`hint.steer`)} · ${xt()} ${B.t(`hint.newline`)} · ${Le()} ${B.t(`hint.queue`)} · ${O.esc} ${d.length>0?B.t(`hint.delOne`):B.t(`hint.toInterrupt`)}`:`${O.esc}${d.length>0?` ${B.t(`hint.delOne`)}`:`/${t(`c`)} ${B.t(`hint.toInterrupt`)}`}`:e>=76?`${O.right} ${B.t(`hint.autosuggestAccept`)} · Tab ${B.t(`hint.autosuggestMenu`)} · ${t(`r`)} ${B.t(`hint.history`)} · /help`:`/help`}),n.notificationBell&&f.some(e=>!e.read)&&K(D,{type:`secondary`,children:` · `}),n.notificationBell&&K(Kx,{count:f.filter(e=>!e.read).length,hasUrgent:f.some(e=>e.level===`error`&&!e.read)}),(()=>{let e=n.language&&!!p,t=n.liveClock&&!c&&(!m||h.length>0||g);return!e&&!t?null:q(D,{type:`secondary`,children:[` `,e&&(p===`zh`?`中`:`EN`),e&&t&&` `,t&&K(Wx,{color:b.inactive,dimColor:!1})]})})()]})]})}const Zx=()=>{},Qx=[{id:`Button`,category:`components`,title:`Button`,variants:[{name:`solid/accent`,render:()=>H(P,{variant:`solid`,color:`accent`,label:`Approve`,focused:!0})},{name:`solid/amber`,render:()=>H(P,{variant:`solid`,color:`amber`,label:`Upgrade`,focused:!0})},{name:`solid/red`,render:()=>H(P,{variant:`solid`,color:`red`,label:`Delete`,focused:!0})},{name:`solid/green`,render:()=>H(P,{variant:`solid`,color:`green`,label:`Confirm`,focused:!0})},{name:`outline/accent`,render:()=>H(P,{variant:`outline`,color:`accent`,label:`Select`,focused:!0})},{name:`outline/gray`,render:()=>H(P,{variant:`outline`,color:`gray`,label:`Cancel`,focused:!1})},{name:`ghost/accent`,render:()=>H(P,{variant:`ghost`,color:`accent`,label:`Escape`,focused:!0})},{name:`ghost/gray`,render:()=>H(P,{variant:`ghost`,color:`gray`,label:`Dismiss`,focused:!1})},{name:`disabled`,render:()=>H(P,{variant:`solid`,color:`accent`,label:`Unavailable`,disabled:!0})}]},{id:`Segmented`,category:`components`,title:`Segmented`,variants:[{name:`three-tabs`,render:()=>H(Pb,{items:[{key:`events`,label:`Events`},{key:`tools`,label:`Tools`},{key:`budget`,label:`Budget`}],activeKey:`tools`})},{name:`with-disabled`,render:()=>H(Pb,{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(Nb,{label:`Events`,active:!0})},{name:`inactive`,render:()=>H(Nb,{label:`Tools`,active:!1})}]},{id:`GroupDivider`,category:`components`,title:`GroupDivider`,variants:[{name:`default`,render:()=>H(ke,{label:`File`})}]},{id:`ScrollIndicatorAbove`,category:`components`,title:`ScrollIndicatorAbove`,variants:[{name:`with-count`,render:()=>H(g,{hasMore:!0,count:12})},{name:`no-count`,render:()=>H(g,{hasMore:!0})}]},{id:`ScrollIndicatorBelow`,category:`components`,title:`ScrollIndicatorBelow`,variants:[{name:`with-count`,render:()=>H(b,{hasMore:!0,count:7})},{name:`no-count`,render:()=>H(b,{hasMore:!0})}]},{id:`Group`,category:`components`,title:`Group`,variants:[{name:`with-title`,render:()=>H(Lx,{title:`Settings`,children:H(Y,{},`Auto-indented content`)})},{name:`no-title`,render:()=>H(Lx,{children:H(Y,{},`Indent only, no title divider`)})},{name:`custom-indent=4`,render:()=>H(Lx,{title:`Wide indent`,indent:4,children:H(Y,{},`Indented by 4 columns`)})}]},{id:`Choices`,category:`components`,title:`Choices`,variants:[{name:`vertical-numbered`,render:()=>H(Mx,{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:Zx,onPick:Zx,escapeIndex:1})}]},{id:`Menu`,category:`components`,title:`Menu (RFC-268 竖排编号原语)`,variants:[{name:`composite-api`,render:()=>H(i.Root,{onPick:Zx},H(i.Item,{label:`Trust — full access`,color:`green`}),H(i.Item,{label:`Read-only this session`,color:`accent`}),H(i.Item,{label:`No, exit`,color:`gray`}))}]},{id:`Typography`,category:`components`,title:`Typography (RFC-269 文字层级)`,variants:[{name:`type-scale`,render:()=>H(J,{flexDirection:`column`},H(D,{type:`primary`},`primary — 正文(终端默认前景)`),H(D,{type:`secondary`},`secondary — 次级/说明文字`),H(D,{type:`danger`},`danger — 错误态`),H(D,{type:`success`},`success — 成功态`),H(D,{type:`warning`},`warning — 警示态`),H(D,{type:`accent`},`accent — 品牌强调(守恒 ≤5%)`))}]},{id:`Tag`,category:`components`,title:`Tag (RFC-269 内联标签)`,variants:[{name:`view-label`,render:()=>H(Ze,{leadingSpace:!0},`Rendered`)},{name:`counter`,render:()=>H(Ze,null,`2/5`)}]},{id:`Kbd`,category:`components`,title:`Kbd (RFC-269 键位标签)`,variants:[{name:`single-key`,render:()=>H(Se,null,`↵`)},{name:`chord`,render:()=>H(Se,null,`⇧+↵`)}]},{id:`ProgressBar`,category:`components`,title:`ProgressBar (RFC-279)`,variants:[{name:`simple/ascii`,render:()=>H(Je,{percent:45,width:30,chars:`ascii`,color:F.accent})},{name:`simple/block`,render:()=>H(Je,{percent:68,width:24,chars:`block`,color:F.warning})},{name:`simple/dot`,render:()=>H(Je,{percent:30,width:10,chars:`dot`,color:F.suggestion})},{name:`segments`,render:()=>H(Je,{percent:0,width:30,chars:`block`,labelPosition:`prefix`,segments:[{key:`overhead`,width:4,color:F.accent},{key:`messages`,width:18,color:F.success},{key:`free`,width:8,color:F.inactive,dimColor:!0}]})},{name:`markers`,render:()=>H(Je,{percent:90,width:10,chars:`dot`,color:F.suggestion,markers:{prune:{pos:7,color:F.warning},compact:{pos:9,color:F.error}}})}]},{id:`ScrollableBody`,category:`components`,title:`ScrollableBody (RFC-271 滚动容器)`,variants:[{name:`overflow-with-hint`,render:()=>H(mx,{visibleRows:5,offset:0},...Array.from({length:8},(e,t)=>H(Y,{key:t},`row ${t+1}`)))},{name:`fits-no-scroll`,render:()=>H(mx,{visibleRows:5,offset:0},...Array.from({length:3},(e,t)=>H(Y,{key:t},`row ${t+1}`)))}]},{id:`IdleTipCard`,category:`components`,title:`IdleTipCard (空闲技巧卡片)`,variants:[{name:`with-tip`,render:()=>H(zx,{tip:`Ctrl+R 搜索历史命令`})}]},{id:`Icon`,category:`components`,title:`Icon (RFC-273 具名图标)`,variants:[{name:`named-icons`,render:()=>H(J,{flexDirection:`column`},H(Hx,{name:`pointer`,color:`selection`,trailingSpace:!0}),H(Hx,{name:`check`,color:`success`}),H(Hx,{name:`cross`,color:`error`}),H(Hx,{name:`statusDot`,color:`accent`}))}]},{id:`DialogFrame`,category:`components`,title:`DialogFrame`,variants:[{name:`default`,render:()=>H(M,{header:H(be,{children:`Confirm action`}),children:H(P,{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(be,{children:`Settings`})},{name:`warning-color`,render:()=>H(be,{color:F.warning,children:`Forced upgrade`})}]},{id:`HintBar`,category:`components`,title:`HintBar`,variants:[{name:`multi-hint`,render:()=>H(C,{items:[[`← →`,`select`],[`Enter`,`confirm`],[`y/n/a`,`shortcut`],[`Esc`,`cancel`]]})}]},{id:`LiveClock`,category:`components`,title:`LiveClock`,variants:[{name:`default`,render:()=>H(Wx,{})}]},{id:`Spinner`,category:`components`,title:`Spinner`,variants:[{name:`responding`,render:()=>H(Cl,{verb:`Thinking`,mode:`responding`,responseLength:128,tokens:6800,progressPercent:42})},{name:`requesting`,render:()=>H(Cl,{verb:`Reticulating`,mode:`requesting`})},{name:`stalled`,render:()=>H(Cl,{verb:`Waiting`,responseLength:64,hasActiveTools:!1,toolTurnCount:8,maxToolTurns:10})}]},{id:`StreamingSpinner`,category:`components`,title:`StreamingSpinner`,variants:[{name:`streaming`,render:()=>{let e=Tl();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(Al,{streamStore:e,pendingPermission:null})}}]},{id:`BreathingTool`,category:`components`,title:`BreathingTool`,variants:[{name:`default`,render:()=>H(_l,{name:`grep`})}]},{id:`ThinkingLine`,category:`components`,title:`ThinkingLine`,variants:[{name:`default`,render:()=>H(hl,{tokens:6800,toolTurnCount:2,maxToolTurns:12,promptOutputTokens:1200,promptOutputTokenBudget:8e3})}]},{id:`PerfIndicator`,category:`components`,title:`PerfIndicator`,variants:[{name:`warning`,render:()=>H(Gx,{level:`warning`,usedPct:72.4})},{name:`critical`,render:()=>H(Gx,{level:`critical`,usedPct:91.2})},{name:`warning (no usedPct)`,render:()=>H(Gx,{level:`warning`})}]},{id:`NotificationBell`,category:`components`,title:`NotificationBell`,variants:[{name:`normal`,render:()=>H(Kx,{count:3,hasUrgent:!1})},{name:`urgent`,render:()=>H(Kx,{count:1,hasUrgent:!0})}]},{id:`Toast`,category:`components`,title:`Toast`,variants:[{name:`default`,render:()=>H(Jx,{toast:{id:1,title:`Theme changed`,content:`Switched to dark theme`}})}]},{id:`Home`,category:`components`,title:`Home`,variants:[{name:`default`,render:()=>H(Vv,{version:`0.1.0`,buildId:1234,cwd:`/home/user/project`})}]},{id:`SignalBar`,category:`components`,title:`SignalBar`,variants:[{name:`all counts (delegates active)`,render:()=>H(hy,{counts:{tasks:4,delegates:3,services:1,edited:7,subagents:2,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,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(hy,{counts:{tasks:0,delegates:0,services:0,edited:2,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},tabHint:`Tab to switch`})},{name:`clipboard copied (success)`,render:()=>H(hy,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:128},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag`}})},{name:`clipboard failed (warning, no count)`,render:()=>H(hy,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:0,clipboardFailed:!0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag for native copy`}})},{name:`empty (blank 1-row placeholder)`,render:()=>H(hy,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,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(Xx,{columns:120,footerVisible:S_(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,scheduleEnabledCount:0,agentProcessing:!1,queuedItems:[],notifications:[],language:`en`,welcome:void 0,messages:[],hasHistory:!0})},{name:`narrow (agent processing)`,render:()=>H(Xx,{columns:60,footerVisible:S_(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,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(jx,{checked:!0,label:`Enable telemetry`,onChange:()=>{}})},{name:`unchecked`,render:()=>H(jx,{checked:!1,label:`Enable telemetry`,onChange:()=>{}})}]},{id:`List`,category:`components`,title:`List`,variants:[{name:`three-options`,render:()=>H(vt,{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(Me,{label:`model-a`,detail:`fast · 200k ctx`})},{name:`disabled`,render:()=>H(Me,{label:`model-x`,detail:`unavailable`,disabled:!0})}]},{id:`Wordmark`,category:`components`,title:`Wordmark`,variants:[{name:`default`,render:()=>H(Nv)}]},{id:`ScheduleIndicator`,category:`components`,title:`ScheduleIndicator`,variants:[{name:`two-scheduled`,render:()=>H(Ix,{enabledCount:2})}]},{id:`PulseSurveyOverlay`,category:`components`,title:`PulseSurveyOverlay`,variants:[{name:`rating`,render:()=>H(Fx,{item:{phase:`rating`,rating:null,selectedIndex:0,commentText:``,commentOffset:0,onSubmit:()=>{},onClose:()=>{}},columns:60})}]}],$x=()=>{},eS=Date.UTC(2026,6,10,12,0,0),tS=[{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}],nS=[{id:`d1`,command:`refactor error handling in run-modes.ts`,type:`agent-session`,origin:`user`,status:`running`,agentStatus:`ready`,startedAt:eS-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:eS-45e3,port:5173},{id:`d3`,command:`grep -rn TODO packages/`,type:`process`,status:`exited`,startedAt:eS-3e5,exitCode:0},{id:`d4`,command:`audit security surface`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`needs_input`,startedAt:eS-15e3,turnIndex:2,toolUseCount:3,model:`deepseek-v4`}],rS={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 ${N.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 …
|
|
70
|
+
`).map((e,t)=>({type:`remove`,content:e,oldLine:t+1}))}]:[]},[c,h]),S=Yt(()=>{if(c===`full`)return b?.lines??[];if(c===`wholeFileDiff`){let t=x.reduce((e,t)=>e+t.lines.length,0),n=lc(e.path);return fc(x,f&&n!==``&&t<=2e3?{highlight:Ha,lang:n}:{})}let t=hm(e),n=t.reduce((e,t)=>e+t.lines.length,0),r=lc(e.path);return fc(t,f&&r!==``&&n<=2e3?{highlight:Ha,lang:r}:{})},[e,f,c,b,x]),C=c===`full`?b?.wrapMode??`truncate`:`truncate`,te=o!=null||(e.operation===`delete`?e.oldContent:e.newContent)!=null,w=o!=null,ne=qt(()=>{l(e=>e===`diff`?w?`wholeFileDiff`:te?`full`:`diff`:e===`wholeFileDiff`&&te?`full`:`diff`)},[w,te]),re=w||te,ie=V.t(`diff.fileOpLabel`,{context:e.operation}),ae=e.operation===`edit`?s.accent:e.operation===`write`?s.success:s.error,E=c===`wholeFileDiff`?h.status===`loading`?V.t(`diff.loading`):h.status===`error`?V.t(`diff.error`,{message:h.message}):void 0:c===`full`&&v==null&&h.status===`error`?V.t(`diff.error`,{message:h.message}):v==null&&(e.addedLines>0||e.removedLines>0)?V.t(`common.contentUnavailable`):void 0,D=Yt(()=>c!==`wholeFileDiff`||h.status!==`ready`?null:Do(x),[c,h.status,x]),oe=(ee()?.currentPath??`/`).endsWith(`/find`),O=e=>{let t=I();t&&(e&&!t.currentPath.endsWith(`/find`)?t.navigate(t.currentPath+`/find`):!e&&t.currentPath.endsWith(`/find`)&&t.goBack())};return q(yc,{lines:S,rows:n,header:J(Y,{children:[q(X,{color:ae,bold:!0,children:ie}),J(X,{color:s.text,children:[` `,e.path]}),c===`wholeFileDiff`?q(T,{leadingSpace:!0,children:V.t(`diff.modeLabel`)}):c===`full`&&y.length>1&&b?q(T,{leadingSpace:!0,children:b.label}):null,J(L,{type:`secondary`,children:[` `,V.t(`diff.linesTotalLabel`,{count:S.length}),c===`wholeFileDiff`&&D?J(Xt,{children:[D.added>0&&` +${D.added}`,D.removed>0&&` -${D.removed}`,` `,`(`,V.t(`diff.modeLabel`),`)`]}):J(Xt,{children:[e.addedLines>0&&` +${e.addedLines}`,e.removedLines>0&&` -${e.removedLines}`]})]})]}),onDismiss:i,onKey:(e,t)=>{if(e===`f`&&re)return ne(),!0;if((e===`[`||e===`]`)&&c===`full`&&y.length>1){let t=e===`[`?-1:1;return d(e=>(e+t+y.length)%y.length),!0}return!1},initialScroll:`bottom`,emptyMessage:E,active:a,contentKey:`${e.path}:${c}:${b?.id??``}:${h.status}`,columns:r,wrapMode:c===`full`?C:`truncate`,extraHints:[...re?[[`f`,V.t(`hint.switch`)]]:[],...c===`full`&&y.length>1?[[`[ ]`,V.t(`hint.tabSwitchOutput`)]]:[],[t.tab,V.t(`hint.tabFocus`)]],findActive:oe,onFindModeChange:O})}function _m({tasks:e,rows:n,onDismiss:r}){let i=P(),a=Yt(()=>e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService),[e]),[o,s]=K(0),{maxRows:c,handleExpandKey:l}=_a(n),u=Math.max(3,c-6),d=Math.max(0,a.length-u),f=Math.min(o,d),p=a.slice(f,f+u),m=a.length===0;return mt({tabIndex:0,id:`services-dialog`,onEscape:()=>(r(),!0)}),tf(e=>s(t=>Math.min(d,Math.max(0,t-e))),[d]),k(`services-dialog`,(e,t)=>t.escape?(r(),!0):l(e,t)?!0:t.upArrow?(s(e=>Math.max(0,e-1)),!0):t.downArrow?(s(e=>Math.min(d,e+1)),!0):t.pageUp?(s(e=>Math.max(0,e-u)),!0):t.pageDown?(s(e=>Math.min(d,e+u)),!0):e===`g`&&!t.ctrl&&!t.meta?(s(0),!0):e===`G`&&!t.ctrl&&!t.meta?(s(d),!0):!1),q(O,{header:q(xe,{children:V.t(`service.sTitle`)}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}/g/G`,V.t(`hint.scroll`)],[t.esc,V.t(`hint.close`)]]}),children:m?q(Y,{marginTop:R.tight,children:q(L,{type:`secondary`,dim:!0,children:V.t(`service.sEmpty`)})}):J(Y,{flexDirection:`column`,children:[q(Y,{height:1,children:f>0?q(w,{hasMore:!0,count:f}):q(X,{children:` `})}),p.map((e,t)=>{let n=e.detectedService,r=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:i.accent,children:`↕ `}),q(X,{color:i.selection,children:r})]}),q(Y,{marginLeft:R.section,children:J(L,{type:`secondary`,dim:!0,children:[e.command,` · `,a,n.port?` · :${n.port}`:``]})})]},f+t)}),q(Y,{height:1,children:f+u<a.length?q(re,{hasMore:!0,count:a.length-f-u}):q(X,{children:` `})})]})})}function vm({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=Yt(()=>t.split(`
|
|
71
|
+
`),[t]),f=(e,t)=>e===`c`&&!t.ctrl&&!t.meta&&s?(s(),!0):e===`a`&&!t.ctrl&&!t.meta&&o&&c?(c(),!0):!1,p=[...s?[[`c`,V.t(`shell.copyHint`)]]:[],...o&&c?[[`a`,V.t(`shell.hint`)]]:[]],m=(ee()?.currentPath??`/`)===`/viewer/shell-output/find`;return q(yc,{lines:d,rows:n,columns:r,wrapMode:`truncate`,scrollStore:l,header:J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[J(xe,{children:[`>`,` `,e]}),q(X,{dimColor:!0,children:V.t(`diff.linesTotalLabel`,{count:d.length})})]}),onDismiss:i,onKey:f,extraHints:p.length>0?p:void 0,initialScroll:`top`,active:a,contentKey:e,findActive:m,onFindModeChange:e=>{let t=I();t&&(e&&t.currentPath===`/viewer/shell-output`?t.navigate(`/viewer/shell-output/find`):!e&&t.currentPath===`/viewer/shell-output/find`&&t.goBack())}})}function ym(e){let t=Eu(),{stdout:n}=an(),{currentPath:r,stack:i,dismiss:a}=pe(),o=e=>i.some(t=>t.path===e),{taskStore:s}=pu(),c=Z(s.store,e=>e.backgroundOutput),l=Z(s.store,e=>e.backgroundTasks),{columns:u,rows:d,fullScreenPaneActive:f,shellFullOutput:p,shellExecution:m,setShellFullOutput:h,editedFileFull:g,closeEditedFileFull:_,resolveWholeFileDiff:v}=e;return J(Xt,{children:[!f&&!p&&m&&q(mm,{exec:m,totalLines:m.output.split(`
|
|
72
|
+
`).length,columns:u,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi,onAbort:t.onShellAbort,onDismiss:t.onShellDismiss,onViewFullOutput:h,active:r===`/pane/shell`}),c&&q(_f,{view:c,columns:u,rows:n?.rows,active:r===`/pane/delegates/output`,onDismiss:t.onBackgroundOutputClose}),g!==null&&q(gm,{file:g,rows:n?.rows??d,columns:u,onDismiss:_,active:r.startsWith(`/pane/edited-files/`),resolveWholeFileDiff:v}),o(`/overlay/services`)&&q(D,{path:`/overlay/services`,inStack:!0,element:q(_m,{tasks:l,columns:u,rows:n?.rows??d,onDismiss:()=>{a(`/overlay/services`)}})}),p&&q(vm,{command:p.command,output:p.output,rows:n?.rows??d,columns:u,onDismiss:()=>h(null),active:r===`/viewer/shell-output`,scrollStore:e.scrollStore,isError:p.isError,onCopyOutput:t.onShellCopyOutput,onAskAi:t.onShellAskAi?()=>{t.onShellAskAi?.(),h(null),t.onShellDismiss?.()}:void 0})]})}function bm(e,t){switch(e){case`healthy`:return t.accent;case`warning`:return t.warning;case`critical`:return t.error}}function xm(e){return`${(e/1024/1024).toFixed(1)}MB`}function Sm({session:e}){let t=P();if(!e)return q(L,{type:`secondary`,children:`collecting…`});let n=e.occupancyPct===void 0?``:` (${e.occupancyPct}%)`,r=e.contextWindow?.toLocaleString()??`N/A`;return J(Y,{flexDirection:`column`,children:[q(Cm,{label:V.t(`cmd.statusRowTitle`),value:e.title}),q(Cm,{label:V.t(`cmd.statusRowSessionId`),value:e.sessionId}),q(Cm,{label:V.t(`cmd.statusRowModel`),value:e.modelId}),q(Cm,{label:V.t(`cmd.statusRowMsgs`),value:String(e.messageCount)}),q(Cm,{label:V.t(`cmd.statusRowOccupancy`),value:V.t(`cmd.statusValueOccupancy`,{occ:e.occupancy.toLocaleString(),window:r,seg:n})}),q(Cm,{label:V.t(`cmd.statusRowCumOutput`),value:e.cumOutput.toLocaleString()}),q(Cm,{label:V.t(`cmd.statusRowWriteAccess`),value:e.writeLeaseReadOnly?V.t(`cmd.statusValueWriteLeaseReadOnly`):V.t(`cmd.statusValueWriteLeaseOk`),tone:e.writeLeaseReadOnly?`warning`:void 0}),e.isPaused&&J(Xt,{children:[q(Y,{children:q(X,{children:` `})}),q(X,{color:t.warning,children:V.t(`cmd.statusLineRunPaused`)})]})]})}function Cm({label:e,value:t,tone:n}){let r=P();return J(Y,{children:[q(X,{color:r.inactive,children:e}),q(X,{children:` `}),q(X,{color:n===`warning`?r.warning:void 0,children:t})]})}function wm({memory:e,history:t}){let n=P();return e?J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:bm(e.level,n),bold:!0,children:e.level}),J(L,{type:`secondary`,children:[` `,e.usedPct.toFixed(1),`%`]}),t.length>=2&&J(L,{type:`secondary`,children:[` `,Ea(t,20)]})]}),J(L,{type:`secondary`,children:[xm(e.heapUsed),` / `,xm(e.heapSizeLimit),` heap`]})]}):q(L,{type:`secondary`,children:`collecting…`})}function Tm({notify:e}){let t=P();if(!e)return q(L,{type:`secondary`,dim:!0,children:`collecting…`});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(L,{type:`secondary`,children:[` `,e.coalesceRatio.toFixed(1),`x merge`]})]}),J(L,{type:`secondary`,children:[`coalesced `,e.coalescedCalls,`→`,e.coalescedFires,` · direct `,e.immediateCalls,` · flush `,e.flushFires]})]})}function Em(e){let t=typeof e==`string`?e:JSON.stringify(e);return t===void 0?`undefined`:rt(t,121)}function Dm({metrics:e,maxRows:t=1/0}){let n=P();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:R.loose,marginBottom:R.tight,children:q(L,{type:`secondary`,bold:!0,children:`Plugins`})}),r.map(e=>J(Y,{flexDirection:`row`,children:[q(X,{color:n.suggestion,children:e.label}),q(L,{type:`secondary`,children:` `}),e.error?J(X,{color:n.error,children:[`error: `,e.error]}):q(L,{type:`secondary`,children:Em(e.value)})]},e.id)),i>0&&J(L,{type:`secondary`,dim:!0,children:[` `,i,` more`]})]})}function Om({statusStore:e,onDismiss:n,onRefresh:r,rows:i=24}){let a=P(),o=Z(e.store,e=>e),{maxRows:s,handleExpandKey:c}=_a(i),l=ee();return k(`status-panel`,(e,t)=>{if(t.escape){n();return}c(e,t)||e===`r`&&r()},{isActive:l?l.currentPath===`/pane/status`:!0}),q(O,{header:q(X,{color:a.secondary,bold:!0,children:`Status`}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`r`,V.t(`hint.refresh`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[q(Y,{marginBottom:R.tight,children:q(L,{type:`secondary`,bold:!0,children:`Session`})}),q(Sm,{session:o.session}),q(Y,{marginTop:R.loose,marginBottom:R.tight,children:q(L,{type:`secondary`,bold:!0,children:`Memory`})}),q(wm,{memory:o.memory,history:o.memoryHistory}),q(Y,{marginTop:R.loose,marginBottom:R.tight,children:q(L,{type:`secondary`,bold:!0,children:`Rendering`})}),q(Tm,{notify:o.notify}),q(Dm,{metrics:o.pluginMetrics,maxRows:p(9+o.pluginMetrics.length+7,i,s)-9-7})]})})}function km(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 Am({children:e,visibleRows:t,offset:n,showHint:r=!0,onScroll:i}){let a=Yt(()=>H.Children.toArray(e),[e]),o=Ca();W(()=>{if(!(!o||!i))return o.registerWheel(e=>{i(ba(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=va(a.length,c,n);return J(Y,{flexDirection:`column`,children:[a.slice(l.start,l.end),s&&r&&q(L,{type:`secondary`,children:l.below>0?` ↓ ${l.below} more${l.above>0?` · ↑ ${l.above}`:``}`:` ↑ ${l.above} above`})]})}function jm(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}m`}function Mm(e,t){return e>=80?t.accent:e>=40?t.warning:t.error}function Nm({ratio:e,width:t}){let n=P(),r=Math.max(0,Math.min(100,Math.round(e*100))),i=Math.min(24,Math.max(8,t-20)),a=Mm(r,n);return J(Y,{children:[J(X,{color:a,bold:!0,children:[String(r).padStart(3),`%`,` `]}),q(Ge,{percent:r,width:i,chars:`block`,color:a,labelPosition:`none`})]})}function Pm({label:e}){return J(L,{type:`secondary`,dim:!0,children:[e,`: n/a(供应商未报告缓存数据)`]})}function Fm({row:e,width:t}){let n=P(),r=e.cacheReadTokens+e.cacheWriteTokens+e.inputTokens,i=e.hitRatio===null?`n/a`:`${Math.round(e.hitRatio*100)}%`,a=e.hitRatio===null?n.inactive:Mm(Math.round(e.hitRatio*100),n),o=`${e.modelName} read ${jm(e.cacheReadTokens)} · write ${jm(e.cacheWriteTokens)} · total ${jm(r)}`;return J(Y,{justifyContent:`space-between`,children:[q(X,{color:n.suggestion,children:rt(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(L,{type:`secondary`,children:`collecting…`},`collecting`)];if(!(e.totalCacheReadTokens+e.totalCacheWriteTokens+e.totalInputTokens>0))return[q(L,{type:`secondary`,children:`本会话暂无缓存用量数据`},`nodata`)];let r=[];if(r.push(q(L,{type:`secondary`,bold:!0,children:`Session hit rate`},`h-session`)),r.push(e.sessionHitRatio===null?q(Pm,{label:V.t(`cache.sessionLabel`)},`v-session`):q(Nm,{ratio:e.sessionHitRatio,width:t},`v-session`)),r.push(q(Y,{},`gap-1`)),r.push(q(L,{type:`secondary`,bold:!0,children:`Last turn`},`h-last`)),r.push(e.lastTurnHitRatio===null?q(Pm,{label:V.t(`cache.lastTurnLabel`)},`v-last`):q(Nm,{ratio:e.lastTurnHitRatio,width:t},`v-last`)),r.push(q(Y,{},`gap-2`)),r.push(q(L,{type:`secondary`,children:`cache read ${jm(e.totalCacheReadTokens)} · cache write ${jm(e.totalCacheWriteTokens)} · input ${jm(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(L,{type:`secondary`,bold:!0,children:`By model`},`h-model`));for(let n of e.perModel)r.push(q(Fm,{row:n,width:t},n.modelId))}return r}function Lm({cacheStore:e,onDismiss:n,rows:r=24}){let i=P(),a=Z(e.store,e=>e),[o,s]=K(0),c=Im({view:a.view,width:60,colors:i}),{maxRows:l,handleExpandKey:u}=_a(r),d=Math.max(1,l-7),f=ee();return k(`cache-panel`,(e,t)=>{if(t.escape){n();return}if(u(e,t))return;let r=km(t,o,c.length,d);r!==null&&s(r)},{isActive:f?f.currentPath===`/pane/cache`:!0}),q(O,{header:q(X,{color:i.secondary,bold:!0,children:`Cache`}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[t.esc,V.t(`hint.close`)],[t.tab,V.t(`hint.tabFocus`)]]}),children:q(Y,{marginTop:R.tight,flexDirection:`column`,children:q(Am,{visibleRows:d,offset:o,onScroll:s,children:c})})})}function Rm(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(De(`list-nav-up`,t,n))return o(e=>(e-1+l)%l),!0;if(De(`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 zm({field:e,selected:t,emptyLabel:n=`未设置`}){let r=P(),i=t?Mt():ke(),a=t?r.selection:void 0;if(e.kind===`switch`){let n=e.value?B.statusDot:B.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 Bm(e){try{let t=new URL(e);return t.password?e.replace(`:${t.password}@`,`:••••@`):e}catch{return e}}function Vm({view:e,onDismiss:n,onOpenModal:r,onSubmitUrl:i,onToggleEnabled:a,onClear:o,onTest:s,rows:c=24}){let l=P(),u=e.url?e.enabled===!1?`disabled`:`enabled`:`unconfigured`,d=e.url?[{kind:`input`,id:`url`,label:V.t(`proxy.fieldUrl`),value:Bm(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`)}],f=(e,t)=>{e===`url`&&typeof t==`string`&&i(t),e===`enabled`&&typeof t==`boolean`&&a()},p=u!==`unconfigured`,m=u===`unconfigured`?e.detectedEnvProxy:void 0,h=[...m?[{id:`adopt-env`,label:V.t(`proxy.actionAdoptEnv`,{value:Bm(m.value),source:m.source})}]:[],...p&&s?[{id:`test`,label:V.t(`proxy.actionTest`)}]:[],...p?[{id:`clear`,label:V.t(`proxy.actionClear`)}]:[]],[g,_]=K(!1),v=()=>{_(!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:()=>{_(!1),o()},onCancel:()=>_(!1)})},{selectedIndex:y,editing:b,handleKey:x,isTrailingSelected:S}=Rm(d,r,f,h,e=>{e===`clear`&&v(),e===`test`&&s?.(),e===`adopt-env`&&m&&i(m.value)}),C=b||g,{maxRows:ee,handleExpandKey:te}=_a(c),w=Math.max(1,ee-7),ne=1+(S?d.length:y),re=Math.max(0,ne-w+2),ie=e.url&&e.enabled!==!1?e.url:void 0,T=e.effectiveUrl!==ie,ae=e.probe,E=null;ae&&ae.status!==`idle`?E=ae.status===`probing`?q(L,{type:`secondary`,children:V.t(`proxy.probeProbing`)},`note`):ae.status===`ok`?J(X,{color:l.success,children:[B.check,` `,V.t(`proxy.probeOk`,{latency:ae.latencyMs,target:ae.target})]},`note`):J(X,{color:ae.blamesProxy?l.error:l.warning,children:[B.cross,` `,V.t(ae.blamesProxy?`proxy.probeFailedProxy`:`proxy.probeFailedTarget`,{reason:ae.reason})]},`note`):u!==`unconfigured`&&T&&(E=J(X,{color:l.warning,children:[B.warn,` `,e.effectiveUrl?V.t(`proxy.effectiveMismatch`,{effective:Bm(e.effectiveUrl)}):V.t(`proxy.effectiveNotApplied`)]},`note`));let D=Ca();return W(()=>{if(D)return D.registerWheel(e=>{if(C)return;let t=Math.abs(e)*3,n={upArrow:e>0,downArrow:e<0};for(let e=0;e<t;e++)x(``,n)})},[D,C,x]),k(`proxy-pane`,(e,t)=>{if(t.escape){n();return}te(e,t)||x(e,t)},{isActive:!C}),q(O,{header:q(X,{color:l.secondary,bold:!0,children:V.t(`proxy.title`)}),footer:C?void 0:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`hint.execute`)],[t.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:R.tight,flexDirection:`column`,children:J(Am,{visibleRows:w,offset:re,children:[q(Oe,{label:V.t(`proxy.groupConfig`),indent:``},`h-config`),d.map((e,t)=>q(zm,{field:e,selected:!C&&t===y,emptyLabel:V.t(`proxy.urlEmpty`)},e.id)),h.map((e,t)=>{let n=S&&!C&&y-d.length===t,r=e.id===`clear`?l.error:void 0;return J(X,{color:n?l.selection:r,bold:n,children:[n?Mt():ke(),e.label]},e.id)}),E,q(X,{children:` `},`gap`),q(Oe,{label:V.t(`proxy.groupAbout`),indent:``},`h-about`),q(L,{type:`secondary`,children:V.t(`proxy.aboutScope`)},`d1`),q(L,{type:`secondary`,children:V.t(`proxy.aboutLoopback`)},`d2`),q(L,{type:`secondary`,children:V.t(`proxy.aboutStorage`,{path:e.configPath})},`d3`),q(L,{type:`secondary`,dim:!0,children:V.t(`proxy.aboutCommand`)},`d4`)]})})})}function Hm(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 Um(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 Wm={compact:`compact`,prune:`prune`,history_capped:`history`};function Gm({entry:e}){return e.kind===`compact`?J(Y,{flexDirection:`column`,children:[q(L,{type:`secondary`,children:Um(e)}),q(Y,{marginTop:R.tight,children:e.summary?q(X,{children:e.summary}):q(L,{type:`secondary`,dim:!0,children:V.t(`compact.logNoSummary`)})})]}):q(L,{type:`secondary`,children:Um(e)})}function Km({entries:e,onClose:n,rows:r=24}){let i=P(),[a,o]=ga(`compactionLog`,e.length),s=ee(),c=s?.currentPath??`/`,l=s?c.startsWith(`/pane/compaction-log`):!0,u=c.match(/^\/pane\/compaction-log\/(\d+)$/),d=u?Number(u[1]):null,f=e=>{let t=I();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=d==null?void 0:e.find(e=>e.id===d),{maxRows:g,handleExpandKey:_}=_a(r),v=G(0),y=Et(e,m,p(e.length+7,r,g)-7,v.current);return v.current=y.scrollTop,k(`compaction-log-dialog`,qt((t,r)=>{if(r.escape){h?f(null):n();return}if(!h&&!_(t,r)){if(De(`list-nav-up`,t,r)){o(t=>e.length===0?0:(t-1+e.length)%e.length);return}if(De(`list-nav-down`,t,r)){o(t=>e.length===0?0:(t+1)%e.length);return}if(r.return){let t=e[m];t&&f(t.id)}}},[h,e,m,n,_]),{isActive:l}),h?q(O,{header:q(X,{color:i.secondary,bold:!0,children:V.t(`compact.logDetailTitle`,{kind:Wm[h.kind],time:Hm(h.timestamp)})}),footer:q(N,{items:[[t.esc,V.t(`hint.cancel`)]]}),children:q(Y,{marginTop:R.tight,flexDirection:`column`,children:q(Gm,{entry:h})})}):q(O,{header:q(X,{color:i.secondary,bold:!0,children:V.t(`compact.logTitle`)}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[`${t.up}${t.down}`,V.t(`hint.select`)],[t.enter,V.t(`compact.logViewSummary`)],[t.esc,V.t(`hint.cancel`)],[t.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:R.tight,flexDirection:`column`,children:[e.length===0?q(L,{type:`secondary`,dim:!0,children:V.t(`compact.logEmpty`)}):y.rows.map((e,t)=>{let n=y.scrollTop+t===m;return q(Y,{flexDirection:`row`,children:J(X,{color:n?i.selection:i.inactive,bold:n,children:[n?Mt():ke(),Hm(e.timestamp),` `,Wm[e.kind].padEnd(8),` `,Um(e)]})},e.id)}),y.fillerCount>0&&Array.from({length:y.fillerCount},(e,t)=>q(X,{children:` `},`filler-${t}`))]})})}function qm({checked:e,onChange:t,label:n,tabIndex:r=0,disabled:i=!1}){let a=P(),{focused:o}=mt({tabIndex:r,disabled:i});fe(o,(n,r)=>n===` `?(t(!e),!0):!1);let s=e?B.check:B.todoPending;return J(X,{color:o?a.selection:e?a.success:a.inactive,children:[o?Mt():ke(),s,` `,n]})}function Jm({options:e,selected:t,onSelect:n,onPick:r,escapeIndex:i,tabIndex:a=0}){return U(Ye.Root,{onPick:r,activeIndex:t,onActiveChange:n,escapeIndex:i,tabIndex:a,id:`choices-${e.map(e=>e.key).join(`-`)}`},...e.map(e=>U(Ye.Item,{key:e.key,label:e.label,color:e.color,shortcut:e.shortcut})))}const Ym=[`good`,`neutral`,`bad`];function Xm(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 Zm({item:e,columns:t=60,onChange:n}){if(mt({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}}),k(`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.ctrl||i.meta)&&(i.leftArrow||i.rightArrow||i.home||i.end)){let r={name:i.home?`home`:i.end?`end`:i.leftArrow?`left`:`right`,ctrl:i.ctrl??!1,shift:!1,alt:i.meta??!1,meta:i.meta??!1},a=It(At.fromText(e.commentText,t,e.commentOffset),r);return a&&n?.({commentText:a.cursor.text,commentOffset:a.cursor.offset}),!0}if(i.home||i.end){let r={name:i.home?`home`:`end`,ctrl:!1,shift:!1,alt:!1,meta:!1},a=It(At.fromText(e.commentText,t,e.commentOffset),r);return a&&n?.({commentText:a.cursor.text,commentOffset:a.cursor.offset}),!0}if(i.leftArrow){let r=At.fromText(e.commentText,t,e.commentOffset).left();return n?.({commentText:r.text,commentOffset:r.offset}),!0}if(i.rightArrow){let r=At.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=Nt(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=It(At.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=Ym.map(e=>({key:e,label:Xm(e)}));return q(O,{header:q(xe,{children:V.t(`pulse.title`)}),footer:q(X,{children:V.t(`pulse.hintRating`)}),children:q(Y,{marginTop:R.tight,children:q(Jm,{options:t,selected:e.selectedIndex,onSelect:e=>n?.({selectedIndex:e}),onPick:r=>{if(r>=t.length){e.onClose();return}n?.({phase:`comment`,rating:Ym[r]??`good`})},escapeIndex:t.length})})})}return q(O,{header:q(xe,{children:e.rating?V.t(`pulse.commentTitle`,{ratingLabel:Xm(e.rating)}):V.t(`pulse.title`)}),footer:q(X,{children:V.t(`pulse.hintComment`)}),children:q(Y,{marginTop:R.tight,flexDirection:`row`,children:q(Tt,{value:e.commentText,offset:e.commentOffset,columns:t,mode:`dialog`,placeholder:V.t(`pulse.commentPlaceholder`),focused:!0,physicalCursor:!0})})})}function Qm({enabledCount:e}){let t=P();return e===0?null:q(X,{color:t.accent,children:` * ${e} scheduled`})}function $m({title:e,indent:t=R.section,titleIndent:n,children:r}){return J(Y,{flexDirection:`column`,children:[e!=null&&q(Oe,{label:e,indent:n}),q(Y,{marginLeft:t,flexDirection:`column`,children:r})]})}const eh=Math.max(...bd.map(e=>Math.max(j(e.en),j(e.zh))));function th({tip:e}){let{resolvedTheme:t}=et();if(!e)return null;let n=V.t(`welcome.tipLabel`),r=j(n)+1+eh+R.tight*2,i=j(e),a=i<eh?e+` `.repeat(eh-i):e,o=(t===`light`?Ed:Td)[Md(0)],s=Nd(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:R.tight,children:[J(L,{type:`accent`,children:[n,` `]}),q(L,{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 nh={pointer:B.pointer,check:B.check,cross:B.cross,bullet:B.bullet,todoPending:B.todoPending,todoActive:B.todoActive,todoDone:B.todoDone,toggleOn:B.toggleOn,toggleOff:B.toggleOff,statusDot:B.statusDot,warn:B.warn,ellipsis:B.ellipsis};function rh(e,t){if(e)return t[e]}function ih({name:e,color:t,bold:n,dim:r,trailingSpace:i}){return J(X,{color:rh(t,P()),bold:n,dimColor:r,children:[nh[e],i?` `:``]})}function ah(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 oh({color:e,dimColor:t=!0,showSeconds:n=!1}){let r=P(),[i,a]=K(()=>ah(n));return W(()=>{let e=setInterval(()=>{a(ah(n))},n?1e3:3e4);return()=>clearInterval(e)},[n]),q(X,{color:e??r.inactive,dimColor:t,children:i})}function sh({level:e,usedPct:t}){let n=P();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 ch({count:e,hasUrgent:t}){let n=P();return e===0?q(Y,{}):q(Y,{flexDirection:`row`,children:J(X,{color:t?n.warning:n.accent,children:[` [`,e,`!]`]})})}const lh=3500;function uh({toast:e,onDismiss:n}){return mt({tabIndex:0,id:`toast`,onEscape:()=>(n?.(),!0),onAction:()=>(n?.(),!0)}),k(`toast`,(e,t)=>t.ctrl?!1:(n?.(),!0)),q(O,{header:q(xe,{children:e.title}),footer:q(N,{items:[[t.esc,V.t(`hint.close`)]]}),children:q(Y,{marginTop:R.tight,children:q(X,{children:e.content})})})}function dh(e,t=10,n){let i=Math.max(1,Math.floor(t)),a=A({percent:e,width:i}),o=a.pct,s=a.filledCount,c=o>=90?r.error:o>=80?r.warning:r.suggestion,l=n?.prune!==void 0&&Number.isFinite(n.prune)?Math.max(0,Math.min(i-1,Math.round(n.prune/100*i))):null,u=n?.compact!==void 0&&Number.isFinite(n.compact)?Math.max(0,Math.min(i-1,Math.round(n.compact/100*i))):null,d=a.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:i,color:c,bar:f,label:`${f} ${o}%`,segments:p}}function fh({columns:e,footerVisible:n,perfIndicatorLevel:r,perfIndicatorUsedPct:i,modelName:a,budget:o,badgeEntries:s,fullScreenPaneActive:c,scheduleEnabledCount:l,agentProcessing:u,queuedItems:d,notifications:f,language:p,welcome:m,messages:h,hasHistory:g,paused:_=!1,pausePending:v=null,shadow:y=!1}){let b=P();return J(Y,{flexDirection:`row`,justifyContent:`space-between`,width:e,height:1,overflow:`hidden`,children:[J(Y,{flexDirection:`row`,children:[y&&q(X,{bold:!0,color:b.warning,children:`🕶 ${V.t(`welcome.shadowBadge`)} `}),n.perfIndicator&&q(sh,{level:r,usedPct:i}),n.modelName&&a&&q(X,{color:b.suggestion,children:a}),n.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=dh(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:b.warning}),i>=0&&(n.compact={pos:i,color:b.error}),J(X,{children:[` `,q(Ge,{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`?b.warning:b.inactive,children:[e.separator===`dot`?` · `:` `,e.text]},e.id)),n.scheduleIndicator&&!c&&q(Qm,{enabledCount:l})]}),J(Y,{flexDirection:`row`,children:[n.hintText&&q(X,{color:_||v?b.warning:b.inactive,children:v?`${V.t(`pause.toolCount`,{n:v.toolCount,s:v.elapsedSec})} /continue ${V.t(`pause.btnCancel`)}`:_?`${V.t(`cmd.titlePaused`)} · ${V.t(`hint.pausedContinue`)}`:u?e>=76?`${t.enter} ${V.t(`hint.steer`)} · ${at()} ${V.t(`hint.newline`)} · ${St()} ${V.t(`hint.queue`)} · ${t.esc} ${d.length>0?V.t(`hint.delOne`):V.t(`hint.toInterrupt`)}`:`${t.esc}${d.length>0?` ${V.t(`hint.delOne`)}`:`/${Fe(`c`)} ${V.t(`hint.toInterrupt`)}`}`:e>=76?`${t.right} ${V.t(`hint.autosuggestAccept`)} · Tab ${V.t(`hint.autosuggestMenu`)} · ${Fe(`r`)} ${V.t(`hint.history`)} · /help`:`/help`}),n.notificationBell&&f.some(e=>!e.read)&&q(L,{type:`secondary`,children:` · `}),n.notificationBell&&q(ch,{count:f.filter(e=>!e.read).length,hasUrgent:f.some(e=>e.level===`error`&&!e.read)}),(()=>{let e=n.language&&!!p,t=n.liveClock&&!c&&(!m||h.length>0||g);return!e&&!t?null:J(L,{type:`secondary`,children:[` `,e&&(p===`zh`?`中`:`EN`),e&&t&&` `,t&&q(oh,{color:b.inactive,dimColor:!1})]})})()]})]})}const ph=()=>{},mh=[{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(Jp,{items:[{key:`events`,label:`Events`},{key:`tools`,label:`Tools`},{key:`budget`,label:`Budget`}],activeKey:`tools`})},{name:`with-disabled`,render:()=>U(Jp,{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(qp,{label:`Events`,active:!0})},{name:`inactive`,render:()=>U(qp,{label:`Tools`,active:!1})}]},{id:`GroupDivider`,category:`components`,title:`GroupDivider`,variants:[{name:`default`,render:()=>U(Oe,{label:`File`})}]},{id:`ScrollIndicatorAbove`,category:`components`,title:`ScrollIndicatorAbove`,variants:[{name:`with-count`,render:()=>U(w,{hasMore:!0,count:12})},{name:`no-count`,render:()=>U(w,{hasMore:!0})}]},{id:`ScrollIndicatorBelow`,category:`components`,title:`ScrollIndicatorBelow`,variants:[{name:`with-count`,render:()=>U(re,{hasMore:!0,count:7})},{name:`no-count`,render:()=>U(re,{hasMore:!0})}]},{id:`Group`,category:`components`,title:`Group`,variants:[{name:`with-title`,render:()=>U($m,{title:`Settings`,children:U(X,{},`Auto-indented content`)})},{name:`no-title`,render:()=>U($m,{children:U(X,{},`Indent only, no title divider`)})},{name:`custom-indent=4`,render:()=>U($m,{title:`Wide indent`,indent:4,children:U(X,{},`Indented by 4 columns`)})}]},{id:`Choices`,category:`components`,title:`Choices`,variants:[{name:`vertical-numbered`,render:()=>U(Jm,{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:ph,onPick:ph,escapeIndex:1})}]},{id:`Menu`,category:`components`,title:`Menu (RFC-268 竖排编号原语)`,variants:[{name:`composite-api`,render:()=>U(Ye.Root,{onPick:ph},U(Ye.Item,{label:`Trust — full access`,color:`green`}),U(Ye.Item,{label:`Read-only this session`,color:`accent`}),U(Ye.Item,{label:`No, exit`,color:`gray`}))}]},{id:`Typography`,category:`components`,title:`Typography (RFC-269 文字层级)`,variants:[{name:`type-scale`,render:()=>U(Y,{flexDirection:`column`},U(L,{type:`primary`},`primary — 正文(终端默认前景)`),U(L,{type:`secondary`},`secondary — 次级/说明文字`),U(L,{type:`danger`},`danger — 错误态`),U(L,{type:`success`},`success — 成功态`),U(L,{type:`warning`},`warning — 警示态`),U(L,{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(ve,null,`↵`)},{name:`chord`,render:()=>U(ve,null,`⇧+↵`)}]},{id:`ProgressBar`,category:`components`,title:`ProgressBar (RFC-279)`,variants:[{name:`simple/ascii`,render:()=>U(Ge,{percent:45,width:30,chars:`ascii`,color:r.accent})},{name:`simple/block`,render:()=>U(Ge,{percent:68,width:24,chars:`block`,color:r.warning})},{name:`simple/dot`,render:()=>U(Ge,{percent:30,width:10,chars:`dot`,color:r.suggestion})},{name:`segments`,render:()=>U(Ge,{percent:0,width:30,chars:`block`,labelPosition:`prefix`,segments:[{key:`overhead`,width:4,color:r.accent},{key:`messages`,width:18,color:r.success},{key:`free`,width:8,color:r.inactive,dimColor:!0}]})},{name:`markers`,render:()=>U(Ge,{percent:90,width:10,chars:`dot`,color:r.suggestion,markers:{prune:{pos:7,color:r.warning},compact:{pos:9,color:r.error}}})}]},{id:`ScrollableBody`,category:`components`,title:`ScrollableBody (RFC-271 滚动容器)`,variants:[{name:`overflow-with-hint`,render:()=>U(Am,{visibleRows:5,offset:0},...Array.from({length:8},(e,t)=>U(X,{key:t},`row ${t+1}`)))},{name:`fits-no-scroll`,render:()=>U(Am,{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(th,{tip:`Ctrl+R 搜索历史命令`})}]},{id:`Icon`,category:`components`,title:`Icon (RFC-273 具名图标)`,variants:[{name:`named-icons`,render:()=>U(Y,{flexDirection:`column`},U(ih,{name:`pointer`,color:`selection`,trailingSpace:!0}),U(ih,{name:`check`,color:`success`}),U(ih,{name:`cross`,color:`error`}),U(ih,{name:`statusDot`,color:`accent`}))}]},{id:`DialogFrame`,category:`components`,title:`DialogFrame`,variants:[{name:`default`,render:()=>U(O,{header:U(xe,{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(xe,{children:`Settings`})},{name:`warning-color`,render:()=>U(xe,{color:r.warning,children:`Forced upgrade`})}]},{id:`HintBar`,category:`components`,title:`HintBar`,variants:[{name:`multi-hint`,render:()=>U(N,{items:[[`← →`,`select`],[`Enter`,`confirm`],[`y/n/a`,`shortcut`],[`Esc`,`cancel`]]})}]},{id:`LiveClock`,category:`components`,title:`LiveClock`,variants:[{name:`default`,render:()=>U(oh,{})}]},{id:`Spinner`,category:`components`,title:`Spinner`,variants:[{name:`responding`,render:()=>U(Cl,{verb:`Thinking`,mode:`responding`,responseLength:128,tokens:6800,progressPercent:42})},{name:`requesting`,render:()=>U(Cl,{verb:`Reticulating`,mode:`requesting`})},{name:`stalled`,render:()=>U(Cl,{verb:`Waiting`,responseLength:64,hasActiveTools:!1,toolTurnCount:8,maxToolTurns:10})}]},{id:`StreamingSpinner`,category:`components`,title:`StreamingSpinner`,variants:[{name:`streaming`,render:()=>{let e=Tl();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(Al,{streamStore:e,pendingPermission:null})}}]},{id:`BreathingTool`,category:`components`,title:`BreathingTool`,variants:[{name:`default`,render:()=>U(_l,{name:`grep`})}]},{id:`ThinkingLine`,category:`components`,title:`ThinkingLine`,variants:[{name:`default`,render:()=>U(hl,{tokens:6800,toolTurnCount:2,maxToolTurns:12,promptOutputTokens:1200,promptOutputTokenBudget:8e3})}]},{id:`PerfIndicator`,category:`components`,title:`PerfIndicator`,variants:[{name:`warning`,render:()=>U(sh,{level:`warning`,usedPct:72.4})},{name:`critical`,render:()=>U(sh,{level:`critical`,usedPct:91.2})},{name:`warning (no usedPct)`,render:()=>U(sh,{level:`warning`})}]},{id:`NotificationBell`,category:`components`,title:`NotificationBell`,variants:[{name:`normal`,render:()=>U(ch,{count:3,hasUrgent:!1})},{name:`urgent`,render:()=>U(ch,{count:1,hasUrgent:!0})}]},{id:`Toast`,category:`components`,title:`Toast`,variants:[{name:`default`,render:()=>U(uh,{toast:{id:1,title:`Theme changed`,content:`Switched to dark theme`}})}]},{id:`Home`,category:`components`,title:`Home`,variants:[{name:`default`,render:()=>U(ef,{version:`0.1.0`,buildId:1234,cwd:`/home/user/project`})}]},{id:`SignalBar`,category:`components`,title:`SignalBar`,variants:[{name:`all counts (delegates active)`,render:()=>U(kf,{counts:{tasks:4,delegates:3,services:1,edited:7,subagents:2,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,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(kf,{counts:{tasks:0,delegates:0,services:0,edited:2,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Clipboard`,clipboardFailed:`Copy blocked — hold Shift and drag`},tabHint:`Tab to switch`})},{name:`clipboard copied (success)`,render:()=>U(kf,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:128},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag`}})},{name:`clipboard failed (warning, no count)`,render:()=>U(kf,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:0,clipboardFailed:!0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,edited:`Edited`,subagents:`Subagents`,clipboard:`Copied`,clipboardFailed:`Copy blocked — hold Shift and drag for native copy`}})},{name:`empty (blank 1-row placeholder)`,render:()=>U(kf,{counts:{tasks:0,delegates:0,services:0,edited:0,subagents:0,clipboard:0},labels:{tasks:`Tasks`,delegates:`Delegates`,services:`Services`,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(fh,{columns:120,footerVisible:Pu(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,scheduleEnabledCount:0,agentProcessing:!1,queuedItems:[],notifications:[],language:`en`,welcome:void 0,messages:[],hasHistory:!0})},{name:`narrow (agent processing)`,render:()=>U(fh,{columns:60,footerVisible:Pu(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,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(qm,{checked:!0,label:`Enable telemetry`,onChange:()=>{}})},{name:`unchecked`,render:()=>U(qm,{checked:!1,label:`Enable telemetry`,onChange:()=>{}})}]},{id:`List`,category:`components`,title:`List`,variants:[{name:`three-options`,render:()=>U(vt,{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(je,{label:`model-a`,detail:`fast · 200k ctx`})},{name:`disabled`,render:()=>U(je,{label:`model-x`,detail:`unavailable`,disabled:!0})}]},{id:`Wordmark`,category:`components`,title:`Wordmark`,variants:[{name:`default`,render:()=>U(Kd)}]},{id:`ScheduleIndicator`,category:`components`,title:`ScheduleIndicator`,variants:[{name:`two-scheduled`,render:()=>U(Qm,{enabledCount:2})}]},{id:`PulseSurveyOverlay`,category:`components`,title:`PulseSurveyOverlay`,variants:[{name:`rating`,render:()=>U(Zm,{item:{phase:`rating`,rating:null,selectedIndex:0,commentText:``,commentOffset:0,onSubmit:()=>{},onClose:()=>{}},columns:60})}]}],hh=()=>{},gh=Date.UTC(2026,6,10,12,0,0),_h=[{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}],vh=[{id:`d1`,command:`refactor error handling in run-modes.ts`,type:`agent-session`,origin:`user`,status:`running`,agentStatus:`ready`,startedAt:gh-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:gh-45e3,port:5173},{id:`d3`,command:`grep -rn TODO packages/`,type:`process`,status:`exited`,startedAt:gh-3e5,exitCode:0},{id:`d4`,command:`audit security surface`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`needs_input`,startedAt:gh-15e3,turnIndex:2,toolUseCount:3,model:`deepseek-v4`}],yh={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 ${B.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 …
|
|
114
73
|
+ import { classify } from "./classify"
|
|
115
|
-
`},iS=[{id:`s1`,command:`@explore survey the compiler pipeline`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:eS-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:eS-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:eS-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:eS-4e5,turnIndex:5,toolUseCount:7}],aS=[{id:`sc1`,name:`Daily standup digest`,cronExpression:`0 9 * * 1-5`,enabled:!0,recurring:!0,nextFireAt:eS+36e5,lastFiredAt:eS-828e5},{id:`sc2`,name:`One-shot release reminder`,cronExpression:``,enabled:!1,recurring:!1,nextFireAt:eS+72e5}],oS=[{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`}],sS=[{id:`df1`,name:`rfc-outline`,text:`Draft the RFC outline covering the pluginization endgame audit and adoption assessment.`,savedAt:eS-36e5},{id:`df2`,name:`commit-message`,text:`feat(tui): add pane gallery example registry`,savedAt:eS-6e5}],cS=[{id:1,source:`job`,level:`info`,title:`Delegate ready`,message:`refactor job produced a diff (+42/-18)`,timestamp:eS-3e4,read:!1,action:`/delegates`},{id:2,source:`version`,level:`warning`,title:`Update available`,message:`a newer build (1300) is available`,timestamp:eS-6e5,read:!1},{id:3,source:`system`,level:`error`,title:`MCP server crashed`,message:`filesystem server exited unexpectedly`,timestamp:eS-36e5,read:!0}],lS=[{id:`TaskPane`,category:`components`,title:`TaskPane`,variants:[{name:`default`,render:()=>H(my,{tasks:tS,title:`Feature implementation`})},{name:`focused`,render:()=>H(my,{tasks:tS,title:`Feature implementation`,focused:!0})}]},{id:`DelegatesPane`,category:`components`,title:`DelegatesPane`,variants:[{name:`focused`,render:()=>H(ny,{tasks:nS,columns:80,active:!0,onClose:$x})},{name:`summary`,render:()=>H(ny,{tasks:nS,columns:80,active:!1,onClose:$x})}]},{id:`DelegateOutputPane`,category:`components`,title:`DelegateOutputPane`,variants:[{name:`running`,render:()=>H(ry,{view:rS,columns:80,rows:24,active:!0})}]},{id:`SubagentsPane`,category:`components`,title:`SubagentsPane`,variants:[{name:`focused`,render:()=>H(sy,{tasks:iS,focused:!0,now:eS})},{name:`summary`,render:()=>H(sy,{tasks:iS,focused:!1,now:eS})}]},{id:`SchedulePane`,category:`components`,title:`SchedulePane`,variants:[{name:`focused`,render:()=>H(uy,{tasks:aS,focused:!0})}]},{id:`QueuePane`,category:`components`,title:`QueuePane`,variants:[{name:`focused`,render:()=>H(by,{items:oS,focused:!0})},{name:`grabbed`,render:()=>H(by,{items:oS,focused:!0})}]},{id:`DraftPane`,category:`components`,title:`DraftPane`,variants:[{name:`focused`,render:()=>H(yy,{items:sS,focused:!0})}]},{id:`NotificationsPane`,category:`components`,title:`NotificationsPane`,variants:[{name:`default`,render:()=>H(Ry,{notifications:cS,onDismiss:$x,onClose:$x})}]}];function uS({taskTitle:e,turn:t,messages:n,rows:r,columns:i,onDismiss:a}){let o=R();E(`task-detail-pane`,(e,t)=>t.escape?(a(),!0):!!l(e,t));let{maxRows:s,expanded:c,handleExpandKey:l}=_a(r),u=n.reduce((e,t)=>e+hc(t,i).length,0),d=Math.max(3,$e(u+4,r,s)-4),f=[],p=d;for(let e of n){let t=hc(e,i);if(p-t.length<0&&f.length>0||(f.push({m:e,lines:t}),p-=t.length,p<=0))break}return K(M,{header:q(J,{flexDirection:`row`,children:[q(Y,{color:o.replyPrefix,children:[N.bullet,` `]}),q(Y,{color:o.secondary,bold:!0,children:[B.t(`task.detailTitle`),`:`,` `]}),K(Y,{color:o.accent,children:e}),q(D,{type:`secondary`,dim:!0,children:[` `,B.t(`task.turnInfo`,{turn:t,shown:f.length,total:n.length})]})]}),footer:K(C,{items:[[`+`,c?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`)],[O.esc,B.t(`hint.back`)],[O.tab,B.t(`hint.tabFocus`)]]}),children:q(J,{marginTop:I.tight,paddingLeft:I.section,flexDirection:`column`,children:[f.map(({lines:e},t)=>K(J,{flexDirection:`column`,children:e.map((e,t)=>K(J,{flexDirection:`row`,children:K(Y,{children:e})},t))},t)),f.length<n.length&&K(J,{children:K(D,{type:`secondary`,dim:!0,children:B.t(`task.truncated`,{n:n.length-f.length})})})]})})}function dS(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}m`}function fS(e,t){switch(e){case`overhead`:return t.accent;case`messages`:return t.success;case`free`:return t.inactive}}function pS(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 mS({budget:e,width:t}){let n=R(),r=Math.min(40,Math.max(20,t-16)),i=pS(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 q(J,{flexDirection:`column`,children:[e.modelName?q(J,{children:[K(Y,{color:n.suggestion,children:e.modelName}),K(D,{type:`secondary`,children:` · `}),K(D,{type:`secondary`,children:B.t(`context.tokensLabel`,{formatted:dS(e.contextWindow)})})]}):K(D,{type:`secondary`,children:B.t(`context.tokensLabel`,{formatted:dS(e.contextWindow)})}),(l>=0||u>=0)&&K(J,{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,q(Y,{color:e.color,children:[` `.repeat(r),`▼`]},n)})})()}),q(J,{children:[q(Y,{color:o,bold:!0,children:[String(a).padStart(3),`%`,` `]}),K(Je,{percent:a,width:r,chars:`block`,segments:i.map(e=>({key:e.kind,width:e.width,color:fS(e.kind,n),dimColor:e.kind===`free`})),labelPosition:`none`}),q(D,{type:`secondary`,children:[` `,dS(e.totalUsed),`/`,dS(e.contextWindow)]})]}),!c&&K(J,{children:i.map((t,r)=>q(V.Fragment,{children:[q(Y,{color:fS(t.kind,n),dimColor:t.kind===`free`,children:[`█`,` `]}),K(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} ${dS(t.tokens)}${r}`})()}),r<i.length-1&&K(D,{type:`secondary`,children:` `})]},r))})]})}function hS({budget:e,columns:t,onDismiss:n,onViewDetails:r}){let i=R();return E(`context-pane`,(e,t)=>{t.escape?n():t.return&&r()}),q(J,{flexDirection:`column`,...at,borderColor:i.panelBorder,backgroundColor:i.overlayBg,paddingX:I.tight,children:[K(Y,{color:i.secondary,bold:!0,children:B.t(`context.title`)}),K(J,{marginTop:I.tight,flexDirection:`column`,children:e?K(mS,{budget:e,width:t-Be.contentInset}):K(Y,{dimColor:!0,children:B.t(`context.noData`)})}),K(J,{marginTop:I.tight,children:q(Y,{dimColor:!0,children:[B.t(`context.viewDetails`),` · `,B.t(`common.escClose`)]})})]})}function gS(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function _S({owned:e,total:t,width:n}){let r=R(),i=t>0?Math.min(1,e/t):0,a=Math.max(3,n-12);return K(Je,{percent:Math.round(i*100),width:a,chars:`dot`,color:i>=.85?r.warning:i>=.7?r.accent:r.secondary})}function vS({s:e}){let t=e.lane===`volatile`?B.t(`context.laneVolatile`):B.t(`context.laneCache`);return q(D,{type:e.lane===`volatile`?`secondary`:`primary`,children:[` `,t,` `,e.label,` (`,gS(e.estimatedTokens),`t)`]})}function yS({t:e,inProgress:t}){let n=e.role===`user`?N.pointer:N.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 q(J,{flexDirection:`row`,children:[t?K(Hx,{name:`pointer`,color:`accent`,trailingSpace:!0}):K(D,{type:`secondary`,children:` `}),q(D,{type:i,bold:t,children:[n,` `,B.t(`context.turnRow`,{index:e.turnIndex,messages:e.messageCount,tokens:gS(e.estimatedTokens)})]}),r.map(e=>K(Ze,{leadingSpace:!0,children:e},e))]})}function bS({ctxStore:e,columns:t,onBack:n}){let r=X(e.store,e=>e.conversationTurns),i=X(e.store,e=>e.systemSections),a=X(e.store,e=>e.modelName),o=X(e.store,e=>e.contextWindow),s=X(e.store,e=>e.contextPercent),c=X(e.store,e=>e.totalUsed),l=X(e.store,e=>e.free),u=i.filter(e=>e.lane===`stable`).length,d=i.length-u,f=i.reduce((e,t)=>e+t.estimatedTokens,0),p=Math.max(0,c-f),m=Math.max(0,r.length-5),h=Yt(()=>r.slice(m),[r,m]),g=Yt(()=>r.slice(0,m).reduce((e,t)=>e+t.estimatedTokens,0),[r,m]);E(`context-panel`,qt((e,t)=>{t.escape&&n()},[n]));let _=Math.max(40,t-Be.contentInset);return q(J,{flexDirection:`column`,children:[q(J,{flexDirection:`row`,justifyContent:`space-between`,children:[K(D,{type:`secondary`,bold:!0,children:B.t(`context.title`)}),a&&K(D,{type:`secondary`,children:a})]}),K(J,{marginY:I.tight,children:K(_S,{owned:c,total:o,width:_})}),i.length>0&&q(Xt,{children:[q(D,{type:`secondary`,children:[B.t(`context.systemHeading`),` (`,B.t(`context.systemMeta`,{tokens:gS(f),stable:u,volatile:d}),`)`]}),i.map(e=>K(vS,{s:e},e.label)),K(J,{marginY:I.tight,children:K(D,{type:`secondary`,children:Ot(N.hr,_-4)})})]}),q(D,{type:`secondary`,children:[B.t(`context.conversationHeading`),` (`,B.t(`context.conversationMeta`,{tokens:gS(p),turns:r.length}),`)`]}),K(J,{height:1,children:m>0&&q(D,{type:`secondary`,children:[` `,N.bullet,` `,B.t(`context.earlierTurns`,{count:m,tokens:gS(g)})]})}),h.map(e=>K(yS,{t:e,inProgress:!1},e.turnIndex)),K(J,{marginTop:I.tight,children:K(D,{type:`secondary`,children:B.t(`context.totalLine`,{used:gS(c),window:gS(o),percent:Math.round(s),free:gS(l)})})})]})}function xS({message:e,onUpgrade:t,onCancel:n}){let r=R(),[i,a]=G(0),o=V.useRef(0);return o.current=i,ee({tabIndex:0,id:`forced-upgrade`,onEscape:()=>!0}),E(`forced-upgrade-buttons`,(e,r)=>{if(r.escape)return!0;let i=re(r);return i===0?r.return?(a(e=>(e===0?t?.():n?.(),e)),!0):!1:(a(e=>te(e,i,2)),!0)}),q(M,{header:K(be,{color:r.warning,children:B.t(`model.forcedUpgradeTitle`)}),footer:K(C,{items:[[`${O.left}${O.right}`,B.t(`hint.switch`)],[O.enter,B.t(`hint.confirm`)]]}),children:[K(J,{marginTop:I.tight,children:K(Y,{children:e})}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`amber`,label:B.t(`common.upgradeButton`),focused:i===0}),K(P,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.cancelButton`),focused:i===1})]})]})}const SS=()=>{},CS=Date.UTC(2026,6,10,12,0,0),wS=`export function greet(name: string) {
|
|
74
|
+
`},bh=[{id:`s1`,command:`@explore survey the compiler pipeline`,type:`agent-session`,origin:`main`,status:`running`,agentStatus:`running`,startedAt:gh-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:gh-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:gh-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:gh-4e5,turnIndex:5,toolUseCount:7}],xh=[{id:`sc1`,name:`Daily standup digest`,cronExpression:`0 9 * * 1-5`,enabled:!0,recurring:!0,nextFireAt:gh+36e5,lastFiredAt:gh-828e5},{id:`sc2`,name:`One-shot release reminder`,cronExpression:``,enabled:!1,recurring:!1,nextFireAt:gh+72e5}],Sh=[{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`}],Ch=[{id:`df1`,name:`rfc-outline`,text:`Draft the RFC outline covering the pluginization endgame audit and adoption assessment.`,savedAt:gh-36e5},{id:`df2`,name:`commit-message`,text:`feat(tui): add pane gallery example registry`,savedAt:gh-6e5}],wh=[{id:1,source:`job`,level:`info`,title:`Delegate ready`,message:`refactor job produced a diff (+42/-18)`,timestamp:gh-3e4,read:!1,action:`/delegates`},{id:2,source:`version`,level:`warning`,title:`Update available`,message:`a newer build (1300) is available`,timestamp:gh-6e5,read:!1},{id:3,source:`system`,level:`error`,title:`MCP server crashed`,message:`filesystem server exited unexpectedly`,timestamp:gh-36e5,read:!0}],Th=[{id:`TaskPane`,category:`components`,title:`TaskPane`,variants:[{name:`default`,render:()=>U(Of,{tasks:_h,title:`Feature implementation`})},{name:`focused`,render:()=>U(Of,{tasks:_h,title:`Feature implementation`,focused:!0})}]},{id:`DelegatesPane`,category:`components`,title:`DelegatesPane`,variants:[{name:`focused`,render:()=>U(gf,{tasks:vh,columns:80,active:!0,onClose:hh})},{name:`summary`,render:()=>U(gf,{tasks:vh,columns:80,active:!1,onClose:hh})}]},{id:`DelegateOutputPane`,category:`components`,title:`DelegateOutputPane`,variants:[{name:`running`,render:()=>U(_f,{view:yh,columns:80,rows:24,active:!0})}]},{id:`SubagentsPane`,category:`components`,title:`SubagentsPane`,variants:[{name:`focused`,render:()=>U(xf,{tasks:bh,focused:!0,now:gh})},{name:`summary`,render:()=>U(xf,{tasks:bh,focused:!1,now:gh})}]},{id:`SchedulePane`,category:`components`,title:`SchedulePane`,variants:[{name:`focused`,render:()=>U(wf,{tasks:xh,focused:!0})}]},{id:`QueuePane`,category:`components`,title:`QueuePane`,variants:[{name:`focused`,render:()=>U(Pf,{items:Sh,focused:!0})},{name:`grabbed`,render:()=>U(Pf,{items:Sh,focused:!0})}]},{id:`DraftPane`,category:`components`,title:`DraftPane`,variants:[{name:`focused`,render:()=>U(Nf,{items:Ch,focused:!0})}]},{id:`NotificationsPane`,category:`components`,title:`NotificationsPane`,variants:[{name:`default`,render:()=>U(Qf,{notifications:wh,onDismiss:hh,onClose:hh})}]}];function Eh({taskTitle:e,turn:n,messages:r,rows:i,columns:a,onDismiss:o}){let s=P();k(`task-detail-pane`,(e,t)=>t.escape?(o(),!0):!!l(e,t));let{maxRows:c,handleExpandKey:l}=_a(i),u=r.reduce((e,t)=>e+hc(t,a).length,0),d=Math.max(3,p(u+4,i,c)-4),f=[],m=d;for(let e of r){let t=hc(e,a);if(m-t.length<0&&f.length>0||(f.push({m:e,lines:t}),m-=t.length,m<=0))break}return q(O,{header:J(Y,{flexDirection:`row`,children:[J(X,{color:s.replyPrefix,children:[B.bullet,` `]}),J(X,{color:s.secondary,bold:!0,children:[V.t(`task.detailTitle`),`:`,` `]}),q(X,{color:s.accent,children:e}),J(L,{type:`secondary`,dim:!0,children:[` `,V.t(`task.turnInfo`,{turn:n,shown:f.length,total:r.length})]})]}),footer:q(N,{items:[[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],[t.esc,V.t(`hint.back`)],[t.tab,V.t(`hint.tabFocus`)]]}),children:J(Y,{marginTop:R.tight,paddingLeft:R.section,flexDirection:`column`,children:[f.map(({lines:e},t)=>q(Y,{flexDirection:`column`,children:e.map((e,t)=>q(Y,{flexDirection:`row`,children:q(X,{children:e})},t))},t)),f.length<r.length&&q(Y,{children:q(L,{type:`secondary`,dim:!0,children:V.t(`task.truncated`,{n:r.length-f.length})})})]})})}function Dh(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}m`}function Oh(e,t){switch(e){case`overhead`:return t.accent;case`messages`:return t.success;case`free`:return t.inactive}}function kh(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 Ah({budget:e,width:t}){let n=P(),r=Math.min(40,Math.max(20,t-16)),i=kh(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(L,{type:`secondary`,children:` · `}),q(L,{type:`secondary`,children:V.t(`context.tokensLabel`,{formatted:Dh(e.contextWindow)})})]}):q(L,{type:`secondary`,children:V.t(`context.tokensLabel`,{formatted:Dh(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(Ge,{percent:a,width:r,chars:`block`,segments:i.map(e=>({key:e.kind,width:e.width,color:Oh(e.kind,n),dimColor:e.kind===`free`})),labelPosition:`none`}),J(L,{type:`secondary`,children:[` `,Dh(e.totalUsed),`/`,Dh(e.contextWindow)]})]}),!c&&q(Y,{children:i.map((t,r)=>J(H.Fragment,{children:[J(X,{color:Oh(t.kind,n),dimColor:t.kind===`free`,children:[`█`,` `]}),q(L,{type:`secondary`,children:(()=>{let n=s?t.label.slice(0,3):t.label,r=t.kind===`messages`&&e.messageCount>0?`(${e.messageCount})`:``;return`${n} ${Dh(t.tokens)}${r}`})()}),r<i.length-1&&q(L,{type:`secondary`,children:` `})]},r))})]})}function jh({budget:e,columns:t,onDismiss:n,onViewDetails:r}){let i=P();return k(`context-pane`,(e,t)=>{t.escape?n():t.return&&r()}),J(Y,{flexDirection:`column`,...Ue,borderColor:i.panelBorder,backgroundColor:i.overlayBg,paddingX:R.tight,children:[q(X,{color:i.secondary,bold:!0,children:V.t(`context.title`)}),q(Y,{marginTop:R.tight,flexDirection:`column`,children:e?q(Ah,{budget:e,width:t-dt.contentInset}):q(X,{dimColor:!0,children:V.t(`context.noData`)})}),q(Y,{marginTop:R.tight,children:J(X,{dimColor:!0,children:[V.t(`context.viewDetails`),` · `,V.t(`common.escClose`)]})})]})}function Mh(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function Nh({owned:e,total:t,width:n}){let r=P(),i=t>0?Math.min(1,e/t):0,a=Math.max(3,n-12);return q(Ge,{percent:Math.round(i*100),width:a,chars:`dot`,color:i>=.85?r.warning:i>=.7?r.accent:r.secondary})}function Ph({s:e}){let t=e.lane===`volatile`?V.t(`context.laneVolatile`):V.t(`context.laneCache`);return J(L,{type:e.lane===`volatile`?`secondary`:`primary`,children:[` `,t,` `,e.label,` (`,Mh(e.estimatedTokens),`t)`]})}function Fh({t:e,inProgress:t}){let n=e.role===`user`?B.pointer:B.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(ih,{name:`pointer`,color:`accent`,trailingSpace:!0}):q(L,{type:`secondary`,children:` `}),J(L,{type:i,bold:t,children:[n,` `,V.t(`context.turnRow`,{index:e.turnIndex,messages:e.messageCount,tokens:Mh(e.estimatedTokens)})]}),r.map(e=>q(T,{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),s=Z(e.store,e=>e.contextPercent),c=Z(e.store,e=>e.totalUsed),l=Z(e.store,e=>e.free),u=i.filter(e=>e.lane===`stable`).length,d=i.length-u,f=i.reduce((e,t)=>e+t.estimatedTokens,0),p=Math.max(0,c-f),m=Math.max(0,r.length-5),h=Yt(()=>r.slice(m),[r,m]),g=Yt(()=>r.slice(0,m).reduce((e,t)=>e+t.estimatedTokens,0),[r,m]);k(`context-panel`,qt((e,t)=>{t.escape&&n()},[n]));let _=Math.max(40,t-dt.contentInset);return J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,justifyContent:`space-between`,children:[q(L,{type:`secondary`,bold:!0,children:V.t(`context.title`)}),a&&q(L,{type:`secondary`,children:a})]}),q(Y,{marginY:R.tight,children:q(Nh,{owned:c,total:o,width:_})}),i.length>0&&J(Xt,{children:[J(L,{type:`secondary`,children:[V.t(`context.systemHeading`),` (`,V.t(`context.systemMeta`,{tokens:Mh(f),stable:u,volatile:d}),`)`]}),i.map(e=>q(Ph,{s:e},e.label)),q(Y,{marginY:R.tight,children:q(L,{type:`secondary`,children:ft(B.hr,_-4)})})]}),J(L,{type:`secondary`,children:[V.t(`context.conversationHeading`),` (`,V.t(`context.conversationMeta`,{tokens:Mh(p),turns:r.length}),`)`]}),q(Y,{height:1,children:m>0&&J(L,{type:`secondary`,children:[` `,B.bullet,` `,V.t(`context.earlierTurns`,{count:m,tokens:Mh(g)})]})}),h.map(e=>q(Fh,{t:e,inProgress:!1},e.turnIndex)),q(Y,{marginTop:R.tight,children:q(L,{type:`secondary`,children:V.t(`context.totalLine`,{used:Mh(c),window:Mh(o),percent:Math.round(s),free:Mh(l)})})})]})}function Lh({message:e,onUpgrade:r,onCancel:i}){let a=P(),[o,s]=K(0),c=H.useRef(0);return c.current=o,mt({tabIndex:0,id:`forced-upgrade`,onEscape:()=>!0}),k(`forced-upgrade-buttons`,(e,t)=>{if(t.escape)return!0;let a=n(t);return a===0?t.return?(s(e=>(e===0?r?.():i?.(),e)),!0):!1:(s(e=>Xe(e,a,2)),!0)}),J(O,{header:q(xe,{color:a.warning,children:V.t(`model.forcedUpgradeTitle`)}),footer:q(N,{items:[[`${t.left}${t.right}`,V.t(`hint.switch`)],[t.enter,V.t(`hint.confirm`)]]}),children:[q(Y,{marginTop:R.tight,children:q(X,{children:e})}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,children:[q(F,{variant:`solid`,brackets:!0,color:`amber`,label:V.t(`common.upgradeButton`),focused:o===0}),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.cancelButton`),focused:o===1})]})]})}const Rh=()=>{},zh=Date.UTC(2026,6,10,12,0,0),Bh=`export function greet(name: string) {
|
|
116
75
|
return \`Hi \${name}\`
|
|
117
76
|
}
|
|
118
|
-
`,
|
|
77
|
+
`,Vh=`export function greet(name: string): string {
|
|
119
78
|
return \`Hello, \${name}!\`
|
|
120
79
|
}
|
|
121
|
-
`,
|
|
80
|
+
`,Hh=[{path:`packages/tui/src/components/gallery/examples/components-panes-viewers.ts`,operation:`write`,newContent:Vh,addedLines:3,removedLines:0,timestamp:zh-5e3},{path:`packages/tui/src/components/Button.tsx`,operation:`edit`,oldContent:Bh,newContent:Vh,addedLines:2,removedLines:2,timestamp:zh-2e4},{path:`packages/tui/src/legacy/old-helper.ts`,operation:`delete`,oldContent:Bh,addedLines:0,removedLines:3,timestamp:zh-4e4}],Uh=[{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.`}]}],Wh={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},Gh={command:`pnpm --filter @x-otto/tui build`,output:`> @x-otto/tui build
|
|
122
81
|
> tsc -p tsconfig.json
|
|
123
82
|
Compiling…
|
|
124
|
-
src/components/gallery/examples`,status:`running`,exitCode:null},
|
|
125
|
-
?? /tmp/scratch.ts`,status:`done`,exitCode:0},
|
|
126
|
-
`);function
|
|
127
|
-
`),rows:24,header:
|
|
128
|
-
second line`,focused:!1})},{name:`focused`,render:()=>
|
|
83
|
+
src/components/gallery/examples`,status:`running`,exitCode:null},Kh={command:`git status --short`,output:` M packages/tui/src/components/gallery/examples/components-panes.ts
|
|
84
|
+
?? /tmp/scratch.ts`,status:`done`,exitCode:0},qh=Array.from({length:40},(e,t)=>`line ${t+1}: build step output`).join(`
|
|
85
|
+
`);function Jh(){let e=id();return e.setSession({title:`My coding session`,sessionId:`a1b2c3d4`,modelId:`claude-sonnet-4-6`,messageCount:42,occupancy:15400,contextWindow:2e5,occupancyPct:8,cumOutput:8421,writeLeaseReadOnly:!1,isPaused:!1}),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=ad();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 Xh=[{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 Zh(){let e=uu();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 Qh={title:`Broken plugin panel`,modulePath:`/nonexistent/plugin/panel-module.js`,exportName:`default`},$h=[{id:`EditedFilesPane`,category:`components`,title:`EditedFilesPane`,variants:[{name:`focused`,render:()=>U(ed,{files:Hh,focused:!0,onDismiss:Rh})}]},{id:`EditedFileFullPane`,category:`components`,title:`EditedFileFullPane`,variants:[{name:`diff`,render:()=>U(gm,{file:Hh[1],rows:24,onDismiss:Rh,active:!0})}]},{id:`FileContentViewer`,category:`components`,title:`FileContentViewer`,variants:[{name:`default`,render:()=>U(yc,{lines:Vh.split(`
|
|
86
|
+
`),rows:24,header:U(X,{bold:!0},`greet.ts`),onDismiss:Rh,active:!0})}]},{id:`TaskDetailPane`,category:`components`,title:`TaskDetailPane`,variants:[{name:`default`,render:()=>U(Eh,{taskTitle:`Implement pane examples`,turn:3,messages:Uh,rows:24,columns:80,onDismiss:Rh})}]},{id:`SubagentContextView`,category:`components`,title:`SubagentContextView`,variants:[{name:`streaming`,render:()=>U(nf,{title:`@explore survey the compiler pipeline`,status:`running`,messages:Uh,streamText:`Scanning packages/tui for pane components…`,rows:24,columns:80})}]},{id:`ShellPane`,category:`components`,title:`ShellPane`,variants:[{name:`running`,render:()=>U(mm,{exec:Gh,maxLines:8,columns:80})},{name:`done`,render:()=>U(mm,{exec:Kh,maxLines:8,columns:80,totalLines:2})}]},{id:`ShellFullOutputDialog`,category:`components`,title:`ShellFullOutputDialog`,variants:[{name:`default`,render:()=>U(vm,{command:`pnpm --filter @x-otto/tui build`,output:qh,rows:24,columns:80,onDismiss:()=>{}})}]},{id:`ContextPane`,category:`components`,title:`ContextPane`,variants:[{name:`default`,render:()=>U(jh,{budget:Wh,columns:80,onDismiss:Rh,onViewDetails:Rh})}]},{id:`ContextDetailPane`,category:`components`,title:`ContextDetailPane`,variants:[{name:`default`,render:()=>U(Ih,{ctxStore:Zh(),columns:80,onBack:Rh})}]},{id:`StatusPane`,category:`components`,title:`StatusPane`,variants:[{name:`default`,render:()=>U(Om,{statusStore:Jh(),onDismiss:Rh,onRefresh:Rh})}]},{id:`CachePane`,category:`components`,title:`CachePane`,variants:[{name:`default`,render:()=>U(Lm,{cacheStore:Yh(),onDismiss:Rh})}]},{id:`CompactionLogPane`,category:`components`,title:`CompactionLogPane`,variants:[{name:`default`,render:()=>U(Km,{entries:Xh,onClose:Rh})}]},{id:`ForcedUpgradeOverlay`,category:`components`,title:`ForcedUpgradeOverlay`,variants:[{name:`default`,render:()=>U(Lh,{message:`Your CLI is below the minimum supported version. Upgrade to continue.`,onUpgrade:Rh,onCancel:Rh})}]},{id:`TrustPromptDialog`,category:`components`,title:`TrustPromptDialog`,variants:[{name:`default`,render:()=>U(zn,{root:`/home/user/untrusted-project`,onChoice:Rh})}]},{id:`PluginPane`,category:`components`,title:`PluginPane`,variants:[{name:`error`,render:()=>U(Ip,{panelInfo:Qh})}]}];function eg({item:e}){let t=P(),{phase:n,requestedAt:r,toolCount:i,totalToolCount:a,onCancel:o,onResume:s,onDismiss:c}=e,[l,u]=K(Math.floor((Date.now()-r)/1e3));return W(()=>{if(n!==`requested`)return;let e=setInterval(()=>{u(Math.floor((Date.now()-r)/1e3))},1e3);return()=>clearInterval(e)},[n,r]),mt({tabIndex:0,id:`pause-dialog`,onEscape:()=>(c?.(),!0),onAction:()=>(n===`requested`?o?.():s?.(),!0)}),k(`pause-dialog`,(e,t)=>t.escape?(c?.(),!0):t.return?(n===`requested`?o?.():s?.(),!0):!1),J(O,{header:q(xe,{color:n===`active`?t.accent:void 0,children:n===`requested`?V.t(`pause.titleRequested`):V.t(`pause.titleActive`)}),paddingY:R.tight,children:[q(X,{children:n===`requested`?V.t(`pause.bodyRequested`):V.t(`pause.bodyActive`)}),q(Y,{marginTop:R.tight,children:q(X,{children:n===`requested`?V.t(`pause.toolCount`,{n:i,s:l}):a==null?``:V.t(`pause.toolTotal`,{n:a})})}),q(Y,{marginTop:R.tight,children:q(F,{variant:`solid`,brackets:!0,color:`accent`,focused:!0,label:n===`requested`?V.t(`pause.btnCancel`):V.t(`pause.btnResume`)})}),q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:n===`requested`?V.t(`pause.footerDismiss`):V.t(`pause.footerActive`)})})]})}const tg=()=>{},ng=(()=>Promise.resolve(null)),rg=[{id:`DataList`,category:`components`,title:`DataList`,variants:[{name:`groups+rows+text`,render:()=>U(st,{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(zm,{field:{kind:`input`,id:`url`,label:`代理地址`,value:`http://127.0.0.1:7890`},selected:!0})},{name:`input/empty`,render:()=>U(zm,{field:{kind:`input`,id:`token`,label:`API Key`,value:``,mask:!0},selected:!1})},{name:`switch/on`,render:()=>U(zm,{field:{kind:`switch`,id:`enabled`,label:`启用`,value:!0},selected:!1})}]},{id:`ParentWorkspaceDialog`,category:`dialogs`,title:`ParentWorkspaceDialog`,variants:[{name:`default`,render:()=>U(Hn,{parentRoot:`/Users/dev/projects/monorepo`,currentRoot:`/Users/dev/projects/monorepo/packages/app`,onChoice:tg})}]},{id:`PauseDialog`,category:`components`,title:`PauseDialog`,variants:[{name:`requested`,render:()=>U(eg,{item:{phase:`requested`,requestedAt:Date.now()-3e3,toolCount:2,totalToolCount:5}})},{name:`active`,render:()=>U(eg,{item:{phase:`active`,requestedAt:Date.now()-8e3,toolCount:0}})}]},{id:`ProxyPane`,category:`components`,title:`ProxyPane`,variants:[{name:`enabled`,render:()=>U(Vm,{view:{url:`http://127.0.0.1:7890`,enabled:!0,configPath:`~/.otto/config.json`},onDismiss:tg,onOpenModal:ng,onSubmitUrl:tg,onToggleEnabled:tg,onClear:tg})},{name:`unconfigured`,render:()=>U(Vm,{view:{configPath:`~/.otto/config.json`},onDismiss:tg,onOpenModal:ng,onSubmitUrl:tg,onToggleEnabled:tg,onClear:tg})}]},{id:`KeybindingsDialog`,category:`dialogs`,title:`KeybindingsDialog`,variants:[{name:`default`,render:()=>U(Dp,{overrides:void 0,onSave:tg,onSaveReplace:tg,onReset:tg,onResetAll:tg,onDismiss:tg})}]},{id:`ShadowChip`,category:`components`,title:`ShadowChip`,variants:[{name:`default`,render:()=>U(Cd)}]},{id:`ShadowBanner`,category:`components`,title:`ShadowBanner`,variants:[{name:`default`,render:()=>U(wd)}]},{id:`ClipboardPane`,category:`components`,title:`ClipboardPane`,variants:[{name:`blurred`,render:()=>U(Tf,{text:`copied text sample
|
|
87
|
+
second line`,focused:!1})},{name:`focused`,render:()=>U(Tf,{text:`copied text sample
|
|
129
88
|
second line
|
|
130
|
-
third line`,focused:!0,columns:80})}]},{id:`PromptLogPane`,category:`components`,title:`PromptLogPane`,variants:[{name:`default`,render:()=>{let e=ou();return[{role:`user`,content:`帮我修一下登录页的报错`},{role:`user`,content:`再跑一遍测试`}].forEach((t,n)=>e.append(t,`gallery-prompt-${n}`)),
|
|
131
|
-
`),onDismiss:$},rows:24,columns:80})},{name:`code-file`,render:()=>
|
|
89
|
+
third line`,focused:!0,columns:80})}]},{id:`PromptLogPane`,category:`components`,title:`PromptLogPane`,variants:[{name:`default`,render:()=>{let e=ou();return[{role:`user`,content:`帮我修一下登录页的报错`},{role:`user`,content:`再跑一遍测试`}].forEach((t,n)=>e.append(t,`gallery-prompt-${n}`)),U(Rf,{messageStore:e,focused:!0,rows:24,columns:80})}}]}],$=()=>{},ig=[{id:`svc-1`,command:`npm run dev`,status:`running`,type:`process`,startedAt:Date.now()-42e3,detectedService:{url:`http://localhost:3000`,port:3e3,protocol:`http`}}],ag={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:$},og=[{id:`AlertDialog`,category:`dialogs`,title:`AlertDialog`,variants:[{name:`single-line`,render:()=>U($l,{title:`Update available`,message:`A new version (0.2.0) is ready to install.`,onOk:$})},{name:`multi-line`,render:()=>U($l,{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(Ql,{command:`git status`,risk:`low`,description:`Show the working tree status.`,alwaysAllowLabel:`git status`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>U(Ql,{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(Ql,{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($e,{title:`Discard changes?`,message:`Any unsaved edits will be lost.`,onConfirm:$,onCancel:$})},{name:`dangerous`,render:()=>U($e,{title:`Abort current turn?`,message:`The model is still responding.`,confirmLabel:`Abort`,confirmColor:`red`,dangerous:!0,onConfirm:$,onCancel:$})},{name:`threeBtn`,render:()=>U($e,{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(op,{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(op,{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(Kl,{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(Kl,{req:{entries:[],onSelect:$,onCancel:$}})}]},{id:`FileViewerDialog`,category:`dialogs`,title:`FileViewerDialog`,variants:[{name:`markdown-rendered`,render:()=>U(lp,{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(`
|
|
90
|
+
`),onDismiss:$},rows:24,columns:80})},{name:`code-file`,render:()=>U(lp,{req:{path:`index.ts`,content:`export function add(a: number, b: number): number {
|
|
132
91
|
return a + b
|
|
133
|
-
}`,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
|
|
134
|
-
`),userIndex:`- [editor-prefs](memory/editor-prefs.md) — preferred editor and formatting`,onViewEntry:async()=>`sample entry content`,onForget:async()=>{},onDismiss:$})},{name:`empty`,render:()=>
|
|
135
|
-
`),onConfirm:$,onCancel:$})}]},{id:`PermissionDialog`,category:`dialogs`,title:`PermissionDialog`,variants:[{name:`risk=low`,render:()=>
|
|
92
|
+
}`,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(fp,{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(Lp,{req:{panelInfo:{title:`Miniprogram Use`,modulePath:`/nonexistent/config.mjs`,exportName:`default`},onClose:$}})}]},{id:`InfoDialog`,category:`dialogs`,title:`InfoDialog`,variants:[{name:`no-action`,render:()=>U(Te,{title:`Permissions`,lines:[`Bash: ask each time`,`Edit: auto-approve within project`,`WebFetch: ask each time`],onDismiss:$})},{name:`with-action`,render:()=>U(Te,{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(Te,{title:`About otto`,lines:Rl([{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(Te,{title:`关于 otto`,lines:Rl([{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(hp,{title:`Rename session`,placeholder:`New session name`,onSubmit:$,onCancel:$})},{name:`masked-with-action`,render:()=>U(hp,{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(Bl,{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(`
|
|
93
|
+
`),userIndex:`- [editor-prefs](memory/editor-prefs.md) — preferred editor and formatting`,onViewEntry:async()=>`sample entry content`,onForget:async()=>{},onDismiss:$})},{name:`empty`,render:()=>U(Bl,{projectIndex:``,userIndex:``,onViewEntry:async()=>null,onForget:async()=>{},onDismiss:$})}]},{id:`PasteConfirmDialog`,category:`dialogs`,title:`PasteConfirmDialog`,variants:[{name:`default`,render:()=>U(Yf,{content:Array.from({length:24},(e,t)=>`line ${t+1}: pasted content goes here`).join(`
|
|
94
|
+
`),onConfirm:$,onCancel:$})}]},{id:`PermissionDialog`,category:`dialogs`,title:`PermissionDialog`,variants:[{name:`risk=low`,render:()=>U(Jl,{tool:`read`,input:`{ "path": "src/index.ts" }`,risk:`low`,onApprove:$,onDeny:$})},{name:`risk=medium`,render:()=>U(Jl,{tool:`edit`,input:`{ "path": "src/app.ts", "oldContent": "...", "newContent": "..." }`,risk:`medium`,onApprove:$,onDeny:$})},{name:`risk=high`,render:()=>U(Jl,{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(eu,{title:`Name this branch`,message:`Enter a short, descriptive branch name.`,placeholder:`feature/...`,onSubmit:$,onCancel:$})},{name:`with-initial-value`,render:()=>U(eu,{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(it,{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(it,{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(ht,{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(ht,{title:`Installing plugin`,phases:[`Download`,`Extract`,`Register`],phaseIndex:2,phaseStatuses:[`done`,`done`,`done`],percent:100,detail:``,status:`success`,onDismiss:$})},{name:`partial`,render:()=>U(ht,{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(ht,{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(_m,{tasks:ig,columns:80,rows:24,onDismiss:$})}]},{id:`ShortcutsDialog`,category:`dialogs`,title:`ShortcutsDialog`,variants:[{name:`list`,render:()=>U(Qp,{shortcuts:[{name:`deploy`,text:`run the deploy script`}],onSave:$,onDelete:$,onDismiss:$})}]},{id:`QueueEditDialog`,category:`dialogs`,title:`QueueEditDialog`,variants:[{name:`edit-send`,render:()=>U(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:()=>U(fm,{req:{label:`Pasted content #3`,content:`line one
|
|
136
95
|
line two
|
|
137
|
-
line three`,onDismiss:$},rows:24,columns:80})}]},{id:`A2uiFormDialog`,category:`dialogs`,title:`A2uiFormDialog`,variants:[{name:`form`,render:()=>H(By,{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(Jb,{columns:80,onComplete:$})}]},{id:`WizardDialog`,category:`dialogs`,title:`WizardDialog`,variants:[{name:`step-0-provider`,render:()=>H(bt,{request:US})}]}];function GS(e,t=72){return A(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function KS(e,t){let[n,r]=G(e);return U(()=>{if(n<=0){t();return}let e=setTimeout(()=>r(e=>e-1),1e3);return()=>clearTimeout(e)},[n,t]),n}function qS({item:e}){let t=R(),{attempt:n,max:r,delayMs:i,onExpired:a,reason:o,onStop:s,accelerate:c}=e,l=KS(Math.ceil(i/1e3),a),[u,d]=G(0),f=s!==void 0,p=f?2:1,m=()=>{c.skip=!0,a()},h=()=>{s?.()};return ee({tabIndex:0,id:`retry-countdown`,onAction:()=>(u===1&&f?h():m(),!0),onEscape:f?()=>(h(),!0):void 0}),E(`retry-countdown`,(e,t)=>{if(t.escape)return f?(h(),!0):!1;if(t.return)return u===1&&f?h():m(),!0;if(f&&(t.leftArrow||t.rightArrow||t.tab)){let e=re(t);return e!==0&&d(t=>te(t,e,p)),!0}return e===`r`||e===`R`?(m(),!0):!1}),q(M,{header:K(be,{color:t.error,children:o?B.t(`retry.reason`,{reason:GS(o)}):B.t(`retry.defaultTitle`)}),children:[K(Y,{children:` `}),q(Y,{children:[B.t(`retry.attempt`,{attempt:n,max:r}),B.t(`retry.progressSep`),B.t(`retry.countdown`,{s:l})]}),K(Y,{children:` `}),q(J,{flexDirection:`row`,gap:I.section,children:[K(P,{variant:`solid`,brackets:!0,color:`accent`,label:B.t(`retry.nowButton`),focused:u===0}),f&&K(P,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`retry.stopButton`),focused:u===1})]}),K(Y,{children:` `}),K(Y,{dimColor:!0,children:f?B.t(`retry.hintWithStop`):B.t(`retry.hint`)})]})}function JS(e,t=72){return A(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function YS(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 XS(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 ZS(e,t,n=30){let[r,i]=G(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 QS(e,t,n,r){let[i,a]=G(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 $S({item:e,now:t=Date.now,rows:n,onFocusChange:r}){let i=R(),{reason:a,attempt:o,max:s,mode:c,resetsAt:l,limitType:u,actions:d,focusIndex:f,exhausted:p,pluginSource:m}=e,h=ZS(c===`auto`&&!p,e.onExpired,e.intervalSeconds??30),g=QS(c===`resetsAt`,l,e.onExpired,t),_=p?B.t(`error.exhaustedTitle`):a?B.t(`error.title`,{reason:JS(a)}):B.t(`error.defaultTitle`),v=n==null?10:Math.min(10,Math.max(3,Math.floor(n/3))),y=(()=>{if(p||!a||a.length<=72)return null;let e=YS(a,72);if(e.length<=v)return e;let t=e.slice(0,v-1),n=e.length-t.length;return[...t,B.t(`common.moreLinesLabel`,{n})]})(),b;b=p?B.t(`error.exhaustedBody`,{max:s}):c===`resetsAt`?g===null?B.t(`error.unknownReset`):B.t(`error.resetsIn`,{hms:XS(g)}):c===`auto`?B.t(`error.autoCountdown`,{attempt:o,max:s,seconds:h}):u?B.t(`error.unknownReset`):B.t(`error.manualBody`,{attempt:o,max:s});let x=d.length+1,S=d.length,C=t=>{t<d.length?d[t].run():e.onCancel()};E(`error-retry-buttons`,(t,n)=>{if(n.escape)return r?.(S),e.onCancel(),!0;if(n.leftArrow||n.rightArrow||n.tab){let e=re(n);return e!==0&&r?.(te(f,e,x)),!0}if(n.return)return C(f),!0;if(t.toLowerCase()===`r`){let e=d.findIndex(e=>e.kind===`retryNow`);if(e>=0)return r?.(e),d[e].run(),!0}return!1});let w=e=>e===`retryNow`?`accent`:e===`login`?`amber`:`accent`;return q(M,{header:q(J,{flexDirection:`column`,children:[q(be,{color:i.error,children:[N.cross,` `,_]}),y&&y.length>0&&q(Xt,{children:[K(Y,{children:` `}),y.map((e,t)=>K(Y,{dimColor:!0,children:e},t))]})]}),children:[u&&K(J,{marginTop:I.tight,children:K(Y,{dimColor:!0,children:B.t(`error.typeLabel`,{type:u.replace(/_/g,`-`)})})}),K(J,{marginTop:I.tight,children:K(Y,{color:c===`auto`&&!p?void 0:i.inactive,children:b})}),m&&K(J,{marginTop:I.tight,children:K(Y,{dimColor:!0,children:B.t(`cmd.errorRetryPluginSource`,{pluginId:m})})}),q(J,{marginTop:I.tight,flexDirection:`row`,gap:I.section,flexWrap:`wrap`,children:[d.map((e,t)=>K(P,{variant:`solid`,brackets:!0,color:w(e.kind),label:e.label,focused:f===t},e.kind)),K(P,{variant:`solid`,brackets:!0,color:`gray`,label:B.t(`common.genericCancelButton`),focused:f===S})]}),K(J,{marginTop:I.tight,children:q(Y,{dimColor:!0,children:[B.t(`error.hint`),d.some(e=>e.kind===`retryNow`)?` ${O.left}${O.right} ${B.t(`hint.switch`)} · r ${B.t(`hint.shortcut`)}`:``]})})]})}const eC=()=>{};function tC(){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 nC={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`},rC={role:`user`,content:`How does the retry backoff work in the stream error handler?`},iC={role:`tool`,name:`read`,args:`src/index.ts`,result:`export function main() { ... }`},aC={role:`compact_boundary`,before:1566,after:395},oC={role:`prune_boundary`},sC={role:`model_switch`,label:`claude-haiku-4-5-20251001 (200K)`},cC={role:`model_fallback`,configured:`anthropic/claude-haiku-4-5-20251001`,active:`deepseek-v4-pro (1M)`},lC={role:`tool_completion`,content:`Background job "refactor-auth" completed successfully.`},uC={role:`summary`,status:`done`,toolCount:6,elapsedMs:42e3,tokensUsed:18400,cacheHitRatio:.72,model:`claude-sonnet-4`},dC=[{id:`PromptInput`,category:`input`,title:`PromptInput (simplified)`,variants:[{name:`empty-placeholder`,render:()=>H(Gi,{columns:80,placeholder:`Type a message…`,disabled:!0})}]},{id:`QueuedCommands`,category:`input`,title:`QueuedCommands`,variants:[{name:`three-queued`,render:()=>H(Ki,{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(mt,{value:`Hello, this is a sample message`,offset:31,columns:80,mode:`send`})},{name:`bash-mode`,render:()=>H(mt,{value:`pnpm --filter @x-otto/tui typecheck`,offset:33,columns:80,mode:`bash`})},{name:`placeholder`,render:()=>H(mt,{value:``,offset:0,columns:80,mode:`send`,placeholder:`Ask anything…`})},{name:`masked`,render:()=>H(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:()=>H(Zc,{message:nC,columns:80})},{name:`user`,render:()=>H(Zc,{message:rC,columns:80})},{name:`tool`,render:()=>H(Zc,{message:iC,columns:80})},{name:`compact_boundary`,render:()=>H(Zc,{message:aC,columns:80})},{name:`prune_boundary`,render:()=>H(Zc,{message:oC,columns:80})},{name:`model_switch`,render:()=>H(Zc,{message:sC,columns:80})},{name:`model_fallback`,render:()=>H(Zc,{message:cC,columns:80})},{name:`tool_completion`,render:()=>H(Zc,{message:lC,columns:80})},{name:`summary`,render:()=>H(Zc,{message:uC,columns:80})}]},{id:`ScrollableTranscript`,category:`messages`,title:`ScrollableTranscript`,variants:[{name:`bottom (live tail)`,render:()=>H(sl,{messages:[rC,nC],columns:80,rows:12,scroll:0})},{name:`scrolled back (review hint)`,render:()=>H(sl,{messages:[rC,nC],columns:80,rows:12,scroll:2,frozenNewCount:3})}]},{id:`REPLRegion`,category:`messages`,title:`REPLRegion (simplified)`,variants:[{name:`streaming`,render:()=>{let e=Tl();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,toolTurnCount:2,maxToolTurns:12,activeTool:null}),H(Ml,{streamStore:e,completedMessages:[nC],columns:80,scrollStore:ya()})}}]},{id:`ContextBar`,category:`inspector`,title:`ContextBar (budget bar)`,variants:[{name:`default`,render:()=>H(mS,{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(Lc,{sigil:`@`,initialQuery:``,registry:tC(),active:!1,rows:24,onSelect:eC,onClose:eC})}]},{id:`RetryDialog`,category:`components`,title:`RetryDialog`,variants:[{name:`with-reason`,render:()=>H(qS,{item:{attempt:2,max:5,delayMs:8e3,accelerate:{skip:!1},onExpired:eC,reason:`socket hang up`}})}]},{id:`ErrorRetryDialog`,category:`components`,title:`ErrorRetryDialog`,variants:[{name:`auto-30s`,render:()=>H($S,{item:{reason:`socket hang up`,attempt:2,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:eC}],focusIndex:0,exhausted:!1,onExpired:eC,onCancel:eC}})},{name:`resetsAt-known`,render:()=>H($S,{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:eC},{kind:`switchModel`,label:`Switch model`,run:eC}],focusIndex:0,exhausted:!1,onExpired:eC,onCancel:eC},now:()=>17e11})},{name:`manual-auth`,render:()=>H($S,{item:{reason:`unauthorized (401)`,attempt:0,max:5,mode:`manual`,actions:[{kind:`login`,label:`Go to login`,run:eC}],focusIndex:0,exhausted:!1,onExpired:eC,onCancel:eC}})},{name:`exhausted`,render:()=>H($S,{item:{reason:`connection refused`,attempt:5,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:eC}],focusIndex:0,exhausted:!0,onExpired:eC,onCancel:eC}})}]}],fC=[...Qx,...lS,...LS,...VS,...WS,...dC],pC=[`components`,`dialogs`,`input`,`messages`,`inspector`,`sigil`];function mC(){let e=new Map;for(let t of pC)e.set(t,[]);for(let t of fC)e.get(t.category)?.push(t);return e}function hC({galleryStore:e,onDismiss:t,rows:n=24}){let r=R(),i=X(e.store,e=>e),o=Yt(mC,[]),s=Yt(()=>pC.filter(e=>(o.get(e)?.length??0)>0),[o]),{maxRows:c,expanded:l,handleExpandKey:u}=_a(n),d=Math.max(3,c-12),f=s[i.categoryIndex%Math.max(1,s.length)],p=f?o.get(f)??[]:[],m=p[i.itemIndex],h=m?.variants[i.variantIndex],g=Yt(()=>{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,i.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,i.itemIndex,d]),_=Math.max(1,d-1),v=a();return E(`gallery-pane`,(n,r)=>{if(r.escape){t();return}if(!u(n,r)){if(r.leftArrow||r.rightArrow){if(s.length===0)return;let t=r.leftArrow?-1:1,n=(i.categoryIndex+t+s.length)%s.length;e.setCategoryIndex(n);return}if(r.upArrow||r.downArrow){if(p.length===0)return;let t=r.upArrow?-1:1,n=(i.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 a=n===`[`||r.pageUp?-1:1,o=(i.variantIndex+a+t.length)%t.length;e.setVariantIndex(o)}}},{isActive:v?v.currentPath===`/pane/gallery`:!0}),K(M,{header:q(J,{flexDirection:`column`,children:[q(J,{children:[K(Y,{color:r.secondary,bold:!0,children:`Component Gallery`}),q(D,{type:`secondary`,children:[` `,fC.length,` components`]})]}),K(J,{marginTop:I.tight,children:s.map((e,t)=>K(Y,{color:t===i.categoryIndex?r.selection:r.inactive,bold:t===i.categoryIndex,children:t===i.categoryIndex?`[${e}] `:`${e} `},e))})]}),footer:q(Xt,{children:[`+ `,l?B.t(`hint.collapseHeight`):B.t(`hint.expandHeight`),` · ↑↓ component · ←→ category · [ ] variant · Esc close`]}),children:q(J,{marginTop:I.tight,flexDirection:`row`,children:[q(J,{flexDirection:`column`,width:28,marginRight:I.section,children:[g.items.map(({it:e,i:t})=>q(Y,{color:t===i.itemIndex?r.selection:r.text,bold:t===i.itemIndex,children:[t===i.itemIndex?Ae():Ft(),e.title]},e.id)),g.hasMore&&K(D,{type:`secondary`,children:` ↓ ${p.length-g.end} more`}),p.length===0&&K(D,{type:`secondary`,children:`no components in this category`})]}),q(J,{flexDirection:`column`,flexGrow:1,children:[m&&K(J,{marginBottom:I.tight,children:q(D,{type:`secondary`,children:[m.title,m.variants.length>1?` · ${h?.name} (${i.variantIndex+1}/${m.variants.length})`:``]})}),K(J,{height:_,overflow:`hidden`,flexDirection:`column`,children:K(J,{flexShrink:0,flexDirection:`column`,children:K(bb,{children:h?h.render():K(D,{type:`secondary`,children:`no variant selected`})},`${m?.id}-${i.variantIndex}`)})})]})]})})}const gC=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:w,onProxyDismiss:ee,onProxyOpenModal:E,onProxySubmitUrl:te,onProxyToggleEnabled:ne,onProxyClear:re,onProxyTest:ie,onCompactionLogDismiss:ae,onGalleryDismiss:oe,onContextDismiss:D,onViewDetails:se,onBackToContextPane:O,onDismissToast:ce,onErrorRetryFocusChange:le,onPulseSurveyChange:ue,onUpgrade:k,onCancelUpgrade:de}=h_();return q(Xt,{children:[t&&K(fx,{perfStore:n,onDismiss:S??(()=>{}),onRefresh:C??(()=>{})}),r&&K(xx,{cacheStore:i,onDismiss:w??(()=>{})}),a&&K(Tx,{view:o,onDismiss:ee??(()=>{}),onOpenModal:E??_C,onSubmitUrl:te??(()=>{}),onToggleEnabled:ne??(()=>{}),onClear:re??(()=>{}),onTest:ie}),s&&K(Ax,{entries:c,onClose:ae??(()=>{})}),l&&K(hC,{galleryStore:u,onDismiss:oe??(()=>{}),rows:v??24}),p&&q(Xt,{children:[K(T,{path:`/pane/context`,element:K(hS,{budget:f??null,columns:d,onDismiss:D??(()=>{}),onViewDetails:se??(()=>{})})}),K(T,{path:`/pane/context/detail`,element:K(bS,{ctxStore:p,columns:d,onBack:O??(()=>{})})})]}),m&&K(T,{path:`/overlay/toast`,inStack:!0,element:K(Jx,{toast:m,onDismiss:ce})}),!h&&g&&K(T,{path:`/overlay/retry`,inStack:!0,element:K(qS,{item:g})}),!h&&_&&K(T,{path:`/overlay/error-retry`,inStack:!0,element:K($S,{item:_,rows:v??24,onFocusChange:le})}),y&&K(T,{path:`/overlay/pause`,inStack:!0,element:K(RS,{item:y})}),b&&K(T,{path:`/overlay/pulse-survey`,inStack:!0,element:K(Fx,{item:b,onChange:ue})}),x&&K(T,{path:`/overlay/forced-upgrade`,inStack:!0,element:K(xS,{message:x,onUpgrade:k,onCancel:de})})]})});function _C(e){if(e&&typeof e==`object`&&`kind`in e&&e.kind===`input`)return Promise.resolve(null)}function vC(e){return q(Xt,{children:[K(yC,{...e}),K(bC,{...e}),K(xC,{...e})]})}function yC(e){return K(ax,{...e,routeDerivedOwner:e.routeDerivedOwner})}function bC(e){return K($b,{...e,routeDerivedOwner:e.routeDerivedOwner})}function xC(e){let{stdout:t}=an(),{stack:n}=_e(),r=e=>n.some(t=>t.path===e),{notificationStore:i,taskStore:a,budgetStore:o,proxyStore:s}=n_(),c=X(i.store,e=>e.toast),l=X(i.store,e=>e.retryCountdown),u=X(i.store,e=>e.errorRetry),d=X(i.store,e=>e.pauseDialog),f=X(i.store,e=>e.pulseSurvey),p=X(a.store,e=>e.subagentContext),m=X(a.store,e=>e.forcedUpgrade),h=X(o.store,e=>e.budget),g=X(s.store,e=>e.view);return K(gC,{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 SC(e){let{taskStore:t,budgetStore:n,perfStore:r,notificationStore:i}=n_(),a=X(r.store,e=>e.indicatorLevel),o=X(t.store,e=>e.modelName),s=X(n.store,e=>e.budget),c=X(t.store,e=>e.scheduleTasks),l=X(t.store,e=>e.queued),u=X(i.store,e=>e.notifications),d=X(i.store,e=>e.paused),f=X(i.store,e=>e.pausePending);return K(Xx,{columns:e.columns,footerVisible:e.footerVisible,perfIndicatorLevel:a,perfIndicatorUsedPct:e.perfIndicatorUsedPct,modelName:o,budget:s,badgeEntries:e.badgeEntries,fullScreenPaneActive:e.fullScreenPaneActive,scheduleEnabledCount:c.filter(e=>e.enabled).length,agentProcessing:e.agentProcessing,queuedItems:l,notifications:u,language:e.language,welcome:e.welcome,messages:e.messages,hasHistory:e.hasHistory,paused:d,pausePending:f,shadow:e.shadow})}function CC(e){let t=Ay({showHome:!!e.showHome,agentProcessing:!!e.agentProcessing,hasTip:!!e.idleTip});return t<=0?null:K(J,{flexDirection:`column`,height:t,overflow:`hidden`,flexShrink:0,children:e.idleTip?K(zx,{tip:e.idleTip}):null})}function wC(e){return q(Xt,{children:[K(vC,{...e,routeDerivedOwner:e.routeDerivedOwner}),K(CC,{...e}),q(J,{ref:e.inputChromeRef,flexDirection:`column`,flexShrink:0,children:[K(vy,{fullScreenPaneActive:e.fullScreenPaneActive,tipVisible:!!e.idleTip,tasksCollapsed:e.tasksCollapsed,taskSelIndex:e.taskSelIndex,setTaskSelIndex:e.setTaskSelIndex,backgroundTasksOrdered:e.backgroundTasksOrdered,columns:e.columns,openEditedFileFull:e.openEditedFileFull,editedFileFullPath:e.editedFileFullPath,subagents:e.subagents,cwd:e.welcome?.cwd,showHome:e.showHome}),K(jy,{...e}),K(SC,{...e})]})]})}function TC(e){let t=u_(),n=V.useRef(null),r=en(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 K(Sa,{value:e.scrollStore,children:q(J,{flexDirection:`column`,width:e.columns,height:a,position:`relative`,overflow:`hidden`,children:[K(J,{flexGrow:1,flexShrink:1,flexDirection:`column`,overflow:`hidden`,justifyContent:`flex-end`,children:K(Zv,{...e,rows:o})}),K(J,{flexShrink:0,flexDirection:`column`,children:K(wC,{...e,routeDerivedOwner:t,inputChromeRef:n})})]})})}const EC=V.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:ee,cacheStore:T,proxyStore:te,compactionLogStore:ne,galleryStore:re,streamStore:ie,taskStore:ae,registryRef:oe,shellBackendRef:D,shellExecution:se=null,a2uiButtons:O,keybindingOverrides:ce,promptSuggestions:le,shiftEnterRef:ue,restoreInputRef:k}){let{write:de}=an(),A=h_();U(()=>{n?.(de)},[de,n]);let{taskStore:j,budgetStore:fe,perfStore:pe,cacheStore:me,proxyStore:he,compactionLogStore:ge,galleryStore:ve,streamStore:ye}=Q_({taskStore:ae,budgetStore:C,perfStore:ee,cacheStore:T,proxyStore:te,compactionLogStore:ne,galleryStore:re,streamStore:ie}),be=X(j.store,e=>e.tasks),xe=X(j.store,e=>e.pendingEcho),Se=X(j.store,e=>e.pendingSteers),Ce=X(j.store,e=>e.editedFiles),M=X(j.store,e=>e.backgroundTasks),we=X(j.store,e=>e.subagentsAccum),N=X(j.store,e=>e.scheduleTasks),Te=X(j.store,e=>e.clipboardText),Ee=X(j.store,e=>e.drafts),De=X(j.store,e=>e.queued),Oe=X(j.store,e=>e.pendingPermission),ke=X(j.store,e=>e.backgroundOutput),Ae=X(j.store,e=>e.subagentContext),je=X(j.store,e=>e.forcedUpgrade),Me=X(j.store,e=>e.modelName),Ne=X(j.store,e=>e.pluginStatusItems),Pe=X(j.store,e=>e.statusWidgets),P=X(j.store,e=>e.needsSetup),Fe=X(j.store,e=>e.permissionMode),Ie=X(j.store,e=>e.ftueStage),Le=X(j.store,e=>e.capabilityRecommendations),Re=X(j.store,e=>e.capabilityDismissed),ze=Yt(()=>Mo(M),[M]),{editedFileFull:Be,editedFileFullPath:Ve,openEditedFileFull:He,closeEditedFileFull:Ue,taskDetailTurn:We,openTaskDetail:Ge,closeTaskDetail:Ke,shellFullOutput:qe,setShellFullOutput:Je,queueEditIndex:Ye,setQueueEditIndex:Xe,queueCloseConfirm:Ze,setQueueCloseConfirm:Qe,queueEscSuppress:$e,setQueueEscSuppress:F,interruptConfirm:et,setInterruptConfirm:tt,popQueuedConfirm:nt,setPopQueuedConfirm:rt,fullScreenPaneActive:it}=g_({queuedItemsLength:De.length,subagentContext:Ae,backgroundOutput:ke}),[at,ot]=G(0),[st,ct]=G(!1),{sigilState:lt,setSigilState:ut,sigilApplyRef:dt,hadSigilFocusRef:ft,chipContentViewerRequest:pt,pasteContent:I,handleSigilTrigger:mt,handleHistorySearch:ht,handleChipReopen:gt,handleChipViewPaste:_t,handleSigilClose:L,handlePasteConfirmRequest:vt,handlePasteConfirm:R,handlePasteCancel:yt}=F_(),bt=W(null);ue&&(ue.current=()=>bt.current?.insertNewline?.()),k&&(k.current={fill:e=>bt.current?.fill(e)});let xt=W(null),St=qt(e=>{let t=Math.max(0,Math.min(e,Ee.length-1)),n=Ee[t];n&&(bt.current?.fill(n.text),A.onDraftDelete?.(t)),A.onToggleDraftPane?.()},[Ee,A.onToggleDraftPane,A.onDraftDelete]),z=W(null),Ct=oe??z,wt=X(pe.store,e=>e.indicatorLevel),Tt=X(pe.store,e=>e.memory?.usedPct),Et=X(he.store,e=>e.view),Dt=X(ge.store,e=>e.entries),{stack:Ot,currentPath:kt}=_e(),At=e=>Ot.some(t=>t.path===e),jt=At(`/pane/perf`),Mt=At(`/pane/cache`),Nt=kt.startsWith(`/pane/compaction-log`),Pt=At(`/pane/gallery`),Ft=l??V.useMemo(()=>ya(),[]),It=w??V.useMemo(()=>nu(),[]),Lt=X(It.store,e=>e.providerUsage),Rt=d??V.useMemo(()=>ou(),[]),zt=S??V.useMemo(()=>$g(),[]),Bt=V.useMemo(()=>({taskStore:j,budgetStore:fe,perfStore:pe,cacheStore:me,proxyStore:he,compactionLogStore:ge,galleryStore:ve,streamStore:ye,notificationStore:It,contextStore:zt,messageStore:Rt,scrollStore:Ft}),[j,fe,pe,me,he,ge,ve,ye,It,zt,Rt,Ft]),Vt=X(Ft.store,e=>e.offset),Ht=X(Ft.store,e=>e.totalLines>0),[Ut,Wt]=V.useState(!1),[Gt,Kt]=V.useState(!1),H=V.useRef(!1),Jt=V.useCallback(()=>{H.current||Gt||!u||!d||(H.current=!0,Wt(!0),u({limit:500}).then(e=>{e&&e.length>0?d.prependMany(e):Kt(!0)}).catch(()=>Kt(!0)).finally(()=>{H.current=!1,Wt(!1)}))},[Gt,u,d]),Xt=V.useCallback(e=>{Ft.scrollBy(e)},[Ft]),[q,Zt]=V.useState(!1),[J,Qt]=V.useState(``),[Y,$t]=V.useState(-1),[en,tn]=V.useState(0),nn=V.useCallback(e=>tn(e),[]),rn=V.useCallback(e=>Ft.setOffset(e),[Ft]),on=s_(kt)&&!je&&!Ze&&!et&&!nt;E(`repl-scroll`,(e,n)=>{if(!Ht)return!1;if(n.pageUp)return Ft.page(1,t),!0;if(n.pageDown)return Ft.page(-1,t),!0;if((n.upArrow||n.downArrow)&&(n.alt||n.meta))return Ft.scrollBy(n.upArrow?1:-1),!0;if(Vt===0||kt!==`/`&&!n.upArrow&&!n.downArrow&&e!==`g`&&e!==`G`)return!1;if(q){if(n.escape)return Zt(!1),Qt(``),$t(-1),!0;if(n.return)return Zt(!1),Qt(``),$t(-1),Ft.toBottom(),!0;if(n.backspace)return Qt(e=>e.slice(0,-1)),$t(-1),!0;if((e===`n`||e===`N`)&&J.length>0){let t=e===`n`?1:-1;return $t(e=>en>0?(e+t+en)%en:-1),!0}return e.length===1?(Qt(t=>t+e),$t(-1),!0):!0}if(e===`/`)return Zt(!0),Qt(``),$t(-1),!0;if(n.upArrow)return Ft.scrollBy(1),!0;if(n.downArrow)return Ft.scrollBy(-1),!0;if(e===`g`&&!n.ctrl)return Ft.toTop(),!0;if(e===`G`&&!n.ctrl||n.escape||n.return)return Ft.toBottom(),!0;if(e.length>0&&!n.ctrl){Ft.toBottom();let t=bt.current;return t?.append?t.append(e):t?.fill(e),!0}return!1},{isActive:on});let sn=At(`/pane/edited-files`),cn=At(`/pane/subagents`),ln=At(`/pane/schedule`),un=qt(()=>{Qe(!0)},[]),dn=qt(()=>{tt(!0)},[]),fn=qt(()=>{rt(!0)},[]),pn=kt.startsWith(`/pane/context/detail`),mn=X(ye.store,e=>e.processing),hn=X(fe.store,e=>e.budget),{footerVisible:gn,badgeEntries:_n}=A_({columns:e,permissionMode:Fe,cost:p,providerUsage:Lt,pluginStatusItems:Ne,statusWidgets:Pe,modelName:Me}),vn=Yt(()=>[...we.values()],[we]),yn=u_(),bn=At(`/home`)&&!kt.startsWith(`/dialog/`);U(()=>{A.onFocusOwnerChange?.(yn)},[yn,A.onFocusOwnerChange]),U(()=>{A.onScrollActiveChange?.(on)},[on,A.onScrollActiveChange]),I_({sigilState:lt,setSigilState:ut,sigilApplyRef:dt,hadSigilFocusRef:ft,focusOwner:yn,preempted:!!Oe});let xn=j_({shellExecution:se,subagentContext:Ae,agentProcessing:mn,queuedItems:De,pendingEcho:xe,pendingSteers:Se,onRequestInterruptConfirm:dn,onRequestPopQueuedConfirm:fn});return x_({scrollOffset:Vt,showHome:bn,tasksLength:be.length,backgroundTasksLength:M.length,servicesCount:av(M),editedFilesLength:Ce.length,subagentsLength:vn.length,scheduleTasksLength:N.length,scheduleOpen:ln,clipboardHasContent:Te.length>0,shellExecutionRunning:se?.status===`running`,pendingEcho:xe,pasteContent:I,forcedUpgrade:je,queueCloseConfirm:Ze,interruptConfirm:et,popQueuedConfirm:nt,routeDerivedOwner:yn,currentPath:kt,backgroundOutput:ke,a2uiButtons:O,editedFilesOpen:sn,subagentsOpen:cn,tasksCollapsed:st,setTasksCollapsed:ct,keybindingOverrides:ce,promptSuggestions:le,onFillPromptSuggestion:qt(e=>{bt.current?.fill(e)},[]),isPromptDraftEmpty:qt(()=>bt.current?.isEmpty?.()??!0,[]),capabilityCardShown:Ie===`first-prompt`&&!Re&&Le.length>0,capabilityItemIds:Yt(()=>Le.slice(0,3).map(e=>e.extensionId),[Le]),onInstallCapability:A.onInstallCapability,onDismissCapabilityRecommendations:A.onDismissCapabilityRecommendations}),K(t_,{value:Bt,children:K(TC,{columns:e,rows:t,welcome:x,idleTip:cv({active:kt===`/`&&!je&&!mn&&!P,resetKey:`${kt}|${mn?1:0}`,isZh:B.language?.startsWith(`zh`)??!1}),promptSuggestions:le,capabilityRecommendations:Le,capabilityDismissed:Re,showHome:bn,messages:a,hasHistory:i,maxPreviewRows:r,windowMode:o,scrollbackMode:s,shadow:c,keybindingOverrides:ce,scrollStore:Ft,loadHistory:u,messageStore:d,earlierLoading:Ut,earlierEnded:Gt,onNeedEarlier:Jt,onPrepend:Xt,findQuery:q?J:void 0,findActiveMatch:Y,onFindNavigateTo:rn,onFindCountChange:nn,fullScreenPaneActive:it,streamStore:ye,pasteContent:I,handlePasteConfirm:R,handlePasteCancel:yt,queueCloseConfirm:Ze,queueEscSuppress:$e,setQueueEscSuppress:F,setQueueCloseConfirm:Qe,interruptConfirm:et,setInterruptConfirm:tt,popQueuedConfirm:nt,setPopQueuedConfirm:rt,onQueueEscConfirm:un,contextDetail:pn,contextStore:S,shellExecution:se,taskDetailTurn:We,taskSelIndex:at,openTaskDetail:Ge,closeTaskDetail:Ke,tasksCollapsed:st,backgroundTasksOrdered:ze,openEditedFileFull:He,editedFileFull:Be,editedFileFullPath:Ve,closeEditedFileFull:Ue,subagents:vn,shellFullOutput:qe,setShellFullOutput:Je,perfOpen:jt,perfStore:pe,cacheStatsOpen:Mt,cacheStore:me,proxyView:Et,compactionLogOpen:Nt,compactionLogEntries:Dt,galleryOpen:Pt,galleryStore:ve,agentProcessing:mn,needsSetup:P,handlePromptEscape:xn,handleSigilTrigger:mt,handleSigilClose:L,handleHistorySearch:ht,handleChipReopen:gt,handleChipViewPaste:_t,handlePasteConfirmRequest:vt,pluginInput:m,historyInsertRef:bt,pasteBridgeRef:xt,initialHistory:v,externalHistoryCommands:y,residencyGovernor:b,registryRef:Ct,shellBackendRef:D,sigilState:lt,setSigilState:ut,sigilApplyRef:dt,readFileContent:h,handleDraftLoad:St,queueEditIndex:Ye,setQueueEditIndex:Xe,footerVisible:gn,perfIndicatorLevel:wt,perfIndicatorUsedPct:Tt,modelName:Me,budget:hn,badgeEntries:_n,language:f,getTurnMessages:_,resolveWholeFileDiff:g,setTaskSelIndex:ot,chipContentViewerRequest:pt,cost:p,statusWidgets:Pe,pluginStatusItems:Ne})})}),DC=V.memo(function(e){let t=Yt(()=>f_(e),[]);return zt(e.language??Bt()),K(on,{i18n:B,children:K(dt,{systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,children:K(m_,{value:t,children:K(ne,{children:K(ce,{initialPath:e.initialPath??`/home`,children:K(EC,{...e})})})})})})}),OC=Kt(null);function kC(){let e=Jt(OC);if(!e)throw Error(`useTabScope() must be used inside <TabScope>`);return e}function AC({scopeId:e,children:t}){let n=Yt(()=>new v,[]),[r,i]=G(null),a=W(null);a.current=r;let o=qt((t,r)=>{Xe(n,a.current,r)||Oe(n,a.current,e,i,r)},[n,e]);tn((e,t)=>{o(e,t)}),U(()=>{let t=n.getInitialFocus(e);t&&!a.current&&i(t)},[e,n]);let s=Yt(()=>({routePath:e,currentPath:e,activeId:r,registry:n,hasRouter:!1}),[e,r,n]),c=Yt(()=>({activeId:r,registry:n}),[r,n]);return K(OC.Provider,{value:c,children:K(me.Provider,{value:s,children:t})})}const jC=globalThis;jC.React=V,jC.__ottoPanelInk=Zt,jC.__ottoPanelTui={Segmented:Pb,Tabs:Pb,DataList:ut,Button:P,GroupDivider:ke,ScrollIndicatorAbove:g,ScrollIndicatorBelow:b,Tabable:ve,useTabable:ee,TabScope:AC},jC.__ottoPanelFocusBridge={claim:()=>{},release:()=>{},usePanelFocusClaimed:yb,requestClose:()=>vb.requestClose(),setHint:e=>vb.setHint(e)},jC.__ottoPanelTheme={getTheme:()=>F,getFigures:()=>N},jC.__ottoPanelSpacing={SPACING:I,LAYOUT:Be},jC.__ottoPanelI18n={t:Rt,i18next:B};function MC(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=Is(n.components,80,r);for(let n of e.buttons){if(r++,r>9)break;t.push({...n,key:String(r)})}let i=Bs(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 NC(e){let t=Tl(),n=t.store,r=nu(),i=r.store,a=W_({modelName:e.modelName,needsSetup:e.needsSetup,commands:e.commands,permissionMode:e.permissionMode,drafts:e.initialDrafts,recentMentions:e.initialRecentMentions}),o=a.store,s=ou(),c=s.store,l=ya(),u=l.store,d=L_(),f=$g(),p=G_(),m=K_(),h=J_(),g=Y_(),_=Z_(),v=ea(),y=v?new aa(v):null,b={current:y},{a2uiButtonsRef:x,a2uiActionRef:S,scanA2uiButtons:C}=MC({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 PC({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 FC(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 IC(e){let t=!1,n=t=>{if(e.isTTY)try{e.write(t)}catch{}};return{enter(){t||(t=!0,n(`\x1B[?1049h\x1B[H`))},exit(){t&&(t=!1,n(`\x1B[?1049l`))},active(){return t}}}async function LC(e){let t;try{let e=await import(Wt(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 RC=new Set(`+.-.|.←.↑.→.↓.↖.↗.↘.↙.─.━.│.┃.┌.┏.┐.┓.└.┗.┘.┛.═.║.╒.╓.╔.╕.╖.╗.╘.╙.╚.╛.╜.╝.╭.╮.╯.╰.▶.●.○.⋮`.split(`.`));function zC(e){if(e.length===0)return!1;let t=!1;for(let n of e)if(n.width!==0&&!(n.ch===` `||n.ch===``)){if(!RC.has(n.ch))return!1;t=!0}return t}const BC=`\x1B]8;;\x1B\\`,VC=`\x1B[27m`;function HC(e){return e===void 0||!Number.isFinite(e)?200:Math.max(200,Math.ceil(e*2.5))}const UC=/\x1b\[[0-9;]*m/y,WC=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/y,GC=/^\x1b\]8;[^;]*;([^\x07\x1b]*)(?:\x07|\x1b\\)$/,KC=/\x1b\[[\d;?]*[ -/]*[@-~]|\x1b[P_^X][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\^_0-9=><]/y;var qC=class{minAnimationPeriod;anchorMode=`flowing`;frameTop=0;needsAnchor=!1;ambiguousWide=!1;constructor(e={}){this.minAnimationPeriod=e.minAnimationPeriod??(()=>it.minPeriodMs()),this.anchorMode=e.anchorMode??`flowing`,this.frameTop=Math.max(0,e.frameTop??0),this.ambiguousWide=e.ambiguousWide??!1,this.needsAnchor=this.anchorMode===`anchored`}get anchor(){return this.anchorMode}setAmbiguousWide(e){if(this.ambiguousWide!==e){this.ambiguousWide=e;for(let e=0;e<this.rows.length;e+=1)this.markDirty(e)}}resync(){if(this.anchorMode===`anchored`){this.needsAnchor=!0;for(let e=0;e<this.rows.length;e+=1)this.markDirty(e)}}burstQuietMs(){return HC(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(`
|
|
96
|
+
line three`,onDismiss:$},rows:24,columns:80})}]},{id:`A2uiFormDialog`,category:`dialogs`,title:`A2uiFormDialog`,variants:[{name:`form`,render:()=>U(ep,{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(cm,{columns:80,onComplete:$})}]},{id:`WizardDialog`,category:`dialogs`,title:`WizardDialog`,variants:[{name:`step-0-provider`,render:()=>U(xt,{request:ag})}]}];function sg(e,t=72){return rt(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function cg(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 lg({item:e}){let t=P(),{attempt:r,max:i,delayMs:a,onExpired:o,reason:s,onStop:c,accelerate:l}=e,u=cg(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 mt({tabIndex:0,id:`retry-countdown`,onAction:()=>(d===1&&p?g():h(),!0),onEscape:p?()=>(g(),!0):void 0}),k(`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=n(t);return e!==0&&f(t=>Xe(t,e,m)),!0}return e===`r`||e===`R`?(h(),!0):!1}),J(O,{header:q(xe,{color:t.error,children:s?V.t(`retry.reason`,{reason:sg(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:R.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 ug(e,t=72){return rt(e.replace(/\n/g,` ↵ `).replace(/\s+/g,` `).trim(),t)}function dg(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 fg(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 pg(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 mg(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 hg({item:e,now:r=Date.now,rows:i,onFocusChange:a}){let o=P(),{reason:s,attempt:c,max:l,mode:u,resetsAt:d,limitType:f,actions:p,focusIndex:m,exhausted:h,pluginSource:g}=e,_=pg(u===`auto`&&!h,e.onExpired,e.intervalSeconds??30),v=mg(u===`resetsAt`,d,e.onExpired,r),y=h?V.t(`error.exhaustedTitle`):s?V.t(`error.title`,{reason:ug(s)}):V.t(`error.defaultTitle`),b=i==null?10:Math.min(10,Math.max(3,Math.floor(i/3))),x=(()=>{if(h||!s||s.length<=72)return null;let e=dg(s,72);if(e.length<=b)return e;let t=e.slice(0,b-1),n=e.length-t.length;return[...t,V.t(`common.moreLinesLabel`,{n})]})(),S;S=h?V.t(`error.exhaustedBody`,{max:l}):u===`resetsAt`?v===null?V.t(`error.unknownReset`):V.t(`error.resetsIn`,{hms:fg(v)}):u===`auto`?V.t(`error.autoCountdown`,{attempt:c,max:l,seconds:_}):f?V.t(`error.unknownReset`):V.t(`error.manualBody`,{attempt:c,max:l});let C=p.length+1,ee=p.length,te=t=>{t<p.length?p[t].run():e.onCancel()};k(`error-retry-buttons`,(t,r)=>{if(r.escape)return a?.(ee),e.onCancel(),!0;if(r.leftArrow||r.rightArrow||r.tab){let e=n(r);return e!==0&&a?.(Xe(m,e,C)),!0}if(r.return)return te(m),!0;if(t.toLowerCase()===`r`){let e=p.findIndex(e=>e.kind===`retryNow`);if(e>=0)return a?.(e),p[e].run(),!0}return!1});let w=e=>e===`retryNow`?`accent`:e===`login`?`amber`:`accent`;return J(O,{header:J(Y,{flexDirection:`column`,children:[J(xe,{color:o.error,children:[B.cross,` `,y]}),x&&x.length>0&&J(Xt,{children:[q(X,{children:` `}),x.map((e,t)=>q(X,{dimColor:!0,children:e},t))]})]}),children:[f&&q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:V.t(`error.typeLabel`,{type:f.replace(/_/g,`-`)})})}),q(Y,{marginTop:R.tight,children:q(X,{color:u===`auto`&&!h?void 0:o.inactive,children:S})}),g&&q(Y,{marginTop:R.tight,children:q(X,{dimColor:!0,children:V.t(`cmd.errorRetryPluginSource`,{pluginId:g})})}),J(Y,{marginTop:R.tight,flexDirection:`row`,gap:R.section,flexWrap:`wrap`,children:[p.map((e,t)=>q(F,{variant:`solid`,brackets:!0,color:w(e.kind),label:e.label,focused:m===t},e.kind)),q(F,{variant:`solid`,brackets:!0,color:`gray`,label:V.t(`common.genericCancelButton`),focused:m===ee})]}),q(Y,{marginTop:R.tight,children:J(X,{dimColor:!0,children:[V.t(`error.hint`),p.some(e=>e.kind===`retryNow`)?` ${t.left}${t.right} ${V.t(`hint.switch`)} · r ${V.t(`hint.shortcut`)}`:``]})})]})}const gg=()=>{};function _g(){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 vg={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`},yg={role:`user`,content:`How does the retry backoff work in the stream error handler?`},bg={role:`tool`,name:`read`,args:`src/index.ts`,result:`export function main() { ... }`},xg={role:`compact_boundary`,before:1566,after:395},Sg={role:`prune_boundary`},Cg={role:`model_switch`,label:`claude-haiku-4-5-20251001 (200K)`},wg={role:`model_fallback`,configured:`anthropic/claude-haiku-4-5-20251001`,active:`deepseek-v4-pro (1M)`},Tg={role:`tool_completion`,content:`Background job "refactor-auth" completed successfully.`},Eg={role:`summary`,status:`done`,toolCount:6,elapsedMs:42e3,tokensUsed:18400,cacheHitRatio:.72,model:`claude-sonnet-4`},Dg=[{id:`PromptInput`,category:`input`,title:`PromptInput (simplified)`,variants:[{name:`empty-placeholder`,render:()=>U(Ui,{columns:80,placeholder:`Type a message…`,disabled:!0})}]},{id:`QueuedCommands`,category:`input`,title:`QueuedCommands`,variants:[{name:`three-queued`,render:()=>U(Wi,{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(Tt,{value:`Hello, this is a sample message`,offset:31,columns:80,mode:`send`})},{name:`bash-mode`,render:()=>U(Tt,{value:`pnpm --filter @x-otto/tui typecheck`,offset:33,columns:80,mode:`bash`})},{name:`placeholder`,render:()=>U(Tt,{value:``,offset:0,columns:80,mode:`send`,placeholder:`Ask anything…`})},{name:`masked`,render:()=>U(Tt,{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:vg,columns:80})},{name:`user`,render:()=>U(Zc,{message:yg,columns:80})},{name:`tool`,render:()=>U(Zc,{message:bg,columns:80})},{name:`compact_boundary`,render:()=>U(Zc,{message:xg,columns:80})},{name:`prune_boundary`,render:()=>U(Zc,{message:Sg,columns:80})},{name:`model_switch`,render:()=>U(Zc,{message:Cg,columns:80})},{name:`model_fallback`,render:()=>U(Zc,{message:wg,columns:80})},{name:`tool_completion`,render:()=>U(Zc,{message:Tg,columns:80})},{name:`summary`,render:()=>U(Zc,{message:Eg,columns:80})}]},{id:`ScrollableTranscript`,category:`messages`,title:`ScrollableTranscript`,variants:[{name:`bottom (live tail)`,render:()=>U(sl,{messages:[yg,vg],columns:80,rows:12,scroll:0})},{name:`scrolled back (review hint)`,render:()=>U(sl,{messages:[yg,vg],columns:80,rows:12,scroll:2,frozenNewCount:3})}]},{id:`REPLRegion`,category:`messages`,title:`REPLRegion (simplified)`,variants:[{name:`streaming`,render:()=>{let e=Tl();return e.store.setState({processing:!0,streamingText:`Generating a response for the user request…`,spinnerMode:`responding`,toolTurnCount:2,maxToolTurns:12,activeTool:null}),U(Ml,{streamStore:e,completedMessages:[vg],columns:80,scrollStore:ya()})}}]},{id:`ContextBar`,category:`inspector`,title:`ContextBar (budget bar)`,variants:[{name:`default`,render:()=>U(Ah,{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(Lc,{sigil:`@`,initialQuery:``,registry:_g(),active:!1,rows:24,onSelect:gg,onClose:gg})}]},{id:`RetryDialog`,category:`components`,title:`RetryDialog`,variants:[{name:`with-reason`,render:()=>U(lg,{item:{attempt:2,max:5,delayMs:8e3,accelerate:{skip:!1},onExpired:gg,reason:`socket hang up`}})}]},{id:`ErrorRetryDialog`,category:`components`,title:`ErrorRetryDialog`,variants:[{name:`auto-30s`,render:()=>U(hg,{item:{reason:`socket hang up`,attempt:2,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:gg}],focusIndex:0,exhausted:!1,onExpired:gg,onCancel:gg}})},{name:`resetsAt-known`,render:()=>U(hg,{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:gg},{kind:`switchModel`,label:`Switch model`,run:gg}],focusIndex:0,exhausted:!1,onExpired:gg,onCancel:gg},now:()=>17e11})},{name:`manual-auth`,render:()=>U(hg,{item:{reason:`unauthorized (401)`,attempt:0,max:5,mode:`manual`,actions:[{kind:`login`,label:`Go to login`,run:gg}],focusIndex:0,exhausted:!1,onExpired:gg,onCancel:gg}})},{name:`exhausted`,render:()=>U(hg,{item:{reason:`connection refused`,attempt:5,max:5,mode:`auto`,actions:[{kind:`retryNow`,label:`Retry now`,run:gg}],focusIndex:0,exhausted:!0,onExpired:gg,onCancel:gg}})}]}],Og=[...mh,...Th,...$h,...rg,...og,...Dg],kg=[`components`,`dialogs`,`input`,`messages`,`inspector`,`sigil`];function Ag(){let e=new Map;for(let t of kg)e.set(t,[]);for(let t of Og)e.get(t.category)?.push(t);return e}function jg({galleryStore:e,onDismiss:t,rows:n=24}){let r=P(),i=Z(e.store,e=>e),a=Yt(Ag,[]),o=Yt(()=>kg.filter(e=>(a.get(e)?.length??0)>0),[a]),{maxRows:s,handleExpandKey:c}=_a(n),l=Math.max(3,s-12),u=o[i.categoryIndex%Math.max(1,o.length)],d=u?a.get(u)??[]:[],f=d[i.itemIndex],p=f?.variants[i.variantIndex],m=Yt(()=>{let e=Math.max(1,l-1);if(d.length<=e)return{items:d.map((e,t)=>({it:e,i:t})),end:d.length,hasMore:!1};let t=Math.floor(e/2),n=Math.min(Math.max(0,i.itemIndex-t),d.length-e),r=n+e;return{items:d.slice(n,r).map((e,t)=>({it:e,i:n+t})),end:r,hasMore:r<d.length}},[d,i.itemIndex,l]),h=Math.max(1,l-1),g=ee();return k(`gallery-pane`,(n,r)=>{if(r.escape){t();return}if(!c(n,r)){if(r.leftArrow||r.rightArrow){if(o.length===0)return;let t=r.leftArrow?-1:1,n=(i.categoryIndex+t+o.length)%o.length;e.setCategoryIndex(n);return}if(r.upArrow||r.downArrow){if(d.length===0)return;let t=r.upArrow?-1:1,n=(i.itemIndex+t+d.length)%d.length;e.setItemIndex(n);return}if(n===`[`||n===`]`||r.pageUp||r.pageDown){let t=f?.variants??[];if(t.length===0)return;let a=n===`[`||r.pageUp?-1:1,o=(i.variantIndex+a+t.length)%t.length;e.setVariantIndex(o)}}},{isActive:g?g.currentPath===`/pane/gallery`:!0}),q(O,{header:J(Y,{flexDirection:`column`,children:[J(Y,{children:[q(X,{color:r.secondary,bold:!0,children:`Component Gallery`}),J(L,{type:`secondary`,children:[` `,Og.length,` components`]})]}),q(Y,{marginTop:R.tight,children:o.map((e,t)=>q(X,{color:t===i.categoryIndex?r.selection:r.inactive,bold:t===i.categoryIndex,children:t===i.categoryIndex?`[${e}] `:`${e} `},e))})]}),footer:J(Xt,{children:[`+ `,V.t(`hint.expandHeight`),` · _ `,V.t(`hint.collapseHeight`),` · ↑↓ component · ←→ category · [ ] variant · Esc close`]}),children:J(Y,{marginTop:R.tight,flexDirection:`row`,children:[J(Y,{flexDirection:`column`,width:28,marginRight:R.section,children:[m.items.map(({it:e,i:t})=>J(X,{color:t===i.itemIndex?r.selection:r.text,bold:t===i.itemIndex,children:[t===i.itemIndex?Mt():ke(),e.title]},e.id)),m.hasMore&&q(L,{type:`secondary`,children:` ↓ ${d.length-m.end} more`}),d.length===0&&q(L,{type:`secondary`,children:`no components in this category`})]}),J(Y,{flexDirection:`column`,flexGrow:1,children:[f&&q(Y,{marginBottom:R.tight,children:J(L,{type:`secondary`,children:[f.title,f.variants.length>1?` · ${p?.name} (${i.variantIndex+1}/${f.variants.length})`:``]})}),q(Y,{height:h,overflow:`hidden`,flexDirection:`column`,children:q(Y,{flexShrink:0,flexDirection:`column`,children:q(Pp,{children:p?p.render():q(L,{type:`secondary`,children:`no variant selected`})},`${f?.id}-${i.variantIndex}`)})})]})]})})}const Mg=H.memo(function(e){let{statusOpen:t,statusStore: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,{onStatusDismiss:S,onStatusRefresh:C,onCacheDismiss:ee,onProxyDismiss:te,onProxyOpenModal:w,onProxySubmitUrl:ne,onProxyToggleEnabled:re,onProxyClear:ie,onProxyTest:T,onCompactionLogDismiss:ae,onGalleryDismiss:E,onContextDismiss:oe,onViewDetails:O,onBackToContextPane:se,onDismissToast:k,onErrorRetryFocusChange:A,onPulseSurveyChange:j,onUpgrade:M,onCancelUpgrade:ce}=Eu();return J(Xt,{children:[t&&q(Om,{statusStore:n,onDismiss:S??(()=>{}),onRefresh:C??(()=>{})}),r&&q(Lm,{cacheStore:i,onDismiss:ee??(()=>{})}),a&&q(Vm,{view:o,onDismiss:te??(()=>{}),onOpenModal:w??Ng,onSubmitUrl:ne??(()=>{}),onToggleEnabled:re??(()=>{}),onClear:ie??(()=>{}),onTest:T}),s&&q(Km,{entries:c,onClose:ae??(()=>{})}),l&&q(jg,{galleryStore:u,onDismiss:E??(()=>{}),rows:v??24}),p&&J(Xt,{children:[q(D,{path:`/pane/context`,element:q(jh,{budget:f??null,columns:d,onDismiss:oe??(()=>{}),onViewDetails:O??(()=>{})})}),q(D,{path:`/pane/context/detail`,element:q(Ih,{ctxStore:p,columns:d,onBack:se??(()=>{})})})]}),m&&q(D,{path:`/overlay/toast`,inStack:!0,element:q(uh,{toast:m,onDismiss:k})}),!h&&g&&q(D,{path:`/overlay/retry`,inStack:!0,element:q(lg,{item:g})}),!h&&_&&q(D,{path:`/overlay/error-retry`,inStack:!0,element:q(hg,{item:_,rows:v??24,onFocusChange:A})}),y&&q(D,{path:`/overlay/pause`,inStack:!0,element:q(eg,{item:y})}),b&&q(D,{path:`/overlay/pulse-survey`,inStack:!0,element:q(Zm,{item:b,onChange:j})}),x&&q(D,{path:`/overlay/forced-upgrade`,inStack:!0,element:q(Lh,{message:x,onUpgrade:M,onCancel:ce})})]})});function Ng(e){if(e&&typeof e==`object`&&`kind`in e&&e.kind===`input`)return Promise.resolve(null)}function Pg(e){return J(Xt,{children:[q(Fg,{...e}),q(Ig,{...e}),q(Lg,{...e})]})}function Fg(e){return q(ym,{...e,routeDerivedOwner:e.routeDerivedOwner})}function Ig(e){return q(pm,{...e,routeDerivedOwner:e.routeDerivedOwner})}function Lg(e){let{stdout:t}=an(),{stack:n}=pe(),r=e=>n.some(t=>t.path===e),{notificationStore:i,taskStore:a,budgetStore:o,proxyStore:s}=pu(),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(Mg,{statusOpen:e.statusOpen,statusStore:e.statusStore,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 Rg(e){let{taskStore:t,budgetStore:n,perfStore:r,notificationStore:i}=pu(),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.scheduleTasks),l=Z(t.store,e=>e.queued),u=Z(i.store,e=>e.notifications),d=Z(i.store,e=>e.paused),f=Z(i.store,e=>e.pausePending);return q(fh,{columns:e.columns,footerVisible:e.footerVisible,perfIndicatorLevel:a,perfIndicatorUsedPct:e.perfIndicatorUsedPct,modelName:o,budget:s,badgeEntries:e.badgeEntries,fullScreenPaneActive:e.fullScreenPaneActive,scheduleEnabledCount:c.filter(e=>e.enabled).length,agentProcessing:e.agentProcessing,queuedItems:l,notifications:u,language:e.language,welcome:e.welcome,messages:e.messages,hasHistory:e.hasHistory,paused:d,pausePending:f,shadow:e.shadow})}function zg(e){let t=Wf({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(th,{tip:e.idleTip}):null})}function Bg(e){return J(Xt,{children:[q(Pg,{...e,routeDerivedOwner:e.routeDerivedOwner}),q(zg,{...e}),J(Y,{ref:e.inputChromeRef,flexDirection:`column`,flexShrink:0,children:[q(Mf,{fullScreenPaneActive:e.fullScreenPaneActive,tipVisible:!!e.idleTip,tasksCollapsed:e.tasksCollapsed,taskSelIndex:e.taskSelIndex,setTaskSelIndex:e.setTaskSelIndex,backgroundTasksOrdered:e.backgroundTasksOrdered,columns:e.columns,openEditedFileFull:e.openEditedFileFull,editedFileFullPath:e.editedFileFullPath,subagents:e.subagents,cwd:e.welcome?.cwd,showHome:e.showHome}),q(Gf,{...e}),q(Rg,{...e})]})]})}function Vg(e){let t=xu(),n=H.useRef(null),r=en(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(df,{...e,rows:o})}),q(Y,{flexShrink:0,flexDirection:`column`,children:q(Bg,{...e,routeDerivedOwner:t,inputChromeRef:n})})]})})}const Hg=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:ee,perfStore:te,statusStore:w,cacheStore:ne,proxyStore:re,compactionLogStore:ie,galleryStore:T,streamStore:ae,taskStore:E,registryRef:D,shellBackendRef:oe,shellExecution:O=null,a2uiButtons:se,keybindingOverrides:A,promptSuggestions:j,shiftEnterRef:M,restoreInputRef:ce}){let{write:le}=an(),ue=Eu();W(()=>{n?.(le)},[le,n]);let{taskStore:de,budgetStore:fe,perfStore:me,statusStore:he,cacheStore:ge,proxyStore:_e,compactionLogStore:ve,galleryStore:ye,streamStore:N}=dd({taskStore:E,budgetStore:C,perfStore:te,statusStore:w,cacheStore:ne,proxyStore:re,compactionLogStore:ie,galleryStore:T,streamStore:ae}),be=Z(de.store,e=>e.tasks),xe=Z(de.store,e=>e.pendingEcho),Se=Z(de.store,e=>e.pendingSteers),Ce=Z(de.store,e=>e.editedFiles),we=Z(de.store,e=>e.backgroundTasks),Te=Z(de.store,e=>e.subagentsAccum),Ee=Z(de.store,e=>e.scheduleTasks),De=Z(de.store,e=>e.clipboardText),Oe=Z(de.store,e=>e.drafts),ke=Z(de.store,e=>e.queued),Ae=Z(de.store,e=>e.pendingPermission),je=Z(de.store,e=>e.backgroundOutput),P=Z(de.store,e=>e.subagentContext),Me=Z(de.store,e=>e.forcedUpgrade),F=Z(de.store,e=>e.modelName),Ne=Z(de.store,e=>e.pluginStatusItems),Pe=Z(de.store,e=>e.statusWidgets),Fe=Z(de.store,e=>e.needsSetup),I=Z(de.store,e=>e.permissionMode),Ie=Z(de.store,e=>e.ftueStage),Le=Z(de.store,e=>e.capabilityRecommendations),Re=Z(de.store,e=>e.capabilityDismissed),ze=Yt(()=>Xd(Ie,Fe),[Ie,Fe]),Be=Yt(()=>Mo(we),[we]),{editedFileFull:Ve,editedFileFullPath:He,openEditedFileFull:Ue,closeEditedFileFull:We,taskDetailTurn:Ge,openTaskDetail:Ke,closeTaskDetail:qe,shellFullOutput:L,setShellFullOutput:Je,queueEditIndex:Ye,setQueueEditIndex:Xe,queueCloseConfirm:Ze,setQueueCloseConfirm:Qe,queueEscSuppress:$e,setQueueEscSuppress:et,interruptConfirm:tt,setInterruptConfirm:nt,popQueuedConfirm:R,setPopQueuedConfirm:rt,fullScreenPaneActive:it}=Du({queuedItemsLength:ke.length,subagentContext:P,backgroundOutput:je}),[at,ot]=K(0),[st,ct]=K(!1),{sigilState:lt,setSigilState:ut,sigilApplyRef:dt,hadSigilFocusRef:ft,chipContentViewerRequest:pt,pasteContent:mt,handleSigilTrigger:ht,handleHistorySearch:gt,handleChipReopen:_t,handleChipViewPaste:vt,handleSigilClose:yt,handlePasteConfirmRequest:bt,handlePasteConfirm:xt,handlePasteCancel:St}=qu(),Ct=G(null);M&&(M.current=()=>Ct.current?.insertNewline?.()),ce&&(ce.current={fill:e=>Ct.current?.fill(e)});let z=G(null),wt=qt(e=>{let t=Math.max(0,Math.min(e,Oe.length-1)),n=Oe[t];n&&(Ct.current?.fill(n.text),ue.onDraftDelete?.(t)),ue.onToggleDraftPane?.()},[Oe,ue.onToggleDraftPane,ue.onDraftDelete]),Tt=G(null),Et=D??Tt,B=Z(me.store,e=>e.indicatorLevel),Dt=Z(me.store,e=>e.memory?.usedPct),Ot=Z(_e.store,e=>e.view),kt=Z(ve.store,e=>e.entries),{stack:At,currentPath:jt}=pe(),Mt=e=>At.some(t=>t.path===e),Nt=Mt(`/pane/status`),Pt=Mt(`/pane/cache`),Ft=jt.startsWith(`/pane/compaction-log`),It=Mt(`/pane/gallery`),Lt=l??H.useMemo(()=>ya(),[]),Rt=ee??H.useMemo(()=>nu(),[]),zt=Z(Rt.store,e=>e.providerUsage),Bt=Z(Rt.store,e=>e.paused),Vt=d??H.useMemo(()=>ou(),[]),Ht=S??H.useMemo(()=>uu(),[]),Ut=H.useMemo(()=>({taskStore:de,budgetStore:fe,perfStore:me,statusStore:he,cacheStore:ge,proxyStore:_e,compactionLogStore:ve,galleryStore:ye,streamStore:N,notificationStore:Rt,contextStore:Ht,messageStore:Vt,scrollStore:Lt}),[de,fe,me,he,ge,_e,ve,ye,N,Rt,Ht,Vt,Lt]),Wt=Z(Lt.store,e=>e.offset),Gt=Z(Lt.store,e=>e.totalLines>0),[Kt,U]=H.useState(!1),[Jt,Xt]=H.useState(!1),J=H.useRef(!1),Zt=H.useCallback(()=>{J.current||Jt||!u||!d||(J.current=!0,U(!0),u({limit:500}).then(e=>{e&&e.length>0?d.prependMany(e):Xt(!0)}).catch(()=>Xt(!0)).finally(()=>{J.current=!1,U(!1)}))},[Jt,u,d]),Y=H.useCallback(e=>{Lt.scrollBy(e)},[Lt]),[Qt,X]=H.useState(!1),[$t,en]=H.useState(``),[tn,nn]=H.useState(-1),[rn,on]=H.useState(0),sn=H.useCallback(e=>on(e),[]),cn=H.useCallback(e=>Lt.setOffset(e),[Lt]),ln=vu(jt)&&!Me&&!Ze&&!tt&&!R;k(`repl-scroll`,(e,n)=>{if(!Gt)return!1;if(n.pageUp)return Lt.page(1,t),!0;if(n.pageDown)return Lt.page(-1,t),!0;if((n.upArrow||n.downArrow)&&(n.alt||n.meta))return Lt.scrollBy(n.upArrow?1:-1),!0;if(Wt===0||jt!==`/`&&!n.upArrow&&!n.downArrow&&e!==`g`&&e!==`G`)return!1;if(Qt){if(n.escape)return X(!1),en(``),nn(-1),!0;if(n.return)return X(!1),en(``),nn(-1),Lt.toBottom(),!0;if(n.backspace)return en(e=>e.slice(0,-1)),nn(-1),!0;if((e===`n`||e===`N`)&&$t.length>0){let t=e===`n`?1:-1;return nn(e=>rn>0?(e+t+rn)%rn:-1),!0}return e.length===1?(en(t=>t+e),nn(-1),!0):!0}if(e===`/`)return X(!0),en(``),nn(-1),!0;if(n.upArrow)return Lt.scrollBy(1),!0;if(n.downArrow)return Lt.scrollBy(-1),!0;if(e===`g`&&!n.ctrl)return Lt.toTop(),!0;if(e===`G`&&!n.ctrl||n.escape||n.return)return Lt.toBottom(),!0;if(e.length>0&&!n.ctrl){Lt.toBottom();let t=Ct.current;return t?.append?t.append(e):t?.fill(e),!0}return!1},{isActive:ln});let un=Mt(`/pane/edited-files`),dn=Mt(`/pane/subagents`),fn=Mt(`/pane/schedule`),pn=qt(()=>{Qe(!0)},[]),mn=qt(()=>{nt(!0)},[]),hn=qt(()=>{rt(!0)},[]),gn=jt.startsWith(`/pane/context/detail`),_n=Z(N.store,e=>e.processing),vn=Z(fe.store,e=>e.budget),{footerVisible:yn,badgeEntries:bn}=Hu({columns:e,permissionMode:I,cost:p,providerUsage:zt,pluginStatusItems:Ne,statusWidgets:Pe,modelName:F}),xn=Yt(()=>[...Te.values()],[Te]),Sn=xu(),Cn=Mt(`/home`)&&!jt.startsWith(`/dialog/`);W(()=>{ue.onFocusOwnerChange?.(Sn)},[Sn,ue.onFocusOwnerChange]),W(()=>{ue.onScrollActiveChange?.(ln)},[ln,ue.onScrollActiveChange]),Ju({sigilState:lt,setSigilState:ut,sigilApplyRef:dt,hadSigilFocusRef:ft,focusOwner:Sn,preempted:!!Ae});let wn=Uu({shellExecution:O,subagentContext:P,agentProcessing:_n,paused:Bt,queuedItems:ke,pendingEcho:xe,pendingSteers:Se,onRequestInterruptConfirm:mn,onRequestPopQueuedConfirm:hn});return Nu({scrollOffset:Wt,showHome:Cn,tasksLength:be.length,backgroundTasksLength:we.length,servicesCount:vd(we),editedFilesLength:Ce.length,subagentsLength:xn.length,scheduleTasksLength:Ee.length,scheduleOpen:fn,clipboardHasContent:De.length>0,shellExecutionRunning:O?.status===`running`,pendingEcho:xe,pasteContent:mt,forcedUpgrade:Me,queueCloseConfirm:Ze,interruptConfirm:tt,popQueuedConfirm:R,routeDerivedOwner:Sn,currentPath:jt,backgroundOutput:je,a2uiButtons:se,editedFilesOpen:un,subagentsOpen:dn,tasksCollapsed:st,setTasksCollapsed:ct,keybindingOverrides:A,promptSuggestions:j,promptSuggestionsShown:(ze===void 0||ze===`ready`)&&(j?.length??0)>0,onFillPromptSuggestion:qt(e=>{Ct.current?.fill(e)},[]),isPromptDraftEmpty:qt(()=>Ct.current?.isEmpty?.()??!0,[]),capabilityCardShown:Ie===`first-prompt`&&!Re&&Le.length>0,capabilityItemIds:Yt(()=>Le.slice(0,3).map(e=>e.extensionId),[Le]),onInstallCapability:ue.onInstallCapability,onDismissCapabilityRecommendations:ue.onDismissCapabilityRecommendations}),q(fu,{value:Ut,children:q(Vg,{columns:e,rows:t,welcome:x,idleTip:xd({active:jt===`/`&&!Me&&!_n&&!Fe,resetKey:`${jt}|${_n?1:0}`,isZh:V.language?.startsWith(`zh`)??!1}),promptSuggestions:j,capabilityRecommendations:Le,capabilityDismissed:Re,showHome:Cn,messages:a,hasHistory:i,maxPreviewRows:r,windowMode:o,scrollbackMode:s,shadow:c,keybindingOverrides:A,scrollStore:Lt,loadHistory:u,messageStore:d,earlierLoading:Kt,earlierEnded:Jt,onNeedEarlier:Zt,onPrepend:Y,findQuery:Qt?$t:void 0,findActiveMatch:tn,onFindNavigateTo:cn,onFindCountChange:sn,fullScreenPaneActive:it,streamStore:N,pasteContent:mt,handlePasteConfirm:xt,handlePasteCancel:St,queueCloseConfirm:Ze,queueEscSuppress:$e,setQueueEscSuppress:et,setQueueCloseConfirm:Qe,interruptConfirm:tt,setInterruptConfirm:nt,popQueuedConfirm:R,setPopQueuedConfirm:rt,onQueueEscConfirm:pn,contextDetail:gn,contextStore:S,shellExecution:O,taskDetailTurn:Ge,taskSelIndex:at,openTaskDetail:Ke,closeTaskDetail:qe,tasksCollapsed:st,backgroundTasksOrdered:Be,openEditedFileFull:Ue,editedFileFull:Ve,editedFileFullPath:He,closeEditedFileFull:We,subagents:xn,shellFullOutput:L,setShellFullOutput:Je,statusOpen:Nt,statusStore:he,cacheStatsOpen:Pt,cacheStore:ge,proxyView:Ot,compactionLogOpen:Ft,compactionLogEntries:kt,galleryOpen:It,galleryStore:ye,agentProcessing:_n,needsSetup:Fe,handlePromptEscape:wn,handleSigilTrigger:ht,handleSigilClose:yt,handleHistorySearch:gt,handleChipReopen:_t,handleChipViewPaste:vt,handlePasteConfirmRequest:bt,pluginInput:m,historyInsertRef:Ct,pasteBridgeRef:z,initialHistory:v,externalHistoryCommands:y,residencyGovernor:b,registryRef:Et,shellBackendRef:oe,sigilState:lt,setSigilState:ut,sigilApplyRef:dt,readFileContent:h,handleDraftLoad:wt,queueEditIndex:Ye,setQueueEditIndex:Xe,footerVisible:yn,perfIndicatorLevel:B,perfIndicatorUsedPct:Dt,modelName:F,budget:vn,badgeEntries:bn,language:f,getTurnMessages:_,resolveWholeFileDiff:g,setTaskSelIndex:ot,chipContentViewerRequest:pt,cost:p,statusWidgets:Pe,pluginStatusItems:Ne})})}),Ug=H.memo(function(e){let t=Yt(()=>Cu(e),[]);return zt(e.language??Bt()),q(on,{i18n:V,children:q(yt,{systemTheme:e.systemTheme,themeRegistry:e.themeRegistry,presetSelection:e.presetSelection,children:q(Tu,{value:t,children:q(ie,{children:q(g,{initialPath:e.initialPath??`/home`,children:q(Hg,{...e})})})})})})}),Wg=Kt(null);function Gg(){let e=Jt(Wg);if(!e)throw Error(`useTabScope() must be used inside <TabScope>`);return e}function Kg({scopeId:e,children:t}){let n=Yt(()=>new C,[]),[r,i]=K(null),a=G(null);a.current=r;let o=qt((t,r)=>{Ct(n,a.current,r)||ot(n,a.current,e,i,r)},[n,e]);tn((e,t)=>{o(e,t)}),W(()=>{let t=n.getInitialFocus(e);t&&!a.current&&i(t)},[e,n]);let s=Yt(()=>({routePath:e,currentPath:e,activeId:r,registry:n,hasRouter:!1}),[e,r,n]),c=Yt(()=>({activeId:r,registry:n}),[r,n]);return q(Wg.Provider,{value:c,children:q(ge.Provider,{value:s,children:t})})}const qg=globalThis;qg.React=H,qg.__ottoPanelInk=Zt,qg.__ottoPanelTui={Segmented:Jp,Tabs:Jp,DataList:st,Button:F,GroupDivider:Oe,ScrollIndicatorAbove:w,ScrollIndicatorBelow:re,Tabable:v,useTabable:mt,TabScope:Kg},qg.__ottoPanelFocusBridge={claim:()=>{},release:()=>{},usePanelFocusClaimed:Np,requestClose:()=>Mp.requestClose(),setHint:e=>Mp.setHint(e)},qg.__ottoPanelTheme={getTheme:()=>r,getFigures:()=>B},qg.__ottoPanelSpacing={SPACING:R,LAYOUT:dt},qg.__ottoPanelI18n={t:Rt,i18next:V};function Jg(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=Is(n.components,80,r);for(let n of e.buttons){if(r++,r>9)break;t.push({...n,key:String(r)})}let i=Bs(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=Tl(),n=t.store,r=nu(),i=r.store,a=nd({modelName:e.modelName,needsSetup:e.needsSetup,commands:e.commands,permissionMode:e.permissionMode,drafts:e.initialDrafts,recentMentions:e.initialRecentMentions}),o=a.store,s=ou(),c=s.store,l=ya(),u=l.store,d=Yu(),f=uu(),p=rd(),m=id(),h=ad(),g=sd(),_=cd(),v=ud(),y=Qi(),b=y?new ra(y):null,x={current:b},{a2uiButtonsRef:S,a2uiActionRef:C,scanA2uiButtons:ee}=Jg({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,statusStore:m,cacheStore:h,proxyStore:g,compactionLogStore:_,galleryStore:v,completer:b,shellBackendRef:x,a2uiButtonsRef:S,a2uiActionRef:C,scanA2uiButtons:ee}}function Xg({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 Zg(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 Qg(e){let t=!1,n=t=>{if(e.isTTY)try{e.write(t)}catch{}};return{enter(){t||(t=!0,n(`\x1B[?1049h\x1B[H`))},exit(){t&&(t=!1,n(`\x1B[?1049l`))},active(){return t}}}async function $g(e){let t;try{let e=await import(Wt(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 e_=new Set(`+.-.|.←.↑.→.↓.↖.↗.↘.↙.─.━.│.┃.┌.┏.┐.┓.└.┗.┘.┛.═.║.╒.╓.╔.╕.╖.╗.╘.╙.╚.╛.╜.╝.╭.╮.╯.╰.▶.●.○.⋮`.split(`.`));function t_(e){if(e.length===0)return!1;let t=!1;for(let n of e)if(n.width!==0&&!(n.ch===` `||n.ch===``)){if(!e_.has(n.ch))return!1;t=!0}return t}const n_=`\x1B]8;;\x1B\\`,r_=`\x1B[27m`;function i_(e){return e===void 0||!Number.isFinite(e)?200:Math.max(200,Math.ceil(e*2.5))}const a_=/\x1b\[[0-9;]*m/y,o_=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/y,s_=/^\x1b\]8;[^;]*;([^\x07\x1b]*)(?:\x07|\x1b\\)$/,c_=/\x1b\[[\d;?]*[ -/]*[@-~]|\x1b[P_^X][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\^_0-9=><]/y;var l_=class{minAnimationPeriod;anchorMode=`flowing`;frameTop=0;needsAnchor=!1;ambiguousWide=!1;constructor(e={}){this.minAnimationPeriod=e.minAnimationPeriod??(()=>nt.minPeriodMs()),this.anchorMode=e.anchorMode??`flowing`,this.frameTop=Math.max(0,e.frameTop??0),this.ambiguousWide=e.ambiguousWide??!1,this.needsAnchor=this.anchorMode===`anchored`}get anchor(){return this.anchorMode}setAmbiguousWide(e){if(this.ambiguousWide!==e){this.ambiguousWide=e;for(let e=0;e<this.rows.length;e+=1)this.markDirty(e)}}resync(){if(this.anchorMode===`anchored`){this.needsAnchor=!0;for(let e=0;e<this.rows.length;e+=1)this.markDirty(e)}}burstQuietMs(){return i_(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(`
|
|
138
97
|
`),n=e.endsWith(`
|
|
139
|
-
`)?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(
|
|
98
|
+
`)?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(d_(n[e]??``)),r=d_._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&&t_(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&&u_(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.anchorMode===`anchored`&&this.needsAnchor&&(this.needsAnchor=!1,s+=`[${this.frameTop+1};1H`,this.prevCursor=void 0,this.prevLineCount=0),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+=`
|
|
140
99
|
\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+=`
|
|
141
|
-
\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
|
|
142
|
-
\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
|
|
143
|
-
`)}function
|
|
144
|
-
`:a||i||o?`\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
|
|
145
|
-
`:``)+
|
|
100
|
+
\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 a=e[r],o=a.width;if(this.ambiguousWide&&o===1&&(o=Math.max(1,i(a.ch))),n+o>t)return e.slice(0,r);n+=o}return e}renderLine(e){let t=this.rows[e];if(!t)return``;let n=this.selectionQuery,r=``,i=``,a,o=!1;for(let s=0;s<t.length;s++){let c=t[s];if(c.width===0)continue;c.link!==a&&(r+=c.link??n_,a=c.link),c.style!==i&&(i&&(r+=`\x1B[0m`),r+=c.style,i=c.style,o=!1);let l=n?.(e,s)??!1;l!==o&&(r+=l?`\x1B[7m`:r_,o=l),r+=c.ch}return o&&(r+=r_),i&&(r+=`\x1B[0m`),a&&(r+=n_),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+=`[2K${this.renderLine(e)}`,e<r&&(a+=`
|
|
101
|
+
\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 u_(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||r.link!==i.link)return!1}return!0}function d_(e){let t=[],n=``,r,i=0,a=0,o=0,s=/^\x1b\]9;cw=(\d+)\x07/.exec(e);for(s&&(o=parseInt(s[1],10),i=s[0].length),d_._lastChromeWidth=o;i<e.length;){if(e.charCodeAt(i)===27){a_.lastIndex=i;let t=a_.exec(e);if(t){let e=t[0];n=/\x1b\[0?m/.test(e)?``:n+e,i=a_.lastIndex;continue}o_.lastIndex=i;let a=o_.exec(e);if(a){let e=s_.exec(a[0]);e&&(r=e[1]?a[0]:void 0),i=o_.lastIndex;continue}if(c_.lastIndex=i,c_.exec(e)){i=c_.lastIndex;continue}break}let o=String.fromCodePoint(e.codePointAt(i));if(i+=o.length,o===` `){let e=8-a%8;for(let i=0;i<e;i++)t.push({ch:` `,style:n,width:1,link:r});a+=e;continue}Qe(o)===2?(t.push({ch:o,style:n,width:2,link:r}),t.push({ch:``,style:n,width:0,link:r}),a+=2):(t.push({ch:o,style:n,width:1,link:r}),a+=1)}return t}function f_(e=process.env){return e.OTTO_TUI_CELL_BUFFER!==`0`}async function p_(e,t=process.env,n={}){if(!f_(t)||!e.isTTY)return null;let r=new l_({anchorMode:n.anchorMode,ambiguousWide:t.OTTO_TUI_AMBIGUOUS_WIDE===`1`}),i=0,a=0,o=null,s,c=()=>{o&&clearTimeout(o),o=setTimeout(()=>{if(o=null,s)try{let t=r.buildCursorOnlySequence(s);t&&e.write(t)}catch{}},210),o.unref?.()},l=null,u=null;return l=await $g(t=>{i++,r.ingest(t);let n=r.takeDamage();u?.(n);let o=l?.cursorIntent();if(s=o,!n)return a++,o&&e.write(r.buildCursorOnlySequence(o)),!1;try{e.write(r.buildFlushSequence(n,o)),c()}catch{return!0}return!1}),l?{buffer:r,dispose:()=>{o&&clearTimeout(o),u=null,l.dispose()},stats:()=>({frames:i,skipped:a}),onDamage:e=>{u=e}}:null}const m_=new Intl.Segmenter(`en`,{granularity:`word`});function h_({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 g_(e){return e.anchor.row===e.focus.row&&e.anchor.col===e.focus.col}function __(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 v_(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 y_({selection:e,lineAt:t,noSelect:n}){if(g_(e))return``;let r=h_(e),i=[];for(let e=r.start.row;e<=r.end.row;e++){let a=t(e);if(!a||v_(a,e,n)>=a.length)continue;let o=``;for(let t=0;t<a.length;t++){let i=a[t];i.width!==0&&__(r,e,t,n)&&(o+=i.ch)}i.push(o.replace(/\s+$/,``))}return i.join(`
|
|
102
|
+
`)}function b_(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 x_(e,t,n,r){let i=n>0&&e[n]?.width===0?n-1:n,{text:a,colAt:o}=b_(e,t,r);if(a.length===0)return null;let s=o.indexOf(i);if(s===-1)return null;for(let n of m_.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 S_(e,t,n){let r=v_(e,t,n);return r>=e.length?null:{start:{row:t,col:r},end:{row:t,col:e.length}}}var C_=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||g_(this.range)?null:this.range}isDragging(){return this.dragging}};function w_(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 C_,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=h_(e);t.setSelectionQuery((e,t)=>__(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=y_({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},h=e=>{if(e.length===0)return!1;let t=i(e);return a?.(e,t),t};return{handleDrag(e){let n=c(e.x,e.y);switch(e.type){case`down`:{let e=d(n);if(e===2){let e=x_(t.lineAt(n.row)??[],n.row,n.col,s);if(e){l.selectSpan(e),p();break}}else if(e===3){let e=S_(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})},copyText(e){return h(e)},onFrameDamage(e){if(!e)return!1;let t=l.current();if(!t||l.isDragging())return!1;let{start:n,end:r}=h_(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 T_(e){return Array.from(e).length}const E_=`\x1B[?1006h\x1B[?1002h`,D_=`\x1B[?1002l\x1B[?1006l`;function O_(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 k_(e,t){return e[t]!==27||e[t+1]!==91||e[t+2]!==60?null:O_(e,t+3)}function A_(e,t){return e.length<=t?`pending`:e[t]===91?e.length<=t+1?`pending`:e[t+1]===60?O_(e,t+2):null:null}function j_(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 M_(){let e=Buffer.alloc(0),t=!1,n=!1,r=!1;return i=>{let a=ct(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=A_(o,0);if(t===`pending`)return e=o,r=!0,{wheels:[],drags:[],rest:Buffer.alloc(0)};if(t!==null){if(j_(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=k_(o,a);if(t===`pending`)return e=Buffer.from(o.subarray(a)),i;if(t!==null){if(j_(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 N_(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 P_(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 F_(e,t=process.platform,n=process.env){let r=P_(t,n);if(!r)return!1;try{let t=jn(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 I_=`\x1B[<u`,L_=/\x1b\[(\d+)(?:;(\d+))?u/g;function R_(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 r&&!a&&!i&&!o?`
|
|
103
|
+
`:a||i||o?`\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):``}const z_={"\x1B[1;9D":`\x1B[H`,"\x1B[1;9C":`\x1B[F`,"\x1B[1;10D":`\x1B[1;2H`,"\x1B[1;10C":`\x1B[1;2F`,"\x1B[1;9A":`\x1B[1;5H`,"\x1B[1;9B":`\x1B[1;5F`,"\x1B[1;10A":`\x1B[1;6H`,"\x1B[1;10B":`\x1B[1;6F`},B_=/\x1b\[1;(\d+)([ABCDHF])/g;function V_(e){let t=e.lastIndexOf(`\x1B`);if(t<0)return-1;let n=e.slice(t);return n.length===1||/^\x1b\[[\d;:]*[A-Za-z~]/.test(n)||/^\x1b[NO]./.test(n)||/^\x1b[^[NO]/.test(n)&&n.length>=2?-1:t}function H_(){let e=``;return t=>{let n=e+(typeof t==`string`?t:t.toString(`latin1`));e=``;let r=V_(n);r>=0&&(e=n.slice(r),n=n.slice(0,r));let i=n.replace(B_,(e,t,n)=>z_[`\x1b[1;${t}${n}`]??e).replace(L_,(e,t,n)=>R_(parseInt(t,10),n?parseInt(n,10):1));return Buffer.from(i,`latin1`)}}function U_(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=ct(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(I_)}catch{}i&&process.removeListener(`exit`,i)}if(a&&o&&process.removeListener(`exit`,o),s){try{n.write(D_)}catch{}c&&process.removeListener(`exit`,c)}d&&t.removeListener(`data`,f),process.removeListener(`SIGINT`,p)},releaseStdin:()=>{u();try{t.isTTY&&t.pause()}catch{}try{t.isTTY&&t.setRawMode(!1)}catch{}}}}const W_=/\x1b\[[0-9;]*m/g;function G_(e){let t=``,n=0,i=0,a=!1,o=()=>Math.max(1,e.getColumns()-dt.borderInset),s=t=>{if(t.length===0)return;e.setHasHistory(!0);let n=!a,i=t.map((e,t)=>n&&t===0?`${Q(B.bullet,r.replyPrefix)} ${e}`:e.replace(W_,``).trim()===``?``:` ${e}`);a=!0,e.scrollbackBuffer.write((n?`
|
|
104
|
+
`:``)+i.join(`
|
|
146
105
|
`)+`
|
|
147
|
-
`)},
|
|
148
|
-
`);for(let t=0;t<e.length;t+=60)
|
|
149
|
-
`));return}
|
|
150
|
-
`),s=0;
|
|
151
|
-
`)),s=60;let
|
|
152
|
-
`)),s+=60,e.notify(),setImmediate(
|
|
153
|
-
`):``,lastTail:o})},f=t=>{if(e.scrollbackMode){d(t);return}let{chunks:n,tail:r,state:i}=Bc(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:Uc(f,e.coalesceMs),streamThinkingCoalescer:Uc(p,e.coalesceMs),outputTokensThrottle:El(e.streamStore,e.coalesceMs),resetController:()=>{t=``,n=0,r=0,i=!1}}}function Ow(e,t){if(e.length===0)return[];let n=Math.max(1,t);return e.map(e=>hc(e,n))}function kw(e){let t=t=>{let n=Ow(t,e.getColumns()),{text:r,hasHistory:i}=el(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 Aw(e){let{taskStore:t,notificationStore:n,resolvers:r,flushScrollbackIfIdle:i,paneOwnsViewport:a,setPaneOwnsViewport:o,getRouter:s=L}=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()?.dismiss(`/dialog/onboarding`),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.dismiss(`/dialog/wizard`),e.onDismiss?.()},onComplete:()=>{t.dismiss(`/dialog/wizard`),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`:P_()?.();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 jw(e){let{taskStore:t,state:n,notify:r,showToast:i,getRouter:a=L}=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&&(yr(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 Mw(e){let{notificationStore:t,state:n,counters:r,notify:i,getRouter:a=L}=e;return{showToast:(e,o)=>{n.toastTimer&&clearTimeout(n.toastTimer);let s={id:++r.toast,title:e,content:o};t.setState({toast:s}),lt(a(),Re,!0),n.toastTimer=setTimeout(()=>{t.setState({toast:null}),n.toastTimer=null,lt(a(),Re,!1),i()},qx),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}),lt(a(),se,!1),i(),s()},onStop:l?()=>{t.setState({retryCountdown:null}),lt(a(),se,!1),i(),l()}:void 0}}),lt(a(),se,!0),i()},clearRetryDialog:()=>{t.setState({retryCountdown:null}),lt(a(),se,!1),i()},showErrorRetry:e=>{let n=e=>()=>{t.setState({errorRetry:null}),lt(a(),w,!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)}}),lt(a(),w,!0),i()},clearErrorRetry:()=>{t.setState({errorRetry:null}),lt(a(),w,!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 Nw(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)return!1;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()}return c(),!0},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 Pw(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 Fw(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 Iw(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 Lw(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:ee,overlayPaths:T,syncOverlayRoute:E,notify:te,i18next:ne,detectLanguage:re,setLanguage:ie,getThemeRef:ae,setTerminalTitle:oe}=e;return{stop:()=>{if(!t.stopped){t.stopped=!0,t.unmounted=!0;try{e.detachSessionSource?.(),s();try{n.flush()}catch{}r.cancel(),i.cancel(),a.cancel(),o.toastTimer&&=(clearTimeout(o.toastTimer),null)}catch{}finally{try{c()}catch{}try{e.teardownTerminal?.()}catch{}try{e.onStop?.()}catch{}}}},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=ee();if(e)for(let t of T)E(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}),te()},setLanguage:e=>{let t=e===`auto`?re():e;return ne.changeLanguage(t),ie(t),te(),t},setPresetSelection:e=>{ae()?.setPresetSelection(e)},setTerminalTitle:e=>oe(e)}}function Rw(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 zw(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 Bw(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 Vw(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 Hw(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 Uw(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 Ww(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 Gw(e,t,n,r,i){return{onPermissionDecision:(e,n,i)=>{let a=t.get(e);t.delete(e),r.setState({pendingPermission:null}),L()?.goBack(),a?.({approved:n,mode:i})},onSelectResolve:e=>{let t=n.select;n.select=null,L()?.goBack(),t?.(e)},onInputResolve:e=>{let t=n.input;t&&(n.input=null,L()?.currentPath===`/dialog/input`&&L()?.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,L()?.currentPath===`/dialog/questions`&&L()?.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,L()?.currentPath===`/dialog/confirm`&&L()?.goBack(),!(!r&&!i&&!a)&&(t?a?.():e?r?.():i?.())},onAlertResolve:()=>{let e=n.alert;n.alert=null,L()?.goBack(),e?.()},onPromptResolve:e=>{let t=n.prompt;n.prompt=null,L()?.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 Kw(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 qw(e){let[,t]=G(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(()=>{l_(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),r=V.useCallback(()=>{L()?.goBack(),e.taskStore.setState({backgroundOutput:null}),e.opts.onBackgroundOutputClose?.(),e.flushScrollbackIfIdle(),e.notify()},[]),i=V.useCallback(()=>{L()?.currentPath===`/subagent`&&L()?.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(()=>{L()?.currentPath===`/dialog/info`&&L()?.goBack(),e.notify()},[]),s=V.useCallback(()=>{L()?.currentPath===`/dialog/memory`&&L()?.goBack(),e.notify()},[]),c=V.useCallback(()=>{L()?.currentPath===`/dialog/keybindings`&&L()?.goBack(),e.notify()},[]),l=V.useCallback(()=>{L()?.currentPath===`/dialog/shortcuts`&&L()?.goBack(),e.notify()},[]),u=V.useCallback(()=>{L()?.navigate(`/pane/context/detail`)},[]),d=V.useCallback(()=>{L()?.currentPath===`/pane/context/detail`&&L()?.goBack()},[]),f=V.useCallback(()=>{let e=L();e?.currentPath.startsWith(`/pane/context`)&&e.navigate(`/`,{reset:!0})},[]),p=V.useCallback(()=>{let e=L();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&&L()?.goBack()},[]),h=V.useCallback(()=>{e.notificationStore.setState({notifications:e.notificationStore.getState().notifications.map(e=>({...e,read:!0}))}),L()?.goBack()},[]),g=V.useCallback(()=>{e.opts.onSubmit?.(`/upgrade --force`,`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}),lt(L(),Re,!0),e.state.toastTimer=setTimeout(()=>{e.notificationStore.setState({toast:null}),e.state.toastTimer=null,lt(L(),Re,!1),e.notify()},qx),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}),lt(L(),Re,!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 yn(Mn(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=L();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=L();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=L();t&&(t.currentPath===`/pane/schedule`?t.navigate(`/`,{reset:!0}):t.navigate(`/pane/schedule`,{replace:!0}))},[]),ee=V.useCallback(e=>{let t=L();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})},[]),T=V.useCallback(e=>{let t=L();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})},[]),E=V.useCallback(()=>{let e=L();if(!e)return;let t=`/pane/prompts`;e.currentPath===t||e.currentPath.startsWith(t+`/`)?l_():e.navigate(t,{replace:!0})},[]),te=V.useCallback(t=>{e.opts.onDraftSave?.(t)},[]),ne=V.useCallback(t=>{let n=e.taskStore.getState().drafts[t];n&&e.opts.onDraftDelete?.(n.id)},[]),re=V.useCallback(t=>{e.opts.onDraftDeleteMany?.(t)},[]),ie=V.useCallback(t=>{e.taskStore.setState({queued:e.taskStore.getState().queued.filter((e,n)=>n!==t)}),e.notify()},[]),ae=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()},[]),oe=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()},[]),D=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)},[]),se=V.useCallback(t=>{let n=e.notificationStore.getState().errorRetry;n&&(e.notificationStore.setState({errorRetry:{...n,focusIndex:t}}),e.notify())},[]),O=V.useCallback(t=>{let n=e.notificationStore.getState().pulseSurvey;n&&(e.notificationStore.setState({pulseSurvey:{...n,...t}}),e.notify())},[]),ce=V.useCallback(()=>{if(e.taskStore.getState().backgroundTasks.length===0)return;let t=L();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})},[]),le=V.useCallback(()=>{e.state.shellTimer&&clearTimeout(e.state.shellTimer),e.taskStore.setState({shellExecution:null}),e.state.shellTimer=null,L()?.currentPath===`/pane/shell`&&L()?.goBack(),e.notify()},[]),ue=V.useCallback(()=>{let t=e.taskStore.getState().shellExecution;t&&(yr(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(DC,{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,shiftEnterRef:e.shiftEnterRef,scheduleOpen:!1,draftOpen:!1,onToggleDraftPane:ee,onDraftSave:te,onDraftDelete:ne,onDraftDeleteMany:re,onSigilSelect:e.opts.onSigilSelect,queueOpen:!1,onToggleQueuePane:T,onTogglePrompts:E,onQueueDelete:ie,onQueueMove:ae,onQueueEditText:oe,onQueueSendNow:D,pendingEcho:e.taskStore.getState().pendingEcho,onErrorRetryFocusChange:se,onPulseSurveyChange:O,backgroundTasksOpen:!1,onToggleDelegates:ce,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,promptSuggestions:e.opts.promptSuggestions,onSessionSelect:e.opts.onSessionSelect,onInstallCapability:e.opts.onInstallCapability,onDismissCapabilityRecommendations:e.opts.onDismissCapabilityRecommendations,budgetStore:e.budgetStore,contextStore:e.contextStore,notificationStore:e.notificationStoreHandle,perfStore:e.perfStore,onPerfDismiss:()=>{L()?.currentPath===`/pane/perf`&&L()?.goBack()},cacheStore:e.cacheStore,onCacheDismiss:()=>{L()?.currentPath===`/pane/cache`&&L()?.goBack()},proxyStore:e.proxyStore,proxyOpen:!1,onProxyDismiss:()=>{L()?.goBack()},onProxyOpenModal:e.proxyOpenModal,onProxySubmitUrl:e.opts.onProxySubmitUrl,onProxyToggleEnabled:e.opts.onProxyToggleEnabled,onProxyClear:e.opts.onProxyClear,compactionLogStore:e.compactionLogStore,onCompactionLogDismiss:()=>{let e=L();e?.currentPath.startsWith(`/pane/compaction-log`)&&e.navigate(`/`,{reset:!0})},galleryStore:e.galleryStore,onGalleryDismiss:()=>{L()?.currentPath===`/pane/gallery`&&L()?.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:le,onShellCopyOutput:ue,onShellAskAi:e.opts.onShellAskAi,a2uiButtons:e.a2uiButtonsRef.current,onA2uiAction:e.a2uiActionRef.current})}function Jw(){let e=Buffer.alloc(0);return t=>{let n=De(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 Yw=class{pending=null;feed(e){let t=De(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=Xw(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 Xw(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 Zw(e,t,n){return .2126*e+.7152*t+.0722*n<128?`dark`:`light`}function Qw(e){let t=!1;return n=>{let r=typeof n==`string`?n:n.toString(`latin1`),i=[],a=0;for(;a<r.length;){if(t){let e=r.indexOf(`\x1B[201~`,a);if(e>=0)i.push(r.slice(a,e+6)),t=!1,a=e+6;else{i.push(r.slice(a));break}continue}let n=r.indexOf(`\x1B[200~`,a);if(n>=0){i.push(r.slice(a,n+6)),t=!0,a=n+6;continue}let o=a;for(;o<r.length;){let t=r[o];if(t===`
|
|
154
|
-
`){o>a&&i.push(r.slice(a,o)),e.onShiftEnter(),o++,a=o;continue}if(t===`\x1B`){i.push(r.slice(a)),a=r.length;break}o++}o>=r.length&&a<r.length&&(i.push(r.slice(a)),a=r.length)}return Buffer.from(i.join(``),`latin1`)}}function $w(e){let{stdin:t,renderStdout:n,onInterrupt:r,onFocusChange:i,onTerminalBgDetected:a,onMouseWheel:o,onMouseDrag:s,onShiftEnter:c}=e,l=[],u=process.env.OTTO_TUI_MOUSE===`0`,d=(typeof o==`function`||typeof s==`function`)&&!!t.isTTY,f=d&&!u,p=d?gw():null,m=f,h;if(f)try{n.write(uw)}catch{}d&&(h=()=>{try{n.write(dw)}catch{}},process.once(`exit`,h));let g=e=>{if(!d)return!1;if(e===m)return m;m=e;try{n.write(e?uw:dw)}catch{}return m},_=new Yw,v=e=>{if(!a)return De(e);let{keys:t,osc11:n}=_.feed(e);return n&&a(Zw(n.r,n.g,n.b)),t},y=e=>{if(!p)return v(e);let{wheels:t,drags:n,rest:r}=p(e);if(m){for(let e of t)o?.(e.delta);for(let e of n)s?.(e)}return v(r)},b=c?Qw({onShiftEnter:c}):null,x=e=>b?b(e):e,S=process.env.OTTO_TUI_KITTY===`1`&&!!t.isTTY,C,w=t;if(S){try{n.write(`\x1B[>1u`)}catch{}C=()=>{try{n.write(bw)}catch{}},process.once(`exit`,C);let e=ww(),i=new Gn;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=x(e(n));a.includes(3)&&r?.(),i.write(a)};t.on(`data`,a),l.push({stream:t,fn:a});try{t.resume()}catch{}w=i}let ee=process.env.OTTO_TUI_FOCUS===`1`&&!!t.isTTY&&typeof i==`function`,T;if(ee){try{n.write(`\x1B[?1004h`)}catch{}T=()=>{try{n.write(`\x1B[?1004l`)}catch{}},process.once(`exit`,T);let e=w,t=Jw(),r=new Gn;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(x(o))};e.on(`data`,a),l.push({stream:e,fn:a});try{e.resume()}catch{}w=r}if(!S&&!ee&&(a||f||b)){let e=w,t=new Gn;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(x(n))};e.on(`data`,n),l.push({stream:e,fn:n}),e.resume(),w=t}return{renderStdin:w,kittyOn:S,focusOn:ee,mouseOn:f,kittyExitHandler:C,focusExitHandler:T,mouseExitHandler:h,setMouseEnabled:g,isMouseEnabled:()=>m,cleanup:()=>{for(let{stream:e,fn:t}of l)e.removeListener(`data`,t);l.length=0}}}const eT=12e3;async function tT(t){let{stdin:n,stdout:r,onStop:i}=t,a=Vc(t.maxFps??30),o=t.renderMaxFps??90;Ba();let s=t.columns||(r.columns>0?r.columns:process.stdout.columns>0?process.stdout.columns:80),c=t.rows||(r.rows>0?r.rows:process.stdout.rows>0?process.stdout.rows:24),l=t.language&&t.language!==`auto`?t.language:Bt();zt(l);let u=await _t(),d=t.themeRegistry,f=t.presetSelection,p=process.env.OTTO_TUI_SCOPED_VIEWPORT!==`0`,m=IC(r),h=()=>gt?.buffer.height||Math.max(1,c-1);process.once(`exit`,()=>m.exit());let g=t.scrollback===!0||process.env.OTTO_TUI_SCROLLBACK===`1`,_=t.scrollback===!1||process.env.OTTO_TUI_SCROLLBACK===`0`,v=!g&&!_,y=Dr()?Er(r):r;g&&!p&&(y=Ar(y));let b=e=>{y.write(e)},x=!1,{streamStoreHandle:S,streamStore:C,notificationStoreHandle:w,notificationStore:ee,taskStoreHandle:T,taskStore:E,messageStoreHandle:te,messageStore:ne,scrollStoreHandle:re,budgetStore:ie,contextStore:ae,perfStore:oe,cacheStore:D,proxyStore:se,compactionLogStore:O,galleryStore:ce,completer:le,shellBackendRef:ue,a2uiButtonsRef:k,a2uiActionRef:de,scanA2uiButtons:A}=NC(t),j={toastTimer:null,listener:null,shellTimer:null},fe={current:null},pe={current:null},me={current:null},he=process.env.OTTO_TUI_PANE_BUFFER!==`0`,ge=`prompt`,_e=()=>he&&(E.getState().subagentContext!=null||E.getState().backgroundOutput!=null||E.getState().paneOwnsViewportFlag||ge!==`prompt`),ve=PC({paneOwnsViewport:_e,realWrite:e=>b(e)}),be=()=>{_e()||ve.flush()},Se=e=>{let t=ge===`prompt`;ge=e,e===`prompt`&&!t&&be()},M=!0,we=e=>{M=e},N=e=>{E.setState({paneOwnsViewportFlag:e}),e||be()},Te={msg:0,perm:0,toast:0,notify:0},Ee=new Map,De=new Map,Oe={select:null,input:null,inputAction:null,questions:null,confirm:null,cancel:null,extra:null,alert:null,prompt:null,onboarding:null},ke={current:null},Ae={current:null},je=(e=>Ae.current?Ae.current.openModal(e):e.kind===`input`?Promise.resolve(null):void 0),Me=Wc({listener:()=>j.listener?.(),intervalMs:a}),Ne=()=>Me.immediate();T.setNotify(Ne),w.setNotify(Ne);let{commitToHistory:Pe,commitManyToHistory:P}=kw({scrollbackBuffer:ve,getColumns:()=>s,getHasHistory:()=>x,setHasHistory:e=>{x=e},notify:Ne}),{streamTextCoalescer:Fe,streamThinkingCoalescer:Ie,outputTokensThrottle:Le,resetController:Re}=Dw({streamStore:C,messageStore:ne,messageStoreHandle:te,scrollbackBuffer:ve,scrollbackMode:g,coalesceMs:a,getColumns:()=>s,getHasHistory:()=>x,setHasHistory:e=>{x=e},getMsgCounter:()=>Te.msg,incMsgCounter:()=>++Te.msg,notify:Ne}),ze=()=>fa(da(la(t.isAgentBusy,C.getState().processing),!!ee.getState().errorRetry),!!t.isPaused?.()),Be=(e,n,r)=>{let i=pa(e,n,r??!1,{processing:ze(),isImmediateCommand:e=>t.isImmediateCommand?.(e)??!1,isInterruptCommand:e=>t.isInterruptCommand?.(e)??!1});if(i===`queue`){E.setState({queued:[...E.getState().queued,{text:e,mode:n}]}),Ne();return}if(i===`action`){t.onSubmit?.(e,n,`action`);return}t.onSubmit?.(e,n,i===`steer`?`steer`:`send`)},Ve=Kw(j,ze,Ne,t.onSubmit,E);T.setEffects({syncForcedUpgradeRoute:e=>lt(L(),ht,e),backgroundOutputRoute:e=>{e?L()?.ensure(`/pane/delegates/output`):L()?.currentPath===`/pane/delegates/output`&&L()?.goBack()},flushScrollbackIfIdle:be,registerStatusItems:e=>rs(`cli-status`,{pluginId:`cli-status`,statusItems:[...e]})}),w.setEffects({drainQueueOnResume:()=>Ve(),syncPulseSurveyRoute:e=>lt(L(),Ce,e)});let{onPermissionDecision:He,onSelectResolve:Ue,onInputResolve:We,onOnboardingResolve:Ge,onInputAction:Ke,onQuestionsResolve:qe,onConfirmResolve:Je,onAlertResolve:Ye,onPromptResolve:Xe,getTurnMessagesFor:Ze}=Gw({getMessages:()=>ne.getState().messages},De,Oe,E,N),Qe={shiftEnterRef:pe,state:j,columnsRef:{get current(){return s},set current(e){s=e}},rowsRef:{get current(){return c},set current(e){c=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 Te.toast},set current(e){Te.toast=e}},languageRef:{get current(){return l},set current(e){l=e}},systemTheme:u,themeRegistry:d,presetSelection:f,stopRef:{},taskStore:E,notificationStore:ee,messageStore:ne,streamStoreHandle:S,taskStoreHandle:T,notificationStoreHandle:w,messageStoreHandle:te,budgetStore:ie,contextStore:ae,perfStore:oe,cacheStore:D,proxyStore:se,compactionLogStore:O,galleryStore:ce,opts:t,notify:Ne,flushScrollbackIfIdle:be,setPaneOwnsViewport:N,setFocusOwnerForBuffer:Se,setScrollActive:we,getTurnMessagesFor:Ze,submitOrQueue:Be,onPermissionDecision:He,onSelectResolve:Ue,onInputResolve:We,onOnboardingResolve:Ge,onInputAction:Ke,onQuestionsResolve:qe,onConfirmResolve:Je,onAlertResolve:Ye,onPromptResolve:Xe,proxyOpenModal:je,restoreInputRef:fe,pasteBridgeRef:me,registryRef:ke,shellBackendRef:ue,a2uiButtonsRef:k,a2uiActionRef:de,scrollbackMode:g,windowMode:v,scrollStore:re,stdout:r},$e=()=>qw(Qe),F=Ww({stdout:y,enabled:!0}),et=_w(e=>{re.dispatchWheel(e)||c_(ge)&&M&&re.scrollBy(e*3)}),tt={current:null},rt=0;b_(re.store,()=>tt.current?.clear());let{renderStdin:it,kittyOn:at,focusOn:ot,mouseOn:st,kittyExitHandler:ct,focusExitHandler:ut,mouseExitHandler:dt,setMouseEnabled:ft,isMouseEnabled:pt,cleanup:I}=$w({stdin:n,renderStdout:y,onInterrupt:t.onInterrupt,onFocusChange:t.onFocusChange,onMouseWheel:e=>et.push(e),onShiftEnter:()=>pe.current?.(),onMouseDrag:e=>{tt.current?.handleDrag(e)},onTerminalBgDetected:e=>{process.env.OTTO_DEBUG_THEME&&process.stderr.write(`[RFC-282] OSC detected: ${e} themeRef=${!!nt()}\n`),nt()?.setSystemTheme(e)}}),mt=t.concurrent??process.env.OTTO_TUI_CONCURRENT===`1`;p&&m.enter();let gt=await ZC(y,process.env,{anchorMode:p?`anchored`:`flowing`});gt?.buffer.setMaxLineWidth(s),gt&&(tt.current=cw({buffer:gt.buffer,terminalRows:()=>h(),writeSelectionRepaint:e=>{if(e)try{y.write(e)}catch{}},writeClipboard:e=>{let t=yw(e),n=!1;try{yr(e),n=!0}catch{n=!1}return t||n},onCopied:(e,t)=>{let n=lw(e);if(t){rt+=1;let t=rt;E.setState({clipboardChars:n,clipboardText:e,clipboardFailed:!1,clipboardJustCopied:!0}),setTimeout(()=>{E.getState().clipboardChars===n&&E.setState({clipboardChars:0})},eT),setTimeout(()=>{rt===t&&E.setState({clipboardJustCopied:!1})},1500)}else E.setState({clipboardFailed:!0,clipboardChars:0}),setTimeout(()=>{E.getState().clipboardFailed&&E.setState({clipboardFailed:!1})},eT)}}),v_(tt.current),gt.onDamage(e=>{tt.current?.onFrameDamage(e)}));let{waitUntilExit:vt,unmount:R}=$t(V.createElement($e),{stdout:y,stdin:it,exitOnCtrlC:!1,maxFps:o,concurrent:mt,patchConsole:!1});mt&&await new Promise(e=>{let t=Date.now()+1e3,n=()=>{j.listener||Date.now()>t?e():setImmediate(n)};n()});let yt=Tw({stdin:n,stdout:r,renderStdout:y,kittyOn:at,kittyExitHandler:ct,focusOn:ot,focusExitHandler:ut,mouseOn:st,mouseExitHandler:dt,onInterrupt:t.onInterrupt,unmount:()=>R(),terminalInputCleanup:I});yt.setupRawInput(),F.start();let bt=()=>{F.pollNow();let e=r.columns>0?r.columns:s;gt?.buffer.setMaxLineWidth(e),gt?.buffer.resync()};r.on(`resize`,bt),process.once(`exit`,()=>{r.removeListener(`resize`,bt),F.stop()});let xt={stopped:!1,unmounted:!1},St=!1,z=()=>{if(St)return;St=!0;let e=e=>{try{e()}catch{}};e(()=>yt.cleanup()),e(()=>gt?.dispose()),e(()=>{m.active()||r.write(FC(h()))}),e(()=>{r.write(`\x1B[?25h`)}),e(()=>m.exit())},Ct=Aw({taskStore:E,notificationStore:ee,cacheStore:D,proxyStore:se,resolvers:Oe,getNotifyStats:()=>Me.getStats(),flushScrollbackIfIdle:be,paneOwnsViewport:_e,setPaneOwnsViewport:N});Ae.current=Ct;let wt=jw({taskStore:E,state:j,notify:Ne,showToast:(...e)=>Pt.info.showToast(...e)}),Tt=Mw({notificationStore:ee,state:j,counters:Te,notify:Ne}),Et=Iw({pendingMethods:Nw({taskStore:E,messageStoreHandle:te,counters:Te,pendingSteerMsgIds:Ee,scrollbackMode:g,commitToHistory:Pe,scanA2uiButtons:A,notify:Ne}),restoreInputRef:fe,pasteBridgeRef:me}),Dt=Rw({messageStoreHandle:te,notify:Ne}),Ot=Lw({lifecycleFlags:xt,scrollbackBuffer:ve,streamTextCoalescer:Fe,streamThinkingCoalescer:Ie,notifyScheduler:Me,state:j,registryUnregisterAll:as,unmount:R,windowMode:v,scopedViewport:p,hasHistoryRef:{set:e=>{x=e}},resetStreamController:Re,messageStoreHandle:te,scrollStoreHandle:re,streamStoreHandle:S,taskStoreHandle:T,notificationStoreHandle:w,perfStore:oe,contextStore:ae,budgetStore:ie,taskStore:E,notificationStore:ee,a2uiButtonsRef:k,resetStatusWidgetBreakers:D_,getRouterRef:L,overlayPaths:xe,syncOverlayRoute:lt,notify:Ne,i18next:B,detectLanguage:Bt,setLanguage:e=>{l=e},getThemeRef:nt,setTerminalTitle:hr,onStop:i,detachSessionSource:Dt.detachSessionSource,teardownTerminal:z}),kt=Vw({modalHandleMethods:Ct,taskStore:E,getRouterRef:L,syncOverlayRoute:lt,overlayServices:e,flushScrollbackIfIdle:be,notify:Ne}),At=Hw({taskStore:E,taskStoreHandle:T,registerPlugin:rs,registryUnregister:is,computeStalePluginIds:cs,getRegistrySnapshot:os,getStatusItems:us,getStatusWidgets:fs,resetStatusWidgetBreakers:D_,registryRef:ke,a2uiButtonsRef:k,subagentRestoreFields:zo,notify:Ne}),jt=Uw({notificationMethods:Tt,notifyScheduler:Me,taskStore:E,modalHandleMethods:Ct,shellMethods:wt,contextStore:ae,getRouterRef:L,scrollStoreHandle:re}),Mt=Bw({streamMethods:Pw({streamStore:C,streamTextCoalescer:Fe,streamThinkingCoalescer:Ie,outputTokensThrottle:Le,perfStore:oe,compactionLogStore:O,drainQueue:Ve,getRouterRef:L,notify:Ne}),taskStore:E,notificationStore:ee,notificationMethods:Tt,getRouterRef:L,syncOverlayRoute:lt,overlayPause:ye,drainQueue:Ve,notify:Ne}),Nt=zw({scrollbackMode:g,commitToHistory:Pe,commitManyToHistory:P,messageStoreHandle:te,counters:Te,getTurnMessagesFor:Ze,taskStore:E,notify:Ne,scanA2uiButtons:A}),Pt={modal:Fw({modalHandleMethods:Ct,permResolvers:De,counters:Te,taskStore:E,getRouterRef:L,notify:Ne,onConfirmResolve:Je}),pending:Et,lifecycle:{...Ot,...Dt,toggleMouse:()=>{let e=ft(!pt());return Pt.info.showToast(B.t(`mouse.toggleTitle`),e?B.t(`mouse.enabledBody`,{modifier:_y()}):B.t(`mouse.disabledBody`)),e}},messages:Nt,engine:Mt,panes:kt,plugins:At,info:jt,shell:wt,stores:{tasks:T.actions,budget:{setBudget:ie.setBudget},context:{setBudget:ae.setBudget,addTurn:ae.addTurn,markTurns:ae.markTurns},cache:{setView:D.setView},proxy:{setView:se.setView},notification:{setProviderUsage:w.setProviderUsage,setPausePending:w.setPausePending,setPaused:w.setPaused,setPulseSurvey:w.setPulseSurvey}}};return Qe.stopRef.current=()=>Pt.lifecycle.stop(),vt().then(()=>{xt.unmounted||(xt.unmounted=!0,R()),z()}),Pt}function nT(){return{streamBuf:``,thinkBuf:``,turnStart:0,turnToolCount:0,lastTasks:[],messageIndex:0}}function rT(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 iT(e){return e.filter(e=>e.status!==`done`&&e.status!==`skipped`&&e.status!==`failed`).length}function aT(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 oT(e,t){let n=iT(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,errorMessage:e.errorMessage};return i===`incomplete`?{...a,status:i,tasksDone:t.lastTasks.length-n,tasksTotal:t.lastTasks.length}:{...a,status:i}}function sT(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`,...oT(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 cT(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(`
|
|
155
|
-
`):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
|
|
106
|
+
`)},c=()=>{t=``,n=0,i=0,a=!1,e.streamStore.setState({lastTail:void 0})},l=e=>{let t=ho(Vs(e),o());if(t.length===0)return;let n=i===0?t:[``,...t];s(n),i+=n.length},u=(e,n)=>{if(n<=e)return;let r=t.slice(e,n);if((r.match(/\n/g)??[]).length+1>60){let e=r.split(`
|
|
107
|
+
`);for(let t=0;t<e.length;t+=60)l(e.slice(t,t+60).join(`
|
|
108
|
+
`));return}l(r)},d=(n,r,i)=>{if(r<=n){i();return}let a=t.slice(n,r);if((a.match(/\n/g)??[]).length+1<=60){l(a),i();return}let o=a.split(`
|
|
109
|
+
`),s=0;l(o.slice(0,60).join(`
|
|
110
|
+
`)),s=60;let c=()=>{if(s>=o.length){i();return}l(o.slice(s,s+60).join(`
|
|
111
|
+
`)),s+=60,e.notify(),setImmediate(c)};setImmediate(c)},f=r=>{if(r===``){d(n,t.length,()=>{c(),e.streamStore.setState({streamingText:``})});return}t=r;let i=Rc(r);i>n&&(u(n,i),n=i);let a=r.slice(n);a!==e.streamStore.getState().lastTail&&e.streamStore.setState({streamingText:a.trim()?ho(Vs(ll(a)),o()).join(`
|
|
112
|
+
`):``,lastTail:a})},p=t=>{if(e.scrollbackMode){f(t);return}let{chunks:n,tail:r,state:i}=Bc(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()},m=t=>{e.streamStore.setState({streamingThinking:t})};return{applyStreamText:p,applyStreamThinking:m,streamTextCoalescer:Uc(p,e.coalesceMs),streamThinkingCoalescer:Uc(m,e.coalesceMs),outputTokensThrottle:El(e.streamStore,e.coalesceMs),resetController:()=>{t=``,n=0,i=0,a=!1}}}function K_(e,t){if(e.length===0)return[];let n=Math.max(1,t);return e.map(e=>hc(e,n))}function q_(e){let t=t=>{let n=K_(t,e.getColumns()),{text:r,hasHistory:i}=el(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 J_(e){let{taskStore:t,notificationStore:n,resolvers:r,flushScrollbackIfIdle:i,paneOwnsViewport:a,setPaneOwnsViewport:o,getRouter:s=I}=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()?.dismiss(`/dialog/onboarding`),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.dismiss(`/dialog/wizard`),e.onDismiss?.()},onComplete:()=>{t.dismiss(`/dialog/wizard`),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`:Ku()?.();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`status`:r??a.currentPath!==`/pane/status`?a.navigate(`/pane/status`):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 Y_(e){let{taskStore:t,state:n,notify:r,showToast:i,getRouter:a=I}=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&&(dr(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 X_(t){let{notificationStore:n,state:r,counters:i,notify:a,getRouter:o=I}=t;return{showToast:(t,s)=>{r.toastTimer&&clearTimeout(r.toastTimer);let c={id:++i.toast,title:t,content:s};n.setState({toast:c}),e(o(),be,!0),r.toastTimer=setTimeout(()=>{n.setState({toast:null}),r.toastTimer=null,e(o(),be,!1),a()},lh),a()},showRetryDialog:(t,r,i,s,c,l,u)=>{n.setState({retryCountdown:{attempt:t,max:r,delayMs:i,accelerate:s,reason:l,onExpired:()=>{n.setState({retryCountdown:null}),e(o(),ye,!1),a(),c()},onStop:u?()=>{n.setState({retryCountdown:null}),e(o(),ye,!1),a(),u()}:void 0}}),e(o(),ye,!0),a()},clearRetryDialog:()=>{n.setState({retryCountdown:null}),e(o(),ye,!1),a()},showErrorRetry:t=>{let r=t=>()=>{n.setState({errorRetry:null}),e(o(),de,!1),a(),t()};n.setState({errorRetry:{...t,actions:t.actions.map(e=>({...e,run:r(e.run)})),focusIndex:0,exhausted:t.exhausted??!1,onExpired:r(t.onExpired),onCancel:r(t.onCancel)}}),e(o(),de,!0),a()},clearErrorRetry:()=>{n.setState({errorRetry:null}),e(o(),de,!1),a()},pushNotification:(e,t,r=`system`,o=`info`)=>{n.setState({notifications:[{id:++i.notify,source:r,level:o,title:e,message:t,timestamp:Date.now(),read:!1},...n.getState().notifications.slice(0,49)]}),a()},dismissNotification:e=>{n.setState({notifications:n.getState().notifications.filter(t=>t.id!==e)}),n.getState().notifications.length===0&&o()?.goBack(),a()},markAllNotificationsRead:()=>{n.setState({notifications:n.getState().notifications.map(e=>({...e,read:!0}))}),a()}}}function Z_(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)return!1;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()}return c(),!0},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 Q_(e){let{streamStore:t,streamTextCoalescer:n,streamThinkingCoalescer:r,outputTokensThrottle:i,perfStore:a,statusStore:o,compactionLogStore:s,drainQueue:c,getRouterRef:l,notify:u}=e;return{pushEngineEvent:e=>{switch(e.kind){case`agentProcessing`:t.setState({processing:e.value}),e.value||c();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`:e.indicatorLevel&&a.setIndicatorLevel(e.indicatorLevel);break;case`status`:{let t=!1;e.session&&(o.setSession(e.session),t=!0),e.memory&&(o.setMemory(e.memory),t=!0),e.notify&&(o.setNotify(e.notify),t=!0),e.pluginMetrics&&(o.setPluginMetrics(e.pluginMetrics),t=!0),t&&u();break}case`compactionLog`:switch(e.entryKind){case`compact`:s.recordCompaction(e.before,e.after,e.summary);break;case`prune`:s.recordPrune(e.tokensSaved,e.prunedCount??0);break;case`history_capped`:s.recordHistoryCapped(e.removedCount);break}l()?.currentPath.startsWith(`/pane/compaction-log`)&&u();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 ev(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 tv(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,statusStore:y,contextStore:b,budgetStore:x,taskStore:S,notificationStore:C,a2uiButtonsRef:ee,resetStatusWidgetBreakers:te,getRouterRef:w,overlayPaths:ne,syncOverlayRoute:re,notify:ie,i18next:T,detectLanguage:ae,setLanguage:E,getThemeRef:D,setTerminalTitle:oe}=e;return{stop:async()=>{if(!t.stopped){t.stopped=!0,t.unmounted=!0;try{e.detachSessionSource?.(),s();try{n.flush()}catch{}r.cancel(),i.cancel(),a.cancel(),o.toastTimer&&=(clearTimeout(o.toastTimer),null)}catch{}finally{try{c()}catch{}try{await e.teardownTerminal?.()}catch{}try{e.onStop?.()}catch{}}}},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.reset(),S.setState({tasks:[]}),S.setState({tasksTitle:void 0}),S.setState({turnBoundaries:[]}),S.setState({editedFiles:[]}),S.setState({subagentsAccum:new Map}),C.setState({toast:null}),C.setState({retryCountdown:null}),C.setState({errorRetry:null});let e=w();if(e)for(let t of ne)re(e,t,!1);C.setState({providerUsage:null}),o.toastTimer&&=(clearTimeout(o.toastTimer),null),ee.current=[],s(),te(),e?.currentPath!==`/home`&&e?.navigate(`/home`,{reset:!0}),ie()},setLanguage:e=>{let t=e===`auto`?ae():e;return T.changeLanguage(t),E(t),ie(),t},setPresetSelection:e=>{D()?.setPresetSelection(e)},setTerminalTitle:e=>oe(e)}}function nv(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 rv(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 iv(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 av(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 ov(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 sv(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 cv(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 lv(e,t,n,r,i){return{onPermissionDecision:(e,n,i)=>{let a=t.get(e);t.delete(e),r.setState({pendingPermission:null}),I()?.goBack(),a?.({approved:n,mode:i})},onSelectResolve:e=>{let t=n.select;n.select=null,I()?.goBack(),t?.(e)},onInputResolve:e=>{let t=n.input;t&&(n.input=null,I()?.currentPath===`/dialog/input`&&I()?.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,I()?.currentPath===`/dialog/questions`&&I()?.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,I()?.currentPath===`/dialog/confirm`&&I()?.goBack(),!(!r&&!i&&!a)&&(t?a?.():e?r?.():i?.())},onAlertResolve:()=>{let e=n.alert;n.alert=null,I()?.goBack(),e?.()},onPromptResolve:e=>{let t=n.prompt;n.prompt=null,I()?.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 uv(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(()=>{try{let t=r?.(e.text,e.mode);t&&typeof t.catch==`function`&&t.catch(()=>{})}catch{}})}}function dv(t){let[,n]=K(0);H.useEffect(()=>{let e=()=>n(e=>e+1);return t.state.listener=e,()=>{t.state.listener===e&&(t.state.listener=null)}},[]);let r=H.useCallback(()=>{bu(),t.taskStore.setState({backgroundOutput:null}),t.opts.onBackgroundOutputClose?.(),t.flushScrollbackIfIdle(),t.notify()},[]),i=H.useCallback(()=>{I()?.goBack(),t.taskStore.setState({backgroundOutput:null}),t.opts.onBackgroundOutputClose?.(),t.flushScrollbackIfIdle(),t.notify()},[]),a=H.useCallback(()=>{I()?.currentPath===`/subagent`&&I()?.goBack(),t.opts.onSubagentExit?.(),t.taskStore.setState({subagentContext:null}),t.flushScrollbackIfIdle(),t.notify()},[]),o=H.useCallback(()=>{t.taskStore.getState().queued.length!==0&&(t.taskStore.setState({queued:t.taskStore.getState().queued.slice(0,-1)}),t.notify())},[]),s=H.useCallback(()=>{I()?.currentPath===`/dialog/info`&&I()?.goBack(),t.notify()},[]),c=H.useCallback(()=>{I()?.currentPath===`/dialog/memory`&&I()?.goBack(),t.notify()},[]),l=H.useCallback(()=>{I()?.currentPath===`/dialog/keybindings`&&I()?.goBack(),t.notify()},[]),u=H.useCallback(()=>{I()?.currentPath===`/dialog/shortcuts`&&I()?.goBack(),t.notify()},[]),d=H.useCallback(()=>{I()?.navigate(`/pane/context/detail`)},[]),f=H.useCallback(()=>{I()?.currentPath===`/pane/context/detail`&&I()?.goBack()},[]),p=H.useCallback(()=>{let e=I();e?.currentPath.startsWith(`/pane/context`)&&e.navigate(`/`,{reset:!0})},[]),m=H.useCallback(()=>{let e=I();e&&(e.currentPath===`/pane/notifications`?e.goBack():e.navigate(`/pane/notifications`))},[]),h=H.useCallback(e=>{t.notificationStore.setState({notifications:t.notificationStore.getState().notifications.filter(t=>t.id!==e)}),t.notificationStore.getState().notifications.length===0&&I()?.goBack()},[]),g=H.useCallback(()=>{t.notificationStore.setState({notifications:t.notificationStore.getState().notifications.map(e=>({...e,read:!0}))}),I()?.goBack()},[]),_=H.useCallback(()=>{t.opts.onSubmit?.(`/upgrade --force`,`send`)},[]),v=H.useCallback(()=>{t.stopRef.current?.()},[]),y=H.useCallback((n,r)=>{t.state.toastTimer&&clearTimeout(t.state.toastTimer);let i={id:++t.toastCounterRef.current,title:n,content:r};t.notificationStore.setState({toast:i}),e(I(),be,!0),t.state.toastTimer=setTimeout(()=>{t.notificationStore.setState({toast:null}),t.state.toastTimer=null,e(I(),be,!1),t.notify()},lh),t.notify()},[]),b=H.useCallback(()=>{t.state.toastTimer&&(clearTimeout(t.state.toastTimer),t.state.toastTimer=null),t.notificationStore.getState().toast&&(t.notificationStore.setState({toast:null}),e(I(),be,!1),t.notify())},[]),x=t.scrollbackMode?H.useCallback(e=>{t.inkWriteRef.current=e},[]):void 0,S=t.opts.welcome?.cwd?H.useCallback(async e=>{let{content:n,truncated:r}=await gn(On(t.opts.welcome.cwd,e));return{content:n,truncated:r}},[]):void 0,C=H.useCallback(()=>{if(t.taskStore.getState().editedFiles.length===0)return;let e=I();if(!e)return;let n=`/pane/edited-files`;e.currentPath===n||e.currentPath.startsWith(n+`/`)?e.navigate(`/`,{reset:!0}):e.navigate(n,{replace:!0})},[]),ee=H.useCallback(()=>{if(t.taskStore.getState().subagentsAccum.size===0)return;let e=I();e&&(e.currentPath===`/pane/subagents`?e.navigate(`/`,{reset:!0}):e.navigate(`/pane/subagents`,{replace:!0}))},[]),te=H.useCallback(()=>{if(t.taskStore.getState().scheduleTasks.length===0)return;let e=I();e&&(e.currentPath===`/pane/schedule`?e.navigate(`/`,{reset:!0}):e.navigate(`/pane/schedule`,{replace:!0}))},[]),w=H.useCallback(e=>{let t=I();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})},[]),ne=H.useCallback(e=>{let t=I();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})},[]),re=H.useCallback(()=>{let e=I();if(!e)return;let t=`/pane/prompts`;e.currentPath===t||e.currentPath.startsWith(t+`/`)?bu():e.navigate(t,{replace:!0})},[]),ie=H.useCallback(e=>{t.opts.onDraftSave?.(e)},[]),T=H.useCallback(e=>{let n=t.taskStore.getState().drafts[e];n&&t.opts.onDraftDelete?.(n.id)},[]),ae=H.useCallback(e=>{t.opts.onDraftDeleteMany?.(e)},[]),E=H.useCallback(e=>{t.taskStore.setState({queued:t.taskStore.getState().queued.filter((t,n)=>n!==e)}),t.notify()},[]),D=H.useCallback((e,n)=>{let r=e,i=e+n;if(i<0||i>=t.taskStore.getState().queued.length||r<0||r>=t.taskStore.getState().queued.length)return;let a=[...t.taskStore.getState().queued],[o]=a.splice(r,1);o&&a.splice(i,0,o),t.taskStore.setState({queued:a}),t.notify()},[]),oe=H.useCallback((e,n)=>{let r=t.taskStore.getState().queued;if(e<0||e>=r.length)return;let i=[...r],a=i[e];a&&(i[e]={...a,text:n}),t.taskStore.setState({queued:i}),t.notify()},[]),O=H.useCallback((e,n)=>{let r=t.taskStore.getState().queued;if(e<0||e>=r.length)return;let i=r[e].mode;t.taskStore.setState({queued:r.filter((t,n)=>n!==e)}),t.notify(),t.opts.onQueueSendNow?.(n,i)},[]),se=H.useCallback(e=>{let n=t.notificationStore.getState().errorRetry;n&&(t.notificationStore.setState({errorRetry:{...n,focusIndex:e}}),t.notify())},[]),k=H.useCallback(e=>{let n=t.notificationStore.getState().pulseSurvey;n&&(t.notificationStore.setState({pulseSurvey:{...n,...e}}),t.notify())},[]),A=H.useCallback(()=>{if(t.taskStore.getState().backgroundTasks.length===0)return;let e=I();if(!e)return;let n=`/pane/delegates`;e.currentPath===n||e.currentPath.startsWith(n+`/`)?(e.navigate(`/`,{reset:!0}),t.taskStore.setState({backgroundOutput:null}),t.flushScrollbackIfIdle()):e.navigate(n,{replace:!0})},[]),j=H.useCallback(()=>{t.state.shellTimer&&clearTimeout(t.state.shellTimer),t.taskStore.setState({shellExecution:null}),t.state.shellTimer=null,I()?.currentPath===`/pane/shell`&&I()?.goBack(),t.notify()},[]),M=H.useCallback(()=>{let e=t.taskStore.getState().shellExecution;e&&(dr(e.output),y(V.t(`shell.copiedTitle`),V.t(`shell.copiedBody`)))},[]);return H.useEffect(()=>{let e=null,n=()=>{e&&clearTimeout(e),e=setTimeout(()=>{let e=t.opts.columns||(t.stdout.columns>0?t.stdout.columns:process.stdout.columns>0?process.stdout.columns:80),n=t.opts.rows||(t.stdout.rows>0?t.stdout.rows:process.stdout.rows>0?process.stdout.rows:24);(e!==t.columnsRef.current||n!==t.rowsRef.current)&&(t.columnsRef.current=e,t.rowsRef.current=n,t.notify())},100)};return t.stdout.on(`resize`,n),()=>{e&&clearTimeout(e),t.stdout.off(`resize`,n)}},[]),H.createElement(Ug,{columns:t.columnsRef.current,rows:t.rowsRef.current,registerWrite:t.scrollbackMode?x:void 0,maxPreviewRows:t.scrollbackMode?1:void 0,hasHistory:t.hasHistoryRef.current,messages:t.messageStore.getState().messages,scrollStore:t.scrollStore,loadHistory:t.opts.loadHistory,messageStore:t.messageStoreHandle,windowMode:t.windowMode,scrollbackMode:t.scrollbackMode,shadow:t.opts.shadow??!1,language:t.languageRef.current,systemTheme:t.systemTheme,themeRegistry:t.themeRegistry,presetSelection:t.presetSelection,keybindingOverrides:t.opts.keybindingOverrides,onCyclePermissionMode:t.opts.onCyclePermissionMode,pluginInput:t.opts.pluginInput,readFileContent:S,getTurnMessages:t.getTurnMessagesFor,editedFilesOpen:!1,onToggleEditedFiles:C,subagentsOpen:!1,onToggleSubagents:ee,onToggleSchedule:te,initialHistory:t.opts.initialHistory,externalHistoryCommands:t.opts.externalHistoryCommands,onHistoryPush:t.opts.onHistoryPush,residencyGovernor:t.opts.residencyGovernor,resolveWholeFileDiff:t.opts.resolveWholeFileDiff,restoreInputRef:t.restoreInputRef,pasteBridgeRef:t.pasteBridgeRef,shiftEnterRef:t.shiftEnterRef,scheduleOpen:!1,draftOpen:!1,onToggleDraftPane:w,onDraftSave:ie,onDraftDelete:T,onDraftDeleteMany:ae,onSigilSelect:t.opts.onSigilSelect,queueOpen:!1,onToggleQueuePane:ne,onTogglePrompts:re,onQueueDelete:E,onQueueMove:D,onQueueEditText:oe,onQueueSendNow:O,pendingEcho:t.taskStore.getState().pendingEcho,onErrorRetryFocusChange:se,onPulseSurveyChange:k,backgroundTasksOpen:!1,onToggleDelegates:A,onBackgroundClose:r,onBackgroundKill:t.opts.onBackgroundKill,onBackgroundViewOutput:t.opts.onBackgroundViewOutput,onBackgroundOutputClose:i,onBackgroundApply:t.opts.onBackgroundApply,onBackgroundSwitch:t.opts.onBackgroundSwitch,onBackgroundDelete:t.opts.onBackgroundDelete,onExitSubagentContext:a,onPaneOwnsViewportChange:t.scrollbackMode?t.setPaneOwnsViewport:void 0,onFocusOwnerChange:t.scrollbackMode?t.setFocusOwnerForBuffer:void 0,onScrollActiveChange:t.setScrollActive,onDelegateSupply:t.opts.onDelegateSupply,welcome:t.opts.welcome,promptSuggestions:t.opts.promptSuggestions,onSessionSelect:t.opts.onSessionSelect,onInstallCapability:t.opts.onInstallCapability,onDismissCapabilityRecommendations:t.opts.onDismissCapabilityRecommendations,budgetStore:t.budgetStore,contextStore:t.contextStore,notificationStore:t.notificationStoreHandle,perfStore:t.perfStore,statusStore:t.statusStore,onStatusDismiss:()=>{I()?.currentPath===`/pane/status`&&I()?.goBack()},cacheStore:t.cacheStore,onCacheDismiss:()=>{I()?.currentPath===`/pane/cache`&&I()?.goBack()},proxyStore:t.proxyStore,proxyOpen:!1,onProxyDismiss:()=>{I()?.goBack()},onProxyOpenModal:t.proxyOpenModal,onProxySubmitUrl:t.opts.onProxySubmitUrl,onProxyToggleEnabled:t.opts.onProxyToggleEnabled,onProxyClear:t.opts.onProxyClear,compactionLogStore:t.compactionLogStore,onCompactionLogDismiss:()=>{let e=I();e?.currentPath.startsWith(`/pane/compaction-log`)&&e.navigate(`/`,{reset:!0})},galleryStore:t.galleryStore,onGalleryDismiss:()=>{I()?.currentPath===`/pane/gallery`&&I()?.goBack()},streamStore:t.streamStoreHandle,taskStore:t.taskStoreHandle,initialPath:t.opts.initialPath,onStatusRefresh:t.opts.onStatusRefresh,onSubmit:t.submitOrQueue,onInterrupt:t.opts.onInterrupt,onWithdrawPending:t.opts.onWithdrawPending,onWithdrawSteer:t.opts.onWithdrawSteer,onPopQueued:o,onPermissionDecision:t.onPermissionDecision,onSelectResolve:t.onSelectResolve,onInputResolve:t.onInputResolve,onOnboardingResolve:t.onOnboardingResolve,onInputAction:t.onInputAction,onQuestionsResolve:t.onQuestionsResolve,onConfirmResolve:t.onConfirmResolve,onAlertResolve:t.onAlertResolve,onPromptResolve:t.onPromptResolve,onInfoDismiss:s,onMemoryDismiss:c,onKeybindingPanelDismiss:l,onShortcutsDialogDismiss:u,onViewDetails:d,onBackToContextPane:f,onContextDismiss:p,notificationsOpen:!1,onToggleNotifications:m,onDismissNotification:h,onCloseNotifications:g,onUpgrade:_,onCancelUpgrade:v,onToast:y,onDismissToast:b,registryRef:t.registryRef,shellBackendRef:t.shellBackendRef,shellExecution:t.taskStore.getState().shellExecution,onShellAbort:t.opts.onInterrupt,onShellDismiss:j,onShellCopyOutput:M,onShellAskAi:t.opts.onShellAskAi,a2uiButtons:t.a2uiButtonsRef.current,onA2uiAction:t.a2uiActionRef.current})}function fv(){let e=Buffer.alloc(0);return t=>{let n=ct(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 pv=class{pending=null;feed(e){let t=ct(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=mv(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 mv(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 hv(e,t,n){return .2126*e+.7152*t+.0722*n<128?`dark`:`light`}function gv(e){let t=!1;return n=>{let r=typeof n==`string`?n:n.toString(`latin1`),i=[],a=0;for(;a<r.length;){if(t){let e=r.indexOf(`\x1B[201~`,a);if(e>=0)i.push(r.slice(a,e+6)),t=!1,a=e+6;else{i.push(r.slice(a));break}continue}let n=r.indexOf(`\x1B[200~`,a);if(n>=0){i.push(r.slice(a,n+6)),t=!0,a=n+6;continue}let o=a;for(;o<r.length;){let t=r[o];if(t===`
|
|
113
|
+
`){o>a&&i.push(r.slice(a,o)),e.onShiftEnter(),o++,a=o;continue}if(t===`\x1B`){i.push(r.slice(a)),a=r.length;break}o++}o>=r.length&&a<r.length&&(i.push(r.slice(a)),a=r.length)}return Buffer.from(i.join(``),`latin1`)}}function _v(e){let{stdin:t,renderStdout:n,onInterrupt:r,onFocusChange:i,onTerminalBgDetected:a,onMouseWheel:o,onMouseDrag:s,onShiftEnter:c}=e,l=[],u=process.env.OTTO_TUI_MOUSE===`0`,d=(typeof o==`function`||typeof s==`function`)&&!!t.isTTY,f=d&&!u,p=d?M_():null,m=f,h;if(f)try{n.write(E_)}catch{}d&&(h=()=>{try{n.write(D_)}catch{}},process.once(`exit`,h));let g=e=>{if(!d)return!1;if(e===m)return m;m=e;try{n.write(e?E_:D_)}catch{}return m},_=new pv,v=e=>{if(!a)return ct(e);let{keys:t,osc11:n}=_.feed(e);return n&&a(hv(n.r,n.g,n.b)),t},y=e=>{if(!p)return v(e);let{wheels:t,drags:n,rest:r}=p(e);if(m){for(let e of t)o?.(e.delta);for(let e of n)s?.(e)}return v(r)},b=c?gv({onShiftEnter:c}):null,x=e=>b?b(e):e,S=process.env.OTTO_TUI_KITTY!==`0`&&!!t.isTTY,C,ee=t;if(S){try{n.write(`\x1B[>1u`)}catch{}C=()=>{try{n.write(I_)}catch{}},process.once(`exit`,C);let e=H_(),i=new Ln;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=x(e(n));a.includes(3)&&r?.(),i.write(a)};t.on(`data`,a),l.push({stream:t,fn:a});try{t.isTTY&&t.setRawMode(!0)}catch{}try{t.resume()}catch{}ee=i}let te=process.env.OTTO_TUI_FOCUS===`1`&&!!t.isTTY&&typeof i==`function`,w;if(te){try{n.write(`\x1B[?1004h`)}catch{}w=()=>{try{n.write(`\x1B[?1004l`)}catch{}},process.once(`exit`,w);let e=ee,t=fv(),r=new Ln;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(x(o))};e.on(`data`,a),l.push({stream:e,fn:a});try{e.isTTY&&e.setRawMode(!0)}catch{}try{e.resume()}catch{}ee=r}if(!S&&!te&&(a||f||b)){let e=ee,t=new Ln;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(x(n))};e.on(`data`,n),l.push({stream:e,fn:n});try{e.isTTY&&e.setRawMode(!0)}catch{}e.resume(),ee=t}return{renderStdin:ee,kittyOn:S,focusOn:te,mouseOn:f,kittyExitHandler:C,focusExitHandler:w,mouseExitHandler:h,setMouseEnabled:g,isMouseEnabled:()=>m,cleanup:()=>{for(let{stream:e,fn:t}of l)e.removeListener(`data`,t);l.length=0}}}const vv=12e3;async function yv(t){let{stdin:n,stdout:r,onStop:i}=t,a=Vc(t.maxFps??30),o=t.renderMaxFps??90;Ba();let s=t.columns||(r.columns>0?r.columns:process.stdout.columns>0?process.stdout.columns:80),c=t.rows||(r.rows>0?r.rows:process.stdout.rows>0?process.stdout.rows:24),l=t.language&&t.language!==`auto`?t.language:Bt();zt(l);let u=await Ke(),d=t.themeRegistry,f=t.presetSelection,p=process.env.OTTO_TUI_SCOPED_VIEWPORT!==`0`,m=Qg(r),h=()=>_t?.buffer.height||Math.max(1,c-1);process.once(`exit`,()=>m.exit());let g=t.scrollback===!0||process.env.OTTO_TUI_SCROLLBACK===`1`,_=t.scrollback===!1||process.env.OTTO_TUI_SCROLLBACK===`0`,v=!g&&!_,y=yr()?vr(r):r;g&&!p&&(y=Sr(y));let b=e=>{y.write(e)},C=!1,ee={current:null};y=new Proxy(y,{get(e,t,n){if(t===`write`)return(t,...n)=>(typeof t==`string`&&(t.includes(`\x1B[2J`)||t.includes(`\x1B[3J`))&&ee.current?.(),e.write(t,...n));let r=Reflect.get(e,t,n);return typeof r==`function`?r.bind(e):r}});let{streamStoreHandle:te,streamStore:w,notificationStoreHandle:ne,notificationStore:re,taskStoreHandle:ie,taskStore:T,messageStoreHandle:ae,messageStore:E,scrollStoreHandle:D,budgetStore:oe,contextStore:O,perfStore:se,statusStore:k,cacheStore:A,proxyStore:j,compactionLogStore:M,galleryStore:ce,completer:le,shellBackendRef:ue,a2uiButtonsRef:de,a2uiActionRef:fe,scanA2uiButtons:pe}=Yg(t),me={toastTimer:null,listener:null,shellTimer:null},ge={current:null},ve={current:null},ye={current:null},N=process.env.OTTO_TUI_PANE_BUFFER!==`0`,be=`prompt`,xe=()=>N&&(T.getState().subagentContext!=null||T.getState().backgroundOutput!=null||T.getState().paneOwnsViewportFlag||be!==`prompt`),Se=Xg({paneOwnsViewport:xe,realWrite:e=>b(e)}),Ce=()=>{xe()||Se.flush()},we=e=>{let t=be===`prompt`;be=e,e===`prompt`&&!t&&Ce()},Te=!0,Ee=e=>{Te=e},De=e=>{T.setState({paneOwnsViewportFlag:e}),e||Ce()},Oe={msg:0,perm:0,toast:0,notify:0},ke=new Map,Ae=new Map,je={select:null,input:null,inputAction:null,questions:null,confirm:null,cancel:null,extra:null,alert:null,prompt:null,onboarding:null},P={current:null},Me={current:null},F=(e=>Me.current?Me.current.openModal(e):e.kind===`input`?Promise.resolve(null):void 0),Ne=Wc({listener:()=>me.listener?.(),intervalMs:a}),Pe=()=>Ne.immediate();ie.setNotify(Pe),ne.setNotify(Pe);let{commitToHistory:Fe,commitManyToHistory:Ie}=q_({scrollbackBuffer:Se,getColumns:()=>s,getHasHistory:()=>C,setHasHistory:e=>{C=e},notify:Pe}),{streamTextCoalescer:Le,streamThinkingCoalescer:Re,outputTokensThrottle:ze,resetController:Be}=G_({streamStore:w,messageStore:E,messageStoreHandle:ae,scrollbackBuffer:Se,scrollbackMode:g,coalesceMs:a,getColumns:()=>s,getHasHistory:()=>C,setHasHistory:e=>{C=e},getMsgCounter:()=>Oe.msg,incMsgCounter:()=>++Oe.msg,notify:Pe}),Ve=()=>fa(da(la(t.isAgentBusy,w.getState().processing),!!re.getState().errorRetry),!!t.isPaused?.()),He=(e,n,r)=>{let i=pa(e,n,r??!1,{processing:Ve(),isImmediateCommand:e=>t.isImmediateCommand?.(e)??!1,isInterruptCommand:e=>t.isInterruptCommand?.(e)??!1});if(i===`queue`){T.setState({queued:[...T.getState().queued,{text:e,mode:n}]}),Pe();return}if(i===`action`){t.onSubmit?.(e,n,`action`);return}t.onSubmit?.(e,n,i===`steer`?`steer`:`send`)},Ue=uv(me,Ve,Pe,t.onSubmit,T);ie.setEffects({syncForcedUpgradeRoute:t=>e(I(),he,t),backgroundOutputRoute:e=>{e?I()?.ensure(`/pane/delegates/output`):I()?.currentPath===`/pane/delegates/output`&&I()?.goBack()},flushScrollbackIfIdle:Ce,registerStatusItems:e=>rs(`cli-status`,{pluginId:`cli-status`,statusItems:[...e]})}),ne.setEffects({drainQueueOnResume:()=>Ue(),syncPulseSurveyRoute:t=>e(I(),x,t)});let{onPermissionDecision:We,onSelectResolve:Ge,onInputResolve:qe,onOnboardingResolve:L,onInputAction:Je,onQuestionsResolve:Ye,onConfirmResolve:Xe,onAlertResolve:Ze,onPromptResolve:Qe,getTurnMessagesFor:$e}=lv({getMessages:()=>E.getState().messages},Ae,je,T,De),et={shiftEnterRef:ve,state:me,columnsRef:{get current(){return s},set current(e){s=e}},rowsRef:{get current(){return c},set current(e){c=e}},hasHistoryRef:{get current(){return C},set current(e){C=e}},inkWriteRef:{get current(){return b},set current(e){b=e}},toastCounterRef:{get current(){return Oe.toast},set current(e){Oe.toast=e}},languageRef:{get current(){return l},set current(e){l=e}},systemTheme:u,themeRegistry:d,presetSelection:f,stopRef:{},taskStore:T,notificationStore:re,messageStore:E,streamStoreHandle:te,taskStoreHandle:ie,notificationStoreHandle:ne,messageStoreHandle:ae,budgetStore:oe,contextStore:O,perfStore:se,statusStore:k,cacheStore:A,proxyStore:j,compactionLogStore:M,galleryStore:ce,opts:t,notify:Pe,flushScrollbackIfIdle:Ce,setPaneOwnsViewport:De,setFocusOwnerForBuffer:we,setScrollActive:Ee,getTurnMessagesFor:$e,submitOrQueue:He,onPermissionDecision:We,onSelectResolve:Ge,onInputResolve:qe,onOnboardingResolve:L,onInputAction:Je,onQuestionsResolve:Ye,onConfirmResolve:Xe,onAlertResolve:Ze,onPromptResolve:Qe,proxyOpenModal:F,restoreInputRef:ge,pasteBridgeRef:ye,registryRef:P,shellBackendRef:ue,a2uiButtonsRef:de,a2uiActionRef:fe,scrollbackMode:g,windowMode:v,scrollStore:D,stdout:r},tt=()=>dv(et),nt=cv({stdout:y,enabled:!0}),R=N_(e=>{D.dispatchWheel(e)||yu(be)&&Te&&D.scrollBy(e*3)}),rt={current:null},it=0;Mu(D.store,()=>rt.current?.clear());let{renderStdin:at,kittyOn:ot,focusOn:st,mouseOn:ct,kittyExitHandler:lt,focusExitHandler:ut,mouseExitHandler:dt,setMouseEnabled:ft,isMouseEnabled:mt,cleanup:ht}=_v({stdin:n,renderStdout:y,onInterrupt:t.onInterrupt,onFocusChange:t.onFocusChange,onMouseWheel:e=>R.push(e),onShiftEnter:()=>ve.current?.(),onMouseDrag:e=>{rt.current?.handleDrag(e)},onTerminalBgDetected:e=>{process.env.OTTO_DEBUG_THEME&&process.stderr.write(`[RFC-282] OSC detected: ${e} themeRef=${!!wt()}\n`),wt()?.setSystemTheme(e)}}),gt=t.concurrent??process.env.OTTO_TUI_CONCURRENT===`1`;p&&m.enter();let _t=await p_(y,process.env,{anchorMode:p?`anchored`:`flowing`});_t?.buffer.setMaxLineWidth(s),ee.current=_t?()=>_t.buffer.resync():null,_t&&(rt.current=w_({buffer:_t.buffer,terminalRows:()=>h(),writeSelectionRepaint:e=>{if(e)try{y.write(e)}catch{}},writeClipboard:e=>{let t=F_(e),n=!1;try{dr(e),n=!0}catch{n=!1}return t||n},onCopied:(e,t)=>{let n=T_(e);if(t){it+=1;let t=it;T.setState({clipboardChars:n,clipboardText:e,clipboardFailed:!1,clipboardJustCopied:!0}),setTimeout(()=>{T.getState().clipboardChars===n&&T.setState({clipboardChars:0})},vv),setTimeout(()=>{it===t&&T.setState({clipboardJustCopied:!1})},1500)}else T.setState({clipboardFailed:!0,clipboardChars:0}),setTimeout(()=>{T.getState().clipboardFailed&&T.setState({clipboardFailed:!1})},vv)}}),ku(rt.current),_t.onDamage(e=>{rt.current?.onFrameDamage(e)}));let{waitUntilExit:vt,unmount:yt}=$t(H.createElement(tt),{stdout:y,stdin:at,exitOnCtrlC:!1,maxFps:o,concurrent:gt,patchConsole:!1});gt&&await new Promise(e=>{let t=Date.now()+1e3,n=()=>{me.listener||Date.now()>t?e():setImmediate(n)};n()});let bt=U_({stdin:n,stdout:r,renderStdout:y,kittyOn:ot,kittyExitHandler:lt,focusOn:st,focusExitHandler:ut,mouseOn:ct,mouseExitHandler:dt,onInterrupt:t.onInterrupt,unmount:()=>yt(),terminalInputCleanup:ht});bt.setupRawInput(),nt.start();let xt=()=>{nt.pollNow();let e=r.columns>0?r.columns:s;_t?.buffer.setMaxLineWidth(e),_t?.buffer.resync()};r.on(`resize`,xt),process.once(`exit`,()=>{r.removeListener(`resize`,xt),nt.stop();try{n.pause?.()}catch{}try{n.setRawMode?.(!1)}catch{}});let St={stopped:!1,unmounted:!1},Ct=!1,z=async()=>{if(Ct)return;Ct=!0;let e=e=>{try{e()}catch{}};e(()=>nt.stop()),e(()=>r.removeListener(`resize`,xt)),e(()=>bt.cleanup()),e(()=>{try{n.isTTY&&n.setRawMode(!0)}catch{}}),e(()=>_t?.dispose()),e(()=>{m.active()||r.write(Zg(h()))}),e(()=>{r.write(`\x1B[?25h`)}),e(()=>m.exit()),await new Promise(e=>setTimeout(e,200));try{bt.releaseStdin()}catch{}},Tt=J_({taskStore:T,notificationStore:re,cacheStore:A,proxyStore:j,resolvers:je,getNotifyStats:()=>Ne.getStats(),flushScrollbackIfIdle:Ce,paneOwnsViewport:xe,setPaneOwnsViewport:De});Me.current=Tt;let Et=Y_({taskStore:T,state:me,notify:Pe,showToast:(...e)=>Ft.info.showToast(...e)}),B=X_({notificationStore:re,state:me,counters:Oe,notify:Pe}),Dt=ev({pendingMethods:Z_({taskStore:T,messageStoreHandle:ae,counters:Oe,pendingSteerMsgIds:ke,scrollbackMode:g,commitToHistory:Fe,scanA2uiButtons:pe,notify:Pe}),restoreInputRef:ge,pasteBridgeRef:ye}),Ot=nv({messageStoreHandle:ae,notify:Pe}),kt=tv({lifecycleFlags:St,scrollbackBuffer:Se,streamTextCoalescer:Le,streamThinkingCoalescer:Re,notifyScheduler:Ne,state:me,registryUnregisterAll:as,unmount:yt,windowMode:v,scopedViewport:p,hasHistoryRef:{set:e=>{C=e}},resetStreamController:Be,messageStoreHandle:ae,scrollStoreHandle:D,streamStoreHandle:te,taskStoreHandle:ie,notificationStoreHandle:ne,perfStore:se,statusStore:k,contextStore:O,budgetStore:oe,taskStore:T,notificationStore:re,a2uiButtonsRef:de,resetStatusWidgetBreakers:zu,getRouterRef:I,overlayPaths:S,syncOverlayRoute:e,notify:Pe,i18next:V,detectLanguage:Bt,setLanguage:e=>{l=e},getThemeRef:wt,setTerminalTitle:sr,onStop:i,detachSessionSource:Ot.detachSessionSource,teardownTerminal:z}),At=av({modalHandleMethods:Tt,taskStore:T,getRouterRef:I,syncOverlayRoute:e,overlayServices:_e,flushScrollbackIfIdle:Ce,notify:Pe}),jt=ov({taskStore:T,taskStoreHandle:ie,registerPlugin:rs,registryUnregister:is,computeStalePluginIds:cs,getRegistrySnapshot:os,getStatusItems:us,getStatusWidgets:fs,resetStatusWidgetBreakers:zu,registryRef:P,a2uiButtonsRef:de,subagentRestoreFields:zo,notify:Pe}),Mt=sv({notificationMethods:B,notifyScheduler:Ne,taskStore:T,modalHandleMethods:Tt,shellMethods:Et,contextStore:O,getRouterRef:I,scrollStoreHandle:D}),Nt=iv({streamMethods:Q_({streamStore:w,streamTextCoalescer:Le,streamThinkingCoalescer:Re,outputTokensThrottle:ze,perfStore:se,statusStore:k,compactionLogStore:M,drainQueue:Ue,getRouterRef:I,notify:Pe}),taskStore:T,notificationStore:re,notificationMethods:B,getRouterRef:I,syncOverlayRoute:e,overlayPause:pt,drainQueue:Ue,notify:Pe}),Pt=rv({scrollbackMode:g,commitToHistory:Fe,commitManyToHistory:Ie,messageStoreHandle:ae,counters:Oe,getTurnMessagesFor:$e,taskStore:T,notify:Pe,scanA2uiButtons:pe}),Ft={modal:$_({modalHandleMethods:Tt,permResolvers:Ae,counters:Oe,taskStore:T,getRouterRef:I,notify:Pe,onConfirmResolve:Xe}),pending:Dt,lifecycle:{...kt,...Ot,toggleMouse:()=>{let e=ft(!mt());return Ft.info.showToast(V.t(`mouse.toggleTitle`),e?V.t(`mouse.enabledBody`,{modifier:jf()}):V.t(`mouse.disabledBody`)),e}},messages:Pt,engine:Nt,panes:At,plugins:jt,info:Mt,shell:Et,stores:{tasks:ie.actions,budget:{setBudget:oe.setBudget},context:{setBudget:O.setBudget,addTurn:O.addTurn,markTurns:O.markTurns},cache:{setView:A.setView},proxy:{setView:j.setView},notification:{setProviderUsage:ne.setProviderUsage,setPausePending:ne.setPausePending,setPaused:ne.setPaused,setPulseSurvey:ne.setPulseSurvey}}};return et.stopRef.current=()=>Ft.lifecycle.stop(),vt().then(()=>{St.unmounted||(St.unmounted=!0,yt()),z()}),Ft}function bv(){return{streamBuf:``,thinkBuf:``,turnStart:0,turnToolCount:0,lastTasks:[],messageIndex:0}}function xv(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 Sv(e){return e.filter(e=>e.status!==`done`&&e.status!==`skipped`&&e.status!==`failed`).length}function Cv(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 wv(e,t){let n=Sv(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,errorMessage:e.errorMessage};return i===`incomplete`?{...a,status:i,tasksDone:t.lastTasks.length-n,tasksTotal:t.lastTasks.length}:{...a,status:i}}function Tv(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`,...wv(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 Ev(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(`
|
|
114
|
+
`):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 Dv(e,t){return{search:n=>pn(e,n,t)}}function Ov(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 kv(e){let t=bv();return{handle(n){Tv(n.payload,e,t)},reset(e=0){t={...bv(),messageIndex:e}}}}function Av(e){return{pushMessage:e.pushMessage,echoUserInput:e.echoUserInput,pushEngineEvent:e.pushEngineEvent,getNotifyStats:e.getNotifyStats,setTasks:e.setTasks,addTurnBoundary:e.addTurnBoundary}}export{aa as ACTION_CHIP_PATTERN,oa as ACTION_CHIP_VALUE_SEGMENT,$l as AlertDialog,Ug as App,mi as BASH_HISTFILE_SOURCE,Ql as BashPermissionDialog,er as BracketedPasteHandler,F as Button,Oo as COMPACTING_SENTINEL,Vt as CommandRegistry,$e as ConfirmDialog,At as Cursor,ii as DEFAULT_SENSITIVE_PATTERNS,Ue as DIALOG_BORDER,st as DataList,B as FIGURES,vi as FISH_HISTFILE_SOURCE,Oe as GroupDivider,ef as Home,dt as LAYOUT,ue as MeasuredText,Bl as MemoryDialog,Zc as Message,Ci as OTTO_SESSION_SOURCE,ae as PALETTE,Be as PANEL_BORDER,Jl as PermissionDialogDialog,eu as PromptDialog,Ui as PromptInput,Wi as QueuedCommands,Ml as REPLRegion,R as SPACING,Ze as STATUS,Hc as STREAM_COALESCE_MS,w as ScrollIndicatorAbove,re as ScrollIndicatorBelow,Jp as Segmented,Jp as Tabs,z as Select,Lc as SigilPane,Cl as Spinner,r as THEME,Kg as TabScope,v as Tabable,Tt as TextInput,Ne as ThemeRegistry,oi as ZSH_HISTFILE_SOURCE,Sn as applySigilCompletion,Br as applySlashCompletion,pr as beginSyncFrame,wv as buildTurnSummary,hs as clearPluginRenderers,qc as collapseMessages,Ov as createAttachSessionDataSource,Yu as createBudgetStore,Ht as createBuiltinCommands,Le as createBuiltinThemeRegistry,Ir as createCommandRegistry,Dv as createIncrementalSearcher,Cr as createInputBuffer,Tr as createInputHistory,Ai as createMergedHistoryProvider,Fr as createPasteStore,Gc as createQueryGuard,bv as createReducerState,ut as createSelectState,kv as createSessionEventReduceBridge,Av as createStoreTuiSink,Xe as cycleIndex,xv as deriveTurnBoundaries,Bt as detectLanguage,j as displayWidth,ua as effectiveBusy,mr as endSyncFrame,ki as entriesToCommands,Yc as expandCollapsed,Tn as extractSigilPrefix,Lr as extractSlashPrefix,Ko as formatAgentDiagnosticsText,Rl as formatKeyValueLines,Kn as formatProviderUsageLimitTypeFull,Ll as formatTranscriptText,Wo as formatTurnTimeline,Rr as getCommandSuggestions,Ve as getInputViewport,we as getKillRingEntries,Ya as getMarkdownThemeUserOverrides,Sr as guardScrollbackStdout,Dt as handleEditingKey,It as handleEditingKeyExtended,V as i18next,zt as initI18n,zc as initStreamCommit,c as insertHistory,kt as insertHistorySequence,Cv as insertTurnSummaries,sa as isPureActionChip,ai as isSensitiveCommand,Jn as isUsingOverage,Uc as makeCoalescer,Wc as makeNotifyScheduler,un as matchSubsequence,Ti as mergeHistoryEntries,zr as navigateSuggestions,pi as normalizeCommand,Bo as observationLiveFields,Ho as observationRow,fr as osc52QuerySequence,dr as osc52Write,ur as osc8FilePath,lr as osc8Hyperlink,hi as parseBashHistory,ir as parseExtendedKey,yi as parseFishHistory,ui as parseZshHistory,le as pickInsertMode,fn as positionsToHighlightRanges,m as preWrapLine,d as preWrapLines,Ev as printMessages,Un as promptParentWorkspaceChoice,Bn as promptWorkspaceTrust,pn as rankCandidates,mn as rankLabeledItems,hn as rankNamedItems,Tv as reduceToTui,ms as registerPluginRenderers,eo as renderInline,ho as renderMarkdownToLines,hc as renderMessageLines,Ae as resetKillRing,n as resolveHorizontalStep,pa as routeSubmit,Rc as safeCommitBoundary,_n as scoreSubsequence,Ja as setMarkdownThemeUserOverrides,ca as shouldPreserveDraft,yr as shouldStripSyncOutput,M as shouldUseViewport,Ut as showCommandPalette,ia as slashCommandName,yv as startTui,Bc as streamCommitStep,Qe as stringWidth,xr as stripScrollbackClear,_r as stripSyncSequences,vr as stripSyncStdout,Ro as subagentEntryStatus,zo as subagentRestoreFields,Rt as t,Jc as toggleCollapse,Z as useAppState,Gg as useTabScope,mt as useTabable,hr as withSyncFrame};
|
|
156
115
|
//# sourceMappingURL=index.js.map
|