@kodax-ai/kodax 0.7.61 → 0.7.63
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 +115 -1
- package/README.md +2 -2
- package/README_CN.md +2 -2
- package/dist/chunks/{agent-E74WVAFR.js → agent-SL444XLN.js} +1 -1
- package/dist/chunks/argument-completer-EN63ZVJK.js +2 -0
- package/dist/chunks/{chunk-XHOPSZVL.js → chunk-4MIHVNB7.js} +96 -96
- package/dist/chunks/chunk-7MPU7TP6.js +624 -0
- package/dist/chunks/{chunk-QCBKLNN5.js → chunk-HP4FXMEM.js} +2 -2
- package/dist/chunks/{chunk-CGGX3FXE.js → chunk-KCFVGXVK.js} +1 -1
- package/dist/chunks/chunk-KHICMJIR.js +310 -0
- package/dist/chunks/{chunk-KIVYMSRH.js → chunk-L3MF5V64.js} +1 -1
- package/dist/chunks/chunk-LGR7ACBQ.js +326 -0
- package/dist/chunks/{chunk-7COB3EKF.js → chunk-RR7W7UF6.js} +152 -152
- package/dist/chunks/chunk-UGTK2JIJ.js +731 -0
- package/dist/chunks/{chunk-2OEKUAV4.js → chunk-VSWROENP.js} +1 -1
- package/dist/chunks/{compaction-config-GESEZQVA.js → compaction-config-4VIONMFB.js} +1 -1
- package/dist/chunks/{construction-bootstrap-OSXHEIBB.js → construction-bootstrap-EFZBONTK.js} +3 -3
- package/dist/chunks/dist-EDF2YUF6.js +2 -0
- package/dist/chunks/host-J4HPDLFC.js +2 -0
- package/dist/chunks/{run-manager-FGCG7DFF.js → run-manager-ZVSW2OWM.js} +1 -1
- package/dist/chunks/{utils-47QI5MSP.js → utils-5HDLYTZJ.js} +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.js +2 -2
- package/dist/kodax_cli.js +970 -937
- package/dist/sdk-agent.d.ts +67 -8
- package/dist/sdk-agent.js +1 -1
- package/dist/sdk-coding.d.ts +425 -464
- package/dist/sdk-coding.js +1 -1
- package/dist/sdk-mcp.js +1 -1
- package/dist/sdk-repl.d.ts +9 -9
- package/dist/sdk-repl.js +2 -2
- package/dist/sdk-session.d.ts +4 -4
- package/dist/sdk-session.js +1 -1
- package/dist/sdk-skills.js +1 -1
- package/dist/types-chunks/{bash-prefix-extractor.d-e1LD2IRl.d.ts → bash-prefix-extractor.d-CZW9fRoa.d.ts} +137 -11
- package/dist/types-chunks/{guardrail.d-CdqJwwN7.d.ts → guardrail.d-MR6LwMB2.d.ts} +2 -2
- package/dist/types-chunks/{process.d-C93UMgPK.d.ts → process.d-CY2g03Mb.d.ts} +274 -15
- package/dist/types-chunks/{run-manager.d-DHPlNYkK.d.ts → run-manager.d-CYTnWhZY.d.ts} +6 -17
- package/dist/types-chunks/{sdk-session-DINrM1pF.d.ts → sdk-session-RBSBBKol.d.ts} +8 -6
- package/dist/types-chunks/{storage.d-xiw7Vgx0.d.ts → storage.d-C6kkAEch.d.ts} +2 -2
- package/dist/types-chunks/{types.d-CSZAMmU-.d.ts → types.d-1CnTg7Sd.d.ts} +1 -1
- package/dist/types-chunks/{utils.d-Dy19-1XR.d.ts → utils.d-C14jZ9ZM.d.ts} +4 -4
- package/package.json +1 -1
- package/dist/chunks/argument-completer-BBFYCVTM.js +0 -2
- package/dist/chunks/chunk-4NSOBQCU.js +0 -322
- package/dist/chunks/chunk-D7CC6YZC.js +0 -600
- package/dist/chunks/chunk-NJW2LQOP.js +0 -722
- package/dist/chunks/chunk-PJXKBM3Y.js +0 -310
- package/dist/chunks/dist-W3OOJP66.js +0 -2
- package/dist/chunks/host-FRQXOEHH.js +0 -2
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
// @kodax-ai/kodax — bundled distribution. See docs/ADR.md ADR-022 + ADR-024.
|
|
2
|
-
import{$ as uc,A as _S,B as ms,Ba as sm,C as Au,Ca as Bu,D as LS,Da as ZS,E as ac,Ea as ew,F as Qp,G as $S,H as Zp,I as ni,J as em,K as cc,L as tm,M as nm,N as OS,O as DS,P as hs,Q as NS,R as ri,T as gs,U as _u,V as BS,W as lc,X as Sr,Y as rm,Z as Ur,_ as ys,a as yr,aa as Lu,b as B,ba as HS,ca as WS,d as fn,da as FS,e as qp,ea as jS,fa as US,g as pn,ga as GS,h as nc,ha as Pu,i as ku,ia as $u,j as Jo,ja as dc,k as rc,ka as Ou,la as Du,m as oc,ma as Nu,n as go,na as VS,o as MS,oa as KS,p as yo,pa as zS,q as ic,qa as om,ra as YS,s as sc,sa as XS,t as AS,ta as qS,ua as JS,wa as xs,x as ti,xa as Ss,y as Eu,ya as im,z as Mu,za as QS}from"./chunk-D7CC6YZC.js";import{a as PS}from"./chunk-KIVYMSRH.js";import{e as tw,f as nw,g as rw}from"./chunk-6OZ5KWG3.js";import{E as Jp,F as fs,G as Ru,H as ps,I as ei,a as te,c as Qo,j as ds,k as Wn,p as RS,u as ES,v as xr,w as Zo}from"./chunk-2OEKUAV4.js";import{Ea as bu,Fa as vu,I as TS,J as CS,L as Xp,M as IS,N as bS,Z as vS,c as Kp,ta as kS,u as wS,v as tc,wa as Iu}from"./chunk-XHOPSZVL.js";import{z as gS}from"./chunk-QCBKLNN5.js";import{a as ec,b as eS,ea as yS,fa as xS,p as hS}from"./chunk-4NSOBQCU.js";import{Aa as fS,Ba as Tu,Ca as pS,Pa as mS,Y as wu,e as Su,fd as Cu,id as SS,ja as dS}from"./chunk-7COB3EKF.js";import{Ja as Xo,ha as du,ta as Qx,va as Vp,wa as Zx}from"./chunk-S4GVQO3W.js";import{$c as os,Bd as gu,Ca as nS,Cd as us,Md as uS,Pd as yu,Qc as aS,Qd as xu,Ra as zp,Rc as pu,Ta as Yp,ed as cS,gb as rS,hd as Dt,jd as Nt,k as rs,lb as fu,ld as is,md as ss,nb as oS,nd as mu,pd as as,qd as cs,rd as ls,sd as hu,td as qo,ud as lS,va as tS,wa as gr,xb as iS,yb as sS}from"./chunk-NJW2LQOP.js";import{B as Hn}from"./chunk-ZL5CEANW.js";import{a as o}from"./chunk-V4WSBIXB.js";import{spawnSync as dE}from"node:child_process";function Hu(e){return e==="1"||e?.toLowerCase()==="true"}o(Hu,"isTruthyEnv");function ow(e){return e==="0"||e?.toLowerCase()==="false"}o(ow,"isFalseyEnv");function ws(e=process.env){return e.TERM_PROGRAM?.toLowerCase()==="vscode"||!!e.VSCODE_GIT_IPC_HANDLE||!!e.VSCODE_INJECTION}o(ws,"isVsCodeTerminalHostEnv");function Ts(e={}){let t=e.env??process.env;return(e.platform??process.platform)==="win32"||!!t.WT_SESSION}o(Ts,"hasCursorUpViewportYankRisk");function fE(e){return!!(e.SSH_CONNECTION||e.SSH_CLIENT||e.SSH_TTY)}o(fE,"isSshSession");function fc(e={}){let t=e.env??process.env;return Hu(t.KODAX_FULLSCREEN)?!1:(e.platform??process.platform)==="win32"&&fE(t)}o(fc,"isRemoteConptyHost");function Cs(e={}){let t=e.env??process.env;return Ts(e)||ws(t)}o(Cs,"hasMainScreenRenderScrollRisk");function pE(e){if(!e.TMUX||e.TERM_PROGRAM!=="iTerm.app")return!1;let t=e.TERM??"";return!t.startsWith("screen")&&!t.startsWith("tmux")}o(pE,"isTmuxControlModeEnvHeuristic");var Gr;function pc(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(pE(t))return!0;if(!(t===process.env&&n===process.platform))return!1;if(Gr!==void 0||(Gr=!1,!t.TMUX)||t.TERM_PROGRAM&&t.TERM_PROGRAM!=="iTerm.app")return Gr;try{let i=dE("tmux",["display-message","-p","#{client_control_mode}"],{encoding:"utf8",timeout:2e3});i.status===0&&(Gr=i.stdout.trim()==="1")}catch{Gr=!1}return Gr}o(pc,"isTmuxControlMode");function am(){Gr=void 0}o(am,"resetTmuxControlModeProbeForTesting");function oi(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":pc(e)?"tmux_control_mode":ws(t)?"xtermjs_host":fc(e)?"remote_conpty_host":Ts(e)?"degraded_vt":"native_vt"}o(oi,"detectTerminalRenderHost");var ii=oi;function Is(e={}){let t=e.env??process.env;if(Hu(t.KODAX_FORCE_INK))return"legacy";let n=t.KODAX_TUI_RENDERER?.trim().toLowerCase();return n==="legacy"||n==="owned"||n==="auto"?n:"auto"}o(Is,"resolveConfiguredTuiRendererMode");function si(e={}){let t=Is(e);if(t==="legacy"||t==="owned")return t;let n=oi(e);return n==="unsupported_control_host"||n==="tmux_control_mode"?"legacy":"owned"}o(si,"resolveEffectiveTuiRendererMode");function Wu(e={}){let t=e.env??process.env;if(Hu(t.KODAX_FORCE_CLASSIC_REPL))return"classic";let n=Is({env:t});if(n==="legacy"||n==="owned")return"ink";let r=oi(e);return r==="unsupported_control_host"||r==="tmux_control_mode"?"classic":"ink"}o(Wu,"resolveInteractiveSurfacePreference");var mE={enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!0},iw={enabled:!0,promptShell:"main-screen",transcriptShell:"virtual",mouseWheel:!0,mouseClicks:!0,streamingPreview:!1,transcriptSpinnerAnimation:!0};function ai(e,t="owned",n={}){let r=n.env??process.env;return ow(r.KODAX_FULLSCREEN)?t==="owned"&&e!=="tmux_control_mode"&&e!=="unsupported_control_host"?iw:mE:hE(e,t)}o(ai,"resolveFullscreenPolicy");function hE(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 iw;default:return{enabled:!1,promptShell:"main-screen",transcriptShell:"main-screen",mouseWheel:!1,mouseClicks:!1,streamingPreview:!1,transcriptSpinnerAnimation:!1}}}o(hE,"buildFullscreenPolicy");function bs(e,t={}){let n=t.rendererMode??"owned",r=ai(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(bs,"getTerminalHostCapabilities");function Fu(e={}){return si(e)==="owned"}o(Fu,"isOwnedRendererPreferred");function ju(e={}){let t=e.env??process.env;return Hu(t.KODAX_FORCE_CLASSIC_REPL)&&!ow(t.KODAX_FORCE_CLASSIC_REPL)}o(ju,"isClassicReplForced");var vs=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}},cm=1,lm=2,gE=1e3,sw;function Uu(){if(!(typeof Intl>"u"||typeof Intl.Segmenter!="function"))return sw??=new Intl.Segmenter("en",{granularity:"grapheme"}),sw}o(Uu,"getGraphemeSegmenter");function En(e){if(!e)return 0;let t=Uu();if(t){let n=0;for(let r of t.segment(e))n++;return n}return[...e].length}o(En,"getCodePointLength");function wr(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(wr,"isWideChar");function Tr(e){if(!e)return 0;let t=0,n=Uu();if(n)for(let r of n.segment(e))t+=wr(r.segment)?lm:cm;else for(let r of e)t+=wr(r)?lm:cm;return t}o(Tr,"getVisualWidth");function yE(e,t){if(!e||t<0)return"";let n=Uu();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(yE,"getCharAtCodePoint");function mn(e){if(!e)return[];let t=Uu();if(t){let n=[];for(let r of t.segment(e))n.push(r.segment);return n}return[...e]}o(mn,"splitByCodePoints");function xE(e,t,n){return mn(e).slice(t,n).join("")}o(xE,"sliceByCodePoints");function aw(e,t){let n=Math.max(0,t),r=mn(e),i=0,s=0;for(;i<r.length;){let a=wr(r[i])?lm:cm;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(aw,"splitAtVisualColumn");function mc(e,t,n=!1){if(!e||t<=0)return"";let r="\u2026",s=n?t-1:t,a="",c=0,l=mn(e);for(let d of l){let f=wr(d)?2:1;if(c+f>s)break;a+=d,c+=f}return n&&a.length<e.length&&(a+=r),a}o(mc,"truncateByVisualWidth");var um=new vs(gE);function dm(e){let t=um.get(e);if(t!==void 0)return t;let n=Tr(e);return um.set(e,n),n}o(dm,"getVisualWidthCached");function hn(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=mn(l);for(;d<f.length;){let p="",m=0,g=d,S=-1;for(let w=d;w<f.length;w++){let I=f[w],T=wr(I)?2:1;if(m+T>t){S>=0&&w-d>0?(p=f.slice(d,S).join(""),m=f.slice(d,S).reduce((v,A)=>v+(wr(A)?2:1),0),g=S):p.length===0&&T>t&&(p=I,m=T,g=w+1);break}p+=I,m+=T,g=w+1,I===" "&&(S=w+1)}if(p.length>0||i.length===0){let w=d,I=i.length;i.push(p),s[c].push([I,w]),a.push([c,w])}d=g}}return{visualLines:i,logicalToVisualMap:s,visualToLogicalMap:a}}o(hn,"calculateVisualLayout");function fm(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[g,S]of a)if(S<=s)c=[g,S];else break;let[l,d]=c??a[0],f=r[l]??"",p=Math.max(0,s-d),m=Tr(xE(f,0,p));return[l,m]}o(fm,"calculateVisualCursorFromLayout");var pm={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"]}},cw={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 lw={dark:pm,minimal:cw};function ne(e="dark"){return lw[e]??pm}o(ne,"getTheme");function bH(){return Object.keys(lw)}o(bH,"getThemeNames");import{jsx as xn,jsxs as jn,Fragment as E_}from"react/jsx-runtime";import{useMemo as Cd}from"react";import{jsx as FT}from"react/jsx-runtime";import{createContext as r_,useContext as fi,useEffect as Os,useMemo as WT,useState as o_,useCallback as jT,useRef as pd}from"react";import{Stream as PA}from"node:stream";import{openSync as $A,writeSync as ET}from"node:fs";import{performance as OA}from"node:perf_hooks";import{tmpdir as DA}from"node:os";import{join as NA}from"node:path";import mm,{forwardRef as TE,useContext as CE}from"react";import{createContext as SE}from"react";var ks=SE({isScreenReaderEnabled:!1});import{createContext as wE}from"react";var Gu=wE(void 0);var uw=TE(({children:e,backgroundColor:t,"aria-label":n,"aria-hidden":r,"aria-role":i,"aria-state":s,...a},c)=>{let{isScreenReaderEnabled:l}=CE(ks),d=n?mm.createElement("ink-text",null,n):void 0;if(l&&r)return null;let f=mm.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?mm.createElement(Gu.Provider,{value:t},f):f});uw.displayName="Box";var Fn=uw;import kE,{useContext as dw}from"react";import Rs from"chalk";import xo from"chalk";var IE=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,bE=/^ansi256\(\s?(\d+)\s?\)$/;function vE(e){return e in xo}o(vE,"isNamedColor");function nr(e,t,n){if(!t)return e;if(vE(t)){let r=xo;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"?xo.hex(t)(e):xo.bgHex(t)(e);if(t.startsWith("ansi256")){let r=bE.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?xo.ansi256(i)(e):xo.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=IE.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?xo.rgb(i,s,a)(e):xo.bgRgb(i,s,a)(e)}return e}o(nr,"colorize");function gn({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:g}=dw(ks),S=dw(Gu),w=g&&f?f:d;if(w==null)return null;let I=o(T=>{let v=T;n&&(v=Rs.dim(v)),e&&(v=nr(v,e,"foreground"));let A=t??S;return A&&(v=nr(v,A,"background")),r&&(v=Rs.bold(v)),i&&(v=Rs.italic(v)),s&&(v=Rs.underline(v)),a&&(v=Rs.strikethrough(v)),c&&(v=Rs.inverse(v)),v},"transform");return g&&p?null:kE.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:l},internal_transform:I,...m?{internal_cursorAnchor:!0}:{}},g&&f?f:d)}o(gn,"Text");import RE,{useLayoutEffect as EE,useMemo as fw,useState as ME}from"react";function hm({items:e,children:t,style:n}){let[r,i]=ME(0),s=fw(()=>e.slice(r),[e,r]);EE(()=>{i(e.length)},[e.length]);let a=s.map((l,d)=>t(l,r+d)),c=fw(()=>({position:"absolute",flexDirection:"column",...n}),[n]);return RE.createElement("ink-box",{internal_static:!0,style:c},a)}o(hm,"Static");import ui from"node:process";import vT from"react";import{throttle as mA}from"es-toolkit/compat";import yn from"ansi-escapes";import Jr from"is-in-ci";import hA from"auto-bind";import{onExit as gA}from"signal-exit";import yA from"patch-console";import{LegacyRoot as xA,ConcurrentRoot as SA}from"react-reconciler/constants.js";import wA from"yoga-layout";import TA from"wrap-ansi";import CA from"terminal-size";import AE from"node:process";var Vu=o(()=>AE.env.DEV==="true","isDev");import rM from"react-reconciler";import{DefaultEventPriority as oM,NoEventPriority as Ew}from"react-reconciler/constants.js";import*as So from"scheduler";import bw from"yoga-layout";import{createContext as iM}from"react";import VE from"yoga-layout";import _E from"widest-line";var pw=new Map,LE=o(e=>{if(e.length===0)return{width:0,height:0};let t=pw.get(e);if(t)return t;let n=_E(e),r=e.split(`
|
|
3
|
-
`).length,i={width:n,height:r};return pw.set(e,i),i},"measureText"),gm=LE;import PE from"wrap-ansi";import $E from"cli-truncate";var mw={},OE=o((e,t,n)=>{let r=e+String(t)+String(n),i=mw[r];if(i)return i;let s=e;if(n==="wrap"&&(s=PE(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=$E(e,t,{position:a})}return mw[r]=s,s},"wrapText"),Ku=OE;var DE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),NE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),BE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),yw=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),HE=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),xw=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),hw=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!DE(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!NE(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!BE(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),gw=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"),WE=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!yw(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!HE(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),FE=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"),jE=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"),ym=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(xw(t))return!0;return!1},"hasAnsiControlCharacters"),Es=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"),Sw=o(e=>{if(!ym(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 Es(t,e,n,r);if(a==="["){let d=hw(e,r+2);if(d===void 0)return Es(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=FE(a);if(c!==void 0){let d=gw(e,r+2,c.allowBellTerminator);if(d===void 0)return Es(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=WE(e,r+1);if(l===void 0){if(yw(a))return Es(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=hw(e,r+1);if(a===void 0)return Es(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=jE(i);if(s!==void 0){let a=gw(e,r+1,s.allowBellTerminator);if(a===void 0)return Es(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(xw(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 UE=/^[\d:;]*$/,GE=o(e=>{if(!ym(e))return e;let t="";for(let n of Sw(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&UE.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),ww=GE;var Tw=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=Tw(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return ww(t)},"squashTextNodes"),hc=Tw;var zu=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:VE.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(KE.bind(null,t)),t},"createNode"),Yu=o((e,t)=>{t.parentNode&&gc(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")&&Xu(e)},"appendChildNode"),xm=o((e,t,n)=>{t.parentNode&&gc(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")&&Xu(e)},"insertBeforeNode"),gc=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")&&Xu(e)},"removeChildNode"),Sm=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),wm=o((e,t)=>{e.style=t},"setStyle"),Cw=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return yc(t,e),t},"createTextNode"),KE=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:hc(e),r=gm(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Ku(n,t,i);return gm(s)},"measureTextNode"),Iw=o(e=>{if(e?.parentNode)return e.yogaNode??Iw(e.parentNode)},"findClosestYogaNode"),Xu=o(e=>{Iw(e)?.markDirty()},"markNodeAsDirty"),yc=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Xu(e)},"setTextNodeValue");import Ce from"yoga-layout";var YE=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?Ce.POSITION_TYPE_ABSOLUTE:Ce.POSITION_TYPE_RELATIVE),"top"in t&&e.setPosition(Ce.EDGE_TOP,t.top??0),"bottom"in t&&e.setPosition(Ce.EDGE_BOTTOM,t.bottom??0),"left"in t&&e.setPosition(Ce.EDGE_LEFT,t.left??0),"right"in t&&e.setPosition(Ce.EDGE_RIGHT,t.right??0)},"applyPositionStyles"),XE=o((e,t)=>{"margin"in t&&e.setMargin(Ce.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(Ce.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(Ce.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(Ce.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(Ce.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(Ce.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(Ce.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),qE=o((e,t)=>{"padding"in t&&e.setPadding(Ce.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(Ce.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(Ce.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(Ce.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(Ce.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(Ce.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(Ce.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),JE=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(Ce.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(Ce.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(Ce.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(Ce.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(Ce.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(Ce.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(Ce.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(Ce.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(Ce.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(Ce.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(Ce.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(Ce.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(Ce.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(Ce.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(Ce.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(Ce.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(Ce.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(Ce.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(Ce.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),QE=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"),ZE=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?Ce.DISPLAY_FLEX:Ce.DISPLAY_NONE)},"applyDisplayStyles"),eM=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(Ce.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(Ce.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(Ce.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(Ce.EDGE_RIGHT,n)}},"applyBorderStyles"),tM=o((e,t)=>{"gap"in t&&e.setGap(Ce.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(Ce.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(Ce.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),nM=o((e,t={})=>{YE(e,t),XE(e,t),qE(e,t),JE(e,t),QE(e,t),ZE(e,t),eM(e,t),tM(e,t)},"styles"),Tm=nM;if(Vu())try{await import("./devtools-YINBSZC7.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 vw=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"),kw=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),qu=Ew,Cm,Rw={name:void 0,version:void 0},Vr=rM({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=zu(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){wm(s,c),s.yogaNode&&Tm(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"){Cm=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}Sm(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 Cw(e)},resetTextContent(){},hideTextInstance(e){yc(e,"")},unhideTextInstance(e,t){yc(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(bw.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(bw.DISPLAY_FLEX)},appendInitialChild:Yu,appendChild:Yu,insertBefore:xm,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:So.unstable_scheduleCallback,cancelCallback:So.unstable_cancelCallback,shouldYield:So.unstable_shouldYield,now:So.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Yu,insertInContainerBefore:xm,removeChildFromContainer(e,t){gc(e,t),kw(t.yogaNode)},commitUpdate(e,t,n,r){Cm&&e.internal_static&&(Cm.isStaticDirty=!0);let i=vw(n,r),s=vw(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){wm(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}Sm(e,a,c)}s&&e.yogaNode&&Tm(e.yogaNode,s)}},commitTextUpdate(e,t,n){yc(e,n)},removeChild(e,t){gc(e,t),kw(t.yogaNode)},setCurrentUpdatePriority(e){qu=e},getCurrentUpdatePriority:o(()=>qu,"getCurrentUpdatePriority"),resolveUpdatePriority(){return qu!==Ew?qu:oM},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:iM(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Rw.name,rendererVersion:Rw.version});import uM from"widest-line";import dM from"indent-string";import wo from"yoga-layout";import Ju from"yoga-layout";var sM=o(e=>e.getComputedWidth()-e.getComputedPadding(Ju.EDGE_LEFT)-e.getComputedPadding(Ju.EDGE_RIGHT)-e.getComputedBorder(Ju.EDGE_LEFT)-e.getComputedBorder(Ju.EDGE_RIGHT),"getMaxWidth"),Mw=sM;import aM from"cli-boxes";import Qu from"chalk";var cM=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?aM[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,g=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,w=n.style.borderTop!==!1,I=n.style.borderBottom!==!1,T=n.style.borderLeft!==!1,v=n.style.borderRight!==!1,A=i-(T?1:0)-(v?1:0),D=w?nr((T?a.topLeft:"")+a.top.repeat(A)+(v?a.topRight:""),c,"foreground"):void 0;w&&p&&(D=Qu.dim(D));let N=s;w&&(N-=1),I&&(N-=1);let O=(nr(a.left,d,"foreground")+`
|
|
12
|
-
`).repeat(N);g&&(O=Qu.dim(O));let G=(nr(a.right,f,"foreground")+`
|
|
13
|
-
`).repeat(N);S&&(G=Qu.dim(G));let Y=I?nr((T?a.bottomLeft:"")+a.bottom.repeat(A)+(v?a.bottomRight:""),l,"foreground"):void 0;I&&m&&(Y=Qu.dim(Y));let re=w?1:0;D&&r.write(e,t,D,{transformers:[]}),T&&r.write(e,t+re,O,{transformers:[]}),v&&r.write(e+i-1,t+re,G,{transformers:[]}),Y&&r.write(e,t+s-1,Y,{transformers:[]})}},"renderBorder"),Aw=cM;var lM=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=nr(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,m,{transformers:[]})},"renderBackground"),_w=lM;function Zu(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),g=Math.max(0,Math.min(Math.floor(t),m)),w=s&&n>=i?m:g,I=a!==void 0||c!==void 0?Math.max(a??0,Math.min(w,Math.min(m,c??m))):w,T=l&&d!==void 0,v=Math.max(0,Math.floor(d??0)),A=l?T?v:0:I,D=T?A:I,N=null;if(f!==void 0&&f!==D&&r>0){let O=p+r-1;O>=p&&(N={top:p,bottom:O,delta:D-f})}return{scrollHeight:n,viewportTop:I,appliedScrollTop:D,scrollTop:I,scrollOffsetY:A,scrollHint:N}}o(Zu,"computeScrollState");var fM=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
14
|
-
`.repeat(i)+dM(t,r)}return t},"applyPaddingToText"),ed=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===wo.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=hc(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=>ed(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"),Im=null;function Lw(){Im=null}o(Lw,"resetScrollHint");function Pw(){return Im}o(Pw,"getScrollHint");var $w=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()===wo.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 g=hc(e);if(g.length>0){let S=uM(g),w=Mw(c);if(S>w){let I=e.style.textWrap??"wrap";g=Ku(g,w,I)}g=fM(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){_w(l,d,e,t),Aw(l,d,e,t);let g=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,w=g==="hidden"||g==="scroll",I=S==="hidden"||S==="scroll";if(S==="scroll"){let T=c.getComputedBorder(wo.EDGE_TOP),v=c.getComputedBorder(wo.EDGE_BOTTOM),A=Math.max(0,c.getComputedHeight()-T-v),D=e.attributes?.virtualScrollWindowed===!0,N=e.childNodes[0],O=Math.max(0,Math.floor(D?e.attributes?.scrollHeight??0:N?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),G=typeof e.scrollHeight=="number"?e.scrollHeight:O,Y=Zu({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:O,viewportHeight:A,previousScrollHeight:G,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:D,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+T});e.scrollHeight=Y.scrollHeight,e.scrollViewportHeight=A,e.scrollViewportTop=Y.viewportTop,e.appliedScrollTop=Y.appliedScrollTop,Y.scrollHint&&(Im=Y.scrollHint),e.scrollTop=Y.scrollTop,m=Y.scrollOffsetY}if(w||I){let T=w?l+c.getComputedBorder(wo.EDGE_LEFT):void 0,v=w?l+c.getComputedWidth()-c.getComputedBorder(wo.EDGE_RIGHT):void 0,A=I?d+c.getComputedBorder(wo.EDGE_TOP):void 0,D=I?d+c.getComputedHeight()-c.getComputedBorder(wo.EDGE_BOTTOM):void 0;t.clip({x1:T,x2:v,y1:A,y2:D}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)$w(g,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),bm=$w;import pM from"slice-ansi";import mM from"string-width";import{styledCharsFromTokens as hM,styledCharsToString as gM,tokenize as yM}from"@alcalzone/ansi-tokenize";var vm=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=hM(yM(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=mM(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}},Ms=class{static{o(this,"Output")}width;height;operations=[];caches=new vm;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 g=this.caches.getWidestLine(i);if(a+g<d.x1||a>d.x2)continue}if(m){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let S=a<d.x1?d.x1-a:0,w=this.caches.getStringWidth(g),I=a+w>d.x2?d.x2-a:w;return pM(g,S,I)}),a<d.x1&&(a=d.x1)),m){let g=c<d.y1?d.y1-c:0,S=l.length,w=c+S>d.y2?d.y2-c:S;l=l.slice(g,w),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let g=t[c+f];if(!g)continue;for(let I of s)m=I(m,p);let S=this.caches.getStyledChars(m),w=a;for(let I of S){g[w]=I;let T=Math.max(1,this.caches.getStringWidth(I.value));if(T>1)for(let v=1;v<T;v++)g[w+v]={type:"char",value:"",fullWidth:!1,styles:I.styles};w+=T}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return gM(i).trimEnd()}).join(`
|
|
18
|
-
`),height:t.length}}};var Kr={Single:0,Wide:1,SpacerTail:2},Cr={char:" ",width:Kr.Single,style:"",hyperlink:void 0};function Ow(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(Cr);return{width:e,height:t,cells:n}}o(Ow,"createScreen");function As(e,t,n){if(!(t<0||n<0||t>=e.width||n>=e.height))return e.cells[n*e.width+t]}o(As,"cellAt");function Dw(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(Cr),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(Dw,"createScreenBuilder");function*td(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=As(e,s,i),c=As(t,s,i);xM(a,c)||(yield{x:s,y:i,prev:a,next:c})}}o(td,"diffEach");function Nw(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]=Cr},"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]??Cr;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]??Cr;for(let p=i;p<=i+f-1;p++)d(p)}return{...e,cells:c}}o(Nw,"shiftRowsRegion");function xM(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(xM,"cellsEqual");var km="\x1B]8;";function SM(e){return e.endsWith("\x07")?e.slice(0,-1):e}o(SM,"stripOsc8Terminator");function wM(e){if(!e.startsWith(km))return;let t=e.slice(km.length),n=t.indexOf(";");if(n<0)return;let r=t.slice(n+1),i=SM(r);return i.length>0?i:void 0}o(wM,"parseOsc8Url");function TM(e){if(e.value==="")return{char:"",width:Kr.SpacerTail,style:"",hyperlink:void 0};let t="",n;for(let r of e.styles)if(r.code.startsWith(km)){let i=wM(r.code);i!==void 0&&(n=i)}else t+=r.code;return{char:e.value,width:e.fullWidth?Kr.Wide:Kr.Single,style:t,hyperlink:n}}o(TM,"styledCharToCell");function nd(e){let t=e.getGrid(),n=e.width,r=e.height,i=Dw(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=TM(f);p.char===Cr.char&&p.width===Cr.width&&p.style===Cr.style&&p.hyperlink===Cr.hyperlink||i.setCellAt(d,a,p)}}return i.build()}o(nd,"outputToScreen");var CM=o((e,t,n)=>{if(e.yogaNode){if(t){let m=ed(e,{skipStaticElements:!0}),g=m===""?0:m.split(`
|
|
19
|
-
`).length,S="";return e.staticNode&&(S=ed(e.staticNode,{skipStaticElements:!1})),{output:m,outputHeight:g,staticOutput:S?`${S}
|
|
20
|
-
`:"",frame:void 0}}let r=new Ms({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});Lw(),bm(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new Ms({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),bm(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=nd(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:Pw(),...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"),Rm=CM;function Mn(...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(Mn,"csi");function Bw(e=1){return e===0?"":Mn(e,"A")}o(Bw,"cursorUp");function IM(e=1){return e===0?"":Mn(e,"B")}o(IM,"cursorDown");function bM(e=1){return e===0?"":Mn(e,"C")}o(bM,"cursorForward");function vM(e=1){return e===0?"":Mn(e,"D")}o(vM,"cursorBack");function Hw(e){return Mn(e,"G")}o(Hw,"cursorTo");var kM=Mn("G"),Ww=Mn("H");function Fw(e,t){let n="";return e<0?n+=vM(-e):e>0&&(n+=bM(e)),t<0?n+=Bw(-t):t>0&&(n+=IM(t)),n}o(Fw,"cursorMove");var RM=Mn(2,"K");function jw(e){if(e<=0)return"";let t="";for(let n=0;n<e;n++)t+=RM,n<e-1&&(t+=Bw(1));return t+=kM,t}o(jw,"eraseLines");var Uw=Mn("r"),Gw="\x1B7",Vw="\x1B8";function Kw(e,t){return Mn(e,t,"r")}o(Kw,"setScrollRegion");function zw(e=1){return Mn(e,"S")}o(zw,"scrollUp");function Yw(e=1){return Mn(e,"T")}o(Yw,"scrollDown");var rd=Mn(0,"m");function Xw(e){return`\x1B]${e.join(";")}\x07`}o(Xw,"osc");function EM(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(EM,"osc8Id");function xc(e,t){if(!e)return Sc;let n={id:EM(e),...t??{}},r=Object.entries(n).map(([i,s])=>`${i}=${s}`).join(":");return Xw(["8",r,e])}o(xc,"link");var Sc=Xw(["8","",""]);function Em(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=As(t,c,s);!l||l.width===Kr.SpacerTail||(l.hyperlink!==i&&(i!==void 0&&(a+=Sc),l.hyperlink!==void 0&&(a+=xc(l.hyperlink)),i=l.hyperlink),l.style!==r&&(r!==""&&(a+=rd),l.style!==""&&(a+=l.style),r=l.style),a+=l.char)}i!==void 0&&(a+=Sc,i=void 0),r!==""&&(a+=rd,r=""),n.push(a.trimEnd())}return[{type:"stdout",content:n.join(`
|
|
22
|
-
`)}]}o(Em,"renderFullFrame");var MM=Object.freeze([]),AM=Object.freeze([]);function _s(e,t){if(e===t)return{patches:MM,current:e};let n=[];return e!==""&&n.push({type:"stdout",content:rd}),t!==""&&n.push({type:"stdout",content:t}),{patches:n,current:t}}o(_s,"transitionStyle");function od(e,t){let n=_s(e,t),r="";for(let i of n.patches)i.type==="stdout"&&(r+=i.content);return{str:r,current:n.current}}o(od,"transitionStyleStr");function ci(e,t){if(e===t)return{patches:AM,current:e};let n=[];return e!==void 0&&n.push({type:"stdout",content:Sc}),t!==void 0&&n.push({type:"stdout",content:xc(t)}),{patches:n,current:t}}o(ci,"transitionHyperlink");function qw(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(qw,"needsWidthCompensation");var Ls=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}},zr={type:"carriageReturn"},wc={type:"stdout",content:`
|
|
23
|
-
`};function id(e,t,n){let r=t.width===Kr.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&&qw(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(id,"writeCellWithStyleStr");function Tc(e,t,n){e.txn(r=>{let i=t-r.x,s=n-r.y;return r.x>=e.viewportWidth?[[zr,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:s!==0?[[zr,{type:"cursorMove",x:t,y:s}],{dx:i,dy:s}]:[[{type:"cursorMove",x:i,y:s}],{dx:i,dy:s}]})}o(Tc,"moveCursorTo");function sd(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 g=new Array(1+p);g[0]=zr;for(let S=0;S<p;S++)g[1+S]=wc;return[g,{dx:-m.x,dy:p}]})}for(let p=0;p<t.screen.width;p++){let m=As(t.screen,p,c);if(!m||m.width===Kr.SpacerTail||m.char===" "&&m.style===""&&m.hyperlink===void 0)continue;Tc(e,p,c);let g=ci(a,m.hyperlink);for(let w of g.patches)e.txn(()=>[[w],{dx:0,dy:0}]);a=g.current;let S=od(s,m.style);id(e,m,S.str)&&(s=S.current)}let l=_s(s,"");for(let p of l.patches)e.txn(()=>[[p],{dx:0,dy:0}]);s=l.current;let d=ci(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?[[zr],{dx:-p.x,dy:0}]:[[zr,wc],{dx:-p.x,dy:1}])}if(s!==""||a!==void 0){let c=_s(s,"");for(let d of c.patches)e.txn(()=>[[d],{dx:0,dy:0}]);let l=ci(a,void 0);for(let d of l.patches)e.txn(()=>[[d],{dx:0,dy:0}])}}o(sd,"renderFrameSlice");function Mm(e,t){let n="";for(let r=0;r<e.width;r++){let i=As(e,r,t);n+=i?.char??" "}return n.trimEnd()}o(Mm,"readLine");function Cc(e,t,n=!1){let r=new Ls({x:0,y:0},e.viewport.width);sd(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(Cc,"fullResetSequence_CAUSES_FLICKER");function Am(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(Am,"computeViewportState");function Jw(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=Am(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 td(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(Jw,"shouldFullReset");function Qw(e,t,n){return!!(t&&t.width===2||e&&e.width===2&&!t||t&&n&&!e)}o(Qw,"shouldSkipDiff");var ad=class{static{o(this,"LogUpdate")}options;constructor(t){this.options=t}render(t,n,r={}){if(!this.options.isTTY)return Em(n);let i=r.inlineBottomAnchored??!1,s=Zw(t,i),a=Zw(n,i);if(r.altScreen===!0&&t.screen.height===0&&a.screen.height>0)return Cc(a,"clear",i);let c=Jw(s,a,Mm);if(c.reset)return Cc(a,c.reason,i);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:Nw(s.screen,l.top,l.bottom,l.delta)};return[d,...eT(f,a,i)]}return eT(s,a,i)}reset(){}};function _m(e,t){for(let n of t)e.txn(()=>[[n],{dx:0,dy:0}])}o(_m,"emitPatches");function tT(e,t,n){if(t!==""){let r=_s(t,"");_m(e,r.patches)}if(n!==void 0){let r=ci(n,void 0);_m(e,r.patches)}return{style:"",hyperlink:void 0}}o(tT,"resetStyleAndHyperlink");function _M(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(_M,"applyShrink");function LM(e,t,n,r){let i="",s,a=!1;for(let c of td(t.screen,n.screen)){let{x:l,y:d,prev:f,next:p}=c;if(r.growing&&d>=t.screen.height)continue;let m=!!(p&&p.char===" "&&p.style===""&&p.hyperlink===void 0);if(!Qw(f,p,m)){if(d<r.viewportY){a=!0;break}if(Tc(e,l,d),p){let g=ci(s,p.hyperlink);_m(e,g.patches),s=g.current;let S=od(i,p.style);id(e,p,S.str)&&(i=S.current)}else if(f){let g=tT(e,i,s);i=g.style,s=g.hyperlink,e.txn(()=>[[{type:"stdout",content:" "}],{dx:1,dy:0}])}}}return{currentStyle:i,currentHyperlink:s,needsFullReset:a}}o(LM,"diffPass");function Zw(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(Zw,"clampRestingCursor");function PM(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]=zr;for(let a=0;a<r;a++)s[1+a]=wc;return[s,{dx:-n.x,dy:r}]}let i=t.cursor.y-n.y;return i!==0||n.x!==t.cursor.x?[[zr,{type:"cursorMove",x:t.cursor.x,y:i}],{dx:t.cursor.x-n.x,dy:i}]:[[],{dx:0,dy:0}]}):Tc(e,t.cursor.x,t.cursor.y)}o(PM,"restoreCursor");function eT(e,t,n=!1){let r=Am(e,t),i=new Ls(e.cursor,t.viewport.width);r.shrinking&&_M(i,e,t);let s=LM(i,e,t,r);return s.needsFullReset?Cc(t,"offscreen",n):(tT(i,s.currentStyle,s.currentHyperlink),r.growing&&sd(i,t,e.screen.height,t.screen.height,n),PM(i,t),i.diff)}o(eT,"renderIncremental");var $M="\x1B[?25l",OM="\x1B[?25h",DM=`\x1B[2J${Ww}`,NM="\x1B[?2026h",BM="\x1B[?2026l";function HM(e){switch(e.type){case"stdout":return e.content;case"carriageReturn":return"\r";case"cursorHide":return $M;case"cursorShow":return OM;case"cursorMove":return Fw(e.x,e.y);case"cursorTo":return Hw(e.col);case"clear":return jw(e.count);case"clearTerminal":return DM;case"hyperlink":return xc(e.uri);case"scrollRegion":{let t=e.top+1,n=e.bottom+1,r=Math.abs(e.delta),i=e.delta>0?zw(r):Yw(r);return Gw+Kw(t,n)+i+Uw+Vw}}}o(HM,"patchToBytes");function cd(e,t,n=!1){let r="",i=!1;for(let s of t)s.type==="clearTerminal"&&(i=!0),r+=HM(s);if(r.length!==0){if(n&&i){e.write(NM+r+BM);return}e.write(r)}}o(cd,"applyDiff");function nT(e,t,n={}){if(t===void 0)return!1;let r=e.cellLogUpdate.render(e.prevFrame,t,n);return cd(e.stdout,r,n.synchronized??!1),e.prevFrame=t,!0}o(nT,"applyCellFrame");function Ic(e,t){return{screen:Ow(0,0),viewport:{width:t,height:e},cursor:{x:0,y:0,visible:!0}}}o(Ic,"emptyFrame");import WM from"is-in-ci";var Yr="\x1B[?2026h",Ir="\x1B[?2026l";function Xr(e){return"isTTY"in e&&e.isTTY===!0&&!WM}o(Xr,"shouldSynchronize");var FM=new WeakMap,rT=FM;import{EventEmitter as aA}from"node:events";import cA from"node:process";import li,{useState as $m,useRef as Ps,useCallback as bt,useMemo as $s,useEffect as TT}from"react";import lA from"cli-cursor";var jM=o(e=>e>=48&&e<=63,"isCsiParameterByte"),UM=o(e=>e>=32&&e<=47,"isCsiIntermediateByte"),iT=o(e=>e>=64&&e<=126,"isCsiFinalByte");function GM(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(!(jM(s)||UM(s))&&!(s===91&&i===r))return iT(s)?{sequence:e.slice(t,i+1),nextIndex:i+1}:void 0}return"pending"}o(GM,"parseCsiSequence");function VM(e,t,n){let r=t+n+2;if(r>e.length)return"pending";let i=e.codePointAt(r-1);if(!(i===void 0||!iT(i)))return{sequence:e.slice(t,r),nextIndex:r}}o(VM,"parseSs3Sequence");function oT(e,t,n){let r=e[t+n];if(r===void 0)return"pending";if(r==="[")return GM(e,t,n);if(r==="O")return VM(e,t,n)}o(oT,"parseControlSequence");function KM(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(KM,"parseEscapedCodePoint");function zM(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=oT(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=oT(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=KM(e,i);t.push(c.sequence),n=c.nextIndex}return{events:t,pending:""}}o(zM,"parseKeypresses");function ld(){let e="";return{push(t){let n=zM(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(ld,"createInputParser");import{createContext as YM}from"react";var sT=YM({exit(){}});sT.displayName="InternalAppContext";var aT=sT;import{EventEmitter as XM}from"node:events";import{createContext as qM}from"react";var JM={isTTY:!1,isRaw:!1,on(){},off(){},pause(){},resume(){},setRawMode(){}},cT=qM({stdin:JM,internal_eventEmitter:new XM,setRawMode(){},isRawModeSupported:!1,internal_exitOnCtrlC:!0});cT.displayName="InternalStdinContext";var lT=cT;import{createContext as QM}from"react";var ZM={isTTY:!1,columns:80,rows:24,write(){return!0},on(){},off(){}},uT=QM({stdout:ZM,write(){}});uT.displayName="InternalStdoutContext";var dT=uT;import{createContext as eA}from"react";var tA={isTTY:!1,write(){return!0},on(){},off(){}},fT=eA({stderr:tA,write(){}});fT.displayName="InternalStderrContext";var pT=fT;import{createContext as nA}from"react";var mT=nA({activeId:void 0,add(){},remove(){},activate(){},deactivate(){},enableFocus(){},disableFocus(){},focusNext(){},focusPrevious(){},focus(){}});mT.displayName="InternalFocusContext";var hT=mT;import{createContext as rA}from"react";var gT=rA({setCursorPosition(){}});gT.displayName="InternalCursorContext";var yT=gT;import iA,{PureComponent as sA}from"react";import*as ud from"node:fs";import{cwd as wT}from"node:process";import Mt from"react";import xT from"stack-utils";import oA from"code-excerpt";var Lm=o(e=>e?.replace(`file://${wT()}/`,""),"cleanupPath"),ST=new xT({cwd:wT(),internals:xT.nodeInternals()});function Pm({error:e}){let t=e.stack?e.stack.split(`
|
|
24
|
-
`).slice(1):void 0,n=t?ST.parseLine(t[0]):void 0,r=Lm(n?.file),i,s=0;if(r&&n?.line&&ud.existsSync(r)){let a=ud.readFileSync(r,"utf8");if(i=oA(a,n.line),i)for(let{line:c}of i)s=Math.max(s,String(c).length)}return Mt.createElement(Fn,{flexDirection:"column",padding:1},Mt.createElement(Fn,null,Mt.createElement(gn,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Mt.createElement(gn,null," ",e.message)),n&&r&&Mt.createElement(Fn,{marginTop:1},Mt.createElement(gn,{dimColor:!0},r,":",n.line,":",n.column)),n&&i&&Mt.createElement(Fn,{marginTop:1,flexDirection:"column"},i.map(({line:a,value:c})=>Mt.createElement(Fn,{key:a},Mt.createElement(Fn,{width:s+1},Mt.createElement(gn,{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," "),":")),Mt.createElement(gn,{key:a,backgroundColor:a===n.line?"red":void 0,color:a===n.line?"white":void 0}," "+c)))),e.stack&&Mt.createElement(Fn,{marginTop:1,flexDirection:"column"},e.stack.split(`
|
|
25
|
-
`).slice(1).map(a=>{let c=ST.parseLine(a);return c?Mt.createElement(Fn,{key:a},Mt.createElement(gn,{dimColor:!0},"- "),Mt.createElement(gn,{dimColor:!0,bold:!0},c.function),Mt.createElement(gn,{dimColor:!0,color:"gray","aria-label":`at ${Lm(c.file)??""} line ${c.line} column ${c.column}`}," ","(",Lm(c.file)??"",":",c.line,":",c.column,")")):Mt.createElement(Fn,{key:a},Mt.createElement(gn,{dimColor:!0},"- "),Mt.createElement(gn,{dimColor:!0,bold:!0},a,"\\t"," "))})))}o(Pm,"ErrorOverview");var bc=class extends sA{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?iA.createElement(Pm,{error:this.state.error}):this.props.children}};var uA=" ",dA="\x1B[Z",fA="\x1B";function CT({children:e,stdin:t,stdout:n,stderr:r,writeToStdout:i,writeToStderr:s,exitOnCtrlC:a,onExit:c,setCursorPosition:l}){let[d,f]=$m(!0),[p,m]=$m(void 0),[,g]=$m([]),S=Ps(0),w=Ps(0),I=Ps(new aA);I.current.setMaxListeners(1/0);let T=Ps(void 0),v=Ps(ld()),A=Ps(void 0),D=bt(()=>{A.current&&(clearImmediate(A.current),A.current=void 0)},[]),N=t.isTTY,O=bt(()=>{T.current&&(t.removeListener("readable",T.current),T.current=void 0)},[t]),G=bt(()=>{t.setRawMode(!1),O(),t.unref(),w.current=0,v.current.reset(),D()},[t,O,D]),Y=bt(Q=>{N&&w.current>0&&G(),c(Q)},[N,G,c]),re=bt(Q=>{if(Q===""&&a){Y();return}Q===fA&&m(F=>F&&void 0)},[a,Y]),me=bt(Q=>{re(Q),I.current.emit("input",Q)},[re]),ue=bt(()=>{D(),A.current=setImmediate(()=>{A.current=void 0;let Q=v.current.flushPendingEscape();Q&&me(Q)})},[D,me]),y=bt(()=>{D();let Q;for(;(Q=t.read())!==null;){let F=v.current.push(Q);for(let we of F)me(we)}v.current.hasPendingEscape()&&ue()},[t,me,D,ue]),P=bt(Q=>{if(!N)throw t===cA.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"),Q){w.current===0&&(t.ref(),t.setRawMode(!0),T.current=y,t.addListener("readable",y)),w.current++;return}w.current!==0&&--w.current===0&&G()},[N,t,y,G]),C=bt((Q,F)=>{let we=Q.findIndex(Ke=>Ke.id===F);for(let Ke=we+1;Ke<Q.length;Ke++){let ze=Q[Ke];if(ze?.isActive)return ze.id}},[]),ce=bt((Q,F)=>{let we=Q.findIndex(Ke=>Ke.id===F);for(let Ke=we-1;Ke>=0;Ke--){let ze=Q[Ke];if(ze?.isActive)return ze.id}},[]),Me=bt(()=>{g(Q=>(m(F=>{let we=Q.find(ze=>ze.isActive)?.id;return C(Q,F)??we}),Q))},[C]),oe=bt(()=>{g(Q=>(m(F=>{let we=Q.findLast(ze=>ze.isActive)?.id;return ce(Q,F)??we}),Q))},[ce]);TT(()=>{let Q=o(we=>{!d||S.current===0||(we===uA&&Me(),we===dA&&oe())},"handleTabNavigation");I.current.on("input",Q);let F=I.current;return()=>{F.off("input",Q)}},[d,Me,oe]);let X=bt(()=>{f(!0)},[]),de=bt(()=>{f(!1)},[]),ke=bt(Q=>{g(F=>(F.some(Ke=>Ke?.id===Q)&&m(Q),F))},[]),De=bt((Q,{autoFocus:F})=>{g(we=>(S.current=we.length+1,[...we,{id:Q,isActive:!0}])),F&&m(we=>we??Q)},[]),W=bt(Q=>{m(F=>F===Q?void 0:F),g(F=>{let we=F.filter(Ke=>Ke.id!==Q);return S.current=we.length,we})},[]),le=bt(Q=>{g(F=>F.map(we=>we.id!==Q?we:{id:Q,isActive:!0}))},[]),q=bt(Q=>{m(F=>F===Q?void 0:F),g(F=>F.map(we=>we.id!==Q?we:{id:Q,isActive:!1}))},[]);TT(()=>()=>{lA.show(n),N&&w.current>0&&G()},[n,N,G]);let Be=$s(()=>({exit:Y}),[Y]),pt=$s(()=>({stdin:t,setRawMode:P,isRawModeSupported:N,internal_exitOnCtrlC:a,internal_eventEmitter:I.current}),[t,P,N,a]),ge=$s(()=>({stdout:n,write:i}),[n,i]),Pe=$s(()=>({stderr:r,write:s}),[r,s]),Ct=$s(()=>({setCursorPosition:l}),[l]),It=$s(()=>({activeId:p,add:De,remove:W,activate:le,deactivate:q,enableFocus:X,disableFocus:de,focusNext:Me,focusPrevious:oe,focus:ke}),[p,De,W,le,q,X,de,Me,oe,ke]);return li.createElement(aT.Provider,{value:Be},li.createElement(lT.Provider,{value:pt},li.createElement(dT.Provider,{value:ge},li.createElement(pT.Provider,{value:Pe},li.createElement(hT.Provider,{value:It},li.createElement(yT.Provider,{value:Ct},li.createElement(bc,{onError:Y},e)))))))}o(CT,"App");CT.displayName="InternalApp";var IT=CT;var pA={disambiguateEscapeCodes:1,reportEventTypes:2,reportAlternateKeys:4,reportAllKeysAsEscapeCodes:8,reportAssociatedText:16};function bT(e){let t=0;for(let n of e)t|=pA[n];return t}o(bT,"resolveFlags");var qr={shift:1,alt:2,ctrl:4,super:8,hyper:16,meta:32,capsLock:64,numLock:128};var Om=o((e,t)=>(t<0?yn.cursorUp(-t):t>0?yn.cursorDown(t):"")+(e<0?yn.cursorBackward(-e):e>0?yn.cursorForward(e):""),"cursorMoveSeq"),Dm=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"),dd=o(()=>{},"noop"),IA=27,bA=91,vA=63,kA=117,RA=48,EA=57,MA=o(e=>e>=RA&&e<=EA,"isDigitByte"),kT=o((e,t)=>{if(e[t]!==IA||e[t+1]!==bA||e[t+2]!==vA)return;let n=t+3,r=n;for(;n<e.length&&MA(e[n]);)n++;if(n!==r){if(n===e.length)return{state:"partial"};if(e[n]===kA)return{state:"complete",endIndex:n}}},"matchKittyQueryResponse"),AA=o(e=>{for(let t=0;t<e.length;t++)if(kT(e,t)?.state==="complete")return!0;return!1},"hasCompleteKittyQueryResponse"),_A=o(e=>{let t=[],n=0;for(;n<e.length;){let r=kT(e,n);if(r?.state==="complete"){n=r.endIndex+1;continue}if(r?.state==="partial")break;t.push(e[n]),n++}return t},"stripKittyQueryResponsesAndTrailingPartial"),Nm=o(e=>e instanceof Error||Object.prototype.toString.call(e)==="[object Error]","isErrorInput"),LA=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){hA(this),this.options=t,this.rawStdoutWrite=t.stdout.write.bind(t.stdout),this.rawStderrWrite=t.stderr.write.bind(t.stderr),this.rootNode=zu("ink-root"),this.rootNode.onComputeLayout=this.calculateLayout,this.isScreenReaderEnabled=t.isScreenReaderEnabled??ui.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=mA(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 ad({isTTY:!!t.stdout.isTTY}),this.prevFrame=Ic(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?SA:xA;this.container=Vr.createContainer(this.rootNode,s,null,!1,null,"id",()=>{},()=>{},()=>{},()=>{}),this.unsubscribeExit=gA(this.unmount,{alwaysLast:!1}),Vu()&&Vr.injectIntoDevTools(),t.patchConsole&&this.patchConsole(),Jr||(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:CA()?.columns??80,"getTerminalWidth");resized=o(()=>{let t=this.getTerminalWidth();if(t<this.lastTerminalWidth){this.returnCursorToRest();let n=this.altScreenActive?this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"":this.eraseInlineLiveBlock();n.length>0&&this.writeStdout(n),this.lastOutput="",this.lastOutputToRender="",this.cellLogUpdate.reset(),this.prevFrame=Ic(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(Nm(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||Jr)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=Ic(this.options.stdout.rows??24,this.getTerminalWidth()),n=this.cellLogUpdate.render(t,this.prevFrame);this.withInternalStreamWrite(()=>cd(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,wA.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}=Rm(this.rootNode,this.isScreenReaderEnabled,n);this.options.onRender?.({renderTime:performance.now()-t}),!Jr&&!this.options.debug&&!this.isScreenReaderEnabled&&!this.cursorHidden&&(this.writeStdout(yn.cursorHide),this.cursorHidden=!0);let c=s&&s!==`
|
|
28
|
-
`;if(this.options.debug){c&&(this.fullStaticOutput+=s),this.writeStdout(this.fullStaticOutput+r);return}if(Jr){c&&this.writeStdout(s),this.lastOutput=r,this.lastOutputToRender=r+`
|
|
29
|
-
`,this.lastOutputHeight=i;return}if(this.isScreenReaderEnabled){let I=Xr(this.options.stdout);if(I&&this.writeStdout(Yr),c){let A=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(A+s),this.lastOutputHeight=0}if(r===this.lastOutput&&!c){I&&this.writeStdout(Ir);return}let T=this.getTerminalWidth(),v=TA(r,T,{trim:!1,hard:!0});if(c)this.writeStdout(v);else{let A=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(A+v)}this.lastOutput=r,this.lastOutputToRender=v,this.lastOutputHeight=v===""?0:v.split(`
|
|
30
|
-
`).length,I&&this.writeStdout(Ir);return}c&&(this.fullStaticOutput+=s);let d=!this.altScreenActive&&!!(a&&a.inputCursor)?[]:null,f=o(I=>{I&&(d?d.push(I):this.writeStdout(I))},"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(ui.env.KODAX_FULLSCREEN_CELLDIFF!=="0"&&this.altScreenActive&&this.fullStaticOutput===""){let v=Xr(this.options.stdout);v&&this.writeStdout(Yr),this.applyCellFrame(a),v&&this.writeStdout(Ir),this.lastOutput=r,this.lastOutputToRender=S,this.lastOutputHeight=i;return}let I=Xr(this.options.stdout);I&&this.writeStdout(Yr);let T=this.fullStaticOutput+S;if(this.altScreenActive){let v=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(v+T)}else this.writeStdout(yn.clearTerminal+this.fullStaticOutput+r);this.lastOutput=r,this.lastOutputToRender=this.altScreenActive?T:S,this.lastOutputHeight=i,this.invalidateCellFrame(),I&&this.writeStdout(Ir);return}let w=!d&&Xr(this.options.stdout);try{if(c?(w&&f(Yr),f(this.eraseInlineLiveBlock()+s),this.invalidateCellFrame(),this.applyCellFrame(a,p),w&&f(Ir)):!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?(w&&f(Yr),f(this.eraseInlineLiveBlock()),this.invalidateCellFrame(),this.applyCellFrame(a,p),w&&f(Ir)):this.applyCellFrame(a,p),a?.inputCursor){let I=Dm(a,!this.altScreenActive),T=I(a.cursor),v=I(a.inputCursor),A=Om(v.x-T.x,v.y-T.y);f(A),this.displayCursor=v}}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=Xr(this.options.stdout),s={altScreen:this.altScreenActive,decstbmSafe:i,synchronized:n?!1:i,inlineBottomAnchored:!this.altScreenActive},a=this.withInternalStreamWrite(()=>nT(r,t,s));return this.prevFrame=r.prevFrame,a},"applyCellFrame");invalidateCellFrame=o(()=>{this.cellLogUpdate.reset(),this.prevFrame=Ic(this.options.stdout.rows??24,this.getTerminalWidth())},"invalidateCellFrame");eraseInlineLiveBlock=o(()=>this.lastOutputHeight>0?yn.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}=Rm(this.rootNode,this.isScreenReaderEnabled,c);if(this.applyCellFrame(f,s),f?.inputCursor){let p=Dm(f,!this.altScreenActive),m=p(f.cursor),g=p(f.inputCursor),S=Om(g.x-m.x,g.y-m.y);i(S),this.displayCursor=g}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=Xr(this.options.stdout);this.writeStdout(r?Yr+n+Ir:n)}render(t){let n=vT.createElement(ks.Provider,{value:{isScreenReaderEnabled:this.isScreenReaderEnabled}},vT.createElement(IT,{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?Vr.updateContainer(n,this.container,null,dd):(Vr.updateContainerSync(n,this.container,null,dd),Vr.flushSyncWork())}computeReturnToRestSeq(){if(this.displayCursor&&this.prevFrame){let t=Dm(this.prevFrame,!this.altScreenActive)(this.prevFrame.cursor),n=Om(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(Jr){this.writeStdout(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStdout(t),this.invalidateCellFrame();return}let n=Xr(this.options.stdout);n&&this.writeStdout(Yr),this.returnCursorToRest();let r=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";this.writeStdout(r+t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Ir)}writeToStderr(t){if(this.isUnmounted)return;if(this.options.debug){this.writeStderr(t),this.writeStdout(this.fullStaticOutput+this.lastOutput);return}if(Jr){this.writeStderr(t);return}if(!this.shouldRestoreManagedShellAfterExternalWrite()){this.returnCursorToRest(),this.writeStderr(t),this.invalidateCellFrame();return}let n=Xr(this.options.stdout);n&&this.writeStdout(Yr),this.returnCursorToRest();let r=this.lastOutputHeight>0?yn.eraseLines(this.lastOutputHeight):"";r.length>0&&this.writeStdout(r),this.writeStderr(t),this.restoreLastOutput(),this.invalidateCellFrame(),n&&this.writeStdout(Ir)}unmount(t){if(this.isUnmounted||this.isUnmounting)return;this.isUnmounting=!0,this.beforeExitHandler&&(ui.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{}Jr&&this.writeStdout(this.lastOutput+`
|
|
32
|
-
`)}this.kittyProtocolEnabled=!1,this.shellTransitionPhase=void 0,this.options.concurrent?Vr.updateContainer(null,this.container,null,dd):(Vr.updateContainerSync(null,this.container,null,dd),Vr.flushSyncWork()),rT.delete(this.options.stdout);let{exitResult:s}=this,a=o(()=>{Nm(t)?this.rejectExitPromise(t):this.resolveExitPromise(s)},"resolveOrReject"),c=t!==void 0&&!Nm(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()},ui.once("beforeExit",this.beforeExitHandler)),this.exitPromise}clear(){if(!Jr&&!this.options.debug){this.returnCursorToRest();let t=this.altScreenActive?this.lastOutputHeight>0?yn.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=yA((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=ui.env.TERM??"",s=ui.env.TERM_PROGRAM??"",a="KITTY_WINDOW_ID"in ui.env||i==="xterm-kitty"||s==="WezTerm"||s==="ghostty";!Jr&&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=_A(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);AA(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[>${bT(t)}u`),this.kittyProtocolEnabled=!0}},RT=LA;var vc=class{static{o(this,"KodaXRenderer")}engineInstance;isConcurrent;constructor(t){this.engineInstance=new RT(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 To=null;function MT(){if(To===-1)return null;if(To!==null)return To;let e=process.env.KODAX_RENDER_TRACE;if(!e||e==="0"||e==="false")return To=-1,null;let t=e==="1"||e==="true"?NA(DA(),`kodax-render-trace-${process.pid}.log`):e;try{return To=$A(t,"a"),ET(To,`=== KODAX render trace pid=${process.pid} ${new Date().toISOString()} platform=${process.platform} node=${process.version} ===
|
|
33
|
-
`),To}catch{return To=-1,null}}o(MT,"resolveTraceFd");function BA(e){let t=MT();if(t!==null)try{ET(t,e)}catch{}}o(BA,"traceLine");var fd=new WeakMap,HA={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},WA={isTTY:!1,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")},FA={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function jA(e={}){return e instanceof PA?{stdout:e}:e}o(jA,"getOptions");function UA(e,t,n){let r=fd.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(),fd.set(e,r)),r}o(UA,"getInstance");function di(e){return fd.get(e)}o(di,"getRendererInstance");function Bm(e,t){let n={stdout:HA,stdin:FA,stderr:WA,debug:!1,exitOnCtrlC:!0,patchConsole:!1,maxFps:30,concurrent:!1,...jA(t)};if(MT()!==null){let s=n.stdout,a=s.write.bind(s),c=0,l=0;s.write=((m,...g)=>(c+=1,l+=typeof m=="string"?Buffer.byteLength(m,"utf8"):m?.length??0,a(m,...g)));let d=0,f=0,p=n.onRender;n.onRender=m=>{let g=OA.now(),S=d===0?0:g-d,w=s,I=w.columns??0,T=w.rows??0;return BA(`frame=${f} renderTime=${m.renderTime.toFixed(2)}ms interval=${S.toFixed(2)}ms writes=${c} bytes=${l} viewport=${I}x${T}
|
|
34
|
-
`),c=0,l=0,d=g,f+=1,p?.(m)}}let i=UA(n.stdout,()=>new vc(n),n.concurrent??!1);return i.render(e),{rerender:i.render,unmount(){i.unmount()},waitUntilExit:i.waitUntilExit,cleanup:o(()=>{fd.delete(n.stdout)},"cleanup"),clear:i.clear}}o(Bm,"render");var AT=Fn,_T=gn,LT=hm;import{Buffer as VA}from"node:buffer";var KA=/^(?:\x1b)([a-zA-Z0-9])$/,zA=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,$T={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"},OT=[...Object.values($T),"backspace"],YA=o(e=>["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e),"isShiftKey"),XA=o(e=>["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e),"isCtrlKey"),DT=/^\x1b\[(\d+)(?:;(\d+)(?::(\d+))?(?:;([\d:]+))?)?u$/,qA=/^\x1b\[(\d+);(\d+):(\d+)([A-Za-z~])$/,JA={A:"up",B:"down",C:"right",D:"left",E:"clear",F:"end",H:"home",P:"f1",Q:"f2",R:"f3",S:"f4"},QA={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"},PT={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"},NT=o(e=>e>=0&&e<=1114111&&!(e>=55296&&e<=57343),"isValidCodepoint"),Hm=o(e=>NT(e)?String.fromCodePoint(e):"?","safeFromCodePoint");function BT(e){return e===3?"release":e===2?"repeat":"press"}o(BT,"resolveEventType");function HT(e){return{ctrl:!!(e&qr.ctrl),shift:!!(e&qr.shift),meta:!!(e&qr.meta),option:!!(e&qr.alt),super:!!(e&qr.super),hyper:!!(e&qr.hyper),capsLock:!!(e&qr.capsLock),numLock:!!(e&qr.numLock)}}o(HT,"parseKittyModifiers");function ZA(e){let t=DT.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(!NT(n))return null;let a;s&&(a=s.split(":").map(d=>Hm(Number.parseInt(d,10))).join(""));let c,l;return n===32?(c="space",l=!0):n===13?(c="return",l=!0):PT[n]?(c=PT[n],l=!1):n>=1&&n<=26?(c=String.fromCodePoint(n+96),l=!1):(c=Hm(n).toLowerCase(),l=!0),l&&!a&&(a=Hm(n)),{name:c,...HT(r),eventType:BT(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:l,text:a}}o(ZA,"parseKittyKeypress");function e_(e){let t=qA.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==="~"?QA[n]:JA[s];return a?{name:a,...HT(r),eventType:BT(i),sequence:e,raw:e,isKittyProtocol:!0,isPrintable:!1}:null}o(e_,"parseKittySpecialKey");var Wm="\x1B[200~",t_="\x1B[201~";function n_(e){if(!e.startsWith(Wm))return null;let t=e.indexOf(t_,Wm.length);return t===-1?null:e.slice(Wm.length,t)}o(n_,"extractBracketedPaste");function Fm(e=""){let t=e,n;if(VA.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=n_(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=ZA(t);if(r)return r;let i=e_(t);if(i)return i;if(DT.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=KA.exec(t))s.meta=!0,s.shift=/^[A-Z]$/.test(n[1]??"");else if(n=zA.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=$T[c]??"",s.shift=YA(c)||s.shift,s.ctrl=XA(c)||s.ctrl}return s}o(Fm,"parseKeypress");var i_=50;function md(e){return{columns:e?.columns??80,rows:e?.rows??24}}o(md,"resolveTerminalSize");var Co=r_(null),jm={isTTY:!1,columns:80,rows:24,write:o(()=>!0,"write"),on:o(()=>{},"on"),off:o(()=>{},"off")};var UT={isTTY:!1,isRaw:!1,on:o(()=>{},"on"),off:o(()=>{},"off"),pause:o(()=>{},"pause"),resume:o(()=>{},"resume"),setRawMode:o(()=>{},"setRawMode")};function s_(e){for(let t of e)if(t.rawMode)return!0;return!1}o(s_,"hasRawModeSubscribers");function a_({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&&s_(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(a_,"createTerminalInputController");var c_=o(({children:e,runtime:t})=>{let[n,r]=o_(()=>t.terminalSize);Os(()=>{if(r(md(t.stdout)),typeof t.stdout?.on!="function"||typeof t.stdout?.off!="function")return;let c=o(()=>{r(md(t.stdout))},"handleResize");return t.stdout.on("resize",c),()=>{t.stdout.off?.("resize",c)}},[t.stdout]);let i=jT(c=>typeof t.stdout?.write!="function"?!1:(t.stdout.write(c),!0),[t.stdout]),s=WT(()=>a_({stdin:t.stdin,setRawMode:t.setRawMode,isRawModeSupported:t.isRawModeSupported}),[t.stdin,t.isRawModeSupported,t.setRawMode]);Os(()=>()=>{s.dispose()},[s]);let a=WT(()=>({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 FT(Co.Provider,{value:a,children:e})},"TuiRuntimeProvider");function l_(e){let t=e?.stdout??jm,n=e?.stdin??UT,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:md(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(l_,"createRuntimeValue");function hd(e,t){let n=l_(t),r=Bm(FT(c_,{runtime:n,children:e}),t);return n.attachExit(r.unmount),r}o(hd,"render");var E=AT,b=_T,Ds=LT;function u_(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&&OT.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(u_,"createCompatKeypress");function gd(e,t={}){let{isActive:n=!0}=t,r=pd(e),i=pd(null),s=pd(null);Os(()=>{r.current=e},[e]),Os(()=>{if(!n){i.current=null,s.current&&(clearTimeout(s.current),s.current=null);return}return i.current=ld(),()=>{i.current?.reset(),i.current=null,s.current&&(clearTimeout(s.current),s.current=null)}},[n]);let a=jT(c=>{let{input:l,key:d}=u_(Fm(c));l==="c"&&d.ctrl||r.current(l,d)},[]);Rc(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)},i_))},{isActive:n,rawMode:!0})}o(gd,"useInput");function br(){return{stdout:fi(Co)?.stdout??jm}}o(br,"useStdout");function kc(){let e=fi(Co),t=e?.stdin??UT,n=e?.setRawMode??(r=>{typeof t?.setRawMode=="function"&&t.setRawMode(r)});return{stdin:t,setRawMode:n,isRawModeSupported:e?.isRawModeSupported??typeof t?.setRawMode=="function"}}o(kc,"useStdin");function Io(){return{exit:fi(Co)?.exit??(()=>{})}}o(Io,"useApp");function Ns(){return fi(Co)?.stdout??jm}o(Ns,"useTerminalOutput");function Bs(){let e=Ns();return fi(Co)?.terminalSize??md(e)}o(Bs,"useTerminalSize");function Hs(){let e=Ns();return fi(Co)?.writeRaw??(n=>typeof e?.write!="function"?!1:(e.write(n),!0))}o(Hs,"useTerminalWrite");function Rc(e,t={}){let{isActive:n=!0,rawMode:r=!0}=t,i=fi(Co),{stdin:s,setRawMode:a,isRawModeSupported:c}=kc(),l=pd(e);Os(()=>{l.current=e},[e]),Os(()=>{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(Rc,"useTerminalInput");import{jsx as g_}from"react/jsx-runtime";import{useInsertionEffect as y_,useMemo as x_}from"react";var d_="\x1B[?1049h",f_="\x1B[?1049l";var p_="\x1B[2J",m_="\x1B[?1000h\x1B[?1002h\x1B[?1006h",h_="\x1B[?1006l\x1B[?1002l\x1B[?1000l";function yd(e={}){let t=e.mouseTracking!==!1,n=e.clearOnEnter===!0;return d_+(n?p_:"")+"\x1B[H"+(t?m_:"")}o(yd,"buildAlternateScreenEnterSequence");function xd(e={}){return(e.mouseTracking!==!1?h_:"")+f_}o(xd,"buildAlternateScreenExitSequence");var Um=o(({children:e,mouseTracking:t=!0,enabled:n=!0,clearOnEnter:r=!1})=>{let i=Ns(),{rows:s}=Bs(),a=Hs(),c=x_(()=>n&&i.isTTY===!0,[n,i]);return y_(()=>{if(!c)return;let l=di(i);if(l?.setShellMode?.("virtual",t),l?.beginShellTransition?.("enter-alt-screen"),!!a(yd({mouseTracking:t,clearOnEnter:r})))return l?.setAltScreenActive?.(!0,t),()=>{l?.beginShellTransition?.("exit-alt-screen"),l?.clearTextSelection?.(),l?.setAltScreenActive?.(!1),a(xd({mouseTracking:t}))}},[r,c,t,i,a]),g_(E,{flexDirection:"column",height:s,width:"100%",flexGrow:1,flexShrink:0,children:e})},"AlternateScreen");import{jsx as bo,jsxs as YT}from"react/jsx-runtime";import{jsx as w_}from"react/jsx-runtime";import T_,{useEffect as Gm,useImperativeHandle as C_,useMemo as I_,useRef as Sd,useCallback as Mc,useState as b_}from"react";function S_(e,t,n){return Math.max(t,Math.min(e,n))}o(S_,"clamp");function Ec(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=S_(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(Ec,"computeOverscanWindow");function GT(e,t,n){let r=Ec({...n,globalScrollTop:e}),i=Ec({...n,globalScrollTop:t});return r.bin===i.bin}o(GT,"staysWithinOverscanBlock");function VT(e){let t=e??void 0;for(;t?.parentNode;)t=t.parentNode;return t&&typeof t.onRender=="function"?(t.onRender(),!0):!1}o(VT,"scheduleRenderFromNode");function KT(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:wd(t,t.scrollTop)}}o(KT,"normalizeScrollSnapshot");function zT(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(zT,"areSnapshotsEqual");function v_(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(v_,"areWindowsEqual");function wd(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(wd,"clampScrollTop");function Vm(e){let t=Math.max(0,e.viewportHeight),n=wd(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=Ec({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(Vm,"resolveScrollWindow");function k_(e){let t=wd(e,e.scrollTop);return Math.max(0,e.scrollHeight-e.viewportHeight-t)}o(k_,"resolveNativeScrollTop");var Km=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:g,overscanRows:S})=>{let w=Sd(null),I=Sd(new Set),T=Sd(KT({scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,sticky:l,overscanRows:S})),[v,A]=b_(()=>Vm(T.current)),D=Sd(null),N=Mc(()=>{for(let oe of I.current)oe()},[]),O=Mc((oe,X=!0)=>{let de=T.current,ke=KT(oe),De=Vm(ke);return T.current=ke,A(W=>v_(W,De)?W:De),X&&!zT(de,ke)&&N(),{previous:de,snapshot:ke,window:De,changed:!zT(de,ke)}},[N]),G=Mc(oe=>{let X=T.current,de=Math.max(0,Math.floor(X.overscanRows??0)),ke=w.current;if(de<=0||!ke||X.viewportHeight<=0)return!1;let De=Math.max(0,X.scrollHeight-X.viewportHeight),W=D.current??wd(X,X.scrollTop),le=Math.max(0,Math.min(Math.floor(W+oe),De));if(le===W)return!0;let q=Math.max(0,X.scrollHeight-X.viewportHeight-W),Be=Math.max(0,X.scrollHeight-X.viewportHeight-le),pt={viewportHeight:X.viewportHeight,contentHeight:X.scrollHeight,overscan:de};if(!GT(q,Be,pt))return!1;let ge=Ec({...pt,globalScrollTop:Be});return ke.scrollTop=Be,ke.attributes&&(ke.attributes.inWindowScrollTop=ge.inBlockOffset),VT(ke)?(D.current=le,X.sticky&&(T.current={...T.current,sticky:!1},p?.(!1)),N(),!0):!1},[N,p]),Y=Mc(oe=>{let X=w.current;X&&T.current.overscanRows&&(X.scrollTop=oe.viewportTop)},[]);Gm(()=>{let oe=T.current,X={scrollTop:s,scrollHeight:a,viewportHeight:c,pendingDelta:0,clampMin:oe.clampMin,clampMax:oe.clampMax,sticky:l,overscanRows:S},de=O(X);de.previous.sticky!==l&&p?.(l),de.window.scrollTop!==s&&f?.(de.window.scrollTop)},[O,p,f,S,a,s,l,c]);let re=Mc(()=>{let oe=w.current;if(!oe)return;D.current=null;let X=typeof oe.scrollHeight=="number"?Math.max(0,Math.floor(oe.scrollHeight)):void 0,de=typeof oe.scrollViewportHeight=="number"?Math.max(0,Math.floor(oe.scrollViewportHeight)):void 0,ke=typeof oe.scrollViewportTop=="number"?Math.max(0,Math.floor(oe.scrollViewportTop)):void 0;if(X===void 0||de===void 0||ke===void 0)return;let De=Math.max(0,X-de-ke),W=O({...T.current,scrollTop:De,scrollHeight:X,viewportHeight:de});W.changed&&W.window.scrollTop!==W.previous.scrollTop&&f?.(W.window.scrollTop)},[O,f]);Gm(()=>{re()},[re]);let me=I_(()=>({scrollTo(oe){D.current=null;let X=O({...T.current,scrollTop:oe,pendingDelta:0,sticky:!1});X.previous.sticky!==!1&&p?.(!1),Y(X.window),f?.(X.window.scrollTop)},scrollBy(oe){if(G(oe))return;let X=D.current??T.current.scrollTop;D.current=null;let de=O({...T.current,scrollTop:X+oe,pendingDelta:T.current.pendingDelta+Math.floor(oe),sticky:!1});de.previous.sticky!==!1&&p?.(!1),Y(de.window),f?.(de.window.scrollTop)},scrollToElement(oe,X=0){D.current=null;let de=O({...T.current,scrollTop:oe-X,pendingDelta:0,sticky:!1});de.previous.sticky!==!1&&p?.(!1),Y(de.window),f?.(de.window.scrollTop)},scrollToBottom(){D.current=null;let oe=O({...T.current,scrollTop:0,pendingDelta:0,sticky:!0});Y(oe.window),f?.(oe.window.scrollTop),oe.previous.sticky!==!0&&p?.(!0)},getScrollTop(){return D.current??T.current.scrollTop},getPendingDelta(){return T.current.pendingDelta},getScrollHeight(){return w.current?.scrollHeight??T.current.scrollHeight},getViewportHeight(){return w.current?.scrollViewportHeight??v.viewportHeight},getViewportTop(){return w.current?.scrollViewportTop??v.viewportTop},isSticky(){return T.current.sticky},subscribe(oe){return I.current.add(oe),()=>{I.current.delete(oe)}},setClampBounds(oe,X){D.current=null;let de=O({...T.current,clampMin:oe,clampMax:X});Y(de.window),de.window.scrollTop!==de.previous.scrollTop&&f?.(de.window.scrollTop)}}),[O,f,p,G,Y]);C_(d,()=>me,[me]),Gm(()=>{m?.(v)},[m,v]);let ue=D.current!==null,y=ue?{...T.current,scrollTop:D.current}:T.current,P=ue?Vm(y):v,C=g?g(P):e,ce=Math.max(0,c+i),Me=k_(y);return T_.createElement("ink-box",{ref:w,style:{flexWrap:"nowrap",flexDirection:"row",flexGrow:n,flexShrink:r,width:t,height:ce,paddingTop:i,overflowX:"visible",overflowY:"scroll"},scrollTop:Me,scrollHeight:T.current.scrollHeight,scrollViewportHeight:T.current.viewportHeight,scrollViewportTop:P.viewportTop,pendingScrollDelta:T.current.pendingDelta,virtualScrollWindowed:!!g,...T.current.overscanRows?{inWindowScrollTop:P.inWindowScrollTop}:{},...T.current.clampMin!==void 0?{scrollClampMin:T.current.clampMin}:{},...T.current.clampMax!==void 0?{scrollClampMax:T.current.clampMax}:{},...l?{stickyScroll:!0}:{}},w_(E,{flexDirection:"column",flexGrow:1,flexShrink:0,width:"100%",children:C}))},"ScrollBox");var R_=80;function Ac(e){if(!(!e?.visible||!e.label))return e.hint?`${e.label}: ${e.hint}`:e.label}o(Ac,"resolveFullscreenChromeSlotText");function Td(e,t){if(!e)return 0;let n=Math.max(1,(typeof t=="number"?t:R_)-2);return Math.max(1,hn(e.split(`
|
|
36
|
-
`),n,0,0).visualLines.length)}o(Td,"measureFullscreenChromeSlotRows");var zm=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:g,onScrollTopChange:S,onStickyChange:w,onWindowChange:I,overscanRows:T})=>{let v=o((me,ue)=>ue?bo(E,{paddingX:1,children:bo(b,{dimColor:me?.tone!=="accent",children:ue})}):null,"renderChromeSlot"),A=Ac(a),D=Ac(c),N=Td(A,l),O=v(a,A),G=s?null:v(c,D),Y=Math.max(0,e?t:0),re=Math.max(0,p-N-Y);return YT(E,{flexDirection:"column",width:l,flexGrow:1,flexShrink:0,children:[e?bo(E,{flexDirection:"column",flexShrink:0,children:e}):null,YT(E,{flexDirection:"column",flexGrow:1,overflowY:"hidden",children:[bo(Km,{width:l,flexGrow:1,flexShrink:1,paddingTop:N,scrollTop:d,scrollHeight:f,viewportHeight:re,stickyScroll:m,scrollRef:g,onScrollTopChange:S,onStickyChange:w,onWindowChange:I,renderWindow:r,overscanRows:T,children:n}),O?bo(E,{position:"absolute",top:0,left:0,right:0,flexDirection:"column",children:O}):null,G?bo(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:G}):null,s?bo(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:s}):null]}),bo(E,{flexDirection:"column",flexShrink:0,children:i})]})},"FullscreenLayout");import M_ from"string-width";function A_(){return Bs().columns}o(A_,"useTerminalWidth");var Ym=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=Cd(()=>ne(d),[d]),m=A_(),g=f??m,S=M_(r)+1,w=Cd(()=>{let N=Math.max(20,g-S);return hn(e,N,t,n)},[e,g,t,n,S]),I=Cd(()=>{if(!w)return null;let[N,O]=fm(w,[t,n]);return{row:N,col:O}},[w,t,n]),T=s&&a,v=c&&e.some(N=>N.length>0),A=w,D=I;return jn(E,{flexDirection:"column",borderStyle:"round",borderColor:p.colors.dim,borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,width:f??"100%",children:[v?xn(E,{children:xn(b,{dimColor:!0,children:l==="pasting"?"Pasting input...":"Editing input..."})}):null,A.visualLines.length===0||A.visualLines.length===1&&A.visualLines[0]===""?jn(E,{children:[jn(b,{color:p.colors.primary,children:[r," "]}),T?jn(E_,{children:[xn(b,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:" "}),xn(b,{dimColor:!0,children:i})]}):xn(b,{dimColor:!0,children:i})]}):A.visualLines.map((N,O)=>{let G=O===D.row,Y=O===0?r:" ".repeat(S-1);if(G&&T){let{before:re,current:me,after:ue}=aw(N,D.col),y=me||" ";return jn(E,{children:[jn(b,{color:p.colors.primary,children:[Y," "]}),xn(b,{color:p.colors.text,children:re}),xn(b,{internal_cursorAnchor:!0,backgroundColor:p.colors.primary,color:"#000000",children:y}),xn(b,{color:p.colors.text,children:ue})]},O)}return jn(E,{children:[jn(b,{color:p.colors.dim,children:[Y," "]}),xn(b,{color:p.colors.text,children:N})]},O)})]})},"TextInput"),__=o(({value:e,cursorCol:t,prompt:n=">",placeholder:r,focus:i=!0,theme:s="dark"})=>{let a=Cd(()=>ne(s),[s]);if(!e)return jn(E,{children:[jn(b,{color:a.colors.primary,children:[n," "]}),r&&xn(b,{dimColor:!0,children:r}),i&&xn(b,{backgroundColor:a.colors.primary,color:"#000000",children:" "})]});let c=mn(e),l=c.slice(0,t).join(""),d=c[t]??" ",f=c.slice(t+1).join("");return jn(E,{children:[jn(b,{color:a.colors.primary,children:[n," "]}),xn(b,{color:a.colors.text,children:l}),xn(b,{backgroundColor:a.colors.primary,color:"#000000",children:d}),xn(b,{color:a.colors.text,children:f})]})},"SingleLineTextInput");var Xm={"[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"}},L_=/^\x1b\[([0-9]+);?([0-9]+)?([~A-Za-z])?/,P_=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/;function $_(e){switch(e&3){case 0:return"left";case 1:return"middle";case 2:return"right";default:return"unknown"}}o($_,"parseMouseButton");function O_(e){return{shift:(e&1)!==0,alt:(e&2)!==0,ctrl:(e&4)!==0,meta:(e&8)!==0}}o(O_,"parseModifier");function Id(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(P_);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:$_(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(L_);if(s){let[,l,d,f]=s,p=f||"~",g=Xm[i];if(g)return Object.assign(n,g),n;let S="["+l+p+"]",w=Xm[S];if(w&&w.name){if(n.name=w.name,d){let I=parseInt(d,10)-1,T=O_(I);Object.assign(n,T)}return n}}let c=Xm[i];if(c)return Object.assign(n,c),n;if(e.startsWith("\x1B\x1B")){n.meta=!0;let l="\x1B"+e.slice(2),d=Id(l);return n.name=d.name,n}}return n}o(Id,"parseKeypress");var _c=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=Id(s,this.inBracketedPaste);this.emit(a)}break}let{sequence:n,remaining:r}=t;this.buffer=r;let i=Id(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 XT(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(XT,"isFunctionKey");function D_(e){return e.ctrl||e.meta||XT(e)?!1:e.sequence.length===1&&e.sequence.charCodeAt(0)>=32}o(D_,"isPrintable");function N_(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(N_,"getKeyDisplayName");import B_,{createContext as H_,useContext as W_,useEffect as qT,useCallback as F_,useRef as qm}from"react";var j_=50;function Jm(){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(Jm,"createKeypressManager");var JT=H_(null);function bd({children:e,enabled:t=!0}){let{stdout:n}=br(),r=qm(Jm()),i=qm(null),s=qm(null),a=F_(c=>{t&&r.current.dispatch(c)},[t]);return qT(()=>{if(!t)return;n?.write?.("\x1B[?2004h");let c=new _c;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]),Rc(c=>{t&&(s.current&&clearTimeout(s.current),i.current?.feed(c),c.length!==0&&(s.current=setTimeout(()=>{i.current?.feed("",!0)},j_)))},{isActive:t,rawMode:!0}),B_.createElement(JT.Provider,{value:r.current},e)}o(bd,"KeypressProvider");function Qm(){let e=W_(JT);if(!e)throw new Error("useKeypressManager must be used within a KeypressProvider");return e}o(Qm,"useKeypressManager");function An(e,t,n=[]){let r=Qm(),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?fn.High:fn.Normal:d??fn.Normal}else a=typeof e=="boolean"?e?fn.High:fn.Normal:e,s=t,c=!0;qT(()=>c?r.register(a,s):void 0,[r,a,c,...i?[]:n])}o(An,"useKeypress");function Un(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(Un,"createKeyMatcher");var QT={isEnter:Un({name:"return"}),isEscape:Un({name:"escape"}),isCtrlC:Un({name:"c",ctrl:!0}),isCtrlD:Un({name:"d",ctrl:!0}),isUp:Un({name:"up"}),isDown:Un({name:"down"}),isLeft:Un({name:"left"}),isRight:Un({name:"right"}),isBackspace:Un({name:"backspace"}),isDelete:Un({name:"delete"}),isTab:Un({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 Y_}from"react/jsx-runtime";import{useState as X_,useEffect as tC,useCallback as vo,useMemo as nC,createContext as q_,useContext as rC}from"react";function U_(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=G_(t,a);return i+=c,{matched:!0,score:i,highlights:a}}o(U_,"fuzzyMatch");function G_(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(G_,"calculateWordBoundaryBonus");function V_(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}o(V_,"prefixMatch");function K_(e,t){if(V_(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{...U_(e,t),isPrefix:!1}}o(K_,"combinedMatch");function ZT(e,t,n=0){return e?t.map(r=>{let i=K_(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(ZT,"sortCandidatesCombined");var z_={debounceDelay:100,minTriggerChars:1,maxCompletions:10,minScore:0},Zm=class{static{o(this,"AutocompleteProvider")}completers;options;state;listeners=new Set;debounceTimer=null;lastInput="";lastCursorPos=0;constructor(t={}){this.options={...z_,...t},this.completers=[new im(this.options.gitRoot),new QS,new ZS,new Bu(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 im)?.setGitRoot(this.options.gitRoot),r){let i=this.completers.findIndex(s=>s instanceof Bu);i!==-1&&(this.completers[i]=new Bu(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=sm(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){console.error("[Autocomplete] Completer error:",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 ZT(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=sm(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){console.error("[Autocomplete] Listener error:",r)}}};function eC(e){return new Zm(e)}o(eC,"createAutocompleteProvider");var eh=q_(null);function th({children:e,cwd:t,gitRoot:n}){let r=vd({cwd:t,gitRoot:n,enabled:!0});return Y_(eh.Provider,{value:r,children:e})}o(th,"AutocompleteContextProvider");function pi(){return rC(eh)}o(pi,"useAutocompleteContext");function J_(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(J_,"completionToSuggestion");function vd(e={}){let t=rC(eh);return t&&!e.cwd&&!e.gitRoot?t:Q_(e)}o(vd,"useAutocomplete");function Q_(e){let{cwd:t,gitRoot:n,enabled:r=!0}=e,i=nC(()=>eC({cwd:t,gitRoot:n,debounceDelay:100,minTriggerChars:1,maxCompletions:50}),[]);tC(()=>{i.updateOptions({cwd:t,gitRoot:n})},[i,t,n]);let[s,a]=X_({visible:!1,selectedIndex:0,completions:[],loading:!1});tC(()=>i.subscribe(T=>{a(T)}),[i]);let c=nC(()=>s.completions.map((I,T)=>J_(I,T)),[s.completions]),l=vo((I,T)=>{if(!r){i.cancel();return}i.handleInput(I,T)},[i,r]),d=vo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),f=vo(()=>s.visible?i.acceptCompletionWithType():null,[i,s.visible]),p=vo(()=>{s.visible&&i.selectPrevious()},[i,s.visible]),m=vo(()=>{s.visible&&i.selectNext()},[i,s.visible]),g=vo(()=>{s.visible&&i.cancel()},[i,s.visible]),S=vo(()=>{i.cancel()},[i]),w=vo(()=>i,[i]);return{state:s,suggestions:c,handleInput:l,handleTab:d,handleEnter:f,handleUp:p,handleDown:m,handleEscape:g,cancel:S,getProvider:w}}o(Q_,"useAutocompleteImpl");import{useCallback as Lc,useRef as oC}from"react";var Gn=[];function nh(e={}){let{maxSize:t=1e3,onSave:n}=e,r=oC(-1),i=oC(""),s=Lc((f,p)=>{if(!f.trim())return;if(Gn[Gn.length-1]?.text!==f){let g={text:f,timestamp:Date.now(),...p?.pastedContents&&p.pastedContents.length>0?{pastedContents:[...p.pastedContents]}:{}};Gn.push(g),Gn.length>t&&Gn.splice(0,Gn.length-t),n?.(g)}r.current=-1,i.current=""},[t,n]),a=Lc(()=>Gn.length===0?null:r.current===-1?(r.current=Gn.length-1,Gn[r.current]??null):r.current>0?(r.current--,Gn[r.current]??null):null,[]),c=Lc(()=>r.current===-1?null:r.current<Gn.length-1?(r.current++,Gn[r.current]??null):(r.current=-1,{text:i.current,timestamp:Date.now()}),[]),l=Lc(()=>{r.current=-1,i.current=""},[]),d=Lc(f=>{r.current===-1&&(i.current=f)},[]);return{add:s,navigateUp:a,navigateDown:c,reset:l,saveTempInput:d}}o(nh,"useInputHistory");function Sn(e,t,n){return mn(e).slice(t,n).join("")}o(Sn,"sliceByCodePoints");var Pc=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 Tr(this.currentLine)}get visualCursor(){let t=this._lines[this._cursor.row]??"",n=Sn(t,0,this._cursor.col);return{row:this._cursor.row,col:Tr(n)}}getCharWidthAtCursor(){let t=this._lines[this._cursor.row]??"",r=mn(t)[this._cursor.col];return r?wr(r)?2:1:0}visualColToLogicalCol(t){let n=this._lines[this._cursor.row]??"",r=mn(n),i=0;for(let s=0;s<r.length;s++){let a=wr(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=Sn(n,0,this._cursor.col),i=Sn(n,this._cursor.col);this._lines[this._cursor.row]=r+t+i,this._cursor.col+=En(t),this._rememberedCol=this._cursor.col,this._updateText()}newline(){this._saveHistory(),this._insertNewline()}_insertNewline(){let t=this._lines[this._cursor.row],n=Sn(t,0,this._cursor.col),r=Sn(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=Sn(t,0,n),i=Sn(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=En(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<En(t)){this._saveHistory();let n=Sn(t,0,this._cursor.col),r=Sn(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=En(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col)}_moveRight(){let t=this._lines[this._cursor.row];this._cursor.col<En(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=En(this._lines[this._cursor.row]),this._rememberedCol=this._cursor.col}_clampColumn(){let t=this._lines[this._cursor.row],n=En(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,En(this._lines[this._cursor.row]))),this._rememberedCol=this._cursor.col}killLineRight(){let t=this._lines[this._cursor.row];this._cursor.col<En(t)&&(this._saveHistory(),this._lines[this._cursor.row]=Sn(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]=Sn(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=mn(t);for(;n>0&&/\s/.test(r[n]??"");)n--;for(;n>0&&!/\s/.test(r[n-1]??"");)n--;let i=Sn(t,0,n),s=Sn(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:En(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+=Sn(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=En(this._lines[this._cursor.row]??""),this._rememberedCol=this._cursor.col}};import{useState as Z_,useCallback as Bt,useRef as rh,useEffect as eL}from"react";function oh(e={}){let{initialValue:t="",onTextChange:n}=e,r=rh(null),i=rh(null),s=rh(null),[a,c]=Z_({text:t,cursor:{row:0,col:0},lines:[""],isPasting:!1,editingMode:t?"typing":"idle"});r.current===null&&(r.current=new Pc,t&&r.current.setText(t)),i.current===null&&(i.current=zS());let l=r.current,d=i.current,f=Bt(y=>{c(P=>({text:l.text,cursor:l.cursor,lines:l.lines,isPasting:y?.isPasting??P.isPasting,editingMode:y?.editingMode??P.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]),g=Bt((y,P,C)=>{l.replaceRange(y,P,C),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),S=Bt((y,P)=>{let C=P?.paste??!1;if(C&&VS(y)){let ce=y.replace(/\r\n/g,`
|
|
47
|
-
`).replace(/\r/g,`
|
|
48
|
-
`),{placeholder:Me}=d.registerText(ce);l.insert(Me,{paste:!0}),f({isPasting:!0,editingMode:"pasting"}),p();return}l.insert(y,{paste:!1}),f({isPasting:C,editingMode:C?"pasting":"typing"}),C&&p()},[l,d,p,f]),w=Bt(()=>{l.newline(),f({isPasting:!1,editingMode:"typing"})},[l,f]),I=Bt(()=>{let y=l.getAbsoluteOffset(),P=Du(l.text,y);P?l.replaceRange(P.start,P.end,""):l.backspace(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),T=Bt(()=>{let y=l.getAbsoluteOffset(),P=Nu(l.text,y);P?l.replaceRange(P.start,P.end,""):l.delete(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),v=Bt(y=>{l.move(y),f()},[l,f]),A=Bt(()=>{l.clear(),f({isPasting:!1,editingMode:"idle"})},[l,f]),D=Bt(()=>{let y=l.undo();return y&&f(),y},[l,f]),N=Bt(()=>{let y=l.redo();return y&&f(),y},[l,f]),O=Bt(()=>{l.moveToEnd(),f()},[l,f]),G=Bt(y=>{l.moveToAbsoluteOffset(y),f()},[l,f]),Y=Bt(()=>{l.killLineRight(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),re=Bt(()=>{l.killLineLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),me=Bt(()=>{l.deleteWordLeft(),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]),ue=Bt(()=>{s.current&&(clearTimeout(s.current),s.current=null),f({isPasting:!1,editingMode:l.text?"typing":"idle"})},[l,f]);return eL(()=>()=>{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:ue,setText:m,replaceRange:g,insert:S,newline:w,backspace:I,delete:T,move:v,moveToEnd:O,moveToOffset:G,killLineRight:Y,killLineLeft:re,deleteWordLeft:me,clear:A,undo:D,redo:N}}o(oh,"useTextBuffer");import{jsx as mi,jsxs as Rd}from"react/jsx-runtime";import{useState as cC}from"react";import{useCallback as Ws,useEffect as ih,useRef as kd}from"react";function iC(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(iC,"buildAutocompleteReplacement");var nL=500;function sC(e,t,n){return n==="up"?e===0:e>=Math.max(0,t-1)}o(sC,"shouldUseHistoryNavigation");function rL(e){return e.isAutocompleteVisible?"cancel-autocomplete":e.hasText?e.timeSinceLastEscapeMs<nL?"clear-input":"arm-clear":"pass-through"}o(rL,"resolvePromptEscapeBehavior");function oL(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(oL,"resolvePromptEnterBehavior");function iL(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(iL,"resolvePromptEditingCommand");function aC({onSubmit:e,onExit:t,focus:n=!0,initialValue:r="",cwd:i,gitRoot:s,autocompleteEnabled:a=!0,onInputChange:c,onHistoryRecall:l,onPopPendingInputs:d}){let f=kd(0),{add:p,navigateUp:m,navigateDown:g,reset:S,saveTempInput:w}=nh(),{buffer:I,text:T,cursor:v,lines:A,isPasting:D,editingMode:N,pasteStore:O,resetTransientState:G,setText:Y,replaceRange:re,clear:me,move:ue,moveToOffset:y,insert:P,backspace:C,newline:ce,delete:Me,undo:oe,redo:X,killLineRight:de,killLineLeft:ke,deleteWordLeft:De}=oh({initialValue:r,onTextChange:c}),W=kd(0);ih(()=>{if(D)return;if(T.length<=1e4){W.current=0;return}if(T.length===W.current)return;let M=O.peekNextId(),{truncatedText:L,placeholderContent:V}=KS(T,M);V&&(O.registerTruncatedText(V),W.current=L.length,Y(L))},[T,D,O,Y]);let le=pi(),q=vd({cwd:i,gitRoot:s,enabled:a}),{state:Be,suggestions:pt,handleInput:ge,handleTab:Pe,handleEnter:Ct,handleUp:It,handleDown:Q,handleEscape:F}=le??q;ih(()=>{n||(f.current=0,G(),Be.visible&&F())},[Be.visible,n,F,G]);let we=kd(T);ih(()=>{a&&T!==we.current&&(we.current=T,ge(T,I.getAbsoluteOffset()))},[a,I,ge,T]);let Ke=Ws(M=>{if(!M?.text)return;let L=iC(T,I.getAbsoluteOffset(),M),V=T.slice(0,L.start)+L.replacement+T.slice(L.end);return re(L.start,L.end,L.replacement),V},[I,re,T]),ze=Ws(M=>{let L=M??T;if(!L.trim())return;let V=O.expand(L),_=new Set,xe=/\[(Pasted text|\.\.\.Truncated text) #(\d+)(?: \+\d+ lines)?(\.*)\]/g;for(let he of L.matchAll(xe)){let Ie=Number.parseInt(he[2]??"0",10);Number.isFinite(Ie)&&Ie>0&&_.add(Ie)}let Ae=[];for(let he of _){let Ie=O.get(he);Ie&&Ae.push(Ie)}p(L,{pastedContents:Ae}),e({displayText:L,fullText:V,pastedContents:Ae}),me()},[p,me,e,O,T]),on=Ws(M=>{if(M){if(M.pastedContents&&M.pastedContents.length>0){for(let L of M.pastedContents)O.adopt(L);l?.({text:M.text,pastedContents:[...M.pastedContents]})}Y(M.text)}},[l,O,Y]),qe=Ws(async M=>{try{let L=await tw(M);if(L.kind==="images"){let V=L.blocks.map(_=>`@${_.path}`).join(" ");P(`${V} `,{paste:!1})}else L.kind==="error"&&console.warn(`[KodaX paste] ${L.message}`)}catch(L){console.warn(`[KodaX paste] image handling failed: ${L instanceof Error?L.message:String(L)}`)}},[P]),_t=kd(!1),qt=Ws(async()=>{if(!_t.current){_t.current=!0;try{let M=await nw();if(M.kind==="images"){let L=M.blocks.map(V=>`@${V.path}`).join(" ");P(`${L} `,{paste:!1})}else M.kind==="error"&&console.warn(`[KodaX clipboard] ${M.message}`)}catch(M){console.warn(`[KodaX clipboard] image handling failed: ${M instanceof Error?M.message:String(M)}`)}finally{_t.current=!1}}},[P]),dn=Ws(M=>{if(!n)return!1;if(M.name==="v"&&(M.ctrl||M.meta))return qt(),!0;if(M.name==="paste"&&M.isPasted&&rw(M.sequence).length>0)return qe(M.sequence),!0;let L=Be.visible&&pt.length>0;if(M.name==="tab"&&L){let _=Pe();return _&&Ke(_),!0}if(M.ctrl&&M.name==="c")return T.length>0?(me(),S()):t?.(),!0;if(M.name==="escape")switch(rL({isAutocompleteVisible:L,hasText:T.length>0,timeSinceLastEscapeMs:Date.now()-f.current})){case"cancel-autocomplete":return F(),f.current=0,!0;case"clear-input":return f.current=0,me(),S(),!0;case"arm-clear":return f.current=Date.now(),!0;default:return!1}if(M.name==="up"){if(L)return It(),!0;if(M.ctrl)return ue("up"),!0;if(T.length===0&&d){let _=d();if(typeof _=="string"&&_.length>0)return Y(_),!0}if(sC(v.row,A.length,"up")){w(T);let _=m();on(_)}else ue("up");return!0}if(M.name==="down"){if(L)return Q(),!0;if(M.ctrl)return ue("down"),!0;if(sC(v.row,A.length,"down")){let _=g();on(_)}else ue("down");return!0}if(M.name==="left"){let _=I.getAbsoluteOffset(),xe=Du(I.text,_);return xe?y(xe.start):ue("left"),!0}if(M.name==="right"){let _=I.getAbsoluteOffset(),xe=Nu(I.text,_);return xe?y(xe.end):ue("right"),!0}if(M.name==="home")return ue("home"),!0;if(M.name==="end")return ue("end"),!0;let V=iL(M);if(V)switch(V){case"move-home":return ue("home"),!0;case"move-end":return ue("end"),!0;case"undo":return oe(),!0;case"redo":return X(),!0;case"kill-line-right":return de(),!0;case"kill-line-left":return ke(),!0;case"delete-word-left":return De(),!0;default:break}if(M.name==="backspace")return C(),!0;if(M.name==="delete")return Me(),!0;if(M.name==="return"||M.name==="newline")switch(oL({keyName:M.name,ctrl:M.ctrl,shift:M.shift,isAutocompleteVisible:L,isLineContinuation:!!A[v.row]?.endsWith("\\"),isPasting:D})){case"accept-completion-and-submit":{let xe=Ct();if(xe){let Ae=Ke(xe);ze(Ae)}else ze();return!0}case"newline":return ce(),!0;case"line-continuation":return C(),ce(),!0;default:return ze(),!0}return M.insertable&&!M.ctrl&&!M.meta?(P(M.sequence,M.isPasted?{paste:!0}:void 0),!0):!1},[Ke,p,Be.visible,C,I,me,v.row,Me,n,Q,F,It,Ct,on,Pe,qe,qt,A,ke,de,ue,y,g,m,ce,t,d,X,S,w,Y,ze,pt.length,T.length,De,D,oe]);return{text:T,cursor:v,lines:A,isPasting:D,terminalFocused:n,editingMode:N,handleKey:dn}}o(aC,"usePromptInputController");var Fs=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})=>{let{exit:p}=Io(),{cursor:m,lines:g,handleKey:S,isPasting:w,terminalFocused:I,editingMode:T}=aC({onSubmit:e,onExit:p,focus:s,initialValue:a,cwd:c,gitRoot:l,autocompleteEnabled:d,onInputChange:f,onHistoryRecall:t,onPopPendingInputs:n});return An(fn.High,v=>S(v),[S]),mi(E,{flexDirection:"column",children:mi(Ym,{lines:g,cursorRow:m.row,cursorCol:m.col,prompt:i,placeholder:r,focus:s,terminalFocused:I,isPasting:w,editingMode:T,theme:"dark"})})},"InputPrompt"),sL=o(({onSubmit:e,placeholder:t,prompt:n=">"})=>{let[r,i]=cC(""),[s,a]=cC(0);An(fn.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(""),g=[...r].slice(s).join("");return i(m+g),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(""),g=[...r].slice(s).join("");return i(m+p.sequence+g),a(s+1),!0}return!1},[r,s,e]);let c=ne("dark");if(!r)return Rd(E,{children:[Rd(b,{color:c.colors.primary,children:[n," "]}),t&&mi(b,{dimColor:!0,children:t}),mi(b,{backgroundColor:c.colors.primary,color:"#000000",children:" "})]});let l=[...r].slice(0,s).join(""),d=[...r][s]??" ",f=[...r].slice(s+1).join("");return Rd(E,{children:[Rd(b,{color:c.colors.primary,children:[n," "]}),mi(b,{children:l}),mi(b,{backgroundColor:c.colors.primary,color:"#000000",children:d}),mi(b,{children:f})]})},"SimpleInputPrompt");import{jsx as ft,jsxs as Kt}from"react/jsx-runtime";import{useState as uC,useEffect as dC}from"react";var lC=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],aL=80,Ed=new Set,$c=null;function cL(){let e=Array.from(Ed);for(let t of e)t()}o(cL,"dispatchSharedSpinnerTick");function lL(e){return Ed.add(e),$c===null&&($c=setInterval(cL,aL)),()=>{Ed.delete(e),Ed.size===0&&$c!==null&&(clearInterval($c),$c=null)}}o(lL,"subscribeToSharedSpinnerClock");function Oc(e=!0){let[t,n]=uC(0);return dC(()=>{if(e)return lL(()=>{n(r=>r+1)})},[e]),t}o(Oc,"useSharedSpinnerTick");var Vn=o(({color:e,theme:t})=>{let n=t??ne("dark"),i=Oc(!0)%lC.length,s=e??n.colors.accent;return ft(b,{color:s,children:lC[i]})},"Spinner");function uL(e){return e<=0?0:Math.round(e/4)}o(uL,"estimateOutputTokens");function dL(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(dL,"formatElapsedDuration");var fC=o(({roundStartedAt:e,charCount:t,theme:n})=>{let r=n??ne("dark");if(Oc(e!==null),e===null)return null;let i=fL(Date.now()-e,t);return ft(b,{color:r.colors.dim,wrap:"truncate",children:i})},"SpinnerStatsTail");function fL(e,t){let n=dL(e),r=uL(t);return r>0?` (${n} \xB7 \u2193 ${r} tokens)`:` (${n})`}o(fL,"buildSpinnerStatsText");var pC=o(({label:e,dotCount:t=3,theme:n})=>{let r=n??ne("dark"),[i,s]=uC(1);dC(()=>{let c=setInterval(()=>{s(l=>l%t+1)},300);return()=>clearInterval(c)},[t]);let a=".".repeat(i);return Kt(E,{children:[e&&ft(b,{color:r.colors.text,children:e}),ft(b,{color:r.colors.accent,children:a})]})},"DotsIndicator"),mC=o(({progress:e,label:t,width:n=20,theme:r})=>{let i=r??ne("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 Kt(E,{flexDirection:"column",children:[t&&ft(E,{marginBottom:1,children:ft(b,{color:i.colors.text,children:t})}),Kt(E,{children:[ft(b,{color:i.colors.primary,children:l}),ft(b,{dimColor:!0,children:d}),Kt(b,{children:[" ",s,"%"]})]})]})},"ProgressIndicator"),pL=o(({message:e,showSpinner:t=!1,theme:n})=>{let r=n??ne("dark"),i=e??"Thinking";return Kt(E,{children:[t&&ft(E,{marginRight:1,children:ft(Vn,{theme:r})}),Kt(b,{color:r.colors.accent,children:[i,"\u2026"]})]})},"ThinkingIndicator"),mL=o(({message:e,subMessage:t,progress:n,type:r="spinner",compact:i=!1,theme:s})=>{let a=s??ne("dark"),c=e??"Loading";return i?Kt(E,{children:[ft(Vn,{theme:a}),Kt(b,{color:a.colors.text,children:[" ",c,"\u2026"]})]}):r==="bar"&&n!==void 0?Kt(E,{flexDirection:"column",children:[ft(mC,{progress:n,label:c,theme:a}),t&&ft(E,{marginTop:1,children:ft(b,{dimColor:!0,children:t})})]}):r==="dots"?Kt(E,{flexDirection:"column",children:[ft(pC,{label:c,theme:a}),t&&ft(E,{marginTop:1,children:ft(b,{dimColor:!0,children:t})})]}):r==="simple"?Kt(E,{flexDirection:"column",children:[Kt(b,{color:a.colors.accent,children:[c,"\u2026"]}),t&&ft(E,{marginTop:1,children:ft(b,{dimColor:!0,children:t})}),n!==void 0&&ft(E,{marginTop:1,children:Kt(b,{dimColor:!0,children:[n,"%"]})})]}):Kt(E,{flexDirection:"column",children:[Kt(E,{children:[ft(Vn,{theme:a}),Kt(b,{color:a.colors.text,children:[" ",c,"\u2026"]}),n!==void 0&&Kt(b,{dimColor:!0,children:[" (",n,"%)"]})]}),t&&ft(E,{marginTop:1,children:ft(b,{dimColor:!0,children:t})})]})},"LoadingIndicator");import{jsx as ye,jsxs as Ge,Fragment as xh}from"react/jsx-runtime";import{useEffect as YC,useMemo as Rr,memo as _n}from"react";import*as Nc from"node:path";function Dc(e){if(iS(e)){let t=sS(e);return t?`[memory:${t}]`:"[memory]"}if(hL(e))return"[memory]"}o(Dc,"memoryBadgeFor");function hL(e){let t=Nc.resolve(e),n=gr("projects");if(!t.startsWith(n+Nc.sep)&&t!==n)return!1;let i=t.slice(n.length+1).split(Nc.sep);return i.length>=2&&i[1]==="memory"}o(hL,"isInsideAnyMemoryDir");function Je(e,t=120){return e.length>t?`${e.slice(0,t-3)}...`:e}o(Je,"truncateValue");function hC(e){if(e)return e.split(/\r?\n/).map(t=>t.trim()).find(Boolean)}o(hC,"extractFirstMeaningfulLine");function xC(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(xC,"splitDisplayToolName");function Md(e){let{rolePrefix:t,toolLabel:n}=xC(e);return t?`${t} ${n}`:n}o(Md,"normalizeDisplayToolName");function Bc(e){return xC(e).toolLabel}o(Bc,"stripRolePrefix");function Ad(e){if(!(!e||Array.isArray(e)||typeof e!="object"))return e}o(Ad,"asRecord");function SC(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(SC,"readString");function vt(e,...t){for(let n of t){let r=SC(e?.[n]);if(r)return r}}o(vt,"readFirstString");function vr(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(vr,"readNumber");function wC(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(wC,"readStringArray");function gL(e){if(typeof e=="string")return e.trim()||void 0;let t=Ad(e);if(t)return SC(t.preview)??void 0}o(gL,"extractPreview");function gC(e){if(e)try{return Ad(JSON.parse(e))}catch{return}}o(gC,"parsePreviewRecord");function Oe(e,t){return e&&e.match(new RegExp(`"${t}"\\s*:\\s*"([^"]+)`))?.[1]?.trim()||void 0}o(Oe,"extractFieldFromPreview");function kr(e,t){if(!e)return;let n=e.match(new RegExp(`"${t}"\\s*:\\s*(\\d+)`));return n?.[1]?Number(n[1]):void 0}o(kr,"extractNumberFromPreview");function TC(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(TC,"extractPathsFromPreview");function yL(e){let t=gL(e);if(typeof e=="string")return{record:gC(t),preview:t};let n=Ad(e),r=gC(t);return n?r?{record:{...n,...r},preview:t}:{record:n,preview:t}:{record:r,preview:t}}o(yL,"resolveInputRecord");function js(e,t,n,r=!1){let i=vt(t,"path","target_path","targetPath")??Oe(n,"path")??Oe(n,"target_path")??Oe(n,"targetPath"),s=wC(t?.paths)??TC(n);if(r&&s?.length){if(s.length===1){let a=Dc(s[0]);a&&e.push(a),e.push(Je(s[0]))}else e.push(`${s.length} files`);return}if(i){let a=Dc(i);a&&e.push(a),e.push(Je(i));return}if(s?.length)if(s.length===1){let a=Dc(s[0]);a&&e.push(a),e.push(Je(s[0]))}else e.push(`${s.length} files`)}o(js,"pushPathSummary");function Us(e,t,n){n!==void 0&&e.push(`${t}=${n}`)}o(Us,"pushNumericSummary");function sh(e,t,n){let r=vt(t,"baseRef","base_ref")??Oe(n,"baseRef")??Oe(n,"base_ref"),i=vt(t,"targetRef","target_ref")??Oe(n,"targetRef")??Oe(n,"target_ref");r&&i&&e.push(Je(`${r}...${i}`,88))}o(sh,"pushRangeSummary");function xL(e,t){let{record:n,preview:r}=yL(t),i=Bc(e).toLowerCase(),s=[];if(i.includes("changed_diff_bundle")){let a=wC(n?.paths)??TC(r);a?.length?(s.push(a.length===1?Je(a[0]):`${a.length} files`),a.length>1&&s.push(Je(a[0]))):js(s,n,r,!0);let c=vr(n?.limit_per_path)??vr(n?.limitPerPath)??kr(r,"limit_per_path")??kr(r,"limitPerPath");return c!==void 0&&s.push(`limit=${c}`),sh(s,n,r),s}if(i.includes("changed_diff"))return js(s,n,r),Us(s,"offset",vr(n?.offset)??kr(r,"offset")),Us(s,"limit",vr(n?.limit)??kr(r,"limit")),sh(s,n,r),s;if(i==="read"||i.includes("read_"))return js(s,n,r),Us(s,"offset",vr(n?.offset)??kr(r,"offset")),Us(s,"limit",vr(n?.limit)??kr(r,"limit")),s;if(i.includes("changed_scope"))return js(s,n,r,!0),sh(s,n,r),s;if(i.includes("repo_overview"))return js(s,n,r),s;if(i.includes("bash")||i.includes("shell_command")){let a=vt(n,"command")??Oe(r,"command");return a&&s.push(`cmd=${Je(a,140)}`),s}if(i==="glob"||i.includes("glob_")){let a=vt(n,"pattern")??Oe(r,"pattern"),c=vt(n,"path","root","directory","cwd")??Oe(r,"path")??Oe(r,"root")??Oe(r,"directory")??Oe(r,"cwd");if(a&&s.push(`pattern=${Je(a,96)}`),c){let l=Dc(c);l&&s.push(l),s.push(Je(c))}return s}if(i==="grep"||i.includes("grep_")){let a=vt(n,"pattern","query")??Oe(r,"pattern")??Oe(r,"query"),c=vt(n,"path","root","directory","cwd")??Oe(r,"path")??Oe(r,"root")??Oe(r,"directory")??Oe(r,"cwd");if(a&&s.push(`pattern=${Je(a,96)}`),c){let l=Dc(c);l&&s.push(l),s.push(Je(c))}return s}if(i==="web_fetch"){let a=vt(n,"url")??Oe(r,"url"),c=vt(n,"provider_id","providerId")??Oe(r,"provider_id")??Oe(r,"providerId"),l=vt(n,"capability_id","capabilityId")??Oe(r,"capability_id")??Oe(r,"capabilityId");return a&&s.push(Je(a,120)),c&&s.push(`provider=${Je(c,48)}`),l&&s.push(`cap=${Je(l,48)}`),s}if(i==="mcp_describe"||i==="mcp_read_resource"){let a=vt(n,"id")??Oe(r,"id");return a&&s.push(Je(a,120)),s}if(i==="mcp_call"){let a=vt(n,"id")??Oe(r,"id"),c=Ad(n?.args),l=c?Object.keys(c).length:void 0;return a&&s.push(Je(a,120)),l!==void 0&&s.push(`args=${l}`),s}if(i==="skill"){let a=vt(n,"skill","name")??Oe(r,"skill");return a&&s.push(Je(a,64)),s}if(i==="mcp_search"){let a=vt(n,"query")??Oe(r,"query"),c=vt(n,"server")??Oe(r,"server"),l=vt(n,"kind")??Oe(r,"kind"),d=vr(n?.limit)??kr(r,"limit");return a&&s.push(`query=${Je(a,96)}`),c&&s.push(`server=${Je(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")??Oe(r,"query")??Oe(r,"pattern"),c=vt(n,"path","target_path","targetPath")??Oe(r,"path")??Oe(r,"target_path")??Oe(r,"targetPath"),l=vt(n,"provider_id","providerId")??Oe(r,"provider_id")??Oe(r,"providerId"),d=vr(n?.limit)??kr(r,"limit");return a&&s.push(`query=${Je(a,96)}`),c&&s.push(Je(c,72)),l&&s.push(`provider=${Je(l,48)}`),d!==void 0&&s.push(`limit=${d}`),s}return js(s,n,r,!0),Us(s,"offset",vr(n?.offset)??kr(r,"offset")),Us(s,"limit",vr(n?.limit)??kr(r,"limit")),s}o(xL,"summarizeToolDetails");function CC(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(CC,"extractChangedDiffRange");function SL(e){return e.split(/\r?\n/).map(t=>t.trim()).find(t=>t.startsWith("+")||t.startsWith("-")||t.startsWith("@@"))}o(SL,"extractDiffPreviewLine");function wL(e){let t=[],n=CC(e);if(n){let[i,s]=n.split("/");t.push(s?`Diff range: ${i} of ${s}`:`Diff range: ${n}`)}let r=SL(e);return r&&t.push(`Preview: ${Je(r,220)}`),t}o(wL,"formatChangedDiffExplanation");function TL(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: ${Je(r[1].trim(),220)}`),t}o(TL,"formatChangedDiffBundleExplanation");function IC(e,t){if(!t)return[];let n=Bc(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(Je(s[1].trim())),r}if(n.includes("changed_diff")){let i=t.match(/^Changed diff for\s+(.+)$/im);i?.[1]&&r.push(Je(i[1].trim()));let s=CC(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(Je(i[1].trim())),r}return[]}o(IC,"summarizeToolOutputDetails");function ah(e,t){let n=Md(e);return t.length>0?`${n} - ${t.join(" - ")}`:n}o(ah,"formatToolDetailSummary");function CL(e,t){if(!t)return;let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(CL,"formatDuration");function IL(e){switch(e.status){case B.Scheduled:return"scheduled";case B.Validating:return"validating";case B.AwaitingApproval:return"awaiting approval";case B.Executing:return"running";case B.Error:return"failed";case B.Cancelled:return"cancelled";default:return}}o(IL,"formatToolStatusDetail");function yC(e){switch(e.status){case B.Scheduled:return["Queued: waiting to start"];case B.Validating:return["Validating: checking inputs and policy"];case B.AwaitingApproval:return["Waiting: approval required before execution"];case B.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 B.Cancelled:return["Cancelled before completion"];default:return[]}}o(yC,"formatToolProgressExplanation");function ch(e){return e.startsWith("Error:")?"error":e.startsWith("Waiting:")?"accent":e.startsWith("Progress:")||e.startsWith("Running:")?"primary":"dim"}o(ch,"resolveToolExplanationTone");function bL(e){let t=hC(e.error),n=typeof e.output=="string"?hC(e.output):void 0,r=[];return t&&r.push(`Error: ${Je(t,220)}`),e.status===B.Error&&n&&(!t||n.toLowerCase()!==t.toLowerCase())&&r.push(`Last output: ${Je(n,220)}`),r}o(bL,"formatToolFailureExplanation");function lh(e){if(typeof e.output!="string"||!e.output.trim())return yC(e);let t=Bc(e.name).toLowerCase();return e.status===B.Error?bL(e):e.status!==B.Success?yC(e):t.includes("changed_diff_bundle")?TL(e.output):t.includes("changed_diff")?wL(e.output):[]}o(lh,"formatToolResultExplanation");function uh(e,t){return ah(e,xL(e,t))}o(uh,"formatToolSummary");function _d(e){let t=typeof e.output=="string"?IC(e.name,e.output):[],n=t.length>0?ah(e.name,t):uh(e.name,e.input),r=IL(e),i=CL(e.startTime,e.endTime),s=e.status===B.Executing&&e.progress!==void 0?`${e.progress}%`:e.status===B.Executing&&e.preview?e.preview:void 0,a=[r,s,i].filter(Boolean);return a.length>0?`${n} (${a.join(" - ")})`:n}o(_d,"formatToolCallInlineText");function Ld(e){let t=new Map;for(let n of e){let r=typeof n.output=="string"?IC(n.name,n.output):[],i=r.length>0?ah(n.name,r):uh(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(Ld,"collapseToolCalls");function Hc(e){let t=_d(e.tool);return e.count>1?`${t} x${e.count}`:t}o(Hc,"formatCollapsedToolInlineText");function Pd(e,t,n){let r=uh(e,t);return r!==Md(e)?`[Tools] ${r}`:n>0?`[Tools] ${Md(e)} (${n} chars)`:`[Tools] ${Md(e)}`}o(Pd,"formatLiveToolLabel");function dh(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(dh,"countNewlines");function $d(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=dh(e),l=dh(s),d=dh(a),f=Math.max(0,c-l-d);return`${s}
|
|
49
|
-
\u2026 +${f} lines \u2026
|
|
50
|
-
${a}`}o($d,"truncateUserMessageForDisplay");var bC="(?:\x1B[[0-9;]*m)*",vL=new RegExp(`^(${bC})(?:[ \r]*
|
|
51
|
-
)+`),kL=new RegExp(`(?:
|
|
52
|
-
[ \r]*)+(${bC})$`);function fh(e){return e.replace(vL,"$1").replace(kL,"$1")}o(fh,"stripOuterBlankLines");function At(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(At,"stripAnsi");var RL=new Set(["edit","write","multi_edit","insert_after_anchor"]),EL=20;function ML(e){return RL.has(Bc(e.name).trim().toLowerCase())}o(ML,"isMutationTool");function AL(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(AL,"classifyDiffLine");function _L(e,t,n,r,i){let s=[],a=!1;for(let p of n.split(/\r?\n/)){let{color:m,skip:g}=AL(p);g||((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,EL);return f.forEach((p,m)=>{Ee(e,`${t}-diff-${m}`,p.text,at(r,4),{color:p.color,indent:4})}),!i&&d.length>f.length&&Ee(e,`${t}-diff-more`,`... (${d.length-f.length} more lines)`,at(r,4),{color:"dim",indent:4}),!0}o(_L,"pushDiffRows");var vC=400,LL="... (thinking truncated; press Ctrl+O to inspect full reasoning)",kC=2e5,PL="... (thinking show-all truncated at 200K chars; full content available via session artifacts)",AC=1e5,RC=120,$L=" \u2026 (Ctrl+O to expand)";function _C(){return process.env.KODAX_THINKING_COLLAPSE!=="0"}o(_C,"isThinkingCollapseEnabled");function OL(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>RC;return{summary:i?`${n.slice(0,RC).trimEnd()}\u2026`:n,hasMore:r||i}}o(OL,"buildCollapsedThinkingLine");function DL(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(DL,"normalizeManagedLiveActivityLabel");function Wc(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(Wc,"formatTimestamp");function LC(e){switch(e){case B.Scheduled:return"\u25CB";case B.Validating:return"\u25D0";case B.AwaitingApproval:return"\u23F8";case B.Executing:return"\u25CF";case B.Success:return"\u2713";case B.Error:return"\u2717";case B.Cancelled:return"\u2298";default:return"[tool]"}}o(LC,"getToolStatusIcon");function PC(e){switch(e){case B.Scheduled:case B.Validating:return"dim";case B.AwaitingApproval:return"accent";case B.Executing:return"primary";case B.Success:return"success";case B.Error:return"error";case B.Cancelled:return"dim";default:return"text"}}o(PC,"getToolStatusColor");function NL(e,t){let n=Math.max(1,t),r=e.split(`
|
|
53
|
-
`),i=hn(r.length>0?r:[""],n,0,0);return i.visualLines.length>0?i.visualLines:[""]}o(NL,"wrapText");function ph(e,t,n,r=!1){if(n||r)return e.length>kC?`${e.slice(0,kC)}
|
|
54
|
-
|
|
55
|
-
${PL}`:e;let i=e.split(/\r?\n/),s=i.length>t,a=s?i.slice(0,t).join(`
|
|
56
|
-
`):e,c=a.length>vC,l=c?a.slice(0,vC):a;return!s&&!c?e:`${l}
|
|
57
|
-
|
|
58
|
-
${LL}`}o(ph,"buildThinkingPreview");function BL(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type==="user")return t;return 0}o(BL,"findActiveRoundStartIndex");function Ee(e,t,n,r,i){let s=At(n),a=NL(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(Ee,"pushWrappedRows");function Gs(e,t){e.push({key:t,text:" "})}o(Gs,"pushBlankRow");function at(e,t=0){return Math.max(20,e-t)}o(at,"getBodyWidth");function HL(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(HL,"buildToolInputPreview");function WL(e,t,n,r,i,s=!1,a=!1){Ee(e,`${t}-tool-${n.id}-main`,`${LC(n.status)} ${Hc({tool:n,count:r})}`,at(i,2),{color:PC(n.status),indent:2,bold:n.status===B.Executing}),lh(n).forEach((d,f)=>{let p=ch(d);Ee(e,`${t}-tool-${n.id}-explanation-${f}`,d,at(i,4),{color:p,indent:4})});let l=n.status===B.Success&&typeof n.output=="string"&&n.output.trim().length>0&&ML(n)&&_L(e,`${t}-tool-${n.id}`,n.output,i,a);if(s){let d=HL(n),f=a?d:d.slice(0,6);f.forEach((p,m)=>{Ee(e,`${t}-tool-${n.id}-input-${m}`,p,at(i,4),{color:"dim",indent:4})}),!a&&d.length>f.length&&Ee(e,`${t}-tool-${n.id}-input-more`,`... (${d.length-f.length} more lines)`,at(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,g)=>{Ee(e,`${t}-tool-${n.id}-output-${g}`,m,at(i,4),{color:"dim",indent:4})});let p=d.length;!a&&p>f.length&&Ee(e,`${t}-tool-${n.id}-output-more`,`... (${p-f.length} more lines)`,at(i,4),{color:"dim",indent:4})}}o(WL,"buildToolRows");function FL(e,t,n,r){let i=n.status===B.Executing,s=i?"":`${LC(n.status)} `;Ee(e,`${t}-tool-${n.id}-main`,`${s}${Hc({tool:n,count:1})}`,at(r,2),{color:PC(n.status),indent:2,bold:i,spinner:i}),lh(n).forEach((c,l)=>{let d=ch(c);Ee(e,`${t}-tool-${n.id}-explanation-${l}`,c,at(r,4),{color:d,indent:4})})}o(FL,"buildLiveToolRows");function $C(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:g=[],currentIteration:S=1,isCompacting:w=!1,managedAgentMode:I,managedPhase:T,managedHarnessProfile:v,managedWorkerTitle:A,managedRound:D,managedMaxRounds:N,lastLiveActivityLabel:O,liveStatusLines:G=[],currentTodoActiveForm:Y,showFullThinking:re=!1,showDetailedTools:me=!1,showAllContent:ue=!1,showLiveProgressRows:y=!0}=e,P=[];for(let C of t)switch(C.type){case"user":Ee(P,`${C.id}-header`,`You [${Wc(C.timestamp)}]`,n,{color:"primary",bold:!0,itemId:C.id}),Ee(P,`${C.id}-body`,$d(C.text),at(n,2),{color:"text",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"assistant":{let ce=fh(ue?C.text:C.compactText??C.text);Ee(P,`${C.id}-header`,`Assistant [${Wc(C.timestamp)}]`,n,{color:"secondary",bold:!0,spinner:C.isStreaming,itemId:C.id}),Ee(P,`${C.id}-body`,ce,at(n,2),{color:"text",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break}case"system":Ee(P,`${C.id}-header`,`System [${Wc(C.timestamp)}]`,n,{color:"dim",bold:!0,itemId:C.id}),Ee(P,`${C.id}-body`,C.text,at(n,2),{color:"dim",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"tool_group":Ee(P,`${C.id}-header`,`Tools [${Wc(C.timestamp)}]`,n,{color:"accent",bold:!0,itemId:C.id}),Ld(C.tools).forEach(ce=>WL(P,C.id,ce.tool,ce.count,n,me,ue)),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"thinking":{Ee(P,`${C.id}-header`,"Thinking",n,{color:"thinking",italic:!0,itemId:C.id});let ce=_C()&&!re&&!ue?OL(C.compactText??C.text):void 0;if(ce?.hasMore){Ee(P,`${C.id}-body`,`${ce.summary}${$L}`,at(n,2),{color:"thinking",indent:2,italic:!0,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break}let Me=ue?ph(C.text,i,re,ue):C.compactText??ph(C.text,i,re,ue);Ee(P,`${C.id}-body`,Me,at(n,2),{color:"thinking",indent:2,italic:!0,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break}case"error":Ee(P,`${C.id}-header`,"\u2717 Error",n,{color:"error",bold:!0,itemId:C.id}),Ee(P,`${C.id}-body`,C.text,at(n,2),{color:"error",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"info":Ee(P,`${C.id}-body`,`${C.icon??"\u2139"} ${fh(ue?C.text:C.compactText??C.text)}`,n,{color:"info",itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"event":Ee(P,`${C.id}-body`,`${C.icon??">"} ${ue?C.text:C.compactText??C.text}`,n,{color:"text",itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"hint":Ee(P,`${C.id}-header`,"\u{1F4A1} Hint",n,{color:"hint",bold:!0,itemId:C.id}),Ee(P,`${C.id}-body`,C.text,at(n,2),{color:"dim",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break;case"sidecar":{let ce=C.delivery==="budget-exhausted"?"\u26A1 Sidecar Verifier \u2014 budget exhausted":C.verdict==="blocked"?"\u26A1 Sidecar Verifier \u2014 blocked":"\u26A1 Sidecar Verifier \u2014 revise";Ee(P,`${C.id}-header`,`${ce} [${Wc(C.timestamp)}]`,n,{color:"warning",bold:!0,itemId:C.id}),Ee(P,`${C.id}-body`,C.text,at(n,2),{color:"dim",indent:2,itemId:C.id}),P.push({key:`${C.id}-blank`,text:" ",itemId:C.id});break}default:break}if(y&&g.length>0&&(g.forEach(C=>{if(Ee(P,`iteration-${C.iteration}-header`,`\u2500\u2500 Round ${C.iteration} \u2500\u2500`,n,{color:"dim",bold:!0}),C.thinkingSummary){let ce=C.thinkingLength>60?` (${C.thinkingLength} chars total)`:"";Ee(P,`iteration-${C.iteration}-thinking`,`\u{1F4AD} ${C.thinkingSummary}${ce}`,at(n,1),{color:"thinking",indent:1,italic:!0})}if(C.response){let ce=C.response.slice(0,200);Ee(P,`iteration-${C.iteration}-response`,ce,at(n,1),{color:"text",indent:1}),C.response.length>200&&Ee(P,`iteration-${C.iteration}-response-more`,`... (${C.response.length} chars total)`,at(n,1),{color:"dim",indent:1})}C.toolsUsed.length>0&&Ee(P,`iteration-${C.iteration}-tools`,`* tools: ${C.toolsUsed.join(", ")}`,at(n,1),{color:"accent",indent:1}),Gs(P,`iteration-${C.iteration}-blank`)}),Ee(P,"iteration-current-header",`\u2500\u2500 Round ${S} (current) \u2500\u2500`,n,{color:"accent",bold:!0}),Gs(P,"iteration-current-blank")),r&&c){let C=ph(c,i,re,ue);Ee(P,"thinking-stream-header","Thinking",n,{color:"thinking",italic:!0}),Ee(P,"thinking-stream-body",C,at(n,2),{color:"thinking",indent:2,italic:!0}),Gs(P,"thinking-stream-blank")}if(r){let C="Thinking",ce="",Me=DL(O,A),oe=A??"Scout",X=T==="routing"?`[${I?I.toUpperCase():"AMA"} Routing] `:T==="preflight"?`[${I?I.toUpperCase():"AMA"} ${oe}] `:T==="verifying"?`[${I?I.toUpperCase():"AMA"} Verifying] `:v?`[${I?I.toUpperCase():"AMA"} ${A??"Worker"}] `:"",de=f.filter(q=>q.status===B.Executing).length,ke=f.filter(q=>q.status===B.Success).length,De=f.filter(q=>q.status===B.Error).length,W=f.filter(q=>q.status===B.Cancelled).length,le=f.length>0&&(de>0||!l);if(w)C="Compacting";else if(T==="verifying")ce=X,C="checking agent output";else if(le){let q=[];if(de>0&&q.push(`${de} running`),ke>0&&q.push(`${ke} done`),De>0&&q.push(`${De} error`),W>0&&q.push(`${W} cancelled`),q.length===0&&q.push(`${f.length} tools`),Ee(P,"loading-tools-header",`${X}[Tools] ${q.join(", ")}`,n,{color:"primary",bold:!0,spinner:de>0}),f.forEach(Be=>{FL(P,"loading-tools",Be,n)}),Gs(P,"loading-tools-blank"),de>0&&!l&&!y)return P}else if(Y)ce=X||"[Plan] ",C=Y;else if(d)ce=X||"[Tool] ",C=Me?.startsWith("[Tools]")?Me:Pd(d,m,p);else if(s){ce=X||"[Thinking] ";let q=D&&N&&D>1?` round ${D}/${N}`:"";C=a>0?`${a} chars${q}`:Me?`${Me}${q}`:`processing${q}`}else Me&&(C=Me);y&&Ee(P,"loading-indicator",`${ce}${C}...`,n,{color:"accent",spinner:!0})}if(y&&G.length>0&&(Ee(P,"live-status-header","Live status",n,{color:"dim",bold:!0}),G.forEach((C,ce)=>{Ee(P,`live-status-${ce}`,C,at(n,2),{color:"dim",indent:2})}),Gs(P,"live-status-blank")),l){let C=l.lastIndexOf(`
|
|
59
|
-
`),ce=C>=0?l.slice(0,C+1):"";ce.length>0&&(Ee(P,"streaming-header","Assistant",n,{color:"secondary",bold:!0}),Ee(P,"streaming-body",ce,at(n,2),{color:"text",indent:2}),Gs(P,"streaming-blank"))}return P}o($C,"buildTranscriptRows");function jL(e,t,n=1e3,r=!1,i=!1,s=!1){return Vs(e,t,n,r,void 0,i,s)}o(jL,"buildStaticTranscriptSections");var EC=new WeakMap,MC=new Set(["thinking","tool_group"]);function UL(){return process.env.KODAX_TRANSCRIPT_TIGHT!=="0"}o(UL,"isTightRunSpacingEnabled");function GL(e,t){return UL()?t.map((n,r)=>{let i=e[r],s=e[r+1];if(!i||!s||!MC.has(i.type)||!MC.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(GL,"suppressTightRunBlanks");function Vs(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}|${_C()?1:0}|${a?1:0}`,p=EC.get(l);if(p!==void 0&&p.sig===f)return p.section;let m={key:l.id,rows:$C({items:[l],viewportWidth:t,maxLines:n,showAllContent:s,showDetailedTools:d,showFullThinking:a})};return EC.set(l,{sig:f,section:m}),m});return GL(e,c)}o(Vs,"buildHistoryItemTranscriptSections");function VL(e,t){return{key:e,rows:$C(t)}}o(VL,"buildDynamicTranscriptSection");function Od(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=BL(t),d=t.slice(0,l),f=t.slice(l);return{staticSections:jL(d,n,r,i,s,a),activeItems:f}}o(Od,"buildTranscriptStaticPortion");function Dd(e){let{activeItems:t,viewportWidth:n,maxLines:r=1e3,showDetailedTools:i=!1,showAllContent:s=!1,showFullThinking:a=!1,expandedItemKeys:c,...l}=e,d=Vs(t,n,r,i,c,s,a),f=VL("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(Dd,"buildTranscriptDynamicPortion");function Nd(e,t){return{staticSections:e.staticSections,sections:t.sections,rows:hi(t.sections),previewSections:t.previewSections,previewRows:hi(t.previewSections)}}o(Nd,"composeTranscriptRenderModel");function OC(e,t,n){let r=Nd(e,t);return n?{...r,staticSections:[n,...r.staticSections]}:r}o(OC,"buildInlinePromptRenderModel");function DC(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,g)=>({key:`il-${g}`,rows:[{...m,key:`il-${g}`}]})),liveRows:c}}o(DC,"splitInlineLedgerModel");function KL(e){return e.replace(/^(You|Assistant|Tools|System) \[\d{1,2}:\d{2}[^\]]*\]$/u,"$1")}o(KL,"stripHeaderTimestamp");function NC(e){let t=5381;for(let n of e.rows){let r=KL(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(NC,"identifyInlineCommitSection");function Bd(e){let t=Od({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=Dd({...r,activeItems:t.activeItems});return Nd(t,i)}o(Bd,"buildTranscriptRenderModel");function hi(e){return e.flatMap(t=>t.rows)}o(hi,"flattenTranscriptSections");function BC(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(BC,"identifyTranscriptSection");function mh(e){let t=[...e.staticSections,...e.sections];return{staticSections:[],sections:t,rows:hi(t),previewSections:[...e.previewSections],previewRows:hi(e.previewSections)}}o(mh,"materializeTranscriptRenderModel");function HC(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?gh(e,a,c):e}o(HC,"resolveVisibleTranscriptRows");var zL=200,YL=50,hh=30;function WC(e,t,n=zL,r=YL){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(WC,"computeTranscriptCapStart");function FC(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(FC,"sliceHistoryToRecentRounds");function gh(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(gh,"getVisibleTranscriptRows");function jC(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(jC,"resolveScrollOffsetForTranscriptItem");function UC(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(UC,"resolveTranscriptColor");var Hd="__transcript_hidden_divider__";function GC(e,t){let n=e===1?"message":"messages";return{id:Hd,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(GC,"buildTranscriptHiddenDivider");function yh(e){return e.id===Hd}o(yh,"isTranscriptHiddenDivider");var VC=new vs(500);function XL(e){let t=mn(e),n=[],r=[],i=0,s=0;for(let a of t)n.push(i),r.push(s),i+=a.length,s+=dm(a);return{graphemes:t,codeUnitOffsets:n,visualOffsets:r,length:t.length,displayWidth:s}}o(XL,"buildTranscriptTextMetrics");function Fc(e){let t=VC.get(e);if(t)return t;let n=XL(e);return VC.set(e,n),n}o(Fc,"getTranscriptTextMetrics");function ko(e){return Fc(e).length}o(ko,"getTranscriptTextLength");function KC(e){return Fc(e).displayWidth}o(KC,"getTranscriptTextDisplayWidth");function Wd(e,t){let n=Fc(e),r=Math.max(0,Math.min(n.length-1,t));return n.graphemes[r]??""}o(Wd,"charAtTranscriptText");function Ks(e,t,n){let r=Fc(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(Ks,"sliceTranscriptText");function zC(e,t){let n=Fc(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(zC,"resolveTranscriptTextIndexAtVisualColumn");function Fd(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}o(Fd,"formatTimestamp");function qL(e,t){let n=e.split(`
|
|
60
|
-
`),r=n.slice(0,t),i=n.length>t;return{lines:r,hasMore:i}}o(qL,"truncateLines");function JL(e){switch(e){case B.Scheduled:return"\u25CB";case B.Validating:return"\u25D0";case B.AwaitingApproval:return"\u23F8";case B.Executing:return"\u25CF";case B.Success:return"\u2713";case B.Error:return"\u2717";case B.Cancelled:return"\u2298";default:return"?"}}o(JL,"getToolStatusIcon");function QL(e,t){switch(e){case B.Scheduled:case B.Validating:return t.colors.dim;case B.AwaitingApproval:return t.colors.accent;case B.Executing:return t.colors.primary;case B.Success:return t.colors.success;case B.Error:return t.colors.error;case B.Cancelled:return t.colors.dim;default:return t.colors.text}}o(QL,"getToolStatusColor");var ZL=_n(({item:e,theme:t})=>{let n=Rr(()=>$d(e.text),[e.text]);return Ge(E,{flexDirection:"column",marginBottom:1,children:[Ge(E,{children:[ye(b,{color:t.colors.primary,bold:!0,children:"You"}),Ge(b,{dimColor:!0,children:[" [",Fd(e.timestamp),"]"]})]}),ye(E,{marginLeft:2,children:ye(b,{color:t.colors.text,children:n})})]})}),eP=_n(({item:e,theme:t,maxLines:n})=>{let r=e.compactText??e.text,{lines:i,hasMore:s}=qL(r,n);return Ge(E,{flexDirection:"column",marginBottom:1,children:[Ge(E,{children:[ye(b,{color:t.colors.secondary,bold:!0,children:"Assistant"}),e.isStreaming&&Ge(xh,{children:[ye(b,{children:" "}),ye(Vn,{color:t.colors.accent})]}),Ge(b,{dimColor:!0,children:[" [",Fd(e.timestamp),"]"]})]}),Ge(E,{marginLeft:2,flexDirection:"column",children:[i.map((a,c)=>ye(b,{color:t.colors.text,children:a||" "},c)),s&&Ge(b,{dimColor:!0,children:["... (",r.split(`
|
|
61
|
-
`).length-n," more lines)"]})]})]})}),tP=_n(({item:e,theme:t})=>Ge(E,{flexDirection:"column",marginBottom:1,children:[Ge(E,{children:[ye(b,{color:t.colors.dim,bold:!0,children:"System"}),Ge(b,{dimColor:!0,children:[" [",Fd(e.timestamp),"]"]})]}),ye(E,{marginLeft:2,children:ye(b,{dimColor:!0,children:e.text})})]})),nP=_n(({tool:e,count:t=1,theme:n})=>{let r=JL(e.status),i=QL(e.status,n);return Ge(E,{flexDirection:"column",marginLeft:2,children:[Ge(E,{children:[Ge(b,{color:i,children:[r," "]}),ye(b,{color:n.colors.text,bold:!0,children:Hc({tool:e,count:t})})]}),e.error&&ye(E,{marginLeft:2,children:ye(b,{color:n.colors.error,children:e.error})})]})}),rP=_n(({item:e,theme:t})=>{let n=Ld(e.tools);return Ge(E,{flexDirection:"column",marginBottom:1,children:[Ge(E,{children:[ye(b,{color:t.colors.accent,bold:!0,children:"Tools"}),Ge(b,{dimColor:!0,children:[" [",Fd(e.timestamp),"]"]})]}),n.map(r=>ye(nP,{tool:r.tool,count:r.count,theme:t},`${r.tool.id}-${r.count}`))]})}),oP=_n(({item:e,theme:t})=>Ge(E,{flexDirection:"column",marginBottom:1,children:[ye(E,{children:ye(b,{color:t.colors.thinking,italic:!0,children:"Thinking"})}),ye(E,{marginLeft:2,children:ye(b,{color:t.colors.thinking,italic:!0,children:e.compactText??e.text})})]})),iP=_n(({item:e,theme:t})=>Ge(E,{flexDirection:"column",marginBottom:1,children:[ye(E,{children:Ge(b,{color:t.colors.error,bold:!0,children:["\u2717"," Error"]})}),ye(E,{marginLeft:2,children:ye(b,{color:t.colors.error,children:e.text})})]})),sP=_n(({item:e,theme:t})=>ye(E,{flexDirection:"column",marginBottom:1,children:Ge(b,{color:t.colors.text,children:[ye(b,{color:t.colors.accent,bold:!0,children:e.icon??">"}),ye(b,{children:" "}),e.compactText??e.text]})})),aP=_n(({item:e,theme:t})=>ye(E,{flexDirection:"column",marginBottom:e.tightSpacing?0:1,children:Ge(b,{color:t.colors.info,children:[Ge(b,{bold:!0,children:[e.icon??"\u2139"," "]}),e.compactText??e.text]})})),cP=_n(({item:e,theme:t})=>Ge(E,{flexDirection:"column",marginBottom:1,children:[ye(E,{children:Ge(b,{color:t.colors.hint,bold:!0,children:["\u{1F4A1}"," Hint"]})}),ye(E,{marginLeft:2,children:ye(b,{dimColor:!0,children:e.text})})]})),lP=_n(({item:e,theme:t,maxLines:n=1e3})=>{let r=Rr(()=>ne("dark"),[]),i=t??r;switch(e.type){case"user":return ye(ZL,{item:e,theme:i});case"assistant":return ye(eP,{item:e,theme:i,maxLines:n});case"system":return ye(tP,{item:e,theme:i});case"tool_group":return ye(rP,{item:e,theme:i});case"thinking":return ye(oP,{item:e,theme:i});case"error":return ye(iP,{item:e,theme:i});case"event":return ye(sP,{item:e,theme:i});case"info":return ye(aP,{item:e,theme:i});case"hint":return ye(cP,{item:e,theme:i});default:return ye(E,{children:ye(b,{dimColor:!0,children:"Unknown item type"})})}});function uP(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(uP,"areTranscriptRowPropsEqual");var XC=_n(({row:e,theme:t,animateSpinners:n=!0,selectedItem:r=!1,selectionRange:i})=>{let s=UC(t,e.color),a=e.text===" "?"":e.text,c=a||" ",l=i&&a?Ks(a,i.start,i.end):"",d=i&&a?Ks(a,0,i.start):a,f=i&&a?Ks(a,i.end):"",p=r&&!i,m=!p&&e.color==="dim",g={bold:e.bold||p,italic:e.italic,dimColor:m};return Ge(E,{marginLeft:e.indent??0,children:[e.spinner&&n&&Ge(xh,{children:[ye(Vn,{color:t.colors.accent,theme:t}),ye(b,{children:" "})]}),ye(b,{color:p?t.colors.accent:s,...g,children:i&&a?Ge(xh,{children:[d?ye(b,{color:p?t.colors.accent:s,...g,children:d}):null,ye(b,{backgroundColor:t.colors.accent,color:t.colors.background,bold:!0,italic:e.italic,children:l}),f?ye(b,{color:p?t.colors.accent:s,...g,children:f}):null]}):c})]})},uP),Sh=_n(({section:e,theme:t,animateSpinners:n=!0})=>ye(E,{flexDirection:"column",children:e.rows.map(r=>ye(XC,{row:r,theme:t,animateSpinners:n},r.key))})),gi=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:g=!1,agentMode:S,managedPhase:w,managedHarnessProfile:I,managedWorkerTitle:T,managedRound:v,managedMaxRounds:A,managedGlobalWorkBudget:D,managedBudgetUsage:N,managedBudgetApprovalRequired:O,lastLiveActivityLabel:G,liveStatusLines:Y,viewportRows:re,viewportWidth:me,scrollOffset:ue=0,animateSpinners:y=!0,windowed:P=!1,showFullThinking:C=!1,showDetailedTools:ce=!1,showAllContent:Me=!1,showLiveProgressRows:oe=!0,selectedItemId:X,expandedItemKeys:de,onMetricsChange:ke,onVisibleRowsChange:De,rendererWindow:W,selectedTextRanges:le,transcriptModel:q,visibleRowsOverride:Be})=>{let pt=Rr(()=>ne("dark"),[]),{stdout:ge}=br(),Pe=me??ge?.columns??80,Ct=Rr(()=>q??Bd({items:e,viewportWidth:Pe,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:g,managedAgentMode:S,managedPhase:w,managedHarnessProfile:I,managedWorkerTitle:T,managedRound:v,managedMaxRounds:A,managedGlobalWorkBudget:D,managedBudgetUsage:N,managedBudgetApprovalRequired:O,lastLiveActivityLabel:G,liveStatusLines:Y,windowed:P,showFullThinking:C,showDetailedTools:ce,showAllContent:Me,showLiveProgressRows:oe,expandedItemKeys:de}),[q,e,Pe,t,n,r,i,s,a,c,l,d,f,p,m,g,S,w,I,T,v,A,D,N,O,G,Y,P,C,ce,Me,oe,de]),It=Ct.staticSections,Q=Ct.rows,F=Ct.previewRows,we=Rr(()=>[...Q,...F],[F,Q]),ze=!(we.length>0)&&e.length===0&&!t,on=Rr(()=>P||W||Be?we:Q,[we,W,Q,Be,P]),qe=Rr(()=>Be||HC(on,{viewportTop:W?Math.max(0,W.viewportTop):void 0,viewportHeight:W?Math.max(0,W.viewportHeight):void 0,start:void 0,end:void 0,viewportRows:re,scrollOffset:ue,windowed:P}),[W,ue,re,Be,P,on]),_t=Rr(()=>Be||P||W?qe:we,[we,W,qe,Be,P]),qt=Rr(()=>we,[we]),dn=W?Math.max(0,W.viewportHeight):re;return YC(()=>{ke?.({scrollHeight:we.length,viewportHeight:W?Math.max(0,W.viewportHeight):dn??we.length})},[we.length,dn,ke,W]),YC(()=>{De?.({rows:_t,allRows:qt})},[qt,De,_t]),ze?ye(E,{paddingY:1,children:ye(b,{dimColor:!0,children:"No messages yet. Start typing to begin."})}):Ge(E,{flexDirection:"column",children:[!P&&It.length>0&&ye(Ds,{items:It,children:o(M=>ye(Sh,{section:M,theme:pt,animateSpinners:y},M.key),"children")}),_t.map(M=>ye(XC,{row:M,theme:pt,animateSpinners:y,selectedItem:X?M.key.startsWith(`${X}-`):!1,selectionRange:le?.get(M.key)},M.key))]})},"MessageList");var dP=o(({role:e,content:t})=>{let n=Rr(()=>ne("dark"),[]),r={user:n.colors.primary,assistant:n.colors.secondary,system:n.colors.dim}[e];return Ge(E,{flexDirection:"column",marginBottom:1,children:[ye(b,{color:r,bold:!0,children:e==="user"?">":e==="assistant"?"<":"#"}),ye(b,{children:t})]})},"SimpleMessageDisplay");import{jsx as Th,jsxs as Vd}from"react/jsx-runtime";import EP,{useMemo as Ch}from"react";var fP="\u{1F504}",pP="\u2588",mP="\u2592",hP="\u2192",gP=" \xB7 ";function yP(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(yP,"formatReasoningModeShort");function xP(e){if(e)return e==="none"?"off":e}o(xP,"formatEffortShort");function SP(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(SP,"getReasoningColor");function qC(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(qC,"formatTokenCount");function wP(e){let t=Math.min(10,Math.max(0,Math.round(e/10))),n=10-t;return`${pP.repeat(t)}${mP.repeat(n)}`}o(wP,"createMiniProgressBar");function TP(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(TP,"getContextColor");function CP(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(CP,"getPermissionModeColor");function IP(e,t){let n=nc(e);return!(e==="auto"||e==="auto-in-project")||!t?n:`${n}${t==="llm"?"[LLM]":"[RULES]"}`}o(IP,"buildPermissionModeText");function bP(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(bP,"formatToolAction");function jd(e,t){return t&&t>0?`${e} (${t} chars)`:e}o(jd,"formatThinkingStatus");function Ud(e,t,n){let r=bP(e);return n?`${r} (${n}...)`:t&&t>0?`${r} (${t} chars)`:r}o(Ud,"formatToolStatus");function wh({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 - ${Ud(t,s,a)}`:n?jd("Routing",r):"Routing";if(c==="preflight"){let g=d??"Scout";return m?`${g} - ${m}`:t?`${g} - ${Ud(t,s,a)}`:n?jd(g,r):g}if(c==="verifying")return"Verifying";if(l){let g=d??"Worker";if(f===!0&&!m&&!t&&!n){let S=p??0,w=S>1?`waiting for ${S} children`:S===1?"waiting for 1 child":"idle - resuming";return`${g} - ${w}`}return m?`${g} - ${m}`:t?`${g} - ${Ud(t,s,a)}`:n?jd(g,r):g}if(m)return m;if(t)return Ud(t,s,a);if(n)return jd("Thinking",r)}o(wh,"buildBusyStatusText");function vP({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(vP,"resolveIterationSegments");function kP(e){if(e.length!==0)return`${fP} ${e.map(t=>`${t.label} ${t.current}/${t.max}`).join(gP)}`}o(kP,"formatLabeledIterationStatus");function RP(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:g,reasoningEffortLabel:S,isCompacting:w,toolInputCharCount:I,toolInputContent:T,currentIteration:v,maxIter:A,contextUsage:D,showBusyStatus:N=!0,managedPhase:O,managedHarnessProfile:G,managedWorkerTitle:Y,managedRound:re,managedMaxRounds:me,managedGlobalWorkBudget:ue,managedBudgetUsage:y,managedIdleWaiting:P,managedIdleWaitingPendingCount:C}=e,ce=[{id:"agent-mode",text:`KodaX - ${r.toUpperCase()}`,color:"primary",bold:!0},{id:"permission-mode",text:IP(n,e.autoModeEngine),color:CP(n)}],Me=S??xP(g)??yP(m);ce.push({id:"reasoning-mode",text:Me,color:SP(Me)});let oe=vP({agentMode:r,managedPhase:O,managedHarnessProfile:G,managedRound:re,managedMaxRounds:me,managedGlobalWorkBudget:ue,managedBudgetUsage:y,currentIteration:v,maxIter:A}),X=kP(oe);if(X){let ke=Math.max(...oe.map(W=>W.current/W.max)),De="green";ke>=.8?De="red":ke>=.5&&(De="yellow"),ce.push({id:"iteration-status",text:X,color:De})}ce.push({id:"session-id",text:t,color:"dim"});let de=N?wh({activeToolCount:l,currentTool:c,isThinkingActive:f,thinkingCharCount:p,isCompacting:w,toolInputCharCount:I,toolInputContent:T,managedPhase:O,managedHarnessProfile:G,managedWorkerTitle:Y,managedIdleWaiting:P,managedIdleWaitingPendingCount:C}):void 0;if(de&&ce.push({id:"busy-status",text:de,color:"dim"}),ce.push({id:"provider-model",text:`${i}/${s}`,color:"secondary"}),D&&D.contextWindow!==0){let ke=Math.round(D.currentTokens/D.contextWindow*100),De=qC(D.currentTokens),W=qC(D.contextWindow),le=wP(ke);ce.push({id:"context-usage",text:`${De}/${W} ${le} ${ke}%`,color:TP(D.currentTokens,D.contextWindow,D.triggerPercent)})}return a&&ce.push({id:"token-usage",text:`${a.input}${hP}${a.output} (${a.total})`,color:"dim"}),ce}o(RP,"buildStatusBarSegments");function Gd(e){let t=RP(e);return{text:t.map(n=>n.text).join(" | "),segments:t}}o(Gd,"buildStatusBarViewModel");function MP(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(MP,"resolveViewModelSegmentColor");var zs=o(({viewModel:e,...t})=>{let n=Ch(()=>ne("dark"),[]),r=Ch(()=>e??Gd(t),[t,e]);return Th(E,{paddingX:1,children:r.segments.map((i,s)=>Vd(EP.Fragment,{children:[Th(b,{color:MP(i,n),bold:i.bold,children:i.text}),s<r.segments.length-1?Th(b,{dimColor:!0,children:" | "}):null]},i.id))})},"StatusBar"),AP=o(({permissionMode:e,provider:t,model:n})=>{let r=Ch(()=>ne("dark"),[]);return Vd(E,{children:[Vd(b,{color:r.colors.primary,bold:!0,children:["[",e,"]"]}),Vd(b,{dimColor:!0,children:[" ",t,"/",n]})]})},"SimpleStatusBar");import{jsx as Ro,jsxs as Yd}from"react/jsx-runtime";import{useState as Ih,useCallback as Kd,useMemo as JC}from"react";function zd(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(zd,"generateId");function _P(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(_P,"messageToHistoryItem");var LP=o(({model:e,provider:t,onSubmit:n,permissionMode:r="accept-edits",agentMode:i="ama"})=>{let{stdout:s}=br(),a=JC(()=>ne("dark"),[]),[c,l]=Ih({messages:[],isLoading:!1,sessionId:zd()}),[d,f]=Ih(null),[p,m]=Ih(),g=Kd(async T=>{if(!T.trim())return;let v={id:zd(),role:"user",content:T,timestamp:Date.now()};l(A=>({...A,messages:[...A.messages,v],isLoading:!0}));try{await n(T)}catch(A){let D={id:zd(),role:"system",content:`Error: ${A instanceof Error?A.message:"Unknown error"}`,timestamp:Date.now()};l(N=>({...N,messages:[...N.messages,D],isLoading:!1}))}finally{l(A=>({...A,isLoading:!1}))}},[n]),S=Kd((T,v)=>{let A={id:zd(),role:T,content:v,timestamp:Date.now()};l(D=>({...D,messages:[...D.messages,A]}))},[]),w=Kd((T,v)=>{f({input:T,output:v,total:T+v})},[]),I=Kd(T=>{m(T)},[]);return Yd(E,{flexDirection:"column",children:[Ro(E,{flexGrow:1,flexDirection:"column",overflow:"hidden",children:Ro(gi,{items:c.messages.map(_P),isLoading:c.isLoading})}),Ro(E,{flexShrink:0,children:Ro(Fs,{onSubmit:o(T=>g(T.fullText),"onSubmit"),prompt:">",focus:!c.isLoading})}),Ro(E,{flexShrink:0,children:Ro(zs,{sessionId:c.sessionId,permissionMode:r,agentMode:i,provider:t,model:e,tokenUsage:d??void 0,currentTool:p})})]})},"App"),PP=o(({model:e,provider:t,onInput:n})=>{let r=JC(()=>ne("dark"),[]);return Yd(E,{flexDirection:"column",children:[Yd(E,{marginBottom:1,children:[Ro(b,{color:r.colors.primary,bold:!0,children:"KodaX CLI"}),Yd(b,{dimColor:!0,children:[" ","- ",t,"/",e]})]}),Ro(Fs,{onSubmit:o(i=>n(i.fullText),"onSubmit"),placeholder:"Type a message...",prompt:">"})]})},"SimpleApp");import{jsx as $P}from"react/jsx-runtime";var bh=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:g,onScrollTopChange:S,onStickyChange:w,onWindowChange:I,overscanRows:T})=>$P(zm,{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:g,onScrollTopChange:S,onStickyChange:w,onWindowChange:I,overscanRows:T}),"FullscreenTranscriptLayout");import{jsx as QC}from"react/jsx-runtime";function Ys({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(Ys,"buildMessageActionsText");var vh=o(({copyMessage:e=!1,copyToolInput:t=!1,copyOnSelect:n=!1,toggleDetail:r=!1,selectionNavigation:i=!1,matchNavigation:s=!1,dismissAction:a})=>{let c=ne("dark"),l=Ys({copyMessage:e,copyToolInput:t,copyOnSelect:n,toggleDetail:r,selectionNavigation:i,matchNavigation:s,dismissAction:a});return l?QC(E,{paddingX:1,children:QC(b,{color:c.colors.dim,children:l})}):null},"MessageActions");import{jsx as ZC}from"react/jsx-runtime";function kh({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(kh,"buildMessageSelectorText");var OP=o(({itemSummary:e,itemKind:t,position:n,detailState:r="compact"})=>{let i=ne("dark"),s=kh({itemSummary:e,itemKind:t,position:n,detailState:r});return s?ZC(E,{paddingX:1,children:ZC(b,{color:i.colors.dim,children:s})}):null},"MessageSelector");import{jsx as Xs,jsxs as DP}from"react/jsx-runtime";import{useMemo as e0}from"react";function Xd(e,t){return Math.max(1,hn(e.length>0?e.split(`
|
|
62
|
-
`):[""],Math.max(1,t),0,0).visualLines.length)}o(Xd,"countWrappedRows");var Rh=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,g=f?.copyOnSelect??!1,S=t?.toggleDetail??!1,w=t?.navigationCapabilities?.selection??!1,I=n?.statusText,T=n?.matches?.length??0,v=n?.surface,A=i.viewportWidth??80,D=Math.max(1,A-2),N=n?.query?.trim()?"close-search":a||p||m||S||w?"clear":void 0,O=kh({itemSummary:a,itemKind:l,position:c,detailState:d}),G=e0(()=>Ys({copyMessage:p,copyToolInput:m,copyOnSelect:g,toggleDetail:S,selectionNavigation:w,matchNavigation:!!I&&T>0,dismissAction:N}),[p,m,w,S,N,T,I,g]),Y=e0(()=>{if(!s)return 0;let me=0;return e?.hintText&&(me+=Xd(e.hintText,D)),O&&(me+=Xd(O,D)),G&&(me+=Xd(G,D)),I&&(me+=Xd(I,D)),v&&(me+=1),me},[G,e?.hintText,D,s,I,v,O]),re=typeof i.viewportRows=="number"?Math.max(1,i.viewportRows-Y):i.viewportRows;return DP(E,{flexDirection:"column",flexGrow:i.windowed?0:1,children:[s&&e?.hintText?Xs(E,{paddingX:1,children:Xs(b,{dimColor:!0,children:e.hintText})}):null,null,s&&(p||m||g||S||w||T>0)?Xs(vh,{copyMessage:p,copyToolInput:m,copyOnSelect:g,toggleDetail:S,selectionNavigation:w,matchNavigation:!!I&&T>0,dismissAction:N}):null,s&&I?Xs(E,{paddingX:1,children:Xs(b,{dimColor:!0,children:I})}):null,s?v:null,Xs(gi,{...i,viewportRows:re})]})},"TranscriptViewport");import{jsx as t0}from"react/jsx-runtime";var Eh=o(e=>t0(E,{flexDirection:"column",children:t0(Fs,{...e})}),"PromptComposer");import{jsx as yi,jsxs as qd}from"react/jsx-runtime";import n0 from"react";var r0=" \xB7 ",Jd=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=ne("dark");return t.length===0?null:yi(E,{flexGrow:1,children:t.map((r,i)=>qd(n0.Fragment,{children:[yi(b,{color:r.accent?n.colors.accent:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?yi(b,{dimColor:!0,children:r0}):null]},r.id))})},"PromptFooterLeftSide"),Qd=o(({items:e=[]})=>{let t=e.filter(r=>r.label.trim().length>0),n=ne("dark");return t.length===0?null:yi(E,{justifyContent:"flex-end",children:t.map((r,i)=>qd(n0.Fragment,{children:[yi(b,{color:r.accent?n.colors.primary:n.colors.dim,bold:r.accent,children:r.label}),i<t.length-1?yi(b,{dimColor:!0,children:r0}):null]},r.id))})},"PromptFooterRightSide"),Zd=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:g})=>qd(E,{flexDirection:"column",children:[e||t?qd(E,{paddingX:1,children:[yi(E,{flexGrow:1,children:e}),t]}):null,n,r,i,s,a,c,l,d,g,f,p,m]}),"PromptFooter");import{jsx as Mh,jsxs as o0}from"react/jsx-runtime";var Ah=o(({sections:e,title:t="Help"})=>{let n=ne("dark"),r=e.filter(i=>i.items.length>0);return r.length===0?null:o0(E,{flexDirection:"column",borderStyle:"round",borderColor:n.colors.accent,paddingX:1,marginTop:1,children:[Mh(b,{color:n.colors.accent,bold:!0,children:t}),r.map(i=>o0(E,{flexDirection:"column",children:[Mh(b,{color:n.colors.primary,bold:!0,children:i.title}),Mh(b,{dimColor:!0,children:i.items.map(s=>s.label).join(" | ")})]},i.id))]})},"PromptHelpMenu");import{jsx as i0}from"react/jsx-runtime";import{createContext as a0,useContext as c0,useReducer as NP,useCallback as zt,useMemo as BP}from"react";var HP=150;function tf(){return`${Date.now()}-${Math.random().toString(36).slice(2,9)}`}o(tf,"generateId");function ef(e){return{...e,id:tf(),timestamp:Date.now()}}o(ef,"createHistoryItem");function s0(e){if(e.length<=HP)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(s0,"trimHistoryToRounds");function _h(e,t){return e.filter(n=>n.type==="user"&&typeof n.id=="string"&&!t.has(n.id))}o(_h,"selectUncommittedLedgerUserItems");function Lh(e){return{...e,id:tf(),startTime:Date.now()}}o(Lh,"createToolCall");function WP(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:s0([...e.history,t.payload])};case"BULK_ADD_HISTORY_ITEMS":return{...e,history:s0([...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{...qp,sessionId:e.sessionId};default:return e}}o(WP,"uiReducer");var l0=a0(null),u0=a0(null);function nf({children:e,initialState:t}){let[n,r]=NP(WP,{...qp,...t}),i=zt(O=>{r({type:"SET_STREAMING_STATE",payload:O})},[]),s=zt(O=>{r({type:"APPEND_TO_RESPONSE",payload:O})},[]),a=zt(()=>{r({type:"CLEAR_RESPONSE"})},[]),c=zt(O=>{let G=ef(O);r({type:"ADD_HISTORY_ITEM",payload:G})},[]),l=zt(O=>{O.length!==0&&r({type:"BULK_ADD_HISTORY_ITEMS",payload:O.map(ef)})},[]),d=zt((O,G)=>{r({type:"UPDATE_HISTORY_ITEM",payload:{id:O,updates:G}})},[]),f=zt(()=>{r({type:"CLEAR_HISTORY"})},[]),p=zt(O=>{let G=Lh(O);return r({type:"ADD_TOOL_CALL",payload:G}),G.id},[]),m=zt((O,G)=>{r({type:"UPDATE_TOOL_CALL",payload:{id:O,updates:G}})},[]),g=zt(()=>{r({type:"CLEAR_TOOL_CALLS"})},[]),S=zt(O=>{r({type:"SET_SESSION_ID",payload:O})},[]),w=zt(O=>{r({type:"SET_MODE",payload:O})},[]),I=zt(O=>{r({type:"SET_PROVIDER",payload:O})},[]),T=zt(O=>{r({type:"SET_MODEL",payload:O})},[]),v=zt(O=>{r({type:"SET_TOKEN_USAGE",payload:O})},[]),A=zt(O=>{r({type:"SET_ERROR",payload:O})},[]),D=zt(O=>{r({type:"SET_LOADING",payload:O})},[]),N=BP(()=>({setStreamingState:i,appendToResponse:s,clearResponse:a,addHistoryItem:c,addHistoryItems:l,updateHistoryItem:d,clearHistory:f,addToolCall:p,updateToolCall:m,clearToolCalls:g,setSessionId:S,setMode:w,setProvider:I,setModel:T,setTokenUsage:v,setError:A,setLoading:D}),[i,s,a,c,l,d,f,p,m,g,S,w,I,T,v,A,D]);return i0(l0.Provider,{value:n,children:i0(u0.Provider,{value:N,children:e})})}o(nf,"UIStateProvider");function jc(){let e=c0(l0);if(!e)throw new Error("useUIState must be used within a UIStateProvider");return e}o(jc,"useUIState");function Uc(){let e=c0(u0);if(!e)throw new Error("useUIActions must be used within a UIStateProvider");return e}o(Uc,"useUIActions");function d0(){let e=jc(),t=Uc();return{state:e,actions:t}}o(d0,"useUI");function Ph(){return ne()}o(Ph,"useTheme");import{jsxs as Eo,jsx as rf,Fragment as FP}from"react/jsx-runtime";import{useMemo as jP}from"react";var UP=80,GP=7,VP={command:">",file:"\u{1F4C4}",history:"\u23F1",argument:"\u2022",snippet:"\u25C7",skill:"\u2605"};function KP(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(KP,"getVisibleRange");function zP({suggestion:e,isSelected:t,width:n}){let r=Ph(),i=e.icon||e.type&&VP[e.type]||"",s=i?Tr(i)+1:0,a=Tr(e.displayText||e.text),c=e.description?Tr(e.description):0,l=Math.min(a,n-s-2),d=n-s-l-3,f=Math.max(0,d),p=mc(e.displayText||e.text,l),m=e.description?mc(e.description,f):"";return Eo(E,{children:[i&&Eo(b,{color:t?r.colors.accent:r.colors.dim,children:[i," "]}),rf(b,{color:t?r.colors.primary:r.colors.text,bold:t,children:p}),m&&Eo(FP,{children:[rf(b,{children:" "}),rf(b,{color:r.colors.dim,children:mc(e.description||"",f)})]}),t&&Eo(b,{color:r.colors.accent,children:[" ","\u25C0"]})]})}o(zP,"SuggestionItem");function of({suggestions:e,selectedIndex:t,visible:n,maxVisible:r=GP,width:i=UP,showCount:s=!1}){let a=Ph();if(!n||e.length===0)return null;let{start:c,end:l}=jP(()=>KP(t,e.length,r),[t,e.length,r]),d=e.slice(c,l);return Eo(E,{flexDirection:"column",marginLeft:2,children:[c>0&&Eo(b,{color:a.colors.dim,children:[" ","\u25B2 ",c," more..."]}),d.map((f,p)=>{let g=c+p===t;return rf(zP,{suggestion:f,isSelected:g,width:i},f.id)}),l<e.length&&Eo(b,{color:a.colors.dim,children:[" ","\u25BC ",e.length-l," more..."]}),s&&Eo(b,{color:a.colors.dim,children:[t+1,"/",e.length]})]})}o(of,"SuggestionsDisplay");import{jsx as qs,jsxs as YP}from"react/jsx-runtime";var $h=o(({reserveSpace:e,width:t,hidden:n=!1,mode:r="inline"})=>{let i=pi(),s=ne("dark");if(n)return null;if(!i)return e?qs(E,{height:8}):null;let{state:a,suggestions:c}=i;return a.visible&&c.length>0?r==="overlay"?YP(E,{flexDirection:"column",borderStyle:"round",borderColor:s.colors.accent,paddingX:1,marginTop:1,children:[qs(b,{color:s.colors.accent,bold:!0,children:"Suggestions"}),qs(of,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-6)})]}):qs(E,{height:8,children:qs(of,{suggestions:c,selectedIndex:a.selectedIndex,visible:a.visible,maxVisible:7,width:Math.max(20,t-2)})}):e?qs(E,{height:8}):null},"PromptSuggestionsSurface");import{jsxs as rr,jsx as Kn,Fragment as Oh}from"react/jsx-runtime";import XP,{useEffect as qP,useState as JP}from"react";var Js=15,f0=Math.max(1,Js-2),Dh=o(({confirm:e,request:t})=>e?rr(E,{flexDirection:"column",borderStyle:"round",borderColor:"yellow",paddingX:1,marginTop:1,width:"100%",children:[rr(b,{color:"yellow",bold:!0,children:[te("dialog.confirm")," ",e.prompt]}),e.planContent?Kn(QP,{content:e.planContent}):null,e.instruction?Kn(b,{dimColor:!0,children:e.instruction}):null]}):t?rr(E,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginTop:1,width:"100%",children:[t.kind==="select"?rr(Oh,{children:[rr(b,{color:"cyan",bold:!0,children:[te("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 rr(Oh,{children:[c>0?Kn(b,{dimColor:!0,children:te("select.more_above",{count:c})}):null,n.slice(a,a+r).map((d,f)=>{let p=a+f,m=p===i,g=t.selectedIndices?.includes(p)??!1,S=m?"\u276F ":" ",w=g?" \u2713":"",I=d.description?` - ${d.description}`:"";return Kn(b,{color:m?"cyan":void 0,dimColor:!m,children:`${S}${d.label}${I}${w}`},`${d.value}-${p}`)}),l>0?Kn(b,{dimColor:!0,children:te("select.more_below",{count:l})}):null]})})(),Kn(b,{dimColor:!0,children:t.multiSelect?te("select.multiselect_hint"):te("select.navigate_hint")})]}):rr(Oh,{children:[rr(b,{color:"cyan",bold:!0,children:[te("dialog.input")," ",t.prompt]}),t.defaultValue!==void 0?Kn(b,{dimColor:!0,children:`${te("input.default")} ${t.defaultValue}`}):null,Kn(b,{dimColor:!0,children:`${te("input.value")} ${t.buffer||te("input.type_response")}`}),Kn(b,{dimColor:!0,children:te("select.confirm_hint")})]}),t.error?Kn(b,{color:"red",children:t.error}):null]}):null,"DialogSurface"),QP=o(({content:e})=>{let t=XP.useMemo(()=>e.split(`
|
|
63
|
-
`),[e]),n=t.length,r=n>Js,[i,s]=JP(0);qP(()=>{s(d=>{let f=Math.max(0,n-Js);return d>f?f:d})},[n]),gd((d,f)=>{if(!r)return;let p=Math.max(0,n-Js);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-f0)):f.pageDown&&s(m=>Math.min(p,m+f0))},{isActive:!0});let a=t.slice(i,i+Js),c=i,l=Math.max(0,n-i-Js);return rr(E,{flexDirection:"column",marginTop:1,children:[r&&c>0?rr(b,{dimColor:!0,children:["\u2026 ",c," more line",c===1?"":"s"," above"]}):null,a.map((d,f)=>Kn(b,{children:d},`plan-line-${i+f}`)),r&&l>0?rr(b,{dimColor:!0,children:["\u2026 ",l," more line",l===1?"":"s"," below"]}):null,r?Kn(b,{dimColor:!0,children:"PgUp/PgDn/\u2191\u2193 to scroll"}):null]})},"PlanScrollPanel");import{jsxs as Gc,jsx as ZP}from"react/jsx-runtime";function p0(e){let t=e.replace(/\s+/g," ").trim();return t.length<=72?t:`${t.slice(0,69)}...`}o(p0,"normalizePendingPreview");function m0(e){if(e.length===0)return;let t=p0(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(m0,"formatPendingInputsSummary");function Nh(e){if(e.length===0)return[];let t=e.length;return e.map((n,r)=>({index:r+1,total:t,preview:p0(n)}))}o(Nh,"formatPendingInputsLines");function h0(e){let t=Nh(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(h0,"formatPendingInputsBudgetText");var Bh=o(({pendingInputs:e})=>{let t=Nh(e);if(t.length===0)return null;let n=ne("dark");return Gc(E,{flexDirection:"column",children:[t.map(r=>Gc(E,{children:[Gc(b,{color:n.colors.hint,children:["\u23F3"," "]}),Gc(b,{color:n.colors.dim,children:["[",r.index,"/",r.total,"] ",r.preview]})]},r.index)),ZP(E,{children:Gc(b,{color:n.colors.dim,children:[" ","\u2191 pull all into editor \xB7 Esc drops latest"]})})]})},"QueuedCommandsSurface");import{jsx as g0}from"react/jsx-runtime";function e1(e,t){switch(e){case"warning":return t.warning;case"accent":return t.accent;default:return t.dim}}o(e1,"resolveNotificationColor");var sf=o(({notifications:e})=>{let t=e.filter(r=>r.text.trim().length>0),n=ne("dark");return t.length===0?null:g0(E,{flexDirection:"column",paddingX:1,children:t.map(r=>g0(b,{color:e1(r.tone,n.colors),children:r.text},r.id))})},"NotificationsSurface");import{jsx as y0}from"react/jsx-runtime";var Hh=o(({notices:e})=>{let t=e.filter(r=>r.trim().length>0);if(t.length===0)return null;let n=ne("dark");return y0(E,{flexDirection:"column",paddingX:1,children:t.map((r,i)=>y0(b,{color:n.colors.dim,children:r},`${r}-${i}`))})},"StatusNoticesSurface");import{jsxs as x0,jsx as t1}from"react/jsx-runtime";var af=o(({text:e})=>{let t=e?.trim();if(!t)return null;let n=ne("dark");return x0(E,{paddingX:1,children:[x0(b,{color:n.colors.hint,children:["\u22EF"," "]}),t1(b,{color:n.colors.dim,children:t})]})},"StashNotice");import{jsx as xi,jsxs as n1}from"react/jsx-runtime";function S0({text:e,accent:t=!1,selected:n=!1}){let r=ne("dark");return xi(E,{marginRight:1,children:xi(b,{color:t?r.colors.accent:r.colors.primary,bold:n||t,children:`[ ${e} ]`})})}o(S0,"Pill");var cf=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:n1(E,{flexDirection:"row",paddingX:1,children:[r?xi(E,{marginRight:1,children:xi(Vn,{})}):null,i.map(s=>xi(S0,{text:s.hint?`${s.label} (${s.hint})`:s.label,accent:s.accent,selected:s.selected},s.id)),t?xi(S0,{text:t}):null,n?xi(b,{dimColor:!0,children:n}):null]})},"BackgroundTaskBar");import{jsx as Vc,jsxs as c1}from"react/jsx-runtime";import r1 from"string-width";var Wh=9,Fh=3,w0=160,o1={shouldRender:!1,activeCount:0,rows:[]};function T0(e,t=Wh){let n=r1(e);return n>=t?e:`${e}${" ".repeat(t-n)}`}o(T0,"padChildActivitySymbol");function jh(e){let t=e.replace(/\s+/gu," ").trim();return t.length<=w0?t:`${t.slice(0,w0-3)}...`}o(jh,"truncateChildActivityDetail");function lf(e){return!!(e?.liveOnly===!0&&(e.workflowCorrelation||e.childAgentId))}o(lf,"shouldRouteToChildActivity");function C0(e,t){return!!(e?.liveOnly===!0&&e.workflowCorrelation?.workflowRunId&&t&&e.workflowCorrelation.workflowRunId===t)}o(C0,"shouldRouteWorkflowLiveOnlyNotice");function I0(e){return!e.isTranscriptMode&&e.childActivityVisible&&(e.isLoading||e.hasWorkflowLiveSurface)}o(I0,"shouldShowChildActivitySurface");function Uh(e){let t=e.childAgentId??e.workflowCorrelation?.childAgentId??"child",n=e.workflowCorrelation?.workflowRunId;return n?`${n}:${t}`:t}o(Uh,"childActivityId");function b0(e){return e.childAgentName??e.childAgentId??e.workflowCorrelation?.childAgentId??"child"}o(b0,"childActivityLabel");function v0(e){return e.workflowCorrelation?"workflow":"normal"}o(v0,"childActivitySource");function k0(e,t){let n=t?.path??t?.pattern??t?.command??t?.preview,r=typeof n=="string"&&n.trim().length>0?` ${n}`:"";return jh(`${e}${r}`)}o(k0,"toolActivityDetail");function R0(e,t){return e==="tool"&&["thinking","assistant","stream"].includes(t)}o(R0,"suppressesChurnOverToolAction");function i1(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(i1,"formatChildActivityElapsed");function s1(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(s1,"kindLabel");function a1(e,t){let n=e.label.trim()||"child",r=e.startedAt!==void 0?` \xB7 ${i1(t-e.startedAt)}`:"",i=e.detail.trim(),s=i.length>0?`: ${i}`:"";return`${n}${r} - ${s1(e.kind)}${s}`}o(a1,"rowText");function E0(e,t=Fh,n=Date.now()){let r=e.filter(d=>d.status==="running");if(r.length===0)return o1;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:a1(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(E0,"buildChildActivityViewModel");var M0=Wh;function l1(e){let t=ne("dark");switch(e){case"cyan":return t.colors.primary;case"green":return t.colors.success;default:return t.colors.dim}}o(l1,"resolveSymbolColor");var u1=o(({row:e})=>{let t=l1(e.symbolColor);return c1(E,{flexDirection:"row",children:[Vc(E,{width:M0,flexShrink:0,children:Vc(b,{color:t,bold:e.isActive,wrap:"truncate",children:T0(e.symbol,M0)})}),Vc(b,{color:e.kind==="summary"?ne("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"ChildActivityRowView");function Gh(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(Gh,"measureChildActivitySurfaceRows");var Vh=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Vc(E,{flexDirection:"column",flexGrow:1,children:e.rows.map(t=>Vc(u1,{row:t},`${t.kind}-${t.id}`))}),"ChildActivitySurface");import A0,{createContext as L0,useContext as P0,useReducer as d1,useCallback as Qe,useRef as f1,useEffect as _0}from"react";function p1(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(p1,"isMainThreadPrompt");function Yh(){return Hn().getSnapshot().filter(p1)}o(Yh,"getMainThreadPrompts");function Kh(){return Yh().map(e=>e.content)}o(Kh,"getMainThreadPromptContents");var zh={state:yr.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 Xh(){let e={...zh,pendingInputs:Kh()},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=Kh();if(S.length===e.pendingInputs.length){let w=!0;for(let I=0;I<S.length;I++)if(S[I]!==e.pendingInputs[I]){w=!1;break}if(w)return}e={...e,pendingInputs:S},l()},"syncReactStateFromQueue"),f=Hn().subscribe(()=>{d()}),p=o(()=>Hn().dequeue({maxPriority:"user",mode:"prompt"}).map(w=>w.content),"drainOurSlice"),m=o(()=>{if(s&&(clearTimeout(s),s=null),n||r||i>0){let w=e.thinkingContent+r,I=r?w.length:e.thinkingCharCount+i;e={...e,currentResponse:e.currentResponse+n,thinkingContent:w,thinkingCharCount:I,...r||i>0?{isThinking:!0}:{}},n="",r="",i=0,l()}},"flushPendingUpdates"),g=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:yr.Responding,currentResponse:"",abortController:new AbortController,error:void 0,roundStartedAt:Date.now()},l()},"startStreaming"),stopStreaming:o(()=>{m(),e={...e,state:yr.Idle,abortController:void 0,roundStartedAt:null},l()},"stopStreaming"),appendResponse:o(S=>{a||(n+=S,g())},"appendResponse"),clearResponse:o(()=>{m(),e={...e,currentResponse:""},l()},"clearResponse"),setError:o(S=>{m(),e={...e,error:S,state:S?yr.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:yr.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={...zh,pendingInputs:Kh()},a=!1,l()},"reset"),isStreaming:o(()=>e.state===yr.Responding||e.state===yr.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,g())},"appendThinkingChars"),appendThinkingContent:o(S=>{a||(r+=S,g())},"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:zh.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 w=S.trim();w&&(Yh().length>=5||(m(),Hn().enqueue({priority:"user",mode:"prompt",content:w})))},"addPendingInput"),removeLastPendingInput:o(()=>{let S=Yh(),w=S[S.length-1];w&&(m(),Hn().dequeue({maxPriority:"user",mode:"prompt",id:w.id}))},"removeLastPendingInput"),shiftPendingInput:o(()=>(m(),Hn().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(Xh,"createStreamingManager");var $0=L0(null),O0=L0(null);function uf({children:e,onStateChange:t}){let n=f1(Xh()),[,r]=d1(X=>X+1,0);_0(()=>n.current.subscribe(de=>{r(),t?.(de)}),[t]),_0(()=>{let X=n.current;return()=>{X.dispose()}},[]);let i=Qe(()=>{n.current.startStreaming()},[]),s=Qe(()=>{n.current.stopStreaming()},[]),a=Qe(X=>{n.current.appendResponse(X)},[]),c=Qe(()=>{n.current.clearResponse()},[]),l=Qe(X=>{n.current.setError(X)},[]),d=Qe(X=>{n.current.abort(X)},[]),f=Qe(()=>{n.current.reset()},[]),p=Qe(()=>{n.current.startThinking()},[]),m=Qe(X=>{n.current.appendThinkingChars(X)},[]),g=Qe(X=>{n.current.appendThinkingContent(X)},[]),S=Qe(()=>{n.current.stopThinking()},[]),w=Qe(()=>{n.current.clearThinkingContent()},[]),I=Qe(X=>{n.current.setCurrentTool(X)},[]),T=Qe(X=>{n.current.appendToolInputChars(X)},[]),v=Qe(X=>{n.current.appendToolInputContent(X)},[]),A=Qe(()=>{n.current.clearToolInputContent()},[]),D=Qe(()=>n.current.getSignal(),[]),N=Qe(()=>n.current.getFullResponse(),[]),O=Qe(()=>n.current.getThinkingContent(),[]),G=Qe(X=>{n.current.startNewIteration(X)},[]),Y=Qe(()=>{n.current.clearIterationHistory()},[]),re=Qe(X=>{n.current.setMaxIter(X)},[]),me=Qe(()=>{n.current.startCompacting()},[]),ue=Qe(()=>{n.current.stopCompacting()},[]),y=Qe(X=>{n.current.addPendingInput(X)},[]),P=Qe(()=>{n.current.removeLastPendingInput()},[]),C=Qe(()=>n.current.shiftPendingInput(),[]),ce=Qe(()=>{n.current.clearPendingInputs()},[]),Me=Qe(()=>n.current.consumePendingInputs(),[]),oe={startStreaming:i,stopStreaming:s,appendResponse:a,clearResponse:c,setError:l,abort:d,reset:f,startThinking:p,appendThinkingChars:m,appendThinkingContent:g,stopThinking:S,clearThinkingContent:w,setCurrentTool:I,appendToolInputChars:T,appendToolInputContent:v,clearToolInputContent:A,getSignal:D,getFullResponse:N,getThinkingContent:O,startNewIteration:G,clearIterationHistory:Y,setMaxIter:re,startCompacting:me,stopCompacting:ue,addPendingInput:y,removeLastPendingInput:P,shiftPendingInput:C,clearPendingInputs:ce,consumePendingInputs:Me};return A0.createElement($0.Provider,{value:n.current.getState()},A0.createElement(O0.Provider,{value:oe},e))}o(uf,"StreamingProvider");function zc(){let e=P0($0);if(!e)throw new Error("useStreamingState must be used within a StreamingProvider");return e}o(zc,"useStreamingState");function Yc(){let e=P0(O0);if(!e)throw new Error("useStreamingActions must be used within a StreamingProvider");return e}o(Yc,"useStreamingActions");function D0(){let e=zc(),t=Yc(),n=e.state===yr.Responding||e.state===yr.WaitingForConfirmation;return{state:e,actions:t,isStreaming:n}}o(D0,"useStreaming");import{useCallback as m1,useRef as h1}from"react";var g1=500;function y1(e={}){let{onKey:t,onEsc:n,onCtrlC:r,enabled:i=!0}=e,s=h1(0),{exit:a}=Io(),c=m1(l=>{if(!i)return!1;if(l.name==="escape"){let d=Date.now(),f=d-s.current<g1;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 An(c,{isActive:i}),{lastEscTime:s.current}}o(y1,"useKeypress");function x1(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(x1,"createKeyMatcher");import{useCallback as S1,useSyncExternalStore as w1}from"react";function T1(e){return e.agentId===void 0&&e.priority==="user"&&e.mode==="prompt"}o(T1,"isMainThreadPrompt");var qh=null,df=Object.freeze([]);function N0(){let e=Hn().getSnapshot();return e===qh||(qh=e,df=Object.freeze(e.filter(T1))),df}o(N0,"getQueueSliceSnapshot");function B0(){let e=S1(t=>Hn().subscribe(t),[]);return w1(e,N0,N0)}o(B0,"useQueuedPrompts");function C1(){return B0().map(t=>t.content)}o(C1,"useQueuedPromptContents");function I1(){qh=null,df=Object.freeze([])}o(I1,"_resetQueuedPromptsCacheForTests");async function Xc(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??Si(),title:"",gitRoot:e.gitRoot,runtimeInfo:e.runtimeInfo,createdAt:new Date().toISOString(),lastAccessed:new Date().toISOString()}}o(Xc,"createInteractiveContext");function Si(){let e=new Date,t=e.toISOString().split("T")[0].replace(/-/g,""),n=e.toTimeString().split(" ")[0].replace(/:/g,"");return`${t}_${n}`}o(Si,"generateSessionId");function Er(e){e.lastAccessed=new Date().toISOString()}o(Er,"touchContext");async function qc(e){let t=await vS({userKodaxDir:fS(),projectRoot:e.projectRoot}),n;return{getGuardrail:o(()=>n||(n=kS({rules:t.merged,getClaudeMd:o(()=>pS(Tu({cwd:process.cwd(),projectRoot:e.projectRoot})),"getClaudeMd"),getToolProjection:o(i=>(Cu(i)??SS(i))?.toClassifierInput,"getToolProjection"),resolveProvider:o(i=>{try{return Xo(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(qc,"bootstrapAutoMode");var Qs=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:Dt(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=is(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=ss(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=ls(i.lineage,n);if(!s)return null;let a=r?.sessionId??await os(),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??as(r.lineage);if(!i)return null;let s=cs(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?qo(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 b1(){return new Qs}o(b1,"createMemorySessionStorage");import*as H0 from"child_process";import*as W0 from"util";import ff from"chalk";var v1=W0.promisify(H0.exec),k1={maxBuffer:1024*1024,timeout:3e4,maxOutputLength:8e3,maxErrorLength:4e3};async function pf(e,t={}){let n={...k1,...t},r=e.trim(),i=MS(r);if(i)return i.startsWith("[Blocked]")&&(console.log(ff.yellow(`
|
|
65
|
-
${i}`)),console.log()),i;try{console.log(ff.dim(`
|
|
66
|
-
[Executing: ${r}]`));let{stdout:s,stderr:a}=await v1(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(ff.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(ff.red(`
|
|
73
|
-
[Shell Error: ${c}]`)),console.log(),`[Shell command failed: ${r}]
|
|
74
|
-
|
|
75
|
-
Error: ${c}`}}o(pf,"executeShellCommand");async function Jh(e,t={}){if(e.startsWith("!")){let n=e.slice(1).trim();return pf(n,t)}return e}o(Jh,"processSpecialSyntax");function R1(e){return e.trim().startsWith("!")}o(R1,"isShellCommand");function E1(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell:")}o(E1,"isShellCommandSuccess");function Jc(e){return e.startsWith("[Shell command executed:")||e.startsWith("[Shell command failed:")||e.startsWith("[Shell:")||e.startsWith("[Blocked]")}o(Jc,"isShellCommandHandled");var F0=150,j0=50;function Qr(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>j0){let r=t[t.length-j0]??0;n=e.slice(r)}if(n.length>F0){let r=n.slice(-F0),i=r.findIndex(s=>s.type==="user");n=i>0?r.slice(i):r}return[...n]}o(Qr,"trimPersistedUiHistorySnapshot");function Mo(e){if(e)return Qr(e)}o(Mo,"normalizePersistedUiHistory");function M1(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(M1,"toCreatableTextHistoryItem");function A1(e){if(e.type!=="tool_group")return M1(e);let t=e.tools.map(em);return t.length>0?{type:"tool_group",tools:t}:void 0}o(A1,"persistedUiHistoryItemToCreatableHistoryItem");function U0(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(U0,"splitCreatableHistoryRounds");function _1(e){return e.some(t=>t.type==="tool_group")}o(_1,"roundHasToolGroup");function L1(e){return e.type==="event"&&e.icon==="tool"}o(L1,"isLegacyToolSummaryItem");function P1(e,t){if(t.length===0||_1(e))return[...e];let n=e.filter(a=>!L1(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(P1,"insertDerivedToolGroupsIntoRound");function $1(e,t){if(t.filter(a=>a.type==="tool_group").length===0)return[...e];let r=U0(e),i=U0(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 P1(a,d)})}o($1,"enrichTextOnlyUiHistory");function mf(e){let t=tm(e.messages).map(ni),n=Mo(e.uiHistory);if(!n||n.length===0)return t;let r=n.map(A1).filter(i=>!!i);return $1(r,t)}o(mf,"restoreHistoryItemsFromSession");function hf(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(hf,"createRetryHistoryItem");function O1(e,t,n,r){e(hf(t,n,r))}o(O1,"emitRetryHistoryItem");function gf(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(gf,"createRecoveryHistoryItem");function D1(e,t){e(gf(t))}o(D1,"emitRecoveryHistoryItem");import{jsx as ae,jsxs as wn,Fragment as $D}from"react/jsx-runtime";import $v,{useState as He,useCallback as K,useRef as pe,useEffect as Ne,useMemo as fe}from"react";import{jsx as Mr,Fragment as N1,jsxs as yf}from"react/jsx-runtime";var Qh=" | ",G0=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=ne("dark"),p=r.trim(),m=a?.trim(),g=l?.trim(),S=d?.trim(),w=e?p?`Search /${p}`:"Search":"Transcript",I=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,v=e&&s>0?`${Math.max(0,i)}/${s}`:void 0,A=e&&m||g,D=!!(A||S);return yf(E,{flexDirection:"column",children:[yf(E,{paddingX:1,children:[Mr(b,{color:f.colors.dim,children:w}),Mr(b,{dimColor:!0,children:Qh}),Mr(b,{color:f.colors.dim,children:I}),v||T?Mr(E,{flexGrow:1}):null,v?yf(N1,{children:[Mr(b,{dimColor:!0,children:v}),T?Mr(b,{dimColor:!0,children:Qh}):null]}):null,T?Mr(b,{color:f.colors.accent,bold:!0,children:T}):null]}),D?yf(E,{paddingX:1,children:[A?Mr(b,{color:f.colors.dim,children:A}):null,A&&S?Mr(b,{dimColor:!0,children:Qh}):null,S?Mr(b,{color:f.colors.accent,bold:!0,children:S}):null]}):null]})},"TranscriptModeFooter");import{jsx as B1,jsxs as H1}from"react/jsx-runtime";var V0=o(({banner:e,...t})=>H1(E,{flexDirection:"column",children:[e,B1(gi,{...t,animateSpinners:!1,showFullThinking:!1,showDetailedTools:!1,showLiveProgressRows:!1})]}),"PromptTranscriptSurface");import{jsx as W1,jsxs as F1}from"react/jsx-runtime";var K0=o(({banner:e,windowed:t=!1,showDetailedTools:n=!1,showAllContent:r=!1,...i})=>F1(E,{flexDirection:"column",children:[e,W1(Rh,{...i,chromeMode:"hidden",windowed:t,showFullThinking:!0,showDetailedTools:n,showAllContent:r,showLiveProgressRows:!0})]}),"TranscriptModeSurface");import{jsxs as j1,jsx as U1}from"react/jsx-runtime";var z0=o(({text:e,tone:t="success"})=>{let n=e?.trim();if(!n)return null;let r=ne("dark"),i=t==="warning"?r.colors.warning:r.colors.accent,s=t==="warning"?"!":"\u2713";return U1(E,{paddingX:1,backgroundColor:r.colors.inputBackground,children:j1(b,{color:i,children:[s," ",n]})})},"ClipboardToastSurface");import{jsx as Ao,Fragment as G1,jsxs as Zh}from"react/jsx-runtime";var V1=" \u23BF ";function K1(e){let t=ne("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(K1,"resolveSymbolColor");var z1=o(({row:e})=>{let t=K1(e.symbolColor),n=e.kind!=="item";return Zh(E,{flexDirection:"row",children:[Ao(b,{color:t,bold:e.isActive,children:e.symbol}),Ao(b,{children:" "}),Ao(b,{dimColor:n,bold:e.isActive,strikethrough:e.isStrikethrough,children:e.text}),e.evaluatorBadge?Zh(G1,{children:[Ao(b,{children:" "}),Ao(b,{dimColor:!0,children:e.evaluatorBadge})]}):null]})},"TodoListRow"),Y0=o(({viewModel:e})=>{if(!e.shouldRender||e.rows.length===0)return null;let t=ne("dark").colors.dim;return Zh(E,{flexDirection:"row",children:[Ao(b,{color:t,children:V1}),Ao(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((n,r)=>Ao(z1,{row:n},`${n.kind}-${n.id??r}`))})]})},"TodoListSurface");import{jsx as Qc,jsxs as Y1}from"react/jsx-runtime";var X0=WS;function X1(e){let t=ne("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(X1,"resolveSymbolColor");var q1=o(({row:e})=>{let t=X1(e.symbolColor);return Y1(E,{flexDirection:"row",children:[Qc(E,{width:X0,flexShrink:0,children:Qc(b,{color:t,bold:e.isActive,wrap:"truncate",children:FS(e.symbol,X0)})}),Qc(b,{color:e.kind==="hint"?ne("dark").colors.dim:void 0,bold:e.isActive,wrap:"truncate",children:e.text})]})},"WorkflowRunRow");function q0(e){return!e.shouldRender||e.rows.length===0?0:e.rows.length}o(q0,"measureWorkflowRunSurfaceRows");var J0=o(({viewModel:e})=>!e.shouldRender||e.rows.length===0?null:Qc(E,{flexDirection:"column",flexGrow:1,children:e.rows.map((t,n)=>Qc(q1,{row:t},`${t.kind}-${t.id??n}`))}),"WorkflowRunSurface");function Q0(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(Q0,"formatTodoPlanViewModelForTranscript");var Z0="\u2610",J1="\u25CF",eI="\u2713",Q1="\u2717",Z1="\u2298",e$="\u2612";function t$(e){switch(e){case"in_progress":return{symbol:J1,color:"cyan"};case"completed":return{symbol:eI,color:"green"};case"failed":return{symbol:Q1,color:"red"};case"skipped":return{symbol:Z1,color:"gray"};case"cancelled":return{symbol:e$,color:"gray"};default:return{symbol:Z0,color:"dim"}}}o(t$,"symbolForStatus");function n$(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(n$,"pickAnchorIndex");function r$(e){let{symbol:t,color:n}=t$(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(r$,"buildItemRow");function o$(e){return{kind:"summary_done",symbol:eI,symbolColor:"green",text:`${e} done`,isActive:!1}}o(o$,"buildDoneSummary");function eg(e){return{kind:"summary_pending",symbol:Z0,symbolColor:"dim",text:`+${e} more`,isActive:!1}}o(eg,"buildPendingSummary");function i$(e,t){for(let n=e.length-1;n>=0;n--)if(e[n].status==="failed"&&!t.has(n))return n;return-1}o(i$,"pickFailedToPromote");function s$(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(s$,"decideWindow");function tI(e,t){let n=e.length,r=e.reduce((g,S)=>S.status==="completed"?g+1:g,0),i=o((g,S)=>({shouldRender:S,rows:g,completedCount:r,totalCount:n}),"baseVm");if(n<1)return i([],!1);t.now,t.lastAllCompletedAt;let s=n$(e),a=s$(e,s),c=new Set(a.visibleIdx),l=i$(e,c),d=[...a.visibleIdx],f=a.hiddenCompletedCount,p=a.hiddenPendingCount;if(l>=0){let g=-1;for(let S=d.length-1;S>=0;S--){let w=d[S];if(w!==s&&e[w].status==="pending"){g=S;break}}if(g>=0){let S=d[g];d[g]=l,p+=1,d.sort((T,v)=>T-v);let w=d[0],I=0;for(let T=0;T<w;T++)e[T].status==="completed"&&I++;f=I}}let m=[];f>0&&m.push(o$(f));for(let g of d)m.push(r$(e[g]));if(p>0&&m.push(eg(p)),m.length>6)for(;m.length>6;){let g=!1;for(let S=m.length-1;S>=0;S--){let w=m[S];if(w.kind==="item"&&!w.isActive){m.splice(S,1);let I=m[m.length-1];if(I&&I.kind==="summary_pending"){let T=/\+(\d+) more/.exec(I.text),v=T?Number.parseInt(T[1],10)+1:1;m[m.length-1]=eg(v)}else m.push(eg(1));g=!0;break}}if(!g)break}return i(m,!0)}o(tI,"buildTodoPlanViewModel");function nI(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(nI,"buildFooterHeaderViewModel");function a$(e){return RS(e.provider,e.model,"off",{longRunning:!0})}o(a$,"evaluateSessionTransitionPolicy");function c$(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(c$,"formatSessionTransitionGuardMessage");function _o(e,t,n){let r=a$(e);if(!r||r.status==="allow")return!0;let[i,...s]=c$(t,r);return n(r.status,i,s),r.status!=="block"}o(_o,"enforceSessionTransitionGuard");function l$(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(l$,"summarizeEntry");function rI(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} ${l$(e.entry)}${c}`);let l=t+(t?n?" ":"| ":"");e.children.forEach((d,f)=>{rI(d,l,f===e.children.length-1,r)})}o(rI,"formatNode");function xf(e){let t=[];return e.forEach((n,r)=>{rI(n,"",r===e.length-1,t)}),t}o(xf,"formatSessionTree");function oI(e,t){return e!==null&&e.attempt===t.attempt&&e.maxAttempts===t.maxAttempts&&e.waitMs===t.delayMs}o(oI,"isDuplicateLegacyRateLimit");var u$=100,d$=/\b(curl|wget|invoke-webrequest|invoke-restmethod|iwr|irm)\b/i,sI=/\b(rm|del|erase|remove-item|rmdir|rd|git clean)\b/i,aI=/\b(npm|pnpm|yarn|pip|choco|winget)\s+(install|add|remove|uninstall|update|upgrade|ci)\b/i,cI=/\b(set-content|add-content|out-file|new-item|copy-item|move-item|rename-item|cp|mv|copy|move|ren|touch)\b/i;function Zs(e){return typeof e=="string"&&e.trim().length>0?e.trim():void 0}o(Zs,"readString");function rn(e,t,n){n&&e.push({label:t,value:n})}o(rn,"pushField");function f$(e){return e.replace(/\s+/g," ").trim()}o(f$,"normalizeWhitespace");function p$(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(p$,"truncateMiddle");function m$(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(m$,"maskSensitiveSegments");function iI(e){return p$(m$(f$(e)),u$)}o(iI,"summarizeCommand");function h$(e){return go(e)?te("intent.read"):sI.test(e)?te("intent.delete"):aI.test(e)?te("intent.deps"):yo(e)||cI.test(e)?te("intent.modify"):te("intent.execute")}o(h$,"classifyShellIntent");function g$(e){let t=[];return sI.test(e)?t.push(te("risk.destructive")):aI.test(e)?t.push(te("risk.deps")):yo(e)||cI.test(e)?t.push(te("risk.modify")):go(e)||t.push(te("risk.unknown")),d$.test(e)&&t.push(te("risk.network")),t}o(g$,"classifyShellRisks");function y$(e){if(Array.isArray(e))return e.filter(t=>typeof t=="object"&&t!==null&&typeof t.kind=="string")}o(y$,"readSignals");function x$(e){if(e){if(e.some(t=>t.kind==="protected_path"))return te("scope.protected");if(e.some(t=>t.kind==="outside_project"||t.kind==="shell_redirect_outside"))return te("scope.outside")}}o(x$,"scopeFromSignals");function S$(e){if(e._outsideProject===!0)return te("scope.outside");if(e._alwaysConfirm===!0)return te("scope.protected")}o(S$,"scopeFromMarkers");function w$(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(te("risk.destructive")):r&&t.push(te("risk.modify")),e.some(i=>i.kind==="network")&&t.push(te("risk.network")),e.some(i=>i.kind==="package_install")&&t.push(te("risk.deps")),t}o(w$,"risksFromSignals");var T$={Reason:"field.reason",Intent:"field.intent",Target:"field.target",Scope:"field.scope",Risk:"field.risk",Summary:"field.summary"};function C$(e){return te(T$[e])}o(C$,"localizeFieldLabel");function ea(e,t){return{title:e,fields:t,details:t.map(n=>`${C$(n.label)}: ${n.value}`)}}o(ea,"buildDisplayFromFields");function Sf(e,t){if(e==="confirm"){let l=Zs(t._message);if(l)return ea(l,[])}if(e==="exit_plan_mode"){let l=Zs(t.plan),d="Approve plan? (exits plan mode \u2192 accept-edits)";return l?{title:d,fields:[],details:l.split(`
|
|
76
|
-
`)}:ea(d,[])}let n=[],r=Zs(t.path),i=Zs(t.command),s=Zs(t._reason)??Zs(t.justification),a=y$(t._classifierSignals),c=x$(a)??S$(t);switch(rn(n,"Reason",s),e){case"bash":case"shell_command":{if(i){rn(n,"Intent",h$(i)),rn(n,"Scope",c);let l=w$(a),d=l.length>0?l:g$(i);d.length>0&&rn(n,"Risk",d.join("; ")),rn(n,"Summary",iI(i))}else rn(n,"Scope",c);return ea(e==="bash"?te("tool.bash.title"):te("tool.shell.title"),n)}case"write":return rn(n,"Intent",te("intent.write_file")),rn(n,"Target",r),rn(n,"Scope",c),ea(te("tool.write.title"),n);case"edit":return rn(n,"Intent",te("intent.edit_file")),rn(n,"Target",r),rn(n,"Scope",c),ea(te("tool.edit.title"),n);default:return rn(n,"Intent",te("intent.use_tool",{tool:e})),rn(n,"Target",r),rn(n,"Scope",c),i&&rn(n,"Summary",iI(i)),ea(te("tool.generic.title",{tool:e}),n)}}o(Sf,"buildToolConfirmationDisplay");function lI(e,t){let n=Sf(e,t);return n.details.length>0?`${n.title}
|
|
77
|
-
${n.details.join(`
|
|
78
|
-
`)}`:n.title}o(lI,"buildToolConfirmationPrompt");function uI(e,t=240){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(uI,"truncateToolPreview");function dI(e,t=800){let n=e.trim();return n?n.length>t?`${n.slice(0,t-3)}...`:n:""}o(dI,"truncateToolOutputPreview");function tg(e){return e.replace(/^\[[^\]]+\]\s+/,"").replace(/^[A-Za-z][A-Za-z0-9_-]*:\s*/,"").trim()}o(tg,"stripToolRolePrefix");function ng(e){return tg(e).toLowerCase()}o(ng,"normalizeToolNameForMatch");function rg(e){return e===`[${te("managed.completed")}]`||e===`[${te("managed.completed.blocked")}]`||e===`[${te("managed.completed.continuation")}]`}o(rg,"isCompletionTranscriptItem");function wf(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(wf,"formatManagedLiveActivityLabel");function Zr(e,t){return wf(`[Tools] ${_d(e)}`,t)??`[Tools] ${_d(e)}`}o(Zr,"formatManagedLiveToolLabel");function Tf(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(Tf,"areManagedLiveItemsEquivalent");function fI(e){return e==="Task completed"?te("managed.completed"):e==="Task needs continuation"?te("managed.completed.continuation"):e==="Task ended: blocked"?te("managed.completed.blocked"):e==="Task ended: needs_continuation"?te("managed.completed.continuation"):e.startsWith("Task ended:")?te("managed.completed.blocked"):e}o(fI,"localizeManagedCompletionSummary");function pI(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(pI,"mergeLiveThinkingContent");function ta(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(ta,"formatManagedTaskBreadcrumb");var mI=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1";function hI(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&&!mI)return r;let p=f?`[${fI(s)}]`:void 0,m=p??s,g=p??a;return r.push({item:{id:c,type:"event",timestamp:l,text:g,icon:i.kind==="warning"?"!":f?"\u2713":">",...m!==g?{compactText:m}:{}},persistToHistory:d}),r},[]);if(e.phase==="completed"&&!mI)return[];let t=ta(e),n=ta(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(hI,"buildManagedLiveEventDrafts");function I$(e,t){return!(t||e.role!=="evaluator"||e.signal!=="COMPLETE")}o(I$,"shouldFilterSidecarAcceptEntry");function og(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()??"",g=f.output?.trim()??"",S=p.includes("Orchestration cancelled"),w=m.includes("Orchestration cancelled"),I=!g||m==="No textual output produced.";return f.status!=="completed"&&(S||w||I)||(S||w)&&I},"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=>!I$(f,r)).filter(f=>e.interrupted||!(f.assignmentId===a&&(f.round??1)===c)).map(f=>{let p=f.output?.trim()??"",m=f.summary?.trim()??"",g=p?hs(p):"",S=m?hs(m):"",w=f.role==="scout"?S?`Scout completed: ${S}`:"Scout completed.":S;return{entry:f,text:S||g||w}}).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"?te("managed.completed"):n.verdict.disposition==="needs_continuation"?te("managed.completed.continuation"):n.verdict.disposition==="blocked"?te("managed.completed.blocked"):void 0;return[...l,...d?[`[${d}]`]:[]]}o(og,"buildManagedTaskTranscriptItems");function gI(e){let r=e.slice(0,400).match(new RegExp("\\*\\*([^*\\n]{1,80}?)\\*\\*"))?.[1]?.trim();return r?{header:r}:{}}o(gI,"extractBoldHeader");var ig=[" \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 Xe from"chalk";var Cf=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 ")}},Ar=o(()=>Cf.getInstance(),"getShortcutsRegistry");var na=[{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 b$,useCallback as v$,useRef as k$}from"react";function eo(e,t,n={}){let{context:r,isActive:i=!0}=n,s=Ar(),a=k$(t);a.current=t,b$(()=>(s.setHandler(e,d=>a.current(d)),()=>{s.setHandler(e,void 0)}),[s,e]);let c=v$(d=>{if(!i)return!1;let p=s.getAllShortcuts().find(w=>w.definition.id===e);if(!p)return!1;let m=r??p.definition.context,g=m==="global"?"input":m,S=s.findMatchingShortcut(d,g);return S&&S.definition.id===e?a.current(d)===!0:!1},[s,e,i,r]),l=R$(e,s);An(c,{isActive:i,priority:l})}o(eo,"useShortcut");function R$(e,t){let r=t.getAllShortcuts().find(i=>i.definition.id===e);return r?r.definition.priority:0}o(R$,"getShortcutPriority");import E$,{createContext as M$,useContext as A$,useState as yI,useCallback as sg}from"react";var xI=M$(null);function ag({children:e,initialContext:t="input"}){let[n,r]=yI(!1),[i,s]=yI(t);Ar().registerAll(na);let c=sg(()=>{r(p=>!p)},[]),l=sg(()=>{let m=Ar().getAllShortcuts(),g={global:[],mode:[],navigation:[],editing:[]};for(let S of m){let w=S.definition.category;g[w]||(g[w]=[]),g[w].push(S)}return g},[]),d=sg(()=>Ar().getShortcutsByContext(i),[i]),f={showHelp:n,toggleHelp:c,setShowHelp:r,currentContext:i,setCurrentContext:s,getShortcutsByCategory:l,getContextShortcuts:d};return E$.createElement(xI.Provider,{value:f},e)}o(ag,"ShortcutsProvider");function cg(){let e=A$(xI);if(!e)throw new Error("useShortcutsContext must be used within a ShortcutsProvider");return e}o(cg,"useShortcutsContext");import _$ from"chalk";var SI={off:0,minimal:1,low:2,medium:3,high:4,xhigh:5,max:6,auto:7};function L$(e,t){let n=e.indexOf(t);if(n!==-1)return n;let r=SI[t];if(r===void 0)return-1;let i=-1,s=-1;for(let a=0;a<e.length;a++){let c=SI[e[a]];c===void 0||c>r||c>s&&(s=c,i=a)}return i}o(L$,"nearestCycleIndex");function lg({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:g,canOpenTranscriptSearch:S=!0,isInteractiveDialogActive:w=!1,onSetAgentMode:I,onSetPermissionMode:T,isInputEmpty:v,onSavePermissionMode:A}){let D=o(N=>N?.name?.toLowerCase()==="c"&&N.ctrl===!0,"isCtrlCInterrupt");return eo("interrupt",N=>D(N)&&n?(r(),i(),s(),a(void 0),c(!1),console.log(_$.yellow(`
|
|
80
|
-
[Interrupted]`)),!0):!1,{isActive:n}),eo("showHelp",()=>w?!1:v?(l(),!0):!1,{isActive:v}),eo("toggleThinking",()=>{if(w)return!1;let N=ES(e.provider,e.model);if(N.length===0)return!1;let O=e.permissionMode==="plan"&&!e.effortOverride&&e.planModeEffort!==void 0?e.planModeEffort:e.effortOverride?e.effort:void 0,Y=L$(N,O===void 0||O==="auto"?"auto":O==="none"?"off":O),re=N[(Y+1)%N.length]??N[0],me=re==="auto"?void 0:re==="off"?"none":re,ue=re!=="auto",y=re!=="off",P=re==="off"?"off":"auto";return t(C=>({...C,effort:me,effortOverride:ue,thinking:y,reasoningMode:P})),fs({effort:me,thinking:y,reasoningMode:P}),p?.(P),f?.(y),d(!1),!0}),eo("toggleTranscriptMode",()=>w?!1:(m?.(),d(!1),!0)),eo("openTranscriptSearch",()=>w||!S?!1:(g?.(),d(!1),!0)),eo("togglePermissionMode",()=>{if(w)return!1;let N=["plan","accept-edits","auto"],O=e.permissionMode==="auto-in-project"?"auto":e.permissionMode,Y=(N.indexOf(O)+1)%N.length,re=N[Y];return t(me=>({...me,permissionMode:re})),T?.(re),A?.(re),d(!1),!0}),eo("toggleAgentMode",()=>{if(w)return!1;let N=LS(e.agentMode);return t(O=>({...O,agentMode:N})),fs({agentMode:N}),I?.(N),d(!1),!0}),null}o(lg,"GlobalShortcuts");import{exec as P$}from"child_process";import{promisify as $$}from"util";var O$=$$(P$),D$={read:"read",grep:"grep",glob:"glob",write:"write",edit:"edit",bash:"bash",undo:"undo",askuserquestion:"ask-user-question",askuser:"ask-user-question"};function wI(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(wI,"splitTopLevelCommaList");function N$(e){if(!e?.trim())return{configured:!1,rules:[],invalidEntries:[]};let t=[];return{configured:!0,rules:wI(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=D$[i[1].replace(/[^a-z]/gi,"").toLowerCase()];if(!s){t.push(r);return}let a=i[2]?wI(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(N$,"parseAllowedTools");function B$(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${t}$`,"i")}o(B$,"wildcardToRegExp");function TI(e,t){return B$(e).test(t)}o(TI,"matchesPattern");function CI(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=>TI(a,i)))}o(CI,"isToolAllowed");function H$(e,t){return e.matcher?TI(e.matcher,t):!0}o(H$,"hookMatches");function W$(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(W$,"formatManualOutput");function F$(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(F$,"resolveModelOverride");async function j$(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(!CI(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 O$(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(j$,"executeHookCommand");async function ra(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(!H$(d,n))continue;let f=await j$(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(ra,"runHooks");async function If(e,t,n,r){if(t.disableModelInvocation)return{mode:"manual",manualOutput:W$(t),finalize:o(async()=>{},"finalize")};let i=e.events??{},s=N$(t.allowedTools),a=F$(e.provider,t.model),c=!1,l=o(async I=>{if(r(I),!(c||!t.hooks?.Notification?.length)){c=!0;try{await ra(t.hooks,"Notification",I,{displayName:t.displayName,source:t.source,path:t.path,message:I},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 ra(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 ra(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(I=>typeof I=="string"&&I.trim().length>0),m=[p.length>0?p.join(`
|
|
84
|
-
|
|
85
|
-
`):void 0,t.prompt,`User request: ${n}`].filter(I=>typeof I=="string"&&I.trim().length>0),g={...i,beforeToolExecute:o(async(I,T,v)=>CI(s,I,T)?(await ra(t.hooks,"PreToolUse",I,{tool:I,input:T,displayName:t.displayName,source:t.source,path:t.path},l,i,s)).allow===!1?(await l(`[Blocked] PreToolUse hook blocked '${I}' for ${t.displayName}`),!1):i.beforeToolExecute?await i.beforeToolExecute(I,T,v):!0:(await l(`[Blocked] Tool '${I}' is not allowed by ${t.displayName}`),!1),"beforeToolExecute"),onToolResult:o((I,T)=>{i.onToolResult?.(I,T),ra(t.hooks,"PostToolUse",I.name,{...I,displayName:t.displayName,source:t.source,path:t.path},l,i,s)},"onToolResult")},S=!1,w=o(async I=>{S||(S=!0,await ra(t.hooks,t.context==="fork"?"SubagentStop":"Stop",t.displayName,{displayName:t.displayName,source:t.source,path:t.path,error:I?.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:g},finalize:w}}o(If,"prepareInvocationExecution");import{appendFileSync as U$,mkdirSync as G$,writeFileSync as V$}from"node:fs";import{join as bI}from"node:path";import II from"node:v8";var fg=parseInt(process.env.KODAX_MEMORY_DIAG??"0",10),pg=fg>=1,mg=tS(),vI=bI(mg,"memory-diag.log"),ug=0,dg=!1;function kI(){if(!dg)try{G$(mg,{recursive:!0}),dg=!0}catch{dg=!0}}o(kI,"ensureLogDir");function K$(e){kI();try{U$(vI,e+`
|
|
88
|
-
`)}catch{}}o(K$,"writeLog");function kt(e){return`${(e/1024/1024).toFixed(2)}MB`}o(kt,"formatMB");function z$(){return typeof globalThis.gc=="function"?(globalThis.gc(),!0):!1}o(z$,"tryGC");function Ht(e){return e?e.length*2:0}o(Ht,"strBytes");function wi(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+=wi(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+=wi(i,t+1);return n}return 16}o(wi,"estimateJsonBytes");function RI(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+=RI(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+=wi(t.input));for(let[i,s]of Object.entries(t))r.has(i)||(n+=i.length*2+wi(s));return n}o(RI,"estimateBlockBytes");function hg(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+=RI(n);return t}return 200}o(hg,"estimateMessageBytes");function bf(e){let t=128;switch(t+=Ht(e.id)+Ht(e.parentId??void 0)+Ht(e.timestamp),e.type){case"message":return t+hg(e.message);case"compaction":return t+=Ht(e.summary),t+=Ht(e.firstKeptEntryId),t+=Ht(e.reason),t+=Ht(e.artifactLedgerId),e.details!==void 0&&(t+=wi(e.details)),e.memorySeed!==void 0&&(t+=wi(e.memorySeed)),t;case"branch_summary":return t+=Ht(e.summary),t+=Ht(e.fromId),e.details!==void 0&&(t+=wi(e.details)),t;case"label":return t+=Ht(e.targetId),t+=Ht(e.label),t;case"archive_marker":return t+=Ht(e.archiveBatchId),t+=Ht(e.summary),t+=8,t;default:return t}}o(bf,"estimateEntryBytes");function Y$(e){let t={},n=[];for(let i=0;i<e.length;i++){let s=e[i],a=hg(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(Y$,"buildMessageBreakdown");function vf(){return pg}o(vf,"memDiagEnabled");function kf(e,t){if(!pg)return;e==="turn-start"&&ug++;let n=process.memoryUsage(),r=new Date().toISOString(),i=t.biggestMessages,s=["",`\u2550\u2550\u2550 [MEMDIAG] turn=${ug} phase=${e} @${r} \u2550\u2550\u2550`,` V8 heap: used=${kt(n.heapUsed)} total=${kt(n.heapTotal)} rss=${kt(n.rss)} ext=${kt(n.external)}`," \u2500\u2500 Data breakdown \u2500\u2500",` context.messages: ${t.messageCount} msgs, ${kt(t.messageBytes)}`,` lineage.entries: ${t.lineageEntryCount} total (msg=${t.lineageMessageEntryCount}, compact=${t.lineageCompactionCount}, branch=${t.lineageBranchSummaryCount}, label=${t.lineageLabelCount}, archive=${t.lineageArchiveMarkerCount})`,` lineage non-message: ${kt(t.lineageNonMessageBytes)} (compaction.details/memorySeed + branch_summary payloads)`,` lineage orphan messages: ${t.lineageOrphanMessageCount} msgs, ${kt(t.lineageOrphanMessageBytes)} (in lineage but not in context.messages \u2014 branches/pruned)`,` UI history: ${t.historyItemCount} items, ${kt(t.historyTextBytes)}`,` foreground turn: ${t.foregroundItemCount} items, ${kt(t.foregroundTextBytes)}`,` streaming response: ${kt(t.streamingResponseBytes)}`,` streaming thinking: ${kt(t.streamingThinkingBytes)}`,` persisted UI history: ${t.persistedUiHistoryCount} items, ${kt(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} ${kt(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=II.getHeapSpaceStatistics();for(let d of c)d.space_used_size>1024*1024&&s.push(` ${d.space_name.padEnd(25)} used=${kt(d.space_used_size)} allocated=${kt(d.space_size)}`);if(s.push(" \u2500\u2500 Summary \u2500\u2500"),s.push(` tracked data total: ${kt(a)}`),s.push(` V8 heap used: ${kt(n.heapUsed)}`),s.push(` unaccounted (overhead): ${kt(n.heapUsed-a)}`),s.push(" (React/Ink tree, provider SDK buffers, module metadata,"),s.push(' tokenizer caches, source maps \u2014 see "Blind spots" note)'),z$()){let d=process.memoryUsage();s.push(` after forced GC: heap=${kt(d.heapUsed)} (freed ${kt(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(fg>=2)try{let d=bI(mg,`heap-turn${ug}-${e}.heapsnapshot`);II.writeHeapSnapshot(d),s.push(` heap snapshot: ${d}`)}catch{s.push(" heap snapshot: FAILED")}K$(s.join(`
|
|
89
|
-
`))}o(kf,"memDiagSnapshot");function Rf(e,t,n){let r=Y$(e),i=new Set(e),s=0,a=0,c=0,l=0,d=0,f=0,p=0,m=0,g=t?.entries??[];for(let T of g)switch(T.type){case"message":m++,i.has(T.message)||(c++,a+=hg(T.message));break;case"compaction":l++,s+=bf(T);break;case"branch_summary":d++,s+=bf(T);break;case"label":f++,s+=bf(T);break;case"archive_marker":p++,s+=bf(T);break}let S=0;for(let T of n.historyItems)S+=Ht(T.text);let w=0;for(let T of n.foregroundItems)w+=Ht(T.text);let I=0;for(let T of n.persistedUiHistory)I+=Ht(T.text);return{messageCount:e.length,messageBytes:r.totalBytes,biggestMessages:r.biggest,lineageEntryCount:g.length,lineageMessageEntryCount:m,lineageCompactionCount:l,lineageBranchSummaryCount:d,lineageLabelCount:f,lineageArchiveMarkerCount:p,lineageNonMessageBytes:s,lineageOrphanMessageBytes:a,lineageOrphanMessageCount:c,historyItemCount:n.historyItems.length,historyTextBytes:S,foregroundItemCount:n.foregroundItems.length,foregroundTextBytes:w,streamingResponseBytes:Ht(n.streamingResponse),streamingThinkingBytes:Ht(n.streamingThinking),persistedUiHistoryCount:n.persistedUiHistory.length,persistedUiHistoryBytes:I}}o(Rf,"buildMemDiagBreakdown");function EI(){if(pg){kI();try{let e=typeof globalThis.gc=="function",t=[`[MEMDIAG] Session started at ${new Date().toISOString()}`,`[MEMDIAG] Level=${fg} 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
|
-
`);V$(vI,t+`
|
|
91
|
-
`)}catch{}}}o(EI,"memDiagReset");import X$ from"node:fs";import yg from"node:path";var q$={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},J$=/@(?:"([^"]+)"|'([^']+)'|([^\s]+))/g;function Q$(e){return q$[yg.extname(e).toLowerCase()]}o(Q$,"resolveImageMediaType");var gg="[Image unavailable]";function Z$(e){return""}o(Z$,"buildImageAnchor");function oa(e,t){let n=[],r=[],i=new Set,s=new Map,a=new Set,c=[],l=0;for(let f of e.matchAll(J$)){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 g=Q$(m);if(!g){c.push(f[0]),l=p+f[0].length;continue}let S=yg.resolve(t,m);try{if(!X$.statSync(S).isFile()){a.has(S)||(r.push(`[Image input skipped] ${m} is not a file.`),a.add(S)),c.push(gg),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(gg),l=p+f[0].length;continue}if(!i.has(S)){i.add(S);let w=Z$(n.length+1);s.set(S,w),n.push({kind:"image",path:S,mediaType:g,source:"user-inline",description:`Attached image ${yg.basename(S)}`})}c.push(s.get(S)??gg),l=p+f[0].length}c.push(e.slice(l));let d=c.join("");return{promptText:d,messageContent:hS(d,n),inputArtifacts:n,warnings:r}}o(oa,"preparePromptInputArtifacts");function MI(e){let t=eO(e.stage),n=tO(e);return{type:"info",icon:"\u{1F4E1}",text:n?`[RepoIntel] ${t} \xB7 ${n}`:`[RepoIntel] ${t}`,tightSpacing:!0}}o(MI,"createRepoIntelTraceHistoryItem");function eO(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(eO,"stageDisplayName");function tO(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(`${nO(r.capsuleEstimatedTokens)} tokens`)),t.length===0&&e.summary?rO(e.summary):t.join(" \xB7 ")}o(tO,"buildRepoIntelDetailLine");function nO(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}o(nO,"formatTokens");function rO(e){return e.replace(/^stage=[^|]+\|\s*/,"").trim()}o(rO,"stripSummaryStagePrefix");function AI(e,t,n,r){let i=e?.gitRoot??t??void 0,s=e?.executionCwd??i??process.cwd();return{...e,gitRoot:i,executionCwd:s,contextTokenSnapshot:n,taskSurface:"repl",skillsPrompt:r}}o(AI,"buildManagedRunContext");var oO=["global","mode","navigation","editing"],iO={global:["showHelp","interrupt"],mode:["toggleThinking","toggleTranscriptMode","togglePermissionMode","toggleAgentMode"],navigation:["openTranscriptSearch","historyUp","historyDown","moveToStart","moveToEnd"],editing:["acceptCompletion","cancelInput","newline","killLineRight","killLineLeft","deleteWordLeft"]},sO={global:"Global",mode:"Modes",navigation:"Navigation",editing:"Editing"},aO={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 cO(e){let t=Ar(),n=t.getAllShortcuts().find(i=>i.definition.id===e);if(n?.effectiveBindings?.length)return t.formatBindings(n.effectiveBindings);let r=na.find(i=>i.id===e);if(r?.defaultBindings?.length)return t.formatBindings(r.defaultBindings)}o(cO,"resolveShortcutBindingLabel");function lO(e){return`${cO(e.id)??e.id} ${e.name}`}o(lO,"buildMenuItemLabel");function uO(e){return Ar().getAllShortcuts().find(r=>r.definition.id===e)?.definition??na.find(r=>r.id===e)}o(uO,"resolveShortcutDefinition");function Ef(){return[...oO.map(t=>{let n=iO[t].map(r=>uO(r)).filter(r=>!!r).map(r=>({id:r.id,label:lO(r)}));return{id:t,title:sO[t],items:n}}).filter(t=>t.items.length>0),aO]}o(Ef,"buildHelpMenuSections");var xg=2,_I=1,LI=4;function ct(e,t){let n=hn(e.length>0?e.split(`
|
|
92
|
-
`):[""],Math.max(1,t),0,0);return Math.max(1,n.visualLines.length)}o(ct,"wrapLineCount");function dO(e,t,n=">"){let r=n.length+1,i=Math.max(20,t-r),s=hn(e.length>0?e.split(`
|
|
93
|
-
`):[""],i,0,0);return Math.max(1,s.visualLines.length)+2}o(dO,"calculateInputPromptRows");function PI(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:g,suggestionsMode:S="inline",showHelp:w,statusBarText:I,confirmPrompt:T,confirmInstruction:v,uiRequest:A,dialogMode:D="inline",historySearch:N,maxVisibleSelectOptions:O=5,reviewHint:G,todoSurfaceRows:Y=0,workflowSurfaceRows:re=0,childActivitySurfaceRows:me=0,activityBarVisible:ue=!1}=e,y=Math.max(0,Math.floor(Y)),P=Math.max(0,Math.floor(re)),C=Math.max(0,Math.floor(me)),ce=a?ct(a,Math.max(1,n-2)):0,Me=c?ct(c,Math.max(1,n-2)):0,oe=ue?1:Me,X=l?ct(l,Math.max(1,n-2)):0,de=d?ct(d,Math.max(1,n-2)):0,ke=f?ct(f,Math.max(1,n-2)):0,De=p?ct(p,Math.max(1,n-2)):0,W=m?ct(m,Math.max(1,n-2)):0,le=dO(i,n,s),q=g?8:0,Be=w?_I+LI+Ef().reduce((qe,_t)=>qe+ct(_t.title,Math.max(1,n-xg))+ct(_t.items.map(qt=>qt.label).join(" | "),Math.max(1,n-xg)),0):0,pt=ct(I,Math.max(1,n-2)),ge=0;if(T&&v){let qe=Math.max(1,n-4);ge=3+ct(`[Confirm] ${T}`,qe)+ct(v,qe)}let Pe=0,Ct=0;if(A){let qe=Math.max(1,n-4);A.kind==="select"?(Ct=Math.min(O,A.options.length),Pe=3+ct(`[Select] ${A.title}`,qe)+A.options.slice(0,Ct).reduce((_t,qt,dn)=>_t+ct(`${dn+1}. ${qt.label}${qt.description?` - ${qt.description}`:""}`,qe),0)+(A.options.length>Ct?2:0)+ct(`Choice: ${A.buffer||"(type a number)"}`,qe)+1+(A.error?ct(A.error,qe):0)):Pe=3+ct(`[Input] ${A.prompt}`,qe)+(A.defaultValue!==void 0?ct(`Default: ${A.defaultValue}`,qe):0)+ct(`Value: ${A.buffer||"(type your response)"}`,qe)+1+(A.error?ct(A.error,qe):0)}let It=0;if(N){let qe=Math.max(1,n-4);It=3+ct(`Query: ${N.query||"(type to search)"}`,qe)+(N.matchCount===0?ct("No matches yet",qe):ct(`${Math.max(1,N.matchCount)} matches`,qe)+ct(N.selectedExcerpt||"",qe))+1}let Q=G?ct(G,Math.max(1,n-2)):0,F=ce+oe+P+y+C+X+de+ke+le+Be+De+Q+(S==="inline"?q:0)+(D==="inline"?ge+Pe+It:0),we=(S==="overlay"?q:0)+(D==="overlay"?ge+Pe+It:0),Ke=F+W+pt,ze=Math.max(1,t-Ke);return{messageRows:ze,reservedBottomRows:Ke,headerRows:ce,activityRows:oe,pendingInputRows:X,stashNoticeRows:de,notificationRows:ke,workStripRows:W,inputRows:le,suggestionsRows:q,helpRows:Be,statusNoticeRows:De,statusRows:pt,confirmRows:ge,uiRequestRows:Pe,historySearchRows:It,footerRows:F,overlayRows:we,visibleSelectOptions:Ct,reviewHintRows:Q,todoSurfaceRows:y,workflowSurfaceRows:P,childActivitySurfaceRows:C,slots:[{name:"transcript",rows:ze},{name:"footer",rows:F},{name:"overlay",rows:we},{name:"status",rows:pt},{name:"task-bar",rows:W}]}}o(PI,"calculateViewportBudget");function $I(e,t={}){let n=bs(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($I,"createTranscriptDisplayState");function OI(e){return{...e,surface:"transcript",jumpToLatestAvailable:e.pendingLiveUpdates>0}}o(OI,"enterTranscriptMode");function DI(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(DI,"exitTranscriptMode");function NI(e,t){let n=Math.max(0,t);return{...e,pendingLiveUpdates:n,jumpToLatestAvailable:e.surface==="transcript"?n>0:e.scrollAnchor>0}}o(NI,"setTranscriptPendingLiveUpdates");function BI(e,t){let n=Math.max(0,t);return{...e,scrollAnchor:n,jumpToLatestAvailable:e.surface==="transcript"?e.pendingLiveUpdates>0:n>0}}o(BI,"setTranscriptScrollAnchor");function HI(e){return{...e,surface:"prompt",scrollAnchor:0,jumpToLatestAvailable:!1,selectionMode:"none",selectedItemId:void 0,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0,pendingLiveUpdates:0}}o(HI,"jumpTranscriptToLatest");function WI(e,t){return{...e,stickyPromptVisible:t}}o(WI,"setTranscriptStickyPromptVisible");function ia(e,t){return{...e,selectedItemId:t,selectionMode:t?"message":"none"}}o(ia,"setTranscriptSelectedItem");function FI(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(FI,"openTranscriptSearch");function jI(e){return{...e,searchMode:"closed",searchAnchorItemId:void 0,currentMatchIndex:0}}o(jI,"closeTranscriptSearch");function UI(e,t){return{...e,currentMatchIndex:Math.max(-1,t)}}o(UI,"setTranscriptSearchMatchIndex");function GI(e){return e.supportsFullscreenLayout&&e.ownsViewportByDefault}o(GI,"shouldWindowTranscript");function VI(e){return e.surface==="transcript"}o(VI,"shouldPauseLiveTranscript");function Sg(e){return e.supportsSelection}o(Sg,"ownsTranscriptSelectionPath");function Mf(e,t,n){if(!(!Sg(e)||!n))return t.includes(n)?n:void 0}o(Mf,"resolveTranscriptSelectedItemId");function KI(e){return e.supportsSelection&&e.supportsCopyOnSelect}o(KI,"supportsPassiveTranscriptCopyOnSelect");function zI(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(zI,"buildTranscriptBrowseHint");var YI="Slash commands cannot be queued mid-task. Press Esc twice or Ctrl+C to abort the current task, then run the command.",XI="slash-guard";function qI(e){return e.trimStart().startsWith("/")}o(qI,"isSlashCommandText");var fO=`
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
`;async function JI(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(fO),await s?.(l),d=await n(l)}}o(JI,"runQueuedPromptSequence");function ZI(e){return e.itemsLength>0||e.currentResponse.length>0||e.thinkingContent.length>0||e.activeToolCallsLength>0}o(ZI,"hasTranscriptInputActivity");function pO(e){return e.keyName==="mouse"&&e.hasMouse&&e.usesManagedMouseClicks&&e.supportsMouseTracking&&e.usesRendererMouseTracking}o(pO,"shouldHandleManagedTranscriptMouse");function QI(e){return e.usesManagedMouseWheel&&e.supportsWheelHistory&&e.hasTranscript}o(QI,"shouldHandleManagedTranscriptWheel");function eb(e){if(pO({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"?QI({usesManagedMouseWheel:e.usesManagedMouseWheel,supportsWheelHistory:e.supportsWheelHistory,hasTranscript:e.hasTranscript})?{kind:"scroll-by",delta:e.reviewWheelStep}:{kind:"none"}:e.keyName==="wheeldown"?QI({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(eb,"resolveTranscriptPointerAction");function tb(e){return e.isTranscriptMode&&e.hasTextSelection}o(tb,"shouldDeferInterruptToTranscriptSelectionCopy");function nb(e){return e.hasActiveWorkflow?e.ctrl&&e.keyName==="c"?!tb({isTranscriptMode:e.isTranscriptMode,hasTextSelection:e.hasTranscriptTextSelection}):e.keyName!=="escape"||e.isTranscriptMode||e.isAwaitingUserInteraction?!1:e.isDoubleEscape&&e.isInputEmpty&&e.pendingInputCount===0:!1}o(nb,"shouldStopWorkflowFromInterruptKey");function rb(e){return e.ctrl&&e.keyName==="c"?tb({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(rb,"resolveStreamingInterruptAction");function ob(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(ob,"resolveTranscriptKeyboardAction");function ib(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(ib,"executeTranscriptKeyboardAction");function Lo(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(Lo,"stripAnsi");function mO(e){return e.tools.map(n=>`tool: ${n.name}`).join(`
|
|
98
|
-
`)}o(mO,"serializeToolGroup");function hO(e){switch(e.type){case"thinking":return null;case"user":return`user: ${Lo(e.text)}`;case"assistant":return`assistant: ${Lo(e.text)}`;case"system":return`system: ${Lo(e.text)}`;case"info":return`info: ${Lo(e.text)}`;case"error":return`error: ${Lo(e.text)}`;case"event":return`event: ${Lo(e.text)}`;case"hint":return`hint: ${Lo(e.text)}`;case"sidecar":return`sidecar: ${Lo(e.text)}`;case"tool_group":return mO(e);default:return e}}o(hO,"serializeOne");function gO(e){let t=[];for(let n of e){let r=hO(n);r!==null&&r!==""&&t.push(r)}return t.join(`
|
|
99
|
-
|
|
100
|
-
`)}o(gO,"serializeTranscriptForScrollback");function sb(e){let{items:t,writeToScrollback:n,exitAltScreen:r,enterAltScreen:i}=e,s=gO(t);r(),s.length>0&&n(`${s}
|
|
101
|
-
`),i()}o(sb,"dumpTranscriptToNativeScrollback");var sa={committed:[],width:0,hasBanner:!1};function ab(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(ab,"planInlineScrollback");import{jsx as Lb}from"react/jsx-runtime";import lD from"yoga-layout";import{LegacyRoot as uD}from"react-reconciler/constants.js";import UO from"react-reconciler";import{DefaultEventPriority as GO,NoEventPriority as bb}from"react-reconciler/constants.js";import*as Po from"scheduler";import wb from"yoga-layout";import{createContext as VO}from"react";import _O from"yoga-layout";import yO from"widest-line";var cb=new Map,xO=o(e=>{if(e.length===0)return{width:0,height:0};let t=cb.get(e);if(t)return t;let n=yO(e),r=e.split(`
|
|
102
|
-
`).length,i={width:n,height:r};return cb.set(e,i),i},"measureText"),wg=xO;import SO from"wrap-ansi";import wO from"cli-truncate";var lb={},TO=o((e,t,n)=>{let r=e+String(t)+String(n),i=lb[r];if(i)return i;let s=e;if(n==="wrap"&&(s=SO(e,t,{trim:!1,hard:!0})),n.startsWith("truncate")){let a="end";n==="truncate-middle"&&(a="middle"),n==="truncate-start"&&(a="start"),s=wO(e,t,{position:a})}return lb[r]=s,s},"wrapText"),Af=TO;var CO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=63},"isCsiParameterCharacter"),IO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isCsiIntermediateCharacter"),bO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=64&&t<=126},"isCsiFinalCharacter"),fb=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=32&&t<=47},"isEscapeIntermediateCharacter"),vO=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=48&&t<=126},"isEscapeFinalCharacter"),pb=o(e=>{let t=e.codePointAt(0);return t!==void 0&&t>=128&&t<=159},"isC1ControlCharacter"),ub=o((e,t)=>{let n=t;for(;n<e.length;){let c=e[n];if(!CO(c))break;n++}let r=e.slice(t,n),i=n;for(;n<e.length;){let c=e[n];if(!IO(c))break;n++}let s=e.slice(i,n),a=e[n];if(!(a===void 0||!bO(a)))return{endIndex:n+1,parameterString:r,intermediateString:s,finalCharacter:a}},"readCsiSequence"),db=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"),kO=o((e,t)=>{let n=t;for(;n<e.length;){let s=e[n];if(!fb(s))break;n++}let r=e.slice(t,n),i=e[n];if(!(i===void 0||!vO(i)))return{endIndex:n+1,intermediateString:r,finalCharacter:i}},"readEscapeSequence"),RO=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"),EO=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"),Tg=o(e=>{if(e.includes("\x1B"))return!0;for(let t of e)if(pb(t))return!0;return!1},"hasAnsiControlCharacters"),aa=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"),mb=o(e=>{if(!Tg(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 aa(t,e,n,r);if(a==="["){let d=ub(e,r+2);if(d===void 0)return aa(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=RO(a);if(c!==void 0){let d=db(e,r+2,c.allowBellTerminator);if(d===void 0)return aa(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=kO(e,r+1);if(l===void 0){if(fb(a))return aa(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=ub(e,r+1);if(a===void 0)return aa(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=EO(i);if(s!==void 0){let a=db(e,r+1,s.allowBellTerminator);if(a===void 0)return aa(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(pb(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 MO=/^[\d:;]*$/,AO=o(e=>{if(!Tg(e))return e;let t="";for(let n of mb(e)){if(n.type==="text"||n.type==="osc"){t+=n.value;continue}n.type==="csi"&&n.finalCharacter==="m"&&n.intermediateString===""&&MO.test(n.parameterString)&&(t+=n.value)}return t},"sanitizeAnsi"),hb=AO;var gb=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=gb(r)),i.length>0&&typeof r.internal_transform=="function"&&(i=r.internal_transform(i,n))),t+=i}return hb(t)},"squashTextNodes"),Zc=gb;var _f=o(e=>{let t={nodeName:e,style:{},attributes:{},childNodes:[],parentNode:void 0,yogaNode:e==="ink-virtual-text"?void 0:_O.Node.create(),internal_accessibility:{}};return e==="ink-text"&&t.yogaNode?.setMeasureFunc(LO.bind(null,t)),t},"createNode"),Lf=o((e,t)=>{t.parentNode&&el(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")&&Pf(e)},"appendChildNode"),Cg=o((e,t,n)=>{t.parentNode&&el(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")&&Pf(e)},"insertBeforeNode"),el=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")&&Pf(e)},"removeChildNode"),Ig=o((e,t,n)=>{if(t==="internal_accessibility"){e.internal_accessibility=n;return}e.attributes[t]=n},"setAttribute"),bg=o((e,t)=>{e.style=t},"setStyle"),yb=o(e=>{let t={nodeName:"#text",nodeValue:e,yogaNode:void 0,parentNode:void 0,style:{}};return tl(t,e),t},"createTextNode"),LO=o(function(e,t){let n=e.nodeName==="#text"?e.nodeValue:Zc(e),r=wg(n);if(r.width<=t||r.width>=1&&t>0&&t<1)return r;let i=e.style?.textWrap??"wrap",s=Af(n,t,i);return wg(s)},"measureTextNode"),xb=o(e=>{if(e?.parentNode)return e.yogaNode??xb(e.parentNode)},"findClosestYogaNode"),Pf=o(e=>{xb(e)?.markDirty()},"markNodeAsDirty"),tl=o((e,t)=>{typeof t!="string"&&(t=String(t)),e.nodeValue=t,Pf(e)},"setTextNodeValue");import ve from"yoga-layout";var PO=o((e,t)=>{"position"in t&&e.setPositionType(t.position==="absolute"?ve.POSITION_TYPE_ABSOLUTE:ve.POSITION_TYPE_RELATIVE)},"applyPositionStyles"),$O=o((e,t)=>{"margin"in t&&e.setMargin(ve.EDGE_ALL,t.margin??0),"marginX"in t&&e.setMargin(ve.EDGE_HORIZONTAL,t.marginX??0),"marginY"in t&&e.setMargin(ve.EDGE_VERTICAL,t.marginY??0),"marginLeft"in t&&e.setMargin(ve.EDGE_START,t.marginLeft||0),"marginRight"in t&&e.setMargin(ve.EDGE_END,t.marginRight||0),"marginTop"in t&&e.setMargin(ve.EDGE_TOP,t.marginTop||0),"marginBottom"in t&&e.setMargin(ve.EDGE_BOTTOM,t.marginBottom||0)},"applyMarginStyles"),OO=o((e,t)=>{"padding"in t&&e.setPadding(ve.EDGE_ALL,t.padding??0),"paddingX"in t&&e.setPadding(ve.EDGE_HORIZONTAL,t.paddingX??0),"paddingY"in t&&e.setPadding(ve.EDGE_VERTICAL,t.paddingY??0),"paddingLeft"in t&&e.setPadding(ve.EDGE_LEFT,t.paddingLeft||0),"paddingRight"in t&&e.setPadding(ve.EDGE_RIGHT,t.paddingRight||0),"paddingTop"in t&&e.setPadding(ve.EDGE_TOP,t.paddingTop||0),"paddingBottom"in t&&e.setPadding(ve.EDGE_BOTTOM,t.paddingBottom||0)},"applyPaddingStyles"),DO=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(ve.WRAP_NO_WRAP),t.flexWrap==="wrap"&&e.setFlexWrap(ve.WRAP_WRAP),t.flexWrap==="wrap-reverse"&&e.setFlexWrap(ve.WRAP_WRAP_REVERSE)),"flexDirection"in t&&(t.flexDirection==="row"&&e.setFlexDirection(ve.FLEX_DIRECTION_ROW),t.flexDirection==="row-reverse"&&e.setFlexDirection(ve.FLEX_DIRECTION_ROW_REVERSE),t.flexDirection==="column"&&e.setFlexDirection(ve.FLEX_DIRECTION_COLUMN),t.flexDirection==="column-reverse"&&e.setFlexDirection(ve.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(ve.ALIGN_STRETCH),t.alignItems==="flex-start"&&e.setAlignItems(ve.ALIGN_FLEX_START),t.alignItems==="center"&&e.setAlignItems(ve.ALIGN_CENTER),t.alignItems==="flex-end"&&e.setAlignItems(ve.ALIGN_FLEX_END)),"alignSelf"in t&&((t.alignSelf==="auto"||!t.alignSelf)&&e.setAlignSelf(ve.ALIGN_AUTO),t.alignSelf==="flex-start"&&e.setAlignSelf(ve.ALIGN_FLEX_START),t.alignSelf==="center"&&e.setAlignSelf(ve.ALIGN_CENTER),t.alignSelf==="flex-end"&&e.setAlignSelf(ve.ALIGN_FLEX_END)),"justifyContent"in t&&((t.justifyContent==="flex-start"||!t.justifyContent)&&e.setJustifyContent(ve.JUSTIFY_FLEX_START),t.justifyContent==="center"&&e.setJustifyContent(ve.JUSTIFY_CENTER),t.justifyContent==="flex-end"&&e.setJustifyContent(ve.JUSTIFY_FLEX_END),t.justifyContent==="space-between"&&e.setJustifyContent(ve.JUSTIFY_SPACE_BETWEEN),t.justifyContent==="space-around"&&e.setJustifyContent(ve.JUSTIFY_SPACE_AROUND),t.justifyContent==="space-evenly"&&e.setJustifyContent(ve.JUSTIFY_SPACE_EVENLY))},"applyFlexStyles"),NO=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"),BO=o((e,t)=>{"display"in t&&e.setDisplay(t.display==="flex"?ve.DISPLAY_FLEX:ve.DISPLAY_NONE)},"applyDisplayStyles"),HO=o((e,t)=>{if("borderStyle"in t){let n=t.borderStyle?1:0;t.borderTop!==!1&&e.setBorder(ve.EDGE_TOP,n),t.borderBottom!==!1&&e.setBorder(ve.EDGE_BOTTOM,n),t.borderLeft!==!1&&e.setBorder(ve.EDGE_LEFT,n),t.borderRight!==!1&&e.setBorder(ve.EDGE_RIGHT,n)}},"applyBorderStyles"),WO=o((e,t)=>{"gap"in t&&e.setGap(ve.GUTTER_ALL,t.gap??0),"columnGap"in t&&e.setGap(ve.GUTTER_COLUMN,t.columnGap??0),"rowGap"in t&&e.setGap(ve.GUTTER_ROW,t.rowGap??0)},"applyGapStyles"),FO=o((e,t={})=>{PO(e,t),$O(e,t),OO(e,t),DO(e,t),NO(e,t),BO(e,t),HO(e,t),WO(e,t)},"styles"),vg=FO;import jO from"node:process";var Sb=o(()=>jO.env.DEV==="true","isDev");if(Sb())try{await import("./devtools-4CRULTR2.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 Tb=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"),Cb=o(e=>{e?.unsetMeasureFunc(),e?.freeRecursive()},"cleanupYogaNode"),$f=bb,kg,Ib={name:void 0,version:void 0},ca=UO({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=_f(i);for(let[a,c]of Object.entries(t))if(a!=="children"){if(a==="style"){bg(s,c),s.yogaNode&&vg(s.yogaNode,c);continue}if(a==="internal_transform"){s.internal_transform=c;continue}if(a==="internal_static"){kg=n,s.internal_static=!0,n.isStaticDirty=!0,n.staticNode=s;continue}Ig(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 yb(e)},resetTextContent(){},hideTextInstance(e){tl(e,"")},unhideTextInstance(e,t){tl(e,t)},getPublicInstance:o(e=>e,"getPublicInstance"),hideInstance(e){e.yogaNode?.setDisplay(wb.DISPLAY_NONE)},unhideInstance(e){e.yogaNode?.setDisplay(wb.DISPLAY_FLEX)},appendInitialChild:Lf,appendChild:Lf,insertBefore:Cg,finalizeInitialChildren(){return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,supportsMicrotasks:!0,scheduleMicrotask:queueMicrotask,scheduleCallback:Po.unstable_scheduleCallback,cancelCallback:Po.unstable_cancelCallback,shouldYield:Po.unstable_shouldYield,now:Po.unstable_now,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:o(()=>null,"getInstanceFromNode"),prepareScopeUpdate(){},getInstanceFromScope:o(()=>null,"getInstanceFromScope"),appendChildToContainer:Lf,insertInContainerBefore:Cg,removeChildFromContainer(e,t){el(e,t),Cb(t.yogaNode)},commitUpdate(e,t,n,r){kg&&e.internal_static&&(kg.isStaticDirty=!0);let i=Tb(n,r),s=Tb(n.style,r.style);if(!(!i&&!s)){if(i)for(let[a,c]of Object.entries(i)){if(a==="style"){bg(e,c);continue}if(a==="internal_transform"){e.internal_transform=c;continue}if(a==="internal_static"){e.internal_static=!0;continue}Ig(e,a,c)}s&&e.yogaNode&&vg(e.yogaNode,s)}},commitTextUpdate(e,t,n){tl(e,n)},removeChild(e,t){el(e,t),Cb(t.yogaNode)},setCurrentUpdatePriority(e){$f=e},getCurrentUpdatePriority:o(()=>$f,"getCurrentUpdatePriority"),resolveUpdatePriority(){return $f!==bb?$f:GO},maySuspendCommit(){return!0},NotPendingTransition:void 0,HostTransitionContext:VO(null),resetFormInstance(){},requestPostPaintCallback(){},shouldAttemptEagerTransition(){return!1},trackSchedulerEvent(){},resolveEventType(){return null},resolveEventTimeStamp(){return-1.1},preloadInstance(){return!0},startSuspendingCommit(){},suspendInstance(){},waitForCommitToBeReady(){return null},rendererPackageName:Ib.name,rendererVersion:Ib.version});import eD from"widest-line";import tD from"indent-string";import $o from"yoga-layout";import Of from"yoga-layout";var KO=o(e=>e.getComputedWidth()-e.getComputedPadding(Of.EDGE_LEFT)-e.getComputedPadding(Of.EDGE_RIGHT)-e.getComputedBorder(Of.EDGE_LEFT)-e.getComputedBorder(Of.EDGE_RIGHT),"getMaxWidth"),vb=KO;import JO from"cli-boxes";import Df from"chalk";import to from"chalk";var zO=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,YO=/^ansi256\(\s?(\d+)\s?\)$/,XO=o(e=>e in to,"isNamedColor"),qO=o((e,t,n)=>{if(!t)return e;if(XO(t)){if(n==="foreground")return to[t](e);let r=`bg${t[0].toUpperCase()+t.slice(1)}`;return to[r](e)}if(t.startsWith("#"))return n==="foreground"?to.hex(t)(e):to.bgHex(t)(e);if(t.startsWith("ansi256")){let r=YO.exec(t);if(!r)return e;let i=Number(r[1]);return n==="foreground"?to.ansi256(i)(e):to.bgAnsi256(i)(e)}if(t.startsWith("rgb")){let r=zO.exec(t);if(!r)return e;let i=Number(r[1]),s=Number(r[2]),a=Number(r[3]);return n==="foreground"?to.rgb(i,s,a)(e):to.bgRgb(i,s,a)(e)}return e},"colorize"),Ti=qO;var QO=o((e,t,n,r)=>{if(n.style.borderStyle){let i=n.yogaNode.getComputedWidth(),s=n.yogaNode.getComputedHeight(),a=typeof n.style.borderStyle=="string"?JO[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,g=n.style.borderLeftDimColor??n.style.borderDimColor,S=n.style.borderRightDimColor??n.style.borderDimColor,w=n.style.borderTop!==!1,I=n.style.borderBottom!==!1,T=n.style.borderLeft!==!1,v=n.style.borderRight!==!1,A=i-(T?1:0)-(v?1:0),D=w?Ti((T?a.topLeft:"")+a.top.repeat(A)+(v?a.topRight:""),c,"foreground"):void 0;w&&p&&(D=Df.dim(D));let N=s;w&&(N-=1),I&&(N-=1);let O=(Ti(a.left,d,"foreground")+`
|
|
111
|
-
`).repeat(N);g&&(O=Df.dim(O));let G=(Ti(a.right,f,"foreground")+`
|
|
112
|
-
`).repeat(N);S&&(G=Df.dim(G));let Y=I?Ti((T?a.bottomLeft:"")+a.bottom.repeat(A)+(v?a.bottomRight:""),l,"foreground"):void 0;I&&m&&(Y=Df.dim(Y));let re=w?1:0;D&&r.write(e,t,D,{transformers:[]}),T&&r.write(e,t+re,O,{transformers:[]}),v&&r.write(e+i-1,t+re,G,{transformers:[]}),Y&&r.write(e,t+s-1,Y,{transformers:[]})}},"renderBorder"),kb=QO;var ZO=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=Ti(" ".repeat(f),n.style.backgroundColor,"background");for(let g=0;g<p;g++)r.write(e+a,t+l+g,m,{transformers:[]})},"renderBackground"),Rb=ZO;var nD=o((e,t)=>{let n=e.childNodes[0]?.yogaNode;if(n){let r=n.getComputedLeft(),i=n.getComputedTop();t=`
|
|
113
|
-
`.repeat(i)+tD(t,r)}return t},"applyPaddingToText"),Nf=o((e,t={})=>{if(t.skipStaticElements&&e.internal_static||e.yogaNode?.getDisplay()===$o.DISPLAY_NONE)return"";let n="";if(e.nodeName==="ink-text")n=Zc(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=>Nf(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"),Rg=null;function Eb(){Rg=null}o(Eb,"resetScrollHint");function Mb(){return Rg}o(Mb,"getScrollHint");var Ab=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()===$o.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 g=Zc(e);if(g.length>0){let S=eD(g),w=vb(c);if(S>w){let I=e.style.textWrap??"wrap";g=Af(g,w,I)}g=nD(e,g),t.write(l,d,g,{transformers:f})}return}let p=!1,m=0;if(e.nodeName==="ink-box"){Rb(l,d,e,t),kb(l,d,e,t);let g=e.style.overflowX??e.style.overflow,S=e.style.overflowY??e.style.overflow,w=g==="hidden"||g==="scroll",I=S==="hidden"||S==="scroll";if(S==="scroll"){let T=c.getComputedBorder($o.EDGE_TOP),v=c.getComputedBorder($o.EDGE_BOTTOM),A=Math.max(0,c.getComputedHeight()-T-v),D=e.attributes?.virtualScrollWindowed===!0,N=e.childNodes[0],O=Math.max(0,Math.floor(D?e.attributes?.scrollHeight??0:N?.yogaNode?.getComputedHeight()??e.attributes?.scrollHeight??0)),G=typeof e.scrollHeight=="number"?e.scrollHeight:O,Y=Zu({rawScrollTop:e.scrollTop??e.attributes?.scrollTop??0,contentHeight:O,viewportHeight:A,previousScrollHeight:G,stickyScroll:e.stickyScroll??!!e.attributes?.stickyScroll,clampMin:e.attributes?.scrollClampMin,clampMax:e.attributes?.scrollClampMax,virtualScrollWindowed:D,inWindowScrollTop:e.attributes?.inWindowScrollTop,previousAppliedScrollTop:e.appliedScrollTop,regionTop:d+T});e.scrollHeight=Y.scrollHeight,e.scrollViewportHeight=A,e.scrollViewportTop=Y.viewportTop,e.appliedScrollTop=Y.appliedScrollTop,Y.scrollHint&&(Rg=Y.scrollHint),e.scrollTop=Y.scrollTop,m=Y.scrollOffsetY}if(w||I){let T=w?l+c.getComputedBorder($o.EDGE_LEFT):void 0,v=w?l+c.getComputedWidth()-c.getComputedBorder($o.EDGE_RIGHT):void 0,A=I?d+c.getComputedBorder($o.EDGE_TOP):void 0,D=I?d+c.getComputedHeight()-c.getComputedBorder($o.EDGE_BOTTOM):void 0;t.clip({x1:T,x2:v,y1:A,y2:D}),p=!0}}if(e.nodeName==="ink-root"||e.nodeName==="ink-box"){for(let g of e.childNodes)Ab(g,t,{offsetX:l,offsetY:d-m,transformers:f,skipStaticElements:a});p&&t.unclip()}}},"renderNodeToOutput"),Eg=Ab;import rD from"slice-ansi";import oD from"string-width";import{styledCharsFromTokens as iD,styledCharsToString as sD,tokenize as aD}from"@alcalzone/ansi-tokenize";var Mg=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=iD(aD(t)),this.styledChars.set(t,n)),n}getStringWidth(t){let n=this.widths.get(t);return n===void 0&&(n=oD(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}},la=class{static{o(this,"Output")}width;height;operations=[];caches=new Mg;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 g=this.caches.getWidestLine(i);if(a+g<d.x1||a>d.x2)continue}if(m){let g=l.length;if(c+g<d.y1||c>d.y2)continue}if(p&&(l=l.map(g=>{let S=a<d.x1?d.x1-a:0,w=this.caches.getStringWidth(g),I=a+w>d.x2?d.x2-a:w;return rD(g,S,I)}),a<d.x1&&(a=d.x1)),m){let g=c<d.y1?d.y1-c:0,S=l.length,w=c+S>d.y2?d.y2-c:S;l=l.slice(g,w),c<d.y1&&(c=d.y1)}}let f=0;for(let[p,m]of l.entries()){let g=t[c+f];if(!g)continue;for(let I of s)m=I(m,p);let S=this.caches.getStyledChars(m),w=a;for(let I of S){g[w]=I;let T=Math.max(1,this.caches.getStringWidth(I.value));if(T>1)for(let v=1;v<T;v++)g[w+v]={type:"char",value:"",fullWidth:!1,styles:I.styles};w+=T}f++}}return t}get(){let t=this.getGrid();return{output:t.map(r=>{let i=r.filter(s=>s!==void 0);return sD(i).trimEnd()}).join(`
|
|
117
|
-
`),height:t.length}}};var cD=o((e,t,n)=>{if(e.yogaNode){if(t){let p=Nf(e,{skipStaticElements:!0}),m=p===""?0:p.split(`
|
|
118
|
-
`).length,g="";return e.staticNode&&(g=Nf(e.staticNode,{skipStaticElements:!1})),{output:p,outputHeight:m,staticOutput:g?`${g}
|
|
119
|
-
`:"",frame:void 0}}let r=new la({width:e.yogaNode.getComputedWidth(),height:e.yogaNode.getComputedHeight()});Eb(),Eg(e,r,{skipStaticElements:!0});let i;e.staticNode?.yogaNode&&(i=new la({width:e.staticNode.yogaNode.getComputedWidth(),height:e.staticNode.yogaNode.getComputedHeight()}),Eg(e.staticNode,i,{skipStaticElements:!1}));let{output:s,height:a}=r.get(),c=nd(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:Mb()};return{output:s,outputHeight:a,staticOutput:i?`${i.get().output}
|
|
120
|
-
`:"",frame:f}}return{output:"",outputHeight:0,staticOutput:"",frame:void 0}},"renderer"),Ag=cD;var dD=o((e,t)=>{let n=t?.columns??80,r=_f("ink-root"),i="";r.onComputeLayout=()=>{r.yogaNode.setWidth(n),r.yogaNode.calculateLayout(void 0,void 0,lD.DIRECTION_LTR)},r.onImmediateRender=()=>{let{staticOutput:l}=Ag(r,!1);l&&l!==`
|
|
121
|
-
`&&(i+=l)};let s,a=ca.createContainer(r,uD,null,!1,null,"render-to-string",l=>{s??=l},()=>{},()=>{},()=>{}),c=!1;try{ca.updateContainerSync(e,a,null,()=>{}),ca.flushSyncWork();let{output:l}=Ag(r,!1);if(ca.updateContainerSync(null,a,null,()=>{}),ca.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"),_b=dD;var fD="\x1B[0m";function Pb(e,t){if(e.length===0)return"";let n=Lb(E,{flexDirection:"column",children:e.map(s=>Lb(Sh,{section:s,theme:t.theme,animateSpinners:!1},s.key))}),r=_b(n,{columns:t.width});return(r.endsWith(`
|
|
124
|
-
`)?r.slice(0,-1):r)+fD+`
|
|
125
|
-
`}o(Pb,"renderFinalizedSectionsToScrollbackText");function $b(e){return e.enabled&&!e.useRendererViewportShell&&!e.isTranscriptMode&&e.hasCommitHandle}o($b,"isInlineLedgerActive");function Ob(e){if(!e.active)return{kind:"reset"};if(!e.hasCommitHandle)return{kind:"skip"};let t=!e.wasActive,n=t?sa:e.prior,{plan:r,nextState:i}=ab({bannerSection:e.bannerSection??null,finalizedSections:e.finalizedSections,width:e.width},e.identify??BC,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(Ob,"computeInlineLedgerStep");function Db(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:sa,wasActive:!1,owns:!0}:{state:sa,wasActive:!1,owns:n}}o(Db,"resolveInlineLedgerState");function Nb(e,t){return t?{...e,staticSections:[]}:e}o(Nb,"gateInlinePromptModel");function pD(e){switch(e.type){case"tool_group":return e.tools.map(t=>{let n=[t.name];return typeof t.output=="string"&&n.push(At(t.output)),t.error&&n.push(At(t.error)),n.join(`
|
|
126
|
-
`)}).join(`
|
|
127
|
-
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return At(e.text);default:return""}}o(pD,"buildSearchText");function mD(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(mD,"buildExcerpt");function Bb(e){return e.map((t,n)=>({itemId:t.id,itemIndex:n,searchText:pD(t)}))}o(Bb,"createTranscriptSearchIndex");function Hb(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:mD(i,t.trim())}]:[]}):[]}o(Hb,"searchTranscriptIndex");function _g(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(_g,"stepTranscriptSearchMatch");function Wb(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(Wb,"buildTranscriptSearchSummary");function Fb(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(Fb,"resolveTranscriptSearchMatchIndex");function jb(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:hD(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(jb,"buildTranscriptSelectionSummary");function hD(e){return e.tools.length===1?`Tool call: ${e.tools[0]?.name??"tool"}`:`Tool group: ${e.tools.length} calls`}o(hD,"summarizeToolGroup");function Ub(e){return e.map(t=>t.id)}o(Ub,"getSelectableTranscriptItemIds");function Gb(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(Gb,"moveTranscriptSelection");function Lg(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: ${At(t.output)}`),t.error&&n.push(`Error: ${At(t.error)}`),n.join(`
|
|
128
|
-
`)}).join(`
|
|
129
|
-
|
|
130
|
-
`);case"assistant":case"user":case"system":case"thinking":case"error":case"info":case"hint":return At(e.text);default:return}}o(Lg,"buildTranscriptCopyText");function Vb(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(Vb,"buildTranscriptToolInputCopyText");import{useCallback as nl,useRef as gD,useState as Kb}from"react";function zb(e){let{state:t,ownsViewport:n,isAwaitingUserInteraction:r,isHistorySearchActive:i,isTranscriptMode:s,historySearchQuery:a}=e,c=zI(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(zb,"buildTranscriptChromeModel");function Yb(e){return Math.max(1,e-2)}o(Yb,"resolveTranscriptPageSize");function Xb(e){return Math.max(3,Math.floor(e/4))}o(Xb,"resolveTranscriptWheelStep");function yD(e,t){return Math.max(0,e+t)}o(yD,"incrementTranscriptScrollOffset");function qb(e,t,n){let r=Math.max(0,t-n);return Math.min(Math.max(0,e),r)}o(qb,"clampTranscriptScrollOffset");function Jb(){let e=gD(null),[t,n]=Kb(0),[r,i]=Kb(!0),s=nl(f=>{n(Math.max(0,f))},[]),a=nl(f=>{i(f)},[]),c=nl(f=>{if(e.current){e.current.scrollTo(f);return}n(Math.max(0,f)),i(f===0)},[]),l=nl(f=>{if(e.current){e.current.scrollBy(f);return}n(p=>yD(p,f)),i(!1)},[]),d=nl(()=>{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(Jb,"useTranscriptViewportScrollController");function Qb(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??Vs(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)),g=Math.max(0,s??0);return g>0&&p.rows.length<=g?p.rows.every(S=>m.has(S.key)):m.has(p.rows[0]?.key??"")}o(Qb,"isTranscriptItemVisible");function Zb(e){let{items:t,renderModel:n,terminalWidth:r,transcriptMaxLines:i,viewportRows:s,itemId:a,expandedItemKeys:c,showDetailedTools:l=!1}=e,d=n?.sections??Vs(t,r,i,l,c);return jC(d,a,s)}o(Zb,"resolveTranscriptSelectionOffset");function ev(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??Vs(t,i,s,d,l),m=n?.rows??hi(p),S=gh(m,a,c)[0]?.key,w=S?p.find(I=>I.rows.some(T=>T.key===S)):void 0;if(w?.key)return w.key}return t[t.length-1]?.id}o(ev,"resolveTranscriptSearchAnchorItemId");function tv(e){let t=Ac(e.stickyHeader),n=Td(t,e.width),r=Math.max(0,e.topChromeRows??0);return{contentWindow:e.window,topOffsetRows:n+r,stickyHeaderRows:n,topChromeRows:r}}o(tv,"resolveTranscriptOwnedWindowGeometry");function xD(e){return e.text===" "?"":At(e.text)}o(xD,"normalizeTranscriptRowText");function Pg(e){let t=new Map;return e.forEach((n,r)=>{t.set(n.key,r)}),t}o(Pg,"buildTranscriptRowIndexByKey");function SD(e,t={}){let n=Math.max(0,e.indent??0),r=e.spinner&&t.animateSpinners!==!1?2:0;return 1+n+r}o(SD,"resolveTranscriptTextStartColumn");function nv(e,t={}){let n=Math.max(0,t.topOffsetRows??0),r=t.rowIndexByKey??Pg(t.allRows??e),i=e.map((s,a)=>{let c=xD(s),l=SD(s,t),d=ko(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+KC(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(nv,"buildTranscriptScreenBuffer");function wD(e,t){let n=Math.max(1,Math.floor(t));return zC(e.text,n-e.textStartColumn)}o(wD,"clampTextColumn");function $g(e,t){return{screenRow:e,point:{rowKey:e.key,modelRowIndex:e.modelRowIndex,column:wD(e,t)}}}o($g,"toHit");function Og(e,t,n){let r=e.rows.find(i=>i.screenRow===t);return r?$g(r,n):void 0}o(Og,"hitTestTranscriptScreen");function Dg(e,t,n){if(e.rows.length!==0)return t<=e.topRow?$g(e.rows[0],n):t>=e.bottomRow?$g(e.rows[e.rows.length-1],n):Og(e,t,n)}o(Dg,"clampTranscriptScreenHit");function rv(e){return e.text===" "?"":At(e.text)}o(rv,"normalizeTranscriptRowText");function ov(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(ov,"comparePoints");function iv(e,t,n,r={}){if(e.length===0)return;let[i,s]=ov(t,n)<=0?[t,n]:[n,t],a=r.selectFullRowOnCollapsed===!0,c=ov(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:ko(rv(d))}:s,m=new Map,g=[],S=0;for(let w=f.modelRowIndex;w<=p.modelRowIndex;w+=1){let I=e[w];if(!I)continue;let T=rv(I),v=ko(T),A=w===f.modelRowIndex?f.column:0,D=w===p.modelRowIndex?p.column:v,N=Math.max(0,Math.min(A,v)),O=Math.max(N,Math.min(D,v)),G=Ks(T,N,O);O>N&&(m.set(I.key,{start:N,end:O}),S+=O-N),g.push(G)}if(m.size!==0)return{anchor:t,focus:n,rowRanges:m,rowCount:g.length,charCount:S,text:g.join(`
|
|
134
|
-
`)}}o(iv,"buildTranscriptScreenSelection");function sv(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(sv,"buildTranscriptScreenSelectionSummary");function av(e,t){return e.rows.length===0?0:t<e.topRow?1:t>e.bottomRow?-1:0}o(av,"resolveTranscriptDragEdgeScrollDirection");function Bf(e){return e?e.map(t=>({label:t.label,value:t.value,description:t.description})):[]}o(Bf,"toSelectOptions");function Ng(e){return e.question}o(Ng,"getAskUserDialogTitle");function cv(e){return!!e.activity}o(cv,"shouldRenderPromptActivityInFooter");function TD(e){switch(e){case"confirm":return te("waiting.confirm");case"select":return te("waiting.select");case"input":return te("waiting.input")}}o(TD,"formatPromptWaitingText");function lv(e){return e.waitingReason==="confirm"?te("placeholder.confirm"):e.waitingReason==="select"?te("placeholder.select"):e.waitingReason==="input"?te("placeholder.input"):e.isLoading?e.canQueueFollowUps?te("placeholder.queue"):te("placeholder.busy"):te("placeholder.idle")}o(lv,"buildPromptPlaceholderText");function uv(e){return e.isTranscriptMode?void 0:e.waitingReason?{kind:"waiting",text:TD(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:wh({activeToolCount:e.streamingState.activeToolCalls.filter(n=>n.status===B.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(uv,"buildPromptActivityViewModel");function dv(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(dv,"resolveEffectiveCompactionInfo");function fv(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===B.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(fv,"buildSurfaceStatusBarProps");function pv(e){let t=Sg(e.state),n=t?Mf(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&&KI(e.state)},toggleDetail:t&&!!n,navigationCapabilities:{selection:t&&!!n&&e.selectableItemIds.length>0}}}o(pv,"buildTranscriptSelectionRuntimeState");function mv(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(mv,"buildTranscriptSelectionViewModel");function hv(e){return{query:e.query,matches:e.matches,currentMatchIndex:e.currentMatchIndex,anchorItemId:e.anchorItemId,statusText:e.useOverlaySurface?void 0:e.statusText}}o(hv,"buildTranscriptSearchViewModel");function CD(e,t){return e===0?0:t<0?-1:Math.min(t,e-1)}o(CD,"clampTranscriptSearchSelectedIndex");function ID(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(ID,"buildTranscriptSearchDetailText");function gv(e){let t=CD(e.matches.length,e.selectedIndex),n=Wb(e.matches,t),r=ID({isHistorySearchActive:e.isHistorySearchActive,historySearchQuery:e.historySearchQuery,matches:e.matches,clampedSelectedIndex:t});return{clampedSelectedIndex:t,statusText:n,detailText:r,searchState:hv({query:e.historySearchQuery,matches:e.matches,currentMatchIndex:t,anchorItemId:e.anchorItemId,statusText:n,useOverlaySurface:e.useOverlaySurface})}}o(gv,"buildTranscriptSearchChrome");function bD(e=!1){return`\u2190/\u2192 enter select mode | Ctrl+E ${e?"collapse":"show all"} | Mouse drag selects text`}o(bD,"buildDefaultTranscriptSecondaryText");function yv(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(yv,"buildFooterNotifications");function xv(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(xv,"buildBaseFooterNotices");function Sv(e){if(e.inputText.trim()&&(e.isTranscriptMode||e.isHistorySearchActive))return"Draft preserved while viewing transcript"}o(Sv,"buildStashNoticeText");function wv(e){return[...e]}o(wv,"buildPromptFooterNotices");function vD(e){let n=(e.isHistorySearchActive?[e.historySearchDetailText]:[e.selectionSummary,e.actionSummary]).filter(r=>!!(r&&r.trim().length>0));return n.length===0?bD(e.showAllActive):n.join(" | ")}o(vD,"buildTranscriptFooterSecondaryText");function kD(e){let t=[];return e&&t.push(e),t}o(kD,"buildTranscriptFooterBudgetNotices");function Tv(e){let t=e.selectionState?.copyCapabilities,n=e.selectionState?.navigationCapabilities,i=sv(e.textSelection),s=e.textSelection?Ys({copyMessage:!0,copyToolInput:!1,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!1,selectionNavigation:!1,matchNavigation:!1,dismissAction:"clear"}):e.selectionState?.itemSummary?Ys({copyMessage:!!t?.message,copyToolInput:!!t?.toolInput,copyOnSelect:!!t?.copyOnSelect,toggleDetail:!!e.selectionState?.toggleDetail,selectionNavigation:!!n?.selection,matchNavigation:!1,dismissAction:"clear"}):void 0,a=vD({isHistorySearchActive:e.isHistorySearchActive,historySearchDetailText:e.historySearchDetailText,selectionSummary:i,actionSummary:s,showAllActive:e.showAllActive,baseFooterNotices:e.baseFooterNotices});return{selectionSummary:i,actionSummary:s,secondaryText:a,budgetNotices:kD(a)}}o(Tv,"buildTranscriptFooterViewModel");import{jsx as M5,jsxs as A5}from"react/jsx-runtime";function Cv(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(Cv,"formatAmaWorkStripText");function Iv(e){return e.replace(/^\[[^\]]+\]\s*/,"").trim()}o(Iv,"stripLiveActivityPrefix");function bv(e){let t=[],n=e.showPrimary??!0;if(e.isLoading&&n){let l=e.currentTool?Iv(Pd(e.currentTool,e.toolInputContent??"",e.toolInputCharCount??0)):void 0,d=e.liveActivityLabel?Iv(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(bv,"buildBackgroundTaskViewModel");function vv(e,t){if(!(!t||!e||e.agentMode!=="ama"&&e.agentMode!=="amaw"))return Cv(e.childFanoutClass,e.childFanoutCount)}o(vv,"buildAmaWorkStripFromStatus");function Bg(e){let t=vv(e.status,e.isLoading);return{workStripText:t,backgroundTask:bv({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(Bg,"buildAmaSummaryViewModel");function Hg(e){return{...e,items:[...e.items],managedLiveEvents:[...e.managedLiveEvents??[]]}}o(Hg,"captureTranscriptSnapshot");function kv(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(kv,"countPendingTranscriptUpdates");function Rv(e){return e.snapshot?[...e.snapshot.items]:e.surface==="transcript"?[...e.transcriptItems]:[...e.promptItems]}o(Rv,"resolveTranscriptSurfaceItems");function Ev(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(Ev,"buildPromptSurfaceItems");function Mv(e,t){return e.enabled?t==="transcript"?e.transcriptShell:e.promptShell:"main-screen"}o(Mv,"resolveFullscreenShellMode");function RD(e,t){return e.enabled&&Mv(e,t)==="virtual"}o(RD,"shouldUseRendererViewportShell");function Av(e,t){let n=Mv(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(Av,"resolveTranscriptInteractionPolicy");function _v(e,t,n){return RD(e,t)?t==="transcript"||n:!1}o(_v,"shouldOwnTranscriptViewport");var ED=500,MD=1,AD=/[\p{L}\p{N}_/.\-+~\\]/u;function _D(e){return e.text===" "?"":e.text}o(_D,"normalizeTranscriptRowText");function Lv(e,t){return e.modelRowIndex!==t.modelRowIndex?e.modelRowIndex-t.modelRowIndex:e.column-t.column}o(Lv,"comparePoints");function Wg(e){return e===""||/\s/.test(e)?0:AD.test(e)?1:2}o(Wg,"charClass");function Pv(e){let t=e.timeoutMs??ED,n=e.distance??MD,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(Pv,"resolveTranscriptMultiClickState");function Hf(e,t,n){let r=e[t.modelRowIndex];if(!r)return;let i=_D(r);if(n==="line")return{kind:n,start:{...t,column:0},end:{...t,column:ko(i)}};let s=ko(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=Wg(Wd(i,a)),l=a,d=a+1;for(;l>0&&Wg(Wd(i,l-1))===c;)l-=1;for(;d<s&&Wg(Wd(i,d))===c;)d+=1;return{kind:n,start:{...t,column:l},end:{...t,column:d}}}o(Hf,"resolveTranscriptSelectionSpanAt");function Fg(e,t){return Lv(t.end,e.start)<0?{anchor:e.end,focus:t.start}:Lv(t.start,e.end)>0?{anchor:e.start,focus:t.end}:{anchor:e.start,focus:e.end}}o(Fg,"extendTranscriptSelectionSpan");function ua(e){return{messages:e.messages,title:e.title,gitRoot:e.gitRoot??"",...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(ua,"buildHostSessionPayload");var OD=500;function DD(e){return typeof e.appendSessionDelta=="function"}o(DD,"hasAppendSessionDelta");function Ov(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(Ov,"applyRuntimeSessionSnapshot");var ND=12,Dv="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 jg(e,t){if(pn(e))return[t.getGuardrail()]}o(jg,"buildAutoModeGuardrails");function BD(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:e.thinking===!0||t.thinking===!0?"auto":"off"}o(BD,"resolveInitialReasoningMode");function HD(e,t){return e.effort??t.effort}o(HD,"resolveInitialEffort");function Ug(e){return At(e.map(t=>typeof t=="string"?t:String(t)).join(" "))}o(Ug,"formatCapturedConsoleOutput");function Gg(e){let t=e.map(At).join(`
|
|
135
|
-
`).trimEnd();return t.trim().length>0?t:void 0}o(Gg,"joinCapturedConsoleOutput");function WD(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(WD,"buildManagedTranscriptCompactText");function Nv(e){let t=WD(e);return{type:"event",icon:rg(e)?"\u2713":">",text:e,...t&&t!==e?{compactText:t}:{}}}o(Nv,"toManagedTranscriptEventItem");function Oo(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(Oo,"toCreatableHistoryItem");function Kg(e){return NS(e)?"":hs(e).trim()}o(Kg,"sanitizeInterruptedAssistantText");function FD(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(FD,"escapeRegExpLiteral");function jD(e,t){let n=t?.trim();return n?e.replace(new RegExp(`^\\[${FD(n)}\\]\\s*`),""):e}o(jD,"stripManagedWorkerPrefix");function Bv(e,t){let n=hs(e);return jD(n,t).trim().length>0}o(Bv,"hasSubstantiveManagedAssistantText");function UD(e,t){return e?t||e.trim().length>0:!1}o(UD,"shouldAppendManagedAssistantTextDelta");function Hv(e){return!!(e?.activeWorkerId&&!e.childFanoutClass&&(e.phase==="preflight"||e.phase==="worker"))}o(Hv,"isForegroundManagedStreamingStatus");function GD(e,t,n){let r=[],i=n?.infoItems??[],s=zg({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=Kg(t);return a&&r.push({type:"assistant",text:`${a}
|
|
136
|
-
|
|
137
|
-
[Interrupted]`}),r}o(GD,"buildInterruptedPersistenceItems");function zg({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(zg,"buildRoundHistoryItems");var VD=20,KD="Session ended before the tool completed.";function zD(e){switch(e.status){case B.Success:return{status:"success"};case B.Error:return{status:"error"};case B.Cancelled:return{status:"cancelled"};case B.AwaitingApproval:case B.Scheduled:case B.Validating:case B.Executing:return{status:"cancelled",error:KD};default:return e.status}}o(zD,"toPersistedToolStatus");function YD(e){if(!e.id||!e.name)return;let t=zD(e),n=t.status==="success"?Zp(e.output):void 0,r=t.status==="error"||t.status==="cancelled"?Qp(e.error??Zp(e.output)??t.error??""):void 0,i=$S(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:Qp(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(YD,"toPersistedToolCall");function XD(e){let t=e.tools.slice(0,VD).map(YD).filter(n=>!!n);return t.length>0?{type:"tool_group",tools:t}:void 0}o(XD,"toPersistedToolGroup");function Gv(e){if(e.type==="tool_group")return XD(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(Gv,"toPersistedUiHistoryItem");var Wv=process.env.KODAX_TRANSCRIPT_HARNESS_MARKERS==="1",qD=process.env.KODAX_SCROLL_OVERSCAN==="1"?80:void 0;function Fv(e){return Qr(e.map(t=>Gv(t)).filter(t=>!!t))}o(Fv,"serializeUiHistorySnapshot");function JD(e){return e.map(t=>Gv(t)).filter(t=>!!t)}o(JD,"serializeCreatableHistoryItems");function Wf(e,t){return t.length===0?Qr(e):Qr([...e,...JD(t)])}o(Wf,"appendPersistedUiHistorySnapshot");function rl(e,t,n){console.log((e==="block"?Xe.red:Xe.yellow)(t)),n.forEach(r=>console.log(Xe.dim(r)))}o(rl,"logSessionTransitionGuard");var Vg=o(({config:e,sessionId:t,workingDir:n,compactionInfo:r})=>{let i=ne("dark"),s=e.model??Wn(e.provider)??e.provider,a=xr({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 wn(E,{flexDirection:"column",marginBottom:1,children:[ig.map((d,f)=>ae(b,{color:i.colors.primary,children:d},f)),wn(E,{children:[ae(b,{color:i.colors.primary,children:" \u258E "}),ae(b,{color:i.colors.primary,children:"AI Coding Agent \xB7 Minimalist & Intelligent"})]}),wn(E,{children:[ae(b,{color:i.colors.success,children:" \u258E "}),wn(b,{bold:!0,color:i.colors.text,children:["v",ds]}),ae(b,{dimColor:!0,children:" \xB7 "}),wn(b,{color:i.colors.success,children:[e.provider,"/",s]}),ae(b,{dimColor:!0,children:` \xB7 effort:${a}`}),ae(b,{dimColor:!0,children:" \xB7 "}),ae(b,{color:i.colors.primary,children:e.agentMode.toUpperCase()}),ae(b,{dimColor:!0,children:" / "}),ae(b,{color:i.colors.accent,children:e.permissionMode})]}),r&&wn(E,{children:[ae(b,{color:i.colors.accent,children:" \u258E "}),ae(b,{color:i.colors.text,children:`ctx ${c}k \xB7 compaction `}),ae(b,{color:r.enabled?i.colors.success:i.colors.text,children:r.enabled?"on":"off"}),ae(b,{color:i.colors.text,children:` @ ${r.triggerPercent}% (${l}k)`})]}),wn(E,{children:[ae(b,{color:i.colors.secondary,children:" \u258E "}),ae(b,{color:i.colors.text,children:"session "}),ae(b,{color:i.colors.primary,children:t}),ae(b,{color:i.colors.text,children:" \xB7 "}),ae(b,{color:i.colors.text,children:n})]})]})},"Banner");function QD(e){let t=e.config.model??Wn(e.config.provider)??e.config.provider,n=xr({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${ds} \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 g=hn(m.length>0?m.split(`
|
|
138
|
-
`):[""],Math.max(1,e.terminalWidth),0,0);return g.visualLines.length>0?g.visualLines:[""]},"wrapBannerLine"),p=o((m,g,S)=>{f(g).forEach((w,I)=>{d.push({key:`${m}-${I}`,text:w,...S})})},"pushLineRows");return ig.forEach((m,g)=>{p(`banner-logo-${g}`,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(QD,"buildBannerTranscriptSection");function jv(e,t){return t?{...e,sections:[t,...e.sections],rows:[...t.rows,...e.rows]}:e}o(jv,"prependTranscriptSection");var ZD=process.env.KODAX_INLINE_LEDGER!=="0";function Uv(e,t){if(process.env.KODAX_INLINE_LEDGER_DEBUG!=="1")return;let n=t instanceof Error?t.message:t!==void 0?String(t):"";process.stderr.write(`[inline-ledger] ${e}${n?`: ${n}`:""} \u2014 rebuilding on next change
|
|
139
|
-
`)}o(Uv,"reportInlineLedgerFailure");var eN=o(({options:e,config:t,context:n,storage:r,rendererMode:i,fullscreenPolicy:s,onExit:a,compactionInfo:c,autoModeBootstrap:l,setAutoModeAskUser:d,setAutoModeEngineChange:f,setCurrentConfigRef:p,teamModeHandle:m})=>{let{exit:g}=Io(),{stdout:S}=br(),w=S.rows??24,{stdin:I,setRawMode:T,isRawModeSupported:v}=kc(),A=Hs(),{history:D}=jc(),N=$v.useRef(null),O=$v.useRef(CS()),{addHistoryItem:G,addHistoryItems:Y,clearHistory:re,setSessionId:me}=Uc(),ue=pe(D),y=pe(Fv(D));Ne(()=>{ue.current=D,y.current=Fv(D)},[D]),Ne(()=>{EI()},[]),Ne(()=>{JS()},[]);let P=S.columns||80,C=zc(),ce=pe(C);Ne(()=>{ce.current=C},[C]);let{startStreaming:Me,stopStreaming:oe,abort:X,startThinking:de,appendThinkingChars:ke,appendThinkingContent:De,stopThinking:W,clearThinkingContent:le,setCurrentTool:q,appendToolInputChars:Be,appendToolInputContent:pt,clearToolInputContent:ge,clearResponse:Pe,appendResponse:Ct,getSignal:It,getFullResponse:Q,getThinkingContent:F,startNewIteration:we,clearIterationHistory:Ke,startCompacting:ze,stopCompacting:on,setMaxIter:qe,addPendingInput:_t,removeLastPendingInput:qt,shiftPendingInput:dn,consumePendingInputs:M}=Yc(),[L,V]=He(!1),[_,xe]=He(t),Ae=fe(()=>Zo({provider:_.provider,model:_.model,effort:_.effort,effortOverride:_.effortOverride,permissionMode:_.permissionMode,planModeEffort:_.planModeEffort,thinking:_.thinking,reasoningMode:_.reasoningMode}),[_.provider,_.model,_.effort,_.effortOverride,_.permissionMode,_.planModeEffort,_.thinking,_.reasoningMode]),he=Ae.configuredEffort,Ie=Ae.runtimeEffort,Lt=fe(()=>({..._,effort:he}),[_,he]),yt=fe(()=>dv(c,{provider:_.provider,model:_.model},Xo),[c,_.provider,_.model]),[Ln,io]=He(!0),[xt,so]=He(!0),[ki,pl]=He(0),[np,ya]=He(!1),[py,zn]=He(null),xa=pe(!1),bR=fe(()=>ii(),[]),Sa=pe(null),ml=pe(null),my=pe(Promise.resolve()),hl=pe(null),Bo=pe({requested:!1,uiHistoryOverride:void 0}),Ri=pe(null),wa=pe(!1),Ta=pe(null),[Ca,gl]=He(!0),[rp,yl]=He(""),[Fe,cr]=He(()=>$I(bR,{rendererMode:i})),[Pt,op]=He(!1),[vR,kR]=He(0),{scrollRef:RR,scrollOffset:Yn,sticky:ip,setScrollOffset:ER,handleScrollTopChange:MR,handleStickyChange:AR,scrollTo:xl,scrollBy:Sl,scrollToBottom:wl}=Jb(),sp=pe(null),Tl=pe(null),Ia=pe([]),Cl=pe([]),Ei=pe(null),Xn=pe(null),hy=pe({time:0,row:-1,column:-1,count:0}),[Il,ap]=He(void 0),[$r,cp]=He(void 0),[Mi,gy]=He(void 0),[In,_R]=He(()=>new Set),[lp,yy]=He(null),[Jt,xy]=He(null),[z,bl]=He(null),[Sy,Ai]=He(null),[up,wy]=He(null),ba=pe(null),va=K(u=>{ba.current=u,wy(u)},[]),ka=K(u=>{let h=u(ba.current);ba.current=h,wy(h)},[]),Ra=K((u,h)=>{let x=ba.current;return x?.status!=="running"||!C0(u,x.runId)?!1:(va({...x,message:h}),!0)},[va]),dp=K(u=>{if(u.status==="running"){va({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}ka(h=>h?.runId===u.runId?null:h)},[va,ka]),LR=K(u=>{let h=u.type==="workflow_updated"?u.message:void 0,x=uc(u.snapshot.goal,u.snapshot.workflowName,u.snapshot.displayName,u.snapshot.latestMessage,h);dp(jS(u.snapshot,h===void 0?{locale:x}:{locale:x,message:h}))},[dp]),[vl,Or]=He([]),_i=fe(()=>{for(let u of vl)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}},[vl]),[uH,Ea]=He([]),[Ma,PR]=He([]),[kl,St]=He(void 0),[Ho,Aa]=He(void 0),lt=pe(null),Rl=pe(null),Wo=pe([]),Li=pe([]),sn=pe([]),fp=pe(new Set),et=pe({}),mt=pe({activeToolGroupTools:[]}),Ty=pe(0),El=pe({itemId:void 0,kind:"thinking",pendingText:""}),qn=pe(null),$R=80,OR=20,DR=pe(null),Ml=fe(()=>[...D,...Ma],[D,Ma]),pp=fe(()=>{let u=WC(Ml,DR);return u===0?Ml:Ml.slice(u)},[Ml]),Al=fe(()=>FC(pp,OR),[pp]),Pi=pp,Qt=pe(null),lr=pe(null),ur=pe([]),Zt=pe([]),[Fo,NR]=He([]),Dr=pe([]),[mp,BR]=He([]),_a=pe([]),Pn=K(u=>{Dr.current=u,NR(u)},[]),$i=K(u=>{_a.current=u,BR(u)},[]),hp=K(()=>{$i([])},[$i]),Cy=K(u=>{if(!lf(u))return!1;let h=Uh(u),x=_a.current.filter(k=>k.id!==h);return x.length===_a.current.length||$i(x),!0},[$i]),$n=K((u,h,x,k)=>{if(!lf(u))return!1;let R=Uh(u),$=_a.current.find(Ue=>Ue.id===R);if(k?.skipIfExisting&&$?.kind===h||R0($?.kind,h))return!0;let j=k?.append&&$?.kind===h?`${$.detail}${x}`:x||$?.detail||"running",H={id:R,label:b0(u),source:v0(u),status:"running",kind:h,detail:jh(j),startedAt:$?.startedAt??Date.now()},ee=_a.current,se=ee.findIndex(Ue=>Ue.id===R),je=se>=0?ee.map((Ue,Vt)=>Vt===se?H:Ue):[...ee,H].slice(0,ND);return $i(je),!0},[$i]),Iy=K(u=>{Wo.current=u,Ea(u)},[]),Oi=K(u=>{sn.current=u,PR(u)},[]),by=K(u=>{let h=u([...sn.current]);Oi(h)},[Oi]),vy=K(u=>{u.length!==0&&Oi([...sn.current,...u])},[Oi]),_l=K(u=>{let h=mt.current,x=h.activeToolGroupTools.some(k=>k.status===B.Executing);mt.current={...u?.clearOwner?{}:{workerId:h.workerId,workerTitle:h.workerTitle},...x?{activeToolGroupItemId:h.activeToolGroupItemId,activeToolGroupTools:h.activeToolGroupTools}:{activeToolGroupTools:[]}},u?.clearOwner&&(et.current={})},[]),Ll=K(u=>{for(let h of u)h.type==="user"&&typeof h.id=="string"&&fp.current.add(h.id)},[]),La=K(()=>{El.current={itemId:void 0,kind:"thinking",pendingText:""},qn.current&&(clearTimeout(qn.current),qn.current=null);let u=_h(sn.current,fp.current);if(u.length>0){for(let h of u)fp.current.add(h.id);Ri.current?.(u.map(h=>Oo(h)))}_l({clearOwner:!0}),Oi([])},[_l,Oi]),Pl=K(u=>(Ty.current+=1,`managed-foreground-${u}-${Ty.current}`),[]),Ft=K(u=>(vy([u]),u.id),[vy]),bn=K((u,h)=>{et.current.workerId?Ft({id:`${h}-${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()}):G(u)},[G,Ft]),ky=K((u,h)=>{let x=Date.now();et.current.workerId?Ft({id:`${h}-${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}):G(u)},[G,Ft]),Nr=K((u,h)=>{if(!u)return;let x;return by(k=>k.map(R=>R.id!==u?R:(x=h(R),x))),x},[by]),Di=K((u,h)=>{let x=mt.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 k=Date.now(),R=h?.trim()?`[${h.trim()}] `:"",$=x.activeToolGroupTools.some(H=>H.status===B.Executing);if(u==="thinking"){let H=Ft({id:Pl("thinking"),type:"thinking",timestamp:k,text:R});return mt.current={...mt.current,activeKind:"thinking",activeThinkingItemId:H,currentTurnThinkingItemId:H,activeAssistantItemId:void 0,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}if(u==="assistant"){let H=Ft({id:Pl("assistant"),type:"assistant",timestamp:k,text:R});return mt.current={...mt.current,activeKind:"assistant",activeThinkingItemId:void 0,activeAssistantItemId:H,...$?{}:{activeToolGroupItemId:void 0,activeToolGroupTools:[]}},H}let j=Ft({id:Pl("tool_group"),type:"tool_group",timestamp:k,tools:[]});return mt.current={...mt.current,activeKind:"tool_group",activeThinkingItemId:void 0,activeAssistantItemId:void 0,activeToolGroupItemId:j,activeToolGroupTools:[]},j},[Ft,Pl]),Jn=K(()=>{qn.current&&(clearTimeout(qn.current),qn.current=null);let u=El.current;if(!u.pendingText||!u.itemId)return;let h=u.pendingText,x=u.itemId,k=u.kind;u.pendingText="",Nr(x,R=>R.type!==k?R:{...R,text:`${R.text}${h}`})},[Nr]),Ry=K(()=>{qn.current||(qn.current=setTimeout(Jn,$R))},[Jn]),$l=K((u,h)=>{if(!h)return;let x=mt.current;if(u==="assistant"&&!UD(h,x.activeKind==="assistant"&&!!x.activeAssistantItemId))return;let k=x.workerTitle,R=Di(u,k),$=El.current;$.itemId===R&&$.kind===u?$.pendingText+=h:(Jn(),$.itemId=R,$.kind=u,$.pendingText=h),Ry()},[Di,Jn,Ry]),Ey=K(u=>{let h=u.trim();if(!h)return;let x=El.current;x.kind==="thinking"&&x.pendingText&&(x.pendingText="",qn.current&&(clearTimeout(qn.current),qn.current=null));let k=mt.current.workerTitle?.trim(),R=k?`[${k}] ${h}`:h,$=mt.current.currentTurnThinkingItemId;if($){Nr($,H=>H.type==="thinking"?{...H,text:R}:H);return}let j=Di("thinking",mt.current.workerTitle);Nr(j,H=>H.type==="thinking"?{...H,text:R}:H)},[Di,Nr]),Qn=K(u=>{Jn();let h=mt.current;if(h.activeToolGroupItemId&&h.activeToolGroupTools.some(j=>j.id===u.id)){let j=h.activeToolGroupTools.map(ee=>ee.id===u.id?u:ee),H=j.every(ee=>ee.status===B.Success||ee.status===B.Error||ee.status===B.Cancelled);mt.current={...h,...H?{activeToolGroupItemId:void 0,activeToolGroupTools:[]}:{activeToolGroupTools:j}},Nr(h.activeToolGroupItemId,ee=>ee.type==="tool_group"?{...ee,tools:j}:ee);return}let x=sn.current;for(let j=x.length-1;j>=0;j-=1){let H=x[j];if(H.type!=="tool_group"||!H.tools.some(se=>se.id===u.id))continue;let ee=H.tools.map(se=>se.id===u.id?u:se);Nr(H.id,se=>se.type==="tool_group"?{...se,tools:ee}:se);return}let k=Di("tool_group",h.workerTitle),$=h.activeKind==="tool_group"&&h.activeToolGroupItemId===k?h.activeToolGroupTools.some(j=>j.id===u.id)?h.activeToolGroupTools.map(j=>j.id===u.id?u:j):[...h.activeToolGroupTools,u]:[u];mt.current={...mt.current,activeKind:"tool_group",activeToolGroupItemId:k,activeToolGroupTools:$},Nr(k,j=>j.type==="tool_group"?{...j,tools:$}:j)},[Di,Nr,Jn]),HR=K(u=>{Jn();let h=mt.current,x=h.activeToolGroupTools.some($=>$.status===B.Executing),k=Dr.current.filter($=>$.status===B.Executing),R=new Set(k.map($=>$.id));mt.current={workerId:u?.workerId,workerTitle:u?.workerTitle,...x?{activeToolGroupItemId:h.activeToolGroupItemId,activeToolGroupTools:h.activeToolGroupTools}:{activeToolGroupTools:[]}},et.current={workerId:u?.workerId,workerTitle:u?.workerTitle},ur.current=[],Zt.current=Zt.current.filter($=>R.has($.id)),Pn(k),ge(),q(void 0),W(),le(),Pe(),St(void 0)},[Jn,ge,Pe,le,q,Pn,St,W]),WR=K(u=>{if(u.length===0)return[];let h=[],x=[...Wo.current],k=[...Li.current];for(let R of u){let $=R.item,j=x.findIndex(H=>H.id===$.id);if(j>=0){let H=x[j];Tf(H,$)||(x=x.map((ee,se)=>se===j?{...$,timestamp:H.timestamp}:ee))}else x=[...x,$].slice(-12),h.push($);if(R.persistToHistory){let H=k.findIndex(ee=>ee.id===$.id);if(H>=0){let ee=k[H];Tf(ee,$)||(k=k.map((se,je)=>je===H?{...$,timestamp:ee.timestamp}:se))}else k=[...k,$].slice(-48)}}return Li.current=k,(h.length>0||x.some((R,$)=>!Tf(R,Wo.current[$]??R)||R.id!==Wo.current[$]?.id))&&Iy(x),h},[Iy]),Ol=K(u=>{if(Zt.current.findIndex(x=>x.id===u.id)===-1){Zt.current=[...Zt.current,u];return}Zt.current=Zt.current.map(x=>x.id===u.id?u:x)},[]),ao=K(u=>{let h=Dr.current.filter(x=>x.status===B.Executing);if(h.length!==0){if(u){let x=ng(u);for(let k=h.length-1;k>=0;k-=1){let R=h[k];if(ng(R.name)===x)return R}}return h[h.length-1]}},[]),Ni=K(()=>{let u=ao();q(u?tg(u.name):void 0)},[ao,q]),My=K(u=>(Ol(u),Pn([...Dr.current.filter(h=>h.id!==u.id),u]),Ni(),u),[Pn,Ni,Ol]),Bi=K((u,h)=>{let x=Dr.current.find(R=>R.id===u);if(!x)return null;let k=h(x);return Ol(k),Pn(Dr.current.map(R=>R.id===u?k:R)),Ni(),k},[Pn,Ni,Ol]),Ay=K((u,h,x)=>{if(u){let R=Bi(u,x);if(R)return R}let k=ao(h);return k?Bi(k.id,x):null},[ao,Bi]),Dl=K((u,h,x,k,R)=>{let $=u??ao(R)?.id;return $?Bi($,j=>({...j,status:h,endTime:Date.now(),error:x,output:k})):null},[ao,Bi]),Pa=K((u,h)=>{let x=Date.now(),k=new Map;for(let R of Dr.current){if(R.status!==B.Executing)continue;let $=h(R);k.set(R.id,{...R,status:u,endTime:x,...$})}return k.size===0?[]:(Zt.current=Zt.current.map(R=>k.get(R.id)??R),Pn(Dr.current.map(R=>k.get(R.id)??R)),Ni(),[...k.values()])},[Pn,Ni]),co=K(()=>{Pn([])},[Pn]),{showHelp:_y,toggleHelp:FR,setShowHelp:Ly}=cg(),jR=K(u=>{yl(u),gl(u.trim().length===0)},[]),Nl=pi(),Py=fe(()=>Nl?Nl.state.visible&&Nl.suggestions.length>0:!1,[Nl]),[$a,$y]=He(!1),Oy=pe(ki),jo=K(()=>{Qt.current&&(clearTimeout(Qt.current),Qt.current=null),lr.current&&(clearTimeout(lr.current),lr.current=null)},[]);Ne(()=>{Py&&!$a&&$y(!0)},[Py,$a]),Ne(()=>{ki!==Oy.current&&(Oy.current=ki,$a&&$y(!1))},[ki,$a]);let[rt,Bl]=He(null),Uo=pe(null),[$e,Zn]=He(null),Hl=pe(null),Wl=pe($e);Wl.current=$e;let[an,Hi]=He(""),[Fl,er]=He(0),gp=pe(""),Oa=pe(void 0),Dy=fe(()=>{if(!yt)return;let{contextWindow:u,triggerPercent:h}=yt;return{currentTokens:py??n.contextTokenSnapshot?.currentTokens??rs(n.messages),contextWindow:u,triggerPercent:h}},[n.messages,n.contextTokenSnapshot,yt,py]),Da=fe(()=>{if(!rt)return;let u=!!rt.input._alwaysConfirm,h=_.permissionMode==="accept-edits"&&!u;return u?te("confirm.instruction.protected"):h?te("confirm.instruction.always"):te("confirm.instruction.basic")},[rt,_.permissionMode]),ut=Fe.searchMode==="history",Z=Fe.surface==="transcript",dr=!!rt||!!$e||ut,Rt=Z?Pt?AC:1e3:12,lo=Av(s,Fe.surface),Ny=lo.shellMode,yp=lo.usesAlternateScreenShell,Go=lo.usesRendererViewportShell,jl=lo.usesRendererMouseTracking,By=lo.usesManagedMouseClicks,Hy=lo.usesManagedMouseWheel,xp=lo.usesManagedSelection,Et=_v(s,Fe.surface,GI(Fe)),Wy=VI(Fe),Ul=$a&&!Z,Fy=K(()=>Hg({items:Pi,managedLiveEvents:[],isLoading:L,isThinking:C.isThinking,thinkingCharCount:C.thinkingCharCount,thinkingContent:C.thinkingContent,currentResponse:C.currentResponse,currentTool:C.currentTool,activeToolCalls:Fo,toolInputCharCount:C.toolInputCharCount,toolInputContent:C.toolInputContent,lastLiveActivityLabel:kl,workStripText:Ho,iterationHistory:C.iterationHistory,currentIteration:C.currentIteration,isCompacting:C.isCompacting}),[Pi,L,C.isThinking,C.thinkingCharCount,C.thinkingContent,C.currentResponse,C.currentTool,Fo,C.toolInputCharCount,C.toolInputContent,kl,Ho,C.iterationHistory,C.currentIteration,C.isCompacting]);Ne(()=>{if(Z){yy(u=>u??Fy());return}yy(null)},[Fy,Z]);let Na=fe(()=>kv({isTranscriptMode:Z,snapshot:lp,currentItemsLength:Pi.length,currentManagedLiveEventsLength:0,isLoading:L,currentResponse:C.currentResponse,thinkingContent:C.thinkingContent,activeToolCallsLength:Fo.length}),[Fo.length,L,Z,Pi.length,C.currentResponse,C.thinkingContent,lp]),jt=Z?lp:null,Sp=fe(()=>Ev(Al),[Al]),UR=fe(()=>!!(Ma.length>0||Hv(z)),[Ma.length,z]),Gl=Ma.length>0,en=s.streamingPreview&&UR,Wi=fe(()=>Rv({surface:"transcript",snapshot:jt,promptItems:Al,transcriptItems:Pi}),[jt,Al,Pi]),Ba=fe(()=>{if(!Z||Pt||Wi.length<=hh)return Wi;let u=Wi.slice(-hh),h=Wi.length-u.length;return[GC(h,u[0]?.timestamp),...u]},[Wi,Z,Pt]),dt=jt?.isLoading??L,it=s.streamingPreview?{isThinking:en?!1:C.isThinking,thinkingCharCount:en?0:C.thinkingCharCount,thinkingContent:en?"":C.thinkingContent,currentResponse:en?"":C.currentResponse,currentTool:en?void 0:C.currentTool,activeToolCalls:en?[]:Fo,toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:en?kl:void 0,iterationHistory:[],currentIteration:C.currentIteration,isCompacting:!1}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:C.currentIteration,isCompacting:!1},Te=s.streamingPreview?{isThinking:en?!1:jt?.isThinking??C.isThinking,thinkingCharCount:en?0:jt?.thinkingCharCount??C.thinkingCharCount,thinkingContent:en?"":jt?.thinkingContent??C.thinkingContent,currentResponse:en?"":jt?.currentResponse??C.currentResponse,currentTool:en?void 0:jt?.currentTool??C.currentTool,activeToolCalls:en?[]:jt?.activeToolCalls??Fo,toolInputCharCount:en?0:jt?.toolInputCharCount??C.toolInputCharCount,toolInputContent:en?"":jt?.toolInputContent??C.toolInputContent,managedLiveEvents:[],lastLiveActivityLabel:jt?.lastLiveActivityLabel??kl,iterationHistory:en?[]:jt?.iterationHistory??C.iterationHistory,currentIteration:jt?.currentIteration??C.currentIteration,isCompacting:jt?.isCompacting??C.isCompacting}:{isThinking:!1,thinkingCharCount:0,thinkingContent:"",currentResponse:"",currentTool:void 0,activeToolCalls:[],toolInputCharCount:0,toolInputContent:"",managedLiveEvents:[],lastLiveActivityLabel:void 0,iterationHistory:[],currentIteration:jt?.currentIteration??C.currentIteration,isCompacting:!1},Br=Z?$r:Il,jy=!!Il,Uy=K(()=>Hg({items:Sp,managedLiveEvents:[],isLoading:L,isThinking:it.isThinking,thinkingCharCount:it.thinkingCharCount,thinkingContent:it.thinkingContent,currentResponse:it.currentResponse,currentTool:it.currentTool,activeToolCalls:it.activeToolCalls,toolInputCharCount:it.toolInputCharCount,toolInputContent:it.toolInputContent,lastLiveActivityLabel:it.lastLiveActivityLabel,iterationHistory:it.iterationHistory,currentIteration:it.currentIteration,isCompacting:it.isCompacting}),[L,Sp,it.activeToolCalls,it.currentIteration,it.currentResponse,it.currentTool,it.isCompacting,it.isThinking,it.iterationHistory,it.lastLiveActivityLabel,it.thinkingCharCount,it.thinkingContent,it.toolInputCharCount,it.toolInputContent]);Ne(()=>{if(!jy){xy(null);return}xy(u=>u??Uy())},[Uy,jy]);let Ha=Jt?.items??Sp,cn=Jt?.isLoading??L,_e=Jt?{isThinking:Jt.isThinking,thinkingCharCount:Jt.thinkingCharCount,thinkingContent:Jt.thinkingContent,currentResponse:Jt.currentResponse,currentTool:Jt.currentTool,activeToolCalls:Jt.activeToolCalls,toolInputCharCount:Jt.toolInputCharCount,toolInputContent:Jt.toolInputContent,managedLiveEvents:Jt.managedLiveEvents,lastLiveActivityLabel:Jt.lastLiveActivityLabel,iterationHistory:Jt.iterationHistory,currentIteration:Jt.currentIteration,isCompacting:Jt.isCompacting}:it,Ut=Z?Ba:Ha,fr=Z?dt:cn,Ye=Z?Te:_e,Gy=cn&&!C.currentResponse&&!C.thinkingContent&&Fo.length===0,GR=Oc(up?.status==="running"),$t=fe(()=>GS(up,Date.now()),[up,GR]),Vy=$t.shouldRender?`Workflow ${$t.workflow}${$t.phase?` - ${$t.phase}`:""}`:void 0,pr=fe(()=>tI(vl,{now:Date.now(),lastAllCompletedAt:null}),[vl]),Ky=w<=20?1:Fh,VR=Oc(mp.length>0),wp=fe(()=>E0(mp,Ky,Date.now()),[Ky,mp,VR]),zy=I0({isTranscriptMode:Z,isLoading:L,hasWorkflowLiveSurface:$t.shouldRender,childActivityVisible:wp.shouldRender}),Fi=fe(()=>{if(!Z)return[];let u=[];return u.push(...US($t)),L&&pr.shouldRender&&u.push(...Q0(pr)),u},[Z,L,pr,$t]),Vo=fe(()=>({config:Lt,sessionId:n.sessionId,workingDir:e.context?.gitRoot||process.cwd(),terminalWidth:P,compactionInfo:yt??void 0}),[yt,n.sessionId,Lt,e.context?.gitRoot,P]),uo=fe(()=>s.enabled&&xt?QD(Vo):void 0,[Vo,s.enabled,xt]),Yy=pe(sa),Xy=pe(!1),Tp=pe(!1),ji=$b({enabled:ZD,useRendererViewportShell:Go,isTranscriptMode:Z,hasCommitHandle:typeof di(S)?.commitInlineScrollback=="function"}),Wa=fe(()=>Od({items:Ha,viewportWidth:P,maxLines:Rt,showDetailedTools:!1,showAllContent:!1,windowed:!1}),[Ha,P,Rt]),Ko=fe(()=>{let u=Dd({activeItems:Wa.activeItems,viewportWidth:P,isLoading:cn,maxLines:Rt,isThinking:_e.isThinking,thinkingCharCount:_e.thinkingCharCount,thinkingContent:_e.thinkingContent,streamingResponse:_e.currentResponse,currentTool:_e.currentTool,activeToolCalls:_e.activeToolCalls,toolInputCharCount:_e.toolInputCharCount,toolInputContent:_e.toolInputContent,iterationHistory:_e.iterationHistory,currentIteration:_e.currentIteration,isCompacting:_e.isCompacting,managedAgentMode:_.agentMode,managedPhase:cn?z?.phase:void 0,managedHarnessProfile:cn?z?.harnessProfile:void 0,managedWorkerTitle:cn?z?.activeWorkerTitle:void 0,managedRound:cn?z?.currentRound:void 0,managedMaxRounds:cn?z?.maxRounds:void 0,managedGlobalWorkBudget:cn?z?.globalWorkBudget:void 0,managedBudgetUsage:cn?z?.budgetUsage:void 0,managedBudgetApprovalRequired:cn?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:_e.lastLiveActivityLabel,currentTodoActiveForm:_i,showFullThinking:!1,showDetailedTools:!1,showAllContent:!1,showLiveProgressRows:Gy}),h=OC(Wa,u,uo);return Nb(h,ji)},[_.agentMode,ji,cn,_e.activeToolCalls,_e.currentIteration,_e.currentTool,_e.isCompacting,_e.currentResponse,_e.isThinking,_e.iterationHistory,_e.lastLiveActivityLabel,_e.thinkingCharCount,_e.thinkingContent,_e.toolInputCharCount,_e.toolInputContent,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Gy,Wa,uo,P,Rt,_i]),Cp=fe(()=>Od({items:Ba,viewportWidth:P,maxLines:Rt,showDetailedTools:Pt,showAllContent:Pt,showFullThinking:!0,windowed:!1}),[Ba,P,Rt,Pt]),Vl=fe(()=>{if(!Z||Go)return;let u=Dd({activeItems:Cp.activeItems,viewportWidth:P,isLoading:dt,maxLines:Rt,isThinking:Te.isThinking,thinkingCharCount:Te.thinkingCharCount,thinkingContent:Te.thinkingContent,streamingResponse:Te.currentResponse,currentTool:Te.currentTool,activeToolCalls:Te.activeToolCalls,toolInputCharCount:Te.toolInputCharCount,toolInputContent:Te.toolInputContent,iterationHistory:Te.iterationHistory,currentIteration:Te.currentIteration,isCompacting:Te.isCompacting,managedAgentMode:_.agentMode,managedPhase:dt?z?.phase:void 0,managedHarnessProfile:dt?z?.harnessProfile:void 0,managedWorkerTitle:dt?z?.activeWorkerTitle:void 0,managedRound:dt?z?.currentRound:void 0,managedMaxRounds:dt?z?.maxRounds:void 0,managedGlobalWorkBudget:dt?z?.globalWorkBudget:void 0,managedBudgetUsage:dt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Te.lastLiveActivityLabel,liveStatusLines:Fi,currentTodoActiveForm:_i,showFullThinking:!0,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:!Gl,expandedItemKeys:In});return jv(mh(Nd(Cp,u)),uo)},[_.agentMode,In,Gl,uo,Z,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,P,dt,Rt,Cp,Te.activeToolCalls,Te.currentIteration,Te.currentResponse,Te.currentTool,Te.isCompacting,Te.isThinking,Te.iterationHistory,Te.lastLiveActivityLabel,Te.thinkingCharCount,Te.thinkingContent,Te.toolInputCharCount,Te.toolInputContent,Pt,Fi,Go,_i]),Fa=fe(()=>{if(Et)return Z?jv(Bd({items:Ut,viewportWidth:P,isLoading:fr,maxLines:Rt,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:fr?z?.phase:void 0,managedHarnessProfile:fr?z?.harnessProfile:void 0,managedWorkerTitle:fr?z?.activeWorkerTitle:void 0,managedRound:fr?z?.currentRound:void 0,managedMaxRounds:fr?z?.maxRounds:void 0,managedGlobalWorkBudget:fr?z?.globalWorkBudget:void 0,managedBudgetUsage:fr?z?.budgetUsage:void 0,managedBudgetApprovalRequired:fr?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Ye.lastLiveActivityLabel,liveStatusLines:Fi,currentTodoActiveForm:_i,windowed:!0,showFullThinking:Z,showDetailedTools:Pt,showAllContent:Pt,showLiveProgressRows:Z&&!Gl,expandedItemKeys:Z?In:void 0}),uo):mh(Ko)},[_.agentMode,fr,Ut,Gl,uo,Ye.activeToolCalls,Ye.currentIteration,Ye.currentResponse,Ye.currentTool,Ye.isCompacting,Ye.isThinking,Ye.iterationHistory,Ye.lastLiveActivityLabel,Ye.thinkingCharCount,Ye.thinkingContent,Ye.toolInputCharCount,Ye.toolInputContent,In,Z,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Ko,L,Z,P,Rt,Et,Fi,Pt,_i]),mr=fe(()=>Fa??Vl,[Fa,Vl]),ja=fe(()=>Bg({status:z,isLoading:L,agentMode:_.agentMode}),[_.agentMode,L,z]).workStripText,Ua=jt?.workStripText??Ho,Ui=fe(()=>Bg({status:z,isLoading:L,agentMode:_.agentMode,parallelTextOverride:Ua}),[_.agentMode,Ua,L,z]),zo=fe(()=>Ub(Ut).filter(u=>u!==Hd),[Ut]),tt=fe(()=>Mf(Fe,zo,Fe.selectedItemId),[zo,Fe]),vn=fe(()=>Ut.find(u=>u.id===tt),[Ut,tt]),qy=fe(()=>({...Fe,supportsSelection:Fe.supportsSelection&&Et,supportsCopyOnSelect:Fe.supportsCopyOnSelect&&Et}),[Fe,Et]),On=fe(()=>pv({state:qy,selectableItemIds:zo,selectedItemId:tt,selectedItemType:vn?.type,isExpanded:tt?In.has(tt):!1}),[In,zo,vn?.type,tt,qy]),Jy=On.selectionEnabled,Qy=On.copyCapabilities.copyOnSelect,pH=On.selectedItemIndex,Zy=fe(()=>jb(vn),[vn]),Kl=fe(()=>Bb(Ut.filter(u=>!yh(u))),[Ut]),Ot=fe(()=>Hb(Kl,an),[Kl,an]),zl=fe(()=>gv({isHistorySearchActive:ut,historySearchQuery:an,matches:Ot,selectedIndex:Fl,anchorItemId:Fe.searchAnchorItemId,useOverlaySurface:Fe.supportsOverlaySurface&&Fe.supportsSearchViewport&&Et}),[Ot,an,Fl,ut,Fe.searchAnchorItemId,Fe.supportsOverlaySurface,Fe.supportsSearchViewport,Et]),fo=zl.clampedSelectedIndex,ex=zl.statusText,Ip=zl.detailText,tx=zl.searchState,mH=On.detailState==="expanded",Yl=On.selectionEnabled&&zo.length>0&&!Br,Gi=On.copyCapabilities.message,Xl=On.copyCapabilities.toolInput,ql=On.toggleDetail;Ne(()=>{if(ja){if(lr.current&&(clearTimeout(lr.current),lr.current=null),Ho===ja)return;if(Ho){Qt.current&&(clearTimeout(Qt.current),Qt.current=null),Aa(ja);return}Qt.current&&clearTimeout(Qt.current),Qt.current=setTimeout(()=>{Aa(ja),Qt.current=null},400);return}if(!Ho){Qt.current&&(clearTimeout(Qt.current),Qt.current=null);return}Qt.current&&(clearTimeout(Qt.current),Qt.current=null),lr.current&&clearTimeout(lr.current),lr.current=setTimeout(()=>{Aa(void 0),lr.current=null},300)},[jo,ja,Ho]),Ne(()=>()=>{jo()},[jo]);let po=fe(()=>zb({state:Fe,ownsViewport:Et,isAwaitingUserInteraction:dr,isHistorySearchActive:ut,isTranscriptMode:Z,historySearchQuery:an}),[an,dr,ut,Z,Fe,Et]);Ne(()=>{cr(u=>{let h=BI(u,Yn);return h=NI(h,Na),h=WI(h,s.enabled&&Et?!ip||ut||dr:Z||ut||dr),h=UI(h,fo),h})},[fo,s.enabled,Yn,dr,ut,Z,Na,Et,ip]),Ne(()=>{Fl!==fo&&er(fo)},[fo,Fl]),Ne(()=>{if(!ut){gp.current=an;return}if(an===gp.current)return;gp.current=an;let u=Fb(Kl,Ot,Fe.searchAnchorItemId);er(u)},[Ot,an,ut,Fe.searchAnchorItemId,Kl]);let nx=Z?Te:{isThinking:_e.isThinking,thinkingCharCount:_e.thinkingCharCount,currentTool:_e.currentTool,activeToolCalls:_e.activeToolCalls,toolInputCharCount:_e.toolInputCharCount,toolInputContent:_e.toolInputContent,currentIteration:_e.currentIteration,isCompacting:_e.isCompacting},Ga=Z?dt:cn,[bp,vp]=He(()=>pn(_.permissionMode)?l.getGuardrail().getEngine():void 0),Jl=fe(()=>fv({sessionId:n.sessionId,permissionMode:_.permissionMode,agentMode:_.agentMode,provider:_.provider,model:_.model??Wn(_.provider)??_.provider,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:he,reasoningEffortLabel:xr({provider:_.provider,model:_.model,effort:he,effortOverride:_.effortOverride,thinking:_.thinking,reasoningMode:_.reasoningMode}),isTranscriptMode:Z,streamingState:nx,maxIter:C.maxIter,contextUsage:Dy,isLoading:Ga,managedState:{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle,round:z?.currentRound,maxRounds:z?.maxRounds,globalWorkBudget:z?.globalWorkBudget,budgetUsage:z?.budgetUsage,budgetApprovalRequired:z?.budgetApprovalRequired,idleWaiting:z?.idleWaiting,idleWaitingPendingCount:z?.idleWaitingPendingCount},autoModeEngine:bp}),[n.sessionId,_.permissionMode,_.agentMode,_.provider,_.model,_.thinking,_.reasoningMode,_.effortOverride,he,Z,nx,C.maxIter,Dy,Ga,z?.phase,z?.harnessProfile,z?.activeWorkerTitle,z?.currentRound,z?.maxRounds,z?.globalWorkBudget,z?.budgetUsage,z?.budgetApprovalRequired,z?.idleWaiting,z?.idleWaitingPendingCount,bp]),kp=rt?"confirm":$e?.kind,rx=fe(()=>uv({isTranscriptMode:Z,isLoading:Ga,streamingState:_e,managedState:Ga?{phase:z?.phase,harnessProfile:z?.harnessProfile,workerTitle:z?.activeWorkerTitle}:void 0,waitingReason:kp,workflowBuilderMessage:Sy??void 0,backgroundWorkflowMessage:Vy}),[_e.activeToolCalls,_e.currentTool,_e.isCompacting,_e.isThinking,_e.thinkingCharCount,_e.toolInputCharCount,_e.toolInputContent,Z,z?.activeWorkerTitle,z?.harnessProfile,z?.phase,kp,Ga,Sy,Vy]),Hr=cv({activity:rx})?rx:void 0,ox=Hr?.text,ix=!!Hr,sx=pe(!1);Ne(()=>{sx.current&&!L&&Or(u=>u.length>0?[]:u),sx.current=L},[L]);let Rp=fe(()=>Gd(Jl),[Jl]),ax=fe(()=>Rp,[Rp]),cx=ax.text,KR=fe(()=>h0(C.pendingInputs),[C.pendingInputs]),Ep=fe(()=>nI({isHistorySearchActive:ut,isTranscriptMode:Z,pendingInputCount:C.pendingInputs.length,buffering:Fe.buffering,pendingLiveUpdates:Na}),[ut,Z,Na,C.pendingInputs.length,Fe.buffering]),lx=Ep.leftItems,ux=Ep.rightItems,dx=Ep.summary,Ql=fe(()=>xv({historySearchQuery:an,pendingInputCount:C.pendingInputs.length}),[an,C.pendingInputs.length]),Zl=fe(()=>yv({historySearchQuery:an,isHistorySearchActive:ut,historySearchMatchCount:Ot.length,pendingInputCount:C.pendingInputs.length,maxPendingInputs:5}),[Ot.length,an,ut,C.pendingInputs.length]),fx=fe(()=>Zl.map(u=>u.text).join(" | "),[Zl]),eu=fe(()=>Sv({inputText:rp,isTranscriptMode:Z,isHistorySearchActive:ut}),[rp,ut,Z]),px=Fe.supportsOverlaySurface&&Fe.supportsSearchViewport&&Et,tu=fe(()=>mv({runtime:On,itemSummary:Zy}),[Zy,On]),Mp=fe(()=>wv(Ql),[Ql]),mx=fe(()=>Tv({textSelection:Br,selectionState:tu,isHistorySearchActive:ut,historySearchDetailText:Ip,historySearchHasMatches:!!ex&&Ot.length>0,showAllActive:Pt,baseFooterNotices:Ql}),[Br,Ql,Ip,Ot.length,ex,ut,Pt,tu]),zR=mx.secondaryText,YR=mx.budgetNotices,hx=Z?YR:Mp,gx=w,yx=Z?"":rp,xx=Z?void 0:KR,Sx=Ua,wx=Z?!1:_y,Tx=$t.shouldRender?q0($t):0,Cx=L&&pr.shouldRender?pr.rows.length:0,Ix=zy?Gh(wp):0,Gt=fe(()=>PI({terminalRows:gx,terminalWidth:P,windowedTranscript:Go,inputText:yx,footerHeaderText:dx,activitySummary:Z?void 0:ox,activityBarVisible:Z?!1:ix,workflowSurfaceRows:Z?0:Tx,childActivitySurfaceRows:Z?0:Ix,todoSurfaceRows:Z?0:Cx,pendingInputSummary:xx,stashNoticeSummary:eu,notificationSummary:fx,statusNoticeSummary:hx.join(" | "),workStripText:Sx,suggestionsReserved:Ul,suggestionsMode:"inline",showHelp:wx,statusBarText:cx,confirmPrompt:rt?.prompt,confirmInstruction:Da,dialogMode:"inline",reviewHint:s.enabled&&Et?void 0:po.browseHintText,uiRequest:$e?$e.kind==="select"?{kind:"select",title:$e.title,options:$e.options.map(u=>({label:u.label,description:u.description})),buffer:$e.buffer,error:$e.error}:{kind:"input",prompt:$e.prompt,defaultValue:$e.defaultValue,buffer:$e.buffer,error:$e.error}:null}),[gx,P,yx,dx,ox,ix,Z,Tx,Ix,Cx,xx,eu,fx,hx,Sx,Ul,px,wx,cx,rt,Da,s.enabled,po.browseHintText,Et,$e]),Ap=fe(()=>{if(!ji)return{model:Ko,committedSections:[]};let{committedSections:u,liveRows:h}=DC(Wa.staticSections,Ko.rows,Ko.previewRows,Gt.messageRows);return{model:{...Ko,staticSections:[],rows:h,previewRows:[]},committedSections:u}},[ji,Ko,Wa.staticSections,Gt.messageRows]),bx=Ap.model;Ne(()=>{let u=di(S),h=typeof u?.commitInlineScrollback=="function",x=Ob({active:ji,hasCommitHandle:h,wasActive:Xy.current,forceRebuild:Tp.current,prior:Yy.current,finalizedSections:Ap.committedSections,bannerSection:uo,width:P,identify:NC}),k=!1,R=!1;if(x.kind==="commit"){let j=x.sections.flatMap(ee=>ee.rows),H=Pb(j.length>0?[{key:"il-delta",rows:j}]:[],{width:P,theme:ne("dark")});if(R=H.length>0,x.mode==="append"&&!H)Uv("empty-append-text");else try{u?.commitInlineScrollback?.({mode:x.mode,text:H}),k=!0}catch(ee){Uv("commit-threw",ee)}}let $=Db(x,{committed:k,hadContent:R},Tp.current);Yy.current=$.state,Xy.current=$.wasActive,Tp.current=$.owns},[ji,Ap.committedSections,uo,P,S]);let XR=fe(()=>ae($h,{reserveSpace:Ul,width:P,hidden:Z,mode:"inline"}),[Ul,P,Z,px]),Va=fe(()=>Yb(Gt.messageRows),[Gt.messageRows]),vx=fe(()=>Xb(Va),[Va]),Vi=!Wy&&s.transcriptSpinnerAnimation,Ka=mr?mr.rows.length+mr.previewRows.length:vR,nu=K(u=>{mr||kR(u.scrollHeight)},[mr]),za=K(u=>tv({window:u,stickyHeader:po.stickyHeader,width:P,topChromeRows:0}),[P,po.stickyHeader]),Ki=K((u=Ia.current,h=Cl.current,x=sp.current?za(sp.current):Tl.current)=>{if(!x||u.length===0){Ei.current=null;return}Tl.current=x,Ei.current=nv(u,{allRows:h,rowIndexByKey:Pg(h),topOffsetRows:x.topOffsetRows,viewportHeight:x.contentWindow.viewportHeight,animateSpinners:Vi})},[za,Vi]),Ya=K(()=>{let u=Tl.current;return u?.contentWindow.viewportHeight&&u.contentWindow.viewportHeight>0?u.contentWindow.viewportHeight:Gt.messageRows},[Gt.messageRows]),qR=K(u=>{sp.current=u;let h=za(u);Tl.current=h,Ki(Ia.current,Cl.current,h)},[Ki,za]),ru=K(u=>{Ia.current=u.rows,Cl.current=u.allRows,Ki(u.rows,u.allRows)},[Ki]),tn=K(()=>{Xn.current=null,ap(void 0),cp(void 0)},[]),_p=K(()=>{tn(),cr(u=>ia(u,void 0))},[tn]);Ne(()=>{Ki()},[Ki]),Ne(()=>{ER(u=>qb(u,Ka,Gt.messageRows))},[Ka,Gt.messageRows]),Ne(()=>{if(!Mi)return;let u=setTimeout(()=>{gy(void 0)},2e3);return()=>{clearTimeout(u)}},[Mi]);let Wr=K((u,h="success")=>{let x=u?.trim();x&&gy({text:x,tone:h})},[]),zi=K((u,h)=>{let x=h instanceof Error?h.message:String(h);return`${u}: ${x}`},[]),ou=K(async u=>{let h=u??Br;if(!h)return!1;let x=h.text.trimEnd();if(!x)return!1;try{return await ac(x,{terminalWrite:A}),Wr(`Copied ${h.rowCount} selected line${h.rowCount===1?"":"s"} to clipboard.`,"success"),!0}catch(k){return Wr(zi("Failed to copy transcript selection",k),"warning"),!1}},[Br,zi,Wr,A]),Yi=K(u=>{if(!u||Qb({items:Ut,renderModel:mr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ya(),itemId:u,visibleRows:Ia.current,expandedItemKeys:In,showDetailedTools:!1}))return;let h=Zb({items:Ut,renderModel:mr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ya(),itemId:u,expandedItemKeys:In,showDetailedTools:!1});xl(h)},[Ut,P,Rt,mr,In,Ya,xl,Ia]),kx=K(u=>{cr(h=>ia(h,u)),u&&Yi(u)},[Yi]),Lp=K(u=>{u&&Yi(u)},[Yi]),Rx=K(u=>{if(!Yl)return;let h=Gb(zo,tt,u);h&&kx(h)},[Yl,zo,tt,kx]),Ex=K(()=>{!ql||!tt||(_R(u=>{let h=new Set(u);return h.has(tt)?h.delete(tt):h.add(tt),h}),Yi(tt))},[Yi,ql,tt]),Mx=K(async()=>{if(!Gi||!vn)return;let u=Lg(vn);if(u)try{await ac(u,{terminalWrite:A}),Wr("Copied selected transcript entry to clipboard.","success")}catch(h){Wr(zi("Failed to copy transcript entry",h),"warning")}},[zi,Gi,vn,Wr,A]),Ax=K(async()=>{if(!Xl||!vn)return;let u=Vb(vn);if(u)try{await ac(u,{terminalWrite:A}),Wr("Copied selected tool args to clipboard.","success")}catch(h){Wr(zi("Failed to copy tool args",h),"warning")}},[zi,Xl,vn,Wr,A]),Xa=K(()=>Cl.current,[]),_x=K((u,h)=>{if(!s.enabled||!Et)return;let x=Ei.current;return x?Og(x,u,h):void 0},[s.enabled,Et]),Xi=K((u,h,x)=>{let k=Xa(),R=iv(k,u,h,{animateSpinners:Vi,selectFullRowOnCollapsed:x?.selectFullRowOnCollapsed});Z?cp(R):ap(R);let $=k[Math.max(0,Math.min(h.modelRowIndex,k.length-1))];return x?.updateSelectedItem&&$?.itemId&&cr(j=>ia(j,$.itemId)),R},[Z,Xa,Vi]),Lx=K((u,h)=>{if(!u)return;Xn.current=null;let x={...u,focus:h?.focusPoint??u.focus};if(!(x.mode!=="char"||x.didDrag)){tn();return}let R=Xi(x.anchor,x.focus,{selectFullRowOnCollapsed:!1,updateSelectedItem:!1});if(!R){tn();return}return h?.copySelection!==!1&&ou(R),R},[tn,ou,Xi]),Pp=K(()=>{if(!Z||!Ut.length||rt||$e)return;tn();let u=ev({items:Ut,selectedItemId:tt,renderModel:mr,terminalWidth:P,transcriptMaxLines:Rt,viewportRows:Ya(),scrollOffset:Yn,expandedItemKeys:In,showDetailedTools:!1,preferViewportAnchor:!0});cr(h=>FI(h,{anchorItemId:u,initialMatchIndex:0})),Hi(""),er(0)},[rt,Ut,In,Yn,Z,tt,mr,P,Rt,$e,Ya,tn]),$p=K(()=>{cr(u=>jI(u)),Hi(""),er(0),tn()},[tn]),iu=K(()=>{!ut||Ot.length===0||er(-1)},[Ot.length,ut]),Px=fe(()=>{if(!rt)return null;if(rt.tool==="exit_plan_mode"){let u=typeof rt.input.plan=="string"?rt.input.plan:void 0;return{prompt:rt.prompt.split(`
|
|
140
|
-
`,1)[0]??rt.prompt,instruction:Da,planContent:u}}return{prompt:rt.prompt,instruction:Da}},[Da,rt]),$x=fe(()=>$e?$e.kind==="select"?{kind:"select",title:$e.title,options:$e.options,buffer:$e.buffer,error:$e.error,visibleSelectOptions:Gt.visibleSelectOptions,focusedIndex:$e.focusedIndex,selectedIndices:$e.selectedIndices,multiSelect:$e.multiSelect}:{kind:"input",prompt:$e.prompt,defaultValue:$e.defaultValue,buffer:$e.buffer,error:$e.error}:null,[$e,Gt.visibleSelectOptions]),JR=fe(()=>ae(Dh,{confirm:Px,request:$x}),[Px,$x]),Op=fe(()=>{if(Mi)return ae(z0,{text:Mi.text,tone:Mi.tone})},[Mi]),Dp=fe(()=>{if(Op)return ae(E,{flexDirection:"column",width:"100%",children:Op})},[Op]),su=K(()=>{cr(u=>HI(DI(u))),op(!1),wl(),Hi(""),er(0),tn()},[tn,wl]),Ox=K(()=>{Z&&op(u=>!u)},[Z]),QR=K(()=>{if(Z){su();return}op(!1),cr(u=>OI(u)),Hi(""),er(0),tn()},[tn,su,Z]);Ne(()=>{Jy||!Fe.selectedItemId||cr(u=>ia(u,void 0))},[Jy,Fe.selectedItemId]),Ne(()=>{if(!Z||!Gi||!Qy){Oa.current=void 0;return}if($r||!tt||!vn)return;if(!Oa.current){Oa.current=tt;return}if(Oa.current===tt)return;Oa.current=tt;let u=Lg(vn);u&&ac(u,{terminalWrite:A}).catch(()=>{})},[Z,vn,tt,Gi,Qy,$r,A]),Ne(()=>{if(S?.isTTY!==!0)return;let u=di(S);u?.setShellMode?.(Ny,jl),yp||u?.setAltScreenActive?.(!1)},[Ny,S,yp,jl]);let Le=pe({...e,thinking:_.thinking,reasoningMode:_.reasoningMode,effort:Ie,agentMode:_.agentMode,workflowRunsBaseDir:gr("workflow-runs",Ur(process.cwd()).key),context:{...e.context,repoIntelligenceMode:_.repoIntelligenceMode,repoIntelligenceTrace:_.repoIntelligenceTrace,toolConstructionMode:!0},session:{...e.session,id:n.sessionId,persistedByHost:!0},guardrails:jg(_.permissionMode,l)});Ne(()=>{Le.current.effort=Ie},[Ie]);let Dn=pe(_.permissionMode);Ne(()=>{Dn.current=_.permissionMode},[_.permissionMode]);let ZR=fe(()=>ms(),[]),Dx=pe(ZR),ht=pe(_);Ne(()=>{ht.current=_},[_]);let Np=pe(null);Np.current===null&&(Np.current=Iu({getProvider:o(()=>Xo(ht.current.provider),"getProvider"),getModel:o(()=>ht.current.model??"","getModel")}));let Nx=pe(ku());Ne(()=>{_.permissionMode==="auto-in-project"&&Nx.current()},[]);let Bp=K(u=>{xe(x=>({...x,permissionMode:u})),Dn.current=u;let h=Zo({provider:ht.current.provider,model:ht.current.model,effort:ht.current.effort,effortOverride:ht.current.effortOverride,permissionMode:u,planModeEffort:ht.current.planModeEffort,thinking:ht.current.thinking,reasoningMode:ht.current.reasoningMode});Le.current={...Le.current,effort:h.runtimeEffort,guardrails:jg(u,l)},vp(pn(u)?l.getGuardrail().getEngine():void 0),u==="auto-in-project"&&Nx.current()},[l]),Bx=pe(C.pendingInputs),ot=pe(!1),Hx=pe(0),Hp=pe(null),qa=pe(0),au=K(()=>{if(wa.current)return;let u=Rl.current?.trim(),h=ue.current.length>0?ue.current[ue.current.length-1]:void 0,x=h&&"text"in h&&typeof h.text=="string"?h.text.trim():void 0,R=sn.current.length>0?[...sn.current.map($=>Oo($)),...u&&u!==x?[{type:"info",text:u}]:[]]:[...sn.current.map($=>Oo($)),...GD(F(),Q(),{toolCalls:Zt.current,toolNames:ur.current,infoItems:u&&u!==x?[u]:[]})];R.length!==0&&(wa.current=!0,Ll(sn.current),Ri.current?.(R))},[Q,F,Ll]);Ne(()=>{Bx.current=C.pendingInputs},[C.pendingInputs]);let Wx=K(()=>{ot.current=!0,X(),oe(),W(),le(),ge(),Pe(),q(void 0),co(),St(void 0),La(),Wo.current=[],Li.current=[],lt.current=null,Rl.current=null,Ea([]),bl(null),Ai(null),jo(),Aa(void 0),V(!1),S?.isTTY===!0&&di(S)?.clear?.()},[X,Pe,le,ge,jo,co,La,q,Ea,V,St,oe,W,S]),cu=K(u=>{let h=gS(),x=h.list().filter(R=>R.status==="running"||R.status==="paused");if(x.length===0)return!1;for(let R of x)h.stop(R.runId,u);ka(R=>!R||R.status!=="running"||!x.some($=>$.runId===R.runId)?R:{...R,status:"stopped",activeAgents:[],message:"Workflow stopped by user."});let k=x[0];return x.length===1&&k?bn({type:"info",text:`Stopped workflow ${k.workflow} (${k.runId}).`},"workflow-stop"):bn({type:"info",text:`Stopped ${x.length} active workflows.`},"workflow-stop"),!0},[bn,ka]);Ne(()=>{if(!$t.shouldRender)return;let u=o(()=>{cu("stopped by Ctrl+C")},"handleSigint");return process.on("SIGINT",u),()=>{process.off("SIGINT",u)}},[cu,$t.shouldRender]),An(fn.Critical,u=>{let h=u.name==="escape",x=Date.now(),k=h&&!Z&&!dr&&Ca&&C.pendingInputs.length===0&&(L||$t.shouldRender),R=k&&(u.meta===!0||x-Hx.current<OD);if(Hx.current=k?x:0,nb({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:Z,isAwaitingUserInteraction:dr,isInputEmpty:Ca,isDoubleEscape:R,pendingInputCount:C.pendingInputs.length,hasTranscriptTextSelection:!!$r,hasActiveWorkflow:$t.shouldRender}))return cu(u.ctrl?"stopped by Ctrl+C":"stopped by Escape");if(!L)return!1;switch(rb({keyName:u.name,ctrl:!!u.ctrl,isTranscriptMode:Z,isAwaitingUserInteraction:dr,isInputEmpty:Ca,isDoubleEscape:R,pendingInputCount:C.pendingInputs.length,hasTranscriptTextSelection:!!$r}).kind){case"interrupt":return au(),Wx(),!0;case"pop-pending-input":return qt(),!0;default:break}return!1},[L,Z,dr,Ca,C.pendingInputs.length,qt,au,Wx,cu,$r,$t.shouldRender]),An(fn.Critical,u=>{let h=ZI({itemsLength:Ut.length,currentResponse:Ye.currentResponse,thinkingContent:Ye.thinkingContent,activeToolCallsLength:Ye.activeToolCalls.length}),x=eb({keyName:u.name,hasTranscript:h,historyScrollOffset:Yn,reviewPageSize:Va,reviewWheelStep:vx,hasMouse:!!u.mouse,mouseButton:u.mouse?.button,mouseAction:u.mouse?.action,usesManagedMouseClicks:By,supportsMouseTracking:Fe.supportsMouseTracking,usesRendererMouseTracking:jl,usesManagedMouseWheel:Hy,supportsWheelHistory:Fe.supportsWheelHistory});if(x.kind==="mouse-phase"){let R=u.mouse;if(!R)return!1;x.phase==="press"&&Xn.current&&Lx(Xn.current);let $=_x(R.row,R.column);if(x.phase==="press"){if(!$||!h)return Br||tt?(_p(),!0):(tn(),!1);let j=Pv({previous:hy.current,time:Date.now(),row:R.row,column:R.column});hy.current=j;let H=j.count>=3?"line":j.count===2?"word":"char";if(iu(),cr(ee=>ia(ee,void 0)),Z?cp(void 0):ap(void 0),H!=="char"){let ee=Hf(Xa(),$.point,H);if(ee)return Xn.current={anchor:ee.start,focus:ee.end,didDrag:!1,mode:H,anchorSpan:ee},Xi(ee.start,ee.end,{updateSelectedItem:!1}),!0}return Xn.current={anchor:$.point,focus:$.point,didDrag:!1,mode:"char"},!0}if(!Xn.current)return!1;if(x.phase==="drag"){let j=Ei.current,H=j?av(j,R.row):0;H!==0&&Sl(H);let ee=$??(j?Dg(j,R.row,R.column):void 0);if(!ee)return!1;let se=Xn.current;if(se.mode!=="char"&&se.anchorSpan){let je=Hf(Xa(),ee.point,se.mode);if(!je)return!1;let Ue=Fg(se.anchorSpan,je);return Xn.current={...se,anchor:Ue.anchor,focus:Ue.focus,didDrag:!0},Xi(Ue.anchor,Ue.focus,{updateSelectedItem:!1}),!0}return Xn.current={...se,focus:ee.point,didDrag:!0},Xi(se.anchor,ee.point,{updateSelectedItem:!1}),!0}if(x.phase==="release"){let j=Xn.current,H=j.focus,se=($??(Ei.current?Dg(Ei.current,R.row,R.column):void 0))?.point??H;if(j.mode!=="char"&&j.anchorSpan){let je=Hf(Xa(),se,j.mode);if(je){let Ue=Fg(j.anchorSpan,je);j.anchor=Ue.anchor,se=Ue.focus}}return Lx(j,{focusPoint:se}),!0}}if(x.kind==="scroll-by")return iu(),Sl(x.delta),!0;if(x.kind==="consume")return!0;let k=ob({key:u,isTranscriptMode:Z,isHistorySearchActive:ut,historySearchMatchCount:Ot.length,hasTextSelection:!!Br,hasFocusedItem:!!tt,canCopySelectedItem:Gi,canCopySelectedToolInput:Xl,canToggleSelectedDetail:ql,canCycleTranscriptSelection:Yl});return ib({action:k,hasTranscript:h,isTranscriptMode:Z,pageScrollDelta:Va,disarmHistorySearchSelection:iu,scrollTranscriptBy:Sl,closeHistorySearchSurface:$p,backspaceHistorySearchQuery:o(()=>{Hi(R=>R.slice(0,-1)),er(0)},"backspaceHistorySearchQuery"),stepHistorySearchSelection:o(R=>{er($=>_g(Ot.length,$,R))},"stepHistorySearchSelection"),submitHistorySearchSelection:o(()=>{let R=Ot[fo];R&&(Lp(R.itemId),$p())},"submitHistorySearchSelection"),appendHistorySearchQuery:o(R=>{Hi($=>$+R),er(0)},"appendHistorySearchQuery"),openHistorySearchSurface:Pp,clearTranscriptSelectionFocus:_p,exitTranscriptModeSurface:su,toggleTranscriptShowAll:Ox,scrollTranscriptHome:o(()=>{xl(Math.max(0,Ka-Gt.messageRows))},"scrollTranscriptHome"),scrollTranscriptToBottom:o(()=>{wl(),tn()},"scrollTranscriptToBottom"),cycleTranscriptSelection:Rx,copySelectedTranscriptText:o(()=>{ou()},"copySelectedTranscriptText"),copySelectedTranscriptItem:o(()=>{Mx()},"copySelectedTranscriptItem"),copySelectedTranscriptToolInput:o(()=>{Ax()},"copySelectedTranscriptToolInput"),toggleSelectedTranscriptDetail:Ex,navigateSearchMatch:o(R=>{er($=>{let j=_g(Ot.length,$,R),H=Ot[j];return H&&Lp(H.itemId),j})},"navigateSearchMatch"),dumpTranscriptToScrollback:o(()=>{sb({items:Ut.filter(R=>!yh(R)),exitAltScreen:o(()=>{A(xd({mouseTracking:!0}))},"exitAltScreen"),writeToScrollback:o(R=>{A(R)},"writeToScrollback"),enterAltScreen:o(()=>{A(yd({mouseTracking:!0,clearOnEnter:!1}))},"enterAltScreen")})},"dumpTranscriptToScrollback")})},[Z,Ut,Ye.currentResponse,Ye.thinkingContent,Ye.activeToolCalls,Yn,Ka,Va,vx,tt,_p,su,Ox,Fe,Sl,xl,wl,Yl,fo,tn,ou,Ot,Pp,$p,iu,Rx,Gi,Mx,Xl,Ax,ql,Ex,Lp,Br,_x,Fe.supportsMouseTracking,$r,By,Hy,xp,Go,jl,Xi,Gt.messageRows]),An(u=>{if(!rt)return!1;let h=u.sequence.trim().toLowerCase(),x=!!rt.input._alwaysConfirm,k=_.permissionMode==="accept-edits"&&!x,R=o($=>{let j=`${te("dialog.confirm")} ${rt.prompt}
|
|
141
|
-
\u2192 ${te(`confirm.result.${$}`)}`;!!et.current.workerId?Ft({id:`confirm-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"info",text:j,timestamp:Date.now()}):G({type:"info",text:j})},"recordConfirmResult");return h==="y"||h==="yes"?(R("approved"),Bl(null),Uo.current?.({confirmed:!0}),Uo.current=null,!0):k&&(h==="a"||h==="always")?(R("approved_always"),Bl(null),Uo.current?.({confirmed:!0,always:!0}),Uo.current=null,!0):h==="n"||h==="no"||u.name==="escape"?(R("denied"),Bl(null),Uo.current?.({confirmed:!1}),Uo.current=null,!0):u.insertable||u.name==="return"},{isActive:!!rt,priority:fn.Critical});let lu=K(u=>{Zn(null),Hl.current?.(u),Hl.current=null},[]),qi=K((u,h,x,k)=>h.length===0?Promise.resolve(void 0):new Promise(R=>{Hl.current=R,Zn({kind:"select",title:u,options:h,buffer:"",focusedIndex:0,selectedIndices:[],multiSelect:x,minSelections:k?.minSelections,maxSelections:k?.maxSelections})}),[]),eE=K((u,h)=>qi(u,h.map(x=>({label:x,value:x}))).then(x=>Array.isArray(x)?x[0]:x),[qi]),Fx=K(async u=>{let h=u.options?Bf(u.options):[],x=await qi(Ng(u),h,!1);return x===void 0?Su:Array.isArray(x)?x[0]??Su:x},[qi]);Ne(()=>{let u=!1;return(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-OSXHEIBB.js");u||h(Fx)})(),()=>{u=!0,(async()=>{let{bindAskUserForConstruction:h}=await import("./construction-bootstrap-OSXHEIBB.js");h(null)})()}},[Fx]);let jx=K((u,h)=>new Promise(x=>{Hl.current=k=>x(Array.isArray(k)?k[0]:k),Zn({kind:"input",prompt:u,defaultValue:h,buffer:""})}),[]);An(u=>{let h=Wl.current;if(!h)return!1;if(u.name==="escape")return lu(void 0),!0;if(h.kind==="select"){let x=h.options.length;if(u.name==="up"||u.sequence==="k")return Zn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex-1+x)%x,error:void 0}:k),!0;if(u.name==="down"||u.sequence==="j")return Zn(k=>k&&k.kind==="select"?{...k,focusedIndex:(k.focusedIndex+1)%x,error:void 0}:k),!0;if(u.sequence===" "&&h.multiSelect)return Zn(k=>{if(!k||k.kind!=="select")return k;let R=k.focusedIndex,$=k.selectedIndices.includes(R)?k.selectedIndices.filter(j=>j!==R):[...k.selectedIndices,R];return{...k,selectedIndices:$,error:void 0}}),!0;if(u.name==="return"){let k=Wl.current;if(!k||k.kind!=="select")return!1;if(k.multiSelect){let R=k.selectedIndices.length,{minSelections:$,maxSelections:j}=k,H=R===0&&$!==0?te("select.multiselect_empty"):$!==void 0&&R<$?te("select.multiselect_min",{min:String($)}):j!==void 0&&R>j?te("select.multiselect_max",{max:String(j)}):void 0;if(H!==void 0)return Zn(se=>se&&se.kind==="select"?{...se,error:H}:se),!0;let ee=k.selectedIndices.slice().sort((se,je)=>se-je).map(se=>k.options[se]?.value).filter(se=>typeof se=="string"&&se.length>0);lu(ee)}else lu(k.options[k.focusedIndex]?.value);return!0}if(/^[1-9]$/.test(u.sequence)){let k=Number.parseInt(u.sequence,10)-1;if(k>=0&&k<x)return h.multiSelect?Zn(R=>{if(!R||R.kind!=="select")return R;let $=R.selectedIndices.includes(k)?R.selectedIndices.filter(j=>j!==k):[...R.selectedIndices,k];return{...R,focusedIndex:k,selectedIndices:$,error:void 0}}):Zn(R=>R&&R.kind==="select"?{...R,focusedIndex:k,error:void 0}:R),!0}return!1}if(u.name==="return"){let x=Wl.current;if(!x||x.kind!=="input")return!1;let k=x.buffer.trim();return lu(k===""?x.defaultValue??void 0:k),!0}return u.name==="backspace"||u.name==="delete"?(Zn(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?(Zn(x=>x&&x.kind==="input"?{...x,buffer:x.buffer+u.sequence,error:void 0}:x),!0):!1},{isActive:!!$e,priority:fn.Critical}),Ne(()=>{if(n.messages.length>0&&D.length===0){if(n.uiHistory?.length){let u=Qr(n.uiHistory);u.length!==n.uiHistory.length&&(n.uiHistory=u),Y(mf({messages:n.messages,uiHistory:u}));return}Y(mf({messages:n.messages}))}},[n.messages,n.uiHistory,D.length,Y]),Ne(()=>{pu(n.gitRoot)},[n.gitRoot]),Ne(()=>{process.env.KODAX_PREWARM_REPO_INTELLIGENCE!=="0"&&dS({executionCwd:n.gitRoot??process.cwd(),gitRoot:n.gitRoot??void 0},{mode:_.repoIntelligenceMode})},[n.gitRoot,_.repoIntelligenceMode]);let Ja=K(()=>({onThinkingDelta:o((u,h)=>{if(ot.current||$n(h,"thinking",u,{append:!0}))return;C.currentTool&&(q(void 0),ge());let{header:x}=gI(F()+u),k=x?`[Thinking: ${x}]`:"[Thinking]";St(wf(lt.current?.activeWorkerTitle?`[${lt.current.activeWorkerTitle}] ${k}`:k,lt.current?.activeWorkerTitle)),ke(u.length),De(u),et.current.workerId&&$l("thinking",u)},"onThinkingDelta"),onThinkingEnd:o((u,h)=>{if(ot.current||$n(h,"thinking",u))return;let x=F(),k=pI(x,u);k&&k!==x&&(le(),de(),ke(k.length),De(k)),et.current.workerId&&Ey(k),W()},"onThinkingEnd"),onTextDelta:o((u,h)=>{ot.current||$n(h,"assistant",u,{append:!0})||(C.currentTool&&(q(void 0),ge()),W(),St(void 0),Ct(u),et.current.workerId&&$l("assistant",u))},"onTextDelta"),onToolUseStart:o((u,h)=>{if(ot.current||$n(h,"tool",k0(u.name,u.input)))return;ur.current.includes(u.name)||(ur.current=[...ur.current,u.name]);let x=lt.current?.activeWorkerTitle?`[${lt.current.activeWorkerTitle}] `:"",k={id:u.id,name:`${x}${u.name}`,status:B.Executing,startTime:Date.now(),input:u.input};My(k),et.current.workerId&&Qn(k),St(Zr(k,lt.current?.activeWorkerTitle))},"onToolUseStart"),onToolInputDelta:o((u,h,x)=>{if(ot.current||$n(x,"tool",u,{skipIfExisting:!0}))return;Be(h.length),pt(h);let k=Ay(x?.toolId,u,R=>{let $=R.preview??"",j=uI(`${$}${h}`);return{...R,preview:j||void 0,input:R.input?j?{...R.input,preview:j}:{...R.input}:j?{preview:j}:void 0}});k&&(et.current.workerId&&Qn(k),St(Zr(k,lt.current?.activeWorkerTitle)))},"onToolInputDelta"),onToolResult:o((u,h)=>{if(ot.current||$n(h,"tool",`${u.name} completed`))return;let x=typeof u.content=="string"?u.content:String(u.content??""),k=dI(x);if(/^\[(?:Tool Error|Error)\]/.test(x)){let $=Dl(u.id,B.Error,k,k,u.name);$&&(et.current.workerId&&Qn($),St(Zr($,lt.current?.activeWorkerTitle)));return}if(/^\[(?:Cancelled|Blocked)\]/.test(x)){let $=Dl(u.id,B.Cancelled,void 0,k,u.name);$&&(et.current.workerId&&Qn($),St(Zr($,lt.current?.activeWorkerTitle)));return}let R=Dl(u.id,B.Success,void 0,k||void 0,u.name);R&&(et.current.workerId&&Qn(R),St(Zr(R,lt.current?.activeWorkerTitle)))},"onToolResult"),onToolProgress:o((u,h)=>{if(ot.current||$n(h,"progress",u.message))return;let x=u.message.length>100?u.message.slice(0,97)+"...":u.message,k=Bi(u.id,R=>({...R,preview:x,progressLines:[...(R.progressLines??[]).slice(-4),x]}));k&&et.current.workerId&&Qn(k),St(x)},"onToolProgress"),onStreamEnd:o(u=>{if(ot.current||lf(u))return;let h=Pa(B.Cancelled,()=>({error:"Stream ended before the tool completed.",output:void 0})),x=h[h.length-1];et.current.workerId&&h.forEach(k=>Qn(k)),x&&St(Zr(x,lt.current?.activeWorkerTitle)),W(),ge(),q(void 0)},"onStreamEnd"),onChildActivityEnd:o(u=>{Cy(u)},"onChildActivityEnd"),hasPendingInputs:o(()=>Bx.current.length>0,"hasPendingInputs"),onMidTurnUserMessages:o(u=>{if(!ot.current)for(let h of u){let x=h.trim();x&&(et.current.workerId?Ft({id:`mid-turn-user-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"user",text:x,timestamp:Date.now()}):G({type:"user",text:x}))}},"onMidTurnUserMessages"),onSidecarMessage:o(u=>{if(ot.current)return;let h=u.suggestedFix?`${u.content}
|
|
142
|
-
Suggested fix: ${u.suggestedFix}`:u.content;if(u.delivery==="budget-exhausted")ky({type:"sidecar",text:h,delivery:"budget-exhausted"},"sidecar-message");else{let x=u.verdict==="blocked"?"blocked":"revise";ky({type:"sidecar",text:h,verdict:x},"sidecar-message")}},"onSidecarMessage"),onError:o(u=>{let h=ao();h?.name&&St(Zr(h,lt.current?.activeWorkerTitle));let x=Pa(B.Error,()=>({error:u.message,output:void 0})),k=x[x.length-1];et.current.workerId&&x.forEach(je=>Qn(je)),k&&St(Zr(k,lt.current?.activeWorkerTitle));let R=eS(u),$=["Transient","Permanent","Tool Call ID","User Abort"];if(R.category===ec.USER_ABORT)return;let H=[`\u274C API Error (${$[R.category]||"Unknown"}): ${u.message}`];R.shouldCleanup&&H.push(" \u{1F9F9} Cleaned incomplete tool calls"),R.category===ec.PERMANENT?(H.push(" \u{1F4A1} This error requires manual intervention. Please check:"),u.message.includes("auth")||u.message.includes("401")?(H.push(" - Your API key is valid"),H.push(" - Run /config to check provider settings")):u.message.includes("400")?(H.push(" - The request parameters are correct"),H.push(" - Try restarting the conversation")):H.push(" - The error details above")):R.category===ec.TRANSIENT?H.push(" \u23F3 Retries exhausted. Press Enter to continue the conversation"):R.category===ec.TOOL_CALL_ID&&H.push(" \u2705 Session cleaned, ready to continue");let ee=H.join(`
|
|
143
|
-
`);!!et.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:ee,timestamp:Date.now()}):G({type:"error",text:ee})},"onError"),onRetry:o((u,h,x,k)=>{if(ot.current)return;let R=hf(u,h,x);if(Ra(k,R.text)||$n(k,"progress",R.text))return;!!et.current.workerId?Ft({...R,id:`retry-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):G(R)},"onRetry"),onProviderRecovery:o((u,h)=>{if(ot.current)return;let x=gf(u);if(Ra(h,x.text)||$n(h,"progress",x.text))return;let k=!!et.current.workerId,R=Q().trim();R&&(k?$l("assistant",R):G({type:"assistant",text:R})),Pe(),le(),W(),ge(),q(void 0),co(),St(void 0),k?Ft({...x,id:`recovery-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,timestamp:Date.now()}):G(x)},"onProviderRecovery"),onManagedTaskStatus:o(u=>{if(ot.current)return;let h=et.current;if(Hv(u)){if(h.workerId&&h.workerId!==u.activeWorkerId)HR({workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle});else if(h.workerId!==u.activeWorkerId){let j=mt.current,H=j.activeToolGroupTools.some(ee=>ee.status===B.Executing);mt.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle,...H?{activeToolGroupItemId:j.activeToolGroupItemId,activeToolGroupTools:j.activeToolGroupTools}:{activeToolGroupTools:[]}},et.current={workerId:u.activeWorkerId,workerTitle:u.activeWorkerTitle}}}lt.current=u,bl(u);let x=hI(u);WR(x);let k=ta(u),$=ta(u,{expanded:!0})??k;$&&(Rl.current=$)},"onManagedTaskStatus"),onProviderRateLimit:o((u,h,x,k)=>{if(ot.current)return;let R=Hp.current;if(Hp.current=null,oI(R,{attempt:u,maxAttempts:h,delayMs:x}))return;let $=`[Rate Limit] Retrying in ${x/1e3}s (${u}/${h})...`;Ra(k,$)||$n(k,"progress",$)||bn({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onProviderRateLimit"),onRetryAfter:o((u,h)=>{if(ot.current)return;Hp.current={attempt:u.attempt,maxAttempts:u.maxAttempts,waitMs:u.waitMs};let x=Math.round(u.waitMs/1e3),k=u.source==="exponential-backoff"?"no-header \u2192 backoff":u.source,$=`[${u.reason==="overloaded"?"Overloaded":"Rate limited"}] (${u.provider}) \u2014 retrying in ${x}s [${k}] (${u.attempt}/${u.maxAttempts})`;Ra(h,$)||$n(h,"progress",$)||bn({type:"info",icon:"\u23F3",text:$},"ratelimit")},"onRetryAfter"),onReasoningEffortRejected:o(u=>{nS(u.provider,u.model,u.effort,"observed",new Date().toISOString());let x=Zo({provider:u.provider,model:u.model,effort:ht.current.effort,effortOverride:ht.current.effortOverride,permissionMode:ht.current.permissionMode,planModeEffort:ht.current.planModeEffort,thinking:ht.current.thinking,reasoningMode:ht.current.reasoningMode}).runtimeEffort;xe(k=>({...k,effort:x,effortOverride:x!==void 0})),fs({effort:x}),Le.current.effort=x,bn({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=>{ot.current||bn(MI(u),"repointel-trace")},"onRepoIntelligenceTrace"),onTodoUpdate:o(u=>{ot.current||Or(u)},"onTodoUpdate"),onScoutSuspiciousCompletion:o(u=>{ot.current||Wv&&bn({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,h)=>{if(ot.current)return;if(h&&qe(h),lt.current?.globalWorkBudget){let se={...lt.current,budgetUsage:Math.min(lt.current.globalWorkBudget,(lt.current.budgetUsage??0)+1)};lt.current=se,bl(se)}let x=u>1?F().trim():"",k=u>1?Kg(Q()):"",R=u>1?[...ur.current]:[],$=u>1?[...Zt.current]:[],j=!!et.current.workerId;we(u),j&&_l({clearOwner:!1});let H=Dr.current.filter(se=>se.status===B.Executing),ee=new Set(H.map(se=>se.id));if(ur.current=[],Zt.current=Zt.current.filter(se=>ee.has(se.id)),Pn(H),ge(),q(void 0),St(wf(lt.current?.activeWorkerTitle?`[Thinking] [${lt.current.activeWorkerTitle}]`:void 0,lt.current?.activeWorkerTitle)),de(),u>1&&!j){let se=zg({thinking:x,response:k,toolCalls:$,toolNames:R});Ri.current?Ri.current(se):Y([...se])}},"onIterationStart"),beforeToolExecute:o(async(u,h)=>{let x=Dn.current,k=rc(x),R=Dx.current,$=n.gitRoot;if(IS(O.current,u,h))return`[Skipped] Previously denied operation. ${bS(O.current)}`;if(x==="plan"&&(Jo.has(u)||u==="undo"))return`[Blocked] Tool '${u}' is not allowed in plan mode (read-only). ${Dv}`;if(x==="plan"&&u==="bash"){let j=h.command??"";if(yo(j))return`[Blocked] Bash write operation not allowed in plan mode: ${j.slice(0,50)}... ${Dv}`}if(u==="bash"){let j=h.command??"";if(go(j))return!0}if(pn(x)&&bp==="llm")return!0;if(u==="bash"){let j=h.command??"",H=TS(j);if(H.level==="dangerous"){let ee=await mo(u,{...h,_dangerousCommand:!0});return ee.confirmed?ee.confirmed:(O.current=Xp(O.current,u,h,H.reason),`[Blocked] Dangerous command requires confirmation: ${H.reason}`)}}if($){let j=!1;if(Jo.has(u)){let H=h.path;H&&sc(H,$)&&(j=!0)}if(u==="bash"){let H=h.command;H&&AS(H,$)&&(j=!0)}if(j){let H=await mo(u,{...h,_alwaysConfirm:!0});if(Dn.current==="plan"&&(Jo.has(u)||u==="undo"))return!1;if(Dn.current==="plan"&&u==="bash"){let ee=h.command??"";if(yo(ee))return!1}return H.confirmed}}if(k.has(u)){if(x==="accept-edits"&&u==="bash"&&await ic(u,h,R,Np.current??void 0))return!0;let j=await mo(u,h);if(Dn.current==="plan"&&(Jo.has(u)||u==="undo"))return!1;if(Dn.current==="plan"&&u==="bash"){let H=h.command??"";if(yo(H))return!1}if(!j.confirmed)return G({type:"info",text:te("cancelled")}),O.current=Xp(O.current,u,h),!1;j.always&&x==="accept-edits"&&(Au(u,h,!1),Dx.current=ms())}return!0},"beforeToolExecute"),askUser:o(async u=>{let h=u.options?Bf(u.options):[],x=await qi(Ng(u),h,u.multiSelect,{minSelections:u.minSelections,maxSelections:u.maxSelections});return x===void 0?Su:x},"askUser"),exitPlanMode:o(async u=>Dn.current!=="plan"?"not-in-plan-mode":(await mo("exit_plan_mode",{plan:u})).confirmed?(Bp("accept-edits"),!0):!1,"exitPlanMode"),askUserMulti:o(async u=>{let h=u.questions,x={},k=0;for(;k<h.length;){let R=h[k],$=Bf(R.options);k>0&&$.push({label:te("select.back_prev"),value:zp});let j=`[${k+1}/${h.length}] ${R.question}`,H=await qi(j,$,R.multiSelect,{minSelections:R.minSelections,maxSelections:R.maxSelections});if(H===void 0)return;if(!Array.isArray(H)&&H===zp){k--;continue}x[R.question]=H,k++}return x},"askUserMulti"),askUserInput:o(async u=>jx(u.question,u.default),"askUserInput"),onCompactStart:o(()=>{ze()},"onCompactStart"),onCompactStats:o(u=>{Sa.current=u.tokensBefore,zn(u.tokensAfter)},"onCompactStats"),onCompactedMessages:o((u,h)=>{n.messages=u,h?.artifactLedger&&h.artifactLedger.length>0&&(n.artifactLedger=us(n.artifactLedger??[],h.artifactLedger)),n.lineage=h?.anchor?mu(n.lineage,u,h.anchor,h.postCompactAttachments??[]):Dt(u,n.lineage);let x=rs(u);n.contextTokenSnapshot={currentTokens:x,baselineEstimatedTokens:x,source:"estimate"},Er(n),zn(x),ml.current?.().catch(()=>{})},"onCompactedMessages"),onCompact:o(u=>{on();let h=Sa.current??u;Sa.current=null;let x=Math.round(h/1e3);bn({type:"info",icon:"\u2728",text:`Context auto-compacted (was ~${x}k tokens)`},"compact")},"onCompact"),onCompactEnd:o(()=>{Sa.current=null,on()},"onCompactEnd"),onIterationEnd:o(u=>{u.scope!=="worker"&&(n.contextTokenSnapshot=u.contextTokenSnapshot),zn(u.tokenCount)},"onIterationEnd")}),[ke,De,W,Ct,q,Be,pt,ge,we,de,_,n,ze,on,G,le,F,Q,_l,St,$l,Ey,Qn,My,Ay,Dl,Pa,ao,co,Pn,Cy,Ra,$n,bn,C.currentTool]),mo=o((u,h)=>{let x=lI(u,h);return Jn(),new Promise(k=>{Uo.current=k,Bl({tool:u,input:h,prompt:x})})},"showConfirmDialog");Ne(()=>(d(async(u,h,x)=>(await mo(u.name,{...u.input,_reason:`[auto-mode] ${h}`,...x&&x.length>0?{_classifierSignals:x}:{}})).confirmed?"allow":"block"),f(u=>{vp(u)}),()=>{d(null),f(null)}),[]),Ne(()=>{p(_)},[_,p]),Ne(()=>{let u=o(()=>Ja(),"resolve");return Yp({askUser:o(h=>{let x=u().askUser;if(!x)throw new Error("askUser surface unavailable");return x(h)},"askUser"),askUserMulti:o(async h=>{let x=u().askUserMulti;return x?x(h):void 0},"askUserMulti"),askUserInput:o(async h=>{let x=u().askUserInput;return x?x(h):void 0},"askUserInput")}),()=>Yp(void 0)},[Ja]);let Ji=o(async(u,h,x=n.lineage?Nt(n.lineage,n.lineage.activeEntryId):n.messages,k)=>{let R={...Ja(),getCostReport:N,onWorkflowProcessEvent:LR,onWorkflowAgentDigest:o(({runId:ee,event:se})=>{let je=se.data??{},Ue=typeof je.summary=="string"?je.summary:void 0,Vt=typeof je.name=="string"?je.name:void 0,Yo=ba.current,Za=Ue!==void 0||Vt!==void 0?uc(Ue,Vt):Yo?.runId===ee?Yo.locale??"en":"en",jr=Lu(se,Za,ee);jr&&(et.current.workerId?Ft({id:`wf-digest-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"assistant",text:jr,timestamp:Date.now()}):Nn([{type:"assistant",text:jr}]))},"onWorkflowAgentDigest")},j=aS(n.gitRoot).getSystemPromptSnippet(),H=AI(u.context,n.gitRoot,n.contextTokenSnapshot,j);k&&k.length>0&&(H.inputArtifacts=[...k]),H.planModeBlockCheck=(ee,se)=>Dn.current!=="plan"?null:ti(ee,se,n.gitRoot??process.cwd());try{return await tc({...u,session:{...u.session,initialMessages:x,initialExtensionState:n.extensionState??{},initialExtensionRecords:n.extensionRecords??[]},context:H,events:R,abortSignal:It()},h)}finally{mS()}},"runAgentRound"),kn=K(u=>{let h=Dt([...u],n.lineage);return n.lineage=h,h},[n]),Qa=K(async u=>{if(n.messages.length===0)return;let h=ri(n.messages),x=Qr(u??y.current);y.current=x,n.title=h,n.uiHistory=x;let k=n.lineage??kn(n.messages);n.lineage=k;let R={...n.extensionStateDirty?{extensionState:n.extensionState??{}}:{},...n.extensionRecordsDirty?{extensionRecords:n.extensionRecords??[]}:{}},$=ua({messages:n.messages,title:h,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:x,lineage:k,artifactLedger:n.artifactLedger,...R});DD(r)?await r.appendSessionDelta(n.sessionId,$):await r.save(n.sessionId,$),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,vf()&&kf("persist",Rf(n.messages,k,{historyItems:ue.current,foregroundItems:sn.current,streamingResponse:ce.current.currentResponse,streamingThinking:ce.current.thinkingContent,persistedUiHistory:y.current}))},[n,kn,r]),Wp=K(()=>{if(hl.current)return hl.current;let u=(async()=>{try{for(;Bo.current.requested;){Bo.current.requested=!1;let h=Bo.current.uiHistoryOverride;Bo.current.uiHistoryOverride=void 0,await Qa(h)}}finally{hl.current=null,Bo.current.requested&&Wp()}})();return hl.current=u,my.current=u,u},[Qa]),Fr=K(u=>{if(u!==void 0){let h=Qr(u);y.current=h,Bo.current.uiHistoryOverride=h}return Bo.current.requested=!0,Wp()},[Wp]),tE=K(async()=>{if(Ta.current)return Ta.current;let u=(async()=>{ot.current=!0,X(),oe(),W(),le(),ge(),Pe(),q(void 0),V(!1),await my.current.catch(()=>{}),await ml.current?.().catch(()=>{}),io(!1),v&&I?.isRaw&&T(!1),I?.pause?.(),I?.unref?.(),g(),a()})();return Ta.current=u.finally(()=>{Ta.current=null}),Ta.current},[X,Pe,le,ge,g,v,a,q,V,T,I,oe,W]);Ne(()=>(ml.current=Fr,()=>{ml.current=null}),[Fr]);let uu=K(u=>{if(u.length===0)return;let h=Wf(y.current,u);y.current=h,Fr(h)},[Fr]),Nn=K(u=>{u.length!==0&&(Y([...u]),uu(u))},[Y,uu]),Qi=K(u=>{u.length!==0&&(Y([...u]),y.current=Wf(y.current,u))},[Y]);Ne(()=>(Ri.current=Nn,()=>{Ri.current=null}),[Nn]);let Ux=K(async u=>{Jn(),n.messages=u.messages,n.contextTokenSnapshot=u.contextTokenSnapshot,Ov(n,u),kn(u.messages);let h=u.success===!1&&!u.interrupted,x=F().trim(),k=DS(u.messages,Q(),u.managedTask?.verdict.summary,u.lastText),R=mt.current.workerTitle,$=[...sn.current],j=$.length>0;Ll($);let H=j&&$.some(st=>st.type==="assistant"&&"text"in st&&Bv(String(st.text??""),R)),ee=$.filter(st=>st.type!=="assistant"||!("text"in st)||Bv(String(st.text??""),R)),se=!h&&k&&!H,je=[...Li.current],Ue=h?[]:je.length===0?Wv?og(u):og(u).filter(st=>!rg(st)):[],Vt=j?[]:zg({thinking:x,response:void 0,toolCalls:Zt.current,toolNames:ur.current}),Yo=[...ee.map(st=>Oo(st)),...Vt,...h?[]:je.map(st=>Oo(st)),...Ue.map(st=>Nv(st)),...se?[{type:"assistant",text:u.interrupted?`${k}
|
|
144
|
-
|
|
145
|
-
[Interrupted]`:k}]:!k&&!H&&!u.interrupted&&!h?[{type:"info",text:"[No response text was produced for this round]"}]:[]],Za=Wf(y.current,Yo);le(),Pe();let jr=[...ee.map(st=>Oo(st)),...Vt,...h?[]:[...Ue.map(st=>Nv(st)),...je.map(st=>Oo(st))],...se?[{type:"assistant",text:u.interrupted?`${k}
|
|
146
|
-
|
|
147
|
-
[Interrupted]`:k}]:!k&&!H&&!u.interrupted&&!h?[{type:"info",text:"[No response text was produced for this round]"}]:[]];Y(jr),ur.current=[],Zt.current=[],co(),ge(),q(void 0),St(void 0),La(),Wo.current=[],Li.current=[],Ea([]),Ke(),Fr(Za).catch(()=>{})},[Y,Ke,ge,Pe,le,n,Jn,Q,F,Fr,kn,co,La,q,St,C.currentIteration]),Zi=K(async u=>{let h=u.trim();h&&(G({type:"user",text:h}),pl(x=>x+1),Er(n))},[G,n]),es=K(async(u,h)=>{let x=qa.current;ot.current=!1,wa.current=!1,ya(!0);try{return await JI({initialPrompt:u,runRound:h,shiftPendingPrompt:dn,onRoundComplete:o(async k=>{qa.current===x&&await Ux(k)},"onRoundComplete"),onBeforeQueuedRound:o(async k=>{ot.current=!1,wa.current=!1,await Zi(k)},"onBeforeQueuedRound"),shouldContinue:o(k=>!ot.current&&k.success!==!1,"shouldContinue"),shouldDrainQueuedPrompts:o(()=>xa.current?ce.current.pendingInputs.length===0?(xa.current=!1,!0):!1:!0,"shouldDrainQueuedPrompts")})}finally{ya(!1)}},[Ux,dn,Zi]),Gx=K(async u=>{if(n.messages.length===0)return"empty";if(!_o(_,"Recovering into a new session",rl))return"blocked";let x=n.sessionId,k=n.lineage??kn(n.messages);n.lineage=k;let R=n.artifactLedger?structuredClone(n.artifactLedger):void 0,$=xu({sourceSessionId:x,messages:n.messages,lineage:k,artifactLedger:R,reason:"provider session recovery"}),j=n.title||ri(n.messages);await r.save(n.sessionId,ua({messages:n.messages,title:j,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:y.current,lineage:k,artifactLedger:R,extensionState:n.extensionState,extensionRecords:n.extensionRecords}));let H=Si(),ee=Dt($.messages);await r.save(H,ua({messages:$.messages,title:$.title,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:[],lineage:ee,artifactLedger:R}));let se=new Date().toISOString();n.sessionId=H,n.messages=$.messages,n.uiHistory=[],n.title=$.title,n.contextTokenSnapshot=void 0,n.lineage=ee,n.artifactLedger=R,n.extensionState=void 0,n.extensionRecords=void 0,n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.createdAt=se,n.lastAccessed=se,y.current=[],Le.current.session={...Le.current.session,id:H},zn(null),re(),Or([]),om()?.reset(),me(H),m?.writer.update({sessionId:H}),Qi([{type:"info",text:`Recovered into new session ${H}
|
|
148
|
-
Source session saved: ${x}
|
|
149
|
-
Raw provider history was not replayed.`}]),await r.save(H,ua({messages:n.messages,title:n.title,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:y.current,lineage:n.lineage,artifactLedger:n.artifactLedger}));let je=yu(u);try{await Zi(je),await es(je,async Ue=>{let Vt=oa(Ue,Le.current.context?.executionCwd??process.cwd());for(let Yo of Vt.warnings)G({type:"info",text:Yo});return Ji(Le.current,Vt.promptText,n.messages,Vt.inputArtifacts)})}catch(Ue){let Vt=Ue instanceof Error?Ue.message:String(Ue);return Nn([{type:"error",text:`[Recover failed] ${Vt}`}]),"failed"}return"recovered"},[G,Nn,Qi,re,n,_,kn,es,Zi,r,m]),Fp=K(async()=>{let u=dn();if(!u||!u.trim())return;let h=u.trim();await Zi(h),await es(h,async x=>Ji(Le.current,x))},[Ji,es,dn,Zi]),jp=K(u=>{let h=u[u.length-1];if(h?.role!=="assistant")return;let x=cc(h);Y(x.map(ni))},[Y]),Vx=K(async(u,h)=>{let x=await If({...Le.current,provider:_.provider,thinking:_.thinking,reasoningMode:_.reasoningMode},u,h,k=>G({type:"info",text:k}));if(x.mode==="manual"){x.manualOutput&&G({type:"info",text:x.manualOutput}),await x.finalize();return}if(!x.prompt||!x.options){await x.finalize();return}ya(!0);try{let k=x.mode==="fork"?[]:n.lineage?Nt(n.lineage,n.lineage.activeEntryId):n.messages,R=qa.current,$=await Ji(x.options,x.prompt,k);if(qa.current!==R)await x.finalize();else{let j=y.current,H=[];if(x.mode==="fork"){let ee=$.messages.find(je=>je.role==="user");ee&&n.messages.push(ee);let se=$.messages.slice().reverse().find(je=>je.role==="assistant");if(se){n.messages.push({role:"assistant",content:se.content}),kn(n.messages);for(let je of cc(se)){let Ue=ni(je);G(Ue),H.push(Ue)}}}else{n.messages=$.messages,n.contextTokenSnapshot=$.contextTokenSnapshot,kn($.messages),jp($.messages);let ee=$.messages[$.messages.length-1];if(ee?.role==="assistant")for(let se of cc(ee))H.push(ni(se))}Ov(n,$),await Qa(Wf(j,H)),vf()&&kf("round-end",Rf(n.messages,n.lineage,{historyItems:ue.current,foregroundItems:sn.current,streamingResponse:ce.current.currentResponse,streamingThinking:ce.current.thinkingContent,persistedUiHistory:y.current})),await x.finalize()}}catch(k){let R=k instanceof Error?k:new Error(String(k));throw await x.finalize(R),ya(!1),R}ya(!1),await Fp()},[G,jp,n,_.provider,_.thinking,Fp,Qa,kn,Ji]),nE=K(async u=>{for(let h of u.pastedContents)if(h.type==="text"&&!h.content&&h.contentHash)try{let x=await qS(h.contentHash);x&&(h.content=x)}catch{}},[]),rE=K(async u=>{let{displayText:h,fullText:x,pastedContents:k}=u;if(!x.trim()||!Ln||rt||$e)return;for(let be of k){if(be.type!=="text"||be.content.length<1024)continue;let Re=YS(be.content);XS(Re,be.content)}if(Ly(!1),L){if(!np)return;if(C.pendingInputs.length>=5){bn({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(qI(x)){bn({type:"info",icon:"\u26A0",text:YI},XI);return}let be=C.currentTool;if(be&&Cu(be)?.interruptBehavior==="cancel"){_t(x),X({preservePendingInputs:!0}),yl(""),gl(!0),pl(Rn=>Rn+1),Er(n);return}_t(x),yl(""),gl(!0),pl(Re=>Re+1),Er(n);return}let R=Kg(Q()),$=sn.current.map(be=>Oo(be)),j=$.length>0;$.length>0&&(Ll(sn.current),Qi($)),!j&&R&&Qi([{type:"assistant",text:R+`
|
|
150
|
-
|
|
151
|
-
[Interrupted]`}]),Qi([{type:"user",text:h}]),yl(""),gl(!0),pl(be=>be+1),vf()&&kf("turn-start",Rf(n.messages,n.lineage,{historyItems:ue.current,foregroundItems:sn.current,streamingResponse:ce.current.currentResponse,streamingThinking:ce.current.thinkingContent,persistedUiHistory:y.current})),V(!0),ot.current=!1,wa.current=!1,++qa.current,bl(null),Ai(null),lt.current=null,Rl.current=null,St(void 0),La(),Wo.current=[],Li.current=[],Ea([]),jo(),Aa(void 0),ur.current=[],Zt.current=[],co(),hp(),Pe(),ge(),q(void 0),Ke(),Me(),Er(n),await new Promise(be=>setTimeout(be,50));let H=o(be=>{if(be.stage==="started"||be.stage==="generating"||be.stage==="validating"||be.stage==="ready"){Ai(be.message);return}Ai(null)},"handleWorkflowBuilderEvent"),ee=dp,se=o(be=>{if(be.type==="event")return;let Re=At(be.text).trimEnd();if(Re.trim()){if(be.type==="error"){G({type:"error",text:Re});return}if(be.type==="assistant"){Nn([{type:"assistant",text:Re}]);return}bn({type:"info",text:Re},"workflow-message")}},"handleWorkflowRunMessage"),je=o(async(be,Re,Rn)=>{if(bu({source:be.source}).action==="none")return!1;let tr=[],ho=console.log;console.log=(...J)=>{tr.push(Ug(J))};let hr=!1,ts=o(()=>{hr||(hr=!0,n.messages.push({role:"user",content:Re||be.request}))},"commitWorkflowUserMessage"),U={...Rn,onWorkflowRunMessage:o(J=>{if(Rn.onWorkflowRunMessage?.(J),J.type!=="assistant"||J.final!==!0)return;let Se=At(J.text).trimEnd();Se.trim()&&(ts(),n.messages.push({role:"assistant",content:Se}),kn(n.messages),Fr(),ce.current.pendingInputs.length>0&&(xa.current=!0))},"onWorkflowRunMessage")};try{let J=await Pu({request:be.request,callbacks:U,approval:_.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:be.displayName,processSource:be.processSource??"command",onBuilderEvent:U.onWorkflowBuilderEvent});return J==="started"&&ce.current.pendingInputs.length>0&&(xa.current=!0),vu({outcome:J})}finally{Ai(null),console.log=ho;let J=Gg(tr.filter((Se,nn,ns)=>ns.indexOf(Se)===nn));J&&G({type:"info",text:J})}},"runWorkflowInvocation"),Ue=xs(x.trim());if(Ue){let be=!1,Re=o(U=>{Ue.command==="workflow"&&(be||(be=!0,n.messages.push({role:"user",content:x.trim()})),n.messages.push({role:"assistant",content:U}),kn(n.messages),Fr())},"commitSlashWorkflowFinalMessage"),Rn={exit:tE,saveSession:o(async()=>{if(n.messages.length>0){let U=ri(n.messages);n.title=U;let J=n.lineage??kn(n.messages);n.lineage=J,await r.save(n.sessionId,ua({messages:n.messages,title:U,gitRoot:n.gitRoot??"",tag:Le.current.session?.tag,uiHistory:y.current,lineage:J,artifactLedger:n.artifactLedger,extensionState:n.extensionState,extensionRecords:n.extensionRecords})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1}},"saveSession"),startNewSession:o(()=>{let U=Si(),J=new Date().toISOString();n.sessionId=U,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,y.current=[],n.createdAt=J,n.lastAccessed=J,Le.current.session={...Le.current.session,id:U},zn(null),re(),Or([]),om()?.reset(),me(U),m?.writer.update({sessionId:U})},"startNewSession"),loadSession:o(async U=>{let J=await r.load(U);return J?_o(_,"Resuming a saved session",rl)?(n.messages=J.messages,n.uiHistory=Mo(J.uiHistory),n.lineage=J.lineage,n.artifactLedger=J.artifactLedger,n.extensionState=J.extensionState?structuredClone(J.extensionState):void 0,n.extensionRecords=J.extensionRecords?.map(nn=>({...nn})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=J.title,n.sessionId=U,n.contextTokenSnapshot=void 0,Le.current.session={...Le.current.session,id:U,tag:J.tag},y.current=n.uiHistory??[],zn(null),re(),Or([]),me(U),m?.writer.update({sessionId:U}),console.log(Xe.green(`[Session loaded: ${U}]`)),"loaded"):"blocked":"missing"},"loadSession"),listSessions:o(async()=>{let U=await r.list(n.gitRoot??void 0);if(U.length===0){console.log(Xe.dim(`
|
|
152
|
-
[No saved sessions]`));return}console.log(Xe.bold(`
|
|
153
|
-
Recent Sessions:
|
|
154
|
-
`));for(let J of U.slice(0,10))console.log(` ${Xe.cyan(J.id)} ${Xe.dim(`(${J.msgCount} messages)`)} ${J.title.slice(0,40)}`);console.log()},"listSessions"),clearHistory:o(()=>{n.uiHistory=[],re(),Or([])},"clearHistory"),printHistory:o(()=>{if(n.messages.length===0){console.log(Xe.dim(`
|
|
155
|
-
[No conversation history]`));return}console.log(Xe.bold(`
|
|
156
|
-
Conversation History:
|
|
157
|
-
`));let U=n.messages.slice(-20);for(let J=0;J<U.length;J++){let Se=U[J],nn=Xe.cyan(Se.role.padEnd(10)),ns=nm(Se.content),lE=ns.slice(0,60).replace(/\n/g," "),uE=ns.length>60?"...":"";console.log(` ${(J+1).toString().padStart(2)}. ${nn} ${lE}${uE}`)}console.log()},"printHistory"),switchProvider:o((U,J)=>{let Se=Zo({provider:U,model:J,effort:ht.current.effort,effortOverride:ht.current.effortOverride,permissionMode:ht.current.permissionMode,planModeEffort:ht.current.planModeEffort,thinking:ht.current.thinking,reasoningMode:ht.current.reasoningMode});xe(nn=>({...nn,provider:U,model:J})),Le.current.provider=U,Le.current.model=J,Le.current.effort=Se.runtimeEffort,Se.diagnostic&&console.log(Xe.yellow(`
|
|
158
|
-
[${Se.diagnostic}]`))},"switchProvider"),setThinking:o(U=>{let J=U?"auto":"off";xe(Se=>({...Se,thinking:U,reasoningMode:J})),Le.current.thinking=U,Le.current.reasoningMode=J},"setThinking"),setEffort:o(U=>{xe(J=>({...J,effort:U,effortOverride:U!==void 0}))},"setEffort"),setReasoningMode:o(U=>{let J=U!=="off";xe(Se=>({...Se,thinking:J,reasoningMode:U})),Le.current.thinking=J,Le.current.reasoningMode=U},"setReasoningMode"),setAgentMode:o(U=>{xe(J=>({...J,agentMode:U})),Le.current.agentMode=U},"setAgentMode"),setPermissionMode:o(U=>{Bp(U)},"setPermissionMode"),setRepoIntelligenceRuntime:o(U=>{xe(J=>({...J,...U.mode!==void 0?{repoIntelligenceMode:U.mode}:{},...U.trace!==void 0?{repoIntelligenceTrace:U.trace}:{}})),U.mode!==void 0&&(process.env.KODAX_REPO_INTELLIGENCE=U.mode,Le.current.context={...Le.current.context,repoIntelligenceMode:U.mode}),U.trace!==void 0&&(U.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,Le.current.context={...Le.current.context,repoIntelligenceTrace:U.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async U=>{await r.delete?.(U)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(n.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let U=await r.getLineage?.(n.sessionId);if(!U){console.log(Xe.dim(`
|
|
159
|
-
[No session tree available for this session]`));return}let J=xf(hu(U));console.log(Xe.bold(`
|
|
160
|
-
Session Tree:
|
|
161
|
-
`)),J.forEach(Se=>console.log(` ${Se}`)),console.log()},"printSessionTree"),switchSessionBranch:o(async U=>{if(!_o(_,"Switching session branches",rl))return"blocked";let Se=await r.setActiveEntry?.(n.sessionId,U,{summarizeCurrentBranch:!0});return Se?(n.messages=Se.messages,n.uiHistory=Mo(Se.uiHistory),n.extensionState=Se.extensionState?structuredClone(Se.extensionState):void 0,n.extensionRecords=Se.extensionRecords?.map(nn=>({...nn})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Se.title,n.contextTokenSnapshot=void 0,y.current=n.uiHistory??[],zn(null),re(),Or([]),console.log(Xe.green(`
|
|
162
|
-
[Switched to tree entry: ${U}]`)),console.log(Xe.dim(` Messages: ${Se.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(U,J)=>{if(!await r.setLabel?.(n.sessionId,U,J))return!1;let nn=J&&J.trim()?`checkpoint label set: ${J.trim()}`:"checkpoint label cleared";return console.log(Xe.green(`
|
|
163
|
-
[${nn}]`)),!0},"labelSessionBranch"),forkSession:o(async U=>{if(!_o(_,"Forking a session branch",rl))return"blocked";let Se=await r.fork?.(n.sessionId,U);if(!Se)return"failed";n.sessionId=Se.sessionId,n.messages=Se.data.messages,n.uiHistory=Mo(Se.data.uiHistory),n.extensionState=Se.data.extensionState?structuredClone(Se.data.extensionState):void 0,n.extensionRecords=Se.data.extensionRecords?.map(ns=>({...ns})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Se.data.title,n.contextTokenSnapshot=void 0,y.current=n.uiHistory??[];let nn=new Date().toISOString();return n.createdAt=nn,n.lastAccessed=nn,Le.current.session={...Le.current.session,id:Se.sessionId},zn(null),re(),Or([]),me(Se.sessionId),m?.writer.update({sessionId:Se.sessionId}),console.log(Xe.green(`
|
|
164
|
-
[Forked session: ${Se.sessionId}]`)),console.log(Xe.dim(` Messages: ${Se.data.messages.length}`)),"forked"},"forkSession"),recoverSession:Gx,rewindSession:o(async U=>{if(!_o(_,"Rewinding session",rl))return"blocked";let Se=await r.rewind?.(n.sessionId,U);return Se?(n.messages=Se.messages,n.uiHistory=Mo(Se.uiHistory),n.extensionState=Se.extensionState?structuredClone(Se.extensionState):void 0,n.extensionRecords=Se.extensionRecords?.map(nn=>({...nn})),n.extensionStateDirty=!1,n.extensionRecordsDirty=!1,n.title=Se.title,n.contextTokenSnapshot=void 0,y.current=n.uiHistory??[],zn(null),re(),Or([]),console.log(Xe.green(`
|
|
165
|
-
[Rewound session${U?` to ${U}`:" to previous turn"}]`)),console.log(Xe.dim(` Messages: ${Se.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>N.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(pn(Dn.current))return l.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(U=>{pn(Dn.current)&&(l.getGuardrail().setEngine(U),vp(U))},"setAutoModeEngine"),createKodaXOptions:o(()=>({...Le.current,provider:_.provider,model:_.model,effort:Ie,thinking:_.thinking,reasoningMode:_.reasoningMode,agentMode:_.agentMode,guardrails:jg(Dn.current,l),events:Ja()}),"createKodaXOptions"),reloadAgentsFiles:o(async()=>await Tu({cwd:process.cwd(),projectRoot:n.gitRoot??void 0}),"reloadAgentsFiles"),startCompacting:o(()=>{ze()},"startCompacting"),stopCompacting:o(()=>{on()},"stopCompacting"),onCompactStats:o(U=>{Sa.current=U.tokensBefore,zn(U.tokensAfter)},"onCompactStats"),confirm:o(async U=>(await mo("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),onWorkflowBuilderEvent:H,onWorkflowRunMessage:o(U=>{if(se(U),U.type!=="assistant"||U.final!==!0)return;let J=At(U.text).trimEnd();J.trim()&&Re(J)},"onWorkflowRunMessage"),onWorkflowRunUpdate:ee,ui:{select:o(async(U,J)=>eE(U,J),"select"),confirm:o(async U=>(await mo("confirm",{_alwaysConfirm:!0,_message:U})).confirmed,"confirm"),input:o(async(U,J)=>jx(U,J),"input")}},Bn=[],tr=console.log;console.log=(...U)=>{Bn.push(Ug(U))};let ho,hr;try{let U=await Ss(Ue,n,Rn,_);typeof U=="object"&&U!==null&&"invocation"in U&&(ho=U.invocation),typeof U=="object"&&U!==null&&"workflow"in U&&(hr=U.workflow)}finally{Ai(null),console.log=tr}let ts=Gg(Bn);if(ts&&G({type:"info",text:ts}),hr){try{await je(hr,x.trim(),Rn)}finally{ce.current.pendingInputs.length>0&&(xa.current=!0),V(!1),oe(),le()}return}if(ho){V(!1),oe(),V(!0),Me(),de();try{await Vx(ho,x.trim())}catch(U){let J=U instanceof Error?U:new Error(String(U)),Se=J.name==="AbortError"||J.message.includes("aborted")||J.message.includes("ABORTED");console.log=tr,Se?au():Nn([{type:"error",text:J.message}])}finally{V(!1),oe(),le()}return}V(!1),oe();return}let Vt=await Jh(x.trim());if(x.trim().startsWith("!")&&Jc(Vt)){V(!1),oe();return}let Yo=Le.current.context?.executionCwd??process.cwd(),Za=o(be=>{be.length!==0&&Nn(be.map(Re=>({type:"info",text:Re})))},"emitArtifactWarnings");de();let jr=[],st=console.log;console.log=(...be)=>{jr.push(Ug(be))};try{await es(Vt,async be=>{let Re=oa(be,Le.current.context?.executionCwd??process.cwd());return Za(Re.warnings),Ji(Le.current,Re.promptText,n.messages,Re.inputArtifacts)})}catch(be){let Re=be instanceof Error?be:new Error(String(be));if(Re.name==="AbortError"||Re.message.includes("aborted")||Re.message.includes("ABORTED"))console.log=st,au();else{let Bn=Re.message;if(Re.message.includes("rate limit")||Re.message.includes("Rate limit")?Bn=`[Rate Limit] ${Re.message}
|
|
166
|
-
Suggestion: Wait a moment and try again, or switch provider with /mode`:Re.message.includes("API key")||Re.message.includes("not configured")?Bn=`[Configuration Error] ${Re.message}
|
|
167
|
-
Suggestion: Set the required API key environment variable`:Re.message.includes("network")||Re.message.includes("ECONNREFUSED")||Re.message.includes("ETIMEDOUT")?Bn=`[Network Error] ${Re.message}
|
|
168
|
-
Suggestion: Check your internet connection`:(Re.message.includes("token")||Re.message.includes("context too long"))&&(Bn=`[Context Error] ${Re.message}
|
|
169
|
-
Suggestion: Use /clear to start fresh`),console.log=st,et.current.workerId?Ft({id:`error-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,type:"error",text:Bn,timestamp:Date.now()}):Nn([{type:"error",text:Bn}]),Ou({error:Re,messageCount:n.messages.length})){let tr={type:"info",text:dc};if(et.current.workerId?(Ft({id:`recover-hint-${Date.now()}-${Math.random().toString(36).slice(2,7)}`,...tr,timestamp:Date.now()}),uu([tr])):Nn([tr]),(await mo("confirm",{_alwaysConfirm:!0,_message:$u})).confirmed)try{await Gx(Vt)}catch(hr){let ts=hr instanceof Error?hr.message:String(hr);Nn([{type:"error",text:`[Recover failed] ${ts}`}])}}}}finally{if(console.log=st,jr.length>0){let Re=jr.filter((Bn,tr,ho)=>ho.indexOf(Bn)===tr),Rn=Gg(Re);Rn&&G({type:"info",text:Rn})}if(!ot.current){let Re=Pa(B.Cancelled,()=>({error:"Run ended before the tool result was observed.",output:void 0}));Re.length>0&&et.current.workerId&&Re.forEach(Rn=>Qn(Rn))}V(!1),oe(),Pe(),hp(),le();let be=rs(n.messages);n.contextTokenSnapshot={currentTokens:be,baselineEstimatedTokens:be,source:"estimate"},zn(be)}},[Ln,n,_,np,C.pendingInputs.length,r,rt,$e,g,a,G,re,Me,oe,Pe,Ja,Vx,It,Q,F,Ft,Qi,Nn,jp,Qa,Fr,uu,kn,es,Fp,ze,on,co,hp,Pa,Qn,jo,va,ka]),Kx=$t.shouldRender?ae(E,{paddingX:1,children:ae(J0,{viewModel:$t})}):void 0,zx=L&&pr.shouldRender?ae(E,{paddingX:1,children:ae(Y0,{viewModel:pr})}):void 0,Yx=zy?ae(E,{paddingX:1,children:ae(Vh,{viewModel:wp})}):void 0,oE=Kx||zx||Yx?wn(E,{flexDirection:"column",children:[zx,Kx,Yx]}):void 0,Xx=$t.shouldRender?$t.counterText:void 0,iE=ae(Zd,{left:ae(Jd,{items:lx}),right:ae(Qd,{items:ux}),queued:ae(Bh,{pendingInputs:C.pendingInputs}),stashNotice:ae(af,{text:eu}),notifications:ae(sf,{notifications:Zl}),inlineNotices:Mp.length>0?ae(Hh,{notices:Mp}):void 0,activityBar:Hr?wn(E,{paddingX:1,flexDirection:"row",children:[wn(E,{flexGrow:1,children:[Hr?.showSpinner?ae(Vn,{color:ne("dark").colors.accent}):null,Hr?wn(b,{color:Hr.kind==="waiting"?ne("dark").colors.warning:ne("dark").colors.accent,wrap:"truncate",children:[Hr.showSpinner?" ":"",Hr.text]}):null,Hr?.showSpinner&&C.roundStartedAt!=null?ae(fC,{roundStartedAt:C.roundStartedAt,charCount:C.currentResponse.length,theme:ne("dark")}):null]}),Xx?ae(b,{dimColor:!0,wrap:"truncate",children:Xx}):L&&pr.shouldRender?ae(b,{dimColor:!0,wrap:"truncate",children:`${pr.completedCount}/${pr.totalCount} completed`}):null]}):void 0,todoSurface:oE,composer:ae(Eh,{onSubmit:rE,onHistoryRecall:nE,onPopPendingInputs:o(()=>{let u=M();if(u.length!==0)return u.join(`
|
|
170
|
-
---
|
|
171
|
-
`)},"onPopPendingInputs"),prompt:">",placeholder:lv({isLoading:L,canQueueFollowUps:np,waitingReason:kp}),focus:!rt&&!$e&&!ut,cwd:process.cwd(),gitRoot:e.context?.gitRoot||n.gitRoot,onInputChange:jR}),inlineSuggestions:XR,helpSurface:_y?ae(Ah,{sections:Ef()}):void 0,taskBar:Ua?ae(cf,{items:Ui.backgroundTask.items,overflowLabel:Ui.backgroundTask.overflowLabel,ctaHint:Ui.backgroundTask.ctaHint,showSpinner:L}):void 0,statusLine:ae(E,{children:ae(zs,{...Jl,viewModel:ax})}),inlineDialogs:JR}),sE=ae(Zd,{left:ae(Jd,{items:lx}),right:ae(Qd,{items:ux}),stashNotice:ae(af,{text:eu}),notifications:ae(sf,{notifications:Zl}),composer:ae(G0,{searchActive:ut,selectionActive:!!(Br||tt),showAllActive:Pt,searchQuery:an,searchCurrent:Ot.length>0?fo+1:0,searchCount:Ot.length,searchDetailText:Ip,pendingLiveUpdates:Na,secondaryText:zR}),taskBar:Ua?ae(cf,{items:Ui.backgroundTask.items,overflowLabel:Ui.backgroundTask.overflowLabel,ctaHint:Ui.backgroundTask.ctaHint,showSpinner:dt}):void 0,statusLine:ae(E,{children:ae(zs,{...Jl,viewModel:Rp})})}),Up=K(u=>ae(V0,{banner:u?.bannerVisible?ae(Vg,{...Vo}):void 0,items:Ha,isLoading:cn,viewportRows:Gt.messageRows,viewportWidth:P,scrollOffset:Yn,windowed:!!u?.rendererWindow,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Fa:bx,maxLines:Rt,selectedTextRanges:xp?Il?.rowRanges:void 0,onMetricsChange:nu,onVisibleRowsChange:ru}),[Vo,Ha,cn,nu,ru,Yn,bx,P,Rt,Il?.rowRanges,Gt.messageRows,xp]),Gp=K(u=>ae(K0,{banner:u?.bannerVisible?ae(Vg,{...Vo}):void 0,items:Ba,browse:{hintText:po.browseHintText},selection:tu,search:tx,isLoading:dt,isThinking:Te.isThinking,thinkingCharCount:Te.thinkingCharCount,thinkingContent:Te.thinkingContent,streamingResponse:Te.currentResponse,currentTool:Te.currentTool,activeToolCalls:Te.activeToolCalls,toolInputCharCount:Te.toolInputCharCount,toolInputContent:Te.toolInputContent,iterationHistory:Te.iterationHistory,currentIteration:Te.currentIteration,isCompacting:Te.isCompacting,agentMode:_.agentMode,managedPhase:dt?z?.phase:void 0,managedHarnessProfile:dt?z?.harnessProfile:void 0,managedWorkerTitle:dt?z?.activeWorkerTitle:void 0,managedRound:dt?z?.currentRound:void 0,managedMaxRounds:dt?z?.maxRounds:void 0,managedGlobalWorkBudget:dt?z?.globalWorkBudget:void 0,managedBudgetUsage:dt?z?.budgetUsage:void 0,managedBudgetApprovalRequired:dt?z?.budgetApprovalRequired:void 0,lastLiveActivityLabel:Te.lastLiveActivityLabel,liveStatusLines:Fi,viewportRows:Gt.messageRows,viewportWidth:P,scrollOffset:Yn,windowed:!!u?.windowed,animateSpinners:!!u?.rendererWindow&&Vi,rendererWindow:u?.rendererWindow,transcriptModel:u?.rendererWindow?Fa:Vl,maxLines:Rt,showDetailedTools:Pt,showAllContent:Pt,selectedItemId:On.selectionEnabled?tt:void 0,selectedTextRanges:$r?.rowRanges,expandedItemKeys:On.selectionEnabled?In:void 0,onMetricsChange:nu,onVisibleRowsChange:ru}),[Vo,_.agentMode,dt,In,s.transcriptSpinnerAnimation,nu,ru,Yn,Wy,z?.activeWorkerTitle,z?.budgetApprovalRequired,z?.budgetUsage,z?.currentRound,z?.globalWorkBudget,z?.harnessProfile,z?.maxRounds,z?.phase,Fa,Vl,po.browseHintText,tt,tu,P,Vi,Ba,Rt,Te.activeToolCalls,Te.currentIteration,Te.currentResponse,Te.currentTool,Te.isCompacting,Te.isThinking,Te.iterationHistory,Te.lastLiveActivityLabel,Te.thinkingCharCount,Te.thinkingContent,Te.toolInputCharCount,Te.toolInputContent,Fi,$r?.rowRanges,tx,Pt,Gt.messageRows]),aE=Z?Gp({bannerVisible:!1,windowed:Et}):Up({bannerVisible:!1}),qx=Z?sE:iE,cE=s.enabled&&Go,Jx=wn(E,{flexDirection:"column",width:P,flexShrink:0,flexGrow:cE?1:0,children:[ae(lg,{currentConfig:_,setCurrentConfig:xe,isLoading:L,abort:X,stopThinking:W,clearThinkingContent:le,setCurrentTool:q,setIsLoading:V,onToggleHelp:FR,setShowHelp:Ly,onSetThinking:o(u=>{Le.current.thinking=u},"onSetThinking"),onSetReasoningMode:o(u=>{Le.current.reasoningMode=u,Le.current.thinking=u!=="off"},"onSetReasoningMode"),onToggleTranscriptMode:QR,onOpenTranscriptSearch:Pp,canOpenTranscriptSearch:Z&&!rt&&!$e,isInteractiveDialogActive:!!(rt||$e),onSetAgentMode:o(u=>{Le.current.agentMode=u},"onSetAgentMode"),onSetPermissionMode:o(u=>{Bp(u)},"onSetPermissionMode"),isInputEmpty:Ca,onSavePermissionMode:_S}),xt&&(s.enabled?null:ae(Ds,{items:[1],children:o(()=>ae(Vg,{...Vo},"banner"),"children")})),Go?ae(bh,{width:P,stickyHeader:po.stickyHeader,jumpToLatest:po.jumpToLatest,transcript:!s.enabled||!Et?Z?Gp({bannerVisible:!1}):Up({bannerVisible:!1}):void 0,renderTranscriptWindow:s.enabled&&Et?u=>(()=>{let x=za(u).contentWindow;return Z?Gp({bannerVisible:!1,windowed:!0,rendererWindow:x}):Up({bannerVisible:!1,rendererWindow:x})})():void 0,overlay:Dp,scrollTop:Yn,scrollHeight:Ka,viewportHeight:Gt.messageRows,stickyScroll:!Z&&!dr&&ip,overscanRows:qD,scrollRef:RR,onWindowChange:qR,onScrollTopChange:MR,onStickyChange:AR,footer:qx}):wn($D,{children:[wn(E,{flexDirection:"column",flexGrow:1,children:[aE,Dp?ae(E,{position:"absolute",bottom:0,left:0,right:0,flexDirection:"column",children:Dp}):null]}),qx]})]});return yp?ae(Um,{mouseTracking:lo.usesRendererMouseTracking,children:Jx}):Jx},"InkREPLInner"),tN=o(e=>{let t=process.cwd(),n=e.options?.context?.gitRoot??void 0;return ae(nf,{children:ae(uf,{children:ae(bd,{children:ae(ag,{children:ae(th,{cwd:t,gitRoot:n,children:ae(eN,{...e})})})})})})},"InkREPL");function nN(){return process.stdin.isTTY===!0&&typeof process.stdin.setRawMode=="function"}o(nN,"isRawModeSupported");async function Yg(e){if(!nN())throw new Kp("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 Qs,n=ii(),r=si(),i=ai(n,r),{prepareRuntimeConfig:s,getGitRoot:a}=await import("./utils-47QI5MSP.js"),{loadCompactionConfig:c}=await import("./compaction-config-GESEZQVA.js"),{resolveProvider:l}=await import("./dist-W3OOJP66.js"),d=s(),f=e.provider??d.provider??du,p=e.model??d.model,m=BD(e,d),g=HD(e,d),S=Ru(e,d),w=e.agentMode??d.agentMode??"ama",I=m!=="off",T=oc(d.permissionMode,"accept-edits")??"accept-edits",v=wu(),A=d.repoIntelligenceTrace===!0,D={provider:f,model:p,effort:g,effortOverride:S,planModeEffort:d.planModeEffort,thinking:I,reasoningMode:m,agentMode:w,permissionMode:T,repoIntelligenceMode:v.mode,repoIntelligenceTrace:A},N=e.session?.id,O=[],G,Y,re,me,ue,y="",P=await a().catch(()=>null)??void 0,C=fu({meta:{cwd:process.cwd(),startedAt:Date.now()}});if(C){let W=o(()=>{C.shutdown()},"teamModeCleanup");process.on("exit",W),process.on("SIGTERM",W)}try{let{bootstrapConstructionRuntime:W}=await import("./construction-bootstrap-OSXHEIBB.js"),le=await W(P??process.cwd());if(le.loaded>0||le.failed>0||le.tampered>0){let q=le.failed>0?`; ${le.failed} failed (see warnings above)`:"",Be=le.tampered>0?`; ${le.tampered} skipped due to manifest contentHash mismatch \u2014 re-stage and re-activate to re-approve`:"";console.log(Xe.dim(`[Constructed] Rehydrated ${le.loaded} active tool(s)${q}${Be}.`))}if(le.markdownLoaded>0||le.markdownFailures.length>0){console.log(Xe.dim(`[Agents] Loaded ${le.markdownLoaded} markdown agent(s).`));for(let q of le.markdownFailures)console.warn(Xe.yellow(`[Agents] Skipped ${q.path}: ${q.reason}`))}}catch(W){console.warn(Xe.yellow(`[Constructed] Bootstrap failed: ${W.message}. Self-construction disabled this session.`))}let ce;try{let W=await c(P),le=l(f);ce={contextWindow:W.contextWindow??le.getContextWindow?.()??2e5,triggerPercent:W.triggerPercent,enabled:W.enabled,userOverrideContextWindow:W.contextWindow}}catch{}if(e.session?.id&&!e.session.resume){let W=await t.load(e.session.id);W&&(O=W.messages,G=Mo(W.uiHistory),Y=W.lineage,re=W.artifactLedger,me=W.extensionState,ue=W.extensionRecords,y=W.title,N=e.session.id,e={...e,session:{...e.session??{},id:N,tag:W.tag}},console.log(Xe.green(`[Session loaded: ${N}]`)))}else if(e.session?.resume||e.session?.autoResume){let W=await t.list(P);if(W.length>0){let le=W[0];if(le){let q=await t.load(le.id);q&&(O=q.messages,G=Mo(q.uiHistory),Y=q.lineage,re=q.artifactLedger,me=q.extensionState,ue=q.extensionRecords,y=q.title,N=le.id,e={...e,session:{...e.session??{},tag:q.tag}},console.log(Xe.green(`[Continuing session: ${le.id}]`)))}}}let Me=await Xc({sessionId:N,gitRoot:P,existingMessages:O,existingUiHistory:G,existingLineage:Y,existingArtifactLedger:re,existingExtensionState:me,existingExtensionRecords:ue});Me.title=y,C?.writer.update({sessionId:Me.sessionId});let oe={current:null},X={current:null},de={current:D},ke=Mu(),De=await qc({askUser:o(async(W,le,q)=>{let Be=oe.current;return Be?Be(W,le,q):"block"},"askUser"),projectRoot:P??process.cwd(),getCurrentProviderName:o(()=>de.current.provider,"getCurrentProviderName"),getCurrentModel:o(()=>de.current.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>de.current.permissionMode,"getCurrentPermissionMode"),autoModeSettings:ke,log:o((W,le)=>{W==="warn"?console.warn(Xe.yellow(le)):console.log(Xe.dim(le))},"log"),onEngineChange:o(W=>{X.current?.(W)},"onEngineChange"),extraCollectors:[Eu]});try{let W=process.stdout,le=process.stdin;import("./paste-FDYM7SZX.js").then(Pe=>Pe.prunePasteTmpDir()).catch(()=>{});let q=!1,{waitUntilExit:Be,cleanup:pt}=hd(ae(tN,{options:e,config:D,context:Me,storage:t,compactionInfo:ce,rendererMode:r,fullscreenPolicy:i,autoModeBootstrap:De,setAutoModeAskUser:o(Pe=>{oe.current=Pe},"setAutoModeAskUser"),setAutoModeEngineChange:o(Pe=>{X.current=Pe},"setAutoModeEngineChange"),setCurrentConfigRef:o(Pe=>{de.current=Pe},"setCurrentConfigRef"),teamModeHandle:C,onExit:o(()=>{q=!0},"onExit")}),{stdout:W,stdin:le,exitOnCtrlC:!1,patchConsole:!1,maxFps:30,shellMode:i.enabled?i.promptShell:"main-screen"});await Be(),pt(),C?.shutdown(),le.isTTY===!0&&typeof le.setRawMode=="function"&&le.isRaw&&le.setRawMode(!1),le.pause?.(),le.unref?.(),q&&console.log(Xe.dim(`
|
|
172
|
-
[Exiting KodaX...]`));let ge=e.hardExitOnClose??process.env.VITEST!=="true";if(q&&ge){let Pe=process.exitCode??0,Ct=!1,It=o(()=>{Ct||(Ct=!0,process.exit(Pe))},"requestProcessExit");setTimeout(It,0).unref?.(),W.write("",It);return}}catch(W){throw W instanceof Error&&W.message.includes("Raw mode")?new Kp("Interactive mode failed to start.",['kodax -p "your task" # Run a single task',"kodax -c # Continue last session"]):W}}o(Yg,"runInkInteractiveMode");import ln from"chalk";var Vv=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Kv=["\x1B[36m","\x1B[35m","\x1B[34m"],il=null,da=!1;function ol(){let e=0,t=0,n=!1,r="Thinking...",i=o(()=>{if(n)return;let c=Kv[t%Kv.length],l="\x1B[0m",d=Vv[e%Vv.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 il=a,a}o(ol,"startWaitingDots");function rN(e=!0){let t=null,n=0,r=!1;return{onSessionStart:o(s=>{console.log(e?ln.cyan(`[KodaX] Provider: ${s.provider} | Session: ${s.sessionId}`):ln.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=ol()),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(ln.dim(`[Thinking] ${c}`))}},"onThinkingEnd"),onToolUseStart:o(s=>{t||(da||(process.stdout.write(`
|
|
173
|
-
`),da=!0),t=ol()),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())&&(da||(process.stdout.write(`
|
|
174
|
-
`),da=!0,r=!1),t=ol(),t.updateText(`Receiving ${s}... (${l} chars)`))},"onToolInputDelta"),onToolResult:o(s=>{t&&(t.stop(),t=null),console.log(ln.green(`[Result] ${s.content.slice(0,300)}${s.content.length>300?"...":""}`))},"onToolResult"),onRepoIntelligenceTrace:o(s=>{t&&(t.stop(),t=null),console.log(ln.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}
|
|
175
|
-
Suggested fix: ${s.suggestedFix}`:s.content;process.stdout.write(ln.yellow(`
|
|
176
|
-
${a}
|
|
177
|
-
`)+ln.dim(`${c}
|
|
178
|
-
`))},"onSidecarMessage"),onStreamEnd:o(()=>{il&&!il.isStopped()&&il.stop(),il=null,da=!1,r&&(console.log(),r=!1),(!t||t.isStopped())&&(t=ol(),t.updateText("Processing..."))},"onStreamEnd"),onIterationStart:o((s,a)=>{t&&!t.isStopped()&&t.stop(),da=!1,r=!1,console.log(ln.magenta(`
|
|
179
|
-
[Assistant]`)),t=ol()},"onIterationStart"),onCompactStart:o(()=>{console.log(ln.dim(`
|
|
180
|
-
[KodaX] Compacting context...`))},"onCompactStart"),onCompact:o(s=>{console.log(ln.dim(`[KodaX] Compaction finished (${s} tokens).`))},"onCompact"),onCompactEnd:o(()=>{},"onCompactEnd"),onRetry:o((s,a,c)=>{console.log(ln.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(ln.yellow(`[KodaX] ${a} (${s.errorClass}, ${s.stage})`))},"onProviderRecovery"),onComplete:o(()=>{t&&(t.stop(),t=null),console.log(ln.green(`
|
|
181
|
-
[KodaX] Done!`))},"onComplete"),onError:o(s=>{t&&(t.stop(),t=null),console.log(ln.red(`
|
|
182
|
-
[Error] ${s.message}`))},"onError"),onScoutSuspiciousCompletion:o(s=>{console.log(ln.yellow(`
|
|
183
|
-
[Scout] Completion marked uncertain \u2014 signals: ${s.signals.join(", ")}. Verify the result before continuing.`))},"onScoutSuspiciousCompletion"),beforeToolExecute:o(async(s,a)=>!0,"beforeToolExecute")}}o(rN,"createCliEvents");function Yt(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(Yt,"activityMetaFields");function Ci(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(Ci,"liveMetaFields");function nt(e,t){e.write(`${JSON.stringify(t)}
|
|
184
|
-
`)}o(nt,"writeJsonLine");function oN(e,t){return{type:"error",name:e.name,message:e.message,stack:e.stack,...Yt(t)}}o(oN,"serializeError");function iN(e={}){let t=e.stdout??process.stdout,n=e.stderr??process.stderr;return{onSessionStart:o(r=>{nt(t,{type:"session.start",provider:r.provider,sessionId:r.sessionId,...Ci(r)})},"onSessionStart"),onTurnStarted:o(r=>{nt(t,{type:"turn.started",...r})},"onTurnStarted"),onTurnCompleted:o(r=>{nt(t,{type:"turn.completed",...r})},"onTurnCompleted"),onTurnFailed:o(r=>{nt(t,{type:"turn.failed",...r})},"onTurnFailed"),onIterationStart:o((r,i,s)=>{nt(t,{type:"iteration.start",iter:r,maxIter:i,...Yt(s)})},"onIterationStart"),onIterationEnd:o(r=>{nt(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}:{},...Ci(r)})},"onIterationEnd"),onTextDelta:o((r,i)=>{nt(t,{type:"text.delta",text:r,...Yt(i)})},"onTextDelta"),onThinkingDelta:o((r,i)=>{nt(t,{type:"thinking.delta",text:r,...Yt(i)})},"onThinkingDelta"),onThinkingEnd:o((r,i)=>{nt(t,{type:"thinking.end",thinking:r,...Yt(i)})},"onThinkingEnd"),onToolUseStart:o((r,i)=>{nt(t,{type:"tool.start",id:r.id,name:r.name,input:r.input,...Yt(i)})},"onToolUseStart"),onToolInputDelta:o((r,i,s)=>{nt(t,{type:"tool.input.delta",toolName:r,partialJson:i,toolId:s?.toolId,...Yt(s)})},"onToolInputDelta"),onToolResult:o((r,i)=>{nt(t,{type:"tool.result",id:r.id,name:r.name,content:r.content,...Yt(i)})},"onToolResult"),onStreamEnd:o(r=>{nt(t,{type:"stream.end",...Yt(r)})},"onStreamEnd"),onCompactStart:o(r=>{nt(t,{type:"compact.start",...Yt(r)})},"onCompactStart"),onCompact:o((r,i)=>{nt(t,{type:"compact.finish",estimatedTokens:r,...Yt(i)})},"onCompact"),onCompactStats:o(r=>{nt(t,{type:"compact.stats",tokensBefore:r.tokensBefore,tokensAfter:r.tokensAfter,...Ci(r)})},"onCompactStats"),onCompactEnd:o(r=>{nt(t,{type:"compact.end",...Yt(r)})},"onCompactEnd"),onRetry:o((r,i,s,a)=>{nt(t,{type:"retry",reason:r,attempt:i,maxAttempts:s,...Yt(a)})},"onRetry"),onProviderRecovery:o((r,i)=>{nt(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,...Yt(i)})},"onProviderRecovery"),onProviderRateLimit:o((r,i,s,a)=>{nt(t,{type:"provider.rate_limit",attempt:r,maxRetries:i,delayMs:s,...Yt(a)})},"onProviderRateLimit"),onRepoIntelligenceTrace:o(r=>{nt(t,{type:"repo_intelligence.trace",stage:r.stage,summary:r.summary,capability:r.capability,trace:r.trace,...Ci(r)})},"onRepoIntelligenceTrace"),onSidecarMessage:o(r=>{nt(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}:{},...Ci(r)})},"onSidecarMessage"),onToolProgress:o((r,i)=>{nt(t,{type:"tool.progress",id:r.id,message:r.message,...Yt(i)})},"onToolProgress"),onManagedTaskStatus:o(r=>{nt(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,...Ci(r)})},"onManagedTaskStatus"),onScoutSuspiciousCompletion:o(r=>{nt(t,{type:"scout.suspicious_completion",confidence:r.confidence,signals:r.signals,sessionId:r.sessionId,lastTextPreview:r.lastTextPreview,...Ci(r)})},"onScoutSuspiciousCompletion"),onComplete:o(r=>{nt(t,{type:"complete",...Yt(r)})},"onComplete"),onError:o((r,i)=>{nt(n,oN(r,i))},"onError")}}o(iN,"createJsonEvents");import{jsx as gt,jsxs as Tn}from"react/jsx-runtime";import uN,{useMemo as sl}from"react";var Xg=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@.*$/,zv=/^---\s+(.+)$/;function Yv(e){if(!e)return[];let t=e.split(`
|
|
185
|
-
`),n=[],r=[],i=[],s=!1,a=null,c=null,l=0,d=0,f=o(()=>{if(r.length===0)return;let m=r.join(`
|
|
186
|
-
`);m.length>0&&n.push({kind:"text",text:m}),r=[]},"flushText"),p=o(()=>{i.length!==0&&(n.push({kind:"diff",text:i.join(`
|
|
187
|
-
`),addedLines:l,removedLines:d,filePath:c}),i=[],l=0,d=0,c=null)},"flushDiff");for(let m=0;m<t.length;m++){let g=t[m];if(!s){let I=zv.exec(g);if(I){let T=Math.min(m+3,t.length-1),v=!1;for(let A=m+1;A<=T;A++)if(t[A]?.startsWith("+++ ")||Xg.test(t[A]??"")){v=!0;break}if(v){f(),s=!0,a=I[1]??null,c=a,i.push(g);continue}}if(Xg.test(g)){f(),s=!0,i.push(g);continue}r.push(g);continue}let S=zv.exec(g);if(S){let I=Math.min(m+3,t.length-1),T=!1;for(let v=m+1;v<=I;v++)if(t[v]?.startsWith("+++ ")||Xg.test(t[v]??"")){T=!0;break}if(T){p(),c=S[1]??null,i.push(g);continue}}let w=g[0];if(w==="+"||w==="-"||w===" "||w==="@"||g===""){w==="+"&&!g.startsWith("+++ ")&&l++,w==="-"&&!g.startsWith("--- ")&&d++,i.push(g);continue}p(),s=!1,a=null,r.push(g)}return p(),f(),n}o(Yv,"parseUnifiedDiff");function Xv(e){return e?/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/m.test(e):!1}o(Xv,"containsUnifiedDiff");import{jsxs as fa,jsx as sN}from"react/jsx-runtime";import aN from"react";function cN(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(cN,"classifyLine");function lN(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(lN,"colorFor");var qg=aN.memo(({text:e,addedLines:t,removedLines:n,filePath:r,theme:i,maxLines:s=16,extremeThreshold:a=200})=>{let c=i??ne("dark"),l=e.split(`
|
|
188
|
-
`),d=l.map(cN),f=`(${t>0?`+${t}`:"\xB10"} ${n>0?`-${n}`:""})`.trim();if(l.length>a)return fa(E,{flexDirection:"column",marginLeft:4,children:[r&&fa(b,{dimColor:!0,children:[r," ",f]}),fa(b,{dimColor:!0,children:["[diff too large to render inline \u2014 ",l.length," lines, ",t,"+ / ",n,"-]"]})]});let p,m=0;if(l.length>s){let g=Math.floor(s/2),S=d.slice(0,g),w=d.slice(-g);m=l.length-S.length-w.length,p=[...S,{text:"",kind:"context"},...w]}else p=d;return fa(E,{flexDirection:"column",marginLeft:4,children:[r&&fa(b,{dimColor:!0,children:[r," ",f]}),p.map((g,S)=>{if(S===Math.floor(s/2)&&m>0&&g.kind==="context"&&g.text==="")return fa(b,{dimColor:!0,children:["... ",m," lines collapsed ..."]},`collapse-${S}`);let I=lN(g.kind,c);return sN(b,{color:I,children:g.text||" "},S)})]})});qg.displayName="DiffHunk";function qv(e){switch(e){case B.Scheduled:return"\u25CB";case B.Validating:return"\u25D0";case B.AwaitingApproval:return"\u23F8";case B.Executing:return"\u25CF";case B.Success:return"\u2713";case B.Error:return"\u2717";case B.Cancelled:return"\u2298";default:return"?"}}o(qv,"getStatusIcon");function Jv(e,t){switch(e){case B.Scheduled:case B.Validating:return t.colors.dim;case B.AwaitingApproval:return t.colors.accent;case B.Executing:return t.colors.primary;case B.Success:return t.colors.success??t.colors.primary;case B.Error:return t.colors.error;case B.Cancelled:return t.colors.dim;default:return t.colors.text}}o(Jv,"getStatusColor");function dN(e,t){if(!t)return"";let n=t-e;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}o(dN,"formatDuration");function fN(e){if(!e)return"";let t=JSON.stringify(e);return t.length<=50?t:t.slice(0,47)+"..."}o(fN,"formatInputSummary");var pN=o(({status:e,theme:t})=>{let n=t??sl(()=>ne("dark"),[]),r=qv(e),i=Jv(e,n);return gt(b,{color:i,children:r})},"ToolStatusBadge"),Qv=o(({progress:e,width:t=20,theme:n})=>{let r=n??sl(()=>ne("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 Tn(E,{children:[gt(b,{color:r.colors.primary,children:c}),gt(b,{dimColor:!0,children:l}),Tn(b,{children:[" ",i,"%"]})]})},"ToolProgressBar"),Zv=o(({tool:e,collapsed:t=!1,theme:n})=>{let r=n??sl(()=>ne("dark"),[]),i=qv(e.status),s=Jv(e.status,r),a=fN(e.input),c=dN(e.startTime,e.endTime);return t?Tn(E,{children:[Tn(b,{color:s,children:[i," "]}),gt(b,{color:r.colors.text,children:e.name})]}):Tn(E,{flexDirection:"column",marginLeft:2,children:[Tn(E,{children:[Tn(b,{color:s,children:[i," "]}),gt(b,{color:r.colors.text,bold:!0,children:e.name}),a&&Tn(b,{dimColor:!0,children:[" ",a]})]}),e.progress!==void 0&&e.status===B.Executing&>(E,{marginLeft:2,children:gt(Qv,{progress:e.progress,theme:r})}),e.progressLines&&e.progressLines.length>0&&e.status===B.Executing&>(E,{flexDirection:"column",marginLeft:2,children:e.progressLines.slice(-5).map((l,d)=>gt(b,{dimColor:!0,children:l},d))}),e.error&>(E,{marginLeft:2,children:gt(b,{color:r.colors.error,children:e.error})}),e.status===B.Success&&typeof e.output=="string"&&e.output.length>0&>(ek,{output:e.output,theme:r}),c&&e.status!==B.Executing&>(E,{marginLeft:2,children:Tn(b,{dimColor:!0,children:["Completed in ",c]})})]})},"ToolCallDisplay"),ek=uN.memo(({output:e,theme:t})=>{if(!Xv(e))return gt(E,{marginLeft:2,children:gt(b,{dimColor:!0,children:e})});let n=Yv(e);return gt(E,{flexDirection:"column",marginLeft:2,children:n.map((r,i)=>r.kind==="text"?gt(b,{dimColor:!0,children:r.text},i):gt(qg,{text:r.text,addedLines:r.addedLines,removedLines:r.removedLines,filePath:r.filePath,theme:t},i))})});ek.displayName="ToolOutputBlock";var mN=o(({tools:e,collapsed:t=!1,title:n,theme:r})=>{let i=r??sl(()=>ne("dark"),[]);if(e.length===0)return null;let s=sl(()=>{let c={[B.Scheduled]:0,[B.Validating]:0,[B.AwaitingApproval]:0,[B.Executing]:0,[B.Success]:0,[B.Error]:0,[B.Cancelled]:0};for(let l of e)c[l.status]++;return c},[e]),a=n??"Tools";if(t){let c=s[B.Success],l=s[B.Error],d=s[B.Executing]+s[B.Scheduled]+s[B.Validating];return gt(E,{flexDirection:"column",marginBottom:1,children:Tn(E,{children:[gt(b,{color:i.colors.accent,bold:!0,children:a}),Tn(b,{dimColor:!0,children:[" ","(",e.length," tools",c>0&&`, ${c} succeeded`,l>0&&`, ${l} failed`,d>0&&`, ${d} running`,")"]})]})})}return Tn(E,{flexDirection:"column",marginBottom:1,children:[Tn(E,{children:[gt(b,{color:i.colors.accent,bold:!0,children:a}),Tn(b,{dimColor:!0,children:[" ","(",e.length," ",e.length===1?"tool":"tools",")"]})]}),e.map(c=>gt(Zv,{tool:c,theme:i},c.id))]})},"ToolGroup");import{jsxs as tk,jsx as hN}from"react/jsx-runtime";var gN=o(({pendingInputs:e})=>{let t=m0(e);if(!t)return null;let n=ne("dark");return tk(E,{children:[tk(b,{color:n.colors.hint,children:["\u23F3"," "]}),hN(b,{color:n.colors.dim,children:t})]})},"PendingInputsIndicator");import*as nk from"child_process";var al;function yN(){if(process.platform!=="win32")return null;if(al!==void 0)return al;try{al=nk.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{al=null}return al}o(yN,"detectWindowsCodePage");function Ff(){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(Ff,"supportsTrueColor");function rk(){if(Ff())return!0;let e=process.env.TERM||"";return e.includes("256color")||e==="xterm-256color"||e==="screen-256color"||e==="tmux-256color"}o(rk,"supports256Colors");function no(){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:yN()==="65001":!0}o(no,"supportsUnicode");function ok(){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(ok,"supportsEmoji");function ik(){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(ik,"getTerminalWidth");function sk(){let e=process.env;return!!(e.NO_COLOR||e.TERM==="dumb"||e.CI)}o(sk,"isScreenReader");function xN(){return process.stdout?.isTTY??!1}o(xN,"isTTY");function SN(){return{trueColor:Ff(),colors256:rk(),unicode:no(),emoji:ok(),tty:xN(),columns:ik(),screenReader:sk()}}o(SN,"detectTerminalCapabilities");var cl=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 wN(e){let t=new cl;t.start();try{let n=await e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(wN,"withCapture");function TN(e){let t=new cl;t.start();try{let n=e(),r=t.stop();return{result:n,captured:r}}finally{t.stop()}}o(TN,"withCaptureSync");import*as Sk from"readline";import ie from"chalk";import or from"chalk";var CN=[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel the action",value:"no"}],IN=[{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 bN(e,t=!0){return e.map(n=>{let r=or.dim(`[${n.key}]`);return t?`${r} ${or.cyan(n.label)} ${or.dim(`- ${n.description}`)}`:`${r} ${n.label}`}).join(" ")}o(bN,"formatOptions");function pa(){return process.stdout.columns??80}o(pa,"getTerminalWidth");function vN(){return no()}o(vN,"supportsUnicode");function kN(){let e=vN();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(kN,"getSymbols");async function RN(e,t){let{message:n,default:r,options:i,showDescription:s=!0}=t,a=i??CN,c=bN(a,s);console.log(),console.log(or.cyan(`? ${n}`));let l=pa();if(c.length>l-4)for(let d of a){let f=or.dim(` [${d.key}]`);console.log(`${f} ${or.cyan(d.label)}`),s&&console.log(or.dim(` ${d.description}`))}else console.log(or.dim(` ${c}`));return new Promise(d=>{let f=r?` (${r})`:"";e.question(or.dim(` Choose${f}: `),p=>{let m=p.trim().toLowerCase()||r||"",g=a.find(S=>S.key===m||S.value===m||S.label.toLowerCase()===m);d(g?g.value:m===""?"no":m)})})}o(RN,"confirmEnhanced");async function ll(e,t,n,r){let{isOutsideProject:i=!1,isProtectedPath:s=!1,permissionMode:a="accept-edits"}=r??{},c=kN(),l,d,f={...n,...i?{_outsideProject:!0}:{},...s?{_alwaysConfirm:!0}:{}},p=Sf(t,f),m=p.details.map(S=>` ${or.dim(S)}`);i||s?(l=`${or.yellow(c.warning)} Safety Warning`,m.length>0&&(l+=`
|
|
189
|
-
${m.join(`
|
|
190
|
-
`)}`),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+=`
|
|
191
|
-
${m.join(`
|
|
192
|
-
`)}`),d=a==="accept-edits"?IN:[{key:"y",label:"Yes",description:"Confirm the action",value:"yes"},{key:"n",label:"No",description:"Cancel",value:"no"}]);let g=await RN(e,{message:l,default:"n",options:d});return g==="always"?{confirmed:!0,always:!0}:{confirmed:g==="yes"}}o(ll,"confirmToolExecution");import Cn from"chalk";var jf=/\x1b\[[0-9;]*m/g,_r={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 EN(e,t){if(t<=0)return"";let n="",r=0,i=0;for(;i<e.length&&r<t;){jf.lastIndex=i;let s=jf.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(EN,"truncateAnsi");function ak(e){return jf.lastIndex=0,e.replace(jf,"")}o(ak,"stripAnsi");function MN(e,t=pa()){let n=[],r=e.sessionId.slice(0,6);n.push(Cn.dim(`#${r}`));let i=e.permissionMode==="plan"?Cn.blue:e.permissionMode==="accept-edits"?Cn.cyan:e.permissionMode==="auto-in-project"?Cn.magenta:Cn.green,s=nc(e.permissionMode),c=(e.permissionMode==="auto"||e.permissionMode==="auto-in-project")&&e.autoModeEngine?e.autoModeEngine==="llm"?Cn.green("[LLM]"):Cn.yellow("[RULES]"):"";n.push(i(s)+c);let l=e.reasoningEffortLabel??e.effort??e.reasoningMode;if(l&&n.push(Cn.yellow(`effort:${l}`)),n.push(Cn.cyan(e.provider)),e.tokenUsage){let p=e.tokenUsage.total,m=p>=1e3?`${(p/1e3).toFixed(1)}k`:String(p);n.push(Cn.dim(`${m}t`))}if(e.currentTool&&n.push(Cn.magenta(`tool:${e.currentTool}`)),e.projectInfo){let{completedFeatures:p,totalFeatures:m}=e.projectInfo,g=m>0?Math.round(p/m*100):0;n.push(Cn.dim(`${p}/${m} [${g}%]`))}e.messageCount!==void 0&&n.push(Cn.dim(`${e.messageCount} msgs`));let d=n.join(Cn.dim(" | ")),f=t-1;return ak(d).length>f&&(d=`${EN(d,Math.max(0,f-3))}...`),d}o(MN,"buildStatusBarContent");var Uf=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=pa(),n=MN(this.state,t),r=n+" ".repeat(Math.max(0,t-ak(n).length));process.stdout.write(_r.SAVE_CURSOR+_r.MOVE_TO_BOTTOM+_r.CLEAR_LINE+_r.REVERSE+r+_r.RESET+_r.RESTORE_CURSOR)}clear(){process.stdout.write(_r.SAVE_CURSOR+_r.MOVE_TO_BOTTOM+_r.CLEAR_LINE+_r.RESTORE_CURSOR)}};function ck(e,t,n,r,i="off",s,a){return{sessionId:e,permissionMode:t,reasoningMode:i,effort:s,reasoningEffortLabel:a,provider:n,model:r}}o(ck,"createStatusBarState");function lk(){if(!process.stdout.isTTY||Cs())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(lk,"supportsStatusBar");import G9 from"chalk";function uk(){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(uk,"getUnicodeSymbols");function Jg(){return{prompt:">",success:"[OK]",error:"[X]",warning:"[!]",info:"[i]",arrow:"->",bullet:"*",check:"[v]",cross:"[x]",spinner:["|","/","-","\\","|","/","-","\\"]}}o(Jg,"getAsciiSymbols");var dk={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:no()?uk():Jg(),spinner:{frames:no()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},AN={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:no()?uk():Jg(),spinner:{frames:no()?["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]:["|","/","-","\\","|","/","-","\\"],interval:80}},_N={name:"minimal",description:"Minimal theme without colors (for CI or limited terminals)",colors:{primary:"",secondary:"",accent:"",text:"",dim:"",success:"",warning:"",error:"",info:""},symbols:Jg(),spinner:{frames:[".","o","O","0","O","o"],interval:120}},LN={dark:dk,light:AN,minimal:_N},fk=dk;function Ii(){return fk}o(Ii,"getCurrentTheme");function ul(e){let t=LN[e];return t?(fk=t,!0):!1}o(ul,"setTheme");function PN(){if(!process.stdout.isTTY){ul("minimal");return}let e=process.env;if(e.WT_SESSION!==void 0||e.TERM_PROGRAM==="vscode"){ul("dark");return}ul("dark")}o(PN,"autoSelectTheme");PN();var Gf=class{static{o(this,"ReadlineUIContext")}rl;constructor(t){this.rl=t}async select(t,n){if(n.length!==0)return console.log(`
|
|
193
|
-
${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 pk from"child_process";import*as fl from"path";import*as dl from"fs";import*as mk from"os";import Lr from"chalk";function hk(e,t){let n=Ii(),r=e==="plan"?Lr.hex(n.colors.warning):Lr.hex(n.colors.success),i=t.model??Wn(t.provider)??t.provider,s=xr({provider:t.provider,model:t.model,effort:ps(t),effortOverride:t.effortOverride,thinking:t.thinking,reasoningMode:t.reasoningMode}),a=pa();if(a<60){let l=e==="plan"?"?":n.symbols.prompt;return r(`${l} `)}if(a<100){let l=Lr.hex(n.colors.dim)(`[${s}]`);return r(`kodax:${e}${l}> `)}let c=Lr.hex(n.colors.info)(`[effort:${s}]`);return r(`kodax:${e} (${t.provider}:${i})${c}> `)}o(hk,"getPrompt");async function gk(e,t){let n=Ii(),r=[],i=await new Promise(s=>{e.question(t,s)});if(i===""||i.toLowerCase()==="/e")return Qg(r.join(`
|
|
194
|
-
`));for(r.push(i);$N(r.join(`
|
|
195
|
-
`));){let s=Lr.hex(n.colors.dim)("... "),a=await new Promise(c=>{e.question(s,c)});r.push(a)}return r.join(`
|
|
196
|
-
`).replace(/\\\n/g,`
|
|
197
|
-
`)}o(gk,"askInput");async function Qg(e){let t=fl.join(mk.tmpdir(),"kodax"),n=fl.join(t,`input-${Date.now()}-${Math.random().toString(36).slice(2)}.txt`);try{await dl.promises.mkdir(t,{recursive:!0}),await dl.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=fl.basename(r);console.log(Lr.yellow(`
|
|
198
|
-
[Security] Editor path sanitized: ${a}`)),r=a}console.log(Lr.dim(`
|
|
199
|
-
[Opening editor: ${r}]`));let i=process.platform==="win32"&&(r.toLowerCase()==="notepad"||r.toLowerCase()==="notepad.exe");return console.log(i?Lr.dim(`Note: Please close Notepad manually after editing to continue.
|
|
200
|
-
`):Lr.dim(`Save and close the editor to continue...
|
|
201
|
-
`)),pk.spawnSync(r,[n],{stdio:"inherit",timeout:3e5,shell:!1}),(await dl.promises.readFile(n,"utf-8")).trim()}catch(r){let i=r instanceof Error?r:new Error(String(r));return console.log(Lr.red(`
|
|
202
|
-
[Editor Error] ${i.message}`)),e}finally{try{await dl.promises.unlink(n)}catch{}}}o(Qg,"openExternalEditor");function $N(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($N,"needsContinuation");import Ve from"chalk";function yk(e){e?.workspaceRoot&&(console.log(Ve.dim(` Workspace: ${Sr(e)}`)),console.log(Ve.dim(` Use /status workspace for runtime details.
|
|
203
|
-
`)))}o(yk,"printWorkspaceEntryNotice");function xk(e,t,n,r){let i=Ii(),s=e.model??Wn(e.provider)??e.provider,a=xr({provider:e.provider,model:e.model,effort:ps(e),effortOverride:e.effortOverride,thinking:e.thinking,reasoningMode:e.reasoningMode}),c=`
|
|
204
|
-
\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
|
|
205
|
-
\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
|
|
206
|
-
\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
|
|
207
|
-
\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
|
|
208
|
-
\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
|
|
209
|
-
\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=>Ve.hex(f)(" \u258E "),"bar"),d=Ve.hex(i.colors.dim)(" \xB7 ");if(console.log(Ve.hex(i.colors.primary)(`
|
|
210
|
-
`+c)),console.log(""),console.log(l(i.colors.primary)+Ve.hex(i.colors.primary)("AI Coding Agent \xB7 Minimalist & Intelligent")),console.log(l(i.colors.success)+Ve.bold.hex(i.colors.text)(`v${ds}`)+d+Ve.hex(i.colors.success)(`${e.provider}:${s}`)+d+Ve.hex(i.colors.primary)(e.agentMode.toUpperCase())+Ve.hex(i.colors.dim)(" / ")+Ve.hex(i.colors.accent)(t)+Ve.hex(i.colors.dim)(" \xB7 ")+Ve.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?Ve.hex(i.colors.success)("on"):Ve.hex(i.colors.secondary)("off");console.log(l(i.colors.accent)+Ve.hex(i.colors.secondary)(`ctx ${f}k \xB7 compaction `)+m+Ve.hex(i.colors.secondary)(` @ ${n.triggerPercent}% (${p}k)`))}r&&console.log(l(i.colors.secondary)+Ve.hex(i.colors.secondary)(`${r.length} project rule file(s) loaded \u2014 `)+Ve.hex(i.colors.dim)("/reload to refresh")),console.log(""),console.log(Ve.hex(i.colors.dim)(" Quick tips:")),console.log(Ve.hex(i.colors.primary)(" /help ")+Ve.hex(i.colors.dim)("Show all commands")),console.log(Ve.hex(i.colors.primary)(" /mode ")+Ve.hex(i.colors.dim)("Switch permission mode")),console.log(Ve.hex(i.colors.primary)(" /clear ")+Ve.hex(i.colors.dim)("Clear conversation")),console.log(Ve.hex(i.colors.primary)(" @path ")+Ve.hex(i.colors.dim)("Attach image to context")),console.log(Ve.hex(i.colors.primary)(" !cmd ")+Ve.hex(i.colors.dim)("Run read-only shell command")),console.log(Ve.hex(i.colors.dim)(`
|
|
211
|
-
Keyboard: Tab (complete) | Esc+Esc (edit last) | Ctrl+T (reasoning) | Ctrl+E (editor) | Ctrl+R (history)
|
|
212
|
-
`))}o(xk,"printStartupBanner");async function ON(e){return(await pu(e)).getSystemPromptSnippet()}o(ON,"buildClassicCliSkillsPrompt");var ty=class{static{o(this,"MemorySessionStorage")}sessions=new Map;async save(t,n){let r=this.sessions.get(t),i=Dt(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=is(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=ss(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=ls(i.data.lineage,n);if(!s)return null;let a=r?.sessionId??await os(),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??as(r.data.lineage);if(!i)return null;let s=cs(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?qo(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 Zg(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(Zg,"applyRuntimeContext");function Vf(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(Vf,"applyRuntimeSessionSnapshot");function Do(e){return{...e.extensionStateDirty?{extensionState:e.extensionState??{}}:{},...e.extensionRecordsDirty?{extensionRecords:e.extensionRecords??[]}:{}}}o(Do,"contextExtensionSessionData");function ma(e){e.extensionStateDirty=!1,e.extensionRecordsDirty=!1}o(ma,"markExtensionSessionPersisted");function DN(e,t){return e.reasoningMode?e.reasoningMode:t.reasoningMode?t.reasoningMode:(e.thinking===!0||t.thinking===!0,"auto")}o(DN,"resolveInitialReasoningMode");function NN(e,t){return e.effort??t.effort}o(NN,"resolveInitialEffort");var ny={current:null};async function BN(e){let t=await gs({cwd:process.cwd()}),n=t.workspaceRoot??await ei()??void 0,r=e.storage??new ty;import("./paste-FDYM7SZX.js").then(M=>M.prunePasteTmpDir()).catch(()=>{});let i=fu({meta:{cwd:process.cwd(),startedAt:Date.now()}}),s=Jp(),a=e.provider??s.provider??du,c=e.model??s.model,l=DN(e,s),d=NN(e,s),f=Ru(e,s),p=e.agentMode??s.agentMode??"ama",m=l!=="off",g=oc(s.permissionMode,"accept-edits")??"accept-edits",S=ku();g==="auto-in-project"&&S();let w=wu(),I=s.theme;I&&ul(I);let T=Ii(),v={provider:a,model:c,effort:d,effortOverride:f,planModeEffort:s.planModeEffort,thinking:m,reasoningMode:l,agentMode:p,permissionMode:g,repoIntelligenceMode:w.mode,repoIntelligenceTrace:w.trace,fallbackProviders:s.fallbackProviders},A=g,D=ms(),N=o(()=>ps(v),"resolveCurrentEffort"),O=o(M=>Zo({provider:M?.provider??v.provider,model:M?.model??v.model,effort:v.effort,effortOverride:v.effortOverride,permissionMode:M?.permissionMode??v.permissionMode,planModeEffort:v.planModeEffort,thinking:v.thinking,reasoningMode:v.reasoningMode}),"resolveCurrentRuntimeEffort"),G=o(M=>{let L=O(M);return xr({provider:M?.provider??v.provider,model:M?.model??v.model,effort:L.configuredEffort,effortOverride:v.effortOverride,thinking:v.thinking,reasoningMode:v.reasoningMode})},"formatCurrentReasoningEffortLabel"),Y=0,re="",me=!1,ue=500,y=await Xc({sessionId:e.session?.id,gitRoot:n,runtimeInfo:t});y.skillDynamicContext=e.skillDynamicContext,i?.writer.update({sessionId:y.sessionId});let P=o(M=>_o(v,M,(L,V,_)=>{console.log((L==="block"?ie.red:ie.yellow)(`
|
|
213
|
-
${V}`));for(let xe of _)console.log(ie.dim(xe));console.log()}),"guardSessionTransition"),C=await PS(n??void 0),{resolveProvider:ce}=await import("./dist-W3OOJP66.js"),Me=ce(v.provider),oe=C.contextWindow??Me.getEffectiveContextWindow?.(v.model)??Me.getContextWindow?.()??2e5,{loadAgentsFiles:X}=await import("./dist-W3OOJP66.js"),de=o(async()=>X({cwd:process.cwd(),projectRoot:y.gitRoot??void 0}),"reloadAgentsFiles"),ke=await de();xk(v,v.permissionMode,{contextWindow:oe,triggerPercent:C.triggerPercent,enabled:C.enabled},ke),yk(t);let De=ew(()=>y.gitRoot??process.cwd()),W=Sk.createInterface({input:process.stdin,output:process.stdout,terminal:process.stdout.isTTY??!0,historySize:100,completer:o((M,L)=>{De(M).then(V=>{L(null,V)}).catch(()=>{L(null,[[],M])})},"completer")}),le=Mu(),q=await qc({askUser:o(async(M,L,V)=>(await ll(W,M.name,{...M.input,...V&&V.length>0?{_classifierSignals:V}:{}},{permissionMode:A,reason:`[auto-mode] ${L}`})).confirmed?"allow":"block","askUser"),projectRoot:n??process.cwd(),getCurrentProviderName:o(()=>v.provider,"getCurrentProviderName"),getCurrentModel:o(()=>v.model,"getCurrentModel"),getCurrentPermissionMode:o(()=>A,"getCurrentPermissionMode"),autoModeSettings:le,log:o((M,L)=>{M==="warn"?console.warn(ie.yellow(L)):console.log(ie.dim(L))},"log"),onEngineChange:o(M=>{pn(A)&&ge?.update({autoModeEngine:M})},"onEngineChange"),extraCollectors:[Eu]}),Be=Iu({getProvider:o(()=>ce(v.provider),"getProvider"),getModel:o(()=>v.model??"","getModel")}),pt=v.model??Wn(v.provider)??v.provider,ge=null;lk()&&(ge=new Uf(ck(y.sessionId,v.permissionMode,v.provider,pt,v.reasoningMode,N(),G({model:pt}))),pn(A)&&ge.update({autoModeEngine:q.getGuardrail().getEngine()}));let Pe=`
|
|
214
|
-
Keyboard Shortcuts:
|
|
215
|
-
Tab Auto-complete (@paths, /commands)
|
|
216
|
-
Esc+Esc Edit last message
|
|
217
|
-
Ctrl+T Cycle reasoning effort
|
|
218
|
-
Ctrl+E Open external editor
|
|
219
|
-
Ctrl+R Search command history (built-in)
|
|
220
|
-
Ctrl+C Cancel current input
|
|
221
|
-
Ctrl+D Exit REPL`,Ct=o(()=>{console.log(ie.dim(Pe))},"_printKeyboardShortcuts");process.stdin.isTTY&&process.stdin.on("keypress",(M,L)=>{if(L&&L.name==="escape"){let V=Date.now();V-Y<ue&&re&&(me=!0,console.log(ie.dim(`
|
|
222
|
-
[Opening editor with last message...]`)),W.pause()),Y=V}});let It=await ON(n),Q=!0,F={...e,provider:a,model:c,effort:O().runtimeEffort,agentMode:p,reasoningMode:l,thinking:m,workflowRunsBaseDir:gr("workflow-runs",Ur(process.cwd()).key),context:{...e.context,gitRoot:n,executionCwd:t.executionCwd,repoIntelligenceMode:w.mode,repoIntelligenceTrace:w.trace,skillsPrompt:It},session:{...e.session,id:y.sessionId,persistedByHost:!0}},we=o(()=>{let M=O();F.effort=M.runtimeEffort,ge?.update({effort:M.configuredEffort,reasoningEffortLabel:G()})},"refreshCurrentEffort");ny.current=null;let ze={exit:o(()=>{Q=!1,i?.shutdown(),W.close()},"exit"),saveSession:o(async()=>{if(y.messages.length>0){let M=ro(y.messages);y.title=M,await r.save(y.sessionId,{messages:y.messages,title:M,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y)}},"saveSession"),startNewSession:o(()=>{y.sessionId=Si(),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,Zg(y,F,t),F.session={...F.session,id:y.sessionId},ge?.update({sessionId:y.sessionId,messageCount:0}),i?.writer.update({sessionId:y.sessionId})},"startNewSession"),loadSession:o(async M=>{let L=await r.load(M);if(L){if(!P("Resuming a saved session"))return"blocked";let V=await gs({cwd:process.cwd()}),_=lc(L),xe=_??V;return _?.workspaceRoot&&!BS(_)?(console.log(ie.yellow(`
|
|
223
|
-
[Saved workspace unavailable]`)),console.log(ie.dim(` Session workspace: ${Sr(_)}`)),console.log(ie.dim(` Falling back to current workspace: ${Sr(V)}`)),xe=V):_?.workspaceRoot&&V.workspaceRoot&&_.workspaceRoot!==V.workspaceRoot&&(console.log(ie.cyan(`
|
|
224
|
-
[Loading sibling workspace session]`)),console.log(ie.dim(` Current workspace: ${Sr(V)}`)),console.log(ie.dim(` Session workspace: ${Sr(_)}`))),y.messages=L.messages,y.title=L.title,y.sessionId=M,y.contextTokenSnapshot=void 0,y.artifactLedger=L.artifactLedger,y.extensionState=L.extensionState?structuredClone(L.extensionState):void 0,y.extensionRecords=L.extensionRecords?.map(Ae=>({...Ae})),y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.lastAccessed=new Date().toISOString(),Zg(y,F,xe),F.session={...F.session,id:M,tag:L.tag},ge?.update({sessionId:M,messageCount:L.messages.length}),i?.writer.update({sessionId:M}),console.log(ie.green(`
|
|
225
|
-
[Loaded session: ${M}]`)),console.log(ie.dim(` Messages: ${L.messages.length}`)),y.runtimeInfo?.workspaceRoot&&console.log(ie.dim(` Workspace: ${Sr(y.runtimeInfo)}`)),"loaded"}return"missing"},"loadSession"),listSessions:o(async()=>{let M=await r.list(y.gitRoot??void 0);if(M.length===0){console.log(ie.dim(`
|
|
226
|
-
[No saved sessions]`));return}console.log(ie.bold(`
|
|
227
|
-
Recent Sessions:
|
|
228
|
-
`)),y.runtimeInfo?.workspaceRoot&&(console.log(ie.dim(` Current workspace: ${Sr(y.runtimeInfo)}`)),console.log());for(let L of M.slice(0,10))if(console.log(` ${ie.cyan(L.id)} ${ie.dim(`(${L.msgCount} messages)`)} ${L.title.slice(0,40)}`),L.runtimeInfo?.workspaceRoot){let _=y.runtimeInfo?.workspaceRoot===L.runtimeInfo.workspaceRoot?" (current workspace)":"";console.log(ie.dim(` workspace: ${Sr(L.runtimeInfo)}${_}`))}console.log()},"listSessions"),clearHistory:o(()=>{y.messages=[],y.contextTokenSnapshot=void 0},"clearHistory"),printHistory:o(()=>{if(y.messages.length===0){console.log(ie.dim(`
|
|
229
|
-
[No conversation history]`));return}console.log(ie.bold(`
|
|
230
|
-
Conversation History:
|
|
231
|
-
`));let M=y.messages.slice(-20);for(let L=0;L<M.length;L++){let V=M[L],_=ie.cyan(V.role.padEnd(10)),xe=typeof V.content=="string"?V.content:"[Complex content]",Ae=xe.slice(0,60).replace(/\n/g," "),he=xe.length>60?"...":"";console.log(` ${(L+1).toString().padStart(2)}. ${_} ${Ae}${he}`)}console.log()},"printHistory"),switchProvider:o((M,L)=>{let V=O({provider:M,model:L});v.provider=M,v.model=L,F.provider=M,F.model=L,F.effort=V.runtimeEffort;let _=L??Wn(M);if(!_)try{_=Zx(M)?.getModel()??M}catch{_=M}ge?.update({provider:M,model:_,effort:V.configuredEffort,reasoningEffortLabel:G({provider:M,model:_})}),V.diagnostic&&console.log(ie.yellow(`
|
|
232
|
-
[${V.diagnostic}]`))},"switchProvider"),setThinking:o(M=>{v.thinking=M,F.thinking=M,v.reasoningMode=M?"auto":"off",F.reasoningMode=v.reasoningMode,ge?.update({reasoningMode:v.reasoningMode,reasoningEffortLabel:G()})},"setThinking"),setEffort:o(M=>{v.effort=M,v.effortOverride=M!==void 0,we()},"setEffort"),setReasoningMode:o(M=>{let L=M!=="off";v.reasoningMode=M,v.thinking=L,F.reasoningMode=M,F.thinking=L,ge?.update({reasoningMode:M,reasoningEffortLabel:G()})},"setReasoningMode"),setAgentMode:o(M=>{v.agentMode=M,F.agentMode=M},"setAgentMode"),setPermissionMode:o(M=>{v.permissionMode=M,A=M,we();let L=pn(M)?q.getGuardrail().getEngine():void 0;ge?.update({permissionMode:M,autoModeEngine:L}),M==="auto-in-project"&&S()},"setPermissionMode"),setRepoIntelligenceRuntime:o(M=>{M.mode!==void 0&&(v.repoIntelligenceMode=M.mode,process.env.KODAX_REPO_INTELLIGENCE=M.mode,F.context={...F.context,repoIntelligenceMode:M.mode}),M.trace!==void 0&&(v.repoIntelligenceTrace=M.trace,M.trace?process.env.KODAX_REPO_INTELLIGENCE_TRACE="1":delete process.env.KODAX_REPO_INTELLIGENCE_TRACE,F.context={...F.context,repoIntelligenceTrace:M.trace})},"setRepoIntelligenceRuntime"),deleteSession:o(async M=>{await r.delete?.(M)},"deleteSession"),deleteAllSessions:o(async()=>{await r.deleteAll?.(y.gitRoot??void 0)},"deleteAllSessions"),printSessionTree:o(async()=>{let M=await r.getLineage?.(y.sessionId);if(!M){console.log(ie.dim(`
|
|
233
|
-
[No session tree available for this session]`));return}let L=xf(hu(M));console.log(ie.bold(`
|
|
234
|
-
Session Tree:
|
|
235
|
-
`));for(let V of L)console.log(` ${V}`);console.log()},"printSessionTree"),switchSessionBranch:o(async M=>{if(!P("Switching session branches"))return"blocked";let L=await r.setActiveEntry?.(y.sessionId,M,{summarizeCurrentBranch:!0});return L?(y.messages=L.messages,y.title=L.title,y.contextTokenSnapshot=void 0,ge?.update({messageCount:y.messages.length}),console.log(ie.green(`
|
|
236
|
-
[Switched to tree entry: ${M}]`)),console.log(ie.dim(` Messages: ${L.messages.length}`)),"switched"):"missing"},"switchSessionBranch"),labelSessionBranch:o(async(M,L)=>{if(!await r.setLabel?.(y.sessionId,M,L))return!1;let _=L&&L.trim()?`checkpoint label set: ${L.trim()}`:"checkpoint label cleared";return console.log(ie.green(`
|
|
237
|
-
[${_}]`)),!0},"labelSessionBranch"),forkSession:o(async M=>{if(!P("Forking a session branch"))return"blocked";let L=await r.fork?.(y.sessionId,M);return L?(y.sessionId=L.sessionId,y.messages=L.data.messages,y.title=L.data.title,y.contextTokenSnapshot=void 0,y.createdAt=new Date().toISOString(),y.lastAccessed=y.createdAt,Zg(y,F,lc(L.data)??y.runtimeInfo),F.session={...F.session,id:L.sessionId},ge?.update({sessionId:L.sessionId,messageCount:y.messages.length}),console.log(ie.green(`
|
|
238
|
-
[Forked session: ${L.sessionId}]`)),console.log(ie.dim(` Messages: ${L.data.messages.length}`)),"forked"):"failed"},"forkSession"),recoverSession:o(async M=>{if(y.messages.length===0)return"empty";if(!P("Recovering into a new session"))return"blocked";let L=y.sessionId,V=y.lineage??Dt(y.messages);y.lineage=V;let _=y.artifactLedger?structuredClone(y.artifactLedger):void 0,xe=y.title||ro(y.messages),Ae=xu({sourceSessionId:L,messages:y.messages,lineage:V,artifactLedger:_,reason:"provider session recovery"});await r.save(L,{messages:y.messages,title:xe,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:V,artifactLedger:_,uiHistory:y.uiHistory,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}});let he=Si(),Ie=Dt(Ae.messages);await r.save(he,{messages:Ae.messages,title:Ae.title,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:Ie,artifactLedger:_,...F.session?.tag!==void 0?{tag:F.session.tag}:{}});let Lt=new Date().toISOString();y.sessionId=he,y.messages=Ae.messages,y.title=Ae.title,y.contextTokenSnapshot=void 0,y.lineage=Ie,y.artifactLedger=_,y.extensionState=void 0,y.extensionRecords=void 0,y.extensionStateDirty=!1,y.extensionRecordsDirty=!1,y.createdAt=Lt,y.lastAccessed=Lt,F.session={...F.session,id:he},ge?.update({sessionId:he,messageCount:y.messages.length}),i?.writer.update({sessionId:he}),console.log(ie.green(`
|
|
239
|
-
[Recovered session: ${he}]`)),console.log(ie.dim(` Source session saved: ${L}`)),console.log(ie.dim(" Raw provider history was not replayed."));let yt;try{yt=await ey(F,y,yu(M),y.messages)}catch(io){let xt=io instanceof Error?io.message:String(io);return console.log(ie.red(`
|
|
240
|
-
[Recover failed] ${xt}`)),"failed"}y.messages=yt.messages,y.contextTokenSnapshot=yt.contextTokenSnapshot,Vf(y,yt),y.artifactLedger=us(y.artifactLedger??[],yt.artifactLedger??gu(yt.messages)),y.lineage=Dt(y.messages,y.lineage);let Ln=ro(y.messages);return y.title=Ln,ge?.update({messageCount:y.messages.length}),await r.save(y.sessionId,{messages:y.messages,title:Ln,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y),"recovered"},"recoverCurrentSession"),rewindSession:o(async M=>{if(!P("Rewinding session"))return"blocked";let L=await r.rewind?.(y.sessionId,M);return L?(y.messages=L.messages,y.title=L.title,y.contextTokenSnapshot=void 0,y.lastAccessed=new Date().toISOString(),ge?.update({messageCount:y.messages.length}),console.log(ie.green(`
|
|
241
|
-
[Rewound session${M?` to ${M}`:" to previous turn"}]`)),console.log(ie.dim(` Messages: ${L.messages.length}`)),"rewound"):"failed"},"rewindSession"),getCostReport:o(()=>ny.current?.()??null,"getCostReport"),getAutoModeStats:o(()=>{if(pn(A))return q.getGuardrail().getStats()},"getAutoModeStats"),setAutoModeEngine:o(M=>{pn(A)&&(q.getGuardrail().setEngine(M),ge?.update({permissionMode:A}))},"setAutoModeEngine"),createKodaXOptions:o(()=>{let M=o((V,_)=>A!=="plan"?null:ti(V,_,n??process.cwd()),"planModeBlockCheck"),L=pn(A)?[q.getGuardrail()]:void 0;return{...F,provider:v.provider,model:v.model,effort:O().runtimeEffort,thinking:v.thinking,reasoningMode:v.reasoningMode,guardrails:L,context:{...F.context,planModeBlockCheck:M},events:{...F.events,exitPlanMode:o(async V=>A!=="plan"?"not-in-plan-mode":(await ll(W,"exit_plan_mode",{plan:V},{isProtectedPath:!1,permissionMode:A})).confirmed?(v.permissionMode="accept-edits",A="accept-edits",we(),ge?.update({permissionMode:"accept-edits"}),!0):!1,"exitPlanMode"),beforeToolExecute:o(async(V,_)=>{let xe=A,Ae=rc(xe);if(xe==="plan"){let he=ti(V,_,n??process.cwd());if(he)return console.log(ie.yellow(he)),`${he} 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(V==="bash"){let he=_.command??"";if(go(he))return!0}if(n&&Jo.has(V)){let he=_.path;if(he&&sc(he,n))return(await ll(W,V,_,{isProtectedPath:!0,permissionMode:xe})).confirmed?!0:(console.log(ie.dim("[Cancelled] Operation on protected path requires confirmation")),!1)}if(Ae.has(V)){if(xe==="accept-edits"&&V==="bash"&&await ic(V,_,D,Be))return!0;let he=await ll(W,V,_,{isOutsideProject:_._outsideProject===!0,reason:_._reason,permissionMode:xe});if(!he.confirmed)return console.log(ie.dim("[Cancelled] Operation cancelled by user")),!1;he.always&&xe==="accept-edits"&&(Au(V,_,!1),D=ms())}return!0},"beforeToolExecute")}}},"createKodaXOptions"),reloadAgentsFiles:o(async()=>(ke=await de(),ke),"reloadAgentsFiles"),readline:W,ui:new Gf(W)},on=o(async M=>{y.uiHistory=[...y.uiHistory??[],M];let L=y.title||ro(y.messages);y.title=L,await r.save(y.sessionId,{messages:y.messages,title:L,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,lineage:y.lineage,artifactLedger:y.artifactLedger,uiHistory:y.uiHistory,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}})},"appendPersistedUiHistoryItem"),qe=o(async(M,L)=>{if(!Ou({error:M,messageCount:y.messages.length}))return!1;console.log(ie.dim(`
|
|
242
|
-
${dc}`));try{await on({type:"info",text:dc})}catch(Ae){let he=Ae instanceof Error?Ae.message:String(Ae);console.log(ie.dim(`Could not persist recovery hint: ${he}`))}let V=HS(ze);if(!V)return console.log(),!1;if(!await V($u))return!1;let xe;try{xe=await ze.recoverSession?.(L)}catch(Ae){let he=Ae instanceof Error?Ae.message:String(Ae);return console.log(ie.red(`
|
|
243
|
-
[Recover failed] ${he}`)),!1}return xe==="failed"&&console.log(ie.dim(`Recovery session was created, but the continuation request still failed.
|
|
244
|
-
`)),xe==="recovered"},"maybeRecoverAfterProviderError");W.on("SIGINT",async()=>{console.log(ie.dim(`
|
|
245
|
-
|
|
246
|
-
[Press /exit to quit]`)),W.prompt()});let _t=o(()=>{ge?.hide(),i?.shutdown(),W.close()},"cleanup");process.on("exit",_t),process.on("SIGTERM",_t);let qt=o(async(M,L)=>{if(bu({source:M.source}).action==="none")return!1;let _=!1,xe=o(Ie=>{_||(_=!0,y.messages.push({role:"user",content:L||M.request,timestamp:new Date().toISOString()})),y.messages.push({role:"assistant",content:Ie,timestamp:new Date().toISOString()}),ge?.update({messageCount:y.messages.length});let Lt=ro(y.messages);y.title=Lt,r.save(y.sessionId,{messages:y.messages,title:Lt,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...F.session?.tag!==void 0?{tag:F.session.tag}:{}}).catch(yt=>{let Ln=yt instanceof Error?yt.message:String(yt);console.log(ie.red(`
|
|
247
|
-
[workflow] failed to save final answer: ${Ln}
|
|
248
|
-
`))})},"commitWorkflowFinal"),Ae={...ze,onWorkflowRunMessage:o(Ie=>{if(Ie.type==="event")return;let Lt=Ie.text.trimEnd();if(Lt.trim()){if(Ie.type==="error"){console.log(ie.red(`
|
|
249
|
-
${Lt}
|
|
250
|
-
`));return}if(Ie.type==="success"){console.log(ie.green(`
|
|
251
|
-
${Lt}
|
|
252
|
-
`));return}if(Ie.type==="assistant"){console.log(`
|
|
253
|
-
${Lt}
|
|
254
|
-
`),Ie.final===!0&&xe(Lt);return}console.log(ie.dim(`
|
|
255
|
-
${Lt}
|
|
256
|
-
`))}},"onWorkflowRunMessage")},he=await Pu({request:M.request,callbacks:Ae,approval:v.permissionMode==="plan"?"required":"silent",presentation:"agentic",sourceLabel:M.displayName,processSource:M.processSource??"command"});return vu({outcome:he})},"startWorkflowInvocation"),dn=o(async(M,L)=>{if(!M||typeof M!="object")return;if(M.workflow){await qt(M.workflow,L);return}if(!M.invocation)return;let V=await If({...F,provider:v.provider,thinking:v.thinking,reasoningMode:v.reasoningMode},M.invocation,L,_=>console.log(ie.dim(`
|
|
257
|
-
${_}`)));if(V.mode==="manual"){V.manualOutput&&console.log(ie.yellow(`
|
|
258
|
-
${V.manualOutput}
|
|
259
|
-
`)),await V.finalize();return}if(!V.prompt||!V.options){await V.finalize();return}try{let _=V.mode==="fork"?[]:y.messages,xe=await ey(V.options,y,V.prompt,_);if(V.mode==="fork"){let Ae=OS(xe.messages);Ae.trim()&&(console.log(`
|
|
260
|
-
${Ae}
|
|
261
|
-
`),y.messages.push({role:"assistant",content:Ae,timestamp:new Date().toISOString()}))}else y.messages=xe.messages,y.contextTokenSnapshot=xe.contextTokenSnapshot;if(Vf(y,xe),ge?.update({messageCount:y.messages.length}),y.messages.length>0){let Ae=ro(y.messages);y.title=Ae,await r.save(y.sessionId,{messages:y.messages,title:Ae,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y)}await V.finalize()}catch(_){throw await V.finalize(_ instanceof Error?_:new Error(String(_))),_}},"handleCommandResult");for(;Q;){if(me&&re){me=!1,W.resume();let he=await Qg(re);if(he&&he.trim()&&he!==re){console.log(ie.dim(`
|
|
262
|
-
[Edited message ready to send]`));let Ie=he.trim();Er(y);let Lt=xs(Ie);if(Lt){let xt=await Ss(Lt,y,ze,v);await dn(xt,Ie);continue}let yt=await ry(Ie);if(Ie.startsWith("!")&&Jc(yt))continue;let Ln=oa(yt,F.context?.executionCwd??process.cwd());for(let xt of Ln.warnings)console.log(ie.yellow(`
|
|
263
|
-
${xt}`));y.messages.push({role:"user",content:Ln.messageContent}),re=Ie,ge?.update({messageCount:y.messages.length});let io=y.lineage?wS({getLineage:o(()=>y.lineage,"getLineage"),setLineage:o(xt=>{y.lineage=xt},"setLineage"),saveSession:o(async()=>{await r.save(y.sessionId,{messages:y.messages,title:y.title??ro(y.messages),gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,lineage:y.lineage,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y)},"saveSession"),getLatestUsage:o(()=>{},"getLatestUsage"),getTurnStartMs:o(()=>{},"getTurnStartMs"),getPermissionMode:o(()=>A,"getPermissionMode"),hasPendingUserInput:o(()=>Hn().has({agentId:void 0,maxPriority:"user",mode:"prompt"}),"hasPendingUserInput"),verifyComplete:o(async()=>({ok:!0}),"verifyComplete")}):void 0;try{let xt=await tc({...F,provider:v.provider,thinking:v.thinking,reasoningMode:v.reasoningMode,session:{...F.session,initialMessages:y.lineage?Nt(y.lineage,y.lineage.activeEntryId):y.messages,initialExtensionState:y.extensionState??{},initialExtensionRecords:y.extensionRecords??[]},context:{...F.context,taskSurface:"repl",planModeBlockCheck:o((so,ki)=>A!=="plan"?null:ti(so,ki,n??process.cwd()),"planModeBlockCheck"),...Ln.inputArtifacts.length>0?{inputArtifacts:Ln.inputArtifacts}:{},...io?{goalRuntime:io}:{}}},yt);if(y.messages=xt.messages,y.contextTokenSnapshot=xt.contextTokenSnapshot,Vf(y,xt),y.artifactLedger=us(y.artifactLedger??[],xt.artifactLedger??gu(xt.messages)),y.messages.length>0){let so=ro(y.messages);y.title=so,await r.save(y.sessionId,{messages:y.messages,title:so,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y)}}catch(xt){let so=xt instanceof Error?xt:new Error(String(xt));if(y.messages.pop(),console.log(ie.red(`
|
|
264
|
-
[Error] ${so.message}`)),await qe(so,yt))continue}continue}else he===re&&console.log(ie.dim(`
|
|
265
|
-
[No changes made, continuing...]`))}let M=hk(v.permissionMode,v),L=await gk(W,M);if(!Q)break;let V=L.trim();if(!V)continue;Er(y);let _=xs(V);if(_){let he=await Ss(_,y,ze,v);await dn(he,V);continue}let xe=await ry(V);if(V.startsWith("!")&&Jc(xe))continue;let Ae=oa(xe,F.context?.executionCwd??process.cwd());for(let he of Ae.warnings)console.log(ie.yellow(`
|
|
266
|
-
${he}`));y.messages.push({role:"user",content:Ae.messageContent}),re=V,ge?.update({messageCount:y.messages.length});try{let he=await ey(F,y,xe,y.messages,Ae.inputArtifacts);if(y.messages=he.messages,y.contextTokenSnapshot=he.contextTokenSnapshot,Vf(y,he),y.artifactLedger=us(y.artifactLedger??[],he.artifactLedger??gu(he.messages)),ge?.update({messageCount:y.messages.length}),y.messages.length>0){let Ie=ro(y.messages);y.title=Ie,await r.save(y.sessionId,{messages:y.messages,title:Ie,gitRoot:y.gitRoot??"",runtimeInfo:y.runtimeInfo,artifactLedger:y.artifactLedger,...Do(y),...F.session?.tag!==void 0?{tag:F.session.tag}:{}}),ma(y)}}catch(he){let Ie=he instanceof Error?he:new Error(String(he));y.messages.pop(),Ie.message.includes("rate limit")||Ie.message.includes("Rate limit")?(console.log(ie.yellow(`
|
|
267
|
-
[Rate Limit] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Wait a moment and try again, or switch provider with /mode
|
|
268
|
-
`))):Ie.message.includes("API key")||Ie.message.includes("not configured")?(console.log(ie.red(`
|
|
269
|
-
[Configuration Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Set the required API key environment variable
|
|
270
|
-
`))):Ie.message.includes("network")||Ie.message.includes("ECONNREFUSED")||Ie.message.includes("ETIMEDOUT")?(console.log(ie.red(`
|
|
271
|
-
[Network Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Check your internet connection and try again
|
|
272
|
-
`))):Ie.message.includes("token")||Ie.message.includes("context too long")?(console.log(ie.yellow(`
|
|
273
|
-
[Context Error] ${Ie.message}`)),console.log(ie.dim(`Suggestion: Use /clear to start a fresh conversation
|
|
274
|
-
`))):(console.log(ie.red(`
|
|
275
|
-
[Error] ${Ie.message}`)),console.log(ie.dim(`Your message was not sent. Please try again.
|
|
276
|
-
`))),await qe(Ie,xe)}}}o(BN,"runInteractiveMode");async function ry(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 pf(n,{cwd:process.cwd()})}return e}o(ry,"processSpecialSyntax");function HN(e){let t=e.snapshot;if(e.type==="workflow_started")return ie.dim(`
|
|
277
|
-
\u25B6 workflow ${t.workflowName} started (${t.runId})`);if(e.type==="workflow_finished"){let n=t.status==="completed"?ie.green("\u2713"):t.status==="failed"?ie.red("\u2717"):ie.yellow("\u2022"),r=t.resultSummary?` \u2014 ${t.resultSummary.split(`
|
|
278
|
-
`)[0]}`:"";return`${n} workflow ${t.workflowName} ${t.status}${r}`}if(e.type==="workflow_updated"&&e.message)return ie.dim(` ${e.message}`)}o(HN,"renderInlineWorkflowProcessLine");async function ey(e,t,n,r=t.messages,i){let s={...e.events??{},getCostReport:ny,onWorkflowProcessEvent:o(a=>{let c=HN(a);c&&console.log(c)},"onWorkflowProcessEvent"),onWorkflowAgentDigest:o(({runId:a,event:c})=>{let l=c.data??{},d=typeof l.summary=="string"?l.summary:void 0,f=typeof l.name=="string"?l.name:void 0,p=uc(d,f),m=Lu(c,p,a);m&&console.log(`
|
|
279
|
-
${m}
|
|
280
|
-
`)},"onWorkflowAgentDigest")};return tc({...e,events:s,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]}:{}}},n)}o(ey,"runAgentRound");function ro(e){return ri(e)}o(ro,"extractTitle");import Kf from"node:fs";import WN from"node:path";function FN(){let e=Yf();return Xf(e).map(n=>zf(n))}o(FN,"listCustomProviders");function jN(e){if(typeof e!="string"||e.length===0)return;let t=Xf(Yf()).find(n=>n.name===e);return t?zf(t):void 0}o(jN,"getCustomProviderConfig");function UN(e){Qx(e);let t=zf(e),n=Yf(),r=Xf(n),i=r.findIndex(a=>a.name===t.name),s=i>=0?r.map((a,c)=>c===i?t:a):[...r,t];return Tk({...n,customProviders:s}),Vp(s),zf(t)}o(UN,"upsertCustomProvider");function GN(e){if(typeof e!="string"||e.length===0)return!1;let t=Yf(),n=Xf(t),r=n.filter(i=>i.name!==e);return r.length===n.length?!1:(Tk({...t,customProviders:r}),Vp(r),!0)}o(GN,"removeCustomProvider");function wk(){return gr("config.json")}o(wk,"configFilePath");function Yf(){let e=wk();if(!Kf.existsSync(e))return{};try{let t=JSON.parse(Kf.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Yf,"readWholeConfig");function Tk(e){let t=wk();Kf.mkdirSync(WN.dirname(t),{recursive:!0}),Kf.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(Tk,"writeWholeConfig");function Xf(e){let t=e.customProviders;return Array.isArray(t)?t:[]}o(Xf,"extractCustomProviders");function zf(e){return structuredClone(e)}o(zf,"cloneCustomProvider");import qf from"node:fs";import VN from"node:path";function KN(){let e=Jf();return qN(Qf(e))}o(KN,"listMcpServers");function zN(e){if(typeof e!="string"||e.length===0)return;let n=Qf(Jf())[e];return n?oy(n):void 0}o(zN,"getMcpServerConfig");function YN(e,t){if(typeof e!="string"||e.length===0)throw new TypeError("upsertMcpServer: name must be a non-empty string");Ck(e,t);let n=oy(t),r=Jf(),s={...Qf(r),[e]:n};return bk({...r,mcpServers:s}),oy(n)}o(YN,"upsertMcpServer");function XN(e){if(typeof e!="string"||e.length===0)return!1;let t=Jf(),n=Qf(t);if(!(e in n))return!1;let r={};for(let i of Object.keys(n))i!==e&&(r[i]=n[i]);return bk({...t,mcpServers:r}),!0}o(XN,"removeMcpServer");function Ck(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(Ck,"validateMcpServerConfig");function Ik(){return gr("config.json")}o(Ik,"configFilePath");function Jf(){let e=Ik();if(!qf.existsSync(e))return{};try{let t=JSON.parse(qf.readFileSync(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}o(Jf,"readWholeConfig");function bk(e){let t=Ik();qf.mkdirSync(VN.dirname(t),{recursive:!0}),qf.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}o(bk,"writeWholeConfig");function Qf(e){let t=e.mcpServers;return!t||typeof t!="object"||Array.isArray(t)?{}:t}o(Qf,"extractMcpServers");function oy(e){return structuredClone(e)}o(oy,"cloneMcpServerConfig");function qN(e){return structuredClone(e)}o(qN,"cloneMcpServers");import Ze from"fs/promises";import sr from"fs";import We from"path";import Bk from"chalk";import wt from"fs/promises";import kk from"fs";import Xt from"path";var JN=2,QN=300*1e3,vk=65536,iy=o(e=>Xt.join(e,".layout.json"),"layoutMarkerPath"),ay=o(e=>Xt.join(e,".migration-lock"),"lockDirPath"),Rk=o(e=>Xt.join(ay(e),"owner.json"),"ownerPath"),sy=o(e=>Xt.join(e,".migration-journal.jsonl"),"journalPath"),Ek=o(e=>Xt.join(Xt.dirname(e),"sessions-archive"),"sessionsArchiveDir");function Mk(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")}o(Mk,"isSessionFile");function Ak(e){return e.endsWith(".archive.jsonl")||e.endsWith(".islands.jsonl")?e.slice(0,-14):null}o(Ak,"sidecarId");async function ZN(e){let t;try{t=await wt.open(e,"r");let n=Buffer.allocUnsafe(vk),{bytesRead:r}=await t.read(n,0,vk,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
281
|
-
`),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(ZN,"readMeta");async function eB(e){let t=await ZN(e);return t?ys({gitRoot:t.gitRoot,runtimeInfo:t.runtimeInfo}).key:rm}o(eB,"destKeyFor");async function _k(e){let t=[],n=o(async(r,i)=>{let s=[];try{s=await wt.readdir(r,{withFileTypes:!0})}catch{return}for(let a of s)!a.isFile()||a.name.startsWith(".")||(Mk(a.name)||i&&Ak(a.name)!==null)&&t.push(Xt.join(r,a.name))},"pushDir");return await n(e,!0),await n(Ek(e),!0),t}o(_k,"collectFlatSources");async function tB(e){let t=await _k(e),n=t.filter(s=>Mk(Xt.basename(s))),r=new Set(n.map(s=>Xt.basename(s,".jsonl"))),i=[];for(let s of n){let a=Xt.basename(s,".jsonl"),c=await eB(s);i.push({from:s,to:Xt.join(e,c,`${a}.jsonl`),reason:`session\u2192${c}`});for(let l of[".archive.jsonl",".islands.jsonl"]){let d=Xt.join(Xt.dirname(s),`${a}${l}`);kk.existsSync(d)&&i.push({from:d,to:Xt.join(e,c,`${a}.islands.jsonl`),reason:"sidecar\u2192islands"})}}for(let s of t){let a=Ak(Xt.basename(s));a===null||r.has(a)||i.push({from:s,to:Xt.join(e,rm,"orphan-islands",`${a}.islands.jsonl`),reason:"orphan-sidecar\u2192_unknown"})}return i}o(tB,"planMigration");async function Lk(e){try{return await wt.access(iy(e)),!0}catch{return!1}}o(Lk,"isMigrated");async function nB(e){return await Lk(e)?!1:(await _k(e)).length>0}o(nB,"needsMigration");async function rB(e){try{let t=JSON.parse(await wt.readFile(Rk(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>QN}catch{return!0}}o(rB,"lockIsStale");async function oB(e){let t=ay(e);for(let n=0;n<2;n+=1)try{return await wt.mkdir(t),await wt.writeFile(Rk(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 rB(e)){await wt.rm(t,{recursive:!0,force:!0}).catch(()=>{});continue}return!1}return!1}o(oB,"acquireLock");async function iB(e){await wt.rm(ay(e),{recursive:!0,force:!0}).catch(()=>{})}o(iB,"releaseLock");async function sB(e){let t=new Set;try{let n=await wt.readFile(sy(e),"utf8");for(let r of n.split(`
|
|
282
|
-
`))if(r.trim())try{let i=JSON.parse(r);i.done&&typeof i.from=="string"&&t.add(i.from)}catch{}}catch{}return t}o(sB,"readJournalDone");async function aB(e){if(await wt.mkdir(Xt.dirname(e.to),{recursive:!0}),kk.existsSync(e.to)){await wt.unlink(e.from).catch(()=>{});return}try{await wt.rename(e.from,e.to)}catch(t){let n=t.code;if(n==="EXDEV")await wt.copyFile(e.from,e.to),await wt.unlink(e.from).catch(()=>{});else if(n!=="ENOENT")throw t}}o(aB,"executeMove");async function Pk(e){await wt.mkdir(e,{recursive:!0});let t=`${iy(e)}.${process.pid}.tmp`,n=JSON.stringify({version:JN,migratedAt:new Date().toISOString(),from:"flat-v1"});await wt.writeFile(t,n+`
|
|
283
|
-
`,"utf8"),await wt.rename(t,iy(e))}o(Pk,"writeMarker");async function cB(e){let t=Ek(e);try{(await wt.readdir(t)).length===0&&await wt.rmdir(t).catch(()=>{})}catch{}}o(cB,"retireSessionsArchive");async function lB(e){if(!await oB(e))return{moved:0,planned:0};try{let t=await tB(e),n=await sB(e),r=await wt.open(sy(e),"a"),i=0;try{for(let s of t)n.has(s.from)||(await aB(s),await r.write(JSON.stringify({from:s.from,to:s.to,done:!0})+`
|
|
284
|
-
`),i+=1)}finally{await r.close()}return await cB(e),await Pk(e),await wt.rm(sy(e),{force:!0}).catch(()=>{}),{moved:i,planned:t.length}}finally{await iB(e)}}o(lB,"runMigration");async function No(e){try{if(await Lk(e))return;if(!await nB(e)){await Pk(e).catch(()=>{});return}await lB(e)}catch{}}o(No,"ensureLayoutMigrated");var uB=new Set(["user","assistant","system"]),dB=new Set(["user","assistant","system","thinking","error","event","info","hint"]),fB=new Set(["success","error","cancelled","awaiting_approval"]);function Tt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(Tt,"isRecord");function ir(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return!0;if(Array.isArray(e))return e.every(ir);if(!Tt(e))return!1;let t=Object.getPrototypeOf(e);return t!==Object.prototype&&t!==null?!1:Object.values(e).every(ir)}o(ir,"isKodaXJsonValue");function $k(e){return Tt(e)&&typeof e.id=="string"&&typeof e.extensionId=="string"&&typeof e.type=="string"&&typeof e.ts=="number"&&(e.data===void 0||ir(e.data))&&(e.dedupeKey===void 0||typeof e.dedupeKey=="string")}o($k,"isKodaXExtensionSessionRecord");function Ok(e){return Tt(e)?Object.values(e).every(t=>Tt(t)?Object.values(t).every(ir):!1):!1}o(Ok,"isKodaXExtensionSessionState");function pB(e){if(!Tt(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"&&Tt(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(pB,"isKodaXContentBlock");function cy(e){return!Tt(e)||typeof e.role!="string"||!uB.has(e.role)?!1:typeof e.content=="string"||Array.isArray(e.content)&&e.content.every(pB)}o(cy,"isKodaXMessage");function Dk(e){return Tt(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(Dk,"isSessionErrorMetadata");function mB(e){return Tt(e)&&Object.values(e).every(ir)}o(mB,"isKodaXSessionUiToolInput");function hB(e){return Tt(e)&&typeof e.id=="string"&&typeof e.name=="string"&&typeof e.status=="string"&&fB.has(e.status)&&(e.input===void 0||mB(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(hB,"isKodaXSessionUiToolCall");function Nk(e){return!Tt(e)||typeof e.type!="string"?!1:e.type==="tool_group"?Array.isArray(e.tools)&&e.tools.length>0&&e.tools.every(hB):dB.has(e.type)&&typeof e.text=="string"&&(e.icon===void 0||typeof e.icon=="string")&&(e.compactText===void 0||typeof e.compactText=="string")}o(Nk,"isKodaXSessionUiHistoryItem");function gB(e){return!Tt(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(gB,"isPersistedMetaUpdateLine");function zk(e){if(!Array.isArray(e))return;let t=e.filter(Nk).map(n=>n.type==="tool_group"?{...n,tools:n.tools.map(r=>({...r}))}:{...n});return t.length>0?t:void 0}o(zk,"normalizeKodaXSessionUiHistory");function Hk(e,t){t!==0&&process.stderr.write(`[KodaX] Skipped ${t} malformed session record(s) from ${We.basename(e)}.
|
|
285
|
-
`)}o(Hk,"warnMalformedSessionData");function oo(e){process.stderr.write(`${e}
|
|
286
|
-
`)}o(oo,"writeStorageNotice");function Wk(e){return{_type:"extension_record",...e}}o(Wk,"toExtensionRecordLine");function Fk(e){return{_type:"lineage_entry",entry:e}}o(Fk,"toLineageEntryLine");function jk(e){return{_type:"artifact_ledger_entry",entry:e}}o(jk,"toArtifactLedgerLine");function yB(e){return Tt(e)&&e._type==="extension_record"&&$k(e)}o(yB,"isPersistedExtensionRecordLine");function xB(e){return Tt(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(xB,"hasEntryBase");function SB(e){if(!xB(e))return!1;let t=e;switch(t.type){case"message":return cy(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||ir(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"client_notice":return typeof t.source=="string"&&typeof t.content=="string"&&(t.turnId===void 0||typeof t.turnId=="string")&&(t.payload===void 0||ir(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(SB,"isKodaXSessionEntry");function wB(e){return Tt(e)&&e._type==="lineage_entry"&&SB(e.entry)}o(wB,"isPersistedLineageEntryLine");function TB(e){return Tt(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||ir(e.metadata))}o(TB,"isKodaXSessionArtifactLedgerEntry");function CB(e){return Tt(e)&&e._type==="artifact_ledger_entry"&&TB(e.entry)}o(CB,"isPersistedArtifactLedgerLine");function Yk(e){return Tt(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(Yk,"isKodaXSessionRuntimeInfo");function Uk(e,t){return process.platform==="win32"||process.platform==="darwin"?e.toLowerCase()===t.toLowerCase():e===t}o(Uk,"pathsEqual");function IB(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")return n.id}return null}o(IB,"getLastNavigableEntryId");function bB(e){if(e.lineageEntries.length>0)return{version:2,activeEntryId:e.meta?.activeEntryId??IB(e.lineageEntries),entries:e.lineageEntries};if(e.legacyMessages.length!==0)return Dt(e.legacyMessages)}o(bB,"buildLineage");function Gk(e){return typeof e=="string"?`t:${e}`:`j:${JSON.stringify(e)}`}o(Gk,"serializeMessageContentForCompare");function vB(e,t){return e===t?!0:e.role===t.role&&e._synthetic===!0==(t._synthetic===!0)&&Gk(e.content)===Gk(t.content)}o(vB,"sameMessageByContent");function kB(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)=>vB(s,n[a])))return t}return Dt(e.messages,t)}o(kB,"resolveSnapshotLineage");function RB(e){let t=bB(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:Yk(e.meta?.runtimeInfo)?{...e.meta.runtimeInfo}:void 0,scope:e.meta?.scope??"user",uiHistory:zk(e.meta?.uiHistory),errorMetadata:Dk(e.meta?.errorMetadata)?{...e.meta.errorMetadata}:void 0,extensionState:Ok(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(RB,"buildSessionData");function EB(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?qo(n):t.messages.length}}o(EB,"createSessionMeta");async function MB(e){let t;try{t=await Ze.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(`
|
|
287
|
-
`);for(let s=0;s<i.length;s+=1)try{let a=JSON.parse(i[s]);if(s===0&&Tt(a)&&a._type==="meta"){r.meta=a;continue}if(gB(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=zk(a.uiHistory)),a.scope!==void 0&&(r.meta.scope=a.scope));continue}if(wB(a)){r.lineageEntries.push(a.entry);continue}if(CB(a)){r.artifactLedger.push(a.entry);continue}if(yB(a)){r.extensionRecords.push({id:a.id,extensionId:a.extensionId,type:a.type,ts:a.ts,data:a.data,dedupeKey:a.dedupeKey});continue}if(cy(a)){r.legacyMessages.push(a);continue}r.malformedCount+=1}catch{r.malformedCount+=1}return r}o(MB,"readPersistedSessionFile");var Vk=65536;async function AB(e){let t;try{t=await Ze.open(e,"r");let n=Buffer.allocUnsafe(Vk),{bytesRead:r}=await t.read(n,0,Vk,0);if(r===0)return null;let i=n.toString("utf8",0,r),s=i.indexOf(`
|
|
288
|
-
`);if(s>=0)return i.slice(0,s).trim();let a=await Ze.readFile(e,"utf-8"),c=a.indexOf(`
|
|
289
|
-
`);return(c>=0?a.slice(0,c):a).trim()}catch{return null}finally{await t?.close()}}o(AB,"readSessionFirstLine");async function Kk(e){try{let t=(await Ze.readFile(e,"utf-8")).trim();return t?t.split(`
|
|
290
|
-
`).length:0}catch{return 0}}o(Kk,"countSessionLines");var ar=class{static{o(this,"FileSessionStorage")}sessionsDir;hostCwd;emitMismatchWarnings;constructor(t){this.sessionsDir=t?.sessionsDir??Qo,this.hostCwd=t?.cwd,this.emitMismatchWarnings=t?.emitMismatchWarnings??!1}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=No(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=ys(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(sr.existsSync(s))return s;let a=We.join(n,"archived",`${t}.jsonl`);if(sr.existsSync(a))return a}let r=[],i=[];try{i=await Ze.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`);sr.existsSync(a)&&r.push(a);let c=We.join(this.sessionsDir,s.name,"archived",`${t}.jsonl`);sr.existsSync(c)&&r.push(c)}if(r.length===0){let s=this.legacyFlatPath(t);return sr.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=this.projectDir(Ur(this.hostCwd).key),a=r.find(c=>We.dirname(c)===s);if(a)return a}return oo(`[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 MB(n);return r?(Hk(n,r.malformedCount),RB(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 Ze.writeFile(r,i+`
|
|
291
|
-
`,"utf-8")}catch{}}async writeSessionInternal(t,n,r){let i=this.resolveWriteDir(t,n);await Ze.mkdir(i,{recursive:!0});let s=We.join(i,`${t}.jsonl`),a=`${s}.${process.pid}.${Date.now()}.tmp`,c=n.lineage??Dt(n.messages),l=EB(t,n,c,r);try{let d=await Ze.open(a,"w");try{await d.write(JSON.stringify(l)+`
|
|
292
|
-
`);for(let p of c.entries)await d.write(JSON.stringify(Fk(p))+`
|
|
293
|
-
`);for(let p of n.artifactLedger??[])await d.write(JSON.stringify(jk(p))+`
|
|
294
|
-
`);for(let p of n.extensionRecords??[])await d.write(JSON.stringify(Wk(p))+`
|
|
295
|
-
`)}finally{await d.close()}await Ze.rename(a,s),await this.ensureProjectJson(i,ys(n));let f=this.legacyFlatPath(t);if(f!==s&&sr.existsSync(f)){await Ze.unlink(f).catch(()=>{});let p=this.legacyFlatArchivePath(t);sr.existsSync(p)&&await Ze.rename(p,We.join(i,`${t}.islands.jsonl`)).catch(()=>{})}}finally{sr.existsSync(a)&&await Ze.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:kB(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(!sr.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(Fk(p)));for(let p of c)d.push(JSON.stringify(jk(p)));for(let p of l)d.push(JSON.stringify(Wk(p)));let f={_type:"meta_update",title:n.title,activeEntryId:n.lineage.activeEntryId,activeMessageCount:qo(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 Ze.appendFile(r,`
|
|
296
|
-
`+d.join(`
|
|
297
|
-
`),"utf-8"),this.syncAppendState(t,n,s.metaUpdateCount+1)});let i=this.appendState.get(t);i&&this.shouldRunMaintenance(i)&&this.runMaintenance(t).catch(s=>{process.stderr.write(`[KodaX] Archive maintenance failed: ${String(s)}
|
|
298
|
-
`)})}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}=lS(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 Ze.mkdir(a,{recursive:!0});let c=We.join(a,`${t}.islands.jsonl`),l=await Ze.open(c,"a");try{await l.write(JSON.stringify({_type:"archive_batch",archiveBatchId:s,sessionId:t,archivedAt:new Date().toISOString(),entryCount:i.length})+`
|
|
299
|
-
`);for(let f of i)await l.write(JSON.stringify({_type:"archived_entry",archiveBatchId:s,entry:f})+`
|
|
300
|
-
`)}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 ei(this.hostCwd),c=await gs({cwd:this.hostCwd}),l=lc(r);(c.canonicalRepoRoot&&l?.canonicalRepoRoot&&!_u(c,l)||a&&r.gitRoot&&a!==r.gitRoot&&!_u(c,{canonicalRepoRoot:r.gitRoot}))&&(oo(Bk.yellow(`
|
|
301
|
-
[Warning] Session project mismatch:`)),c.workspaceRoot&&oo(` Current workspace: ${c.workspaceRoot}`),l?.workspaceRoot&&oo(` Session workspace: ${l.workspaceRoot}`),c.canonicalRepoRoot&&oo(` Current repo: ${c.canonicalRepoRoot}`),l?.canonicalRepoRoot?oo(` Session repo: ${l.canonicalRepoRoot}`):r.gitRoot&&oo(` Session repo: ${r.gitRoot}`),oo(` Continuing anyway...
|
|
302
|
-
`))}if(r.errorMetadata?.consecutiveErrors&&r.errorMetadata.consecutiveErrors>0){let a=oS(r.messages);if(a!==r.messages){oo(Bk.cyan("[Session Recovery] Cleaned incomplete tool calls from previous session"));let c={...r,messages:a,errorMetadata:{...r.errorMetadata,consecutiveErrors:0},lineage:Dt(a,r.lineage)};return await this.serializedWrite(t,async()=>{await this.writeSessionInternal(t,c,i),this.syncAppendState(t,c)}),c}}return Hk(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=is(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??as(i.data.lineage);if(!s)return;let a=cs(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=ss(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=ls(s.data.lineage,n);if(!a)return;let c=r?.sessionId??await os(),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 Ze.mkdir(this.sessionsDir,{recursive:!0});let r=t??(this.hostCwd?await ei(this.hostCwd):null),i=await gs({cwd:r??this.hostCwd??process.cwd()}),s=await Ze.readdir(this.sessionsDir,{withFileTypes:!0}),a=[],c=ys({gitRoot:r??void 0,runtimeInfo:i}).key,l=o(w=>w.endsWith(".archive.jsonl")||w.endsWith(".islands.jsonl"),"isSidecar"),d=r?[c]:s.filter(w=>w.isDirectory()&&!w.name.startsWith(".")).map(w=>w.name);for(let w of d){let I=[];try{I=await Ze.readdir(this.projectDir(w))}catch{continue}for(let T of I)T.endsWith(".jsonl")&&!l(T)&&a.push({path:We.join(this.projectDir(w),T),trusted:!!r,archived:!1});if(n?.includeArchived){let T=[];try{T=await Ze.readdir(We.join(this.projectDir(w),"archived"))}catch{T=[]}for(let v of T)v.endsWith(".jsonl")&&!l(v)&&a.push({path:We.join(this.projectDir(w),"archived",v),trusted:!!r,archived:!0})}}for(let w of s)w.isFile()&&w.name.endsWith(".jsonl")&&!l(w.name)&&!w.name.startsWith("archived-")&&!w.name.startsWith(".")&&a.push({path:We.join(this.sessionsDir,w.name),trusted:!1,archived:!1});let f=[],p=o(async(w,I,T)=>{try{let v=await AB(w);if(!v)return null;let A=JSON.parse(v);if(Tt(A)&&A._type==="meta"){let N=typeof A.gitRoot=="string"?A.gitRoot:"",O=Yk(A.runtimeInfo)?A.runtimeInfo:void 0,G=A.scope==="managed-task-worker"?"managed-task-worker":"user";if(r&&!I){let me=_u(i,O),ue=O?.workspaceRoot?Uk(O.workspaceRoot,i.workspaceRoot??""):Uk(N,r);if(!me&&!ue)return null}if(G!=="user")return null;let Y=typeof A.extensionRecordCount=="number"&&A.extensionRecordCount>0?A.extensionRecordCount:0,re=typeof A.activeMessageCount=="number"&&A.activeMessageCount>=0?A.activeMessageCount:Math.max(0,await Kk(w)-1-Y);return{id:We.basename(w,".jsonl"),title:typeof A.title=="string"?A.title:"",msgCount:re,...typeof A.tag=="string"?{tag:A.tag}:{},createdAt:typeof A.createdAt=="string"?A.createdAt:void 0,runtimeInfo:O?{...O}:N?{canonicalRepoRoot:N}:void 0,...T?{archived:!0}:{}}}let D=await Kk(w);return{id:We.basename(w,".jsonl"),title:"",msgCount:D,...T?{archived:!0}:{}}}catch{return null}},"parseSessionFile"),m=48,g=new Set;for(let w=0;w<a.length;w+=m){let I=await Promise.all(a.slice(w,w+m).map(T=>p(T.path,T.trusted,T.archived)));for(let T of I)T&&!g.has(T.id)&&(g.add(T.id),f.push(T))}let S=n?.limit??10;return f.sort((w,I)=>{let T=w.createdAt?Date.parse(w.createdAt):Number.NaN,v=I.createdAt?Date.parse(I.createdAt):Number.NaN;return Number.isFinite(T)&&Number.isFinite(v)&&T!==v?v-T:Number.isFinite(v)&&!Number.isFinite(T)?1:Number.isFinite(T)&&!Number.isFinite(v)?-1:I.id.localeCompare(w.id)}).slice(0,S).map(({id:w,title:I,msgCount:T,tag:v,runtimeInfo:A,createdAt:D,archived:N})=>({id:w,title:I,msgCount:T,...v!==void 0?{tag:v}:{},...A?{runtimeInfo:A}:{},...D!==void 0?{createdAt:D}:{},...N?{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 Ze.mkdir(r,{recursive:!0});for(let i of[`${t}.jsonl`,`${t}.islands.jsonl`]){let s=We.join(n,i);if(sr.existsSync(s))try{await Ze.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)sr.existsSync(i)&&await Ze.unlink(i).catch(()=>{});this.sessionDirCache.delete(t)}async deleteAll(t){let n=t??(this.hostCwd?await ei(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 Ze.stat(s)).mtimeMs<r&&(await Ze.unlink(s),n++)}catch{}},"unlinkIfOld");try{await Ze.mkdir(this.sessionsDir,{recursive:!0});let s=await Ze.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 Ze.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 Ze.readdir(f)}catch{continue}for(let m of p)await i(We.join(f,m))}}}}catch{}return n}};import bi from"node:fs/promises";import un from"node:path";var _B=8;function Xk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}o(Xk,"isRecord");function qk(e){return e.endsWith(".jsonl")&&!e.endsWith(".archive.jsonl")&&!e.endsWith(".islands.jsonl")&&!e.startsWith(".")&&!e.startsWith("archived-")}o(qk,"isSessionFile");async function LB(e){let t=[],n=[];try{n=await bi.readdir(e,{withFileTypes:!0})}catch{return t}for(let r of n){if(r.isFile()){qk(r.name)&&t.push(un.join(e,r.name));continue}if(!r.isDirectory()||r.name.startsWith("."))continue;let i=un.join(e,r.name),s=[];try{s=await bi.readdir(i)}catch{continue}for(let a of s)qk(a)&&t.push(un.join(i,a))}return t}o(LB,"collectSessionFiles");function PB(e,t){let r=un.relative(e,t).split(un.sep);return r.length>1?r[0]:void 0}o(PB,"getProjectKey");async function $B(e,t){let n=un.relative(e,t),r=un.basename(t,".jsonl");try{let s=(await bi.readFile(t,"utf8")).split(/\r?\n/,1)[0];if(!s)return null;let a=JSON.parse(s);if(!Xk(a)||a._type!=="meta")return null;let c=Xk(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:PB(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($B,"parseCandidate");function OB(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(OB,"sameProject");function DB(e,t){if(t.isRunner||t.scope!=="user"||!OB(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>=_B?{canonical:t,score:n,reasons:r}:null}o(DB,"scoreCandidate");function NB(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(NB,"formatArchiveBatch");async function BB(e){let t=e,n=1;for(;;){try{await bi.access(t)}catch{return t}let r=un.extname(e);t=`${e.slice(0,e.length-r.length)}.${n}${r}`,n+=1}}o(BB,"uniqueTargetPath");async function HB(e={}){let t=e.sessionsDir??Qo;e.apply&&(await bi.mkdir(t,{recursive:!0}),await No(t));let n=await LB(t),r=[],i=[];for(let f of n){let p=await $B(t,f);if(!p){un.basename(f).startsWith("runner-")&&i.push({runnerId:un.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(g=>DB(f,g)).filter(g=>g!==null).sort((g,S)=>S.score-g.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(g=>`${g.canonical.id}:${g.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=un.join(t,".dedupe-archive",NB(e.now??new Date));if(e.apply)for(let f of c){let p=un.relative(t,f.runnerPath),m;try{m=await BB(un.join(d,p)),await bi.mkdir(un.dirname(m),{recursive:!0}),await bi.rename(f.runnerPath,m),l.push({runnerId:f.runnerId,from:f.runnerPath,to:m})}catch(g){i.push({runnerId:f.runnerId,path:f.runnerPath,reason:"move-failed",detail:`target=${m??un.join(d,p)}; ${g instanceof Error?g.message:String(g)}`})}}return{scanned:n.length,runnerCandidates:s.length,matches:c,moved:l,skipped:i,...e.apply?{archiveDir:d}:{}}}o(HB,"dedupeSessions");import vi from"node:fs";import ga from"node:fs/promises";import Wt from"node:path";import{randomUUID as FB}from"node:crypto";function WB(e){return e?.storage?e.storage:e?.sessionsDir!==void 0?new ar({sessionsDir:e.sessionsDir}):new ar}o(WB,"resolveStorage");async function Zf(e,t){let n={compacted:!1,tokensBefore:0,tokensAfter:0,messages:[]};try{let r=WB(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=Xo(a);if(!c)return{...n,messages:s,reason:`provider not found: ${a}`};let l=t?.contextWindow??c.getEffectiveContextWindow?.(t?.model)??c.getContextWindow?.()??2e5,d=rs(s),f=Number.isFinite(d)&&d>0&&l>0?Math.max(1,Math.ceil(d/l*100)-1):1,p=await uS(s,{enabled:!0,triggerPercent:f,contextWindow:l},c,l,t?.customInstructions,void 0,d,yS,xS,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"},g=p.artifactLedger??i.artifactLedger??[],S=Math.max(0,(p.tokensBefore??0)-(p.tokensAfter??0)),{ledgerMessage:w}=cS(g,S),I=w?[w]:[],T=mu(i.lineage,p.messages,m,I),v={...i,messages:p.messages,lineage:T,artifactLedger:p.artifactLedger??i.artifactLedger};return await r.save(e,v),{compacted:!0,tokensBefore:p.tokensBefore,tokensAfter:p.tokensAfter,messages:p.messages}}catch(r){return{...n,reason:r instanceof Error?r.message:String(r)}}}o(Zf,"compactSession");async function eR(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 ga.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(Wt.join(e,s.name));continue}if(!s.isDirectory()||s.name.startsWith("."))continue;let a=Wt.join(e,s.name);try{for(let c of await ga.readdir(a))r(c)&&n.push(Wt.join(a,c))}catch{}if(t){let c=Wt.join(a,"archived");try{for(let l of await ga.readdir(c))r(l)&&n.push(Wt.join(c,l))}catch{}}}return n}o(eR,"collectSessionFilePaths");function Jk(e){if(!e||!e.trim())return;let t=Wt.resolve(e).replace(/\\/g,"/");return process.platform==="win32"||process.platform==="darwin"?t.toLowerCase():t}o(Jk,"normalizeComparableRoot");function jB(e,t,n){let r=Jk(n);return r?[e?.gitRoot,e?.workspaceRoot,t].some(i=>Jk(i)===r):!0}o(jB,"sessionMatchesProjectRoot");function Pr(e){return e!==void 0?new ar({sessionsDir:e}):new ar}o(Pr,"getStorage");function fy(e){return e??Qo}o(fy,"resolveSessionsDir");async function tR(e){return nR(e,void 0)}o(tR,"listSessions");async function nR(e,t){try{let n=fy(t);await No(n);let r=e?.projectRoot,i=Pr(t);await ga.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;if(s==="user"&&!r&&l===void 0&&!a&&d===void 0)return(await i.list(r,{limit:c})).map(UB);let f=await eR(n,a),p=[],m=new Set;for(let g of f)try{let S=Wt.basename(g,".jsonl");if(m.has(S))continue;let w=Wt.basename(Wt.dirname(g))==="archived",I=(await ga.readFile(g,"utf-8")).trim(),T=I.split(`
|
|
303
|
-
`)[0];if(!T)continue;let v=JSON.parse(T);if(v===null||typeof v!="object"||v._type!=="meta")continue;let A=v,D=A.scope==="managed-task-worker"?"managed-task-worker":"user";if(s==="user"&&D!=="user"||s==="managed-task-worker"&&D!=="managed-task-worker")continue;let N=typeof A.createdAt=="string"?A.createdAt:void 0;if(l!==void 0&&N!==void 0){let C=Date.parse(N);if(!Number.isNaN(C)&&C>=l)continue}let O=typeof A.tag=="string"?A.tag:void 0;if(d!==void 0&&O!==d)continue;let G=I.split(`
|
|
304
|
-
`).length,Y=typeof A.extensionRecordCount=="number"&&A.extensionRecordCount>0?A.extensionRecordCount:0,re=typeof A.activeMessageCount=="number"&&A.activeMessageCount>=0?A.activeMessageCount:Math.max(0,G-1-Y),me=A.runtimeInfo!==null&&typeof A.runtimeInfo=="object"?rR(A.runtimeInfo):void 0,ue=typeof A.gitRoot=="string"?A.gitRoot:void 0,y=me??(ue?{gitRoot:ue}:void 0);if(!jB(y,ue,r))continue;let P=Ur(y?.gitRoot??y?.workspaceRoot).key;m.add(S),p.push({id:S,title:typeof A.title=="string"?A.title:"",msgCount:re,...O!==void 0?{tag:O}:{},createdAt:N,runtimeInfo:y,projectKey:P,...w?{archived:!0}:{},_createdAtMs:N?Date.parse(N):void 0})}catch{continue}return p.sort((g,S)=>{let w=g._createdAtMs,I=S._createdAtMs;return Number.isFinite(w)&&Number.isFinite(I)&&w!==I?I-w:Number.isFinite(I)&&!Number.isFinite(w)?1:Number.isFinite(w)&&!Number.isFinite(I)?-1:S.id.localeCompare(g.id)}),p.slice(0,c).map(({id:g,title:S,msgCount:w,tag:I,createdAt:T,runtimeInfo:v,projectKey:A,archived:D})=>({id:g,title:S,msgCount:w,...I!==void 0?{tag:I}:{},...T!==void 0?{createdAt:T}:{},...v!==void 0?{runtimeInfo:v}:{},...A!==void 0?{projectKey:A}:{},...D?{archived:!0}:{}}))}catch{return[]}}o(nR,"listSessionsImpl");function rR(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(rR,"extractRuntimeInfoSummary");function UB(e){let t=e.runtimeInfo?rR(e.runtimeInfo):void 0,n=Ur(t?.gitRoot??t?.workspaceRoot).key;return{id: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(UB,"toSessionSummary");function tp(e){return typeof e=="object"&&e!==null}o(tp,"isRecord");function GB(e){return tp(e)?(e.role==="user"||e.role==="assistant"||e.role==="system")&&(typeof e.content=="string"||Array.isArray(e.content)):!1}o(GB,"isMessage");function VB(e){return tp(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(VB,"hasEntryBase");function KB(e){if(!VB(e))return!1;let t=e;switch(t.type){case"message":return GB(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"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||ir(t.payload));case"goal":return typeof t.event=="string";default:return!1}}o(KB,"isTranscriptSidecarEntry");function zB(e){return tp(e)&&e._type==="archived_entry"&&typeof e.archiveBatchId=="string"&&KB(e.entry)}o(zB,"isArchivedEntryLine");async function YB(e,t){let n,r=new Set([`${e}.jsonl`,`archived-${e}.jsonl`]);for(let f of await eR(t,!0))if(r.has(Wt.basename(f))){n=f;break}if(!n)return[];let i=Wt.dirname(n),s=Wt.basename(n,".jsonl"),c=Array.from(new Set([e,s])).flatMap(f=>[Wt.join(i,`${f}.islands.jsonl`),Wt.join(i,`${f}.archive.jsonl`)]),l=[],d=new Set;for(let f of c){let p="";try{p=await ga.readFile(f,"utf-8")}catch{continue}for(let m of p.split(/\r?\n/))if(m.trim())try{let g=JSON.parse(m);zB(g)&&(d.has(g.entry.id)||(d.add(g.entry.id),l.push(g.entry)))}catch{}}return l}o(YB,"readArchivedTranscriptEntries");function XB(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(XB,"mergeTranscriptLineageEntries");function oR(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(oR,"collectActiveIds");function Qk(e,t){return t==="branch_summary"?{role:"user",content:`The following is a summary of a branch that this conversation came back from:
|
|
305
|
-
|
|
306
|
-
<summary>
|
|
307
|
-
${e}
|
|
308
|
-
</summary>`}:{role:"system",content:`[\u5BF9\u8BDD\u5386\u53F2\u6458\u8981]
|
|
309
|
-
|
|
310
|
-
${e}`}}o(Qk,"summaryMessage");function qB(e){return{role:"system",content:e.content,_source:"client_notice",timestamp:e.timestamp,...e.turnId!==void 0?{turnId:e.turnId}:{}}}o(qB,"clientNoticeMessage");function ly(e,t){let n=e[t];return typeof n=="string"?n:void 0}o(ly,"messageStringField");function JB(e){if(e.role==="user")return"user";if(e.role==="assistant")return"assistant";if(e.role==="system")return"system"}o(JB,"messageSource");function Zk(e){return tp(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(Zk,"isTaskResultMetadata");function QB(e){if(Zk(e._taskResult))return[e._taskResult];if(Array.isArray(e._taskResults))return e._taskResults.filter(Zk);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(QB,"taskResultsFromMessage");function ZB(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(ZB,"taskResultPayload");function eH(e,t,n){return t.has(e.id)?!0:e.type!=="client_notice"?!1:e.parentId===null?n===null:t.has(e.parentId)}o(eH,"transcriptEntryActive");function ha(e){return{entryId:e.id,parentId:e.parentId,logicalId:e.logicalId??e.id,...e.sourceEntryId!==void 0?{sourceEntryId:e.sourceEntryId}:{}}}o(ha,"transcriptEntryIdentity");function iR(e,t,n){let r=eH(e,t,n);switch(e.type){case"message":{let i=QB(e.message);if(i.length>0){let s=i[0];return{...ha(e),timestamp:e.timestamp,type:"task_result",source:s.source,turnId:ly(e.message,"turnId"),message:e.message,active:r,payload:ZB(i),taskResults:i}}return e.message._source==="client_notice"?{...ha(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:ly(e.message,"turnId"),message:e.message,active:r,payload:{content:e.message.content,entersModelContext:!1}}:{...ha(e),timestamp:e.timestamp,type:"message",source:JB(e.message),turnId:ly(e.message,"turnId"),message:e.message,active:r}}case"compaction":return{...ha(e),timestamp:e.timestamp,type:"compaction",source:"system",message:Qk(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"branch_summary":return{...ha(e),timestamp:e.timestamp,type:"branch_summary",source:"system",message:Qk(e.summary,"branch_summary"),active:r,summary:e.summary,payload:{summary:e.summary,fromId:e.fromId,details:e.details}};case"client_notice":return{...ha(e),timestamp:e.timestamp,type:"client_notice",source:"client",turnId:e.turnId,message:qB(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(iR,"toTranscriptEntry");function tH(e){let t=oR(e);return e.entries.map(n=>iR(n,t,e.activeEntryId)).filter(n=>n!==null)}o(tH,"buildTranscriptEntries");async function sR(e){return aR(e,void 0)}o(sR,"loadSession");async function aR(e,t){try{return await Pr(t).load(e)}catch{return null}}o(aR,"loadSessionImpl");async function cR(e){return lR(e,void 0)}o(cR,"loadFullTranscript");async function lR(e,t){try{let n=fy(t);await No(n);let r=Pr(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 YB(e,n),c=a.length>0?{...s,entries:XB(a,s.entries)}:s,l=tH(c);return{...i,messages:l.map(d=>d.message),activeMessages:i.messages,transcriptEntries:l,lineage:c}}catch{return null}}o(lR,"loadFullTranscriptImpl");function nH(e){let t=e?.trim();return t&&t.length>0?t:"client"}o(nH,"normalizeClientNoticeSource");function rH(e,t){let n=`notice_${FB().replace(/-/g,"").slice(0,12)}`;return{type:"client_notice",id:n,parentId:e.activeEntryId,timestamp:t.timestamp??new Date().toISOString(),logicalId:n,source:nH(t.source),content:t.content,...t.turnId!==void 0?{turnId:t.turnId}:{},...t.payload!==void 0?{payload:t.payload}:{}}}o(rH,"createClientNoticeEntry");async function oH(e,t){return iH(e,t,void 0)}o(oH,"appendClientNotice");async function iH(e,t,n){return uy(e,t,Pr(n))}o(iH,"appendClientNoticeImpl");async function uy(e,t,n){try{let r=await n.load(e);if(!r)return null;let i=r.lineage??Dt(r.messages),s=rH(i,t),a={...i,entries:[...i.entries,s]},c={...r,lineage:a,messages:r.messages};await n.appendSessionDelta(e,c);let l=oR(a);return iR(s,l,a.activeEntryId)}catch{return null}}o(uy,"appendClientNoticeWithStorage");async function uR(e,t){return dR(e,t,void 0)}o(uR,"forkSession");async function dR(e,t,n){try{return await Pr(n).fork(e,t?.selector,{sessionId:t?.sessionId,title:t?.title})}catch{return null}}o(dR,"forkSessionImpl");async function fR(e,t){return pR(e,t,void 0)}o(fR,"rewindSession");async function pR(e,t,n){try{return await Pr(n).rewind(e,t?.selector)}catch{return null}}o(pR,"rewindSessionImpl");async function mR(e,t){return hR(e,t,void 0)}o(mR,"setActiveEntry");async function hR(e,t,n){try{return await Pr(n).setActiveEntry(e,t)}catch{return null}}o(hR,"setActiveEntryImpl");async function ep(){try{return rS({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(ep,"listRunningSessions");async function gR(e){return yR(e,void 0)}o(gR,"deleteSession");async function yR(e,t){try{let r=(await ep()).find(i=>i.sessionId===e);return r?{error:{code:"session_running",runningProcess:{pid:r.pid,startedAt:r.startedAt}}}:(await Pr(t).delete(e),{ok:!0})}catch{return{ok:!0}}}o(yR,"deleteSessionImpl");async function xR(e){return SR(e,void 0)}o(xR,"archiveSession");async function SR(e,t){try{return await Pr(t).archive(e)}catch{return!1}}o(SR,"archiveSessionImpl");async function wR(e){return TR(e,void 0)}o(wR,"unarchiveSession");async function TR(e,t){try{return await Pr(t).unarchive(e)}catch{return!1}}o(TR,"unarchiveSessionImpl");function CR(e){return IR(e,void 0)}o(CR,"watchSessions");function IR(e,t){let n=fy(t);return No(n).catch(()=>{}),process.platform==="win32"?cH(e,n):sH(e,n)}o(IR,"watchSessionsImpl");function dy(e){let t=Wt.basename(e);return!t.endsWith(".jsonl")||t.endsWith(".archive.jsonl")||t.endsWith(".islands.jsonl")||t.startsWith(".")?null:t.slice(0,-6)}o(dy,"sessionIdFromFilename");function sH(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(!vi.existsSync(t)){setTimeout(a,1e3);return}let c=o((l,d)=>{if(!d)return;let f=typeof d=="string"?d:d.toString(),p=dy(f);if(!p)return;let m=l==="rename"?aH(t,f):"change";s(m,p)},"onEvent");try{n=vi.watch(t,{recursive:!0},c)}catch{n=vi.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(sH,"watchSessionsPosix");function aH(e,t){try{return vi.statSync(Wt.join(e,t)),"add"}catch{return"remove"}}o(aH,"detectRenameKind");function cH(e,t){let n=!1,r=new Set;function i(c,l){try{for(let d of vi.readdirSync(l)){let f=dy(d);f&&c.add(f)}}catch{}}o(i,"addIds");function s(){let c=new Set;try{if(!vi.existsSync(t))return c;for(let l of vi.readdirSync(t,{withFileTypes:!0}))if(l.isFile()){let d=dy(l.name);d&&c.add(d)}else if(l.isDirectory()&&!l.name.startsWith(".")){let d=Wt.join(t,l.name);i(c,d),i(c,Wt.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(cH,"watchSessionsWindows");function lH(e){let t=e?.sessionsDir,n=t!==void 0?new ar({sessionsDir:t}):new ar;return t===void 0?{listSessions:tR,loadSession:sR,loadFullTranscript:cR,appendClientNotice:o((r,i)=>uy(r,i,n),"appendClientNotice"),forkSession:uR,rewindSession:fR,setActiveEntry:mR,deleteSession:gR,archiveSession:xR,unarchiveSession:wR,listRunningSessions:ep,watchSessions:CR,compactSession:o((r,i)=>Zf(r,{...i,storage:n}),"compactSession"),storage:n}:{listSessions:o(r=>nR(r,t),"listSessions"),loadSession:o(r=>aR(r,t),"loadSession"),loadFullTranscript:o(r=>lR(r,t),"loadFullTranscript"),appendClientNotice:o((r,i)=>uy(r,i,n),"appendClientNotice"),forkSession:o((r,i)=>dR(r,i,t),"forkSession"),rewindSession:o((r,i)=>pR(r,i,t),"rewindSession"),setActiveEntry:o((r,i)=>hR(r,i,t),"setActiveEntry"),deleteSession:o(r=>yR(r,t),"deleteSession"),archiveSession:o(r=>SR(r,t),"archiveSession"),unarchiveSession:o(r=>TR(r,t),"unarchiveSession"),listRunningSessions:ep,watchSessions:o(r=>IR(r,t),"watchSessions"),compactSession:o((r,i)=>Zf(r,{...i,storage:n}),"compactSession"),storage:n}}o(lH,"createSessionManager");export{ws as a,Ts as b,fc as c,Cs as d,pc as e,am as f,oi as g,ii as h,Is as i,si as j,Wu as k,ai as l,bs as m,Fu as n,ju as o,vs as p,En as q,wr as r,Tr as s,yE as t,mn as u,mc as v,um as w,dm as x,hn as y,fm as z,pm as A,cw as B,lw as C,ne as D,bH as E,Ym as F,__ as G,Id as H,_c as I,XT as J,D_ as K,N_ as L,Jm as M,bd as N,Qm as O,QT as P,th as Q,pi as R,vd as S,nh as T,Pc as U,oh as V,Fs as W,sL as X,Vn as Y,pC as Z,mC as _,pL as $,mL as aa,lP as ba,gi as ca,dP as da,zs as ea,AP as fa,LP as ga,PP as ha,bh as ia,vh as ja,OP as ka,Rh as la,Eh as ma,Jd as na,Qd as oa,Zd as pa,Ah as qa,tf as ra,ef as sa,Lh as ta,nf as ua,jc as va,Uc as wa,d0 as xa,of as ya,$h as za,Dh as Aa,Bh as Ba,sf as Ca,Hh as Da,af as Ea,cf as Fa,Gh as Ga,Vh as Ha,Xh as Ia,uf as Ja,zc as Ka,Yc as La,D0 as Ma,y1 as Na,x1 as Oa,B0 as Pa,C1 as Qa,I1 as Ra,Xc as Sa,Er as Ta,qc as Ua,Qs as Va,b1 as Wa,pf as Xa,R1 as Ya,E1 as Za,Qr as _a,mf as $a,hf as ab,O1 as bb,gf as cb,D1 as db,Yg as eb,rN as fb,iN as gb,pN as hb,Qv as ib,Zv as jb,mN as kb,gN as lb,Ff as mb,rk as nb,no as ob,ok as pb,ik as qb,sk as rb,SN as sb,cl as tb,wN as ub,TN as vb,BN as wb,ry as xb,FN as yb,jN as zb,UN as Ab,GN as Bb,KN as Cb,zN as Db,YN as Eb,XN as Fb,Ck as Gb,ar as Hb,HB as Ib,tR as Jb,sR as Kb,cR as Lb,oH as Mb,uR as Nb,fR as Ob,mR as Pb,ep as Qb,gR as Rb,xR as Sb,wR as Tb,CR as Ub,lH as Vb};
|