@x-otto/tui 0.1.0-alpha.13 → 0.1.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
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 w,M as T,Mn as te,N as ne,Nt as re,O as E,On as ie,Ot as D,P as O,Q as ae,Qt as k,R as oe,Rt as A,S as j,Sn as se,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-y3yLsmoV.js";import{i as Rt,n as V,r as zt,t as Bt}from"./i18n-CpUZSqYB.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(k,{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(k,{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(e=process.env){if(e.TMUX)return!1;let t=e.TERM_PROGRAM??``;if(t===`Apple_Terminal`)return!0;if(t===`vscode`)return!1;if(e.VTE_VERSION||e.GNOME_TERMINAL_SERVICE)return!0;let n=e.TERM??``;return!!(n.startsWith(`vt100`)||n.startsWith(`vt102`)||n.startsWith(`vt220`))}function mr(){process.stdout.write(`\x1BP=1s\x1B\\`)}function hr(){process.stdout.write(`\x1BP=2s\x1B\\`)}function gr(e){mr();try{return e()}finally{hr()}}const _r=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function vr(e){return e.includes(`\x1B[?2026`)?e.replace(_r,``):e}function yr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?vr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function br(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const xr=RegExp(`\x1B\\[3J`,`g`);function Sr(e){return e.includes(`\x1B[3J`)?e.replace(xr,``):e}function Cr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?Sr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function wr(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 Tr(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 Er(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=Tr(e,n),o)},acceptSearch(e){if(e<0||e>=o.length)return null;let t=o[e].entry;return a=!1,r=n.indexOf(t),t},cancelSearch(){return a=!1,o=[],s},get size(){return n.length},get navState(){return r===-1?null:{position:n.length-r,total:n.length}},getAll(){return n},clear(){n.length=0,r=-1,i=``,a=!1,o=[]}}}function Dr(e,t){let n=process.env[e];if(!n)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:t}const Or=Dr(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),kr=Dr(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),Ar=Dr(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),jr={healthy:1,warning:2,critical:4},Mr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function Nr(e){let t=[];Mr.lastIndex=0;let n;for(;(n=Mr.exec(e))!==null;)t.push({start:n.index,end:n.index+n[0].length,id:Number.parseInt(n[1],10)});return t}function Pr(e){return Buffer.byteLength(e,`utf-8`)}function Fr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function Ir(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(Or/jr[o()]))}function c(){return Math.max(1,Math.floor(kr/jr[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(`
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 w,M as T,Mn as te,N as ne,Nt as re,O as E,On as ie,Ot as D,P as O,Q as ae,Qt as k,R as oe,Rt as A,S as j,Sn as se,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-SUwY4A1b.js";import{i as Rt,n as V,r as zt,t as Bt}from"./i18n-Kl6Bh9P5.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(k,{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(k,{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(e=process.env){if(e.TMUX)return!1;let t=e.TERM_PROGRAM??``;if(t===`Apple_Terminal`)return!0;if(t===`vscode`)return!1;if(e.VTE_VERSION||e.GNOME_TERMINAL_SERVICE)return!0;let n=e.TERM??``;return!!(n.startsWith(`vt100`)||n.startsWith(`vt102`)||n.startsWith(`vt220`))}function mr(){process.stdout.write(`\x1BP=1s\x1B\\`)}function hr(){process.stdout.write(`\x1BP=2s\x1B\\`)}function gr(e){mr();try{return e()}finally{hr()}}const _r=RegExp(`\x1B\\[\\?2026[hl]`,`g`);function vr(e){return e.includes(`\x1B[?2026`)?e.replace(_r,``):e}function yr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?vr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function br(e=process.env){return!!e.TMUX&&e.OTTO_TUI_SYNC!==`1`}const xr=RegExp(`\x1B\\[3J`,`g`);function Sr(e){return e.includes(`\x1B[3J`)?e.replace(xr,``):e}function Cr(e){return new Proxy(e,{get(e,t){if(t===`write`)return(t,...n)=>e.write(typeof t==`string`?Sr(t):t,...n);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}function wr(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 Tr(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 Er(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=Tr(e,n),o)},acceptSearch(e){if(e<0||e>=o.length)return null;let t=o[e].entry;return a=!1,r=n.indexOf(t),t},cancelSearch(){return a=!1,o=[],s},get size(){return n.length},get navState(){return r===-1?null:{position:n.length-r,total:n.length}},getAll(){return n},clear(){n.length=0,r=-1,i=``,a=!1,o=[]}}}function Dr(e,t){let n=process.env[e];if(!n)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:t}const Or=Dr(`OTTO_PASTE_STORE_MAX_ENTRIES`,64),kr=Dr(`OTTO_PASTE_STORE_MAX_BYTES`,33554432),Ar=Dr(`OTTO_PASTE_STORE_PERSIST_MAX_BYTES`,8388608),jr={healthy:1,warning:2,critical:4},Mr=/\[@paste:#(\d+)(?:\s+\+(\d+)\s+lines)?\]/g;function Nr(e){let t=[];Mr.lastIndex=0;let n;for(;(n=Mr.exec(e))!==null;)t.push({start:n.index,end:n.index+n[0].length,id:Number.parseInt(n[1],10)});return t}function Pr(e){return Buffer.byteLength(e,`utf-8`)}function Fr(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.floor(e)}function Ir(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(Or/jr[o()]))}function c(){return Math.max(1,Math.floor(kr/jr[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
2
  `);if(e.length<=800&&t.length<=20)return e;let a=Pr(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=Nr(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=Nr(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 Nr(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>Ar;)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(Fr(e?.nextId)??0));for(let n of e?.entries??[]){let e=Fr(n?.id);e!==void 0&&(t=Math.max(t,e+1))}r=Math.max(r,t);for(let t of e?.entries??[]){let e=Fr(t?.id);if(e===void 0||typeof t?.text!=`string`||n.has(e))continue;let r=Pr(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 Lr(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 Rr(e,t){let n=e.slice(0,t).trimStart();if(!n.startsWith(`/`))return null;let r=n.match(/^\/(.*)$/);return r?r[1]??``:null}function zr(e,t,n){let r=Rr(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 Br(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 Vr(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 Hr(e){return{text:e,offset:e.length}}function Ur(e,t,n,r){if(!e)return null;let i=t.slice(0,n),a=i.lastIndexOf(`
3
3
  `)+1;return Qe(i.slice(a)+(t.slice(n).split(`
4
4
  `)[0]??``))+Qe(e)>r?null:e}function Wr(e){return e.startsWith(`!!`)?{prefix:`!!`,body:e.slice(2)}:e.startsWith(`!`)?{prefix:`!`,body:e.slice(1)}:{prefix:``,body:e}}function Gr(e){return e.startsWith(`!!`)?e.slice(2):e.startsWith(`!`)?e.slice(1):e}function Kr(e,t,n){let{prefix:r,body:i}=Wr(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=Gr(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 qr(e,t,n){let r=Rr(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=Yr(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=Vr(e,t,a[0]);return{fullText:o.text,suffix:o.text.slice(t),kind:`slash-command`}}function Jr(e){let{text:t,offset:n,dismissedPrefix:r,history:i,registry:a}=e;if(n!==t.length||t.length===0||r!==void 0&&r===t)return null;if(a&&t.trimStart().startsWith(`/`)){let e=Rr(t,n);if(e!==null&&e.length===0)return null;let r=qr(t,n,a);if(r)return r}return Kr(t,n,i)}function Yr(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 Xr(e){return(e.VISUAL||e.EDITOR||``).trim()||(process.platform===`win32`?`notepad`:`vi`)}function Zr(e,t){let n=Xr(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 Qr(){let e=te(`fs`),t=te(`os`),n=te(`path`),r=te(`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 $r=null,ei=null;function ti(e){$r=e}function ni(){return $r}function ri(){$r=null,ei?.()}function ii(e){ei=e}const ai=[/\bpassword\s*=/i,/\btoken\s*=/i,/export\s+\w*key\w*\s*=/i,/\bsecret\s*=/i];function oi(e,t=ai){return t.some(t=>t.test(e))}const si=`zsh-histfile`,ci=/^: (\d+):(\d+);(.*)$/s;function li(e){let t=[],n;for(let r of e){let e=n===void 0?r:`${n}\n${r}`;if(ui(r)){n=e.slice(0,-1);continue}t.push(e),n=void 0}return n!==void 0&&t.push(n),t}function ui(e){let t=0;for(let n=e.length-1;n>=0&&e[n]===`\\`;n--)t++;return t%2==1}function di(e,t={}){let{source:n=si,sensitivePatterns:r,filterSensitive:i=!0}=t,a=[],o=0;for(let t of li(e.split(`
@@ -50,7 +50,7 @@ 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
50
50
  `))}`);break}case`assistant_stream`:t.text.trim()&&n.push(`${B.bullet} ${V.t(`transcript.assistant`)}\n${Il(t.text)}`);break;case`tool`:{let e=t.args?`${t.name}(${Ll(t.args,60)})`:t.name,r=t.result?` → ${t.isError?`${B.cross} `:``}${Ll(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`):Fl(t.status),r=Number(t.tasksDone??0),i=Number(t.tasksTotal??0),a=Number.isFinite(r)?r:0,o=Number.isFinite(i)?i:0,s=t.status===`incomplete`&&t.tasksTotal!=null?` · ${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}`:``:` · ${Pl(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${Il(t)}`),n.join(`
51
51
 
52
52
  `)}function zl(e){let t=e.filter(e=>e!==null),n=Math.max(0,...t.map(e=>se(e.label)));return e.map(e=>{if(e===null)return``;let t=` `.repeat(Math.max(0,n-se(e.label))+1);return`${e.label}:${t}${e.value}`})}function Bl(e,t){let n=/^- \[(.+?)\]\(memory\/(.+?)\.md\)(?: — (.+))?$/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({name:i[1]??``,slug:i[2]??``,description:(i[3]??``).trim(),source:t});return r}function Vl({projectIndex:e,userIndex:t,onViewEntry:n,onForget:r,onDismiss:i,rows:a=24,columns:o=80}){let[s,c]=K(()=>Bl(e,`project`)),[l,u]=K(()=>Bl(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(Gl,{entry:d.entry,onConfirm:()=>void v(d.entry),onCancel:()=>f({mode:`list`})}):d.mode===`detail`?q(Ul,{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(Hl,{projEntries:s,userEntries:l,hasAny:h,defaultValue:p,onView:_,onForget:e=>f({mode:`confirm-forget`,entry:e}),onDismiss:i,rows:a})}function Hl({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(k,{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 Ul({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(Wl,{title:l,onForget:r,onBack:i}):q(bc,{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 Wl({title:e,onForget:n,onBack:r}){return A(`memory-dialog-detail-loading`,(e,t)=>{if(t.escape){r();return}e===`d`&&n()}),q(k,{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 Gl({entry:e,onConfirm:t,onCancel:r}){let i=P(),[a,o]=K(0);return A(`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(k,{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 Kl(e){return e.replace(/\s+/g,` `).trim()}function ql({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?Kl(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 Jl={y:0,n:1,a:2};function Yl({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 A(`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=Jl[e.toLowerCase()];return i===void 0?!1:(d(i),!0)}),J(k,{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 Xl(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const Zl={y:0,n:1,a:2},Ql={y:0,n:1};function $l({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?Zl:Ql,h=e=>{e===0?o(`once`):e===1?s():o(`always`)};A(`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}=Xl(e),_=rt(e,500);return J(k,{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 eu({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)}),A(`alert-dialog`,(e,t)=>t.return||t.escape?(i(),!0):!1),J(k,{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 tu({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 A(`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(k,{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 nu(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function ru(){let e=$n(nu()),t,n={};return{store:e,reset(){e.setState(nu())},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 iu(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const au=e=>{try{return JSON.stringify(e).length}catch{return 0}};function ou(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(au),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,iu(i,a??`count`)]}function su(){let e=$n({messages:[]}),t=t=>{e.setState({messages:ou(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 cu={"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`},lu=Object.values(bn).map(e=>({name:e.name,label:cu[e.name]??e.name,lane:e.lane,priority:e.priority}));function uu(e){let t=lu.length,n=Math.round(e/t);return lu.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function du(){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:uu(t.overheadTokens)})}}}const fu=Kt(void 0),pu=fu.Provider;function mu(){let e=Jt(fu);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}const hu=[`/pane/tasks`,`/pane/delegates`,`/pane/edited-files`,`/pane/subagents`,`/pane/schedule`,`/pane/clipboard`];function gu(e){return hu.includes(e)}const _u=[`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`clipboard`];function vu(e){return gu(e)||e===`/overlay/paste-confirm`}function yu(e){return e===`/`||gu(e)||e===`/overlay/paste-confirm`}function bu(e){return e===`prompt`||_u.includes(e)}function xu(){I()?.navigate(`/`,{reset:!0})}function Su(){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 Cu=`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 wu(e){let t={};for(let n of Cu)t[n]=e[n];return t}const Tu=Kt(null),Eu=Tu.Provider;function Du(){let e=Jt(Tu);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function Ou(e){let{queuedItemsLength:t,subagentContext:n,backgroundOutput:r}=e,{onPaneOwnsViewportChange:i}=Du(),{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),[w,T]=K(``),te=!!n||o!==null||!!r||u!=null,ne=qt(e=>{i?.(!0),s(e),l(e.path),I()?.ensure(`/pane/edited-files/full`)},[i]),re=qt(()=>{i?.(u!=null),s(null),l(null),I()?.goBack()},[i,u]),E=qt(e=>{i?.(!0),d(e),I()?.ensure(`/pane/tasks/${e}`)},[i]),ie=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:ne,closeEditedFileFull:re,taskDetailTurn:u,openTaskDetail:E,closeTaskDetail:ie,shellFullOutput:f,setShellFullOutput:m,queueEditIndex:h,setQueueEditIndex:g,queueCloseConfirm:_,setQueueCloseConfirm:v,queueEscSuppress:y,setQueueEscSuppress:b,interruptConfirm:x,setInterruptConfirm:S,popQueuedConfirm:C,setPopQueuedConfirm:ee,supplyDraft:w,setSupplyDraft:T,fullScreenPaneActive:te}}let ku=null;function Au(e){ku=e}function ju(){return ku}function Mu(){let e=ku;return e?.hasSelection()?(e.clear(),!0):!1}function Nu(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function Pu(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:T,onInstallCapability:te,onDismissCapabilityRecommendations:ne}=e,{onToggleDelegates:re,onToggleEditedFiles:E,onToggleSubagents:ie,onToggleDraftPane:D,onToggleQueuePane:O,onShellAbort:k,onInterrupt:oe,onA2uiAction:A,onCyclePermissionMode:j,onToggleNotifications:se,onSubmit:M}=Du(),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:()=>{re?.()}}]:[],...s>0?[{path:`/overlay/services`,activate:()=>{t.ensure(`/overlay/services`)}}]:[],...i>0?[{path:`/pane/edited-files`,activate:()=>{E?.()}}]:[],...a>0?[{path:`/pane/subagents`,activate:()=>{ie?.()}}]:[],...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,re,E,ie,a,n,c,s,_]);o(`app-global-prelude`,(e,t)=>{if(t.ctrl&&e===`c`){let e=ni();if(e&&e.text.length>0){let t=e.text.slice(e.start,e.end);return t&&(ju()?.copyText(t),ri()),!0}return l?(k?.(),!0):(oe?.(),!0)}return!1}),b(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:vu(d)?(Mu(),!1):Mu()),w(`app-prompt-global`,(e,r)=>{if(r.tab&&!r.ctrl&&!r.meta&&!r.shift)return d.startsWith(`/dialog/`)||d.startsWith(`/viewer/`)||ae(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&&A)return A(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&&T&&T.length>0&&!r.ctrl&&!r.meta){if(e===`0`)return ne?.(),!0;if(e>=`1`&&e<=`9`){let t=T[Number(e)-1];if(t&&te)return te(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`?(xu(),!0):h?(E?.(),!0):g?(ie?.(),!0):(n>0?(_(()=>!1),I()?.navigate(`/pane/tasks`,{replace:!0})):_(e=>!e),!0);let o={"cycle-permission-mode":()=>{j?.()},"toggle-notifications":()=>{se?.()},"toggle-edited-files":()=>{E?.()},"toggle-subagents":()=>{ie?.()},"toggle-delegates":()=>{re?.()},"toggle-clipboard":()=>{if(d===`/pane/clipboard`){xu();return}c&&I()?.navigate(`/pane/clipboard`,{replace:!0})},"toggle-draft-pane":()=>{D?.()},"toggle-queue-pane":()=>{O?.()},"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 Fu(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 Iu={narrow:0,medium:1,low:2};function Lu(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=Iu[e.entry.tier]-Iu[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 Ru=new Map;function zu(e){let t=Ru.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},Ru.set(e,t)),t}function Bu(){Ru.clear()}function Vu(e,t){let n=zu(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 Hu(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 Uu(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=Hu(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=Yt(()=>Fu(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=Vu(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return Lu(e)},[f,n,r,i,c,a,o,u,s,t])}}function Wu(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}=Du();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 Gu=null;function Ku(e){Gu=e}function qu(){return Gu}function Ju(){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(()=>(Ku(p),()=>Ku(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 Yu(e){let{sigilState:t,setSigilState:n,sigilApplyRef:r,hadSigilFocusRef:i,focusOwner:a,preempted:o}=e;W(()=>{if(!t){i.current=!1;return}if(a===`sigilPane`&&!o){i.current=!0;return}i.current&&=(n(null),r.current?.cancel(!1),!1)},[t,a,o])}function Xu(){let e=$n({budget:null});return{store:e,setBudget(t){e.setState({budget:t})},reset(){e.setState({budget:null})}}}function Zu(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 Qu(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function $u(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function ed(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function td({files:e,focused:n,onDismiss:r,onOpenFileFull:i,fullOpenPath:a=null,rows:o=24}){let s=P(),{expanded:c,handleExpandKey:l}=va(o),[d,f]=_a(`editedFiles`,e.length),p=G(0);if(A(`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:ed(e.operation,s),children:[$u(e.operation),` `]}),q(X,{color:i,children:Qu(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 nd(e={}){return{tasks:[],tasksTitle:void 0,turnBoundaries:[],editedFiles:[],backgroundTasks:[],subagentsAccum:new Map,scheduleTasks:[],drafts:e.drafts??[],queued:[],pendingPermission:null,clipboardChars:0,clipboardText:``,clipboardFailed:!1,clipboardFailedReason:void 0,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 rd(e={}){let t=$n(nd(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(nd(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]=Zu(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 id(){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 ad(){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 od(){let e=$n({view:null});return{store:e,setView(t){e.setState({view:t})}}}function sd(){return{view:{configPath:`~/.otto/config.json`}}}function cd(){let e=$n(sd());return{store:e,setView(t){e.setState({view:t})}}}function ld(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 ud={categoryIndex:0,itemIndex:0,variantIndex:0};function dd(){let e=$n({...ud});return{store:e,reset(){e.setState({...ud})},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 fd(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??rd(),[t]),budgetStore:Yt(()=>n??Xu(),[n]),perfStore:Yt(()=>r??id(),[r]),statusStore:Yt(()=>i??ad(),[i]),cacheStore:Yt(()=>a??od(),[a]),proxyStore:Yt(()=>o??cd(),[o]),compactionLogStore:Yt(()=>s??ld(),[s]),galleryStore:Yt(()=>c??dd(),[c]),streamStore:Yt(()=>l??El(),[l])}}const pd={tasks:B.itemActive,delegates:B.service,services:B.serviceSignal,edited:B.edited,subagents:B.attention,clipboard:B.clipboard},md={tasks:`K`,delegates:`P`,edited:`V`,subagents:`T`,clipboard:`G`},hd=B.clipboard,gd={tasks:`/pane/tasks`,delegates:`/pane/delegates`,services:`/overlay/services`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function _d({counts:e,labels:t,currentPath:n=``}){let r=[{id:`tasks`,count:e.tasks,label:t.tasks},{id:`delegates`,count:e.delegates,label:t.delegates},{id:`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=gd[t.id],i=r!==``&&(n===r||n.startsWith(`${r}/`));return t.id===`clipboard`&&e.clipboardJustCopied?{id:t.id,icon:hd,label:t.label,count:t.count,active:i,keyHint:md[t.id],tone:`success`}:{id:t.id,icon:pd[t.id],label:t.label,count:t.count,active:i,keyHint:md[t.id]}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:pd.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,keyHint:md.clipboard,tone:`warning`}),e}return r}function vd(e){return e.length>0}function yd(e){return e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService).length}function bd(e){if(!e)return;let t=process.env.HOME;return t&&(e===t||e.startsWith(t+`/`))?`~`+e.slice(t.length):e}const xd=[{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 Sd({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,o]=K(!1),[s,c]=K(()=>Cd()),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)%xd.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let p=xd[s%xd.length];return p?n?p.zh:p.en:null}function Cd(){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)%xd.length}function wd(){return q(Y,{children:q(X,{color:P().warning,children:`🕶 ${V.t(`welcome.shadowChip`)}`})})}function Td(){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 Ed=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],Dd=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function Od(e){let t=2*e;return 375+t+188+t}function kd(e){return 2*e}function Ad(e,t){return Math.min(t,Math.floor(e/2)+1)}function jd(e,t){let n=kd(t),r=e%Od(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:Ad(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:Ad(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function Md(e){let t=e%16;return t<=8?t/8:(16-t)/8}function Nd(e){return Math.floor(e/3)%Ed.length}function Pd(e,t,n){let r=n===`light`?Dd:Ed,i=Nd(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function Fd(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 Id(e,t,n,r,i,a,o){let s=i===`light`?Dd:Ed,c=a.phase===`hold`?Md(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=Fd(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 Ld=[`✦`,`✧`,`·`,`⋆`],Rd=[`~`,`°`,`·`,`˘`,`∼`],zd=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],Bd=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],Vd=[{left:1,phase:16}],Hd=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],Ud=[{left:3,phase:15},{left:10,phase:35}];function Wd(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 Gd(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 Kd(e,t){return Rd[Math.floor((e+t)/8)%Rd.length]}function qd({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:jd(r,zd[0].length),l=Nd(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=Wd(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Ld[n%Ld.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=Gd(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Kd(r,e.phase)})},`ripple-${n}`)};return J(Y,{position:`relative`,flexDirection:`column`,children:[zd.map((e,i)=>{let a=pl(r+i*3,e.length);return q(Y,{flexDirection:`row`,children:c&&c.phase!==`brand`?Id(e,a,2,l,n,c,u).map((e,t)=>q(X,{bold:!0,color:e.color,children:e.text},t)):fl(e,a,2).map((e,n)=>q(X,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&Bd.map((e,t)=>f(e,-1,t)),o&&Vd.map((e,t)=>f(e,zd.length,t)),s&&Hd.map((e,t)=>p(e,-1,t)),s&&Ud.map((e,t)=>p(e,zd.length,t))]})}const Jd=[`provider`,`authentication`,`model`],Yd={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 Xd(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=Yd[e],r=Jd.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:Jd.length}}function Zd(e,t){return e||(t?`model`:void 0)}function Qd(e){return!e||e===`ready`||e===`first-prompt`?null:Yd[e].ctaKey}function $d(e,t){return e===void 0?t:!(e===`ready`||e===`first-prompt`)}function ef(e,t,n){return t!==`first-prompt`||n||e.length===0?null:{items:e.slice(0,3)}}function tf({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(se(b),se(x))+4,C=zd.map(e=>se(e)),ee=Math.max(...C),w=e=>` `.repeat(Math.max(0,ee-(C[e]??ee))),T=s?Xd(s,m):null,te=(s===void 0||s===`ready`)&&c&&c.length>0?c.slice(0,3):[],ne=ef(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(qd,{isNight:_}),J(Y,{flexDirection:`column`,marginLeft:R.loose,children:[J(Y,{flexDirection:`row`,children:[J(L,{type:`secondary`,children:[w(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:[w(1),Re(x,S)]}),q(L,{type:`secondary`,children:p})]})]})]}),!h&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{flexDirection:`row`,children:[fl(`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})}),T&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{children:[q(X,{color:f.warning,bold:!0,children:V.t(T.titleKey)}),q(L,{type:`secondary`,children:` ${T.step}/${T.totalSteps}`})]}),T.hintKey&&q(L,{type:`secondary`,children:V.t(T.hintKey)}),q(X,{color:f.accent,children:V.t(T.ctaKey)})]}),te.length>0&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`welcome.suggestionsLabel`)}),te.map((e,t)=>J(Y,{flexDirection:`row`,children:[J(X,{color:f.accent,children:[` [`,t+1,`] `]}),q(L,{type:`secondary`,children:e})]},t))]}),ne&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`capability.sectionTitle`)}),ne.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(Td,{}),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 nf(e,t){let n=wa();W(()=>{if(n)return n.registerWheel(e)},[n,...t])}function rf({title:e,status:n,messages:r,streamText:i=``,rows:a=24,columns:o=80,onDismiss:s}){let c=P(),l=ee();A(`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=gc(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=dl(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}=va(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 nf(e=>p(t=>x(t+e*3)),[b]),J(k,{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 af(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=of(r.content);if(i)return cf(i,n)}return null}function of(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:sf(e)?e.text:``).filter(Boolean).join(` `).trim():sf(e)?String(e.text).trim():``}function sf(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function cf(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function lf(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:rt(n,t)}function uf({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:lf(i,r)}function df(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function ff(e){let t=Du(),{taskStore:n}=mu(),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 af(e.messages,t)},[f,h,e.messages]),v=Zd(o,a);if(e.welcome&&e.showHome)return q(tf,{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=uf({sessionTitle:r,reviewing:f,turnPrompt:_,maxWidth:Math.max(1,e.columns-2)}),b=y.length>0&&!df(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(rf,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:x,columns:e.columns,onDismiss:t.onExitSubagentContext})})():q(Xt,{children:q(Nl,{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 pf={running:B.todoActive,exited:B.check,killed:B.cross,failed:B.cross};function mf(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function hf(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 pf[e.status]}function gf(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 mf(e.status,t)}function _f({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]=_a(`delegates`,e.length),h=G(0),{expanded:g,handleExpandKey:_}=va(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]),A(`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?Po(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(Po).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:[` `,Ro(t,x)]})]})]})}let C=e[Math.min(p,e.length-1)],ee=(C?.type??`process`)===`agent-session`&&C?.agentStatus===`ready`&&!!C?.diffStat,w=!!C&&!Po(C),T=Math.min(p,e.length-1),te=[],ne,re=0;e.forEach((e,t)=>{let n=Mo(e);n!==ne&&(re>0&&te.push({type:`spacer`}),te.push({type:`header`,category:n}),re++,ne=n),te.push({type:`entry`,task:e,index:t})});let E=Et(te,te.findIndex(e=>e.type===`entry`&&e.index===T),u(te.length,d,3,g?10:5),h.current);return h.current=E.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`)]]:[],...w?[[`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:[E.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),E.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:gf(n,f),children:[hf(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:[` `,Ro(n,x)]})]},n.id)}),E.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})]})}function vf({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}=va(r??24),ee=Math.max(1,x-10);W(()=>m(0),[e.id,d]);let w=Math.max(8,n-dt.contentInset),T=[],te=[];if(d===`diff`)T=(e.diff??``).split(`
53
+ `),[t]);return n?q(Wl,{title:l,onForget:r,onBack:i}):q(bc,{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 Wl({title:e,onForget:n,onBack:r}){return A(`memory-dialog-detail-loading`,(e,t)=>{if(t.escape){r();return}e===`d`&&n()}),q(k,{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 Gl({entry:e,onConfirm:t,onCancel:r}){let i=P(),[a,o]=K(0);return A(`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(k,{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 Kl(e){return e.replace(/\s+/g,` `).trim()}function ql({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?Kl(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 Jl={y:0,n:1,a:2};function Yl({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 A(`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=Jl[e.toLowerCase()];return i===void 0?!1:(d(i),!0)}),J(k,{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 Xl(e){let t=/^\s*cd\s+(.+?)\s*&&\s*(.*)$/s.exec(e);return t?{workDir:t[1]}:{workDir:null}}const Zl={y:0,n:1,a:2},Ql={y:0,n:1};function $l({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?Zl:Ql,h=e=>{e===0?o(`once`):e===1?s():o(`always`)};A(`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}=Xl(e),_=rt(e,500);return J(k,{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 eu({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)}),A(`alert-dialog`,(e,t)=>t.return||t.escape?(i(),!0):!1),J(k,{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 tu({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 A(`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(k,{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 nu(){return{toast:null,retryCountdown:null,errorRetry:null,providerUsage:null,notifications:[],paused:!1,pauseDialog:null,pausePending:null,pulseSurvey:null}}function ru(){let e=$n(nu()),t,n={};return{store:e,reset(){e.setState(nu())},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 iu(e,t){return{role:`history_capped`,removedCount:e,trigger:t}}const au=e=>{try{return JSON.stringify(e).length}catch{return 0}};function ou(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(au),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,iu(i,a??`count`)]}function su(){let e=$n({messages:[]}),t=t=>{e.setState({messages:ou(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 cu={"tool-guidance-injection":`Tool guidance`,"runtime:environment":`Environment`,"runtime:memory-index":`Memory index`,"skill-catalog-injection":`Skill catalog`,"lesson-injection":`Lesson`,"lesson-relevant-hints":`Lesson relevant hints`,"memory-delta-injection":`Memory delta`,"todo-reminder-injection":`TODO reminder`,"doc-sync-reminder-injection":`Doc sync reminder`},lu=Object.values(bn).map(e=>({name:e.name,label:cu[e.name]??e.name,lane:e.lane,priority:e.priority}));function uu(e){let t=lu.length,n=Math.round(e/t);return lu.map(e=>({label:e.label,lane:e.lane,estimatedTokens:n}))}function du(){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:uu(t.overheadTokens)})}}}const fu=Kt(void 0),pu=fu.Provider;function mu(){let e=Jt(fu);if(!e)throw Error(`useAppStoresContext must be used within <AppStoresProvider>`);return e}const hu=[`/pane/tasks`,`/pane/delegates`,`/pane/edited-files`,`/pane/subagents`,`/pane/schedule`,`/pane/clipboard`];function gu(e){return hu.includes(e)}const _u=[`taskFocus`,`background`,`editedFiles`,`subagents`,`schedule`,`clipboard`];function vu(e){return gu(e)||e===`/overlay/paste-confirm`}function yu(e){return e===`/`||gu(e)||e===`/overlay/paste-confirm`}function bu(e){return e===`prompt`||_u.includes(e)}function xu(){I()?.navigate(`/`,{reset:!0})}function Su(){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 Cu=`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 wu(e){let t={};for(let n of Cu)t[n]=e[n];return t}const Tu=Kt(null),Eu=Tu.Provider;function Du(){let e=Jt(Tu);if(!e)throw Error(`useAppCallbacks must be used within AppCallbacksProvider`);return e}function Ou(e){let{queuedItemsLength:t,subagentContext:n,backgroundOutput:r}=e,{onPaneOwnsViewportChange:i}=Du(),{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),[w,T]=K(``),te=!!n||o!==null||!!r||u!=null,ne=qt(e=>{i?.(!0),s(e),l(e.path),I()?.ensure(`/pane/edited-files/full`)},[i]),re=qt(()=>{i?.(u!=null),s(null),l(null),I()?.goBack()},[i,u]),E=qt(e=>{i?.(!0),d(e),I()?.ensure(`/pane/tasks/${e}`)},[i]),ie=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:ne,closeEditedFileFull:re,taskDetailTurn:u,openTaskDetail:E,closeTaskDetail:ie,shellFullOutput:f,setShellFullOutput:m,queueEditIndex:h,setQueueEditIndex:g,queueCloseConfirm:_,setQueueCloseConfirm:v,queueEscSuppress:y,setQueueEscSuppress:b,interruptConfirm:x,setInterruptConfirm:S,popQueuedConfirm:C,setPopQueuedConfirm:ee,supplyDraft:w,setSupplyDraft:T,fullScreenPaneActive:te}}let ku=null;function Au(e){ku=e}function ju(){return ku}function Mu(){let e=ku;return e?.hasSelection()?(e.clear(),!0):!1}function Nu(e,t){let n=e.getState().offset;return e.subscribe(()=>{let r=e.getState().offset;r!==n&&(n=r,t())})}function Pu(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:T,onInstallCapability:te,onDismissCapabilityRecommendations:ne}=e,{onToggleDelegates:re,onToggleEditedFiles:E,onToggleSubagents:ie,onToggleDraftPane:D,onToggleQueuePane:O,onShellAbort:k,onInterrupt:oe,onA2uiAction:A,onCyclePermissionMode:j,onToggleNotifications:se,onSubmit:M}=Du(),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:()=>{re?.()}}]:[],...s>0?[{path:`/overlay/services`,activate:()=>{t.ensure(`/overlay/services`)}}]:[],...i>0?[{path:`/pane/edited-files`,activate:()=>{E?.()}}]:[],...a>0?[{path:`/pane/subagents`,activate:()=>{ie?.()}}]:[],...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,re,E,ie,a,n,c,s,_]);o(`app-global-prelude`,(e,t)=>{if(t.ctrl&&e===`c`){let e=ni();if(e&&e.text.length>0){let t=e.text.slice(e.start,e.end);return t&&(ju()?.copyText(t),ri()),!0}return l?(k?.(),!0):(oe?.(),!0)}return!1}),b(`selection-escape`,(e,t)=>!t.escape||t.ctrl||t.meta||t.shift?!1:vu(d)?(Mu(),!1):Mu()),w(`app-prompt-global`,(e,r)=>{if(r.tab&&!r.ctrl&&!r.meta&&!r.shift)return d.startsWith(`/dialog/`)||d.startsWith(`/viewer/`)||ae(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&&A)return A(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&&T&&T.length>0&&!r.ctrl&&!r.meta){if(e===`0`)return ne?.(),!0;if(e>=`1`&&e<=`9`){let t=T[Number(e)-1];if(t&&te)return te(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`?(xu(),!0):h?(E?.(),!0):g?(ie?.(),!0):(n>0?(_(()=>!1),I()?.navigate(`/pane/tasks`,{replace:!0})):_(e=>!e),!0);let o={"cycle-permission-mode":()=>{j?.()},"toggle-notifications":()=>{se?.()},"toggle-edited-files":()=>{E?.()},"toggle-subagents":()=>{ie?.()},"toggle-delegates":()=>{re?.()},"toggle-clipboard":()=>{if(d===`/pane/clipboard`){xu();return}c&&I()?.navigate(`/pane/clipboard`,{replace:!0})},"toggle-draft-pane":()=>{D?.()},"toggle-queue-pane":()=>{O?.()},"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 Fu(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 Iu={narrow:0,medium:1,low:2};function Lu(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>{let n=Iu[e.entry.tier]-Iu[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 Ru=new Map;function zu(e){let t=Ru.get(e);return t||(t={consecutiveSlowCalls:0,tripped:!1},Ru.set(e,t)),t}function Bu(){Ru.clear()}function Vu(e,t){let n=zu(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 Hu(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 Uu(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=Hu(o);if(e===void 0)return;let t=setInterval(()=>d(e=>e+1),e);return()=>clearInterval(t)},[o]);let f=Yt(()=>Fu(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=Vu(t,n);r&&e.push({id:t.id,text:r.text,color:r.color,separator:`space`,tier:`low`,isHost:!1,order:t.order})}}return Lu(e)},[f,n,r,i,c,a,o,u,s,t])}}function Wu(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}=Du();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 Gu=null;function Ku(e){Gu=e}function qu(){return Gu}function Ju(){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(()=>(Ku(p),()=>Ku(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 Yu(e){let{sigilState:t,setSigilState:n,sigilApplyRef:r,hadSigilFocusRef:i,focusOwner:a,preempted:o}=e;W(()=>{if(!t){i.current=!1;return}if(a===`sigilPane`&&!o){i.current=!0;return}i.current&&=(n(null),r.current?.cancel(!1),!1)},[t,a,o])}function Xu(){let e=$n({budget:null});return{store:e,setBudget(t){e.setState({budget:t})},reset(){e.setState({budget:null})}}}function Zu(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 Qu(e){let t=e.split(`/`);return t.length<=3?e:`…/${t.slice(-2).join(`/`)}`}function $u(e){switch(e){case`edit`:return`~`;case`write`:return`+`;case`delete`:return`-`}}function ed(e,t){switch(e){case`edit`:return t.accent;case`write`:return t.success;case`delete`:return t.error}}function td({files:e,focused:n,onDismiss:r,onOpenFileFull:i,fullOpenPath:a=null,rows:o=24}){let s=P(),{expanded:c,handleExpandKey:l}=va(o),[d,f]=_a(`editedFiles`,e.length),p=G(0);if(A(`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:ed(e.operation,s),children:[$u(e.operation),` `]}),q(X,{color:i,children:Qu(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 nd(e={}){return{tasks:[],tasksTitle:void 0,turnBoundaries:[],editedFiles:[],backgroundTasks:[],subagentsAccum:new Map,scheduleTasks:[],drafts:e.drafts??[],queued:[],pendingPermission:null,clipboardChars:0,clipboardText:``,clipboardFailed:!1,clipboardFailedReason:void 0,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 rd(e={}){let t=$n(nd(e)),n,r={},i=()=>n?.();return{store:t,reset(){t.setState(nd(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]=Zu(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 id(){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 ad(){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 od(){let e=$n({view:null});return{store:e,setView(t){e.setState({view:t})}}}function sd(){return{view:{configPath:`~/.otto/config.json`}}}function cd(){let e=$n(sd());return{store:e,setView(t){e.setState({view:t})}}}function ld(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 ud={categoryIndex:0,itemIndex:0,variantIndex:0};function dd(){let e=$n({...ud});return{store:e,reset(){e.setState({...ud})},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 fd(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??rd(),[t]),budgetStore:Yt(()=>n??Xu(),[n]),perfStore:Yt(()=>r??id(),[r]),statusStore:Yt(()=>i??ad(),[i]),cacheStore:Yt(()=>a??od(),[a]),proxyStore:Yt(()=>o??cd(),[o]),compactionLogStore:Yt(()=>s??ld(),[s]),galleryStore:Yt(()=>c??dd(),[c]),streamStore:Yt(()=>l??El(),[l])}}const pd={tasks:B.itemActive,delegates:B.service,services:B.serviceSignal,edited:B.edited,subagents:B.attention,clipboard:B.clipboard},md={tasks:`K`,delegates:`P`,edited:`V`,subagents:`T`,clipboard:`G`},hd=B.clipboard,gd={tasks:`/pane/tasks`,delegates:`/pane/delegates`,services:`/overlay/services`,edited:`/pane/edited-files`,subagents:`/pane/subagents`,clipboard:`/pane/clipboard`};function _d({counts:e,labels:t,currentPath:n=``}){let r=[{id:`tasks`,count:e.tasks,label:t.tasks},{id:`delegates`,count:e.delegates,label:t.delegates},{id:`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=gd[t.id],i=r!==``&&(n===r||n.startsWith(`${r}/`));return t.id===`clipboard`&&e.clipboardJustCopied?{id:t.id,icon:hd,label:t.label,count:t.count,active:i,keyHint:md[t.id],tone:`success`}:{id:t.id,icon:pd[t.id],label:t.label,count:t.count,active:i,keyHint:md[t.id]}}).filter(e=>e.count>0);if(e.clipboardFailed){let e=r.filter(e=>e.id!==`clipboard`);return e.push({id:`clipboard`,icon:pd.clipboard,label:t.clipboardFailed,count:0,active:!1,hideCount:!0,keyHint:md.clipboard,tone:`warning`}),e}return r}function vd(e){return e.length>0}function yd(e){return e.filter(e=>(e.type??`process`)===`process`&&e.status===`running`&&e.detectedService).length}function bd(e){if(!e)return;let t=process.env.HOME;return t&&(e===t||e.startsWith(t+`/`))?`~`+e.slice(t.length):e}const xd=[{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 Sd({active:e,resetKey:t,isZh:n,delayMs:r=6e4,rotateMs:i=2e4}){let[a,o]=K(!1),[s,c]=K(()=>Cd()),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)%xd.length)},i);return()=>clearInterval(e)},[a,i]),!e||!a)return null;let p=xd[s%xd.length];return p?n?p.zh:p.en:null}function Cd(){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)%xd.length}function wd(){return q(Y,{children:q(X,{color:P().warning,children:`🕶 ${V.t(`welcome.shadowChip`)}`})})}function Td(){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 Ed=[`#E06C75`,`#D19A66`,`#E5C07B`,`#98C379`,`#61AFEF`,`#C678DD`],Dd=[`#B5403A`,`#B45F1F`,`#96740F`,`#4E7A34`,`#2364A8`,`#7B4FC4`];function Od(e){let t=2*e;return 375+t+188+t}function kd(e){return 2*e}function Ad(e,t){return Math.min(t,Math.floor(e/2)+1)}function jd(e,t){let n=kd(t),r=e%Od(t);if(r<375)return{phase:`brand`,progress:0,t:r};let i=r-375;if(i<n)return{phase:`entering`,progress:Ad(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:Ad(o,t),t:o}:{phase:`brand`,progress:0,t:r}}function Md(e){let t=e%16;return t<=8?t/8:(16-t)/8}function Nd(e){return Math.floor(e/3)%Ed.length}function Pd(e,t,n){let r=n===`light`?Dd:Ed,i=Nd(t),a=[];for(let t=0;t<e;t++)a.push(r[(t+i)%r.length]);return a}function Fd(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 Id(e,t,n,r,i,a,o){let s=i===`light`?Dd:Ed,c=a.phase===`hold`?Md(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=Fd(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 Ld=[`✦`,`✧`,`·`,`⋆`],Rd=[`~`,`°`,`·`,`˘`,`∼`],zd=[`▄▀▀▄ ▀█▀ ▀█▀ ▄▀▀▄`,`▀▄▄▀ █ █ ▀▄▄▀`],Bd=[{left:2,phase:0},{left:8,phase:11},{left:13,phase:22}],Vd=[{left:1,phase:16}],Hd=[{left:1,phase:0},{left:5,phase:10},{left:9,phase:20},{left:14,phase:30}],Ud=[{left:3,phase:15},{left:10,phase:35}];function Wd(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 Gd(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 Kd(e,t){return Rd[Math.floor((e+t)/8)%Rd.length]}function qd({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:jd(r,zd[0].length),l=Nd(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=Wd(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Ld[n%Ld.length]})},`${t}-${e.left}`)},p=(e,t,n)=>{let i=Gd(r,e.phase);return i===0?null:q(Y,{position:`absolute`,top:t,left:e.left,children:q(X,{color:d(i),children:Kd(r,e.phase)})},`ripple-${n}`)};return J(Y,{position:`relative`,flexDirection:`column`,children:[zd.map((e,i)=>{let a=pl(r+i*3,e.length);return q(Y,{flexDirection:`row`,children:c&&c.phase!==`brand`?Id(e,a,2,l,n,c,u).map((e,t)=>q(X,{bold:!0,color:e.color,children:e.text},t)):fl(e,a,2).map((e,n)=>q(X,{bold:!0,color:e.bright?t.brandShimmer:t.brand,children:e.text},n))},i)}),o&&Bd.map((e,t)=>f(e,-1,t)),o&&Vd.map((e,t)=>f(e,zd.length,t)),s&&Hd.map((e,t)=>p(e,-1,t)),s&&Ud.map((e,t)=>p(e,zd.length,t))]})}const Jd=[`provider`,`authentication`,`model`],Yd={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 Xd(e,t){if(e===`ready`||e===`first-prompt`)return null;let n=Yd[e],r=Jd.indexOf(e)+1,i=t<80;return{titleKey:n.titleKey,ctaKey:n.ctaKey,...i?{}:{hintKey:n.hintKey},step:r,totalSteps:Jd.length}}function Zd(e,t){return e||(t?`model`:void 0)}function Qd(e){return!e||e===`ready`||e===`first-prompt`?null:Yd[e].ctaKey}function $d(e,t){return e===void 0?t:!(e===`ready`||e===`first-prompt`)}function ef(e,t,n){return t!==`first-prompt`||n||e.length===0?null:{items:e.slice(0,3)}}function tf({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(se(b),se(x))+4,C=zd.map(e=>se(e)),ee=Math.max(...C),w=e=>` `.repeat(Math.max(0,ee-(C[e]??ee))),T=s?Xd(s,m):null,te=(s===void 0||s===`ready`)&&c&&c.length>0?c.slice(0,3):[],ne=ef(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(qd,{isNight:_}),J(Y,{flexDirection:`column`,marginLeft:R.loose,children:[J(Y,{flexDirection:`row`,children:[J(L,{type:`secondary`,children:[w(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:[w(1),Re(x,S)]}),q(L,{type:`secondary`,children:p})]})]})]}),!h&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{flexDirection:`row`,children:[fl(`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})}),T&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[J(Y,{children:[q(X,{color:f.warning,bold:!0,children:V.t(T.titleKey)}),q(L,{type:`secondary`,children:` ${T.step}/${T.totalSteps}`})]}),T.hintKey&&q(L,{type:`secondary`,children:V.t(T.hintKey)}),q(X,{color:f.accent,children:V.t(T.ctaKey)})]}),te.length>0&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`welcome.suggestionsLabel`)}),te.map((e,t)=>J(Y,{flexDirection:`row`,children:[J(X,{color:f.accent,children:[` [`,t+1,`] `]}),q(L,{type:`secondary`,children:e})]},t))]}),ne&&J(Y,{flexDirection:`column`,marginBottom:R.tight,children:[q(L,{type:`secondary`,children:V.t(`capability.sectionTitle`)}),ne.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(Td,{}),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 nf(e,t){let n=wa();W(()=>{if(n)return n.registerWheel(e)},[n,...t])}function rf({title:e,status:n,messages:r,streamText:i=``,rows:a=24,columns:o=80,onDismiss:s}){let c=P(),l=ee();A(`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=gc(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=dl(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}=va(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 nf(e=>p(t=>x(t+e*3)),[b]),J(k,{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 af(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=of(r.content);if(i)return cf(i,n)}return null}function of(e){return typeof e==`string`?e.trim():Array.isArray(e)?e.map(e=>typeof e==`string`?e:sf(e)?e.text:``).filter(Boolean).join(` `).trim():sf(e)?String(e.text).trim():``}function sf(e){return!!e&&typeof e==`object`&&typeof e.text==`string`}function cf(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(1,t-1))}…`}function lf(e,t){let n=e.replace(/\s+/g,` `).trim();return t<=0?``:rt(n,t)}function uf({sessionTitle:e,reviewing:t,turnPrompt:n,maxWidth:r}){let i=t&&n?n:e??``;return i===``||r===void 0?i:lf(i,r)}function df(e){return typeof e==`string`&&/^[a-f\d]{8}$/i.test(e)}function ff(e){let t=Du(),{taskStore:n}=mu(),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 af(e.messages,t)},[f,h,e.messages]),v=Zd(o,a);if(e.welcome&&e.showHome)return q(tf,{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=uf({sessionTitle:r,reviewing:f,turnPrompt:_,maxWidth:Math.max(1,e.columns-2)}),b=y.length>0&&!df(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(rf,{title:n.title,status:n.status,messages:n.messages,streamText:n.streamText,rows:x,columns:e.columns,onDismiss:t.onExitSubagentContext})})():q(Xt,{children:q(Nl,{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 pf={running:B.todoActive,exited:B.check,killed:B.cross,failed:B.cross};function mf(e,t){return e===`running`?t.special:e===`exited`?t.success:t.error}function hf(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 pf[e.status]}function gf(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 mf(e.status,t)}function _f({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]=_a(`delegates`,e.length),h=G(0),{expanded:g,handleExpandKey:_}=va(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]),A(`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?Po(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(Po).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:[` `,Ro(t,x)]})]})]})}let C=e[Math.min(p,e.length-1)],ee=(C?.type??`process`)===`agent-session`&&C?.agentStatus===`ready`&&!!C?.diffStat,w=!!C&&!Po(C),T=Math.min(p,e.length-1),te=[],ne,re=0;e.forEach((e,t)=>{let n=Mo(e);n!==ne&&(re>0&&te.push({type:`spacer`}),te.push({type:`header`,category:n}),re++,ne=n),te.push({type:`entry`,task:e,index:t})});let E=Et(te,te.findIndex(e=>e.type===`entry`&&e.index===T),u(te.length,d,3,g?10:5),h.current);return h.current=E.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`)]]:[],...w?[[`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:[E.hasMoreAbove&&q(X,{dimColor:!0,children:V.t(`scroll.above`,{n:1})}),E.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:gf(n,f),children:[hf(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:[` `,Ro(n,x)]})]},n.id)}),E.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})})]})}function vf({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}=va(r??24),ee=Math.max(1,x-10);W(()=>m(0),[e.id,d]);let w=Math.max(8,n-dt.contentInset),T=[],te=[];if(d===`diff`)T=(e.diff??``).split(`
54
54
  `);else if(d===`prompt`)T=go(e.prompt??``,w);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=gc(r,w);i.length!==0&&(t.length>0&&t.push(``),t.push(...i))}T=t,te=e.streamText?dl(e.streamText,w-dt.borderInset,3):[]}let ne=d===`prompt`,re=d===`diff`,E=e=>e.startsWith(`+`)&&!e.startsWith(`+++`)?o.diffAdd:e.startsWith(`-`)&&!e.startsWith(`---`)?o.diffRemove:e.startsWith(`@@`)||e.startsWith(`diff --git`)?o.special:o.secondary,ie=e.status===`running`,D=H.useMemo(()=>{if(!_)return{flat:[],byLine:new Map};let e=[],t=new Map;for(let n=0;n<T.length;n++){let r=Pa(Hs(T[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}},[_,T]),O=Jo(T.length,ee,p),ae=T.slice(O.start,O.end),oe=_?ae.map((e,t)=>{let n=O.start+t,r=D.byLine.get(n);if(!r||r.length===0)return e;let i=y>=0?D.flat[y]:void 0;return Na(e,r,i&&i.line===n?i.range:void 0)}):ae,j=e.responseText?.split(`
55
55
  `)[0],[se,M]=K(!1);nf(e=>m(t=>Math.max(0,t+e)),[]),A(`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=>D.flat.length>0?(t+e+D.flat.length)%D.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(k,{header:J(Y,{flexDirection:`column`,children:[J(Y,{flexDirection:`row`,children:[J(X,{color:mf(e.status,o),children:[pf[e.status],` `]}),q(X,{color:o.secondary,bold:!0,children:rt(e.command,Math.max(12,n-12))}),q(L,{type:`secondary`,children:ie?` ${B.statusDot} ${V.t(`bg.live`)}`:` ${V.t(`status.done`)}`}),le&&J(L,{type:`secondary`,dim:!0,children:[` · `,le]})]}),j&&J(Y,{flexDirection:`column`,children:[J(L,{type:`secondary`,dim:!0,children:[` `,j,` `,q(X,{color:o.suggestion,children:`[d] ${se?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)}`})]}),se&&e.responseText&&q(Y,{flexDirection:`column`,marginTop:R.tight,children:e.responseText.split(`
56
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`,se?V.t(`hint.collapse`):V.t(`find.tabDiagnostics`)]]:[],[`+`,V.t(`hint.expandHeight`)],[`_`,V.t(`hint.collapseHeight`)],...T.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:D.flat.length})})}),q(X,{color:o.special,dimColor:!0,children:O.above>0?`↑ ${O.above}`:` `}),T.length===0?q(L,{type:`secondary`,dim:!0,children:V.t(`bg.noOutput`)}):oe.map((e,t)=>re?q(X,{color:E(e),wrap:`truncate-end`,children:e===``?` `:e},O.start+t):ne?q(X,{color:o.secondary,wrap:`truncate-end`,children:e===``?` `:e},O.start+t):q(X,{wrap:`truncate-end`,children:e===``?` `:e},O.start+t)),te.length>0&&q(Y,{flexDirection:`column`,children:te.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:O.below>0?`↓ ${O.below}`:` `})]})})}function yf(e){let t=e.agentStatus??`running`;return t===`running`||t===`ready`||t===`needs_input`}function bf(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 xf(e,t){return rt(e,Math.max(12,Math.min(48,t-46)))}function Sf({tasks:e,focused:n,now:r,onDismiss:i,onSwitch:a,onViewOutput:o,rows:s=24,columns:c=80}){let l=P(),[d,f]=_a(`subagents`,e.length),p=G(0),{expanded:m,handleExpandKey:h}=va(s);if(A(`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(yf).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=bf(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:xf(e.command,c)}),e.model&&J(L,{type:`secondary`,children:[` `,e.model,e.modelDecidedBy?` (${e.modelDecidedBy})`:``]}),J(L,{type:`secondary`,children:[` `,Ro(e,g)]})]},e.id)}),y.hasMoreBelow&&q(X,{dimColor:!0,children:V.t(`scroll.below`,{n:1})})]})]})}function Cf(e,t){return t===0?0:Math.max(0,Math.min(e,t-1))}function wf(e,t,n){let r=globalThis;r[`__ottoSchedule${e===`run`?`Run`:e===`toggle`?`Toggle`:`Remove`}Request`]=e===`toggle`?{taskId:t,...n}:t}function Tf({tasks:e,focused:n,onDismiss:r,rows:i=24,columns:a=80}){let o=P(),[s,c]=_a(`schedule`,e.length),l=G(0),{expanded:d,handleExpandKey:f}=va(i);if(A(`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`?(wf(`run`,i.id),!0):t===` `||t===`t`?(wf(`toggle`,i.id,{enabled:!i.enabled}),!0):t===`d`?(wf(`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=Cf(s,e.length),m=Math.min(32,Math.max(0,...e.map(e=>se(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 Ef({text:e,focused:n,columns:r=80,onDismiss:i,onOpenViewer:a}){let o=P();if(A(`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(`