@kodax-ai/kodax 0.7.66 → 0.7.67
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/CHANGELOG.md +108 -3
- package/README.md +40 -10
- package/README_CN.md +26 -9
- package/dist/chunks/{agent-KER4WDNO.js → agent-E4V5SLX6.js} +1 -1
- package/dist/chunks/argument-completer-N6RT5KYT.js +2 -0
- package/dist/chunks/{chunk-QJVZZSEO.js → chunk-AKMXJSGM.js} +1 -1
- package/dist/chunks/{chunk-WMIZCY2J.js → chunk-CW32NQFO.js} +1 -1
- package/dist/chunks/{chunk-ALS32RNZ.js → chunk-DEICMTHO.js} +9 -9
- package/dist/chunks/{chunk-VS4CDDEF.js → chunk-EN3O2C43.js} +221 -221
- package/dist/chunks/chunk-KBBGDRER.js +22 -0
- package/dist/chunks/chunk-NVDK375I.js +729 -0
- package/dist/chunks/chunk-QI6SQ2UQ.js +306 -0
- package/dist/chunks/{chunk-MHRN2LQV.js → chunk-RS2GAABJ.js} +17 -17
- package/dist/chunks/chunk-W2XMNYLK.js +15 -0
- package/dist/chunks/{chunk-QAQ2HNXD.js → chunk-WCSSXBHR.js} +126 -112
- package/dist/chunks/chunk-YH5BTUQO.js +343 -0
- package/dist/chunks/{compaction-config-7GMUFNPB.js → compaction-config-56NO42ZI.js} +1 -1
- package/dist/chunks/{construction-bootstrap-3XDS2D5K.js → construction-bootstrap-GLEHQ2KB.js} +1 -1
- package/dist/chunks/dist-4UIRSSFS.js +2 -0
- package/dist/chunks/host-DMREFNSO.js +2 -0
- package/dist/chunks/{run-manager-6CAH3KTA.js → run-manager-P5XMSGZ7.js} +1 -1
- package/dist/chunks/{utils-OT5ENFUL.js → utils-JENPFKAE.js} +1 -1
- package/dist/index.d.ts +15 -12
- package/dist/index.js +6 -6
- package/dist/kodax_cli.js +1237 -1214
- package/dist/runtime-worker.js +1147 -1118
- package/dist/sdk-agent.d.ts +27 -10
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +277 -16
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-repl.d.ts +23 -14
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-runtime.d.ts +99 -11
- package/dist/sdk-runtime.js +1 -1
- package/dist/sdk-session.d.ts +4 -4
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/semantic-worker.js +11 -11
- package/dist/types-chunks/{bash-prefix-extractor.d-BjkITAva.d.ts → bash-prefix-extractor.d-D57Gt6n8.d.ts} +44 -9
- package/dist/types-chunks/{capsule.d-hVhPNkHd.d.ts → capsule.d-BZmqu_HL.d.ts} +2 -2
- package/dist/types-chunks/{commands.d-C3B1TdGM.d.ts → commands.d-Cg26ud-Y.d.ts} +4 -4
- package/dist/types-chunks/{guardrail.d-C_Siraua.d.ts → guardrail.d-Ds7JHxR1.d.ts} +1 -1
- package/dist/types-chunks/{guardrail.d-wk-s0psS.d.ts → guardrail.d-vSaBe64I.d.ts} +2 -2
- package/dist/types-chunks/{public-api.d-jtREVfEq.d.ts → public-api.d-CPBMPDiU.d.ts} +8 -2
- package/dist/types-chunks/{run-manager.d-CFknOfo1.d.ts → run-manager.d-lnwnfyNC.d.ts} +1 -1
- package/dist/types-chunks/{sdk-session-CLqyfAmf.d.ts → sdk-session-ByoMLoUS.d.ts} +3 -3
- package/dist/types-chunks/{process.d-CY2g03Mb.d.ts → types.d-DG9B4SMm.d.ts} +369 -4
- package/dist/types-chunks/{types.d-BMLxKV69.d.ts → types.d-DU9lLkmE.d.ts} +1 -1
- package/dist/types-chunks/{types.d-CUN_bZU7.d.ts → types.d-DYv3a1ka.d.ts} +2 -2
- package/dist/types-chunks/{utils.d-C1rpoeDh.d.ts → utils.d-DMI-9GTR.d.ts} +8 -4
- package/docs/SDK_EMBEDDER_GUIDE.md +3079 -0
- package/package.json +2 -1
- package/dist/chunks/argument-completer-HK3MHA3K.js +0 -2
- package/dist/chunks/chunk-3HKBBY74.js +0 -339
- package/dist/chunks/chunk-AKBH2EEE.js +0 -8
- package/dist/chunks/chunk-NBQW7PNZ.js +0 -18
- package/dist/chunks/chunk-TLJGOKBT.js +0 -729
- package/dist/chunks/chunk-WBBEJIAY.js +0 -306
- package/dist/chunks/dist-4YAYT2TO.js +0 -2
- package/dist/chunks/host-KG3456QP.js +0 -2
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
+
import{$ as Dc,A as Gw,Aa as Xm,B as Ks,Ba as mT,C as Td,D as Vw,Da as qm,E as $c,Ea as Pd,F as Vm,Fa as hT,G as zw,Ga as gT,H as Km,I as Ro,J as Cd,K as zs,L as Id,M as bd,N as Yw,O as Xw,P as Ys,Q as qw,R as ko,S as Jw,T as Er,U as vd,V as Rd,W as Un,X as Mr,Y as zm,Z as wi,_ as Eo,a as ar,aa as kd,b as j,ba as Qw,c as qM,ca as Zw,d as un,da as eT,e as md,ea as tT,f as Iw,fa as nT,g as gn,ga as rT,h as Ns,ha as Ed,i as hd,ia as Md,j as Qr,ja as Oc,k as Bs,ka as Ad,l as bw,la as _d,m as Hs,ma as Ld,n as eo,na as oT,o as Hw,oa as iT,p as to,pa as sT,q as Gs,qa as Ym,r as Ww,ra as aT,s as Vs,sa as cT,t as xd,ta as lT,u as Fw,ua as uT,v as jw,va as dT,w as Uw,wa as fT,x as vo,xa as pT,y as Sd,ya as Ti,z as wd,za as Ci}from"./chunk-EN3O2C43.js";import{A as $w,B as Dw,C as Ow,D as Nw,G as gd,H as Si,I as yd,J as Ws,K as Fs,L as js,M as Us,N as Zr,R as Bw,a as re,b as vw,c as bo,d as Rw,e as kw,f as Ew,h as Mw,i as Aw,j as yi,k as Ln,p as _w,u as Lw,v as kr,w as xi,z as Pw}from"./chunk-AKMXJSGM.js";import{a as Kw}from"./chunk-CW32NQFO.js";import{e as yT,f as xT,g as ST}from"./chunk-QJJKMNZF.js";import{Ea as fd,Fa as pd,I as yw,J as xw,L as Gm,M as Sw,N as ww,Z as Tw,c as Fm,ta as Cw,u as gw,v as Pc,wa as dd}from"./chunk-WCSSXBHR.js";import{J as fw}from"./chunk-KBBGDRER.js";import{a as Lc,b as JS,ia as pw,ja as mw,p as dw}from"./chunk-RS2GAABJ.js";import{Ea as cw,Fa as ld,Ga as lw,Ua as uw,Z as cd,e as Os,ka as aw,sd as ud,vd as hw}from"./chunk-YH5BTUQO.js";import{Ja as hi,ha as Zu,ta as XS,va as Wm,wa as qS}from"./chunk-O7N22GJ3.js";import{Ad as gi,Bd as iw,Cb as nw,Db as rw,Fa as ZS,Id as id,Jd as Ds,Td as sw,Ua as jm,Va as Rr,Wd as sd,Xd as ad,Ya as Um,dc as td,ec as nd,gd as Ms,k as Es,lb as ew,ld as ow,n as hn,od as Ot,qb as ed,qd as Nt,sb as tw,sd as As,td as _s,ud as rd,wd as Ls,xd as Ps,ya as QS,yd as $s,za as vr,zd as od}from"./chunk-NVDK375I.js";import{B as jn}from"./chunk-PZTG2C33.js";import{a as o,c as XM}from"./chunk-ONUPGMER.js";import{spawnSync as JM}from"node:child_process";function $d(e){return e==="1"||e?.toLowerCase()==="true"}o($d,"isTruthyEnv");function wT(e){return e==="0"||e?.toLowerCase()==="false"}o(wT,"isFalseyEnv");function Ii(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(Ii,"isVsCodeTerminalHostEnv");function bi(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(bi,"hasCursorUpViewportYankRisk");function QM(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(QM,"isSshSession");function Xs(e={}){let t=e.env??process.env;return $d(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&QM(t)}o(Xs,"isRemoteConptyHost");function vi(e={}){let t=e.env??process.env;return bi(e)||Ii(t)}o(vi,"hasMainScreenRenderScrollRisk");function ZM(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(ZM,"isTmuxControlModeEnvHeuristic");var no;function qs(e={}){if(typeof e.tmuxControlMode=="boolean")return e.tmuxControlMode;let t=e.env??process.env,n=e.platform??process.platform;if(n==="win32")return!1;if(ZM(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(no!==void 0||(no=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return no;try{let i=JM("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(no=i.stdout.trim()==="1")}catch{no=!1}return no}o(qs,"isTmuxControlMode");function Dd(){no=void 0}o(Dd,"resetTmuxControlModeProbeForTesting");function Mo(e={}){let t=e.env??process.env,n=e.isTTY??process.stdout.isTTY===!0,r=e.rawModeSupported??(process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function");return!n||!r||t.TERM==="dumb"||t.CI==="true"?"unsupported_control_host":qs(e)?"tmux_control_mode":Ii(t)?"xtermjs_host":Xs(e)?"remote_conpty_host":bi(e)?"degraded_vt":"native_vt"}o(Mo,"detectTerminalRenderHost");var Ao=Mo;function Ri(e={}){let t=e.env??process.env;if($d(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Ri,"resolveConfiguredTuiRendererMode");function _o(e={}){let t=Ri(e);if(t==="legacy"||t==="owned")return t;let n=Mo(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(_o,"resolveEffectiveTuiRendererMode");function Nc(e={}){let t=e.env??process.env;if($d(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Ri({env:t});if(n==="legacy"||n==="owned")return"ink";let r=Mo(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Nc,"resolveInteractiveSurfacePreference");var eA={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},TT={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function Lo(e,t="owned",n={}){let r=n.env??process.env;return wT(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?TT:eA:tA(e,t)}o(Lo,"resolveFullscreenPolicy");function tA(e,t){if(t==="legacy")switch(e){case"native_vt":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":case"degraded_vt":case"remote_conpty_host":return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1};default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}switch(e){case"native_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"xtermjs_host":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"degraded_vt":return{enabled:!0,promptShell:"virtual",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!0,transcriptSpinnerAnimation:!0};case"remote_conpty_host":return TT;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(tA,"buildFullscreenPolicy");function ki(e,t={}){let n=t.rendererMode??"owned",r=Lo(e,n,{env:t.env}),i=e!=="unsupported_control_host"&&e!=="tmux_control_mode";return{profile:e,ownsViewportByDefault:r.enabled&&r.promptShell==="virtual",supportsMouseTracking:r.mouseWheel||r.mouseClicks,bufferingMode:r.streamingPreview?"live":"buffered-fallback",supportsFullscreenLayout:r.enabled,supportsOverlaySurface:r.enabled,supportsSelection:i,supportsCopyOnSelect:!1,supportsWheelHistory:r.mouseWheel,supportsViewportChrome:r.enabled,supportsSearchViewport:r.enabled,supportsStickyPrompt:r.enabled}}o(ki,"getTerminalHostCapabilities");function Bc(e={}){return _o(e)==="owned"}o(Bc,"isOwnedRendererPreferred");function Hc(e={}){let t=e.env??process.env;return $d(t.KODAX_FORCE_CLASSIC_REPL)&&!wT(t.KODAX_FORCE_CLASSIC_REPL)}o(Hc,"isClassicReplForced");var Ei=class{static{o(this,"LRUCache")}capacity;cache;constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let n=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,n),n}set(t,n){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(t,n)}has(t){return this.cache.has(t)}delete(t){return this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}},Jm=1,Qm=2,nA=1e3,CT;function Nd(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return CT??=new Intl.Segmenter("en",{granularity:"grapheme"}),CT}o(Nd,"getGraphemeSegmenter");function yn(e){if(!e)return 0;let t=Nd();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(yn,"getCodePointLength");function cr(e){if(!e)return!1;let t=e.codePointAt(0);return t===void 0?!1:t>=19968&&t<=40959||t>=13312&&t<=19903||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=12288&&t<=12351||t>=65280&&t<=65519||t>=128512&&t<=128591||t>=127744&&t<=128511||t>=128640&&t<=128767||t>=127456&&t<=127487||t>=9728&&t<=9983||t>=9984&&t<=10175||t>=129280&&t<=129535||t>=129536&&t<=129647||t>=129648&&t<=129791}o(cr,"isWideChar");function lr(e){if(!e)return 0;let t=0,n=Nd();if(n)for(let r of n.segment(e))t+=cr(r.segment)?Qm:Jm;else for(let r of e)t+=cr(r)?Qm:Jm;return t}o(lr,"getVisualWidth");function IT(e,t){if(!e||t<0)return"";let n=Nd();if(n){let i=0;for(let s of n.segment(e)){if(i===t)return s.segment;i++}return""}let r=[...e];return t>=r.length?"":r[t]}o(IT,"getCharAtCodePoint");function dn(e){if(!e)return[];let t=Nd();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(dn,"splitByCodePoints");function rA(e,t,n){return dn(e).slice(t,n).join("")}o(rA,"sliceByCodePoints");function bT(e,t){let n=Math.max(0,t),r=dn(e),i=0,s=0;for(;i<r.length;){let a=cr(r[i])?Qm:Jm;if(s+a>n)break;s+=a,i++}return{before:r.slice(0,i).join(""),current:r[i]??"",after:r.slice(i+1).join("")}}o(bT,"splitAtVisualColumn");function Js(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=dn(e);for(let d of l){let f=cr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(Js,"truncateByVisualWidth");var Od=new Ei(nA);function Bd(e){let t=Od.get(e);if(t!==void 0)return t;let n=lr(e);return Od.set(e,n),n}o(Bd,"getVisualWidthCached");function fn(e,t,n,r){let i=[],s=[],a=[];for(let c=0;c<e.length;c++){let l=e[c]||"";if(s[c]=[],l.length===0){i.push("");let p=i.length-1;s[c].push([p,0]),a.push([c,0]);continue}let d=0,f=dn(l);for(;d<f.length;){let p="",m=0,h=d,S=-1;for(let C=d;C<f.length;C++){let R=f[C],T=cr(R)?2:1;if(m+T>t){S>=0&&C-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((w,M)=>w+(cr(M)?2:1),0),h=S):p.length===0&&T>t&&(p=R,m=T,h=C+1);break}p+=R,m+=T,h=C+1,R===" "&&(S=C+1)}if(p.length>0||i.length===0){let C=d,R=i.length;i.push(p),s[c].push([R,C]),a.push([c,C])}d=h}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(fn,"calculateVisualLayout");function Hd(e,t){let{logicalToVisualMap:n,visualLines:r}=e;if(r.length===0)return[0,0];let[i,s]=t,a=n[i];if(!a||a.length===0)return[0,0];let c;for(let[h,S]of a)if(S<=s)c=[h,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=lr(rA(f,0,p));return[l,m]}o(Hd,"calculateVisualCursorFromLayout");var Wd={name:"dark",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:">",success:"\u2713",error:"\u2717",warning:"!",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}},Zm={name:"minimal",colors:{primary:"#01A4FF",secondary:"#8B5CF6",accent:"#F59E0B",text:"#CCCCCC",dim:"#666666",thinking:"#A3ADC2",success:"#19C37D",warning:"#FF9F43",error:"#FF5F56",info:"#01A4FF",hint:"#8B5CF6",background:"#0D0D0D",inputBackground:"#1A1A1A"},symbols:{prompt:"$",success:"+",error:"-",warning:"?",spinner:["-","\\","|","/"]}};var eh={dark:Wd,minimal:Zm};function te(e="dark"){return eh[e]??Wd}o(te,"getTheme");function oA(){return Object.keys(eh)}o(oA,"getThemeNames");import{jsx as wn,jsxs as Vn,Fragment as fP}from"react/jsx-runtime";import{useMemo as xf}from"react";import{jsx as iI}from"react/jsx-runtime";import{createContext as FL,useContext as Oi,useEffect as sa,useMemo as oI,useState as jL,useCallback as sI,useRef as cf}from"react";import{Stream as yL}from"node:stream";import{openSync as xL,writeSync as KC}from"node:fs";import{performance as SL}from"node:perf_hooks";import{tmpdir as wL}from"node:os";import{join as TL}from"node:path";import th,{forwardRef as aA,useContext as cA}from"react";import{createContext as iA}from"react";var Qs=iA({isScreenReaderEnabled:!1});import{createContext as sA}from"react";var Fd=sA(void 0);var vT=aA(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=cA(Qs),d=n?th.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=th.createElement("ink-box",{ref:c,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:0,flexShrink:1,...a,backgroundColor:t,overflowX:a.overflowX??a.overflow??"visible",overflowY:a.overflowY??a.overflow??"visible"},internal_accessibility:{role:i,state:s}},l&&d?d:e);return t?th.createElement(Fd.Provider,{value:t},f):f});vT.displayName="Box";var Gn=vT;import fA,{useContext as RT}from"react";import Zs from"chalk";import Po from"chalk";var lA=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,uA=/^ansi256\(\s?(\d+)\s?\)$/;function dA(e){return e in Po}o(dA,"isNamedColor");function ur(e,t,n){if(!t)return e;if(dA(t)){let r=Po;if(n==="foreground")return r[t]?.(e)??e;let i=`bg${t[0].toUpperCase()+t.slice(1)}`;return r[i]?.(e)??e}if(t.startsWith("#"))return n==="foreground"?Po.hex(t)(e):Po.bgHex(t)(e);if(t.startsWith("ansi256")){let r=uA.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?Po.ansi256(i)(e):Po.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=lA.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?Po.rgb(i,s,a)(e):Po.bgRgb(i,s,a)(e)}return e}o(ur,"colorize");function xn({color:e,backgroundColor:t,dimColor:n=!1,bold:r=!1,italic:i=!1,underline:s=!1,strikethrough:a=!1,inverse:c=!1,wrap:l="wrap",children:d,"aria-label":f,"aria-hidden":p=!1,internal_cursorAnchor:m=!1}){let{isScreenReaderEnabled:h}=RT(Qs),S=RT(Fd),C=h&&f?f:d;if(C==null)return null;let R=o(T=>{let w=T;n&&(w=Zs.dim(w)),e&&(w=ur(w,e,"foreground"));let M=t??S;return M&&(w=ur(w,M,"background")),r&&(w=Zs.bold(w)),i&&(w=Zs.italic(w)),s&&(w=Zs.underline(w)),a&&(w=Zs.strikethrough(w)),c&&(w=Zs.inverse(w)),w},"transform");return h&&p?null:fA.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:R,...m?{internal_cursorAnchor:!0}:{}},h&&f?f:d)}o(xn,"Text");import pA,{useLayoutEffect as mA,useMemo as kT,useState as hA}from"react";function nh({items:e,children:t,style:n}){let[r,i]=hA(0),s=kT(()=>e.slice(r),[e,r]);mA(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=kT(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return pA.createElement("ink-box",{internal_static:!0,style:c},a)}o(nh,"Static");import $i from"node:process";import UC from"react";import{throttle as Q_}from"es-toolkit/compat";import Sn from"ansi-escapes";import lo from"is-in-ci";import Z_ from"auto-bind";import{onExit as eL}from"signal-exit";import tL from"patch-console";import{LegacyRoot as nL,ConcurrentRoot as rL}from"react-reconciler/constants.js";import oL from"yoga-layout";import iL from"wrap-ansi";import sL from"terminal-size";import gA from"node:process";var jd=o(()=>gA.env.DEV==="true","isDev");import UA from"react-reconciler";import{DefaultEventPriority as GA,NoEventPriority as UT}from"react-reconciler/constants.js";import*as $o from"scheduler";import HT from"yoga-layout";import{createContext as VA}from"react";import _A from"yoga-layout";import yA from"widest-line";var ET=new Map,xA=o(e=>{if(e.length===0)return{width:0,height:0};let t=ET.get(e);if(t)return t;let n=yA(e),r=e.split(`
|
|
3
|
+
`).length,i={width:n,height:r};return ET.set(e,i),i},"measureText"),rh=xA;import SA from"wrap-ansi";import wA from"cli-truncate";var MT={},TA=o((e,t,n)=>{let r=e+String(t)+String(n),i=MT[r];if(i)return i;let s=e;if(n==="wrap"&&(s=SA(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=wA(e,t,{position:a})}return MT[r]=s,s},"wrapText"),Ud=TA;var CA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),IA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),bA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),LT=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),vA=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),PT=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),AT=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!CA(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!IA(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!bA(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),_T=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),RA=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!LT(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!vA(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),kA=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),EA=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),oh=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(PT(t))return!0;return!1},"hasAnsiControlCharacters"),ea=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),$T=o(e=>{if(!oh(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return ea(t,e,n,r);if(a==="["){let d=AT(e,r+2);if(d===void 0)return ea(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=kA(a);if(c!==void 0){let d=_T(e,r+2,c.allowBellTerminator);if(d===void 0)return ea(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=RA(e,r+1);if(l===void 0){if(LT(a))return ea(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=AT(e,r+1);if(a===void 0)return ea(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=EA(i);if(s!==void 0){let a=_T(e,r+1,s.allowBellTerminator);if(a===void 0)return ea(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(PT(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var MA=/^[\d:;]*$/,AA=o(e=>{if(!oh(e))return e;let t="";for(let n of $T(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&MA.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),DT=AA;var OT=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=OT(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return DT(t)},"squashTextNodes"),Wc=OT;var Gd=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:_A.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(LA.bind(null,t)),t},"createNode"),Vd=o((e,t)=>{t.parentNode&&Fc(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Kd(e)},"appendChildNode"),ih=o((e,t,n)=>{t.parentNode&&Fc(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Kd(e)},"insertBeforeNode"),Fc=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Kd(e)},"removeChildNode"),sh=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),ah=o((e,t)=>{e.style=t},"setStyle"),NT=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return jc(t,e),t},"createTextNode"),LA=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Wc(e),r=rh(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Ud(n,t,i);return rh(s)},"measureTextNode"),BT=o(e=>{if(e?.parentNode)return e.yogaNode??BT(e.parentNode)},"findClosestYogaNode"),Kd=o(e=>{BT(e)?.markDirty()},"markNodeAsDirty"),jc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Kd(e)},"setTextNodeValue");import be from"yoga-layout";var $A=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?be.POSITION_TYPE_ABSOLUTE:be.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(be.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(be.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(be.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(be.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),DA=o((e,t)=>{"margin"in t&&e.setMargin(be.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(be.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(be.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(be.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(be.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(be.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(be.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),OA=o((e,t)=>{"padding"in t&&e.setPadding(be.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(be.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(be.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(be.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(be.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(be.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(be.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),NA=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(be.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(be.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(be.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(be.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(be.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(be.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(be.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(be.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(be.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(be.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(be.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(be.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(be.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(be.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(be.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(be.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(be.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(be.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(be.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(be.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(be.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),BA=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),HA=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?be.DISPLAY_FLEX:be.DISPLAY_NONE)},"applyDisplayStyles"),WA=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(be.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(be.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(be.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(be.EDGE_RIGHT,n)}},"applyBorderStyles"),FA=o((e,t)=>{"gap"in t&&e.setGap(be.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(be.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(be.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),jA=o((e,t={})=>{$A(e,t),DA(e,t),OA(e,t),NA(e,t),BA(e,t),HA(e,t),WA(e,t),FA(e,t)},"styles"),ch=jA;if(jd())try{await import("./devtools-CD6KSIHE.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
4
|
+
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
5
|
+
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
6
|
+
|
|
7
|
+
To install use this command:
|
|
8
|
+
|
|
9
|
+
$ npm install --save-dev react-devtools-core
|
|
10
|
+
`.trim()+`
|
|
11
|
+
`);else throw e}var WT=o((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(n[i]=void 0,r=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(n[i]=t[i],r=!0);return r?n:void 0},"diff"),FT=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),zd=UT,lh,jT={name:void 0,version:void 0},ro=UA({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:o(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let i=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=Gd(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){ah(s,c),s.yogaNode&&ch(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_cursorAnchor"){s.internal_cursorAnchor=c;continue}if(a==="internal_static"){lh=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}sh(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return NT(e)},resetTextContent(){},hideTextInstance(e){jc(e,"")},unhideTextInstance(e,t){jc(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(HT.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(HT.DISPLAY_FLEX)},appendInitialChild:Vd,appendChild:Vd,insertBefore:ih,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:$o.unstable_scheduleCallback,cancelCallback:$o.unstable_cancelCallback,shouldYield:$o.unstable_shouldYield,now:$o.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Vd,insertInContainerBefore:ih,removeChildFromContainer(e,t){Fc(e,t),FT(t.yogaNode)},commitUpdate(e,t,n,r){lh&&e.internal_static&&(lh.isStaticDirty=!0);let i=WT(n,r),s=WT(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){ah(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_cursorAnchor"){e.internal_cursorAnchor=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}sh(e,a,c)}s&&e.yogaNode&&ch(e.yogaNode,s)}},commitTextUpdate(e,t,n){jc(e,n)},removeChild(e,t){Fc(e,t),FT(t.yogaNode)},setCurrentUpdatePriority(e){zd=e},getCurrentUpdatePriority:o(()=>zd,"getCurrentUpdatePriority"),resolveUpdatePriority(){return zd!==UT?zd:GA},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:VA(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:jT.name,rendererVersion:jT.version});import qA from"widest-line";import JA from"indent-string";import Do from"yoga-layout";import Yd from"yoga-layout";var KA=o(e=>e.getComputedWidth()-e.getComputedPadding(Yd.EDGE_LEFT)-e.getComputedPadding(Yd.EDGE_RIGHT)-e.getComputedBorder(Yd.EDGE_LEFT)-e.getComputedBorder(Yd.EDGE_RIGHT),"getMaxWidth"),GT=KA;import zA from"cli-boxes";import Xd from"chalk";var YA=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?zA[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,C=n.style.borderTop!==!1,R=n.style.borderBottom!==!1,T=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=i-(T?1:0)-(w?1:0),P=C?ur((T?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;C&&p&&(P=Xd.dim(P));let $=s;C&&($-=1),R&&($-=1);let H=(ur(a.left,d,"foreground")+`
|
|
12
|
+
`).repeat($);h&&(H=Xd.dim(H));let U=(ur(a.right,f,"foreground")+`
|
|
13
|
+
`).repeat($);S&&(U=Xd.dim(U));let W=R?ur((T?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;R&&m&&(W=Xd.dim(W));let J=C?1:0;P&&r.write(e,t,P,{transformers:[]}),T&&r.write(e,t+J,H,{transformers:[]}),w&&r.write(e+i-1,t+J,U,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),VT=YA;var XA=o((e,t,n,r)=>{if(!n.style.backgroundColor)return;let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=i-a-c,p=s-l-d;if(!(f>0&&p>0))return;let m=ur(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),KT=XA;function qd(e){let{rawScrollTop:t,contentHeight:n,viewportHeight:r,previousScrollHeight:i,stickyScroll:s,clampMin:a,clampMax:c,virtualScrollWindowed:l,inWindowScrollTop:d,previousAppliedScrollTop:f,regionTop:p}=e,m=Math.max(0,n-r),h=Math.max(0,Math.min(Math.floor(t),m)),C=s&&n>=i?m:h,R=a!==void 0||c!==void 0?Math.max(a??0,Math.min(C,Math.min(m,c??m))):C,T=l&&d!==void 0,w=Math.max(0,Math.floor(d??0)),M=l?T?w:0:R,P=T?M:R,$=null;if(f!==void 0&&f!==P&&r>0){let H=p+r-1;H>=p&&($={top:p,bottom:H,delta:P-f})}return{scrollHeight:n,viewportTop:R,appliedScrollTop:P,scrollTop:R,scrollOffsetY:M,scrollHint:$}}o(qd,"computeScrollState");var QA=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
14
|
+
`.repeat(i)+JA(t,r)}return t},"applyPaddingToText"),Jd=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Do.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Wc(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
|
|
15
|
+
`;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Jd(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),uh=null,dh=null;function zT(){uh=null,dh=null}o(zT,"resetScrollHint");function YT(){return uh}o(YT,"getScrollHint");function XT(){return dh}o(XT,"getScrollRepaint");var qT=o((e,t,n)=>{let{offsetX:r=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Do.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=i+c.getComputedTop();e.internal_cursorAnchor&&(t.cursorPosition={x:l,y:d});let f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Wc(e);if(h.length>0){let S=qA(h),C=GT(c);if(S>C){let R=e.style.textWrap??"wrap";h=Ud(h,C,R)}h=QA(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){KT(l,d,e,t),VT(l,d,e,t);let h=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,C=h==="hidden"||h==="scroll",R=S==="hidden"||S==="scroll";if(S==="scroll"){let T=c.getComputedBorder(Do.EDGE_TOP),w=c.getComputedBorder(Do.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-T-w),P=e.attributes?.virtualScrollWindowed===!0,$=e.childNodes[0],H=Math.max(0,Math.floor(P?e.attributes?.scrollHeight??0:$?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),U=typeof e.scrollHeight=="number"?e.scrollHeight:H,W=qd({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:H,viewportHeight:M,previousScrollHeight:U,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:P,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+T});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(uh=W.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(dh={top:W.scrollHint.top,bottom:W.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=W.scrollTop,m=W.scrollOffsetY}if(C||R){let T=C?l+c.getComputedBorder(Do.EDGE_LEFT):void 0,w=C?l+c.getComputedWidth()-c.getComputedBorder(Do.EDGE_RIGHT):void 0,M=R?d+c.getComputedBorder(Do.EDGE_TOP):void 0,P=R?d+c.getComputedHeight()-c.getComputedBorder(Do.EDGE_BOTTOM):void 0;t.clip({x1:T,x2:w,y1:M,y2:P}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)qT(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),fh=qT;import ZA from"slice-ansi";import e_ from"string-width";import{styledCharsFromTokens as t_,styledCharsToString as n_,tokenize as r_}from"@alcalzone/ansi-tokenize";var ph=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=t_(r_(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=e_(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let i of t.split(`
|
|
16
|
+
`))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},ta=class{static{o(this,"Output")}width;height;operations=[];caches=new ph;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,l=i.split(`
|
|
17
|
+
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(i);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let S=a<d.x1?d.x1-a:0,C=this.caches.getStringWidth(h),R=a+C>d.x2?d.x2-a:C;return ZA(h,S,R)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,S=l.length,C=c+S>d.y2?d.y2-c:S;l=l.slice(h,C),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let R of s)m=R(m,p);let S=this.caches.getStyledChars(m),C=a;for(let R of S){h[C]=R;let T=Math.max(1,this.caches.getStringWidth(R.value));if(T>1)for(let w=1;w<T;w++)h[C+w]={type:"char",value:"",fullWidth:!1,styles:R.styles};C+=T}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return n_(i).trimEnd()}).join(`
|
|
18
|
+
`),height:t.length}}};var _r={Single:0,Wide:1,SpacerTail:2},Ar={char:" ",width:_r.Single,style:"",hyperlink:void 0};function JT(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Ar);return{width:e,height:t,cells:n}}o(JT,"createScreen");function Mi(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}o(Mi,"cellAt");function QT(e,t){if(e<0||t<0)throw new RangeError(`Screen dimensions must be non-negative (got width=${e}, height=${t})`);let n=new Array(e*t).fill(Ar),r=!1;return{width:e,height:t,setCellAt(i,s,a){if(r)throw new Error("ScreenBuilder.setCellAt called after build()");if(i<0||s<0||i>=e||s>=t)throw new RangeError(`ScreenBuilder.setCellAt out of bounds: (${i}, ${s}) on ${e}x${t}`);n[s*e+i]=a},build(){if(r)throw new Error("ScreenBuilder.build called twice");return r=!0,{width:e,height:t,cells:n}}}}o(QT,"createScreenBuilder");function*Qd(e,t){let n=Math.max(e.width,t.width),r=Math.max(e.height,t.height);for(let i=0;i<r;i++)for(let s=0;s<n;s++){let a=Mi(e,s,i),c=Mi(t,s,i);o_(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(Qd,"diffEach");function ZT(e,t,n,r){if(r===0||e.height===0)return e;let i=Math.max(0,t),s=Math.min(e.height-1,n);if(i>s)return e;let a=e.width,c=e.cells.slice(),l=s-i+1,d=o(f=>{for(let p=0;p<a;p++)c[f*a+p]=Ar},"blankRow");if(Math.abs(r)>=l){for(let f=i;f<=s;f++)d(f);return{...e,cells:c}}if(r>0){for(let f=i;f<=s-r;f++)for(let p=0;p<a;p++)c[f*a+p]=e.cells[(f+r)*a+p]??Ar;for(let f=s-r+1;f<=s;f++)d(f)}else{let f=-r;for(let p=s;p>=i+f;p--)for(let m=0;m<a;m++)c[p*a+m]=e.cells[(p-f)*a+m]??Ar;for(let p=i;p<=i+f-1;p++)d(p)}return{...e,cells:c}}o(ZT,"shiftRowsRegion");function o_(e,t){return e===t?!0:e===void 0||t===void 0?!1:e.char===t.char&&e.width===t.width&&e.style===t.style&&e.hyperlink===t.hyperlink}o(o_,"cellsEqual");var mh="\x1B]8;";function i_(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(i_,"stripOsc8Terminator");function s_(e){if(!e.startsWith(mh))return;let t=e.slice(mh.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),i=i_(r);return i.length>0?i:void 0}o(s_,"parseOsc8Url");function a_(e){if(e.value==="")return{char:"",width:_r.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(mh)){let i=s_(r.code);i!==void 0&&(n=i)}else t+=r.code;return{char:e.value,width:e.fullWidth?_r.Wide:_r.Single,style:t,hyperlink:n}}o(a_,"styledCharToCell");function Zd(e){let t=e.getGrid(),n=e.width,r=e.height,i=QT(n,r),s=Math.min(t.length,r);for(let a=0;a<s;a++){let c=t[a];if(!c)continue;let l=Math.min(c.length,n);for(let d=0;d<l;d++){let f=c[d];if(!f)continue;let p=a_(f);p.char===Ar.char&&p.width===Ar.width&&p.style===Ar.style&&p.hyperlink===Ar.hyperlink||i.setCellAt(d,a,p)}}return i.build()}o(Zd,"outputToScreen");var c_=o((e,t,n)=>{if(e.yogaNode){if(t){let m=Jd(e,{skipStaticElements:!0}),h=m===""?0:m.split(`
|
|
19
|
+
`).length,S="";return e.staticNode&&(S=Jd(e.staticNode,{skipStaticElements:!1})),{output:m,outputHeight:h,staticOutput:S?`${S}
|
|
20
|
+
`:"",frame:void 0}}let r=new ta({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});zT(),fh(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new ta({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),fh(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Zd(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f=r.cursorPosition,p={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!1},scrollHint:YT(),scrollRepaint:XT(),...f?{inputCursor:{x:f.x,y:f.y}}:{}};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
|
|
21
|
+
`:"",frame:p}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),hh=c_;function Pn(...e){if(e.length===0)return"\x1B[";if(e.length===1)return`\x1B[${e[0]}`;let t=e.slice(0,-1),n=e[e.length-1];return`\x1B[${t.join(";")}${n}`}o(Pn,"csi");function eC(e=1){return e===0?"":Pn(e,"A")}o(eC,"cursorUp");function l_(e=1){return e===0?"":Pn(e,"B")}o(l_,"cursorDown");function u_(e=1){return e===0?"":Pn(e,"C")}o(u_,"cursorForward");function d_(e=1){return e===0?"":Pn(e,"D")}o(d_,"cursorBack");function tC(e){return Pn(e,"G")}o(tC,"cursorTo");var f_=Pn("G"),nC=Pn("H");function rC(e,t){let n="";return e<0?n+=d_(-e):e>0&&(n+=u_(e)),t<0?n+=eC(-t):t>0&&(n+=l_(t)),n}o(rC,"cursorMove");var gh=Pn(2,"K");function oC(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=gh,n<e-1&&(t+=eC(1));return t+=f_,t}o(oC,"eraseLines");var iC=Pn("r"),sC="\x1B7",aC="\x1B8";function cC(e,t){return Pn(e,t,"r")}o(cC,"setScrollRegion");function lC(e=1){return Pn(e,"S")}o(lC,"scrollUp");function uC(e=1){return Pn(e,"T")}o(uC,"scrollDown");var Uc=Pn(0,"m");function dC(e){return`\x1B]${e.join(";")}\x07`}o(dC,"osc");function p_(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}o(p_,"osc8Id");function Gc(e,t){if(!e)return na;let n={id:p_(e),...t??{}},r=Object.entries(n).map(([i,s])=>`${i}=${s}`).join(":");return dC(["8",r,e])}o(Gc,"link");var na=dC(["8","",""]);function yh(e){let{screen:t}=e;if(t.width===0||t.height===0)return[];let n=[],r="",i;for(let s=0;s<t.height;s++){let a="";for(let c=0;c<t.width;c++){let l=Mi(t,c,s);!l||l.width===_r.SpacerTail||(l.hyperlink!==i&&(i!==void 0&&(a+=na),l.hyperlink!==void 0&&(a+=Gc(l.hyperlink)),i=l.hyperlink),l.style!==r&&(r!==""&&(a+=Uc),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}i!==void 0&&(a+=na,i=void 0),r!==""&&(a+=Uc,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
|
|
22
|
+
`)}]}o(yh,"renderFullFrame");var m_=Object.freeze([]),h_=Object.freeze([]);function Ai(e,t){if(e===t)return{patches:m_,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:Uc}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}o(Ai,"transitionStyle");function Kc(e,t){let n=Ai(e,t),r="";for(let i of n.patches)i.type==="stdout"&&(r+=i.content);return{str:r,current:n.current}}o(Kc,"transitionStyleStr");function oo(e,t){if(e===t)return{patches:h_,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:na}),t!==void 0&&n.push({type:"stdout",content:Gc(t)}),{patches:n,current:t}}o(oo,"transitionHyperlink");function fC(e){let t=e.codePointAt(0);if(t===void 0)return!1;if(t>=129648&&t<=129791||t>=129792&&t<=130047)return!0;if(e.length>=2){for(let n=0;n<e.length;n++)if(e.charCodeAt(n)===65039)return!0}return!1}o(fC,"needsWidthCompensation");var _i=class{static{o(this,"VirtualScreen")}viewportWidth;cursor;diff;_cursorMut;_diffMut=[];constructor(t,n){this.viewportWidth=n,this._cursorMut={x:t.x,y:t.y},this.cursor=this._cursorMut,this.diff=this._diffMut}txn(t){let[n,r]=t(this.cursor);for(let i of n)this._diffMut.push(i);this._cursorMut.x+=r.dx,this._cursorMut.y+=r.dy}},io={type:"carriageReturn"},Vc={type:"stdout",content:`
|
|
23
|
+
`};function zc(e,t,n){let r=t.width===_r.Wide?2:1,i=e.viewportWidth,s=!1;return e.txn(a=>{let c=a.x;if(r===2&&c<i){let f=t.char.length>2?i:i+1;if(c+2>=f)return[[],{dx:0,dy:0}]}let l=[];n.length>0&&l.push({type:"stdout",content:n});let d=r===2&&fC(t.char);return d&&c+1<i&&(l.push({type:"cursorTo",col:c+2}),l.push({type:"stdout",content:" "}),l.push({type:"cursorTo",col:c+1})),l.push({type:"stdout",content:t.char}),d&&l.push({type:"cursorTo",col:c+r+1}),s=!0,c>=i?[l,{dx:r-c,dy:1}]:[l,{dx:r,dy:0}]}),s}o(zc,"writeCellWithStyleStr");function Li(e,t,n){e.txn(r=>{let i=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[io,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[io,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(Li,"moveCursorTo");function Yc(e,t,n,r,i=!1){let s="",a;for(let c=n;c<r;c++){if(e.cursor.y<c){let p=c-e.cursor.y;e.txn(m=>{let h=new Array(1+p);h[0]=io;for(let S=0;S<p;S++)h[1+S]=Vc;return[h,{dx:-m.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let m=Mi(t.screen,p,c);if(!m||m.width===_r.SpacerTail||m.char===" "&&m.style===""&&m.hyperlink===void 0)continue;Li(e,p,c);let h=oo(a,m.hyperlink);for(let C of h.patches)e.txn(()=>[[C],{dx:0,dy:0}]);a=h.current;let S=Kc(s,m.style);zc(e,m,S.str)&&(s=S.current)}let l=Ai(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=oo(a,void 0);for(let p of d.patches)e.txn(()=>[[p],{dx:0,dy:0}]);a=d.current;let f=c===r-1&&t.screen.height<=t.viewport.height&&(c+1>=t.viewport.height||i);e.txn(p=>f?[[io],{dx:-p.x,dy:0}]:[[io,Vc],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=Ai(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=oo(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}o(Yc,"renderFrameSlice");function xh(e,t,n,r){let i=Math.max(0,Math.floor(n)),s=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(r));for(let a=i;a<=s;a++)g_(e,t,a)}o(xh,"repaintFrameRows");function g_(e,t,n){let r="",i;Li(e,0,n),e.txn(()=>[[{type:"stdout",content:na+Uc},{type:"eraseLine"}],{dx:0,dy:0}]);for(let s=0;s<t.screen.width;s++){let a=Mi(t.screen,s,n);if(!a||a.width===_r.SpacerTail||a.char===" "&&a.style===""&&a.hyperlink===void 0)continue;Li(e,s,n);let c=oo(i,a.hyperlink);for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);i=c.current;let l=Kc(r,a.style);zc(e,a,l.str)&&(r=l.current)}for(let s of Ai(r,"").patches)e.txn(()=>[[s],{dx:0,dy:0}]);for(let s of oo(i,void 0).patches)e.txn(()=>[[s],{dx:0,dy:0}])}o(g_,"repaintFrameRow");function Sh(e,t){let n="";for(let r=0;r<e.width;r++){let i=Mi(e,r,t);n+=i?.char??" "}return n.trimEnd()}o(Sh,"readLine");function ra(e,t,n=!1){let r=new _i({x:0,y:0},e.viewport.width);Yc(r,e,0,e.screen.height,n);let i=[{type:"clearTerminal",reason:t}];for(let s of r.diff)i.push(s);return i}o(ra,"fullResetSequence_CAUSES_FLICKER");function ef(e,t){let n=e.cursor.y>=e.screen.height,r=t.screen.height>e.screen.height,i=t.screen.height<e.screen.height,s=n&&e.screen.height>=e.viewport.height,a=t.screen.height<=e.viewport.height,c=s?1:0;return{viewportY:r?Math.max(0,e.screen.height-e.viewport.height+c):Math.max(e.screen.height,t.screen.height)-t.viewport.height+c,cursorAtBottom:n,growing:r,shrinking:i,prevHadScrollback:s,nextFitsViewport:a}}o(ef,"computeViewportState");function pC(e,t,n){if(t.viewport.height<e.viewport.height||e.viewport.width!==0&&t.viewport.width!==e.viewport.width)return{reset:!0,reason:"resize"};let r=ef(e,t);if(r.prevHadScrollback&&r.nextFitsViewport&&r.shrinking)return{reset:!0,reason:"offscreen"};if(e.screen.height>=e.viewport.height&&e.screen.height>0&&r.cursorAtBottom&&!r.growing){let s=e.screen.height-e.viewport.height+1;for(let a of Qd(e.screen,t.screen))if(a.y<s)return{reset:!0,reason:"offscreen",trigger:{y:a.y,prevLine:n(e.screen,a.y),nextLine:n(t.screen,a.y)}}}return r.shrinking&&e.screen.height-t.screen.height>e.viewport.height?{reset:!0,reason:"offscreen"}:{reset:!1}}o(pC,"shouldFullReset");function mC(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}o(mC,"shouldSkipDiff");var tf=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return yh(n);let i=r.inlineBottomAnchored??!1,s=hC(t,i),a=hC(n,i);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return ra(a,"clear",i);let c=pC(s,a,Sh);if(c.reset)return ra(a,c.reason,i);if(a.scrollRepaint&&r.altScreen===!0)return y_(s,a,a.scrollRepaint);let l=a.scrollHint;if(l&&r.altScreen&&r.decstbmSafe&&process.env.KODAX_SCROLL_DECSTBM==="1"&&l.delta!==0&&l.top>=0&&l.bottom<s.screen.height&&l.bottom<a.screen.height&&Math.abs(l.delta)<=l.bottom-l.top){let d={type:"scrollRegion",top:l.top,bottom:l.bottom,delta:l.delta},f={...s,screen:ZT(s.screen,l.top,l.bottom,l.delta)};return[d,...gC(f,a,i)]}return gC(s,a,i)}reset(){}};function wh(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}o(wh,"emitPatches");function Th(e,t,n){if(t!==""){let r=Ai(t,"");wh(e,r.patches)}if(n!==void 0){let r=oo(n,void 0);wh(e,r.patches)}return{style:"",hyperlink:void 0}}o(Th,"resetStyleAndHyperlink");function y_(e,t,n){let r=ef(e,t),i=new _i(e.cursor,t.viewport.width);r.shrinking&&yC(i,e,t);let s=Math.max(0,Math.floor(n.top)),a=Math.min(t.screen.height-1,t.viewport.height-1,Math.floor(n.bottom)),c=a>=s?{top:s,bottom:a}:void 0;c&&xh(i,t,c.top,c.bottom);let l=xC(i,e,t,{...r,skipRows:c});return l.needsFullReset?ra(t,"offscreen"):(Th(i,l.currentStyle,l.currentHyperlink),r.growing&&Yc(i,t,e.screen.height,t.screen.height),SC(i,t),i.diff)}o(y_,"renderScrollRepaint");function yC(e,t,n){let r=t.screen.height-n.screen.height;e.txn(i=>[[{type:"clear",count:r},{type:"cursorMove",x:0,y:-1}],{dx:-i.x,dy:-r}])}o(yC,"applyShrink");function xC(e,t,n,r){let i="",s,a=!1;for(let c of Qd(t.screen,n.screen)){let{x:l,y:d,prev:f,next:p}=c;if(r.growing&&d>=t.screen.height||r.skipRows&&d>=r.skipRows.top&&d<=r.skipRows.bottom)continue;let m=!!(p&&p.char===" "&&p.style===""&&p.hyperlink===void 0);if(!mC(f,p,m)){if(d<r.viewportY){a=!0;break}if(Li(e,l,d),p){let h=oo(s,p.hyperlink);wh(e,h.patches),s=h.current;let S=Kc(i,p.style);zc(e,p,S.str)&&(i=S.current)}else if(f){let h=Th(e,i,s);i=h.style,s=h.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(xC,"diffPass");function hC(e,t){let n=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return e.cursor.y<=n?e:{...e,cursor:{...e.cursor,y:n}}}o(hC,"clampRestingCursor");function SC(e,t){t.cursor.y>=t.screen.height?e.txn(n=>{let r=t.cursor.y-n.y;if(r>0){let s=new Array(1+r);s[0]=io;for(let a=0;a<r;a++)s[1+a]=Vc;return[s,{dx:-n.x,dy:r}]}let i=t.cursor.y-n.y;return i!==0||n.x!==t.cursor.x?[[io,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-n.x,dy:i}]:[[],{dx:0,dy:0}]}):Li(e,t.cursor.x,t.cursor.y)}o(SC,"restoreCursor");function gC(e,t,n=!1){let r=ef(e,t),i=new _i(e.cursor,t.viewport.width);r.shrinking&&yC(i,e,t);let s=xC(i,e,t,r);return s.needsFullReset?ra(t,"offscreen",n):(Th(i,s.currentStyle,s.currentHyperlink),r.growing&&Yc(i,t,e.screen.height,t.screen.height,n),SC(i,t),i.diff)}o(gC,"renderIncremental");var x_="\x1B[?25l",S_="\x1B[?25h",w_=`\x1B[2J${nC}`,T_="\x1B[?2026h",C_="\x1B[?2026l";function I_(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return x_;case"cursorShow":return S_;case"cursorMove":return rC(e.x,e.y);case"cursorTo":return tC(e.col);case"eraseLine":return gh;case"clear":return oC(e.count);case"clearTerminal":return w_;case"hyperlink":return Gc(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),i=e.delta>0?lC(r):uC(r);return sC+cC(t,n)+i+iC+aC}}}o(I_,"patchToBytes");function nf(e,t,n=!1){let r="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),r+=I_(s);if(r.length!==0){if(n&&i){e.write(T_+r+C_);return}e.write(r)}}o(nf,"applyDiff");function wC(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return nf(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}o(wC,"applyCellFrame");function Xc(e,t){return{screen:JT(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(Xc,"emptyFrame");import b_ from"is-in-ci";var so="\x1B[?2026h",Lr="\x1B[?2026l";function ao(e){return"isTTY"in e&&e.isTTY===!0&&!b_}o(ao,"shouldSynchronize");var v_=new WeakMap,TC=v_;import{EventEmitter as V_}from"node:events";import K_ from"node:process";import Pi,{useState as bh,useRef as oa,useCallback as bt,useMemo as ia,useEffect as HC}from"react";import z_ from"cli-cursor";var R_=o(e=>e>=48&&e<=63,"isCsiParameterByte"),k_=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),IC=o(e=>e>=64&&e<=126,"isCsiFinalByte");function E_(e,t,n){let r=t+n+1,i=r;for(;i<e.length;i+=1){let s=e.codePointAt(i);if(s===void 0)return"pending";if(!(R_(s)||k_(s))&&!(s===91&&i===r))return IC(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(E_,"parseCsiSequence");function M_(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let i=e.codePointAt(r-1);if(!(i===void 0||!IC(i)))return{sequence:e.slice(t,r),nextIndex:r}}o(M_,"parseSs3Sequence");function CC(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return E_(e,t,n);if(r==="O")return M_(e,t,n)}o(CC,"parseControlSequence");function A_(e,t){let n=e.codePointAt(t+1),r=n!==void 0&&n>65535?2:1,i=t+1+r;return{sequence:e.slice(t,i),nextIndex:i}}o(A_,"parseEscapedCodePoint");function __(e){let t=[],n=0,r=o(i=>({events:t,pending:e.slice(i)}),"pendingFrom");for(;n<e.length;){let i=e.indexOf("\x1B",n);if(i===-1)return t.push(e.slice(n)),{events:t,pending:""};if(i>n&&t.push(e.slice(n,i)),i===e.length-1)return r(i);let s=CC(e,i,1);if(s==="pending")return r(i);if(s){t.push(s.sequence),n=s.nextIndex;continue}if(e[i+1]==="\x1B"){if(i+2>=e.length)return r(i);let l=CC(e,i,2);if(l==="pending")return r(i);if(l){t.push(l.sequence),n=l.nextIndex;continue}t.push(e.slice(i,i+2)),n=i+2;continue}let c=A_(e,i);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}o(__,"parseKeypresses");function rf(){let e="";return{push(t){let n=__(e+t);return e=n.pending,n.events},hasPendingEscape(){return e.startsWith("\x1B")},flushPendingEscape(){if(!e.startsWith("\x1B"))return;let t=e;return e="",t},reset(){e=""}}}o(rf,"createInputParser");import{createContext as L_}from"react";var bC=L_({exit(){}});bC.displayName="InternalAppContext";var vC=bC;import{EventEmitter as P_}from"node:events";import{createContext as $_}from"react";var D_={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},RC=$_({stdin:D_,internal_eventEmitter:new P_,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});RC.displayName="InternalStdinContext";var kC=RC;import{createContext as O_}from"react";var N_={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},EC=O_({stdout:N_,write(){}});EC.displayName="InternalStdoutContext";var MC=EC;import{createContext as B_}from"react";var H_={isTTY:!1,write(){return!0},on(){},off(){}},AC=B_({stderr:H_,write(){}});AC.displayName="InternalStderrContext";var _C=AC;import{createContext as W_}from"react";var LC=W_({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});LC.displayName="InternalFocusContext";var PC=LC;import{createContext as F_}from"react";var $C=F_({setCursorPosition(){}});$C.displayName="InternalCursorContext";var DC=$C;import U_,{PureComponent as G_}from"react";import*as of from"node:fs";import{cwd as BC}from"node:process";import At from"react";import OC from"stack-utils";import j_ from"code-excerpt";var Ch=o(e=>e?.replace(`file://${BC()}/`,""),"cleanupPath"),NC=new OC({cwd:BC(),internals:OC.nodeInternals()});function Ih({error:e}){let t=e.stack?e.stack.split(`
|
|
24
|
+
`).slice(1):void 0,n=t?NC.parseLine(t[0]):void 0,r=Ch(n?.file),i,s=0;if(r&&n?.line&&of.existsSync(r)){let a=of.readFileSync(r,"utf8");if(i=j_(a,n.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return At.createElement(Gn,{flexDirection:"column",padding:1},At.createElement(Gn,null,At.createElement(xn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),At.createElement(xn,null," ",e.message)),n&&r&&At.createElement(Gn,{marginTop:1},At.createElement(xn,{dimColor:!0},r,":",n.line,":",n.column)),n&&i&&At.createElement(Gn,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>At.createElement(Gn,{key:a},At.createElement(Gn,{width:s+1},At.createElement(xn,{dimColor:a!==n.line,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0,"aria-label":a===n.line?`Line ${a}, error`:`Line ${a}`},String(a).padStart(s," "),":")),At.createElement(xn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&At.createElement(Gn,{marginTop:1,flexDirection:"column"},e.stack.split(`
|
|
25
|
+
`).slice(1).map(a=>{let c=NC.parseLine(a);return c?At.createElement(Gn,{key:a},At.createElement(xn,{dimColor:!0},"- "),At.createElement(xn,{dimColor:!0,bold:!0},c.function),At.createElement(xn,{dimColor:!0,color:"gray","aria-label":`at ${Ch(c.file)??""} line ${c.line} column ${c.column}`}," ","(",Ch(c.file)??"",":",c.line,":",c.column,")")):At.createElement(Gn,{key:a},At.createElement(xn,{dimColor:!0},"- "),At.createElement(xn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Ih,"ErrorOverview");var qc=class extends G_{static{o(this,"ErrorBoundary")}static displayName="InternalErrorBoundary";static getDerivedStateFromError(t){return{error:t}}state={error:void 0};componentDidCatch(t){this.props.onError(t)}render(){return this.state.error?U_.createElement(Ih,{error:this.state.error}):this.props.children}};var Y_=" ",X_="\x1B[Z",q_="\x1B";function WC({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=bh(!0),[p,m]=bh(void 0),[,h]=bh([]),S=oa(0),C=oa(0),R=oa(new V_);R.current.setMaxListeners(1/0);let T=oa(void 0),w=oa(rf()),M=oa(void 0),P=bt(()=>{M.current&&(clearImmediate(M.current),M.current=void 0)},[]),$=t.isTTY,H=bt(()=>{T.current&&(t.removeListener("readable",T.current),T.current=void 0)},[t]),U=bt(()=>{t.setRawMode(!1),H(),t.unref(),C.current=0,w.current.reset(),P()},[t,H,P]),W=bt(ce=>{$&&C.current>0&&U(),c(ce)},[$,U,c]),J=bt(ce=>{if(ce===""&&a){W();return}ce===q_&&m(G=>G&&void 0)},[a,W]),pe=bt(ce=>{J(ce),R.current.emit("input",ce)},[J]),we=bt(()=>{P(),M.current=setImmediate(()=>{M.current=void 0;let ce=w.current.flushPendingEscape();ce&&pe(ce)})},[P,pe]),y=bt(()=>{P();let ce;for(;(ce=t.read())!==null;){let G=w.current.push(ce);for(let me of G)pe(me)}w.current.hasPendingEscape()&&we()},[t,pe,P,we]),O=bt(ce=>{if(!$)throw t===K_.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.
|
|
26
|
+
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink.
|
|
27
|
+
Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(t.setEncoding("utf8"),ce){C.current===0&&(t.ref(),t.setRawMode(!0),T.current=y,t.addListener("readable",y)),C.current++;return}C.current!==0&&--C.current===0&&U()},[$,t,y,U]),k=bt((ce,G)=>{let me=ce.findIndex(qe=>qe.id===G);for(let qe=me+1;qe<ce.length;qe++){let et=ce[qe];if(et?.isActive)return et.id}},[]),D=bt((ce,G)=>{let me=ce.findIndex(qe=>qe.id===G);for(let qe=me-1;qe>=0;qe--){let et=ce[qe];if(et?.isActive)return et.id}},[]),ge=bt(()=>{h(ce=>(m(G=>{let me=ce.find(et=>et.isActive)?.id;return k(ce,G)??me}),ce))},[k]),le=bt(()=>{h(ce=>(m(G=>{let me=ce.findLast(et=>et.isActive)?.id;return D(ce,G)??me}),ce))},[D]);HC(()=>{let ce=o(me=>{!d||S.current===0||(me===Y_&&ge(),me===X_&&le())},"handleTabNavigation");R.current.on("input",ce);let G=R.current;return()=>{G.off("input",ce)}},[d,ge,le]);let z=bt(()=>{f(!0)},[]),fe=bt(()=>{f(!1)},[]),ve=bt(ce=>{h(G=>(G.some(qe=>qe?.id===ce)&&m(ce),G))},[]),$e=bt((ce,{autoFocus:G})=>{h(me=>(S.current=me.length+1,[...me,{id:ce,isActive:!0}])),G&&m(me=>me??ce)},[]),ue=bt(ce=>{m(G=>G===ce?void 0:G),h(G=>{let me=G.filter(qe=>qe.id!==ce);return S.current=me.length,me})},[]),De=bt(ce=>{h(G=>G.map(me=>me.id!==ce?me:{id:ce,isActive:!0}))},[]),q=bt(ce=>{m(G=>G===ce?void 0:G),h(G=>G.map(me=>me.id!==ce?me:{id:ce,isActive:!1}))},[]);HC(()=>()=>{z_.show(n),$&&C.current>0&&U()},[n,$,U]);let oe=ia(()=>({exit:W}),[W]),Ee=ia(()=>({stdin:t,setRawMode:O,isRawModeSupported:$,internal_exitOnCtrlC:a,internal_eventEmitter:R.current}),[t,O,$,a]),Re=ia(()=>({stdout:n,write:i}),[n,i]),He=ia(()=>({stderr:r,write:s}),[r,s]),Xe=ia(()=>({setCursorPosition:l}),[l]),nt=ia(()=>({activeId:p,add:$e,remove:ue,activate:De,deactivate:q,enableFocus:z,disableFocus:fe,focusNext:ge,focusPrevious:le,focus:ve}),[p,$e,ue,De,q,z,fe,ge,le,ve]);return Pi.createElement(vC.Provider,{value:oe},Pi.createElement(kC.Provider,{value:Ee},Pi.createElement(MC.Provider,{value:Re},Pi.createElement(_C.Provider,{value:He},Pi.createElement(PC.Provider,{value:nt},Pi.createElement(DC.Provider,{value:Xe},Pi.createElement(qc,{onError:W},e)))))))}o(WC,"App");WC.displayName="InternalApp";var FC=WC;var J_={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function jC(e){let t=0;for(let n of e)t|=J_[n];return t}o(jC,"resolveFlags");var co={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var vh=o((e,t)=>(t<0?Sn.cursorUp(-t):t>0?Sn.cursorDown(t):"")+(e<0?Sn.cursorBackward(-e):e>0?Sn.cursorForward(e):""),"cursorMoveSeq"),Rh=o((e,t=!1)=>{let n=Math.max(0,e.screen.height-e.viewport.height),r=t?Math.max(0,Math.min(e.viewport.height-1,e.screen.height-1)):Math.max(0,e.viewport.height-1);return i=>({x:i.x,y:Math.min(Math.max(i.y-n,0),r)})},"toVisibleCursor"),sf=o(()=>{},"noop"),aL=27,cL=91,lL=63,uL=117,dL=48,fL=57,pL=o(e=>e>=dL&&e<=fL,"isDigitByte"),GC=o((e,t)=>{if(e[t]!==aL||e[t+1]!==cL||e[t+2]!==lL)return;let n=t+3,r=n;for(;n<e.length&&pL(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===uL)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),mL=o(e=>{for(let t=0;t<e.length;t++)if(GC(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),hL=o(e=>{let t=[],n=0;for(;n<e.length;){let r=GC(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),kh=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),gL=class{static{o(this,"Ink")}isConcurrent;options;cursorPosition;isScreenReaderEnabled;isUnmounted;isUnmounting;lastOutput;lastOutputToRender;lastOutputHeight;lastTerminalWidth;container;rootNode;fullStaticOutput;exitPromise;exitResult;beforeExitHandler;restoreConsole;restoreStreamWriteGuard;rawStdoutWrite;rawStderrWrite;internalStreamWriteDepth=0;unsubscribeResize;throttledOnRender;hasPendingThrottledRender=!1;kittyProtocolEnabled=!1;cancelKittyDetection;altScreenActive=!1;shellMode;mouseTrackingActive=!1;shellTransitionPhase=void 0;cursorHidden=!1;constructor(t){Z_(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=Gd("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??$i.env.INK_SCREEN_READER==="true";let n=t.debug||this.isScreenReaderEnabled,r=t.maxFps??30,i=r>0?Math.max(1,Math.ceil(1e3/r)):0;if(n)this.rootNode.onRender=this.onRender,this.throttledOnRender=void 0;else{let a=Q_(this.onRender,i,{leading:!0,trailing:!0});this.rootNode.onRender=()=>{this.hasPendingThrottledRender=!0,a()},this.throttledOnRender=a}this.rootNode.onImmediateRender=this.onRender,this.cellLogUpdate=new tf({isTTY:!!t.stdout.isTTY}),this.prevFrame=Xc(t.stdout.rows??24,t.stdout.columns??80),this.cursorPosition=void 0,this.isUnmounted=!1,this.isUnmounting=!1,this.installExternalStreamWriteGuard(),this.isConcurrent=t.concurrent??!1,this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.lastTerminalWidth=this.getTerminalWidth(),this.fullStaticOutput="",this.shellMode=t.shellMode??"virtual";let s=t.concurrent?rL:nL;this.container=ro.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=eL(this.unmount,{alwaysLast:!1}),jd()&&ro.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),lo||(t.stdout.on("resize",this.resized),this.unsubscribeResize=()=>{t.stdout.off("resize",this.resized)}),this.initKittyKeyboard()}getTerminalWidth=o(()=>this.options.stdout.columns?this.options.stdout.columns:sL()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=Xc(this.options.stdout.rows??24,t)}this.calculateLayout(),this.onRender(),this.lastTerminalWidth=t},"resized");resolveExitPromise=o(()=>{},"resolveExitPromise");rejectExitPromise=o(()=>{},"rejectExitPromise");unsubscribeExit=o(()=>{},"unsubscribeExit");handleAppExit=o(t=>{if(!(this.isUnmounted||this.isUnmounting)){if(kh(t)){this.unmount(t);return}this.exitResult=t,this.unmount()}},"handleAppExit");setCursorPosition=o(t=>{if(t===void 0){this.cursorPosition=void 0;return}let n=this.getTerminalWidth(),r=this.options.stdout.rows??24;if(n<=0||r<=0){this.cursorPosition=void 0;return}let i=Math.max(0,Math.min(t.x|0,n-1)),s=Math.max(0,Math.min(t.y|0,r-1));this.cursorPosition={x:i,y:s}},"setCursorPosition");resetOutputTracking=o(()=>{this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.cursorPosition=void 0,this.invalidateCellFrame()},"resetOutputTracking");usesVirtualShellOwnership=o((t={})=>t.altScreenActive??this.altScreenActive,"usesVirtualShellOwnership");beginShellTransition(t){this.shellTransitionPhase=t}setShellMode(t,n){let r=this.shellMode,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.shellMode=t,this.mouseTrackingActive=a;let c=this.usesVirtualShellOwnership();(r!==t&&(s||c)||i!==a&&c)&&this.resetOutputTracking()}setAltScreenActive(t,n){let r=this.altScreenActive,i=this.mouseTrackingActive,s=this.usesVirtualShellOwnership(),a=n??!1;this.altScreenActive=t,this.mouseTrackingActive=a,this.shellTransitionPhase=void 0;let c=this.usesVirtualShellOwnership();(r!==t||i!==a&&(s||c))&&this.resetOutputTracking()}clearTextSelection(){}installExternalStreamWriteGuard(){if(this.options.debug||lo)return;let t=this.options.stdout,n=this.options.stderr,r=t.write,i=n.write,s=o((...c)=>{let l=this.rawStdoutWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStdoutWrite"),a=o((...c)=>{let l=this.rawStderrWrite(...c);return this.internalStreamWriteDepth===0&&this.handleExternalStreamWrite(),l},"guardedStderrWrite");t.write=s,n.write=a,this.restoreStreamWriteGuard=()=>{t.write===s&&(t.write=r),n.write===a&&(n.write=i)}}handleExternalStreamWrite(){this.isUnmounted||this.invalidateCellFrame()}withInternalStreamWrite(t){this.internalStreamWriteDepth+=1;try{return t()}finally{this.internalStreamWriteDepth-=1}}writeStdout(t,...n){return this.withInternalStreamWrite(()=>this.rawStdoutWrite(t,...n))}writeStderr(t,...n){return this.withInternalStreamWrite(()=>this.rawStderrWrite(t,...n))}restoreLastOutput=o(()=>{if(this.prevFrame.screen.height===0)return;let t=Xc(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>nf(this.options.stdout,n))},"restoreLastOutput");shouldRestoreManagedShellAfterExternalWrite=o(()=>this.altScreenActive,"shouldRestoreManagedShellAfterExternalWrite");calculateLayout=o(()=>{let t=this.getTerminalWidth();this.rootNode.yogaNode.setWidth(t),this.rootNode.yogaNode.calculateLayout(void 0,void 0,oL.DIRECTION_LTR)},"calculateLayout");onRender=o(()=>{if(this.hasPendingThrottledRender=!1,this.isUnmounted)return;let t=performance.now(),n={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:r,outputHeight:i,staticOutput:s,frame:a}=hh(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!lo&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(Sn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
|
|
28
|
+
`;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(lo){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
|
|
29
|
+
`,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let R=ao(this.options.stdout);if(R&&this.writeStdout(so),c){let M=this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){R&&this.writeStdout(Lr);return}let T=this.getTerminalWidth(),w=iL(r,T,{trim:!1,hard:!0});if(c)this.writeStdout(w);else{let M=this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"";this.writeStdout(M+w)}this.lastOutput=r,this.lastOutputToRender=w,this.lastOutputHeight=w===""?0:w.split(`
|
|
30
|
+
`).length,R&&this.writeStdout(Lr);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=o(R=>{R&&(d?d.push(R):this.writeStdout(R))},"emit"),p=d?{write:f}:null;f(this.computeReturnToRestSeq());let m=this.altScreenActive,S=this.options.stdout.isTTY&&i>=this.options.stdout.rows&&m?r:r+`
|
|
31
|
+
`;if(this.lastOutputHeight>=this.options.stdout.rows&&m){if($i.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let w=ao(this.options.stdout);w&&this.writeStdout(so),this.applyCellFrame(a),w&&this.writeStdout(Lr),this.lastOutput=r,this.lastOutputToRender=S,this.lastOutputHeight=i;return}let R=ao(this.options.stdout);R&&this.writeStdout(so);let T=this.fullStaticOutput+S;if(this.altScreenActive){let w=this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"";this.writeStdout(w+T)}else this.writeStdout(Sn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?T:S,this.lastOutputHeight=i,this.invalidateCellFrame(),R&&this.writeStdout(Lr);return}let C=!d&&ao(this.options.stdout);try{if(c?(C&&f(so),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),C&&f(Lr)):!this.altScreenActive&&this.prevFrame&&this.prevFrame.screen.height!==a.screen.height&&this.lastOutputHeight>0&&i<=this.options.stdout.rows&&this.lastOutputHeight<this.options.stdout.rows?(C&&f(so),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),C&&f(Lr)):this.applyCellFrame(a,p),a?.inputCursor){let R=Rh(a,!this.altScreenActive),T=R(a.cursor),w=R(a.inputCursor),M=vh(w.x-T.x,w.y-T.y);f(M),this.displayCursor=w}}finally{d&&this.flushCursorTxn(d)}this.lastOutput=r,this.lastOutputToRender=S,this.lastOutputHeight=i},"onRender");applyCellFrame=o((t,n=null)=>{let r={cellLogUpdate:this.cellLogUpdate,prevFrame:this.prevFrame,stdout:n??this.options.stdout},i=ao(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:n?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>wC(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=Xc(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"","eraseInlineLiveBlock");commitInlineScrollback=o(({mode:t,text:n})=>{if(this.altScreenActive||this.isUnmounted)return;let r=[],i=o(c=>{c&&r.push(c)},"emit"),s={write:i};i(this.computeReturnToRestSeq());let a=t==="rebuild"?"\x1B[2J\x1B[3J\x1B[H":this.eraseInlineLiveBlock();i(a+(n??"")),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.fullStaticOutput="",this.invalidateCellFrame();try{this.calculateLayout();let c={rows:this.options.stdout.rows??24,columns:this.getTerminalWidth()},{output:l,outputHeight:d,frame:f}=hh(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=Rh(f,!this.altScreenActive),m=p(f.cursor),h=p(f.inputCursor),S=vh(h.x-m.x,h.y-m.y);i(S),this.displayCursor=h}this.lastOutput=l,this.lastOutputToRender=l,this.lastOutputHeight=d}finally{this.flushCursorTxn(r)}},"commitInlineScrollback");flushCursorTxn(t){let n=t.join("");if(!n)return;let r=ao(this.options.stdout);this.writeStdout(r?so+n+Lr:n)}render(t){let n=UC.createElement(Qs.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},UC.createElement(FC,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,exitOnCtrlC:this.options.exitOnCtrlC,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,setCursorPosition:this.setCursorPosition,onExit:this.handleAppExit},t));this.options.concurrent?ro.updateContainer(n,this.container,null,sf):(ro.updateContainerSync(n,this.container,null,sf),ro.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Rh(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=vh(t.x-this.displayCursor.x,t.y-this.displayCursor.y);return this.displayCursor=null,n}return""}returnCursorToRest(){let t=this.computeReturnToRestSeq();t&&this.writeStdout(t)}writeToStdout(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStdout(t+this.fullStaticOutput+this.lastOutput);return}if(lo){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=ao(this.options.stdout);n&&this.writeStdout(so),this.returnCursorToRest();let r=this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Lr)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(lo){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=ao(this.options.stdout);n&&this.writeStdout(so),this.returnCursorToRest();let r=this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Lr)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&($i.off("beforeExit",this.beforeExitHandler),this.beforeExitHandler=void 0);let n=this.options.stdout,r=!n.destroyed&&!n.writableEnded&&(n.writable??!0);if(o(d=>{typeof d.flush=="function"&&(r?d.flush():typeof d.cancel=="function"&&d.cancel())},"settleThrottle")(this.throttledOnRender??{}),r&&(!this.throttledOnRender||!this.hasPendingThrottledRender&&this.fullStaticOutput==="")&&(this.calculateLayout(),this.onRender()),this.isUnmounted=!0,this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.restoreStreamWriteGuard=="function"&&(this.restoreStreamWriteGuard(),this.restoreStreamWriteGuard=void 0),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),this.cancelKittyDetection&&this.cancelKittyDetection(),r){if(this.kittyProtocolEnabled)try{this.writeStdout("\x1B[<u")}catch{}lo&&this.writeStdout(this.lastOutput+`
|
|
32
|
+
`)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?ro.updateContainer(null,this.container,null,sf):(ro.updateContainerSync(null,this.container,null,sf),ro.flushSyncWork()),TC.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{kh(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!kh(t),l=n._writableState!==void 0||n.writableLength!==void 0;c?a():r&&l?this.writeStdout("",a):setImmediate(a)}async waitUntilExit(){return this.exitPromise||=new Promise((t,n)=>{this.resolveExitPromise=t,this.rejectExitPromise=n}),this.beforeExitHandler||(this.beforeExitHandler=()=>{this.unmount()},$i.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!lo&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?Sn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();t.length>0&&this.writeStdout(t),this.lastOutput="",this.lastOutputToRender="",this.lastOutputHeight=0,this.invalidateCellFrame()}}patchConsole(){this.options.debug||(this.restoreConsole=tL((t,n)=>{t==="stdout"&&this.writeToStdout(n),t==="stderr"&&(n.startsWith("The above error occurred")||this.writeToStderr(n))}))}initKittyKeyboard(){if(!this.options.kittyKeyboard)return;let t=this.options.kittyKeyboard,n=t.mode??"auto";if(n==="disabled"||!this.options.stdin.isTTY||!this.options.stdout.isTTY)return;let r=t.flags??["disambiguateEscapeCodes"];if(n==="enabled"){this.enableKittyProtocol(r);return}let i=$i.env.TERM??"",s=$i.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in $i.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!lo&&a&&this.confirmKittySupport(r)}confirmKittySupport(t){let{stdin:n}=this.options,r=[],i=o(()=>{this.cancelKittyDetection=void 0,clearTimeout(a),n.removeListener("data",s);let c=hL(r);r=[],c.length>0&&n.unshift(Buffer.from(c))},"cleanup"),s=o(c=>{let l=typeof c=="string"?Buffer.from(c):c;for(let d of l)r.push(d);mL(r)&&(i(),this.isUnmounted||this.enableKittyProtocol(t))},"onData");n.on("data",s);let a=setTimeout(i,200);this.cancelKittyDetection=i,this.writeStdout("\x1B[?u")}enableKittyProtocol(t){this.writeStdout(`\x1B[>${jC(t)}u`),this.kittyProtocolEnabled=!0}},VC=gL;var Jc=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new VC(t),this.isConcurrent=this.engineInstance.isConcurrent}render=o(t=>{this.engineInstance.render(t)},"render");unmount=o(t=>{this.engineInstance.unmount(t)},"unmount");waitUntilExit=o(()=>this.engineInstance.waitUntilExit(),"waitUntilExit");clear=o(()=>{this.engineInstance.clear()},"clear");setAltScreenActive=o((t,n)=>{this.engineInstance.setAltScreenActive?.(t,n)},"setAltScreenActive");setShellMode=o((t,n)=>{this.engineInstance.setShellMode?.(t,n)},"setShellMode");beginShellTransition=o(t=>{this.engineInstance.beginShellTransition?.(t)},"beginShellTransition");clearTextSelection=o(()=>{this.engineInstance.clearTextSelection?.()},"clearTextSelection");commitInlineScrollback=o(t=>{this.engineInstance.commitInlineScrollback?.(t)},"commitInlineScrollback")};var Oo=null;function zC(){if(Oo===-1)return null;if(Oo!==null)return Oo;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return Oo=-1,null;let t=e==="1"||e==="true"?TL(wL(),`kodax-render-trace-${process.pid}.log`):e;try{return Oo=xL(t,"a"),KC(Oo,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
|
|
33
|
+
`),Oo}catch{return Oo=-1,null}}o(zC,"resolveTraceFd");function CL(e){let t=zC();if(t!==null)try{KC(t,e)}catch{}}o(CL,"traceLine");var af=new WeakMap,IL={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},bL={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},vL={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function RL(e={}){return e instanceof yL?{stdout:e}:e}o(RL,"getOptions");function kL(e,t,n){let r=af.get(e);return r?r.isConcurrent!==n&&console.warn(`Warning: render() was called with concurrent: ${n}, but the existing renderer for this stdout uses concurrent: ${r.isConcurrent}. The concurrent option only takes effect on the first render. Call unmount() first if you need to change the rendering mode.`):(r=t(),af.set(e,r)),r}o(kL,"getInstance");function Di(e){return af.get(e)}o(Di,"getRendererInstance");function Eh(e,t){let n={stdout:IL,stdin:vL,stderr:bL,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...RL(t)};if(zC()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((m,...h)=>(c+=1,l+=typeof m=="string"?Buffer.byteLength(m,"utf8"):m?.length??0,a(m,...h)));let d=0,f=0,p=n.onRender;n.onRender=m=>{let h=SL.now(),S=d===0?0:h-d,C=s,R=C.columns??0,T=C.rows??0;return CL(`frame=${f} renderTime=${m.renderTime.toFixed(2)}ms interval=${S.toFixed(2)}ms writes=${c} bytes=${l} viewport=${R}x${T}
|
|
34
|
+
`),c=0,l=0,d=h,f+=1,p?.(m)}}let i=kL(n.stdout,()=>new Jc(n),n.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{af.delete(n.stdout)},"cleanup"),clear:i.clear}}o(Eh,"render");var YC=Gn,XC=xn,qC=nh;import{Buffer as ML}from"node:buffer";var AL=/^(?:\x1b)([a-zA-Z0-9])$/,_L=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,QC={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"},ZC=[...Object.values(QC),"backspace"],LL=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),PL=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),eI=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,$L=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,DL={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},OL={2:"insert",3:"delete",5:"pageup",6:"pagedown",7:"home",8:"end",11:"f1",12:"f2",13:"f3",14:"f4",15:"f5",17:"f6",18:"f7",19:"f8",20:"f9",21:"f10",23:"f11",24:"f12"},JC={27:"escape",9:"tab",127:"delete",8:"backspace",57358:"capslock",57359:"scrolllock",57360:"numlock",57361:"printscreen",57362:"pause",57363:"menu",57376:"f13",57377:"f14",57378:"f15",57379:"f16",57380:"f17",57381:"f18",57382:"f19",57383:"f20",57384:"f21",57385:"f22",57386:"f23",57387:"f24"},tI=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),Mh=o(e=>tI(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function nI(e){return e===3?"release":e===2?"repeat":"press"}o(nI,"resolveEventType");function rI(e){return{ctrl:!!(e&co.ctrl),shift:!!(e&co.shift),meta:!!(e&co.meta),option:!!(e&co.alt),super:!!(e&co.super),hyper:!!(e&co.hyper),capsLock:!!(e&co.capsLock),numLock:!!(e&co.numLock)}}o(rI,"parseKittyModifiers");function NL(e){let t=eI.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=t[2]?Math.max(0,Number.parseInt(t[2],10)-1):0,i=t[3]?Number.parseInt(t[3],10):1,s=t[4];if(!tI(n))return null;let a;s&&(a=s.split(":").map(d=>Mh(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):JC[n]?(c=JC[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=Mh(n).toLowerCase(),l=!0),l&&!a&&(a=Mh(n)),{name:c,...rI(r),eventType:nI(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}o(NL,"parseKittyKeypress");function BL(e){let t=$L.exec(e);if(!t)return null;let n=Number.parseInt(t[1],10),r=Math.max(0,Number.parseInt(t[2],10)-1),i=Number.parseInt(t[3],10),s=t[4],a=s==="~"?OL[n]:DL[s];return a?{name:a,...rI(r),eventType:nI(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(BL,"parseKittySpecialKey");var Ah="\x1B[200~",HL="\x1B[201~";function WL(e){if(!e.startsWith(Ah))return null;let t=e.indexOf(HL,Ah.length);return t===-1?null:e.slice(Ah.length,t)}o(WL,"extractBracketedPaste");function _h(e=""){let t=e,n;if(ML.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=""),typeof t=="string"){let a=WL(t);if(a!==null)return{name:"paste",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isPaste:!0,isPrintable:!1,text:a}}let r=NL(t);if(r)return r;let i=BL(t);if(i)return i;if(eI.test(t))return{name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,isKittyProtocol:!0,isPrintable:!1};let s={name:"",ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t};if(s.sequence=s.sequence||t||s.name,t==="\r"||t==="\x1B\r")s.raw=void 0,s.name="return",s.option=t.length===2;else if(t===`
|
|
35
|
+
`)s.name="enter";else if(t===" ")s.name="tab";else if(t==="\b"||t==="\x1B\b")s.name="backspace",s.meta=t.charAt(0)==="\x1B";else if(t==="\x7F"||t==="\x1B\x7F")s.name="delete",s.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")s.name="escape",s.meta=t.length===2;else if(t===" "||t==="\x1B ")s.name="space",s.meta=t.length===2;else if(t.length===1&&t<="")s.name=String.fromCharCode(t.charCodeAt(0)+97-1),s.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")s.name="number";else if(t.length===1&&t>="a"&&t<="z")s.name=t;else if(t.length===1&&t>="A"&&t<="Z")s.name=t.toLowerCase(),s.shift=!0;else if(n=AL.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=_L.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(s.option=!0);let c=[n[1],n[2],n[4],n[6]].filter(Boolean).join(""),l=Number(n[3]||n[5]||1)-1;s.ctrl=!!(l&4),s.meta=!!(l&10),s.shift=!!(l&1),s.code=c,s.name=QC[c]??"",s.shift=LL(c)||s.shift,s.ctrl=PL(c)||s.ctrl}return s}o(_h,"parseKeypress");var UL=50;function lf(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(lf,"resolveTerminalSize");var No=FL(null),Lh={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var aI={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function GL(e){for(let t of e)if(t.rawMode)return!0;return!1}o(GL,"hasRawModeSubscribers");function VL({stdin:e,setRawMode:t,isRawModeSupported:n}){let r=new Set,i,s=!1,a=o(f=>{for(let p of r)p.listener(f)},"handleData"),c=o(()=>{if(s){try{t(!1)}catch{}s=!1}},"disableRawModeIfOwned"),l=o(()=>{i?.off?.("data",a),i=void 0,c()},"detachInput"),d=o(()=>{if(i&&i!==e&&l(),!e||r.size===0){l();return}if(i!==e&&(e.on?.("data",a),i=e),!(n&&GL(r))){c();return}if(e.isRaw===!1&&!s)try{t(!0),s=!0}catch{s=!1}},"syncInputOwnership");return{subscribe(f,p={}){let m={listener:f,rawMode:p.rawMode!==!1};return r.add(m),d(),()=>{r.delete(m),d()}},dispose(){r.clear(),l()}}}o(VL,"createTerminalInputController");var KL=o(({children:e,runtime:t})=>{let[n,r]=jL(()=>t.terminalSize);sa(()=>{if(r(lf(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{r(lf(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=sI(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=oI(()=>VL({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);sa(()=>()=>{s.dispose()},[s]);let a=oI(()=>({stdout:t.stdout,stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported,exit:t.exit,terminalSize:n,isTTY:t.stdout?.isTTY===!0,writeRaw:i,subscribeInput:s.subscribe}),[s.subscribe,t.exit,t.isRawModeSupported,t.setRawMode,t.stdin,t.stdout,s.subscribe,n,i]);return iI(No.Provider,{value:a,children:e})},"TuiRuntimeProvider");function zL(e){let t=e?.stdout??Lh,n=e?.stdin??aI,r=o(s=>{typeof n?.setRawMode=="function"&&n.setRawMode(s)},"setRawMode"),i;return{stdout:t,stdin:n,setRawMode:r,isRawModeSupported:typeof n?.setRawMode=="function",exit:o(()=>{i?.()},"exit"),terminalSize:lf(t),isTTY:t?.isTTY===!0,writeRaw:o(s=>typeof t?.write!="function"?!1:(t.write(s),!0),"writeRaw"),subscribeInput:o(()=>()=>{},"subscribeInput"),attachExit(s){i=s}}}o(zL,"createRuntimeValue");function uf(e,t){let n=zL(t),r=Eh(iI(KL,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}o(uf,"render");var E=YC,I=XC,aa=qC;function YL(e){let t={upArrow:e.name==="up",downArrow:e.name==="down",leftArrow:e.name==="left",rightArrow:e.name==="right",pageDown:e.name==="pagedown",pageUp:e.name==="pageup",home:e.name==="home",end:e.name==="end",return:e.name==="return",escape:e.name==="escape",ctrl:e.ctrl,shift:e.shift,tab:e.name==="tab",backspace:e.name==="backspace",delete:e.name==="delete",meta:e.meta||e.name==="escape"||e.option===!0,super:e.super??!1,hyper:e.hyper??!1,capsLock:e.capsLock??!1,numLock:e.numLock??!1,eventType:e.eventType},n="";return e.isKittyProtocol?e.isPrintable?n=e.text??e.name:e.ctrl&&e.name.length===1&&(n=e.name):e.ctrl?n=e.name:n=e.sequence,!e.isKittyProtocol&&ZC.includes(e.name)&&(n=""),n.startsWith("\x1B")&&(n=n.slice(1)),n.length===1&&typeof n[0]=="string"&&/[A-Z]/.test(n[0])&&(t.shift=!0),{input:n,key:t}}o(YL,"createCompatKeypress");function df(e,t={}){let{isActive:n=!0}=t,r=cf(e),i=cf(null),s=cf(null);sa(()=>{r.current=e},[e]),sa(()=>{if(!n){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=rf(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=sI(c=>{let{input:l,key:d}=YL(_h(c));l==="c"&&d.ctrl||r.current(l,d)},[]);Zc(c=>{if(!n)return;s.current&&(clearTimeout(s.current),s.current=null);let l=i.current,d=typeof c=="string"?c:c.toString("utf8"),f=l?.push(d)??[d];for(let p of f)a(p);d.length>0&&(s.current=setTimeout(()=>{let p=i.current?.flushPendingEscape();p&&a(p)},UL))},{isActive:n,rawMode:!0})}o(df,"useInput");function Pr(){return{stdout:Oi(No)?.stdout??Lh}}o(Pr,"useStdout");function Qc(){let e=Oi(No),t=e?.stdin??aI,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(Qc,"useStdin");function Bo(){return{exit:Oi(No)?.exit??(()=>{})}}o(Bo,"useApp");function ca(){return Oi(No)?.stdout??Lh}o(ca,"useTerminalOutput");function la(){let e=ca();return Oi(No)?.terminalSize??lf(e)}o(la,"useTerminalSize");function ua(){let e=ca();return Oi(No)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}o(ua,"useTerminalWrite");function Zc(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,i=Oi(No),{stdin:s,setRawMode:a,isRawModeSupported:c}=Qc(),l=cf(e);sa(()=>{l.current=e},[e]),sa(()=>{if(!n||!s)return;if(i)return i.subscribeInput(m=>{l.current(m)},{rawMode:r});let d=s,f=d.isRaw;r&&c&&f===!1&&a(!0);let p=o(m=>{l.current(m)},"handleData");return d.on?.("data",p),()=>{if(d.off?.("data",p),r&&c&&f===!1)try{a(!1)}catch{}}},[i,s,n,r,c,a])}o(Zc,"useTerminalInput");import{jsx as eP}from"react/jsx-runtime";import{useInsertionEffect as tP,useMemo as nP}from"react";var XL="\x1B[?1049h",qL="\x1B[?1049l";var JL="\x1B[2J",QL="\x1B[?1000h\x1B[?1002h\x1B[?1006h",ZL="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function ff(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return XL+(n?JL:"")+"\x1B[H"+(t?QL:"")}o(ff,"buildAlternateScreenEnterSequence");function pf(e={}){return(e.mouseTracking!==!1?ZL:"")+qL}o(pf,"buildAlternateScreenExitSequence");var Ph=o(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let i=ca(),{rows:s}=la(),a=ua(),c=nP(()=>n&&i.isTTY===!0,[n,i]);return tP(()=>{if(!c)return;let l=Di(i);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(ff({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(pf({mouseTracking:t}))}},[r,c,t,i,a]),eP(E,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as Ho,jsxs as fI}from"react/jsx-runtime";import{jsx as oP}from"react/jsx-runtime";import iP,{useEffect as mf,useImperativeHandle as sP,useMemo as aP,useRef as hf,useCallback as tl,useState as cP}from"react";function rP(e,t,n){return Math.max(t,Math.min(e,n))}o(rP,"clamp");function el(e){let t=Math.max(0,Math.floor(e.overscan??80)),n=Math.max(1,Math.floor(e.quantum??40)),r=Math.max(0,Math.floor(e.viewportHeight)),i=Math.max(0,Math.floor(e.contentHeight)),s=Math.max(0,i-r),a=rP(Math.floor(e.globalScrollTop),0,s),c=Math.floor(a/n),l=c*n,d=Math.max(0,l-t),f=Math.min(i,l+r+t),p=Math.max(0,f-d),m=a-d;return{blockTop:d,blockHeight:p,inBlockOffset:m,bin:c}}o(el,"computeOverscanWindow");function cI(e,t,n){let r=el({...n,globalScrollTop:e}),i=el({...n,globalScrollTop:t});return r.bin===i.bin}o(cI,"staysWithinOverscanBlock");function lI(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}o(lI,"scheduleRenderFromNode");function uI(e){let t={...e,scrollHeight:Math.max(0,Math.floor(e.scrollHeight)),viewportHeight:Math.max(0,Math.floor(e.viewportHeight)),pendingDelta:Math.floor(e.pendingDelta)};return{...t,scrollTop:gf(t,t.scrollTop)}}o(uI,"normalizeScrollSnapshot");function dI(e,t){return e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.pendingDelta===t.pendingDelta&&e.clampMin===t.clampMin&&e.clampMax===t.clampMax&&e.sticky===t.sticky&&e.overscanRows===t.overscanRows}o(dI,"areSnapshotsEqual");function lP(e,t){return e.start===t.start&&e.end===t.end&&e.scrollTop===t.scrollTop&&e.scrollHeight===t.scrollHeight&&e.viewportHeight===t.viewportHeight&&e.viewportTop===t.viewportTop&&e.pendingDelta===t.pendingDelta&&e.sticky===t.sticky&&e.inWindowScrollTop===t.inWindowScrollTop}o(lP,"areWindowsEqual");function gf(e,t){let n=Math.max(0,e.scrollHeight-e.viewportHeight),r=e.clampMin??0,i=e.clampMax??n;return Math.max(r,Math.min(Math.floor(t),Math.min(n,i)))}o(gf,"clampScrollTop");function $h(e){let t=Math.max(0,e.viewportHeight),n=gf(e,e.scrollTop),r=Math.max(0,e.scrollHeight-n),i=Math.max(0,r-t),s=Math.max(0,Math.floor(e.overscanRows??0));if(s>0&&t>0){let a=el({globalScrollTop:i,viewportHeight:t,contentHeight:e.scrollHeight,overscan:s});return{start:a.blockTop,end:a.blockTop+a.blockHeight,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:i,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:a.inBlockOffset}}return{start:i,end:r,scrollTop:n,scrollHeight:e.scrollHeight,viewportHeight:t,viewportTop:i,pendingDelta:e.pendingDelta,sticky:e.sticky,inWindowScrollTop:0}}o($h,"resolveScrollWindow");function uP(e){let t=gf(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}o(uP,"resolveNativeScrollTop");var Dh=o(({children:e,width:t,flexGrow:n=0,flexShrink:r=1,paddingTop:i=0,scrollTop:s=0,scrollHeight:a=0,viewportHeight:c=0,stickyScroll:l=!0,scrollRef:d,onScrollTopChange:f,onStickyChange:p,onWindowChange:m,renderWindow:h,overscanRows:S})=>{let C=hf(null),R=hf(new Set),T=hf(uI({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:S})),[w,M]=cP(()=>$h(T.current)),P=hf(null),$=tl(()=>{for(let le of R.current)le()},[]),H=tl((le,z=!0)=>{let fe=T.current,ve=uI(le),$e=$h(ve);return T.current=ve,M(ue=>lP(ue,$e)?ue:$e),z&&!dI(fe,ve)&&$(),{previous:fe,snapshot:ve,window:$e,changed:!dI(fe,ve)}},[$]),U=tl(le=>{let z=T.current,fe=Math.max(0,Math.floor(z.overscanRows??0)),ve=C.current;if(fe<=0||!ve||z.viewportHeight<=0)return!1;let $e=Math.max(0,z.scrollHeight-z.viewportHeight),ue=P.current??gf(z,z.scrollTop),De=Math.max(0,Math.min(Math.floor(ue+le),$e)),q=De-ue;if(De===ue)return!0;let oe=Math.max(0,z.scrollHeight-z.viewportHeight-ue),Ee=Math.max(0,z.scrollHeight-z.viewportHeight-De),Re={viewportHeight:z.viewportHeight,contentHeight:z.scrollHeight,overscan:fe};if(!cI(oe,Ee,Re))return!1;let He=el({...Re,globalScrollTop:Ee});return ve.scrollTop=Ee,ve.attributes&&(ve.attributes.inWindowScrollTop=He.inBlockOffset,ve.attributes.pendingScrollDelta=q),lI(ve)?(P.current=De,z.sticky&&(T.current={...T.current,sticky:!1},p?.(!1)),$(),!0):!1},[$,p]),W=tl(le=>{let z=C.current;z&&T.current.overscanRows&&(z.scrollTop=le.viewportTop)},[]);mf(()=>{let le=T.current,z={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:le.clampMin,clampMax:le.clampMax,sticky:l,overscanRows:S},fe=H(z);fe.previous.sticky!==l&&p?.(l),fe.window.scrollTop!==s&&f?.(fe.window.scrollTop)},[H,p,f,S,a,s,l,c]);let J=tl(()=>{let le=C.current;if(!le)return;P.current=null;let z=typeof le.scrollHeight=="number"?Math.max(0,Math.floor(le.scrollHeight)):void 0,fe=typeof le.scrollViewportHeight=="number"?Math.max(0,Math.floor(le.scrollViewportHeight)):void 0,ve=typeof le.scrollViewportTop=="number"?Math.max(0,Math.floor(le.scrollViewportTop)):void 0;if(z===void 0||fe===void 0||ve===void 0)return;let $e=Math.max(0,z-fe-ve),ue=H({...T.current,scrollTop:$e,scrollHeight:z,viewportHeight:fe});ue.changed&&ue.window.scrollTop!==ue.previous.scrollTop&&f?.(ue.window.scrollTop)},[H,f]);mf(()=>{J()},[J]);let pe=aP(()=>({scrollTo(le){P.current=null;let z=H({...T.current,scrollTop:le,pendingDelta:0,sticky:!1});z.previous.sticky!==!1&&p?.(!1),W(z.window),f?.(z.window.scrollTop)},scrollBy(le){if(U(le))return;let z=P.current??T.current.scrollTop;P.current=null;let fe=H({...T.current,scrollTop:z+le,pendingDelta:T.current.pendingDelta+Math.floor(le),sticky:!1});fe.previous.sticky!==!1&&p?.(!1),W(fe.window),f?.(fe.window.scrollTop)},scrollToElement(le,z=0){P.current=null;let fe=H({...T.current,scrollTop:le-z,pendingDelta:0,sticky:!1});fe.previous.sticky!==!1&&p?.(!1),W(fe.window),f?.(fe.window.scrollTop)},scrollToBottom(){P.current=null;let le=H({...T.current,scrollTop:0,pendingDelta:0,sticky:!0});W(le.window),f?.(le.window.scrollTop),le.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return P.current??T.current.scrollTop},getPendingDelta(){return T.current.pendingDelta},getScrollHeight(){return C.current?.scrollHeight??T.current.scrollHeight},getViewportHeight(){return C.current?.scrollViewportHeight??w.viewportHeight},getViewportTop(){return C.current?.scrollViewportTop??w.viewportTop},isSticky(){return T.current.sticky},subscribe(le){return R.current.add(le),()=>{R.current.delete(le)}},setClampBounds(le,z){P.current=null;let fe=H({...T.current,clampMin:le,clampMax:z});W(fe.window),fe.window.scrollTop!==fe.previous.scrollTop&&f?.(fe.window.scrollTop)}}),[H,f,p,U,W]);sP(d,()=>pe,[pe]),mf(()=>{m?.(w)},[m,w]),mf(()=>{T.current.pendingDelta!==0&&(T.current={...T.current,pendingDelta:0})},[w]);let we=P.current!==null,y=we?{...T.current,scrollTop:P.current}:T.current,O=we?$h(y):w,k=h?h(O):e,D=Math.max(0,c+i),ge=uP(y);return iP.createElement("ink-box",{ref:C,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:D,paddingTop:i,overflowX:"visible",overflowY:"scroll"},scrollTop:ge,scrollHeight:T.current.scrollHeight,scrollViewportHeight:T.current.viewportHeight,scrollViewportTop:O.viewportTop,pendingScrollDelta:T.current.pendingDelta,virtualScrollWindowed:!!h,...T.current.overscanRows?{inWindowScrollTop:O.inWindowScrollTop}:{},...T.current.clampMin!==void 0?{scrollClampMin:T.current.clampMin}:{},...T.current.clampMax!==void 0?{scrollClampMax:T.current.clampMax}:{},...l?{stickyScroll:!0}:{}},oP(E,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:k}))},"ScrollBox");var dP=80;function nl(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}o(nl,"resolveFullscreenChromeSlotText");function yf(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:dP)-2);return Math.max(1,fn(e.split(`
|
|
36
|
+
`),n,0,0).visualLines.length)}o(yf,"measureFullscreenChromeSlotRows");var Oh=o(({top:e,topRows:t=0,scrollable:n,renderScrollableWindow:r,bottom:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:C,onWindowChange:R,overscanRows:T})=>{let w=o((pe,we)=>we?Ho(E,{paddingX:1,children:Ho(I,{dimColor:pe?.tone!=="accent",children:we})}):null,"renderChromeSlot"),M=nl(a),P=nl(c),$=yf(M,l),H=w(a,M),U=s?null:w(c,P),W=Math.max(0,e?t:0),J=Math.max(0,p-$-W);return fI(E,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?Ho(E,{flexDirection:"column",flexShrink:0,children:e}):null,fI(E,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[Ho(Dh,{width:l,flexGrow:1,flexShrink:1,paddingTop:$,scrollTop:d,scrollHeight:f,viewportHeight:J,stickyScroll:m,scrollRef:h,onScrollTopChange:S,onStickyChange:C,onWindowChange:R,renderWindow:r,overscanRows:T,children:n}),H?Ho(E,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:H}):null,U?Ho(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:U}):null,s?Ho(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),Ho(E,{flexDirection:"column",flexShrink:0,children:i})]})},"FullscreenLayout");import pP from"string-width";function mP(){return la().columns}o(mP,"useTerminalWidth");var Sf=o(({lines:e,cursorRow:t,cursorCol:n,prompt:r=">",placeholder:i="Type your message...",focus:s=!0,terminalFocused:a=!0,isPasting:c=!1,editingMode:l="idle",theme:d="dark",width:f})=>{let p=xf(()=>te(d),[d]),m=mP(),h=f??m,S=pP(r)+1,C=xf(()=>{let $=Math.max(20,h-S);return fn(e,$,t,n)},[e,h,t,n,S]),R=xf(()=>{if(!C)return null;let[$,H]=Hd(C,[t,n]);return{row:$,col:H}},[C,t,n]),T=s&&a,w=c&&e.some($=>$.length>0),M=C,P=R;return Vn(E,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[w?wn(E,{children:wn(I,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,M.visualLines.length===0||M.visualLines.length===1&&M.visualLines[0]===""?Vn(E,{children:[Vn(I,{color:p.colors.primary,children:[r," "]}),T?Vn(fP,{children:[wn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),wn(I,{dimColor:!0,children:i})]}):wn(I,{dimColor:!0,children:i})]}):M.visualLines.map(($,H)=>{let U=H===P.row,W=H===0?r:" ".repeat(S-1);if(U&&T){let{before:J,current:pe,after:we}=bT($,P.col),y=pe||" ";return Vn(E,{children:[Vn(I,{color:p.colors.primary,children:[W," "]}),wn(I,{color:p.colors.text,children:J}),wn(I,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:y}),wn(I,{color:p.colors.text,children:we})]},H)}return Vn(E,{children:[Vn(I,{color:p.colors.dim,children:[W," "]}),wn(I,{color:p.colors.text,children:$})]},H)})]})},"TextInput"),pI=o(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:i=!0,theme:s="dark"})=>{let a=xf(()=>te(s),[s]);if(!e)return Vn(E,{children:[Vn(I,{color:a.colors.primary,children:[n," "]}),r&&wn(I,{dimColor:!0,children:r}),i&&wn(I,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=dn(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return Vn(E,{children:[Vn(I,{color:a.colors.primary,children:[n," "]}),wn(I,{color:a.colors.text,children:l}),wn(I,{backgroundColor:a.colors.primary,color:"#000000",children:d}),wn(I,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var Nh={"[A":{name:"up"},"[B":{name:"down"},"[C":{name:"right"},"[D":{name:"left"},"[200~":{name:"paste_start"},"[201~":{name:"paste_end"},"[Z":{name:"tab",shift:!0},"[1;2A":{name:"up",shift:!0},"[1;2B":{name:"down",shift:!0},"[1;2C":{name:"right",shift:!0},"[1;2D":{name:"left",shift:!0},"[13;2u":{name:"return",shift:!0},"[13;3u":{name:"return",meta:!0},"[13;5u":{name:"return",ctrl:!0},"[H":{name:"home"},"[F":{name:"end"},"[1~":{name:"home"},"[4~":{name:"end"},"[7~":{name:"home"},"[8~":{name:"end"},"[2~":{name:"insert"},"[3~":{name:"delete"},"[5~":{name:"pageup"},"[6~":{name:"pagedown"},"[11~":{name:"f1"},"[12~":{name:"f2"},"[13~":{name:"f3"},"[14~":{name:"f4"},"[15~":{name:"f5"},"[17~":{name:"f6"},"[18~":{name:"f7"},"[19~":{name:"f8"},"[20~":{name:"f9"},"[21~":{name:"f10"},"[23~":{name:"f11"},"[24~":{name:"f12"},OP:{name:"f1"},OQ:{name:"f2"},OR:{name:"f3"},OS:{name:"f4"},OA:{name:"up"},OB:{name:"down"},OC:{name:"right"},OD:{name:"left"},OH:{name:"home"},OF:{name:"end"}},hP=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,gP=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function yP(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}o(yP,"parseMouseButton");function xP(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}o(xP,"parseModifier");function rl(e,t=!1){let n={name:"",sequence:e,ctrl:!1,meta:!1,shift:!1,insertable:!1,isPasted:!1};if(!e||e.length===0)return n;let r=e.match(gP);if(r){let[,i,s,a,c]=r,l=Number(i),d=Number(s),f=Number(a),p=l&28;return n.shift=(p&4)!==0,n.meta=(p&8)!==0,n.ctrl=(p&16)!==0,l===64?(n.name="wheelup",n.mouse={action:"wheel",button:"wheelup",row:f,column:d},n):l===65?(n.name="wheeldown",n.mouse={action:"wheel",button:"wheeldown",row:f,column:d},n):(n.name="mouse",n.mouse={action:c==="m"?"release":(l&32)!==0?"drag":"press",button:yP(l),row:f,column:d},n)}if(e===`\r
|
|
37
|
+
`)return n.name="newline",n;if(e==="\r")return n.name=t?"newline":"return",n;if(e===`
|
|
38
|
+
`)return n.name="newline",n;if(e===" ")return n.name="tab",n;if(e==="\b"||e==="\x7F")return n.name="backspace",n;if(e==="\x1B\b"||e==="\x1B\x7F")return n.name="backspace",n.meta=!0,n;if(e==="\x1B\r"||e===`\x1B
|
|
39
|
+
`)return n.name=e==="\x1B\r"?"return":"enter",n.shift=!0,n;if(e==="\x1B"||e==="\x1B\x1B")return n.name="escape",n.meta=e.length===2,n;if(e===" "||e==="\x1B ")return n.name="space",n.meta=e.length===2,n.insertable=!n.meta,n;if(e.length===1&&e.charCodeAt(0)<=26)return n.name=String.fromCharCode(e.charCodeAt(0)+96),n.ctrl=!0,n;if(e.length===1&&e>="0"&&e<="9"||e.length===1&&e>="a"&&e<="z")return n.name=e,n.insertable=!0,n;if(e.length===1&&e>="A"&&e<="Z")return n.name=e.toLowerCase(),n.shift=!0,n.insertable=!0,n;if(e.length===1&&e.charCodeAt(0)>=32)return n.name=e,n.insertable=!0,n;if(e.startsWith("\x1B")){let i=e.slice(1);if(i.length===1)return n.meta=!0,i>="a"&&i<="z"?(n.name=i,n.insertable=!0):i>="A"&&i<="Z"?(n.name=i.toLowerCase(),n.shift=!0,n.insertable=!0):i.charCodeAt(0)>=32&&(n.name=i,n.insertable=!0),n;let s=e.match(hP);if(s){let[,l,d,f]=s,p=f||"~",h=Nh[i];if(h)return Object.assign(n,h),n;let S="["+l+p+"]",C=Nh[S];if(C&&C.name){if(n.name=C.name,d){let R=parseInt(d,10)-1,T=xP(R);Object.assign(n,T)}return n}}let c=Nh[i];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=rl(l);return n.name=d.name,n}}return n}o(rl,"parseKeypress");var da=class{static{o(this,"KeypressParser")}buffer="";listeners=[];flushing=!1;inBracketedPaste=!1;pasteAccumulator="";onKeypress(t){return this.listeners.push(t),()=>{let n=this.listeners.indexOf(t);n>=0&&this.listeners.splice(n,1)}}feed(t,n=!1){let r=typeof t=="string"?t:t.toString("utf8");this.buffer+=r,this.flushing=n,this.processBuffer()}processBuffer(){for(;this.buffer.length>0;){let t=this.extractNextSequence();if(!t){if(this.flushing&&this.buffer.length>0){let s=this.buffer;this.buffer="";let a=rl(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let i=rl(n,this.inBracketedPaste);if(i.name==="paste_start"){this.inBracketedPaste=!0,this.pasteAccumulator="";continue}if(i.name==="paste_end"){this.inBracketedPaste=!1,this.flushPasteAccumulator();continue}this.emit(i)}}flushPasteAccumulator(){if(this.pasteAccumulator.length===0)return;let t={name:"paste",sequence:this.pasteAccumulator,ctrl:!1,meta:!1,shift:!1,insertable:!0,isPasted:!0};this.pasteAccumulator="";for(let n of this.listeners)n(t)}extractNextSequence(){if(this.buffer.length===0)return null;let t=this.buffer[0];if(t!=="\x1B")return t==="\r"&&this.buffer.length>=2&&this.buffer[1]===`
|
|
40
|
+
`?{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)}:{sequence:this.buffer[0],remaining:this.buffer.slice(1)};if(this.buffer.length===1)return this.flushing?{sequence:this.buffer,remaining:""}:null;let n=this.buffer[1];if(n!=="["&&n!=="O")return{sequence:this.buffer.slice(0,2),remaining:this.buffer.slice(2)};if(this.buffer.startsWith("\x1B[<")){let a=3;for(;a<this.buffer.length;){let c=this.buffer[a];if(!c)break;if(c>="0"&&c<="9"||c===";"||c==="<"){a++;continue}if(c==="M"||c==="m")return a++,{sequence:this.buffer.slice(0,a),remaining:this.buffer.slice(a)};break}return this.flushing?{sequence:this.buffer,remaining:""}:null}let r=2;for(;r<this.buffer.length;){let a=this.buffer[r];if(!a)break;if(a>="0"&&a<="9"||a===";"){r++;continue}if(a>="A"&&a<="Z"||a>="a"&&a<="z"||a==="~"){r++;break}break}let i=this.buffer[r-1];return i&&(i>="A"&&i<="Z"||i>="a"&&i<="z"||i==="~")?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:this.flushing?{sequence:this.buffer.slice(0,r),remaining:this.buffer.slice(r)}:null}emit(t){if(this.inBracketedPaste){if(t.isPasted=!0,t.insertable){this.pasteAccumulator+=t.sequence;return}if(t.name==="newline"){this.pasteAccumulator+=`
|
|
41
|
+
`;return}return}for(let n of this.listeners)n(t)}clear(){this.buffer=""}};function Bh(e){return["up","down","left","right","home","end","insert","delete","pageup","pagedown","wheelup","wheeldown","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","tab","return","enter","backspace","escape"].includes(e.name)}o(Bh,"isFunctionKey");function mI(e){return e.ctrl||e.meta||Bh(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}o(mI,"isPrintable");function hI(e){let t=[];return e.ctrl&&t.push("Ctrl"),e.meta&&t.push("Alt"),e.shift&&t.push("Shift"),e.name?t.push(e.name.toUpperCase()):e.sequence&&t.push(e.sequence),t.join("+")}o(hI,"getKeyDisplayName");import SP,{createContext as wP,useContext as TP,useEffect as gI,useCallback as CP,useRef as Hh}from"react";var IP=50;function wf(){let e=new Map,t=null,n=o(()=>(t===null&&(t=[...e.keys()].sort((r,i)=>i-r)),t),"getSortedPriorities");return{register(r,i){return e.has(r)||e.set(r,[]),e.get(r).push(i),t=null,()=>{let s=e.get(r);if(!s)return;let a=s.indexOf(i);a>=0&&s.splice(a,1),s.length===0&&e.delete(r),t=null}},dispatch(r){let i=n();for(let s of i){let a=e.get(s);if(a)for(let c=a.length-1;c>=0;c-=1){let l=a[c];if(l&&l(r)===!0)return!0}}return!1},size(){let r=0;for(let i of e.values())r+=i.length;return r}}}o(wf,"createKeypressManager");var yI=wP(null);function ol({children:e,enabled:t=!0}){let{stdout:n}=Pr(),r=Hh(wf()),i=Hh(null),s=Hh(null),a=CP(c=>{t&&r.current.dispatch(c)},[t]);return gI(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new da;i.current=c;let l=c.onKeypress(a);return()=>{s.current&&(clearTimeout(s.current),s.current=null),l(),i.current=null;try{n?.write?.("\x1B[?2004l")}catch{}}},[a,t,n]),Zc(c=>{t&&(s.current&&clearTimeout(s.current),i.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{i.current?.feed("",!0)},IP)))},{isActive:t,rawMode:!0}),SP.createElement(yI.Provider,{value:r.current},e)}o(ol,"KeypressProvider");function Tf(){let e=TP(yI);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}o(Tf,"useKeypressManager");function $n(e,t,n=[]){let r=Tf(),i=typeof e=="function",s,a,c;if(i){s=e;let l=t??{};c=l.isActive??!0;let d=l.priority;a=typeof d=="boolean"?d?un.High:un.Normal:d??un.Normal}else a=typeof e=="boolean"?e?un.High:un.Normal:e,s=t,c=!0;gI(()=>c?r.register(a,s):void 0,[r,a,c,...i?[]:n])}o($n,"useKeypress");function Kn(e){return t=>!(e.name!==void 0&&t.name!==e.name||e.ctrl!==void 0&&t.ctrl!==e.ctrl||e.meta!==void 0&&t.meta!==e.meta||e.shift!==void 0&&t.shift!==e.shift||e.sequence!==void 0&&t.sequence!==e.sequence||e.insertable!==void 0&&t.insertable!==e.insertable)}o(Kn,"createKeyMatcher");var Wh={isEnter:Kn({name:"return"}),isEscape:Kn({name:"escape"}),isCtrlC:Kn({name:"c",ctrl:!0}),isCtrlD:Kn({name:"d",ctrl:!0}),isUp:Kn({name:"up"}),isDown:Kn({name:"down"}),isLeft:Kn({name:"left"}),isRight:Kn({name:"right"}),isBackspace:Kn({name:"backspace"}),isDelete:Kn({name:"delete"}),isTab:Kn({name:"tab"}),isShiftEnter:o(e=>e.name==="return"&&e.shift===!0,"isShiftEnter"),isCtrlEnter:o(e=>e.name==="return"&&e.ctrl===!0,"isCtrlEnter"),isInsertable:o(e=>e.insertable===!0&&!e.ctrl&&!e.meta,"isInsertable")};import{jsx as MP}from"react/jsx-runtime";import{useState as AP,useEffect as wI,useCallback as Wo,useMemo as TI,createContext as _P,useContext as CI}from"react";function bP(e,t){if(!e)return{matched:!0,score:0,highlights:[]};if(e.length>t.length)return{matched:!1,score:0,highlights:[]};let n=e.toLowerCase(),r=t.toLowerCase(),i=0,s=-1,a=[];for(let l=0;l<e.length;l++){let d=n[l];if(d===void 0)continue;let f=r.indexOf(d,s+1);if(f===-1)return{matched:!1,score:0,highlights:[]};f===s+1?i+=10:f===0?i+=5:i-=1,t[f]===e[l]&&(i+=2),a.push(f),s=f}let c=vP(t,a);return i+=c,{matched:!0,score:i,highlights:a}}o(bP,"fuzzyMatch");function vP(e,t){let n=0;for(let r of t)if(r===0)n+=3;else if(r>0){let i=e[r-1];(i===" "||i==="-"||i==="_")&&(n+=2)}return n}o(vP,"calculateWordBoundaryBonus");function RP(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}o(RP,"prefixMatch");function kP(e,t){if(RP(e,t)){let i=e?Array.from({length:e.length},(s,a)=>a):[];return{matched:!0,score:100+e.length*10,highlights:i,isPrefix:!0}}return{...bP(e,t),isPrefix:!1}}o(kP,"combinedMatch");function xI(e,t,n=0){return e?t.map(r=>{let i=kP(e,r.text);return{...r,_fuzzyScore:i.matched?i.score:-1,_fuzzyHighlights:i.highlights}}).filter(r=>(r._fuzzyScore??-1)>=n).sort((r,i)=>{let s=(i._fuzzyScore??0)-(r._fuzzyScore??0);return s!==0?s:r.text.length-i.text.length}):t}o(xI,"sortCandidatesCombined");var EP={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},Fh=class{static{o(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...EP,...t},this.completers=[new Xm(this.options.gitRoot),new mT,new hT,new Pd(this.options.cwd)],this.state={visible:!1,selectedIndex:0,completions:[],loading:!1}}getOptions(){return{...this.options}}getState(){return{...this.state}}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}updateOptions(t){let n=t.gitRoot!==void 0&&t.gitRoot!==this.options.gitRoot,r=t.cwd!==void 0&&t.cwd!==this.options.cwd;if(this.options={...this.options,...t},n&&this.completers.find(s=>s instanceof Xm)?.setGitRoot(this.options.gitRoot),r){let i=this.completers.findIndex(s=>s instanceof Pd);i!==-1&&(this.completers[i]=new Pd(this.options.cwd))}}handleInput(t,n){if(this.lastInput=t,this.lastCursorPos=n,this.debounceTimer&&clearTimeout(this.debounceTimer),!this.shouldTrigger(t,n)){this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0});return}this.debounceTimer=setTimeout(()=>{this.fetchCompletions(t,n)},this.options.debounceDelay)}async fetchImmediate(t,n){return this.fetchCompletionsInternal(t,n)}selectPrevious(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex>0?this.state.selectedIndex-1:this.state.completions.length-1;this.updateState({selectedIndex:t})}selectNext(){if(!this.state.visible||this.state.completions.length===0)return;let t=this.state.selectedIndex<this.state.completions.length-1?this.state.selectedIndex+1:0;this.updateState({selectedIndex:t})}getSelectedCompletion(){return!this.state.visible||this.state.completions.length===0?null:this.state.completions[this.state.selectedIndex]??null}acceptCompletion(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),t.text):null}acceptCompletionWithType(){let t=this.getSelectedCompletion();return t?(this.updateState({visible:!1,completions:[],selectedIndex:0}),{text:t.text,type:t.type}):null}cancel(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null),this.state.visible&&this.updateState({visible:!1,completions:[],selectedIndex:0})}shouldTrigger(t,n){if(t.length<this.options.minTriggerChars)return!1;let r=t.slice(0,n),s=qm(r)!==-1,a=r.lastIndexOf("@"),c=a===0||a>0&&/\s/.test(r[a-1]??"");return s||c}fetchCompletions(t,n){this.updateState({loading:!0}),this.fetchCompletionsInternal(t,n).then(r=>{this.lastInput!==t||this.lastCursorPos!==n||(r.length>0?this.updateState({visible:!0,completions:r.slice(0,this.options.maxCompletions),selectedIndex:0,loading:!1}):this.updateState({visible:!1,completions:[],selectedIndex:0,loading:!1}))}).catch(()=>{this.updateState({loading:!1})})}async fetchCompletionsInternal(t,n){let r=this.completers.filter(l=>l.canComplete(t,n));if(r.length===0)return[];let i=[];for(let l of r)try{let d=await l.getCompletions(t,n);i.push(...d)}catch(d){hn({source:"repl:autocomplete",level:"error",message:"Completer failed; continuing with remaining completers.",detail:d})}let s=this.extractPattern(t,n),a=i.map((l,d)=>({_idx:d,text:l.type==="command"&&l.display.startsWith("/")?l.display.slice(1):l.display}));return xI(s,a,this.options.minScore).map(l=>i[l._idx]).filter(l=>l!==void 0)}extractPattern(t,n){let r=t.slice(0,n),i=qm(r);if(i!==-1){let c=r.slice(i),l=c.match(/^\/skill:(\S*)$/);if(l)return l[1]??"";let d=c.match(/^\/(\S*)$/);if(d)return d[1]??"";let f=c.split(/\s+/);return(f[f.length-1]??"").toLowerCase()}let s=r.lastIndexOf("@");if(s!==-1){let c=r.slice(s+1),l=c.lastIndexOf("/");return l===-1?c:c.slice(l+1)}let a=r.match(/(\S+)$/);return a?a[1]??"":""}updateState(t){this.state={...this.state,...t};for(let n of this.listeners)try{n(this.state)}catch(r){hn({source:"repl:autocomplete",level:"error",message:"Listener failed during autocomplete state update.",detail:r})}}};function SI(e){return new Fh(e)}o(SI,"createAutocompleteProvider");var jh=_P(null);function Cf({children:e,cwd:t,gitRoot:n}){let r=il({cwd:t,gitRoot:n,enabled:!0});return MP(jh.Provider,{value:r,children:e})}o(Cf,"AutocompleteContextProvider");function Fo(){return CI(jh)}o(Fo,"useAutocompleteContext");function LP(e,t){let n={command:"command",file:"file",argument:"argument",skill:"skill"},r={command:"\u26A1",file:"\u{1F4C4}",argument:"\u2022",skill:"\u2605"};return{id:`autocomplete-${t}`,text:e.text,displayText:e.display,description:e.description,type:n[e.type]??"command",icon:r[e.type]??">"}}o(LP,"completionToSuggestion");function il(e={}){let t=CI(jh);return t&&!e.cwd&&!e.gitRoot?t:PP(e)}o(il,"useAutocomplete");function PP(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,i=TI(()=>SI({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);wI(()=>{i.updateOptions({cwd:t,gitRoot:n})},[i,t,n]);let[s,a]=AP({visible:!1,selectedIndex:0,completions:[],loading:!1});wI(()=>i.subscribe(T=>{a(T)}),[i]);let c=TI(()=>s.completions.map((R,T)=>LP(R,T)),[s.completions]),l=Wo((R,T)=>{if(!r){i.cancel();return}i.handleInput(R,T)},[i,r]),d=Wo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),f=Wo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),p=Wo(()=>{s.visible&&i.selectPrevious()},[i,s.visible]),m=Wo(()=>{s.visible&&i.selectNext()},[i,s.visible]),h=Wo(()=>{s.visible&&i.cancel()},[i,s.visible]),S=Wo(()=>{i.cancel()},[i]),C=Wo(()=>i,[i]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:m,handleEscape:h,cancel:S,getProvider:C}}o(PP,"useAutocompleteImpl");import{useCallback as sl,useRef as II}from"react";var zn=[];function If(e={}){let{maxSize:t=1e3,onSave:n}=e,r=II(-1),i=II(""),s=sl((f,p)=>{if(!f.trim())return;if(zn[zn.length-1]?.text!==f){let h={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};zn.push(h),zn.length>t&&zn.splice(0,zn.length-t),n?.(h)}r.current=-1,i.current=""},[t,n]),a=sl(()=>zn.length===0?null:r.current===-1?(r.current=zn.length-1,zn[r.current]??null):r.current>0?(r.current--,zn[r.current]??null):null,[]),c=sl(()=>r.current===-1?null:r.current<zn.length-1?(r.current++,zn[r.current]??null):(r.current=-1,{text:i.current,timestamp:Date.now()}),[]),l=sl(()=>{r.current=-1,i.current=""},[]),d=sl(f=>{r.current===-1&&(i.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}o(If,"useInputHistory");function Tn(e,t,n){return dn(e).slice(t,n).join("")}o(Tn,"sliceByCodePoints");var fa=class{static{o(this,"TextBuffer")}_text="";_lines=[""];_cursor={row:0,col:0};_rememberedCol=0;_history=[];_historyIndex=-1;_maxHistory;constructor(t={}){this._maxHistory=t.maxHistory??100}get text(){return this._text}get lines(){return[...this._lines]}get cursor(){return{...this._cursor}}get lineCount(){return this._lines.length}get currentLine(){return this._lines[this._cursor.row]??""}get isEmpty(){return this._text.length===0}get currentLineVisualWidth(){return lr(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=Tn(t,0,this._cursor.col);return{row:this._cursor.row,col:lr(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=dn(t)[this._cursor.col];return r?cr(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=dn(n),i=0;for(let s=0;s<r.length;s++){let a=cr(r[s])?2:1;if(i+a>t)return s;i+=a}return r.length}moveToVisualCol(t){this._cursor.col=this.visualColToLogicalCol(t),this._rememberedCol=this._cursor.col}setText(t){this._saveHistory(),this._setTextInternal(t),this._clampCursor()}replaceRange(t,n,r){this._saveHistory();let i=Math.max(0,Math.min(t,this._text.length)),s=Math.max(i,Math.min(n,this._text.length)),a=this._text.slice(0,i)+r+this._text.slice(s);this._setTextInternal(a),this.moveToAbsoluteOffset(i+r.length)}insert(t,n){if(this._saveHistory(),n?.paste){this._insertText(t);return}let r=t.split(`
|
|
42
|
+
`);for(let i=0;i<r.length;i++)i>0&&this._insertNewline(),this._insertText(r[i])}_insertText(t){let n=this._lines[this._cursor.row],r=Tn(n,0,this._cursor.col),i=Tn(n,this._cursor.col);this._lines[this._cursor.row]=r+t+i,this._cursor.col+=yn(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=Tn(t,0,this._cursor.col),r=Tn(t,this._cursor.col);this._lines[this._cursor.row]=n,this._lines.splice(this._cursor.row+1,0,r),this._cursor.row++,this._cursor.col=0,this._rememberedCol=0,this._updateText()}backspace(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=Tn(t,0,n),i=Tn(t,this._cursor.col);this._lines[this._cursor.row]=r+i,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}else if(this._cursor.row>0){this._saveHistory();let t=this._lines[this._cursor.row],n=this._lines[this._cursor.row-1];this._cursor.col=yn(n),this._lines[this._cursor.row-1]=n+t,this._lines.splice(this._cursor.row,1),this._cursor.row--,this._rememberedCol=this._cursor.col,this._updateText()}}delete(){let t=this._lines[this._cursor.row];if(this._cursor.col<yn(t)){this._saveHistory();let n=Tn(t,0,this._cursor.col),r=Tn(t,this._cursor.col+1);this._lines[this._cursor.row]=n+r,this._updateText()}else if(this._cursor.row<this._lines.length-1){this._saveHistory();let n=this._lines[this._cursor.row+1];this._lines[this._cursor.row]=t+n,this._lines.splice(this._cursor.row+1,1),this._updateText()}}move(t){switch(t){case"up":this._moveUp();break;case"down":this._moveDown();break;case"left":this._moveLeft();break;case"right":this._moveRight();break;case"home":this._moveHome();break;case"end":this._moveEnd();break}}_moveUp(){this._cursor.row>0&&(this._cursor.row--,this._clampColumn())}_moveDown(){this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._clampColumn())}_moveLeft(){this._cursor.col>0?(this._cursor.col--,this._rememberedCol=this._cursor.col):this._cursor.row>0&&(this._cursor.row--,this._cursor.col=yn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<yn(t)?(this._cursor.col++,this._rememberedCol=this._cursor.col):this._cursor.row<this._lines.length-1&&(this._cursor.row++,this._cursor.col=0,this._rememberedCol=0)}_moveHome(){this._cursor.col=0,this._rememberedCol=0}_moveEnd(){this._cursor.col=yn(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=yn(t);this._cursor.col=Math.min(this._rememberedCol,n)}_clampCursor(){this._cursor.row=Math.max(0,Math.min(this._cursor.row,this._lines.length-1)),this._cursor.col=Math.max(0,Math.min(this._cursor.col,yn(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<yn(t)&&(this._saveHistory(),this._lines[this._cursor.row]=Tn(t,0,this._cursor.col),this._updateText())}killLineLeft(){if(this._cursor.col>0){this._saveHistory();let t=this._lines[this._cursor.row];this._lines[this._cursor.row]=Tn(t,this._cursor.col),this._cursor.col=0,this._rememberedCol=0,this._updateText()}}deleteWordLeft(){if(this._cursor.col===0)return;this._saveHistory();let t=this._lines[this._cursor.row],n=this._cursor.col-1,r=dn(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let i=Tn(t,0,n),s=Tn(t,this._cursor.col);this._lines[this._cursor.row]=i+s,this._cursor.col=n,this._rememberedCol=this._cursor.col,this._updateText()}_saveHistory(){this._history=this._history.slice(0,this._historyIndex+1),this._history.push(this._text),this._history.length>this._maxHistory&&this._history.shift(),this._historyIndex=this._history.length-1}undo(){return this._historyIndex>0?(this._historyIndex--,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
43
|
+
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}redo(){return this._historyIndex<this._history.length-1?(this._historyIndex++,this._text=this._history[this._historyIndex]??"",this._lines=this._text.split(`
|
|
44
|
+
`),this._lines.length===0&&(this._lines=[""]),this._clampCursor(),!0):!1}_updateText(){this._text=this._lines.join(`
|
|
45
|
+
`)}_setTextInternal(t){this._text=t,this._lines=t.split(`
|
|
46
|
+
`),this._lines.length===0&&(this._lines=[""])}moveToAbsoluteOffset(t){let r=Math.max(0,Math.min(t,this._text.length));for(let i=0;i<this._lines.length;i++){let s=this._lines[i]??"",a=s.length;if(r<=a){this._cursor={row:i,col:yn(s.slice(0,r))},this._rememberedCol=this._cursor.col;return}r-=a,i<this._lines.length-1&&(r-=1)}this.moveToEnd()}clear(){this._saveHistory(),this._text="",this._lines=[""],this._cursor={row:0,col:0},this._rememberedCol=0}getAbsoluteOffset(){let t=0;for(let r=0;r<this._cursor.row;r++)t+=(this._lines[r]?.length??0)+1;let n=this._lines[this._cursor.row]??"";return t+=Tn(n,0,this._cursor.col).length,t}isLineContinuation(){return this._lines[this._cursor.row].endsWith("\\")}moveToEnd(){this._cursor.row=this._lines.length-1,this._cursor.col=yn(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as $P,useCallback as Bt,useRef as Uh,useEffect as DP}from"react";function bf(e={}){let{initialValue:t="",onTextChange:n}=e,r=Uh(null),i=Uh(null),s=Uh(null),[a,c]=$P({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new fa,t&&r.current.setText(t)),i.current===null&&(i.current=sT());let l=r.current,d=i.current,f=Bt(y=>{c(O=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:y?.isPasting??O.isPasting,editingMode:y?.editingMode??O.editingMode})),n?.(l.text)},[l,n]),p=Bt(()=>{s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{c(y=>({...y,isPasting:!1,editingMode:y.text?"typing":"idle"})),s.current=null},120)},[]),m=Bt(y=>{l.setText(y),f({isPasting:!1,editingMode:y?"typing":"idle"})},[l,f]),h=Bt((y,O,k)=>{l.replaceRange(y,O,k),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=Bt((y,O)=>{let k=O?.paste??!1;if(k&&oT(y)){let D=y.replace(/\r\n/g,`
|
|
47
|
+
`).replace(/\r/g,`
|
|
48
|
+
`),{placeholder:ge}=d.registerText(D);l.insert(ge,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(y,{paste:!1}),f({isPasting:k,editingMode:k?"pasting":"typing"}),k&&p()},[l,d,p,f]),C=Bt(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),R=Bt(()=>{let y=l.getAbsoluteOffset(),O=_d(l.text,y);O?l.replaceRange(O.start,O.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),T=Bt(()=>{let y=l.getAbsoluteOffset(),O=Ld(l.text,y);O?l.replaceRange(O.start,O.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),w=Bt(y=>{l.move(y),f()},[l,f]),M=Bt(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),P=Bt(()=>{let y=l.undo();return y&&f(),y},[l,f]),$=Bt(()=>{let y=l.redo();return y&&f(),y},[l,f]),H=Bt(()=>{l.moveToEnd(),f()},[l,f]),U=Bt(y=>{l.moveToAbsoluteOffset(y),f()},[l,f]),W=Bt(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),J=Bt(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),pe=Bt(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),we=Bt(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return DP(()=>()=>{s.current&&clearTimeout(s.current),r.current=null},[]),{buffer:l,text:a.text,cursor:a.cursor,lines:a.lines,isPasting:a.isPasting,editingMode:a.editingMode,pasteStore:d,resetTransientState:we,setText:m,replaceRange:h,insert:S,newline:C,backspace:R,delete:T,move:w,moveToEnd:H,moveToOffset:U,killLineRight:W,killLineLeft:J,deleteWordLeft:pe,clear:M,undo:P,redo:$}}o(bf,"useTextBuffer");import{jsx as Ni,jsxs as kf}from"react/jsx-runtime";import{useState as kI}from"react";import{useCallback as pa,useEffect as Gh,useRef as vf}from"react";function bI(e,t,n){let r=Math.max(0,Math.min(t,e.length)),i=e.slice(0,r);if(n.type==="command"||n.type==="skill"){let a=i.lastIndexOf("/");return{start:a===-1?0:a,end:r,replacement:n.text}}if(n.type==="argument"){let a=i.match(/\S+$/);if(a){let c=a[0],l=r-c.length;if(c.startsWith("/")&&i.lastIndexOf("/")===l)return{start:r,end:r,replacement:` ${n.text}`}}return{start:a?r-a[0].length:r,end:r,replacement:n.text}}let s=i.lastIndexOf("@");return{start:s===-1?0:s,end:r,replacement:n.text}}o(bI,"buildAutocompleteReplacement");function Rf(e,t){hn({source:"repl:prompt-input",level:"warn",message:e,...t!==void 0?{detail:t}:{}})}o(Rf,"reportPromptInputDiagnostic");var NP=500;function vI(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}o(vI,"shouldUseHistoryNavigation");function BP(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<NP?"clear-input":"arm-clear":"pass-through"}o(BP,"resolvePromptEscapeBehavior");function HP(e){return e.keyName==="newline"||e.keyName==="return"&&(e.ctrl||e.shift)||e.isPasting?"newline":e.isAutocompleteVisible?"accept-completion-and-submit":e.isLineContinuation?"line-continuation":"submit"}o(HP,"resolvePromptEnterBehavior");function WP(e){if(e.meta&&e.name==="backspace")return"delete-word-left";if(e.ctrl)switch(e.name){case"a":return"move-home";case"e":return"move-end";case"z":return"undo";case"y":return"redo";case"k":return"kill-line-right";case"u":return"kill-line-left";case"w":return"delete-word-left";default:return}}o(WP,"resolvePromptEditingCommand");function RI({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:i,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onPasteFallback:l,onHistoryRecall:d,onPopPendingInputs:f}){let p=vf(0),{add:m,navigateUp:h,navigateDown:S,reset:C,saveTempInput:R}=If(),{buffer:T,text:w,cursor:M,lines:P,isPasting:$,editingMode:H,pasteStore:U,resetTransientState:W,setText:J,replaceRange:pe,clear:we,move:y,moveToOffset:O,insert:k,backspace:D,newline:ge,delete:le,undo:z,redo:fe,killLineRight:ve,killLineLeft:$e,deleteWordLeft:ue}=bf({initialValue:r,onTextChange:c}),De=vf(0);Gh(()=>{if($)return;if(w.length<=1e4){De.current=0;return}if(w.length===De.current)return;let A=U.peekNextId(),{truncatedText:B,placeholderContent:Q}=iT(w,A);Q&&(U.registerTruncatedText(Q),De.current=B.length,J(B))},[w,$,U,J]);let q=Fo(),oe=il({cwd:i,gitRoot:s,enabled:a}),{state:Ee,suggestions:Re,handleInput:He,handleTab:Xe,handleEnter:nt,handleUp:ce,handleDown:G,handleEscape:me}=q??oe;Gh(()=>{n||(p.current=0,W(),Ee.visible&&me())},[Ee.visible,n,me,W]);let qe=vf(w);Gh(()=>{a&&w!==qe.current&&(qe.current=w,He(w,T.getAbsoluteOffset()))},[a,T,He,w]);let et=pa(A=>{if(!A?.text)return;let B=bI(w,T.getAbsoluteOffset(),A),Q=w.slice(0,B.start)+B.replacement+w.slice(B.end);return pe(B.start,B.end,B.replacement),Q},[T,pe,w]),on=pa(A=>{let B=A??w;if(!B.trim())return;let Q=U.expand(B),_=new Set,Te=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let ke of B.matchAll(Te)){let rt=Number.parseInt(ke[2]??"0",10);Number.isFinite(rt)&&rt>0&&_.add(rt)}let xe=[];for(let ke of _){let rt=U.get(ke);rt&&xe.push(rt)}m(B,{pastedContents:xe}),e({displayText:B,fullText:Q,pastedContents:xe}),we()},[m,we,e,U,w]),Fe=pa(A=>{if(A){if(A.pastedContents&&A.pastedContents.length>0){for(let B of A.pastedContents)U.adopt(B);d?.({text:A.text,pastedContents:[...A.pastedContents]})}J(A.text)}},[d,U,J]),Jt=pa(async A=>{try{let B=await yT(A);if(B.kind==="images"){let Q=B.blocks.map(_=>`@${_.path}`).join(" ");k(`${Q} `,{paste:!1})}else B.kind==="error"&&(Rf(`Paste image handling failed: ${B.message}`),k(A,{paste:!1}),l?.("Image paste failed; inserted as plain text."))}catch(B){Rf("Paste image handling failed.",B)}},[k,l]),Wt=vf(!1),vn=pa(async()=>{if(!Wt.current){Wt.current=!0;try{let A=await xT();if(A.kind==="images"){let B=A.blocks.map(Q=>`@${Q.path}`).join(" ");k(`${B} `,{paste:!1})}else A.kind==="error"&&Rf(`Clipboard image handling failed: ${A.message}`)}catch(A){Rf("Clipboard image handling failed.",A)}finally{Wt.current=!1}}},[k]),N=pa(A=>{if(!n)return!1;if(A.name==="v"&&(A.ctrl||A.meta))return vn(),!0;if(A.name==="paste"&&A.isPasted&&ST(A.sequence).length>0)return Jt(A.sequence),!0;let B=Ee.visible&&Re.length>0;if(A.name==="tab"&&B){let _=Xe();return _&&et(_),!0}if(A.ctrl&&A.name==="c")return w.length>0?(we(),C()):t?.(),!0;if(A.name==="escape")switch(BP({isAutocompleteVisible:B,hasText:w.length>0,timeSinceLastEscapeMs:Date.now()-p.current})){case"cancel-autocomplete":return me(),p.current=0,!0;case"clear-input":return p.current=0,we(),C(),!0;case"arm-clear":return p.current=Date.now(),!0;default:return!1}if(A.name==="up"){if(B)return ce(),!0;if(A.ctrl)return y("up"),!0;if(w.length===0&&f){let _=f();if(typeof _=="string"&&_.length>0)return J(_),!0}if(vI(M.row,P.length,"up")){R(w);let _=h();Fe(_)}else y("up");return!0}if(A.name==="down"){if(B)return G(),!0;if(A.ctrl)return y("down"),!0;if(vI(M.row,P.length,"down")){let _=S();Fe(_)}else y("down");return!0}if(A.name==="left"){let _=T.getAbsoluteOffset(),Te=_d(T.text,_);return Te?O(Te.start):y("left"),!0}if(A.name==="right"){let _=T.getAbsoluteOffset(),Te=Ld(T.text,_);return Te?O(Te.end):y("right"),!0}if(A.name==="home")return y("home"),!0;if(A.name==="end")return y("end"),!0;let Q=WP(A);if(Q)switch(Q){case"move-home":return y("home"),!0;case"move-end":return y("end"),!0;case"undo":return z(),!0;case"redo":return fe(),!0;case"kill-line-right":return ve(),!0;case"kill-line-left":return $e(),!0;case"delete-word-left":return ue(),!0;default:break}if(A.name==="backspace")return D(),!0;if(A.name==="delete")return le(),!0;if(A.name==="return"||A.name==="newline")switch(HP({keyName:A.name,ctrl:A.ctrl,shift:A.shift,isAutocompleteVisible:B,isLineContinuation:!!P[M.row]?.endsWith("\\"),isPasting:$})){case"accept-completion-and-submit":{let Te=nt();if(Te){let xe=et(Te);on(xe)}else on();return!0}case"newline":return ge(),!0;case"line-continuation":return D(),ge(),!0;default:return on(),!0}return A.insertable&&!A.ctrl&&!A.meta?(k(A.sequence,A.isPasted?{paste:!0}:void 0),!0):!1},[et,m,Ee.visible,D,T,we,M.row,le,n,G,me,ce,nt,Fe,Xe,Jt,vn,P,$e,ve,y,O,S,h,ge,t,f,fe,C,R,J,on,Re.length,w.length,ue,$,z]);return{text:w,cursor:M,lines:P,isPasting:$,terminalFocused:n,editingMode:H,handleKey:N}}o(RI,"usePromptInputController");var Bi=o(({onSubmit:e,onHistoryRecall:t,onPopPendingInputs:n,placeholder:r="Type a message...",prompt:i=">",focus:s=!0,initialValue:a="",cwd:c,gitRoot:l,autocompleteEnabled:d=!0,onInputChange:f,onPasteFallback:p})=>{let{exit:m}=Bo(),{cursor:h,lines:S,handleKey:C,isPasting:R,terminalFocused:T,editingMode:w}=RI({onSubmit:e,onExit:m,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onPasteFallback:p,onHistoryRecall:t,onPopPendingInputs:n});return $n(un.High,M=>C(M),[C]),Ni(E,{flexDirection:"column",children:Ni(Sf,{lines:S,cursorRow:h.row,cursorCol:h.col,prompt:i,placeholder:r,focus:s,terminalFocused:T,isPasting:R,editingMode:w,theme:"dark"})})},"InputPrompt"),EI=o(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,i]=kI(""),[s,a]=kI(0);$n(un.High,p=>{if(p.name==="return")return r.trim()&&(e(r),i(""),a(0)),!0;if(p.name==="backspace"&&s>0){let m=[...r].slice(0,s-1).join(""),h=[...r].slice(s).join("");return i(m+h),a(s-1),!0}if(p.name==="left"&&s>0)return a(s-1),!0;if(p.name==="right"&&s<[...r].length)return a(s+1),!0;if(p.insertable&&!p.ctrl&&!p.meta){let m=[...r].slice(0,s).join(""),h=[...r].slice(s).join("");return i(m+p.sequence+h),a(s+1),!0}return!1},[r,s,e]);let c=te("dark");if(!r)return kf(E,{children:[kf(I,{color:c.colors.primary,children:[n," "]}),t&&Ni(I,{dimColor:!0,children:t}),Ni(I,{backgroundColor:c.colors.primary,color:"#000000",children:" "})]});let l=[...r].slice(0,s).join(""),d=[...r][s]??" ",f=[...r].slice(s+1).join("");return kf(E,{children:[kf(I,{color:c.colors.primary,children:[n," "]}),Ni(I,{children:l}),Ni(I,{backgroundColor:c.colors.primary,color:"#000000",children:d}),Ni(I,{children:f})]})},"SimpleInputPrompt");import{jsx as gt,jsxs as zt}from"react/jsx-runtime";import{useState as AI,useEffect as _I}from"react";var MI=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],FP=80,Ef=new Set,al=null;function jP(){let e=Array.from(Ef);for(let t of e)t()}o(jP,"dispatchSharedSpinnerTick");function UP(e){return Ef.add(e),al===null&&(al=setInterval(jP,FP)),()=>{Ef.delete(e),Ef.size===0&&al!==null&&(clearInterval(al),al=null)}}o(UP,"subscribeToSharedSpinnerClock");function cl(e=!0){let[t,n]=AI(0);return _I(()=>{if(e)return UP(()=>{n(r=>r+1)})},[e]),t}o(cl,"useSharedSpinnerTick");var Dn=o(({color:e,theme:t})=>{let n=t??te("dark"),i=cl(!0)%MI.length,s=e??n.colors.accent;return gt(I,{color:s,children:MI[i]})},"Spinner");function GP(e){return e<=0?0:Math.round(e/4)}o(GP,"estimateOutputTokens");function VP(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n===0?`${r}m${i}s`:`${n}h${r}m${i}s`}o(VP,"formatElapsedDuration");var LI=o(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??te("dark");if(cl(e!==null),e===null)return null;let i=KP(Date.now()-e,t);return gt(I,{color:r.colors.dim,wrap:"truncate",children:i})},"SpinnerStatsTail");function KP(e,t){let n=VP(e),r=GP(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}o(KP,"buildSpinnerStatsText");var Vh=o(({label:e,dotCount:t=3,theme:n})=>{let r=n??te("dark"),[i,s]=AI(1);_I(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(i);return zt(E,{children:[e&>(I,{color:r.colors.text,children:e}),gt(I,{color:r.colors.accent,children:a})]})},"DotsIndicator"),Kh=o(({progress:e,label:t,width:n=20,theme:r})=>{let i=r??te("dark"),s=Math.max(0,Math.min(100,e)),a=Math.round(s/100*n),c=n-a,l="\u2588".repeat(a),d="\u2591".repeat(c);return zt(E,{flexDirection:"column",children:[t&>(E,{marginBottom:1,children:gt(I,{color:i.colors.text,children:t})}),zt(E,{children:[gt(I,{color:i.colors.primary,children:l}),gt(I,{dimColor:!0,children:d}),zt(I,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),PI=o(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??te("dark"),i=e??"Thinking";return zt(E,{children:[t&>(E,{marginRight:1,children:gt(Dn,{theme:r})}),zt(I,{color:r.colors.accent,children:[i,"\u2026"]})]})},"ThinkingIndicator"),$I=o(({message:e,subMessage:t,progress:n,type:r="spinner",compact:i=!1,theme:s})=>{let a=s??te("dark"),c=e??"Loading";return i?zt(E,{children:[gt(Dn,{theme:a}),zt(I,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?zt(E,{flexDirection:"column",children:[gt(Kh,{progress:n,label:c,theme:a}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]}):r==="dots"?zt(E,{flexDirection:"column",children:[gt(Vh,{label:c,theme:a}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]}):r==="simple"?zt(E,{flexDirection:"column",children:[zt(I,{color:a.colors.accent,children:[c,"\u2026"]}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})}),n!==void 0&>(E,{marginTop:1,children:zt(I,{dimColor:!0,children:[n,"%"]})})]}):zt(E,{flexDirection:"column",children:[zt(E,{children:[gt(Dn,{theme:a}),zt(I,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&zt(I,{dimColor:!0,children:[" (",n,"%)"]})]}),t&>(E,{marginTop:1,children:gt(I,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as Se,jsxs as Ke,Fragment as ig}from"react/jsx-runtime";import{useEffect as m0,useMemo as Or,memo as On}from"react";import*as ul from"node:path";function ll(e){if(nw(e)){let t=rw(e);return t?`[memory:${t}]`:"[memory]"}if(zP(e))return"[memory]"}o(ll,"memoryBadgeFor");function zP(e){let t=ul.resolve(e),n=vr("projects");if(!t.startsWith(n+ul.sep)&&t!==n)return!1;let i=t.slice(n.length+1).split(ul.sep);return i.length>=2&&i[1]==="memory"}o(zP,"isInsideAnyMemoryDir");function Qe(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}o(Qe,"truncateValue");function DI(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}o(DI,"extractFirstMeaningfulLine");function BI(e){let t=e.match(/^\[([^\]]+)\]\s+(.*)$/);if(!t)return{toolLabel:e};let n=t[1]?.trim(),r=t[2]?.trim()??e,i=new RegExp(`^${n?.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}:`,"i"),s=r.replace(i,"").trim();return{rolePrefix:n?`[${n}]`:void 0,toolLabel:s||r}}o(BI,"splitDisplayToolName");function Mf(e){let{rolePrefix:t,toolLabel:n}=BI(e);return t?`${t} ${n}`:n}o(Mf,"normalizeDisplayToolName");function dl(e){return BI(e).toolLabel}o(dl,"stripRolePrefix");function Af(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}o(Af,"asRecord");function HI(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(HI,"readString");function vt(e,...t){for(let n of t){let r=HI(e?.[n]);if(r)return r}}o(vt,"readFirstString");function $r(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim().length>0){let t=Number(e.trim());return Number.isFinite(t)?t:void 0}}o($r,"readNumber");function WI(e){if(!Array.isArray(e))return;let t=e.map(n=>typeof n=="string"?n.trim():"").filter(Boolean);return t.length>0?t:void 0}o(WI,"readStringArray");function YP(e){if(typeof e=="string")return e.trim()||void 0;let t=Af(e);if(t)return HI(t.preview)??void 0}o(YP,"extractPreview");function OI(e){if(e)try{return Af(JSON.parse(e))}catch{return}}o(OI,"parsePreviewRecord");function Ne(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}o(Ne,"extractFieldFromPreview");function Dr(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}o(Dr,"extractNumberFromPreview");function FI(e){if(!e)return;let t=e.match(/"paths"\s*:\s*\[([^\]]*)/);if(!t?.[1])return;let n=Array.from(t[1].matchAll(/"([^"]+)"/g)).map(r=>r[1]?.trim()??"").filter(Boolean);return n.length>0?n:void 0}o(FI,"extractPathsFromPreview");function XP(e){let t=YP(e);if(typeof e=="string")return{record:OI(t),preview:t};let n=Af(e),r=OI(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}o(XP,"resolveInputRecord");function ma(e,t,n,r=!1){let i=vt(t,"path","target_path","targetPath")??Ne(n,"path")??Ne(n,"target_path")??Ne(n,"targetPath"),s=WI(t?.paths)??FI(n);if(r&&s?.length){if(s.length===1){let a=ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`);return}if(i){let a=ll(i);a&&e.push(a),e.push(Qe(i));return}if(s?.length)if(s.length===1){let a=ll(s[0]);a&&e.push(a),e.push(Qe(s[0]))}else e.push(`${s.length} files`)}o(ma,"pushPathSummary");function ha(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}o(ha,"pushNumericSummary");function zh(e,t,n){let r=vt(t,"baseRef","base_ref")??Ne(n,"baseRef")??Ne(n,"base_ref"),i=vt(t,"targetRef","target_ref")??Ne(n,"targetRef")??Ne(n,"target_ref");r&&i&&e.push(Qe(`${r}...${i}`,88))}o(zh,"pushRangeSummary");function qP(e,t){let{record:n,preview:r}=XP(t),i=dl(e).toLowerCase(),s=[];if(i.includes("changed_diff_bundle")){let a=WI(n?.paths)??FI(r);a?.length?(s.push(a.length===1?Qe(a[0]):`${a.length} files`),a.length>1&&s.push(Qe(a[0]))):ma(s,n,r,!0);let c=$r(n?.limit_per_path)??$r(n?.limitPerPath)??Dr(r,"limit_per_path")??Dr(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),zh(s,n,r),s}if(i.includes("changed_diff"))return ma(s,n,r),ha(s,"offset",$r(n?.offset)??Dr(r,"offset")),ha(s,"limit",$r(n?.limit)??Dr(r,"limit")),zh(s,n,r),s;if(i==="read"||i.includes("read_"))return ma(s,n,r),ha(s,"offset",$r(n?.offset)??Dr(r,"offset")),ha(s,"limit",$r(n?.limit)??Dr(r,"limit")),s;if(i.includes("changed_scope"))return ma(s,n,r,!0),zh(s,n,r),s;if(i.includes("repo_overview"))return ma(s,n,r),s;if(i.includes("bash")||i.includes("shell_command")){let a=vt(n,"command")??Ne(r,"command");return a&&s.push(`cmd=${Qe(a,140)}`),s}if(i==="glob"||i.includes("glob_")){let a=vt(n,"pattern")??Ne(r,"pattern"),c=vt(n,"path","root","directory","cwd")??Ne(r,"path")??Ne(r,"root")??Ne(r,"directory")??Ne(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(i==="grep"||i.includes("grep_")){let a=vt(n,"pattern","query")??Ne(r,"pattern")??Ne(r,"query"),c=vt(n,"path","root","directory","cwd")??Ne(r,"path")??Ne(r,"root")??Ne(r,"directory")??Ne(r,"cwd");if(a&&s.push(`pattern=${Qe(a,96)}`),c){let l=ll(c);l&&s.push(l),s.push(Qe(c))}return s}if(i==="web_fetch"){let a=vt(n,"url")??Ne(r,"url"),c=vt(n,"provider_id","providerId")??Ne(r,"provider_id")??Ne(r,"providerId"),l=vt(n,"capability_id","capabilityId")??Ne(r,"capability_id")??Ne(r,"capabilityId");return a&&s.push(Qe(a,120)),c&&s.push(`provider=${Qe(c,48)}`),l&&s.push(`cap=${Qe(l,48)}`),s}if(i==="mcp_describe"||i==="mcp_read_resource"){let a=vt(n,"id")??Ne(r,"id");return a&&s.push(Qe(a,120)),s}if(i==="mcp_call"){let a=vt(n,"id")??Ne(r,"id"),c=Af(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Qe(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(i==="skill"){let a=vt(n,"skill","name")??Ne(r,"skill");return a&&s.push(Qe(a,64)),s}if(i==="mcp_search"){let a=vt(n,"query")??Ne(r,"query"),c=vt(n,"server")??Ne(r,"server"),l=vt(n,"kind")??Ne(r,"kind"),d=$r(n?.limit)??Dr(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(`server=${Qe(c,48)}`),l&&s.push(`kind=${l}`),d!==void 0&&s.push(`limit=${d}`),s}if(i==="web_search"||i==="code_search"||i==="semantic_lookup"){let a=vt(n,"query","pattern")??Ne(r,"query")??Ne(r,"pattern"),c=vt(n,"path","target_path","targetPath")??Ne(r,"path")??Ne(r,"target_path")??Ne(r,"targetPath"),l=vt(n,"provider_id","providerId")??Ne(r,"provider_id")??Ne(r,"providerId"),d=$r(n?.limit)??Dr(r,"limit");return a&&s.push(`query=${Qe(a,96)}`),c&&s.push(Qe(c,72)),l&&s.push(`provider=${Qe(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return ma(s,n,r,!0),ha(s,"offset",$r(n?.offset)??Dr(r,"offset")),ha(s,"limit",$r(n?.limit)??Dr(r,"limit")),s}o(qP,"summarizeToolDetails");function jI(e){let t=e.match(/Showing diff lines\s+(\d+)-(\d+)\s+of\s+(\d+)/i);if(t)return`${t[1]}-${t[2]}/${t[3]}`}o(jI,"extractChangedDiffRange");function JP(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}o(JP,"extractDiffPreviewLine");function QP(e){let t=[],n=jI(e);if(n){let[i,s]=n.split("/");t.push(s?`Diff range: ${i} of ${s}`:`Diff range: ${n}`)}let r=JP(e);return r&&t.push(`Preview: ${Qe(r,220)}`),t}o(QP,"formatChangedDiffExplanation");function ZP(e){let t=[],n=e.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(n?.[1]){let i=Number(n[1]);Number.isFinite(i)&&i>0&&t.push(`Bundle: ${i===1?"1 file":`${i} files`}`)}let r=e.match(/^===\s+(.+?)\s+===/m);return r?.[1]&&t.push(`First file: ${Qe(r[1].trim(),220)}`),t}o(ZP,"formatChangedDiffBundleExplanation");function UI(e,t){if(!t)return[];let n=dl(e).toLowerCase(),r=[];if(n.includes("changed_diff_bundle")){let i=t.match(/^Changed diff bundle for\s+(\d+)\s+file\(s\)/im);if(i?.[1]){let a=Number(i[1]);Number.isFinite(a)&&a>0&&r.push(a===1?"1 file":`${a} files`)}let s=t.match(/^===\s+(.+?)\s+===/m);return s?.[1]&&r.push(Qe(s[1].trim())),r}if(n.includes("changed_diff")){let i=t.match(/^Changed diff for\s+(.+)$/im);i?.[1]&&r.push(Qe(i[1].trim()));let s=jI(t);return s&&r.push(s),r}if(n==="read"||n.includes("read_")){let i=t.match(/^Reading\s+(.+)$/im);return i?.[1]&&r.push(Qe(i[1].trim())),r}return[]}o(UI,"summarizeToolOutputDetails");function Yh(e,t){let n=Mf(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}o(Yh,"formatToolDetailSummary");function e1(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(e1,"formatDuration");function t1(e){switch(e.status){case j.Scheduled:return"scheduled";case j.Validating:return"validating";case j.AwaitingApproval:return"awaiting approval";case j.Executing:return"running";case j.Error:return"failed";case j.Cancelled:return"cancelled";default:return}}o(t1,"formatToolStatusDetail");function NI(e){switch(e.status){case j.Scheduled:return["Queued: waiting to start"];case j.Validating:return["Validating: checking inputs and policy"];case j.AwaitingApproval:return["Waiting: approval required before execution"];case j.Executing:return e.progress!==void 0?[`Progress: ${e.progress}% complete`]:e.progressLines&&e.progressLines.length>0?e.progressLines.slice(-5):e.preview?[`Running: ${e.preview}`]:["Running: waiting for tool output"];case j.Cancelled:return["Cancelled before completion"];default:return[]}}o(NI,"formatToolProgressExplanation");function Xh(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}o(Xh,"resolveToolExplanationTone");function n1(e){let t=DI(e.error),n=typeof e.output=="string"?DI(e.output):void 0,r=[];return t&&r.push(`Error: ${Qe(t,220)}`),e.status===j.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Qe(n,220)}`),r}o(n1,"formatToolFailureExplanation");function qh(e){if(typeof e.output!="string"||!e.output.trim())return NI(e);let t=dl(e.name).toLowerCase();return e.status===j.Error?n1(e):e.status!==j.Success?NI(e):t.includes("changed_diff_bundle")?ZP(e.output):t.includes("changed_diff")?QP(e.output):[]}o(qh,"formatToolResultExplanation");function Jh(e,t){return Yh(e,qP(e,t))}o(Jh,"formatToolSummary");function _f(e){let t=typeof e.output=="string"?UI(e.name,e.output):[],n=t.length>0?Yh(e.name,t):Jh(e.name,e.input),r=t1(e),i=e1(e.startTime,e.endTime),s=e.status===j.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===j.Executing&&e.preview?e.preview:void 0,a=[r,s,i].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}o(_f,"formatToolCallInlineText");function Lf(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?UI(n.name,n.output):[],i=r.length>0?Yh(n.name,r):Jh(n.name,n.input),a=n.progressLines&&n.progressLines.length>0?`${i}|${n.id}`:`${i}|${n.error??""}`,c=t.get(a);c?(c.tool=n,c.count+=1):t.set(a,{tool:n,count:1})}return[...t.values()]}o(Lf,"collapseToolCalls");function fl(e){let t=_f(e.tool);return e.count>1?`${t} x${e.count}`:t}o(fl,"formatCollapsedToolInlineText");function Pf(e,t,n){let r=Jh(e,t);return r!==Mf(e)?`[Tools] ${r}`:n>0?`[Tools] ${Mf(e)} (${n} chars)`:`[Tools] ${Mf(e)}`}o(Pf,"formatLiveToolLabel");function Qh(e,t=e.length){let n=0,r=Math.min(t,e.length);for(let i=0;i<r;i++)e.charCodeAt(i)===10&&(n+=1);return n}o(Qh,"countNewlines");function $f(e,t={}){let n=t.maxChars??1e4,r=t.headChars??2500,i=t.tailChars??2500;if(e.length<=n)return e;let s=e.slice(0,r),a=e.slice(-i),c=Qh(e),l=Qh(s),d=Qh(a),f=Math.max(0,c-l-d);return`${s}
|
|
49
|
+
\u2026 +${f} lines \u2026
|
|
50
|
+
${a}`}o($f,"truncateUserMessageForDisplay");var GI="(?:\x1B[[0-9;]*m)*",r1=new RegExp(`^(${GI})(?:[ \r]*
|
|
51
|
+
)+`),o1=new RegExp(`(?:
|
|
52
|
+
[ \r]*)+(${GI})$`);function Zh(e){return e.replace(r1,"$1").replace(o1,"$1")}o(Zh,"stripOuterBlankLines");function _t(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}o(_t,"stripAnsi");var i1=new Set(["edit","write","multi_edit","insert_after_anchor"]),s1=20;function a1(e){return i1.has(dl(e.name).trim().toLowerCase())}o(a1,"isMutationTool");function c1(e){return e.startsWith("--- ")||e.startsWith("+++ ")?{color:"dim",skip:!0}:/^(File (edited|created|updated|written)|Content inserted)/.test(e)?{color:"dim",skip:!0}:e.startsWith("@@")?{color:"dim",skip:!1}:e.startsWith("+")?{color:"success",skip:!1}:e.startsWith("-")?{color:"error",skip:!1}:{color:"dim",skip:!1}}o(c1,"classifyDiffLine");function l1(e,t,n,r,i){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:m,skip:h}=c1(p);h||((m==="success"||m==="error")&&(a=!0),s.push({text:p,color:m}))}if(!a)return!1;let c=0,l=s.length;for(;c<l&&s[c].text.trim()==="";)c++;for(;l>c&&s[l-1].text.trim()==="";)l--;let d=s.slice(c,l);if(d.length===0)return!1;let f=i?d:d.slice(0,s1);return f.forEach((p,m)=>{Le(e,`${t}-diff-${m}`,p.text,ut(r,4),{color:p.color,indent:4})}),!i&&d.length>f.length&&Le(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,ut(r,4),{color:"dim",indent:4}),!0}o(l1,"pushDiffRows");var VI=400,u1="... (thinking truncated; press Ctrl+O to inspect full reasoning)",KI=2e5,d1="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",qI=1e5,zI=120,f1=" \u2026 (Ctrl+O to expand)";function JI(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}o(JI,"isThinkingCollapseEnabled");function p1(e){let t=e.split(/\r?\n/).map(a=>a.trim()).filter(a=>a.length>0),n=t[0]??"",r=t.length>1,i=n.length>zI;return{summary:i?`${n.slice(0,zI).trimEnd()}\u2026`:n,hasMore:r||i}}o(p1,"buildCollapsedThinkingLine");function m1(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}o(m1,"normalizeManagedLiveActivityLabel");function pl(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(pl,"formatTimestamp");function QI(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"[tool]"}}o(QI,"getToolStatusIcon");function ZI(e){switch(e){case j.Scheduled:case j.Validating:return"dim";case j.AwaitingApproval:return"accent";case j.Executing:return"primary";case j.Success:return"success";case j.Error:return"error";case j.Cancelled:return"dim";default:return"text"}}o(ZI,"getToolStatusColor");function h1(e,t){let n=Math.max(1,t),r=e.split(`
|
|
53
|
+
`),i=fn(r.length>0?r:[""],n,0,0);return i.visualLines.length>0?i.visualLines:[""]}o(h1,"wrapText");function eg(e,t,n,r=!1){if(n||r)return e.length>KI?`${e.slice(0,KI)}
|
|
54
|
+
|
|
55
|
+
${d1}`:e;let i=e.split(/\r?\n/),s=i.length>t,a=s?i.slice(0,t).join(`
|
|
56
|
+
`):e,c=a.length>VI,l=c?a.slice(0,VI):a;return!s&&!c?e:`${l}
|
|
57
|
+
|
|
58
|
+
${u1}`}o(eg,"buildThinkingPreview");function g1(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}o(g1,"findActiveRoundStartIndex");function Le(e,t,n,r,i){let s=_t(n),a=h1(s,r);if(a.length===0){e.push({key:`${t}-0`,text:"",...i});return}a.forEach((c,l)=>{e.push({key:`${t}-${l}`,text:c,...i})})}o(Le,"pushWrappedRows");function ga(e,t){e.push({key:t,text:" "})}o(ga,"pushBlankRow");function ut(e,t=0){return Math.max(20,e-t)}o(ut,"getBodyWidth");function y1(e){if(!e.input)return[];let t=JSON.stringify(e.input,null,2)?.trim();return t?t.split(/\r?\n/).slice(0,6).map((n,r)=>r===0?`input: ${n}`:n):[]}o(y1,"buildToolInputPreview");function x1(e,t,n,r,i,s=!1,a=!1){Le(e,`${t}-tool-${n.id}-main`,`${QI(n.status)} ${fl({tool:n,count:r})}`,ut(i,2),{color:ZI(n.status),indent:2,bold:n.status===j.Executing}),qh(n).forEach((d,f)=>{let p=Xh(d);Le(e,`${t}-tool-${n.id}-explanation-${f}`,d,ut(i,4),{color:p,indent:4})});let l=n.status===j.Success&&typeof n.output=="string"&&n.output.trim().length>0&&a1(n)&&l1(e,`${t}-tool-${n.id}`,n.output,i,a);if(s){let d=y1(n),f=a?d:d.slice(0,6);f.forEach((p,m)=>{Le(e,`${t}-tool-${n.id}-input-${m}`,p,ut(i,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&Le(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,ut(i,4),{color:"dim",indent:4})}if(s&&!l&&typeof n.output=="string"&&n.output.trim()){let d=n.output.trim().split(/\r?\n/),f=a?d:d.slice(0,8);f.forEach((m,h)=>{Le(e,`${t}-tool-${n.id}-output-${h}`,m,ut(i,4),{color:"dim",indent:4})});let p=d.length;!a&&p>f.length&&Le(e,`${t}-tool-${n.id}-output-more`,`... (${p-f.length} more lines)`,ut(i,4),{color:"dim",indent:4})}}o(x1,"buildToolRows");function S1(e,t,n,r){let i=n.status===j.Executing,s=i?"":`${QI(n.status)} `;Le(e,`${t}-tool-${n.id}-main`,`${s}${fl({tool:n,count:1})}`,ut(r,2),{color:ZI(n.status),indent:2,bold:i,spinner:i}),qh(n).forEach((c,l)=>{let d=Xh(c);Le(e,`${t}-tool-${n.id}-explanation-${l}`,c,ut(r,4),{color:d,indent:4})})}o(S1,"buildLiveToolRows");function e0(e){let{items:t,viewportWidth:n,isLoading:r=!1,maxLines:i=1e3,isThinking:s=!1,thinkingCharCount:a=0,thinkingContent:c="",streamingResponse:l="",currentTool:d,activeToolCalls:f=[],toolInputCharCount:p=0,toolInputContent:m="",iterationHistory:h=[],currentIteration:S=1,isCompacting:C=!1,managedAgentMode:R,managedPhase:T,managedHarnessProfile:w,managedWorkerTitle:M,managedRound:P,managedMaxRounds:$,lastLiveActivityLabel:H,liveStatusLines:U=[],currentTodoActiveForm:W,showFullThinking:J=!1,showDetailedTools:pe=!1,showAllContent:we=!1,showLiveProgressRows:y=!0}=e,O=[];for(let k of t)switch(k.type){case"user":Le(O,`${k.id}-header`,`You [${pl(k.timestamp)}]`,n,{color:"primary",bold:!0,itemId:k.id}),Le(O,`${k.id}-body`,$f(k.text),ut(n,2),{color:"text",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"assistant":{let D=Zh(we?k.text:k.compactText??k.text);Le(O,`${k.id}-header`,`Assistant [${pl(k.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:k.isStreaming,itemId:k.id}),Le(O,`${k.id}-body`,D,ut(n,2),{color:"text",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"system":Le(O,`${k.id}-header`,`System [${pl(k.timestamp)}]`,n,{color:"dim",bold:!0,itemId:k.id}),Le(O,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"tool_group":Le(O,`${k.id}-header`,`Tools [${pl(k.timestamp)}]`,n,{color:"accent",bold:!0,itemId:k.id}),Lf(k.tools).forEach(D=>x1(O,k.id,D.tool,D.count,n,pe,we)),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"thinking":{Le(O,`${k.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:k.id});let D=JI()&&!J&&!we?p1(k.compactText??k.text):void 0;if(D?.hasMore){Le(O,`${k.id}-body`,`${D.summary}${f1}`,ut(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}let ge=we?eg(k.text,i,J,we):k.compactText??eg(k.text,i,J,we);Le(O,`${k.id}-body`,ge,ut(n,2),{color:"thinking",indent:2,italic:!0,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}case"error":Le(O,`${k.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:k.id}),Le(O,`${k.id}-body`,k.text,ut(n,2),{color:"error",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"info":Le(O,`${k.id}-body`,`${k.icon??"\u2139"} ${Zh(we?k.text:k.compactText??k.text)}`,n,{color:"info",itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"event":Le(O,`${k.id}-body`,`${k.icon??">"} ${we?k.text:k.compactText??k.text}`,n,{color:"text",itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"hint":Le(O,`${k.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:k.id}),Le(O,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break;case"sidecar":{let D=k.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":k.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";Le(O,`${k.id}-header`,`${D} [${pl(k.timestamp)}]`,n,{color:"warning",bold:!0,itemId:k.id}),Le(O,`${k.id}-body`,k.text,ut(n,2),{color:"dim",indent:2,itemId:k.id}),O.push({key:`${k.id}-blank`,text:" ",itemId:k.id});break}default:break}if(y&&h.length>0&&(h.forEach(k=>{if(Le(O,`iteration-${k.iteration}-header`,`\u2500\u2500 Round ${k.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),k.thinkingSummary){let D=k.thinkingLength>60?` (${k.thinkingLength} chars total)`:"";Le(O,`iteration-${k.iteration}-thinking`,`\u{1F4AD} ${k.thinkingSummary}${D}`,ut(n,1),{color:"thinking",indent:1,italic:!0})}if(k.response){let D=k.response.slice(0,200);Le(O,`iteration-${k.iteration}-response`,D,ut(n,1),{color:"text",indent:1}),k.response.length>200&&Le(O,`iteration-${k.iteration}-response-more`,`... (${k.response.length} chars total)`,ut(n,1),{color:"dim",indent:1})}k.toolsUsed.length>0&&Le(O,`iteration-${k.iteration}-tools`,`* tools: ${k.toolsUsed.join(", ")}`,ut(n,1),{color:"accent",indent:1}),ga(O,`iteration-${k.iteration}-blank`)}),Le(O,"iteration-current-header",`\u2500\u2500 Round ${S} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),ga(O,"iteration-current-blank")),r&&c){let k=eg(c,i,J,we);Le(O,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),Le(O,"thinking-stream-body",k,ut(n,2),{color:"thinking",indent:2,italic:!0}),ga(O,"thinking-stream-blank")}if(r){let k="Thinking",D="",ge=m1(H,M),le=M??"Scout",z=T==="routing"?`[${R?R.toUpperCase():"AMA"} Routing] `:T==="preflight"?`[${R?R.toUpperCase():"AMA"} ${le}] `:T==="verifying"?`[${R?R.toUpperCase():"AMA"} Verifying] `:w?`[${R?R.toUpperCase():"AMA"} ${M??"Worker"}] `:"",fe=f.filter(q=>q.status===j.Executing).length,ve=f.filter(q=>q.status===j.Success).length,$e=f.filter(q=>q.status===j.Error).length,ue=f.filter(q=>q.status===j.Cancelled).length,De=f.length>0&&(fe>0||!l);if(C)k="Compacting";else if(T==="verifying")D=z,k="checking agent output";else if(De){let q=[];if(fe>0&&q.push(`${fe} running`),ve>0&&q.push(`${ve} done`),$e>0&&q.push(`${$e} error`),ue>0&&q.push(`${ue} cancelled`),q.length===0&&q.push(`${f.length} tools`),Le(O,"loading-tools-header",`${z}[Tools] ${q.join(", ")}`,n,{color:"primary",bold:!0,spinner:fe>0}),f.forEach(oe=>{S1(O,"loading-tools",oe,n)}),ga(O,"loading-tools-blank"),fe>0&&!l&&!y)return O}else if(W)D=z||"[Plan] ",k=W;else if(d)D=z||"[Tool] ",k=ge?.startsWith("[Tools]")?ge:Pf(d,m,p);else if(s){D=z||"[Thinking] ";let q=P&&$&&P>1?` round ${P}/${$}`:"";k=a>0?`${a} chars${q}`:ge?`${ge}${q}`:`processing${q}`}else ge&&(k=ge);y&&Le(O,"loading-indicator",`${D}${k}...`,n,{color:"accent",spinner:!0})}if(y&&U.length>0&&(Le(O,"live-status-header","Live status",n,{color:"dim",bold:!0}),U.forEach((k,D)=>{Le(O,`live-status-${D}`,k,ut(n,2),{color:"dim",indent:2})}),ga(O,"live-status-blank")),l){let k=l.lastIndexOf(`
|
|
59
|
+
`),D=k>=0?l.slice(0,k+1):"";D.length>0&&(Le(O,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),Le(O,"streaming-body",D,ut(n,2),{color:"text",indent:2}),ga(O,"streaming-blank"))}return O}o(e0,"buildTranscriptRows");function w1(e,t,n=1e3,r=!1,i=!1,s=!1){return ya(e,t,n,r,void 0,i,s)}o(w1,"buildStaticTranscriptSections");var YI=new WeakMap,XI=new Set(["thinking","tool_group"]);function T1(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}o(T1,"isTightRunSpacingEnabled");function C1(e,t){return T1()?t.map((n,r)=>{let i=e[r],s=e[r+1];if(!i||!s||!XI.has(i.type)||!XI.has(s.type))return n;let a=n.rows,c=a[a.length-1];return c&&c.text===" "&&c.key.endsWith("-blank")?{...n,rows:a.slice(0,-1)}:n}):t}o(C1,"suppressTightRunBlanks");function ya(e,t,n=1e3,r=!1,i,s=!1,a=!1){let c=e.map(l=>{let d=r||!!i?.has(l.id),f=`${t}|${n}|${s?1:0}|${d?1:0}|${JI()?1:0}|${a?1:0}`,p=YI.get(l);if(p!==void 0&&p.sig===f)return p.section;let m={key:l.id,rows:e0({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return YI.set(l,{sig:f,section:m}),m});return C1(e,c)}o(ya,"buildHistoryItemTranscriptSections");function I1(e,t){return{key:e,rows:e0(t)}}o(I1,"buildDynamicTranscriptSection");function Df(e){let{items:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,windowed:c=!1}=e;if(c)return{staticSections:[],activeItems:t};let l=g1(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:w1(d,n,r,i,s,a),activeItems:f}}o(Df,"buildTranscriptStaticPortion");function Of(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=ya(t,n,r,i,c,s,a),f=I1("active-pending",{...l,items:[],managedLiveEvents:[],lastLiveActivityLabel:l.lastLiveActivityLabel,viewportWidth:n,maxLines:r,showAllContent:s,showDetailedTools:i,showFullThinking:a,expandedItemKeys:c}),p=f.rows.length>0?[f]:[];return{sections:d,previewSections:p}}o(Of,"buildTranscriptDynamicPortion");function Nf(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:Hi(t.sections),previewSections:t.previewSections,previewRows:Hi(t.previewSections)}}o(Nf,"composeTranscriptRenderModel");function t0(e,t,n){let r=Nf(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}o(t0,"buildInlinePromptRenderModel");function n0(e,t,n,r){let i=Number.isFinite(r)?Math.max(1,Math.floor(r)):1,s=[...t,...n],a=Math.max(0,s.length-i),c=s.slice(a),l=e.flatMap(m=>m.rows),d=s.slice(0,a).filter(m=>m.spinner!==!0);return{committedSections:[...l,...d].map((m,h)=>({key:`il-${h}`,rows:[{...m,key:`il-${h}`}]})),liveRows:c}}o(n0,"splitInlineLedgerModel");function b1(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}o(b1,"stripHeaderTimestamp");function r0(e){let t=5381;for(let n of e.rows){let r=b1(n.text);for(let i=0;i<n.key.length;i++)t=(t<<5)+t+n.key.charCodeAt(i)|0;t=(t<<5)+t+0|0;for(let i=0;i<r.length;i++)t=(t<<5)+t+r.charCodeAt(i)|0;t=(t<<5)+t+1|0}return{key:e.key,fingerprint:`${t>>>0}`}}o(r0,"identifyInlineCommitSection");function Bf(e){let t=Df({items:e.items,viewportWidth:e.viewportWidth,maxLines:e.maxLines,showDetailedTools:e.showDetailedTools,showAllContent:e.showAllContent,showFullThinking:e.showFullThinking,windowed:e.windowed}),{items:n,...r}=e,i=Of({...r,activeItems:t.activeItems});return Nf(t,i)}o(Bf,"buildTranscriptRenderModel");function Hi(e){return e.flatMap(t=>t.rows)}o(Hi,"flattenTranscriptSections");function o0(e){let t=5381;for(let n of e.rows){let r=`${n.key}\0${n.text}`;for(let i=0;i<r.length;i++)t=Math.imul(t,33)+r.charCodeAt(i)|0}return{key:e.key,fingerprint:`${e.rows.length}:${(t>>>0).toString(36)}`}}o(o0,"identifyTranscriptSection");function tg(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:Hi(t),previewSections:[...e.previewSections],previewRows:Hi(e.previewSections)}}o(tg,"materializeTranscriptRenderModel");function i0(e,t={}){let{start:n,end:r,viewportTop:i,viewportHeight:s,viewportRows:a,scrollOffset:c=0,windowed:l=!1}=t;if(typeof i=="number"&&typeof s=="number"){let d=Math.max(0,i),f=Math.max(d,i+Math.max(0,s));return e.slice(d,f)}return typeof n=="number"&&typeof r=="number"?e.slice(Math.max(0,n),Math.max(0,r)):l?rg(e,a,c):e}o(i0,"resolveVisibleTranscriptRows");var v1=200,R1=50,ng=30;function s0(e,t,n=v1,r=R1){let i=t.current,s=i?e.findIndex(l=>l.id===i.id):-1,a=s>=0?s:i?Math.min(i.idx,Math.max(0,e.length-n)):0;e.length-a>n+r&&(a=e.length-n);let c=e[a];return c&&(i?.id!==c.id||i.idx!==a)?t.current={id:c.id,idx:a}:!c&&i&&(t.current=null),a}o(s0,"computeTranscriptCapStart");function a0(e,t){if(t<=0||e.length===0)return[];let n=0,r=0;for(let i=e.length-1;i>=0;i--)if(e[i]?.type==="user"&&(n++,n>t)){r=i+1;break}return e.slice(r)}o(a0,"sliceHistoryToRecentRounds");function rg(e,t,n=0){if(!t||t<=0)return e;let r=Math.max(0,n),i=Math.max(0,e.length-r),s=Math.max(0,i-t);return e.slice(s,i)}o(rg,"getVisibleTranscriptRows");function c0(e,t,n){if(!t||!n||n<=0)return 0;let r=Hi(e),i=e.find(d=>d.key===t);if(!i||i.rows.length===0)return 0;let s=i.rows[0]?.key,a=r.findIndex(d=>d.key===s);if(a===-1)return 0;let c=Math.max(0,a-Math.floor(n/3)),l=Math.min(r.length,c+n);return Math.max(0,r.length-l)}o(c0,"resolveScrollOffsetForTranscriptItem");function l0(e,t){if(t)switch(t){case"warning":return e.colors.warning;case"info":return e.colors.info;case"hint":return e.colors.hint;default:return e.colors[t]}}o(l0,"resolveTranscriptColor");var Hf="__transcript_hidden_divider__";function u0(e,t){let n=e===1?"message":"messages";return{id:Hf,type:"info",timestamp:t?Math.max(0,t-1):0,text:`${e} earlier ${n} hidden \u2014 press Ctrl+E to show all`,icon:"\u2191"}}o(u0,"buildTranscriptHiddenDivider");function og(e){return e.id===Hf}o(og,"isTranscriptHiddenDivider");var d0=new Ei(500);function k1(e){let t=dn(e),n=[],r=[],i=0,s=0;for(let a of t)n.push(i),r.push(s),i+=a.length,s+=Bd(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}o(k1,"buildTranscriptTextMetrics");function ml(e){let t=d0.get(e);if(t)return t;let n=k1(e);return d0.set(e,n),n}o(ml,"getTranscriptTextMetrics");function jo(e){return ml(e).length}o(jo,"getTranscriptTextLength");function f0(e){return ml(e).displayWidth}o(f0,"getTranscriptTextDisplayWidth");function Wf(e,t){let n=ml(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}o(Wf,"charAtTranscriptText");function xa(e,t,n){let r=ml(e),i=Math.max(0,Math.min(r.length,Math.floor(t))),s=typeof n=="number"?Math.max(i,Math.min(r.length,Math.floor(n))):r.length;return r.graphemes.slice(i,s).join("")}o(xa,"sliceTranscriptText");function p0(e,t){let n=ml(e),r=Math.max(0,Math.floor(t));if(r<=0||n.length===0)return 0;for(let i=0;i<n.length;i+=1){let s=n.visualOffsets[i]??0,a=i+1<n.length?n.visualOffsets[i+1]??n.displayWidth:n.displayWidth;if(r<a||r===s)return i}return n.length}o(p0,"resolveTranscriptTextIndexAtVisualColumn");function Ff(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(Ff,"formatTimestamp");function E1(e,t){let n=e.split(`
|
|
60
|
+
`),r=n.slice(0,t),i=n.length>t;return{lines:r,hasMore:i}}o(E1,"truncateLines");function M1(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"?"}}o(M1,"getToolStatusIcon");function A1(e,t){switch(e){case j.Scheduled:case j.Validating:return t.colors.dim;case j.AwaitingApproval:return t.colors.accent;case j.Executing:return t.colors.primary;case j.Success:return t.colors.success;case j.Error:return t.colors.error;case j.Cancelled:return t.colors.dim;default:return t.colors.text}}o(A1,"getToolStatusColor");var _1=On(({item:e,theme:t})=>{let n=Or(()=>$f(e.text),[e.text]);return Ke(E,{flexDirection:"column",marginBottom:1,children:[Ke(E,{children:[Se(I,{color:t.colors.primary,bold:!0,children:"You"}),Ke(I,{dimColor:!0,children:[" [",Ff(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.text,children:n})})]})}),L1=On(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:i,hasMore:s}=E1(r,n);return Ke(E,{flexDirection:"column",marginBottom:1,children:[Ke(E,{children:[Se(I,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&Ke(ig,{children:[Se(I,{children:" "}),Se(Dn,{color:t.colors.accent})]}),Ke(I,{dimColor:!0,children:[" [",Ff(e.timestamp),"]"]})]}),Ke(E,{marginLeft:2,flexDirection:"column",children:[i.map((a,c)=>Se(I,{color:t.colors.text,children:a||" "},c)),s&&Ke(I,{dimColor:!0,children:["... (",r.split(`
|
|
61
|
+
`).length-n," more lines)"]})]})]})}),P1=On(({item:e,theme:t})=>Ke(E,{flexDirection:"column",marginBottom:1,children:[Ke(E,{children:[Se(I,{color:t.colors.dim,bold:!0,children:"System"}),Ke(I,{dimColor:!0,children:[" [",Ff(e.timestamp),"]"]})]}),Se(E,{marginLeft:2,children:Se(I,{dimColor:!0,children:e.text})})]})),$1=On(({tool:e,count:t=1,theme:n})=>{let r=M1(e.status),i=A1(e.status,n);return Ke(E,{flexDirection:"column",marginLeft:2,children:[Ke(E,{children:[Ke(I,{color:i,children:[r," "]}),Se(I,{color:n.colors.text,bold:!0,children:fl({tool:e,count:t})})]}),e.error&&Se(E,{marginLeft:2,children:Se(I,{color:n.colors.error,children:e.error})})]})}),D1=On(({item:e,theme:t})=>{let n=Lf(e.tools);return Ke(E,{flexDirection:"column",marginBottom:1,children:[Ke(E,{children:[Se(I,{color:t.colors.accent,bold:!0,children:"Tools"}),Ke(I,{dimColor:!0,children:[" [",Ff(e.timestamp),"]"]})]}),n.map(r=>Se($1,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),O1=On(({item:e,theme:t})=>Ke(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Se(I,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),N1=On(({item:e,theme:t})=>Ke(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Ke(I,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),Se(E,{marginLeft:2,children:Se(I,{color:t.colors.error,children:e.text})})]})),B1=On(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:1,children:Ke(I,{color:t.colors.text,children:[Se(I,{color:t.colors.accent,bold:!0,children:e.icon??">"}),Se(I,{children:" "}),e.compactText??e.text]})})),H1=On(({item:e,theme:t})=>Se(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Ke(I,{color:t.colors.info,children:[Ke(I,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),W1=On(({item:e,theme:t})=>Ke(E,{flexDirection:"column",marginBottom:1,children:[Se(E,{children:Ke(I,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),Se(E,{marginLeft:2,children:Se(I,{dimColor:!0,children:e.text})})]})),h0=On(({item:e,theme:t,maxLines:n=1e3})=>{let r=Or(()=>te("dark"),[]),i=t??r;switch(e.type){case"user":return Se(_1,{item:e,theme:i});case"assistant":return Se(L1,{item:e,theme:i,maxLines:n});case"system":return Se(P1,{item:e,theme:i});case"tool_group":return Se(D1,{item:e,theme:i});case"thinking":return Se(O1,{item:e,theme:i});case"error":return Se(N1,{item:e,theme:i});case"event":return Se(B1,{item:e,theme:i});case"info":return Se(H1,{item:e,theme:i});case"hint":return Se(W1,{item:e,theme:i});default:return Se(E,{children:Se(I,{dimColor:!0,children:"Unknown item type"})})}});function F1(e,t){if(e.theme!==t.theme||(e.animateSpinners??!0)!==(t.animateSpinners??!0)||(e.selectedItem??!1)!==(t.selectedItem??!1))return!1;let n=e.row,r=t.row;if(n!==r){if(n.key!==r.key||n.text!==r.text||n.color!==r.color||n.bold!==r.bold||n.italic!==r.italic||n.indent!==r.indent||n.spinner!==r.spinner||n.itemId!==r.itemId)return!1}let i=e.selectionRange,s=t.selectionRange;return i===s?!0:!i||!s?!1:i.start===s.start&&i.end===s.end}o(F1,"areTranscriptRowPropsEqual");var g0=On(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:i})=>{let s=l0(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=i&&a?xa(a,i.start,i.end):"",d=i&&a?xa(a,0,i.start):a,f=i&&a?xa(a,i.end):"",p=r&&!i,m=!p&&e.color==="dim",h={bold:e.bold||p,italic:e.italic,dimColor:m};return Ke(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&Ke(ig,{children:[Se(Dn,{color:t.colors.accent,theme:t}),Se(I,{children:" "})]}),Se(I,{color:p?t.colors.accent:s,...h,children:i&&a?Ke(ig,{children:[d?Se(I,{color:p?t.colors.accent:s,...h,children:d}):null,Se(I,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?Se(I,{color:p?t.colors.accent:s,...h,children:f}):null]}):c})]})},F1),sg=On(({section:e,theme:t,animateSpinners:n=!0})=>Se(E,{flexDirection:"column",children:e.rows.map(r=>Se(g0,{row:r,theme:t,animateSpinners:n},r.key))})),Uo=o(({items:e,isLoading:t=!1,maxLines:n=1e3,isThinking:r=!1,thinkingCharCount:i=0,thinkingContent:s="",streamingResponse:a="",currentTool:c,activeToolCalls:l,toolInputCharCount:d=0,toolInputContent:f="",iterationHistory:p=[],currentIteration:m=1,isCompacting:h=!1,agentMode:S,managedPhase:C,managedHarnessProfile:R,managedWorkerTitle:T,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:P,managedBudgetUsage:$,managedBudgetApprovalRequired:H,lastLiveActivityLabel:U,liveStatusLines:W,viewportRows:J,viewportWidth:pe,scrollOffset:we=0,animateSpinners:y=!0,windowed:O=!1,showFullThinking:k=!1,showDetailedTools:D=!1,showAllContent:ge=!1,showLiveProgressRows:le=!0,selectedItemId:z,expandedItemKeys:fe,onMetricsChange:ve,onVisibleRowsChange:$e,rendererWindow:ue,selectedTextRanges:De,transcriptModel:q,visibleRowsOverride:oe})=>{let Ee=Or(()=>te("dark"),[]),{stdout:Re}=Pr(),He=pe??Re?.columns??80,Xe=Or(()=>q??Bf({items:e,viewportWidth:He,isLoading:t,maxLines:n,isThinking:r,thinkingCharCount:i,thinkingContent:s,streamingResponse:a,currentTool:c,activeToolCalls:l,toolInputCharCount:d,toolInputContent:f,iterationHistory:p,currentIteration:m,isCompacting:h,managedAgentMode:S,managedPhase:C,managedHarnessProfile:R,managedWorkerTitle:T,managedRound:w,managedMaxRounds:M,managedGlobalWorkBudget:P,managedBudgetUsage:$,managedBudgetApprovalRequired:H,lastLiveActivityLabel:U,liveStatusLines:W,windowed:O,showFullThinking:k,showDetailedTools:D,showAllContent:ge,showLiveProgressRows:le,expandedItemKeys:fe}),[q,e,He,t,n,r,i,s,a,c,l,d,f,p,m,h,S,C,R,T,w,M,P,$,H,U,W,O,k,D,ge,le,fe]),nt=Xe.staticSections,ce=Xe.rows,G=Xe.previewRows,me=Or(()=>[...ce,...G],[G,ce]),et=!(me.length>0)&&e.length===0&&!t,on=Or(()=>O||ue||oe?me:ce,[me,ue,ce,oe,O]),Fe=Or(()=>oe||i0(on,{viewportTop:ue?Math.max(0,ue.viewportTop):void 0,viewportHeight:ue?Math.max(0,ue.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:J,scrollOffset:we,windowed:O}),[ue,we,J,oe,O,on]),Jt=Or(()=>oe||O||ue?Fe:me,[me,ue,Fe,oe,O]),Wt=Or(()=>me,[me]),vn=ue?Math.max(0,ue.viewportHeight):J;return m0(()=>{ve?.({scrollHeight:me.length,viewportHeight:ue?Math.max(0,ue.viewportHeight):vn??me.length})},[me.length,vn,ve,ue]),m0(()=>{$e?.({rows:Jt,allRows:Wt})},[Wt,$e,Jt]),et?Se(E,{paddingY:1,children:Se(I,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Ke(E,{flexDirection:"column",children:[!O&&nt.length>0&&Se(aa,{items:nt,children:o(N=>Se(sg,{section:N,theme:Ee,animateSpinners:y},N.key),"children")}),Jt.map(N=>Se(g0,{row:N,theme:Ee,animateSpinners:y,selectedItem:z?N.key.startsWith(`${z}-`):!1,selectionRange:De?.get(N.key)},N.key))]})},"MessageList");var y0=o(({role:e,content:t})=>{let n=Or(()=>te("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Ke(E,{flexDirection:"column",marginBottom:1,children:[Se(I,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),Se(I,{children:t})]})},"SimpleMessageDisplay");import{jsx as cg,jsxs as Vf}from"react/jsx-runtime";import o$,{useMemo as lg}from"react";var j1="\u{1F504}",U1="\u2588",G1="\u2592",V1="\u2192",K1=" \xB7 ";function z1(e){switch(e){case"auto":return"auto";case"balanced":return"medium";case"quick":return"low";case"deep":return"high";case"off":return"off";default:return e.toLowerCase()}}o(z1,"formatReasoningModeShort");function Y1(e){if(e)return e==="none"?"off":e}o(Y1,"formatEffortShort");function X1(e){let t=e.split("->"),n=t[0]??e;if((t.length>1?t[t.length-1]:n)==="off")return"dim";switch(n){case"off":return"dim";case"low":return"green";case"medium":return"yellow";case"high":case"xhigh":case"max":return"magenta";default:return"cyan"}}o(X1,"getReasoningColor");function x0(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(x0,"formatTokenCount");function q1(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${U1.repeat(t)}${G1.repeat(n)}`}o(q1,"createMiniProgressBar");function J1(e,t,n){if(t===0)return"green";let r=e/t*100,i=n*(2/3);return r>=n?"red":r>=i?"yellow":"green"}o(J1,"getContextColor");function Q1(e){switch(e.toLowerCase()){case"plan":return"blue";case"accept-edits":return"green";case"auto":case"auto-in-project":return"warning";default:return"magenta"}}o(Q1,"getPermissionModeColor");function Z1(e,t){let n=Ns(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}o(Z1,"buildPermissionModeText");function e$(e){let t=e.toLowerCase();return t.includes("read")||t.includes("view")||t.includes("search")||t.includes("list")||t.includes("find")||t.includes("browser")||t.includes("get")?"Read":t.includes("write")||t.includes("replace")||t.includes("edit")||t.includes("modify")?"Edit":t.includes("command")||t.includes("bash")||t.includes("terminal")?"Bash":t.includes("ask")||t.includes("notify")||t.includes("user")||t.includes("question")?"Ask":t.includes("think")||t.includes("reason")?"Think":e}o(e$,"formatToolAction");function jf(e,t){return t&&t>0?`${e} (${t} chars)`:e}o(jf,"formatThinkingStatus");function Uf(e,t,n){let r=e$(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}o(Uf,"formatToolStatus");function ag({activeToolCount:e,currentTool:t,isThinkingActive:n,thinkingCharCount:r,isCompacting:i,toolInputCharCount:s,toolInputContent:a,managedPhase:c,managedHarnessProfile:l,managedWorkerTitle:d,managedIdleWaiting:f,managedIdleWaitingPendingCount:p}){let m=e&&e>0?`${e} tool${e===1?"":"s"} running`:void 0;if(i)return"Compacting";if(c==="routing")return m?`Routing - ${m}`:t?`Routing - ${Uf(t,s,a)}`:n?jf("Routing",r):"Routing";if(c==="preflight"){let h=d??"Scout";return m?`${h} - ${m}`:t?`${h} - ${Uf(t,s,a)}`:n?jf(h,r):h}if(c==="verifying")return"Verifying";if(l){let h=d??"Worker";if(f===!0&&!m&&!t&&!n){let S=p??0,C=S>1?`waiting for ${S} children`:S===1?"waiting for 1 child":"idle - resuming";return`${h} - ${C}`}return m?`${h} - ${m}`:t?`${h} - ${Uf(t,s,a)}`:n?jf(h,r):h}if(m)return m;if(t)return Uf(t,s,a);if(n)return jf("Thinking",r)}o(ag,"buildBusyStatusText");function t$({agentMode:e,managedPhase:t,managedHarnessProfile:n,managedRound:r,managedMaxRounds:i,managedGlobalWorkBudget:s,managedBudgetUsage:a,currentIteration:c,maxIter:l}){let d=[];return t==="routing"||t==="preflight"||(n&&r&&i&&r>1&&d.push({label:"Round",current:r,max:i}),n&&s&&typeof a=="number"?d.push({label:"Work",current:a,max:s}):e==="sa"&&c&&l&&d.push({label:"Iter",current:c,max:l})),d}o(t$,"resolveIterationSegments");function n$(e){if(e.length!==0)return`${j1} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(K1)}`}o(n$,"formatLabeledIterationStatus");function r$(e){let{sessionId:t,permissionMode:n,agentMode:r,provider:i,model:s,tokenUsage:a,currentTool:c,activeToolCount:l,thinking:d,isThinkingActive:f,thinkingCharCount:p,reasoningMode:m=d?"auto":"off",effort:h,reasoningEffortLabel:S,isCompacting:C,toolInputCharCount:R,toolInputContent:T,currentIteration:w,maxIter:M,contextUsage:P,showBusyStatus:$=!0,managedPhase:H,managedHarnessProfile:U,managedWorkerTitle:W,managedRound:J,managedMaxRounds:pe,managedGlobalWorkBudget:we,managedBudgetUsage:y,managedIdleWaiting:O,managedIdleWaitingPendingCount:k}=e,D=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:Z1(n,e.autoModeEngine),color:Q1(n)}],ge=S??Y1(h)??z1(m);D.push({id:"reasoning-mode",text:ge,color:X1(ge)});let le=t$({agentMode:r,managedPhase:H,managedHarnessProfile:U,managedRound:J,managedMaxRounds:pe,managedGlobalWorkBudget:we,managedBudgetUsage:y,currentIteration:w,maxIter:M}),z=n$(le);if(z){let ve=Math.max(...le.map(ue=>ue.current/ue.max)),$e="green";ve>=.8?$e="red":ve>=.5&&($e="yellow"),D.push({id:"iteration-status",text:z,color:$e})}D.push({id:"session-id",text:t,color:"dim"});let fe=$?ag({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:C,toolInputCharCount:R,toolInputContent:T,managedPhase:H,managedHarnessProfile:U,managedWorkerTitle:W,managedIdleWaiting:O,managedIdleWaitingPendingCount:k}):void 0;if(fe&&D.push({id:"busy-status",text:fe,color:"dim"}),D.push({id:"provider-model",text:`${i}/${s}`,color:"secondary"}),P&&P.contextWindow!==0){let ve=Math.round(P.currentTokens/P.contextWindow*100),$e=x0(P.currentTokens),ue=x0(P.contextWindow),De=q1(ve);D.push({id:"context-usage",text:`${$e}/${ue} ${De} ${ve}%`,color:J1(P.currentTokens,P.contextWindow,P.triggerPercent)})}return a&&D.push({id:"token-usage",text:`${a.input}${V1}${a.output} (${a.total})`,color:"dim"}),D}o(r$,"buildStatusBarSegments");function Gf(e){let t=r$(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}o(Gf,"buildStatusBarViewModel");function i$(e,t){if(e.color)return t.colors[e.color]??e.color;switch(e.tone){case"primary":return t.colors.primary;case"accent":return t.colors.accent;case"success":return t.colors.success;case"warning":return t.colors.warning;case"error":return t.colors.error;default:return t.colors.dim}}o(i$,"resolveViewModelSegmentColor");var Wi=o(({viewModel:e,...t})=>{let n=lg(()=>te("dark"),[]),r=lg(()=>e??Gf(t),[t,e]);return cg(E,{paddingX:1,children:r.segments.map((i,s)=>Vf(o$.Fragment,{children:[cg(I,{color:i$(i,n),bold:i.bold,children:i.text}),s<r.segments.length-1?cg(I,{dimColor:!0,children:" | "}):null]},i.id))})},"StatusBar"),S0=o(({permissionMode:e,provider:t,model:n})=>{let r=lg(()=>te("dark"),[]);return Vf(E,{children:[Vf(I,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),Vf(I,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Go,jsxs as Yf}from"react/jsx-runtime";import{useState as ug,useCallback as Kf,useMemo as w0}from"react";function zf(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(zf,"generateId");function s$(e){let t={id:e.id,timestamp:e.timestamp};switch(e.role){case"user":return{...t,type:"user",text:e.content};case"assistant":return{...t,type:"assistant",text:e.content};case"system":return{...t,type:"system",text:e.content};default:return{...t,type:"info",text:e.content}}}o(s$,"messageToHistoryItem");var T0=o(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:i="ama"})=>{let{stdout:s}=Pr(),a=w0(()=>te("dark"),[]),[c,l]=ug({messages:[],isLoading:!1,sessionId:zf()}),[d,f]=ug(null),[p,m]=ug(),h=Kf(async T=>{if(!T.trim())return;let w={id:zf(),role:"user",content:T,timestamp:Date.now()};l(M=>({...M,messages:[...M.messages,w],isLoading:!0}));try{await n(T)}catch(M){let P={id:zf(),role:"system",content:`Error: ${M instanceof Error?M.message:"Unknown error"}`,timestamp:Date.now()};l($=>({...$,messages:[...$.messages,P],isLoading:!1}))}finally{l(M=>({...M,isLoading:!1}))}},[n]),S=Kf((T,w)=>{let M={id:zf(),role:T,content:w,timestamp:Date.now()};l(P=>({...P,messages:[...P.messages,M]}))},[]),C=Kf((T,w)=>{f({input:T,output:w,total:T+w})},[]),R=Kf(T=>{m(T)},[]);return Yf(E,{flexDirection:"column",children:[Go(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Go(Uo,{items:c.messages.map(s$),isLoading:c.isLoading})}),Go(E,{flexShrink:0,children:Go(Bi,{onSubmit:o(T=>h(T.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Go(E,{flexShrink:0,children:Go(Wi,{sessionId:c.sessionId,permissionMode:r,agentMode:i,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),C0=o(({model:e,provider:t,onInput:n})=>{let r=w0(()=>te("dark"),[]);return Yf(E,{flexDirection:"column",children:[Yf(E,{marginBottom:1,children:[Go(I,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),Yf(I,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Go(Bi,{onSubmit:o(i=>n(i.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as a$}from"react/jsx-runtime";var Xf=o(({top:e,topRows:t=0,transcript:n,renderTranscriptWindow:r,footer:i,overlay:s,stickyHeader:a,jumpToLatest:c,width:l,scrollTop:d=0,scrollHeight:f=0,viewportHeight:p=0,stickyScroll:m=!0,scrollRef:h,onScrollTopChange:S,onStickyChange:C,onWindowChange:R,overscanRows:T})=>a$(Oh,{width:l,top:e,topRows:t,stickyHeader:a,jumpToLatest:c,scrollable:n,renderScrollableWindow:r,overlay:s,bottom:i,scrollTop:d,scrollHeight:f,viewportHeight:p,stickyScroll:m,scrollRef:h,onScrollTopChange:S,onStickyChange:C,onWindowChange:R,overscanRows:T}),"FullscreenTranscriptLayout");import{jsx as I0}from"react/jsx-runtime";function Sa({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:i=!1,matchNavigation:s=!1,dismissAction:a}){let c=[];return i&&c.push("\u2190/\u2192 browse"),e&&c.push("C copy"),t&&c.push("I tool input"),n&&c.push("Mouse select copies"),r&&c.push("V details"),s&&c.push("N/Shift+N matches"),a==="clear"&&c.push("Esc clear"),a==="close-search"&&c.push("Esc close search"),c.length>0?c.join(" | "):void 0}o(Sa,"buildMessageActionsText");var qf=o(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:i=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=te("dark"),l=Sa({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:i,matchNavigation:s,dismissAction:a});return l?I0(E,{paddingX:1,children:I0(I,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as b0}from"react/jsx-runtime";function dg({itemSummary:e,itemKind:t,position:n,detailState:r="compact"}){if(!e||!n||n.total<=0)return;let i=r==="expanded"?"expanded":"compact",s=t?`${t}: `:"";return`Selected item ${n.current}/${n.total}: ${s}${e} | ${i}`}o(dg,"buildMessageSelectorText");var v0=o(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let i=te("dark"),s=dg({itemSummary:e,itemKind:t,position:n,detailState:r});return s?b0(E,{paddingX:1,children:b0(I,{color:i.colors.dim,children:s})}):null},"MessageSelector");import{jsx as wa,jsxs as c$}from"react/jsx-runtime";import{useMemo as R0}from"react";function Jf(e,t){return Math.max(1,fn(e.length>0?e.split(`
|
|
62
|
+
`):[""],Math.max(1,t),0,0).visualLines.length)}o(Jf,"countWrappedRows");var Qf=o(({browse:e,selection:t,search:n,chromeMode:r="inline",...i})=>{let s=r==="inline",a=t?.itemSummary,c=t?.position,l=t?.itemKind,d=t?.detailState??"compact",f=t?.copyCapabilities,p=f?.message??!1,m=f?.toolInput??!1,h=f?.copyOnSelect??!1,S=t?.toggleDetail??!1,C=t?.navigationCapabilities?.selection??!1,R=n?.statusText,T=n?.matches?.length??0,w=n?.surface,M=i.viewportWidth??80,P=Math.max(1,M-2),$=n?.query?.trim()?"close-search":a||p||m||S||C?"clear":void 0,H=dg({itemSummary:a,itemKind:l,position:c,detailState:d}),U=R0(()=>Sa({copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:C,matchNavigation:!!R&&T>0,dismissAction:$}),[p,m,C,S,$,T,R,h]),W=R0(()=>{if(!s)return 0;let pe=0;return e?.hintText&&(pe+=Jf(e.hintText,P)),H&&(pe+=Jf(H,P)),U&&(pe+=Jf(U,P)),R&&(pe+=Jf(R,P)),w&&(pe+=1),pe},[U,e?.hintText,P,s,R,w,H]),J=typeof i.viewportRows=="number"?Math.max(1,i.viewportRows-W):i.viewportRows;return c$(E,{flexDirection:"column",flexGrow:i.windowed?0:1,children:[s&&e?.hintText?wa(E,{paddingX:1,children:wa(I,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||m||h||S||C||T>0)?wa(qf,{copyMessage:p,copyToolInput:m,copyOnSelect:h,toggleDetail:S,selectionNavigation:C,matchNavigation:!!R&&T>0,dismissAction:$}):null,s&&R?wa(E,{paddingX:1,children:wa(I,{dimColor:!0,children:R})}):null,s?w:null,wa(Uo,{...i,viewportRows:J})]})},"TranscriptViewport");import{jsx as k0}from"react/jsx-runtime";var Zf=o(e=>k0(E,{flexDirection:"column",children:k0(Bi,{...e})}),"PromptComposer");import{jsx as Fi,jsxs as ep}from"react/jsx-runtime";import E0 from"react";var M0=" \xB7 ",hl=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=te("dark");return t.length===0?null:Fi(E,{flexGrow:1,children:t.map((r,i)=>ep(E0.Fragment,{children:[Fi(I,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?Fi(I,{dimColor:!0,children:M0}):null]},r.id))})},"PromptFooterLeftSide"),gl=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=te("dark");return t.length===0?null:Fi(E,{justifyContent:"flex-end",children:t.map((r,i)=>ep(E0.Fragment,{children:[Fi(I,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?Fi(I,{dimColor:!0,children:M0}):null]},r.id))})},"PromptFooterRightSide"),yl=o(({left:e,right:t,queued:n,stashNotice:r,notifications:i,inlineNotices:s,activityBar:a,todoSurface:c,composer:l,inlineSuggestions:d,helpSurface:f,taskBar:p,statusLine:m,inlineDialogs:h})=>ep(E,{flexDirection:"column",children:[e||t?ep(E,{paddingX:1,children:[Fi(E,{flexGrow:1,children:e}),t]}):null,n,r,i,s,a,c,l,d,h,f,p,m]}),"PromptFooter");import{jsx as fg,jsxs as A0}from"react/jsx-runtime";var tp=o(({sections:e,title:t="Help"})=>{let n=te("dark"),r=e.filter(i=>i.items.length>0);return r.length===0?null:A0(E,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[fg(I,{color:n.colors.accent,bold:!0,children:t}),r.map(i=>A0(E,{flexDirection:"column",children:[fg(I,{color:n.colors.primary,bold:!0,children:i.title}),fg(I,{dimColor:!0,children:i.items.map(s=>s.label).join(" | ")})]},i.id))]})},"PromptHelpMenu");import{jsx as _0}from"react/jsx-runtime";import{createContext as P0,useContext as $0,useReducer as l$,useCallback as Yt,useMemo as u$}from"react";var d$=150;function Sl(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(Sl,"generateId");function xl(e){return{...e,id:Sl(),timestamp:Date.now()}}o(xl,"createHistoryItem");function L0(e){if(e.length<=d$)return e;let t=0,n=0;for(let r=e.length-1;r>=0;r--)if(e[r]?.type==="user"&&(t++,t>50)){n=r;break}return n>0?e.slice(n):e}o(L0,"trimHistoryToRounds");function pg(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}o(pg,"selectUncommittedLedgerUserItems");function np(e){return{...e,id:Sl(),startTime:Date.now()}}o(np,"createToolCall");function f$(e,t){switch(t.type){case"SET_STREAMING_STATE":return{...e,streamingState:t.payload};case"APPEND_TO_RESPONSE":return{...e,currentResponse:e.currentResponse+t.payload};case"CLEAR_RESPONSE":return{...e,currentResponse:""};case"ADD_HISTORY_ITEM":return{...e,history:L0([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:L0([...e.history,...t.payload])};case"UPDATE_HISTORY_ITEM":return{...e,history:e.history.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_HISTORY":return{...e,history:[]};case"ADD_TOOL_CALL":return{...e,pendingToolCalls:[...e.pendingToolCalls,t.payload]};case"UPDATE_TOOL_CALL":return{...e,pendingToolCalls:e.pendingToolCalls.map(n=>n.id===t.payload.id?{...n,...t.payload.updates}:n)};case"CLEAR_TOOL_CALLS":return{...e,pendingToolCalls:[]};case"SET_SESSION_ID":return{...e,sessionId:t.payload};case"SET_PROVIDER":return{...e,provider:t.payload};case"SET_MODEL":return{...e,model:t.payload};case"SET_TOKEN_USAGE":return{...e,tokenUsage:t.payload};case"SET_ERROR":return{...e,error:t.payload};case"SET_LOADING":return{...e,isLoading:t.payload};case"RESET_STATE":return{...md,sessionId:e.sessionId};default:return e}}o(f$,"uiReducer");var D0=P0(null),O0=P0(null);function wl({children:e,initialState:t}){let[n,r]=l$(f$,{...md,...t}),i=Yt(H=>{r({type:"SET_STREAMING_STATE",payload:H})},[]),s=Yt(H=>{r({type:"APPEND_TO_RESPONSE",payload:H})},[]),a=Yt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=Yt(H=>{let U=xl(H);r({type:"ADD_HISTORY_ITEM",payload:U})},[]),l=Yt(H=>{H.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:H.map(xl)})},[]),d=Yt((H,U)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:H,updates:U}})},[]),f=Yt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=Yt(H=>{let U=np(H);return r({type:"ADD_TOOL_CALL",payload:U}),U.id},[]),m=Yt((H,U)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:H,updates:U}})},[]),h=Yt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),S=Yt(H=>{r({type:"SET_SESSION_ID",payload:H})},[]),C=Yt(H=>{r({type:"SET_MODE",payload:H})},[]),R=Yt(H=>{r({type:"SET_PROVIDER",payload:H})},[]),T=Yt(H=>{r({type:"SET_MODEL",payload:H})},[]),w=Yt(H=>{r({type:"SET_TOKEN_USAGE",payload:H})},[]),M=Yt(H=>{r({type:"SET_ERROR",payload:H})},[]),P=Yt(H=>{r({type:"SET_LOADING",payload:H})},[]),$=u$(()=>({setStreamingState:i,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:m,clearToolCalls:h,setSessionId:S,setMode:C,setProvider:R,setModel:T,setTokenUsage:w,setError:M,setLoading:P}),[i,s,a,c,l,d,f,p,m,h,S,C,R,T,w,M,P]);return _0(D0.Provider,{value:n,children:_0(O0.Provider,{value:$,children:e})})}o(wl,"UIStateProvider");function Ta(){let e=$0(D0);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}o(Ta,"useUIState");function Ca(){let e=$0(O0);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}o(Ca,"useUIActions");function mg(){let e=Ta(),t=Ca();return{state:e,actions:t}}o(mg,"useUI");function hg(){return te()}o(hg,"useTheme");import{jsxs as Vo,jsx as rp,Fragment as p$}from"react/jsx-runtime";import{useMemo as m$}from"react";var h$=80,g$=7,y$={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function x$(e,t,n){if(t<=n)return{start:0,end:t};let r=Math.floor(n/2),i=e-r,s=i+n;return i<0?(i=0,s=n):s>t&&(s=t,i=t-n),{start:i,end:s}}o(x$,"getVisibleRange");function S$({suggestion:e,isSelected:t,width:n}){let r=hg(),i=e.icon||e.type&&y$[e.type]||"",s=i?lr(i)+1:0,a=lr(e.displayText||e.text),c=e.description?lr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=Js(e.displayText||e.text,l),m=e.description?Js(e.description,f):"";return Vo(E,{children:[i&&Vo(I,{color:t?r.colors.accent:r.colors.dim,children:[i," "]}),rp(I,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),m&&Vo(p$,{children:[rp(I,{children:" "}),rp(I,{color:r.colors.dim,children:Js(e.description||"",f)})]}),t&&Vo(I,{color:r.colors.accent,children:[" ","\u25C0"]})]})}o(S$,"SuggestionItem");function Tl({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=g$,width:i=h$,showCount:s=!1}){let a=hg();if(!n||e.length===0)return null;let{start:c,end:l}=m$(()=>x$(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return Vo(E,{flexDirection:"column",marginLeft:2,children:[c>0&&Vo(I,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let h=c+p===t;return rp(S$,{suggestion:f,isSelected:h,width:i},f.id)}),l<e.length&&Vo(I,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&Vo(I,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}o(Tl,"SuggestionsDisplay");import{jsx as Ia,jsxs as w$}from"react/jsx-runtime";var op=o(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let i=Fo(),s=te("dark");if(n)return null;if(!i)return e?Ia(E,{height:8}):null;let{state:a,suggestions:c}=i;return a.visible&&c.length>0?r==="overlay"?w$(E,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[Ia(I,{color:s.colors.accent,bold:!0,children:"Suggestions"}),Ia(Tl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):Ia(E,{height:8,children:Ia(Tl,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?Ia(E,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as dr,jsx as Yn,Fragment as gg}from"react/jsx-runtime";import T$,{useEffect as C$,useState as I$}from"react";var ba=15,N0=Math.max(1,ba-2),ip=o(({confirm:e,request:t})=>e?dr(E,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[dr(I,{color:"yellow",bold:!0,children:[re("dialog.confirm")," ",e.prompt]}),e.planContent?Yn(b$,{content:e.planContent}):null,e.instruction?Yn(I,{dimColor:!0,children:e.instruction}):null]}):t?dr(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?dr(gg,{children:[dr(I,{color:"cyan",bold:!0,children:[re("dialog.select")," ",t.title]}),(()=>{let n=t.options??[],r=t.visibleSelectOptions??5,i=t.focusedIndex??0,s=n.length,a=0;if(s>r){let d=Math.floor(r/2);a=Math.max(0,Math.min(i-d,s-r))}let c=a,l=Math.max(0,s-a-r);return dr(gg,{children:[c>0?Yn(I,{dimColor:!0,children:re("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,m=p===i,h=t.selectedIndices?.includes(p)??!1,S=m?"\u276F ":" ",C=h?" \u2713":"",R=d.description?` - ${d.description}`:"";return Yn(I,{color:m?"cyan":void 0,dimColor:!m,children:`${S}${d.label}${R}${C}`},`${d.value}-${p}`)}),l>0?Yn(I,{dimColor:!0,children:re("select.more_below",{count:l})}):null]})})(),Yn(I,{dimColor:!0,children:t.multiSelect?re("select.multiselect_hint"):re("select.navigate_hint")})]}):dr(gg,{children:[dr(I,{color:"cyan",bold:!0,children:[re("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Yn(I,{dimColor:!0,children:`${re("input.default")} ${t.defaultValue}`}):null,Yn(I,{dimColor:!0,children:`${re("input.value")} ${t.buffer||re("input.type_response")}`}),Yn(I,{dimColor:!0,children:re("select.confirm_hint")})]}),t.error?Yn(I,{color:"red",children:t.error}):null]}):null,"DialogSurface"),b$=o(({content:e})=>{let t=T$.useMemo(()=>e.split(`
|
|
63
|
+
`),[e]),n=t.length,r=n>ba,[i,s]=I$(0);C$(()=>{s(d=>{let f=Math.max(0,n-ba);return d>f?f:d})},[n]),df((d,f)=>{if(!r)return;let p=Math.max(0,n-ba);f.upArrow?s(m=>Math.max(0,m-1)):f.downArrow?s(m=>Math.min(p,m+1)):f.pageUp?s(m=>Math.max(0,m-N0)):f.pageDown&&s(m=>Math.min(p,m+N0))},{isActive:!0});let a=t.slice(i,i+ba),c=i,l=Math.max(0,n-i-ba);return dr(E,{flexDirection:"column",marginTop:1,children:[r&&c>0?dr(I,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Yn(I,{children:d},`plan-line-${i+f}`)),r&&l>0?dr(I,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?Yn(I,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Cl,jsx as v$}from"react/jsx-runtime";function B0(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}o(B0,"normalizePendingPreview");function H0(e){if(e.length===0)return;let t=B0(e[e.length-1]??"");return e.length===1?`Queued 1 follow-up: ${t} (Esc removes it)`:`Queued ${e.length} follow-ups. Latest: ${t} (Esc removes latest)`}o(H0,"formatPendingInputsSummary");function yg(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:B0(n)}))}o(yg,"formatPendingInputsLines");function W0(e){let t=yg(e);return t.length===0?void 0:[...t.map(i=>`\u23F3 [${i.index}/${i.total}] ${i.preview}`)," \u2191 pull all into editor \xB7 Esc drops latest"].join(`
|
|
64
|
+
`)}o(W0,"formatPendingInputsBudgetText");var sp=o(({pendingInputs:e})=>{let t=yg(e);if(t.length===0)return null;let n=te("dark");return Cl(E,{flexDirection:"column",children:[t.map(r=>Cl(E,{children:[Cl(I,{color:n.colors.hint,children:["\u23F3"," "]}),Cl(I,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),v$(E,{children:Cl(I,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as F0}from"react/jsx-runtime";function R$(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}o(R$,"resolveNotificationColor");var Il=o(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=te("dark");return t.length===0?null:F0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>F0(I,{color:R$(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as j0}from"react/jsx-runtime";var ap=o(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=te("dark");return j0(E,{flexDirection:"column",paddingX:1,children:t.map((r,i)=>j0(I,{color:n.colors.dim,children:r},`${r}-${i}`))})},"StatusNoticesSurface");import{jsxs as U0,jsx as k$}from"react/jsx-runtime";var bl=o(({text:e})=>{let t=e?.trim();if(!t)return null;let n=te("dark");return U0(E,{paddingX:1,children:[U0(I,{color:n.colors.hint,children:["\u22EF"," "]}),k$(I,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as ji,jsxs as E$}from"react/jsx-runtime";function G0({text:e,accent:t=!1,selected:n=!1}){let r=te("dark");return ji(E,{marginRight:1,children:ji(I,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}o(G0,"Pill");var vl=o(({items:e,overflowLabel:t,ctaHint:n,showSpinner:r=!1})=>{let i=e.filter(s=>s.label.trim().length>0);return i.length===0&&!t&&!n&&!r?null:E$(E,{flexDirection:"row",paddingX:1,children:[r?ji(E,{marginRight:1,children:ji(Dn,{})}):null,i.map(s=>ji(G0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?ji(G0,{text:t}):null,n?ji(I,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as Rl,jsxs as $$}from"react/jsx-runtime";import M$ from"string-width";var xg=9,Sg=3,V0=160,A$={shouldRender:!1,activeCount:0,rows:[]};function K0(e,t=xg){let n=M$(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}o(K0,"padChildActivitySymbol");function wg(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=V0?t:`${t.slice(0,V0-3)}...`}o(wg,"truncateChildActivityDetail");function cp(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}o(cp,"shouldRouteToChildActivity");function z0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}o(z0,"shouldRouteWorkflowLiveOnlyNotice");function Y0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}o(Y0,"shouldShowChildActivitySurface");function Tg(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}o(Tg,"childActivityId");function X0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}o(X0,"childActivityLabel");function q0(e){return e.workflowCorrelation?"workflow":"normal"}o(q0,"childActivitySource");function J0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return wg(`${e}${r}`)}o(J0,"toolActivityDetail");function Q0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}o(Q0,"suppressesChurnOverToolAction");function _$(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600);return i>0?`${i}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(n).padStart(2,"0")}s`:`${n}s`}o(_$,"formatChildActivityElapsed");function L$(e){switch(e){case"assistant":return"Assistant";case"thinking":return"Thinking";case"tool":return"Tool";case"progress":return"Progress";case"prompt":return"Prompt";default:return"Status"}}o(L$,"kindLabel");function P$(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${_$(t-e.startedAt)}`:"",i=e.detail.trim(),s=i.length>0?`: ${i}`:"";return`${n}${r} - ${L$(e.kind)}${s}`}o(P$,"rowText");function Z0(e,t=Sg,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return A$;let i=Math.max(1,Math.floor(t)),s=[],a=r.length>i&&i>1?i-1:i,c=r.slice(0,a);for(let d of c)s.push({kind:"activity",id:d.id,symbol:d.source==="workflow"?"agent":"child",symbolColor:"cyan",text:P$(d,n),isActive:!0});let l=r.length-c.length;return l>0&&s.length<i&&s.push({kind:"summary",id:"children-more",symbol:"more",symbolColor:"dim",text:`${l} more active`,isActive:!1}),{shouldRender:!0,activeCount:r.length,rows:s.slice(0,i)}}o(Z0,"buildChildActivityViewModel");var eb=xg;function D$(e){let t=te("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}o(D$,"resolveSymbolColor");var O$=o(({row:e})=>{let t=D$(e.symbolColor);return $$(E,{flexDirection:"row",children:[Rl(E,{width:eb,flexShrink:0,children:Rl(I,{color:t,bold:e.isActive,wrap:"truncate",children:K0(e.symbol,eb)})}),Rl(I,{color:e.kind==="summary"?te("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function lp(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(lp,"measureChildActivitySurfaceRows");var up=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Rl(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>Rl(O$,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import tb,{createContext as rb,useContext as ob,useReducer as N$,useCallback as Ze,useRef as B$,useEffect as nb}from"react";function H$(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(H$,"isMainThreadPrompt");function bg(){return jn().getSnapshot().filter(H$)}o(bg,"getMainThreadPrompts");function Cg(){return bg().map(e=>e.content)}o(Cg,"getMainThreadPromptContents");var Ig={state:ar.Idle,currentResponse:"",error:void 0,abortController:void 0,isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:"",iterationHistory:[],currentIteration:1,maxIter:200,isCompacting:!1,pendingInputs:[],roundStartedAt:null};function dp(){let e={...Ig,pendingInputs:Cg()},t=new Set,n="",r="",i=0,s=null,a=!1,c=80,l=o(()=>{for(let S of t)S(e)},"notify"),d=o(()=>{let S=Cg();if(S.length===e.pendingInputs.length){let C=!0;for(let R=0;R<S.length;R++)if(S[R]!==e.pendingInputs[R]){C=!1;break}if(C)return}e={...e,pendingInputs:S},l()},"syncReactStateFromQueue"),f=jn().subscribe(()=>{d()}),p=o(()=>jn().dequeue({maxPriority:"user",mode:"prompt"}).map(C=>C.content),"drainOurSlice"),m=o(()=>{if(s&&(clearTimeout(s),s=null),n||r||i>0){let C=e.thinkingContent+r,R=r?C.length:e.thinkingCharCount+i;e={...e,currentResponse:e.currentResponse+n,thinkingContent:C,thinkingCharCount:R,...r||i>0?{isThinking:!0}:{}},n="",r="",i=0,l()}},"flushPendingUpdates"),h=o(()=>{s||(s=setTimeout(m,c))},"scheduleFlush");return{getState:o(()=>e,"getState"),setState:o(S=>{m(),e={...e,state:S},l()},"setState"),startStreaming:o(()=>{a=!1,n="",r="",i=0,s&&(clearTimeout(s),s=null),e={...e,state:ar.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},l()},"startStreaming"),stopStreaming:o(()=>{m(),e={...e,state:ar.Idle,abortController:void 0,roundStartedAt:null},l()},"stopStreaming"),appendResponse:o(S=>{a||(n+=S,h())},"appendResponse"),clearResponse:o(()=>{m(),e={...e,currentResponse:""},l()},"clearResponse"),setError:o(S=>{m(),e={...e,error:S,state:S?ar.Idle:e.state},l()},"setError"),abort:o(S=>{a=!0,m(),e.abortController?.abort(),n="",r="",i=0,s&&(clearTimeout(s),s=null),S?.preservePendingInputs||p(),e={...e,state:ar.Idle,abortController:void 0,roundStartedAt:null},l()},"abort"),reset:o(()=>{a=!0,m(),e.abortController?.abort(),n="",r="",i=0,s&&(clearTimeout(s),s=null),p(),e={...Ig,pendingInputs:Cg()},a=!1,l()},"reset"),isStreaming:o(()=>e.state===ar.Responding||e.state===ar.WaitingForConfirmation,"isStreaming"),subscribe:o(S=>(t.add(S),()=>{t.delete(S)}),"subscribe"),startThinking:o(()=>{m(),e={...e,isThinking:!0,thinkingCharCount:0,thinkingContent:""},l()},"startThinking"),appendThinkingChars:o(S=>{a||(i+=S,h())},"appendThinkingChars"),appendThinkingContent:o(S=>{a||(r+=S,h())},"appendThinkingContent"),stopThinking:o(()=>{m(),e={...e,isThinking:!1,thinkingCharCount:0},l()},"stopThinking"),clearThinkingContent:o(()=>{m(),e={...e,isThinking:!1,thinkingCharCount:0,thinkingContent:""},l()},"clearThinkingContent"),setCurrentTool:o(S=>{m(),e={...e,currentTool:S,toolInputCharCount:0,toolInputContent:""},l()},"setCurrentTool"),appendToolInputChars:o(S=>{e={...e,toolInputCharCount:e.toolInputCharCount+S},l()},"appendToolInputChars"),appendToolInputContent:o(S=>{e.toolInputContent.length<240&&(e={...e,toolInputContent:(e.toolInputContent+S).slice(0,240)},l())},"appendToolInputContent"),clearToolInputContent:o(()=>{e={...e,toolInputContent:""},l()},"clearToolInputContent"),getSignal:o(()=>e.abortController?.signal,"getSignal"),getFullResponse:o(()=>e.currentResponse+n,"getFullResponse"),getThinkingContent:o(()=>e.thinkingContent+r,"getThinkingContent"),startNewIteration:o(S=>{m(),e.thinkingContent||e.currentResponse?e={...e,thinkingContent:"",thinkingCharCount:0,currentResponse:"",isThinking:!1,currentTool:void 0,toolInputCharCount:0,toolInputContent:"",currentIteration:S}:e={...e,currentIteration:S},l()},"startNewIteration"),clearIterationHistory:o(()=>{m(),e={...e,iterationHistory:[],currentIteration:1,maxIter:Ig.maxIter,thinkingContent:"",thinkingCharCount:0,currentResponse:"",currentTool:void 0,toolInputCharCount:0,toolInputContent:""},l()},"clearIterationHistory"),setMaxIter:o(S=>{m(),e={...e,maxIter:S},l()},"setMaxIter"),startCompacting:o(()=>{m(),e={...e,isCompacting:!0},l()},"startCompacting"),stopCompacting:o(()=>{m(),e={...e,isCompacting:!1},l()},"stopCompacting"),addPendingInput:o(S=>{let C=S.trim();C&&(bg().length>=5||(m(),jn().enqueue({priority:"user",mode:"prompt",content:C})))},"addPendingInput"),removeLastPendingInput:o(()=>{let S=bg(),C=S[S.length-1];C&&(m(),jn().dequeue({maxPriority:"user",mode:"prompt",id:C.id}))},"removeLastPendingInput"),shiftPendingInput:o(()=>(m(),jn().dequeue({maxPriority:"user",mode:"prompt",limit:1})[0]?.content),"shiftPendingInput"),clearPendingInputs:o(()=>{m(),p()},"clearPendingInputs"),consumePendingInputs:o(()=>(m(),p()),"consumePendingInputs"),dispose:o(()=>{f()},"dispose")}}o(dp,"createStreamingManager");var ib=rb(null),sb=rb(null);function El({children:e,onStateChange:t}){let n=B$(dp()),[,r]=N$(z=>z+1,0);nb(()=>n.current.subscribe(fe=>{r(),t?.(fe)}),[t]),nb(()=>{let z=n.current;return()=>{z.dispose()}},[]);let i=Ze(()=>{n.current.startStreaming()},[]),s=Ze(()=>{n.current.stopStreaming()},[]),a=Ze(z=>{n.current.appendResponse(z)},[]),c=Ze(()=>{n.current.clearResponse()},[]),l=Ze(z=>{n.current.setError(z)},[]),d=Ze(z=>{n.current.abort(z)},[]),f=Ze(()=>{n.current.reset()},[]),p=Ze(()=>{n.current.startThinking()},[]),m=Ze(z=>{n.current.appendThinkingChars(z)},[]),h=Ze(z=>{n.current.appendThinkingContent(z)},[]),S=Ze(()=>{n.current.stopThinking()},[]),C=Ze(()=>{n.current.clearThinkingContent()},[]),R=Ze(z=>{n.current.setCurrentTool(z)},[]),T=Ze(z=>{n.current.appendToolInputChars(z)},[]),w=Ze(z=>{n.current.appendToolInputContent(z)},[]),M=Ze(()=>{n.current.clearToolInputContent()},[]),P=Ze(()=>n.current.getSignal(),[]),$=Ze(()=>n.current.getFullResponse(),[]),H=Ze(()=>n.current.getThinkingContent(),[]),U=Ze(z=>{n.current.startNewIteration(z)},[]),W=Ze(()=>{n.current.clearIterationHistory()},[]),J=Ze(z=>{n.current.setMaxIter(z)},[]),pe=Ze(()=>{n.current.startCompacting()},[]),we=Ze(()=>{n.current.stopCompacting()},[]),y=Ze(z=>{n.current.addPendingInput(z)},[]),O=Ze(()=>{n.current.removeLastPendingInput()},[]),k=Ze(()=>n.current.shiftPendingInput(),[]),D=Ze(()=>{n.current.clearPendingInputs()},[]),ge=Ze(()=>n.current.consumePendingInputs(),[]),le={startStreaming:i,stopStreaming:s,appendResponse:a,clearResponse:c,setError:l,abort:d,reset:f,startThinking:p,appendThinkingChars:m,appendThinkingContent:h,stopThinking:S,clearThinkingContent:C,setCurrentTool:R,appendToolInputChars:T,appendToolInputContent:w,clearToolInputContent:M,getSignal:P,getFullResponse:$,getThinkingContent:H,startNewIteration:U,clearIterationHistory:W,setMaxIter:J,startCompacting:pe,stopCompacting:we,addPendingInput:y,removeLastPendingInput:O,shiftPendingInput:k,clearPendingInputs:D,consumePendingInputs:ge};return tb.createElement(ib.Provider,{value:n.current.getState()},tb.createElement(sb.Provider,{value:le},e))}o(El,"StreamingProvider");function va(){let e=ob(ib);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}o(va,"useStreamingState");function Ra(){let e=ob(sb);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}o(Ra,"useStreamingActions");function vg(){let e=va(),t=Ra(),n=e.state===ar.Responding||e.state===ar.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}o(vg,"useStreaming");import{useCallback as W$,useRef as F$}from"react";var j$=500;function ab(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:i=!0}=e,s=F$(0),{exit:a}=Bo(),c=W$(l=>{if(!i)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<j$;return s.current=d,f&&(l.name="escape-escape"),n?.(),t?.(l),!0}return l.ctrl&&l.name==="c"?(r?.(),t?.(l),!0):l.ctrl&&l.name==="d"?(a(),!0):(t?.(l),!1)},[i,a,r,n,t]);return $n(c,{isActive:i}),{lastEscTime:s.current}}o(ab,"useKeypress");function cb(e){return{is:o((t,n)=>!(e.name!==t||n?.ctrl!==void 0&&e.ctrl!==n.ctrl||n?.shift!==void 0&&e.shift!==n.shift||n?.meta!==void 0&&e.meta!==n.meta),"is"),isCtrl:o(t=>e.ctrl&&e.name===t,"isCtrl"),isShift:o(t=>e.shift&&e.name===t,"isShift"),isArrow:o(()=>["up","down","left","right"].includes(e.name),"isArrow"),isChar:o(()=>e.sequence?.length===1&&!e.ctrl&&!e.meta,"isChar"),getChar:o(()=>e.sequence?.length===1?e.sequence:null,"getChar")}}o(cb,"createKeyMatcher");import{useCallback as U$,useSyncExternalStore as G$}from"react";function V$(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(V$,"isMainThreadPrompt");var Rg=null,fp=Object.freeze([]);function lb(){let e=jn().getSnapshot();return e===Rg||(Rg=e,fp=Object.freeze(e.filter(V$))),fp}o(lb,"getQueueSliceSnapshot");function kg(){let e=U$(t=>jn().subscribe(t),[]);return G$(e,lb,lb)}o(kg,"useQueuedPrompts");function ub(){return kg().map(t=>t.content)}o(ub,"useQueuedPromptContents");function db(){Rg=null,fp=Object.freeze([])}o(db,"_resetQueuedPromptsCacheForTests");async function ka(e){return{messages:e.existingMessages??[],uiHistory:e.existingUiHistory?.map(t=>({...t})),lineage:e.existingLineage??void 0,artifactLedger:e.existingArtifactLedger?.map(t=>({...t,metadata:t.metadata?{...t.metadata}:void 0})),extensionState:e.existingExtensionState?structuredClone(e.existingExtensionState):void 0,extensionRecords:e.existingExtensionRecords?.map(t=>({...t})),extensionStateDirty:!1,extensionRecordsDirty:!1,sessionId:e.sessionId??Ui(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}o(ka,"createInteractiveContext");function Ui(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}o(Ui,"generateSessionId");function fr(e){e.lastAccessed=new Date().toISOString()}o(fr,"touchContext");async function Ea(e){let t=await Tw({userKodaxDir:cw(),projectRoot:e.projectRoot}),n;return{getGuardrail:o(()=>n||(n=Cw({rules:t.merged,getClaudeMd:o(()=>lw(ld({cwd:process.cwd(),projectRoot:e.projectRoot})),"getClaudeMd"),getToolProjection:o(i=>(ud(i)??hw(i))?.toClassifierInput,"getToolProjection"),resolveProvider:o(i=>{try{return hi(i)}catch{return}},"resolveProvider"),defaultProvider:e.getCurrentProviderName(),defaultModel:e.getCurrentModel()??"",getDefaultProvider:e.getCurrentProviderName,getDefaultModel:o(()=>{let i=e.getCurrentModel();return i||(e.log?.("warn","[auto-mode] classifier defaultModel is empty; main session has no model set \u2014 classifier will likely fail"),"")},"getDefaultModel"),askUser:e.askUser,log:e.log,onEngineChange:e.onEngineChange,projectRoot:e.projectRoot,extraCollectors:e.extraCollectors,initialEngine:e.autoModeSettings.engine,timeoutMs:e.autoModeSettings.timeoutMs,userSettings:e.autoModeSettings.classifierModel,envVar:e.autoModeSettings.classifierModelEnv,speculativeWindowMs:e.autoModeSettings.speculativeWindowMs}),n),"getGuardrail"),rulesLoadResult:t}}o(Ea,"bootstrapAutoMode");var Gi=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t);this.sessions.set(t,{...structuredClone(n),scope:n.scope??r?.scope??"user",uiHistory:n.uiHistory??r?.uiHistory,extensionState:n.extensionState??r?.extensionState,artifactLedger:n.artifactLedger??r?.artifactLedger,extensionRecords:n.extensionRecords??r?.extensionRecords,tag:n.tag??r?.tag,lineage:Ot(n.messages,n.lineage??r?.lineage)})}async load(t){return structuredClone(this.sessions.get(t)??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=As(i.lineage,n,r);if(!s)return null;let a={...structuredClone(i),messages:Nt(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=_s(i.lineage,n,r);if(!s)return null;let a={...structuredClone(i),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.lineage)return null;let s=$s(i.lineage,n);if(!s)return null;let a=r?.sessionId??await Ms(),c={messages:Nt(s),title:r?.title??i.title,gitRoot:i.gitRoot,tag:i.tag,uiHistory:i.uiHistory?i.uiHistory.map(l=>({...l})):void 0,extensionState:i.extensionState?structuredClone(i.extensionState):void 0,artifactLedger:i.artifactLedger?structuredClone(i.artifactLedger):void 0,extensionRecords:i.extensionRecords?structuredClone(i.extensionRecords):void 0,lineage:s};return this.sessions.set(a,c),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.lineage)return null;let i=n??Ls(r.lineage);if(!i)return null;let s=Ps(r.lineage,i);if(!s)return null;let a={...r,messages:Nt(s),lineage:s};return this.sessions.set(t,a),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.scope??"user")==="user").map(([n,r])=>({id:n,title:r.title,msgCount:r.lineage?gi(r.lineage):r.messages.length,...r.tag!==void 0?{tag:r.tag}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function fb(){return new Gi}o(fb,"createMemorySessionStorage");import*as pb from"child_process";import*as mb from"util";import pp from"chalk";var K$=mb.promisify(pb.exec),z$={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function Ml(e,t={}){let n={...z$,...t},r=e.trim(),i=Hw(r);if(i)return i.startsWith("[Blocked]")&&(console.log(pp.yellow(`
|
|
65
|
+
${i}`)),console.log()),i;try{console.log(pp.dim(`
|
|
66
|
+
[Executing: ${r}]`));let{stdout:s,stderr:a}=await K$(r,{cwd:n.cwd,maxBuffer:n.maxBuffer,timeout:n.timeout,windowsHide:!0}),c="";return s&&(c+=s),a&&(c+=(c?`
|
|
67
|
+
`:"")+`[stderr] ${a}`),c.length>n.maxOutputLength&&(c=c.slice(0,n.maxOutputLength)+`
|
|
68
|
+
...[output truncated]`),console.log(pp.dim(c||"[No output]")),console.log(),`[Shell command executed: ${r}]
|
|
69
|
+
|
|
70
|
+
Output:
|
|
71
|
+
${c||"(no output)"}`}catch(s){let c=(s instanceof Error?s:new Error(String(s))).message;return c.length>n.maxErrorLength&&(c=c.slice(0,n.maxErrorLength)+`
|
|
72
|
+
...[error truncated]`),console.log(pp.red(`
|
|
73
|
+
[Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
|
|
74
|
+
|
|
75
|
+
Error: ${c}`}}o(Ml,"executeShellCommand");async function Eg(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return Ml(n,t)}return e}o(Eg,"processSpecialSyntax");function hb(e){return e.trim().startsWith("!")}o(hb,"isShellCommand");function gb(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}o(gb,"isShellCommandSuccess");function Al(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}o(Al,"isShellCommandHandled");var yb=150,xb=50;function Nr(e){if(e.length===0)return[];let t=[];for(let r=0;r<e.length;r+=1)e[r]?.type==="user"&&t.push(r);let n=[...e];if(t.length>xb){let r=t[t.length-xb]??0;n=e.slice(r)}if(n.length>yb){let r=n.slice(-yb),i=r.findIndex(s=>s.type==="user");n=i>0?r.slice(i):r}return[...n]}o(Nr,"trimPersistedUiHistorySnapshot");function Ko(e){if(e)return Nr(e)}o(Ko,"normalizePersistedUiHistory");function Y$(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"user":return{type:"user",text:e.text};case"system":return{type:"system",text:e.text};case"error":return{type:"error",text:e.text};case"hint":return{type:"hint",text:e.text};case"sidecar":{let t=e.icon;if(t==="budget-exhausted")return{type:"sidecar",text:e.text,delivery:"budget-exhausted"};let n=t==="blocked"?"blocked":"revise";return{type:"sidecar",text:e.text,verdict:n}}}}o(Y$,"toCreatableTextHistoryItem");function X$(e){if(e.type!=="tool_group")return Y$(e);let t=e.tools.map(Cd);return t.length>0?{type:"tool_group",tools:t}:void 0}o(X$,"persistedUiHistoryItemToCreatableHistoryItem");function Sb(e){let t=[],n=[];for(let r of e)r.type==="user"&&n.length>0&&(t.push(n),n=[]),n.push(r);return n.length>0&&t.push(n),t}o(Sb,"splitCreatableHistoryRounds");function q$(e){return e.some(t=>t.type==="tool_group")}o(q$,"roundHasToolGroup");function J$(e){return e.type==="event"&&e.icon==="tool"}o(J$,"isLegacyToolSummaryItem");function Q$(e,t){if(t.length===0||q$(e))return[...e];let n=e.filter(a=>!J$(a)),r=-1;for(let a=n.length-1;a>=0;a-=1)if(n[a]?.type==="thinking"){r=a;break}let i=n.findIndex(a=>a.type==="assistant"),s=r>=0?r+1:i>=0?i:n.length;return[...n.slice(0,s),...t,...n.slice(s)]}o(Q$,"insertDerivedToolGroupsIntoRound");function Z$(e,t){if(t.filter(a=>a.type==="tool_group").length===0)return[...e];let r=Sb(e),i=Sb(t),s=Math.max(0,i.length-r.length);return r.flatMap((a,c)=>{let d=(i[c+s]??[]).filter(f=>f.type==="tool_group");return Q$(a,d)})}o(Z$,"enrichTextOnlyUiHistory");function _l(e){let t=Id(e.messages).map(Ro),n=Ko(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(X$).filter(i=>!!i);return Z$(r,t)}o(_l,"restoreHistoryItemsFromSession");function Ll(e,t,n){let r=e.trim();return{type:"info",icon:"\u23F3",text:/\bretry\s+\d+\/\d+\b/i.test(r)||/\b\d+\/\d+\b/.test(r)?r:`${r} \xB7 retry ${t}/${n}`}}o(Ll,"createRetryHistoryItem");function wb(e,t,n,r){e(Ll(t,n,r))}o(wb,"emitRetryHistoryItem");function Pl(e){let{recoveryAction:t,attempt:n,maxAttempts:r,delayMs:i,stage:s,fallbackUsed:a}=e,c=Math.round(i/1e3);if(t==="manual_continue")return{type:"info",icon:"\u26A0",text:'Recovery exhausted. Type "continue" to retry or "stop" to cancel.'};if(t==="non_streaming_fallback"||a)return{type:"info",icon:"\u23F3",text:"Stream unstable, switching to non-streaming mode"};if(t==="sanitize_thinking_and_retry")return{type:"info",icon:"\u23F3",text:"Provider rejected replay thinking, sanitizing history and retrying"};let l;switch(s){case"before_first_delta":case"before_request_accepted":l="Provider request timed out";break;case"mid_stream_text":case"mid_stream_thinking":l="Stream interrupted after partial output";break;case"mid_stream_tool_input":l="Stream interrupted during tool input";break;case"post_tool_execution_pre_assistant_close":l="Stream interrupted after tool execution";break;default:l="Stream interrupted";break}let d=t==="stable_boundary_retry"?"recovering":"retrying";return{type:"info",icon:"\u23F3",text:c>0?`${l} \xB7 ${d} ${n}/${r} in ${c}s`:`${l} \xB7 ${d} ${n}/${r}`}}o(Pl,"createRecoveryHistoryItem");function Tb(e,t){e(Pl(t))}o(Tb,"emitRecoveryHistoryItem");import{jsx as ae,jsxs as Cn,Fragment as QN}from"react/jsx-runtime";import pk,{useState as Ue,useCallback as Y,useRef as he,useEffect as Be,useMemo as de}from"react";import{jsx as Br,Fragment as eD,jsxs as mp}from"react/jsx-runtime";var Mg=" | ",Cb=o(({searchActive:e=!1,selectionActive:t=!1,showAllActive:n=!1,searchQuery:r="",searchCurrent:i=0,searchCount:s=0,searchDetailText:a,pendingLiveUpdates:c=0,secondaryText:l,noticeText:d})=>{let f=te("dark"),p=r.trim(),m=a?.trim(),h=l?.trim(),S=d?.trim(),C=e?p?`Search /${p}`:"Search":"Transcript",R=e?`Enter jump | n/N next/prev | Ctrl+E ${n?"collapse":"show all"} | Esc close | Ctrl+O/q back`:t?`PgUp/PgDn page | j/k scroll | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | Esc clear focus | Ctrl+O/q back`:`PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | Ctrl+E ${n?"collapse":"show all"} | s dump | Ctrl+O/q/Esc back`,T=c>0?c===1?"1 new update":`${c} new updates`:void 0,w=e&&s>0?`${Math.max(0,i)}/${s}`:void 0,M=e&&m||h,P=!!(M||S);return mp(E,{flexDirection:"column",children:[mp(E,{paddingX:1,children:[Br(I,{color:f.colors.dim,children:C}),Br(I,{dimColor:!0,children:Mg}),Br(I,{color:f.colors.dim,children:R}),w||T?Br(E,{flexGrow:1}):null,w?mp(eD,{children:[Br(I,{dimColor:!0,children:w}),T?Br(I,{dimColor:!0,children:Mg}):null]}):null,T?Br(I,{color:f.colors.accent,bold:!0,children:T}):null]}),P?mp(E,{paddingX:1,children:[M?Br(I,{color:f.colors.dim,children:M}):null,M&&S?Br(I,{dimColor:!0,children:Mg}):null,S?Br(I,{color:f.colors.accent,bold:!0,children:S}):null]}):null]})},"TranscriptModeFooter");import{jsx as tD,jsxs as nD}from"react/jsx-runtime";var Ib=o(({banner:e,...t})=>nD(E,{flexDirection:"column",children:[e,tD(Uo,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as rD,jsxs as oD}from"react/jsx-runtime";var bb=o(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...i})=>oD(E,{flexDirection:"column",children:[e,rD(Qf,{...i,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as iD,jsx as sD}from"react/jsx-runtime";var vb=o(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=te("dark"),i=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return sD(E,{paddingX:1,backgroundColor:r.colors.inputBackground,children:iD(I,{color:i,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as zo,Fragment as aD,jsxs as Ag}from"react/jsx-runtime";var cD=" \u23BF ";function lD(e){let t=te("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}o(lD,"resolveSymbolColor");var uD=o(({row:e})=>{let t=lD(e.symbolColor),n=e.kind!=="item";return Ag(E,{flexDirection:"row",children:[zo(I,{color:t,bold:e.isActive,children:e.symbol}),zo(I,{children:" "}),zo(I,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?Ag(aD,{children:[zo(I,{children:" "}),zo(I,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),Rb=o(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=te("dark").colors.dim;return Ag(E,{flexDirection:"row",children:[zo(I,{color:t,children:cD}),zo(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>zo(uD,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as $l,jsxs as dD}from"react/jsx-runtime";var kb=Zw;function fD(e){let t=te("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;case"red":return t.colors.error;default:return t.colors.dim}}o(fD,"resolveSymbolColor");var pD=o(({row:e})=>{let t=fD(e.symbolColor);return dD(E,{flexDirection:"row",children:[$l(E,{width:kb,flexShrink:0,children:$l(I,{color:t,bold:e.isActive,wrap:"truncate",children:eT(e.symbol,kb)})}),$l(I,{color:e.kind==="hint"?te("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function Eb(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(Eb,"measureWorkflowRunSurfaceRows");var Mb=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:$l(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>$l(pD,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function Ab(e){if(!e.shouldRender||e.rows.length===0)return[];let t=[`Plan ${e.completedCount}/${e.totalCount} completed`];for(let n of e.rows){let r=n.evaluatorBadge?` ${n.evaluatorBadge}`:"";t.push(`${n.symbol} ${n.text}${r}`)}return t}o(Ab,"formatTodoPlanViewModelForTranscript");var _b="\u2610",mD="\u25CF",Lb="\u2713",hD="\u2717",gD="\u2298",yD="\u2612";function xD(e){switch(e){case"in_progress":return{symbol:mD,color:"cyan"};case"completed":return{symbol:Lb,color:"green"};case"failed":return{symbol:hD,color:"red"};case"skipped":return{symbol:gD,color:"gray"};case"cancelled":return{symbol:yD,color:"gray"};default:return{symbol:_b,color:"dim"}}}o(xD,"symbolForStatus");function SD(e){for(let t=0;t<e.length;t++)if(e[t].status==="in_progress")return t;for(let t=0;t<e.length;t++)if(e[t].status==="pending")return t;for(let t=e.length-1;t>=0;t--)if(e[t].status==="completed")return t;return 0}o(SD,"pickAnchorIndex");function wD(e){let{symbol:t,color:n}=xD(e.status),r=e.status==="failed"&&e.note?`${e.subject} (${e.note})`:e.subject,i=e.status==="cancelled",s=e.evaluator?`[${e.evaluator}]`:void 0;return{kind:"item",id:e.id,symbol:t,symbolColor:n,text:r,isActive:e.status==="in_progress",isStrikethrough:i,evaluatorBadge:s}}o(wD,"buildItemRow");function TD(e){return{kind:"summary_done",symbol:Lb,symbolColor:"green",text:`${e} done`,isActive:!1}}o(TD,"buildDoneSummary");function _g(e){return{kind:"summary_pending",symbol:_b,symbolColor:"dim",text:`+${e} more`,isActive:!1}}o(_g,"buildPendingSummary");function CD(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}o(CD,"pickFailedToPromote");function ID(e,t){let n=e.length;if(n===0)return{visibleIdx:[],hiddenCompletedCount:0,hiddenPendingCount:0};let r=4,i=Math.max(0,t-1),s=Math.min(n,i+r);s-i<r&&i>0&&(i=Math.max(0,s-r)),s-i<r&&s<n&&(s=Math.min(n,i+r));let a=[];for(let d=i;d<s;d++)a.push(d);let c=0,l=0;for(let d=0;d<i;d++)e[d].status==="completed"&&c++;for(let d=s;d<n;d++){let f=e[d].status;(f==="pending"||f==="in_progress")&&l++}return{visibleIdx:a,hiddenCompletedCount:c,hiddenPendingCount:l}}o(ID,"decideWindow");function Pb(e,t){let n=e.length,r=e.reduce((h,S)=>S.status==="completed"?h+1:h,0),i=o((h,S)=>({shouldRender:S,rows:h,completedCount:r,totalCount:n}),"baseVm");if(n<1)return i([],!1);t.now,t.lastAllCompletedAt;let s=SD(e),a=ID(e,s),c=new Set(a.visibleIdx),l=CD(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let h=-1;for(let S=d.length-1;S>=0;S--){let C=d[S];if(C!==s&&e[C].status==="pending"){h=S;break}}if(h>=0){let S=d[h];d[h]=l,p+=1,d.sort((T,w)=>T-w);let C=d[0],R=0;for(let T=0;T<C;T++)e[T].status==="completed"&&R++;f=R}}let m=[];f>0&&m.push(TD(f));for(let h of d)m.push(wD(e[h]));if(p>0&&m.push(_g(p)),m.length>6)for(;m.length>6;){let h=!1;for(let S=m.length-1;S>=0;S--){let C=m[S];if(C.kind==="item"&&!C.isActive){m.splice(S,1);let R=m[m.length-1];if(R&&R.kind==="summary_pending"){let T=/\+(\d+) more/.exec(R.text),w=T?Number.parseInt(T[1],10)+1:1;m[m.length-1]=_g(w)}else m.push(_g(1));h=!0;break}}if(!h)break}return i(m,!0)}o(Pb,"buildTodoPlanViewModel");function $b(e){let t=[];e.isHistorySearchActive?t.push({id:"search",label:"Search",accent:!0}):e.isTranscriptMode&&t.push({id:"transcript",label:"Transcript"}),e.pendingInputCount>0&&t.push({id:"queue",label:`Queue ${e.pendingInputCount}`}),e.buffering==="buffered-fallback"&&(e.isHistorySearchActive||e.isTranscriptMode)&&t.push({id:"buffered",label:"Buffered"}),e.isTranscriptMode&&e.pendingLiveUpdates>0&&t.push({id:"updates",label:e.pendingLiveUpdates===1?"1 update":`${e.pendingLiveUpdates} updates`,accent:!0});let n=[],r=[...t,...n].map(i=>i.label.trim()).filter(Boolean).join(" | ");return{leftItems:t,rightItems:n,summary:r}}o($b,"buildFooterHeaderViewModel");function bD(e){return _w(e.provider,e.model,"off",{longRunning:!0})}o(bD,"evaluateSessionTransitionPolicy");function vD(e,t){let n=t.snapshot.model?`${t.snapshot.provider}:${t.snapshot.model}`:t.snapshot.provider,r=[`[Provider Guardrail] ${e} on ${n}: ${t.summary}`],i=t.issues[0]?.detail;return i&&r.push(` ${i}`),t.status==="block"?r.push(" Switch to a provider with durable full-history session semantics before continuing."):t.status==="warn"&&r.push(" Continuing with degraded session semantics."),r}o(vD,"formatSessionTransitionGuardMessage");function Yo(e,t,n){let r=bD(e);if(!r||r.status==="allow")return!0;let[i,...s]=vD(t,r);return n(r.status,i,s),r.status!=="block"}o(Yo,"enforceSessionTransitionGuard");function RD(e){switch(e.type){case"message":{let n=(typeof e.message.content=="string"?e.message.content:"[complex content]").replace(/\s+/g," ").trim();return`${e.message.role}: ${n.slice(0,48)}${n.length>48?"...":""}`}case"compaction":return`compaction: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"branch_summary":return`branch: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;case"archive_marker":return`archived: ${e.summary.slice(0,48)}${e.summary.length>48?"...":""}`;default:return e}}o(RD,"summarizeEntry");function Db(e,t,n,r){let i=t?n?"\\- ":"|- ":"",s=e.active?"*":" ",a=e.entry.id.slice(0,12),c=e.label?` [${e.label}]`:"";r.push(`${t}${i}${s} ${a} ${RD(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{Db(d,l,f===e.children.length-1,r)})}o(Db,"formatNode");function hp(e){let t=[];return e.forEach((n,r)=>{Db(n,"",r===e.length-1,t)}),t}o(hp,"formatSessionTree");function Ob(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}o(Ob,"isDuplicateLegacyRateLimit");var kD=100,ED=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,Bb=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,Hb=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,Wb=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function Ma(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(Ma,"readString");function rn(e,t,n){n&&e.push({label:t,value:n})}o(rn,"pushField");function MD(e){return e.replace(/\s+/g," ").trim()}o(MD,"normalizeWhitespace");function AD(e,t){if(e.length<=t)return e;let n=Math.ceil((t-3)/2),r=Math.floor((t-3)/2);return`${e.slice(0,n)}...${e.slice(e.length-r)}`}o(AD,"truncateMiddle");function _D(e){let t=e;return t=t.replace(/\b(authorization\s*:\s*bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b((?:authorization|cookie)\s*:\s*)([^'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(bearer\s+)([^\s'"]+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/\b(api[_-]?key|access[_-]?token|refresh[_-]?token|token|secret|password|passwd|cookie|session)\b(\s*[:=]\s*)(['"]?)([^'"\s]+)(\3)/gi,(n,r,i,s)=>`${r}${i}${s}[REDACTED]${s}`),t=t.replace(/(--(?:api-key|token|secret|password|cookie)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t=t.replace(/((?:-u|--user)\s+)(\S+)/gi,(n,r)=>`${r}[REDACTED]`),t}o(_D,"maskSensitiveSegments");function Nb(e){return AD(_D(MD(e)),kD)}o(Nb,"summarizeCommand");function LD(e){return eo(e)?re("intent.read"):Bb.test(e)?re("intent.delete"):Hb.test(e)?re("intent.deps"):to(e)||Wb.test(e)?re("intent.modify"):re("intent.execute")}o(LD,"classifyShellIntent");function PD(e){let t=[];return Bb.test(e)?t.push(re("risk.destructive")):Hb.test(e)?t.push(re("risk.deps")):to(e)||Wb.test(e)?t.push(re("risk.modify")):eo(e)||t.push(re("risk.unknown")),ED.test(e)&&t.push(re("risk.network")),t}o(PD,"classifyShellRisks");function $D(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}o($D,"readSignals");function DD(e){if(e){if(e.some(t=>t.kind==="protected_path"))return re("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return re("scope.outside")}}o(DD,"scopeFromSignals");function OD(e){if(e._outsideProject===!0)return re("scope.outside");if(e._alwaysConfirm===!0)return re("scope.protected")}o(OD,"scopeFromMarkers");function ND(e){if(!e)return[];let t=[],n=e.some(i=>i.kind==="dangerous_pattern"&&i.severity==="high"),r=e.some(i=>i.kind==="dangerous_pattern"&&i.severity==="medium");return n?t.push(re("risk.destructive")):r&&t.push(re("risk.modify")),e.some(i=>i.kind==="network")&&t.push(re("risk.network")),e.some(i=>i.kind==="package_install")&&t.push(re("risk.deps")),t}o(ND,"risksFromSignals");var BD={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function HD(e){return re(BD[e])}o(HD,"localizeFieldLabel");function Aa(e,t){return{title:e,fields:t,details:t.map(n=>`${HD(n.label)}: ${n.value}`)}}o(Aa,"buildDisplayFromFields");function gp(e,t){if(e==="confirm"){let l=Ma(t._message);if(l)return Aa(l,[])}if(e==="exit_plan_mode"){let l=Ma(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
|
|
76
|
+
`)}:Aa(d,[])}let n=[],r=Ma(t.path),i=Ma(t.command),s=Ma(t._reason)??Ma(t.justification),a=$D(t._classifierSignals),c=DD(a)??OD(t);switch(rn(n,"Reason",s),e){case"bash":case"shell_command":{if(i){rn(n,"Intent",LD(i)),rn(n,"Scope",c);let l=ND(a),d=l.length>0?l:PD(i);d.length>0&&rn(n,"Risk",d.join("; ")),rn(n,"Summary",Nb(i))}else rn(n,"Scope",c);return Aa(e==="bash"?re("tool.bash.title"):re("tool.shell.title"),n)}case"write":return rn(n,"Intent",re("intent.write_file")),rn(n,"Target",r),rn(n,"Scope",c),Aa(re("tool.write.title"),n);case"edit":return rn(n,"Intent",re("intent.edit_file")),rn(n,"Target",r),rn(n,"Scope",c),Aa(re("tool.edit.title"),n);default:return rn(n,"Intent",re("intent.use_tool",{tool:e})),rn(n,"Target",r),rn(n,"Scope",c),i&&rn(n,"Summary",Nb(i)),Aa(re("tool.generic.title",{tool:e}),n)}}o(gp,"buildToolConfirmationDisplay");function Fb(e,t){let n=gp(e,t);return n.details.length>0?`${n.title}
|
|
77
|
+
${n.details.join(`
|
|
78
|
+
`)}`:n.title}o(Fb,"buildToolConfirmationPrompt");function jb(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(jb,"truncateToolPreview");function Ub(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(Ub,"truncateToolOutputPreview");function Lg(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(Lg,"stripToolRolePrefix");function Pg(e){return Lg(e).toLowerCase()}o(Pg,"normalizeToolNameForMatch");function $g(e){return e===`[${re("managed.completed")}]`||e===`[${re("managed.completed.blocked")}]`||e===`[${re("managed.completed.continuation")}]`}o($g,"isCompletionTranscriptItem");function yp(e,t){if(!e||!t)return e;let n=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return e.replace(new RegExp(`^\\[Tools\\]\\s+\\[${n}\\]\\s+`,"i"),"[Tools] ").replace(new RegExp(`^\\[Thinking\\]\\s+\\[${n}\\]\\s*`,"i"),"[Thinking] ").replace(new RegExp(`^\\[${n}\\]\\s+thinking\\b`,"i"),"[Thinking]").trim()}o(yp,"formatManagedLiveActivityLabel");function uo(e,t){return yp(`[Tools] ${_f(e)}`,t)??`[Tools] ${_f(e)}`}o(uo,"formatManagedLiveToolLabel");function xp(e,t){if(e.type!==t.type)return!1;switch(e.type){case"assistant":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"thinking":{let n=t;return e.text===n.text&&e.compactText===n.compactText}case"event":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"info":{let n=t;return e.text===n.text&&e.compactText===n.compactText&&e.icon===n.icon}case"error":case"hint":case"system":case"user":{let n=t;return e.text===n.text}case"tool_group":{let n=t;return JSON.stringify(e.tools)===JSON.stringify(n.tools)}default:return!1}}o(xp,"areManagedLiveItemsEquivalent");function Gb(e){return e==="Task completed"?re("managed.completed"):e==="Task needs continuation"?re("managed.completed.continuation"):e==="Task ended: blocked"?re("managed.completed.blocked"):e==="Task ended: needs_continuation"?re("managed.completed.continuation"):e.startsWith("Task ended:")?re("managed.completed.blocked"):e}o(Gb,"localizeManagedCompletionSummary");function Vb(e,t){let n=e.trim();return t.trim()?n?e===t?e:t.startsWith(e)?t:e.startsWith(t)?e:t:t:e}o(Vb,"mergeLiveThinkingContent");function _a(e,t){let n=t?.expanded?e.detailNote??e.note:e.note,r=e.activeWorkerTitle?`${e.agentMode.toUpperCase()} ${e.activeWorkerTitle}`:e.agentMode.toUpperCase(),i=e.activeWorkerTitle??"Scout",s=`${e.agentMode.toUpperCase()} ${i}`,a=`${e.agentMode.toUpperCase()} Routing`,c=e.currentRound&&e.maxRounds&&e.currentRound>1?` - Round ${e.currentRound}/${e.maxRounds}`:"";switch(e.phase){case"routing":return`${a} - Routing ready`;case"starting":return n?`${r} - ${n}`:`${r} - Managed task starting`;case"preflight":return n?`${s} - ${n}`:`${s} - ${i} preflight starting`;case"round":return n?`${r} - ${n}`:`${r} - Managed task round update${c}`;case"worker":return n?`${r} - ${n}${c}`:`${r} - ${e.activeWorkerTitle??"Worker"} starting${c}`;case"upgrade":return n?`${r} - ${n}`:`${r} - Harness transition${c}`;case"verifying":return n?`${e.agentMode.toUpperCase()} Verifying - ${n}`:`${e.agentMode.toUpperCase()} Verifying`;case"completed":return n?`${r} - ${n}`:`${r} - Managed task completed`;default:return}}o(_a,"formatManagedTaskBreadcrumb");var Kb=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function zb(e){if(e.events&&e.events.length>0)return e.events.reduce((r,i)=>{let s=i.summary.trim(),a=(i.detail??i.summary).trim();if(!s||!a)return r;let c=`managed-live-${i.key}`,l=Date.now(),d=i.persistToHistory??e.persistToHistory??!1;if(i.presentation==="thinking")return r.push({item:{id:c,type:"thinking",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;if(i.presentation==="assistant")return r.push({item:{id:c,type:"assistant",timestamp:l,text:a,...s!==a?{compactText:s}:{}},persistToHistory:d}),r;let f=i.kind==="completed";if(f&&!Kb)return r;let p=f?`[${Gb(s)}]`:void 0,m=p??s,h=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:h,icon:i.kind==="warning"?"!":f?"\u2713":">",...m!==h?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!Kb)return[];let t=_a(e),n=_a(e,{expanded:!0})??t;return!t||!n?[]:[{item:{id:`managed-live-fallback-${e.phase??"worker"}-${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48)}`,type:"event",timestamp:Date.now(),text:n,icon:">",...t!==n?{compactText:t}:{}},persistToHistory:e.persistToHistory??!1}]}o(zb,"buildManagedLiveEventDrafts");function WD(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(WD,"shouldFilterSidecarAcceptEntry");function Dg(e,t){let n=e.managedTask;if(!n)return[];let r=t?.verifierLog??process.env.KODAX_VERIFIER_LOG==="1",i=o(f=>{if(!e.interrupted&&!n.verdict.signalReason?.includes("Orchestration cancelled"))return!1;let p=f.signalReason?.trim()??"",m=f.summary?.trim()??"",h=f.output?.trim()??"",S=p.includes("Orchestration cancelled"),C=m.includes("Orchestration cancelled"),R=!h||m==="No textual output produced.";return f.status!=="completed"&&(S||C||R)||(S||C)&&R},"isInterruptedCancellation"),s=new Map(n.roleAssignments.map((f,p)=>[f.id,p])),a=n.verdict.decidedByAssignmentId,c=Math.max(0,...n.evidence.entries.filter(f=>f.assignmentId===a).map(f=>f.round??1)),l=[...n.evidence.entries].sort((f,p)=>{let m=(f.round??1)-(p.round??1);return m!==0?m:(s.get(f.assignmentId)??0)-(s.get(p.assignmentId)??0)}).filter(f=>!i(f)).filter(f=>!WD(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",m=f.summary?.trim()??"",h=p?Ys(p):"",S=m?Ys(m):"",C=f.role==="scout"?S?`Scout completed: ${S}`:"Scout completed.":S;return{entry:f,text:S||h||C}}).filter(({text:f})=>!!f).map(({entry:f,text:p})=>{let m=f.role==="scout"?" Preflight":(f.round??1)>1?` Round ${f.round}`:"";return`[${f.role==="evaluator"?`\u26A1 Sidecar Verifier${m}`:`${f.title??f.assignmentId}${m}`}]
|
|
79
|
+
${p}`}),d=n.verdict.disposition==="complete"?re("managed.completed"):n.verdict.disposition==="needs_continuation"?re("managed.completed.continuation"):n.verdict.disposition==="blocked"?re("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}o(Dg,"buildManagedTaskTranscriptItems");function Yb(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}o(Yb,"extractBoldHeader");var Og=[" \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557"," \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D"," \u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D "," \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557 "," \u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557"," \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D"];import pt from"chalk";var Sp=class e{static{o(this,"ShortcutsRegistry")}static instance=null;shortcuts=new Map;static getInstance(){return e.instance||(e.instance=new e),e.instance}static resetInstance(){e.instance=null}register(t){let n=this.shortcuts.get(t.id);this.shortcuts.set(t.id,{definition:t,effectiveBindings:n?.effectiveBindings??t.defaultBindings,handler:n?.handler})}registerAll(t){for(let n of t)this.register(n)}unregister(t){return this.shortcuts.delete(t)}setHandler(t,n){let r=this.shortcuts.get(t);r&&(r.handler=n)}findMatchingShortcut(t,n){let r=null,i=-1/0;for(let s of this.shortcuts.values()){let a=s.definition.context;a!=="global"&&a!==n||this.matchesBinding(t,s.effectiveBindings)&&s.handler&&s.definition.priority>i&&(i=s.definition.priority,r=s)}return r}matchesBinding(t,n){for(let r of n){let i=this.normalizeKeyName(t.name),s=this.normalizeKeyName(r.key);if(i===s){let a=(r.ctrl??!1)===t.ctrl,c=(r.shift??!1)===t.shift,l=(r.meta??!1)===t.meta;if(a&&c&&l)return!0}}return!1}normalizeKeyName(t){let n={return:"enter",esc:"escape",del:"delete",backspace:"backspace"," ":"space"},r=t.toLowerCase();return n[r]??r}executeShortcut(t,n){let r=this.findMatchingShortcut(t,n);return r?.handler?r.handler(t)===!0:!1}getAllShortcuts(){return Array.from(this.shortcuts.values())}getShortcutsByCategory(t){return this.getAllShortcuts().filter(n=>n.definition.category===t)}getShortcutsByContext(t){return this.getAllShortcuts().filter(n=>{let r=n.definition.context;return r==="global"||r===t})}formatBinding(t){let n=[];t.ctrl&&n.push("Ctrl"),t.meta&&n.push("Alt"),t.shift&&n.push("Shift");let r=t.key.length===1?t.key.toUpperCase():t.key;return n.push(r),n.join("+")}formatBindings(t){return t.map(n=>this.formatBinding(n)).join(" or ")}},Hr=o(()=>Sp.getInstance(),"getShortcutsRegistry");var La=[{id:"interrupt",name:"Interrupt",description:"Interrupt the current streaming response",defaultBindings:[{key:"c",ctrl:!0}],context:"global",priority:200,category:"global",configurable:!1},{id:"showHelp",name:"Toggle Help",description:"Show or hide shortcut help when the input is empty",defaultBindings:[{key:"?"}],context:"global",priority:150,category:"global",configurable:!0},{id:"toggleThinking",name:"Cycle Reasoning Effort",description:"Cycle reasoning effort for the active model: off, low \u2026 max, auto",defaultBindings:[{key:"t",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleTranscriptMode",name:"Toggle Transcript Mode",description:"Toggle transcript mode on or off",defaultBindings:[{key:"o",ctrl:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"openTranscriptSearch",name:"Search Transcript",description:"Open transcript search",defaultBindings:[{key:"f",ctrl:!0}],context:"global",priority:150,category:"navigation",configurable:!0},{id:"togglePermissionMode",name:"Cycle Permissions",description:"Cycle permission mode: plan, accept-edits, auto-in-project",defaultBindings:[{key:"tab",shift:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"toggleAgentMode",name:"Cycle Agent Mode",description:"Cycle agent mode: AMA, AMAW, SA",defaultBindings:[{key:"m",meta:!0}],context:"global",priority:150,category:"mode",configurable:!0},{id:"submitInput",name:"Submit Input",description:"Submit the current input",defaultBindings:[{key:"enter"}],context:"input",priority:50,category:"global",configurable:!1},{id:"acceptCompletion",name:"Accept Completion",description:"Accept the current autocomplete suggestion",defaultBindings:[{key:"tab"}],context:"input",priority:60,category:"editing",configurable:!0},{id:"cancelInput",name:"Cancel Input",description:"Cancel or clear the current input",defaultBindings:[{key:"escape"}],context:"input",priority:70,category:"editing",configurable:!0},{id:"newline",name:"Insert Newline",description:"Insert a newline in the current input",defaultBindings:[{key:"enter",shift:!0},{key:"j",ctrl:!0}],context:"input",priority:40,category:"editing",configurable:!0},{id:"historyUp",name:"History Up",description:"Browse previous input history",defaultBindings:[{key:"up"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"historyDown",name:"History Down",description:"Browse next input history",defaultBindings:[{key:"down"}],context:"input",priority:30,category:"navigation",configurable:!0},{id:"moveLeft",name:"Move Left",description:"Move the cursor left",defaultBindings:[{key:"left"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveRight",name:"Move Right",description:"Move the cursor right",defaultBindings:[{key:"right"}],context:"input",priority:20,category:"navigation",configurable:!1},{id:"moveToStart",name:"Move To Start",description:"Move the cursor to the start of the line",defaultBindings:[{key:"a",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"moveToEnd",name:"Move To End",description:"Move the cursor to the end of the line",defaultBindings:[{key:"e",ctrl:!0}],context:"input",priority:25,category:"navigation",configurable:!0},{id:"killLineRight",name:"Delete To End",description:"Delete from the cursor to the end of the current line",defaultBindings:[{key:"k",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"killLineLeft",name:"Delete To Start",description:"Delete from the start of the line to the cursor",defaultBindings:[{key:"u",ctrl:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"deleteWordLeft",name:"Delete Word Left",description:"Delete the word before the cursor",defaultBindings:[{key:"w",ctrl:!0},{key:"backspace",meta:!0}],context:"input",priority:25,category:"editing",configurable:!0},{id:"moveLineUp",name:"Move Line Up",description:"Move to the previous visual line in multiline input",defaultBindings:[{key:"up",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"moveLineDown",name:"Move Line Down",description:"Move to the next visual line in multiline input",defaultBindings:[{key:"down",ctrl:!0}],context:"input",priority:20,category:"navigation",configurable:!0},{id:"backspace",name:"Backspace",description:"Delete the previous character",defaultBindings:[{key:"backspace"}],context:"input",priority:10,category:"editing",configurable:!1},{id:"delete",name:"Delete",description:"Delete the next character",defaultBindings:[{key:"delete"}],context:"input",priority:10,category:"editing",configurable:!1}];import{useEffect as FD,useCallback as jD,useRef as UD}from"react";function fo(e,t,n={}){let{context:r,isActive:i=!0}=n,s=Hr(),a=UD(t);a.current=t,FD(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=jD(d=>{if(!i)return!1;let p=s.getAllShortcuts().find(C=>C.definition.id===e);if(!p)return!1;let m=r??p.definition.context,h=m==="global"?"input":m,S=s.findMatchingShortcut(d,h);return S&&S.definition.id===e?a.current(d)===!0:!1},[s,e,i,r]),l=GD(e,s);$n(c,{isActive:i,priority:l})}o(fo,"useShortcut");function GD(e,t){let r=t.getAllShortcuts().find(i=>i.definition.id===e);return r?r.definition.priority:0}o(GD,"getShortcutPriority");import VD,{createContext as KD,useContext as zD,useState as Xb,useCallback as Ng}from"react";var qb=KD(null);function Bg({children:e,initialContext:t="input"}){let[n,r]=Xb(!1),[i,s]=Xb(t);Hr().registerAll(La);let c=Ng(()=>{r(p=>!p)},[]),l=Ng(()=>{let m=Hr().getAllShortcuts(),h={global:[],mode:[],navigation:[],editing:[]};for(let S of m){let C=S.definition.category;h[C]||(h[C]=[]),h[C].push(S)}return h},[]),d=Ng(()=>Hr().getShortcutsByContext(i),[i]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:i,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return VD.createElement(qb.Provider,{value:f},e)}o(Bg,"ShortcutsProvider");function Hg(){let e=zD(qb);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}o(Hg,"useShortcutsContext");import YD from"chalk";var Jb={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function XD(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=Jb[t];if(r===void 0)return-1;let i=-1,s=-1;for(let a=0;a<e.length;a++){let c=Jb[e[a]];c===void 0||c>r||c>s&&(s=c,i=a)}return i}o(XD,"nearestCycleIndex");function Wg({currentConfig:e,setCurrentConfig:t,isLoading:n,abort:r,stopThinking:i,clearThinkingContent:s,setCurrentTool:a,setIsLoading:c,onToggleHelp:l,setShowHelp:d,onSetThinking:f,onSetReasoningMode:p,onToggleTranscriptMode:m,onOpenTranscriptSearch:h,canOpenTranscriptSearch:S=!0,isInteractiveDialogActive:C=!1,onSetAgentMode:R,onSetPermissionMode:T,isInputEmpty:w,onSavePermissionMode:M}){let P=o($=>$?.name?.toLowerCase()==="c"&&$.ctrl===!0,"isCtrlCInterrupt");return fo("interrupt",$=>P($)&&n?(r(),i(),s(),a(void 0),c(!1),console.log(YD.yellow(`
|
|
80
|
+
[Interrupted]`)),!0):!1,{isActive:n}),fo("showHelp",()=>C?!1:w?(l(),!0):!1,{isActive:w}),fo("toggleThinking",()=>{if(C)return!1;let $=Lw(e.provider,e.model);if($.length===0)return!1;let H=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,W=XD($,H===void 0||H==="auto"?"auto":H==="none"?"off":H),J=$[(W+1)%$.length]??$[0],pe=J==="auto"?void 0:J==="off"?"none":J,we=J!=="auto",y=J!=="off",O=J==="off"?"off":"auto";return t(k=>({...k,effort:pe,effortOverride:we,thinking:y,reasoningMode:O})),Si({effort:pe,thinking:y,reasoningMode:O}),p?.(O),f?.(y),d(!1),!0}),fo("toggleTranscriptMode",()=>C?!1:(m?.(),d(!1),!0)),fo("openTranscriptSearch",()=>C||!S?!1:(h?.(),d(!1),!0)),fo("togglePermissionMode",()=>{if(C)return!1;let $=["plan","accept-edits","auto"],H=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,W=($.indexOf(H)+1)%$.length,J=$[W];return t(pe=>({...pe,permissionMode:J})),T?.(J),M?.(J),d(!1),!0}),fo("toggleAgentMode",()=>{if(C)return!1;let $=Vw(e.agentMode);return t(H=>({...H,agentMode:$})),Si({agentMode:$}),R?.($),d(!1),!0}),null}o(Wg,"GlobalShortcuts");import{exec as qD}from"child_process";import{promisify as JD}from"util";var QD=JD(qD),ZD={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function Qb(e){let t=[],n="",r=0;for(let i of e){if(i===","&&r===0){n.trim()&&t.push(n.trim()),n="";continue}i==="("?r++:i===")"&&r>0&&r--,n+=i}return n.trim()&&t.push(n.trim()),t}o(Qb,"splitTopLevelCommaList");function eO(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:Qb(e).map(r=>{if(r==="*")return{tool:"*"};if(r.includes("(")&&!r.endsWith(")")){t.push(r);return}let i=r.match(/^([^(]+?)(?:\((.*)\))?$/);if(!i){t.push(r);return}let s=ZD[i[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=i[2]?Qb(i[2]).map(c=>c.trim()).filter(Boolean):void 0;return{tool:s,patterns:a&&a.length>0?a:void 0}}).filter(r=>r!==void 0),invalidEntries:t}}o(eO,"parseAllowedTools");function tO(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}o(tO,"wildcardToRegExp");function Zb(e,t){return tO(e).test(t)}o(Zb,"matchesPattern");function ev(e,t,n){if(!e.configured)return!0;if(e.rules.length===0)return!1;let r=t.toLowerCase(),i=r==="bash"?String(n.command??"").trim():"";return e.rules.some(s=>s.tool!=="*"&&s.tool!==r?!1:!s.patterns||s.patterns.length===0||r!=="bash"?!0:s.patterns.some(a=>Zb(a,i)))}o(ev,"isToolAllowed");function nO(e,t){return e.matcher?Zb(e.matcher,t):!0}o(nO,"hookMatches");function rO(e){let t=e.source==="skill"?"skill":e.source==="extension"?"extension command":"command";return[`Note: ${e.displayName} has model invocation disabled.`,`The ${t} content is shown below for manual use:`,"",`--- ${e.displayName} ---`,e.prompt,`--- end ${e.displayName} ---`].join(`
|
|
81
|
+
`)}o(rO,"formatManualOutput");function oO(e,t){if(!t)return;let n=t.trim();if(n){if(!["haiku","sonnet","opus"].includes(n))return n;if(e==="anthropic")switch(n){case"haiku":return"claude-3-5-haiku-latest";case"opus":return"claude-opus-4-1";default:return"claude-sonnet-4-6"}}}o(oO,"resolveModelOverride");async function iO(e,t,n,r,i,s){let a=typeof n.displayName=="string"?n.displayName:"frontmatter invocation",c={command:t.command,_reason:`Frontmatter hook ${e} for ${a}`,_frontmatterHook:!0,_hookEvent:e,_hookMatcher:t.matcher};if(!ev(s,"bash",c))return{allow:!1,message:`Hook ${e} for ${a} is blocked by allowed-tools policy.`};if(i.beforeToolExecute&&!await i.beforeToolExecute("bash",c))return{allow:!1,message:`Hook ${e} for ${a} was blocked by the current permission policy.`};try{let{stdout:l,stderr:d}=await QD(t.command,{env:{...process.env,KODAX_HOOK_EVENT:e,KODAX_HOOK_PAYLOAD:JSON.stringify(n)},maxBuffer:1048576,windowsHide:!0}),f=[l.trim(),d.trim()].filter(Boolean).join(`
|
|
82
|
+
`);f&&i.onToolResult?.({id:`frontmatter-hook:${e}`,name:"bash",content:f}),d.trim()&&await r(`[Hook ${e} stderr] ${d.trim()}`);let p=l.trim();if(!p)return{};try{let m=JSON.parse(p);return{allow:typeof m.allow=="boolean"?m.allow:typeof m.continue=="boolean"?m.continue:void 0,message:typeof m.message=="string"?m.message:void 0,additionalContext:typeof m.additionalContext=="string"?m.additionalContext:typeof m.additional_context=="string"?m.additional_context:void 0}}catch{return{message:p,additionalContext:p}}}catch(l){return await r(`[Hook ${e} failed] ${l instanceof Error?l.message:String(l)}`),{}}}o(iO,"executeHookCommand");async function Pa(e,t,n,r,i,s,a){let c=e?.[t];if(!c||c.length===0)return{};let l={};for(let d of c){if(!nO(d,n))continue;let f=await iO(t,d,r,i,s,a);if(f.message&&await i(`[Hook ${t}] ${f.message}`),f.additionalContext&&(l.additionalContext=l.additionalContext?`${l.additionalContext}
|
|
83
|
+
${f.additionalContext}`:f.additionalContext),f.allow===!1){l.allow=!1;break}}return l}o(Pa,"runHooks");async function wp(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:rO(t),finalize:o(async()=>{},"finalize")};let i=e.events??{},s=eO(t.allowedTools),a=oO(e.provider,t.model),c=!1,l=o(async R=>{if(r(R),!(c||!t.hooks?.Notification?.length)){c=!0;try{await Pa(t.hooks,"Notification",R,{displayName:t.displayName,source:t.source,path:t.path,message:R},async T=>{r(T)},i,s)}finally{c=!1}}},"emitWithNotifications");t.model&&!a&&await l(`[Info] Model preference '${t.model}' is not supported by provider '${e.provider}', using the current model.`),s.invalidEntries.length>0&&await l(`[Warning] ${t.displayName} has invalid allowed-tools entries: ${s.invalidEntries.join(", ")}`),s.configured&&s.rules.length===0&&await l(`[Warning] ${t.displayName} has no valid allowed-tools entries, so all tool execution will be blocked.`);let d=await Pa(t.hooks,"SessionStart",t.displayName,{displayName:t.displayName,source:t.source,path:t.path},l,i,s);if(d.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped before execution.`,finalize:o(async()=>{},"finalize")};let f=await Pa(t.hooks,"UserPromptSubmit",n,{displayName:t.displayName,source:t.source,prompt:n,path:t.path},l,i,s);if(f.allow===!1)return{mode:"manual",manualOutput:`[Blocked] ${t.displayName} was stopped by a UserPromptSubmit hook.`,finalize:o(async()=>{},"finalize")};let p=[t.agent?`Preferred agent: ${t.agent}`:void 0,d.additionalContext,f.additionalContext].filter(R=>typeof R=="string"&&R.trim().length>0),m=[p.length>0?p.join(`
|
|
84
|
+
|
|
85
|
+
`):void 0,t.prompt,`User request: ${n}`].filter(R=>typeof R=="string"&&R.trim().length>0),h={...i,beforeToolExecute:o(async(R,T,w)=>ev(s,R,T)?(await Pa(t.hooks,"PreToolUse",R,{tool:R,input:T,displayName:t.displayName,source:t.source,path:t.path},l,i,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${R}' for ${t.displayName}`),!1):i.beforeToolExecute?await i.beforeToolExecute(R,T,w):!0:(await l(`[Blocked] Tool '${R}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:o((R,T)=>{i.onToolResult?.(R,T),Pa(t.hooks,"PostToolUse",R.name,{...R,displayName:t.displayName,source:t.source,path:t.path},l,i,s)},"onToolResult")},S=!1,C=o(async R=>{S||(S=!0,await Pa(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:R?.message},l,i,s))},"finalize");return{mode:t.context==="fork"?"fork":"inline",prompt:m.join(`
|
|
86
|
+
|
|
87
|
+
`),options:{...e,...t.agentModeOverride?{agentMode:t.agentModeOverride}:{},modelOverride:a,context:{...e.context,rawUserInput:n,skillInvocation:t.source==="skill"?t.skillInvocation:e.context?.skillInvocation},events:h},finalize:C}}o(wp,"prepareInvocationExecution");import{appendFileSync as sO,mkdirSync as aO,writeFileSync as cO}from"node:fs";import{join as nv}from"node:path";import tv from"node:v8";var Ug=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),Gg=Ug>=1,Vg=QS(),rv=nv(Vg,"memory-diag.log"),Fg=0,jg=!1;function ov(){if(!jg)try{aO(Vg,{recursive:!0}),jg=!0}catch{jg=!0}}o(ov,"ensureLogDir");function lO(e){ov();try{sO(rv,e+`
|
|
88
|
+
`)}catch{}}o(lO,"writeLog");function Rt(e){return`${(e/1024/1024).toFixed(2)}MB`}o(Rt,"formatMB");function uO(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}o(uO,"tryGC");function Tt(e){return e?e.length*2:0}o(Tt,"strBytes");function Vi(e,t=0){if(t>8)return 0;if(e==null)return 8;if(typeof e=="string")return e.length*2;if(typeof e=="number"||typeof e=="boolean")return 8;if(Array.isArray(e)){let n=32;for(let r of e)n+=Vi(r,t+1);return n}if(typeof e=="object"){let n=64;for(let[r,i]of Object.entries(e))n+=r.length*2,n+=Vi(i,t+1);return n}return 16}o(Vi,"estimateJsonBytes");function iv(e){if(!e||typeof e!="object")return 64;let t=e,n=64,r=new Set(["type","text","thinking","content","partial_json","input","data","signature","path","mediaType","tool_use_id","id","name","is_error"]);if(typeof t.text=="string"&&(n+=t.text.length*2),typeof t.thinking=="string"&&(n+=t.thinking.length*2),typeof t.content=="string")n+=t.content.length*2;else if(Array.isArray(t.content))for(let i of t.content)n+=iv(i);typeof t.partial_json=="string"&&(n+=t.partial_json.length*2),typeof t.data=="string"&&(n+=t.data.length*2),typeof t.signature=="string"&&(n+=t.signature.length*2),typeof t.path=="string"&&(n+=t.path.length*2),t.input!==void 0&&(n+=Vi(t.input));for(let[i,s]of Object.entries(t))r.has(i)||(n+=i.length*2+Vi(s));return n}o(iv,"estimateBlockBytes");function Kg(e){if(typeof e.content=="string")return e.content.length*2+64;if(Array.isArray(e.content)){let t=64;for(let n of e.content)t+=iv(n);return t}return 200}o(Kg,"estimateMessageBytes");function Dl(e){let t=128;switch(t+=Tt(e.id)+Tt(e.parentId??void 0)+Tt(e.timestamp),e.type){case"message":return t+Kg(e.message);case"compaction":return t+=Tt(e.summary),t+=Tt(e.firstKeptEntryId),t+=Tt(e.reason),t+=Tt(e.artifactLedgerId),e.details!==void 0&&(t+=Vi(e.details)),e.memorySeed!==void 0&&(t+=Vi(e.memorySeed)),t;case"branch_summary":return t+=Tt(e.summary),t+=Tt(e.fromId),e.details!==void 0&&(t+=Vi(e.details)),t;case"label":return t+=Tt(e.targetId),t+=Tt(e.label),t;case"archive_marker":return t+=Tt(e.archiveBatchId),t+=Tt(e.summary),t+=8,t;case"rewind_marker":return t+=Tt(e.targetId),t+=Tt(e.fromId),t+=Tt(e.summary),t+=8,t;default:return t}}o(Dl,"estimateEntryBytes");function dO(e){let t={},n=[];for(let i=0;i<e.length;i++){let s=e[i],a=Kg(s);n.push({index:i,role:s.role,bytes:a});let c=t[s.role]??{count:0,bytes:0};c.count++,c.bytes+=a,t[s.role]=c}return n.sort((i,s)=>s.bytes-i.bytes),{totalBytes:n.reduce((i,s)=>i+s.bytes,0),biggest:n.slice(0,5),byRole:t}}o(dO,"buildMessageBreakdown");function Tp(){return Gg}o(Tp,"memDiagEnabled");function Cp(e,t){if(!Gg)return;e==="turn-start"&&Fg++;let n=process.memoryUsage(),r=new Date().toISOString(),i=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${Fg} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${Rt(n.heapUsed)} total=${Rt(n.heapTotal)} rss=${Rt(n.rss)} ext=${Rt(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${Rt(t.messageBytes)}`,` lineage.entries: ${t.lineageEntryCount} total (msg=${t.lineageMessageEntryCount}, compact=${t.lineageCompactionCount}, branch=${t.lineageBranchSummaryCount}, label=${t.lineageLabelCount}, archive=${t.lineageArchiveMarkerCount}, rewind=${t.lineageRewindMarkerCount})`,` lineage non-message: ${Rt(t.lineageNonMessageBytes)} (sidecar payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${Rt(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${Rt(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${Rt(t.foregroundTextBytes)}`,` streaming response: ${Rt(t.streamingResponseBytes)}`,` streaming thinking: ${Rt(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${Rt(t.persistedUiHistoryBytes)}`];if(i.length>0){s.push(" \u2500\u2500 Top 5 biggest messages \u2500\u2500");for(let d of i)s.push(` [${d.index}] role=${d.role} ${Rt(d.bytes)}`)}let a=t.messageBytes+t.lineageNonMessageBytes+t.lineageOrphanMessageBytes+t.historyTextBytes+t.foregroundTextBytes+t.streamingResponseBytes+t.streamingThinkingBytes+t.persistedUiHistoryBytes;s.push(" \u2500\u2500 V8 heap spaces \u2500\u2500");let c=tv.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${Rt(d.space_used_size)} allocated=${Rt(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${Rt(a)}`),s.push(` V8 heap used: ${Rt(n.heapUsed)}`),s.push(` unaccounted (overhead): ${Rt(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),uO()){let d=process.memoryUsage();s.push(` after forced GC: heap=${Rt(d.heapUsed)} (freed ${Rt(n.heapUsed-d.heapUsed)})`)}else s.push(" after forced GC: UNAVAILABLE \u2014 re-run with `node --expose-gc` to distinguish"),s.push(` "real leak" from "GC hasn't run yet".`);if(Ug>=2)try{let d=nv(Vg,`heap-turn${Fg}-${e}.heapsnapshot`);tv.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}lO(s.join(`
|
|
89
|
+
`))}o(Cp,"memDiagSnapshot");function Ip(e,t,n){let r=dO(e),i=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,m=0,h=0,S=t?.entries??[];for(let w of S)switch(w.type){case"message":h++,i.has(w.message)||(c++,a+=Kg(w.message));break;case"compaction":l++,s+=Dl(w);break;case"branch_summary":d++,s+=Dl(w);break;case"label":f++,s+=Dl(w);break;case"archive_marker":p++,s+=Dl(w);break;case"rewind_marker":m++,s+=Dl(w);break}let C=0;for(let w of n.historyItems)C+=Tt(w.text);let R=0;for(let w of n.foregroundItems)R+=Tt(w.text);let T=0;for(let w of n.persistedUiHistory)T+=Tt(w.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:S.length,lineageMessageEntryCount:h,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageRewindMarkerCount:m,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:C,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:R,streamingResponseBytes:Tt(n.streamingResponse),streamingThinkingBytes:Tt(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:T}}o(Ip,"buildMemDiagBreakdown");function sv(){if(Gg){ov();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${Ug} gc=${e?"available":"UNAVAILABLE (run with node --expose-gc)"}`,"[MEMDIAG] Blind spots: React/Ink trees, provider SDK buffers, WeakMap/Map caches,","[MEMDIAG] tokenizer internal state, source-map strings, native handles.",'[MEMDIAG] A large "unaccounted" number living in these buckets is expected;',"[MEMDIAG] use Level 2 (KODAX_MEMORY_DIAG=2) to dump heap snapshots for DevTools.",""].join(`
|
|
90
|
+
`);cO(rv,t+`
|
|
91
|
+
`)}catch{}}}o(sv,"memDiagReset");import fO from"node:fs";import Yg from"node:path";var pO={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},mO=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function hO(e){return pO[Yg.extname(e).toLowerCase()]}o(hO,"resolveImageMediaType");var zg="[Image unavailable]";function gO(e){return""}o(gO,"buildImageAnchor");function $a(e,t){let n=[],r=[],i=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(mO)){let p=f.index??l;c.push(e.slice(l,p));let m=f[1]??f[2]??f[3];if(!m){c.push(f[0]),l=p+f[0].length;continue}let h=hO(m);if(!h){c.push(f[0]),l=p+f[0].length;continue}let S=Yg.resolve(t,m);try{if(!fO.statSync(S).isFile()){a.has(S)||(r.push(`[Image input skipped] ${m} is not a file.`),a.add(S)),c.push(zg),l=p+f[0].length;continue}}catch{a.has(S)||(r.push(`[Image input missing] ${m} was not found from ${t}.`),a.add(S)),c.push(zg),l=p+f[0].length;continue}if(!i.has(S)){i.add(S);let C=gO(n.length+1);s.set(S,C),n.push({kind:"image",path:S,mediaType:h,source:"user-inline",description:`Attached image ${Yg.basename(S)}`})}c.push(s.get(S)??zg),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:dw(d,n),inputArtifacts:n,warnings:r}}o($a,"preparePromptInputArtifacts");function av(e){let t=yO(e.stage),n=xO(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}o(av,"createRepoIntelTraceHistoryItem");function yO(e){switch(e){case"routing":return"routing";case"preturn":return"preturn";case"module":return"module";case"impact":return"impact";case"task-snapshot":return"task-snapshot";default:return String(e)}}o(yO,"stageDisplayName");function xO(e){let t=[],n=e.capability;n&&(t.push(`mode=${n.mode}`),t.push(`engine=${n.engine}`),n.status!=="ok"&&t.push(`status=${n.status}`));let r=e.trace;return r&&(r.cacheHit!==void 0&&t.push(r.cacheHit?"cache hit":"cache miss"),r.capsuleEstimatedTokens!==void 0&&t.push(`${SO(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?wO(e.summary):t.join(" \xB7 ")}o(xO,"buildRepoIntelDetailLine");function SO(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(SO,"formatTokens");function wO(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}o(wO,"stripSummaryStagePrefix");function cv(e,t,n,r,i){let s=e?.gitRoot??t??void 0,a=e?.executionCwd??i??s??process.cwd();return{...e,gitRoot:s,executionCwd:a,contextTokenSnapshot:n,taskSurface:"repl",skillsPrompt:r}}o(cv,"buildManagedRunContext");var TO=["global","mode","navigation","editing"],CO={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},IO={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},bO={id:"transcript",title:"Transcript",items:[{id:"mode",label:"Ctrl+O transcript mode"},{id:"search",label:"Ctrl+F search transcript"},{id:"browse",label:"PgUp/PgDn/j/k scroll"},{id:"match",label:"n/N next match"},{id:"latest",label:"End back to live"},{id:"exit",label:"q or Esc back to live"}]};function vO(e){let t=Hr(),n=t.getAllShortcuts().find(i=>i.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=La.find(i=>i.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}o(vO,"resolveShortcutBindingLabel");function RO(e){return`${vO(e.id)??e.id} ${e.name}`}o(RO,"buildMenuItemLabel");function kO(e){return Hr().getAllShortcuts().find(r=>r.definition.id===e)?.definition??La.find(r=>r.id===e)}o(kO,"resolveShortcutDefinition");function bp(){return[...TO.map(t=>{let n=CO[t].map(r=>kO(r)).filter(r=>!!r).map(r=>({id:r.id,label:RO(r)}));return{id:t,title:IO[t],items:n}}).filter(t=>t.items.length>0),bO]}o(bp,"buildHelpMenuSections");var Xg=2,lv=1,uv=4;function dt(e,t){let n=fn(e.length>0?e.split(`
|
|
92
|
+
`):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}o(dt,"wrapLineCount");function EO(e,t,n=">"){let r=n.length+1,i=Math.max(20,t-r),s=fn(e.length>0?e.split(`
|
|
93
|
+
`):[""],i,0,0);return Math.max(1,s.visualLines.length)+2}o(EO,"calculateInputPromptRows");function dv(e){let{terminalRows:t,terminalWidth:n,windowedTranscript:r=!1,inputText:i,inputPrompt:s=">",footerHeaderText:a,activitySummary:c,pendingInputSummary:l,stashNoticeSummary:d,notificationSummary:f,statusNoticeSummary:p,workStripText:m,suggestionsReserved:h,suggestionsMode:S="inline",showHelp:C,statusBarText:R,confirmPrompt:T,confirmInstruction:w,uiRequest:M,dialogMode:P="inline",historySearch:$,maxVisibleSelectOptions:H=5,reviewHint:U,todoSurfaceRows:W=0,workflowSurfaceRows:J=0,childActivitySurfaceRows:pe=0,activityBarVisible:we=!1}=e,y=Math.max(0,Math.floor(W)),O=Math.max(0,Math.floor(J)),k=Math.max(0,Math.floor(pe)),D=a?dt(a,Math.max(1,n-2)):0,ge=c?dt(c,Math.max(1,n-2)):0,le=we?1:ge,z=l?dt(l,Math.max(1,n-2)):0,fe=d?dt(d,Math.max(1,n-2)):0,ve=f?dt(f,Math.max(1,n-2)):0,$e=p?dt(p,Math.max(1,n-2)):0,ue=m?dt(m,Math.max(1,n-2)):0,De=EO(i,n,s),q=h?8:0,oe=C?lv+uv+bp().reduce((Fe,Jt)=>Fe+dt(Jt.title,Math.max(1,n-Xg))+dt(Jt.items.map(Wt=>Wt.label).join(" | "),Math.max(1,n-Xg)),0):0,Ee=dt(R,Math.max(1,n-2)),Re=0;if(T&&w){let Fe=Math.max(1,n-4);Re=3+dt(`[Confirm] ${T}`,Fe)+dt(w,Fe)}let He=0,Xe=0;if(M){let Fe=Math.max(1,n-4);M.kind==="select"?(Xe=Math.min(H,M.options.length),He=3+dt(`[Select] ${M.title}`,Fe)+M.options.slice(0,Xe).reduce((Jt,Wt,vn)=>Jt+dt(`${vn+1}. ${Wt.label}${Wt.description?` - ${Wt.description}`:""}`,Fe),0)+(M.options.length>Xe?2:0)+dt(`Choice: ${M.buffer||"(type a number)"}`,Fe)+1+(M.error?dt(M.error,Fe):0)):He=3+dt(`[Input] ${M.prompt}`,Fe)+(M.defaultValue!==void 0?dt(`Default: ${M.defaultValue}`,Fe):0)+dt(`Value: ${M.buffer||"(type your response)"}`,Fe)+1+(M.error?dt(M.error,Fe):0)}let nt=0;if($){let Fe=Math.max(1,n-4);nt=3+dt(`Query: ${$.query||"(type to search)"}`,Fe)+($.matchCount===0?dt("No matches yet",Fe):dt(`${Math.max(1,$.matchCount)} matches`,Fe)+dt($.selectedExcerpt||"",Fe))+1}let ce=U?dt(U,Math.max(1,n-2)):0,G=D+le+O+y+k+z+fe+ve+De+oe+$e+ce+(S==="inline"?q:0)+(P==="inline"?Re+He+nt:0),me=(S==="overlay"?q:0)+(P==="overlay"?Re+He+nt:0),qe=G+ue+Ee,et=Math.max(1,t-qe);return{messageRows:et,reservedBottomRows:qe,headerRows:D,activityRows:le,pendingInputRows:z,stashNoticeRows:fe,notificationRows:ve,workStripRows:ue,inputRows:De,suggestionsRows:q,helpRows:oe,statusNoticeRows:$e,statusRows:Ee,confirmRows:Re,uiRequestRows:He,historySearchRows:nt,footerRows:G,overlayRows:me,visibleSelectOptions:Xe,reviewHintRows:ce,todoSurfaceRows:y,workflowSurfaceRows:O,childActivitySurfaceRows:k,slots:[{name:"transcript",rows:et},{name:"footer",rows:G},{name:"overlay",rows:me},{name:"status",rows:Ee},{name:"task-bar",rows:ue}]}}o(dv,"calculateViewportBudget");function fv(e,t={}){let n=ki(e,{rendererMode:t.rendererMode??"owned"});return{hostProfile:e,surface:"prompt",buffering:n.bufferingMode,ownsViewportByDefault:n.ownsViewportByDefault,supportsMouseTracking:n.supportsMouseTracking,supportsFullscreenLayout:n.supportsFullscreenLayout,supportsOverlaySurface:n.supportsOverlaySurface,supportsSelection:n.supportsSelection,supportsCopyOnSelect:n.supportsCopyOnSelect,supportsWheelHistory:n.supportsWheelHistory,supportsViewportChrome:n.supportsViewportChrome,supportsSearchViewport:n.supportsSearchViewport,supportsStickyPrompt:n.supportsStickyPrompt,scrollAnchor:0,jumpToLatestAvailable:!1,stickyPromptVisible:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(fv,"createTranscriptDisplayState");function pv(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(pv,"enterTranscriptMode");function mv(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(mv,"exitTranscriptMode");function hv(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}o(hv,"setTranscriptPendingLiveUpdates");function gv(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}o(gv,"setTranscriptScrollAnchor");function yv(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(yv,"jumpTranscriptToLatest");function xv(e,t){return{...e,stickyPromptVisible:t}}o(xv,"setTranscriptStickyPromptVisible");function Da(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}o(Da,"setTranscriptSelectedItem");function Sv(e,t){return{...e,surface:"transcript",searchMode:"history",searchAnchorItemId:t?.anchorItemId??e.selectedItemId??e.searchAnchorItemId,currentMatchIndex:Math.max(0,t?.initialMatchIndex??e.currentMatchIndex),jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(Sv,"openTranscriptSearch");function wv(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}o(wv,"closeTranscriptSearch");function Tv(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}o(Tv,"setTranscriptSearchMatchIndex");function Cv(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}o(Cv,"shouldWindowTranscript");function Iv(e){return e.surface==="transcript"}o(Iv,"shouldPauseLiveTranscript");function qg(e){return e.supportsSelection}o(qg,"ownsTranscriptSelectionPath");function vp(e,t,n){if(!(!qg(e)||!n))return t.includes(n)?n:void 0}o(vp,"resolveTranscriptSelectedItemId");function bv(e){return e.supportsSelection&&e.supportsCopyOnSelect}o(bv,"supportsPassiveTranscriptCopyOnSelect");function vv(e){if(e.surface==="transcript")return"Transcript | PgUp/PgDn page | j/k scroll | \u2190/\u2192 select | / search | n/N matches | q/Esc/Ctrl+O back"}o(vv,"buildTranscriptBrowseHint");var Rv="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",kv="slash-guard";function Ev(e){return e.trimStart().startsWith("/")}o(Ev,"isSlashCommandText");var MO=`
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
`;async function Mv(e){let{initialPrompt:t,runRound:n,shiftPendingPrompt:r,onRoundComplete:i,onBeforeQueuedRound:s,shouldContinue:a=o(()=>!0,"shouldContinue"),shouldDrainQueuedPrompts:c=o(()=>!0,"shouldDrainQueuedPrompts")}=e,l=t,d=await n(l);for(;;){if(await i?.(d),!a(d)||!c())return d;let f=[];for(;;){let p=r();if(p===void 0)break;let m=typeof p=="string"?p.trim():"";m.length>0&&f.push(m)}if(f.length===0)return d;l=f.length===1?f[0]:f.join(MO),await s?.(l),d=await n(l)}}o(Mv,"runQueuedPromptSequence");function _v(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}o(_v,"hasTranscriptInputActivity");function AO(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}o(AO,"shouldHandleManagedTranscriptMouse");function Av(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}o(Av,"shouldHandleManagedTranscriptWheel");function Lv(e){if(AO({keyName:e.keyName,hasMouse:e.hasMouse,usesManagedMouseClicks:e.usesManagedMouseClicks,supportsMouseTracking:e.supportsMouseTracking,usesRendererMouseTracking:e.usesRendererMouseTracking})){if(e.mouseButton!=="left")return{kind:"none"};if(e.mouseAction==="press"||e.mouseAction==="drag"||e.mouseAction==="release")return{kind:"mouse-phase",phase:e.mouseAction}}return e.keyName==="pageup"?e.hasTranscript?{kind:"scroll-by",delta:e.reviewPageSize}:{kind:"consume"}:e.keyName==="wheelup"?Av({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?Av({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?e.historyScrollOffset===0?{kind:"consume"}:{kind:"scroll-by",delta:-e.reviewWheelStep}:{kind:"none"}:{kind:"none"}}o(Lv,"resolveTranscriptPointerAction");function Pv(e){return e.isTranscriptMode&&e.hasTextSelection}o(Pv,"shouldDeferInterruptToTranscriptSelectionCopy");function $v(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!Pv({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}o($v,"shouldStopWorkflowFromInterruptKey");function Dv(e){return e.ctrl&&e.keyName==="c"?Pv({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection})?{kind:"none"}:{kind:"interrupt"}:e.keyName!=="escape"?{kind:"none"}:e.isTranscriptMode||e.isAwaitingUserInteraction?{kind:"none"}:e.isInputEmpty&&e.pendingInputCount>0?{kind:"pop-pending-input"}:e.isInputEmpty?e.isDoubleEscape?{kind:"interrupt"}:{kind:"none"}:{kind:"none"}}o(Dv,"resolveStreamingInterruptAction");function Ov(e){let{key:t,isTranscriptMode:n,isHistorySearchActive:r,historySearchMatchCount:i,hasTextSelection:s,hasFocusedItem:a,canCopySelectedItem:c,canCopySelectedToolInput:l,canToggleSelectedDetail:d,canCycleTranscriptSelection:f}=e;if(t.name==="pageup")return{kind:"scroll-page-up"};if(r){if(t.name==="escape")return{kind:"close-history-search"};if(t.name==="backspace")return{kind:"history-search-backspace"};if(t.name==="down")return{kind:"history-search-step",direction:"next"};if(t.name==="up")return{kind:"history-search-step",direction:"prev"};if(t.name==="enter"||t.name==="return")return{kind:"history-search-submit"};if(t.insertable&&t.sequence)return{kind:"history-search-append",text:t.sequence}}return n&&!r&&!t.ctrl&&!t.meta&&t.insertable&&t.sequence==="/"?{kind:"open-history-search"}:n&&!t.ctrl&&!t.meta&&t.name==="q"?{kind:"exit-transcript"}:n&&t.name==="escape"?s||a?{kind:"clear-selection-focus"}:{kind:"exit-transcript"}:t.name==="home"?{kind:"scroll-home"}:t.name==="pagedown"?{kind:"scroll-page-down"}:t.name==="end"?{kind:"scroll-end"}:n?t.ctrl&&!t.meta&&t.name==="e"?{kind:"toggle-show-all"}:t.name==="j"||t.name==="down"?{kind:"scroll-line-down"}:t.name==="k"||t.name==="up"?{kind:"scroll-line-up"}:!t.ctrl&&!t.meta&&t.name==="g"&&t.shift?{kind:"jump-latest"}:!t.ctrl&&!t.meta&&t.name==="g"&&!t.shift?{kind:"jump-oldest"}:t.name==="left"?f?{kind:"cycle-selection",direction:"prev"}:{kind:"none"}:t.name==="right"?f?{kind:"cycle-selection",direction:"next"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="c"?s?{kind:"copy-selection"}:c?{kind:"copy-item"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="i"?l?{kind:"copy-tool-input"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="v"?d?{kind:"toggle-detail"}:{kind:"none"}:!t.ctrl&&!t.meta&&!t.shift&&t.name==="s"?{kind:"dump-to-scrollback"}:!t.ctrl&&!t.meta&&t.name==="n"?i===0?{kind:"none"}:{kind:"search-match-nav",direction:t.shift?"prev":"next"}:{kind:"none"}:{kind:"none"}}o(Ov,"resolveTranscriptKeyboardAction");function Nv(e){switch(e.action.kind){case"none":return!1;case"scroll-page-up":return e.hasTranscript&&(e.disarmHistorySearchSelection(),e.scrollTranscriptBy(e.pageScrollDelta)),!0;case"close-history-search":return e.closeHistorySearchSurface(),!0;case"history-search-backspace":return e.backspaceHistorySearchQuery(),!0;case"history-search-step":return e.stepHistorySearchSelection(e.action.direction),!0;case"history-search-submit":return e.submitHistorySearchSelection(),!0;case"history-search-append":return e.appendHistorySearchQuery(e.action.text),!0;case"open-history-search":return e.openHistorySearchSurface(),!0;case"clear-selection-focus":return e.clearTranscriptSelectionFocus(),!0;case"exit-transcript":return e.exitTranscriptModeSurface(),!0;case"toggle-show-all":return e.toggleTranscriptShowAll(),!0;case"scroll-home":case"jump-oldest":return e.disarmHistorySearchSelection(),e.scrollTranscriptHome(),!0;case"scroll-page-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-e.pageScrollDelta),!0;case"scroll-end":return e.isTranscriptMode?(e.exitTranscriptModeSurface(),!0):(e.scrollTranscriptToBottom(),!0);case"scroll-line-down":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(-1),!0;case"scroll-line-up":return e.disarmHistorySearchSelection(),e.scrollTranscriptBy(1),!0;case"jump-latest":return e.scrollTranscriptToBottom(),!0;case"cycle-selection":return e.cycleTranscriptSelection(e.action.direction),!0;case"copy-selection":return e.copySelectedTranscriptText(),!0;case"copy-item":return e.copySelectedTranscriptItem(),!0;case"copy-tool-input":return e.copySelectedTranscriptToolInput(),!0;case"toggle-detail":return e.toggleSelectedTranscriptDetail(),!0;case"search-match-nav":return e.navigateSearchMatch(e.action.direction),!0;case"dump-to-scrollback":return e.dumpTranscriptToScrollback(),!0;default:return!1}}o(Nv,"executeTranscriptKeyboardAction");function Xo(e){let t=/\u001b\[[0-9;?]*[ -/]*[@-~]/g,n=/\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g,r=/\u001b[@-_]/g;return e.replace(t,"").replace(n,"").replace(r,"")}o(Xo,"stripAnsi");function _O(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
|
|
98
|
+
`)}o(_O,"serializeToolGroup");function LO(e){switch(e.type){case"thinking":return null;case"user":return`user: ${Xo(e.text)}`;case"assistant":return`assistant: ${Xo(e.text)}`;case"system":return`system: ${Xo(e.text)}`;case"info":return`info: ${Xo(e.text)}`;case"error":return`error: ${Xo(e.text)}`;case"event":return`event: ${Xo(e.text)}`;case"hint":return`hint: ${Xo(e.text)}`;case"sidecar":return`sidecar: ${Xo(e.text)}`;case"tool_group":return _O(e);default:return e}}o(LO,"serializeOne");function PO(e){let t=[];for(let n of e){let r=LO(n);r!==null&&r!==""&&t.push(r)}return t.join(`
|
|
99
|
+
|
|
100
|
+
`)}o(PO,"serializeTranscriptForScrollback");function Bv(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:i}=e,s=PO(t);r(),s.length>0&&n(`${s}
|
|
101
|
+
`),i()}o(Bv,"dumpTranscriptToNativeScrollback");var Oa={committed:[],width:0,hasBanner:!1};function Hv(e,t,n){let r=e.bannerSection!==null,i=e.bannerSection!==null?[e.bannerSection,...e.finalizedSections]:[...e.finalizedSections],s=i.map(t),a={committed:s,width:e.width,hasBanner:r},c=o(f=>({plan:{kind:"rebuild",sections:i,reason:f},nextState:a}),"rebuild"),l=n.committed.length>0;if(l&&n.width!==e.width)return c("width-change");if(l&&n.hasBanner!==r)return c("banner-change");let d=Math.min(n.committed.length,s.length);for(let f=0;f<d;f++){let p=r&&f===0;if(n.committed[f].key!==s[f].key)return c(p?"banner-change":"key-order-change");if(n.committed[f].fingerprint!==s[f].fingerprint)return c(p?"banner-change":"fingerprint-change")}return s.length<n.committed.length?c("source-rewrite"):s.length===n.committed.length?{plan:{kind:"none"},nextState:a}:{plan:{kind:"append",sections:i.slice(n.committed.length)},nextState:a}}o(Hv,"planInlineScrollback");import{jsx as dR}from"react/jsx-runtime";import RN from"yoga-layout";import{LegacyRoot as kN}from"react-reconciler/constants.js";import sN from"react-reconciler";import{DefaultEventPriority as aN,NoEventPriority as nR}from"react-reconciler/constants.js";import*as qo from"scheduler";import Qv from"yoga-layout";import{createContext as cN}from"react";import YO from"yoga-layout";import $O from"widest-line";var Wv=new Map,DO=o(e=>{if(e.length===0)return{width:0,height:0};let t=Wv.get(e);if(t)return t;let n=$O(e),r=e.split(`
|
|
102
|
+
`).length,i={width:n,height:r};return Wv.set(e,i),i},"measureText"),Jg=DO;import OO from"wrap-ansi";import NO from"cli-truncate";var Fv={},BO=o((e,t,n)=>{let r=e+String(t)+String(n),i=Fv[r];if(i)return i;let s=e;if(n==="wrap"&&(s=OO(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=NO(e,t,{position:a})}return Fv[r]=s,s},"wrapText"),Rp=BO;var HO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),WO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),FO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),Gv=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),jO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),Vv=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),jv=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!HO(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!WO(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!FO(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),Uv=o((e,t,n)=>{for(let r=t;r<e.length;r++){let i=e[r];if(n&&i==="\x07"||i==="\x9C")return r+1;if(i==="\x1B"){let s=e[r+1];if(s==="\x1B"){r++;continue}if(s==="\\")return r+2}}},"findControlStringTerminatorIndex"),UO=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!Gv(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!jO(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),GO=o(e=>{switch(e){case"]":return{type:"osc",allowBellTerminator:!0};case"P":return{type:"dcs",allowBellTerminator:!1};case"^":return{type:"pm",allowBellTerminator:!1};case"_":return{type:"apc",allowBellTerminator:!1};case"X":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromEscapeIntroducer"),VO=o(e=>{switch(e){case"\x9D":return{type:"osc",allowBellTerminator:!0};case"\x90":return{type:"dcs",allowBellTerminator:!1};case"\x9E":return{type:"pm",allowBellTerminator:!1};case"\x9F":return{type:"apc",allowBellTerminator:!1};case"\x98":return{type:"sos",allowBellTerminator:!1};default:return}},"getControlStringFromC1Introducer"),Qg=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(Vv(t))return!0;return!1},"hasAnsiControlCharacters"),Na=o((e,t,n,r)=>(r>n&&e.push({type:"text",value:t.slice(n,r)}),e.push({type:"invalid",value:t.slice(r)}),e),"malformedFromIndex"),Kv=o(e=>{if(!Qg(e))return[{type:"text",value:e}];let t=[],n=0;for(let r=0;r<e.length;){let i=e[r];if(i===void 0)break;if(i==="\x1B"){let a=e[r+1];if(a===void 0)return Na(t,e,n,r);if(a==="["){let d=jv(e,r+2);if(d===void 0)return Na(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,d.endIndex),parameterString:d.parameterString,intermediateString:d.intermediateString,finalCharacter:d.finalCharacter}),r=d.endIndex,n=r;continue}let c=GO(a);if(c!==void 0){let d=Uv(e,r+2,c.allowBellTerminator);if(d===void 0)return Na(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:c.type,value:e.slice(r,d)}),r=d,n=r;continue}let l=UO(e,r+1);if(l===void 0){if(Gv(a))return Na(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),r++,n=r;continue}r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"esc",value:e.slice(r,l.endIndex),intermediateString:l.intermediateString,finalCharacter:l.finalCharacter}),r=l.endIndex,n=r;continue}if(i==="\x9B"){let a=jv(e,r+1);if(a===void 0)return Na(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"csi",value:e.slice(r,a.endIndex),parameterString:a.parameterString,intermediateString:a.intermediateString,finalCharacter:a.finalCharacter}),r=a.endIndex,n=r;continue}let s=VO(i);if(s!==void 0){let a=Uv(e,r+1,s.allowBellTerminator);if(a===void 0)return Na(t,e,n,r);r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:s.type,value:e.slice(r,a)}),r=a,n=r;continue}if(i==="\x9C"){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"st",value:i}),r++,n=r;continue}if(Vv(i)){r>n&&t.push({type:"text",value:e.slice(n,r)}),t.push({type:"c1",value:i}),r++,n=r;continue}r++}return n<e.length&&t.push({type:"text",value:e.slice(n)}),t},"tokenizeAnsi");var KO=/^[\d:;]*$/,zO=o(e=>{if(!Qg(e))return e;let t="";for(let n of Kv(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&KO.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),zv=zO;var Yv=o(e=>{let t="";for(let n=0;n<e.childNodes.length;n++){let r=e.childNodes[n];if(r===void 0)continue;let i="";r.nodeName==="#text"?i=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(i=Yv(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return zv(t)},"squashTextNodes"),Ol=Yv;var kp=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:YO.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(XO.bind(null,t)),t},"createNode"),Ep=o((e,t)=>{t.parentNode&&Nl(t.parentNode,t),t.parentNode=e,e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount()),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Mp(e)},"appendChildNode"),Zg=o((e,t,n)=>{t.parentNode&&Nl(t.parentNode,t),t.parentNode=e;let r=e.childNodes.indexOf(n);r>=0?(e.childNodes.splice(r,0,t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,r)):(e.childNodes.push(t),t.yogaNode&&e.yogaNode?.insertChild(t.yogaNode,e.yogaNode.getChildCount())),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Mp(e)},"insertBeforeNode"),Nl=o((e,t)=>{t.yogaNode&&t.parentNode?.yogaNode?.removeChild(t.yogaNode),t.parentNode=void 0;let n=e.childNodes.indexOf(t);n>=0&&e.childNodes.splice(n,1),(e.nodeName==="ink-text"||e.nodeName==="ink-virtual-text")&&Mp(e)},"removeChildNode"),ey=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),ty=o((e,t)=>{e.style=t},"setStyle"),Xv=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return Bl(t,e),t},"createTextNode"),XO=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Ol(e),r=Jg(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Rp(n,t,i);return Jg(s)},"measureTextNode"),qv=o(e=>{if(e?.parentNode)return e.yogaNode??qv(e.parentNode)},"findClosestYogaNode"),Mp=o(e=>{qv(e)?.markDirty()},"markNodeAsDirty"),Bl=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Mp(e)},"setTextNodeValue");import Me from"yoga-layout";var qO=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Me.POSITION_TYPE_ABSOLUTE:Me.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),JO=o((e,t)=>{"margin"in t&&e.setMargin(Me.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Me.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Me.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Me.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Me.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Me.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Me.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),QO=o((e,t)=>{"padding"in t&&e.setPadding(Me.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Me.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Me.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Me.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Me.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Me.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Me.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),ZO=o((e,t)=>{"flexGrow"in t&&e.setFlexGrow(t.flexGrow??0),"flexShrink"in t&&e.setFlexShrink(typeof t.flexShrink=="number"?t.flexShrink:1),"flexWrap"in t&&(t.flexWrap==="nowrap"&&e.setFlexWrap(Me.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Me.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Me.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Me.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Me.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Me.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in t&&(typeof t.flexBasis=="number"?e.setFlexBasis(t.flexBasis):typeof t.flexBasis=="string"?e.setFlexBasisPercent(Number.parseInt(t.flexBasis,10)):e.setFlexBasis(Number.NaN)),"alignItems"in t&&((t.alignItems==="stretch"||!t.alignItems)&&e.setAlignItems(Me.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Me.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Me.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Me.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Me.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Me.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Me.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Me.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Me.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Me.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Me.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Me.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Me.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Me.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),eN=o((e,t)=>{"width"in t&&(typeof t.width=="number"?e.setWidth(t.width):typeof t.width=="string"?e.setWidthPercent(Number.parseInt(t.width,10)):e.setWidthAuto()),"height"in t&&(typeof t.height=="number"?e.setHeight(t.height):typeof t.height=="string"?e.setHeightPercent(Number.parseInt(t.height,10)):e.setHeightAuto()),"minWidth"in t&&(typeof t.minWidth=="string"?e.setMinWidthPercent(Number.parseInt(t.minWidth,10)):e.setMinWidth(t.minWidth??0)),"minHeight"in t&&(typeof t.minHeight=="string"?e.setMinHeightPercent(Number.parseInt(t.minHeight,10)):e.setMinHeight(t.minHeight??0))},"applyDimensionStyles"),tN=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Me.DISPLAY_FLEX:Me.DISPLAY_NONE)},"applyDisplayStyles"),nN=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Me.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Me.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Me.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Me.EDGE_RIGHT,n)}},"applyBorderStyles"),rN=o((e,t)=>{"gap"in t&&e.setGap(Me.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Me.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Me.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),oN=o((e,t={})=>{qO(e,t),JO(e,t),QO(e,t),ZO(e,t),eN(e,t),tN(e,t),nN(e,t),rN(e,t)},"styles"),ny=oN;import iN from"node:process";var Jv=o(()=>iN.env.DEV==="true","isDev");if(Jv())try{await import("./devtools-XR5F2C6T.js")}catch(e){if(e.code==="ERR_MODULE_NOT_FOUND")console.warn(`
|
|
103
|
+
The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
|
|
104
|
+
but this failed as it was not installed. Debugging with React Devtools requires it.
|
|
105
|
+
|
|
106
|
+
To install use this command:
|
|
107
|
+
|
|
108
|
+
$ npm install --save-dev react-devtools-core
|
|
109
|
+
`.trim()+`
|
|
110
|
+
`);else throw e}var Zv=o((e,t)=>{if(e===t)return;if(!e)return t;let n={},r=!1;for(let i of Object.keys(e))(!t||!Object.hasOwn(t,i))&&(n[i]=void 0,r=!0);if(t)for(let i of Object.keys(t))t[i]!==e[i]&&(n[i]=t[i],r=!0);return r?n:void 0},"diff"),eR=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),Ap=nR,ry,tR={name:void 0,version:void 0},Ba=sN({getRootHostContext:o(()=>({isInsideText:!1}),"getRootHostContext"),prepareForCommit:o(()=>null,"prepareForCommit"),preparePortalMount:o(()=>null,"preparePortalMount"),clearContainer:o(()=>!1,"clearContainer"),resetAfterCommit(e){if(typeof e.onComputeLayout=="function"&&e.onComputeLayout(),e.isStaticDirty){e.isStaticDirty=!1,typeof e.onImmediateRender=="function"&&e.onImmediateRender();return}typeof e.onRender=="function"&&e.onRender()},getChildHostContext(e,t){let n=e.isInsideText,r=t==="ink-text"||t==="ink-virtual-text";return n===r?e:{isInsideText:r}},shouldSetTextContent:o(()=>!1,"shouldSetTextContent"),createInstance(e,t,n,r){if(r.isInsideText&&e==="ink-box")throw new Error("<Box> can\u2019t be nested inside <Text> component");let i=e==="ink-text"&&r.isInsideText?"ink-virtual-text":e,s=kp(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){ty(s,c),s.yogaNode&&ny(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){ry=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}ey(s,a,c)}return s},createTextInstance(e,t,n){if(!n.isInsideText)throw new Error(`Text string "${e}" must be rendered inside <Text> component`);return Xv(e)},resetTextContent(){},hideTextInstance(e){Bl(e,"")},unhideTextInstance(e,t){Bl(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(Qv.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(Qv.DISPLAY_FLEX)},appendInitialChild:Ep,appendChild:Ep,insertBefore:Zg,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:qo.unstable_scheduleCallback,cancelCallback:qo.unstable_cancelCallback,shouldYield:qo.unstable_shouldYield,now:qo.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Ep,insertInContainerBefore:Zg,removeChildFromContainer(e,t){Nl(e,t),eR(t.yogaNode)},commitUpdate(e,t,n,r){ry&&e.internal_static&&(ry.isStaticDirty=!0);let i=Zv(n,r),s=Zv(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){ty(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}ey(e,a,c)}s&&e.yogaNode&&ny(e.yogaNode,s)}},commitTextUpdate(e,t,n){Bl(e,n)},removeChild(e,t){Nl(e,t),eR(t.yogaNode)},setCurrentUpdatePriority(e){Ap=e},getCurrentUpdatePriority:o(()=>Ap,"getCurrentUpdatePriority"),resolveUpdatePriority(){return Ap!==nR?Ap:aN},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:cN(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:tR.name,rendererVersion:tR.version});import yN from"widest-line";import xN from"indent-string";import Jo from"yoga-layout";import _p from"yoga-layout";var lN=o(e=>e.getComputedWidth()-e.getComputedPadding(_p.EDGE_LEFT)-e.getComputedPadding(_p.EDGE_RIGHT)-e.getComputedBorder(_p.EDGE_LEFT)-e.getComputedBorder(_p.EDGE_RIGHT),"getMaxWidth"),rR=lN;import mN from"cli-boxes";import Lp from"chalk";import po from"chalk";var uN=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,dN=/^ansi256\(\s?(\d+)\s?\)$/,fN=o(e=>e in po,"isNamedColor"),pN=o((e,t,n)=>{if(!t)return e;if(fN(t)){if(n==="foreground")return po[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return po[r](e)}if(t.startsWith("#"))return n==="foreground"?po.hex(t)(e):po.bgHex(t)(e);if(t.startsWith("ansi256")){let r=dN.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?po.ansi256(i)(e):po.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=uN.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?po.rgb(i,s,a)(e):po.bgRgb(i,s,a)(e)}return e},"colorize"),Ki=pN;var hN=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?mN[n.style.borderStyle]:n.style.borderStyle,c=n.style.borderTopColor??n.style.borderColor,l=n.style.borderBottomColor??n.style.borderColor,d=n.style.borderLeftColor??n.style.borderColor,f=n.style.borderRightColor??n.style.borderColor,p=n.style.borderTopDimColor??n.style.borderDimColor,m=n.style.borderBottomDimColor??n.style.borderDimColor,h=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,C=n.style.borderTop!==!1,R=n.style.borderBottom!==!1,T=n.style.borderLeft!==!1,w=n.style.borderRight!==!1,M=i-(T?1:0)-(w?1:0),P=C?Ki((T?a.topLeft:"")+a.top.repeat(M)+(w?a.topRight:""),c,"foreground"):void 0;C&&p&&(P=Lp.dim(P));let $=s;C&&($-=1),R&&($-=1);let H=(Ki(a.left,d,"foreground")+`
|
|
111
|
+
`).repeat($);h&&(H=Lp.dim(H));let U=(Ki(a.right,f,"foreground")+`
|
|
112
|
+
`).repeat($);S&&(U=Lp.dim(U));let W=R?Ki((T?a.bottomLeft:"")+a.bottom.repeat(M)+(w?a.bottomRight:""),l,"foreground"):void 0;R&&m&&(W=Lp.dim(W));let J=C?1:0;P&&r.write(e,t,P,{transformers:[]}),T&&r.write(e,t+J,H,{transformers:[]}),w&&r.write(e+i-1,t+J,U,{transformers:[]}),W&&r.write(e,t+s-1,W,{transformers:[]})}},"renderBorder"),oR=hN;var gN=o((e,t,n,r)=>{if(!n.style.backgroundColor)return;let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=n.style.borderStyle&&n.style.borderLeft!==!1?1:0,c=n.style.borderStyle&&n.style.borderRight!==!1?1:0,l=n.style.borderStyle&&n.style.borderTop!==!1?1:0,d=n.style.borderStyle&&n.style.borderBottom!==!1?1:0,f=i-a-c,p=s-l-d;if(!(f>0&&p>0))return;let m=Ki(" ".repeat(f),n.style.backgroundColor,"background");for(let h=0;h<p;h++)r.write(e+a,t+l+h,m,{transformers:[]})},"renderBackground"),iR=gN;var SN=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
113
|
+
`.repeat(i)+xN(t,r)}return t},"applyPaddingToText"),Pp=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===Jo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Ol(e);else if(e.nodeName==="ink-box"||e.nodeName==="ink-root"){let r=e.style.flexDirection==="row"||e.style.flexDirection==="row-reverse"?" ":`
|
|
114
|
+
`;n=(e.style.flexDirection==="row-reverse"||e.style.flexDirection==="column-reverse"?[...e.childNodes].reverse():[...e.childNodes]).map(s=>Pp(s,{parentRole:e.internal_accessibility?.role,skipStaticElements:t.skipStaticElements})).filter(Boolean).join(r)}if(e.internal_accessibility){let{role:r,state:i}=e.internal_accessibility;if(i){let a=Object.keys(i).filter(c=>i[c]).join(", ");a&&(n=`(${a}) ${n}`)}r&&r!==t.parentRole&&(n=`${r}: ${n}`)}return n},"renderNodeToScreenReaderOutput"),oy=null,iy=null;function sR(){oy=null,iy=null}o(sR,"resetScrollHint");function aR(){return oy}o(aR,"getScrollHint");function cR(){return iy}o(cR,"getScrollRepaint");var lR=o((e,t,n)=>{let{offsetX:r=0,offsetY:i=0,transformers:s=[],skipStaticElements:a}=n;if(a&&e.internal_static)return;let{yogaNode:c}=e;if(c){if(c.getDisplay()===Jo.DISPLAY_NONE)return;let l=r+c.getComputedLeft(),d=i+c.getComputedTop(),f=s;if(typeof e.internal_transform=="function"&&(f=[e.internal_transform,...s]),e.nodeName==="ink-text"){let h=Ol(e);if(h.length>0){let S=yN(h),C=rR(c);if(S>C){let R=e.style.textWrap??"wrap";h=Rp(h,C,R)}h=SN(e,h),t.write(l,d,h,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){iR(l,d,e,t),oR(l,d,e,t);let h=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,C=h==="hidden"||h==="scroll",R=S==="hidden"||S==="scroll";if(S==="scroll"){let T=c.getComputedBorder(Jo.EDGE_TOP),w=c.getComputedBorder(Jo.EDGE_BOTTOM),M=Math.max(0,c.getComputedHeight()-T-w),P=e.attributes?.virtualScrollWindowed===!0,$=e.childNodes[0],H=Math.max(0,Math.floor(P?e.attributes?.scrollHeight??0:$?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),U=typeof e.scrollHeight=="number"?e.scrollHeight:H,W=qd({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:H,viewportHeight:M,previousScrollHeight:U,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:P,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+T});e.scrollHeight=W.scrollHeight,e.scrollViewportHeight=M,e.scrollViewportTop=W.viewportTop,e.appliedScrollTop=W.appliedScrollTop,W.scrollHint&&(oy=W.scrollHint,Math.trunc(Number(e.attributes?.pendingScrollDelta??0))!==0&&(iy={top:W.scrollHint.top,bottom:W.scrollHint.bottom})),e.attributes&&e.attributes.pendingScrollDelta&&(e.attributes.pendingScrollDelta=0),e.scrollTop=W.scrollTop,m=W.scrollOffsetY}if(C||R){let T=C?l+c.getComputedBorder(Jo.EDGE_LEFT):void 0,w=C?l+c.getComputedWidth()-c.getComputedBorder(Jo.EDGE_RIGHT):void 0,M=R?d+c.getComputedBorder(Jo.EDGE_TOP):void 0,P=R?d+c.getComputedHeight()-c.getComputedBorder(Jo.EDGE_BOTTOM):void 0;t.clip({x1:T,x2:w,y1:M,y2:P}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let h of e.childNodes)lR(h,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),sy=lR;import wN from"slice-ansi";import TN from"string-width";import{styledCharsFromTokens as CN,styledCharsToString as IN,tokenize as bN}from"@alcalzone/ansi-tokenize";var ay=class{static{o(this,"OutputCaches")}widths=new Map;blockWidths=new Map;styledChars=new Map;getStyledChars(t){let n=this.styledChars.get(t);return n===void 0&&(n=CN(bN(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=TN(t),this.widths.set(t,n)),n}getWidestLine(t){let n=this.blockWidths.get(t);if(n===void 0){let r=0;for(let i of t.split(`
|
|
115
|
+
`))r=Math.max(r,this.getStringWidth(i));n=r,this.blockWidths.set(t,n)}return n}},Ha=class{static{o(this,"Output")}width;height;operations=[];caches=new ay;constructor(t){let{width:n,height:r}=t;this.width=n,this.height=r}write(t,n,r,i){let{transformers:s}=i;r&&this.operations.push({type:"write",x:t,y:n,text:r,transformers:s})}clip(t){this.operations.push({type:"clip",clip:t})}unclip(){this.operations.push({type:"unclip"})}getGrid(){let t=[];for(let r=0;r<this.height;r++){let i=[];for(let s=0;s<this.width;s++)i.push({type:"char",value:" ",fullWidth:!1,styles:[]});t.push(i)}let n=[];for(let r of this.operations)if(r.type==="clip"&&n.push(r.clip),r.type==="unclip"&&n.pop(),r.type==="write"){let{text:i,transformers:s}=r,{x:a,y:c}=r,l=i.split(`
|
|
116
|
+
`),d=n.at(-1);if(d){let p=typeof d?.x1=="number"&&typeof d?.x2=="number",m=typeof d?.y1=="number"&&typeof d?.y2=="number";if(p){let h=this.caches.getWidestLine(i);if(a+h<d.x1||a>d.x2)continue}if(m){let h=l.length;if(c+h<d.y1||c>d.y2)continue}if(p&&(l=l.map(h=>{let S=a<d.x1?d.x1-a:0,C=this.caches.getStringWidth(h),R=a+C>d.x2?d.x2-a:C;return wN(h,S,R)}),a<d.x1&&(a=d.x1)),m){let h=c<d.y1?d.y1-c:0,S=l.length,C=c+S>d.y2?d.y2-c:S;l=l.slice(h,C),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let h=t[c+f];if(!h)continue;for(let R of s)m=R(m,p);let S=this.caches.getStyledChars(m),C=a;for(let R of S){h[C]=R;let T=Math.max(1,this.caches.getStringWidth(R.value));if(T>1)for(let w=1;w<T;w++)h[C+w]={type:"char",value:"",fullWidth:!1,styles:R.styles};C+=T}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return IN(i).trimEnd()}).join(`
|
|
117
|
+
`),height:t.length}}};var vN=o((e,t,n)=>{if(e.yogaNode){if(t){let p=Pp(e,{skipStaticElements:!0}),m=p===""?0:p.split(`
|
|
118
|
+
`).length,h="";return e.staticNode&&(h=Pp(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:m,staticOutput:h?`${h}
|
|
119
|
+
`:"",frame:void 0}}let r=new Ha({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});sR(),sy(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new Ha({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),sy(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=Zd(r),l=n?.columns??e.yogaNode.getComputedWidth(),d=n?.rows??e.yogaNode.getComputedHeight(),f={screen:c,viewport:{width:l,height:d},cursor:{x:0,y:c.height,visible:!0},scrollHint:aR(),scrollRepaint:cR()};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
|
|
120
|
+
`:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),cy=vN;var EN=o((e,t)=>{let n=t?.columns??80,r=kp("ink-root"),i="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,RN.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=cy(r,!1);l&&l!==`
|
|
121
|
+
`&&(i+=l)};let s,a=Ba.createContainer(r,kN,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{Ba.updateContainerSync(e,a,null,()=>{}),Ba.flushSyncWork();let{output:l}=cy(r,!1);if(Ba.updateContainerSync(null,a,null,()=>{}),Ba.flushSyncWork(),c=!0,r.yogaNode.free(),s!==void 0)throw s instanceof Error?s:new Error(String(s));let d=i.endsWith(`
|
|
122
|
+
`)?i.slice(0,-1):i;return d&&l?d+`
|
|
123
|
+
`+l:d||l}finally{if(!c&&r.yogaNode)try{r.yogaNode.freeRecursive()}catch{}}},"renderToString"),uR=EN;var MN="\x1B[0m";function fR(e,t){if(e.length===0)return"";let n=dR(E,{flexDirection:"column",children:e.map(s=>dR(sg,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=uR(n,{columns:t.width});return(r.endsWith(`
|
|
124
|
+
`)?r.slice(0,-1):r)+MN+`
|
|
125
|
+
`}o(fR,"renderFinalizedSectionsToScrollbackText");function pR(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}o(pR,"isInlineLedgerActive");function mR(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?Oa:e.prior,{plan:r,nextState:i}=Hv({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??o0,n);return t?r.kind==="none"?e.forceRebuild?{kind:"commit",mode:"rebuild",sections:e.finalizedSections,nextState:i}:{kind:"noop",nextState:i}:{kind:"commit",mode:e.forceRebuild?"rebuild":"append",sections:r.sections,nextState:i}:r.kind==="none"?{kind:"noop",nextState:i}:{kind:"commit",mode:r.kind,sections:r.sections,nextState:i}}o(mR,"computeInlineLedgerStep");function hR(e,t,n){return e.kind==="noop"?{state:e.nextState,wasActive:!0,owns:n}:e.kind==="commit"?t.committed?{state:e.nextState,wasActive:!0,owns:t.hadContent}:{state:Oa,wasActive:!1,owns:!0}:{state:Oa,wasActive:!1,owns:n}}o(hR,"resolveInlineLedgerState");function gR(e,t){return t?{...e,staticSections:[]}:e}o(gR,"gateInlinePromptModel");function AN(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push(_t(t.output)),t.error&&n.push(_t(t.error)),n.join(`
|
|
126
|
+
`)}).join(`
|
|
127
|
+
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return _t(e.text);default:return""}}o(AN,"buildSearchText");function _N(e,t){let n=e.replace(/\s+/g," ").trim();if(!n)return"";let r=n.toLowerCase(),i=t.toLowerCase(),s=r.indexOf(i);if(s===-1)return n.slice(0,120);let a=Math.max(0,s-40),c=Math.min(n.length,s+t.length+60),l=a>0?"...":"",d=c<n.length?"...":"";return`${l}${n.slice(a,c)}${d}`}o(_N,"buildExcerpt");function yR(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:AN(t)}))}o(yR,"createTranscriptSearchIndex");function xR(e,t){let n=t.trim().toLowerCase();return n?e.flatMap(r=>{let i=r.searchText;return i.toLowerCase().includes(n)?[{itemId:r.itemId,itemIndex:r.itemIndex,excerpt:_N(i,t.trim())}]:[]}):[]}o(xR,"searchTranscriptIndex");function ly(e,t,n){return e<=0?0:t<0?n==="next"?0:e-1:n==="next"?(t+1)%e:t<=0?e-1:t-1}o(ly,"stepTranscriptSearchMatch");function SR(e,t){return e.length===0?void 0:t<0?`${e.length} transcript matches`:`${Math.min(Math.max(t,0),e.length-1)+1}/${e.length} transcript matches`}o(SR,"buildTranscriptSearchSummary");function wR(e,t,n){if(t.length===0||!n)return 0;let r=t.findIndex(a=>a.itemId===n);if(r>=0)return r;let i=e.find(a=>a.itemId===n)?.itemIndex;if(i===void 0)return 0;let s=t.findIndex(a=>a.itemIndex>=i);return s>=0?s:0}o(wR,"resolveTranscriptSearchMatchIndex");function TR(e){if(e)switch(e.type){case"assistant":return{summary:"Assistant response",kindLabel:"assistant"};case"user":return{summary:"User prompt",kindLabel:"user"};case"system":return{summary:"System note",kindLabel:"system"};case"thinking":return{summary:"Thinking trace",kindLabel:"thinking"};case"tool_group":return{summary:LN(e),kindLabel:"tool"};case"error":return{summary:"Error entry",kindLabel:"error"};case"info":return{summary:"Info note",kindLabel:"info"};case"hint":return{summary:"Hint",kindLabel:"hint"};default:return{summary:"Transcript entry",kindLabel:"entry"}}}o(TR,"buildTranscriptSelectionSummary");function LN(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}o(LN,"summarizeToolGroup");function CR(e){return e.map(t=>t.id)}o(CR,"getSelectableTranscriptItemIds");function IR(e,t,n){if(e.length===0)return;if(!t)return n==="next"?e[0]:e[e.length-1];let r=e.indexOf(t);return r===-1?n==="next"?e[0]:e[e.length-1]:n==="next"?e[Math.min(e.length-1,r+1)]:e[Math.max(0,r-1)]}o(IR,"moveTranscriptSelection");function uy(e){if(e)switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[`Tool: ${t.name}`,`Status: ${t.status}`];return t.input&&n.push(`Input: ${JSON.stringify(t.input)}`),typeof t.output=="string"&&t.output.trim()&&n.push(`Output: ${_t(t.output)}`),t.error&&n.push(`Error: ${_t(t.error)}`),n.join(`
|
|
128
|
+
`)}).join(`
|
|
129
|
+
|
|
130
|
+
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return _t(e.text);default:return}}o(uy,"buildTranscriptCopyText");function bR(e){if(!e||e.type!=="tool_group")return;let t=e.tools.map(n=>{if(!n.input)return;let r=typeof n.input=="string"?n.input:JSON.stringify(n.input,null,2);if(r?.trim())return[`Tool: ${n.name}`,r].join(`
|
|
131
|
+
`)}).filter(n=>!!n);return t.length>0?t.join(`
|
|
132
|
+
|
|
133
|
+
`):void 0}o(bR,"buildTranscriptToolInputCopyText");import{useCallback as Hl,useRef as PN,useState as vR}from"react";function RR(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:i,isTranscriptMode:s,historySearchQuery:a}=e,c=vv(t),l;if(t.supportsStickyPrompt&&t.stickyPromptVisible)if(i){let f=a.trim();l={visible:!0,label:f?`Searching transcript for "${f}"`:"Searching transcript"}}else s?l={visible:!0,label:"Transcript Mode"}:r&&(l={visible:!0,label:"Interaction active"});let d;return n&&t.supportsViewportChrome&&(s&&t.pendingLiveUpdates>0?d={visible:!0,label:t.pendingLiveUpdates===1?"1 new update":`${t.pendingLiveUpdates} new updates`,hint:"Ctrl+O",tone:"accent"}:!s&&t.jumpToLatestAvailable&&(d={visible:!0,label:"Back to live",hint:"End",tone:"accent"})),{browseHintText:c,stickyHeader:l,jumpToLatest:d}}o(RR,"buildTranscriptChromeModel");function kR(e){return Math.max(1,e-2)}o(kR,"resolveTranscriptPageSize");function ER(e){return Math.max(3,Math.floor(e/4))}o(ER,"resolveTranscriptWheelStep");function $N(e,t){return Math.max(0,e+t)}o($N,"incrementTranscriptScrollOffset");function MR(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}o(MR,"clampTranscriptScrollOffset");function AR(){let e=PN(null),[t,n]=vR(0),[r,i]=vR(!0),s=Hl(f=>{n(Math.max(0,f))},[]),a=Hl(f=>{i(f)},[]),c=Hl(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),i(f===0)},[]),l=Hl(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>$N(p,f)),i(!1)},[]),d=Hl(()=>{if(e.current){e.current.scrollToBottom();return}n(0),i(!0)},[]);return{scrollRef:e,scrollOffset:t,sticky:r,setScrollOffset:n,setSticky:i,handleScrollTopChange:s,handleStickyChange:a,scrollTo:c,scrollBy:l,scrollToBottom:d}}o(AR,"useTranscriptViewportScrollController");function _R(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,visibleRows:c,expandedItemKeys:l,showDetailedTools:d=!1}=e;if(!a||c.length===0)return!1;let p=(n?.sections??ya(t,r,i,d,l)).find(S=>S.key===a);if(!p||p.rows.length===0)return!1;let m=new Set(c.map(S=>S.key)),h=Math.max(0,s??0);return h>0&&p.rows.length<=h?p.rows.every(S=>m.has(S.key)):m.has(p.rows[0]?.key??"")}o(_R,"isTranscriptItemVisible");function LR(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??ya(t,r,i,l,c);return c0(d,a,s)}o(LR,"resolveTranscriptSelectionOffset");function PR(e){let{items:t,renderModel:n,selectedItemId:r,terminalWidth:i=80,transcriptMaxLines:s=1e3,viewportRows:a,scrollOffset:c=0,expandedItemKeys:l,showDetailedTools:d=!1,preferViewportAnchor:f=!1}=e;if(r&&t.some(p=>p.id===r))return r;if(f&&c>0&&a&&a>0){let p=n?.sections??ya(t,i,s,d,l),m=n?.rows??Hi(p),S=rg(m,a,c)[0]?.key,C=S?p.find(R=>R.rows.some(T=>T.key===S)):void 0;if(C?.key)return C.key}return t[t.length-1]?.id}o(PR,"resolveTranscriptSearchAnchorItemId");function $R(e){let t=nl(e.stickyHeader),n=yf(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}o($R,"resolveTranscriptOwnedWindowGeometry");function DN(e){return e.text===" "?"":_t(e.text)}o(DN,"normalizeTranscriptRowText");function dy(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}o(dy,"buildTranscriptRowIndexByKey");function ON(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}o(ON,"resolveTranscriptTextStartColumn");function DR(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??dy(t.allRows??e),i=e.map((s,a)=>{let c=DN(s),l=ON(s,t),d=jo(c);return{key:s.key,row:s,modelRowIndex:r.get(s.key)??a,screenRow:n+a+1,text:c,textLength:d,textStartColumn:l,textEndColumn:l+f0(c)}});return{rows:i,topRow:i[0]?.screenRow??n+1,bottomRow:i[i.length-1]?.screenRow??n,viewportHeight:Math.max(0,t.viewportHeight??e.length)}}o(DR,"buildTranscriptScreenBuffer");function NN(e,t){let n=Math.max(1,Math.floor(t));return p0(e.text,n-e.textStartColumn)}o(NN,"clampTextColumn");function fy(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:NN(e,t)}}}o(fy,"toHit");function py(e,t,n){let r=e.rows.find(i=>i.screenRow===t);return r?fy(r,n):void 0}o(py,"hitTestTranscriptScreen");function my(e,t,n){if(e.rows.length!==0)return t<=e.topRow?fy(e.rows[0],n):t>=e.bottomRow?fy(e.rows[e.rows.length-1],n):py(e,t,n)}o(my,"clampTranscriptScreenHit");function OR(e){return e.text===" "?"":_t(e.text)}o(OR,"normalizeTranscriptRowText");function NR(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(NR,"comparePoints");function BR(e,t,n,r={}){if(e.length===0)return;let[i,s]=NR(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=NR(t,n)===0,l=e[i.modelRowIndex],d=e[s.modelRowIndex];if(!l||!d)return;let f=a&&c?{...i,column:0}:i,p=a&&c?{...s,column:jo(OR(d))}:s,m=new Map,h=[],S=0;for(let C=f.modelRowIndex;C<=p.modelRowIndex;C+=1){let R=e[C];if(!R)continue;let T=OR(R),w=jo(T),M=C===f.modelRowIndex?f.column:0,P=C===p.modelRowIndex?p.column:w,$=Math.max(0,Math.min(M,w)),H=Math.max($,Math.min(P,w)),U=xa(T,$,H);H>$&&(m.set(R.key,{start:$,end:H}),S+=H-$),h.push(U)}if(m.size!==0)return{anchor:t,focus:n,rowRanges:m,rowCount:h.length,charCount:S,text:h.join(`
|
|
134
|
+
`)}}o(BR,"buildTranscriptScreenSelection");function HR(e){if(!e)return;let t=`${e.charCount} char${e.charCount===1?"":"s"}`;return e.rowCount<=1?`Selected ${t}`:`Selected ${t} across ${e.rowCount} lines`}o(HR,"buildTranscriptScreenSelectionSummary");function WR(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}o(WR,"resolveTranscriptDragEdgeScrollDirection");var BN="Other...";function $p(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}o($p,"toSelectOptions");function hy(e,t){return t.kind==="input"||t.allowCustomInput===!1||e.some(n=>n.value===Rr)?e:[...e,{label:t.customInputLabel??BN,value:Rr}]}o(hy,"appendCustomInputOption");function gy(e){return e.question}o(gy,"getAskUserDialogTitle");function FR(e){return!!e.activity}o(FR,"shouldRenderPromptActivityInFooter");function HN(e){switch(e){case"confirm":return re("waiting.confirm");case"select":return re("waiting.select");case"input":return re("waiting.input")}}o(HN,"formatPromptWaitingText");function jR(e){return e.waitingReason==="confirm"?re("placeholder.confirm"):e.waitingReason==="select"?re("placeholder.select"):e.waitingReason==="input"?re("placeholder.input"):e.isLoading?e.canQueueFollowUps?re("placeholder.queue"):re("placeholder.busy"):re("placeholder.idle")}o(jR,"buildPromptPlaceholderText");function UR(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:HN(e.waitingReason),showSpinner:!1}:e.workflowBuilderMessage?{kind:"busy",text:e.workflowBuilderMessage,showSpinner:!0}:e.backgroundWorkflowMessage?{kind:"busy",text:e.backgroundWorkflowMessage,showSpinner:!0}:e.isLoading?{kind:"busy",text:ag({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===j.Executing).length,currentTool:e.streamingState.currentTool,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,isCompacting:e.streamingState.isCompacting,toolInputCharCount:e.streamingState.toolInputCharCount,toolInputContent:e.streamingState.toolInputContent,managedPhase:e.managedState?.phase,managedHarnessProfile:e.managedState?.harnessProfile,managedWorkerTitle:e.managedState?.workerTitle})??"Thinking",showSpinner:!0}:void 0}o(UR,"buildPromptActivityViewModel");function GR(e,t,n){if(e){if(e.userOverrideContextWindow!==void 0)return e.contextWindow===e.userOverrideContextWindow?e:{...e,contextWindow:e.userOverrideContextWindow};try{let i=n(t.provider)?.getEffectiveContextWindow?.(t.model);if(i!==void 0&&i!==e.contextWindow)return{...e,contextWindow:i};if(i!==void 0)return e}catch{}return e}}o(GR,"resolveEffectiveCompactionInfo");function VR(e){return{sessionId:e.sessionId,permissionMode:e.permissionMode,agentMode:e.agentMode,provider:e.provider,model:e.model,currentTool:e.streamingState.currentTool,activeToolCount:e.streamingState.activeToolCalls.filter(t=>t.status===j.Executing).length,thinking:e.thinking,reasoningMode:e.reasoningMode,effort:e.effort,reasoningEffortLabel:e.reasoningEffortLabel,reasoningCapability:e.reasoningCapability,isThinkingActive:e.streamingState.isThinking,thinkingCharCount:e.streamingState.thinkingCharCount,toolInputCharCount:e.isTranscriptMode?e.streamingState.toolInputCharCount:0,toolInputContent:e.isTranscriptMode?e.streamingState.toolInputContent:"",currentIteration:e.streamingState.currentIteration,maxIter:e.maxIter,contextUsage:e.contextUsage,isCompacting:e.streamingState.isCompacting,showBusyStatus:!1,managedPhase:e.isLoading?e.managedState?.phase:void 0,managedHarnessProfile:e.isLoading?e.managedState?.harnessProfile:void 0,managedWorkerTitle:e.isLoading?e.managedState?.workerTitle:void 0,managedRound:e.isLoading?e.managedState?.round:void 0,managedMaxRounds:e.isLoading?e.managedState?.maxRounds:void 0,managedGlobalWorkBudget:e.isLoading?e.managedState?.globalWorkBudget:void 0,managedBudgetUsage:e.isLoading?e.managedState?.budgetUsage:void 0,managedBudgetApprovalRequired:e.isLoading?e.managedState?.budgetApprovalRequired:void 0,managedIdleWaiting:e.isLoading?e.managedState?.idleWaiting:void 0,managedIdleWaitingPendingCount:e.isLoading?e.managedState?.idleWaitingPendingCount:void 0,autoModeEngine:e.autoModeEngine}}o(VR,"buildSurfaceStatusBarProps");function KR(e){let t=qg(e.state),n=t?vp(e.state,e.selectableItemIds,e.selectedItemId):void 0,r=n?e.selectableItemIds.indexOf(n):-1;return{selectionEnabled:t,selectedItemId:n,selectedItemIndex:r,position:n?{current:Math.max(1,r+1),total:e.selectableItemIds.length}:void 0,detailState:n&&e.isExpanded?"expanded":"compact",copyCapabilities:{message:t&&!!n,toolInput:t&&!!n&&e.selectedItemType==="tool_group",copyOnSelect:t&&bv(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}o(KR,"buildTranscriptSelectionRuntimeState");function zR(e){if(!(!e.runtime.selectionEnabled||!e.runtime.selectedItemId))return{itemSummary:e.itemSummary?.summary,itemKind:e.itemSummary?.kindLabel,position:e.runtime.position,detailState:e.runtime.detailState,copyCapabilities:e.runtime.copyCapabilities,toggleDetail:e.runtime.toggleDetail,navigationCapabilities:e.runtime.navigationCapabilities}}o(zR,"buildTranscriptSelectionViewModel");function YR(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}o(YR,"buildTranscriptSearchViewModel");function WN(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}o(WN,"clampTranscriptSearchSelectedIndex");function FN(e){return e.isHistorySearchActive?e.historySearchQuery.trim()?e.matches.length===0?"No matches yet":e.clampedSelectedIndex<0?`${e.matches.length} matches | use n/N or Enter to jump`:e.matches[e.clampedSelectedIndex]?.excerpt:"Type to search transcript":void 0}o(FN,"buildTranscriptSearchDetailText");function XR(e){let t=WN(e.matches.length,e.selectedIndex),n=SR(e.matches,t),r=FN({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:YR({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}o(XR,"buildTranscriptSearchChrome");function jN(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}o(jN,"buildDefaultTranscriptSecondaryText");function qR(e){let t=[];return e.historySearchQuery.trim().length>0&&e.isHistorySearchActive&&e.historySearchMatchCount===0&&t.push({id:"search-empty",text:"No transcript matches yet",tone:"info"}),e.pendingInputCount>=e.maxPendingInputs&&t.push({id:"queue-full",text:`Queued follow-up limit reached (${e.maxPendingInputs})`,tone:"warning"}),t}o(qR,"buildFooterNotifications");function JR(e){let t=[];return e.historySearchQuery.trim()&&t.push(`Search: ${e.historySearchQuery.trim()}`),e.pendingInputCount>0&&t.push(`Queued follow-ups: ${e.pendingInputCount}`),t}o(JR,"buildBaseFooterNotices");function QR(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}o(QR,"buildStashNoticeText");function ZR(e){return[...e]}o(ZR,"buildPromptFooterNotices");function UN(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?jN(e.showAllActive):n.join(" | ")}o(UN,"buildTranscriptFooterSecondaryText");function GN(e){let t=[];return e&&t.push(e),t}o(GN,"buildTranscriptFooterBudgetNotices");function ek(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,i=HR(e.textSelection),s=e.textSelection?Sa({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?Sa({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=UN({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:i,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:i,actionSummary:s,secondaryText:a,budgetNotices:GN(a)}}o(ek,"buildTranscriptFooterViewModel");import{jsx as H4,jsxs as W4}from"react/jsx-runtime";function tk(e,t){if(!(!e||!t||t<=0))switch(e){case"finding-validation":return`Validating ${t} finding${t===1?"":"s"}`;case"module-triage":return`Scanning ${t} module${t===1?"":"s"}`;case"evidence-scan":return`Parallel evidence pass (${t})`;case"hypothesis-check":return`Checking ${t} hypothesis${t===1?"":"es"}`;default:return}}o(tk,"formatAmaWorkStripText");function nk(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}o(nk,"stripLiveActivityPrefix");function rk(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?nk(Pf(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?nk(e.liveActivityLabel):void 0;e.activeWorkerTitle?t.push({id:"primary-worker",label:`${e.activeWorkerTitle} active`,accent:!0,selected:!0}):e.activePhase?t.push({id:"primary-phase",label:e.activePhase,accent:!0,selected:!0}):d?t.push({id:"primary-live-activity",label:d,accent:!0,selected:!0}):l?t.push({id:"primary-tool",label:l,accent:!0,selected:!0}):e.isThinkingActive?t.push({id:"primary-thinking",label:"Thinking",accent:!0,selected:!0}):t.push({id:"primary-generic",label:"Agent active",accent:!0,selected:!0})}e.parallelText&&t.push({id:"parallel",label:e.parallelText});let[r,i,s,...a]=t,c=[r,i,s].filter(l=>!!l);return e.isLoading?{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}:{items:c,overflowLabel:a.length>0?`+${a.length} more`:void 0,ctaHint:e.parallelText?"Ctrl+O transcript":void 0}}o(rk,"buildBackgroundTaskViewModel");function ok(e,t){if(!(!t||!e||e.agentMode!=="ama"&&e.agentMode!=="amaw"))return tk(e.childFanoutClass,e.childFanoutCount)}o(ok,"buildAmaWorkStripFromStatus");function yy(e){let t=ok(e.status,e.isLoading);return{workStripText:t,backgroundTask:rk({isLoading:e.isLoading,showPrimary:!!(e.parallelTextOverride??t),activeWorkerTitle:e.status?.activeWorkerTitle,activePhase:e.status?.phase??(e.agentMode==="ama"||e.agentMode==="amaw"?`${e.agentMode.toUpperCase()} active`:void 0),parallelText:e.parallelTextOverride??t,currentTool:e.currentTool,toolInputCharCount:e.toolInputCharCount,toolInputContent:e.toolInputContent,liveActivityLabel:e.liveActivityLabel,isThinkingActive:e.isThinkingActive})}}o(yy,"buildAmaSummaryViewModel");function xy(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}o(xy,"captureTranscriptSnapshot");function ik(e){if(!e.isTranscriptMode||!e.snapshot)return 0;let t=Math.max(0,e.currentItemsLength-e.snapshot.items.length);return e.isLoading!==e.snapshot.isLoading&&(t+=1),e.currentResponse!==e.snapshot.currentResponse&&(t+=1),e.thinkingContent!==e.snapshot.thinkingContent&&(t+=1),e.activeToolCallsLength!==e.snapshot.activeToolCalls.length&&(t+=1),(e.currentManagedLiveEventsLength??0)!==e.snapshot.managedLiveEvents.length&&(t+=1),t}o(ik,"countPendingTranscriptUpdates");function sk(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}o(sk,"resolveTranscriptSurfaceItems");function ak(e){let t=[];for(let n of e)switch(n.type){case"user":case"system":case"error":case"tool_group":case"event":case"info":t.push({...n});break;case"assistant":case"thinking":{let{compactText:r,...i}=n;t.push(i);break}default:break}return t}o(ak,"buildPromptSurfaceItems");function ck(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}o(ck,"resolveFullscreenShellMode");function VN(e,t){return e.enabled&&ck(e,t)==="virtual"}o(VN,"shouldUseRendererViewportShell");function lk(e,t){let n=ck(e,t),r=e.enabled&&n==="virtual",i=e.enabled&&n==="virtual",s=r&&(e.mouseWheel||e.mouseClicks),a=s&&e.mouseClicks,c=i&&e.mouseWheel;return{shellMode:n,usesAlternateScreenShell:r,usesRendererViewportShell:i,usesRendererMouseTracking:s,usesManagedMouseClicks:a,usesManagedMouseWheel:c,usesManagedSelection:i,usesManagedWheelHistory:c,usesNativeMainScreenScrollback:!i}}o(lk,"resolveTranscriptInteractionPolicy");function uk(e,t,n){return VN(e,t)?t==="transcript"||n:!1}o(uk,"shouldOwnTranscriptViewport");var KN=500,zN=1,YN=/[\p{L}\p{N}_/.\-+~\\]/u;function XN(e){return e.text===" "?"":e.text}o(XN,"normalizeTranscriptRowText");function dk(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(dk,"comparePoints");function Sy(e){return e===""||/\s/.test(e)?0:YN.test(e)?1:2}o(Sy,"charClass");function fk(e){let t=e.timeoutMs??KN,n=e.distance??zN,r=e.time-e.previous.time<=t,i=Math.abs(e.row-e.previous.row)<=n&&Math.abs(e.column-e.previous.column)<=n,s=r&&i?Math.min(3,e.previous.count+1):1;return{time:e.time,row:e.row,column:e.column,count:s}}o(fk,"resolveTranscriptMultiClickState");function Dp(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let i=XN(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:jo(i)}};let s=jo(i);if(s===0)return{kind:n,start:{...t,column:0},end:{...t,column:0}};let a=Math.max(0,Math.min(s-1,t.column));t.column===s&&(a=s-1);let c=Sy(Wf(i,a)),l=a,d=a+1;for(;l>0&&Sy(Wf(i,l-1))===c;)l-=1;for(;d<s&&Sy(Wf(i,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}o(Dp,"resolveTranscriptSelectionSpanAt");function wy(e,t){return dk(t.end,e.start)<0?{anchor:e.end,focus:t.start}:dk(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}o(wy,"extendTranscriptSelectionSpan");function Wa(e){return{messages:e.messages,title:e.title,gitRoot:e.gitRoot??"",...e.runtimeInfo!==void 0?{runtimeInfo:e.runtimeInfo}:{},...e.tag!==void 0?{tag:e.tag}:{},...e.uiHistory!==void 0?{uiHistory:e.uiHistory}:{},...e.lineage!==void 0?{lineage:e.lineage}:{},...e.artifactLedger!==void 0?{artifactLedger:e.artifactLedger}:{},...e.extensionState!==void 0?{extensionState:e.extensionState}:{},...e.extensionRecords!==void 0?{extensionRecords:e.extensionRecords}:{}}}o(Wa,"buildHostSessionPayload");var ZN=500;function eB(e){return typeof e.appendSessionDelta=="function"}o(eB,"hasAppendSessionDelta");function mk(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(mk,"applyRuntimeSessionSnapshot");var tB=12,hk="Do not try to modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.";function Ty(e,t){if(gn(e))return[t.getGuardrail()]}o(Ty,"buildAutoModeGuardrails");function nB(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}o(nB,"resolveInitialReasoningMode");function Cy(e){return _t(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}o(Cy,"formatCapturedConsoleOutput");function Iy(e){let t=e.map(_t).join(`
|
|
135
|
+
`).trimEnd();return t.trim().length>0?t:void 0}o(Iy,"joinCapturedConsoleOutput");function rB(e){let t=e.split(/\r?\n/).map(s=>s.trim()).filter(Boolean);if(t.length===0)return;if(t.length===1)return t[0];let[n,r]=t,i=n.startsWith("[")?`${n} ${r}`:`${n} / ${r}`;return i.length>220?`${i.slice(0,217)}...`:i}o(rB,"buildManagedTranscriptCompactText");function gk(e){let t=rB(e);return{type:"event",icon:$g(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}o(gk,"toManagedTranscriptEventItem");function Qo(e){switch(e.type){case"assistant":return{type:"assistant",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"thinking":return{type:"thinking",text:e.text,...e.compactText?{compactText:e.compactText}:{}};case"event":return{type:"event",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"info":return{type:"info",text:e.text,...e.icon?{icon:e.icon}:{},...e.compactText?{compactText:e.compactText}:{}};case"error":return{type:"error",text:e.text};case"system":return{type:"system",text:e.text};case"hint":return{type:"hint",text:e.text};case"sidecar":return{type:"sidecar",text:e.text,...e.verdict?{verdict:e.verdict}:{},...e.delivery?{delivery:e.delivery}:{}};case"tool_group":return{type:"tool_group",tools:e.tools};case"user":return{type:"user",text:e.text};default:return e}}o(Qo,"toCreatableHistoryItem");function vy(e){return qw(e)?"":Ys(e).trim()}o(vy,"sanitizeInterruptedAssistantText");function oB(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(oB,"escapeRegExpLiteral");function iB(e,t){let n=t?.trim();return n?e.replace(new RegExp(`^\\[${oB(n)}\\]\\s*`),""):e}o(iB,"stripManagedWorkerPrefix");function yk(e,t){let n=Ys(e);return iB(n,t).trim().length>0}o(yk,"hasSubstantiveManagedAssistantText");function sB(e,t){return e?t||e.trim().length>0:!1}o(sB,"shouldAppendManagedAssistantTextDelta");function xk(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}o(xk,"isForegroundManagedStreamingStatus");function aB(e,t,n){let r=[],i=n?.infoItems??[],s=Ry({thinking:e,toolCalls:n?.toolCalls,toolNames:n?.toolNames});for(let c of i){let l=c.trim();l&&r.push({type:"info",text:l})}r.push(...s);let a=vy(t);return a&&r.push({type:"assistant",text:`${a}
|
|
136
|
+
|
|
137
|
+
[Interrupted]`}),r}o(aB,"buildInterruptedPersistenceItems");function Ry({thinking:e,response:t,toolCalls:n,toolNames:r}){let i=[],s=e?.trim()??"",a=t?.trim()??"",c=n&&n.length>0?[...n]:[],l=r&&r.length>0?[...r]:[];return s&&i.push({type:"thinking",text:s}),c.length>0?i.push({type:"tool_group",tools:c}):!s&&!a&&l.length>0&&i.push({type:"info",icon:"*",text:`Tools: ${l.join(", ")}`}),a&&i.push({type:"assistant",text:a}),i}o(Ry,"buildRoundHistoryItems");var cB=20,lB="Session ended before the tool completed.";function uB(e){switch(e.status){case j.Success:return{status:"success"};case j.Error:return{status:"error"};case j.Cancelled:return{status:"cancelled"};case j.AwaitingApproval:case j.Scheduled:case j.Validating:case j.Executing:return{status:"cancelled",error:lB};default:return e.status}}o(uB,"toPersistedToolStatus");function dB(e){if(!e.id||!e.name)return;let t=uB(e),n=t.status==="success"?Km(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Vm(e.error??Km(e.output)??t.error??""):void 0,i=zw(e.input);return{id:e.id,name:e.name,status:t.status,...i?{input:i}:{},...typeof e.preview=="string"&&e.preview.trim().length>0?{preview:Vm(e.preview.trim(),500)}:{},...n&&n.trim().length>0?{output:n}:{},...r&&r.trim().length>0?{error:r}:{},...typeof e.startTime=="number"?{startTime:e.startTime}:{},...typeof e.endTime=="number"?{endTime:e.endTime}:{}}}o(dB,"toPersistedToolCall");function fB(e){let t=e.tools.slice(0,cB).map(dB).filter(n=>!!n);return t.length>0?{type:"tool_group",tools:t}:void 0}o(fB,"toPersistedToolGroup");function Ik(e){if(e.type==="tool_group")return fB(e);let t="text"in e&&typeof e.text=="string"?e.text.trimEnd():"";if(!t)return;if(e.type==="sidecar"){let i=e.delivery==="budget-exhausted"?"budget-exhausted":e.verdict??"revise";return{type:"sidecar",text:t,icon:i}}let n="icon"in e&&typeof e.icon=="string"&&e.icon.length>0?e.icon:void 0,r="compactText"in e&&typeof e.compactText=="string"&&e.compactText.length>0?e.compactText.trimEnd():void 0;return{type:e.type,text:t,...n?{icon:n}:{},...r?{compactText:r}:{}}}o(Ik,"toPersistedUiHistoryItem");var Sk=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",pB=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function wk(e){return Nr(e.map(t=>Ik(t)).filter(t=>!!t))}o(wk,"serializeUiHistorySnapshot");function mB(e){return e.map(t=>Ik(t)).filter(t=>!!t)}o(mB,"serializeCreatableHistoryItems");function Op(e,t){return t.length===0?Nr(e):Nr([...e,...mB(t)])}o(Op,"appendPersistedUiHistorySnapshot");function Wl(e,t,n){console.log((e==="block"?pt.red:pt.yellow)(t)),n.forEach(r=>console.log(pt.dim(r)))}o(Wl,"logSessionTransitionGuard");var by=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=te("dark"),s=e.model??Ln(e.provider)??e.provider,a=kr({provider:e.provider,model:e.model,effort:e.effort,effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=r?Math.round(r.contextWindow/1e3):0,l=r?Math.round(r.contextWindow*r.triggerPercent/100/1e3):0;return Cn(E,{flexDirection:"column",marginBottom:1,children:[Og.map((d,f)=>ae(I,{color:i.colors.primary,children:d},f)),Cn(E,{children:[ae(I,{color:i.colors.primary,children:" \u258E "}),ae(I,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),Cn(E,{children:[ae(I,{color:i.colors.success,children:" \u258E "}),Cn(I,{bold:!0,color:i.colors.text,children:["v",yi]}),ae(I,{dimColor:!0,children:" \xB7 "}),Cn(I,{color:i.colors.success,children:[e.provider,"/",s]}),ae(I,{dimColor:!0,children:` \xB7 effort:${a}`}),ae(I,{dimColor:!0,children:" \xB7 "}),ae(I,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),ae(I,{dimColor:!0,children:" / "}),ae(I,{color:i.colors.accent,children:e.permissionMode})]}),r&&Cn(E,{children:[ae(I,{color:i.colors.accent,children:" \u258E "}),ae(I,{color:i.colors.text,children:`ctx ${c}k \xB7 compaction `}),ae(I,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),ae(I,{color:i.colors.text,children:` @ ${r.triggerPercent}% (${l}k)`})]}),Cn(E,{children:[ae(I,{color:i.colors.secondary,children:" \u258E "}),ae(I,{color:i.colors.text,children:"session "}),ae(I,{color:i.colors.primary,children:t}),ae(I,{color:i.colors.text,children:" \xB7 "}),ae(I,{color:i.colors.text,children:n})]})]})},"Banner");function hB(e){let t=e.config.model??Ln(e.config.provider)??e.config.provider,n=kr({provider:e.config.provider,model:e.config.model,effort:e.config.effort,effortOverride:e.config.effortOverride,thinking:e.config.thinking,reasoningMode:e.config.reasoningMode}),r=e.compactionInfo?Math.round(e.compactionInfo.contextWindow/1e3):0,i=e.compactionInfo?Math.round(e.compactionInfo.contextWindow*e.compactionInfo.triggerPercent/100/1e3):0,s=" \u258E AI Coding Agent \xB7 Minimalist & Intelligent",a=` \u258E v${yi} \xB7 ${e.config.provider}/${t} \xB7 effort:${n} \xB7 ${e.config.agentMode.toUpperCase()} / ${e.config.permissionMode}`,c=e.compactionInfo?` \u258E ctx ${r}k \xB7 compaction ${e.compactionInfo.enabled?"on":"off"} @ ${e.compactionInfo.triggerPercent}% (${i}k)`:void 0,l=` \u258E session ${e.sessionId} \xB7 ${e.workingDir}`,d=[],f=o(m=>{let h=fn(m.length>0?m.split(`
|
|
138
|
+
`):[""],Math.max(1,e.terminalWidth),0,0);return h.visualLines.length>0?h.visualLines:[""]},"wrapBannerLine"),p=o((m,h,S)=>{f(h).forEach((C,R)=>{d.push({key:`${m}-${R}`,text:C,...S})})},"pushLineRows");return Og.forEach((m,h)=>{p(`banner-logo-${h}`,m,{color:"primary"})}),p("banner-tagline",s,{color:"primary"}),p("banner-version",a,{color:"text",bold:!0}),c&&p("banner-compaction",c,{color:"text"}),p("banner-session",l,{color:"text"}),d.push({key:"banner-blank",text:" "}),{key:"banner",rows:d}}o(hB,"buildBannerTranscriptSection");function Tk(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(Tk,"prependTranscriptSection");var gB=process.env.KODAX_INLINE_LEDGER!=="0";function Ck(e,t){process.env.KODAX_INLINE_LEDGER_DEBUG==="1"&&hn({source:"repl:inline-ledger",level:"debug",message:`${e}; rebuilding on next change.`,...t!==void 0?{detail:t}:{}})}o(Ck,"reportInlineLedgerFailure");var yB=o(({options:e,config:t,context:n,startupRuntimeInfo:r,storage:i,rendererMode:s,fullscreenPolicy:a,onExit:c,compactionInfo:l,autoModeBootstrap:d,setAutoModeAskUser:f,setAutoModeEngineChange:p,setCurrentConfigRef:m,teamModeHandle:h})=>{let{exit:S}=Bo(),{stdout:C}=Pr(),R=C.rows??24,{stdin:T,setRawMode:w,isRawModeSupported:M}=Qc(),P=ua(),{history:$}=Ta(),H=pk.useRef(null),U=pk.useRef(xw()),{addHistoryItem:W,addHistoryItems:J,clearHistory:pe,setSessionId:we}=Ca(),y=he($),O=he(wk($));Be(()=>{y.current=$,O.current=wk($)},[$]),Be(()=>{sv()},[]),Be(()=>{uT()},[]);let k=C.columns||80,D=va(),ge=he(D);Be(()=>{ge.current=D},[D]);let{startStreaming:le,stopStreaming:z,abort:fe,startThinking:ve,appendThinkingChars:$e,appendThinkingContent:ue,stopThinking:De,clearThinkingContent:q,setCurrentTool:oe,appendToolInputChars:Ee,appendToolInputContent:Re,clearToolInputContent:He,clearResponse:Xe,appendResponse:nt,getSignal:ce,getFullResponse:G,getThinkingContent:me,startNewIteration:qe,clearIterationHistory:et,startCompacting:on,stopCompacting:Fe,setMaxIter:Jt,addPendingInput:Wt,removeLastPendingInput:vn,shiftPendingInput:N,consumePendingInputs:A}=Ra(),[B,Q]=Ue(!1),[_,Te]=Ue(t),xe=de(()=>xi({provider:_.provider,model:_.model,effort:_.effort,effortOverride:_.effortOverride,permissionMode:_.permissionMode,planModeEffort:_.planModeEffort,thinking:_.thinking,reasoningMode:_.reasoningMode}),[_.provider,_.model,_.effort,_.effortOverride,_.permissionMode,_.planModeEffort,_.thinking,_.reasoningMode]),ke=xe.configuredEffort,rt=xe.runtimeEffort,Lt=de(()=>({..._,effort:ke}),[_,ke]),sn=de(()=>GR(l,{provider:_.provider,model:_.model},hi),[l,_.provider,_.model]),[Gr,kt]=Ue(!0),[qn,ux]=Ue(!0),[Zl,eu]=Ue(0),[qp,Xa]=Ue(!1),[dx,Jn]=Ue(null),qa=he(!1),lM=de(()=>Ao(),[]),Ja=he(null),tu=he(null),fx=he(Promise.resolve()),nu=he(null),ri=he({requested:!1,uiHistoryOverride:void 0}),Ji=he(null),Qa=he(!1),Za=he(null),[ec,ru]=Ue(!0),[Jp,ou]=Ue(""),[Ge,gr]=Ue(()=>fv(lM,{rendererMode:s})),[Pt,Qp]=Ue(!1),[uM,dM]=Ue(0),{scrollRef:fM,scrollOffset:Qn,sticky:Zp,setScrollOffset:pM,handleScrollTopChange:mM,handleStickyChange:hM,scrollTo:iu,scrollBy:su,scrollToBottom:au}=AR(),em=he(null),cu=he(null),tc=he([]),lu=he([]),Qi=he(null),Zn=he(null),px=he({time:0,row:-1,column:-1,count:0}),[uu,tm]=Ue(void 0),[Vr,nm]=Ue(void 0),[Zi,mx]=Ue(void 0),[Rn,gM]=Ue(()=>new Set),[rm,hx]=Ue(null),[Qt,gx]=Ue(null),[X,du]=Ue(null),[yx,es]=Ue(null),[om,xx]=Ue(null),nc=he(null),rc=Y(u=>{nc.current=u,xx(u)},[]),oc=Y(u=>{let g=u(nc.current);nc.current=g,xx(g)},[]),ic=Y((u,g)=>{let x=nc.current;return x?.status!=="running"||!z0(u,x.runId)?!1:(rc({...x,message:g}),!0)},[rc]),im=Y(u=>{if(u.status==="running"){rc({runId:u.runId,workflow:u.workflow,status:u.status,...u.phase!==void 0?{phase:u.phase}:{},...u.phaseIndex!==void 0?{phaseIndex:u.phaseIndex}:{},...u.phaseTotal!==void 0?{phaseTotal:u.phaseTotal}:{},...u.startedAt!==void 0?{startedAt:u.startedAt}:{},...u.elapsedMs!==void 0?{elapsedMs:u.elapsedMs}:{},activeAgents:u.activeAgents,totalSpawned:u.totalSpawned,...u.plannedAgents!==void 0?{plannedAgents:u.plannedAgents}:{},...u.agentCap!==void 0?{agentCap:u.agentCap}:{},...u.tokenBudgetSpent!==void 0?{tokenBudgetSpent:u.tokenBudgetSpent}:{},...u.tokenBudgetTotal!==void 0?{tokenBudgetTotal:u.tokenBudgetTotal}:{},completedAgents:u.completedAgents,failedAgents:u.failedAgents,stoppedAgents:u.stoppedAgents,...u.message!==void 0?{message:u.message}:{},...u.locale!==void 0?{locale:u.locale}:{}});return}oc(g=>g?.runId===u.runId?null:g)},[rc,oc]),yM=Y(u=>{let g=u.type==="workflow_updated"?u.message:void 0,x=Dc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,g);im(tT(u.snapshot,g===void 0?{locale:x}:{locale:x,message:g}))},[im]),[fu,Kr]=Ue([]),ts=de(()=>{for(let u of fu)if(u.status==="in_progress"){if(u.activeForm&&u.activeForm.length>0)return u.activeForm;if(u.subject&&u.subject.length>0)return u.subject}},[fu]),[xW,sc]=Ue([]),[ac,xM]=Ue([]),[pu,wt]=Ue(void 0),[oi,cc]=Ue(void 0),ft=he(null),mu=he(null),ii=he([]),ns=he([]),an=he([]),sm=he(new Set),ot=he({}),yt=he({activeToolGroupTools:[]}),Sx=he(0),hu=he({itemId:void 0,kind:"thinking",pendingText:""}),er=he(null),SM=80,wM=20,TM=he(null),gu=de(()=>[...$,...ac],[$,ac]),am=de(()=>{let u=s0(gu,TM);return u===0?gu:gu.slice(u)},[gu]),yu=de(()=>a0(am,wM),[am]),rs=am,Zt=he(null),yr=he(null),xr=he([]),en=he([]),[si,CM]=Ue([]),zr=he([]),[cm,IM]=Ue([]),lc=he([]),Nn=Y(u=>{zr.current=u,CM(u)},[]),os=Y(u=>{lc.current=u,IM(u)},[]),lm=Y(()=>{os([])},[os]),wx=Y(u=>{if(!cp(u))return!1;let g=Tg(u),x=lc.current.filter(b=>b.id!==g);return x.length===lc.current.length||os(x),!0},[os]),Bn=Y((u,g,x,b)=>{if(!cp(u))return!1;let v=Tg(u),L=lc.current.find(je=>je.id===v);if(b?.skipIfExisting&&L?.kind===g||Q0(L?.kind,g))return!0;let V=b?.append&&L?.kind===g?`${L.detail}${x}`:x||L?.detail||"running",F={id:v,label:X0(u),source:q0(u),status:"running",kind:g,detail:wg(V),startedAt:L?.startedAt??Date.now()},Z=lc.current,ie=Z.findIndex(je=>je.id===v),Ve=ie>=0?Z.map((je,Vt)=>Vt===ie?F:je):[...Z,F].slice(0,tB);return os(Ve),!0},[os]),Tx=Y(u=>{ii.current=u,sc(u)},[]),is=Y(u=>{an.current=u,xM(u)},[]),Cx=Y(u=>{let g=u([...an.current]);is(g)},[is]),Ix=Y(u=>{u.length!==0&&is([...an.current,...u])},[is]),xu=Y(u=>{let g=yt.current,x=g.activeToolGroupTools.some(b=>b.status===j.Executing);yt.current={...u?.clearOwner?{}:{workerId:g.workerId,workerTitle:g.workerTitle},...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(ot.current={})},[]),Su=Y(u=>{for(let g of u)g.type==="user"&&typeof g.id=="string"&&sm.current.add(g.id)},[]),uc=Y(()=>{hu.current={itemId:void 0,kind:"thinking",pendingText:""},er.current&&(clearTimeout(er.current),er.current=null);let u=pg(an.current,sm.current);if(u.length>0){for(let g of u)sm.current.add(g.id);Ji.current?.(u.map(g=>Qo(g)))}xu({clearOwner:!0}),is([])},[xu,is]),wu=Y(u=>(Sx.current+=1,`managed-foreground-${u}-${Sx.current}`),[]),Ft=Y(u=>(Ix([u]),u.id),[Ix]),kn=Y((u,g)=>{ot.current.workerId?Ft({id:`${g}-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:u.type,text:u.text,...u.icon?{icon:u.icon}:{},...u.tightSpacing?{tightSpacing:!0}:{},timestamp:Date.now()}):W(u)},[W,Ft]),bx=Y((u,g)=>{let x=Date.now();ot.current.workerId?Ft({id:`${g}-${x}-${Math.random().toString(36).slice(2,7)}`,type:"sidecar",text:u.text,...u.verdict?{verdict:u.verdict}:{},...u.delivery?{delivery:u.delivery}:{},timestamp:x}):W(u)},[W,Ft]),Yr=Y((u,g)=>{if(!u)return;let x;return Cx(b=>b.map(v=>v.id!==u?v:(x=g(v),x))),x},[Cx]),ss=Y((u,g)=>{let x=yt.current;if(x.activeKind===u){if(u==="thinking"&&x.activeThinkingItemId)return x.activeThinkingItemId;if(u==="assistant"&&x.activeAssistantItemId)return x.activeAssistantItemId;if(u==="tool_group"&&x.activeToolGroupItemId)return x.activeToolGroupItemId}let b=Date.now(),v=g?.trim()?`[${g.trim()}] `:"",L=x.activeToolGroupTools.some(F=>F.status===j.Executing);if(u==="thinking"){let F=Ft({id:wu("thinking"),type:"thinking",timestamp:b,text:v});return yt.current={...yt.current,activeKind:"thinking",activeThinkingItemId:F,currentTurnThinkingItemId:F,activeAssistantItemId:void 0,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},F}if(u==="assistant"){let F=Ft({id:wu("assistant"),type:"assistant",timestamp:b,text:v});return yt.current={...yt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:F,...L?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},F}let V=Ft({id:wu("tool_group"),type:"tool_group",timestamp:b,tools:[]});return yt.current={...yt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:V,activeToolGroupTools:[]},V},[Ft,wu]),tr=Y(()=>{er.current&&(clearTimeout(er.current),er.current=null);let u=hu.current;if(!u.pendingText||!u.itemId)return;let g=u.pendingText,x=u.itemId,b=u.kind;u.pendingText="",Yr(x,v=>v.type!==b?v:{...v,text:`${v.text}${g}`})},[Yr]),vx=Y(()=>{er.current||(er.current=setTimeout(tr,SM))},[tr]),Tu=Y((u,g)=>{if(!g)return;let x=yt.current;if(u==="assistant"&&!sB(g,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let b=x.workerTitle,v=ss(u,b),L=hu.current;L.itemId===v&&L.kind===u?L.pendingText+=g:(tr(),L.itemId=v,L.kind=u,L.pendingText=g),vx()},[ss,tr,vx]),Rx=Y(u=>{let g=u.trim();if(!g)return;let x=hu.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",er.current&&(clearTimeout(er.current),er.current=null));let b=yt.current.workerTitle?.trim(),v=b?`[${b}] ${g}`:g,L=yt.current.currentTurnThinkingItemId;if(L){Yr(L,F=>F.type==="thinking"?{...F,text:v}:F);return}let V=ss("thinking",yt.current.workerTitle);Yr(V,F=>F.type==="thinking"?{...F,text:v}:F)},[ss,Yr]),nr=Y(u=>{tr();let g=yt.current;if(g.activeToolGroupItemId&&g.activeToolGroupTools.some(V=>V.id===u.id)){let V=g.activeToolGroupTools.map(Z=>Z.id===u.id?u:Z),F=V.every(Z=>Z.status===j.Success||Z.status===j.Error||Z.status===j.Cancelled);yt.current={...g,...F?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:V}},Yr(g.activeToolGroupItemId,Z=>Z.type==="tool_group"?{...Z,tools:V}:Z);return}let x=an.current;for(let V=x.length-1;V>=0;V-=1){let F=x[V];if(F.type!=="tool_group"||!F.tools.some(ie=>ie.id===u.id))continue;let Z=F.tools.map(ie=>ie.id===u.id?u:ie);Yr(F.id,ie=>ie.type==="tool_group"?{...ie,tools:Z}:ie);return}let b=ss("tool_group",g.workerTitle),L=g.activeKind==="tool_group"&&g.activeToolGroupItemId===b?g.activeToolGroupTools.some(V=>V.id===u.id)?g.activeToolGroupTools.map(V=>V.id===u.id?u:V):[...g.activeToolGroupTools,u]:[u];yt.current={...yt.current,activeKind:"tool_group",activeToolGroupItemId:b,activeToolGroupTools:L},Yr(b,V=>V.type==="tool_group"?{...V,tools:L}:V)},[ss,Yr,tr]),bM=Y(u=>{tr();let g=yt.current,x=g.activeToolGroupTools.some(L=>L.status===j.Executing),b=zr.current.filter(L=>L.status===j.Executing),v=new Set(b.map(L=>L.id));yt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:g.activeToolGroupItemId,activeToolGroupTools:g.activeToolGroupTools}:{activeToolGroupTools:[]}},ot.current={workerId:u?.workerId,workerTitle:u?.workerTitle},xr.current=[],en.current=en.current.filter(L=>v.has(L.id)),Nn(b),He(),oe(void 0),De(),q(),Xe(),wt(void 0)},[tr,He,Xe,q,oe,Nn,wt,De]),vM=Y(u=>{if(u.length===0)return[];let g=[],x=[...ii.current],b=[...ns.current];for(let v of u){let L=v.item,V=x.findIndex(F=>F.id===L.id);if(V>=0){let F=x[V];xp(F,L)||(x=x.map((Z,ie)=>ie===V?{...L,timestamp:F.timestamp}:Z))}else x=[...x,L].slice(-12),g.push(L);if(v.persistToHistory){let F=b.findIndex(Z=>Z.id===L.id);if(F>=0){let Z=b[F];xp(Z,L)||(b=b.map((ie,Ve)=>Ve===F?{...L,timestamp:Z.timestamp}:ie))}else b=[...b,L].slice(-48)}}return ns.current=b,(g.length>0||x.some((v,L)=>!xp(v,ii.current[L]??v)||v.id!==ii.current[L]?.id))&&Tx(x),g},[Tx]),Cu=Y(u=>{if(en.current.findIndex(x=>x.id===u.id)===-1){en.current=[...en.current,u];return}en.current=en.current.map(x=>x.id===u.id?u:x)},[]),go=Y(u=>{let g=zr.current.filter(x=>x.status===j.Executing);if(g.length!==0){if(u){let x=Pg(u);for(let b=g.length-1;b>=0;b-=1){let v=g[b];if(Pg(v.name)===x)return v}}return g[g.length-1]}},[]),as=Y(()=>{let u=go();oe(u?Lg(u.name):void 0)},[go,oe]),kx=Y(u=>(Cu(u),Nn([...zr.current.filter(g=>g.id!==u.id),u]),as(),u),[Nn,as,Cu]),cs=Y((u,g)=>{let x=zr.current.find(v=>v.id===u);if(!x)return null;let b=g(x);return Cu(b),Nn(zr.current.map(v=>v.id===u?b:v)),as(),b},[Nn,as,Cu]),Ex=Y((u,g,x)=>{if(u){let v=cs(u,x);if(v)return v}let b=go(g);return b?cs(b.id,x):null},[go,cs]),Iu=Y((u,g,x,b,v)=>{let L=u??go(v)?.id;return L?cs(L,V=>({...V,status:g,endTime:Date.now(),error:x,output:b})):null},[go,cs]),dc=Y((u,g)=>{let x=Date.now(),b=new Map;for(let v of zr.current){if(v.status!==j.Executing)continue;let L=g(v);b.set(v.id,{...v,status:u,endTime:x,...L})}return b.size===0?[]:(en.current=en.current.map(v=>b.get(v.id)??v),Nn(zr.current.map(v=>b.get(v.id)??v)),as(),[...b.values()])},[Nn,as]),yo=Y(()=>{Nn([])},[Nn]),{showHelp:Mx,toggleHelp:RM,setShowHelp:Ax}=Hg(),kM=Y(u=>{ou(u),ru(u.trim().length===0)},[]),bu=Fo(),_x=de(()=>bu?bu.state.visible&&bu.suggestions.length>0:!1,[bu]),[fc,Lx]=Ue(!1),Px=he(Zl),ai=Y(()=>{Zt.current&&(clearTimeout(Zt.current),Zt.current=null),yr.current&&(clearTimeout(yr.current),yr.current=null)},[]);Be(()=>{_x&&!fc&&Lx(!0)},[_x,fc]),Be(()=>{Zl!==Px.current&&(Px.current=Zl,fc&&Lx(!1))},[Zl,fc]);let[at,vu]=Ue(null),ci=he(null),[Oe,rr]=Ue(null),Ru=he(null),ku=he(Oe);ku.current=Oe;let[cn,ls]=Ue(""),[Eu,or]=Ue(0),um=he(""),pc=he(void 0),$x=de(()=>{if(!sn)return;let{contextWindow:u,triggerPercent:g}=sn;return{currentTokens:dx??n.contextTokenSnapshot?.currentTokens??Es(n.messages),contextWindow:u,triggerPercent:g}},[n.messages,n.contextTokenSnapshot,sn,dx]),mc=de(()=>{if(!at)return;let u=!!at.input._alwaysConfirm,g=_.permissionMode==="accept-edits"&&!u;return u?re("confirm.instruction.protected"):g?re("confirm.instruction.always"):re("confirm.instruction.basic")},[at,_.permissionMode]),mt=Ge.searchMode==="history",ne=Ge.surface==="transcript",Sr=!!at||!!Oe||mt,Et=ne?Pt?qI:1e3:12,xo=lk(a,Ge.surface),Dx=xo.shellMode,dm=xo.usesAlternateScreenShell,li=xo.usesRendererViewportShell,Mu=xo.usesRendererMouseTracking,Ox=xo.usesManagedMouseClicks,Nx=xo.usesManagedMouseWheel,fm=xo.usesManagedSelection,Mt=uk(a,Ge.surface,Cv(Ge)),Bx=Iv(Ge),Au=fc&&!ne,Hx=Y(()=>xy({items:rs,managedLiveEvents:[],isLoading:B,isThinking:D.isThinking,thinkingCharCount:D.thinkingCharCount,thinkingContent:D.thinkingContent,currentResponse:D.currentResponse,currentTool:D.currentTool,activeToolCalls:si,toolInputCharCount:D.toolInputCharCount,toolInputContent:D.toolInputContent,lastLiveActivityLabel:pu,workStripText:oi,iterationHistory:D.iterationHistory,currentIteration:D.currentIteration,isCompacting:D.isCompacting}),[rs,B,D.isThinking,D.thinkingCharCount,D.thinkingContent,D.currentResponse,D.currentTool,si,D.toolInputCharCount,D.toolInputContent,pu,oi,D.iterationHistory,D.currentIteration,D.isCompacting]);Be(()=>{if(ne){hx(u=>u??Hx());return}hx(null)},[Hx,ne]);let hc=de(()=>ik({isTranscriptMode:ne,snapshot:rm,currentItemsLength:rs.length,currentManagedLiveEventsLength:0,isLoading:B,currentResponse:D.currentResponse,thinkingContent:D.thinkingContent,activeToolCallsLength:si.length}),[si.length,B,ne,rs.length,D.currentResponse,D.thinkingContent,rm]),jt=ne?rm:null,pm=de(()=>ak(yu),[yu]),EM=de(()=>!!(ac.length>0||xk(X)),[ac.length,X]),_u=ac.length>0,tn=a.streamingPreview&&EM,us=de(()=>sk({surface:"transcript",snapshot:jt,promptItems:yu,transcriptItems:rs}),[jt,yu,rs]),gc=de(()=>{if(!ne||Pt||us.length<=ng)return us;let u=us.slice(-ng),g=us.length-u.length;return[u0(g,u[0]?.timestamp),...u]},[us,ne,Pt]),ht=jt?.isLoading??B,lt=a.streamingPreview?{isThinking:tn?!1:D.isThinking,thinkingCharCount:tn?0:D.thinkingCharCount,thinkingContent:tn?"":D.thinkingContent,currentResponse:tn?"":D.currentResponse,currentTool:tn?void 0:D.currentTool,activeToolCalls:tn?[]:si,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:tn?pu:void 0,iterationHistory:[],currentIteration:D.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:D.currentIteration,isCompacting:!1},Ce=a.streamingPreview?{isThinking:tn?!1:jt?.isThinking??D.isThinking,thinkingCharCount:tn?0:jt?.thinkingCharCount??D.thinkingCharCount,thinkingContent:tn?"":jt?.thinkingContent??D.thinkingContent,currentResponse:tn?"":jt?.currentResponse??D.currentResponse,currentTool:tn?void 0:jt?.currentTool??D.currentTool,activeToolCalls:tn?[]:jt?.activeToolCalls??si,toolInputCharCount:tn?0:jt?.toolInputCharCount??D.toolInputCharCount,toolInputContent:tn?"":jt?.toolInputContent??D.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:jt?.lastLiveActivityLabel??pu,iterationHistory:tn?[]:jt?.iterationHistory??D.iterationHistory,currentIteration:jt?.currentIteration??D.currentIteration,isCompacting:jt?.isCompacting??D.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:jt?.currentIteration??D.currentIteration,isCompacting:!1},Xr=ne?Vr:uu,Wx=!!uu,Fx=Y(()=>xy({items:pm,managedLiveEvents:[],isLoading:B,isThinking:lt.isThinking,thinkingCharCount:lt.thinkingCharCount,thinkingContent:lt.thinkingContent,currentResponse:lt.currentResponse,currentTool:lt.currentTool,activeToolCalls:lt.activeToolCalls,toolInputCharCount:lt.toolInputCharCount,toolInputContent:lt.toolInputContent,lastLiveActivityLabel:lt.lastLiveActivityLabel,iterationHistory:lt.iterationHistory,currentIteration:lt.currentIteration,isCompacting:lt.isCompacting}),[B,pm,lt.activeToolCalls,lt.currentIteration,lt.currentResponse,lt.currentTool,lt.isCompacting,lt.isThinking,lt.iterationHistory,lt.lastLiveActivityLabel,lt.thinkingCharCount,lt.thinkingContent,lt.toolInputCharCount,lt.toolInputContent]);Be(()=>{if(!Wx){gx(null);return}gx(u=>u??Fx())},[Fx,Wx]);let yc=Qt?.items??pm,ln=Qt?.isLoading??B,Pe=Qt?{isThinking:Qt.isThinking,thinkingCharCount:Qt.thinkingCharCount,thinkingContent:Qt.thinkingContent,currentResponse:Qt.currentResponse,currentTool:Qt.currentTool,activeToolCalls:Qt.activeToolCalls,toolInputCharCount:Qt.toolInputCharCount,toolInputContent:Qt.toolInputContent,managedLiveEvents:Qt.managedLiveEvents,lastLiveActivityLabel:Qt.lastLiveActivityLabel,iterationHistory:Qt.iterationHistory,currentIteration:Qt.currentIteration,isCompacting:Qt.isCompacting}:lt,Ut=ne?gc:yc,wr=ne?ht:ln,Ye=ne?Ce:Pe,jx=ln&&!D.currentResponse&&!D.thinkingContent&&si.length===0,MM=cl(om?.status==="running"),$t=de(()=>rT(om,Date.now()),[om,MM]),Ux=$t.shouldRender?`Workflow ${$t.workflow}${$t.phase?` - ${$t.phase}`:""}`:void 0,Tr=de(()=>Pb(fu,{now:Date.now(),lastAllCompletedAt:null}),[fu]),Gx=R<=20?1:Sg,AM=cl(cm.length>0),mm=de(()=>Z0(cm,Gx,Date.now()),[Gx,cm,AM]),Vx=Y0({isTranscriptMode:ne,isLoading:B,hasWorkflowLiveSurface:$t.shouldRender,childActivityVisible:mm.shouldRender}),ds=de(()=>{if(!ne)return[];let u=[];return u.push(...nT($t)),B&&Tr.shouldRender&&u.push(...Ab(Tr)),u},[ne,B,Tr,$t]),ui=de(()=>({config:Lt,sessionId:n.sessionId,workingDir:e.context?.executionCwd||e.context?.gitRoot||n.runtimeInfo?.executionCwd||n.gitRoot||process.cwd(),terminalWidth:k,compactionInfo:sn??void 0}),[sn,n.sessionId,Lt,n.runtimeInfo?.executionCwd,e.context?.gitRoot,e.context?.executionCwd,k]),So=de(()=>a.enabled&&qn?hB(ui):void 0,[ui,a.enabled,qn]),Kx=he(Oa),zx=he(!1),hm=he(!1),fs=pR({enabled:gB,useRendererViewportShell:li,isTranscriptMode:ne,hasCommitHandle:typeof Di(C)?.commitInlineScrollback=="function"}),xc=de(()=>Df({items:yc,viewportWidth:k,maxLines:Et,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[yc,k,Et]),di=de(()=>{let u=Of({activeItems:xc.activeItems,viewportWidth:k,isLoading:ln,maxLines:Et,isThinking:Pe.isThinking,thinkingCharCount:Pe.thinkingCharCount,thinkingContent:Pe.thinkingContent,streamingResponse:Pe.currentResponse,currentTool:Pe.currentTool,activeToolCalls:Pe.activeToolCalls,toolInputCharCount:Pe.toolInputCharCount,toolInputContent:Pe.toolInputContent,iterationHistory:Pe.iterationHistory,currentIteration:Pe.currentIteration,isCompacting:Pe.isCompacting,managedAgentMode:_.agentMode,managedPhase:ln?X?.phase:void 0,managedHarnessProfile:ln?X?.harnessProfile:void 0,managedWorkerTitle:ln?X?.activeWorkerTitle:void 0,managedRound:ln?X?.currentRound:void 0,managedMaxRounds:ln?X?.maxRounds:void 0,managedGlobalWorkBudget:ln?X?.globalWorkBudget:void 0,managedBudgetUsage:ln?X?.budgetUsage:void 0,managedBudgetApprovalRequired:ln?X?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Pe.lastLiveActivityLabel,currentTodoActiveForm:ts,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:jx}),g=t0(xc,u,So);return gR(g,fs)},[_.agentMode,fs,ln,Pe.activeToolCalls,Pe.currentIteration,Pe.currentTool,Pe.isCompacting,Pe.currentResponse,Pe.isThinking,Pe.iterationHistory,Pe.lastLiveActivityLabel,Pe.thinkingCharCount,Pe.thinkingContent,Pe.toolInputCharCount,Pe.toolInputContent,X?.activeWorkerTitle,X?.budgetApprovalRequired,X?.budgetUsage,X?.currentRound,X?.globalWorkBudget,X?.harnessProfile,X?.maxRounds,X?.phase,jx,xc,So,k,Et,ts]),gm=de(()=>Df({items:gc,viewportWidth:k,maxLines:Et,showDetailedTools:Pt,showAllContent:Pt,showFullThinking:!0,windowed:!1}),[gc,k,Et,Pt]),Lu=de(()=>{if(!ne||li)return;let u=Of({activeItems:gm.activeItems,viewportWidth:k,isLoading:ht,maxLines:Et,isThinking:Ce.isThinking,thinkingCharCount:Ce.thinkingCharCount,thinkingContent:Ce.thinkingContent,streamingResponse:Ce.currentResponse,currentTool:Ce.currentTool,activeToolCalls:Ce.activeToolCalls,toolInputCharCount:Ce.toolInputCharCount,toolInputContent:Ce.toolInputContent,iterationHistory:Ce.iterationHistory,currentIteration:Ce.currentIteration,isCompacting:Ce.isCompacting,managedAgentMode:_.agentMode,managedPhase:ht?X?.phase:void 0,managedHarnessProfile:ht?X?.harnessProfile:void 0,managedWorkerTitle:ht?X?.activeWorkerTitle:void 0,managedRound:ht?X?.currentRound:void 0,managedMaxRounds:ht?X?.maxRounds:void 0,managedGlobalWorkBudget:ht?X?.globalWorkBudget:void 0,managedBudgetUsage:ht?X?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?X?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ce.lastLiveActivityLabel,liveStatusLines:ds,currentTodoActiveForm:ts,showFullThinking:!0,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:!_u,expandedItemKeys:Rn});return Tk(tg(Nf(gm,u)),So)},[_.agentMode,Rn,_u,So,ne,X?.activeWorkerTitle,X?.budgetApprovalRequired,X?.budgetUsage,X?.currentRound,X?.globalWorkBudget,X?.harnessProfile,X?.maxRounds,X?.phase,k,ht,Et,gm,Ce.activeToolCalls,Ce.currentIteration,Ce.currentResponse,Ce.currentTool,Ce.isCompacting,Ce.isThinking,Ce.iterationHistory,Ce.lastLiveActivityLabel,Ce.thinkingCharCount,Ce.thinkingContent,Ce.toolInputCharCount,Ce.toolInputContent,Pt,ds,li,ts]),Sc=de(()=>{if(Mt)return ne?Tk(Bf({items:Ut,viewportWidth:k,isLoading:wr,maxLines:Et,isThinking:Ye.isThinking,thinkingCharCount:Ye.thinkingCharCount,thinkingContent:Ye.thinkingContent,streamingResponse:Ye.currentResponse,currentTool:Ye.currentTool,activeToolCalls:Ye.activeToolCalls,toolInputCharCount:Ye.toolInputCharCount,toolInputContent:Ye.toolInputContent,iterationHistory:Ye.iterationHistory,currentIteration:Ye.currentIteration,isCompacting:Ye.isCompacting,managedAgentMode:_.agentMode,managedPhase:wr?X?.phase:void 0,managedHarnessProfile:wr?X?.harnessProfile:void 0,managedWorkerTitle:wr?X?.activeWorkerTitle:void 0,managedRound:wr?X?.currentRound:void 0,managedMaxRounds:wr?X?.maxRounds:void 0,managedGlobalWorkBudget:wr?X?.globalWorkBudget:void 0,managedBudgetUsage:wr?X?.budgetUsage:void 0,managedBudgetApprovalRequired:wr?X?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ye.lastLiveActivityLabel,liveStatusLines:ds,currentTodoActiveForm:ts,windowed:!0,showFullThinking:ne,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:ne&&!_u,expandedItemKeys:ne?Rn:void 0}),So):tg(di)},[_.agentMode,wr,Ut,_u,So,Ye.activeToolCalls,Ye.currentIteration,Ye.currentResponse,Ye.currentTool,Ye.isCompacting,Ye.isThinking,Ye.iterationHistory,Ye.lastLiveActivityLabel,Ye.thinkingCharCount,Ye.thinkingContent,Ye.toolInputCharCount,Ye.toolInputContent,Rn,ne,X?.activeWorkerTitle,X?.budgetApprovalRequired,X?.budgetUsage,X?.currentRound,X?.globalWorkBudget,X?.harnessProfile,X?.maxRounds,X?.phase,di,B,ne,k,Et,Mt,ds,Pt,ts]),Cr=de(()=>Sc??Lu,[Sc,Lu]),wc=de(()=>yy({status:X,isLoading:B,agentMode:_.agentMode}),[_.agentMode,B,X]).workStripText,Tc=jt?.workStripText??oi,ps=de(()=>yy({status:X,isLoading:B,agentMode:_.agentMode,parallelTextOverride:Tc}),[_.agentMode,Tc,B,X]),fi=de(()=>CR(Ut).filter(u=>u!==Hf),[Ut]),it=de(()=>vp(Ge,fi,Ge.selectedItemId),[fi,Ge]),En=de(()=>Ut.find(u=>u.id===it),[Ut,it]),Yx=de(()=>({...Ge,supportsSelection:Ge.supportsSelection&&Mt,supportsCopyOnSelect:Ge.supportsCopyOnSelect&&Mt}),[Ge,Mt]),Hn=de(()=>KR({state:Yx,selectableItemIds:fi,selectedItemId:it,selectedItemType:En?.type,isExpanded:it?Rn.has(it):!1}),[Rn,fi,En?.type,it,Yx]),Xx=Hn.selectionEnabled,qx=Hn.copyCapabilities.copyOnSelect,TW=Hn.selectedItemIndex,Jx=de(()=>TR(En),[En]),Pu=de(()=>yR(Ut.filter(u=>!og(u))),[Ut]),Dt=de(()=>xR(Pu,cn),[Pu,cn]),$u=de(()=>XR({isHistorySearchActive:mt,historySearchQuery:cn,matches:Dt,selectedIndex:Eu,anchorItemId:Ge.searchAnchorItemId,useOverlaySurface:Ge.supportsOverlaySurface&&Ge.supportsSearchViewport&&Mt}),[Dt,cn,Eu,mt,Ge.searchAnchorItemId,Ge.supportsOverlaySurface,Ge.supportsSearchViewport,Mt]),wo=$u.clampedSelectedIndex,Qx=$u.statusText,ym=$u.detailText,Zx=$u.searchState,CW=Hn.detailState==="expanded",Du=Hn.selectionEnabled&&fi.length>0&&!Xr,ms=Hn.copyCapabilities.message,Ou=Hn.copyCapabilities.toolInput,Nu=Hn.toggleDetail;Be(()=>{if(wc){if(yr.current&&(clearTimeout(yr.current),yr.current=null),oi===wc)return;if(oi){Zt.current&&(clearTimeout(Zt.current),Zt.current=null),cc(wc);return}Zt.current&&clearTimeout(Zt.current),Zt.current=setTimeout(()=>{cc(wc),Zt.current=null},400);return}if(!oi){Zt.current&&(clearTimeout(Zt.current),Zt.current=null);return}Zt.current&&(clearTimeout(Zt.current),Zt.current=null),yr.current&&clearTimeout(yr.current),yr.current=setTimeout(()=>{cc(void 0),yr.current=null},300)},[ai,wc,oi]),Be(()=>()=>{ai()},[ai]);let To=de(()=>RR({state:Ge,ownsViewport:Mt,isAwaitingUserInteraction:Sr,isHistorySearchActive:mt,isTranscriptMode:ne,historySearchQuery:cn}),[cn,Sr,mt,ne,Ge,Mt]);Be(()=>{gr(u=>{let g=gv(u,Qn);return g=hv(g,hc),g=xv(g,a.enabled&&Mt?!Zp||mt||Sr:ne||mt||Sr),g=Tv(g,wo),g})},[wo,a.enabled,Qn,Sr,mt,ne,hc,Mt,Zp]),Be(()=>{Eu!==wo&&or(wo)},[wo,Eu]),Be(()=>{if(!mt){um.current=cn;return}if(cn===um.current)return;um.current=cn;let u=wR(Pu,Dt,Ge.searchAnchorItemId);or(u)},[Dt,cn,mt,Ge.searchAnchorItemId,Pu]);let eS=ne?Ce:{isThinking:Pe.isThinking,thinkingCharCount:Pe.thinkingCharCount,currentTool:Pe.currentTool,activeToolCalls:Pe.activeToolCalls,toolInputCharCount:Pe.toolInputCharCount,toolInputContent:Pe.toolInputContent,currentIteration:Pe.currentIteration,isCompacting:Pe.isCompacting},Cc=ne?ht:ln,[xm,Sm]=Ue(()=>gn(_.permissionMode)?d.getGuardrail().getEngine():void 0),Bu=de(()=>VR({sessionId:n.sessionId,permissionMode:_.permissionMode,agentMode:_.agentMode,provider:_.provider,model:_.model??Ln(_.provider)??_.provider,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:ke,reasoningEffortLabel:kr({provider:_.provider,model:_.model,effort:ke,effortOverride:_.effortOverride,thinking:_.thinking,reasoningMode:_.reasoningMode}),isTranscriptMode:ne,streamingState:eS,maxIter:D.maxIter,contextUsage:$x,isLoading:Cc,managedState:{phase:X?.phase,harnessProfile:X?.harnessProfile,workerTitle:X?.activeWorkerTitle,round:X?.currentRound,maxRounds:X?.maxRounds,globalWorkBudget:X?.globalWorkBudget,budgetUsage:X?.budgetUsage,budgetApprovalRequired:X?.budgetApprovalRequired,idleWaiting:X?.idleWaiting,idleWaitingPendingCount:X?.idleWaitingPendingCount},autoModeEngine:xm}),[n.sessionId,_.permissionMode,_.agentMode,_.provider,_.model,_.thinking,_.reasoningMode,_.effortOverride,ke,ne,eS,D.maxIter,$x,Cc,X?.phase,X?.harnessProfile,X?.activeWorkerTitle,X?.currentRound,X?.maxRounds,X?.globalWorkBudget,X?.budgetUsage,X?.budgetApprovalRequired,X?.idleWaiting,X?.idleWaitingPendingCount,xm]),wm=at?"confirm":Oe?.kind,tS=de(()=>UR({isTranscriptMode:ne,isLoading:Cc,streamingState:Pe,managedState:Cc?{phase:X?.phase,harnessProfile:X?.harnessProfile,workerTitle:X?.activeWorkerTitle}:void 0,waitingReason:wm,workflowBuilderMessage:yx??void 0,backgroundWorkflowMessage:Ux}),[Pe.activeToolCalls,Pe.currentTool,Pe.isCompacting,Pe.isThinking,Pe.thinkingCharCount,Pe.toolInputCharCount,Pe.toolInputContent,ne,X?.activeWorkerTitle,X?.harnessProfile,X?.phase,wm,Cc,yx,Ux]),qr=FR({activity:tS})?tS:void 0,nS=qr?.text,rS=!!qr,oS=he(!1);Be(()=>{oS.current&&!B&&Kr(u=>u.length>0?[]:u),oS.current=B},[B]);let Tm=de(()=>Gf(Bu),[Bu]),iS=de(()=>Tm,[Tm]),sS=iS.text,_M=de(()=>W0(D.pendingInputs),[D.pendingInputs]),Cm=de(()=>$b({isHistorySearchActive:mt,isTranscriptMode:ne,pendingInputCount:D.pendingInputs.length,buffering:Ge.buffering,pendingLiveUpdates:hc}),[mt,ne,hc,D.pendingInputs.length,Ge.buffering]),aS=Cm.leftItems,cS=Cm.rightItems,lS=Cm.summary,Hu=de(()=>JR({historySearchQuery:cn,pendingInputCount:D.pendingInputs.length}),[cn,D.pendingInputs.length]),Wu=de(()=>qR({historySearchQuery:cn,isHistorySearchActive:mt,historySearchMatchCount:Dt.length,pendingInputCount:D.pendingInputs.length,maxPendingInputs:5}),[Dt.length,cn,mt,D.pendingInputs.length]),uS=de(()=>Wu.map(u=>u.text).join(" | "),[Wu]),Fu=de(()=>QR({inputText:Jp,isTranscriptMode:ne,isHistorySearchActive:mt}),[Jp,mt,ne]),dS=Ge.supportsOverlaySurface&&Ge.supportsSearchViewport&&Mt,ju=de(()=>zR({runtime:Hn,itemSummary:Jx}),[Jx,Hn]),Im=de(()=>ZR(Hu),[Hu]),fS=de(()=>ek({textSelection:Xr,selectionState:ju,isHistorySearchActive:mt,historySearchDetailText:ym,historySearchHasMatches:!!Qx&&Dt.length>0,showAllActive:Pt,baseFooterNotices:Hu}),[Xr,Hu,ym,Dt.length,Qx,mt,Pt,ju]),LM=fS.secondaryText,PM=fS.budgetNotices,pS=ne?PM:Im,mS=R,hS=ne?"":Jp,gS=ne?void 0:_M,yS=Tc,xS=ne?!1:Mx,SS=$t.shouldRender?Eb($t):0,wS=B&&Tr.shouldRender?Tr.rows.length:0,TS=Vx?lp(mm):0,Gt=de(()=>dv({terminalRows:mS,terminalWidth:k,windowedTranscript:li,inputText:hS,footerHeaderText:lS,activitySummary:ne?void 0:nS,activityBarVisible:ne?!1:rS,workflowSurfaceRows:ne?0:SS,childActivitySurfaceRows:ne?0:TS,todoSurfaceRows:ne?0:wS,pendingInputSummary:gS,stashNoticeSummary:Fu,notificationSummary:uS,statusNoticeSummary:pS.join(" | "),workStripText:yS,suggestionsReserved:Au,suggestionsMode:"inline",showHelp:xS,statusBarText:sS,confirmPrompt:at?.prompt,confirmInstruction:mc,dialogMode:"inline",reviewHint:a.enabled&&Mt?void 0:To.browseHintText,uiRequest:Oe?Oe.kind==="select"?{kind:"select",title:Oe.title,options:Oe.options.map(u=>({label:u.label,description:u.description})),buffer:Oe.buffer,error:Oe.error}:{kind:"input",prompt:Oe.prompt,defaultValue:Oe.defaultValue,buffer:Oe.buffer,error:Oe.error}:null}),[mS,k,hS,lS,nS,rS,ne,SS,TS,wS,gS,Fu,uS,pS,yS,Au,dS,xS,sS,at,mc,a.enabled,To.browseHintText,Mt,Oe]),bm=de(()=>{if(!fs)return{model:di,committedSections:[]};let{committedSections:u,liveRows:g}=n0(xc.staticSections,di.rows,di.previewRows,Gt.messageRows);return{model:{...di,staticSections:[],rows:g,previewRows:[]},committedSections:u}},[fs,di,xc.staticSections,Gt.messageRows]),CS=bm.model;Be(()=>{let u=Di(C),g=typeof u?.commitInlineScrollback=="function",x=mR({active:fs,hasCommitHandle:g,wasActive:zx.current,forceRebuild:hm.current,prior:Kx.current,finalizedSections:bm.committedSections,bannerSection:So,width:k,identify:r0}),b=!1,v=!1;if(x.kind==="commit"){let V=x.sections.flatMap(Z=>Z.rows),F=fR(V.length>0?[{key:"il-delta",rows:V}]:[],{width:k,theme:te("dark")});if(v=F.length>0,x.mode==="append"&&!F)Ck("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:F}),b=!0}catch(Z){Ck("commit-threw",Z)}}let L=hR(x,{committed:b,hadContent:v},hm.current);Kx.current=L.state,zx.current=L.wasActive,hm.current=L.owns},[fs,bm.committedSections,So,k,C]);let $M=de(()=>ae(op,{reserveSpace:Au,width:k,hidden:ne,mode:"inline"}),[Au,k,ne,dS]),Ic=de(()=>kR(Gt.messageRows),[Gt.messageRows]),IS=de(()=>ER(Ic),[Ic]),hs=!Bx&&a.transcriptSpinnerAnimation,bc=Cr?Cr.rows.length+Cr.previewRows.length:uM,Uu=Y(u=>{Cr||dM(u.scrollHeight)},[Cr]),vc=Y(u=>$R({window:u,stickyHeader:To.stickyHeader,width:k,topChromeRows:0}),[k,To.stickyHeader]),gs=Y((u=tc.current,g=lu.current,x=em.current?vc(em.current):cu.current)=>{if(!x||u.length===0){Qi.current=null;return}cu.current=x,Qi.current=DR(u,{allRows:g,rowIndexByKey:dy(g),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:hs})},[vc,hs]),Rc=Y(()=>{let u=cu.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Gt.messageRows},[Gt.messageRows]),DM=Y(u=>{em.current=u;let g=vc(u);cu.current=g,gs(tc.current,lu.current,g)},[gs,vc]),Gu=Y(u=>{tc.current=u.rows,lu.current=u.allRows,gs(u.rows,u.allRows)},[gs]),nn=Y(()=>{Zn.current=null,tm(void 0),nm(void 0)},[]),vm=Y(()=>{nn(),gr(u=>Da(u,void 0))},[nn]);Be(()=>{gs()},[gs]),Be(()=>{pM(u=>MR(u,bc,Gt.messageRows))},[bc,Gt.messageRows]),Be(()=>{if(!Zi)return;let u=setTimeout(()=>{mx(void 0)},2e3);return()=>{clearTimeout(u)}},[Zi]);let ir=Y((u,g="success")=>{let x=u?.trim();x&&mx({text:x,tone:g})},[]),OM=Y(u=>{ir(u,"warning")},[ir]),ys=Y((u,g)=>{let x=g instanceof Error?g.message:String(g);return`${u}: ${x}`},[]),Vu=Y(async u=>{let g=u??Xr;if(!g)return!1;let x=g.text.trimEnd();if(!x)return!1;try{return await $c(x,{terminalWrite:P}),ir(`Copied ${g.rowCount} selected line${g.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(b){return ir(ys("Failed to copy transcript selection",b),"warning"),!1}},[Xr,ys,ir,P]),xs=Y(u=>{if(!u||_R({items:Ut,renderModel:Cr,terminalWidth:k,transcriptMaxLines:Et,viewportRows:Rc(),itemId:u,visibleRows:tc.current,expandedItemKeys:Rn,showDetailedTools:!1}))return;let g=LR({items:Ut,renderModel:Cr,terminalWidth:k,transcriptMaxLines:Et,viewportRows:Rc(),itemId:u,expandedItemKeys:Rn,showDetailedTools:!1});iu(g)},[Ut,k,Et,Cr,Rn,Rc,iu,tc]),bS=Y(u=>{gr(g=>Da(g,u)),u&&xs(u)},[xs]),Rm=Y(u=>{u&&xs(u)},[xs]),vS=Y(u=>{if(!Du)return;let g=IR(fi,it,u);g&&bS(g)},[Du,fi,it,bS]),RS=Y(()=>{!Nu||!it||(gM(u=>{let g=new Set(u);return g.has(it)?g.delete(it):g.add(it),g}),xs(it))},[xs,Nu,it]),kS=Y(async()=>{if(!ms||!En)return;let u=uy(En);if(u)try{await $c(u,{terminalWrite:P}),ir("Copied selected transcript entry to clipboard.","success")}catch(g){ir(ys("Failed to copy transcript entry",g),"warning")}},[ys,ms,En,ir,P]),ES=Y(async()=>{if(!Ou||!En)return;let u=bR(En);if(u)try{await $c(u,{terminalWrite:P}),ir("Copied selected tool args to clipboard.","success")}catch(g){ir(ys("Failed to copy tool args",g),"warning")}},[ys,Ou,En,ir,P]),kc=Y(()=>lu.current,[]),MS=Y((u,g)=>{if(!a.enabled||!Mt)return;let x=Qi.current;return x?py(x,u,g):void 0},[a.enabled,Mt]),Ss=Y((u,g,x)=>{let b=kc(),v=BR(b,u,g,{animateSpinners:hs,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});ne?nm(v):tm(v);let L=b[Math.max(0,Math.min(g.modelRowIndex,b.length-1))];return x?.updateSelectedItem&&L?.itemId&&gr(V=>Da(V,L.itemId)),v},[ne,kc,hs]),AS=Y((u,g)=>{if(!u)return;Zn.current=null;let x={...u,focus:g?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){nn();return}let v=Ss(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!v){nn();return}return g?.copySelection!==!1&&Vu(v),v},[nn,Vu,Ss]),km=Y(()=>{if(!ne||!Ut.length||at||Oe)return;nn();let u=PR({items:Ut,selectedItemId:it,renderModel:Cr,terminalWidth:k,transcriptMaxLines:Et,viewportRows:Rc(),scrollOffset:Qn,expandedItemKeys:Rn,showDetailedTools:!1,preferViewportAnchor:!0});gr(g=>Sv(g,{anchorItemId:u,initialMatchIndex:0})),ls(""),or(0)},[at,Ut,Rn,Qn,ne,it,Cr,k,Et,Oe,Rc,nn]),Em=Y(()=>{gr(u=>wv(u)),ls(""),or(0),nn()},[nn]),Ku=Y(()=>{!mt||Dt.length===0||or(-1)},[Dt.length,mt]),_S=de(()=>{if(!at)return null;if(at.tool==="exit_plan_mode"){let u=typeof at.input.plan=="string"?at.input.plan:void 0;return{prompt:at.prompt.split(`
|
|
139
|
+
`,1)[0]??at.prompt,instruction:mc,planContent:u}}return{prompt:at.prompt,instruction:mc}},[mc,at]),LS=de(()=>Oe?Oe.kind==="select"?{kind:"select",title:Oe.title,options:Oe.options,buffer:Oe.buffer,error:Oe.error,visibleSelectOptions:Gt.visibleSelectOptions,focusedIndex:Oe.focusedIndex,selectedIndices:Oe.selectedIndices,multiSelect:Oe.multiSelect}:{kind:"input",prompt:Oe.prompt,defaultValue:Oe.defaultValue,buffer:Oe.buffer,error:Oe.error}:null,[Oe,Gt.visibleSelectOptions]),NM=de(()=>ae(ip,{confirm:_S,request:LS}),[_S,LS]),Mm=de(()=>{if(Zi)return ae(vb,{text:Zi.text,tone:Zi.tone})},[Zi]),Am=de(()=>{if(Mm)return ae(E,{flexDirection:"column",width:"100%",children:Mm})},[Mm]),zu=Y(()=>{gr(u=>yv(mv(u))),Qp(!1),au(),ls(""),or(0),nn()},[nn,au]),PS=Y(()=>{ne&&Qp(u=>!u)},[ne]),BM=Y(()=>{if(ne){zu();return}Qp(!1),gr(u=>pv(u)),ls(""),or(0),nn()},[nn,zu,ne]);Be(()=>{Xx||!Ge.selectedItemId||gr(u=>Da(u,void 0))},[Xx,Ge.selectedItemId]),Be(()=>{if(!ne||!ms||!qx){pc.current=void 0;return}if(Vr||!it||!En)return;if(!pc.current){pc.current=it;return}if(pc.current===it)return;pc.current=it;let u=uy(En);u&&$c(u,{terminalWrite:P}).catch(()=>{})},[ne,En,it,ms,qx,Vr,P]),Be(()=>{if(C?.isTTY!==!0)return;let u=Di(C);u?.setShellMode?.(Dx,Mu),dm||u?.setAltScreenActive?.(!1)},[Dx,C,dm,Mu]);let Ae=he({...e,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:rt,agentMode:_.agentMode,workflowRunsBaseDir:vr("workflow-runs",wi(process.cwd()).key),context:{...e.context,gitRoot:n.gitRoot??void 0,executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),repoIntelligenceMode:_.repoIntelligenceMode,repoIntelligenceTrace:_.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:Ty(_.permissionMode,d)});Be(()=>{Ae.current.effort=rt},[rt]);let Ec=Y(u=>{let g=u.workspaceRoot??void 0;n.runtimeInfo=u,n.gitRoot=g,Ae.current.context={...Ae.current.context,gitRoot:g,executionCwd:u.executionCwd??g??process.cwd()}},[n]),Mn=he(_.permissionMode);Be(()=>{Mn.current=_.permissionMode},[_.permissionMode]);let HM=de(()=>Ks(),[]),$S=he(HM),xt=he(_);Be(()=>{xt.current=_},[_]);let _m=he(null);_m.current===null&&(_m.current=dd({getProvider:o(()=>hi(xt.current.provider),"getProvider"),getModel:o(()=>xt.current.model??"","getModel")}));let DS=he(hd());Be(()=>{_.permissionMode==="auto-in-project"&&DS.current()},[]);let Lm=Y(u=>{Te(x=>({...x,permissionMode:u})),Mn.current=u;let g=xi({provider:xt.current.provider,model:xt.current.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:u,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode});Ae.current={...Ae.current,effort:g.runtimeEffort,guardrails:Ty(u,d)},Sm(gn(u)?d.getGuardrail().getEngine():void 0),u==="auto-in-project"&&DS.current()},[d]),OS=he(D.pendingInputs),ct=he(!1),NS=he(0),Pm=he(null),Mc=he(0),Yu=Y(()=>{if(Qa.current)return;let u=mu.current?.trim(),g=y.current.length>0?y.current[y.current.length-1]:void 0,x=g&&"text"in g&&typeof g.text=="string"?g.text.trim():void 0,v=an.current.length>0?[...an.current.map(L=>Qo(L)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...an.current.map(L=>Qo(L)),...aB(me(),G(),{toolCalls:en.current,toolNames:xr.current,infoItems:u&&u!==x?[u]:[]})];v.length!==0&&(Qa.current=!0,Su(an.current),Ji.current?.(v))},[G,me,Su]);Be(()=>{OS.current=D.pendingInputs},[D.pendingInputs]);let BS=Y(()=>{ct.current=!0,fe(),z(),De(),q(),He(),Xe(),oe(void 0),yo(),wt(void 0),uc(),ii.current=[],ns.current=[],ft.current=null,mu.current=null,sc([]),du(null),es(null),ai(),cc(void 0),Q(!1),C?.isTTY===!0&&Di(C)?.clear?.()},[fe,Xe,q,He,ai,yo,uc,oe,sc,Q,wt,z,De,C]),Xu=Y(u=>{let g=fw(),x=g.list().filter(v=>v.status==="running"||v.status==="paused");if(x.length===0)return!1;for(let v of x)g.stop(v.runId,u);oc(v=>!v||v.status!=="running"||!x.some(L=>L.runId===v.runId)?v:{...v,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let b=x[0];return x.length===1&&b?kn({type:"info",text:`Stopped workflow ${b.workflow} (${b.runId}).`},"workflow-stop"):kn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[kn,oc]);Be(()=>{if(!$t.shouldRender)return;let u=o(()=>{Xu("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[Xu,$t.shouldRender]),$n(un.Critical,u=>{let g=u.name==="escape",x=Date.now(),b=g&&!ne&&!Sr&&ec&&D.pendingInputs.length===0&&(B||$t.shouldRender),v=b&&(u.meta===!0||x-NS.current<ZN);if(NS.current=b?x:0,$v({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ne,isAwaitingUserInteraction:Sr,isInputEmpty:ec,isDoubleEscape:v,pendingInputCount:D.pendingInputs.length,hasTranscriptTextSelection:!!Vr,hasActiveWorkflow:$t.shouldRender}))return Xu(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!B)return!1;switch(Dv({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:ne,isAwaitingUserInteraction:Sr,isInputEmpty:ec,isDoubleEscape:v,pendingInputCount:D.pendingInputs.length,hasTranscriptTextSelection:!!Vr}).kind){case"interrupt":return Yu(),BS(),!0;case"pop-pending-input":return vn(),!0;default:break}return!1},[B,ne,Sr,ec,D.pendingInputs.length,vn,Yu,BS,Xu,Vr,$t.shouldRender]),$n(un.Critical,u=>{let g=_v({itemsLength:Ut.length,currentResponse:Ye.currentResponse,thinkingContent:Ye.thinkingContent,activeToolCallsLength:Ye.activeToolCalls.length}),x=Lv({keyName:u.name,hasTranscript:g,historyScrollOffset:Qn,reviewPageSize:Ic,reviewWheelStep:IS,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:Ox,supportsMouseTracking:Ge.supportsMouseTracking,usesRendererMouseTracking:Mu,usesManagedMouseWheel:Nx,supportsWheelHistory:Ge.supportsWheelHistory});if(x.kind==="mouse-phase"){let v=u.mouse;if(!v)return!1;x.phase==="press"&&Zn.current&&AS(Zn.current);let L=MS(v.row,v.column);if(x.phase==="press"){if(!L||!g)return Xr||it?(vm(),!0):(nn(),!1);let V=fk({previous:px.current,time:Date.now(),row:v.row,column:v.column});px.current=V;let F=V.count>=3?"line":V.count===2?"word":"char";if(Ku(),gr(Z=>Da(Z,void 0)),ne?nm(void 0):tm(void 0),F!=="char"){let Z=Dp(kc(),L.point,F);if(Z)return Zn.current={anchor:Z.start,focus:Z.end,didDrag:!1,mode:F,anchorSpan:Z},Ss(Z.start,Z.end,{updateSelectedItem:!1}),!0}return Zn.current={anchor:L.point,focus:L.point,didDrag:!1,mode:"char"},!0}if(!Zn.current)return!1;if(x.phase==="drag"){let V=Qi.current,F=V?WR(V,v.row):0;F!==0&&su(F);let Z=L??(V?my(V,v.row,v.column):void 0);if(!Z)return!1;let ie=Zn.current;if(ie.mode!=="char"&&ie.anchorSpan){let Ve=Dp(kc(),Z.point,ie.mode);if(!Ve)return!1;let je=wy(ie.anchorSpan,Ve);return Zn.current={...ie,anchor:je.anchor,focus:je.focus,didDrag:!0},Ss(je.anchor,je.focus,{updateSelectedItem:!1}),!0}return Zn.current={...ie,focus:Z.point,didDrag:!0},Ss(ie.anchor,Z.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let V=Zn.current,F=V.focus,ie=(L??(Qi.current?my(Qi.current,v.row,v.column):void 0))?.point??F;if(V.mode!=="char"&&V.anchorSpan){let Ve=Dp(kc(),ie,V.mode);if(Ve){let je=wy(V.anchorSpan,Ve);V.anchor=je.anchor,ie=je.focus}}return AS(V,{focusPoint:ie}),!0}}if(x.kind==="scroll-by")return Ku(),su(x.delta),!0;if(x.kind==="consume")return!0;let b=Ov({key:u,isTranscriptMode:ne,isHistorySearchActive:mt,historySearchMatchCount:Dt.length,hasTextSelection:!!Xr,hasFocusedItem:!!it,canCopySelectedItem:ms,canCopySelectedToolInput:Ou,canToggleSelectedDetail:Nu,canCycleTranscriptSelection:Du});return Nv({action:b,hasTranscript:g,isTranscriptMode:ne,pageScrollDelta:Ic,disarmHistorySearchSelection:Ku,scrollTranscriptBy:su,closeHistorySearchSurface:Em,backspaceHistorySearchQuery:o(()=>{ls(v=>v.slice(0,-1)),or(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(v=>{or(L=>ly(Dt.length,L,v))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let v=Dt[wo];v&&(Rm(v.itemId),Em())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(v=>{ls(L=>L+v),or(0)},"appendHistorySearchQuery"),openHistorySearchSurface:km,clearTranscriptSelectionFocus:vm,exitTranscriptModeSurface:zu,toggleTranscriptShowAll:PS,scrollTranscriptHome:o(()=>{iu(Math.max(0,bc-Gt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{au(),nn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:vS,copySelectedTranscriptText:o(()=>{Vu()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{kS()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{ES()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:RS,navigateSearchMatch:o(v=>{or(L=>{let V=ly(Dt.length,L,v),F=Dt[V];return F&&Rm(F.itemId),V})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{Bv({items:Ut.filter(v=>!og(v)),exitAltScreen:o(()=>{P(pf({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(v=>{P(v)},"writeToScrollback"),enterAltScreen:o(()=>{P(ff({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[ne,Ut,Ye.currentResponse,Ye.thinkingContent,Ye.activeToolCalls,Qn,bc,Ic,IS,it,vm,zu,PS,Ge,su,iu,au,Du,wo,nn,Vu,Dt,km,Em,Ku,vS,ms,kS,Ou,ES,Nu,RS,Rm,Xr,MS,Ge.supportsMouseTracking,Vr,Ox,Nx,fm,li,Mu,Ss,Gt.messageRows]),$n(u=>{if(!at)return!1;let g=u.sequence.trim().toLowerCase(),x=!!at.input._alwaysConfirm,b=_.permissionMode==="accept-edits"&&!x,v=o(L=>{let V=`${re("dialog.confirm")} ${at.prompt}
|
|
140
|
+
\u2192 ${re(`confirm.result.${L}`)}`;!!ot.current.workerId?Ft({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:V,timestamp:Date.now()}):W({type:"info",text:V})},"recordConfirmResult");return g==="y"||g==="yes"?(v("approved"),vu(null),ci.current?.({confirmed:!0}),ci.current=null,!0):b&&(g==="a"||g==="always")?(v("approved_always"),vu(null),ci.current?.({confirmed:!0,always:!0}),ci.current=null,!0):g==="n"||g==="no"||u.name==="escape"?(v("denied"),vu(null),ci.current?.({confirmed:!1}),ci.current=null,!0):u.insertable||u.name==="return"},{isActive:!!at,priority:un.Critical});let qu=Y(u=>{rr(null),Ru.current?.(u),Ru.current=null},[]),ws=Y((u,g,x,b)=>g.length===0?Promise.resolve(void 0):new Promise(v=>{Ru.current=v,rr({kind:"select",title:u,options:g,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:b?.minSelections,maxSelections:b?.maxSelections})}),[]),WM=Y((u,g)=>ws(u,g.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[ws]),HS=Y(async u=>{let g=u.options?$p(u.options):[],x=await ws(gy(u),g,!1);return x===void 0?Os:Array.isArray(x)?x[0]??Os:x},[ws]);Be(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-GLEHQ2KB.js");u||g(HS)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:g}=await import("./construction-bootstrap-GLEHQ2KB.js");g(null)})()}},[HS]);let Ts=Y((u,g)=>new Promise(x=>{Ru.current=b=>x(Array.isArray(b)?b[0]:b),rr({kind:"input",prompt:u,defaultValue:g,buffer:""})}),[]);$n(u=>{let g=ku.current;if(!g)return!1;if(u.name==="escape")return qu(void 0),!0;if(g.kind==="select"){let x=g.options.length;if(u.name==="up"||u.sequence==="k")return rr(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex-1+x)%x,error:void 0}:b),!0;if(u.name==="down"||u.sequence==="j")return rr(b=>b&&b.kind==="select"?{...b,focusedIndex:(b.focusedIndex+1)%x,error:void 0}:b),!0;if(u.sequence===" "&&g.multiSelect)return rr(b=>{if(!b||b.kind!=="select")return b;let v=b.focusedIndex,L=b.selectedIndices.includes(v)?b.selectedIndices.filter(V=>V!==v):[...b.selectedIndices,v];return{...b,selectedIndices:L,error:void 0}}),!0;if(u.name==="return"){let b=ku.current;if(!b||b.kind!=="select")return!1;if(b.multiSelect){let v=b.selectedIndices.length,{minSelections:L,maxSelections:V}=b,F=v===0&&L!==0?re("select.multiselect_empty"):L!==void 0&&v<L?re("select.multiselect_min",{min:String(L)}):V!==void 0&&v>V?re("select.multiselect_max",{max:String(V)}):void 0;if(F!==void 0)return rr(ie=>ie&&ie.kind==="select"?{...ie,error:F}:ie),!0;let Z=b.selectedIndices.slice().sort((ie,Ve)=>ie-Ve).map(ie=>b.options[ie]?.value).filter(ie=>typeof ie=="string"&&ie.length>0);qu(Z)}else qu(b.options[b.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let b=Number.parseInt(u.sequence,10)-1;if(b>=0&&b<x)return g.multiSelect?rr(v=>{if(!v||v.kind!=="select")return v;let L=v.selectedIndices.includes(b)?v.selectedIndices.filter(V=>V!==b):[...v.selectedIndices,b];return{...v,focusedIndex:b,selectedIndices:L,error:void 0}}):rr(v=>v&&v.kind==="select"?{...v,focusedIndex:b,error:void 0}:v),!0}return!1}if(u.name==="return"){let x=ku.current;if(!x||x.kind!=="input")return!1;let b=x.buffer.trim();return qu(b===""?x.defaultValue??void 0:b),!0}return u.name==="backspace"||u.name==="delete"?(rr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer.slice(0,-1),error:void 0}:x),!0):(u.insertable||u.isPasted===!0)&&!u.ctrl&&!u.meta?(rr(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!Oe,priority:un.Critical}),Be(()=>{if(n.messages.length>0&&$.length===0){if(n.uiHistory?.length){let u=Nr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),J(_l({messages:n.messages,uiHistory:u}));return}J(_l({messages:n.messages}))}},[n.messages,n.uiHistory,$.length,J]),Be(()=>{nd(n.gitRoot)},[n.gitRoot]),Be(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&aw({executionCwd:n.runtimeInfo?.executionCwd??n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:_.repoIntelligenceMode})},[n.gitRoot,n.runtimeInfo?.executionCwd,_.repoIntelligenceMode]);let Ac=Y(()=>({onThinkingDelta:o((u,g)=>{if(ct.current||Bn(g,"thinking",u,{append:!0}))return;D.currentTool&&(oe(void 0),He());let{header:x}=Yb(me()+u),b=x?`[Thinking: ${x}]`:"[Thinking]";wt(yp(ft.current?.activeWorkerTitle?`[${ft.current.activeWorkerTitle}] ${b}`:b,ft.current?.activeWorkerTitle)),$e(u.length),ue(u),ot.current.workerId&&Tu("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,g)=>{if(ct.current||Bn(g,"thinking",u))return;let x=me(),b=Vb(x,u);b&&b!==x&&(q(),ve(),$e(b.length),ue(b)),ot.current.workerId&&Rx(b),De()},"onThinkingEnd"),onTextDelta:o((u,g)=>{ct.current||Bn(g,"assistant",u,{append:!0})||(D.currentTool&&(oe(void 0),He()),De(),wt(void 0),nt(u),ot.current.workerId&&Tu("assistant",u))},"onTextDelta"),onToolUseStart:o((u,g)=>{if(ct.current||Bn(g,"tool",J0(u.name,u.input)))return;xr.current.includes(u.name)||(xr.current=[...xr.current,u.name]);let x=ft.current?.activeWorkerTitle?`[${ft.current.activeWorkerTitle}] `:"",b={id:u.id,name:`${x}${u.name}`,status:j.Executing,startTime:Date.now(),input:u.input};kx(b),ot.current.workerId&&nr(b),wt(uo(b,ft.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,g,x)=>{if(ct.current||Bn(x,"tool",u,{skipIfExisting:!0}))return;Ee(g.length),Re(g);let b=Ex(x?.toolId,u,v=>{let L=v.preview??"",V=jb(`${L}${g}`);return{...v,preview:V||void 0,input:v.input?V?{...v.input,preview:V}:{...v.input}:V?{preview:V}:void 0}});b&&(ot.current.workerId&&nr(b),wt(uo(b,ft.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,g)=>{if(ct.current||Bn(g,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),b=Ub(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let L=Iu(u.id,j.Error,b,b,u.name);L&&(ot.current.workerId&&nr(L),wt(uo(L,ft.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let L=Iu(u.id,j.Cancelled,void 0,b,u.name);L&&(ot.current.workerId&&nr(L),wt(uo(L,ft.current?.activeWorkerTitle)));return}let v=Iu(u.id,j.Success,void 0,b||void 0,u.name);v&&(ot.current.workerId&&nr(v),wt(uo(v,ft.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,g)=>{if(ct.current||Bn(g,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,b=cs(u.id,v=>({...v,preview:x,progressLines:[...(v.progressLines??[]).slice(-4),x]}));b&&ot.current.workerId&&nr(b),wt(x)},"onToolProgress"),onStreamEnd:o(u=>{if(ct.current||cp(u))return;let g=dc(j.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=g[g.length-1];ot.current.workerId&&g.forEach(b=>nr(b)),x&&wt(uo(x,ft.current?.activeWorkerTitle)),De(),He(),oe(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{wx(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>OS.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!ct.current)for(let g of u){let x=g.trim();x&&(ot.current.workerId?Ft({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):W({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(ct.current)return;let g=u.suggestedFix?`${u.content}
|
|
141
|
+
Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")bx({type:"sidecar",text:g,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";bx({type:"sidecar",text:g,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:o(u=>{let g=go();g?.name&&wt(uo(g,ft.current?.activeWorkerTitle));let x=dc(j.Error,()=>({error:u.message,output:void 0})),b=x[x.length-1];ot.current.workerId&&x.forEach(Ve=>nr(Ve)),b&&wt(uo(b,ft.current?.activeWorkerTitle));let v=JS(u),L=["Transient","Permanent","Tool Call ID","User Abort"];if(v.category===Lc.USER_ABORT)return;let F=[`\u274C API Error (${L[v.category]||"Unknown"}): ${u.message}`];v.shouldCleanup&&F.push(" \u{1F9F9} Cleaned incomplete tool calls"),v.category===Lc.PERMANENT?(F.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(F.push(" - Your API key is valid"),F.push(" - Run /config to check provider settings")):u.message.includes("400")?(F.push(" - The request parameters are correct"),F.push(" - Try restarting the conversation")):F.push(" - The error details above")):v.category===Lc.TRANSIENT?F.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):v.category===Lc.TOOL_CALL_ID&&F.push(" \u2705 Session cleaned, ready to continue");let Z=F.join(`
|
|
142
|
+
`);!!ot.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Z,timestamp:Date.now()}):W({type:"error",text:Z})},"onError"),onRetry:o((u,g,x,b)=>{if(ct.current)return;let v=Ll(u,g,x);if(ic(b,v.text)||Bn(b,"progress",v.text))return;!!ot.current.workerId?Ft({...v,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(v)},"onRetry"),onProviderRecovery:o((u,g)=>{if(ct.current)return;let x=Pl(u);if(ic(g,x.text)||Bn(g,"progress",x.text))return;let b=!!ot.current.workerId,v=G().trim();v&&(b?Tu("assistant",v):W({type:"assistant",text:v})),Xe(),q(),De(),He(),oe(void 0),yo(),wt(void 0),b?Ft({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):W(x)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(ct.current)return;let g=ot.current;if(xk(u)){if(g.workerId&&g.workerId!==u.activeWorkerId)bM({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(g.workerId!==u.activeWorkerId){let V=yt.current,F=V.activeToolGroupTools.some(Z=>Z.status===j.Executing);yt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...F?{activeToolGroupItemId:V.activeToolGroupItemId,activeToolGroupTools:V.activeToolGroupTools}:{activeToolGroupTools:[]}},ot.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}ft.current=u,du(u);let x=zb(u);vM(x);let b=_a(u),L=_a(u,{expanded:!0})??b;L&&(mu.current=L)},"onManagedTaskStatus"),onProviderRateLimit:o((u,g,x,b)=>{if(ct.current)return;let v=Pm.current;if(Pm.current=null,Ob(v,{attempt:u,maxAttempts:g,delayMs:x}))return;let L=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${g})...`;ic(b,L)||Bn(b,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,g)=>{if(ct.current)return;Pm.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),b=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,L=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${b}] (${u.attempt}/${u.maxAttempts})`;ic(g,L)||Bn(g,"progress",L)||kn({type:"info",icon:"\u23F3",text:L},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(u=>{ZS(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=xi({provider:u.provider,model:u.model,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:xt.current.permissionMode,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode}).runtimeEffort;Te(b=>({...b,effort:x,effortOverride:x!==void 0})),Si({effort:x}),Ae.current.effort=x,kn({type:"info",icon:"\u26A0",text:`[${u.provider}/${u.model} \u4E0D\u652F\u6301 effort "${u.effort}",\u5DF2\u8BB0\u5F55;\u540E\u7EED\u4E0D\u518D\u63D0\u4F9B\u8BE5\u6863${x?`,\u5DF2\u5207\u5230 ${x}`:""}]`},"ratelimit")},"onReasoningEffortRejected"),onRepoIntelligenceTrace:o(u=>{ct.current||kn(av(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{ct.current||Kr(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{ct.current||Sk&&kn({type:"info",icon:"\u26A0",text:`[Scout] Completion marked uncertain \u2014 signals: ${u.signals.join(", ")}. Verify the result before continuing.`},"scout-uncertain")},"onScoutSuspiciousCompletion"),onIterationStart:o((u,g)=>{if(ct.current)return;if(g&&Jt(g),ft.current?.globalWorkBudget){let ie={...ft.current,budgetUsage:Math.min(ft.current.globalWorkBudget,(ft.current.budgetUsage??0)+1)};ft.current=ie,du(ie)}let x=u>1?me().trim():"",b=u>1?vy(G()):"",v=u>1?[...xr.current]:[],L=u>1?[...en.current]:[],V=!!ot.current.workerId;qe(u),V&&xu({clearOwner:!1});let F=zr.current.filter(ie=>ie.status===j.Executing),Z=new Set(F.map(ie=>ie.id));if(xr.current=[],en.current=en.current.filter(ie=>Z.has(ie.id)),Nn(F),He(),oe(void 0),wt(yp(ft.current?.activeWorkerTitle?`[Thinking] [${ft.current.activeWorkerTitle}]`:void 0,ft.current?.activeWorkerTitle)),ve(),u>1&&!V){let ie=Ry({thinking:x,response:b,toolCalls:L,toolNames:v});Ji.current?Ji.current(ie):J([...ie])}},"onIterationStart"),beforeToolExecute:o(async(u,g)=>{let x=Mn.current,b=Bs(x),v=$S.current,L=n.gitRoot;if(Sw(U.current,u,g))return`[Skipped] Previously denied operation. ${ww(U.current)}`;if(x==="plan"&&(Qr.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${hk}`;if(x==="plan"&&u==="bash"){let V=g.command??"";if(to(V))return`[Blocked] Bash write operation not allowed in plan mode: ${V.slice(0,50)}... ${hk}`}if(u==="bash"){let V=g.command??"";if(eo(V))return!0}if(gn(x)&&xm==="llm")return!0;if(u==="bash"){let V=g.command??"",F=yw(V);if(F.level==="dangerous"){let Z=await Co(u,{...g,_dangerousCommand:!0});return Z.confirmed?Z.confirmed:(U.current=Gm(U.current,u,g,F.reason),`[Blocked] Dangerous command requires confirmation: ${F.reason}`)}}if(L){let V=!1;if(Qr.has(u)){let F=g.path;F&&Vs(F,L)&&(V=!0)}if(u==="bash"){let F=g.command;F&&xd(F,L)&&(V=!0)}if(V){let F=await Co(u,{...g,_alwaysConfirm:!0});if(Mn.current==="plan"&&(Qr.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let Z=g.command??"";if(to(Z))return!1}return F.confirmed}}if(b.has(u)){if(x==="accept-edits"&&u==="bash"&&await Gs(u,g,v,_m.current??void 0))return!0;let V=await Co(u,g);if(Mn.current==="plan"&&(Qr.has(u)||u==="undo"))return!1;if(Mn.current==="plan"&&u==="bash"){let F=g.command??"";if(to(F))return!1}if(!V.confirmed)return W({type:"info",text:re("cancelled")}),U.current=Gm(U.current,u,g),!1;V.always&&x==="accept-edits"&&(Td(u,g,!1),$S.current=Ks())}return!0},"beforeToolExecute"),askUser:o(async u=>{let g=hy(u.options?$p(u.options):[],u),x=await ws(gy(u),g,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});if(x===void 0)return Os;if(x===Rr){let b=await Ts(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Os:{kind:"customInput",value:b}}if(Array.isArray(x)&&x.includes(Rr)){let b=await Ts(u.customInputPrompt??u.question,u.customInputDefault);return b===void 0?Os:x.map(v=>v===Rr?{kind:"customInput",value:b}:v)}return x},"askUser"),exitPlanMode:o(async u=>Mn.current!=="plan"?"not-in-plan-mode":(await Co("exit_plan_mode",{plan:u})).confirmed?(Lm("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let g=u.questions,x={},b=0;for(;b<g.length;){let v=g[b],L=hy($p(v.options),v);b>0&&L.push({label:re("select.back_prev"),value:jm});let V=`[${b+1}/${g.length}] ${v.question}`,F=await ws(V,L,v.multiSelect,{minSelections:v.minSelections,maxSelections:v.maxSelections});if(F===void 0)return;if(!Array.isArray(F)&&F===jm){b--;continue}if(!Array.isArray(F)&&F===Rr){let Z=await Ts(v.customInputPrompt??v.question,v.customInputDefault);if(Z===void 0)return;x[v.question]={kind:"customInput",value:Z},b++;continue}if(Array.isArray(F)&&F.includes(Rr)){let Z=await Ts(v.customInputPrompt??v.question,v.customInputDefault);if(Z===void 0)return;x[v.question]=F.map(ie=>ie===Rr?{kind:"customInput",value:Z}:ie),b++;continue}x[v.question]=F,b++}return x},"askUserMulti"),askUserInput:o(async u=>Ts(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{on()},"onCompactStart"),onCompactStats:o(u=>{Ja.current=u.tokensBefore,Jn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,g)=>{n.messages=u,g?.artifactLedger&&g.artifactLedger.length>0&&(n.artifactLedger=Ds(n.artifactLedger??[],g.artifactLedger)),n.lineage=g?.anchor?rd(n.lineage,u,g.anchor,g.postCompactAttachments??[]):Ot(u,n.lineage);let x=Es(u);n.contextTokenSnapshot={currentTokens:x,baselineEstimatedTokens:x,source:"estimate"},fr(n),Jn(x),tu.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{Fe();let g=Ja.current??u;Ja.current=null;let x=Math.round(g/1e3);kn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{Ja.current=null,Fe()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),Jn(u.tokenCount)},"onIterationEnd")}),[$e,ue,De,nt,oe,Ee,Re,He,qe,ve,_,n,on,Fe,W,q,me,G,xu,wt,Tu,Rx,nr,kx,Ex,Iu,dc,go,yo,Nn,wx,ic,Bn,kn,D.currentTool]),Co=o((u,g)=>{let x=Fb(u,g);return tr(),new Promise(b=>{ci.current=b,vu({tool:u,input:g,prompt:x})})},"showConfirmDialog");Be(()=>(f(async(u,g,x)=>(await Co(u.name,{...u.input,_reason:`[auto-mode] ${g}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),p(u=>{Sm(u)}),()=>{f(null),p(null)}),[]),Be(()=>{m(_)},[_,m]),Be(()=>{let u=o(()=>Ac(),"resolve");return Um({askUser:o(g=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(g)},"askUser"),askUserMulti:o(async g=>{let x=u().askUserMulti;return x?x(g):void 0},"askUserMulti"),askUserInput:o(async g=>{let x=u().askUserInput;return x?x(g):void 0},"askUserInput")}),()=>Um(void 0)},[Ac]);let Cs=o(async(u,g,x=n.lineage?Nt(n.lineage,n.lineage.activeEntryId):n.messages,b)=>{let v={...Ac(),getCostReport:H,onWorkflowProcessEvent:yM,onWorkflowAgentDigest:o(({runId:ie,event:Ve})=>{let je=Ve.data??{},Vt=typeof je.summary=="string"?je.summary:void 0,pi=typeof je.name=="string"?je.name:void 0,Rs=nc.current,mi=Vt!==void 0||pi!==void 0?Dc(Vt,pi):Rs?.runId===ie?Rs.locale??"en":"en",Je=kd(Ve,mi,ie);Je&&(ot.current.workerId?Ft({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:Je,timestamp:Date.now()}):Wn([{type:"assistant",text:Je}]))},"onWorkflowAgentDigest")},V=td(n.gitRoot).getSystemPromptSnippet(),F=cv(u.context,n.gitRoot,n.contextTokenSnapshot,V,n.runtimeInfo?.executionCwd);b&&b.length>0&&(F.inputArtifacts=[...b]),F.planModeBlockCheck=(ie,Ve)=>Mn.current!=="plan"?null:vo(ie,Ve,n.gitRoot??n.runtimeInfo?.executionCwd??process.cwd());let Z={...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:F,events:v,abortSignal:ce()};try{return e.runtimeRunner?await e.runtimeRunner({options:Z,prompt:g,sessionId:n.sessionId,permissionMode:Mn.current}):await Pc(Z,g)}finally{uw()}},"runAgentRound"),An=Y(u=>{let g=Ot([...u],n.lineage);return n.lineage=g,g},[n]),_c=Y(async u=>{if(n.messages.length===0)return;let g=ko(n.messages),x=Nr(u??O.current);O.current=x,n.title=g,n.uiHistory=x;let b=n.lineage??An(n.messages);n.lineage=b;let v={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},L=Wa({messages:n.messages,title:g,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Ae.current.session?.tag,uiHistory:x,lineage:b,artifactLedger:n.artifactLedger,...v});eB(i)?await i.appendSessionDelta(n.sessionId,L):await i.save(n.sessionId,L),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,Tp()&&Cp("persist",Ip(n.messages,b,{historyItems:y.current,foregroundItems:an.current,streamingResponse:ge.current.currentResponse,streamingThinking:ge.current.thinkingContent,persistedUiHistory:O.current}))},[n,An,i]),$m=Y(()=>{if(nu.current)return nu.current;let u=(async()=>{try{for(;ri.current.requested;){ri.current.requested=!1;let g=ri.current.uiHistoryOverride;ri.current.uiHistoryOverride=void 0,await _c(g)}}finally{nu.current=null,ri.current.requested&&$m()}})();return nu.current=u,fx.current=u,u},[_c]),Jr=Y(u=>{if(u!==void 0){let g=Nr(u);O.current=g,ri.current.uiHistoryOverride=g}return ri.current.requested=!0,$m()},[$m]),FM=Y(async()=>{if(Za.current)return Za.current;let u=(async()=>{ct.current=!0,fe(),z(),De(),q(),He(),Xe(),oe(void 0),Q(!1),await fx.current.catch(()=>{}),await tu.current?.().catch(()=>{}),kt(!1),M&&T?.isRaw&&w(!1),T?.pause?.(),T?.unref?.(),S(),c()})();return Za.current=u.finally(()=>{Za.current=null}),Za.current},[fe,Xe,q,He,S,M,c,oe,Q,w,T,z,De]);Be(()=>(tu.current=Jr,()=>{tu.current=null}),[Jr]);let Ju=Y(u=>{if(u.length===0)return;let g=Op(O.current,u);O.current=g,Jr(g)},[Jr]),Wn=Y(u=>{u.length!==0&&(J([...u]),Ju(u))},[J,Ju]),Is=Y(u=>{u.length!==0&&(J([...u]),O.current=Op(O.current,u))},[J]);Be(()=>(Ji.current=Wn,()=>{Ji.current=null}),[Wn]);let WS=Y(async u=>{tr(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,mk(n,u),An(u.messages);let g=u.success===!1&&!u.interrupted,x=me().trim(),b=Xw(u.messages,G(),u.managedTask?.verdict.summary,u.lastText),v=yt.current.workerTitle,L=[...an.current],V=L.length>0;Su(L);let F=V&&L.some(Je=>Je.type==="assistant"&&"text"in Je&&yk(String(Je.text??""),v)),Z=L.filter(Je=>Je.type!=="assistant"||!("text"in Je)||yk(String(Je.text??""),v)),ie=!g&&b&&!F,Ve=[...ns.current],je=g?[]:Ve.length===0?Sk?Dg(u):Dg(u).filter(Je=>!$g(Je)):[],Vt=V?[]:Ry({thinking:x,response:void 0,toolCalls:en.current,toolNames:xr.current}),pi=[...Z.map(Je=>Qo(Je)),...Vt,...g?[]:Ve.map(Je=>Qo(Je)),...je.map(Je=>gk(Je)),...ie?[{type:"assistant",text:u.interrupted?`${b}
|
|
143
|
+
|
|
144
|
+
[Interrupted]`:b}]:!b&&!F&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Rs=Op(O.current,pi);q(),Xe();let mi=[...Z.map(Je=>Qo(Je)),...Vt,...g?[]:[...je.map(Je=>gk(Je)),...Ve.map(Je=>Qo(Je))],...ie?[{type:"assistant",text:u.interrupted?`${b}
|
|
145
|
+
|
|
146
|
+
[Interrupted]`:b}]:!b&&!F&&!u.interrupted&&!g?[{type:"info",text:"[No response text was produced for this round]"}]:[]];J(mi),xr.current=[],en.current=[],yo(),He(),oe(void 0),wt(void 0),uc(),ii.current=[],ns.current=[],sc([]),et(),Jr(Rs).catch(()=>{})},[J,et,He,Xe,q,n,tr,G,me,Jr,An,yo,uc,oe,wt,D.currentIteration]),bs=Y(async u=>{let g=u.trim();g&&(W({type:"user",text:g}),eu(x=>x+1),fr(n))},[W,n]),vs=Y(async(u,g)=>{let x=Mc.current;ct.current=!1,Qa.current=!1,Xa(!0);try{return await Mv({initialPrompt:u,runRound:g,shiftPendingPrompt:N,onRoundComplete:o(async b=>{Mc.current===x&&await WS(b)},"onRoundComplete"),onBeforeQueuedRound:o(async b=>{ct.current=!1,Qa.current=!1,await bs(b)},"onBeforeQueuedRound"),shouldContinue:o(b=>!ct.current&&b.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:o(()=>qa.current?ge.current.pendingInputs.length===0?(qa.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{Xa(!1)}},[WS,N,bs]),FS=Y(async u=>{if(n.messages.length===0)return"empty";if(!Yo(_,"Recovering into a new session",Wl))return"blocked";let x=n.sessionId,b=n.lineage??An(n.messages);n.lineage=b;let v=n.artifactLedger?structuredClone(n.artifactLedger):void 0,L=ad({sourceSessionId:x,messages:n.messages,lineage:b,artifactLedger:v,reason:"provider session recovery"}),V=n.title||ko(n.messages);await i.save(n.sessionId,Wa({messages:n.messages,title:V,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Ae.current.session?.tag,uiHistory:O.current,lineage:b,artifactLedger:v,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let F=Ui(),Z=Ot(L.messages);await i.save(F,Wa({messages:L.messages,title:L.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Ae.current.session?.tag,uiHistory:[],lineage:Z,artifactLedger:v}));let ie=new Date().toISOString();n.sessionId=F,n.messages=L.messages,n.uiHistory=[],n.title=L.title,n.contextTokenSnapshot=void 0,n.lineage=Z,n.artifactLedger=v,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=ie,n.lastAccessed=ie,O.current=[],Ae.current.session={...Ae.current.session,id:F},Jn(null),pe(),Kr([]),Ym()?.reset(),we(F),h?.writer.update({sessionId:F}),Is([{type:"info",text:`Recovered into new session ${F}
|
|
147
|
+
Source session saved: ${x}
|
|
148
|
+
Raw provider history was not replayed.`}]),await i.save(F,Wa({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Ae.current.session?.tag,uiHistory:O.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let Ve=sd(u);try{await bs(Ve),await vs(Ve,async je=>{let Vt=$a(je,Ae.current.context?.executionCwd??process.cwd());for(let pi of Vt.warnings)W({type:"info",text:pi});return Cs(Ae.current,Vt.promptText,n.messages,Vt.inputArtifacts)})}catch(je){let Vt=je instanceof Error?je.message:String(je);return Wn([{type:"error",text:`[Recover failed] ${Vt}`}]),"failed"}return"recovered"},[W,Wn,Is,pe,n,_,An,vs,bs,i,h]),Dm=Y(async()=>{let u=N();if(!u||!u.trim())return;let g=u.trim();await bs(g),await vs(g,async x=>Cs(Ae.current,x))},[Cs,vs,N,bs]),Om=Y(u=>{let g=u[u.length-1];if(g?.role!=="assistant")return;let x=zs(g);J(x.map(Ro))},[J]),jS=Y(async(u,g)=>{let x=await wp({...Ae.current,provider:_.provider,thinking:_.thinking,reasoningMode:_.reasoningMode},u,g,b=>W({type:"info",text:b}));if(x.mode==="manual"){x.manualOutput&&W({type:"info",text:x.manualOutput}),await x.finalize();return}if(!x.prompt||!x.options){await x.finalize();return}Xa(!0);try{let b=x.mode==="fork"?[]:n.lineage?Nt(n.lineage,n.lineage.activeEntryId):n.messages,v=Mc.current,L=await Cs(x.options,x.prompt,b);if(Mc.current!==v)await x.finalize();else{let V=O.current,F=[];if(x.mode==="fork"){let Z=L.messages.find(Ve=>Ve.role==="user");Z&&n.messages.push(Z);let ie=L.messages.slice().reverse().find(Ve=>Ve.role==="assistant");if(ie){n.messages.push({role:"assistant",content:ie.content}),An(n.messages);for(let Ve of zs(ie)){let je=Ro(Ve);W(je),F.push(je)}}}else{n.messages=L.messages,n.contextTokenSnapshot=L.contextTokenSnapshot,An(L.messages),Om(L.messages);let Z=L.messages[L.messages.length-1];if(Z?.role==="assistant")for(let ie of zs(Z))F.push(Ro(ie))}mk(n,L),await _c(Op(V,F)),Tp()&&Cp("round-end",Ip(n.messages,n.lineage,{historyItems:y.current,foregroundItems:an.current,streamingResponse:ge.current.currentResponse,streamingThinking:ge.current.thinkingContent,persistedUiHistory:O.current})),await x.finalize()}}catch(b){let v=b instanceof Error?b:new Error(String(b));throw await x.finalize(v),Xa(!1),v}Xa(!1),await Dm()},[W,Om,n,_.provider,_.thinking,Dm,_c,An,Cs]),jM=Y(async u=>{for(let g of u.pastedContents)if(g.type==="text"&&!g.content&&g.contentHash)try{let x=await lT(g.contentHash);x&&(g.content=x)}catch{}},[]),UM=Y(async u=>{let{displayText:g,fullText:x,pastedContents:b}=u;if(!x.trim()||!Gr||at||Oe)return;for(let Ie of b){if(Ie.type!=="text"||Ie.content.length<1024)continue;let _e=aT(Ie.content);cT(_e,Ie.content)}if(Ax(!1),B){if(!qp)return;if(D.pendingInputs.length>=5){kn({type:"info",icon:"\u23F3",text:`Queued follow-up limit reached (${5}). Wait for the next round or press Esc to remove the latest item.`},"queue-limit");return}if(Ev(x)){kn({type:"info",icon:"\u26A0",text:Rv},kv);return}let Ie=D.currentTool;if(Ie&&ud(Ie)?.interruptBehavior==="cancel"){Wt(x),fe({preservePendingInputs:!0}),ou(""),ru(!0),eu(_n=>_n+1),fr(n);return}Wt(x),ou(""),ru(!0),eu(_e=>_e+1),fr(n);return}let v=vy(G()),L=an.current.map(Ie=>Qo(Ie)),V=L.length>0;L.length>0&&(Su(an.current),Is(L)),!V&&v&&Is([{type:"assistant",text:v+`
|
|
149
|
+
|
|
150
|
+
[Interrupted]`}]),Is([{type:"user",text:g}]),ou(""),ru(!0),eu(Ie=>Ie+1),Tp()&&Cp("turn-start",Ip(n.messages,n.lineage,{historyItems:y.current,foregroundItems:an.current,streamingResponse:ge.current.currentResponse,streamingThinking:ge.current.thinkingContent,persistedUiHistory:O.current})),Q(!0),ct.current=!1,Qa.current=!1,++Mc.current,du(null),es(null),ft.current=null,mu.current=null,wt(void 0),uc(),ii.current=[],ns.current=[],sc([]),ai(),cc(void 0),xr.current=[],en.current=[],yo(),lm(),Xe(),He(),oe(void 0),et(),le(),fr(n),await new Promise(Ie=>setTimeout(Ie,50));let F=o(Ie=>{if(Ie.stage==="started"||Ie.stage==="generating"||Ie.stage==="validating"||Ie.stage==="ready"){es(Ie.message);return}es(null)},"handleWorkflowBuilderEvent"),Z=im,ie=o(Ie=>{if(Ie.type==="event")return;let _e=_t(Ie.text).trimEnd();if(_e.trim()){if(Ie.type==="error"){W({type:"error",text:_e});return}if(Ie.type==="assistant"){Wn([{type:"assistant",text:_e}]);return}kn({type:"info",text:_e},"workflow-message")}},"handleWorkflowRunMessage"),Ve=o(async(Ie,_e,_n)=>{if(fd({source:Ie.source}).action==="none")return!1;let sr=[],Io=console.log;console.log=(...ee)=>{sr.push(Cy(ee))};let Ir=!1,ks=o(()=>{Ir||(Ir=!0,n.messages.push({role:"user",content:_e||Ie.request}))},"commitWorkflowUserMessage"),K={..._n,onWorkflowRunMessage:o(ee=>{if(_n.onWorkflowRunMessage?.(ee),ee.type!=="assistant"||ee.final!==!0)return;let ye=_t(ee.text).trimEnd();ye.trim()&&(ks(),n.messages.push({role:"assistant",content:ye}),An(n.messages),Jr(),ge.current.pendingInputs.length>0&&(qa.current=!0))},"onWorkflowRunMessage")};try{let ee=await Ed({request:Ie.request,callbacks:K,approval:_.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:Ie.displayName,processSource:Ie.processSource??"command",...Ie.builtin!==void 0?{builtin:Ie.builtin}:{},onBuilderEvent:K.onWorkflowBuilderEvent});return ee==="started"&&ge.current.pendingInputs.length>0&&(qa.current=!0),pd({outcome:ee})}finally{es(null),console.log=Io;let ee=Iy(sr.filter((ye,Kt,br)=>br.indexOf(ye)===Kt));ee&&W({type:"info",text:ee})}},"runWorkflowInvocation"),je=Ti(x.trim());if(je){let Ie=!1,_e=o(K=>{je.command==="workflow"&&(Ie||(Ie=!0,n.messages.push({role:"user",content:x.trim()})),n.messages.push({role:"assistant",content:K}),An(n.messages),Jr())},"commitSlashWorkflowFinalMessage"),_n={getRuntimeStatus:e.getRuntimeStatus,exit:FM,saveSession:o(async()=>{if(n.messages.length>0){let K=ko(n.messages);n.title=K;let ee=n.lineage??An(n.messages);n.lineage=ee,await i.save(n.sessionId,Wa({messages:n.messages,title:K,gitRoot:n.gitRoot??"",runtimeInfo:n.runtimeInfo,tag:Ae.current.session?.tag,uiHistory:O.current,lineage:ee,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:o(()=>{let K=Ui(),ee=new Date().toISOString();n.sessionId=K,n.title="",n.uiHistory=[],n.contextTokenSnapshot=void 0,n.lineage=void 0,n.artifactLedger=void 0,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,O.current=[],n.createdAt=ee,n.lastAccessed=ee,Ec(r),Ae.current.session={...Ae.current.session,id:K},Jn(null),pe(),Kr([]),Ym()?.reset(),we(K),h?.writer.update({sessionId:K})},"startNewSession"),loadSession:o(async K=>{let ee=await i.load(K);if(ee){if(!Yo(_,"Resuming a saved session",Wl))return"blocked";let Kt=await Er({cwd:process.cwd()}),br=Un(ee),Qu=br??Kt;return br?.workspaceRoot&&!Rd(br)&&(Qu=Kt),n.messages=ee.messages,n.uiHistory=Ko(ee.uiHistory),n.lineage=ee.lineage,n.artifactLedger=ee.artifactLedger,n.extensionState=ee.extensionState?structuredClone(ee.extensionState):void 0,n.extensionRecords=ee.extensionRecords?.map(Hm=>({...Hm})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ee.title,n.sessionId=K,n.contextTokenSnapshot=void 0,Ec(Qu),Ae.current.session={...Ae.current.session,id:K,tag:ee.tag},O.current=n.uiHistory??[],Jn(null),pe(),Kr([]),we(K),h?.writer.update({sessionId:K}),console.log(pt.green(`[Session loaded: ${K}]`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let K=await i.list(n.gitRoot??void 0);if(K.length===0){console.log(pt.dim(`
|
|
151
|
+
[No saved sessions]`));return}console.log(pt.bold(`
|
|
152
|
+
Recent Sessions:
|
|
153
|
+
`));for(let ee of K.slice(0,10))console.log(` ${pt.cyan(ee.id)} ${pt.dim(`(${ee.msgCount} messages)`)} ${ee.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:o(()=>{n.uiHistory=[],pe(),Kr([])},"clearHistory"),printHistory:o(()=>{if(n.messages.length===0){console.log(pt.dim(`
|
|
154
|
+
[No conversation history]`));return}console.log(pt.bold(`
|
|
155
|
+
Conversation History:
|
|
156
|
+
`));let K=n.messages.slice(-20);for(let ee=0;ee<K.length;ee++){let ye=K[ee],Kt=pt.cyan(ye.role.padEnd(10)),br=bd(ye.content),Qu=br.slice(0,60).replace(/\n/g," "),Hm=br.length>60?"...":"";console.log(` ${(ee+1).toString().padStart(2)}. ${Kt} ${Qu}${Hm}`)}console.log()},"printHistory"),switchProvider:o((K,ee)=>{let ye=xi({provider:K,model:ee,effort:xt.current.effort,effortOverride:xt.current.effortOverride,permissionMode:xt.current.permissionMode,planModeEffort:xt.current.planModeEffort,thinking:xt.current.thinking,reasoningMode:xt.current.reasoningMode});Te(Kt=>({...Kt,provider:K,model:ee})),Ae.current.provider=K,Ae.current.model=ee,Ae.current.effort=ye.runtimeEffort,ye.diagnostic&&console.log(pt.yellow(`
|
|
157
|
+
[${ye.diagnostic}]`))},"switchProvider"),setThinking:o(K=>{let ee=K?"auto":"off";Te(ye=>({...ye,thinking:K,reasoningMode:ee})),Ae.current.thinking=K,Ae.current.reasoningMode=ee},"setThinking"),setEffort:o(K=>{Te(ee=>({...ee,effort:K,effortOverride:K!==void 0}))},"setEffort"),setReasoningMode:o(K=>{let ee=K!=="off";Te(ye=>({...ye,thinking:ee,reasoningMode:K})),Ae.current.thinking=ee,Ae.current.reasoningMode=K},"setReasoningMode"),setAgentMode:o(K=>{Te(ee=>({...ee,agentMode:K})),Ae.current.agentMode=K},"setAgentMode"),setPermissionMode:o(K=>{Lm(K)},"setPermissionMode"),setRepoIntelligenceRuntime:o(K=>{Te(ee=>({...ee,...K.mode!==void 0?{repoIntelligenceMode:K.mode}:{},...K.trace!==void 0?{repoIntelligenceTrace:K.trace}:{}})),K.mode!==void 0&&(process.env.KODAX_REPO_INTELLIGENCE=K.mode,Ae.current.context={...Ae.current.context,repoIntelligenceMode:K.mode}),K.trace!==void 0&&(K.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,Ae.current.context={...Ae.current.context,repoIntelligenceTrace:K.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async K=>{await i.delete?.(K)},"deleteSession"),deleteAllSessions:o(async()=>{await i.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let K=await i.getLineage?.(n.sessionId);if(!K){console.log(pt.dim(`
|
|
158
|
+
[No session tree available for this session]`));return}let ee=hp(od(K));console.log(pt.bold(`
|
|
159
|
+
Session Tree:
|
|
160
|
+
`)),ee.forEach(ye=>console.log(` ${ye}`)),console.log()},"printSessionTree"),switchSessionBranch:o(async K=>{if(!Yo(_,"Switching session branches",Wl))return"blocked";let ye=await i.setActiveEntry?.(n.sessionId,K,{summarizeCurrentBranch:!0});return ye?(n.messages=ye.messages,n.uiHistory=Ko(ye.uiHistory),n.extensionState=ye.extensionState?structuredClone(ye.extensionState):void 0,n.extensionRecords=ye.extensionRecords?.map(Kt=>({...Kt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ye.title,n.contextTokenSnapshot=void 0,Ec(Un(ye)??n.runtimeInfo??r),O.current=n.uiHistory??[],Jn(null),pe(),Kr([]),console.log(pt.green(`
|
|
161
|
+
[Switched to tree entry: ${K}]`)),console.log(pt.dim(` Messages: ${ye.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(K,ee)=>{if(!await i.setLabel?.(n.sessionId,K,ee))return!1;let Kt=ee&&ee.trim()?`checkpoint label set: ${ee.trim()}`:"checkpoint label cleared";return console.log(pt.green(`
|
|
162
|
+
[${Kt}]`)),!0},"labelSessionBranch"),forkSession:o(async K=>{if(!Yo(_,"Forking a session branch",Wl))return"blocked";let ye=await i.fork?.(n.sessionId,K);if(!ye)return"failed";n.sessionId=ye.sessionId,n.messages=ye.data.messages,n.uiHistory=Ko(ye.data.uiHistory),n.extensionState=ye.data.extensionState?structuredClone(ye.data.extensionState):void 0,n.extensionRecords=ye.data.extensionRecords?.map(br=>({...br})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ye.data.title,n.contextTokenSnapshot=void 0,Ec(Un(ye.data)??n.runtimeInfo??r),O.current=n.uiHistory??[];let Kt=new Date().toISOString();return n.createdAt=Kt,n.lastAccessed=Kt,Ae.current.session={...Ae.current.session,id:ye.sessionId},Jn(null),pe(),Kr([]),we(ye.sessionId),h?.writer.update({sessionId:ye.sessionId}),console.log(pt.green(`
|
|
163
|
+
[Forked session: ${ye.sessionId}]`)),console.log(pt.dim(` Messages: ${ye.data.messages.length}`)),"forked"},"forkSession"),recoverSession:FS,rewindSession:o(async K=>{if(!Yo(_,"Rewinding session",Wl))return"blocked";let ye=await i.rewind?.(n.sessionId,K);return ye?(n.messages=ye.messages,n.uiHistory=Ko(ye.uiHistory),n.extensionState=ye.extensionState?structuredClone(ye.extensionState):void 0,n.extensionRecords=ye.extensionRecords?.map(Kt=>({...Kt})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=ye.title,n.contextTokenSnapshot=void 0,Ec(Un(ye)??n.runtimeInfo??r),O.current=n.uiHistory??[],Jn(null),pe(),Kr([]),console.log(pt.green(`
|
|
164
|
+
[Rewound session${K?` to ${K}`:" to previous turn"}]`)),console.log(pt.dim(` Messages: ${ye.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>H.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(gn(Mn.current))return d.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(K=>{gn(Mn.current)&&(d.getGuardrail().setEngine(K),Sm(K))},"setAutoModeEngine"),createKodaXOptions:o(()=>({...Ae.current,provider:_.provider,model:_.model,effort:rt,thinking:_.thinking,reasoningMode:_.reasoningMode,agentMode:_.agentMode,guardrails:Ty(Mn.current,d),events:Ac()}),"createKodaXOptions"),reloadAgentsFiles:o(async()=>await ld({cwd:process.cwd(),projectRoot:n.gitRoot??void 0}),"reloadAgentsFiles"),startCompacting:o(()=>{on()},"startCompacting"),stopCompacting:o(()=>{Fe()},"stopCompacting"),onCompactStats:o(K=>{Ja.current=K.tokensBefore,Jn(K.tokensAfter)},"onCompactStats"),confirm:o(async K=>(await Co("confirm",{_alwaysConfirm:!0,_message:K})).confirmed,"confirm"),onWorkflowBuilderEvent:F,onWorkflowRunMessage:o(K=>{if(ie(K),K.type!=="assistant"||K.final!==!0)return;let ee=_t(K.text).trimEnd();ee.trim()&&_e(ee)},"onWorkflowRunMessage"),onWorkflowRunUpdate:Z,ui:{select:o(async(K,ee)=>WM(K,ee),"select"),confirm:o(async K=>(await Co("confirm",{_alwaysConfirm:!0,_message:K})).confirmed,"confirm"),input:o(async(K,ee)=>Ts(K,ee),"input")}},Fn=[],sr=console.log;console.log=(...K)=>{Fn.push(Cy(K))};let Io,Ir;try{let K=await Ci(je,n,_n,_);typeof K=="object"&&K!==null&&"invocation"in K&&(Io=K.invocation),typeof K=="object"&&K!==null&&"workflow"in K&&(Ir=K.workflow)}finally{es(null),console.log=sr}let ks=Iy(Fn);if(ks&&W({type:"info",text:ks}),Ir){try{await Ve(Ir,x.trim(),_n)}finally{ge.current.pendingInputs.length>0&&(qa.current=!0),Q(!1),z(),q()}return}if(Io){Q(!1),z(),Q(!0),le(),ve();try{await jS(Io,x.trim())}catch(K){let ee=K instanceof Error?K:new Error(String(K)),ye=ee.name==="AbortError"||ee.message.includes("aborted")||ee.message.includes("ABORTED");console.log=sr,ye?Yu():Wn([{type:"error",text:ee.message}])}finally{Q(!1),z(),q()}return}Q(!1),z();return}let Vt=await Eg(x.trim());if(x.trim().startsWith("!")&&Al(Vt)){Q(!1),z();return}let pi=Ae.current.context?.executionCwd??process.cwd(),Rs=o(Ie=>{Ie.length!==0&&Wn(Ie.map(_e=>({type:"info",text:_e})))},"emitArtifactWarnings");ve();let mi=[],Je=console.log;console.log=(...Ie)=>{mi.push(Cy(Ie))};try{await vs(Vt,async Ie=>{let _e=$a(Ie,Ae.current.context?.executionCwd??process.cwd());return Rs(_e.warnings),Cs(Ae.current,_e.promptText,n.messages,_e.inputArtifacts)})}catch(Ie){let _e=Ie instanceof Error?Ie:new Error(String(Ie));if(_e.name==="AbortError"||_e.message.includes("aborted")||_e.message.includes("ABORTED"))console.log=Je,Yu();else{let Fn=_e.message;if(_e.message.includes("rate limit")||_e.message.includes("Rate limit")?Fn=`[Rate Limit] ${_e.message}
|
|
165
|
+
Suggestion: Wait a moment and try again, or switch provider with /mode`:_e.message.includes("API key")||_e.message.includes("not configured")?Fn=`[Configuration Error] ${_e.message}
|
|
166
|
+
Suggestion: Set the required API key environment variable`:_e.message.includes("network")||_e.message.includes("ECONNREFUSED")||_e.message.includes("ETIMEDOUT")?Fn=`[Network Error] ${_e.message}
|
|
167
|
+
Suggestion: Check your internet connection`:(_e.message.includes("token")||_e.message.includes("context too long"))&&(Fn=`[Context Error] ${_e.message}
|
|
168
|
+
Suggestion: Use /clear to start fresh`),console.log=Je,ot.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Fn,timestamp:Date.now()}):Wn([{type:"error",text:Fn}]),Ad({error:_e,messageCount:n.messages.length})){let sr={type:"info",text:Oc};if(ot.current.workerId?(Ft({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...sr,timestamp:Date.now()}),Ju([sr])):Wn([sr]),(await Co("confirm",{_alwaysConfirm:!0,_message:Md})).confirmed)try{await FS(Vt)}catch(Ir){let ks=Ir instanceof Error?Ir.message:String(Ir);Wn([{type:"error",text:`[Recover failed] ${ks}`}])}}}}finally{if(console.log=Je,mi.length>0){let _e=mi.filter((Fn,sr,Io)=>Io.indexOf(Fn)===sr),_n=Iy(_e);_n&&W({type:"info",text:_n})}if(!ct.current){let _e=dc(j.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));_e.length>0&&ot.current.workerId&&_e.forEach(_n=>nr(_n))}Q(!1),z(),Xe(),lm(),q();let Ie=Es(n.messages);n.contextTokenSnapshot={currentTokens:Ie,baselineEstimatedTokens:Ie,source:"estimate"},Jn(Ie)}},[Gr,n,_,qp,D.pendingInputs.length,i,at,Oe,S,c,W,pe,le,z,Xe,Ac,jS,ce,G,me,Ft,Is,Wn,Om,_c,Jr,Ju,An,vs,Dm,on,Fe,yo,lm,dc,nr,ai,rc,oc]),US=$t.shouldRender?ae(E,{paddingX:1,children:ae(Mb,{viewModel:$t})}):void 0,GS=B&&Tr.shouldRender?ae(E,{paddingX:1,children:ae(Rb,{viewModel:Tr})}):void 0,VS=Vx?ae(E,{paddingX:1,children:ae(up,{viewModel:mm})}):void 0,GM=US||GS||VS?Cn(E,{flexDirection:"column",children:[GS,US,VS]}):void 0,KS=$t.shouldRender?$t.counterText:void 0,VM=ae(yl,{left:ae(hl,{items:aS}),right:ae(gl,{items:cS}),queued:ae(sp,{pendingInputs:D.pendingInputs}),stashNotice:ae(bl,{text:Fu}),notifications:ae(Il,{notifications:Wu}),inlineNotices:Im.length>0?ae(ap,{notices:Im}):void 0,activityBar:qr?Cn(E,{paddingX:1,flexDirection:"row",children:[Cn(E,{flexGrow:1,children:[qr?.showSpinner?ae(Dn,{color:te("dark").colors.accent}):null,qr?Cn(I,{color:qr.kind==="waiting"?te("dark").colors.warning:te("dark").colors.accent,wrap:"truncate",children:[qr.showSpinner?" ":"",qr.text]}):null,qr?.showSpinner&&D.roundStartedAt!=null?ae(LI,{roundStartedAt:D.roundStartedAt,charCount:D.currentResponse.length,theme:te("dark")}):null]}),KS?ae(I,{dimColor:!0,wrap:"truncate",children:KS}):B&&Tr.shouldRender?ae(I,{dimColor:!0,wrap:"truncate",children:`${Tr.completedCount}/${Tr.totalCount} completed`}):null]}):void 0,todoSurface:GM,composer:ae(Zf,{onSubmit:UM,onHistoryRecall:jM,onPopPendingInputs:o(()=>{let u=A();if(u.length!==0)return u.join(`
|
|
169
|
+
---
|
|
170
|
+
`)},"onPopPendingInputs"),prompt:">",placeholder:jR({isLoading:B,canQueueFollowUps:qp,waitingReason:wm}),focus:!at&&!Oe&&!mt,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:kM,onPasteFallback:OM}),inlineSuggestions:$M,helpSurface:Mx?ae(tp,{sections:bp()}):void 0,taskBar:Tc?ae(vl,{items:ps.backgroundTask.items,overflowLabel:ps.backgroundTask.overflowLabel,ctaHint:ps.backgroundTask.ctaHint,showSpinner:B}):void 0,statusLine:ae(E,{children:ae(Wi,{...Bu,viewModel:iS})}),inlineDialogs:NM}),KM=ae(yl,{left:ae(hl,{items:aS}),right:ae(gl,{items:cS}),stashNotice:ae(bl,{text:Fu}),notifications:ae(Il,{notifications:Wu}),composer:ae(Cb,{searchActive:mt,selectionActive:!!(Xr||it),showAllActive:Pt,searchQuery:cn,searchCurrent:Dt.length>0?wo+1:0,searchCount:Dt.length,searchDetailText:ym,pendingLiveUpdates:hc,secondaryText:LM}),taskBar:Tc?ae(vl,{items:ps.backgroundTask.items,overflowLabel:ps.backgroundTask.overflowLabel,ctaHint:ps.backgroundTask.ctaHint,showSpinner:ht}):void 0,statusLine:ae(E,{children:ae(Wi,{...Bu,viewModel:Tm})})}),Nm=Y(u=>ae(Ib,{banner:u?.bannerVisible?ae(by,{...ui}):void 0,items:yc,isLoading:ln,viewportRows:Gt.messageRows,viewportWidth:k,scrollOffset:Qn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Sc:CS,maxLines:Et,selectedTextRanges:fm?uu?.rowRanges:void 0,onMetricsChange:Uu,onVisibleRowsChange:Gu}),[ui,yc,ln,Uu,Gu,Qn,CS,k,Et,uu?.rowRanges,Gt.messageRows,fm]),Bm=Y(u=>ae(bb,{banner:u?.bannerVisible?ae(by,{...ui}):void 0,items:gc,browse:{hintText:To.browseHintText},selection:ju,search:Zx,isLoading:ht,isThinking:Ce.isThinking,thinkingCharCount:Ce.thinkingCharCount,thinkingContent:Ce.thinkingContent,streamingResponse:Ce.currentResponse,currentTool:Ce.currentTool,activeToolCalls:Ce.activeToolCalls,toolInputCharCount:Ce.toolInputCharCount,toolInputContent:Ce.toolInputContent,iterationHistory:Ce.iterationHistory,currentIteration:Ce.currentIteration,isCompacting:Ce.isCompacting,agentMode:_.agentMode,managedPhase:ht?X?.phase:void 0,managedHarnessProfile:ht?X?.harnessProfile:void 0,managedWorkerTitle:ht?X?.activeWorkerTitle:void 0,managedRound:ht?X?.currentRound:void 0,managedMaxRounds:ht?X?.maxRounds:void 0,managedGlobalWorkBudget:ht?X?.globalWorkBudget:void 0,managedBudgetUsage:ht?X?.budgetUsage:void 0,managedBudgetApprovalRequired:ht?X?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ce.lastLiveActivityLabel,liveStatusLines:ds,viewportRows:Gt.messageRows,viewportWidth:k,scrollOffset:Qn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&hs,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Sc:Lu,maxLines:Et,showDetailedTools:Pt,showAllContent:Pt,selectedItemId:Hn.selectionEnabled?it:void 0,selectedTextRanges:Vr?.rowRanges,expandedItemKeys:Hn.selectionEnabled?Rn:void 0,onMetricsChange:Uu,onVisibleRowsChange:Gu}),[ui,_.agentMode,ht,Rn,a.transcriptSpinnerAnimation,Uu,Gu,Qn,Bx,X?.activeWorkerTitle,X?.budgetApprovalRequired,X?.budgetUsage,X?.currentRound,X?.globalWorkBudget,X?.harnessProfile,X?.maxRounds,X?.phase,Sc,Lu,To.browseHintText,it,ju,k,hs,gc,Et,Ce.activeToolCalls,Ce.currentIteration,Ce.currentResponse,Ce.currentTool,Ce.isCompacting,Ce.isThinking,Ce.iterationHistory,Ce.lastLiveActivityLabel,Ce.thinkingCharCount,Ce.thinkingContent,Ce.toolInputCharCount,Ce.toolInputContent,ds,Vr?.rowRanges,Zx,Pt,Gt.messageRows]),zM=ne?Bm({bannerVisible:!1,windowed:Mt}):Nm({bannerVisible:!1}),zS=ne?KM:VM,YM=a.enabled&&li,YS=Cn(E,{flexDirection:"column",width:k,flexShrink:0,flexGrow:YM?1:0,children:[ae(Wg,{currentConfig:_,setCurrentConfig:Te,isLoading:B,abort:fe,stopThinking:De,clearThinkingContent:q,setCurrentTool:oe,setIsLoading:Q,onToggleHelp:RM,setShowHelp:Ax,onSetThinking:o(u=>{Ae.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{Ae.current.reasoningMode=u,Ae.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:BM,onOpenTranscriptSearch:km,canOpenTranscriptSearch:ne&&!at&&!Oe,isInteractiveDialogActive:!!(at||Oe),onSetAgentMode:o(u=>{Ae.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Lm(u)},"onSetPermissionMode"),isInputEmpty:ec,onSavePermissionMode:Gw}),qn&&(a.enabled?null:ae(aa,{items:[1],children:o(()=>ae(by,{...ui},"banner"),"children")})),li?ae(Xf,{width:k,stickyHeader:To.stickyHeader,jumpToLatest:To.jumpToLatest,transcript:!a.enabled||!Mt?ne?Bm({bannerVisible:!1}):Nm({bannerVisible:!1}):void 0,renderTranscriptWindow:a.enabled&&Mt?u=>(()=>{let x=vc(u).contentWindow;return ne?Bm({bannerVisible:!1,windowed:!0,rendererWindow:x}):Nm({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:Am,scrollTop:Qn,scrollHeight:bc,viewportHeight:Gt.messageRows,stickyScroll:!ne&&!Sr&&Zp,overscanRows:pB,scrollRef:fM,onWindowChange:DM,onScrollTopChange:mM,onStickyChange:hM,footer:zS}):Cn(QN,{children:[Cn(E,{flexDirection:"column",flexGrow:1,children:[zM,Am?ae(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Am}):null]}),zS]})]});return dm?ae(Ph,{mouseTracking:xo.usesRendererMouseTracking,children:YS}):YS},"InkREPLInner"),xB=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ae(wl,{children:ae(El,{children:ae(ol,{children:ae(Bg,{children:ae(Cf,{cwd:t,gitRoot:n,children:ae(yB,{...e})})})})})})},"InkREPL");function SB(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(SB,"isRawModeSupported");async function Np(e){if(!SB())throw new Fm("Interactive mode requires a TTY with raw mode support.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session","kodax -r # Resume session"]);let t=e.storage??new Gi,n=Ao(),r=_o(),i=Lo(n,r),{prepareRuntimeConfig:s}=await import("./utils-JENPFKAE.js"),{loadCompactionConfig:a}=await import("./compaction-config-56NO42ZI.js"),{resolveProvider:c}=await import("./dist-4UIRSSFS.js"),l=s(),d=Ws({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:l.provider,defaultProvider:Zu}),f=Fs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:l.provider,configuredModel:l.model}),p=nB(e,l),m=js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:l.effort}),h=yd(e,l,process.env.KODAX_EFFORT),S=e.agentMode??l.agentMode??"ama",C=p!=="off",R=Hs(l.permissionMode,"accept-edits")??"accept-edits",T=cd(),w=l.repoIntelligenceTrace===!0,M={provider:d,model:f,effort:m,effortOverride:h,planModeEffort:l.planModeEffort,thinking:C,reasoningMode:p,agentMode:S,permissionMode:R,repoIntelligenceMode:T.mode,repoIntelligenceTrace:w},P=e.session?.id,$=[],H,U,W,J,pe,we="",y=await Er({cwd:process.cwd()}),O=y.workspaceRoot??void 0,k=y,D=O,ge=ed({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(ge){let q=o(()=>{ge.shutdown()},"teamModeCleanup");process.on("exit",q),process.on("SIGTERM",q)}try{let{bootstrapConstructionRuntime:q}=await import("./construction-bootstrap-GLEHQ2KB.js"),oe=await q(O??process.cwd());if(oe.loaded>0||oe.failed>0||oe.tampered>0){let Ee=oe.failed>0?`; ${oe.failed} failed`:"",Re=oe.tampered>0?`; ${oe.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";hn({source:"repl:construction",level:oe.failed>0||oe.tampered>0?"warn":"info",message:`Rehydrated ${oe.loaded} active tool(s)${Ee}${Re}.`})}if(oe.markdownLoaded>0||oe.markdownFailures.length>0){hn({source:"repl:agents",level:oe.markdownFailures.length>0?"warn":"info",message:`Loaded ${oe.markdownLoaded} markdown agent(s).`});for(let Ee of oe.markdownFailures)hn({source:"repl:agents",level:"warn",message:`Skipped markdown agent ${Ee.path}: ${Ee.reason}`})}}catch(q){hn({source:"repl:construction",level:"warn",message:`Bootstrap failed: ${q.message}. Self-construction disabled this session.`})}let le;try{let q=await a(O),oe=c(d);le={contextWindow:q.contextWindow??oe.getContextWindow?.()??2e5,triggerPercent:q.triggerPercent,enabled:q.enabled,userOverrideContextWindow:q.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let q=await t.load(e.session.id);q&&($=q.messages,H=Ko(q.uiHistory),U=q.lineage,W=q.artifactLedger,J=q.extensionState,pe=q.extensionRecords,we=q.title,P=e.session.id,k=Un(q)??y,D=k.workspaceRoot??void 0,e={...e,session:{...e.session??{},id:P,tag:q.tag}},console.log(pt.green(`[Session loaded: ${P}]`)))}else if(e.session?.resume||e.session?.autoResume){let q=await t.list(O);if(q.length>0){let oe=q[0];if(oe){let Ee=await t.load(oe.id);Ee&&($=Ee.messages,H=Ko(Ee.uiHistory),U=Ee.lineage,W=Ee.artifactLedger,J=Ee.extensionState,pe=Ee.extensionRecords,we=Ee.title,P=oe.id,k=Un(Ee)??y,D=k.workspaceRoot??void 0,e={...e,session:{...e.session??{},tag:Ee.tag}},console.log(pt.green(`[Continuing session: ${oe.id}]`)))}}}let z=await ka({sessionId:P,gitRoot:D,runtimeInfo:k,existingMessages:$,existingUiHistory:H,existingLineage:U,existingArtifactLedger:W,existingExtensionState:J,existingExtensionRecords:pe});z.title=we,e={...e,context:{...e.context,gitRoot:z.gitRoot??void 0,executionCwd:z.runtimeInfo?.executionCwd??z.gitRoot??process.cwd()}},ge?.writer.update({sessionId:z.sessionId});let fe={current:null},ve={current:null},$e={current:M},ue=wd(),De=await Ea({askUser:o(async(q,oe,Ee)=>{let Re=fe.current;return Re?Re(q,oe,Ee):"block"},"askUser"),projectRoot:O??process.cwd(),getCurrentProviderName:o(()=>$e.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>$e.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>$e.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ue,log:o((q,oe)=>{hn({source:"repl:auto-mode",level:q==="warn"?"warn":"info",message:oe})},"log"),onEngineChange:o(q=>{ve.current?.(q)},"onEngineChange"),extraCollectors:[Sd]});try{let q=process.stdout,oe=process.stdin;import("./paste-C33GZQV5.js").then(nt=>nt.prunePasteTmpDir()).catch(()=>{});let Ee=!1,{waitUntilExit:Re,cleanup:He}=uf(ae(xB,{options:e,config:M,context:z,startupRuntimeInfo:y,storage:t,compactionInfo:le,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:De,setAutoModeAskUser:o(nt=>{fe.current=nt},"setAutoModeAskUser"),setAutoModeEngineChange:o(nt=>{ve.current=nt},"setAutoModeEngineChange"),setCurrentConfigRef:o(nt=>{$e.current=nt},"setCurrentConfigRef"),teamModeHandle:ge,onExit:o(()=>{Ee=!0},"onExit")}),{stdout:q,stdin:oe,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await Re(),He(),ge?.shutdown(),oe.isTTY===!0&&typeof oe.setRawMode=="function"&&oe.isRaw&&oe.setRawMode(!1),oe.pause?.(),oe.unref?.(),Ee&&console.log(pt.dim(`
|
|
171
|
+
[Exiting KodaX...]`));let Xe=e.hardExitOnClose??process.env.VITEST!=="true";if(Ee&&Xe){let nt=process.exitCode??0,ce=!1,G=o(()=>{ce||(ce=!0,process.exit(nt))},"requestProcessExit");setTimeout(G,0).unref?.(),q.write("",G);return}}catch(q){throw q instanceof Error&&q.message.includes("Raw mode")?new Fm("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):q}}o(Np,"runInkInteractiveMode");import{jsx as Fl,jsxs as Fa}from"react/jsx-runtime";import{useMemo as wB,useState as bk}from"react";import{Box as vk,Text as Zo,render as TB,useApp as CB,useInput as IB}from"ink";function bB(e,t){let n=t.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);return n.length===0?[...e]:e.filter(r=>{let i=[r.title,r.id,r.surface??"",r.createdAt??"",String(r.msgCount)].join(" ").toLocaleLowerCase();return n.every(s=>i.includes(s))})}o(bB,"filterSessionPickerItems");function vB(e,t,n){let r=Math.max(1,n),i=e.length===0?0:Math.max(0,Math.min(t,e.length-1)),s=Math.floor(i/r)*r;return{items:e.slice(s,s+r),selectedIndex:i,pageStart:s,pageIndex:Math.floor(s/r),pageCount:Math.max(1,Math.ceil(e.length/r))}}o(vB,"buildSessionPickerPage");function RB(e){if(!e)return"unknown time";let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toISOString().slice(0,16).replace("T"," ")}o(RB,"formatTimestamp");function kB({sessions:e,onSelect:t,onCancel:n,pageSize:r=8}){let{exit:i}=CB(),[s,a]=bk(""),[c,l]=bk(0),d=wB(()=>bB(e,s),[e,s]),f=vB(d,c,r),p=d[f.selectedIndex];return IB((m,h)=>{if(h.escape||h.ctrl&&m==="c"){n(),i();return}if(h.return){let S=d[f.selectedIndex];S&&(t(S),i());return}if(h.upArrow)l(S=>Math.max(0,S-1));else if(h.downArrow)l(S=>Math.min(Math.max(0,d.length-1),S+1));else if(h.pageUp)l(S=>Math.max(0,S-r));else if(h.pageDown)l(S=>Math.min(Math.max(0,d.length-1),S+r));else if(h.home)l(0);else if(h.end)l(Math.max(0,d.length-1));else if(h.tab){let S=d[f.selectedIndex];S&&(a(S.title),l(0))}else h.backspace||h.delete?(a(S=>S.slice(0,-1)),l(0)):m&&!h.ctrl&&!h.meta&&!h.super&&(a(S=>S+m),l(0))}),Fa(vk,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,children:[Fl(Zo,{bold:!0,color:"cyan",children:"Resume a session"}),Fa(Zo,{children:["Search: ",Fl(Zo,{color:"yellow",children:s||"type to filter"})]}),Fl(Zo,{dimColor:!0,children:"\u2191/\u2193 select \xB7 PgUp/PgDn page \xB7 Tab complete \xB7 Enter resume \xB7 Esc cancel"}),Fa(vk,{flexDirection:"column",marginTop:1,children:[f.items.length===0?Fl(Zo,{color:"yellow",children:"No matching sessions."}):null,f.items.map((m,h)=>{let C=f.pageStart+h===f.selectedIndex,R=m.title.trim()||"Untitled session",T=m.surface?` \xB7 ${m.surface}`:"";return Fa(Zo,{color:C?"cyan":void 0,bold:C,children:[C?"\u276F":" "," ",R," \xB7 ",m.msgCount," msgs",T," \xB7 ",RB(m.createdAt)," \xB7 ",m.id.slice(0,8)]},m.id)})]}),Fa(Zo,{dimColor:!0,children:[d.length," matches \xB7 Page ",f.pageIndex+1,"/",f.pageCount]}),Fa(Zo,{dimColor:!0,children:["Selected ID: ",p?.id??"none"]})]})}o(kB,"SessionPicker");async function Rk(e){let t,n=Math.max(4,Math.min(12,(process.stdout.rows??24)-8)),r=TB(Fl(kB,{sessions:e,pageSize:n,onSelect:o(i=>{t=i},"onSelect"),onCancel:o(()=>{},"onCancel")}),{exitOnCtrlC:!1,patchConsole:!1});return await r.waitUntilExit(),r.cleanup(),t}o(Rk,"runSessionPicker");import pn from"chalk";var kk=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Ek=["\x1B[36m","\x1B[35m","\x1B[34m"],Ul=null,ja=!1;function jl(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=Ek[t%Ek.length],l="\x1B[0m",d=kk[e%kk.length];process.stdout.write(`\r${c}${d}${l} ${r}`)},"renderFrame"),s=setInterval(()=>{e++,e%10===0&&t++,i()},80);i();let a={stop:o(()=>{n||(n=!0,clearInterval(s),process.stdout.write("\r\x1B[K"))},"stop"),isStopped:o(()=>n,"isStopped"),updateText:o(c=>{r=c},"updateText")};return Ul=a,a}o(jl,"startWaitingDots");function Mk(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?pn.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):pn.cyan(`[KodaX] Provider: ${s.provider}`))},"onSessionStart"),onTextDelta:o(s=>{t&&(t.stop(),t=null),n=0,process.stdout.write(s),r=!0},"onTextDelta"),onThinkingDelta:o(s=>{n+=s.length,t||(t=jl()),t.updateText(`Thinking... (${n} chars)`)},"onThinkingDelta"),onThinkingEnd:o(s=>{if(t&&(t.stop(),t=null),s){let a=s.replace(/\n/g," "),c=a.length>100?a.slice(0,100)+"...":a;console.log(pn.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(ja||(process.stdout.write(`
|
|
172
|
+
`),ja=!0),t=jl()),t.updateText(`Executing ${s.name}...`)},"onToolUseStart"),onToolInputDelta:o((s,a,c)=>{let l=a.length;t&&!t.isStopped()?t.updateText(`Receiving ${s}... (${l} chars)`):(!t||t.isStopped())&&(ja||(process.stdout.write(`
|
|
173
|
+
`),ja=!0,r=!1),t=jl(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(pn.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(pn.dim(`[RepoIntel] ${s.summary}`))},"onRepoIntelligenceTrace"),onSidecarMessage:o(s=>{t&&(t.stop(),t=null);let a=s.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":s.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise",c=s.suggestedFix?`${s.content}
|
|
174
|
+
Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(pn.yellow(`
|
|
175
|
+
${a}
|
|
176
|
+
`)+pn.dim(`${c}
|
|
177
|
+
`))},"onSidecarMessage"),onStreamEnd:o(()=>{Ul&&!Ul.isStopped()&&Ul.stop(),Ul=null,ja=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=jl(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:o((s,a)=>{t&&!t.isStopped()&&t.stop(),ja=!1,r=!1,console.log(pn.magenta(`
|
|
178
|
+
[Assistant]`)),t=jl()},"onIterationStart"),onCompactStart:o(()=>{console.log(pn.dim(`
|
|
179
|
+
[KodaX] Compacting context...`))},"onCompactStart"),onCompact:o(s=>{console.log(pn.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:o(()=>{},"onCompactEnd"),onRetry:o((s,a,c)=>{console.log(pn.yellow(`[KodaX] Retry ${a}/${c}: ${s}`))},"onRetry"),onProviderRecovery:o(s=>{let a=s.recoveryAction==="non_streaming_fallback"?"switching to non-streaming fallback":s.recoveryAction==="manual_continue"?"awaiting manual continue":`recovering ${s.attempt}/${s.maxAttempts}`;console.log(pn.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:o(()=>{t&&(t.stop(),t=null),console.log(pn.green(`
|
|
180
|
+
[KodaX] Done!`))},"onComplete"),onError:o(s=>{t&&(t.stop(),t=null),console.log(pn.red(`
|
|
181
|
+
[Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:o(s=>{console.log(pn.yellow(`
|
|
182
|
+
[Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:o(async(s,a)=>!0,"beforeToolExecute")}}o(Mk,"createCliEvents");function Xt(e){return{...e?.sessionId!==void 0?{sessionId:e.sessionId}:{},...e?.seq!==void 0?{seq:e.seq}:{},...e?.turnId!==void 0?{turnId:e.turnId}:{},...e?.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e?.timestamp!==void 0?{timestamp:e.timestamp}:{},...e?.workflowCorrelation!==void 0?{workflowCorrelation:e.workflowCorrelation}:{},...e?.childAgentId!==void 0?{childAgentId:e.childAgentId}:{},...e?.childAgentName!==void 0?{childAgentName:e.childAgentName}:{},...e?.parentToolId!==void 0?{parentToolId:e.parentToolId}:{},...e?.liveOnly!==void 0?{liveOnly:e.liveOnly}:{}}}o(Xt,"activityMetaFields");function zi(e){return{...e.sessionId!==void 0?{sessionId:e.sessionId}:{},...e.seq!==void 0?{seq:e.seq}:{},...e.turnId!==void 0?{turnId:e.turnId}:{},...e.deliveryId!==void 0?{deliveryId:e.deliveryId}:{},...e.timestamp!==void 0?{timestamp:e.timestamp}:{}}}o(zi,"liveMetaFields");function st(e,t){e.write(`${JSON.stringify(t)}
|
|
183
|
+
`)}o(st,"writeJsonLine");function EB(e,t){return{type:"error",name:e.name,message:e.message,stack:e.stack,...Xt(t)}}o(EB,"serializeError");function Ak(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:o(r=>{st(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId,...zi(r)})},"onSessionStart"),onTurnStarted:o(r=>{st(t,{type:"turn.started",...r})},"onTurnStarted"),onTurnCompleted:o(r=>{st(t,{type:"turn.completed",...r})},"onTurnCompleted"),onTurnFailed:o(r=>{st(t,{type:"turn.failed",...r})},"onTurnFailed"),onIterationStart:o((r,i,s)=>{st(t,{type:"iteration.start",iter:r,maxIter:i,...Xt(s)})},"onIterationStart"),onIterationEnd:o(r=>{st(t,{type:"iteration.end",iter:r.iter,maxIter:r.maxIter,tokenCount:r.tokenCount,tokenSource:r.tokenSource,usage:r.usage,contextTokenSnapshot:r.contextTokenSnapshot,...r.scope!==void 0?{scope:r.scope}:{},...zi(r)})},"onIterationEnd"),onTextDelta:o((r,i)=>{st(t,{type:"text.delta",text:r,...Xt(i)})},"onTextDelta"),onThinkingDelta:o((r,i)=>{st(t,{type:"thinking.delta",text:r,...Xt(i)})},"onThinkingDelta"),onThinkingEnd:o((r,i)=>{st(t,{type:"thinking.end",thinking:r,...Xt(i)})},"onThinkingEnd"),onToolUseStart:o((r,i)=>{st(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...Xt(i)})},"onToolUseStart"),onToolInputDelta:o((r,i,s)=>{st(t,{type:"tool.input.delta",toolName:r,partialJson:i,toolId:s?.toolId,...Xt(s)})},"onToolInputDelta"),onToolResult:o((r,i)=>{st(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...Xt(i)})},"onToolResult"),onStreamEnd:o(r=>{st(t,{type:"stream.end",...Xt(r)})},"onStreamEnd"),onCompactStart:o(r=>{st(t,{type:"compact.start",...Xt(r)})},"onCompactStart"),onCompact:o((r,i)=>{st(t,{type:"compact.finish",estimatedTokens:r,...Xt(i)})},"onCompact"),onCompactStats:o(r=>{st(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter,...zi(r)})},"onCompactStats"),onCompactEnd:o(r=>{st(t,{type:"compact.end",...Xt(r)})},"onCompactEnd"),onRetry:o((r,i,s,a)=>{st(t,{type:"retry",reason:r,attempt:i,maxAttempts:s,...Xt(a)})},"onRetry"),onProviderRecovery:o((r,i)=>{st(t,{type:"provider.recovery",stage:r.stage,reasonCode:r.errorClass,attempt:r.attempt,maxAttempts:r.maxAttempts,delayMs:r.delayMs,nextAt:Date.now()+r.delayMs,recoveryAction:r.recoveryAction,fallbackUsed:r.fallbackUsed,...Xt(i)})},"onProviderRecovery"),onProviderRateLimit:o((r,i,s,a)=>{st(t,{type:"provider.rate_limit",attempt:r,maxRetries:i,delayMs:s,...Xt(a)})},"onProviderRateLimit"),onRepoIntelligenceTrace:o(r=>{st(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace,...zi(r)})},"onRepoIntelligenceTrace"),onSidecarMessage:o(r=>{st(t,{type:"sidecar.message",source:r.source,verdict:r.verdict,recipient:r.recipient,delivery:r.delivery,content:r.content,...r.suggestedFix!==void 0?{suggestedFix:r.suggestedFix}:{},...r.trace!==void 0?{trace:r.trace}:{},...zi(r)})},"onSidecarMessage"),onToolProgress:o((r,i)=>{st(t,{type:"tool.progress",id:r.id,message:r.message,...Xt(i)})},"onToolProgress"),onManagedTaskStatus:o(r=>{st(t,{type:"managed_task.status",agentMode:r.agentMode,harnessProfile:r.harnessProfile,phase:r.phase,activeWorkerId:r.activeWorkerId,activeWorkerTitle:r.activeWorkerTitle,childFanoutClass:r.childFanoutClass,childFanoutCount:r.childFanoutCount,currentRound:r.currentRound,maxRounds:r.maxRounds,note:r.note,detailNote:r.detailNote,globalWorkBudget:r.globalWorkBudget,budgetUsage:r.budgetUsage,budgetApprovalRequired:r.budgetApprovalRequired,...zi(r)})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:o(r=>{st(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview,...zi(r)})},"onScoutSuspiciousCompletion"),onComplete:o(r=>{st(t,{type:"complete",...Xt(r)})},"onComplete"),onError:o((r,i)=>{st(n,EB(r,i))},"onError")}}o(Ak,"createJsonEvents");import{jsx as St,jsxs as In}from"react/jsx-runtime";import PB,{useMemo as Gl}from"react";var ky=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,_k=/^---\s+(.+)$/;function Lk(e){if(!e)return[];let t=e.split(`
|
|
184
|
+
`),n=[],r=[],i=[],s=!1,a=null,c=null,l=0,d=0,f=o(()=>{if(r.length===0)return;let m=r.join(`
|
|
185
|
+
`);m.length>0&&n.push({kind:"text",text:m}),r=[]},"flushText"),p=o(()=>{i.length!==0&&(n.push({kind:"diff",text:i.join(`
|
|
186
|
+
`),addedLines:l,removedLines:d,filePath:c}),i=[],l=0,d=0,c=null)},"flushDiff");for(let m=0;m<t.length;m++){let h=t[m];if(!s){let R=_k.exec(h);if(R){let T=Math.min(m+3,t.length-1),w=!1;for(let M=m+1;M<=T;M++)if(t[M]?.startsWith("+++ ")||ky.test(t[M]??"")){w=!0;break}if(w){f(),s=!0,a=R[1]??null,c=a,i.push(h);continue}}if(ky.test(h)){f(),s=!0,i.push(h);continue}r.push(h);continue}let S=_k.exec(h);if(S){let R=Math.min(m+3,t.length-1),T=!1;for(let w=m+1;w<=R;w++)if(t[w]?.startsWith("+++ ")||ky.test(t[w]??"")){T=!0;break}if(T){p(),c=S[1]??null,i.push(h);continue}}let C=h[0];if(C==="+"||C==="-"||C===" "||C==="@"||h===""){C==="+"&&!h.startsWith("+++ ")&&l++,C==="-"&&!h.startsWith("--- ")&&d++,i.push(h);continue}p(),s=!1,a=null,r.push(h)}return p(),f(),n}o(Lk,"parseUnifiedDiff");function Pk(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}o(Pk,"containsUnifiedDiff");import{jsxs as Ua,jsx as MB}from"react/jsx-runtime";import AB from"react";function _B(e){return e.startsWith("+++ ")?{text:e,kind:"file-header"}:e.startsWith("--- ")?{text:e,kind:"file-header"}:e.startsWith("@@ ")?{text:e,kind:"hunk-header"}:e.startsWith("+")?{text:e,kind:"add"}:e.startsWith("-")?{text:e,kind:"remove"}:{text:e,kind:"context"}}o(_B,"classifyLine");function LB(e,t){switch(e){case"add":return t.colors.success;case"remove":return t.colors.error;case"hunk-header":case"file-header":return t.colors.dim;default:return}}o(LB,"colorFor");var Ey=AB.memo(({text:e,addedLines:t,removedLines:n,filePath:r,theme:i,maxLines:s=16,extremeThreshold:a=200})=>{let c=i??te("dark"),l=e.split(`
|
|
187
|
+
`),d=l.map(_B),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return Ua(E,{flexDirection:"column",marginLeft:4,children:[r&&Ua(I,{dimColor:!0,children:[r," ",f]}),Ua(I,{dimColor:!0,children:["[diff too large to render inline \u2014 ",l.length," lines, ",t,"+ / ",n,"-]"]})]});let p,m=0;if(l.length>s){let h=Math.floor(s/2),S=d.slice(0,h),C=d.slice(-h);m=l.length-S.length-C.length,p=[...S,{text:"",kind:"context"},...C]}else p=d;return Ua(E,{flexDirection:"column",marginLeft:4,children:[r&&Ua(I,{dimColor:!0,children:[r," ",f]}),p.map((h,S)=>{if(S===Math.floor(s/2)&&m>0&&h.kind==="context"&&h.text==="")return Ua(I,{dimColor:!0,children:["... ",m," lines collapsed ..."]},`collapse-${S}`);let R=LB(h.kind,c);return MB(I,{color:R,children:h.text||" "},S)})]})});Ey.displayName="DiffHunk";function $k(e){switch(e){case j.Scheduled:return"\u25CB";case j.Validating:return"\u25D0";case j.AwaitingApproval:return"\u23F8";case j.Executing:return"\u25CF";case j.Success:return"\u2713";case j.Error:return"\u2717";case j.Cancelled:return"\u2298";default:return"?"}}o($k,"getStatusIcon");function Dk(e,t){switch(e){case j.Scheduled:case j.Validating:return t.colors.dim;case j.AwaitingApproval:return t.colors.accent;case j.Executing:return t.colors.primary;case j.Success:return t.colors.success??t.colors.primary;case j.Error:return t.colors.error;case j.Cancelled:return t.colors.dim;default:return t.colors.text}}o(Dk,"getStatusColor");function $B(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o($B,"formatDuration");function DB(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}o(DB,"formatInputSummary");var Ok=o(({status:e,theme:t})=>{let n=t??Gl(()=>te("dark"),[]),r=$k(e),i=Dk(e,n);return St(I,{color:i,children:r})},"ToolStatusBadge"),My=o(({progress:e,width:t=20,theme:n})=>{let r=n??Gl(()=>te("dark"),[]),i=Math.max(0,Math.min(100,e)),s=Math.round(i/100*t),a=t-s,c="\u2588".repeat(s),l="\u2591".repeat(a);return In(E,{children:[St(I,{color:r.colors.primary,children:c}),St(I,{dimColor:!0,children:l}),In(I,{children:[" ",i,"%"]})]})},"ToolProgressBar"),Ay=o(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??Gl(()=>te("dark"),[]),i=$k(e.status),s=Dk(e.status,r),a=DB(e.input),c=$B(e.startTime,e.endTime);return t?In(E,{children:[In(I,{color:s,children:[i," "]}),St(I,{color:r.colors.text,children:e.name})]}):In(E,{flexDirection:"column",marginLeft:2,children:[In(E,{children:[In(I,{color:s,children:[i," "]}),St(I,{color:r.colors.text,bold:!0,children:e.name}),a&&In(I,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===j.Executing&&St(E,{marginLeft:2,children:St(My,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===j.Executing&&St(E,{flexDirection:"column",marginLeft:2,children:e.progressLines.slice(-5).map((l,d)=>St(I,{dimColor:!0,children:l},d))}),e.error&&St(E,{marginLeft:2,children:St(I,{color:r.colors.error,children:e.error})}),e.status===j.Success&&typeof e.output=="string"&&e.output.length>0&&St(Nk,{output:e.output,theme:r}),c&&e.status!==j.Executing&&St(E,{marginLeft:2,children:In(I,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),Nk=PB.memo(({output:e,theme:t})=>{if(!Pk(e))return St(E,{marginLeft:2,children:St(I,{dimColor:!0,children:e})});let n=Lk(e);return St(E,{flexDirection:"column",marginLeft:2,children:n.map((r,i)=>r.kind==="text"?St(I,{dimColor:!0,children:r.text},i):St(Ey,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},i))})});Nk.displayName="ToolOutputBlock";var Bk=o(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let i=r??Gl(()=>te("dark"),[]);if(e.length===0)return null;let s=Gl(()=>{let c={[j.Scheduled]:0,[j.Validating]:0,[j.AwaitingApproval]:0,[j.Executing]:0,[j.Success]:0,[j.Error]:0,[j.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[j.Success],l=s[j.Error],d=s[j.Executing]+s[j.Scheduled]+s[j.Validating];return St(E,{flexDirection:"column",marginBottom:1,children:In(E,{children:[St(I,{color:i.colors.accent,bold:!0,children:a}),In(I,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return In(E,{flexDirection:"column",marginBottom:1,children:[In(E,{children:[St(I,{color:i.colors.accent,bold:!0,children:a}),In(I,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>St(Ay,{tool:c,theme:i},c.id))]})},"ToolGroup");import{jsxs as Hk,jsx as OB}from"react/jsx-runtime";var Wk=o(({pendingInputs:e})=>{let t=H0(e);if(!t)return null;let n=te("dark");return Hk(E,{children:[Hk(I,{color:n.colors.hint,children:["\u23F3"," "]}),OB(I,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as Fk from"child_process";var Vl;function NB(){if(process.platform!=="win32")return null;if(Vl!==void 0)return Vl;try{Vl=Fk.execFileSync(process.env.ComSpec??"cmd.exe",["/d","/s","/c","chcp"],{encoding:"utf8",stdio:["ignore","pipe","ignore"],windowsHide:!0}).match(/(\d{3,5})/)?.[1]??null}catch{Vl=null}return Vl}o(NB,"detectWindowsCodePage");function Kl(){let e=process.env;return!!(e.COLORTERM==="truecolor"||e.COLORTERM==="24bit"||e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="gnome-terminal")}o(Kl,"supportsTrueColor");function _y(){if(Kl())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}o(_y,"supports256Colors");function Wr(){let e=process.env,t=e.LC_ALL||"",n=e.LC_CTYPE||"",r=e.LANG||"";if(t==="C"||t==="POSIX"||n==="C"||n==="POSIX"||r==="C"||r==="POSIX")return!1;let i=`${t}|${n}|${r}`.toLowerCase();return i.includes("utf-8")||i.includes("utf8")?!0:process.platform==="win32"?e.WT_SESSION||e.TERM_PROGRAM==="vscode"?!0:NB()==="65001":!0}o(Wr,"supportsUnicode");function Ly(){let e=process.env;return!!(e.TERM_PROGRAM==="iTerm.app"||e.WT_SESSION||e.TERM==="xterm-kitty"||e.TERM_PROGRAM==="vscode"||e.TERM_PROGRAM==="Apple_Terminal"||e.TERM_PROGRAM==="gnome-terminal"||e.COLORTERM)}o(Ly,"supportsEmoji");function Py(){if(process.stdout?.columns)return process.stdout.columns;let t=process.env.COLUMNS;if(t){let n=Number.parseInt(t,10);if(!Number.isNaN(n)&&n>0)return n}return 80}o(Py,"getTerminalWidth");function $y(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}o($y,"isScreenReader");function BB(){return process.stdout?.isTTY??!1}o(BB,"isTTY");function jk(){return{trueColor:Kl(),colors256:_y(),unicode:Wr(),emoji:Ly(),tty:BB(),columns:Py(),screenReader:$y()}}o(jk,"detectTerminalCapabilities");var Ga=class{static{o(this,"ConsoleCapturer")}captured=[];originalLog=null;start(){this.captured=[],this.originalLog=console.log,console.log=(...t)=>{let n=t.map(r=>typeof r=="string"?r:String(r)).join(" ");this.captured.push(n)}}stop(){return this.originalLog!==null&&(console.log=this.originalLog,this.originalLog=null),this.captured}getCaptured(){return[...this.captured]}clear(){this.captured=[]}};async function Uk(e){let t=new Ga;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(Uk,"withCapture");function Gk(e){let t=new Ga;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(Gk,"withCaptureSync");import*as rE from"readline";import se from"chalk";import pr from"chalk";var HB=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],WB=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"},{key:"a",label:"Always",description:"Always allow this kind of action",value:"always"}];function FB(e,t=!0){return e.map(n=>{let r=pr.dim(`[${n.key}]`);return t?`${r} ${pr.cyan(n.label)} ${pr.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}o(FB,"formatOptions");function Va(){return process.stdout.columns??80}o(Va,"getTerminalWidth");function jB(){return Wr()}o(jB,"supportsUnicode");function UB(){let e=jB();return{success:e?"\u2713":"[OK]",error:e?"\u2717":"[X]",warning:e?"\u26A0":"[!]",info:e?"\u2139":"[i]",arrow:e?"\u2192":"->",bullet:e?"\u2022":"*",check:e?"\u2713":"[v]",cross:e?"\u2717":"[x]"}}o(UB,"getSymbols");async function GB(e,t){let{message:n,default:r,options:i,showDescription:s=!0}=t,a=i??HB,c=FB(a,s);console.log(),console.log(pr.cyan(`? ${n}`));let l=Va();if(c.length>l-4)for(let d of a){let f=pr.dim(` [${d.key}]`);console.log(`${f} ${pr.cyan(d.label)}`),s&&console.log(pr.dim(` ${d.description}`))}else console.log(pr.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question(pr.dim(` Choose${f}: `),p=>{let m=p.trim().toLowerCase()||r||"",h=a.find(S=>S.key===m||S.value===m||S.label.toLowerCase()===m);d(h?h.value:m===""?"no":m)})})}o(GB,"confirmEnhanced");async function zl(e,t,n,r){let{isOutsideProject:i=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits"}=r??{},c=UB(),l,d,f={...n,...i?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},p=gp(t,f),m=p.details.map(S=>` ${pr.dim(S)}`);i||s?(l=`${pr.yellow(c.warning)} Safety Warning`,m.length>0&&(l+=`
|
|
188
|
+
${m.join(`
|
|
189
|
+
`)}`),d=[{key:"y",label:"Yes",description:"Allow this once",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]):(l=p.title,m.length>0&&(l+=`
|
|
190
|
+
${m.join(`
|
|
191
|
+
`)}`),d=a==="accept-edits"?WB:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let h=await GB(e,{message:l,default:"n",options:d});return h==="always"?{confirmed:!0,always:!0}:{confirmed:h==="yes"}}o(zl,"confirmToolExecution");import bn from"chalk";var Bp=/\x1b\[[0-9;]*m/g,Fr={SAVE_CURSOR:"\x1B[s",RESTORE_CURSOR:"\x1B[u",MOVE_TO_BOTTOM:"\x1B[999;1H",CLEAR_LINE:"\x1B[2K",RESET:"\x1B[0m",REVERSE:"\x1B[7m"};function VB(e,t){if(t<=0)return"";let n="",r=0,i=0;for(;i<e.length&&r<t;){Bp.lastIndex=i;let s=Bp.exec(e);if(s&&s.index===i){n+=s[0],i+=s[0].length;continue}n+=e[i],r+=1,i+=1}return n}o(VB,"truncateAnsi");function Vk(e){return Bp.lastIndex=0,e.replace(Bp,"")}o(Vk,"stripAnsi");function KB(e,t=Va()){let n=[],r=e.sessionId.slice(0,6);n.push(bn.dim(`#${r}`));let i=e.permissionMode==="plan"?bn.blue:e.permissionMode==="accept-edits"?bn.cyan:e.permissionMode==="auto-in-project"?bn.magenta:bn.green,s=Ns(e.permissionMode),c=(e.permissionMode==="auto"||e.permissionMode==="auto-in-project")&&e.autoModeEngine?e.autoModeEngine==="llm"?bn.green("[LLM]"):bn.yellow("[RULES]"):"";n.push(i(s)+c);let l=e.reasoningEffortLabel??e.effort??e.reasoningMode;if(l&&n.push(bn.yellow(`effort:${l}`)),n.push(bn.cyan(e.provider)),e.tokenUsage){let p=e.tokenUsage.total,m=p>=1e3?`${(p/1e3).toFixed(1)}k`:String(p);n.push(bn.dim(`${m}t`))}if(e.currentTool&&n.push(bn.magenta(`tool:${e.currentTool}`)),e.projectInfo){let{completedFeatures:p,totalFeatures:m}=e.projectInfo,h=m>0?Math.round(p/m*100):0;n.push(bn.dim(`${p}/${m} [${h}%]`))}e.messageCount!==void 0&&n.push(bn.dim(`${e.messageCount} msgs`));let d=n.join(bn.dim(" | ")),f=t-1;return Vk(d).length>f&&(d=`${VB(d,Math.max(0,f-3))}...`),d}o(KB,"buildStatusBarContent");var Hp=class{static{o(this,"StatusBar")}state;visible=!1;constructor(t){this.state=t}update(t){this.state={...this.state,...t},this.visible&&this.render()}show(){this.visible||(this.visible=!0,this.render())}hide(){this.visible&&(this.visible=!1,this.clear())}toggle(){if(this.visible){this.hide();return}this.show()}getLinesUsed(){return 1}render(){let t=Va(),n=KB(this.state,t),r=n+" ".repeat(Math.max(0,t-Vk(n).length));process.stdout.write(Fr.SAVE_CURSOR+Fr.MOVE_TO_BOTTOM+Fr.CLEAR_LINE+Fr.REVERSE+r+Fr.RESET+Fr.RESTORE_CURSOR)}clear(){process.stdout.write(Fr.SAVE_CURSOR+Fr.MOVE_TO_BOTTOM+Fr.CLEAR_LINE+Fr.RESTORE_CURSOR)}};function Kk(e,t,n,r,i="off",s,a){return{sessionId:e,permissionMode:t,reasoningMode:i,effort:s,reasoningEffortLabel:a,provider:n,model:r}}o(Kk,"createStatusBarState");function zk(){if(!process.stdout.isTTY||vi())return!1;let e=process.env.TERM??"",t=process.env.TERM_PROGRAM??"",n=["xterm","xterm-256color","screen","screen-256color","tmux","tmux-256color","vt100","vt220"],r=["iTerm.app","Terminal.app","Apple_Terminal","vscode","Hyper","Alacritty","kitty","Windows Terminal"];return n.some(i=>e.startsWith(i))||r.includes(t)||process.env.WT_SESSION!==void 0}o(zk,"supportsStatusBar");import sQ from"chalk";function Yk(){return{prompt:"\u276F",success:"\u2713",error:"\u2717",warning:"\u26A0",info:"\u2139",arrow:"\u2192",bullet:"\u2022",check:"\u2713",cross:"\u2717",spinner:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]}}o(Yk,"getUnicodeSymbols");function Dy(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}o(Dy,"getAsciiSymbols");var Xk={name:"dark",description:"Dark theme with vibrant colors",colors:{primary:"#00D7FF",secondary:"#9D9D9D",accent:"#FF6B6B",text:"#FFFFFF",dim:"#6B6B6B",success:"#4CAF50",warning:"#FF9800",error:"#F44336",info:"#2196F3"},symbols:Wr()?Yk():Dy(),spinner:{frames:Wr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},zB={name:"light",description:"Light theme for bright terminals",colors:{primary:"#0066CC",secondary:"#666666",accent:"#CC0000",text:"#000000",dim:"#999999",success:"#228B22",warning:"#CC7A00",error:"#CC0000",info:"#0066CC"},symbols:Wr()?Yk():Dy(),spinner:{frames:Wr()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},YB={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:Dy(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},XB={dark:Xk,light:zB,minimal:YB},qk=Xk;function Yi(){return qk}o(Yi,"getCurrentTheme");function Yl(e){let t=XB[e];return t?(qk=t,!0):!1}o(Yl,"setTheme");function qB(){if(!process.stdout.isTTY){Yl("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){Yl("dark");return}Yl("dark")}o(qB,"autoSelectTheme");qB();var Wp=class{static{o(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
|
|
192
|
+
${t}`),console.log("\u2500".repeat(t.length)),n.forEach((r,i)=>{console.log(` ${i+1}. ${r}`)}),console.log(" 0. Cancel"),console.log(""),new Promise(r=>{this.rl.question("Enter choice (0 to cancel): ",i=>{let s=i.trim();if(s==="0"||s===""){r(void 0);return}let a=parseInt(s,10)-1;if(isNaN(a)||a<0||a>=n.length){console.log("Invalid choice. Please try again."),r(void 0);return}r(n[a])})})}async confirm(t){return new Promise(n=>{this.rl.question(`${t} (y/N): `,r=>{let i=r.trim().toLowerCase();n(i==="y"||i==="yes")})})}async input(t,n){let r=n?`${t} [${n}]: `:`${t}: `;return new Promise(i=>{this.rl.question(r,s=>{let a=s.trim();if(a===""&&n!==void 0){i(n);return}i(a||void 0)})})}};import*as Jk from"child_process";import*as ql from"path";import*as Xl from"fs";import*as Qk from"os";import jr from"chalk";function Zk(e,t){let n=Yi(),r=e==="plan"?jr.hex(n.colors.warning):jr.hex(n.colors.success),i=t.model??Ln(t.provider)??t.provider,s=kr({provider:t.provider,model:t.model,effort:Us(t),effortOverride:t.effortOverride,thinking:t.thinking,reasoningMode:t.reasoningMode}),a=Va();if(a<60){let l=e==="plan"?"?":n.symbols.prompt;return r(`${l} `)}if(a<100){let l=jr.hex(n.colors.dim)(`[${s}]`);return r(`kodax:${e}${l}> `)}let c=jr.hex(n.colors.info)(`[effort:${s}]`);return r(`kodax:${e} (${t.provider}:${i})${c}> `)}o(Zk,"getPrompt");async function eE(e,t){let n=Yi(),r=[],i=await new Promise(s=>{e.question(t,s)});if(i===""||i.toLowerCase()==="/e")return Oy(r.join(`
|
|
193
|
+
`));for(r.push(i);JB(r.join(`
|
|
194
|
+
`));){let s=jr.hex(n.colors.dim)("... "),a=await new Promise(c=>{e.question(s,c)});r.push(a)}return r.join(`
|
|
195
|
+
`).replace(/\\\n/g,`
|
|
196
|
+
`)}o(eE,"askInput");async function Oy(e){let t=ql.join(Qk.tmpdir(),"kodax"),n=ql.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await Xl.promises.mkdir(t,{recursive:!0}),await Xl.promises.writeFile(n,e,"utf-8");let r=process.env.EDITOR??process.env.VISUAL??(process.platform==="win32"?"notepad.exe":"nano");if(r.includes("/")||r.includes("\\")||r.includes("&&")||r.includes("|")){let a=ql.basename(r);console.log(jr.yellow(`
|
|
197
|
+
[Security] Editor path sanitized: ${a}`)),r=a}console.log(jr.dim(`
|
|
198
|
+
[Opening editor: ${r}]`));let i=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(i?jr.dim(`Note: Please close Notepad manually after editing to continue.
|
|
199
|
+
`):jr.dim(`Save and close the editor to continue...
|
|
200
|
+
`)),Jk.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await Xl.promises.readFile(n,"utf-8")).trim()}catch(r){let i=r instanceof Error?r:new Error(String(r));return console.log(jr.red(`
|
|
201
|
+
[Editor Error] ${i.message}`)),e}finally{try{await Xl.promises.unlink(n)}catch{}}}o(Oy,"openExternalEditor");function JB(e){if(e.endsWith("\\")&&!e.endsWith("\\\\"))return!0;let t={"(":0,"[":0,"{":0},n={")":"(","]":"[","}":"{"},r=null;for(let i=0;i<e.length;i++){let s=e[i];if(s!==void 0){if((s==='"'||s==="'"||s==="`")&&e[i-1]!=="\\"){r===s?r=null:r===null&&(r=s);continue}if(!r){if(s in t)t[s]+=1;else if(s in n){let a=n[s];a&&(t[a]-=1)}}}}return Object.values(t).some(i=>i>0)?!0:r!==null}o(JB,"needsContinuation");import ze from"chalk";function tE(e){e?.workspaceRoot&&(console.log(ze.dim(` Workspace: ${Mr(e)}`)),console.log(ze.dim(` Use /status workspace for runtime details.
|
|
202
|
+
`)))}o(tE,"printWorkspaceEntryNotice");function nE(e,t,n,r){let i=Yi(),s=e.model??Ln(e.provider)??e.provider,a=kr({provider:e.provider,model:e.model,effort:Us(e),effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=`
|
|
203
|
+
\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557
|
|
204
|
+
\u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 \u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D
|
|
205
|
+
\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D
|
|
206
|
+
\u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551 \u2588\u2588\u2554\u2588\u2588\u2557
|
|
207
|
+
\u2588\u2588\u2551 \u2588\u2588\u2557 \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2554\u255D \u2588\u2588\u2557
|
|
208
|
+
\u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D`,l=o(f=>ze.hex(f)(" \u258E "),"bar"),d=ze.hex(i.colors.dim)(" \xB7 ");if(console.log(ze.hex(i.colors.primary)(`
|
|
209
|
+
`+c)),console.log(""),console.log(l(i.colors.primary)+ze.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(i.colors.success)+ze.bold.hex(i.colors.text)(`v${yi}`)+d+ze.hex(i.colors.success)(`${e.provider}:${s}`)+d+ze.hex(i.colors.primary)(e.agentMode.toUpperCase())+ze.hex(i.colors.dim)(" / ")+ze.hex(i.colors.accent)(t)+ze.hex(i.colors.dim)(" \xB7 ")+ze.hex(i.colors.warning)(`effort:${a}`)),n){let f=Math.round(n.contextWindow/1e3),p=Math.round(n.contextWindow*n.triggerPercent/100/1e3),m=n.enabled?ze.hex(i.colors.success)("on"):ze.hex(i.colors.secondary)("off");console.log(l(i.colors.accent)+ze.hex(i.colors.secondary)(`ctx ${f}k \xB7 compaction `)+m+ze.hex(i.colors.secondary)(` @ ${n.triggerPercent}% (${p}k)`))}r&&console.log(l(i.colors.secondary)+ze.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+ze.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(ze.hex(i.colors.dim)(" Quick tips:")),console.log(ze.hex(i.colors.primary)(" /help ")+ze.hex(i.colors.dim)("Show all commands")),console.log(ze.hex(i.colors.primary)(" /mode ")+ze.hex(i.colors.dim)("Switch permission mode")),console.log(ze.hex(i.colors.primary)(" /clear ")+ze.hex(i.colors.dim)("Clear conversation")),console.log(ze.hex(i.colors.primary)(" @path ")+ze.hex(i.colors.dim)("Attach image to context")),console.log(ze.hex(i.colors.primary)(" !cmd ")+ze.hex(i.colors.dim)("Run read-only shell command")),console.log(ze.hex(i.colors.dim)(`
|
|
210
|
+
Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
|
|
211
|
+
`))}o(nE,"printStartupBanner");async function QB(e){return(await nd(e)).getSystemPromptSnippet()}o(QB,"buildClassicCliSkillsPrompt");function ZB(e,t){let n=td(e);t.context={...t.context,skillsPrompt:n.getSystemPromptSnippet()}}o(ZB,"syncClassicCliSkillsPrompt");var Hy=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=Ot(n.messages,n.lineage??r?.data.lineage);this.sessions.set(t,{createdAt:r?.createdAt??new Date().toISOString(),data:{...structuredClone(n),scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,extensionRecords:n.extensionRecords??r?.data.extensionRecords,tag:n.tag??r?.data.tag,lineage:i}})}async load(t){return structuredClone(this.sessions.get(t)?.data??null)}async getLineage(t){return structuredClone(this.sessions.get(t)?.data.lineage??null)}async setActiveEntry(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=As(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),messages:Nt(s),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async setLabel(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=_s(i.data.lineage,n,r);if(!s)return null;let a={...structuredClone(i.data),lineage:s};return this.sessions.set(t,{...i,data:a}),structuredClone(a)}async fork(t,n,r){let i=this.sessions.get(t);if(!i?.data.lineage)return null;let s=$s(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await Ms(),c={messages:Nt(s),title:r?.title??i.data.title,gitRoot:i.data.gitRoot,tag:i.data.tag,runtimeInfo:i.data.runtimeInfo?structuredClone(i.data.runtimeInfo):void 0,scope:i.data.scope??"user",extensionState:i.data.extensionState?structuredClone(i.data.extensionState):void 0,extensionRecords:i.data.extensionRecords?structuredClone(i.data.extensionRecords):void 0,lineage:s};return this.sessions.set(a,{createdAt:new Date().toISOString(),data:c}),{sessionId:a,data:structuredClone(c)}}async rewind(t,n){let r=this.sessions.get(t);if(!r?.data.lineage)return null;let i=n??Ls(r.data.lineage);if(!i)return null;let s=Ps(r.data.lineage,i);if(!s)return null;let a={...r.data,messages:Nt(s),lineage:s};return this.sessions.set(t,{...r,data:a}),structuredClone(a)}async list(t){return Array.from(this.sessions.entries()).filter(([,n])=>(n.data.scope??"user")==="user").map(([n,r])=>({id:n,title:r.data.title,msgCount:r.data.lineage?gi(r.data.lineage):r.data.messages.length,...r.data.tag!==void 0?{tag:r.data.tag}:{},...r.data.runtimeInfo?{runtimeInfo:structuredClone(r.data.runtimeInfo)}:{}}))}async delete(t){this.sessions.delete(t)}async deleteAll(t){this.sessions.clear()}};function Ny(e,t,n){e.runtimeInfo=n,e.gitRoot=n?.workspaceRoot??e.gitRoot,t.context={...t.context,gitRoot:e.gitRoot,executionCwd:n?.executionCwd??process.cwd()}}o(Ny,"applyRuntimeContext");function Fp(e,t){let n=t.runtimeSessionSnapshot;n&&("extensionState"in n&&(e.extensionState=n.extensionState?structuredClone(n.extensionState):{},e.extensionStateDirty=!0),"extensionRecords"in n&&(e.extensionRecords=n.extensionRecords?.map(r=>({...r}))??[],e.extensionRecordsDirty=!0))}o(Fp,"applyRuntimeSessionSnapshot");function ei(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(ei,"contextExtensionSessionData");function Ka(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(Ka,"markExtensionSessionPersisted");function eH(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(eH,"resolveInitialReasoningMode");var Wy={current:null};async function oE(e){let t=await Er({cwd:process.cwd()}),n=t.workspaceRoot??await Zr()??void 0,r=e.storage??new Hy;import("./paste-C33GZQV5.js").then(N=>N.prunePasteTmpDir()).catch(()=>{});let i=ed({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=gd(),a=Ws({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,configuredProvider:s.provider,defaultProvider:Zu}),c=Fs({explicitProvider:e.provider,environmentProvider:process.env.KODAX_PROVIDER,explicitModel:e.model,configuredProvider:s.provider,configuredModel:s.model}),l=eH(e,s),d=js({explicitEffort:e.effort,environmentEffort:process.env.KODAX_EFFORT,configuredEffort:s.effort}),f=yd(e,s,process.env.KODAX_EFFORT),p=e.agentMode??s.agentMode??"ama",m=l!=="off",h=Hs(s.permissionMode,"accept-edits")??"accept-edits",S=hd();h==="auto-in-project"&&S();let C=cd(),R=s.theme;R&&Yl(R);let T=Yi(),w={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:m,reasoningMode:l,agentMode:p,permissionMode:h,repoIntelligenceMode:C.mode,repoIntelligenceTrace:C.trace,fallbackProviders:s.fallbackProviders},M=h,P=Ks(),$=o(()=>Us(w),"resolveCurrentEffort"),H=o(N=>xi({provider:N?.provider??w.provider,model:N?.model??w.model,effort:w.effort,effortOverride:w.effortOverride,permissionMode:N?.permissionMode??w.permissionMode,planModeEffort:w.planModeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode}),"resolveCurrentRuntimeEffort"),U=o(N=>{let A=H(N);return kr({provider:N?.provider??w.provider,model:N?.model??w.model,effort:A.configuredEffort,effortOverride:w.effortOverride,thinking:w.thinking,reasoningMode:w.reasoningMode})},"formatCurrentReasoningEffortLabel"),W=0,J="",pe=!1,we=500,y=await ka({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});y.skillDynamicContext=e.skillDynamicContext,i?.writer.update({sessionId:y.sessionId});let O=o(N=>Yo(w,N,(A,B,Q)=>{console.log((A==="block"?se.red:se.yellow)(`
|
|
212
|
+
${B}`));for(let _ of Q)console.log(se.dim(_));console.log()}),"guardSessionTransition"),k=await Kw(n??void 0),{resolveProvider:D}=await import("./dist-4UIRSSFS.js"),ge=D(w.provider),le=k.contextWindow??ge.getEffectiveContextWindow?.(w.model)??ge.getContextWindow?.()??2e5,{loadAgentsFiles:z}=await import("./dist-4UIRSSFS.js"),fe=o(async()=>z({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ve=await fe();nE(w,w.permissionMode,{contextWindow:le,triggerPercent:k.triggerPercent,enabled:k.enabled},ve),tE(t);let $e=gT(()=>y.gitRoot??process.cwd()),ue=rE.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((N,A)=>{$e(N).then(B=>{A(null,B)}).catch(()=>{A(null,[[],N])})},"completer")}),De=wd(),q=await Ea({askUser:o(async(N,A,B)=>(await zl(ue,N.name,{...N.input,...B&&B.length>0?{_classifierSignals:B}:{}},{permissionMode:M,reason:`[auto-mode] ${A}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>w.provider,"getCurrentProviderName"),getCurrentModel:o(()=>w.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>M,"getCurrentPermissionMode"),autoModeSettings:De,log:o((N,A)=>{console.log(N==="warn"?se.yellow(A):se.dim(A))},"log"),onEngineChange:o(N=>{gn(M)&&Re?.update({autoModeEngine:N})},"onEngineChange"),extraCollectors:[Sd]}),oe=dd({getProvider:o(()=>D(w.provider),"getProvider"),getModel:o(()=>w.model??"","getModel")}),Ee=w.model??Ln(w.provider)??w.provider,Re=null;zk()&&(Re=new Hp(Kk(y.sessionId,w.permissionMode,w.provider,Ee,w.reasoningMode,$(),U({model:Ee}))),gn(M)&&Re.update({autoModeEngine:q.getGuardrail().getEngine()}));let He=`
|
|
213
|
+
Keyboard Shortcuts:
|
|
214
|
+
Tab Auto-complete (@paths, /commands)
|
|
215
|
+
Esc+Esc Edit last message
|
|
216
|
+
Ctrl+T Cycle reasoning effort
|
|
217
|
+
Ctrl+E Open external editor
|
|
218
|
+
Ctrl+R Search command history (built-in)
|
|
219
|
+
Ctrl+C Cancel current input
|
|
220
|
+
Ctrl+D Exit REPL`,Xe=o(()=>{console.log(se.dim(He))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(N,A)=>{if(A&&A.name==="escape"){let B=Date.now();B-W<we&&J&&(pe=!0,console.log(se.dim(`
|
|
221
|
+
[Opening editor with last message...]`)),ue.pause()),W=B}});let nt=await QB(n),ce=!0,G={...e,provider:a,model:c,effort:H().runtimeEffort,agentMode:p,reasoningMode:l,thinking:m,workflowRunsBaseDir:vr("workflow-runs",wi(process.cwd()).key),context:{...e.context,gitRoot:n,executionCwd:t.executionCwd,repoIntelligenceMode:C.mode,repoIntelligenceTrace:C.trace,skillsPrompt:nt},session:{...e.session,id:y.sessionId,persistedByHost:!0}},me=o(()=>{let N=H();G.effort=N.runtimeEffort,Re?.update({effort:N.configuredEffort,reasoningEffortLabel:U()})},"refreshCurrentEffort");Wy.current=null;let qe=o(async N=>{if(y.messages.length===0)return"empty";if(!O("Recovering into a new session"))return"blocked";let A=y.sessionId,B=y.lineage??Ot(y.messages);y.lineage=B;let Q=y.artifactLedger?structuredClone(y.artifactLedger):void 0,_=y.title||mo(y.messages),Te=ad({sourceSessionId:A,messages:y.messages,lineage:B,artifactLedger:Q,reason:"provider session recovery"});await r.save(A,{messages:y.messages,title:_,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:B,artifactLedger:Q,uiHistory:y.uiHistory,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}});let xe=Ui(),ke=Ot(Te.messages);await r.save(xe,{messages:Te.messages,title:Te.title,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:ke,artifactLedger:Q,...G.session?.tag!==void 0?{tag:G.session.tag}:{}});let rt=new Date().toISOString();y.sessionId=xe,y.messages=Te.messages,y.title=Te.title,y.contextTokenSnapshot=void 0,y.lineage=ke,y.artifactLedger=Q,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=rt,y.lastAccessed=rt,G.session={...G.session,id:xe},Re?.update({sessionId:xe,messageCount:y.messages.length}),i?.writer.update({sessionId:xe}),console.log(se.green(`
|
|
222
|
+
[Recovered session: ${xe}]`)),console.log(se.dim(` Source session saved: ${A}`)),console.log(se.dim(" Raw provider history was not replayed."));let Lt;try{Lt=await By(G,y,sd(N),y.messages,void 0,e.runtimeRunner,M)}catch(Gr){let kt=Gr instanceof Error?Gr.message:String(Gr);return console.log(se.red(`
|
|
223
|
+
[Recover failed] ${kt}`)),"failed"}y.messages=Lt.messages,y.contextTokenSnapshot=Lt.contextTokenSnapshot,Fp(y,Lt),y.artifactLedger=Ds(y.artifactLedger??[],Lt.artifactLedger??id(Lt.messages)),y.lineage=Ot(y.messages,y.lineage);let sn=mo(y.messages);return y.title=sn,Re?.update({messageCount:y.messages.length}),await r.save(y.sessionId,{messages:y.messages,title:sn,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y),"recovered"},"recoverCurrentSession"),et={getRuntimeStatus:e.getRuntimeStatus,exit:o(()=>{ce=!1,i?.shutdown(),ue.close()},"exit"),saveSession:o(async()=>{if(y.messages.length>0){let N=mo(y.messages);y.title=N,await r.save(y.sessionId,{messages:y.messages,title:N,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y)}},"saveSession"),startNewSession:o(()=>{y.sessionId=Ui(),y.title="",y.contextTokenSnapshot=void 0,y.artifactLedger=void 0,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,Ny(y,G,t),G.session={...G.session,id:y.sessionId},Re?.update({sessionId:y.sessionId,messageCount:0}),i?.writer.update({sessionId:y.sessionId})},"startNewSession"),loadSession:o(async N=>{let A=await r.load(N);if(A){if(!O("Resuming a saved session"))return"blocked";let B=await Er({cwd:process.cwd()}),Q=Un(A),_=Q??B;return Q?.workspaceRoot&&!Rd(Q)?(console.log(se.yellow(`
|
|
224
|
+
[Saved workspace unavailable]`)),console.log(se.dim(` Session workspace: ${Mr(Q)}`)),console.log(se.dim(` Falling back to current workspace: ${Mr(B)}`)),_=B):Q?.workspaceRoot&&B.workspaceRoot&&Q.workspaceRoot!==B.workspaceRoot&&(console.log(se.cyan(`
|
|
225
|
+
[Loading sibling workspace session]`)),console.log(se.dim(` Current workspace: ${Mr(B)}`)),console.log(se.dim(` Session workspace: ${Mr(Q)}`))),y.messages=A.messages,y.title=A.title,y.sessionId=N,y.contextTokenSnapshot=void 0,y.artifactLedger=A.artifactLedger,y.extensionState=A.extensionState?structuredClone(A.extensionState):void 0,y.extensionRecords=A.extensionRecords?.map(Te=>({...Te})),y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.lastAccessed=new Date().toISOString(),Ny(y,G,_),G.session={...G.session,id:N,tag:A.tag},Re?.update({sessionId:N,messageCount:A.messages.length}),i?.writer.update({sessionId:N}),console.log(se.green(`
|
|
226
|
+
[Loaded session: ${N}]`)),console.log(se.dim(` Messages: ${A.messages.length}`)),y.runtimeInfo?.workspaceRoot&&console.log(se.dim(` Workspace: ${Mr(y.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let N=await r.list(y.gitRoot??void 0);if(N.length===0){console.log(se.dim(`
|
|
227
|
+
[No saved sessions]`));return}console.log(se.bold(`
|
|
228
|
+
Recent Sessions:
|
|
229
|
+
`)),y.runtimeInfo?.workspaceRoot&&(console.log(se.dim(` Current workspace: ${Mr(y.runtimeInfo)}`)),console.log());for(let A of N.slice(0,10))if(console.log(` ${se.cyan(A.id)} ${se.dim(`(${A.msgCount} messages)`)} ${A.title.slice(0,40)}`),A.runtimeInfo?.workspaceRoot){let Q=y.runtimeInfo?.workspaceRoot===A.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(se.dim(` workspace: ${Mr(A.runtimeInfo)}${Q}`))}console.log()},"listSessions"),clearHistory:o(()=>{y.messages=[],y.contextTokenSnapshot=void 0},"clearHistory"),printHistory:o(()=>{if(y.messages.length===0){console.log(se.dim(`
|
|
230
|
+
[No conversation history]`));return}console.log(se.bold(`
|
|
231
|
+
Conversation History:
|
|
232
|
+
`));let N=y.messages.slice(-20);for(let A=0;A<N.length;A++){let B=N[A],Q=se.cyan(B.role.padEnd(10)),_=typeof B.content=="string"?B.content:"[Complex content]",Te=_.slice(0,60).replace(/\n/g," "),xe=_.length>60?"...":"";console.log(` ${(A+1).toString().padStart(2)}. ${Q} ${Te}${xe}`)}console.log()},"printHistory"),switchProvider:o((N,A)=>{let B=H({provider:N,model:A});w.provider=N,w.model=A,G.provider=N,G.model=A,G.effort=B.runtimeEffort;let Q=A??Ln(N);if(!Q)try{Q=qS(N)?.getModel()??N}catch{Q=N}Re?.update({provider:N,model:Q,effort:B.configuredEffort,reasoningEffortLabel:U({provider:N,model:Q})}),B.diagnostic&&console.log(se.yellow(`
|
|
233
|
+
[${B.diagnostic}]`))},"switchProvider"),setThinking:o(N=>{w.thinking=N,G.thinking=N,w.reasoningMode=N?"auto":"off",G.reasoningMode=w.reasoningMode,Re?.update({reasoningMode:w.reasoningMode,reasoningEffortLabel:U()})},"setThinking"),setEffort:o(N=>{w.effort=N,w.effortOverride=N!==void 0,me()},"setEffort"),setReasoningMode:o(N=>{let A=N!=="off";w.reasoningMode=N,w.thinking=A,G.reasoningMode=N,G.thinking=A,Re?.update({reasoningMode:N,reasoningEffortLabel:U()})},"setReasoningMode"),setAgentMode:o(N=>{w.agentMode=N,G.agentMode=N},"setAgentMode"),setPermissionMode:o(N=>{w.permissionMode=N,M=N,me();let A=gn(N)?q.getGuardrail().getEngine():void 0;Re?.update({permissionMode:N,autoModeEngine:A}),N==="auto-in-project"&&S()},"setPermissionMode"),setRepoIntelligenceRuntime:o(N=>{N.mode!==void 0&&(w.repoIntelligenceMode=N.mode,process.env.KODAX_REPO_INTELLIGENCE=N.mode,G.context={...G.context,repoIntelligenceMode:N.mode}),N.trace!==void 0&&(w.repoIntelligenceTrace=N.trace,N.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,G.context={...G.context,repoIntelligenceTrace:N.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async N=>{await r.delete?.(N)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(y.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let N=await r.getLineage?.(y.sessionId);if(!N){console.log(se.dim(`
|
|
234
|
+
[No session tree available for this session]`));return}let A=hp(od(N));console.log(se.bold(`
|
|
235
|
+
Session Tree:
|
|
236
|
+
`));for(let B of A)console.log(` ${B}`);console.log()},"printSessionTree"),switchSessionBranch:o(async N=>{if(!O("Switching session branches"))return"blocked";let A=await r.setActiveEntry?.(y.sessionId,N,{summarizeCurrentBranch:!0});return A?(y.messages=A.messages,y.title=A.title,y.contextTokenSnapshot=void 0,Re?.update({messageCount:y.messages.length}),console.log(se.green(`
|
|
237
|
+
[Switched to tree entry: ${N}]`)),console.log(se.dim(` Messages: ${A.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(N,A)=>{if(!await r.setLabel?.(y.sessionId,N,A))return!1;let Q=A&&A.trim()?`checkpoint label set: ${A.trim()}`:"checkpoint label cleared";return console.log(se.green(`
|
|
238
|
+
[${Q}]`)),!0},"labelSessionBranch"),forkSession:o(async N=>{if(!O("Forking a session branch"))return"blocked";let A=await r.fork?.(y.sessionId,N);return A?(y.sessionId=A.sessionId,y.messages=A.data.messages,y.title=A.data.title,y.contextTokenSnapshot=void 0,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,Ny(y,G,Un(A.data)??y.runtimeInfo),G.session={...G.session,id:A.sessionId},Re?.update({sessionId:A.sessionId,messageCount:y.messages.length}),console.log(se.green(`
|
|
239
|
+
[Forked session: ${A.sessionId}]`)),console.log(se.dim(` Messages: ${A.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:qe,rewindSession:o(async N=>{if(!O("Rewinding session"))return"blocked";let A=await r.rewind?.(y.sessionId,N);return A?(y.messages=A.messages,y.title=A.title,y.contextTokenSnapshot=void 0,y.lastAccessed=new Date().toISOString(),Re?.update({messageCount:y.messages.length}),console.log(se.green(`
|
|
240
|
+
[Rewound session${N?` to ${N}`:" to previous turn"}]`)),console.log(se.dim(` Messages: ${A.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>Wy.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(gn(M))return q.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(N=>{gn(M)&&(q.getGuardrail().setEngine(N),Re?.update({permissionMode:M}))},"setAutoModeEngine"),createKodaXOptions:o(()=>{let N=o((B,Q)=>M!=="plan"?null:vo(B,Q,n??process.cwd()),"planModeBlockCheck"),A=gn(M)?[q.getGuardrail()]:void 0;return{...G,provider:w.provider,model:w.model,effort:H().runtimeEffort,thinking:w.thinking,reasoningMode:w.reasoningMode,guardrails:A,context:{...G.context,planModeBlockCheck:N},events:{...G.events,exitPlanMode:o(async B=>M!=="plan"?"not-in-plan-mode":(await zl(ue,"exit_plan_mode",{plan:B},{isProtectedPath:!1,permissionMode:M})).confirmed?(w.permissionMode="accept-edits",M="accept-edits",me(),Re?.update({permissionMode:"accept-edits"}),!0):!1,"exitPlanMode"),beforeToolExecute:o(async(B,Q)=>{let _=M,Te=Bs(_);if(_==="plan"){let xe=vo(B,Q,n??process.cwd());if(xe)return console.log(se.yellow(xe)),`${xe} Do not modify files while planning. Finish the plan first, then call exit_plan_mode with the finalized plan \u2014 the user will review and approve or reject.`}if(B==="bash"){let xe=Q.command??"";if(eo(xe))return!0}if(n&&Qr.has(B)){let xe=Q.path;if(xe&&Vs(xe,n))return(await zl(ue,B,Q,{isProtectedPath:!0,permissionMode:_})).confirmed?!0:(console.log(se.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if(Te.has(B)){if(_==="accept-edits"&&B==="bash"&&await Gs(B,Q,P,oe))return!0;let xe=await zl(ue,B,Q,{isOutsideProject:Q._outsideProject===!0,reason:Q._reason,permissionMode:_});if(!xe.confirmed)return console.log(se.dim("[Cancelled] Operation cancelled by user")),!1;xe.always&&_==="accept-edits"&&(Td(B,Q,!1),P=Ks())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:o(async()=>(ve=await fe(),ve),"reloadAgentsFiles"),readline:ue,ui:new Wp(ue)},on=o(async N=>{y.uiHistory=[...y.uiHistory??[],N];let A=y.title||mo(y.messages);y.title=A,await r.save(y.sessionId,{messages:y.messages,title:A,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,uiHistory:y.uiHistory,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}})},"appendPersistedUiHistoryItem"),Fe=o(async(N,A)=>{if(!Ad({error:N,messageCount:y.messages.length}))return!1;console.log(se.dim(`
|
|
241
|
+
${Oc}`));try{await on({type:"info",text:Oc})}catch(Te){let xe=Te instanceof Error?Te.message:String(Te);console.log(se.dim(`Could not persist recovery hint: ${xe}`))}let B=Qw(et);if(!B)return console.log(),!1;if(!await B(Md))return!1;let _;try{_=await et.recoverSession?.(A)}catch(Te){let xe=Te instanceof Error?Te.message:String(Te);return console.log(se.red(`
|
|
242
|
+
[Recover failed] ${xe}`)),!1}return _==="failed"&&console.log(se.dim(`Recovery session was created, but the continuation request still failed.
|
|
243
|
+
`)),_==="recovered"},"maybeRecoverAfterProviderError");ue.on("SIGINT",async()=>{console.log(se.dim(`
|
|
244
|
+
|
|
245
|
+
[Press /exit to quit]`)),ue.prompt()});let Jt=o(()=>{Re?.hide(),i?.shutdown(),ue.close()},"cleanup");process.on("exit",Jt),process.on("SIGTERM",Jt);let Wt=o(async(N,A)=>{if(fd({source:N.source}).action==="none")return!1;let Q=!1,_=o(ke=>{Q||(Q=!0,y.messages.push({role:"user",content:A||N.request,timestamp:new Date().toISOString()})),y.messages.push({role:"assistant",content:ke,timestamp:new Date().toISOString()}),Re?.update({messageCount:y.messages.length});let rt=mo(y.messages);y.title=rt,r.save(y.sessionId,{messages:y.messages,title:rt,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...G.session?.tag!==void 0?{tag:G.session.tag}:{}}).catch(Lt=>{let sn=Lt instanceof Error?Lt.message:String(Lt);console.log(se.red(`
|
|
246
|
+
[workflow] failed to save final answer: ${sn}
|
|
247
|
+
`))})},"commitWorkflowFinal"),Te={...et,onWorkflowRunMessage:o(ke=>{if(ke.type==="event")return;let rt=ke.text.trimEnd();if(rt.trim()){if(ke.type==="error"){console.log(se.red(`
|
|
248
|
+
${rt}
|
|
249
|
+
`));return}if(ke.type==="success"){console.log(se.green(`
|
|
250
|
+
${rt}
|
|
251
|
+
`));return}if(ke.type==="assistant"){console.log(`
|
|
252
|
+
${rt}
|
|
253
|
+
`),ke.final===!0&&_(rt);return}console.log(se.dim(`
|
|
254
|
+
${rt}
|
|
255
|
+
`))}},"onWorkflowRunMessage")},xe=await Ed({request:N.request,callbacks:Te,approval:w.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:N.displayName,processSource:N.processSource??"command",...N.builtin!==void 0?{builtin:N.builtin}:{}});return pd({outcome:xe})},"startWorkflowInvocation"),vn=o(async(N,A)=>{if(!N||typeof N!="object")return;if(N.workflow){await Wt(N.workflow,A);return}if(!N.invocation)return;let B=await wp({...G,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode},N.invocation,A,Q=>console.log(se.dim(`
|
|
256
|
+
${Q}`)));if(B.mode==="manual"){B.manualOutput&&console.log(se.yellow(`
|
|
257
|
+
${B.manualOutput}
|
|
258
|
+
`)),await B.finalize();return}if(!B.prompt||!B.options){await B.finalize();return}try{let Q=B.mode==="fork"?[]:y.messages,_=await By(B.options,y,B.prompt,Q,void 0,e.runtimeRunner,M);if(B.mode==="fork"){let Te=Yw(_.messages);Te.trim()&&(console.log(`
|
|
259
|
+
${Te}
|
|
260
|
+
`),y.messages.push({role:"assistant",content:Te,timestamp:new Date().toISOString()}))}else y.messages=_.messages,y.contextTokenSnapshot=_.contextTokenSnapshot;if(Fp(y,_),Re?.update({messageCount:y.messages.length}),y.messages.length>0){let Te=mo(y.messages);y.title=Te,await r.save(y.sessionId,{messages:y.messages,title:Te,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y)}await B.finalize()}catch(Q){throw await B.finalize(Q instanceof Error?Q:new Error(String(Q))),Q}},"handleCommandResult");for(;ce;){if(pe&&J){pe=!1,ue.resume();let xe=await Oy(J);if(xe&&xe.trim()&&xe!==J){console.log(se.dim(`
|
|
261
|
+
[Edited message ready to send]`));let ke=xe.trim();fr(y);let rt=Ti(ke);if(rt){let kt=await Ci(rt,y,et,w);await vn(kt,ke);continue}let Lt=await jp(ke);if(ke.startsWith("!")&&Al(Lt))continue;let sn=$a(Lt,G.context?.executionCwd??process.cwd());for(let kt of sn.warnings)console.log(se.yellow(`
|
|
262
|
+
${kt}`));y.messages.push({role:"user",content:sn.messageContent}),J=ke,Re?.update({messageCount:y.messages.length});let Gr=y.lineage?gw({getLineage:o(()=>y.lineage,"getLineage"),setLineage:o(kt=>{y.lineage=kt},"setLineage"),saveSession:o(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??mo(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y)},"saveSession"),getLatestUsage:o(()=>{},"getLatestUsage"),getTurnStartMs:o(()=>{},"getTurnStartMs"),getPermissionMode:o(()=>M,"getPermissionMode"),hasPendingUserInput:o(()=>jn().has({agentId:void 0,maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:o(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let kt=await Pc({...G,provider:w.provider,thinking:w.thinking,reasoningMode:w.reasoningMode,session:{...G.session,initialMessages:y.lineage?Nt(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...G.context,taskSurface:"repl",planModeBlockCheck:o((qn,ux)=>M!=="plan"?null:vo(qn,ux,n??process.cwd()),"planModeBlockCheck"),...sn.inputArtifacts.length>0?{inputArtifacts:sn.inputArtifacts}:{},...Gr?{goalRuntime:Gr}:{}}},Lt);if(y.messages=kt.messages,y.contextTokenSnapshot=kt.contextTokenSnapshot,Fp(y,kt),y.artifactLedger=Ds(y.artifactLedger??[],kt.artifactLedger??id(kt.messages)),y.messages.length>0){let qn=mo(y.messages);y.title=qn,await r.save(y.sessionId,{messages:y.messages,title:qn,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y)}}catch(kt){let qn=kt instanceof Error?kt:new Error(String(kt));if(y.messages.pop(),console.log(se.red(`
|
|
263
|
+
[Error] ${qn.message}`)),await Fe(qn,Lt))continue}continue}else xe===J&&console.log(se.dim(`
|
|
264
|
+
[No changes made, continuing...]`))}let N=Zk(w.permissionMode,w),A=await eE(ue,N);if(!ce)break;let B=A.trim();if(!B)continue;fr(y);let Q=Ti(B);if(Q){let xe=await Ci(Q,y,et,w);await vn(xe,B);continue}let _=await jp(B);if(B.startsWith("!")&&Al(_))continue;let Te=$a(_,G.context?.executionCwd??process.cwd());for(let xe of Te.warnings)console.log(se.yellow(`
|
|
265
|
+
${xe}`));y.messages.push({role:"user",content:Te.messageContent}),J=B,Re?.update({messageCount:y.messages.length});try{let xe=await By(G,y,_,y.messages,Te.inputArtifacts,e.runtimeRunner,M);if(y.messages=xe.messages,y.contextTokenSnapshot=xe.contextTokenSnapshot,Fp(y,xe),y.artifactLedger=Ds(y.artifactLedger??[],xe.artifactLedger??id(xe.messages)),Re?.update({messageCount:y.messages.length}),y.messages.length>0){let ke=mo(y.messages);y.title=ke,await r.save(y.sessionId,{messages:y.messages,title:ke,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...ei(y),...G.session?.tag!==void 0?{tag:G.session.tag}:{}}),Ka(y)}}catch(xe){let ke=xe instanceof Error?xe:new Error(String(xe));y.messages.pop(),ke.message.includes("rate limit")||ke.message.includes("Rate limit")?(console.log(se.yellow(`
|
|
266
|
+
[Rate Limit] ${ke.message}`)),console.log(se.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
|
|
267
|
+
`))):ke.message.includes("API key")||ke.message.includes("not configured")?(console.log(se.red(`
|
|
268
|
+
[Configuration Error] ${ke.message}`)),console.log(se.dim(`Suggestion: Set the required API key environment variable
|
|
269
|
+
`))):ke.message.includes("network")||ke.message.includes("ECONNREFUSED")||ke.message.includes("ETIMEDOUT")?(console.log(se.red(`
|
|
270
|
+
[Network Error] ${ke.message}`)),console.log(se.dim(`Suggestion: Check your internet connection and try again
|
|
271
|
+
`))):ke.message.includes("token")||ke.message.includes("context too long")?(console.log(se.yellow(`
|
|
272
|
+
[Context Error] ${ke.message}`)),console.log(se.dim(`Suggestion: Use /clear to start a fresh conversation
|
|
273
|
+
`))):(console.log(se.red(`
|
|
274
|
+
[Error] ${ke.message}`)),console.log(se.dim(`Your message was not sent. Please try again.
|
|
275
|
+
`))),await Fe(ke,_)}}}o(oE,"runInteractiveMode");async function jp(e){let t=e.match(/@[\w./-]+/g);if(t)for(let n of t){let r=n.slice(1)}if(e.startsWith("!")){let n=e.slice(1).trim();return Ml(n,{cwd:process.cwd()})}return e}o(jp,"processSpecialSyntax");function tH(e){let t=e.snapshot;if(e.type==="workflow_started")return se.dim(`
|
|
276
|
+
\u25B6 workflow ${t.workflowName} started (${t.runId})`);if(e.type==="workflow_finished"){let n=t.status==="completed"?se.green("\u2713"):t.status==="failed"?se.red("\u2717"):se.yellow("\u2022"),r=t.resultSummary?` \u2014 ${t.resultSummary.split(`
|
|
277
|
+
`)[0]}`:"";return`${n} workflow ${t.workflowName} ${t.status}${r}`}if(e.type==="workflow_updated"&&e.message)return se.dim(` ${e.message}`)}o(tH,"renderInlineWorkflowProcessLine");async function By(e,t,n,r=t.messages,i,s,a="accept-edits"){let c={...e.events??{},getCostReport:Wy,onWorkflowProcessEvent:o(d=>{let f=tH(d);f&&console.log(f)},"onWorkflowProcessEvent"),onWorkflowAgentDigest:o(({runId:d,event:f})=>{let p=f.data??{},m=typeof p.summary=="string"?p.summary:void 0,h=typeof p.name=="string"?p.name:void 0,S=Dc(m,h),C=kd(f,S,d);C&&console.log(`
|
|
278
|
+
${C}
|
|
279
|
+
`)},"onWorkflowAgentDigest")};ZB(t.gitRoot,e);let l={...e,events:c,session:{...e.session,initialExtensionState:t.extensionState??{},initialExtensionRecords:t.extensionRecords??[],initialMessages:r},context:{...e.context,contextTokenSnapshot:t.contextTokenSnapshot,taskSurface:"repl",...i&&i.length>0?{inputArtifacts:[...i]}:{}}};return s?s({options:l,prompt:n,sessionId:t.sessionId,permissionMode:a}):Pc(l,n)}o(By,"runAgentRound");function mo(e){return ko(e)}o(mo,"extractTitle");import Up from"node:fs";import nH from"node:path";function iE(){let e=Vp();return Kp(e).map(n=>Gp(n))}o(iE,"listCustomProviders");function sE(e){if(typeof e!="string"||e.length===0)return;let t=Kp(Vp()).find(n=>n.name===e);return t?Gp(t):void 0}o(sE,"getCustomProviderConfig");function aE(e){XS(e);let t=Gp(e),n=Vp(),r=Kp(n),i=r.findIndex(a=>a.name===t.name),s=i>=0?r.map((a,c)=>c===i?t:a):[...r,t];return uE({...n,customProviders:s}),Wm(s),Gp(t)}o(aE,"upsertCustomProvider");function cE(e){if(typeof e!="string"||e.length===0)return!1;let t=Vp(),n=Kp(t),r=n.filter(i=>i.name!==e);return r.length===n.length?!1:(uE({...t,customProviders:r}),Wm(r),!0)}o(cE,"removeCustomProvider");function lE(){return vr("config.json")}o(lE,"configFilePath");function Vp(){let e=lE();if(!Up.existsSync(e))return{};try{let t=JSON.parse(Up.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Vp,"readWholeConfig");function uE(e){let t=lE();Up.mkdirSync(nH.dirname(t),{recursive:!0}),Up.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(uE,"writeWholeConfig");function Kp(e){let t=e.customProviders;return Array.isArray(t)?t:[]}o(Kp,"extractCustomProviders");function Gp(e){return structuredClone(e)}o(Gp,"cloneCustomProvider");import zp from"node:fs";import rH from"node:path";function dE(){let e=Yp();return oH(Xp(e))}o(dE,"listMcpServers");function fE(e){if(typeof e!="string"||e.length===0)return;let n=Xp(Yp())[e];return n?Fy(n):void 0}o(fE,"getMcpServerConfig");function pE(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("upsertMcpServer: name must be a non-empty string");jy(e,t);let n=Fy(t),r=Yp(),s={...Xp(r),[e]:n};return gE({...r,mcpServers:s}),Fy(n)}o(pE,"upsertMcpServer");function mE(e){if(typeof e!="string"||e.length===0)return!1;let t=Yp(),n=Xp(t);if(!(e in n))return!1;let r={};for(let i of Object.keys(n))i!==e&&(r[i]=n[i]);return gE({...t,mcpServers:r}),!0}o(mE,"removeMcpServer");function jy(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("MCP server name must be a non-empty string");if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError(`MCP server "${e}": config must be a plain object`);let n=t.type??"stdio";if(!["stdio","sse","streamable-http","http"].includes(n))throw new TypeError(`MCP server "${e}": unknown transport type "${n}" (expected stdio | sse | streamable-http | http)`);if(n==="stdio"){if(typeof t.command!="string"||t.command.length===0)throw new TypeError(`MCP server "${e}": stdio transport requires a non-empty "command"`)}else if(typeof t.url!="string"||t.url.length===0)throw new TypeError(`MCP server "${e}": "${n}" transport requires a non-empty "url"`);if(t.connect!==void 0&&!["lazy","prewarm","disabled"].includes(t.connect))throw new TypeError(`MCP server "${e}": unknown connect mode "${t.connect}" (expected lazy | prewarm | disabled)`)}o(jy,"validateMcpServerConfig");function hE(){return vr("config.json")}o(hE,"configFilePath");function Yp(){let e=hE();if(!zp.existsSync(e))return{};try{let t=JSON.parse(zp.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Yp,"readWholeConfig");function gE(e){let t=hE();zp.mkdirSync(rH.dirname(t),{recursive:!0}),zp.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(gE,"writeWholeConfig");function Xp(e){let t=e.mcpServers;return!t||typeof t!="object"||Array.isArray(t)?{}:t}o(Xp,"extractMcpServers");function Fy(e){return structuredClone(e)}o(Fy,"cloneMcpServerConfig");function oH(e){return structuredClone(e)}o(oH,"cloneMcpServers");import tt from"fs/promises";import hr from"fs";import We from"path";import AE from"chalk";import Ct from"fs/promises";import xE from"fs";import qt from"path";var iH=2,sH=300*1e3,yE=65536,Uy=o(e=>qt.join(e,".layout.json"),"layoutMarkerPath"),Vy=o(e=>qt.join(e,".migration-lock"),"lockDirPath"),SE=o(e=>qt.join(Vy(e),"owner.json"),"ownerPath"),Gy=o(e=>qt.join(e,".migration-journal.jsonl"),"journalPath"),wE=o(e=>qt.join(qt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function TE(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(TE,"isSessionFile");function CE(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(CE,"sidecarId");async function aH(e){let t;try{t=await Ct.open(e,"r");let n=Buffer.allocUnsafe(yE),{bytesRead:r}=await t.read(n,0,yE,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
280
|
+
`),a=(s>=0?i.slice(0,s):i).trim();if(!a)return null;let c=JSON.parse(a);if(c&&typeof c=="object"&&c._type==="meta"){let l=c;return{gitRoot:typeof l.gitRoot=="string"?l.gitRoot:void 0,runtimeInfo:l.runtimeInfo}}return null}catch{return null}finally{await t?.close()}}o(aH,"readMeta");async function cH(e){let t=await aH(e);return t?Eo({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:zm}o(cH,"destKeyFor");async function IE(e){let t=[],n=o(async(r,i)=>{let s=[];try{s=await Ct.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(TE(a.name)||i&&CE(a.name)!==null)&&t.push(qt.join(r,a.name))},"pushDir");return await n(e,!0),await n(wE(e),!0),t}o(IE,"collectFlatSources");async function lH(e){let t=await IE(e),n=t.filter(s=>TE(qt.basename(s))),r=new Set(n.map(s=>qt.basename(s,".jsonl"))),i=[];for(let s of n){let a=qt.basename(s,".jsonl"),c=await cH(s);i.push({from:s,to:qt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=qt.join(qt.dirname(s),`${a}${l}`);xE.existsSync(d)&&i.push({from:d,to:qt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=CE(qt.basename(s));a===null||r.has(a)||i.push({from:s,to:qt.join(e,zm,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(lH,"planMigration");async function bE(e){try{return await Ct.access(Uy(e)),!0}catch{return!1}}o(bE,"isMigrated");async function uH(e){return await bE(e)?!1:(await IE(e)).length>0}o(uH,"needsMigration");async function dH(e){try{let t=JSON.parse(await Ct.readFile(SE(e),"utf8"));if(typeof t.pid=="number"&&t.pid!==process.pid)try{process.kill(t.pid,0)}catch(n){if(n.code==="ESRCH")return!0}return typeof t.heartbeatAt=="number"&&Date.now()-t.heartbeatAt>sH}catch{return!0}}o(dH,"lockIsStale");async function fH(e){let t=Vy(e);for(let n=0;n<2;n+=1)try{return await Ct.mkdir(t),await Ct.writeFile(SE(e),JSON.stringify({pid:process.pid,startTime:Date.now(),heartbeatAt:Date.now()})),!0}catch(r){if(r.code!=="EEXIST")return!1;if(n===0&&await dH(e)){await Ct.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(fH,"acquireLock");async function pH(e){await Ct.rm(Vy(e),{recursive:!0,force:!0}).catch(()=>{})}o(pH,"releaseLock");async function mH(e){let t=new Set;try{let n=await Ct.readFile(Gy(e),"utf8");for(let r of n.split(`
|
|
281
|
+
`))if(r.trim())try{let i=JSON.parse(r);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(mH,"readJournalDone");async function hH(e){if(await Ct.mkdir(qt.dirname(e.to),{recursive:!0}),xE.existsSync(e.to)){await Ct.unlink(e.from).catch(()=>{});return}try{await Ct.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await Ct.copyFile(e.from,e.to),await Ct.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}o(hH,"executeMove");async function vE(e){await Ct.mkdir(e,{recursive:!0});let t=`${Uy(e)}.${process.pid}.tmp`,n=JSON.stringify({version:iH,migratedAt:new Date().toISOString(),from:"flat-v1"});await Ct.writeFile(t,n+`
|
|
282
|
+
`,"utf8"),await Ct.rename(t,Uy(e))}o(vE,"writeMarker");async function gH(e){let t=wE(e);try{(await Ct.readdir(t)).length===0&&await Ct.rmdir(t).catch(()=>{})}catch{}}o(gH,"retireSessionsArchive");async function yH(e){if(!await fH(e))return{moved:0,planned:0};try{let t=await lH(e),n=await mH(e),r=await Ct.open(Gy(e),"a"),i=0;try{for(let s of t)n.has(s.from)||(await hH(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
|
|
283
|
+
`),i+=1)}finally{await r.close()}return await gH(e),await vE(e),await Ct.rm(Gy(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await pH(e)}}o(yH,"runMigration");async function ti(e){try{if(await bE(e))return;if(!await uH(e)){await vE(e).catch(()=>{});return}await yH(e)}catch{}}o(ti,"ensureLayoutMigrated");var xH=new Set(["user","assistant","system"]),SH=new Set(["user","assistant","system","thinking","error","event","info","hint"]),wH=new Set(["success","error","cancelled","awaiting_approval"]);function It(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(It,"isRecord");function mr(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(mr);if(!It(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(mr)}o(mr,"isKodaXJsonValue");function RE(e){return It(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||mr(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}o(RE,"isKodaXExtensionSessionRecord");function kE(e){return It(e)?Object.values(e).every(t=>It(t)?Object.values(t).every(mr):!1):!1}o(kE,"isKodaXExtensionSessionState");function TH(e){if(!It(e)||typeof e.type!="string")return!1;switch(e.type){case"text":return typeof e.text=="string";case"tool_use":return typeof e.id=="string"&&typeof e.name=="string"&&It(e.input);case"tool_result":return typeof e.tool_use_id=="string"&&typeof e.content=="string"&&(e.is_error===void 0||typeof e.is_error=="boolean");case"image":return typeof e.path=="string"&&(e.mediaType===void 0||typeof e.mediaType=="string");case"thinking":return typeof e.thinking=="string"&&(e.signature===void 0||typeof e.signature=="string");case"redacted_thinking":return typeof e.data=="string";default:return!1}}o(TH,"isKodaXContentBlock");function Ky(e){return!It(e)||typeof e.role!="string"||!xH.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(TH)}o(Ky,"isKodaXMessage");function EE(e){return It(e)?(e.lastError===void 0||typeof e.lastError=="string")&&(e.lastErrorTime===void 0||typeof e.lastErrorTime=="number")&&(e.consecutiveErrors===void 0||typeof e.consecutiveErrors=="number"):!1}o(EE,"isSessionErrorMetadata");function CH(e){return It(e)&&Object.values(e).every(mr)}o(CH,"isKodaXSessionUiToolInput");function IH(e){return It(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&wH.has(e.status)&&(e.input===void 0||CH(e.input))&&(e.preview===void 0||typeof e.preview=="string")&&(e.output===void 0||typeof e.output=="string")&&(e.error===void 0||typeof e.error=="string")&&(e.startTime===void 0||typeof e.startTime=="number")&&(e.endTime===void 0||typeof e.endTime=="number")}o(IH,"isKodaXSessionUiToolCall");function ME(e){return!It(e)||typeof e.type!="string"?!1:e.type==="tool_group"?Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(IH):SH.has(e.type)&&typeof e.text=="string"&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}o(ME,"isKodaXSessionUiHistoryItem");function bH(e){return!It(e)||e._type!=="meta_update"?!1:(e.title===void 0||typeof e.title=="string")&&(e.tag===void 0||typeof e.tag=="string")&&(e.activeEntryId===void 0||typeof e.activeEntryId=="string"||e.activeEntryId===null)&&(e.activeMessageCount===void 0||typeof e.activeMessageCount=="number")&&(e.uiHistory===void 0||Array.isArray(e.uiHistory))&&(e.scope===void 0||typeof e.scope=="string")}o(bH,"isPersistedMetaUpdateLine");function BE(e){if(!Array.isArray(e))return;let t=e.filter(ME).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}o(BE,"normalizeKodaXSessionUiHistory");function Yy(e,t,n){hn({source:"repl:session-storage",level:e,message:t,...n!==void 0?{detail:n}:{}})}o(Yy,"reportStorageDiagnostic");function _E(e,t){t!==0&&Yy("warn",`Skipped ${t} malformed session record(s) from ${We.basename(e)}.`)}o(_E,"warnMalformedSessionData");function ho(e){Yy("info",e)}o(ho,"writeStorageNotice");function LE(e){return{_type:"extension_record",...e}}o(LE,"toExtensionRecordLine");function PE(e){return{_type:"lineage_entry",entry:e}}o(PE,"toLineageEntryLine");function $E(e){return{_type:"artifact_ledger_entry",entry:e}}o($E,"toArtifactLedgerLine");function vH(e){return It(e)&&e._type==="extension_record"&&RE(e)}o(vH,"isPersistedExtensionRecordLine");function RH(e){return It(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}o(RH,"hasEntryBase");function kH(e){if(!RH(e))return!1;let t=e;switch(t.type){case"message":return Ky(t.message);case"compaction":return typeof t.summary=="string"&&(t.firstKeptEntryId===void 0||typeof t.firstKeptEntryId=="string")&&(t.tokensBefore===void 0||typeof t.tokensBefore=="number");case"branch_summary":return typeof t.summary=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&(t.details===void 0||mr(t.details));case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||mr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(kH,"isKodaXSessionEntry");function EH(e){return It(e)&&e._type==="lineage_entry"&&kH(e.entry)}o(EH,"isPersistedLineageEntryLine");function MH(e){return It(e)&&typeof e.id=="string"&&typeof e.kind=="string"&&typeof e.target=="string"&&typeof e.timestamp=="string"&&(e.sourceTool===void 0||typeof e.sourceTool=="string")&&(e.action===void 0||typeof e.action=="string")&&(e.displayTarget===void 0||typeof e.displayTarget=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.sessionEntryId===void 0||typeof e.sessionEntryId=="string")&&(e.metadata===void 0||mr(e.metadata))}o(MH,"isKodaXSessionArtifactLedgerEntry");function AH(e){return It(e)&&e._type==="artifact_ledger_entry"&&MH(e.entry)}o(AH,"isPersistedArtifactLedgerLine");function HE(e){return It(e)&&(e.canonicalRepoRoot===void 0||typeof e.canonicalRepoRoot=="string")&&(e.workspaceRoot===void 0||typeof e.workspaceRoot=="string")&&(e.executionCwd===void 0||typeof e.executionCwd=="string")&&(e.branch===void 0||typeof e.branch=="string")&&(e.workspaceKind===void 0||e.workspaceKind==="detected"||e.workspaceKind==="managed")}o(HE,"isKodaXSessionRuntimeInfo");function zy(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}o(zy,"pathsEqual");function _H(e){for(let t=e.length-1;t>=0;t-=1){let n=e[t];if(n&&n.type!=="label"&&n.type!=="goal"&&n.type!=="client_notice"&&n.type!=="rewind_marker")return n.id}return null}o(_H,"getLastNavigableEntryId");function LH(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??_H(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return Ot(e.legacyMessages)}o(LH,"buildLineage");function DE(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}o(DE,"serializeMessageContentForCompare");function PH(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&DE(e.content)===DE(t.content)}o(PH,"sameMessageByContent");function $H(e,t){if(e.lineage)return e.lineage;if(t){let n=Nt(t),r=e.messages;if(r.length<=n.length&&r.every((s,a)=>PH(s,n[a])))return t}return Ot(e.messages,t)}o($H,"resolveSnapshotLineage");function DH(e){let t=LH(e);return{createdAt:e.meta?.createdAt,data:{messages:t?Nt(t):[...e.legacyMessages],title:e.meta?.title??"",gitRoot:e.meta?.gitRoot??"",tag:typeof e.meta?.tag=="string"?e.meta.tag:void 0,runtimeInfo:HE(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:BE(e.meta?.uiHistory),errorMetadata:EE(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:kE(e.meta?.extensionState)?e.meta?.extensionState:void 0,extensionRecords:e.extensionRecords.map(n=>({...n})),lineage:t,artifactLedger:e.artifactLedger.map(n=>({...n,metadata:n.metadata?structuredClone(n.metadata):void 0}))}}}o(DH,"buildSessionData");function OH(e,t,n,r){return{_type:"meta",title:t.title,id:e,gitRoot:t.gitRoot,tag:t.tag,runtimeInfo:t.runtimeInfo?{...t.runtimeInfo}:void 0,createdAt:r??new Date().toISOString(),scope:t.scope??"user",uiHistory:t.uiHistory,errorMetadata:t.errorMetadata,extensionState:t.extensionState,extensionRecordCount:t.extensionRecords?.length??0,artifactLedgerCount:t.artifactLedger?.length??0,lineageVersion:n?.version,activeEntryId:n?.activeEntryId,lineageEntryCount:n?.entries.length??0,activeMessageCount:n?gi(n):t.messages.length}}o(OH,"createSessionMeta");async function NH(e){let t;try{t=await tt.readFile(e,"utf-8")}catch(s){if(s?.code==="ENOENT")return null;throw s}let n=t.trim();if(!n)return null;let r={legacyMessages:[],lineageEntries:[],artifactLedger:[],extensionRecords:[],malformedCount:0},i=n.split(`
|
|
284
|
+
`);for(let s=0;s<i.length;s+=1)try{let a=JSON.parse(i[s]);if(s===0&&It(a)&&a._type==="meta"){r.meta=a;continue}if(bH(a)){r.meta&&(a.title!==void 0&&(r.meta.title=a.title),a.tag!==void 0&&(r.meta.tag=a.tag),a.activeEntryId!==void 0&&(r.meta.activeEntryId=a.activeEntryId),a.activeMessageCount!==void 0&&(r.meta.activeMessageCount=a.activeMessageCount),a.uiHistory!==void 0&&(r.meta.uiHistory=BE(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(EH(a)){r.lineageEntries.push(a.entry);continue}if(AH(a)){r.artifactLedger.push(a.entry);continue}if(vH(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(Ky(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}o(NH,"readPersistedSessionFile");var OE=65536;async function BH(e){let t;try{t=await tt.open(e,"r");let n=Buffer.allocUnsafe(OE),{bytesRead:r}=await t.read(n,0,OE,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
285
|
+
`);if(s>=0)return i.slice(0,s).trim();let a=await tt.readFile(e,"utf-8"),c=a.indexOf(`
|
|
286
|
+
`);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}o(BH,"readSessionFirstLine");async function NE(e){try{let t=(await tt.readFile(e,"utf-8")).trim();return t?t.split(`
|
|
287
|
+
`).length:0}catch{return 0}}o(NE,"countSessionLines");var Xn=class{static{o(this,"FileSessionStorage")}sessionsDir;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=We.resolve(t?.sessionsDir??bo),this.hostCwd=t?.cwd,this.emitMismatchWarnings=t?.emitMismatchWarnings??!1}getSessionsDir(){return this.sessionsDir}writeQueues=new Map;serializedWrite(t,n){let i=(this.writeQueues.get(t)??Promise.resolve()).then(n,()=>n());return this.writeQueues.set(t,i),i}appendState=new Map;sessionDirCache=new Map;projectJsonWritten=new Set;migrationPromise;ensureMigrated(){return this.migrationPromise||(this.migrationPromise=ti(this.sessionsDir)),this.migrationPromise}syncAppendState(t,n,r){let i=this.appendState.get(t);this.appendState.set(t,{lineageCount:n.lineage?.entries.length??i?.lineageCount??0,artifactCount:n.artifactLedger?.length??i?.artifactCount??0,extensionCount:n.extensionRecords?.length??i?.extensionCount??0,metaUpdateCount:r??i?.metaUpdateCount??0,tag:n.tag!==void 0?n.tag:i?.tag})}legacyFlatPath(t){return We.join(this.sessionsDir,`${t}.jsonl`)}legacyFlatArchivePath(t){return We.join(this.sessionsDir,`${t}.archive.jsonl`)}projectDir(t){return We.join(this.sessionsDir,t)}resolveWriteDir(t,n){let r=this.sessionDirCache.get(t);if(r)return r;let i=Eo(n),s=this.projectDir(i.key);return this.sessionDirCache.set(t,s),s}writeFilePath(t,n){return We.join(this.resolveWriteDir(t,n),`${t}.jsonl`)}async resolveSessionLocation(t){let n=this.sessionDirCache.get(t);if(n){let s=We.join(n,`${t}.jsonl`);if(hr.existsSync(s))return s;let a=We.join(n,"archived",`${t}.jsonl`);if(hr.existsSync(a))return a}let r=[],i=[];try{i=await tt.readdir(this.sessionsDir,{withFileTypes:!0})}catch{i=[]}for(let s of i){if(!s.isDirectory()||s.name.startsWith("."))continue;let a=We.join(this.sessionsDir,s.name,`${t}.jsonl`);hr.existsSync(a)&&r.push(a);let c=We.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);hr.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return hr.existsSync(s)?s:null}if(r.length===1){let s=We.dirname(r[0]),a=We.basename(s)==="archived"?We.dirname(s):s;return this.sessionDirCache.set(t,a),r[0]}if(this.hostCwd){let s=await Er({cwd:this.hostCwd}),a=await Zr(this.hostCwd),c=this.projectDir(Eo({gitRoot:a??void 0,runtimeInfo:s}).key),l=r.find(d=>We.dirname(d)===c);if(l)return l}return ho(`[KodaX] Ambiguous session id ${t} found in ${r.length} projects; ${this.hostCwd?"no current-project match \u2014 ":""}returning the first match. Specify projectKey to disambiguate.`),r[0]}async readSession(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t);if(!n)return null;let r=await NH(n);return r?(_E(n,r.malformedCount),DH(r)):null}async ensureProjectJson(t,n){if(n.canonicalRoot===null||this.projectJsonWritten.has(t))return;this.projectJsonWritten.add(t);let r=We.join(t,"project.json");try{let i=JSON.stringify({canonicalRoot:n.canonicalRoot,displayName:n.displayName,lastUsed:new Date().toISOString()});await tt.writeFile(r,i+`
|
|
288
|
+
`,"utf-8")}catch{}}async writeSessionInternal(t,n,r){let i=this.resolveWriteDir(t,n);await tt.mkdir(i,{recursive:!0});let s=We.join(i,`${t}.jsonl`),a=`${s}.${process.pid}.${Date.now()}.tmp`,c=n.lineage??Ot(n.messages),l=OH(t,n,c,r);try{let d=await tt.open(a,"w");try{await d.write(JSON.stringify(l)+`
|
|
289
|
+
`);for(let p of c.entries)await d.write(JSON.stringify(PE(p))+`
|
|
290
|
+
`);for(let p of n.artifactLedger??[])await d.write(JSON.stringify($E(p))+`
|
|
291
|
+
`);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(LE(p))+`
|
|
292
|
+
`)}finally{await d.close()}await tt.rename(a,s),await this.ensureProjectJson(i,Eo(n));let f=this.legacyFlatPath(t);if(f!==s&&hr.existsSync(f)){await tt.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);hr.existsSync(p)&&await tt.rename(p,We.join(i,`${t}.islands.jsonl`)).catch(()=>{})}}finally{hr.existsSync(a)&&await tt.unlink(a).catch(()=>{})}}async mergeAndWriteInternal(t,n){let r=await this.readSession(t),i={...n,scope:n.scope??r?.data.scope??"user",uiHistory:n.uiHistory??r?.data.uiHistory,extensionState:n.extensionState??r?.data.extensionState,artifactLedger:n.artifactLedger??r?.data.artifactLedger,extensionRecords:n.extensionRecords??r?.data.extensionRecords,runtimeInfo:n.runtimeInfo??r?.data.runtimeInfo,errorMetadata:n.errorMetadata??r?.data.errorMetadata,tag:n.tag??r?.data.tag,lineage:$H(n,r?.data.lineage)};await this.writeSessionInternal(t,i,r?.createdAt),this.syncAppendState(t,i)}async appendSessionDelta(t,n){await this.ensureMigrated();let r=this.writeFilePath(t,n);if(!hr.existsSync(r)||!n.lineage){await this.save(t,n);return}await this.serializedWrite(t,async()=>{let s=this.appendState.get(t);if(!s){await this.mergeAndWriteInternal(t,n);return}if(n.lineage.entries.length<s.lineageCount||(n.artifactLedger?.length??0)<s.artifactCount){await this.mergeAndWriteInternal(t,n);return}if(n.tag!==void 0&&n.tag!==s.tag){await this.mergeAndWriteInternal(t,n);return}if(n.extensionState!==void 0){await this.mergeAndWriteInternal(t,n);return}if(n.extensionRecords!==void 0&&n.extensionRecords.length<=s.extensionCount){await this.mergeAndWriteInternal(t,n);return}let a=n.lineage.entries.slice(s.lineageCount),c=(n.artifactLedger??[]).slice(s.artifactCount),l=(n.extensionRecords??[]).slice(s.extensionCount),d=[];for(let p of a)d.push(JSON.stringify(PE(p)));for(let p of c)d.push(JSON.stringify($E(p)));for(let p of l)d.push(JSON.stringify(LE(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:gi(n.lineage),...n.uiHistory!==void 0?{uiHistory:n.uiHistory}:{},...n.scope!==void 0?{scope:n.scope}:{}};d.push(JSON.stringify(f)),d.length>0&&await tt.appendFile(r,`
|
|
293
|
+
`+d.join(`
|
|
294
|
+
`),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let i=this.appendState.get(t);i&&this.shouldRunMaintenance(i)&&this.runMaintenance(t).catch(s=>{Yy("error","Archive maintenance failed.",s)})}shouldRunMaintenance(t){return t.metaUpdateCount>=50||t.lineageCount>500}async runMaintenance(t){await this.serializedWrite(t,async()=>{let n=await this.readSession(t);if(!n?.data.lineage)return;let{slimmedLineage:r,archivedEntries:i,archiveBatchId:s}=iw(n.data.lineage);if(i.length===0){await this.writeSessionInternal(t,n.data,n.createdAt),this.syncAppendState(t,n.data,0);return}let a=this.resolveWriteDir(t,n.data);await tt.mkdir(a,{recursive:!0});let c=We.join(a,`${t}.islands.jsonl`),l=await tt.open(c,"a");try{await l.write(JSON.stringify({_type:"archive_batch",archiveBatchId:s,sessionId:t,archivedAt:new Date().toISOString(),entryCount:i.length})+`
|
|
295
|
+
`);for(let f of i)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:s,entry:f})+`
|
|
296
|
+
`)}finally{await l.close()}let d={...n.data,lineage:r};await this.writeSessionInternal(t,d,n.createdAt),this.syncAppendState(t,d,0)})}async save(t,n){await this.serializedWrite(t,async()=>{await this.mergeAndWriteInternal(t,n)})}async load(t){let n=await this.readSession(t);if(!n)return null;this.syncAppendState(t,n.data);let{data:r,createdAt:i}=n,s=this.legacyFlatPath(t);if(this.emitMismatchWarnings){let a=await Zr(this.hostCwd),c=await Er({cwd:this.hostCwd}),l=Un(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!vd(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!vd(c,{canonicalRepoRoot:r.gitRoot}))&&(ho(AE.yellow(`
|
|
297
|
+
[Warning] Session project mismatch:`)),c.workspaceRoot&&ho(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&ho(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&ho(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?ho(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&ho(` Session repo: ${r.gitRoot}`),ho(` Continuing anyway...
|
|
298
|
+
`))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=tw(r.messages);if(a!==r.messages){ho(AE.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:Ot(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,i),this.syncAppendState(t,c)}),c}}return _E(s,0),r}async getLineage(t){return(await this.readSession(t))?.data.lineage??null}async setActiveEntry(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=As(s.data.lineage,n,r);if(!a)return;let c={...s.data,messages:Nt(a),lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),i=c}),i}async rewind(t,n){let r=null;return await this.serializedWrite(t,async()=>{let i=await this.readSession(t);if(!i?.data.lineage)return;let s=n??Ls(i.data.lineage);if(!s)return;let a=Ps(i.data.lineage,s);if(!a)return;let c={...i.data,messages:Nt(a),lineage:a};await this.writeSessionInternal(t,c,i.createdAt),this.syncAppendState(t,c),r=c}),r}async setLabel(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=_s(s.data.lineage,n,r);if(!a)return;let c={...s.data,lineage:a};await this.writeSessionInternal(t,c,s.createdAt),this.syncAppendState(t,c),i=c}),i}async fork(t,n,r){let i=null;return await this.serializedWrite(t,async()=>{let s=await this.readSession(t);if(!s?.data.lineage)return;let a=$s(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await Ms(),l={messages:Nt(a),title:r?.title??s.data.title,gitRoot:s.data.gitRoot,tag:s.data.tag,runtimeInfo:s.data.runtimeInfo?{...s.data.runtimeInfo}:void 0,uiHistory:s.data.uiHistory?s.data.uiHistory.map(d=>({...d})):void 0,extensionState:s.data.extensionState?structuredClone(s.data.extensionState):void 0,artifactLedger:s.data.artifactLedger?structuredClone(s.data.artifactLedger):void 0,extensionRecords:s.data.extensionRecords?structuredClone(s.data.extensionRecords):void 0,lineage:a};await this.writeSessionInternal(c,l),i={sessionId:c,data:l}}),i}async list(t,n){await this.ensureMigrated(),await tt.mkdir(this.sessionsDir,{recursive:!0});let r=t&&t.trim()?t:void 0,i=r!==void 0||this.hostCwd!==void 0,s=r??(this.hostCwd?await Zr(this.hostCwd):null),a=await Er({cwd:s??this.hostCwd??process.cwd()}),c=await tt.readdir(this.sessionsDir,{withFileTypes:!0}),l=[],d=Eo({gitRoot:s??void 0,runtimeInfo:a}).key,f=o(T=>T.endsWith(".archive.jsonl")||T.endsWith(".islands.jsonl"),"isSidecar"),p=i?[d]:c.filter(T=>T.isDirectory()&&!T.name.startsWith(".")).map(T=>T.name);for(let T of p){let w=[];try{w=await tt.readdir(this.projectDir(T))}catch{continue}for(let M of w)M.endsWith(".jsonl")&&!f(M)&&l.push({path:We.join(this.projectDir(T),M),trusted:i,archived:!1});if(n?.includeArchived){let M=[];try{M=await tt.readdir(We.join(this.projectDir(T),"archived"))}catch{M=[]}for(let P of M)P.endsWith(".jsonl")&&!f(P)&&l.push({path:We.join(this.projectDir(T),"archived",P),trusted:i,archived:!0})}}for(let T of c)T.isFile()&&T.name.endsWith(".jsonl")&&!f(T.name)&&!T.name.startsWith("archived-")&&!T.name.startsWith(".")&&l.push({path:We.join(this.sessionsDir,T.name),trusted:!1,archived:!1});let m=[],h=o(async(T,w,M)=>{try{let P=await BH(T);if(!P)return null;let $=JSON.parse(P);if(It($)&&$._type==="meta"){let U=typeof $.gitRoot=="string"?$.gitRoot:"",W=HE($.runtimeInfo)?$.runtimeInfo:void 0,J=$.scope==="managed-task-worker"?"managed-task-worker":"user";if(i&&!w){let y=vd(a,W),O=W?.workspaceRoot?zy(W.workspaceRoot,a.workspaceRoot??""):!!(s&&U&&zy(U,s)),k=W?.executionCwd?zy(W.executionCwd,a.executionCwd??""):!1,D=Eo({gitRoot:U||void 0,runtimeInfo:W}).key===d;if(!y&&!O&&!k&&!D)return null}if(J!=="user")return null;let pe=typeof $.extensionRecordCount=="number"&&$.extensionRecordCount>0?$.extensionRecordCount:0,we=typeof $.activeMessageCount=="number"&&$.activeMessageCount>=0?$.activeMessageCount:Math.max(0,await NE(T)-1-pe);return{id:We.basename(T,".jsonl"),title:typeof $.title=="string"?$.title:"",msgCount:we,...typeof $.tag=="string"?{tag:$.tag}:{},createdAt:typeof $.createdAt=="string"?$.createdAt:void 0,runtimeInfo:W?{...W}:U?{canonicalRepoRoot:U}:void 0,...M?{archived:!0}:{}}}let H=await NE(T);return{id:We.basename(T,".jsonl"),title:"",msgCount:H,...M?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),S=48,C=new Set;for(let T=0;T<l.length;T+=S){let w=await Promise.all(l.slice(T,T+S).map(M=>h(M.path,M.trusted,M.archived)));for(let M of w)M&&!C.has(M.id)&&(C.add(M.id),m.push(M))}let R=n?.limit??10;return m.sort((T,w)=>{let M=T.createdAt?Date.parse(T.createdAt):Number.NaN,P=w.createdAt?Date.parse(w.createdAt):Number.NaN;return Number.isFinite(M)&&Number.isFinite(P)&&M!==P?P-M:Number.isFinite(P)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(P)?-1:w.id.localeCompare(T.id)}).slice(0,R).map(({id:T,title:w,msgCount:M,tag:P,runtimeInfo:$,createdAt:H,archived:U})=>({id:T,title:w,msgCount:M,...P!==void 0?{tag:P}:{},...$?{runtimeInfo:$}:{},...H!==void 0?{createdAt:H}:{},...U?{archived:!0}:{}}))}async archive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let i=We.dirname(r);if(We.basename(i)==="archived"){n=!0;return}await this.movePair(t,i,We.join(i,"archived")),this.sessionDirCache.delete(t),n=!0}),n}async unarchive(t){await this.ensureMigrated();let n=!1;return await this.serializedWrite(t,async()=>{let r=await this.resolveSessionLocation(t);if(!r)return;let i=We.dirname(r);if(We.basename(i)!=="archived"){n=!0;return}await this.movePair(t,i,We.dirname(i)),this.sessionDirCache.delete(t),n=!0}),n}async movePair(t,n,r){await tt.mkdir(r,{recursive:!0});for(let i of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=We.join(n,i);if(hr.existsSync(s))try{await tt.rename(s,We.join(r,i))}catch(a){if(a.code!=="ENOENT")throw a}}}async delete(t){await this.ensureMigrated();let n=await this.resolveSessionLocation(t),r=new Set;n&&(r.add(n),r.add(n.replace(/\.jsonl$/,".archive.jsonl")),r.add(n.replace(/\.jsonl$/,".islands.jsonl"))),r.add(this.legacyFlatPath(t)),r.add(this.legacyFlatArchivePath(t));for(let i of r)hr.existsSync(i)&&await tt.unlink(i).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await Zr(this.hostCwd):null),r=await this.list(n??void 0,{limit:Number.MAX_SAFE_INTEGER});for(let i of r)await this.delete(i.id)}async cleanupOldSessions(t){if(!Number.isFinite(t)||t<=0)return 0;await this.ensureMigrated();let n=0,r=Date.now()-t*24*60*60*1e3,i=o(async s=>{if(s.endsWith(".jsonl"))try{(await tt.stat(s)).mtimeMs<r&&(await tt.unlink(s),n++)}catch{}},"unlinkIfOld");try{await tt.mkdir(this.sessionsDir,{recursive:!0});let s=await tt.readdir(this.sessionsDir,{withFileTypes:!0});for(let a of s){let c=We.join(this.sessionsDir,a.name);if(a.isFile()){await i(c);continue}if(!a.isDirectory()||a.name.startsWith("."))continue;let l=[];try{l=await tt.readdir(c,{withFileTypes:!0})}catch{continue}for(let d of l){let f=We.join(c,d.name);if(d.isFile())await i(f);else if(d.isDirectory()&&d.name==="archived"){let p=[];try{p=await tt.readdir(f)}catch{continue}for(let m of p)await i(We.join(f,m))}}}}catch{}return n}};import Xi from"node:fs/promises";import mn from"node:path";var HH=8;function WE(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(WE,"isRecord");function FE(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}o(FE,"isSessionFile");async function WH(e){let t=[],n=[];try{n=await Xi.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){FE(r.name)&&t.push(mn.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let i=mn.join(e,r.name),s=[];try{s=await Xi.readdir(i)}catch{continue}for(let a of s)FE(a)&&t.push(mn.join(i,a))}return t}o(WH,"collectSessionFiles");function FH(e,t){let r=mn.relative(e,t).split(mn.sep);return r.length>1?r[0]:void 0}o(FH,"getProjectKey");async function jH(e,t){let n=mn.relative(e,t),r=mn.basename(t,".jsonl");try{let s=(await Xi.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!WE(a)||a._type!=="meta")return null;let c=WE(a.runtimeInfo)?a.runtimeInfo:void 0,l=typeof c?.canonicalRepoRoot=="string"?c.canonicalRepoRoot:typeof c?.workspaceRoot=="string"?c.workspaceRoot:void 0,d=typeof a.createdAt=="string"?Date.parse(a.createdAt):Number.NaN,f=Array.isArray(a.uiHistory)?a.uiHistory:void 0,p=typeof a.artifactLedgerCount=="number"?a.artifactLedgerCount:0,m=typeof a.activeEntryId=="string"||a.activeEntryId===null;return{id:typeof a.id=="string"?a.id:r,filePath:t,relativePath:n,projectKey:FH(e,t),isRunner:r.startsWith("runner-"),title:typeof a.title=="string"?a.title:"",gitRoot:typeof a.gitRoot=="string"?a.gitRoot:"",runtimeRoot:l,createdAtMs:Number.isFinite(d)?d:void 0,scope:a.scope==="managed-task-worker"?"managed-task-worker":"user",activeMessageCount:typeof a.activeMessageCount=="number"?a.activeMessageCount:void 0,hasHostState:!!(f&&f.length>0||a.lineageVersion===2||m||p>0)}}catch{return null}}o(jH,"parseCandidate");function UH(e,t){return e.projectKey&&t.projectKey&&e.projectKey===t.projectKey||e.runtimeRoot&&t.runtimeRoot&&e.runtimeRoot===t.runtimeRoot?!0:!!(e.gitRoot&&t.gitRoot&&e.gitRoot===t.gitRoot)}o(UH,"sameProject");function GH(e,t){if(t.isRunner||t.scope!=="user"||!UH(e,t))return null;let n=0,r=[];if(e.projectKey&&t.projectKey&&e.projectKey===t.projectKey?(n+=4,r.push("same-project-dir")):(n+=3,r.push("same-project-identity")),e.title&&t.title&&e.title===t.title)n+=2,r.push("same-title");else if(e.title&&t.title)return null;return e.activeMessageCount!==void 0&&t.activeMessageCount!==void 0&&e.activeMessageCount===t.activeMessageCount&&(n+=1,r.push("same-active-message-count")),e.createdAtMs!==void 0&&t.createdAtMs!==void 0&&Math.abs(e.createdAtMs-t.createdAtMs)<=3600*1e3&&(n+=1,r.push("near-created-at")),t.hasHostState&&!e.hasHostState&&(n+=2,r.push("canonical-has-host-state")),n>=HH?{canonical:t,score:n,reasons:r}:null}o(GH,"scoreCandidate");function VH(e){let t=o(n=>String(n).padStart(2,"0"),"pad");return[e.getUTCFullYear(),t(e.getUTCMonth()+1),t(e.getUTCDate()),"-",t(e.getUTCHours()),t(e.getUTCMinutes()),t(e.getUTCSeconds())].join("")}o(VH,"formatArchiveBatch");async function KH(e){let t=e,n=1;for(;;){try{await Xi.access(t)}catch{return t}let r=mn.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}o(KH,"uniqueTargetPath");async function jE(e={}){let t=e.sessionsDir??bo;e.apply&&(await Xi.mkdir(t,{recursive:!0}),await ti(t));let n=await WH(t),r=[],i=[];for(let f of n){let p=await jH(t,f);if(!p){mn.basename(f).startsWith("runner-")&&i.push({runnerId:mn.basename(f,".jsonl"),path:f,reason:"unreadable"});continue}if(p.isRunner&&p.scope==="managed-task-worker"){i.push({runnerId:p.id,path:p.filePath,reason:"managed-task-worker"});continue}r.push(p)}let s=r.filter(f=>f.isRunner&&f.scope==="user"),a=r.filter(f=>!f.isRunner&&f.scope==="user"),c=[];for(let f of s){let p=a.map(h=>GH(f,h)).filter(h=>h!==null).sort((h,S)=>S.score-h.score);if(p.length===0){i.push({runnerId:f.id,path:f.filePath,reason:"no-match"});continue}if(p.length>1){i.push({runnerId:f.id,path:f.filePath,reason:"ambiguous-match",detail:p.map(h=>`${h.canonical.id}:${h.score}`).join(", ")});continue}let m=p[0];c.push({runnerId:f.id,runnerPath:f.filePath,canonicalId:m.canonical.id,canonicalPath:m.canonical.filePath,score:m.score,reasons:m.reasons})}let l=[],d=mn.join(t,".dedupe-archive",VH(e.now??new Date));if(e.apply)for(let f of c){let p=mn.relative(t,f.runnerPath),m;try{m=await KH(mn.join(d,p)),await Xi.mkdir(mn.dirname(m),{recursive:!0}),await Xi.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(h){i.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??mn.join(d,p)}; ${h instanceof Error?h.message:String(h)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:i,...e.apply?{archiveDir:d}:{}}}o(jE,"dedupeSessions");function zH(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new Xn({sessionsDir:e.sessionsDir}):new Xn}o(zH,"resolveStorage");async function za(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=zH(t),i=await r.load(e);if(!i)return{...n,reason:`session not found: ${e}`};let s=i.messages,a=t?.provider??i.runtimeInfo?.provider??"anthropic",c=hi(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=Es(s),f=Number.isFinite(d)&&d>0&&l>0?Math.max(1,Math.ceil(d/l*100)-1):1,p=await sw(s,{enabled:!0,triggerPercent:f,contextWindow:l},c,l,t?.customInstructions,void 0,d,pw,mw,t?.model);if(!p.compacted)return{compacted:!1,tokensBefore:p.tokensBefore,tokensAfter:p.tokensAfter,messages:s,reason:"no compaction needed"};let m=p.anchor??{summary:p.summary??"",tokensBefore:p.tokensBefore,tokensAfter:p.tokensAfter,reason:"manual"},h=p.artifactLedger??i.artifactLedger??[],S=Math.max(0,(p.tokensBefore??0)-(p.tokensAfter??0)),{ledgerMessage:C}=ow(h,S),R=C?[C]:[],T=rd(i.lineage,p.messages,m,R),w={...i,messages:p.messages,lineage:T,artifactLedger:p.artifactLedger??i.artifactLedger};return await r.save(e,w),{compacted:!0,tokensBefore:p.tokensBefore,tokensAfter:p.tokensAfter,messages:p.messages}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}o(za,"compactSession");import qi from"node:fs";import Ya from"node:fs/promises";import Ht from"node:path";import{randomUUID as YH}from"node:crypto";async function zE(e,t){let n=[],r=o(s=>s.endsWith(".jsonl")&&!s.endsWith(".archive.jsonl")&&!s.endsWith(".islands.jsonl")&&!s.startsWith("."),"isSession"),i=[];try{i=await Ya.readdir(e,{withFileTypes:!0})}catch{return n}for(let s of i){if(s.isFile()){r(s.name)&&(t||!s.name.startsWith("archived-"))&&n.push(Ht.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Ht.join(e,s.name);try{for(let c of await Ya.readdir(a))r(c)&&n.push(Ht.join(a,c))}catch{}if(t){let c=Ht.join(a,"archived");try{for(let l of await Ya.readdir(c))r(l)&&n.push(Ht.join(c,l))}catch{}}}return n}o(zE,"collectSessionFilePaths");function UE(e){if(!e||!e.trim())return;let t=Ht.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(UE,"normalizeComparableRoot");function XH(e,t,n){let r=UE(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(i=>UE(i)===r):!0}o(XH,"sessionMatchesProjectRoot");function Ur(e){return e!==void 0?new Xn({sessionsDir:e}):new Xn}o(Ur,"getStorage");function Qy(e){return e??bo}o(Qy,"resolveSessionsDir");function Zy(e){return Buffer.from(e,"utf8").toString("base64url")}o(Zy,"encodeSessionCursor");function qH(e){if(!(!e||e.length>1024))try{let t=Buffer.from(e,"base64url").toString("utf8");return t&&Zy(t)===e?t:void 0}catch{return}}o(qH,"decodeSessionCursor");async function ex(e){return YE(e,void 0)}o(ex,"listSessions");async function YE(e,t){try{let n=Qy(t);await ti(n);let r=e?.projectRoot,i=Ur(t);await Ya.mkdir(n,{recursive:!0});let s=e?.scope??"user",a=e?.includeArchived??!1,c=e?.limit??50,l=e?.before?Date.parse(e.before):void 0,d=e?.tag,f=e?.surface,p=e?.cursor===void 0?void 0:qH(e.cursor);if(e?.cursor!==void 0&&p===void 0)return[];if(s==="user"&&!r&&l===void 0&&!a&&d===void 0&&f===void 0&&p===void 0)return(await i.list(r,{limit:c})).map(JH);let m=await zE(n,a),h=[],S=new Set;for(let T of m)try{let w=Ht.basename(T,".jsonl");if(S.has(w))continue;let M=Ht.basename(Ht.dirname(T))==="archived",P=(await Ya.readFile(T,"utf-8")).trim(),$=P.split(`
|
|
299
|
+
`)[0];if(!$)continue;let H=JSON.parse($);if(H===null||typeof H!="object"||H._type!=="meta")continue;let U=H,W=U.scope==="managed-task-worker"?"managed-task-worker":"user";if(s==="user"&&W!=="user"||s==="managed-task-worker"&&W!=="managed-task-worker")continue;let J=typeof U.createdAt=="string"?U.createdAt:void 0;if(l!==void 0&&J!==void 0){let z=Date.parse(J);if(!Number.isNaN(z)&&z>=l)continue}let pe=typeof U.tag=="string"?U.tag:void 0;if(d!==void 0&&pe!==d)continue;let we=P.split(`
|
|
300
|
+
`).length,y=typeof U.extensionRecordCount=="number"&&U.extensionRecordCount>0?U.extensionRecordCount:0,O=typeof U.activeMessageCount=="number"&&U.activeMessageCount>=0?U.activeMessageCount:Math.max(0,we-1-y),k=U.runtimeInfo!==null&&typeof U.runtimeInfo=="object"?XE(U.runtimeInfo):void 0,D=typeof U.gitRoot=="string"?U.gitRoot:void 0,ge=k??(D?{gitRoot:D}:void 0);if(!XH(ge,D,r)||f!==void 0&&ge?.surface!==f)continue;let le=wi(ge?.gitRoot??ge?.workspaceRoot).key;S.add(w),h.push({id:w,title:typeof U.title=="string"?U.title:"",msgCount:O,...pe!==void 0?{tag:pe}:{},createdAt:J,runtimeInfo:ge,projectKey:le,...M?{archived:!0}:{},_createdAtMs:J?Date.parse(J):void 0})}catch{continue}h.sort((T,w)=>{let M=T._createdAtMs,P=w._createdAtMs;return Number.isFinite(M)&&Number.isFinite(P)&&M!==P?P-M:Number.isFinite(P)&&!Number.isFinite(M)?1:Number.isFinite(M)&&!Number.isFinite(P)?-1:w.id.localeCompare(T.id)});let C=p===void 0?-1:h.findIndex(T=>T.id===p);if(p!==void 0&&C<0)return[];let R=C+1;return h.slice(R,R+c).map(({id:T,title:w,msgCount:M,tag:P,createdAt:$,runtimeInfo:H,projectKey:U,archived:W})=>({id:T,cursor:Zy(T),title:w,msgCount:M,...P!==void 0?{tag:P}:{},...$!==void 0?{createdAt:$}:{},...H!==void 0?{runtimeInfo:H}:{},...U!==void 0?{projectKey:U}:{},...W?{archived:!0}:{}}))}catch{return[]}}o(YE,"listSessionsImpl");function XE(e){let t={...e.workspaceRoot?{workspaceRoot:e.workspaceRoot}:{},...e.canonicalRepoRoot?{gitRoot:e.canonicalRepoRoot}:{},...e.surface?{surface:e.surface}:{},...e.profileId?{profileId:e.profileId}:{}};return Object.keys(t).length>0?t:void 0}o(XE,"extractRuntimeInfoSummary");function JH(e){let t=e.runtimeInfo?XE(e.runtimeInfo):void 0,n=wi(t?.gitRoot??t?.workspaceRoot).key;return{id:e.id,cursor:Zy(e.id),title:e.title,msgCount:e.msgCount,...e.tag!==void 0?{tag:e.tag}:{},...t!==void 0?{runtimeInfo:t}:{},...e.createdAt!==void 0?{createdAt:e.createdAt}:{},projectKey:n}}o(JH,"toSessionSummary");function Ql(e){return typeof e=="object"&&e!==null}o(Ql,"isRecord");function QH(e){return Ql(e)?(e.role==="user"||e.role==="assistant"||e.role==="system")&&(typeof e.content=="string"||Array.isArray(e.content)):!1}o(QH,"isMessage");function ZH(e){return Ql(e)&&typeof e.id=="string"&&(e.parentId===null||typeof e.parentId=="string")&&typeof e.timestamp=="string"&&typeof e.type=="string"&&(e.logicalId===void 0||typeof e.logicalId=="string")&&(e.sourceEntryId===void 0||typeof e.sourceEntryId=="string")}o(ZH,"hasEntryBase");function eW(e){if(!ZH(e))return!1;let t=e;switch(t.type){case"message":return QH(t.message);case"compaction":return typeof t.summary=="string";case"branch_summary":return typeof t.summary=="string";case"archive_marker":return typeof t.archiveBatchId=="string"&&typeof t.archivedEntryCount=="number"&&typeof t.summary=="string";case"rewind_marker":return typeof t.targetId=="string"&&(t.fromId===void 0||typeof t.fromId=="string")&&typeof t.truncatedCount=="number"&&typeof t.summary=="string";case"label":return typeof t.targetId=="string"&&(t.label===void 0||typeof t.label=="string");case"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||mr(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(eW,"isTranscriptSidecarEntry");function tW(e){return Ql(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&eW(e.entry)}o(tW,"isArchivedEntryLine");async function nW(e,t){let n,r=new Set([`${e}.jsonl`,`archived-${e}.jsonl`]);for(let f of await zE(t,!0))if(r.has(Ht.basename(f))){n=f;break}if(!n)return[];let i=Ht.dirname(n),s=Ht.basename(n,".jsonl"),c=Array.from(new Set([e,s])).flatMap(f=>[Ht.join(i,`${f}.islands.jsonl`),Ht.join(i,`${f}.archive.jsonl`)]),l=[],d=new Set;for(let f of c){let p="";try{p=await Ya.readFile(f,"utf-8")}catch{continue}for(let m of p.split(/\r?\n/))if(m.trim())try{let h=JSON.parse(m);tW(h)&&(d.has(h.entry.id)||(d.add(h.entry.id),l.push(h.entry)))}catch{}}return l}o(nW,"readArchivedTranscriptEntries");function rW(e,t){let n=new Set,r=[];for(let i of e)n.has(i.id)||(n.add(i.id),r.push(i));for(let i of t)n.has(i.id)||(n.add(i.id),r.push(i));return r}o(rW,"mergeTranscriptLineageEntries");function qE(e){let t=new Map(e.entries.map(i=>[i.id,i])),n=new Set,r=e.activeEntryId;for(;r;){let i=t.get(r);if(!i)break;n.add(i.id),r=i.parentId}return n}o(qE,"collectActiveIds");function GE(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
|
|
301
|
+
|
|
302
|
+
<summary>
|
|
303
|
+
${e}
|
|
304
|
+
</summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
|
|
305
|
+
|
|
306
|
+
${e}`}}o(GE,"summaryMessage");function VE(e){return{role:"system",content:`[Rewind] ${e}`}}o(VE,"rewindMarkerMessage");function oW(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}o(oW,"clientNoticeMessage");function Xy(e,t){let n=e[t];return typeof n=="string"?n:void 0}o(Xy,"messageStringField");function iW(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}o(iW,"messageSource");function KE(e){return Ql(e)?e.type==="task_result"&&(e.source==="workflow"||e.source==="child_task")&&typeof e.taskId=="string"&&(e.status==="completed"||e.status==="failed"||e.status==="cancelled")&&(e.runId===void 0||typeof e.runId=="string")&&(e.title===void 0||typeof e.title=="string")&&(e.summary===void 0||typeof e.summary=="string")&&(e.artifactRefs===void 0||Array.isArray(e.artifactRefs)&&e.artifactRefs.every(t=>typeof t=="string")):!1}o(KE,"isTaskResultMetadata");function sW(e){if(KE(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(KE);if(e._source!=="task-completed"||typeof e.content!="string")return[];let t=[],n=/<task-completed\s+task_id="([^"]+)">([\s\S]*?)<\/task-completed>/g;for(let r of e.content.matchAll(n)){let i=r[1];if(!i)continue;let s=r[2]?.trim()??"";t.push({type:"task_result",source:"child_task",taskId:i,status:s.startsWith("failed:")||s.startsWith("[Tool Error]")?"failed":"completed",...s.length>0?{summary:s}:{}})}return t}o(sW,"taskResultsFromMessage");function aW(e){if(e.length===1)return e[0];let t=e[0];return t?{type:"task_result",source:t.source,taskId:t.taskId,status:t.status,results:e}:void 0}o(aW,"taskResultPayload");function cW(e){if(!Ql(e))return{};let t=typeof e.rewindTargetId=="string"?e.rewindTargetId:void 0,n=typeof e.truncatedCount=="number"?e.truncatedCount:void 0;return{...t!==void 0?{rewindTargetId:t}:{},...n!==void 0?{truncatedCount:n}:{}}}o(cW,"legacyRewindDetails");function lW(e,t,n){return t.has(e.id)?!0:e.type!=="client_notice"&&e.type!=="rewind_marker"?!1:e.parentId===null?n===null:t.has(e.parentId)}o(lW,"transcriptEntryActive");function ni(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}o(ni,"transcriptEntryIdentity");function JE(e,t,n){let r=lW(e,t,n);switch(e.type){case"message":{let i=sW(e.message);if(i.length>0){let s=i[0];return{...ni(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:Xy(e.message,"turnId"),message:e.message,active:r,payload:aW(i),taskResults:i}}return e.message._source==="client_notice"?{...ni(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:Xy(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ni(e),timestamp:e.timestamp,type:"message",source:iW(e.message),turnId:Xy(e.message,"turnId"),message:e.message,active:r}}case"compaction":if(e.reason==="rewind"){let i=cW(e.details),s=r||(e.parentId===null?n===null:t.has(e.parentId));return{...ni(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:VE(e.summary),active:s,summary:e.summary,payload:{summary:e.summary,reason:"rewind",...i.rewindTargetId!==void 0?{rewindTargetId:i.rewindTargetId}:{},...i.truncatedCount!==void 0?{truncatedCount:i.truncatedCount}:{},...e.details!==void 0?{details:e.details}:{}}}}return{...ni(e),timestamp:e.timestamp,type:"compaction",source:"system",message:GE(e.summary,"compaction"),active:r,summary:e.summary,payload:{summary:e.summary,tokensBefore:e.tokensBefore,tokensAfter:e.tokensAfter,reason:e.reason,details:e.details}};case"rewind_marker":return{...ni(e),timestamp:e.timestamp,type:"rewind_marker",source:"system",message:VE(e.summary),active:r,summary:e.summary,payload:{summary:e.summary,rewindTargetId:e.targetId,...e.fromId!==void 0?{fromId:e.fromId}:{},truncatedCount:e.truncatedCount}};case"branch_summary":return{...ni(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:GE(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ni(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:oW(e),active:r,payload:{source:e.source,content:e.content,entersModelContext:!1,...e.payload!==void 0?{payload:e.payload}:{}}};case"archive_marker":case"label":case"goal":return null;default:return e}}o(JE,"toTranscriptEntry");function uW(e){let t=qE(e);return e.entries.map(n=>JE(n,t,e.activeEntryId)).filter(n=>n!==null)}o(uW,"buildTranscriptEntries");async function tx(e){return QE(e,void 0)}o(tx,"loadSession");async function QE(e,t){try{return await Ur(t).load(e)}catch{return null}}o(QE,"loadSessionImpl");async function nx(e){return ZE(e,void 0)}o(nx,"loadFullTranscript");async function ZE(e,t){try{let n=Qy(t);await ti(n);let r=Ur(t),i=await r.load(e);if(!i)return null;let s=await r.getLineage(e);if(!s)return{...i,activeMessages:i.messages,transcriptEntries:[]};let a=await nW(e,n),c=a.length>0?{...s,entries:rW(a,s.entries)}:s,l=uW(c);return{...i,messages:l.filter(d=>d.type!=="rewind_marker").map(d=>d.message),activeMessages:i.messages,transcriptEntries:l,lineage:c}}catch{return null}}o(ZE,"loadFullTranscriptImpl");function dW(e){let t=e?.trim();return t&&t.length>0?t:"client"}o(dW,"normalizeClientNoticeSource");function fW(e,t){let n=`notice_${YH().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:dW(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}o(fW,"createClientNoticeEntry");async function eM(e,t){return pW(e,t,void 0)}o(eM,"appendClientNotice");async function pW(e,t,n){return qy(e,t,Ur(n))}o(pW,"appendClientNoticeImpl");async function qy(e,t,n){try{let r=await n.load(e);if(!r)return null;let i=r.lineage??Ot(r.messages),s=fW(i,t),a={...i,entries:[...i.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=qE(a);return JE(s,l,a.activeEntryId)}catch{return null}}o(qy,"appendClientNoticeWithStorage");async function rx(e,t){return tM(e,t,void 0)}o(rx,"forkSession");async function tM(e,t,n){try{return await Ur(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}o(tM,"forkSessionImpl");async function ox(e,t){return nM(e,t,void 0)}o(ox,"rewindSession");async function nM(e,t,n){try{return await Ur(n).rewind(e,t?.selector)}catch{return null}}o(nM,"rewindSessionImpl");async function ix(e,t){return rM(e,t,void 0)}o(ix,"setActiveEntry");async function rM(e,t,n){try{return await Ur(n).setActiveEntry(e,t)}catch{return null}}o(rM,"setActiveEntryImpl");async function Jl(){try{return ew({excludePid:process.pid}).map(t=>({pid:t.pid,startedAt:t.state.meta.startedAt,cwd:t.state.meta.cwd,sessionId:t.state.sessionId}))}catch{return[]}}o(Jl,"listRunningSessions");async function sx(e){return oM(e,void 0)}o(sx,"deleteSession");async function oM(e,t){try{let r=(await Jl()).find(i=>i.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await Ur(t).delete(e),{ok:!0})}catch{return{ok:!0}}}o(oM,"deleteSessionImpl");async function ax(e){return iM(e,void 0)}o(ax,"archiveSession");async function iM(e,t){try{return await Ur(t).archive(e)}catch{return!1}}o(iM,"archiveSessionImpl");async function cx(e){return sM(e,void 0)}o(cx,"unarchiveSession");async function sM(e,t){try{return await Ur(t).unarchive(e)}catch{return!1}}o(sM,"unarchiveSessionImpl");function lx(e){return aM(e,void 0)}o(lx,"watchSessions");function aM(e,t){let n=Qy(t);return ti(n).catch(()=>{}),process.platform==="win32"?gW(e,n):mW(e,n)}o(aM,"watchSessionsImpl");function Jy(e){let t=Ht.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}o(Jy,"sessionIdFromFilename");function mW(e,t){let n=null,r=!1,i=new Map;function s(c,l){let d=i.get(l);d!==void 0&&clearTimeout(d);let f=setTimeout(()=>{i.delete(l),r||e({kind:c,sessionId:l})},100);i.set(l,f)}o(s,"emitDebounced");function a(){if(!r)try{if(!qi.existsSync(t)){setTimeout(a,1e3);return}let c=o((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=Jy(f);if(!p)return;let m=l==="rename"?hW(t,f):"change";s(m,p)},"onEvent");try{n=qi.watch(t,{recursive:!0},c)}catch{n=qi.watch(t,c)}n.on("error",()=>{n?.close(),n=null,r||setTimeout(a,1e3)})}catch{}}return o(a,"startWatch"),a(),{close(){r=!0,n?.close(),n=null;for(let c of i.values())clearTimeout(c);i.clear()}}}o(mW,"watchSessionsPosix");function hW(e,t){try{return qi.statSync(Ht.join(e,t)),"add"}catch{return"remove"}}o(hW,"detectRenameKind");function gW(e,t){let n=!1,r=new Set;function i(c,l){try{for(let d of qi.readdirSync(l)){let f=Jy(d);f&&c.add(f)}}catch{}}o(i,"addIds");function s(){let c=new Set;try{if(!qi.existsSync(t))return c;for(let l of qi.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=Jy(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=Ht.join(t,l.name);i(c,d),i(c,Ht.join(d,"archived"))}}catch{}return c}o(s,"buildSnapshot"),r=s();let a=setInterval(()=>{if(n)return;let c=s();for(let l of c)r.has(l)||e({kind:"add",sessionId:l});for(let l of r)c.has(l)||e({kind:"remove",sessionId:l});r=c},1e3);return{close(){n=!0,clearInterval(a)}}}o(gW,"watchSessionsWindows");function cM(e){let t=e?.sessionsDir,n=t!==void 0?new Xn({sessionsDir:t}):new Xn;return t===void 0?{listSessions:ex,loadSession:tx,loadFullTranscript:nx,appendClientNotice:o((r,i)=>qy(r,i,n),"appendClientNotice"),forkSession:rx,rewindSession:ox,setActiveEntry:ix,deleteSession:sx,archiveSession:ax,unarchiveSession:cx,listRunningSessions:Jl,watchSessions:lx,compactSession:o((r,i)=>za(r,{...i,storage:n}),"compactSession"),storage:n}:{listSessions:o(r=>YE(r,t),"listSessions"),loadSession:o(r=>QE(r,t),"loadSession"),loadFullTranscript:o(r=>ZE(r,t),"loadFullTranscript"),appendClientNotice:o((r,i)=>qy(r,i,n),"appendClientNotice"),forkSession:o((r,i)=>tM(r,i,t),"forkSession"),rewindSession:o((r,i)=>nM(r,i,t),"rewindSession"),setActiveEntry:o((r,i)=>rM(r,i,t),"setActiveEntry"),deleteSession:o(r=>oM(r,t),"deleteSession"),archiveSession:o(r=>iM(r,t),"archiveSession"),unarchiveSession:o(r=>sM(r,t),"unarchiveSession"),listRunningSessions:Jl,watchSessions:o(r=>aM(r,t),"watchSessions"),compactSession:o((r,i)=>za(r,{...i,storage:n}),"compactSession"),storage:n}}o(cM,"createSessionManager");var yW={};XM(yW,{App:()=>T0,AutocompleteContextProvider:()=>Cf,BUILTIN_COMMANDS:()=>fT,BackgroundTaskBar:()=>vl,ChildActivitySurface:()=>up,ConsoleCapturer:()=>Ga,DEFAULT_UI_STATE:()=>md,DialogSurface:()=>ip,DotsIndicator:()=>Vh,FILE_MODIFICATION_TOOLS:()=>Qr,FileSessionStorage:()=>Xn,FullscreenTranscriptLayout:()=>Xf,HistoryItemRenderer:()=>h0,InputPrompt:()=>Bi,KODAX_CONFIG_FILE:()=>Rw,KODAX_DIR:()=>vw,KODAX_EXAMPLE_CONFIG_FILE:()=>Ow,KODAX_SESSIONS_DIR:()=>bo,KODAX_VERSION:()=>yi,KeyMatchers:()=>Wh,KeypressHandlerPriority:()=>un,KeypressParser:()=>da,KeypressProvider:()=>ol,LRUCache:()=>Ei,LoadingIndicator:()=>$I,MemorySessionStorage:()=>Gi,MessageActions:()=>qf,MessageList:()=>Uo,MessageSelector:()=>v0,NotificationsSurface:()=>Il,PERMISSION_MODES:()=>Iw,PREVIEW_MAX_LENGTH:()=>kw,PendingInputsIndicator:()=>Wk,ProgressIndicator:()=>Kh,PromptComposer:()=>Zf,PromptFooter:()=>yl,PromptFooterLeftSide:()=>hl,PromptFooterRightSide:()=>gl,PromptHelpMenu:()=>tp,PromptSuggestionsSurface:()=>op,QueuedCommandsSurface:()=>sp,SimpleApp:()=>C0,SimpleInputPrompt:()=>EI,SimpleMessageDisplay:()=>y0,SimpleStatusBar:()=>S0,SingleLineTextInput:()=>pI,Spinner:()=>Dn,StashNotice:()=>bl,StatusBar:()=>Wi,StatusNoticesSurface:()=>ap,StreamingProvider:()=>El,StreamingState:()=>ar,SuggestionsDisplay:()=>Tl,TOOL_STATUS_ICONS:()=>qM,TextBuffer:()=>fa,TextInput:()=>Sf,ThinkingIndicator:()=>PI,ToolCallDisplay:()=>Ay,ToolCallStatus:()=>j,ToolGroup:()=>Bk,ToolProgressBar:()=>My,ToolStatusBadge:()=>Ok,TranscriptViewport:()=>Qf,UIStateProvider:()=>wl,_resetQueuedPromptsCacheForTests:()=>db,appendClientNotice:()=>eM,archiveSession:()=>ax,bootstrapAutoMode:()=>Ea,calculateVisualCursorFromLayout:()=>Hd,calculateVisualLayout:()=>fn,collectBashWriteTargets:()=>jw,compactSession:()=>za,computeConfirmTools:()=>Bs,createCliEvents:()=>Mk,createHistoryItem:()=>xl,createInteractiveContext:()=>ka,createJsonEvents:()=>Ak,createKeyMatcher:()=>cb,createKeypressManager:()=>wf,createMemorySessionStorage:()=>fb,createRecoveryHistoryItem:()=>Pl,createRetryHistoryItem:()=>Ll,createSessionManager:()=>cM,createStreamingManager:()=>dp,createToolCall:()=>np,darkTheme:()=>Wd,dedupeSessions:()=>jE,deleteSession:()=>sx,detectTerminalCapabilities:()=>jk,detectTerminalHostProfile:()=>Ao,detectTerminalRenderHost:()=>Mo,emitRecoveryHistoryItem:()=>Tb,emitRetryHistoryItem:()=>wb,ensureExampleConfigFile:()=>Nw,executeCommand:()=>Ci,executeShellCommand:()=>Ml,extractHistorySeedsFromMessage:()=>zs,extractHistorySeedsFromMessages:()=>Id,extractTextContent:()=>bd,extractTitle:()=>ko,forkSession:()=>rx,formatMessagePreview:()=>Jw,generateId:()=>Sl,generateSavePattern:()=>Ww,getBashOutsideProjectWriteRisk:()=>Uw,getCharAtCodePoint:()=>IT,getCodePointLength:()=>yn,getCommandRegistry:()=>pT,getCustomProviderConfig:()=>sE,getGitRoot:()=>Zr,getKeyDisplayName:()=>hI,getMcpServerConfig:()=>fE,getPlanModeBlockReason:()=>vo,getProviderList:()=>Pw,getProviderModel:()=>Ln,getTerminalHostCapabilities:()=>ki,getTerminalWidth:()=>Py,getTheme:()=>te,getThemeNames:()=>oA,getVersion:()=>Aw,getVisualWidth:()=>lr,getVisualWidthCached:()=>Bd,hasCursorUpViewportYankRisk:()=>bi,hasMainScreenRenderScrollRisk:()=>vi,hydrateProcessEnvFromShell:()=>Ew,isAlwaysConfirmPath:()=>Vs,isBashReadCommand:()=>eo,isBashWriteCommand:()=>to,isClassicReplForced:()=>Hc,isCommandOnProtectedPath:()=>xd,isFunctionKey:()=>Bh,isOwnedRendererPreferred:()=>Bc,isPathInsideProject:()=>Fw,isPermissionMode:()=>bw,isPrintable:()=>mI,isProviderConfigured:()=>$w,isRemoteConptyHost:()=>Xs,isScreenReader:()=>$y,isShellCommand:()=>hb,isShellCommandSuccess:()=>gb,isTmuxControlMode:()=>qs,isToolCallAllowed:()=>Gs,isVsCodeTerminalHostEnv:()=>Ii,isWideChar:()=>cr,listCustomProviders:()=>iE,listMcpServers:()=>dE,listRegisteredCommands:()=>dT,listRunningSessions:()=>Jl,listSessions:()=>ex,loadConfig:()=>Dw,loadFullTranscript:()=>nx,loadSession:()=>tx,measureChildActivitySurfaceRows:()=>lp,minimalTheme:()=>Zm,normalizePermissionMode:()=>Hs,parseCommand:()=>Ti,parseKeypress:()=>rl,permissionModeDisplayName:()=>Ns,prepareRuntimeConfig:()=>gd,processSpecialSyntax:()=>jp,rateLimitedCall:()=>Bw,registerConfiguredCustomProviders:()=>Mw,removeCustomProvider:()=>cE,removeMcpServer:()=>mE,resetTmuxControlModeProbeForTesting:()=>Dd,resolveConfiguredTuiRendererMode:()=>Ri,resolveEffectiveTuiRendererMode:()=>_o,resolveFullscreenPolicy:()=>Lo,resolveInteractiveSurfacePreference:()=>Nc,resolveRuntimeEffortSelection:()=>js,resolveRuntimeModelSelection:()=>Fs,resolveRuntimeProviderSelection:()=>Ws,restoreHistoryItemsFromSession:()=>_l,rewindSession:()=>ox,runInkInteractiveMode:()=>Np,runInteractiveMode:()=>oE,runSessionPicker:()=>Rk,saveConfig:()=>Si,seedToHistoryItem:()=>Ro,setActiveEntry:()=>ix,splitByCodePoints:()=>dn,supports256Colors:()=>_y,supportsEmoji:()=>Ly,supportsTrueColor:()=>Kl,supportsUnicode:()=>Wr,themes:()=>eh,toolCallSeedToHistoryToolCall:()=>Cd,touchContext:()=>fr,trimPersistedUiHistorySnapshot:()=>Nr,truncateByVisualWidth:()=>Js,unarchiveSession:()=>cx,upsertCustomProvider:()=>aE,upsertMcpServer:()=>pE,useAutocomplete:()=>il,useAutocompleteContext:()=>Fo,useInputHistory:()=>If,useKeypress:()=>ab,useKeypressManager:()=>Tf,useQueuedPromptContents:()=>ub,useQueuedPrompts:()=>kg,useStreaming:()=>vg,useStreamingActions:()=>Ra,useStreamingState:()=>va,useTextBuffer:()=>bf,useUI:()=>mg,useUIActions:()=>Ca,useUIState:()=>Ta,validateMcpServerConfig:()=>jy,visualWidthCache:()=>Od,watchSessions:()=>lx,withCapture:()=>Uk,withCaptureSync:()=>Gk});export{Ii as a,bi as b,Xs as c,vi as d,qs as e,Dd as f,Mo as g,Ao as h,Ri as i,_o as j,Nc as k,Lo as l,ki as m,Bc as n,Hc as o,Ei as p,yn as q,cr as r,lr as s,IT as t,dn as u,Js as v,Od as w,Bd as x,fn as y,Hd as z,Wd as A,Zm as B,eh as C,te as D,oA as E,Sf as F,pI as G,rl as H,da as I,Bh as J,mI as K,hI as L,wf as M,ol as N,Tf as O,Wh as P,Cf as Q,Fo as R,il as S,If as T,fa as U,bf as V,Bi as W,EI as X,Dn as Y,Vh as Z,Kh as _,PI as $,$I as aa,h0 as ba,Uo as ca,y0 as da,Wi as ea,S0 as fa,T0 as ga,C0 as ha,Xf as ia,qf as ja,v0 as ka,Qf as la,Zf as ma,hl as na,gl as oa,yl as pa,tp as qa,Sl as ra,xl as sa,np as ta,wl as ua,Ta as va,Ca as wa,mg as xa,Tl as ya,op as za,ip as Aa,sp as Ba,Il as Ca,ap as Da,bl as Ea,vl as Fa,lp as Ga,up as Ha,dp as Ia,El as Ja,va as Ka,Ra as La,vg as Ma,ab as Na,cb as Oa,kg as Pa,ub as Qa,db as Ra,ka as Sa,fr as Ta,Ea as Ua,Gi as Va,fb as Wa,Ml as Xa,hb as Ya,gb as Za,Nr as _a,_l as $a,Ll as ab,wb as bb,Pl as cb,Tb as db,Np as eb,Rk as fb,Mk as gb,Ak as hb,Ok as ib,My as jb,Ay as kb,Bk as lb,Wk as mb,Kl as nb,_y as ob,Wr as pb,Ly as qb,Py as rb,$y as sb,jk as tb,Ga as ub,Uk as vb,Gk as wb,oE as xb,jp as yb,iE as zb,sE as Ab,aE as Bb,cE as Cb,dE as Db,fE as Eb,pE as Fb,mE as Gb,jy as Hb,Xn as Ib,jE as Jb,za as Kb,ex as Lb,tx as Mb,nx as Nb,eM as Ob,rx as Pb,ox as Qb,ix as Rb,Jl as Sb,sx as Tb,ax as Ub,cx as Vb,lx as Wb,cM as Xb,yW as Yb};
|